summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLeon Clarke <leonclarke@google.com>2010-06-03 14:33:32 +0100
committerLeon Clarke <leonclarke@google.com>2010-06-08 12:24:51 +0100
commit5af96e2c7b73ebc627c6894727826a7576d31758 (patch)
treef9d5e6f6175ccd7e3d14de9b290f08937a0d17ba
parent8cc4fcf4f6adcbc0e0aebfc24fbad9a4cddf2cfb (diff)
downloadexternal_webkit-5af96e2c7b73ebc627c6894727826a7576d31758.zip
external_webkit-5af96e2c7b73ebc627c6894727826a7576d31758.tar.gz
external_webkit-5af96e2c7b73ebc627c6894727826a7576d31758.tar.bz2
Merge webkit.org at r60469 : Initial merge by git.
Change-Id: I66a0047aa2af802f66bb0c7f2a8b02247a596234
-rw-r--r--JavaScriptCore/API/JSCallbackFunction.cpp12
-rw-r--r--JavaScriptCore/API/JSCallbackFunction.h2
-rw-r--r--JavaScriptCore/API/JSCallbackObject.h2
-rw-r--r--JavaScriptCore/API/JSCallbackObjectFunctions.h13
-rw-r--r--JavaScriptCore/API/JSObjectRef.cpp2
-rw-r--r--JavaScriptCore/API/tests/testapi.c60
-rw-r--r--JavaScriptCore/ChangeLog28384
-rw-r--r--JavaScriptCore/ChangeLog-2010-05-2428211
-rw-r--r--JavaScriptCore/GNUmakefile.am8
-rw-r--r--JavaScriptCore/JavaScriptCore.exp7
-rw-r--r--JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def7
-rw-r--r--JavaScriptCore/assembler/MacroAssemblerMIPS.h2
-rw-r--r--JavaScriptCore/bytecode/CodeBlock.cpp17
-rw-r--r--JavaScriptCore/bytecode/CodeBlock.h2
-rw-r--r--JavaScriptCore/bytecode/Opcode.h4
-rw-r--r--JavaScriptCore/bytecompiler/BytecodeGenerator.cpp32
-rw-r--r--JavaScriptCore/bytecompiler/BytecodeGenerator.h4
-rw-r--r--JavaScriptCore/debugger/DebuggerCallFrame.cpp25
-rw-r--r--JavaScriptCore/interpreter/CallFrame.cpp5
-rw-r--r--JavaScriptCore/interpreter/CallFrame.h33
-rw-r--r--JavaScriptCore/interpreter/Interpreter.cpp199
-rw-r--r--JavaScriptCore/interpreter/Interpreter.h2
-rw-r--r--JavaScriptCore/interpreter/Register.h22
-rw-r--r--JavaScriptCore/jit/JIT.cpp38
-rw-r--r--JavaScriptCore/jit/JIT.h27
-rw-r--r--JavaScriptCore/jit/JITCall.cpp112
-rw-r--r--JavaScriptCore/jit/JITCall32_64.cpp102
-rw-r--r--JavaScriptCore/jit/JITInlineMethods.h67
-rw-r--r--JavaScriptCore/jit/JITOpcodes.cpp487
-rw-r--r--JavaScriptCore/jit/JITOpcodes32_64.cpp647
-rw-r--r--JavaScriptCore/jit/JITStubs.cpp218
-rw-r--r--JavaScriptCore/jit/JITStubs.h25
-rw-r--r--JavaScriptCore/jsc.cpp68
-rw-r--r--JavaScriptCore/runtime/ArgList.h7
-rw-r--r--JavaScriptCore/runtime/Arguments.h10
-rw-r--r--JavaScriptCore/runtime/ArrayConstructor.cpp9
-rw-r--r--JavaScriptCore/runtime/ArrayPrototype.cpp197
-rw-r--r--JavaScriptCore/runtime/BooleanConstructor.cpp4
-rw-r--r--JavaScriptCore/runtime/BooleanPrototype.cpp10
-rw-r--r--JavaScriptCore/runtime/CallData.cpp9
-rw-r--r--JavaScriptCore/runtime/CallData.h2
-rw-r--r--JavaScriptCore/runtime/Collector.cpp3
-rw-r--r--JavaScriptCore/runtime/Collector.h7
-rw-r--r--JavaScriptCore/runtime/ConstructData.cpp21
-rw-r--r--JavaScriptCore/runtime/DateConstructor.cpp46
-rw-r--r--JavaScriptCore/runtime/DatePrototype.cpp306
-rw-r--r--JavaScriptCore/runtime/ErrorConstructor.cpp5
-rw-r--r--JavaScriptCore/runtime/ErrorPrototype.cpp6
-rw-r--r--JavaScriptCore/runtime/ExceptionHelpers.cpp6
-rw-r--r--JavaScriptCore/runtime/Executable.cpp4
-rw-r--r--JavaScriptCore/runtime/Executable.h32
-rw-r--r--JavaScriptCore/runtime/FunctionConstructor.cpp3
-rw-r--r--JavaScriptCore/runtime/FunctionPrototype.cpp24
-rw-r--r--JavaScriptCore/runtime/JSArray.cpp2
-rw-r--r--JavaScriptCore/runtime/JSFunction.cpp43
-rw-r--r--JavaScriptCore/runtime/JSFunction.h7
-rw-r--r--JavaScriptCore/runtime/JSGlobalObject.cpp2
-rw-r--r--JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp69
-rw-r--r--JavaScriptCore/runtime/JSGlobalObjectFunctions.h24
-rw-r--r--JavaScriptCore/runtime/JSONObject.cpp24
-rw-r--r--JavaScriptCore/runtime/JSObject.cpp14
-rw-r--r--JavaScriptCore/runtime/JSObject.h14
-rw-r--r--JavaScriptCore/runtime/JSString.h2
-rw-r--r--JavaScriptCore/runtime/Lookup.cpp2
-rw-r--r--JavaScriptCore/runtime/Lookup.h2
-rw-r--r--JavaScriptCore/runtime/MathObject.cpp112
-rw-r--r--JavaScriptCore/runtime/NativeErrorConstructor.cpp5
-rw-r--r--JavaScriptCore/runtime/NumberConstructor.cpp4
-rw-r--r--JavaScriptCore/runtime/NumberPrototype.cpp40
-rw-r--r--JavaScriptCore/runtime/ObjectConstructor.cpp73
-rw-r--r--JavaScriptCore/runtime/ObjectPrototype.cpp70
-rw-r--r--JavaScriptCore/runtime/ObjectPrototype.h2
-rw-r--r--JavaScriptCore/runtime/Operations.h10
-rw-r--r--JavaScriptCore/runtime/PropertySlot.cpp6
-rw-r--r--JavaScriptCore/runtime/RegExpConstructor.cpp3
-rw-r--r--JavaScriptCore/runtime/RegExpObject.cpp16
-rw-r--r--JavaScriptCore/runtime/RegExpObject.h6
-rw-r--r--JavaScriptCore/runtime/RegExpPrototype.cpp30
-rw-r--r--JavaScriptCore/runtime/StringConstructor.cpp22
-rw-r--r--JavaScriptCore/runtime/StringPrototype.cpp216
-rw-r--r--JavaScriptCore/runtime/UString.cpp42
-rw-r--r--JavaScriptCore/runtime/UString.h5
-rw-r--r--JavaScriptCore/wscript9
-rw-r--r--JavaScriptCore/wtf/OwnArrayPtr.h11
-rw-r--r--JavaScriptCore/wtf/Platform.h2
-rw-r--r--JavaScriptCore/wtf/StringExtras.h2
-rw-r--r--JavaScriptCore/wtf/dtoa.cpp283
-rw-r--r--JavaScriptCore/wtf/dtoa.h20
-rw-r--r--JavaScriptCore/wtf/text/StringImpl.cpp23
-rw-r--r--JavaScriptCore/wtf/text/StringImpl.h2
-rw-r--r--JavaScriptCore/wtf/text/WTFString.cpp5
-rw-r--r--JavaScriptCore/wtf/text/WTFString.h2
-rw-r--r--JavaScriptCore/yarr/RegexCompiler.cpp5
-rw-r--r--JavaScriptCore/yarr/RegexJIT.cpp109
-rw-r--r--JavaScriptCore/yarr/RegexPattern.h6
-rw-r--r--JavaScriptGlue/ChangeLog23
-rw-r--r--JavaScriptGlue/JSObject.cpp6
-rw-r--r--JavaScriptGlue/UserObjectImp.cpp8
-rw-r--r--JavaScriptGlue/UserObjectImp.h2
-rw-r--r--LayoutTests/fast/dom/Geolocation/ongoing-request-leak-expected.txt1
-rw-r--r--LayoutTests/fast/dom/Geolocation/ongoing-request-leak.html13
-rw-r--r--LayoutTests/fast/dom/Geolocation/script-tests/ongoing-request-leak.js13
-rw-r--r--LayoutTests/storage/change-version-handle-reuse.html22
-rw-r--r--LayoutTests/storage/change-version-handle-reuse.js2
-rw-r--r--LayoutTests/storage/execute-sql-args.html25
-rw-r--r--LayoutTests/storage/execute-sql-args.js2
-rw-r--r--LayoutTests/storage/hash-change-with-xhr-expected.txt1
-rw-r--r--LayoutTests/storage/hash-change-with-xhr.html140
-rw-r--r--LayoutTests/storage/hash-change-with-xhr.js112
-rw-r--r--LayoutTests/storage/indexeddb/idb-database-request-expected.txt35
-rw-r--r--LayoutTests/storage/indexeddb/idb-database-request.html (renamed from LayoutTests/storage/indexeddb/basics.html)3
-rw-r--r--LayoutTests/storage/indexeddb/indexed-database-request-expected.txt (renamed from LayoutTests/storage/indexeddb/basics-expected.txt)20
-rw-r--r--LayoutTests/storage/indexeddb/indexed-database-request.html13
-rw-r--r--LayoutTests/storage/indexeddb/resources/shared.js56
-rw-r--r--LayoutTests/storage/indexeddb/script-tests/TEMPLATE.html1
-rw-r--r--LayoutTests/storage/indexeddb/script-tests/basics.js61
-rw-r--r--LayoutTests/storage/indexeddb/script-tests/idb-database-request.js31
-rw-r--r--LayoutTests/storage/indexeddb/script-tests/indexed-database-request.js24
-rw-r--r--LayoutTests/storage/multiple-databases-garbage-collection.html77
-rw-r--r--LayoutTests/storage/multiple-databases-garbage-collection.js56
-rw-r--r--LayoutTests/storage/multiple-transactions-on-different-handles.html96
-rw-r--r--LayoutTests/storage/multiple-transactions-on-different-handles.js78
-rw-r--r--LayoutTests/storage/multiple-transactions.html53
-rw-r--r--LayoutTests/storage/multiple-transactions.js32
-rw-r--r--LayoutTests/storage/open-database-while-transaction-in-progress.html71
-rw-r--r--LayoutTests/storage/open-database-while-transaction-in-progress.js41
-rw-r--r--LayoutTests/storage/read-and-write-transactions-dont-run-together.html103
-rw-r--r--LayoutTests/storage/read-and-write-transactions-dont-run-together.js81
-rw-r--r--LayoutTests/storage/resources/database-common.js29
-rw-r--r--LayoutTests/storage/test-authorizer.html175
-rw-r--r--LayoutTests/storage/test-authorizer.js153
-rw-r--r--LayoutTests/storage/transaction-success-callback-isolated-world-expected.txt4
-rw-r--r--LayoutTests/storage/transaction-success-callback-isolated-world.html48
-rw-r--r--WebCore/Android.derived.jscbindings.mk23
-rw-r--r--WebCore/Android.derived.v8bindings.mk23
-rw-r--r--WebCore/Android.mk18
-rw-r--r--WebCore/CMakeLists.txt51
-rw-r--r--WebCore/ChangeLog57517
-rw-r--r--WebCore/ChangeLog-2010-05-2455179
-rw-r--r--WebCore/DerivedSources.cpp2
-rw-r--r--WebCore/DerivedSources.make2
-rw-r--r--WebCore/English.lproj/localizedStrings.jsbin40130 -> 40428 bytes
-rw-r--r--WebCore/GNUmakefile.am63
-rw-r--r--WebCore/WebCore.Inspector.exp26
-rw-r--r--WebCore/WebCore.PluginHostProcess.exp1
-rw-r--r--WebCore/WebCore.VideoProxy.exp4
-rw-r--r--WebCore/WebCore.base.exp10
-rw-r--r--WebCore/WebCore.gyp/WebCore.gyp6
-rw-r--r--WebCore/WebCore.gypi32
-rw-r--r--WebCore/WebCore.pri2
-rw-r--r--WebCore/WebCore.pro23
-rw-r--r--WebCore/WebCore.vcproj/WebCore.vcproj314
-rw-r--r--WebCore/WebCore.xcodeproj/project.pbxproj650
-rw-r--r--WebCore/accessibility/AccessibilityRenderObject.cpp8
-rw-r--r--WebCore/accessibility/mac/AccessibilityObjectWrapper.mm101
-rw-r--r--WebCore/benchmarks/parser/html-parser.html5
-rw-r--r--WebCore/bindings/gobject/GObjectEventListener.cpp45
-rw-r--r--WebCore/bindings/gobject/GObjectEventListener.h56
-rw-r--r--WebCore/bindings/gobject/WebKitDOMBinding.cpp28
-rw-r--r--WebCore/bindings/gobject/WebKitDOMBinding.h2
-rw-r--r--WebCore/bindings/gobject/WebKitDOMEventTarget.cpp77
-rw-r--r--WebCore/bindings/gobject/WebKitDOMEventTarget.h54
-rw-r--r--WebCore/bindings/js/CachedScriptSourceProvider.h1
-rw-r--r--WebCore/bindings/js/JSArrayBufferViewCustom.cpp10
-rw-r--r--WebCore/bindings/js/JSArrayBufferViewHelper.h18
-rw-r--r--WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp222
-rw-r--r--WebCore/bindings/js/JSClipboardCustom.cpp24
-rw-r--r--WebCore/bindings/js/JSDOMApplicationCacheCustom.cpp12
-rw-r--r--WebCore/bindings/js/JSDOMBinding.h2
-rw-r--r--WebCore/bindings/js/JSDOMFormDataCustom.cpp8
-rw-r--r--WebCore/bindings/js/JSDOMWindowCustom.cpp70
-rw-r--r--WebCore/bindings/js/JSDatabaseCustom.cpp36
-rw-r--r--WebCore/bindings/js/JSDatabaseSyncCustom.cpp20
-rw-r--r--WebCore/bindings/js/JSDedicatedWorkerContextCustom.cpp4
-rw-r--r--WebCore/bindings/js/JSDesktopNotificationsCustom.cpp6
-rw-r--r--WebCore/bindings/js/JSElementCustom.cpp67
-rw-r--r--WebCore/bindings/js/JSEventCustom.cpp15
-rw-r--r--WebCore/bindings/js/JSFloatArrayCustom.cpp4
-rw-r--r--WebCore/bindings/js/JSGeolocationCustom.cpp16
-rw-r--r--WebCore/bindings/js/JSHTMLAllCollectionCustom.cpp24
-rw-r--r--WebCore/bindings/js/JSHTMLCanvasElementCustom.cpp27
-rw-r--r--WebCore/bindings/js/JSHTMLCollectionCustom.cpp24
-rw-r--r--WebCore/bindings/js/JSHTMLDocumentCustom.cpp22
-rw-r--r--WebCore/bindings/js/JSHTMLInputElementCustom.cpp6
-rw-r--r--WebCore/bindings/js/JSHTMLOptionsCollectionCustom.cpp12
-rw-r--r--WebCore/bindings/js/JSHTMLSelectElementCustom.cpp6
-rw-r--r--WebCore/bindings/js/JSHistoryCustom.cpp20
-rw-r--r--WebCore/bindings/js/JSIDBAnyCustom.cpp10
-rw-r--r--WebCore/bindings/js/JSInjectedScriptHostCustom.cpp48
-rw-r--r--WebCore/bindings/js/JSInspectorFrontendHostCustom.cpp22
-rw-r--r--WebCore/bindings/js/JSInt16ArrayCustom.cpp4
-rw-r--r--WebCore/bindings/js/JSInt32ArrayCustom.cpp4
-rw-r--r--WebCore/bindings/js/JSInt8ArrayCustom.cpp4
-rw-r--r--WebCore/bindings/js/JSJavaScriptCallFrameCustom.cpp10
-rw-r--r--WebCore/bindings/js/JSLocationCustom.cpp12
-rw-r--r--WebCore/bindings/js/JSMessageEventCustom.cpp20
-rw-r--r--WebCore/bindings/js/JSMessagePortCustom.cpp4
-rw-r--r--WebCore/bindings/js/JSMessagePortCustom.h6
-rw-r--r--WebCore/bindings/js/JSNodeCustom.cpp24
-rw-r--r--WebCore/bindings/js/JSNodeListCustom.cpp6
-rw-r--r--WebCore/bindings/js/JSPluginElementFunctions.cpp6
-rw-r--r--WebCore/bindings/js/JSSQLResultSetRowListCustom.cpp4
-rw-r--r--WebCore/bindings/js/JSSQLTransactionCustom.cpp18
-rw-r--r--WebCore/bindings/js/JSSQLTransactionSyncCustom.cpp10
-rw-r--r--WebCore/bindings/js/JSSVGLengthCustom.cpp4
-rw-r--r--WebCore/bindings/js/JSSVGMatrixCustom.cpp16
-rw-r--r--WebCore/bindings/js/JSSVGPODListCustom.h30
-rw-r--r--WebCore/bindings/js/JSSVGPathSegListCustom.cpp30
-rw-r--r--WebCore/bindings/js/JSUint16ArrayCustom.cpp4
-rw-r--r--WebCore/bindings/js/JSUint32ArrayCustom.cpp4
-rw-r--r--WebCore/bindings/js/JSUint8ArrayCustom.cpp4
-rw-r--r--WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp246
-rw-r--r--WebCore/bindings/js/JSWebSocketCustom.cpp6
-rw-r--r--WebCore/bindings/js/JSWorkerContextCustom.cpp60
-rw-r--r--WebCore/bindings/js/JSWorkerCustom.cpp4
-rw-r--r--WebCore/bindings/js/JSXMLHttpRequestCustom.cpp26
-rw-r--r--WebCore/bindings/js/JSXSLTProcessorCustom.cpp40
-rw-r--r--WebCore/bindings/js/ScheduledAction.cpp18
-rw-r--r--WebCore/bindings/js/ScheduledAction.h4
-rw-r--r--WebCore/bindings/js/ScriptCallFrame.cpp8
-rw-r--r--WebCore/bindings/js/ScriptCallFrame.h2
-rw-r--r--WebCore/bindings/js/ScriptCallStack.cpp11
-rw-r--r--WebCore/bindings/js/ScriptCallStack.h5
-rw-r--r--WebCore/bindings/js/ScriptController.h3
-rw-r--r--WebCore/bindings/js/ScriptDebugServer.cpp19
-rw-r--r--WebCore/bindings/js/ScriptDebugServer.h6
-rw-r--r--WebCore/bindings/scripts/CodeGeneratorGObject.pm199
-rw-r--r--WebCore/bindings/scripts/CodeGeneratorJS.pm42
-rw-r--r--WebCore/bindings/scripts/CodeGeneratorObjC.pm4
-rw-r--r--WebCore/bindings/scripts/CodeGeneratorV8.pm15
-rw-r--r--WebCore/bindings/scripts/IDLParser.pm4
-rw-r--r--WebCore/bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp51
-rw-r--r--WebCore/bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp51
-rw-r--r--WebCore/bindings/scripts/test/GObject/WebKitDOMTestObj.cpp51
-rw-r--r--WebCore/bindings/scripts/test/JS/JSTestInterface.cpp4
-rw-r--r--WebCore/bindings/scripts/test/JS/JSTestInterface.h7
-rw-r--r--WebCore/bindings/scripts/test/JS/JSTestObj.cpp242
-rw-r--r--WebCore/bindings/scripts/test/JS/JSTestObj.h67
-rw-r--r--WebCore/bindings/scripts/test/V8/V8TestCallback.cpp12
-rw-r--r--WebCore/bindings/scripts/test/V8/V8TestCallback.h9
-rw-r--r--WebCore/bindings/v8/ScriptArray.h1
-rw-r--r--WebCore/bindings/v8/ScriptCallStack.cpp90
-rw-r--r--WebCore/bindings/v8/ScriptCallStack.h34
-rw-r--r--WebCore/bindings/v8/ScriptController.cpp8
-rw-r--r--WebCore/bindings/v8/ScriptController.h3
-rw-r--r--WebCore/bindings/v8/ScriptDebugServer.cpp174
-rw-r--r--WebCore/bindings/v8/ScriptDebugServer.h29
-rw-r--r--WebCore/bindings/v8/custom/V8CustomPositionCallback.cpp2
-rw-r--r--WebCore/bindings/v8/custom/V8CustomPositionErrorCallback.cpp2
-rw-r--r--WebCore/bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp8
-rw-r--r--WebCore/bindings/v8/custom/V8CustomVoidCallback.cpp27
-rw-r--r--WebCore/bindings/v8/custom/V8CustomVoidCallback.h12
-rw-r--r--WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp11
-rw-r--r--WebCore/bindings/v8/custom/V8DatabaseCustom.cpp21
-rw-r--r--WebCore/bindings/v8/custom/V8DatabaseSyncCustom.cpp4
-rw-r--r--WebCore/bindings/v8/custom/V8ElementCustom.cpp65
-rw-r--r--WebCore/bindings/v8/custom/V8HTMLCanvasElementCustom.cpp21
-rw-r--r--WebCore/bindings/v8/custom/V8IDBAnyCustom.cpp8
-rw-r--r--WebCore/bindings/v8/custom/V8NotificationCenterCustom.cpp2
-rw-r--r--WebCore/bindings/v8/custom/V8SQLTransactionCustom.cpp12
-rwxr-xr-xWebCore/bindings/v8/custom/V8WorkerContextCustom.cpp36
-rw-r--r--WebCore/bridge/c/c_instance.cpp12
-rw-r--r--WebCore/bridge/c/c_instance.h4
-rw-r--r--WebCore/bridge/jni/jsc/JavaInstanceJSC.cpp8
-rw-r--r--WebCore/bridge/jni/jsc/JavaInstanceJSC.h2
-rw-r--r--WebCore/bridge/jsc/BridgeJSC.h4
-rw-r--r--WebCore/bridge/objc/objc_instance.h6
-rw-r--r--WebCore/bridge/objc/objc_instance.mm18
-rw-r--r--WebCore/bridge/objc/objc_runtime.mm7
-rw-r--r--WebCore/bridge/qt/qt_class.cpp47
-rw-r--r--WebCore/bridge/qt/qt_class.h4
-rw-r--r--WebCore/bridge/qt/qt_instance.cpp41
-rw-r--r--WebCore/bridge/qt/qt_instance.h6
-rw-r--r--WebCore/bridge/qt/qt_pixmapruntime.cpp18
-rw-r--r--WebCore/bridge/qt/qt_pixmapruntime.h2
-rw-r--r--WebCore/bridge/qt/qt_runtime.cpp33
-rw-r--r--WebCore/bridge/qt/qt_runtime.h4
-rw-r--r--WebCore/bridge/runtime_method.cpp7
-rw-r--r--WebCore/bridge/runtime_object.cpp8
-rw-r--r--WebCore/css/CSSFontSelector.cpp2
-rw-r--r--WebCore/css/CSSGrammar.y7
-rw-r--r--WebCore/css/CSSParser.cpp35
-rw-r--r--WebCore/css/CSSParser.h14
-rw-r--r--WebCore/css/CSSStyleSelector.cpp16
-rw-r--r--WebCore/dom/CanvasSurface.cpp5
-rw-r--r--WebCore/dom/CanvasSurface.h7
-rw-r--r--WebCore/dom/Document.cpp10
-rw-r--r--WebCore/dom/Document.h1
-rw-r--r--WebCore/dom/Element.cpp12
-rw-r--r--WebCore/dom/Element.idl14
-rw-r--r--WebCore/dom/EventListener.h3
-rw-r--r--WebCore/dom/MouseRelatedEvent.cpp22
-rw-r--r--WebCore/dom/Node.cpp52
-rw-r--r--WebCore/dom/Node.h6
-rw-r--r--WebCore/dom/NodeRareData.h4
-rw-r--r--WebCore/dom/Position.cpp7
-rw-r--r--WebCore/dom/PositionIterator.cpp15
-rw-r--r--WebCore/dom/ScriptElement.cpp9
-rw-r--r--WebCore/dom/ScriptElement.h4
-rw-r--r--WebCore/dom/Touch.cpp4
-rwxr-xr-xWebCore/dom/make_names.pl4
-rw-r--r--WebCore/editing/DeleteButton.cpp16
-rw-r--r--WebCore/editing/DeleteButton.h5
-rw-r--r--WebCore/editing/DeleteButtonController.cpp6
-rw-r--r--WebCore/editing/Editor.cpp170
-rw-r--r--WebCore/editing/Editor.h8
-rw-r--r--WebCore/editing/EditorCommand.cpp275
-rw-r--r--WebCore/editing/IndentOutdentCommand.cpp2
-rw-r--r--WebCore/editing/InsertParagraphSeparatorCommand.cpp6
-rw-r--r--WebCore/editing/SelectionController.cpp632
-rw-r--r--WebCore/editing/SelectionController.h14
-rw-r--r--WebCore/editing/TypingCommand.cpp301
-rw-r--r--WebCore/editing/htmlediting.cpp10
-rw-r--r--WebCore/editing/mac/EditorMac.mm52
-rw-r--r--WebCore/html/DateComponents.h14
-rw-r--r--WebCore/html/HTML5Lexer.cpp697
-rw-r--r--WebCore/html/HTML5Lexer.h21
-rw-r--r--WebCore/html/HTML5ScriptRunner.cpp247
-rw-r--r--WebCore/html/HTML5ScriptRunner.h102
-rw-r--r--WebCore/html/HTML5ScriptRunnerHost.h49
-rw-r--r--WebCore/html/HTML5Token.h137
-rw-r--r--WebCore/html/HTML5Tokenizer.cpp122
-rw-r--r--WebCore/html/HTML5Tokenizer.h40
-rw-r--r--WebCore/html/HTML5TreeBuilder.cpp109
-rw-r--r--WebCore/html/HTML5TreeBuilder.h21
-rw-r--r--WebCore/html/HTMLAudioElement.cpp5
-rw-r--r--WebCore/html/HTMLAudioElement.h5
-rw-r--r--WebCore/html/HTMLBRElement.cpp16
-rw-r--r--WebCore/html/HTMLBRElement.h11
-rw-r--r--WebCore/html/HTMLBaseElement.cpp11
-rw-r--r--WebCore/html/HTMLBaseElement.h8
-rw-r--r--WebCore/html/HTMLBaseFontElement.cpp9
-rw-r--r--WebCore/html/HTMLBaseFontElement.h6
-rw-r--r--WebCore/html/HTMLBlockquoteElement.cpp12
-rw-r--r--WebCore/html/HTMLBlockquoteElement.h7
-rw-r--r--WebCore/html/HTMLBodyElement.cpp38
-rw-r--r--WebCore/html/HTMLBodyElement.h7
-rw-r--r--WebCore/html/HTMLButtonElement.cpp7
-rw-r--r--WebCore/html/HTMLButtonElement.h24
-rw-r--r--WebCore/html/HTMLButtonElement.idl1
-rw-r--r--WebCore/html/HTMLCanvasElement.cpp16
-rw-r--r--WebCore/html/HTMLCanvasElement.h10
-rw-r--r--WebCore/html/HTMLCanvasElement.idl3
-rw-r--r--WebCore/html/HTMLDListElement.cpp13
-rw-r--r--WebCore/html/HTMLDListElement.h10
-rw-r--r--WebCore/html/HTMLDataGridCellElement.cpp12
-rw-r--r--WebCore/html/HTMLDataGridCellElement.h14
-rw-r--r--WebCore/html/HTMLDataGridColElement.cpp11
-rw-r--r--WebCore/html/HTMLDataGridColElement.h18
-rw-r--r--WebCore/html/HTMLDataGridElement.cpp9
-rw-r--r--WebCore/html/HTMLDataGridElement.h17
-rw-r--r--WebCore/html/HTMLDataGridRowElement.cpp12
-rw-r--r--WebCore/html/HTMLDataGridRowElement.h13
-rw-r--r--WebCore/html/HTMLDataListElement.cpp10
-rw-r--r--WebCore/html/HTMLDataListElement.h19
-rw-r--r--WebCore/html/HTMLDivElement.cpp16
-rw-r--r--WebCore/html/HTMLDivElement.h13
-rw-r--r--WebCore/html/HTMLDocument.cpp8
-rw-r--r--WebCore/html/HTMLDocument.h3
-rw-r--r--WebCore/html/HTMLElement.cpp2
-rw-r--r--WebCore/html/HTMLFieldSetElement.cpp9
-rw-r--r--WebCore/html/HTMLFieldSetElement.h21
-rw-r--r--WebCore/html/HTMLFontElement.cpp7
-rw-r--r--WebCore/html/HTMLFontElement.h21
-rw-r--r--WebCore/html/HTMLFormCollection.cpp35
-rw-r--r--WebCore/html/HTMLFormControlElement.cpp21
-rw-r--r--WebCore/html/HTMLFormControlElement.h92
-rw-r--r--WebCore/html/HTMLFormElement.cpp89
-rw-r--r--WebCore/html/HTMLFormElement.h56
-rw-r--r--WebCore/html/HTMLFrameElementBase.cpp9
-rw-r--r--WebCore/html/HTMLFrameSetElement.cpp23
-rw-r--r--WebCore/html/HTMLFrameSetElement.h48
-rw-r--r--WebCore/html/HTMLHRElement.cpp16
-rw-r--r--WebCore/html/HTMLHRElement.h20
-rw-r--r--WebCore/html/HTMLHeadElement.cpp17
-rw-r--r--WebCore/html/HTMLHeadElement.h18
-rw-r--r--WebCore/html/HTMLHeadingElement.cpp14
-rw-r--r--WebCore/html/HTMLHeadingElement.h10
-rw-r--r--WebCore/html/HTMLHtmlElement.cpp17
-rw-r--r--WebCore/html/HTMLHtmlElement.h15
-rw-r--r--WebCore/html/HTMLImageElement.cpp20
-rw-r--r--WebCore/html/HTMLImageElement.h41
-rw-r--r--WebCore/html/HTMLImageLoader.cpp17
-rw-r--r--WebCore/html/HTMLInputElement.cpp42
-rw-r--r--WebCore/html/HTMLInputElement.h175
-rw-r--r--WebCore/html/HTMLInputElement.idl1
-rw-r--r--WebCore/html/HTMLIsIndexElement.cpp16
-rw-r--r--WebCore/html/HTMLIsIndexElement.h22
-rw-r--r--WebCore/html/HTMLKeygenElement.cpp28
-rw-r--r--WebCore/html/HTMLKeygenElement.h8
-rw-r--r--WebCore/html/HTMLLIElement.cpp18
-rw-r--r--WebCore/html/HTMLLIElement.h18
-rw-r--r--WebCore/html/HTMLLabelElement.cpp22
-rw-r--r--WebCore/html/HTMLLabelElement.h25
-rw-r--r--WebCore/html/HTMLLegendElement.cpp35
-rw-r--r--WebCore/html/HTMLLegendElement.h29
-rw-r--r--WebCore/html/HTMLLinkElement.cpp10
-rw-r--r--WebCore/html/HTMLLinkElement.h31
-rw-r--r--WebCore/html/HTMLMapElement.cpp16
-rw-r--r--WebCore/html/HTMLMapElement.h21
-rw-r--r--WebCore/html/HTMLMarqueeElement.cpp15
-rw-r--r--WebCore/html/HTMLMarqueeElement.h18
-rw-r--r--WebCore/html/HTMLMenuElement.cpp13
-rw-r--r--WebCore/html/HTMLMenuElement.h10
-rw-r--r--WebCore/html/HTMLMetaElement.cpp11
-rw-r--r--WebCore/html/HTMLMetaElement.h26
-rw-r--r--WebCore/html/HTMLMeterElement.idl1
-rw-r--r--WebCore/html/HTMLModElement.cpp14
-rw-r--r--WebCore/html/HTMLModElement.h15
-rw-r--r--WebCore/html/HTMLNoScriptElement.cpp11
-rw-r--r--WebCore/html/HTMLNoScriptElement.h5
-rw-r--r--WebCore/html/HTMLOListElement.cpp16
-rw-r--r--WebCore/html/HTMLOListElement.h18
-rw-r--r--WebCore/html/HTMLOptGroupElement.cpp42
-rw-r--r--WebCore/html/HTMLOptGroupElement.h25
-rw-r--r--WebCore/html/HTMLOptionElement.cpp11
-rw-r--r--WebCore/html/HTMLOptionElement.h51
-rw-r--r--WebCore/html/HTMLParagraphElement.cpp13
-rw-r--r--WebCore/html/HTMLParagraphElement.h10
-rw-r--r--WebCore/html/HTMLParamElement.cpp9
-rw-r--r--WebCore/html/HTMLParamElement.h24
-rw-r--r--WebCore/html/HTMLParser.cpp40
-rw-r--r--WebCore/html/HTMLPreElement.cpp13
-rw-r--r--WebCore/html/HTMLPreElement.h20
-rw-r--r--WebCore/html/HTMLProgressElement.idl1
-rw-r--r--WebCore/html/HTMLQuoteElement.cpp14
-rw-r--r--WebCore/html/HTMLQuoteElement.h11
-rw-r--r--WebCore/html/HTMLScriptElement.cpp7
-rw-r--r--WebCore/html/HTMLScriptElement.h42
-rw-r--r--WebCore/html/HTMLSelectElement.cpp8
-rw-r--r--WebCore/html/HTMLSelectElement.h8
-rw-r--r--WebCore/html/HTMLSelectElement.idl1
-rw-r--r--WebCore/html/HTMLSourceElement.cpp9
-rw-r--r--WebCore/html/HTMLSourceElement.h20
-rw-r--r--WebCore/html/HTMLStyleElement.cpp13
-rw-r--r--WebCore/html/HTMLStyleElement.h31
-rw-r--r--WebCore/html/HTMLTableCaptionElement.cpp13
-rw-r--r--WebCore/html/HTMLTableCaptionElement.h13
-rw-r--r--WebCore/html/HTMLTableCellElement.cpp33
-rw-r--r--WebCore/html/HTMLTableCellElement.h57
-rw-r--r--WebCore/html/HTMLTableColElement.cpp17
-rw-r--r--WebCore/html/HTMLTableColElement.h32
-rw-r--r--WebCore/html/HTMLTableElement.cpp28
-rw-r--r--WebCore/html/HTMLTableElement.h26
-rw-r--r--WebCore/html/HTMLTablePartElement.h11
-rw-r--r--WebCore/html/HTMLTableRowElement.cpp24
-rw-r--r--WebCore/html/HTMLTableRowElement.h15
-rw-r--r--WebCore/html/HTMLTableSectionElement.cpp22
-rw-r--r--WebCore/html/HTMLTableSectionElement.h16
-rw-r--r--WebCore/html/HTMLTagNames.in144
-rw-r--r--WebCore/html/HTMLTextAreaElement.cpp8
-rw-r--r--WebCore/html/HTMLTextAreaElement.h60
-rw-r--r--WebCore/html/HTMLTextAreaElement.idl1
-rw-r--r--WebCore/html/HTMLTitleElement.cpp12
-rw-r--r--WebCore/html/HTMLTitleElement.h13
-rw-r--r--WebCore/html/HTMLTokenizer.cpp50
-rw-r--r--WebCore/html/HTMLUListElement.cpp17
-rw-r--r--WebCore/html/HTMLUListElement.h17
-rw-r--r--WebCore/html/HTMLVideoElement.cpp9
-rw-r--r--WebCore/html/HTMLVideoElement.h4
-rw-r--r--WebCore/html/HTMLViewSourceDocument.cpp18
-rw-r--r--WebCore/html/LabelsNodeList.cpp50
-rw-r--r--WebCore/html/LabelsNodeList.h52
-rw-r--r--WebCore/html/canvas/WebGLFramebuffer.cpp149
-rw-r--r--WebCore/html/canvas/WebGLFramebuffer.h37
-rw-r--r--WebCore/html/canvas/WebGLRenderbuffer.cpp1
-rw-r--r--WebCore/html/canvas/WebGLRenderbuffer.h4
-rw-r--r--WebCore/html/canvas/WebGLRenderingContext.cpp85
-rw-r--r--WebCore/inspector/InspectorBackend.cpp24
-rw-r--r--WebCore/inspector/InspectorBackend.h5
-rw-r--r--WebCore/inspector/InspectorBackend.idl5
-rw-r--r--WebCore/inspector/InspectorCSSStore.cpp179
-rw-r--r--WebCore/inspector/InspectorCSSStore.h51
-rw-r--r--WebCore/inspector/InspectorController.cpp40
-rw-r--r--WebCore/inspector/InspectorController.h26
-rw-r--r--WebCore/inspector/InspectorDOMAgent.cpp194
-rw-r--r--WebCore/inspector/InspectorDOMAgent.h15
-rw-r--r--WebCore/inspector/InspectorFrontend.cpp9
-rw-r--r--WebCore/inspector/InspectorFrontend.h13
-rw-r--r--WebCore/inspector/InspectorResource.cpp2
-rw-r--r--WebCore/inspector/InspectorResource.h1
-rw-r--r--WebCore/inspector/InspectorValues.cpp134
-rw-r--r--WebCore/inspector/InspectorValues.h215
-rw-r--r--WebCore/inspector/ScriptDebugListener.h4
-rw-r--r--WebCore/inspector/TimelineRecordFactory.cpp11
-rw-r--r--WebCore/inspector/front-end/AuditsPanel.js2
-rw-r--r--WebCore/inspector/front-end/Breakpoint.js96
-rw-r--r--WebCore/inspector/front-end/BreakpointManager.js160
-rw-r--r--WebCore/inspector/front-end/BreakpointsSidebarPane.js24
-rw-r--r--WebCore/inspector/front-end/ChangesView.js2
-rw-r--r--WebCore/inspector/front-end/ConsoleView.js21
-rw-r--r--WebCore/inspector/front-end/DOMAgent.js2
-rw-r--r--WebCore/inspector/front-end/Drawer.js43
-rw-r--r--WebCore/inspector/front-end/ElementsTreeOutline.js61
-rw-r--r--WebCore/inspector/front-end/Object.js4
-rw-r--r--WebCore/inspector/front-end/Panel.js4
-rw-r--r--WebCore/inspector/front-end/ProfilesPanel.js29
-rw-r--r--WebCore/inspector/front-end/Resource.js63
-rw-r--r--WebCore/inspector/front-end/ResourceView.js47
-rw-r--r--WebCore/inspector/front-end/ScriptView.js3
-rw-r--r--WebCore/inspector/front-end/ScriptsPanel.js43
-rw-r--r--WebCore/inspector/front-end/SourceFrame.js2
-rw-r--r--WebCore/inspector/front-end/SourceView.js33
-rw-r--r--WebCore/inspector/front-end/TabbedPane.js81
-rw-r--r--WebCore/inspector/front-end/TextViewer.js3
-rw-r--r--WebCore/inspector/front-end/TimelineOverviewPane.js251
-rw-r--r--WebCore/inspector/front-end/TimelinePanel.js60
-rw-r--r--WebCore/inspector/front-end/WebKit.qrc3
-rw-r--r--WebCore/inspector/front-end/audits.css4
-rw-r--r--WebCore/inspector/front-end/inspector.css73
-rw-r--r--WebCore/inspector/front-end/inspector.html7
-rw-r--r--WebCore/inspector/front-end/inspector.js24
-rw-r--r--WebCore/inspector/front-end/treeoutline.js6
-rw-r--r--WebCore/inspector/front-end/utilities.js4
-rw-r--r--WebCore/loader/FrameLoader.cpp12
-rw-r--r--WebCore/loader/ImageDocument.cpp49
-rw-r--r--WebCore/loader/appcache/ApplicationCacheStorage.cpp3
-rw-r--r--WebCore/manual-tests/animated-gif-looping.html (renamed from WebCore/manual-tests/qt/qt-gif-test.html)6
-rw-r--r--WebCore/manual-tests/image-prefetch-stress.html20
-rw-r--r--WebCore/manual-tests/resources/animated-10x.gif (renamed from WebCore/manual-tests/qt/qt-10loop-anim.gif)bin1253 -> 1253 bytes
-rw-r--r--WebCore/manual-tests/resources/animated-infinite.gif (renamed from WebCore/manual-tests/qt/qt-anim.gif)bin1661 -> 1661 bytes
-rw-r--r--WebCore/manual-tests/resources/non-animated.gif (renamed from WebCore/manual-tests/qt/qt-noanim.gif)bin1642 -> 1642 bytes
-rw-r--r--WebCore/mathml/mathtags.in5
-rw-r--r--WebCore/notifications/Notification.h8
-rw-r--r--WebCore/notifications/Notification.idl3
-rw-r--r--WebCore/page/Console.cpp13
-rw-r--r--WebCore/page/Console.h2
-rw-r--r--WebCore/page/Console.idl1
-rw-r--r--WebCore/page/DOMSelection.cpp14
-rw-r--r--WebCore/page/DOMTimer.cpp42
-rw-r--r--WebCore/page/DOMTimer.h14
-rw-r--r--WebCore/page/DOMWindow.cpp20
-rw-r--r--WebCore/page/DragController.cpp7
-rw-r--r--WebCore/page/EventHandler.cpp316
-rw-r--r--WebCore/page/EventHandler.h7
-rw-r--r--WebCore/page/Frame.cpp59
-rw-r--r--WebCore/page/Frame.h40
-rw-r--r--WebCore/page/FrameTree.cpp2
-rw-r--r--WebCore/page/FrameView.cpp80
-rw-r--r--WebCore/page/FrameView.h12
-rw-r--r--WebCore/page/Geolocation.cpp11
-rw-r--r--WebCore/page/Geolocation.h2
-rw-r--r--WebCore/page/Page.cpp16
-rw-r--r--WebCore/page/Page.h6
-rw-r--r--WebCore/page/SuspendableTimer.cpp83
-rw-r--r--WebCore/page/SuspendableTimer.h60
-rw-r--r--WebCore/page/animation/AnimationBase.cpp4
-rw-r--r--WebCore/platform/ContextMenu.h6
-rw-r--r--WebCore/platform/ContextMenuItem.h16
-rw-r--r--WebCore/platform/KillRing.h (renamed from WebCore/plugins/PluginInfoStore.h)26
-rw-r--r--WebCore/platform/KillRingNone.cpp52
-rw-r--r--WebCore/platform/PopupMenu.h2
-rw-r--r--WebCore/platform/ScrollView.cpp3
-rw-r--r--WebCore/platform/android/TemporaryLinkStubs.cpp6
-rw-r--r--WebCore/platform/chromium/ChromiumBridge.h4
-rw-r--r--WebCore/platform/efl/ContextMenuEfl.cpp33
-rw-r--r--WebCore/platform/efl/ContextMenuItemEfl.cpp77
-rw-r--r--WebCore/platform/efl/PlatformKeyboardEventEfl.cpp8
-rw-r--r--WebCore/platform/efl/PlatformMouseEventEfl.cpp32
-rw-r--r--WebCore/platform/efl/PlatformWheelEventEfl.cpp6
-rw-r--r--WebCore/platform/efl/PopupMenuEfl.cpp17
-rw-r--r--WebCore/platform/efl/WidgetEfl.cpp4
-rw-r--r--WebCore/platform/graphics/BitmapImage.cpp4
-rw-r--r--WebCore/platform/graphics/FloatSize.h8
-rw-r--r--WebCore/platform/graphics/ImageBuffer.h3
-rw-r--r--WebCore/platform/graphics/ImageSource.h17
-rw-r--r--WebCore/platform/graphics/IntSize.h2
-rw-r--r--WebCore/platform/graphics/TiledBackingStore.cpp33
-rw-r--r--WebCore/platform/graphics/TiledBackingStore.h17
-rw-r--r--WebCore/platform/graphics/cairo/ImageBufferCairo.cpp3
-rw-r--r--WebCore/platform/graphics/cg/ImageBufferCG.cpp3
-rw-r--r--WebCore/platform/graphics/cg/ImageSourceCG.cpp7
-rw-r--r--WebCore/platform/graphics/chromium/GraphicsLayerChromium.cpp5
-rw-r--r--WebCore/platform/graphics/chromium/LayerChromium.cpp156
-rw-r--r--WebCore/platform/graphics/chromium/LayerChromium.h30
-rw-r--r--WebCore/platform/graphics/chromium/LayerRendererChromium.cpp77
-rw-r--r--WebCore/platform/graphics/chromium/LayerRendererChromium.h11
-rw-r--r--WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp38
-rw-r--r--WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp9
-rw-r--r--WebCore/platform/graphics/haiku/ImageBufferHaiku.cpp3
-rw-r--r--WebCore/platform/graphics/mac/GraphicsContext3DMac.cpp48
-rw-r--r--WebCore/platform/graphics/mac/SimpleFontDataMac.mm23
-rw-r--r--WebCore/platform/graphics/qt/FontQt.cpp20
-rw-r--r--WebCore/platform/graphics/qt/GraphicsContextQt.cpp4
-rw-r--r--WebCore/platform/graphics/qt/GraphicsLayerQt.cpp3
-rw-r--r--WebCore/platform/graphics/qt/ImageBufferQt.cpp8
-rw-r--r--WebCore/platform/graphics/qt/ImageDecoderQt.cpp18
-rw-r--r--WebCore/platform/graphics/skia/GraphicsContextSkia.cpp4
-rw-r--r--WebCore/platform/graphics/skia/ImageBufferSkia.cpp3
-rw-r--r--WebCore/platform/graphics/skia/ImageSkia.cpp14
-rw-r--r--WebCore/platform/graphics/skia/PlatformContextSkia.cpp13
-rw-r--r--WebCore/platform/graphics/skia/PlatformContextSkia.h3
-rw-r--r--WebCore/platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp182
-rw-r--r--WebCore/platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h82
-rw-r--r--WebCore/platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp145
-rw-r--r--WebCore/platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h6
-rw-r--r--WebCore/platform/graphics/win/QTMovieVisualContext.cpp123
-rw-r--r--WebCore/platform/graphics/win/QTMovieVisualContext.h6
-rw-r--r--WebCore/platform/graphics/win/QTPixelBuffer.cpp5
-rw-r--r--WebCore/platform/graphics/win/QTPixelBuffer.h2
-rw-r--r--WebCore/platform/graphics/win/WKCACFLayer.cpp48
-rw-r--r--WebCore/platform/graphics/win/WKCACFLayer.h28
-rw-r--r--WebCore/platform/graphics/win/WKCAImageQueue.cpp104
-rw-r--r--WebCore/platform/graphics/win/WKCAImageQueue.h92
-rwxr-xr-xWebCore/platform/graphics/win/WebTiledLayer.cpp9
-rwxr-xr-xWebCore/platform/graphics/win/WebTiledLayer.h1
-rw-r--r--WebCore/platform/graphics/wince/ImageBufferWince.cpp3
-rw-r--r--WebCore/platform/graphics/wx/FontWx.cpp2
-rw-r--r--WebCore/platform/graphics/wx/ImageBufferWx.cpp3
-rw-r--r--WebCore/platform/gtk/FileSystemGtk.cpp1
-rw-r--r--WebCore/platform/gtk/PasteboardGtk.cpp118
-rw-r--r--WebCore/platform/gtk/RenderThemeGtk.cpp27
-rw-r--r--WebCore/platform/gtk/RenderThemeGtk.h5
-rw-r--r--WebCore/platform/gtk/ScrollbarGtk.cpp1
-rw-r--r--WebCore/platform/image-decoders/gif/GIFImageDecoder.cpp2
-rw-r--r--WebCore/platform/image-decoders/gif/GIFImageReader.cpp26
-rw-r--r--WebCore/platform/mac/KillRingMac.mm83
-rw-r--r--WebCore/platform/qt/FileSystemQt.cpp2
-rw-r--r--WebCore/platform/qt/WheelEventQt.cpp13
-rw-r--r--WebCore/platform/text/SegmentedString.cpp22
-rw-r--r--WebCore/platform/text/SegmentedString.h72
-rw-r--r--WebCore/plugins/MimeType.cpp14
-rw-r--r--WebCore/plugins/MimeType.h2
-rw-r--r--WebCore/plugins/MimeTypeArray.cpp10
-rw-r--r--WebCore/plugins/Plugin.cpp26
-rw-r--r--WebCore/plugins/Plugin.h2
-rw-r--r--WebCore/plugins/PluginArray.cpp26
-rw-r--r--WebCore/plugins/PluginArray.h2
-rw-r--r--WebCore/plugins/PluginData.cpp24
-rw-r--r--WebCore/plugins/PluginData.h88
-rw-r--r--WebCore/plugins/PluginDatabase.cpp10
-rw-r--r--WebCore/plugins/PluginDatabase.h6
-rw-r--r--WebCore/plugins/PluginDatabaseClient.h42
-rw-r--r--WebCore/plugins/PluginInfoStore.cpp100
-rw-r--r--WebCore/plugins/PluginPackageNone.cpp2
-rw-r--r--WebCore/plugins/chromium/PluginDataChromium.cpp38
-rw-r--r--WebCore/plugins/gtk/PluginDataGtk.cpp25
-rw-r--r--WebCore/plugins/gtk/gtk2xtbin.c16
-rw-r--r--WebCore/plugins/mac/PluginDataMac.mm22
-rw-r--r--WebCore/plugins/npapi.cpp4
-rw-r--r--WebCore/plugins/qt/PluginDataQt.cpp42
-rw-r--r--WebCore/plugins/win/PluginDataWin.cpp25
-rw-r--r--WebCore/plugins/wx/PluginDataWx.cpp25
-rw-r--r--WebCore/rendering/AutoTableLayout.cpp4
-rw-r--r--WebCore/rendering/MediaControlElements.cpp237
-rw-r--r--WebCore/rendering/MediaControlElements.h149
-rw-r--r--WebCore/rendering/RenderBlock.cpp388
-rw-r--r--WebCore/rendering/RenderBlock.h46
-rw-r--r--WebCore/rendering/RenderBoxModelObject.cpp23
-rw-r--r--WebCore/rendering/RenderBoxModelObject.h1
-rw-r--r--WebCore/rendering/RenderEmbeddedObject.cpp2
-rw-r--r--WebCore/rendering/RenderFileUploadControl.cpp27
-rw-r--r--WebCore/rendering/RenderLayer.cpp2
-rw-r--r--WebCore/rendering/RenderMedia.cpp34
-rw-r--r--WebCore/rendering/RenderObject.h2
-rw-r--r--WebCore/rendering/RenderObjectChildList.cpp2
-rw-r--r--WebCore/rendering/RenderProgress.cpp19
-rw-r--r--WebCore/rendering/RenderRubyBase.cpp10
-rw-r--r--WebCore/rendering/RenderRubyRun.cpp4
-rw-r--r--WebCore/rendering/RenderSVGResourceClipper.cpp2
-rw-r--r--WebCore/rendering/RenderSVGResourceFilter.cpp18
-rw-r--r--WebCore/rendering/RenderSVGResourceFilter.h6
-rw-r--r--WebCore/rendering/RenderSlider.cpp18
-rw-r--r--WebCore/rendering/RenderTextControl.cpp4
-rw-r--r--WebCore/rendering/RenderTextControlSingleLine.cpp8
-rw-r--r--WebCore/rendering/RenderTheme.cpp4
-rw-r--r--WebCore/rendering/RenderView.cpp7
-rw-r--r--WebCore/rendering/TextControlInnerElements.cpp153
-rw-r--r--WebCore/rendering/TextControlInnerElements.h51
-rw-r--r--WebCore/rendering/style/RenderStyle.h1
-rw-r--r--WebCore/storage/DatabaseAuthorizer.cpp9
-rw-r--r--WebCore/storage/DatabaseTracker.cpp23
-rw-r--r--WebCore/storage/DatabaseTracker.h3
-rw-r--r--WebCore/storage/IDBAny.cpp46
-rw-r--r--WebCore/storage/IDBAny.h18
-rw-r--r--WebCore/storage/IDBCallbacks.h3
-rw-r--r--WebCore/storage/IDBDatabase.h14
-rw-r--r--WebCore/storage/IDBDatabaseError.h5
-rw-r--r--WebCore/storage/IDBDatabaseError.idl4
-rw-r--r--WebCore/storage/IDBDatabaseException.h22
-rw-r--r--WebCore/storage/IDBDatabaseException.idl5
-rw-r--r--WebCore/storage/IDBDatabaseImpl.cpp54
-rw-r--r--WebCore/storage/IDBDatabaseImpl.h61
-rw-r--r--WebCore/storage/IDBDatabaseRequest.cpp4
-rw-r--r--WebCore/storage/IDBDatabaseRequest.h20
-rw-r--r--WebCore/storage/IDBDatabaseRequest.idl12
-rw-r--r--WebCore/storage/IDBIndex.h50
-rw-r--r--WebCore/storage/IDBIndexImpl.cpp (renamed from WebCore/storage/IDBDatabase.cpp)18
-rw-r--r--WebCore/storage/IDBIndexImpl.h60
-rw-r--r--WebCore/storage/IDBIndexRequest.cpp44
-rw-r--r--WebCore/storage/IDBIndexRequest.h62
-rw-r--r--WebCore/storage/IDBIndexRequest.idl38
-rw-r--r--WebCore/storage/IDBObjectStore.cpp86
-rw-r--r--WebCore/storage/IDBObjectStore.h73
-rw-r--r--WebCore/storage/IDBObjectStoreRequest.cpp124
-rw-r--r--WebCore/storage/IDBObjectStoreRequest.h81
-rw-r--r--WebCore/storage/IDBObjectStoreRequest.idl46
-rw-r--r--WebCore/storage/IDBRequest.cpp13
-rw-r--r--WebCore/storage/IDBRequest.h2
-rw-r--r--WebCore/storage/IDBSuccessEvent.cpp2
-rw-r--r--WebCore/storage/IndexedDatabase.h2
-rw-r--r--WebCore/storage/IndexedDatabaseImpl.cpp21
-rw-r--r--WebCore/storage/IndexedDatabaseImpl.h7
-rw-r--r--WebCore/storage/IndexedDatabaseRequest.cpp4
-rw-r--r--WebCore/storage/IndexedDatabaseRequest.h2
-rw-r--r--WebCore/storage/IndexedDatabaseRequest.idl7
-rw-r--r--WebCore/storage/SQLTransactionSyncCallback.h3
-rw-r--r--WebCore/storage/chromium/DatabaseTrackerChromium.cpp4
-rw-r--r--WebCore/svg/SVGSVGElement.cpp10
-rw-r--r--WebCore/svg/graphics/filters/SVGLightSource.cpp15
-rw-r--r--WebCore/wscript6
-rw-r--r--WebKit/CMakeListsEfl.txt3
-rw-r--r--WebKit/ChangeLog164
-rw-r--r--WebKit/chromium/ChangeLog575
-rw-r--r--WebKit/chromium/WebKit.gyp37
-rw-r--r--WebKit/chromium/features.gypi23
-rw-r--r--WebKit/chromium/public/WebCommon.h2
-rw-r--r--WebKit/chromium/public/WebDOMStringList.h76
-rw-r--r--WebKit/chromium/public/WebDevToolsAgentClient.h10
-rw-r--r--WebKit/chromium/public/WebDevToolsFrontendClient.h18
-rw-r--r--WebKit/chromium/public/WebDocument.h1
-rw-r--r--WebKit/chromium/public/WebGeolocationServiceMock.h11
-rw-r--r--WebKit/chromium/public/WebIDBCallbacks.h12
-rw-r--r--WebKit/chromium/public/WebIDBDatabase.h11
-rw-r--r--WebKit/chromium/public/WebIDBIndex.h57
-rw-r--r--WebKit/chromium/public/WebIndexedDatabase.h8
-rw-r--r--WebKit/chromium/public/WebNotification.h3
-rw-r--r--WebKit/chromium/public/WebSettings.h2
-rw-r--r--WebKit/chromium/public/WebView.h4
-rw-r--r--WebKit/chromium/public/WebViewClient.h2
-rw-r--r--WebKit/chromium/src/ChromiumBridge.cpp2
-rw-r--r--WebKit/chromium/src/DatabaseObserver.cpp6
-rw-r--r--WebKit/chromium/src/DebuggerAgentManager.cpp51
-rw-r--r--WebKit/chromium/src/DebuggerAgentManager.h3
-rw-r--r--WebKit/chromium/src/EditorClientImpl.cpp1
-rw-r--r--WebKit/chromium/src/FrameLoaderClientImpl.cpp14
-rw-r--r--WebKit/chromium/src/IDBCallbacksProxy.cpp13
-rw-r--r--WebKit/chromium/src/IDBCallbacksProxy.h2
-rw-r--r--WebKit/chromium/src/IDBDatabaseProxy.cpp26
-rw-r--r--WebKit/chromium/src/IDBDatabaseProxy.h9
-rw-r--r--WebKit/chromium/src/IDBIndexProxy.cpp67
-rw-r--r--WebKit/chromium/src/IDBIndexProxy.h61
-rw-r--r--WebKit/chromium/src/IndexedDatabaseProxy.cpp4
-rw-r--r--WebKit/chromium/src/IndexedDatabaseProxy.h2
-rw-r--r--WebKit/chromium/src/InspectorClientImpl.cpp61
-rw-r--r--WebKit/chromium/src/InspectorClientImpl.h5
-rw-r--r--WebKit/chromium/src/InspectorFrontendClientImpl.cpp2
-rw-r--r--WebKit/chromium/src/WebDOMStringList.cpp82
-rw-r--r--WebKit/chromium/src/WebDevToolsAgentImpl.cpp100
-rw-r--r--WebKit/chromium/src/WebDocument.cpp5
-rw-r--r--WebKit/chromium/src/WebFormControlElement.cpp4
-rw-r--r--WebKit/chromium/src/WebFormElement.cpp11
-rw-r--r--WebKit/chromium/src/WebFrameImpl.cpp34
-rw-r--r--WebKit/chromium/src/WebGeolocationServiceMock.cpp24
-rw-r--r--WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.cpp51
-rw-r--r--WebKit/chromium/src/WebIDBCallbacksImpl.cpp18
-rw-r--r--WebKit/chromium/src/WebIDBCallbacksImpl.h19
-rw-r--r--WebKit/chromium/src/WebIDBDatabaseImpl.cpp25
-rw-r--r--WebKit/chromium/src/WebIDBDatabaseImpl.h8
-rw-r--r--WebKit/chromium/src/WebIDBIndexImpl.cpp63
-rw-r--r--WebKit/chromium/src/WebIDBIndexImpl.h54
-rw-r--r--WebKit/chromium/src/WebIndexedDatabaseImpl.cpp4
-rw-r--r--WebKit/chromium/src/WebIndexedDatabaseImpl.h2
-rw-r--r--WebKit/chromium/src/WebNotification.cpp10
-rw-r--r--WebKit/chromium/src/WebPasswordFormUtils.cpp2
-rw-r--r--WebKit/chromium/src/WebPluginListBuilderImpl.cpp25
-rw-r--r--WebKit/chromium/src/WebPluginListBuilderImpl.h4
-rw-r--r--WebKit/chromium/src/WebSearchableFormData.cpp6
-rw-r--r--WebKit/chromium/src/WebSettingsImpl.cpp10
-rw-r--r--WebKit/chromium/src/WebSettingsImpl.h2
-rw-r--r--WebKit/chromium/src/WebViewImpl.cpp40
-rw-r--r--WebKit/chromium/src/WebViewImpl.h6
-rw-r--r--WebKit/chromium/src/js/DebuggerScript.js10
-rw-r--r--WebKit/chromium/src/js/InspectorControllerImpl.js12
-rwxr-xr-xWebKit/chromium/src/js/devTools.css2
-rw-r--r--WebKit/efl/EWebLauncher/main.c18
-rw-r--r--WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp28
-rw-r--r--WebKit/efl/WebCoreSupport/ChromeClientEfl.h4
-rw-r--r--WebKit/efl/WebCoreSupport/ContextMenuClientEfl.cpp30
-rw-r--r--WebKit/efl/WebCoreSupport/ContextMenuClientEfl.h4
-rw-r--r--WebKit/efl/WebCoreSupport/EditorClientEfl.cpp16
-rw-r--r--WebKit/efl/ewk/EWebKit.h1
-rw-r--r--WebKit/efl/ewk/ewk_contextmenu.cpp263
-rw-r--r--WebKit/efl/ewk/ewk_contextmenu.h147
-rw-r--r--WebKit/efl/ewk/ewk_frame.cpp17
-rw-r--r--WebKit/efl/ewk/ewk_main.cpp5
-rw-r--r--WebKit/efl/ewk/ewk_private.h17
-rw-r--r--WebKit/efl/ewk/ewk_settings.cpp37
-rw-r--r--WebKit/efl/ewk/ewk_settings.h2
-rw-r--r--WebKit/efl/ewk/ewk_view.cpp60
-rw-r--r--WebKit/efl/ewk/ewk_view.h4
-rw-r--r--WebKit/efl/ewk/ewk_view_single.c24
-rw-r--r--WebKit/gtk/ChangeLog82
-rw-r--r--WebKit/gtk/NEWS19
-rw-r--r--WebKit/gtk/docs/webkitgtk-docs.sgml3
-rw-r--r--WebKit/gtk/docs/webkitgtk-sections.txt2
-rw-r--r--WebKit/gtk/tests/testcopyandpaste.c165
-rw-r--r--WebKit/gtk/tests/testdomdomwindow.c166
-rw-r--r--WebKit/gtk/webkit/webkitwebbackforwardlist.cpp2
-rw-r--r--WebKit/gtk/webkit/webkitwebview.cpp23
-rw-r--r--WebKit/haiku/ChangeLog24
-rw-r--r--WebKit/haiku/WebCoreSupport/EditorClientHaiku.cpp57
-rw-r--r--WebKit/mac/ChangeLog97
-rw-r--r--WebKit/mac/Plugins/Hosted/ProxyInstance.h6
-rw-r--r--WebKit/mac/Plugins/Hosted/ProxyInstance.mm12
-rw-r--r--WebKit/mac/Storage/WebDatabaseManager.mm2
-rw-r--r--WebKit/mac/WebCoreSupport/WebChromeClient.h2
-rw-r--r--WebKit/mac/WebCoreSupport/WebChromeClient.mm5
-rw-r--r--WebKit/mac/WebView/WebHTMLRepresentation.mm6
-rw-r--r--WebKit/mac/WebView/WebHTMLView.mm16
-rw-r--r--WebKit/mac/WebView/WebTextCompletionController.mm4
-rw-r--r--WebKit/mac/WebView/WebUIDelegatePrivate.h1
-rw-r--r--WebKit/mac/WebView/WebView.mm20
-rw-r--r--WebKit/qt/Api/DerivedSources.pro6
-rw-r--r--WebKit/qt/Api/qwebframe.cpp29
-rw-r--r--WebKit/qt/Api/qwebpage.cpp60
-rw-r--r--WebKit/qt/Api/qwebpage.h2
-rw-r--r--WebKit/qt/ChangeLog201
-rw-r--r--WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp49
-rw-r--r--WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h21
-rw-r--r--WebKit/qt/WebCoreSupport/EditorClientQt.cpp219
-rw-r--r--WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp7
-rw-r--r--WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp121
-rw-r--r--WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.h34
-rw-r--r--WebKit/qt/docs/docs.pri2
-rw-r--r--WebKit/qt/examples/platformplugin/README11
-rw-r--r--WebKit/qt/examples/platformplugin/WebPlugin.cpp216
-rw-r--r--WebKit/qt/examples/platformplugin/WebPlugin.h95
-rw-r--r--WebKit/qt/examples/platformplugin/platformplugin.pro13
-rw-r--r--WebKit/qt/examples/platformplugin/qwebkitplatformplugin.h77
-rw-r--r--WebKit/qt/tests/qwebpage/tst_qwebpage.cpp28
-rw-r--r--WebKit/win/ChangeLog105
-rw-r--r--WebKit/win/FullscreenVideoController.cpp126
-rw-r--r--WebKit/win/FullscreenVideoController.h24
-rw-r--r--WebKit/win/WebDatabaseManager.cpp10
-rw-r--r--WebKit/win/WebDatabaseManager.h2
-rw-r--r--WebKit/win/WebFrame.cpp12
-rw-r--r--WebKit/win/WebView.cpp74
-rw-r--r--WebKit/win/WebView.h7
-rw-r--r--WebKit/wx/ChangeLog29
-rw-r--r--WebKit/wx/WebFrame.cpp12
-rw-r--r--WebKit/wx/WebView.cpp11
-rw-r--r--WebKit/wx/wscript3
-rw-r--r--WebKitLibraries/ChangeLog34
-rw-r--r--WebKitTools/ChangeLog35350
-rw-r--r--WebKitTools/ChangeLog-2010-05-2435303
-rw-r--r--WebKitTools/DumpRenderTree/DumpRenderTree.gypi2
-rw-r--r--WebKitTools/DumpRenderTree/chromium/DumpRenderTree.cpp50
-rw-r--r--WebKitTools/DumpRenderTree/chromium/LayoutTestHelperWin.cpp84
-rw-r--r--WebKitTools/DumpRenderTree/chromium/NotificationPresenter.cpp14
-rw-r--r--WebKitTools/DumpRenderTree/chromium/TestEventPrinter.cpp167
-rw-r--r--WebKitTools/DumpRenderTree/chromium/TestEventPrinter.h43
-rw-r--r--WebKitTools/DumpRenderTree/chromium/TestShell.cpp58
-rw-r--r--WebKitTools/DumpRenderTree/chromium/TestShell.h15
-rw-r--r--WebKitTools/DumpRenderTree/chromium/TestShellGtk.cpp123
-rw-r--r--WebKitTools/DumpRenderTree/chromium/TestShellWin.cpp12
-rw-r--r--WebKitTools/DumpRenderTree/chromium/WebViewHost.cpp5
-rw-r--r--WebKitTools/DumpRenderTree/chromium/fonts.conf155
-rw-r--r--WebKitTools/DumpRenderTree/gtk/DumpRenderTree.cpp1
-rw-r--r--WebKitTools/DumpRenderTree/mac/AccessibilityUIElementMac.mm263
-rw-r--r--WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.cpp27
-rw-r--r--WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.h3
-rw-r--r--WebKitTools/DumpRenderTree/qt/EventSenderQt.cpp24
-rw-r--r--WebKitTools/DumpRenderTree/qt/EventSenderQt.h4
-rw-r--r--WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp12
-rw-r--r--WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.h1
-rw-r--r--WebKitTools/DumpRenderTree/wx/LayoutTestControllerWx.cpp2
-rwxr-xr-xWebKitTools/Scripts/new-run-webkit-tests7
-rwxr-xr-xWebKitTools/Scripts/old-run-webkit-tests4
-rwxr-xr-xWebKitTools/Scripts/test-html5-parser89
-rw-r--r--WebKitTools/Scripts/webkitpy/common/checkout/scm.py2
-rw-r--r--WebKitTools/Scripts/webkitpy/common/checkout/scm_unittest.py15
-rw-r--r--WebKitTools/Scripts/webkitpy/common/config/committers.py2
-rw-r--r--WebKitTools/Scripts/webkitpy/common/net/rietveld.py7
-rw-r--r--WebKitTools/Scripts/webkitpy/common/system/user.py13
-rw-r--r--WebKitTools/Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py5
-rw-r--r--WebKitTools/Scripts/webkitpy/layout_tests/layout_package/printing.py23
-rw-r--r--WebKitTools/Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py17
-rw-r--r--WebKitTools/Scripts/webkitpy/layout_tests/port/chromium.py29
-rw-r--r--WebKitTools/Scripts/webkitpy/layout_tests/port/chromium_win.py15
-rwxr-xr-xWebKitTools/Scripts/webkitpy/layout_tests/run_webkit_tests.py62
-rw-r--r--WebKitTools/Scripts/webkitpy/style/checker.py1
-rw-r--r--WebKitTools/Scripts/webkitpy/style/checkers/cpp.py8
-rw-r--r--WebKitTools/Scripts/webkitpy/style/checkers/cpp_unittest.py15
-rw-r--r--WebKitTools/Scripts/webkitpy/tool/commands/download_unittest.py8
-rw-r--r--WebKitTools/Scripts/webkitpy/tool/mocktool.py3
-rw-r--r--WebKitTools/Scripts/webkitpy/tool/steps/editchangelog.py2
-rw-r--r--WebKitTools/Scripts/webkitpy/tool/steps/updatechangelogswithreviewer.py2
-rw-r--r--WebKitTools/Scripts/webkitpy/tool/steps/validatereviewer.py2
-rw-r--r--WebKitTools/wx/build/settings.py3
890 files changed, 144142 insertions, 127295 deletions
diff --git a/JavaScriptCore/API/JSCallbackFunction.cpp b/JavaScriptCore/API/JSCallbackFunction.cpp
index 4953010..9db9983 100644
--- a/JavaScriptCore/API/JSCallbackFunction.cpp
+++ b/JavaScriptCore/API/JSCallbackFunction.cpp
@@ -47,22 +47,22 @@ JSCallbackFunction::JSCallbackFunction(ExecState* exec, JSGlobalObject* globalOb
{
}
-JSValue JSCallbackFunction::call(ExecState* exec, JSObject* functionObject, JSValue thisValue, const ArgList& args)
+JSValue JSCallbackFunction::call(ExecState* exec)
{
JSContextRef execRef = toRef(exec);
- JSObjectRef functionRef = toRef(functionObject);
- JSObjectRef thisObjRef = toRef(thisValue.toThisObject(exec));
+ JSObjectRef functionRef = toRef(exec->callee());
+ JSObjectRef thisObjRef = toRef(exec->hostThisValue().toThisObject(exec));
- int argumentCount = static_cast<int>(args.size());
+ int argumentCount = static_cast<int>(exec->argumentCount());
Vector<JSValueRef, 16> arguments(argumentCount);
for (int i = 0; i < argumentCount; i++)
- arguments[i] = toRef(exec, args.at(i));
+ arguments[i] = toRef(exec, exec->argument(i));
JSValueRef exception = 0;
JSValueRef result;
{
APICallbackShim callbackShim(exec);
- result = static_cast<JSCallbackFunction*>(functionObject)->m_callback(execRef, functionRef, thisObjRef, argumentCount, arguments.data(), &exception);
+ result = static_cast<JSCallbackFunction*>(toJS(functionRef))->m_callback(execRef, functionRef, thisObjRef, argumentCount, arguments.data(), &exception);
}
if (exception)
exec->setException(toJS(exec, exception));
diff --git a/JavaScriptCore/API/JSCallbackFunction.h b/JavaScriptCore/API/JSCallbackFunction.h
index b0dc425..3940e7d 100644
--- a/JavaScriptCore/API/JSCallbackFunction.h
+++ b/JavaScriptCore/API/JSCallbackFunction.h
@@ -48,7 +48,7 @@ private:
virtual CallType getCallData(CallData&);
virtual const ClassInfo* classInfo() const { return &info; }
- static JSValue JSC_HOST_CALL call(ExecState*, JSObject*, JSValue, const ArgList&);
+ static JSValue JSC_HOST_CALL call(ExecState*);
JSObjectCallAsFunctionCallback m_callback;
};
diff --git a/JavaScriptCore/API/JSCallbackObject.h b/JavaScriptCore/API/JSCallbackObject.h
index 0660b45..7216ac5 100644
--- a/JavaScriptCore/API/JSCallbackObject.h
+++ b/JavaScriptCore/API/JSCallbackObject.h
@@ -182,7 +182,7 @@ private:
static JSCallbackObject* asCallbackObject(JSValue);
- static JSValue JSC_HOST_CALL call(ExecState*, JSObject* functionObject, JSValue thisValue, const ArgList&);
+ static JSValue JSC_HOST_CALL call(ExecState*);
static JSObject* construct(ExecState*, JSObject* constructor, const ArgList&);
static JSValue staticValueGetter(ExecState*, JSValue, const Identifier&);
diff --git a/JavaScriptCore/API/JSCallbackObjectFunctions.h b/JavaScriptCore/API/JSCallbackObjectFunctions.h
index 6573ed9..ef1efd2 100644
--- a/JavaScriptCore/API/JSCallbackObjectFunctions.h
+++ b/JavaScriptCore/API/JSCallbackObjectFunctions.h
@@ -29,6 +29,7 @@
#include "Error.h"
#include "JSCallbackFunction.h"
#include "JSClassRef.h"
+#include "JSFunction.h"
#include "JSGlobalObject.h"
#include "JSLock.h"
#include "JSObjectRef.h"
@@ -370,18 +371,18 @@ CallType JSCallbackObject<Base>::getCallData(CallData& callData)
}
template <class Base>
-JSValue JSCallbackObject<Base>::call(ExecState* exec, JSObject* functionObject, JSValue thisValue, const ArgList& args)
+JSValue JSCallbackObject<Base>::call(ExecState* exec)
{
JSContextRef execRef = toRef(exec);
- JSObjectRef functionRef = toRef(functionObject);
- JSObjectRef thisObjRef = toRef(thisValue.toThisObject(exec));
+ JSObjectRef functionRef = toRef(exec->callee());
+ JSObjectRef thisObjRef = toRef(exec->hostThisValue().toThisObject(exec));
- for (JSClassRef jsClass = static_cast<JSCallbackObject<Base>*>(functionObject)->classRef(); jsClass; jsClass = jsClass->parentClass) {
+ for (JSClassRef jsClass = static_cast<JSCallbackObject<Base>*>(toJS(functionRef))->classRef(); jsClass; jsClass = jsClass->parentClass) {
if (JSObjectCallAsFunctionCallback callAsFunction = jsClass->callAsFunction) {
- int argumentCount = static_cast<int>(args.size());
+ int argumentCount = static_cast<int>(exec->argumentCount());
Vector<JSValueRef, 16> arguments(argumentCount);
for (int i = 0; i < argumentCount; i++)
- arguments[i] = toRef(exec, args.at(i));
+ arguments[i] = toRef(exec, exec->argument(i));
JSValueRef exception = 0;
JSValue result;
{
diff --git a/JavaScriptCore/API/JSObjectRef.cpp b/JavaScriptCore/API/JSObjectRef.cpp
index 73bba67..70c4e14 100644
--- a/JavaScriptCore/API/JSObjectRef.cpp
+++ b/JavaScriptCore/API/JSObjectRef.cpp
@@ -236,7 +236,7 @@ void JSObjectSetPrototype(JSContextRef ctx, JSObjectRef object, JSValueRef value
JSObject* jsObject = toJS(object);
JSValue jsValue = toJS(exec, value);
- jsObject->setPrototype(jsValue.isObject() ? jsValue : jsNull());
+ jsObject->setPrototypeWithCycleCheck(jsValue.isObject() ? jsValue : jsNull());
}
bool JSObjectHasProperty(JSContextRef ctx, JSObjectRef object, JSStringRef propertyName)
diff --git a/JavaScriptCore/API/tests/testapi.c b/JavaScriptCore/API/tests/testapi.c
index 28b4ec8..780e996 100644
--- a/JavaScriptCore/API/tests/testapi.c
+++ b/JavaScriptCore/API/tests/testapi.c
@@ -764,6 +764,59 @@ static void makeGlobalNumberValue(JSContextRef context) {
v = NULL;
}
+static bool assertTrue(bool value, const char* message)
+{
+ if (!value) {
+ if (message)
+ fprintf(stderr, "assertTrue failed: '%s'\n", message);
+ else
+ fprintf(stderr, "assertTrue failed.\n");
+ failed = 1;
+ }
+ return value;
+}
+
+static bool checkForCycleInPrototypeChain()
+{
+ bool result = true;
+ JSGlobalContextRef context = JSGlobalContextCreate(0);
+ JSObjectRef object1 = JSObjectMake(context, /* jsClass */ 0, /* data */ 0);
+ JSObjectRef object2 = JSObjectMake(context, /* jsClass */ 0, /* data */ 0);
+ JSObjectRef object3 = JSObjectMake(context, /* jsClass */ 0, /* data */ 0);
+
+ JSObjectSetPrototype(context, object1, JSValueMakeNull(context));
+ ASSERT(JSValueIsNull(context, JSObjectGetPrototype(context, object1)));
+
+ // object1 -> object1
+ JSObjectSetPrototype(context, object1, object1);
+ result &= assertTrue(JSValueIsNull(context, JSObjectGetPrototype(context, object1)), "It is possible to assign self as a prototype");
+
+ // object1 -> object2 -> object1
+ JSObjectSetPrototype(context, object2, object1);
+ ASSERT(JSValueIsStrictEqual(context, JSObjectGetPrototype(context, object2), object1));
+ JSObjectSetPrototype(context, object1, object2);
+ result &= assertTrue(JSValueIsNull(context, JSObjectGetPrototype(context, object1)), "It is possible to close a prototype chain cycle");
+
+ // object1 -> object2 -> object3 -> object1
+ JSObjectSetPrototype(context, object2, object3);
+ ASSERT(JSValueIsStrictEqual(context, JSObjectGetPrototype(context, object2), object3));
+ JSObjectSetPrototype(context, object1, object2);
+ ASSERT(JSValueIsStrictEqual(context, JSObjectGetPrototype(context, object1), object2));
+ JSObjectSetPrototype(context, object3, object1);
+ result &= assertTrue(!JSValueIsStrictEqual(context, JSObjectGetPrototype(context, object3), object1), "It is possible to close a prototype chain cycle");
+
+ JSValueRef exception;
+ JSStringRef code = JSStringCreateWithUTF8CString("o = { }; p = { }; o.__proto__ = p; p.__proto__ = o");
+ JSStringRef file = JSStringCreateWithUTF8CString("");
+ result &= assertTrue(!JSEvaluateScript(context, code, /* thisObject*/ 0, file, 1, &exception)
+ , "An exception should be thrown");
+
+ JSStringRelease(code);
+ JSStringRelease(file);
+ JSGlobalContextRelease(context);
+ return result;
+}
+
int main(int argc, char* argv[])
{
const char *scriptPath = "testapi.js";
@@ -1346,6 +1399,13 @@ int main(int argc, char* argv[])
printf("PASS: Infinite prototype chain does not occur.\n");
+ if (checkForCycleInPrototypeChain())
+ printf("PASS: A cycle in a prototype chain can't be created.\n");
+ else {
+ printf("FAIL: A cycle in a prototype chain can be created.\n");
+ failed = true;
+ }
+
if (failed) {
printf("FAIL: Some tests failed.\n");
return 1;
diff --git a/JavaScriptCore/ChangeLog b/JavaScriptCore/ChangeLog
index 83076da..3687d58 100644
--- a/JavaScriptCore/ChangeLog
+++ b/JavaScriptCore/ChangeLog
@@ -1,16040 +1,265 @@
-2010-05-23 Sam Weinig <sam@webkit.org>
+2010-06-01 Kent Tamura <tkent@chromium.org>
- Fix windows build.
+ Reviewed by Shinichiro Hamaji.
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-05-23 Sam Weinig <sam@webkit.org>
-
- Reviewed by Oliver Hunt.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=39575
- Make JS DOMObject inherit from JSObjectWithGlobalObject instead of JSObject
-
- Expose the global object stored in JSObjectWithGlobalObject.
-
- * JavaScriptCore.exp:
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * runtime/JSObjectWithGlobalObject.cpp:
- (JSC::JSObjectWithGlobalObject::JSObjectWithGlobalObject):
- (JSC::JSObjectWithGlobalObject::globalObject):
- * runtime/JSObjectWithGlobalObject.h:
-
-2010-05-21 Oliver Hunt <oliver@apple.com>
-
- "asm volatile" isn't valid outside of functions.
-
- Reviewed by Gavin Barraclough.
-
- * jit/JITStubs.cpp:
-
-2010-05-21 Gavin Barraclough <barraclough@apple.com>
-
- Unreviewed build fix.
-
- Interpreter fix following r59974.
-
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::privateExecute):
- * runtime/JSPropertyNameIterator.cpp:
- (JSC::JSPropertyNameIterator::get):
- * runtime/JSPropertyNameIterator.h:
-
-2010-05-21 Gavin Barraclough <barraclough@apple.com>
-
- Rubber stamped by Oliver Hunt.
-
- Interpreter fix following r59939.
-
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::privateExecute):
-
-2010-05-21 David Levin <levin@chromium.org>
-
- Unreviewed build fix.
-
- * wtf/SizeLimits.cpp: Removed a check while I figure out how to write it properly.
-
-2010-05-21 David Levin <levin@chromium.org>
-
- Reviewed by Darin Adler.
-
- Enforce size constraints on various data structures in JavaScriptCore/wtf.
- https://bugs.webkit.org/show_bug.cgi?id=39327
-
- I only modified the default build for OSX and Chromium's build file to include WTFCompileAsserts.cpp
- as those should be sufficient to catch regressions on the size of the data structures.
-
- * JavaScriptCore.gypi: Added the WTFCompileAsserts.cpp file.
- * JavaScriptCore.xcodeproj/project.pbxproj: Added the WTFCompileAsserts.cpp file.
- * runtime/UString.cpp: Added a compile assert for UString size.
- * wtf/SizeLimits.cpp: Added compile asserts for data structures that didn't have cpp files.
- * wtf/text/StringImpl.cpp: Added a compile assert for StringImpl size.
-
-2010-05-21 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Bug 39509 - Exceptions raised when JSString::value() is called not always properly thrown.
- Missing some CHECK_FOR_EXCEPTION()s, cleanup NativeError construction (adding a property
- via the prototype was inefficient, and whilst trivially true that the property is is not
- a rope - and thus couldn't except - it would be hard to prove this).
-
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::callEval):
- (JSC::Interpreter::privateExecute):
- * jit/JITStubs.cpp:
- (JSC::DEFINE_STUB_FUNCTION):
- * runtime/InternalFunction.cpp:
- (JSC::InternalFunction::name):
- (JSC::InternalFunction::displayName):
- * runtime/JSFunction.cpp:
- (JSC::JSFunction::name):
- (JSC::JSFunction::displayName):
- * runtime/JSGlobalObject.cpp:
- (JSC::JSGlobalObject::reset):
- * runtime/JSPropertyNameIterator.cpp:
- * runtime/JSPropertyNameIterator.h:
- * runtime/JSString.h:
- (JSC::RopeBuilder::tryGetValue):
- (JSC::JSString::getIndex):
- * runtime/NativeErrorConstructor.cpp:
- (JSC::NativeErrorConstructor::NativeErrorConstructor):
- * runtime/NativeErrorConstructor.h:
- * runtime/NativeErrorPrototype.cpp:
- (JSC::NativeErrorPrototype::NativeErrorPrototype):
- * runtime/NativeErrorPrototype.h:
- * runtime/StringPrototype.cpp:
- (JSC::stringProtoFuncReplace):
-
-2010-05-21 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (build fix).
-
- Fix interpreter build.
-
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::privateExecute):
-
-2010-05-21 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Split out JITCall32_64.cpp, and tightened up some #ifdefs in the hopes
- of improving compile times.
- https://bugs.webkit.org/show_bug.cgi?id=39507
-
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * jit/JIT.cpp:
- * jit/JITArithmetic.cpp:
- * jit/JITArithmetic32_64.cpp:
- * jit/JITCall.cpp:
- * jit/JITCall32_64.cpp: Copied from jit/JITCall.cpp.
- * jit/JITOpcodes.cpp:
- * jit/JITOpcodes32_64.cpp:
- * jit/JITPropertyAccess.cpp:
- * jit/JITPropertyAccess32_64.cpp:
- * jit/JITStubs.cpp:
-
-2010-05-21 Csaba Osztrogonác <ossy@webkit.org>
-
- Unreviewed buildfix for Qt after r59941.
-
- * JavaScriptCore.pro: missing runtime/JSObjectWithGlobalObject.cpp added to SOURCES.
-
-2010-05-21 Oliver Hunt <oliver@apple.com>
-
- Windows build fix #3
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-05-21 Oliver Hunt <oliver@apple.com>
-
- Windows build fix #2
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-05-21 Oliver Hunt <oliver@apple.com>
-
- Windows build fix #1
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-05-21 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Geoffrey Garen.
-
- All callable objects should have a global object reference
- https://bugs.webkit.org/show_bug.cgi?id=39495
-
- All objects that may ever return a value other CallTypeNone
- or ConstructTypeNone now get a global object in their constructor
- and store that in their first anonymous slot. We add a new type
- JSObjectWithGlobalObject to allow us to share this logic as much
- as possible, however some objects have specific inheritance
- requirements so we can't just use it universally.
-
- To enforce this requirement JSValue::getCallData and getConstructData
- make use of a new "isValidCallee" function to assert that any object
- that returns a value other than CallType/ConstructTypeNone has a
- global object in anonymous slot 0.
-
- In order to ensure that static function slots are converted into
- function objects with the correct global object, all prototype objects
- and other classes with static function slots also gain a global object
- reference. Happily this fixes the long standing issue where host
- function objects get a prototype from the lexical global object of the
- first function that calls them, instead of the global object that they
- are defined on.
-
- * API/JSCallbackConstructor.cpp:
- (JSC::JSCallbackConstructor::JSCallbackConstructor):
- * API/JSCallbackConstructor.h:
- * API/JSCallbackFunction.cpp:
- (JSC::JSCallbackFunction::JSCallbackFunction):
- * API/JSCallbackFunction.h:
- * API/JSCallbackObject.cpp:
- (JSC::):
- * API/JSCallbackObject.h:
- * API/JSCallbackObjectFunctions.h:
- (JSC::::JSCallbackObject):
- (JSC::::staticFunctionGetter):
- * API/JSClassRef.cpp:
- (OpaqueJSClass::prototype):
- * API/JSContextRef.cpp:
- * API/JSObjectRef.cpp:
- (JSObjectMake):
- (JSObjectMakeFunctionWithCallback):
- (JSObjectMakeConstructor):
- (JSObjectGetPrivate):
- (JSObjectSetPrivate):
- (JSObjectGetPrivateProperty):
- (JSObjectSetPrivateProperty):
- (JSObjectDeletePrivateProperty):
- * API/JSValueRef.cpp:
- (JSValueIsObjectOfClass):
- * API/JSWeakObjectMapRefPrivate.cpp:
- * CMakeLists.txt:
- * GNUmakefile.am:
- * JavaScriptCore.exp:
- * JavaScriptCore.gypi:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::privateExecute):
- * jit/JITStubs.cpp:
- (JSC::DEFINE_STUB_FUNCTION):
- * jsc.cpp:
- (GlobalObject::GlobalObject):
- * runtime/ArrayConstructor.cpp:
- (JSC::ArrayConstructor::ArrayConstructor):
- * runtime/ArrayConstructor.h:
- * runtime/ArrayPrototype.cpp:
- (JSC::ArrayPrototype::ArrayPrototype):
- * runtime/ArrayPrototype.h:
- (JSC::ArrayPrototype::createStructure):
- * runtime/BooleanConstructor.cpp:
- (JSC::BooleanConstructor::BooleanConstructor):
- * runtime/BooleanConstructor.h:
- * runtime/BooleanPrototype.cpp:
- (JSC::BooleanPrototype::BooleanPrototype):
- * runtime/BooleanPrototype.h:
- * runtime/DateConstructor.cpp:
- (JSC::DateConstructor::DateConstructor):
- * runtime/DateConstructor.h:
- * runtime/DatePrototype.cpp:
- (JSC::DatePrototype::DatePrototype):
- * runtime/DatePrototype.h:
- * runtime/ErrorConstructor.cpp:
- (JSC::ErrorConstructor::ErrorConstructor):
- * runtime/ErrorConstructor.h:
- * runtime/ErrorPrototype.cpp:
- (JSC::ErrorPrototype::ErrorPrototype):
- * runtime/ErrorPrototype.h:
- * runtime/FunctionConstructor.cpp:
- (JSC::FunctionConstructor::FunctionConstructor):
- * runtime/FunctionConstructor.h:
- * runtime/FunctionPrototype.cpp:
- (JSC::FunctionPrototype::FunctionPrototype):
- (JSC::FunctionPrototype::addFunctionProperties):
- * runtime/FunctionPrototype.h:
- * runtime/GlobalEvalFunction.cpp:
- (JSC::GlobalEvalFunction::GlobalEvalFunction):
- * runtime/GlobalEvalFunction.h:
- * runtime/InternalFunction.cpp:
- (JSC::InternalFunction::InternalFunction):
- * runtime/InternalFunction.h:
- * runtime/JSCell.h:
- (JSC::JSValue::getCallData):
- (JSC::JSValue::getConstructData):
- * runtime/JSFunction.cpp:
- (JSC::JSFunction::JSFunction):
- * runtime/JSFunction.h:
- * runtime/JSGlobalObject.cpp:
- (JSC::JSGlobalObject::reset):
- * runtime/JSGlobalObject.h:
- (JSC::JSGlobalObject::JSGlobalObject):
- * runtime/JSONObject.cpp:
- (JSC::JSONObject::JSONObject):
- * runtime/JSONObject.h:
- * runtime/JSObject.h:
- * runtime/JSObjectWithGlobalObject.cpp: Added.
- (JSC::JSObjectWithGlobalObject::JSObjectWithGlobalObject):
- * runtime/JSObjectWithGlobalObject.h: Added.
- (JSC::JSObjectWithGlobalObject::createStructure):
- (JSC::JSObjectWithGlobalObject::JSObjectWithGlobalObject):
- * runtime/JSValue.cpp:
- (JSC::JSValue::isValidCallee):
- * runtime/JSValue.h:
- * runtime/Lookup.cpp:
- (JSC::setUpStaticFunctionSlot):
- * runtime/MathObject.cpp:
- (JSC::MathObject::MathObject):
- * runtime/MathObject.h:
- * runtime/NativeErrorConstructor.cpp:
- (JSC::NativeErrorConstructor::NativeErrorConstructor):
- * runtime/NativeErrorConstructor.h:
- * runtime/NativeErrorPrototype.cpp:
- (JSC::NativeErrorPrototype::NativeErrorPrototype):
- * runtime/NativeErrorPrototype.h:
- * runtime/NumberConstructor.cpp:
- (JSC::NumberConstructor::NumberConstructor):
- * runtime/NumberConstructor.h:
- * runtime/NumberPrototype.cpp:
- (JSC::NumberPrototype::NumberPrototype):
- * runtime/NumberPrototype.h:
- * runtime/ObjectConstructor.cpp:
- (JSC::ObjectConstructor::ObjectConstructor):
- * runtime/ObjectConstructor.h:
- * runtime/ObjectPrototype.cpp:
- (JSC::ObjectPrototype::ObjectPrototype):
- * runtime/ObjectPrototype.h:
- * runtime/PrototypeFunction.cpp:
- (JSC::PrototypeFunction::PrototypeFunction):
- * runtime/PrototypeFunction.h:
- * runtime/RegExpConstructor.cpp:
- (JSC::RegExpConstructor::RegExpConstructor):
- (JSC::constructRegExp):
- * runtime/RegExpConstructor.h:
- * runtime/RegExpObject.cpp:
- (JSC::RegExpObject::RegExpObject):
- * runtime/RegExpObject.h:
- * runtime/RegExpPrototype.cpp:
- (JSC::RegExpPrototype::RegExpPrototype):
- * runtime/RegExpPrototype.h:
- * runtime/StringConstructor.cpp:
- (JSC::StringConstructor::StringConstructor):
- * runtime/StringConstructor.h:
- * runtime/StringPrototype.cpp:
- (JSC::StringPrototype::StringPrototype):
- * runtime/StringPrototype.h:
-
-2010-05-21 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Removed the unused entry in the CallFrame
- https://bugs.webkit.org/show_bug.cgi?id=39470
-
- Removed the unused entry in the CallFrame, and reordered CallFrame
- writes on the hot path to be in forwards order.
-
- SunSpider says 0.3% faster.
-
- * interpreter/RegisterFile.h:
- (JSC::RegisterFile::):
- * jit/JITCall.cpp:
- (JSC::JIT::compileOpCall):
-
-2010-05-21 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Split the QScriptValue autotest into smaller chunks.
-
- File tst_qscriptvalue_generated.cpp was huge and it was difficult to compile
- it with MSVS2008, because of the code optimization.
-
- Tests were splited into a few files for better use of distributed
- compilation.
- Repeated calls to insert() and operator<<() where replaced by loops,
- that should reduce time of code optimizing.
-
- New files were generated by the same application, test logic wasn't changed.
-
- [Qt] The QScriptValue autotest should be refactored.
- https://bugs.webkit.org/show_bug.cgi?id=38987
-
- * qt/tests/qscriptvalue/qscriptvalue.pro:
- * qt/tests/qscriptvalue/tst_qscriptvalue.h:
- * qt/tests/qscriptvalue/tst_qscriptvalue_generated.cpp: Removed.
- * qt/tests/qscriptvalue/tst_qscriptvalue_generated_init.cpp: Added.
- (tst_QScriptValue::initScriptValues):
- * qt/tests/qscriptvalue/tst_qscriptvalue_generated_istype.cpp: Added.
- (tst_QScriptValue::isValid_initData):
- (tst_QScriptValue::isValid_makeData):
- (tst_QScriptValue::isValid_test):
- (tst_QScriptValue::isBool_initData):
- (tst_QScriptValue::isBool_makeData):
- (tst_QScriptValue::isBool_test):
- (tst_QScriptValue::isBoolean_initData):
- (tst_QScriptValue::isBoolean_makeData):
- (tst_QScriptValue::isBoolean_test):
- (tst_QScriptValue::isNumber_initData):
- (tst_QScriptValue::isNumber_makeData):
- (tst_QScriptValue::isNumber_test):
- (tst_QScriptValue::isFunction_initData):
- (tst_QScriptValue::isFunction_makeData):
- (tst_QScriptValue::isFunction_test):
- (tst_QScriptValue::isNull_initData):
- (tst_QScriptValue::isNull_makeData):
- (tst_QScriptValue::isNull_test):
- (tst_QScriptValue::isString_initData):
- (tst_QScriptValue::isString_makeData):
- (tst_QScriptValue::isString_test):
- (tst_QScriptValue::isUndefined_initData):
- (tst_QScriptValue::isUndefined_makeData):
- (tst_QScriptValue::isUndefined_test):
- (tst_QScriptValue::isObject_initData):
- (tst_QScriptValue::isObject_makeData):
- (tst_QScriptValue::isObject_test):
- * qt/tests/qscriptvalue/tst_qscriptvalue_generated_totype.cpp: Added.
- (tst_QScriptValue::toString_initData):
- (tst_QScriptValue::toString_makeData):
- (tst_QScriptValue::toString_test):
- (tst_QScriptValue::toNumber_initData):
- (tst_QScriptValue::toNumber_makeData):
- (tst_QScriptValue::toNumber_test):
- (tst_QScriptValue::toBool_initData):
- (tst_QScriptValue::toBool_makeData):
- (tst_QScriptValue::toBool_test):
- (tst_QScriptValue::toBoolean_initData):
- (tst_QScriptValue::toBoolean_makeData):
- (tst_QScriptValue::toBoolean_test):
- (tst_QScriptValue::toInteger_initData):
- (tst_QScriptValue::toInteger_makeData):
- (tst_QScriptValue::toInteger_test):
- (tst_QScriptValue::toInt32_initData):
- (tst_QScriptValue::toInt32_makeData):
- (tst_QScriptValue::toInt32_test):
- (tst_QScriptValue::toUInt32_initData):
- (tst_QScriptValue::toUInt32_makeData):
- (tst_QScriptValue::toUInt32_test):
- (tst_QScriptValue::toUInt16_initData):
- (tst_QScriptValue::toUInt16_makeData):
- (tst_QScriptValue::toUInt16_test):
-
-2010-05-21 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- Add COMPILER(MSVC) guard for strnstr
- https://bugs.webkit.org/show_bug.cgi?id=39397
-
- BREWMP uses MSVC for simulator build, but it is not OS(WINDOWS).
- Add COMPILER(MSVC) guard for strnstr.
-
- * wtf/StringExtras.h:
-
-2010-05-21 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Add !PLATFORM(BREWMP) guard for isMainThread
- https://bugs.webkit.org/show_bug.cgi?id=39396
-
- BREWMP sets ENABLE(SINGLE_THREADED), so it uses isMainThread from ThreadingNone.cpp.
- Exclude isMainThread in MainThread.cpp.
-
- * wtf/MainThread.cpp:
-
-2010-05-20 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Use skia as BREW MP's graphics backend.
- https://bugs.webkit.org/show_bug.cgi?id=39407
-
- Define WTF_PLATFORM_SKIA=1 for BREW MP.
-
- * wtf/Platform.h:
-
-2010-05-20 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Beth Dakin.
-
- Fixed naming mixup: it's op_call_put_result, not ret_result.
-
- * bytecode/CodeBlock.cpp:
- (JSC::CodeBlock::dump):
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::privateExecute):
-
-2010-05-20 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Whittling away at CodeBlock use: Removed a little wonkiness in closure lookup
- https://bugs.webkit.org/show_bug.cgi?id=39444
-
- Calculate all lookup depths at compile time. I'm not sure why we couldn't
- do this before, but whatever the reason, it seems to be gone now.
-
- * bytecompiler/BytecodeGenerator.cpp:
- (JSC::BytecodeGenerator::findScopedProperty):
- * bytecompiler/BytecodeGenerator.h:
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::resolveSkip):
- (JSC::Interpreter::resolveGlobalDynamic):
- (JSC::Interpreter::privateExecute):
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_get_scoped_var):
- (JSC::JIT::emit_op_put_scoped_var):
- (JSC::JIT::emit_op_resolve_skip):
- (JSC::JIT::emit_op_resolve_global_dynamic):
- (JSC::JIT::emitSlow_op_resolve_global_dynamic):
- * jit/JITOpcodes32_64.cpp:
- (JSC::JIT::emit_op_get_scoped_var):
- (JSC::JIT::emit_op_put_scoped_var):
- (JSC::JIT::emit_op_resolve_skip):
-
-2010-05-20 Darin Adler <darin@apple.com>
-
- Reviewed by Eric Seidel.
-
- Fix warnings seen on the buildbots today
- https://bugs.webkit.org/show_bug.cgi?id=39368
-
- * profiler/ProfileNode.cpp:
- (JSC::getCount): Removed unneeded initialization of global variable.
- These are all initialized to zero anyway, so no need to try to initialize
- it and get a warning.
-
- * wtf/CurrentTime.cpp:
- (WTF::currentTime): Removed unused global variable.
-
-2010-05-20 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler.
-
- Removed some reliance on callFame[CodeBlock] by storing CodeBlock in a
- local variable in the Interpreter.
- https://bugs.webkit.org/show_bug.cgi?id=39447
-
- Small speedup on SunSpider in Interpreter mode.
-
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::privateExecute):
- * jsc.cpp:
- * wtf/Platform.h:
-
-2010-05-19 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Bug 39408 - Unify JIT/interpreter return behaviour.
-
- Presently the JIT and the interpreter have differing implementations in how
- they handle storing the result of a function call back to the register file.
- In both cases the op_call ( / _eval / _varargs / op_construct) opcode has an
- operand indicating the VM register in which the result should be stored.
- The JIT plants code after the call to store the result, so the value will be
- stored as soon as the callee has returned. In the interpreter the call
- passes the return value register id into the callee via the callee callframe,
- and the callee is responsible for writing the result back into its callers
- register file after it has restored the parents callframe pointer, but before
- returning.
-
- Instead, move the task of writing the call result to the register file into a
- new opcode (op_call_put_result), and after returning the callee should leave
- the return value in a canonical location. In the case of the interpreter,
- this canonical location is a local variable in privateExecute
- (functionReturnValue), in the case of the JIT this is the normal return value
- registers (regT0, or regT1:regT0 in JSVALUE32_64). op_call_put_result stores
- the result from the canonical location to the registerfile.
-
- In addition to unifying JIT & interpreter behaviour this change allows us to
- remove a slot from the callframe, omit the write of the result where the
- return value from the call is not used, and provides a 2% speedup on sunspider
- in the interpreter.
-
- * bytecode/CodeBlock.cpp:
- (JSC::CodeBlock::dump):
- * bytecode/Opcode.h:
- * bytecompiler/BytecodeGenerator.cpp:
- (JSC::BytecodeGenerator::emitCall):
- (JSC::BytecodeGenerator::emitCallVarargs):
- (JSC::BytecodeGenerator::emitConstruct):
- * bytecompiler/BytecodeGenerator.h:
- (JSC::BytecodeGenerator::finalDestinationOrIgnored):
- * bytecompiler/NodesCodegen.cpp:
- (JSC::NewExprNode::emitBytecode):
- (JSC::FunctionCallValueNode::emitBytecode):
- (JSC::FunctionCallResolveNode::emitBytecode):
- (JSC::FunctionCallBracketNode::emitBytecode):
- (JSC::FunctionCallDotNode::emitBytecode):
- (JSC::CallFunctionCallDotNode::emitBytecode):
- (JSC::ApplyFunctionCallDotNode::emitBytecode):
- * interpreter/CallFrame.h:
- (JSC::ExecState::init):
- (JSC::ExecState::noCaller):
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::dumpRegisters):
- (JSC::Interpreter::throwException):
- (JSC::Interpreter::privateExecute):
- * interpreter/RegisterFile.h:
- (JSC::RegisterFile::):
- * jit/JIT.cpp:
- (JSC::JIT::privateCompileMainPass):
- * jit/JIT.h:
- * jit/JITCall.cpp:
- (JSC::JIT::compileOpCallSetupArgs):
- (JSC::JIT::compileOpConstructSetupArgs):
- (JSC::JIT::emit_op_call_put_result):
- (JSC::JIT::compileOpCallVarargs):
- (JSC::JIT::compileOpCallVarargsSlowCase):
- (JSC::JIT::compileOpCall):
- (JSC::JIT::compileOpCallSlowCase):
- (JSC::JIT::compileOpCallVarargsSetupArgs):
-
-2010-05-20 Steve Block <steveblock@google.com>
-
- Reviewed by Jeremy Orlow.
-
- Provide bindings for DeviceOrientation
- https://bugs.webkit.org/show_bug.cgi?id=39210
-
- Adds ENABLE_DEVICE_ORIENTATION to XCode project file, always disabled.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-05-19 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Geoff Garen.
-
- Errk! rename op_constructor_ret as requested in review of Bug 39399.
-
- * bytecode/CodeBlock.cpp:
- (JSC::CodeBlock::dump):
- * bytecode/Opcode.h:
- * bytecompiler/BytecodeGenerator.cpp:
- (JSC::BytecodeGenerator::emitReturn):
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::privateExecute):
- * jit/JIT.cpp:
- (JSC::JIT::privateCompileMainPass):
- * jit/JIT.h:
- * jit/JITCall.cpp:
- (JSC::JIT::emit_op_ret_object_or_this):
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_ret_object_or_this):
-
-2010-05-19 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Geoff Garen.
-
- Bug 39399 - Move responsibility for verifying constructors return objects from the caller to the callee.
-
- This is a necessary step to move object creation from caller to callee.
-
- * bytecode/CodeBlock.cpp:
- (JSC::CodeBlock::dump):
- * bytecode/Opcode.h:
- * bytecompiler/BytecodeGenerator.cpp:
- (JSC::BytecodeGenerator::BytecodeGenerator):
- (JSC::BytecodeGenerator::emitReturn):
- (JSC::BytecodeGenerator::emitConstruct):
- * bytecompiler/BytecodeGenerator.h:
- (JSC::BytecodeGenerator::isConstructor):
- * bytecompiler/NodesCodegen.cpp:
- (JSC::FunctionBodyNode::emitBytecode):
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::privateExecute):
- * jit/JIT.cpp:
- (JSC::JIT::privateCompileMainPass):
- (JSC::JIT::privateCompileSlowCases):
- * jit/JIT.h:
- * jit/JITCall.cpp:
- (JSC::JIT::emit_op_constructor_ret):
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_constructor_ret):
-
-2010-05-19 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (build fix).
-
- Fix windows build II.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-05-19 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (build fix).
-
- Fix windows build.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-05-19 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Bug 39393 - JSFunction need not be a subclass of InternalFunction.
-
- re-landing r59800.
-
- * JavaScriptCore.exp:
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::retrieveCaller):
- (JSC::Interpreter::findFunctionCallFrame):
- * interpreter/Interpreter.h:
- * profiler/Profiler.cpp:
- (JSC::Profiler::createCallIdentifier):
- * runtime/FunctionPrototype.cpp:
- (JSC::functionProtoFuncToString):
- * runtime/JSFunction.cpp:
- (JSC::):
- (JSC::JSFunction::JSFunction):
- (JSC::JSFunction::name):
- (JSC::JSFunction::displayName):
- (JSC::JSFunction::calculatedDisplayName):
- * runtime/JSFunction.h:
- * runtime/JSObject.cpp:
- (JSC::JSObject::putDirectFunction):
- (JSC::JSObject::putDirectFunctionWithoutTransition):
- * runtime/JSObject.h:
- * runtime/Lookup.cpp:
- (JSC::setUpStaticFunctionSlot):
-
-2010-05-19 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (build fix).
-
- Reverting r59800, this b0rked stuff.
-
- * JavaScriptCore.exp:
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::retrieveCaller):
- (JSC::Interpreter::findFunctionCallFrame):
- * interpreter/Interpreter.h:
- * profiler/Profiler.cpp:
- (JSC::Profiler::createCallIdentifier):
- * runtime/FunctionPrototype.cpp:
- (JSC::functionProtoFuncToString):
- * runtime/JSFunction.cpp:
- (JSC::):
- (JSC::JSFunction::JSFunction):
- * runtime/JSFunction.h:
- * runtime/JSObject.cpp:
- * runtime/JSObject.h:
- * runtime/Lookup.cpp:
- (JSC::setUpStaticFunctionSlot):
-
-2010-05-19 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Bug 39393 - JSFunction need not be a subclass of InternalFunction.
-
- This may prevent us from introducing a more useful parent class to
- JSFunction, e.g. a JSObject that holds an executable, which could
- also reference an eval or program executable.
-
- * JavaScriptCore.exp:
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::retrieveCaller):
- (JSC::Interpreter::findFunctionCallFrame):
- * interpreter/Interpreter.h:
- * profiler/Profiler.cpp:
- (JSC::Profiler::createCallIdentifier):
- * runtime/FunctionPrototype.cpp:
- (JSC::functionProtoFuncToString):
- * runtime/JSFunction.cpp:
- (JSC::):
- (JSC::JSFunction::JSFunction):
- (JSC::JSFunction::name):
- (JSC::JSFunction::displayName):
- (JSC::JSFunction::calculatedDisplayName):
- * runtime/JSFunction.h:
- * runtime/JSObject.cpp:
- (JSC::JSObject::putDirectFunction):
- (JSC::JSObject::putDirectFunctionWithoutTransition):
- * runtime/JSObject.h:
- * runtime/Lookup.cpp:
- (JSC::setUpStaticFunctionSlot):
-
-2010-05-19 Oliver Hunt <oliver@apple.com>
+ Fix style errors of dtoa
+ https://bugs.webkit.org/show_bug.cgi?id=39972
- Reviewed by Geoffrey Garen.
-
- emitJumpIfNotJSCell should special case constant immediate values
- https://bugs.webkit.org/show_bug.cgi?id=39392
- <rdar://problem/8001324>
-
- Make emitJumpSlowCaseIfNotJSCell special case constant immediate
- values, in addition to the immediate JSCell optimisation.
-
- Also add assertions to make sure no one else produces code that
- attempts to load constants from the register file.
-
- * jit/JITInlineMethods.h:
- (JSC::JIT::emitJumpSlowCaseIfNotJSCell):
- * jit/JSInterfaceJIT.h:
- (JSC::JSInterfaceJIT::emitJumpIfNotJSCell):
- (JSC::JSInterfaceJIT::emitLoadInt32):
- (JSC::JSInterfaceJIT::tagFor):
- (JSC::JSInterfaceJIT::payloadFor):
- (JSC::JSInterfaceJIT::emitLoadDouble):
- (JSC::JSInterfaceJIT::addressFor):
- * jit/ThunkGenerators.cpp:
-
-2010-05-19 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Slight refactoring to CodeBlock bytecode access
- https://bugs.webkit.org/show_bug.cgi?id=39384
+ Fix all errors reported by check-webkit-style.
- * bytecode/CodeBlock.h:
- (JSC::CodeBlock::bytecodeOffset):
- * interpreter/CallFrame.h:
- (JSC::ExecState::returnPC):
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::unwindCallFrame):
- (JSC::Interpreter::retrieveLastCaller): Moved bytecode access into a
- CodeBlock helper function. Changed CallFrame to accurately represent
- how the returnPC is stored in JIT vs Interpreter.
-
-2010-05-19 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Don't build the Interpreter into JIT builds.
- https://bugs.webkit.org/show_bug.cgi?id=39373
-
- SunSpider says no change.
-
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::privateExecute):
- * interpreter/Interpreter.h:
- * wtf/Platform.h:
-
-2010-05-19 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Standardized naming: "bytecode offset" wins; "bytecode index" loses.
-
- Also renamed getBytecodeOffset to bytecodeOffset, to match the WebKit
- naming style.
-
- * bytecode/CodeBlock.h:
- (JSC::CallReturnOffsetToBytecodeOffset::CallReturnOffsetToBytecodeOffset):
- (JSC::getCallReturnOffset):
- (JSC::CodeBlock::bytecodeOffset):
- (JSC::CodeBlock::callReturnIndexVector):
- * interpreter/Interpreter.cpp:
- (JSC::bytecodeOffsetForPC):
- * jit/JIT.cpp:
- (JSC::JIT::JIT):
- (JSC::JIT::privateCompileMainPass):
- (JSC::JIT::privateCompileLinkPass):
- (JSC::JIT::privateCompileSlowCases):
- (JSC::JIT::privateCompile):
- * jit/JIT.h:
- (JSC::CallRecord::CallRecord):
- (JSC::JumpTable::JumpTable):
- (JSC::SwitchRecord::SwitchRecord):
- * jit/JITCall.cpp:
- (JSC::JIT::compileOpCallVarargsSlowCase):
- (JSC::JIT::compileOpCall):
- * jit/JITInlineMethods.h:
- (JSC::JIT::emitNakedCall):
- (JSC::JIT::addSlowCase):
- (JSC::JIT::addJump):
- (JSC::JIT::emitJumpSlowToHot):
- (JSC::JIT::isLabeled):
- (JSC::JIT::map):
- (JSC::JIT::unmap):
- (JSC::JIT::isMapped):
- (JSC::JIT::getMappedPayload):
- (JSC::JIT::getMappedTag):
- (JSC::JIT::emitGetVirtualRegister):
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_switch_imm):
- (JSC::JIT::emit_op_switch_char):
- (JSC::JIT::emit_op_switch_string):
- (JSC::JIT::emit_op_new_error):
- * jit/JITOpcodes32_64.cpp:
- (JSC::JIT::emit_op_mov):
- (JSC::JIT::emit_op_get_global_var):
- (JSC::JIT::emit_op_put_global_var):
- (JSC::JIT::emit_op_get_scoped_var):
- (JSC::JIT::emit_op_put_scoped_var):
- (JSC::JIT::emit_op_to_primitive):
- (JSC::JIT::emit_op_resolve_global):
- (JSC::JIT::emit_op_to_jsnumber):
- (JSC::JIT::emit_op_catch):
- (JSC::JIT::emit_op_switch_imm):
- (JSC::JIT::emit_op_switch_char):
- (JSC::JIT::emit_op_switch_string):
- (JSC::JIT::emit_op_new_error):
- (JSC::JIT::emit_op_convert_this):
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::emit_op_method_check):
- (JSC::JIT::emitSlow_op_method_check):
- * jit/JITPropertyAccess32_64.cpp:
- (JSC::JIT::emit_op_method_check):
- (JSC::JIT::emitSlow_op_method_check):
- (JSC::JIT::emit_op_get_by_val):
- (JSC::JIT::emit_op_get_by_id):
- (JSC::JIT::emit_op_get_by_pname):
- * jit/JITStubCall.h:
- (JSC::JITStubCall::call):
- * jit/JITStubs.cpp:
- (JSC::DEFINE_STUB_FUNCTION):
-
-2010-05-19 Peter Varga <pvarga@inf.u-szeged.hu>
-
- Reviewed by Darin Adler.
-
- The backtrackParenthesesOnceEnd function should store the start position
- of the subpattern's non-greedy match at the place of the subpattern's
- start index in the output array instead of the place of the
- subpattern's end index.
- Add layout test for checking of non-greedy matching of subpattern in
- regular expressions.
- https://bugs.webkit.org/show_bug.cgi?id=39289
-
- * yarr/RegexInterpreter.cpp:
- (JSC::Yarr::Interpreter::backtrackParenthesesOnceEnd):
-
-2010-05-18 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Geoff Garen.
-
- Bug 39343 - Dynamically generate a native call thunk per NativeFunction
-
- https://bugs.webkit.org/show_bug.cgi?id=39252 regressed performance on i386,
- by adding an extra indirection to making a native call. By introducing per-
- NativeFunction thunks we can hard code the function pointer into the thunk
- so that it need not be loaded from the callee.
-
- * jit/JIT.h:
- (JSC::JIT::compileCTINativeCall):
- * jit/JITOpcodes.cpp:
- (JSC::JIT::privateCompileCTINativeCall):
- * jit/JITOpcodes32_64.cpp:
- (JSC::JIT::privateCompileCTINativeCall):
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::emitSlow_op_get_by_val):
- * jit/JITPropertyAccess32_64.cpp:
- (JSC::JIT::emitSlow_op_get_by_val):
- * jit/JITStubs.cpp:
- (JSC::JITThunks::ctiStub):
- (JSC::JITThunks::hostFunctionStub):
- * jit/JITStubs.h:
- * jit/SpecializedThunkJIT.h:
- (JSC::SpecializedThunkJIT::finalize):
- * jit/ThunkGenerators.cpp:
- (JSC::charCodeAtThunkGenerator):
- (JSC::charAtThunkGenerator):
- (JSC::fromCharCodeThunkGenerator):
- (JSC::sqrtThunkGenerator):
- (JSC::powThunkGenerator):
- * runtime/JSFunction.cpp:
- (JSC::JSFunction::JSFunction):
- * runtime/JSGlobalData.cpp:
- (JSC::JSGlobalData::getHostFunction):
- * runtime/JSGlobalData.h:
- (JSC::JSGlobalData::getCTIStub):
- * runtime/Lookup.cpp:
- (JSC::setUpStaticFunctionSlot):
- * runtime/StringConstructor.cpp:
- (JSC::StringConstructor::StringConstructor):
- * wtf/Platform.h:
-
-2010-05-18 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler.
-
- Simplified handling of 'arguments' -- 1.2% SunSpider speedup
- https://bugs.webkit.org/show_bug.cgi?id=39200
-
- Removed the reserved OptionalCalleeArguments slot from the CallFrame.
- Now, slots for 'arguments' are allocated and initialized only by
- functions that might need them.
-
- * bytecode/CodeBlock.cpp:
- (JSC::CodeBlock::dump): Updated for new bytecode operands.
-
- (JSC::CodeBlock::CodeBlock):
- * bytecode/CodeBlock.h:
- (JSC::unmodifiedArgumentsRegister): Added a helper function for mapping
- from the arguments register to its unmodified counterpart.
-
- (JSC::CodeBlock::setArgumentsRegister):
- (JSC::CodeBlock::argumentsRegister):
- (JSC::CodeBlock::usesArguments): Changed from a "usesArguments" bool to
- an optional int index representing the arguments register.
-
- * bytecode/Opcode.h: Updated for new bytecode operands.
-
- * bytecompiler/BytecodeGenerator.cpp:
- (JSC::BytecodeGenerator::addVar): Factored out a helper function for
- allocating an anonymous var.
-
- (JSC::BytecodeGenerator::BytecodeGenerator): Merged / simplified some
- arguments vs activation logic, and added code to allocate the arguments
- registers when needed.
-
- (JSC::BytecodeGenerator::createArgumentsIfNecessary): Updated for new bytecode operands.
-
- (JSC::BytecodeGenerator::emitCallEval): No need to create the arguments
- object before calling eval; the activation object will lazily create the
- arguments object if eval resolves it.
-
- (JSC::BytecodeGenerator::emitReturn): Updated for new bytecode operands.
-
- (JSC::BytecodeGenerator::emitPushScope):
- (JSC::BytecodeGenerator::emitPushNewScope): Ditto emitCallEval.
-
- * bytecompiler/BytecodeGenerator.h:
- (JSC::BytecodeGenerator::addVar): Factored out a helper function for
- allocating an anonymous var.
-
- (JSC::BytecodeGenerator::registerFor): No more need for special handling
- of the arguments registers; they're allocated just like normal registers
- now.
-
- * interpreter/CallFrame.h:
- (JSC::ExecState::callerFrame):
- (JSC::ExecState::init):
- * interpreter/CallFrameClosure.h:
- (JSC::CallFrameClosure::resetCallFrame): Nixed optionalCalleeArguments.
-
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::dumpRegisters):
- (JSC::Interpreter::unwindCallFrame):
- (JSC::Interpreter::privateExecute):
- (JSC::Interpreter::retrieveArguments): Opcodes accessing 'arguments' now
- take operands specifying registers, just like all other opcodes.
- JSActivation::copyRegisters is no longer responsible for tearing off the
- arguments object; instead, the VM is responsible for both.
-
- Also, a behavior change: Each access to f.arguments creates a new object,
- unless f itself uses 'arguments'. This matches Chrome, and is necessary
- for the optimization. f.arguments is a nonstandard, deprecated feature,
- so high fidelity to a given implementation is not necessarily a goal.
- Also, as illustrated by the new test case, the identity of f.arguments
- has been broken since 2008, except in the case where f itself accesses
- f.arguments -- but nobody seemed to notice. So, hopefully this change won't
- break the web.
-
- * interpreter/Register.h: Nixed the special arguments accessor. It's no
- longer needed.
-
- * interpreter/RegisterFile.h:
- (JSC::RegisterFile::):
- * jit/JITCall.cpp:
- (JSC::JIT::compileOpCallInitializeCallFrame):
- (JSC::JIT::compileOpCall):
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_tear_off_activation):
- (JSC::JIT::emit_op_tear_off_arguments):
- (JSC::JIT::emit_op_create_arguments):
- (JSC::JIT::emit_op_init_arguments):
- * jit/JITOpcodes32_64.cpp:
- (JSC::JIT::emit_op_tear_off_activation):
- (JSC::JIT::emit_op_tear_off_arguments):
- (JSC::JIT::emit_op_create_arguments):
- (JSC::JIT::emit_op_init_arguments): The actual optimization: Removed
- OptionalCalleeArguments from the callframe slot. Now, it doesn't need
- to be initialized for most calls.
-
- * jit/JITStubs.cpp:
- (JSC::DEFINE_STUB_FUNCTION):
- * jit/JITStubs.h:
- (JSC::): Updated stubs to support arbitrary 'arguments' registers,
- instead of hard-coding something in the call frame.
-
- * runtime/Arguments.h:
- (JSC::JSActivation::copyRegisters): Removed some obfuscatory abstraction.
-
- * runtime/Executable.h:
- (JSC::FunctionExecutable::generatedByteCode): Added a helper for accessing
- the 'arguments' register. In a future patch, that kind of data should
- probably move out of CodeBlock and into Executable.
-
- * runtime/JSActivation.cpp:
- (JSC::JSActivation::getOwnPropertySlot):
- (JSC::JSActivation::argumentsGetter):
- * runtime/JSActivation.h: Simplified / fixed access to 'arguments' via
- the activation object. It now implements the same behavior implemented
- by optimized variable access in the VM. This simplifies some other
- things, too -- like eval code generation.
-
-2010-05-18 Sam Weinig <sam@webkit.org>
-
- Try to fix the windows build.
-
- * API/JSStringRefBSTR.cpp:
+ * wtf/dtoa.cpp:
+ * wtf/dtoa.h:
-2010-05-18 Anders Carlsson <andersca@apple.com>
+2010-05-30 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
- Add an inlineCapacity template parameter to ListHashSet and use it to shrink the positioned object list hash set.
- https://bugs.webkit.org/show_bug.cgi?id=39304
- <rdar://problem/7998366>
-
- Add an inlineCapacity template parameter to ListHashSet.
-
- * wtf/ListHashSet.h:
- (WTF::::ListHashSet):
- (WTF::::operator):
- (WTF::::swap):
- (WTF::::~ListHashSet):
- (WTF::::size):
- (WTF::::capacity):
- (WTF::::isEmpty):
- (WTF::::begin):
- (WTF::::end):
- (WTF::::find):
- (WTF::::contains):
- (WTF::::add):
- (WTF::::insertBefore):
- (WTF::::remove):
- (WTF::::clear):
- (WTF::::unlinkAndDelete):
- (WTF::::appendNode):
- (WTF::::insertNodeBefore):
- (WTF::::deleteAllNodes):
- (WTF::::makeIterator):
- (WTF::::makeConstIterator):
- (WTF::deleteAllValues):
-
-2010-05-18 Gabor Loki <loki@webkit.org>
-
- Reviewed by Darin Adler.
-
- Fix the interpreter after r59637
- https://bugs.webkit.org/show_bug.cgi?id=39287
-
- * runtime/Executable.h:
- * runtime/JSFunction.cpp:
- (JSC::JSFunction::JSFunction):
- (JSC::JSFunction::getCallData):
- * runtime/JSGlobalData.cpp:
- * runtime/JSGlobalData.h:
-
-2010-05-17 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Geoff Garen.
-
- Oops, meant ebx not eax there. Fix Qt (and probably Win too).
-
- * jit/JITOpcodes32_64.cpp:
-
-2010-05-17 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Geoff Garen.
-
- Bug 39252 - Move host/native JSFunction's NativeFunction onto NativeExecutable.
-
- Currently host functions reuse JSFunction's ScopeChain as storage for their
- NativeFunction (the C function pointer to the host function implementation).
- Instead, move this onto NativeExecutable. This will allow host functions to
- have a scopechain (which will be implemented as a separate patch).
-
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * jit/JIT.h:
- * jit/JITCall.cpp:
- (JSC::JIT::compileOpCallInitializeCallFrame):
- (JSC::JIT::compileOpCall):
- * jit/JITOpcodes.cpp:
- (JSC::JIT::privateCompileCTIMachineTrampolines):
- * jit/JITOpcodes32_64.cpp:
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::stringGetByValStubGenerator):
- (JSC::JIT::emitSlow_op_get_by_val):
- * jit/JITPropertyAccess32_64.cpp:
- (JSC::JIT::stringGetByValStubGenerator):
- (JSC::JIT::emitSlow_op_get_by_val):
- * jit/JITStubs.cpp:
- (JSC::JITThunks::specializedThunk):
- * jit/JITStubs.h:
- (JSC::JITThunks::ctiNativeCall):
- * jit/SpecializedThunkJIT.h:
- (JSC::SpecializedThunkJIT::finalize):
- * jit/ThunkGenerators.cpp:
- (JSC::charCodeAtThunkGenerator):
- (JSC::charAtThunkGenerator):
- (JSC::fromCharCodeThunkGenerator):
- (JSC::sqrtThunkGenerator):
- (JSC::powThunkGenerator):
- * jit/ThunkGenerators.h:
- * runtime/Executable.h:
- (JSC::NativeExecutable::create):
- (JSC::NativeExecutable::function):
- (JSC::NativeExecutable::NativeExecutable):
- (JSC::JSFunction::nativeFunction):
- * runtime/JSFunction.cpp:
- (JSC::JSFunction::JSFunction):
- (JSC::JSFunction::~JSFunction):
- (JSC::JSFunction::markChildren):
- (JSC::JSFunction::getCallData):
- (JSC::JSFunction::call):
- (JSC::JSFunction::getOwnPropertySlot):
- (JSC::JSFunction::getConstructData):
- (JSC::JSFunction::construct):
- * runtime/JSFunction.h:
- (JSC::JSFunction::scope):
- * runtime/JSGlobalData.h:
- (JSC::JSGlobalData::getThunk):
- * runtime/Lookup.cpp:
- (JSC::setUpStaticFunctionSlot):
- * runtime/StringConstructor.cpp:
- (JSC::StringConstructor::StringConstructor):
-
-2010-05-17 Patrick Gansterer <paroga@paroga.com>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] Remove WinCE endian dedection.
- https://bugs.webkit.org/show_bug.cgi?id=38511
-
- Windows CE supports little-endian format only.
- Correct dedection was added in r57804.
-
- * wtf/Platform.h:
-
-2010-05-16 Simon Fraser <simon.fraser@apple.com>
+ * wtf/OwnArrayPtr.h:
+ (WTF::OwnArrayPtr::set): Fix the assertion in here to match the one in OwnPtr.
+ At some point someone fixed the "asserts when assigning to 0 and the pointer is
+ already 0" issue in OwnPtr but forgot to do it here.
- Reviewed by Darin Adler.
+2010-05-29 Geoffrey Garen <ggaren@apple.com>
- Reduce the size of FunctionExecutable
- https://bugs.webkit.org/show_bug.cgi?id=39180
+ Windows build fix: Updated exported symbols.
- Change m_numVariables from a size_t to 31 bits in a bitfield,
- packed with another bit for m_forceUsesArguments (which in turn
- get packed with the base class).
-
- Reduces the size of FunctionExecutable from 160 to 152 bytes.
-
- * runtime/Executable.h:
- (JSC::FunctionExecutable::variableCount):
- (JSC::FunctionExecutable::FunctionExecutable):
-
-2010-05-15 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Incorrect codegen for slowcase of < in 64-bit
- https://bugs.webkit.org/show_bug.cgi?id=39151
-
- Call the correct stud for the slowcases of the < operator.
-
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emitSlow_op_jnless):
- (JSC::JIT::emitSlow_op_jless):
-
-2010-05-15 Leo Yang <leo.yang@torchmobile.com.cn>
-
- Reviewed by Darin Adler.
-
- Fix bug https://bugs.webkit.org/show_bug.cgi?id=38890
-
- * runtime/DatePrototype.cpp:
- (JSC::formatLocaleDate):
-
-2010-05-15 Leandro Pereira <leandro@profusion.mobi>
-
- Reviewed by Adam Treat.
-
- [EFL] Add build system for the EFL port.
- http://webkit.org/b/37945
-
- * CMakeLists.txt: Added.
- * CMakeListsEfl.txt: Added.
- * config.h: Add conditional to look for cmakeconfig.h.
- * jsc/CMakeLists.txt: Added.
- * jsc/CMakeListsEfl.txt: Added.
- * wtf/CMakeLists.txt: Added.
- * wtf/CMakeListsEfl.txt: Added.
-
-2010-05-15 Chao-ying Fu <fu@mips.com>
-
- Reviewed by Oliver Hunt.
-
- Update MIPS JIT for unsigned right shift, Math.sqrt, load16
- https://bugs.webkit.org/show_bug.cgi?id=38412
-
- Fixed MIPS build failure.
-
- * assembler/MIPSAssembler.h:
- (JSC::MIPSAssembler::srl):
- (JSC::MIPSAssembler::srlv):
- (JSC::MIPSAssembler::sqrtd):
- * assembler/MacroAssemblerMIPS.h:
- (JSC::MacroAssemblerMIPS::urshift32):
- (JSC::MacroAssemblerMIPS::sqrtDouble):
- (JSC::MacroAssemblerMIPS::load16):
- (JSC::MacroAssemblerMIPS::supportsFloatingPointSqrt):
- * jit/JSInterfaceJIT.h:
-
-2010-05-15 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Geoffrey Garen.
-
- WebInspector: JSC Should provide heap size info for Timeline panel.
- https://bugs.webkit.org/show_bug.cgi?id=38420
-
- * JavaScriptCore.exp:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * runtime/Collector.cpp:
- (JSC::Heap::size):
- * runtime/Collector.h:
-2010-05-15 Dave Tapuska <dtapuska@rim.com>
+2010-05-29 Geoffrey Garen <ggaren@apple.com>
- Reviewed by Darin Adler.
-
- Add a new define for we need strict arena alignment. ARMv5 with
- double word instructions set this value.
+ Disabled ENABLE_JIT_OPTIMIZE_NATIVE_CALL on Windows for now, until I
+ can figure out why it's crashing.
* wtf/Platform.h:
-2010-05-14 Stephanie Lewis <slewis@apple.com>
-
- Rubber-stamped by Mark Rowe.
-
- Update order files.
-
- * JavaScriptCore.order:
-
-2010-05-14 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Implementation of QtScript API that provide method to convert a value to an object.
-
- [Qt] QtScript is missing toObject API
- https://bugs.webkit.org/show_bug.cgi?id=36594
-
- * qt/api/qscriptengine.cpp:
- (QScriptEngine::toObject):
- * qt/api/qscriptengine.h:
- * qt/api/qscriptvalue.cpp:
- (QScriptValue::toObject):
- * qt/api/qscriptvalue.h:
- * qt/api/qscriptvalue_p.h:
- (QScriptValuePrivate::toObject):
- * qt/tests/qscriptengine/tst_qscriptengine.cpp:
- (tst_QScriptEngine::toObject):
- (tst_QScriptEngine::toObjectTwoEngines):
- * qt/tests/qscriptvalue/tst_qscriptvalue.cpp:
- (tst_QScriptValue::toObjectSimple):
- * qt/tests/qscriptvalue/tst_qscriptvalue.h:
-
-2010-05-14 Chao-ying Fu <fu@mips.com>
-
- Reviewed by Oliver Hunt.
-
- String Indexing Failure on JSVALUE32 targets
- https://bugs.webkit.org/show_bug.cgi?id=39034
-
- Remove zero-extend/shift-right code on regT1, because we already have
- it in emit_op_get_by_val().
-
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::stringGetByValStubGenerator):
-
-2010-05-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+2010-05-29 Geoffrey Garen <ggaren@apple.com>
- Reviewed by Alexey Proskuryakov.
+ Fixed Windows crash seen on buildbot.
- Fix a VS2010 assert in std::copy
- https://bugs.webkit.org/show_bug.cgi?id=38630
-
- The assert complains that the output iterator is null.
-
- * wtf/Vector.h:
- (WTF::::operator):
-
-2010-05-13 Maciej Stachowiak <mjs@apple.com>
-
- No review, attempted build fix.
-
- Try to fix Tiger build with some gratuitous initialization of
- seemingly uninitialized variables.
-
- * wtf/text/StringImpl.h:
- (WebCore::StringImpl::tryCreateUninitialized):
-
-2010-05-13 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Mark Rowe.
-
- Various JavaScript string optimizations
- https://bugs.webkit.org/show_bug.cgi?id=39051
-
- Approximately 1% SunSpider speedup.
-
- * runtime/ArrayPrototype.cpp:
- (JSC::arrayProtoFuncJoin): Remove branches from the hot code path
- by moving the first pass outside the loop, and duplicating the hot loop
- to extract the loop-invariant branch.
- * runtime/RegExp.cpp:
- (JSC::RegExp::match): resize ovector to 0 instead of clearing to avoid
- thrash in case of large matches.
- * runtime/RegExpConstructor.h:
- (JSC::RegExpConstructor::performMatch): Mark ALWAYS_INLINE to make the
- compiler respect our authority.
- * runtime/StringPrototype.cpp:
- (JSC::jsSpliceSubstringsWithSeparators): Inline.
- (JSC::stringProtoFuncSubstring): Rewrite boundary condition checks to
- reduce the number of floating point comparisons and branches.
-
-2010-05-12 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=39039
- Provide support for separate bytecode/JIT code translations for call/construct usage
- This will allow us to produce code generated specifically for use as a constructor, not for general function use.
-
- * bytecode/CodeBlock.cpp:
- (JSC::CodeBlock::CodeBlock):
- (JSC::CodeBlock::unlinkCallers):
- * bytecode/CodeBlock.h:
- (JSC::CodeBlock::getBytecodeIndex):
- (JSC::CodeBlock::getJITCode):
- (JSC::CodeBlock::executablePool):
- (JSC::GlobalCodeBlock::GlobalCodeBlock):
- (JSC::FunctionCodeBlock::FunctionCodeBlock):
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::executeCall):
- (JSC::Interpreter::executeConstruct):
- (JSC::Interpreter::prepareForRepeatCall):
- (JSC::Interpreter::execute):
- (JSC::Interpreter::privateExecute):
- * interpreter/Interpreter.h:
- * jit/JIT.cpp:
- (JSC::JIT::unlinkCallOrConstruct):
- (JSC::JIT::linkConstruct):
- * jit/JIT.h:
- * jit/JITCall.cpp:
- (JSC::JIT::compileOpCall):
- (JSC::JIT::compileOpCallSlowCase):
- * jit/JITOpcodes.cpp:
- (JSC::JIT::privateCompileCTIMachineTrampolines):
- * jit/JITOpcodes32_64.cpp:
- (JSC::JIT::privateCompileCTIMachineTrampolines):
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::emitSlow_op_get_by_val):
- * jit/JITPropertyAccess32_64.cpp:
- (JSC::JIT::emitSlow_op_get_by_val):
- * jit/JITStubs.cpp:
- (JSC::DEFINE_STUB_FUNCTION):
- * jit/JITStubs.h:
- (JSC::JITThunks::ctiVirtualConstructLink):
- (JSC::JITThunks::ctiVirtualConstruct):
- (JSC::):
- * jit/SpecializedThunkJIT.h:
- (JSC::SpecializedThunkJIT::finalize):
- * runtime/Arguments.h:
- (JSC::JSActivation::copyRegisters):
- * runtime/ArrayPrototype.cpp:
- (JSC::isNumericCompareFunction):
- * runtime/Executable.cpp:
- (JSC::FunctionExecutable::~FunctionExecutable):
- (JSC::FunctionExecutable::compileForCall):
- (JSC::FunctionExecutable::compileForConstruct):
- (JSC::EvalExecutable::generateJITCode):
- (JSC::ProgramExecutable::generateJITCode):
- (JSC::FunctionExecutable::generateJITCodeForCall):
- (JSC::FunctionExecutable::generateJITCodeForConstruct):
- (JSC::FunctionExecutable::markAggregate):
- (JSC::FunctionExecutable::reparseExceptionInfo):
- (JSC::EvalExecutable::reparseExceptionInfo):
- (JSC::FunctionExecutable::recompile):
- * runtime/Executable.h:
- (JSC::ExecutableBase::ExecutableBase):
- (JSC::ExecutableBase::isHostFunction):
- (JSC::ExecutableBase::generatedJITCodeForCall):
- (JSC::ExecutableBase::generatedJITCodeForConstruct):
- (JSC::NativeExecutable::NativeExecutable):
- (JSC::EvalExecutable::jitCode):
- (JSC::ProgramExecutable::jitCode):
- (JSC::FunctionExecutable::bytecodeForCall):
- (JSC::FunctionExecutable::isGeneratedForCall):
- (JSC::FunctionExecutable::generatedBytecodeForCall):
- (JSC::FunctionExecutable::bytecodeForConstruct):
- (JSC::FunctionExecutable::isGeneratedForConstruct):
- (JSC::FunctionExecutable::generatedBytecodeForConstruct):
- (JSC::FunctionExecutable::symbolTable):
- (JSC::FunctionExecutable::FunctionExecutable):
- (JSC::FunctionExecutable::jitCodeForCall):
- (JSC::FunctionExecutable::jitCodeForConstruct):
- * runtime/JSActivation.h:
- (JSC::JSActivation::JSActivationData::JSActivationData):
- * runtime/JSFunction.cpp:
- (JSC::JSFunction::~JSFunction):
- (JSC::JSFunction::call):
- (JSC::JSFunction::construct):
- * runtime/JSGlobalData.cpp:
- (JSC::JSGlobalData::numericCompareFunction):
-
-2010-05-12 Oliver Hunt <oliver@apple.com>
-
- build fix
-
- <rdar://problem/7977960> REGRESSION (r59282): Tiger PPC build broken
-
- * runtime/UString.h:
- (JSC::tryMakeString):
-
-2010-05-12 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- <rdar://7969718> Incorrect 32-bit codegen for op_jnlesseq
- https://bugs.webkit.org/show_bug.cgi?id=39038
-
- Correct the use of incorrect comparison operators.
-
- * jit/JITArithmetic32_64.cpp:
- (JSC::JIT::emit_op_jlesseq):
- (JSC::JIT::emitBinaryDoubleOp):
-
-2010-05-12 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
-
- Reviewed by Eric Seidel.
-
- JavaScriptCore: fix build when some optimizations are disabled
- https://bugs.webkit.org/show_bug.cgi?id=38800
-
- Remove outdated UNUSED_PARAMs when using JIT but with
- ENABLE_JIT_OPTIMIZE_CALL and ENABLE_JIT_OPTIMIZE_PROPERTY_ACCESS
- disabled.
-
- * jit/JITOpcodes.cpp:
* jit/JITOpcodes32_64.cpp:
+ (JSC::JIT::privateCompileCTINativeCall): __fastcall puts the first
+ argument in ecx.
-2010-05-12 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
+2010-05-28 Geoffrey Garen <ggaren@apple.com>
- Work around GCC stupidity by either explicitly inlining or by
- using ALWAYS_INLINE
-
- * runtime/StringPrototype.cpp:
- (JSC::stringProtoFuncReplace):
- * runtime/UString.h:
- (JSC::UString::~UString):
- * wtf/RefPtr.h:
- (WTF::RefPtr::RefPtr):
- (WTF::RefPtr::~RefPtr):
- * wtf/text/StringImpl.h:
- (WebCore::StringImpl::create):
- (WebCore::StringImpl::tryCreateUninitialized):
-
-2010-05-12 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Detect debug mode consistently
- https://bugs.webkit.org/show_bug.cgi?id=38863
-
- * JavaScriptCore.pri:
- * JavaScriptCore.pro:
- * jsc.pro:
- * qt/api/QtScript.pro:
-
-2010-05-12 Peter Varga <pvarga@inf.u-szeged.hu>
-
- Reviewed by Gavin Barraclough.
-
- Remove a direct jump in generatePatternCharacterGreedy() and
- generatePatternCharacterClassGreedy() functions if quantityCount of the term
- is unlimited.
- https://bugs.webkit.org/show_bug.cgi?id=38898
-
- * yarr/RegexJIT.cpp:
- (JSC::Yarr::RegexGenerator::generatePatternCharacterGreedy):
- (JSC::Yarr::RegexGenerator::generateCharacterClassGreedy):
-
-2010-05-11 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Slight simplification to the calling convention: read RegisterFile::end()
- from an absolute address, instead of from a pointer to the RegisterFile
- on the stack.
-
- SunSpider reports no change.
-
- This should free us to remove the RegisterFile argument from the stack.
-
- * jit/JIT.cpp:
- (JSC::JIT::privateCompile):
-
-2010-05-11 Brian Weinstein <bweinstein@apple.com>
-
- Possible Gtk build fix - use ALWAYS_INLINE on functions that were inlined.
-
- * wtf/text/AtomicString.h:
- (WebCore::AtomicString::add): Use ALWAYS_INLINE.
- * wtf/text/WTFString.h:
- (WebCore::String::length): Ditto.
- (WebCore::String::isEmpty): Ditto.
-
-2010-05-11 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add a compile time assert that sizeof(String) == sizeof(AtomicString).
-
- * wtf/text/AtomicString.cpp:
-
-2010-05-11 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Mark Rowe.
-
- https://bugs.webkit.org/show_bug.cgi?id=38961
- Move some member variables around to reduce class sizes.
-
- Make AtomicString no longer inherit from FastAllocBase.
-
- Since AtomicString's first (and only) member variable, a RefPtr, also inherits from FastAllocBase this
- was causing the size of AtomicString to contain sizeof(void*) bytes of padding.
-
- * wtf/text/AtomicString.h:
-
-2010-05-11 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Maciej Stachowiak.
- Patch by Gavin Barraclough.
-
- Rest of REGRESSION (r57900-57919): 3% PLT Regression from moving strings into WTF.
- https://bugs.webkit.org/show_bug.cgi?id=38930
- <rdar://problem/7937188>
-
- Inline string functions that are commonly used in WTFString, CString, and AtomicString.
-
- * JavaScriptCore.exp: Remove exports of inline functions.
- * wtf/text/AtomicString.cpp:
- (WebCore::AtomicString::addSlowCase): Rename add to addSlowCase, and inline the fast path
- of add.
- * wtf/text/AtomicString.h:
- (WebCore::AtomicString::add): Inline the fast path of add.
- * wtf/text/CString.cpp: Inline implementation of data and length in the header.
- * wtf/text/CString.h:
- (WTF::CString::data): Inline implementation of data.
- (WTF::CString::length): Inline implementation of length.
- * wtf/text/WTFString.cpp: Remove implementations of functions to be inlined.
- * wtf/text/WTFString.h:
- (WebCore::String::String): Inline implementation.
- (WebCore::String::length): Ditto.
- (WebCore::String::characters): Ditto.
- (WebCore::String::operator[]): Ditto.
- (WebCore::String::isEmpty): Ditto.
-
-2010-05-11 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Steve Falkenburg and Jon Honeycutt.
- Patch by Gavin Barraclough.
-
- REGRESSION (r57900-57919): 3% PLT Regression from moving strings into WTF.
- https://bugs.webkit.org/show_bug.cgi?id=38930
- <rdar://problem/7937188>
-
- When the String classes were moved from WebCore to WTF, it meant that on Windows, all operations
- on Strings in WebCore had to cross a DLL boundary (from WebKit.dll to JavaScript.dll).
-
- We fix this by refactoring some of the WTF string code, so the code in AtomicString, StringImpl, and
- WTFString can be built by both WebCore and WTF, and we don't need to talk across a DLL to do operations
- on Strings.
-
- * GNUmakefile.am: Add new file to build system.
- * JavaScriptCore.gypi: Ditto.
- * JavaScriptCore.pro: Ditto.
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: Remove string exports, because these are now
- handled in WebCore.
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Remove the post-build step that was added
- here (the post build step is in JavaScriptCoreCommon.vsprops).
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops: Copy the three cpp files that need to be compiled
- by WebCore into the WebKitOutputDir directory.
- * JavaScriptCore.vcproj/WTF/WTF.vcproj: Add the StringStatics file.
- * JavaScriptCore.vcproj/jsc/jsc.vcproj: Add the three WTF string cpp files to this project.
- * JavaScriptCore.vcproj/jsc/jscCommon.vsprops: Remove the need to link against WTF.lib (since jsc links against JavaScriptCore).
- * JavaScriptCore.xcodeproj/project.pbxproj: Add the StringStatics file.
- * wtf/text/AtomicString.cpp: Moved code to StringStatics.
- * wtf/text/StringImpl.cpp: Ditto.
- * wtf/text/StringStatics.cpp: Added. Move functions in WTF Strings that define static variables to here, so
- the rest of the files can be compiled in WebCore.
- (WebCore::StringImpl::empty): Moved from StringImpl.cpp to here.
- (WebCore::AtomicString::init): Moved from AtomicString.cpp to here.
-
-2010-05-11 Alice Liu <alice.liu@apple.com>
-
- Rubber-stamped by Gavin Barraclough.
-
- Fix build error when enabling debugging block in WebKit win painting code
+ Windows build fix: Updated exported symbols.
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-2010-05-11 Mark Rowe <mrowe@apple.com>
-
- Fix the world.
+2010-05-28 Geoffrey Garen <ggaren@apple.com>
- In r59162 a change was made to WebCore's FeatureDefines.xcconfig that enabled FILE_READER and FILE_WRITER.
- The author and reviewer of that patch ignored the carefully-worded warning at the top of that file asking
- that changes to the file be kept in sync across JavaScriptCore, WebCore and WebKit, as well as being kept
- in sync with build-webkit. This led to WebCore and WebKit having different views of Document's vtable
- and results in crashes in Safari shortly after launch when virtual function calls resulted in the wrong
- function in WebCore being called.
-
- We fix this by bringing the FeatureDefines.xcconfig files in to sync. Based on the ChangeLog message and
- other changes in r59162 it appears that enabling FILE_WRITER was unintentional so that particular change
- has been reverted.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-05-11 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r59171.
- http://trac.webkit.org/changeset/59171
- https://bugs.webkit.org/show_bug.cgi?id=38933
-
- "Broke the world" (Requested by bweinstein on #webkit).
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
- * JavaScriptCore.vcproj/WTF/WTF.vcproj:
- * JavaScriptCore.vcproj/jsc/jsc.vcproj:
- * JavaScriptCore.vcproj/jsc/jscCommon.vsprops:
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * wtf/text/AtomicString.cpp:
- (WebCore::AtomicString::init):
- * wtf/text/StringImpl.cpp:
- (WebCore::StringImpl::empty):
- * wtf/text/StringStatics.cpp: Removed.
-
-2010-05-11 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Steve Falkenburg.
- Patch by Gavin Barraclough.
-
- REGRESSION (r57900-57919): 3% PLT Regression from moving strings into WTF.
- https://bugs.webkit.org/show_bug.cgi?id=38930
- <rdar://problem/7937188>
-
- When the String classes were moved from WebCore to WTF, it meant that on Windows, all operations
- on Strings in WebCore had to cross a DLL boundary (from WebKit.dll to JavaScript.dll).
-
- We fix this by refactoring some of the WTF string code, so the code in AtomicString, StringImpl, and
- WTFString can be built by both WebCore and WTF, and we don't need to talk across a DLL to do operations
- on Strings.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: Remove string exports, because these are now
- handled in WebCore.
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Remove the post-build step that was added
- here (the post build step is in JavaScriptCoreCommon.vsprops).
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops: Copy the three cpp files that need to be compiled
- by WebCore into the WebKitOutputDir directory.
- * JavaScriptCore.vcproj/WTF/WTF.vcproj: Add the StringStatics file.
- * JavaScriptCore.vcproj/jsc/jsc.vcproj: Add the three WTF string cpp files to this project.
- * JavaScriptCore.vcproj/jsc/jscCommon.vsprops: Remove the need to link against WTF.lib (since jsc links against JavaScriptCore).
- * JavaScriptCore.xcodeproj/project.pbxproj: Add the StringStatics file.
- * wtf/text/AtomicString.cpp: Moved code to StringStatics.
- * wtf/text/StringImpl.cpp: Ditto.
- * wtf/text/StringStatics.cpp: Added. Move functions in WTF Strings that define static variables to here, so
- the rest of the files can be compiled in WebCore.
- (WebCore::StringImpl::empty): Moved from StringImpl.cpp to here.
- (WebCore::AtomicString::init): Moved from AtomicString.cpp to here.
-
-2010-05-11 Geoffrey Garen <ggaren@apple.com>
-
- Fixed test failures seen on SnowLeopard buildbot.
-
- * runtime/JSString.cpp:
- (JSC::JSString::replaceCharacter): Don't use size_t and wtf::notFound.
- Instead, use the individual types and notFound values of the string APIs
- we're using, since they're not necessarily the same in 64bit.
-
-2010-05-11 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt and Darin Adler.
-
- Start using ropes in String.prototype.replace.
-
- 1%-1.5% speedup on SunSpider.
-
- * runtime/JSString.cpp:
- (JSC::JSString::resolveRope): Updated for RopeImpl refactoring.
-
- (JSC::JSString::replaceCharacter): Added a replaceCharacter function, which creates
- a rope for the resulting replacement.
-
- * runtime/JSString.h: A few changes here:
- (JSC::):
- (JSC::RopeBuilder::RopeIterator::RopeIterator):
- (JSC::RopeBuilder::RopeIterator::operator++):
- (JSC::RopeBuilder::RopeIterator::operator*):
- (JSC::RopeBuilder::RopeIterator::operator!=):
- (JSC::RopeBuilder::RopeIterator::WorkItem::WorkItem):
- (JSC::RopeBuilder::RopeIterator::WorkItem::operator!=):
- (JSC::RopeBuilder::RopeIterator::skipRopes): Created a RopeIterator abstraction.
- We use this to do a substring find without having to resolve the rope.
- (We could use this iterator when resolving ropes, too, but resolving
- ropes backwards is usually more efficient.)
-
- (JSC::RopeBuilder::JSString): Added constructors for 2 & 3 UStrings.
-
- (JSC::RopeBuilder::appendValueInConstructAndIncrementLength):
- (JSC::RopeBuilder::size): Updated for RopeImpl refactoring.
-
- * runtime/Operations.h: Updated for RopeImpl refactoring.
- (JSC::jsString): Added jsString functions for 2 & 3 UStrings.
-
- * runtime/RopeImpl.cpp:
- (JSC::RopeImpl::derefFibersNonRecursive):
- * runtime/RopeImpl.h:
- (JSC::RopeImpl::initializeFiber):
- (JSC::RopeImpl::size):
- (JSC::RopeImpl::fibers):
- (JSC::RopeImpl::deref):
- (JSC::RopeImpl::RopeImpl): A little refactoring to make this patch easier:
- Moved statics to the top of the class; put multi-statement functions on
- multiple lines; renamed "fiberCount" to "size" to match other collections;
- changed the "fibers" accessor to return the fibers buffer, instead of an
- item in the buffer, to make iteration easier.
-
- * runtime/StringPrototype.cpp:
- (JSC::stringProtoFuncReplace): Don't resolve a rope unless we need to. Do
- use our new replaceCharacter function if possible. Do use a rope to
- represent splicing three strings together.
-
-2010-05-10 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Darin Adler.
-
- [Qt] Disable JIT support for mingw-w64
- https://bugs.webkit.org/show_bug.cgi?id=38747
-
- Disale JIT for mingw-w64 as it is reportedly
- unstable.
-
- Thanks for Vanboxem Rruben for the investigation.
+ Qt build fix: disable a little more stuff when JIT_OPTIMIZE_NATIVE_CALL
+ is disabled.
+ * runtime/Lookup.cpp:
+ (JSC::setUpStaticFunctionSlot):
+ * runtime/Lookup.h:
* wtf/Platform.h:
-2010-05-09 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by Eric Seidel.
+2010-05-28 Geoffrey Garen <ggaren@apple.com>
- JavaScriptCore/wtf/MD5.h: checksum should take a reference to output.
- https://bugs.webkit.org/show_bug.cgi?id=38723
+ Windows build fix: Updated exported symbols.
- * JavaScriptCore.exp:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * wtf/MD5.cpp:
- (WTF::expectMD5):
- Fix for checksum change.
- (WTF::MD5::checksum):
- Take a reference to output, instead of returning the result by value, to reduce coping for performance.
- * wtf/MD5.h:
-
-2010-05-09 Oliver Hunt <oliver@apple.com>
-
- Build fix.
-
- Fix accidental repeat addition of emit_op_new_regexp
-
- * jit/JITOpcodes.cpp:
-
-2010-05-09 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- REGRESSION(r57955): RegExp literals should not actually be cached, so r57955 should be rolled out.
- https://bugs.webkit.org/show_bug.cgi?id=38828
- <rdar://problem/7961634>
-
- Rollout r57955
-
- * bytecode/CodeBlock.cpp:
- (JSC::regexpToSourceString):
- (JSC::regexpName):
- (JSC::CodeBlock::dump):
- (JSC::CodeBlock::shrinkToFit):
- * bytecode/CodeBlock.h:
- (JSC::CodeBlock::addRegExp):
- (JSC::CodeBlock::regexp):
- * bytecode/Opcode.h:
- * bytecompiler/BytecodeGenerator.cpp:
- (JSC::BytecodeGenerator::addRegExp):
- (JSC::BytecodeGenerator::emitNewRegExp):
- * bytecompiler/BytecodeGenerator.h:
- * bytecompiler/NodesCodegen.cpp:
- (JSC::RegExpNode::emitBytecode):
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::privateExecute):
- * jit/JIT.cpp:
- (JSC::JIT::privateCompileMainPass):
- * jit/JIT.h:
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_new_regexp):
- * jit/JITStubs.cpp:
- (JSC::DEFINE_STUB_FUNCTION):
- * jit/JITStubs.h:
- (JSC::):
-
-2010-05-09 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Reserve a large-ish initial capacity for Lexer::m_buffer16.
-
- SunSpider says 0.3% faster.
-
- m_buffer16 is used when parsing complex strings -- for example, strings
- with escape sequences in them. These kinds of strings can be really long,
- and we want to avoid repeatedly copying as we grow m_buffer16.
-
- The net memory cost is quite low, since it's proporitional to source
- code we already have in memory, and we throw away m_buffer16 right when
- we're done parsing.
-
- * parser/Lexer.cpp:
- (JSC::Lexer::Lexer): No need to reserve initial capacity in our constructor,
- since setCode will be called before we're asked to lex anything.
- (JSC::Lexer::setCode): Reserve enough space to lex half the source code
- as a complex string without having to copy.
- (JSC::Lexer::clear): No need to reserve initial capacity here either,
- since setCode will be called before we're asked to lex anything.
-
-2010-05-09 Laszlo Gombos <laszlo.1.gombos@nokia.com>
- Reviewed by Eric Seidel.
-
- [Qt] Remove YARR configuration rules from Qt make system
- https://bugs.webkit.org/show_bug.cgi?id=38819
-
- Setting YARR based on JIT seeting is now in Platform.h
- for all ports. This patch essentially reverses r49238.
-
- * JavaScriptCore.pri:
-
-2010-05-09 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Improve string indexing performance
- https://bugs.webkit.org/show_bug.cgi?id=38814
-
- Add an assembly stub to do indexed loads from strings much
- more cheaply than the current stub dispatch logic. We can
- do this because we are able to make guarantees about the
- register contents when entering the stub so the call overhead
- is negligible.
-
- * jit/JIT.h:
- * jit/JITInlineMethods.h:
- * jit/JITOpcodes.cpp:
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::stringGetByValStubGenerator):
- (JSC::JIT::emitSlow_op_get_by_val):
- Moved from JITOpcodes.cpp to keep the slowcase next to
- the normal case codegen as we do for everything else.
- * jit/JITPropertyAccess32_64.cpp:
- (JSC::JIT::stringGetByValStubGenerator):
- (JSC::JIT::emitSlow_op_get_by_val):
- * jit/JSInterfaceJIT.h:
- (JSC::JSInterfaceJIT::emitFastArithImmToInt):
-
-2010-05-09 Maciej Stachowiak <mjs@apple.com>
-
- Fixed version of: "Optimized o[s] where o is a cell and s is a string"
- https://bugs.webkit.org/show_bug.cgi?id=38815
-
- Fixed the previous patch for this from Geoff Garen.
-
- The two problems were a missing exception check and a PropertySlot
- initialized improperly, leading to crashes and failures in the case
- of getters accessed with bracket syntax.
+2010-05-28 Geoffrey Garen <ggaren@apple.com>
- Previous patch:
+ Reviewed by Sam Weinig, Gavin Barraclough, Oliver Hunt.
- Optimized o[s] where o is a cell and s is a string, removing some old
- code that wasn't really tuned for the JIT.
+ Simplified the host calling convention.
- SunSpider says 0.8% faster.
-
- * jit/JITStubs.cpp:
- (JSC::DEFINE_STUB_FUNCTION):
- * runtime/JSCell.h:
-
-2010-05-08 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Unreviewed, build fix.
-
- Fix missing terminating ' character warning
-
- The warning has been only seen on the Gtk buildbots.
-
- * wtf/Platform.h:
-
-2010-05-08 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Gavin Barraclough.
-
- Refactor YARR and YARR_JIT default rules in Platform.h
- https://bugs.webkit.org/show_bug.cgi?id=38727
-
- Turn on YARR and YARR JIT by default of JIT is enabled.
- Ports can overrule this default decisions as they wish.
-
- * wtf/Platform.h:
-
-2010-05-08 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Split JSVALUE32_64 code out of JITOpcodes.cpp and into JITOpcodes32_64.cpp
- https://bugs.webkit.org/show_bug.cgi?id=38808
-
- * GNUmakefile.am:
- * JavaScriptCore.gypi:
- * JavaScriptCore.pro:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * jit/JITOpcodes.cpp:
- * jit/JITOpcodes32_64.cpp: Added.
- (JSC::JIT::privateCompileCTIMachineTrampolines):
- (JSC::JIT::emit_op_mov):
- (JSC::JIT::emit_op_end):
- (JSC::JIT::emit_op_jmp):
- (JSC::JIT::emit_op_loop_if_lesseq):
- (JSC::JIT::emitSlow_op_loop_if_lesseq):
- (JSC::JIT::emit_op_new_object):
- (JSC::JIT::emit_op_instanceof):
- (JSC::JIT::emitSlow_op_instanceof):
- (JSC::JIT::emit_op_new_func):
- (JSC::JIT::emit_op_get_global_var):
- (JSC::JIT::emit_op_put_global_var):
- (JSC::JIT::emit_op_get_scoped_var):
- (JSC::JIT::emit_op_put_scoped_var):
- (JSC::JIT::emit_op_tear_off_activation):
- (JSC::JIT::emit_op_tear_off_arguments):
- (JSC::JIT::emit_op_new_array):
- (JSC::JIT::emit_op_resolve):
- (JSC::JIT::emit_op_to_primitive):
- (JSC::JIT::emitSlow_op_to_primitive):
- (JSC::JIT::emit_op_strcat):
- (JSC::JIT::emit_op_resolve_base):
- (JSC::JIT::emit_op_resolve_skip):
- (JSC::JIT::emit_op_resolve_global):
- (JSC::JIT::emitSlow_op_resolve_global):
- (JSC::JIT::emit_op_not):
- (JSC::JIT::emitSlow_op_not):
- (JSC::JIT::emit_op_jfalse):
- (JSC::JIT::emitSlow_op_jfalse):
- (JSC::JIT::emit_op_jtrue):
- (JSC::JIT::emitSlow_op_jtrue):
- (JSC::JIT::emit_op_jeq_null):
- (JSC::JIT::emit_op_jneq_null):
- (JSC::JIT::emit_op_jneq_ptr):
- (JSC::JIT::emit_op_jsr):
- (JSC::JIT::emit_op_sret):
- (JSC::JIT::emit_op_eq):
- (JSC::JIT::emitSlow_op_eq):
- (JSC::JIT::emit_op_neq):
- (JSC::JIT::emitSlow_op_neq):
- (JSC::JIT::compileOpStrictEq):
- (JSC::JIT::emit_op_stricteq):
- (JSC::JIT::emitSlow_op_stricteq):
- (JSC::JIT::emit_op_nstricteq):
- (JSC::JIT::emitSlow_op_nstricteq):
- (JSC::JIT::emit_op_eq_null):
- (JSC::JIT::emit_op_neq_null):
- (JSC::JIT::emit_op_resolve_with_base):
- (JSC::JIT::emit_op_new_func_exp):
- (JSC::JIT::emit_op_throw):
- (JSC::JIT::emit_op_get_pnames):
- (JSC::JIT::emit_op_next_pname):
- (JSC::JIT::emit_op_push_scope):
- (JSC::JIT::emit_op_pop_scope):
- (JSC::JIT::emit_op_to_jsnumber):
- (JSC::JIT::emitSlow_op_to_jsnumber):
- (JSC::JIT::emit_op_push_new_scope):
- (JSC::JIT::emit_op_catch):
- (JSC::JIT::emit_op_jmp_scopes):
- (JSC::JIT::emit_op_switch_imm):
- (JSC::JIT::emit_op_switch_char):
- (JSC::JIT::emit_op_switch_string):
- (JSC::JIT::emit_op_new_error):
- (JSC::JIT::emit_op_debug):
- (JSC::JIT::emit_op_enter):
- (JSC::JIT::emit_op_enter_with_activation):
- (JSC::JIT::emit_op_create_arguments):
- (JSC::JIT::emit_op_init_arguments):
- (JSC::JIT::emit_op_convert_this):
- (JSC::JIT::emitSlow_op_convert_this):
- (JSC::JIT::emit_op_profile_will_call):
- (JSC::JIT::emit_op_profile_did_call):
-
-2010-05-08 Gabor Loki <loki@webkit.org>
-
- Reviewed by Gavin Barraclough.
-
- Fix halfword loads on ARM
- https://bugs.webkit.org/show_bug.cgi?id=38741
-
- The BaseIndex and ImplicitAddress are contain 32bit wide offset, but
- the load16 functions were working with 8 bit data (encoded in the
- instruction). If the offset cannot be encoded in an instruction, it
- should be stored in a temporary register.
-
- * assembler/ARMAssembler.h:
- (JSC::ARMAssembler::getOffsetForHalfwordDataTransfer):
- * assembler/MacroAssemblerARM.h:
- (JSC::MacroAssemblerARM::load16):
-
-2010-05-08 Gabor Loki <loki@webkit.org>
-
- Reviewed by Gavin Barraclough.
-
- Fix spanning branch instruction on Cortex-A8 with Thumb-2 JIT
- https://bugs.webkit.org/show_bug.cgi?id=38280
-
- If the 32-bit Thumb-2 branch instruction spans two 4KiB regions and
- the target of the branch falls within the first region it is
- possible for the processor to incorrectly determine the branch
- instruction, and it is also possible in some cases for the processor
- to enter a deadlock state.
-
- * assembler/ARMv7Assembler.h:
- (JSC::ARMv7Assembler::linkJumpAbsolute):
-
-2010-05-08 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Fisher.
-
- [WTFURL] Add a buffer for managing the output of the canonicalizer
- https://bugs.webkit.org/show_bug.cgi?id=38671
-
- The canonicalizer produces a stream of canonicalized characters, which
- we will store in a URLBuffer. URLBuffer is quite similar to Vector,
- but serves as an abstraction to isolate us from the underlying
- character storage. In the case of WebKit, we'll probably implement a
- subclass of URLBuffer with Vector. In Chromium, the backing store is a
- std::string, which avoids an unnecessary memcpy that would be caused by
- using Vector instead.
-
- * wtf/url/src/URLBuffer.h: Added.
- (WTF::URLBuffer::URLBuffer):
- (WTF::URLBuffer::~URLBuffer):
- (WTF::URLBuffer::at):
- (WTF::URLBuffer::set):
- (WTF::URLBuffer::capacity):
- (WTF::URLBuffer::length):
- (WTF::URLBuffer::data):
- (WTF::URLBuffer::setLength):
- (WTF::URLBuffer::append):
- (WTF::URLBuffer::grow):
-
-2010-05-08 Eric Seidel <eric@webkit.org>
-
- Unreviewed, just reverting commit.
-
- REGRESSION(59000): r59000 contained all sorts of changes it should not have, needs revert.
- https://bugs.webkit.org/show_bug.cgi?id=38798
-
- * bytecompiler/BytecodeGenerator.cpp:
- (JSC::BytecodeGenerator::emitResolve):
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_resolve_global):
-
-2010-05-04 Jer Noble <jer.noble@apple.com>
-
- Reviewed by Maciej Stachowiak
-
- Safari pegs CPU and drops tons of frames using HTML5 Vimeo player
- <https://bugs.webkit.org/show_bug.cgi?id=34005>
- <rdar://problem/7569713>
+ 22.5% speedup on 32-bit host function calls. 9.5% speedup on 64-bit host
+ function calls.
- Added cancelCallOnMainThread. callOnMainThread should always now be paired
- with cancelCallOnMainThread in situations where the refcon passed to callOnMainThread
- may be dealloced before the main thread function can be dispatched.
+ No change on SunSpider.
- * wtf/MainThread.cpp:
- (WTF::FunctionWithContext::operator == ): Supports the FunctionWithContextFinder predicate functor.
- (WTF::FunctionWithContextFinder::FunctionWithContextFinder): Predicate functor for use with Dequeue::findIf
- (WTF::FunctionWithContextFinder::operator()):
- (WTF::cancelCallOnMainThread):
- * wtf/MainThread.h:
-
-2010-05-07 Oliver Hunt <oliver@apple.com>
-
- Windows build fix.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-05-07 Eric Seidel <eric@webkit.org>
+ All JS calls (but not constructs, yet) now go through the normal JS
+ calling convention via the RegisterFile. As a result, the host calling
+ convention, which used to be this
- Unreviewed, rolling out r58990.
- http://trac.webkit.org/changeset/58990
-
- Broke 4 tests on Snow Leopard and Qt.
-
- * jit/JITStubs.cpp:
- (JSC::DEFINE_STUB_FUNCTION):
- * runtime/JSCell.h:
-
-2010-05-07 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Optimize access to the global object from a function that uses eval
- https://bugs.webkit.org/show_bug.cgi?id=38644
-
- Fix bug where cross scope access to a global var (vs. property) would
- be allowed without checking for intervening dynamic scopes.
-
- * bytecompiler/BytecodeGenerator.cpp:
- (JSC::BytecodeGenerator::emitResolve):
-
-2010-05-07 Oliver Hunt <oliver@apple.com>
-
- 32-bit buildfix.
-
- Macro expansion I stab at thee!
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_resolve_global):
-
-2010-05-07 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler.
+ JSValue (JSC_HOST_CALL *NativeFunction)(ExecState*, JSObject*, JSValue thisValue, const ArgList&)
+
+ is now this
- Optimized o[s] where o is a cell and s is a string, removing some old
- code that wasn't really tuned for the JIT.
+ JSValue (JSC_HOST_CALL *NativeFunction)(ExecState*)
+
+ Callee, 'this', and argument access all hapen relative to the ExecState*,
+ which is a pointer into the RegisterFile.
- SunSpider says 0.8% faster.
-
- * jit/JITStubs.cpp:
- (JSC::DEFINE_STUB_FUNCTION):
- * runtime/JSCell.h:
-
-2010-05-07 Oliver Hunt <oliver@apple.com>
-
- Windows build fix.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-05-07 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Geoffrey Garen.
-
- Optimize access to the global object from a function that uses eval
- https://bugs.webkit.org/show_bug.cgi?id=38644
-
- Add op_resolve_global_dynamic, a variant of op_resolve_global that
- checks each node in the scope chain for dynamically inserted properties
- and falls back to the normal resolve logic in that case.
-
- * JavaScriptCore.exp:
- * bytecode/CodeBlock.cpp:
- (JSC::isGlobalResolve):
- (JSC::CodeBlock::printStructures):
- (JSC::CodeBlock::dump):
- (JSC::CodeBlock::derefStructures):
- * bytecode/Opcode.h:
- * bytecompiler/BytecodeGenerator.cpp:
- (JSC::BytecodeGenerator::findScopedProperty):
- Now take an additional reference parameter to used to indicate that
- there were nodes that may gain dynamic properties
- (JSC::BytecodeGenerator::emitResolve):
- (JSC::BytecodeGenerator::emitResolveBase):
- (JSC::BytecodeGenerator::emitResolveWithBase):
- deal with additional argument to findScopedProperty
- * bytecompiler/BytecodeGenerator.h:
- * bytecompiler/NodesCodegen.cpp:
- (JSC::FunctionCallResolveNode::emitBytecode):
- (JSC::PostfixResolveNode::emitBytecode):
- (JSC::PrefixResolveNode::emitBytecode):
- (JSC::ReadModifyResolveNode::emitBytecode):
- (JSC::AssignResolveNode::emitBytecode):
- These functions use findScopedProperty directly in order to
- optimise lookup. They cannot trivially handle any degree of
- dynamism in the lookup so we just give up in such case.
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::resolveGlobalDynamic):
- (JSC::Interpreter::execute):
- (JSC::Interpreter::privateExecute):
- * interpreter/Interpreter.h:
- * jit/JIT.cpp:
- (JSC::JIT::privateCompileMainPass):
- (JSC::JIT::privateCompileSlowCases):
- * jit/JIT.h:
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_resolve_global):
- (JSC::JIT::emit_op_resolve_global_dynamic):
- (JSC::JIT::emitSlow_op_resolve_global):
- (JSC::JIT::emitSlow_op_resolve_global_dynamic):
- Happily resolve_global_dynamic can share the slow case!
- * jit/JITStubs.h:
- (JSC::):
- * runtime/JSActivation.cpp:
- (JSC::JSActivation::isDynamicScope):
- * runtime/JSActivation.h:
- * runtime/JSGlobalObject.cpp:
- (JSC::JSGlobalObject::isDynamicScope):
- * runtime/JSGlobalObject.h:
- * runtime/JSStaticScopeObject.cpp:
- (JSC::JSStaticScopeObject::isDynamicScope):
- * runtime/JSStaticScopeObject.h:
- * runtime/JSVariableObject.h:
-
-2010-05-07 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Fixed Sputnik failure seen on buildbot.
-
- * runtime/NumberPrototype.cpp:
- (JSC::numberProtoFuncToString): Cast to unsigned before checking magnitude,
- to efficiently exclude negative numbers, which require two characters
- instead of one.
-
-2010-05-07 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Alexey Proskuryakov.
+ This patch comes in two parts.
- Slightly more effective way to guarantee a compile-time constant, at
- least on gcc.
-
- * runtime/NumberPrototype.cpp:
- (JSC::numberProtoFuncToString): Use pointer notation instead of array
- notation, so the compiler treats the string and its contents as constant.
-
-2010-05-07 Adam Barth <abarth@webkit.org>
-
- Reviewed by Alexey Proskuryakov.
-
- [WTFURL] Add core URL parser
- https://bugs.webkit.org/show_bug.cgi?id=38572
-
- This patch adds the core of the URL parser. The URL parser uses a
- templated notion of a code unit to support different string types.
- Later we'll add some non-templated APIs with concrete types that
- clients can use more conveniently.
-
- The URLParser has a couple calls to ASSERT(), which I've commented out
- for now. I'm not 100% sure how to handle the dependency issues there
- yet, so I've punted on the issue for now.
-
- Also, there are a number of methods that are declared public in this
- patch that are only used by the canonicalizer. My plan is to make
- those private or protected and make the canonicalizer a friend of the
- parser. The details will be in a later patch.
-
- * wtf/url/src/URLComponent.h:
- (WTF::URLComponent::fromRange):
- (WTF::URLComponent::isNonEmpty):
- (WTF::URLComponent::isEmptyOrInvalid):
- * wtf/url/src/URLParser.h: Added.
- (WTF::URLParser::):
- (WTF::URLParser::isPossibleAuthorityTerminator):
- (WTF::URLParser::parseAuthority):
- (WTF::URLParser::extractScheme):
- (WTF::URLParser::parseAfterScheme):
- (WTF::URLParser::parseStandardURL):
- (WTF::URLParser::parsePath):
- (WTF::URLParser::parsePathURL):
- (WTF::URLParser::parseMailtoURL):
- (WTF::URLParser::parsePort):
- (WTF::URLParser::extractFileName):
- (WTF::URLParser::extractQueryKeyValue):
- (WTF::URLParser::isURLSlash):
- (WTF::URLParser::shouldTrimFromURL):
- (WTF::URLParser::trimURL):
- (WTF::URLParser::consecutiveSlashes):
- (WTF::URLParser::isPortDigit):
- (WTF::URLParser::nextAuthorityTerminator):
- (WTF::URLParser::parseUserInfo):
- (WTF::URLParser::parseServerInfo):
-
-2010-05-07 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Added a fast path for number-to-character conversion via
- Number.prototype.toString base 36.
+ PART ONE: Functional code changes.
- 0.7% speedup on SunSpider.
-
- * runtime/NumberPrototype.cpp:
- (JSC::numberProtoFuncToString): Made radix interpretation a little more
- efficient by keeping it in int space. Turned "const char" into
- "static const char" just in case. Added a fast path for base 36
- conversion of something that will turn into a character.
-
-2010-05-07 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Fisher.
-
- [WTFURL] Add a malloc-backed URLBuffer
- https://bugs.webkit.org/show_bug.cgi?id=38694
-
- This patch adds a URLBuffer that uses new/delete to manage the backing
- store for the buffer.
-
- * wtf/url/src/RawURLBuffer.h: Added.
- (WTF::RawURLBuffer::RawURLBuffer):
- (WTF::RawURLBuffer::~RawURLBuffer):
- (WTF::RawURLBuffer::resize):
-
-2010-05-06 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by Alexey Proskuryakov.
-
- JavaScriptCore/wtf/RandomNumber.h should provide using WTF::*
- https://bugs.webkit.org/show_bug.cgi?id=38719
-
- * wtf/RandomNumber.h:
- Add using directives.
-
-2010-05-06 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Enable YARR_JIT for X86 Mac for QtWebKit
- https://bugs.webkit.org/show_bug.cgi?id=38668
-
- * wtf/Platform.h:
-
-2010-05-06 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Geoff Garen.
-
- Bug 38714 - Add result caching for Math.sin
-
- Math.sin is frequently called with the same operand, caching the result should
- improve performance. CachedTranscendentalFunction adds a generic mechanism to
- cache results for pure functions with the signature "double func(double)", and
- where NaN maps to NaN.
-
- CachedTranscendentalFunction uses a very simple hash function designed to be
- fast to execute since we cannot cache the result, and trivial to JIT generate,
- should we wish to do so.
-
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * runtime/CachedTranscendentalFunction.h: Added.
- (JSC::CachedTranscendentalFunction::CachedTranscendentalFunction):
- (JSC::CachedTranscendentalFunction::~CachedTranscendentalFunction):
- (JSC::CachedTranscendentalFunction::operator()):
- (JSC::CachedTranscendentalFunction::initialize):
- (JSC::CachedTranscendentalFunction::hash):
- * runtime/JSGlobalData.h:
- * runtime/MathObject.cpp:
- (JSC::mathProtoFuncSin):
- * wtf/Platform.h:
-
-2010-05-06 Geoffrey Garen <ggaren@apple.com>
-
- Windows build fix.
-
- * bytecode/SamplingTool.cpp:
- (JSC::SamplingFlags::sample): Use a cast, so Windows will be happy when
- this code is enabled.
- * wtf/Platform.h: Reverted last change to this file, which seems to have
- been accidental.
-
-2010-05-06 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Add compile switch to make debugger keyword plant breakpoint instructions.
-
- * bytecompiler/BytecodeGenerator.cpp:
- (JSC::BytecodeGenerator::emitDebugHook):
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_debug):
- * wtf/Platform.h:
-
-2010-05-06 Oliver Hunt <oliver@apple.com>
-
- Build fix
-
- Fix ARM builds
-
- * assembler/MacroAssemblerARM.h:
- (JSC::MacroAssemblerARM::load16):
- * assembler/MacroAssemblerARMv7.h:
- (JSC::MacroAssemblerARMv7::load16):
-
-2010-05-06 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Geoffrey Garen.
-
- Improve performance of single character string compares
- https://bugs.webkit.org/show_bug.cgi?id=38659
-
- Add logic to the jit to identify comparisons to single character string literals
- and then just perform the comparison inline, rather than ignoring the evidence
- and attempting to perform an integer comparison.
-
- Multiple changes required -- add jnlesseq opcode, add helper function to identify
- single character string constants, add a helper to load single character strings.
- Then add the 32_64 and normal codepaths to the JIT.
-
- * assembler/MacroAssemblerX86Common.h:
- (JSC::MacroAssemblerX86Common::load16):
- * bytecode/CodeBlock.cpp:
- (JSC::CodeBlock::dump):
- * bytecode/Opcode.h:
- * bytecompiler/BytecodeGenerator.cpp:
- (JSC::BytecodeGenerator::emitJumpIfTrue):
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::privateExecute):
- * jit/JIT.cpp:
- (JSC::JIT::privateCompileMainPass):
- (JSC::JIT::privateCompileSlowCases):
- * jit/JIT.h:
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_jnless):
- (JSC::JIT::emitSlow_op_jnless):
- (JSC::JIT::emit_op_jless):
- (JSC::JIT::emitSlow_op_jless):
- (JSC::JIT::emit_op_jlesseq):
- (JSC::JIT::emit_op_jnlesseq):
- (JSC::JIT::emitSlow_op_jlesseq):
- (JSC::JIT::emitSlow_op_jnlesseq):
- * jit/JITArithmetic32_64.cpp:
- (JSC::JIT::emit_op_jnless):
- (JSC::JIT::emitSlow_op_jnless):
- (JSC::JIT::emit_op_jless):
- (JSC::JIT::emitSlow_op_jless):
- (JSC::JIT::emit_op_jlesseq):
- (JSC::JIT::emit_op_jnlesseq):
- (JSC::JIT::emitSlow_op_jlesseq):
- (JSC::JIT::emitSlow_op_jnlesseq):
- (JSC::JIT::emitBinaryDoubleOp):
- * jit/JITInlineMethods.h:
- (JSC::JIT::emitLoadCharacterString):
- (JSC::JIT::isOperandConstantImmediateChar):
- * jit/JSInterfaceJIT.h:
- (JSC::ThunkHelpers::stringImplDataOffset):
- (JSC::ThunkHelpers::jsStringLengthOffset):
- (JSC::ThunkHelpers::jsStringValueOffset):
- Moved from ThunkGenerators to make it possible to share.
- * jit/ThunkGenerators.cpp:
-
-2010-05-06 Martin Robinson <mrobinson@webkit.org>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GTK] Enable DOM clipboard and drag-and-drop access
- https://bugs.webkit.org/show_bug.cgi?id=30623
-
- Convert dragging portion of drag-and-drop to use DataObjectGtk.
-
- * wtf/gobject/GRefPtr.h: Add forward declarations for GObject functions.
-
-2010-05-06 Steve Block <steveblock@google.com>
-
- Reviewed by Eric Seidel.
-
- MAC_JAVA_BRIDGE should be renamed JAVA_BRIDGE
- https://bugs.webkit.org/show_bug.cgi?id=38544
-
- * wtf/Platform.h:
-
-2010-05-06 Adam Barth <abarth@webkit.org>
-
- Reviewed by Maciej Stachowiak.
-
- [WTFURL] Add a class to represent the segments of a URL
- https://bugs.webkit.org/show_bug.cgi?id=38566
-
- When paired with a string, this class represents a parsed URL.
-
- * wtf/url/src/URLSegments.cpp: Added.
- (WTF::URLSegments::length):
- (WTF::URLSegments::charactersBefore):
- * wtf/url/src/URLSegments.h: Added.
- (WTF::URLSegments::):
- (WTF::URLSegments::URLSegments):
- * wtf/url/wtfurl.gyp:
-
-2010-05-05 Tony Gentilcore <tonyg@chromium.org>
-
- Reviewed by Adam Barth.
-
- Adding comment with link to RefPtr documentation.
- https://bugs.webkit.org/show_bug.cgi?id=38601
-
- * wtf/RefPtr.h:
-
-2010-05-05 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Darin Adler.
-
- Bug 38604 - workers-gc2 crashing on Qt
-
- This appears to be due to a couple of issues.
- (1) When the atomic string table is deleted it does not clear the 'inTable' bit
- on AtomicStrings - it implicitly assumes that all AtomicStrings have already
- been deleted at this point (otherwise they will crash in their destructor when
- they try to remove themselves from the atomic string table).
- (2) We don't fix the ordering in which WTF::WTFThreadData and
- WebCore::ThreadGlobalData are destructed.
-
- We should make sure that ThreadGlobalData is cleaned up before worker threads
- terminate and WTF::WTFThreadData is destroyed, and we should clear the inTable
- bit of members on atomic string table destruction.
-
- WTF changes (fix issue 1, above) - ensure inTable property is cleared when the
- atomic string table is destroyed (also, rename InTable to IsAtomic, to make it
- clear which table we are refering to!)
-
- * wtf/text/AtomicString.cpp:
- (WebCore::AtomicStringTable::destroy):
- (WebCore::CStringTranslator::translate):
- (WebCore::UCharBufferTranslator::translate):
- (WebCore::HashAndCharactersTranslator::translate):
- (WebCore::AtomicString::add):
- * wtf/text/StringImpl.cpp:
- (WebCore::StringImpl::~StringImpl):
- * wtf/text/StringImpl.h:
- (WebCore::StringImpl::isAtomic):
- (WebCore::StringImpl::setIsAtomic):
- * wtf/text/StringImplBase.h:
-
-2010-05-05 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Geoffrey Garen.
-
- Make Array.join specialised for actual arrays
- https://bugs.webkit.org/show_bug.cgi?id=38592
-
- Bring Array.join in line with the other array methods by specialising for
- this === an array.
-
- * runtime/ArrayPrototype.cpp:
- (JSC::arrayProtoFuncJoin):
-
-2010-05-04 Yongjun Zhang <yongjun_zhang@apple.com>
-
- Reviewed by Darin Adler.
-
- WebKit crashes at DebuggerCallFrame::functionName() if m_callFrame is the top global callframe.
- https://bugs.webkit.org/show_bug.cgi?id=38535
-
- Don't call asFunction if callee is not a FunctionType to prevent assertion failure
- in JSCell::isObject().
+ * wtf/Platform.h: Disabled optimized calls on platforms I didn't test.
+ We can re-enable once we verify that host calls on these platforms are
+ correct.
* debugger/DebuggerCallFrame.cpp:
(JSC::DebuggerCallFrame::functionName):
- (JSC::DebuggerCallFrame::calculatedFunctionName):
-
-2010-05-04 Steve Falkenburg <sfalken@apple.com>
-
- Remove redundant exports to fix Windows build warnings.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-05-04 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Holger Freyther.
-
- Fix a memory leak inside the QScriptValue.
-
- QSciptValuePrivate::toString should release all temporary variables.
-
- [Qt] QScriptValue::toString have a memory leak.
- https://bugs.webkit.org/show_bug.cgi?id=38112
-
- * qt/api/qscriptvalue_p.h:
- (QScriptValuePrivate::toString):
-
-2010-05-04 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Darin Adler.
-
- Does not work on SPARC because of alignment issues
- https://bugs.webkit.org/show_bug.cgi?id=38455
-
- Use AllocAlignmentInteger instead of void* on pageheap_memory to
- avoid crashing at runtime in some architectures. Investigated by
- Mike Hommey <mh@glandium.org>, change suggested by Darin Adler.
-
- * wtf/FastMalloc.cpp:
-
-2010-05-04 Adam Barth <abarth@webkit.org>
-
- Reviewed by Maciej Stachowiak.
-
- Add first WTFURL file
- https://bugs.webkit.org/show_bug.cgi?id=38470
-
- This class represents a component of a URL, such as the scheme or path.
- Essentially, the class is an index into a string buffer.
-
- * wtf/url: Added.
- - There was some discussion about where to put the URL library.
- There are a number of reasonable options, but putting the library
- in the WTF directory seems like a reasonable alternative. This
- location will make more sense once WTF is moved out of
- JavaScriptCore and into a top-level directory.
- * wtf/url/src: Added.
- - I've added this extra directory to the usual structure because we
- eventually want a "public" folder that defines the public
- interface to this library that clients outside of svn.webkit.org
- can rely upon, much like the various subfolders of the WebKit
- directory often define a public API.
- * wtf/url/src/URLComponent.h: Added.
- - I've added this somewhat trivial class to get the ball rolling.
- (WTF::URLComponent::URLComponent):
- (WTF::URLComponent::isValid):
- (WTF::URLComponent::isNonempty):
- (WTF::URLComponent::reset):
- (WTF::URLComponent::operator==):
- (WTF::URLComponent::begin):
- (WTF::URLComponent::setBegin):
- (WTF::URLComponent::length):
- (WTF::URLComponent::setLength):
- (WTF::URLComponent::end):
- * wtf/url/wtfurl.gyp: Added.
- - WTFURL will be an independently buildable library, hence the
- beginnings of a wtfurl.gyp file.
-
-2010-05-03 Stephanie Lewis <slewis@apple.com>
-
- Reviewed by Geoff Garen.
-
- https://bugs.webkit.org/show_bug.cgi?id=38368
- <rdar://problem/7834433> REGRESSSION: 1.5% PLT regression due to 56028
- (return memory quicker).
- Instead of returning everything but the smallest spans spread out
- the spans kept over several size lists.
-
- * wtf/FastMalloc.cpp:
- (WTF::TCMalloc_PageHeap::scavenge):
-
-2010-05-03 James Robinson <jamesr@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Clean up a few compiler warnings
- https://bugs.webkit.org/show_bug.cgi?id=38073
-
- * wtf/text/StringImpl.cpp:
- (WebCore::StringImpl::ascii):
-
-2010-05-03 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (reverting previous commit).
-
- Rolling out r58114 - this introduced memory leaks of
- AtomicStrings then workers terminated.
-
- * GNUmakefile.am:
- * JavaScriptCore.gypi:
- * JavaScriptCore.vcproj/WTF/WTF.vcproj:
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * jit/ThunkGenerators.cpp:
- (JSC::ThunkHelpers::stringImplDataOffset):
- * runtime/Identifier.cpp:
- (JSC::IdentifierTable::~IdentifierTable):
- (JSC::IdentifierTable::add):
- (JSC::IdentifierCStringTranslator::hash):
- (JSC::IdentifierCStringTranslator::equal):
- (JSC::IdentifierCStringTranslator::translate):
- (JSC::Identifier::add):
- (JSC::IdentifierUCharBufferTranslator::hash):
- (JSC::IdentifierUCharBufferTranslator::equal):
- (JSC::IdentifierUCharBufferTranslator::translate):
- (JSC::Identifier::addSlowCase):
- * runtime/Identifier.h:
- * runtime/JSGlobalData.cpp:
- (JSC::JSGlobalData::JSGlobalData):
- (JSC::JSGlobalData::~JSGlobalData):
- * runtime/JSGlobalData.h:
- * wtf/WTFThreadData.cpp:
- (WTF::WTFThreadData::WTFThreadData):
- (WTF::WTFThreadData::~WTFThreadData):
- * wtf/WTFThreadData.h:
- (JSC::IdentifierTable::remove):
- (JSC::IdentifierTable::literalTable):
- (WTF::WTFThreadData::atomicStringTable):
- * wtf/text/AtomicString.cpp:
- (WebCore::AtomicStringTable::create):
- (WebCore::AtomicStringTable::table):
- (WebCore::AtomicStringTable::destroy):
- (WebCore::stringTable):
- (WebCore::CStringTranslator::hash):
- (WebCore::CStringTranslator::equal):
- (WebCore::CStringTranslator::translate):
- (WebCore::operator==):
- (WebCore::AtomicString::add):
- (WebCore::equal):
- (WebCore::UCharBufferTranslator::hash):
- (WebCore::UCharBufferTranslator::equal):
- (WebCore::UCharBufferTranslator::translate):
- (WebCore::HashAndCharactersTranslator::hash):
- (WebCore::HashAndCharactersTranslator::equal):
- (WebCore::HashAndCharactersTranslator::translate):
- (WebCore::AtomicString::find):
- (WebCore::AtomicString::remove):
- * wtf/text/AtomicStringTable.h: Removed.
- * wtf/text/StringImpl.cpp:
- (WebCore::StringImpl::~StringImpl):
- * wtf/text/StringImpl.h:
- (WebCore::StringImpl::inTable):
- (WebCore::StringImpl::setInTable):
- (WebCore::equal):
- * wtf/text/StringImplBase.h:
- (WTF::StringImplBase::StringImplBase):
-
-2010-05-03 Kevin Watters <kevinwatters@gmail.com>
-
- Reviewed by Kevin Ollivier.
-
- [wx] Implement scheduleDispatchFunctionsOnMainThread for wx port.
- https://bugs.webkit.org/show_bug.cgi?id=38480
-
- * wtf/wx/MainThreadWx.cpp:
- (wxCallAfter::wxCallAfter):
- (wxCallAfter::OnCallback):
- (WTF::scheduleDispatchFunctionsOnMainThread):
-
-2010-05-03 Kevin Watters <kevinwatters@gmail.com>
-
- Reviewed by Kevin Ollivier.
-
- [wx] Build and use Mac's ComplexTextController to support complex text in wx.
- https://bugs.webkit.org/show_bug.cgi?id=38482
-
- * wtf/Platform.h:
-
-2010-05-03 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Interpreter crashes due to incorrect refcounting of cached structures.
- https://bugs.webkit.org/show_bug.cgi?id=38491
- rdar://problem/7926160
-
- Make sure we ref/deref structures used for cached custom property getters
-
- * bytecode/CodeBlock.cpp:
- (JSC::CodeBlock::derefStructures):
- (JSC::CodeBlock::refStructures):
-
-2010-05-02 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Eric Seidel.
-
- [Qt] Enable JIT for QtWebKit on Symbian
- https://bugs.webkit.org/show_bug.cgi?id=38339
-
- JIT on Symbian has been stable for quite some time, it
- is time to turn it on by default.
-
- * wtf/Platform.h:
-
-2010-04-29 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Add codegen support for unsigned right shift
- https://bugs.webkit.org/show_bug.cgi?id=38375
-
- Expose unsigned right shift in the macro assembler, and make use of it
- from the jit. Currently if the result is outside the range 0..2^31-1
- we simply fall back to the slow case, even in JSVALUE64 and JSVALUE32_64
- where technically we could still return an immediate value.
-
- * assembler/MacroAssemblerARM.h:
- (JSC::MacroAssemblerARM::urshift32):
- * assembler/MacroAssemblerARMv7.h:
- (JSC::MacroAssemblerARMv7::urshift32):
- * assembler/MacroAssemblerX86Common.h:
- (JSC::MacroAssemblerX86Common::urshift32):
- * assembler/X86Assembler.h:
- (JSC::X86Assembler::):
- (JSC::X86Assembler::shrl_i8r):
- (JSC::X86Assembler::shrl_CLr):
- Add unsigned right shift to the x86 assembler
- * jit/JIT.cpp:
- (JSC::JIT::privateCompileMainPass):
- (JSC::JIT::privateCompileSlowCases):
- op_rshift no longer simply get thrown to a stub function
- * jit/JIT.h:
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_urshift):
- (JSC::JIT::emitSlow_op_urshift):
- JSVALUE32 and JSVALUE64 implementation. Only supports
- double lhs in JSVALUE64.
- * jit/JITArithmetic32_64.cpp:
- (JSC::JIT::emit_op_rshift):
- (JSC::JIT::emitSlow_op_rshift):
- (JSC::JIT::emit_op_urshift):
- (JSC::JIT::emitSlow_op_urshift):
- Refactor right shift code to have shared implementation between signed
- and unsigned versions.
-
-2010-04-29 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Handle double on righthand side of a right shift
- https://bugs.webkit.org/show_bug.cgi?id=38363
-
- In 64-bit we support right shift of a double, and there's no
- reason not to in 32-bit either. This is a 1.1% sunspider
- improvement in 32bit.
-
- Given high performance javascript code frequently makes
- use of bit operators to perform double->int conversion i'll
- follow this patch up with similar patches for bitwise 'and'
- and 'or'.
-
- * jit/JITArithmetic32_64.cpp:
- (JSC::JIT::emit_op_rshift):
- (JSC::JIT::emitSlow_op_rshift):
-
-2010-04-29 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Geoff Garen.
-
- Hoist JSVALUE32_64 arithmetic implementations into a separate file.
-
- * GNUmakefile.am:
- * JavaScriptCore.gypi:
- * JavaScriptCore.pro:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emitSlow_op_jnless):
- (JSC::JIT::emitSlow_op_jless):
- (JSC::JIT::emitSlow_op_jnlesseq):
- (JSC::JIT::emit_op_mod):
- (JSC::JIT::compileBinaryArithOpSlowCase):
- (JSC::JIT::emit_op_div):
- (JSC::JIT::compileBinaryArithOp):
- * jit/JITArithmetic32_64.cpp: Added.
- (JSC::JIT::emit_op_negate):
- (JSC::JIT::emitSlow_op_negate):
- (JSC::JIT::emit_op_jnless):
- (JSC::JIT::emitSlow_op_jnless):
- (JSC::JIT::emit_op_jless):
- (JSC::JIT::emitSlow_op_jless):
- (JSC::JIT::emit_op_jnlesseq):
- (JSC::JIT::emitSlow_op_jnlesseq):
- (JSC::JIT::emit_op_lshift):
- (JSC::JIT::emitSlow_op_lshift):
- (JSC::JIT::emit_op_rshift):
- (JSC::JIT::emitSlow_op_rshift):
- (JSC::JIT::emit_op_bitand):
- (JSC::JIT::emitSlow_op_bitand):
- (JSC::JIT::emit_op_bitor):
- (JSC::JIT::emitSlow_op_bitor):
- (JSC::JIT::emit_op_bitxor):
- (JSC::JIT::emitSlow_op_bitxor):
- (JSC::JIT::emit_op_bitnot):
- (JSC::JIT::emitSlow_op_bitnot):
- (JSC::JIT::emit_op_post_inc):
- (JSC::JIT::emitSlow_op_post_inc):
- (JSC::JIT::emit_op_post_dec):
- (JSC::JIT::emitSlow_op_post_dec):
- (JSC::JIT::emit_op_pre_inc):
- (JSC::JIT::emitSlow_op_pre_inc):
- (JSC::JIT::emit_op_pre_dec):
- (JSC::JIT::emitSlow_op_pre_dec):
- (JSC::JIT::emit_op_add):
- (JSC::JIT::emitAdd32Constant):
- (JSC::JIT::emitSlow_op_add):
- (JSC::JIT::emit_op_sub):
- (JSC::JIT::emitSub32Constant):
- (JSC::JIT::emitSlow_op_sub):
- (JSC::JIT::emitBinaryDoubleOp):
- (JSC::JIT::emit_op_mul):
- (JSC::JIT::emitSlow_op_mul):
- (JSC::JIT::emit_op_div):
- (JSC::JIT::emitSlow_op_div):
- (JSC::JIT::emit_op_mod):
- (JSC::JIT::emitSlow_op_mod):
-
-2010-04-29 Zoltan Herczeg <zherczeg@webkit.org>
-
- Reviewed by Oliver Hunt
-
- Add sqrt() instruction support for ARM assembler (using VFP)
- https://bugs.webkit.org/show_bug.cgi?id=38312
-
- * assembler/ARMAssembler.h:
- (JSC::ARMAssembler::):
- (JSC::ARMAssembler::fsqrtd_r):
- * assembler/MacroAssemblerARM.h:
- (JSC::MacroAssemblerARM::supportsFloatingPointSqrt):
- (JSC::MacroAssemblerARM::sqrtDouble):
-
-2010-04-29 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Refactor qtscriptglobal.h
- https://bugs.webkit.org/show_bug.cgi?id=37953
-
- Use the same pattern in qtscriptglobal.h as in
- qwebkitglobal.h without checking for specific OSs.
-
- * qt/api/qtscriptglobal.h:
-
-2010-04-29 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Small cleanup.
-
- QScriptValuePrivate constructor shouldn't take QScriptEngine pointer
- as a parameter, because it breaks a private / public separation rule.
- QScriptEnginePrivate::get(QScriptEngine*) should return
- a QScriptEnginePrivate pointer instead of a QScriptEnginePtr, it simplifies
- implementation.
-
- [Qt] QScriptValuePrivate class needs some cleanup.
- https://bugs.webkit.org/show_bug.cgi?id=37729
-
- * qt/api/qscriptengine_p.h:
- (QScriptEnginePrivate::get):
- * qt/api/qscriptvalue.cpp:
- (QScriptValue::QScriptValue):
- * qt/api/qscriptvalue_p.h:
- (QScriptValuePrivate::QScriptValuePrivate):
-
-2010-04-29 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Simon Hausmann.
-
- [WINCE] Export g_stackBase with JS_EXPORTDATA
- https://bugs.webkit.org/show_bug.cgi?id=37437
-
- Export g_stackBase with JS_EXPORTDATA as it is used by SharedTimerWince.cpp.
-
- * runtime/Collector.cpp:
-
-2010-04-28 Oliver Hunt <oliver@apple.com>
-
- Do an unordered compare so that we don't treat NaN incorrectly.
-
- RS=Gavin Barraclough
-
- * jit/ThunkGenerators.cpp:
- (JSC::powThunkGenerator):
-
-2010-04-28 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Add fast paths for Math.pow and Math.sqrt
- https://bugs.webkit.org/show_bug.cgi?id=38294
-
- Add specialized thunks for Math.pow and Math.sqrt.
- This requires adding a sqrtDouble function to the MacroAssembler
- and sqrtsd to the x86 assembler.
-
- Math.pow is slightly more complicated, in that we have
- to implement exponentiation ourselves rather than relying
- on hardware support. The inline exponentiation is restricted
- to positive integer exponents on a numeric base. Exponentiation
- is finally performed through the "Exponentiation by Squaring"
- algorithm.
-
- * assembler/AbstractMacroAssembler.h:
- (JSC::AbstractMacroAssembler::ImmPtr::ImmPtr):
- * assembler/MacroAssemblerARM.h:
- (JSC::MacroAssemblerARM::supportsFloatingPointSqrt):
- (JSC::MacroAssemblerARM::loadDouble):
- (JSC::MacroAssemblerARM::sqrtDouble):
- * assembler/MacroAssemblerARMv7.h:
- (JSC::MacroAssemblerARMv7::supportsFloatingPointSqrt):
- (JSC::MacroAssemblerARMv7::sqrtDouble):
- * assembler/MacroAssemblerX86.h:
- (JSC::MacroAssemblerX86::loadDouble):
- (JSC::MacroAssemblerX86::supportsFloatingPointSqrt):
- * assembler/MacroAssemblerX86Common.h:
- (JSC::MacroAssemblerX86Common::sqrtDouble):
- * assembler/MacroAssemblerX86_64.h:
- (JSC::MacroAssemblerX86_64::loadDouble):
- (JSC::MacroAssemblerX86_64::supportsFloatingPointSqrt):
- * assembler/X86Assembler.h:
- (JSC::X86Assembler::):
- (JSC::X86Assembler::movsd_mr):
- (JSC::X86Assembler::sqrtsd_rr):
- (JSC::X86Assembler::X86InstructionFormatter::twoByteOp):
- (JSC::X86Assembler::X86InstructionFormatter::memoryModRM):
- * create_hash_table:
- * jit/JIT.h:
- * jit/JITInlineMethods.h:
- * jit/JITOpcodes.cpp:
- * jit/JITStubs.h:
- (JSC::JITThunks::ctiNativeCallThunk):
- * jit/JSInterfaceJIT.h:
- (JSC::JSInterfaceJIT::emitLoadDouble):
- (JSC::JSInterfaceJIT::emitJumpIfImmediateNumber):
- (JSC::JSInterfaceJIT::emitJumpIfNotImmediateNumber):
- (JSC::JSInterfaceJIT::emitLoadInt32):
- * jit/SpecializedThunkJIT.h:
- (JSC::SpecializedThunkJIT::loadDoubleArgument):
- (JSC::SpecializedThunkJIT::loadInt32Argument):
- (JSC::SpecializedThunkJIT::returnJSValue):
- (JSC::SpecializedThunkJIT::returnDouble):
- (JSC::SpecializedThunkJIT::finalize):
- * jit/ThunkGenerators.cpp:
- (JSC::sqrtThunkGenerator):
- (JSC::powThunkGenerator):
- * jit/ThunkGenerators.h:
- * runtime/Executable.h:
- (JSC::NativeExecutable::NativeExecutable):
- * runtime/JSFunction.cpp:
- (JSC::JSFunction::JSFunction):
-
-2010-04-28 Mike Thole <mthole@apple.com>
-
- Reviewed by Mark Rowe.
-
- Reenable WTF_USE_PROTECTION_SPACE_AUTH_CALLBACK now that an
- exports file for it has been added.
-
- * wtf/Platform.h:
-
-2010-04-28 Mike Thole <mthole@apple.com>
-
- Build fix, not reviewed.
-
- * wtf/Platform.h:
- Disable WTF_USE_PROTECTION_SPACE_AUTH_CALLBACK until an exports file is created.
-
-2010-04-28 Mike Thole <mthole@apple.com>
-
- Reviewed by David Kilzer.
-
- Add canAuthenticateAgainstProtectionSpace() to frame loader so that a protection space
- can be inspected before attempting to authenticate against it
- https://bugs.webkit.org/show_bug.cgi?id=38271
-
- * wtf/Platform.h: Add WTF_USE_PROTECTION_SPACE_AUTH_CALLBACK define.
-
-2010-04-28 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- Don't use CFAbsoluteTimeGetCurrent on Mac OS X, since it's just a cover
- for gettimeofday anyway.
-
- * wtf/CurrentTime.cpp:
- (WTF::currentTime): Remove the CF version of this. Change the "other POSIX"
- version to pass 0 for the time zone instead of ignoring a return value.
- Also get rid of unneeded type casts, since operations involving both
- integers and doubles are always evaluated as doubles in C without explicit
- type casting.
-
-2010-04-28 Darin Fisher <darin@chromium.org>
-
- Reviewed by David Levin.
-
- [Chromium] callOnMainThread should equate to MessageLoop::PostTask
- https://bugs.webkit.org/show_bug.cgi?id=38276
-
- * JavaScriptCore.gyp/JavaScriptCore.gyp:
- * wtf/MainThread.cpp:
- * wtf/chromium/ChromiumThreading.h:
- * wtf/chromium/MainThreadChromium.cpp:
- (WTF::initializeMainThread):
- (WTF::callOnMainThread):
- (WTF::callOnMainThreadAndWait):
- (WTF::setMainThreadCallbacksPaused):
- (WTF::isMainThread):
-
-2010-04-28 Simon Hausmann <simon.hausmann@nokia.com>, Kent Hansen <kent.hansen@nokia.com>
-
- Reviewed by Darin Adler.
-
- JSC's currentThreadStackBase is not reentrant on some platforms
- https://bugs.webkit.org/show_bug.cgi?id=37195
-
- This function needs to be reentrant to avoid memory corruption on platforms where
- the implementation uses global variables.
-
- This patch adds a mutex lock where necessary and makes the Symbian implementation
- reentrant.
-
- * runtime/Collector.cpp:
- (JSC::currentThreadStackBaseMutex):
- (JSC::currentThreadStackBase):
-
-2010-04-28 Thiago Macieira <thiago.macieira@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Fix compilation with gcc 3.4.
-
- AtomicStringImpl.h:29: error: base `WebCore::StringImpl' with only
- non-default constructor in class without a constructor
-
- * wtf/text/AtomicStringImpl.h:
- (WebCore::AtomicStringImpl::AtomicStringImpl): Provide a default constructor.
- * wtf/text/StringImpl.h: Allow AtomicStringImpl to call a StringImpl constructor through a friend declaration.
-
-2010-04-27 Stephanie Lewis <slewis@apple.com>
-
- Fix Tiger build.
-
- * wtf/FastMalloc.cpp:
- (WTF::TCMalloc_PageHeap::Carve):
-
-2010-04-26 Stephanie Lewis <slewis@apple.com>
-
- Reviewed by Geoff Garen.
-
- https://bugs.webkit.org/show_bug.cgi?id=38154 FastMalloc calls madvise too often.
- <rdar://problem/7834433> REGRESSSION: 1.5% PLT regression due to 56028 (return memory quicker).
- To save on madvise calls when recommitting memory recommit the entire span and then carve it
- instead of carving the span up and only committing the part that will be used immediately.
-
- * wtf/FastMalloc.cpp:
- (WTF::TCMalloc_PageHeap::New):
- (WTF::TCMalloc_PageHeap::AllocLarge):
- (WTF::TCMalloc_PageHeap::Carve):
-
-2010-04-26 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Add specialized thunks for a char code related string functions
- https://bugs.webkit.org/show_bug.cgi?id=38177
-
- This is a simple extension to my prior patch. Basically hoist the
- existing character loading logic from the charCodeAt thunk and into
- a helper function, then add a helper to load strings from the small
- string cache. This allows trivial implementations of fromCharCode
- and charAt.
-
- * create_hash_table:
- * jit/SpecializedThunkJIT.h:
- (JSC::SpecializedThunkJIT::returnJSCell):
- (JSC::SpecializedThunkJIT::tagReturnAsJSCell):
- * jit/ThunkGenerators.cpp:
- (JSC::stringCharLoad):
- (JSC::charToString):
- (JSC::charCodeAtThunkGenerator):
- (JSC::charAtThunkGenerator):
- (JSC::fromCharCodeThunkGenerator):
- * jit/ThunkGenerators.h:
- * runtime/SmallStrings.h:
- (JSC::SmallStrings::singleCharacterStrings):
- * runtime/StringConstructor.cpp:
- (JSC::StringConstructor::StringConstructor):
-
-2010-04-27 Thomas Zander <t.zander@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix the build on Symbian on Linux using the Makefile based mkspec
-
- * JavaScriptCore.pri: It is necessary to specify the library search path
- when linking against JavaScriptCore.
-
-2010-04-21 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Compile fix for Visual Studio 2010
- https://bugs.webkit.org/show_bug.cgi?id=37867
-
- Patch by Prasanth Ullattil <prasanth.ullattil@nokia.com>
-
- * runtime/Structure.cpp:
- (JSC::Structure::transitionTableAdd):
- * wtf/MathExtras.h:
- * wtf/Platform.h:
-
-2010-04-27 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Rename COMPILER(MSVC7) to COMPILER(MSVC7_OR_LOWER)
-
- * config.h:
- (JSC::Structure::transitionTableAdd):
- * wtf/Assertions.h:
- * wtf/Atomics.h:
- * wtf/CurrentTime.h:
- (WTF::getLocalTime):
- * wtf/Platform.h:
- * wtf/StaticConstructors.h:
- * wtf/StringExtras.h:
- * wtf/Vector.h:
- (WTF::::append):
-
-2010-04-15 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Fix Mac build break.
-
- https://bugs.webkit.org/show_bug.cgi?id=37867
- - Make sure JavaScriptCore's debug_and_release config follows that
- of WebCore.
- - Use different name for JavaScriptCore target in debug and release
- since they might be written in the same path at the same time on
- parallel builds
- - Consolidate the DESTDIR determination logic in JavaScriptCore.pri
-
- * JavaScriptCore.pri:
- * JavaScriptCore.pro:
-
-2010-04-21 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Make sure WebKit is not compiled using C++0x.
- https://bugs.webkit.org/show_bug.cgi?id=37867
-
- As the rest of Qt compiles in the C++0x mode, people might start
- compiling it in this mode. WebKit don't support this yet.
-
- Patch by Thiago Macieira <thiago.macieira@nokia.com>
-
- * JavaScriptCore.pro:
-
-2010-04-26 Oliver Hunt <oliver@apple.com>
-
- Fix windows
-
- * jit/SpecializedThunkJIT.h:
- (JSC::SpecializedThunkJIT::argumentToVirtualRegister):
-
-2010-04-26 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Need to support more efficient dispatch of lightweight builtins
- https://bugs.webkit.org/show_bug.cgi?id=38155
-
- The problem with calling lightweight builtins is that marshalling
- the call from the nitro calling convention to the system calling
- convention is very expensive relative to the cost of the actually
- evaluating the function. To work around this problem this patch
- adds the ability to define a custom thunk for a builtin.
-
- This allows us to use high performance custom implementations of
- the common and sensible versions of simple builtins. This patch
- includes a simple (use of which is currently hardcoded) thunk for
- charCodeAt.
-
- This adds a JSInterfaceJIT subclass called SpecializedThunkJIT
- that has helper functions to remove (or at least reduce) the need
- to have separate thunk implementations for each JSValue encoding.
-
- * GNUmakefile.am:
- * JavaScriptCore.pro:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
- * JavaScriptCore.xcodeproj/project.pbxproj:
- Many project file updates
-
- * create_hash_table:
- Add thunk generation callbacks to the hash tables, currently
- we hardcode the script to only support charCodeAt
-
- * jit/JITStubCall.h:
- * jit/JITStubs.cpp:
- (JSC::JITThunks::~JITThunks):
- (JSC::JITThunks::specializedThunk):
- * jit/JITStubs.h:
- * jit/SpecializedThunkJIT.h: Added.
- (JSC::SpecializedThunkJIT::SpecializedThunkJIT):
- (JSC::SpecializedThunkJIT::loadCellArgument):
- (JSC::SpecializedThunkJIT::loadJSStringArgument):
- (JSC::SpecializedThunkJIT::loadInt32Argument):
- (JSC::SpecializedThunkJIT::appendFailure):
- (JSC::SpecializedThunkJIT::returnInt32):
- (JSC::SpecializedThunkJIT::finalize):
- (JSC::SpecializedThunkJIT::argumentToVirtualRegister):
- (JSC::SpecializedThunkJIT::tagReturnAsInt32):
- * jit/ThunkGenerators.cpp: Added.
- (JSC::ThunkHelpers::stringImplDataOffset):
- (JSC::ThunkHelpers::jsStringLengthOffset):
- (JSC::ThunkHelpers::jsStringValueOffset):
- (JSC::charCodeAtThunkGenerator):
- * jit/ThunkGenerators.h: Added.
- * runtime/Executable.h:
- (JSC::NativeExecutable::NativeExecutable):
- * runtime/JSFunction.cpp:
- (JSC::JSFunction::JSFunction):
- * runtime/JSFunction.h:
- * runtime/JSGlobalData.h:
- (JSC::JSGlobalData::getThunk):
- * runtime/JSString.h:
- (JSC::):
- * runtime/JSValue.h:
- Protect some of the JSVALUE32 and JSVALUE32_64 only constants
- and function behind appropriate USE() guards to make it harder
- to use the wrong flags for the target build.
- * runtime/Lookup.cpp:
- (JSC::HashTable::createTable):
- (JSC::setUpStaticFunctionSlot):
- * runtime/Lookup.h:
- (JSC::HashEntry::initialize):
- (JSC::HashEntry::generator):
- (JSC::HashEntry::):
- Make the lookup tables use a specialized thunkGenerator
- if present
- * wtf/text/StringImpl.h:
-
-2010-04-26 Oliver Hunt <oliver@apple.com>
-
- Build fix
-
- * runtime/JSImmediate.h:
- * runtime/JSValue.h:
-
-2010-04-26 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Factor some basic JS interface logic out of JIT and into a superclass
- https://bugs.webkit.org/show_bug.cgi?id=38163
-
- Create JSInterfaceJIT to hold some common low level functions for
- interacting with the JS RegisterFile. Doing this separately from
- https://bugs.webkit.org/show_bug.cgi?id=38155 to ease reviewing.
-
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * jit/JIT.h:
- * jit/JITInlineMethods.h:
- (JSC::JIT::emitJumpSlowCaseIfNotJSCell):
- * jit/JSInterfaceJIT.h: Added.
- (JSC::JSInterfaceJIT::emitLoadJSCell):
- (JSC::JSInterfaceJIT::emitJumpIfNotJSCell):
- (JSC::JSInterfaceJIT::emitLoadInt32):
- (JSC::JSInterfaceJIT::tagFor):
- (JSC::JSInterfaceJIT::payloadFor):
- (JSC::JSInterfaceJIT::addressFor):
-
-2010-04-26 Sam Weinig <sam@webkit.org>
-
- Fix Tiger build.
-
- * wtf/mac/MainThreadMac.mm:
- (WTF::isMainThread):
-
-2010-04-26 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- <rdar://problem/7766413>
-
- Fixed a crash seen when using the JavaScriptCore API with WebKit.
-
- No layout test because DumpRenderTree doesn't use the JavaScriptCore API
- in this way.
-
- * interpreter/RegisterFile.cpp:
- (JSC::RegisterFile::setGlobalObject):
- (JSC::RegisterFile::clearGlobalObject):
- (JSC::RegisterFile::globalObject):
- * interpreter/RegisterFile.h:
- (JSC::RegisterFile::RegisterFile): Use WeakGCPtr for managing m_globalObject,
- since it's a weak pointer. (We never noticed this error before because,
- in WebKit, global objects always have a self-reference in a global variable,
- so marking the register file's global variables would keep m_globalObject
- alive. In the JavaScriptCore API, you can allocate a global object with
- no self-reference.)
-
- * runtime/JSActivation.h: Removed unneeded #include.
-
- * runtime/JSGlobalObject.cpp:
- (JSC::JSGlobalObject::~JSGlobalObject): Don't use ==, since a weak
- pointer is 0 when the object it points to runs its destructor.
-
- * runtime/WeakGCPtr.h:
- (JSC::WeakGCPtr::clear): Changed to return a bool indicating whether the
- clear actually happened.
- (JSC::WeakGCPtr::assign): Changed to forbid assignment of 0 as a shorthand
- for calling clear(). A client should never clear by assigning 0, since
- clear() should be conditional on whether the object doing the clearing
- is still pointed to by the weak pointer. (Otherwise, a zombie object might
- clear a pointer to a new, valid object.)
-
-2010-04-25 Sam Weinig <sam@webkit.org>
-
- Reviewed by Maciej Stachowiak.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=38097
- Disentangle initializing the main thread from initializing threading
-
- This is the first step in getting rid of the WEB_THREAD #define and
- paving the way to allowing mac both WebKit and WebKit2 to use the same
- WebCore.
-
- * JavaScriptCore.exp: Export initializeMainThread and initializeMainThreadToProcessMainThread.
- * JavaScriptCore.xcodeproj/project.pbxproj: Sort files.
-
- * wtf/MainThread.cpp:
- (WTF::mainThreadInitializationMutex):
- (WTF::mainThreadFunctionQueueMutex):
- (WTF::initializeMainThread):
- (WTF::deprecatedInitializeMainThread):
- * wtf/MainThread.h:
- Added Mac only initializeMainThreadToProcessMainThread which sets up callOnMainThread
- and isMainThead calls to assume that WebCore's main thread is also the
- process's main thread. Since it is possible that both initializeMainThread
- and initializeMainThreadToProcessMainThread could be called, the first one called
- wins (either will work).
-
- * wtf/Threading.h: Moved to top of file.
-
- * wtf/ThreadingPthreads.cpp:
- (WTF::initializeThreading): Remove call to initializeMainThread.
- * wtf/ThreadingWin.cpp:
- (WTF::initializeThreading): Ditto.
- * wtf/gtk/ThreadingGtk.cpp:
- (WTF::initializeThreading): Ditto.
-
- * wtf/mac/MainThreadMac.mm:
- (WTF::initializeMainThreadPlatform):
- (WTF::initializeMainThreadToProcessMainThread):
- (WTF::scheduleDispatchFunctionsOnMainThread):
- (WTF::isMainThread):
- Add runtime switch between the old behavior of using the system's main
- thread and a stored pointer to the main thread. Tiger always uses the
- system's main thread.
-
- * wtf/qt/ThreadingQt.cpp:
- (WTF::initializeThreading): Remove call to initializeMainThread.
- * wtf/win/MainThreadWin.cpp:
- (WTF::initializeMainThreadPlatform): Add call to initializeCurrentThreadInternal
- removed from initializeThreading.
-
-2010-04-26 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Fix a memory leak in the QScriptString.
-
- QScriptStringPrivate's constructor shouldn't call JSStringRetain as
- QScriptConverter implicitly pass a JSStringRef ownership.
-
- [Qt] QScriptStringPrivate c'tor problem
- https://bugs.webkit.org/show_bug.cgi?id=38110
-
- * qt/api/qscriptstring_p.h:
- (QScriptStringPrivate::QScriptStringPrivate):
-
-2010-04-24 Darin Adler <darin@apple.com>
-
- Reviewed by Dan Bernstein.
-
- REGRESSION (r56560): Crash in parseFloat if passed invalid UTF-16 data
- https://bugs.webkit.org/show_bug.cgi?id=38083
- rdar://problem/7901044
-
- Tests: fast/js/ToNumber.html
- fast/js/parseFloat.html
-
- * runtime/JSGlobalObjectFunctions.cpp:
- (JSC::parseInt): Added a FIXME comment about a problem I noticed.
- (JSC::parseFloat): Added a FIXME comment about a problem I noticed;
- covered by test cases in the test I added.
- * runtime/UString.cpp:
- (JSC::UString::toDouble): Added FIXME comments about two problems I
- noticed; covered by test cases in the tests I added. Added a return
- statement so we don't crash when illegal UTF-16 sequences are present.
-
-2010-04-24 Anton Muhin <antonm@chromium.org>
-
- Reviewed by Darin Adler.
-
- Allow to construct HashTraits<WebCore::QualifiedName>::constructDeletedValue
-
- Former implementation attempted to use AtomicString(HashTableDeletedValue)
- however those values cannot be used that way: one cannot construct
- QualifiedNameImpl out of such AtomicString as we'll try to lookup this string
- in the table, for example.
- https://bugs.webkit.org/show_bug.cgi?id=37722
-
- * wtf/RefPtr.h: expose hash table deleted value
-
-2010-04-23 Sam Weinig <sam@webkit.org>
-
- Reviewed by David Levin.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=38060
- Split up Threading.h
-
- Move bits for of Threading.h into 3 new files.
- - Atomics.h for atomic operations.
- - ThreadSafeShared.h for the ThreadSafeShared class.
- - ThreadingPrimitives.h for the primitives and platform types.
-
- Basic threading operations (creation, etc.) remain in Threading.h.
-
- * GNUmakefile.am:
- * JavaScriptCore.gypi:
- * JavaScriptCore.vcproj/WTF/WTF.vcproj:
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * wtf/Atomics.h: Copied from wtf/Threading.h.
- * wtf/ThreadSafeShared.h: Copied from wtf/Threading.h.
- * wtf/Threading.h:
- * wtf/ThreadingPrimitives.h: Copied from wtf/Threading.h.
-
-2010-04-23 Sam Weinig <sam@webkit.org>
-
- Fix Qt build.
-
- * wtf/qt/MainThreadQt.cpp: #include <QThread>
-
-2010-04-22 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=38022
- Move isMainThread predicate function to MainThread.h
-
- * wtf/MainThread.cpp:
- (WTF::initializeMainThread):
- (WTF::isMainThread):
- * wtf/MainThread.h:
- * wtf/Threading.h:
- * wtf/ThreadingPthreads.cpp:
- (WTF::initializeThreading):
- * wtf/ThreadingWin.cpp:
- (WTF::initializeThreading):
- * wtf/gtk/ThreadingGtk.cpp:
- (WTF::initializeThreading):
- * wtf/mac/MainThreadMac.mm:
- (WTF::initializeMainThreadPlatform):
- (WTF::isMainThread):
- * wtf/qt/MainThreadQt.cpp:
- (WTF::isMainThread):
- * wtf/qt/ThreadingQt.cpp:
- (WTF::initializeThreading):
- * wtf/text/AtomicString.cpp:
-
-2010-04-23 Gabor Rapcsanyi <rgabor@inf.u-szeged.hu>
-
- Reviewed by Laszlo Gombos.
-
- Add RVCT support for Linux
-
- Developed in cooperation with Gabor Loki.
-
- * API/JSStringRef.h:
- * jit/ExecutableAllocator.h:
- * jit/ExecutableAllocatorPosix.cpp:
- (JSC::ExecutableAllocator::cacheFlush):
- * jit/JITStubs.cpp:
- * wtf/MathExtras.h:
- * wtf/unicode/qt4/UnicodeQt4.h:
-
-2010-04-23 Patrick Gansterer <paroga@paroga.com>
-
- Reviewed by Laszlo Gombos.
-
- [WIN] Move OwnPtrWin.cpp into platform specific folder.
- https://bugs.webkit.org/show_bug.cgi?id=38042
-
- * JavaScriptCore.gypi:
- * JavaScriptCore.vcproj/WTF/WTF.vcproj:
- * wtf/OwnPtrWin.cpp: Removed.
- * wtf/win/OwnPtrWin.cpp: Copied from JavaScriptCore/wtf/OwnPtrWin.cpp.
-
-2010-04-23 Patrick Gansterer <paroga@paroga.com>
-
- Reviewed by Laszlo Gombos.
-
- [BREWMP] Move OwnPtrBrew.cpp into platform specific folder.
- https://bugs.webkit.org/show_bug.cgi?id=38042
-
- * wtf/OwnPtrBrew.cpp: Removed.
- * wtf/brew/OwnPtrBrew.cpp: Copied from JavaScriptCore/wtf/OwnPtrBrew.cpp.
-
-2010-04-22 Steve Block <steveblock@google.com>
-
- Reviewed by Adam Barth.
-
- Update Android to use isfinite, isinf, isnan and signbit from namespace std.
- https://bugs.webkit.org/show_bug.cgi?id=37948
-
- * wtf/MathExtras.h:
-
-2010-04-22 Fumitoshi Ukai <ukai@chromium.org>
-
- Unreviewed build fix.
-
- * wtf/MD5.cpp: fix include path of CString.h
-
-2010-04-22 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by Adam Barth.
-
- MD5 is required for WebSocket new protocol implementation
- https://bugs.webkit.org/show_bug.cgi?id=37913
-
- * GNUmakefile.am:
- * JavaScriptCore.exp:
- * JavaScriptCore.gypi:
- * JavaScriptCore.pro:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/WTF/WTF.vcproj:
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * wtf/MD5.cpp: Added.
- * wtf/MD5.h: Added.
-
-2010-04-22 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (build fix).
- Errk, accidentally committed commenting out two ASSERTs! reverting.
-
- * runtime/Collector.cpp:
- (JSC::Heap::protect):
- (JSC::Heap::unprotect):
-
-2010-04-22 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Geoff Garen.
-
- https://bugs.webkit.org/show_bug.cgi?id=38006
- Change lifetime of JSC::IdentifierTables used by WebCores to match AtomicStringTable
-
- Presently JSC's IdentifierTables are owned by the JSGlobalData. For
- JSGlobalData objects created via the API this should continue to be the case,
- but for the JSGlobalData objects used by WebCore (the main thread's common
- global data, and those for workers) use a IdentifierTable provided (and owned)
- by wtfThreadData. This allow the lifetime of these IdentifierTable to match
- those of the corresponding AtomicStringTables.
-
- * API/APIShims.h:
- (JSC::APIEntryShim::APIEntryShim):
- * API/JSContextRef.cpp:
- (JSContextGroupCreate):
- * runtime/Collector.cpp:
- (JSC::Heap::protect):
- (JSC::Heap::unprotect):
- (JSC::Heap::markRoots):
- * runtime/JSGlobalData.cpp:
- (JSC::JSGlobalData::JSGlobalData):
- (JSC::JSGlobalData::~JSGlobalData):
- (JSC::JSGlobalData::createContextGroup):
- (JSC::JSGlobalData::create):
- (JSC::JSGlobalData::sharedInstance):
- * runtime/JSGlobalData.h:
- (JSC::JSGlobalData::):
- (JSC::JSGlobalData::isSharedInstance):
- * runtime/JSLock.cpp:
- (JSC::JSLock::JSLock):
- (JSC::JSLock::lock):
- (JSC::JSLock::unlock):
- (JSC::JSLock::DropAllLocks::DropAllLocks):
- * wtf/WTFThreadData.cpp:
- (WTF::WTFThreadData::WTFThreadData):
- (WTF::WTFThreadData::~WTFThreadData):
-
-2010-04-22 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r58110.
- http://trac.webkit.org/changeset/58110
- https://bugs.webkit.org/show_bug.cgi?id=38007
-
- Caused an internal compiler error on Qt (Requested by abarth
- on #webkit).
-
- * wtf/MathExtras.h:
-
-2010-04-22 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (windows build fix).
-
- * API/JSWeakObjectMapRefPrivate.cpp:
-
-2010-04-22 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (windows build fix).
-
- * API/JSBase.cpp:
- * API/JSCallbackObject.cpp:
-
-2010-04-22 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Geoff Garen.
-
- https://bugs.webkit.org/show_bug.cgi?id=37978
- Unify JSC::IdentifierTable and WebCore::AtomicStringTable implementations.
-
- These two classes both implement a HashSet of uniqued StringImpls, with
- translator classes to avoid unnecessary object creation. The only difference
- between the classes is which flag (isIdentifier or inTable) is set.
- Combine the two classes using a template predicated on which flag to use.
-
- New class AtomicStringTable created, containing all the goodness from
- IdentifierTable & AtomicStringTable, expect for Identifier's literalTable,
- which has been moved onto JSGlobalData. Removed duplicate string translator
- classes. Renamed StringImpl's inTable flag to more explicit 'isAtomic',
- and set this on the empty string (which matches Identifier behaviour, and
- removes a redundant check for zero-length).
-
- * GNUmakefile.am:
- * JavaScriptCore.gypi:
- * JavaScriptCore.vcproj/WTF/WTF.vcproj:
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * runtime/Identifier.cpp:
- (JSC::createLiteralTable):
- (JSC::deleteLiteralTable):
- (JSC::Identifier::add):
- (JSC::Identifier::addSlowCase):
- * runtime/Identifier.h:
- * runtime/JSGlobalData.cpp:
- (JSC::JSGlobalData::JSGlobalData):
- (JSC::JSGlobalData::~JSGlobalData):
- * runtime/JSGlobalData.h:
- * wtf/WTFThreadData.cpp:
- (WTF::WTFThreadData::WTFThreadData):
- (WTF::WTFThreadData::~WTFThreadData):
- * wtf/WTFThreadData.h:
- (WTF::WTFThreadData::atomicStringTable):
- * wtf/text/AtomicString.cpp:
- (WebCore::table):
- (WebCore::operator==):
- (WebCore::AtomicString::add):
- (WebCore::AtomicString::find):
- (WebCore::AtomicString::remove):
- * wtf/text/AtomicStringTable.h: Added.
- (WTF::CStringTranslator::hash):
- (WTF::CStringTranslator::equal):
- (WTF::CStringTranslator::translate):
- (WTF::UCharBufferTranslator::hash):
- (WTF::UCharBufferTranslator::equal):
- (WTF::UCharBufferTranslator::translate):
- (WTF::HashAndCharactersTranslator::hash):
- (WTF::HashAndCharactersTranslator::equal):
- (WTF::HashAndCharactersTranslator::translate):
- (WTF::IdentifierOrAtomicStringTable::remove):
- (WTF::::~IdentifierOrAtomicStringTable):
- (WTF::::add):
- (WTF::::find):
- * wtf/text/StringImpl.cpp:
- (WebCore::StringImpl::~StringImpl):
- * wtf/text/StringImpl.h:
- (WebCore::StringImpl::isAtomic):
- (WebCore::StringImpl::setIsAtomic):
- (WebCore::equal):
- * wtf/text/StringImplBase.h:
- (WTF::StringImplBase::StringImplBase):
-
-2010-04-22 Steve Block <steveblock@google.com>
-
- Reviewed by Adam Barth.
-
- Update Android to use isfinite, isinf, isnan and signbit from namespace std.
- https://bugs.webkit.org/show_bug.cgi?id=37948
-
- * wtf/MathExtras.h:
-
-2010-04-22 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Remove dependency of JSC to QtGui
- https://bugs.webkit.org/show_bug.cgi?id=37867
-
- The patch also make sure that hal.h is in the include path on Symbian.
- The dependency to QtGui took care of that before.
-
- Patch by Thiago Macieira <thiago.macieira@nokia.com>
- and Rohan McGovern <rohan.mcgovern@nokia.com>
-
- * JavaScriptCore.pri:
- * JavaScriptCore.pro:
-
-2010-04-22 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Corrects symbols visibility for JavaScriptCore.
-
- https://bugs.webkit.org/show_bug.cgi?id=37867
-
- * JavaScriptCore.pro:
-
-2010-04-22 Gabor Loki <loki@webkit.org>
-
- Reviewed by Gavin Barraclough.
-
- Use BLX and BX to keep happy the return stack predictor above ARMv4
- https://bugs.webkit.org/show_bug.cgi?id=37862
-
- Inspired by Jacob Bramley's patch from JaegerMonkey
-
- * assembler/ARMAssembler.cpp:
- (JSC::ARMAssembler::executableCopy):
- * assembler/ARMAssembler.h:
- (JSC::ARMAssembler::):
- (JSC::ARMAssembler::bx):
- (JSC::ARMAssembler::blx):
- (JSC::ARMAssembler::loadBranchTarget):
- (JSC::ARMAssembler::jmp):
- (JSC::ARMAssembler::getLdrImmAddress):
- * assembler/MacroAssemblerARM.h:
- (JSC::MacroAssemblerARM::jump):
- (JSC::MacroAssemblerARM::nearCall):
- (JSC::MacroAssemblerARM::call):
- (JSC::MacroAssemblerARM::ret):
- (JSC::MacroAssemblerARM::prepareCall):
- (JSC::MacroAssemblerARM::call32):
-
-2010-04-21 Andy Estes <aestes@apple.com>
-
- Rubber stamped by Mark Rowe.
-
- Export WTF::deleteOwnedPtr(HFONT).
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-04-21 Gavin Barraclough <barraclough@apple.com>
-
- Rubber Stamped by Oliver Hunt.
-
- Make SmallStrings store an array of RefPtr<StringImpl>,
- instead of a direct array of StringImpls. This allows
- us to remove a friend (and a layering violation) from
- WTF::StringImpl, and makes it so that all StringImpls
- are individually heap allocated.
-
- * runtime/SmallStrings.cpp:
- (JSC::SmallStringsStorage::rep):
- (JSC::SmallStringsStorage::SmallStringsStorage):
- * wtf/text/StringImpl.h:
-
-2010-04-21 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=37937
- Wean JavaScriptCore off calls to isMainThread()
-
- - Replace use of isMainThread() for interpreter reentry checks
- with a stored value on the JSGlobalData.
- - Replace use of isMainThread() for useMainThread only check in the
- collector with a stored exclusive thread.
-
- * API/JSContextRef.cpp:
- (JSContextGroupCreate):
- Always default to a small stack type for uses of the JSC API. It is
- unlikely that the interpreter reentry required on the web will be as
- important for other uses of JavaScriptCore.
-
- * JavaScriptCore.exp:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- Update exports.
-
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::execute):
- (JSC::Interpreter::prepareForRepeatCall):
- Use new stored JSGlobalData::maxReentryDepth instead of isMainThread().
-
- * interpreter/Interpreter.h:
- Rename MaxMainThreadReentryDepth to MaxLargeThreadReentryDepth and
- MaxSecondaryThreadReentryDepth to MaxSmallThreadReentryDepth.
-
- * jsc.cpp:
- (main): Use the a large stack for jsc since it is always using the
- main thread.
-
- * runtime/ArrayPrototype.cpp:
- (JSC::arrayProtoFuncToString):
- (JSC::arrayProtoFuncToLocaleString):
- (JSC::arrayProtoFuncJoin):
- Use new stored JSGlobalData::maxReentryDepth instead of isMainThread().
-
- * runtime/Collector.cpp:
- (JSC::Heap::registerThread):
- Use the concept of making JSC run on an exclusiveThread instead of
- forcing a mainThreadOnly assertion.
-
- * runtime/JSGlobalData.cpp:
- (JSC::JSGlobalData::JSGlobalData):
- (JSC::JSGlobalData::createNonDefault):
- (JSC::JSGlobalData::create):
- (JSC::JSGlobalData::createLeaked):
- (JSC::JSGlobalData::sharedInstance):
- * runtime/JSGlobalData.h:
- Add ThreadStackType argument to JSGlobalData constructors and set
- maxReentryDepth based on it.
-
-2010-04-21 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (windows build fix pt. 3).
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-04-21 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (windows build fix pt. 2).
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-04-21 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (Qt build fix).
-
- * JavaScriptCore.gypi:
- * JavaScriptCore.pro:
- * wtf/qt/StringQt.cpp: Copied from WebCore/platform/text/qt/StringQt.cpp.
-
-2010-04-21 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (windows build fix).
-
- * API/JSValueRef.cpp:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
- * runtime/Identifier.cpp:
- (JSC::IdentifierTable::~IdentifierTable):
- (JSC::IdentifierTable::add):
- * runtime/Identifier.h:
- * wtf/WTFThreadData.h:
- (JSC::IdentifierTable::remove):
- (JSC::IdentifierTable::literalTable):
- * wtf/text/StringImpl.cpp:
- (WebCore::StringImpl::~StringImpl):
-
-2010-04-20 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt, Darin Adler.
-
- Bug 37906 - Remove JSC::UStringImpl; unify with StringImpl.
-
- JSC::UStringImpl and WebCore::StringImpl (soon to be renamed to
- WTF::StringImpl) are almost identical. Remove duplication of code by unifying
- the two, move missing features from UStringImpl into StringImpl & delete the
- class UStringImpl.
-
- * API/JSClassRef.cpp:
- * API/JSContextRef.cpp:
- * GNUmakefile.am:
- * JavaScriptCore.exp:
- * JavaScriptCore.pro:
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * bytecode/EvalCodeCache.h:
- * bytecode/JumpTable.cpp:
- * profiler/ProfileNode.cpp:
- * runtime/Identifier.cpp:
- (JSC::Identifier::add):
- * runtime/Identifier.h:
- (JSC::Identifier::equal):
- * runtime/UString.cpp:
- * runtime/UString.h:
- (WTF::):
- * runtime/UStringImpl.cpp: Removed.
- * runtime/UStringImpl.h:
- * wtf/text/StringHash.h:
- (WebCore::StringHash::equal):
- (WebCore::CaseFoldingHash::equal):
- * wtf/text/StringImpl.cpp:
- (WebCore::StringImpl::~StringImpl):
- (WebCore::StringImpl::empty):
- (WebCore::StringImpl::sharedBuffer):
- (WebCore::equal):
- * wtf/text/StringImpl.h:
- (WebCore::StringImpl::StringImpl):
- (WebCore::StringImpl::create):
- (WebCore::StringImpl::tryCreateUninitialized):
- (WebCore::StringImpl::cost):
- (WebCore::StringImpl::isIdentifier):
- (WebCore::StringImpl::setIsIdentifier):
- (WebCore::StringImpl::computeHash):
- (WebCore::StringImpl::copyChars):
- (WebCore::StringImpl::):
-
-2010-04-21 Patrick Gansterer <paroga@paroga.com>
-
- Reviewed by Darin Adler.
-
- Added missing #include "Lookup.h" in LUT source files.
- https://bugs.webkit.org/show_bug.cgi?id=37903
-
- * runtime/ArrayPrototype.cpp:
- * runtime/DatePrototype.cpp:
- * runtime/JSONObject.cpp:
- * runtime/MathObject.cpp:
- * runtime/NumberConstructor.cpp:
- * runtime/RegExpConstructor.cpp:
- * runtime/RegExpObject.cpp:
- * runtime/StringPrototype.cpp:
-
-2010-04-21 Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
-
- Reviewed by Nikolas Zimmermann.
-
- Add missing EFL JavaScriptCore file.
- http://webkit.org/b/37854
-
- * wtf/efl: Added.
- * wtf/efl/MainThreadEfl.cpp: Added.
- (WTF::initializeMainThreadPlatform):
- (WTF::timeoutFired):
- (WTF::scheduleDispatchFunctionsOnMainThread):
-
-2010-04-20 Xan Lopez <xlopez@igalia.com>
-
- Another attempt to fix the build.
-
- * GNUmakefile.am:
-
-2010-04-20 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- [ES5] RegExp literals are constants that should be persistent across multiple function calls.
- https://bugs.webkit.org/show_bug.cgi?id=37908
-
- Dump the separate RegExp constant pool, and just use the standard JS constant pool
- in codeblock. This allows us to drop op_new_regexp and all associated code as well.
-
- * bytecode/CodeBlock.cpp:
- (JSC::CodeBlock::dump):
- (JSC::CodeBlock::shrinkToFit):
- * bytecode/CodeBlock.h:
- * bytecode/Opcode.h:
- * bytecompiler/BytecodeGenerator.cpp:
- (JSC::BytecodeGenerator::emitLoad):
- * bytecompiler/BytecodeGenerator.h:
- * bytecompiler/NodesCodegen.cpp:
- (JSC::RegExpNode::emitBytecode):
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::privateExecute):
- * jit/JIT.cpp:
- (JSC::JIT::privateCompileMainPass):
- * jit/JIT.h:
- * jit/JITOpcodes.cpp:
- * jit/JITStubs.cpp:
- * jit/JITStubs.h:
- (JSC::):
-
-2010-04-20 Oliver Hunt <oliver@apple.com>
-
- Fix license on create_regex_tables
-
- * create_regex_tables:
-
-2010-04-20 Oliver Hunt <oliver@apple.com>
-
- Reviewed by NOBODY (Build fix).
-
- Fix gtk
-
- * GNUmakefile.am:
- * make-generated-sources.sh:
-
-2010-04-20 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Bug 37895 - Share common code from UStringImplBase with StringImpl
-
- The implementation of StringImpl & UStringImpl is very similar. Restructure
- StringImpl to match UStringImpl, moving the flags and length into a base class,
- so that this can be shared between both string types to increase code reuse.
-
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * runtime/RopeImpl.h:
- (JSC::RopeImpl::RopeImpl):
- * runtime/UStringImpl.h:
- (JSC::UStringImpl::UStringImpl):
- * wtf/text/StringImpl.h:
- (WebCore::StringImpl::StringImpl):
- (WebCore::StringImpl::characters):
- * wtf/text/StringImplBase.h: Copied from JavaScriptCore/runtime/UStringImpl.h.
- (WTF::StringImplBase::length):
- (WTF::StringImplBase::operator new):
- (WTF::StringImplBase::StringImplBase):
-
-2010-04-20 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Autogenerate yarr character tables
- https://bugs.webkit.org/show_bug.cgi?id=37877
-
- Use a python script to automatically generate character tables
- for the builtin YARR character classes. This allows us to generate
- actual tables as well, by using these tables we can both increase
- performance of the check (for complex builtins) and reduce the actual
- code size.
-
- 4-8% win on string-unpack-code, but lots of noise on other tests so
- i'm only confident saying its a 1% win overall.
-
- * DerivedSources.make:
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * assembler/AbstractMacroAssembler.h:
- (JSC::AbstractMacroAssembler::ExtendedAddress::ExtendedAddress):
- * assembler/MacroAssembler.h:
- (JSC::MacroAssembler::branchTest8):
- * assembler/MacroAssemblerX86Common.h:
- (JSC::MacroAssemblerX86Common::branchTest8):
- * assembler/MacroAssemblerX86_64.h:
- (JSC::MacroAssemblerX86_64::branchTest8):
- * assembler/X86Assembler.h:
- (JSC::X86Assembler::cmpb_im):
- (JSC::X86Assembler::testb_im):
- * bytecode/SamplingTool.cpp:
- (JSC::SamplingTool::dump):
- * create_regex_tables: Added.
- * yarr/RegexCompiler.cpp:
- (JSC::Yarr::CharacterClassConstructor::charClass):
- * yarr/RegexJIT.cpp:
- (JSC::Yarr::RegexGenerator::matchCharacterClass):
- (JSC::Yarr::RegexGenerator::generatePatternCharacterGreedy):
- (JSC::Yarr::RegexGenerator::generatePatternCharacterNonGreedy):
- (JSC::Yarr::RegexGenerator::generateCharacterClassGreedy):
- * yarr/RegexPattern.h:
- (JSC::Yarr::CharacterClassTable::create):
- (JSC::Yarr::CharacterClassTable::CharacterClassTable):
- (JSC::Yarr::CharacterClass::CharacterClass):
-
-2010-04-20 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (speculative windows fix - missed a bit!).
-
- * wtf/text/AtomicString.h:
-
-2010-04-20 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (speculative windows fix).
-
- * wtf/text/AtomicString.h:
-
-2010-04-20 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (windows build fix).
-
- Add missing .def file entries.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-04-20 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Geoff Garen.
-
- Bug 37869 - Move URopeImpl to its own .h/.cpp
-
- Currently Ropes are implemented by the class URopeImpl, which is defined in
- UStringImpl.h, and then typedefed to the name JSString::Rope. Remove the
- typedef, and rename all uses of URopeImpl and JSString::Rope to just RopeImpl.
-
- Move RopeImpl to its own header, and remove all remaining references to ropes
- from UStringImpl (rename UStringOrRopeImpl to UStringImplBase, rename or move
- the isRope & deref methods from UStringOrRopeImpl).
-
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * runtime/JSString.cpp:
- (JSC::JSString::resolveRope):
- * runtime/JSString.h:
- (JSC::):
- (JSC::RopeBuilder::JSString):
- (JSC::RopeBuilder::~JSString):
- (JSC::RopeBuilder::appendStringInConstruct):
- (JSC::RopeBuilder::JSStringFinalizerStruct::):
- * runtime/RopeImpl.cpp: Copied from JavaScriptCore/runtime/UStringImpl.cpp.
- (JSC::RopeImpl::derefFibersNonRecursive):
- (JSC::RopeImpl::destructNonRecursive):
- * runtime/RopeImpl.h: Copied from JavaScriptCore/runtime/UStringImpl.h.
- (JSC::RopeImpl::tryCreateUninitialized):
- (JSC::RopeImpl::isRope):
- (JSC::RopeImpl::deref):
- (JSC::RopeImpl::RopeImpl):
- * runtime/UStringImpl.cpp:
- * runtime/UStringImpl.h:
- (JSC::UStringImplBase::isInvalid):
- (JSC::UStringImplBase::ref):
- (JSC::UStringImplBase::UStringImplBase):
- (JSC::UStringImplBase::):
- (JSC::UStringImpl::UStringImpl):
-
-2010-04-20 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Geoff Garen.
-
- Bug 37828 - Move WebCore's String classes to WTF
-
- Move these classes up to WTF so they are available to all clients of WTF (in
- particular JSC).
-
- As a first patch, making the most minimal change possible, since this patch
- could easily grow rather large since we'll have to change every class forward
- declaration ( e.g. every "namespace WebCore { class String; }" much change to
- "namespace WTF { class String; }").
-
- Moving the files, but leaving the classes logically in the WebCore namespace -
- which is technically a layering violation - I'll come back and fix this up in a
- subsequent patch.
-
- * Android.mk:
- * Android.v8.wtf.mk:
- * GNUmakefile.am:
- * JavaScriptCore.exp:
- * JavaScriptCore.gypi:
- * JavaScriptCore.pro:
- * JavaScriptCore.vcproj/WTF/WTF.vcproj:
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * config.h:
- * wtf/StaticConstructors.h: Copied from WebCore/platform/StaticConstructors.h.
- * wtf/text/AtomicString.cpp: Copied from WebCore/platform/text/AtomicString.cpp.
- * wtf/text/AtomicString.h: Copied from WebCore/platform/text/AtomicString.h.
- * wtf/text/AtomicStringImpl.h: Copied from WebCore/platform/text/AtomicStringImpl.h.
- * wtf/text/StringBuffer.h: Copied from WebCore/platform/text/StringBuffer.h.
- * wtf/text/StringHash.h: Copied from WebCore/platform/text/StringHash.h.
- * wtf/text/StringImpl.cpp: Copied from WebCore/platform/text/StringImpl.cpp.
- * wtf/text/StringImpl.h: Copied from WebCore/platform/text/StringImpl.h.
- * wtf/text/WTFString.cpp: Copied from WebCore/platform/text/String.cpp.
- (WebCore::charactersToFloat):
- * wtf/text/WTFString.h: Copied from WebCore/platform/text/PlatformString.h.
-
-2010-04-20 Csaba Osztrogonác <ossy@webkit.org>
-
- [Qt] Unreviewed speculative buildfix for WinCE after r57882
- https://bugs.webkit.org/show_bug.cgi?id=37701
-
- * JavaScriptCore.pri: missing wince* case added.
-
-2010-04-20 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (build fix).
- Speculative Chromium/Win build fix, attempt #2.
-
- * config.h:
-
-2010-04-20 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (build fix).
- Speculative Chromium/Win build fix.
-
- * config.h: JS_EXPORTDATA should do nothing on !JSC builds.
-
-2010-04-20 Csaba Osztrogonác <ossy@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Target(WebCore,jsc,...) must depends on static library of JavaScriptCore
- https://bugs.webkit.org/show_bug.cgi?id=37701
-
- * JavaScriptCore.pri: dependency added.
-
-2010-04-20 Gavin Barraclough <barraclough@apple.com>
-
- Rubber stamped by Maciej Stachowiak (relanding r57829).
- Added missing JS_EXPORTDATA
-
- * API/APIShims.h:
- (JSC::APIEntryShimWithoutLock::APIEntryShimWithoutLock):
- (JSC::APIEntryShimWithoutLock::~APIEntryShimWithoutLock):
- (JSC::APICallbackShim::APICallbackShim):
- (JSC::APICallbackShim::~APICallbackShim):
- * API/JSContextRef.cpp:
- * Android.mk:
- * Android.v8.wtf.mk:
- * GNUmakefile.am:
- * JavaScriptCore.exp:
- * JavaScriptCore.gypi:
- * JavaScriptCore.pro:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/WTF/WTF.vcproj:
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * runtime/Completion.cpp:
- (JSC::checkSyntax):
- (JSC::evaluate):
- * runtime/Identifier.cpp:
- (JSC::Identifier::remove):
- (JSC::Identifier::checkCurrentIdentifierTable):
- * runtime/Identifier.h:
- * runtime/InitializeThreading.cpp:
- (JSC::initializeThreadingOnce):
- * runtime/JSGlobalData.cpp:
- (JSC::JSGlobalData::create):
- * wtf/WTFThreadData.cpp: Copied from JavaScriptCore/wtf/WTFThreadData.cpp.
- * wtf/WTFThreadData.h: Copied from JavaScriptCore/wtf/WTFThreadData.h.
-
-2010-04-19 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (rolling out r57829).
- This broke windows.
-
- * API/APIShims.h:
- (JSC::APIEntryShimWithoutLock::APIEntryShimWithoutLock):
- (JSC::APIEntryShimWithoutLock::~APIEntryShimWithoutLock):
- (JSC::APICallbackShim::APICallbackShim):
- (JSC::APICallbackShim::~APICallbackShim):
- * API/JSContextRef.cpp:
- * Android.mk:
- * Android.v8.wtf.mk:
- * GNUmakefile.am:
- * JavaScriptCore.exp:
- * JavaScriptCore.gypi:
- * JavaScriptCore.pro:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/WTF/WTF.vcproj:
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * runtime/Completion.cpp:
- (JSC::checkSyntax):
- (JSC::evaluate):
- * runtime/Identifier.cpp:
- (JSC::Identifier::remove):
- (JSC::Identifier::checkCurrentIdentifierTable):
- (JSC::createIdentifierTableSpecificCallback):
- (JSC::createIdentifierTableSpecific):
- * runtime/Identifier.h:
- (JSC::ThreadIdentifierTableData::ThreadIdentifierTableData):
- (JSC::defaultIdentifierTable):
- (JSC::setDefaultIdentifierTable):
- (JSC::currentIdentifierTable):
- (JSC::setCurrentIdentifierTable):
- (JSC::resetCurrentIdentifierTable):
- * runtime/InitializeThreading.cpp:
- (JSC::initializeThreadingOnce):
- * runtime/JSGlobalData.cpp:
- (JSC::JSGlobalData::create):
- * wtf/WTFThreadData.cpp: Removed.
- * wtf/WTFThreadData.h: Removed.
-
-2010-04-19 Douglas Gregor <dgregor@apple.com>
-
- Reviewed and landed by Anders Carlsson.
-
- * runtime/UStringImpl.h:
- Fix class/struct declaration mismatches.
-
-2010-04-19 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Beth Dakin.
-
- Checked in these tests I wrote becuase Balazs Kelemen wanted to use them.
-
- * tests/perf: Added.
- * tests/perf/bench-allocate-nonretained.js: Added.
- * tests/perf/bench-allocate-retained.js: Added.
-
-2010-04-19 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (windows build fix).
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-04-16 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=37745
- Move string uniquing tables to (new) WTFThreadData class.
-
- Remove AtomicString's dependency on ThreadGlobalData so that we can move
- WebCore's string classes up to WTF.
-
- WTFThreadData.cpp/.h are based on ThreadGlobalData from WebCore.
- Moved JSC & WebCore's string uniquing tables to this class.
-
- This patch introduces a temporary layering violation in providing forward
- declarations of classes from JSC and WTF; this will be resolved as we move
- more string code up to WTF.
-
- * API/APIShims.h:
- (JSC::APIEntryShimWithoutLock::APIEntryShimWithoutLock):
- (JSC::APIEntryShimWithoutLock::~APIEntryShimWithoutLock):
- (JSC::APICallbackShim::APICallbackShim):
- (JSC::APICallbackShim::~APICallbackShim):
- * API/JSContextRef.cpp:
- * JavaScriptCore.exp:
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * runtime/Completion.cpp:
- (JSC::checkSyntax):
- (JSC::evaluate):
- * runtime/Identifier.cpp:
- (JSC::Identifier::remove):
- (JSC::Identifier::checkCurrentIdentifierTable):
- * runtime/Identifier.h:
- * runtime/InitializeThreading.cpp:
- (JSC::initializeThreadingOnce):
- * runtime/JSGlobalData.cpp:
- (JSC::JSGlobalData::create):
- * wtf/WTFThreadData.cpp: Copied from WebCore/platform/ThreadGlobalData.cpp.
- (WTF::WTFThreadData::WTFThreadData):
- (WTF::WTFThreadData::~WTFThreadData):
- * wtf/WTFThreadData.h: Copied from WebCore/platform/ThreadGlobalData.h.
- (WTF::WTFThreadData::atomicStringTable):
- (WTF::WTFThreadData::initializeIdentifierTable):
- (WTF::WTFThreadData::currentIdentifierTable):
- (WTF::WTFThreadData::setCurrentIdentifierTable):
- (WTF::WTFThreadData::resetCurrentIdentifierTable):
- (WTF::wtfThreadData):
-
-2010-04-19 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Build fix for WinCE.
-
- Moved the include of the non-existing errno.h header file inside
- platform guard macros.
-
- * jit/ExecutableAllocatorFixedVMPool.cpp:
-
-2010-04-18 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Laszlo Gombos.
-
- [WINCE] Don't define WTF_CPU_MIDDLE_ENDIAN=1
- https://bugs.webkit.org/show_bug.cgi?id=37434
-
- Windows CE supports little-endian format only, so don't define
- WTF_CPU_MIDDLE_ENDIAN=1.
-
- * wtf/Platform.h:
-
-2010-04-18 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] Fix JavaScriptCore's include path for WinCE builds
-
- https://bugs.webkit.org/show_bug.cgi?id=36751
-
- * JavaScriptCore.pri:
-
-2010-04-16 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by nobody, build fix.
-
-2010-04-16 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by nobody, build fix.
+ (JSC::DebuggerCallFrame::calculatedFunctionName): Updated for change to
+ ExecState::callee().
-2010-04-16 Gavin Barraclough <barraclough@apple.com>
+ (JSC::DebuggerCallFrame::thisObject): Updated for removal of ExecState::thisValue().
- Reviewed by Oliver Hunt.
-
- Bug 37730 - Remove JSC::UString dependencies from WebCore::StringImpl
- (Following on from bug #37675).
-
- Make the argument ordering for UStringImpl's constructor & create
- methods match, when passed a shared buffer.
-
- * JavaScriptCore.exp:
- * runtime/UStringImpl.cpp:
- (JSC::UStringImpl::create):
- * runtime/UStringImpl.h:
-
-2010-04-15 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Fix memory leak in QScriptEngine::evaluate().
-
- QScriptEnginePrivate::evaluate should release temporary variables.
-
- [Qt] QScriptEngine::evaluate has memory leak.
- https://bugs.webkit.org/show_bug.cgi?id=37596
-
- * qt/api/qscriptengine_p.cpp:
- (QScriptEnginePrivate::evaluate):
- * qt/api/qscriptengine_p.h:
-
-2010-04-14 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Fix a memory leak in QScriptValue::inherits.
-
- [Qt] QScriptValue::inherits has a memory leak.
- https://bugs.webkit.org/show_bug.cgi?id=37617
-
- * qt/api/qscriptvalue_p.h:
- (QScriptValuePrivate::inherits):
-
-2010-04-14 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Fix a few memory leaks in QScriptEngine.
-
- Syntax checking caused memory leak, not all temporary variables were released.
-
- [Qt] Syntax checking in the QtScript cause a memory leak.
- https://bugs.webkit.org/show_bug.cgi?id=37610
-
- * qt/api/qscriptengine_p.cpp:
- (QScriptEnginePrivate::checkSyntax):
- * qt/api/qscriptsyntaxcheckresult.cpp:
- (QScriptSyntaxCheckResultPrivate::errorMessage):
- (QScriptSyntaxCheckResultPrivate::errorLineNumber):
-
-2010-04-14 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Fix memory leak inside QScriptEnginePrivate::makeJSValue.
-
- QScriptEnginePrivate::makeJSValue should release temporary JSStringRef variable.
-
- [Qt] tst_QScriptValue::toString has a memory leak.
- https://bugs.webkit.org/show_bug.cgi?id=37598
-
- * qt/api/qscriptengine_p.h:
- (QScriptEnginePrivate::makeJSValue):
-
-2010-04-14 Peter Varga <pvarga@inf.u-szeged.hu>
-
- Reviewed by Geoffrey Garen.
-
- Move the YARR JIT fallback detection from RegexJIT.cpp to
- RegexCompiler.cpp.
-
- https://bugs.webkit.org/show_bug.cgi?id=37571
-
- * yarr/RegexCompiler.cpp:
- (JSC::Yarr::RegexPatternConstructor::atomBackReference):
- (JSC::Yarr::RegexPatternConstructor::quantifyAtom):
- * yarr/RegexJIT.cpp:
- (JSC::Yarr::RegexGenerator::generateTerm):
- (JSC::Yarr::RegexGenerator::RegexGenerator):
- (JSC::Yarr::jitCompileRegex):
- * yarr/RegexJIT.h:
- (JSC::Yarr::RegexCodeBlock::operator!):
- * yarr/RegexPattern.h:
- (JSC::Yarr::RegexPattern::RegexPattern):
- (JSC::Yarr::RegexPattern::reset):
-
-2010-04-14 Kent Hansen <kent.hansen@nokia.com>
-
- Reviewed by Maciej Stachowiak.
-
- Mac OS X: Use deployment target to determine whether memory tagging should be enabled
- https://bugs.webkit.org/show_bug.cgi?id=34888
-
- When building on (Snow) Leopard but targeting Tiger
- (TARGETING_TIGER defined, BUILDING_ON_TIGER not defined),
- WebKit would crash on Tiger because the tags passed to mmap
- caused those function calls to fail.
-
- Conversely, when building on Tiger but targeting Leopard
- (BUILDING_ON_TIGER defined, TARGETING_LEOPARD defined), WebKit
- would crash on Leopard because the tags passed to vm_map and
- vm_allocate caused those function calls to fail.
-
- Solution: Use TARGETING_TIGER rather than BUILDING_ON_TIGER to
- govern the tag definitions. Use the same tags for vm_map and
- vm_allocate regardless of target, since they work on
- both. Fall back to the mmap tags that work on Tiger (that is,
- "no tags") if targeting Tiger, since those tags also work on
- Leopard.
-
- * wtf/VMTags.h:
-
-2010-04-12 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by nobody, build fix.
-
- [Qt] Build fix for Mac when building with build-webkit --qt
-
- Specifying no configuration on Mac builds WebCore both in debug
- and release. JavaScriptCore has to follow this rule as well.
-
- * JavaScriptCore.pro:
-
-2010-04-11 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Sam Weinig.
-
- <rdar://problem/7851332> Fix the build.
-
- * wtf/FastMalloc.cpp:
- (WTF::TCMallocStats::): Initialize extra members of malloc_introspection_t to zero.
-
-2010-04-09 Mikhail Naganov <mnaganov@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Make CallIdentifier constructor to handle null urls.
-
- https://bugs.webkit.org/show_bug.cgi?id=37341
-
- * profiler/CallIdentifier.h:
- (JSC::CallIdentifier::CallIdentifier):
-
-2010-04-09 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix crashes with package builds in release
-
- Add NDEBUG to the defines for package build in JavaScriptCore.pri,
- so that it's consistently used for JavaScriptCore, WebCore, jsc and all
- other tools using wtf, etc. data structures directly. Mixing NDEBUG with
- non-NDEBUG builds causes crashes due to differences in data structures when
- assertions/checks are enabled.
-
- * JavaScriptCore.pri:
-
-2010-04-09 Patrick Gansterer <paroga@paroga.com>
-
- Reviewed by Darin Adler.
-
- Implement NO_RETURN for COMPILER(MSVC).
- https://bugs.webkit.org/show_bug.cgi?id=33056
-
- Added NO_RETURN_WITH_VALUE for functions with non-void return type.
-
- * jsc.cpp:
- * wtf/AlwaysInline.h:
- * wtf/FastMalloc.cpp:
-
-2010-04-08 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Simon Hausmann.
-
- [WINCE] Check if ARM or _ARM_ is defined
- https://bugs.webkit.org/show_bug.cgi?id=37200
-
- MSVC defines ARM and _ARM_ for Windows CE ARM. Define WTF_CPU_ARM=1
- when either ARM or _ARM_ is defined.
-
- * wtf/Platform.h:
-
-2010-04-08 Csaba Osztrogonác <ossy@webkit.org>
-
- Reviewed Oliver Hunt.
-
- [Qt]r57240 broke Qt build (might be a gcc bug)
- https://bugs.webkit.org/show_bug.cgi?id=37253
-
- Workaround until fix. On PLATFORM(QT) use inline instead of ALWAYS_INLINE.
-
- * wtf/PassRefPtr.h: Qt guards added.
-
-2010-04-07 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Vector<UString> makes many needless calls to UString::UString and UString::~UString
-
- Add a VectorTrait<UString> specialisation to allow vector to simply memset/memcpy
- data around. Only difference from the VectorTrait<RefPtr<T> > traits is the inability
- to use memset to initialize data.
-
- * runtime/UString.h:
- (WTF::):
-
-2010-04-07 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Geoff Garen.
-
- Beat gcc with a clue bat -- force inlining of refIfNotNull and derefIfNotNull
-
- * wtf/PassRefPtr.h:
-
-2010-04-07 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Darin Adler.
-
- Replace isprint with isASCIIPrintable
- https://bugs.webkit.org/show_bug.cgi?id=37223
-
- WebKit does not use functions in <ctype.h> as they are dependent on the current
- locale. Use the equivalent functions in <wtf/ASCIICType.h>. isASCIIPrintable
- replaces isprint.
-
- * pcre/pcre_exec.cpp:
- (pchars):
-
-2010-04-07 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=37219
-
- This change disables text caret for the iPhone platflorm.
-
- * wtf/Platform.h: Disabled text caret for iPhone.
-
-2010-04-06 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- REGRESSION: Worker termination via JS timeout may cause worker tests like fast/workers/worker-terminate.html fail.
- https://bugs.webkit.org/show_bug.cgi?id=36646
+ * interpreter/CallFrame.cpp:
+ * interpreter/CallFrame.h:
+ (JSC::ExecState::callee):
+ (JSC::ExecState::scopeChain):
+ (JSC::ExecState::init): Changed callee() to be JSObject* instead of
+ JSFunction* -- now, it might be some other callable host object.
- Add a new exception type for forcibly terminating a JavaScript stack.
- The new exception functions similarly to the
- InterruptedExecutionException but is conceptually different because
- execution is terminated instead of just interrupted.
+ (JSC::ExecState::hostThisRegister):
+ (JSC::ExecState::hostThisValue):
+ (JSC::ExecState::argumentCount):
+ (JSC::ExecState::argumentCountIncludingThis):
+ (JSC::ExecState::argument):
+ (JSC::ExecState::setArgumentCountIncludingThis):
+ (JSC::ExecState::setCallee): Added convenient accessors for arguments
+ from within a host function. Removed thisValue() because it was too
+ tempting to use incorrectly, and it only had one or two clients, anyway.
- * GNUmakefile.am:
- - Added new Terminator.h file.
- * JavaScriptCore.gypi:
- - Added new Terminator.h file.
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
- - Added new Terminator.h file.
- * JavaScriptCore.xcodeproj/project.pbxproj:
- - Added new Terminator.h file.
* interpreter/Interpreter.cpp:
- (JSC::Interpreter::throwException):
- - Fully unwind the stack for TerminatedExecutionException.
- (JSC::Interpreter::privateExecute):
- - Check if we've been terminated at the same time we check if we've
- timed out.
- * jit/JITStubs.cpp:
- (JSC::DEFINE_STUB_FUNCTION):
- - Check if we've been terminated at the same time we check if we've
- timed out.
- * runtime/Completion.cpp:
- - Some exceptions define special completion types so that calls can
- see why we terminated evaluation.
- (JSC::evaluate):
- * runtime/Completion.h:
- - Define a new completion type for termination.
- (JSC::):
- * runtime/ExceptionHelpers.cpp:
- - Define TerminatedExecutionException and refactor pseudo-RTTI
- virtual function to be more semantic.
- (JSC::InterruptedExecutionError::exceptionType):
- (JSC::TerminatedExecutionError::TerminatedExecutionError):
- (JSC::TerminatedExecutionError::exceptionType):
- (JSC::TerminatedExecutionError::toString):
- (JSC::createTerminatedExecutionException):
- * runtime/ExceptionHelpers.h:
- - Entry point for generating a TerminatedExecutionException.
- * runtime/JSGlobalData.cpp:
- (JSC::JSGlobalData::JSGlobalData):
- - Add a Terminator object that can be used to asynchronously
- terminate a JavaScript execution stack.
- * runtime/JSGlobalData.h:
- * runtime/JSObject.h:
- (JSC::JSObject::exceptionType):
- - Define that, by default, thrown objects have a normal exception
- type.
- * runtime/Terminator.h: Added.
- - Added a new controller object that can be used to terminate
- execution asynchronously. This object is more or less a
- glorified bool.
- (JSC::Terminator::Terminator):
- (JSC::Terminator::termianteSoon):
- (JSC::Terminator::shouldTerminate):
-
-2010-04-05 Oliver Hunt <oliver@apple.com>
-
- And another one.
-
- * JavaScriptCore.vcproj/jsc/jscCommon.vsprops:
-
-2010-04-05 Oliver Hunt <oliver@apple.com>
-
- And another build fix.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make:
-
-2010-04-05 Oliver Hunt <oliver@apple.com>
-
- Build fix
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
-
-2010-04-05 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Support weak maps in JSC
- https://bugs.webkit.org/show_bug.cgi?id=37132
-
- Expose an API to allow creation of a map for storing
- weak JS references.
-
- * API/JSWeakObjectMapRefInternal.h: Added.
- (OpaqueJSWeakObjectMap::create):
- (OpaqueJSWeakObjectMap::map):
- (OpaqueJSWeakObjectMap::~OpaqueJSWeakObjectMap):
- (OpaqueJSWeakObjectMap::OpaqueJSWeakObjectMap):
- * API/JSWeakObjectMapRefPrivate.cpp: Added.
- * API/JSWeakObjectMapRefPrivate.h: Added.
- * JavaScriptCore.exp:
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * runtime/JSGlobalObject.h:
- (JSC::JSGlobalObject::registerWeakMap):
- (JSC::JSGlobalObject::deregisterWeakMap):
-
-2010-04-05 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Symbian] Consolidate Symbian WINSCW environment configuration
- https://bugs.webkit.org/show_bug.cgi?id=37100
-
- Move the "undefinition" of WIN32 and _WIN32 from WebCore/config.h
- to JavaScriptCore/wtf/Platform.h as it is not specific to WebCore.
-
- PLATFORM(WIN) and OS(WIN) no longer needs to be undefined as
- undefining WIN32 takes care of it.
-
- * wtf/Platform.h:
-
-2010-04-03 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=37068
- Change UString to use a 0 rep for null strings instead of a null object.
-
- No performance impact.
-
- * JavaScriptCore.exp:
- * runtime/InternalFunction.cpp:
- (JSC::InternalFunction::InternalFunction):
- * runtime/JSString.h:
- (JSC::RopeBuilder::JSString):
- * runtime/UString.cpp:
- (JSC::initializeUString):
- * runtime/UString.h:
- (JSC::UString::UString):
- (JSC::UString::data):
- (JSC::UString::size):
- (JSC::UString::isNull):
- (JSC::UString::isEmpty):
- (JSC::UString::cost):
-
-2010-04-03 Balazs Kelemen <kb@inf.u-szeged.hu>
+ (JSC::Interpreter::callEval): Updated for removal of ExecState::thisValue().
- Reviewed by Oliver Hunt.
-
- Fix uninitalised members in CallLinkInfo and BytecodeGenerator.
-
- https://bugs.webkit.org/show_bug.cgi?id=36816
-
- * bytecode/CodeBlock.cpp:
- (JSC::CodeBlock::CodeBlock):
- * bytecode/CodeBlock.h:
- (JSC::CallLinkInfo::CallLinkInfo):
-
-2010-04-03 yael aharon <yael.aharon@nokia.com>
-
- Reviewed by Darin Adler.
-
- Enable HTMLProgressElement for Safari on OSX
- https://bugs.webkit.org/show_bug.cgi?id=36961
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-04-02 Ruben Van Boxem <vanboxem.ruben@gmail.com>
-
- Reviewed by Eric Seidel.
-
- Mingw-w64 fixes for JavaScriptCore
- https://bugs.webkit.org/show_bug.cgi?id=35607
-
- * runtime/Collector.cpp: use the msvc code for mingw-w64 (but not mingw-w32)
- (JSC::Heap::allocateBlock):
- (JSC::Heap::freeBlockPtr):
- (JSC::currentThreadStackBase):
- (JSC::currentThreadStackBase):
- * wtf/Platform.h: added COMPILER(MINGW64) check to differentiate between mingw.org and mingw-w64 functions
-
-2010-04-02 Geoffrey Garen <ggaren@apple.com>
-
- Build fix: updated the .def file.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ (JSC::Interpreter::throwException): Be sure to shrink the register file
+ before invoking the exception handler, to reduce the chances that the
+ handler will re-throw in the case of stack overflow. (Re-throwing is now
+ more likely than it used to be, since standardizing the calling convention
+ implicitly added stack overflow checks to some places where they used to be missing.)
-2010-04-02 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Inlined toThisString and toThisJSString to avoid virtual function call overhead
- https://bugs.webkit.org/show_bug.cgi?id=37039
-
- Maybe a 1% speedup on iBench JS.
-
- * JavaScriptCore.exp: New exports.
-
- * runtime/JSCell.cpp:
- * runtime/JSCell.h:
- * runtime/JSNumberCell.cpp:
- * runtime/JSNumberCell.h:
- * runtime/JSString.cpp:
- * runtime/JSString.h:
- * runtime/JSValue.h:
- * runtime/JSZombie.h:
- (JSC::JSZombie::toThisObject): Nixed the old virtual-type implementation.
-
- * runtime/JSObject.h:
- (JSC::JSValue::toThisString):
- (JSC::JSValue::toThisJSString): Added the inlined implementation.
-
-2010-04-02 Jeremy Moskovich <jeremy@chromium.org>
-
- Reviewed by Geoffrey Garen.
-
- Beef up documentation for ASSERT* and CRASH macros a bit.
-
- https://bugs.webkit.org/show_bug.cgi?id=36527
-
- * wtf/Assertions.h:
-
-2010-04-02 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Unreviewed, minor build fix.
-
- Change the order of the member initialisation list
- in constructor to match declaration order
-
- * runtime/Collector.cpp:
- (JSC::Heap::Heap):
+ (JSC::Interpreter::execute): Clarified the scope of DynamicGlobalObjectScope.
+ Updated for CallFrame::init API change.
-2010-04-01 Kinuko Yasuda <kinuko@chromium.org>
+ (JSC::Interpreter::executeCall): Clarified scope of DynamicGlobalObjectScope.
+ Updated for CallFrame::init API change. Added support for calling a host
+ function.
- Reviewed by Dmitry Titov.
+ (JSC::Interpreter::executeConstruct): Clarified scope of DynamicGlobalObjectScope.
+ Updated for CallFrame::init API change.
- Add FileThread for async file operation support in FileReader and FileWriter
- https://bugs.webkit.org/show_bug.cgi?id=36896
+ (JSC::Interpreter::prepareForRepeatCall): Updated for CallFrame::init API change.
- Add ENABLE_FILE_READER and ENABLE_FILE_WRITER flags.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-03-31 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (windows build fix pt II).
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-03-31 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (windows build fix).
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-03-31 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Geoff Garen.
-
- Bug 36871 - Remove JSC::CString
- Use WTF::CString instead (which until recently was WebCore::CString).
-
- * JavaScriptCore.exp:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * runtime/UString.cpp:
- * runtime/UString.h:
-
-2010-03-31 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Unreviewed, fix after r56842.
-
- Add UNUSED_PARAM a to silence warning.
-
- * jit/JITStubs.cpp:
- (JSC::DEFINE_STUB_FUNCTION):
-
-2010-03-31 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Unreviewed, Symbian build fix.
-
- Refactor JITStubs.cpp so that the list of STUB_FUNCTIONs
- are not dependent on the JSVALUE32_64 guard.
-
- * jit/JITStubs.cpp: Place the JSVALUE32_64 guard inside
- the body of cti_op_eq_strings.
- * jit/JITStubs.h: Remove JSVALUE32_64 guard from
- cti_op_eq_strings stub.
-
-2010-03-30 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (windows build fix).
-
- Fixing b0rked version of JavaScriptCore.vcproj - added lines were truncated.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
-
-2010-03-30 Gavin Barraclough <barraclough@apple.com>
-
- Rubber stamped by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=36866
- Move CString to WTF
-
- * Android.mk:
- * GNUmakefile.am:
- * JavaScriptCore.exp:
- * JavaScriptCore.gypi:
- * JavaScriptCore.pro:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
- * JavaScriptCore.vcproj/WTF/WTF.vcproj:
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * wtf/text: Added.
- * wtf/text/CString.cpp: Copied from WebCore/platform/text/CString.cpp.
- * wtf/text/CString.h: Copied from WebCore/platform/text/CString.h.
- (WTF::CStringBuffer::data):
- (WTF::CStringBuffer::length):
- (WTF::CStringBuffer::create):
- (WTF::CStringBuffer::CStringBuffer):
- (WTF::CStringBuffer::mutableData):
- (WTF::CString::CString):
- (WTF::CString::isNull):
- (WTF::CString::buffer):
- (WTF::operator!=):
+ (JSC::Interpreter::privateExecute): Updated for CallFrame::init API change.
+ Added some explicit JSValue(JSObject*) initialization, since relaxing
+ the JSFunction* restriction on callee has made register types more ambiguous.
+ Removed toThisObject() conversion, since all callees do it themselves now.
+ Updated host function call for new host function signature. Updated for
+ change to ExecState::argumentCount() API.
-2010-03-30 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by nobody, build break.
-
- [Qt] Fix build break on Qt Mac.
-
- DESTDIR path on Mac do not include the configuration path by default
- like on Windows. Have to force it.
-
- * JavaScriptCore.pro:
-
-2010-03-29 Alice Liu <alice.liu@apple.com>
-
- Reviewed by NOBODY (build fix).
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make:
- add JSObjectRefPrivate.h
-
-2010-03-29 Chao-ying Fu <fu@mips.com>
-
- Reviewed by Oliver Hunt.
-
- MIPS JIT Supports
- https://bugs.webkit.org/show_bug.cgi?id=30144
-
- The following changes enable MIPS JIT.
+ * interpreter/Register.h:
+ (JSC::Register::):
+ (JSC::Register::operator=):
+ (JSC::Register::function): Changed callee() to be JSObject* instead of
+ JSFunction* -- now, it might be some other callable host object.
- * assembler/MIPSAssembler.h:
- (JSC::MIPSAssembler::lbu):
- (JSC::MIPSAssembler::linkWithOffset):
- * assembler/MacroAssemblerMIPS.h:
- (JSC::MacroAssemblerMIPS::load8):
- (JSC::MacroAssemblerMIPS::branch8):
- (JSC::MacroAssemblerMIPS::branchTest8):
- (JSC::MacroAssemblerMIPS::setTest8):
- (JSC::MacroAssemblerMIPS::setTest32):
- * jit/JIT.h:
- * jit/JITInlineMethods.h:
- (JSC::JIT::preserveReturnAddressAfterCall):
- (JSC::JIT::restoreReturnAddressBeforeReturn):
* jit/JITOpcodes.cpp:
- * jit/JITStubs.cpp:
- (JSC::JITThunks::JITThunks):
- * jit/JITStubs.h:
- (JSC::JITStackFrame::returnAddressSlot):
- * wtf/Platform.h:
-
-2010-02-26 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Simon Fraser.
-
- Add support for Widgets 1.0: View Mode Media Feature
- https://bugs.webkit.org/show_bug.cgi?id=35446
-
- Add an enable flag for the Widgets (http://www.w3.org/TR/widgets-reqs/)
- and turn it on for Qt only.
-
- * wtf/Platform.h:
-
-2010-03-29 Patrick Gansterer <paroga@paroga.com>
-
- Reviewed by Darin Adler.
-
- Corrected name of (u)int64_t compile time assert.
- https://bugs.webkit.org/show_bug.cgi?id=36739
-
- int64_t_is_four_bytes -> int64_t_is_eight_bytes
-
- * os-win32/stdint.h:
-
-2010-03-29 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Use the -l syntax for linking against JavaScriptCore on Windows.
- This allow qmake to extract dependencies correctly when generating VS
- solutions.
-
- * JavaScriptCore.pri:
-
-2010-03-29 Thomas Zander <t.zander@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- https://bugs.webkit.org/show_bug.cgi?id=36742
-
- gcc for Symbian doesn't support gcc extensions like atomicity.h - disable
-
- * wtf/Threading.h: also detect os symbian
-
-2010-03-28 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Remove the definition of WTF_CHANGES guards from the build system
- https://bugs.webkit.org/show_bug.cgi?id=31670
-
- * JavaScriptCore.pro: Remove the definition of WTF_CHANGES
- as it is already defined in config.h
-
-2010-03-28 Kent Hansen <kent.hansen@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Add API for reporting additional memory cost of JavaScript objects
- https://bugs.webkit.org/show_bug.cgi?id=36650
-
- * qt/api/qscriptengine.cpp:
- (QScriptEngine::reportAdditionalMemoryCost):
- * qt/api/qscriptengine.h:
- * qt/api/qscriptengine_p.h:
- (QScriptEnginePrivate::reportAdditionalMemoryCost):
- * qt/tests/qscriptengine/tst_qscriptengine.cpp:
- (tst_QScriptEngine::reportAdditionalMemoryCost):
-
-2010-03-28 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- QScriptEngine API was enriched by globalObject() method
- which give an access to the global object.
-
- [Qt] QScriptEngine doesn't give an access to global object
- https://bugs.webkit.org/show_bug.cgi?id=36603
-
- * qt/api/qscriptengine.cpp:
- (QScriptEngine::globalObject):
- * qt/api/qscriptengine.h:
- * qt/api/qscriptengine_p.cpp:
- (QScriptEnginePrivate::globalObject):
- * qt/api/qscriptengine_p.h:
- * qt/tests/qscriptengine/tst_qscriptengine.cpp:
- (tst_QScriptEngine::globalObject):
-
-2010-03-26 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Build JavaScriptCore as a static library.
- https://bugs.webkit.org/show_bug.cgi?id=36590
-
- This patch takes what was left of the unused JavaScriptCore.pro
- and moved the compilation logic from JavaScriptCore.pri to
- JavaScriptCore.pro.
-
- * JavaScriptCore.pri:
- * JavaScriptCore.pro:
- * jsc.pro:
- * qt/api/QtScript.pro:
-
-2010-03-25 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (build fix).
-
- * profiler/ProfileGenerator.cpp:
- (JSC::ProfileGenerator::willExecute):
- (JSC::ProfileGenerator::didExecute):
-
-2010-03-25 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Geoff Garen.
-
- Bug 36611 - Cleanup JSC::CString
- Rename CString::c_str() -> CString::data(), CString::size() -> CString::length(),
- remove UString::getCString() (all uses are wrong, should use UString::UTF8String()).
-
- * bytecode/CodeBlock.cpp:
- (JSC::CodeBlock::printUnaryOp):
- (JSC::CodeBlock::printBinaryOp):
- (JSC::CodeBlock::printConditionalJump):
- (JSC::CodeBlock::printGetByIdOp):
- (JSC::CodeBlock::printPutByIdOp):
- (JSC::printGlobalResolveInfo):
- (JSC::printStructureStubInfo):
- (JSC::CodeBlock::printStructure):
- (JSC::CodeBlock::printStructures):
- (JSC::CodeBlock::dump):
- * jsc.cpp:
- (functionPrint):
- (functionDebug):
- (runInteractive):
- (fillBufferWithContentsOfFile):
- * profiler/CallIdentifier.h:
- (JSC::CallIdentifier::c_str):
- * profiler/Profile.cpp:
- (JSC::Profile::debugPrintDataSampleStyle):
- * profiler/ProfileNode.cpp:
- (JSC::ProfileNode::debugPrintData):
- (JSC::ProfileNode::debugPrintDataSampleStyle):
- * runtime/DateConversion.cpp:
- (JSC::parseDate):
- * runtime/JSGlobalObjectFunctions.cpp:
- (JSC::encode):
- (JSC::globalFuncJSCPrint):
- * runtime/UString.cpp:
- (JSC::operator==):
- (JSC::UString::toDouble):
- * runtime/UString.h:
- (JSC::CString::length):
- (JSC::CString::data):
-
-2010-03-25 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by nobody, build fix.
-
- [Qt] Build fix on MSVC. Reverts r55633 for stdint.h
-
- This file gets included in generated moc files which don't
- include the prefix header.
-
- * os-win32/stdint.h:
-
-2010-03-24 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (windows build fix).
-
-2010-03-24 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Sam Weinig.
-
- Switch String::latin1, String::utf8, String::fromUTF8 to
- use WTF's Unicode conversion methods rather than TextEncoder.
- These methods only perform simple conversion, and don't need
- really require TextEncoder's full capability (to look up arbitrary
- encodings by name), switching to only be dependent on WTF will
- make it easier if we chose to move WebCore::String to WTF.
-
- * JavaScriptCore.exp:
-
-2010-03-24 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Geoff Garen.
-
- * wtf/FastMalloc.h: Added a using directive for fastMallocSize, like we do for all public
- WTF symbols. Also sorted the list alphabetically.
-
-2010-03-23 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (speculative windows build fix part II).
-
-2010-03-23 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (speculative windows build fix).
-
-2010-03-23 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Bug 36519 - JSGlobalContextRelease is unnecessarily slow
-
- Since [ http://trac.webkit.org/changeset/35917 ], calling
- JSGlobalContextRelease always triggers a GC heap collection
- (if not a full destroy). As per 35917's changelog "This is
- only really necessary when the (JSGlobalObject's) last
- reference is released, but there is no way to determine that,
- and no harm in collecting slightly more often."
-
- Well, we now know of cases of API clients who are harmed by
- the performance penalty of collecting too often, so it's time
- to add a way to determine whether a call to JSGlobalContextRelease
- is removing the last protect from it's global object. If further
- protects are retaining the global object (likely from other
- JSGlobalContextRefs), then don't trigger a GC collection.
-
- * API/JSContextRef.cpp:
- * runtime/Collector.cpp:
- (JSC::Heap::unprotect): return a boolean indicating that the value is now unprotected.
- * runtime/Collector.h:
- * wtf/HashCountedSet.h:
- (WTF::::remove): return a boolean indicating whether the value was removed from the set.
-
-2010-03-23 Mark Rowe <mrowe@apple.com>
-
- Build fix.
-
- * runtime/ArrayPrototype.cpp:
- (JSC::arrayProtoFuncSplice): Some versions of GCC emit a warning about the implicit 64- to 32-bit truncation
- that takes place here. An explicit cast is sufficient to silence it.
-
-2010-03-23 Alexey Proskuryakov <ap@apple.com>
-
- Build fix.
-
- * runtime/ArrayPrototype.cpp: (JSC::arrayProtoFuncSplice): Fixed a typo - length doesn't
- need to be converted with toInteger().
-
-2010-03-23 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Geoff Garen.
-
- https://bugs.webkit.org/show_bug.cgi?id=36511
- <rdar://problem/7753498> Safari freezes when using SPUTNIK JavaScript conformance check
-
- Test: fast/js/sputnik-S15.4.4.12_A3_T3.html
-
- * runtime/ArrayPrototype.cpp: (JSC::arrayProtoFuncSplice): We were incorrectly computing
- the start offset, and iterated over (almost) all integers. Note that this can be fixed
- without using doubles, but the code would be much more complicated, and there is no important
- reason to stick to integers here.
-
-2010-03-23 Kent Hansen <kent.hansen@nokia.com>
-
- Reviewed by Darin Adler.
-
- Fix compilation on Itanium in 32-bit mode
- https://bugs.webkit.org/show_bug.cgi?id=36494
-
- * wtf/Platform.h: Introduce CPU(IA64_32). Don't define
- WTF_USE_JSVALUE64 if the CPU is in 32-bit mode.
-
-2010-03-23 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Mark Rowe.
-
- Interpreter fix for <rdar://problem/7728196> REGRESSION (r46701): -(-2147483648)
- evaluates to -2147483648 on 32 bit (35842)
-
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::privateExecute): Only take the fast negate path if
- a bit other than bit 31 is set. If none of bits 0-30 are set, then the
- value we're negating can only be 0 or -2147483648, and neither can be
- negated in int space.
-
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_negate):
- (JSC::JIT::emitSlow_op_negate): Updated the JIT implementation to match
- the interpreter, since it's slightly simpler.
-
-2010-03-22 Siddharth Mathur <siddharth.mathur@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- [Symbian] More efficient aligned memory allocation for JSC Collector
- https://bugs.webkit.org/show_bug.cgi?id=34350
-
- * JavaScriptCore.pri: Added 2 new Symbian source files and HAL linkage
-
- * runtime/Collector.cpp: Reduced port-specific code and added private data member
- (JSC::Heap::Heap):
- (JSC::Heap::~Heap):
- (JSC::Heap::destroy):
- (JSC::Heap::allocateBlock):
- (JSC::Heap::freeBlockPtr):
-
- * runtime/Collector.h: Added private data member
-
- * wtf/symbian: Added.
- * wtf/symbian/BlockAllocatorSymbian.cpp: Added.
- (WTF::AlignedBlockAllocator::AlignedBlockAllocator): Helper class to allocate
- aligned blocks more efficiently as required by Collector
- (WTF::AlignedBlockAllocator::alloc):
- (WTF::AlignedBlockAllocator::free):
- (WTF::AlignedBlockAllocator::destroy):
- (WTF::AlignedBlockAllocator::~AlignedBlockAllocator):
- * wtf/symbian/BlockAllocatorSymbian.h: Added.
-
-2010-03-22 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fixed <rdar://problem/7728196> REGRESSION (r46701): -(-2147483648)
- evaluates to -2147483648 on 32 bit (35842)
-
- Two ways to fix the same bug:
-
- 1. Check for overflow when negating, since negating the largest negative
- int causes overflow.
-
- 2. Constant-fold even when negating a negative, since, like they say in
- high school, "math works."
-
- * assembler/MacroAssemblerARM.h:
- (JSC::MacroAssemblerARM::branchNeg32):
- * assembler/MacroAssemblerX86Common.h:
- (JSC::MacroAssemblerX86Common::branchNeg32): Added a branching version
- of the negate operator.
-
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_negate): Use the branching version of the negate
- operator to check for overflow.
-
- (JSC::JIT::emitSlow_op_negate): Link the check for overflow to a slow case.
- (We could emit inline code for this, since we know what the result would
- be, but that's probably just a waste of generated code.)
-
- * parser/Grammar.y: Constant fold even when negating a negative.
-
-2010-03-22 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/36431> Clean up 'int' use in UString.cpp after r54789
-
- Reviewed by Darin Adler.
-
- * runtime/UString.cpp:
- (JSC::UString::from): Changed argument type from 'unsigned int'
- to 'unsigned' to match WebKit coding style.
- (JSC::UString::find): Changed static_cast<int>() to
- static_cast<unsigned>() now that this method returns unsigned.
- (JSC::UString::rfind): Ditto.
- * runtime/UString.h:
- (JSC::UString::from): Changed argument type from 'unsigned int'
- to 'unsigned' to match WebKit coding style.
-
-2010-03-22 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Add support for syntax checking in the QtScript API.
-
- New class was created; the QScriptSyntaxCheckResult which main
- responsibility is to provide results of the ECMA Script code
- syntax check. The class is not fully functional as the JSC C API
- doesn't expose an error column number, but it is a good start point
- for a future development.
-
- [Qt] QtScript functionality should be extended by syntax checking.
- https://bugs.webkit.org/show_bug.cgi?id=36123
-
- * qt/api/QtScript.pro:
- * qt/api/qscriptengine.cpp:
- (QScriptEngine::checkSyntax):
- * qt/api/qscriptengine.h:
- * qt/api/qscriptengine_p.cpp:
- (QScriptEnginePrivate::checkSyntax):
- * qt/api/qscriptengine_p.h:
- * qt/api/qscriptsyntaxcheckresult.cpp: Added.
- (QScriptSyntaxCheckResult::QScriptSyntaxCheckResult):
- (QScriptSyntaxCheckResult::~QScriptSyntaxCheckResult):
- (QScriptSyntaxCheckResult::operator=):
- (QScriptSyntaxCheckResult::state):
- (QScriptSyntaxCheckResult::errorLineNumber):
- (QScriptSyntaxCheckResult::errorColumnNumber):
- (QScriptSyntaxCheckResult::errorMessage):
- * qt/api/qscriptsyntaxcheckresult.h: Added.
- * qt/api/qscriptsyntaxcheckresult_p.cpp: Added.
- (QScriptSyntaxCheckResultPrivate::~QScriptSyntaxCheckResultPrivate):
- (QScriptSyntaxCheckResultPrivate::errorMessage):
- (QScriptSyntaxCheckResultPrivate::errorLineNumber):
- * qt/api/qscriptsyntaxcheckresult_p.h: Added.
- (QScriptSyntaxCheckResultPrivate::get):
- (QScriptSyntaxCheckResultPrivate::QScriptSyntaxCheckResultPrivate):
- (QScriptSyntaxCheckResultPrivate::state):
- (QScriptSyntaxCheckResultPrivate::errorColumnNumber):
- * qt/tests/qscriptengine/tst_qscriptengine.cpp:
- (tst_QScriptEngine::checkSyntax_data):
- (tst_QScriptEngine::checkSyntax):
-
-2010-03-21 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- New class; QScriptProgram.
-
- The class should be used to evaluate the same script multiple times
- more efficiently.
-
- [Qt] QtScript should have QScriptProgram class
- https://bugs.webkit.org/show_bug.cgi?id=36008
-
- * qt/api/QtScript.pro:
- * qt/api/qscriptengine.cpp:
- (QScriptEngine::evaluate):
- * qt/api/qscriptengine.h:
- * qt/api/qscriptengine_p.cpp:
- (QScriptEnginePrivate::evaluate):
- * qt/api/qscriptengine_p.h:
- (QScriptEnginePrivate::evaluate):
- * qt/api/qscriptprogram.cpp: Added.
- (QScriptProgram::QScriptProgram):
- (QScriptProgram::~QScriptProgram):
- (QScriptProgram::operator=):
- (QScriptProgram::isNull):
- (QScriptProgram::sourceCode):
- (QScriptProgram::fileName):
- (QScriptProgram::firstLineNumber):
- (QScriptProgram::operator==):
- (QScriptProgram::operator!=):
- * qt/api/qscriptprogram.h: Added.
- * qt/api/qscriptprogram_p.h: Added.
- (QScriptProgramPrivate::get):
- (QScriptProgramPrivate::QScriptProgramPrivate):
- (QScriptProgramPrivate::~QScriptProgramPrivate):
- (QScriptProgramPrivate::isNull):
- (QScriptProgramPrivate::sourceCode):
- (QScriptProgramPrivate::fileName):
- (QScriptProgramPrivate::firstLineNumber):
- (QScriptProgramPrivate::operator==):
- (QScriptProgramPrivate::operator!=):
- (QScriptProgramPrivate::program):
- (QScriptProgramPrivate::file):
- (QScriptProgramPrivate::line):
- * qt/tests/qscriptengine/tst_qscriptengine.cpp:
- (tst_QScriptEngine::evaluateProgram):
-
-2010-03-21 David Kilzer <ddkilzer@apple.com>
-
- Blind attempt #2 to fix the Windows build after r56314
-
- * API/tests/testapi.c: Include JSObjectRefPrivate.h for the new
- methods instead of declaring them locally (and non-extern).
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- Backed out previous change.
-
-2010-03-21 David Kilzer <ddkilzer@apple.com>
-
- Blind attempt to fix the Windows build after r56314
-
- Try to fix the following errors on the Windows buildbot:
-
- Linking...
- testapi.obj : error LNK2001: unresolved external symbol "bool __cdecl JSObjectSetPrivateProperty(struct OpaqueJSContext const *,struct OpaqueJSValue *,struct OpaqueJSString *,struct OpaqueJSValue const *)" (?JSObjectSetPrivateProperty@@YA_NPBUOpaqueJSContext@@PAUOpaqueJSValue@@PAUOpaqueJSString@@PBU2@@Z)
- testapi.obj : error LNK2001: unresolved external symbol "struct OpaqueJSValue const * __cdecl JSObjectGetPrivateProperty(struct OpaqueJSContext const *,struct OpaqueJSValue *,struct OpaqueJSString *)" (?JSObjectGetPrivateProperty@@YAPBUOpaqueJSValue@@PBUOpaqueJSContext@@PAU1@PAUOpaqueJSString@@@Z)
- C:\cygwin\home\buildbot\slave\win-release\build\WebKitBuild\bin\testapi.exe : fatal error LNK1120: 2 unresolved externals
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: Added
- missing symbols to be exported.
-
-2010-03-21 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Documentation fix for previous patch.
-
- * API/JSObjectRefPrivate.h:
-
-2010-03-20 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- JSC needs an API to allow custom objects to have aprivate GC-accessible properties
- https://bugs.webkit.org/show_bug.cgi?id=36420
-
- Add new API methods to support "private" properties on custom
- objects.
-
- * API/JSCallbackObject.h:
- (JSC::JSCallbackObjectData::JSCallbackObjectData):
- (JSC::JSCallbackObjectData::~JSCallbackObjectData):
- (JSC::JSCallbackObjectData::getPrivateProperty):
- (JSC::JSCallbackObjectData::setPrivateProperty):
- (JSC::JSCallbackObjectData::deletePrivateProperty):
- (JSC::JSCallbackObjectData::markChildren):
- (JSC::JSCallbackObjectData::JSPrivatePropertyMap::getPrivateProperty):
- (JSC::JSCallbackObjectData::JSPrivatePropertyMap::setPrivateProperty):
- (JSC::JSCallbackObjectData::JSPrivatePropertyMap::deletePrivateProperty):
- (JSC::JSCallbackObjectData::JSPrivatePropertyMap::markChildren):
- (JSC::JSCallbackObject::getPrivateProperty):
- (JSC::JSCallbackObject::setPrivateProperty):
- (JSC::JSCallbackObject::deletePrivateProperty):
- (JSC::JSCallbackObject::markChildren):
- * API/JSObjectRef.cpp:
- (JSObjectGetPrivateProperty):
- (JSObjectSetPrivateProperty):
- (JSObjectDeletePrivateProperty):
- * API/JSObjectRefPrivate.h: Added.
- * API/tests/testapi.c:
- (main):
- * JavaScriptCore.exp:
- * JavaScriptCore.xcodeproj/project.pbxproj:
-
-2010-03-20 Kevin Ollivier <kevino@theolliviers.com>
-
- [wx] Build fixes after introduction of Brew files.
-
- * wscript:
-
-2010-03-18 Tom Callaway <tcallawa@redhat.com>
-
- Reviewed by Darin Adler.
-
- Bug 35429: Fix compile on SPARC64
- https://bugs.webkit.org/show_bug.cgi?id=35429
-
- * wtf/Platform.h: Set WTF_USE_JSVALUE64 for SPARC64
-
-2010-03-18 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add API to directly expose JSON parsing
- https://bugs.webkit.org/show_bug.cgi?id=34887
-
- Add API to expose JSON parsing directly, and add tests to testapi
-
- * API/JSValueRef.cpp:
- (JSValueMakeFromJSONString):
- (JSValueCreateJSONString):
- * API/tests/testapi.c:
- (main):
- * JavaScriptCore.exp:
- * runtime/JSONObject.cpp:
- (JSC::JSONStringify):
- * runtime/JSONObject.h:
-
-2010-03-16 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin Adler and Mark Rowe.
-
- Update WebKit availability macros for release after 4.0.
-
- * API/WebKitAvailability.h:
-
-2010-03-17 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- undefined, NaN, and Infinity should be ReadOnly
- https://bugs.webkit.org/show_bug.cgi?id=36263
-
- Simply add the ReadOnly flag to these properties.
-
- * runtime/JSGlobalObject.cpp:
- (JSC::JSGlobalObject::reset):
-
-2010-03-17 Darin Adler <darin@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Speed up Math.round a little by removing unneeded special case
- https://bugs.webkit.org/show_bug.cgi?id=36107
-
- Test: fast/js/math.html
-
- * runtime/MathObject.cpp:
- (JSC::mathProtoFuncRound): This function had a special case for numbers
- between -0.5 and -0.0 to return -0.0. But the algorithm in the function
- already yields -0.0 for those cases, so the extra checking and branching
- is unneeded.
-
-2010-03-17 Mike Homey <glandium@debian.org>
-
- Reviewed by Gustavo Noronha.
-
- Build fix for SPARC. Fix missing macro value.
-
- * wtf/Platform.h:
-
-2010-03-16 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt, Darin Adler.
-
- Bug 36083 - REGRESSION (r55772-r55834): Crash in JavaScriptCore RegExp code on PowerPC
-
- The problem is a bug in our port of PCRE - that a read may take place from the first character in an
- empty string. For the time being, revert to using a valid pointer in the data segment rather than
- an invalid non-null pointer into the zero-page for the empty string's data pointer. A better fix for
- this will be to remove PCRE.
-
- * runtime/UStringImpl.cpp:
- (JSC::UStringImpl::empty):
-
-2010-03-16 Darin Adler <darin@apple.com>
-
- Rolled out r56081 since it broke the Windows build.
-
-2010-03-16 Zoltan Horvath <zoltan@webkit.org>
-
- Reviewed by Darin Adler.
-
- Remove extra <new> include and add guards to operator new/delete definitions
- https://bugs.webkit.org/show_bug.cgi?id=35967
-
- Remove extra <new> header include from FastAlloc.cpp since it is included in
- FastAlloc.h. Add ENABLE(GLOBAL_FASTMALLOC_NEW) macro guard to operator
- new/delete/new []/delete [] definitions.
-
- * wtf/FastMalloc.cpp:
-
-2010-03-15 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Add a function to create a BREW instance without local variable declarations.
- https://bugs.webkit.org/show_bug.cgi?id=34705
-
- Add a template function to create a BREW instance in one line.
-
- * wtf/brew/ShellBrew.h: Added.
- (WTF::createInstance):
-
-2010-03-15 Geoffrey Garen <ggaren@apple.com>
-
- Not reviewed.
-
- Removed a now-incorrect comment I forgot to remove in my last check-in.
-
- * wtf/FastMalloc.cpp:
- (WTF::TCMalloc_PageHeap::scavenge):
-
-2010-03-15 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fixed a portion of:
- <rdar://problem/7165917> | https://bugs.webkit.org/show_bug.cgi?id=28676
- Safari 4 does not release memory back to the operating system fast enough (28676)
-
- Every few seconds, release a percentage of the minimum unused page count
- during that time period.
-
- SunSpider reports no change, command-line or in-browser, Mac or Windows.
-
- * wtf/FastMalloc.cpp:
- (WTF::TCMalloc_PageHeap::init):
- (WTF::TCMalloc_PageHeap::signalScavenger):
- (WTF::TCMalloc_PageHeap::initializeScavenger): Renamed shouldContinueScavenging
- to shouldScavenge, since scavenging is no longer something that we interrupt.
-
- (WTF::TCMalloc_PageHeap::scavenge): The new scavenging algorithm. Fixes
- a bug where the old code would release only one item from each size class
- per scavenge, potentially leaving large numbers of large-sized objects
- unreleased for a long time.
-
- (WTF::TCMalloc_PageHeap::shouldScavenge):
- (WTF::TCMalloc_PageHeap::New):
- (WTF::TCMalloc_PageHeap::AllocLarge):
- (WTF::TCMalloc_PageHeap::Delete):
- (WTF::TCMalloc_PageHeap::GrowHeap):
- (WTF::TCMalloc_PageHeap::scavengerThread):
- (WTF::TCMalloc_PageHeap::periodicScavenge): Updated to track the minimum
- value of free_committed_pages_ during a given scavenge period.
-
-2010-03-15 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=35843
- Re-land reverted fix to JSString::getIndex()
-
- Calling getIndex() on a JSString in rope form may result in a JSException being thrown
- if there is insuficient memory so value(exec) returns UString() with length zero,
- which will be passed to jsSingleCharacterSubstring.
- Add a slow case function to trap the error & return a safe null value, until the
- exception is handled.
-
- * runtime/JSString.cpp:
- (JSC::JSString::getIndexSlowCase):
- (JSC::JSString::getStringPropertyDescriptor):
- * runtime/JSString.h:
- (JSC::jsSingleCharacterSubstring):
- (JSC::JSString::getIndex):
- (JSC::jsSingleCharacterString):
- (JSC::JSString::getStringPropertySlot):
-
-2010-03-04 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Adam Roben.
-
- Add a long long version of abs() for MSVC.
-
- * wtf/MathExtras.h:
- (abs):
-
-2010-03-15 Gabor Loki <loki@webkit.org>
-
- Reviewed by Gavin Barraclough.
-
- Combine ctiTrampolines on ARM and Thumb-2
- https://bugs.webkit.org/show_bug.cgi?id=36014
+ (JSC::JIT::privateCompileCTINativeCall):
+ * jit/JITOpcodes32_64.cpp:
+ (JSC::JIT::privateCompileCTINativeCall): Deleted a bunch of code that
+ set up the arguments to host functions -- all but one of the arguments
+ are gone now. This is the actual optimization.
* jit/JITStubs.cpp:
- (JSC::JITThunks::JITThunks):
-
-2010-03-12 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (build fix).
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-03-12 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (build fix).
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-03-11 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Bug 36075 - Clean up screwyness re static string impls & Identifiers.
-
- * API/JSClassRef.cpp:
- (OpaqueJSClass::~OpaqueJSClass): Classname may be null/empty, and these are an identifer. This is okay, since the null/empty strings are shared across all threads.
- * JavaScriptCore.exp:
- * runtime/Identifier.cpp:
- (JSC::Identifier::add): No need to explicitly hash null reps, this is done in the ststic UStringImpl constructor.
- (JSC::Identifier::addSlowCase): UStringImpl::empty() handled & checkCurrentIdentifierTable now called in the header.
- (JSC::Identifier::checkCurrentIdentifierTable): Replaces checkSameIdentifierTable (this no longer checked the rep since the identifierTable pointer was removed from UString::Rep long ago).
- * runtime/Identifier.h:
- (JSC::Identifier::add): Replace call to checkSameIdentifierTable with call to checkCurrentIdentifierTable at head of function.
- * runtime/UStringImpl.cpp:
- (JSC::UStringImpl::~UStringImpl): Remove call to checkConsistency - this function no longer checks anything interesting.
- * runtime/UStringImpl.h:
- (JSC::UStringOrRopeImpl::UStringOrRopeImpl): Set s_refCountFlagIsIdentifier in static constructor.
- (JSC::UStringImpl::UStringImpl): remove calls to checkConsistency (see above), add new ASSERT to substring constructor.
- (JSC::UStringImpl::setHash): ASSERT not static (static strings set the hash in their constructor, should not reach this code path).
- (JSC::UStringImpl::create): Add missing ASSERT.
- (JSC::UStringImpl::setIsIdentifier): ASSERT !isStatic() (static strings hash set in constructor).
-
-2010-03-12 Peter Varga <pvarga@inf.u-szeged.hu>
-
- Reviewed by David Levin.
-
- Two functions tryConsumeCharacter() and tryConsumeCharacterClass() are
- removed from yarr/RegexInterpreter.cpp because they are never called.
-
- * yarr/RegexInterpreter.cpp:
-
-2010-03-11 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- The JSNative state was renamed to JSPrimitive. The new name better
- coresponds to the ECMAScript standard.
-
- Enum QScriptValuePrivate::States was renamed to State to obey Qt
- coding style rules ("States" name suggests that a state could
- mixed together with an other state using bitwise logic operators.
-
- [Qt] QScriptValuePrivate::States has naming issues
- https://bugs.webkit.org/show_bug.cgi?id=35968
-
- * qt/api/qscriptvalue_p.h:
- (QScriptValuePrivate::):
- (QScriptValuePrivate::QScriptValuePrivate):
- (QScriptValuePrivate::isBool):
- (QScriptValuePrivate::isNumber):
- (QScriptValuePrivate::isNull):
- (QScriptValuePrivate::isString):
- (QScriptValuePrivate::isUndefined):
- (QScriptValuePrivate::toString):
- (QScriptValuePrivate::toNumber):
- (QScriptValuePrivate::toBool):
- (QScriptValuePrivate::assignEngine):
- (QScriptValuePrivate::refinedJSValue):
-
-2010-03-11 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (Windows build fix).
-
- Add export.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-03-11 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (Windows build fix).
-
- Add export.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-03-11 Gavin Barraclough <barraclough@apple.com>
-
- Rubber stamped by Oliver Hunt.
-
- Remove nonsense comments used in development & commited in error.
-
- * runtime/UStringImpl.h:
-
-2010-03-11 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (Windows build fix).
-
- Remove export.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-03-11 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=36041
- Remove unnecessary differences in common code between WebCore::StringImpl & JSC::UStringImpl
-
- Much of the code in WebCore::StringImpl and JSC::UStringImpl is now very similar,
- but has trivial and unnecessary formatting differences, such as the exact wording
- of comments, missing ASSERTs, functions implemented in the .h vs .cpp etc.
-
- * runtime/Identifier.cpp:
- (JSC::Identifier::add): UStringImpl::empty() now automatically hashes, uas per WebCore strings.
- (JSC::Identifier::addSlowCase): UStringImpl::empty() now automatically hashes, uas per WebCore strings.
- * runtime/UStringImpl.cpp:
- (JSC::UStringImpl::~UStringImpl): Only call bufferOwnership() once, add missing ASSERTs.
- (JSC::UStringImpl::createUninitialized): Move from .h, not commonly called, no need to inline.
- (JSC::UStringImpl::create): Move from .h, not commonly called, no need to inline.
- (JSC::UStringImpl::sharedBuffer): Rewritten to more closely match WebCore implementation, remove need for separate baseSharedBuffer() method.
- * runtime/UStringImpl.h:
- (JSC::UStringImpl::UStringImpl): Automatically hash static strings, ASSERT m_data & m_length are non-null/non-zero in non-static strings.
- (JSC::UStringImpl::setHash): Add missing ASSERT.
- (JSC::UStringImpl::create): Moved to .cpp / added missing check for empty string creation.
- (JSC::UStringImpl::adopt): Vector.size() returns size_t, not unsigned.
- (JSC::UStringImpl::cost): Renamed m_bufferSubstring -> m_substringBuffer
- (JSC::UStringImpl::hash): Reordered in file.
- (JSC::UStringImpl::existingHash): Reordered in file.
- (JSC::UStringImpl::computeHash): Reordered in file, renamed parameter.
- (JSC::UStringImpl::checkConsistency): rewrote ASSERT.
- (JSC::UStringImpl::bufferOwnership): Return type should be BufferOwnership.
- (JSC::UStringImpl::): Moved friends to head of class.
-
-2010-03-11 Mark Rowe <mrowe@apple.com>
-
- Reviewed by David Kilzer.
-
- <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version
-
- Default to using the appropriate SDK if the target Mac OS X version is not the current Mac OS X version.
-
- * Configurations/Base.xcconfig:
-
-2010-03-11 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Tim Hatcher.
-
- <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version
-
- Introduce TARGET_MAC_OS_X_VERSION_MAJOR to represent the Mac OS X version that is being targeted. It defaults to the
- current Mac OS X version unless otherwise specified.
-
- Key off TARGET_MAC_OS_X_VERSION_MAJOR where we'd previously been keying off MAC_OS_X_VERSION_MAJOR.
-
- Explicitly map from the target Mac OS X version to the preferred compiler since Xcode's default compiler choice
- may not be usable when targetting a different Mac OS X version.
-
- Key off TARGET_GCC_VERSION rather than MAC_OS_X_VERSION_MAJOR in locations where we'd previously been keying off
- MAC_OS_X_VERSION_MAJOR but the decision is really related to the compiler version being used.
-
- * Configurations/Base.xcconfig:
- * Configurations/DebugRelease.xcconfig:
- * Configurations/FeatureDefines.xcconfig:
- * Configurations/JavaScriptCore.xcconfig:
- * Configurations/Version.xcconfig:
-
-2010-03-11 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Mark Rowe.
-
- Sort the project file.
-
- * JavaScriptCore.xcodeproj/project.pbxproj:
-
-2010-03-11 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Mark Rowe.
-
- Sort the project file .
-
- * JavaScriptCore.xcodeproj/project.pbxproj:
-
-2010-03-11 Gabor Loki <loki@webkit.org>
-
- Reviewed by Gavin Barraclough.
-
- Buildfix for Thumb-2 after r55684. Add branch8 and branchTest8 functions.
- https://bugs.webkit.org/show_bug.cgi?id=35892
-
- * assembler/ARMv7Assembler.h:
- (JSC::ARMv7Assembler::):
- (JSC::ARMv7Assembler::ldrb):
- * assembler/MacroAssemblerARMv7.h:
- (JSC::MacroAssemblerARMv7::load8):
- (JSC::MacroAssemblerARMv7::branch8):
- (JSC::MacroAssemblerARMv7::branchTest8):
- (JSC::MacroAssemblerARMv7::setTest8):
-
-2010-03-10 Gavin Barraclough <barraclough@apple.com>
-
- Rubber stamped by Oliver Hunt.
+ (JSC::DEFINE_STUB_FUNCTION): Updated for ExecState and Register API
+ changes noted above. Removed toThisObject() conversion, since all callees
+ do it themselves now.
- Rename JSC::UStringImpl::data() to characters(), to match WebCore::StringImpl.
-
- * API/JSClassRef.cpp:
- (OpaqueJSClassContextData::OpaqueJSClassContextData):
- * bytecompiler/BytecodeGenerator.cpp:
- (JSC::keyForCharacterSwitch):
- * bytecompiler/NodesCodegen.cpp:
- (JSC::processClauseList):
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::privateExecute):
- * jit/JITStubs.cpp:
- (JSC::DEFINE_STUB_FUNCTION):
- * runtime/ArrayPrototype.cpp:
- (JSC::arrayProtoFuncToString):
- * runtime/Identifier.cpp:
- (JSC::Identifier::equal):
- (JSC::Identifier::addSlowCase):
- * runtime/JSString.cpp:
- (JSC::JSString::resolveRope):
- * runtime/UString.cpp:
- (JSC::UString::toStrictUInt32):
- (JSC::equal):
- * runtime/UString.h:
- (JSC::UString::data):
- * runtime/UStringImpl.h:
- (JSC::UStringImpl::characters):
- (JSC::UStringImpl::hash):
- (JSC::UStringImpl::setHash):
-
-2010-03-10 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Darin Adler, Geoffrey Garen, Maciej Stachowiak.
-
- https://bugs.webkit.org/show_bug.cgi?id=35991
- Would be faster to not use a thread specific to implement StringImpl::empty()
-
- Change JSC::UStringImpl's implementation of empty() match to match StringImpl's new implementation
- (use a static defined within the empty() method), and change the interface to match too (return
- a pointer not a reference).
-
- ~0% performance impact (possible minor progression from moving empty() from .h to .cpp).
-
- * JavaScriptCore.exp:
- * runtime/Identifier.cpp:
- (JSC::Identifier::add):
- (JSC::Identifier::addSlowCase):
- * runtime/PropertyNameArray.cpp:
- (JSC::PropertyNameArray::add):
- * runtime/UString.cpp:
- (JSC::initializeUString):
- (JSC::UString::UString):
- * runtime/UStringImpl.cpp:
- (JSC::UStringImpl::empty):
- (JSC::UStringImpl::create):
- * runtime/UStringImpl.h:
- (JSC::UStringImpl::adopt):
- (JSC::UStringImpl::createUninitialized):
- (JSC::UStringImpl::tryCreateUninitialized):
-
-2010-03-10 Dmitry Titov <dimich@chromium.org>
-
- Not reviewed, fixing Snow Leopard build.
-
- * wtf/mac/MainThreadMac.mm: Forgot 'static' for a new local function.
- (WTF::postTimer):
-
-2010-03-10 Dmitry Titov <dimich@chromium.org>
-
- Reviewed by Darin Adler.
-
- Make Document::postTask to use a single queue of tasks, to fire them in order
- https://bugs.webkit.org/show_bug.cgi?id=35943
-
- The patch uses CFRunLoopTimer to schedule execution of tasks instead of performSelectorOnMainThread which apparently can starve other event sources.
- The timer is used when the schedule request is coming on the main thread itself. This happens when the task is posted on the main thread or
- when too many tasks are posted and the queue does 'stop and re-schedule' to make sure run loop has a chance to execute other events.
-
- * wtf/mac/MainThreadMac.mm:
- (WTF::timerFired):
- (WTF::postTimer):
- (WTF::scheduleDispatchFunctionsOnMainThread): Use timer posted to the current RunLoop if scheduling the task execution while on the main thread.
-
-2010-03-10 Geoffrey Garen <ggaren@apple.com>
-
- Windows build fix: added new symbol.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-03-10 Geoffrey Garen <ggaren@apple.com>
-
- Windows build fix: removed old symbol.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-03-09 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Alexey Proskuryakov, Darin Adler, and Sam Weinig.
-
- Refactored fastCheckConsistency to match some review comments:
- - renamed fastCheckConsistency to fastMallocSize, and changed ValueCheck
- to ASSERT that a pointer's fastMallocSize is not 0.
- - implemented a version of fastMallocSize for tcmalloc.
-
- Also moved some pre-existing code around to avoid a problem related to
- mismatched #define/#undef of malloc/free in this source file.
-
- * JavaScriptCore.exp:
- * wtf/FastMalloc.cpp:
- (WTF::fastMallocSize): Renamed. Fixed indentation.
-
- (WTF::TCMalloc_PageHeap::scavenge): Removed an incorrect ASSERT that
- got in the way of testing the tcmalloc implementation. (More information
- on why this ASSERT is incorrect is in <rdar://problem/7165917>.)
-
- (WTF::TCMallocStats::fastMallocSize): Implemented for tcmalloc.
-
- * wtf/FastMalloc.h: Updated for rename.
-
- * wtf/ValueCheck.h:
- (WTF::): Moved the ASSERT that used to be in fastCheckConsistency here.
-
-2010-03-10 Kevin Ollivier <kevino@theolliviers.com>
-
- Reviewed by Eric Seidel.
-
- Make global new/delete operators configurable for all ports and disable it
- for the wx port for now.
-
- * wtf/FastMalloc.h:
- * wtf/Platform.h:
-
-2010-03-09 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (reverting r54510).
-
- This caused a performance regression, by breaking the code
- generator's logic to calculate the skip level for resolving
- variables (traced by rdar:7683350) Reverting for now.
-
- * parser/Grammar.y:
- * parser/NodeConstructors.h:
- (JSC::ContinueNode::ContinueNode):
- (JSC::BreakNode::BreakNode):
- (JSC::ForInNode::ForInNode):
- * runtime/CommonIdentifiers.cpp:
- (JSC::CommonIdentifiers::CommonIdentifiers):
- * runtime/CommonIdentifiers.h:
- * runtime/FunctionPrototype.cpp:
- (JSC::FunctionPrototype::FunctionPrototype):
- * runtime/Identifier.cpp:
- (JSC::Identifier::add):
- * runtime/PropertyNameArray.cpp:
- (JSC::PropertyNameArray::add):
-
-2010-03-09 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler.
-
- Changed FastMalloc statistics reporting to be a bit clearer. We now
- report:
- - Reserved VM Bytes: the VM that has been mapped into the process.
- - Committed VM Bytes: the subset of Reserved VM Bytes actually in use.
- - Free List Bytes: the subset of Committed VM Bytes in a free list.
-
- * wtf/FastMalloc.cpp:
- (WTF::fastMallocStatistics):
- (WTF::TCMallocStats::fastMallocStatistics): Updated to report the statistics
- above. Standardized use of "ifdef WTF_CHANGES". Added a SpinLockHolder
- around all statistics gathering, since it reads from the page heap.
-
- * wtf/FastMalloc.h: Updated to report the statistics above.
-
-2010-03-09 Gabor Loki <loki@webkit.org>
-
- Rubber-stamped by Maciej Stachowiak.
-
- Buildfix for ARM after r55684. Add branch8 and branchTest8 functions.
- https://bugs.webkit.org/show_bug.cgi?id=35892
-
- * assembler/ARMAssembler.cpp:
- (JSC::ARMAssembler::dataTransfer32):
- * assembler/ARMAssembler.h:
- (JSC::ARMAssembler::):
- * assembler/MacroAssemblerARM.h:
- (JSC::MacroAssemblerARM::load8):
- (JSC::MacroAssemblerARM::branch8):
- (JSC::MacroAssemblerARM::branchTest8):
-
-2010-03-08 Geoffrey Garen <ggaren@apple.com>
-
- Windows build fix: 'P' is not a type. Luckily, 'void' is.
-
- * wtf/FastMalloc.cpp:
- (WTF::fastCheckConsistency):
-
-2010-03-08 Geoffrey Garen <ggaren@apple.com>
-
- Windows build fix: export a new symbol.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-03-08 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Switching malloc implementations requires a world rebuild
- https://bugs.webkit.org/show_bug.cgi?id=35899
-
- * wtf/FastMalloc.cpp:
- (WTF::fastCheckConsistency):
- (WTF::TCMallocStats::fastCheckConsistency):
- * wtf/FastMalloc.h:
- * wtf/ValueCheck.h:
- (WTF::): Moved pointer checking into a helper function in FastMalloc.cpp,
- so you can switch malloc implementations without rebuilding the world.
-
-2010-03-07 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Darin Adler.
-
- TypeInfo is unnecessarily large
- https://bugs.webkit.org/show_bug.cgi?id=35850
-
- Reduce the size of the type and flags members to a single
- byte each, reducing the size of Structure by 8 bytes.
-
- * assembler/MacroAssemblerX86Common.h:
- (JSC::MacroAssemblerX86Common::branch8):
- (JSC::MacroAssemblerX86Common::branchTest8):
- (JSC::MacroAssemblerX86Common::setTest8):
- Add single byte branches, and correct setTest8 to do a
- single byte read from memory, and actually store the result
- * assembler/X86Assembler.h:
- (JSC::X86Assembler::):
- (JSC::X86Assembler::cmpb_im):
- (JSC::X86Assembler::testb_im):
- * jit/JITCall.cpp:
- (JSC::JIT::emit_op_construct_verify):
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_instanceof):
- (JSC::JIT::emit_op_jeq_null):
- (JSC::JIT::emit_op_jneq_null):
- (JSC::JIT::emit_op_get_pnames):
- (JSC::JIT::emit_op_convert_this):
- (JSC::JIT::emit_op_construct_verify):
- (JSC::JIT::emit_op_to_jsnumber):
- (JSC::JIT::emit_op_eq_null):
- (JSC::JIT::emit_op_neq_null):
- * runtime/JSTypeInfo.h:
- (JSC::TypeInfo::TypeInfo):
- (JSC::TypeInfo::type):
-
-2010-03-08 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (reverting regression).
-
- Reverting 55035, this caused a regression.
- (https://bugs.webkit.org/show_bug.cgi?id=35843)
-
- * runtime/JSString.cpp:
- (JSC::JSString::resolveRope):
- (JSC::JSString::getStringPropertyDescriptor):
- * runtime/JSString.h:
- (JSC::jsSingleCharacterSubstring):
- (JSC::JSString::getIndex):
- (JSC::JSString::getStringPropertySlot):
- * runtime/UStringImpl.cpp:
- * runtime/UStringImpl.h:
-
-2010-03-08 Stuart Morgan <stuartmorgan@chromium.org>
-
- Reviewed by Darin Adler.
-
- Added a new USE definition for secure text mode on the Mac.
- https://bugs.webkit.org/show_bug.cgi?id=31265
-
- * wtf/Platform.h:
-
-2010-03-08 Jian Li <jianli@chromium.org>
-
- Reviewed by Dmitry Titov.
-
- Blob.slice support.
- https://bugs.webkit.org/show_bug.cgi?id=32993
-
- Add ENABLE_BLOB_SLICE feature define.
- Also fix a problem that JSValue.toInteger is not exposed on Windows.
-
- * Configurations/FeatureDefines.xcconfig:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-03-07 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Small performance fix in the QScriptConverter::toString().
-
- The QByteArray was replaced by the QVarLengthArray which doesn't
- have to allocate any memory on heap.
-
- [Qt] QScriptConverter::toString() should use QVarLengthArray instead of QByteArray
- https://bugs.webkit.org/show_bug.cgi?id=35577
-
- * qt/api/qscriptconverter_p.h:
- (QScriptConverter::toString):
-
-2010-03-06 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Sam Weinig.
-
- Remove unnecessary includes of wtf/Platform.h. This is already pulled in by config.h.
-
- * API/APICast.h:
- * API/JSCallbackFunction.cpp:
- * API/JSContextRef.cpp:
- * API/JSObjectRef.cpp:
- * API/JSValueRef.cpp:
- * assembler/ARMAssembler.h:
- * assembler/ARMv7Assembler.h:
- * assembler/AbstractMacroAssembler.h:
- * assembler/AssemblerBuffer.h:
- * assembler/AssemblerBufferWithConstantPool.h:
- * assembler/CodeLocation.h:
- * assembler/LinkBuffer.h:
- * assembler/MIPSAssembler.h:
- * assembler/MacroAssembler.h:
- * assembler/MacroAssemblerARM.h:
- * assembler/MacroAssemblerARMv7.h:
- * assembler/MacroAssemblerCodeRef.h:
- * assembler/MacroAssemblerMIPS.h:
- * assembler/MacroAssemblerX86.h:
- * assembler/MacroAssemblerX86Common.h:
- * assembler/MacroAssemblerX86_64.h:
- * assembler/RepatchBuffer.h:
- * assembler/X86Assembler.h:
- * jit/JIT.h:
- * jit/JITCode.h:
- * jit/JITInlineMethods.h:
- * jit/JITStubs.h:
- * os-win32/stdint.h:
- * runtime/JSAPIValueWrapper.h:
- * runtime/JSImmediate.h:
- * wtf/ASCIICType.h:
- * wtf/StdLibExtras.h:
- * wtf/VMTags.h:
- * yarr/RegexCompiler.h:
- * yarr/RegexInterpreter.h:
- * yarr/RegexJIT.h:
- * yarr/RegexParser.h:
- * yarr/RegexPattern.h:
-
-2010-03-06 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Share OwnPtr.
- https://bugs.webkit.org/show_bug.cgi?id=35776
-
- Share OwnPtr implementation with BREW MP and remove OwnPtrBrew.
-
- * wtf/OwnPtrBrew.cpp: Added.
- (WTF::deleteOwnedPtr):
- * wtf/OwnPtrCommon.h:
- * wtf/brew/OwnPtrBrew.cpp: Removed.
- * wtf/brew/OwnPtrBrew.h: Removed.
-
-2010-03-06 Patrick Gansterer <paroga@paroga.com>
-
- Reviewed by Eric Seidel.
-
- Implemented JIT_OPTIMIZE_NATIVE_CALL for WinCE
- https://bugs.webkit.org/show_bug.cgi?id=33426
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::privateCompileCTIMachineTrampolines):
-
-2010-03-05 Oliver Hunt <oliver@apple.com>
-
- Reviewed by NOBODY (build fix).
-
- Add enw exports to windows
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-03-05 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- JSC should cache int to Identifier conversion as it does for ordinary strings
- https://bugs.webkit.org/show_bug.cgi?id=35814
-
- Make the NumericStrings cache cache unsigned ints in addition to signed.
- We keep them separate from the int cache as it both simplifies code, and
- also because the unsigned path is exclusive to property access and therefore
- seems to have different usage patterns.
-
- The primary trigger for the unsigned to Identifier propertyName conversion
- is the construction of array-like objects out of normal objects. Given these
- tend to be relative small numbers, and the array-like behaviour lends itself
- to sequential values this patch also adds a non-colliding cache for all small
- numbers.
-
- * JavaScriptCore.exp:
- * runtime/Identifier.cpp:
- (JSC::Identifier::from):
- * runtime/Identifier.h:
- * runtime/NumericStrings.h:
- (JSC::NumericStrings::add):
- (JSC::NumericStrings::lookup):
- (JSC::NumericStrings::lookupSmallString):
-
-2010-03-03 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Allow static property getters to interact with JSCs caching
- https://bugs.webkit.org/show_bug.cgi?id=35716
-
- Add new opcodes for handling cached lookup of static value getters.
- More or less the same as with JS getters, all that changes is that
- instead of calling through a JSFunction we always know that we have
- a C function to call.
-
- For the patching routines in the JIT we now need to pass a few
- new parameters to allow us to pass enough information to the stub
- function to allow us to call the C function correctly. Logically
- this shouldn't actually be necessary as all of these functions ignore
- the identifier, but removing the ident parameter would require
- somewhat involved changes to the way we implement getOwnPropertySlot,
- etc.
-
- * bytecode/CodeBlock.cpp:
- (JSC::CodeBlock::dump):
- (JSC::CodeBlock::derefStructures):
- (JSC::CodeBlock::refStructures):
- * bytecode/Instruction.h:
- (JSC::Instruction::Instruction):
- (JSC::Instruction::):
- * bytecode/Opcode.h:
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::tryCacheGetByID):
- (JSC::Interpreter::privateExecute):
- * jit/JIT.cpp:
- (JSC::JIT::privateCompileMainPass):
- * jit/JIT.h:
- (JSC::JIT::compileGetByIdProto):
- (JSC::JIT::compileGetByIdSelfList):
- (JSC::JIT::compileGetByIdProtoList):
- (JSC::JIT::compileGetByIdChainList):
- (JSC::JIT::compileGetByIdChain):
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::privateCompileGetByIdProto):
- (JSC::JIT::privateCompileGetByIdSelfList):
- (JSC::JIT::privateCompileGetByIdProtoList):
- (JSC::JIT::privateCompileGetByIdChainList):
- (JSC::JIT::privateCompileGetByIdChain):
- * jit/JITPropertyAccess32_64.cpp:
- (JSC::JIT::privateCompileGetByIdProto):
- (JSC::JIT::privateCompileGetByIdSelfList):
- (JSC::JIT::privateCompileGetByIdProtoList):
- (JSC::JIT::privateCompileGetByIdChainList):
- (JSC::JIT::privateCompileGetByIdChain):
- * jit/JITStubs.cpp:
- (JSC::JITThunks::tryCacheGetByID):
- (JSC::DEFINE_STUB_FUNCTION):
- * jit/JITStubs.h:
- (JSC::):
- * runtime/JSFunction.cpp:
- (JSC::JSFunction::getOwnPropertySlot):
- * runtime/Lookup.h:
- (JSC::getStaticPropertySlot):
- (JSC::getStaticValueSlot):
- * runtime/PropertySlot.h:
- (JSC::PropertySlot::):
- (JSC::PropertySlot::PropertySlot):
- (JSC::PropertySlot::cachedPropertyType):
- (JSC::PropertySlot::isCacheable):
- (JSC::PropertySlot::isCacheableValue):
- (JSC::PropertySlot::setValueSlot):
- (JSC::PropertySlot::setCacheableCustom):
- (JSC::PropertySlot::setGetterSlot):
- (JSC::PropertySlot::setCacheableGetterSlot):
- (JSC::PropertySlot::clearOffset):
- (JSC::PropertySlot::customGetter):
-
-2010-03-04 Shinichiro Hamaji <hamaji@chromium.org>
-
- Unreviewed. Remove a non-ASCII character introduced in the following bug.
-
- put_by_id does will incorrectly cache writes where a specific value exists, where at the point of caching the same value is being written.
- https://bugs.webkit.org/show_bug.cgi?id=35537
-
- * runtime/JSObject.h:
- (JSC::JSObject::putDirectInternal):
-
-2010-03-04 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Make the OUTPUT_DIR variable in qmake projects independent of build-webkit's logic.
-
- This also allows shadow builds relying only on qmake to work properly.
- * jsc.pro:
- * qt/api/QtScript.pro:
- * qt/tests/qscriptengine/qscriptengine.pro:
- * qt/tests/qscriptvalue/qscriptvalue.pro:
- * qt/tests/tests.pri:
-
-2010-03-03 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- QScriptValue::isObject fix.
-
- Fix broken internal state evaluation from JSValue to JSNative / JSObject.
- New function was introduced which should take care about promoting
- JSValue state inside QScriptValuePrivate. It should be used instead of a
- direct JSC C API call.
-
- The bug exposed a weakness in autotest suite, as the QScriptValuePrivate
- is based on state machine with lazy state evaluation, there is a possibility
- that serial sequencial calls to the same public const function could return
- different results. The patch fix the issue.
-
- [Qt] Sometimes QScriptValue::isObject returns an incorrect value
- https://bugs.webkit.org/show_bug.cgi?id=35387
-
- * qt/api/qscriptvalue_p.h:
- (QScriptValuePrivate::isBool):
- (QScriptValuePrivate::isNumber):
- (QScriptValuePrivate::isNull):
- (QScriptValuePrivate::isString):
- (QScriptValuePrivate::isUndefined):
- (QScriptValuePrivate::isError):
- (QScriptValuePrivate::isObject):
- (QScriptValuePrivate::isFunction):
- (QScriptValuePrivate::call):
- (QScriptValuePrivate::refineJSValue):
- * qt/tests/qscriptvalue/tst_qscriptvalue_generated.cpp:
- (tst_QScriptValue::initScriptValues):
- (tst_QScriptValue::isValid_makeData):
- (tst_QScriptValue::isValid_test):
- (tst_QScriptValue::isBool_makeData):
- (tst_QScriptValue::isBool_test):
- (tst_QScriptValue::isBoolean_makeData):
- (tst_QScriptValue::isBoolean_test):
- (tst_QScriptValue::isNumber_makeData):
- (tst_QScriptValue::isNumber_test):
- (tst_QScriptValue::isFunction_test):
- (tst_QScriptValue::isNull_makeData):
- (tst_QScriptValue::isNull_test):
- (tst_QScriptValue::isString_makeData):
- (tst_QScriptValue::isString_test):
- (tst_QScriptValue::isUndefined_makeData):
- (tst_QScriptValue::isUndefined_test):
- (tst_QScriptValue::isObject_makeData):
- (tst_QScriptValue::isObject_test):
- (tst_QScriptValue::toString_makeData):
- (tst_QScriptValue::toString_test):
- (tst_QScriptValue::toNumber_makeData):
- (tst_QScriptValue::toNumber_test):
- (tst_QScriptValue::toBool_makeData):
- (tst_QScriptValue::toBool_test):
- (tst_QScriptValue::toBoolean_makeData):
- (tst_QScriptValue::toBoolean_test):
- (tst_QScriptValue::toInteger_makeData):
- (tst_QScriptValue::toInteger_test):
- (tst_QScriptValue::toInt32_makeData):
- (tst_QScriptValue::toInt32_test):
- (tst_QScriptValue::toUInt32_makeData):
- (tst_QScriptValue::toUInt32_test):
- (tst_QScriptValue::toUInt16_makeData):
- (tst_QScriptValue::toUInt16_test):
-
-2010-03-03 Chao-ying Fu <fu@mips.com>
-
- Reviewed by Gavin Barraclough.
-
- MIPS JIT Supports
- https://bugs.webkit.org/show_bug.cgi?id=30144
-
- The following changes enable MIPS YARR and YARR_JIT.
-
- * assembler/AbstractMacroAssembler.h:
- (JSC::AbstractMacroAssembler::Imm32::Imm32):
- * assembler/MIPSAssembler.h: Added.
- (JSC::MIPSRegisters::):
- (JSC::MIPSAssembler::MIPSAssembler):
- (JSC::MIPSAssembler::):
- (JSC::MIPSAssembler::JmpSrc::JmpSrc):
- (JSC::MIPSAssembler::JmpDst::JmpDst):
- (JSC::MIPSAssembler::JmpDst::isUsed):
- (JSC::MIPSAssembler::JmpDst::used):
- (JSC::MIPSAssembler::emitInst):
- (JSC::MIPSAssembler::nop):
- (JSC::MIPSAssembler::loadDelayNop):
- (JSC::MIPSAssembler::copDelayNop):
- (JSC::MIPSAssembler::move):
- (JSC::MIPSAssembler::li):
- (JSC::MIPSAssembler::lui):
- (JSC::MIPSAssembler::addiu):
- (JSC::MIPSAssembler::addu):
- (JSC::MIPSAssembler::subu):
- (JSC::MIPSAssembler::mult):
- (JSC::MIPSAssembler::mfhi):
- (JSC::MIPSAssembler::mflo):
- (JSC::MIPSAssembler::mul):
- (JSC::MIPSAssembler::andInsn):
- (JSC::MIPSAssembler::andi):
- (JSC::MIPSAssembler::nor):
- (JSC::MIPSAssembler::orInsn):
- (JSC::MIPSAssembler::ori):
- (JSC::MIPSAssembler::xorInsn):
- (JSC::MIPSAssembler::xori):
- (JSC::MIPSAssembler::slt):
- (JSC::MIPSAssembler::sltu):
- (JSC::MIPSAssembler::sltiu):
- (JSC::MIPSAssembler::sll):
- (JSC::MIPSAssembler::sllv):
- (JSC::MIPSAssembler::sra):
- (JSC::MIPSAssembler::srav):
- (JSC::MIPSAssembler::lw):
- (JSC::MIPSAssembler::lwl):
- (JSC::MIPSAssembler::lwr):
- (JSC::MIPSAssembler::lhu):
- (JSC::MIPSAssembler::sw):
- (JSC::MIPSAssembler::jr):
- (JSC::MIPSAssembler::jalr):
- (JSC::MIPSAssembler::jal):
- (JSC::MIPSAssembler::bkpt):
- (JSC::MIPSAssembler::bgez):
- (JSC::MIPSAssembler::bltz):
- (JSC::MIPSAssembler::beq):
- (JSC::MIPSAssembler::bne):
- (JSC::MIPSAssembler::bc1t):
- (JSC::MIPSAssembler::bc1f):
- (JSC::MIPSAssembler::newJmpSrc):
- (JSC::MIPSAssembler::appendJump):
- (JSC::MIPSAssembler::addd):
- (JSC::MIPSAssembler::subd):
- (JSC::MIPSAssembler::muld):
- (JSC::MIPSAssembler::lwc1):
- (JSC::MIPSAssembler::ldc1):
- (JSC::MIPSAssembler::swc1):
- (JSC::MIPSAssembler::sdc1):
- (JSC::MIPSAssembler::mtc1):
- (JSC::MIPSAssembler::mfc1):
- (JSC::MIPSAssembler::truncwd):
- (JSC::MIPSAssembler::cvtdw):
- (JSC::MIPSAssembler::ceqd):
- (JSC::MIPSAssembler::cngtd):
- (JSC::MIPSAssembler::cnged):
- (JSC::MIPSAssembler::cltd):
- (JSC::MIPSAssembler::cled):
- (JSC::MIPSAssembler::cueqd):
- (JSC::MIPSAssembler::coled):
- (JSC::MIPSAssembler::coltd):
- (JSC::MIPSAssembler::culed):
- (JSC::MIPSAssembler::cultd):
- (JSC::MIPSAssembler::label):
- (JSC::MIPSAssembler::align):
- (JSC::MIPSAssembler::getRelocatedAddress):
- (JSC::MIPSAssembler::getDifferenceBetweenLabels):
- (JSC::MIPSAssembler::size):
- (JSC::MIPSAssembler::executableCopy):
- (JSC::MIPSAssembler::getCallReturnOffset):
- (JSC::MIPSAssembler::linkJump):
- (JSC::MIPSAssembler::linkCall):
- (JSC::MIPSAssembler::linkPointer):
- (JSC::MIPSAssembler::relinkJump):
- (JSC::MIPSAssembler::relinkCall):
- (JSC::MIPSAssembler::repatchInt32):
- (JSC::MIPSAssembler::repatchPointer):
- (JSC::MIPSAssembler::repatchLoadPtrToLEA):
- (JSC::MIPSAssembler::relocateJumps):
- (JSC::MIPSAssembler::linkWithOffset):
- (JSC::MIPSAssembler::linkCallInternal):
- * assembler/MacroAssembler.h:
- * assembler/MacroAssemblerMIPS.h: Added.
- (JSC::MacroAssemblerMIPS::MacroAssemblerMIPS):
- (JSC::MacroAssemblerMIPS::):
- (JSC::MacroAssemblerMIPS::add32):
- (JSC::MacroAssemblerMIPS::and32):
- (JSC::MacroAssemblerMIPS::lshift32):
- (JSC::MacroAssemblerMIPS::mul32):
- (JSC::MacroAssemblerMIPS::not32):
- (JSC::MacroAssemblerMIPS::or32):
- (JSC::MacroAssemblerMIPS::rshift32):
- (JSC::MacroAssemblerMIPS::sub32):
- (JSC::MacroAssemblerMIPS::xor32):
- (JSC::MacroAssemblerMIPS::load32):
- (JSC::MacroAssemblerMIPS::load32WithUnalignedHalfWords):
- (JSC::MacroAssemblerMIPS::load32WithAddressOffsetPatch):
- (JSC::MacroAssemblerMIPS::loadPtrWithPatchToLEA):
- (JSC::MacroAssemblerMIPS::loadPtrWithAddressOffsetPatch):
- (JSC::MacroAssemblerMIPS::load16):
- (JSC::MacroAssemblerMIPS::store32WithAddressOffsetPatch):
- (JSC::MacroAssemblerMIPS::store32):
- (JSC::MacroAssemblerMIPS::supportsFloatingPoint):
- (JSC::MacroAssemblerMIPS::supportsFloatingPointTruncate):
- (JSC::MacroAssemblerMIPS::pop):
- (JSC::MacroAssemblerMIPS::push):
- (JSC::MacroAssemblerMIPS::move):
- (JSC::MacroAssemblerMIPS::swap):
- (JSC::MacroAssemblerMIPS::signExtend32ToPtr):
- (JSC::MacroAssemblerMIPS::zeroExtend32ToPtr):
- (JSC::MacroAssemblerMIPS::branch32):
- (JSC::MacroAssemblerMIPS::branch32WithUnalignedHalfWords):
- (JSC::MacroAssemblerMIPS::branch16):
- (JSC::MacroAssemblerMIPS::branchTest32):
- (JSC::MacroAssemblerMIPS::jump):
- (JSC::MacroAssemblerMIPS::branchAdd32):
- (JSC::MacroAssemblerMIPS::branchMul32):
- (JSC::MacroAssemblerMIPS::branchSub32):
- (JSC::MacroAssemblerMIPS::breakpoint):
- (JSC::MacroAssemblerMIPS::nearCall):
- (JSC::MacroAssemblerMIPS::call):
- (JSC::MacroAssemblerMIPS::ret):
- (JSC::MacroAssemblerMIPS::set32):
- (JSC::MacroAssemblerMIPS::setTest32):
- (JSC::MacroAssemblerMIPS::moveWithPatch):
- (JSC::MacroAssemblerMIPS::branchPtrWithPatch):
- (JSC::MacroAssemblerMIPS::storePtrWithPatch):
- (JSC::MacroAssemblerMIPS::tailRecursiveCall):
- (JSC::MacroAssemblerMIPS::makeTailRecursiveCall):
- (JSC::MacroAssemblerMIPS::loadDouble):
- (JSC::MacroAssemblerMIPS::storeDouble):
- (JSC::MacroAssemblerMIPS::addDouble):
- (JSC::MacroAssemblerMIPS::subDouble):
- (JSC::MacroAssemblerMIPS::mulDouble):
- (JSC::MacroAssemblerMIPS::convertInt32ToDouble):
- (JSC::MacroAssemblerMIPS::insertRelaxationWords):
- (JSC::MacroAssemblerMIPS::branchTrue):
- (JSC::MacroAssemblerMIPS::branchFalse):
- (JSC::MacroAssemblerMIPS::branchEqual):
- (JSC::MacroAssemblerMIPS::branchNotEqual):
- (JSC::MacroAssemblerMIPS::branchDouble):
- (JSC::MacroAssemblerMIPS::branchTruncateDoubleToInt32):
- (JSC::MacroAssemblerMIPS::linkCall):
- (JSC::MacroAssemblerMIPS::repatchCall):
- * jit/ExecutableAllocator.h:
- (JSC::ExecutableAllocator::cacheFlush):
- * wtf/Platform.h:
- * yarr/RegexJIT.cpp:
- (JSC::Yarr::RegexGenerator::generateEnter):
- (JSC::Yarr::RegexGenerator::generateReturn):
-
-2010-03-03 Steve Falkenburg <sfalken@apple.com>
-
- Windows build fix.
-
- * JavaScriptCore.vcproj/jsc/jsc.vcproj:
- * JavaScriptCore.vcproj/jsc/jscCommon.vsprops:
-
-2010-03-03 Steve Falkenburg <sfalken@apple.com>
-
- Windows build fix.
-
- * JavaScriptCore.vcproj/jsc/jsc.vcproj:
-
-2010-03-03 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Geoff Garen.
-
- Add virtual memory tags for TCMalloc and WebCore's purgeable buffers.
-
- * wtf/TCSystemAlloc.cpp:
- (TryMmap): Use the VM tag.
- * wtf/VMTags.h: Make use of VM_MEMORY_TCMALLOC and VM_MEMORY_WEBCORE_PURGEABLE_BUFFERS.
-
-2010-03-03 Steve Falkenburg <sfalken@apple.com>
-
- Rubber stamped by Adam Roben.
-
- Fix bogus xcopy that was polluting source tree at build time.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
-
-2010-03-02 Fridrich Strba <fridrich.strba@bluewin.ch>
-
- Reviewed by Oliver Hunt.
-
- Allow building smoothly on win32 and win64 using GCC
- https://bugs.webkit.org/show_bug.cgi?id=35607
-
- * jit/JITStubs.h:
- * runtime/Collector.cpp:
- (JSC::Heap::allocateBlock):
- (JSC::Heap::freeBlockPtr):
- (JSC::currentThreadStackBase):
-
-2010-03-02 Jeremy Orlow <jorlow@chromium.org>
-
- Reviewed by David Levin.
-
- Revert database thread changes that are no longer required
- https://bugs.webkit.org/show_bug.cgi?id=35519
-
- Jochen Eisinger created 55214 and 55247 to track which database
- owns which thread. Dmitry suggested that this could also
- be done via TLS, though. After exploring the options, Jochen
- chose to go the TLS route, so these patches are no longer needed.
-
- * wtf/Threading.h:
- * wtf/ThreadingNone.cpp:
- (WTF::isMainThread):
- * wtf/ThreadingPthreads.cpp:
- (WTF::identifierByPthreadHandle):
- (WTF::establishIdentifierForPthreadHandle):
- (WTF::pthreadHandleForIdentifier):
- (WTF::createThreadInternal):
- (WTF::currentThread):
- * wtf/ThreadingWin.cpp:
- (WTF::threadMap):
- (WTF::storeThreadHandleByIdentifier):
- (WTF::threadHandleForIdentifier):
- (WTF::createThreadInternal):
-
-2010-03-02 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Fix QScriptValue::toString().
-
- More ECMA Script compliance, especially for values as NaN, Inifinite
- and really big/small numbers.
-
- [Qt] QScriptValue::toString() returns incorrect values
- https://bugs.webkit.org/show_bug.cgi?id=34850
-
- * qt/api/qscriptconverter_p.h:
- (QScriptConverter::toString):
- * qt/api/qscriptvalue_p.h:
- (QScriptValuePrivate::toString):
- * qt/tests/qscriptvalue/tst_qscriptvalue.cpp:
- * qt/tests/qscriptvalue/tst_qscriptvalue.h:
- * qt/tests/qscriptvalue/tst_qscriptvalue_generated.cpp:
- (tst_QScriptValue::toString_initData):
- (tst_QScriptValue::toString_makeData):
- (tst_QScriptValue::toString_test):
-
-2010-03-02 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Introduce a new class; QScriptString.
-
- The QScriptString class should act as a handle to "interned"
- strings in a QScriptEngine.
-
- [Qt] QtScript should provide QScriptString
- https://bugs.webkit.org/show_bug.cgi?id=34843
-
- * qt/api/QtScript.pro:
- * qt/api/qscriptengine.cpp:
- (QScriptEngine::toStringHandle):
- * qt/api/qscriptengine.h:
- * qt/api/qscriptengine_p.h:
- (QScriptEnginePrivate::toStringHandle):
- * qt/api/qscriptstring.cpp: Added.
- (QScriptString::QScriptString):
- (QScriptString::~QScriptString):
- (QScriptString::operator=):
- (QScriptString::isValid):
- (QScriptString::operator==):
- (QScriptString::operator!=):
- (QScriptString::toArrayIndex):
- (QScriptString::toString):
- (QScriptString::operator QString):
- (qHash):
- * qt/api/qscriptstring.h: Added.
- * qt/api/qscriptstring_p.h: Added.
- (QScriptStringPrivate::QScriptStringPrivate):
- (QScriptStringPrivate::~QScriptStringPrivate):
- (QScriptStringPrivate::get):
- (QScriptStringPrivate::isValid):
- (QScriptStringPrivate::operator==):
- (QScriptStringPrivate::operator!=):
- (QScriptStringPrivate::toArrayIndex):
- (QScriptStringPrivate::toString):
- (QScriptStringPrivate::id):
- * qt/tests/qscriptstring/qscriptstring.pro: Added.
- * qt/tests/qscriptstring/tst_qscriptstring.cpp: Added.
- (tst_QScriptString::tst_QScriptString):
- (tst_QScriptString::~tst_QScriptString):
- (tst_QScriptString::test):
- (tst_QScriptString::hash):
- (tst_QScriptString::toArrayIndex_data):
- (tst_QScriptString::toArrayIndex):
- * qt/tests/tests.pro:
-
-2010-03-02 Oliver Hunt <oliver@apple.com>
-
- Reviewed by NOBODY (Build fix).
-
- Export function on windows.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-03-01 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Maciej Stachowiak.
+ * runtime/ArgList.h:
+ (JSC::ArgList::ArgList): ArgList is getting close to unused. Added a
+ temporary shim for converting from ExecState* to ArgList where it's still
+ necessary.
- Refactor named getter function signature to be in line with indexing getter signature
- https://bugs.webkit.org/show_bug.cgi?id=35563
+ * runtime/Arguments.h:
+ (JSC::Arguments::getArgumentsData):
+ (JSC::Arguments::Arguments): Updated for ExecState and Register API
+ changes noted above.
- This removes the PropertySlot argument from getter functions, and makes them directly
- pass the slot base. This makes the semantics for the functions match that of the
- indexing getters.
+ * runtime/CallData.cpp:
+ (JSC::call): Changed call always to call Interpreter::executeCall, even
+ for host functions. This ensures that the normal calling convention is
+ set up in the RegsiterFile when calling from C++ to host function.
- On the down side, this means that we can no longer simply use a proxy function for
- JS getters, so we now add another marker value to indicate that a getter is present
- and branch accordingly.
+ * runtime/CallData.h: Changed host function signature as described above.
- Against all rationality sunspider reports this as a perf win, but i suspect it's just noise.
+ * runtime/ConstructData.cpp:
+ (JSC::construct): Moved JSFunction::construct code here so I could nix
+ JSFunction::call and JSFunction::call. We want a JSFunction-agnostic
+ way to call and construct, so that everything works naturally for non-
+ JSFunction objects.
- * API/JSCallbackObject.h:
- * API/JSCallbackObjectFunctions.h:
- (JSC::::staticValueGetter):
- (JSC::::staticFunctionGetter):
- (JSC::::callbackGetter):
- * JavaScriptCore.exp:
- * runtime/JSActivation.cpp:
- (JSC::JSActivation::argumentsGetter):
- * runtime/JSActivation.h:
* runtime/JSFunction.cpp:
- (JSC::JSFunction::argumentsGetter):
- (JSC::JSFunction::callerGetter):
- (JSC::JSFunction::lengthGetter):
- * runtime/JSFunction.h:
- * runtime/NumberConstructor.cpp:
- (JSC::numberConstructorNaNValue):
- (JSC::numberConstructorNegInfinity):
- (JSC::numberConstructorPosInfinity):
- (JSC::numberConstructorMaxValue):
- (JSC::numberConstructorMinValue):
- * runtime/PropertySlot.cpp:
- (JSC::PropertySlot::functionGetter):
- * runtime/PropertySlot.h:
- (JSC::PropertySlot::getValue):
- (JSC::PropertySlot::setGetterSlot):
- (JSC::PropertySlot::setCacheableGetterSlot):
- * runtime/RegExpConstructor.cpp:
- (JSC::regExpConstructorDollar1):
- (JSC::regExpConstructorDollar2):
- (JSC::regExpConstructorDollar3):
- (JSC::regExpConstructorDollar4):
- (JSC::regExpConstructorDollar5):
- (JSC::regExpConstructorDollar6):
- (JSC::regExpConstructorDollar7):
- (JSC::regExpConstructorDollar8):
- (JSC::regExpConstructorDollar9):
- (JSC::regExpConstructorInput):
- (JSC::regExpConstructorMultiline):
- (JSC::regExpConstructorLastMatch):
- (JSC::regExpConstructorLastParen):
- (JSC::regExpConstructorLeftContext):
- (JSC::regExpConstructorRightContext):
- * runtime/RegExpObject.cpp:
- (JSC::regExpObjectGlobal):
- (JSC::regExpObjectIgnoreCase):
- (JSC::regExpObjectMultiline):
- (JSC::regExpObjectSource):
- (JSC::regExpObjectLastIndex):
-
-2010-03-01 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- PropertySlot::getValue(ExecState, unsigned) unnecessarily converts index to an Identifier
- https://bugs.webkit.org/show_bug.cgi?id=35561
-
- Fix this by defining a separate property getter function for index getters. This allows
- us to pass an unsigned number without the conversion to an Identifier. We then update
- setCustomIndex to take this new getter type.
-
- * runtime/PropertySlot.h:
- (JSC::PropertySlot::getValue):
- (JSC::PropertySlot::setCustom):
- (JSC::PropertySlot::setCustomIndex):
-
-2010-03-01 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Bug 35537 - put_by_id does will incorrectly cache writes where a specific value exists,
- where at the point of caching the same value is being written.
-
- When performing a put_by_id that is replacing a property already present on the object,
- there are three interesting cases regarding the state of the specific value:
-
- (1) No specific value set - nothing to do, leave the structure in it's current state,
- can cache.
- (2) A specific value was set, the new put is not of a specified value (i.e. function),
- or is of a different specific value - in these cases we need to perform a despecifying
- transition to clear the specific value in the structure, but having done so this is a
- normal property so as such we can again cache normally.
- (3) A specific value was set, and we are overwriting with the same value - in these cases
- leave the structure unchanged, but since a specific value is set we cannot cache this
- put (we would need the JIT to dynamically check the value being written matched).
-
- Unfortunately, the current behaviour does not match this. the checks for a specific value
- being present & the value matching are combined in such a way that in case (2), above we
- will unnecessarily prevent the transition being cached, but in case (3) we will incorrectly
- fail to prevent caching.
-
- The bug exposes itself if multiple puts of the same specific value are performed to a
- property, and erroneously the put is allowed to be cached by the JIT. Method checks may be
- generated caching calls of this structure. Subsequent puts performed from JIT code may
- write different values without triggering a despecify transition, and as such cached method
- checks will continue to pass, despite the value having changed.
-
- * runtime/JSObject.h:
- (JSC::JSObject::putDirectInternal):
-
-2010-03-01 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Fix the Qt build on Mac OS X/Cocoa 64-bit
-
- * JavaScriptCore.pri: Add missing implementation file to resolve JSC symbols
-
-2010-02-26 Gavin Barraclough <barraclough@apple.com>
-
- Rubber Stamped by Geoff Garen.
-
- Remove wrec. All builds should have switched to yarr by now.
-
- * Android.mk:
- * GNUmakefile.am:
- * JavaScriptCore.gypi:
- * JavaScriptCore.pri:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
- * JavaScriptCore.vcproj/jsc/jscCommon.vsprops:
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * runtime/RegExp.cpp:
- (JSC::RegExp::match):
- * runtime/RegExp.h:
- * wrec: Removed.
- * wrec/CharacterClass.cpp: Removed.
- * wrec/CharacterClass.h: Removed.
- * wrec/CharacterClassConstructor.cpp: Removed.
- * wrec/CharacterClassConstructor.h: Removed.
- * wrec/Escapes.h: Removed.
- * wrec/Quantifier.h: Removed.
- * wrec/WREC.cpp: Removed.
- * wrec/WREC.h: Removed.
- * wrec/WRECFunctors.cpp: Removed.
- * wrec/WRECFunctors.h: Removed.
- * wrec/WRECGenerator.cpp: Removed.
- * wrec/WRECGenerator.h: Removed.
- * wrec/WRECParser.cpp: Removed.
- * wrec/WRECParser.h: Removed.
- * wscript:
-
-2010-02-26 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Geoff Garen.
-
- Make the lookup table generator include an explicit cast to expected
- type of the function. We do this because otherwise the blind intptr_t
- cast that is subsequently applied allows incorrectly typed functions
- to be inserted into the table, where they will only fail at runtime.
- This change makes such errors produce a compile time failure.
-
- * create_hash_table:
-
-2010-02-26 Janne Koskinen <janne.p.koskinen@digia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Symbian specific getCPUTime implemetation
- https://bugs.webkit.org/show_bug.cgi?id=34742
-
- Default implementation doesn't work on Symbian devices.
- This change adds a proper implementation by
- asking thread execution time from the current thread.
-
- * runtime/TimeoutChecker.cpp:
- (JSC::getCPUTime):
-
-2010-02-25 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Anders Carlsson.
-
- https://bugs.webkit.org/show_bug.cgi?id=35406
- <rdar://problem/6945502> Make generic array methods work with JavaArray
-
- Renamed lazyCreationData to subclassData. This is extra data that can be used by JSArray
- subclasses (you can't add new data members, because it wouldn't fit in JSCell otherwise).
-
- * JavaScriptCore.exp:
- * runtime/JSArray.cpp:
- (JSC::JSArray::JSArray):
- (JSC::JSArray::subclassData):
- (JSC::JSArray::setSubclassData):
- * runtime/JSArray.h:
- * runtime/RegExpConstructor.cpp:
- (JSC::RegExpMatchesArray::RegExpMatchesArray):
- (JSC::RegExpMatchesArray::~RegExpMatchesArray):
- (JSC::RegExpMatchesArray::fillArrayInstance):
- * runtime/RegExpMatchesArray.h:
- (JSC::RegExpMatchesArray::getOwnPropertySlot):
- (JSC::RegExpMatchesArray::getOwnPropertyDescriptor):
- (JSC::RegExpMatchesArray::put):
- (JSC::RegExpMatchesArray::deleteProperty):
- (JSC::RegExpMatchesArray::getOwnPropertyNames):
-
-2010-02-25 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Geoff Garen.
-
- JSC crashes like crazy in the JSPropertyNameIterator destructor
-
- Add back null check of m_cachedStructure. Curse last minute changes.
-
- * runtime/JSPropertyNameIterator.cpp:
- (JSC::JSPropertyNameIterator::~JSPropertyNameIterator):
-
-2010-02-25 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Race condition in JSPropertyNameIterator and Structure destruction
- https://bugs.webkit.org/show_bug.cgi?id=35398
-
- JSPropertyNameIterator and Structure have a cyclic dependency that they
- manage by clearing the appropriate reference in each other during their
- destruction. However if the Structure is destroyed while the
- JSPropertyNameIterator is dead but not yet finalized the Structures
- WeakGCPtr will return null, and so prevent Structure from clearing
- the m_cachedStructure pointer of the iterator. When the iterator is
- then finalised the m_cachedStructure is invalid, and the attempt to
- clear the structures back reference fails.
-
- To fix this we simply make JSPropertyNameIterator keep the Structure
- alive, using the weak pointer to break the ref cycle.
-
- * runtime/JSPropertyNameIterator.cpp:
- (JSC::JSPropertyNameIterator::~JSPropertyNameIterator):
- The iterator now keeps m_cachedStructure alive itself, so no longer needs
- to check for it being cleared
- * runtime/JSPropertyNameIterator.h:
- (JSC::JSPropertyNameIterator::setCachedStructure):
- Add an assertion to ensure correct usage
- (JSC::JSPropertyNameIterator::cachedStructure):
- Add .get()
- * runtime/Structure.cpp:
- (JSC::Structure::~Structure):
- Add an assertion that our iterator isn't already dead, and remove
- the now unnecessary attempt to clear the ref in the iterator
- * runtime/WeakGCPtr.h:
- (JSC::WeakGCPtr::hasDeadObject):
- An assert-only function to allow us to assert correct behaviour
- in the Structure destructor
-
-2010-02-25 Jochen Eisinger <jochen@chromium.org>
+ (JSC::callHostFunctionAsConstructor):
+ * runtime/JSFunction.h: Updated for ExecState and Register API changes
+ noted above. Nixed JSFunction::call and JSFunction::construct, noted above.
- Reviewed by Jeremy Orlow.
-
- Make the context that was passed to the ThreadFunction accessible.
- https://bugs.webkit.org/show_bug.cgi?id=35379
-
- When a database is opened, right now you
- don't have any context from where it is opened. The problem is that
- the actual calls that open a database go through the sqlite3 vfs
- layer, so there's no easy way to pass this function down to to
- platform/sql/chromium/SQLFileSystemChromium*.cpp
-
- This patch will allow you to get from anywhere within webkit a pointer
- to the Thread object that actually created the thread you're currently
- on (in case of the database, this can be either a thread forked of
- from the main thread or from a worker thread), and query the object
- for context information.
-
- * wtf/Threading.h:
- * wtf/ThreadingNone.cpp:
- (WTF::threadContext):
- * wtf/ThreadingPthreads.cpp:
- (WTF::):
- (WTF::identifierByPthreadHandle):
- (WTF::establishIdentifierForPthreadHandle):
- (WTF::pthreadHandleForIdentifier):
- (WTF::contextForIdentifier):
- (WTF::createThreadInternal):
- (WTF::currentThread):
- (WTF::threadContext):
- * wtf/ThreadingWin.cpp:
- (WTF::):
- (WTF::threadMap):
- (WTF::storeThreadHandleByIdentifier):
- (WTF::threadHandleForIdentifier):
- (WTF::contextForIdentifier):
- (WTF::createThreadInternal):
- (WTF::threadContext):
-
-2010-02-25 Jeremy Orlow <jorlow@chromium.org>
-
- Reverting to re-submit with better change log.
-
- * wtf/Threading.h:
- * wtf/ThreadingNone.cpp:
- (WTF::isMainThread):
- * wtf/ThreadingPthreads.cpp:
- (WTF::identifierByPthreadHandle):
- (WTF::establishIdentifierForPthreadHandle):
- (WTF::pthreadHandleForIdentifier):
- (WTF::createThreadInternal):
- (WTF::currentThread):
- * wtf/ThreadingWin.cpp:
- (WTF::threadMap):
- (WTF::storeThreadHandleByIdentifier):
- (WTF::threadHandleForIdentifier):
- (WTF::createThreadInternal):
-
-2010-02-25 Jochen Eisinger <jochen@chromium.org>
-
- Reviewed by Jeremy Orlow.
-
- Make the context that was passed to the ThreadFunction accessible.
- https://bugs.webkit.org/show_bug.cgi?id=35379
-
- * wtf/Threading.h:
- * wtf/ThreadingNone.cpp:
- (WTF::threadContext):
- * wtf/ThreadingPthreads.cpp:
- (WTF::):
- (WTF::identifierByPthreadHandle):
- (WTF::establishIdentifierForPthreadHandle):
- (WTF::pthreadHandleForIdentifier):
- (WTF::contextForIdentifier):
- (WTF::createThreadInternal):
- (WTF::currentThread):
- (WTF::threadContext):
- * wtf/ThreadingWin.cpp:
- (WTF::):
- (WTF::threadMap):
- (WTF::storeThreadHandleByIdentifier):
- (WTF::threadHandleForIdentifier):
- (WTF::contextForIdentifier):
- (WTF::createThreadInternal):
- (WTF::threadContext):
-
-2010-02-24 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Geoffrey Garen.
-
- [REGRESSION in r55185] EXC_BAD_ACCESS on opening inspector.
- https://bugs.webkit.org/show_bug.cgi?id=35335
-
- compileGetDirectOffset modifies the contents of the object register
- when the object is not using the inline storage array. As the object
- register contains our 'this' pointer we can't allow it to be clobbered.
- The fix is simply to copy the register into a separate scratch register
- when we're loading off an object that doesn't use inline storage.
-
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::privateCompileGetByIdSelfList):
- * jit/JITPropertyAccess32_64.cpp:
- (JSC::JIT::privateCompileGetByIdSelfList):
-
-2010-02-24 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Speed up getter performance in the jit
- https://bugs.webkit.org/show_bug.cgi?id=35332
-
- Implement getter lookup caching in the interpreter.
- The getter stubs are generated through basically the
- same code paths as the normal get_by_id caching.
- Instead of simply loading a property and returning,
- we load the getter slot, and pass the getter, base value
- and return address to a shared stub used for getter
- dispatch.
-
- * jit/JIT.h:
- (JSC::JIT::compileGetByIdProto):
- (JSC::JIT::compileGetByIdSelfList):
- (JSC::JIT::compileGetByIdProtoList):
- (JSC::JIT::compileGetByIdChainList):
- (JSC::JIT::compileGetByIdChain):
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::privateCompileGetByIdProto):
- (JSC::JIT::privateCompileGetByIdSelfList):
- (JSC::JIT::privateCompileGetByIdProtoList):
- (JSC::JIT::privateCompileGetByIdChainList):
- (JSC::JIT::privateCompileGetByIdChain):
- * jit/JITPropertyAccess32_64.cpp:
- (JSC::JIT::privateCompileGetByIdProto):
- (JSC::JIT::privateCompileGetByIdSelfList):
- (JSC::JIT::privateCompileGetByIdProtoList):
- (JSC::JIT::privateCompileGetByIdChainList):
- (JSC::JIT::privateCompileGetByIdChain):
- * jit/JITStubs.cpp:
- (JSC::JITThunks::tryCacheGetByID):
- (JSC::DEFINE_STUB_FUNCTION):
- * jit/JITStubs.h:
- (JSC::):
- * runtime/GetterSetter.h:
-
-2010-02-23 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Web Inspector: Regression: r55027+: Inspector broken
- https://bugs.webkit.org/show_bug.cgi?id=35253
-
- op_get_by_id_getter_chain was not passing the correct this parameter.
- The bug was caused by incorrect use of baseCell instead of baseValue,
- baseValue contains the original object for the lookup (and hence the
- correct this object), baseCell is clobbered as part of walking the
- prototype chain.
-
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::privateExecute):
-
-2010-02-23 Gustavo Noronha Silva <gns@gnome.org>
-
- Rubber-stamped by Dimitri Glazkov.
-
- Chromium build fix.
-
- * JavaScriptCore.gyp/JavaScriptCore.gyp:
-
-2010-02-23 Leandro Pereira <leandro@profusion.mobi>
-
- Reviewed by Gustavo Noronha Silva.
-
- Changes references of GOwnPtr to reflect their new place.
- http://webkit.org/b/35084
-
- * JavaScriptCore/JavaScriptCore.gypi:
- * JavaScriptCore/wtf/Threading.h:
- * JavaScriptCore/wtf/unicode/glib/UnicodeGLib.h:
-
-2010-02-23 Leandro Pereira <leandro@profusion.mobi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Adding the EFL implementation of JavaScriptCore.
- See https://bugs.webkit.org/show_bug.cgi?id=35084 for details.
-
- * GNUmakefile.am: Updated to reflect the new location of GOwnPtr and
- GRefPtr.
- * wtf/efl/MainThreadEfl.cpp: Added.
- * wtf/gobject/GOwnPtr.cpp: Moved from wtf/gtk.
- * wtf/gobject/GOwnPtr.h: Moved from wtf/gtk.
- * wtf/gobject/GRefPtr.cpp: Moved from wtf/gtk.
- * wtf/gobject/GRefPtr.h: Moved from wtf/gtk.
-
-2010-02-22 Julien Chaffraix <jchaffraix@webkit.org>
-
- Reviewed by Darin Adler.
-
- Remove auto_ptr usage in JavaScriptCore.
- https://bugs.webkit.org/show_bug.cgi?id=35221
-
- * parser/Nodes.h: Removed now unneeded adopt method.
- * parser/Parser.cpp: Removed <memory> include as it is not required anymore.
- * wtf/OwnPtr.h: Removed the constructor from auto_ptr.
- * wtf/VectorTraits.h: Removed a template specialization for auto_ptr.
- * wtf/unicode/Collator.h: Made userDefault return a PassOwnPtr.
- * wtf/unicode/CollatorDefault.cpp:
- (WTF::Collator::userDefault): Changed the method to match the next signature.
- * wtf/unicode/icu/CollatorICU.cpp:
- (WTF::Collator::userDefault): Ditto.
-
-2010-02-22 Huahui Wu <hwu@google.com>
-
- Reviewed by Eric Seidel.
-
- Add code that enables SquirrelFish Extreme (a.k.a JSCX, JSC JIT)
- in Android. It's disabled by default, but is enabled when the
- enveronment variable ENABLE_JSC_JIT is set to true.
- https://bugs.webkit.org/show_bug.cgi?id=34855
-
- * Android.mk:
- * wtf/Platform.h:
-
-2010-02-22 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- JSStringBuilder should not CRASH if allocation fails, it should throw a JSException.
-
- * runtime/JSGlobalObjectFunctions.cpp:
- * runtime/JSStringBuilder.h:
- (JSC::JSStringBuilder::JSStringBuilder):
- (JSC::JSStringBuilder::append):
- (JSC::JSStringBuilder::build):
- * runtime/StringBuilder.h:
- (JSC::StringBuilder::build):
- * wtf/Vector.h:
- (WTF::VectorBufferBase::tryAllocateBuffer):
- (WTF::):
- (WTF::VectorBuffer::tryAllocateBuffer):
- (WTF::::tryExpandCapacity):
- (WTF::::tryReserveCapacity):
- (WTF::::tryAppend):
-
-2010-02-22 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Map FastMalloc to BREW memory allocator
- https://bugs.webkit.org/show_bug.cgi?id=33570
-
- Use MALLOC macro instead of the standard malloc function.
- Although RVCT provides malloc, we can't use it in BREW
- because the loader does not initialize the base address properly.
-
- * wtf/FastMalloc.cpp:
- * wtf/brew/SystemMallocBrew.h: Added.
- (mallocBrew):
- (callocBrew):
- (freeBrew):
- (reallocBrew):
-
-2010-02-22 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Build fix for make distcheck.
-
- * GNUmakefile.am:
-
-2010-02-22 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Unreviewed build fix.
-
- [Qt] Build fix for RVCT.
-
- Fix after r55024. The "-i" option is for perl not for the
- script.
-
- * DerivedSources.pro:
-
-2010-02-21 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Make UString::m_data be const, and make the UChar owned/ref-counted by CrossThreadRefCounted be const too.
-
- * runtime/UStringImpl.cpp:
- (JSC::UStringImpl::baseSharedBuffer):
- (JSC::UStringImpl::~UStringImpl):
- * runtime/UStringImpl.h:
- (JSC::UStringImpl::create):
- (JSC::UStringImpl::data):
- (JSC::UStringImpl::UStringImpl):
- * wtf/OwnFastMallocPtr.h:
- (WTF::OwnFastMallocPtr::~OwnFastMallocPtr):
-
-2010-02-21 Yuta Kitamura <yutak@chromium.org>
-
- Reviewed by Darin Adler.
-
- HashMapTranslatorAdapter::translate() needs to set the mapped value.
-
- HTTPHeaderMap::add(const char*, const String&) does not work
- https://bugs.webkit.org/show_bug.cgi?id=35227
-
- * wtf/HashMap.h:
- (WTF::HashMapTranslatorAdapter::translate):
-
-2010-02-19 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by David Levin.
-
- Add an ENABLE flag for sandboxed iframes to make it possible to disable it in releases
- https://bugs.webkit.org/show_bug.cgi?id=35147
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-02-19 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- JSString::getIndex() calls value() to resolve the string value (is a rope)
- to a UString, then passes the result to jsSingleCharacterSubstring without
- checking for an exception. In case of out-of-memory the returned UString
- is null(), which may result in an out-of-buounds substring being created.
- This is bad.
-
- Simple fix is to be able to get an index from a rope without resolving to
- UString. This may be a useful optimization in some test cases.
-
- The same bug exists in some other methods is JSString, these can be fixed
- by changing them to call getIndex().
-
- * runtime/JSString.cpp:
- (JSC::JSString::resolveRope):
- (JSC::JSString::getStringPropertyDescriptor):
- * runtime/JSString.h:
- (JSC::jsSingleCharacterSubstring):
- (JSC::JSString::getIndex):
- (JSC::jsSingleCharacterString):
- (JSC::JSString::getStringPropertySlot):
- * runtime/UStringImpl.cpp:
- (JSC::singleCharacterSubstring):
- * runtime/UStringImpl.h:
- (JSC::UStringImpl::singleCharacterSubstring):
-
-2010-02-19 Oliver Hunt <oliver@apple.com>
-
- RS = Gavin Barraclough.
-
- Split the 32/64 version of JITPropertyAccess into a separate file.
-
- * GNUmakefile.am:
- * JavaScriptCore.gypi:
- * JavaScriptCore.pri:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * jit/JITPropertyAccess.cpp:
- * jit/JITPropertyAccess32_64.cpp: Added.
- (JSC::JIT::emit_op_put_by_index):
- (JSC::JIT::emit_op_put_getter):
- (JSC::JIT::emit_op_put_setter):
- (JSC::JIT::emit_op_del_by_id):
- (JSC::JIT::emit_op_method_check):
- (JSC::JIT::emitSlow_op_method_check):
- (JSC::JIT::emit_op_get_by_val):
- (JSC::JIT::emitSlow_op_get_by_val):
- (JSC::JIT::emit_op_put_by_val):
- (JSC::JIT::emitSlow_op_put_by_val):
- (JSC::JIT::emit_op_get_by_id):
- (JSC::JIT::emitSlow_op_get_by_id):
- (JSC::JIT::emit_op_put_by_id):
- (JSC::JIT::emitSlow_op_put_by_id):
- (JSC::JIT::compileGetByIdHotPath):
- (JSC::JIT::compileGetByIdSlowCase):
- (JSC::JIT::compilePutDirectOffset):
- (JSC::JIT::compileGetDirectOffset):
- (JSC::JIT::testPrototype):
- (JSC::JIT::privateCompilePutByIdTransition):
- (JSC::JIT::patchGetByIdSelf):
- (JSC::JIT::patchMethodCallProto):
- (JSC::JIT::patchPutByIdReplace):
- (JSC::JIT::privateCompilePatchGetArrayLength):
- (JSC::JIT::privateCompileGetByIdProto):
- (JSC::JIT::privateCompileGetByIdSelfList):
- (JSC::JIT::privateCompileGetByIdProtoList):
- (JSC::JIT::privateCompileGetByIdChainList):
- (JSC::JIT::privateCompileGetByIdChain):
- (JSC::JIT::emit_op_get_by_pname):
- (JSC::JIT::emitSlow_op_get_by_pname):
-
-2010-02-19 Patrick Gansterer <paroga@paroga.com>
-
- Reviewed by Laszlo Gombos.
-
- Added additional parameter to create_rvct_stubs
- for setting the regularexpression prefix.
- Renamed it because it now works for other platforms too.
- https://bugs.webkit.org/show_bug.cgi?id=34951
-
- * DerivedSources.pro:
- * create_jit_stubs: Copied from JavaScriptCore/create_rvct_stubs.
- * create_rvct_stubs: Removed.
-
-2010-02-18 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Improve interpreter getter performance
- https://bugs.webkit.org/show_bug.cgi?id=35138
-
- Improve the performance of getter dispatch by making it possible
- for the interpreter to cache the GetterSetter object lookup.
-
- To do this we simply need to make PropertySlot aware of getters
- as a potentially cacheable property, and record the base and this
- objects for a getter access. This allows us to use more-or-less
- identical code to that used by the normal get_by_id caching, with
- the dispatch being the only actual difference.
-
- I'm holding off of implementing this in the JIT until I do some
- cleanup to try and making coding in the JIT not be as horrible
- as it is currently.
-
- * bytecode/CodeBlock.cpp:
- (JSC::CodeBlock::dump):
- (JSC::CodeBlock::derefStructures):
- (JSC::CodeBlock::refStructures):
- * bytecode/Opcode.h:
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::resolveGlobal):
- (JSC::Interpreter::tryCacheGetByID):
- (JSC::Interpreter::privateExecute):
- * jit/JIT.cpp:
- (JSC::JIT::privateCompileMainPass):
- * jit/JITStubs.cpp:
- (JSC::JITThunks::tryCacheGetByID):
- (JSC::DEFINE_STUB_FUNCTION):
- * runtime/JSObject.cpp:
- (JSC::JSObject::fillGetterPropertySlot):
- * runtime/PropertySlot.cpp:
- (JSC::PropertySlot::functionGetter):
- * runtime/PropertySlot.h:
- (JSC::PropertySlot::isGetter):
- (JSC::PropertySlot::isCacheable):
- (JSC::PropertySlot::isCacheableValue):
- (JSC::PropertySlot::setValueSlot):
- (JSC::PropertySlot::setGetterSlot):
- (JSC::PropertySlot::setCacheableGetterSlot):
- (JSC::PropertySlot::clearOffset):
- (JSC::PropertySlot::thisValue):
-
-2010-02-17 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Fixed a portion of:
- <rdar://problem/7165917> | https://bugs.webkit.org/show_bug.cgi?id=28676
- Safari 4 does not release memory back to the operating system fast enough (28676)
-
- This patch fixes a surprisingly common edge case in which the page heap
- would have only one free span, but that span would be larger than the
- minimum free size, so we would decide not to free it, even though it
- could be as large as 100MB or more!
-
- SunSpider reports no change on Mac or Windows.
-
- * wtf/FastMalloc.cpp:
- (WTF::TCMalloc_PageHeap::scavenge): Call shouldContinueScavenging() instead
- of doing the math ourselves. Don't keep a local value for pagesDecommitted
- because that lets free_committed_pages_ be wrong temporarily. Instead,
- update free_committed_pages_ as we go. ASSERT that we aren't releasing
- a span that has already been released, because we think this is impossible.
- Finally, don't be afraid to release all free memory in the page heap when
- scavenging. We only scavenge after 5 seconds of the application's working
- set not growing, and we keep both thread caches and a central cache on
- top of the page heap, so the extra free pages in the page heap were just
- overkill.
-
-2010-02-17 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=35070
- Addition of 2 strings of length 2^31 may result in a string of length 0.
-
- Check for overflow when creating a new JSString as a result of an addition
- or concatenation, throw an out of memory exception.
-
- * runtime/JSString.h:
- (JSC::):
- * runtime/Operations.h:
- (JSC::jsString):
-
-2010-02-17 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- [Linux] Webkit incompatible with Java plugins
- https://bugs.webkit.org/show_bug.cgi?id=24912
-
- Add support for GFile to GOwnPtr.
-
- Based on original work by Gustavo Noronha.
-
- * wtf/gtk/GOwnPtr.cpp:
- (WTF::GFile):
- * wtf/gtk/GOwnPtr.h:
-
-2010-02-16 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Mark Rowe.
-
- Fix a handful of other leaks seen on the buildbot.
-
- * runtime/UStringImpl.h:
- (JSC::UStringOrRopeImpl::deref): Delegate through to the subclass version of deref to ensure that
- the correct cleanup takes place. This function previously featured some code that attempted to
- skip deletion of static UStringImpl's. Closer inspection revealed that it was in fact equivalent
- to "if (false)", meaning that UStringImpl's which had their final deref performed via this function
- were leaked.
-
-2010-02-16 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Fix a handful of leaks seen on the buildbot.
-
- * runtime/UStringImpl.h:
- (JSC::UStringOrRopeImpl::deref): Call URopeImpl::destructNonRecursive rather than delete
- to ensure that the rope's fibers are also destroyed.
-
-2010-02-16 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=34964
- Leaks tool reports false memory leaks due to Rope implementation.
-
- A rope is a recursive data structure where each node in the rope holds a set of
- pointers, each of which may reference either a string (in UStringImpl form) or
- another rope node. A low bit in each pointer is used to distinguish between
- rope & string elements, in a fashion similar to the recently-removed
- PtrAndFlags class (see https://bugs.webkit.org/show_bug.cgi?id=33731 ). Again,
- this causes a problem for Leaks - refactor to remove the magic pointer
- mangling.
-
- Move Rope out from JSString.h and rename to URopeImpl, to match UStringImpl.
- Give UStringImpl and URopeImpl a common parent class, UStringOrRopeImpl.
- Repurpose an otherwise invalid permutation to flags (static & should report
- memory cost) to identify ropes.
-
- This allows us to change the rope's fibers to interrogate the object rather
- than storing a bool within the low bits of the pointer (or in some cases the
- use of a common parent class removes the need to determine the type at all -
- there is a common interface to ref or get the length of either ropes or strings).
-
- * API/JSClassRef.cpp:
- (OpaqueJSClass::OpaqueJSClass):
- (OpaqueJSClassContextData::OpaqueJSClassContextData):
- * bytecompiler/BytecodeGenerator.cpp:
- (JSC::keyForCharacterSwitch):
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::privateExecute):
- * jit/JITStubs.cpp:
- (JSC::DEFINE_STUB_FUNCTION):
- * runtime/ArrayPrototype.cpp:
- (JSC::arrayProtoFuncToString):
- * runtime/Identifier.cpp:
- (JSC::Identifier::equal):
- (JSC::Identifier::addSlowCase):
- * runtime/JSString.cpp:
- (JSC::JSString::resolveRope):
- * runtime/JSString.h:
- (JSC::):
- (JSC::RopeBuilder::JSString):
- (JSC::RopeBuilder::~JSString):
- (JSC::RopeBuilder::appendStringInConstruct):
- (JSC::RopeBuilder::appendValueInConstructAndIncrementLength):
- (JSC::RopeBuilder::JSStringFinalizerStruct::JSStringFinalizerStruct):
- (JSC::RopeBuilder::JSStringFinalizerStruct::):
- * runtime/UString.cpp:
- (JSC::UString::toStrictUInt32):
- (JSC::equal):
- * runtime/UString.h:
- (JSC::UString::isEmpty):
- (JSC::UString::size):
- * runtime/UStringImpl.cpp:
- (JSC::URopeImpl::derefFibersNonRecursive):
- (JSC::URopeImpl::destructNonRecursive):
- * runtime/UStringImpl.h:
- (JSC::UStringOrRopeImpl::isRope):
- (JSC::UStringOrRopeImpl::length):
- (JSC::UStringOrRopeImpl::ref):
- (JSC::UStringOrRopeImpl::):
- (JSC::UStringOrRopeImpl::operator new):
- (JSC::UStringOrRopeImpl::UStringOrRopeImpl):
- (JSC::UStringImpl::adopt):
- (JSC::UStringImpl::createUninitialized):
- (JSC::UStringImpl::tryCreateUninitialized):
- (JSC::UStringImpl::data):
- (JSC::UStringImpl::cost):
- (JSC::UStringImpl::deref):
- (JSC::UStringImpl::UStringImpl):
- (JSC::UStringImpl::):
- (JSC::URopeImpl::tryCreateUninitialized):
- (JSC::URopeImpl::initializeFiber):
- (JSC::URopeImpl::fiberCount):
- (JSC::URopeImpl::fibers):
- (JSC::URopeImpl::deref):
- (JSC::URopeImpl::URopeImpl):
- (JSC::URopeImpl::hasOneRef):
- (JSC::UStringOrRopeImpl::deref):
-
-2010-02-15 Gabor Loki <loki@webkit.org>
-
- Reviewed by Gavin Barraclough.
-
- Fix the SP at ctiOpThrowNotCaught on Thumb2 (JSVALUE32)
- https://bugs.webkit.org/show_bug.cgi?id=34939
-
- * jit/JITStubs.cpp:
-
-2010-02-15 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (Build Fix!).
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-02-15 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Some general Rope related refactoring.
-
- Rename Rope::m_ropeLength to m_fiberCount, to be more descriptive.
- Rename Rope::m_stringLength to simply m_length (since this is the
- more conventional name for the length of a string). Move append
- behaviour out into a new RopeBuilder class, so that Rope no longer
- needs any knowledge of the JSString or UString implementation.
-
- Make Rope no longer be nested within JSString.
- (Rope now no-longer need reside within JSString.h, but leaving
- the change of moving this out to a different header as a separate
- change from these renames).
-
- * JavaScriptCore.exp:
- * jit/JITOpcodes.cpp:
- (JSC::JIT::privateCompileCTIMachineTrampolines):
- * runtime/JSString.cpp:
- (JSC::Rope::destructNonRecursive):
- (JSC::Rope::~Rope):
- (JSC::JSString::resolveRope):
- (JSC::JSString::toBoolean):
- (JSC::JSString::getStringPropertyDescriptor):
- * runtime/JSString.h:
- (JSC::Rope::Fiber::Fiber):
- (JSC::Rope::Fiber::deref):
- (JSC::Rope::Fiber::ref):
- (JSC::Rope::Fiber::refAndGetLength):
- (JSC::Rope::Fiber::isRope):
- (JSC::Rope::Fiber::rope):
- (JSC::Rope::Fiber::isString):
- (JSC::Rope::Fiber::string):
- (JSC::Rope::Fiber::nonFiber):
- (JSC::Rope::tryCreateUninitialized):
- (JSC::Rope::append):
- (JSC::Rope::fiberCount):
- (JSC::Rope::length):
- (JSC::Rope::fibers):
- (JSC::Rope::Rope):
- (JSC::Rope::operator new):
- (JSC::):
- (JSC::RopeBuilder::JSString):
- (JSC::RopeBuilder::~JSString):
- (JSC::RopeBuilder::length):
- (JSC::RopeBuilder::canGetIndex):
- (JSC::RopeBuilder::appendStringInConstruct):
- (JSC::RopeBuilder::appendValueInConstructAndIncrementLength):
- (JSC::RopeBuilder::isRope):
- (JSC::RopeBuilder::fiberCount):
- (JSC::JSString::getStringPropertySlot):
- * runtime/Operations.h:
- (JSC::jsString):
-
-2010-02-15 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (Build fix).
-
- Add missing cast for !YARR (PPC) builds.
-
- * runtime/RegExp.cpp:
- (JSC::RegExp::match):
-
-2010-02-14 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=33731
- Many false leaks in release builds due to PtrAndFlags
-
- StructureTransitionTable was effectively a smart pointer type,
- one machine word in size and wholly contained as a member of
- of Structure. It either pointed to an actual table, or could
- be used to describe a single transtion entry without use of a
- table.
-
- This, however, worked by using a PtrAndFlags, which is not
- compatible with the leaks tool. Since there is no clear way to
- obtain another bit for 'free' here, and since there are bits
- available up in Structure, merge this functionality back up into
- Structure. Having this in a separate class was quite clean
- from an enacapsulation perspective, but this solution doesn't
- seem to bad - all table access is now intermediated through the
- Structure::structureTransitionTableFoo methods, keeping the
- optimization fairly well contained.
-
- This was the last use of PtrAndFlags, so removing the file too.
-
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * bytecode/CodeBlock.h:
- * runtime/Structure.cpp:
- (JSC::Structure::Structure):
- (JSC::Structure::~Structure):
- (JSC::Structure::addPropertyTransitionToExistingStructure):
- (JSC::Structure::addPropertyTransition):
- (JSC::Structure::hasTransition):
- * runtime/Structure.h:
- (JSC::Structure::):
- (JSC::Structure::structureTransitionTableContains):
- (JSC::Structure::structureTransitionTableGet):
- (JSC::Structure::structureTransitionTableHasTransition):
- (JSC::Structure::structureTransitionTableRemove):
- (JSC::Structure::structureTransitionTableAdd):
- (JSC::Structure::structureTransitionTable):
- (JSC::Structure::setStructureTransitionTable):
- (JSC::Structure::singleTransition):
- (JSC::Structure::setSingleTransition):
- * runtime/StructureTransitionTable.h:
- * wtf/PtrAndFlags.h: Removed.
-
-2010-02-15 Gavin Barraclough <barraclough@apple.com>
-
- Rubber Stamped by Geoff Garen.
-
- Bug 34948 - tryMakeString should fail on error in length calculation
-
- Ooops! - "bool overflow" argument should have been "bool& overflow".
-
- * runtime/UString.h:
- (JSC::sumWithOverflow):
- (JSC::tryMakeString):
-
-2010-02-15 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (Build Fix (pt 2!)).
-
- Some symbol names have changed, remove, will readd if required.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-02-15 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (Build Fix (pt 1?)).
-
- Some symbol names have changed, remove, will readd if required.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-02-15 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Removed some mistaken code added in http://trac.webkit.org/changeset/53860.
-
- * API/APIShims.h:
- (JSC::APICallbackShim::APICallbackShim):
- (JSC::APICallbackShim::~APICallbackShim): No need to start/stop the
- timeout checker when calling out from the API to the client; we want to
- monitor the VM for timeouts, not the client. This mistake was harmless /
- undetectable, since it's totally redundant with the APIEntryShim, which
- also starts / stops the timeout checker.
-
-2010-02-15 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Geoff Garen.
-
- Bug 34952 - String lengths in UString should be unsigned.
- This matches WebCore::StringImpl, and better unifies behaviour throughout JSC.
-
- * JavaScriptCore.exp:
- * bytecode/EvalCodeCache.h:
- * runtime/Identifier.cpp:
- (JSC::Identifier::equal):
- * runtime/Identifier.h:
- * runtime/JSGlobalObjectFunctions.cpp:
- (JSC::globalFuncEscape):
- * runtime/JSONObject.cpp:
- (JSC::gap):
- (JSC::Stringifier::indent):
- * runtime/NumberPrototype.cpp:
- (JSC::numberProtoFuncToFixed):
- (JSC::numberProtoFuncToPrecision):
- * runtime/RegExp.cpp:
- (JSC::RegExp::match):
- * runtime/StringPrototype.cpp:
- (JSC::substituteBackreferencesSlow):
- (JSC::stringProtoFuncReplace):
- (JSC::stringProtoFuncSplit):
- (JSC::trimString):
- * runtime/UString.cpp:
- (JSC::UString::UString):
- (JSC::UString::from):
- (JSC::UString::getCString):
- (JSC::UString::ascii):
- (JSC::UString::operator[]):
- (JSC::UString::toStrictUInt32):
- (JSC::UString::find):
- (JSC::UString::rfind):
- (JSC::UString::substr):
- (JSC::operator<):
- (JSC::operator>):
- (JSC::compare):
- (JSC::equal):
- (JSC::UString::UTF8String):
- * runtime/UString.h:
- (JSC::UString::size):
- (JSC::operator==):
- * runtime/UStringImpl.cpp:
- (JSC::UStringImpl::create):
- * runtime/UStringImpl.h:
- (JSC::UStringImpl::create):
- (JSC::UStringImpl::size):
- (JSC::UStringImpl::computeHash):
- (JSC::UStringImpl::UStringImpl):
-
-2010-02-15 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Geoff Garen.
-
- Bug 34948 - tryMakeString should fail on error in length calculation
-
- The sum of the length of substrings could overflow.
-
- * runtime/UString.h:
- (JSC::sumWithOverflow):
- (JSC::tryMakeString):
-
-2010-02-15 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Fixed <rdar://problem/7628524> Crash beneath JSGlobalContextRelease when
- typing in Google search field with GuardMalloc/full page heap enabled
-
- * API/JSContextRef.cpp: Don't use APIEntryShim, since that requires
- a JSGlobalData, which this function destroys. Do use setCurrentIdentifierTable
- and JSLock instead, since those are the two features of APIEntryShim we
- require.
-
-2010-02-15 Patrick Gansterer <paroga@paroga.com>
-
- Reviewed by Laszlo Gombos.
-
- Added additional parameter to create_rvct_stubs
- for setting the offset of thunkReturnAddress.
- https://bugs.webkit.org/show_bug.cgi?id=34657
-
- * create_rvct_stubs:
- * jit/JITStubs.cpp:
-
-2010-02-15 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Fix QScriptValue::toIntXX methods.
-
- More ECMA Script compliance.
-
- [Qt] QScriptValue::toIntXX returns incorrect values
- https://bugs.webkit.org/show_bug.cgi?id=34847
-
- * qt/api/qscriptvalue_p.h:
- (QScriptValuePrivate::toInteger):
- (QScriptValuePrivate::toInt32):
- (QScriptValuePrivate::toUInt32):
- (QScriptValuePrivate::toUInt16):
- * qt/tests/qscriptvalue/tst_qscriptvalue.h:
- * qt/tests/qscriptvalue/tst_qscriptvalue_generated.cpp:
- (tst_QScriptValue::toInteger_initData):
- (tst_QScriptValue::toInteger_makeData):
- (tst_QScriptValue::toInteger_test):
- (tst_QScriptValue::toInt32_initData):
- (tst_QScriptValue::toInt32_makeData):
- (tst_QScriptValue::toInt32_test):
- (tst_QScriptValue::toUInt32_initData):
- (tst_QScriptValue::toUInt32_makeData):
- (tst_QScriptValue::toUInt32_test):
- (tst_QScriptValue::toUInt16_initData):
- (tst_QScriptValue::toUInt16_makeData):
- (tst_QScriptValue::toUInt16_test):
-
-2010-02-14 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Adam Barth.
-
- Implement NEVER_INLINE and NO_RETURN for RVCT
- https://bugs.webkit.org/show_bug.cgi?id=34740
-
- * wtf/AlwaysInline.h:
-
-2010-02-12 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=33731
- Remove uses of PtrAndFlags from JIT data stuctures.
-
- These break the OS X Leaks tool. Free up a bit in CallLinkInfo, and invalid
- permutation of pointer states in MethodCallLinkInfo to represent the removed bits.
-
- * bytecode/CodeBlock.h:
- (JSC::CallLinkInfo::seenOnce):
- (JSC::CallLinkInfo::setSeen):
- (JSC::MethodCallLinkInfo::MethodCallLinkInfo):
- (JSC::MethodCallLinkInfo::seenOnce):
- (JSC::MethodCallLinkInfo::setSeen):
- * jit/JIT.cpp:
- (JSC::JIT::unlinkCall):
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::patchMethodCallProto):
- * runtime/UString.h:
-
-2010-02-12 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=33731
- Many false leaks in release builds due to PtrAndFlags
-
- Remove UntypedPtrAndBitfield (similar to PtrAndFlags) in UStringImpl,
- and steal bits from the refCount instead.
-
- * runtime/UStringImpl.cpp:
- (JSC::UStringImpl::baseSharedBuffer):
- (JSC::UStringImpl::~UStringImpl):
- * runtime/UStringImpl.h:
- (JSC::UStringImpl::cost):
- (JSC::UStringImpl::isIdentifier):
- (JSC::UStringImpl::setIsIdentifier):
- (JSC::UStringImpl::ref):
- (JSC::UStringImpl::deref):
- (JSC::UStringImpl::UStringImpl):
- (JSC::UStringImpl::bufferOwnerString):
- (JSC::UStringImpl::bufferOwnership):
- (JSC::UStringImpl::isStatic):
- (JSC::UStringImpl::):
-
-2010-02-12 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler.
-
- Removed an unnecessary data dependency from my last patch.
-
- * runtime/SmallStrings.cpp:
- (JSC::SmallStrings::markChildren): Since isAnyStringMarked being false
- is a condition of entering the loop, we can just use '=' instead of '|='.
-
-2010-02-12 Janne Koskinen <janne.p.koskinen@digia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- Additional refptr/passrefptr workarounds for WINSCW compiler
- https://bugs.webkit.org/show_bug.cgi?id=28054
-
- * wtf/PassRefPtr.h:
- (WTF::refIfNotNull):
- (WTF::PassRefPtr::PassRefPtr):
- (WTF::PassRefPtr::~PassRefPtr):
- (WTF::PassRefPtr::clear):
- (WTF::::operator):
- * wtf/RefPtr.h:
- (WTF::RefPtr::RefPtr):
- (WTF::::operator):
-
-2010-02-12 Janne Koskinen <janne.p.koskinen@digia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- Additional refptr/passrefptr workarounds for WINSCW compiler
- https://bugs.webkit.org/show_bug.cgi?id=28054
-
- * wtf/PassRefPtr.h:
- (WTF::refIfNotNull):
- (WTF::PassRefPtr::PassRefPtr):
- (WTF::PassRefPtr::~PassRefPtr):
- (WTF::PassRefPtr::clear):
- (WTF::::operator):
- * wtf/RefPtr.h:
- (WTF::RefPtr::RefPtr):
- (WTF::::operator):
-
-2010-02-12 Janne Koskinen <janne.p.koskinen@digia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- Additional refptr/passrefptr workarounds for WINSCW compiler
- https://bugs.webkit.org/show_bug.cgi?id=28054
-
- * wtf/PassRefPtr.h:
- (WTF::refIfNotNull):
- (WTF::PassRefPtr::PassRefPtr):
- (WTF::PassRefPtr::~PassRefPtr):
- (WTF::PassRefPtr::clear):
- (WTF::::operator):
- * wtf/RefPtr.h:
- (WTF::RefPtr::RefPtr):
- (WTF::::operator):
-
-2010-02-12 Janne Koskinen <janne.p.koskinen@digia.com>
-
- Reviewed by Simon Hausmann.
-
- Don't import the cmath functions from std:: for WINSCW.
-
- * wtf/MathExtras.h:
-
-2010-02-12 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Adam Barth.
-
- Typedef both JSChar and UChar to wchar_t in RVCT.
- https://bugs.webkit.org/show_bug.cgi?id=34560
-
- Define both JSChar and UChar to wchar_t as the size
- of wchar_t is 2 bytes in RVCT.
-
- * API/JSStringRef.h:
- * wtf/unicode/qt4/UnicodeQt4.h:
-
-2010-02-11 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt and Darin Adler.
-
- The rest of the fix for
- https://bugs.webkit.org/show_bug.cgi?id=34864 | <rdar://problem/7594198>
- Many objects left uncollected after visiting mail.google.com and closing
- window
-
- Don't unconditionally hang onto small strings. Instead, hang onto all
- small strings as long as any small string is still referenced.
-
- SunSpider reports no change.
-
- * runtime/Collector.cpp:
- (JSC::Heap::markRoots): Mark the small strings cache last, so it can
- check if anything else has kept any strings alive.
-
- * runtime/SmallStrings.cpp:
- (JSC::isMarked):
- (JSC::SmallStrings::markChildren): Only keep our strings alive if some
- other reference to at least one of them exists, too.
-
-2010-02-11 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Some progress toward fixing
- https://bugs.webkit.org/show_bug.cgi?id=34864 | <rdar://problem/7594198>
- Many objects left uncollected after visiting mail.google.com and closing
- window
-
- SunSpider reports no change.
-
- Keep weak references, rather than protected references, to cached for-in
- property name enumerators.
-
- One problem with protected references is that a chain like
- [ gc object 1 ] => [ non-gc object ] => [ gc object 2 ]
- takes two GC passes to break, since the first pass collects [ gc object 1 ],
- releasing [ non-gc object ] and unprotecting [ gc object 2 ], and only
- then can a second pass collect [ gc object 2 ].
-
- Another problem with protected references is that they can keep a bunch
- of strings alive long after they're useful. In SunSpider and a few popular
- websites, the size-speed tradeoff seems to favor weak references.
-
- * runtime/JSPropertyNameIterator.cpp:
- (JSC::JSPropertyNameIterator::JSPropertyNameIterator): Moved this constructor
- into the .cpp file, since it's not used elsewhere.
-
- (JSC::JSPropertyNameIterator::~JSPropertyNameIterator): Added a destructor
- to support our weak reference.
-
- * runtime/JSPropertyNameIterator.h:
- (JSC::Structure::setEnumerationCache):
- (JSC::Structure::clearEnumerationCache):
- (JSC::Structure::enumerationCache): Added a function for clearing a
- Structure's enumeration cache, used by our new destructor. Also fixed
- indentation to match the rest of the file.
-
- * runtime/Structure.h: Changed from protected pointer to weak pointer.
-
-2010-02-11 Chris Rogers <crogers@google.com>
-
- Reviewed by David Levin.
-
- audio engine: add Complex number class
- https://bugs.webkit.org/show_bug.cgi?id=34538
-
- * wtf/Complex.h: Added.
- (WebCore::complexFromMagnitudePhase):
-
-2010-02-10 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Added an SPI for asking about all the different live objects on the heap.
- Useful for memory debugging.
-
- * JavaScriptCore.exp: Export the new SPI.
-
- * runtime/Collector.cpp:
- (JSC::typeName): Use a little capitalization. Don't crash in the case of
- a non-object cell, since it might just be an uninitialized cell.
-
- (JSC::Heap::objectTypeCounts): The new SPI.
-
- * runtime/Collector.h:
- * runtime/CollectorHeapIterator.h:
- (JSC::CollectorHeapIterator::advance):
- (JSC::LiveObjectIterator::operator++):
- (JSC::DeadObjectIterator::operator++):
- (JSC::ObjectIterator::operator++): Made 2 tweaks to these iterators:
- (1) Skip the last cell in the block, since it's a dummy sentinel, and
- we don't want it to confuse the object count; (2) Fixed a logic error
- in LiveObjectIterator that could cause it to iterate dead objects if
- m_block were equal to m_heap.nextBlock and m_cell were less than
- m_heap.nextCell. No test for this since I can't think of a way that this
- could make WebKit behave badly.
-
-2010-02-11 Steve Block <steveblock@google.com>
-
- Reviewed by Darin Adler.
-
- Guard cmath using declarations in MathExtras.h on Android
- https://bugs.webkit.org/show_bug.cgi?id=34840
-
- Android does not provide these functions.
-
- * wtf/MathExtras.h:
-
-2010-02-08 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Cameron Zwarich.
-
- Restore ENABLE_RUBY flag so vendors can ship with Ruby disabled if they choose.
- https://bugs.webkit.org/show_bug.cgi?id=34698
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-02-10 Kevin Watters <kevinwatters@gmail.com>
-
- Reviewed by Kevin Ollivier.
-
- [wx] Add Windows complex text support and Mac support for containsCharacters.
-
- https://bugs.webkit.org/show_bug.cgi?id=34759
-
- * wscript:
-
-2010-02-10 Alexey Proskuryakov <ap@apple.com>
-
- Addressing issues found by style bot.
-
- * wtf/ValueCheck.h: Renamed header guard to match final file name.
-
- * wtf/Vector.h: (WTF::::checkConsistency): Remove braces around a one-line clause.
-
-2010-02-09 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Geoffrey Garen.
-
- https://bugs.webkit.org/show_bug.cgi?id=34490
- WebCore::ImageEventSender::dispatchPendingEvents() crashes in certain conditions
-
- * GNUmakefile.am:
- * JavaScriptCore.gypi:
- * JavaScriptCore.vcproj/WTF/WTF.vcproj:
- * JavaScriptCore.xcodeproj/project.pbxproj:
- Added ValueCheck.h.
-
- * wtf/ValueCheck.h: Added. Moved code out of HashTraits, since it would be awkward to
- include that from Vector.h.
- (WTF::ValueCheck::checkConsistency): Allow null pointers, those are pretty consistent.
-
- * wtf/HashTraits.h: Moved value checking code out of here.
-
- * wtf/HashTable.h: (WTF::::checkTableConsistencyExceptSize): Updated for the above changes.
-
- * wtf/Vector.h:
- (WTF::::checkConsistency): Check all vector elements.
- (WTF::ValueCheck): Support checking a Vector as an element in other containers. Currently
- unused.
-
-2010-02-10 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Fix QScriptValue::toBool.
-
- Fix ECMA compliance in the QScriptValue for values like 0, NaN and
- empty strings.
-
- [Qt] QScriptValue::toBool problem
- https://bugs.webkit.org/show_bug.cgi?id=34793
-
- * qt/api/qscriptvalue_p.h:
- (QScriptValuePrivate::toBool):
- * qt/tests/qscriptvalue/tst_qscriptvalue.h:
- * qt/tests/qscriptvalue/tst_qscriptvalue_generated.cpp:
- (tst_QScriptValue::toBool_initData):
- (tst_QScriptValue::toBool_makeData):
- (tst_QScriptValue::toBool_test):
- (tst_QScriptValue::toBoolean_initData):
- (tst_QScriptValue::toBoolean_makeData):
- (tst_QScriptValue::toBoolean_test):
-
-2009-10-06 Yongjun Zhang <yongjun.zhang@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Use derefIfNotNull() to work around WINSCW compiler forward declaration bug
-
- The compiler bug is reported at
- https://xdabug001.ext.nokia.com/bugzilla/show_bug.cgi?id=9812.
-
- The change should be reverted when the above bug is fixed in WINSCW compiler.
-
- https://bugs.webkit.org/show_bug.cgi?id=28054
-
-2009-10-06 Yongjun Zhang <yongjun.zhang@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Get rid of WINSCW hack for UnSpecifiedBoolType
-
- Add parenthesis around (RefPtr::*UnspecifiedBoolType) to make the WINSCW
- compiler work with the default UnSpecifiedBoolType() operator.
-
- https://bugs.webkit.org/show_bug.cgi?id=28054
-
- * wtf/RefPtr.h:
-
-2010-02-09 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- New functions nullValue() and undefinedValue().
-
- [Qt] QScriptEngine should contain nullValue and undefinedValue methods
- https://bugs.webkit.org/show_bug.cgi?id=34749
-
- * qt/api/qscriptengine.cpp:
- (QScriptEngine::nullValue):
- (QScriptEngine::undefinedValue):
- * qt/api/qscriptengine.h:
- * qt/tests/qscriptengine/tst_qscriptengine.cpp:
- (tst_QScriptEngine::nullValue):
- (tst_QScriptEngine::undefinedValue):
-
-2010-02-09 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Fixes for QScriptValue::toNumber().
-
- Fix ECMA compliance in QScriptValue for values unbound
- to a QScriptEngine.
-
- [Qt] QScriptValue::toNumber() is broken
- https://bugs.webkit.org/show_bug.cgi?id=34592
-
- * qt/api/qscriptvalue_p.h:
- (QScriptValuePrivate::toNumber):
- * qt/tests/qscriptvalue/tst_qscriptvalue.h:
- * qt/tests/qscriptvalue/tst_qscriptvalue_generated.cpp:
- (tst_QScriptValue::toNumber_initData):
- (tst_QScriptValue::toNumber_makeData):
- (tst_QScriptValue::toNumber_test):
-
-2010-02-09 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Fix QScriptValue::isNumber().
-
- The isNumber() should return 'true' if the value is in the CNumber
- state.
-
- [Qt] QScriptValue::isNumber() returns an incorrect value
- https://bugs.webkit.org/show_bug.cgi?id=34575
-
- * qt/api/qscriptvalue_p.h:
- (QScriptValuePrivate::isNumber):
- * qt/tests/qscriptvalue/tst_qscriptvalue.h:
- * qt/tests/qscriptvalue/tst_qscriptvalue_generated.cpp:
- (tst_QScriptValue::isNumber_initData):
- (tst_QScriptValue::isNumber_makeData):
- (tst_QScriptValue::isNumber_test):
-
-2010-02-09 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Small refactoring to the small strings cache to allow it to be cleared
- dynamically.
-
- * runtime/SmallStrings.cpp:
- (JSC::SmallStrings::SmallStrings):
- (JSC::SmallStrings::clear):
- * runtime/SmallStrings.h: Moved initialization code into a shared function,
- and changed the constructor to call it.
-
-2010-02-09 Gavin Barraclough <barraclough@apple.com>
-
- Rubber Stamped by Geoff Garen.
-
- Rename StringBuilder::release && JSStringBuilder::releaseJSString
- to 'build()'.
-
- * runtime/ArrayPrototype.cpp:
- (JSC::arrayProtoFuncToLocaleString):
- (JSC::arrayProtoFuncJoin):
- * runtime/Executable.cpp:
- (JSC::FunctionExecutable::paramString):
- * runtime/FunctionConstructor.cpp:
- (JSC::constructFunction):
- * runtime/JSGlobalObjectFunctions.cpp:
- (JSC::encode):
- (JSC::decode):
- (JSC::globalFuncEscape):
- (JSC::globalFuncUnescape):
- * runtime/JSONObject.cpp:
- (JSC::Stringifier::stringify):
- * runtime/JSStringBuilder.h:
- (JSC::JSStringBuilder::build):
- * runtime/LiteralParser.cpp:
- (JSC::LiteralParser::Lexer::lexString):
- * runtime/NumberPrototype.cpp:
- (JSC::integerPartNoExp):
- (JSC::numberProtoFuncToFixed):
- * runtime/StringBuilder.h:
- (JSC::StringBuilder::build):
-
-2010-02-09 John Sullivan <sullivan@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=34772
- Overzealous new assertion in URStringImpl::adopt()
-
- Reviewed by Adam Barth.
-
- * runtime/UStringImpl.h:
- (JSC::UStringImpl::adopt):
- Only assert that vector.data() is non-zero if vector.size() is non-zero.
-
-2010-02-09 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Not reviewed. Try to fix build problem on SnowLeopard slaves to bring them back.
-
- * API/JSClassRef.cpp:
- (tryCreateStringFromUTF8): Mark method as 'static inline' to suppress "warning: no previous prototype for ..."
-
-2010-02-09 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Three small string fixes:
- (1) StringBuilder::release should CRASH if the buffer allocation failed.
- (2) Remove weird, dead code from JSString::tryGetValue, replace with an ASSERT.
- (3) Move UString::createFromUTF8 out to the API, as tryCreateStringFromUTF8.
- This is only used from the API, and (now) unlike other UString::create
- methods may return UString::null() to indicate failure cases. Better
- handle these in the API.
-
- * API/JSClassRef.cpp:
- (tryCreateStringFromUTF8):
- (OpaqueJSClass::OpaqueJSClass):
- (OpaqueJSClassContextData::OpaqueJSClassContextData):
- * runtime/JSString.h:
- (JSC::Fiber::tryGetValue):
- * runtime/StringBuilder.h:
- (JSC::StringBuilder::release):
- * runtime/UString.cpp:
- (JSC::UString::UString):
- (JSC::UString::from):
- (JSC::UString::find):
- * runtime/UString.h:
-
-2010-02-09 Janne Koskinen <janne.p.koskinen@digia.com>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] use nanval() for Symbian as nonInlineNaN
- https://bugs.webkit.org/show_bug.cgi?id=34170
-
- numeric_limits<double>::quiet_NaN is broken in Symbian
- causing NaN to be evaluated as a number.
-
- * runtime/JSValue.cpp:
- (JSC::nonInlineNaN):
-
-2010-02-09 Tamas Szirbucz <szirbucz@inf.u-szeged.hu>
-
- Reviewed by Gavin Barraclough.
-
- Add a soft modulo operation to ARM JIT using a trampoline function.
- The performance progression is about ~1.8% on ARMv7
- https://bugs.webkit.org/show_bug.cgi?id=34424
-
- Developed in cooperation with Gabor Loki.
-
- * jit/JIT.h:
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_mod):
- (JSC::JIT::emitSlow_op_mod):
- * jit/JITOpcodes.cpp:
- (JSC::JIT::softModulo):
- * jit/JITStubs.h:
- (JSC::JITThunks::ctiSoftModulo):
- * wtf/Platform.h:
-
-2010-02-08 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (SL/win build fixes).
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * runtime/StringPrototype.cpp:
-
-2010-02-08 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt
-
- Make String.replace throw an exception on out-of-memory, rather than
- returning a null (err, empty-ish) string. Move String::replaceRange
- and String::spliceSubstringsWithSeparators out to StringPrototype -
- these were fairly specific use anyway, and we can better integrate
- throwing the JS expcetion this way.
-
- Also removes redundant assignment operator from UString.
-
- * JavaScriptCore.exp:
- * runtime/StringPrototype.cpp:
- (JSC::StringRange::StringRange):
- (JSC::jsSpliceSubstringsWithSeparators):
- (JSC::jsReplaceRange):
- (JSC::stringProtoFuncReplace):
- * runtime/UString.cpp:
- * runtime/UString.h:
-
-2010-02-08 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Undefine WTF_OS_WINDOWS and WTF_PLATFORM_WIN
- https://bugs.webkit.org/show_bug.cgi?id=34561
-
- As the binary for simulator is built with MSVC 2005,
- WTF_OS_WINDOWS and WTF_PLATFORM_WIN are defined.
- Undefine them as we don't target Windows.
-
- * wtf/Platform.h:
-
-2010-02-08 Chris Rogers <crogers@google.com>
-
- Reviewed by Darin Adler.
-
- audio engine: add Vector3 class
- https://bugs.webkit.org/show_bug.cgi?id=34548
-
- * wtf/Vector3.h: Added.
- (WebCore::Vector3::Vector3):
- (WebCore::Vector3::abs):
- (WebCore::Vector3::isZero):
- (WebCore::Vector3::normalize):
- (WebCore::Vector3::x):
- (WebCore::Vector3::y):
- (WebCore::Vector3::z):
- (WebCore::operator+):
- (WebCore::operator-):
- (WebCore::operator*):
- (WebCore::dot):
- (WebCore::cross):
- (WebCore::distance):
-
-2010-02-08 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Fix warning in clang++
-
- * runtime/Structure.h:
- (JSC::Structure::propertyStorageSize):
-
-2010-02-08 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Geoff Garen.
-
- Make makeString CRASH if we fail to allocate a string.
-
- (tryMakeString or jsMakeNontrivialString can be used where we
- expect allocation may fail and want to handle the error).
-
- * runtime/JSStringBuilder.h:
- (JSC::jsMakeNontrivialString):
- * runtime/UString.h:
- (JSC::tryMakeString):
- (JSC::makeString):
-
-2010-02-08 Gavin Barraclough <barraclough@apple.com>
-
- Rubber Stamped by Oliver Hunt.
-
- Remove a couple of unnecesary C-style casts spotted by Darin.
-
- * runtime/JSGlobalObjectFunctions.cpp:
- (JSC::encode):
- (JSC::globalFuncEscape):
-
-2010-02-08 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Geoff Garen.
-
- Switch some more StringBuilder/jsNontrivialString code to use
- JSStringBuilder/jsMakeNontrivialString - these methods will
- throw an exception if we hit out-of-memory, rather than just
- CRASHing.
-
- * runtime/FunctionPrototype.cpp:
- (JSC::functionProtoFuncToString):
- * runtime/JSGlobalObjectFunctions.cpp:
- (JSC::encode):
- (JSC::decode):
- (JSC::globalFuncEscape):
-
-2010-02-08 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Sam Weinig.
-
- Use an empty identifier instead of a null identifier for parse
- tokens without an identifier.
-
- This helps encapsulate the null UStringImpl within UString.
-
- * parser/Grammar.y:
- * parser/NodeConstructors.h:
- (JSC::ContinueNode::ContinueNode):
- (JSC::BreakNode::BreakNode):
- (JSC::ForInNode::ForInNode):
- * runtime/CommonIdentifiers.cpp:
- (JSC::CommonIdentifiers::CommonIdentifiers):
- * runtime/CommonIdentifiers.h:
- * runtime/FunctionPrototype.cpp:
- (JSC::FunctionPrototype::FunctionPrototype):
-
-2010-02-08 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Build fix for make distcheck.
-
- * GNUmakefile.am:
-
-2010-02-08 Simon Hausmann <simon.hausmann@nokia.com>
-
- Unreviewed RVCT build fix.
-
- Similar to r54391, don't import the cmath functions from std:: for RVCT.
-
- * wtf/MathExtras.h:
-
-2010-02-05 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Geoff Garen.
-
- Change UStringImpl::create to CRASH if the string cannot be allocated,
- rather than returning a null string (which will behave like a zero-length
- string if used).
-
- Also move createRep function from UString to become new overloaded
- UStringImpl::create methods. In doing so, bring their behaviour closer to
- being in line with WebCore::StringImpl, in removing the behaviour that they
- can be used to produce null UStrings (ASSERT the char* provided is non-null).
- This behaviour of converting null C-strings to null UStrings is inefficient
- (cmompared to just using UString::null()), incompatible with WebCore::StringImpl's
- behaviour, and may generate unexpected behaviour, since in many cases a null
- UString can be used like an empty string.
-
- With these changes UStringImpl need not have a concept of null impls, we can
- start transitioning this to become an implementation detail of UString, that
- internally it chooses to use a null-object rather than an actually zero impl
- pointer.
-
- * JavaScriptCore.exp:
- * debugger/Debugger.cpp:
- (JSC::Debugger::recompileAllJSFunctions):
- * debugger/DebuggerCallFrame.cpp:
- (JSC::DebuggerCallFrame::calculatedFunctionName):
- * parser/Parser.cpp:
- (JSC::Parser::parse):
- * profiler/Profile.cpp:
- (JSC::Profile::Profile):
- * profiler/ProfileGenerator.cpp:
- (JSC::ProfileGenerator::stopProfiling):
- * runtime/Error.cpp:
- (JSC::Error::create):
- (JSC::throwError):
- * runtime/ExceptionHelpers.cpp:
- (JSC::createError):
- * runtime/Identifier.cpp:
- (JSC::Identifier::add):
- * runtime/PropertyNameArray.cpp:
- (JSC::PropertyNameArray::add):
- * runtime/UString.cpp:
- (JSC::initializeUString):
- (JSC::UString::UString):
- (JSC::UString::operator=):
- * runtime/UString.h:
- (JSC::UString::isNull):
- (JSC::UString::null):
- (JSC::UString::rep):
- (JSC::UString::UString):
- * runtime/UStringImpl.cpp:
- (JSC::UStringImpl::create):
- * runtime/UStringImpl.h:
-
-2010-02-05 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Define SYSTEM_MALLOC 1
- https://bugs.webkit.org/show_bug.cgi?id=34640
-
- Make BREWMP use system malloc because FastMalloc is not ported.
-
- * wtf/Platform.h:
-
-2010-02-05 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Alexey Proskuryakov.
-
- Don't call CRASH() in fastMalloc and fastCalloc when the requested memory size is 0
- https://bugs.webkit.org/show_bug.cgi?id=34569
-
- With USE_SYSTEM_MALLOC=1, fastMalloc and fastCalloc call CRASH()
- if the return value of malloc and calloc is 0.
-
- However, these functions can return 0 when the request size is 0.
- Libc manual says, "If size is 0, then malloc() returns either NULL,
- or a unique pointer value that can later be successfully passed to free()."
- Though malloc returns a unique pointer in most systems,
- 0 can be returned in some systems. For instance, BREW's MALLOC returns 0
- when size is 0.
-
- If malloc or calloc returns 0 due to allocation size, increase the size
- to 1 and try again.
-
- * wtf/FastMalloc.cpp:
- (WTF::fastMalloc):
- (WTF::fastCalloc):
-
-2010-02-04 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Timothy Hatcher.
-
- Build fix. Remove a symbol corresponding to an inline function from the linker export
- file to prevent a weak external failure.
-
- * JavaScriptCore.xcodeproj/project.pbxproj: Accommodate rename of script.
-
-2010-02-04 Daniel Bates <dbates@webkit.org>
-
- [Qt] Unreviewed, build fix for Qt bot.
-
- * runtime/JSStringBuilder.h: Changed #include <X.h> notation #include "X.h".
-
-2010-02-04 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Clearing a WeakGCPtr is weird
- https://bugs.webkit.org/show_bug.cgi?id=34627
-
- Added a WeakGCPtr::clear interface.
-
- As discussed in https://bugs.webkit.org/show_bug.cgi?id=33383, the old
- interface made it pretty weird for a client to conditionally clear a
- WeakGCPtr, which is exactly what clients want to do when objects are
- finalized.
-
- * API/JSClassRef.cpp:
- (clearReferenceToPrototype): Use the new WeakGCPtr::clear() interface.
-
- * runtime/WeakGCPtr.h:
- (JSC::WeakGCPtr::clear): Added an interface for clearing a WeakGCPtr,
- iff its current value is the value passed in. It's cumbersome for the
- client to do this test, since WeakGCPtr sometimes pretends to be null.
-
-2010-02-04 Geoffrey Garen <ggaren@apple.com>
-
- Build fix: export a header.
-
- * JavaScriptCore.xcodeproj/project.pbxproj:
-
-2010-02-04 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Add a JSStringBuilder class (similar-to, and derived-from StringBuilder) to
- construct JSStrings, throwing a JS exception should we run out of memory whilst
- allocating storage for the string.
-
- Similarly, add jsMakeNontrivialString methods to use in cases where previously
- we were calling makeString & passing the result to jsNontrivialString. Again,
- these new methods throw if we hit an out of memory condition.
-
- Move throwOutOfMemoryError into ExceptionHelpers, to make it more widely available.
-
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * runtime/ArrayPrototype.cpp:
- (JSC::arrayProtoFuncToString):
- (JSC::arrayProtoFuncToLocaleString):
- (JSC::arrayProtoFuncJoin):
- * runtime/DateConstructor.cpp:
- (JSC::callDate):
- * runtime/DatePrototype.cpp:
- (JSC::dateProtoFuncToString):
- (JSC::dateProtoFuncToUTCString):
- (JSC::dateProtoFuncToGMTString):
- * runtime/ErrorPrototype.cpp:
- (JSC::errorProtoFuncToString):
- * runtime/ExceptionHelpers.cpp:
- (JSC::throwOutOfMemoryError):
- * runtime/ExceptionHelpers.h:
- * runtime/JSStringBuilder.h: Added.
- (JSC::JSStringBuilder::releaseJSString):
- (JSC::jsMakeNontrivialString):
- * runtime/NumberPrototype.cpp:
- (JSC::numberProtoFuncToPrecision):
- * runtime/ObjectPrototype.cpp:
- (JSC::objectProtoFuncToString):
- * runtime/Operations.cpp:
- * runtime/Operations.h:
- * runtime/RegExpPrototype.cpp:
- (JSC::regExpProtoFuncToString):
- * runtime/StringBuilder.h:
- (JSC::StringBuilder::append):
- * runtime/StringPrototype.cpp:
- (JSC::stringProtoFuncBig):
- (JSC::stringProtoFuncSmall):
- (JSC::stringProtoFuncBlink):
- (JSC::stringProtoFuncBold):
- (JSC::stringProtoFuncFixed):
- (JSC::stringProtoFuncItalics):
- (JSC::stringProtoFuncStrike):
- (JSC::stringProtoFuncSub):
- (JSC::stringProtoFuncSup):
- (JSC::stringProtoFuncFontcolor):
- (JSC::stringProtoFuncFontsize):
- (JSC::stringProtoFuncAnchor):
-
-2010-02-04 Steve Falkenburg <sfalken@apple.com>
-
- Windows build fix.
-
- * wtf/MathExtras.h:
-
-2010-02-04 Darin Adler <darin@apple.com>
-
- Reviewed by David Levin.
-
- Make MathExtras.h compatible with <cmath>
- https://bugs.webkit.org/show_bug.cgi?id=34618
-
- * wtf/MathExtras.h: Include <cmath> instead of <math.h>.
- Use "using" as we do elsewhere in WTF for the four functions from <cmath>
- we want to use without the prefix. Later we could consider making the std
- explicit at call sites instead.
-
-2010-02-04 Tamas Szirbucz <szirbucz@inf.u-szeged.hu>
-
- Reviewed by Gavin Barraclough.
-
- Use an easily appendable structure for trampolines instead of pointer parameters.
- https://bugs.webkit.org/show_bug.cgi?id=34424
-
- * assembler/ARMAssembler.cpp:
- (JSC::ARMAssembler::executableCopy):
- * jit/JIT.h:
- (JSC::JIT::compileCTIMachineTrampolines):
- * jit/JITOpcodes.cpp:
- (JSC::JIT::privateCompileCTIMachineTrampolines):
- * jit/JITStubs.cpp:
- (JSC::JITThunks::JITThunks):
- * jit/JITStubs.h:
- (JSC::JITThunks::ctiStringLengthTrampoline):
- (JSC::JITThunks::ctiVirtualCallLink):
- (JSC::JITThunks::ctiVirtualCall):
- (JSC::JITThunks::ctiNativeCallThunk):
-
-2010-02-04 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Increase test coverage for the QScriptValue.
-
- https://bugs.webkit.org/show_bug.cgi?id=34533
-
- * qt/tests/qscriptvalue/qscriptvalue.pro:
- * qt/tests/qscriptvalue/tst_qscriptvalue.cpp:
- (tst_QScriptValue::tst_QScriptValue):
- (tst_QScriptValue::~tst_QScriptValue):
- (tst_QScriptValue::dataHelper):
- (tst_QScriptValue::newRow):
- (tst_QScriptValue::testHelper):
- (tst_QScriptValue::ctor):
- * qt/tests/qscriptvalue/tst_qscriptvalue.h: Added.
- * qt/tests/qscriptvalue/tst_qscriptvalue_generated.cpp: Added.
- (tst_QScriptValue::initScriptValues):
- (tst_QScriptValue::isValid_initData):
- (tst_QScriptValue::isValid_makeData):
- (tst_QScriptValue::isValid_test):
- (tst_QScriptValue::isBool_initData):
- (tst_QScriptValue::isBool_makeData):
- (tst_QScriptValue::isBool_test):
- (tst_QScriptValue::isBoolean_initData):
- (tst_QScriptValue::isBoolean_makeData):
- (tst_QScriptValue::isBoolean_test):
- (tst_QScriptValue::isFunction_initData):
- (tst_QScriptValue::isFunction_makeData):
- (tst_QScriptValue::isFunction_test):
- (tst_QScriptValue::isNull_initData):
- (tst_QScriptValue::isNull_makeData):
- (tst_QScriptValue::isNull_test):
- (tst_QScriptValue::isString_initData):
- (tst_QScriptValue::isString_makeData):
- (tst_QScriptValue::isString_test):
- (tst_QScriptValue::isUndefined_initData):
- (tst_QScriptValue::isUndefined_makeData):
- (tst_QScriptValue::isUndefined_test):
- (tst_QScriptValue::isObject_initData):
- (tst_QScriptValue::isObject_makeData):
- (tst_QScriptValue::isObject_test):
-
-2010-02-03 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Define WTF_PLATFORM_BREWMP_SIMULATOR when AEE_SIMULATOR is defined
- https://bugs.webkit.org/show_bug.cgi?id=34514
-
- PLATFORM(BREWMP_SIMULATOR) guard is needed to make distinction between BREWMP
- and BREWMP simulator.
-
- * wtf/Platform.h:
-
-2010-02-03 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Remove COMPILE_ASSERT conflict with the underlying PLATFORM
- https://bugs.webkit.org/show_bug.cgi?id=34190
-
- COMPILE_ASSERT conflicts with the underlying PLATFORM because it is defined
- both in WTF's Assertions.h and BREWMP's AEEClassIDs.h. Include AEEClassIDs.h
- in Assertions.h and undef COMPILE_ASSERT to avoid redefining COMPILE_ASSERT.
-
- * wtf/Assertions.h:
-
-2010-02-03 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Implement OwnPtrBrew to make sure BREW instances are freed.
- https://bugs.webkit.org/show_bug.cgi?id=34518
-
- Add OwnPtrBrew to release IFile, IFileMgr and IBitmap instances.
-
- * wtf/brew/OwnPtrBrew.cpp: Added.
- (WTF::IFileMgr):
- (WTF::IFile):
- (WTF::IBitmap):
- (WTF::freeOwnedPtrBrew):
- * wtf/brew/OwnPtrBrew.h: Added.
- (WTF::OwnPtrBrew::OwnPtrBrew):
- (WTF::OwnPtrBrew::~OwnPtrBrew):
- (WTF::OwnPtrBrew::get):
- (WTF::OwnPtrBrew::release):
- (WTF::OwnPtrBrew::outPtr):
- (WTF::OwnPtrBrew::set):
- (WTF::OwnPtrBrew::clear):
- (WTF::OwnPtrBrew::operator*):
- (WTF::OwnPtrBrew::operator->):
- (WTF::OwnPtrBrew::operator!):
- (WTF::OwnPtrBrew::operator UnspecifiedBoolType):
- (WTF::OwnPtrBrew::swap):
- (WTF::swap):
- (WTF::operator==):
- (WTF::operator!=):
- (WTF::getPtr):
-
-2010-02-03 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Darin Adler.
-
- Export WTF::fastStrDup symbol
- https://bugs.webkit.org/show_bug.cgi?id=34526
-
- * JavaScriptCore.exp:
-
-2010-02-03 Kevin Watters <kevinwatters@gmail.com>
-
- Reviewed by Kevin Ollivier.
+ * runtime/JSGlobalObject.cpp:
+ (JSC::JSGlobalObject::init): Ditto.
- [wx] Enable JIT compilation for wx.
+ PART TWO: Global search and replace.
- https://bugs.webkit.org/show_bug.cgi?id=34536
-
- * wtf/Platform.h:
+ In the areas below, I used global search-and-replace to change
+ (ExecState*, JSObject*, JSValue, const ArgList&) => (ExecState*)
+ args.size() => exec->argumentCount()
+ args.at(i) => exec->argument(i)
-2010-02-02 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Geoffrey Garen.
-
- Crash in CollectorBitmap::get at nbcolympics.com
- https://bugs.webkit.org/show_bug.cgi?id=34504
-
- This was caused by the use of m_offset to determine the offset of
- a new property into the property storage. This patch corrects
- the effected cases by incorporating the anonymous slot count. It
- also removes the duplicate copy of anonymous slot count from the
- property table as keeping this up to date merely increased the
- chance of a mismatch. Finally I've added a large number of
- assertions in an attempt to prevent such a bug from happening
- again.
-
- With the new assertions in place the existing anonymous slot tests
- all fail without the m_offset fixes.
-
- * runtime/PropertyMapHashTable.h:
- * runtime/Structure.cpp:
- (JSC::Structure::materializePropertyMap):
- (JSC::Structure::addPropertyTransitionToExistingStructure):
- (JSC::Structure::addPropertyTransition):
- (JSC::Structure::removePropertyTransition):
- (JSC::Structure::flattenDictionaryStructure):
- (JSC::Structure::addPropertyWithoutTransition):
- (JSC::Structure::removePropertyWithoutTransition):
- (JSC::Structure::copyPropertyTable):
- (JSC::Structure::get):
- (JSC::Structure::put):
- (JSC::Structure::remove):
- (JSC::Structure::insertIntoPropertyMapHashTable):
- (JSC::Structure::createPropertyMapHashTable):
- (JSC::Structure::rehashPropertyMapHashTable):
- (JSC::Structure::checkConsistency):
-
-2010-02-02 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Darin Adler.
-
- Copyright year updating for Windows version resources should be automatic
- https://bugs.webkit.org/show_bug.cgi?id=34503
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.rc:
-
-2010-02-02 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Add dummy main thread functions
- https://bugs.webkit.org/show_bug.cgi?id=33569
-
- Add dummy initializeMainThreadPlatform and
- scheduleDispatchFunctionsOnMainThread.
-
- * wtf/brew/MainThreadBrew.cpp: Added.
- (WTF::initializeMainThreadPlatform):
- (WTF::scheduleDispatchFunctionsOnMainThread):
-
-2010-02-02 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Darin Adler.
-
- Add using WTF::getLocalTime to CurrentTime.h
- https://bugs.webkit.org/show_bug.cgi?id=34493
-
- * wtf/CurrentTime.h:
-
-2010-02-02 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Add HAVE_XXX definitions
- https://bugs.webkit.org/show_bug.cgi?id=34414
-
- Add HAVE_ERRNO_H=1
-
- * wtf/Platform.h:
-
-2010-02-02 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Don't define HAVE_TM_GMTOFF, HAVE_TM_ZONE and HAVE_TIMEGM
- https://bugs.webkit.org/show_bug.cgi?id=34388
-
- BREWMP does not have these features.
-
- * wtf/Platform.h:
-
-2010-02-02 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Define WTF_PLATFORM_BREWMP=1 when BUILDING_BREWMP is defined
- https://bugs.webkit.org/show_bug.cgi?id=34386
-
- Define WTF_PLATFORM_BREWMP=1 so that PLATFORM(BREWMP) guard can be used.
-
- * wtf/Platform.h:
-
-2010-02-01 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Darin Adler.
-
- Date.UTC() should apply TimeClip operation.
- https://bugs.webkit.org/show_bug.cgi?id=34461
-
- ECMAScript 5 15.9.4.3:
- > 9 Return TimeClip(MakeDate(MakeDay(yr, m, dt), MakeTime(h, min, s, milli))).
-
- * runtime/DateConstructor.cpp:
- (JSC::dateUTC): Calls WTF::timeClip().
-
-2010-02-01 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Darin Adler.
-
- Fix a bug that Math.round() retunrs incorrect results for huge integers
- https://bugs.webkit.org/show_bug.cgi?id=34462
-
- * runtime/MathObject.cpp:
- (JSC::mathProtoFuncRound): Avoid "arg + 0.5".
-
-2010-02-01 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Port WTF's currentTime
- https://bugs.webkit.org/show_bug.cgi?id=33567
-
- Combine GETUTCSECONDS and GETTIMEMS to calculate the number
- of milliseconds since 1970/01/01 00:00:00 UTC.
-
- * wtf/CurrentTime.cpp:
- (WTF::currentTime):
-
-2010-02-01 Patrick Gansterer <paroga@paroga.com>
-
- Reviewed by Darin Adler.
-
- [Qt] WinCE buildfix after r52729 and fix for Q_BIG_ENDIAN typo.
- https://bugs.webkit.org/show_bug.cgi?id=34378
-
- * wtf/Platform.h:
-
-2010-02-01 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Structure not accounting for anonymous slots when computing property storage size
- https://bugs.webkit.org/show_bug.cgi?id=34441
-
- Previously any Structure with anonymous storage would have a property map, so we
- were only including anonymous slot size if there was a property map. Given this
- is no longer the case we should always include the anonymous slot count in the
- property storage size.
-
- * runtime/Structure.h:
- (JSC::Structure::propertyStorageSize):
-
-2010-02-01 Oliver Hunt <oliver@apple.com>
-
- Windows build fix, update exports file (again)
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-02-01 Oliver Hunt <oliver@apple.com>
-
- Windows build fix, update exports file
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-01-31 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- JSC is failing to propagate anonymous slot count on some transitions
- https://bugs.webkit.org/show_bug.cgi?id=34321
-
- Remove secondary Structure constructor, and make Structure store a copy
- of the number of anonymous slots directly so saving an immediate allocation
- of a property map for all structures with anonymous storage, which also
- avoids the leaked property map on new property transition in the original
- version of this patch.
-
- We need to propagate the the anonymous slot count otherwise we can end up
- with a structure recording incorrect information about the available and
- needed space for property storage, or alternatively incorrectly reusing
- some slots.
-
- * JavaScriptCore.exp:
- * runtime/Structure.cpp:
- (JSC::Structure::Structure):
- (JSC::Structure::materializePropertyMap):
- (JSC::Structure::addPropertyTransition):
- (JSC::Structure::changePrototypeTransition):
- (JSC::Structure::despecifyFunctionTransition):
- (JSC::Structure::getterSetterTransition):
- (JSC::Structure::toDictionaryTransition):
- (JSC::Structure::flattenDictionaryStructure):
- (JSC::Structure::copyPropertyTable):
- (JSC::Structure::put):
- (JSC::Structure::remove):
- (JSC::Structure::insertIntoPropertyMapHashTable):
- (JSC::Structure::createPropertyMapHashTable):
- * runtime/Structure.h:
- (JSC::Structure::create):
- (JSC::Structure::hasAnonymousSlots):
- (JSC::Structure::anonymousSlotCount):
-
-2010-01-31 Patrick Gansterer <paroga@paroga.com>
-
- Reviewed by Darin Adler.
-
- Buildfix for WinCE + style fixes (TLS_OUT_OF_INDEXES is not defined).
- https://bugs.webkit.org/show_bug.cgi?id=34380
-
- * wtf/ThreadSpecific.h:
-
-2010-01-31 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Darin Adler.
-
- [Windows] Fix a bug of round() with huge integral numbers
- https://bugs.webkit.org/show_bug.cgi?id=34297
-
- Fix a bug that round() for huge integral numbers returns incorrect
- results. For example, round(8639999913600001) returns
- 8639999913600002 without this change though the double type can
- represent 8639999913600001 precisely.
-
- Math.round() of JavaScript has a similar problem. But this change
- doesn't fix it because Math.round() doesn't use round() of
- MathExtra.h.
-
- * wtf/MathExtras.h:
- (round): Avoid to do "num + 0.5" or "num - 0.5".
- (roundf): Fixed similarly.
- (llround): Calls round().
- (llroundf): Calls roundf().
- (lround): Calls round().
- (lroundf): Calls roundf().
-
-2010-01-29 Mark Rowe <mrowe@apple.com>
-
- Sort Xcode projects.
-
- * JavaScriptCore.xcodeproj/project.pbxproj:
-
-2010-01-29 Mark Rowe <mrowe@apple.com>
-
- Fix the Mac build.
-
- Disable ENABLE_INDEXED_DATABASE since it is "completely non-functional".
-
- As the comment in FeatureDefines.xcconfig notes, the list of feature defines
- needs to be kept in sync across the various files. The default values also
- need to be kept in sync between these files and build-webkit.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-01-29 Simon Hausmann <simon.hausmann@nokia.com>
-
- Rubber-stamped by Maciej Stachowiak.
-
- Fix the ARM build.
-
- * runtime/JSNumberCell.h:
- (JSC::JSNumberCell::createStructure): Call the right Structure::create overload.
-
-2010-01-28 Kevin Ollivier <kevino@theolliviers.com>
-
- [wx] Build fix for MSW, use ThreadingWin.cpp as the Windows pthreads implementation
- implements pthread_t in a way that makes it impossible to check its validity,
- which is needed by ThreadingPthreads.cpp.
-
- * wscript:
-
-2010-01-28 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- DOM Objects shouldn't all require custom mark functions
- https://bugs.webkit.org/show_bug.cgi?id=34291
-
- Make getAnonymousValue const-friendly
-
- * runtime/JSObject.h:
- (JSC::JSObject::getAnonymousValue):
-
-2010-01-28 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Simplify anonymous slot implementation
- https://bugs.webkit.org/show_bug.cgi?id=34282
-
- A class must now specify the number of slots it needs at construction time
- rather than later on with a transition. This makes many things simpler,
- we no longer need to need an additional transition on object creation to
- add the anonymous slots, and we remove the need for a number of transition
- type checks.
-
- * API/JSCallbackConstructor.h:
- (JSC::JSCallbackConstructor::createStructure):
+ * API/JSCallbackFunction.cpp:
+ (JSC::JSCallbackFunction::call):
* API/JSCallbackFunction.h:
- (JSC::JSCallbackFunction::createStructure):
- * API/JSCallbackObject.h:
- (JSC::JSCallbackObject::createStructure):
- * JavaScriptCore.exp:
- * debugger/DebuggerActivation.h:
- (JSC::DebuggerActivation::createStructure):
- * runtime/Arguments.h:
- (JSC::Arguments::createStructure):
- * runtime/BooleanObject.h:
- (JSC::BooleanObject::createStructure):
- * runtime/DateInstance.h:
- (JSC::DateInstance::createStructure):
- * runtime/DatePrototype.h:
- (JSC::DatePrototype::createStructure):
- * runtime/FunctionPrototype.h:
- (JSC::FunctionPrototype::createStructure):
- * runtime/GetterSetter.h:
- (JSC::GetterSetter::createStructure):
- * runtime/GlobalEvalFunction.h:
- (JSC::GlobalEvalFunction::createStructure):
- * runtime/InternalFunction.h:
- (JSC::InternalFunction::createStructure):
- * runtime/JSAPIValueWrapper.h:
- (JSC::JSAPIValueWrapper::createStructure):
- * runtime/JSActivation.h:
- (JSC::JSActivation::createStructure):
- * runtime/JSArray.h:
- (JSC::JSArray::createStructure):
- * runtime/JSByteArray.cpp:
- (JSC::JSByteArray::createStructure):
- * runtime/JSCell.h:
- (JSC::JSCell::createDummyStructure):
- * runtime/JSFunction.h:
- (JSC::JSFunction::createStructure):
- * runtime/JSGlobalObject.h:
- (JSC::JSGlobalObject::createStructure):
- * runtime/JSNotAnObject.h:
- (JSC::JSNotAnObject::createStructure):
- * runtime/JSONObject.h:
- (JSC::JSONObject::createStructure):
- * runtime/JSObject.h:
- (JSC::JSObject::createStructure):
- (JSC::JSObject::putAnonymousValue):
- (JSC::JSObject::getAnonymousValue):
- * runtime/JSPropertyNameIterator.h:
- (JSC::JSPropertyNameIterator::createStructure):
- * runtime/JSStaticScopeObject.h:
- (JSC::JSStaticScopeObject::createStructure):
- * runtime/JSString.h:
- (JSC::Fiber::createStructure):
- * runtime/JSVariableObject.h:
- (JSC::JSVariableObject::createStructure):
- * runtime/JSWrapperObject.h:
- (JSC::JSWrapperObject::createStructure):
- (JSC::JSWrapperObject::JSWrapperObject):
- * runtime/MathObject.h:
- (JSC::MathObject::createStructure):
- * runtime/NumberConstructor.h:
- (JSC::NumberConstructor::createStructure):
- * runtime/NumberObject.h:
- (JSC::NumberObject::createStructure):
- * runtime/RegExpConstructor.h:
- (JSC::RegExpConstructor::createStructure):
- * runtime/RegExpObject.h:
- (JSC::RegExpObject::createStructure):
- * runtime/StringObject.h:
- (JSC::StringObject::createStructure):
- * runtime/StringObjectThatMasqueradesAsUndefined.h:
- (JSC::StringObjectThatMasqueradesAsUndefined::createStructure):
- * runtime/Structure.cpp:
- (JSC::Structure::~Structure):
- (JSC::Structure::materializePropertyMap):
- * runtime/Structure.h:
- (JSC::Structure::create):
- (JSC::Structure::anonymousSlotCount):
- * runtime/StructureTransitionTable.h:
-
-2010-01-27 Oliver Hunt <oliver@apple.com>
-
- Windows build fix.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-01-27 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- MessageEvent.data should deserialize in the context of the MessageEvent's global object
- https://bugs.webkit.org/show_bug.cgi?id=34227
-
- Add logic to allow us to create an Object, Array, or Date instance
- so we can create them in the context of a specific global object,
- rather than just using the current lexical global object.
-
- * JavaScriptCore.exp:
- * runtime/DateInstance.cpp:
- (JSC::DateInstance::DateInstance):
- * runtime/DateInstance.h:
- * runtime/JSGlobalObject.h:
- (JSC::constructEmptyObject):
- (JSC::constructEmptyArray):
-
-2010-01-27 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=34150
- WebKit needs a mechanism to catch stale HashMap entries
-
- It is very difficult to catch stale pointers that are HashMap keys - since a pointer's hash
- is just its value, it is very unlikely that any observable problem is reproducible.
-
- This extends hash table consistency checks to check that pointers are referencing allocated
- memory blocks, and makes it possible to invoke the checks explicitly (it is not feasible
- to enable CHECK_HASHTABLE_CONSISTENCY by default, because that affects performance too much).
-
- * wtf/HashMap.h: (WTF::::checkConsistency): Call through to HashTable implementation. We can
- add similar calls to HashSet and HashCountedSet, but I haven't seen hard to debug problems
- with those yet.
-
- * wtf/HashSet.h: (WTF::::remove): The version of checkTableConsistency that's guarded by
- CHECK_HASHTABLE_CONSISTENCY is now called internalCheckTableConsistency().
-
- * wtf/HashTable.h:
- (WTF::HashTable::internalCheckTableConsistency):
- (WTF::HashTable::internalCheckTableConsistencyExceptSize):
- (WTF::HashTable::checkTableConsistencyExceptSize):
- Expose checkTableConsistency() even if CHECK_HASHTABLE_CONSISTENCY is off.
- (WTF::::add): Updated for checkTableConsistency renaming.
- (WTF::::addPassingHashCode): Ditto.
- (WTF::::removeAndInvalidate): Ditto.
- (WTF::::remove): Ditto.
- (WTF::::rehash): Ditto.
- (WTF::::checkTableConsistency): The assertion for !shouldExpand() was not correct - this
- function returns true for tables with m_table == 0.
- (WTF::::checkTableConsistencyExceptSize): Call checkValueConsistency for key. Potentially,
- we could do the same for values.
-
- * wtf/HashTraits.h:
- (WTF::GenericHashTraits::checkValueConsistency): An empty function that can be overridden
- to add checks. Currently, the only override is for pointer hashes.
-
- * wtf/RefPtrHashMap.h: (WTF::::remove): Updated for checkTableConsistency renaming.
-
-2010-01-27 Anton Muhin <antonm@chromium.org>
-
- Reviewed by Darin Adler.
-
- Remove trailing \ from inline function code
- https://bugs.webkit.org/show_bug.cgi?id=34223
-
- * assembler/ARMv7Assembler.h:
- (JSC::ARMThumbImmediate::countLeadingZerosPartial):
-
-2010-01-27 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Port WTF's randomNumber
- https://bugs.webkit.org/show_bug.cgi?id=33566
-
- Use GETRAND to generate 4 byte random byte sequence to implement
- weakRandomNumber. Create a secure random number generator with
- AEECLSID_RANDOM to implement randomNumber.
-
- * wtf/RandomNumber.cpp:
- (WTF::weakRandomNumber):
- (WTF::randomNumber):
-
-2010-01-27 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Port getCPUTime
- https://bugs.webkit.org/show_bug.cgi?id=33572
-
- Use GETUPTIMEMS which returns a continuously and
- linearly increasing millisecond timer from the time the device
- was powered on. This function is enough to implement getCPUTime.
-
- * runtime/TimeoutChecker.cpp:
- (JSC::getCPUTime):
-
-2010-01-27 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Oliver Hunt.
-
- [BREWMP] Add MarkStack fastMalloc implementation for platforms without VirtualAlloc or mmap.
- https://bugs.webkit.org/show_bug.cgi?id=33582
-
- Use fastMalloc and fastFree to implement MarkStack::allocateStack and
- MarkStack::releaseStack for platforms without page level allocation.
-
- * runtime/MarkStack.h:
- (JSC::MarkStack::MarkStackArray::shrinkAllocation):
- * runtime/MarkStackNone.cpp: Added.
- (JSC::MarkStack::initializePagesize):
- (JSC::MarkStack::allocateStack):
- (JSC::MarkStack::releaseStack):
-
-2010-01-27 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Don't use time function
- https://bugs.webkit.org/show_bug.cgi?id=33577
-
- Calling time(0) in BREW devices causes a crash because time
- is not properly ported in most devices. Cast currentTime() to
- time_t to get the same result as time(0).
-
- * wtf/DateMath.cpp:
- (WTF::calculateUTCOffset):
-
-2010-01-27 Alexey Proskuryakov <ap@apple.com>
-
- Revert r53899 (HashMap<AtomicStringImpl*, Value> key checks) and subsequent build fixes,
- because they make SVG tests crash in release builds.
-
- * wtf/HashMap.h:
- (WTF::::remove):
- * wtf/HashSet.h:
- (WTF::::remove):
- * wtf/HashTable.h:
- (WTF::::add):
- (WTF::::addPassingHashCode):
- (WTF::::removeAndInvalidate):
- (WTF::::remove):
- (WTF::::rehash):
- (WTF::::checkTableConsistency):
- (WTF::::checkTableConsistencyExceptSize):
- * wtf/HashTraits.h:
- (WTF::GenericHashTraits::emptyValue):
- (WTF::):
- * wtf/RefPtrHashMap.h:
- (WTF::::remove):
-
-2010-01-26 Alexey Proskuryakov <ap@apple.com>
-
- More Windows build fixing.
-
- * wtf/HashTraits.h: _msize takes void*, remove const qualifier from type.
-
-2010-01-26 Alexey Proskuryakov <ap@apple.com>
-
- Windows build fix.
-
- * wtf/HashTraits.h: Include malloc.h for _msize().
-
-2010-01-26 Alexey Proskuryakov <ap@apple.com>
-
- Build fix.
-
- * wtf/HashTable.h: (WTF::HashTable::checkTableConsistencyExceptSize): Remove const from a
- static (empty) version of this function.
-
-2010-01-26 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=34150
- WebKit needs a mechanism to catch stale HashMap entries
-
- It is very difficult to catch stale pointers that are HashMap keys - since a pointer's hash
- is just its value, it is very unlikely that any observable problem is reproducible.
-
- This extends hash table consistency checks to check that pointers are referencing allocated
- memory blocks, and makes it possible to invoke the checks explicitly (it is not feasible
- to enable CHECK_HASHTABLE_CONSISTENCY by default, because that affects performance too much).
-
- * wtf/HashMap.h: (WTF::::checkConsistency): Call through to HashTable implementation. We can
- add similar calls to HashSet and HashCountedSet, but I haven't seen hard to debug problems
- with those yet.
-
- * wtf/HashSet.h: (WTF::::remove): The version of checkTableConsistency that's guarded by
- CHECK_HASHTABLE_CONSISTENCY is now called internalCheckTableConsistency().
-
- * wtf/HashTable.h:
- (WTF::HashTable::internalCheckTableConsistency):
- (WTF::HashTable::internalCheckTableConsistencyExceptSize):
- (WTF::HashTable::checkTableConsistencyExceptSize):
- Expose checkTableConsistency() even if CHECK_HASHTABLE_CONSISTENCY is off.
- (WTF::::add): Updated for checkTableConsistency renaming.
- (WTF::::addPassingHashCode): Ditto.
- (WTF::::removeAndInvalidate): Ditto.
- (WTF::::remove): Ditto.
- (WTF::::rehash): Ditto.
- (WTF::::checkTableConsistency): The assertion for !shouldExpand() was not correct - this
- function returns true for tables with m_table == 0.
- (WTF::::checkTableConsistencyExceptSize): Call checkValueConsistency for key. Potentially,
- we could do the same for values.
-
- * wtf/HashTraits.h:
- (WTF::GenericHashTraits::checkValueConsistency): An empty function that can be overridden
- to add checks. Currently, the only override is for pointer hashes.
-
- * wtf/RefPtrHashMap.h: (WTF::::remove): Updated for checkTableConsistency renaming.
-
-2010-01-26 Lyon Chen <liachen@rim.com>
-
- Reviewed by Maciej Stachowiak.
-
- Opcode.h use const void* for Opcode cause error #1211 for RVCT compiler
- https://bugs.webkit.org/show_bug.cgi?id=33902
-
- * bytecode/Opcode.h:
-
-2010-01-26 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Windows build references non-existent include paths
- https://bugs.webkit.org/show_bug.cgi?id=34175
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
- * JavaScriptCore.vcproj/WTF/WTFCommon.vsprops:
- * JavaScriptCore.vcproj/jsc/jscCommon.vsprops:
- * JavaScriptCore.vcproj/testapi/testapi.vcproj:
- * JavaScriptCore.vcproj/testapi/testapiCommon.vsprops:
-
-2010-01-26 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Geoffrey Garen.
-
- Using JavaScriptCore API with a webkit vended context can result in slow script dialog
- https://bugs.webkit.org/show_bug.cgi?id=34172
-
- Make the APIShim correctly increment and decrement the timeout
- entry counter.
-
- * API/APIShims.h:
- (JSC::APIEntryShimWithoutLock::APIEntryShimWithoutLock):
- (JSC::APIEntryShimWithoutLock::~APIEntryShimWithoutLock):
- (JSC::APICallbackShim::APICallbackShim):
- (JSC::APICallbackShim::~APICallbackShim):
-
-2010-01-26 Simon Hausmann <simon.hausmann@nokia.com>
-
- [Qt] Fix compilation of QtScript with non-gcc compilers
-
- Variable length stack arrays are a gcc extension. Use QVarLengthArray
- as a more portable solution that still tries to allocate on the stack
- first.
-
- * qt/api/qscriptvalue_p.h:
- (QScriptValuePrivate::call):
-
-2010-01-26 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Fix the build on platforms without JIT support.
-
- The JIT support should be determined at compile-time via wtf/Platform.h
-
- * qt/api/QtScript.pro:
-
-2010-01-26 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- First steps of the QtScript API.
-
- Two new classes were created; QScriptEngine and QScriptValue.
- The first should encapsulate a javascript context and the second a script
- value.
-
- This API is still in development, so it isn't compiled by default.
- To trigger compilation, pass --qmakearg="CONFIG+=build-qtscript" to
- build-webkit.
-
- https://bugs.webkit.org/show_bug.cgi?id=32565
-
- * qt/api/QtScript.pro: Added.
- * qt/api/qscriptconverter_p.h: Added.
- (QScriptConverter::toString):
- * qt/api/qscriptengine.cpp: Added.
- (QScriptEngine::QScriptEngine):
- (QScriptEngine::~QScriptEngine):
- (QScriptEngine::evaluate):
- (QScriptEngine::collectGarbage):
- * qt/api/qscriptengine.h: Added.
- * qt/api/qscriptengine_p.cpp: Added.
- (QScriptEnginePrivate::QScriptEnginePrivate):
- (QScriptEnginePrivate::~QScriptEnginePrivate):
- (QScriptEnginePrivate::evaluate):
- * qt/api/qscriptengine_p.h: Added.
- (QScriptEnginePrivate::get):
- (QScriptEnginePrivate::collectGarbage):
- (QScriptEnginePrivate::makeJSValue):
- (QScriptEnginePrivate::context):
- * qt/api/qscriptvalue.cpp: Added.
- (QScriptValue::QScriptValue):
- (QScriptValue::~QScriptValue):
- (QScriptValue::isValid):
- (QScriptValue::isBool):
- (QScriptValue::isBoolean):
- (QScriptValue::isNumber):
- (QScriptValue::isNull):
- (QScriptValue::isString):
- (QScriptValue::isUndefined):
- (QScriptValue::isError):
- (QScriptValue::isObject):
- (QScriptValue::isFunction):
- (QScriptValue::toString):
- (QScriptValue::toNumber):
- (QScriptValue::toBool):
- (QScriptValue::toBoolean):
- (QScriptValue::toInteger):
- (QScriptValue::toInt32):
- (QScriptValue::toUInt32):
- (QScriptValue::toUInt16):
- (QScriptValue::call):
- (QScriptValue::engine):
- (QScriptValue::operator=):
- (QScriptValue::equals):
- (QScriptValue::strictlyEquals):
- * qt/api/qscriptvalue.h: Added.
- (QScriptValue::):
- * qt/api/qscriptvalue_p.h: Added.
- (QScriptValuePrivate::):
- (QScriptValuePrivate::get):
- (QScriptValuePrivate::QScriptValuePrivate):
- (QScriptValuePrivate::isValid):
- (QScriptValuePrivate::isBool):
- (QScriptValuePrivate::isNumber):
- (QScriptValuePrivate::isNull):
- (QScriptValuePrivate::isString):
- (QScriptValuePrivate::isUndefined):
- (QScriptValuePrivate::isError):
- (QScriptValuePrivate::isObject):
- (QScriptValuePrivate::isFunction):
- (QScriptValuePrivate::toString):
- (QScriptValuePrivate::toNumber):
- (QScriptValuePrivate::toBool):
- (QScriptValuePrivate::toInteger):
- (QScriptValuePrivate::toInt32):
- (QScriptValuePrivate::toUInt32):
- (QScriptValuePrivate::toUInt16):
- (QScriptValuePrivate::equals):
- (QScriptValuePrivate::strictlyEquals):
- (QScriptValuePrivate::assignEngine):
- (QScriptValuePrivate::call):
- (QScriptValuePrivate::engine):
- (QScriptValuePrivate::context):
- (QScriptValuePrivate::value):
- (QScriptValuePrivate::object):
- (QScriptValuePrivate::inherits):
- (QScriptValuePrivate::isJSBased):
- (QScriptValuePrivate::isNumberBased):
- (QScriptValuePrivate::isStringBased):
- * qt/api/qtscriptglobal.h: Added.
- * qt/tests/qscriptengine/qscriptengine.pro: Added.
- * qt/tests/qscriptengine/tst_qscriptengine.cpp: Added.
- (tst_QScriptEngine::tst_QScriptEngine):
- (tst_QScriptEngine::~tst_QScriptEngine):
- (tst_QScriptEngine::init):
- (tst_QScriptEngine::cleanup):
- (tst_QScriptEngine::collectGarbage):
- (tst_QScriptEngine::evaluate):
- * qt/tests/qscriptvalue/qscriptvalue.pro: Added.
- * qt/tests/qscriptvalue/tst_qscriptvalue.cpp: Added.
- (tst_QScriptValue::tst_QScriptValue):
- (tst_QScriptValue::~tst_QScriptValue):
- (tst_QScriptValue::init):
- (tst_QScriptValue::cleanup):
- (tst_QScriptValue::ctor):
- (tst_QScriptValue::toString_data):
- (tst_QScriptValue::toString):
- (tst_QScriptValue::copyConstructor_data):
- (tst_QScriptValue::copyConstructor):
- (tst_QScriptValue::assignOperator_data):
- (tst_QScriptValue::assignOperator):
- (tst_QScriptValue::dataSharing):
- (tst_QScriptValue::constructors_data):
- (tst_QScriptValue::constructors):
- (tst_QScriptValue::call):
- * qt/tests/tests.pri: Added.
- * qt/tests/tests.pro: Added.
-
-2010-01-25 Dmitry Titov <dimich@chromium.org>
-
- Reviewed by David Levin.
-
- Fix Chromium Linux tests: the pthread functions on Linux produce segfault if they receive 0 thread handle.
- After r53714, we can have 0 thread handles passed to pthread_join and pthread_detach if corresponding threads
- were already terminated and their threadMap entries cleared.
- Add a 0 check.
-
- * wtf/ThreadingPthreads.cpp:
- (WTF::waitForThreadCompletion):
- (WTF::detachThread):
-
-2010-01-24 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Maciej Stachowiak.
-
- Refactor JITStubs.cpp so that DEFINE_STUB_FUNCTION is only used once for each function
- https://bugs.webkit.org/show_bug.cgi?id=33866
-
- Place the guard USE(JSVALUE32_64) inside the body of the DEFINE_STUB_FUNCTION
- macro for those functions that are always present.
-
- * jit/JITStubs.cpp:
- (JSC::DEFINE_STUB_FUNCTION):
-
-2010-01-22 Kevin Watters <kevinwatters@gmail.com>
-
- Reviewed by Kevin Ollivier.
-
- [wx] Remove the Bakefile build system, which is no longer being used.
-
- https://bugs.webkit.org/show_bug.cgi?id=34022
-
- * JavaScriptCoreSources.bkl: Removed.
- * jscore.bkl: Removed.
-
-2010-01-22 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=34025
- Enable client-based Geolocation abstraction for Mac, Windows AppleWebKit targets.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-01-22 Dmitry Titov <dimich@chromium.org>
-
- Not reviewed, attempted Snow Leopard build fix.
-
- * wtf/ThreadingPthreads.cpp: Add a forward declaration of a function which is not 'static'.
-
-2009-01-22 Dmitry Titov <dimich@chromium.org>
-
- Reviewed by Maciej Stachowiak.
-
- Fix the leak of ThreadIdentifiers in threadMap across threads.
- https://bugs.webkit.org/show_bug.cgi?id=32689
-
- Test is added to DumpRenderTree.mm.
-
- * Android.mk: Added file ThreadIdentifierDataPthreads.(h|cpp) to build.
- * Android.v8.wtf.mk: Ditto.
- * GNUmakefile.am: Ditto.
- * JavaScriptCore.gyp/JavaScriptCore.gyp: Ditto.
- * JavaScriptCore.gypi: Ditto.
- * JavaScriptCore.xcodeproj/project.pbxproj: Ditto.
-
- * wtf/ThreadIdentifierDataPthreads.cpp: Added. Contains custom implementation of thread-specific data that uses custom destructor.
- (WTF::ThreadIdentifierData::~ThreadIdentifierData): Removes the ThreadIdentifier from the threadMap.
- (WTF::ThreadIdentifierData::identifier):
- (WTF::ThreadIdentifierData::initialize):
- (WTF::ThreadIdentifierData::destruct): Custom thread-specific destructor. Resets the value for the key again to cause second invoke.
- (WTF::ThreadIdentifierData::initializeKeyOnceHelper):
- (WTF::ThreadIdentifierData::initializeKeyOnce): Need to use pthread_once since initialization may come on any thread(s).
- * wtf/ThreadIdentifierDataPthreads.h: Added.
- (WTF::ThreadIdentifierData::ThreadIdentifierData):
-
- * wtf/Threading.cpp:
- (WTF::threadEntryPoint): Move initializeCurrentThreadInternal to after the lock to make
- sure it is invoked when ThreadIdentifier is already established.
-
- * wtf/Threading.h: Rename setThreadNameInternal -> initializeCurrentThreadInternal since it does more then only set the name now.
- * wtf/ThreadingNone.cpp:
- (WTF::initializeCurrentThreadInternal): Ditto.
- * wtf/ThreadingWin.cpp:
- (WTF::initializeCurrentThreadInternal): Ditto.
- (WTF::initializeThreading): Ditto.
- * wtf/gtk/ThreadingGtk.cpp:
- (WTF::initializeCurrentThreadInternal): Ditto.
- * wtf/qt/ThreadingQt.cpp:
- (WTF::initializeCurrentThreadInternal): Ditto.
-
- * wtf/ThreadingPthreads.cpp:
- (WTF::establishIdentifierForPthreadHandle):
- (WTF::clearPthreadHandleForIdentifier): Make it not 'static' so the ~ThreadIdentifierData() in another file can call it.
- (WTF::initializeCurrentThreadInternal): Set the thread-specific data. The ThreadIdentifier is already established by creating thread.
- (WTF::waitForThreadCompletion): Remove call to clearPthreadHandleForIdentifier(threadID) since it is now done in ~ThreadIdentifierData().
- (WTF::detachThread): Ditto.
- (WTF::currentThread): Use the thread-specific data to get the ThreadIdentifier. It's many times faster then Mutex-protected iteration through the map.
- Also, set the thread-specific data if called first time on the thread.
-
-2010-01-21 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Alexey Proskuryakov.
-
- Add ThreadSpecific for ENABLE(SINGLE_THREADED)
- https://bugs.webkit.org/show_bug.cgi?id=33878
-
- Implement ThreadSpecific with a simple getter/setter
- when ENABLE(SINGLE_THREADED) is true.
-
- Due to the change in https://bugs.webkit.org/show_bug.cgi?id=33236,
- an implementation of ThreadSpecific must be available to build WebKit.
- This causes a build failure for platforms without a proper
- ThreadSpecific implementation.
-
- * wtf/ThreadSpecific.h:
- (WTF::::ThreadSpecific):
- (WTF::::~ThreadSpecific):
- (WTF::::get):
- (WTF::::set):
- (WTF::::destroy):
-
-2010-01-21 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Maciej Stachowiak.
-
- Add fastStrDup to FastMalloc
- https://bugs.webkit.org/show_bug.cgi?id=33937
-
- The new string returned by fastStrDup is obtained with fastMalloc,
- and can be freed with fastFree. This makes the memory management
- more consistent because we don't need to keep strdup allocated pointers
- and free them with free(). Instead we can use fastFree everywhere.
-
- * wtf/FastMalloc.cpp:
- (WTF::fastStrDup):
- * wtf/FastMalloc.h:
-
-2010-01-21 Brady Eidson <beidson@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- history.back() for same-document history traversals isn't synchronous as the specification states.
- <rdar://problem/7535011> and https://bugs.webkit.org/show_bug.cgi?id=33538
-
- * wtf/Platform.h: Add a "HISTORY_ALWAYS_ASYNC" enable and turn it on for Chromium.
-
-2010-01-21 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Always create a prototype for automatically managed classes.
-
- This fixes some errors where prototype chains were not correctly hooked
- up, and also ensures that API classes work correctly with features like
- instanceof.
-
- * API/JSClassRef.cpp:
- (OpaqueJSClass::create): Cleaned up some of this code. Also changed it
- to always create a prototype class.
-
- * API/tests/testapi.c:
- (Derived2_class):
- (main): Fixed a null value crash in the exception checking code.
- * API/tests/testapi.js: Added some tests for the case where a prototype
- chain would not be hooked up correctly.
-
-2010-01-21 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Geoff Garen.
-
- Force JSC to create a prototype chain for API classes with a
- parent class but no static functions.
-
- * API/JSClassRef.cpp:
- (OpaqueJSClass::create):
-
-2010-01-21 Kent Hansen <kent.hansen@nokia.com>
-
- Reviewed by Geoffrey Garen.
-
- Object.getOwnPropertyDescriptor always returns undefined for JS API objects
- https://bugs.webkit.org/show_bug.cgi?id=33946
-
- Ideally the getOwnPropertyDescriptor() reimplementation should return an
- access descriptor that wraps the property getter and setter callbacks, but
- that approach is much more involved than returning a value descriptor.
- Keep it simple for now.
-
* API/JSCallbackObject.h:
* API/JSCallbackObjectFunctions.h:
- (JSC::::getOwnPropertyDescriptor):
- * API/tests/testapi.js:
-
-2010-01-20 Mark Rowe <mrowe@apple.com>
-
- Build fix.
-
- * wtf/FastMalloc.cpp:
- (WTF::TCMalloc_PageHeap::initializeScavenger): Remove unnecessary function call.
-
-2010-01-20 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Use the inline i386 assembly for x86_64 as well rather than falling back to using pthread mutexes.
-
- * wtf/TCSpinLock.h:
- (TCMalloc_SpinLock::Lock):
- (TCMalloc_SpinLock::Unlock):
- (TCMalloc_SlowLock):
-
-2010-01-20 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Oliver Hunt.
-
- <rdar://problem/7215063> Use GCD instead of an extra thread for FastMalloc scavenging on platforms where it is supported
-
- Abstract the background scavenging slightly so that an alternate implementation that uses GCD can be used on platforms
- where it is supported.
-
- * wtf/FastMalloc.cpp:
- (WTF::TCMalloc_PageHeap::init):
- (WTF::TCMalloc_PageHeap::initializeScavenger):
- (WTF::TCMalloc_PageHeap::signalScavenger):
- (WTF::TCMalloc_PageHeap::shouldContinueScavenging):
- (WTF::TCMalloc_PageHeap::Delete):
- (WTF::TCMalloc_PageHeap::periodicScavenge):
- * wtf/Platform.h:
-
-2010-01-20 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- <rdar://problem/7562708> REGRESSION(53460): Heap::destroy may not run
- all destructors
-
- * runtime/Collector.cpp:
- (JSC::Heap::freeBlocks): Instead of fully marking protected objects,
- just set their mark bits. This prevents protected objects from keeping
- unprotected objects alive. Destructor order is not guaranteed, so it's
- OK to destroy objects pointed to by protected objects before destroying
- protected objects.
-
-2010-01-19 David Levin <levin@chromium.org>
-
- Reviewed by Oliver Hunt.
-
- CrossThreadCopier needs to support ThreadSafeShared better.
- https://bugs.webkit.org/show_bug.cgi?id=33698
-
- * wtf/TypeTraits.cpp: Added tests for the new type traits.
- * wtf/TypeTraits.h:
- (WTF::IsSubclass): Determines if a class is a derived from another class.
- (WTF::IsSubclassOfTemplate): Determines if a class is a derived from a
- template class (with one parameter that is unknown).
- (WTF::RemoveTemplate): Reveals the type for a template parameter.
-
-2010-01-20 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Darin Adler and Adam Roben.
-
- Feature defines are difficult to maintain on Windows builds
- https://bugs.webkit.org/show_bug.cgi?id=33883
-
- FeatureDefines.vsprops are now maintained in a way similar to
- Configurations/FeatureDefines.xcconfig, with the added advantage
- of having a single FeatureDefines file across all projects.
-
- * Configurations/FeatureDefines.xcconfig: Add comments about keeping feature definitions in sync.
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Add FeatureDefines.vsprops inherited property sheet.
- * JavaScriptCore.vcproj/WTF/WTF.vcproj: Add FeatureDefines.vsprops inherited property sheet.
-
-2010-01-20 Csaba Osztrogonác <ossy@webkit.org>
-
- [Qt] Unreviewed buildfix for r53547.
-
- * DerivedSources.pro:
-
-2010-01-20 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Make extraCompilers for generated sources depend on their scripts
-
- * DerivedSources.pro:
-
-2010-01-19 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Tim Hatcher.
-
- When JavaScriptCore calls Debugger::Exception, have it pass a
- hasHandler variable that represents if exception is being handled
- in the same function (not in a parent on the call stack).
-
- This just adds a new parameter, no behavior is changed.
-
- * debugger/Debugger.h:
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::throwException):
-
-2010-01-18 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Adam Barth.
-
- Inline functions that are hot in DOM manipulation
- https://bugs.webkit.org/show_bug.cgi?id=33820
-
- (3% speedup on Dromaeo DOM Core tests)
-
- * runtime/WeakGCMap.h:
- (JSC::::get): inline
-
-2010-01-19 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Unreviewed build fix for JIT with RVCT.
-
- Remove IMPORT statement; cti_vm_throw is already defined in JITStubs.h.
- Remove extra ')'.
-
- * jit/JITStubs.cpp:
- (JSC::ctiVMThrowTrampoline):
-
-2010-01-19 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- REGRESSION (52082): Crash on worker thread when reloading http://radnan.public.iastate.edu/procedural/
- https://bugs.webkit.org/show_bug.cgi?id=33826
-
- This bug was caused by a GC-protected object being destroyed early by
- Heap::destroy. Clients of the GC protect APIs (reasonably) expect pointers
- to GC-protected memory to be valid.
-
- The solution is to do two passes of tear-down in Heap::destroy. The first
- pass tears down all unprotected objects. The second pass ASSERTs that all
- previously protected objects are now unprotected, and then tears down
- all perviously protected objects. These two passes simulate the two passes
- that would have been required to free a protected object during normal GC.
-
- * API/JSContextRef.cpp: Removed some ASSERTs that have moved into Heap.
-
- * runtime/Collector.cpp:
- (JSC::Heap::destroy): Moved ASSERTs to here.
- (JSC::Heap::freeBlock): Tidied up the use of didShrink by moving its
- setter to the function that does the shrinking.
- (JSC::Heap::freeBlocks): Implemented above algorithm.
- (JSC::Heap::shrinkBlocks): Tidied up the use of didShrink.
-
-2010-01-19 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (build fix).
-
- Reverting r53455, breaks 2 javascriptcore tests.
-
- * API/JSContextRef.cpp:
- * runtime/Collector.cpp:
- (JSC::Heap::destroy):
- (JSC::Heap::freeBlock):
- (JSC::Heap::freeBlocks):
- (JSC::Heap::shrinkBlocks):
-
-2010-01-18 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (build fix).
-
- Revert r53454, since it causes much sadness in this world.
-
- * runtime/UString.cpp:
- (JSC::UString::spliceSubstringsWithSeparators):
- (JSC::UString::replaceRange):
- * runtime/UStringImpl.cpp:
- (JSC::UStringImpl::baseSharedBuffer):
- (JSC::UStringImpl::sharedBuffer):
- (JSC::UStringImpl::~UStringImpl):
- * runtime/UStringImpl.h:
- (JSC::UntypedPtrAndBitfield::UntypedPtrAndBitfield):
- (JSC::UntypedPtrAndBitfield::asPtr):
- (JSC::UntypedPtrAndBitfield::operator&=):
- (JSC::UntypedPtrAndBitfield::operator|=):
- (JSC::UntypedPtrAndBitfield::operator&):
- (JSC::UStringImpl::create):
- (JSC::UStringImpl::cost):
- (JSC::UStringImpl::isIdentifier):
- (JSC::UStringImpl::setIsIdentifier):
- (JSC::UStringImpl::ref):
- (JSC::UStringImpl::deref):
- (JSC::UStringImpl::checkConsistency):
- (JSC::UStringImpl::UStringImpl):
- (JSC::UStringImpl::bufferOwnerString):
- (JSC::UStringImpl::bufferOwnership):
- (JSC::UStringImpl::isStatic):
- * wtf/StringHashFunctions.h:
- (WTF::stringHash):
-
-2010-01-18 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- REGRESSION (52082): Crash on worker thread when reloading http://radnan.public.iastate.edu/procedural/
- https://bugs.webkit.org/show_bug.cgi?id=33826
-
- This bug was caused by a GC-protected object being destroyed early by
- Heap::destroy. Clients of the GC protect APIs (reasonably) expect pointers
- to GC-protected memory to be valid.
-
- The solution is to do two passes of tear-down in Heap::destroy. The first
- pass tears down all unprotected objects. The second pass ASSERTs that all
- previously protected objects are now unprotected, and then tears down
- all perviously protected objects. These two passes simulate the two passes
- that would have been required to free a protected object during normal GC.
-
- * API/JSContextRef.cpp: Removed some ASSERTs that have moved into Heap.
-
- * runtime/Collector.cpp:
- (JSC::Heap::destroy): Moved ASSERTs to here.
- (JSC::Heap::freeBlock): Tidied up the use of didShrink by moving its
- setter to the function that does the shrinking.
- (JSC::Heap::freeBlocks): Implemented above algorithm.
- (JSC::Heap::shrinkBlocks): Tidied up the use of didShrink.
-
-2010-01-18 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=33731
- Remove UntypedPtrAndBitfield from UStringImpl (akin to PtrAndFlags).
-
- This break the OS X Leaks tool. Instead, free up some more bits from the refCount.
-
- * runtime/UStringImpl.cpp:
- (JSC::UStringImpl::sharedBuffer):
- (JSC::UStringImpl::~UStringImpl):
- * runtime/UStringImpl.h:
- (JSC::UStringImpl::cost):
- (JSC::UStringImpl::checkConsistency):
- (JSC::UStringImpl::UStringImpl):
- (JSC::UStringImpl::bufferOwnerString):
- (JSC::UStringImpl::):
- * wtf/StringHashFunctions.h:
- (WTF::stringHash):
-
-2010-01-18 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Darin Adler.
-
- HTMLInputElement::valueAsDate setter support for type=month.
- https://bugs.webkit.org/show_bug.cgi?id=33021
-
- Expose the following functions to be used by WebCore:
- - WTF::msToyear()
- - WTF::dayInYear()
- - WTF::monthFromDayInYear()
- - WTF::dayInMonthFromDayInYear()
-
- * JavaScriptCore.exp:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * wtf/DateMath.cpp:
- (WTF::msToYear): Remove "static inline".
- (WTF::dayInYear): Remove "static inline".
- (WTF::monthFromDayInYear): Remove "static inline".
- (WTF::dayInMonthFromDayInYear): Remove "static inline".
- * wtf/DateMath.h: Declare the above functions.
-
-2010-01-18 Darin Adler <darin@apple.com>
-
- Fix build by reverting the previous change.
-
- * runtime/UString.h: Rolled out the FastAllocBase base class.
- It was making UString larger, and therefore JSString larger,
- and too big for a garbage collection cell.
-
- This raises the unpleasant possibility that many classes became
- larger because we added the FastAllocBase base class. I am
- worried about this, and it needs to be investigated.
-
-2010-01-18 Zoltan Horvath <zoltan@webkit.org>
-
- Reviewed by Darin Adler.
-
- Allow custom memory allocation control for UString class
- https://bugs.webkit.org/show_bug.cgi?id=27831
-
- Inherits the following class from FastAllocBase because it is
- instantiated by 'new' and no need to be copyable:
-
- class name - instantiated at:
- classs UString - JavaScriptCore/runtime/UString.cpp:160
-
- * runtime/UString.h:
-
-2010-01-18 Evan Cheng <evan.cheng@apple.com>
-
- Reviewed by Darin Adler.
-
- Add some ALWAYS_INLINE for key functions not inlined by some versions of GCC.
- rdar://problem/7553780
-
- * runtime/JSObject.h:
- (JSC::JSObject::getPropertySlot): ALWAYS_INLINE both overloads.
- * runtime/JSString.h:
- (JSC::JSString::JSString): ALWAYS_INLINE the version that takes a UString.
- * runtime/UString.h:
- (JSC::operator==): ALWAYS_INLINE the version that compares two UString objects.
-
-2010-01-18 Csaba Osztrogonác <ossy@webkit.org>
-
- Reviewed by Darin Adler.
-
- Delete dftables-xxxxxxxx.in files automatically.
- https://bugs.webkit.org/show_bug.cgi?id=33796
-
- * pcre/dftables: unlink unnecessary temporary file.
-
-2010-01-18 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Force qmake to generate a single makefile for DerivedSources.pro
-
- * DerivedSources.pro:
-
-2010-01-18 Csaba Osztrogonác <ossy@webkit.org>
-
- Rubber-stamped by Gustavo Noronha Silva.
-
- Rolling out r53391 and r53392 because of random crashes on buildbots.
- https://bugs.webkit.org/show_bug.cgi?id=33731
-
- * bytecode/CodeBlock.h:
- (JSC::CallLinkInfo::seenOnce):
- (JSC::CallLinkInfo::setSeen):
- (JSC::MethodCallLinkInfo::MethodCallLinkInfo):
- (JSC::MethodCallLinkInfo::seenOnce):
- (JSC::MethodCallLinkInfo::setSeen):
- * jit/JIT.cpp:
- (JSC::JIT::unlinkCall):
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::patchMethodCallProto):
- * runtime/UString.cpp:
- (JSC::UString::spliceSubstringsWithSeparators):
- (JSC::UString::replaceRange):
- * runtime/UString.h:
- * runtime/UStringImpl.cpp:
- (JSC::UStringImpl::baseSharedBuffer):
- (JSC::UStringImpl::sharedBuffer):
- (JSC::UStringImpl::~UStringImpl):
- * runtime/UStringImpl.h:
- (JSC::UntypedPtrAndBitfield::UntypedPtrAndBitfield):
- (JSC::UntypedPtrAndBitfield::asPtr):
- (JSC::UntypedPtrAndBitfield::operator&=):
- (JSC::UntypedPtrAndBitfield::operator|=):
- (JSC::UntypedPtrAndBitfield::operator&):
- (JSC::UStringImpl::create):
- (JSC::UStringImpl::cost):
- (JSC::UStringImpl::isIdentifier):
- (JSC::UStringImpl::setIsIdentifier):
- (JSC::UStringImpl::ref):
- (JSC::UStringImpl::deref):
- (JSC::UStringImpl::checkConsistency):
- (JSC::UStringImpl::UStringImpl):
- (JSC::UStringImpl::bufferOwnerString):
- (JSC::UStringImpl::bufferOwnership):
- (JSC::UStringImpl::isStatic):
- * wtf/StringHashFunctions.h:
- (WTF::stringHash):
-
-2010-01-18 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Fix the build with strict gcc and RVCT versions: It's not legal to cast a
- pointer to a function to a void* without an intermediate cast to a non-pointer
- type. A cast to a ptrdiff_t inbetween fixes it.
-
- * runtime/JSString.h:
- (JSC::Fiber::JSString):
-
-2010-01-15 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=33731
- Remove UntypedPtrAndBitfield from UStringImpl (akin to PtrAndFlags).
-
- This break the OS X Leaks tool. Instead, free up some more bits from the refCount.
-
- * runtime/UStringImpl.cpp:
- (JSC::UStringImpl::sharedBuffer):
- (JSC::UStringImpl::~UStringImpl):
- * runtime/UStringImpl.h:
- (JSC::UStringImpl::cost):
- (JSC::UStringImpl::checkConsistency):
- (JSC::UStringImpl::UStringImpl):
- (JSC::UStringImpl::bufferOwnerString):
- (JSC::UStringImpl::):
- * wtf/StringHashFunctions.h:
- (WTF::stringHash):
-
-2010-01-15 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=33731
- Remove uses of PtrAndFlags from JIT data stuctures.
-
- These break the OS X Leaks tool. Free up a bit in CallLinkInfo, and invalid
- permutation of pointer states in MethodCallLinkInfo to represent the removed bits.
-
- * bytecode/CodeBlock.h:
- (JSC::CallLinkInfo::seenOnce):
- (JSC::CallLinkInfo::setSeen):
- (JSC::MethodCallLinkInfo::MethodCallLinkInfo):
- (JSC::MethodCallLinkInfo::seenOnce):
- (JSC::MethodCallLinkInfo::setSeen):
- * jit/JIT.cpp:
- (JSC::JIT::unlinkCall):
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::patchMethodCallProto):
- * runtime/UString.h:
-
-2010-01-16 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Cache JS string values made from DOM strings (Dromaeo speedup)
- https://bugs.webkit.org/show_bug.cgi?id=33768
- <rdar://problem/7353576>
-
- * runtime/JSString.h:
- (JSC::jsStringWithFinalizer): Added new mechanism for a string to have an optional
- finalizer callback, for the benefit of weak-referencing caches.
- (JSC::):
- (JSC::Fiber::JSString):
- (JSC::Fiber::~JSString):
- * runtime/JSString.cpp:
- (JSC::JSString::resolveRope): Clear fibers so this doesn't look like a string with a finalizer.
- * runtime/WeakGCMap.h: Include "Collector.h" to make this header includable by itself.
-
-2010-01-15 Sam Weinig <sam@webkit.org>
-
- Reviewed by Maciej Stachowiak.
-
- Fix for <rdar://problem/7548432>
- Add ALWAYS_INLINE to jsLess for a 1% speedup on llvm-gcc.
-
- * runtime/Operations.h:
- (JSC::jsLess):
-
-2010-01-14 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- REGRESISON: Google maps buttons not working properly
- https://bugs.webkit.org/show_bug.cgi?id=31871
-
- REGRESSION(r52948): JavaScript exceptions thrown on Google Maps when
- getting directions for a second time
- https://bugs.webkit.org/show_bug.cgi?id=33446
-
- SunSpider and v8 report no change.
-
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::tryCacheGetByID): Update our cached offset in case
- flattening the dictionary changed any of its offsets.
-
- * jit/JITStubs.cpp:
- (JSC::JITThunks::tryCacheGetByID):
- (JSC::DEFINE_STUB_FUNCTION):
- * runtime/Operations.h:
- (JSC::normalizePrototypeChain): ditto
-
-2010-01-14 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=33705
- UStringImpl::create() should use internal storage
-
- When creating a UStringImpl copying of a UChar*, we can use an internal buffer,
- by calling UStringImpl::tryCreateUninitialized().
-
- Also, remove duplicate of copyChars from JSString, call UStringImpl's version.
-
- Small (max 0.5%) progression on Sunspidey.
-
- * runtime/JSString.cpp:
- (JSC::JSString::resolveRope):
- * runtime/UStringImpl.h:
- (JSC::UStringImpl::create):
-
-2010-01-14 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Sam Weinig.
-
- Make naming & behaviour of UString[Impl] methods more consistent.
- https://bugs.webkit.org/show_bug.cgi?id=33702
-
- UString::create() creates a copy of the UChar* passed, but UStringImpl::create() assumes
- that it should assume ownership of the provided buffer (with UString::createNonCopying()
- and UStringImpl::createCopying() providing the alternate behaviours). Unify on create()
- taking a copy of the provided buffer. For non-copying cases, use the name 'adopt', and
- make this method take a Vector<UChar>&. For cases where non-copying construction was being
- used, other than from a Vector<UChar>, change the code to allocate the storage along with
- the UStringImpl using UStringImpl::createUninitialized(). (The adopt() method also more
- closely matches that of WebCore::StringImpl).
-
- Also, UString::createUninitialized() and UStringImpl::createUninitialized() have incompatible
- behaviours, in that the UString form sets the provided UChar* to a null or non-null value to
- indicate success or failure, but UStringImpl uses the returned PassRefPtr<UStringImpl> to
- indicate when allocation has failed (potentially leaving the output Char* uninitialized).
- This is also incompatible with WebCore::StringImpl's behaviour, in that
- StringImpl::createUninitialized() will CRASH() if unable to allocate. Some uses of
- createUninitialized() in JSC are unsafe, since they do not test the result for null.
- UStringImpl's indication is preferable, since we may want a successful call to set the result
- buffer to 0 (specifically, StringImpl returns 0 for the buffer where createUninitialized()
- returns the empty string, which seems reasonable to catch bugs early). UString's method
- cannot support UStringImpl's behaviour directly, since it returns an object rather than a
- pointer.
- - remove UString::createUninitialized(), replace with calls to UStringImpl::createUninitialized()
- - create a UStringImpl::tryCreateUninitialized() form UStringImpl::createUninitialized(),
- with current behaviour, make createUninitialized() crash on failure to allocate.
- - make cases in JSC that do not check the result call createUninitialized(), and cases that do
- check call tryCreateUninitialized().
-
- Rename computedHash() to existingHash(), to bring this in line wih WebCore::StringImpl.
-
- * API/JSClassRef.cpp:
- (OpaqueJSClassContextData::OpaqueJSClassContextData):
- * JavaScriptCore.exp:
- * runtime/ArrayPrototype.cpp:
- (JSC::arrayProtoFuncToString):
- * runtime/Identifier.cpp:
- (JSC::CStringTranslator::translate):
- (JSC::UCharBufferTranslator::translate):
- * runtime/JSString.cpp:
- (JSC::JSString::resolveRope):
- * runtime/Lookup.cpp:
- (JSC::HashTable::createTable):
- * runtime/Lookup.h:
- (JSC::HashTable::entry):
- * runtime/StringBuilder.h:
- (JSC::StringBuilder::release):
- * runtime/StringConstructor.cpp:
- (JSC::stringFromCharCodeSlowCase):
- * runtime/StringPrototype.cpp:
- (JSC::substituteBackreferencesSlow):
- (JSC::stringProtoFuncToLowerCase):
- (JSC::stringProtoFuncToUpperCase):
- (JSC::stringProtoFuncFontsize):
- (JSC::stringProtoFuncLink):
- * runtime/Structure.cpp:
- (JSC::Structure::despecifyDictionaryFunction):
- (JSC::Structure::get):
- (JSC::Structure::despecifyFunction):
- (JSC::Structure::put):
- (JSC::Structure::remove):
- (JSC::Structure::insertIntoPropertyMapHashTable):
- (JSC::Structure::checkConsistency):
- * runtime/Structure.h:
- (JSC::Structure::get):
- * runtime/StructureTransitionTable.h:
- (JSC::StructureTransitionTableHash::hash):
- * runtime/UString.cpp:
- (JSC::createRep):
- (JSC::UString::UString):
- (JSC::UString::spliceSubstringsWithSeparators):
- (JSC::UString::replaceRange):
- (JSC::UString::operator=):
- * runtime/UString.h:
- (JSC::UString::adopt):
- (JSC::IdentifierRepHash::hash):
- (JSC::makeString):
- * runtime/UStringImpl.h:
- (JSC::UStringImpl::adopt):
- (JSC::UStringImpl::create):
- (JSC::UStringImpl::createUninitialized):
- (JSC::UStringImpl::tryCreateUninitialized):
- (JSC::UStringImpl::existingHash):
-
-2010-01-13 Kent Hansen <kent.hansen@nokia.com>
-
- Reviewed by Oliver Hunt.
-
- JSON.stringify and JSON.parse needlessly process properties in the prototype chain
- https://bugs.webkit.org/show_bug.cgi?id=33053
-
- * runtime/JSONObject.cpp:
- (JSC::Stringifier::Holder::appendNextProperty):
- (JSC::Walker::walk):
-
-2010-01-13 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (buildfix).
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-01-13 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=33641
- Assertion failure in Lexer.cpp if input stream ends while in string escape
-
- Test: fast/js/end-in-string-escape.html
-
- * parser/Lexer.cpp: (JSC::Lexer::lex): Bail out quickly on end of stream, not giving the
- assertion a chance to fire.
-
-2010-01-13 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (buildfix).
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-01-13 Gavin Barraclough <barraclough@apple.com>
-
- Rubber stamped by Sam Weinig & Darin Adler.
-
- Three quick fixes to UStringImpl.
- - The destroy() method can be switched back to a normal destructor; since we've switched
- the way we protect static strings to be using an odd ref-count the destroy() won't abort.
- - The cost() calculation logic was wrong. If you have multiple JSStrings wrapping substrings
- of a base string, they would each report the full cost of the base string to the heap.
- Instead we should only be reporting once for the base string.
- - Remove the overloaded new operator calling fastMalloc, replace this with a 'using' to pick
- up the implementation from the parent class.
-
- * JavaScriptCore.exp:
- * runtime/UStringImpl.cpp:
- (JSC::UStringImpl::~UStringImpl):
- * runtime/UStringImpl.h:
- (JSC::UStringImpl::cost):
- (JSC::UStringImpl::deref):
-
-2010-01-13 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Split the build process in two different .pro files.
- This allows qmake to be run once all source files are available.
-
- * DerivedSources.pro: Added.
- * JavaScriptCore.pri: Moved source generation to DerivedSources.pro
- * pcre/pcre.pri: Moved source generation to DerivedSources.pro
-
-2010-01-12 Kent Hansen <kent.hansen@nokia.com>
-
- Reviewed by Geoffrey Garen.
-
- [ES5] Implement Object.getOwnPropertyNames
- https://bugs.webkit.org/show_bug.cgi?id=32242
-
- Add an extra argument to getPropertyNames() and getOwnPropertyNames()
- (and all reimplementations thereof) that indicates whether non-enumerable
- properties should be added.
-
- * API/JSCallbackObject.h:
- * API/JSCallbackObjectFunctions.h:
- (JSC::::getOwnPropertyNames):
- * JavaScriptCore.exp:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * debugger/DebuggerActivation.cpp:
- (JSC::DebuggerActivation::getOwnPropertyNames):
- * debugger/DebuggerActivation.h:
- * runtime/Arguments.cpp:
- (JSC::Arguments::getOwnPropertyNames):
- * runtime/Arguments.h:
- * runtime/CommonIdentifiers.h:
- * runtime/JSArray.cpp:
- (JSC::JSArray::getOwnPropertyNames):
- * runtime/JSArray.h:
- * runtime/JSByteArray.cpp:
- (JSC::JSByteArray::getOwnPropertyNames):
- * runtime/JSByteArray.h:
- * runtime/JSFunction.cpp:
- (JSC::JSFunction::getOwnPropertyNames):
- * runtime/JSFunction.h:
- * runtime/JSNotAnObject.cpp:
- (JSC::JSNotAnObject::getOwnPropertyNames):
- * runtime/JSNotAnObject.h:
- * runtime/JSObject.cpp:
- (JSC::getClassPropertyNames):
- (JSC::JSObject::getPropertyNames):
- (JSC::JSObject::getOwnPropertyNames):
- * runtime/JSObject.h:
- * runtime/JSVariableObject.cpp:
- (JSC::JSVariableObject::getOwnPropertyNames):
- * runtime/JSVariableObject.h:
- * runtime/ObjectConstructor.cpp:
- (JSC::ObjectConstructor::ObjectConstructor):
- (JSC::objectConstructorGetOwnPropertyNames):
- * runtime/RegExpMatchesArray.h:
- (JSC::RegExpMatchesArray::getOwnPropertyNames):
- * runtime/StringObject.cpp:
- (JSC::StringObject::getOwnPropertyNames):
- * runtime/StringObject.h:
- * runtime/Structure.cpp: Rename getEnumerablePropertyNames() to getPropertyNames(), which takes an extra argument.
- (JSC::Structure::getPropertyNames):
- * runtime/Structure.h:
- (JSC::):
-
-2010-01-12 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=33540
- Make it possible to build in debug mode with assertions disabled
-
- * jit/JITStubs.cpp: (JSC::DEFINE_STUB_FUNCTION):
- * runtime/Identifier.cpp: (JSC::Identifier::checkSameIdentifierTable):
- * wtf/FastMalloc.cpp:
- * wtf/HashTable.h: (WTF::HashTableConstIterator::checkValidity):
- * yarr/RegexCompiler.cpp: (JSC::Yarr::compileRegex):
-
-2009-11-23 Yong Li <yoli@rim.com>
-
- Reviewed by Adam Treat.
-
- Make GIF decoder support down-sampling
- https://bugs.webkit.org/show_bug.cgi?id=31806
-
- * platform/image-decoders/ImageDecoder.cpp:
- (WebCore::ImageDecoder::upperBoundScaledY):
- (WebCore::ImageDecoder::lowerBoundScaledY):
- * platform/image-decoders/ImageDecoder.h:
- (WebCore::RGBA32Buffer::scaledRect):
- (WebCore::RGBA32Buffer::setScaledRect):
- (WebCore::ImageDecoder::scaledSize):
- * platform/image-decoders/gif/GIFImageDecoder.cpp:
- (WebCore::GIFImageDecoder::sizeNowAvailable):
- (WebCore::GIFImageDecoder::initFrameBuffer):
- (WebCore::copyOnePixel):
- (WebCore::GIFImageDecoder::haveDecodedRow):
- (WebCore::GIFImageDecoder::frameComplete):
-
-2010-01-12 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- ecma/Date/15.9.5.12-1.js fails every night at midnight
- https://bugs.webkit.org/show_bug.cgi?id=28041
-
- Change the test to use a concrete time instead of "now".
-
- * tests/mozilla/ecma/Date/15.9.5.10-1.js:
- * tests/mozilla/ecma/Date/15.9.5.12-1.js:
-
-2010-01-11 Csaba Osztrogonác <ossy@webkit.org>
-
- Reviewed by Ariya Hidayat.
-
- [Qt] Enable JIT and YARR_JIT if (CPU(X86_64) && OS(LINUX) && GCC_VERSION >= 40100)
-
- * wtf/Platform.h:
-
-2010-01-11 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- https://bugs.webkit.org/show_bug.cgi?id=33481
- Uninitialized data members in ArrayStorage
-
- SunSpider reports no change.
-
- * runtime/JSArray.cpp:
- (JSC::JSArray::JSArray): Initialize missing data members in the two cases
- where we don't use fastZeroedMalloc, so it doesn't happen automatically.
-
-2010-01-11 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=33480
-
- Improve debugging reliability for WTF on Windows.
- Store WTF static library's PDB file into a better location.
-
- * JavaScriptCore.vcproj/WTF/WTF.vcproj:
-
-2010-01-11 Steve Falkenburg <sfalken@apple.com>
-
- Windows build fix.
- Remove extraneous entries from def file causing build warning.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-01-10 Kent Hansen <kent.hansen@nokia.com>
-
- Reviewed by Darin Adler.
-
- RegExp.prototype.toString returns "//" for empty regular expressions
- https://bugs.webkit.org/show_bug.cgi?id=33319
-
- "//" starts a single-line comment, hence "/(?:)/" should be used, according to ECMA.
-
- * runtime/RegExpPrototype.cpp:
- (JSC::regExpProtoFuncToString):
-
- * tests/mozilla/ecma_2/RegExp/properties-001.js:
- (AddRegExpCases):
- * tests/mozilla/js1_2/regexp/toString.js:
- Update relevant Mozilla tests (Mozilla has had this behavior since November 2003).
-
-2010-01-10 Darin Adler <darin@apple.com>
-
- * tests/mozilla/ecma/Array/15.4.1.1.js: Added property allow-tabs.
- * tests/mozilla/ecma/Array/15.4.1.2.js: Added property allow-tabs.
- * tests/mozilla/ecma/Array/15.4.2.1-1.js: Added property allow-tabs.
- * tests/mozilla/ecma/Array/15.4.2.2-1.js: Added property allow-tabs.
- * tests/mozilla/ecma/Array/15.4.2.2-2.js: Added property allow-tabs.
- * tests/mozilla/ecma/Array/15.4.2.3.js: Added property allow-tabs.
- * tests/mozilla/ecma/Array/15.4.3.2.js: Added property allow-tabs.
- * tests/mozilla/ecma/Array/15.4.3.js: Added property allow-tabs.
- * tests/mozilla/ecma/Array/15.4.4.1.js: Added property allow-tabs.
- * tests/mozilla/ecma/Array/15.4.4.js: Added property allow-tabs.
- * tests/mozilla/ecma/LexicalConventions/7.7.4.js: Added property allow-tabs.
- * tests/mozilla/ecma/Math/15.8.2.13.js: Added property allow-tabs.
- * tests/mozilla/ecma/Math/15.8.2.16.js: Added property allow-tabs.
- * tests/mozilla/ecma/Math/15.8.2.18.js: Added property allow-tabs.
- * tests/mozilla/ecma/Math/15.8.2.2.js: Added property allow-tabs.
- * tests/mozilla/ecma/Math/15.8.2.4.js: Added property allow-tabs.
- * tests/mozilla/ecma/Math/15.8.2.5.js: Added property allow-tabs.
- * tests/mozilla/ecma/Math/15.8.2.7.js: Added property allow-tabs.
- * tests/mozilla/ecma/String/15.5.1.js: Added property allow-tabs.
- * tests/mozilla/ecma/String/15.5.2.js: Added property allow-tabs.
- * tests/mozilla/ecma/String/15.5.3.1-3.js: Added property allow-tabs.
- * tests/mozilla/ecma/String/15.5.3.1-4.js: Added property allow-tabs.
- * tests/mozilla/ecma/String/15.5.3.js: Added property allow-tabs.
- * tests/mozilla/ecma/TypeConversion/9.5-2.js: Added property allow-tabs.
- * tests/mozilla/ecma/jsref.js: Modified property allow-tabs.
- * tests/mozilla/ecma/shell.js: Modified property allow-tabs.
- * tests/mozilla/ecma_2/LexicalConventions/keywords-001.js: Added property allow-tabs.
- * tests/mozilla/ecma_2/RegExp/exec-001.js: Added property allow-tabs.
- * tests/mozilla/ecma_2/String/match-004.js: Added property allow-tabs.
- * tests/mozilla/ecma_2/String/replace-001.js: Added property allow-tabs.
- * tests/mozilla/ecma_2/String/split-002.js: Added property allow-tabs.
- * tests/mozilla/ecma_2/jsref.js: Modified property allow-tabs.
- * tests/mozilla/ecma_2/shell.js: Added property allow-tabs.
- * tests/mozilla/ecma_3/Date/shell.js: Modified property allow-tabs.
- * tests/mozilla/ecma_3/Exceptions/regress-181654.js: Added property allow-tabs.
- * tests/mozilla/ecma_3/RegExp/regress-209067.js: Added property allow-tabs.
- * tests/mozilla/ecma_3/RegExp/regress-85721.js: Added property allow-tabs.
- * tests/mozilla/importList.html: Added property allow-tabs.
- * tests/mozilla/js1_1/shell.js: Added property allow-tabs.
- * tests/mozilla/js1_2/Array/general1.js: Added property allow-tabs.
- * tests/mozilla/js1_2/Array/general2.js: Added property allow-tabs.
- * tests/mozilla/js1_2/Array/slice.js: Added property allow-tabs.
- * tests/mozilla/js1_2/Array/splice1.js: Added property allow-tabs.
- * tests/mozilla/js1_2/Array/splice2.js: Added property allow-tabs.
- * tests/mozilla/js1_2/Objects/toString-001.js: Added property allow-tabs.
- * tests/mozilla/js1_2/String/charCodeAt.js: Added property allow-tabs.
- * tests/mozilla/js1_2/String/concat.js: Modified property allow-tabs.
- * tests/mozilla/js1_2/String/match.js: Added property allow-tabs.
- * tests/mozilla/js1_2/String/slice.js: Added property allow-tabs.
- * tests/mozilla/js1_2/function/Function_object.js: Added property allow-tabs.
- * tests/mozilla/js1_2/function/Number.js: Modified property allow-tabs.
- * tests/mozilla/js1_2/function/String.js: Modified property allow-tabs.
- * tests/mozilla/js1_2/function/nesting.js: Added property allow-tabs.
- * tests/mozilla/js1_2/function/regexparg-1.js: Added property allow-tabs.
- * tests/mozilla/js1_2/function/regexparg-2-n.js: Added property allow-tabs.
- * tests/mozilla/js1_2/jsref.js: Added property allow-tabs.
- * tests/mozilla/js1_2/operator/equality.js: Added property allow-tabs.
- * tests/mozilla/js1_2/operator/strictEquality.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/RegExp_dollar_number.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/RegExp_input.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/RegExp_input_as_array.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/RegExp_lastIndex.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/RegExp_lastMatch.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/RegExp_lastMatch_as_array.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/RegExp_lastParen.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/RegExp_lastParen_as_array.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/RegExp_leftContext.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/RegExp_leftContext_as_array.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/RegExp_multiline.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/RegExp_multiline_as_array.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/RegExp_object.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/RegExp_rightContext.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/RegExp_rightContext_as_array.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/alphanumeric.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/asterisk.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/backslash.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/backspace.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/beginLine.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/character_class.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/compile.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/control_characters.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/digit.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/dot.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/endLine.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/everything.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/exec.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/flags.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/global.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/hexadecimal.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/ignoreCase.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/interval.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/octal.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/parentheses.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/plus.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/question_mark.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/simple_form.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/source.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/special_characters.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/string_replace.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/string_search.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/string_split.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/test.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/toString.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/vertical_bar.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/whitespace.js: Added property allow-tabs.
- * tests/mozilla/js1_2/regexp/word_boundary.js: Added property allow-tabs.
- * tests/mozilla/js1_2/shell.js: Added property allow-tabs.
- * tests/mozilla/js1_2/statements/break.js: Added property allow-tabs.
- * tests/mozilla/js1_2/statements/continue.js: Added property allow-tabs.
- * tests/mozilla/js1_2/statements/do_while.js: Added property allow-tabs.
- * tests/mozilla/js1_2/statements/switch.js: Added property allow-tabs.
- * tests/mozilla/js1_2/statements/switch2.js: Added property allow-tabs.
- * tests/mozilla/js1_3/shell.js: Added property allow-tabs.
- * tests/mozilla/js1_4/shell.js: Added property allow-tabs.
- * tests/mozilla/js1_5/Regress/regress-111557.js: Added property allow-tabs.
- * tests/mozilla/js1_5/Regress/regress-216320.js: Added property allow-tabs.
- * tests/mozilla/menuhead.html: Added property allow-tabs.
- * tests/mozilla/mklistpage.pl: Added property allow-tabs.
- * tests/mozilla/runtests.pl: Added property allow-tabs.
-
-2010-01-08 Daniel Bates <dbates@webkit.org>
-
- Reviewed by Adam Barth.
-
- https://bugs.webkit.org/show_bug.cgi?id=33417
-
- Cleans up style errors exposed by the patch for bug #33198.
- Moreover, fixes all "Weird number of spaces at line-start. Are you using a 4-space indent?"
- errors reported by check-webkit-style.
-
- No functionality was changed. So, no new tests.
-
- * wtf/Platform.h:
-
-2010-01-08 Kent Hansen <kent.hansen@nokia.com>
-
- Reviewed by Eric Seidel.
-
- Don't store RegExp flags string representation
- https://bugs.webkit.org/show_bug.cgi?id=33321
-
- It's unused; the string representation is reconstructed from flags.
-
- * runtime/RegExp.cpp:
- (JSC::RegExp::RegExp):
- * runtime/RegExp.h:
-
-2010-01-08 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Memory use grows grows possibly unbounded in this JavaScript Array test case
- https://bugs.webkit.org/show_bug.cgi?id=31675
-
- This fixes one observed bug in this test case, which is that
- arrays don't report extra cost for the sparse value maps.
-
- SunSpider reports a small speedup.
-
- * runtime/JSArray.cpp:
- (JSC::JSArray::putSlowCase): Report extra memory cost for
- the sparse value map.
- * runtime/JSArray.h:
-
-2010-01-08 Yong Li <yoli@rim.com>
-
- Reviewed by Darin Adler.
-
- Remove unnecessary #include from FastMalloc.cpp
- https://bugs.webkit.org/show_bug.cgi?id=33393
-
- * wtf/FastMalloc.cpp:
-
-2010-01-08 Eric Seidel <eric@webkit.org>
-
- No review, rolling out r52983.
- http://trac.webkit.org/changeset/52983
- https://bugs.webkit.org/show_bug.cgi?id=33321
-
- Broke 59 JavaScriptCore tests. I don't think Kent knew about
- run-javascriptcore-tests. Sadly neither does the commit-bot,
- yet.
-
- * runtime/RegExp.cpp:
- (JSC::RegExp::RegExp):
- * runtime/RegExp.h:
- (JSC::RegExp::flags):
-
-2010-01-08 Eric Seidel <eric@webkit.org>
-
- No review, rolling out r52981.
- http://trac.webkit.org/changeset/52981
- https://bugs.webkit.org/show_bug.cgi?id=33319
-
- Caused two JS tests to start failing:
- ecma_2/RegExp/properties-001.js and js1_2/regexp/toString.js
-
- * runtime/RegExpPrototype.cpp:
- (JSC::regExpProtoFuncToString):
-
-2010-01-08 Kent Hansen <kent.hansen@nokia.com>
-
- Reviewed by Darin Adler.
-
- Don't store RegExp flags string representation
- https://bugs.webkit.org/show_bug.cgi?id=33321
-
- It's unused; the string representation is reconstructed from flags.
-
- * runtime/RegExp.cpp:
- (JSC::RegExp::RegExp):
- * runtime/RegExp.h:
-
-2010-01-08 Kent Hansen <kent.hansen@nokia.com>
-
- Reviewed by Darin Adler.
-
- RegExp.prototype.toString returns "//" for empty regular expressions
- https://bugs.webkit.org/show_bug.cgi?id=33319
-
- "//" starts a single-line comment, hence "/(?:)/" should be used, according to ECMA.
-
- * runtime/RegExpPrototype.cpp:
- (JSC::regExpProtoFuncToString):
-
-2010-01-08 Norbert Leser <norbert.leser@nokia.com>
-
- Reviewed by Darin Adler.
-
- RVCT compiler with "-Otime -O3" optimization tries to optimize out
- inline new'ed pointers that are passed as arguments.
- Proposed patch assigns new'ed pointer explicitly outside function call.
-
- https://bugs.webkit.org/show_bug.cgi?id=33084
-
- * API/JSClassRef.cpp:
- (OpaqueJSClass::OpaqueJSClass):
- (OpaqueJSClassContextData::OpaqueJSClassContextData):
-
-2010-01-08 Gabor Loki <loki@webkit.org>
-
- Reviewed by Gavin Barraclough.
-
- Remove an unnecessary cacheFlush from ARM_TRADITIONAL JIT
- https://bugs.webkit.org/show_bug.cgi?id=33203
-
- * assembler/ARMAssembler.cpp: Remove obsolete linkBranch function.
- (JSC::ARMAssembler::executableCopy): Inline a clean linkBranch code.
- * assembler/ARMAssembler.h:
- (JSC::ARMAssembler::getLdrImmAddress): Use inline function.
- (JSC::ARMAssembler::getLdrImmAddressOnPool): Ditto.
- (JSC::ARMAssembler::patchPointerInternal): Remove an unnecessary cacheFlush.
- (JSC::ARMAssembler::linkJump): Use patchPointerInternal instead of linkBranch.
- (JSC::ARMAssembler::linkCall): Ditto.
- (JSC::ARMAssembler::relinkCall): Ditto.
-
-2010-01-07 Gabor Loki <loki@webkit.org>
-
- Reviewed by Gavin Barraclough.
-
- Build fix for JSVALUE32 when ENABLE_JIT_OPTIMIZE* are disabled
- https://bugs.webkit.org/show_bug.cgi?id=33311
-
- Move compileGetDirectOffset function to common part of JSVALUE32
-
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::compileGetDirectOffset):
-
-2010-01-07 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Maciej Stachowiak.
-
- Allow call sites to determine if ASSERT_* and LOG_* macros are operational
- https://bugs.webkit.org/show_bug.cgi?id=33020
-
- * wtf/Assertions.h: Set ASSERT_MSG_DISABLED, FATAL_DISABLED,
- ERROR_DISABLED, LOG_DISABLED to 1 if the compiler does not support
- variadic macros. Refactor for better readibility.
-
-2010-01-07 Daniel Bates <dbates@rim.com>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=32987
-
- Added ENABLE_XHTMLMP flag. Disabled by default.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-01-07 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Gavin Barraclough.
-
- [Symbian] Port ARM traditional JIT Trampolines to RVCT
- https://bugs.webkit.org/show_bug.cgi?id=30552
-
- Take the GCC implementation and mechanically convert
- it to RVCT syntax.
-
- Use 'bx rX' instead of 'mov pc, rX' when it is available.
-
- Developed in cooperation with Iain Campbell and Gabor Loki.
-
- * JavaScriptCore.pri: Extra step to generate RVCT stubs. The
- script generation intentionally executed all the time not just
- for RVCT targets.
-
- * create_rvct_stubs: Added. Perl script to expand precompiler macros
- for RVCT assembler - the template is defined in JITStubs.cpp.
-
- * jit/JITStubs.cpp:
- (JSC::ctiTrampoline):
- (JSC::ctiVMThrowTrampoline):
- (JSC::ctiOpThrowNotCaught):
-
-2010-01-07 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fix a crash seen on the buildbots.
-
- * runtime/JSGlobalObject.cpp:
- (JSC::JSGlobalObject::init): Disable specific function tracking here,
- instead of in WebCore, to ensure that the disabling happens before a
- specific function can be registered.
-
-2010-01-07 Alexey Proskuryakov <ap@apple.com>
-
- Mac build fix.
-
- * JavaScriptCore.exp: Export new JSGlobalData static data members.
-
-2010-01-07 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Geoffrey Garen.
-
- https://bugs.webkit.org/show_bug.cgi?id=33057
- REGRESSION(r49365): typeof(xhr.responseText) != "string" in Windows
-
- <rdar://problem/7296920> REGRESSION: WebKit fails to start PeaceKeeper benchmark
-
- Test: fast/js/webcore-string-comparison.html
-
- In r49365, some code was moved from JSString.cpp to JSString.h, and as a result, WebCore
- got a way to directly instantiate JSStrings over DLL borders. Since vftable for JSString was
- not exported, objects created from WebCore got a different vptr, and JavaScriptCore
- optimizations that relied on vptr of all JSString objects being equal failed.
-
- * config.h: Added a JS_EXPORTCLASS macro for exporting classes. It's currently the same as
- JS_EXPORTDATA, but it clearly needed a new name.
-
- * runtime/InitializeThreading.cpp:
- (JSC::initializeThreadingOnce):
- * runtime/JSGlobalData.cpp:
- (JSC::JSGlobalData::storeVPtrs):
- (JSC::JSGlobalData::JSGlobalData):
- (JSC::JSGlobalData::createNonDefault):
- (JSC::JSGlobalData::create):
- (JSC::JSGlobalData::sharedInstance):
- * runtime/JSGlobalData.h:
- Store vptrs just once, no need to repeatedly pick and copy them. This makes it possible to
- assert vptr correctness in object destructors (which don't have access to JSGlobalData,
- and even Heap::heap(this) will fail for fake objects created from storeVPtrs()).
-
- * runtime/JSArray.cpp: (JSC::JSArray::~JSArray): Assert that vptr is what we expect it to be.
- It's important to assert in destructor, because MSVC changes the vptr after constructor
- is invoked.
- * runtime/JSByteArray.cpp: (JSC::JSByteArray::~JSByteArray): Ditto.
- * runtime/JSByteArray.h: Ditto.
- * runtime/JSFunction.h: Ditto.
- * runtime/JSFunction.cpp: (JSC::JSFunction::~JSFunction): Ditto.
-
- * runtime/JSCell.h: (JSC::JSCell::setVPtr): Added a method to substitute vptr for another
- one.
-
- * runtime/JSString.h: Export JSString class together with its vftable, and tell other
- libraries tp import it. This is needed on platforms that have a separate JavaScriptCore
- dynamic library - and on Mac, we already did the export via JavaScriptCore.exp.
- (JSC::JSString::~JSString): Assert tha vptr is what we expect it to be.
- (JSC::fixupVPtr): Store a previously saved primary vftable pointer (do nothing if building
- JavaScriptCore itself).
- (JSC::jsSingleCharacterString): Call fixupVPtr in case this is call across DLL boundary.
- (JSC::jsSingleCharacterSubstring): Ditto.
- (JSC::jsNontrivialString): Ditto.
- (JSC::jsString): Ditto.
- (JSC::jsSubstring): Ditto.
- (JSC::jsOwnedString): Ditto.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: Export the new static
- JSGlobalData members that are used in WebCore via inline functions.
-
-2010-01-07 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Safari memory usage skyrockets using new Google AdWords interface
- https://bugs.webkit.org/show_bug.cgi?id=33343
-
- The memory use was caused by the global object creating too many structures
- as it thrashed between different specific functions.
-
- * runtime/Structure.cpp:
- (JSC::Structure::Structure):
- (JSC::Structure::addPropertyTransition):
- (JSC::Structure::changePrototypeTransition):
- (JSC::Structure::despecifyFunctionTransition):
- (JSC::Structure::addAnonymousSlotsTransition):
- (JSC::Structure::getterSetterTransition):
- (JSC::Structure::toDictionaryTransition):
- (JSC::Structure::addPropertyWithoutTransition):
- (JSC::Structure::despecifyAllFunctions):
- * runtime/Structure.h:
- (JSC::Structure::disableSpecificFunctionTracking): Track a thrash count
- for specific functions. Disable specific function tracking once the
- thrash count has been hit.
-
-2010-01-07 Csaba Osztrogonác <ossy@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Enable JIT in debug mode on win32 after r51141 fixed the crashes.
-
- * JavaScriptCore.pri:
-
-2010-01-07 Zoltan Horvath <zoltan@webkit.org>
-
- Reviewed by Holger Freyther.
-
- [Mac] Build fix when FAST_MALLOC_MATCH_VALIDATION=1
- https://bugs.webkit.org/show_bug.cgi?id=33312
-
- Using of operator += cause compile error on Mac, so it is changed to
- "= static_cast<AllocAlignmentInteger*>(old_ptr) + 1".
-
- * wtf/FastMalloc.cpp:
- (WTF::TCMallocStats::realloc):
-
-2010-01-07 Zoltan Horvath <zoltan@webkit.org>
-
- Reviewed by Holger Freyther.
-
- [Qt] Build fix when FAST_MALLOC_MATCH_VALIDATION=1
- https://bugs.webkit.org/show_bug.cgi?id=33312
-
- Remove pByte (committed in r42344 from #20422), because pByte doesn't
- exist and it is unnecessary.
-
- * wtf/FastMalloc.cpp:
- (WTF::TCMallocStats::realloc):
-
-2010-01-06 Gavin Barraclough <barraclough@apple.com>
-
- QT build fix.
-
- * runtime/Identifier.cpp:
- (JSC::createIdentifierTableSpecific):
-
-2010-01-06 Gavin Barraclough <barraclough@apple.com>
-
- Windows build fix part I.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-01-06 Dan Bernstein <mitz@apple.com>
-
- Build fix
-
- * runtime/Identifier.cpp:
- (JSC::createIdentifierTableSpecificCallback):
-
-2010-01-05 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=33236
- Remove m_identifierTable pointer from UString
-
- Currently every string holds a pointer so that during destruction,
- if a string has been used as an identifier, it can remove itself
- from the table. By instead accessing the identifierTable via a
- thread specific tracking the table associated with the current
- globaldata, we can save the memory cost of this pointer.
-
- * API/APIShims.h:
- (JSC::APIEntryShimWithoutLock::APIEntryShimWithoutLock):
- (JSC::APIEntryShimWithoutLock::~APIEntryShimWithoutLock):
- (JSC::APICallbackShim::APICallbackShim):
- (JSC::APICallbackShim::~APICallbackShim):
-
- - change the API shims to track the identifierTable of the current JSGlobalData.
-
- * API/JSContextRef.cpp:
- (JSContextGroupCreate):
-
- - update creation of JSGlobalData for API usage to use new create method.
- - fix shim instanciation bug in JSGlobalContextCreateInGroup.
-
+ (JSC::::call):
* JavaScriptCore.exp:
- * runtime/Completion.cpp:
- (JSC::checkSyntax):
- (JSC::evaluate):
-
- - add asserts to check the identifierTable is being tracked correctly.
-
- * runtime/Identifier.cpp:
- (JSC::IdentifierTable::~IdentifierTable):
- (JSC::IdentifierTable::add):
- (JSC::Identifier::remove):
- (JSC::Identifier::checkSameIdentifierTable):
- (JSC::createIdentifierTableSpecificCallback):
- (JSC::createIdentifierTableSpecific):
- (JSC::createDefaultDataSpecific):
-
- - Use currentIdentifierTable() instead of UStringImpl::m_identifierTable.
- - Define methods to access the thread specific identifier tables.
-
- * runtime/Identifier.h:
- (JSC::ThreadIdentifierTableData::ThreadIdentifierTableData):
- (JSC::defaultIdentifierTable):
- (JSC::setDefaultIdentifierTable):
- (JSC::currentIdentifierTable):
- (JSC::setCurrentIdentifierTable):
- (JSC::resetCurrentIdentifierTable):
-
- - Declare methods to access the thread specific identifier tables.
-
- * runtime/JSGlobalData.cpp:
- (JSC::JSGlobalData::createNonDefault):
- (JSC::JSGlobalData::create):
- (JSC::JSGlobalData::sharedInstance):
-
- - creation of JSGlobalData objects, other than for API usage, associate themselves with the current thread.
-
- * runtime/JSGlobalData.h:
- * runtime/UStringImpl.cpp:
- (JSC::UStringImpl::destroy):
-
- - destroy() method should be using isIdentifier().
-
- * runtime/UStringImpl.h:
- (JSC::UStringImpl::isIdentifier):
- (JSC::UStringImpl::setIsIdentifier):
- (JSC::UStringImpl::checkConsistency):
- (JSC::UStringImpl::UStringImpl):
-
- - replace m_identifierTable with a single m_isIdentifier bit.
-
- * wtf/StringHashFunctions.h:
- (WTF::stringHash):
-
- - change string hash result from 32-bit to 31-bit, to free a bit in UStringImpl for m_isIdentifier.
-
-2009-12-25 Patrick Gansterer <paroga@paroga.com>
-
- Reviewed by Eric Seidel.
-
- Buildfix for WinCE + style fixes.
- https://bugs.webkit.org/show_bug.cgi?id=32939
-
* jsc.cpp:
(functionPrint):
+ (functionDebug):
+ (functionGC):
+ (functionVersion):
+ (functionRun):
+ (functionLoad):
+ (functionCheckSyntax):
+ (functionSetSamplingFlags):
+ (functionClearSamplingFlags):
+ (functionReadline):
(functionQuit):
- (parseArguments):
- (fillBufferWithContentsOfFile):
-
-2010-01-05 Patrick Gansterer <paroga@paroga.com>
-
- Reviewed by Eric Seidel.
-
- WinCE buildfix after r52791 (renamed PLATFORM(WINCE) to OS(WINCE)).
- https://bugs.webkit.org/show_bug.cgi?id=33205
-
- * jit/ExecutableAllocator.h:
-
-2010-01-05 Patrick Gansterer <paroga@paroga.com>
-
- Reviewed by Darin Adler.
-
- Added compiler error for unsupported platforms.
- https://bugs.webkit.org/show_bug.cgi?id=33112
-
- * jit/JITStubs.cpp:
-
-2010-01-05 Gabor Loki <loki@webkit.org>
-
- Reviewed by Maciej Stachowiak.
-
- Follow r52729 in ARMAssembler.
- https://bugs.webkit.org/show_bug.cgi?id=33208
-
- Use WTF_ARM_ARCH_AT_LEAST instead of ARM_ARCH_VERSION
-
- * assembler/ARMAssembler.cpp:
- (JSC::ARMAssembler::encodeComplexImm): Move tmp declaration to ARMv7
- * assembler/ARMAssembler.h:
- (JSC::ARMAssembler::):
- (JSC::ARMAssembler::bkpt):
-
-2010-01-05 Maciej Stachowiak <mjs@apple.com>
-
- Unreviewed build fix for Gtk+
-
- Don't use // comments in Platform.h, at least some of them seem to make the version of GCC
- used on the Gtk buildbot unhappy.
-
- * wtf/Platform.h:
-
-2010-01-04 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin Fisher.
-
- Reorganize, document and rename OS() platform macros.
- https://bugs.webkit.org/show_bug.cgi?id=33198
-
- * wtf/Platform.h: Rename, reorganize and document OS() macros.
-
- Adapt to name changes. Also fixed a few incorrect OS checks.
-
- * API/JSContextRef.cpp:
- * assembler/MacroAssemblerARM.cpp:
- (JSC::isVFPPresent):
- * assembler/MacroAssemblerX86Common.h:
- * bytecode/SamplingTool.cpp:
- * config.h:
- * interpreter/RegisterFile.cpp:
- (JSC::RegisterFile::~RegisterFile):
- * interpreter/RegisterFile.h:
- (JSC::RegisterFile::RegisterFile):
- (JSC::RegisterFile::grow):
- * jit/ExecutableAllocator.h:
- * jit/ExecutableAllocatorFixedVMPool.cpp:
- * jit/ExecutableAllocatorPosix.cpp:
- * jit/ExecutableAllocatorSymbian.cpp:
- * jit/ExecutableAllocatorWin.cpp:
- * jit/JITOpcodes.cpp:
- (JSC::JIT::privateCompileCTIMachineTrampolines):
- * jit/JITStubs.cpp:
- * jsc.cpp:
- (main):
- * parser/Grammar.y:
- * profiler/ProfileNode.cpp:
- (JSC::getCount):
- * runtime/Collector.cpp:
- (JSC::Heap::Heap):
- (JSC::Heap::allocateBlock):
- (JSC::Heap::freeBlockPtr):
- (JSC::currentThreadStackBase):
- (JSC::getCurrentPlatformThread):
- (JSC::suspendThread):
- (JSC::resumeThread):
- (JSC::getPlatformThreadRegisters):
- (JSC::otherThreadStackPointer):
- * runtime/Collector.h:
- * runtime/DateConstructor.cpp:
- * runtime/DatePrototype.cpp:
- (JSC::formatLocaleDate):
- * runtime/InitializeThreading.cpp:
- (JSC::initializeThreading):
- * runtime/MarkStack.h:
- (JSC::MarkStack::MarkStackArray::shrinkAllocation):
- * runtime/MarkStackPosix.cpp:
- * runtime/MarkStackSymbian.cpp:
- * runtime/MarkStackWin.cpp:
- * runtime/StringPrototype.cpp:
- (JSC::stringProtoFuncLastIndexOf):
- * runtime/TimeoutChecker.cpp:
- (JSC::getCPUTime):
- * runtime/UString.cpp:
- (JSC::UString::from):
- * wtf/Assertions.cpp:
- * wtf/Assertions.h:
- * wtf/CurrentTime.cpp:
- (WTF::lowResUTCTime):
- * wtf/CurrentTime.h:
- (WTF::getLocalTime):
- * wtf/DateMath.cpp:
- * wtf/FastMalloc.cpp:
- (WTF::TCMalloc_ThreadCache::InitModule):
- (WTF::TCMallocStats::):
- * wtf/FastMalloc.h:
- * wtf/MathExtras.h:
- * wtf/RandomNumber.cpp:
- (WTF::randomNumber):
- * wtf/RandomNumberSeed.h:
- (WTF::initializeRandomNumberGenerator):
- * wtf/StringExtras.h:
- * wtf/TCSpinLock.h:
- (TCMalloc_SpinLock::Unlock):
- (TCMalloc_SlowLock):
- * wtf/TCSystemAlloc.cpp:
- * wtf/ThreadSpecific.h:
- (WTF::::destroy):
- * wtf/Threading.h:
- * wtf/ThreadingPthreads.cpp:
- (WTF::initializeThreading):
- (WTF::isMainThread):
- * wtf/ThreadingWin.cpp:
- (WTF::wtfThreadEntryPoint):
- (WTF::createThreadInternal):
- * wtf/VMTags.h:
- * wtf/unicode/icu/CollatorICU.cpp:
- (WTF::Collator::userDefault):
- * wtf/win/MainThreadWin.cpp:
- (WTF::initializeMainThreadPlatform):
-
-2010-01-04 Gustavo Noronha Silva <gns@gnome.org>
-
- Add missing files to the build system - make distcheck build fix.
-
- * GNUmakefile.am:
-
-2010-01-04 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Sam Weinig, additional coding by Mark Rowe.
-
- https://bugs.webkit.org/show_bug.cgi?id=33163
- Add string hashing functions to WTF.
- Use WTF's string hashing functions from UStringImpl.
-
- * GNUmakefile.am:
- * JavaScriptCore.exp:
- * JavaScriptCore.gypi:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * runtime/UStringImpl.cpp:
- * runtime/UStringImpl.h:
- (JSC::UStringImpl::computeHash):
- * wtf/HashFunctions.h:
- * wtf/StringHashFunctions.h: Added.
- (WTF::stringHash):
-
-2010-01-04 Dmitry Titov <dimich@chromium.org>
-
- Not reviewed, attempt to fix ARM bulid.
-
- * wtf/Platform.h:
-
-2010-01-04 Gavin Barraclough <barraclough@apple.com>
-
- Rubber stamped by Geoff Garen.
-
- Add an 'isIdentifier' to UStringImpl, use this where appropriate
- (where previously 'identifierTable' was being tested).
-
- * API/JSClassRef.cpp:
- (OpaqueJSClass::~OpaqueJSClass):
- (OpaqueJSClassContextData::OpaqueJSClassContextData):
- * runtime/Identifier.cpp:
- (JSC::Identifier::addSlowCase):
- * runtime/Identifier.h:
- (JSC::Identifier::add):
- * runtime/PropertyNameArray.cpp:
- (JSC::PropertyNameArray::add):
- * runtime/UStringImpl.h:
- (JSC::UStringImpl::isIdentifier):
-
-2010-01-04 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Sam "Shimmey Shimmey" Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=33158
- Refactor JSC API entry/exit to use RAII instead of copy/pasting code.
- Make it easier to change set of actions taken when passing across the API boundary.
-
- * API/APIShims.h: Added.
- (JSC::APIEntryShimWithoutLock::APIEntryShimWithoutLock):
- (JSC::APIEntryShimWithoutLock::~APIEntryShimWithoutLock):
- (JSC::APIEntryShim::APIEntryShim):
- (JSC::APICallbackShim::APICallbackShim):
- (JSC::APICallbackShim::~APICallbackShim):
- * API/JSBase.cpp:
- (JSEvaluateScript):
- (JSCheckScriptSyntax):
- (JSGarbageCollect):
- (JSReportExtraMemoryCost):
- * API/JSCallbackConstructor.cpp:
- (JSC::constructJSCallback):
- * API/JSCallbackFunction.cpp:
- (JSC::JSCallbackFunction::call):
- * API/JSCallbackObjectFunctions.h:
- (JSC::::init):
- (JSC::::getOwnPropertySlot):
- (JSC::::put):
- (JSC::::deleteProperty):
- (JSC::::construct):
- (JSC::::hasInstance):
- (JSC::::call):
- (JSC::::getOwnPropertyNames):
- (JSC::::toNumber):
- (JSC::::toString):
- (JSC::::staticValueGetter):
- (JSC::::callbackGetter):
- * API/JSContextRef.cpp:
- * API/JSObjectRef.cpp:
- (JSObjectMake):
- (JSObjectMakeFunctionWithCallback):
- (JSObjectMakeConstructor):
- (JSObjectMakeFunction):
- (JSObjectMakeArray):
- (JSObjectMakeDate):
- (JSObjectMakeError):
- (JSObjectMakeRegExp):
- (JSObjectGetPrototype):
- (JSObjectSetPrototype):
- (JSObjectHasProperty):
- (JSObjectGetProperty):
- (JSObjectSetProperty):
- (JSObjectGetPropertyAtIndex):
- (JSObjectSetPropertyAtIndex):
- (JSObjectDeleteProperty):
- (JSObjectCallAsFunction):
- (JSObjectCallAsConstructor):
- (JSObjectCopyPropertyNames):
- (JSPropertyNameArrayRelease):
- (JSPropertyNameAccumulatorAddName):
- * API/JSValueRef.cpp:
- (JSValueGetType):
- (JSValueIsUndefined):
- (JSValueIsNull):
- (JSValueIsBoolean):
- (JSValueIsNumber):
- (JSValueIsString):
- (JSValueIsObject):
- (JSValueIsObjectOfClass):
- (JSValueIsEqual):
- (JSValueIsStrictEqual):
- (JSValueIsInstanceOfConstructor):
- (JSValueMakeUndefined):
- (JSValueMakeNull):
- (JSValueMakeBoolean):
- (JSValueMakeNumber):
- (JSValueMakeString):
- (JSValueToBoolean):
- (JSValueToNumber):
- (JSValueToStringCopy):
- (JSValueToObject):
- (JSValueProtect):
- (JSValueUnprotect):
- * JavaScriptCore.xcodeproj/project.pbxproj:
-
-2010-01-04 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Ada Chan and Mark Rowe.
-
- Updated copyright string
-
- * Info.plist:
- * JavaScriptCore.vcproj/JavaScriptCore.resources/Info.plist:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.rc:
-
-2010-01-04 Adam Roben <aroben@apple.com>
-
- No review, rolling out r52741.
- http://trac.webkit.org/changeset/52741
- https://bugs.webkit.org/show_bug.cgi?id=33056
-
- * wtf/AlwaysInline.h:
-
-2010-01-04 Patrick Gansterer <paroga@paroga.com>
-
- Reviewed by Darin Adler.
-
- Add cacheFlush support for WinCE
- https://bugs.webkit.org/show_bug.cgi?id=33110
-
- * jit/ExecutableAllocator.h:
- (JSC::ExecutableAllocator::cacheFlush):
-
-2010-01-04 Patrick Gansterer <paroga@paroga.com>
-
- Reviewed by Adam Roben.
-
- Implement NO_RETURN for COMPILER(MSVC).
- https://bugs.webkit.org/show_bug.cgi?id=33056
-
- * wtf/AlwaysInline.h:
-
-2010-01-04 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Simon Hausmann.
-
- Fix some PLATFORM(*_ENDIAN) uses to CPU()
- https://bugs.webkit.org/show_bug.cgi?id=33148
-
- * runtime/JSCell.cpp:
- (JSC::):
- * runtime/JSValue.h:
- (JSC::JSValue::):
-
-2010-01-04 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Adam Barth.
-
- Document CPU() macros in comments.
- https://bugs.webkit.org/show_bug.cgi?id=33147
-
- * wtf/Platform.h:
-
-2010-01-04 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Adam Barth.
-
- Reorganize, document and rename CPU() platform macros.
- https://bugs.webkit.org/show_bug.cgi?id=33145
- ExecutableAllocatorSymbian appears to have buggy ARM version check
- https://bugs.webkit.org/show_bug.cgi?id=33138
-
- * wtf/Platform.h:
- Rename all macros related to detection of particular CPUs or
- classes of CPUs to CPU(), reorganize and document them.
-
- All remaining changes are adapting to the renames, plus fixing the
- second bug cited above.
-
- * assembler/ARMAssembler.cpp:
- * assembler/ARMAssembler.h:
- * assembler/ARMv7Assembler.h:
- * assembler/AbstractMacroAssembler.h:
- (JSC::AbstractMacroAssembler::Imm32::Imm32):
- * assembler/MacroAssembler.h:
- * assembler/MacroAssemblerARM.cpp:
- * assembler/MacroAssemblerARM.h:
- * assembler/MacroAssemblerCodeRef.h:
- (JSC::MacroAssemblerCodePtr::MacroAssemblerCodePtr):
- * assembler/MacroAssemblerX86.h:
- * assembler/MacroAssemblerX86Common.h:
- * assembler/MacroAssemblerX86_64.h:
- * assembler/X86Assembler.h:
- (JSC::X86Registers::):
- (JSC::X86Assembler::):
- (JSC::X86Assembler::movl_mEAX):
- (JSC::X86Assembler::movl_EAXm):
- (JSC::X86Assembler::repatchLoadPtrToLEA):
- (JSC::X86Assembler::X86InstructionFormatter::memoryModRM):
- * jit/ExecutableAllocator.h:
- * jit/ExecutableAllocatorFixedVMPool.cpp:
- * jit/ExecutableAllocatorPosix.cpp:
- * jit/ExecutableAllocatorSymbian.cpp:
- (JSC::ExecutableAllocator::intializePageSize):
- * jit/JIT.cpp:
- * jit/JIT.h:
- * jit/JITArithmetic.cpp:
- * jit/JITInlineMethods.h:
- (JSC::JIT::beginUninterruptedSequence):
- (JSC::JIT::restoreArgumentReferenceForTrampoline):
- (JSC::JIT::emitCount):
- * jit/JITOpcodes.cpp:
- (JSC::JIT::privateCompileCTIMachineTrampolines):
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::privateCompileGetByIdProto):
- (JSC::JIT::privateCompileGetByIdProtoList):
- (JSC::JIT::privateCompileGetByIdChainList):
- (JSC::JIT::privateCompileGetByIdChain):
- * jit/JITStubs.cpp:
- (JSC::JITThunks::JITThunks):
- * jit/JITStubs.h:
- * runtime/Collector.cpp:
- (JSC::currentThreadStackBase):
- (JSC::getPlatformThreadRegisters):
- (JSC::otherThreadStackPointer):
- * wrec/WREC.h:
- * wrec/WRECGenerator.cpp:
- (JSC::WREC::Generator::generateEnter):
- (JSC::WREC::Generator::generateReturnSuccess):
- (JSC::WREC::Generator::generateReturnFailure):
- * wrec/WRECGenerator.h:
- * wtf/FastMalloc.cpp:
- * wtf/TCSpinLock.h:
- (TCMalloc_SpinLock::Lock):
- (TCMalloc_SpinLock::Unlock):
- (TCMalloc_SlowLock):
- * wtf/Threading.h:
- * wtf/dtoa.cpp:
- * yarr/RegexJIT.cpp:
- (JSC::Yarr::RegexGenerator::generateEnter):
- (JSC::Yarr::RegexGenerator::generateReturn):
- * yarr/RegexJIT.h:
-
-2010-01-04 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Adam Barth.
-
- Clean up COMPILER macros and remove unused ones.
- https://bugs.webkit.org/show_bug.cgi?id=33132
-
- Removed values are COMPILER(BORLAND) and COMPILER(CYGWIN) - they were
- not used anywhere.
-
- * wtf/Platform.h:
-
-2010-01-03 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Eric Seidel.
-
- Update wtf/Platform.h to document the new system for porting macros.
- https://bugs.webkit.org/show_bug.cgi?id=33130
-
- * wtf/Platform.h:
-
-2009-12-29 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Maciej Stachowiak.
-
- PLATFORM(CAIRO) should be defined by WIN_CAIRO define
- https://bugs.webkit.org/show_bug.cgi?id=22250
-
- * wtf/Platform.h: Define WTF_PLATFORM_CAIRO for GTK port only
- For the WinCairo port WTF_PLATFORM_CAIRO is already defined in config.h
-
-2009-12-28 Shu Chang <Chang.Shu@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] Delete ThreadPrivate instance after it is finished.
- https://bugs.webkit.org/show_bug.cgi?id=32614
-
- * wtf/qt/ThreadingQt.cpp:
- (WTF::ThreadMonitor::instance):
- (WTF::ThreadMonitor::threadFinished):
- (WTF::createThreadInternal):
- (WTF::detachThread):
-
-2009-12-28 Patrick Gansterer <paroga@paroga.com>
-
- Reviewed by Maciej Stachowiak.
-
- Cleanup of #define JS_EXPORT.
-
- * API/JSBase.h:
-
-2009-12-27 Patrick Gansterer <paroga@paroga.com>
-
- Reviewed by Adam Barth.
-
- WinCE buildfix (HWND_MESSAGE isn't supported there)
-
- * wtf/win/MainThreadWin.cpp:
- (WTF::initializeMainThreadPlatform):
-
-2009-12-27 Patrick Gansterer <paroga@paroga.com>
-
- Reviewed by Adam Barth.
-
- Added a file with WinMain function to link agains in WinCE.
-
- * os-win32/WinMain.cpp: Added.
- (convertToUtf8):
- (WinMain):
-
-2009-12-24 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Unreviewed; revert of r52550.
-
- The change regressed the following LayoutTests for QtWebKit.
-
- fast/workers/worker-call.html -> crashed
- fast/workers/worker-close.html -> crashed
-
- * wtf/qt/ThreadingQt.cpp:
- (WTF::waitForThreadCompletion):
- (WTF::detachThread):
-
-2009-12-24 Shu Chang <Chang.Shu@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] Fix memory leak by deleting instance of ThreadPrivate
- in function waitForThreadCompletion(), synchronously, or in
- detachThread(), asynchronously.
- https://bugs.webkit.org/show_bug.cgi?id=32614
-
- * wtf/qt/ThreadingQt.cpp:
- (WTF::waitForThreadCompletion):
- (WTF::detachThread):
-
-2009-12-23 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Laszlo Gombos.
-
- Include stddef.h for ptrdiff_t
- https://bugs.webkit.org/show_bug.cgi?id=32891
-
- ptrdiff_t is typedef-ed in stddef.h.
- Include stddef.h in jit/ExecutableAllocator.h.
-
- * jit/ExecutableAllocator.h:
-
-2009-12-23 Patrick Gansterer <paroga@paroga.com>
-
- Reviewed by Eric Seidel.
-
- Buildfix after r47092.
-
- * wtf/wince/MemoryManager.cpp:
- (WTF::tryFastMalloc):
- (WTF::tryFastZeroedMalloc):
- (WTF::tryFastCalloc):
- (WTF::tryFastRealloc):
-
-2009-12-23 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Darin Adler.
-
- HTMLInputElement::valueAsDate getter support.
- https://bugs.webkit.org/show_bug.cgi?id=32876
-
- Expose dateToDaysFrom1970().
-
- * JavaScriptCore.exp:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * wtf/DateMath.cpp:
- (WTF::dateToDaysFrom1970):
- * wtf/DateMath.h:
-
-2009-12-22 Darin Adler <darin@apple.com>
-
- Reviewed by Mark Rowe.
-
- Turn off datagrid by default, at least for all platforms Apple ships.
- The datagrid implementation isn't ready for general web use yet.
-
- * Configurations/FeatureDefines.xcconfig: Turn off datagrid by default.
-
-2009-12-22 Steve Block <steveblock@google.com>
-
- Reviewed by David Levin.
-
- Updates Android's scheduleDispatchFunctionsOnMainThread() to use new
- AndroidThreading class, rather than using JavaSharedClient directly.
- This fixes the current layering violation.
- https://bugs.webkit.org/show_bug.cgi?id=32651
-
- The pattern is copied from Chromium, which uses the ChromiumThreading
- class. This patch also fixes the style in ChromiumThreading.h.
-
- * wtf/android/AndroidThreading.h: Added. Declares AndroidThreading.
- * wtf/android/MainThreadAndroid.cpp: Modified
- (WTF::scheduleDispatchFunctionsOnMainThread): Uses AndroidThreading.
- * wtf/chromium/ChromiumThreading.h: Modified. Fixes style.
-
-2009-12-22 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fix a couple of problems with UntypedPtrAndBitfield.
-
- Add a m_leaksPtr to reduce false positives from leaks in debug builds
- (this isn't perfect because we'd like a solution for release builds,
- but this is now at least as good as a PtrAndFlags would be).
-
- Switch SmallStringsto use a regular string for the base, rather than
- a static one. UntypedPtrAndBitfield assumes all strings are at least
- 8 byte aligned; this migt not be true of static strings. Shared buffers
- are heap allocated, as are all UStringImpls other than static strings.
- Static strings cannot end up being the owner string of substrings,
- since the only static strings are length 0.
-
- * runtime/SmallStrings.cpp:
- (JSC::SmallStringsStorage::SmallStringsStorage):
- * runtime/UStringImpl.h:
- (JSC::UntypedPtrAndBitfield::UntypedPtrAndBitfield):
- (JSC::UStringImpl::UStringImpl):
-
-2009-12-22 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Darin Adler.
-
- RVCT (__ARMCC_VERSION < 400000) does not provide strcasecmp and strncasecmp
- https://bugs.webkit.org/show_bug.cgi?id=32857
-
- Add implementation of strcasecmp and strncasecmp for RVCT < 4.0
- because earlier versions of RVCT 4.0 does not provide these functions.
-
- * wtf/StringExtras.cpp: Added.
- (strcasecmp):
- (strncasecmp):
- * wtf/StringExtras.h:
-
-2009-12-22 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Darin Adler.
-
- Define ALWAYS_INLINE and WTF_PRIVATE_INLINE to __forceinline for RVCT
- https://bugs.webkit.org/show_bug.cgi?id=32853
-
- Use __forceinline forces RVCT to compile a C or C++ function
- inline. The compiler attempts to inline the function, regardless of
- the characteristics of the function.
-
- * wtf/AlwaysInline.h:
- * wtf/FastMalloc.h:
-
-2009-12-21 Simon Hausmann <simon.hausmann@nokia.com>
-
- Prospective GTK build fix: Add UStringImpl.cpp/h to the build.
-
- * GNUmakefile.am:
-
-2009-12-21 Simon Hausmann <simon.hausmann@nokia.com>
-
- Fix the Qt build, add UStringImpl.cpp to the build.
-
- * JavaScriptCore.pri:
-
-2009-12-21 Gavin Barraclough <barraclough@apple.com>
-
- Windows Build fix part 5.
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
-
-2009-12-21 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (build fix).
- Fix breakage of world introduced in build fix to r52463.
-
- * runtime/UStringImpl.h:
-
-2009-12-21 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=32831
- Replace UString::Rep implementation, following introduction of ropes to JSC.
-
- * Remove redundant overcapacity mechanisms.
- * Reduce memory cost of Rep's.
- * Add an inline storage mechanism akin to that in WebCore's StringImpl.
-
- ~1% Sunspider progression.
-
- * JavaScriptCore.exp:
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * runtime/JSString.cpp:
- (JSC::JSString::resolveRope):
- * runtime/SmallStrings.cpp:
- (JSC::SmallStringsStorage::SmallStringsStorage):
- * runtime/UString.cpp:
- (JSC::initializeUString):
- (JSC::createRep):
- (JSC::UString::createFromUTF8):
- (JSC::UString::createUninitialized):
- (JSC::UString::spliceSubstringsWithSeparators):
- (JSC::UString::replaceRange):
- (JSC::UString::ascii):
- (JSC::UString::operator=):
- (JSC::UString::toStrictUInt32):
- (JSC::equal):
- * runtime/UString.h:
- (JSC::UString::isEmpty):
- (JSC::UString::cost):
- (JSC::makeString):
- * runtime/UStringImpl.cpp: Added.
- (JSC::UStringImpl::baseSharedBuffer):
- (JSC::UStringImpl::sharedBuffer):
- (JSC::UStringImpl::destroy):
- (JSC::UStringImpl::computeHash):
- * runtime/UStringImpl.h: Added.
- (JSC::UntypedPtrAndBitfield::UntypedPtrAndBitfield):
- (JSC::UntypedPtrAndBitfield::asPtr):
- (JSC::UntypedPtrAndBitfield::operator&=):
- (JSC::UntypedPtrAndBitfield::operator|=):
- (JSC::UntypedPtrAndBitfield::operator&):
- (JSC::UStringImpl::create):
- (JSC::UStringImpl::createCopying):
- (JSC::UStringImpl::createUninitialized):
- (JSC::UStringImpl::data):
- (JSC::UStringImpl::size):
- (JSC::UStringImpl::cost):
- (JSC::UStringImpl::hash):
- (JSC::UStringImpl::computedHash):
- (JSC::UStringImpl::setHash):
- (JSC::UStringImpl::identifierTable):
- (JSC::UStringImpl::setIdentifierTable):
- (JSC::UStringImpl::ref):
- (JSC::UStringImpl::deref):
- (JSC::UStringImpl::allocChars):
- (JSC::UStringImpl::copyChars):
- (JSC::UStringImpl::computeHash):
- (JSC::UStringImpl::null):
- (JSC::UStringImpl::empty):
- (JSC::UStringImpl::checkConsistency):
- (JSC::UStringImpl::):
- (JSC::UStringImpl::UStringImpl):
- (JSC::UStringImpl::operator new):
- (JSC::UStringImpl::bufferOwnerString):
- (JSC::UStringImpl::bufferOwnership):
- (JSC::UStringImpl::isStatic):
-
-2009-12-18 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Move some build decisions from Qt build system into source files
- https://bugs.webkit.org/show_bug.cgi?id=31956
-
- * JavaScriptCore.pri: Compile files unconditionally
- * jit/ExecutableAllocatorPosix.cpp: Guard with PLATFORM(UNIX) && !PLATFORM(SYMBIAN)
- * jit/ExecutableAllocatorWin.cpp: Guard with PLATFORM(WIN_OS)
- * runtime/MarkStackPosix.cpp: Guard with PLATFORM(UNIX) && !PLATFORM(SYMBIAN)
- * runtime/MarkStackSymbian.cpp: Guard with PLATFORM(SYMBIAN)
- * runtime/MarkStackWin.cpp: Guard with PLATFORM(WIN_OS)
- * wtf/Platform.h: Guard ENABLE_JSC_MULTIPLE_THREADS with ENABLE_SINGLE_THREADED for the Qt port
- * wtf/ThreadingNone.cpp: Guard with ENABLE(SINGLE_THREADED)
- * wtf/qt/ThreadingQt.cpp: Guard with !ENABLE(SINGLE_THREADED)
-
-2009-12-18 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add createNonCopying method to UString to make replace constructor passed bool,
- to make behaviour more explicit. Add createFromUTF8 to UString (wrapping method
- on UString::Rep), since other cases of transliteration (e.g. from ascii) are
- performed in UString constructors. Add/use setHash & size() accessors on Rep,
- rather than accessing _hash/len directly.
-
- * API/JSClassRef.cpp:
- (OpaqueJSClass::OpaqueJSClass):
- * API/OpaqueJSString.cpp:
- (OpaqueJSString::ustring):
- * JavaScriptCore.exp:
+ * runtime/ArrayConstructor.cpp:
+ (JSC::callArrayConstructor):
+ (JSC::arrayConstructorIsArray):
* runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncToString):
- * runtime/Identifier.cpp:
- (JSC::Identifier::equal):
- (JSC::CStringTranslator::translate):
- (JSC::UCharBufferTranslator::translate):
- (JSC::Identifier::addSlowCase):
- * runtime/JSString.cpp:
- (JSC::JSString::resolveRope):
- * runtime/JSString.h:
- (JSC::JSString::Rope::Fiber::refAndGetLength):
- (JSC::JSString::Rope::append):
- * runtime/StringBuilder.h:
- (JSC::StringBuilder::release):
- * runtime/StringConstructor.cpp:
- (JSC::stringFromCharCodeSlowCase):
- * runtime/StringPrototype.cpp:
- (JSC::substituteBackreferencesSlow):
- (JSC::stringProtoFuncToLowerCase):
- (JSC::stringProtoFuncToUpperCase):
- (JSC::stringProtoFuncFontsize):
- (JSC::stringProtoFuncLink):
- * runtime/UString.cpp:
- (JSC::UString::UString):
- (JSC::UString::createNonCopying):
- (JSC::UString::createFromUTF8):
- * runtime/UString.h:
- (JSC::UString::Rep::setHash):
- (JSC::UString::~UString):
- (JSC::makeString):
-
-2009-12-18 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Cameron Zwarich and Gavin Barraclough.
-
- Changed Register constructors to assignment operators, to streamline
- moving values into registers. (In theory, there's no difference between
- the two, since the constructor should just inline away, but there seems
- to be a big difference in the addled mind of the GCC optimizer.)
-
- In the interpreter, this is a 3.5% SunSpider speedup and a 1K-2K
- reduction in stack usage per privateExecute stack frame.
-
- * interpreter/CallFrame.h:
- (JSC::ExecState::setCalleeArguments):
- (JSC::ExecState::setCallerFrame):
- (JSC::ExecState::setScopeChain):
- (JSC::ExecState::init):
- (JSC::ExecState::setArgumentCount):
- (JSC::ExecState::setCallee):
- (JSC::ExecState::setCodeBlock): Added a little bit of casting so these
- functions could use the new Register assignment operators.
-
- * interpreter/Register.h:
- (JSC::Register::withInt):
- (JSC::Register::Register):
- (JSC::Register::operator=): Swapped in assignment operators for constructors.
-
-2009-12-18 Yongjun Zhang <yongjun.zhang@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- https://bugs.webkit.org/show_bug.cgi?id=32713
- [Qt] make wtf/Assertions.h compile in winscw compiler.
-
- Add string arg before ellipsis to help winscw compiler resolve variadic
- macro definitions in wtf/Assertions.h.
-
- * wtf/Assertions.h:
-
-2009-12-18 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Adam Roben.
-
- Fixed intermittent failure seen on Windows buildbot, and in other JSC
- API clients.
-
- Added a WeakGCPtr class and changed OpaqueJSClass::cachedPrototype to
- use it, to avoid vending a stale object as a prototype.
-
- * API/JSClassRef.cpp:
- (OpaqueJSClassContextData::OpaqueJSClassContextData):
- (OpaqueJSClass::prototype):
- * API/JSClassRef.h: Use WeakGCPtr.
-
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * runtime/WeakGCPtr.h: Added.
- (JSC::WeakGCPtr::WeakGCPtr):
- (JSC::WeakGCPtr::get):
- (JSC::WeakGCPtr::clear):
- (JSC::WeakGCPtr::operator*):
- (JSC::WeakGCPtr::operator->):
- (JSC::WeakGCPtr::operator!):
- (JSC::WeakGCPtr::operator bool):
- (JSC::WeakGCPtr::operator UnspecifiedBoolType):
- (JSC::WeakGCPtr::assign):
- (JSC::::operator):
- (JSC::operator==):
- (JSC::operator!=):
- (JSC::static_pointer_cast):
- (JSC::const_pointer_cast):
- (JSC::getPtr): Added WeakGCPtr to the project.
-
-2009-12-18 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=32720
-
- * JavaScriptCore.exp:
- - Remove exports for UString::append
- * JavaScriptCore.xcodeproj/project.pbxproj:
- - Make StringBuilder a private header (was project).
-
-2009-12-18 Martin Robinson <martin.james.robinson@gmail.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GTK] GRefPtr does not take a reference when assigned a raw pointer
- https://bugs.webkit.org/show_bug.cgi?id=32709
-
- Ensure that when assigning a raw pointer to a GRefPtr, the reference
- count is incremented. Also remove the GRefPtr conversion overload as
- GRefPtr types have necessarily incompatible reference counting.
-
- * wtf/gtk/GRefPtr.h:
- (WTF::GRefPtr::operator=):
-
-2009-12-18 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Clean up the qmake build system to distinguish between trunk builds and package builds
-
- https://bugs.webkit.org/show_bug.cgi?id=32716
-
- * pcre/pcre.pri: Use standalone_package instead of QTDIR_build
-
-2009-12-18 Martin Robinson <martin.james.robinson@gmail.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GTK] Compile warning from line 29 of GRefPtr.cpp
- https://bugs.webkit.org/show_bug.cgi?id=32703
-
- Fix memory leak and compiler warning in GRefPtr GHashTable template
- specialization.
-
- * wtf/gtk/GRefPtr.cpp:
- (WTF::refGPtr):
-
-2009-12-17 Sam Weinig <sam@webkit.org>
-
- Reviewed by Mark Rowe.
-
- Add BUILDING_ON_SNOW_LEOPARD and TARGETING_SNOW_LEOPARD #defines.
-
- * wtf/Platform.h:
-
-2009-12-17 Adam Roben <aroben@apple.com>
-
- Sync JavaScriptCore.vcproj with JavaScriptCore.xcodeproj and the
- source tree
-
- Fixes <http://webkit.org/b/32665>.
-
- Reviewed by Ada Chan.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Moved
- around files and filters so that the structure matches
- JavaScriptCore.xcodeproj and the source tree. A few headers that were
- previously omitted have been added, as well as JSZombie.{cpp,h}.
-
-2009-12-17 Adam Roben <aroben@apple.com>
-
- Remove HeavyProfile and TreeProfile completely
-
- These were mostly removed in r42808, but the empty files were left in
- place.
-
- Fixes <http://webkit.org/b/32664>.
-
- Reviewed by John Sullivan.
-
- * Android.mk:
- * GNUmakefile.am:
- * JavaScriptCore.gypi:
- * JavaScriptCore.pri:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
- * JavaScriptCoreSources.bkl:
- Removed HeavyProfile/TreeProfile source files.
-
- * profiler/HeavyProfile.cpp: Removed.
- * profiler/HeavyProfile.h: Removed.
- * profiler/TreeProfile.cpp: Removed.
- * profiler/TreeProfile.h: Removed.
-
-2009-12-17 Martin Robinson <martin.james.robinson@gmail.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GTK] WebKit GTK needs a wrapper for ref counted glib/gobject structs
- https://bugs.webkit.org/show_bug.cgi?id=21599
-
- Implement GRefPtr, a smart pointer for reference counted GObject types.
-
- * GNUmakefile.am:
- * wtf/gtk/GOwnPtr.cpp:
- (WTF::GDir):
- * wtf/gtk/GRefPtr.h: Added.
- (WTF::):
- (WTF::GRefPtr::GRefPtr):
- (WTF::GRefPtr::~GRefPtr):
- (WTF::GRefPtr::clear):
- (WTF::GRefPtr::get):
- (WTF::GRefPtr::operator*):
- (WTF::GRefPtr::operator->):
- (WTF::GRefPtr::operator!):
- (WTF::GRefPtr::operator UnspecifiedBoolType):
- (WTF::GRefPtr::hashTableDeletedValue):
- (WTF::::operator):
- (WTF::::swap):
- (WTF::swap):
- (WTF::operator==):
- (WTF::operator!=):
- (WTF::static_pointer_cast):
- (WTF::const_pointer_cast):
- (WTF::getPtr):
- (WTF::adoptGRef):
- (WTF::refGPtr):
- (WTF::derefGPtr):
-
-2009-12-17 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Unreviewed. Build fixes for make distcheck.
-
- * GNUmakefile.am:
-
-2009-12-16 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Fixed <rdar://problem/7355025> Interpreter::privateExecute macro generates
- bloated code
-
- This patch cuts Interpreter stack use by about a third.
-
- * bytecode/Opcode.h: Changed Opcode to const void* to work with the
- const static initiliazation we want to do in Interpreter::privateExecute.
-
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::Interpreter): Moved hashtable initialization here to
- avoid polluting Interpreter::privateExecute's stack, and changed it from a
- series of add() calls to one add() call in a loop, to cut down on code size.
-
- (JSC::Interpreter::privateExecute): Changed a series of label computations
- to a copy of a compile-time constant array to cut down on code size.
-
-2009-12-16 Mark Rowe <mrowe@apple.com>
-
- Build fix. Disable debug variants of WebKit frameworks.
-
- * JavaScriptCore.xcodeproj/project.pbxproj:
-
-2009-12-15 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam "r=me" Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=32498
- <rdar://problem/7471495>
- REGRESSION(r51978-r52039): AJAX "Mark This Forum Read" function no longer
- works
-
- Fixed a tyop.
-
- * runtime/Operations.h:
- (JSC::jsAdd): Use the '&&' operator, not the ',' operator.
-
-2009-12-15 Geoffrey Garen <ggaren@apple.com>
-
- Try to fix the windows build: don't export this inlined function.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2009-12-15 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Beth Dakin.
-
- Inlined JSCell's operator new.
-
- 3.7% speedup on bench-allocate-nonretained.js.
-
- * JavaScriptCore.exp:
- * runtime/JSCell.cpp:
- * runtime/JSCell.h:
- (JSC::JSCell::operator new):
-
-2009-12-15 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Removed the number heap, replacing it with a one-item free list for
- numbers, taking advantage of the fact that two number cells fit inside
- the space for one regular cell, and number cells don't require destruction.
-
- SunSpider says 1.6% faster in JSVALUE32 mode (the only mode that
- heap-allocates numbers).
-
- SunSpider says 1.1% faster in JSVALUE32_64 mode. v8 says 0.8% faster
- in JSVALUE32_64 mode. 10% speedup on bench-alloc-nonretained.js. 6%
- speedup on bench-alloc-retained.js.
-
- There's a lot of formulaic change in this patch, but not much substance.
-
- * JavaScriptCore.exp:
- * debugger/Debugger.cpp:
- (JSC::Debugger::recompileAllJSFunctions):
- * runtime/Collector.cpp:
- (JSC::Heap::Heap):
- (JSC::Heap::destroy):
- (JSC::Heap::allocateBlock):
- (JSC::Heap::freeBlock):
- (JSC::Heap::freeBlockPtr):
- (JSC::Heap::freeBlocks):
- (JSC::Heap::recordExtraCost):
- (JSC::Heap::allocate):
- (JSC::Heap::resizeBlocks):
- (JSC::Heap::growBlocks):
- (JSC::Heap::shrinkBlocks):
- (JSC::Heap::markConservatively):
- (JSC::Heap::clearMarkBits):
- (JSC::Heap::markedCells):
- (JSC::Heap::sweep):
- (JSC::Heap::markRoots):
- (JSC::Heap::objectCount):
- (JSC::Heap::addToStatistics):
- (JSC::Heap::statistics):
- (JSC::Heap::isBusy):
- (JSC::Heap::reset):
- (JSC::Heap::collectAllGarbage):
- (JSC::Heap::primaryHeapBegin):
- (JSC::Heap::primaryHeapEnd):
- * runtime/Collector.h:
- (JSC::): Removed all code pertaining to the number heap, and changed all
- heap template functions and classes to non-template functions and classes.
-
- (JSC::Heap::allocateNumber): A new optimization to replace the number
- heap: allocate half-sized number cells in pairs, returning the first
- cell and caching the second cell for the next allocation.
-
- * runtime/CollectorHeapIterator.h:
- (JSC::LiveObjectIterator::LiveObjectIterator):
- (JSC::LiveObjectIterator::operator++):
- (JSC::DeadObjectIterator::DeadObjectIterator):
- (JSC::DeadObjectIterator::operator++):
- (JSC::ObjectIterator::ObjectIterator):
- (JSC::ObjectIterator::operator++):
- * runtime/JSCell.h:
- (JSC::JSCell::isNumber): Removed all code pertaining to the number heap,
- and changed all heap template functions and classes to non-template functions
- and classes.
-
-2009-12-15 Zoltan Horvath <zoltan@webkit.org>
-
- Reviewed by Darin Adler.
-
- Allow custom memory allocation control for WeakGCMap class
- https://bugs.webkit.org/show_bug.cgi?id=32547
-
- Inherits WeakGCMap from FastAllocBase because it is instantiated by
- 'new' at: WebCore/dom/Document.cpp:512.
-
- * runtime/WeakGCMap.h:
-
-2009-12-15 Zoltan Horvath <zoltan@webkit.org>
-
- Reviewed by Darin Adler.
-
- Allow custom memory allocation control for dtoa's P5Node struct
- https://bugs.webkit.org/show_bug.cgi?id=32544
-
- Inherits P5Node struct from Noncopyable because it is instantiated by
- 'new' at wtf/dtoa.cpp:588 and don't need to be copyable.
-
- * wtf/dtoa.cpp:
-
-2009-12-14 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Simon Fraser.
-
- https://bugs.webkit.org/show_bug.cgi?id=32524
- REGRESSION(52084): fast/dom/prototypes.html failing two CSS tests
-
- * wtf/StdLibExtras.h:
- (WTF::bitCount): The original patch put the parentheses in the wrong
- place, completely changing the calculation and making it almost always
- wrong. Moved the parentheses around the '+' operation, like the original
- compiler warning suggested.
-
-2009-12-14 Gabor Loki <loki@inf.u-szeged.hu>
-
- Unreviewed trivial buildfix.
-
- Fix crosses initialization of usedPrimaryBlocks for JSValue32
-
- * runtime/Collector.cpp:
- (JSC::Heap::markConservatively):
-
-2009-12-14 Csaba Osztrogonác <ossy@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- GCC 4.3.x warning fixed. Suggested parantheses added.
- warning: ../../../JavaScriptCore/wtf/StdLibExtras.h:77: warning: suggest parentheses around + or - in operand of &
-
- * wtf/StdLibExtras.h:
- (WTF::bitCount):
-
-2009-12-13 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Changed GC from mark-sweep to mark-allocate.
-
- Added WeakGCMap to keep WebCore blissfully ignorant about objects that
- have become garbage but haven't run their destructors yet.
-
- 1% SunSpider speedup.
- 7.6% v8 speedup (37% splay speedup).
- 17% speedup on bench-alloc-nonretained.js.
- 18% speedup on bench-alloc-retained.js.
-
- * API/JSBase.cpp:
- (JSGarbageCollect):
- * API/JSContextRef.cpp:
- * JavaScriptCore.exp:
- * JavaScriptCore.xcodeproj/project.pbxproj: Updated for renames and new
- files.
-
- * debugger/Debugger.cpp:
- (JSC::Debugger::recompileAllJSFunctions): Updated to use the Collector
- iterator abstraction.
-
- * jsc.cpp:
- (functionGC): Updated for rename.
-
- * runtime/Collector.cpp: Slightly reduced the number of allocations per
- collection, so that small workloads only allocate on collector block,
- rather than two.
-
- (JSC::Heap::Heap): Updated to use the new allocateBlock function.
-
- (JSC::Heap::destroy): Updated to use the new freeBlocks function.
-
- (JSC::Heap::allocateBlock): New function to initialize a block when
- allocating it.
-
- (JSC::Heap::freeBlock): Consolidated the responsibility for running
- destructors into this function.
-
- (JSC::Heap::freeBlocks): Updated to use freeBlock.
-
- (JSC::Heap::recordExtraCost): Sweep the heap in this reporting function,
- so that allocation, which is more common, doesn't have to check extraCost.
-
- (JSC::Heap::heapAllocate): Run destructors right before recycling a
- garbage cell. This has better cache utilization than a separate sweep phase.
-
- (JSC::Heap::resizeBlocks):
- (JSC::Heap::growBlocks):
- (JSC::Heap::shrinkBlocks): New set of functions for managing the size of
- the heap, now that the heap doesn't maintain any information about its
- size.
-
- (JSC::isPointerAligned):
- (JSC::isHalfCellAligned):
- (JSC::isPossibleCell):
- (JSC::isCellAligned):
- (JSC::Heap::markConservatively): Cleaned up this code a bit.
-
- (JSC::Heap::clearMarkBits):
- (JSC::Heap::markedCells): Some helper functions for examining the the mark
- bitmap.
-
- (JSC::Heap::sweep): Simplified this function by using a DeadObjectIterator.
-
- (JSC::Heap::markRoots): Reordered some operations for clarity.
-
- (JSC::Heap::objectCount):
- (JSC::Heap::addToStatistics):
- (JSC::Heap::statistics): Rewrote these functions to calculate an object
- count on demand, since the heap doesn't maintain this information by
- itself.
-
- (JSC::Heap::reset): New function for resetting the heap once we've
- exhausted heap space.
-
- (JSC::Heap::collectAllGarbage): This function matches the old collect()
- behavior, but it's now an uncommon function used only by API.
-
- * runtime/Collector.h:
- (JSC::CollectorBitmap::count):
- (JSC::CollectorBitmap::isEmpty): Added some helper functions for managing
- the collector mark bitmap.
-
- (JSC::Heap::reportExtraMemoryCost): Changed reporting from cell equivalents
- to bytes, so it's easier to understand.
-
- * runtime/CollectorHeapIterator.h:
- (JSC::CollectorHeapIterator::CollectorHeapIterator):
- (JSC::CollectorHeapIterator::operator!=):
- (JSC::CollectorHeapIterator::operator*):
- (JSC::CollectorHeapIterator::advance):
- (JSC::::LiveObjectIterator):
- (JSC::::operator):
- (JSC::::DeadObjectIterator):
- (JSC::::ObjectIterator): New iterators for encapsulating details about
- heap layout, and what's live and dead on the heap.
-
- * runtime/JSArray.cpp:
- (JSC::JSArray::putSlowCase):
- (JSC::JSArray::increaseVectorLength): Delay reporting extra cost until
- we're fully constructed, so the heap mark phase won't visit us in an
- invalid state.
-
- * runtime/JSCell.h:
- (JSC::JSCell::):
- (JSC::JSCell::createDummyStructure):
- (JSC::JSCell::JSCell):
- * runtime/JSGlobalData.cpp:
- (JSC::JSGlobalData::JSGlobalData):
- * runtime/JSGlobalData.h: Added a dummy cell to simplify allocation logic.
-
- * runtime/JSString.h:
- (JSC::jsSubstring): Don't report extra cost for substrings, since they
- share a buffer that's already reported extra cost.
-
- * runtime/Tracing.d:
- * runtime/Tracing.h: Changed these dtrace hooks not to report object
- counts, since they're no longer cheap to compute.
-
- * runtime/UString.h: Updated for renames.
-
- * runtime/WeakGCMap.h: Added.
- (JSC::WeakGCMap::isEmpty):
- (JSC::WeakGCMap::uncheckedGet):
- (JSC::WeakGCMap::uncheckedBegin):
- (JSC::WeakGCMap::uncheckedEnd):
- (JSC::::get):
- (JSC::::take):
- (JSC::::set):
- (JSC::::uncheckedRemove): Mentioned above.
-
- * wtf/StdLibExtras.h:
- (WTF::bitCount): Added a bit population count function, so the heap can
- count live objects to fulfill statistics questions.
-
-The very last cell in the block is not allocated -- should not be marked.
-
-2009-12-13 Geoffrey Garen <ggaren@apple.com>
-
- Windows build fix: Export some new symbols.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2009-12-13 Geoffrey Garen <ggaren@apple.com>
-
- Windows build fix: Removed some old exports.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2009-12-13 Geoffrey Garen <ggaren@apple.com>
-
- Windows build fix: Use unsigned instead of uint32_t to avoid dependencies.
-
- * wtf/StdLibExtras.h:
- (WTF::bitCount):
-
-2009-12-13 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (speculative Windows build fix).
-
- * runtime/JSGlobalObjectFunctions.cpp:
-
-2009-12-13 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=32496
- Switch remaining cases of string construction to use StringBuilder.
- Builds strings using a vector rather than using string append / addition.
-
- * JavaScriptCore.exp:
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * runtime/Executable.cpp:
- (JSC::FunctionExecutable::paramString):
- * runtime/FunctionConstructor.cpp:
- (JSC::constructFunction):
- * runtime/JSGlobalObjectFunctions.cpp:
- (JSC::encode):
- (JSC::decode):
- (JSC::globalFuncEscape):
- (JSC::globalFuncUnescape):
- * runtime/JSONObject.cpp:
- (JSC::Stringifier::stringify):
- (JSC::Stringifier::indent):
- * runtime/JSString.h:
- * runtime/LiteralParser.cpp:
- (JSC::LiteralParser::Lexer::lexString):
- * runtime/NumberPrototype.cpp:
- (JSC::integerPartNoExp):
- (JSC::numberProtoFuncToFixed):
- (JSC::numberProtoFuncToPrecision):
- * runtime/Operations.h:
- (JSC::jsString):
- * runtime/StringPrototype.cpp:
- (JSC::substituteBackreferencesSlow):
- (JSC::substituteBackreferences):
- (JSC::stringProtoFuncConcat):
-
-2009-12-08 Jeremy Moskovich <jeremy@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Add code to allow toggling ATSUI/Core Text rendering at runtime in ComplexTextController.
- https://bugs.webkit.org/show_bug.cgi?id=31802
-
- The goal here is to allow for a zero runtime hit for ports that decide to select
- the API at compile time.
- When both USE(ATSUI) and USE(CORE_TEXT) are true, the API is toggled
- at runtime. Core Text is used for OS Versions >= 10.6.
-
- * wtf/Platform.h: #define USE_CORE_TEXT and USE_ATSUI on Chrome/Mac.
-
-2009-12-11 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Unify codegen for forward and backward variants of branches
- https://bugs.webkit.org/show_bug.cgi?id=32463
-
- * jit/JIT.h:
- (JSC::JIT::emit_op_loop): Implemented in terms of forward variant.
- (JSC::JIT::emit_op_loop_if_true): ditto
- (JSC::JIT::emitSlow_op_loop_if_true): ditto
- (JSC::JIT::emit_op_loop_if_false): ditto
- (JSC::JIT::emitSlow_op_loop_if_false): ditto
- (JSC::JIT::emit_op_loop_if_less): ditto
- (JSC::JIT::emitSlow_op_loop_if_less): ditto
- * jit/JITOpcodes.cpp:
-
-2009-12-11 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Allow WTFs concept of the main thread to differ from pthreads when necessary.
-
- * wtf/ThreadingPthreads.cpp:
- (WTF::initializeThreading):
- (WTF::isMainThread):
- * wtf/mac/MainThreadMac.mm:
- (WTF::initializeMainThreadPlatform):
- (WTF::scheduleDispatchFunctionsOnMainThread):
-
-2009-12-11 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=32454
- Refactor construction of simple strings to avoid string concatenation.
-
- Building strings through concatenation has a memory and performance cost -
- a memory cost since we must over-allocate the buffer to leave space to append
- into, and performance in that the string may still require reallocation (and
- thus copying during construction). Instead move the full construction to
- within a single function call (makeString), so that the arguments' lengths
- can be calculated and an appropriate sized buffer allocated before copying
- any characters.
-
- ~No performance change (~2% progression on date tests).
-
- * bytecode/CodeBlock.cpp:
- (JSC::escapeQuotes):
- (JSC::valueToSourceString):
- (JSC::constantName):
- (JSC::idName):
- (JSC::CodeBlock::registerName):
- (JSC::regexpToSourceString):
- (JSC::regexpName):
- * bytecompiler/NodesCodegen.cpp:
- (JSC::substitute):
- * profiler/Profiler.cpp:
- (JSC::Profiler::createCallIdentifier):
- * runtime/DateConstructor.cpp:
- (JSC::callDate):
- * runtime/DateConversion.cpp:
- (JSC::formatDate):
- (JSC::formatDateUTCVariant):
- (JSC::formatTime):
- (JSC::formatTimeUTC):
- * runtime/DateConversion.h:
- (JSC::):
- * runtime/DatePrototype.cpp:
- (JSC::dateProtoFuncToString):
- (JSC::dateProtoFuncToUTCString):
- (JSC::dateProtoFuncToDateString):
- (JSC::dateProtoFuncToTimeString):
- (JSC::dateProtoFuncToGMTString):
- * runtime/ErrorPrototype.cpp:
- (JSC::errorProtoFuncToString):
- * runtime/ExceptionHelpers.cpp:
- (JSC::createUndefinedVariableError):
- (JSC::createErrorMessage):
- (JSC::createInvalidParamError):
- * runtime/FunctionPrototype.cpp:
- (JSC::insertSemicolonIfNeeded):
- (JSC::functionProtoFuncToString):
- * runtime/ObjectPrototype.cpp:
- (JSC::objectProtoFuncToString):
- * runtime/RegExpConstructor.cpp:
- (JSC::constructRegExp):
- * runtime/RegExpObject.cpp:
- (JSC::RegExpObject::match):
- * runtime/RegExpPrototype.cpp:
- (JSC::regExpProtoFuncCompile):
- (JSC::regExpProtoFuncToString):
- * runtime/StringPrototype.cpp:
- (JSC::stringProtoFuncBig):
- (JSC::stringProtoFuncSmall):
- (JSC::stringProtoFuncBlink):
- (JSC::stringProtoFuncBold):
- (JSC::stringProtoFuncFixed):
- (JSC::stringProtoFuncItalics):
- (JSC::stringProtoFuncStrike):
- (JSC::stringProtoFuncSub):
- (JSC::stringProtoFuncSup):
- (JSC::stringProtoFuncFontcolor):
- (JSC::stringProtoFuncFontsize):
- (JSC::stringProtoFuncAnchor):
- * runtime/UString.h:
- (JSC::):
- (JSC::makeString):
-
-2009-12-10 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=32400
- Switch remaining cases of string addition to use ropes.
-
- Re-landing r51975 - added toPrimitiveString method,
- performs toPrimitive then subsequent toString operations.
-
- ~1% progression on Sunspidey.
-
- * jit/JITStubs.cpp:
- (JSC::DEFINE_STUB_FUNCTION):
- * runtime/JSString.h:
- (JSC::JSString::JSString):
- (JSC::JSString::appendStringInConstruct):
- * runtime/Operations.cpp:
- (JSC::jsAddSlowCase):
- * runtime/Operations.h:
- (JSC::jsString):
- (JSC::jsAdd):
-
-2009-12-11 Adam Roben <aroben@apple.com>
-
- Windows build fix
-
- * JavaScriptCore.vcproj/jsc/jscCommon.vsprops: Added
- $(WebKitOutputDir)/include/private to the include path.
-
-2009-12-11 Adam Roben <aroben@apple.com>
-
- Move QuartzCorePresent.h to include/private
-
- This fixes other projects that use wtf/Platform.h
-
- Rubber-stamped by Steve Falkenburg.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Let VS do its thang.
- * JavaScriptCore.vcproj/JavaScriptCore/build-generated-files.sh: Write
- QuartzCorePresent.h to $(WebKitOutputDir)/include/private.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
- * JavaScriptCore.vcproj/WTF/WTFCommon.vsprops:
- Added $(WebKitOutputDir)/include/private to the include path.
-
-2009-12-11 Adam Roben <aroben@apple.com>
-
- Fix clean builds and everything rebuilding on every build
-
- Reviewed by Sam Weinig.
-
- * JavaScriptCore.vcproj/JavaScriptCore/build-generated-files.sh: Don't
- write out QuartzCorePresent.h if it exists but is older than
- QuartzCore.h. Also, create the directory we write QuartzCorePresent.h
- into first.
-
-2009-12-11 Adam Roben <aroben@apple.com>
-
- Windows build fix for systems with spaces in their paths
-
- * JavaScriptCore.vcproj/JavaScriptCore/build-generated-files.sh: Quote some paths.
-
-2009-12-11 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Adam Roben.
-
- Add check for presence of QuartzCore headers
- https://bugs.webkit.org/show_bug.cgi?id=31856
-
- The script now checks for the presence of QuartzCore.h. If present
- it will turn on ACCELERATED_COMPOSITING and 3D_RENDERING to enable
- HW compositing on Windows. The script writes QuartzCorePresent.h to
- the build directory which has a define telling whether QuartzCore is
- present.
-
- * JavaScriptCore.vcproj/JavaScriptCore/build-generated-files.sh:
- * wtf/Platform.h:
-
-2009-12-11 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Darin Adler.
-
- Fix a problem that JSC::gregorianDateTimeToMS() returns a negative
- value for a huge year value.
- https://bugs.webkit.org/show_bug.cgi?id=32304
-
- * wtf/DateMath.cpp:
- (WTF::dateToDaysFrom1970): Renamed from dateToDayInYear, and changed the return type to double.
- (WTF::calculateDSTOffset): Follow the dateToDaysFrom1970() change.
- (WTF::timeClip): Use maxECMAScriptTime.
- (JSC::gregorianDateTimeToMS): Follow the dateToDaysFrom1970() change.
-
-2009-12-10 Adam Barth <abarth@webkit.org>
-
- No review, rolling out r51975.
- http://trac.webkit.org/changeset/51975
-
- * jit/JITStubs.cpp:
- (JSC::DEFINE_STUB_FUNCTION):
- * runtime/JSString.h:
- (JSC::JSString::JSString):
- (JSC::JSString::appendStringInConstruct):
- * runtime/Operations.cpp:
- (JSC::jsAddSlowCase):
- * runtime/Operations.h:
- (JSC::jsString):
- (JSC::jsAdd):
-
-2009-12-10 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Incorrect caching of prototype lookup with dictionary base
- https://bugs.webkit.org/show_bug.cgi?id=32402
-
- Make sure we don't add cached prototype lookup to the proto_list
- lookup chain if the top level object is a dictionary.
-
- * jit/JITStubs.cpp:
- (JSC::JITThunks::tryCacheGetByID):
-
-2009-12-10 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=32400
- Switch remaining cases of string addition to use ropes.
-
- ~1% progression on Sunspidey.
-
- * jit/JITStubs.cpp:
- (JSC::DEFINE_STUB_FUNCTION):
- * runtime/JSString.h:
- (JSC::JSString::JSString):
- (JSC::JSString::appendStringInConstruct):
- * runtime/Operations.cpp:
- (JSC::jsAddSlowCase):
- * runtime/Operations.h:
- (JSC::jsString):
- (JSC::jsAdd):
-
-2009-12-10 Kent Hansen <kent.hansen@nokia.com>
-
- Reviewed by Geoffrey Garen.
-
- Remove JSObject::getPropertyAttributes() and all usage of it.
- https://bugs.webkit.org/show_bug.cgi?id=31933
-
- getOwnPropertyDescriptor() should be used instead.
-
- * JavaScriptCore.exp:
- * JavaScriptCore.order:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * debugger/DebuggerActivation.cpp:
- (JSC::DebuggerActivation::getOwnPropertyDescriptor):
- * debugger/DebuggerActivation.h:
- * runtime/JSObject.cpp:
- (JSC::JSObject::propertyIsEnumerable):
- * runtime/JSObject.h:
- * runtime/JSVariableObject.cpp:
- * runtime/JSVariableObject.h:
-
-2009-12-10 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt & Mark Rowe.
-
- https://bugs.webkit.org/show_bug.cgi?id=32367
- Add support for short Ropes (up to 3 entries) inline within JSString.
- (rather than externally allocating an object to hold the rope).
- Switch jsAdd of (JSString* + JSString*) to now make use of Ropes.
-
- ~1% progression on Sunspidey.
-
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::privateExecute):
- * jit/JITOpcodes.cpp:
- (JSC::JIT::privateCompileCTIMachineTrampolines):
- * jit/JITStubs.cpp:
- (JSC::DEFINE_STUB_FUNCTION):
- * runtime/JSString.cpp:
- (JSC::JSString::resolveRope):
- (JSC::JSString::toBoolean):
- (JSC::JSString::getStringPropertyDescriptor):
- * runtime/JSString.h:
- (JSC::JSString::Rope::Fiber::deref):
- (JSC::JSString::Rope::Fiber::ref):
- (JSC::JSString::Rope::Fiber::refAndGetLength):
- (JSC::JSString::Rope::append):
- (JSC::JSString::JSString):
- (JSC::JSString::~JSString):
- (JSC::JSString::value):
- (JSC::JSString::tryGetValue):
- (JSC::JSString::length):
- (JSC::JSString::canGetIndex):
- (JSC::JSString::appendStringInConstruct):
- (JSC::JSString::appendValueInConstructAndIncrementLength):
- (JSC::JSString::isRope):
- (JSC::JSString::string):
- (JSC::JSString::ropeLength):
- (JSC::JSString::getStringPropertySlot):
- * runtime/Operations.h:
- (JSC::jsString):
- (JSC::jsAdd):
- (JSC::resolveBase):
-
-2009-12-09 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Geoffrey Garen.
-
- Fix three more things found by compiling with clang++.
-
- * runtime/Structure.h:
- (JSC::StructureTransitionTable::reifySingleTransition):
- Add the 'std' qualifier to the call to make_pair.
-
- * wtf/DateMath.cpp:
- (WTF::initializeDates):
- Incrementing a bool is deprecated according to the C++ specification.
-
- * wtf/PtrAndFlags.h:
- (WTF::PtrAndFlags::PtrAndFlags):
- Name lookup should not be done in dependent bases, so explicitly qualify the call to set.
-
-2009-12-09 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Google reader gets stuck in the "Loading..." state and does not complete
- https://bugs.webkit.org/show_bug.cgi?id=32256
- <rdar://problem/7456388>
-
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emitSlow_op_jless): Fix some backward branches.
-
-2009-12-09 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=32228
- Make destruction of ropes non-recursive to prevent stack exhaustion.
- Also, pass a UString& into initializeFiber rather than a Ustring::Rep*,
- since the Rep is not being ref counted this could result in usage of a
- Rep with refcount zero (where the Rep comes from a temporary UString
- returned from a function).
-
- * runtime/JSString.cpp:
- (JSC::JSString::Rope::destructNonRecursive):
- (JSC::JSString::Rope::~Rope):
- * runtime/JSString.h:
- (JSC::JSString::Rope::initializeFiber):
- * runtime/Operations.h:
- (JSC::concatenateStrings):
-
-2009-12-09 Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=31930
-
- Update to r51457. ASSERTs changed to COMPILE_ASSERTs.
- The speedup is 25%.
-
- * runtime/JSGlobalData.cpp:
- (JSC::VPtrSet::VPtrSet):
-
-2009-12-09 Steve Block <steveblock@google.com>
-
- Reviewed by Adam Barth.
-
- Updates Android Makefiles with latest additions.
- https://bugs.webkit.org/show_bug.cgi?id=32278
-
- * Android.mk: Modified.
- * Android.v8.wtf.mk: Modified.
-
-2009-12-09 Sam Weinig <sam@webkit.org>
-
- Reviewed by Gavin Barraclough.
-
- Fix a bug found while trying to compile JavaScriptCore with clang++.
-
- * yarr/RegexPattern.h:
- (JSC::Yarr::PatternTerm::PatternTerm): Don't self assign here. Use false instead.
-
-2009-12-09 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Attempt to fix the Windows build.
-
- * wtf/FastMalloc.h:
-
-2009-12-09 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fix some things found while trying to compile JavaScriptCore with clang++.
-
- * wtf/FastMalloc.h:
- Add correct exception specifications for the allocation/deallocation operators.
-
- * wtf/Vector.h:
- * wtf/VectorTraits.h:
- Fix a bunch of struct/class mismatches.
-
-2009-12-08 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin Adler.
-
- move code generation portions of Nodes.cpp to bytecompiler directory
- https://bugs.webkit.org/show_bug.cgi?id=32284
-
- * bytecompiler/NodesCodegen.cpp: Copied from parser/Nodes.cpp. Removed parts that
- are not about codegen.
- * parser/Nodes.cpp: Removed everything that is about codegen.
-
- Update build systems:
-
- * Android.mk:
- * GNUmakefile.am:
- * JavaScriptCore.gypi:
- * JavaScriptCore.pri:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * JavaScriptCoreSources.bkl:
-
-2009-12-08 Kevin Watters <kevinwatters@gmail.com>
-
- Reviewed by Kevin Ollivier.
-
- [wx] Mac plugins support.
-
- https://bugs.webkit.org/show_bug.cgi?id=32236
-
- * wtf/Platform.h:
-
-2009-12-08 Dmitry Titov <dimich@chromium.org>
-
- Rubber-stamped by David Levin.
-
- Revert and reopen "Add asserts to RefCounted to make sure ref/deref happens on the right thread."
- It may have caused massive increase of reported leaks on the bots.
- https://bugs.webkit.org/show_bug.cgi?id=31639
-
- * GNUmakefile.am:
- * JavaScriptCore.gypi:
- * JavaScriptCore.vcproj/WTF/WTF.vcproj:
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * runtime/Structure.cpp:
- (JSC::Structure::Structure):
- * wtf/RefCounted.h:
- (WTF::RefCountedBase::ref):
- (WTF::RefCountedBase::hasOneRef):
- (WTF::RefCountedBase::refCount):
- (WTF::RefCountedBase::derefBase):
- * wtf/ThreadVerifier.h: Removed.
-
-2009-12-08 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Darin Adler.
-
- Make WebKit build correctly on FreeBSD, IA64, and Alpha.
- Based on work by Petr Salinger <Petr.Salinger@seznam.cz>,
- and Colin Watson <cjwatson@ubuntu.com>.
-
- * wtf/Platform.h:
-
-2009-12-08 Dmitry Titov <dimich@chromium.org>
-
- Reviewed by Darin Adler.
-
- Add asserts to RefCounted to make sure ref/deref happens on the right thread.
- https://bugs.webkit.org/show_bug.cgi?id=31639
-
- * runtime/Structure.cpp:
- (JSC::Structure::Structure): Disable thread verification on this class since it uses addressOfCount().
- * wtf/RefCounted.h:
- (WTF::RefCountedBase::ref): Add ASSERT.
- (WTF::RefCountedBase::hasOneRef): Ditto.
- (WTF::RefCountedBase::refCount): Ditto.
- (WTF::RefCountedBase::derefBase): Ditto.
- (WTF::RefCountedBase::disableThreadVerification): delegate to ThreadVerifier method.
- * wtf/ThreadVerifier.h: Added.
- (WTF::ThreadVerifier::ThreadVerifier): New Debug-only class to verify that ref/deref of RefCounted is done on the same thread.
- (WTF::ThreadVerifier::activate): Activates checks. Called when ref count becomes above 2.
- (WTF::ThreadVerifier::deactivate): Deactivates checks. Called when ref count drops below 2.
- (WTF::ThreadVerifier::disableThreadVerification): used on objects that should not be checked (StringImpl etc)
- (WTF::ThreadVerifier::verifyThread):
- * GNUmakefile.am: Add ThreadVerifier.h to the build file.
- * JavaScriptCore.gypi: Ditto.
- * JavaScriptCore.vcproj/WTF/WTF.vcproj: Ditto.
- * JavaScriptCore.xcodeproj/project.pbxproj: Ditto.
-
-2009-12-08 Steve Block <steveblock@google.com>
-
- Reviewed by Adam Barth.
-
- [Android] Adds Makefiles for Android port.
- https://bugs.webkit.org/show_bug.cgi?id=31325
-
- * Android.mk: Added.
- * Android.v8.wtf.mk: Added.
-
-2009-12-07 Dmitry Titov <dimich@chromium.org>
-
- Rubber-stamped by Darin Adler.
-
- Remove ENABLE_SHARED_SCRIPT flags
- https://bugs.webkit.org/show_bug.cgi?id=32245
- This patch was obtained by "git revert" command and then un-reverting of ChangeLog files.
-
- * Configurations/FeatureDefines.xcconfig:
- * wtf/Platform.h:
-
-2009-12-07 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (Windows build fixage part I).
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2009-12-05 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=32184
- Handle out-of-memory conditions with JSC Ropes with a JS exception, rather than crashing.
- Switch from using fastMalloc to tryFastMalloc, pass an ExecState to record the exception on.
-
- * API/JSCallbackObjectFunctions.h:
- (JSC::::toString):
- * API/JSValueRef.cpp:
- (JSValueIsStrictEqual):
- * JavaScriptCore.exp:
- * bytecompiler/BytecodeGenerator.cpp:
- (JSC::BytecodeGenerator::emitEqualityOp):
- * debugger/DebuggerCallFrame.cpp:
- (JSC::DebuggerCallFrame::functionName):
- (JSC::DebuggerCallFrame::calculatedFunctionName):
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::callEval):
- (JSC::Interpreter::privateExecute):
- * jit/JITStubs.cpp:
- (JSC::DEFINE_STUB_FUNCTION):
- * profiler/ProfileGenerator.cpp:
- (JSC::ProfileGenerator::addParentForConsoleStart):
- * profiler/Profiler.cpp:
- (JSC::Profiler::willExecute):
- (JSC::Profiler::didExecute):
- (JSC::Profiler::createCallIdentifier):
- (JSC::createCallIdentifierFromFunctionImp):
- * profiler/Profiler.h:
- * runtime/ArrayPrototype.cpp:
+ (JSC::arrayProtoFuncToLocaleString):
+ (JSC::arrayProtoFuncJoin):
+ (JSC::arrayProtoFuncConcat):
+ (JSC::arrayProtoFuncPop):
+ (JSC::arrayProtoFuncPush):
+ (JSC::arrayProtoFuncReverse):
+ (JSC::arrayProtoFuncShift):
+ (JSC::arrayProtoFuncSlice):
+ (JSC::arrayProtoFuncSort):
+ (JSC::arrayProtoFuncSplice):
+ (JSC::arrayProtoFuncUnShift):
+ (JSC::arrayProtoFuncFilter):
+ (JSC::arrayProtoFuncMap):
+ (JSC::arrayProtoFuncEvery):
+ (JSC::arrayProtoFuncForEach):
+ (JSC::arrayProtoFuncSome):
+ (JSC::arrayProtoFuncReduce):
+ (JSC::arrayProtoFuncReduceRight):
(JSC::arrayProtoFuncIndexOf):
(JSC::arrayProtoFuncLastIndexOf):
+ * runtime/BooleanConstructor.cpp:
+ (JSC::callBooleanConstructor):
+ * runtime/BooleanPrototype.cpp:
+ (JSC::booleanProtoFuncToString):
+ (JSC::booleanProtoFuncValueOf):
* runtime/DateConstructor.cpp:
- (JSC::constructDate):
- * runtime/FunctionPrototype.cpp:
- (JSC::functionProtoFuncToString):
- * runtime/InternalFunction.cpp:
- (JSC::InternalFunction::name):
- (JSC::InternalFunction::displayName):
- (JSC::InternalFunction::calculatedDisplayName):
- * runtime/InternalFunction.h:
- * runtime/JSCell.cpp:
- (JSC::JSCell::getString):
- * runtime/JSCell.h:
- (JSC::JSValue::getString):
- * runtime/JSONObject.cpp:
- (JSC::gap):
- (JSC::Stringifier::Stringifier):
- (JSC::Stringifier::appendStringifiedValue):
- * runtime/JSObject.cpp:
- (JSC::JSObject::putDirectFunction):
- (JSC::JSObject::putDirectFunctionWithoutTransition):
- (JSC::JSObject::defineOwnProperty):
- * runtime/JSObject.h:
- * runtime/JSPropertyNameIterator.cpp:
- (JSC::JSPropertyNameIterator::get):
- * runtime/JSString.cpp:
- (JSC::JSString::Rope::~Rope):
- (JSC::JSString::resolveRope):
- (JSC::JSString::getPrimitiveNumber):
- (JSC::JSString::toNumber):
- (JSC::JSString::toString):
- (JSC::JSString::toThisString):
- (JSC::JSString::getStringPropertyDescriptor):
- * runtime/JSString.h:
- (JSC::JSString::Rope::createOrNull):
- (JSC::JSString::Rope::operator new):
- (JSC::JSString::value):
- (JSC::JSString::tryGetValue):
- (JSC::JSString::getIndex):
- (JSC::JSString::getStringPropertySlot):
- (JSC::JSValue::toString):
- * runtime/JSValue.h:
- * runtime/NativeErrorConstructor.cpp:
- (JSC::NativeErrorConstructor::NativeErrorConstructor):
- * runtime/Operations.cpp:
- (JSC::JSValue::strictEqualSlowCase):
- * runtime/Operations.h:
- (JSC::JSValue::equalSlowCaseInline):
- (JSC::JSValue::strictEqualSlowCaseInline):
- (JSC::JSValue::strictEqual):
- (JSC::jsLess):
- (JSC::jsLessEq):
- (JSC::jsAdd):
- (JSC::concatenateStrings):
- * runtime/PropertyDescriptor.cpp:
- (JSC::PropertyDescriptor::equalTo):
- * runtime/PropertyDescriptor.h:
- * runtime/StringPrototype.cpp:
- (JSC::stringProtoFuncReplace):
- (JSC::stringProtoFuncToLowerCase):
- (JSC::stringProtoFuncToUpperCase):
-
-2009-12-07 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Reviewed by Holger Freyther.
-
- Turn on (SVG) Filters support, by default.
- https://bugs.webkit.org/show_bug.cgi?id=32224
-
- * Configurations/FeatureDefines.xcconfig: Enable FILTERS build flag.
-
-2009-12-07 Steve Falkenburg <sfalken@apple.com>
-
- Build fix. Be flexible about which version of ICU is used on Windows.
-
- * JavaScriptCore.vcproj/jsc/jscCommon.vsprops: Add optional xcopy commands to copy ICU 4.2.
-
-2009-12-07 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Oliver Hunt.
-
- op_loop_if_less JIT codegen is broken for 64-bit
- https://bugs.webkit.org/show_bug.cgi?id=32221
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_loop_if_false): Fix codegen in this version - test was backwards.
-
-2009-12-07 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Object.create fails if properties on the descriptor are getters
- https://bugs.webkit.org/show_bug.cgi?id=32219
-
- Correctly initialise the PropertySlots with the descriptor object.
-
- * runtime/ObjectConstructor.cpp:
- (JSC::toPropertyDescriptor):
-
-2009-12-06 Maciej Stachowiak <mjs@apple.com>
-
- Not reviewed, build fix.
-
- Actually tested 64-bit *and* 32-bit build this time.
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_loop_if_false):
-
-2009-12-06 Maciej Stachowiak <mjs@apple.com>
-
- Not reviewed, build fix.
-
- Really really fix 64-bit build for prior patch (actually tested this time).
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_loop_if_false):
- (JSC::JIT::emitSlow_op_loop_if_false):
-
-2009-12-06 Maciej Stachowiak <mjs@apple.com>
-
- Not reviewed, build fix.
-
- Really fix 64-bit build for prior patch.
-
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emitSlow_op_jless):
-
-2009-12-06 Maciej Stachowiak <mjs@apple.com>
-
- Not reviewed, build fix.
-
- Fix 64-bit build for prior patch.
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emitSlow_op_loop_if_less):
-
-2009-12-05 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Oliver Hunt.
-
- conway benchmark spends half it's time in op_less (jump fusion fails)
- https://bugs.webkit.org/show_bug.cgi?id=32190
-
- <1% speedup on SunSpider and V8
- 2x speedup on "conway" benchmark
-
- Two optimizations:
- 1) Improve codegen for logical operators &&, || and ! in a condition context
-
- When generating code for combinations of &&, || and !, in a
- condition context (i.e. in an if statement or loop condition), we
- used to produce a value, and then separately jump based on its
- truthiness. Now we pass the false and true targets in, and let the
- logical operators generate jumps directly. This helps in four
- ways:
-
- a) Individual clauses of a short-circuit logical operator can now
- jump directly to the then or else clause of an if statement (or to
- the top or exit of a loop) instead of jumping to a jump.
-
- b) It used to be that jump fusion with the condition of the first
- clause of a logical operator was inhibited, because the register
- was ref'd to be used later, in the actual condition jump; this no
- longer happens since a jump straight to the final target is
- generated directly.
-
- c) It used to be that jump fusion with the condition of the second
- clause of a logical operator was inhibited, because there was a
- jump target right after the second clause and before the actual
- condition jump. But now it's no longer necessary for the first
- clause to jump there so jump fusion is not blocked.
-
- d) We avoid generating excess mov statements in some cases.
-
- As a concrete example this source:
-
- if (!((x < q && y < q) || (t < q && z < q))) {
- // ...
- }
-
- Used to generate this bytecode:
-
- [ 34] less r1, r-15, r-19
- [ 38] jfalse r1, 7(->45)
- [ 41] less r1, r-16, r-19
- [ 45] jtrue r1, 14(->59)
- [ 48] less r1, r-17, r-19
- [ 52] jfalse r1, 7(->59)
- [ 55] less r1, r-18, r-19
- [ 59] jtrue r1, 17(->76)
-
- And now generates this bytecode (also taking advantage of the second optimization below):
-
- [ 34] jnless r-15, r-19, 8(->42)
- [ 38] jless r-16, r-19, 26(->64)
- [ 42] jnless r-17, r-19, 8(->50)
- [ 46] jless r-18, r-19, 18(->64)
-
- Note the jump fusion and the fact that there's less jump
- indirection - three of the four jumps go straight to the target
- clause instead of indirecting through another jump.
-
- 2) Implement jless opcode to take advantage of the above, since we'll now often generate
- a less followed by a jtrue where fusion is not forbidden.
-
- * parser/Nodes.h:
- (JSC::ExpressionNode::hasConditionContextCodegen): Helper function to determine
- whether a node supports special conditional codegen. Return false as this is the default.
- (JSC::ExpressionNode::emitBytecodeInConditionContext): Assert not reached - only really
- defined for nodes that do have conditional codegen.
- (JSC::UnaryOpNode::expr): Add const version.
- (JSC::LogicalNotNode::hasConditionContextCodegen): Returne true only if subexpression
- supports it.
- (JSC::LogicalOpNode::hasConditionContextCodegen): Return true.
- * parser/Nodes.cpp:
- (JSC::LogicalNotNode::emitBytecodeInConditionContext): Implemented - just swap
- the true and false targets for the child node.
- (JSC::LogicalOpNode::emitBytecodeInConditionContext): Implemented - handle jumps
- directly, improving codegen quality. Also handles further nested conditional codegen.
- (JSC::ConditionalNode::emitBytecode): Use condition context codegen when available.
- (JSC::IfNode::emitBytecode): ditto
- (JSC::IfElseNode::emitBytecode): ditto
- (JSC::DoWhileNode::emitBytecode): ditto
- (JSC::WhileNode::emitBytecode): ditto
- (JSC::ForNode::emitBytecode): ditto
-
- * bytecode/Opcode.h:
- - Added loop_if_false opcode - needed now that falsey jumps can be backwards.
- - Added jless opcode to take advantage of new fusion opportunities.
- * bytecode/CodeBlock.cpp:
- (JSC::CodeBlock::dump): Handle above.
- * bytecompiler/BytecodeGenerator.cpp:
- (JSC::BytecodeGenerator::emitJumpIfTrue): Add peephole for less + jtrue ==> jless.
- (JSC::BytecodeGenerator::emitJumpIfFalse): Add handling of backwrds falsey jumps.
- * bytecompiler/BytecodeGenerator.h:
- (JSC::BytecodeGenerator::emitNodeInConditionContext): Wrapper to handle tracking of
- overly deep expressions etc.
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::privateExecute): Implement the two new opcodes (loop_if_false, jless).
- * jit/JIT.cpp:
- (JSC::JIT::privateCompileMainPass): Implement JIT support for the two new opcodes.
- (JSC::JIT::privateCompileSlowCases): ditto
- * jit/JIT.h:
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_jless):
- (JSC::JIT::emitSlow_op_jless): ditto
- (JSC::JIT::emitBinaryDoubleOp): ditto
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emitSlow_op_loop_if_less): ditto
- (JSC::JIT::emit_op_loop_if_false): ditto
- (JSC::JIT::emitSlow_op_loop_if_false): ditto
- * jit/JITStubs.cpp:
- * jit/JITStubs.h:
- (JSC::):
-
-2009-12-04 Kent Hansen <kent.hansen@nokia.com>
-
- Reviewed by Darin Adler.
-
- JavaScript delete operator should return false for string properties
- https://bugs.webkit.org/show_bug.cgi?id=32012
-
- * runtime/StringObject.cpp:
- (JSC::StringObject::deleteProperty):
-
-2009-12-03 Drew Wilson <atwilson@chromium.org>
-
- Rolled back r51633 because it causes a perf regression in Chromium.
-
- * wtf/Platform.h:
-
-2009-12-03 Gavin Barraclough <barraclough@apple.com>
-
- Try and fix the Windows build.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: Export a symbol that should be exported.
-
-2009-12-03 Mark Rowe <mrowe@apple.com>
-
- Try and fix the Mac build.
-
- * JavaScriptCore.exp: Export a symbol that should be exported.
-
-2009-12-03 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- REGRESSION(4.0.3-48777): Crash in JSC::ExecState::propertyNames() (Debug-only?)
- https://bugs.webkit.org/show_bug.cgi?id=32133
-
- Work around odd GCC-ism and correct the scopechain for use by
- calls made while a cachedcall is active on the callstack.
-
- * interpreter/CachedCall.h:
- (JSC::CachedCall::newCallFrame):
- * runtime/JSArray.cpp:
- (JSC::AVLTreeAbstractorForArrayCompare::compare_key_key):
- * runtime/StringPrototype.cpp:
- (JSC::stringProtoFuncReplace):
-
-2009-12-03 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver "Brraaaaiiiinnnnnzzzzzzzz" Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=32136
- Add a rope representation to JSString. Presently JSString always holds its data in UString form.
- Instead, allow the result of a string concatenation to be represented in a tree form - with a
- variable sized, reference-counted rope node retaining a set of UString::Reps (or other rope nopes).
-
- Strings must still currently be resolved down to a flat UString representation before being used,
- but by holding the string in a rope representation during construction we can avoid copying data
- until we know the final size of the string.
-
- ~2% progression on SunSpider (~25% on date-format-xparb, ~20% on string-validate-input).
-
- * JavaScriptCore.exp:
-
- - Update exports.
-
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::privateExecute):
-
- - Make use of new JSString::length() method to avoid prematurely resolving ropes.
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::privateCompileCTIMachineTrampolines):
-
- - Switch the string length trampoline to read the length directly from JSString::m_length,
- rather than from the JSString's UString::Rep's 'len' property.
-
- * jit/JITStubs.cpp:
- (JSC::DEFINE_STUB_FUNCTION):
-
- - Modify op_add such that addition of two strings, where either or both strings are already
- in rope representation, produces a rope as a result.
-
- * runtime/JSString.cpp:
- (JSC::JSString::Rope::~Rope):
- (JSC::copyChars):
- (JSC::JSString::resolveRope):
- (JSC::JSString::getPrimitiveNumber):
- (JSC::JSString::toBoolean):
- (JSC::JSString::toNumber):
- (JSC::JSString::toString):
- (JSC::JSString::toThisString):
- (JSC::JSString::getStringPropertyDescriptor):
- * runtime/JSString.h:
- (JSC::JSString::Rope::Fiber::Fiber):
- (JSC::JSString::Rope::Fiber::destroy):
- (JSC::JSString::Rope::Fiber::isRope):
- (JSC::JSString::Rope::Fiber::rope):
- (JSC::JSString::Rope::Fiber::string):
- (JSC::JSString::Rope::create):
- (JSC::JSString::Rope::initializeFiber):
- (JSC::JSString::Rope::ropeLength):
- (JSC::JSString::Rope::stringLength):
- (JSC::JSString::Rope::fibers):
- (JSC::JSString::Rope::Rope):
- (JSC::JSString::Rope::operator new):
- (JSC::JSString::JSString):
- (JSC::JSString::value):
- (JSC::JSString::length):
- (JSC::JSString::isRope):
- (JSC::JSString::rope):
- (JSC::JSString::string):
- (JSC::JSString::canGetIndex):
- (JSC::jsSingleCharacterSubstring):
- (JSC::JSString::getIndex):
- (JSC::jsSubstring):
- (JSC::JSString::getStringPropertySlot):
-
- - Add rope form.
-
- * runtime/Operations.h:
- (JSC::jsAdd):
- (JSC::concatenateStrings):
-
- - Update string concatenation, and addition of ropes, to produce ropes.
-
- * runtime/StringObject.cpp:
- (JSC::StringObject::getOwnPropertyNames):
-
- - Make use of new JSString::length() method to avoid prematurely resolving ropes.
-
-2009-11-23 Jeremy Moskovich <jeremy@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Switch Chrome/Mac to use Core Text APIs rather than ATSUI APIs.
- https://bugs.webkit.org/show_bug.cgi?id=31802
-
- No test since this is already covered by existing pixel tests.
-
- * wtf/Platform.h: #define USE_CORE_TEXT for Chrome/Mac.
-
-2009-12-02 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Add files missed in prior patch.
-
- * runtime/JSZombie.cpp:
- (JSC::):
- (JSC::JSZombie::leakedZombieStructure):
- * runtime/JSZombie.h: Added.
- (JSC::JSZombie::JSZombie):
- (JSC::JSZombie::isZombie):
- (JSC::JSZombie::classInfo):
- (JSC::JSZombie::isGetterSetter):
- (JSC::JSZombie::isAPIValueWrapper):
- (JSC::JSZombie::isPropertyNameIterator):
- (JSC::JSZombie::getCallData):
- (JSC::JSZombie::getConstructData):
- (JSC::JSZombie::getUInt32):
- (JSC::JSZombie::toPrimitive):
- (JSC::JSZombie::getPrimitiveNumber):
- (JSC::JSZombie::toBoolean):
- (JSC::JSZombie::toNumber):
- (JSC::JSZombie::toString):
- (JSC::JSZombie::toObject):
- (JSC::JSZombie::markChildren):
- (JSC::JSZombie::put):
- (JSC::JSZombie::deleteProperty):
- (JSC::JSZombie::toThisObject):
- (JSC::JSZombie::toThisString):
- (JSC::JSZombie::toThisJSString):
- (JSC::JSZombie::getJSNumber):
- (JSC::JSZombie::getOwnPropertySlot):
-
-2009-12-02 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Add zombies to JSC
- https://bugs.webkit.org/show_bug.cgi?id=32103
-
- Add a compile time flag to make the JSC collector replace "unreachable"
- objects with zombie objects. The zombie object is a JSCell subclass that
- ASSERTs on any attempt to use the JSCell methods. In addition there are
- a number of additional assertions in bottleneck code to catch zombie usage
- as quickly as possible.
-
- Grrr. Argh. Brains.
-
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * interpreter/Register.h:
- (JSC::Register::Register):
- * runtime/ArgList.h:
- (JSC::MarkedArgumentBuffer::append):
- (JSC::ArgList::ArgList):
- * runtime/Collector.cpp:
- (JSC::Heap::destroy):
- (JSC::Heap::sweep):
- * runtime/Collector.h:
- * runtime/JSCell.h:
- (JSC::JSCell::isZombie):
- (JSC::JSValue::isZombie):
- * runtime/JSValue.h:
- (JSC::JSValue::decode):
- (JSC::JSValue::JSValue):
- * wtf/Platform.h:
-
-2009-12-01 Jens Alfke <snej@chromium.org>
-
- Reviewed by Darin Adler.
-
- Added variants of find/contains/add that allow a foreign key type to be used.
- This will allow AtomicString-keyed maps to be queried by C string without
- having to create a temporary AtomicString (see HTTPHeaderMap.)
- The code for this is adapted from the equivalent in HashSet.h.
-
- * wtf/HashMap.h:
- (WTF::HashMap::find):
- (WTF::HashMap::contains):
- (WTF::HashMap::add):
- * wtf/HashSet.h: Changed "method" to "function member" in a comment.
-
-2009-12-01 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Revert 51551 because it broke GTK+.
-
- * wtf/Platform.h:
-
-2009-11-30 Gavin Barraclough <barraclough@apple.com>
-
- Windows Build fix. Reviewed by NOBODY.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2009-11-24 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Geoff Garen.
-
- Bug 31859 - Make world selection for JSC IsolatedWorlds automagical.
-
- WebCore presently has to explicitly specify the world before entering into JSC,
- which is a little fragile (particularly since property access via a
- getter/setter might invoke execution). Instead derive the current world from
- the lexical global object.
-
- Remove the temporary duct tape of willExecute/didExecute virtual hooks on the JSGlobalData::ClientData - these are no longer necessary.
-
- * API/JSBase.cpp:
- (JSEvaluateScript):
- * API/JSObjectRef.cpp:
- (JSObjectCallAsFunction):
- * JavaScriptCore.exp:
- * runtime/JSGlobalData.cpp:
- * runtime/JSGlobalData.h:
-
-2009-11-30 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Remove obsolete PLATFORM(KDE) code
- https://bugs.webkit.org/show_bug.cgi?id=31958
-
- KDE is now using unpatched QtWebKit.
-
- * parser/Lexer.cpp: Remove obsolete KDE_USE_FINAL guard
- * wtf/Platform.h: Remove PLATFORM(KDE) definition and code
- section that is guarded with it.
-
-2009-11-30 Jan-Arve Sæther <jan-arve.saether@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix compilation with win32-icc
-
- The Intel compiler does not support the __has_trivial_constructor type
- trait. The Intel Compiler can report itself as _MSC_VER >= 1400. The
- reason for that is that the Intel Compiler depends on the Microsoft
- Platform SDK, and in order to try to be "fully" MS compatible it will
- "pretend" to be the same MS compiler as was shipped with the MS PSDK.
- (Thus, compiling with win32-icc with VC8 SDK will make the source code
- "think" the compiler at hand supports this type trait).
-
- * wtf/TypeTraits.h:
-
-2009-11-29 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Eric Seidel.
-
- [Qt] Mac build has JIT disabled
- https://bugs.webkit.org/show_bug.cgi?id=31828
-
- * wtf/Platform.h: Enable JIT for Qt Mac builds
-
-2009-11-28 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Eric Seidel.
-
- Apply workaround for the limitation of VirtualFree with MEM_RELEASE to all ports running on Windows
- https://bugs.webkit.org/show_bug.cgi?id=31943
-
- * runtime/MarkStack.h:
- (JSC::MarkStack::MarkStackArray::shrinkAllocation):
-
-2009-11-28 Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
-
- Reviewed by Gavin Barraclough.
-
- https://bugs.webkit.org/show_bug.cgi?id=31930
-
- Seems a typo. We don't need ~270k memory to determine the vptrs.
-
- * runtime/JSGlobalData.cpp:
- (JSC::VPtrSet::VPtrSet):
-
-2009-11-27 Shinichiro Hamaji <hamaji@chromium.org>
-
- Unreviewed.
-
- Move GOwnPtr* from wtf to wtf/gtk
- https://bugs.webkit.org/show_bug.cgi?id=31793
-
- Build fix for chromium after r51423.
- Exclude gtk directory from chromium build.
-
- * JavaScriptCore.gyp/JavaScriptCore.gyp:
-
-2009-11-25 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Incorrect behaviour of jneq_null in the interpreter
- https://bugs.webkit.org/show_bug.cgi?id=31901
-
- Correct the logic of jneq_null. This is already covered by existing tests.
-
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::privateExecute):
-
-2009-11-26 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Oliver Hunt.
-
- Move GOwnPtr* from wtf to wtf/gtk
- https://bugs.webkit.org/show_bug.cgi?id=31793
-
- * GNUmakefile.am: Change the path for GOwnPtr.*.
- * JavaScriptCore.gyp/JavaScriptCore.gyp: Remove
- GOwnPtr.cpp from the exclude list.
- * JavaScriptCore.gypi: Change the path for GOwnPtr.*.
- * wscript: Remove GOwnPtr.cpp from the exclude list.
- * wtf/GOwnPtr.cpp: Removed.
- * wtf/GOwnPtr.h: Removed.
- * wtf/Threading.h: Change the path for GOwnPtr.h.
- * wtf/gtk/GOwnPtr.cpp: Copied from JavaScriptCore/wtf/GOwnPtr.cpp.
- * wtf/gtk/GOwnPtr.h: Copied from JavaScriptCore/wtf/GOwnPtr.h.
- * wtf/unicode/glib/UnicodeGLib.h: Change the path for GOwnPtr.h.
-
-2009-11-24 Dmitry Titov <dimich@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Add ENABLE_SHARED_SCRIPT feature define and flag for build-webkit
- https://bugs.webkit.org/show_bug.cgi?id=31444
-
- * Configurations/FeatureDefines.xcconfig:
- * wtf/Platform.h:
-
-2009-11-24 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Simon Fraser.
-
- Add ability to enable ACCELERATED_COMPOSITING on Windows (currently disabled)
- https://bugs.webkit.org/show_bug.cgi?id=27314
-
- * wtf/Platform.h:
-
-2009-11-24 Jason Smith <dark.panda@gmail.com>
-
- Reviewed by Alexey Proskuryakov.
-
- RegExp#exec's returned Array-like object behaves differently from
- regular Arrays
- https://bugs.webkit.org/show_bug.cgi?id=31689
-
- * JavaScriptCore/runtime/RegExpConstructor.cpp: ensure that undefined
- values are added to the returned RegExpMatchesArray
-
-2009-11-24 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- JSON.stringify performance on undefined is very poor
- https://bugs.webkit.org/show_bug.cgi?id=31839
-
- Switch from a UString to a Vector<UChar> when building
- the JSON string, allowing us to safely remove the substr-copy
- we otherwise did when unwinding an undefined property.
-
- Also turns out to be a ~5% speedup on stringification.
-
- * runtime/JSONObject.cpp:
- (JSC::Stringifier::StringBuilder::append):
- (JSC::Stringifier::stringify):
- (JSC::Stringifier::Holder::appendNextProperty):
-
-2009-11-24 Mark Rowe <mrowe@apple.com>
-
- Fix production builds where the source tree may be read-only.
-
- * JavaScriptCore.xcodeproj/project.pbxproj:
-
-2009-11-23 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Include "config.h" to meet Coding Style Guidelines
- https://bugs.webkit.org/show_bug.cgi?id=31792
-
- * wtf/unicode/UTF8.cpp:
- * wtf/unicode/glib/UnicodeGLib.cpp:
- * wtf/unicode/wince/UnicodeWince.cpp:
-
-2009-11-23 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Streamlined some Math functions where we expect or know the result not
- to be representable as an int.
-
- SunSpider says 0.6% faster.
-
- * runtime/JSNumberCell.h:
- (JSC::JSValue::JSValue):
- * runtime/JSValue.h:
- (JSC::JSValue::):
- (JSC::jsDoubleNumber):
- (JSC::JSValue::JSValue): Added a function for making a numeric JSValue
- and skipping the "can I encode this as an int?" check, avoiding the
- overhead of int <-> double roundtripping and double <-> double comparison
- and branching.
-
- * runtime/MathObject.cpp:
- (JSC::mathProtoFuncACos):
- (JSC::mathProtoFuncASin):
- (JSC::mathProtoFuncATan):
- (JSC::mathProtoFuncATan2):
- (JSC::mathProtoFuncCos):
- (JSC::mathProtoFuncExp):
- (JSC::mathProtoFuncLog):
- (JSC::mathProtoFuncRandom):
- (JSC::mathProtoFuncSin):
- (JSC::mathProtoFuncSqrt):
- (JSC::mathProtoFuncTan): For these functions, which we expect or know
- to produce results not representable as ints, call jsDoubleNumber instead
- of jsNumber.
-
-2009-11-23 Mark Rowe <mrowe@apple.com>
-
- Unreviewed. Unbreak the regression tests after r51329.
-
- * API/JSBase.cpp:
- (JSEvaluateScript): Null-check clientData before dereferencing it.
- * API/JSObjectRef.cpp:
- (JSObjectCallAsFunction): Ditto.
-
-2009-11-23 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Geoff Garen.
-
- Part 1/3 of <rdar://problem/7377477> REGRESSION: Many web pages fail to render after interesting script runs in isolated world
-
- Some clients of the JavaScriptCore API expect to be able to make callbacks over the JSC API,
- and for this to automagically cause execution to take place in the world associated with the
- global object associated with the ExecState (JSContextRef) passed. However this is not how
- things work - the world must be explicitly set within WebCore.
-
- Making this work just for API calls to evaluate & call will be a far from perfect solution,
- since direct (non-API) use of JSC still relies on WebCore setting the current world correctly.
- A better solution would be to make this all work automagically all throughout WebCore, but this
- will require more refactoring.
-
- Since the API is in JSC but worlds only exist in WebCore, add callbacks on the JSGlobalData::ClientData
- to allow it to update the current world on entry/exit via the JSC API. This is temporary duck
- tape, and should be removed once the current world no longer needs to be explicitly tracked.
-
- * API/JSBase.cpp:
- (JSEvaluateScript):
- * API/JSObjectRef.cpp:
- (JSObjectCallAsFunction):
- * JavaScriptCore.exp:
- * runtime/JSGlobalData.cpp:
- (JSC::JSGlobalData::ClientData::beginningExecution):
- (JSC::JSGlobalData::ClientData::completedExecution):
- * runtime/JSGlobalData.h:
-
-2009-11-23 Steve Block <steveblock@google.com>
-
- Reviewed by Dmitry Titov.
-
- Adds MainThreadAndroid.cpp with Android-specific WTF threading functions.
- https://bugs.webkit.org/show_bug.cgi?id=31807
-
- * wtf/android: Added.
- * wtf/android/MainThreadAndroid.cpp: Added.
- (WTF::timeoutFired):
- (WTF::initializeMainThreadPlatform):
- (WTF::scheduleDispatchFunctionsOnMainThread):
-
-2009-11-23 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Brady Eidson.
-
- https://bugs.webkit.org/show_bug.cgi?id=31748
- Make WebSocketHandleCFNet respect proxy auto-configuration files via CFProxySupport
-
- * JavaScriptCore.exp: Export callOnMainThreadAndWait.
-
-2009-11-23 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Symbian] Fix lastIndexOf() for Symbian
- https://bugs.webkit.org/show_bug.cgi?id=31773
-
- Symbian soft floating point library has problems with operators
- comparing NaN to numbers. Without a workaround lastIndexOf()
- function does not work.
-
- Patch developed by David Leong.
-
- * runtime/StringPrototype.cpp:
- (JSC::stringProtoFuncLastIndexOf):Add an extra test
- to check for NaN for Symbian.
-
-2009-11-23 Steve Block <steveblock@google.com>
-
- Reviewed by Eric Seidel.
-
- Android port lacks implementation of atomicIncrement and atomicDecrement.
- https://bugs.webkit.org/show_bug.cgi?id=31715
-
- * wtf/Threading.h: Modified.
- (WTF::atomicIncrement): Added Android implementation.
- (WTF::atomicDecrement): Added Android implementation.
-
-2009-11-22 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Unreviewed.
-
- [Qt] Sort source lists and remove obsolete comments
- from the build system.
-
- * JavaScriptCore.pri:
-
-2009-11-21 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Eric Seidel.
-
- [Qt][Mac] Turn on multiple JavaScript threads for QtWebkit on Mac
- https://bugs.webkit.org/show_bug.cgi?id=31753
-
- * wtf/Platform.h:
-
-2009-11-19 Steve Block <steveblock@google.com>
-
- Android port lacks configuration in Platform.h and config.h.
- https://bugs.webkit.org/show_bug.cgi?id=31671
-
- * wtf/Platform.h: Modified. Added Android-specific configuration.
-
-2009-11-19 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=31690
- Make SocketStreamHandleCFNet work on Windows
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * wtf/MainThread.cpp:
- (WTF::FunctionWithContext::FunctionWithContext):
- (WTF::dispatchFunctionsFromMainThread):
- (WTF::callOnMainThreadAndWait):
- * wtf/MainThread.h:
- Re-add callOnMainThreadAndWait(), which was removed in bug 23926.
-
-2009-11-19 Dmitry Titov <dimich@chromium.org>
-
- Reviewed by David Levin.
-
- isMainThread() on Chromium (Mac and Linux) is so slow it timeouts LayoutTests..
- https://bugs.webkit.org/show_bug.cgi?id=31693
-
- * wtf/ThreadingPthreads.cpp:
- (WTF::initializeThreading): grab and use the pthread_t of the main thread instead of ThreadIdentifier.
- (WTF::isMainThread): Ditto.
-
-2009-11-19 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Darin Adler.
-
- Remove HAVE(STRING_H) guard from JavaScriptCore
- https://bugs.webkit.org/show_bug.cgi?id=31668
-
- * config.h:
- * runtime/UString.cpp:
-
-2009-11-19 Dumitru Daniliuc <dumi@chromium.org>
-
- Reviewed by Dmitry Titov.
-
- Fixing a bug in MessageQueue::removeIf() that leads to an
- assertion failure.
-
- https://bugs.webkit.org/show_bug.cgi?id=31657
-
- * wtf/MessageQueue.h:
- (WTF::MessageQueue::removeIf):
-
-2009-11-19 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Darin Adler.
-
- Remove HAVE(FLOAT_H) guard
- https://bugs.webkit.org/show_bug.cgi?id=31661
-
- JavaScriptCore has a dependency on float.h, there is
- no need to guard float.h.
-
- * runtime/DatePrototype.cpp: Remove include directive
- for float.h as it is included in MathExtras.h already.
- * runtime/Operations.cpp: Ditto.
- * runtime/UString.cpp: Ditto.
- * wtf/dtoa.cpp: Ditto.
- * wtf/MathExtras.h: Remove HAVE(FLOAT_H) guard.
- * wtf/Platform.h: Ditto.
-
-2009-11-19 Thiago Macieira <thiago.macieira@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Build fix for 32-bit Sparc machines: these machines are big-endian.
-
- * wtf/Platform.h:
-
-2009-11-18 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Remove support for Qt v4.3 or older versions
- https://bugs.webkit.org/show_bug.cgi?id=29469
-
- * JavaScriptCore.pro:
- * jsc.pro:
- * wtf/unicode/qt4/UnicodeQt4.h:
-
-2009-11-18 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Darin Adler.
-
- Move UString::from(double) implementation to new
- WTF::doubleToStringInJavaScriptFormat(), and expose it because WebCore
- code will use it.
- https://bugs.webkit.org/show_bug.cgi?id=31330
-
- - Introduce new function createRep(const char*, unsigned) and
- UString::UString(const char*, unsigned) to reduce 2 calls to strlen().
- - Fix a bug that dtoa() doesn't update *rve if the input value is NaN
- or Infinity.
-
- No new tests because this doesn't change the behavior.
-
- * JavaScriptCore.exp:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * runtime/UString.cpp:
- (JSC::createRep):
- (JSC::UString::UString):
- (JSC::UString::from): Move the code to doubleToStringInJavaScriptFormat().
- * runtime/UString.h:
- * wtf/dtoa.cpp:
- (WTF::dtoa): Fix a bug about rve.
- (WTF::append): A helper for doubleToStringInJavaScriptFormat().
- (WTF::doubleToStringInJavaScriptFormat): Move the code from UString::from(double).
- * wtf/dtoa.h:
-
-2009-11-18 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Remove WTF_USE_JAVASCRIPTCORE_BINDINGS as it is no longer used
- https://bugs.webkit.org/show_bug.cgi?id=31643
-
- * JavaScriptCore.pro:
-
-2009-11-18 Nate Chapin <japhet@chromium.org>
-
- Reviewed by Darin Fisher.
-
- Remove Chromium's unnecessary dependency on wtf's tcmalloc files.
-
- https://bugs.webkit.org/show_bug.cgi?id=31648
-
- * JavaScriptCore.gyp/JavaScriptCore.gyp:
-
-2009-11-18 Thiago Macieira <thiago.macieira@nokia.com>
-
- Reviewed by Gavin Barraclough.
-
- [Qt] Implement symbol hiding for JSC's JIT functions.
-
- These functions are implemented directly in assembly, so they need the
- proper directives to enable/disable visibility. On ELF systems, it's
- .hidden, whereas on Mach-O systems (Mac) it's .private_extern. On
- Windows, it's not necessary since you have to explicitly export. I
- also implemented the AIX idiom, though it's unlikely anyone will
- implement AIX/POWER JIT.
- https://bugs.webkit.org/show_bug.cgi?id=30864
-
- * jit/JITStubs.cpp:
-
-2009-11-18 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- Interpreter may do an out of range access when throwing an exception in the profiler.
- https://bugs.webkit.org/show_bug.cgi?id=31635
-
- Add bounds check.
-
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::throwException):
-
-2009-11-18 Gabor Loki <loki@inf.u-szeged.hu>
-
- Reviewed by Darin Adler.
-
- Fix the clobber list of cacheFlush for ARM and Thumb2 on Linux
- https://bugs.webkit.org/show_bug.cgi?id=31631
-
- * jit/ExecutableAllocator.h:
- (JSC::ExecutableAllocator::cacheFlush):
-
-2009-11-18 Harald Fernengel <harald.fernengel@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix detection of linux-g++
-
- Never use "linux-g++*" to check for linux-g++, since this will break embedded
- builds which use linux-arm-g++ and friends. Use 'linux*-g++*' to check for any
- g++ on linux mkspec.
-
- * JavaScriptCore.pri:
-
-2009-11-17 Jon Honeycutt <jhoneycutt@apple.com>
-
- Add JSContextRefPrivate.h to list of copied files.
-
- Reviewed by Mark Rowe.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make:
-
-2009-11-17 Martin Robinson <martin.james.robinson@gmail.com>
-
- Reviewed by Adam Barth.
-
- [GTK] Style cleanup for GOwnPtr
- https://bugs.webkit.org/show_bug.cgi?id=31506
-
- Remove forward declaration in GOwnPtr and do some style cleanup.
-
- * wtf/GOwnPtr.cpp:
- * wtf/GOwnPtr.h:
- (WTF::GOwnPtr::GOwnPtr):
- (WTF::GOwnPtr::~GOwnPtr):
- (WTF::GOwnPtr::get):
- (WTF::GOwnPtr::release):
- (WTF::GOwnPtr::outPtr):
- (WTF::GOwnPtr::set):
- (WTF::GOwnPtr::clear):
- (WTF::GOwnPtr::operator*):
- (WTF::GOwnPtr::operator->):
- (WTF::GOwnPtr::operator!):
- (WTF::GOwnPtr::operator UnspecifiedBoolType):
- (WTF::GOwnPtr::swap):
- (WTF::swap):
- (WTF::operator==):
- (WTF::operator!=):
- (WTF::getPtr):
- (WTF::freeOwnedGPtr):
-
-2009-11-17 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Incorrect use of JavaScriptCore API in DumpRenderTree
- https://bugs.webkit.org/show_bug.cgi?id=31577
-
- Add assertions to the 'toJS' functions to catch mistakes like
- this early. Restructure existing code which blindly passed potentially
- null values to toJS when forwarding exceptions so that a null check is
- performed first.
-
- * API/APICast.h:
- (toJS):
- (toJSForGC):
- * API/JSCallbackObjectFunctions.h:
- (JSC::::getOwnPropertySlot):
- (JSC::::put):
- (JSC::::deleteProperty):
- (JSC::::construct):
- (JSC::::hasInstance):
- (JSC::::call):
- (JSC::::toNumber):
- (JSC::::toString):
- (JSC::::staticValueGetter):
- (JSC::::callbackGetter):
- * API/tests/testapi.c: Fix errors in the API tester.
- (MyObject_getProperty):
- (MyObject_convertToType):
- (EvilExceptionObject_convertToType):
-
-2009-11-16 Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
-
- Reviewed by Gavin Barraclough.
-
- https://bugs.webkit.org/show_bug.cgi?id=31050
-
- Minor fixes for JSVALUE32_64: branchConvertDoubleToInt32
- failed on a CortexA8 CPU, but not on a simulator; and
- JITCall.cpp modifications was somehow not committed to mainline.
-
- * assembler/ARMAssembler.h:
- (JSC::ARMAssembler::fmrs_r):
- * assembler/MacroAssemblerARM.h:
- (JSC::MacroAssemblerARM::branchConvertDoubleToInt32):
- * jit/JITCall.cpp:
- (JSC::JIT::compileOpCall):
-
-2009-11-16 Joerg Bornemann <joerg.bornemann@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- Fix Qt build on Windows CE 6.
-
- * JavaScriptCore.pri: Add missing include path.
- * wtf/Platform.h: Include ce_time.h for Windows CE 6.
-
-2009-11-13 Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
-
- Reviewed by Gavin Barraclough.
-
- https://bugs.webkit.org/show_bug.cgi?id=31050
-
- Adding optimization support for mode JSVALUE32_64
- on ARM systems.
-
- * jit/JIT.h:
- * jit/JITCall.cpp:
- (JSC::JIT::compileOpCall):
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::emit_op_method_check):
- (JSC::JIT::compileGetByIdHotPath):
- (JSC::JIT::compileGetByIdSlowCase):
- (JSC::JIT::emit_op_put_by_id):
-
-2009-11-14 Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
-
- Reviewed by Gavin Barraclough.
-
- https://bugs.webkit.org/show_bug.cgi?id=31050
-
- Adding JSVALUE32_64 support for ARM (but not turning it
- on by default). All optimizations must be disabled, since
- this patch is only the first of a series of patches.
-
- During the work, a lot of x86 specific code revealed and
- made platform independent.
- See revisions: 50531 50541 50593 50594 50595
-
- * assembler/ARMAssembler.h:
- (JSC::ARMAssembler::):
- (JSC::ARMAssembler::fdivd_r):
- * assembler/MacroAssemblerARM.h:
- (JSC::MacroAssemblerARM::lshift32):
- (JSC::MacroAssemblerARM::neg32):
- (JSC::MacroAssemblerARM::rshift32):
- (JSC::MacroAssemblerARM::branchOr32):
- (JSC::MacroAssemblerARM::set8):
- (JSC::MacroAssemblerARM::setTest8):
- (JSC::MacroAssemblerARM::loadDouble):
- (JSC::MacroAssemblerARM::divDouble):
- (JSC::MacroAssemblerARM::convertInt32ToDouble):
- (JSC::MacroAssemblerARM::zeroDouble):
- * jit/JIT.cpp:
- * jit/JIT.h:
- * jit/JITOpcodes.cpp:
- (JSC::JIT::privateCompileCTIMachineTrampolines):
- * jit/JITStubs.cpp:
- * wtf/StdLibExtras.h:
-
-2009-11-13 Dominik Röttsches <dominik.roettsches@access-company.com>
-
- Reviewed by Eric Seidel.
-
- Unify TextBoundaries implementations by only relying on WTF Unicode abstractions
- https://bugs.webkit.org/show_bug.cgi?id=31468
-
- Adding isAlphanumeric abstraction, required
- by TextBoundaries.cpp.
-
- * wtf/unicode/glib/UnicodeGLib.h:
- (WTF::Unicode::isAlphanumeric):
- * wtf/unicode/icu/UnicodeIcu.h:
- (WTF::Unicode::isAlphanumeric):
-
-2009-11-13 Norbert Leser <norbert.leser&nokia.com>
-
- Reviewed by Eric Seidel.
-
- Added macros for USERINCLUDE paths within symbian blocks
- to guarantee inclusion of respective header files from local path
- first (to avoid clashes with same names of header files in system include path).
-
- * JavaScriptCore.pri:
-
-2009-11-13 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Geoff Garen.
-
- JSValueProtect and JSValueUnprotect don't protect API wrapper values
- https://bugs.webkit.org/show_bug.cgi?id=31485
-
- Make JSValueProtect/Unprotect use a new 'toJS' function, 'toJSForGC' that
- does not attempt to to strip out API wrapper objects.
-
- * API/APICast.h:
- (toJSForGC):
- * API/JSValueRef.cpp:
- (JSValueProtect):
- (JSValueUnprotect):
- * API/tests/testapi.c:
- (makeGlobalNumberValue):
- (main):
-
-2009-11-13 İsmail Dönmez <ismail@namtrac.org>
-
- Reviewed by Antti Koivisto.
-
- Fix typo, ce_time.cpp should be ce_time.c
-
- * JavaScriptCore.pri:
-
-2009-11-12 Steve VanDeBogart <vandebo@chromium.org>
-
- Reviewed by Adam Barth.
-
- Calculate the time offset only if we were able to parse
- the date string. This saves an IPC in Chromium for
- invalid date strings.
- https://bugs.webkit.org/show_bug.cgi?id=31416
-
- * wtf/DateMath.cpp:
- (WTF::parseDateFromNullTerminatedCharacters):
- (JSC::parseDateFromNullTerminatedCharacters):
-
-2009-11-12 Oliver Hunt <oliver@apple.com>
-
- Rollout r50896 until i can work out why it causes failures.
-
- * bytecompiler/BytecodeGenerator.cpp:
- (JSC::BytecodeGenerator::emitReturn):
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::execute):
- * parser/Nodes.cpp:
- (JSC::EvalNode::emitBytecode):
-
-2009-11-12 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Stephanie Lewis.
-
- Remove LIBRARY directive from def file to fix Debug_All target.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2009-11-12 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Rubber-stamped by Holger Freyther.
-
- Revert r50204, since it makes DRT crash on 32 bits release builds
- for GTK+.
-
- * wtf/FastMalloc.h:
-
-2009-11-12 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Start unifying entry logic for function and eval code.
-
- Eval now uses a ret instruction to end execution, and sets up
- a callframe more in line with what we do for function entry.
-
- * bytecompiler/BytecodeGenerator.cpp:
- (JSC::BytecodeGenerator::emitReturn):
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::execute):
- * parser/Nodes.cpp:
- (JSC::EvalNode::emitBytecode):
-
-2009-11-12 Richard Moe Gustavsen <richard.gustavsen@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Disable pthread_setname_np.
-
- This allows Qt builds on Mac from 10.6 to run on earlier version
- where this symbol is not present.
- https://bugs.webkit.org/show_bug.cgi?id=31403
-
- * wtf/Platform.h:
-
-2009-11-12 Thiago Macieira <thiago.macieira@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Fix linking on Linux 32-bit.
-
- It was missing the ".text" directive at the top of the file,
- indicating that code would follow. Without it, the assembler created
- "NOTYPE" symbols, which would result in linker errors.
- https://bugs.webkit.org/show_bug.cgi?id=30863
-
- * jit/JITStubs.cpp:
-
-2009-11-11 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Alexey Proskuryakov.
-
- Refactor multiple JavaScriptCore threads
- https://bugs.webkit.org/show_bug.cgi?id=31328
-
- Remove the id field from the PlatformThread structure
- as it is not used.
-
- * runtime/Collector.cpp:
- (JSC::getCurrentPlatformThread):
- (JSC::suspendThread):
- (JSC::resumeThread):
- (JSC::getPlatformThreadRegisters):
-
-2009-11-10 Geoffrey Garen <ggaren@apple.com>
-
- Linux build fix: Added an #include for UINT_MAX.
-
- * runtime/WeakRandom.h:
-
-2009-11-10 Geoffrey Garen <ggaren@apple.com>
-
- JavaScriptGlue build fix: Marked a file 'private' instead of 'project'.
-
- * JavaScriptCore.xcodeproj/project.pbxproj:
-
-2009-11-10 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Gavin "avGni arBalroguch" Barraclough.
-
- Faster Math.random, based on GameRand.
-
- SunSpider says 1.4% faster.
-
- * GNUmakefile.am:
- * JavaScriptCore.gypi:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
- * JavaScriptCore.xcodeproj/project.pbxproj: Added the header to the project.
-
- * runtime/JSGlobalData.cpp:
- (JSC::JSGlobalData::JSGlobalData):
- * runtime/JSGlobalData.h: Use an object to track random number generation
- state, initialized to the current time.
-
- * runtime/MathObject.cpp:
- (JSC::MathObject::MathObject):
- (JSC::mathProtoFuncRandom): Use the new hotness.
-
- * runtime/WeakRandom.h: Added.
- (JSC::WeakRandom::WeakRandom):
- (JSC::WeakRandom::get):
- (JSC::WeakRandom::advance): The new hotness.
-
-2009-11-09 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Imported the v8 DST cache.
-
- SunSpider says 1.5% faster.
-
- * runtime/JSGlobalData.cpp:
- (JSC::JSGlobalData::resetDateCache): Reset the DST cache when resetting
- other date data.
-
- * runtime/JSGlobalData.h:
- (JSC::DSTOffsetCache::DSTOffsetCache):
- (JSC::DSTOffsetCache::reset): Added a struct for the DST cache.
-
- * wtf/DateMath.cpp:
- (WTF::calculateDSTOffsetSimple):
- (WTF::calculateDSTOffset):
- (WTF::parseDateFromNullTerminatedCharacters):
- (JSC::getDSTOffset):
- (JSC::gregorianDateTimeToMS):
- (JSC::msToGregorianDateTime):
- (JSC::parseDateFromNullTerminatedCharacters):
- * wtf/DateMath.h: The imported code for probing and updating the cache.
-
-2009-11-09 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Fixed an edge case that could cause the engine not to notice a timezone
- change.
-
- No test because this case would require manual intervention to change
- the timezone during the test.
-
- SunSpider reports no change.
-
- * runtime/DateInstanceCache.h:
- (JSC::DateInstanceCache::DateInstanceCache):
- (JSC::DateInstanceCache::reset): Added a helper function for resetting
- this cache. Also, shrank the cache, since we'll be resetting it often.
-
- * runtime/JSGlobalData.cpp:
- (JSC::JSGlobalData::resetDateCache): Include resetting the DateInstanceCache
- in resetting Date data. (Otherwise, a cache hit could bypass a necessary
- timezone update check.)
-
-2009-11-09 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Some manual inlining and constant propogation in Date code.
-
- SunSpider reports a 0.4% speedup on date-*, no overall speedup. Shark
- says some previously evident stalls are now gone.
-
- * runtime/DateConstructor.cpp:
- (JSC::callDate):
- * runtime/DateConversion.cpp:
- (JSC::formatTime):
- (JSC::formatTimeUTC): Split formatTime into UTC and non-UTC variants.
-
- * runtime/DateConversion.h:
- * runtime/DateInstance.cpp:
- (JSC::DateInstance::calculateGregorianDateTime):
- (JSC::DateInstance::calculateGregorianDateTimeUTC):
- * runtime/DateInstance.h:
- (JSC::DateInstance::gregorianDateTime):
- (JSC::DateInstance::gregorianDateTimeUTC): Split gregorianDateTime into
- a UTC and non-UTC variant, and split each variant into a fast inline
- case and a slow out-of-line case.
-
- * runtime/DatePrototype.cpp:
- (JSC::formatLocaleDate):
- (JSC::dateProtoFuncToString):
- (JSC::dateProtoFuncToUTCString):
- (JSC::dateProtoFuncToISOString):
- (JSC::dateProtoFuncToDateString):
- (JSC::dateProtoFuncToTimeString):
- (JSC::dateProtoFuncGetFullYear):
- (JSC::dateProtoFuncGetUTCFullYear):
- (JSC::dateProtoFuncToGMTString):
- (JSC::dateProtoFuncGetMonth):
- (JSC::dateProtoFuncGetUTCMonth):
- (JSC::dateProtoFuncGetDate):
- (JSC::dateProtoFuncGetUTCDate):
- (JSC::dateProtoFuncGetDay):
- (JSC::dateProtoFuncGetUTCDay):
- (JSC::dateProtoFuncGetHours):
- (JSC::dateProtoFuncGetUTCHours):
- (JSC::dateProtoFuncGetMinutes):
- (JSC::dateProtoFuncGetUTCMinutes):
- (JSC::dateProtoFuncGetSeconds):
- (JSC::dateProtoFuncGetUTCSeconds):
- (JSC::dateProtoFuncGetTimezoneOffset):
- (JSC::setNewValueFromTimeArgs):
- (JSC::setNewValueFromDateArgs):
- (JSC::dateProtoFuncSetYear):
- (JSC::dateProtoFuncGetYear): Updated for the gregorianDateTime change above.
-
-2009-11-09 Geoffrey Garen <ggaren@apple.com>
-
- Build fix: export a new symbol.
-
- * JavaScriptCore.exp:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2009-11-09 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam "Home Wrecker" Weinig.
-
- Added a tiny cache for Date parsing.
-
- SunSpider says 1.2% faster.
-
- * runtime/DateConversion.cpp:
- (JSC::parseDate): Try to reuse the last parsed Date, if present.
-
- * runtime/JSGlobalData.cpp:
- (JSC::JSGlobalData::resetDateCache):
- * runtime/JSGlobalData.h: Added storage for last parsed Date. Refactored
- this code to make resetting the date cache easier.
-
- * runtime/JSGlobalObject.h:
- (JSC::DynamicGlobalObjectScope::DynamicGlobalObjectScope): Updated for
- refactoring.
-
- * wtf/DateMath.cpp:
- (JSC::parseDateFromNullTerminatedCharacters):
- * wtf/DateMath.h: Changed ExecState to be first parameter, as is the JSC custom.
-
-2009-11-09 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Can cache prototype lookups on uncacheable dictionaries.
- https://bugs.webkit.org/show_bug.cgi?id=31198
-
- Replace fromDictionaryTransition with flattenDictionaryObject and
- flattenDictionaryStructure. This change is necessary as we need to
- guarantee that our attempt to convert away from a dictionary structure
- will definitely succeed, and in some cases this requires mutating the
- object storage itself.
-
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::tryCacheGetByID):
- * jit/JITStubs.cpp:
- (JSC::JITThunks::tryCacheGetByID):
- (JSC::DEFINE_STUB_FUNCTION):
- * runtime/BatchedTransitionOptimizer.h:
- (JSC::BatchedTransitionOptimizer::~BatchedTransitionOptimizer):
- * runtime/JSObject.h:
- (JSC::JSObject::flattenDictionaryObject):
- * runtime/Operations.h:
- (JSC::normalizePrototypeChain):
- * runtime/Structure.cpp:
- (JSC::Structure::flattenDictionaryStructure):
- (JSC::comparePropertyMapEntryIndices):
- * runtime/Structure.h:
-
-2009-11-09 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Not reviewed, build fix.
-
- Remove extra character from r50701.
-
- * JavaScriptCore.pri:
-
-2009-11-09 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Not reviewed, build fix.
-
- Revert r50695 because it broke QtWebKit (clean builds).
-
- * JavaScriptCore.pri:
-
-2009-11-09 Norbert Leser <norbert.leser@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Prepended $$PWD to GENERATED_SOURCES_DIR to avoid potential ambiguities when included from WebCore.pro.
- Some preprocessors consider this GENERATED_SOURCES_DIR relative to current invoking dir (e.g., ./WebCore),
- and not the working dir of JavaCriptCore.pri (i.e., ../JavaScriptCore/).
-
- * JavaScriptCore.pri:
-
-2009-11-09 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Use explicit parentheses to silence gcc 4.4 -Wparentheses warnings
- https://bugs.webkit.org/show_bug.cgi?id=31040
-
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::privateExecute):
-
-2009-11-08 David Levin <levin@chromium.org>
-
- Reviewed by NOBODY (speculative snow leopard and windows build fixes).
-
- * wtf/DateMath.cpp:
- (WTF::parseDateFromNullTerminatedCharacters):
- (JSC::gregorianDateTimeToMS):
- (JSC::msToGregorianDateTime):
- (JSC::parseDateFromNullTerminatedCharacters):
- * wtf/DateMath.h:
- (JSC::GregorianDateTime::GregorianDateTime):
-
-2009-11-08 David Levin <levin@chromium.org>
-
- Reviewed by NOBODY (chromium build fix).
-
- Hopefully, the last build fix.
-
- Create better separation in DateMath about the JSC
- and non-JSC portions. Also, only expose the non-JSC
- version in the exports.
-
- * JavaScriptCore.exp:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * wtf/DateMath.cpp:
- (WTF::parseDateFromNullTerminatedCharacters):
- (JSC::getUTCOffset):
- (JSC::gregorianDateTimeToMS):
- (JSC::msToGregorianDateTime):
- (JSC::parseDateFromNullTerminatedCharacters):
- * wtf/DateMath.h:
- (JSC::gmtoffset):
-
-2009-11-08 David Levin <levin@chromium.org>
-
- Reviewed by NOBODY (chromium build fix).
-
- For the change in DateMath.
-
- * config.h:
- * wtf/DateMath.cpp:
-
-2009-11-06 Geoffrey Garen <ggaren@apple.com>
-
- Windows build fix: export some symbols.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2009-11-06 Geoffrey Garen <ggaren@apple.com>
-
- Build fix: updated export file.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2009-11-06 Geoffrey Garen <ggaren@apple.com>
-
- Build fix: added some #includes.
-
- * wtf/CurrentTime.h:
- * wtf/DateMath.h:
-
-2009-11-06 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=31197
- Implemented a timezone cache not based on Mac OS X's notify_check API.
-
- If the VM calculates the local timezone offset from UTC, it caches the
- result until the end of the current VM invocation. (We don't want to cache
- forever, because the user's timezone may change over time.)
-
- This removes notify_* overhead on Mac, and, more significantly, removes
- OS time and date call overhead on non-Mac platforms.
-
- ~8% speedup on Date microbenchmark on Mac. SunSpider reports maybe a tiny
- speedup on Mac. (Speedup on non-Mac platforms should be even more noticeable.)
-
- * JavaScriptCore.exp:
-
- * interpreter/CachedCall.h:
- (JSC::CachedCall::CachedCall):
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::execute):
- * runtime/JSGlobalObject.h:
- (JSC::DynamicGlobalObjectScope::DynamicGlobalObjectScope): Made the
- DynamicGlobalObjectScope constructor responsible for checking whether a
- dynamicGlobalObject has already been set. This eliminated some duplicate
- client code, and allowed me to avoid adding even more duplicate client
- code. Made DynamicGlobalObjectScope responsible for resetting the
- local timezone cache upon first entry to the VM.
-
- * runtime/DateConstructor.cpp:
- (JSC::constructDate):
(JSC::callDate):
(JSC::dateParse):
+ (JSC::dateNow):
(JSC::dateUTC):
- * runtime/DateConversion.cpp:
- (JSC::parseDate):
- * runtime/DateConversion.h:
- * runtime/DateInstance.cpp:
- (JSC::DateInstance::gregorianDateTime):
- * runtime/DateInstance.h:
- * runtime/DateInstanceCache.h:
- * runtime/DatePrototype.cpp:
- (JSC::setNewValueFromTimeArgs):
- (JSC::setNewValueFromDateArgs):
- (JSC::dateProtoFuncSetYear):
- * runtime/InitializeThreading.cpp:
- (JSC::initializeThreadingOnce):
- * runtime/JSGlobalData.cpp:
- (JSC::JSGlobalData::JSGlobalData):
- * runtime/JSGlobalData.h:
- * wtf/DateMath.cpp:
- (WTF::getCurrentUTCTime):
- (WTF::getCurrentUTCTimeWithMicroseconds):
- (WTF::getLocalTime):
- (JSC::getUTCOffset): Use the new cache. Also, see below.
- (JSC::gregorianDateTimeToMS):
- (JSC::msToGregorianDateTime):
- (JSC::initializeDates):
- (JSC::parseDateFromNullTerminatedCharacters): Simplified the way this function
- accounts for the local timezone offset, to accomodate our new caching API,
- and a (possibly misguided) caller in WebCore. Also, see below.
- * wtf/DateMath.h:
- (JSC::GregorianDateTime::GregorianDateTime): Moved most of the code in
- DateMath.* into the JSC namespace. The code needed to move so it could
- naturally interact with ExecState and JSGlobalData to support caching.
- Logically, it seemed right to move it, too, since this code is not really
- as low-level as the WTF namespace might imply -- it implements a set of
- date parsing and conversion quirks that are finely tuned to the JavaScript
- language. Also removed the Mac OS X notify_* infrastructure.
-
- * wtf/CurrentTime.h:
- (WTF::currentTimeMS):
- (WTF::getLocalTime): Moved the rest of the DateMath code here, and renamed
- it to make it consistent with WTF's currentTime function.
-
-2009-11-06 Gabor Loki <loki@inf.u-szeged.hu>
-
- Unreviewed trivial buildfix after r50595.
-
- Rename the remaining rshiftPtr calls to rshift32
-
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_rshift):
- * jit/JITInlineMethods.h:
- (JSC::JIT::emitFastArithImmToInt):
-
-2009-11-06 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Tidy up the shift methods on the macro-assembler interface.
-
- Currently behaviour of shifts of a magnitude > 0x1f is undefined.
- Instead defined that all shifts are masked to this range. This makes a lot of
- practical sense, both since having undefined behaviour is not particularly
- desirable, and because this behaviour is commonly required (particularly since
- it is required bt ECMA-262 for shifts).
-
- Update the ARM assemblers to provide this behaviour. Remove (now) redundant
- masks from JITArithmetic, and remove rshiftPtr (this was used in case that
- could be rewritten in a simpler form using rshift32, only optimized JSVALUE32
- on x86-64, which uses JSVALUE64!)
-
- * assembler/MacroAssembler.h:
- * assembler/MacroAssemblerARM.h:
- (JSC::MacroAssemblerARM::lshift32):
- (JSC::MacroAssemblerARM::rshift32):
- * assembler/MacroAssemblerARMv7.h:
- (JSC::MacroAssemblerARMv7::lshift32):
- (JSC::MacroAssemblerARMv7::rshift32):
- * assembler/MacroAssemblerX86_64.h:
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_lshift):
- (JSC::JIT::emit_op_rshift):
-
-2009-11-05 Gavin Barraclough <barraclough@apple.com>
-
- Rubber Stamped by Oliver Hunt.
-
- Remove a magic number (1) from the JIT, instead compute the value with OBJECT_OFFSET.
-
- * jit/JITInlineMethods.h:
- (JSC::JIT::emitPutJITStubArg):
- (JSC::JIT::emitPutJITStubArgConstant):
- (JSC::JIT::emitGetJITStubArg):
- (JSC::JIT::emitPutJITStubArgFromVirtualRegister):
- * jit/JITStubCall.h:
- (JSC::JITStubCall::JITStubCall):
- (JSC::JITStubCall::getArgument):
- * jit/JITStubs.h:
-
-2009-11-05 Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
-
- Reviewed by Gavin Barraclough.
-
- https://bugs.webkit.org/show_bug.cgi?id=31159
- Fix branchDouble behaviour on ARM THUMB2 JIT.
-
- The x86 branchDouble behaviour is reworked, and all JIT
- ports should follow the x86 port. See bug 31104 and 31151
-
- This patch contains a fix for the traditional ARM port
-
- * assembler/ARMAssembler.h:
- (JSC::ARMAssembler::):
- (JSC::ARMAssembler::fmrs_r):
- (JSC::ARMAssembler::ftosid_r):
- * assembler/MacroAssemblerARM.h:
- (JSC::MacroAssemblerARM::):
- (JSC::MacroAssemblerARM::branchDouble):
- (JSC::MacroAssemblerARM::branchConvertDoubleToInt32):
-
-2009-11-05 Chris Jerdonek <chris.jerdonek@gmail.com>
-
- Reviewed by Eric Seidel.
-
- Removed the "this is part of the KDE project" comments from
- all *.h, *.cpp, *.idl, and *.pm files.
-
- https://bugs.webkit.org/show_bug.cgi?id=31167
-
- The maintenance and architecture page in the project wiki lists
- this as a task.
-
- This change includes no changes or additions to test cases
- since the change affects only comments.
-
- * wtf/wince/FastMallocWince.h:
-
-2009-11-05 Gabor Loki <loki@inf.u-szeged.hu>
-
- Reviewed by Gavin Barraclough.
-
- Use ARMv7 specific encoding for immediate constants on ARMv7 target
- https://bugs.webkit.org/show_bug.cgi?id=31060
-
- * assembler/ARMAssembler.cpp:
- (JSC::ARMAssembler::getOp2): Use INVALID_IMM
- (JSC::ARMAssembler::getImm): Use encodeComplexImm for complex immediate
- (JSC::ARMAssembler::moveImm): Ditto.
- (JSC::ARMAssembler::encodeComplexImm): Encode a constant by one or two
- instructions or a PC relative load.
- * assembler/ARMAssembler.h: Use INVALID_IMM if a constant cannot be
- encoded as an immediate constant.
- (JSC::ARMAssembler::):
- (JSC::ARMAssembler::movw_r): 16-bit immediate load
- (JSC::ARMAssembler::movt_r): High halfword 16-bit immediate load
- (JSC::ARMAssembler::getImm16Op2): Encode immediate constant for
- movw_r and mowt_r
-
-2009-11-04 Mark Mentovai <mark@chromium.org>
-
- Reviewed by Mark Rowe.
-
- Provide TARGETING_TIGER and TARGETING_LEOPARD as analogues to
- BUILDING_ON_TIGER and BUILDING_ON_LEOPARD. The TARGETING_ macros
- consider the deployment target; the BUILDING_ON_ macros consider the
- headers being built against.
-
- * wtf/Platform.h:
-
-2009-11-04 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=31151
- Fix branchDouble behaviour on ARM THUMB2 JIT.
-
- The ARMv7 JIT is currently using ARMv7Assembler::ConditionEQ to branch
- for DoubleEqualOrUnordered, however this is incorrect - ConditionEQ won't
- branch on unordered operands. Similarly, DoubleLessThanOrUnordered &
- DoubleLessThanOrEqualOrUnordered use ARMv7Assembler::ConditionLO &
- ARMv7Assembler::ConditionLS, whereas they should be using
- ARMv7Assembler::ConditionLT & ARMv7Assembler::ConditionLE.
-
- Fix these, and fill out the missing DoubleConditions.
-
- * assembler/MacroAssemblerARMv7.h:
- (JSC::MacroAssemblerARMv7::):
- (JSC::MacroAssemblerARMv7::branchDouble):
-
-2009-11-04 Gavin Barraclough <barraclough@apple.com>
-
- Rubber Stamped by Oliver Hunt.
-
- Enable native call optimizations on ARMv7. (Existing ARM_TRADITIONAL
- implementation was generic, worked perfectly, just needed turning on).
-
- * jit/JITOpcodes.cpp:
- * wtf/Platform.h:
-
-2009-11-04 Gavin Barraclough <barraclough@apple.com>
-
- Rubber Stamped by Mark Rowe, Oliver Hunt, and Sam Weinig.
-
- Add a missing assert to the ARMv7 JIT.
-
- * assembler/ARMv7Assembler.h:
- (JSC::ARMThumbImmediate::ARMThumbImmediate):
-
-2009-11-04 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Oliver Hunt.
-
- Remove bogus op_ prefix on dumped version of three opcodes.
-
- * bytecode/CodeBlock.cpp:
- (JSC::CodeBlock::dump):
-
-2009-11-04 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fix dumping of constants in bytecode so that they aren't printed as large positive register numbers.
-
- We do this by having the registerName function return information about the constant if the register
- number corresponds to a constant. This requires that registerName, and several functions that call it,
- be converted to member functions of CodeBlock so that the constant value can be retrieved. The
- ExecState also needs to be threaded down through these functions so that it can be passed on to
- constantName when needed.
-
- * bytecode/CodeBlock.cpp:
- (JSC::constantName):
- (JSC::CodeBlock::registerName):
- (JSC::CodeBlock::printUnaryOp):
- (JSC::CodeBlock::printBinaryOp):
- (JSC::CodeBlock::printConditionalJump):
- (JSC::CodeBlock::printGetByIdOp):
- (JSC::CodeBlock::printPutByIdOp):
- (JSC::CodeBlock::dump):
- * bytecode/CodeBlock.h:
- (JSC::CodeBlock::isConstantRegisterIndex):
-
-2009-11-04 Pavel Heimlich <tropikhajma@gmail.com>
-
- Reviewed by Alexey Proskuryakov.
-
- https://bugs.webkit.org/show_bug.cgi?id=30647
- Solaris build failure due to strnstr.
-
- * wtf/StringExtras.h: Enable strnstr on Solaris, too.
-
-2009-11-04 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=31104
- Refactor x86-specific behaviour out of the JIT.
-
- - Add explicit double branch conditions for ordered and unordered comparisons (presently the brehaviour is a mix).
- - Refactor double to int conversion out into the MacroAssembler.
- - Remove broken double to int conversion for !JSVALUE32_64 builds - this code was broken and slowing us down, fixing it showed it not to be an improvement.
- - Remove exclusion of double to int conversion from (1 % X) cases in JSVALUE32_64 builds - if this was of benefit this is no longer the case; simplify.
-
- * assembler/MacroAssemblerARM.h:
- (JSC::MacroAssemblerARM::):
- * assembler/MacroAssemblerARMv7.h:
- (JSC::MacroAssemblerARMv7::):
- * assembler/MacroAssemblerX86Common.h:
- (JSC::MacroAssemblerX86Common::):
- (JSC::MacroAssemblerX86Common::convertInt32ToDouble):
- (JSC::MacroAssemblerX86Common::branchDouble):
- (JSC::MacroAssemblerX86Common::branchConvertDoubleToInt32):
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emitBinaryDoubleOp):
- (JSC::JIT::emit_op_div):
- (JSC::JIT::emitSlow_op_jnless):
- (JSC::JIT::emitSlow_op_jnlesseq):
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_jfalse):
-
-2009-11-04 Mark Mentovai <mark@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Remove BUILDING_ON_LEOPARD from JavaScriptCore.gyp. This is supposed
- to be set as needed only in wtf/Platform.h.
-
- * JavaScriptCore.gyp/JavaScriptCore.gyp:
-
-2009-11-02 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- REGRESSION (r48573): JSC may incorrectly cache chain lookups with a dictionary at the head of the chain
- https://bugs.webkit.org/show_bug.cgi?id=31045
-
- Add guards to prevent caching of prototype chain lookups with dictionaries at the
- head of the chain. Also add a few tighter assertions to cached prototype lookups
- to catch this in future.
-
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::tryCacheGetByID):
- (JSC::Interpreter::privateExecute):
- * jit/JITStubs.cpp:
- (JSC::JITThunks::tryCacheGetByID):
-
-2009-11-02 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Darin Adler.
-
- PLATFORM(CF) should be set when building for Qt on Darwin
- https://bugs.webkit.org/show_bug.cgi?id=23671
-
- * wtf/Platform.h: Turn on CF support if both QT and DARWIN
- platforms are defined.
-
-2009-11-02 Dmitry Titov <dimich@chromium.org>
-
- Reviewed by David Levin.
-
- Remove threadsafe refcounting from tasks used with WTF::MessageQueue.
- https://bugs.webkit.org/show_bug.cgi?id=30612
-
- * wtf/MessageQueue.h:
- (WTF::MessageQueue::alwaysTruePredicate):
- (WTF::MessageQueue::~MessageQueue):
- (WTF::MessageQueue::append):
- (WTF::MessageQueue::appendAndCheckEmpty):
- (WTF::MessageQueue::prepend):
- (WTF::MessageQueue::waitForMessage):
- (WTF::MessageQueue::waitForMessageFilteredWithTimeout):
- (WTF::MessageQueue::tryGetMessage):
- (WTF::MessageQueue::removeIf):
- The MessageQueue is changed to act as a queue of OwnPtr<DataType>. It takes ownership
- of posted tasks and passes it to the new owner (in another thread) when the task is fetched.
- All methods have arguments of type PassOwnPtr<DataType> and return the same type.
-
- * wtf/Threading.cpp:
- (WTF::createThread):
- Superficial change to trigger rebuild of JSC project on Windows,
- workaround for https://bugs.webkit.org/show_bug.cgi?id=30890
-
-2009-10-30 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Fixed failing layout test: restore a special case I accidentally deleted.
-
- * runtime/DatePrototype.cpp:
- (JSC::setNewValueFromDateArgs): In the case of applying a change to a date
- that is NaN, reset the date to 0 *and* then apply the change; don't just
- reset the date to 0.
-
-2009-10-30 Geoffrey Garen <ggaren@apple.com>
-
- Windows build fix: update for object-to-pointer change.
-
- * runtime/DatePrototype.cpp:
- (JSC::formatLocaleDate):
-
-2009-10-29 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=30942
- Use pointers instead of copies to pass GregorianDateTime objects around.
-
- SunSpider reports a shocking 4.5% speedup on date-format-xparb, and 1.3%
- speedup on date-format-tofte.
-
- * runtime/DateInstance.cpp:
- (JSC::DateInstance::gregorianDateTime):
- * runtime/DateInstance.h:
- * runtime/DatePrototype.cpp:
- (JSC::formatLocaleDate):
- (JSC::dateProtoFuncToString):
- (JSC::dateProtoFuncToUTCString):
- (JSC::dateProtoFuncToISOString):
- (JSC::dateProtoFuncToDateString):
- (JSC::dateProtoFuncToTimeString):
- (JSC::dateProtoFuncGetFullYear):
- (JSC::dateProtoFuncGetUTCFullYear):
- (JSC::dateProtoFuncToGMTString):
- (JSC::dateProtoFuncGetMonth):
- (JSC::dateProtoFuncGetUTCMonth):
- (JSC::dateProtoFuncGetDate):
- (JSC::dateProtoFuncGetUTCDate):
- (JSC::dateProtoFuncGetDay):
- (JSC::dateProtoFuncGetUTCDay):
- (JSC::dateProtoFuncGetHours):
- (JSC::dateProtoFuncGetUTCHours):
- (JSC::dateProtoFuncGetMinutes):
- (JSC::dateProtoFuncGetUTCMinutes):
- (JSC::dateProtoFuncGetSeconds):
- (JSC::dateProtoFuncGetUTCSeconds):
- (JSC::dateProtoFuncGetTimezoneOffset):
- (JSC::setNewValueFromTimeArgs):
- (JSC::setNewValueFromDateArgs):
- (JSC::dateProtoFuncSetYear):
- (JSC::dateProtoFuncGetYear): Renamed getGregorianDateTime to gregorianDateTime,
- since it no longer has an out parameter. Uses 0 to indicate invalid dates.
-
-2009-10-30 Zoltan Horvath <zoltan@webkit.org>
-
- Reviewed by Darin Adler.
-
- Allow custom memory allocation control for JavaScriptCore's ListHashSet
- https://bugs.webkit.org/show_bug.cgi?id=30853
-
- Inherits ListHashSet class from FastAllocBase because it is
- instantiated by 'new' in WebCore/rendering/RenderBlock.cpp:1813.
-
- * wtf/ListHashSet.h:
-
-2009-10-30 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Regression: crash enumerating properties of an object with getters or setters
- https://bugs.webkit.org/show_bug.cgi?id=30948
-
- Add a guard to prevent us trying to cache property enumeration on
- objects with getters or setters.
-
- * runtime/JSPropertyNameIterator.cpp:
- (JSC::JSPropertyNameIterator::create):
-
-2009-10-30 Roland Steiner <rolandsteiner@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Remove ENABLE_RUBY guards as discussed with Dave Hyatt and Maciej Stachowiak.
-
- Bug 28420 - Implement HTML5 <ruby> rendering
- (https://bugs.webkit.org/show_bug.cgi?id=28420)
-
- No new tests (no functional change).
-
- * Configurations/FeatureDefines.xcconfig:
-
-2009-10-29 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- REGRESSION (r50218-r50262): E*TRADE accounts page is missing content
- https://bugs.webkit.org/show_bug.cgi?id=30947
- <rdar://problem/7348833>
-
- The logic for flagging that a structure has non-enumerable properties
- was in addPropertyWithoutTransition, rather than in the core Structure::put
- method. Despite this I was unable to produce a testcase that caused
- the failure that etrade was experiencing, but the new assertion in
- getEnumerablePropertyNames triggers on numerous layout tests without
- the fix, so in effecti all for..in enumeration in any test ends up
- doing the required consistency check.
-
- * runtime/Structure.cpp:
- (JSC::Structure::addPropertyWithoutTransition):
- (JSC::Structure::put):
- (JSC::Structure::getEnumerablePropertyNames):
- (JSC::Structure::checkConsistency):
-
-2009-10-29 Gabor Loki <loki@inf.u-szeged.hu>
-
- Reviewed by Gavin Barraclough.
-
- Add cacheFlush support for Thumb-2 on Linux
- https://bugs.webkit.org/show_bug.cgi?id=30865
-
- * jit/ExecutableAllocator.h:
- (JSC::ExecutableAllocator::cacheFlush):
-
-2009-10-28 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- JSC JIT on ARMv7 cannot link jumps >16Mb range
- https://bugs.webkit.org/show_bug.cgi?id=30891
-
- Start planing all relative jumps as move-32-bit-immediate-to-register-BX.
- In the cases where the jump would fall within a relative jump range, use a relative jump.
-
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * assembler/ARMv7Assembler.h:
- (JSC::ARMv7Assembler::~ARMv7Assembler):
- (JSC::ARMv7Assembler::LinkRecord::LinkRecord):
- (JSC::ARMv7Assembler::):
- (JSC::ARMv7Assembler::executableCopy):
- (JSC::ARMv7Assembler::linkJump):
- (JSC::ARMv7Assembler::relinkJump):
- (JSC::ARMv7Assembler::setInt32):
- (JSC::ARMv7Assembler::isB):
- (JSC::ARMv7Assembler::isBX):
- (JSC::ARMv7Assembler::isMOV_imm_T3):
- (JSC::ARMv7Assembler::isMOVT):
- (JSC::ARMv7Assembler::isNOP_T1):
- (JSC::ARMv7Assembler::isNOP_T2):
- (JSC::ARMv7Assembler::linkJumpAbsolute):
- (JSC::ARMv7Assembler::twoWordOp5i6Imm4Reg4EncodedImmFirst):
- (JSC::ARMv7Assembler::twoWordOp5i6Imm4Reg4EncodedImmSecond):
- (JSC::ARMv7Assembler::ARMInstructionFormatter::twoWordOp5i6Imm4Reg4EncodedImm):
- * assembler/MacroAssemblerARMv7.h:
- (JSC::MacroAssemblerARMv7::makeJump):
- (JSC::MacroAssemblerARMv7::makeBranch):
- * jit/JIT.h:
- * wtf/Platform.h:
-
-2009-10-28 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Geoff Garen.
-
- Improve for..in enumeration performance
- https://bugs.webkit.org/show_bug.cgi?id=30887
-
- Improve indexing of an object with a for..in iterator by
- identifying cases where get_by_val is being used with a iterator
- as the subscript and replace it with a new get_by_pname
- bytecode. get_by_pname then optimizes lookups that directly access
- the base object.
-
- * bytecode/CodeBlock.cpp:
- (JSC::CodeBlock::dump):
- * bytecode/Opcode.h:
- * bytecompiler/BytecodeGenerator.cpp:
- (JSC::BytecodeGenerator::emitGetByVal):
- * bytecompiler/BytecodeGenerator.h:
- (JSC::BytecodeGenerator::pushOptimisedForIn):
- (JSC::BytecodeGenerator::popOptimisedForIn):
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::privateExecute):
- * jit/JIT.cpp:
- (JSC::JIT::privateCompileMainPass):
- (JSC::JIT::privateCompileSlowCases):
- * jit/JIT.h:
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::compileGetDirectOffset):
- (JSC::JIT::emit_op_get_by_pname):
- (JSC::JIT::emitSlow_op_get_by_pname):
- * parser/Nodes.cpp:
- (JSC::ForInNode::emitBytecode):
- * runtime/JSObject.h:
- * runtime/JSPropertyNameIterator.cpp:
- (JSC::JSPropertyNameIterator::create):
- * runtime/JSPropertyNameIterator.h:
- (JSC::JSPropertyNameIterator::getOffset):
- (JSC::JSPropertyNameIterator::JSPropertyNameIterator):
- * runtime/JSValue.h:
- (JSC::JSValue::):
- * runtime/Structure.cpp:
- (JSC::Structure::addPropertyTransition):
- (JSC::Structure::changePrototypeTransition):
- (JSC::Structure::despecifyFunctionTransition):
- (JSC::Structure::addAnonymousSlotsTransition):
- (JSC::Structure::getterSetterTransition):
- (JSC::Structure::toDictionaryTransition):
- (JSC::Structure::addPropertyWithoutTransition):
- Track the existence (or not) of non-enumerable properties.
- * runtime/Structure.h:
- (JSC::Structure::propertyStorageCapacity):
- (JSC::Structure::propertyStorageSize):
- (JSC::Structure::hasNonEnumerableProperties):
- (JSC::Structure::hasAnonymousSlots):
-
-2009-10-28 Dmitry Titov <dimich@chromium.org>
-
- Not reviewed, attemp to fix Windows build.
-
- Touch the cpp file to cause recompile.
-
- * wtf/Threading.cpp:
- (WTF::threadEntryPoint):
-
-2009-10-28 Dmitry Titov <dimich@chromium.org>
-
- Reviewed by David Levin.
-
- https://bugs.webkit.org/show_bug.cgi?id=30805
- Add MessageQueue::removeIf(Predicate&) to remove certain tasks without pulling them from the queue.
- Existing Database tests cover this since Database removes tasks when it is stopped.
-
- * wtf/MessageQueue.h:
- (WTF::::removeIf):
-
-2009-10-28 Afonso R. Costa Jr. <afonso.costa@openbossa.org>
-
- Reviewed by Oliver Hunt.
-
- [Qt] Enable YARR when YARR_JIT is enabled
- https://bugs.webkit.org/show_bug.cgi?id=30730
-
- When enabling or disabling JIT using JAVASCRIPTCORE_JIT, the ENABLE_YARR should
- be toggled also.
-
- * JavaScriptCore.pri:
-
-2009-10-24 Martin Robinson <martin.james.robinson@gmail.com>
-
- Reviewed by Oliver Hunt.
-
- Fix strict aliasing warning by switching reinterpret_cast to bitwise_cast.
-
- strict-aliasing warnings in JSFunction.h
- https://bugs.webkit.org/show_bug.cgi?id=27869
-
- * runtime/JSFunction.h:
- (JSC::JSFunction::nativeFunction):
- (JSC::JSFunction::scopeChain):
- (JSC::JSFunction::setScopeChain):
- (JSC::JSFunction::setNativeFunction):
-
-2009-10-28 Jan-Arve Sæther <jan-arve.saether@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- Build-fix for 64-bit Windows
-
- * wtf/Platform.h: Make sure to use WTF_USE_JSVALUE64
-
-2009-10-28 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (build fix!).
-
- * jit/JIT.h:
-
-2009-10-26 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Rubber-stamped by Darin Adler.
-
- Export fastMalloc, fastCalloc, fastRealloc and fastFree on GCC/Unix
- https://bugs.webkit.org/show_bug.cgi?id=30769
-
- When using -fvisibility=hidden to hide all internal symbols by default
- the malloc symbols will be hidden as well. For memory instrumentation
- it is needed to provide an instrumented version of these symbols and
- override the normal routines and by changing the visibility back to
- default this becomes possible.
-
- The only other solution would be to use system malloc instead of the
- TCmalloc implementation but this will not allow to analyze memory
- behavior with the default allocator.
-
- * wtf/FastMalloc.h: Define WTF_FAST_MALLOC_EXPORT for GCC and !darwin
-
-2009-10-27 Gavin Barraclough <barraclough@apple.com>
-
- Rubber Stamped by Samuel Q. Weinig.
-
- Make the asserts protecting the offsets in the JIT more descriptive.
-
- * jit/JIT.h:
- * jit/JITCall.cpp:
- (JSC::JIT::compileOpCall):
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::emit_op_method_check):
- (JSC::JIT::compileGetByIdHotPath):
- (JSC::JIT::compileGetByIdSlowCase):
- (JSC::JIT::emit_op_put_by_id):
-
-2009-10-27 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- A little bit of refactoring in the date code.
-
- * JavaScriptCore.exp: Don't export this unused symbol.
-
- * runtime/DateConstructor.cpp:
- (JSC::constructDate):
-
- * runtime/DateInstance.cpp:
- (JSC::DateInstance::DateInstance):
- * runtime/DateInstance.h: Removed some unused functions. Changed the default
- constructor to ensure that a DateInstance is always initialized.
-
- * runtime/DatePrototype.cpp:
- (JSC::DatePrototype::DatePrototype): Pass an initializer to our constructor,
- since it now requires one.
-
- * wtf/DateMath.cpp:
- (WTF::msToGregorianDateTime): Only compute our offset from UTC if our
- output will require it. Otherwise, our offset is 0.
-
-2009-10-27 Geoffrey Garen <ggaren@apple.com>
-
- Build fix: Mark DateInstaceCache.h private, so other frameworks can see it.
-
- * JavaScriptCore.xcodeproj/project.pbxproj:
-
-2009-10-27 Geoffrey Garen <ggaren@apple.com>
-
- Build fix: re-readded this file.
-
- * runtime/DateInstanceCache.h: Added.
- (JSC::DateInstanceData::create):
- (JSC::DateInstanceData::DateInstanceData):
- (JSC::DateInstanceCache::DateInstanceCache):
- (JSC::DateInstanceCache::add):
- (JSC::DateInstanceCache::lookup):
-
-2009-10-27 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler and Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=30800
- Cache recently computed date data.
-
- SunSpider reports a ~0.5% speedup, mostly from date-format-tofte.js.
-
- * GNUmakefile.am:
- * JavaScriptCore.gypi:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
- * JavaScriptCore.xcodeproj/project.pbxproj: Added new file.
-
- * runtime/DateInstance.cpp:
- (JSC::DateInstance::DateInstance):
- (JSC::DateInstance::getGregorianDateTime): Use the shared cache.
-
- * runtime/DateInstance.h: Renamed m_cache to m_data, to avoid the confusion
- of a "cache cache".
-
- * runtime/DatePrototype.cpp:
- (JSC::formatLocaleDate):
- (JSC::dateProtoFuncToString):
- (JSC::dateProtoFuncToUTCString):
- (JSC::dateProtoFuncToISOString):
- (JSC::dateProtoFuncToDateString):
- (JSC::dateProtoFuncToTimeString):
- (JSC::dateProtoFuncGetFullYear):
- (JSC::dateProtoFuncGetUTCFullYear):
- (JSC::dateProtoFuncToGMTString):
- (JSC::dateProtoFuncGetMonth):
- (JSC::dateProtoFuncGetUTCMonth):
- (JSC::dateProtoFuncGetDate):
- (JSC::dateProtoFuncGetUTCDate):
- (JSC::dateProtoFuncGetDay):
- (JSC::dateProtoFuncGetUTCDay):
- (JSC::dateProtoFuncGetHours):
- (JSC::dateProtoFuncGetUTCHours):
- (JSC::dateProtoFuncGetMinutes):
- (JSC::dateProtoFuncGetUTCMinutes):
- (JSC::dateProtoFuncGetSeconds):
- (JSC::dateProtoFuncGetUTCSeconds):
- (JSC::dateProtoFuncGetTimezoneOffset):
- (JSC::setNewValueFromTimeArgs):
- (JSC::setNewValueFromDateArgs):
- (JSC::dateProtoFuncSetYear):
- (JSC::dateProtoFuncGetYear): Pass an ExecState to these functions, so they
- can access the DateInstanceCache.
-
- * runtime/JSGlobalData.h: Keep a DateInstanceCache.
-
-2009-10-27 James Robinson <jamesr@chromium.org>
-
- Reviewed by Darin Fisher.
-
- Ensures that JavaScriptCore/wtf/CurrentTime.cpp is not built in PLATFORM(CHROMIUM) builds.
-
- Chromium uses a different method to calculate the current time than is used in
- JavaScriptCore/wtf/CurrentTime.cpp. This can lead to time skew when calls to currentTime() and Chromium's time
- function are mixed. In particular, timers can get scheduled in the past which leads to 100% CPU use.
- See http://code.google.com/p/chromium/issues/detail?id=25892 for an example.
-
- https://bugs.webkit.org/show_bug.cgi?id=30833
-
- * JavaScriptCore.gyp/JavaScriptCore.gyp:
- * wtf/CurrentTime.cpp:
-
-2009-10-27 Peter Varga <pvarga@inf.u-szeged.hu>
-
- Rubber-stamped by Tor Arne Vestbø.
-
- Fix typo in RegexInterpreter.cpp and RegexJIT.cpp alterantive to
- alternative.
-
- * yarr/RegexInterpreter.cpp:
- (JSC::Yarr::ByteCompiler::alternativeBodyDisjunction):
- (JSC::Yarr::ByteCompiler::alternativeDisjunction):
- (JSC::Yarr::ByteCompiler::emitDisjunction):
- * yarr/RegexJIT.cpp:
- (JSC::Yarr::RegexGenerator::generateDisjunction):
-
-2009-10-26 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Darin Adler.
-
- Make .rc files compile on Windows without depending on MFC headers
- https://bugs.webkit.org/show_bug.cgi?id=30750
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.rc: Use
- winresrc.h because it exists even when MFC is not installed, and is
- all that's needed here.
-
-2009-10-26 Gabor Loki <loki@inf.u-szeged.hu>
-
- Reviewed by Gavin Barraclough.
-
- The thunkReturnAddress is on JITStackFrame on ARM JIT as well
- https://bugs.webkit.org/show_bug.cgi?id=30782
-
- Move the thunkReturnAddress from top of the stack into the JITStackFrame
- structure. This is a requirement for JSValue32_64 support on ARM.
-
- * assembler/MacroAssemblerARM.h:
- (JSC::MacroAssemblerARM::ret): Return with link register
- (JSC::MacroAssemblerARM::prepareCall): Store the return address in link register
- * jit/JIT.h: Remove unused ctiReturnRegister
- * jit/JITInlineMethods.h: Same as ARMv7
- (JSC::JIT::restoreArgumentReference): Ditto.
- (JSC::JIT::restoreArgumentReferenceForTrampoline): Ditto.
- * jit/JITOpcodes.cpp: Remove ctiReturnRegister related instruction
- * jit/JITStubs.cpp: Store thunkReturnAddress on JITStackFrame. Use
- small trampoline functions which handle return addresses for each
- CTI_STUB_FUNCTION.
- * jit/JITStubs.h: Store thunkReturnAddress on JITStackFrame
- (JSC::JITStackFrame::returnAddressSlot): Return with the address of thunkReturnAddress
- * yarr/RegexJIT.cpp:
- (JSC::Yarr::RegexGenerator::generateEnter): Remove the unnecessary instruction
-
-2009-10-26 Steve Block <steveblock@google.com>
-
- Reviewed by Darin Adler.
-
- Adds ability to disable ReadWriteLock on platforms (eg Android) that use pthreads but do not support pthread_rwlock.
- https://bugs.webkit.org/show_bug.cgi?id=30713
-
- * wtf/Platform.h: Modified. Defines HAVE_PTHREAD_RWLOCK for all platforms currently using pthreads.
- * wtf/Threading.h: Modified. Use pthread_rwlock_t only when HAVE_PTHREAD_RWLOCK is defined.
- * wtf/ThreadingPthreads.cpp: Modified. Build ReadWriteLock methods only when HAVE_PTHREAD_RWLOCK is defined.
-
-2009-10-24 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Holger Freyther.
-
- [Qt] [Symbian] Set the capability and memory required to run QtWebKit for Symbian
- https://bugs.webkit.org/show_bug.cgi?id=30476
-
- Assign ReadUserData WriteUserData NetworkServices Symbian capabilities
- to jsc.exe.
-
- * jsc.pro:
-
-2009-10-23 Steve Block <steveblock@google.com>
-
- Reviewed by Dmitry Titov.
-
- Fixes a leak in createThreadInternal on Android.
- https://bugs.webkit.org/show_bug.cgi?id=30698
-
- * wtf/ThreadingPthreads.cpp: Modified.
- (WTF::createThreadInternal): Avoid leaking a ThreadData object on failure.
-
-2009-10-22 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- Fixed ASSERT when opening Safari's Caches window while the Web Inspector
- is open.
-
- * runtime/Collector.cpp:
- (JSC::typeName): Added two new types to the type name list in the Collector.
- These types have been around for a while, but nobody remembered to consider them here.
-
- * runtime/JSCell.h:
- (JSC::JSCell::isPropertyNameIterator):
- * runtime/JSPropertyNameIterator.h:
- (JSC::JSPropertyNameIterator::isPropertyNameIterator): Give the Collector
- a way to tell if a cell is a JSPropertyNameIterator.
-
-2009-10-22 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Jon Honeycutt.
-
- https://bugs.webkit.org/show_bug.cgi?id=30686
- Remove debug-specific def file.
- Only Debug_All target uses JavaScriptCore_debug.dll naming, and since
- that target is only used internally, maintaining two files just to
- suppress a single link warning isn't worthwhile.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def: Removed.
-
-2009-10-21 Jon Honeycutt <jhoneycutt@apple.com>
-
- <rdar://problem/7270320> Screenshots of off-screen plug-ins are blank
- <rdar://problem/7270314> After halting a transparent PluginView on
- Windows, the transparency is applied twice
-
- Reviewed by Dan Bernstein.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- Export WTF::deleteOwnedPtr(HDC).
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
- Ditto.
-
-2009-10-20 Geoffrey Garen <ggaren@apple.com>
-
- Windows build fix: updated variable name.
-
- * runtime/DatePrototype.cpp:
- (JSC::formatLocaleDate):
-
-2009-10-20 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Mark Rowe.
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_next_pname): Slightly tweaked this #ifdef to match the
- size of a JSValue because m_jsStrings is an array of JSValues.
-
-2009-10-20 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Mark Rowe.
-
- Fixed a 64-bit regression caused by the fix for
- https://bugs.webkit.org/show_bug.cgi?id=30570.
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_next_pname): Use TimesEight stepping on 64-bit, since
- 64-bit pointers are eight bytes long.
-
-2009-10-20 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Refactored DateInstance::msToGregorianDateTime so that a DateInstance's
- caller doesn't need to supply the DateInstance's own internal value to
- the DateInstance.
-
- * runtime/DateInstance.cpp:
- (JSC::DateInstance::getGregorianDateTime): Renamed from "msToGregorianDateTime".
-
- * runtime/DateInstance.h:
* runtime/DatePrototype.cpp:
(JSC::formatLocaleDate):
+ (JSC::fillStructuresUsingTimeArgs):
+ (JSC::fillStructuresUsingDateArgs):
(JSC::dateProtoFuncToString):
(JSC::dateProtoFuncToUTCString):
(JSC::dateProtoFuncToISOString):
@@ -16059,12073 +284,576 @@ The very last cell in the block is not allocated -- should not be marked.
(JSC::dateProtoFuncGetUTCMinutes):
(JSC::dateProtoFuncGetSeconds):
(JSC::dateProtoFuncGetUTCSeconds):
+ (JSC::dateProtoFuncGetMilliSeconds):
+ (JSC::dateProtoFuncGetUTCMilliseconds):
(JSC::dateProtoFuncGetTimezoneOffset):
+ (JSC::dateProtoFuncSetTime):
(JSC::setNewValueFromTimeArgs):
(JSC::setNewValueFromDateArgs):
+ (JSC::dateProtoFuncSetMilliSeconds):
+ (JSC::dateProtoFuncSetUTCMilliseconds):
+ (JSC::dateProtoFuncSetSeconds):
+ (JSC::dateProtoFuncSetUTCSeconds):
+ (JSC::dateProtoFuncSetMinutes):
+ (JSC::dateProtoFuncSetUTCMinutes):
+ (JSC::dateProtoFuncSetHours):
+ (JSC::dateProtoFuncSetUTCHours):
+ (JSC::dateProtoFuncSetDate):
+ (JSC::dateProtoFuncSetUTCDate):
+ (JSC::dateProtoFuncSetMonth):
+ (JSC::dateProtoFuncSetUTCMonth):
+ (JSC::dateProtoFuncSetFullYear):
+ (JSC::dateProtoFuncSetUTCFullYear):
(JSC::dateProtoFuncSetYear):
- (JSC::dateProtoFuncGetYear): Also renamed "utc" to "outputIsUTC", for clarity.
-
-2009-10-20 Gabor Loki <loki@inf.u-szeged.hu>
-
- Reviewed by Geoffrey Garen.
-
- The op_next_pname should use 4 bytes addressing mode in case of JSValue32
- https://bugs.webkit.org/show_bug.cgi?id=30570
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_next_pname):
-
-2009-10-20 Gabor Loki <loki@inf.u-szeged.hu>
-
- Reviewed by Oliver Hunt.
-
- Move OverridesMarkChildren flag from DatePrototype to its parent class
- https://bugs.webkit.org/show_bug.cgi?id=30372
-
- * runtime/DateInstance.h:
- (JSC::DateInstance::createStructure):
- * runtime/DatePrototype.h:
-
-2009-10-19 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Tightened up some put_by_id_transition code generation.
- https://bugs.webkit.org/show_bug.cgi?id=30539
-
- * jit/JIT.h:
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::testPrototype):
- (JSC::JIT::privateCompilePutByIdTransition): No need to do object type
- checks or read Structures and prototypes from objects: they're all known
- constants at compile time.
-
-2009-10-19 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Added a private API for getting a global context from a context, for
- clients who want to preserve a context for a later callback.
-
- * API/APICast.h:
- (toGlobalRef): Added an ASSERT, since this function is used more often
- than before.
-
- * API/JSContextRef.cpp:
- * API/JSContextRefPrivate.h: Added. The new API.
-
- * API/tests/testapi.c:
- (print_callAsFunction):
- (main): Test the new API.
-
- * JavaScriptCore.exp:
- * JavaScriptCore.xcodeproj/project.pbxproj: Build and export the new API.
-
-2009-10-17 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Tightened up some instanceof code generation.
- https://bugs.webkit.org/show_bug.cgi?id=30488
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_instanceof):
- (JSC::JIT::emitSlow_op_instanceof): No need to do object type checks -
- cell type checks and ImplementsDefaultHasIntance checks implicitly
- supersede object type checks.
-
-2009-10-18 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Darin Adler.
-
- Use _stricmp and _strnicmp instead of deprecated stricmp and strnicmp.
- https://bugs.webkit.org/show_bug.cgi?id=30474
-
- stricmp and strnicmp are deprecated beginning in Visual
- C++ 2005. Use _stricmp and _strnicmp instead in StringExtras.h.
-
- * wtf/StringExtras.h:
- (strncasecmp):
- (strcasecmp):
-
-2009-10-16 Geoffrey Garen <ggaren@apple.com>
-
- Build fix: apparently we shouldn't export those symbols?
-
- * JavaScriptCore.exp:
-
-2009-10-16 Geoffrey Garen <ggaren@apple.com>
-
- Build fix: export some symbols.
-
- * JavaScriptCore.exp:
-
-2009-10-16 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- structure typeinfo flags should be inherited.
- https://bugs.webkit.org/show_bug.cgi?id=30468
-
- Add StructureFlag constant to the various JSC classes and use
- it for the TypeInfo construction. This allows us to simply
- accumulate flags by basing each classes StructureInfo on its parents.
-
- * API/JSCallbackConstructor.h:
- (JSC::JSCallbackConstructor::createStructure):
- * API/JSCallbackFunction.h:
- (JSC::JSCallbackFunction::createStructure):
- * API/JSCallbackObject.h:
- (JSC::JSCallbackObject::createStructure):
- * debugger/DebuggerActivation.h:
- (JSC::DebuggerActivation::createStructure):
- * runtime/Arguments.h:
- (JSC::Arguments::createStructure):
- * runtime/BooleanObject.h:
- (JSC::BooleanObject::createStructure):
- * runtime/DatePrototype.h:
- (JSC::DatePrototype::createStructure):
- * runtime/FunctionPrototype.h:
- (JSC::FunctionPrototype::createStructure):
- * runtime/GlobalEvalFunction.h:
- (JSC::GlobalEvalFunction::createStructure):
- * runtime/InternalFunction.h:
- (JSC::InternalFunction::createStructure):
- * runtime/JSActivation.h:
- (JSC::JSActivation::createStructure):
- * runtime/JSArray.h:
- (JSC::JSArray::createStructure):
- * runtime/JSByteArray.cpp:
- (JSC::JSByteArray::createStructure):
- * runtime/JSByteArray.h:
- * runtime/JSFunction.h:
- (JSC::JSFunction::createStructure):
- * runtime/JSGlobalObject.h:
- (JSC::JSGlobalObject::createStructure):
- * runtime/JSNotAnObject.h:
- (JSC::JSNotAnObject::createStructure):
- * runtime/JSONObject.h:
- (JSC::JSONObject::createStructure):
- * runtime/JSObject.h:
- (JSC::JSObject::createStructure):
- * runtime/JSStaticScopeObject.h:
- (JSC::JSStaticScopeObject::createStructure):
- * runtime/JSVariableObject.h:
- (JSC::JSVariableObject::createStructure):
- * runtime/JSWrapperObject.h:
- (JSC::JSWrapperObject::createStructure):
- * runtime/MathObject.h:
- (JSC::MathObject::createStructure):
- * runtime/NumberConstructor.h:
- (JSC::NumberConstructor::createStructure):
- * runtime/NumberObject.h:
- (JSC::NumberObject::createStructure):
- * runtime/RegExpConstructor.h:
- (JSC::RegExpConstructor::createStructure):
- * runtime/RegExpObject.h:
- (JSC::RegExpObject::createStructure):
- * runtime/StringObject.h:
- (JSC::StringObject::createStructure):
- * runtime/StringObjectThatMasqueradesAsUndefined.h:
- (JSC::StringObjectThatMasqueradesAsUndefined::createStructure):
-
-2009-10-16 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Fast for-in enumeration: Cache JSPropertyNameIterator; cache JSStrings
- in JSPropertyNameIterator; inline more code.
-
- 1.024x as fast on SunSpider (fasta: 1.43x as fast).
-
- * bytecode/CodeBlock.cpp:
- (JSC::CodeBlock::dump):
- * bytecode/Opcode.h:
- * bytecompiler/BytecodeGenerator.cpp:
- (JSC::BytecodeGenerator::emitGetPropertyNames):
- (JSC::BytecodeGenerator::emitNextPropertyName):
- * bytecompiler/BytecodeGenerator.h: Added a few extra operands to
- op_get_pnames and op_next_pname so that we can track iteration state
- in the register file instead of in the JSPropertyNameIterator. (To be
- cacheable, the JSPropertyNameIterator must be stateless.)
-
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::tryCachePutByID):
- (JSC::Interpreter::tryCacheGetByID): Updated for rename to
- "normalizePrototypeChain" and removal of "isCacheable".
-
- (JSC::Interpreter::privateExecute): Updated for in-RegisterFile
- iteration state tracking.
-
- * jit/JIT.cpp:
- (JSC::JIT::privateCompileMainPass):
- * jit/JIT.h:
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_get_pnames): Updated for in-RegisterFile
- iteration state tracking.
-
- (JSC::JIT::emit_op_next_pname): Inlined code generation for op_next_pname.
-
- * jit/JITStubs.cpp:
- (JSC::JITThunks::tryCachePutByID):
- (JSC::JITThunks::tryCacheGetByID): Updated for rename to
- "normalizePrototypeChain" and removal of "isCacheable".
-
- (JSC::DEFINE_STUB_FUNCTION):
- * jit/JITStubs.h:
- (JSC::): Added has_property and to_object stubs. Removed op_next_pname
- stub, since has_property is all we need anymore.
-
- * parser/Nodes.cpp:
- (JSC::ForInNode::emitBytecode): Updated for in-RegisterFile
- iteration state tracking.
-
- * runtime/JSCell.h:
- * runtime/JSObject.cpp:
- (JSC::JSObject::getPropertyNames): Don't do caching at this layer
- anymore, since we don't create a JSPropertyNameIterator at this layer.
-
- * runtime/JSPropertyNameIterator.cpp:
- (JSC::JSPropertyNameIterator::create): Do do caching at this layer.
- (JSC::JSPropertyNameIterator::get): Updated for in-RegisterFile
- iteration state tracking.
- (JSC::JSPropertyNameIterator::markChildren): Mark our JSStrings.
-
- * runtime/JSPropertyNameIterator.h:
- (JSC::JSPropertyNameIterator::size):
- (JSC::JSPropertyNameIterator::setCachedStructure):
- (JSC::JSPropertyNameIterator::cachedStructure):
- (JSC::JSPropertyNameIterator::setCachedPrototypeChain):
- (JSC::JSPropertyNameIterator::cachedPrototypeChain):
- (JSC::JSPropertyNameIterator::JSPropertyNameIterator):
- (JSC::Structure::setEnumerationCache): Don't store iteration state in
- a JSPropertyNameIterator. Do cache a JSPropertyNameIterator in a
- Structure.
-
- * runtime/JSValue.h:
- (JSC::asCell):
- * runtime/MarkStack.h: Make those mischievous #include gods happy.
-
- * runtime/ObjectConstructor.cpp:
-
- * runtime/Operations.h:
- (JSC::normalizePrototypeChain): Renamed countPrototypeChainEntriesAndCheckForProxies
- to normalizePrototypeChain, since it changes dictionary prototypes to
- non-dictionary objects.
-
- * runtime/PropertyNameArray.cpp:
- (JSC::PropertyNameArray::add):
- * runtime/PropertyNameArray.h:
- (JSC::PropertyNameArrayData::PropertyNameArrayData):
- (JSC::PropertyNameArray::data):
- (JSC::PropertyNameArray::size):
- (JSC::PropertyNameArray::begin):
- (JSC::PropertyNameArray::end): Simplified some code here to help with
- current and future refactoring.
-
- * runtime/Protect.h:
- * runtime/Structure.cpp:
- (JSC::Structure::~Structure):
- (JSC::Structure::addPropertyWithoutTransition):
- (JSC::Structure::removePropertyWithoutTransition): No need to clear
- the enumeration cache with adding / removing properties without
- transition. It is an error to add / remove properties without transition
- once an object has been observed, and we can ASSERT to catch that.
-
- * runtime/Structure.h:
- (JSC::Structure::enumerationCache): Changed the enumeration cache to
- hold a JSPropertyNameIterator.
-
- * runtime/StructureChain.cpp:
- * runtime/StructureChain.h:
- (JSC::StructureChain::head): Removed StructureChain::isCacheable because
- it was wrong-headed in two ways: (1) It gave up when a prototype was a
- dictionary, but instead we want un-dictionary heavily accessed
- prototypes; (2) It folded a test for hasDefaultGetPropertyNames() into
- a generic test for "cacheable-ness", but hasDefaultGetPropertyNames()
- is only releavant to for-in caching.
-
-2009-10-16 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam Roben.
-
- Add a Debug_All configuration to build entire stack as debug.
- Change Debug_Internal to:
- - stop using _debug suffix for all WebKit/Safari binaries
- - not use _debug as a DLL naming suffix
- - use non-debug C runtime lib.
-
- * JavaScriptCore.vcproj/JavaScriptCore.make: Debug build in makefile should build Debug_All.
- * JavaScriptCore.vcproj/JavaScriptCore.sln: Add Debug_All configuration.
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Add Debug_All configuration.
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.vcproj: Renamed single configuration from "Release" to "all".
- * JavaScriptCore.vcproj/JavaScriptCoreSubmit.sln: Add Debug_All configuration.
- * JavaScriptCore.vcproj/WTF/WTF.vcproj: Add Debug_All configuration.
- * JavaScriptCore.vcproj/jsc/jsc.vcproj: Add Debug_All configuration.
- * JavaScriptCore.vcproj/testapi/testapi.vcproj: Add Debug_All configuration.
-
-2009-10-16 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Make typeinfo flags default to false
- https://bugs.webkit.org/show_bug.cgi?id=30372
-
- Last part -- replace HasDefaultGetPropertyNames with OverridesGetPropertyNames
- flag.
-
- * API/JSCallbackConstructor.h:
- (JSC::JSCallbackConstructor::createStructure):
- * API/JSCallbackObject.h:
- (JSC::JSCallbackObject::createStructure):
- * debugger/DebuggerActivation.h:
- (JSC::DebuggerActivation::createStructure):
- * runtime/Arguments.h:
- (JSC::Arguments::createStructure):
- * runtime/BooleanObject.h:
- (JSC::BooleanObject::createStructure):
- * runtime/DatePrototype.h:
- (JSC::DatePrototype::createStructure):
- * runtime/FunctionPrototype.h:
- (JSC::FunctionPrototype::createStructure):
- * runtime/GlobalEvalFunction.h:
- (JSC::GlobalEvalFunction::createStructure):
- * runtime/JSAPIValueWrapper.h:
- (JSC::JSAPIValueWrapper::createStructure):
- * runtime/JSActivation.h:
- (JSC::JSActivation::createStructure):
- * runtime/JSArray.h:
- (JSC::JSArray::createStructure):
- * runtime/JSByteArray.cpp:
- (JSC::JSByteArray::createStructure):
- * runtime/JSFunction.h:
- (JSC::JSFunction::createStructure):
- * runtime/JSGlobalObject.h:
- (JSC::JSGlobalObject::createStructure):
- * runtime/JSNotAnObject.h:
- (JSC::JSNotAnObject::createStructure):
- * runtime/JSONObject.h:
- (JSC::JSONObject::createStructure):
- * runtime/JSObject.cpp:
- (JSC::JSObject::getPropertyNames):
- * runtime/JSObject.h:
- (JSC::JSObject::createStructure):
- * runtime/JSStaticScopeObject.h:
- (JSC::JSStaticScopeObject::createStructure):
- * runtime/JSTypeInfo.h:
- (JSC::TypeInfo::overridesGetPropertyNames):
- * runtime/JSVariableObject.h:
- (JSC::JSVariableObject::createStructure):
- * runtime/JSWrapperObject.h:
- (JSC::JSWrapperObject::createStructure):
- * runtime/MathObject.h:
- (JSC::MathObject::createStructure):
- * runtime/NumberConstructor.h:
- (JSC::NumberConstructor::createStructure):
- * runtime/NumberObject.h:
- (JSC::NumberObject::createStructure):
- * runtime/RegExpConstructor.h:
- (JSC::RegExpConstructor::createStructure):
- * runtime/RegExpObject.h:
- (JSC::RegExpObject::createStructure):
- * runtime/StringObject.h:
- (JSC::StringObject::createStructure):
- * runtime/StringObjectThatMasqueradesAsUndefined.h:
- (JSC::StringObjectThatMasqueradesAsUndefined::createStructure):
- * runtime/StructureChain.cpp:
- (JSC::StructureChain::isCacheable):
-
-2009-10-16 Kevin Ollivier <kevino@theolliviers.com>
-
- wxMSW build fix, we can't use the simple hash there because the PlatformModuleVersion
- structure differs.
-
- * wtf/Platform.h:
-
-2009-10-16 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Implement ExecutableAllocator for Symbian
- https://bugs.webkit.org/show_bug.cgi?id=29946
-
- Tested with YARR JIT enabled for Symbian;
- This patch does not (yet) enable YARR JIT by default.
-
- * JavaScriptCore.pri:
- * jit/ExecutableAllocator.h:
- * jit/ExecutableAllocatorSymbian.cpp: Added.
- (JSC::ExecutableAllocator::intializePageSize):
- (JSC::ExecutablePool::systemAlloc):
- (JSC::ExecutablePool::systemRelease):
-
-2009-10-15 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Darin Adler.
-
- Make typeinfo flags default to false
- https://bugs.webkit.org/show_bug.cgi?id=30372
-
- Part 2 -- Reverse the TypeInfo HasDefaultMark flag to OverridesMarkChildren, etc
-
- * API/JSCallbackConstructor.h:
- (JSC::JSCallbackConstructor::createStructure):
- * API/JSCallbackFunction.h:
- (JSC::JSCallbackFunction::createStructure):
- * API/JSCallbackObject.h:
- (JSC::JSCallbackObject::createStructure):
- * debugger/DebuggerActivation.h:
- (JSC::DebuggerActivation::createStructure):
- * runtime/Arguments.h:
- (JSC::Arguments::createStructure):
- * runtime/BooleanObject.h:
- (JSC::BooleanObject::createStructure):
- * runtime/DatePrototype.h:
- (JSC::DatePrototype::createStructure):
- * runtime/FunctionPrototype.h:
- (JSC::FunctionPrototype::createStructure):
- * runtime/GetterSetter.h:
- (JSC::GetterSetter::createStructure):
- * runtime/GlobalEvalFunction.h:
- (JSC::GlobalEvalFunction::createStructure):
- * runtime/InternalFunction.h:
- (JSC::InternalFunction::createStructure):
- * runtime/JSAPIValueWrapper.h:
- (JSC::JSAPIValueWrapper::createStructure):
- * runtime/JSActivation.h:
- (JSC::JSActivation::createStructure):
- * runtime/JSArray.h:
- (JSC::JSArray::createStructure):
- (JSC::MarkStack::markChildren):
- * runtime/JSByteArray.cpp:
- (JSC::JSByteArray::createStructure):
- * runtime/JSFunction.h:
- (JSC::JSFunction::createStructure):
- * runtime/JSGlobalObject.h:
- (JSC::JSGlobalObject::createStructure):
- * runtime/JSNotAnObject.h:
- (JSC::JSNotAnObject::createStructure):
- * runtime/JSNumberCell.h:
- (JSC::JSNumberCell::createStructure):
- * runtime/JSONObject.h:
- (JSC::JSONObject::createStructure):
- * runtime/JSObject.h:
- (JSC::JSObject::createStructure):
- * runtime/JSPropertyNameIterator.h:
- (JSC::JSPropertyNameIterator::createStructure):
- * runtime/JSStaticScopeObject.h:
- (JSC::JSStaticScopeObject::createStructure):
- * runtime/JSString.h:
- (JSC::JSString::createStructure):
- * runtime/JSTypeInfo.h:
- (JSC::TypeInfo::overridesMarkChildren):
- * runtime/JSVariableObject.h:
- (JSC::JSVariableObject::createStructure):
- * runtime/JSWrapperObject.h:
- (JSC::JSWrapperObject::createStructure):
- * runtime/MathObject.h:
- (JSC::MathObject::createStructure):
- * runtime/NumberConstructor.h:
- (JSC::NumberConstructor::createStructure):
- * runtime/NumberObject.h:
- (JSC::NumberObject::createStructure):
- * runtime/RegExpConstructor.h:
- (JSC::RegExpConstructor::createStructure):
- * runtime/RegExpObject.h:
- (JSC::RegExpObject::createStructure):
- * runtime/StringObject.h:
- (JSC::StringObject::createStructure):
- * runtime/StringObjectThatMasqueradesAsUndefined.h:
- (JSC::StringObjectThatMasqueradesAsUndefined::createStructure):
-
-2009-10-14 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Geoff Garen.
-
- Make typeinfo flags default to false
- https://bugs.webkit.org/show_bug.cgi?id=30372
-
- Part 1. Reverse the HasStandardGetOwnPropertySlot flag.
-
- * API/JSCallbackConstructor.h:
- (JSC::JSCallbackConstructor::createStructure):
- * API/JSCallbackFunction.h:
- (JSC::JSCallbackFunction::createStructure):
- * API/JSCallbackObject.h:
- (JSC::JSCallbackObject::createStructure):
- * debugger/DebuggerActivation.h:
- (JSC::DebuggerActivation::createStructure):
- * jit/JITStubs.cpp:
- (JSC::DEFINE_STUB_FUNCTION):
- * runtime/Arguments.h:
- (JSC::Arguments::createStructure):
- * runtime/BooleanObject.h:
- (JSC::BooleanObject::createStructure):
- * runtime/DatePrototype.h:
- (JSC::DatePrototype::createStructure):
- * runtime/FunctionPrototype.h:
- (JSC::FunctionPrototype::createStructure):
- * runtime/GlobalEvalFunction.h:
- (JSC::GlobalEvalFunction::createStructure):
- * runtime/InternalFunction.h:
- (JSC::InternalFunction::createStructure):
- * runtime/JSActivation.h:
- (JSC::JSActivation::createStructure):
- * runtime/JSArray.h:
- (JSC::JSArray::createStructure):
- * runtime/JSByteArray.cpp:
- (JSC::JSByteArray::createStructure):
- * runtime/JSFunction.h:
- (JSC::JSFunction::createStructure):
- * runtime/JSGlobalObject.h:
- (JSC::JSGlobalObject::createStructure):
- * runtime/JSNumberCell.h:
- (JSC::JSNumberCell::createStructure):
- * runtime/JSONObject.h:
- (JSC::JSONObject::createStructure):
- * runtime/JSObject.h:
- (JSC::JSObject::createStructure):
- (JSC::JSCell::fastGetOwnPropertySlot):
- * runtime/JSStaticScopeObject.h:
- (JSC::JSStaticScopeObject::createStructure):
- * runtime/JSString.h:
- (JSC::JSString::createStructure):
- * runtime/JSTypeInfo.h:
- (JSC::TypeInfo::overridesGetOwnPropertySlot):
- * runtime/JSVariableObject.h:
- (JSC::JSVariableObject::createStructure):
- * runtime/JSWrapperObject.h:
- (JSC::JSWrapperObject::createStructure):
- * runtime/MathObject.h:
- (JSC::MathObject::createStructure):
- * runtime/NumberConstructor.h:
- (JSC::NumberConstructor::createStructure):
- * runtime/NumberObject.h:
- (JSC::NumberObject::createStructure):
- * runtime/RegExpConstructor.h:
- (JSC::RegExpConstructor::createStructure):
- * runtime/RegExpObject.h:
- (JSC::RegExpObject::createStructure):
- * runtime/StringObject.h:
- (JSC::StringObject::createStructure):
- * runtime/StringObjectThatMasqueradesAsUndefined.h:
- (JSC::StringObjectThatMasqueradesAsUndefined::createStructure):
-
-2009-10-14 Kevin Ollivier <kevino@theolliviers.com>
-2009-10-14 Darin Adler <darin@apple.com>
-
- Additions so fix for https://bugs.webkit.org/show_bug.cgi?id=18994
- can build on Windows.
-
- * wtf/MathExtras.h: Added llround and llroundf for Windows.
-
-2009-10-14 Kevin Ollivier <kevino@theolliviers.com>
-
- wx build fix. Set ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH for plugins while we're still building stubs.
-
- * wtf/Platform.h:
-
-2009-10-13 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Refactor ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH
- https://bugs.webkit.org/show_bug.cgi?id=30278
-
- Move the definition of ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH
- from the make system into common code.
-
- * wtf/Platform.h:
-
-2009-10-13 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Darin Adler.
-
- ARM compiler does not understand reinterpret_cast<void*>
- https://bugs.webkit.org/show_bug.cgi?id=29034
-
- Change reinterpret_cast<void*> to regular C style (void*) cast
- for the ARM RVCT compiler.
-
- * assembler/MacroAssemblerCodeRef.h:
- (JSC::FunctionPtr::FunctionPtr):
- * jit/JITOpcodes.cpp: Cast to FunctionPtr first
- instead of directly casting to reinterpret_cast
- * jit/JITStubCall.h: Ditto + change the type of m_stub
- from void* to FunctionPtr.
- (JSC::JITStubCall::JITStubCall):
- (JSC::JITStubCall::call):
- * jit/JITStubs.cpp: Ditto.
- (JSC::DEFINE_STUB_FUNCTION(EncodedJSValue, op_throw)):
-
-2009-10-11 Oliver Hunt <oliver@apple.com>
-
- Re-enable the JIT.
-
- * wtf/Platform.h:
-
-2009-10-10 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Support for String.trim(), String.trimLeft() and String.trimRight() methods
- https://bugs.webkit.org/show_bug.cgi?id=26590
-
- Implement trim, trimLeft, and trimRight
-
- * runtime/StringPrototype.cpp:
- (JSC::isTrimWhitespace):
- Our normal string whitespace function does not include U+200B which
- is needed for compatibility with mozilla's implementation of trim.
- U+200B does not appear to be expected according to spec, however I am
- choosing to be lax, and match mozilla behavior so have added this
- exception.
- (JSC::trimString):
-
-2009-10-09 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Eliminated some legacy bytecode weirdness.
-
- Use vPC[x] subscripting instead of ++vPC to access instruction operands.
- This is simpler, and often more efficient.
-
- To support this, and to remove use of hard-coded offsets in bytecode and
- JIT code generation and dumping, calculate jump offsets from the beginning
- of an instruction, rather than the middle or end.
-
- Also, use OPCODE_LENGTH instead of hard-coded constants for the sizes of
- opcodes.
-
- SunSpider reports no change in JIT mode, and a 1.01x speedup in Interpreter
- mode.
-
- * bytecode/CodeBlock.cpp:
- (JSC::printConditionalJump):
- (JSC::CodeBlock::dump):
- * bytecompiler/BytecodeGenerator.cpp:
- (JSC::BytecodeGenerator::emitJump):
- (JSC::BytecodeGenerator::emitJumpIfTrue):
- (JSC::BytecodeGenerator::emitJumpIfFalse):
- (JSC::BytecodeGenerator::emitJumpIfNotFunctionCall):
- (JSC::BytecodeGenerator::emitJumpIfNotFunctionApply):
- (JSC::BytecodeGenerator::emitComplexJumpScopes):
- (JSC::BytecodeGenerator::emitJumpScopes):
- (JSC::BytecodeGenerator::emitNextPropertyName):
- (JSC::BytecodeGenerator::emitCatch):
- (JSC::BytecodeGenerator::emitJumpSubroutine):
- (JSC::prepareJumpTableForImmediateSwitch):
- (JSC::prepareJumpTableForCharacterSwitch):
- (JSC::prepareJumpTableForStringSwitch):
- (JSC::BytecodeGenerator::endSwitch):
- * bytecompiler/Label.h:
- (JSC::Label::setLocation):
- (JSC::Label::bind):
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::resolve):
- (JSC::Interpreter::resolveSkip):
- (JSC::Interpreter::resolveGlobal):
- (JSC::Interpreter::resolveBase):
- (JSC::Interpreter::resolveBaseAndProperty):
- (JSC::Interpreter::createExceptionScope):
- (JSC::Interpreter::privateExecute):
- * interpreter/Interpreter.h:
- * jit/JIT.cpp:
- (JSC::JIT::privateCompile):
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_jnless):
- (JSC::JIT::emitSlow_op_jnless):
- (JSC::JIT::emit_op_jnlesseq):
- (JSC::JIT::emitSlow_op_jnlesseq):
- (JSC::JIT::emitBinaryDoubleOp):
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_jmp):
- (JSC::JIT::emit_op_loop):
- (JSC::JIT::emit_op_loop_if_less):
- (JSC::JIT::emitSlow_op_loop_if_less):
- (JSC::JIT::emit_op_loop_if_lesseq):
- (JSC::JIT::emitSlow_op_loop_if_lesseq):
- (JSC::JIT::emit_op_loop_if_true):
- (JSC::JIT::emitSlow_op_loop_if_true):
- (JSC::JIT::emit_op_jfalse):
- (JSC::JIT::emitSlow_op_jfalse):
- (JSC::JIT::emit_op_jtrue):
- (JSC::JIT::emitSlow_op_jtrue):
- (JSC::JIT::emit_op_jeq_null):
- (JSC::JIT::emit_op_jneq_null):
- (JSC::JIT::emit_op_jneq_ptr):
- (JSC::JIT::emit_op_jsr):
- (JSC::JIT::emit_op_next_pname):
- (JSC::JIT::emit_op_jmp_scopes):
-
-2009-10-09 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Migrated some code that didn't belong out of Structure.
-
- SunSpider says maybe 1.03x faster.
-
- * runtime/JSCell.h: Nixed Structure::markAggregate, and made marking of
- a Structure's prototype the direct responsility of the object using it.
- (Giving Structure a mark function was misleading because it implied that
- all live structures get marked during GC, when they don't.)
-
- * runtime/JSGlobalObject.cpp:
- (JSC::markIfNeeded):
- (JSC::JSGlobalObject::markChildren): Added code to mark prototypes stored
- on the global object. Maybe this wasn't necessary, but now we don't have
- to wonder.
-
- * runtime/JSObject.cpp:
- (JSC::JSObject::getPropertyNames):
- (JSC::JSObject::getOwnPropertyNames):
- (JSC::JSObject::getEnumerableNamesFromClassInfoTable):
- * runtime/JSObject.h:
- (JSC::JSObject::markChildrenDirect):
- * runtime/PropertyNameArray.h:
- * runtime/Structure.cpp:
- * runtime/Structure.h:
- (JSC::Structure::setEnumerationCache):
- (JSC::Structure::enumerationCache): Moved property name gathering code
- from Structure to JSObject because having a Structure iterate its JSObject
- was a layering violation. A JSObject is implemented using a Structure; not
- the other way around.
-
-2009-10-09 Mark Rowe <mrowe@apple.com>
-
- Attempt to fix the GTK release build.
-
- * GNUmakefile.am: Include Grammar.cpp in release builds now that
- AllInOneFile.cpp is gone.
-
-2009-10-09 Gabor Loki <loki@inf.u-szeged.hu>
-
- Rubber-stamped by Eric Seidel.
-
- Add ARM JIT support for Gtk port (disabled by default)
- https://bugs.webkit.org/show_bug.cgi?id=30228
-
- * GNUmakefile.am:
-
-2009-10-08 Geoffrey Garen <ggaren@apple.com>
-
- Tiger build fix: added a few more variable initializations.
-
- * runtime/StringPrototype.cpp:
- (JSC::stringProtoFuncReplace):
- (JSC::stringProtoFuncSearch):
-
-2009-10-08 Geoffrey Garen <ggaren@apple.com>
-
- Qt build fix: added missing #include.
-
- * jsc.cpp:
-
-2009-10-08 Geoffrey Garen <ggaren@apple.com>
-
- Tiger build fix: initialize variable whose initialization the compiler
- can't otherwise figure out.
-
- * runtime/RegExpObject.cpp:
- (JSC::RegExpObject::match):
-
-2009-10-08 Geoffrey Garen <ggaren@apple.com>
-
- Windows build fix: updated exports.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
-
-2009-10-08 Geoffrey Garen <ggaren@apple.com>
-
- Tiger build fix: fixed file name case.
-
- * JavaScriptCore.xcodeproj/project.pbxproj:
-
-2009-10-08 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- At long last, I pronounce the death of AllInOneFile.cpp.
-
- SunSpider reports a 1.01x speedup.
-
- * AllInOneFile.cpp: Removed.
- * GNUmakefile.am:
- * JavaScriptCore.exp:
- * JavaScriptCore.gypi:
- * JavaScriptCore.xcodeproj/project.pbxproj: Added missing project files
- to compilation stages.
-
- * parser/Grammar.y:
- * parser/Lexer.cpp:
- * parser/Lexer.h:
- (JSC::jscyylex):
- * runtime/ArrayConstructor.cpp:
- (JSC::constructArrayWithSizeQuirk):
- * runtime/Collector.h:
- * runtime/JSCell.cpp:
- (JSC::JSCell::operator new):
- * runtime/JSCell.h:
- (JSC::JSCell::operator new):
- * runtime/JSGlobalObject.cpp:
- (JSC::JSGlobalObject::operator new):
- * runtime/JSNumberCell.h:
- (JSC::JSNumberCell::operator new):
- * runtime/JSString.cpp:
- * runtime/JSString.h:
- (JSC::jsString):
- (JSC::jsSubstring):
- (JSC::jsOwnedString):
- * runtime/RegExpConstructor.cpp:
- * runtime/RegExpConstructor.h:
- (JSC::RegExpConstructorPrivate::RegExpConstructorPrivate):
- (JSC::RegExpConstructorPrivate::lastOvector):
- (JSC::RegExpConstructorPrivate::tempOvector):
- (JSC::RegExpConstructorPrivate::changeLastOvector):
- (JSC::RegExpConstructor::performMatch):
- * runtime/StringPrototype.cpp:
- (JSC::stringProtoFuncMatch):
- * yarr/RegexJIT.cpp:
- * yarr/RegexJIT.h:
- (JSC::Yarr::executeRegex): Inlined a few things that Shark said
- were hot, on the presumption that AllInOneFile.cpp used to inline them
- automatically.
-
-2009-10-08 Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
-
- Reviewed by Gavin Barraclough.
-
- Fix for JIT'ed op_call instructions (evals, constructs, etc.)
- when !ENABLE(JIT_OPTIMIZE_CALL) && USE(JSVALUE32_64)
-
- https://bugs.webkit.org/show_bug.cgi?id=30201
-
- * jit/JITCall.cpp:
- (JSC::JIT::compileOpCall):
-
-2009-10-07 Geoffrey Garen <ggaren@apple.com>
-
- Windows build fix: removed no longer exported symbol.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
-
-2009-10-07 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Fixed <rdar://problem/5751979> Database code takes JSLock on secondary
- thread, permanently slowing down JavaScript
-
- Removed the optional lock from Heap::protect, Heap::unprotect, and friends,
- since WebCore no longer uses it.
-
- * JavaScriptCore.exp:
- * runtime/Collector.cpp:
- (JSC::Heap::protect):
- (JSC::Heap::unprotect):
- (JSC::Heap::markProtectedObjects):
- (JSC::Heap::protectedGlobalObjectCount):
- (JSC::Heap::protectedObjectCount):
- (JSC::Heap::protectedObjectTypeCounts):
- * runtime/Collector.h:
-
-2009-10-07 Zoltan Horvath <zoltan@webkit.org>
-
- Reviewed by Darin Adler.
-
- Allow custom memory allocation control for JavaScriptCore's IdentifierArena
- https://bugs.webkit.org/show_bug.cgi?id=30158
-
- Inherits IdentifierArena class from FastAllocBase because it has been
- instantiated by 'new' in JavaScriptCore/parser/ParserArena.cpp:36.
-
- * parser/ParserArena.h:
-
-2009-10-07 Adam Roben <aroben@apple.com>
-
- Export DateInstance::info in a way that works on Windows
-
- Fixes <http://webkit.org/b/30171>
- fast/dom/Window/window-postmessage-clone.html fails on Windows
-
- Reviewed by Anders Carlsson.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
- Removed the export of DateInstance::info from here.
-
- * runtime/DateInstance.h: Use JS_EXPORTDATA to export
- DateInstance::info, which is the required way of exporting data on
- Windows.
-
-2009-10-07 Jørgen Lind <jorgen.lind@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- When enabling or disabling the JIT through .qmake.cache, make sure
- to also toggle ENABLE_YARR_JIT.
-
- * JavaScriptCore.pri:
-
-2009-10-06 Priit Laes <plaes@plaes.org>
-
- Reviewed by Gavin Barraclough.
-
- Linking fails with "relocation R_X86_64_PC32 against symbol
- `cti_vm_throw'"
- https://bugs.webkit.org/show_bug.cgi?id=28422
-
- * jit/JITStubs.cpp:
- Mark cti_vm_throw symbol as PLT-indirect symbol, so it doesn't end up
- in text segment causing relocation errors on amd64 architecture.
- Introduced new define SYMBOL_STRING_RELOCATION for such symbols.
-
-2009-10-06 Oliver Hunt <oliver@apple.com>
-
- Windows linking fix
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
-
-2009-10-06 Oliver Hunt <oliver@apple.com>
-
- Reviewed by NOBODY (build fix).
-
- Windows build fix.
-
- * runtime/DateInstance.cpp:
-
-2009-10-05 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- It should be possible to post (clone) built-in JS objects to Workers
- https://bugs.webkit.org/show_bug.cgi?id=22878
-
- Expose helpers to throw correct exceptions during object graph walk
- used for cloning and add a helper function to create Date instances
- without going through the JS Date constructor function.
-
- * JavaScriptCore.exp:
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * runtime/DateInstance.cpp:
- (JSC::DateInstance::DateInstance):
- * runtime/DateInstance.h:
- * runtime/ExceptionHelpers.cpp:
- (JSC::createTypeError):
- * runtime/ExceptionHelpers.h:
-
-2009-10-06 David Levin <levin@chromium.org>
-
- Reviewed by Oliver Hunt.
-
- StringImpl needs a method to get an instance for another thread which doesn't copy the underlying buffer.
- https://bugs.webkit.org/show_bug.cgi?id=30095
-
- * wtf/CrossThreadRefCounted.h:
- Removed an unused function and assert improvement.
- (WTF::CrossThreadRefCounted::isOwnedByCurrentThread): Moved out common code from asserts.
- (WTF::CrossThreadRefCounted::ref): Changed assert to use the common method.
- (WTF::CrossThreadRefCounted::deref): Changed assert to use the common method.
- (WTF::CrossThreadRefCounted::crossThreadCopy): Since this includes a potentially
- non-threadsafe operation, add an assert that the class is owned by the current thread.
-
-2009-10-05 Kevin Ollivier <kevino@theolliviers.com>
-
- wx build fix. Add Symbian files to the list of excludes.
-
- * wscript:
-
-2009-10-05 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Remove precompiled header from JavaScriptCore compilation to
- prevent qmake warning during autonomous compilation.
- https://bugs.webkit.org/show_bug.cgi?id=30069
-
- * JavaScriptCore.pro:
-
-2009-10-02 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Removed the concept of a "fast access cutoff" in arrays, because it
- punished some patterns of array access too much, and made things too
- complex for inlining in some cases.
-
- 1.3% speedup on SunSpider.
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emitSlow_op_get_by_val):
- (JSC::JIT::emitSlow_op_put_by_val):
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::emit_op_get_by_val):
- (JSC::JIT::emitSlow_op_get_by_val):
- (JSC::JIT::emit_op_put_by_val):
- (JSC::JIT::emitSlow_op_put_by_val):
- * jit/JITStubs.cpp:
- * jit/JITStubs.h:
- (JSC::): Check m_vectorLength instead of m_fastAccessCutoff when
- getting / putting from / to an array. Inline putting past the end of
- the array.
-
- * runtime/JSArray.cpp:
- (JSC::JSArray::JSArray):
- (JSC::JSArray::getOwnPropertySlot):
- (JSC::JSArray::getOwnPropertyDescriptor):
- (JSC::JSArray::put):
- (JSC::JSArray::putSlowCase):
- (JSC::JSArray::deleteProperty):
- (JSC::JSArray::getOwnPropertyNames):
- (JSC::JSArray::increaseVectorLength):
- (JSC::JSArray::setLength):
- (JSC::JSArray::pop):
- (JSC::JSArray::push):
- (JSC::JSArray::sort):
- (JSC::JSArray::fillArgList):
- (JSC::JSArray::copyToRegisters):
- (JSC::JSArray::compactForSorting):
- (JSC::JSArray::checkConsistency):
- * runtime/JSArray.h:
- (JSC::JSArray::canGetIndex):
- (JSC::JSArray::canSetIndex):
- (JSC::JSArray::setIndex):
- (JSC::JSArray::markChildrenDirect): Removed m_fastAccessCutoff, and
- replaced with checks for JSValue() to detect reads and writes from / to
- uninitialized parts of the array.
-
-2009-10-02 Jonni Rainisto <jonni.rainisto@nokia.com>
-
- Reviewed by Darin Adler.
-
- Math.random() gives too low values on Win32 when _CRT_RAND_S is not defined
- https://bugs.webkit.org/show_bug.cgi?id=29956
-
- * wtf/RandomNumber.cpp:
- (WTF::randomNumber): Added PLATFORM(WIN_OS) to handle 15bit rand()
-
-2009-10-02 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Take one branch instead of two to test for JSValue().
-
- 1.1% SunSpider speedup.
-
- * jit/JITCall.cpp:
- (JSC::JIT::compileOpCall):
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_to_jsnumber):
- (JSC::JIT::emit_op_create_arguments):
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::emitSlow_op_get_by_val):
- (JSC::JIT::emit_op_put_by_val): Test for the empty value tag, instead
- of testing for the cell tag with a 0 payload.
-
- * runtime/JSValue.cpp:
- (JSC::JSValue::description): Added support for dumping the new empty value,
- and deleted values, in debug builds.
-
- * runtime/JSValue.h:
- (JSC::JSValue::JSValue()): Construct JSValue() with the empty value tag.
-
- (JSC::JSValue::JSValue(JSCell*)): Convert null pointer to the empty value
- tag, to avoid having two different c++ versions of null / empty.
-
- (JSC::JSValue::operator bool): Test for the empty value tag, instead
- of testing for the cell tag with a 0 payload.
-
-2009-10-02 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Mark Rowe.
-
- <https://bugs.webkit.org/show_bug.cgi?id=29989>
- Safari version number shouldn't be exposed in WebKit code
-
- For a WebKit version of 532.3.4:
- Product version is: 5.32.3.4 (was 4.0.3.0)
- File version is: 5.32.3.4 (was 4.532.3.4)
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.rc:
-
-2009-10-02 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Rubber-stamped by Simon Hausmann.
-
- Fix the Qt on Mac OS X build.
-
- * wtf/FastMalloc.cpp:
-
-2009-10-02 Jørgen Lind <jorgen.lind@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Allow enabling and disabling of the JIT through a qmake variable.
-
- Qt's configure may set this variable through .qmake.cache if a
- commandline option is given and/or the compile test for hwcap.h
- failed/succeeded.
-
- * JavaScriptCore.pri:
-
-2009-10-01 Mark Rowe <mrowe@apple.com>
-
- Fix the Tiger build. Don't unconditionally enable 3D canvas as it is not supported on Tiger.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2009-10-01 Yongjun Zhang <yongjun.zhang@nokia.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=29187
-
- Don't inline ~ListRefPtr() to work around winscw compiler forward declaration
- bug regarding templated classes.
-
- The compiler bug is reported at:
- https://xdabug001.ext.nokia.com/bugzilla/show_bug.cgi?id=9812
-
- The change will be reverted when the above bug is fixed in winscw compiler.
-
- * wtf/ListRefPtr.h:
- (WTF::::~ListRefPtr):
-
-2009-10-01 Zoltan Horvath <zoltan@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Allow custom memory allocation control for the whole JavaScriptCore
- https://bugs.webkit.org/show_bug.cgi?id=27029
-
- Since in JavaScriptCore almost every class which has been instantiated by operator new is
- inherited from FastAllocBase (bug #20422), we disable customizing global operator new for the Qt-port
- when USE_SYSTEM_MALLOC=0.
-
- Add #include <unistd.h> to FastMalloc.cpp because it's used by TCMalloc_PageHeap::scavengerThread().
- (It's needed for the functionality of TCmalloc.)
-
- Add TCSystemAlloc.cpp to JavaScriptCore.pri if USE_SYSTEM_MALLOC is disabled.
-
- * JavaScriptCore.pri:
- * wtf/FastMalloc.cpp:
- (WTF::sleep):
- * wtf/FastMalloc.h:
-
-2009-09-30 Gabor Loki <loki@inf.u-szeged.hu>
-
- Reviewed by George Staikos.
-
- Defines two pseudo-platforms for ARM and Thumb-2 instruction set.
- https://bugs.webkit.org/show_bug.cgi?id=29122
-
- Introduces WTF_PLATFORM_ARM_TRADITIONAL and WTF_PLATFORM_ARM_THUMB2
- macros on ARM platforms. The PLATFORM(ARM_THUMB2) should be used
- when Thumb-2 instruction set is the required target. The
- PLATFORM(ARM_TRADITIONAL) is for generic ARM instruction set. In
- case where the code is common the PLATFORM(ARM) have to be used.
-
- Modified by George Wright <gwright@rim.com> to correctly work
- with the RVCT-defined __TARGET_ARCH_ARM and __TARGET_ARCH_THUMB
- compiler macros, as well as adding readability changes.
-
- * wtf/Platform.h:
-
-2009-09-30 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Geoff Garen.
-
- Devirtualise array toString conversion
-
- Tweak the implementation of Array.prototype.toString to have a fast path
- when acting on a true JSArray.
-
- * runtime/ArrayPrototype.cpp:
- (JSC::arrayProtoFuncToString):
-
-2009-09-30 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
-
- Reviewed by Geoffrey Garen.
-
- Buildfix for platforms using JSVALUE32.
- https://bugs.webkit.org/show_bug.cgi?id=29915
-
- After http://trac.webkit.org/changeset/48905 the build broke in JSVALUE32 case.
- Also removed unreachable code.
-
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_add):
- - Declaration of "OperandTypes types" moved before first use.
- - Typos fixed: dst modified to result, regT2 added.
- - Unreachable code removed.
- (JSC::JIT::emitSlow_op_add):
- - Missing declaration of "OperandTypes types" added.
-
-2009-09-30 Janne Koskinen <janne.p.koskinen@digia.com>
-
- Reviewed by Simon Hausmann.
-
- Reduce heap size on Symbian from 64MB to 8MB.
-
- This is not a perfect fix, it requires more fine tuning.
- But this makes it possible again to debug in the emulator,
- which is more important in order to be able to fix other
- run-time issues.
-
- * runtime/Collector.h:
-
-2009-09-30 Janne Koskinen <janne.p.koskinen@digia.com>
-
- Reviewed by Simon Hausmann.
-
- Fix CRASH() macro for Symbian build.
-
- * wtf/Assertions.h: Added missing }
-
-2009-09-29 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Inlined a few math operations.
-
- ~1% SunSpider speedup.
-
- * jit/JIT.h:
- * jit/JITArithmetic.cpp:
- (JSC::JIT::compileBinaryArithOpSlowCase):
- (JSC::JIT::emitSlow_op_add):
- (JSC::JIT::emitSlow_op_mul):
- (JSC::JIT::emit_op_sub):
- (JSC::JIT::emitSlow_op_sub): Don't take a stub call when operating on
- a constant int and a double.
-
-2009-09-28 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Tidy up codeblock sampler
- https://bugs.webkit.org/show_bug.cgi?id=29836
-
- Some rather simple refactoring of codeblock sampler so that
- it's easier for us to use it to find problems in non-jsc
- environments
-
- * JavaScriptCore.exp:
- * bytecode/SamplingTool.h:
- * debugger/Debugger.cpp:
- (JSC::evaluateInGlobalCallFrame):
- * debugger/DebuggerCallFrame.cpp:
- (JSC::DebuggerCallFrame::evaluate):
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::Interpreter):
- (JSC::Interpreter::execute):
- (JSC::Interpreter::privateExecute):
- (JSC::Interpreter::enableSampler):
- (JSC::Interpreter::dumpSampleData):
- (JSC::Interpreter::startSampling):
- (JSC::Interpreter::stopSampling):
- * interpreter/Interpreter.h:
- (JSC::Interpreter::sampler):
- * jit/JIT.h:
- * jsc.cpp:
- (runWithScripts):
- * runtime/Completion.cpp:
- (JSC::checkSyntax):
- (JSC::evaluate):
- * runtime/Executable.h:
- (JSC::EvalExecutable::EvalExecutable):
- (JSC::ProgramExecutable::create):
- (JSC::ProgramExecutable::ProgramExecutable):
- * runtime/JSGlobalData.cpp:
- (JSC::JSGlobalData::startSampling):
- (JSC::JSGlobalData::stopSampling):
- (JSC::JSGlobalData::dumpSampleData):
- * runtime/JSGlobalData.h:
- * runtime/JSGlobalObjectFunctions.cpp:
- (JSC::globalFuncEval):
-
-2009-09-29 Jeremy Orlow <jorlow@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Add GYP generated files to svn:ignore
- https://bugs.webkit.org/show_bug.cgi?id=29895
-
- The following files are generated by JavaScriptCore's GYP file and should be ignored:
-
- pcre.mk
- wtf.scons
- wtf.mk
- SConstruct
- wtf_config.scons
- wtf_config.mk
- pcre.scons
-
- * JavaScriptCore.gyp: Changed property svn:ignore.
-
-2009-09-29 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Standardized an optimization for adding non-numbers.
-
- SunSpider says maybe a tiny speedup.
-
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_add):
- (JSC::JIT::emitSlow_op_add):
-
-2009-09-29 Geoffrey Garen <ggaren@apple.com>
-
- Windows build fix: export a new symbol.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
-
-2009-09-28 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Removed virtual destructor from JSGlobalObjectData to eliminate pointer
- fix-ups when accessing JSGlobalObject::d.
-
- Replaced with an explicit destructor function pointer.
-
- 6% speedup on bench-alloc-nonretained.js.
-
- * JavaScriptCore.exp:
- * runtime/JSGlobalObject.cpp:
- (JSC::JSGlobalObject::~JSGlobalObject):
- (JSC::JSGlobalObject::destroyJSGlobalObjectData):
- * runtime/JSGlobalObject.h:
- (JSC::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData):
- (JSC::JSGlobalObject::JSGlobalObject):
-
-2009-09-29 Janne Koskinen <janne.p.koskinen@digia.com>
-
- Reviewed by David Kilzer.
-
- [Qt] Assert messages prints visible in Symbian
- https://bugs.webkit.org/show_bug.cgi?id=29808
-
- Asserts use vprintf to print the messages to stderr.
- In Symbian Open C it is not possible to see stderr so
- I routed the messages to stdout instead.
-
- * wtf/Assertions.cpp:
-
-2009-09-29 Janne Koskinen <janne.p.koskinen@digia.com>
-
- Reviewed by Darin Adler.
-
- [Qt] Symbian CRASH macro implementation
-
- Added Symbian specific crash macro that
- stops to crash line if JIT debugging is used.
- Additional differentiation of access violation
- (KERN-EXEC 3) and CRASH panic.
-
- * wtf/Assertions.h:
-
-2009-09-28 Mark Rowe <mrowe@apple.com>
-
- Fix the PowerPC build.
-
- * JavaScriptCore.exp:
-
-2009-09-28 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- <rdar://problem/7195704> JavaScriptCore fails to mark registers when built for x86_64 using LLVM GCC.
-
- * runtime/Collector.cpp:
- (JSC::Heap::markCurrentThreadConservatively): Force jmp_buf to use the appropriate alignment for a pointer
- to ensure that we correctly interpret the contents of registers during marking.
-
-2009-09-28 Geoffrey Garen <ggaren@apple.com>
-
- Windows build fix: added new exports.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
-
-2009-09-28 Geoffrey Garen <ggaren@apple.com>
-
- Windows build fix: removed exports that no longer exist.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
-
-2009-09-28 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler.
-
- NotNullPassRefPtr: smart pointer optimized for passing references that are not null
- https://bugs.webkit.org/show_bug.cgi?id=29822
-
- Added NotNullPassRefPtr, and deployed it in all places that initialize
- JavaScript objects.
-
- 2.2% speedup on bench-allocate-nonretained.js.
-
- * API/JSCallbackConstructor.cpp:
- (JSC::JSCallbackConstructor::JSCallbackConstructor):
- * API/JSCallbackConstructor.h:
- * API/JSCallbackObject.h:
- * API/JSCallbackObjectFunctions.h:
- (JSC::JSCallbackObject::JSCallbackObject):
- * JavaScriptCore.exp:
- * bytecode/CodeBlock.h:
- (JSC::CodeBlock::addFunctionDecl):
- (JSC::CodeBlock::addFunctionExpr):
- * runtime/ArrayConstructor.cpp:
- (JSC::ArrayConstructor::ArrayConstructor):
- * runtime/ArrayConstructor.h:
- * runtime/ArrayPrototype.cpp:
- (JSC::ArrayPrototype::ArrayPrototype):
- * runtime/ArrayPrototype.h:
- * runtime/BooleanConstructor.cpp:
- (JSC::BooleanConstructor::BooleanConstructor):
- * runtime/BooleanConstructor.h:
- * runtime/BooleanObject.cpp:
- (JSC::BooleanObject::BooleanObject):
- * runtime/BooleanObject.h:
- * runtime/BooleanPrototype.cpp:
- (JSC::BooleanPrototype::BooleanPrototype):
- * runtime/BooleanPrototype.h:
- * runtime/DateConstructor.cpp:
- (JSC::DateConstructor::DateConstructor):
- * runtime/DateConstructor.h:
- * runtime/DateInstance.cpp:
- (JSC::DateInstance::DateInstance):
- * runtime/DateInstance.h:
- * runtime/DatePrototype.cpp:
- (JSC::DatePrototype::DatePrototype):
- * runtime/DatePrototype.h:
+ (JSC::dateProtoFuncGetYear):
+ (JSC::dateProtoFuncToJSON):
* runtime/ErrorConstructor.cpp:
- (JSC::ErrorConstructor::ErrorConstructor):
- * runtime/ErrorConstructor.h:
- * runtime/ErrorInstance.cpp:
- (JSC::ErrorInstance::ErrorInstance):
- * runtime/ErrorInstance.h:
+ (JSC::callErrorConstructor):
* runtime/ErrorPrototype.cpp:
- (JSC::ErrorPrototype::ErrorPrototype):
- * runtime/ErrorPrototype.h:
+ (JSC::errorProtoFuncToString):
* runtime/FunctionConstructor.cpp:
- (JSC::FunctionConstructor::FunctionConstructor):
- * runtime/FunctionConstructor.h:
+ (JSC::callFunctionConstructor):
* runtime/FunctionPrototype.cpp:
- (JSC::FunctionPrototype::FunctionPrototype):
- * runtime/FunctionPrototype.h:
- * runtime/GlobalEvalFunction.cpp:
- (JSC::GlobalEvalFunction::GlobalEvalFunction):
- * runtime/GlobalEvalFunction.h:
- * runtime/InternalFunction.cpp:
- (JSC::InternalFunction::InternalFunction):
- * runtime/InternalFunction.h:
- (JSC::InternalFunction::InternalFunction):
- * runtime/JSActivation.cpp:
- (JSC::JSActivation::JSActivation):
- * runtime/JSActivation.h:
- (JSC::JSActivation::JSActivationData::JSActivationData):
- * runtime/JSArray.cpp:
- (JSC::JSArray::JSArray):
- * runtime/JSArray.h:
- * runtime/JSByteArray.cpp:
- (JSC::JSByteArray::JSByteArray):
- * runtime/JSByteArray.h:
- * runtime/JSFunction.cpp:
- (JSC::JSFunction::JSFunction):
- * runtime/JSFunction.h:
- * runtime/JSGlobalObject.h:
- (JSC::JSGlobalObject::JSGlobalObject):
- * runtime/JSONObject.h:
- (JSC::JSONObject::JSONObject):
- * runtime/JSObject.h:
- (JSC::JSObject::JSObject):
- (JSC::JSObject::setStructure):
- * runtime/JSVariableObject.h:
- (JSC::JSVariableObject::JSVariableObject):
- * runtime/JSWrapperObject.h:
- (JSC::JSWrapperObject::JSWrapperObject):
+ (JSC::callFunctionPrototype):
+ (JSC::functionProtoFuncToString):
+ (JSC::functionProtoFuncApply):
+ (JSC::functionProtoFuncCall):
+ * runtime/JSGlobalObjectFunctions.cpp:
+ (JSC::encode):
+ (JSC::decode):
+ (JSC::globalFuncEval):
+ (JSC::globalFuncParseInt):
+ (JSC::globalFuncParseFloat):
+ (JSC::globalFuncIsNaN):
+ (JSC::globalFuncIsFinite):
+ (JSC::globalFuncDecodeURI):
+ (JSC::globalFuncDecodeURIComponent):
+ (JSC::globalFuncEncodeURI):
+ (JSC::globalFuncEncodeURIComponent):
+ (JSC::globalFuncEscape):
+ (JSC::globalFuncUnescape):
+ (JSC::globalFuncJSCPrint):
+ * runtime/JSGlobalObjectFunctions.h:
+ * runtime/JSONObject.cpp:
+ (JSC::JSONProtoFuncParse):
+ (JSC::JSONProtoFuncStringify):
+ * runtime/JSString.h:
* runtime/MathObject.cpp:
- (JSC::MathObject::MathObject):
- * runtime/MathObject.h:
+ (JSC::mathProtoFuncAbs):
+ (JSC::mathProtoFuncACos):
+ (JSC::mathProtoFuncASin):
+ (JSC::mathProtoFuncATan):
+ (JSC::mathProtoFuncATan2):
+ (JSC::mathProtoFuncCeil):
+ (JSC::mathProtoFuncCos):
+ (JSC::mathProtoFuncExp):
+ (JSC::mathProtoFuncFloor):
+ (JSC::mathProtoFuncLog):
+ (JSC::mathProtoFuncMax):
+ (JSC::mathProtoFuncMin):
+ (JSC::mathProtoFuncPow):
+ (JSC::mathProtoFuncRandom):
+ (JSC::mathProtoFuncRound):
+ (JSC::mathProtoFuncSin):
+ (JSC::mathProtoFuncSqrt):
+ (JSC::mathProtoFuncTan):
* runtime/NativeErrorConstructor.cpp:
- (JSC::NativeErrorConstructor::NativeErrorConstructor):
- * runtime/NativeErrorConstructor.h:
- * runtime/NativeErrorPrototype.cpp:
- (JSC::NativeErrorPrototype::NativeErrorPrototype):
- * runtime/NativeErrorPrototype.h:
+ (JSC::callNativeErrorConstructor):
* runtime/NumberConstructor.cpp:
- (JSC::NumberConstructor::NumberConstructor):
- * runtime/NumberConstructor.h:
- * runtime/NumberObject.cpp:
- (JSC::NumberObject::NumberObject):
- * runtime/NumberObject.h:
+ (JSC::callNumberConstructor):
* runtime/NumberPrototype.cpp:
- (JSC::NumberPrototype::NumberPrototype):
- * runtime/NumberPrototype.h:
+ (JSC::numberProtoFuncToString):
+ (JSC::numberProtoFuncToLocaleString):
+ (JSC::numberProtoFuncValueOf):
+ (JSC::numberProtoFuncToFixed):
+ (JSC::numberProtoFuncToExponential):
+ (JSC::numberProtoFuncToPrecision):
* runtime/ObjectConstructor.cpp:
- (JSC::ObjectConstructor::ObjectConstructor):
- * runtime/ObjectConstructor.h:
+ (JSC::callObjectConstructor):
+ (JSC::objectConstructorGetPrototypeOf):
+ (JSC::objectConstructorGetOwnPropertyDescriptor):
+ (JSC::objectConstructorGetOwnPropertyNames):
+ (JSC::objectConstructorKeys):
+ (JSC::objectConstructorDefineProperty):
+ (JSC::objectConstructorDefineProperties):
+ (JSC::objectConstructorCreate):
* runtime/ObjectPrototype.cpp:
- (JSC::ObjectPrototype::ObjectPrototype):
+ (JSC::objectProtoFuncValueOf):
+ (JSC::objectProtoFuncHasOwnProperty):
+ (JSC::objectProtoFuncIsPrototypeOf):
+ (JSC::objectProtoFuncDefineGetter):
+ (JSC::objectProtoFuncDefineSetter):
+ (JSC::objectProtoFuncLookupGetter):
+ (JSC::objectProtoFuncLookupSetter):
+ (JSC::objectProtoFuncPropertyIsEnumerable):
+ (JSC::objectProtoFuncToLocaleString):
+ (JSC::objectProtoFuncToString):
* runtime/ObjectPrototype.h:
- * runtime/PropertyNameArray.h:
- (JSC::PropertyNameArrayData::setCachedPrototypeChain):
- * runtime/PrototypeFunction.cpp:
- (JSC::PrototypeFunction::PrototypeFunction):
- * runtime/PrototypeFunction.h:
+ * runtime/Operations.h:
+ (JSC::jsString):
* runtime/RegExpConstructor.cpp:
- (JSC::RegExpConstructor::RegExpConstructor):
- * runtime/RegExpConstructor.h:
+ (JSC::callRegExpConstructor):
* runtime/RegExpObject.cpp:
- (JSC::RegExpObject::RegExpObject):
+ (JSC::RegExpObject::test):
+ (JSC::RegExpObject::exec):
+ (JSC::callRegExpObject):
+ (JSC::RegExpObject::match):
* runtime/RegExpObject.h:
- (JSC::RegExpObject::RegExpObjectData::RegExpObjectData):
* runtime/RegExpPrototype.cpp:
- (JSC::RegExpPrototype::RegExpPrototype):
- * runtime/RegExpPrototype.h:
+ (JSC::regExpProtoFuncTest):
+ (JSC::regExpProtoFuncExec):
+ (JSC::regExpProtoFuncCompile):
+ (JSC::regExpProtoFuncToString):
* runtime/StringConstructor.cpp:
- (JSC::StringConstructor::StringConstructor):
- * runtime/StringConstructor.h:
- * runtime/StringObject.cpp:
- (JSC::StringObject::StringObject):
- * runtime/StringObject.h:
- * runtime/StringObjectThatMasqueradesAsUndefined.h:
- (JSC::StringObjectThatMasqueradesAsUndefined::StringObjectThatMasqueradesAsUndefined):
+ (JSC::stringFromCharCodeSlowCase):
+ (JSC::stringFromCharCode):
+ (JSC::callStringConstructor):
* runtime/StringPrototype.cpp:
- (JSC::StringPrototype::StringPrototype):
- * runtime/StringPrototype.h:
- * wtf/PassRefPtr.h:
- (WTF::NotNullPassRefPtr::NotNullPassRefPtr):
- (WTF::NotNullPassRefPtr::~NotNullPassRefPtr):
- (WTF::NotNullPassRefPtr::get):
- (WTF::NotNullPassRefPtr::clear):
- (WTF::NotNullPassRefPtr::releaseRef):
- (WTF::NotNullPassRefPtr::operator*):
- (WTF::NotNullPassRefPtr::operator->):
- (WTF::NotNullPassRefPtr::operator!):
- (WTF::NotNullPassRefPtr::operator UnspecifiedBoolType):
- * wtf/RefPtr.h:
- (WTF::RefPtr::RefPtr):
- (WTF::operator==):
-
-2009-09-28 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Geoff Garen.
-
- Hard dependency on SSE2 instruction set with JIT
- https://bugs.webkit.org/show_bug.cgi?id=29779
-
- Add floating point support checks to op_jfalse and op_jtrue, and
- fix the logic for the slow case of op_add
-
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emitSlow_op_add):
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_jfalse):
- (JSC::JIT::emit_op_jtrue):
-
-2009-09-28 Yaar Schnitman <yaar@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Chromium port - recognize we are being built independently
- of chromium and look for dependencies under webkit/chromium rather
- than chromium/src.
-
- https://bugs.webkit.org/show_bug.cgi?id=29722
-
- * JavaScriptCore.gyp/JavaScriptCore.gyp:
-
-2009-09-28 Jakub Wieczorek <faw217@gmail.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Implement XSLT support with QtXmlPatterns.
- https://bugs.webkit.org/show_bug.cgi?id=28303
-
- * wtf/Platform.h: Add a WTF_USE_QXMLQUERY #define.
-
-2009-09-28 Gabor Loki <loki@inf.u-szeged.hu>
-
- Reviewed by Simon Hausmann.
-
- Remove __clear_cache which is an internal function of GCC
- https://bugs.webkit.org/show_bug.cgi?id=28886
-
- Although __clear_cache is exported from GCC, this is an internal
- function. GCC makes no promises about it.
-
- * jit/ExecutableAllocator.h:
- (JSC::ExecutableAllocator::cacheFlush):
-
-2009-09-28 Sam Weinig <sam@webkit.org>
-
- Reviewed by Oliver Hunt.
-
- Fix an absolute path to somewhere in Oliver's machine to a relative path
- for derived JSONObject.lut.h.
-
- * JavaScriptCore.xcodeproj/project.pbxproj:
-
-2009-09-28 Joerg Bornemann <joerg.bornemann@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Add ARM version detection for Windows CE.
-
- * wtf/Platform.h:
-
-2009-09-26 Yongjun Zhang <yongjun.zhang@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Add MarkStackSymbian.cpp to build JavascriptCore for Symbian.
-
- Re-use Windows shrinkAllocation implementation because Symbian doesn't
- support releasing part of memory region.
-
- Use fastMalloc and fastFree to implement allocateStack and releaseStack
- for Symbian port.
-
- * JavaScriptCore.pri:
- * runtime/MarkStack.h:
- (JSC::MarkStack::MarkStackArray::shrinkAllocation):
- * runtime/MarkStackSymbian.cpp: Added.
- (JSC::MarkStack::initializePagesize):
- (JSC::MarkStack::allocateStack):
- (JSC::MarkStack::releaseStack):
-
-2009-09-25 Gabor Loki <loki@inf.u-szeged.hu>
-
- Reviewed by Gavin Barraclough.
-
- Fix unaligned data access in YARR_JIT on ARMv5 and below.
- https://bugs.webkit.org/show_bug.cgi?id=29695
-
- On ARMv5 and below all data access should be naturally aligned.
- In the YARR_JIT there is a case when character pairs are
- loaded from the input string, but this data access is not
- naturally aligned. This fix introduces load32WithUnalignedHalfWords
- and branch32WithUnalignedHalfWords functions which contain
- naturally aligned memory loads - half word loads - on ARMv5 and below.
-
- * assembler/MacroAssemblerARM.cpp:
- (JSC::MacroAssemblerARM::load32WithUnalignedHalfWords):
- * assembler/MacroAssemblerARM.h:
- (JSC::MacroAssemblerARM::load32WithUnalignedHalfWords):
- (JSC::MacroAssemblerARM::branch32WithUnalignedHalfWords):
- * assembler/MacroAssemblerARMv7.h:
- (JSC::MacroAssemblerARMv7::load32WithUnalignedHalfWords):
- (JSC::MacroAssemblerARMv7::branch32):
- (JSC::MacroAssemblerARMv7::branch32WithUnalignedHalfWords):
- * assembler/MacroAssemblerX86Common.h:
- (JSC::MacroAssemblerX86Common::load32WithUnalignedHalfWords):
- (JSC::MacroAssemblerX86Common::branch32WithUnalignedHalfWords):
- * wtf/Platform.h:
- * yarr/RegexJIT.cpp:
- (JSC::Yarr::RegexGenerator::generatePatternCharacterPair):
-
-2009-09-25 Jeremy Orlow <jorlow@chromium.org>
-
- This is breaking Chromium try bots, so I'm counting this as a build fix.
-
- Add more svn:ignore exceptions. On different platforms, these files are
- generated with different case for JavaScriptCore. Also there are some
- wtf project files that get built apparently.
-
- * JavaScriptCore.gyp: Changed property svn:ignore.
-
-2009-09-25 Ada Chan <adachan@apple.com>
-
- Build fix.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
-
-2009-09-25 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler.
-
- Inlined some object creation code, including lexicalGlobalObject access
- https://bugs.webkit.org/show_bug.cgi?id=29750
-
- SunSpider says 0.5% faster.
-
- 0.8% speedup on bench-alloc-nonretained.js.
- 2.5% speedup on v8-splay.js.
-
- * interpreter/CachedCall.h:
- (JSC::CachedCall::CachedCall):
- * interpreter/CallFrame.h:
- (JSC::ExecState::lexicalGlobalObject):
- (JSC::ExecState::globalThisValue):
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::dumpRegisters):
- (JSC::Interpreter::execute):
- (JSC::Interpreter::privateExecute):
- * jit/JITStubs.cpp:
- (JSC::DEFINE_STUB_FUNCTION):
- * runtime/FunctionConstructor.cpp:
- (JSC::constructFunction):
- * runtime/ScopeChain.cpp:
- (JSC::ScopeChainNode::print):
- * runtime/ScopeChain.h:
- (JSC::ScopeChainNode::ScopeChainNode):
- (JSC::ScopeChainNode::~ScopeChainNode):
- (JSC::ScopeChainNode::push):
- (JSC::ScopeChain::ScopeChain):
- (JSC::ScopeChain::globalObject): Added a globalObject data member to ScopeChainNode.
- Replaced accessor function for globalObject() with data member. Replaced
- globalThisObject() accessor with direct access to globalThis, to match.
-
- * runtime/JSGlobalObject.cpp:
- (JSC::JSGlobalObject::init):
- * runtime/JSGlobalObject.h: Inlined array and object construction.
-
-2009-09-25 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Gavin Barraclough.
-
- Add ARM version detection rules for Symbian
- https://bugs.webkit.org/show_bug.cgi?id=29715
-
- * wtf/Platform.h:
-
-2009-09-24 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Mark "Do It!" Rowe.
-
- Some GCC versions don't like C++-style comments in preprocessor
- directives, change to C-style to shut them up.
-
- * wtf/Platform.h:
-
-2009-09-24 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Division is needlessly slow in 64-bit
- https://bugs.webkit.org/show_bug.cgi?id=29723
-
- Add codegen for op_div on x86-64
-
- * jit/JIT.cpp:
- (JSC::JIT::privateCompileMainPass):
- (JSC::JIT::privateCompileSlowCases):
- * jit/JIT.h:
- * jit/JITArithmetic.cpp:
- (JSC::JIT::compileBinaryArithOpSlowCase):
- (JSC::JIT::emit_op_div):
- (JSC::JIT::emitSlow_op_div):
- * jit/JITInlineMethods.h:
- (JSC::JIT::isOperandConstantImmediateDouble):
- (JSC::JIT::addressFor):
- (JSC::JIT::emitLoadDouble):
- (JSC::JIT::emitLoadInt32ToDouble):
- (JSC::JIT::emitJumpSlowCaseIfNotImmediateNumber):
-
-2009-09-24 Jeremy Orlow <jorlow@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Add GYP generated files to svn:ignore
- https://bugs.webkit.org/show_bug.cgi?id=29724
-
- Adding the following files to the svn:ignore list (all in the
- JavaScriptCore/JavaScriptCore.gyp directory)
-
- JavaScriptCore.xcodeproj
- JavaScriptCore.sln
- JavaScriptCore.vcproj
- JavaScriptCore_Debug.rules
- JavaScriptCore_Release.rules
- JavaScriptCore_Release - no tcmalloc.rules
- JavaScriptCore_Purify.rules
- JavaScriptCore.mk
- JavaScriptCore_Debug_rules.mk
- JavaScriptCore_Release_rules.mk
- JavaScriptCore_Release - no tcmalloc_rules.mk
- JavaScriptCore_Purify_rules.mk
- JavaScriptCore.scons
- JavaScriptCore_main.scons
-
- * JavaScriptCore.gyp: Changed property svn:ignore.
-
-2009-09-24 Yong Li <yong.li@torchmobile.com>
-
- Reviewed by Adam Barth.
-
- Replace platform-dependent code with WTF::currentTime()
- https://bugs.webkit.org/show_bug.cgi?id=29148
-
- * jsc.cpp:
- (StopWatch::start):
- (StopWatch::stop):
- (StopWatch::getElapsedMS):
- * runtime/TimeoutChecker.cpp:
- (JSC::getCPUTime):
-
-2009-09-24 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Sam Weinig.
-
- <rdar://problem/7215058> FastMalloc scavenging thread should be named
-
- * wtf/FastMalloc.cpp:
- (WTF::TCMalloc_PageHeap::scavengerThread): Set the thread name.
- * wtf/Platform.h: Move the knowledge of whether pthread_setname_np exists to here as HAVE(PTHREAD_SETNAME_NP).
- * wtf/ThreadingPthreads.cpp:
- (WTF::setThreadNameInternal): Use HAVE(PTHREAD_SETNAME_NP).
-
-2009-09-24 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Renamed clear to removeAll, as suggested by Darin Adler.
-
- * wtf/HashCountedSet.h:
- (WTF::::removeAll):
-
-2009-09-24 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Fix FastMalloc to build with assertions enabled.
-
- * wtf/FastMalloc.cpp:
- (WTF::TCMalloc_Central_FreeList::ReleaseToSpans):
- * wtf/TCSpinLock.h:
- (TCMalloc_SpinLock::IsHeld):
-
-2009-09-24 Geoffrey Garen <ggaren@apple.com>
-
- Suggested by Darin Adler.
-
- Removed some unnecessary parameter names.
-
- * wtf/HashCountedSet.h:
-
-2009-09-24 Janne Koskinen <janne.p.koskinen@digia.com>
-
- Reviewed by Simon Hausmann.
-
- On Windows JSChar is typedef'ed to wchar_t.
-
- When building with WINSCW for Symbian we need to do the
- same typedef.
-
- * API/JSStringRef.h:
-
-2009-09-23 Geoffrey Garen <ggaren@apple.com>
-
- A piece of my last patch that I forgot.
-
- * wtf/HashCountedSet.h:
- (WTF::::clear): Added HashCountedSet::clear.
-
-2009-09-24 Gabor Loki <loki@inf.u-szeged.hu>
-
- Reviewed by Gavin Barraclough.
-
- Avoid __clear_cache built-in function if DISABLE_BUILTIN_CLEAR_CACHE define is set
- https://bugs.webkit.org/show_bug.cgi?id=28886
-
- There are some GCC packages (for example GCC-2006q3 from CodeSourcery)
- which contain __clear_cache built-in function only for C while the C++
- version of __clear_cache is missing on ARM architectures.
-
- Fixed a small bug in the inline assembly of cacheFlush function on
- ARM_TRADITIONAL.
-
- * jit/ExecutableAllocator.h:
- (JSC::ExecutableAllocator::cacheFlush):
-
-2009-09-23 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Added the ability to swap vectors with inline capacities, so you can
- store a vector with inline capacity in a hash table.
-
- * wtf/Vector.h:
- (WTF::swap):
- (WTF::VectorBuffer::swap):
-
-2009-09-23 David Kilzer <ddkilzer@apple.com>
-
- Move definition of USE(PLUGIN_HOST_PROCESS) from WebKitPrefix.h to Platform.h
-
- Reviewed by Mark Rowe.
-
- * wtf/Platform.h: Define WTF_USE_PLUGIN_HOST_PROCESS to 1 when
- building on 64-bit SnowLeopard. Define to 0 elsewhere.
-
-2009-09-22 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Geoff Garen.
-
- Code sampling builds are broken.
- https://bugs.webkit.org/show_bug.cgi?id=29662
-
- Fix build.
-
- * bytecode/EvalCodeCache.h:
- (JSC::EvalCodeCache::get):
- * bytecode/SamplingTool.cpp:
- (JSC::ScriptSampleRecord::sample):
- (JSC::SamplingTool::doRun):
- (JSC::SamplingTool::notifyOfScope):
- (JSC::compareScriptSampleRecords):
- (JSC::SamplingTool::dump):
- * bytecode/SamplingTool.h:
- (JSC::ScriptSampleRecord::ScriptSampleRecord):
- (JSC::ScriptSampleRecord::~ScriptSampleRecord):
- (JSC::SamplingTool::SamplingTool):
- * bytecompiler/BytecodeGenerator.cpp:
- (JSC::BytecodeGenerator::BytecodeGenerator):
- (JSC::BytecodeGenerator::emitNewFunction):
- (JSC::BytecodeGenerator::emitNewFunctionExpression):
- * bytecompiler/BytecodeGenerator.h:
- (JSC::BytecodeGenerator::makeFunction):
- * debugger/Debugger.cpp:
- (JSC::evaluateInGlobalCallFrame):
- * debugger/DebuggerCallFrame.cpp:
- (JSC::DebuggerCallFrame::evaluate):
- * parser/Nodes.cpp:
- (JSC::ScopeNode::ScopeNode):
- * runtime/Completion.cpp:
- (JSC::checkSyntax):
- (JSC::evaluate):
- * runtime/Executable.cpp:
- (JSC::FunctionExecutable::fromGlobalCode):
- * runtime/Executable.h:
- (JSC::ScriptExecutable::ScriptExecutable):
- (JSC::EvalExecutable::EvalExecutable):
- (JSC::EvalExecutable::create):
- (JSC::ProgramExecutable::ProgramExecutable):
- (JSC::FunctionExecutable::create):
- (JSC::FunctionExecutable::FunctionExecutable):
- * runtime/JSGlobalObjectFunctions.cpp:
- (JSC::globalFuncEval):
-
-2009-09-22 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- * wtf/Forward.h: Added PassOwnPtr.
-
-2009-09-22 Yaar Schnitman <yaar@chromium.org>
-
- Reviewed by David Levin.
-
- Ported chromium.org's javascriptcore.gyp for the webkit chromium port.
-
- https://bugs.webkit.org/show_bug.cgi?id=29617
-
- * JavaScriptCore.gyp/JavaScriptCore.gyp: Added.
-
-2009-09-22 Thiago Macieira <thiago.macieira@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Fix compilation with WINSCW: no varargs macros
-
- Disable variadic arguments for WINSCW just like we do
- for MSVC7.
-
- * wtf/Assertions.h:
-
-2009-09-22 Kent Hansen <khansen@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- Disable variadic macros on MSVC7.
-
- This was originally added in r26589 but not extended
- when LOG_DISABLED/ASSERT_DISABLED was introduced.
-
- * wtf/Assertions.h:
-
-2009-09-22 Simon Hausmann <simon.hausmann@nokia.com>
-
- Unreviewed build fix for Windows CE < 5
-
- Define WINCEBASIC to disable the IsDebuggerPresent() code in
- wtf/Assertions.cpp.
-
- * JavaScriptCore.pri:
-
-2009-09-22 Joerg Bornemann <joerg.bornemann@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Fix major memory leak in JavaScriptCore RegisterFile on Windows CE
-
- https://bugs.webkit.org/show_bug.cgi?id=29367
-
- On Widows CE we must decommit all committed pages before we release
- them. See VirtualFree documentation.
- Desktop Windows behaves much smoother in this situation.
-
- * interpreter/RegisterFile.cpp:
- (JSC::RegisterFile::~RegisterFile):
-
-2009-09-21 Greg Bolsinga <bolsinga@apple.com>
-
- Reviewed by Simon Fraser & Sam Weinig.
-
- Add ENABLE(ORIENTATION_EVENTS)
- https://bugs.webkit.org/show_bug.cgi?id=29508
-
- * wtf/Platform.h: Also sort PLATFORM(IPHONE) #defines.
-
-2009-09-21 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Eric Seidel.
-
- [Fix] SourceCode's uninitialized member
-
- Potential source of crashes and bugs was fixed. Default constructor
- didn't initialized m_provider member.
-
- https://bugs.webkit.org/show_bug.cgi?id=29364
-
- * parser/SourceCode.h:
- (JSC::SourceCode::SourceCode):
-
-2009-09-21 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Geoff Garen.
-
- REGRESSION (r48582): Crash in StructureStubInfo::initPutByIdTransition when reloading trac.webkit.org
- https://bugs.webkit.org/show_bug.cgi?id=29599
-
- It is unsafe to attempt to cache new property transitions on
- dictionaries of any type.
-
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::tryCachePutByID):
- * jit/JITStubs.cpp:
- (JSC::JITThunks::tryCachePutByID):
-
-2009-09-21 Oliver Hunt <oliver@apple.com>
-
- RS=Maciej Stachowiak.
-
- Re-land SNES fix with corrected assertion.
-
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::resolveGlobal):
- (JSC::Interpreter::tryCachePutByID):
- (JSC::Interpreter::tryCacheGetByID):
- * jit/JITStubs.cpp:
- (JSC::JITThunks::tryCachePutByID):
- (JSC::JITThunks::tryCacheGetByID):
- (JSC::DEFINE_STUB_FUNCTION):
- * runtime/BatchedTransitionOptimizer.h:
- (JSC::BatchedTransitionOptimizer::BatchedTransitionOptimizer):
- * runtime/JSObject.cpp:
- (JSC::JSObject::removeDirect):
- * runtime/Structure.cpp:
- (JSC::Structure::Structure):
- (JSC::Structure::getEnumerablePropertyNames):
- (JSC::Structure::despecifyDictionaryFunction):
- (JSC::Structure::addPropertyTransitionToExistingStructure):
- (JSC::Structure::addPropertyTransition):
- (JSC::Structure::removePropertyTransition):
- (JSC::Structure::toDictionaryTransition):
- (JSC::Structure::toCacheableDictionaryTransition):
- (JSC::Structure::toUncacheableDictionaryTransition):
- (JSC::Structure::fromDictionaryTransition):
- (JSC::Structure::removePropertyWithoutTransition):
- * runtime/Structure.h:
- (JSC::Structure::isDictionary):
- (JSC::Structure::isUncacheableDictionary):
- (JSC::Structure::):
- * runtime/StructureChain.cpp:
- (JSC::StructureChain::isCacheable):
-
-2009-09-21 Adam Roben <aroben@apple.com>
-
- Revert r48573, as it caused many assertion failures
-
- * interpreter/Interpreter.cpp:
- * jit/JITStubs.cpp:
- * runtime/BatchedTransitionOptimizer.h:
- * runtime/JSObject.cpp:
- * runtime/Structure.cpp:
- * runtime/Structure.h:
- * runtime/StructureChain.cpp:
-
-2009-09-21 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Unreviewed make dist build fix. Missing files.
-
- * GNUmakefile.am:
-
-2009-09-19 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Sam 'Cabin Boy' Weinig.
-
- Fix stack alignment with ARM THUMB2 JIT.
- https://bugs.webkit.org/show_bug.cgi?id=29526
-
- Stack is currently being decremented by 0x3c, bump this to 0x40 to make this a
- multiple of 16 bytes.
-
- * jit/JITStubs.cpp:
- (JSC::JITThunks::JITThunks):
- * jit/JITStubs.h:
-
-2009-09-20 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- SNES is too slow
- https://bugs.webkit.org/show_bug.cgi?id=29534
-
- The problem was that the emulator used multiple classes with
- more properties than our dictionary cutoff allowed, this resulted
- in more or less all critical logic inside the emulator requiring
- uncached property access.
-
- Rather than simply bumping the dictionary cutoff, this patch
- recognises that there are two ways to create a "dictionary"
- structure. Either by adding a large number of properties, or
- by removing a property. In the case of adding properties we
- know all the existing properties will maintain their existing
- offsets, so we could cache access to those properties, if we
- know they won't be removed.
-
- To make this possible, this patch adds the logic required to
- distinguish a dictionary created by addition from one created
- by removal. With this logic in place we can now cache access
- to objects with large numbers of properties.
-
- SNES performance improved by more than 6x.
-
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::resolveGlobal):
- (JSC::Interpreter::tryCachePutByID):
- (JSC::Interpreter::tryCacheGetByID):
- * jit/JITStubs.cpp:
- (JSC::JITThunks::tryCachePutByID):
- (JSC::JITThunks::tryCacheGetByID):
- (JSC::DEFINE_STUB_FUNCTION):
- * runtime/BatchedTransitionOptimizer.h:
- (JSC::BatchedTransitionOptimizer::BatchedTransitionOptimizer):
- * runtime/JSObject.cpp:
- (JSC::JSObject::removeDirect):
- * runtime/Structure.cpp:
- (JSC::Structure::Structure):
- (JSC::Structure::getEnumerablePropertyNames):
- (JSC::Structure::despecifyDictionaryFunction):
- (JSC::Structure::addPropertyTransitionToExistingStructure):
- (JSC::Structure::addPropertyTransition):
- (JSC::Structure::removePropertyTransition):
- (JSC::Structure::toDictionaryTransition):
- (JSC::Structure::toCacheableDictionaryTransition):
- (JSC::Structure::toUncacheableDictionaryTransition):
- (JSC::Structure::fromDictionaryTransition):
- (JSC::Structure::removePropertyWithoutTransition):
- * runtime/Structure.h:
- (JSC::Structure::isDictionary):
- (JSC::Structure::isUncacheableDictionary):
- (JSC::Structure::):
- * runtime/StructureChain.cpp:
- (JSC::StructureChain::isCacheable):
-
-2009-09-19 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Implement ES5 Object.create function
- https://bugs.webkit.org/show_bug.cgi?id=29524
-
- Implement Object.create. Very simple patch, effectively Object.defineProperties
- only creating the target object itself.
-
- * runtime/CommonIdentifiers.h:
- * runtime/ObjectConstructor.cpp:
- (JSC::ObjectConstructor::ObjectConstructor):
- (JSC::objectConstructorCreate):
-
-2009-09-19 Dan Bernstein <mitz@apple.com>
-
- Fix clean debug builds.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
-
-2009-09-19 Joerg Bornemann <joerg.bornemann@nokia.com>
-
- Reviewed by George Staikos.
-
- QtWebKit Windows CE compile fix
-
- https://bugs.webkit.org/show_bug.cgi?id=29379
-
- There is no _aligned_alloc or _aligned_free on Windows CE.
- We just use the Windows code that was there before and use VirtualAlloc.
- But that also means that the BLOCK_SIZE must be 64K as this function
- allocates on 64K boundaries.
-
- * runtime/Collector.cpp:
- (JSC::Heap::allocateBlock):
- (JSC::Heap::freeBlock):
- * runtime/Collector.h:
-
-2009-09-19 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Sam Weinig.
-
- Implement ES5 Object.defineProperties function
- https://bugs.webkit.org/show_bug.cgi?id=29522
-
- Implement Object.defineProperties. Fairly simple patch, simply makes use of
- existing functionality used for defineProperty.
-
- * runtime/CommonIdentifiers.h:
- * runtime/ObjectConstructor.cpp:
- (JSC::ObjectConstructor::ObjectConstructor):
- (JSC::defineProperties):
- (JSC::objectConstructorDefineProperties):
-
-2009-09-19 Oliver Hunt <oliver@apple.com>
-
- Reviewed by NOBODY (Build fix).
-
- Windows build fix part2
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
-
-2009-09-19 Oliver Hunt <oliver@apple.com>
-
- Reviewed by NOBODY (Buildfix).
-
- Windows build fix part 1.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
-
-2009-09-18 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Geoff Garen.
-
- Implement ES5 Object.defineProperty function
- https://bugs.webkit.org/show_bug.cgi?id=29503
-
- Implement Object.defineProperty. This requires adding the API to
- ObjectConstructor, along with a helper function that implements the
- ES5 internal [[ToPropertyDescriptor]] function. It then adds
- JSObject::defineOwnProperty that implements the appropriate ES5 semantics.
- Currently defineOwnProperty uses a delete followed by a put to redefine
- attributes of a property, clearly this is less efficient than it could be
- but we can improve this if it needs to be possible in future.
-
- * JavaScriptCore.exp:
- * debugger/DebuggerActivation.cpp:
- (JSC::DebuggerActivation::defineGetter):
- (JSC::DebuggerActivation::defineSetter):
- * debugger/DebuggerActivation.h:
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::privateExecute):
- * jit/JITStubs.cpp:
- Update defineGetter/Setter calls
- * runtime/CommonIdentifiers.h:
- * runtime/JSArray.cpp:
- (JSC::JSArray::getOwnPropertySlot):
- * runtime/JSGlobalObject.cpp:
- (JSC::JSGlobalObject::defineGetter):
- (JSC::JSGlobalObject::defineSetter):
- * runtime/JSGlobalObject.h:
- * runtime/JSObject.cpp:
- (JSC::JSObject::defineGetter):
- (JSC::JSObject::defineSetter):
- (JSC::putDescriptor):
- (JSC::JSObject::defineOwnProperty):
- * runtime/JSObject.h:
- * runtime/ObjectConstructor.cpp:
- (JSC::ObjectConstructor::ObjectConstructor):
- (JSC::objectConstructorGetOwnPropertyDescriptor):
- (JSC::toPropertyDescriptor):
- (JSC::objectConstructorDefineProperty):
- * runtime/ObjectPrototype.cpp:
- (JSC::objectProtoFuncDefineGetter):
- (JSC::objectProtoFuncDefineSetter):
- * runtime/PropertyDescriptor.cpp:
- (JSC::PropertyDescriptor::writable):
- (JSC::PropertyDescriptor::enumerable):
- (JSC::PropertyDescriptor::configurable):
- (JSC::PropertyDescriptor::isDataDescriptor):
- (JSC::PropertyDescriptor::isGenericDescriptor):
- (JSC::PropertyDescriptor::isAccessorDescriptor):
- (JSC::PropertyDescriptor::getter):
- (JSC::PropertyDescriptor::setter):
- (JSC::PropertyDescriptor::setDescriptor):
- (JSC::PropertyDescriptor::setAccessorDescriptor):
- (JSC::PropertyDescriptor::setWritable):
- (JSC::PropertyDescriptor::setEnumerable):
- (JSC::PropertyDescriptor::setConfigurable):
- (JSC::PropertyDescriptor::setSetter):
- (JSC::PropertyDescriptor::setGetter):
- (JSC::PropertyDescriptor::equalTo):
- (JSC::PropertyDescriptor::attributesEqual):
- (JSC::PropertyDescriptor::attributesWithOverride):
- * runtime/PropertyDescriptor.h:
- (JSC::PropertyDescriptor::PropertyDescriptor):
- (JSC::PropertyDescriptor::value):
- (JSC::PropertyDescriptor::setValue):
- (JSC::PropertyDescriptor::isEmpty):
- (JSC::PropertyDescriptor::writablePresent):
- (JSC::PropertyDescriptor::enumerablePresent):
- (JSC::PropertyDescriptor::configurablePresent):
- (JSC::PropertyDescriptor::setterPresent):
- (JSC::PropertyDescriptor::getterPresent):
- (JSC::PropertyDescriptor::operator==):
- (JSC::PropertyDescriptor::):
-
-2009-09-18 Gabor Loki <loki@inf.u-szeged.hu>
-
- Reviewed by Gavin Barraclough.
-
- Build fix to enable ARM_THUMB2 on Linux
- https://bugs.webkit.org/show_bug.cgi?id=
-
- * jit/ExecutableAllocator.h:
- (JSC::ExecutableAllocator::cacheFlush):
- * jit/JITStubs.cpp:
- * wtf/Platform.h:
-
-2009-09-18 Gabor Loki <loki@inf.u-szeged.hu>
-
- Reviewed by Gavin Barraclough.
-
- Defines two pseudo-platforms for ARM and Thumb-2 instruction set.
- https://bugs.webkit.org/show_bug.cgi?id=29122
-
- Introduces WTF_PLATFORM_ARM_TRADITIONAL and WTF_PLATFORM_ARM_THUMB2
- macros on ARM platforms. The PLATFORM(ARM_THUMB2) should be used
- when Thumb-2 instruction set is the required target. The
- PLATFORM(ARM_TRADITIONAL) is for generic ARM instruction set. In
- case where the code is common the PLATFORM(ARM) have to be used.
-
- * assembler/ARMAssembler.cpp:
- * assembler/ARMAssembler.h:
- * assembler/ARMv7Assembler.h:
- * assembler/MacroAssembler.h:
- * assembler/MacroAssemblerARM.cpp:
- * assembler/MacroAssemblerARM.h:
- * assembler/MacroAssemblerCodeRef.h:
- (JSC::MacroAssemblerCodePtr::MacroAssemblerCodePtr):
- * jit/ExecutableAllocator.h:
- * jit/JIT.h:
- * jit/JITInlineMethods.h:
- (JSC::JIT::beginUninterruptedSequence):
- (JSC::JIT::preserveReturnAddressAfterCall):
- (JSC::JIT::restoreReturnAddressBeforeReturn):
- (JSC::JIT::restoreArgumentReference):
- (JSC::JIT::restoreArgumentReferenceForTrampoline):
- * jit/JITOpcodes.cpp:
- * jit/JITStubs.cpp:
- (JSC::JITThunks::JITThunks):
- * jit/JITStubs.h:
- * wtf/Platform.h:
- * yarr/RegexJIT.cpp:
- (JSC::Yarr::RegexGenerator::generateEnter):
-
-2009-09-18 Joerg Bornemann <joerg.bornemann@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Fix the Qt/Windows CE build.
-
- * JavaScriptCore.pri: Build the ce_time.cpp functions from
- within Qt externally.
- * wtf/DateMath.cpp: Removed unnecessary Qt #ifdef, for the
- Qt build these functions are no external, too.
-
-2009-09-17 Janne Koskinen <janne.p.koskinen@digia.com>
-
- Reviewed by Simon Hausmann.
-
- Symbian/WINSCW build fox.
-
- Repeat Q_OS_WIN wchar_t hack for WINSCW, similar to
- revision 24774.
-
- WINSCW defines wchar_t, thus UChar has to be wchar_t
-
- * wtf/unicode/qt4/UnicodeQt4.h:
-
-2009-09-17 Janne Koskinen <janne.p.koskinen@digia.com>
-
- Reviewed by Simon Hausmann.
-
- Symbian/WINSCW build fix.
-
- https://bugs.webkit.org/show_bug.cgi?id=29186
-
- WINSCW Template specialisation name in declaration must the be the same as in implementation.
-
- * runtime/LiteralParser.h:
-
-2009-09-15 Norbert Leser <norbert.leser@nokia.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=27060
-
- Symbian compiler for emulator target (WINSCW) fails with
- "illegal operand" for m_attributesInPrevious in structure.ccp
- (when calling make_pair functions).
- This error is apparently due to the compiler not properly
- resolving the unsigned type of the declared bitfield.
-
- Initial patch explicitly casted m_attributesInPrevious
- to unsigned, but since bitfield optimization is not critical for
- the emulator target, this conditional change in header file
- appears to be least intrusive.
-
- * runtime/Structure.h:
-
-2009-09-16 Gabor Loki <loki@inf.u-szeged.hu>
-
- Reviewed by Darin Adler.
-
- Fix GCC warnings on ARM_THUMB2 platform
-
- * assembler/ARMv7Assembler.h:
- (JSC::ARMThumbImmediate::countLeadingZerosPartial):
- * assembler/MacroAssemblerARMv7.h:
- (JSC::MacroAssemblerARMv7::branchTruncateDoubleToInt32):
- (JSC::MacroAssemblerARMv7::moveFixedWidthEncoding):
-
-2009-09-16 Greg Bolsinga <bolsinga@apple.com>
-
- Add ENABLE(INSPECTOR)
- https://bugs.webkit.org/show_bug.cgi?id=29260
-
- Reviewed by David Kilzer.
-
- * wtf/Platform.h:
-
-2009-09-16 Greg Bolsinga <bolsinga@apple.com>
-
- Add ENABLE(CONTEXT_MENUS)
- https://bugs.webkit.org/show_bug.cgi?id=29225
-
- Reviewed by David Kilzer.
-
- * wtf/Platform.h:
-
-2009-09-16 Benjamin C Meyer <benjamin.meyer@torchmobile.com>
-
- Reviewed by Eric Seidel.
-
- The webkit stdint and stdbool headers exists because
- the compiler MSVC doesn't include them. The check
- should not check for PLATFORM(WIN_OS) but for MSVC.
-
- * os-win32/stdbool.h:
- * os-win32/stdint.h:
-
-2009-09-16 Greg Bolsinga <bolsinga@apple.com>
-
- Add ENABLE(DRAG_SUPPORT)
- https://bugs.webkit.org/show_bug.cgi?id=29233
-
- Reviewed by David Kilzer.
-
- * wtf/Platform.h:
-
-2009-09-16 Kevin Ollivier <kevino@theolliviers.com>
-
- waf build fix after flag was moved to correct place.
-
- * wscript:
-
-2009-09-16 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Build fix for 64-bit Qt on Mac OS X
-
- * wtf/Platform.h: Use JSVALUE64 on DARWIN, not only on MAC
-
-2009-09-16 Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix wtf/ThreadSpecific.h under Qt to free thread local objects.
- https://bugs.webkit.org/show_bug.cgi?id=29295
-
- This is an important fix when JavaScript workers are in use, since
- unfreed ThreadGlobalDatas leak a big amount of memory (50-100k each).
- QThreadStorage calls the destructor of a given object, which is the
- ThreadSpecific::Data. Unlike pthread, Qt is object oriented, and does
- not support the calling of a static utility function when the thread
- is about to close. In this patch we call the ThreadSpecific::destroy()
- utility function from the destructor of ThreadSpecific::Data. Moreover,
- since Qt resets all thread local values to 0 before the calling of the
- appropriate destructors, we set back the pointer to its original value.
- This is necessary because the get() method of the ThreadSpecific
- object may be called during the exuction of the destructor.
-
- * wtf/ThreadSpecific.h:
- (WTF::ThreadSpecific::Data::~Data):
- (WTF::::~ThreadSpecific):
- (WTF::::set):
- (WTF::::destroy):
-
-2009-09-10 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Geoff Garen.
-
- Allow anonymous storage inside JSObject
- https://bugs.webkit.org/show_bug.cgi?id=29168
-
- Add the concept of anonymous slots to Structures so that it is
- possible to store references to values that need marking in the
- standard JSObject storage buffer. This allows us to reduce the
- malloc overhead of some objects (by allowing them to store JS
- values in the inline storage of the object) and reduce the
- dependence of custom mark functions (if all an objects children
- are in the standard object property storage there's no need to
- mark them manually).
-
- * JavaScriptCore.exp:
- * runtime/JSObject.h:
- (JSC::JSObject::putAnonymousValue):
- (JSC::JSObject::getAnonymousValue):
- (JSC::JSObject::addAnonymousSlots):
- * runtime/JSWrapperObject.h:
- (JSC::JSWrapperObject::createStructure):
- (JSC::JSWrapperObject::JSWrapperObject):
- (JSC::JSWrapperObject::setInternalValue):
- * runtime/PropertyMapHashTable.h:
- * runtime/Structure.cpp:
- (JSC::Structure::~Structure):
- (JSC::Structure::materializePropertyMap):
- (JSC::Structure::addAnonymousSlotsTransition):
- (JSC::Structure::copyPropertyTable):
- (JSC::Structure::put):
- (JSC::Structure::rehashPropertyMapHashTable):
- * runtime/Structure.h:
- (JSC::Structure::propertyStorageSize):
- (JSC::StructureTransitionTable::reifySingleTransition):
- * runtime/StructureTransitionTable.h:
- (JSC::StructureTransitionTable::TransitionTable::addSlotTransition):
- (JSC::StructureTransitionTable::TransitionTable::removeSlotTransition):
- (JSC::StructureTransitionTable::TransitionTable::getSlotTransition):
- (JSC::StructureTransitionTable::getAnonymousSlotTransition):
- (JSC::StructureTransitionTable::addAnonymousSlotTransition):
- (JSC::StructureTransitionTable::removeAnonymousSlotTransition):
-
-2009-09-15 Alex Milowski <alex@milowski.com>
-
- Reviewed by Tor Arne Vestbø.
-
- Added the ENABLE_MATHML define to the features
-
- * Configurations/FeatureDefines.xcconfig:
-
-2009-09-15 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Build fix for windows.
-
- After http://trac.webkit.org/changeset/47795 the MinGW build broke,
- because MinGW has __mingw_aligned_malloc instead of _aligned_malloc.
-
- * runtime/Collector.cpp:
- (JSC::Heap::allocateBlock): MinGW case added.
- (JSC::Heap::freeBlock): MinGW case added.
-
-2009-09-15 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Build fix for Windows/MinGW
-
- https://bugs.webkit.org/show_bug.cgi?id=29268
-
- * wtf/Platform.h: JSVALUE32_64 temporarily disabled on PLATFORM(WIN_OS) with COMPILER(MINGW)
-
-2009-09-14 Gabor Loki <loki@inf.u-szeged.hu>
-
- Reviewed by Gavin Barraclough.
-
- Detect VFP at runtime in generic ARM port on Linux platform.
- https://bugs.webkit.org/show_bug.cgi?id=29076
-
- * JavaScriptCore.pri:
- * assembler/MacroAssemblerARM.cpp: Added.
- (JSC::isVFPPresent):
- * assembler/MacroAssemblerARM.h:
- (JSC::MacroAssemblerARM::supportsFloatingPoint):
-
-2009-09-14 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Build fix for windows build.
-
- * JavaScriptCore.pri: Correct a logic error.
- * pcre/dftables: Add missing paranthesis for tmpdir function.
-
-2009-09-12 Oliver Hunt <oliver@apple.com>
-
- Reviewed by NOBODY (Build fix).
-
- Build fix for windows exports (again).
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
-
-2009-09-12 Oliver Hunt <oliver@apple.com>
-
- Reviewed by NOBODY (Build fix).
-
- Build fix for windows exports.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
-
-2009-09-12 Oliver Hunt <oliver@apple.com>
-
- Reviewed by NOBODY (Build fix).
-
- Correct fix for non-allinonefile builds
-
- * runtime/ObjectConstructor.cpp:
-
-2009-09-12 Oliver Hunt <oliver@apple.com>
-
- Reviewed by NOBODY (Build fix).
-
- Fix non-allinonefile builds
-
- * runtime/ObjectConstructor.cpp:
-
-2009-09-12 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- [ES5] Implement Object.keys
- https://bugs.webkit.org/show_bug.cgi?id=29170
-
- This patch basically requires two separate steps, the first is to split getPropertyNames
- into two functions -- getOwnPropertyNames and getPropertyNames, basically making them behave
- in the same way as getOwnPropertySlot and getPropertySlot. In essence getOwnPropertyNames
- produces the list of properties on an object excluding its prototype chain and getPropertyNames
- just iterates the the object and its prototype chain calling getOwnPropertyNames at each level.
-
- * API/JSCallbackObject.h:
- * API/JSCallbackObjectFunctions.h:
- (JSC::::getOwnPropertyNames):
- * JavaScriptCore.exp:
- * debugger/DebuggerActivation.cpp:
- (JSC::DebuggerActivation::getOwnPropertyNames):
- * debugger/DebuggerActivation.h:
- * runtime/CommonIdentifiers.h:
- * runtime/JSArray.cpp:
- (JSC::JSArray::getOwnPropertyNames):
- * runtime/JSArray.h:
- * runtime/JSByteArray.cpp:
- (JSC::JSByteArray::getOwnPropertyNames):
- * runtime/JSByteArray.h:
- * runtime/JSNotAnObject.cpp:
- (JSC::JSNotAnObject::getOwnPropertyNames):
- * runtime/JSNotAnObject.h:
- * runtime/JSObject.cpp:
- (JSC::JSObject::getOwnPropertyNames):
- * runtime/JSObject.h:
- * runtime/JSVariableObject.cpp:
- (JSC::JSVariableObject::getOwnPropertyNames):
- * runtime/JSVariableObject.h:
- * runtime/ObjectConstructor.cpp:
- (JSC::ObjectConstructor::ObjectConstructor):
- (JSC::objectConstructorKeys):
- * runtime/RegExpMatchesArray.h:
- (JSC::RegExpMatchesArray::getOwnPropertyNames):
- * runtime/StringObject.cpp:
- (JSC::StringObject::getOwnPropertyNames):
- * runtime/StringObject.h:
- * runtime/Structure.cpp:
- (JSC::Structure::getOwnEnumerablePropertyNames):
- (JSC::Structure::getEnumerablePropertyNames):
- * runtime/Structure.h:
-
-2009-09-11 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Sam Weinig.
-
- getPropertyNames caching is invalid when the prototype chain contains objects with custom getPropertyNames
- https://bugs.webkit.org/show_bug.cgi?id=29214
-
- Add a flag to TypeInfo to indicate whether a type overrides getPropertyNames.
- This flag is used to make sure that caching of the property name data is safe.
-
- * API/JSCallbackConstructor.h:
- (JSC::JSCallbackConstructor::createStructure):
- * debugger/DebuggerActivation.h:
- (JSC::DebuggerActivation::createStructure):
- * runtime/BooleanObject.h:
- (JSC::BooleanObject::createStructure):
- * runtime/DatePrototype.h:
- (JSC::DatePrototype::createStructure):
- * runtime/FunctionPrototype.h:
- (JSC::FunctionPrototype::createStructure):
- * runtime/JSONObject.h:
- (JSC::JSONObject::createStructure):
- * runtime/JSObject.h:
- (JSC::JSObject::createStructure):
- * runtime/JSTypeInfo.h:
- (JSC::TypeInfo::hasDefaultGetPropertyNames):
- * runtime/JSVariableObject.h:
- (JSC::JSVariableObject::createStructure):
- * runtime/JSWrapperObject.h:
- (JSC::JSWrapperObject::createStructure):
- * runtime/MathObject.h:
- (JSC::MathObject::createStructure):
- * runtime/NumberConstructor.h:
- (JSC::NumberConstructor::createStructure):
- * runtime/NumberObject.h:
- (JSC::NumberObject::createStructure):
- * runtime/RegExpConstructor.h:
- (JSC::RegExpConstructor::createStructure):
- * runtime/RegExpObject.h:
- (JSC::RegExpObject::createStructure):
- * runtime/StructureChain.cpp:
- (JSC::StructureChain::isCacheable):
-
-2009-09-11 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Geoff Garen.
-
- https://bugs.webkit.org/show_bug.cgi?id=29207
- Add checks for using WebCore JS context on secondary threads
-
- * runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData):
- * runtime/JSGlobalData.h:
- Added a new mainThreadOnly flag that WebCore would set.
-
- * runtime/Collector.cpp: (JSC::Heap::registerThread): JSC API methods always call this,
- so this is a good place to check that the API isn't used form a wrong thread.
-
-2009-09-11 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Compiling JavaScriptCore on sparc 64 with gcc fails.
-
- ThreadSafeShared uses the atomic __gnu_cxx::__exchange_and_add with an int,
- however on sparc 64 the _Atomic_word argument is typedefed to long (8 bytes).
-
- The patch disables WTF_USE_LOCKFREE_THREADSAFESHARED in ThreadSafeShared to use
- a mutex instead when compiling for sparc 64 with gcc.
-
- https://bugs.webkit.org/show_bug.cgi?id=29175
-
- * wtf/Platform.h:
- __sparc64__ is not defined on all OS.
- Uses instead: __sparc__ && __arch64__ || __sparcv9
- * wtf/Threading.h:
-
-2009-09-11 Prasanth Ullattil <prasanth.ullattil@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Fix compile error on Windows7(64Bit) with latest SDK.
-
- Added the missing include file.
-
- * runtime/UString.cpp:
-
-2009-09-11 Joerg Bornemann <joerg.bornemann@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- Qt/Windows CE compile fix, include the executable allocator and
- markstack implementation in the windows build.
-
- * JavaScriptCore.pri:
-
-2009-09-08 John Abd-El-Malek <jam@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Remove unneeded define for ActiveX.
- https://bugs.webkit.org/show_bug.cgi?id=29054
-
- * wtf/Platform.h:
-
-2009-09-10 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Sam Weinig.
-
- Update JavaScriptCore and WebKit's FeatureDefines.xcconfig so that they are in sync with WebCore as they need to be.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2009-09-10 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by Alexey Proskuryakov.
-
- Export WTF::tryFastMalloc used in WebSocketChannel.
- https://bugs.webkit.org/show_bug.cgi?id=28038
-
- * JavaScriptCore.exp:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
-
-2009-09-10 Oliver Hunt <oliver@apple.com>
-
- Reviewed by NOBODY (Build fix).
-
- Make StructureTransitionTable use an enum for the PtrAndFlags member
- used for the single transition slot optimisation.
-
- * runtime/StructureTransitionTable.h:
- (JSC::StructureTransitionTable::StructureTransitionTable):
- (JSC::StructureTransitionTable::usingSingleTransitionSlot):
- (JSC::StructureTransitionTable::):
-
-2009-09-10 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Geoff Garen.
-
- Refactor StructureTransitionTable and Structure to unify handling of the single slot optimization
- https://bugs.webkit.org/show_bug.cgi?id=29141
-
- Make StructureTransitionTable encapsulate the single transition slot optimization.
-
- * runtime/Structure.cpp:
- (JSC::Structure::Structure):
- (JSC::Structure::~Structure):
- (JSC::Structure::addPropertyTransitionToExistingStructure):
- (JSC::Structure::addPropertyTransition):
- (JSC::Structure::addPropertyWithoutTransition):
- (JSC::Structure::removePropertyWithoutTransition):
- (JSC::Structure::hasTransition):
- * runtime/Structure.h:
- (JSC::StructureTransitionTable::contains):
- (JSC::StructureTransitionTable::get):
- (JSC::StructureTransitionTable::hasTransition):
- (JSC::StructureTransitionTable::reifySingleTransition):
- * runtime/StructureTransitionTable.h:
- (JSC::StructureTransitionTable::StructureTransitionTable):
- (JSC::StructureTransitionTable::~StructureTransitionTable):
- (JSC::StructureTransitionTable::remove):
- (JSC::StructureTransitionTable::add):
- (JSC::StructureTransitionTable::table):
- (JSC::StructureTransitionTable::singleTransition):
- (JSC::StructureTransitionTable::usingSingleTransitionSlot):
- (JSC::StructureTransitionTable::setSingleTransition):
- (JSC::StructureTransitionTable::setTransitionTable):
- (JSC::StructureTransitionTable::):
- * wtf/PtrAndFlags.h:
- (WTF::PtrAndFlags::PtrAndFlags):
-
-2009-09-10 Zoltan Horvath <zoltan@webkit.org>
-
- Reviewed by Darin Adler.
-
- Implement fastDeleteSkippingDestructor for FastAllocBase and fastDeleteAllValues for HashSet
- https://bugs.webkit.org/show_bug.cgi?id=25930
-
- FastAllocBase has been extended with fastDeleteSkippingDestructor function which
- releases memory without destructor call. fastDeleteAllValues has been implemented
- similar as deleteAllValues but it uses fastDelete function to release memory.
-
- * wtf/FastAllocBase.h:
- (WTF::fastDeleteSkippingDestructor):
- * wtf/HashSet.h:
- (WTF::fastDeleteAllValues):
-
-2009-09-10 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Darin Adler.
-
- ARM compiler does not understand GCC visibility attribute
- https://bugs.webkit.org/show_bug.cgi?id=29079
-
- * API/JSBase.h: Make the test more specific to hit only
- the GCC compiler
-
-2009-09-10 Adam Barth <abarth@webkit.org>
-
- Unreviewed revert of the previous change. It broke the tests.
-
- * wtf/dtoa.cpp:
- (WTF::dtoa):
-
-2009-09-10 Ben Laurie <benl@google.com>
-
- Reviewed by Adam Barth.
-
- <https://bugs.webkit.org/show_bug.cgi?id=26836>
-
- If dtoa was given a small buffer and the number was either infinite or
- NaN, then the buffer would be overflowed.
-
- * wtf/dtoa.cpp:
-
-2009-09-09 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Darin Adler.
-
- Change reinterpret_cast to static_cast in r48212.
-
- * jit/ExecutableAllocator.h:
- (JSC::ExecutableAllocator::cacheFlush):
-
-2009-09-09 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Darin Adler.
-
- Remove WTF_PLATFORM_FORCE_PACK as it is no longer used
- https://bugs.webkit.org/show_bug.cgi?id=29066
-
- * wtf/Platform.h:
-
-2009-09-09 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Ariya Hidayat.
-
- Implement flushing the instruction cache for Symbian
- https://bugs.webkit.org/show_bug.cgi?id=29075
-
- * jit/ExecutableAllocator.h:
- (JSC::ExecutableAllocator::cacheFlush): Call IMB_Range to flush
- the instruction cache on Symbian
-
-2009-09-09 Kent Hansen <khansen@trolltech.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=29024
- Make JavaScriptCore compile on platforms with case-insensitive file systems and typeinfo.h in STL
-
- These platforms include Microsoft Visual Studio 2003, and Symbian with Metrowerks compiler.
-
- * JavaScriptCore.gypi:
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * runtime/JSTypeInfo.h: Copied from JavaScriptCore/runtime/TypeInfo.h.
- * runtime/Structure.h:
- * runtime/TypeInfo.h: Removed.
-
-2009-09-08 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- JSON.stringify(Date) loses the milliseconds information
- https://bugs.webkit.org/show_bug.cgi?id=29063
-
- Make sure we include milliseconds in the output of toISOString.
-
- * runtime/DatePrototype.cpp:
- (JSC::dateProtoFuncToISOString):
-
-2009-09-08 Kevin Ollivier <kevino@theolliviers.com>
-
- wx build fix, generate derived sources earlier in order to make sure
- they're found by the build system when generating the list of sources to build.
-
- * wscript:
-
-2009-09-08 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Build fix when USE(LOCKFREE_THREADSAFESHARED) is not defined
- https://bugs.webkit.org/show_bug.cgi?id=29011
-
- * wtf/Threading.h: Use LOCKFREE_THREADSAFESHARED guard for
- atomicIncrement and atomicDecrement
-
-2009-09-07 Zoltan Horvath <zoltan@webkit.org>
-
- Reviewed by Darin Adler.
-
- Allow custom memory allocation control in Yarr's RegexInterpreter
- https://bugs.webkit.org/show_bug.cgi?id=29025
-
- Inherits RegexInterpreter classes from FastAllocBase (bug #20422), which has
- been instantiated by 'new':
-
- class ByteDisjunction
- -> instantiated in JavaScriptCore/yarr/RegexInterpreter.cpp:1462
-
- struct BytecodePattern
- -> instantiated in JavaScriptCore/yarr/RegexInterpreter.cpp:1279
-
- * yarr/RegexInterpreter.h:
-
-2009-09-07 Drew Wilson <atwilson@google.com>
-
- Reverting r48121 to fix Windows build errors.
-
- * JavaScriptCore.exp:
-
-2009-09-07 Drew Wilson <atwilson@google.com>
-
- Reviewed by David Levin.
-
- Enable SHARED_WORKERS by default
- https://bugs.webkit.org/show_bug.cgi?id=28959
-
- * Configurations/FeatureDefines.xcconfig:
-
-2009-09-07 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by Alexey Proskuryakov.
-
- Export WTF::tryFastMalloc used in WebSocketChannel.
- https://bugs.webkit.org/show_bug.cgi?id=28038
-
- * JavaScriptCore.exp:
-
-2009-09-04 Oliver Hunt <oliver@apple.com>
-
- Reviewed by NOBODY (Build fix).
-
- Fix windows export files
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
-
-2009-09-04 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- [[ToString]] conversion should use the actual toString function for String objects.
-
- Remove incorrect specialisations of toString conversions on StringObject.
-
- * JavaScriptCore.exp:
- * runtime/StringObject.cpp:
- * runtime/StringObject.h:
-
-2009-09-04 Steve Falkenburg <sfalken@apple.com>
-
- Windows build fix.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: Add new export.
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def: Add new export.
-
-2009-09-04 Steve Falkenburg <sfalken@apple.com>
-
- Windows build fix.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: Remove unneeded export.
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def: Remove unneeded export.
-
-2009-09-04 Darin Adler <darin@apple.com>
-
- Reviewed by Geoff Garen.
-
- DateInstance object collected on ARM JIT (JSValue: WTF_USE_JSVALUE32)
- https://bugs.webkit.org/show_bug.cgi?id=28909
-
- Part two.
+ (JSC::stringProtoFuncReplace):
+ (JSC::stringProtoFuncToString):
+ (JSC::stringProtoFuncCharAt):
+ (JSC::stringProtoFuncCharCodeAt):
+ (JSC::stringProtoFuncConcat):
+ (JSC::stringProtoFuncIndexOf):
+ (JSC::stringProtoFuncLastIndexOf):
+ (JSC::stringProtoFuncMatch):
+ (JSC::stringProtoFuncSearch):
+ (JSC::stringProtoFuncSlice):
+ (JSC::stringProtoFuncSplit):
+ (JSC::stringProtoFuncSubstr):
+ (JSC::stringProtoFuncSubstring):
+ (JSC::stringProtoFuncToLowerCase):
+ (JSC::stringProtoFuncToUpperCase):
+ (JSC::stringProtoFuncLocaleCompare):
+ (JSC::stringProtoFuncBig):
+ (JSC::stringProtoFuncSmall):
+ (JSC::stringProtoFuncBlink):
+ (JSC::stringProtoFuncBold):
+ (JSC::stringProtoFuncFixed):
+ (JSC::stringProtoFuncItalics):
+ (JSC::stringProtoFuncStrike):
+ (JSC::stringProtoFuncSub):
+ (JSC::stringProtoFuncSup):
+ (JSC::stringProtoFuncFontcolor):
+ (JSC::stringProtoFuncFontsize):
+ (JSC::stringProtoFuncAnchor):
+ (JSC::stringProtoFuncLink):
+ (JSC::stringProtoFuncTrim):
+ (JSC::stringProtoFuncTrimLeft):
+ (JSC::stringProtoFuncTrimRight):
- Make some improvements to garbage collection code:
+2010-05-28 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
- 1) Create a runtime assertion that catches any classes that
- override markChildren but have the HasDefaultMark bit set.
- 2) Remove checks of the mark bit outside the MarkStack::append
- function; they are redundant.
- 3) Improve the efficiency of the asObject and asArray functions
- when called on JSCell* to avoid a round trip to JSValue.
- 4) Make more callers use the checked asCell and asObject
- casting functions rather than unchecked casts.
- 5) Removed the JSCell::marked function and other GC-related
- functions because these operations are no longer things that
- code other than the core GC code needs to do directly. Fixed
- callers that were calling them.
+ Reviewed by Geoffrey Garen.
- * runtime/Collector.cpp:
- (JSC::Heap::markConservatively): Removed unneeded call to MarkStack::drain.
- (JSC::Heap::markProtectedObjects): Removed unneeded check of the mark
- bit and call to MarkStack::drain.
- (JSC::Heap::collect): Removed unneeded checks of the mark bit and also
- changed call to SmallStrings::mark to call markChildren instead to match
- the rest of the objects.
- (JSC::typeName): Removed unneeded cast to JSObject*.
+ Fix the JSObjectSetPrototype function.
- * runtime/JSArray.h:
- (JSC::asArray): Added an overload for JSCell* and changed the JSValue
- version to call it. Removed some unneeded casts.
- (JSC::JSArray::markChildrenDirect): Marked this function inline. It's in
- a header, and if not marked inline this could lead to linking problems.
- (JSC::MarkStack::markChildren): Added. This helper function is used by
- the drain function to avoid repating code. Also added the code here to
- check fro default mark violations in debug code. If a markChildren
- function adds something to the mark stack, but the type info claimed
- hasDefaultMark was true, then we will get an assertion now. Also fixed
- the assertion about the mark bit to use the Heap function directly
- because we don't have a JSCell::marked function any more.
- (JSC::MarkStack::drain): Changed a local variable from "v" to "value",
- and from "currentCell" to "cell". Changed to call markChildren in two
- places instead of repeating a chain of if statements twice. Changed
- code that reads and writes the mark bit to use Heap::isCellMarked and
- Heap::markCell so we can eliminate the JSCell::marked and
- JSCell::markCellDirect functions.
+ A cycle in a prototype chain can cause an application hang or
+ even crash.
+ A check for a prototype chain cycles was added to
+ the JSObjectSetPrototype.
- * runtime/JSCell.h: Removed JSCell's markCellDirect and marked member
- functions. Added a comment explaining that asCell should be deprecated
- in favor of the JSValue asCell member function.
- (JSC::MarkStack::append): Added the assertion that catches callers
- that have set the HasDefaultMark bit incorrectly. Changed
- code that reads and writes the mark bit to use Heap::isCellMarked and
- Heap::markCell so we can eliminate the JSCell::marked and
- JSCell::markCellDirect functions. Moved the overload of
- MarkStack::append for JSValue here so it can call through to the cell
- version. The old version had a copy of all the code instead, but that
- repeated the conversion from JSValue to JSCell* and the check for
- whether a value is a cell multiple times.
- (JSC::Structure::markAggregate): Moved this function here to avoid
- dependencies for Structure.h, since this calls MarkStack::append.
+ JSObjectSetPrototype doesn't check for cycle in prototype chain.
+ https://bugs.webkit.org/show_bug.cgi?id=39360
+ * API/JSObjectRef.cpp:
+ (JSObjectSetPrototype):
+ * API/tests/testapi.c:
+ (assertTrue):
+ (checkForCycleInPrototypeChain):
+ (main):
* runtime/JSObject.cpp:
- (JSC::JSObject::markChildren): Added code to clear
- m_isCheckingForDefaultMarkViolation so the marking done by JSObject
- doesn't trigger the assertion.
-
- * runtime/JSValue.h: Moved some stray includes that were outside the
- header guard inside it. Not sure how that happened! Removed the
- GC-related member functions markChildren, hasChildren, marked, and
- markDirect.
-
- * runtime/JSWrapperObject.h: Made markChildren private.
- (JSC::JSWrapperObject::createStructure): Added. Fixes a bug where the
- HasDefaultMark bit was set.
-
- * runtime/MarkStack.h: Added m_isCheckingForDefaultMarkViolation and
- initialized it to false. Moved the append function body from here to
- JSCell.h. Added a declaration of a private markChildren function used
- inside the drain function.
-
- * runtime/SmallStrings.cpp:
- (JSC::SmallStrings::markChildren): Changed the name and style of this
- function to match other functions. This allows us to share the normal
- mark stack code path.
-
- * runtime/SmallStrings.h: Changed the name and interface of mark to
- the more-normal markChildren style.
-
- * runtime/Structure.h: Moved the body of markAggregate into the
- JSCell.h to avoid a circular dependency with JSCell.h.
-
-2009-09-04 Darin Adler <darin@apple.com>
-
- Reviewed by Geoff Garen.
-
- DateInstance object collected on ARM JIT (JSValue: WTF_USE_JSVALUE32)
- https://bugs.webkit.org/show_bug.cgi?id=28909
-
- Part one.
-
- Make some improvements to garbage collection code:
-
- 1) Fix the two classes that had the default mark bit set but
- should not.
- 2) Remove checks of the mark bit outside the MarkStack::append
- function; they are redundant.
- 3) Make more callers use the checked asCell and asObject
- casting functions rather than unchecked casts.
- 4) Removed some GC-related functions because these operations are
- no longer things that code other than the core GC code needs
- to do directly. Fixed callers that were calling them.
-
- * bytecode/CodeBlock.cpp:
- (JSC::CodeBlock::markAggregate): Removed unneeded check of the mark
- bit before calling MarkStack::append.
-
- * interpreter/Register.h: Removed unneeded marked and markChildren
- functions.
-
- * jit/JITStubs.cpp:
- (op_eq): Removed unneeded assertions, instead using checked casting
- functions such as asObject.
-
- * runtime/ArgList.h: Added now-needed forward declaration of MarkStack.
-
- * runtime/GetterSetter.cpp:
- (JSC::GetterSetter::markChildren): Remmoved unneeded check of the mark bit.
-
- * runtime/GlobalEvalFunction.h:
- (JSC::GlobalEvalFunction::createStructure): Added. Fixes a bug where the
- HasDefaultMark bit was set.
-
- * runtime/JSCell.cpp:
- (JSC::JSCell::getObject): Use asObject to avoid a direct static_cast.
-
+ (JSC::JSObject::put):
* runtime/JSObject.h:
- (JSC::asObject): Added an overload for JSCell* and changed the JSValue
- version to call it.
- (JSC::JSValue::get): Use asObject to avoid a direct static_cast.
-
- * runtime/JSWrapperObject.h: Made markChildren private.
- (JSC::JSWrapperObject::createStructure): Added. Fixes a bug where the
- HasDefaultMark bit was set. Later we may want to optimize this for
- wrapper types that never have cells in their internal values, but there
- is no measured performance regression in SunSpider or V8 doing this
- all the time.
-
- * runtime/MarkStack.cpp: Tweaked formatting.
-
-2009-09-04 Kevin Ollivier <kevino@theolliviers.com>
-
- wx build fix. Switch USE_ defines over to the compiler so that they can be
- checked by files not including config.h (like WebCorePrefix.h).
-
- * wtf/Platform.h:
-
-2009-09-03 Yong Li <yong.li@torchmobile.com>
-
- Reviewed by David Levin.
-
- Remove unnecessary dependency on unistd.h
- https://bugs.webkit.org/show_bug.cgi?id=28962
-
- * runtime/Completion.cpp:
+ (JSC::JSObject::setPrototypeWithCycleCheck):
-2009-09-03 Fumitoshi Ukai <ukai@chromium.org>
+2010-05-28 Chao-ying Fu <fu@mips.com>
Reviewed by Eric Seidel.
- Add strnstr for Linux and Windows in StringExtras.h
- https://bugs.webkit.org/show_bug.cgi?id=28901
-
- * wtf/StringExtras.h:
- (strnstr):
-
-2009-09-03 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
-
- Reviewed by Darin Adler.
+ Fix MIPS JIT DoubleGreaterThanOrEqual Operands
+ https://bugs.webkit.org/show_bug.cgi?id=39504
- Allow custom memory allocation control for JavaScriptCore's HashEntry class
- https://bugs.webkit.org/show_bug.cgi?id=27830
-
- Inherits HashEntry class from FastAllocBase because it has been
- instantiated by 'new' JavaScriptCore/runtime/Lookup.cpp:32.
-
- * runtime/Lookup.h:
-
-2009-09-02 Gavin Barraclough <barraclough@apple.com>
-
- Should crash if JIT code buffer allocation fails.
-
- https://bugs.webkit.org/show_bug.cgi?id=28926
- <rdar://problem/7031922>
-
- * jit/ExecutableAllocatorPosix.cpp:
- (JSC::ExecutablePool::systemAlloc):
- * jit/ExecutableAllocatorWin.cpp:
- (JSC::ExecutablePool::systemAlloc):
-
-2009-09-02 Kevin Ollivier <kevino@theolliviers.com>
-
- waf build fixes for Windows/MSVC.
-
- * wscript:
-
-2009-09-02 Kevin Ollivier <kevino@theolliviers.com>
-
- Build fix for building on Windows.
-
- * wtf/ThreadingPthreads.cpp:
-
-2009-09-02 Norbert Leser <norbert.leser@nokia.com>
-
- Reviewed by Eric Seidel.
-
- Use fastMalloc when neither MMAP nor VIRTUALALLOC are enabled
-
- RegisterFile constructor currently throws #error when both
- MMAP and VIRTUALALLOC conditions fail.
- On any platform that does not provide these features
- (for instance, Symbian),
- the fallback should be regular malloc (or fastMalloc).
- It is functionally equivalent in this case, even though it may
- have certain drawbacks such as lack of dynamic pre-allocation.
+ Swapped two operands of left and right for DoubleGreaterThanOrEqual.
+ This patch fixed two layout tests as follows.
+ fast/js/comparison-operators-greater.html
+ fast/js/comparison-operators-less.html
- * interpreter/RegisterFile.cpp:
- (JSC::RegisterFile::~RegisterFile):
- * interpreter/RegisterFile.h:
- (JSC::RegisterFile::RegisterFile):
-
-2009-08-31 Robert Agoston <Agoston.Robert@stud.u-szeged.hu>
-
- Reviewed by Gavin Barraclough.
-
- Fixed typo.
- https://bugs.webkit.org/show_bug.cgi?id=28691
-
- * parser/Parser.h:
- (JSC::Parser::parse):
-
-2009-08-27 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- JSON Stringifier does not follow ES5 spec for handling of Number, String and Boolean objects
- https://bugs.webkit.org/show_bug.cgi?id=28797
-
- Fixed unwrapBoxedPrimitive to do the right thing, which necessitated a couple of new exception
- checks, and corrected the logic in gap to correctly convert Number and String objects.
-
- * runtime/JSONObject.cpp:
- (JSC::unwrapBoxedPrimitive):
- (JSC::gap):
- (JSC::Stringifier::Stringifier):
- (JSC::Stringifier::appendStringifiedValue):
-
-2009-08-27 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Adam Roben.
-
- JSON.stringify replacer array does not accept values that are not string primitives.
- https://bugs.webkit.org/show_bug.cgi?id=28788
-
- Update the JSON stringifier to initialise its replacer array according to the most
- recent version of the spec.
-
- * runtime/Identifier.h:
- (JSC::Identifier::from):
- * runtime/JSONObject.cpp:
- (JSC::Stringifier::Stringifier):
-
-2009-08-27 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=28753
- <rdar://problem/7173448> Excessive number of threads (and a crash)
-
- * wtf/Threading.h: (WTF::atomicIncrement): Changed atomicIncrement to match decrement
- and return the new value. Also added using directives for these functions, to match
- te rest of WTF.
-
-2009-08-27 Brent Fulgham <bfulgham@webkit.org>
-
- Reviewed by Adam Roben.
-
- Link the testapi against CFLite when building the WinCairo port.
-
- * JavaScriptCore.vcproj/testapi/testapi.vcproj: Add new Release_CFLite
- target. Update all targets to inherit from either the
- JavaScriptCF.vsprops (Apple target) or the JavaScriptCFLite.vsprops
- file (WinCairo target).
- * JavaScriptCore.vcproj/testapi/testapiCommon.vsprops: Remove
- input file CoreFoundation.lib. This is provided by either the
- JavaScriptCF.vsprops or JavaScriptCFLite.vsprops file.
-
-2009-08-27 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Geoff Garen.
-
- Fix Windows-specific crash due to missing memory clearing call.
-
- * runtime/Collector.cpp:
- (JSC::Heap::allocateBlock):
-
-2009-08-27 Brent Fulgham <bfulgham@webkit.org>
-
- Build fix: JavaScriptCore_debug.def missing some exports. Apple
- Windows build does not use this file, so it was not noticed previously.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
-
-2009-08-27 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- x86-64 GTK broken due to code offsets changing, pointers sometimes packed into immediates.
- https://bugs.webkit.org/show_bug.cgi?id=28317
-
- Missed one, fix part II.
-
- * assembler/MacroAssemblerX86Common.h:
- (JSC::MacroAssemblerX86Common::move):
- * assembler/X86Assembler.h:
- (JSC::CAN_SIGN_EXTEND_8_32):
-
-2009-08-27 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Adam Roben.
-
- JSON.stringify replacer array does not accept values that are not string primitives.
- https://bugs.webkit.org/show_bug.cgi?id=28788
-
- Update the JSON stringifier to initialise its replacer array according to the most
- recent version of the spec.
-
- * runtime/Identifier.h:
- (JSC::Identifier::from):
- * runtime/JSONObject.cpp:
- (JSC::Stringifier::Stringifier):
-
-2009-08-27 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- JSON parser accepts trailing comma in array literals
- https://bugs.webkit.org/show_bug.cgi?id=28779
-
- Update parser to correctly fail if there's a trailing comma.
-
- * runtime/LiteralParser.cpp:
- (JSC::LiteralParser::parse):
-
-2009-08-26 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- 'this' in JSON.parse reviver is the global object
- https://bugs.webkit.org/show_bug.cgi?id=28752
-
- This is a technically simple change, we merely update the code for calling
- the reviver function to pass the correct this object. Doing so however
- exposes the holder to arbitrary mutation by the reviver function so it is
- necessary for us to now guard all property accesses against the possibility
- of failure.
-
- * runtime/JSArray.h:
- JSON needs to delete a property from the array, so we friend its
- Walker class so that we can make a non-virtual call to the arrays
- delete and getOwnPropertySlot methods.
- * runtime/JSONObject.cpp:
- (JSC::Walker::callReviver):
- We need to pass the correct this object
- (JSC::Walker::walk):
- Update calls to callReviver, and update property logic logic
- to correctly handle the holder being mutated by the reviver
- function.
-
-2009-08-26 Alice Liu <alice.liu@apple.com>
-
- Windows build fix: added some exported symbols
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
-
-2009-08-26 Geoffrey Garen <ggaren@apple.com>
-
- Windows build fix: Removed some exported symbols that no longer exist.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
-
-2009-08-26 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Olliejver Hunt.
-
- x86-64 GTK broken due to code offsets changing, pointers sometimes packed into immediates.
- https://bugs.webkit.org/show_bug.cgi?id=28317
-
- We rely on a slightly OS X specific behaviour, that x86-64 applications have a 4Gb zero page,
- so pointers are never representable as a 32-bit integer, and always have to be represented by
- a separate immediate load instruction, rather than within the immediate field of an arithmetic
- or memory operation.
-
- We explicitly check for a couple of cases where a value might be representable in 32-bit, but
- these probably never kick in on Mac OS, and only kick in to hose GTK. Deleting these does not
- show a performance degradation on SunSpider. Remove.
-
- * assembler/MacroAssemblerX86_64.h:
- (JSC::MacroAssemblerX86_64::storePtr):
- (JSC::MacroAssemblerX86_64::branchPtr):
-
-2009-08-26 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- A bit of Collector refatoring.
-
- SunSpider says no change. v8 says 1.003x faster (1.02x faster on splay).
-
- * JavaScriptCore.exp:
-
- * runtime/JSCell.cpp:
- (JSC::JSCell::toPrimitive):
- (JSC::JSCell::getPrimitiveNumber):
- (JSC::JSCell::toBoolean):
- (JSC::JSCell::toNumber):
- (JSC::JSCell::toString):
- (JSC::JSCell::toObject): Removed pure virtual functions from
- JSCell, so the collector can construct one. This allowed
- me to remove a bunch of ASSERT_NOT_REACHED throughout the
- code, too.
-
- * runtime/JSCell.h:
- (JSC::JSCell::JSCell): ditto
- (JSC::Heap::heap): Inlined this function because it's trivial.
-
- * JavaScriptCore.exp:
-
- * runtime/Collector.cpp:
- (JSC::Heap::destroy):
- (JSC::Heap::allocateBlock):
- (JSC::Heap::freeBlock):
- (JSC::Heap::freeBlocks): Renamed freeHeap to freeBlocks, since
- it doesn't actually free the Heap object.
- (JSC::Heap::heapAllocate):
- (JSC::Heap::sweep):
- * runtime/Collector.h: Refactored block allocation and destruction
- into helper functions.
-
- * runtime/GetterSetter.cpp:
- * runtime/JSAPIValueWrapper.cpp:
- * runtime/JSPropertyNameIterator.cpp: Removed dummy implementations
- of pure virtual functions. (See above.)
-
-=== End re-roll-in of r47738:47740 with Windows crash fixed ===
-
-2009-08-26 Geoffrey Garen <ggaren@apple.com>
-
- Build fix: start out with a 32-bit value to avoid a shortening warning.
-
- * runtime/Collector.cpp:
- (JSC::Heap::sweep):
-
-2009-08-24 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Substantially reduced VM thrash in the GC heap.
-
- 1.08x faster on v8 (1.60x faster on v8-splay).
-
- 1.40x faster on bench-alloc-nonretained.
-
- 1.90x faster on bench-alloc-retained.
-
- SunSpider says no change.
-
- * runtime/Collector.cpp:
- (JSC::Heap::heapAllocate): Fixed a long-standing bug: update a few local
- variables unconditionally after calling collect(), since they may be used
- even if we don't "goto scan". (In the bug I saw, usedBlocks got out of
- sync with heap.usedBlocks).
- (JSC::Heap::sweep): Keep enough free heap space to accomodate
- the number of objects we'll allocate before the next GC, plus 25%, for
- good measure.
- * runtime/Collector.h: Bumped the block size to 256k. This seems to give
- the best cache performance, and it prevents us from initiating lots of
- VM traffic to recover very small chunks of memory.
-
-=== Begin re-roll-in of r47738:47740 with Windows crash fixed ===
-
-2009-08-25 Drew Wilson <atwilson@google.com>
-
- Reviewed by David Levin.
-
- postMessage() spec now supports sending arrays of ports
- https://bugs.webkit.org/show_bug.cgi?id=26902
-
- Added OwnPtr to VectorTraits so we can store OwnPtrs in Vectors.
-
- * wtf/VectorTraits.h:
-
-2009-08-26 Xan Lopez <xlopez@igalia.com>
-
- Rubber-stamped by Gustavo Noronha.
-
- Remove duplicated files from file list.
-
- * GNUmakefile.am:
-
-2009-08-26 Oliver Hunt <oliver@apple.com>
-
- Reviewed by NOBODY (Build fix).
-
- More export fixes.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
-
-2009-08-26 Oliver Hunt <oliver@apple.com>
-
- Reviewed by NOBODY (Build fix).
-
- Hopefully fix all the exports from JSC on windows
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
-
-2009-08-26 Oliver Hunt <oliver@apple.com>
-
- Reviewed by NOBODY (Build fixes).
-
- Forgot I added files to JavaScriptCore.
-
- * GNUmakefile.am:
- * JavaScriptCore.gypi:
- * JavaScriptCore.pri:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
- * JavaScriptCoreSources.bkl:
-
-2009-08-25 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- [ES5] Implement getOwnPropertyDescriptor
- https://bugs.webkit.org/show_bug.cgi?id=28724
-
- Implement the core runtime support for getOwnPropertyDescriptor.
- This adds a virtual getOwnPropertyDescriptor method to every class
- that implements getOwnPropertySlot that shadows the behaviour of
- getOwnPropertySlot. The alternative would be to make getOwnPropertySlot
- (or PropertySlots in general) provide property attribute information,
- but quick testing showed this to be a regression.
-
- * JavaScriptCore.exp:
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * runtime/Arguments.cpp:
- (JSC::Arguments::getOwnPropertyDescriptor):
- * runtime/Arguments.h:
- * runtime/ArrayPrototype.cpp:
- (JSC::ArrayPrototype::getOwnPropertyDescriptor):
- * runtime/ArrayPrototype.h:
- * runtime/CommonIdentifiers.h:
- * runtime/DatePrototype.cpp:
- (JSC::DatePrototype::getOwnPropertyDescriptor):
- * runtime/DatePrototype.h:
- * runtime/JSArray.cpp:
- (JSC::JSArray::getOwnPropertyDescriptor):
- * runtime/JSArray.h:
- * runtime/JSByteArray.cpp:
- (JSC::JSByteArray::getOwnPropertyDescriptor):
- * runtime/JSByteArray.h:
- * runtime/JSFunction.cpp:
- (JSC::JSFunction::getOwnPropertyDescriptor):
- * runtime/JSFunction.h:
- * runtime/JSGlobalObject.h:
- (JSC::JSGlobalObject::getOwnPropertyDescriptor):
- * runtime/JSNotAnObject.cpp:
- (JSC::JSNotAnObject::getOwnPropertyDescriptor):
- * runtime/JSNotAnObject.h:
- * runtime/JSONObject.cpp:
- (JSC::JSONObject::getOwnPropertySlot):
- (JSC::JSONObject::getOwnPropertyDescriptor):
- * runtime/JSONObject.h:
- * runtime/JSObject.cpp:
- (JSC::JSObject::getOwnPropertyDescriptor):
- (JSC::JSObject::getPropertyDescriptor):
- * runtime/JSObject.h:
- * runtime/JSString.cpp:
- (JSC::JSString::getStringPropertyDescriptor):
- (JSC::JSString::getOwnPropertyDescriptor):
- * runtime/JSString.h:
- * runtime/JSVariableObject.cpp:
- (JSC::JSVariableObject::symbolTableGet):
- * runtime/JSVariableObject.h:
- * runtime/Lookup.h:
- (JSC::getStaticPropertyDescriptor):
- (JSC::getStaticFunctionDescriptor):
- (JSC::getStaticValueDescriptor):
- Add property descriptor equivalents of the lookup
- table access functions
-
- * runtime/MathObject.cpp:
- (JSC::MathObject::getOwnPropertySlot):
- (JSC::MathObject::getOwnPropertyDescriptor):
- * runtime/MathObject.h:
- * runtime/NumberConstructor.cpp:
- (JSC::NumberConstructor::getOwnPropertyDescriptor):
- * runtime/NumberConstructor.h:
- * runtime/ObjectConstructor.cpp:
- (JSC::ObjectConstructor::ObjectConstructor):
- (JSC::objectConstructorGetOwnPropertyDescriptor):
- * runtime/PropertyDescriptor.cpp: Added.
- (JSC::PropertyDescriptor::writable):
- (JSC::PropertyDescriptor::enumerable):
- (JSC::PropertyDescriptor::configurable):
- (JSC::PropertyDescriptor::hasAccessors):
- (JSC::PropertyDescriptor::setUndefined):
- (JSC::PropertyDescriptor::getter):
- (JSC::PropertyDescriptor::setter):
- (JSC::PropertyDescriptor::setDescriptor):
- (JSC::PropertyDescriptor::setAccessorDescriptor):
- * runtime/PropertyDescriptor.h: Added.
- (JSC::PropertyDescriptor::PropertyDescriptor):
- (JSC::PropertyDescriptor::attributes):
- (JSC::PropertyDescriptor::isValid):
- (JSC::PropertyDescriptor::value):
- * runtime/RegExpConstructor.cpp:
- (JSC::RegExpConstructor::getOwnPropertyDescriptor):
- * runtime/RegExpConstructor.h:
- * runtime/RegExpMatchesArray.h:
- (JSC::RegExpMatchesArray::getOwnPropertyDescriptor):
- * runtime/RegExpObject.cpp:
- (JSC::RegExpObject::getOwnPropertyDescriptor):
- * runtime/RegExpObject.h:
- * runtime/StringObject.cpp:
- (JSC::StringObject::getOwnPropertyDescriptor):
- * runtime/StringObject.h:
- * runtime/StringPrototype.cpp:
- (JSC::StringPrototype::getOwnPropertyDescriptor):
- * runtime/StringPrototype.h:
-
-2009-08-24 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Darin Adler.
-
- How many copies of the parameters do you need?
- https://bugs.webkit.org/show_bug.cgi?id=28701
-
- The function parameters in JSC get copied a lot - and unnecessarily so.
-
- Originally this happened due to duplicating FunctionBodyNodes on recompilation,
- though the problem has been exacerbated by copying the parameters from the
- original function body onto the executable, then back onto the real body that
- will be generated (this happens on every function). And this is all made worse
- since the data structures in question are a little ugly - C style arrays of C++
- objects containing ref counts, so they need a full copy-construct (rather than
- a simple memcpy).
-
- This can all be greatly simplified by just punting the parameters off into
- their own ref-counted object, and forgoing all the copying.
-
- ~no performance change, possible slight progression.
-
- * bytecompiler/BytecodeGenerator.cpp:
- (JSC::BytecodeGenerator::BytecodeGenerator):
- * bytecompiler/BytecodeGenerator.h:
- (JSC::BytecodeGenerator::makeFunction):
- * parser/Nodes.cpp:
- (JSC::FunctionParameters::FunctionParameters):
- (JSC::FunctionBodyNode::FunctionBodyNode):
- (JSC::FunctionBodyNode::finishParsing):
- * parser/Nodes.h:
- (JSC::FunctionBodyNode::parameters):
- (JSC::FunctionBodyNode::parameterCount):
- * runtime/Executable.cpp:
- (JSC::FunctionExecutable::~FunctionExecutable):
- (JSC::FunctionExecutable::compile):
- (JSC::FunctionExecutable::reparseExceptionInfo):
- (JSC::FunctionExecutable::fromGlobalCode):
- (JSC::FunctionExecutable::paramString):
- * runtime/Executable.h:
- (JSC::FunctionExecutable::FunctionExecutable):
- (JSC::FunctionExecutable::parameterCount):
-
-2009-08-25 Brent Fulgham <bfulgham@webkit.org>
-
- Reviewed by NOBODY (Buildfix).
-
- * JavaScriptCore.vcproj/jsc/jsc.vcproj: Add Debug_CFLite target
- that inherits from the debug_wincairo property sheet and therefore
- links to the proper debug library.
- * JavaScriptCore.vcproj/testapi/testapi.vcproj: Add Debug_CFLite target
- that inherits from the debug_wincairo property sheet and therefore
- links to the proper debug library.
-
-2009-08-25 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Simon Fraser.
-
- Export tryFastMalloc for Canvas3D work
- https://bugs.webkit.org/show_bug.cgi?id=28018
-
- * JavaScriptCore.exp:
-
-2009-08-25 David Levin <levin@chromium.org>
-
- Reviewed by Adam Roben.
-
- PLATFORM(CFNETWORK) should be USE(CFNETWORK).
- https://bugs.webkit.org/show_bug.cgi?id=28713
-
- * wtf/Platform.h: Added a #define to catch this issue in the
- future. The define would generate an error on gcc without the
- space in the expansion, but Visual C++ needs the space to cause an error.
-
-2009-08-24 Brent Fulgham <bfulgham@webkit.org>
-
- Reviewed by Steve Falkenburg.
-
- Revise CFLite Debug build to emit DLL's with _debug label.
- https://bugs.webkit.org/show_bug.cgi?id=28695.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Modify
- Cairo debug build to inherit from new debug_cairo property sheet.
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCFLite.vsprops:
- Modify to look for debug CFLite when in debug build.
-
-2009-08-24 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Adler & Darin Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=28691
- Do not retain ScopeNodes outside of parsing
-
- There is now no need for these to exist outside of parsing - their use in the runtime is replaced by Executable types.
-
- * bytecode/EvalCodeCache.h:
- (JSC::EvalCodeCache::get):
- * bytecompiler/BytecodeGenerator.cpp:
- (JSC::BytecodeGenerator::BytecodeGenerator):
- (JSC::BytecodeGenerator::emitNewFunction):
- (JSC::BytecodeGenerator::emitNewFunctionExpression):
- * bytecompiler/BytecodeGenerator.h:
- (JSC::BytecodeGenerator::makeFunction):
- * debugger/Debugger.cpp:
- (JSC::Debugger::recompileAllJSFunctions):
- (JSC::evaluateInGlobalCallFrame):
- * debugger/DebuggerCallFrame.cpp:
- (JSC::DebuggerCallFrame::evaluate):
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::execute):
- (JSC::Interpreter::prepareForRepeatCall):
- (JSC::Interpreter::privateExecute):
- * jit/JITStubs.cpp:
- (JSC::DEFINE_STUB_FUNCTION):
- * parser/Nodes.cpp:
- (JSC::ScopeNodeData::ScopeNodeData):
- (JSC::ProgramNode::create):
- (JSC::EvalNode::create):
- (JSC::FunctionBodyNode::create):
- * parser/Nodes.h:
- (JSC::ScopeNode::adoptData):
- (JSC::FunctionBodyNode::parameterCount):
- * parser/Parser.cpp:
- * parser/Parser.h:
- (JSC::Parser::arena):
- (JSC::Parser::Parser):
- (JSC::Parser::parse):
- * runtime/ArrayPrototype.cpp:
- (JSC::isNumericCompareFunction):
- (JSC::arrayProtoFuncSort):
- * runtime/Completion.cpp:
- (JSC::checkSyntax):
- (JSC::evaluate):
- * runtime/Executable.cpp:
- (JSC::FunctionExecutable::~FunctionExecutable):
- (JSC::EvalExecutable::compile):
- (JSC::ProgramExecutable::checkSyntax):
- (JSC::ProgramExecutable::compile):
- (JSC::FunctionExecutable::compile):
- (JSC::EvalExecutable::generateJITCode):
- (JSC::ProgramExecutable::generateJITCode):
- (JSC::FunctionExecutable::generateJITCode):
- (JSC::FunctionExecutable::reparseExceptionInfo):
- (JSC::EvalExecutable::reparseExceptionInfo):
- (JSC::FunctionExecutable::recompile):
- (JSC::FunctionExecutable::fromGlobalCode):
- (JSC::FunctionExecutable::copyParameters):
- (JSC::FunctionExecutable::paramString):
- * runtime/Executable.h:
- (JSC::ScriptExecutable::ScriptExecutable):
- (JSC::ScriptExecutable::sourceID):
- (JSC::ScriptExecutable::sourceURL):
- (JSC::ScriptExecutable::lineNo):
- (JSC::ScriptExecutable::lastLine):
- (JSC::ScriptExecutable::usesEval):
- (JSC::ScriptExecutable::usesArguments):
- (JSC::ScriptExecutable::needsActivation):
- (JSC::ScriptExecutable::recordParse):
- (JSC::EvalExecutable::bytecode):
- (JSC::EvalExecutable::jitCode):
- (JSC::ProgramExecutable::bytecode):
- (JSC::ProgramExecutable::reparseExceptionInfo):
- (JSC::ProgramExecutable::jitCode):
- (JSC::FunctionExecutable::FunctionExecutable):
- (JSC::FunctionExecutable::make):
- (JSC::FunctionExecutable::bytecode):
- (JSC::FunctionExecutable::isGenerated):
- (JSC::FunctionExecutable::name):
- (JSC::FunctionExecutable::parameterCount):
- (JSC::FunctionExecutable::jitCode):
- * runtime/FunctionConstructor.cpp:
- (JSC::constructFunction):
- * runtime/JSGlobalData.cpp:
- (JSC::JSGlobalData::numericCompareFunction):
- * runtime/JSGlobalObjectFunctions.cpp:
- (JSC::globalFuncEval):
-
-2009-08-24 Darin Adler <darin@apple.com>
-
- * runtime/ObjectPrototype.cpp:
- (JSC::ObjectPrototype::put): Landed revised version I had tested but forgot
- to land. Leave out the branch, since we don't need one.
+ * assembler/MacroAssemblerMIPS.h:
+ (JSC::MacroAssemblerMIPS::branchDouble):
-2009-08-24 Darin Adler <darin@apple.com>
+2010-05-28 Gavin Barraclough <barraclough@apple.com>
Reviewed by Geoff Garen.
- Array index miss case creates a string every time
- https://bugs.webkit.org/show_bug.cgi?id=28664
-
- SunSpider test results I saw:
-
- 0.5% faster overall
- 1% faster on crypto-aes
- 20% faster on crypto-md5
- 13% faster on crypto-sha1
-
- * runtime/ObjectPrototype.cpp:
- (JSC::ObjectPrototype::ObjectPrototype): Initialize m_hasNoPropertiesWithUInt32Names
- to true.
- (JSC::ObjectPrototype::put): Clearly m_hasNoPropertiesWithUInt32Names if the new
- property has a name that is the string form of a UInt32.
- (JSC::ObjectPrototype::getOwnPropertySlot): Don't call JSObject::getOwnPropertySlot
- if m_hasNoPropertiesWithUInt32Names is true, and it is highly likely to be true.
-
- * runtime/ObjectPrototype.h: Added declarations for the above.
-
-2009-08-24 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Unreviewed. Fix a typo in my distcheck build fix.
-
- * GNUmakefile.am:
-
-2009-08-23 Gustavo Noronha Silva <gns@gnome.org>
-
- Unreviewed build fix for make distcheck.
-
- * GNUmakefile.am: Added files required for the build.
-
-2009-08-22 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Mark Rowe.
-
- REGRESSION(r47639-r47660): Webkit crashes on launch on PowerPC
- https://bugs.webkit.org/show_bug.cgi?id=28655
-
- * runtime/JSFunction.cpp:
- (JSC::JSFunction::JSFunction): Initialize properly with a VPtrHackExecutable.
- * wtf/Platform.h:
-
-2009-08-22 Darin Adler <darin@apple.com>
-
- Fix storage leak from syntax tree arena allocation patch.
-
- * parser/Nodes.h: CommaNode needs to inherit from ParserArenaDeletable
- because it has a vector.
-
-2009-08-21 Darin Adler <darin@apple.com>
-
- Fix Qt build.
-
- * parser/Nodes.cpp:
- (JSC::ScopeNodeData::ScopeNodeData): Made non-inline again.
- This is used outside Nodes.cpp so can't be inline unless
- it is in the header.
-
-2009-08-21 Darin Adler <darin@apple.com>
-
- Two loose ends from the last commit.
-
- * JavaScriptCore.xcodeproj/project.pbxproj: Made ParserArena.h
- and create_hash_table project-internal instead of "private".
- * runtime/Executable.h: Removed accidentally-added constructor.
-
-2009-08-21 Darin Adler <darin@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Syntax tree nodes should use arena allocation
- https://bugs.webkit.org/show_bug.cgi?id=25674
-
- Use an actual arena now. 0.6% speedup on SunSpider.
-
- New and improved with 100% less leaking of the universe.
-
- * JavaScriptCore.exp:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
- Removed all exports involving the class FunctionBodyNode, which no
- longer needs to be used outside JavaScriptCore.
-
- * JavaScriptCore.xcodeproj/project.pbxproj: Made Nodes.h and
- Executable.h project-internal instead of "private".
-
- * bytecompiler/BytecodeGenerator.cpp:
- (JSC::BytecodeGenerator::BytecodeGenerator): Updated since VarStack
- contains const Identifier* now.
-
- * parser/Grammar.y: Made identifiers from the lexer be const
- Identifier* and updated since VarStack contains const Identifier* now.
-
- * parser/Lexer.cpp:
- (JSC::Lexer::setCode): Pass in ParserArena, used for identifiers.
- (JSC::Lexer::makeIdentifier): Changed return type to const Identifier*
- and changed to call ParserArena.
- (JSC::Lexer::clear): Removed the code to manage m_identifiers and
- added code to set m_arena to 0.
- * parser/Lexer.h: Updated for changes above.
-
- * parser/NodeConstructors.h:
- (JSC::ParserArenaFreeable::operator new): Added. Calls allocateFreeable
- on the arena.
- (JSC::ParserArenaDeletable::operator new): Changed to call the
- allocateDeletable function on the arena instead of deleteWithArena.
- (JSC::PropertyNode::PropertyNode): Added new constructor that makes
- numeric identifiers. Some day we might want to optimize this for
- integers so it doesn't create a string for each one.
- (JSC::ContinueNode::ContinueNode): Initialize m_ident to nullIdentifier
- since it's now a const Identifier& so it can't be left uninitialized.
- (JSC::BreakNode::BreakNode): Ditto.
- (JSC::CaseClauseNode::CaseClauseNode): Updated to use SourceElements*
- to keep track of the statements rather than a separate statement vector.
- (JSC::BlockNode::BlockNode): Ditto.
- (JSC::ForInNode::ForInNode): Initialize m_ident to nullIdentifier.
-
- * parser/Nodes.cpp: Moved the comment explaining emitBytecode in here.
- It seemed strangely out of place in the header.
- (JSC::ThrowableExpressionData::emitThrowError): Added an overload for
- UString as well as Identifier.
- (JSC::SourceElements::singleStatement): Added.
- (JSC::SourceElements::lastStatement): Added.
- (JSC::RegExpNode::emitBytecode): Changed the throwError code to use
- the substitution mechanism instead of doing a string append.
- (JSC::SourceElements::emitBytecode): Added. Replaces the old
- statementListEmitCode function, since we now keep the SourceElements
- objects around.
- (JSC::BlockNode::lastStatement): Added.
- (JSC::BlockNode::emitBytecode): Changed to use emitBytecode instead of
- statementListEmitCode.
- (JSC::CaseClauseNode::emitBytecode): Added.
- (JSC::CaseBlockNode::emitBytecodeForBlock): Changed to use emitBytecode
- instead of statementListEmitCode.
- (JSC::ScopeNodeData::ScopeNodeData): Changed to store the
- SourceElements* instead of using releaseContentsIntoVector.
- (JSC::ScopeNode::emitStatementsBytecode): Added.
- (JSC::ScopeNode::singleStatement): Added.
- (JSC::ProgramNode::emitBytecode): Call emitStatementsBytecode instead
- of statementListEmitCode.
- (JSC::EvalNode::emitBytecode): Ditto.
- (JSC::FunctionBodyNode::emitBytecode): Call emitStatementsBytecode
- insetad of statementListEmitCode and check for the return node using
- the new functions.
-
- * parser/Nodes.h: Changed VarStack to store const Identifier* instead
- of Identifier and rely on the arena to control lifetime. Added a new
- ParserArenaFreeable class. Made ParserArenaDeletable inherit from
- FastAllocBase instead of having its own operator new. Base the Node
- class on ParserArenaFreeable. Changed the various Node classes
- to use const Identifier& instead of Identifier to avoid the need to
- call their destructors and allow them to function as "freeable" in the
- arena. Removed extraneous JSC_FAST_CALL on definitions of inline functions.
- Changed ElementNode, PropertyNode, ArgumentsNode, ParameterNode,
- CaseClauseNode, ClauseListNode, and CaseBlockNode to use ParserArenaFreeable
- as a base class since they do not descend from Node. Eliminated the
- StatementVector type and instead have various classes use SourceElements*
- instead of StatementVector. This prevents those classes from having to
- use ParserArenaDeletable to make sure the vector destructor is called.
-
- * parser/Parser.cpp:
- (JSC::Parser::parse): Pass the arena to the lexer.
-
- * parser/Parser.h: Added an include of ParserArena.h, which is no longer
- included by Nodes.h.
- (JSC::Parser::parseFunctionFromGlobalCode): Changed to use the
- singleStatement function, since there is no longer any children function.
- Removed some unneeded use of RefPtr.
-
- * parser/ParserArena.cpp:
- (JSC::ParserArena::ParserArena): Added. Initializes the new members,
- m_freeableMemory, m_freeablePoolEnd, and m_identifiers.
- (JSC::ParserArena::freeablePool): Added. Computes the pool pointer,
- since we store only the current pointer and the end of pool pointer.
- (JSC::ParserArena::deallocateObjects): Added. Contains the common
- memory-deallocation logic used by both the destructor and the
- reset function.
- (JSC::ParserArena::~ParserArena): Changed to call deallocateObjects.
- (JSC::ParserArena::reset): Ditto. Also added code to zero out the
- new structures, and switched to use clear() instead of shrink(0) since
- we don't really reuse arenas.
- (JSC::ParserArena::makeNumericIdentifier): Added.
- (JSC::ParserArena::allocateFreeablePool): Added. Used when the pool
- is empty.
- (JSC::ParserArena::isEmpty): Added. No longer inline, which is fine
- since this is used only for assertions at the moment.
- (JSC::ParserArena::derefWithArena): Make non-inline.
-
- * parser/ParserArena.h: Added an actual arena of "freeable" objects,
- ones that don't need destructors to be called. Also added a separate
- IdentifierArena object, a segmented vector of identifiers that used
- to be in the Lexer.
-
- * runtime/Executable.h: Moved the definition of the
- FunctionExecutable::make function here. It can't go in JSFunction.h
- since that header has to be used outside JavaScriptCore and so can't
- include this, which includes Nodes.h. The function could be moved
- elswhere if we don't want to include JSFunction.h in this header, but
- for now this seems to be the best place.
-
- * runtime/JSFunction.h: Removed the include of Executable.h and
- definition of the FunctionExecutable::make function.
-
- * wtf/FastMalloc.cpp: Fixed an incorrect comment.
-
-2009-08-21 Mark Rowe <mrowe@apple.com>
-
- Fix the non-JIT build.
-
- * runtime/Executable.cpp:
- * runtime/Executable.h:
-
-2009-08-21 Gavin Barraclough <barraclough@apple.com>
-
- Speculative QuickTime build fix.
-
- * runtime/JSArray.cpp:
-
-2009-08-21 Gavin Barraclough <barraclough@apple.com>
-
- Speculative QT build fix.
-
- * runtime/StringPrototype.cpp:
-
-2009-08-21 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Restructure Executable types so that host functions do not hold a FunctionExecutable.
- https://bugs.webkit.org/show_bug.cgi?id=28621
-
- All JSFunction objects have a pointer to an Executable*. This is currently always a
- FunctionExecutable, however this has a couple of drawbacks. Host functions do not
- store a range of information that the FunctionExecutable provides (source, name,
- CodeBlock & information presently held on the FunctionBodyNode).
-
- [ * nearly all... see below! ]
-
- Instead, make JSFunctions hold a pointer to an ExecutableBase, move fields specific
- to JS sourced executable types (source, node) into a new subclass (ScriptExecutable),
- and create a new NativeExecutable type. We now provide a new method in JSFunction
- to access & downcast to FunctionExecutable, but in doing so we can make an early
- check (with an ASSERT) to ensure that the Executable read from a function will only
- be treated as a FunctionExecutable (and thus the JS sepcific fields will only be
- accessed) if the JSFunction is not a host function.
-
- There is one JSFunction that currently does not have an Executable, which is the
- object created to allow us to read out the vtable pointer. By making this change
- we can also add a new Executable type fror this object (VPtrHackExecutable).
- Since this means that really all JSFunctions have an Executable we no longer have
- to null-check m_executable before us it - particularly in isHostFunction().
-
- This patch removes CacheableEvalExecutable, since all subclasses of ExecutableBase
- can now be ref-counted - since both JSFunction holds (and ref-counts) an ExecutableBase
- that might be a FunctionExecutable or a NativeExecutable. This does now mean that all
- ProgramExecutables and EvalExecutables (unnecessarily) provide an interface to be
- ref-counted, however this seems less-bad than host functions unnecessarily providing
- interface to access non-host specific information.
-
- The class hierarcy has changed from this:
-
- - ExecutableBase
- - ProgramExecutable
- - EvalExecutable
- - CacheableEvalExecutable (also RefCounted by multiple-inheritance)
- - FunctionExecutable (also RefCounted by multiple-inheritance, 'special' FunctionExecutable also used for host functions)
-
- To this:
-
- - RefCounted
- - ExecutableBase
- - NativeExecutable
- - VPtrHackExecutable
- - ScriptExecutable
- - ProgramExecutable
- - EvalExecutable
- - FunctionExecutable
-
- This patch speeds up sunspidey by a couple of ms (presumably due to the changes to isHostFunction()).
-
- * bytecode/CodeBlock.cpp:
- (JSC::CodeBlock::CodeBlock):
- * bytecode/CodeBlock.h:
- (JSC::CodeBlock::ownerExecutable):
- (JSC::GlobalCodeBlock::GlobalCodeBlock):
- * bytecode/EvalCodeCache.h:
- (JSC::EvalCodeCache::get):
- * debugger/Debugger.cpp:
- (JSC::Debugger::recompileAllJSFunctions):
- * interpreter/CachedCall.h:
- (JSC::CachedCall::CachedCall):
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::callEval):
- (JSC::Interpreter::privateExecute):
- * jit/JITStubs.cpp:
- (JSC::DEFINE_STUB_FUNCTION):
- * profiler/Profiler.cpp:
- (JSC::createCallIdentifierFromFunctionImp):
- * runtime/Arguments.h:
- (JSC::Arguments::getArgumentsData):
- (JSC::Arguments::Arguments):
- * runtime/Executable.cpp:
- (JSC::NativeExecutable::~NativeExecutable):
- (JSC::VPtrHackExecutable::~VPtrHackExecutable):
- * runtime/Executable.h:
- (JSC::ExecutableBase::ExecutableBase):
- (JSC::ExecutableBase::~ExecutableBase):
- (JSC::ExecutableBase::isHostFunction):
- (JSC::NativeExecutable::NativeExecutable):
- (JSC::VPtrHackExecutable::VPtrHackExecutable):
- (JSC::ScriptExecutable::ScriptExecutable):
- (JSC::ScriptExecutable::source):
- (JSC::ScriptExecutable::sourceID):
- (JSC::ScriptExecutable::sourceURL):
- (JSC::ScriptExecutable::lineNo):
- (JSC::ScriptExecutable::lastLine):
- (JSC::ScriptExecutable::usesEval):
- (JSC::ScriptExecutable::usesArguments):
- (JSC::ScriptExecutable::needsActivation):
- (JSC::EvalExecutable::EvalExecutable):
- (JSC::EvalExecutable::create):
- (JSC::ProgramExecutable::ProgramExecutable):
- (JSC::FunctionExecutable::FunctionExecutable):
- * runtime/FunctionPrototype.cpp:
- (JSC::functionProtoFuncToString):
- * runtime/JSFunction.cpp:
- (JSC::JSFunction::JSFunction):
- (JSC::JSFunction::~JSFunction):
- (JSC::JSFunction::markChildren):
- (JSC::JSFunction::getCallData):
- (JSC::JSFunction::call):
- (JSC::JSFunction::lengthGetter):
- (JSC::JSFunction::getConstructData):
- (JSC::JSFunction::construct):
- * runtime/JSFunction.h:
- (JSC::JSFunction::executable):
- (JSC::JSFunction::jsExecutable):
- (JSC::JSFunction::isHostFunction):
-
-2009-08-20 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Browser hangs on opening Web Inspector.
- https://bugs.webkit.org/show_bug.cgi?id=28438
-
- Code generation needs to be able to walk the entire scopechain in some
- cases, however the symbol table used by activations was a member of the
- codeblock. Following recompilation this may no longer exist, leading
- to a crash or hang on lookup.
-
- We fix this by introducing a refcounted SymbolTable subclass, SharedSymbolTable,
- for the CodeBlocks used by function code. This allows activations to
- maintain ownership of a copy of the symbol table even after recompilation so
- they can continue to work.
-
- * bytecode/CodeBlock.cpp:
- (JSC::CodeBlock::CodeBlock):
- * bytecode/CodeBlock.h:
- (JSC::CodeBlock::symbolTable):
- (JSC::CodeBlock::sharedSymbolTable):
- (JSC::GlobalCodeBlock::GlobalCodeBlock):
- (JSC::FunctionCodeBlock::FunctionCodeBlock):
- (JSC::FunctionCodeBlock::~FunctionCodeBlock):
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::retrieveArguments):
- * runtime/Executable.cpp:
- (JSC::EvalExecutable::generateBytecode):
- (JSC::FunctionExecutable::generateBytecode):
- (JSC::FunctionExecutable::reparseExceptionInfo):
- (JSC::EvalExecutable::reparseExceptionInfo):
- * runtime/JSActivation.h:
- (JSC::JSActivation::JSActivationData::JSActivationData):
- (JSC::JSActivation::JSActivationData::~JSActivationData):
- * runtime/SymbolTable.h:
+ Move jit compilation from linking thunks into cti_vm_lazyLink methods.
-2009-08-20 Xan Lopez <xlopez@igalia.com>
-
- Add new file to GTK+ build.
-
- * GNUmakefile.am:
-
-2009-08-20 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Added a number => string cache.
-
- 1.07x faster on v8 (1.7x faster on v8-splay).
- 1.004x faster on SunSpider.
-
- * runtime/JSCell.h: Moved JSValue::toString to JSString.h.
- * runtime/JSGlobalData.h: Holds the cache.
- * runtime/JSNumberCell.cpp:
- (JSC::JSNumberCell::toString):
- (JSC::JSNumberCell::toThisString): Removed -0 special case.
- UString handles this now, since too many clients were
- special-casing it.
-
- * runtime/JSString.h:
- (JSC::JSValue::toString): Use the cache when converting
- an int or double to string.
-
- * runtime/Operations.h:
- (JSC::concatenateStrings): Call toString to take advantage
- of the cache.
-
- * runtime/SmallStrings.h:
- (JSC::NumericStrings::add):
- (JSC::NumericStrings::lookup): The cache.
-
- * runtime/UString.cpp:
- (JSC::UString::from): Added -0 special case mentioned above.
- Removed appendNumeric because it's mutually exclusive with the
- cache.
-
-2009-08-20 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- REGRESSION: fast/profiler/call.html is crashing occasionally
- https://bugs.webkit.org/show_bug.cgi?id=28476
-
- Using the codeblock for information about how many parameters and
- locals a function has is unsafe in certain circumstances. The
- basic scenario is all function code being cleared in response to
- the debugger or profiler being enabled, and then an activation is
- marked before its associated function is re-executed.
-
- To deal with this scenario we store the variable count of a function
- directly in the FunctionExecutable, and then use that information.
-
- * runtime/Arguments.h:
- (JSC::Arguments::getArgumentsData):
- * runtime/Executable.cpp:
- (JSC::FunctionExecutable::generateBytecode):
- * runtime/Executable.h:
- (JSC::FunctionExecutable::FunctionExecutable):
- (JSC::FunctionExecutable::variableCount):
- * runtime/JSActivation.cpp:
- (JSC::JSActivation::markChildren):
-
-2009-08-20 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Numbering of arguments to emitGetJITStubArg/emitPutJITStubArg incorrect
- <bug lost in the great bug disasteroony of 08/20/09!>
-
- The argumentNumber argument to emitGetJITStubArg/emitPutJITStubArg should match
- the argument number used within the stub functions in JITStubs.cpp, but it doesn't.
-
- Firstly, all the numbers changed when we added a void* 'reserved' as the first slot
- (rather than leaving argument 0 unused), and secondly in 32_64 builds the index to
- peek/poke needs to be multiplies by 2 (since the argument to peek/poke is a number
- of machine words, and on 32_64 build the argument slots to stub functions are two
- words wide).
-
- * jit/JIT.h:
- * jit/JITCall.cpp:
- (JSC::JIT::compileOpCallSetupArgs):
- (JSC::JIT::compileOpConstructSetupArgs):
- (JSC::JIT::compileOpCallVarargsSetupArgs):
- (JSC::JIT::compileOpCall):
- * jit/JITInlineMethods.h:
- (JSC::JIT::emitPutJITStubArg):
- (JSC::JIT::emitPutJITStubArgConstant):
- (JSC::JIT::emitGetJITStubArg):
- (JSC::JIT::emitPutJITStubArgFromVirtualRegister):
* jit/JITOpcodes.cpp:
(JSC::JIT::privateCompileCTIMachineTrampolines):
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::privateCompilePutByIdTransition):
-
-2009-08-20 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Geoff Garen.
-
- REGRESSION: significant slowdown on Celtic Kane "AJAX declaration" subtest
- https://bugs.webkit.org/show_bug.cgi?id=28332
-
- Follow up style fixes that were missed in review.
-
- * runtime/Structure.cpp:
- (JSC::Structure::hasTransition):
- * runtime/Structure.h:
- (JSC::Structure::get):
- (JSC::StructureTransitionTable::contains):
- * runtime/StructureTransitionTable.h:
- (JSC::StructureTransitionTable::add):
-
-2009-08-20 Oliver Hunt <oliver@apple.com>
-
- Add new exports to windows jsc build
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
-
-2009-08-20 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- REGRESSION: significant slowdown on Celtic Kane "AJAX declaration" subtest
- https://bugs.webkit.org/show_bug.cgi?id=28332
-
- The method check optimisation made transitions aware of the value being
- assigned when a transition was assigning a function. This had the side
- effect of making every assignment of a function expression result in a
- new transition, and thus a new Structure. The net result of this is that
- the common JS idiom of
-
- function MyObject() {
- this.myFunction = function(...){...};
- }
- new MyObject();
-
- Will produce a unique structure on every iteration, meaning that all
- caching is defeated and there is a significant amount of structure churn.
-
- The fix is to return the transition to its original form where it is
- keyed off a property name + attributes tuple, but have each transition
- support an optional transition on a specific value.
-
- * JavaScriptCore.exp:
- * runtime/JSObject.h:
- (JSC::JSObject::putDirectInternal):
- * runtime/Structure.cpp:
- (JSC::Structure::~Structure):
- (JSC::Structure::addPropertyTransitionToExistingStructure):
- (JSC::Structure::addPropertyTransition):
- (JSC::Structure::hasTransition):
- * runtime/Structure.h:
- (JSC::Structure::transitionedFor):
- (JSC::Structure::hasTransition):
- (JSC::Structure::):
- (JSC::StructureTransitionTable::contains):
- (JSC::StructureTransitionTable::get):
- * runtime/StructureTransitionTable.h:
- (JSC::StructureTransitionTableHashTraits::emptyValue):
- (JSC::StructureTransitionTable::hasTransition):
- (JSC::StructureTransitionTable::remove):
- (JSC::StructureTransitionTable::add):
-
-2009-08-20 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Remove FunctionCodeBlock.
- https://bugs.webkit.org/show_bug.cgi?id=28502
-
- These only exist to allow JIT code to dereference properties off the
- CodeBlock for any callee, regardless of whether it is a host function.
-
- Instead just use the FunctionExecutable. Copy the m_parameters field
- from the CodeBlock into the Executable, and use this to distinguish
- between host functions, functions that have been bytecompiled, and
- functions that have not.
-
- m_parameters is moved to ExecutableBase rather than FunctionExecutable
- so that (as a separate change) we can move make a separate class of
- executable for host code, which is not devived from FunctionExecutable
- (host code does not feature any of the properties that normal executable
- do and will provide, such as source, attributes, and a parsed name).
-
- 1% win on v8 tests, 0.5% on sunspider.
-
- * bytecode/CodeBlock.cpp:
- (JSC::CodeBlock::derefStructures):
- (JSC::CodeBlock::refStructures):
- (JSC::CodeBlock::reparseForExceptionInfoIfNecessary):
- (JSC::CodeBlock::handlerForBytecodeOffset):
- (JSC::CodeBlock::lineNumberForBytecodeOffset):
- (JSC::CodeBlock::expressionRangeForBytecodeOffset):
- (JSC::CodeBlock::getByIdExceptionInfoForBytecodeOffset):
- (JSC::CodeBlock::functionRegisterForBytecodeOffset):
- (JSC::CodeBlock::hasGlobalResolveInstructionAtBytecodeOffset):
- (JSC::CodeBlock::hasGlobalResolveInfoAtBytecodeOffset):
- * bytecode/CodeBlock.h:
- (JSC::):
- (JSC::CodeBlock::source):
- (JSC::CodeBlock::sourceOffset):
- (JSC::CodeBlock::evalCodeCache):
- (JSC::CodeBlock::createRareDataIfNecessary):
-
- remove NativeCodeBlocks and the NativeCode code type.
-
- * jit/JIT.cpp:
- (JSC::JIT::linkCall):
-
- Revert to previous behaviour (as currently still commented!) that Hhost functions have a null codeblock.
-
- * jit/JITCall.cpp:
- (JSC::JIT::compileOpCallInitializeCallFrame):
- (JSC::JIT::compileOpCallSetupArgs):
- (JSC::JIT::compileOpCallVarargsSetupArgs):
- (JSC::JIT::compileOpConstructSetupArgs):
- (JSC::JIT::compileOpCallVarargs):
- (JSC::JIT::compileOpCall):
- (JSC::JIT::compileOpCallSlowCase):
-
- Bring the 32_64 & non-32_64 JITs into line with each other, callee in regT0.
-
- * jit/JITOpcodes.cpp:
+ * jit/JITOpcodes32_64.cpp:
(JSC::JIT::privateCompileCTIMachineTrampolines):
-
- Rewrite call trampolines to not use the CodeBlock.
-
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
- Make call_JSFunction & call_arityCheck return the callee, don't expect to be passed the CodeBlock.
-
- * runtime/Executable.cpp:
- (JSC::FunctionExecutable::generateBytecode):
- (JSC::FunctionExecutable::recompile):
- (JSC::FunctionExecutable::FunctionExecutable):
- * runtime/Executable.h:
- (JSC::ExecutableBase::):
- (JSC::ExecutableBase::ExecutableBase):
- (JSC::FunctionExecutable::isHostFunction):
-
- Add m_numParameters.
-
- * runtime/JSFunction.cpp:
- (JSC::JSFunction::~JSFunction):
-
- Only call generatedBytecode() on JSFunctions non-host FunctionExecutables.
-
-2009-08-20 Yongjun Zhang <yongjun.zhang@nokia.com>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=28054
-
- Use a helper function to work around winscw compiler forward declaration bug
- regarding templated classes.
-
- Add parenthesis around (PassRefPtr::*UnspecifiedBoolType) to make winscw compiler
- work with the default UnSpecifiedBoolType() operator, which removes the winscw
- specific bool cast hack.
-
- * wtf/PassRefPtr.h:
- (WTF::derefIfNotNull):
- (WTF::PassRefPtr::~PassRefPtr):
-
-2009-08-19 Yong Li <yong.li@torchmobile.com>
-
- Reviewed by Gavin Barraclough.
-
- Change namespace ARM to ARMRegisters
- X86 to X86Registers to avoid conflict with macros
- https://bugs.webkit.org/show_bug.cgi?id=28428
-
- * assembler/ARMAssembler.cpp:
- * assembler/ARMAssembler.h:
- * assembler/ARMv7Assembler.h:
- * assembler/MacroAssemblerARM.h:
- * assembler/MacroAssemblerARMv7.h:
- * assembler/MacroAssemblerX86Common.h:
- * assembler/MacroAssemblerX86_64.h:
- * assembler/X86Assembler.h:
- * jit/JIT.h:
- * jit/JITArithmetic.cpp:
- * jit/JITInlineMethods.h:
- * jit/JITOpcodes.cpp:
- * wrec/WRECGenerator.cpp:
- * wrec/WRECGenerator.h:
- * yarr/RegexJIT.cpp:
-
-2009-08-19 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Devirtualise marking
- https://bugs.webkit.org/show_bug.cgi?id=28294
-
- We actually need to mark the value in a number object if we're using the
- 32bit number representation.
-
- * runtime/NumberObject.h:
- (JSC::NumberObject::createStructure):
-
-2009-08-19 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Darin Adler.
-
- We probably shouldn't be keeping the AST for eval nodes around forevar.
- https://bugs.webkit.org/show_bug.cgi?id=28469
-
- EvalNodes don't destroyData() (delete their parser data) since they need to hold onto
- their varStack. Copy a list of variable onto EvalCodeBlock, and this can go away.
-
- * bytecode/CodeBlock.h:
- (JSC::EvalCodeBlock::variable):
- (JSC::EvalCodeBlock::numVariables):
- (JSC::EvalCodeBlock::adoptVariables):
- * bytecompiler/BytecodeGenerator.cpp:
- (JSC::BytecodeGenerator::BytecodeGenerator):
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::execute):
- * parser/Nodes.h:
- * runtime/Executable.cpp:
- (JSC::EvalExecutable::generateBytecode):
- * runtime/Executable.h:
-
-2009-08-19 Jungshik Shin <jshin@chromium.org>
-
- Reviewed by Darin Adler.
-
- http://bugs.webkit.org/show_bug.cgi?id=28441
-
- Fix a build issue with ICU 4.2 or later on Windows with Visual C++.
- Instead of defining all isXXX and toupper/tolower as
- WTF_Please_use_ASCIICType_instead_of_ctype_see_comment_in_ASCIICType_h,
- #define them to be different by prepending 'WTF_...ASCIIType_h' with
- the originial names like 'toupper_WTF_...ASCIIType_h'.
-
- * wtf/DisallowCType.h:
-
-2009-08-18 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Assigning a function to an object should always use the existing transition, even if the transition is not specialized
- https://bugs.webkit.org/show_bug.cgi?id=28442
-
- Check for an unspecialized transition as an alternative to always failing if specialisation does not match.
-
- * runtime/Structure.cpp:
- (JSC::Structure::addPropertyTransitionToExistingStructure):
-
-2009-08-18 Dirk Schulze <krit@webkit.org>
-
- Reviewed by Oliver Hunt.
-
- Added additional getter to ByteArray with an unsigned char as return.
- ByteArray can take unsigned char directly now.
-
- * wtf/ByteArray.h:
- (WTF::ByteArray::set):
- (WTF::ByteArray::get):
-
-2009-08-18 Peter Kasting <pkasting@google.com>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=28415
- Set svn:eol-style CRLF on all .sln and .vcproj files that don't already
- have it.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.vcproj:
- * JavaScriptCore.vcproj/testapi/testapi.vcproj:
-
-2009-08-18 Xan Lopez <xlopez@igalia.com>
-
- Try to fix the GTK+ build.
-
- * GNUmakefile.am:
-
-2009-08-17 Gavin Barraclough <barraclough@apple.com>
+2010-05-28 Gavin Barraclough <barraclough@apple.com>
Reviewed by Sam Weinig.
- No, silly runtime, AST nodes are not for you.
-
- We still use AST nodes (ScopeNodes, particularly FunctionBodyNodes) within
- the runtime, which means that these nodes must be persisted outside of the
- arena, contain both parser & runtime data, etc. This is all a bit of a mess.
-
- Move functionality into a new FunctionExecutable class.
-
- * API/JSCallbackFunction.cpp:
- * API/JSObjectRef.cpp:
- * JavaScriptCore.exp:
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * bytecode/CodeBlock.cpp:
- (JSC::CodeBlock::CodeBlock):
- (JSC::CodeBlock::markAggregate):
- (JSC::CodeBlock::reparseForExceptionInfoIfNecessary):
- (JSC::CodeBlock::lineNumberForBytecodeOffset):
- (JSC::CodeBlock::shrinkToFit):
- * bytecode/CodeBlock.h:
- (JSC::CodeBlock::getBytecodeIndex):
- (JSC::CodeBlock::discardBytecode):
- (JSC::CodeBlock::instructionCount):
- (JSC::CodeBlock::getJITCode):
- (JSC::CodeBlock::executablePool):
- (JSC::CodeBlock::ownerExecutable):
- (JSC::CodeBlock::extractExceptionInfo):
- (JSC::CodeBlock::addFunctionDecl):
- (JSC::CodeBlock::functionDecl):
- (JSC::CodeBlock::numberOfFunctionDecls):
- (JSC::CodeBlock::addFunctionExpr):
- (JSC::CodeBlock::functionExpr):
- (JSC::GlobalCodeBlock::GlobalCodeBlock):
- (JSC::ProgramCodeBlock::ProgramCodeBlock):
- (JSC::EvalCodeBlock::EvalCodeBlock):
- (JSC::FunctionCodeBlock::FunctionCodeBlock):
- (JSC::NativeCodeBlock::NativeCodeBlock):
- * bytecode/EvalCodeCache.h:
- * bytecode/SamplingTool.cpp:
- (JSC::SamplingTool::doRun):
- * bytecompiler/BytecodeGenerator.cpp:
- (JSC::BytecodeGenerator::BytecodeGenerator):
- (JSC::BytecodeGenerator::emitNewFunction):
- (JSC::BytecodeGenerator::emitNewFunctionExpression):
- * bytecompiler/BytecodeGenerator.h:
- * debugger/Debugger.cpp:
- (JSC::Debugger::recompileAllJSFunctions):
- * interpreter/CachedCall.h:
- (JSC::CachedCall::CachedCall):
- * interpreter/CallFrameClosure.h:
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::unwindCallFrame):
- (JSC::Interpreter::throwException):
- (JSC::Interpreter::execute):
- (JSC::Interpreter::prepareForRepeatCall):
- (JSC::Interpreter::debug):
- (JSC::Interpreter::privateExecute):
- (JSC::Interpreter::retrieveLastCaller):
- * interpreter/Interpreter.h:
+ Bug 39898 - Move arity check into callee.
+
+ We can reduce the size of the virtual call trampolines by moving the arity check
+ into the callee functions. As a following step we will be able to remove the
+ check for native function / codeblocks by performing translation in a lazy stub.
+
+ * interpreter/CallFrame.h:
+ (JSC::ExecState::init):
+ (JSC::ExecState::setReturnPC):
* jit/JIT.cpp:
(JSC::JIT::privateCompile):
+ (JSC::JIT::linkCall):
+ (JSC::JIT::linkConstruct):
* jit/JIT.h:
(JSC::JIT::compile):
* jit/JITOpcodes.cpp:
(JSC::JIT::privateCompileCTIMachineTrampolines):
- (JSC::JIT::emit_op_new_func):
- (JSC::JIT::emit_op_new_func_exp):
+ * jit/JITOpcodes32_64.cpp:
+ (JSC::JIT::privateCompileCTIMachineTrampolines):
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
- * jit/JITStubs.h:
- (JSC::):
- * parser/Nodes.cpp:
- (JSC::FunctionBodyNode::reparseDataIfNecessary):
- * parser/Nodes.h:
- (JSC::EvalNode::partialDestroyData):
- * parser/Parser.h:
- * profiler/ProfileGenerator.cpp:
- * profiler/Profiler.cpp:
- (JSC::Profiler::createCallIdentifier):
- (JSC::createCallIdentifierFromFunctionImp):
- * runtime/Arguments.h:
- (JSC::Arguments::getArgumentsData):
- (JSC::Arguments::Arguments):
- (JSC::JSActivation::copyRegisters):
- * runtime/ArrayPrototype.cpp:
- (JSC::isNumericCompareFunction):
- * runtime/CallData.h:
- (JSC::):
- * runtime/Collector.cpp:
- (JSC::Heap::collect):
- * runtime/ConstructData.h:
- (JSC::):
- * runtime/ExceptionHelpers.cpp:
- (JSC::createUndefinedVariableError):
- (JSC::createInvalidParamError):
- (JSC::createNotAConstructorError):
- (JSC::createNotAFunctionError):
- (JSC::createNotAnObjectError):
- * runtime/Executable.cpp: Added.
- (JSC::EvalExecutable::generateBytecode):
- (JSC::ProgramExecutable::generateBytecode):
- (JSC::FunctionExecutable::generateBytecode):
- (JSC::EvalExecutable::generateJITCode):
- (JSC::ProgramExecutable::generateJITCode):
- (JSC::FunctionExecutable::generateJITCode):
- (JSC::FunctionExecutable::isHostFunction):
- (JSC::FunctionExecutable::markAggregate):
+ * runtime/Executable.cpp:
+ (JSC::FunctionExecutable::generateJITCodeForCall):
+ (JSC::FunctionExecutable::generateJITCodeForConstruct):
(JSC::FunctionExecutable::reparseExceptionInfo):
- (JSC::EvalExecutable::reparseExceptionInfo):
- (JSC::FunctionExecutable::recompile):
- (JSC::FunctionExecutable::FunctionExecutable):
* runtime/Executable.h:
- (JSC::ExecutableBase::~ExecutableBase):
- (JSC::ExecutableBase::ExecutableBase):
- (JSC::ExecutableBase::source):
- (JSC::ExecutableBase::sourceID):
- (JSC::ExecutableBase::lastLine):
- (JSC::ExecutableBase::usesEval):
- (JSC::ExecutableBase::usesArguments):
- (JSC::ExecutableBase::needsActivation):
- (JSC::ExecutableBase::astNode):
- (JSC::ExecutableBase::generatedJITCode):
- (JSC::ExecutableBase::getExecutablePool):
- (JSC::EvalExecutable::EvalExecutable):
- (JSC::EvalExecutable::bytecode):
- (JSC::EvalExecutable::varStack):
- (JSC::EvalExecutable::evalNode):
- (JSC::EvalExecutable::jitCode):
- (JSC::ProgramExecutable::ProgramExecutable):
- (JSC::ProgramExecutable::reparseExceptionInfo):
- (JSC::ProgramExecutable::bytecode):
- (JSC::ProgramExecutable::programNode):
- (JSC::ProgramExecutable::jitCode):
- (JSC::FunctionExecutable::FunctionExecutable):
- (JSC::FunctionExecutable::name):
- (JSC::FunctionExecutable::bytecode):
- (JSC::FunctionExecutable::generatedBytecode):
- (JSC::FunctionExecutable::usesEval):
- (JSC::FunctionExecutable::usesArguments):
- (JSC::FunctionExecutable::parameterCount):
- (JSC::FunctionExecutable::paramString):
- (JSC::FunctionExecutable::isGenerated):
- (JSC::FunctionExecutable::body):
- (JSC::FunctionExecutable::jitCode):
- (JSC::FunctionExecutable::createNativeThunk):
- * runtime/FunctionConstructor.cpp:
- (JSC::constructFunction):
- * runtime/FunctionPrototype.cpp:
- (JSC::functionProtoFuncToString):
- * runtime/JSActivation.cpp:
- (JSC::JSActivation::JSActivation):
- (JSC::JSActivation::markChildren):
- (JSC::JSActivation::isDynamicScope):
- (JSC::JSActivation::argumentsGetter):
- * runtime/JSActivation.h:
- (JSC::JSActivation::JSActivationData::JSActivationData):
- * runtime/JSFunction.cpp:
- (JSC::JSFunction::isHostFunction):
- (JSC::JSFunction::JSFunction):
- (JSC::JSFunction::~JSFunction):
- (JSC::JSFunction::markChildren):
- (JSC::JSFunction::getCallData):
- (JSC::JSFunction::call):
- (JSC::JSFunction::lengthGetter):
- (JSC::JSFunction::getConstructData):
- (JSC::JSFunction::construct):
- * runtime/JSFunction.h:
- (JSC::JSFunction::executable):
- (JSC::FunctionExecutable::make):
- * runtime/JSGlobalData.cpp:
- (JSC::JSGlobalData::JSGlobalData):
- (JSC::JSGlobalData::numericCompareFunction):
- * runtime/JSGlobalData.h:
+ (JSC::NativeExecutable::NativeExecutable):
+ (JSC::FunctionExecutable::generatedJITCodeForCallWithArityCheck):
+ (JSC::FunctionExecutable::generatedJITCodeForConstructWithArityCheck):
-2009-08-17 Mark Rowe <mrowe@apple.com>
+2010-05-27 Luiz Agostini <luiz.agostini@openbossa.org>
Reviewed by Darin Adler.
- Fix 300,000+ leaks seen during the regression tests.
-
- EvalCodeCache::get was heap-allocating an EvalExecutable instance without adopting the initial reference.
- While fixing this we noticed that EvalExecutable was a RefCounted type that was sometimes stack allocated.
- To make this cleaner and to prevent clients from attempting to ref a stack-allocated instance, we move the
- refcounting down to a new CacheableEvalExecutable class that derives from EvalExecutable. EvalCodeCache::get
- now uses CacheableEvalExecutable::create and avoids the leak.
-
- * bytecode/EvalCodeCache.h:
- (JSC::EvalCodeCache::get):
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::callEval):
- * runtime/Executable.h:
- (JSC::CacheableEvalExecutable::create):
- (JSC::CacheableEvalExecutable::CacheableEvalExecutable):
-
-2009-08-17 Oliver Hunt <oliver@apple.com>
-
- RS=Mark Rowe.
-
- REGRESSION (r47292): Prototype.js is broken by ES5 Arguments changes
- https://bugs.webkit.org/show_bug.cgi?id=28341
- <rdar://problem/7145615>
-
- Reverting r47292. Alas Prototype.js breaks with Arguments inheriting
- from Array as ES5 attempted. Prototype.js defines $A in terms of a
- function it places on (among other global objects) the Array prototype,
- thus breaking $A for arrays.
-
- * runtime/Arguments.h:
- (JSC::Arguments::Arguments):
- * runtime/JSGlobalObject.cpp:
- (JSC::JSGlobalObject::reset):
- (JSC::JSGlobalObject::markChildren):
- * runtime/JSGlobalObject.h:
- (JSC::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData):
- * runtime/ObjectPrototype.cpp:
- (JSC::ObjectPrototype::ObjectPrototype):
- * runtime/ObjectPrototype.h:
- * tests/mozilla/ecma_3/Function/arguments-001.js:
-
-2009-08-17 Peter Kasting <pkasting@google.com>
-
- Reviewed by Steve Falkenburg.
-
- https://bugs.webkit.org/show_bug.cgi?id=27323
- Only add Cygwin to the path when it isn't already there. This avoids
- causing problems for people who purposefully have non-Cygwin versions of
- executables like svn in front of the Cygwin ones in their paths.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.vcproj:
- * JavaScriptCore.vcproj/WTF/WTFCommon.vsprops:
- * JavaScriptCore.vcproj/jsc/jscCommon.vsprops:
- * JavaScriptCore.vcproj/testapi/testapiCommon.vsprops:
-
-2009-08-17 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Mark Rowe.
-
- Fix build with FAST_MALLOC_MATCH_VALIDATION enabled.
-
- * wtf/FastMalloc.cpp:
- (WTF::fastMalloc):
- (WTF::fastCalloc):
- (WTF::fastRealloc):
-
-2009-08-16 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Mark Rowe.
-
- Fix crash on ./ecma_2/RegExp/exec-002.js.
- https://bugs.webkit.org/show_bug.cgi?id=28353
-
- Change the order of freeParenthesesDisjunctionContext and
- popParenthesesDisjunctionContext on all call sites as the pop
- method is accessing backTrack->lastContext which is the context
- that is about to be freed.
-
- * yarr/RegexInterpreter.cpp:
- (JSC::Yarr::Interpreter::parenthesesDoBacktrack):
- (JSC::Yarr::Interpreter::backtrackParentheses):
-
-2009-08-16 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Mark Rowe.
-
- https://bugs.webkit.org/show_bug.cgi?id=28352
-
- Fix coding style violations. Use m_ for C++ class members. Remove
- trailing whitespace on empty lines.
-
- * yarr/RegexInterpreter.cpp:
- (JSC::Yarr::Interpreter::ParenthesesDisjunctionContext::ParenthesesDisjunctionContext):
- (JSC::Yarr::Interpreter::tryConsumeCharacter):
- (JSC::Yarr::Interpreter::tryConsumeBackReference):
- (JSC::Yarr::Interpreter::parenthesesDoBacktrack):
- (JSC::Yarr::Interpreter::backtrackParentheses):
- (JSC::Yarr::ByteCompiler::ByteCompiler):
- (JSC::Yarr::ByteCompiler::compile):
- (JSC::Yarr::ByteCompiler::checkInput):
- (JSC::Yarr::ByteCompiler::assertionBOL):
- (JSC::Yarr::ByteCompiler::assertionEOL):
- (JSC::Yarr::ByteCompiler::assertionWordBoundary):
- (JSC::Yarr::ByteCompiler::atomPatternCharacter):
- (JSC::Yarr::ByteCompiler::atomCharacterClass):
- (JSC::Yarr::ByteCompiler::atomBackReference):
- (JSC::Yarr::ByteCompiler::atomParenthesesSubpatternBegin):
- (JSC::Yarr::ByteCompiler::atomParentheticalAssertionBegin):
- (JSC::Yarr::ByteCompiler::popParenthesesStack):
- (JSC::Yarr::ByteCompiler::closeAlternative):
- (JSC::Yarr::ByteCompiler::closeBodyAlternative):
- (JSC::Yarr::ByteCompiler::atomParenthesesEnd):
- (JSC::Yarr::ByteCompiler::regexBegin):
- (JSC::Yarr::ByteCompiler::alterantiveBodyDisjunction):
- (JSC::Yarr::ByteCompiler::alterantiveDisjunction):
- (JSC::Yarr::ByteCompiler::emitDisjunction):
-
-2009-08-15 Mark Rowe <mrowe@apple.com>
-
- Fix the build with JIT disabled.
-
- * runtime/Arguments.h: Only compile the jitCode method when the JIT is enabled.
- * runtime/Executable.h: Include PrototypeFunction.h so the compiler knows what
- NativeFunctionWrapper is when the JIT is disabled.
-
-2009-08-15 Adam Bergkvist <adam.bergkvist@ericsson.com>
-
- Reviewed by Sam Weinig.
-
- Added ENABLE_EVENTSOURCE flag.
- https://bugs.webkit.org/show_bug.cgi?id=14997
-
- * Configurations/FeatureDefines.xcconfig:
-
-2009-08-14 Gavin Barraclough <barraclough@apple.com>
-
- * parser/Parser.h:
- (JSC::EvalExecutable::parse):
- (JSC::ProgramExecutable::parse):
- * runtime/Executable.h:
-
-2009-08-14 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Remove AST nodes from use within the Runtime (outside of parsing), stage 1
- https://bugs.webkit.org/show_bug.cgi?id=28330
-
- Remove the EvalNode and ProgramNode from use in the runtime. They still exist
- after this patch, but are hidden behind EvalExecutable and FunctionExecutable,
- and are also still reachable behind CodeBlock::m_ownerNode.
-
- The next step will be to beat back FunctionBodyNode in the same fashion.
- Then remove the usage via CodeBlock, then only construct these nodes only on
- demand during bytecode generation.
-
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * bytecode/CodeBlock.h:
- (JSC::GlobalCodeBlock::GlobalCodeBlock):
- (JSC::GlobalCodeBlock::~GlobalCodeBlock):
- (JSC::ProgramCodeBlock::ProgramCodeBlock):
- (JSC::EvalCodeBlock::EvalCodeBlock):
- (JSC::FunctionCodeBlock::FunctionCodeBlock):
- (JSC::NativeCodeBlock::NativeCodeBlock):
- * bytecode/EvalCodeCache.h:
- (JSC::EvalCodeCache::get):
- * debugger/Debugger.cpp:
- (JSC::evaluateInGlobalCallFrame):
- * debugger/DebuggerCallFrame.cpp:
- (JSC::DebuggerCallFrame::evaluate):
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::callEval):
- (JSC::Interpreter::execute):
- * interpreter/Interpreter.h:
- * parser/Nodes.cpp:
- (JSC::FunctionBodyNode::createNativeThunk):
- (JSC::FunctionBodyNode::generateBytecode):
- (JSC::FunctionBodyNode::bytecodeForExceptionInfoReparse):
- * parser/Parser.h:
- (JSC::Parser::parse):
- (JSC::Parser::reparse):
- (JSC::Parser::parseFunctionFromGlobalCode):
- (JSC::::parse):
- * runtime/Completion.cpp:
- (JSC::checkSyntax):
- (JSC::evaluate):
- * runtime/Error.cpp:
- (JSC::throwError):
- * runtime/Error.h:
- * runtime/Executable.h: Added.
- (JSC::TemplateExecutable::TemplateExecutable):
- (JSC::TemplateExecutable::markAggregate):
- (JSC::TemplateExecutable::sourceURL):
- (JSC::TemplateExecutable::lineNo):
- (JSC::TemplateExecutable::bytecode):
- (JSC::TemplateExecutable::jitCode):
- (JSC::EvalExecutable::EvalExecutable):
- (JSC::ProgramExecutable::ProgramExecutable):
- * runtime/FunctionConstructor.cpp:
- (JSC::constructFunction):
- * runtime/FunctionConstructor.h:
- * runtime/JSGlobalData.cpp:
- (JSC::JSGlobalData::numericCompareFunction):
- * runtime/JSGlobalObject.cpp:
- (JSC::JSGlobalObject::~JSGlobalObject):
- (JSC::JSGlobalObject::markChildren):
- * runtime/JSGlobalObject.h:
- (JSC::JSGlobalObject::codeBlocks):
- * runtime/JSGlobalObjectFunctions.cpp:
- (JSC::globalFuncEval):
-
-2009-08-14 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- Rename the confusing isObject(<class>) to inherits(<class>).
- It still works on non-objects, returning false.
-
- * runtime/ArrayConstructor.cpp:
- (JSC::arrayConstructorIsArray): Removed unneeded isObject call
- and updated remaining isObject call to new name, inherits.
-
- * runtime/JSCell.h: Renamed isObject(<class>) to inherits(<class>)
- but more importantly, made it non-virtual (it was already inline)
- so it is now as fast as JSObject::inherits was.
-
- * runtime/JSObject.h: Removed inherits function since the one
- in the base class is fine as-is. Also made various JSCell functions
- that should not be called on JSObject uncallable by making them
- both private and not implemented.
- (JSC::JSCell::inherits): Updated name.
- (JSC::JSValue::inherits): Ditto.
-
- * debugger/Debugger.cpp:
- (JSC::Debugger::recompileAllJSFunctions):
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::unwindCallFrame):
- * runtime/ArrayPrototype.cpp:
- (JSC::arrayProtoFuncToString):
- (JSC::arrayProtoFuncToLocaleString):
- (JSC::arrayProtoFuncConcat):
- * runtime/BooleanPrototype.cpp:
- (JSC::booleanProtoFuncToString):
- (JSC::booleanProtoFuncValueOf):
- * runtime/DateConstructor.cpp:
- (JSC::constructDate):
- * runtime/DatePrototype.cpp:
- (JSC::dateProtoFuncToString):
- (JSC::dateProtoFuncToUTCString):
- (JSC::dateProtoFuncToISOString):
- (JSC::dateProtoFuncToDateString):
- (JSC::dateProtoFuncToTimeString):
- (JSC::dateProtoFuncToLocaleString):
- (JSC::dateProtoFuncToLocaleDateString):
- (JSC::dateProtoFuncToLocaleTimeString):
- (JSC::dateProtoFuncGetTime):
- (JSC::dateProtoFuncGetFullYear):
- (JSC::dateProtoFuncGetUTCFullYear):
- (JSC::dateProtoFuncToGMTString):
- (JSC::dateProtoFuncGetMonth):
- (JSC::dateProtoFuncGetUTCMonth):
- (JSC::dateProtoFuncGetDate):
- (JSC::dateProtoFuncGetUTCDate):
- (JSC::dateProtoFuncGetDay):
- (JSC::dateProtoFuncGetUTCDay):
- (JSC::dateProtoFuncGetHours):
- (JSC::dateProtoFuncGetUTCHours):
- (JSC::dateProtoFuncGetMinutes):
- (JSC::dateProtoFuncGetUTCMinutes):
- (JSC::dateProtoFuncGetSeconds):
- (JSC::dateProtoFuncGetUTCSeconds):
- (JSC::dateProtoFuncGetMilliSeconds):
- (JSC::dateProtoFuncGetUTCMilliseconds):
- (JSC::dateProtoFuncGetTimezoneOffset):
- (JSC::dateProtoFuncSetTime):
- (JSC::setNewValueFromTimeArgs):
- (JSC::setNewValueFromDateArgs):
- (JSC::dateProtoFuncSetYear):
- (JSC::dateProtoFuncGetYear):
- * runtime/FunctionPrototype.cpp:
- (JSC::functionProtoFuncToString):
- * runtime/JSActivation.cpp:
- (JSC::JSActivation::argumentsGetter):
- * runtime/JSValue.h:
- * runtime/RegExpConstructor.cpp:
- (JSC::constructRegExp):
- * runtime/RegExpPrototype.cpp:
- (JSC::regExpProtoFuncTest):
- (JSC::regExpProtoFuncExec):
- (JSC::regExpProtoFuncCompile):
- (JSC::regExpProtoFuncToString):
- * runtime/ScopeChain.cpp:
- (JSC::ScopeChain::localDepth):
- * runtime/StringPrototype.cpp:
- (JSC::stringProtoFuncReplace):
- (JSC::stringProtoFuncToString):
- (JSC::stringProtoFuncMatch):
- (JSC::stringProtoFuncSearch):
- (JSC::stringProtoFuncSplit):
- Updated to new name, inherits, from old name, isObject.
-
-2009-07-31 Harald Fernengel <harald.fernengel@nokia.com>
+ UTF-16 code points compare() for String objects
+ https://bugs.webkit.org/show_bug.cgi?id=39701
- Reviewed by Simon Hausmann.
+ Moving compare() implementation from UString to StringImpl for it to be shared
+ with String. Adding overloaded free functions codePointCompare() in StringImpl
+ and WTFString. Renaming function compare in UString to codePointCompare to be
+ consistent.
- Adding QNX as a platform. Currently only tested with Qt.
-
- https://bugs.webkit.org/show_bug.cgi?id=27885
-
- * JavaScriptCore/runtime/Collector.cpp: Added retrieving of stack base
- since QNX doesn't have the pthread _nt functions
- * JavaScriptCore/wtf/Platform.h: Added WTF_PLATFORM_QNX and corresponding
- defines
- * WebCore/bridge/npapi.h: Build fix for missing typedefs on QNX
-
-2009-08-14 Gabor Loki <loki@inf.u-szeged.hu>
-
- Reviewed by Simon Hausmann.
-
- Currently generic ARM and ARMv7 platforms work only with JSVALUE32
- https://bugs.webkit.org/show_bug.cgi?id=28300
-
- * wtf/Platform.h:
-
-2009-08-14 Gabor Loki <loki@inf.u-szeged.hu>
-
- Reviewed by Simon Hausmann.
-
- Enable JIT on ARM for QT by default
- https://bugs.webkit.org/show_bug.cgi?id=28259
-
- * wtf/Platform.h:
-
-2009-08-14 Gabor Loki <loki@inf.u-szeged.hu>
-
- Reviewed by Simon Hausmann.
-
- Enable YARR_JIT on ARM for QT by default
- https://bugs.webkit.org/show_bug.cgi?id=28259
-
- * wtf/Platform.h:
-
-2009-08-14 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- [ES5] Arguments object should inherit from Array
- https://bugs.webkit.org/show_bug.cgi?id=28298
-
- Make the Arguments object conform to the behaviour specified in ES5.
- The simple portion of this is to make Arguments use Array.prototype
- as its prototype rather than Object.prototype.
-
- The spec then requires us to set instance.constructor to the pristine
- Object constructor, and instance.toString and instance.toLocaleString
- to the pristine versions from Object.prototype. To do this we now
- make the ObjectPrototype constructor return its toString and
- toLocaleString functions (similar to the call and apply functions
- from FunctionPrototype).
-
- Oddly enough this reports itself as a slight win, but given the code
- isn't hit in the tests that claim to have improved I put this down to
- code motion.
-
- * runtime/Arguments.h:
- (JSC::Arguments::Arguments):
- (JSC::Arguments::initializeStandardProperties):
- * runtime/JSGlobalObject.cpp:
- (JSC::JSGlobalObject::reset):
- (JSC::JSGlobalObject::markChildren):
- * runtime/JSGlobalObject.h:
- (JSC::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData):
- (JSC::JSGlobalObject::objectConstructor):
- (JSC::JSGlobalObject::objectToStringFunction):
- (JSC::JSGlobalObject::objectToLocaleStringFunction):
- * runtime/ObjectPrototype.cpp:
- (JSC::ObjectPrototype::ObjectPrototype):
- * runtime/ObjectPrototype.h:
- * tests/mozilla/ecma_3/Function/arguments-001.js:
- Update test to new es5 behaviour
-
-2009-08-14 Oliver Hunt <oliver@apple.com>
-
- Remove MarkStack::drain from the JSC exports file
-
- MarkStack::drain is now marked inline, the including it in the exports file
- produces an ld warning
-
- * JavaScriptCore.exp:
-
-2009-08-13 Sam Weinig <sam@webkit.org>
-
- Reviewed by Oliver Hunt.
-
- Remove accidentally left in debugging statement.
-
- * runtime/JSArray.h:
- (JSC::MarkStack::drain):
-
-2009-08-13 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- [ES5] Implement Array.isArray
- https://bugs.webkit.org/show_bug.cgi?id=28296
-
- Add support for Array.isArray to the Array constructor
-
- * runtime/ArrayConstructor.cpp:
- (JSC::ArrayConstructor::ArrayConstructor):
- (JSC::arrayConstructorIsArray):
- * runtime/ArrayConstructor.h:
- * runtime/CommonIdentifiers.h:
- * runtime/JSArray.h:
- (JSC::MarkStack::drain):
- * runtime/JSGlobalObject.cpp:
- (JSC::JSGlobalObject::reset):
-
-2009-08-13 Oliver Hunt <oliver@apple.com>
-
- Reviewed by NOBODY (Buildfix).
-
- Attempt to fix windows build
-
- * runtime/Collector.cpp:
-
-2009-08-13 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Devirtualise marking
- https://bugs.webkit.org/show_bug.cgi?id=28294
-
- Add a bit to TypeInfo to indicate that an object uses the standard
- JSObject::markChildren method. This allows us to devirtualise marking
- of most objects (though a branch is still needed). We also add a branch
- to identify arrays thus devirtualising marking in that case as well.
-
- In order to make the best use of this devirtualisation I've also reworked
- the MarkStack::drain() logic to make the iteration more efficient.
-
- * API/JSCallbackConstructor.h:
- (JSC::JSCallbackConstructor::createStructure):
- * API/JSCallbackFunction.h:
- (JSC::JSCallbackFunction::createStructure):
- * JavaScriptCore.exp:
- * runtime/BooleanObject.h:
- (JSC::BooleanObject::createStructure):
- * runtime/FunctionPrototype.h:
- (JSC::FunctionPrototype::createStructure):
- * runtime/InternalFunction.h:
- (JSC::InternalFunction::createStructure):
- * runtime/JSAPIValueWrapper.h:
- (JSC::JSAPIValueWrapper::JSAPIValueWrapper):
* runtime/JSArray.cpp:
- (JSC::JSArray::markChildren):
- * runtime/JSArray.h:
- (JSC::JSArray::markChildrenDirect):
- (JSC::MarkStack::drain):
- * runtime/JSByteArray.cpp:
- (JSC::JSByteArray::createStructure):
- * runtime/JSCell.h:
- (JSC::MarkStack::append):
- * runtime/JSGlobalData.cpp:
- (JSC::JSGlobalData::JSGlobalData):
- * runtime/JSNumberCell.h:
- (JSC::JSNumberCell::createStructure):
- * runtime/JSONObject.h:
- (JSC::JSONObject::createStructure):
- * runtime/JSObject.cpp:
- (JSC::JSObject::markChildren):
- * runtime/JSObject.h:
- (JSC::JSObject::markChildrenDirect):
- (JSC::JSObject::createStructure):
- * runtime/JSString.h:
- (JSC::JSString::createStructure):
- * runtime/JSType.h:
- (JSC::):
- * runtime/MarkStack.h:
- (JSC::MarkStack::MarkStack):
- (JSC::MarkStack::MarkSet::MarkSet):
- (JSC::MarkStack::MarkStackArray::last):
- * runtime/MathObject.h:
- (JSC::MathObject::createStructure):
- * runtime/NumberConstructor.h:
- (JSC::NumberConstructor::createStructure):
- * runtime/NumberObject.h:
- (JSC::NumberObject::createStructure):
- * runtime/RegExpConstructor.h:
- (JSC::RegExpConstructor::createStructure):
- * runtime/RegExpObject.h:
- (JSC::RegExpObject::createStructure):
- * runtime/StringObjectThatMasqueradesAsUndefined.h:
- (JSC::StringObjectThatMasqueradesAsUndefined::createStructure):
- * runtime/TypeInfo.h:
- (JSC::TypeInfo::hasDefaultMark):
-
-2009-08-13 Darin Adler <darin@apple.com>
-
- Reviewed by Mark Rowe.
-
- Some small bits of housekeeping.
-
- * JavaScriptCore.xcodeproj/project.pbxproj: Make Parser.h
- project instead of private. Remove JSONObject.lut.h.
-
- * assembler/ARMAssembler.h: Remove unneeded WTF prefix.
- * assembler/AssemblerBufferWithConstantPool.h: Ditto.
- * bytecompiler/BytecodeGenerator.h: Ditto.
-
- * wtf/SegmentedVector.h: Add a "using" statement as we do
- with the other WTF headers.
-
-2009-08-13 Darin Adler <darin@apple.com>
-
- Fix Tiger build.
-
- * parser/Grammar.y: Use a template function so we can compile
- setStatementLocation even if it comes before YYLTYPE is defined.
-
-2009-08-13 Darin Adler <darin@apple.com>
-
- Reviewed by George Staikos.
-
- Too much use of void* in Grammar.y
- https://bugs.webkit.org/show_bug.cgi?id=28287
-
- * parser/Grammar.y: Changed all the helper functions to
- take a JSGlobalData* instead of a void*. A couple formatting
- tweaks that I missed when breaking this into pieces.
-
-2009-08-13 Darin Adler <darin@apple.com>
-
- Reviewed by George Staikos.
-
- Another part of https://bugs.webkit.org/show_bug.cgi?id=28287
-
- * parser/Grammar.y: Reduced and sorted includes. Tweaked comment
- format. Marked a few more functions inline.
-
-2009-08-13 Darin Adler <darin@apple.com>
-
- Reviewed by George Staikos.
-
- Another part of https://bugs.webkit.org/show_bug.cgi?id=28287
-
- * parser/Grammar.y: Pass the number to the PropertyNode instead of
- first turning it into an Identifier.
-
- * parser/NodeConstructors.h:
- (JSC::PropertyNode::PropertyNode): Add an overload that takes a double
- so the code to convert to a string can be here instead of Grammar.y.
- * parser/Nodes.h: Ditto.
-
-2009-08-13 Darin Adler <darin@apple.com>
-
- Reviewed by George Staikos.
-
- Another part of https://bugs.webkit.org/show_bug.cgi?id=28287
-
- * parser/Grammar.y: Eliminate the DBG macro.
-
-2009-08-13 Darin Adler <darin@apple.com>
-
- Reviewed by George Staikos.
-
- Another part of https://bugs.webkit.org/show_bug.cgi?id=28287
-
- * parser/Grammar.y: Eliminate the SET_EXCEPTION_LOCATION macro.
-
-2009-08-13 Darin Adler <darin@apple.com>
-
- Reviewed by George Staikos.
-
- George asked me to break the patch from
- https://bugs.webkit.org/show_bug.cgi?id=28287
- into smaller pieces and land it in stages.
-
- * parser/Grammar.y: Eliminate the LEXER macro.
-
-2009-08-13 Mark Rowe <mrowe@apple.com>
-
- Try some more to fix the Windows build.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: Export a new symbol.
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def: Ditto.
-
-2009-08-13 Mark Rowe <mrowe@apple.com>
-
- Try and fix the Windows build.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: Export a new symbol.
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def: Ditto.
-
-2009-08-13 Darin Adler <darin@apple.com>
-
- Reviewed by David Levin.
-
- JavaScriptCore tweaks to get ready for the parser arena
- https://bugs.webkit.org/show_bug.cgi?id=28243
-
- Eliminate dependencies on Nodes.h outside JavaScriptCore,
- and cut down on them inside JavaScriptCore.
-
- Change regular expression parsing to use identifiers as
- with other strings we parse.
-
- Fix a couple things that are needed to use const Identifier
- more, which will be part of the parser arena work.
-
- * JavaScriptCore.exp: Resorted and updated.
-
- * JavaScriptCore.xcodeproj/project.pbxproj: Changed
- CollectorHeapIterator.h to be project-internal.
-
- * bytecompiler/BytecodeGenerator.cpp:
- (JSC::BytecodeGenerator::emitPushNewScope): Added const.
- * bytecompiler/BytecodeGenerator.h: Ditto.
-
- * debugger/Debugger.cpp:
- (JSC::Debugger::recompileAllJSFunctions): Moved this function
- here from WebCore. Here is better since it uses so many internals.
- Removed unimportant optimization for the no listener case.
- * debugger/Debugger.h: Ditto. Also removed unneeded include
- and tweaked formatting and comments.
-
- * debugger/DebuggerCallFrame.cpp:
- (JSC::DebuggerCallFrame::functionName): Call asFunction instead
- of doing the unchecked static_cast.
- (JSC::DebuggerCallFrame::calculatedFunctionName): Ditto.
-
- * jit/JITStubs.cpp:
- (JSC::op_call_JSFunction): Call isHostFunction on the body rather
- than on the JSFunction.
- (JSC::vm_lazyLinkCall): Ditto.
- (JSC::op_construct_JSConstruct): Ditto.
-
- * parser/Grammar.y: Changed callers to use new scanRegExp with
- out arguments instead of relying on state in the Lexer. And
- callers that just want to skip a regular expression to use
- skipRegExp.
-
- * parser/Lexer.cpp:
- (JSC::Lexer::scanRegExp): Changed to use out arguments, and to
- add a prefix argument so we can add in the "=" character as needed.
- Also rewrote to streamline the logic a bit inspired by suggestions
- by David Levin.
- (JSC::Lexer::skipRegExp): Added. Version of the function above that
- does not actually put the regular expression into a string.
- (JSC::Lexer::clear): Removed code to clear m_pattern and m_flags.
- * parser/Lexer.h: Changed scanRegExp to have out arguments. Added
- skipRegExp. Eliminated pattern, flags, m_pattern, and m_flags.
-
- * parser/NodeConstructors.h:
- (JSC::RegExpNode::RegExpNode): Changed to take const Identifier&.
- * parser/Nodes.cpp:
- (JSC::RegExpNode::emitBytecode): Changed since m_pattern and
- m_flags are now Identifier instead of UString.
- (JSC::FunctionBodyNode::make): Moved this function here instead
- of putting it in the JSFunction.h header.
- * parser/Nodes.h: Changed RegExpNode to use Identifier.
-
- * profiler/Profiler.cpp:
- (JSC::Profiler::createCallIdentifier): Changed to use isHostFunction
- on the body instead of on the JSFunction object.
- * runtime/FunctionPrototype.cpp:
- (JSC::functionProtoFuncToString): Ditto.
-
- * runtime/JSFunction.cpp:
- (JSC::JSFunction::isHostFunction): Moved here from header.
- (JSC::JSFunction::isHostFunctionNonInline): Added.
- (JSC::JSFunction::JSFunction): Removed unneeded initialization of
- m_body to 0.
- (JSC::JSFunction::setBody): Moved here from header.
-
- * runtime/JSFunction.h: Removed unneeded includes. Moved private
- constructor down to the private section. Made virtual functions
- private. Removed unneeded overload of setBody and moved the body
- of the function into the .cpp file. Changed assertions to use
- the non-inline version of isHostFunction.
-
- * runtime/PropertySlot.cpp:
- (JSC::PropertySlot::functionGetter): Use asFunction instead
- of doing the unchecked static_cast.
-
- * wtf/SegmentedVector.h:
- (WTF::SegmentedVector::isEmpty): Added.
-
-2009-08-13 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Darin Adler.
-
- Use the version of operator new that takes a JSGlobalData when allocating FuncDeclNode and FuncExprNode
- from within the grammar to prevent these nodes from being leaked.
-
- * parser/Grammar.y:
-
-2009-08-13 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Ariya Hidayat.
-
- Remove the special-case for Qt wrt JSVALUE_32 introduced in
- r46709. It must've been a dependency issue on the bot, as
- after a manual build all the tests pass on amd64 and ia32.
-
- * wtf/Platform.h:
-
-2009-08-12 Gabor Loki <loki@inf.u-szeged.hu>
-
- Reviewed by Gavin Barraclough.
-
- Add optimize call and property access support for ARM JIT.
- https://bugs.webkit.org/show_bug.cgi?id=24986
-
- For tightly coupled sequences the BEGIN_UNINTERRUPTED_SEQUENCE and
- END_UNINTERRUPTED_SEQUENCE macros have been introduced which ensure
- space for instructions and constants of the named sequence. This
- method is vital for those architecture which are using constant pool.
-
- The 'latePatch' method - which was linked to JmpSrc - is replaced with
- a port specific solution (each calls are marked to place their address
- on the constant pool).
-
- * assembler/ARMAssembler.cpp:
- (JSC::ARMAssembler::linkBranch):
- (JSC::ARMAssembler::executableCopy): Add extra align for constant pool.
- * assembler/ARMAssembler.h:
- (JSC::ARMAssembler::JmpSrc::JmpSrc):
- (JSC::ARMAssembler::sizeOfConstantPool):
- (JSC::ARMAssembler::jmp):
- (JSC::ARMAssembler::linkCall):
- * assembler/ARMv7Assembler.h:
- * assembler/AbstractMacroAssembler.h:
- * assembler/AssemblerBufferWithConstantPool.h:
- (JSC::AssemblerBufferWithConstantPool::flushIfNoSpaceFor): Fix the
- computation of the remaining space.
- * assembler/MacroAssemblerARM.h:
- (JSC::MacroAssemblerARM::branch32):
- (JSC::MacroAssemblerARM::nearCall):
- (JSC::MacroAssemblerARM::call):
- (JSC::MacroAssemblerARM::branchPtrWithPatch):
- (JSC::MacroAssemblerARM::ensureSpace):
- (JSC::MacroAssemblerARM::sizeOfConstantPool):
- (JSC::MacroAssemblerARM::prepareCall):
- * assembler/X86Assembler.h:
- * jit/JIT.h:
- * jit/JITCall.cpp:
- (JSC::JIT::compileOpCall):
- * jit/JITInlineMethods.h:
- (JSC::JIT::beginUninterruptedSequence):
- (JSC::JIT::endUninterruptedSequence):
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::emit_op_method_check):
- (JSC::JIT::compileGetByIdHotPath):
- (JSC::JIT::compileGetByIdSlowCase):
- (JSC::JIT::emit_op_put_by_id):
-
-2009-08-12 Gavin Barraclough <barraclough@apple.com>
-
- Rubber Stamped by Dave Kilzer.
-
- Disable WTF_USE_JSVALUE32_64 on iPhone for now (support not yet added for ARMv7).
-
- * wtf/Platform.h:
-
-2009-08-12 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Maciej Stachoviak.
-
- Ooops - moved code that had been accidentally added to op_new_func instead of
- op_new_func_exp, to where it shoulds be.
-
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::privateExecute):
- * wtf/Platform.h:
-
-2009-08-12 Ada Chan <adachan@apple.com>
-
- Added workaround for the limitation that VirtualFree with MEM_RELEASE
- can only accept the base address returned by VirtualAlloc when the region
- was reserved and it can only free the entire region, and not a part of it.
-
- Reviewed by Oliver Hunt.
-
- * runtime/MarkStack.h:
- (JSC::MarkStack::MarkStackArray::shrinkAllocation):
- * runtime/MarkStackWin.cpp:
- (JSC::MarkStack::releaseStack):
-
-2009-08-12 Balazs Kelemen <kelemen.balazs.3@stud.u-szeged.hu>
-
- Reviewed by Ariya Hidayat.
-
- Build fix: use std::numeric_limits<long long>::min() instead of LLONG_MIN
- since LLONG_MIN is not defined in standard c++.
-
- * runtime/UString.cpp:
- (JSC::UString::from):
-
-2009-08-12 Benjamin Otte <otte@gnome.org>
-
- Reviewed by Jan Alonzo.
-
- Buildfix for Gtk platforms debug builds.
-
- * GNUmakefile.am: Choose MarkStackPosix.cpp or MarkStackWin.cpp
- depending on platform.
-
-2009-08-12 Simon Hausmann <simon.hausmann@nokia.com>
-
- Prospective build fix for Mac and 32-bit Windows.
-
- * runtime/UString.cpp: Include wtf/StringExtras.h for snprintf.
- (JSC::UString::from): Use %lld instead of %I64d for snprintf
- on non-windows platforms.
-
-2009-08-12 Prasanth Ullattil <prasanth.ullattil@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Fix compile error on 64Bit Windows, when UString::from
- is called with an intptr_t.
-
- Added new UString::From overload with long long parameter.
-
- Thanks to Holger for the long long idea.
-
+ (JSC::compareByStringPairForQSort):
* runtime/UString.cpp:
- (JSC::UString::from):
- * runtime/UString.h:
-
-2009-08-11 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Mark Rowe.
-
- Minor style fixes.
-
* runtime/UString.h:
- (JSC::UString::Rep::createEmptyBuffer):
- * wtf/FastMalloc.h:
- (WTF::TryMallocReturnValue::getValue):
+ (JSC::codePointCompare):
+ * wtf/text/StringImpl.cpp:
+ (WebCore::codePointCompare):
+ * wtf/text/StringImpl.h:
+ * wtf/text/WTFString.cpp:
+ (WebCore::codePointCompare):
+ * wtf/text/WTFString.h:
-2009-08-11 Oliver Hunt <oliver@apple.com>
+2010-05-26 Darin Adler <darin@apple.com>
- Reviewed by Gavin Barraclough.
+ Reviewed by Kent Tamura.
- Make it harder to misuse try* allocation routines
- https://bugs.webkit.org/show_bug.cgi?id=27469
+ Null characters handled incorrectly in ToNumber conversion
+ https://bugs.webkit.org/show_bug.cgi?id=38088
- Jump through a few hoops to make it much harder to accidentally
- miss null-checking of values returned by the try-* allocation
- routines.
+ * runtime/JSGlobalObjectFunctions.cpp:
+ (JSC::parseInt): Changed code to use UTF8String().data() instead of
+ ascii() to fix the thread safety issue. Code path is covered by existing
+ tests in run-javascriptcore-tests.
+ (JSC::parseFloat): Moved comment to UString::toDouble since the issue
+ affects all clients, not just parseFloat. Specifically, this also affects
+ standard JavaScript numeric conversion, ToNumber.
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * runtime/JSArray.cpp:
- (JSC::JSArray::putSlowCase):
- (JSC::JSArray::increaseVectorLength):
- * runtime/StringPrototype.cpp:
- (JSC::stringProtoFuncFontsize):
- (JSC::stringProtoFuncLink):
* runtime/UString.cpp:
- (JSC::allocChars):
- (JSC::reallocChars):
- (JSC::expandCapacity):
- (JSC::UString::Rep::reserveCapacity):
- (JSC::UString::expandPreCapacity):
- (JSC::createRep):
- (JSC::concatenate):
- (JSC::UString::spliceSubstringsWithSeparators):
- (JSC::UString::replaceRange):
- (JSC::UString::append):
- (JSC::UString::operator=):
- * runtime/UString.h:
- (JSC::UString::Rep::createEmptyBuffer):
- * wtf/FastMalloc.cpp:
- (WTF::tryFastZeroedMalloc):
- (WTF::tryFastMalloc):
- (WTF::tryFastCalloc):
- (WTF::tryFastRealloc):
- (WTF::TCMallocStats::tryFastMalloc):
- (WTF::TCMallocStats::tryFastCalloc):
- (WTF::TCMallocStats::tryFastRealloc):
- * wtf/FastMalloc.h:
- (WTF::TryMallocReturnValue::TryMallocReturnValue):
- (WTF::TryMallocReturnValue::~TryMallocReturnValue):
- (WTF::TryMallocReturnValue::operator PossiblyNull<T>):
- (WTF::TryMallocReturnValue::getValue):
- * wtf/Platform.h:
- * wtf/PossiblyNull.h: Added.
- (WTF::PossiblyNull::PossiblyNull):
- (WTF::PossiblyNull::~PossiblyNull):
- (WTF::::getValue):
-
-2009-08-11 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (build fix part deux).
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
-
-2009-08-11 Gavin Barraclough <barraclough@apple.com>
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
-
-2009-08-11 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Restrict use of FuncDeclNode & FuncExprNode to the parser.
- https://bugs.webkit.org/show_bug.cgi?id=28209
-
- These objects were also being referenced from the CodeBlock. By changing this
- to just retain pointers to FunctionBodyNodes these classes can be restricted to
- use during parsing.
-
- No performance impact (or sub-percent progression).
-
- * JavaScriptCore.exp:
- Update symbols.
-
- * bytecode/CodeBlock.cpp:
- (JSC::CodeBlock::mark):
- (JSC::CodeBlock::reparseForExceptionInfoIfNecessary):
- (JSC::CodeBlock::shrinkToFit):
- * bytecode/CodeBlock.h:
- (JSC::CodeBlock::addFunction):
- (JSC::CodeBlock::function):
- Unify m_functions & m_functionExpressions into a single Vector<RefPtr<FuncExprNode> >.
-
- * bytecompiler/BytecodeGenerator.cpp:
- (JSC::BytecodeGenerator::BytecodeGenerator):
- (JSC::BytecodeGenerator::addConstant):
- (JSC::BytecodeGenerator::emitNewFunction):
- (JSC::BytecodeGenerator::emitNewFunctionExpression):
- * bytecompiler/BytecodeGenerator.h:
- FunctionStacks now contain FunctionBodyNodes not FuncDeclNodes.
-
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::execute):
- (JSC::Interpreter::privateExecute):
- Update to reflect chnages in CodeBlock.
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_new_func_exp):
- * jit/JITStubs.cpp:
- (JSC::DEFINE_STUB_FUNCTION):
- * jit/JITStubs.h:
- (JSC::):
- Update to reflect chnages in CodeBlock.
-
- * parser/Grammar.y:
- FunctionStacks now contain FunctionBodyNodes not FuncDeclNodes.
-
- * parser/NodeConstructors.h:
- (JSC::FuncExprNode::FuncExprNode):
- (JSC::FuncDeclNode::FuncDeclNode):
- * parser/Nodes.cpp:
- (JSC::ScopeNodeData::mark):
- (JSC::FunctionBodyNode::finishParsing):
- * parser/Nodes.h:
- (JSC::FunctionBodyNode::ident):
- Move m_ident & make methods from FuncDeclNode & FuncExprNode to FunctionBodyNode.
-
- * runtime/JSFunction.h:
- (JSC::FunctionBodyNode::make):
- Make this method inline (was FuncDeclNode::makeFunction).
-
-2009-08-11 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
+ (JSC::UString::toDouble): Added a comment about incorrect space skipping.
+ Changed trailing junk check to use the length of the CString instead of
+ checking for a null character. Also got rid of a little unneeded logic
+ in the case where we tolerate trailing junk.
- Native JSON.stringify does not omit functions
- https://bugs.webkit.org/show_bug.cgi?id=28117
+2010-05-27 Nathan Lawrence <nlawrence@apple.com>
- Objects that are callable should be treated as undefined when
- serialising to JSON.
-
- * runtime/JSONObject.cpp:
- (JSC::Stringifier::appendStringifiedValue):
-
-2009-08-11 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Geoff Garen.
-
- REGRESSION: Hang/crash in BytecodeGenerator::constRegisterFor loading simple page
- https://bugs.webkit.org/show_bug.cgi?id=28169
-
- Handle the case where someone has attempted to shadow a property
- on the global object with a constant.
-
- * bytecompiler/BytecodeGenerator.cpp:
- (JSC::BytecodeGenerator::constRegisterFor):
- * parser/Nodes.cpp:
- (JSC::ConstDeclNode::emitCodeSingle):
-
-2009-08-11 John Gregg <johnnyg@google.com>
-
- Reviewed by Maciej Stachowiak.
-
- Desktop Notifications API
- https://bugs.webkit.org/show_bug.cgi?id=25463
-
- Adds ENABLE_NOTIFICATION flag.
-
- * Configurations/FeatureDefines.xcconfig:
- * wtf/Platform.h:
-
-2009-08-11 Maxime Simon <simon.maxime@gmail.com>
-
- Reviewed by Eric Seidel.
-
- Modifications on JavaScriptCore to allow Haiku port.
- https://bugs.webkit.org/show_bug.cgi?id=28121
-
- * runtime/Collector.cpp: Haiku doesn't have sys/mman.h, using OS.h instead.
- (JSC::currentThreadStackBase): Haiku uses its own threading system.
- * wtf/Platform.h: Defining all Haiku platform values.
- * wtf/haiku/MainThreadHaiku.cpp: Adding a missing header (NotImplemented.h).
-
-2009-08-11 Jessie Berlin <jberlin@apple.com>
-
- Reviewed by Adam Roben.
-
- Fix windows build.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
-
-2009-08-11 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
-
- Reviewed by Tor Arne Vestbø.
-
- Buildfix for Qt-win platforms.
-
- * JavaScriptCore.pri: Choose MarkStackPosix.cpp or MarkStackWin.cpp depend on platform.
-
-2009-08-10 Oliver Hunt <oliver@apple.com>
-
- Reviewed by NOBODY (And another build fix).
-
- Add new exports for MSVC
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
- * JavaScriptCore.xcodeproj/project.pbxproj:
-
-2009-08-10 Oliver Hunt <oliver@apple.com>
-
- Reviewed by NOBODY (yet another build fix).
-
- Remove obsolete entries from MSVC exports file
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
-
-2009-08-10 Oliver Hunt <oliver@apple.com>
-
- Add includes needed for non-allinonefile builds
-
- * runtime/GetterSetter.h:
- * runtime/ScopeChain.h:
-
-2009-08-10 Oliver Hunt <oliver@apple.com>
-
- Fix export file for last build fix
-
- * JavaScriptCore.exp:
-
-2009-08-10 Oliver Hunt <oliver@apple.com>
-
- Hoist page size initialization into platform specific code.
-
- * jit/ExecutableAllocatorPosix.cpp:
- * jit/ExecutableAllocatorWin.cpp:
- * runtime/MarkStack.h:
- (JSC::MarkStack::pageSize):
- * runtime/MarkStackPosix.cpp:
- (JSC::MarkStack::initializePagesize):
- * runtime/MarkStackWin.cpp:
- (JSC::MarkStack::initializePagesize):
-
-2009-08-07 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Stack overflow crash in JavaScript garbage collector mark pass
- https://bugs.webkit.org/show_bug.cgi?id=12216
-
- Make the GC mark phase iterative by using an explicit mark stack.
- To do this marking any single object is performed in multiple stages
- * The object is appended to the MarkStack, this sets the marked
- bit for the object using the new markDirect() function, and then
- returns
- * When the MarkStack is drain()ed the object is popped off the stack
- and markChildren(MarkStack&) is called on the object to collect
- all of its children. drain() then repeats until the stack is empty.
+ Reviewed by Geoffrey Garen.
- Additionally I renamed a number of methods from 'mark' to 'markAggregate'
- in order to make it more clear that marking of those object was not
- going to result in an actual recursive mark.
+ Search for the new allocation one word at a time. Improves
+ performance on SunSpider by approximately 1%.
+ http://bugs.webkit.org/show_bug.cgi?id=39758
- * GNUmakefile.am
- * JavaScriptCore.exp:
- * JavaScriptCore.gypi:
- * JavaScriptCore.pri:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * bytecode/CodeBlock.cpp:
- (JSC::CodeBlock::markAggregate):
- * bytecode/CodeBlock.h:
- * bytecode/EvalCodeCache.h:
- (JSC::EvalCodeCache::markAggregate):
- * debugger/DebuggerActivation.cpp:
- (JSC::DebuggerActivation::markChildren):
- * debugger/DebuggerActivation.h:
- * interpreter/Register.h:
- * interpreter/RegisterFile.h:
- (JSC::RegisterFile::markGlobals):
- (JSC::RegisterFile::markCallFrames):
- * parser/Nodes.cpp:
- (JSC::ScopeNodeData::markAggregate):
- (JSC::EvalNode::markAggregate):
- (JSC::FunctionBodyNode::markAggregate):
- * parser/Nodes.h:
- (JSC::ScopeNode::markAggregate):
- * runtime/ArgList.cpp:
- (JSC::MarkedArgumentBuffer::markLists):
- * runtime/ArgList.h:
- * runtime/Arguments.cpp:
- (JSC::Arguments::markChildren):
- * runtime/Arguments.h:
* runtime/Collector.cpp:
- (JSC::Heap::markConservatively):
- (JSC::Heap::markCurrentThreadConservativelyInternal):
- (JSC::Heap::markCurrentThreadConservatively):
- (JSC::Heap::markOtherThreadConservatively):
- (JSC::Heap::markStackObjectsConservatively):
- (JSC::Heap::markProtectedObjects):
- (JSC::Heap::collect):
+ (JSC::Heap::allocate):
* runtime/Collector.h:
- * runtime/GetterSetter.cpp:
- (JSC::GetterSetter::markChildren):
- * runtime/GetterSetter.h:
- (JSC::GetterSetter::GetterSetter):
- (JSC::GetterSetter::createStructure):
- * runtime/GlobalEvalFunction.cpp:
- (JSC::GlobalEvalFunction::markChildren):
- * runtime/GlobalEvalFunction.h:
- * runtime/JSActivation.cpp:
- (JSC::JSActivation::markChildren):
- * runtime/JSActivation.h:
- * runtime/JSArray.cpp:
- (JSC::JSArray::markChildren):
- * runtime/JSArray.h:
- * runtime/JSCell.h:
- (JSC::JSCell::markCellDirect):
- (JSC::JSCell::markChildren):
- (JSC::JSValue::markDirect):
- (JSC::JSValue::markChildren):
- (JSC::JSValue::hasChildren):
- (JSC::MarkStack::append):
- (JSC::MarkStack::drain):
- * runtime/JSFunction.cpp:
- (JSC::JSFunction::markChildren):
- * runtime/JSFunction.h:
- * runtime/JSGlobalData.cpp:
- (JSC::JSGlobalData::JSGlobalData):
- * runtime/JSGlobalData.h:
- * runtime/JSGlobalObject.cpp:
- (JSC::markIfNeeded):
- (JSC::JSGlobalObject::markChildren):
- * runtime/JSGlobalObject.h:
- * runtime/JSNotAnObject.cpp:
- (JSC::JSNotAnObject::markChildren):
- * runtime/JSNotAnObject.h:
- * runtime/JSONObject.cpp:
- (JSC::Stringifier::markAggregate):
- (JSC::JSONObject::markStringifiers):
- * runtime/JSONObject.h:
- * runtime/JSObject.cpp:
- (JSC::JSObject::markChildren):
- (JSC::JSObject::defineGetter):
- (JSC::JSObject::defineSetter):
- * runtime/JSObject.h:
- * runtime/JSPropertyNameIterator.cpp:
- (JSC::JSPropertyNameIterator::markChildren):
- * runtime/JSPropertyNameIterator.h:
- (JSC::JSPropertyNameIterator::createStructure):
- (JSC::JSPropertyNameIterator::JSPropertyNameIterator):
- (JSC::JSPropertyNameIterator::create):
- * runtime/JSStaticScopeObject.cpp:
- (JSC::JSStaticScopeObject::markChildren):
- * runtime/JSStaticScopeObject.h:
- * runtime/JSType.h:
- (JSC::):
- * runtime/JSValue.h:
- * runtime/JSWrapperObject.cpp:
- (JSC::JSWrapperObject::markChildren):
- * runtime/JSWrapperObject.h:
- * runtime/MarkStack.cpp: Added.
- (JSC::MarkStack::compact):
- * runtime/MarkStack.h: Added.
- (JSC::):
- (JSC::MarkStack::MarkStack):
- (JSC::MarkStack::append):
- (JSC::MarkStack::appendValues):
- (JSC::MarkStack::~MarkStack):
- (JSC::MarkStack::MarkSet::MarkSet):
- (JSC::MarkStack::pageSize):
-
- MarkStackArray is a non-shrinking, mmap-based vector type
- used for storing objects to be marked.
- (JSC::MarkStack::MarkStackArray::MarkStackArray):
- (JSC::MarkStack::MarkStackArray::~MarkStackArray):
- (JSC::MarkStack::MarkStackArray::expand):
- (JSC::MarkStack::MarkStackArray::append):
- (JSC::MarkStack::MarkStackArray::removeLast):
- (JSC::MarkStack::MarkStackArray::isEmpty):
- (JSC::MarkStack::MarkStackArray::size):
- (JSC::MarkStack::MarkStackArray::shrinkAllocation):
- * runtime/MarkStackPosix.cpp: Added.
- (JSC::MarkStack::allocateStack):
- (JSC::MarkStack::releaseStack):
- * runtime/MarkStackWin.cpp: Added.
- (JSC::MarkStack::allocateStack):
- (JSC::MarkStack::releaseStack):
-
- * runtime/ScopeChain.h:
- * runtime/ScopeChainMark.h:
- (JSC::ScopeChain::markAggregate):
- * runtime/SmallStrings.cpp:
- (JSC::SmallStrings::mark):
- * runtime/Structure.h:
- (JSC::Structure::markAggregate):
-
-2009-08-10 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Darin Adler.
-
- Fix hundreds of "pointer being freed was not allocated" errors seen on the build bot.
-
- * wtf/FastMalloc.h: Implement nothrow variants of the delete and delete[] operators since
- we implement the nothrow variants of new and new[]. The nothrow variant of delete is called
- explicitly in the implementation of std::sort which was resulting in FastMalloc-allocated
- memory being passed to the system allocator to free.
-
-2009-08-10 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- [Gtk] Unreviewed build fix. Move JSAPIValueWrapper.cpp/.h in the debug
- section. This file is already part of AllInOneFile in Release builds.
+ (JSC::CollectorBitmap::advanceToNextPossibleFreeCell):
- * GNUmakefile.am:
-
-2009-08-10 Darin Adler <darin@apple.com>
-
- * wtf/FastMalloc.h: Fix build.
-
-2009-08-10 Darin Adler <darin@apple.com>
-
- Reviewed by Mark Rowe.
-
- FastMalloc.h has cross-platform code but marked as WinCE-only
- https://bugs.webkit.org/show_bug.cgi?id=28160
-
- 1) The support for nothrow was inside #if PLATFORM(WINCE) even though it is
- not platform-specific.
- 2) The code tried to override operator delete nothrow, which does not exist.
- 3) The code in the header checks the value of USE_SYSTEM_MALLOC, but the code
- in FastMalloc.cpp checks only if the macro is defined.
-
- * wtf/FastMalloc.h: See above.
- * wtf/FastMalloc.cpp: Ditto.
-
-2009-08-10 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
+2010-05-27 Kevin Ollivier <kevino@theolliviers.com>
- Fix an annoying indentation issue.
+ [wx] Build fixes for Windows after recent changes.
- * runtime/DateConstructor.cpp:
- (JSC::constructDate):
-
-2009-08-10 Xan Lopez <xlopez@igalia.com>
+ * wscript:
- Unreviewed build fix.
+2010-05-27 Gustavo Noronha Silva <gns@gnome.org>
- Add new files to makefile.
+ More build fixage for make dist.
* GNUmakefile.am:
-2009-08-10 Simon Hausmann <simon.hausmann@nokia.com>
-
- Fix compilation with the interpreter instead of the JIT by including
- PrototypeFunction.h as forward-declared through NativeFunctionWrapper.h.
-
- * runtime/ObjectConstructor.cpp:
-
-2009-08-09 Oliver Hunt <oliver@apple.com>
-
- Reviewed by George Staikos.
-
- JSON.stringify replacer returning undefined does not omit object properties
- https://bugs.webkit.org/show_bug.cgi?id=28118
-
- Correct behaviour of stringify when using a replacer function that returns
- undefined. This is a simple change to move the undefined value check to
- after the replacer function is called. This means that the replacer function
- is now called for properties with the value undefined, however i've confirmed
- that this behaviour is correct.
-
- In addition I've made the cyclic object exception have a more useful error
- message.
-
- * runtime/JSONObject.cpp:
- (JSC::Stringifier::appendStringifiedValue):
-
-2009-08-08 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Eric Seidel and Sam Weinig.
-
- [ES5] Implement Object.getPrototypeOf
- https://bugs.webkit.org/show_bug.cgi?id=28114
-
- Implement getPrototypeOf
-
- * runtime/CommonIdentifiers.h:
- * runtime/JSGlobalObject.cpp:
- (JSC::JSGlobalObject::reset):
- * runtime/ObjectConstructor.cpp:
- (JSC::ObjectConstructor::ObjectConstructor):
- (JSC::objectConsGetPrototypeOf):
- * runtime/ObjectConstructor.h:
-
-2009-08-07 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
-
- Reviewed by Eric Seidel.
-
- Allow custom memory allocation control for Noncopyable class
- https://bugs.webkit.org/show_bug.cgi?id=27879
-
- Several classes which are inherited from Noncopyable are instantiated by
- operator new, so Noncopyable class has been inherited from FastAllocBase.
-
- * wtf/Noncopyable.h:
-
-2009-08-07 George Staikos <george.staikos@torchmobile.com>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=27305
- Implement WinCE-specific unicode layer.
- Written by George Staikos <george.staikos@torchmobile.com>
- with bug fixes by Yong Li <yong.li@torchmobile.com>
- refactored by Joe Mason <joe.mason@torchmobile.com>
-
- * wtf/Platform.h:
- * wtf/unicode/Unicode.h:
- * wtf/unicode/wince/UnicodeWince.cpp: Added.
- (WTF::Unicode::toLower):
- (WTF::Unicode::toUpper):
- (WTF::Unicode::foldCase):
- (WTF::Unicode::isPrintableChar):
- (WTF::Unicode::isSpace):
- (WTF::Unicode::isLetter):
- (WTF::Unicode::isUpper):
- (WTF::Unicode::isLower):
- (WTF::Unicode::isDigit):
- (WTF::Unicode::isPunct):
- (WTF::Unicode::toTitleCase):
- (WTF::Unicode::direction):
- (WTF::Unicode::category):
- (WTF::Unicode::decompositionType):
- (WTF::Unicode::combiningClass):
- (WTF::Unicode::mirroredChar):
- (WTF::Unicode::digitValue):
- * wtf/unicode/wince/UnicodeWince.h: Added.
- (WTF::Unicode::):
- (WTF::Unicode::isSeparatorSpace):
- (WTF::Unicode::isHighSurrogate):
- (WTF::Unicode::isLowSurrogate):
- (WTF::Unicode::isArabicChar):
- (WTF::Unicode::hasLineBreakingPropertyComplexContext):
- (WTF::Unicode::umemcasecmp):
- (WTF::Unicode::surrogateToUcs4):
-
-2009-08-07 Yongjun Zhang <yongjun.zhang@nokia.com>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=28069
-
- Add inline to help winscw compiler resolve specialized argument in
- templated functions.
-
- * runtime/LiteralParser.cpp:
- (JSC::LiteralParser::Lexer::lexString):
-
-2009-08-07 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
-
- Reviewed by Eric Seidel.
-
- Allow custom memory allocation control for RegExpObjectData struct
- http://bugs.webkit.org/show_bug.cgi?id=26750
-
- Inherits RegExpObjectData struct from FastAllocBase because
- it has been instantiated by 'new' in JavaScriptCore/runtime/RegExpObject.cpp:62
-
- * runtime/RegExpObject.h:
-
-2009-08-06 Norbert Leser <norbert.leser@nokia.com>
+2010-05-27 Kwang Yul Seo <skyul@company100.net>
Reviewed by Darin Adler.
- Updated patch for bug #27059:
- Symbian platform always uses little endian encoding,
- regardless of compiler.
- We need to make sure that we correctly detect EABI architecture
- for armv5 targets on Symbian,
- where __EABI__ is set but not __ARM_EABI__
-
- * wtf/Platform.h:
-
-2009-08-06 Adam Barth <abarth@webkit.org>
-
- Unreviewed revert.
+ RVCT does not have strnstr.
+ https://bugs.webkit.org/show_bug.cgi?id=39719
- http://bugs.webkit.org/show_bug.cgi?id=27879
+ Add COMPILER(RVCT) guard to strnstr in StringExtras.h as RVCT does not provide strnstr.
- Revert 46877 because it broke GTK.
-
- * wtf/Noncopyable.h:
+ * wtf/StringExtras.h:
-2009-08-06 Gavin Barraclough <barraclough@apple.com>
+2010-05-26 Gavin Barraclough <barraclough@apple.com>
Reviewed by Oliver Hunt.
- Make get_by_id/put_by_id/method_check/call defer optimization using a data flag rather than a code modification.
- ( https://bugs.webkit.org/show_bug.cgi?id=27635 )
-
- This improves performance of ENABLE(ASSEMBLER_WX_EXCLUSIVE) builds by 2-2.5%, reducing the overhead to about 2.5%.
- (No performance impact with ASSEMBLER_WX_EXCLUSIVE disabled).
-
- * bytecode/CodeBlock.cpp:
- (JSC::printStructureStubInfo):
- - Make StructureStubInfo store the type as an integer, rather than an OpcodeID.
-
- * bytecode/CodeBlock.h:
- (JSC::):
- (JSC::CallLinkInfo::seenOnce):
- (JSC::CallLinkInfo::setSeen):
- (JSC::MethodCallLinkInfo::seenOnce):
- (JSC::MethodCallLinkInfo::setSeen):
- - Change a pointer in CallLinkInfo/MethodCallLinkInfo to use a PtrAndFlags, use a flag to track when an op has been executed once.
-
- * bytecode/StructureStubInfo.cpp:
- (JSC::StructureStubInfo::deref):
- - Make StructureStubInfo store the type as an integer, rather than an OpcodeID.
-
- * bytecode/StructureStubInfo.h:
- (JSC::StructureStubInfo::StructureStubInfo):
- (JSC::StructureStubInfo::initGetByIdSelf):
- (JSC::StructureStubInfo::initGetByIdProto):
- (JSC::StructureStubInfo::initGetByIdChain):
- (JSC::StructureStubInfo::initGetByIdSelfList):
- (JSC::StructureStubInfo::initGetByIdProtoList):
- (JSC::StructureStubInfo::initPutByIdTransition):
- (JSC::StructureStubInfo::initPutByIdReplace):
- (JSC::StructureStubInfo::seenOnce):
- (JSC::StructureStubInfo::setSeen):
- - Make StructureStubInfo store the type as an integer, rather than an OpcodeID, add a flag to track when an op has been executed once.
-
- * bytecompiler/BytecodeGenerator.cpp:
- (JSC::BytecodeGenerator::emitGetById):
- (JSC::BytecodeGenerator::emitPutById):
- - Make StructureStubInfo store the type as an integer, rather than an OpcodeID.
-
- * jit/JIT.cpp:
- (JSC::JIT::privateCompileCTIMachineTrampolines):
- (JSC::JIT::unlinkCall):
- - Remove the "don't lazy link" stage of calls.
-
- * jit/JIT.h:
- (JSC::JIT::compileCTIMachineTrampolines):
- - Remove the "don't lazy link" stage of calls.
-
- * jit/JITCall.cpp:
- (JSC::JIT::compileOpCallSlowCase):
- - Remove the "don't lazy link" stage of calls.
-
- * jit/JITStubs.cpp:
- (JSC::JITThunks::JITThunks):
- (JSC::JITThunks::tryCachePutByID):
- (JSC::JITThunks::tryCacheGetByID):
- (JSC::JITStubs::DEFINE_STUB_FUNCTION):
- (JSC::JITStubs::getPolymorphicAccessStructureListSlot):
- - Remove the "don't lazy link" stage of calls, and the "_second" stage of get_by_id/put_by_id/method_check.
-
- * jit/JITStubs.h:
- (JSC::JITThunks::ctiStringLengthTrampoline):
- (JSC::JITStubs::):
- - Remove the "don't lazy link" stage of calls, and the "_second" stage of get_by_id/put_by_id/method_check.
-
- * wtf/PtrAndFlags.h:
- (WTF::PtrAndFlags::PtrAndFlags):
- (WTF::PtrAndFlags::operator!):
- (WTF::PtrAndFlags::operator->):
- - Add ! and -> operators, add constuctor with pointer argument.
-
-2009-08-06 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
-
- Reviewed by Adam Barth.
-
- Allow custom memory allocation control for Noncopyable class
- https://bugs.webkit.org/show_bug.cgi?id=27879
-
- Several classes which inherited from Noncopyable are instantiated by
- operator new, so Noncopyable class has been inherited from FastAllocBase.
-
- * wtf/Noncopyable.h:
-
-2009-08-06 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Sam Weinig.
-
- Add explicit dependencies for our build verification scripts to ensure that they always run after linking has completed.
-
- * JavaScriptCore.xcodeproj/project.pbxproj:
-
-2009-08-06 Mark Rowe <mrowe@apple.com>
-
- Bring a little order to our otherwise out of control lives.
-
- * JavaScriptCore.xcodeproj/project.pbxproj:
-
-2009-08-06 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
-
- Reviewed by Darin Adler.
-
- Allow custom memory allocation control for JavaScriptCore's PolymorphicAccessStructureList struct
- https://bugs.webkit.org/show_bug.cgi?id=27877
-
- Inherits PolymorphicAccessStructureList struct from FastAllocBase because it has been instantiated by
- 'new' in JavaScriptCore/jit/JITStubs.cpp:1229.
-
- * bytecode/Instruction.h:
-
-2009-08-05 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
-
- Reviewed by Darin Adler.
-
- Allow custom memory allocation control for JavaScriptCore's ScopeNodeData struct
- https://bugs.webkit.org/show_bug.cgi?id=27875
-
- Inherits ScopeNodeData struct from FastAllocBase because it has been instantiated by
- 'new' in JavaScriptCore/parser/Nodes.cpp:1848.
-
- * parser/Nodes.h:
-
-2009-08-05 Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
-
- Reviewed by Gavin Barraclough.
-
- Add floating point support for generic ARM port.
- https://bugs.webkit.org/show_bug.cgi?id=24986
-
- * assembler/ARMAssembler.cpp:
- (JSC::ARMAssembler::doubleTransfer):
- * assembler/ARMAssembler.h:
- (JSC::ARM::):
- (JSC::ARMAssembler::):
- (JSC::ARMAssembler::faddd_r):
- (JSC::ARMAssembler::fsubd_r):
- (JSC::ARMAssembler::fmuld_r):
- (JSC::ARMAssembler::fcmpd_r):
- (JSC::ARMAssembler::fdtr_u):
- (JSC::ARMAssembler::fdtr_d):
- (JSC::ARMAssembler::fmsr_r):
- (JSC::ARMAssembler::fsitod_r):
- (JSC::ARMAssembler::fmstat):
- * assembler/MacroAssemblerARM.h:
- (JSC::MacroAssemblerARM::):
- (JSC::MacroAssemblerARM::supportsFloatingPoint):
- (JSC::MacroAssemblerARM::loadDouble):
- (JSC::MacroAssemblerARM::storeDouble):
- (JSC::MacroAssemblerARM::addDouble):
- (JSC::MacroAssemblerARM::subDouble):
- (JSC::MacroAssemblerARM::mulDouble):
- (JSC::MacroAssemblerARM::convertInt32ToDouble):
- (JSC::MacroAssemblerARM::branchDouble):
- * jit/JIT.h:
-
-2009-08-05 Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
-
- Reviewed by Gavin Barraclough.
-
- Add JIT support for generic ARM port without optimizations.
- https://bugs.webkit.org/show_bug.cgi?id=24986
-
- All JIT optimizations are disabled.
-
- Signed off by Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
- Signed off by Gabor Loki <loki@inf.u-szeged.hu>
-
- * assembler/ARMAssembler.cpp:
- (JSC::ARMAssembler::baseIndexTransfer32):
- * assembler/AbstractMacroAssembler.h:
- (JSC::AbstractMacroAssembler::Imm32::Imm32):
- * assembler/MacroAssemblerARM.h:
- (JSC::MacroAssemblerARM::store32):
- (JSC::MacroAssemblerARM::move):
- (JSC::MacroAssemblerARM::branch32):
- (JSC::MacroAssemblerARM::add32):
- (JSC::MacroAssemblerARM::sub32):
- (JSC::MacroAssemblerARM::load32):
- * bytecode/CodeBlock.h:
- (JSC::CodeBlock::getBytecodeIndex):
- * jit/JIT.h:
- * jit/JITInlineMethods.h:
- (JSC::JIT::restoreArgumentReference):
- * jit/JITOpcodes.cpp:
- * jit/JITStubs.cpp:
- * jit/JITStubs.h:
- (JSC::JITStackFrame::returnAddressSlot):
- * wtf/Platform.h:
-
-2009-08-04 Gavin Barraclough <barraclough@apple.com>
-
- Rubber Stamped by Oiver Hunt.
-
- Revert r46643 since this breaks the Yarr::Interpreter running the v8 tests.
- https://bugs.webkit.org/show_bug.cgi?id=27874
-
- * yarr/RegexInterpreter.cpp:
- (JSC::Yarr::Interpreter::allocDisjunctionContext):
- (JSC::Yarr::Interpreter::freeDisjunctionContext):
- (JSC::Yarr::Interpreter::allocParenthesesDisjunctionContext):
- (JSC::Yarr::Interpreter::freeParenthesesDisjunctionContext):
-
-2009-08-04 Oliver Hunt <oliver@apple.com>
-
- PPC64 Build fix
-
- * wtf/Platform.h:
-
-2009-08-04 Benjamin C Meyer <benjamin.meyer@torchmobile.com>
-
- Reviewed by Adam Treat
-
- Explicitly include limits.h header when using INT_MAX and INT_MIN
-
- * interpreter/Interpreter.cpp
-
-2009-08-03 Harald Fernengel <harald.fernengel@nokia.com>
-
- Reviewed by Darin Adler.
-
- Fix compile error for ambigous call to abs()
- https://bugs.webkit.org/show_bug.cgi?id=27873
-
- Fix ambiguity in abs(long int) call by calling labs() instead
-
- * wtf/DateMath.cpp: replace call to abs() with labs()
-
-2009-08-03 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Eric Seidel.
-
- [Qt] Consolidate common gcc flags to WebKit.pri
- https://bugs.webkit.org/show_bug.cgi?id=27934
-
- * JavaScriptCore.pro:
-
-2009-08-03 Ada Chan <adachan@apple.com>
-
- Fixed the Tiger build.
-
- * wtf/FastMalloc.cpp:
-
-2009-08-03 Ada Chan <adachan@apple.com>
-
- Reviewed by Darin Adler.
-
- Don't use background thread to scavenge memory on Tiger until we figure out why it causes a crash.
- https://bugs.webkit.org/show_bug.cgi?id=27900
+ Bug 39795 - Add support for YARR JIT generation of greedy quantified parens at the end of the main disjunction.
+ (relanding r60267)
- * wtf/FastMalloc.cpp:
+ If the last item in a main disjunction is a quantified set of parentheses,
+ this is easier to code generate for than the general case for quantified
+ parentheses. This is because we never need to backtrack into the parentheses
+ - the first match will be the final and accepted match.
-2009-08-03 Fumitoshi Ukai <ukai@chromium.org>
+ This patch also somewhat reverts a recent change to when fallback to PCRE
+ occurs. At the minute the compiler is tracking on patterns which will
+ require JIT fallback. This is handy from a performance perspective (it saves
+ the failed attempt at JIT compilation), but it means introducing knowledge
+ of the JITs capabilities into the other layers of the regex compilers. For
+ the specific feature of back-references, add a flag tracking their presence
+ on the pattern, and make these expressions fallback without attempting to
+ JIT. For parentheses, return to detecting which cases are have or have not
+ been handled during JIT compilation.
- Reviewed by Jan Alonzo.
+ 18% progression on tagcloud, ~1.5% overall on sunspidey.
- Fix build break on Gtk/x86_64.
- https://bugs.webkit.org/show_bug.cgi?id=27936
-
- Use JSVALUE64 for X86_64 LINUX, except Qt.
-
- * wtf/Platform.h:
-
-2009-08-02 Xan Lopez <xlopez@igalia.com>
-
- Fix the GTK+ build.
-
- * wtf/Platform.h:
-
-2009-08-02 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Disabled JSVALUE32_64 on Qt builds, since all layout tests mysteriously
- crash with it enabled.
-
- * wtf/Platform.h:
-
-2009-08-02 Geoffrey Garen <ggaren@apple.com>
-
- Qt build fix.
-
- Added JSAPIValueWrapper.cpp to the build.
-
- * JavaScriptCore.pri:
-
-2009-08-02 Geoffrey Garen <ggaren@apple.com>
-
- Windows build fix.
-
- Exported symbols for JSAPIValueWrapper.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
-
-2009-08-02 Geoffrey Garen <ggaren@apple.com>
-
- GTK build fix.
-
- * jit/JITStubs.cpp: #include <stdarg.h>, for a definition of va_start.
-
-2009-08-02 Geoffrey Garen <ggaren@apple.com>
-
- Qt build fix.
-
- * runtime/Collector.cpp: #include <limits.h>, for a definition of ULONG_MAX.
-
-2009-08-02 Geoffrey Garen <ggaren@apple.com>
-
- Windows build fix: Nixed JSImmediate::prototype, JSImmediate::toObject,
- and JSImmediate::toThisObject, and removed their exported symbols.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
- * runtime/JSImmediate.cpp:
- * runtime/JSImmediate.h:
-
-2009-08-02 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Mark Rowe.
-
- Enabled JSVALUE32_64 by default on all platforms other than x86_64 (which uses JSVALUE64).
-
- * wtf/Platform.h:
-
-2009-08-02 Kevin Ollivier <kevino@theolliviers.com>
-
- Reviewed by Jan Alonzo.
-
- Script for building the JavaScriptCore library for wx.
- https://bugs.webkit.org/show_bug.cgi?id=27619
-
- * wscript: Added.
-
-2009-08-02 Yong Li <yong.li@torchmobile.com>
-
- Reviewed by George Staikos.
-
- DateMath depends on strftime and localtime, which need to be imported manually on WinCE
- https://bugs.webkit.org/show_bug.cgi?id=26558
-
- * wtf/DateMath.cpp:
-
-2009-08-01 David Kilzer <ddkilzer@apple.com>
-
- wtf/Threading.h: added include of Platform.h
-
- Reviewed by Mark Rowe.
-
- * wtf/Threading.h: Added #include "Platform.h" since this header
- uses PLATFORM() and other macros.
-
-2009-08-01 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Oliver Hunt.
-
- Roll out r46668 as it was misinformed. ScopeChain is only used with placement new.
-
- * runtime/ScopeChain.h:
-
-2009-08-01 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
-
- Allow custom memory allocation control for JavaScriptCore's HashMap class
- http://bugs.webkit.org/show_bug.cgi?id=27871
-
- Inherits HashMap class from FastAllocBase because it has been
- instantiated by 'new' in JavaScriptCore/API/JSClassRef.cpp:148.
-
- * wtf/RefPtrHashMap.h:
- (WTF::):
-
-2009-08-01 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
-
- Allow custom memory allocation control for JavaScriptCore's ScopeChain class
- https://bugs.webkit.org/show_bug.cgi?id=27834
-
- Inherits ScopeChain class from FastAllocBase because it has been
- instantiated by 'new' in JavaScriptCore/runtime/JSFunction.h:109.
-
- * runtime/ScopeChain.h:
-
-2009-08-01 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
-
- Reviewed by Darin Adler.
-
- Allow custom memory allocation control for JavaScriptCore's RegExpConstructorPrivate struct
- https://bugs.webkit.org/show_bug.cgi?id=27833
-
- Inherits RegExpConstructorPrivate class from FastAllocBase because it has been
- instantiated by 'new' in JavaScriptCore/runtime/RegExpConstructor.cpp:152.
-
- * runtime/RegExpConstructor.cpp:
-
-2009-07-31 Yong Li <yong.li@torchmobile.com>
-
- Reviewed by George Staikos.
-
- Resurrect the old GetTickCount implementation of currentTime, controlled by WTF_USE_QUERY_PERFORMANCE_COUNTER
- currentSystemTime taken from older WebKit; currentTime written by Yong Li <yong.li@torchmobile.com>; cleanup by Joe Mason <joe.mason@torchmobile.com>
- https://bugs.webkit.org/show_bug.cgi?id=27848
-
- * wtf/CurrentTime.cpp:
- (WTF::currentSystemTime): get current time with GetCurrentFT
- (WTF::currentTime): track msec elapsed since first currentSystemTime call using GetTickCount
- * wtf/Platform.h:
-
-2009-07-31 Ada Chan <adachan@apple.com>
-
- Fixes the Windows release-PGO build.
-
- Reviewed by Jon Honeycutt.
-
- * JavaScriptCore.vcproj/WTF/WTF.vcproj: Suppresses the warning about unreachable code that we get by adding "return 0" to WTF::TCMalloc_PageHeap::runScavengerThread().
- * wtf/FastMalloc.cpp:
- (WTF::TCMalloc_PageHeap::runScavengerThread): Fixes the error about the method not returning a value in the release-PGO build.
-
-2009-07-31 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
-
- Change malloc to fastMalloc and free to fastFree in Yarr's RegexInterpreter.cpp
- https://bugs.webkit.org/show_bug.cgi?id=27874
-
- Use fastMalloc and fastFree instead of malloc and free in RegexInterpreter.cpp's methods.
-
- * yarr/RegexInterpreter.cpp:
- (JSC::Yarr::Interpreter::allocDisjunctionContext):
- (JSC::Yarr::Interpreter::freeDisjunctionContext):
- (JSC::Yarr::Interpreter::allocParenthesesDisjunctionContext):
- (JSC::Yarr::Interpreter::freeParenthesesDisjunctionContext):
-
-2009-07-30 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Jan Alonzo.
-
- Fix compiler warning.
-
- GCC does not like C++-style comments in preprocessor directives.
+ * yarr/RegexCompiler.cpp:
+ (JSC::Yarr::RegexPatternConstructor::atomBackReference):
+ (JSC::Yarr::RegexPatternConstructor::quantifyAtom):
+ * yarr/RegexJIT.cpp:
+ (JSC::Yarr::RegexGenerator::TermGenerationState::isLastTerm):
+ (JSC::Yarr::RegexGenerator::TermGenerationState::isMainDisjunction):
+ (JSC::Yarr::RegexGenerator::generateParenthesesGreedyNoBacktrack):
+ (JSC::Yarr::RegexGenerator::generateTerm):
+ (JSC::Yarr::RegexGenerator::RegexGenerator):
+ (JSC::Yarr::RegexGenerator::shouldFallBack):
+ (JSC::Yarr::jitCompileRegex):
+ * yarr/RegexPattern.h:
+ (JSC::Yarr::RegexPattern::RegexPattern):
+ (JSC::Yarr::RegexPattern::reset):
- * wtf/Platform.h:
+2010-05-26 Gavin Barraclough <barraclough@apple.com>
-2009-07-30 John McCall <rjmccall@apple.com>
+ Reviewed by NOBODY (revert).
- Reviewed by Gavin Barraclough.
+ Temporarily rolling out r60267, I appear to have hoesed perf at the last minute. :-/ Fixing.
- Optimize the X86_64 trampolines: avoid the need for filler arguments
- and move the stub-args area closer to the stack pointer.
+ * yarr/RegexCompiler.cpp:
+ (JSC::Yarr::RegexPatternConstructor::atomBackReference):
+ (JSC::Yarr::RegexPatternConstructor::quantifyAtom):
+ * yarr/RegexJIT.cpp:
+ (JSC::Yarr::RegexGenerator::TermGenerationState::term):
+ (JSC::Yarr::RegexGenerator::generateParenthesesSingle):
+ (JSC::Yarr::RegexGenerator::generateTerm):
+ (JSC::Yarr::RegexGenerator::RegexGenerator):
+ (JSC::Yarr::jitCompileRegex):
+ * yarr/RegexPattern.h:
+ (JSC::Yarr::RegexPattern::RegexPattern):
+ (JSC::Yarr::RegexPattern::reset):
- * jit/JIT.h: adjust patch offsets because of slight code-size change
- * jit/JITCode.h:
- (JSC::JITCode::execute): don't pass filler args
- * jit/JITStubs.cpp:
- (ctiTrampoline): (X86_64): push args onto stack, use args directly
- (ctiVMThrowTrampoline): (X86_64): adjust %rsp by correct displacement
- (ctiOpThrowNotCaught): (X86_64): adjust %rsp by correct displacement
- * jit/JITStubs.h:
- (JITStackFrame): (X86_64): move args area earlier
- (ctiTrampoline): remove filler args from prototype
+2010-05-26 Gustavo Noronha Silva <gns@gnome.org>
-2009-07-30 Gavin Barraclough <barraclough@apple.com>
+ Build fixes for make distcheck.
- Temporarily revert r46618 since this is b0rking on Linux.
+ * GNUmakefile.am:
-2009-07-23 Gavin Barraclough <barraclough@apple.com>
+2010-05-26 Gavin Barraclough <barraclough@apple.com>
Reviewed by Oliver Hunt.
- Make get_by_id/put_by_id/method_check/call defer optimization using a data flag rather than a code modification.
- ( https://bugs.webkit.org/show_bug.cgi?id=27635 )
-
- This improves performance of ENABLE(ASSEMBLER_WX_EXCLUSIVE) builds by 2-2.5%, reducing the overhead to about 2.5%.
- (No performance impact with ASSEMBLER_WX_EXCLUSIVE disabled).
-
- * bytecode/CodeBlock.cpp:
- (JSC::printStructureStubInfo):
- - Make StructureStubInfo store the type as an integer, rather than an OpcodeID.
-
- * bytecode/CodeBlock.h:
- (JSC::):
- (JSC::CallLinkInfo::seenOnce):
- (JSC::CallLinkInfo::setSeen):
- (JSC::MethodCallLinkInfo::seenOnce):
- (JSC::MethodCallLinkInfo::setSeen):
- - Change a pointer in CallLinkInfo/MethodCallLinkInfo to use a PtrAndFlags, use a flag to track when an op has been executed once.
-
- * bytecode/StructureStubInfo.cpp:
- (JSC::StructureStubInfo::deref):
- - Make StructureStubInfo store the type as an integer, rather than an OpcodeID.
-
- * bytecode/StructureStubInfo.h:
- (JSC::StructureStubInfo::StructureStubInfo):
- (JSC::StructureStubInfo::initGetByIdSelf):
- (JSC::StructureStubInfo::initGetByIdProto):
- (JSC::StructureStubInfo::initGetByIdChain):
- (JSC::StructureStubInfo::initGetByIdSelfList):
- (JSC::StructureStubInfo::initGetByIdProtoList):
- (JSC::StructureStubInfo::initPutByIdTransition):
- (JSC::StructureStubInfo::initPutByIdReplace):
- (JSC::StructureStubInfo::seenOnce):
- (JSC::StructureStubInfo::setSeen):
- - Make StructureStubInfo store the type as an integer, rather than an OpcodeID, add a flag to track when an op has been executed once.
-
- * bytecompiler/BytecodeGenerator.cpp:
- (JSC::BytecodeGenerator::emitGetById):
- (JSC::BytecodeGenerator::emitPutById):
- - Make StructureStubInfo store the type as an integer, rather than an OpcodeID.
-
- * jit/JIT.cpp:
- (JSC::JIT::privateCompileCTIMachineTrampolines):
- (JSC::JIT::unlinkCall):
- - Remove the "don't lazy link" stage of calls.
-
- * jit/JIT.h:
- (JSC::JIT::compileCTIMachineTrampolines):
- - Remove the "don't lazy link" stage of calls.
-
- * jit/JITCall.cpp:
- (JSC::JIT::compileOpCallSlowCase):
- - Remove the "don't lazy link" stage of calls.
-
- * jit/JITStubs.cpp:
- (JSC::JITThunks::JITThunks):
- (JSC::JITThunks::tryCachePutByID):
- (JSC::JITThunks::tryCacheGetByID):
- (JSC::JITStubs::DEFINE_STUB_FUNCTION):
- (JSC::JITStubs::getPolymorphicAccessStructureListSlot):
- - Remove the "don't lazy link" stage of calls, and the "_second" stage of get_by_id/put_by_id/method_check.
-
- * jit/JITStubs.h:
- (JSC::JITThunks::ctiStringLengthTrampoline):
- (JSC::JITStubs::):
- - Remove the "don't lazy link" stage of calls, and the "_second" stage of get_by_id/put_by_id/method_check.
-
- * wtf/PtrAndFlags.h:
- (WTF::PtrAndFlags::PtrAndFlags):
- (WTF::PtrAndFlags::operator!):
- (WTF::PtrAndFlags::operator->):
- - Add ! and -> operators, add constuctor with pointer argument.
-
-2009-07-30 Geoffrey Garen <ggaren@apple.com>
+ Bug 39795 - Add support for YARR JIT generation of greedy quantified parens at the end of the main disjunction.
- Reviewed by Gavin Barraclough.
-
- Fixed failing tests seen on Windows buildbot.
-
- * jit/JITStubs.cpp:
- (JSC::DEFINE_STUB_FUNCTION):
- * jit/JITStubs.h:
- (JSC::): Use "int" instead of "bool" to guarantee a 32-bit result,
- regardless of compiler. gcc on mac uses 32-bit values for bool,
- but gcc on linux and MSVC on Windows use 8-bit values.
+ If the last item in a main disjunction is a quantified set of parentheses,
+ this is easier to code generate for than the general case for quantified
+ parentheses. This is because we never need to backtrack into the parentheses
+ - the first match will be the final and accepted match.
-2009-07-30 Geoffrey Garen <ggaren@apple.com>
+ This patch also somewhat reverts a recent change to when fallback to PCRE
+ occurs. At the minute the compiler is tracking on patterns which will
+ require JIT fallback. This is handy from a performance perspective (it saves
+ the failed attempt at JIT compilation), but it means introducing knowledge
+ of the JITs capabilities into the other layers of the regex compilers. For
+ the specific feature of back-references, add a flag tracking their presence
+ on the pattern, and make these expressions fallback without attempting to
+ JIT. For parentheses, return to detecting which cases are have or have not
+ been handled during JIT compilation.
- Windows build fix: added missing symbols on Windows.
+ 18% progression on tagcloud, ~1.5% overall on sunspidey.
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
-
-2009-07-30 Geoffrey Garen <ggaren@apple.com>
-
- Windows build fix: removed stale symbols on Windows.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
-
-=== End merge of nitro-extreme branch 2009-07-30 ===
-
-2009-07-20 Geoffrey Garen <ggaren@apple.com>
-
- Fixed a post-review typo in r46066 that caused tons of test failures.
-
- SunSpider reports no change.
-
- * runtime/JSArray.cpp:
- (JSC::JSArray::JSArray): Initialize the full vector capacity, to avoid
- uninitialized members at the end.
-
-2009-07-20 Geoffrey Garen <ggaren@apple.com>
-
- Windows WebKit build fix: Added some missing exports.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
-
-2009-07-17 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Get the branch working on windows.
- https://bugs.webkit.org/show_bug.cgi?id=27391
-
- SunSpider says 0.3% faster.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def: Updated
- MSVC export lists to fix linker errors.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Added / removed
- new / old project files.
-
- * jit/JIT.cpp:
- (JSC::JIT::privateCompileCTIMachineTrampolines): Used #pragma pack to tell
- MSVC that these structures represent actual memory layout, and should not be
- automatically aligned. Changed the return value load to load a 64bit quantity
- into the canonical registers.
-
- * jit/JIT.h: Moved OBJECT_OFFSETOF definition to StdLibExtras.h because
- it's needed by more than just the JIT, and it supplements a standard library
- macro (offsetof).
-
- * jit/JITCall.cpp:
- (JSC::JIT::compileOpCallInitializeCallFrame): Fixed an incorrectly signed
- cast to resolve an MSVC warning.
-
- * jit/JITStubs.h: Used #pragma pack to tell MSVC that these structures
- represent actual memory layout, and should not be automatically aligned.
-
- * runtime/JSArray.cpp:
- (JSC::JSArray::JSArray): Replaced memset_pattern8 with a for loop, since
- memset_pattern8 is not portable. (I verified that this version of the loop
- gives the best performance / generated code in GCC.)
-
- * runtime/JSObject.h:
- (JSC::JSObject::JSObject): Removed accidental usage of FIELD_OFFSET --
- OBJECT_OFFSETOF is our new macro name. (FIELD_OFFSET conflicts with a
- definition in winnt.h.)
-
- * runtime/JSValue.cpp: Added some headers needed by non-all-in-one builds.
-
- * runtime/JSValue.h:
- (JSC::JSValue::): Made the tag signed, to match MSVC's signed enum values.
- (GCC doesn't seem to care one way or the other.)
-
- * wtf/MainThread.cpp: Moved the StdLibExtras.h #include -- I did this a
- while ago to resolve a conflict with winnt.h. I can't remember if it's truly
- still needed, but what the heck.
-
- * wtf/StdLibExtras.h: Moved OBJECT_OFFSETOF definition here.
-
-2009-07-06 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig (?).
-
- Fixed an assertion seen during the stress test.
-
- Don't assume that, if op1 is constant, op2 is not, and vice versa. Sadly,
- not all constants get folded.
-
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_jnless):
- (JSC::JIT::emitSlow_op_jnless):
- (JSC::JIT::emit_op_jnlesseq):
- (JSC::JIT::emitSlow_op_jnlesseq):
-
-2009-07-06 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Include op_convert_this in result caching.
-
- No change on SunSpider or v8.
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_convert_this):
-
- * jit/JITStubs.cpp:
- (JSC::DEFINE_STUB_FUNCTION):
- * jit/JITStubs.h:
- (JSC::): Made the op_convert_this JIT stub return an EncodedJSValue, so
- to maintain the result caching contract that { tag, payload } can be
- found in { regT1, regT0 }.
-
-2009-07-06 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Implemented result chaining.
-
- 1% faster on SunSpider. 4%-5% faster on v8.
-
- * assembler/MacroAssemblerX86Common.h:
- (JSC::MacroAssemblerX86Common::move):
- * assembler/X86Assembler.h:
- (JSC::X86Assembler::movl_rr): Added an optimization to eliminate
- no-op mov instructions, to simplify chaining.
-
- * jit/JIT.cpp:
- (JSC::JIT::JIT):
- * jit/JIT.h: Added data members and helper functions for recording
- chained results. We record both a mapping from virtual to machine register
- and the opcode for which the mapping is valid, to help ensure that the
- mapping isn't used after the mapped register has been stomped by other
- instructions.
-
- * jit/JITCall.cpp:
- (JSC::JIT::compileOpCallVarargs):
- (JSC::JIT::compileOpCallVarargsSlowCase):
- (JSC::JIT::emit_op_ret):
- (JSC::JIT::emit_op_construct_verify):
- (JSC::JIT::compileOpCall):
- (JSC::JIT::compileOpCallSlowCase): Chain function call results.
-
- * jit/JITInlineMethods.h:
- (JSC::JIT::emitLoadTag):
- (JSC::JIT::emitLoadPayload):
- (JSC::JIT::emitLoad):
- (JSC::JIT::emitLoad2):
- (JSC::JIT::isLabeled):
- (JSC::JIT::map):
- (JSC::JIT::unmap):
- (JSC::JIT::isMapped):
- (JSC::JIT::getMappedPayload):
- (JSC::JIT::getMappedTag): Use helper functions when loading virtual
- registers into machine registers, in case the loads can be eliminated
- by chaining.
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_mov):
- (JSC::JIT::emit_op_end):
- (JSC::JIT::emit_op_instanceof):
- (JSC::JIT::emit_op_get_global_var):
- (JSC::JIT::emit_op_put_global_var):
- (JSC::JIT::emit_op_get_scoped_var):
- (JSC::JIT::emit_op_put_scoped_var):
- (JSC::JIT::emit_op_to_primitive):
- (JSC::JIT::emit_op_resolve_global):
- (JSC::JIT::emit_op_jneq_ptr):
- (JSC::JIT::emit_op_next_pname):
- (JSC::JIT::emit_op_to_jsnumber):
- (JSC::JIT::emit_op_catch): Chain results from these opcodes.
-
- (JSC::JIT::emit_op_profile_will_call):
- (JSC::JIT::emit_op_profile_did_call): Load the profiler into regT2 to
- avoid stomping a chained result.
-
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::emit_op_method_check):
- (JSC::JIT::emit_op_get_by_val):
- (JSC::JIT::emit_op_get_by_id): Chain results from these opcodes.
-
- * jit/JITStubCall.h:
- (JSC::JITStubCall::addArgument): Always use { regT1, regT0 }, to facilitate
- chaining.
-
- (JSC::JITStubCall::call): Unmap all mapped registers, since our callee
- stub might stomp them.
-
-2009-07-01 Sam Weinig <sam@webkit.org>
-
- Reviewed by Gavin Barraclough.
-
- Don't reload values in emitBinaryDoubleOp.
-
- SunSpider reports a 0.6% progression.
-
- * jit/JIT.h:
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_jnless):
- (JSC::JIT::emit_op_jnlesseq):
- (JSC::JIT::emitBinaryDoubleOp):
-
-2009-07-01 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Convert op_div to load op1 and op2 up front.
-
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_div):
-
-2009-07-01 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Don't emit code in emitBinaryDoubleOp if code is unreachable, observable
- via an empty (unlinked) jumplist passed in. This only effects op_jnless
- and op_jnlesseq at present.
-
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emitSlow_op_jnless):
- (JSC::JIT::emitSlow_op_jnlesseq):
- (JSC::JIT::emitBinaryDoubleOp):
-
-2009-07-01 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Converted op_mod to put { tag, payload } in { regT1, regT0 }, and
- tidied up its constant case.
-
- SunSpider reports a 0.2% regression, but a micro-benchmark of op_mod
- shows a 12% speedup, and the SunSpider test that uses op_mod most should
- benefit a lot from result caching in the end, since it almost always
- performs (expression) % constant.
-
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_mod):
- (JSC::JIT::emitSlow_op_mod):
-
-2009-06-30 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Converted some more arithmetic ops to put { tag, payload } in
- { regT1, regT0 }.
-
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_mul):
- (JSC::JIT::emitSlow_op_mul):
-
-2009-06-30 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Converted some more arithmetic ops to put { tag, payload } in
- { regT1, regT0 }, and added a case for subtract constant.
-
- SunSpider says no change. v8 says 0.3% slower.
-
- * jit/JIT.h:
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_add):
- (JSC::JIT::emitAdd32Constant):
- (JSC::JIT::emitSlow_op_add):
- (JSC::JIT::emit_op_sub):
- (JSC::JIT::emitSub32Constant):
- (JSC::JIT::emitSlow_op_sub):
-
-2009-06-30 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Sam Weinig.
-
- Remove more uses of addressFor(), load double constants directly from
- the constantpool in the CodeBlock, rather than from the register file.
-
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emitAdd32Constant):
- (JSC::JIT::emitBinaryDoubleOp):
-
-2009-06-30 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fixed a bug in postfix ops, where we would treat x = x++ and x = x--
- as a no-op, even if x were not an int, and the ++/-- could have side-effects.
-
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_post_inc):
- (JSC::JIT::emitSlow_op_post_inc):
- (JSC::JIT::emit_op_post_dec):
- (JSC::JIT::emitSlow_op_post_dec):
-
-2009-06-30 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Converted some arithmetic ops to put { tag, payload } in
- { regT1, regT0 }.
-
- SunSpider says 0.7% faster. v8 says no change.
-
- * jit/JIT.h:
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_jnless):
- (JSC::JIT::emit_op_jnlesseq):
- (JSC::JIT::emit_op_lshift):
- (JSC::JIT::emit_op_rshift):
- (JSC::JIT::emit_op_bitand):
- (JSC::JIT::emit_op_bitor):
- (JSC::JIT::emit_op_bitxor):
- * jit/JITInlineMethods.h:
- (JSC::JIT::isOperandConstantImmediateInt):
- (JSC::JIT::getOperandConstantImmediateInt):
-
-2009-06-30 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Sam Weinig.
-
- Start removing cases of addressFor().
-
- * jit/JIT.h:
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emitAdd32Constant):
- (JSC::JIT::emitBinaryDoubleOp):
- (JSC::JIT::emit_op_div):
- * jit/JITInlineMethods.h:
- (JSC::JIT::emitLoadDouble):
- (JSC::JIT::emitLoadInt32ToDouble):
- (JSC::JIT::emitStoreDouble):
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_jfalse):
- (JSC::JIT::emit_op_jtrue):
-
-2009-06-30 Geoffrey Garen <ggaren@apple.com>
-
- Rolled back in my last patch with regression fixed.
-
- * jit/JIT.cpp:
- (JSC::JIT::privateCompileSlowCases):
- * jit/JIT.h:
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_loop_if_less):
- (JSC::JIT::emit_op_loop_if_lesseq):
- (JSC::JIT::emit_op_resolve_global):
- (JSC::JIT::emitSlow_op_resolve_global):
- (JSC::JIT::emit_op_eq):
- (JSC::JIT::emitSlow_op_eq):
- (JSC::JIT::emit_op_neq):
- (JSC::JIT::emitSlow_op_neq):
-
-2009-06-30 Geoffrey Garen <ggaren@apple.com>
-
- Rolled out my last patch because it was a 2% SunSpider regression.
-
- * jit/JIT.cpp:
- (JSC::JIT::privateCompileSlowCases):
- * jit/JIT.h:
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_loop_if_less):
- (JSC::JIT::emit_op_loop_if_lesseq):
- (JSC::JIT::emit_op_resolve_global):
- (JSC::JIT::emit_op_eq):
- (JSC::JIT::emitSlow_op_eq):
- (JSC::JIT::emit_op_neq):
- (JSC::JIT::emitSlow_op_neq):
-
-2009-06-30 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Gavin "Sam Weinig" Barraclough.
-
- Standardized the rest of our opcodes to put { tag, payload } in
- { regT1, regT0 } where possible.
-
- * jit/JIT.cpp:
- (JSC::JIT::privateCompileSlowCases):
- * jit/JIT.h:
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_loop_if_less):
- (JSC::JIT::emit_op_loop_if_lesseq):
- (JSC::JIT::emit_op_resolve_global):
- (JSC::JIT::emitSlow_op_resolve_global):
- (JSC::JIT::emit_op_eq):
- (JSC::JIT::emitSlow_op_eq):
- (JSC::JIT::emit_op_neq):
- (JSC::JIT::emitSlow_op_neq):
-
-2009-06-30 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Geoffrey Garen.
-
- Replace calls to store32(tagFor()) and store32(payloadFor())
- with emitStoreInt32(), emitStoreBool(), and emitStoreCell().
-
- * jit/JIT.h:
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_negate):
- (JSC::JIT::emit_op_lshift):
- (JSC::JIT::emit_op_rshift):
- (JSC::JIT::emit_op_bitand):
- (JSC::JIT::emitBitAnd32Constant):
- (JSC::JIT::emit_op_bitor):
- (JSC::JIT::emitBitOr32Constant):
- (JSC::JIT::emit_op_bitxor):
- (JSC::JIT::emitBitXor32Constant):
- (JSC::JIT::emit_op_bitnot):
- (JSC::JIT::emit_op_post_inc):
- (JSC::JIT::emit_op_post_dec):
- (JSC::JIT::emit_op_pre_inc):
- (JSC::JIT::emit_op_pre_dec):
- (JSC::JIT::emit_op_add):
- (JSC::JIT::emitAdd32Constant):
- (JSC::JIT::emit_op_sub):
- (JSC::JIT::emitSub32ConstantLeft):
- (JSC::JIT::emitSub32ConstantRight):
- (JSC::JIT::emit_op_mul):
- (JSC::JIT::emitSlow_op_mul):
- (JSC::JIT::emit_op_div):
- (JSC::JIT::emit_op_mod):
- * jit/JITCall.cpp:
- (JSC::JIT::emit_op_load_varargs):
- * jit/JITInlineMethods.h:
- (JSC::JIT::emitStoreInt32):
- (JSC::JIT::emitStoreCell):
- (JSC::JIT::emitStoreBool):
- (JSC::JIT::emitStore):
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_instanceof):
- (JSC::JIT::emit_op_not):
- (JSC::JIT::emit_op_eq):
- (JSC::JIT::emitSlow_op_eq):
- (JSC::JIT::emit_op_neq):
- (JSC::JIT::emitSlow_op_neq):
- (JSC::JIT::compileOpStrictEq):
- (JSC::JIT::emit_op_eq_null):
- (JSC::JIT::emit_op_neq_null):
- * jit/JITStubCall.h:
- (JSC::JITStubCall::call):
-
-2009-06-30 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Standardized the rest of the property access instructions to put { tag,
- payload } in { regT1, regT0 }.
-
- Small v8 speedup, 0.2% SunSpider slowdown.
-
- * jit/JIT.h:
- * jit/JITInlineMethods.h:
- (JSC::JIT::emitLoad):
- (JSC::JIT::emitLoad2):
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::emit_op_get_by_val):
- (JSC::JIT::emitSlow_op_get_by_val):
- (JSC::JIT::emit_op_put_by_val):
- (JSC::JIT::emitSlow_op_put_by_val):
- (JSC::JIT::emit_op_put_by_id):
- (JSC::JIT::emitSlow_op_put_by_id):
- (JSC::JIT::patchPutByIdReplace):
-
-2009-06-29 Sam Weinig <sam@webkit.org>
-
- Reviewed by Gavin Barraclough.
-
- Various cleanups.
- - Use fpRegT* instead of X86::xmm*.
- - Use a switch statement in emitBinaryDoubleOp instead of a bunch of
- if/elses.
-
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emitAdd32Constant):
- (JSC::JIT::emitBinaryDoubleOp):
- (JSC::JIT::emit_op_div):
-
-2009-06-29 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Add inline code dealing with doubles for op_jfalse and op_jtrue.
-
- * assembler/MacroAssemblerX86Common.h:
- (JSC::MacroAssemblerX86Common::):
- (JSC::MacroAssemblerX86Common::zeroDouble):
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_jfalse):
- (JSC::JIT::emit_op_jtrue):
-
-2009-06-28 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Standardized op_get_by_id to put { tag, payload } in { regT1, regT0 }.
-
- SunSpider and v8 report maybe 0.2%-0.4% regressions, but the optimization
- this enables will win much more than that back.
-
- * jit/JIT.cpp:
- (JSC::JIT::privateCompileCTIMachineTrampolines):
- * jit/JIT.h:
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::emit_op_method_check):
- (JSC::JIT::emit_op_get_by_id):
- (JSC::JIT::compileGetByIdHotPath):
- (JSC::JIT::compileGetByIdSlowCase):
- (JSC::JIT::patchGetByIdSelf):
- (JSC::JIT::privateCompilePatchGetArrayLength):
- (JSC::JIT::privateCompileGetByIdProto):
- (JSC::JIT::privateCompileGetByIdSelfList):
- (JSC::JIT::privateCompileGetByIdProtoList):
- (JSC::JIT::privateCompileGetByIdChainList):
- (JSC::JIT::privateCompileGetByIdChain):
-
-2009-06-26 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Standardized op_call to put { tag, payload } in { regT1, regT0 }.
-
- SunSpider and v8 report no change.
-
- * jit/JIT.cpp:
- (JSC::JIT::privateCompileCTIMachineTrampolines):
- * jit/JITCall.cpp:
- (JSC::JIT::compileOpCallInitializeCallFrame):
- (JSC::JIT::compileOpCallSetupArgs):
- (JSC::JIT::compileOpConstructSetupArgs):
- (JSC::JIT::compileOpCallVarargsSetupArgs):
- (JSC::JIT::compileOpCallVarargs):
- (JSC::JIT::compileOpCall):
- (JSC::JIT::compileOpCallSlowCase):
-
-2009-06-26 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Handle multiplying by zero a little better by
- inlining the case that both operands are non-negative
- into the slowpath.
-
- * assembler/MacroAssemblerX86Common.h:
- (JSC::MacroAssemblerX86Common::branchOr32):
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_mul):
- (JSC::JIT::emitSlow_op_mul):
-
-2009-06-25 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Optimize x++ to ++x inside for loops.
-
- Sadly, no measurable speedup, but this should help with result chaining.
-
- * parser/Nodes.cpp:
- (JSC::ForNode::emitBytecode):
-
-2009-06-25 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Standardized some more opcodes to put { tag, payload } in { regT1, regT0 }.
-
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emitSlow_op_bitnot):
- (JSC::JIT::emit_op_post_inc):
-
-2009-06-25 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Standardized some more opcodes to put { tag, payload } in { regT1, regT0 }.
-
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_bitnot):
- (JSC::JIT::emit_op_post_dec):
- (JSC::JIT::emit_op_pre_inc):
- (JSC::JIT::emitSlow_op_pre_inc):
- (JSC::JIT::emit_op_pre_dec):
- (JSC::JIT::emitSlow_op_pre_dec):
-
-2009-06-25 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Standardized some more opcodes to put { tag, payload } in { regT1, regT0 }.
-
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_negate):
- (JSC::JIT::emitSlow_op_negate):
- * jit/JITCall.cpp:
- (JSC::JIT::emit_op_construct_verify):
- (JSC::JIT::emitSlow_op_construct_verify):
-
-2009-06-25 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Standardized some more opcodes to put { tag, payload } in { regT1, regT0 }.
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_loop_if_true):
- (JSC::JIT::emit_op_jfalse):
- (JSC::JIT::emit_op_jtrue):
- (JSC::JIT::emit_op_jeq_null):
- (JSC::JIT::emit_op_jneq_null):
- (JSC::JIT::emit_op_eq_null):
- (JSC::JIT::emit_op_neq_null):
-
-2009-06-25 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig (sort of, maybe).
-
- Fixed some ASSERTs in http/tests/security.
-
- These ASSERTs were introduced by http://trac.webkit.org/changeset/45057,
- but the underlying problem was actually older. http://trac.webkit.org/changeset/45057
- just exposed the problem by enabling optimization in more cases.
-
- The ASSERTs fired because we tested PropertySlot::slotBase() for validity,
- but slotBase() ASSERTs if it's invalid, so we would ASSERT before
- the test could happen. Solution: Remove the ASSERT. Maybe it was valid
- once, but it clearly goes against a pattern we've deployed of late.
-
- The underlying problem was that WebCore would re-use a PropertySlot in
- the case of a forwarding access, and the second use would not completely
- overwrite the first use. Solution: Make sure to overwrite m_offset when
- setting a value on a PropertySlot. (Other values already get implicitly
- overwritten during reuse.)
-
- * runtime/PropertySlot.h:
- (JSC::PropertySlot::PropertySlot):
- (JSC::PropertySlot::setValueSlot):
- (JSC::PropertySlot::setValue):
- (JSC::PropertySlot::setRegisterSlot):
- (JSC::PropertySlot::setUndefined):
- (JSC::PropertySlot::slotBase):
- (JSC::PropertySlot::clearOffset):
-
-2009-06-24 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Geoff Garen.
-
- Enable JIT_OPTIMIZE_METHOD_CALLS on the branch, implementation matches current implemenatation in ToT.
-
- * jit/JIT.h:
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::emit_op_method_check):
- (JSC::JIT::emitSlow_op_method_check):
- (JSC::JIT::emit_op_get_by_id):
- (JSC::JIT::compileGetByIdHotPath):
- (JSC::JIT::emitSlow_op_get_by_id):
- (JSC::JIT::compileGetByIdSlowCase):
+ * yarr/RegexCompiler.cpp:
+ (JSC::Yarr::RegexPatternConstructor::atomBackReference):
+ (JSC::Yarr::RegexPatternConstructor::quantifyAtom):
+ * yarr/RegexJIT.cpp:
+ (JSC::Yarr::RegexGenerator::TermGenerationState::isLastTerm):
+ (JSC::Yarr::RegexGenerator::TermGenerationState::isMainDisjunction):
+ (JSC::Yarr::RegexGenerator::generateParenthesesGreedyNoBacktrack):
+ (JSC::Yarr::RegexGenerator::generateTerm):
+ (JSC::Yarr::RegexGenerator::RegexGenerator):
+ (JSC::Yarr::RegexGenerator::shouldFallBack):
+ (JSC::Yarr::jitCompileRegex):
+ * yarr/RegexPattern.h:
+ (JSC::Yarr::RegexPattern::RegexPattern):
+ (JSC::Yarr::RegexPattern::reset):
-2009-06-23 Geoffrey Garen <ggaren@apple.com>
+2010-05-26 Geoffrey Garen <ggaren@apple.com>
Reviewed by Sam Weinig.
- Bit off a tiny bit more of standardizing opcode behavior to help with result
- caching.
-
- SunSpider reports no change, v8 maybe a tiny speedup.
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_to_jsnumber):
- (JSC::JIT::emitSlow_op_to_jsnumber):
- (JSC::JIT::emit_op_convert_this):
- (JSC::JIT::emitSlow_op_convert_this):
-
-2009-06-23 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
+ Fixed a crash seen on the Leopard bot, caused by merge.
- Bit off a tiny bit more of standardizing opcode behavior to help with result
- caching -- including removing my old enemy, op_resolve_function, because
- it was non-standard, and removing it felt better than helping it limp along.
-
- SunSpider reports no change, v8 maybe a tiny speedup.
-
- * bytecode/CodeBlock.cpp:
- (JSC::CodeBlock::dump):
- * bytecode/Opcode.h:
- * bytecompiler/BytecodeGenerator.cpp:
- * bytecompiler/BytecodeGenerator.h:
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::privateExecute):
- * jit/JIT.cpp:
- (JSC::JIT::privateCompileMainPass):
- * jit/JIT.h:
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_get_scoped_var):
- (JSC::JIT::emit_op_put_scoped_var):
- (JSC::JIT::emit_op_to_primitive):
- (JSC::JIT::emitSlow_op_to_primitive):
* jit/JITStubs.cpp:
- * jit/JITStubs.h:
- * parser/Nodes.cpp:
- (JSC::FunctionCallResolveNode::emitBytecode):
-
-2009-06-23 Geoffrey Garen <ggaren@apple.com>
+ (JSC::DEFINE_STUB_FUNCTION): Get the return address from the callframe,
+ since it's no longer passed to us as an argument.
- Reviewed by Sam Weinig.
-
- Bit off a tiny bit of standardizing opcode behavior to help with result
- caching.
-
- 0.6% SunSpider speedup. 0.3% v8 speedup.
-
- * jit/JITInlineMethods.h:
- (JSC::JIT::emitLoad): Accomodate a base register that overlaps with payload
- by loading tag before payload, to avoid stomping base/payload.
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_mov): Abide by the standard "tag in regT1, payload in
- regT0" semantics.
-
- (JSC::JIT::emit_op_get_global_var):
- (JSC::JIT::emit_op_put_global_var): Ditto. Also, removed some irrelevent
- loads while I was at it. The global object's "d" pointer never changes
- after construction.
-
-2009-06-23 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Sam Weinig.
+2010-05-25 Geoffrey Garen <ggaren@apple.com>
- Remove 'arguments' field from Register union (again).
- This time do so without breaking tests (radical, I know).
+ Fixed build failure caused by merge.
- * interpreter/CallFrame.h:
- (JSC::ExecState::optionalCalleeArguments):
- (JSC::ExecState::setArgumentCount):
- (JSC::ExecState::init):
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::dumpRegisters):
- (JSC::Interpreter::unwindCallFrame):
- (JSC::Interpreter::privateExecute):
- (JSC::Interpreter::retrieveArguments):
- * interpreter/Register.h:
- (JSC::Register::withInt):
- (JSC::Register::):
- (JSC::Register::Register):
- (JSC::Register::i):
* jit/JITStubs.cpp:
- (JSC::JITStubs::cti_op_tear_off_arguments):
- * runtime/Arguments.h:
- (JSC::JSActivation::copyRegisters):
- (JSC::Register::arguments):
- * runtime/JSActivation.cpp:
- (JSC::JSActivation::argumentsGetter):
- * runtime/JSActivation.h:
-
-2009-06-23 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Removed some result register tracking cruft in preparation for a new
- result tracking mechanism.
-
- SunSpider reports no change.
-
- * assembler/AbstractMacroAssembler.h:
- * assembler/X86Assembler.h:
- (JSC::X86Assembler::JmpDst::JmpDst): No need to track jump targets in
- machine code; we already do this in bytecode.
-
- * jit/JIT.cpp:
- (JSC::JIT::JIT):
- (JSC::JIT::emitTimeoutCheck): Make sure to save and restore the result
- registers, so an opcode with a timeout check can still benefit from result
- register caching.
-
- (JSC::JIT::privateCompileMainPass):
- (JSC::JIT::privateCompileSlowCases): Removed calls to killLastResultRegister()
- in preparation for something new.
-
- * jit/JIT.h:
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_jnless):
- (JSC::JIT::emit_op_jnlesseq):
- * jit/JITInlineMethods.h:
- (JSC::JIT::emitGetFromCallFrameHeaderPtr):
- (JSC::JIT::emitGetFromCallFrameHeader32):
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_jmp):
- (JSC::JIT::emit_op_jfalse):
- (JSC::JIT::emit_op_jtrue):
- (JSC::JIT::emit_op_jeq_null):
- (JSC::JIT::emit_op_jneq_null):
- (JSC::JIT::emit_op_jneq_ptr):
- (JSC::JIT::emit_op_jsr):
- (JSC::JIT::emit_op_sret):
- (JSC::JIT::emit_op_jmp_scopes): ditto
-
- * jit/JITStubCall.h:
- (JSC::JITStubCall::JITStubCall):
- (JSC::JITStubCall::getArgument): added a mechanism for reloading an argument
- you passed to a JIT stub, for use in emitTimeoutCheck.
-
-2009-06-23 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Remove now-useless inplace variants of binary ops.
-
- * jit/JIT.h:
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_bitand):
- (JSC::JIT::emit_op_bitor):
- (JSC::JIT::emit_op_bitxor):
- (JSC::JIT::emit_op_add):
- (JSC::JIT::emit_op_sub):
- (JSC::JIT::emit_op_mul):
-
-2009-06-23 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Move off memory operands to aid in re-enabling result caching.
-
- - No regression measured.
-
- * jit/JIT.h:
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_negate):
- (JSC::JIT::emit_op_jnless):
- (JSC::JIT::emit_op_jnlesseq):
- (JSC::JIT::emit_op_lshift):
- (JSC::JIT::emit_op_rshift):
- (JSC::JIT::emit_op_bitand):
- (JSC::JIT::emitBitAnd32Constant):
- (JSC::JIT::emitBitAnd32InPlace):
- (JSC::JIT::emit_op_bitor):
- (JSC::JIT::emitBitOr32Constant):
- (JSC::JIT::emitBitOr32InPlace):
- (JSC::JIT::emit_op_bitxor):
- (JSC::JIT::emitBitXor32Constant):
- (JSC::JIT::emitBitXor32InPlace):
- (JSC::JIT::emit_op_bitnot):
- (JSC::JIT::emit_op_post_inc):
- (JSC::JIT::emit_op_post_dec):
- (JSC::JIT::emit_op_pre_inc):
- (JSC::JIT::emitSlow_op_pre_inc):
- (JSC::JIT::emit_op_pre_dec):
- (JSC::JIT::emitSlow_op_pre_dec):
- (JSC::JIT::emit_op_add):
- (JSC::JIT::emitAdd32Constant):
- (JSC::JIT::emitAdd32InPlace):
- (JSC::JIT::emitSlow_op_add):
- (JSC::JIT::emitSlowAdd32Constant):
- (JSC::JIT::emit_op_sub):
- (JSC::JIT::emitSlow_op_sub):
- (JSC::JIT::emitSub32ConstantLeft):
- (JSC::JIT::emitSub32ConstantRight):
- (JSC::JIT::emitSub32InPlaceLeft):
- (JSC::JIT::emitSub32InPlaceRight):
- (JSC::JIT::emitBinaryDoubleOp):
- (JSC::JIT::emit_op_mul):
- (JSC::JIT::emitMul32InPlace):
- (JSC::JIT::emit_op_div):
- (JSC::JIT::emit_op_mod):
- * jit/JITCall.cpp:
- (JSC::JIT::compileOpCallVarargs):
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_loop_if_less):
- (JSC::JIT::emit_op_loop_if_lesseq):
- (JSC::JIT::emit_op_instanceof):
- (JSC::JIT::emit_op_to_primitive):
- (JSC::JIT::emit_op_not):
- (JSC::JIT::emit_op_jneq_ptr):
- (JSC::JIT::emit_op_eq):
- (JSC::JIT::emit_op_neq):
- (JSC::JIT::emit_op_to_jsnumber):
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::emit_op_get_by_val):
- (JSC::JIT::emit_op_put_by_val):
+ (JSC::DEFINE_STUB_FUNCTION): On error, return a single value, since this
+ function no longer returns a pair.
-2009-06-23 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fixed some missing and/or misplaced labels in bytecode generation, so
- we don't have to work around them in JIT code generation.
-
- * bytecompiler/BytecodeGenerator.cpp:
- (JSC::BytecodeGenerator::emitJumpSubroutine):
- * parser/Nodes.cpp:
- (JSC::TryNode::emitBytecode):
-
-2009-06-22 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- For member function calls, emit "this" directly into the "this" slot
- for the function call, instead of moving it there later. This reduces
- time spent in op_mov during certain calls, like "a.b.c()".
-
- 1%-2% speedup on v8, mostly richards and delta-blue.
-
- * parser/Nodes.cpp:
- (JSC::FunctionCallDotNode::emitBytecode):
-
-2009-06-22 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Sam Weinig.
-
- Remove 'arguments' field from Register union. Having JSCell derived types in the union is
- dangerous since it opens the possibility for the field to be written as a raw pointer but
- then read as a JSValue. This will lead to statle data being read for the tag, which may
- be dangerous. Having removed Arguments* types form Register, all arguments objects must
- always explicitly be stored in the register file as JSValues.
-
- * interpreter/CallFrame.h:
- (JSC::ExecState::optionalCalleeArguments):
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::unwindCallFrame):
- (JSC::Interpreter::privateExecute):
- (JSC::Interpreter::retrieveArguments):
- * interpreter/Register.h:
- (JSC::Register::):
- * jit/JITStubs.cpp:
- (JSC::JITStubs::cti_op_tear_off_arguments):
- * runtime/Arguments.h:
- (JSC::JSActivation::copyRegisters):
- * runtime/JSActivation.cpp:
- (JSC::JSActivation::argumentsGetter):
- * runtime/JSActivation.h:
-
-2009-06-03 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Add back known this value optimization by abstracting
- slow case if not JSCell jumps.
-
- * jit/JIT.h:
- * jit/JITCall.cpp:
- (JSC::JIT::compileOpCallVarargs):
- (JSC::JIT::compileOpCallVarargsSlowCase):
- (JSC::JIT::compileOpCall):
- (JSC::JIT::compileOpCallSlowCase):
- * jit/JITInlineMethods.h:
- (JSC::JIT::emitJumpSlowCaseIfNotJSCell):
- (JSC::JIT::linkSlowCaseIfNotJSCell):
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_instanceof):
- (JSC::JIT::emitSlow_op_instanceof):
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::emit_op_get_by_val):
- (JSC::JIT::emitSlow_op_get_by_val):
- (JSC::JIT::emit_op_put_by_val):
- (JSC::JIT::emitSlow_op_put_by_val):
- (JSC::JIT::emit_op_get_by_id):
- (JSC::JIT::emitSlow_op_get_by_id):
- (JSC::JIT::emit_op_put_by_id):
- (JSC::JIT::emitSlow_op_put_by_id):
-
-2009-06-01 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fixed some of the regression in crypto-aes.js. (8.5% speedup in
- crypto-aes.js.)
-
- SunSpider reports no change overall.
-
- Division was producing double results, which took the slow path through
- array access code.
-
- Strangely, all my attempts at versions of this patch that modified array
- access code to accept ints encoded as doubles along the fast or slow paths
- were regressions. So I did this instead.
-
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_div): When dividing an int by an int, go ahead and try
- to turn the result into an int. Don't just do int division, though, because
- testing shows it to be slower than SSE double division, and the corner
- cases are pretty complicated / lengthy on top of that. Also, don't try
- to canonicalize division of known tiny numerators into ints, since that's a
- waste of time.
-
-2009-05-26 Geoffrey Garen <ggaren@apple.com>
+2010-05-25 Geoffrey Garen <ggaren@apple.com>
Reviewed by Oliver Hunt.
-
- Fixed a regression caused by my recent fix for NaN.
-
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emitBinaryDoubleOp): Actually do the comparison in reverse
- order, like the ChangeLog said we would, bokay?
-
-2009-05-26 Geoffrey Garen <ggaren@apple.com>
- Reviewed by Sam Weinig and Oliver Hunt.
+ <rdar://problem/8020221>
- Fixed two edge cases in %:
-
- - Don't do -2147483648 % x as a fast case, since you might do -2147483648 % -1,
- which will signal a hardware exception due to overflow.
-
- - In the case of a zero remainder, be sure to store negative zero if the
- dividend was zero.
+ Fixed a crash seen on Windows when calling a function with too many
+ arguments.
SunSpider reports no change.
-
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_mod):
- (JSC::JIT::emitSlow_op_mod):
-
-2009-05-25 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Fixed a regression when comparing to NaN.
-
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emitBinaryDoubleOp): For op_jnless and op_jnless_eq, do the
- comparison in reverse order, and jump if the result is below or
- below-or-equal. This ensures that we do jump in the case of NaN.
-
-2009-05-25 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
- SunSpider says no change.
-
- Fixed regressions in fast/js/var-declarations-shadowing.html and
- fast/js/equality.html, caused by recent == and != optimizations.
+ No test because the ASSERT I added fires in existing tests.
* jit/JITStubs.cpp:
- (JSC::JITStubs::cti_op_eq): Don't treat "compare to string" as always
- numeric or string comparison. If the second operand is an object, you
- need to ToPrimitive it, and start all over again. Also, I wrote out each
- of the possible cases explicitly, to cut down on redundant branching.
-
-2009-05-25 Sam Weinig <sam@webkit.org>
-
- Reviewed by Mark Rowe.
-
- Fix bug in fast/js/constant-folding.html where we were not negating
- -0 properly.
-
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_negate):
-
-2009-05-23 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Refactored new slow case codegen for == and !=.
-
- SunSpider reports no change, maybe a tiny speedup.
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emitSlow_op_eq):
- (JSC::JIT::emitSlow_op_neq): Made a vptr comparison a *Ptr operation,
- instead of *32, to make it portable to 64bit. Reorganized the string
- and generic cases to make their control flow a little clearer.
-
-2009-05-23 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Optimized == and != for our new value representation -- especially for strings.
-
- 14% speedup on date-format-tofte.
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_eq):
- (JSC::JIT::emitSlow_op_eq):
- (JSC::JIT::emit_op_neq):
- (JSC::JIT::emitSlow_op_neq):
- * jit/JITStubCall.h:
- (JSC::JITStubCall::JITStubCall):
- * jit/JITStubs.cpp:
- (JSC::JITStubs::cti_op_eq):
- (JSC::JITStubs::cti_op_eq_strings):
- (JSC::JITStubs::cti_op_call_eval):
- * jit/JITStubs.h:
- (JSC::):
- * runtime/JSValue.h:
+ (JSC::DEFINE_STUB_FUNCTION): Make sure to grow the registerFile when too
+ many arguments have been provided, since the caller only allocated enough
+ registerFile space for the arguments it provided, not enough for the extra
+ copy of arguments we're going to need.
-2009-05-22 Sam Weinig <sam@webkit.org>
+2010-05-25 Kwang Yul Seo <skyul@company100.net>
- Reviewed by Gavin Barraclough.
-
- Fix non-SSE enabled builds.
-
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emitSlow_op_add): Don't early return here, we still need to call the JIT stub.
- (JSC::JIT::emitSlow_op_sub): Ditto.
-
-2009-05-22 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Here's a thought: let's not take a jit stub call just to multiply by 1,
- bokay?
-
- imul doesn't set the zero flag, so to test for a zero result, we need
- an explicit instruction. (Luckily, it does set the overflow flag, so
- we can still use that.)
-
- * jit/JIT.h:
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_mul):
- (JSC::JIT::emitSlow_op_mul):
- (JSC::JIT::emitMul32InPlace):
-
-2009-05-22 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey "Premature Commit" Garen.
-
- Add back constant integer cases for op_add.
-
- * jit/JIT.h:
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_add):
- (JSC::JIT::emitAdd32Constant):
- (JSC::JIT::emitSlow_op_add):
- (JSC::JIT::emitSlowAdd32Constant):
- * jit/JITInlineMethods.h:
- (JSC::JIT::getConstantOperandImmediateDouble):
- (JSC::JIT::isOperandConstantImmediateDouble):
-
-2009-05-22 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Added fast double cases for op_jnless and op_jnlesseq.
-
- * assembler/AbstractMacroAssembler.h:
- (JSC::AbstractMacroAssembler::JumpList::jumps): New accesor, used by
- addSlowCase.
-
- * assembler/X86Assembler.h:
- (JSC::X86Assembler::ucomisd_rm): New method for comparing register to
- memory.
-
- * jit/JIT.h:
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_jnless):
- (JSC::JIT::emitSlow_op_jnless):
- (JSC::JIT::emit_op_jnlesseq):
- (JSC::JIT::emitSlow_op_jnlesseq):
- (JSC::JIT::emit_op_add):
- (JSC::JIT::emit_op_sub):
- (JSC::JIT::emitBinaryDoubleOp):
- (JSC::JIT::emit_op_mul):
- (JSC::JIT::emit_op_div): Modified emitBinaryDoubleOp to accept comparison/jump
- operations in addition to operations with explicit result registers.
-
- * jit/JITInlineMethods.h:
- (JSC::JIT::addSlowCase): Added an "addSlowCase" for JumpLists, so clients
- can track multiple jumps to the same slow case condition together.
-
-2009-05-21 Sam Weinig <sam@webkit.org>
-
- Reviewed by Gavin Barraclough.
-
- Implement op_negate inline fast cases.
-
- * assembler/MacroAssemblerX86Common.h:
- (JSC::MacroAssemblerX86Common::neg32):
- * assembler/X86Assembler.h:
- (JSC::X86Assembler::):
- (JSC::X86Assembler::negl_m):
- (JSC::X86Assembler::xorpd_rr):
- * jit/JIT.cpp:
- (JSC::JIT::privateCompileMainPass):
- (JSC::JIT::privateCompileSlowCases):
- * jit/JIT.h:
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_negate):
- (JSC::JIT::emitSlow_op_negate):
-
-2009-05-20 Sam Weinig <sam@webkit.org>
-
- Reviewed by Gavin Barraclough.
-
- Update the patchOffsetGetByIdSlowCaseCall constant for the
- case that OPCODE_SAMPLING is enabled.
-
- * jit/JIT.h:
-
-2009-05-20 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Added support for inline subtraction of doubles.
-
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_sub):
- (JSC::JIT::emitSlow_op_sub):
- (JSC::JIT::emitSlowSub32InPlaceLeft):
- (JSC::JIT::emitBinaryDoubleOp):
-
-2009-05-20 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Added support for inline division.
-
- * assembler/X86Assembler.h:
- (JSC::X86Assembler::):
- (JSC::X86Assembler::divsd_rr):
- (JSC::X86Assembler::divsd_mr):
- * bytecode/CodeBlock.cpp:
- (JSC::CodeBlock::dump):
- * bytecode/Opcode.h:
- * bytecompiler/BytecodeGenerator.cpp:
- (JSC::BytecodeGenerator::emitBinaryOp):
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::privateExecute):
- * jit/JIT.cpp:
- (JSC::JIT::privateCompileMainPass):
- (JSC::JIT::privateCompileSlowCases):
- * jit/JIT.h:
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emitBinaryDoubleOp):
- (JSC::JIT::emit_op_div):
- (JSC::JIT::emitSlow_op_div):
-
-2009-05-20 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Added support for inline addition of doubles.
-
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_add):
- (JSC::JIT::emitSlow_op_add):
- (JSC::JIT::emitSlowAdd32InPlace):
- (JSC::JIT::emitBinaryDoubleOp):
- (JSC::JIT::emit_op_mul):
- (JSC::JIT::emitSlow_op_mul):
-
-2009-05-20 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Factored inline double operations into a helper function, so that we
- can reuse this code for other math operations.
-
- * jit/JIT.h:
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emitBinaryDoubleOp):
- (JSC::JIT::emit_op_mul):
- * jit/JITCall.cpp:
- (JSC::JIT::compileOpCallInitializeCallFrame):
-
-2009-05-20 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Added support for inline multiplication of doubles.
-
- * assembler/X86Assembler.h:
- (JSC::X86Assembler::cvtsi2sd_mr): New function, useful for loading an
- int32 into a double register.
-
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_mul):
- (JSC::JIT::emitSlow_op_mul): Filled out these cases for double arithmetic.
-
- * jit/JIT.h:
- * jit/JITInlineMethods.h:
- (JSC::JIT::addressFor): New function, useful for addressing a JSValue's
- full 64bits as a double.
-
-2009-05-19 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Implement and enable optimized calls.
-
- * jit/JIT.cpp:
- (JSC::JIT::privateCompileCTIMachineTrampolines): Add ENABLE(JIT_OPTIMIZE_CALL) guards
- around the the optimize call only trampolines (virtualCallPreLink and virtualCallLink).
- Update the trampolines to account for the new JSValue representation.
- (JSC::JIT::unlinkCall): Use NULL instead of JSValue noValue.
-
- * jit/JITCall.cpp:
- (JSC::JIT::compileOpCall): Update to account for the new JSValue representation
- (JSC::JIT::compileOpCallSlowCase): Ditto.
-
- * jit/JITStubs.h: Remove incorrect !ENABLE(JIT_OPTIMIZE_CALL) guard.
-
- * wtf/Platform.h: Enable ENABLE_JIT_OPTIMIZE_CALL.
-
-2009-05-19 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Implement and enable optimized property access.
-
- * assembler/AbstractMacroAssembler.h: Fix comment.
- * jit/JIT.cpp:
- (JSC::JIT::privateCompileCTIMachineTrampolines): Remove array length trampoline
- and implement the string length trampoline.
- * jit/JIT.h: Add new constants for patch offsets.
- * jit/JITInlineMethods.h: Remove FIELD_OFFSET which is now in StdLibExtras.h.
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::emit_op_get_by_id):
- (JSC::JIT::emitSlow_op_get_by_id):
- (JSC::JIT::emit_op_put_by_id):
- (JSC::JIT::emitSlow_op_put_by_id):
- (JSC::JIT::compilePutDirectOffset):
- (JSC::JIT::compileGetDirectOffset):
- (JSC::JIT::privateCompilePutByIdTransition):
- (JSC::JIT::patchGetByIdSelf):
- (JSC::JIT::patchPutByIdReplace):
- (JSC::JIT::privateCompilePatchGetArrayLength):
- (JSC::JIT::privateCompileGetByIdProto):
- (JSC::JIT::privateCompileGetByIdSelfList):
- (JSC::JIT::privateCompileGetByIdProtoList):
- (JSC::JIT::privateCompileGetByIdChainList):
- (JSC::JIT::privateCompileGetByIdChain):
- * jit/JITStubCall.h:
- (JSC::JITStubCall::addArgument): Add version of addArgument that takes
- two registers for the tag and payload.
- * jit/JITStubs.cpp:
- (JSC::JITStubs::JITStubs): Remove array length trampoline pointer.
- (JSC::JITStubs::cti_op_get_by_id_self_fail):
- * jit/JITStubs.h:
- * runtime/JSObject.h:
- (JSC::JSObject::JSObject): Move m_inheritorID below the property storage
- to align it to a 16 byte boundary.
- * wtf/Platform.h: Enable ENABLE_JIT_OPTIMIZE_PROPERTY_ACCESS
- * wtf/StdLibExtras.h: Move FIELD_OFFSET here.
-
-2009-05-17 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Remove unneeded ExecState parameter from the number JSValue constructors.
-
- * runtime/JSValue.h:
- (JSC::jsNumber):
- (JSC::jsNaN):
- (JSC::JSValue::JSValue):
-
-2009-05-15 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Implemented fast path for op_put_by_val when putting to arrays.
-
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::emit_op_put_by_val):
- (JSC::JIT::emitSlow_op_put_by_val):
-
-2009-05-15 Geoffrey Garen <ggaren@apple.com> (Mostly by Sam)
-
- Reviewed by Sam Weinig.
-
- Implemented fast path for op_get_by_val when accessing array.
-
- * jit/JIT.cpp:
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::emit_op_get_by_val):
- (JSC::JIT::emitSlow_op_get_by_val):
-
-2009-05-14 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fixed a failure in fast/js/math-transforms.html caused by failing to
- preserve -0 in multiplication.
-
- * assembler/X86Assembler.h:
- (JSC::X86Assembler::jz):
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_mul):
- (JSC::JIT::emitSlow_op_mul):
- (JSC::JIT::emitMul32Constant):
- (JSC::JIT::emitMul32InPlace): Check both for overflow and for zero when
- doing multiplication. Use a slow case to get these right.
-
-2009-05-14 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fixed a bug in the varargs calling convention.
-
- * jit/JITCall.cpp:
- (JSC::JIT::compileOpCallVarargs): Move the argument count into regT1,
- since that's where ctiVirtualCall expects it to be.
-
-2009-05-14 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fixed a small bug in instanceof's looping code.
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_instanceof): NULL means the object has no prototype,
- so only loop when *not* equal to NULL.
-
-2009-05-14 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fixed a small bug in instanceof's result writing code.
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_instanceof): Make sure to fill out the payload bits
- in all cases.
-
-2009-05-14 Sam Weinig <sam@webkit.org>
+ Reviewed by Darin Adler.
- Reviewed by Geoffrey Garen.
+ Build fix for JSFunction
+ https://bugs.webkit.org/show_bug.cgi?id=39658
- Removed an invalid assertion in cti_op_urshift which
- depended on a fast path for op_urshift which has
- never existed.
+ MSVC can't compile one of JSFunction constructors when JIT is disabled.
+ "PassRefPtr<NativeExecutable>" causes the compile error as NativeExecutable is not defined.
+ Add ENABLE(JIT) guard to the constructor.
- * jit/JITStubs.cpp:
- (JSC::JITStubs::cti_op_urshift):
+ * runtime/JSFunction.cpp:
+ (JSC::JSFunction::JSFunction):
+ * runtime/JSFunction.h:
-2009-05-14 Geoffrey Garen <ggaren@apple.com>
+2010-05-24 Gavin Barraclough <barraclough@apple.com>
Reviewed by Sam Weinig.
-
- Fixed loop_if_true, which had the same reversed test that jtrue had.
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_loop_if_true):
-
-2009-05-14 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- In op_neq, we apparently want to check that one value
- does *not* equal another. Go figure.
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_neq):
-
-2009-05-14 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- The slow case of op_mod should call op_mod's jit stub,
- not op_mul. That would be dumb.
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emitSlow_op_mod):
+ Bug 39643 - Clean up code generation in the JIT of stub function calls for op_call.
-2009-05-14 Geoffrey Garen <ggaren@apple.com>
+ Presently, as soon as op-call strays off the hot path we set up a set of values on
+ the stack to be passed as arguments to cti functions, in case any should be called.
- Reviewed by Sam Weinig.
-
- Fixed problems when using 'arguments' due to a half-initialized register.
+ Instead, hoist the setup of the callframe to happen slightly sooner, and make the
+ cti functions to compile & check arity read these values from the callframe. This
+ allows up to remove the deprecated methods to manually set up cti arguments, rather
+ than using JITStubCall.h.
* interpreter/CallFrame.h:
- (JSC::ExecState::setCalleeArguments):
- (JSC::ExecState::init): Require a full JSValue when setting up the
- 'arguments' virtual register, since this register is accessible from JIT
- code and bytecode, and needs to be a true JSValue.
-
- * interpreter/CallFrameClosure.h:
- (JSC::CallFrameClosure::resetCallFrame): ditto
-
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::privateExecute): ditto
-
- * interpreter/Register.h: Removed the constructor that allowed assignment
- of a JSArguments* to a register. That is not safe. See above.
-
- * jit/JITStubs.cpp:
- (JSC::JITStubs::cti_op_create_arguments):
- (JSC::JITStubs::cti_op_create_arguments_no_params): ditto
-
-2009-05-14 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- We really want to go to the slow case in op_jfalse and
- op_jtrue if the value is *not* boolean.
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_jfalse):
- (JSC::JIT::emit_op_jtrue):
-
-2009-05-14 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Flipped the condition when emitting a an op_loop_if_less or op_loop_if_lesseq
- if the first operand is a constant.
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_loop_if_less):
- (JSC::JIT::emit_op_loop_if_lesseq):
-
-2009-05-14 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Added missing return in op_jnless and op_jnlesseq.
-
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_jnless):
- (JSC::JIT::emit_op_jnlesseq):
-
-2009-05-14 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Load constants into the the register file as a temporary measure to
- aid bring up. This allows us to use to treat constants like any
- other virtual register.
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_enter):
- (JSC::JIT::emit_op_enter_with_activation):
-
-2009-05-14 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Implemented op_strict_eq. Original patch by Snowy, by way of Sam and Gavin.
-
- * assembler/MacroAssemblerX86Common.h:
- (JSC::MacroAssemblerX86Common::set8): Added set8, since it's slightly
- faster than set32, and the new value representation usually doesn't
- need set32.
-
- * jit/JIT.cpp:
* jit/JIT.h:
- * jit/JITInlineMethods.h:
- (JSC::JIT::emitLoadTag):
- (JSC::JIT::emitLoadPayload): Added helper functions for dealing with
- constants. Eventually, we should write special cases for all constants,
- but these are helpful in the short term.
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::compileOpStrictEq):
- (JSC::JIT::emitSlow_op_stricteq):
- (JSC::JIT::emitSlow_op_nstricteq): teh opcodez.
-
- * runtime/JSValue.h:
- (JSC::JSValue::):
- (JSC::JSValue::isDouble): Added a LowestTag for clarity.
-
-2009-05-13 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fixed some bugs in host function calls.
-
- testapi now passes!
-
- * jit/JIT.cpp: Changed some registers around to avoid overwriting edx:eax,
- which is how JSValues are now returned. Also changed the code that
- passes thisValue to pass the full 64bits of the value. Also added
- an #error compiler directive to other platform builds, since the JSValue
- return signature probably won't return in edx:eax on those platforms,
- and we'll have to investigate a solution.
-
-2009-05-13 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Removed parameters from functions that are intended never to use their
- parameters.
-
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::emitSlow_op_get_by_val):
- (JSC::JIT::emitSlow_op_put_by_val):
-
-2009-05-13 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Ported op_instance_of from TOT. It's basically the same, but some register
- stuff changed to memory stuff.
-
- * jit/JITInlineMethods.h:
- (JSC::JIT::emitPutJITStubArgFromVirtualRegister):
- (JSC::JIT::emitStore): Changed to use helper functions.
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_instanceof):
- (JSC::JIT::emitSlow_op_instanceof): Ported from TOT.
-
-2009-05-13 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Added a comment to explain an exception-handling subtelty that we found
- hard to remember when reviewing my last patch.
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_catch):
-
-2009-05-13 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Implemented try/catch.
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_throw): Updated to use JITStackFrame abstraction.
- (JSC::JIT::emit_op_catch): Filled out.
-
-2009-05-13 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Implemented op_loop_if_true, op_jfalse, op_jtrue, op_jeq_null and op_jneq_null
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emitSlow_op_instanceof): Moved from below to be next to its
- fast brother.
-
- (JSC::JIT::emit_op_loop_if_true): Similar to the old version
- in that it tries to do the integer case first and reduce the
- number of jumps you might need to take.
- (JSC::JIT::emitSlow_op_loop_if_true):
-
- (JSC::JIT::emit_op_jfalse): Very similar to op_loop_if_true, only
- the inverse and without a timeout check.
- (JSC::JIT::emitSlow_op_jfalse):
-
- (JSC::JIT::emit_op_jtrue): Very similar to op_loop_if_true except
- without the timeout check.
- (JSC::JIT::emitSlow_op_jtrue):
-
- (JSC::JIT::emit_op_jeq_null): Very similar to the implementation
- of op_eq, except it takes jumps instead of copying the condition
- to a dst.
- (JSC::JIT::emit_op_jneq_null): Ditto but for op_neq.
-
-2009-05-13 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Implemented op_call_varargs.
-
* jit/JITCall.cpp:
- (JSC::JIT::compileOpCallVarargsSetupArgs):
+ (JSC::JIT::compileOpCallInitializeCallFrame):
(JSC::JIT::compileOpCallVarargs):
- (JSC::JIT::emit_op_call):
- (JSC::JIT::emit_op_call_eval):
- (JSC::JIT::emit_op_load_varargs):
- (JSC::JIT::emit_op_call_varargs):
- (JSC::JIT::emit_op_construct):
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_jneq_ptr):
-
-2009-05-13 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Implemented op_call_eval.
-
- * jit/JITCall.cpp:
- (JSC::JIT::compileOpCallVarargsSetupArgs):
+ (JSC::JIT::compileOpCallVarargsSlowCase):
(JSC::JIT::compileOpCall):
- * jit/JITStubCall.h:
- (JSC::CallEvalJITStub::CallEvalJITStub):
-
-2009-05-13 Sam Weinig <sam@webkit.org>
-
- Reviewed by Gavin Barraclough.
-
- Implemented op_not. (Gavin did most of the work!)
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_not):
- (JSC::JIT::emitSlow_op_not):
-
-2009-05-13 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Implemented op_global_resolve.
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_loop_if_less):
- (JSC::JIT::emit_op_loop_if_lesseq): Added back accidentally removed
- early returns.
-
- (JSC::JIT::emit_op_resolve_global):
- * jit/JITStubs.cpp:
- (JSC::JITStubs::cti_op_resolve_global): Pretty similar to the old code,
- but we need two reads and a TimesEight step in order to account for the
- 64bit value size.
-
- * jit/JITStubs.h:
- (JSC::): Slightly tweaked this code to specialize for a JSGlobalObject*,
- to avoid having to pass an irrelevant tag pointer to the stub.
-
-2009-05-13 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Implemented op_to_jsnumber.
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_to_jsnumber):
- (JSC::JIT::emitSlow_op_to_jsnumber):
-
-2009-05-13 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Implemented op_convert_this.
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_convert_this):
- (JSC::JIT::emitSlow_op_convert_this):
-
-2009-05-13 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Got basic JS function and constructor calls working.
-
- * jit/JIT.cpp:
- (JSC::JIT::privateCompileCTIMachineTrampolines):
- * jit/JIT.h:
- * jit/JITCall.cpp:
- (JSC::JIT::compileOpCallSetupArgs):
- (JSC::JIT::compileOpCallVarargsSetupArgs):
- (JSC::JIT::compileOpConstructSetupArgs):
- (JSC::JIT::emit_op_ret):
- (JSC::JIT::emit_op_construct_verify):
- (JSC::JIT::emitSlow_op_construct_verify):
- (JSC::JIT::emitSlow_op_call):
- (JSC::JIT::emitSlow_op_call_eval):
- (JSC::JIT::emitSlow_op_call_varargs):
- (JSC::JIT::emitSlow_op_construct):
- (JSC::JIT::compileOpCall): Filled out these cases, with call_eval #if'd out.
-
- * jit/JITInlineMethods.h:
- (JSC::JIT::emitPutJITStubArgFromVirtualRegister):
- (JSC::JIT::emitLoad): Restored some legacy "*CTIArg*" functions,
- since I wanted to avoid the complexity of revamping the API here while
- trying to bring it up. Eventually, we should re-remove all of these functions.
-
- (JSC::JIT::recordJumpTarget): Removed unnecessary macro cruft. You will
- not silence me, Sam Weinig! The world will know that you are a crufty,
- crufty, crufty programmer!!!
-
- * jit/JITOpcodes.cpp:
- * jit/JITStubs.cpp:
- (JSC::):
- * jit/JITStubs.h: Changed up some offsets in the JITStackFrame class, since
- and off-by-one error was causing stack misalignment.
-
-2009-05-13 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Implement op_eq_null and op_neq_null.
-
- * assembler/MacroAssemblerX86Common.h:
- (JSC::MacroAssemblerX86Common::set8):
- (JSC::MacroAssemblerX86Common::setTest8):
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_stricteq):
- (JSC::JIT::emitSlow_op_stricteq):
- (JSC::JIT::emit_op_nstricteq):
- (JSC::JIT::emitSlow_op_nstricteq):
- (JSC::JIT::emit_op_eq_null):
- (JSC::JIT::emit_op_neq_null):
- * jsc.cpp:
-
-2009-05-12 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Implement op_new_error.
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_new_error):
- * jit/JITStubCall.h:
- (JSC::JITStubCall::addArgument): Add a version of addArgument
- that takes a constant JSValue.
-
-2009-05-12 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Remove now unused emitGetVariableObjectRegister and emitPutVariableObjectRegister.
-
- * jit/JIT.cpp:
- * jit/JIT.h:
-
-2009-05-12 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Implement op_to_primitive and op_next_pname.
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emitSlow_op_construct_verify):
- (JSC::JIT::emit_op_to_primitive):
- (JSC::JIT::emitSlow_op_to_primitive):
- (JSC::JIT::emitSlow_op_loop_if_true):
- (JSC::JIT::emit_op_jtrue):
- (JSC::JIT::emit_op_next_pname):
-
-2009-05-12 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Add op_get_global_var, op_put_global_var, emit_op_get_scoped_var, emit_op_put_scoped_var and
- op_unexpected_load.
-
- * jit/JIT.h:
- * jit/JITInlineMethods.h:
- (JSC::JIT::tagFor):
- (JSC::JIT::payloadFor):
- (JSC::JIT::emitLoad):
- (JSC::JIT::emitStore):
- (JSC::JIT::emitLoadReturnValue):
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_get_global_var):
- (JSC::JIT::emit_op_put_global_var):
- (JSC::JIT::emit_op_get_scoped_var):
- (JSC::JIT::emit_op_put_scoped_var):
- (JSC::JIT::emit_op_unexpected_load):
-
-2009-05-12 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Added overflow handling to op_sub.
-
- * jit/JIT.h:
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emitSlow_op_sub):
- (JSC::JIT::emitSlowSub32InPlaceLeft):
-
-2009-05-12 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Remove a function call by folding op_get_by_id and op_put_by_id into
- their respective compile functions.
-
- * jit/JIT.h:
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::emit_op_get_by_id):
- (JSC::JIT::emitSlow_op_get_by_id):
- (JSC::JIT::emit_op_put_by_id):
- (JSC::JIT::emitSlow_op_put_by_id):
-
-2009-05-12 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Make JITStubCall work in 64bit by making the stack index
- step dependent on the size of void*.
-
- * jit/JITStubCall.h:
- (JSC::JITStubCall::JITStubCall):
- (JSC::JITStubCall::addArgument):
-
-2009-05-12 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Implement simple version of property access opcodes
- which just call a stub functions.
-
- * jit/JITOpcodes.cpp:
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::emitSlow_op_put_by_id):
- (JSC::JIT::emitSlow_op_get_by_id):
- (JSC::JIT::emit_op_get_by_val):
- (JSC::JIT::emitSlow_op_get_by_val):
- (JSC::JIT::emit_op_put_by_val):
- (JSC::JIT::emitSlow_op_put_by_val):
- (JSC::JIT::emit_op_put_by_index):
- (JSC::JIT::emit_op_put_getter):
- (JSC::JIT::emit_op_put_setter):
- (JSC::JIT::emit_op_del_by_id):
- (JSC::JIT::compileGetByIdHotPath):
- (JSC::JIT::compilePutByIdHotPath):
- * jit/JITStubCall.h:
- (JSC::JITStubCall::addArgument):
- * jsc.cpp:
-
-2009-05-12 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Added work-around for XCode debugging echo problem.
-
- * jsc.cpp:
- (runInteractive):
-
-2009-05-12 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Added overflow handling to op_add.
-
- * jit/JIT.h:
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emitSlow_op_add):
- (JSC::JIT::emitSlowAdd32InPlace):
-
-2009-05-12 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Add slow cases for op_jnless or emit_op_jnlesseq.
-
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emitSlow_op_jnless):
- (JSC::JIT::emitSlow_op_jnlesseq):
-
-2009-05-12 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Add implementations for op_jnless, emit_op_jnlesseq, op_loop_if_less and op_loop_if_lesseq.
- No slow cases for op_jnless or emit_op_jnlesseq yet.
-
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_jnless):
- (JSC::JIT::emitSlow_op_jnless):
- (JSC::JIT::emit_op_jnlesseq):
- (JSC::JIT::emitSlow_op_jnlesseq):
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_loop_if_less):
- (JSC::JIT::emitSlow_op_loop_if_less):
- (JSC::JIT::emit_op_loop_if_lesseq):
- (JSC::JIT::emitSlow_op_loop_if_lesseq):
-
-2009-05-12 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Turn the RECORD_JUMP_TARGET macro into an inline function.
-
- * jit/JIT.h:
- * jit/JITInlineMethods.h:
- (JSC::JIT::recordJumpTarget):
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_jmp):
- (JSC::JIT::emit_op_jsr):
- (JSC::JIT::emit_op_jmp_scopes):
-
-2009-05-12 Sam Weinig <sam@webkit.org>
-
- Add MacroAssemblerX86Common::set8 to fix the build.
-
- * assembler/MacroAssemblerX86Common.h:
- (JSC::MacroAssemblerX86Common::set8):
-
-2009-05-12 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Added overflow recovery for pre_inc and pre_dec.
-
- Turned some short-circuit code into early returns, as is the WebKit style.
-
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_post_inc):
- (JSC::JIT::emitSlow_op_post_inc):
- (JSC::JIT::emit_op_post_dec):
- (JSC::JIT::emitSlow_op_post_dec):
- (JSC::JIT::emitSlow_op_pre_inc):
- (JSC::JIT::emitSlow_op_pre_dec):
-
-2009-05-12 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Implement op_jmp, op_loop, op_eq and op_neq.
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_jmp):
- (JSC::JIT::emit_op_loop):
- (JSC::JIT::emit_op_eq):
- (JSC::JIT::emitSlow_op_eq):
- (JSC::JIT::emit_op_neq):
- (JSC::JIT::emitSlow_op_neq):
- (JSC::JIT::emit_op_enter):
- (JSC::JIT::emit_op_enter_with_activation):
-
-2009-05-12 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Implement the slow cases for arithmetic opcodes.
-
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emitSlow_op_lshift):
- (JSC::JIT::emitSlow_op_rshift):
- (JSC::JIT::emitSlow_op_bitand):
- (JSC::JIT::emitSlow_op_bitor):
- (JSC::JIT::emitSlow_op_bitxor):
- (JSC::JIT::emitSlow_op_bitnot):
- (JSC::JIT::emitSlow_op_sub):
- (JSC::JIT::emitSlow_op_mul):
- (JSC::JIT::emitSlow_op_mod):
- (JSC::JIT::emit_op_mod):
-
-2009-05-12 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Implement op_bitnot.
-
- * assembler/MacroAssemblerX86Common.h:
- (JSC::MacroAssemblerX86Common::not32):
- * assembler/X86Assembler.h:
- (JSC::X86Assembler::notl_m):
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_bitnot):
-
-2009-05-12 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Add arithmetic opcode implementations from the old nitro-extreme branch.
-
- * jit/JIT.h:
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_jnless):
- (JSC::JIT::emitSlow_op_jnless):
- (JSC::JIT::emit_op_jnlesseq):
- (JSC::JIT::emitSlow_op_jnlesseq):
- (JSC::JIT::emit_op_lshift):
- (JSC::JIT::emitSlow_op_lshift):
- (JSC::JIT::emit_op_rshift):
- (JSC::JIT::emitSlow_op_rshift):
- (JSC::JIT::emit_op_bitand):
- (JSC::JIT::emitBitAnd32Constant):
- (JSC::JIT::emitBitAnd32InPlace):
- (JSC::JIT::emit_op_bitor):
- (JSC::JIT::emitSlow_op_bitor):
- (JSC::JIT::emitBitOr32Constant):
- (JSC::JIT::emitBitOr32InPlace):
- (JSC::JIT::emit_op_bitxor):
- (JSC::JIT::emitSlow_op_bitxor):
- (JSC::JIT::emitBitXor32Constant):
- (JSC::JIT::emitBitXor32InPlace):
- (JSC::JIT::emit_op_bitnot):
- (JSC::JIT::emitSlow_op_bitnot):
- (JSC::JIT::emit_op_post_inc):
- (JSC::JIT::emitSlow_op_post_inc):
- (JSC::JIT::emit_op_post_dec):
- (JSC::JIT::emitSlow_op_post_dec):
- (JSC::JIT::emit_op_pre_inc):
- (JSC::JIT::emitSlow_op_pre_inc):
- (JSC::JIT::emit_op_pre_dec):
- (JSC::JIT::emitSlow_op_pre_dec):
- (JSC::JIT::emit_op_add):
- (JSC::JIT::emitAdd32Constant):
- (JSC::JIT::emitAdd32InPlace):
- (JSC::JIT::emitSlow_op_add):
- (JSC::JIT::emit_op_sub):
- (JSC::JIT::emitSlow_op_sub):
- (JSC::JIT::emitSub32ConstantLeft):
- (JSC::JIT::emitSub32ConstantRight):
- (JSC::JIT::emitSub32InPlaceLeft):
- (JSC::JIT::emitSub32InPlaceRight):
- (JSC::JIT::emit_op_mul):
- (JSC::JIT::emitSlow_op_mul):
- (JSC::JIT::emitMul32Constant):
- (JSC::JIT::emitMul32InPlace):
- (JSC::JIT::emit_op_mod):
- (JSC::JIT::emitSlow_op_mod):
- * jit/JITOpcodes.cpp:
-
-2009-05-12 Geoffrey Garen <ggaren@apple.com>
-
- Removed JIT_OPTIMIZE_ARITHMETIC setting, since it was all about 32bit
- value representations.
-
- Added JSAPIValueWrapper to the repository.
-
- * jit/JIT.h:
- * jit/JITArithmetic.cpp:
- * runtime/JSAPIValueWrapper.cpp: Added.
- (JSC::JSAPIValueWrapper::toPrimitive):
- (JSC::JSAPIValueWrapper::getPrimitiveNumber):
- (JSC::JSAPIValueWrapper::toBoolean):
- (JSC::JSAPIValueWrapper::toNumber):
- (JSC::JSAPIValueWrapper::toString):
- (JSC::JSAPIValueWrapper::toObject):
- * runtime/JSAPIValueWrapper.h: Added.
- (JSC::JSAPIValueWrapper::value):
- (JSC::JSAPIValueWrapper::isAPIValueWrapper):
- (JSC::JSAPIValueWrapper::JSAPIValueWrapper):
- (JSC::jsAPIValueWrapper):
- * wtf/Platform.h:
-
-2009-05-12 Geoffrey Garen <ggaren@apple.com>
-
- Turned on the JIT and got it building and running the most trivial of
- programs.
-
- All configurable optimizations are turned off, and a few opcodes are ad
- hoc #if'd out.
-
- So far, I've only merged op_mov and op_end, but some stub-reliant
- opcodes work as-is from TOT.
-
- * bytecode/CodeBlock.cpp:
- (JSC::CodeBlock::~CodeBlock):
- * bytecode/CodeBlock.h:
- * jit/JIT.cpp:
- (JSC::JIT::compileOpStrictEq):
- * jit/JIT.h:
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_lshift):
- (JSC::JIT::emitSlow_op_lshift):
- (JSC::JIT::emit_op_rshift):
- (JSC::JIT::emitSlow_op_rshift):
- (JSC::JIT::emit_op_jnless):
- (JSC::JIT::emitSlow_op_jnless):
- (JSC::JIT::emit_op_jnlesseq):
- (JSC::JIT::emitSlow_op_jnlesseq):
- (JSC::JIT::emit_op_bitand):
- (JSC::JIT::emitSlow_op_bitand):
- (JSC::JIT::emit_op_post_inc):
- (JSC::JIT::emitSlow_op_post_inc):
- (JSC::JIT::emit_op_post_dec):
- (JSC::JIT::emitSlow_op_post_dec):
- (JSC::JIT::emit_op_pre_inc):
- (JSC::JIT::emitSlow_op_pre_inc):
- (JSC::JIT::emit_op_pre_dec):
- (JSC::JIT::emitSlow_op_pre_dec):
- (JSC::JIT::emit_op_mod):
- (JSC::JIT::emitSlow_op_mod):
- (JSC::JIT::emit_op_add):
- (JSC::JIT::emit_op_mul):
- (JSC::JIT::emit_op_sub):
- (JSC::JIT::compileBinaryArithOpSlowCase):
- (JSC::JIT::emitSlow_op_add):
- (JSC::JIT::emitSlow_op_mul):
- * jit/JITCall.cpp:
+ (JSC::JIT::compileOpCallSlowCase):
+ * jit/JITCall32_64.cpp:
(JSC::JIT::compileOpCallInitializeCallFrame):
- (JSC::JIT::compileOpConstructSetupArgs):
(JSC::JIT::compileOpCallVarargs):
+ (JSC::JIT::compileOpCallVarargsSlowCase):
(JSC::JIT::compileOpCall):
(JSC::JIT::compileOpCallSlowCase):
* jit/JITInlineMethods.h:
- (JSC::JIT::getConstantOperandImmediateInt):
- (JSC::JIT::isOperandConstantImmediateInt):
- (JSC::JIT::emitInitRegister):
- (JSC::JIT::addSlowCase):
- (JSC::JIT::addJump):
- (JSC::JIT::emitJumpSlowToHot):
- (JSC::JIT::tagFor):
- (JSC::JIT::payloadFor):
- (JSC::JIT::emitLoad):
- (JSC::JIT::emitLoadReturnValue):
- (JSC::JIT::emitStore):
- (JSC::JIT::emitStoreReturnValue):
* jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_mov):
- (JSC::JIT::emit_op_end):
- (JSC::JIT::emit_op_jmp):
- (JSC::JIT::emit_op_loop):
- (JSC::JIT::emit_op_loop_if_less):
- (JSC::JIT::emit_op_loop_if_lesseq):
- (JSC::JIT::emit_op_instanceof):
- (JSC::JIT::emit_op_get_global_var):
- (JSC::JIT::emit_op_put_global_var):
- (JSC::JIT::emit_op_get_scoped_var):
- (JSC::JIT::emit_op_put_scoped_var):
- (JSC::JIT::emit_op_tear_off_activation):
- (JSC::JIT::emit_op_ret):
- (JSC::JIT::emit_op_construct_verify):
- (JSC::JIT::emit_op_to_primitive):
- (JSC::JIT::emit_op_loop_if_true):
- (JSC::JIT::emit_op_resolve_global):
- (JSC::JIT::emit_op_not):
- (JSC::JIT::emit_op_jfalse):
- (JSC::JIT::emit_op_jeq_null):
- (JSC::JIT::emit_op_jneq_null):
- (JSC::JIT::emit_op_jneq_ptr):
- (JSC::JIT::emit_op_unexpected_load):
- (JSC::JIT::emit_op_eq):
- (JSC::JIT::emit_op_bitnot):
- (JSC::JIT::emit_op_jtrue):
- (JSC::JIT::emit_op_neq):
- (JSC::JIT::emit_op_bitxor):
- (JSC::JIT::emit_op_bitor):
- (JSC::JIT::emit_op_throw):
- (JSC::JIT::emit_op_next_pname):
- (JSC::JIT::emit_op_push_scope):
- (JSC::JIT::emit_op_to_jsnumber):
- (JSC::JIT::emit_op_push_new_scope):
- (JSC::JIT::emit_op_catch):
- (JSC::JIT::emit_op_switch_imm):
- (JSC::JIT::emit_op_switch_char):
- (JSC::JIT::emit_op_switch_string):
- (JSC::JIT::emit_op_new_error):
- (JSC::JIT::emit_op_eq_null):
- (JSC::JIT::emit_op_neq_null):
- (JSC::JIT::emit_op_convert_this):
- (JSC::JIT::emit_op_profile_will_call):
- (JSC::JIT::emit_op_profile_did_call):
- (JSC::JIT::emitSlow_op_construct_verify):
- (JSC::JIT::emitSlow_op_get_by_val):
- (JSC::JIT::emitSlow_op_loop_if_less):
- (JSC::JIT::emitSlow_op_loop_if_lesseq):
- (JSC::JIT::emitSlow_op_put_by_val):
- (JSC::JIT::emitSlow_op_not):
- (JSC::JIT::emitSlow_op_instanceof):
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::emit_op_get_by_val):
- (JSC::JIT::emit_op_put_by_val):
- (JSC::JIT::emit_op_put_by_index):
- (JSC::JIT::emit_op_put_getter):
- (JSC::JIT::emit_op_put_setter):
- (JSC::JIT::emit_op_del_by_id):
- (JSC::JIT::compileGetByIdHotPath):
- (JSC::JIT::compilePutByIdHotPath):
- * jit/JITStubCall.h:
- (JSC::JITStubCall::JITStubCall):
- (JSC::JITStubCall::addArgument):
- (JSC::JITStubCall::call):
- (JSC::JITStubCall::):
- (JSC::CallEvalJITStub::CallEvalJITStub):
+ (JSC::JIT::privateCompileCTIMachineTrampolines):
+ * jit/JITOpcodes32_64.cpp:
+ (JSC::JIT::privateCompileCTIMachineTrampolines):
* jit/JITStubs.cpp:
- (JSC::):
- (JSC::JITStubs::cti_op_add):
- (JSC::JITStubs::cti_op_pre_inc):
- (JSC::JITStubs::cti_op_mul):
- (JSC::JITStubs::cti_op_get_by_val):
- (JSC::JITStubs::cti_op_get_by_val_string):
- (JSC::JITStubs::cti_op_get_by_val_byte_array):
- (JSC::JITStubs::cti_op_sub):
- (JSC::JITStubs::cti_op_put_by_val):
- (JSC::JITStubs::cti_op_put_by_val_array):
- (JSC::JITStubs::cti_op_put_by_val_byte_array):
- (JSC::JITStubs::cti_op_negate):
- (JSC::JITStubs::cti_op_div):
- (JSC::JITStubs::cti_op_pre_dec):
- (JSC::JITStubs::cti_op_post_inc):
- (JSC::JITStubs::cti_op_eq):
- (JSC::JITStubs::cti_op_lshift):
- (JSC::JITStubs::cti_op_bitand):
- (JSC::JITStubs::cti_op_rshift):
- (JSC::JITStubs::cti_op_bitnot):
- (JSC::JITStubs::cti_op_mod):
- (JSC::JITStubs::cti_op_neq):
- (JSC::JITStubs::cti_op_post_dec):
- (JSC::JITStubs::cti_op_urshift):
- (JSC::JITStubs::cti_op_bitxor):
- (JSC::JITStubs::cti_op_bitor):
- (JSC::JITStubs::cti_op_switch_imm):
+ (JSC::DEFINE_STUB_FUNCTION):
* jit/JITStubs.h:
- * runtime/JSArray.cpp:
- (JSC::JSArray::JSArray):
- * runtime/JSFunction.cpp:
- (JSC::JSFunction::~JSFunction):
- * runtime/JSValue.h:
- (JSC::JSValue::payload):
- * wtf/Platform.h:
-
-2009-05-07 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Add some new MacroAssembler and assembler functions that will be needed shortly.
-
- * assembler/MacroAssemblerX86Common.h:
- (JSC::MacroAssemblerX86Common::add32):
- (JSC::MacroAssemblerX86Common::and32):
- (JSC::MacroAssemblerX86Common::mul32):
- (JSC::MacroAssemblerX86Common::neg32):
- (JSC::MacroAssemblerX86Common::or32):
- (JSC::MacroAssemblerX86Common::sub32):
- (JSC::MacroAssemblerX86Common::xor32):
- (JSC::MacroAssemblerX86Common::branchAdd32):
- (JSC::MacroAssemblerX86Common::branchMul32):
- (JSC::MacroAssemblerX86Common::branchSub32):
- * assembler/X86Assembler.h:
- (JSC::X86Assembler::):
- (JSC::X86Assembler::addl_rm):
- (JSC::X86Assembler::andl_mr):
- (JSC::X86Assembler::andl_rm):
- (JSC::X86Assembler::andl_im):
- (JSC::X86Assembler::negl_r):
- (JSC::X86Assembler::notl_r):
- (JSC::X86Assembler::orl_rm):
- (JSC::X86Assembler::orl_im):
- (JSC::X86Assembler::subl_rm):
- (JSC::X86Assembler::xorl_mr):
- (JSC::X86Assembler::xorl_rm):
- (JSC::X86Assembler::xorl_im):
- (JSC::X86Assembler::imull_mr):
-
-2009-05-11 Sam Weinig <sam@webkit.org>
-
- Reviewed by Cameron Zwarich.
-
- Remove the NumberHeap.
-
- * JavaScriptCore.exp:
- * runtime/Collector.cpp:
- (JSC::Heap::Heap):
- (JSC::Heap::destroy):
- (JSC::Heap::recordExtraCost):
- (JSC::Heap::heapAllocate):
- (JSC::Heap::markConservatively):
- (JSC::Heap::sweep):
- (JSC::Heap::collect):
- (JSC::Heap::objectCount):
- (JSC::Heap::statistics):
- (JSC::typeName):
- (JSC::Heap::isBusy):
- * runtime/Collector.h:
- (JSC::Heap::globalData):
- * runtime/JSCell.h:
-
-2009-05-11 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Land initial commit of new number representation for 32 bit platforms,
- with JIT disabled.
-
- * API/APICast.h:
- (toJS):
- (toRef):
- * API/JSCallbackObjectFunctions.h:
- (JSC::::hasInstance):
- (JSC::::toNumber):
- (JSC::::toString):
- * API/tests/testapi.c:
- (EvilExceptionObject_convertToType):
- * AllInOneFile.cpp:
- * JavaScriptCore.exp:
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * bytecode/CodeBlock.cpp:
- (JSC::valueToSourceString):
- * bytecompiler/BytecodeGenerator.cpp:
- (JSC::BytecodeGenerator::emitLoad):
- (JSC::BytecodeGenerator::emitUnexpectedLoad):
- (JSC::keyForImmediateSwitch):
- * bytecompiler/BytecodeGenerator.h:
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::dumpRegisters):
- (JSC::Interpreter::privateExecute):
- * parser/Nodes.cpp:
- (JSC::ArrayNode::emitBytecode):
- (JSC::processClauseList):
- * runtime/ArgList.h:
- * runtime/Collector.h:
- (JSC::sizeof):
- * runtime/DateMath.cpp:
- * runtime/ExceptionHelpers.h:
- * runtime/InitializeThreading.cpp:
- * runtime/JSArray.cpp:
- (JSC::JSArray::JSArray):
- * runtime/JSCell.cpp:
- * runtime/JSCell.h:
- (JSC::JSCell::isAPIValueWrapper):
- (JSC::JSValue::isString):
- (JSC::JSValue::isGetterSetter):
- (JSC::JSValue::isObject):
- (JSC::JSValue::getString):
- (JSC::JSValue::getObject):
- (JSC::JSValue::getCallData):
- (JSC::JSValue::getConstructData):
- (JSC::JSValue::getUInt32):
- (JSC::JSValue::marked):
- (JSC::JSValue::toPrimitive):
- (JSC::JSValue::getPrimitiveNumber):
- (JSC::JSValue::toBoolean):
- (JSC::JSValue::toNumber):
- (JSC::JSValue::toString):
- (JSC::JSValue::needsThisConversion):
- (JSC::JSValue::toThisString):
- (JSC::JSValue::getJSNumber):
- (JSC::JSValue::toObject):
- (JSC::JSValue::toThisObject):
- * runtime/JSGlobalData.cpp:
- (JSC::JSGlobalData::JSGlobalData):
- * runtime/JSGlobalData.h:
- * runtime/JSGlobalObject.h:
- (JSC::Structure::prototypeForLookup):
- * runtime/JSGlobalObjectFunctions.cpp:
- (JSC::globalFuncParseInt):
- * runtime/JSImmediate.h:
- * runtime/JSNumberCell.cpp: Removed.
- * runtime/JSNumberCell.h: Removed.
- * runtime/JSObject.h:
- (JSC::JSValue::get):
- (JSC::JSValue::put):
- * runtime/JSString.h:
- (JSC::JSValue::toThisJSString):
- * runtime/JSValue.cpp:
- (JSC::JSValue::toInteger):
- (JSC::JSValue::toIntegerPreserveNaN):
- (JSC::JSValue::toObjectSlowCase):
- (JSC::JSValue::toThisObjectSlowCase):
- (JSC::JSValue::synthesizeObject):
- (JSC::JSValue::synthesizePrototype):
- (JSC::JSValue::description):
- (JSC::nonInlineNaN):
- * runtime/JSValue.h:
- (JSC::JSValue::):
- (JSC::EncodedJSValueHashTraits::emptyValue):
- (JSC::jsNaN):
- (JSC::operator==):
- (JSC::operator!=):
- (JSC::toInt32):
- (JSC::toUInt32):
- (JSC::JSValue::encode):
- (JSC::JSValue::decode):
- (JSC::JSValue::JSValue):
- (JSC::JSValue::operator bool):
- (JSC::JSValue::operator==):
- (JSC::JSValue::operator!=):
- (JSC::JSValue::isUndefined):
- (JSC::JSValue::isNull):
- (JSC::JSValue::isUndefinedOrNull):
- (JSC::JSValue::isCell):
- (JSC::JSValue::isInt32):
- (JSC::JSValue::isUInt32):
- (JSC::JSValue::isDouble):
- (JSC::JSValue::isTrue):
- (JSC::JSValue::isFalse):
- (JSC::JSValue::tag):
- (JSC::JSValue::asInt32):
- (JSC::JSValue::asUInt32):
- (JSC::JSValue::asDouble):
- (JSC::JSValue::asCell):
- (JSC::JSValue::isNumber):
- (JSC::JSValue::isBoolean):
- (JSC::JSValue::getBoolean):
- (JSC::JSValue::uncheckedGetNumber):
- (JSC::JSValue::toJSNumber):
- (JSC::JSValue::getNumber):
- (JSC::JSValue::toInt32):
- (JSC::JSValue::toUInt32):
- * runtime/Operations.h:
- (JSC::JSValue::equal):
- (JSC::JSValue::equalSlowCaseInline):
- (JSC::JSValue::strictEqual):
- (JSC::JSValue::strictEqualSlowCaseInline):
- (JSC::jsLess):
- (JSC::jsLessEq):
- (JSC::jsAdd):
- * runtime/PropertySlot.h:
- * runtime/StringPrototype.cpp:
- (JSC::stringProtoFuncCharAt):
- (JSC::stringProtoFuncCharCodeAt):
- (JSC::stringProtoFuncIndexOf):
- * wtf/Platform.h:
-
-=== Start merge of nitro-extreme branch 2009-07-30 ===
-
-2009-07-29 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by George Staikos.
-
- Resolve class/struct mixup in forward declarations
- https://bugs.webkit.org/show_bug.cgi?id=27708
-
- * API/JSClassRef.h:
- * bytecode/SamplingTool.h:
- * interpreter/Interpreter.h:
- * jit/JIT.h:
- * profiler/ProfileGenerator.h:
- * profiler/Profiler.h:
- * runtime/ClassInfo.h:
- * runtime/ExceptionHelpers.h:
- * runtime/JSByteArray.h:
- * runtime/JSCell.h:
- * runtime/JSFunction.h:
- * runtime/JSGlobalData.h:
- * runtime/JSObject.h:
- * runtime/JSString.h:
-
-2009-07-28 Ada Chan <adachan@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=27236
- - Implement TCMalloc_SystemRelease and TCMalloc_SystemCommit for Windows.
- - Use a background thread to periodically scavenge memory to release back to the system.
-
- * wtf/FastMalloc.cpp:
- (WTF::TCMalloc_PageHeap::init):
- (WTF::TCMalloc_PageHeap::runScavengerThread):
- (WTF::TCMalloc_PageHeap::scavenge):
- (WTF::TCMalloc_PageHeap::shouldContinueScavenging):
- (WTF::TCMalloc_PageHeap::New):
- (WTF::TCMalloc_PageHeap::AllocLarge):
- (WTF::TCMalloc_PageHeap::Delete):
- (WTF::TCMalloc_PageHeap::GrowHeap):
- (WTF::sleep):
- (WTF::TCMalloc_PageHeap::scavengerThread):
- * wtf/TCSystemAlloc.cpp:
- (TCMalloc_SystemRelease):
- (TCMalloc_SystemCommit):
- * wtf/TCSystemAlloc.h:
-
-2009-07-28 Xan Lopez <xlopez@igalia.com>
-
- Add new files, fixes distcheck.
-
- * GNUmakefile.am:
-
-2009-07-28 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Determining whether to use JIT or interpreter
- moved from JavaScriptCore.pri to Platform.h
-
- * JavaScriptCore.pri:
- * wtf/Platform.h:
-
-2009-07-27 Brian Weinstein <bweinstein@apple.com>
-
- Fix of misuse of sort command.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
-
-2009-07-27 Brian Weinstein <bweinstein@apple.com>
-
- Build fix for Windows.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
-
-2009-07-27 Gavin Barraclough <barraclough@apple.com>
-
- Rubber stamped by Oliver Hunt.
-
- Fix tyop in JIT, renamed preverveReturnAddressAfterCall -> preserveReturnAddressAfterCall.
-
- * jit/JIT.cpp:
- (JSC::JIT::privateCompile):
- (JSC::JIT::privateCompileCTIMachineTrampolines):
- * jit/JIT.h:
- * jit/JITInlineMethods.h:
- (JSC::JIT::preserveReturnAddressAfterCall):
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::privateCompilePutByIdTransition):
-
-2009-07-27 Alexey Proskuryakov <ap@webkit.org>
-
- Gtk build fix.
-
- * runtime/JSLock.cpp: (JSC::JSLock::JSLock): Fix "no threading" case.
-
-2009-07-27 Alexey Proskuryakov <ap@webkit.org>
-
- Release build fix.
-
- * runtime/JSLock.h: (JSC::JSLock::~JSLock):
-
-2009-07-27 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=27735
- Give a helpful name to JSLock constructor argument
-
- * API/JSBase.cpp:
- (JSGarbageCollect):
- * API/JSContextRef.cpp:
- * API/JSObjectRef.cpp:
- (JSPropertyNameArrayRelease):
- (JSPropertyNameAccumulatorAddName):
- * JavaScriptCore.exp:
- * jsc.cpp:
- (functionGC):
- (cleanupGlobalData):
- (jscmain):
- * runtime/Collector.cpp:
- (JSC::Heap::destroy):
- * runtime/JSLock.cpp:
- (JSC::JSLock::JSLock):
- (JSC::JSLock::lock):
- (JSC::JSLock::unlock):
- (JSC::JSLock::DropAllLocks::DropAllLocks):
- (JSC::JSLock::DropAllLocks::~DropAllLocks):
- * runtime/JSLock.h:
(JSC::):
- (JSC::JSLock::JSLock):
- (JSC::JSLock::~JSLock):
-
-2009-07-25 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
-
- Reviewed by Eric Seidel.
-
- Allow custom memory allocation control for OpaqueJSPropertyNameArray struct
- https://bugs.webkit.org/show_bug.cgi?id=27342
-
- Inherits OpaqueJSPropertyNameArray struct from FastAllocBase because it has been
- instantiated by 'new' JavaScriptCore/API/JSObjectRef.cpp:473.
-
- * API/JSObjectRef.cpp:
-
-2009-07-24 Ada Chan <adachan@apple.com>
- In preparation for https://bugs.webkit.org/show_bug.cgi?id=27236:
- Remove TCMALLOC_TRACK_DECOMMITED_SPANS. We'll always track decommitted spans.
- We have tested this and show it has little impact on performance.
-
- Reviewed by Mark Rowe.
-
- * wtf/FastMalloc.cpp:
- (WTF::TCMalloc_PageHeap::New):
- (WTF::TCMalloc_PageHeap::AllocLarge):
- (WTF::propagateDecommittedState):
- (WTF::mergeDecommittedStates):
- (WTF::TCMalloc_PageHeap::Delete):
- (WTF::TCMalloc_PageHeap::IncrementalScavenge):
-
-2009-07-24 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
-
- Reviewed by Darin Adler and Adam Barth.
-
- Build fix for x86 platforms.
- https://bugs.webkit.org/show_bug.cgi?id=27602
-
- * jit/JIT.cpp:
-
-2009-07-23 Kevin Ollivier <kevino@theolliviers.com>
-
- wx build fix, adding missing header.
-
- * jit/JIT.cpp:
-
-2009-07-22 Yong Li <yong.li@torchmobile.com>
-
- Reviewed by George Staikos.
-
- Add wince specific memory files into wtf/wince
- https://bugs.webkit.org/show_bug.cgi?id=27550
-
- * wtf/wince/FastMallocWince.h: Added.
- * wtf/wince/MemoryManager.cpp: Added.
- * wtf/wince/MemoryManager.h: Added.
-
-2009-07-23 Norbert Leser <norbert.leser@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Fix for missing mmap features in Symbian
- https://bugs.webkit.org/show_bug.cgi?id=24540
-
- Fix, conditionally for PLATFORM(SYMBIAN), as an alternative
- to missing support for the MAP_ANON property flag in mmap.
- It utilizes Symbian specific memory allocation features.
-
- * runtime/Collector.cpp
-
-2009-07-22 Gavin Barraclough <barraclough@apple.com>
+2010-05-24 Gavin Barraclough <barraclough@apple.com>
Reviewed by Sam Weinig.
-
- With ENABLE(ASSEMBLER_WX_EXCLUSIVE), only change permissions once per repatch event.
- ( https://bugs.webkit.org/show_bug.cgi?id=27564 )
-
- Currently we change permissions forwards and backwards for each instruction modified,
- instead we should only change permissions once per complete repatching event.
-
- 2.5% progression running with ENABLE(ASSEMBLER_WX_EXCLUSIVE) enabled,
- which recoups 1/3 of the penalty of running with this mode enabled.
-
- * assembler/ARMAssembler.cpp:
- (JSC::ARMAssembler::linkBranch):
- - Replace usage of MakeWritable with cacheFlush.
-
- * assembler/ARMAssembler.h:
- (JSC::ARMAssembler::patchPointerInternal):
- (JSC::ARMAssembler::repatchLoadPtrToLEA):
- - Replace usage of MakeWritable with cacheFlush.
-
- * assembler/ARMv7Assembler.h:
- (JSC::ARMv7Assembler::relinkJump):
- (JSC::ARMv7Assembler::relinkCall):
- (JSC::ARMv7Assembler::repatchInt32):
- (JSC::ARMv7Assembler::repatchPointer):
- (JSC::ARMv7Assembler::repatchLoadPtrToLEA):
- (JSC::ARMv7Assembler::setInt32):
- - Replace usage of MakeWritable with cacheFlush.
-
- * assembler/LinkBuffer.h:
- (JSC::LinkBuffer::performFinalization):
- - Make explicit call to cacheFlush.
-
- * assembler/MacroAssemblerCodeRef.h:
- (JSC::MacroAssemblerCodeRef::MacroAssemblerCodeRef):
- - Make size always available.
-
- * assembler/RepatchBuffer.h:
- (JSC::RepatchBuffer::RepatchBuffer):
- (JSC::RepatchBuffer::~RepatchBuffer):
- - Add calls to MakeWritable & makeExecutable.
-
- * assembler/X86Assembler.h:
- (JSC::X86Assembler::relinkJump):
- (JSC::X86Assembler::relinkCall):
- (JSC::X86Assembler::repatchInt32):
- (JSC::X86Assembler::repatchPointer):
- (JSC::X86Assembler::repatchLoadPtrToLEA):
- - Remove usage of MakeWritable.
-
- * bytecode/CodeBlock.h:
- (JSC::CodeBlock::getJITCode):
- - Provide access to CodeBlock's JITCode.
-
- * jit/ExecutableAllocator.h:
- (JSC::ExecutableAllocator::makeExecutable):
- (JSC::ExecutableAllocator::cacheFlush):
- - Remove MakeWritable, make cacheFlush public.
-
- * jit/JIT.cpp:
- (JSC::ctiPatchNearCallByReturnAddress):
- (JSC::ctiPatchCallByReturnAddress):
- (JSC::JIT::privateCompile):
- (JSC::JIT::unlinkCall):
- (JSC::JIT::linkCall):
- - Add CodeBlock argument to RepatchBuffer.
-
- * jit/JIT.h:
- - Pass CodeBlock argument for use by RepatchBuffer.
-
- * jit/JITCode.h:
- (JSC::JITCode::start):
- (JSC::JITCode::size):
- - Provide access to code start & size.
-
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::privateCompilePutByIdTransition):
- (JSC::JIT::patchGetByIdSelf):
- (JSC::JIT::patchMethodCallProto):
- (JSC::JIT::patchPutByIdReplace):
- (JSC::JIT::privateCompilePatchGetArrayLength):
- (JSC::JIT::privateCompileGetByIdProto):
- (JSC::JIT::privateCompileGetByIdSelfList):
- (JSC::JIT::privateCompileGetByIdProtoList):
- (JSC::JIT::privateCompileGetByIdChainList):
- (JSC::JIT::privateCompileGetByIdChain):
- - Add CodeBlock argument to RepatchBuffer.
-
- * jit/JITStubs.cpp:
- (JSC::JITThunks::tryCachePutByID):
- (JSC::JITThunks::tryCacheGetByID):
- (JSC::JITStubs::DEFINE_STUB_FUNCTION):
- - Pass CodeBlock argument for use by RepatchBuffer.
-
-2009-07-21 Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
-
- Reviewed by Gavin Barraclough.
-
- Cache not only the structure of the method, but the
- structure of its prototype as well.
- https://bugs.webkit.org/show_bug.cgi?id=27077
-
- * bytecode/CodeBlock.cpp:
- (JSC::CodeBlock::~CodeBlock):
- * bytecode/CodeBlock.h:
- (JSC::MethodCallLinkInfo::MethodCallLinkInfo):
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::patchMethodCallProto):
-
-2009-07-21 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Sam Weinig.
-
- Move call linking / repatching down from AbstractMacroAssembler into MacroAssemblerARCH classes.
- ( https://bugs.webkit.org/show_bug.cgi?id=27527 )
-
- This allows the implementation to be defined per architecture. Specifically this addresses the
- fact that x86-64 MacroAssembler implements far calls as a load to register, followed by a call
- to register. Patching the call actually requires the pointer load to be patched, rather than
- the call to be patched. This is implementation detail specific to MacroAssemblerX86_64, and as
- such is best handled there.
-
- * assembler/AbstractMacroAssembler.h:
- * assembler/MacroAssemblerARM.h:
- (JSC::MacroAssemblerARM::linkCall):
- (JSC::MacroAssemblerARM::repatchCall):
- * assembler/MacroAssemblerARMv7.h:
- (JSC::MacroAssemblerARMv7::linkCall):
- (JSC::MacroAssemblerARMv7::repatchCall):
- * assembler/MacroAssemblerX86.h:
- (JSC::MacroAssemblerX86::linkCall):
- (JSC::MacroAssemblerX86::repatchCall):
- * assembler/MacroAssemblerX86_64.h:
- (JSC::MacroAssemblerX86_64::linkCall):
- (JSC::MacroAssemblerX86_64::repatchCall):
-
-2009-07-21 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by George Staikos.
-
- Every wtf file includes other wtf files with <> style includes
- except this one. Fix the exception.
-
- * wtf/ByteArray.h:
-
-2009-07-21 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Move LinkBuffer/RepatchBuffer out of AbstractMacroAssembler.
- ( https://bugs.webkit.org/show_bug.cgi?id=27485 )
-
- This change is the first step in a process to move code that should be in
- the architecture-specific MacroAssembler classes up out of Assmbler and
- AbstractMacroAssembler.
-
- * JavaScriptCore.xcodeproj/project.pbxproj:
- - added new files
-
- * assembler/ARMAssembler.h:
- (JSC::ARMAssembler::linkPointer):
- - rename patchPointer to bring it in line with the current link/repatch naming scheme
-
- * assembler/ARMv7Assembler.h:
- (JSC::ARMv7Assembler::linkCall):
- (JSC::ARMv7Assembler::linkPointer):
- (JSC::ARMv7Assembler::relinkCall):
- (JSC::ARMv7Assembler::repatchInt32):
- (JSC::ARMv7Assembler::repatchPointer):
- (JSC::ARMv7Assembler::setInt32):
- (JSC::ARMv7Assembler::setPointer):
- - rename patchPointer to bring it in line with the current link/repatch naming scheme
-
- * assembler/AbstractMacroAssembler.h:
- (JSC::AbstractMacroAssembler::linkJump):
- (JSC::AbstractMacroAssembler::linkCall):
- (JSC::AbstractMacroAssembler::linkPointer):
- (JSC::AbstractMacroAssembler::getLinkerAddress):
- (JSC::AbstractMacroAssembler::getLinkerCallReturnOffset):
- (JSC::AbstractMacroAssembler::repatchJump):
- (JSC::AbstractMacroAssembler::repatchCall):
- (JSC::AbstractMacroAssembler::repatchNearCall):
- (JSC::AbstractMacroAssembler::repatchInt32):
- (JSC::AbstractMacroAssembler::repatchPointer):
- (JSC::AbstractMacroAssembler::repatchLoadPtrToLEA):
- - remove the LinkBuffer/RepatchBuffer classes, but leave a set of (private, friended) methods to interface to the Assembler
-
- * assembler/LinkBuffer.h: Added.
- (JSC::LinkBuffer::LinkBuffer):
- (JSC::LinkBuffer::~LinkBuffer):
- (JSC::LinkBuffer::link):
- (JSC::LinkBuffer::patch):
- (JSC::LinkBuffer::locationOf):
- (JSC::LinkBuffer::locationOfNearCall):
- (JSC::LinkBuffer::returnAddressOffset):
- (JSC::LinkBuffer::finalizeCode):
- (JSC::LinkBuffer::finalizeCodeAddendum):
- (JSC::LinkBuffer::code):
- (JSC::LinkBuffer::performFinalization):
- - new file containing the LinkBuffer class, previously a member of AbstractMacroAssembler
-
- * assembler/RepatchBuffer.h: Added.
- (JSC::RepatchBuffer::RepatchBuffer):
- (JSC::RepatchBuffer::relink):
- (JSC::RepatchBuffer::repatch):
- (JSC::RepatchBuffer::repatchLoadPtrToLEA):
- (JSC::RepatchBuffer::relinkCallerToTrampoline):
- (JSC::RepatchBuffer::relinkCallerToFunction):
- (JSC::RepatchBuffer::relinkNearCallerToTrampoline):
- - new file containing the RepatchBuffer class, previously a member of AbstractMacroAssembler
-
- * assembler/X86Assembler.h:
- (JSC::X86Assembler::linkJump):
- (JSC::X86Assembler::linkCall):
- (JSC::X86Assembler::linkPointerForCall):
- (JSC::X86Assembler::linkPointer):
- (JSC::X86Assembler::relinkJump):
- (JSC::X86Assembler::relinkCall):
- (JSC::X86Assembler::repatchInt32):
- (JSC::X86Assembler::repatchPointer):
- (JSC::X86Assembler::setPointer):
- (JSC::X86Assembler::setInt32):
- (JSC::X86Assembler::setRel32):
- - rename patchPointer to bring it in line with the current link/repatch naming scheme
-
- * jit/JIT.cpp:
- (JSC::ctiPatchNearCallByReturnAddress):
- (JSC::ctiPatchCallByReturnAddress):
- - include new headers
- - remove MacroAssembler:: specification from RepatchBuffer usage
-
- * jit/JITPropertyAccess.cpp:
- * yarr/RegexJIT.cpp:
- - include new headers
-
-2009-07-21 Robert Agoston <Agoston.Robert@stud.u-szeged.hu>
-
- Reviewed by David Levin.
-
- Fixed #undef typo.
- https://bugs.webkit.org/show_bug.cgi?id=27506
-
- * bytecode/Opcode.h:
-
-2009-07-21 Adam Roben <aroben@apple.com>
-
- Roll out r46153, r46154, and r46155
-
- These changes were causing build failures and assertion failures on
- Windows.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * runtime/JSArray.cpp:
- * runtime/StringPrototype.cpp:
- * runtime/UString.cpp:
- * runtime/UString.h:
- * wtf/FastMalloc.cpp:
- * wtf/FastMalloc.h:
- * wtf/Platform.h:
- * wtf/PossiblyNull.h: Removed.
-
-2009-07-21 Roland Steiner <rolandsteiner@google.com>
-
- Reviewed by David Levin.
-
- Add ENABLE_RUBY to list of build options
- https://bugs.webkit.org/show_bug.cgi?id=27324
-
- * Configurations/FeatureDefines.xcconfig: Added flag ENABLE_RUBY.
-
-2009-07-20 Oliver Hunt <oliver@apple.com>
-
- Build fix attempt #2
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
-
-2009-07-20 Oliver Hunt <oliver@apple.com>
-
- Build fix attempt #1
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
-
-2009-07-20 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Make it harder to misuse try* allocation routines
- https://bugs.webkit.org/show_bug.cgi?id=27469
-
- Jump through a few hoops to make it much harder to accidentally
- miss null-checking of values returned by the try-* allocation
- routines.
-
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * runtime/JSArray.cpp:
- (JSC::JSArray::putSlowCase):
- (JSC::JSArray::increaseVectorLength):
- * runtime/StringPrototype.cpp:
- (JSC::stringProtoFuncFontsize):
- (JSC::stringProtoFuncLink):
- * runtime/UString.cpp:
- (JSC::allocChars):
- (JSC::reallocChars):
- (JSC::expandCapacity):
- (JSC::UString::Rep::reserveCapacity):
- (JSC::UString::expandPreCapacity):
- (JSC::createRep):
- (JSC::concatenate):
- (JSC::UString::spliceSubstringsWithSeparators):
- (JSC::UString::replaceRange):
- (JSC::UString::append):
- (JSC::UString::operator=):
- * runtime/UString.h:
- (JSC::UString::Rep::createEmptyBuffer):
- * wtf/FastMalloc.cpp:
- (WTF::tryFastZeroedMalloc):
- (WTF::tryFastMalloc):
- (WTF::tryFastCalloc):
- (WTF::tryFastRealloc):
- (WTF::TCMallocStats::tryFastMalloc):
- (WTF::TCMallocStats::tryFastCalloc):
- (WTF::TCMallocStats::tryFastRealloc):
- * wtf/FastMalloc.h:
- (WTF::TryMallocReturnValue::TryMallocReturnValue):
- (WTF::TryMallocReturnValue::~TryMallocReturnValue):
- (WTF::TryMallocReturnValue::operator Maybe<T>):
- (WTF::TryMallocReturnValue::getValue):
- * wtf/PossiblyNull.h:
- (WTF::PossiblyNull::PossiblyNull):
- (WTF::PossiblyNull::~PossiblyNull):
- (WTF::PossiblyNull::getValue):
- * wtf/Platform.h:
-
-2009-07-20 Gavin Barraclough <barraclough@apple.com>
-
- RS Oliver Hunt.
-
- Add ARM assembler files to xcodeproj, for convenience editing.
-
- * JavaScriptCore.xcodeproj/project.pbxproj:
-
-2009-07-20 Jessie Berlin <jberlin@apple.com>
-
- Reviewed by David Levin.
-
- Fix an incorrect assertion in Vector::remove.
-
- https://bugs.webkit.org/show_bug.cgi?id=27477
-
- * wtf/Vector.h:
- (WTF::::remove):
- Assert that the position at which to start removing elements + the
- length (the number of elements to remove) is less than or equal to the
- size of the entire Vector.
-
-2009-07-20 Peter Kasting <pkasting@google.com>
-
- Reviewed by Mark Rowe.
-
- https://bugs.webkit.org/show_bug.cgi?id=27468
- Back out r46060, which caused problems for some Apple developers.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.vcproj:
- * JavaScriptCore.vcproj/WTF/WTFCommon.vsprops:
- * JavaScriptCore.vcproj/jsc/jscCommon.vsprops:
- * JavaScriptCore.vcproj/testapi/testapiCommon.vsprops:
-
-2009-07-20 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
-
- Reviewed by Oliver Hunt.
-
- Allow custom memory allocation control in NewThreadContext
- https://bugs.webkit.org/show_bug.cgi?id=27338
-
- Inherits NewThreadContext struct from FastAllocBase because it
- has been instantiated by 'new' JavaScriptCore/wtf/Threading.cpp:76.
-
- * wtf/Threading.cpp:
-
-2009-07-20 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
-
- Reviewed by Oliver Hunt.
-
- Allow custom memory allocation control in JavaScriptCore's JSClassRef.h
- https://bugs.webkit.org/show_bug.cgi?id=27340
-
- Inherit StaticValueEntry and StaticFunctionEntry struct from FastAllocBase because these
- have been instantiated by 'new' in JavaScriptCore/API/JSClassRef.cpp:153
- and in JavaScriptCore/API/JSClassRef.cpp:166.
-
- * API/JSClassRef.h:
-
-2009-07-20 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
-
- Reviewed by Darin Adler.
-
- Allow custom memory allocation control in JavaScriptCore's RegexPattern.h
- https://bugs.webkit.org/show_bug.cgi?id=27343
-
- Inherits RegexPattern.h's structs (which have been instantiated by operator new) from FastAllocBase:
-
- CharacterClass (new call: JavaScriptCore/yarr/RegexCompiler.cpp:144)
- PatternAlternative (new call: JavaScriptCore/yarr/RegexPattern.h:221)
- PatternDisjunction (new call: JavaScriptCore/yarr/RegexCompiler.cpp:446)
-
- * yarr/RegexPattern.h:
-
-2009-07-20 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
-
- Reviewed by Darin Adler.
-
- Allow custom memory allocation control for JavaScriptCore's MatchFrame struct
- https://bugs.webkit.org/show_bug.cgi?id=27344
-
- Inherits MatchFrame struct from FastAllocBase because it has
- been instantiated by 'new' JavaScriptCore/pcre/pcre_exec.cpp:359.
-
- * pcre/pcre_exec.cpp:
-
-2009-07-20 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Holger Freyther.
-
- Remove some outdated S60 platform specific code
- https://bugs.webkit.org/show_bug.cgi?id=27423
-
- * wtf/Platform.h:
-
-2009-07-20 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
-
- Reviewed by Simon Hausmann.
-
- Qt build fix with MSVC and MinGW.
-
- * jsc.pro: Make sure jsc is a console application, and turn off
- exceptions and stl support to fix the build.
-
-2009-07-20 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Do not use C++-style comments in preprocessor directives.
-
- GCC does not like this in some configurations, using C-style
- comments is safer.
-
- * wtf/Platform.h:
-
-2009-07-17 Peter Kasting <pkasting@google.com>
-
- Reviewed by Steve Falkenburg.
-
- https://bugs.webkit.org/show_bug.cgi?id=27323
- Only add Cygwin to the path when it isn't already there. This avoids
- causing problems for people who purposefully have non-Cygwin versions of
- executables like svn in front of the Cygwin ones in their paths.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.vcproj:
- * JavaScriptCore.vcproj/WTF/WTFCommon.vsprops:
- * JavaScriptCore.vcproj/jsc/jscCommon.vsprops:
- * JavaScriptCore.vcproj/testapi/testapiCommon.vsprops:
-
-2009-07-17 Gabor Loki <loki@inf.u-szeged.hu>
-
- Reviewed by Gavin Barraclough.
-
- Add YARR support for generic ARM platforms (disabled by default).
- https://bugs.webkit.org/show_bug.cgi?id=24986
-
- Add generic ARM port for MacroAssembler. It supports the whole
- MacroAssembler functionality except floating point.
-
- The class JmpSrc is extended with a flag which enables to patch
- the jump destination offset during execution. This feature is
- required for generic ARM port.
-
- Signed off by Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
- Signed off by Gabor Loki <loki@inf.u-szeged.hu>
-
- * JavaScriptCore.pri:
- * assembler/ARMAssembler.cpp: Added.
- (JSC::ARMAssembler::getLdrImmAddress):
- (JSC::ARMAssembler::linkBranch):
- (JSC::ARMAssembler::patchConstantPoolLoad):
- (JSC::ARMAssembler::getOp2):
- (JSC::ARMAssembler::genInt):
- (JSC::ARMAssembler::getImm):
- (JSC::ARMAssembler::moveImm):
- (JSC::ARMAssembler::dataTransfer32):
- (JSC::ARMAssembler::baseIndexTransfer32):
- (JSC::ARMAssembler::executableCopy):
- * assembler/ARMAssembler.h: Added.
- (JSC::ARM::):
- (JSC::ARMAssembler::ARMAssembler):
- (JSC::ARMAssembler::):
- (JSC::ARMAssembler::JmpSrc::JmpSrc):
- (JSC::ARMAssembler::JmpSrc::enableLatePatch):
- (JSC::ARMAssembler::JmpDst::JmpDst):
- (JSC::ARMAssembler::JmpDst::isUsed):
- (JSC::ARMAssembler::JmpDst::used):
- (JSC::ARMAssembler::emitInst):
- (JSC::ARMAssembler::and_r):
- (JSC::ARMAssembler::ands_r):
- (JSC::ARMAssembler::eor_r):
- (JSC::ARMAssembler::eors_r):
- (JSC::ARMAssembler::sub_r):
- (JSC::ARMAssembler::subs_r):
- (JSC::ARMAssembler::rsb_r):
- (JSC::ARMAssembler::rsbs_r):
- (JSC::ARMAssembler::add_r):
- (JSC::ARMAssembler::adds_r):
- (JSC::ARMAssembler::adc_r):
- (JSC::ARMAssembler::adcs_r):
- (JSC::ARMAssembler::sbc_r):
- (JSC::ARMAssembler::sbcs_r):
- (JSC::ARMAssembler::rsc_r):
- (JSC::ARMAssembler::rscs_r):
- (JSC::ARMAssembler::tst_r):
- (JSC::ARMAssembler::teq_r):
- (JSC::ARMAssembler::cmp_r):
- (JSC::ARMAssembler::orr_r):
- (JSC::ARMAssembler::orrs_r):
- (JSC::ARMAssembler::mov_r):
- (JSC::ARMAssembler::movs_r):
- (JSC::ARMAssembler::bic_r):
- (JSC::ARMAssembler::bics_r):
- (JSC::ARMAssembler::mvn_r):
- (JSC::ARMAssembler::mvns_r):
- (JSC::ARMAssembler::mul_r):
- (JSC::ARMAssembler::muls_r):
- (JSC::ARMAssembler::mull_r):
- (JSC::ARMAssembler::ldr_imm):
- (JSC::ARMAssembler::ldr_un_imm):
- (JSC::ARMAssembler::dtr_u):
- (JSC::ARMAssembler::dtr_ur):
- (JSC::ARMAssembler::dtr_d):
- (JSC::ARMAssembler::dtr_dr):
- (JSC::ARMAssembler::ldrh_r):
- (JSC::ARMAssembler::ldrh_d):
- (JSC::ARMAssembler::ldrh_u):
- (JSC::ARMAssembler::strh_r):
- (JSC::ARMAssembler::push_r):
- (JSC::ARMAssembler::pop_r):
- (JSC::ARMAssembler::poke_r):
- (JSC::ARMAssembler::peek_r):
- (JSC::ARMAssembler::clz_r):
- (JSC::ARMAssembler::bkpt):
- (JSC::ARMAssembler::lsl):
- (JSC::ARMAssembler::lsr):
- (JSC::ARMAssembler::asr):
- (JSC::ARMAssembler::lsl_r):
- (JSC::ARMAssembler::lsr_r):
- (JSC::ARMAssembler::asr_r):
- (JSC::ARMAssembler::size):
- (JSC::ARMAssembler::ensureSpace):
- (JSC::ARMAssembler::label):
- (JSC::ARMAssembler::align):
- (JSC::ARMAssembler::jmp):
- (JSC::ARMAssembler::patchPointerInternal):
- (JSC::ARMAssembler::patchConstantPoolLoad):
- (JSC::ARMAssembler::patchPointer):
- (JSC::ARMAssembler::repatchInt32):
- (JSC::ARMAssembler::repatchPointer):
- (JSC::ARMAssembler::repatchLoadPtrToLEA):
- (JSC::ARMAssembler::linkJump):
- (JSC::ARMAssembler::relinkJump):
- (JSC::ARMAssembler::linkCall):
- (JSC::ARMAssembler::relinkCall):
- (JSC::ARMAssembler::getRelocatedAddress):
- (JSC::ARMAssembler::getDifferenceBetweenLabels):
- (JSC::ARMAssembler::getCallReturnOffset):
- (JSC::ARMAssembler::getOp2Byte):
- (JSC::ARMAssembler::placeConstantPoolBarrier):
- (JSC::ARMAssembler::RM):
- (JSC::ARMAssembler::RS):
- (JSC::ARMAssembler::RD):
- (JSC::ARMAssembler::RN):
- (JSC::ARMAssembler::getConditionalField):
- * assembler/ARMv7Assembler.h:
- (JSC::ARMv7Assembler::JmpSrc::enableLatePatch):
- * assembler/AbstractMacroAssembler.h:
- (JSC::AbstractMacroAssembler::Call::enableLatePatch):
- (JSC::AbstractMacroAssembler::Jump::enableLatePatch):
- * assembler/MacroAssembler.h:
- * assembler/MacroAssemblerARM.h: Added.
- (JSC::MacroAssemblerARM::):
- (JSC::MacroAssemblerARM::add32):
- (JSC::MacroAssemblerARM::and32):
- (JSC::MacroAssemblerARM::lshift32):
- (JSC::MacroAssemblerARM::mul32):
- (JSC::MacroAssemblerARM::not32):
- (JSC::MacroAssemblerARM::or32):
- (JSC::MacroAssemblerARM::rshift32):
- (JSC::MacroAssemblerARM::sub32):
- (JSC::MacroAssemblerARM::xor32):
- (JSC::MacroAssemblerARM::load32):
- (JSC::MacroAssemblerARM::load32WithAddressOffsetPatch):
- (JSC::MacroAssemblerARM::loadPtrWithPatchToLEA):
- (JSC::MacroAssemblerARM::load16):
- (JSC::MacroAssemblerARM::store32WithAddressOffsetPatch):
- (JSC::MacroAssemblerARM::store32):
- (JSC::MacroAssemblerARM::pop):
- (JSC::MacroAssemblerARM::push):
- (JSC::MacroAssemblerARM::move):
- (JSC::MacroAssemblerARM::swap):
- (JSC::MacroAssemblerARM::signExtend32ToPtr):
- (JSC::MacroAssemblerARM::zeroExtend32ToPtr):
- (JSC::MacroAssemblerARM::branch32):
- (JSC::MacroAssemblerARM::branch16):
- (JSC::MacroAssemblerARM::branchTest32):
- (JSC::MacroAssemblerARM::jump):
- (JSC::MacroAssemblerARM::branchAdd32):
- (JSC::MacroAssemblerARM::mull32):
- (JSC::MacroAssemblerARM::branchMul32):
- (JSC::MacroAssemblerARM::branchSub32):
- (JSC::MacroAssemblerARM::breakpoint):
- (JSC::MacroAssemblerARM::nearCall):
- (JSC::MacroAssemblerARM::call):
- (JSC::MacroAssemblerARM::ret):
- (JSC::MacroAssemblerARM::set32):
- (JSC::MacroAssemblerARM::setTest32):
- (JSC::MacroAssemblerARM::tailRecursiveCall):
- (JSC::MacroAssemblerARM::makeTailRecursiveCall):
- (JSC::MacroAssemblerARM::moveWithPatch):
- (JSC::MacroAssemblerARM::branchPtrWithPatch):
- (JSC::MacroAssemblerARM::storePtrWithPatch):
- (JSC::MacroAssemblerARM::supportsFloatingPoint):
- (JSC::MacroAssemblerARM::supportsFloatingPointTruncate):
- (JSC::MacroAssemblerARM::loadDouble):
- (JSC::MacroAssemblerARM::storeDouble):
- (JSC::MacroAssemblerARM::addDouble):
- (JSC::MacroAssemblerARM::subDouble):
- (JSC::MacroAssemblerARM::mulDouble):
- (JSC::MacroAssemblerARM::convertInt32ToDouble):
- (JSC::MacroAssemblerARM::branchDouble):
- (JSC::MacroAssemblerARM::branchTruncateDoubleToInt32):
- (JSC::MacroAssemblerARM::ARMCondition):
- (JSC::MacroAssemblerARM::prepareCall):
- (JSC::MacroAssemblerARM::call32):
- * assembler/X86Assembler.h:
- (JSC::X86Assembler::JmpSrc::enableLatePatch):
- * jit/ExecutableAllocator.h:
- (JSC::ExecutableAllocator::cacheFlush):
- * wtf/Platform.h:
- * yarr/RegexJIT.cpp:
- (JSC::Yarr::RegexGenerator::generateEnter):
- (JSC::Yarr::RegexGenerator::generateReturn):
-
-2009-07-17 Gabor Loki <loki@inf.u-szeged.hu>
-
- Reviewed by Gavin Barraclough.
-
- Extend AssemblerBuffer with constant pool handling mechanism.
- https://bugs.webkit.org/show_bug.cgi?id=24986
-
- Add a platform independed constant pool framework.
- This pool can store 32 or 64 bits values which is enough to hold
- any integer, pointer or double constant.
-
- * assembler/AssemblerBuffer.h:
- (JSC::AssemblerBuffer::putIntUnchecked):
- (JSC::AssemblerBuffer::putInt64Unchecked):
- (JSC::AssemblerBuffer::append):
- (JSC::AssemblerBuffer::grow):
- * assembler/AssemblerBufferWithConstantPool.h: Added.
- (JSC::):
-
-2009-07-17 Eric Roman <eroman@chromium.org>
-
- Reviewed by Darin Adler.
-
- Build fix for non-Darwin.
- Add a guard for inclusion of RetainPtr.h which includes CoreFoundation.h
-
- https://bugs.webkit.org/show_bug.cgi?id=27382
-
- * wtf/unicode/icu/CollatorICU.cpp:
-
-2009-07-17 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by John Sullivan.
-
- Get user default collation order via a CFLocale API when available.
-
- * wtf/unicode/icu/CollatorICU.cpp: (WTF::Collator::userDefault):
-
-2009-07-17 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix the include path for the Symbian port
- https://bugs.webkit.org/show_bug.cgi?id=27358
-
- * JavaScriptCore.pri:
-
-2009-07-17 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
-
- Reviewed by David Levin.
-
- Build fix on platforms don't have MMAP.
- https://bugs.webkit.org/show_bug.cgi?id=27365
-
- * interpreter/RegisterFile.h: Including stdio.h irrespectively of HAVE(MMAP)
-
-2009-07-16 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by David Levin.
-
- Add --web-sockets flag and ENABLE_WEB_SOCKETS define.
- https://bugs.webkit.org/show_bug.cgi?id=27206
-
- Add ENABLE_WEB_SOCKETS
-
- * Configurations/FeatureDefines.xcconfig: add ENABLE_WEB_SOCKETS
-
-2009-07-16 Maxime Simon <simon.maxime@gmail.com>
-
- Reviewed by Eric Seidel.
-
- Added Haiku-specific files for JavaScriptCore.
- https://bugs.webkit.org/show_bug.cgi?id=26620
-
- * wtf/haiku/MainThreadHaiku.cpp: Added.
- (WTF::initializeMainThreadPlatform):
- (WTF::scheduleDispatchFunctionsOnMainThread):
-
-2009-07-16 Gavin Barraclough <barraclough@apple.com>
-
- RS by Oliver Hunt.
-
- Revert r45969, this fix does not appear to be valid.
- https://bugs.webkit.org/show_bug.cgi?id=27077
-
- * bytecode/CodeBlock.cpp:
- (JSC::CodeBlock::~CodeBlock):
- (JSC::CodeBlock::unlinkCallers):
- * jit/JIT.cpp:
- * jit/JIT.h:
-
-2009-07-16 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
-
- Reviewed by Oliver Hunt.
-
- Allow custom memory allocation control in ExceptionInfo and RareData struct
- https://bugs.webkit.org/show_bug.cgi?id=27336
-
- Inherits ExceptionInfo and RareData struct from FastAllocBase because these
- have been instantiated by 'new' in JavaScriptCore/bytecode/CodeBlock.cpp:1289 and
- in JavaScriptCore/bytecode/CodeBlock.h:453.
-
- Remove unnecessary WTF:: namespace from CodeBlock inheritance.
-
- * bytecode/CodeBlock.h:
-
-2009-07-16 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Geoff Garen.
-
- Fix FeatureDefines.xcconfig to not be out of sync with the rest of the world.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2009-07-16 Yong Li <yong.li@torchmobile.com>
-
- Reviewed by George Staikos.
-
- https://bugs.webkit.org/show_bug.cgi?id=27320
- _countof is only included in CE6; for CE5 we need to define it ourself
-
- * wtf/Platform.h:
-
-2009-07-16 Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
-
- Reviewed by Oliver Hunt.
-
- Workers + garbage collector: weird crashes
- https://bugs.webkit.org/show_bug.cgi?id=27077
-
- We need to unlink cached method call sites when a function is destroyed.
-
- * JavaScriptCore.xcodeproj/project.pbxproj:
- * bytecode/CodeBlock.cpp:
- (JSC::CodeBlock::~CodeBlock):
- (JSC::CodeBlock::unlinkCallers):
- * jit/JIT.cpp:
- (JSC::JIT::unlinkMethodCall):
- * jit/JIT.h:
-
-2009-07-15 Steve Falkenburg <sfalken@apple.com>
-
- Windows Build fix.
-
- Visual Studio reset our intermediate directory on us.
- This sets it back.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
- * JavaScriptCore.vcproj/testapi/testapi.vcproj:
-
-2009-07-15 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=26794
- Make Yacc-generated parsers to use fastMalloc/fastFree.
-
- Define YYMALLOC and YYFREE to fastMalloc and fastFree
- respectively.
-
- * parser/Grammar.y:
-
-2009-07-15 Darin Adler <darin@apple.com>
-
- Fix a build for a particular Apple configuration.
-
- * wtf/FastAllocBase.h: Change include to use "" style for
- including another wtf header. This is the style we use for
- including other public headers in the same directory.
-
-2009-07-15 George Staikos <george.staikos@torchmobile.com>
-
- Reviewed by Adam Treat.
-
- https://bugs.webkit.org/show_bug.cgi?id=27303
- Implement createThreadInternal for WinCE.
- Contains changes by George Staikos <george.staikos@torchmobile.com> and Joe Mason <joe.mason@torchmobile.com>
-
- * wtf/ThreadingWin.cpp:
- (WTF::createThreadInternal):
-
-2009-07-15 Joe Mason <joe.mason@torchmobile.com>
-
- Reviewed by George Staikos.
-
- https://bugs.webkit.org/show_bug.cgi?id=27298
- Platform defines for WINCE.
- Contains changes by Yong Li <yong.li@torchmobile.com>,
- George Staikos <george.staikos@torchmobile.com> and Joe Mason <joe.mason@torchmobile.com>
-
- * wtf/Platform.h:
-
-2009-07-15 Yong Li <yong.li@torchmobile.com>
-
- Reviewed by Adam Treat.
-
- https://bugs.webkit.org/show_bug.cgi?id=27306
- Use RegisterClass instead of RegisterClassEx on WinCE.
-
- * wtf/win/MainThreadWin.cpp:
- (WTF::initializeMainThreadPlatform):
-
-2009-07-15 Yong Li <yong.li@torchmobile.com>
-
- Reviewed by George Staikos.
-
- https://bugs.webkit.org/show_bug.cgi?id=27301
- Use OutputDebugStringW on WinCE since OutputDebugStringA is not supported
- Originally written by Yong Li <yong.li@torchmobile.com> and refactored by
- Joe Mason <joe.mason@torchmobile.com>
-
- * wtf/Assertions.cpp: vprintf_stderr_common
-
-2009-07-15 Yong Li <yong.li@torchmobile.com>
-
- Reviewed by George Staikos.
-
- https://bugs.webkit.org/show_bug.cgi?id=27020
- msToGregorianDateTime should set utcOffset to 0 when outputIsUTC is false
-
- * wtf/DateMath.cpp:
- (WTF::gregorianDateTimeToMS):
-
-2009-07-15 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Cleanup - Remove obsolete code from the make system
- https://bugs.webkit.org/show_bug.cgi?id=27299
-
- * JavaScriptCore.pro:
- * jsc.pro:
-
-2009-07-07 Norbert Leser <norbert.leser@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- https://bugs.webkit.org/show_bug.cgi?id=27056
-
- Alternate bool operator for codewarrior compiler (WINSCW).
- Compiler (latest b482) reports error for UnspecifiedBoolType construct:
- "illegal explicit conversion from 'WTF::OwnArrayPtr<JSC::Register>' to 'bool'"
-
- Same fix as in r38391.
-
- * JavaScriptCore/wtf/OwnArrayPtr.h:
-
-2009-07-15 Norbert Leser <norbert.leser@nokia.com>
-
- Reviewed by Darin Adler.
-
- Qualify include path with wtf to fix compilation
- on Symbian.
- https://bugs.webkit.org/show_bug.cgi?id=27055
-
- * interpreter/Interpreter.h:
-
-2009-07-15 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Dave Kilzer.
-
- Turn off non-portable date manipulations for SYMBIAN
- https://bugs.webkit.org/show_bug.cgi?id=27064
-
- Introduce HAVE(TM_GMTOFF), HAVE(TM_ZONE) and HAVE(TIMEGM) guards
- and place the rules for controlling the guards in Platform.h.
- Turn off these newly introduced guards for SYMBIAN.
-
- * wtf/DateMath.cpp:
- (WTF::calculateUTCOffset):
- * wtf/DateMath.h:
- (WTF::GregorianDateTime::GregorianDateTime):
- (WTF::GregorianDateTime::operator tm):
- * wtf/Platform.h:
-
-2009-07-15 Norbert Leser <norbert.leser@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Undef ASSERT on Symbian, to avoid excessive warnings
- https://bugs.webkit.org/show_bug.cgi?id=27052
-
- * wtf/Assertions.h:
-
-2009-07-15 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Simon Hausmann.
-
- REGRESSION: fast/js/postfix-syntax.html fails with interpreter
- https://bugs.webkit.org/show_bug.cgi?id=27294
-
- When postfix operators operating on locals assign to the same local
- the order of operations has to be to store the incremented value, then
- store the unmodified number. Rather than implementing this subtle
- semantic in the interpreter I've just made the logic explicit in the
- bytecode generator, so x=x++ effectively becomes x=ToNumber(x) (for a
- local var x).
-
- * parser/Nodes.cpp:
- (JSC::emitPostIncOrDec):
-
-2009-07-15 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Simon Hausmann.
-
- REGRESSION(43559): fast/js/kde/arguments-scope.html fails with interpreter
- https://bugs.webkit.org/show_bug.cgi?id=27259
-
- The interpreter was incorrectly basing its need to create the arguments object
- based on the presence of the callframe's argument reference rather than the local
- arguments reference. Based on this it then overrode the local variable reference.
-
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::privateExecute):
-
-2009-07-14 Steve Falkenburg <sfalken@apple.com>
-
- Reorganize JavaScriptCore headers into:
- API: include/JavaScriptCore/
- Private: include/private/JavaScriptCore/
-
- Reviewed by Darin Adler.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make:
- * JavaScriptCore.vcproj/testapi/testapi.vcproj:
- * JavaScriptCore.vcproj/testapi/testapiCommon.vsprops:
-
-2009-07-14 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
-
- Reviewed by Darin Adler.
-
- Change JSCell's superclass to NoncopyableCustomAllocated
- https://bugs.webkit.org/show_bug.cgi?id=27248
-
- JSCell class customizes operator new, since Noncopyable will be
- inherited from FastAllocBase, NoncopyableCustomAllocated has
- to be used.
-
- * runtime/JSCell.h:
-
-2009-07-14 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
-
- Reviewed by Darin Adler.
-
- Change all Noncopyable inheriting visibility to public.
- https://bugs.webkit.org/show_bug.cgi?id=27225
-
- Change all Noncopyable inheriting visibility to public because
- it is needed to the custom allocation framework (bug #20422).
-
- * bytecode/SamplingTool.h:
- * bytecompiler/RegisterID.h:
- * interpreter/CachedCall.h:
- * interpreter/RegisterFile.h:
- * parser/Lexer.h:
- * parser/Parser.h:
- * runtime/ArgList.h:
- * runtime/BatchedTransitionOptimizer.h:
- * runtime/Collector.h:
- * runtime/CommonIdentifiers.h:
- * runtime/JSCell.h:
- * runtime/JSGlobalObject.h:
- * runtime/JSLock.h:
- * runtime/JSONObject.cpp:
- * runtime/SmallStrings.cpp:
- * runtime/SmallStrings.h:
- * wtf/CrossThreadRefCounted.h:
- * wtf/GOwnPtr.h:
- * wtf/Locker.h:
- * wtf/MessageQueue.h:
- * wtf/OwnArrayPtr.h:
- * wtf/OwnFastMallocPtr.h:
- * wtf/OwnPtr.h:
- * wtf/RefCounted.h:
- * wtf/ThreadSpecific.h:
- * wtf/Threading.h:
- * wtf/Vector.h:
- * wtf/unicode/Collator.h:
-
-2009-07-14 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
-
- Reviewed by Darin Adler.
-
- Change ParserArenaRefCounted's superclass to RefCountedCustomAllocated
- https://bugs.webkit.org/show_bug.cgi?id=27249
-
- ParserArenaDeletable customizes operator new, to avoid double inheritance
- ParserArenaDeletable's superclass has been changed to RefCountedCustomAllocated.
-
- * parser/Nodes.h:
-
-2009-07-14 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
-
- Reviewed by Darin Adler.
-
- Add RefCountedCustomAllocated to RefCounted.h
- https://bugs.webkit.org/show_bug.cgi?id=27232
-
- Some class which are inherited from RefCounted customize
- operator new, but RefCounted is inherited from Noncopyable
- which will be inherited from FastAllocBase. To avoid
- conflicts Noncopyable inheriting was moved down to RefCounted
- and to avoid double inheritance this class has been added.
-
- * wtf/RefCounted.h:
- (WTF::RefCountedCustomAllocated::deref):
- (WTF::RefCountedCustomAllocated::~RefCountedCustomAllocated):
-
-2009-07-14 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
-
- Reviewed by Darin Adler.
-
- Add NoncopyableCustomAllocated to Noncopyable.h.
- https://bugs.webkit.org/show_bug.cgi?id=27228
-
- Some classes which inherited from Noncopyable overrides operator new
- since Noncopyable'll be inherited from FastAllocBase, Noncopyable.h
- needs to be extended with this new class to support the overriding.
-
- * wtf/Noncopyable.h:
- (WTFNoncopyable::NoncopyableCustomAllocated::NoncopyableCustomAllocated):
- (WTFNoncopyable::NoncopyableCustomAllocated::~NoncopyableCustomAllocated):
-
-2009-07-14 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
-
- Reviewed by Darin Adler.
-
- Allow custom memory allocation control for JavaScriptCore's IdentifierTable class
- https://bugs.webkit.org/show_bug.cgi?id=27260
-
- Inherits IdentifierTable class from FastAllocBase because it has been
- instantiated by 'new' in JavaScriptCore/runtime/Identifier.cpp:70.
-
- * runtime/Identifier.cpp:
-
-2009-07-14 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
-
- Reviewed by Darin Adler.
-
- Allow custom memory allocation control for JavaScriptCore's Profiler class
- https://bugs.webkit.org/show_bug.cgi?id=27253
-
- Inherits Profiler class from FastAllocBase because it has been instantiated by
- 'new' in JavaScriptCore/profiler/Profiler.cpp:56.
-
- * profiler/Profiler.h:
-
-2009-07-06 George Staikos <george.staikos@torchmobile.com>
-
- Reviewed by Adam Treat.
-
- Authors: George Staikos <george.staikos@torchmobile.com>, Joe Mason <joe.mason@torchmobile.com>, Makoto Matsumoto <matumoto@math.keio.ac.jp>, Takuji Nishimura
-
- https://bugs.webkit.org/show_bug.cgi?id=27030
- Implement custom RNG for WinCE using Mersenne Twister
-
- * wtf/RandomNumber.cpp:
- (WTF::randomNumber):
- * wtf/RandomNumberSeed.h:
- (WTF::initializeRandomNumberGenerator):
- * wtf/wince/mt19937ar.c: Added.
- (init_genrand):
- (init_by_array):
- (genrand_int32):
- (genrand_int31):
- (genrand_real1):
- (genrand_real2):
- (genrand_real3):
- (genrand_res53):
-
-2009-07-13 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Unreviewed make dist build fix.
-
- * GNUmakefile.am:
-
-2009-07-13 Drew Wilson <atwilson@google.com>
-
- Reviewed by David Levin.
-
- Add ENABLE(SHARED_WORKERS) flag and define SharedWorker APIs
- https://bugs.webkit.org/show_bug.cgi?id=26932
-
- Added ENABLE(SHARED_WORKERS) flag (off by default).
-
- * Configurations/FeatureDefines.xcconfig:
-
-2009-07-07 Norbert Leser <norbert.leser@nokia.com>
-
- Reviewed by Maciej Stachoviak.
-
- https://bugs.webkit.org/show_bug.cgi?id=27058
-
- Removed superfluous parenthesis around single expression.
- Compilers on Symbian platform fail to properly parse and compile.
-
- * JavaScriptCore/wtf/Platform.h:
-
-2009-07-13 Norbert Leser <norbert.leser@nokia.com>
-
- Reviewed by Maciej Stachoviak.
-
- https://bugs.webkit.org/show_bug.cgi?id=27054
-
- Renamed Translator to HashTranslator
-
- Codewarrior compiler (WINSCW) latest b482 cannot resolve typename
- mismatch between template declaration and definition
- (HashTranslator / Translator)
-
- * wtf/HashSet.h:
-
-2009-07-13 Norbert Leser <norbert.leser@nokia.com>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=27053
-
- Ambiguity in LabelScope initialization
-
- Codewarrior compiler (WINSCW) latest b482 on Symbian cannot resolve
- type of "0" unambiguously. Set expression explicitly to
- PassRefPtr<Label>::PassRefPtr()
-
- * bytecompiler/BytecodeGenerator.cpp
-
-2009-07-11 Simon Fraser <simon.fraser@apple.com>
-
- Enable support for accelerated compositing and 3d transforms on Leopard.
- <https://bugs.webkit.org/show_bug.cgi?id=20166>
- <rdar://problem/6120614>
-
- Reviewed by Oliver Hunt.
-
- * Configurations/FeatureDefines.xcconfig:
- * wtf/Platform.h:
-
-2009-07-10 Mark Rowe <mrowe@apple.com>
-
- Second part of the "make Windows happier" dance.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
-
-2009-07-10 Mark Rowe <mrowe@apple.com>
-
- Try and make the Windows build happy.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
-
-2009-07-10 Kevin McCullough <kmccullough@apple.com>
-
- Reviewed by Geoffrey Garen.
-
- * debugger/Debugger.h: Made this function virtual for use in WebCore's
- WebInspector.
-
-2009-07-10 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Darin Adler.
-
- ParserArenaDeletable should override delete
- https://bugs.webkit.org/show_bug.cgi?id=26790
-
- ParserArenaDeletable overrides new, but it does not override delete.
- ParserArenaDeletable must be freed by fastFree
- because it is allocated by fastMalloc.
-
- * parser/NodeConstructors.h:
- (JSC::ParserArenaDeletable::operator delete):
- * parser/Nodes.h:
-
-2009-07-10 Adam Roben <aroben@apple.com>
-
- Sort all our Xcode projects
-
- Accomplished using sort-Xcode-project-file.
-
- Requested by Dave Kilzer.
-
- * JavaScriptCore.xcodeproj/project.pbxproj:
-
-2009-07-09 Maciej Stachowiak <mjs@apple.com>
-
- Not reviewed, build fix.
-
- Windows build fix for the last change.
-
- * wtf/dtoa.cpp: Forgot to include Vector.h
-
-2009-07-09 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin Adler.
-
- REGRESSION: crash in edge cases of floating point parsing.
- https://bugs.webkit.org/show_bug.cgi?id=27110
- <rdar://problem/7044458>
-
- Tests: fast/css/number-parsing-crash.html
- fast/css/number-parsing-crash.html
- fast/js/number-parsing-crash.html
-
- * wtf/dtoa.cpp:
- (WTF::BigInt::BigInt): Converted this to more a proper class, using a Vector
- with inline capacity
-
- (WTF::lshift): Rearranged logic somewhat nontrivially to deal with the new way of sizing BigInts.
- Added an assertion to verify that invariants are maintained.
-
- All other functions are adapted fairly mechanically to the above changes.
- (WTF::BigInt::clear):
- (WTF::BigInt::size):
- (WTF::BigInt::resize):
- (WTF::BigInt::words):
- (WTF::BigInt::append):
- (WTF::multadd):
- (WTF::s2b):
- (WTF::i2b):
- (WTF::mult):
- (WTF::cmp):
- (WTF::diff):
- (WTF::b2d):
- (WTF::d2b):
- (WTF::ratio):
- (WTF::strtod):
- (WTF::quorem):
- (WTF::dtoa):
-
-2009-07-09 Drew Wilson <atwilson@google.com>
-
- Reviewed by Alexey Proskuryakov.
-
- Turned on CHANNEL_MESSAGING by default because the MessageChannel API
- can now be implemented for Web Workers and is reasonably stable.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2009-07-09 Oliver Hunt <oliver@apple.com>
-
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::privateExecute):
-
-2009-07-09 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Darin Adler.
-
- Bug 27016 - Interpreter crashes due to invalid array indexes
- <https://bugs.webkit.org/show_bug.cgi?id=27016>
-
- Unsigned vs signed conversions results in incorrect behaviour in
- 64bit interpreter builds.
-
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::privateExecute):
-
-2009-07-09 Dimitri Glazkov <dglazkov@chromium.org>
-
- Reviewed by Darin Fisher.
-
- [Chromium] Upstream JavaScriptCore.gypi, the project file for Chromium build.
- https://bugs.webkit.org/show_bug.cgi?id=27135
-
- * JavaScriptCore.gypi: Added.
-
-2009-07-09 Joe Mason <joe.mason@torchmobile.com>
-
- Reviewed by George Staikos.
-
- Authors: Yong Li <yong.li@torchmobile.com>, Joe Mason <joe.mason@torchmobile.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=27031
- Add an override for deleteOwnedPtr(HDC) on Windows
-
- * wtf/OwnPtrCommon.h:
- * wtf/OwnPtrWin.cpp:
- (WTF::deleteOwnedPtr):
-
-2009-07-09 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Darin Adler.
-
- Guard singal.h dependency with HAVE(SIGNAL_H) to enable building jsc
- on SYMBIAN.
-
- https://bugs.webkit.org/show_bug.cgi?id=27026
-
- Based on Norbert Leser's work.
-
- * jsc.cpp:
- (printUsageStatement):
- (parseArguments):
- * wtf/Platform.h:
-
-2009-07-07 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Sam Weinig.
-
- Stop loading constants into the register file.
-
- Instead, use high register values (highest bit bar the sign bit set) to indicate
- constants in the instruction stream, and when we encounter such a value load it
- directly from the CodeBlock.
-
- Since constants are no longer copied into the register file, this patch renders
- the 'unexpected constant' mechanism redundant, and removes it.
-
- 2% improvement, thanks to Sam Weinig.
+ Relanding r60075.
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dump):
- (JSC::CodeBlock::CodeBlock):
- (JSC::CodeBlock::mark):
- (JSC::CodeBlock::shrinkToFit):
+ (JSC::CodeBlock::getByIdExceptionInfoForBytecodeOffset):
* bytecode/CodeBlock.h:
- (JSC::CodeBlock::isTemporaryRegisterIndex):
- (JSC::CodeBlock::constantRegister):
- (JSC::CodeBlock::isConstantRegisterIndex):
- (JSC::CodeBlock::getConstant):
- (JSC::ExecState::r):
* bytecode/Opcode.h:
* bytecompiler/BytecodeGenerator.cpp:
- (JSC::BytecodeGenerator::preserveLastVar):
(JSC::BytecodeGenerator::BytecodeGenerator):
- (JSC::BytecodeGenerator::addConstantValue):
- (JSC::BytecodeGenerator::emitEqualityOp):
- (JSC::BytecodeGenerator::emitLoad):
- (JSC::BytecodeGenerator::emitResolveBase):
- (JSC::BytecodeGenerator::emitResolveWithBase):
- (JSC::BytecodeGenerator::emitNewError):
+ (JSC::BytecodeGenerator::emitConstruct):
* bytecompiler/BytecodeGenerator.h:
- (JSC::BytecodeGenerator::emitNode):
- * interpreter/CallFrame.h:
- (JSC::ExecState::noCaller):
- (JSC::ExecState::hasHostCallFrameFlag):
- (JSC::ExecState::addHostCallFrameFlag):
- (JSC::ExecState::removeHostCallFrameFlag):
+ (JSC::BytecodeGenerator::emitGetByIdExceptionInfo):
* interpreter/Interpreter.cpp:
- (JSC::Interpreter::resolve):
- (JSC::Interpreter::resolveSkip):
- (JSC::Interpreter::resolveGlobal):
- (JSC::Interpreter::resolveBase):
- (JSC::Interpreter::resolveBaseAndProperty):
- (JSC::Interpreter::resolveBaseAndFunc):
- (JSC::Interpreter::dumpRegisters):
- (JSC::Interpreter::throwException):
- (JSC::Interpreter::createExceptionScope):
(JSC::Interpreter::privateExecute):
- (JSC::Interpreter::retrieveArguments):
* jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
- * jit/JITInlineMethods.h:
- (JSC::JIT::emitLoadDouble):
- (JSC::JIT::emitLoadInt32ToDouble):
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_new_error):
- (JSC::JIT::emit_op_enter):
- (JSC::JIT::emit_op_enter_with_activation):
- * parser/Nodes.cpp:
- (JSC::DeleteResolveNode::emitBytecode):
- (JSC::DeleteValueNode::emitBytecode):
- (JSC::PrefixResolveNode::emitBytecode):
- * runtime/JSActivation.cpp:
- (JSC::JSActivation::JSActivation):
- * wtf/Platform.h:
-
-2009-07-07 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Darin Adler.
-
- Fix <https://bugs.webkit.org/show_bug.cgi?id=27025> / <rdar://problem/7033448>.
- Bug 27025: Crashes and regression test failures related to regexps in 64-bit
-
- For x86_64 RegexGenerator uses rbx, a callee-save register, as a scratch register but
- neglects to save and restore it. The change in handling of the output vector in r45545
- altered code generation so that the RegExp::match was now storing important data in rbx,
- which caused crashes and bogus results when it was clobbered.
-
- * yarr/RegexJIT.cpp:
- (JSC::Yarr::RegexGenerator::generateEnter): Save rbx.
- (JSC::Yarr::RegexGenerator::generateReturn): Restore rbx.
-
-2009-07-06 Ada Chan <adachan@apple.com>
-
- Reviewed by Darin Adler and Mark Rowe.
-
- Decommitted spans are added to the list of normal spans rather than
- the returned spans in TCMalloc_PageHeap::Delete().
- https://bugs.webkit.org/show_bug.cgi?id=26998
-
- In TCMalloc_PageHeap::Delete(), the deleted span can be decommitted in
- the process of merging with neighboring spans that are also decommitted.
- The merged span needs to be placed in the list of returned spans (spans
- whose memory has been returned to the system). Right now it's always added
- to the list of the normal spans which can theoretically cause thrashing.
-
- * wtf/FastMalloc.cpp:
- (WTF::TCMalloc_PageHeap::Delete):
-
-2009-07-05 Lars Knoll <lars.knoll@nokia.com>
-
- Reviewed by Maciej Stachowiak.
-
- https://bugs.webkit.org/show_bug.cgi?id=26843
-
- Fix run-time crashes in JavaScriptCore with the Metrowerks compiler on Symbian.
-
- The Metrowerks compiler on the Symbian platform moves the globally
- defined Hashtables into read-only memory, despite one of the members
- being mutable. This causes crashes at run-time due to write access to
- read-only memory.
-
- Avoid the use of const with this compiler by introducing the
- JSC_CONST_HASHTABLE macro.
-
- Based on idea by Norbert Leser.
-
- * runtime/Lookup.h: Define JSC_CONST_HASHTABLE as const for !WINSCW.
- * create_hash_table: Use JSC_CONST_HASHTABLE for hashtables.
- * runtime/JSGlobalData.cpp: Import various global hashtables via the macro.
-
-2009-07-04 Dan Bernstein <mitz@apple.com>
-
- - debug build fix
-
- * runtime/RegExpConstructor.cpp:
- (JSC::RegExpConstructor::getLastParen):
-
-2009-07-03 Yong Li <yong.li@torchmobile.com>
-
- Reviewed by Maciej Stachowiak (and revised slightly)
-
- RegExp::match to be optimized
- https://bugs.webkit.org/show_bug.cgi?id=26957
-
- Allow regexp matching to use Vectors with inline capacity instead of
- allocating a new ovector buffer every time.
-
- ~5% speedup on SunSpider string-unpack-code test, 0.3% on SunSpider overall.
-
- * runtime/RegExp.cpp:
- (JSC::RegExp::match):
- * runtime/RegExp.h:
- * runtime/RegExpConstructor.cpp:
- (JSC::RegExpConstructorPrivate::RegExpConstructorPrivate):
- (JSC::RegExpConstructorPrivate::lastOvector):
- (JSC::RegExpConstructorPrivate::tempOvector):
- (JSC::RegExpConstructorPrivate::changeLastOvector):
- (JSC::RegExpConstructor::performMatch):
- (JSC::RegExpMatchesArray::RegExpMatchesArray):
- (JSC::RegExpMatchesArray::fillArrayInstance):
- (JSC::RegExpConstructor::getBackref):
- (JSC::RegExpConstructor::getLastParen):
- (JSC::RegExpConstructor::getLeftContext):
- (JSC::RegExpConstructor::getRightContext):
- * runtime/StringPrototype.cpp:
- (JSC::stringProtoFuncSplit):
-
-2009-06-30 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- Override operator new/delete with const std::nothrow_t& as the second
- argument.
- https://bugs.webkit.org/show_bug.cgi?id=26792
-
- On Windows CE, operator new/delete, new[]/delete[] with const
- std::nothrow_t& must be overrided because some standard template
- libraries use these operators.
-
- The problem occurs when memory allocated by new(size_t s, const
- std::nothrow_t&) is freed by delete(void* p). This causes the umatched
- malloc/free problem.
-
- The patch overrides all new, delete, new[] and delete[] to use
- fastMaloc and fastFree consistently.
-
- * wtf/FastMalloc.h:
- (throw):
-
-2009-06-30 Gabor Loki <loki@inf.u-szeged.hu>
-
- Reviewed by Sam Weinig.
-
- <https://bugs.webkit.org/show_bug.cgi?id=24986>
-
- Remove unnecessary references to AssemblerBuffer.
-
- * interpreter/Interpreter.cpp:
- * interpreter/Interpreter.h:
-
-2009-06-29 David Levin <levin@chromium.org>
-
- Reviewed by Oliver Hunt.
-
- Still seeing occasional leaks from UString::sharedBuffer code
- https://bugs.webkit.org/show_bug.cgi?id=26420
-
- The problem is that the pointer to the memory allocation isn't visible
- by "leaks" due to the lower bits being used as flags. The fix is to
- make the pointer visible in memory (in debug only). The downside of
- this fix that the memory allocated by sharedBuffer will still look like
- a leak in non-debug builds when any flags are set.
-
- * wtf/PtrAndFlags.h:
- (WTF::PtrAndFlags::set):
-
-2009-06-29 Sam Weinig <sam@webkit.org>
-
- Reviewed by Mark Rowe.
-
- Remove more unused scons support.
-
- * SConstruct: Removed.
-
-2009-06-29 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- <rdar://problem/7016214> JSON.parse fails to parse valid JSON with most Unicode characters
- <https://bugs.webkit.org/show_bug.cgi?id=26802>
-
- In the original JSON.parse patch unicode was handled correctly, however in some last
- minute "clean up" I oversimplified isSafeStringCharacter. This patch corrects this bug.
-
- * runtime/LiteralParser.cpp:
- (JSC::isSafeStringCharacter):
- (JSC::LiteralParser::Lexer::lexString):
-
-2009-06-26 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Dan Bernstein.
-
- <rdar://problem/7009684> REGRESSION(r45039): Crashes inside JSEvent::put on PowerPC (26746)
- <https://bugs.webkit.org/show_bug.cgi?id=26746>
-
- Fix for r45039 incorrectly uncached a get_by_id by converting it to put_by_id. Clearly this
- is less than correct. This patch corrects that error.
-
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::tryCacheGetByID):
-
-2009-06-26 Eric Seidel <eric@webkit.org>
-
- No review, only rolling out r45259.
-
- Roll out r45259 after crash appeared on the bots:
- plugins/undefined-property-crash.html
- ASSERTION FAILED: s <= HeapConstants<heapType>::cellSize
- (leopard-intel-debug-tests/build/JavaScriptCore/runtime/Collector.cpp:278
- void* JSC::Heap::heapAllocate(size_t) [with JSC::HeapType heapType = PrimaryHeap])
-
- * runtime/DateInstance.cpp:
- * runtime/Identifier.cpp:
- * runtime/Lookup.h:
- * runtime/RegExpConstructor.cpp:
- * runtime/RegExpObject.h:
- * runtime/ScopeChain.h:
- * runtime/UString.h:
-
-2009-06-26 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Add support for QDataStream operators to Vector.
-
- * wtf/Vector.h:
- (WTF::operator<<):
- (WTF::operator>>):
-
-2009-06-24 Sam Weinig <sam@webkit.org>
-
- Reviewed by Gavin Barraclough.
-
- Make the opcode sampler work once again.
-
* jit/JIT.h:
- (JSC::JIT::compileGetByIdProto):
- (JSC::JIT::compileGetByIdSelfList):
- (JSC::JIT::compileGetByIdProtoList):
- (JSC::JIT::compileGetByIdChainList):
- (JSC::JIT::compileGetByIdChain):
- (JSC::JIT::compilePutByIdTransition):
- (JSC::JIT::compileCTIMachineTrampolines):
- (JSC::JIT::compilePatchGetArrayLength):
- * jit/JITStubCall.h:
- (JSC::JITStubCall::call):
-
-2009-06-24 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
-
- Reviewed by Maciej Stachowiak.
-
- Extend FastAllocBase.h with 'using WTF::FastAllocBase' to avoid
- unnecessary WTF:: usings.
- Remove existing unnecessary WTF:: usings.
-
- * interpreter/Interpreter.h:
- * profiler/CallIdentifier.h:
- * runtime/ScopeChain.h:
- * wtf/FastAllocBase.h:
-
-2009-06-24 David Levin <levin@chromium.org>
-
- Fix all builds.
-
- * bytecode/CodeBlock.h:
- * bytecompiler/BytecodeGenerator.h:
- * interpreter/Register.h:
-
-2009-06-24 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
-
- Reviewed by Maciej Stachowiak.
-
- https://bugs.webkit.org/show_bug.cgi?id=26677
-
- Inherits CodeBlock class from FastAllocBase because it
- has been instantiated by 'new' in JavaScriptCore/bytecode/CodeBlock.h:217.
-
- * bytecode/CodeBlock.h:
-
-2009-06-24 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
-
- Reviewed by Maciej Stachowiak.
-
- https://bugs.webkit.org/show_bug.cgi?id=26676
-
- Inherits BytecodeGenerator class from FastAllocBase because it has been
- instantiated by 'new' in JavaScriptCore/parser/Nodes.cpp:1892.
-
- * bytecompiler/BytecodeGenerator.h:
-
-2009-06-24 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
-
- Reviewed by Maciej Stachowiak.
-
- https://bugs.webkit.org/show_bug.cgi?id=26675
-
- Inherits Register class from FastAllocBase because it has been
- instantiated by 'new' in JavaScriptCore/runtime/JSVariableObject.h:149.
-
- * interpreter/Register.h:
-
-2009-06-24 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=26674
-
- Inherits HashMap class from FastAllocBase because it has been
- instantiated by 'new' in JavaScriptCore/runtime/Structure.cpp:458.
-
- * wtf/HashMap.h:
-
-2009-06-24 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/6940519> REGRESSION (Safari 4 Public Beta - TOT): google.com/adplanner shows blank page instead of site details in "basic research'
-
- The problem was caused by the page returned with a function using a
- var declaration list containing around ~3000 variables. The solution
- to this is to flatten the comma expression representation and make
- codegen comma expressions and initializer lists iterative rather than
- recursive.
-
- * parser/Grammar.y:
- * parser/NodeConstructors.h:
- (JSC::CommaNode::CommaNode):
- * parser/Nodes.cpp:
- (JSC::CommaNode::emitBytecode):
- * parser/Nodes.h:
- (JSC::ExpressionNode::isCommaNode):
- (JSC::CommaNode::isCommaNode):
- (JSC::CommaNode::append):
-
-2009-06-24 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
-
- Reviewed by Maciej Stachowiak.
-
- https://bugs.webkit.org/show_bug.cgi?id=26645
-
- Inherits ScopeChainNode class from FastAllocBase because it has been
- instantiated by 'new' in JavaScriptCore/runtime/ScopeChain.h:95.
-
- * wtf/RefPtr.h:
-
-2009-06-24 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=26648
-
- Inherits Deque class from FastAllocBase because it has been
- instantiated by 'new' with DEFINE_STATIC_LOCAL macro in
- JavaScriptCore/wtf/MainThread.cpp:62.
-
- * wtf/Deque.h:
-
-2009-06-24 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=26644
-
- Inherits RefPtr class from FastAllocBase because it has been
- instantiated by 'new' in JavaScriptCore/runtime/StructureChain.cpp:41.
-
- * wtf/RefPtr.h:
-
-2009-06-24 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
-
- Reviewed by Darin Adler.
-
- Inherits HashSet class from FastAllocBase, because it has been
- instantiated by 'new' in JavaScriptCore/runtime/Collector.h:116.
-
- * wtf/HashSet.h:
-
-2009-06-24 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
-
- Reviewed by Darin Adler.
-
- Inherits Vector class from FastAllocBase because it has been
- instantiated by 'new' in JavaScriptCore/runtime/Structure.cpp:633.
-
- * wtf/Vector.h:
-
-2009-06-24 Norbert Leser <norbert.leser@nokia.com>
-
- Reviewed by Maciej Stachoviak.
-
- The BytecodeGenerator objects were instantiated on stack, which takes up ~38kB per instance
- (each instance includes copy of JSC::CodeBlock with large SymbolTable, etc.).
- Specifically, since there is nested invocation (e.g., GlobalCode --> FunctionCode),
- the stack overflows immediately on Symbian hardware (max. 80 kB).
- Proposed change allocates generator objects on heap.
- Performance impact (if any) should be negligible and change is proposed as general fix,
- rather than ifdef'd for SYMBIAN.
-
- * parser/Nodes.cpp:
- (JSC::ProgramNode::generateBytecode):
- (JSC::EvalNode::generateBytecode):
- (JSC::EvalNode::bytecodeForExceptionInfoReparse):
- (JSC::FunctionBodyNode::generateBytecode):
- (JSC::FunctionBodyNode::bytecodeForExceptionInfoReparse):
-
-2009-06-23 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- <rdar://problem/6992806> REGRESSION: Enumeration can skip new properties in cases of prototypes that have more than 64 (26593)
- <https://bugs.webkit.org/show_bug.cgi?id=26593>
-
- Do not attempt to cache structure chains if they contain a dictionary at any level.
-
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::tryCachePutByID):
- (JSC::Interpreter::tryCacheGetByID):
- * jit/JITStubs.cpp:
- (JSC::JITThunks::tryCachePutByID):
- * runtime/Structure.cpp:
- (JSC::Structure::getEnumerablePropertyNames):
- (JSC::Structure::addPropertyTransition):
- * runtime/StructureChain.cpp:
- (JSC::StructureChain::isCacheable):
- * runtime/StructureChain.h:
-
-2009-06-23 Yong Li <yong.li@torchmobile.com>
-
- Reviewed by George Staikos.
-
- https://bugs.webkit.org/show_bug.cgi?id=26654
- Add the proper export define for the JavaScriptCore API when building for WINCE.
-
- * API/JSBase.h:
-
-2009-06-23 Joe Mason <joe.mason@torchmobile.com>
-
- Reviewed by Adam Treat.
-
- Authors: Yong Li <yong.li@torchmobile.com>, Joe Mason <joe.mason@torchmobile.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=26611
- Implement currentThreadStackBase on WINCE by adding a global,
- g_stackBase, which must be set to the address of a local variable
- by the caller before calling any WebKit function that invokes JSC.
-
- * runtime/Collector.cpp:
- (JSC::isPageWritable):
- (JSC::getStackBase):
- Starts at the top of the stack and returns the entire range of
- consecutive writable pages as an estimate of the actual stack.
- This will be much bigger than the actual stack range, so some
- dead objects can't be collected, but it guarantees live objects
- aren't collected prematurely.
-
- (JSC::currentThreadStackBase):
- On WinCE, returns g_stackBase if set or call getStackBase as a
- fallback if not.
-
-2009-06-23 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- Fix stupid performance problem in the LiteralParser
-
- The LiteralParser was making a new UString in order to use
- toDouble, however UString's toDouble allows a much wider range
- of numberic strings than the LiteralParser accepts, and requires
- an additional heap allocation or two for the construciton of the
- UString. To rectify this we just call WTF::dtoa directly using
- a stack allocated buffer to hold the validated numeric literal.
-
- * runtime/LiteralParser.cpp:
- (JSC::LiteralParser::Lexer::lexNumber):
- (JSC::LiteralParser::parse):
- * runtime/LiteralParser.h:
-
-2009-06-22 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- Bug 26640: JSON.stringify needs to special case Boolean objects
- <https://bugs.webkit.org/show_bug.cgi?id=26640>
-
- Add special case handling of the Boolean object so we match current
- ES5 errata.
-
- * runtime/JSONObject.cpp:
- (JSC::unwrapBoxedPrimitive): renamed from unwrapNumberOrString
- (JSC::gap):
- (JSC::Stringifier::appendStringifiedValue):
-
-2009-06-22 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Darin Adler.
-
- Bug 26591: Support revivers in JSON.parse
- <https://bugs.webkit.org/show_bug.cgi?id=26591>
-
- Add reviver support to JSON.parse. This completes the JSON object.
-
- * runtime/JSONObject.cpp:
- (JSC::Walker::Walker):
- (JSC::Walker::callReviver):
- (JSC::Walker::walk):
- (JSC::JSONProtoFuncParse):
-
-2009-06-21 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Darin Adler.
-
- Bug 26592: Support standard toJSON functions
- <https://bugs.webkit.org/show_bug.cgi?id=26592>
-
- Add support for the standard Date.toJSON function.
-
- * runtime/DatePrototype.cpp:
- (JSC::dateProtoFuncToJSON):
-
-2009-06-21 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Sam Weinig.
-
- Bug 26594: JSC needs to support Date.toISOString
- <https://bugs.webkit.org/show_bug.cgi?id=26594>
-
- Add support for Date.toISOString.
-
- * runtime/DatePrototype.cpp:
- (JSC::dateProtoFuncToISOString):
-
-2009-06-21 Oliver Hunt <oliver@apple.com>
-
- Remove dead code.
-
- * runtime/LiteralParser.cpp:
- (JSC::LiteralParser::parse):
-
-2009-06-21 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Darin Adler and Cameron Zwarich.
-
- Bug 26587: Support JSON.parse
- <https://bugs.webkit.org/show_bug.cgi?id=26587>
-
- Extend the LiteralParser to support the full strict JSON
- grammar, fix a few places where the grammar was incorrectly
- lenient. Doesn't yet support the JSON.parse reviver function
- but that does not block the JSON.parse functionality itself.
-
- * interpreter/Interpreter.cpp:
- (JSC::Interpreter::callEval):
- * runtime/JSGlobalObjectFunctions.cpp:
- (JSC::globalFuncEval):
- * runtime/JSONObject.cpp:
- (JSC::JSONProtoFuncParse):
- * runtime/LiteralParser.cpp:
- (JSC::LiteralParser::Lexer::lex):
- (JSC::isSafeStringCharacter):
- (JSC::LiteralParser::Lexer::lexString):
- (JSC::LiteralParser::parse):
- * runtime/LiteralParser.h:
- (JSC::LiteralParser::LiteralParser):
- (JSC::LiteralParser::tryJSONParse):
- (JSC::LiteralParser::):
- (JSC::LiteralParser::Lexer::Lexer):
-
-2009-06-21 David Levin <levin@chromium.org>
-
- Reviewed by NOBODY (speculative build fix for windows).
-
- Simply removed some whitespace form this file to make windows build wtf and
- hopefully copy the new MessageQueque.h so that WebCore picks it up.
-
- * wtf/Assertions.cpp:
-
-2009-06-21 Drew Wilson <atwilson@google.com>
-
- Reviewed by David Levin.
-
- <https://bugs.webkit.org/show_bug.cgi?id=25043>
- Added support for multi-threaded MessagePorts.
-
- * wtf/MessageQueue.h:
- (WTF::::appendAndCheckEmpty):
- Added API to test whether the queue was empty before adding an element.
-
-2009-06-20 David D. Kilzer <ddkilzer@webkit.org>
-
- Fix namespace comment in SegmentedVector.h
-
- * wtf/SegmentedVector.h: Updated namespace comment to reflect
- new namespace after r44897.
-
-2009-06-20 Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
-
- Bug 24986: ARM JIT port
- <https://bugs.webkit.org/show_bug.cgi?id=24986>
-
- Reviewed by Oliver Hunt.
-
- An Iterator added for SegmentedVector. Currently
- only the pre ++ operator is supported.
-
- * wtf/SegmentedVector.h:
- (WTF::SegmentedVectorIterator::~SegmentedVectorIterator):
- (WTF::SegmentedVectorIterator::operator*):
- (WTF::SegmentedVectorIterator::operator->):
- (WTF::SegmentedVectorIterator::operator++):
- (WTF::SegmentedVectorIterator::operator==):
- (WTF::SegmentedVectorIterator::operator!=):
- (WTF::SegmentedVectorIterator::operator=):
- (WTF::SegmentedVectorIterator::SegmentedVectorIterator):
- (WTF::SegmentedVector::alloc):
- (WTF::SegmentedVector::begin):
- (WTF::SegmentedVector::end):
-
-2009-06-20 Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
-
- Bug 24986: ARM JIT port
- <https://bugs.webkit.org/show_bug.cgi?id=24986>
-
- Reviewed by Oliver Hunt.
-
- Move SegmentedVector to /wtf subdirectory
- and change "namespace JSC" to "namespace WTF"
-
- Additional build file updates by David Kilzer.
-
- * GNUmakefile.am: Updated path to SegmentedVector.h.
- * JavaScriptCore.order: Updated SegmentedVector namespace from
- JSC to WTF in mangled C++ method name.
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
- Removed reference to bytecompiler\SegmentedVector.h.
- * JavaScriptCore.vcproj/WTF/WTF.vcproj: Added reference to
- wtf\SegmentedVector.h.
- * JavaScriptCore.xcodeproj/project.pbxproj: Moved
- SegmentedVector.h definition from bytecompiler subdirectory to
- wtf subdirectory.
- * bytecompiler/BytecodeGenerator.h: Updated #include path to
- SegmentedVector.h and prepended WTF:: namespace to its use.
- * parser/Lexer.h: Ditto.
- * wtf/SegmentedVector.h: Renamed from JavaScriptCore/bytecompiler/SegmentedVector.h.
- (WTF::SegmentedVector::SegmentedVector):
- (WTF::SegmentedVector::~SegmentedVector):
- (WTF::SegmentedVector::size):
- (WTF::SegmentedVector::at):
- (WTF::SegmentedVector::operator[]):
- (WTF::SegmentedVector::last):
- (WTF::SegmentedVector::append):
- (WTF::SegmentedVector::removeLast):
- (WTF::SegmentedVector::grow):
- (WTF::SegmentedVector::clear):
- (WTF::SegmentedVector::deleteAllSegments):
- (WTF::SegmentedVector::segmentExistsFor):
- (WTF::SegmentedVector::segmentFor):
- (WTF::SegmentedVector::subscriptFor):
- (WTF::SegmentedVector::ensureSegmentsFor):
- (WTF::SegmentedVector::ensureSegment):
-
-2009-06-19 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (build fix take 2 - rename FIELD_OFFSET to something that doesn't conflict with winnt.h).
-
- * jit/JIT.cpp:
- (JSC::JIT::privateCompile):
- (JSC::JIT::privateCompileCTIMachineTrampolines):
- (JSC::JIT::emitGetVariableObjectRegister):
- (JSC::JIT::emitPutVariableObjectRegister):
- * jit/JIT.h:
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_rshift):
- (JSC::JIT::emitSlow_op_jnless):
- (JSC::JIT::emitSlow_op_jnlesseq):
- (JSC::JIT::compileBinaryArithOp):
* jit/JITCall.cpp:
- (JSC::JIT::compileOpCallInitializeCallFrame):
(JSC::JIT::compileOpCall):
- * jit/JITInlineMethods.h:
- (JSC::JIT::restoreArgumentReference):
- (JSC::JIT::checkStructure):
+ (JSC::JIT::compileOpCallSlowCase):
+ * jit/JITCall32_64.cpp:
+ (JSC::JIT::compileOpCall):
+ (JSC::JIT::compileOpCallSlowCase):
* jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_instanceof):
- (JSC::JIT::emit_op_get_scoped_var):
- (JSC::JIT::emit_op_put_scoped_var):
- (JSC::JIT::emit_op_construct_verify):
- (JSC::JIT::emit_op_resolve_global):
- (JSC::JIT::emit_op_jeq_null):
- (JSC::JIT::emit_op_jneq_null):
- (JSC::JIT::emit_op_to_jsnumber):
- (JSC::JIT::emit_op_catch):
- (JSC::JIT::emit_op_eq_null):
+ (JSC::JIT::privateCompileCTIMachineTrampolines):
+ (JSC::JIT::privateCompileCTINativeCall):
(JSC::JIT::emit_op_neq_null):
(JSC::JIT::emit_op_convert_this):
- (JSC::JIT::emit_op_profile_will_call):
- (JSC::JIT::emit_op_profile_did_call):
- (JSC::JIT::emitSlow_op_get_by_val):
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::emit_op_get_by_val):
- (JSC::JIT::emit_op_put_by_val):
- (JSC::JIT::emit_op_method_check):
- (JSC::JIT::compileGetByIdHotPath):
- (JSC::JIT::emit_op_put_by_id):
- (JSC::JIT::compilePutDirectOffset):
- (JSC::JIT::compileGetDirectOffset):
- (JSC::JIT::privateCompilePutByIdTransition):
- (JSC::JIT::privateCompilePatchGetArrayLength):
- * jit/JITStubs.cpp:
- (JSC::JITThunks::JITThunks):
-
-2009-06-19 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (Windows build fix).
-
- * jit/JIT.h:
- * jit/JITInlineMethods.h:
-
-2009-06-19 Gabor Loki <loki@inf.u-szeged.hu>
-
- Reviewed by Gavin Barraclough.
-
- Reorganize ARM architecture specific macros.
- Use PLATFORM_ARM_ARCH(7) instead of PLATFORM(ARM_V7).
-
- Bug 24986: ARM JIT port
- <https://bugs.webkit.org/show_bug.cgi?id=24986>
-
- * assembler/ARMv7Assembler.h:
- * assembler/AbstractMacroAssembler.h:
- (JSC::AbstractMacroAssembler::Imm32::Imm32):
- * assembler/MacroAssembler.h:
- * assembler/MacroAssemblerCodeRef.h:
- (JSC::MacroAssemblerCodePtr::MacroAssemblerCodePtr):
- * jit/ExecutableAllocator.h:
- (JSC::ExecutableAllocator::cacheFlush):
- * jit/JIT.h:
- * jit/JITInlineMethods.h:
- (JSC::JIT::restoreArgumentReferenceForTrampoline):
- * jit/JITStubs.cpp:
- * jit/JITStubs.h:
- * wtf/Platform.h:
- * yarr/RegexJIT.cpp:
- (JSC::Yarr::RegexGenerator::generateEnter):
- (JSC::Yarr::RegexGenerator::generateReturn):
-
-2009-06-19 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Fix armv7 JIT build issues.
-
- Unfortunate the arm compiler does not like the use of offsetof on JITStackFrame (since it now contains non POD types),
- and the FIELD_OFFSET macro does not appear constantish enough for it to be happy with its use in COMPILE_ASSERT macros.
-
- * Replace offsetofs with FIELD_OFFSETs (safe on C++ objects).
- * Move COMPILE_ASSERTs defending layout of JITStackFrame structure on armv7 into JITThunks constructor.
-
- * jit/JIT.cpp:
- * jit/JIT.h:
- * jit/JITInlineMethods.h:
- (JSC::JIT::restoreArgumentReference):
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_catch):
- * jit/JITStubs.cpp:
- (JSC::JITThunks::JITThunks):
-
-2009-06-19 Adam Treat <adam.treat@torchmobile.com>
-
- Blind attempt at build fix.
-
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
-
-2009-06-19 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
-
- Reviewed by Oliver Hunt.
-
- Inherits CallIdentifier struct from FastAllocBase because it has been
- instantiated by 'new' in JavaScriptCore/profiler/CallIdentifier.h:86.
-
- * wtf/HashCountedSet.h:
-
-2009-06-19 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=26540
- Modify the test shell to add a new function 'checkSyntax' that will
- only parse the source instead of executing it. In this way we can test
- pure parsing performance against some of the larger scripts in the wild.
-
- * jsc.cpp:
- (GlobalObject::GlobalObject):
- (functionCheckSyntax):
-
-2009-06-19 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
-
- Reviewed by Darin Adler.
-
- Inherits HashCountedSet class from FastAllocBase because it has been
- instantiated by 'new' in JavaScriptCore/runtime/Collector.cpp:1095.
-
- * wtf/HashCountedSet.h:
-
-2009-06-19 Yong Li <yong.li@torchmobile.com>
-
- Reviewed by George Staikos.
-
- https://bugs.webkit.org/show_bug.cgi?id=26558
- Declare these symbols extern for WINCE as they are provided by libce.
-
- * runtime/DateConstructor.cpp:
- * runtime/DatePrototype.cpp:
- (JSC::formatLocaleDate):
-
-2009-06-19 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- <rdar://problem/6988973> ScopeChain leak in interpreter builds
-
- Move the Scopechain destruction code in JSFunction outside of the ENABLE(JIT)
- path.
-
- * runtime/JSFunction.cpp:
- (JSC::JSFunction::~JSFunction):
- * wtf/Platform.h:
-
-2009-06-19 Yong Li <yong.li@torchmobile.com>
-
- Reviewed by George Staikos.
-
- https://bugs.webkit.org/show_bug.cgi?id=26543
- Windows CE uses 'GetLastError' instead of 'errno.'
-
- * interpreter/RegisterFile.h:
- (JSC::RegisterFile::RegisterFile):
- (JSC::RegisterFile::grow):
-
-2009-06-19 David Levin <levin@chromium.org>
-
- Reviewed by NOBODY (Windows build fix).
-
- Add export for Windows corresponding to OSX export done in r44844.
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
-
-2009-06-18 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin "Viceroy of Venezuela" Barraclough.
-
- Bug 26532: Native functions do not correctly unlink from optimised callsites when they're collected
- <https://bugs.webkit.org/show_bug.cgi?id=26532> <rdar://problem/6625385>
-
- We need to make sure that each native function instance correctly unlinks any references to it
- when it is collected. Allowing this to happen required a few changes:
- * Every native function needs a codeblock to track the link information
- * To have this codeblock, every function now also needs its own functionbodynode
- so we no longer get to have a single shared instance.
- * Identifying a host function is now done by looking for CodeBlock::codeType() == NativeCode
-
- * JavaScriptCore.exp:
- * bytecode/CodeBlock.cpp:
- (JSC::CodeBlock::CodeBlock):
- Constructor for NativeCode CodeBlock
- (JSC::CodeBlock::derefStructures):
- (JSC::CodeBlock::refStructures):
- (JSC::CodeBlock::reparseForExceptionInfoIfNecessary):
- (JSC::CodeBlock::handlerForBytecodeOffset):
- (JSC::CodeBlock::lineNumberForBytecodeOffset):
- (JSC::CodeBlock::expressionRangeForBytecodeOffset):
- (JSC::CodeBlock::getByIdExceptionInfoForBytecodeOffset):
- (JSC::CodeBlock::functionRegisterForBytecodeOffset):
- (JSC::CodeBlock::hasGlobalResolveInstructionAtBytecodeOffset):
- (JSC::CodeBlock::hasGlobalResolveInfoAtBytecodeOffset):
- (JSC::CodeBlock::setJITCode):
- Add assertions to ensure we don't try and use NativeCode CodeBlocks as
- a normal codeblock.
-
- * bytecode/CodeBlock.h:
- (JSC::):
- (JSC::CodeBlock::source):
- (JSC::CodeBlock::sourceOffset):
- (JSC::CodeBlock::evalCodeCache):
- (JSC::CodeBlock::createRareDataIfNecessary):
- More assertions.
-
- * jit/JIT.cpp:
+ (JSC::JIT::emit_op_get_callee):
+ (JSC::JIT::emit_op_create_this):
+ * jit/JITOpcodes32_64.cpp:
(JSC::JIT::privateCompileCTIMachineTrampolines):
- (JSC::JIT::linkCall):
- Update logic to allow native function caching
-
- * jit/JITStubs.cpp:
- * parser/Nodes.cpp:
- (JSC::FunctionBodyNode::createNativeThunk):
- (JSC::FunctionBodyNode::isHostFunction):
- * parser/Nodes.h:
- * runtime/JSFunction.cpp:
- (JSC::JSFunction::JSFunction):
- (JSC::JSFunction::~JSFunction):
- (JSC::JSFunction::mark):
- * runtime/JSGlobalData.cpp:
- (JSC::JSGlobalData::~JSGlobalData):
- * runtime/JSGlobalData.h:
-
-2009-06-18 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (Windows build fix).
-
- * wtf/DateMath.cpp:
- (WTF::calculateUTCOffset):
-
-2009-06-18 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Geoff Garen.
-
- Timezone calculation incorrect in Venezuela.
-
- https://bugs.webkit.org/show_bug.cgi?id=26531
- <rdar://problem/6646169> Time is incorrectly reported to JavaScript in both Safari 3 and Firefox 3
-
- The problem is that we're calculating the timezone relative to 01/01/2000,
- but the VET timezone changed from -4 hours to -4:30 hours on 12/09/2007.
- According to the spec, section 15.9.1.9 states "the time since the beginning
- of the year", presumably meaning the *current* year. Change the calculation
- to be based on whatever the current year is, rather than a canned date.
-
- No performance impact.
-
- * wtf/DateMath.cpp:
- (WTF::calculateUTCOffset):
-
-2009-06-18 Gavin Barraclough <barraclough@apple.com>
-
- Rubber Stamped by Mark Rowe (originally reviewed by Sam Weinig).
-
- (Reintroducing patch added in r44492, and reverted in r44796.)
-
- Change the implementation of op_throw so the stub function always modifies its
- return address - if it doesn't find a 'catch' it will switch to a trampoline
- to force a return from JIT execution. This saves memory, by avoiding the need
- for a unique return for every op_throw.
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_throw):
- JITStubs::cti_op_throw now always changes its return address,
- remove return code generated after the stub call (this is now
- handled by ctiOpThrowNotCaught).
+ (JSC::JIT::privateCompileCTINativeCall):
+ (JSC::JIT::emit_op_get_callee):
+ (JSC::JIT::emit_op_create_this):
* jit/JITStubs.cpp:
- (JSC::):
- Add ctiOpThrowNotCaught definitions.
- (JSC::JITStubs::DEFINE_STUB_FUNCTION):
- Change cti_op_throw to always change its return address.
+ (JSC::DEFINE_STUB_FUNCTION):
+ (JSC::JITThunks::hostFunctionStub):
* jit/JITStubs.h:
- Add ctiOpThrowNotCaught declaration.
-
-2009-06-18 Kevin McCullough <kmccullough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- <rdar://problem/6940880> REGRESSION: Breakpoints don't break in 64-bit
-
- - Exposed functions now needed by WebCore.
-
- * JavaScriptCore.exp:
-
-2009-06-17 Darin Adler <darin@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Bug 26429: Make JSON.stringify non-recursive so it can handle objects
- of arbitrary complexity
- https://bugs.webkit.org/show_bug.cgi?id=26429
-
- For marking I decided not to use gcProtect, because this is inside the engine
- so it's easy enough to just do marking. And that darned gcProtect does locking!
- Oliver tried to convince me to used MarkedArgumentBuffer, but the constructor
- for that class says "FIXME: Remove all clients of this API, then remove this API."
-
- * runtime/Collector.cpp:
- (JSC::Heap::collect): Add a call to JSONObject::markStringifiers.
-
- * runtime/CommonIdentifiers.cpp:
- (JSC::CommonIdentifiers::CommonIdentifiers): Added emptyIdentifier.
- * runtime/CommonIdentifiers.h: Ditto.
-
- * runtime/JSGlobalData.cpp:
- (JSC::JSGlobalData::JSGlobalData): Initialize firstStringifierToMark to 0.
- * runtime/JSGlobalData.h: Added firstStringifierToMark.
-
- * runtime/JSONObject.cpp: Cut down the includes to the needed ones only.
- (JSC::unwrapNumberOrString): Added. Helper for unwrapping number and string
- objects to get their number and string values.
- (JSC::ReplacerPropertyName::ReplacerPropertyName): Added. The class is used
- to wrap an identifier or integer so we don't have to do any work unless we
- actually call a replacer.
- (JSC::ReplacerPropertyName::value): Added.
- (JSC::gap): Added. Helper function for the Stringifier constructor.
- (JSC::PropertyNameForFunctionCall::PropertyNameForFunctionCall): Added.
- The class is used to wrap an identifier or integer so we don't have to
- allocate a number or string until we actually call toJSON or a replacer.
- (JSC::PropertyNameForFunctionCall::asJSValue): Added.
- (JSC::Stringifier::Stringifier): Updated and moved out of the class
- definition. Added code to hook this into a singly linked list for marking.
- (JSC::Stringifier::~Stringifier): Remove from the singly linked list.
- (JSC::Stringifier::mark): Mark all the objects in the holder stacks.
- (JSC::Stringifier::stringify): Updated.
- (JSC::Stringifier::appendQuotedString): Tweaked and streamlined a bit.
- (JSC::Stringifier::toJSON): Renamed from toJSONValue.
- (JSC::Stringifier::appendStringifiedValue): Renamed from stringify.
- Added code to use the m_holderStack to do non-recursive stringify of
- objects and arrays. This code also uses the timeout checker since in
- pathological cases it could be slow even without calling into the
- JavaScript virtual machine.
- (JSC::Stringifier::willIndent): Added.
- (JSC::Stringifier::indent): Added.
- (JSC::Stringifier::unindent): Added.
- (JSC::Stringifier::startNewLine): Added.
- (JSC::Stringifier::Holder::Holder): Added.
- (JSC::Stringifier::Holder::appendNextProperty): Added. This is the
- function that handles the format of arrays and objects.
- (JSC::JSONObject::getOwnPropertySlot): Moved this down to the bottom
- of the file so the JSONObject class is not interleaved with the
- Stringifier class.
- (JSC::JSONObject::markStringifiers): Added. Calls mark.
- (JSC::JSONProtoFuncStringify): Streamlined the code here. The code
- to compute the gap string is now a separate function.
-
- * runtime/JSONObject.h: Made everything private. Added markStringifiers.
-
-2009-06-17 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- <rdar://problem/6974140> REGRESSION(r43849): Crash in cti_op_call_NotJSFunction when getting directions on maps.google.com
-
- Roll out r43849 as it appears that we cannot rely on the address of
- an objects property storage being constant even if the structure is
- unchanged.
-
- * jit/JIT.h:
- * jit/JITPropertyAccess.cpp:
- (JSC::JIT::compileGetDirectOffset):
- (JSC::JIT::privateCompileGetByIdProto):
- (JSC::JIT::privateCompileGetByIdProtoList):
- (JSC::JIT::privateCompileGetByIdChainList):
- (JSC::JIT::privateCompileGetByIdChain):
-
-2009-06-17 Gavin Barraclough <barraclough@apple.com>
-
- Rubber Stamped by Mark Rowe.
-
- Fully revert r44492 & r44748 while we fix a bug they cause on internal builds <rdar://problem/6955963>.
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_throw):
- * jit/JITStubs.cpp:
+ (JSC::JITThunks::ctiNativeConstruct):
(JSC::):
- (JSC::JITStubs::DEFINE_STUB_FUNCTION):
- * jit/JITStubs.h:
-
-2009-06-17 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Mark Rowe.
-
- <rdar://problem/6947426> sunspider math-cordic.js exhibits different intermediate results running 32-bit vs. 64-bit
-
- On 64-bit, NaN-encoded values must be detagged before they can be used in rshift.
-
- No performance impact.
-
- * jit/JITArithmetic.cpp:
- (JSC::JIT::emit_op_rshift):
-
-2009-06-17 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by George Staikos.
-
- https://bugs.webkit.org/show_bug.cgi?id=23155
- Move WIN_CE -> WINCE as previously discussed with Qt WINCE folks.
-
- * jsc.cpp:
- (main):
-
-2009-06-17 George Staikos <george.staikos@torchmobile.com>
-
- Reviewed by Adam Treat.
-
- https://bugs.webkit.org/show_bug.cgi?id=23155
- Move WIN_CE -> WINCE as previously discussed with Qt WINCE folks.
-
- * config.h:
- * jsc.cpp:
- * wtf/Assertions.cpp:
- * wtf/Assertions.h:
- * wtf/CurrentTime.cpp:
- (WTF::lowResUTCTime):
- * wtf/DateMath.cpp:
- (WTF::getLocalTime):
- * wtf/MathExtras.h:
+ * runtime/ExceptionHelpers.cpp:
+ (JSC::createNotAnObjectError):
+ * runtime/Executable.h:
+ (JSC::NativeExecutable::create):
+ (JSC::NativeExecutable::NativeExecutable):
+ * runtime/JSFunction.cpp:
+ (JSC::callHostFunctionAsConstructor):
+ * runtime/JSFunction.h:
* wtf/Platform.h:
- * wtf/StringExtras.h:
- * wtf/Threading.h:
- * wtf/win/MainThreadWin.cpp:
-
-2009-06-17 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- <rdar://problem/6974175> ASSERT in JITStubs.cpp at appsaccess.apple.com
-
- Remove PropertySlot::putValue - PropertySlots should only be used for getting,
- not putting. Rename JSGlobalObject::getOwnPropertySlot to hasOwnPropertyForWrite,
- which is what it really was being used to ask, and remove some other getOwnPropertySlot
- & getOwnPropertySlotForWrite methods, which were unused and likely to lead to confusion.
-
- * runtime/JSGlobalObject.h:
- (JSC::JSGlobalObject::hasOwnPropertyForWrite):
- * runtime/JSObject.h:
- * runtime/JSStaticScopeObject.cpp:
- * runtime/JSStaticScopeObject.h:
- * runtime/PropertySlot.h:
-
-2009-06-16 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver hunt.
-
- Temporarily partially disable r44492, since this is causing some problems on internal builds.
-
- * jit/JITOpcodes.cpp:
- (JSC::JIT::emit_op_throw):
- * jit/JITStubs.cpp:
- (JSC::JITStubs::DEFINE_STUB_FUNCTION):
-
-2009-06-16 Sam Weinig <sam@webkit.org>
-
- Fix windows build.
-
- * jit/JIT.cpp:
- (JSC::JIT::JIT):
-
-2009-06-16 Sam Weinig <sam@webkit.org>
-
- Reviewed by Oliver Hunt.
-
- Initialize m_bytecodeIndex to -1 in JIT, and correctly initialize
- it for each type of stub using the return address to find the correct
- offset.
-
- * jit/JIT.cpp:
- (JSC::JIT::JIT):
- * jit/JIT.h:
- (JSC::JIT::compileGetByIdProto):
- (JSC::JIT::compileGetByIdSelfList):
- (JSC::JIT::compileGetByIdProtoList):
- (JSC::JIT::compileGetByIdChainList):
- (JSC::JIT::compileGetByIdChain):
- (JSC::JIT::compilePutByIdTransition):
- (JSC::JIT::compileCTIMachineTrampolines):
- (JSC::JIT::compilePatchGetArrayLength):
- * jit/JITStubCall.h:
- (JSC::JITStubCall::call):
-== Rolled over to ChangeLog-2009-06-16 ==
+== Rolled over to ChangeLog-2010-05-24 ==
diff --git a/JavaScriptCore/ChangeLog-2010-05-24 b/JavaScriptCore/ChangeLog-2010-05-24
new file mode 100644
index 0000000..e6ec0f1
--- /dev/null
+++ b/JavaScriptCore/ChangeLog-2010-05-24
@@ -0,0 +1,28211 @@
+2010-05-24 Gavin Barraclough <barraclough@apple.com>
+
+ Rubber Stamped by Sam Weinig.
+
+ Accidentally committed double write of codeblock in Interpreter.
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+
+2010-05-24 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39583
+ Move creation of 'this' object from caller to callee in construction.
+
+ Presently the caller of a constructor is responsible for providing a this
+ object. Instead, move the object creation into a new op_create_this opcode,
+ planted in the head of the contructor bytecode for a function. Since the
+ prototype for the object is provided by performing a get_by_id on the callee,
+ also add a new get_callee opcode (this is used to get the callee JSFunction
+ into a register so that a normal get_by_id can be used).
+
+ Currently the caller is also responsible for detecting when op_construct is
+ performed on a JSFunction representing a host function, in which case an
+ exception is thrown – and this check currently takes place when constructing
+ the this object. Instead, mirroring the recent changes for non-host functions,
+ add a parallel code-path for native constructors to follow, with a thunk for
+ invoking native constructors provided by JITStubs, and a constructor-specific
+ NativeFunction on NativeExecutable. Provide an implementation of a host
+ constructor which will throw an exception.
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::dump):
+ (JSC::CodeBlock::getByIdExceptionInfoForBytecodeOffset):
+ * bytecode/CodeBlock.h:
+ * bytecode/Opcode.h:
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::BytecodeGenerator):
+ (JSC::BytecodeGenerator::emitConstruct):
+ * bytecompiler/BytecodeGenerator.h:
+ (JSC::BytecodeGenerator::emitGetByIdExceptionInfo):
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompileMainPass):
+ * jit/JIT.h:
+ * jit/JITCall.cpp:
+ (JSC::JIT::compileOpCall):
+ (JSC::JIT::compileOpCallSlowCase):
+ * jit/JITCall32_64.cpp:
+ (JSC::JIT::compileOpCall):
+ (JSC::JIT::compileOpCallSlowCase):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::privateCompileCTIMachineTrampolines):
+ (JSC::JIT::privateCompileCTINativeCall):
+ (JSC::JIT::emit_op_neq_null):
+ (JSC::JIT::emit_op_convert_this):
+ (JSC::JIT::emit_op_get_callee):
+ (JSC::JIT::emit_op_create_this):
+ * jit/JITOpcodes32_64.cpp:
+ (JSC::JIT::privateCompileCTIMachineTrampolines):
+ (JSC::JIT::privateCompileCTINativeCall):
+ (JSC::JIT::emit_op_get_callee):
+ (JSC::JIT::emit_op_create_this):
+ * jit/JITStubs.cpp:
+ (JSC::DEFINE_STUB_FUNCTION):
+ (JSC::JITThunks::hostFunctionStub):
+ * jit/JITStubs.h:
+ (JSC::JITThunks::ctiNativeConstruct):
+ (JSC::):
+ * runtime/ExceptionHelpers.cpp:
+ (JSC::createNotAnObjectError):
+ * runtime/Executable.h:
+ (JSC::NativeExecutable::create):
+ (JSC::NativeExecutable::NativeExecutable):
+ * runtime/JSFunction.cpp:
+ (JSC::callHostFunctionAsConstructor):
+ * runtime/JSFunction.h:
+
+2010-05-23 Sam Weinig <sam@webkit.org>
+
+ Fix windows build.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2010-05-23 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=39575
+ Make JS DOMObject inherit from JSObjectWithGlobalObject instead of JSObject
+
+ Expose the global object stored in JSObjectWithGlobalObject.
+
+ * JavaScriptCore.exp:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * runtime/JSObjectWithGlobalObject.cpp:
+ (JSC::JSObjectWithGlobalObject::JSObjectWithGlobalObject):
+ (JSC::JSObjectWithGlobalObject::globalObject):
+ * runtime/JSObjectWithGlobalObject.h:
+
+2010-05-21 Oliver Hunt <oliver@apple.com>
+
+ "asm volatile" isn't valid outside of functions.
+
+ Reviewed by Gavin Barraclough.
+
+ * jit/JITStubs.cpp:
+
+2010-05-21 Gavin Barraclough <barraclough@apple.com>
+
+ Unreviewed build fix.
+
+ Interpreter fix following r59974.
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+ * runtime/JSPropertyNameIterator.cpp:
+ (JSC::JSPropertyNameIterator::get):
+ * runtime/JSPropertyNameIterator.h:
+
+2010-05-21 Gavin Barraclough <barraclough@apple.com>
+
+ Rubber stamped by Oliver Hunt.
+
+ Interpreter fix following r59939.
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+
+2010-05-21 David Levin <levin@chromium.org>
+
+ Unreviewed build fix.
+
+ * wtf/SizeLimits.cpp: Removed a check while I figure out how to write it properly.
+
+2010-05-21 David Levin <levin@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Enforce size constraints on various data structures in JavaScriptCore/wtf.
+ https://bugs.webkit.org/show_bug.cgi?id=39327
+
+ I only modified the default build for OSX and Chromium's build file to include WTFCompileAsserts.cpp
+ as those should be sufficient to catch regressions on the size of the data structures.
+
+ * JavaScriptCore.gypi: Added the WTFCompileAsserts.cpp file.
+ * JavaScriptCore.xcodeproj/project.pbxproj: Added the WTFCompileAsserts.cpp file.
+ * runtime/UString.cpp: Added a compile assert for UString size.
+ * wtf/SizeLimits.cpp: Added compile asserts for data structures that didn't have cpp files.
+ * wtf/text/StringImpl.cpp: Added a compile assert for StringImpl size.
+
+2010-05-21 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Bug 39509 - Exceptions raised when JSString::value() is called not always properly thrown.
+ Missing some CHECK_FOR_EXCEPTION()s, cleanup NativeError construction (adding a property
+ via the prototype was inefficient, and whilst trivially true that the property is is not
+ a rope - and thus couldn't except - it would be hard to prove this).
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::callEval):
+ (JSC::Interpreter::privateExecute):
+ * jit/JITStubs.cpp:
+ (JSC::DEFINE_STUB_FUNCTION):
+ * runtime/InternalFunction.cpp:
+ (JSC::InternalFunction::name):
+ (JSC::InternalFunction::displayName):
+ * runtime/JSFunction.cpp:
+ (JSC::JSFunction::name):
+ (JSC::JSFunction::displayName):
+ * runtime/JSGlobalObject.cpp:
+ (JSC::JSGlobalObject::reset):
+ * runtime/JSPropertyNameIterator.cpp:
+ * runtime/JSPropertyNameIterator.h:
+ * runtime/JSString.h:
+ (JSC::RopeBuilder::tryGetValue):
+ (JSC::JSString::getIndex):
+ * runtime/NativeErrorConstructor.cpp:
+ (JSC::NativeErrorConstructor::NativeErrorConstructor):
+ * runtime/NativeErrorConstructor.h:
+ * runtime/NativeErrorPrototype.cpp:
+ (JSC::NativeErrorPrototype::NativeErrorPrototype):
+ * runtime/NativeErrorPrototype.h:
+ * runtime/StringPrototype.cpp:
+ (JSC::stringProtoFuncReplace):
+
+2010-05-21 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (build fix).
+
+ Fix interpreter build.
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+
+2010-05-21 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Split out JITCall32_64.cpp, and tightened up some #ifdefs in the hopes
+ of improving compile times.
+ https://bugs.webkit.org/show_bug.cgi?id=39507
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * jit/JIT.cpp:
+ * jit/JITArithmetic.cpp:
+ * jit/JITArithmetic32_64.cpp:
+ * jit/JITCall.cpp:
+ * jit/JITCall32_64.cpp: Copied from jit/JITCall.cpp.
+ * jit/JITOpcodes.cpp:
+ * jit/JITOpcodes32_64.cpp:
+ * jit/JITPropertyAccess.cpp:
+ * jit/JITPropertyAccess32_64.cpp:
+ * jit/JITStubs.cpp:
+
+2010-05-21 Csaba Osztrogonác <ossy@webkit.org>
+
+ Unreviewed buildfix for Qt after r59941.
+
+ * JavaScriptCore.pro: missing runtime/JSObjectWithGlobalObject.cpp added to SOURCES.
+
+2010-05-21 Oliver Hunt <oliver@apple.com>
+
+ Windows build fix #3
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2010-05-21 Oliver Hunt <oliver@apple.com>
+
+ Windows build fix #2
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2010-05-21 Oliver Hunt <oliver@apple.com>
+
+ Windows build fix #1
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2010-05-21 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ All callable objects should have a global object reference
+ https://bugs.webkit.org/show_bug.cgi?id=39495
+
+ All objects that may ever return a value other CallTypeNone
+ or ConstructTypeNone now get a global object in their constructor
+ and store that in their first anonymous slot. We add a new type
+ JSObjectWithGlobalObject to allow us to share this logic as much
+ as possible, however some objects have specific inheritance
+ requirements so we can't just use it universally.
+
+ To enforce this requirement JSValue::getCallData and getConstructData
+ make use of a new "isValidCallee" function to assert that any object
+ that returns a value other than CallType/ConstructTypeNone has a
+ global object in anonymous slot 0.
+
+ In order to ensure that static function slots are converted into
+ function objects with the correct global object, all prototype objects
+ and other classes with static function slots also gain a global object
+ reference. Happily this fixes the long standing issue where host
+ function objects get a prototype from the lexical global object of the
+ first function that calls them, instead of the global object that they
+ are defined on.
+
+ * API/JSCallbackConstructor.cpp:
+ (JSC::JSCallbackConstructor::JSCallbackConstructor):
+ * API/JSCallbackConstructor.h:
+ * API/JSCallbackFunction.cpp:
+ (JSC::JSCallbackFunction::JSCallbackFunction):
+ * API/JSCallbackFunction.h:
+ * API/JSCallbackObject.cpp:
+ (JSC::):
+ * API/JSCallbackObject.h:
+ * API/JSCallbackObjectFunctions.h:
+ (JSC::::JSCallbackObject):
+ (JSC::::staticFunctionGetter):
+ * API/JSClassRef.cpp:
+ (OpaqueJSClass::prototype):
+ * API/JSContextRef.cpp:
+ * API/JSObjectRef.cpp:
+ (JSObjectMake):
+ (JSObjectMakeFunctionWithCallback):
+ (JSObjectMakeConstructor):
+ (JSObjectGetPrivate):
+ (JSObjectSetPrivate):
+ (JSObjectGetPrivateProperty):
+ (JSObjectSetPrivateProperty):
+ (JSObjectDeletePrivateProperty):
+ * API/JSValueRef.cpp:
+ (JSValueIsObjectOfClass):
+ * API/JSWeakObjectMapRefPrivate.cpp:
+ * CMakeLists.txt:
+ * GNUmakefile.am:
+ * JavaScriptCore.exp:
+ * JavaScriptCore.gypi:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+ * jit/JITStubs.cpp:
+ (JSC::DEFINE_STUB_FUNCTION):
+ * jsc.cpp:
+ (GlobalObject::GlobalObject):
+ * runtime/ArrayConstructor.cpp:
+ (JSC::ArrayConstructor::ArrayConstructor):
+ * runtime/ArrayConstructor.h:
+ * runtime/ArrayPrototype.cpp:
+ (JSC::ArrayPrototype::ArrayPrototype):
+ * runtime/ArrayPrototype.h:
+ (JSC::ArrayPrototype::createStructure):
+ * runtime/BooleanConstructor.cpp:
+ (JSC::BooleanConstructor::BooleanConstructor):
+ * runtime/BooleanConstructor.h:
+ * runtime/BooleanPrototype.cpp:
+ (JSC::BooleanPrototype::BooleanPrototype):
+ * runtime/BooleanPrototype.h:
+ * runtime/DateConstructor.cpp:
+ (JSC::DateConstructor::DateConstructor):
+ * runtime/DateConstructor.h:
+ * runtime/DatePrototype.cpp:
+ (JSC::DatePrototype::DatePrototype):
+ * runtime/DatePrototype.h:
+ * runtime/ErrorConstructor.cpp:
+ (JSC::ErrorConstructor::ErrorConstructor):
+ * runtime/ErrorConstructor.h:
+ * runtime/ErrorPrototype.cpp:
+ (JSC::ErrorPrototype::ErrorPrototype):
+ * runtime/ErrorPrototype.h:
+ * runtime/FunctionConstructor.cpp:
+ (JSC::FunctionConstructor::FunctionConstructor):
+ * runtime/FunctionConstructor.h:
+ * runtime/FunctionPrototype.cpp:
+ (JSC::FunctionPrototype::FunctionPrototype):
+ (JSC::FunctionPrototype::addFunctionProperties):
+ * runtime/FunctionPrototype.h:
+ * runtime/GlobalEvalFunction.cpp:
+ (JSC::GlobalEvalFunction::GlobalEvalFunction):
+ * runtime/GlobalEvalFunction.h:
+ * runtime/InternalFunction.cpp:
+ (JSC::InternalFunction::InternalFunction):
+ * runtime/InternalFunction.h:
+ * runtime/JSCell.h:
+ (JSC::JSValue::getCallData):
+ (JSC::JSValue::getConstructData):
+ * runtime/JSFunction.cpp:
+ (JSC::JSFunction::JSFunction):
+ * runtime/JSFunction.h:
+ * runtime/JSGlobalObject.cpp:
+ (JSC::JSGlobalObject::reset):
+ * runtime/JSGlobalObject.h:
+ (JSC::JSGlobalObject::JSGlobalObject):
+ * runtime/JSONObject.cpp:
+ (JSC::JSONObject::JSONObject):
+ * runtime/JSONObject.h:
+ * runtime/JSObject.h:
+ * runtime/JSObjectWithGlobalObject.cpp: Added.
+ (JSC::JSObjectWithGlobalObject::JSObjectWithGlobalObject):
+ * runtime/JSObjectWithGlobalObject.h: Added.
+ (JSC::JSObjectWithGlobalObject::createStructure):
+ (JSC::JSObjectWithGlobalObject::JSObjectWithGlobalObject):
+ * runtime/JSValue.cpp:
+ (JSC::JSValue::isValidCallee):
+ * runtime/JSValue.h:
+ * runtime/Lookup.cpp:
+ (JSC::setUpStaticFunctionSlot):
+ * runtime/MathObject.cpp:
+ (JSC::MathObject::MathObject):
+ * runtime/MathObject.h:
+ * runtime/NativeErrorConstructor.cpp:
+ (JSC::NativeErrorConstructor::NativeErrorConstructor):
+ * runtime/NativeErrorConstructor.h:
+ * runtime/NativeErrorPrototype.cpp:
+ (JSC::NativeErrorPrototype::NativeErrorPrototype):
+ * runtime/NativeErrorPrototype.h:
+ * runtime/NumberConstructor.cpp:
+ (JSC::NumberConstructor::NumberConstructor):
+ * runtime/NumberConstructor.h:
+ * runtime/NumberPrototype.cpp:
+ (JSC::NumberPrototype::NumberPrototype):
+ * runtime/NumberPrototype.h:
+ * runtime/ObjectConstructor.cpp:
+ (JSC::ObjectConstructor::ObjectConstructor):
+ * runtime/ObjectConstructor.h:
+ * runtime/ObjectPrototype.cpp:
+ (JSC::ObjectPrototype::ObjectPrototype):
+ * runtime/ObjectPrototype.h:
+ * runtime/PrototypeFunction.cpp:
+ (JSC::PrototypeFunction::PrototypeFunction):
+ * runtime/PrototypeFunction.h:
+ * runtime/RegExpConstructor.cpp:
+ (JSC::RegExpConstructor::RegExpConstructor):
+ (JSC::constructRegExp):
+ * runtime/RegExpConstructor.h:
+ * runtime/RegExpObject.cpp:
+ (JSC::RegExpObject::RegExpObject):
+ * runtime/RegExpObject.h:
+ * runtime/RegExpPrototype.cpp:
+ (JSC::RegExpPrototype::RegExpPrototype):
+ * runtime/RegExpPrototype.h:
+ * runtime/StringConstructor.cpp:
+ (JSC::StringConstructor::StringConstructor):
+ * runtime/StringConstructor.h:
+ * runtime/StringPrototype.cpp:
+ (JSC::StringPrototype::StringPrototype):
+ * runtime/StringPrototype.h:
+
+2010-05-21 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Removed the unused entry in the CallFrame
+ https://bugs.webkit.org/show_bug.cgi?id=39470
+
+ Removed the unused entry in the CallFrame, and reordered CallFrame
+ writes on the hot path to be in forwards order.
+
+ SunSpider says 0.3% faster.
+
+ * interpreter/RegisterFile.h:
+ (JSC::RegisterFile::):
+ * jit/JITCall.cpp:
+ (JSC::JIT::compileOpCall):
+
+2010-05-21 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Split the QScriptValue autotest into smaller chunks.
+
+ File tst_qscriptvalue_generated.cpp was huge and it was difficult to compile
+ it with MSVS2008, because of the code optimization.
+
+ Tests were splited into a few files for better use of distributed
+ compilation.
+ Repeated calls to insert() and operator<<() where replaced by loops,
+ that should reduce time of code optimizing.
+
+ New files were generated by the same application, test logic wasn't changed.
+
+ [Qt] The QScriptValue autotest should be refactored.
+ https://bugs.webkit.org/show_bug.cgi?id=38987
+
+ * qt/tests/qscriptvalue/qscriptvalue.pro:
+ * qt/tests/qscriptvalue/tst_qscriptvalue.h:
+ * qt/tests/qscriptvalue/tst_qscriptvalue_generated.cpp: Removed.
+ * qt/tests/qscriptvalue/tst_qscriptvalue_generated_init.cpp: Added.
+ (tst_QScriptValue::initScriptValues):
+ * qt/tests/qscriptvalue/tst_qscriptvalue_generated_istype.cpp: Added.
+ (tst_QScriptValue::isValid_initData):
+ (tst_QScriptValue::isValid_makeData):
+ (tst_QScriptValue::isValid_test):
+ (tst_QScriptValue::isBool_initData):
+ (tst_QScriptValue::isBool_makeData):
+ (tst_QScriptValue::isBool_test):
+ (tst_QScriptValue::isBoolean_initData):
+ (tst_QScriptValue::isBoolean_makeData):
+ (tst_QScriptValue::isBoolean_test):
+ (tst_QScriptValue::isNumber_initData):
+ (tst_QScriptValue::isNumber_makeData):
+ (tst_QScriptValue::isNumber_test):
+ (tst_QScriptValue::isFunction_initData):
+ (tst_QScriptValue::isFunction_makeData):
+ (tst_QScriptValue::isFunction_test):
+ (tst_QScriptValue::isNull_initData):
+ (tst_QScriptValue::isNull_makeData):
+ (tst_QScriptValue::isNull_test):
+ (tst_QScriptValue::isString_initData):
+ (tst_QScriptValue::isString_makeData):
+ (tst_QScriptValue::isString_test):
+ (tst_QScriptValue::isUndefined_initData):
+ (tst_QScriptValue::isUndefined_makeData):
+ (tst_QScriptValue::isUndefined_test):
+ (tst_QScriptValue::isObject_initData):
+ (tst_QScriptValue::isObject_makeData):
+ (tst_QScriptValue::isObject_test):
+ * qt/tests/qscriptvalue/tst_qscriptvalue_generated_totype.cpp: Added.
+ (tst_QScriptValue::toString_initData):
+ (tst_QScriptValue::toString_makeData):
+ (tst_QScriptValue::toString_test):
+ (tst_QScriptValue::toNumber_initData):
+ (tst_QScriptValue::toNumber_makeData):
+ (tst_QScriptValue::toNumber_test):
+ (tst_QScriptValue::toBool_initData):
+ (tst_QScriptValue::toBool_makeData):
+ (tst_QScriptValue::toBool_test):
+ (tst_QScriptValue::toBoolean_initData):
+ (tst_QScriptValue::toBoolean_makeData):
+ (tst_QScriptValue::toBoolean_test):
+ (tst_QScriptValue::toInteger_initData):
+ (tst_QScriptValue::toInteger_makeData):
+ (tst_QScriptValue::toInteger_test):
+ (tst_QScriptValue::toInt32_initData):
+ (tst_QScriptValue::toInt32_makeData):
+ (tst_QScriptValue::toInt32_test):
+ (tst_QScriptValue::toUInt32_initData):
+ (tst_QScriptValue::toUInt32_makeData):
+ (tst_QScriptValue::toUInt32_test):
+ (tst_QScriptValue::toUInt16_initData):
+ (tst_QScriptValue::toUInt16_makeData):
+ (tst_QScriptValue::toUInt16_test):
+
+2010-05-21 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ Add COMPILER(MSVC) guard for strnstr
+ https://bugs.webkit.org/show_bug.cgi?id=39397
+
+ BREWMP uses MSVC for simulator build, but it is not OS(WINDOWS).
+ Add COMPILER(MSVC) guard for strnstr.
+
+ * wtf/StringExtras.h:
+
+2010-05-21 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Add !PLATFORM(BREWMP) guard for isMainThread
+ https://bugs.webkit.org/show_bug.cgi?id=39396
+
+ BREWMP sets ENABLE(SINGLE_THREADED), so it uses isMainThread from ThreadingNone.cpp.
+ Exclude isMainThread in MainThread.cpp.
+
+ * wtf/MainThread.cpp:
+
+2010-05-20 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Use skia as BREW MP's graphics backend.
+ https://bugs.webkit.org/show_bug.cgi?id=39407
+
+ Define WTF_PLATFORM_SKIA=1 for BREW MP.
+
+ * wtf/Platform.h:
+
+2010-05-20 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ Fixed naming mixup: it's op_call_put_result, not ret_result.
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::dump):
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+
+2010-05-20 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Whittling away at CodeBlock use: Removed a little wonkiness in closure lookup
+ https://bugs.webkit.org/show_bug.cgi?id=39444
+
+ Calculate all lookup depths at compile time. I'm not sure why we couldn't
+ do this before, but whatever the reason, it seems to be gone now.
+
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::findScopedProperty):
+ * bytecompiler/BytecodeGenerator.h:
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::resolveSkip):
+ (JSC::Interpreter::resolveGlobalDynamic):
+ (JSC::Interpreter::privateExecute):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_get_scoped_var):
+ (JSC::JIT::emit_op_put_scoped_var):
+ (JSC::JIT::emit_op_resolve_skip):
+ (JSC::JIT::emit_op_resolve_global_dynamic):
+ (JSC::JIT::emitSlow_op_resolve_global_dynamic):
+ * jit/JITOpcodes32_64.cpp:
+ (JSC::JIT::emit_op_get_scoped_var):
+ (JSC::JIT::emit_op_put_scoped_var):
+ (JSC::JIT::emit_op_resolve_skip):
+
+2010-05-20 Darin Adler <darin@apple.com>
+
+ Reviewed by Eric Seidel.
+
+ Fix warnings seen on the buildbots today
+ https://bugs.webkit.org/show_bug.cgi?id=39368
+
+ * profiler/ProfileNode.cpp:
+ (JSC::getCount): Removed unneeded initialization of global variable.
+ These are all initialized to zero anyway, so no need to try to initialize
+ it and get a warning.
+
+ * wtf/CurrentTime.cpp:
+ (WTF::currentTime): Removed unused global variable.
+
+2010-05-20 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Removed some reliance on callFame[CodeBlock] by storing CodeBlock in a
+ local variable in the Interpreter.
+ https://bugs.webkit.org/show_bug.cgi?id=39447
+
+ Small speedup on SunSpider in Interpreter mode.
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+ * jsc.cpp:
+ * wtf/Platform.h:
+
+2010-05-19 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Bug 39408 - Unify JIT/interpreter return behaviour.
+
+ Presently the JIT and the interpreter have differing implementations in how
+ they handle storing the result of a function call back to the register file.
+ In both cases the op_call ( / _eval / _varargs / op_construct) opcode has an
+ operand indicating the VM register in which the result should be stored.
+ The JIT plants code after the call to store the result, so the value will be
+ stored as soon as the callee has returned. In the interpreter the call
+ passes the return value register id into the callee via the callee callframe,
+ and the callee is responsible for writing the result back into its callers
+ register file after it has restored the parents callframe pointer, but before
+ returning.
+
+ Instead, move the task of writing the call result to the register file into a
+ new opcode (op_call_put_result), and after returning the callee should leave
+ the return value in a canonical location. In the case of the interpreter,
+ this canonical location is a local variable in privateExecute
+ (functionReturnValue), in the case of the JIT this is the normal return value
+ registers (regT0, or regT1:regT0 in JSVALUE32_64). op_call_put_result stores
+ the result from the canonical location to the registerfile.
+
+ In addition to unifying JIT & interpreter behaviour this change allows us to
+ remove a slot from the callframe, omit the write of the result where the
+ return value from the call is not used, and provides a 2% speedup on sunspider
+ in the interpreter.
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::dump):
+ * bytecode/Opcode.h:
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::emitCall):
+ (JSC::BytecodeGenerator::emitCallVarargs):
+ (JSC::BytecodeGenerator::emitConstruct):
+ * bytecompiler/BytecodeGenerator.h:
+ (JSC::BytecodeGenerator::finalDestinationOrIgnored):
+ * bytecompiler/NodesCodegen.cpp:
+ (JSC::NewExprNode::emitBytecode):
+ (JSC::FunctionCallValueNode::emitBytecode):
+ (JSC::FunctionCallResolveNode::emitBytecode):
+ (JSC::FunctionCallBracketNode::emitBytecode):
+ (JSC::FunctionCallDotNode::emitBytecode):
+ (JSC::CallFunctionCallDotNode::emitBytecode):
+ (JSC::ApplyFunctionCallDotNode::emitBytecode):
+ * interpreter/CallFrame.h:
+ (JSC::ExecState::init):
+ (JSC::ExecState::noCaller):
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::dumpRegisters):
+ (JSC::Interpreter::throwException):
+ (JSC::Interpreter::privateExecute):
+ * interpreter/RegisterFile.h:
+ (JSC::RegisterFile::):
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompileMainPass):
+ * jit/JIT.h:
+ * jit/JITCall.cpp:
+ (JSC::JIT::compileOpCallSetupArgs):
+ (JSC::JIT::compileOpConstructSetupArgs):
+ (JSC::JIT::emit_op_call_put_result):
+ (JSC::JIT::compileOpCallVarargs):
+ (JSC::JIT::compileOpCallVarargsSlowCase):
+ (JSC::JIT::compileOpCall):
+ (JSC::JIT::compileOpCallSlowCase):
+ (JSC::JIT::compileOpCallVarargsSetupArgs):
+
+2010-05-20 Steve Block <steveblock@google.com>
+
+ Reviewed by Jeremy Orlow.
+
+ Provide bindings for DeviceOrientation
+ https://bugs.webkit.org/show_bug.cgi?id=39210
+
+ Adds ENABLE_DEVICE_ORIENTATION to XCode project file, always disabled.
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2010-05-19 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Errk! rename op_constructor_ret as requested in review of Bug 39399.
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::dump):
+ * bytecode/Opcode.h:
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::emitReturn):
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompileMainPass):
+ * jit/JIT.h:
+ * jit/JITCall.cpp:
+ (JSC::JIT::emit_op_ret_object_or_this):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_ret_object_or_this):
+
+2010-05-19 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Bug 39399 - Move responsibility for verifying constructors return objects from the caller to the callee.
+
+ This is a necessary step to move object creation from caller to callee.
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::dump):
+ * bytecode/Opcode.h:
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::BytecodeGenerator):
+ (JSC::BytecodeGenerator::emitReturn):
+ (JSC::BytecodeGenerator::emitConstruct):
+ * bytecompiler/BytecodeGenerator.h:
+ (JSC::BytecodeGenerator::isConstructor):
+ * bytecompiler/NodesCodegen.cpp:
+ (JSC::FunctionBodyNode::emitBytecode):
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompileMainPass):
+ (JSC::JIT::privateCompileSlowCases):
+ * jit/JIT.h:
+ * jit/JITCall.cpp:
+ (JSC::JIT::emit_op_constructor_ret):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_constructor_ret):
+
+2010-05-19 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (build fix).
+
+ Fix windows build II.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2010-05-19 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (build fix).
+
+ Fix windows build.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2010-05-19 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Bug 39393 - JSFunction need not be a subclass of InternalFunction.
+
+ re-landing r59800.
+
+ * JavaScriptCore.exp:
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::retrieveCaller):
+ (JSC::Interpreter::findFunctionCallFrame):
+ * interpreter/Interpreter.h:
+ * profiler/Profiler.cpp:
+ (JSC::Profiler::createCallIdentifier):
+ * runtime/FunctionPrototype.cpp:
+ (JSC::functionProtoFuncToString):
+ * runtime/JSFunction.cpp:
+ (JSC::):
+ (JSC::JSFunction::JSFunction):
+ (JSC::JSFunction::name):
+ (JSC::JSFunction::displayName):
+ (JSC::JSFunction::calculatedDisplayName):
+ * runtime/JSFunction.h:
+ * runtime/JSObject.cpp:
+ (JSC::JSObject::putDirectFunction):
+ (JSC::JSObject::putDirectFunctionWithoutTransition):
+ * runtime/JSObject.h:
+ * runtime/Lookup.cpp:
+ (JSC::setUpStaticFunctionSlot):
+
+2010-05-19 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (build fix).
+
+ Reverting r59800, this b0rked stuff.
+
+ * JavaScriptCore.exp:
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::retrieveCaller):
+ (JSC::Interpreter::findFunctionCallFrame):
+ * interpreter/Interpreter.h:
+ * profiler/Profiler.cpp:
+ (JSC::Profiler::createCallIdentifier):
+ * runtime/FunctionPrototype.cpp:
+ (JSC::functionProtoFuncToString):
+ * runtime/JSFunction.cpp:
+ (JSC::):
+ (JSC::JSFunction::JSFunction):
+ * runtime/JSFunction.h:
+ * runtime/JSObject.cpp:
+ * runtime/JSObject.h:
+ * runtime/Lookup.cpp:
+ (JSC::setUpStaticFunctionSlot):
+
+2010-05-19 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Bug 39393 - JSFunction need not be a subclass of InternalFunction.
+
+ This may prevent us from introducing a more useful parent class to
+ JSFunction, e.g. a JSObject that holds an executable, which could
+ also reference an eval or program executable.
+
+ * JavaScriptCore.exp:
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::retrieveCaller):
+ (JSC::Interpreter::findFunctionCallFrame):
+ * interpreter/Interpreter.h:
+ * profiler/Profiler.cpp:
+ (JSC::Profiler::createCallIdentifier):
+ * runtime/FunctionPrototype.cpp:
+ (JSC::functionProtoFuncToString):
+ * runtime/JSFunction.cpp:
+ (JSC::):
+ (JSC::JSFunction::JSFunction):
+ (JSC::JSFunction::name):
+ (JSC::JSFunction::displayName):
+ (JSC::JSFunction::calculatedDisplayName):
+ * runtime/JSFunction.h:
+ * runtime/JSObject.cpp:
+ (JSC::JSObject::putDirectFunction):
+ (JSC::JSObject::putDirectFunctionWithoutTransition):
+ * runtime/JSObject.h:
+ * runtime/Lookup.cpp:
+ (JSC::setUpStaticFunctionSlot):
+
+2010-05-19 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ emitJumpIfNotJSCell should special case constant immediate values
+ https://bugs.webkit.org/show_bug.cgi?id=39392
+ <rdar://problem/8001324>
+
+ Make emitJumpSlowCaseIfNotJSCell special case constant immediate
+ values, in addition to the immediate JSCell optimisation.
+
+ Also add assertions to make sure no one else produces code that
+ attempts to load constants from the register file.
+
+ * jit/JITInlineMethods.h:
+ (JSC::JIT::emitJumpSlowCaseIfNotJSCell):
+ * jit/JSInterfaceJIT.h:
+ (JSC::JSInterfaceJIT::emitJumpIfNotJSCell):
+ (JSC::JSInterfaceJIT::emitLoadInt32):
+ (JSC::JSInterfaceJIT::tagFor):
+ (JSC::JSInterfaceJIT::payloadFor):
+ (JSC::JSInterfaceJIT::emitLoadDouble):
+ (JSC::JSInterfaceJIT::addressFor):
+ * jit/ThunkGenerators.cpp:
+
+2010-05-19 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Slight refactoring to CodeBlock bytecode access
+ https://bugs.webkit.org/show_bug.cgi?id=39384
+
+ * bytecode/CodeBlock.h:
+ (JSC::CodeBlock::bytecodeOffset):
+ * interpreter/CallFrame.h:
+ (JSC::ExecState::returnPC):
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::unwindCallFrame):
+ (JSC::Interpreter::retrieveLastCaller): Moved bytecode access into a
+ CodeBlock helper function. Changed CallFrame to accurately represent
+ how the returnPC is stored in JIT vs Interpreter.
+
+2010-05-19 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Don't build the Interpreter into JIT builds.
+ https://bugs.webkit.org/show_bug.cgi?id=39373
+
+ SunSpider says no change.
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+ * interpreter/Interpreter.h:
+ * wtf/Platform.h:
+
+2010-05-19 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Standardized naming: "bytecode offset" wins; "bytecode index" loses.
+
+ Also renamed getBytecodeOffset to bytecodeOffset, to match the WebKit
+ naming style.
+
+ * bytecode/CodeBlock.h:
+ (JSC::CallReturnOffsetToBytecodeOffset::CallReturnOffsetToBytecodeOffset):
+ (JSC::getCallReturnOffset):
+ (JSC::CodeBlock::bytecodeOffset):
+ (JSC::CodeBlock::callReturnIndexVector):
+ * interpreter/Interpreter.cpp:
+ (JSC::bytecodeOffsetForPC):
+ * jit/JIT.cpp:
+ (JSC::JIT::JIT):
+ (JSC::JIT::privateCompileMainPass):
+ (JSC::JIT::privateCompileLinkPass):
+ (JSC::JIT::privateCompileSlowCases):
+ (JSC::JIT::privateCompile):
+ * jit/JIT.h:
+ (JSC::CallRecord::CallRecord):
+ (JSC::JumpTable::JumpTable):
+ (JSC::SwitchRecord::SwitchRecord):
+ * jit/JITCall.cpp:
+ (JSC::JIT::compileOpCallVarargsSlowCase):
+ (JSC::JIT::compileOpCall):
+ * jit/JITInlineMethods.h:
+ (JSC::JIT::emitNakedCall):
+ (JSC::JIT::addSlowCase):
+ (JSC::JIT::addJump):
+ (JSC::JIT::emitJumpSlowToHot):
+ (JSC::JIT::isLabeled):
+ (JSC::JIT::map):
+ (JSC::JIT::unmap):
+ (JSC::JIT::isMapped):
+ (JSC::JIT::getMappedPayload):
+ (JSC::JIT::getMappedTag):
+ (JSC::JIT::emitGetVirtualRegister):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_switch_imm):
+ (JSC::JIT::emit_op_switch_char):
+ (JSC::JIT::emit_op_switch_string):
+ (JSC::JIT::emit_op_new_error):
+ * jit/JITOpcodes32_64.cpp:
+ (JSC::JIT::emit_op_mov):
+ (JSC::JIT::emit_op_get_global_var):
+ (JSC::JIT::emit_op_put_global_var):
+ (JSC::JIT::emit_op_get_scoped_var):
+ (JSC::JIT::emit_op_put_scoped_var):
+ (JSC::JIT::emit_op_to_primitive):
+ (JSC::JIT::emit_op_resolve_global):
+ (JSC::JIT::emit_op_to_jsnumber):
+ (JSC::JIT::emit_op_catch):
+ (JSC::JIT::emit_op_switch_imm):
+ (JSC::JIT::emit_op_switch_char):
+ (JSC::JIT::emit_op_switch_string):
+ (JSC::JIT::emit_op_new_error):
+ (JSC::JIT::emit_op_convert_this):
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::emit_op_method_check):
+ (JSC::JIT::emitSlow_op_method_check):
+ * jit/JITPropertyAccess32_64.cpp:
+ (JSC::JIT::emit_op_method_check):
+ (JSC::JIT::emitSlow_op_method_check):
+ (JSC::JIT::emit_op_get_by_val):
+ (JSC::JIT::emit_op_get_by_id):
+ (JSC::JIT::emit_op_get_by_pname):
+ * jit/JITStubCall.h:
+ (JSC::JITStubCall::call):
+ * jit/JITStubs.cpp:
+ (JSC::DEFINE_STUB_FUNCTION):
+
+2010-05-19 Peter Varga <pvarga@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ The backtrackParenthesesOnceEnd function should store the start position
+ of the subpattern's non-greedy match at the place of the subpattern's
+ start index in the output array instead of the place of the
+ subpattern's end index.
+ Add layout test for checking of non-greedy matching of subpattern in
+ regular expressions.
+ https://bugs.webkit.org/show_bug.cgi?id=39289
+
+ * yarr/RegexInterpreter.cpp:
+ (JSC::Yarr::Interpreter::backtrackParenthesesOnceEnd):
+
+2010-05-18 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Bug 39343 - Dynamically generate a native call thunk per NativeFunction
+
+ https://bugs.webkit.org/show_bug.cgi?id=39252 regressed performance on i386,
+ by adding an extra indirection to making a native call. By introducing per-
+ NativeFunction thunks we can hard code the function pointer into the thunk
+ so that it need not be loaded from the callee.
+
+ * jit/JIT.h:
+ (JSC::JIT::compileCTINativeCall):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::privateCompileCTINativeCall):
+ * jit/JITOpcodes32_64.cpp:
+ (JSC::JIT::privateCompileCTINativeCall):
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::emitSlow_op_get_by_val):
+ * jit/JITPropertyAccess32_64.cpp:
+ (JSC::JIT::emitSlow_op_get_by_val):
+ * jit/JITStubs.cpp:
+ (JSC::JITThunks::ctiStub):
+ (JSC::JITThunks::hostFunctionStub):
+ * jit/JITStubs.h:
+ * jit/SpecializedThunkJIT.h:
+ (JSC::SpecializedThunkJIT::finalize):
+ * jit/ThunkGenerators.cpp:
+ (JSC::charCodeAtThunkGenerator):
+ (JSC::charAtThunkGenerator):
+ (JSC::fromCharCodeThunkGenerator):
+ (JSC::sqrtThunkGenerator):
+ (JSC::powThunkGenerator):
+ * runtime/JSFunction.cpp:
+ (JSC::JSFunction::JSFunction):
+ * runtime/JSGlobalData.cpp:
+ (JSC::JSGlobalData::getHostFunction):
+ * runtime/JSGlobalData.h:
+ (JSC::JSGlobalData::getCTIStub):
+ * runtime/Lookup.cpp:
+ (JSC::setUpStaticFunctionSlot):
+ * runtime/StringConstructor.cpp:
+ (JSC::StringConstructor::StringConstructor):
+ * wtf/Platform.h:
+
+2010-05-18 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Simplified handling of 'arguments' -- 1.2% SunSpider speedup
+ https://bugs.webkit.org/show_bug.cgi?id=39200
+
+ Removed the reserved OptionalCalleeArguments slot from the CallFrame.
+ Now, slots for 'arguments' are allocated and initialized only by
+ functions that might need them.
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::dump): Updated for new bytecode operands.
+
+ (JSC::CodeBlock::CodeBlock):
+ * bytecode/CodeBlock.h:
+ (JSC::unmodifiedArgumentsRegister): Added a helper function for mapping
+ from the arguments register to its unmodified counterpart.
+
+ (JSC::CodeBlock::setArgumentsRegister):
+ (JSC::CodeBlock::argumentsRegister):
+ (JSC::CodeBlock::usesArguments): Changed from a "usesArguments" bool to
+ an optional int index representing the arguments register.
+
+ * bytecode/Opcode.h: Updated for new bytecode operands.
+
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::addVar): Factored out a helper function for
+ allocating an anonymous var.
+
+ (JSC::BytecodeGenerator::BytecodeGenerator): Merged / simplified some
+ arguments vs activation logic, and added code to allocate the arguments
+ registers when needed.
+
+ (JSC::BytecodeGenerator::createArgumentsIfNecessary): Updated for new bytecode operands.
+
+ (JSC::BytecodeGenerator::emitCallEval): No need to create the arguments
+ object before calling eval; the activation object will lazily create the
+ arguments object if eval resolves it.
+
+ (JSC::BytecodeGenerator::emitReturn): Updated for new bytecode operands.
+
+ (JSC::BytecodeGenerator::emitPushScope):
+ (JSC::BytecodeGenerator::emitPushNewScope): Ditto emitCallEval.
+
+ * bytecompiler/BytecodeGenerator.h:
+ (JSC::BytecodeGenerator::addVar): Factored out a helper function for
+ allocating an anonymous var.
+
+ (JSC::BytecodeGenerator::registerFor): No more need for special handling
+ of the arguments registers; they're allocated just like normal registers
+ now.
+
+ * interpreter/CallFrame.h:
+ (JSC::ExecState::callerFrame):
+ (JSC::ExecState::init):
+ * interpreter/CallFrameClosure.h:
+ (JSC::CallFrameClosure::resetCallFrame): Nixed optionalCalleeArguments.
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::dumpRegisters):
+ (JSC::Interpreter::unwindCallFrame):
+ (JSC::Interpreter::privateExecute):
+ (JSC::Interpreter::retrieveArguments): Opcodes accessing 'arguments' now
+ take operands specifying registers, just like all other opcodes.
+ JSActivation::copyRegisters is no longer responsible for tearing off the
+ arguments object; instead, the VM is responsible for both.
+
+ Also, a behavior change: Each access to f.arguments creates a new object,
+ unless f itself uses 'arguments'. This matches Chrome, and is necessary
+ for the optimization. f.arguments is a nonstandard, deprecated feature,
+ so high fidelity to a given implementation is not necessarily a goal.
+ Also, as illustrated by the new test case, the identity of f.arguments
+ has been broken since 2008, except in the case where f itself accesses
+ f.arguments -- but nobody seemed to notice. So, hopefully this change won't
+ break the web.
+
+ * interpreter/Register.h: Nixed the special arguments accessor. It's no
+ longer needed.
+
+ * interpreter/RegisterFile.h:
+ (JSC::RegisterFile::):
+ * jit/JITCall.cpp:
+ (JSC::JIT::compileOpCallInitializeCallFrame):
+ (JSC::JIT::compileOpCall):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_tear_off_activation):
+ (JSC::JIT::emit_op_tear_off_arguments):
+ (JSC::JIT::emit_op_create_arguments):
+ (JSC::JIT::emit_op_init_arguments):
+ * jit/JITOpcodes32_64.cpp:
+ (JSC::JIT::emit_op_tear_off_activation):
+ (JSC::JIT::emit_op_tear_off_arguments):
+ (JSC::JIT::emit_op_create_arguments):
+ (JSC::JIT::emit_op_init_arguments): The actual optimization: Removed
+ OptionalCalleeArguments from the callframe slot. Now, it doesn't need
+ to be initialized for most calls.
+
+ * jit/JITStubs.cpp:
+ (JSC::DEFINE_STUB_FUNCTION):
+ * jit/JITStubs.h:
+ (JSC::): Updated stubs to support arbitrary 'arguments' registers,
+ instead of hard-coding something in the call frame.
+
+ * runtime/Arguments.h:
+ (JSC::JSActivation::copyRegisters): Removed some obfuscatory abstraction.
+
+ * runtime/Executable.h:
+ (JSC::FunctionExecutable::generatedByteCode): Added a helper for accessing
+ the 'arguments' register. In a future patch, that kind of data should
+ probably move out of CodeBlock and into Executable.
+
+ * runtime/JSActivation.cpp:
+ (JSC::JSActivation::getOwnPropertySlot):
+ (JSC::JSActivation::argumentsGetter):
+ * runtime/JSActivation.h: Simplified / fixed access to 'arguments' via
+ the activation object. It now implements the same behavior implemented
+ by optimized variable access in the VM. This simplifies some other
+ things, too -- like eval code generation.
+
+2010-05-18 Sam Weinig <sam@webkit.org>
+
+ Try to fix the windows build.
+
+ * API/JSStringRefBSTR.cpp:
+
+2010-05-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add an inlineCapacity template parameter to ListHashSet and use it to shrink the positioned object list hash set.
+ https://bugs.webkit.org/show_bug.cgi?id=39304
+ <rdar://problem/7998366>
+
+ Add an inlineCapacity template parameter to ListHashSet.
+
+ * wtf/ListHashSet.h:
+ (WTF::::ListHashSet):
+ (WTF::::operator):
+ (WTF::::swap):
+ (WTF::::~ListHashSet):
+ (WTF::::size):
+ (WTF::::capacity):
+ (WTF::::isEmpty):
+ (WTF::::begin):
+ (WTF::::end):
+ (WTF::::find):
+ (WTF::::contains):
+ (WTF::::add):
+ (WTF::::insertBefore):
+ (WTF::::remove):
+ (WTF::::clear):
+ (WTF::::unlinkAndDelete):
+ (WTF::::appendNode):
+ (WTF::::insertNodeBefore):
+ (WTF::::deleteAllNodes):
+ (WTF::::makeIterator):
+ (WTF::::makeConstIterator):
+ (WTF::deleteAllValues):
+
+2010-05-18 Gabor Loki <loki@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Fix the interpreter after r59637
+ https://bugs.webkit.org/show_bug.cgi?id=39287
+
+ * runtime/Executable.h:
+ * runtime/JSFunction.cpp:
+ (JSC::JSFunction::JSFunction):
+ (JSC::JSFunction::getCallData):
+ * runtime/JSGlobalData.cpp:
+ * runtime/JSGlobalData.h:
+
+2010-05-17 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Oops, meant ebx not eax there. Fix Qt (and probably Win too).
+
+ * jit/JITOpcodes32_64.cpp:
+
+2010-05-17 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Bug 39252 - Move host/native JSFunction's NativeFunction onto NativeExecutable.
+
+ Currently host functions reuse JSFunction's ScopeChain as storage for their
+ NativeFunction (the C function pointer to the host function implementation).
+ Instead, move this onto NativeExecutable. This will allow host functions to
+ have a scopechain (which will be implemented as a separate patch).
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * jit/JIT.h:
+ * jit/JITCall.cpp:
+ (JSC::JIT::compileOpCallInitializeCallFrame):
+ (JSC::JIT::compileOpCall):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::privateCompileCTIMachineTrampolines):
+ * jit/JITOpcodes32_64.cpp:
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::stringGetByValStubGenerator):
+ (JSC::JIT::emitSlow_op_get_by_val):
+ * jit/JITPropertyAccess32_64.cpp:
+ (JSC::JIT::stringGetByValStubGenerator):
+ (JSC::JIT::emitSlow_op_get_by_val):
+ * jit/JITStubs.cpp:
+ (JSC::JITThunks::specializedThunk):
+ * jit/JITStubs.h:
+ (JSC::JITThunks::ctiNativeCall):
+ * jit/SpecializedThunkJIT.h:
+ (JSC::SpecializedThunkJIT::finalize):
+ * jit/ThunkGenerators.cpp:
+ (JSC::charCodeAtThunkGenerator):
+ (JSC::charAtThunkGenerator):
+ (JSC::fromCharCodeThunkGenerator):
+ (JSC::sqrtThunkGenerator):
+ (JSC::powThunkGenerator):
+ * jit/ThunkGenerators.h:
+ * runtime/Executable.h:
+ (JSC::NativeExecutable::create):
+ (JSC::NativeExecutable::function):
+ (JSC::NativeExecutable::NativeExecutable):
+ (JSC::JSFunction::nativeFunction):
+ * runtime/JSFunction.cpp:
+ (JSC::JSFunction::JSFunction):
+ (JSC::JSFunction::~JSFunction):
+ (JSC::JSFunction::markChildren):
+ (JSC::JSFunction::getCallData):
+ (JSC::JSFunction::call):
+ (JSC::JSFunction::getOwnPropertySlot):
+ (JSC::JSFunction::getConstructData):
+ (JSC::JSFunction::construct):
+ * runtime/JSFunction.h:
+ (JSC::JSFunction::scope):
+ * runtime/JSGlobalData.h:
+ (JSC::JSGlobalData::getThunk):
+ * runtime/Lookup.cpp:
+ (JSC::setUpStaticFunctionSlot):
+ * runtime/StringConstructor.cpp:
+ (JSC::StringConstructor::StringConstructor):
+
+2010-05-17 Patrick Gansterer <paroga@paroga.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] Remove WinCE endian dedection.
+ https://bugs.webkit.org/show_bug.cgi?id=38511
+
+ Windows CE supports little-endian format only.
+ Correct dedection was added in r57804.
+
+ * wtf/Platform.h:
+
+2010-05-16 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Reduce the size of FunctionExecutable
+ https://bugs.webkit.org/show_bug.cgi?id=39180
+
+ Change m_numVariables from a size_t to 31 bits in a bitfield,
+ packed with another bit for m_forceUsesArguments (which in turn
+ get packed with the base class).
+
+ Reduces the size of FunctionExecutable from 160 to 152 bytes.
+
+ * runtime/Executable.h:
+ (JSC::FunctionExecutable::variableCount):
+ (JSC::FunctionExecutable::FunctionExecutable):
+
+2010-05-15 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Incorrect codegen for slowcase of < in 64-bit
+ https://bugs.webkit.org/show_bug.cgi?id=39151
+
+ Call the correct stud for the slowcases of the < operator.
+
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emitSlow_op_jnless):
+ (JSC::JIT::emitSlow_op_jless):
+
+2010-05-15 Leo Yang <leo.yang@torchmobile.com.cn>
+
+ Reviewed by Darin Adler.
+
+ Fix bug https://bugs.webkit.org/show_bug.cgi?id=38890
+
+ * runtime/DatePrototype.cpp:
+ (JSC::formatLocaleDate):
+
+2010-05-15 Leandro Pereira <leandro@profusion.mobi>
+
+ Reviewed by Adam Treat.
+
+ [EFL] Add build system for the EFL port.
+ http://webkit.org/b/37945
+
+ * CMakeLists.txt: Added.
+ * CMakeListsEfl.txt: Added.
+ * config.h: Add conditional to look for cmakeconfig.h.
+ * jsc/CMakeLists.txt: Added.
+ * jsc/CMakeListsEfl.txt: Added.
+ * wtf/CMakeLists.txt: Added.
+ * wtf/CMakeListsEfl.txt: Added.
+
+2010-05-15 Chao-ying Fu <fu@mips.com>
+
+ Reviewed by Oliver Hunt.
+
+ Update MIPS JIT for unsigned right shift, Math.sqrt, load16
+ https://bugs.webkit.org/show_bug.cgi?id=38412
+
+ Fixed MIPS build failure.
+
+ * assembler/MIPSAssembler.h:
+ (JSC::MIPSAssembler::srl):
+ (JSC::MIPSAssembler::srlv):
+ (JSC::MIPSAssembler::sqrtd):
+ * assembler/MacroAssemblerMIPS.h:
+ (JSC::MacroAssemblerMIPS::urshift32):
+ (JSC::MacroAssemblerMIPS::sqrtDouble):
+ (JSC::MacroAssemblerMIPS::load16):
+ (JSC::MacroAssemblerMIPS::supportsFloatingPointSqrt):
+ * jit/JSInterfaceJIT.h:
+
+2010-05-15 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Geoffrey Garen.
+
+ WebInspector: JSC Should provide heap size info for Timeline panel.
+ https://bugs.webkit.org/show_bug.cgi?id=38420
+
+ * JavaScriptCore.exp:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * runtime/Collector.cpp:
+ (JSC::Heap::size):
+ * runtime/Collector.h:
+
+2010-05-15 Dave Tapuska <dtapuska@rim.com>
+
+ Reviewed by Darin Adler.
+
+ Add a new define for we need strict arena alignment. ARMv5 with
+ double word instructions set this value.
+
+ * wtf/Platform.h:
+
+2010-05-14 Stephanie Lewis <slewis@apple.com>
+
+ Rubber-stamped by Mark Rowe.
+
+ Update order files.
+
+ * JavaScriptCore.order:
+
+2010-05-14 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Implementation of QtScript API that provide method to convert a value to an object.
+
+ [Qt] QtScript is missing toObject API
+ https://bugs.webkit.org/show_bug.cgi?id=36594
+
+ * qt/api/qscriptengine.cpp:
+ (QScriptEngine::toObject):
+ * qt/api/qscriptengine.h:
+ * qt/api/qscriptvalue.cpp:
+ (QScriptValue::toObject):
+ * qt/api/qscriptvalue.h:
+ * qt/api/qscriptvalue_p.h:
+ (QScriptValuePrivate::toObject):
+ * qt/tests/qscriptengine/tst_qscriptengine.cpp:
+ (tst_QScriptEngine::toObject):
+ (tst_QScriptEngine::toObjectTwoEngines):
+ * qt/tests/qscriptvalue/tst_qscriptvalue.cpp:
+ (tst_QScriptValue::toObjectSimple):
+ * qt/tests/qscriptvalue/tst_qscriptvalue.h:
+
+2010-05-14 Chao-ying Fu <fu@mips.com>
+
+ Reviewed by Oliver Hunt.
+
+ String Indexing Failure on JSVALUE32 targets
+ https://bugs.webkit.org/show_bug.cgi?id=39034
+
+ Remove zero-extend/shift-right code on regT1, because we already have
+ it in emit_op_get_by_val().
+
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::stringGetByValStubGenerator):
+
+2010-05-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Fix a VS2010 assert in std::copy
+ https://bugs.webkit.org/show_bug.cgi?id=38630
+
+ The assert complains that the output iterator is null.
+
+ * wtf/Vector.h:
+ (WTF::::operator):
+
+2010-05-13 Maciej Stachowiak <mjs@apple.com>
+
+ No review, attempted build fix.
+
+ Try to fix Tiger build with some gratuitous initialization of
+ seemingly uninitialized variables.
+
+ * wtf/text/StringImpl.h:
+ (WebCore::StringImpl::tryCreateUninitialized):
+
+2010-05-13 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Various JavaScript string optimizations
+ https://bugs.webkit.org/show_bug.cgi?id=39051
+
+ Approximately 1% SunSpider speedup.
+
+ * runtime/ArrayPrototype.cpp:
+ (JSC::arrayProtoFuncJoin): Remove branches from the hot code path
+ by moving the first pass outside the loop, and duplicating the hot loop
+ to extract the loop-invariant branch.
+ * runtime/RegExp.cpp:
+ (JSC::RegExp::match): resize ovector to 0 instead of clearing to avoid
+ thrash in case of large matches.
+ * runtime/RegExpConstructor.h:
+ (JSC::RegExpConstructor::performMatch): Mark ALWAYS_INLINE to make the
+ compiler respect our authority.
+ * runtime/StringPrototype.cpp:
+ (JSC::jsSpliceSubstringsWithSeparators): Inline.
+ (JSC::stringProtoFuncSubstring): Rewrite boundary condition checks to
+ reduce the number of floating point comparisons and branches.
+
+2010-05-12 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39039
+ Provide support for separate bytecode/JIT code translations for call/construct usage
+ This will allow us to produce code generated specifically for use as a constructor, not for general function use.
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::CodeBlock):
+ (JSC::CodeBlock::unlinkCallers):
+ * bytecode/CodeBlock.h:
+ (JSC::CodeBlock::getBytecodeIndex):
+ (JSC::CodeBlock::getJITCode):
+ (JSC::CodeBlock::executablePool):
+ (JSC::GlobalCodeBlock::GlobalCodeBlock):
+ (JSC::FunctionCodeBlock::FunctionCodeBlock):
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::executeCall):
+ (JSC::Interpreter::executeConstruct):
+ (JSC::Interpreter::prepareForRepeatCall):
+ (JSC::Interpreter::execute):
+ (JSC::Interpreter::privateExecute):
+ * interpreter/Interpreter.h:
+ * jit/JIT.cpp:
+ (JSC::JIT::unlinkCallOrConstruct):
+ (JSC::JIT::linkConstruct):
+ * jit/JIT.h:
+ * jit/JITCall.cpp:
+ (JSC::JIT::compileOpCall):
+ (JSC::JIT::compileOpCallSlowCase):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::privateCompileCTIMachineTrampolines):
+ * jit/JITOpcodes32_64.cpp:
+ (JSC::JIT::privateCompileCTIMachineTrampolines):
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::emitSlow_op_get_by_val):
+ * jit/JITPropertyAccess32_64.cpp:
+ (JSC::JIT::emitSlow_op_get_by_val):
+ * jit/JITStubs.cpp:
+ (JSC::DEFINE_STUB_FUNCTION):
+ * jit/JITStubs.h:
+ (JSC::JITThunks::ctiVirtualConstructLink):
+ (JSC::JITThunks::ctiVirtualConstruct):
+ (JSC::):
+ * jit/SpecializedThunkJIT.h:
+ (JSC::SpecializedThunkJIT::finalize):
+ * runtime/Arguments.h:
+ (JSC::JSActivation::copyRegisters):
+ * runtime/ArrayPrototype.cpp:
+ (JSC::isNumericCompareFunction):
+ * runtime/Executable.cpp:
+ (JSC::FunctionExecutable::~FunctionExecutable):
+ (JSC::FunctionExecutable::compileForCall):
+ (JSC::FunctionExecutable::compileForConstruct):
+ (JSC::EvalExecutable::generateJITCode):
+ (JSC::ProgramExecutable::generateJITCode):
+ (JSC::FunctionExecutable::generateJITCodeForCall):
+ (JSC::FunctionExecutable::generateJITCodeForConstruct):
+ (JSC::FunctionExecutable::markAggregate):
+ (JSC::FunctionExecutable::reparseExceptionInfo):
+ (JSC::EvalExecutable::reparseExceptionInfo):
+ (JSC::FunctionExecutable::recompile):
+ * runtime/Executable.h:
+ (JSC::ExecutableBase::ExecutableBase):
+ (JSC::ExecutableBase::isHostFunction):
+ (JSC::ExecutableBase::generatedJITCodeForCall):
+ (JSC::ExecutableBase::generatedJITCodeForConstruct):
+ (JSC::NativeExecutable::NativeExecutable):
+ (JSC::EvalExecutable::jitCode):
+ (JSC::ProgramExecutable::jitCode):
+ (JSC::FunctionExecutable::bytecodeForCall):
+ (JSC::FunctionExecutable::isGeneratedForCall):
+ (JSC::FunctionExecutable::generatedBytecodeForCall):
+ (JSC::FunctionExecutable::bytecodeForConstruct):
+ (JSC::FunctionExecutable::isGeneratedForConstruct):
+ (JSC::FunctionExecutable::generatedBytecodeForConstruct):
+ (JSC::FunctionExecutable::symbolTable):
+ (JSC::FunctionExecutable::FunctionExecutable):
+ (JSC::FunctionExecutable::jitCodeForCall):
+ (JSC::FunctionExecutable::jitCodeForConstruct):
+ * runtime/JSActivation.h:
+ (JSC::JSActivation::JSActivationData::JSActivationData):
+ * runtime/JSFunction.cpp:
+ (JSC::JSFunction::~JSFunction):
+ (JSC::JSFunction::call):
+ (JSC::JSFunction::construct):
+ * runtime/JSGlobalData.cpp:
+ (JSC::JSGlobalData::numericCompareFunction):
+
+2010-05-12 Oliver Hunt <oliver@apple.com>
+
+ build fix
+
+ <rdar://problem/7977960> REGRESSION (r59282): Tiger PPC build broken
+
+ * runtime/UString.h:
+ (JSC::tryMakeString):
+
+2010-05-12 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ <rdar://7969718> Incorrect 32-bit codegen for op_jnlesseq
+ https://bugs.webkit.org/show_bug.cgi?id=39038
+
+ Correct the use of incorrect comparison operators.
+
+ * jit/JITArithmetic32_64.cpp:
+ (JSC::JIT::emit_op_jlesseq):
+ (JSC::JIT::emitBinaryDoubleOp):
+
+2010-05-12 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Reviewed by Eric Seidel.
+
+ JavaScriptCore: fix build when some optimizations are disabled
+ https://bugs.webkit.org/show_bug.cgi?id=38800
+
+ Remove outdated UNUSED_PARAMs when using JIT but with
+ ENABLE_JIT_OPTIMIZE_CALL and ENABLE_JIT_OPTIMIZE_PROPERTY_ACCESS
+ disabled.
+
+ * jit/JITOpcodes.cpp:
+ * jit/JITOpcodes32_64.cpp:
+
+2010-05-12 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Work around GCC stupidity by either explicitly inlining or by
+ using ALWAYS_INLINE
+
+ * runtime/StringPrototype.cpp:
+ (JSC::stringProtoFuncReplace):
+ * runtime/UString.h:
+ (JSC::UString::~UString):
+ * wtf/RefPtr.h:
+ (WTF::RefPtr::RefPtr):
+ (WTF::RefPtr::~RefPtr):
+ * wtf/text/StringImpl.h:
+ (WebCore::StringImpl::create):
+ (WebCore::StringImpl::tryCreateUninitialized):
+
+2010-05-12 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Detect debug mode consistently
+ https://bugs.webkit.org/show_bug.cgi?id=38863
+
+ * JavaScriptCore.pri:
+ * JavaScriptCore.pro:
+ * jsc.pro:
+ * qt/api/QtScript.pro:
+
+2010-05-12 Peter Varga <pvarga@inf.u-szeged.hu>
+
+ Reviewed by Gavin Barraclough.
+
+ Remove a direct jump in generatePatternCharacterGreedy() and
+ generatePatternCharacterClassGreedy() functions if quantityCount of the term
+ is unlimited.
+ https://bugs.webkit.org/show_bug.cgi?id=38898
+
+ * yarr/RegexJIT.cpp:
+ (JSC::Yarr::RegexGenerator::generatePatternCharacterGreedy):
+ (JSC::Yarr::RegexGenerator::generateCharacterClassGreedy):
+
+2010-05-11 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Slight simplification to the calling convention: read RegisterFile::end()
+ from an absolute address, instead of from a pointer to the RegisterFile
+ on the stack.
+
+ SunSpider reports no change.
+
+ This should free us to remove the RegisterFile argument from the stack.
+
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompile):
+
+2010-05-11 Brian Weinstein <bweinstein@apple.com>
+
+ Possible Gtk build fix - use ALWAYS_INLINE on functions that were inlined.
+
+ * wtf/text/AtomicString.h:
+ (WebCore::AtomicString::add): Use ALWAYS_INLINE.
+ * wtf/text/WTFString.h:
+ (WebCore::String::length): Ditto.
+ (WebCore::String::isEmpty): Ditto.
+
+2010-05-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add a compile time assert that sizeof(String) == sizeof(AtomicString).
+
+ * wtf/text/AtomicString.cpp:
+
+2010-05-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38961
+ Move some member variables around to reduce class sizes.
+
+ Make AtomicString no longer inherit from FastAllocBase.
+
+ Since AtomicString's first (and only) member variable, a RefPtr, also inherits from FastAllocBase this
+ was causing the size of AtomicString to contain sizeof(void*) bytes of padding.
+
+ * wtf/text/AtomicString.h:
+
+2010-05-11 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+ Patch by Gavin Barraclough.
+
+ Rest of REGRESSION (r57900-57919): 3% PLT Regression from moving strings into WTF.
+ https://bugs.webkit.org/show_bug.cgi?id=38930
+ <rdar://problem/7937188>
+
+ Inline string functions that are commonly used in WTFString, CString, and AtomicString.
+
+ * JavaScriptCore.exp: Remove exports of inline functions.
+ * wtf/text/AtomicString.cpp:
+ (WebCore::AtomicString::addSlowCase): Rename add to addSlowCase, and inline the fast path
+ of add.
+ * wtf/text/AtomicString.h:
+ (WebCore::AtomicString::add): Inline the fast path of add.
+ * wtf/text/CString.cpp: Inline implementation of data and length in the header.
+ * wtf/text/CString.h:
+ (WTF::CString::data): Inline implementation of data.
+ (WTF::CString::length): Inline implementation of length.
+ * wtf/text/WTFString.cpp: Remove implementations of functions to be inlined.
+ * wtf/text/WTFString.h:
+ (WebCore::String::String): Inline implementation.
+ (WebCore::String::length): Ditto.
+ (WebCore::String::characters): Ditto.
+ (WebCore::String::operator[]): Ditto.
+ (WebCore::String::isEmpty): Ditto.
+
+2010-05-11 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Steve Falkenburg and Jon Honeycutt.
+ Patch by Gavin Barraclough.
+
+ REGRESSION (r57900-57919): 3% PLT Regression from moving strings into WTF.
+ https://bugs.webkit.org/show_bug.cgi?id=38930
+ <rdar://problem/7937188>
+
+ When the String classes were moved from WebCore to WTF, it meant that on Windows, all operations
+ on Strings in WebCore had to cross a DLL boundary (from WebKit.dll to JavaScript.dll).
+
+ We fix this by refactoring some of the WTF string code, so the code in AtomicString, StringImpl, and
+ WTFString can be built by both WebCore and WTF, and we don't need to talk across a DLL to do operations
+ on Strings.
+
+ * GNUmakefile.am: Add new file to build system.
+ * JavaScriptCore.gypi: Ditto.
+ * JavaScriptCore.pro: Ditto.
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: Remove string exports, because these are now
+ handled in WebCore.
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Remove the post-build step that was added
+ here (the post build step is in JavaScriptCoreCommon.vsprops).
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops: Copy the three cpp files that need to be compiled
+ by WebCore into the WebKitOutputDir directory.
+ * JavaScriptCore.vcproj/WTF/WTF.vcproj: Add the StringStatics file.
+ * JavaScriptCore.vcproj/jsc/jsc.vcproj: Add the three WTF string cpp files to this project.
+ * JavaScriptCore.vcproj/jsc/jscCommon.vsprops: Remove the need to link against WTF.lib (since jsc links against JavaScriptCore).
+ * JavaScriptCore.xcodeproj/project.pbxproj: Add the StringStatics file.
+ * wtf/text/AtomicString.cpp: Moved code to StringStatics.
+ * wtf/text/StringImpl.cpp: Ditto.
+ * wtf/text/StringStatics.cpp: Added. Move functions in WTF Strings that define static variables to here, so
+ the rest of the files can be compiled in WebCore.
+ (WebCore::StringImpl::empty): Moved from StringImpl.cpp to here.
+ (WebCore::AtomicString::init): Moved from AtomicString.cpp to here.
+
+2010-05-11 Alice Liu <alice.liu@apple.com>
+
+ Rubber-stamped by Gavin Barraclough.
+
+ Fix build error when enabling debugging block in WebKit win painting code
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2010-05-11 Mark Rowe <mrowe@apple.com>
+
+ Fix the world.
+
+ In r59162 a change was made to WebCore's FeatureDefines.xcconfig that enabled FILE_READER and FILE_WRITER.
+ The author and reviewer of that patch ignored the carefully-worded warning at the top of that file asking
+ that changes to the file be kept in sync across JavaScriptCore, WebCore and WebKit, as well as being kept
+ in sync with build-webkit. This led to WebCore and WebKit having different views of Document's vtable
+ and results in crashes in Safari shortly after launch when virtual function calls resulted in the wrong
+ function in WebCore being called.
+
+ We fix this by bringing the FeatureDefines.xcconfig files in to sync. Based on the ChangeLog message and
+ other changes in r59162 it appears that enabling FILE_WRITER was unintentional so that particular change
+ has been reverted.
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2010-05-11 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r59171.
+ http://trac.webkit.org/changeset/59171
+ https://bugs.webkit.org/show_bug.cgi?id=38933
+
+ "Broke the world" (Requested by bweinstein on #webkit).
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
+ * JavaScriptCore.vcproj/WTF/WTF.vcproj:
+ * JavaScriptCore.vcproj/jsc/jsc.vcproj:
+ * JavaScriptCore.vcproj/jsc/jscCommon.vsprops:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * wtf/text/AtomicString.cpp:
+ (WebCore::AtomicString::init):
+ * wtf/text/StringImpl.cpp:
+ (WebCore::StringImpl::empty):
+ * wtf/text/StringStatics.cpp: Removed.
+
+2010-05-11 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Steve Falkenburg.
+ Patch by Gavin Barraclough.
+
+ REGRESSION (r57900-57919): 3% PLT Regression from moving strings into WTF.
+ https://bugs.webkit.org/show_bug.cgi?id=38930
+ <rdar://problem/7937188>
+
+ When the String classes were moved from WebCore to WTF, it meant that on Windows, all operations
+ on Strings in WebCore had to cross a DLL boundary (from WebKit.dll to JavaScript.dll).
+
+ We fix this by refactoring some of the WTF string code, so the code in AtomicString, StringImpl, and
+ WTFString can be built by both WebCore and WTF, and we don't need to talk across a DLL to do operations
+ on Strings.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: Remove string exports, because these are now
+ handled in WebCore.
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Remove the post-build step that was added
+ here (the post build step is in JavaScriptCoreCommon.vsprops).
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops: Copy the three cpp files that need to be compiled
+ by WebCore into the WebKitOutputDir directory.
+ * JavaScriptCore.vcproj/WTF/WTF.vcproj: Add the StringStatics file.
+ * JavaScriptCore.vcproj/jsc/jsc.vcproj: Add the three WTF string cpp files to this project.
+ * JavaScriptCore.vcproj/jsc/jscCommon.vsprops: Remove the need to link against WTF.lib (since jsc links against JavaScriptCore).
+ * JavaScriptCore.xcodeproj/project.pbxproj: Add the StringStatics file.
+ * wtf/text/AtomicString.cpp: Moved code to StringStatics.
+ * wtf/text/StringImpl.cpp: Ditto.
+ * wtf/text/StringStatics.cpp: Added. Move functions in WTF Strings that define static variables to here, so
+ the rest of the files can be compiled in WebCore.
+ (WebCore::StringImpl::empty): Moved from StringImpl.cpp to here.
+ (WebCore::AtomicString::init): Moved from AtomicString.cpp to here.
+
+2010-05-11 Geoffrey Garen <ggaren@apple.com>
+
+ Fixed test failures seen on SnowLeopard buildbot.
+
+ * runtime/JSString.cpp:
+ (JSC::JSString::replaceCharacter): Don't use size_t and wtf::notFound.
+ Instead, use the individual types and notFound values of the string APIs
+ we're using, since they're not necessarily the same in 64bit.
+
+2010-05-11 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt and Darin Adler.
+
+ Start using ropes in String.prototype.replace.
+
+ 1%-1.5% speedup on SunSpider.
+
+ * runtime/JSString.cpp:
+ (JSC::JSString::resolveRope): Updated for RopeImpl refactoring.
+
+ (JSC::JSString::replaceCharacter): Added a replaceCharacter function, which creates
+ a rope for the resulting replacement.
+
+ * runtime/JSString.h: A few changes here:
+ (JSC::):
+ (JSC::RopeBuilder::RopeIterator::RopeIterator):
+ (JSC::RopeBuilder::RopeIterator::operator++):
+ (JSC::RopeBuilder::RopeIterator::operator*):
+ (JSC::RopeBuilder::RopeIterator::operator!=):
+ (JSC::RopeBuilder::RopeIterator::WorkItem::WorkItem):
+ (JSC::RopeBuilder::RopeIterator::WorkItem::operator!=):
+ (JSC::RopeBuilder::RopeIterator::skipRopes): Created a RopeIterator abstraction.
+ We use this to do a substring find without having to resolve the rope.
+ (We could use this iterator when resolving ropes, too, but resolving
+ ropes backwards is usually more efficient.)
+
+ (JSC::RopeBuilder::JSString): Added constructors for 2 & 3 UStrings.
+
+ (JSC::RopeBuilder::appendValueInConstructAndIncrementLength):
+ (JSC::RopeBuilder::size): Updated for RopeImpl refactoring.
+
+ * runtime/Operations.h: Updated for RopeImpl refactoring.
+ (JSC::jsString): Added jsString functions for 2 & 3 UStrings.
+
+ * runtime/RopeImpl.cpp:
+ (JSC::RopeImpl::derefFibersNonRecursive):
+ * runtime/RopeImpl.h:
+ (JSC::RopeImpl::initializeFiber):
+ (JSC::RopeImpl::size):
+ (JSC::RopeImpl::fibers):
+ (JSC::RopeImpl::deref):
+ (JSC::RopeImpl::RopeImpl): A little refactoring to make this patch easier:
+ Moved statics to the top of the class; put multi-statement functions on
+ multiple lines; renamed "fiberCount" to "size" to match other collections;
+ changed the "fibers" accessor to return the fibers buffer, instead of an
+ item in the buffer, to make iteration easier.
+
+ * runtime/StringPrototype.cpp:
+ (JSC::stringProtoFuncReplace): Don't resolve a rope unless we need to. Do
+ use our new replaceCharacter function if possible. Do use a rope to
+ represent splicing three strings together.
+
+2010-05-10 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ [Qt] Disable JIT support for mingw-w64
+ https://bugs.webkit.org/show_bug.cgi?id=38747
+
+ Disale JIT for mingw-w64 as it is reportedly
+ unstable.
+
+ Thanks for Vanboxem Rruben for the investigation.
+
+ * wtf/Platform.h:
+
+2010-05-09 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ JavaScriptCore/wtf/MD5.h: checksum should take a reference to output.
+ https://bugs.webkit.org/show_bug.cgi?id=38723
+
+ * JavaScriptCore.exp:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * wtf/MD5.cpp:
+ (WTF::expectMD5):
+ Fix for checksum change.
+ (WTF::MD5::checksum):
+ Take a reference to output, instead of returning the result by value, to reduce coping for performance.
+ * wtf/MD5.h:
+
+2010-05-09 Oliver Hunt <oliver@apple.com>
+
+ Build fix.
+
+ Fix accidental repeat addition of emit_op_new_regexp
+
+ * jit/JITOpcodes.cpp:
+
+2010-05-09 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ REGRESSION(r57955): RegExp literals should not actually be cached, so r57955 should be rolled out.
+ https://bugs.webkit.org/show_bug.cgi?id=38828
+ <rdar://problem/7961634>
+
+ Rollout r57955
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::regexpToSourceString):
+ (JSC::regexpName):
+ (JSC::CodeBlock::dump):
+ (JSC::CodeBlock::shrinkToFit):
+ * bytecode/CodeBlock.h:
+ (JSC::CodeBlock::addRegExp):
+ (JSC::CodeBlock::regexp):
+ * bytecode/Opcode.h:
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::addRegExp):
+ (JSC::BytecodeGenerator::emitNewRegExp):
+ * bytecompiler/BytecodeGenerator.h:
+ * bytecompiler/NodesCodegen.cpp:
+ (JSC::RegExpNode::emitBytecode):
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompileMainPass):
+ * jit/JIT.h:
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_new_regexp):
+ * jit/JITStubs.cpp:
+ (JSC::DEFINE_STUB_FUNCTION):
+ * jit/JITStubs.h:
+ (JSC::):
+
+2010-05-09 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Reserve a large-ish initial capacity for Lexer::m_buffer16.
+
+ SunSpider says 0.3% faster.
+
+ m_buffer16 is used when parsing complex strings -- for example, strings
+ with escape sequences in them. These kinds of strings can be really long,
+ and we want to avoid repeatedly copying as we grow m_buffer16.
+
+ The net memory cost is quite low, since it's proporitional to source
+ code we already have in memory, and we throw away m_buffer16 right when
+ we're done parsing.
+
+ * parser/Lexer.cpp:
+ (JSC::Lexer::Lexer): No need to reserve initial capacity in our constructor,
+ since setCode will be called before we're asked to lex anything.
+ (JSC::Lexer::setCode): Reserve enough space to lex half the source code
+ as a complex string without having to copy.
+ (JSC::Lexer::clear): No need to reserve initial capacity here either,
+ since setCode will be called before we're asked to lex anything.
+
+2010-05-09 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ [Qt] Remove YARR configuration rules from Qt make system
+ https://bugs.webkit.org/show_bug.cgi?id=38819
+
+ Setting YARR based on JIT seeting is now in Platform.h
+ for all ports. This patch essentially reverses r49238.
+
+ * JavaScriptCore.pri:
+
+2010-05-09 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Improve string indexing performance
+ https://bugs.webkit.org/show_bug.cgi?id=38814
+
+ Add an assembly stub to do indexed loads from strings much
+ more cheaply than the current stub dispatch logic. We can
+ do this because we are able to make guarantees about the
+ register contents when entering the stub so the call overhead
+ is negligible.
+
+ * jit/JIT.h:
+ * jit/JITInlineMethods.h:
+ * jit/JITOpcodes.cpp:
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::stringGetByValStubGenerator):
+ (JSC::JIT::emitSlow_op_get_by_val):
+ Moved from JITOpcodes.cpp to keep the slowcase next to
+ the normal case codegen as we do for everything else.
+ * jit/JITPropertyAccess32_64.cpp:
+ (JSC::JIT::stringGetByValStubGenerator):
+ (JSC::JIT::emitSlow_op_get_by_val):
+ * jit/JSInterfaceJIT.h:
+ (JSC::JSInterfaceJIT::emitFastArithImmToInt):
+
+2010-05-09 Maciej Stachowiak <mjs@apple.com>
+
+ Fixed version of: "Optimized o[s] where o is a cell and s is a string"
+ https://bugs.webkit.org/show_bug.cgi?id=38815
+
+ Fixed the previous patch for this from Geoff Garen.
+
+ The two problems were a missing exception check and a PropertySlot
+ initialized improperly, leading to crashes and failures in the case
+ of getters accessed with bracket syntax.
+
+ Previous patch:
+
+ Optimized o[s] where o is a cell and s is a string, removing some old
+ code that wasn't really tuned for the JIT.
+
+ SunSpider says 0.8% faster.
+
+ * jit/JITStubs.cpp:
+ (JSC::DEFINE_STUB_FUNCTION):
+ * runtime/JSCell.h:
+
+2010-05-08 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Unreviewed, build fix.
+
+ Fix missing terminating ' character warning
+
+ The warning has been only seen on the Gtk buildbots.
+
+ * wtf/Platform.h:
+
+2010-05-08 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Refactor YARR and YARR_JIT default rules in Platform.h
+ https://bugs.webkit.org/show_bug.cgi?id=38727
+
+ Turn on YARR and YARR JIT by default of JIT is enabled.
+ Ports can overrule this default decisions as they wish.
+
+ * wtf/Platform.h:
+
+2010-05-08 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Split JSVALUE32_64 code out of JITOpcodes.cpp and into JITOpcodes32_64.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=38808
+
+ * GNUmakefile.am:
+ * JavaScriptCore.gypi:
+ * JavaScriptCore.pro:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * jit/JITOpcodes.cpp:
+ * jit/JITOpcodes32_64.cpp: Added.
+ (JSC::JIT::privateCompileCTIMachineTrampolines):
+ (JSC::JIT::emit_op_mov):
+ (JSC::JIT::emit_op_end):
+ (JSC::JIT::emit_op_jmp):
+ (JSC::JIT::emit_op_loop_if_lesseq):
+ (JSC::JIT::emitSlow_op_loop_if_lesseq):
+ (JSC::JIT::emit_op_new_object):
+ (JSC::JIT::emit_op_instanceof):
+ (JSC::JIT::emitSlow_op_instanceof):
+ (JSC::JIT::emit_op_new_func):
+ (JSC::JIT::emit_op_get_global_var):
+ (JSC::JIT::emit_op_put_global_var):
+ (JSC::JIT::emit_op_get_scoped_var):
+ (JSC::JIT::emit_op_put_scoped_var):
+ (JSC::JIT::emit_op_tear_off_activation):
+ (JSC::JIT::emit_op_tear_off_arguments):
+ (JSC::JIT::emit_op_new_array):
+ (JSC::JIT::emit_op_resolve):
+ (JSC::JIT::emit_op_to_primitive):
+ (JSC::JIT::emitSlow_op_to_primitive):
+ (JSC::JIT::emit_op_strcat):
+ (JSC::JIT::emit_op_resolve_base):
+ (JSC::JIT::emit_op_resolve_skip):
+ (JSC::JIT::emit_op_resolve_global):
+ (JSC::JIT::emitSlow_op_resolve_global):
+ (JSC::JIT::emit_op_not):
+ (JSC::JIT::emitSlow_op_not):
+ (JSC::JIT::emit_op_jfalse):
+ (JSC::JIT::emitSlow_op_jfalse):
+ (JSC::JIT::emit_op_jtrue):
+ (JSC::JIT::emitSlow_op_jtrue):
+ (JSC::JIT::emit_op_jeq_null):
+ (JSC::JIT::emit_op_jneq_null):
+ (JSC::JIT::emit_op_jneq_ptr):
+ (JSC::JIT::emit_op_jsr):
+ (JSC::JIT::emit_op_sret):
+ (JSC::JIT::emit_op_eq):
+ (JSC::JIT::emitSlow_op_eq):
+ (JSC::JIT::emit_op_neq):
+ (JSC::JIT::emitSlow_op_neq):
+ (JSC::JIT::compileOpStrictEq):
+ (JSC::JIT::emit_op_stricteq):
+ (JSC::JIT::emitSlow_op_stricteq):
+ (JSC::JIT::emit_op_nstricteq):
+ (JSC::JIT::emitSlow_op_nstricteq):
+ (JSC::JIT::emit_op_eq_null):
+ (JSC::JIT::emit_op_neq_null):
+ (JSC::JIT::emit_op_resolve_with_base):
+ (JSC::JIT::emit_op_new_func_exp):
+ (JSC::JIT::emit_op_throw):
+ (JSC::JIT::emit_op_get_pnames):
+ (JSC::JIT::emit_op_next_pname):
+ (JSC::JIT::emit_op_push_scope):
+ (JSC::JIT::emit_op_pop_scope):
+ (JSC::JIT::emit_op_to_jsnumber):
+ (JSC::JIT::emitSlow_op_to_jsnumber):
+ (JSC::JIT::emit_op_push_new_scope):
+ (JSC::JIT::emit_op_catch):
+ (JSC::JIT::emit_op_jmp_scopes):
+ (JSC::JIT::emit_op_switch_imm):
+ (JSC::JIT::emit_op_switch_char):
+ (JSC::JIT::emit_op_switch_string):
+ (JSC::JIT::emit_op_new_error):
+ (JSC::JIT::emit_op_debug):
+ (JSC::JIT::emit_op_enter):
+ (JSC::JIT::emit_op_enter_with_activation):
+ (JSC::JIT::emit_op_create_arguments):
+ (JSC::JIT::emit_op_init_arguments):
+ (JSC::JIT::emit_op_convert_this):
+ (JSC::JIT::emitSlow_op_convert_this):
+ (JSC::JIT::emit_op_profile_will_call):
+ (JSC::JIT::emit_op_profile_did_call):
+
+2010-05-08 Gabor Loki <loki@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Fix halfword loads on ARM
+ https://bugs.webkit.org/show_bug.cgi?id=38741
+
+ The BaseIndex and ImplicitAddress are contain 32bit wide offset, but
+ the load16 functions were working with 8 bit data (encoded in the
+ instruction). If the offset cannot be encoded in an instruction, it
+ should be stored in a temporary register.
+
+ * assembler/ARMAssembler.h:
+ (JSC::ARMAssembler::getOffsetForHalfwordDataTransfer):
+ * assembler/MacroAssemblerARM.h:
+ (JSC::MacroAssemblerARM::load16):
+
+2010-05-08 Gabor Loki <loki@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Fix spanning branch instruction on Cortex-A8 with Thumb-2 JIT
+ https://bugs.webkit.org/show_bug.cgi?id=38280
+
+ If the 32-bit Thumb-2 branch instruction spans two 4KiB regions and
+ the target of the branch falls within the first region it is
+ possible for the processor to incorrectly determine the branch
+ instruction, and it is also possible in some cases for the processor
+ to enter a deadlock state.
+
+ * assembler/ARMv7Assembler.h:
+ (JSC::ARMv7Assembler::linkJumpAbsolute):
+
+2010-05-08 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Fisher.
+
+ [WTFURL] Add a buffer for managing the output of the canonicalizer
+ https://bugs.webkit.org/show_bug.cgi?id=38671
+
+ The canonicalizer produces a stream of canonicalized characters, which
+ we will store in a URLBuffer. URLBuffer is quite similar to Vector,
+ but serves as an abstraction to isolate us from the underlying
+ character storage. In the case of WebKit, we'll probably implement a
+ subclass of URLBuffer with Vector. In Chromium, the backing store is a
+ std::string, which avoids an unnecessary memcpy that would be caused by
+ using Vector instead.
+
+ * wtf/url/src/URLBuffer.h: Added.
+ (WTF::URLBuffer::URLBuffer):
+ (WTF::URLBuffer::~URLBuffer):
+ (WTF::URLBuffer::at):
+ (WTF::URLBuffer::set):
+ (WTF::URLBuffer::capacity):
+ (WTF::URLBuffer::length):
+ (WTF::URLBuffer::data):
+ (WTF::URLBuffer::setLength):
+ (WTF::URLBuffer::append):
+ (WTF::URLBuffer::grow):
+
+2010-05-08 Eric Seidel <eric@webkit.org>
+
+ Unreviewed, just reverting commit.
+
+ REGRESSION(59000): r59000 contained all sorts of changes it should not have, needs revert.
+ https://bugs.webkit.org/show_bug.cgi?id=38798
+
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::emitResolve):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_resolve_global):
+
+2010-05-04 Jer Noble <jer.noble@apple.com>
+
+ Reviewed by Maciej Stachowiak
+
+ Safari pegs CPU and drops tons of frames using HTML5 Vimeo player
+ <https://bugs.webkit.org/show_bug.cgi?id=34005>
+ <rdar://problem/7569713>
+
+ Added cancelCallOnMainThread. callOnMainThread should always now be paired
+ with cancelCallOnMainThread in situations where the refcon passed to callOnMainThread
+ may be dealloced before the main thread function can be dispatched.
+
+ * wtf/MainThread.cpp:
+ (WTF::FunctionWithContext::operator == ): Supports the FunctionWithContextFinder predicate functor.
+ (WTF::FunctionWithContextFinder::FunctionWithContextFinder): Predicate functor for use with Dequeue::findIf
+ (WTF::FunctionWithContextFinder::operator()):
+ (WTF::cancelCallOnMainThread):
+ * wtf/MainThread.h:
+
+2010-05-07 Oliver Hunt <oliver@apple.com>
+
+ Windows build fix.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2010-05-07 Eric Seidel <eric@webkit.org>
+
+ Unreviewed, rolling out r58990.
+ http://trac.webkit.org/changeset/58990
+
+ Broke 4 tests on Snow Leopard and Qt.
+
+ * jit/JITStubs.cpp:
+ (JSC::DEFINE_STUB_FUNCTION):
+ * runtime/JSCell.h:
+
+2010-05-07 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Optimize access to the global object from a function that uses eval
+ https://bugs.webkit.org/show_bug.cgi?id=38644
+
+ Fix bug where cross scope access to a global var (vs. property) would
+ be allowed without checking for intervening dynamic scopes.
+
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::emitResolve):
+
+2010-05-07 Oliver Hunt <oliver@apple.com>
+
+ 32-bit buildfix.
+
+ Macro expansion I stab at thee!
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_resolve_global):
+
+2010-05-07 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Optimized o[s] where o is a cell and s is a string, removing some old
+ code that wasn't really tuned for the JIT.
+
+ SunSpider says 0.8% faster.
+
+ * jit/JITStubs.cpp:
+ (JSC::DEFINE_STUB_FUNCTION):
+ * runtime/JSCell.h:
+
+2010-05-07 Oliver Hunt <oliver@apple.com>
+
+ Windows build fix.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2010-05-07 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ Optimize access to the global object from a function that uses eval
+ https://bugs.webkit.org/show_bug.cgi?id=38644
+
+ Add op_resolve_global_dynamic, a variant of op_resolve_global that
+ checks each node in the scope chain for dynamically inserted properties
+ and falls back to the normal resolve logic in that case.
+
+ * JavaScriptCore.exp:
+ * bytecode/CodeBlock.cpp:
+ (JSC::isGlobalResolve):
+ (JSC::CodeBlock::printStructures):
+ (JSC::CodeBlock::dump):
+ (JSC::CodeBlock::derefStructures):
+ * bytecode/Opcode.h:
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::findScopedProperty):
+ Now take an additional reference parameter to used to indicate that
+ there were nodes that may gain dynamic properties
+ (JSC::BytecodeGenerator::emitResolve):
+ (JSC::BytecodeGenerator::emitResolveBase):
+ (JSC::BytecodeGenerator::emitResolveWithBase):
+ deal with additional argument to findScopedProperty
+ * bytecompiler/BytecodeGenerator.h:
+ * bytecompiler/NodesCodegen.cpp:
+ (JSC::FunctionCallResolveNode::emitBytecode):
+ (JSC::PostfixResolveNode::emitBytecode):
+ (JSC::PrefixResolveNode::emitBytecode):
+ (JSC::ReadModifyResolveNode::emitBytecode):
+ (JSC::AssignResolveNode::emitBytecode):
+ These functions use findScopedProperty directly in order to
+ optimise lookup. They cannot trivially handle any degree of
+ dynamism in the lookup so we just give up in such case.
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::resolveGlobalDynamic):
+ (JSC::Interpreter::execute):
+ (JSC::Interpreter::privateExecute):
+ * interpreter/Interpreter.h:
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompileMainPass):
+ (JSC::JIT::privateCompileSlowCases):
+ * jit/JIT.h:
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_resolve_global):
+ (JSC::JIT::emit_op_resolve_global_dynamic):
+ (JSC::JIT::emitSlow_op_resolve_global):
+ (JSC::JIT::emitSlow_op_resolve_global_dynamic):
+ Happily resolve_global_dynamic can share the slow case!
+ * jit/JITStubs.h:
+ (JSC::):
+ * runtime/JSActivation.cpp:
+ (JSC::JSActivation::isDynamicScope):
+ * runtime/JSActivation.h:
+ * runtime/JSGlobalObject.cpp:
+ (JSC::JSGlobalObject::isDynamicScope):
+ * runtime/JSGlobalObject.h:
+ * runtime/JSStaticScopeObject.cpp:
+ (JSC::JSStaticScopeObject::isDynamicScope):
+ * runtime/JSStaticScopeObject.h:
+ * runtime/JSVariableObject.h:
+
+2010-05-07 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Fixed Sputnik failure seen on buildbot.
+
+ * runtime/NumberPrototype.cpp:
+ (JSC::numberProtoFuncToString): Cast to unsigned before checking magnitude,
+ to efficiently exclude negative numbers, which require two characters
+ instead of one.
+
+2010-05-07 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Slightly more effective way to guarantee a compile-time constant, at
+ least on gcc.
+
+ * runtime/NumberPrototype.cpp:
+ (JSC::numberProtoFuncToString): Use pointer notation instead of array
+ notation, so the compiler treats the string and its contents as constant.
+
+2010-05-07 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ [WTFURL] Add core URL parser
+ https://bugs.webkit.org/show_bug.cgi?id=38572
+
+ This patch adds the core of the URL parser. The URL parser uses a
+ templated notion of a code unit to support different string types.
+ Later we'll add some non-templated APIs with concrete types that
+ clients can use more conveniently.
+
+ The URLParser has a couple calls to ASSERT(), which I've commented out
+ for now. I'm not 100% sure how to handle the dependency issues there
+ yet, so I've punted on the issue for now.
+
+ Also, there are a number of methods that are declared public in this
+ patch that are only used by the canonicalizer. My plan is to make
+ those private or protected and make the canonicalizer a friend of the
+ parser. The details will be in a later patch.
+
+ * wtf/url/src/URLComponent.h:
+ (WTF::URLComponent::fromRange):
+ (WTF::URLComponent::isNonEmpty):
+ (WTF::URLComponent::isEmptyOrInvalid):
+ * wtf/url/src/URLParser.h: Added.
+ (WTF::URLParser::):
+ (WTF::URLParser::isPossibleAuthorityTerminator):
+ (WTF::URLParser::parseAuthority):
+ (WTF::URLParser::extractScheme):
+ (WTF::URLParser::parseAfterScheme):
+ (WTF::URLParser::parseStandardURL):
+ (WTF::URLParser::parsePath):
+ (WTF::URLParser::parsePathURL):
+ (WTF::URLParser::parseMailtoURL):
+ (WTF::URLParser::parsePort):
+ (WTF::URLParser::extractFileName):
+ (WTF::URLParser::extractQueryKeyValue):
+ (WTF::URLParser::isURLSlash):
+ (WTF::URLParser::shouldTrimFromURL):
+ (WTF::URLParser::trimURL):
+ (WTF::URLParser::consecutiveSlashes):
+ (WTF::URLParser::isPortDigit):
+ (WTF::URLParser::nextAuthorityTerminator):
+ (WTF::URLParser::parseUserInfo):
+ (WTF::URLParser::parseServerInfo):
+
+2010-05-07 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Added a fast path for number-to-character conversion via
+ Number.prototype.toString base 36.
+
+ 0.7% speedup on SunSpider.
+
+ * runtime/NumberPrototype.cpp:
+ (JSC::numberProtoFuncToString): Made radix interpretation a little more
+ efficient by keeping it in int space. Turned "const char" into
+ "static const char" just in case. Added a fast path for base 36
+ conversion of something that will turn into a character.
+
+2010-05-07 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Fisher.
+
+ [WTFURL] Add a malloc-backed URLBuffer
+ https://bugs.webkit.org/show_bug.cgi?id=38694
+
+ This patch adds a URLBuffer that uses new/delete to manage the backing
+ store for the buffer.
+
+ * wtf/url/src/RawURLBuffer.h: Added.
+ (WTF::RawURLBuffer::RawURLBuffer):
+ (WTF::RawURLBuffer::~RawURLBuffer):
+ (WTF::RawURLBuffer::resize):
+
+2010-05-06 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ JavaScriptCore/wtf/RandomNumber.h should provide using WTF::*
+ https://bugs.webkit.org/show_bug.cgi?id=38719
+
+ * wtf/RandomNumber.h:
+ Add using directives.
+
+2010-05-06 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Enable YARR_JIT for X86 Mac for QtWebKit
+ https://bugs.webkit.org/show_bug.cgi?id=38668
+
+ * wtf/Platform.h:
+
+2010-05-06 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Bug 38714 - Add result caching for Math.sin
+
+ Math.sin is frequently called with the same operand, caching the result should
+ improve performance. CachedTranscendentalFunction adds a generic mechanism to
+ cache results for pure functions with the signature "double func(double)", and
+ where NaN maps to NaN.
+
+ CachedTranscendentalFunction uses a very simple hash function designed to be
+ fast to execute since we cannot cache the result, and trivial to JIT generate,
+ should we wish to do so.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * runtime/CachedTranscendentalFunction.h: Added.
+ (JSC::CachedTranscendentalFunction::CachedTranscendentalFunction):
+ (JSC::CachedTranscendentalFunction::~CachedTranscendentalFunction):
+ (JSC::CachedTranscendentalFunction::operator()):
+ (JSC::CachedTranscendentalFunction::initialize):
+ (JSC::CachedTranscendentalFunction::hash):
+ * runtime/JSGlobalData.h:
+ * runtime/MathObject.cpp:
+ (JSC::mathProtoFuncSin):
+ * wtf/Platform.h:
+
+2010-05-06 Geoffrey Garen <ggaren@apple.com>
+
+ Windows build fix.
+
+ * bytecode/SamplingTool.cpp:
+ (JSC::SamplingFlags::sample): Use a cast, so Windows will be happy when
+ this code is enabled.
+ * wtf/Platform.h: Reverted last change to this file, which seems to have
+ been accidental.
+
+2010-05-06 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Add compile switch to make debugger keyword plant breakpoint instructions.
+
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::emitDebugHook):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_debug):
+ * wtf/Platform.h:
+
+2010-05-06 Oliver Hunt <oliver@apple.com>
+
+ Build fix
+
+ Fix ARM builds
+
+ * assembler/MacroAssemblerARM.h:
+ (JSC::MacroAssemblerARM::load16):
+ * assembler/MacroAssemblerARMv7.h:
+ (JSC::MacroAssemblerARMv7::load16):
+
+2010-05-06 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ Improve performance of single character string compares
+ https://bugs.webkit.org/show_bug.cgi?id=38659
+
+ Add logic to the jit to identify comparisons to single character string literals
+ and then just perform the comparison inline, rather than ignoring the evidence
+ and attempting to perform an integer comparison.
+
+ Multiple changes required -- add jnlesseq opcode, add helper function to identify
+ single character string constants, add a helper to load single character strings.
+ Then add the 32_64 and normal codepaths to the JIT.
+
+ * assembler/MacroAssemblerX86Common.h:
+ (JSC::MacroAssemblerX86Common::load16):
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::dump):
+ * bytecode/Opcode.h:
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::emitJumpIfTrue):
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompileMainPass):
+ (JSC::JIT::privateCompileSlowCases):
+ * jit/JIT.h:
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_jnless):
+ (JSC::JIT::emitSlow_op_jnless):
+ (JSC::JIT::emit_op_jless):
+ (JSC::JIT::emitSlow_op_jless):
+ (JSC::JIT::emit_op_jlesseq):
+ (JSC::JIT::emit_op_jnlesseq):
+ (JSC::JIT::emitSlow_op_jlesseq):
+ (JSC::JIT::emitSlow_op_jnlesseq):
+ * jit/JITArithmetic32_64.cpp:
+ (JSC::JIT::emit_op_jnless):
+ (JSC::JIT::emitSlow_op_jnless):
+ (JSC::JIT::emit_op_jless):
+ (JSC::JIT::emitSlow_op_jless):
+ (JSC::JIT::emit_op_jlesseq):
+ (JSC::JIT::emit_op_jnlesseq):
+ (JSC::JIT::emitSlow_op_jlesseq):
+ (JSC::JIT::emitSlow_op_jnlesseq):
+ (JSC::JIT::emitBinaryDoubleOp):
+ * jit/JITInlineMethods.h:
+ (JSC::JIT::emitLoadCharacterString):
+ (JSC::JIT::isOperandConstantImmediateChar):
+ * jit/JSInterfaceJIT.h:
+ (JSC::ThunkHelpers::stringImplDataOffset):
+ (JSC::ThunkHelpers::jsStringLengthOffset):
+ (JSC::ThunkHelpers::jsStringValueOffset):
+ Moved from ThunkGenerators to make it possible to share.
+ * jit/ThunkGenerators.cpp:
+
+2010-05-06 Martin Robinson <mrobinson@webkit.org>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ [GTK] Enable DOM clipboard and drag-and-drop access
+ https://bugs.webkit.org/show_bug.cgi?id=30623
+
+ Convert dragging portion of drag-and-drop to use DataObjectGtk.
+
+ * wtf/gobject/GRefPtr.h: Add forward declarations for GObject functions.
+
+2010-05-06 Steve Block <steveblock@google.com>
+
+ Reviewed by Eric Seidel.
+
+ MAC_JAVA_BRIDGE should be renamed JAVA_BRIDGE
+ https://bugs.webkit.org/show_bug.cgi?id=38544
+
+ * wtf/Platform.h:
+
+2010-05-06 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ [WTFURL] Add a class to represent the segments of a URL
+ https://bugs.webkit.org/show_bug.cgi?id=38566
+
+ When paired with a string, this class represents a parsed URL.
+
+ * wtf/url/src/URLSegments.cpp: Added.
+ (WTF::URLSegments::length):
+ (WTF::URLSegments::charactersBefore):
+ * wtf/url/src/URLSegments.h: Added.
+ (WTF::URLSegments::):
+ (WTF::URLSegments::URLSegments):
+ * wtf/url/wtfurl.gyp:
+
+2010-05-05 Tony Gentilcore <tonyg@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Adding comment with link to RefPtr documentation.
+ https://bugs.webkit.org/show_bug.cgi?id=38601
+
+ * wtf/RefPtr.h:
+
+2010-05-05 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 38604 - workers-gc2 crashing on Qt
+
+ This appears to be due to a couple of issues.
+ (1) When the atomic string table is deleted it does not clear the 'inTable' bit
+ on AtomicStrings - it implicitly assumes that all AtomicStrings have already
+ been deleted at this point (otherwise they will crash in their destructor when
+ they try to remove themselves from the atomic string table).
+ (2) We don't fix the ordering in which WTF::WTFThreadData and
+ WebCore::ThreadGlobalData are destructed.
+
+ We should make sure that ThreadGlobalData is cleaned up before worker threads
+ terminate and WTF::WTFThreadData is destroyed, and we should clear the inTable
+ bit of members on atomic string table destruction.
+
+ WTF changes (fix issue 1, above) - ensure inTable property is cleared when the
+ atomic string table is destroyed (also, rename InTable to IsAtomic, to make it
+ clear which table we are refering to!)
+
+ * wtf/text/AtomicString.cpp:
+ (WebCore::AtomicStringTable::destroy):
+ (WebCore::CStringTranslator::translate):
+ (WebCore::UCharBufferTranslator::translate):
+ (WebCore::HashAndCharactersTranslator::translate):
+ (WebCore::AtomicString::add):
+ * wtf/text/StringImpl.cpp:
+ (WebCore::StringImpl::~StringImpl):
+ * wtf/text/StringImpl.h:
+ (WebCore::StringImpl::isAtomic):
+ (WebCore::StringImpl::setIsAtomic):
+ * wtf/text/StringImplBase.h:
+
+2010-05-05 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ Make Array.join specialised for actual arrays
+ https://bugs.webkit.org/show_bug.cgi?id=38592
+
+ Bring Array.join in line with the other array methods by specialising for
+ this === an array.
+
+ * runtime/ArrayPrototype.cpp:
+ (JSC::arrayProtoFuncJoin):
+
+2010-05-04 Yongjun Zhang <yongjun_zhang@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WebKit crashes at DebuggerCallFrame::functionName() if m_callFrame is the top global callframe.
+ https://bugs.webkit.org/show_bug.cgi?id=38535
+
+ Don't call asFunction if callee is not a FunctionType to prevent assertion failure
+ in JSCell::isObject().
+
+ * debugger/DebuggerCallFrame.cpp:
+ (JSC::DebuggerCallFrame::functionName):
+ (JSC::DebuggerCallFrame::calculatedFunctionName):
+
+2010-05-04 Steve Falkenburg <sfalken@apple.com>
+
+ Remove redundant exports to fix Windows build warnings.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2010-05-04 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
+
+ Reviewed by Holger Freyther.
+
+ Fix a memory leak inside the QScriptValue.
+
+ QSciptValuePrivate::toString should release all temporary variables.
+
+ [Qt] QScriptValue::toString have a memory leak.
+ https://bugs.webkit.org/show_bug.cgi?id=38112
+
+ * qt/api/qscriptvalue_p.h:
+ (QScriptValuePrivate::toString):
+
+2010-05-04 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Darin Adler.
+
+ Does not work on SPARC because of alignment issues
+ https://bugs.webkit.org/show_bug.cgi?id=38455
+
+ Use AllocAlignmentInteger instead of void* on pageheap_memory to
+ avoid crashing at runtime in some architectures. Investigated by
+ Mike Hommey <mh@glandium.org>, change suggested by Darin Adler.
+
+ * wtf/FastMalloc.cpp:
+
+2010-05-04 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Add first WTFURL file
+ https://bugs.webkit.org/show_bug.cgi?id=38470
+
+ This class represents a component of a URL, such as the scheme or path.
+ Essentially, the class is an index into a string buffer.
+
+ * wtf/url: Added.
+ - There was some discussion about where to put the URL library.
+ There are a number of reasonable options, but putting the library
+ in the WTF directory seems like a reasonable alternative. This
+ location will make more sense once WTF is moved out of
+ JavaScriptCore and into a top-level directory.
+ * wtf/url/src: Added.
+ - I've added this extra directory to the usual structure because we
+ eventually want a "public" folder that defines the public
+ interface to this library that clients outside of svn.webkit.org
+ can rely upon, much like the various subfolders of the WebKit
+ directory often define a public API.
+ * wtf/url/src/URLComponent.h: Added.
+ - I've added this somewhat trivial class to get the ball rolling.
+ (WTF::URLComponent::URLComponent):
+ (WTF::URLComponent::isValid):
+ (WTF::URLComponent::isNonempty):
+ (WTF::URLComponent::reset):
+ (WTF::URLComponent::operator==):
+ (WTF::URLComponent::begin):
+ (WTF::URLComponent::setBegin):
+ (WTF::URLComponent::length):
+ (WTF::URLComponent::setLength):
+ (WTF::URLComponent::end):
+ * wtf/url/wtfurl.gyp: Added.
+ - WTFURL will be an independently buildable library, hence the
+ beginnings of a wtfurl.gyp file.
+
+2010-05-03 Stephanie Lewis <slewis@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38368
+ <rdar://problem/7834433> REGRESSSION: 1.5% PLT regression due to 56028
+ (return memory quicker).
+ Instead of returning everything but the smallest spans spread out
+ the spans kept over several size lists.
+
+ * wtf/FastMalloc.cpp:
+ (WTF::TCMalloc_PageHeap::scavenge):
+
+2010-05-03 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Clean up a few compiler warnings
+ https://bugs.webkit.org/show_bug.cgi?id=38073
+
+ * wtf/text/StringImpl.cpp:
+ (WebCore::StringImpl::ascii):
+
+2010-05-03 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (reverting previous commit).
+
+ Rolling out r58114 - this introduced memory leaks of
+ AtomicStrings then workers terminated.
+
+ * GNUmakefile.am:
+ * JavaScriptCore.gypi:
+ * JavaScriptCore.vcproj/WTF/WTF.vcproj:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * jit/ThunkGenerators.cpp:
+ (JSC::ThunkHelpers::stringImplDataOffset):
+ * runtime/Identifier.cpp:
+ (JSC::IdentifierTable::~IdentifierTable):
+ (JSC::IdentifierTable::add):
+ (JSC::IdentifierCStringTranslator::hash):
+ (JSC::IdentifierCStringTranslator::equal):
+ (JSC::IdentifierCStringTranslator::translate):
+ (JSC::Identifier::add):
+ (JSC::IdentifierUCharBufferTranslator::hash):
+ (JSC::IdentifierUCharBufferTranslator::equal):
+ (JSC::IdentifierUCharBufferTranslator::translate):
+ (JSC::Identifier::addSlowCase):
+ * runtime/Identifier.h:
+ * runtime/JSGlobalData.cpp:
+ (JSC::JSGlobalData::JSGlobalData):
+ (JSC::JSGlobalData::~JSGlobalData):
+ * runtime/JSGlobalData.h:
+ * wtf/WTFThreadData.cpp:
+ (WTF::WTFThreadData::WTFThreadData):
+ (WTF::WTFThreadData::~WTFThreadData):
+ * wtf/WTFThreadData.h:
+ (JSC::IdentifierTable::remove):
+ (JSC::IdentifierTable::literalTable):
+ (WTF::WTFThreadData::atomicStringTable):
+ * wtf/text/AtomicString.cpp:
+ (WebCore::AtomicStringTable::create):
+ (WebCore::AtomicStringTable::table):
+ (WebCore::AtomicStringTable::destroy):
+ (WebCore::stringTable):
+ (WebCore::CStringTranslator::hash):
+ (WebCore::CStringTranslator::equal):
+ (WebCore::CStringTranslator::translate):
+ (WebCore::operator==):
+ (WebCore::AtomicString::add):
+ (WebCore::equal):
+ (WebCore::UCharBufferTranslator::hash):
+ (WebCore::UCharBufferTranslator::equal):
+ (WebCore::UCharBufferTranslator::translate):
+ (WebCore::HashAndCharactersTranslator::hash):
+ (WebCore::HashAndCharactersTranslator::equal):
+ (WebCore::HashAndCharactersTranslator::translate):
+ (WebCore::AtomicString::find):
+ (WebCore::AtomicString::remove):
+ * wtf/text/AtomicStringTable.h: Removed.
+ * wtf/text/StringImpl.cpp:
+ (WebCore::StringImpl::~StringImpl):
+ * wtf/text/StringImpl.h:
+ (WebCore::StringImpl::inTable):
+ (WebCore::StringImpl::setInTable):
+ (WebCore::equal):
+ * wtf/text/StringImplBase.h:
+ (WTF::StringImplBase::StringImplBase):
+
+2010-05-03 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ [wx] Implement scheduleDispatchFunctionsOnMainThread for wx port.
+ https://bugs.webkit.org/show_bug.cgi?id=38480
+
+ * wtf/wx/MainThreadWx.cpp:
+ (wxCallAfter::wxCallAfter):
+ (wxCallAfter::OnCallback):
+ (WTF::scheduleDispatchFunctionsOnMainThread):
+
+2010-05-03 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ [wx] Build and use Mac's ComplexTextController to support complex text in wx.
+ https://bugs.webkit.org/show_bug.cgi?id=38482
+
+ * wtf/Platform.h:
+
+2010-05-03 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Interpreter crashes due to incorrect refcounting of cached structures.
+ https://bugs.webkit.org/show_bug.cgi?id=38491
+ rdar://problem/7926160
+
+ Make sure we ref/deref structures used for cached custom property getters
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::derefStructures):
+ (JSC::CodeBlock::refStructures):
+
+2010-05-02 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ [Qt] Enable JIT for QtWebKit on Symbian
+ https://bugs.webkit.org/show_bug.cgi?id=38339
+
+ JIT on Symbian has been stable for quite some time, it
+ is time to turn it on by default.
+
+ * wtf/Platform.h:
+
+2010-04-29 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Add codegen support for unsigned right shift
+ https://bugs.webkit.org/show_bug.cgi?id=38375
+
+ Expose unsigned right shift in the macro assembler, and make use of it
+ from the jit. Currently if the result is outside the range 0..2^31-1
+ we simply fall back to the slow case, even in JSVALUE64 and JSVALUE32_64
+ where technically we could still return an immediate value.
+
+ * assembler/MacroAssemblerARM.h:
+ (JSC::MacroAssemblerARM::urshift32):
+ * assembler/MacroAssemblerARMv7.h:
+ (JSC::MacroAssemblerARMv7::urshift32):
+ * assembler/MacroAssemblerX86Common.h:
+ (JSC::MacroAssemblerX86Common::urshift32):
+ * assembler/X86Assembler.h:
+ (JSC::X86Assembler::):
+ (JSC::X86Assembler::shrl_i8r):
+ (JSC::X86Assembler::shrl_CLr):
+ Add unsigned right shift to the x86 assembler
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompileMainPass):
+ (JSC::JIT::privateCompileSlowCases):
+ op_rshift no longer simply get thrown to a stub function
+ * jit/JIT.h:
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_urshift):
+ (JSC::JIT::emitSlow_op_urshift):
+ JSVALUE32 and JSVALUE64 implementation. Only supports
+ double lhs in JSVALUE64.
+ * jit/JITArithmetic32_64.cpp:
+ (JSC::JIT::emit_op_rshift):
+ (JSC::JIT::emitSlow_op_rshift):
+ (JSC::JIT::emit_op_urshift):
+ (JSC::JIT::emitSlow_op_urshift):
+ Refactor right shift code to have shared implementation between signed
+ and unsigned versions.
+
+2010-04-29 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Handle double on righthand side of a right shift
+ https://bugs.webkit.org/show_bug.cgi?id=38363
+
+ In 64-bit we support right shift of a double, and there's no
+ reason not to in 32-bit either. This is a 1.1% sunspider
+ improvement in 32bit.
+
+ Given high performance javascript code frequently makes
+ use of bit operators to perform double->int conversion i'll
+ follow this patch up with similar patches for bitwise 'and'
+ and 'or'.
+
+ * jit/JITArithmetic32_64.cpp:
+ (JSC::JIT::emit_op_rshift):
+ (JSC::JIT::emitSlow_op_rshift):
+
+2010-04-29 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Hoist JSVALUE32_64 arithmetic implementations into a separate file.
+
+ * GNUmakefile.am:
+ * JavaScriptCore.gypi:
+ * JavaScriptCore.pro:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emitSlow_op_jnless):
+ (JSC::JIT::emitSlow_op_jless):
+ (JSC::JIT::emitSlow_op_jnlesseq):
+ (JSC::JIT::emit_op_mod):
+ (JSC::JIT::compileBinaryArithOpSlowCase):
+ (JSC::JIT::emit_op_div):
+ (JSC::JIT::compileBinaryArithOp):
+ * jit/JITArithmetic32_64.cpp: Added.
+ (JSC::JIT::emit_op_negate):
+ (JSC::JIT::emitSlow_op_negate):
+ (JSC::JIT::emit_op_jnless):
+ (JSC::JIT::emitSlow_op_jnless):
+ (JSC::JIT::emit_op_jless):
+ (JSC::JIT::emitSlow_op_jless):
+ (JSC::JIT::emit_op_jnlesseq):
+ (JSC::JIT::emitSlow_op_jnlesseq):
+ (JSC::JIT::emit_op_lshift):
+ (JSC::JIT::emitSlow_op_lshift):
+ (JSC::JIT::emit_op_rshift):
+ (JSC::JIT::emitSlow_op_rshift):
+ (JSC::JIT::emit_op_bitand):
+ (JSC::JIT::emitSlow_op_bitand):
+ (JSC::JIT::emit_op_bitor):
+ (JSC::JIT::emitSlow_op_bitor):
+ (JSC::JIT::emit_op_bitxor):
+ (JSC::JIT::emitSlow_op_bitxor):
+ (JSC::JIT::emit_op_bitnot):
+ (JSC::JIT::emitSlow_op_bitnot):
+ (JSC::JIT::emit_op_post_inc):
+ (JSC::JIT::emitSlow_op_post_inc):
+ (JSC::JIT::emit_op_post_dec):
+ (JSC::JIT::emitSlow_op_post_dec):
+ (JSC::JIT::emit_op_pre_inc):
+ (JSC::JIT::emitSlow_op_pre_inc):
+ (JSC::JIT::emit_op_pre_dec):
+ (JSC::JIT::emitSlow_op_pre_dec):
+ (JSC::JIT::emit_op_add):
+ (JSC::JIT::emitAdd32Constant):
+ (JSC::JIT::emitSlow_op_add):
+ (JSC::JIT::emit_op_sub):
+ (JSC::JIT::emitSub32Constant):
+ (JSC::JIT::emitSlow_op_sub):
+ (JSC::JIT::emitBinaryDoubleOp):
+ (JSC::JIT::emit_op_mul):
+ (JSC::JIT::emitSlow_op_mul):
+ (JSC::JIT::emit_op_div):
+ (JSC::JIT::emitSlow_op_div):
+ (JSC::JIT::emit_op_mod):
+ (JSC::JIT::emitSlow_op_mod):
+
+2010-04-29 Zoltan Herczeg <zherczeg@webkit.org>
+
+ Reviewed by Oliver Hunt
+
+ Add sqrt() instruction support for ARM assembler (using VFP)
+ https://bugs.webkit.org/show_bug.cgi?id=38312
+
+ * assembler/ARMAssembler.h:
+ (JSC::ARMAssembler::):
+ (JSC::ARMAssembler::fsqrtd_r):
+ * assembler/MacroAssemblerARM.h:
+ (JSC::MacroAssemblerARM::supportsFloatingPointSqrt):
+ (JSC::MacroAssemblerARM::sqrtDouble):
+
+2010-04-29 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Refactor qtscriptglobal.h
+ https://bugs.webkit.org/show_bug.cgi?id=37953
+
+ Use the same pattern in qtscriptglobal.h as in
+ qwebkitglobal.h without checking for specific OSs.
+
+ * qt/api/qtscriptglobal.h:
+
+2010-04-29 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Small cleanup.
+
+ QScriptValuePrivate constructor shouldn't take QScriptEngine pointer
+ as a parameter, because it breaks a private / public separation rule.
+ QScriptEnginePrivate::get(QScriptEngine*) should return
+ a QScriptEnginePrivate pointer instead of a QScriptEnginePtr, it simplifies
+ implementation.
+
+ [Qt] QScriptValuePrivate class needs some cleanup.
+ https://bugs.webkit.org/show_bug.cgi?id=37729
+
+ * qt/api/qscriptengine_p.h:
+ (QScriptEnginePrivate::get):
+ * qt/api/qscriptvalue.cpp:
+ (QScriptValue::QScriptValue):
+ * qt/api/qscriptvalue_p.h:
+ (QScriptValuePrivate::QScriptValuePrivate):
+
+2010-04-29 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Simon Hausmann.
+
+ [WINCE] Export g_stackBase with JS_EXPORTDATA
+ https://bugs.webkit.org/show_bug.cgi?id=37437
+
+ Export g_stackBase with JS_EXPORTDATA as it is used by SharedTimerWince.cpp.
+
+ * runtime/Collector.cpp:
+
+2010-04-28 Oliver Hunt <oliver@apple.com>
+
+ Do an unordered compare so that we don't treat NaN incorrectly.
+
+ RS=Gavin Barraclough
+
+ * jit/ThunkGenerators.cpp:
+ (JSC::powThunkGenerator):
+
+2010-04-28 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Add fast paths for Math.pow and Math.sqrt
+ https://bugs.webkit.org/show_bug.cgi?id=38294
+
+ Add specialized thunks for Math.pow and Math.sqrt.
+ This requires adding a sqrtDouble function to the MacroAssembler
+ and sqrtsd to the x86 assembler.
+
+ Math.pow is slightly more complicated, in that we have
+ to implement exponentiation ourselves rather than relying
+ on hardware support. The inline exponentiation is restricted
+ to positive integer exponents on a numeric base. Exponentiation
+ is finally performed through the "Exponentiation by Squaring"
+ algorithm.
+
+ * assembler/AbstractMacroAssembler.h:
+ (JSC::AbstractMacroAssembler::ImmPtr::ImmPtr):
+ * assembler/MacroAssemblerARM.h:
+ (JSC::MacroAssemblerARM::supportsFloatingPointSqrt):
+ (JSC::MacroAssemblerARM::loadDouble):
+ (JSC::MacroAssemblerARM::sqrtDouble):
+ * assembler/MacroAssemblerARMv7.h:
+ (JSC::MacroAssemblerARMv7::supportsFloatingPointSqrt):
+ (JSC::MacroAssemblerARMv7::sqrtDouble):
+ * assembler/MacroAssemblerX86.h:
+ (JSC::MacroAssemblerX86::loadDouble):
+ (JSC::MacroAssemblerX86::supportsFloatingPointSqrt):
+ * assembler/MacroAssemblerX86Common.h:
+ (JSC::MacroAssemblerX86Common::sqrtDouble):
+ * assembler/MacroAssemblerX86_64.h:
+ (JSC::MacroAssemblerX86_64::loadDouble):
+ (JSC::MacroAssemblerX86_64::supportsFloatingPointSqrt):
+ * assembler/X86Assembler.h:
+ (JSC::X86Assembler::):
+ (JSC::X86Assembler::movsd_mr):
+ (JSC::X86Assembler::sqrtsd_rr):
+ (JSC::X86Assembler::X86InstructionFormatter::twoByteOp):
+ (JSC::X86Assembler::X86InstructionFormatter::memoryModRM):
+ * create_hash_table:
+ * jit/JIT.h:
+ * jit/JITInlineMethods.h:
+ * jit/JITOpcodes.cpp:
+ * jit/JITStubs.h:
+ (JSC::JITThunks::ctiNativeCallThunk):
+ * jit/JSInterfaceJIT.h:
+ (JSC::JSInterfaceJIT::emitLoadDouble):
+ (JSC::JSInterfaceJIT::emitJumpIfImmediateNumber):
+ (JSC::JSInterfaceJIT::emitJumpIfNotImmediateNumber):
+ (JSC::JSInterfaceJIT::emitLoadInt32):
+ * jit/SpecializedThunkJIT.h:
+ (JSC::SpecializedThunkJIT::loadDoubleArgument):
+ (JSC::SpecializedThunkJIT::loadInt32Argument):
+ (JSC::SpecializedThunkJIT::returnJSValue):
+ (JSC::SpecializedThunkJIT::returnDouble):
+ (JSC::SpecializedThunkJIT::finalize):
+ * jit/ThunkGenerators.cpp:
+ (JSC::sqrtThunkGenerator):
+ (JSC::powThunkGenerator):
+ * jit/ThunkGenerators.h:
+ * runtime/Executable.h:
+ (JSC::NativeExecutable::NativeExecutable):
+ * runtime/JSFunction.cpp:
+ (JSC::JSFunction::JSFunction):
+
+2010-04-28 Mike Thole <mthole@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Reenable WTF_USE_PROTECTION_SPACE_AUTH_CALLBACK now that an
+ exports file for it has been added.
+
+ * wtf/Platform.h:
+
+2010-04-28 Mike Thole <mthole@apple.com>
+
+ Build fix, not reviewed.
+
+ * wtf/Platform.h:
+ Disable WTF_USE_PROTECTION_SPACE_AUTH_CALLBACK until an exports file is created.
+
+2010-04-28 Mike Thole <mthole@apple.com>
+
+ Reviewed by David Kilzer.
+
+ Add canAuthenticateAgainstProtectionSpace() to frame loader so that a protection space
+ can be inspected before attempting to authenticate against it
+ https://bugs.webkit.org/show_bug.cgi?id=38271
+
+ * wtf/Platform.h: Add WTF_USE_PROTECTION_SPACE_AUTH_CALLBACK define.
+
+2010-04-28 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Don't use CFAbsoluteTimeGetCurrent on Mac OS X, since it's just a cover
+ for gettimeofday anyway.
+
+ * wtf/CurrentTime.cpp:
+ (WTF::currentTime): Remove the CF version of this. Change the "other POSIX"
+ version to pass 0 for the time zone instead of ignoring a return value.
+ Also get rid of unneeded type casts, since operations involving both
+ integers and doubles are always evaluated as doubles in C without explicit
+ type casting.
+
+2010-04-28 Darin Fisher <darin@chromium.org>
+
+ Reviewed by David Levin.
+
+ [Chromium] callOnMainThread should equate to MessageLoop::PostTask
+ https://bugs.webkit.org/show_bug.cgi?id=38276
+
+ * JavaScriptCore.gyp/JavaScriptCore.gyp:
+ * wtf/MainThread.cpp:
+ * wtf/chromium/ChromiumThreading.h:
+ * wtf/chromium/MainThreadChromium.cpp:
+ (WTF::initializeMainThread):
+ (WTF::callOnMainThread):
+ (WTF::callOnMainThreadAndWait):
+ (WTF::setMainThreadCallbacksPaused):
+ (WTF::isMainThread):
+
+2010-04-28 Simon Hausmann <simon.hausmann@nokia.com>, Kent Hansen <kent.hansen@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ JSC's currentThreadStackBase is not reentrant on some platforms
+ https://bugs.webkit.org/show_bug.cgi?id=37195
+
+ This function needs to be reentrant to avoid memory corruption on platforms where
+ the implementation uses global variables.
+
+ This patch adds a mutex lock where necessary and makes the Symbian implementation
+ reentrant.
+
+ * runtime/Collector.cpp:
+ (JSC::currentThreadStackBaseMutex):
+ (JSC::currentThreadStackBase):
+
+2010-04-28 Thiago Macieira <thiago.macieira@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Fix compilation with gcc 3.4.
+
+ AtomicStringImpl.h:29: error: base `WebCore::StringImpl' with only
+ non-default constructor in class without a constructor
+
+ * wtf/text/AtomicStringImpl.h:
+ (WebCore::AtomicStringImpl::AtomicStringImpl): Provide a default constructor.
+ * wtf/text/StringImpl.h: Allow AtomicStringImpl to call a StringImpl constructor through a friend declaration.
+
+2010-04-27 Stephanie Lewis <slewis@apple.com>
+
+ Fix Tiger build.
+
+ * wtf/FastMalloc.cpp:
+ (WTF::TCMalloc_PageHeap::Carve):
+
+2010-04-26 Stephanie Lewis <slewis@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38154 FastMalloc calls madvise too often.
+ <rdar://problem/7834433> REGRESSSION: 1.5% PLT regression due to 56028 (return memory quicker).
+ To save on madvise calls when recommitting memory recommit the entire span and then carve it
+ instead of carving the span up and only committing the part that will be used immediately.
+
+ * wtf/FastMalloc.cpp:
+ (WTF::TCMalloc_PageHeap::New):
+ (WTF::TCMalloc_PageHeap::AllocLarge):
+ (WTF::TCMalloc_PageHeap::Carve):
+
+2010-04-26 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Add specialized thunks for a char code related string functions
+ https://bugs.webkit.org/show_bug.cgi?id=38177
+
+ This is a simple extension to my prior patch. Basically hoist the
+ existing character loading logic from the charCodeAt thunk and into
+ a helper function, then add a helper to load strings from the small
+ string cache. This allows trivial implementations of fromCharCode
+ and charAt.
+
+ * create_hash_table:
+ * jit/SpecializedThunkJIT.h:
+ (JSC::SpecializedThunkJIT::returnJSCell):
+ (JSC::SpecializedThunkJIT::tagReturnAsJSCell):
+ * jit/ThunkGenerators.cpp:
+ (JSC::stringCharLoad):
+ (JSC::charToString):
+ (JSC::charCodeAtThunkGenerator):
+ (JSC::charAtThunkGenerator):
+ (JSC::fromCharCodeThunkGenerator):
+ * jit/ThunkGenerators.h:
+ * runtime/SmallStrings.h:
+ (JSC::SmallStrings::singleCharacterStrings):
+ * runtime/StringConstructor.cpp:
+ (JSC::StringConstructor::StringConstructor):
+
+2010-04-27 Thomas Zander <t.zander@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix the build on Symbian on Linux using the Makefile based mkspec
+
+ * JavaScriptCore.pri: It is necessary to specify the library search path
+ when linking against JavaScriptCore.
+
+2010-04-21 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Compile fix for Visual Studio 2010
+ https://bugs.webkit.org/show_bug.cgi?id=37867
+
+ Patch by Prasanth Ullattil <prasanth.ullattil@nokia.com>
+
+ * runtime/Structure.cpp:
+ (JSC::Structure::transitionTableAdd):
+ * wtf/MathExtras.h:
+ * wtf/Platform.h:
+
+2010-04-27 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Rename COMPILER(MSVC7) to COMPILER(MSVC7_OR_LOWER)
+
+ * config.h:
+ (JSC::Structure::transitionTableAdd):
+ * wtf/Assertions.h:
+ * wtf/Atomics.h:
+ * wtf/CurrentTime.h:
+ (WTF::getLocalTime):
+ * wtf/Platform.h:
+ * wtf/StaticConstructors.h:
+ * wtf/StringExtras.h:
+ * wtf/Vector.h:
+ (WTF::::append):
+
+2010-04-15 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Fix Mac build break.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37867
+ - Make sure JavaScriptCore's debug_and_release config follows that
+ of WebCore.
+ - Use different name for JavaScriptCore target in debug and release
+ since they might be written in the same path at the same time on
+ parallel builds
+ - Consolidate the DESTDIR determination logic in JavaScriptCore.pri
+
+ * JavaScriptCore.pri:
+ * JavaScriptCore.pro:
+
+2010-04-21 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Make sure WebKit is not compiled using C++0x.
+ https://bugs.webkit.org/show_bug.cgi?id=37867
+
+ As the rest of Qt compiles in the C++0x mode, people might start
+ compiling it in this mode. WebKit don't support this yet.
+
+ Patch by Thiago Macieira <thiago.macieira@nokia.com>
+
+ * JavaScriptCore.pro:
+
+2010-04-26 Oliver Hunt <oliver@apple.com>
+
+ Fix windows
+
+ * jit/SpecializedThunkJIT.h:
+ (JSC::SpecializedThunkJIT::argumentToVirtualRegister):
+
+2010-04-26 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Need to support more efficient dispatch of lightweight builtins
+ https://bugs.webkit.org/show_bug.cgi?id=38155
+
+ The problem with calling lightweight builtins is that marshalling
+ the call from the nitro calling convention to the system calling
+ convention is very expensive relative to the cost of the actually
+ evaluating the function. To work around this problem this patch
+ adds the ability to define a custom thunk for a builtin.
+
+ This allows us to use high performance custom implementations of
+ the common and sensible versions of simple builtins. This patch
+ includes a simple (use of which is currently hardcoded) thunk for
+ charCodeAt.
+
+ This adds a JSInterfaceJIT subclass called SpecializedThunkJIT
+ that has helper functions to remove (or at least reduce) the need
+ to have separate thunk implementations for each JSValue encoding.
+
+ * GNUmakefile.am:
+ * JavaScriptCore.pro:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ Many project file updates
+
+ * create_hash_table:
+ Add thunk generation callbacks to the hash tables, currently
+ we hardcode the script to only support charCodeAt
+
+ * jit/JITStubCall.h:
+ * jit/JITStubs.cpp:
+ (JSC::JITThunks::~JITThunks):
+ (JSC::JITThunks::specializedThunk):
+ * jit/JITStubs.h:
+ * jit/SpecializedThunkJIT.h: Added.
+ (JSC::SpecializedThunkJIT::SpecializedThunkJIT):
+ (JSC::SpecializedThunkJIT::loadCellArgument):
+ (JSC::SpecializedThunkJIT::loadJSStringArgument):
+ (JSC::SpecializedThunkJIT::loadInt32Argument):
+ (JSC::SpecializedThunkJIT::appendFailure):
+ (JSC::SpecializedThunkJIT::returnInt32):
+ (JSC::SpecializedThunkJIT::finalize):
+ (JSC::SpecializedThunkJIT::argumentToVirtualRegister):
+ (JSC::SpecializedThunkJIT::tagReturnAsInt32):
+ * jit/ThunkGenerators.cpp: Added.
+ (JSC::ThunkHelpers::stringImplDataOffset):
+ (JSC::ThunkHelpers::jsStringLengthOffset):
+ (JSC::ThunkHelpers::jsStringValueOffset):
+ (JSC::charCodeAtThunkGenerator):
+ * jit/ThunkGenerators.h: Added.
+ * runtime/Executable.h:
+ (JSC::NativeExecutable::NativeExecutable):
+ * runtime/JSFunction.cpp:
+ (JSC::JSFunction::JSFunction):
+ * runtime/JSFunction.h:
+ * runtime/JSGlobalData.h:
+ (JSC::JSGlobalData::getThunk):
+ * runtime/JSString.h:
+ (JSC::):
+ * runtime/JSValue.h:
+ Protect some of the JSVALUE32 and JSVALUE32_64 only constants
+ and function behind appropriate USE() guards to make it harder
+ to use the wrong flags for the target build.
+ * runtime/Lookup.cpp:
+ (JSC::HashTable::createTable):
+ (JSC::setUpStaticFunctionSlot):
+ * runtime/Lookup.h:
+ (JSC::HashEntry::initialize):
+ (JSC::HashEntry::generator):
+ (JSC::HashEntry::):
+ Make the lookup tables use a specialized thunkGenerator
+ if present
+ * wtf/text/StringImpl.h:
+
+2010-04-26 Oliver Hunt <oliver@apple.com>
+
+ Build fix
+
+ * runtime/JSImmediate.h:
+ * runtime/JSValue.h:
+
+2010-04-26 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Factor some basic JS interface logic out of JIT and into a superclass
+ https://bugs.webkit.org/show_bug.cgi?id=38163
+
+ Create JSInterfaceJIT to hold some common low level functions for
+ interacting with the JS RegisterFile. Doing this separately from
+ https://bugs.webkit.org/show_bug.cgi?id=38155 to ease reviewing.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * jit/JIT.h:
+ * jit/JITInlineMethods.h:
+ (JSC::JIT::emitJumpSlowCaseIfNotJSCell):
+ * jit/JSInterfaceJIT.h: Added.
+ (JSC::JSInterfaceJIT::emitLoadJSCell):
+ (JSC::JSInterfaceJIT::emitJumpIfNotJSCell):
+ (JSC::JSInterfaceJIT::emitLoadInt32):
+ (JSC::JSInterfaceJIT::tagFor):
+ (JSC::JSInterfaceJIT::payloadFor):
+ (JSC::JSInterfaceJIT::addressFor):
+
+2010-04-26 Sam Weinig <sam@webkit.org>
+
+ Fix Tiger build.
+
+ * wtf/mac/MainThreadMac.mm:
+ (WTF::isMainThread):
+
+2010-04-26 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/7766413>
+
+ Fixed a crash seen when using the JavaScriptCore API with WebKit.
+
+ No layout test because DumpRenderTree doesn't use the JavaScriptCore API
+ in this way.
+
+ * interpreter/RegisterFile.cpp:
+ (JSC::RegisterFile::setGlobalObject):
+ (JSC::RegisterFile::clearGlobalObject):
+ (JSC::RegisterFile::globalObject):
+ * interpreter/RegisterFile.h:
+ (JSC::RegisterFile::RegisterFile): Use WeakGCPtr for managing m_globalObject,
+ since it's a weak pointer. (We never noticed this error before because,
+ in WebKit, global objects always have a self-reference in a global variable,
+ so marking the register file's global variables would keep m_globalObject
+ alive. In the JavaScriptCore API, you can allocate a global object with
+ no self-reference.)
+
+ * runtime/JSActivation.h: Removed unneeded #include.
+
+ * runtime/JSGlobalObject.cpp:
+ (JSC::JSGlobalObject::~JSGlobalObject): Don't use ==, since a weak
+ pointer is 0 when the object it points to runs its destructor.
+
+ * runtime/WeakGCPtr.h:
+ (JSC::WeakGCPtr::clear): Changed to return a bool indicating whether the
+ clear actually happened.
+ (JSC::WeakGCPtr::assign): Changed to forbid assignment of 0 as a shorthand
+ for calling clear(). A client should never clear by assigning 0, since
+ clear() should be conditional on whether the object doing the clearing
+ is still pointed to by the weak pointer. (Otherwise, a zombie object might
+ clear a pointer to a new, valid object.)
+
+2010-04-25 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=38097
+ Disentangle initializing the main thread from initializing threading
+
+ This is the first step in getting rid of the WEB_THREAD #define and
+ paving the way to allowing mac both WebKit and WebKit2 to use the same
+ WebCore.
+
+ * JavaScriptCore.exp: Export initializeMainThread and initializeMainThreadToProcessMainThread.
+ * JavaScriptCore.xcodeproj/project.pbxproj: Sort files.
+
+ * wtf/MainThread.cpp:
+ (WTF::mainThreadInitializationMutex):
+ (WTF::mainThreadFunctionQueueMutex):
+ (WTF::initializeMainThread):
+ (WTF::deprecatedInitializeMainThread):
+ * wtf/MainThread.h:
+ Added Mac only initializeMainThreadToProcessMainThread which sets up callOnMainThread
+ and isMainThead calls to assume that WebCore's main thread is also the
+ process's main thread. Since it is possible that both initializeMainThread
+ and initializeMainThreadToProcessMainThread could be called, the first one called
+ wins (either will work).
+
+ * wtf/Threading.h: Moved to top of file.
+
+ * wtf/ThreadingPthreads.cpp:
+ (WTF::initializeThreading): Remove call to initializeMainThread.
+ * wtf/ThreadingWin.cpp:
+ (WTF::initializeThreading): Ditto.
+ * wtf/gtk/ThreadingGtk.cpp:
+ (WTF::initializeThreading): Ditto.
+
+ * wtf/mac/MainThreadMac.mm:
+ (WTF::initializeMainThreadPlatform):
+ (WTF::initializeMainThreadToProcessMainThread):
+ (WTF::scheduleDispatchFunctionsOnMainThread):
+ (WTF::isMainThread):
+ Add runtime switch between the old behavior of using the system's main
+ thread and a stored pointer to the main thread. Tiger always uses the
+ system's main thread.
+
+ * wtf/qt/ThreadingQt.cpp:
+ (WTF::initializeThreading): Remove call to initializeMainThread.
+ * wtf/win/MainThreadWin.cpp:
+ (WTF::initializeMainThreadPlatform): Add call to initializeCurrentThreadInternal
+ removed from initializeThreading.
+
+2010-04-26 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Fix a memory leak in the QScriptString.
+
+ QScriptStringPrivate's constructor shouldn't call JSStringRetain as
+ QScriptConverter implicitly pass a JSStringRef ownership.
+
+ [Qt] QScriptStringPrivate c'tor problem
+ https://bugs.webkit.org/show_bug.cgi?id=38110
+
+ * qt/api/qscriptstring_p.h:
+ (QScriptStringPrivate::QScriptStringPrivate):
+
+2010-04-24 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ REGRESSION (r56560): Crash in parseFloat if passed invalid UTF-16 data
+ https://bugs.webkit.org/show_bug.cgi?id=38083
+ rdar://problem/7901044
+
+ Tests: fast/js/ToNumber.html
+ fast/js/parseFloat.html
+
+ * runtime/JSGlobalObjectFunctions.cpp:
+ (JSC::parseInt): Added a FIXME comment about a problem I noticed.
+ (JSC::parseFloat): Added a FIXME comment about a problem I noticed;
+ covered by test cases in the test I added.
+ * runtime/UString.cpp:
+ (JSC::UString::toDouble): Added FIXME comments about two problems I
+ noticed; covered by test cases in the tests I added. Added a return
+ statement so we don't crash when illegal UTF-16 sequences are present.
+
+2010-04-24 Anton Muhin <antonm@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Allow to construct HashTraits<WebCore::QualifiedName>::constructDeletedValue
+
+ Former implementation attempted to use AtomicString(HashTableDeletedValue)
+ however those values cannot be used that way: one cannot construct
+ QualifiedNameImpl out of such AtomicString as we'll try to lookup this string
+ in the table, for example.
+ https://bugs.webkit.org/show_bug.cgi?id=37722
+
+ * wtf/RefPtr.h: expose hash table deleted value
+
+2010-04-23 Sam Weinig <sam@webkit.org>
+
+ Reviewed by David Levin.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=38060
+ Split up Threading.h
+
+ Move bits for of Threading.h into 3 new files.
+ - Atomics.h for atomic operations.
+ - ThreadSafeShared.h for the ThreadSafeShared class.
+ - ThreadingPrimitives.h for the primitives and platform types.
+
+ Basic threading operations (creation, etc.) remain in Threading.h.
+
+ * GNUmakefile.am:
+ * JavaScriptCore.gypi:
+ * JavaScriptCore.vcproj/WTF/WTF.vcproj:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * wtf/Atomics.h: Copied from wtf/Threading.h.
+ * wtf/ThreadSafeShared.h: Copied from wtf/Threading.h.
+ * wtf/Threading.h:
+ * wtf/ThreadingPrimitives.h: Copied from wtf/Threading.h.
+
+2010-04-23 Sam Weinig <sam@webkit.org>
+
+ Fix Qt build.
+
+ * wtf/qt/MainThreadQt.cpp: #include <QThread>
+
+2010-04-22 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=38022
+ Move isMainThread predicate function to MainThread.h
+
+ * wtf/MainThread.cpp:
+ (WTF::initializeMainThread):
+ (WTF::isMainThread):
+ * wtf/MainThread.h:
+ * wtf/Threading.h:
+ * wtf/ThreadingPthreads.cpp:
+ (WTF::initializeThreading):
+ * wtf/ThreadingWin.cpp:
+ (WTF::initializeThreading):
+ * wtf/gtk/ThreadingGtk.cpp:
+ (WTF::initializeThreading):
+ * wtf/mac/MainThreadMac.mm:
+ (WTF::initializeMainThreadPlatform):
+ (WTF::isMainThread):
+ * wtf/qt/MainThreadQt.cpp:
+ (WTF::isMainThread):
+ * wtf/qt/ThreadingQt.cpp:
+ (WTF::initializeThreading):
+ * wtf/text/AtomicString.cpp:
+
+2010-04-23 Gabor Rapcsanyi <rgabor@inf.u-szeged.hu>
+
+ Reviewed by Laszlo Gombos.
+
+ Add RVCT support for Linux
+
+ Developed in cooperation with Gabor Loki.
+
+ * API/JSStringRef.h:
+ * jit/ExecutableAllocator.h:
+ * jit/ExecutableAllocatorPosix.cpp:
+ (JSC::ExecutableAllocator::cacheFlush):
+ * jit/JITStubs.cpp:
+ * wtf/MathExtras.h:
+ * wtf/unicode/qt4/UnicodeQt4.h:
+
+2010-04-23 Patrick Gansterer <paroga@paroga.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [WIN] Move OwnPtrWin.cpp into platform specific folder.
+ https://bugs.webkit.org/show_bug.cgi?id=38042
+
+ * JavaScriptCore.gypi:
+ * JavaScriptCore.vcproj/WTF/WTF.vcproj:
+ * wtf/OwnPtrWin.cpp: Removed.
+ * wtf/win/OwnPtrWin.cpp: Copied from JavaScriptCore/wtf/OwnPtrWin.cpp.
+
+2010-04-23 Patrick Gansterer <paroga@paroga.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [BREWMP] Move OwnPtrBrew.cpp into platform specific folder.
+ https://bugs.webkit.org/show_bug.cgi?id=38042
+
+ * wtf/OwnPtrBrew.cpp: Removed.
+ * wtf/brew/OwnPtrBrew.cpp: Copied from JavaScriptCore/wtf/OwnPtrBrew.cpp.
+
+2010-04-22 Steve Block <steveblock@google.com>
+
+ Reviewed by Adam Barth.
+
+ Update Android to use isfinite, isinf, isnan and signbit from namespace std.
+ https://bugs.webkit.org/show_bug.cgi?id=37948
+
+ * wtf/MathExtras.h:
+
+2010-04-22 Fumitoshi Ukai <ukai@chromium.org>
+
+ Unreviewed build fix.
+
+ * wtf/MD5.cpp: fix include path of CString.h
+
+2010-04-22 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ MD5 is required for WebSocket new protocol implementation
+ https://bugs.webkit.org/show_bug.cgi?id=37913
+
+ * GNUmakefile.am:
+ * JavaScriptCore.exp:
+ * JavaScriptCore.gypi:
+ * JavaScriptCore.pro:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/WTF/WTF.vcproj:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * wtf/MD5.cpp: Added.
+ * wtf/MD5.h: Added.
+
+2010-04-22 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (build fix).
+ Errk, accidentally committed commenting out two ASSERTs! reverting.
+
+ * runtime/Collector.cpp:
+ (JSC::Heap::protect):
+ (JSC::Heap::unprotect):
+
+2010-04-22 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38006
+ Change lifetime of JSC::IdentifierTables used by WebCores to match AtomicStringTable
+
+ Presently JSC's IdentifierTables are owned by the JSGlobalData. For
+ JSGlobalData objects created via the API this should continue to be the case,
+ but for the JSGlobalData objects used by WebCore (the main thread's common
+ global data, and those for workers) use a IdentifierTable provided (and owned)
+ by wtfThreadData. This allow the lifetime of these IdentifierTable to match
+ those of the corresponding AtomicStringTables.
+
+ * API/APIShims.h:
+ (JSC::APIEntryShim::APIEntryShim):
+ * API/JSContextRef.cpp:
+ (JSContextGroupCreate):
+ * runtime/Collector.cpp:
+ (JSC::Heap::protect):
+ (JSC::Heap::unprotect):
+ (JSC::Heap::markRoots):
+ * runtime/JSGlobalData.cpp:
+ (JSC::JSGlobalData::JSGlobalData):
+ (JSC::JSGlobalData::~JSGlobalData):
+ (JSC::JSGlobalData::createContextGroup):
+ (JSC::JSGlobalData::create):
+ (JSC::JSGlobalData::sharedInstance):
+ * runtime/JSGlobalData.h:
+ (JSC::JSGlobalData::):
+ (JSC::JSGlobalData::isSharedInstance):
+ * runtime/JSLock.cpp:
+ (JSC::JSLock::JSLock):
+ (JSC::JSLock::lock):
+ (JSC::JSLock::unlock):
+ (JSC::JSLock::DropAllLocks::DropAllLocks):
+ * wtf/WTFThreadData.cpp:
+ (WTF::WTFThreadData::WTFThreadData):
+ (WTF::WTFThreadData::~WTFThreadData):
+
+2010-04-22 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r58110.
+ http://trac.webkit.org/changeset/58110
+ https://bugs.webkit.org/show_bug.cgi?id=38007
+
+ Caused an internal compiler error on Qt (Requested by abarth
+ on #webkit).
+
+ * wtf/MathExtras.h:
+
+2010-04-22 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (windows build fix).
+
+ * API/JSWeakObjectMapRefPrivate.cpp:
+
+2010-04-22 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (windows build fix).
+
+ * API/JSBase.cpp:
+ * API/JSCallbackObject.cpp:
+
+2010-04-22 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37978
+ Unify JSC::IdentifierTable and WebCore::AtomicStringTable implementations.
+
+ These two classes both implement a HashSet of uniqued StringImpls, with
+ translator classes to avoid unnecessary object creation. The only difference
+ between the classes is which flag (isIdentifier or inTable) is set.
+ Combine the two classes using a template predicated on which flag to use.
+
+ New class AtomicStringTable created, containing all the goodness from
+ IdentifierTable & AtomicStringTable, expect for Identifier's literalTable,
+ which has been moved onto JSGlobalData. Removed duplicate string translator
+ classes. Renamed StringImpl's inTable flag to more explicit 'isAtomic',
+ and set this on the empty string (which matches Identifier behaviour, and
+ removes a redundant check for zero-length).
+
+ * GNUmakefile.am:
+ * JavaScriptCore.gypi:
+ * JavaScriptCore.vcproj/WTF/WTF.vcproj:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * runtime/Identifier.cpp:
+ (JSC::createLiteralTable):
+ (JSC::deleteLiteralTable):
+ (JSC::Identifier::add):
+ (JSC::Identifier::addSlowCase):
+ * runtime/Identifier.h:
+ * runtime/JSGlobalData.cpp:
+ (JSC::JSGlobalData::JSGlobalData):
+ (JSC::JSGlobalData::~JSGlobalData):
+ * runtime/JSGlobalData.h:
+ * wtf/WTFThreadData.cpp:
+ (WTF::WTFThreadData::WTFThreadData):
+ (WTF::WTFThreadData::~WTFThreadData):
+ * wtf/WTFThreadData.h:
+ (WTF::WTFThreadData::atomicStringTable):
+ * wtf/text/AtomicString.cpp:
+ (WebCore::table):
+ (WebCore::operator==):
+ (WebCore::AtomicString::add):
+ (WebCore::AtomicString::find):
+ (WebCore::AtomicString::remove):
+ * wtf/text/AtomicStringTable.h: Added.
+ (WTF::CStringTranslator::hash):
+ (WTF::CStringTranslator::equal):
+ (WTF::CStringTranslator::translate):
+ (WTF::UCharBufferTranslator::hash):
+ (WTF::UCharBufferTranslator::equal):
+ (WTF::UCharBufferTranslator::translate):
+ (WTF::HashAndCharactersTranslator::hash):
+ (WTF::HashAndCharactersTranslator::equal):
+ (WTF::HashAndCharactersTranslator::translate):
+ (WTF::IdentifierOrAtomicStringTable::remove):
+ (WTF::::~IdentifierOrAtomicStringTable):
+ (WTF::::add):
+ (WTF::::find):
+ * wtf/text/StringImpl.cpp:
+ (WebCore::StringImpl::~StringImpl):
+ * wtf/text/StringImpl.h:
+ (WebCore::StringImpl::isAtomic):
+ (WebCore::StringImpl::setIsAtomic):
+ (WebCore::equal):
+ * wtf/text/StringImplBase.h:
+ (WTF::StringImplBase::StringImplBase):
+
+2010-04-22 Steve Block <steveblock@google.com>
+
+ Reviewed by Adam Barth.
+
+ Update Android to use isfinite, isinf, isnan and signbit from namespace std.
+ https://bugs.webkit.org/show_bug.cgi?id=37948
+
+ * wtf/MathExtras.h:
+
+2010-04-22 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Remove dependency of JSC to QtGui
+ https://bugs.webkit.org/show_bug.cgi?id=37867
+
+ The patch also make sure that hal.h is in the include path on Symbian.
+ The dependency to QtGui took care of that before.
+
+ Patch by Thiago Macieira <thiago.macieira@nokia.com>
+ and Rohan McGovern <rohan.mcgovern@nokia.com>
+
+ * JavaScriptCore.pri:
+ * JavaScriptCore.pro:
+
+2010-04-22 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Corrects symbols visibility for JavaScriptCore.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37867
+
+ * JavaScriptCore.pro:
+
+2010-04-22 Gabor Loki <loki@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Use BLX and BX to keep happy the return stack predictor above ARMv4
+ https://bugs.webkit.org/show_bug.cgi?id=37862
+
+ Inspired by Jacob Bramley's patch from JaegerMonkey
+
+ * assembler/ARMAssembler.cpp:
+ (JSC::ARMAssembler::executableCopy):
+ * assembler/ARMAssembler.h:
+ (JSC::ARMAssembler::):
+ (JSC::ARMAssembler::bx):
+ (JSC::ARMAssembler::blx):
+ (JSC::ARMAssembler::loadBranchTarget):
+ (JSC::ARMAssembler::jmp):
+ (JSC::ARMAssembler::getLdrImmAddress):
+ * assembler/MacroAssemblerARM.h:
+ (JSC::MacroAssemblerARM::jump):
+ (JSC::MacroAssemblerARM::nearCall):
+ (JSC::MacroAssemblerARM::call):
+ (JSC::MacroAssemblerARM::ret):
+ (JSC::MacroAssemblerARM::prepareCall):
+ (JSC::MacroAssemblerARM::call32):
+
+2010-04-21 Andy Estes <aestes@apple.com>
+
+ Rubber stamped by Mark Rowe.
+
+ Export WTF::deleteOwnedPtr(HFONT).
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2010-04-21 Gavin Barraclough <barraclough@apple.com>
+
+ Rubber Stamped by Oliver Hunt.
+
+ Make SmallStrings store an array of RefPtr<StringImpl>,
+ instead of a direct array of StringImpls. This allows
+ us to remove a friend (and a layering violation) from
+ WTF::StringImpl, and makes it so that all StringImpls
+ are individually heap allocated.
+
+ * runtime/SmallStrings.cpp:
+ (JSC::SmallStringsStorage::rep):
+ (JSC::SmallStringsStorage::SmallStringsStorage):
+ * wtf/text/StringImpl.h:
+
+2010-04-21 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=37937
+ Wean JavaScriptCore off calls to isMainThread()
+
+ - Replace use of isMainThread() for interpreter reentry checks
+ with a stored value on the JSGlobalData.
+ - Replace use of isMainThread() for useMainThread only check in the
+ collector with a stored exclusive thread.
+
+ * API/JSContextRef.cpp:
+ (JSContextGroupCreate):
+ Always default to a small stack type for uses of the JSC API. It is
+ unlikely that the interpreter reentry required on the web will be as
+ important for other uses of JavaScriptCore.
+
+ * JavaScriptCore.exp:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ Update exports.
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::execute):
+ (JSC::Interpreter::prepareForRepeatCall):
+ Use new stored JSGlobalData::maxReentryDepth instead of isMainThread().
+
+ * interpreter/Interpreter.h:
+ Rename MaxMainThreadReentryDepth to MaxLargeThreadReentryDepth and
+ MaxSecondaryThreadReentryDepth to MaxSmallThreadReentryDepth.
+
+ * jsc.cpp:
+ (main): Use the a large stack for jsc since it is always using the
+ main thread.
+
+ * runtime/ArrayPrototype.cpp:
+ (JSC::arrayProtoFuncToString):
+ (JSC::arrayProtoFuncToLocaleString):
+ (JSC::arrayProtoFuncJoin):
+ Use new stored JSGlobalData::maxReentryDepth instead of isMainThread().
+
+ * runtime/Collector.cpp:
+ (JSC::Heap::registerThread):
+ Use the concept of making JSC run on an exclusiveThread instead of
+ forcing a mainThreadOnly assertion.
+
+ * runtime/JSGlobalData.cpp:
+ (JSC::JSGlobalData::JSGlobalData):
+ (JSC::JSGlobalData::createNonDefault):
+ (JSC::JSGlobalData::create):
+ (JSC::JSGlobalData::createLeaked):
+ (JSC::JSGlobalData::sharedInstance):
+ * runtime/JSGlobalData.h:
+ Add ThreadStackType argument to JSGlobalData constructors and set
+ maxReentryDepth based on it.
+
+2010-04-21 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (windows build fix pt. 3).
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2010-04-21 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (windows build fix pt. 2).
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2010-04-21 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (Qt build fix).
+
+ * JavaScriptCore.gypi:
+ * JavaScriptCore.pro:
+ * wtf/qt/StringQt.cpp: Copied from WebCore/platform/text/qt/StringQt.cpp.
+
+2010-04-21 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (windows build fix).
+
+ * API/JSValueRef.cpp:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
+ * runtime/Identifier.cpp:
+ (JSC::IdentifierTable::~IdentifierTable):
+ (JSC::IdentifierTable::add):
+ * runtime/Identifier.h:
+ * wtf/WTFThreadData.h:
+ (JSC::IdentifierTable::remove):
+ (JSC::IdentifierTable::literalTable):
+ * wtf/text/StringImpl.cpp:
+ (WebCore::StringImpl::~StringImpl):
+
+2010-04-20 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt, Darin Adler.
+
+ Bug 37906 - Remove JSC::UStringImpl; unify with StringImpl.
+
+ JSC::UStringImpl and WebCore::StringImpl (soon to be renamed to
+ WTF::StringImpl) are almost identical. Remove duplication of code by unifying
+ the two, move missing features from UStringImpl into StringImpl & delete the
+ class UStringImpl.
+
+ * API/JSClassRef.cpp:
+ * API/JSContextRef.cpp:
+ * GNUmakefile.am:
+ * JavaScriptCore.exp:
+ * JavaScriptCore.pro:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * bytecode/EvalCodeCache.h:
+ * bytecode/JumpTable.cpp:
+ * profiler/ProfileNode.cpp:
+ * runtime/Identifier.cpp:
+ (JSC::Identifier::add):
+ * runtime/Identifier.h:
+ (JSC::Identifier::equal):
+ * runtime/UString.cpp:
+ * runtime/UString.h:
+ (WTF::):
+ * runtime/UStringImpl.cpp: Removed.
+ * runtime/UStringImpl.h:
+ * wtf/text/StringHash.h:
+ (WebCore::StringHash::equal):
+ (WebCore::CaseFoldingHash::equal):
+ * wtf/text/StringImpl.cpp:
+ (WebCore::StringImpl::~StringImpl):
+ (WebCore::StringImpl::empty):
+ (WebCore::StringImpl::sharedBuffer):
+ (WebCore::equal):
+ * wtf/text/StringImpl.h:
+ (WebCore::StringImpl::StringImpl):
+ (WebCore::StringImpl::create):
+ (WebCore::StringImpl::tryCreateUninitialized):
+ (WebCore::StringImpl::cost):
+ (WebCore::StringImpl::isIdentifier):
+ (WebCore::StringImpl::setIsIdentifier):
+ (WebCore::StringImpl::computeHash):
+ (WebCore::StringImpl::copyChars):
+ (WebCore::StringImpl::):
+
+2010-04-21 Patrick Gansterer <paroga@paroga.com>
+
+ Reviewed by Darin Adler.
+
+ Added missing #include "Lookup.h" in LUT source files.
+ https://bugs.webkit.org/show_bug.cgi?id=37903
+
+ * runtime/ArrayPrototype.cpp:
+ * runtime/DatePrototype.cpp:
+ * runtime/JSONObject.cpp:
+ * runtime/MathObject.cpp:
+ * runtime/NumberConstructor.cpp:
+ * runtime/RegExpConstructor.cpp:
+ * runtime/RegExpObject.cpp:
+ * runtime/StringPrototype.cpp:
+
+2010-04-21 Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
+
+ Reviewed by Nikolas Zimmermann.
+
+ Add missing EFL JavaScriptCore file.
+ http://webkit.org/b/37854
+
+ * wtf/efl: Added.
+ * wtf/efl/MainThreadEfl.cpp: Added.
+ (WTF::initializeMainThreadPlatform):
+ (WTF::timeoutFired):
+ (WTF::scheduleDispatchFunctionsOnMainThread):
+
+2010-04-20 Xan Lopez <xlopez@igalia.com>
+
+ Another attempt to fix the build.
+
+ * GNUmakefile.am:
+
+2010-04-20 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ [ES5] RegExp literals are constants that should be persistent across multiple function calls.
+ https://bugs.webkit.org/show_bug.cgi?id=37908
+
+ Dump the separate RegExp constant pool, and just use the standard JS constant pool
+ in codeblock. This allows us to drop op_new_regexp and all associated code as well.
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::dump):
+ (JSC::CodeBlock::shrinkToFit):
+ * bytecode/CodeBlock.h:
+ * bytecode/Opcode.h:
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::emitLoad):
+ * bytecompiler/BytecodeGenerator.h:
+ * bytecompiler/NodesCodegen.cpp:
+ (JSC::RegExpNode::emitBytecode):
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompileMainPass):
+ * jit/JIT.h:
+ * jit/JITOpcodes.cpp:
+ * jit/JITStubs.cpp:
+ * jit/JITStubs.h:
+ (JSC::):
+
+2010-04-20 Oliver Hunt <oliver@apple.com>
+
+ Fix license on create_regex_tables
+
+ * create_regex_tables:
+
+2010-04-20 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by NOBODY (Build fix).
+
+ Fix gtk
+
+ * GNUmakefile.am:
+ * make-generated-sources.sh:
+
+2010-04-20 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Bug 37895 - Share common code from UStringImplBase with StringImpl
+
+ The implementation of StringImpl & UStringImpl is very similar. Restructure
+ StringImpl to match UStringImpl, moving the flags and length into a base class,
+ so that this can be shared between both string types to increase code reuse.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * runtime/RopeImpl.h:
+ (JSC::RopeImpl::RopeImpl):
+ * runtime/UStringImpl.h:
+ (JSC::UStringImpl::UStringImpl):
+ * wtf/text/StringImpl.h:
+ (WebCore::StringImpl::StringImpl):
+ (WebCore::StringImpl::characters):
+ * wtf/text/StringImplBase.h: Copied from JavaScriptCore/runtime/UStringImpl.h.
+ (WTF::StringImplBase::length):
+ (WTF::StringImplBase::operator new):
+ (WTF::StringImplBase::StringImplBase):
+
+2010-04-20 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Autogenerate yarr character tables
+ https://bugs.webkit.org/show_bug.cgi?id=37877
+
+ Use a python script to automatically generate character tables
+ for the builtin YARR character classes. This allows us to generate
+ actual tables as well, by using these tables we can both increase
+ performance of the check (for complex builtins) and reduce the actual
+ code size.
+
+ 4-8% win on string-unpack-code, but lots of noise on other tests so
+ i'm only confident saying its a 1% win overall.
+
+ * DerivedSources.make:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * assembler/AbstractMacroAssembler.h:
+ (JSC::AbstractMacroAssembler::ExtendedAddress::ExtendedAddress):
+ * assembler/MacroAssembler.h:
+ (JSC::MacroAssembler::branchTest8):
+ * assembler/MacroAssemblerX86Common.h:
+ (JSC::MacroAssemblerX86Common::branchTest8):
+ * assembler/MacroAssemblerX86_64.h:
+ (JSC::MacroAssemblerX86_64::branchTest8):
+ * assembler/X86Assembler.h:
+ (JSC::X86Assembler::cmpb_im):
+ (JSC::X86Assembler::testb_im):
+ * bytecode/SamplingTool.cpp:
+ (JSC::SamplingTool::dump):
+ * create_regex_tables: Added.
+ * yarr/RegexCompiler.cpp:
+ (JSC::Yarr::CharacterClassConstructor::charClass):
+ * yarr/RegexJIT.cpp:
+ (JSC::Yarr::RegexGenerator::matchCharacterClass):
+ (JSC::Yarr::RegexGenerator::generatePatternCharacterGreedy):
+ (JSC::Yarr::RegexGenerator::generatePatternCharacterNonGreedy):
+ (JSC::Yarr::RegexGenerator::generateCharacterClassGreedy):
+ * yarr/RegexPattern.h:
+ (JSC::Yarr::CharacterClassTable::create):
+ (JSC::Yarr::CharacterClassTable::CharacterClassTable):
+ (JSC::Yarr::CharacterClass::CharacterClass):
+
+2010-04-20 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (speculative windows fix - missed a bit!).
+
+ * wtf/text/AtomicString.h:
+
+2010-04-20 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (speculative windows fix).
+
+ * wtf/text/AtomicString.h:
+
+2010-04-20 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (windows build fix).
+
+ Add missing .def file entries.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2010-04-20 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Bug 37869 - Move URopeImpl to its own .h/.cpp
+
+ Currently Ropes are implemented by the class URopeImpl, which is defined in
+ UStringImpl.h, and then typedefed to the name JSString::Rope. Remove the
+ typedef, and rename all uses of URopeImpl and JSString::Rope to just RopeImpl.
+
+ Move RopeImpl to its own header, and remove all remaining references to ropes
+ from UStringImpl (rename UStringOrRopeImpl to UStringImplBase, rename or move
+ the isRope & deref methods from UStringOrRopeImpl).
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * runtime/JSString.cpp:
+ (JSC::JSString::resolveRope):
+ * runtime/JSString.h:
+ (JSC::):
+ (JSC::RopeBuilder::JSString):
+ (JSC::RopeBuilder::~JSString):
+ (JSC::RopeBuilder::appendStringInConstruct):
+ (JSC::RopeBuilder::JSStringFinalizerStruct::):
+ * runtime/RopeImpl.cpp: Copied from JavaScriptCore/runtime/UStringImpl.cpp.
+ (JSC::RopeImpl::derefFibersNonRecursive):
+ (JSC::RopeImpl::destructNonRecursive):
+ * runtime/RopeImpl.h: Copied from JavaScriptCore/runtime/UStringImpl.h.
+ (JSC::RopeImpl::tryCreateUninitialized):
+ (JSC::RopeImpl::isRope):
+ (JSC::RopeImpl::deref):
+ (JSC::RopeImpl::RopeImpl):
+ * runtime/UStringImpl.cpp:
+ * runtime/UStringImpl.h:
+ (JSC::UStringImplBase::isInvalid):
+ (JSC::UStringImplBase::ref):
+ (JSC::UStringImplBase::UStringImplBase):
+ (JSC::UStringImplBase::):
+ (JSC::UStringImpl::UStringImpl):
+
+2010-04-20 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Bug 37828 - Move WebCore's String classes to WTF
+
+ Move these classes up to WTF so they are available to all clients of WTF (in
+ particular JSC).
+
+ As a first patch, making the most minimal change possible, since this patch
+ could easily grow rather large since we'll have to change every class forward
+ declaration ( e.g. every "namespace WebCore { class String; }" much change to
+ "namespace WTF { class String; }").
+
+ Moving the files, but leaving the classes logically in the WebCore namespace -
+ which is technically a layering violation - I'll come back and fix this up in a
+ subsequent patch.
+
+ * Android.mk:
+ * Android.v8.wtf.mk:
+ * GNUmakefile.am:
+ * JavaScriptCore.exp:
+ * JavaScriptCore.gypi:
+ * JavaScriptCore.pro:
+ * JavaScriptCore.vcproj/WTF/WTF.vcproj:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * config.h:
+ * wtf/StaticConstructors.h: Copied from WebCore/platform/StaticConstructors.h.
+ * wtf/text/AtomicString.cpp: Copied from WebCore/platform/text/AtomicString.cpp.
+ * wtf/text/AtomicString.h: Copied from WebCore/platform/text/AtomicString.h.
+ * wtf/text/AtomicStringImpl.h: Copied from WebCore/platform/text/AtomicStringImpl.h.
+ * wtf/text/StringBuffer.h: Copied from WebCore/platform/text/StringBuffer.h.
+ * wtf/text/StringHash.h: Copied from WebCore/platform/text/StringHash.h.
+ * wtf/text/StringImpl.cpp: Copied from WebCore/platform/text/StringImpl.cpp.
+ * wtf/text/StringImpl.h: Copied from WebCore/platform/text/StringImpl.h.
+ * wtf/text/WTFString.cpp: Copied from WebCore/platform/text/String.cpp.
+ (WebCore::charactersToFloat):
+ * wtf/text/WTFString.h: Copied from WebCore/platform/text/PlatformString.h.
+
+2010-04-20 Csaba Osztrogonác <ossy@webkit.org>
+
+ [Qt] Unreviewed speculative buildfix for WinCE after r57882
+ https://bugs.webkit.org/show_bug.cgi?id=37701
+
+ * JavaScriptCore.pri: missing wince* case added.
+
+2010-04-20 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (build fix).
+ Speculative Chromium/Win build fix, attempt #2.
+
+ * config.h:
+
+2010-04-20 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (build fix).
+ Speculative Chromium/Win build fix.
+
+ * config.h: JS_EXPORTDATA should do nothing on !JSC builds.
+
+2010-04-20 Csaba Osztrogonác <ossy@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Target(WebCore,jsc,...) must depends on static library of JavaScriptCore
+ https://bugs.webkit.org/show_bug.cgi?id=37701
+
+ * JavaScriptCore.pri: dependency added.
+
+2010-04-20 Gavin Barraclough <barraclough@apple.com>
+
+ Rubber stamped by Maciej Stachowiak (relanding r57829).
+ Added missing JS_EXPORTDATA
+
+ * API/APIShims.h:
+ (JSC::APIEntryShimWithoutLock::APIEntryShimWithoutLock):
+ (JSC::APIEntryShimWithoutLock::~APIEntryShimWithoutLock):
+ (JSC::APICallbackShim::APICallbackShim):
+ (JSC::APICallbackShim::~APICallbackShim):
+ * API/JSContextRef.cpp:
+ * Android.mk:
+ * Android.v8.wtf.mk:
+ * GNUmakefile.am:
+ * JavaScriptCore.exp:
+ * JavaScriptCore.gypi:
+ * JavaScriptCore.pro:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/WTF/WTF.vcproj:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * runtime/Completion.cpp:
+ (JSC::checkSyntax):
+ (JSC::evaluate):
+ * runtime/Identifier.cpp:
+ (JSC::Identifier::remove):
+ (JSC::Identifier::checkCurrentIdentifierTable):
+ * runtime/Identifier.h:
+ * runtime/InitializeThreading.cpp:
+ (JSC::initializeThreadingOnce):
+ * runtime/JSGlobalData.cpp:
+ (JSC::JSGlobalData::create):
+ * wtf/WTFThreadData.cpp: Copied from JavaScriptCore/wtf/WTFThreadData.cpp.
+ * wtf/WTFThreadData.h: Copied from JavaScriptCore/wtf/WTFThreadData.h.
+
+2010-04-19 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (rolling out r57829).
+ This broke windows.
+
+ * API/APIShims.h:
+ (JSC::APIEntryShimWithoutLock::APIEntryShimWithoutLock):
+ (JSC::APIEntryShimWithoutLock::~APIEntryShimWithoutLock):
+ (JSC::APICallbackShim::APICallbackShim):
+ (JSC::APICallbackShim::~APICallbackShim):
+ * API/JSContextRef.cpp:
+ * Android.mk:
+ * Android.v8.wtf.mk:
+ * GNUmakefile.am:
+ * JavaScriptCore.exp:
+ * JavaScriptCore.gypi:
+ * JavaScriptCore.pro:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/WTF/WTF.vcproj:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * runtime/Completion.cpp:
+ (JSC::checkSyntax):
+ (JSC::evaluate):
+ * runtime/Identifier.cpp:
+ (JSC::Identifier::remove):
+ (JSC::Identifier::checkCurrentIdentifierTable):
+ (JSC::createIdentifierTableSpecificCallback):
+ (JSC::createIdentifierTableSpecific):
+ * runtime/Identifier.h:
+ (JSC::ThreadIdentifierTableData::ThreadIdentifierTableData):
+ (JSC::defaultIdentifierTable):
+ (JSC::setDefaultIdentifierTable):
+ (JSC::currentIdentifierTable):
+ (JSC::setCurrentIdentifierTable):
+ (JSC::resetCurrentIdentifierTable):
+ * runtime/InitializeThreading.cpp:
+ (JSC::initializeThreadingOnce):
+ * runtime/JSGlobalData.cpp:
+ (JSC::JSGlobalData::create):
+ * wtf/WTFThreadData.cpp: Removed.
+ * wtf/WTFThreadData.h: Removed.
+
+2010-04-19 Douglas Gregor <dgregor@apple.com>
+
+ Reviewed and landed by Anders Carlsson.
+
+ * runtime/UStringImpl.h:
+ Fix class/struct declaration mismatches.
+
+2010-04-19 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ Checked in these tests I wrote becuase Balazs Kelemen wanted to use them.
+
+ * tests/perf: Added.
+ * tests/perf/bench-allocate-nonretained.js: Added.
+ * tests/perf/bench-allocate-retained.js: Added.
+
+2010-04-19 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (windows build fix).
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2010-04-16 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37745
+ Move string uniquing tables to (new) WTFThreadData class.
+
+ Remove AtomicString's dependency on ThreadGlobalData so that we can move
+ WebCore's string classes up to WTF.
+
+ WTFThreadData.cpp/.h are based on ThreadGlobalData from WebCore.
+ Moved JSC & WebCore's string uniquing tables to this class.
+
+ This patch introduces a temporary layering violation in providing forward
+ declarations of classes from JSC and WTF; this will be resolved as we move
+ more string code up to WTF.
+
+ * API/APIShims.h:
+ (JSC::APIEntryShimWithoutLock::APIEntryShimWithoutLock):
+ (JSC::APIEntryShimWithoutLock::~APIEntryShimWithoutLock):
+ (JSC::APICallbackShim::APICallbackShim):
+ (JSC::APICallbackShim::~APICallbackShim):
+ * API/JSContextRef.cpp:
+ * JavaScriptCore.exp:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * runtime/Completion.cpp:
+ (JSC::checkSyntax):
+ (JSC::evaluate):
+ * runtime/Identifier.cpp:
+ (JSC::Identifier::remove):
+ (JSC::Identifier::checkCurrentIdentifierTable):
+ * runtime/Identifier.h:
+ * runtime/InitializeThreading.cpp:
+ (JSC::initializeThreadingOnce):
+ * runtime/JSGlobalData.cpp:
+ (JSC::JSGlobalData::create):
+ * wtf/WTFThreadData.cpp: Copied from WebCore/platform/ThreadGlobalData.cpp.
+ (WTF::WTFThreadData::WTFThreadData):
+ (WTF::WTFThreadData::~WTFThreadData):
+ * wtf/WTFThreadData.h: Copied from WebCore/platform/ThreadGlobalData.h.
+ (WTF::WTFThreadData::atomicStringTable):
+ (WTF::WTFThreadData::initializeIdentifierTable):
+ (WTF::WTFThreadData::currentIdentifierTable):
+ (WTF::WTFThreadData::setCurrentIdentifierTable):
+ (WTF::WTFThreadData::resetCurrentIdentifierTable):
+ (WTF::wtfThreadData):
+
+2010-04-19 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Build fix for WinCE.
+
+ Moved the include of the non-existing errno.h header file inside
+ platform guard macros.
+
+ * jit/ExecutableAllocatorFixedVMPool.cpp:
+
+2010-04-18 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Laszlo Gombos.
+
+ [WINCE] Don't define WTF_CPU_MIDDLE_ENDIAN=1
+ https://bugs.webkit.org/show_bug.cgi?id=37434
+
+ Windows CE supports little-endian format only, so don't define
+ WTF_CPU_MIDDLE_ENDIAN=1.
+
+ * wtf/Platform.h:
+
+2010-04-18 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] Fix JavaScriptCore's include path for WinCE builds
+
+ https://bugs.webkit.org/show_bug.cgi?id=36751
+
+ * JavaScriptCore.pri:
+
+2010-04-16 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by nobody, build fix.
+
+2010-04-16 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by nobody, build fix.
+
+2010-04-16 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Bug 37730 - Remove JSC::UString dependencies from WebCore::StringImpl
+ (Following on from bug #37675).
+
+ Make the argument ordering for UStringImpl's constructor & create
+ methods match, when passed a shared buffer.
+
+ * JavaScriptCore.exp:
+ * runtime/UStringImpl.cpp:
+ (JSC::UStringImpl::create):
+ * runtime/UStringImpl.h:
+
+2010-04-15 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Fix memory leak in QScriptEngine::evaluate().
+
+ QScriptEnginePrivate::evaluate should release temporary variables.
+
+ [Qt] QScriptEngine::evaluate has memory leak.
+ https://bugs.webkit.org/show_bug.cgi?id=37596
+
+ * qt/api/qscriptengine_p.cpp:
+ (QScriptEnginePrivate::evaluate):
+ * qt/api/qscriptengine_p.h:
+
+2010-04-14 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Fix a memory leak in QScriptValue::inherits.
+
+ [Qt] QScriptValue::inherits has a memory leak.
+ https://bugs.webkit.org/show_bug.cgi?id=37617
+
+ * qt/api/qscriptvalue_p.h:
+ (QScriptValuePrivate::inherits):
+
+2010-04-14 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Fix a few memory leaks in QScriptEngine.
+
+ Syntax checking caused memory leak, not all temporary variables were released.
+
+ [Qt] Syntax checking in the QtScript cause a memory leak.
+ https://bugs.webkit.org/show_bug.cgi?id=37610
+
+ * qt/api/qscriptengine_p.cpp:
+ (QScriptEnginePrivate::checkSyntax):
+ * qt/api/qscriptsyntaxcheckresult.cpp:
+ (QScriptSyntaxCheckResultPrivate::errorMessage):
+ (QScriptSyntaxCheckResultPrivate::errorLineNumber):
+
+2010-04-14 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Fix memory leak inside QScriptEnginePrivate::makeJSValue.
+
+ QScriptEnginePrivate::makeJSValue should release temporary JSStringRef variable.
+
+ [Qt] tst_QScriptValue::toString has a memory leak.
+ https://bugs.webkit.org/show_bug.cgi?id=37598
+
+ * qt/api/qscriptengine_p.h:
+ (QScriptEnginePrivate::makeJSValue):
+
+2010-04-14 Peter Varga <pvarga@inf.u-szeged.hu>
+
+ Reviewed by Geoffrey Garen.
+
+ Move the YARR JIT fallback detection from RegexJIT.cpp to
+ RegexCompiler.cpp.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37571
+
+ * yarr/RegexCompiler.cpp:
+ (JSC::Yarr::RegexPatternConstructor::atomBackReference):
+ (JSC::Yarr::RegexPatternConstructor::quantifyAtom):
+ * yarr/RegexJIT.cpp:
+ (JSC::Yarr::RegexGenerator::generateTerm):
+ (JSC::Yarr::RegexGenerator::RegexGenerator):
+ (JSC::Yarr::jitCompileRegex):
+ * yarr/RegexJIT.h:
+ (JSC::Yarr::RegexCodeBlock::operator!):
+ * yarr/RegexPattern.h:
+ (JSC::Yarr::RegexPattern::RegexPattern):
+ (JSC::Yarr::RegexPattern::reset):
+
+2010-04-14 Kent Hansen <kent.hansen@nokia.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Mac OS X: Use deployment target to determine whether memory tagging should be enabled
+ https://bugs.webkit.org/show_bug.cgi?id=34888
+
+ When building on (Snow) Leopard but targeting Tiger
+ (TARGETING_TIGER defined, BUILDING_ON_TIGER not defined),
+ WebKit would crash on Tiger because the tags passed to mmap
+ caused those function calls to fail.
+
+ Conversely, when building on Tiger but targeting Leopard
+ (BUILDING_ON_TIGER defined, TARGETING_LEOPARD defined), WebKit
+ would crash on Leopard because the tags passed to vm_map and
+ vm_allocate caused those function calls to fail.
+
+ Solution: Use TARGETING_TIGER rather than BUILDING_ON_TIGER to
+ govern the tag definitions. Use the same tags for vm_map and
+ vm_allocate regardless of target, since they work on
+ both. Fall back to the mmap tags that work on Tiger (that is,
+ "no tags") if targeting Tiger, since those tags also work on
+ Leopard.
+
+ * wtf/VMTags.h:
+
+2010-04-12 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by nobody, build fix.
+
+ [Qt] Build fix for Mac when building with build-webkit --qt
+
+ Specifying no configuration on Mac builds WebCore both in debug
+ and release. JavaScriptCore has to follow this rule as well.
+
+ * JavaScriptCore.pro:
+
+2010-04-11 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/7851332> Fix the build.
+
+ * wtf/FastMalloc.cpp:
+ (WTF::TCMallocStats::): Initialize extra members of malloc_introspection_t to zero.
+
+2010-04-09 Mikhail Naganov <mnaganov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Make CallIdentifier constructor to handle null urls.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37341
+
+ * profiler/CallIdentifier.h:
+ (JSC::CallIdentifier::CallIdentifier):
+
+2010-04-09 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix crashes with package builds in release
+
+ Add NDEBUG to the defines for package build in JavaScriptCore.pri,
+ so that it's consistently used for JavaScriptCore, WebCore, jsc and all
+ other tools using wtf, etc. data structures directly. Mixing NDEBUG with
+ non-NDEBUG builds causes crashes due to differences in data structures when
+ assertions/checks are enabled.
+
+ * JavaScriptCore.pri:
+
+2010-04-09 Patrick Gansterer <paroga@paroga.com>
+
+ Reviewed by Darin Adler.
+
+ Implement NO_RETURN for COMPILER(MSVC).
+ https://bugs.webkit.org/show_bug.cgi?id=33056
+
+ Added NO_RETURN_WITH_VALUE for functions with non-void return type.
+
+ * jsc.cpp:
+ * wtf/AlwaysInline.h:
+ * wtf/FastMalloc.cpp:
+
+2010-04-08 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Simon Hausmann.
+
+ [WINCE] Check if ARM or _ARM_ is defined
+ https://bugs.webkit.org/show_bug.cgi?id=37200
+
+ MSVC defines ARM and _ARM_ for Windows CE ARM. Define WTF_CPU_ARM=1
+ when either ARM or _ARM_ is defined.
+
+ * wtf/Platform.h:
+
+2010-04-08 Csaba Osztrogonác <ossy@webkit.org>
+
+ Reviewed Oliver Hunt.
+
+ [Qt]r57240 broke Qt build (might be a gcc bug)
+ https://bugs.webkit.org/show_bug.cgi?id=37253
+
+ Workaround until fix. On PLATFORM(QT) use inline instead of ALWAYS_INLINE.
+
+ * wtf/PassRefPtr.h: Qt guards added.
+
+2010-04-07 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Vector<UString> makes many needless calls to UString::UString and UString::~UString
+
+ Add a VectorTrait<UString> specialisation to allow vector to simply memset/memcpy
+ data around. Only difference from the VectorTrait<RefPtr<T> > traits is the inability
+ to use memset to initialize data.
+
+ * runtime/UString.h:
+ (WTF::):
+
+2010-04-07 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Beat gcc with a clue bat -- force inlining of refIfNotNull and derefIfNotNull
+
+ * wtf/PassRefPtr.h:
+
+2010-04-07 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Darin Adler.
+
+ Replace isprint with isASCIIPrintable
+ https://bugs.webkit.org/show_bug.cgi?id=37223
+
+ WebKit does not use functions in <ctype.h> as they are dependent on the current
+ locale. Use the equivalent functions in <wtf/ASCIICType.h>. isASCIIPrintable
+ replaces isprint.
+
+ * pcre/pcre_exec.cpp:
+ (pchars):
+
+2010-04-07 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37219
+
+ This change disables text caret for the iPhone platflorm.
+
+ * wtf/Platform.h: Disabled text caret for iPhone.
+
+2010-04-06 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ REGRESSION: Worker termination via JS timeout may cause worker tests like fast/workers/worker-terminate.html fail.
+ https://bugs.webkit.org/show_bug.cgi?id=36646
+
+ Add a new exception type for forcibly terminating a JavaScript stack.
+ The new exception functions similarly to the
+ InterruptedExecutionException but is conceptually different because
+ execution is terminated instead of just interrupted.
+
+ * GNUmakefile.am:
+ - Added new Terminator.h file.
+ * JavaScriptCore.gypi:
+ - Added new Terminator.h file.
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
+ - Added new Terminator.h file.
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ - Added new Terminator.h file.
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::throwException):
+ - Fully unwind the stack for TerminatedExecutionException.
+ (JSC::Interpreter::privateExecute):
+ - Check if we've been terminated at the same time we check if we've
+ timed out.
+ * jit/JITStubs.cpp:
+ (JSC::DEFINE_STUB_FUNCTION):
+ - Check if we've been terminated at the same time we check if we've
+ timed out.
+ * runtime/Completion.cpp:
+ - Some exceptions define special completion types so that calls can
+ see why we terminated evaluation.
+ (JSC::evaluate):
+ * runtime/Completion.h:
+ - Define a new completion type for termination.
+ (JSC::):
+ * runtime/ExceptionHelpers.cpp:
+ - Define TerminatedExecutionException and refactor pseudo-RTTI
+ virtual function to be more semantic.
+ (JSC::InterruptedExecutionError::exceptionType):
+ (JSC::TerminatedExecutionError::TerminatedExecutionError):
+ (JSC::TerminatedExecutionError::exceptionType):
+ (JSC::TerminatedExecutionError::toString):
+ (JSC::createTerminatedExecutionException):
+ * runtime/ExceptionHelpers.h:
+ - Entry point for generating a TerminatedExecutionException.
+ * runtime/JSGlobalData.cpp:
+ (JSC::JSGlobalData::JSGlobalData):
+ - Add a Terminator object that can be used to asynchronously
+ terminate a JavaScript execution stack.
+ * runtime/JSGlobalData.h:
+ * runtime/JSObject.h:
+ (JSC::JSObject::exceptionType):
+ - Define that, by default, thrown objects have a normal exception
+ type.
+ * runtime/Terminator.h: Added.
+ - Added a new controller object that can be used to terminate
+ execution asynchronously. This object is more or less a
+ glorified bool.
+ (JSC::Terminator::Terminator):
+ (JSC::Terminator::termianteSoon):
+ (JSC::Terminator::shouldTerminate):
+
+2010-04-05 Oliver Hunt <oliver@apple.com>
+
+ And another one.
+
+ * JavaScriptCore.vcproj/jsc/jscCommon.vsprops:
+
+2010-04-05 Oliver Hunt <oliver@apple.com>
+
+ And another build fix.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make:
+
+2010-04-05 Oliver Hunt <oliver@apple.com>
+
+ Build fix
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
+
+2010-04-05 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Support weak maps in JSC
+ https://bugs.webkit.org/show_bug.cgi?id=37132
+
+ Expose an API to allow creation of a map for storing
+ weak JS references.
+
+ * API/JSWeakObjectMapRefInternal.h: Added.
+ (OpaqueJSWeakObjectMap::create):
+ (OpaqueJSWeakObjectMap::map):
+ (OpaqueJSWeakObjectMap::~OpaqueJSWeakObjectMap):
+ (OpaqueJSWeakObjectMap::OpaqueJSWeakObjectMap):
+ * API/JSWeakObjectMapRefPrivate.cpp: Added.
+ * API/JSWeakObjectMapRefPrivate.h: Added.
+ * JavaScriptCore.exp:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * runtime/JSGlobalObject.h:
+ (JSC::JSGlobalObject::registerWeakMap):
+ (JSC::JSGlobalObject::deregisterWeakMap):
+
+2010-04-05 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Symbian] Consolidate Symbian WINSCW environment configuration
+ https://bugs.webkit.org/show_bug.cgi?id=37100
+
+ Move the "undefinition" of WIN32 and _WIN32 from WebCore/config.h
+ to JavaScriptCore/wtf/Platform.h as it is not specific to WebCore.
+
+ PLATFORM(WIN) and OS(WIN) no longer needs to be undefined as
+ undefining WIN32 takes care of it.
+
+ * wtf/Platform.h:
+
+2010-04-03 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37068
+ Change UString to use a 0 rep for null strings instead of a null object.
+
+ No performance impact.
+
+ * JavaScriptCore.exp:
+ * runtime/InternalFunction.cpp:
+ (JSC::InternalFunction::InternalFunction):
+ * runtime/JSString.h:
+ (JSC::RopeBuilder::JSString):
+ * runtime/UString.cpp:
+ (JSC::initializeUString):
+ * runtime/UString.h:
+ (JSC::UString::UString):
+ (JSC::UString::data):
+ (JSC::UString::size):
+ (JSC::UString::isNull):
+ (JSC::UString::isEmpty):
+ (JSC::UString::cost):
+
+2010-04-03 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Oliver Hunt.
+
+ Fix uninitalised members in CallLinkInfo and BytecodeGenerator.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36816
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::CodeBlock):
+ * bytecode/CodeBlock.h:
+ (JSC::CallLinkInfo::CallLinkInfo):
+
+2010-04-03 yael aharon <yael.aharon@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Enable HTMLProgressElement for Safari on OSX
+ https://bugs.webkit.org/show_bug.cgi?id=36961
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2010-04-02 Ruben Van Boxem <vanboxem.ruben@gmail.com>
+
+ Reviewed by Eric Seidel.
+
+ Mingw-w64 fixes for JavaScriptCore
+ https://bugs.webkit.org/show_bug.cgi?id=35607
+
+ * runtime/Collector.cpp: use the msvc code for mingw-w64 (but not mingw-w32)
+ (JSC::Heap::allocateBlock):
+ (JSC::Heap::freeBlockPtr):
+ (JSC::currentThreadStackBase):
+ (JSC::currentThreadStackBase):
+ * wtf/Platform.h: added COMPILER(MINGW64) check to differentiate between mingw.org and mingw-w64 functions
+
+2010-04-02 Geoffrey Garen <ggaren@apple.com>
+
+ Build fix: updated the .def file.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2010-04-02 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Inlined toThisString and toThisJSString to avoid virtual function call overhead
+ https://bugs.webkit.org/show_bug.cgi?id=37039
+
+ Maybe a 1% speedup on iBench JS.
+
+ * JavaScriptCore.exp: New exports.
+
+ * runtime/JSCell.cpp:
+ * runtime/JSCell.h:
+ * runtime/JSNumberCell.cpp:
+ * runtime/JSNumberCell.h:
+ * runtime/JSString.cpp:
+ * runtime/JSString.h:
+ * runtime/JSValue.h:
+ * runtime/JSZombie.h:
+ (JSC::JSZombie::toThisObject): Nixed the old virtual-type implementation.
+
+ * runtime/JSObject.h:
+ (JSC::JSValue::toThisString):
+ (JSC::JSValue::toThisJSString): Added the inlined implementation.
+
+2010-04-02 Jeremy Moskovich <jeremy@chromium.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Beef up documentation for ASSERT* and CRASH macros a bit.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36527
+
+ * wtf/Assertions.h:
+
+2010-04-02 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Unreviewed, minor build fix.
+
+ Change the order of the member initialisation list
+ in constructor to match declaration order
+
+ * runtime/Collector.cpp:
+ (JSC::Heap::Heap):
+
+2010-04-01 Kinuko Yasuda <kinuko@chromium.org>
+
+ Reviewed by Dmitry Titov.
+
+ Add FileThread for async file operation support in FileReader and FileWriter
+ https://bugs.webkit.org/show_bug.cgi?id=36896
+
+ Add ENABLE_FILE_READER and ENABLE_FILE_WRITER flags.
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2010-03-31 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (windows build fix pt II).
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2010-03-31 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (windows build fix).
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2010-03-31 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Bug 36871 - Remove JSC::CString
+ Use WTF::CString instead (which until recently was WebCore::CString).
+
+ * JavaScriptCore.exp:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * runtime/UString.cpp:
+ * runtime/UString.h:
+
+2010-03-31 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Unreviewed, fix after r56842.
+
+ Add UNUSED_PARAM a to silence warning.
+
+ * jit/JITStubs.cpp:
+ (JSC::DEFINE_STUB_FUNCTION):
+
+2010-03-31 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Unreviewed, Symbian build fix.
+
+ Refactor JITStubs.cpp so that the list of STUB_FUNCTIONs
+ are not dependent on the JSVALUE32_64 guard.
+
+ * jit/JITStubs.cpp: Place the JSVALUE32_64 guard inside
+ the body of cti_op_eq_strings.
+ * jit/JITStubs.h: Remove JSVALUE32_64 guard from
+ cti_op_eq_strings stub.
+
+2010-03-30 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (windows build fix).
+
+ Fixing b0rked version of JavaScriptCore.vcproj - added lines were truncated.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
+
+2010-03-30 Gavin Barraclough <barraclough@apple.com>
+
+ Rubber stamped by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36866
+ Move CString to WTF
+
+ * Android.mk:
+ * GNUmakefile.am:
+ * JavaScriptCore.exp:
+ * JavaScriptCore.gypi:
+ * JavaScriptCore.pro:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
+ * JavaScriptCore.vcproj/WTF/WTF.vcproj:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * wtf/text: Added.
+ * wtf/text/CString.cpp: Copied from WebCore/platform/text/CString.cpp.
+ * wtf/text/CString.h: Copied from WebCore/platform/text/CString.h.
+ (WTF::CStringBuffer::data):
+ (WTF::CStringBuffer::length):
+ (WTF::CStringBuffer::create):
+ (WTF::CStringBuffer::CStringBuffer):
+ (WTF::CStringBuffer::mutableData):
+ (WTF::CString::CString):
+ (WTF::CString::isNull):
+ (WTF::CString::buffer):
+ (WTF::operator!=):
+
+2010-03-30 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by nobody, build break.
+
+ [Qt] Fix build break on Qt Mac.
+
+ DESTDIR path on Mac do not include the configuration path by default
+ like on Windows. Have to force it.
+
+ * JavaScriptCore.pro:
+
+2010-03-29 Alice Liu <alice.liu@apple.com>
+
+ Reviewed by NOBODY (build fix).
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make:
+ add JSObjectRefPrivate.h
+
+2010-03-29 Chao-ying Fu <fu@mips.com>
+
+ Reviewed by Oliver Hunt.
+
+ MIPS JIT Supports
+ https://bugs.webkit.org/show_bug.cgi?id=30144
+
+ The following changes enable MIPS JIT.
+
+ * assembler/MIPSAssembler.h:
+ (JSC::MIPSAssembler::lbu):
+ (JSC::MIPSAssembler::linkWithOffset):
+ * assembler/MacroAssemblerMIPS.h:
+ (JSC::MacroAssemblerMIPS::load8):
+ (JSC::MacroAssemblerMIPS::branch8):
+ (JSC::MacroAssemblerMIPS::branchTest8):
+ (JSC::MacroAssemblerMIPS::setTest8):
+ (JSC::MacroAssemblerMIPS::setTest32):
+ * jit/JIT.h:
+ * jit/JITInlineMethods.h:
+ (JSC::JIT::preserveReturnAddressAfterCall):
+ (JSC::JIT::restoreReturnAddressBeforeReturn):
+ * jit/JITOpcodes.cpp:
+ * jit/JITStubs.cpp:
+ (JSC::JITThunks::JITThunks):
+ * jit/JITStubs.h:
+ (JSC::JITStackFrame::returnAddressSlot):
+ * wtf/Platform.h:
+
+2010-02-26 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ Add support for Widgets 1.0: View Mode Media Feature
+ https://bugs.webkit.org/show_bug.cgi?id=35446
+
+ Add an enable flag for the Widgets (http://www.w3.org/TR/widgets-reqs/)
+ and turn it on for Qt only.
+
+ * wtf/Platform.h:
+
+2010-03-29 Patrick Gansterer <paroga@paroga.com>
+
+ Reviewed by Darin Adler.
+
+ Corrected name of (u)int64_t compile time assert.
+ https://bugs.webkit.org/show_bug.cgi?id=36739
+
+ int64_t_is_four_bytes -> int64_t_is_eight_bytes
+
+ * os-win32/stdint.h:
+
+2010-03-29 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Use the -l syntax for linking against JavaScriptCore on Windows.
+ This allow qmake to extract dependencies correctly when generating VS
+ solutions.
+
+ * JavaScriptCore.pri:
+
+2010-03-29 Thomas Zander <t.zander@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36742
+
+ gcc for Symbian doesn't support gcc extensions like atomicity.h - disable
+
+ * wtf/Threading.h: also detect os symbian
+
+2010-03-28 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Remove the definition of WTF_CHANGES guards from the build system
+ https://bugs.webkit.org/show_bug.cgi?id=31670
+
+ * JavaScriptCore.pro: Remove the definition of WTF_CHANGES
+ as it is already defined in config.h
+
+2010-03-28 Kent Hansen <kent.hansen@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Add API for reporting additional memory cost of JavaScript objects
+ https://bugs.webkit.org/show_bug.cgi?id=36650
+
+ * qt/api/qscriptengine.cpp:
+ (QScriptEngine::reportAdditionalMemoryCost):
+ * qt/api/qscriptengine.h:
+ * qt/api/qscriptengine_p.h:
+ (QScriptEnginePrivate::reportAdditionalMemoryCost):
+ * qt/tests/qscriptengine/tst_qscriptengine.cpp:
+ (tst_QScriptEngine::reportAdditionalMemoryCost):
+
+2010-03-28 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ QScriptEngine API was enriched by globalObject() method
+ which give an access to the global object.
+
+ [Qt] QScriptEngine doesn't give an access to global object
+ https://bugs.webkit.org/show_bug.cgi?id=36603
+
+ * qt/api/qscriptengine.cpp:
+ (QScriptEngine::globalObject):
+ * qt/api/qscriptengine.h:
+ * qt/api/qscriptengine_p.cpp:
+ (QScriptEnginePrivate::globalObject):
+ * qt/api/qscriptengine_p.h:
+ * qt/tests/qscriptengine/tst_qscriptengine.cpp:
+ (tst_QScriptEngine::globalObject):
+
+2010-03-26 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Build JavaScriptCore as a static library.
+ https://bugs.webkit.org/show_bug.cgi?id=36590
+
+ This patch takes what was left of the unused JavaScriptCore.pro
+ and moved the compilation logic from JavaScriptCore.pri to
+ JavaScriptCore.pro.
+
+ * JavaScriptCore.pri:
+ * JavaScriptCore.pro:
+ * jsc.pro:
+ * qt/api/QtScript.pro:
+
+2010-03-25 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (build fix).
+
+ * profiler/ProfileGenerator.cpp:
+ (JSC::ProfileGenerator::willExecute):
+ (JSC::ProfileGenerator::didExecute):
+
+2010-03-25 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Bug 36611 - Cleanup JSC::CString
+ Rename CString::c_str() -> CString::data(), CString::size() -> CString::length(),
+ remove UString::getCString() (all uses are wrong, should use UString::UTF8String()).
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::printUnaryOp):
+ (JSC::CodeBlock::printBinaryOp):
+ (JSC::CodeBlock::printConditionalJump):
+ (JSC::CodeBlock::printGetByIdOp):
+ (JSC::CodeBlock::printPutByIdOp):
+ (JSC::printGlobalResolveInfo):
+ (JSC::printStructureStubInfo):
+ (JSC::CodeBlock::printStructure):
+ (JSC::CodeBlock::printStructures):
+ (JSC::CodeBlock::dump):
+ * jsc.cpp:
+ (functionPrint):
+ (functionDebug):
+ (runInteractive):
+ (fillBufferWithContentsOfFile):
+ * profiler/CallIdentifier.h:
+ (JSC::CallIdentifier::c_str):
+ * profiler/Profile.cpp:
+ (JSC::Profile::debugPrintDataSampleStyle):
+ * profiler/ProfileNode.cpp:
+ (JSC::ProfileNode::debugPrintData):
+ (JSC::ProfileNode::debugPrintDataSampleStyle):
+ * runtime/DateConversion.cpp:
+ (JSC::parseDate):
+ * runtime/JSGlobalObjectFunctions.cpp:
+ (JSC::encode):
+ (JSC::globalFuncJSCPrint):
+ * runtime/UString.cpp:
+ (JSC::operator==):
+ (JSC::UString::toDouble):
+ * runtime/UString.h:
+ (JSC::CString::length):
+ (JSC::CString::data):
+
+2010-03-25 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by nobody, build fix.
+
+ [Qt] Build fix on MSVC. Reverts r55633 for stdint.h
+
+ This file gets included in generated moc files which don't
+ include the prefix header.
+
+ * os-win32/stdint.h:
+
+2010-03-24 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (windows build fix).
+
+2010-03-24 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Switch String::latin1, String::utf8, String::fromUTF8 to
+ use WTF's Unicode conversion methods rather than TextEncoder.
+ These methods only perform simple conversion, and don't need
+ really require TextEncoder's full capability (to look up arbitrary
+ encodings by name), switching to only be dependent on WTF will
+ make it easier if we chose to move WebCore::String to WTF.
+
+ * JavaScriptCore.exp:
+
+2010-03-24 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ * wtf/FastMalloc.h: Added a using directive for fastMallocSize, like we do for all public
+ WTF symbols. Also sorted the list alphabetically.
+
+2010-03-23 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (speculative windows build fix part II).
+
+2010-03-23 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (speculative windows build fix).
+
+2010-03-23 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Bug 36519 - JSGlobalContextRelease is unnecessarily slow
+
+ Since [ http://trac.webkit.org/changeset/35917 ], calling
+ JSGlobalContextRelease always triggers a GC heap collection
+ (if not a full destroy). As per 35917's changelog "This is
+ only really necessary when the (JSGlobalObject's) last
+ reference is released, but there is no way to determine that,
+ and no harm in collecting slightly more often."
+
+ Well, we now know of cases of API clients who are harmed by
+ the performance penalty of collecting too often, so it's time
+ to add a way to determine whether a call to JSGlobalContextRelease
+ is removing the last protect from it's global object. If further
+ protects are retaining the global object (likely from other
+ JSGlobalContextRefs), then don't trigger a GC collection.
+
+ * API/JSContextRef.cpp:
+ * runtime/Collector.cpp:
+ (JSC::Heap::unprotect): return a boolean indicating that the value is now unprotected.
+ * runtime/Collector.h:
+ * wtf/HashCountedSet.h:
+ (WTF::::remove): return a boolean indicating whether the value was removed from the set.
+
+2010-03-23 Mark Rowe <mrowe@apple.com>
+
+ Build fix.
+
+ * runtime/ArrayPrototype.cpp:
+ (JSC::arrayProtoFuncSplice): Some versions of GCC emit a warning about the implicit 64- to 32-bit truncation
+ that takes place here. An explicit cast is sufficient to silence it.
+
+2010-03-23 Alexey Proskuryakov <ap@apple.com>
+
+ Build fix.
+
+ * runtime/ArrayPrototype.cpp: (JSC::arrayProtoFuncSplice): Fixed a typo - length doesn't
+ need to be converted with toInteger().
+
+2010-03-23 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36511
+ <rdar://problem/7753498> Safari freezes when using SPUTNIK JavaScript conformance check
+
+ Test: fast/js/sputnik-S15.4.4.12_A3_T3.html
+
+ * runtime/ArrayPrototype.cpp: (JSC::arrayProtoFuncSplice): We were incorrectly computing
+ the start offset, and iterated over (almost) all integers. Note that this can be fixed
+ without using doubles, but the code would be much more complicated, and there is no important
+ reason to stick to integers here.
+
+2010-03-23 Kent Hansen <kent.hansen@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Fix compilation on Itanium in 32-bit mode
+ https://bugs.webkit.org/show_bug.cgi?id=36494
+
+ * wtf/Platform.h: Introduce CPU(IA64_32). Don't define
+ WTF_USE_JSVALUE64 if the CPU is in 32-bit mode.
+
+2010-03-23 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Interpreter fix for <rdar://problem/7728196> REGRESSION (r46701): -(-2147483648)
+ evaluates to -2147483648 on 32 bit (35842)
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute): Only take the fast negate path if
+ a bit other than bit 31 is set. If none of bits 0-30 are set, then the
+ value we're negating can only be 0 or -2147483648, and neither can be
+ negated in int space.
+
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_negate):
+ (JSC::JIT::emitSlow_op_negate): Updated the JIT implementation to match
+ the interpreter, since it's slightly simpler.
+
+2010-03-22 Siddharth Mathur <siddharth.mathur@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Symbian] More efficient aligned memory allocation for JSC Collector
+ https://bugs.webkit.org/show_bug.cgi?id=34350
+
+ * JavaScriptCore.pri: Added 2 new Symbian source files and HAL linkage
+
+ * runtime/Collector.cpp: Reduced port-specific code and added private data member
+ (JSC::Heap::Heap):
+ (JSC::Heap::~Heap):
+ (JSC::Heap::destroy):
+ (JSC::Heap::allocateBlock):
+ (JSC::Heap::freeBlockPtr):
+
+ * runtime/Collector.h: Added private data member
+
+ * wtf/symbian: Added.
+ * wtf/symbian/BlockAllocatorSymbian.cpp: Added.
+ (WTF::AlignedBlockAllocator::AlignedBlockAllocator): Helper class to allocate
+ aligned blocks more efficiently as required by Collector
+ (WTF::AlignedBlockAllocator::alloc):
+ (WTF::AlignedBlockAllocator::free):
+ (WTF::AlignedBlockAllocator::destroy):
+ (WTF::AlignedBlockAllocator::~AlignedBlockAllocator):
+ * wtf/symbian/BlockAllocatorSymbian.h: Added.
+
+2010-03-22 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fixed <rdar://problem/7728196> REGRESSION (r46701): -(-2147483648)
+ evaluates to -2147483648 on 32 bit (35842)
+
+ Two ways to fix the same bug:
+
+ 1. Check for overflow when negating, since negating the largest negative
+ int causes overflow.
+
+ 2. Constant-fold even when negating a negative, since, like they say in
+ high school, "math works."
+
+ * assembler/MacroAssemblerARM.h:
+ (JSC::MacroAssemblerARM::branchNeg32):
+ * assembler/MacroAssemblerX86Common.h:
+ (JSC::MacroAssemblerX86Common::branchNeg32): Added a branching version
+ of the negate operator.
+
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_negate): Use the branching version of the negate
+ operator to check for overflow.
+
+ (JSC::JIT::emitSlow_op_negate): Link the check for overflow to a slow case.
+ (We could emit inline code for this, since we know what the result would
+ be, but that's probably just a waste of generated code.)
+
+ * parser/Grammar.y: Constant fold even when negating a negative.
+
+2010-03-22 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/36431> Clean up 'int' use in UString.cpp after r54789
+
+ Reviewed by Darin Adler.
+
+ * runtime/UString.cpp:
+ (JSC::UString::from): Changed argument type from 'unsigned int'
+ to 'unsigned' to match WebKit coding style.
+ (JSC::UString::find): Changed static_cast<int>() to
+ static_cast<unsigned>() now that this method returns unsigned.
+ (JSC::UString::rfind): Ditto.
+ * runtime/UString.h:
+ (JSC::UString::from): Changed argument type from 'unsigned int'
+ to 'unsigned' to match WebKit coding style.
+
+2010-03-22 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add support for syntax checking in the QtScript API.
+
+ New class was created; the QScriptSyntaxCheckResult which main
+ responsibility is to provide results of the ECMA Script code
+ syntax check. The class is not fully functional as the JSC C API
+ doesn't expose an error column number, but it is a good start point
+ for a future development.
+
+ [Qt] QtScript functionality should be extended by syntax checking.
+ https://bugs.webkit.org/show_bug.cgi?id=36123
+
+ * qt/api/QtScript.pro:
+ * qt/api/qscriptengine.cpp:
+ (QScriptEngine::checkSyntax):
+ * qt/api/qscriptengine.h:
+ * qt/api/qscriptengine_p.cpp:
+ (QScriptEnginePrivate::checkSyntax):
+ * qt/api/qscriptengine_p.h:
+ * qt/api/qscriptsyntaxcheckresult.cpp: Added.
+ (QScriptSyntaxCheckResult::QScriptSyntaxCheckResult):
+ (QScriptSyntaxCheckResult::~QScriptSyntaxCheckResult):
+ (QScriptSyntaxCheckResult::operator=):
+ (QScriptSyntaxCheckResult::state):
+ (QScriptSyntaxCheckResult::errorLineNumber):
+ (QScriptSyntaxCheckResult::errorColumnNumber):
+ (QScriptSyntaxCheckResult::errorMessage):
+ * qt/api/qscriptsyntaxcheckresult.h: Added.
+ * qt/api/qscriptsyntaxcheckresult_p.cpp: Added.
+ (QScriptSyntaxCheckResultPrivate::~QScriptSyntaxCheckResultPrivate):
+ (QScriptSyntaxCheckResultPrivate::errorMessage):
+ (QScriptSyntaxCheckResultPrivate::errorLineNumber):
+ * qt/api/qscriptsyntaxcheckresult_p.h: Added.
+ (QScriptSyntaxCheckResultPrivate::get):
+ (QScriptSyntaxCheckResultPrivate::QScriptSyntaxCheckResultPrivate):
+ (QScriptSyntaxCheckResultPrivate::state):
+ (QScriptSyntaxCheckResultPrivate::errorColumnNumber):
+ * qt/tests/qscriptengine/tst_qscriptengine.cpp:
+ (tst_QScriptEngine::checkSyntax_data):
+ (tst_QScriptEngine::checkSyntax):
+
+2010-03-21 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ New class; QScriptProgram.
+
+ The class should be used to evaluate the same script multiple times
+ more efficiently.
+
+ [Qt] QtScript should have QScriptProgram class
+ https://bugs.webkit.org/show_bug.cgi?id=36008
+
+ * qt/api/QtScript.pro:
+ * qt/api/qscriptengine.cpp:
+ (QScriptEngine::evaluate):
+ * qt/api/qscriptengine.h:
+ * qt/api/qscriptengine_p.cpp:
+ (QScriptEnginePrivate::evaluate):
+ * qt/api/qscriptengine_p.h:
+ (QScriptEnginePrivate::evaluate):
+ * qt/api/qscriptprogram.cpp: Added.
+ (QScriptProgram::QScriptProgram):
+ (QScriptProgram::~QScriptProgram):
+ (QScriptProgram::operator=):
+ (QScriptProgram::isNull):
+ (QScriptProgram::sourceCode):
+ (QScriptProgram::fileName):
+ (QScriptProgram::firstLineNumber):
+ (QScriptProgram::operator==):
+ (QScriptProgram::operator!=):
+ * qt/api/qscriptprogram.h: Added.
+ * qt/api/qscriptprogram_p.h: Added.
+ (QScriptProgramPrivate::get):
+ (QScriptProgramPrivate::QScriptProgramPrivate):
+ (QScriptProgramPrivate::~QScriptProgramPrivate):
+ (QScriptProgramPrivate::isNull):
+ (QScriptProgramPrivate::sourceCode):
+ (QScriptProgramPrivate::fileName):
+ (QScriptProgramPrivate::firstLineNumber):
+ (QScriptProgramPrivate::operator==):
+ (QScriptProgramPrivate::operator!=):
+ (QScriptProgramPrivate::program):
+ (QScriptProgramPrivate::file):
+ (QScriptProgramPrivate::line):
+ * qt/tests/qscriptengine/tst_qscriptengine.cpp:
+ (tst_QScriptEngine::evaluateProgram):
+
+2010-03-21 David Kilzer <ddkilzer@apple.com>
+
+ Blind attempt #2 to fix the Windows build after r56314
+
+ * API/tests/testapi.c: Include JSObjectRefPrivate.h for the new
+ methods instead of declaring them locally (and non-extern).
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ Backed out previous change.
+
+2010-03-21 David Kilzer <ddkilzer@apple.com>
+
+ Blind attempt to fix the Windows build after r56314
+
+ Try to fix the following errors on the Windows buildbot:
+
+ Linking...
+ testapi.obj : error LNK2001: unresolved external symbol "bool __cdecl JSObjectSetPrivateProperty(struct OpaqueJSContext const *,struct OpaqueJSValue *,struct OpaqueJSString *,struct OpaqueJSValue const *)" (?JSObjectSetPrivateProperty@@YA_NPBUOpaqueJSContext@@PAUOpaqueJSValue@@PAUOpaqueJSString@@PBU2@@Z)
+ testapi.obj : error LNK2001: unresolved external symbol "struct OpaqueJSValue const * __cdecl JSObjectGetPrivateProperty(struct OpaqueJSContext const *,struct OpaqueJSValue *,struct OpaqueJSString *)" (?JSObjectGetPrivateProperty@@YAPBUOpaqueJSValue@@PBUOpaqueJSContext@@PAU1@PAUOpaqueJSString@@@Z)
+ C:\cygwin\home\buildbot\slave\win-release\build\WebKitBuild\bin\testapi.exe : fatal error LNK1120: 2 unresolved externals
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: Added
+ missing symbols to be exported.
+
+2010-03-21 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Documentation fix for previous patch.
+
+ * API/JSObjectRefPrivate.h:
+
+2010-03-20 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ JSC needs an API to allow custom objects to have aprivate GC-accessible properties
+ https://bugs.webkit.org/show_bug.cgi?id=36420
+
+ Add new API methods to support "private" properties on custom
+ objects.
+
+ * API/JSCallbackObject.h:
+ (JSC::JSCallbackObjectData::JSCallbackObjectData):
+ (JSC::JSCallbackObjectData::~JSCallbackObjectData):
+ (JSC::JSCallbackObjectData::getPrivateProperty):
+ (JSC::JSCallbackObjectData::setPrivateProperty):
+ (JSC::JSCallbackObjectData::deletePrivateProperty):
+ (JSC::JSCallbackObjectData::markChildren):
+ (JSC::JSCallbackObjectData::JSPrivatePropertyMap::getPrivateProperty):
+ (JSC::JSCallbackObjectData::JSPrivatePropertyMap::setPrivateProperty):
+ (JSC::JSCallbackObjectData::JSPrivatePropertyMap::deletePrivateProperty):
+ (JSC::JSCallbackObjectData::JSPrivatePropertyMap::markChildren):
+ (JSC::JSCallbackObject::getPrivateProperty):
+ (JSC::JSCallbackObject::setPrivateProperty):
+ (JSC::JSCallbackObject::deletePrivateProperty):
+ (JSC::JSCallbackObject::markChildren):
+ * API/JSObjectRef.cpp:
+ (JSObjectGetPrivateProperty):
+ (JSObjectSetPrivateProperty):
+ (JSObjectDeletePrivateProperty):
+ * API/JSObjectRefPrivate.h: Added.
+ * API/tests/testapi.c:
+ (main):
+ * JavaScriptCore.exp:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+
+2010-03-20 Kevin Ollivier <kevino@theolliviers.com>
+
+ [wx] Build fixes after introduction of Brew files.
+
+ * wscript:
+
+2010-03-18 Tom Callaway <tcallawa@redhat.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 35429: Fix compile on SPARC64
+ https://bugs.webkit.org/show_bug.cgi?id=35429
+
+ * wtf/Platform.h: Set WTF_USE_JSVALUE64 for SPARC64
+
+2010-03-18 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add API to directly expose JSON parsing
+ https://bugs.webkit.org/show_bug.cgi?id=34887
+
+ Add API to expose JSON parsing directly, and add tests to testapi
+
+ * API/JSValueRef.cpp:
+ (JSValueMakeFromJSONString):
+ (JSValueCreateJSONString):
+ * API/tests/testapi.c:
+ (main):
+ * JavaScriptCore.exp:
+ * runtime/JSONObject.cpp:
+ (JSC::JSONStringify):
+ * runtime/JSONObject.h:
+
+2010-03-16 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler and Mark Rowe.
+
+ Update WebKit availability macros for release after 4.0.
+
+ * API/WebKitAvailability.h:
+
+2010-03-17 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ undefined, NaN, and Infinity should be ReadOnly
+ https://bugs.webkit.org/show_bug.cgi?id=36263
+
+ Simply add the ReadOnly flag to these properties.
+
+ * runtime/JSGlobalObject.cpp:
+ (JSC::JSGlobalObject::reset):
+
+2010-03-17 Darin Adler <darin@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Speed up Math.round a little by removing unneeded special case
+ https://bugs.webkit.org/show_bug.cgi?id=36107
+
+ Test: fast/js/math.html
+
+ * runtime/MathObject.cpp:
+ (JSC::mathProtoFuncRound): This function had a special case for numbers
+ between -0.5 and -0.0 to return -0.0. But the algorithm in the function
+ already yields -0.0 for those cases, so the extra checking and branching
+ is unneeded.
+
+2010-03-17 Mike Homey <glandium@debian.org>
+
+ Reviewed by Gustavo Noronha.
+
+ Build fix for SPARC. Fix missing macro value.
+
+ * wtf/Platform.h:
+
+2010-03-16 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt, Darin Adler.
+
+ Bug 36083 - REGRESSION (r55772-r55834): Crash in JavaScriptCore RegExp code on PowerPC
+
+ The problem is a bug in our port of PCRE - that a read may take place from the first character in an
+ empty string. For the time being, revert to using a valid pointer in the data segment rather than
+ an invalid non-null pointer into the zero-page for the empty string's data pointer. A better fix for
+ this will be to remove PCRE.
+
+ * runtime/UStringImpl.cpp:
+ (JSC::UStringImpl::empty):
+
+2010-03-16 Darin Adler <darin@apple.com>
+
+ Rolled out r56081 since it broke the Windows build.
+
+2010-03-16 Zoltan Horvath <zoltan@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Remove extra <new> include and add guards to operator new/delete definitions
+ https://bugs.webkit.org/show_bug.cgi?id=35967
+
+ Remove extra <new> header include from FastAlloc.cpp since it is included in
+ FastAlloc.h. Add ENABLE(GLOBAL_FASTMALLOC_NEW) macro guard to operator
+ new/delete/new []/delete [] definitions.
+
+ * wtf/FastMalloc.cpp:
+
+2010-03-15 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Add a function to create a BREW instance without local variable declarations.
+ https://bugs.webkit.org/show_bug.cgi?id=34705
+
+ Add a template function to create a BREW instance in one line.
+
+ * wtf/brew/ShellBrew.h: Added.
+ (WTF::createInstance):
+
+2010-03-15 Geoffrey Garen <ggaren@apple.com>
+
+ Not reviewed.
+
+ Removed a now-incorrect comment I forgot to remove in my last check-in.
+
+ * wtf/FastMalloc.cpp:
+ (WTF::TCMalloc_PageHeap::scavenge):
+
+2010-03-15 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fixed a portion of:
+ <rdar://problem/7165917> | https://bugs.webkit.org/show_bug.cgi?id=28676
+ Safari 4 does not release memory back to the operating system fast enough (28676)
+
+ Every few seconds, release a percentage of the minimum unused page count
+ during that time period.
+
+ SunSpider reports no change, command-line or in-browser, Mac or Windows.
+
+ * wtf/FastMalloc.cpp:
+ (WTF::TCMalloc_PageHeap::init):
+ (WTF::TCMalloc_PageHeap::signalScavenger):
+ (WTF::TCMalloc_PageHeap::initializeScavenger): Renamed shouldContinueScavenging
+ to shouldScavenge, since scavenging is no longer something that we interrupt.
+
+ (WTF::TCMalloc_PageHeap::scavenge): The new scavenging algorithm. Fixes
+ a bug where the old code would release only one item from each size class
+ per scavenge, potentially leaving large numbers of large-sized objects
+ unreleased for a long time.
+
+ (WTF::TCMalloc_PageHeap::shouldScavenge):
+ (WTF::TCMalloc_PageHeap::New):
+ (WTF::TCMalloc_PageHeap::AllocLarge):
+ (WTF::TCMalloc_PageHeap::Delete):
+ (WTF::TCMalloc_PageHeap::GrowHeap):
+ (WTF::TCMalloc_PageHeap::scavengerThread):
+ (WTF::TCMalloc_PageHeap::periodicScavenge): Updated to track the minimum
+ value of free_committed_pages_ during a given scavenge period.
+
+2010-03-15 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35843
+ Re-land reverted fix to JSString::getIndex()
+
+ Calling getIndex() on a JSString in rope form may result in a JSException being thrown
+ if there is insuficient memory so value(exec) returns UString() with length zero,
+ which will be passed to jsSingleCharacterSubstring.
+ Add a slow case function to trap the error & return a safe null value, until the
+ exception is handled.
+
+ * runtime/JSString.cpp:
+ (JSC::JSString::getIndexSlowCase):
+ (JSC::JSString::getStringPropertyDescriptor):
+ * runtime/JSString.h:
+ (JSC::jsSingleCharacterSubstring):
+ (JSC::JSString::getIndex):
+ (JSC::jsSingleCharacterString):
+ (JSC::JSString::getStringPropertySlot):
+
+2010-03-04 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Add a long long version of abs() for MSVC.
+
+ * wtf/MathExtras.h:
+ (abs):
+
+2010-03-15 Gabor Loki <loki@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Combine ctiTrampolines on ARM and Thumb-2
+ https://bugs.webkit.org/show_bug.cgi?id=36014
+
+ * jit/JITStubs.cpp:
+ (JSC::JITThunks::JITThunks):
+
+2010-03-12 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (build fix).
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2010-03-12 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (build fix).
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2010-03-11 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Bug 36075 - Clean up screwyness re static string impls & Identifiers.
+
+ * API/JSClassRef.cpp:
+ (OpaqueJSClass::~OpaqueJSClass): Classname may be null/empty, and these are an identifer. This is okay, since the null/empty strings are shared across all threads.
+ * JavaScriptCore.exp:
+ * runtime/Identifier.cpp:
+ (JSC::Identifier::add): No need to explicitly hash null reps, this is done in the ststic UStringImpl constructor.
+ (JSC::Identifier::addSlowCase): UStringImpl::empty() handled & checkCurrentIdentifierTable now called in the header.
+ (JSC::Identifier::checkCurrentIdentifierTable): Replaces checkSameIdentifierTable (this no longer checked the rep since the identifierTable pointer was removed from UString::Rep long ago).
+ * runtime/Identifier.h:
+ (JSC::Identifier::add): Replace call to checkSameIdentifierTable with call to checkCurrentIdentifierTable at head of function.
+ * runtime/UStringImpl.cpp:
+ (JSC::UStringImpl::~UStringImpl): Remove call to checkConsistency - this function no longer checks anything interesting.
+ * runtime/UStringImpl.h:
+ (JSC::UStringOrRopeImpl::UStringOrRopeImpl): Set s_refCountFlagIsIdentifier in static constructor.
+ (JSC::UStringImpl::UStringImpl): remove calls to checkConsistency (see above), add new ASSERT to substring constructor.
+ (JSC::UStringImpl::setHash): ASSERT not static (static strings set the hash in their constructor, should not reach this code path).
+ (JSC::UStringImpl::create): Add missing ASSERT.
+ (JSC::UStringImpl::setIsIdentifier): ASSERT !isStatic() (static strings hash set in constructor).
+
+2010-03-12 Peter Varga <pvarga@inf.u-szeged.hu>
+
+ Reviewed by David Levin.
+
+ Two functions tryConsumeCharacter() and tryConsumeCharacterClass() are
+ removed from yarr/RegexInterpreter.cpp because they are never called.
+
+ * yarr/RegexInterpreter.cpp:
+
+2010-03-11 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ The JSNative state was renamed to JSPrimitive. The new name better
+ coresponds to the ECMAScript standard.
+
+ Enum QScriptValuePrivate::States was renamed to State to obey Qt
+ coding style rules ("States" name suggests that a state could
+ mixed together with an other state using bitwise logic operators.
+
+ [Qt] QScriptValuePrivate::States has naming issues
+ https://bugs.webkit.org/show_bug.cgi?id=35968
+
+ * qt/api/qscriptvalue_p.h:
+ (QScriptValuePrivate::):
+ (QScriptValuePrivate::QScriptValuePrivate):
+ (QScriptValuePrivate::isBool):
+ (QScriptValuePrivate::isNumber):
+ (QScriptValuePrivate::isNull):
+ (QScriptValuePrivate::isString):
+ (QScriptValuePrivate::isUndefined):
+ (QScriptValuePrivate::toString):
+ (QScriptValuePrivate::toNumber):
+ (QScriptValuePrivate::toBool):
+ (QScriptValuePrivate::assignEngine):
+ (QScriptValuePrivate::refinedJSValue):
+
+2010-03-11 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (Windows build fix).
+
+ Add export.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2010-03-11 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (Windows build fix).
+
+ Add export.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2010-03-11 Gavin Barraclough <barraclough@apple.com>
+
+ Rubber stamped by Oliver Hunt.
+
+ Remove nonsense comments used in development & commited in error.
+
+ * runtime/UStringImpl.h:
+
+2010-03-11 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (Windows build fix).
+
+ Remove export.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2010-03-11 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36041
+ Remove unnecessary differences in common code between WebCore::StringImpl & JSC::UStringImpl
+
+ Much of the code in WebCore::StringImpl and JSC::UStringImpl is now very similar,
+ but has trivial and unnecessary formatting differences, such as the exact wording
+ of comments, missing ASSERTs, functions implemented in the .h vs .cpp etc.
+
+ * runtime/Identifier.cpp:
+ (JSC::Identifier::add): UStringImpl::empty() now automatically hashes, uas per WebCore strings.
+ (JSC::Identifier::addSlowCase): UStringImpl::empty() now automatically hashes, uas per WebCore strings.
+ * runtime/UStringImpl.cpp:
+ (JSC::UStringImpl::~UStringImpl): Only call bufferOwnership() once, add missing ASSERTs.
+ (JSC::UStringImpl::createUninitialized): Move from .h, not commonly called, no need to inline.
+ (JSC::UStringImpl::create): Move from .h, not commonly called, no need to inline.
+ (JSC::UStringImpl::sharedBuffer): Rewritten to more closely match WebCore implementation, remove need for separate baseSharedBuffer() method.
+ * runtime/UStringImpl.h:
+ (JSC::UStringImpl::UStringImpl): Automatically hash static strings, ASSERT m_data & m_length are non-null/non-zero in non-static strings.
+ (JSC::UStringImpl::setHash): Add missing ASSERT.
+ (JSC::UStringImpl::create): Moved to .cpp / added missing check for empty string creation.
+ (JSC::UStringImpl::adopt): Vector.size() returns size_t, not unsigned.
+ (JSC::UStringImpl::cost): Renamed m_bufferSubstring -> m_substringBuffer
+ (JSC::UStringImpl::hash): Reordered in file.
+ (JSC::UStringImpl::existingHash): Reordered in file.
+ (JSC::UStringImpl::computeHash): Reordered in file, renamed parameter.
+ (JSC::UStringImpl::checkConsistency): rewrote ASSERT.
+ (JSC::UStringImpl::bufferOwnership): Return type should be BufferOwnership.
+ (JSC::UStringImpl::): Moved friends to head of class.
+
+2010-03-11 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by David Kilzer.
+
+ <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version
+
+ Default to using the appropriate SDK if the target Mac OS X version is not the current Mac OS X version.
+
+ * Configurations/Base.xcconfig:
+
+2010-03-11 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Tim Hatcher.
+
+ <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version
+
+ Introduce TARGET_MAC_OS_X_VERSION_MAJOR to represent the Mac OS X version that is being targeted. It defaults to the
+ current Mac OS X version unless otherwise specified.
+
+ Key off TARGET_MAC_OS_X_VERSION_MAJOR where we'd previously been keying off MAC_OS_X_VERSION_MAJOR.
+
+ Explicitly map from the target Mac OS X version to the preferred compiler since Xcode's default compiler choice
+ may not be usable when targetting a different Mac OS X version.
+
+ Key off TARGET_GCC_VERSION rather than MAC_OS_X_VERSION_MAJOR in locations where we'd previously been keying off
+ MAC_OS_X_VERSION_MAJOR but the decision is really related to the compiler version being used.
+
+ * Configurations/Base.xcconfig:
+ * Configurations/DebugRelease.xcconfig:
+ * Configurations/FeatureDefines.xcconfig:
+ * Configurations/JavaScriptCore.xcconfig:
+ * Configurations/Version.xcconfig:
+
+2010-03-11 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Sort the project file.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+
+2010-03-11 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Sort the project file .
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+
+2010-03-11 Gabor Loki <loki@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Buildfix for Thumb-2 after r55684. Add branch8 and branchTest8 functions.
+ https://bugs.webkit.org/show_bug.cgi?id=35892
+
+ * assembler/ARMv7Assembler.h:
+ (JSC::ARMv7Assembler::):
+ (JSC::ARMv7Assembler::ldrb):
+ * assembler/MacroAssemblerARMv7.h:
+ (JSC::MacroAssemblerARMv7::load8):
+ (JSC::MacroAssemblerARMv7::branch8):
+ (JSC::MacroAssemblerARMv7::branchTest8):
+ (JSC::MacroAssemblerARMv7::setTest8):
+
+2010-03-10 Gavin Barraclough <barraclough@apple.com>
+
+ Rubber stamped by Oliver Hunt.
+
+ Rename JSC::UStringImpl::data() to characters(), to match WebCore::StringImpl.
+
+ * API/JSClassRef.cpp:
+ (OpaqueJSClassContextData::OpaqueJSClassContextData):
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::keyForCharacterSwitch):
+ * bytecompiler/NodesCodegen.cpp:
+ (JSC::processClauseList):
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+ * jit/JITStubs.cpp:
+ (JSC::DEFINE_STUB_FUNCTION):
+ * runtime/ArrayPrototype.cpp:
+ (JSC::arrayProtoFuncToString):
+ * runtime/Identifier.cpp:
+ (JSC::Identifier::equal):
+ (JSC::Identifier::addSlowCase):
+ * runtime/JSString.cpp:
+ (JSC::JSString::resolveRope):
+ * runtime/UString.cpp:
+ (JSC::UString::toStrictUInt32):
+ (JSC::equal):
+ * runtime/UString.h:
+ (JSC::UString::data):
+ * runtime/UStringImpl.h:
+ (JSC::UStringImpl::characters):
+ (JSC::UStringImpl::hash):
+ (JSC::UStringImpl::setHash):
+
+2010-03-10 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Darin Adler, Geoffrey Garen, Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35991
+ Would be faster to not use a thread specific to implement StringImpl::empty()
+
+ Change JSC::UStringImpl's implementation of empty() match to match StringImpl's new implementation
+ (use a static defined within the empty() method), and change the interface to match too (return
+ a pointer not a reference).
+
+ ~0% performance impact (possible minor progression from moving empty() from .h to .cpp).
+
+ * JavaScriptCore.exp:
+ * runtime/Identifier.cpp:
+ (JSC::Identifier::add):
+ (JSC::Identifier::addSlowCase):
+ * runtime/PropertyNameArray.cpp:
+ (JSC::PropertyNameArray::add):
+ * runtime/UString.cpp:
+ (JSC::initializeUString):
+ (JSC::UString::UString):
+ * runtime/UStringImpl.cpp:
+ (JSC::UStringImpl::empty):
+ (JSC::UStringImpl::create):
+ * runtime/UStringImpl.h:
+ (JSC::UStringImpl::adopt):
+ (JSC::UStringImpl::createUninitialized):
+ (JSC::UStringImpl::tryCreateUninitialized):
+
+2010-03-10 Dmitry Titov <dimich@chromium.org>
+
+ Not reviewed, fixing Snow Leopard build.
+
+ * wtf/mac/MainThreadMac.mm: Forgot 'static' for a new local function.
+ (WTF::postTimer):
+
+2010-03-10 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Make Document::postTask to use a single queue of tasks, to fire them in order
+ https://bugs.webkit.org/show_bug.cgi?id=35943
+
+ The patch uses CFRunLoopTimer to schedule execution of tasks instead of performSelectorOnMainThread which apparently can starve other event sources.
+ The timer is used when the schedule request is coming on the main thread itself. This happens when the task is posted on the main thread or
+ when too many tasks are posted and the queue does 'stop and re-schedule' to make sure run loop has a chance to execute other events.
+
+ * wtf/mac/MainThreadMac.mm:
+ (WTF::timerFired):
+ (WTF::postTimer):
+ (WTF::scheduleDispatchFunctionsOnMainThread): Use timer posted to the current RunLoop if scheduling the task execution while on the main thread.
+
+2010-03-10 Geoffrey Garen <ggaren@apple.com>
+
+ Windows build fix: added new symbol.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2010-03-10 Geoffrey Garen <ggaren@apple.com>
+
+ Windows build fix: removed old symbol.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2010-03-09 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Alexey Proskuryakov, Darin Adler, and Sam Weinig.
+
+ Refactored fastCheckConsistency to match some review comments:
+ - renamed fastCheckConsistency to fastMallocSize, and changed ValueCheck
+ to ASSERT that a pointer's fastMallocSize is not 0.
+ - implemented a version of fastMallocSize for tcmalloc.
+
+ Also moved some pre-existing code around to avoid a problem related to
+ mismatched #define/#undef of malloc/free in this source file.
+
+ * JavaScriptCore.exp:
+ * wtf/FastMalloc.cpp:
+ (WTF::fastMallocSize): Renamed. Fixed indentation.
+
+ (WTF::TCMalloc_PageHeap::scavenge): Removed an incorrect ASSERT that
+ got in the way of testing the tcmalloc implementation. (More information
+ on why this ASSERT is incorrect is in <rdar://problem/7165917>.)
+
+ (WTF::TCMallocStats::fastMallocSize): Implemented for tcmalloc.
+
+ * wtf/FastMalloc.h: Updated for rename.
+
+ * wtf/ValueCheck.h:
+ (WTF::): Moved the ASSERT that used to be in fastCheckConsistency here.
+
+2010-03-10 Kevin Ollivier <kevino@theolliviers.com>
+
+ Reviewed by Eric Seidel.
+
+ Make global new/delete operators configurable for all ports and disable it
+ for the wx port for now.
+
+ * wtf/FastMalloc.h:
+ * wtf/Platform.h:
+
+2010-03-09 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (reverting r54510).
+
+ This caused a performance regression, by breaking the code
+ generator's logic to calculate the skip level for resolving
+ variables (traced by rdar:7683350) Reverting for now.
+
+ * parser/Grammar.y:
+ * parser/NodeConstructors.h:
+ (JSC::ContinueNode::ContinueNode):
+ (JSC::BreakNode::BreakNode):
+ (JSC::ForInNode::ForInNode):
+ * runtime/CommonIdentifiers.cpp:
+ (JSC::CommonIdentifiers::CommonIdentifiers):
+ * runtime/CommonIdentifiers.h:
+ * runtime/FunctionPrototype.cpp:
+ (JSC::FunctionPrototype::FunctionPrototype):
+ * runtime/Identifier.cpp:
+ (JSC::Identifier::add):
+ * runtime/PropertyNameArray.cpp:
+ (JSC::PropertyNameArray::add):
+
+2010-03-09 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Changed FastMalloc statistics reporting to be a bit clearer. We now
+ report:
+ - Reserved VM Bytes: the VM that has been mapped into the process.
+ - Committed VM Bytes: the subset of Reserved VM Bytes actually in use.
+ - Free List Bytes: the subset of Committed VM Bytes in a free list.
+
+ * wtf/FastMalloc.cpp:
+ (WTF::fastMallocStatistics):
+ (WTF::TCMallocStats::fastMallocStatistics): Updated to report the statistics
+ above. Standardized use of "ifdef WTF_CHANGES". Added a SpinLockHolder
+ around all statistics gathering, since it reads from the page heap.
+
+ * wtf/FastMalloc.h: Updated to report the statistics above.
+
+2010-03-09 Gabor Loki <loki@webkit.org>
+
+ Rubber-stamped by Maciej Stachowiak.
+
+ Buildfix for ARM after r55684. Add branch8 and branchTest8 functions.
+ https://bugs.webkit.org/show_bug.cgi?id=35892
+
+ * assembler/ARMAssembler.cpp:
+ (JSC::ARMAssembler::dataTransfer32):
+ * assembler/ARMAssembler.h:
+ (JSC::ARMAssembler::):
+ * assembler/MacroAssemblerARM.h:
+ (JSC::MacroAssemblerARM::load8):
+ (JSC::MacroAssemblerARM::branch8):
+ (JSC::MacroAssemblerARM::branchTest8):
+
+2010-03-08 Geoffrey Garen <ggaren@apple.com>
+
+ Windows build fix: 'P' is not a type. Luckily, 'void' is.
+
+ * wtf/FastMalloc.cpp:
+ (WTF::fastCheckConsistency):
+
+2010-03-08 Geoffrey Garen <ggaren@apple.com>
+
+ Windows build fix: export a new symbol.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2010-03-08 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Switching malloc implementations requires a world rebuild
+ https://bugs.webkit.org/show_bug.cgi?id=35899
+
+ * wtf/FastMalloc.cpp:
+ (WTF::fastCheckConsistency):
+ (WTF::TCMallocStats::fastCheckConsistency):
+ * wtf/FastMalloc.h:
+ * wtf/ValueCheck.h:
+ (WTF::): Moved pointer checking into a helper function in FastMalloc.cpp,
+ so you can switch malloc implementations without rebuilding the world.
+
+2010-03-07 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Darin Adler.
+
+ TypeInfo is unnecessarily large
+ https://bugs.webkit.org/show_bug.cgi?id=35850
+
+ Reduce the size of the type and flags members to a single
+ byte each, reducing the size of Structure by 8 bytes.
+
+ * assembler/MacroAssemblerX86Common.h:
+ (JSC::MacroAssemblerX86Common::branch8):
+ (JSC::MacroAssemblerX86Common::branchTest8):
+ (JSC::MacroAssemblerX86Common::setTest8):
+ Add single byte branches, and correct setTest8 to do a
+ single byte read from memory, and actually store the result
+ * assembler/X86Assembler.h:
+ (JSC::X86Assembler::):
+ (JSC::X86Assembler::cmpb_im):
+ (JSC::X86Assembler::testb_im):
+ * jit/JITCall.cpp:
+ (JSC::JIT::emit_op_construct_verify):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_instanceof):
+ (JSC::JIT::emit_op_jeq_null):
+ (JSC::JIT::emit_op_jneq_null):
+ (JSC::JIT::emit_op_get_pnames):
+ (JSC::JIT::emit_op_convert_this):
+ (JSC::JIT::emit_op_construct_verify):
+ (JSC::JIT::emit_op_to_jsnumber):
+ (JSC::JIT::emit_op_eq_null):
+ (JSC::JIT::emit_op_neq_null):
+ * runtime/JSTypeInfo.h:
+ (JSC::TypeInfo::TypeInfo):
+ (JSC::TypeInfo::type):
+
+2010-03-08 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (reverting regression).
+
+ Reverting 55035, this caused a regression.
+ (https://bugs.webkit.org/show_bug.cgi?id=35843)
+
+ * runtime/JSString.cpp:
+ (JSC::JSString::resolveRope):
+ (JSC::JSString::getStringPropertyDescriptor):
+ * runtime/JSString.h:
+ (JSC::jsSingleCharacterSubstring):
+ (JSC::JSString::getIndex):
+ (JSC::JSString::getStringPropertySlot):
+ * runtime/UStringImpl.cpp:
+ * runtime/UStringImpl.h:
+
+2010-03-08 Stuart Morgan <stuartmorgan@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Added a new USE definition for secure text mode on the Mac.
+ https://bugs.webkit.org/show_bug.cgi?id=31265
+
+ * wtf/Platform.h:
+
+2010-03-08 Jian Li <jianli@chromium.org>
+
+ Reviewed by Dmitry Titov.
+
+ Blob.slice support.
+ https://bugs.webkit.org/show_bug.cgi?id=32993
+
+ Add ENABLE_BLOB_SLICE feature define.
+ Also fix a problem that JSValue.toInteger is not exposed on Windows.
+
+ * Configurations/FeatureDefines.xcconfig:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2010-03-07 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Small performance fix in the QScriptConverter::toString().
+
+ The QByteArray was replaced by the QVarLengthArray which doesn't
+ have to allocate any memory on heap.
+
+ [Qt] QScriptConverter::toString() should use QVarLengthArray instead of QByteArray
+ https://bugs.webkit.org/show_bug.cgi?id=35577
+
+ * qt/api/qscriptconverter_p.h:
+ (QScriptConverter::toString):
+
+2010-03-06 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Sam Weinig.
+
+ Remove unnecessary includes of wtf/Platform.h. This is already pulled in by config.h.
+
+ * API/APICast.h:
+ * API/JSCallbackFunction.cpp:
+ * API/JSContextRef.cpp:
+ * API/JSObjectRef.cpp:
+ * API/JSValueRef.cpp:
+ * assembler/ARMAssembler.h:
+ * assembler/ARMv7Assembler.h:
+ * assembler/AbstractMacroAssembler.h:
+ * assembler/AssemblerBuffer.h:
+ * assembler/AssemblerBufferWithConstantPool.h:
+ * assembler/CodeLocation.h:
+ * assembler/LinkBuffer.h:
+ * assembler/MIPSAssembler.h:
+ * assembler/MacroAssembler.h:
+ * assembler/MacroAssemblerARM.h:
+ * assembler/MacroAssemblerARMv7.h:
+ * assembler/MacroAssemblerCodeRef.h:
+ * assembler/MacroAssemblerMIPS.h:
+ * assembler/MacroAssemblerX86.h:
+ * assembler/MacroAssemblerX86Common.h:
+ * assembler/MacroAssemblerX86_64.h:
+ * assembler/RepatchBuffer.h:
+ * assembler/X86Assembler.h:
+ * jit/JIT.h:
+ * jit/JITCode.h:
+ * jit/JITInlineMethods.h:
+ * jit/JITStubs.h:
+ * os-win32/stdint.h:
+ * runtime/JSAPIValueWrapper.h:
+ * runtime/JSImmediate.h:
+ * wtf/ASCIICType.h:
+ * wtf/StdLibExtras.h:
+ * wtf/VMTags.h:
+ * yarr/RegexCompiler.h:
+ * yarr/RegexInterpreter.h:
+ * yarr/RegexJIT.h:
+ * yarr/RegexParser.h:
+ * yarr/RegexPattern.h:
+
+2010-03-06 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Share OwnPtr.
+ https://bugs.webkit.org/show_bug.cgi?id=35776
+
+ Share OwnPtr implementation with BREW MP and remove OwnPtrBrew.
+
+ * wtf/OwnPtrBrew.cpp: Added.
+ (WTF::deleteOwnedPtr):
+ * wtf/OwnPtrCommon.h:
+ * wtf/brew/OwnPtrBrew.cpp: Removed.
+ * wtf/brew/OwnPtrBrew.h: Removed.
+
+2010-03-06 Patrick Gansterer <paroga@paroga.com>
+
+ Reviewed by Eric Seidel.
+
+ Implemented JIT_OPTIMIZE_NATIVE_CALL for WinCE
+ https://bugs.webkit.org/show_bug.cgi?id=33426
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::privateCompileCTIMachineTrampolines):
+
+2010-03-05 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by NOBODY (build fix).
+
+ Add enw exports to windows
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2010-03-05 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ JSC should cache int to Identifier conversion as it does for ordinary strings
+ https://bugs.webkit.org/show_bug.cgi?id=35814
+
+ Make the NumericStrings cache cache unsigned ints in addition to signed.
+ We keep them separate from the int cache as it both simplifies code, and
+ also because the unsigned path is exclusive to property access and therefore
+ seems to have different usage patterns.
+
+ The primary trigger for the unsigned to Identifier propertyName conversion
+ is the construction of array-like objects out of normal objects. Given these
+ tend to be relative small numbers, and the array-like behaviour lends itself
+ to sequential values this patch also adds a non-colliding cache for all small
+ numbers.
+
+ * JavaScriptCore.exp:
+ * runtime/Identifier.cpp:
+ (JSC::Identifier::from):
+ * runtime/Identifier.h:
+ * runtime/NumericStrings.h:
+ (JSC::NumericStrings::add):
+ (JSC::NumericStrings::lookup):
+ (JSC::NumericStrings::lookupSmallString):
+
+2010-03-03 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Allow static property getters to interact with JSCs caching
+ https://bugs.webkit.org/show_bug.cgi?id=35716
+
+ Add new opcodes for handling cached lookup of static value getters.
+ More or less the same as with JS getters, all that changes is that
+ instead of calling through a JSFunction we always know that we have
+ a C function to call.
+
+ For the patching routines in the JIT we now need to pass a few
+ new parameters to allow us to pass enough information to the stub
+ function to allow us to call the C function correctly. Logically
+ this shouldn't actually be necessary as all of these functions ignore
+ the identifier, but removing the ident parameter would require
+ somewhat involved changes to the way we implement getOwnPropertySlot,
+ etc.
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::dump):
+ (JSC::CodeBlock::derefStructures):
+ (JSC::CodeBlock::refStructures):
+ * bytecode/Instruction.h:
+ (JSC::Instruction::Instruction):
+ (JSC::Instruction::):
+ * bytecode/Opcode.h:
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::tryCacheGetByID):
+ (JSC::Interpreter::privateExecute):
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompileMainPass):
+ * jit/JIT.h:
+ (JSC::JIT::compileGetByIdProto):
+ (JSC::JIT::compileGetByIdSelfList):
+ (JSC::JIT::compileGetByIdProtoList):
+ (JSC::JIT::compileGetByIdChainList):
+ (JSC::JIT::compileGetByIdChain):
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::privateCompileGetByIdProto):
+ (JSC::JIT::privateCompileGetByIdSelfList):
+ (JSC::JIT::privateCompileGetByIdProtoList):
+ (JSC::JIT::privateCompileGetByIdChainList):
+ (JSC::JIT::privateCompileGetByIdChain):
+ * jit/JITPropertyAccess32_64.cpp:
+ (JSC::JIT::privateCompileGetByIdProto):
+ (JSC::JIT::privateCompileGetByIdSelfList):
+ (JSC::JIT::privateCompileGetByIdProtoList):
+ (JSC::JIT::privateCompileGetByIdChainList):
+ (JSC::JIT::privateCompileGetByIdChain):
+ * jit/JITStubs.cpp:
+ (JSC::JITThunks::tryCacheGetByID):
+ (JSC::DEFINE_STUB_FUNCTION):
+ * jit/JITStubs.h:
+ (JSC::):
+ * runtime/JSFunction.cpp:
+ (JSC::JSFunction::getOwnPropertySlot):
+ * runtime/Lookup.h:
+ (JSC::getStaticPropertySlot):
+ (JSC::getStaticValueSlot):
+ * runtime/PropertySlot.h:
+ (JSC::PropertySlot::):
+ (JSC::PropertySlot::PropertySlot):
+ (JSC::PropertySlot::cachedPropertyType):
+ (JSC::PropertySlot::isCacheable):
+ (JSC::PropertySlot::isCacheableValue):
+ (JSC::PropertySlot::setValueSlot):
+ (JSC::PropertySlot::setCacheableCustom):
+ (JSC::PropertySlot::setGetterSlot):
+ (JSC::PropertySlot::setCacheableGetterSlot):
+ (JSC::PropertySlot::clearOffset):
+ (JSC::PropertySlot::customGetter):
+
+2010-03-04 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Unreviewed. Remove a non-ASCII character introduced in the following bug.
+
+ put_by_id does will incorrectly cache writes where a specific value exists, where at the point of caching the same value is being written.
+ https://bugs.webkit.org/show_bug.cgi?id=35537
+
+ * runtime/JSObject.h:
+ (JSC::JSObject::putDirectInternal):
+
+2010-03-04 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Make the OUTPUT_DIR variable in qmake projects independent of build-webkit's logic.
+
+ This also allows shadow builds relying only on qmake to work properly.
+ * jsc.pro:
+ * qt/api/QtScript.pro:
+ * qt/tests/qscriptengine/qscriptengine.pro:
+ * qt/tests/qscriptvalue/qscriptvalue.pro:
+ * qt/tests/tests.pri:
+
+2010-03-03 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ QScriptValue::isObject fix.
+
+ Fix broken internal state evaluation from JSValue to JSNative / JSObject.
+ New function was introduced which should take care about promoting
+ JSValue state inside QScriptValuePrivate. It should be used instead of a
+ direct JSC C API call.
+
+ The bug exposed a weakness in autotest suite, as the QScriptValuePrivate
+ is based on state machine with lazy state evaluation, there is a possibility
+ that serial sequencial calls to the same public const function could return
+ different results. The patch fix the issue.
+
+ [Qt] Sometimes QScriptValue::isObject returns an incorrect value
+ https://bugs.webkit.org/show_bug.cgi?id=35387
+
+ * qt/api/qscriptvalue_p.h:
+ (QScriptValuePrivate::isBool):
+ (QScriptValuePrivate::isNumber):
+ (QScriptValuePrivate::isNull):
+ (QScriptValuePrivate::isString):
+ (QScriptValuePrivate::isUndefined):
+ (QScriptValuePrivate::isError):
+ (QScriptValuePrivate::isObject):
+ (QScriptValuePrivate::isFunction):
+ (QScriptValuePrivate::call):
+ (QScriptValuePrivate::refineJSValue):
+ * qt/tests/qscriptvalue/tst_qscriptvalue_generated.cpp:
+ (tst_QScriptValue::initScriptValues):
+ (tst_QScriptValue::isValid_makeData):
+ (tst_QScriptValue::isValid_test):
+ (tst_QScriptValue::isBool_makeData):
+ (tst_QScriptValue::isBool_test):
+ (tst_QScriptValue::isBoolean_makeData):
+ (tst_QScriptValue::isBoolean_test):
+ (tst_QScriptValue::isNumber_makeData):
+ (tst_QScriptValue::isNumber_test):
+ (tst_QScriptValue::isFunction_test):
+ (tst_QScriptValue::isNull_makeData):
+ (tst_QScriptValue::isNull_test):
+ (tst_QScriptValue::isString_makeData):
+ (tst_QScriptValue::isString_test):
+ (tst_QScriptValue::isUndefined_makeData):
+ (tst_QScriptValue::isUndefined_test):
+ (tst_QScriptValue::isObject_makeData):
+ (tst_QScriptValue::isObject_test):
+ (tst_QScriptValue::toString_makeData):
+ (tst_QScriptValue::toString_test):
+ (tst_QScriptValue::toNumber_makeData):
+ (tst_QScriptValue::toNumber_test):
+ (tst_QScriptValue::toBool_makeData):
+ (tst_QScriptValue::toBool_test):
+ (tst_QScriptValue::toBoolean_makeData):
+ (tst_QScriptValue::toBoolean_test):
+ (tst_QScriptValue::toInteger_makeData):
+ (tst_QScriptValue::toInteger_test):
+ (tst_QScriptValue::toInt32_makeData):
+ (tst_QScriptValue::toInt32_test):
+ (tst_QScriptValue::toUInt32_makeData):
+ (tst_QScriptValue::toUInt32_test):
+ (tst_QScriptValue::toUInt16_makeData):
+ (tst_QScriptValue::toUInt16_test):
+
+2010-03-03 Chao-ying Fu <fu@mips.com>
+
+ Reviewed by Gavin Barraclough.
+
+ MIPS JIT Supports
+ https://bugs.webkit.org/show_bug.cgi?id=30144
+
+ The following changes enable MIPS YARR and YARR_JIT.
+
+ * assembler/AbstractMacroAssembler.h:
+ (JSC::AbstractMacroAssembler::Imm32::Imm32):
+ * assembler/MIPSAssembler.h: Added.
+ (JSC::MIPSRegisters::):
+ (JSC::MIPSAssembler::MIPSAssembler):
+ (JSC::MIPSAssembler::):
+ (JSC::MIPSAssembler::JmpSrc::JmpSrc):
+ (JSC::MIPSAssembler::JmpDst::JmpDst):
+ (JSC::MIPSAssembler::JmpDst::isUsed):
+ (JSC::MIPSAssembler::JmpDst::used):
+ (JSC::MIPSAssembler::emitInst):
+ (JSC::MIPSAssembler::nop):
+ (JSC::MIPSAssembler::loadDelayNop):
+ (JSC::MIPSAssembler::copDelayNop):
+ (JSC::MIPSAssembler::move):
+ (JSC::MIPSAssembler::li):
+ (JSC::MIPSAssembler::lui):
+ (JSC::MIPSAssembler::addiu):
+ (JSC::MIPSAssembler::addu):
+ (JSC::MIPSAssembler::subu):
+ (JSC::MIPSAssembler::mult):
+ (JSC::MIPSAssembler::mfhi):
+ (JSC::MIPSAssembler::mflo):
+ (JSC::MIPSAssembler::mul):
+ (JSC::MIPSAssembler::andInsn):
+ (JSC::MIPSAssembler::andi):
+ (JSC::MIPSAssembler::nor):
+ (JSC::MIPSAssembler::orInsn):
+ (JSC::MIPSAssembler::ori):
+ (JSC::MIPSAssembler::xorInsn):
+ (JSC::MIPSAssembler::xori):
+ (JSC::MIPSAssembler::slt):
+ (JSC::MIPSAssembler::sltu):
+ (JSC::MIPSAssembler::sltiu):
+ (JSC::MIPSAssembler::sll):
+ (JSC::MIPSAssembler::sllv):
+ (JSC::MIPSAssembler::sra):
+ (JSC::MIPSAssembler::srav):
+ (JSC::MIPSAssembler::lw):
+ (JSC::MIPSAssembler::lwl):
+ (JSC::MIPSAssembler::lwr):
+ (JSC::MIPSAssembler::lhu):
+ (JSC::MIPSAssembler::sw):
+ (JSC::MIPSAssembler::jr):
+ (JSC::MIPSAssembler::jalr):
+ (JSC::MIPSAssembler::jal):
+ (JSC::MIPSAssembler::bkpt):
+ (JSC::MIPSAssembler::bgez):
+ (JSC::MIPSAssembler::bltz):
+ (JSC::MIPSAssembler::beq):
+ (JSC::MIPSAssembler::bne):
+ (JSC::MIPSAssembler::bc1t):
+ (JSC::MIPSAssembler::bc1f):
+ (JSC::MIPSAssembler::newJmpSrc):
+ (JSC::MIPSAssembler::appendJump):
+ (JSC::MIPSAssembler::addd):
+ (JSC::MIPSAssembler::subd):
+ (JSC::MIPSAssembler::muld):
+ (JSC::MIPSAssembler::lwc1):
+ (JSC::MIPSAssembler::ldc1):
+ (JSC::MIPSAssembler::swc1):
+ (JSC::MIPSAssembler::sdc1):
+ (JSC::MIPSAssembler::mtc1):
+ (JSC::MIPSAssembler::mfc1):
+ (JSC::MIPSAssembler::truncwd):
+ (JSC::MIPSAssembler::cvtdw):
+ (JSC::MIPSAssembler::ceqd):
+ (JSC::MIPSAssembler::cngtd):
+ (JSC::MIPSAssembler::cnged):
+ (JSC::MIPSAssembler::cltd):
+ (JSC::MIPSAssembler::cled):
+ (JSC::MIPSAssembler::cueqd):
+ (JSC::MIPSAssembler::coled):
+ (JSC::MIPSAssembler::coltd):
+ (JSC::MIPSAssembler::culed):
+ (JSC::MIPSAssembler::cultd):
+ (JSC::MIPSAssembler::label):
+ (JSC::MIPSAssembler::align):
+ (JSC::MIPSAssembler::getRelocatedAddress):
+ (JSC::MIPSAssembler::getDifferenceBetweenLabels):
+ (JSC::MIPSAssembler::size):
+ (JSC::MIPSAssembler::executableCopy):
+ (JSC::MIPSAssembler::getCallReturnOffset):
+ (JSC::MIPSAssembler::linkJump):
+ (JSC::MIPSAssembler::linkCall):
+ (JSC::MIPSAssembler::linkPointer):
+ (JSC::MIPSAssembler::relinkJump):
+ (JSC::MIPSAssembler::relinkCall):
+ (JSC::MIPSAssembler::repatchInt32):
+ (JSC::MIPSAssembler::repatchPointer):
+ (JSC::MIPSAssembler::repatchLoadPtrToLEA):
+ (JSC::MIPSAssembler::relocateJumps):
+ (JSC::MIPSAssembler::linkWithOffset):
+ (JSC::MIPSAssembler::linkCallInternal):
+ * assembler/MacroAssembler.h:
+ * assembler/MacroAssemblerMIPS.h: Added.
+ (JSC::MacroAssemblerMIPS::MacroAssemblerMIPS):
+ (JSC::MacroAssemblerMIPS::):
+ (JSC::MacroAssemblerMIPS::add32):
+ (JSC::MacroAssemblerMIPS::and32):
+ (JSC::MacroAssemblerMIPS::lshift32):
+ (JSC::MacroAssemblerMIPS::mul32):
+ (JSC::MacroAssemblerMIPS::not32):
+ (JSC::MacroAssemblerMIPS::or32):
+ (JSC::MacroAssemblerMIPS::rshift32):
+ (JSC::MacroAssemblerMIPS::sub32):
+ (JSC::MacroAssemblerMIPS::xor32):
+ (JSC::MacroAssemblerMIPS::load32):
+ (JSC::MacroAssemblerMIPS::load32WithUnalignedHalfWords):
+ (JSC::MacroAssemblerMIPS::load32WithAddressOffsetPatch):
+ (JSC::MacroAssemblerMIPS::loadPtrWithPatchToLEA):
+ (JSC::MacroAssemblerMIPS::loadPtrWithAddressOffsetPatch):
+ (JSC::MacroAssemblerMIPS::load16):
+ (JSC::MacroAssemblerMIPS::store32WithAddressOffsetPatch):
+ (JSC::MacroAssemblerMIPS::store32):
+ (JSC::MacroAssemblerMIPS::supportsFloatingPoint):
+ (JSC::MacroAssemblerMIPS::supportsFloatingPointTruncate):
+ (JSC::MacroAssemblerMIPS::pop):
+ (JSC::MacroAssemblerMIPS::push):
+ (JSC::MacroAssemblerMIPS::move):
+ (JSC::MacroAssemblerMIPS::swap):
+ (JSC::MacroAssemblerMIPS::signExtend32ToPtr):
+ (JSC::MacroAssemblerMIPS::zeroExtend32ToPtr):
+ (JSC::MacroAssemblerMIPS::branch32):
+ (JSC::MacroAssemblerMIPS::branch32WithUnalignedHalfWords):
+ (JSC::MacroAssemblerMIPS::branch16):
+ (JSC::MacroAssemblerMIPS::branchTest32):
+ (JSC::MacroAssemblerMIPS::jump):
+ (JSC::MacroAssemblerMIPS::branchAdd32):
+ (JSC::MacroAssemblerMIPS::branchMul32):
+ (JSC::MacroAssemblerMIPS::branchSub32):
+ (JSC::MacroAssemblerMIPS::breakpoint):
+ (JSC::MacroAssemblerMIPS::nearCall):
+ (JSC::MacroAssemblerMIPS::call):
+ (JSC::MacroAssemblerMIPS::ret):
+ (JSC::MacroAssemblerMIPS::set32):
+ (JSC::MacroAssemblerMIPS::setTest32):
+ (JSC::MacroAssemblerMIPS::moveWithPatch):
+ (JSC::MacroAssemblerMIPS::branchPtrWithPatch):
+ (JSC::MacroAssemblerMIPS::storePtrWithPatch):
+ (JSC::MacroAssemblerMIPS::tailRecursiveCall):
+ (JSC::MacroAssemblerMIPS::makeTailRecursiveCall):
+ (JSC::MacroAssemblerMIPS::loadDouble):
+ (JSC::MacroAssemblerMIPS::storeDouble):
+ (JSC::MacroAssemblerMIPS::addDouble):
+ (JSC::MacroAssemblerMIPS::subDouble):
+ (JSC::MacroAssemblerMIPS::mulDouble):
+ (JSC::MacroAssemblerMIPS::convertInt32ToDouble):
+ (JSC::MacroAssemblerMIPS::insertRelaxationWords):
+ (JSC::MacroAssemblerMIPS::branchTrue):
+ (JSC::MacroAssemblerMIPS::branchFalse):
+ (JSC::MacroAssemblerMIPS::branchEqual):
+ (JSC::MacroAssemblerMIPS::branchNotEqual):
+ (JSC::MacroAssemblerMIPS::branchDouble):
+ (JSC::MacroAssemblerMIPS::branchTruncateDoubleToInt32):
+ (JSC::MacroAssemblerMIPS::linkCall):
+ (JSC::MacroAssemblerMIPS::repatchCall):
+ * jit/ExecutableAllocator.h:
+ (JSC::ExecutableAllocator::cacheFlush):
+ * wtf/Platform.h:
+ * yarr/RegexJIT.cpp:
+ (JSC::Yarr::RegexGenerator::generateEnter):
+ (JSC::Yarr::RegexGenerator::generateReturn):
+
+2010-03-03 Steve Falkenburg <sfalken@apple.com>
+
+ Windows build fix.
+
+ * JavaScriptCore.vcproj/jsc/jsc.vcproj:
+ * JavaScriptCore.vcproj/jsc/jscCommon.vsprops:
+
+2010-03-03 Steve Falkenburg <sfalken@apple.com>
+
+ Windows build fix.
+
+ * JavaScriptCore.vcproj/jsc/jsc.vcproj:
+
+2010-03-03 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Add virtual memory tags for TCMalloc and WebCore's purgeable buffers.
+
+ * wtf/TCSystemAlloc.cpp:
+ (TryMmap): Use the VM tag.
+ * wtf/VMTags.h: Make use of VM_MEMORY_TCMALLOC and VM_MEMORY_WEBCORE_PURGEABLE_BUFFERS.
+
+2010-03-03 Steve Falkenburg <sfalken@apple.com>
+
+ Rubber stamped by Adam Roben.
+
+ Fix bogus xcopy that was polluting source tree at build time.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
+
+2010-03-02 Fridrich Strba <fridrich.strba@bluewin.ch>
+
+ Reviewed by Oliver Hunt.
+
+ Allow building smoothly on win32 and win64 using GCC
+ https://bugs.webkit.org/show_bug.cgi?id=35607
+
+ * jit/JITStubs.h:
+ * runtime/Collector.cpp:
+ (JSC::Heap::allocateBlock):
+ (JSC::Heap::freeBlockPtr):
+ (JSC::currentThreadStackBase):
+
+2010-03-02 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by David Levin.
+
+ Revert database thread changes that are no longer required
+ https://bugs.webkit.org/show_bug.cgi?id=35519
+
+ Jochen Eisinger created 55214 and 55247 to track which database
+ owns which thread. Dmitry suggested that this could also
+ be done via TLS, though. After exploring the options, Jochen
+ chose to go the TLS route, so these patches are no longer needed.
+
+ * wtf/Threading.h:
+ * wtf/ThreadingNone.cpp:
+ (WTF::isMainThread):
+ * wtf/ThreadingPthreads.cpp:
+ (WTF::identifierByPthreadHandle):
+ (WTF::establishIdentifierForPthreadHandle):
+ (WTF::pthreadHandleForIdentifier):
+ (WTF::createThreadInternal):
+ (WTF::currentThread):
+ * wtf/ThreadingWin.cpp:
+ (WTF::threadMap):
+ (WTF::storeThreadHandleByIdentifier):
+ (WTF::threadHandleForIdentifier):
+ (WTF::createThreadInternal):
+
+2010-03-02 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Fix QScriptValue::toString().
+
+ More ECMA Script compliance, especially for values as NaN, Inifinite
+ and really big/small numbers.
+
+ [Qt] QScriptValue::toString() returns incorrect values
+ https://bugs.webkit.org/show_bug.cgi?id=34850
+
+ * qt/api/qscriptconverter_p.h:
+ (QScriptConverter::toString):
+ * qt/api/qscriptvalue_p.h:
+ (QScriptValuePrivate::toString):
+ * qt/tests/qscriptvalue/tst_qscriptvalue.cpp:
+ * qt/tests/qscriptvalue/tst_qscriptvalue.h:
+ * qt/tests/qscriptvalue/tst_qscriptvalue_generated.cpp:
+ (tst_QScriptValue::toString_initData):
+ (tst_QScriptValue::toString_makeData):
+ (tst_QScriptValue::toString_test):
+
+2010-03-02 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Introduce a new class; QScriptString.
+
+ The QScriptString class should act as a handle to "interned"
+ strings in a QScriptEngine.
+
+ [Qt] QtScript should provide QScriptString
+ https://bugs.webkit.org/show_bug.cgi?id=34843
+
+ * qt/api/QtScript.pro:
+ * qt/api/qscriptengine.cpp:
+ (QScriptEngine::toStringHandle):
+ * qt/api/qscriptengine.h:
+ * qt/api/qscriptengine_p.h:
+ (QScriptEnginePrivate::toStringHandle):
+ * qt/api/qscriptstring.cpp: Added.
+ (QScriptString::QScriptString):
+ (QScriptString::~QScriptString):
+ (QScriptString::operator=):
+ (QScriptString::isValid):
+ (QScriptString::operator==):
+ (QScriptString::operator!=):
+ (QScriptString::toArrayIndex):
+ (QScriptString::toString):
+ (QScriptString::operator QString):
+ (qHash):
+ * qt/api/qscriptstring.h: Added.
+ * qt/api/qscriptstring_p.h: Added.
+ (QScriptStringPrivate::QScriptStringPrivate):
+ (QScriptStringPrivate::~QScriptStringPrivate):
+ (QScriptStringPrivate::get):
+ (QScriptStringPrivate::isValid):
+ (QScriptStringPrivate::operator==):
+ (QScriptStringPrivate::operator!=):
+ (QScriptStringPrivate::toArrayIndex):
+ (QScriptStringPrivate::toString):
+ (QScriptStringPrivate::id):
+ * qt/tests/qscriptstring/qscriptstring.pro: Added.
+ * qt/tests/qscriptstring/tst_qscriptstring.cpp: Added.
+ (tst_QScriptString::tst_QScriptString):
+ (tst_QScriptString::~tst_QScriptString):
+ (tst_QScriptString::test):
+ (tst_QScriptString::hash):
+ (tst_QScriptString::toArrayIndex_data):
+ (tst_QScriptString::toArrayIndex):
+ * qt/tests/tests.pro:
+
+2010-03-02 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by NOBODY (Build fix).
+
+ Export function on windows.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2010-03-01 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Refactor named getter function signature to be in line with indexing getter signature
+ https://bugs.webkit.org/show_bug.cgi?id=35563
+
+ This removes the PropertySlot argument from getter functions, and makes them directly
+ pass the slot base. This makes the semantics for the functions match that of the
+ indexing getters.
+
+ On the down side, this means that we can no longer simply use a proxy function for
+ JS getters, so we now add another marker value to indicate that a getter is present
+ and branch accordingly.
+
+ Against all rationality sunspider reports this as a perf win, but i suspect it's just noise.
+
+ * API/JSCallbackObject.h:
+ * API/JSCallbackObjectFunctions.h:
+ (JSC::::staticValueGetter):
+ (JSC::::staticFunctionGetter):
+ (JSC::::callbackGetter):
+ * JavaScriptCore.exp:
+ * runtime/JSActivation.cpp:
+ (JSC::JSActivation::argumentsGetter):
+ * runtime/JSActivation.h:
+ * runtime/JSFunction.cpp:
+ (JSC::JSFunction::argumentsGetter):
+ (JSC::JSFunction::callerGetter):
+ (JSC::JSFunction::lengthGetter):
+ * runtime/JSFunction.h:
+ * runtime/NumberConstructor.cpp:
+ (JSC::numberConstructorNaNValue):
+ (JSC::numberConstructorNegInfinity):
+ (JSC::numberConstructorPosInfinity):
+ (JSC::numberConstructorMaxValue):
+ (JSC::numberConstructorMinValue):
+ * runtime/PropertySlot.cpp:
+ (JSC::PropertySlot::functionGetter):
+ * runtime/PropertySlot.h:
+ (JSC::PropertySlot::getValue):
+ (JSC::PropertySlot::setGetterSlot):
+ (JSC::PropertySlot::setCacheableGetterSlot):
+ * runtime/RegExpConstructor.cpp:
+ (JSC::regExpConstructorDollar1):
+ (JSC::regExpConstructorDollar2):
+ (JSC::regExpConstructorDollar3):
+ (JSC::regExpConstructorDollar4):
+ (JSC::regExpConstructorDollar5):
+ (JSC::regExpConstructorDollar6):
+ (JSC::regExpConstructorDollar7):
+ (JSC::regExpConstructorDollar8):
+ (JSC::regExpConstructorDollar9):
+ (JSC::regExpConstructorInput):
+ (JSC::regExpConstructorMultiline):
+ (JSC::regExpConstructorLastMatch):
+ (JSC::regExpConstructorLastParen):
+ (JSC::regExpConstructorLeftContext):
+ (JSC::regExpConstructorRightContext):
+ * runtime/RegExpObject.cpp:
+ (JSC::regExpObjectGlobal):
+ (JSC::regExpObjectIgnoreCase):
+ (JSC::regExpObjectMultiline):
+ (JSC::regExpObjectSource):
+ (JSC::regExpObjectLastIndex):
+
+2010-03-01 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ PropertySlot::getValue(ExecState, unsigned) unnecessarily converts index to an Identifier
+ https://bugs.webkit.org/show_bug.cgi?id=35561
+
+ Fix this by defining a separate property getter function for index getters. This allows
+ us to pass an unsigned number without the conversion to an Identifier. We then update
+ setCustomIndex to take this new getter type.
+
+ * runtime/PropertySlot.h:
+ (JSC::PropertySlot::getValue):
+ (JSC::PropertySlot::setCustom):
+ (JSC::PropertySlot::setCustomIndex):
+
+2010-03-01 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Bug 35537 - put_by_id does will incorrectly cache writes where a specific value exists,
+ where at the point of caching the same value is being written.
+
+ When performing a put_by_id that is replacing a property already present on the object,
+ there are three interesting cases regarding the state of the specific value:
+
+ (1) No specific value set - nothing to do, leave the structure in it's current state,
+ can cache.
+ (2) A specific value was set, the new put is not of a specified value (i.e. function),
+ or is of a different specific value - in these cases we need to perform a despecifying
+ transition to clear the specific value in the structure, but having done so this is a
+ normal property so as such we can again cache normally.
+ (3) A specific value was set, and we are overwriting with the same value - in these cases
+ leave the structure unchanged, but since a specific value is set we cannot cache this
+ put (we would need the JIT to dynamically check the value being written matched).
+
+ Unfortunately, the current behaviour does not match this. the checks for a specific value
+ being present & the value matching are combined in such a way that in case (2), above we
+ will unnecessarily prevent the transition being cached, but in case (3) we will incorrectly
+ fail to prevent caching.
+
+ The bug exposes itself if multiple puts of the same specific value are performed to a
+ property, and erroneously the put is allowed to be cached by the JIT. Method checks may be
+ generated caching calls of this structure. Subsequent puts performed from JIT code may
+ write different values without triggering a despecify transition, and as such cached method
+ checks will continue to pass, despite the value having changed.
+
+ * runtime/JSObject.h:
+ (JSC::JSObject::putDirectInternal):
+
+2010-03-01 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Fix the Qt build on Mac OS X/Cocoa 64-bit
+
+ * JavaScriptCore.pri: Add missing implementation file to resolve JSC symbols
+
+2010-02-26 Gavin Barraclough <barraclough@apple.com>
+
+ Rubber Stamped by Geoff Garen.
+
+ Remove wrec. All builds should have switched to yarr by now.
+
+ * Android.mk:
+ * GNUmakefile.am:
+ * JavaScriptCore.gypi:
+ * JavaScriptCore.pri:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
+ * JavaScriptCore.vcproj/jsc/jscCommon.vsprops:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * runtime/RegExp.cpp:
+ (JSC::RegExp::match):
+ * runtime/RegExp.h:
+ * wrec: Removed.
+ * wrec/CharacterClass.cpp: Removed.
+ * wrec/CharacterClass.h: Removed.
+ * wrec/CharacterClassConstructor.cpp: Removed.
+ * wrec/CharacterClassConstructor.h: Removed.
+ * wrec/Escapes.h: Removed.
+ * wrec/Quantifier.h: Removed.
+ * wrec/WREC.cpp: Removed.
+ * wrec/WREC.h: Removed.
+ * wrec/WRECFunctors.cpp: Removed.
+ * wrec/WRECFunctors.h: Removed.
+ * wrec/WRECGenerator.cpp: Removed.
+ * wrec/WRECGenerator.h: Removed.
+ * wrec/WRECParser.cpp: Removed.
+ * wrec/WRECParser.h: Removed.
+ * wscript:
+
+2010-02-26 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Make the lookup table generator include an explicit cast to expected
+ type of the function. We do this because otherwise the blind intptr_t
+ cast that is subsequently applied allows incorrectly typed functions
+ to be inserted into the table, where they will only fail at runtime.
+ This change makes such errors produce a compile time failure.
+
+ * create_hash_table:
+
+2010-02-26 Janne Koskinen <janne.p.koskinen@digia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Symbian specific getCPUTime implemetation
+ https://bugs.webkit.org/show_bug.cgi?id=34742
+
+ Default implementation doesn't work on Symbian devices.
+ This change adds a proper implementation by
+ asking thread execution time from the current thread.
+
+ * runtime/TimeoutChecker.cpp:
+ (JSC::getCPUTime):
+
+2010-02-25 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35406
+ <rdar://problem/6945502> Make generic array methods work with JavaArray
+
+ Renamed lazyCreationData to subclassData. This is extra data that can be used by JSArray
+ subclasses (you can't add new data members, because it wouldn't fit in JSCell otherwise).
+
+ * JavaScriptCore.exp:
+ * runtime/JSArray.cpp:
+ (JSC::JSArray::JSArray):
+ (JSC::JSArray::subclassData):
+ (JSC::JSArray::setSubclassData):
+ * runtime/JSArray.h:
+ * runtime/RegExpConstructor.cpp:
+ (JSC::RegExpMatchesArray::RegExpMatchesArray):
+ (JSC::RegExpMatchesArray::~RegExpMatchesArray):
+ (JSC::RegExpMatchesArray::fillArrayInstance):
+ * runtime/RegExpMatchesArray.h:
+ (JSC::RegExpMatchesArray::getOwnPropertySlot):
+ (JSC::RegExpMatchesArray::getOwnPropertyDescriptor):
+ (JSC::RegExpMatchesArray::put):
+ (JSC::RegExpMatchesArray::deleteProperty):
+ (JSC::RegExpMatchesArray::getOwnPropertyNames):
+
+2010-02-25 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ JSC crashes like crazy in the JSPropertyNameIterator destructor
+
+ Add back null check of m_cachedStructure. Curse last minute changes.
+
+ * runtime/JSPropertyNameIterator.cpp:
+ (JSC::JSPropertyNameIterator::~JSPropertyNameIterator):
+
+2010-02-25 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Race condition in JSPropertyNameIterator and Structure destruction
+ https://bugs.webkit.org/show_bug.cgi?id=35398
+
+ JSPropertyNameIterator and Structure have a cyclic dependency that they
+ manage by clearing the appropriate reference in each other during their
+ destruction. However if the Structure is destroyed while the
+ JSPropertyNameIterator is dead but not yet finalized the Structures
+ WeakGCPtr will return null, and so prevent Structure from clearing
+ the m_cachedStructure pointer of the iterator. When the iterator is
+ then finalised the m_cachedStructure is invalid, and the attempt to
+ clear the structures back reference fails.
+
+ To fix this we simply make JSPropertyNameIterator keep the Structure
+ alive, using the weak pointer to break the ref cycle.
+
+ * runtime/JSPropertyNameIterator.cpp:
+ (JSC::JSPropertyNameIterator::~JSPropertyNameIterator):
+ The iterator now keeps m_cachedStructure alive itself, so no longer needs
+ to check for it being cleared
+ * runtime/JSPropertyNameIterator.h:
+ (JSC::JSPropertyNameIterator::setCachedStructure):
+ Add an assertion to ensure correct usage
+ (JSC::JSPropertyNameIterator::cachedStructure):
+ Add .get()
+ * runtime/Structure.cpp:
+ (JSC::Structure::~Structure):
+ Add an assertion that our iterator isn't already dead, and remove
+ the now unnecessary attempt to clear the ref in the iterator
+ * runtime/WeakGCPtr.h:
+ (JSC::WeakGCPtr::hasDeadObject):
+ An assert-only function to allow us to assert correct behaviour
+ in the Structure destructor
+
+2010-02-25 Jochen Eisinger <jochen@chromium.org>
+
+ Reviewed by Jeremy Orlow.
+
+ Make the context that was passed to the ThreadFunction accessible.
+ https://bugs.webkit.org/show_bug.cgi?id=35379
+
+ When a database is opened, right now you
+ don't have any context from where it is opened. The problem is that
+ the actual calls that open a database go through the sqlite3 vfs
+ layer, so there's no easy way to pass this function down to to
+ platform/sql/chromium/SQLFileSystemChromium*.cpp
+
+ This patch will allow you to get from anywhere within webkit a pointer
+ to the Thread object that actually created the thread you're currently
+ on (in case of the database, this can be either a thread forked of
+ from the main thread or from a worker thread), and query the object
+ for context information.
+
+ * wtf/Threading.h:
+ * wtf/ThreadingNone.cpp:
+ (WTF::threadContext):
+ * wtf/ThreadingPthreads.cpp:
+ (WTF::):
+ (WTF::identifierByPthreadHandle):
+ (WTF::establishIdentifierForPthreadHandle):
+ (WTF::pthreadHandleForIdentifier):
+ (WTF::contextForIdentifier):
+ (WTF::createThreadInternal):
+ (WTF::currentThread):
+ (WTF::threadContext):
+ * wtf/ThreadingWin.cpp:
+ (WTF::):
+ (WTF::threadMap):
+ (WTF::storeThreadHandleByIdentifier):
+ (WTF::threadHandleForIdentifier):
+ (WTF::contextForIdentifier):
+ (WTF::createThreadInternal):
+ (WTF::threadContext):
+
+2010-02-25 Jeremy Orlow <jorlow@chromium.org>
+
+ Reverting to re-submit with better change log.
+
+ * wtf/Threading.h:
+ * wtf/ThreadingNone.cpp:
+ (WTF::isMainThread):
+ * wtf/ThreadingPthreads.cpp:
+ (WTF::identifierByPthreadHandle):
+ (WTF::establishIdentifierForPthreadHandle):
+ (WTF::pthreadHandleForIdentifier):
+ (WTF::createThreadInternal):
+ (WTF::currentThread):
+ * wtf/ThreadingWin.cpp:
+ (WTF::threadMap):
+ (WTF::storeThreadHandleByIdentifier):
+ (WTF::threadHandleForIdentifier):
+ (WTF::createThreadInternal):
+
+2010-02-25 Jochen Eisinger <jochen@chromium.org>
+
+ Reviewed by Jeremy Orlow.
+
+ Make the context that was passed to the ThreadFunction accessible.
+ https://bugs.webkit.org/show_bug.cgi?id=35379
+
+ * wtf/Threading.h:
+ * wtf/ThreadingNone.cpp:
+ (WTF::threadContext):
+ * wtf/ThreadingPthreads.cpp:
+ (WTF::):
+ (WTF::identifierByPthreadHandle):
+ (WTF::establishIdentifierForPthreadHandle):
+ (WTF::pthreadHandleForIdentifier):
+ (WTF::contextForIdentifier):
+ (WTF::createThreadInternal):
+ (WTF::currentThread):
+ (WTF::threadContext):
+ * wtf/ThreadingWin.cpp:
+ (WTF::):
+ (WTF::threadMap):
+ (WTF::storeThreadHandleByIdentifier):
+ (WTF::threadHandleForIdentifier):
+ (WTF::contextForIdentifier):
+ (WTF::createThreadInternal):
+ (WTF::threadContext):
+
+2010-02-24 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ [REGRESSION in r55185] EXC_BAD_ACCESS on opening inspector.
+ https://bugs.webkit.org/show_bug.cgi?id=35335
+
+ compileGetDirectOffset modifies the contents of the object register
+ when the object is not using the inline storage array. As the object
+ register contains our 'this' pointer we can't allow it to be clobbered.
+ The fix is simply to copy the register into a separate scratch register
+ when we're loading off an object that doesn't use inline storage.
+
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::privateCompileGetByIdSelfList):
+ * jit/JITPropertyAccess32_64.cpp:
+ (JSC::JIT::privateCompileGetByIdSelfList):
+
+2010-02-24 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Speed up getter performance in the jit
+ https://bugs.webkit.org/show_bug.cgi?id=35332
+
+ Implement getter lookup caching in the interpreter.
+ The getter stubs are generated through basically the
+ same code paths as the normal get_by_id caching.
+ Instead of simply loading a property and returning,
+ we load the getter slot, and pass the getter, base value
+ and return address to a shared stub used for getter
+ dispatch.
+
+ * jit/JIT.h:
+ (JSC::JIT::compileGetByIdProto):
+ (JSC::JIT::compileGetByIdSelfList):
+ (JSC::JIT::compileGetByIdProtoList):
+ (JSC::JIT::compileGetByIdChainList):
+ (JSC::JIT::compileGetByIdChain):
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::privateCompileGetByIdProto):
+ (JSC::JIT::privateCompileGetByIdSelfList):
+ (JSC::JIT::privateCompileGetByIdProtoList):
+ (JSC::JIT::privateCompileGetByIdChainList):
+ (JSC::JIT::privateCompileGetByIdChain):
+ * jit/JITPropertyAccess32_64.cpp:
+ (JSC::JIT::privateCompileGetByIdProto):
+ (JSC::JIT::privateCompileGetByIdSelfList):
+ (JSC::JIT::privateCompileGetByIdProtoList):
+ (JSC::JIT::privateCompileGetByIdChainList):
+ (JSC::JIT::privateCompileGetByIdChain):
+ * jit/JITStubs.cpp:
+ (JSC::JITThunks::tryCacheGetByID):
+ (JSC::DEFINE_STUB_FUNCTION):
+ * jit/JITStubs.h:
+ (JSC::):
+ * runtime/GetterSetter.h:
+
+2010-02-23 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Web Inspector: Regression: r55027+: Inspector broken
+ https://bugs.webkit.org/show_bug.cgi?id=35253
+
+ op_get_by_id_getter_chain was not passing the correct this parameter.
+ The bug was caused by incorrect use of baseCell instead of baseValue,
+ baseValue contains the original object for the lookup (and hence the
+ correct this object), baseCell is clobbered as part of walking the
+ prototype chain.
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+
+2010-02-23 Gustavo Noronha Silva <gns@gnome.org>
+
+ Rubber-stamped by Dimitri Glazkov.
+
+ Chromium build fix.
+
+ * JavaScriptCore.gyp/JavaScriptCore.gyp:
+
+2010-02-23 Leandro Pereira <leandro@profusion.mobi>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ Changes references of GOwnPtr to reflect their new place.
+ http://webkit.org/b/35084
+
+ * JavaScriptCore/JavaScriptCore.gypi:
+ * JavaScriptCore/wtf/Threading.h:
+ * JavaScriptCore/wtf/unicode/glib/UnicodeGLib.h:
+
+2010-02-23 Leandro Pereira <leandro@profusion.mobi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Adding the EFL implementation of JavaScriptCore.
+ See https://bugs.webkit.org/show_bug.cgi?id=35084 for details.
+
+ * GNUmakefile.am: Updated to reflect the new location of GOwnPtr and
+ GRefPtr.
+ * wtf/efl/MainThreadEfl.cpp: Added.
+ * wtf/gobject/GOwnPtr.cpp: Moved from wtf/gtk.
+ * wtf/gobject/GOwnPtr.h: Moved from wtf/gtk.
+ * wtf/gobject/GRefPtr.cpp: Moved from wtf/gtk.
+ * wtf/gobject/GRefPtr.h: Moved from wtf/gtk.
+
+2010-02-22 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Remove auto_ptr usage in JavaScriptCore.
+ https://bugs.webkit.org/show_bug.cgi?id=35221
+
+ * parser/Nodes.h: Removed now unneeded adopt method.
+ * parser/Parser.cpp: Removed <memory> include as it is not required anymore.
+ * wtf/OwnPtr.h: Removed the constructor from auto_ptr.
+ * wtf/VectorTraits.h: Removed a template specialization for auto_ptr.
+ * wtf/unicode/Collator.h: Made userDefault return a PassOwnPtr.
+ * wtf/unicode/CollatorDefault.cpp:
+ (WTF::Collator::userDefault): Changed the method to match the next signature.
+ * wtf/unicode/icu/CollatorICU.cpp:
+ (WTF::Collator::userDefault): Ditto.
+
+2010-02-22 Huahui Wu <hwu@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Add code that enables SquirrelFish Extreme (a.k.a JSCX, JSC JIT)
+ in Android. It's disabled by default, but is enabled when the
+ enveronment variable ENABLE_JSC_JIT is set to true.
+ https://bugs.webkit.org/show_bug.cgi?id=34855
+
+ * Android.mk:
+ * wtf/Platform.h:
+
+2010-02-22 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ JSStringBuilder should not CRASH if allocation fails, it should throw a JSException.
+
+ * runtime/JSGlobalObjectFunctions.cpp:
+ * runtime/JSStringBuilder.h:
+ (JSC::JSStringBuilder::JSStringBuilder):
+ (JSC::JSStringBuilder::append):
+ (JSC::JSStringBuilder::build):
+ * runtime/StringBuilder.h:
+ (JSC::StringBuilder::build):
+ * wtf/Vector.h:
+ (WTF::VectorBufferBase::tryAllocateBuffer):
+ (WTF::):
+ (WTF::VectorBuffer::tryAllocateBuffer):
+ (WTF::::tryExpandCapacity):
+ (WTF::::tryReserveCapacity):
+ (WTF::::tryAppend):
+
+2010-02-22 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Map FastMalloc to BREW memory allocator
+ https://bugs.webkit.org/show_bug.cgi?id=33570
+
+ Use MALLOC macro instead of the standard malloc function.
+ Although RVCT provides malloc, we can't use it in BREW
+ because the loader does not initialize the base address properly.
+
+ * wtf/FastMalloc.cpp:
+ * wtf/brew/SystemMallocBrew.h: Added.
+ (mallocBrew):
+ (callocBrew):
+ (freeBrew):
+ (reallocBrew):
+
+2010-02-22 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Build fix for make distcheck.
+
+ * GNUmakefile.am:
+
+2010-02-22 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Unreviewed build fix.
+
+ [Qt] Build fix for RVCT.
+
+ Fix after r55024. The "-i" option is for perl not for the
+ script.
+
+ * DerivedSources.pro:
+
+2010-02-21 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Make UString::m_data be const, and make the UChar owned/ref-counted by CrossThreadRefCounted be const too.
+
+ * runtime/UStringImpl.cpp:
+ (JSC::UStringImpl::baseSharedBuffer):
+ (JSC::UStringImpl::~UStringImpl):
+ * runtime/UStringImpl.h:
+ (JSC::UStringImpl::create):
+ (JSC::UStringImpl::data):
+ (JSC::UStringImpl::UStringImpl):
+ * wtf/OwnFastMallocPtr.h:
+ (WTF::OwnFastMallocPtr::~OwnFastMallocPtr):
+
+2010-02-21 Yuta Kitamura <yutak@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ HashMapTranslatorAdapter::translate() needs to set the mapped value.
+
+ HTTPHeaderMap::add(const char*, const String&) does not work
+ https://bugs.webkit.org/show_bug.cgi?id=35227
+
+ * wtf/HashMap.h:
+ (WTF::HashMapTranslatorAdapter::translate):
+
+2010-02-19 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by David Levin.
+
+ Add an ENABLE flag for sandboxed iframes to make it possible to disable it in releases
+ https://bugs.webkit.org/show_bug.cgi?id=35147
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2010-02-19 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ JSString::getIndex() calls value() to resolve the string value (is a rope)
+ to a UString, then passes the result to jsSingleCharacterSubstring without
+ checking for an exception. In case of out-of-memory the returned UString
+ is null(), which may result in an out-of-buounds substring being created.
+ This is bad.
+
+ Simple fix is to be able to get an index from a rope without resolving to
+ UString. This may be a useful optimization in some test cases.
+
+ The same bug exists in some other methods is JSString, these can be fixed
+ by changing them to call getIndex().
+
+ * runtime/JSString.cpp:
+ (JSC::JSString::resolveRope):
+ (JSC::JSString::getStringPropertyDescriptor):
+ * runtime/JSString.h:
+ (JSC::jsSingleCharacterSubstring):
+ (JSC::JSString::getIndex):
+ (JSC::jsSingleCharacterString):
+ (JSC::JSString::getStringPropertySlot):
+ * runtime/UStringImpl.cpp:
+ (JSC::singleCharacterSubstring):
+ * runtime/UStringImpl.h:
+ (JSC::UStringImpl::singleCharacterSubstring):
+
+2010-02-19 Oliver Hunt <oliver@apple.com>
+
+ RS = Gavin Barraclough.
+
+ Split the 32/64 version of JITPropertyAccess into a separate file.
+
+ * GNUmakefile.am:
+ * JavaScriptCore.gypi:
+ * JavaScriptCore.pri:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * jit/JITPropertyAccess.cpp:
+ * jit/JITPropertyAccess32_64.cpp: Added.
+ (JSC::JIT::emit_op_put_by_index):
+ (JSC::JIT::emit_op_put_getter):
+ (JSC::JIT::emit_op_put_setter):
+ (JSC::JIT::emit_op_del_by_id):
+ (JSC::JIT::emit_op_method_check):
+ (JSC::JIT::emitSlow_op_method_check):
+ (JSC::JIT::emit_op_get_by_val):
+ (JSC::JIT::emitSlow_op_get_by_val):
+ (JSC::JIT::emit_op_put_by_val):
+ (JSC::JIT::emitSlow_op_put_by_val):
+ (JSC::JIT::emit_op_get_by_id):
+ (JSC::JIT::emitSlow_op_get_by_id):
+ (JSC::JIT::emit_op_put_by_id):
+ (JSC::JIT::emitSlow_op_put_by_id):
+ (JSC::JIT::compileGetByIdHotPath):
+ (JSC::JIT::compileGetByIdSlowCase):
+ (JSC::JIT::compilePutDirectOffset):
+ (JSC::JIT::compileGetDirectOffset):
+ (JSC::JIT::testPrototype):
+ (JSC::JIT::privateCompilePutByIdTransition):
+ (JSC::JIT::patchGetByIdSelf):
+ (JSC::JIT::patchMethodCallProto):
+ (JSC::JIT::patchPutByIdReplace):
+ (JSC::JIT::privateCompilePatchGetArrayLength):
+ (JSC::JIT::privateCompileGetByIdProto):
+ (JSC::JIT::privateCompileGetByIdSelfList):
+ (JSC::JIT::privateCompileGetByIdProtoList):
+ (JSC::JIT::privateCompileGetByIdChainList):
+ (JSC::JIT::privateCompileGetByIdChain):
+ (JSC::JIT::emit_op_get_by_pname):
+ (JSC::JIT::emitSlow_op_get_by_pname):
+
+2010-02-19 Patrick Gansterer <paroga@paroga.com>
+
+ Reviewed by Laszlo Gombos.
+
+ Added additional parameter to create_rvct_stubs
+ for setting the regularexpression prefix.
+ Renamed it because it now works for other platforms too.
+ https://bugs.webkit.org/show_bug.cgi?id=34951
+
+ * DerivedSources.pro:
+ * create_jit_stubs: Copied from JavaScriptCore/create_rvct_stubs.
+ * create_rvct_stubs: Removed.
+
+2010-02-18 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Improve interpreter getter performance
+ https://bugs.webkit.org/show_bug.cgi?id=35138
+
+ Improve the performance of getter dispatch by making it possible
+ for the interpreter to cache the GetterSetter object lookup.
+
+ To do this we simply need to make PropertySlot aware of getters
+ as a potentially cacheable property, and record the base and this
+ objects for a getter access. This allows us to use more-or-less
+ identical code to that used by the normal get_by_id caching, with
+ the dispatch being the only actual difference.
+
+ I'm holding off of implementing this in the JIT until I do some
+ cleanup to try and making coding in the JIT not be as horrible
+ as it is currently.
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::dump):
+ (JSC::CodeBlock::derefStructures):
+ (JSC::CodeBlock::refStructures):
+ * bytecode/Opcode.h:
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::resolveGlobal):
+ (JSC::Interpreter::tryCacheGetByID):
+ (JSC::Interpreter::privateExecute):
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompileMainPass):
+ * jit/JITStubs.cpp:
+ (JSC::JITThunks::tryCacheGetByID):
+ (JSC::DEFINE_STUB_FUNCTION):
+ * runtime/JSObject.cpp:
+ (JSC::JSObject::fillGetterPropertySlot):
+ * runtime/PropertySlot.cpp:
+ (JSC::PropertySlot::functionGetter):
+ * runtime/PropertySlot.h:
+ (JSC::PropertySlot::isGetter):
+ (JSC::PropertySlot::isCacheable):
+ (JSC::PropertySlot::isCacheableValue):
+ (JSC::PropertySlot::setValueSlot):
+ (JSC::PropertySlot::setGetterSlot):
+ (JSC::PropertySlot::setCacheableGetterSlot):
+ (JSC::PropertySlot::clearOffset):
+ (JSC::PropertySlot::thisValue):
+
+2010-02-17 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Fixed a portion of:
+ <rdar://problem/7165917> | https://bugs.webkit.org/show_bug.cgi?id=28676
+ Safari 4 does not release memory back to the operating system fast enough (28676)
+
+ This patch fixes a surprisingly common edge case in which the page heap
+ would have only one free span, but that span would be larger than the
+ minimum free size, so we would decide not to free it, even though it
+ could be as large as 100MB or more!
+
+ SunSpider reports no change on Mac or Windows.
+
+ * wtf/FastMalloc.cpp:
+ (WTF::TCMalloc_PageHeap::scavenge): Call shouldContinueScavenging() instead
+ of doing the math ourselves. Don't keep a local value for pagesDecommitted
+ because that lets free_committed_pages_ be wrong temporarily. Instead,
+ update free_committed_pages_ as we go. ASSERT that we aren't releasing
+ a span that has already been released, because we think this is impossible.
+ Finally, don't be afraid to release all free memory in the page heap when
+ scavenging. We only scavenge after 5 seconds of the application's working
+ set not growing, and we keep both thread caches and a central cache on
+ top of the page heap, so the extra free pages in the page heap were just
+ overkill.
+
+2010-02-17 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35070
+ Addition of 2 strings of length 2^31 may result in a string of length 0.
+
+ Check for overflow when creating a new JSString as a result of an addition
+ or concatenation, throw an out of memory exception.
+
+ * runtime/JSString.h:
+ (JSC::):
+ * runtime/Operations.h:
+ (JSC::jsString):
+
+2010-02-17 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ [Linux] Webkit incompatible with Java plugins
+ https://bugs.webkit.org/show_bug.cgi?id=24912
+
+ Add support for GFile to GOwnPtr.
+
+ Based on original work by Gustavo Noronha.
+
+ * wtf/gtk/GOwnPtr.cpp:
+ (WTF::GFile):
+ * wtf/gtk/GOwnPtr.h:
+
+2010-02-16 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Fix a handful of other leaks seen on the buildbot.
+
+ * runtime/UStringImpl.h:
+ (JSC::UStringOrRopeImpl::deref): Delegate through to the subclass version of deref to ensure that
+ the correct cleanup takes place. This function previously featured some code that attempted to
+ skip deletion of static UStringImpl's. Closer inspection revealed that it was in fact equivalent
+ to "if (false)", meaning that UStringImpl's which had their final deref performed via this function
+ were leaked.
+
+2010-02-16 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Fix a handful of leaks seen on the buildbot.
+
+ * runtime/UStringImpl.h:
+ (JSC::UStringOrRopeImpl::deref): Call URopeImpl::destructNonRecursive rather than delete
+ to ensure that the rope's fibers are also destroyed.
+
+2010-02-16 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34964
+ Leaks tool reports false memory leaks due to Rope implementation.
+
+ A rope is a recursive data structure where each node in the rope holds a set of
+ pointers, each of which may reference either a string (in UStringImpl form) or
+ another rope node. A low bit in each pointer is used to distinguish between
+ rope & string elements, in a fashion similar to the recently-removed
+ PtrAndFlags class (see https://bugs.webkit.org/show_bug.cgi?id=33731 ). Again,
+ this causes a problem for Leaks - refactor to remove the magic pointer
+ mangling.
+
+ Move Rope out from JSString.h and rename to URopeImpl, to match UStringImpl.
+ Give UStringImpl and URopeImpl a common parent class, UStringOrRopeImpl.
+ Repurpose an otherwise invalid permutation to flags (static & should report
+ memory cost) to identify ropes.
+
+ This allows us to change the rope's fibers to interrogate the object rather
+ than storing a bool within the low bits of the pointer (or in some cases the
+ use of a common parent class removes the need to determine the type at all -
+ there is a common interface to ref or get the length of either ropes or strings).
+
+ * API/JSClassRef.cpp:
+ (OpaqueJSClass::OpaqueJSClass):
+ (OpaqueJSClassContextData::OpaqueJSClassContextData):
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::keyForCharacterSwitch):
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+ * jit/JITStubs.cpp:
+ (JSC::DEFINE_STUB_FUNCTION):
+ * runtime/ArrayPrototype.cpp:
+ (JSC::arrayProtoFuncToString):
+ * runtime/Identifier.cpp:
+ (JSC::Identifier::equal):
+ (JSC::Identifier::addSlowCase):
+ * runtime/JSString.cpp:
+ (JSC::JSString::resolveRope):
+ * runtime/JSString.h:
+ (JSC::):
+ (JSC::RopeBuilder::JSString):
+ (JSC::RopeBuilder::~JSString):
+ (JSC::RopeBuilder::appendStringInConstruct):
+ (JSC::RopeBuilder::appendValueInConstructAndIncrementLength):
+ (JSC::RopeBuilder::JSStringFinalizerStruct::JSStringFinalizerStruct):
+ (JSC::RopeBuilder::JSStringFinalizerStruct::):
+ * runtime/UString.cpp:
+ (JSC::UString::toStrictUInt32):
+ (JSC::equal):
+ * runtime/UString.h:
+ (JSC::UString::isEmpty):
+ (JSC::UString::size):
+ * runtime/UStringImpl.cpp:
+ (JSC::URopeImpl::derefFibersNonRecursive):
+ (JSC::URopeImpl::destructNonRecursive):
+ * runtime/UStringImpl.h:
+ (JSC::UStringOrRopeImpl::isRope):
+ (JSC::UStringOrRopeImpl::length):
+ (JSC::UStringOrRopeImpl::ref):
+ (JSC::UStringOrRopeImpl::):
+ (JSC::UStringOrRopeImpl::operator new):
+ (JSC::UStringOrRopeImpl::UStringOrRopeImpl):
+ (JSC::UStringImpl::adopt):
+ (JSC::UStringImpl::createUninitialized):
+ (JSC::UStringImpl::tryCreateUninitialized):
+ (JSC::UStringImpl::data):
+ (JSC::UStringImpl::cost):
+ (JSC::UStringImpl::deref):
+ (JSC::UStringImpl::UStringImpl):
+ (JSC::UStringImpl::):
+ (JSC::URopeImpl::tryCreateUninitialized):
+ (JSC::URopeImpl::initializeFiber):
+ (JSC::URopeImpl::fiberCount):
+ (JSC::URopeImpl::fibers):
+ (JSC::URopeImpl::deref):
+ (JSC::URopeImpl::URopeImpl):
+ (JSC::URopeImpl::hasOneRef):
+ (JSC::UStringOrRopeImpl::deref):
+
+2010-02-15 Gabor Loki <loki@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Fix the SP at ctiOpThrowNotCaught on Thumb2 (JSVALUE32)
+ https://bugs.webkit.org/show_bug.cgi?id=34939
+
+ * jit/JITStubs.cpp:
+
+2010-02-15 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (Build Fix!).
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2010-02-15 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Some general Rope related refactoring.
+
+ Rename Rope::m_ropeLength to m_fiberCount, to be more descriptive.
+ Rename Rope::m_stringLength to simply m_length (since this is the
+ more conventional name for the length of a string). Move append
+ behaviour out into a new RopeBuilder class, so that Rope no longer
+ needs any knowledge of the JSString or UString implementation.
+
+ Make Rope no longer be nested within JSString.
+ (Rope now no-longer need reside within JSString.h, but leaving
+ the change of moving this out to a different header as a separate
+ change from these renames).
+
+ * JavaScriptCore.exp:
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::privateCompileCTIMachineTrampolines):
+ * runtime/JSString.cpp:
+ (JSC::Rope::destructNonRecursive):
+ (JSC::Rope::~Rope):
+ (JSC::JSString::resolveRope):
+ (JSC::JSString::toBoolean):
+ (JSC::JSString::getStringPropertyDescriptor):
+ * runtime/JSString.h:
+ (JSC::Rope::Fiber::Fiber):
+ (JSC::Rope::Fiber::deref):
+ (JSC::Rope::Fiber::ref):
+ (JSC::Rope::Fiber::refAndGetLength):
+ (JSC::Rope::Fiber::isRope):
+ (JSC::Rope::Fiber::rope):
+ (JSC::Rope::Fiber::isString):
+ (JSC::Rope::Fiber::string):
+ (JSC::Rope::Fiber::nonFiber):
+ (JSC::Rope::tryCreateUninitialized):
+ (JSC::Rope::append):
+ (JSC::Rope::fiberCount):
+ (JSC::Rope::length):
+ (JSC::Rope::fibers):
+ (JSC::Rope::Rope):
+ (JSC::Rope::operator new):
+ (JSC::):
+ (JSC::RopeBuilder::JSString):
+ (JSC::RopeBuilder::~JSString):
+ (JSC::RopeBuilder::length):
+ (JSC::RopeBuilder::canGetIndex):
+ (JSC::RopeBuilder::appendStringInConstruct):
+ (JSC::RopeBuilder::appendValueInConstructAndIncrementLength):
+ (JSC::RopeBuilder::isRope):
+ (JSC::RopeBuilder::fiberCount):
+ (JSC::JSString::getStringPropertySlot):
+ * runtime/Operations.h:
+ (JSC::jsString):
+
+2010-02-15 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (Build fix).
+
+ Add missing cast for !YARR (PPC) builds.
+
+ * runtime/RegExp.cpp:
+ (JSC::RegExp::match):
+
+2010-02-14 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33731
+ Many false leaks in release builds due to PtrAndFlags
+
+ StructureTransitionTable was effectively a smart pointer type,
+ one machine word in size and wholly contained as a member of
+ of Structure. It either pointed to an actual table, or could
+ be used to describe a single transtion entry without use of a
+ table.
+
+ This, however, worked by using a PtrAndFlags, which is not
+ compatible with the leaks tool. Since there is no clear way to
+ obtain another bit for 'free' here, and since there are bits
+ available up in Structure, merge this functionality back up into
+ Structure. Having this in a separate class was quite clean
+ from an enacapsulation perspective, but this solution doesn't
+ seem to bad - all table access is now intermediated through the
+ Structure::structureTransitionTableFoo methods, keeping the
+ optimization fairly well contained.
+
+ This was the last use of PtrAndFlags, so removing the file too.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * bytecode/CodeBlock.h:
+ * runtime/Structure.cpp:
+ (JSC::Structure::Structure):
+ (JSC::Structure::~Structure):
+ (JSC::Structure::addPropertyTransitionToExistingStructure):
+ (JSC::Structure::addPropertyTransition):
+ (JSC::Structure::hasTransition):
+ * runtime/Structure.h:
+ (JSC::Structure::):
+ (JSC::Structure::structureTransitionTableContains):
+ (JSC::Structure::structureTransitionTableGet):
+ (JSC::Structure::structureTransitionTableHasTransition):
+ (JSC::Structure::structureTransitionTableRemove):
+ (JSC::Structure::structureTransitionTableAdd):
+ (JSC::Structure::structureTransitionTable):
+ (JSC::Structure::setStructureTransitionTable):
+ (JSC::Structure::singleTransition):
+ (JSC::Structure::setSingleTransition):
+ * runtime/StructureTransitionTable.h:
+ * wtf/PtrAndFlags.h: Removed.
+
+2010-02-15 Gavin Barraclough <barraclough@apple.com>
+
+ Rubber Stamped by Geoff Garen.
+
+ Bug 34948 - tryMakeString should fail on error in length calculation
+
+ Ooops! - "bool overflow" argument should have been "bool& overflow".
+
+ * runtime/UString.h:
+ (JSC::sumWithOverflow):
+ (JSC::tryMakeString):
+
+2010-02-15 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (Build Fix (pt 2!)).
+
+ Some symbol names have changed, remove, will readd if required.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2010-02-15 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (Build Fix (pt 1?)).
+
+ Some symbol names have changed, remove, will readd if required.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2010-02-15 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Removed some mistaken code added in http://trac.webkit.org/changeset/53860.
+
+ * API/APIShims.h:
+ (JSC::APICallbackShim::APICallbackShim):
+ (JSC::APICallbackShim::~APICallbackShim): No need to start/stop the
+ timeout checker when calling out from the API to the client; we want to
+ monitor the VM for timeouts, not the client. This mistake was harmless /
+ undetectable, since it's totally redundant with the APIEntryShim, which
+ also starts / stops the timeout checker.
+
+2010-02-15 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Bug 34952 - String lengths in UString should be unsigned.
+ This matches WebCore::StringImpl, and better unifies behaviour throughout JSC.
+
+ * JavaScriptCore.exp:
+ * bytecode/EvalCodeCache.h:
+ * runtime/Identifier.cpp:
+ (JSC::Identifier::equal):
+ * runtime/Identifier.h:
+ * runtime/JSGlobalObjectFunctions.cpp:
+ (JSC::globalFuncEscape):
+ * runtime/JSONObject.cpp:
+ (JSC::gap):
+ (JSC::Stringifier::indent):
+ * runtime/NumberPrototype.cpp:
+ (JSC::numberProtoFuncToFixed):
+ (JSC::numberProtoFuncToPrecision):
+ * runtime/RegExp.cpp:
+ (JSC::RegExp::match):
+ * runtime/StringPrototype.cpp:
+ (JSC::substituteBackreferencesSlow):
+ (JSC::stringProtoFuncReplace):
+ (JSC::stringProtoFuncSplit):
+ (JSC::trimString):
+ * runtime/UString.cpp:
+ (JSC::UString::UString):
+ (JSC::UString::from):
+ (JSC::UString::getCString):
+ (JSC::UString::ascii):
+ (JSC::UString::operator[]):
+ (JSC::UString::toStrictUInt32):
+ (JSC::UString::find):
+ (JSC::UString::rfind):
+ (JSC::UString::substr):
+ (JSC::operator<):
+ (JSC::operator>):
+ (JSC::compare):
+ (JSC::equal):
+ (JSC::UString::UTF8String):
+ * runtime/UString.h:
+ (JSC::UString::size):
+ (JSC::operator==):
+ * runtime/UStringImpl.cpp:
+ (JSC::UStringImpl::create):
+ * runtime/UStringImpl.h:
+ (JSC::UStringImpl::create):
+ (JSC::UStringImpl::size):
+ (JSC::UStringImpl::computeHash):
+ (JSC::UStringImpl::UStringImpl):
+
+2010-02-15 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Bug 34948 - tryMakeString should fail on error in length calculation
+
+ The sum of the length of substrings could overflow.
+
+ * runtime/UString.h:
+ (JSC::sumWithOverflow):
+ (JSC::tryMakeString):
+
+2010-02-15 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Fixed <rdar://problem/7628524> Crash beneath JSGlobalContextRelease when
+ typing in Google search field with GuardMalloc/full page heap enabled
+
+ * API/JSContextRef.cpp: Don't use APIEntryShim, since that requires
+ a JSGlobalData, which this function destroys. Do use setCurrentIdentifierTable
+ and JSLock instead, since those are the two features of APIEntryShim we
+ require.
+
+2010-02-15 Patrick Gansterer <paroga@paroga.com>
+
+ Reviewed by Laszlo Gombos.
+
+ Added additional parameter to create_rvct_stubs
+ for setting the offset of thunkReturnAddress.
+ https://bugs.webkit.org/show_bug.cgi?id=34657
+
+ * create_rvct_stubs:
+ * jit/JITStubs.cpp:
+
+2010-02-15 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Fix QScriptValue::toIntXX methods.
+
+ More ECMA Script compliance.
+
+ [Qt] QScriptValue::toIntXX returns incorrect values
+ https://bugs.webkit.org/show_bug.cgi?id=34847
+
+ * qt/api/qscriptvalue_p.h:
+ (QScriptValuePrivate::toInteger):
+ (QScriptValuePrivate::toInt32):
+ (QScriptValuePrivate::toUInt32):
+ (QScriptValuePrivate::toUInt16):
+ * qt/tests/qscriptvalue/tst_qscriptvalue.h:
+ * qt/tests/qscriptvalue/tst_qscriptvalue_generated.cpp:
+ (tst_QScriptValue::toInteger_initData):
+ (tst_QScriptValue::toInteger_makeData):
+ (tst_QScriptValue::toInteger_test):
+ (tst_QScriptValue::toInt32_initData):
+ (tst_QScriptValue::toInt32_makeData):
+ (tst_QScriptValue::toInt32_test):
+ (tst_QScriptValue::toUInt32_initData):
+ (tst_QScriptValue::toUInt32_makeData):
+ (tst_QScriptValue::toUInt32_test):
+ (tst_QScriptValue::toUInt16_initData):
+ (tst_QScriptValue::toUInt16_makeData):
+ (tst_QScriptValue::toUInt16_test):
+
+2010-02-14 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Adam Barth.
+
+ Implement NEVER_INLINE and NO_RETURN for RVCT
+ https://bugs.webkit.org/show_bug.cgi?id=34740
+
+ * wtf/AlwaysInline.h:
+
+2010-02-12 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33731
+ Remove uses of PtrAndFlags from JIT data stuctures.
+
+ These break the OS X Leaks tool. Free up a bit in CallLinkInfo, and invalid
+ permutation of pointer states in MethodCallLinkInfo to represent the removed bits.
+
+ * bytecode/CodeBlock.h:
+ (JSC::CallLinkInfo::seenOnce):
+ (JSC::CallLinkInfo::setSeen):
+ (JSC::MethodCallLinkInfo::MethodCallLinkInfo):
+ (JSC::MethodCallLinkInfo::seenOnce):
+ (JSC::MethodCallLinkInfo::setSeen):
+ * jit/JIT.cpp:
+ (JSC::JIT::unlinkCall):
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::patchMethodCallProto):
+ * runtime/UString.h:
+
+2010-02-12 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33731
+ Many false leaks in release builds due to PtrAndFlags
+
+ Remove UntypedPtrAndBitfield (similar to PtrAndFlags) in UStringImpl,
+ and steal bits from the refCount instead.
+
+ * runtime/UStringImpl.cpp:
+ (JSC::UStringImpl::baseSharedBuffer):
+ (JSC::UStringImpl::~UStringImpl):
+ * runtime/UStringImpl.h:
+ (JSC::UStringImpl::cost):
+ (JSC::UStringImpl::isIdentifier):
+ (JSC::UStringImpl::setIsIdentifier):
+ (JSC::UStringImpl::ref):
+ (JSC::UStringImpl::deref):
+ (JSC::UStringImpl::UStringImpl):
+ (JSC::UStringImpl::bufferOwnerString):
+ (JSC::UStringImpl::bufferOwnership):
+ (JSC::UStringImpl::isStatic):
+ (JSC::UStringImpl::):
+
+2010-02-12 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Removed an unnecessary data dependency from my last patch.
+
+ * runtime/SmallStrings.cpp:
+ (JSC::SmallStrings::markChildren): Since isAnyStringMarked being false
+ is a condition of entering the loop, we can just use '=' instead of '|='.
+
+2010-02-12 Janne Koskinen <janne.p.koskinen@digia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Additional refptr/passrefptr workarounds for WINSCW compiler
+ https://bugs.webkit.org/show_bug.cgi?id=28054
+
+ * wtf/PassRefPtr.h:
+ (WTF::refIfNotNull):
+ (WTF::PassRefPtr::PassRefPtr):
+ (WTF::PassRefPtr::~PassRefPtr):
+ (WTF::PassRefPtr::clear):
+ (WTF::::operator):
+ * wtf/RefPtr.h:
+ (WTF::RefPtr::RefPtr):
+ (WTF::::operator):
+
+2010-02-12 Janne Koskinen <janne.p.koskinen@digia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Additional refptr/passrefptr workarounds for WINSCW compiler
+ https://bugs.webkit.org/show_bug.cgi?id=28054
+
+ * wtf/PassRefPtr.h:
+ (WTF::refIfNotNull):
+ (WTF::PassRefPtr::PassRefPtr):
+ (WTF::PassRefPtr::~PassRefPtr):
+ (WTF::PassRefPtr::clear):
+ (WTF::::operator):
+ * wtf/RefPtr.h:
+ (WTF::RefPtr::RefPtr):
+ (WTF::::operator):
+
+2010-02-12 Janne Koskinen <janne.p.koskinen@digia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Additional refptr/passrefptr workarounds for WINSCW compiler
+ https://bugs.webkit.org/show_bug.cgi?id=28054
+
+ * wtf/PassRefPtr.h:
+ (WTF::refIfNotNull):
+ (WTF::PassRefPtr::PassRefPtr):
+ (WTF::PassRefPtr::~PassRefPtr):
+ (WTF::PassRefPtr::clear):
+ (WTF::::operator):
+ * wtf/RefPtr.h:
+ (WTF::RefPtr::RefPtr):
+ (WTF::::operator):
+
+2010-02-12 Janne Koskinen <janne.p.koskinen@digia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Don't import the cmath functions from std:: for WINSCW.
+
+ * wtf/MathExtras.h:
+
+2010-02-12 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Adam Barth.
+
+ Typedef both JSChar and UChar to wchar_t in RVCT.
+ https://bugs.webkit.org/show_bug.cgi?id=34560
+
+ Define both JSChar and UChar to wchar_t as the size
+ of wchar_t is 2 bytes in RVCT.
+
+ * API/JSStringRef.h:
+ * wtf/unicode/qt4/UnicodeQt4.h:
+
+2010-02-11 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt and Darin Adler.
+
+ The rest of the fix for
+ https://bugs.webkit.org/show_bug.cgi?id=34864 | <rdar://problem/7594198>
+ Many objects left uncollected after visiting mail.google.com and closing
+ window
+
+ Don't unconditionally hang onto small strings. Instead, hang onto all
+ small strings as long as any small string is still referenced.
+
+ SunSpider reports no change.
+
+ * runtime/Collector.cpp:
+ (JSC::Heap::markRoots): Mark the small strings cache last, so it can
+ check if anything else has kept any strings alive.
+
+ * runtime/SmallStrings.cpp:
+ (JSC::isMarked):
+ (JSC::SmallStrings::markChildren): Only keep our strings alive if some
+ other reference to at least one of them exists, too.
+
+2010-02-11 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Some progress toward fixing
+ https://bugs.webkit.org/show_bug.cgi?id=34864 | <rdar://problem/7594198>
+ Many objects left uncollected after visiting mail.google.com and closing
+ window
+
+ SunSpider reports no change.
+
+ Keep weak references, rather than protected references, to cached for-in
+ property name enumerators.
+
+ One problem with protected references is that a chain like
+ [ gc object 1 ] => [ non-gc object ] => [ gc object 2 ]
+ takes two GC passes to break, since the first pass collects [ gc object 1 ],
+ releasing [ non-gc object ] and unprotecting [ gc object 2 ], and only
+ then can a second pass collect [ gc object 2 ].
+
+ Another problem with protected references is that they can keep a bunch
+ of strings alive long after they're useful. In SunSpider and a few popular
+ websites, the size-speed tradeoff seems to favor weak references.
+
+ * runtime/JSPropertyNameIterator.cpp:
+ (JSC::JSPropertyNameIterator::JSPropertyNameIterator): Moved this constructor
+ into the .cpp file, since it's not used elsewhere.
+
+ (JSC::JSPropertyNameIterator::~JSPropertyNameIterator): Added a destructor
+ to support our weak reference.
+
+ * runtime/JSPropertyNameIterator.h:
+ (JSC::Structure::setEnumerationCache):
+ (JSC::Structure::clearEnumerationCache):
+ (JSC::Structure::enumerationCache): Added a function for clearing a
+ Structure's enumeration cache, used by our new destructor. Also fixed
+ indentation to match the rest of the file.
+
+ * runtime/Structure.h: Changed from protected pointer to weak pointer.
+
+2010-02-11 Chris Rogers <crogers@google.com>
+
+ Reviewed by David Levin.
+
+ audio engine: add Complex number class
+ https://bugs.webkit.org/show_bug.cgi?id=34538
+
+ * wtf/Complex.h: Added.
+ (WebCore::complexFromMagnitudePhase):
+
+2010-02-10 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Added an SPI for asking about all the different live objects on the heap.
+ Useful for memory debugging.
+
+ * JavaScriptCore.exp: Export the new SPI.
+
+ * runtime/Collector.cpp:
+ (JSC::typeName): Use a little capitalization. Don't crash in the case of
+ a non-object cell, since it might just be an uninitialized cell.
+
+ (JSC::Heap::objectTypeCounts): The new SPI.
+
+ * runtime/Collector.h:
+ * runtime/CollectorHeapIterator.h:
+ (JSC::CollectorHeapIterator::advance):
+ (JSC::LiveObjectIterator::operator++):
+ (JSC::DeadObjectIterator::operator++):
+ (JSC::ObjectIterator::operator++): Made 2 tweaks to these iterators:
+ (1) Skip the last cell in the block, since it's a dummy sentinel, and
+ we don't want it to confuse the object count; (2) Fixed a logic error
+ in LiveObjectIterator that could cause it to iterate dead objects if
+ m_block were equal to m_heap.nextBlock and m_cell were less than
+ m_heap.nextCell. No test for this since I can't think of a way that this
+ could make WebKit behave badly.
+
+2010-02-11 Steve Block <steveblock@google.com>
+
+ Reviewed by Darin Adler.
+
+ Guard cmath using declarations in MathExtras.h on Android
+ https://bugs.webkit.org/show_bug.cgi?id=34840
+
+ Android does not provide these functions.
+
+ * wtf/MathExtras.h:
+
+2010-02-08 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Cameron Zwarich.
+
+ Restore ENABLE_RUBY flag so vendors can ship with Ruby disabled if they choose.
+ https://bugs.webkit.org/show_bug.cgi?id=34698
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2010-02-10 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ [wx] Add Windows complex text support and Mac support for containsCharacters.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34759
+
+ * wscript:
+
+2010-02-10 Alexey Proskuryakov <ap@apple.com>
+
+ Addressing issues found by style bot.
+
+ * wtf/ValueCheck.h: Renamed header guard to match final file name.
+
+ * wtf/Vector.h: (WTF::::checkConsistency): Remove braces around a one-line clause.
+
+2010-02-09 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34490
+ WebCore::ImageEventSender::dispatchPendingEvents() crashes in certain conditions
+
+ * GNUmakefile.am:
+ * JavaScriptCore.gypi:
+ * JavaScriptCore.vcproj/WTF/WTF.vcproj:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ Added ValueCheck.h.
+
+ * wtf/ValueCheck.h: Added. Moved code out of HashTraits, since it would be awkward to
+ include that from Vector.h.
+ (WTF::ValueCheck::checkConsistency): Allow null pointers, those are pretty consistent.
+
+ * wtf/HashTraits.h: Moved value checking code out of here.
+
+ * wtf/HashTable.h: (WTF::::checkTableConsistencyExceptSize): Updated for the above changes.
+
+ * wtf/Vector.h:
+ (WTF::::checkConsistency): Check all vector elements.
+ (WTF::ValueCheck): Support checking a Vector as an element in other containers. Currently
+ unused.
+
+2010-02-10 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Fix QScriptValue::toBool.
+
+ Fix ECMA compliance in the QScriptValue for values like 0, NaN and
+ empty strings.
+
+ [Qt] QScriptValue::toBool problem
+ https://bugs.webkit.org/show_bug.cgi?id=34793
+
+ * qt/api/qscriptvalue_p.h:
+ (QScriptValuePrivate::toBool):
+ * qt/tests/qscriptvalue/tst_qscriptvalue.h:
+ * qt/tests/qscriptvalue/tst_qscriptvalue_generated.cpp:
+ (tst_QScriptValue::toBool_initData):
+ (tst_QScriptValue::toBool_makeData):
+ (tst_QScriptValue::toBool_test):
+ (tst_QScriptValue::toBoolean_initData):
+ (tst_QScriptValue::toBoolean_makeData):
+ (tst_QScriptValue::toBoolean_test):
+
+2009-10-06 Yongjun Zhang <yongjun.zhang@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Use derefIfNotNull() to work around WINSCW compiler forward declaration bug
+
+ The compiler bug is reported at
+ https://xdabug001.ext.nokia.com/bugzilla/show_bug.cgi?id=9812.
+
+ The change should be reverted when the above bug is fixed in WINSCW compiler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=28054
+
+2009-10-06 Yongjun Zhang <yongjun.zhang@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Get rid of WINSCW hack for UnSpecifiedBoolType
+
+ Add parenthesis around (RefPtr::*UnspecifiedBoolType) to make the WINSCW
+ compiler work with the default UnSpecifiedBoolType() operator.
+
+ https://bugs.webkit.org/show_bug.cgi?id=28054
+
+ * wtf/RefPtr.h:
+
+2010-02-09 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ New functions nullValue() and undefinedValue().
+
+ [Qt] QScriptEngine should contain nullValue and undefinedValue methods
+ https://bugs.webkit.org/show_bug.cgi?id=34749
+
+ * qt/api/qscriptengine.cpp:
+ (QScriptEngine::nullValue):
+ (QScriptEngine::undefinedValue):
+ * qt/api/qscriptengine.h:
+ * qt/tests/qscriptengine/tst_qscriptengine.cpp:
+ (tst_QScriptEngine::nullValue):
+ (tst_QScriptEngine::undefinedValue):
+
+2010-02-09 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Fixes for QScriptValue::toNumber().
+
+ Fix ECMA compliance in QScriptValue for values unbound
+ to a QScriptEngine.
+
+ [Qt] QScriptValue::toNumber() is broken
+ https://bugs.webkit.org/show_bug.cgi?id=34592
+
+ * qt/api/qscriptvalue_p.h:
+ (QScriptValuePrivate::toNumber):
+ * qt/tests/qscriptvalue/tst_qscriptvalue.h:
+ * qt/tests/qscriptvalue/tst_qscriptvalue_generated.cpp:
+ (tst_QScriptValue::toNumber_initData):
+ (tst_QScriptValue::toNumber_makeData):
+ (tst_QScriptValue::toNumber_test):
+
+2010-02-09 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Fix QScriptValue::isNumber().
+
+ The isNumber() should return 'true' if the value is in the CNumber
+ state.
+
+ [Qt] QScriptValue::isNumber() returns an incorrect value
+ https://bugs.webkit.org/show_bug.cgi?id=34575
+
+ * qt/api/qscriptvalue_p.h:
+ (QScriptValuePrivate::isNumber):
+ * qt/tests/qscriptvalue/tst_qscriptvalue.h:
+ * qt/tests/qscriptvalue/tst_qscriptvalue_generated.cpp:
+ (tst_QScriptValue::isNumber_initData):
+ (tst_QScriptValue::isNumber_makeData):
+ (tst_QScriptValue::isNumber_test):
+
+2010-02-09 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Small refactoring to the small strings cache to allow it to be cleared
+ dynamically.
+
+ * runtime/SmallStrings.cpp:
+ (JSC::SmallStrings::SmallStrings):
+ (JSC::SmallStrings::clear):
+ * runtime/SmallStrings.h: Moved initialization code into a shared function,
+ and changed the constructor to call it.
+
+2010-02-09 Gavin Barraclough <barraclough@apple.com>
+
+ Rubber Stamped by Geoff Garen.
+
+ Rename StringBuilder::release && JSStringBuilder::releaseJSString
+ to 'build()'.
+
+ * runtime/ArrayPrototype.cpp:
+ (JSC::arrayProtoFuncToLocaleString):
+ (JSC::arrayProtoFuncJoin):
+ * runtime/Executable.cpp:
+ (JSC::FunctionExecutable::paramString):
+ * runtime/FunctionConstructor.cpp:
+ (JSC::constructFunction):
+ * runtime/JSGlobalObjectFunctions.cpp:
+ (JSC::encode):
+ (JSC::decode):
+ (JSC::globalFuncEscape):
+ (JSC::globalFuncUnescape):
+ * runtime/JSONObject.cpp:
+ (JSC::Stringifier::stringify):
+ * runtime/JSStringBuilder.h:
+ (JSC::JSStringBuilder::build):
+ * runtime/LiteralParser.cpp:
+ (JSC::LiteralParser::Lexer::lexString):
+ * runtime/NumberPrototype.cpp:
+ (JSC::integerPartNoExp):
+ (JSC::numberProtoFuncToFixed):
+ * runtime/StringBuilder.h:
+ (JSC::StringBuilder::build):
+
+2010-02-09 John Sullivan <sullivan@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=34772
+ Overzealous new assertion in URStringImpl::adopt()
+
+ Reviewed by Adam Barth.
+
+ * runtime/UStringImpl.h:
+ (JSC::UStringImpl::adopt):
+ Only assert that vector.data() is non-zero if vector.size() is non-zero.
+
+2010-02-09 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Not reviewed. Try to fix build problem on SnowLeopard slaves to bring them back.
+
+ * API/JSClassRef.cpp:
+ (tryCreateStringFromUTF8): Mark method as 'static inline' to suppress "warning: no previous prototype for ..."
+
+2010-02-09 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Three small string fixes:
+ (1) StringBuilder::release should CRASH if the buffer allocation failed.
+ (2) Remove weird, dead code from JSString::tryGetValue, replace with an ASSERT.
+ (3) Move UString::createFromUTF8 out to the API, as tryCreateStringFromUTF8.
+ This is only used from the API, and (now) unlike other UString::create
+ methods may return UString::null() to indicate failure cases. Better
+ handle these in the API.
+
+ * API/JSClassRef.cpp:
+ (tryCreateStringFromUTF8):
+ (OpaqueJSClass::OpaqueJSClass):
+ (OpaqueJSClassContextData::OpaqueJSClassContextData):
+ * runtime/JSString.h:
+ (JSC::Fiber::tryGetValue):
+ * runtime/StringBuilder.h:
+ (JSC::StringBuilder::release):
+ * runtime/UString.cpp:
+ (JSC::UString::UString):
+ (JSC::UString::from):
+ (JSC::UString::find):
+ * runtime/UString.h:
+
+2010-02-09 Janne Koskinen <janne.p.koskinen@digia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] use nanval() for Symbian as nonInlineNaN
+ https://bugs.webkit.org/show_bug.cgi?id=34170
+
+ numeric_limits<double>::quiet_NaN is broken in Symbian
+ causing NaN to be evaluated as a number.
+
+ * runtime/JSValue.cpp:
+ (JSC::nonInlineNaN):
+
+2010-02-09 Tamas Szirbucz <szirbucz@inf.u-szeged.hu>
+
+ Reviewed by Gavin Barraclough.
+
+ Add a soft modulo operation to ARM JIT using a trampoline function.
+ The performance progression is about ~1.8% on ARMv7
+ https://bugs.webkit.org/show_bug.cgi?id=34424
+
+ Developed in cooperation with Gabor Loki.
+
+ * jit/JIT.h:
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_mod):
+ (JSC::JIT::emitSlow_op_mod):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::softModulo):
+ * jit/JITStubs.h:
+ (JSC::JITThunks::ctiSoftModulo):
+ * wtf/Platform.h:
+
+2010-02-08 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (SL/win build fixes).
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * runtime/StringPrototype.cpp:
+
+2010-02-08 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt
+
+ Make String.replace throw an exception on out-of-memory, rather than
+ returning a null (err, empty-ish) string. Move String::replaceRange
+ and String::spliceSubstringsWithSeparators out to StringPrototype -
+ these were fairly specific use anyway, and we can better integrate
+ throwing the JS expcetion this way.
+
+ Also removes redundant assignment operator from UString.
+
+ * JavaScriptCore.exp:
+ * runtime/StringPrototype.cpp:
+ (JSC::StringRange::StringRange):
+ (JSC::jsSpliceSubstringsWithSeparators):
+ (JSC::jsReplaceRange):
+ (JSC::stringProtoFuncReplace):
+ * runtime/UString.cpp:
+ * runtime/UString.h:
+
+2010-02-08 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Undefine WTF_OS_WINDOWS and WTF_PLATFORM_WIN
+ https://bugs.webkit.org/show_bug.cgi?id=34561
+
+ As the binary for simulator is built with MSVC 2005,
+ WTF_OS_WINDOWS and WTF_PLATFORM_WIN are defined.
+ Undefine them as we don't target Windows.
+
+ * wtf/Platform.h:
+
+2010-02-08 Chris Rogers <crogers@google.com>
+
+ Reviewed by Darin Adler.
+
+ audio engine: add Vector3 class
+ https://bugs.webkit.org/show_bug.cgi?id=34548
+
+ * wtf/Vector3.h: Added.
+ (WebCore::Vector3::Vector3):
+ (WebCore::Vector3::abs):
+ (WebCore::Vector3::isZero):
+ (WebCore::Vector3::normalize):
+ (WebCore::Vector3::x):
+ (WebCore::Vector3::y):
+ (WebCore::Vector3::z):
+ (WebCore::operator+):
+ (WebCore::operator-):
+ (WebCore::operator*):
+ (WebCore::dot):
+ (WebCore::cross):
+ (WebCore::distance):
+
+2010-02-08 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Fix warning in clang++
+
+ * runtime/Structure.h:
+ (JSC::Structure::propertyStorageSize):
+
+2010-02-08 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Make makeString CRASH if we fail to allocate a string.
+
+ (tryMakeString or jsMakeNontrivialString can be used where we
+ expect allocation may fail and want to handle the error).
+
+ * runtime/JSStringBuilder.h:
+ (JSC::jsMakeNontrivialString):
+ * runtime/UString.h:
+ (JSC::tryMakeString):
+ (JSC::makeString):
+
+2010-02-08 Gavin Barraclough <barraclough@apple.com>
+
+ Rubber Stamped by Oliver Hunt.
+
+ Remove a couple of unnecesary C-style casts spotted by Darin.
+
+ * runtime/JSGlobalObjectFunctions.cpp:
+ (JSC::encode):
+ (JSC::globalFuncEscape):
+
+2010-02-08 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Switch some more StringBuilder/jsNontrivialString code to use
+ JSStringBuilder/jsMakeNontrivialString - these methods will
+ throw an exception if we hit out-of-memory, rather than just
+ CRASHing.
+
+ * runtime/FunctionPrototype.cpp:
+ (JSC::functionProtoFuncToString):
+ * runtime/JSGlobalObjectFunctions.cpp:
+ (JSC::encode):
+ (JSC::decode):
+ (JSC::globalFuncEscape):
+
+2010-02-08 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Use an empty identifier instead of a null identifier for parse
+ tokens without an identifier.
+
+ This helps encapsulate the null UStringImpl within UString.
+
+ * parser/Grammar.y:
+ * parser/NodeConstructors.h:
+ (JSC::ContinueNode::ContinueNode):
+ (JSC::BreakNode::BreakNode):
+ (JSC::ForInNode::ForInNode):
+ * runtime/CommonIdentifiers.cpp:
+ (JSC::CommonIdentifiers::CommonIdentifiers):
+ * runtime/CommonIdentifiers.h:
+ * runtime/FunctionPrototype.cpp:
+ (JSC::FunctionPrototype::FunctionPrototype):
+
+2010-02-08 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Build fix for make distcheck.
+
+ * GNUmakefile.am:
+
+2010-02-08 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Unreviewed RVCT build fix.
+
+ Similar to r54391, don't import the cmath functions from std:: for RVCT.
+
+ * wtf/MathExtras.h:
+
+2010-02-05 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Change UStringImpl::create to CRASH if the string cannot be allocated,
+ rather than returning a null string (which will behave like a zero-length
+ string if used).
+
+ Also move createRep function from UString to become new overloaded
+ UStringImpl::create methods. In doing so, bring their behaviour closer to
+ being in line with WebCore::StringImpl, in removing the behaviour that they
+ can be used to produce null UStrings (ASSERT the char* provided is non-null).
+ This behaviour of converting null C-strings to null UStrings is inefficient
+ (cmompared to just using UString::null()), incompatible with WebCore::StringImpl's
+ behaviour, and may generate unexpected behaviour, since in many cases a null
+ UString can be used like an empty string.
+
+ With these changes UStringImpl need not have a concept of null impls, we can
+ start transitioning this to become an implementation detail of UString, that
+ internally it chooses to use a null-object rather than an actually zero impl
+ pointer.
+
+ * JavaScriptCore.exp:
+ * debugger/Debugger.cpp:
+ (JSC::Debugger::recompileAllJSFunctions):
+ * debugger/DebuggerCallFrame.cpp:
+ (JSC::DebuggerCallFrame::calculatedFunctionName):
+ * parser/Parser.cpp:
+ (JSC::Parser::parse):
+ * profiler/Profile.cpp:
+ (JSC::Profile::Profile):
+ * profiler/ProfileGenerator.cpp:
+ (JSC::ProfileGenerator::stopProfiling):
+ * runtime/Error.cpp:
+ (JSC::Error::create):
+ (JSC::throwError):
+ * runtime/ExceptionHelpers.cpp:
+ (JSC::createError):
+ * runtime/Identifier.cpp:
+ (JSC::Identifier::add):
+ * runtime/PropertyNameArray.cpp:
+ (JSC::PropertyNameArray::add):
+ * runtime/UString.cpp:
+ (JSC::initializeUString):
+ (JSC::UString::UString):
+ (JSC::UString::operator=):
+ * runtime/UString.h:
+ (JSC::UString::isNull):
+ (JSC::UString::null):
+ (JSC::UString::rep):
+ (JSC::UString::UString):
+ * runtime/UStringImpl.cpp:
+ (JSC::UStringImpl::create):
+ * runtime/UStringImpl.h:
+
+2010-02-05 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Define SYSTEM_MALLOC 1
+ https://bugs.webkit.org/show_bug.cgi?id=34640
+
+ Make BREWMP use system malloc because FastMalloc is not ported.
+
+ * wtf/Platform.h:
+
+2010-02-05 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Don't call CRASH() in fastMalloc and fastCalloc when the requested memory size is 0
+ https://bugs.webkit.org/show_bug.cgi?id=34569
+
+ With USE_SYSTEM_MALLOC=1, fastMalloc and fastCalloc call CRASH()
+ if the return value of malloc and calloc is 0.
+
+ However, these functions can return 0 when the request size is 0.
+ Libc manual says, "If size is 0, then malloc() returns either NULL,
+ or a unique pointer value that can later be successfully passed to free()."
+ Though malloc returns a unique pointer in most systems,
+ 0 can be returned in some systems. For instance, BREW's MALLOC returns 0
+ when size is 0.
+
+ If malloc or calloc returns 0 due to allocation size, increase the size
+ to 1 and try again.
+
+ * wtf/FastMalloc.cpp:
+ (WTF::fastMalloc):
+ (WTF::fastCalloc):
+
+2010-02-04 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Timothy Hatcher.
+
+ Build fix. Remove a symbol corresponding to an inline function from the linker export
+ file to prevent a weak external failure.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj: Accommodate rename of script.
+
+2010-02-04 Daniel Bates <dbates@webkit.org>
+
+ [Qt] Unreviewed, build fix for Qt bot.
+
+ * runtime/JSStringBuilder.h: Changed #include <X.h> notation #include "X.h".
+
+2010-02-04 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Clearing a WeakGCPtr is weird
+ https://bugs.webkit.org/show_bug.cgi?id=34627
+
+ Added a WeakGCPtr::clear interface.
+
+ As discussed in https://bugs.webkit.org/show_bug.cgi?id=33383, the old
+ interface made it pretty weird for a client to conditionally clear a
+ WeakGCPtr, which is exactly what clients want to do when objects are
+ finalized.
+
+ * API/JSClassRef.cpp:
+ (clearReferenceToPrototype): Use the new WeakGCPtr::clear() interface.
+
+ * runtime/WeakGCPtr.h:
+ (JSC::WeakGCPtr::clear): Added an interface for clearing a WeakGCPtr,
+ iff its current value is the value passed in. It's cumbersome for the
+ client to do this test, since WeakGCPtr sometimes pretends to be null.
+
+2010-02-04 Geoffrey Garen <ggaren@apple.com>
+
+ Build fix: export a header.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+
+2010-02-04 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Add a JSStringBuilder class (similar-to, and derived-from StringBuilder) to
+ construct JSStrings, throwing a JS exception should we run out of memory whilst
+ allocating storage for the string.
+
+ Similarly, add jsMakeNontrivialString methods to use in cases where previously
+ we were calling makeString & passing the result to jsNontrivialString. Again,
+ these new methods throw if we hit an out of memory condition.
+
+ Move throwOutOfMemoryError into ExceptionHelpers, to make it more widely available.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * runtime/ArrayPrototype.cpp:
+ (JSC::arrayProtoFuncToString):
+ (JSC::arrayProtoFuncToLocaleString):
+ (JSC::arrayProtoFuncJoin):
+ * runtime/DateConstructor.cpp:
+ (JSC::callDate):
+ * runtime/DatePrototype.cpp:
+ (JSC::dateProtoFuncToString):
+ (JSC::dateProtoFuncToUTCString):
+ (JSC::dateProtoFuncToGMTString):
+ * runtime/ErrorPrototype.cpp:
+ (JSC::errorProtoFuncToString):
+ * runtime/ExceptionHelpers.cpp:
+ (JSC::throwOutOfMemoryError):
+ * runtime/ExceptionHelpers.h:
+ * runtime/JSStringBuilder.h: Added.
+ (JSC::JSStringBuilder::releaseJSString):
+ (JSC::jsMakeNontrivialString):
+ * runtime/NumberPrototype.cpp:
+ (JSC::numberProtoFuncToPrecision):
+ * runtime/ObjectPrototype.cpp:
+ (JSC::objectProtoFuncToString):
+ * runtime/Operations.cpp:
+ * runtime/Operations.h:
+ * runtime/RegExpPrototype.cpp:
+ (JSC::regExpProtoFuncToString):
+ * runtime/StringBuilder.h:
+ (JSC::StringBuilder::append):
+ * runtime/StringPrototype.cpp:
+ (JSC::stringProtoFuncBig):
+ (JSC::stringProtoFuncSmall):
+ (JSC::stringProtoFuncBlink):
+ (JSC::stringProtoFuncBold):
+ (JSC::stringProtoFuncFixed):
+ (JSC::stringProtoFuncItalics):
+ (JSC::stringProtoFuncStrike):
+ (JSC::stringProtoFuncSub):
+ (JSC::stringProtoFuncSup):
+ (JSC::stringProtoFuncFontcolor):
+ (JSC::stringProtoFuncFontsize):
+ (JSC::stringProtoFuncAnchor):
+
+2010-02-04 Steve Falkenburg <sfalken@apple.com>
+
+ Windows build fix.
+
+ * wtf/MathExtras.h:
+
+2010-02-04 Darin Adler <darin@apple.com>
+
+ Reviewed by David Levin.
+
+ Make MathExtras.h compatible with <cmath>
+ https://bugs.webkit.org/show_bug.cgi?id=34618
+
+ * wtf/MathExtras.h: Include <cmath> instead of <math.h>.
+ Use "using" as we do elsewhere in WTF for the four functions from <cmath>
+ we want to use without the prefix. Later we could consider making the std
+ explicit at call sites instead.
+
+2010-02-04 Tamas Szirbucz <szirbucz@inf.u-szeged.hu>
+
+ Reviewed by Gavin Barraclough.
+
+ Use an easily appendable structure for trampolines instead of pointer parameters.
+ https://bugs.webkit.org/show_bug.cgi?id=34424
+
+ * assembler/ARMAssembler.cpp:
+ (JSC::ARMAssembler::executableCopy):
+ * jit/JIT.h:
+ (JSC::JIT::compileCTIMachineTrampolines):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::privateCompileCTIMachineTrampolines):
+ * jit/JITStubs.cpp:
+ (JSC::JITThunks::JITThunks):
+ * jit/JITStubs.h:
+ (JSC::JITThunks::ctiStringLengthTrampoline):
+ (JSC::JITThunks::ctiVirtualCallLink):
+ (JSC::JITThunks::ctiVirtualCall):
+ (JSC::JITThunks::ctiNativeCallThunk):
+
+2010-02-04 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Increase test coverage for the QScriptValue.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34533
+
+ * qt/tests/qscriptvalue/qscriptvalue.pro:
+ * qt/tests/qscriptvalue/tst_qscriptvalue.cpp:
+ (tst_QScriptValue::tst_QScriptValue):
+ (tst_QScriptValue::~tst_QScriptValue):
+ (tst_QScriptValue::dataHelper):
+ (tst_QScriptValue::newRow):
+ (tst_QScriptValue::testHelper):
+ (tst_QScriptValue::ctor):
+ * qt/tests/qscriptvalue/tst_qscriptvalue.h: Added.
+ * qt/tests/qscriptvalue/tst_qscriptvalue_generated.cpp: Added.
+ (tst_QScriptValue::initScriptValues):
+ (tst_QScriptValue::isValid_initData):
+ (tst_QScriptValue::isValid_makeData):
+ (tst_QScriptValue::isValid_test):
+ (tst_QScriptValue::isBool_initData):
+ (tst_QScriptValue::isBool_makeData):
+ (tst_QScriptValue::isBool_test):
+ (tst_QScriptValue::isBoolean_initData):
+ (tst_QScriptValue::isBoolean_makeData):
+ (tst_QScriptValue::isBoolean_test):
+ (tst_QScriptValue::isFunction_initData):
+ (tst_QScriptValue::isFunction_makeData):
+ (tst_QScriptValue::isFunction_test):
+ (tst_QScriptValue::isNull_initData):
+ (tst_QScriptValue::isNull_makeData):
+ (tst_QScriptValue::isNull_test):
+ (tst_QScriptValue::isString_initData):
+ (tst_QScriptValue::isString_makeData):
+ (tst_QScriptValue::isString_test):
+ (tst_QScriptValue::isUndefined_initData):
+ (tst_QScriptValue::isUndefined_makeData):
+ (tst_QScriptValue::isUndefined_test):
+ (tst_QScriptValue::isObject_initData):
+ (tst_QScriptValue::isObject_makeData):
+ (tst_QScriptValue::isObject_test):
+
+2010-02-03 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Define WTF_PLATFORM_BREWMP_SIMULATOR when AEE_SIMULATOR is defined
+ https://bugs.webkit.org/show_bug.cgi?id=34514
+
+ PLATFORM(BREWMP_SIMULATOR) guard is needed to make distinction between BREWMP
+ and BREWMP simulator.
+
+ * wtf/Platform.h:
+
+2010-02-03 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Remove COMPILE_ASSERT conflict with the underlying PLATFORM
+ https://bugs.webkit.org/show_bug.cgi?id=34190
+
+ COMPILE_ASSERT conflicts with the underlying PLATFORM because it is defined
+ both in WTF's Assertions.h and BREWMP's AEEClassIDs.h. Include AEEClassIDs.h
+ in Assertions.h and undef COMPILE_ASSERT to avoid redefining COMPILE_ASSERT.
+
+ * wtf/Assertions.h:
+
+2010-02-03 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Implement OwnPtrBrew to make sure BREW instances are freed.
+ https://bugs.webkit.org/show_bug.cgi?id=34518
+
+ Add OwnPtrBrew to release IFile, IFileMgr and IBitmap instances.
+
+ * wtf/brew/OwnPtrBrew.cpp: Added.
+ (WTF::IFileMgr):
+ (WTF::IFile):
+ (WTF::IBitmap):
+ (WTF::freeOwnedPtrBrew):
+ * wtf/brew/OwnPtrBrew.h: Added.
+ (WTF::OwnPtrBrew::OwnPtrBrew):
+ (WTF::OwnPtrBrew::~OwnPtrBrew):
+ (WTF::OwnPtrBrew::get):
+ (WTF::OwnPtrBrew::release):
+ (WTF::OwnPtrBrew::outPtr):
+ (WTF::OwnPtrBrew::set):
+ (WTF::OwnPtrBrew::clear):
+ (WTF::OwnPtrBrew::operator*):
+ (WTF::OwnPtrBrew::operator->):
+ (WTF::OwnPtrBrew::operator!):
+ (WTF::OwnPtrBrew::operator UnspecifiedBoolType):
+ (WTF::OwnPtrBrew::swap):
+ (WTF::swap):
+ (WTF::operator==):
+ (WTF::operator!=):
+ (WTF::getPtr):
+
+2010-02-03 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Darin Adler.
+
+ Export WTF::fastStrDup symbol
+ https://bugs.webkit.org/show_bug.cgi?id=34526
+
+ * JavaScriptCore.exp:
+
+2010-02-03 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ [wx] Enable JIT compilation for wx.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34536
+
+ * wtf/Platform.h:
+
+2010-02-02 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ Crash in CollectorBitmap::get at nbcolympics.com
+ https://bugs.webkit.org/show_bug.cgi?id=34504
+
+ This was caused by the use of m_offset to determine the offset of
+ a new property into the property storage. This patch corrects
+ the effected cases by incorporating the anonymous slot count. It
+ also removes the duplicate copy of anonymous slot count from the
+ property table as keeping this up to date merely increased the
+ chance of a mismatch. Finally I've added a large number of
+ assertions in an attempt to prevent such a bug from happening
+ again.
+
+ With the new assertions in place the existing anonymous slot tests
+ all fail without the m_offset fixes.
+
+ * runtime/PropertyMapHashTable.h:
+ * runtime/Structure.cpp:
+ (JSC::Structure::materializePropertyMap):
+ (JSC::Structure::addPropertyTransitionToExistingStructure):
+ (JSC::Structure::addPropertyTransition):
+ (JSC::Structure::removePropertyTransition):
+ (JSC::Structure::flattenDictionaryStructure):
+ (JSC::Structure::addPropertyWithoutTransition):
+ (JSC::Structure::removePropertyWithoutTransition):
+ (JSC::Structure::copyPropertyTable):
+ (JSC::Structure::get):
+ (JSC::Structure::put):
+ (JSC::Structure::remove):
+ (JSC::Structure::insertIntoPropertyMapHashTable):
+ (JSC::Structure::createPropertyMapHashTable):
+ (JSC::Structure::rehashPropertyMapHashTable):
+ (JSC::Structure::checkConsistency):
+
+2010-02-02 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Copyright year updating for Windows version resources should be automatic
+ https://bugs.webkit.org/show_bug.cgi?id=34503
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.rc:
+
+2010-02-02 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Add dummy main thread functions
+ https://bugs.webkit.org/show_bug.cgi?id=33569
+
+ Add dummy initializeMainThreadPlatform and
+ scheduleDispatchFunctionsOnMainThread.
+
+ * wtf/brew/MainThreadBrew.cpp: Added.
+ (WTF::initializeMainThreadPlatform):
+ (WTF::scheduleDispatchFunctionsOnMainThread):
+
+2010-02-02 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Darin Adler.
+
+ Add using WTF::getLocalTime to CurrentTime.h
+ https://bugs.webkit.org/show_bug.cgi?id=34493
+
+ * wtf/CurrentTime.h:
+
+2010-02-02 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Add HAVE_XXX definitions
+ https://bugs.webkit.org/show_bug.cgi?id=34414
+
+ Add HAVE_ERRNO_H=1
+
+ * wtf/Platform.h:
+
+2010-02-02 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Don't define HAVE_TM_GMTOFF, HAVE_TM_ZONE and HAVE_TIMEGM
+ https://bugs.webkit.org/show_bug.cgi?id=34388
+
+ BREWMP does not have these features.
+
+ * wtf/Platform.h:
+
+2010-02-02 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Define WTF_PLATFORM_BREWMP=1 when BUILDING_BREWMP is defined
+ https://bugs.webkit.org/show_bug.cgi?id=34386
+
+ Define WTF_PLATFORM_BREWMP=1 so that PLATFORM(BREWMP) guard can be used.
+
+ * wtf/Platform.h:
+
+2010-02-01 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Date.UTC() should apply TimeClip operation.
+ https://bugs.webkit.org/show_bug.cgi?id=34461
+
+ ECMAScript 5 15.9.4.3:
+ > 9 Return TimeClip(MakeDate(MakeDay(yr, m, dt), MakeTime(h, min, s, milli))).
+
+ * runtime/DateConstructor.cpp:
+ (JSC::dateUTC): Calls WTF::timeClip().
+
+2010-02-01 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Fix a bug that Math.round() retunrs incorrect results for huge integers
+ https://bugs.webkit.org/show_bug.cgi?id=34462
+
+ * runtime/MathObject.cpp:
+ (JSC::mathProtoFuncRound): Avoid "arg + 0.5".
+
+2010-02-01 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Port WTF's currentTime
+ https://bugs.webkit.org/show_bug.cgi?id=33567
+
+ Combine GETUTCSECONDS and GETTIMEMS to calculate the number
+ of milliseconds since 1970/01/01 00:00:00 UTC.
+
+ * wtf/CurrentTime.cpp:
+ (WTF::currentTime):
+
+2010-02-01 Patrick Gansterer <paroga@paroga.com>
+
+ Reviewed by Darin Adler.
+
+ [Qt] WinCE buildfix after r52729 and fix for Q_BIG_ENDIAN typo.
+ https://bugs.webkit.org/show_bug.cgi?id=34378
+
+ * wtf/Platform.h:
+
+2010-02-01 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Structure not accounting for anonymous slots when computing property storage size
+ https://bugs.webkit.org/show_bug.cgi?id=34441
+
+ Previously any Structure with anonymous storage would have a property map, so we
+ were only including anonymous slot size if there was a property map. Given this
+ is no longer the case we should always include the anonymous slot count in the
+ property storage size.
+
+ * runtime/Structure.h:
+ (JSC::Structure::propertyStorageSize):
+
+2010-02-01 Oliver Hunt <oliver@apple.com>
+
+ Windows build fix, update exports file (again)
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2010-02-01 Oliver Hunt <oliver@apple.com>
+
+ Windows build fix, update exports file
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2010-01-31 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ JSC is failing to propagate anonymous slot count on some transitions
+ https://bugs.webkit.org/show_bug.cgi?id=34321
+
+ Remove secondary Structure constructor, and make Structure store a copy
+ of the number of anonymous slots directly so saving an immediate allocation
+ of a property map for all structures with anonymous storage, which also
+ avoids the leaked property map on new property transition in the original
+ version of this patch.
+
+ We need to propagate the the anonymous slot count otherwise we can end up
+ with a structure recording incorrect information about the available and
+ needed space for property storage, or alternatively incorrectly reusing
+ some slots.
+
+ * JavaScriptCore.exp:
+ * runtime/Structure.cpp:
+ (JSC::Structure::Structure):
+ (JSC::Structure::materializePropertyMap):
+ (JSC::Structure::addPropertyTransition):
+ (JSC::Structure::changePrototypeTransition):
+ (JSC::Structure::despecifyFunctionTransition):
+ (JSC::Structure::getterSetterTransition):
+ (JSC::Structure::toDictionaryTransition):
+ (JSC::Structure::flattenDictionaryStructure):
+ (JSC::Structure::copyPropertyTable):
+ (JSC::Structure::put):
+ (JSC::Structure::remove):
+ (JSC::Structure::insertIntoPropertyMapHashTable):
+ (JSC::Structure::createPropertyMapHashTable):
+ * runtime/Structure.h:
+ (JSC::Structure::create):
+ (JSC::Structure::hasAnonymousSlots):
+ (JSC::Structure::anonymousSlotCount):
+
+2010-01-31 Patrick Gansterer <paroga@paroga.com>
+
+ Reviewed by Darin Adler.
+
+ Buildfix for WinCE + style fixes (TLS_OUT_OF_INDEXES is not defined).
+ https://bugs.webkit.org/show_bug.cgi?id=34380
+
+ * wtf/ThreadSpecific.h:
+
+2010-01-31 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ [Windows] Fix a bug of round() with huge integral numbers
+ https://bugs.webkit.org/show_bug.cgi?id=34297
+
+ Fix a bug that round() for huge integral numbers returns incorrect
+ results. For example, round(8639999913600001) returns
+ 8639999913600002 without this change though the double type can
+ represent 8639999913600001 precisely.
+
+ Math.round() of JavaScript has a similar problem. But this change
+ doesn't fix it because Math.round() doesn't use round() of
+ MathExtra.h.
+
+ * wtf/MathExtras.h:
+ (round): Avoid to do "num + 0.5" or "num - 0.5".
+ (roundf): Fixed similarly.
+ (llround): Calls round().
+ (llroundf): Calls roundf().
+ (lround): Calls round().
+ (lroundf): Calls roundf().
+
+2010-01-29 Mark Rowe <mrowe@apple.com>
+
+ Sort Xcode projects.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+
+2010-01-29 Mark Rowe <mrowe@apple.com>
+
+ Fix the Mac build.
+
+ Disable ENABLE_INDEXED_DATABASE since it is "completely non-functional".
+
+ As the comment in FeatureDefines.xcconfig notes, the list of feature defines
+ needs to be kept in sync across the various files. The default values also
+ need to be kept in sync between these files and build-webkit.
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2010-01-29 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Rubber-stamped by Maciej Stachowiak.
+
+ Fix the ARM build.
+
+ * runtime/JSNumberCell.h:
+ (JSC::JSNumberCell::createStructure): Call the right Structure::create overload.
+
+2010-01-28 Kevin Ollivier <kevino@theolliviers.com>
+
+ [wx] Build fix for MSW, use ThreadingWin.cpp as the Windows pthreads implementation
+ implements pthread_t in a way that makes it impossible to check its validity,
+ which is needed by ThreadingPthreads.cpp.
+
+ * wscript:
+
+2010-01-28 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ DOM Objects shouldn't all require custom mark functions
+ https://bugs.webkit.org/show_bug.cgi?id=34291
+
+ Make getAnonymousValue const-friendly
+
+ * runtime/JSObject.h:
+ (JSC::JSObject::getAnonymousValue):
+
+2010-01-28 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Simplify anonymous slot implementation
+ https://bugs.webkit.org/show_bug.cgi?id=34282
+
+ A class must now specify the number of slots it needs at construction time
+ rather than later on with a transition. This makes many things simpler,
+ we no longer need to need an additional transition on object creation to
+ add the anonymous slots, and we remove the need for a number of transition
+ type checks.
+
+ * API/JSCallbackConstructor.h:
+ (JSC::JSCallbackConstructor::createStructure):
+ * API/JSCallbackFunction.h:
+ (JSC::JSCallbackFunction::createStructure):
+ * API/JSCallbackObject.h:
+ (JSC::JSCallbackObject::createStructure):
+ * JavaScriptCore.exp:
+ * debugger/DebuggerActivation.h:
+ (JSC::DebuggerActivation::createStructure):
+ * runtime/Arguments.h:
+ (JSC::Arguments::createStructure):
+ * runtime/BooleanObject.h:
+ (JSC::BooleanObject::createStructure):
+ * runtime/DateInstance.h:
+ (JSC::DateInstance::createStructure):
+ * runtime/DatePrototype.h:
+ (JSC::DatePrototype::createStructure):
+ * runtime/FunctionPrototype.h:
+ (JSC::FunctionPrototype::createStructure):
+ * runtime/GetterSetter.h:
+ (JSC::GetterSetter::createStructure):
+ * runtime/GlobalEvalFunction.h:
+ (JSC::GlobalEvalFunction::createStructure):
+ * runtime/InternalFunction.h:
+ (JSC::InternalFunction::createStructure):
+ * runtime/JSAPIValueWrapper.h:
+ (JSC::JSAPIValueWrapper::createStructure):
+ * runtime/JSActivation.h:
+ (JSC::JSActivation::createStructure):
+ * runtime/JSArray.h:
+ (JSC::JSArray::createStructure):
+ * runtime/JSByteArray.cpp:
+ (JSC::JSByteArray::createStructure):
+ * runtime/JSCell.h:
+ (JSC::JSCell::createDummyStructure):
+ * runtime/JSFunction.h:
+ (JSC::JSFunction::createStructure):
+ * runtime/JSGlobalObject.h:
+ (JSC::JSGlobalObject::createStructure):
+ * runtime/JSNotAnObject.h:
+ (JSC::JSNotAnObject::createStructure):
+ * runtime/JSONObject.h:
+ (JSC::JSONObject::createStructure):
+ * runtime/JSObject.h:
+ (JSC::JSObject::createStructure):
+ (JSC::JSObject::putAnonymousValue):
+ (JSC::JSObject::getAnonymousValue):
+ * runtime/JSPropertyNameIterator.h:
+ (JSC::JSPropertyNameIterator::createStructure):
+ * runtime/JSStaticScopeObject.h:
+ (JSC::JSStaticScopeObject::createStructure):
+ * runtime/JSString.h:
+ (JSC::Fiber::createStructure):
+ * runtime/JSVariableObject.h:
+ (JSC::JSVariableObject::createStructure):
+ * runtime/JSWrapperObject.h:
+ (JSC::JSWrapperObject::createStructure):
+ (JSC::JSWrapperObject::JSWrapperObject):
+ * runtime/MathObject.h:
+ (JSC::MathObject::createStructure):
+ * runtime/NumberConstructor.h:
+ (JSC::NumberConstructor::createStructure):
+ * runtime/NumberObject.h:
+ (JSC::NumberObject::createStructure):
+ * runtime/RegExpConstructor.h:
+ (JSC::RegExpConstructor::createStructure):
+ * runtime/RegExpObject.h:
+ (JSC::RegExpObject::createStructure):
+ * runtime/StringObject.h:
+ (JSC::StringObject::createStructure):
+ * runtime/StringObjectThatMasqueradesAsUndefined.h:
+ (JSC::StringObjectThatMasqueradesAsUndefined::createStructure):
+ * runtime/Structure.cpp:
+ (JSC::Structure::~Structure):
+ (JSC::Structure::materializePropertyMap):
+ * runtime/Structure.h:
+ (JSC::Structure::create):
+ (JSC::Structure::anonymousSlotCount):
+ * runtime/StructureTransitionTable.h:
+
+2010-01-27 Oliver Hunt <oliver@apple.com>
+
+ Windows build fix.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2010-01-27 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ MessageEvent.data should deserialize in the context of the MessageEvent's global object
+ https://bugs.webkit.org/show_bug.cgi?id=34227
+
+ Add logic to allow us to create an Object, Array, or Date instance
+ so we can create them in the context of a specific global object,
+ rather than just using the current lexical global object.
+
+ * JavaScriptCore.exp:
+ * runtime/DateInstance.cpp:
+ (JSC::DateInstance::DateInstance):
+ * runtime/DateInstance.h:
+ * runtime/JSGlobalObject.h:
+ (JSC::constructEmptyObject):
+ (JSC::constructEmptyArray):
+
+2010-01-27 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34150
+ WebKit needs a mechanism to catch stale HashMap entries
+
+ It is very difficult to catch stale pointers that are HashMap keys - since a pointer's hash
+ is just its value, it is very unlikely that any observable problem is reproducible.
+
+ This extends hash table consistency checks to check that pointers are referencing allocated
+ memory blocks, and makes it possible to invoke the checks explicitly (it is not feasible
+ to enable CHECK_HASHTABLE_CONSISTENCY by default, because that affects performance too much).
+
+ * wtf/HashMap.h: (WTF::::checkConsistency): Call through to HashTable implementation. We can
+ add similar calls to HashSet and HashCountedSet, but I haven't seen hard to debug problems
+ with those yet.
+
+ * wtf/HashSet.h: (WTF::::remove): The version of checkTableConsistency that's guarded by
+ CHECK_HASHTABLE_CONSISTENCY is now called internalCheckTableConsistency().
+
+ * wtf/HashTable.h:
+ (WTF::HashTable::internalCheckTableConsistency):
+ (WTF::HashTable::internalCheckTableConsistencyExceptSize):
+ (WTF::HashTable::checkTableConsistencyExceptSize):
+ Expose checkTableConsistency() even if CHECK_HASHTABLE_CONSISTENCY is off.
+ (WTF::::add): Updated for checkTableConsistency renaming.
+ (WTF::::addPassingHashCode): Ditto.
+ (WTF::::removeAndInvalidate): Ditto.
+ (WTF::::remove): Ditto.
+ (WTF::::rehash): Ditto.
+ (WTF::::checkTableConsistency): The assertion for !shouldExpand() was not correct - this
+ function returns true for tables with m_table == 0.
+ (WTF::::checkTableConsistencyExceptSize): Call checkValueConsistency for key. Potentially,
+ we could do the same for values.
+
+ * wtf/HashTraits.h:
+ (WTF::GenericHashTraits::checkValueConsistency): An empty function that can be overridden
+ to add checks. Currently, the only override is for pointer hashes.
+
+ * wtf/RefPtrHashMap.h: (WTF::::remove): Updated for checkTableConsistency renaming.
+
+2010-01-27 Anton Muhin <antonm@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Remove trailing \ from inline function code
+ https://bugs.webkit.org/show_bug.cgi?id=34223
+
+ * assembler/ARMv7Assembler.h:
+ (JSC::ARMThumbImmediate::countLeadingZerosPartial):
+
+2010-01-27 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Port WTF's randomNumber
+ https://bugs.webkit.org/show_bug.cgi?id=33566
+
+ Use GETRAND to generate 4 byte random byte sequence to implement
+ weakRandomNumber. Create a secure random number generator with
+ AEECLSID_RANDOM to implement randomNumber.
+
+ * wtf/RandomNumber.cpp:
+ (WTF::weakRandomNumber):
+ (WTF::randomNumber):
+
+2010-01-27 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Port getCPUTime
+ https://bugs.webkit.org/show_bug.cgi?id=33572
+
+ Use GETUPTIMEMS which returns a continuously and
+ linearly increasing millisecond timer from the time the device
+ was powered on. This function is enough to implement getCPUTime.
+
+ * runtime/TimeoutChecker.cpp:
+ (JSC::getCPUTime):
+
+2010-01-27 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Oliver Hunt.
+
+ [BREWMP] Add MarkStack fastMalloc implementation for platforms without VirtualAlloc or mmap.
+ https://bugs.webkit.org/show_bug.cgi?id=33582
+
+ Use fastMalloc and fastFree to implement MarkStack::allocateStack and
+ MarkStack::releaseStack for platforms without page level allocation.
+
+ * runtime/MarkStack.h:
+ (JSC::MarkStack::MarkStackArray::shrinkAllocation):
+ * runtime/MarkStackNone.cpp: Added.
+ (JSC::MarkStack::initializePagesize):
+ (JSC::MarkStack::allocateStack):
+ (JSC::MarkStack::releaseStack):
+
+2010-01-27 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Don't use time function
+ https://bugs.webkit.org/show_bug.cgi?id=33577
+
+ Calling time(0) in BREW devices causes a crash because time
+ is not properly ported in most devices. Cast currentTime() to
+ time_t to get the same result as time(0).
+
+ * wtf/DateMath.cpp:
+ (WTF::calculateUTCOffset):
+
+2010-01-27 Alexey Proskuryakov <ap@apple.com>
+
+ Revert r53899 (HashMap<AtomicStringImpl*, Value> key checks) and subsequent build fixes,
+ because they make SVG tests crash in release builds.
+
+ * wtf/HashMap.h:
+ (WTF::::remove):
+ * wtf/HashSet.h:
+ (WTF::::remove):
+ * wtf/HashTable.h:
+ (WTF::::add):
+ (WTF::::addPassingHashCode):
+ (WTF::::removeAndInvalidate):
+ (WTF::::remove):
+ (WTF::::rehash):
+ (WTF::::checkTableConsistency):
+ (WTF::::checkTableConsistencyExceptSize):
+ * wtf/HashTraits.h:
+ (WTF::GenericHashTraits::emptyValue):
+ (WTF::):
+ * wtf/RefPtrHashMap.h:
+ (WTF::::remove):
+
+2010-01-26 Alexey Proskuryakov <ap@apple.com>
+
+ More Windows build fixing.
+
+ * wtf/HashTraits.h: _msize takes void*, remove const qualifier from type.
+
+2010-01-26 Alexey Proskuryakov <ap@apple.com>
+
+ Windows build fix.
+
+ * wtf/HashTraits.h: Include malloc.h for _msize().
+
+2010-01-26 Alexey Proskuryakov <ap@apple.com>
+
+ Build fix.
+
+ * wtf/HashTable.h: (WTF::HashTable::checkTableConsistencyExceptSize): Remove const from a
+ static (empty) version of this function.
+
+2010-01-26 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34150
+ WebKit needs a mechanism to catch stale HashMap entries
+
+ It is very difficult to catch stale pointers that are HashMap keys - since a pointer's hash
+ is just its value, it is very unlikely that any observable problem is reproducible.
+
+ This extends hash table consistency checks to check that pointers are referencing allocated
+ memory blocks, and makes it possible to invoke the checks explicitly (it is not feasible
+ to enable CHECK_HASHTABLE_CONSISTENCY by default, because that affects performance too much).
+
+ * wtf/HashMap.h: (WTF::::checkConsistency): Call through to HashTable implementation. We can
+ add similar calls to HashSet and HashCountedSet, but I haven't seen hard to debug problems
+ with those yet.
+
+ * wtf/HashSet.h: (WTF::::remove): The version of checkTableConsistency that's guarded by
+ CHECK_HASHTABLE_CONSISTENCY is now called internalCheckTableConsistency().
+
+ * wtf/HashTable.h:
+ (WTF::HashTable::internalCheckTableConsistency):
+ (WTF::HashTable::internalCheckTableConsistencyExceptSize):
+ (WTF::HashTable::checkTableConsistencyExceptSize):
+ Expose checkTableConsistency() even if CHECK_HASHTABLE_CONSISTENCY is off.
+ (WTF::::add): Updated for checkTableConsistency renaming.
+ (WTF::::addPassingHashCode): Ditto.
+ (WTF::::removeAndInvalidate): Ditto.
+ (WTF::::remove): Ditto.
+ (WTF::::rehash): Ditto.
+ (WTF::::checkTableConsistency): The assertion for !shouldExpand() was not correct - this
+ function returns true for tables with m_table == 0.
+ (WTF::::checkTableConsistencyExceptSize): Call checkValueConsistency for key. Potentially,
+ we could do the same for values.
+
+ * wtf/HashTraits.h:
+ (WTF::GenericHashTraits::checkValueConsistency): An empty function that can be overridden
+ to add checks. Currently, the only override is for pointer hashes.
+
+ * wtf/RefPtrHashMap.h: (WTF::::remove): Updated for checkTableConsistency renaming.
+
+2010-01-26 Lyon Chen <liachen@rim.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Opcode.h use const void* for Opcode cause error #1211 for RVCT compiler
+ https://bugs.webkit.org/show_bug.cgi?id=33902
+
+ * bytecode/Opcode.h:
+
+2010-01-26 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Windows build references non-existent include paths
+ https://bugs.webkit.org/show_bug.cgi?id=34175
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
+ * JavaScriptCore.vcproj/WTF/WTFCommon.vsprops:
+ * JavaScriptCore.vcproj/jsc/jscCommon.vsprops:
+ * JavaScriptCore.vcproj/testapi/testapi.vcproj:
+ * JavaScriptCore.vcproj/testapi/testapiCommon.vsprops:
+
+2010-01-26 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ Using JavaScriptCore API with a webkit vended context can result in slow script dialog
+ https://bugs.webkit.org/show_bug.cgi?id=34172
+
+ Make the APIShim correctly increment and decrement the timeout
+ entry counter.
+
+ * API/APIShims.h:
+ (JSC::APIEntryShimWithoutLock::APIEntryShimWithoutLock):
+ (JSC::APIEntryShimWithoutLock::~APIEntryShimWithoutLock):
+ (JSC::APICallbackShim::APICallbackShim):
+ (JSC::APICallbackShim::~APICallbackShim):
+
+2010-01-26 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] Fix compilation of QtScript with non-gcc compilers
+
+ Variable length stack arrays are a gcc extension. Use QVarLengthArray
+ as a more portable solution that still tries to allocate on the stack
+ first.
+
+ * qt/api/qscriptvalue_p.h:
+ (QScriptValuePrivate::call):
+
+2010-01-26 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Fix the build on platforms without JIT support.
+
+ The JIT support should be determined at compile-time via wtf/Platform.h
+
+ * qt/api/QtScript.pro:
+
+2010-01-26 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ First steps of the QtScript API.
+
+ Two new classes were created; QScriptEngine and QScriptValue.
+ The first should encapsulate a javascript context and the second a script
+ value.
+
+ This API is still in development, so it isn't compiled by default.
+ To trigger compilation, pass --qmakearg="CONFIG+=build-qtscript" to
+ build-webkit.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32565
+
+ * qt/api/QtScript.pro: Added.
+ * qt/api/qscriptconverter_p.h: Added.
+ (QScriptConverter::toString):
+ * qt/api/qscriptengine.cpp: Added.
+ (QScriptEngine::QScriptEngine):
+ (QScriptEngine::~QScriptEngine):
+ (QScriptEngine::evaluate):
+ (QScriptEngine::collectGarbage):
+ * qt/api/qscriptengine.h: Added.
+ * qt/api/qscriptengine_p.cpp: Added.
+ (QScriptEnginePrivate::QScriptEnginePrivate):
+ (QScriptEnginePrivate::~QScriptEnginePrivate):
+ (QScriptEnginePrivate::evaluate):
+ * qt/api/qscriptengine_p.h: Added.
+ (QScriptEnginePrivate::get):
+ (QScriptEnginePrivate::collectGarbage):
+ (QScriptEnginePrivate::makeJSValue):
+ (QScriptEnginePrivate::context):
+ * qt/api/qscriptvalue.cpp: Added.
+ (QScriptValue::QScriptValue):
+ (QScriptValue::~QScriptValue):
+ (QScriptValue::isValid):
+ (QScriptValue::isBool):
+ (QScriptValue::isBoolean):
+ (QScriptValue::isNumber):
+ (QScriptValue::isNull):
+ (QScriptValue::isString):
+ (QScriptValue::isUndefined):
+ (QScriptValue::isError):
+ (QScriptValue::isObject):
+ (QScriptValue::isFunction):
+ (QScriptValue::toString):
+ (QScriptValue::toNumber):
+ (QScriptValue::toBool):
+ (QScriptValue::toBoolean):
+ (QScriptValue::toInteger):
+ (QScriptValue::toInt32):
+ (QScriptValue::toUInt32):
+ (QScriptValue::toUInt16):
+ (QScriptValue::call):
+ (QScriptValue::engine):
+ (QScriptValue::operator=):
+ (QScriptValue::equals):
+ (QScriptValue::strictlyEquals):
+ * qt/api/qscriptvalue.h: Added.
+ (QScriptValue::):
+ * qt/api/qscriptvalue_p.h: Added.
+ (QScriptValuePrivate::):
+ (QScriptValuePrivate::get):
+ (QScriptValuePrivate::QScriptValuePrivate):
+ (QScriptValuePrivate::isValid):
+ (QScriptValuePrivate::isBool):
+ (QScriptValuePrivate::isNumber):
+ (QScriptValuePrivate::isNull):
+ (QScriptValuePrivate::isString):
+ (QScriptValuePrivate::isUndefined):
+ (QScriptValuePrivate::isError):
+ (QScriptValuePrivate::isObject):
+ (QScriptValuePrivate::isFunction):
+ (QScriptValuePrivate::toString):
+ (QScriptValuePrivate::toNumber):
+ (QScriptValuePrivate::toBool):
+ (QScriptValuePrivate::toInteger):
+ (QScriptValuePrivate::toInt32):
+ (QScriptValuePrivate::toUInt32):
+ (QScriptValuePrivate::toUInt16):
+ (QScriptValuePrivate::equals):
+ (QScriptValuePrivate::strictlyEquals):
+ (QScriptValuePrivate::assignEngine):
+ (QScriptValuePrivate::call):
+ (QScriptValuePrivate::engine):
+ (QScriptValuePrivate::context):
+ (QScriptValuePrivate::value):
+ (QScriptValuePrivate::object):
+ (QScriptValuePrivate::inherits):
+ (QScriptValuePrivate::isJSBased):
+ (QScriptValuePrivate::isNumberBased):
+ (QScriptValuePrivate::isStringBased):
+ * qt/api/qtscriptglobal.h: Added.
+ * qt/tests/qscriptengine/qscriptengine.pro: Added.
+ * qt/tests/qscriptengine/tst_qscriptengine.cpp: Added.
+ (tst_QScriptEngine::tst_QScriptEngine):
+ (tst_QScriptEngine::~tst_QScriptEngine):
+ (tst_QScriptEngine::init):
+ (tst_QScriptEngine::cleanup):
+ (tst_QScriptEngine::collectGarbage):
+ (tst_QScriptEngine::evaluate):
+ * qt/tests/qscriptvalue/qscriptvalue.pro: Added.
+ * qt/tests/qscriptvalue/tst_qscriptvalue.cpp: Added.
+ (tst_QScriptValue::tst_QScriptValue):
+ (tst_QScriptValue::~tst_QScriptValue):
+ (tst_QScriptValue::init):
+ (tst_QScriptValue::cleanup):
+ (tst_QScriptValue::ctor):
+ (tst_QScriptValue::toString_data):
+ (tst_QScriptValue::toString):
+ (tst_QScriptValue::copyConstructor_data):
+ (tst_QScriptValue::copyConstructor):
+ (tst_QScriptValue::assignOperator_data):
+ (tst_QScriptValue::assignOperator):
+ (tst_QScriptValue::dataSharing):
+ (tst_QScriptValue::constructors_data):
+ (tst_QScriptValue::constructors):
+ (tst_QScriptValue::call):
+ * qt/tests/tests.pri: Added.
+ * qt/tests/tests.pro: Added.
+
+2010-01-25 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by David Levin.
+
+ Fix Chromium Linux tests: the pthread functions on Linux produce segfault if they receive 0 thread handle.
+ After r53714, we can have 0 thread handles passed to pthread_join and pthread_detach if corresponding threads
+ were already terminated and their threadMap entries cleared.
+ Add a 0 check.
+
+ * wtf/ThreadingPthreads.cpp:
+ (WTF::waitForThreadCompletion):
+ (WTF::detachThread):
+
+2010-01-24 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Refactor JITStubs.cpp so that DEFINE_STUB_FUNCTION is only used once for each function
+ https://bugs.webkit.org/show_bug.cgi?id=33866
+
+ Place the guard USE(JSVALUE32_64) inside the body of the DEFINE_STUB_FUNCTION
+ macro for those functions that are always present.
+
+ * jit/JITStubs.cpp:
+ (JSC::DEFINE_STUB_FUNCTION):
+
+2010-01-22 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ [wx] Remove the Bakefile build system, which is no longer being used.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34022
+
+ * JavaScriptCoreSources.bkl: Removed.
+ * jscore.bkl: Removed.
+
+2010-01-22 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34025
+ Enable client-based Geolocation abstraction for Mac, Windows AppleWebKit targets.
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2010-01-22 Dmitry Titov <dimich@chromium.org>
+
+ Not reviewed, attempted Snow Leopard build fix.
+
+ * wtf/ThreadingPthreads.cpp: Add a forward declaration of a function which is not 'static'.
+
+2009-01-22 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Fix the leak of ThreadIdentifiers in threadMap across threads.
+ https://bugs.webkit.org/show_bug.cgi?id=32689
+
+ Test is added to DumpRenderTree.mm.
+
+ * Android.mk: Added file ThreadIdentifierDataPthreads.(h|cpp) to build.
+ * Android.v8.wtf.mk: Ditto.
+ * GNUmakefile.am: Ditto.
+ * JavaScriptCore.gyp/JavaScriptCore.gyp: Ditto.
+ * JavaScriptCore.gypi: Ditto.
+ * JavaScriptCore.xcodeproj/project.pbxproj: Ditto.
+
+ * wtf/ThreadIdentifierDataPthreads.cpp: Added. Contains custom implementation of thread-specific data that uses custom destructor.
+ (WTF::ThreadIdentifierData::~ThreadIdentifierData): Removes the ThreadIdentifier from the threadMap.
+ (WTF::ThreadIdentifierData::identifier):
+ (WTF::ThreadIdentifierData::initialize):
+ (WTF::ThreadIdentifierData::destruct): Custom thread-specific destructor. Resets the value for the key again to cause second invoke.
+ (WTF::ThreadIdentifierData::initializeKeyOnceHelper):
+ (WTF::ThreadIdentifierData::initializeKeyOnce): Need to use pthread_once since initialization may come on any thread(s).
+ * wtf/ThreadIdentifierDataPthreads.h: Added.
+ (WTF::ThreadIdentifierData::ThreadIdentifierData):
+
+ * wtf/Threading.cpp:
+ (WTF::threadEntryPoint): Move initializeCurrentThreadInternal to after the lock to make
+ sure it is invoked when ThreadIdentifier is already established.
+
+ * wtf/Threading.h: Rename setThreadNameInternal -> initializeCurrentThreadInternal since it does more then only set the name now.
+ * wtf/ThreadingNone.cpp:
+ (WTF::initializeCurrentThreadInternal): Ditto.
+ * wtf/ThreadingWin.cpp:
+ (WTF::initializeCurrentThreadInternal): Ditto.
+ (WTF::initializeThreading): Ditto.
+ * wtf/gtk/ThreadingGtk.cpp:
+ (WTF::initializeCurrentThreadInternal): Ditto.
+ * wtf/qt/ThreadingQt.cpp:
+ (WTF::initializeCurrentThreadInternal): Ditto.
+
+ * wtf/ThreadingPthreads.cpp:
+ (WTF::establishIdentifierForPthreadHandle):
+ (WTF::clearPthreadHandleForIdentifier): Make it not 'static' so the ~ThreadIdentifierData() in another file can call it.
+ (WTF::initializeCurrentThreadInternal): Set the thread-specific data. The ThreadIdentifier is already established by creating thread.
+ (WTF::waitForThreadCompletion): Remove call to clearPthreadHandleForIdentifier(threadID) since it is now done in ~ThreadIdentifierData().
+ (WTF::detachThread): Ditto.
+ (WTF::currentThread): Use the thread-specific data to get the ThreadIdentifier. It's many times faster then Mutex-protected iteration through the map.
+ Also, set the thread-specific data if called first time on the thread.
+
+2010-01-21 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Add ThreadSpecific for ENABLE(SINGLE_THREADED)
+ https://bugs.webkit.org/show_bug.cgi?id=33878
+
+ Implement ThreadSpecific with a simple getter/setter
+ when ENABLE(SINGLE_THREADED) is true.
+
+ Due to the change in https://bugs.webkit.org/show_bug.cgi?id=33236,
+ an implementation of ThreadSpecific must be available to build WebKit.
+ This causes a build failure for platforms without a proper
+ ThreadSpecific implementation.
+
+ * wtf/ThreadSpecific.h:
+ (WTF::::ThreadSpecific):
+ (WTF::::~ThreadSpecific):
+ (WTF::::get):
+ (WTF::::set):
+ (WTF::::destroy):
+
+2010-01-21 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Maciej Stachowiak.
+
+ Add fastStrDup to FastMalloc
+ https://bugs.webkit.org/show_bug.cgi?id=33937
+
+ The new string returned by fastStrDup is obtained with fastMalloc,
+ and can be freed with fastFree. This makes the memory management
+ more consistent because we don't need to keep strdup allocated pointers
+ and free them with free(). Instead we can use fastFree everywhere.
+
+ * wtf/FastMalloc.cpp:
+ (WTF::fastStrDup):
+ * wtf/FastMalloc.h:
+
+2010-01-21 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ history.back() for same-document history traversals isn't synchronous as the specification states.
+ <rdar://problem/7535011> and https://bugs.webkit.org/show_bug.cgi?id=33538
+
+ * wtf/Platform.h: Add a "HISTORY_ALWAYS_ASYNC" enable and turn it on for Chromium.
+
+2010-01-21 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Always create a prototype for automatically managed classes.
+
+ This fixes some errors where prototype chains were not correctly hooked
+ up, and also ensures that API classes work correctly with features like
+ instanceof.
+
+ * API/JSClassRef.cpp:
+ (OpaqueJSClass::create): Cleaned up some of this code. Also changed it
+ to always create a prototype class.
+
+ * API/tests/testapi.c:
+ (Derived2_class):
+ (main): Fixed a null value crash in the exception checking code.
+ * API/tests/testapi.js: Added some tests for the case where a prototype
+ chain would not be hooked up correctly.
+
+2010-01-21 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Force JSC to create a prototype chain for API classes with a
+ parent class but no static functions.
+
+ * API/JSClassRef.cpp:
+ (OpaqueJSClass::create):
+
+2010-01-21 Kent Hansen <kent.hansen@nokia.com>
+
+ Reviewed by Geoffrey Garen.
+
+ Object.getOwnPropertyDescriptor always returns undefined for JS API objects
+ https://bugs.webkit.org/show_bug.cgi?id=33946
+
+ Ideally the getOwnPropertyDescriptor() reimplementation should return an
+ access descriptor that wraps the property getter and setter callbacks, but
+ that approach is much more involved than returning a value descriptor.
+ Keep it simple for now.
+
+ * API/JSCallbackObject.h:
+ * API/JSCallbackObjectFunctions.h:
+ (JSC::::getOwnPropertyDescriptor):
+ * API/tests/testapi.js:
+
+2010-01-20 Mark Rowe <mrowe@apple.com>
+
+ Build fix.
+
+ * wtf/FastMalloc.cpp:
+ (WTF::TCMalloc_PageHeap::initializeScavenger): Remove unnecessary function call.
+
+2010-01-20 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Use the inline i386 assembly for x86_64 as well rather than falling back to using pthread mutexes.
+
+ * wtf/TCSpinLock.h:
+ (TCMalloc_SpinLock::Lock):
+ (TCMalloc_SpinLock::Unlock):
+ (TCMalloc_SlowLock):
+
+2010-01-20 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ <rdar://problem/7215063> Use GCD instead of an extra thread for FastMalloc scavenging on platforms where it is supported
+
+ Abstract the background scavenging slightly so that an alternate implementation that uses GCD can be used on platforms
+ where it is supported.
+
+ * wtf/FastMalloc.cpp:
+ (WTF::TCMalloc_PageHeap::init):
+ (WTF::TCMalloc_PageHeap::initializeScavenger):
+ (WTF::TCMalloc_PageHeap::signalScavenger):
+ (WTF::TCMalloc_PageHeap::shouldContinueScavenging):
+ (WTF::TCMalloc_PageHeap::Delete):
+ (WTF::TCMalloc_PageHeap::periodicScavenge):
+ * wtf/Platform.h:
+
+2010-01-20 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ <rdar://problem/7562708> REGRESSION(53460): Heap::destroy may not run
+ all destructors
+
+ * runtime/Collector.cpp:
+ (JSC::Heap::freeBlocks): Instead of fully marking protected objects,
+ just set their mark bits. This prevents protected objects from keeping
+ unprotected objects alive. Destructor order is not guaranteed, so it's
+ OK to destroy objects pointed to by protected objects before destroying
+ protected objects.
+
+2010-01-19 David Levin <levin@chromium.org>
+
+ Reviewed by Oliver Hunt.
+
+ CrossThreadCopier needs to support ThreadSafeShared better.
+ https://bugs.webkit.org/show_bug.cgi?id=33698
+
+ * wtf/TypeTraits.cpp: Added tests for the new type traits.
+ * wtf/TypeTraits.h:
+ (WTF::IsSubclass): Determines if a class is a derived from another class.
+ (WTF::IsSubclassOfTemplate): Determines if a class is a derived from a
+ template class (with one parameter that is unknown).
+ (WTF::RemoveTemplate): Reveals the type for a template parameter.
+
+2010-01-20 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Darin Adler and Adam Roben.
+
+ Feature defines are difficult to maintain on Windows builds
+ https://bugs.webkit.org/show_bug.cgi?id=33883
+
+ FeatureDefines.vsprops are now maintained in a way similar to
+ Configurations/FeatureDefines.xcconfig, with the added advantage
+ of having a single FeatureDefines file across all projects.
+
+ * Configurations/FeatureDefines.xcconfig: Add comments about keeping feature definitions in sync.
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Add FeatureDefines.vsprops inherited property sheet.
+ * JavaScriptCore.vcproj/WTF/WTF.vcproj: Add FeatureDefines.vsprops inherited property sheet.
+
+2010-01-20 Csaba Osztrogonác <ossy@webkit.org>
+
+ [Qt] Unreviewed buildfix for r53547.
+
+ * DerivedSources.pro:
+
+2010-01-20 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Make extraCompilers for generated sources depend on their scripts
+
+ * DerivedSources.pro:
+
+2010-01-19 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Tim Hatcher.
+
+ When JavaScriptCore calls Debugger::Exception, have it pass a
+ hasHandler variable that represents if exception is being handled
+ in the same function (not in a parent on the call stack).
+
+ This just adds a new parameter, no behavior is changed.
+
+ * debugger/Debugger.h:
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::throwException):
+
+2010-01-18 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Adam Barth.
+
+ Inline functions that are hot in DOM manipulation
+ https://bugs.webkit.org/show_bug.cgi?id=33820
+
+ (3% speedup on Dromaeo DOM Core tests)
+
+ * runtime/WeakGCMap.h:
+ (JSC::::get): inline
+
+2010-01-19 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Unreviewed build fix for JIT with RVCT.
+
+ Remove IMPORT statement; cti_vm_throw is already defined in JITStubs.h.
+ Remove extra ')'.
+
+ * jit/JITStubs.cpp:
+ (JSC::ctiVMThrowTrampoline):
+
+2010-01-19 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ REGRESSION (52082): Crash on worker thread when reloading http://radnan.public.iastate.edu/procedural/
+ https://bugs.webkit.org/show_bug.cgi?id=33826
+
+ This bug was caused by a GC-protected object being destroyed early by
+ Heap::destroy. Clients of the GC protect APIs (reasonably) expect pointers
+ to GC-protected memory to be valid.
+
+ The solution is to do two passes of tear-down in Heap::destroy. The first
+ pass tears down all unprotected objects. The second pass ASSERTs that all
+ previously protected objects are now unprotected, and then tears down
+ all perviously protected objects. These two passes simulate the two passes
+ that would have been required to free a protected object during normal GC.
+
+ * API/JSContextRef.cpp: Removed some ASSERTs that have moved into Heap.
+
+ * runtime/Collector.cpp:
+ (JSC::Heap::destroy): Moved ASSERTs to here.
+ (JSC::Heap::freeBlock): Tidied up the use of didShrink by moving its
+ setter to the function that does the shrinking.
+ (JSC::Heap::freeBlocks): Implemented above algorithm.
+ (JSC::Heap::shrinkBlocks): Tidied up the use of didShrink.
+
+2010-01-19 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (build fix).
+
+ Reverting r53455, breaks 2 javascriptcore tests.
+
+ * API/JSContextRef.cpp:
+ * runtime/Collector.cpp:
+ (JSC::Heap::destroy):
+ (JSC::Heap::freeBlock):
+ (JSC::Heap::freeBlocks):
+ (JSC::Heap::shrinkBlocks):
+
+2010-01-18 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (build fix).
+
+ Revert r53454, since it causes much sadness in this world.
+
+ * runtime/UString.cpp:
+ (JSC::UString::spliceSubstringsWithSeparators):
+ (JSC::UString::replaceRange):
+ * runtime/UStringImpl.cpp:
+ (JSC::UStringImpl::baseSharedBuffer):
+ (JSC::UStringImpl::sharedBuffer):
+ (JSC::UStringImpl::~UStringImpl):
+ * runtime/UStringImpl.h:
+ (JSC::UntypedPtrAndBitfield::UntypedPtrAndBitfield):
+ (JSC::UntypedPtrAndBitfield::asPtr):
+ (JSC::UntypedPtrAndBitfield::operator&=):
+ (JSC::UntypedPtrAndBitfield::operator|=):
+ (JSC::UntypedPtrAndBitfield::operator&):
+ (JSC::UStringImpl::create):
+ (JSC::UStringImpl::cost):
+ (JSC::UStringImpl::isIdentifier):
+ (JSC::UStringImpl::setIsIdentifier):
+ (JSC::UStringImpl::ref):
+ (JSC::UStringImpl::deref):
+ (JSC::UStringImpl::checkConsistency):
+ (JSC::UStringImpl::UStringImpl):
+ (JSC::UStringImpl::bufferOwnerString):
+ (JSC::UStringImpl::bufferOwnership):
+ (JSC::UStringImpl::isStatic):
+ * wtf/StringHashFunctions.h:
+ (WTF::stringHash):
+
+2010-01-18 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ REGRESSION (52082): Crash on worker thread when reloading http://radnan.public.iastate.edu/procedural/
+ https://bugs.webkit.org/show_bug.cgi?id=33826
+
+ This bug was caused by a GC-protected object being destroyed early by
+ Heap::destroy. Clients of the GC protect APIs (reasonably) expect pointers
+ to GC-protected memory to be valid.
+
+ The solution is to do two passes of tear-down in Heap::destroy. The first
+ pass tears down all unprotected objects. The second pass ASSERTs that all
+ previously protected objects are now unprotected, and then tears down
+ all perviously protected objects. These two passes simulate the two passes
+ that would have been required to free a protected object during normal GC.
+
+ * API/JSContextRef.cpp: Removed some ASSERTs that have moved into Heap.
+
+ * runtime/Collector.cpp:
+ (JSC::Heap::destroy): Moved ASSERTs to here.
+ (JSC::Heap::freeBlock): Tidied up the use of didShrink by moving its
+ setter to the function that does the shrinking.
+ (JSC::Heap::freeBlocks): Implemented above algorithm.
+ (JSC::Heap::shrinkBlocks): Tidied up the use of didShrink.
+
+2010-01-18 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33731
+ Remove UntypedPtrAndBitfield from UStringImpl (akin to PtrAndFlags).
+
+ This break the OS X Leaks tool. Instead, free up some more bits from the refCount.
+
+ * runtime/UStringImpl.cpp:
+ (JSC::UStringImpl::sharedBuffer):
+ (JSC::UStringImpl::~UStringImpl):
+ * runtime/UStringImpl.h:
+ (JSC::UStringImpl::cost):
+ (JSC::UStringImpl::checkConsistency):
+ (JSC::UStringImpl::UStringImpl):
+ (JSC::UStringImpl::bufferOwnerString):
+ (JSC::UStringImpl::):
+ * wtf/StringHashFunctions.h:
+ (WTF::stringHash):
+
+2010-01-18 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ HTMLInputElement::valueAsDate setter support for type=month.
+ https://bugs.webkit.org/show_bug.cgi?id=33021
+
+ Expose the following functions to be used by WebCore:
+ - WTF::msToyear()
+ - WTF::dayInYear()
+ - WTF::monthFromDayInYear()
+ - WTF::dayInMonthFromDayInYear()
+
+ * JavaScriptCore.exp:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * wtf/DateMath.cpp:
+ (WTF::msToYear): Remove "static inline".
+ (WTF::dayInYear): Remove "static inline".
+ (WTF::monthFromDayInYear): Remove "static inline".
+ (WTF::dayInMonthFromDayInYear): Remove "static inline".
+ * wtf/DateMath.h: Declare the above functions.
+
+2010-01-18 Darin Adler <darin@apple.com>
+
+ Fix build by reverting the previous change.
+
+ * runtime/UString.h: Rolled out the FastAllocBase base class.
+ It was making UString larger, and therefore JSString larger,
+ and too big for a garbage collection cell.
+
+ This raises the unpleasant possibility that many classes became
+ larger because we added the FastAllocBase base class. I am
+ worried about this, and it needs to be investigated.
+
+2010-01-18 Zoltan Horvath <zoltan@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Allow custom memory allocation control for UString class
+ https://bugs.webkit.org/show_bug.cgi?id=27831
+
+ Inherits the following class from FastAllocBase because it is
+ instantiated by 'new' and no need to be copyable:
+
+ class name - instantiated at:
+ classs UString - JavaScriptCore/runtime/UString.cpp:160
+
+ * runtime/UString.h:
+
+2010-01-18 Evan Cheng <evan.cheng@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Add some ALWAYS_INLINE for key functions not inlined by some versions of GCC.
+ rdar://problem/7553780
+
+ * runtime/JSObject.h:
+ (JSC::JSObject::getPropertySlot): ALWAYS_INLINE both overloads.
+ * runtime/JSString.h:
+ (JSC::JSString::JSString): ALWAYS_INLINE the version that takes a UString.
+ * runtime/UString.h:
+ (JSC::operator==): ALWAYS_INLINE the version that compares two UString objects.
+
+2010-01-18 Csaba Osztrogonác <ossy@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Delete dftables-xxxxxxxx.in files automatically.
+ https://bugs.webkit.org/show_bug.cgi?id=33796
+
+ * pcre/dftables: unlink unnecessary temporary file.
+
+2010-01-18 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Force qmake to generate a single makefile for DerivedSources.pro
+
+ * DerivedSources.pro:
+
+2010-01-18 Csaba Osztrogonác <ossy@webkit.org>
+
+ Rubber-stamped by Gustavo Noronha Silva.
+
+ Rolling out r53391 and r53392 because of random crashes on buildbots.
+ https://bugs.webkit.org/show_bug.cgi?id=33731
+
+ * bytecode/CodeBlock.h:
+ (JSC::CallLinkInfo::seenOnce):
+ (JSC::CallLinkInfo::setSeen):
+ (JSC::MethodCallLinkInfo::MethodCallLinkInfo):
+ (JSC::MethodCallLinkInfo::seenOnce):
+ (JSC::MethodCallLinkInfo::setSeen):
+ * jit/JIT.cpp:
+ (JSC::JIT::unlinkCall):
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::patchMethodCallProto):
+ * runtime/UString.cpp:
+ (JSC::UString::spliceSubstringsWithSeparators):
+ (JSC::UString::replaceRange):
+ * runtime/UString.h:
+ * runtime/UStringImpl.cpp:
+ (JSC::UStringImpl::baseSharedBuffer):
+ (JSC::UStringImpl::sharedBuffer):
+ (JSC::UStringImpl::~UStringImpl):
+ * runtime/UStringImpl.h:
+ (JSC::UntypedPtrAndBitfield::UntypedPtrAndBitfield):
+ (JSC::UntypedPtrAndBitfield::asPtr):
+ (JSC::UntypedPtrAndBitfield::operator&=):
+ (JSC::UntypedPtrAndBitfield::operator|=):
+ (JSC::UntypedPtrAndBitfield::operator&):
+ (JSC::UStringImpl::create):
+ (JSC::UStringImpl::cost):
+ (JSC::UStringImpl::isIdentifier):
+ (JSC::UStringImpl::setIsIdentifier):
+ (JSC::UStringImpl::ref):
+ (JSC::UStringImpl::deref):
+ (JSC::UStringImpl::checkConsistency):
+ (JSC::UStringImpl::UStringImpl):
+ (JSC::UStringImpl::bufferOwnerString):
+ (JSC::UStringImpl::bufferOwnership):
+ (JSC::UStringImpl::isStatic):
+ * wtf/StringHashFunctions.h:
+ (WTF::stringHash):
+
+2010-01-18 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Fix the build with strict gcc and RVCT versions: It's not legal to cast a
+ pointer to a function to a void* without an intermediate cast to a non-pointer
+ type. A cast to a ptrdiff_t inbetween fixes it.
+
+ * runtime/JSString.h:
+ (JSC::Fiber::JSString):
+
+2010-01-15 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33731
+ Remove UntypedPtrAndBitfield from UStringImpl (akin to PtrAndFlags).
+
+ This break the OS X Leaks tool. Instead, free up some more bits from the refCount.
+
+ * runtime/UStringImpl.cpp:
+ (JSC::UStringImpl::sharedBuffer):
+ (JSC::UStringImpl::~UStringImpl):
+ * runtime/UStringImpl.h:
+ (JSC::UStringImpl::cost):
+ (JSC::UStringImpl::checkConsistency):
+ (JSC::UStringImpl::UStringImpl):
+ (JSC::UStringImpl::bufferOwnerString):
+ (JSC::UStringImpl::):
+ * wtf/StringHashFunctions.h:
+ (WTF::stringHash):
+
+2010-01-15 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33731
+ Remove uses of PtrAndFlags from JIT data stuctures.
+
+ These break the OS X Leaks tool. Free up a bit in CallLinkInfo, and invalid
+ permutation of pointer states in MethodCallLinkInfo to represent the removed bits.
+
+ * bytecode/CodeBlock.h:
+ (JSC::CallLinkInfo::seenOnce):
+ (JSC::CallLinkInfo::setSeen):
+ (JSC::MethodCallLinkInfo::MethodCallLinkInfo):
+ (JSC::MethodCallLinkInfo::seenOnce):
+ (JSC::MethodCallLinkInfo::setSeen):
+ * jit/JIT.cpp:
+ (JSC::JIT::unlinkCall):
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::patchMethodCallProto):
+ * runtime/UString.h:
+
+2010-01-16 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Cache JS string values made from DOM strings (Dromaeo speedup)
+ https://bugs.webkit.org/show_bug.cgi?id=33768
+ <rdar://problem/7353576>
+
+ * runtime/JSString.h:
+ (JSC::jsStringWithFinalizer): Added new mechanism for a string to have an optional
+ finalizer callback, for the benefit of weak-referencing caches.
+ (JSC::):
+ (JSC::Fiber::JSString):
+ (JSC::Fiber::~JSString):
+ * runtime/JSString.cpp:
+ (JSC::JSString::resolveRope): Clear fibers so this doesn't look like a string with a finalizer.
+ * runtime/WeakGCMap.h: Include "Collector.h" to make this header includable by itself.
+
+2010-01-15 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Fix for <rdar://problem/7548432>
+ Add ALWAYS_INLINE to jsLess for a 1% speedup on llvm-gcc.
+
+ * runtime/Operations.h:
+ (JSC::jsLess):
+
+2010-01-14 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ REGRESISON: Google maps buttons not working properly
+ https://bugs.webkit.org/show_bug.cgi?id=31871
+
+ REGRESSION(r52948): JavaScript exceptions thrown on Google Maps when
+ getting directions for a second time
+ https://bugs.webkit.org/show_bug.cgi?id=33446
+
+ SunSpider and v8 report no change.
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::tryCacheGetByID): Update our cached offset in case
+ flattening the dictionary changed any of its offsets.
+
+ * jit/JITStubs.cpp:
+ (JSC::JITThunks::tryCacheGetByID):
+ (JSC::DEFINE_STUB_FUNCTION):
+ * runtime/Operations.h:
+ (JSC::normalizePrototypeChain): ditto
+
+2010-01-14 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33705
+ UStringImpl::create() should use internal storage
+
+ When creating a UStringImpl copying of a UChar*, we can use an internal buffer,
+ by calling UStringImpl::tryCreateUninitialized().
+
+ Also, remove duplicate of copyChars from JSString, call UStringImpl's version.
+
+ Small (max 0.5%) progression on Sunspidey.
+
+ * runtime/JSString.cpp:
+ (JSC::JSString::resolveRope):
+ * runtime/UStringImpl.h:
+ (JSC::UStringImpl::create):
+
+2010-01-14 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Make naming & behaviour of UString[Impl] methods more consistent.
+ https://bugs.webkit.org/show_bug.cgi?id=33702
+
+ UString::create() creates a copy of the UChar* passed, but UStringImpl::create() assumes
+ that it should assume ownership of the provided buffer (with UString::createNonCopying()
+ and UStringImpl::createCopying() providing the alternate behaviours). Unify on create()
+ taking a copy of the provided buffer. For non-copying cases, use the name 'adopt', and
+ make this method take a Vector<UChar>&. For cases where non-copying construction was being
+ used, other than from a Vector<UChar>, change the code to allocate the storage along with
+ the UStringImpl using UStringImpl::createUninitialized(). (The adopt() method also more
+ closely matches that of WebCore::StringImpl).
+
+ Also, UString::createUninitialized() and UStringImpl::createUninitialized() have incompatible
+ behaviours, in that the UString form sets the provided UChar* to a null or non-null value to
+ indicate success or failure, but UStringImpl uses the returned PassRefPtr<UStringImpl> to
+ indicate when allocation has failed (potentially leaving the output Char* uninitialized).
+ This is also incompatible with WebCore::StringImpl's behaviour, in that
+ StringImpl::createUninitialized() will CRASH() if unable to allocate. Some uses of
+ createUninitialized() in JSC are unsafe, since they do not test the result for null.
+ UStringImpl's indication is preferable, since we may want a successful call to set the result
+ buffer to 0 (specifically, StringImpl returns 0 for the buffer where createUninitialized()
+ returns the empty string, which seems reasonable to catch bugs early). UString's method
+ cannot support UStringImpl's behaviour directly, since it returns an object rather than a
+ pointer.
+ - remove UString::createUninitialized(), replace with calls to UStringImpl::createUninitialized()
+ - create a UStringImpl::tryCreateUninitialized() form UStringImpl::createUninitialized(),
+ with current behaviour, make createUninitialized() crash on failure to allocate.
+ - make cases in JSC that do not check the result call createUninitialized(), and cases that do
+ check call tryCreateUninitialized().
+
+ Rename computedHash() to existingHash(), to bring this in line wih WebCore::StringImpl.
+
+ * API/JSClassRef.cpp:
+ (OpaqueJSClassContextData::OpaqueJSClassContextData):
+ * JavaScriptCore.exp:
+ * runtime/ArrayPrototype.cpp:
+ (JSC::arrayProtoFuncToString):
+ * runtime/Identifier.cpp:
+ (JSC::CStringTranslator::translate):
+ (JSC::UCharBufferTranslator::translate):
+ * runtime/JSString.cpp:
+ (JSC::JSString::resolveRope):
+ * runtime/Lookup.cpp:
+ (JSC::HashTable::createTable):
+ * runtime/Lookup.h:
+ (JSC::HashTable::entry):
+ * runtime/StringBuilder.h:
+ (JSC::StringBuilder::release):
+ * runtime/StringConstructor.cpp:
+ (JSC::stringFromCharCodeSlowCase):
+ * runtime/StringPrototype.cpp:
+ (JSC::substituteBackreferencesSlow):
+ (JSC::stringProtoFuncToLowerCase):
+ (JSC::stringProtoFuncToUpperCase):
+ (JSC::stringProtoFuncFontsize):
+ (JSC::stringProtoFuncLink):
+ * runtime/Structure.cpp:
+ (JSC::Structure::despecifyDictionaryFunction):
+ (JSC::Structure::get):
+ (JSC::Structure::despecifyFunction):
+ (JSC::Structure::put):
+ (JSC::Structure::remove):
+ (JSC::Structure::insertIntoPropertyMapHashTable):
+ (JSC::Structure::checkConsistency):
+ * runtime/Structure.h:
+ (JSC::Structure::get):
+ * runtime/StructureTransitionTable.h:
+ (JSC::StructureTransitionTableHash::hash):
+ * runtime/UString.cpp:
+ (JSC::createRep):
+ (JSC::UString::UString):
+ (JSC::UString::spliceSubstringsWithSeparators):
+ (JSC::UString::replaceRange):
+ (JSC::UString::operator=):
+ * runtime/UString.h:
+ (JSC::UString::adopt):
+ (JSC::IdentifierRepHash::hash):
+ (JSC::makeString):
+ * runtime/UStringImpl.h:
+ (JSC::UStringImpl::adopt):
+ (JSC::UStringImpl::create):
+ (JSC::UStringImpl::createUninitialized):
+ (JSC::UStringImpl::tryCreateUninitialized):
+ (JSC::UStringImpl::existingHash):
+
+2010-01-13 Kent Hansen <kent.hansen@nokia.com>
+
+ Reviewed by Oliver Hunt.
+
+ JSON.stringify and JSON.parse needlessly process properties in the prototype chain
+ https://bugs.webkit.org/show_bug.cgi?id=33053
+
+ * runtime/JSONObject.cpp:
+ (JSC::Stringifier::Holder::appendNextProperty):
+ (JSC::Walker::walk):
+
+2010-01-13 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (buildfix).
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2010-01-13 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33641
+ Assertion failure in Lexer.cpp if input stream ends while in string escape
+
+ Test: fast/js/end-in-string-escape.html
+
+ * parser/Lexer.cpp: (JSC::Lexer::lex): Bail out quickly on end of stream, not giving the
+ assertion a chance to fire.
+
+2010-01-13 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (buildfix).
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2010-01-13 Gavin Barraclough <barraclough@apple.com>
+
+ Rubber stamped by Sam Weinig & Darin Adler.
+
+ Three quick fixes to UStringImpl.
+ - The destroy() method can be switched back to a normal destructor; since we've switched
+ the way we protect static strings to be using an odd ref-count the destroy() won't abort.
+ - The cost() calculation logic was wrong. If you have multiple JSStrings wrapping substrings
+ of a base string, they would each report the full cost of the base string to the heap.
+ Instead we should only be reporting once for the base string.
+ - Remove the overloaded new operator calling fastMalloc, replace this with a 'using' to pick
+ up the implementation from the parent class.
+
+ * JavaScriptCore.exp:
+ * runtime/UStringImpl.cpp:
+ (JSC::UStringImpl::~UStringImpl):
+ * runtime/UStringImpl.h:
+ (JSC::UStringImpl::cost):
+ (JSC::UStringImpl::deref):
+
+2010-01-13 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Split the build process in two different .pro files.
+ This allows qmake to be run once all source files are available.
+
+ * DerivedSources.pro: Added.
+ * JavaScriptCore.pri: Moved source generation to DerivedSources.pro
+ * pcre/pcre.pri: Moved source generation to DerivedSources.pro
+
+2010-01-12 Kent Hansen <kent.hansen@nokia.com>
+
+ Reviewed by Geoffrey Garen.
+
+ [ES5] Implement Object.getOwnPropertyNames
+ https://bugs.webkit.org/show_bug.cgi?id=32242
+
+ Add an extra argument to getPropertyNames() and getOwnPropertyNames()
+ (and all reimplementations thereof) that indicates whether non-enumerable
+ properties should be added.
+
+ * API/JSCallbackObject.h:
+ * API/JSCallbackObjectFunctions.h:
+ (JSC::::getOwnPropertyNames):
+ * JavaScriptCore.exp:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * debugger/DebuggerActivation.cpp:
+ (JSC::DebuggerActivation::getOwnPropertyNames):
+ * debugger/DebuggerActivation.h:
+ * runtime/Arguments.cpp:
+ (JSC::Arguments::getOwnPropertyNames):
+ * runtime/Arguments.h:
+ * runtime/CommonIdentifiers.h:
+ * runtime/JSArray.cpp:
+ (JSC::JSArray::getOwnPropertyNames):
+ * runtime/JSArray.h:
+ * runtime/JSByteArray.cpp:
+ (JSC::JSByteArray::getOwnPropertyNames):
+ * runtime/JSByteArray.h:
+ * runtime/JSFunction.cpp:
+ (JSC::JSFunction::getOwnPropertyNames):
+ * runtime/JSFunction.h:
+ * runtime/JSNotAnObject.cpp:
+ (JSC::JSNotAnObject::getOwnPropertyNames):
+ * runtime/JSNotAnObject.h:
+ * runtime/JSObject.cpp:
+ (JSC::getClassPropertyNames):
+ (JSC::JSObject::getPropertyNames):
+ (JSC::JSObject::getOwnPropertyNames):
+ * runtime/JSObject.h:
+ * runtime/JSVariableObject.cpp:
+ (JSC::JSVariableObject::getOwnPropertyNames):
+ * runtime/JSVariableObject.h:
+ * runtime/ObjectConstructor.cpp:
+ (JSC::ObjectConstructor::ObjectConstructor):
+ (JSC::objectConstructorGetOwnPropertyNames):
+ * runtime/RegExpMatchesArray.h:
+ (JSC::RegExpMatchesArray::getOwnPropertyNames):
+ * runtime/StringObject.cpp:
+ (JSC::StringObject::getOwnPropertyNames):
+ * runtime/StringObject.h:
+ * runtime/Structure.cpp: Rename getEnumerablePropertyNames() to getPropertyNames(), which takes an extra argument.
+ (JSC::Structure::getPropertyNames):
+ * runtime/Structure.h:
+ (JSC::):
+
+2010-01-12 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33540
+ Make it possible to build in debug mode with assertions disabled
+
+ * jit/JITStubs.cpp: (JSC::DEFINE_STUB_FUNCTION):
+ * runtime/Identifier.cpp: (JSC::Identifier::checkSameIdentifierTable):
+ * wtf/FastMalloc.cpp:
+ * wtf/HashTable.h: (WTF::HashTableConstIterator::checkValidity):
+ * yarr/RegexCompiler.cpp: (JSC::Yarr::compileRegex):
+
+2009-11-23 Yong Li <yoli@rim.com>
+
+ Reviewed by Adam Treat.
+
+ Make GIF decoder support down-sampling
+ https://bugs.webkit.org/show_bug.cgi?id=31806
+
+ * platform/image-decoders/ImageDecoder.cpp:
+ (WebCore::ImageDecoder::upperBoundScaledY):
+ (WebCore::ImageDecoder::lowerBoundScaledY):
+ * platform/image-decoders/ImageDecoder.h:
+ (WebCore::RGBA32Buffer::scaledRect):
+ (WebCore::RGBA32Buffer::setScaledRect):
+ (WebCore::ImageDecoder::scaledSize):
+ * platform/image-decoders/gif/GIFImageDecoder.cpp:
+ (WebCore::GIFImageDecoder::sizeNowAvailable):
+ (WebCore::GIFImageDecoder::initFrameBuffer):
+ (WebCore::copyOnePixel):
+ (WebCore::GIFImageDecoder::haveDecodedRow):
+ (WebCore::GIFImageDecoder::frameComplete):
+
+2010-01-12 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ ecma/Date/15.9.5.12-1.js fails every night at midnight
+ https://bugs.webkit.org/show_bug.cgi?id=28041
+
+ Change the test to use a concrete time instead of "now".
+
+ * tests/mozilla/ecma/Date/15.9.5.10-1.js:
+ * tests/mozilla/ecma/Date/15.9.5.12-1.js:
+
+2010-01-11 Csaba Osztrogonác <ossy@webkit.org>
+
+ Reviewed by Ariya Hidayat.
+
+ [Qt] Enable JIT and YARR_JIT if (CPU(X86_64) && OS(LINUX) && GCC_VERSION >= 40100)
+
+ * wtf/Platform.h:
+
+2010-01-11 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33481
+ Uninitialized data members in ArrayStorage
+
+ SunSpider reports no change.
+
+ * runtime/JSArray.cpp:
+ (JSC::JSArray::JSArray): Initialize missing data members in the two cases
+ where we don't use fastZeroedMalloc, so it doesn't happen automatically.
+
+2010-01-11 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33480
+
+ Improve debugging reliability for WTF on Windows.
+ Store WTF static library's PDB file into a better location.
+
+ * JavaScriptCore.vcproj/WTF/WTF.vcproj:
+
+2010-01-11 Steve Falkenburg <sfalken@apple.com>
+
+ Windows build fix.
+ Remove extraneous entries from def file causing build warning.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2010-01-10 Kent Hansen <kent.hansen@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ RegExp.prototype.toString returns "//" for empty regular expressions
+ https://bugs.webkit.org/show_bug.cgi?id=33319
+
+ "//" starts a single-line comment, hence "/(?:)/" should be used, according to ECMA.
+
+ * runtime/RegExpPrototype.cpp:
+ (JSC::regExpProtoFuncToString):
+
+ * tests/mozilla/ecma_2/RegExp/properties-001.js:
+ (AddRegExpCases):
+ * tests/mozilla/js1_2/regexp/toString.js:
+ Update relevant Mozilla tests (Mozilla has had this behavior since November 2003).
+
+2010-01-10 Darin Adler <darin@apple.com>
+
+ * tests/mozilla/ecma/Array/15.4.1.1.js: Added property allow-tabs.
+ * tests/mozilla/ecma/Array/15.4.1.2.js: Added property allow-tabs.
+ * tests/mozilla/ecma/Array/15.4.2.1-1.js: Added property allow-tabs.
+ * tests/mozilla/ecma/Array/15.4.2.2-1.js: Added property allow-tabs.
+ * tests/mozilla/ecma/Array/15.4.2.2-2.js: Added property allow-tabs.
+ * tests/mozilla/ecma/Array/15.4.2.3.js: Added property allow-tabs.
+ * tests/mozilla/ecma/Array/15.4.3.2.js: Added property allow-tabs.
+ * tests/mozilla/ecma/Array/15.4.3.js: Added property allow-tabs.
+ * tests/mozilla/ecma/Array/15.4.4.1.js: Added property allow-tabs.
+ * tests/mozilla/ecma/Array/15.4.4.js: Added property allow-tabs.
+ * tests/mozilla/ecma/LexicalConventions/7.7.4.js: Added property allow-tabs.
+ * tests/mozilla/ecma/Math/15.8.2.13.js: Added property allow-tabs.
+ * tests/mozilla/ecma/Math/15.8.2.16.js: Added property allow-tabs.
+ * tests/mozilla/ecma/Math/15.8.2.18.js: Added property allow-tabs.
+ * tests/mozilla/ecma/Math/15.8.2.2.js: Added property allow-tabs.
+ * tests/mozilla/ecma/Math/15.8.2.4.js: Added property allow-tabs.
+ * tests/mozilla/ecma/Math/15.8.2.5.js: Added property allow-tabs.
+ * tests/mozilla/ecma/Math/15.8.2.7.js: Added property allow-tabs.
+ * tests/mozilla/ecma/String/15.5.1.js: Added property allow-tabs.
+ * tests/mozilla/ecma/String/15.5.2.js: Added property allow-tabs.
+ * tests/mozilla/ecma/String/15.5.3.1-3.js: Added property allow-tabs.
+ * tests/mozilla/ecma/String/15.5.3.1-4.js: Added property allow-tabs.
+ * tests/mozilla/ecma/String/15.5.3.js: Added property allow-tabs.
+ * tests/mozilla/ecma/TypeConversion/9.5-2.js: Added property allow-tabs.
+ * tests/mozilla/ecma/jsref.js: Modified property allow-tabs.
+ * tests/mozilla/ecma/shell.js: Modified property allow-tabs.
+ * tests/mozilla/ecma_2/LexicalConventions/keywords-001.js: Added property allow-tabs.
+ * tests/mozilla/ecma_2/RegExp/exec-001.js: Added property allow-tabs.
+ * tests/mozilla/ecma_2/String/match-004.js: Added property allow-tabs.
+ * tests/mozilla/ecma_2/String/replace-001.js: Added property allow-tabs.
+ * tests/mozilla/ecma_2/String/split-002.js: Added property allow-tabs.
+ * tests/mozilla/ecma_2/jsref.js: Modified property allow-tabs.
+ * tests/mozilla/ecma_2/shell.js: Added property allow-tabs.
+ * tests/mozilla/ecma_3/Date/shell.js: Modified property allow-tabs.
+ * tests/mozilla/ecma_3/Exceptions/regress-181654.js: Added property allow-tabs.
+ * tests/mozilla/ecma_3/RegExp/regress-209067.js: Added property allow-tabs.
+ * tests/mozilla/ecma_3/RegExp/regress-85721.js: Added property allow-tabs.
+ * tests/mozilla/importList.html: Added property allow-tabs.
+ * tests/mozilla/js1_1/shell.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/Array/general1.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/Array/general2.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/Array/slice.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/Array/splice1.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/Array/splice2.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/Objects/toString-001.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/String/charCodeAt.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/String/concat.js: Modified property allow-tabs.
+ * tests/mozilla/js1_2/String/match.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/String/slice.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/function/Function_object.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/function/Number.js: Modified property allow-tabs.
+ * tests/mozilla/js1_2/function/String.js: Modified property allow-tabs.
+ * tests/mozilla/js1_2/function/nesting.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/function/regexparg-1.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/function/regexparg-2-n.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/jsref.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/operator/equality.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/operator/strictEquality.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/RegExp_dollar_number.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/RegExp_input.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/RegExp_input_as_array.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/RegExp_lastIndex.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/RegExp_lastMatch.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/RegExp_lastMatch_as_array.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/RegExp_lastParen.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/RegExp_lastParen_as_array.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/RegExp_leftContext.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/RegExp_leftContext_as_array.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/RegExp_multiline.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/RegExp_multiline_as_array.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/RegExp_object.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/RegExp_rightContext.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/RegExp_rightContext_as_array.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/alphanumeric.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/asterisk.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/backslash.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/backspace.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/beginLine.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/character_class.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/compile.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/control_characters.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/digit.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/dot.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/endLine.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/everything.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/exec.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/flags.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/global.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/hexadecimal.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/ignoreCase.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/interval.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/octal.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/parentheses.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/plus.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/question_mark.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/simple_form.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/source.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/special_characters.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/string_replace.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/string_search.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/string_split.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/test.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/toString.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/vertical_bar.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/whitespace.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/regexp/word_boundary.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/shell.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/statements/break.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/statements/continue.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/statements/do_while.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/statements/switch.js: Added property allow-tabs.
+ * tests/mozilla/js1_2/statements/switch2.js: Added property allow-tabs.
+ * tests/mozilla/js1_3/shell.js: Added property allow-tabs.
+ * tests/mozilla/js1_4/shell.js: Added property allow-tabs.
+ * tests/mozilla/js1_5/Regress/regress-111557.js: Added property allow-tabs.
+ * tests/mozilla/js1_5/Regress/regress-216320.js: Added property allow-tabs.
+ * tests/mozilla/menuhead.html: Added property allow-tabs.
+ * tests/mozilla/mklistpage.pl: Added property allow-tabs.
+ * tests/mozilla/runtests.pl: Added property allow-tabs.
+
+2010-01-08 Daniel Bates <dbates@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33417
+
+ Cleans up style errors exposed by the patch for bug #33198.
+ Moreover, fixes all "Weird number of spaces at line-start. Are you using a 4-space indent?"
+ errors reported by check-webkit-style.
+
+ No functionality was changed. So, no new tests.
+
+ * wtf/Platform.h:
+
+2010-01-08 Kent Hansen <kent.hansen@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ Don't store RegExp flags string representation
+ https://bugs.webkit.org/show_bug.cgi?id=33321
+
+ It's unused; the string representation is reconstructed from flags.
+
+ * runtime/RegExp.cpp:
+ (JSC::RegExp::RegExp):
+ * runtime/RegExp.h:
+
+2010-01-08 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Memory use grows grows possibly unbounded in this JavaScript Array test case
+ https://bugs.webkit.org/show_bug.cgi?id=31675
+
+ This fixes one observed bug in this test case, which is that
+ arrays don't report extra cost for the sparse value maps.
+
+ SunSpider reports a small speedup.
+
+ * runtime/JSArray.cpp:
+ (JSC::JSArray::putSlowCase): Report extra memory cost for
+ the sparse value map.
+ * runtime/JSArray.h:
+
+2010-01-08 Yong Li <yoli@rim.com>
+
+ Reviewed by Darin Adler.
+
+ Remove unnecessary #include from FastMalloc.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=33393
+
+ * wtf/FastMalloc.cpp:
+
+2010-01-08 Eric Seidel <eric@webkit.org>
+
+ No review, rolling out r52983.
+ http://trac.webkit.org/changeset/52983
+ https://bugs.webkit.org/show_bug.cgi?id=33321
+
+ Broke 59 JavaScriptCore tests. I don't think Kent knew about
+ run-javascriptcore-tests. Sadly neither does the commit-bot,
+ yet.
+
+ * runtime/RegExp.cpp:
+ (JSC::RegExp::RegExp):
+ * runtime/RegExp.h:
+ (JSC::RegExp::flags):
+
+2010-01-08 Eric Seidel <eric@webkit.org>
+
+ No review, rolling out r52981.
+ http://trac.webkit.org/changeset/52981
+ https://bugs.webkit.org/show_bug.cgi?id=33319
+
+ Caused two JS tests to start failing:
+ ecma_2/RegExp/properties-001.js and js1_2/regexp/toString.js
+
+ * runtime/RegExpPrototype.cpp:
+ (JSC::regExpProtoFuncToString):
+
+2010-01-08 Kent Hansen <kent.hansen@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Don't store RegExp flags string representation
+ https://bugs.webkit.org/show_bug.cgi?id=33321
+
+ It's unused; the string representation is reconstructed from flags.
+
+ * runtime/RegExp.cpp:
+ (JSC::RegExp::RegExp):
+ * runtime/RegExp.h:
+
+2010-01-08 Kent Hansen <kent.hansen@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ RegExp.prototype.toString returns "//" for empty regular expressions
+ https://bugs.webkit.org/show_bug.cgi?id=33319
+
+ "//" starts a single-line comment, hence "/(?:)/" should be used, according to ECMA.
+
+ * runtime/RegExpPrototype.cpp:
+ (JSC::regExpProtoFuncToString):
+
+2010-01-08 Norbert Leser <norbert.leser@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ RVCT compiler with "-Otime -O3" optimization tries to optimize out
+ inline new'ed pointers that are passed as arguments.
+ Proposed patch assigns new'ed pointer explicitly outside function call.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33084
+
+ * API/JSClassRef.cpp:
+ (OpaqueJSClass::OpaqueJSClass):
+ (OpaqueJSClassContextData::OpaqueJSClassContextData):
+
+2010-01-08 Gabor Loki <loki@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Remove an unnecessary cacheFlush from ARM_TRADITIONAL JIT
+ https://bugs.webkit.org/show_bug.cgi?id=33203
+
+ * assembler/ARMAssembler.cpp: Remove obsolete linkBranch function.
+ (JSC::ARMAssembler::executableCopy): Inline a clean linkBranch code.
+ * assembler/ARMAssembler.h:
+ (JSC::ARMAssembler::getLdrImmAddress): Use inline function.
+ (JSC::ARMAssembler::getLdrImmAddressOnPool): Ditto.
+ (JSC::ARMAssembler::patchPointerInternal): Remove an unnecessary cacheFlush.
+ (JSC::ARMAssembler::linkJump): Use patchPointerInternal instead of linkBranch.
+ (JSC::ARMAssembler::linkCall): Ditto.
+ (JSC::ARMAssembler::relinkCall): Ditto.
+
+2010-01-07 Gabor Loki <loki@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Build fix for JSVALUE32 when ENABLE_JIT_OPTIMIZE* are disabled
+ https://bugs.webkit.org/show_bug.cgi?id=33311
+
+ Move compileGetDirectOffset function to common part of JSVALUE32
+
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::compileGetDirectOffset):
+
+2010-01-07 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Allow call sites to determine if ASSERT_* and LOG_* macros are operational
+ https://bugs.webkit.org/show_bug.cgi?id=33020
+
+ * wtf/Assertions.h: Set ASSERT_MSG_DISABLED, FATAL_DISABLED,
+ ERROR_DISABLED, LOG_DISABLED to 1 if the compiler does not support
+ variadic macros. Refactor for better readibility.
+
+2010-01-07 Daniel Bates <dbates@rim.com>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32987
+
+ Added ENABLE_XHTMLMP flag. Disabled by default.
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2010-01-07 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Gavin Barraclough.
+
+ [Symbian] Port ARM traditional JIT Trampolines to RVCT
+ https://bugs.webkit.org/show_bug.cgi?id=30552
+
+ Take the GCC implementation and mechanically convert
+ it to RVCT syntax.
+
+ Use 'bx rX' instead of 'mov pc, rX' when it is available.
+
+ Developed in cooperation with Iain Campbell and Gabor Loki.
+
+ * JavaScriptCore.pri: Extra step to generate RVCT stubs. The
+ script generation intentionally executed all the time not just
+ for RVCT targets.
+
+ * create_rvct_stubs: Added. Perl script to expand precompiler macros
+ for RVCT assembler - the template is defined in JITStubs.cpp.
+
+ * jit/JITStubs.cpp:
+ (JSC::ctiTrampoline):
+ (JSC::ctiVMThrowTrampoline):
+ (JSC::ctiOpThrowNotCaught):
+
+2010-01-07 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix a crash seen on the buildbots.
+
+ * runtime/JSGlobalObject.cpp:
+ (JSC::JSGlobalObject::init): Disable specific function tracking here,
+ instead of in WebCore, to ensure that the disabling happens before a
+ specific function can be registered.
+
+2010-01-07 Alexey Proskuryakov <ap@apple.com>
+
+ Mac build fix.
+
+ * JavaScriptCore.exp: Export new JSGlobalData static data members.
+
+2010-01-07 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33057
+ REGRESSION(r49365): typeof(xhr.responseText) != "string" in Windows
+
+ <rdar://problem/7296920> REGRESSION: WebKit fails to start PeaceKeeper benchmark
+
+ Test: fast/js/webcore-string-comparison.html
+
+ In r49365, some code was moved from JSString.cpp to JSString.h, and as a result, WebCore
+ got a way to directly instantiate JSStrings over DLL borders. Since vftable for JSString was
+ not exported, objects created from WebCore got a different vptr, and JavaScriptCore
+ optimizations that relied on vptr of all JSString objects being equal failed.
+
+ * config.h: Added a JS_EXPORTCLASS macro for exporting classes. It's currently the same as
+ JS_EXPORTDATA, but it clearly needed a new name.
+
+ * runtime/InitializeThreading.cpp:
+ (JSC::initializeThreadingOnce):
+ * runtime/JSGlobalData.cpp:
+ (JSC::JSGlobalData::storeVPtrs):
+ (JSC::JSGlobalData::JSGlobalData):
+ (JSC::JSGlobalData::createNonDefault):
+ (JSC::JSGlobalData::create):
+ (JSC::JSGlobalData::sharedInstance):
+ * runtime/JSGlobalData.h:
+ Store vptrs just once, no need to repeatedly pick and copy them. This makes it possible to
+ assert vptr correctness in object destructors (which don't have access to JSGlobalData,
+ and even Heap::heap(this) will fail for fake objects created from storeVPtrs()).
+
+ * runtime/JSArray.cpp: (JSC::JSArray::~JSArray): Assert that vptr is what we expect it to be.
+ It's important to assert in destructor, because MSVC changes the vptr after constructor
+ is invoked.
+ * runtime/JSByteArray.cpp: (JSC::JSByteArray::~JSByteArray): Ditto.
+ * runtime/JSByteArray.h: Ditto.
+ * runtime/JSFunction.h: Ditto.
+ * runtime/JSFunction.cpp: (JSC::JSFunction::~JSFunction): Ditto.
+
+ * runtime/JSCell.h: (JSC::JSCell::setVPtr): Added a method to substitute vptr for another
+ one.
+
+ * runtime/JSString.h: Export JSString class together with its vftable, and tell other
+ libraries tp import it. This is needed on platforms that have a separate JavaScriptCore
+ dynamic library - and on Mac, we already did the export via JavaScriptCore.exp.
+ (JSC::JSString::~JSString): Assert tha vptr is what we expect it to be.
+ (JSC::fixupVPtr): Store a previously saved primary vftable pointer (do nothing if building
+ JavaScriptCore itself).
+ (JSC::jsSingleCharacterString): Call fixupVPtr in case this is call across DLL boundary.
+ (JSC::jsSingleCharacterSubstring): Ditto.
+ (JSC::jsNontrivialString): Ditto.
+ (JSC::jsString): Ditto.
+ (JSC::jsSubstring): Ditto.
+ (JSC::jsOwnedString): Ditto.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: Export the new static
+ JSGlobalData members that are used in WebCore via inline functions.
+
+2010-01-07 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Safari memory usage skyrockets using new Google AdWords interface
+ https://bugs.webkit.org/show_bug.cgi?id=33343
+
+ The memory use was caused by the global object creating too many structures
+ as it thrashed between different specific functions.
+
+ * runtime/Structure.cpp:
+ (JSC::Structure::Structure):
+ (JSC::Structure::addPropertyTransition):
+ (JSC::Structure::changePrototypeTransition):
+ (JSC::Structure::despecifyFunctionTransition):
+ (JSC::Structure::addAnonymousSlotsTransition):
+ (JSC::Structure::getterSetterTransition):
+ (JSC::Structure::toDictionaryTransition):
+ (JSC::Structure::addPropertyWithoutTransition):
+ (JSC::Structure::despecifyAllFunctions):
+ * runtime/Structure.h:
+ (JSC::Structure::disableSpecificFunctionTracking): Track a thrash count
+ for specific functions. Disable specific function tracking once the
+ thrash count has been hit.
+
+2010-01-07 Csaba Osztrogonác <ossy@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Enable JIT in debug mode on win32 after r51141 fixed the crashes.
+
+ * JavaScriptCore.pri:
+
+2010-01-07 Zoltan Horvath <zoltan@webkit.org>
+
+ Reviewed by Holger Freyther.
+
+ [Mac] Build fix when FAST_MALLOC_MATCH_VALIDATION=1
+ https://bugs.webkit.org/show_bug.cgi?id=33312
+
+ Using of operator += cause compile error on Mac, so it is changed to
+ "= static_cast<AllocAlignmentInteger*>(old_ptr) + 1".
+
+ * wtf/FastMalloc.cpp:
+ (WTF::TCMallocStats::realloc):
+
+2010-01-07 Zoltan Horvath <zoltan@webkit.org>
+
+ Reviewed by Holger Freyther.
+
+ [Qt] Build fix when FAST_MALLOC_MATCH_VALIDATION=1
+ https://bugs.webkit.org/show_bug.cgi?id=33312
+
+ Remove pByte (committed in r42344 from #20422), because pByte doesn't
+ exist and it is unnecessary.
+
+ * wtf/FastMalloc.cpp:
+ (WTF::TCMallocStats::realloc):
+
+2010-01-06 Gavin Barraclough <barraclough@apple.com>
+
+ QT build fix.
+
+ * runtime/Identifier.cpp:
+ (JSC::createIdentifierTableSpecific):
+
+2010-01-06 Gavin Barraclough <barraclough@apple.com>
+
+ Windows build fix part I.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2010-01-06 Dan Bernstein <mitz@apple.com>
+
+ Build fix
+
+ * runtime/Identifier.cpp:
+ (JSC::createIdentifierTableSpecificCallback):
+
+2010-01-05 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33236
+ Remove m_identifierTable pointer from UString
+
+ Currently every string holds a pointer so that during destruction,
+ if a string has been used as an identifier, it can remove itself
+ from the table. By instead accessing the identifierTable via a
+ thread specific tracking the table associated with the current
+ globaldata, we can save the memory cost of this pointer.
+
+ * API/APIShims.h:
+ (JSC::APIEntryShimWithoutLock::APIEntryShimWithoutLock):
+ (JSC::APIEntryShimWithoutLock::~APIEntryShimWithoutLock):
+ (JSC::APICallbackShim::APICallbackShim):
+ (JSC::APICallbackShim::~APICallbackShim):
+
+ - change the API shims to track the identifierTable of the current JSGlobalData.
+
+ * API/JSContextRef.cpp:
+ (JSContextGroupCreate):
+
+ - update creation of JSGlobalData for API usage to use new create method.
+ - fix shim instanciation bug in JSGlobalContextCreateInGroup.
+
+ * JavaScriptCore.exp:
+ * runtime/Completion.cpp:
+ (JSC::checkSyntax):
+ (JSC::evaluate):
+
+ - add asserts to check the identifierTable is being tracked correctly.
+
+ * runtime/Identifier.cpp:
+ (JSC::IdentifierTable::~IdentifierTable):
+ (JSC::IdentifierTable::add):
+ (JSC::Identifier::remove):
+ (JSC::Identifier::checkSameIdentifierTable):
+ (JSC::createIdentifierTableSpecificCallback):
+ (JSC::createIdentifierTableSpecific):
+ (JSC::createDefaultDataSpecific):
+
+ - Use currentIdentifierTable() instead of UStringImpl::m_identifierTable.
+ - Define methods to access the thread specific identifier tables.
+
+ * runtime/Identifier.h:
+ (JSC::ThreadIdentifierTableData::ThreadIdentifierTableData):
+ (JSC::defaultIdentifierTable):
+ (JSC::setDefaultIdentifierTable):
+ (JSC::currentIdentifierTable):
+ (JSC::setCurrentIdentifierTable):
+ (JSC::resetCurrentIdentifierTable):
+
+ - Declare methods to access the thread specific identifier tables.
+
+ * runtime/JSGlobalData.cpp:
+ (JSC::JSGlobalData::createNonDefault):
+ (JSC::JSGlobalData::create):
+ (JSC::JSGlobalData::sharedInstance):
+
+ - creation of JSGlobalData objects, other than for API usage, associate themselves with the current thread.
+
+ * runtime/JSGlobalData.h:
+ * runtime/UStringImpl.cpp:
+ (JSC::UStringImpl::destroy):
+
+ - destroy() method should be using isIdentifier().
+
+ * runtime/UStringImpl.h:
+ (JSC::UStringImpl::isIdentifier):
+ (JSC::UStringImpl::setIsIdentifier):
+ (JSC::UStringImpl::checkConsistency):
+ (JSC::UStringImpl::UStringImpl):
+
+ - replace m_identifierTable with a single m_isIdentifier bit.
+
+ * wtf/StringHashFunctions.h:
+ (WTF::stringHash):
+
+ - change string hash result from 32-bit to 31-bit, to free a bit in UStringImpl for m_isIdentifier.
+
+2009-12-25 Patrick Gansterer <paroga@paroga.com>
+
+ Reviewed by Eric Seidel.
+
+ Buildfix for WinCE + style fixes.
+ https://bugs.webkit.org/show_bug.cgi?id=32939
+
+ * jsc.cpp:
+ (functionPrint):
+ (functionQuit):
+ (parseArguments):
+ (fillBufferWithContentsOfFile):
+
+2010-01-05 Patrick Gansterer <paroga@paroga.com>
+
+ Reviewed by Eric Seidel.
+
+ WinCE buildfix after r52791 (renamed PLATFORM(WINCE) to OS(WINCE)).
+ https://bugs.webkit.org/show_bug.cgi?id=33205
+
+ * jit/ExecutableAllocator.h:
+
+2010-01-05 Patrick Gansterer <paroga@paroga.com>
+
+ Reviewed by Darin Adler.
+
+ Added compiler error for unsupported platforms.
+ https://bugs.webkit.org/show_bug.cgi?id=33112
+
+ * jit/JITStubs.cpp:
+
+2010-01-05 Gabor Loki <loki@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Follow r52729 in ARMAssembler.
+ https://bugs.webkit.org/show_bug.cgi?id=33208
+
+ Use WTF_ARM_ARCH_AT_LEAST instead of ARM_ARCH_VERSION
+
+ * assembler/ARMAssembler.cpp:
+ (JSC::ARMAssembler::encodeComplexImm): Move tmp declaration to ARMv7
+ * assembler/ARMAssembler.h:
+ (JSC::ARMAssembler::):
+ (JSC::ARMAssembler::bkpt):
+
+2010-01-05 Maciej Stachowiak <mjs@apple.com>
+
+ Unreviewed build fix for Gtk+
+
+ Don't use // comments in Platform.h, at least some of them seem to make the version of GCC
+ used on the Gtk buildbot unhappy.
+
+ * wtf/Platform.h:
+
+2010-01-04 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Darin Fisher.
+
+ Reorganize, document and rename OS() platform macros.
+ https://bugs.webkit.org/show_bug.cgi?id=33198
+
+ * wtf/Platform.h: Rename, reorganize and document OS() macros.
+
+ Adapt to name changes. Also fixed a few incorrect OS checks.
+
+ * API/JSContextRef.cpp:
+ * assembler/MacroAssemblerARM.cpp:
+ (JSC::isVFPPresent):
+ * assembler/MacroAssemblerX86Common.h:
+ * bytecode/SamplingTool.cpp:
+ * config.h:
+ * interpreter/RegisterFile.cpp:
+ (JSC::RegisterFile::~RegisterFile):
+ * interpreter/RegisterFile.h:
+ (JSC::RegisterFile::RegisterFile):
+ (JSC::RegisterFile::grow):
+ * jit/ExecutableAllocator.h:
+ * jit/ExecutableAllocatorFixedVMPool.cpp:
+ * jit/ExecutableAllocatorPosix.cpp:
+ * jit/ExecutableAllocatorSymbian.cpp:
+ * jit/ExecutableAllocatorWin.cpp:
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::privateCompileCTIMachineTrampolines):
+ * jit/JITStubs.cpp:
+ * jsc.cpp:
+ (main):
+ * parser/Grammar.y:
+ * profiler/ProfileNode.cpp:
+ (JSC::getCount):
+ * runtime/Collector.cpp:
+ (JSC::Heap::Heap):
+ (JSC::Heap::allocateBlock):
+ (JSC::Heap::freeBlockPtr):
+ (JSC::currentThreadStackBase):
+ (JSC::getCurrentPlatformThread):
+ (JSC::suspendThread):
+ (JSC::resumeThread):
+ (JSC::getPlatformThreadRegisters):
+ (JSC::otherThreadStackPointer):
+ * runtime/Collector.h:
+ * runtime/DateConstructor.cpp:
+ * runtime/DatePrototype.cpp:
+ (JSC::formatLocaleDate):
+ * runtime/InitializeThreading.cpp:
+ (JSC::initializeThreading):
+ * runtime/MarkStack.h:
+ (JSC::MarkStack::MarkStackArray::shrinkAllocation):
+ * runtime/MarkStackPosix.cpp:
+ * runtime/MarkStackSymbian.cpp:
+ * runtime/MarkStackWin.cpp:
+ * runtime/StringPrototype.cpp:
+ (JSC::stringProtoFuncLastIndexOf):
+ * runtime/TimeoutChecker.cpp:
+ (JSC::getCPUTime):
+ * runtime/UString.cpp:
+ (JSC::UString::from):
+ * wtf/Assertions.cpp:
+ * wtf/Assertions.h:
+ * wtf/CurrentTime.cpp:
+ (WTF::lowResUTCTime):
+ * wtf/CurrentTime.h:
+ (WTF::getLocalTime):
+ * wtf/DateMath.cpp:
+ * wtf/FastMalloc.cpp:
+ (WTF::TCMalloc_ThreadCache::InitModule):
+ (WTF::TCMallocStats::):
+ * wtf/FastMalloc.h:
+ * wtf/MathExtras.h:
+ * wtf/RandomNumber.cpp:
+ (WTF::randomNumber):
+ * wtf/RandomNumberSeed.h:
+ (WTF::initializeRandomNumberGenerator):
+ * wtf/StringExtras.h:
+ * wtf/TCSpinLock.h:
+ (TCMalloc_SpinLock::Unlock):
+ (TCMalloc_SlowLock):
+ * wtf/TCSystemAlloc.cpp:
+ * wtf/ThreadSpecific.h:
+ (WTF::::destroy):
+ * wtf/Threading.h:
+ * wtf/ThreadingPthreads.cpp:
+ (WTF::initializeThreading):
+ (WTF::isMainThread):
+ * wtf/ThreadingWin.cpp:
+ (WTF::wtfThreadEntryPoint):
+ (WTF::createThreadInternal):
+ * wtf/VMTags.h:
+ * wtf/unicode/icu/CollatorICU.cpp:
+ (WTF::Collator::userDefault):
+ * wtf/win/MainThreadWin.cpp:
+ (WTF::initializeMainThreadPlatform):
+
+2010-01-04 Gustavo Noronha Silva <gns@gnome.org>
+
+ Add missing files to the build system - make distcheck build fix.
+
+ * GNUmakefile.am:
+
+2010-01-04 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam Weinig, additional coding by Mark Rowe.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33163
+ Add string hashing functions to WTF.
+ Use WTF's string hashing functions from UStringImpl.
+
+ * GNUmakefile.am:
+ * JavaScriptCore.exp:
+ * JavaScriptCore.gypi:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * runtime/UStringImpl.cpp:
+ * runtime/UStringImpl.h:
+ (JSC::UStringImpl::computeHash):
+ * wtf/HashFunctions.h:
+ * wtf/StringHashFunctions.h: Added.
+ (WTF::stringHash):
+
+2010-01-04 Dmitry Titov <dimich@chromium.org>
+
+ Not reviewed, attempt to fix ARM bulid.
+
+ * wtf/Platform.h:
+
+2010-01-04 Gavin Barraclough <barraclough@apple.com>
+
+ Rubber stamped by Geoff Garen.
+
+ Add an 'isIdentifier' to UStringImpl, use this where appropriate
+ (where previously 'identifierTable' was being tested).
+
+ * API/JSClassRef.cpp:
+ (OpaqueJSClass::~OpaqueJSClass):
+ (OpaqueJSClassContextData::OpaqueJSClassContextData):
+ * runtime/Identifier.cpp:
+ (JSC::Identifier::addSlowCase):
+ * runtime/Identifier.h:
+ (JSC::Identifier::add):
+ * runtime/PropertyNameArray.cpp:
+ (JSC::PropertyNameArray::add):
+ * runtime/UStringImpl.h:
+ (JSC::UStringImpl::isIdentifier):
+
+2010-01-04 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam "Shimmey Shimmey" Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33158
+ Refactor JSC API entry/exit to use RAII instead of copy/pasting code.
+ Make it easier to change set of actions taken when passing across the API boundary.
+
+ * API/APIShims.h: Added.
+ (JSC::APIEntryShimWithoutLock::APIEntryShimWithoutLock):
+ (JSC::APIEntryShimWithoutLock::~APIEntryShimWithoutLock):
+ (JSC::APIEntryShim::APIEntryShim):
+ (JSC::APICallbackShim::APICallbackShim):
+ (JSC::APICallbackShim::~APICallbackShim):
+ * API/JSBase.cpp:
+ (JSEvaluateScript):
+ (JSCheckScriptSyntax):
+ (JSGarbageCollect):
+ (JSReportExtraMemoryCost):
+ * API/JSCallbackConstructor.cpp:
+ (JSC::constructJSCallback):
+ * API/JSCallbackFunction.cpp:
+ (JSC::JSCallbackFunction::call):
+ * API/JSCallbackObjectFunctions.h:
+ (JSC::::init):
+ (JSC::::getOwnPropertySlot):
+ (JSC::::put):
+ (JSC::::deleteProperty):
+ (JSC::::construct):
+ (JSC::::hasInstance):
+ (JSC::::call):
+ (JSC::::getOwnPropertyNames):
+ (JSC::::toNumber):
+ (JSC::::toString):
+ (JSC::::staticValueGetter):
+ (JSC::::callbackGetter):
+ * API/JSContextRef.cpp:
+ * API/JSObjectRef.cpp:
+ (JSObjectMake):
+ (JSObjectMakeFunctionWithCallback):
+ (JSObjectMakeConstructor):
+ (JSObjectMakeFunction):
+ (JSObjectMakeArray):
+ (JSObjectMakeDate):
+ (JSObjectMakeError):
+ (JSObjectMakeRegExp):
+ (JSObjectGetPrototype):
+ (JSObjectSetPrototype):
+ (JSObjectHasProperty):
+ (JSObjectGetProperty):
+ (JSObjectSetProperty):
+ (JSObjectGetPropertyAtIndex):
+ (JSObjectSetPropertyAtIndex):
+ (JSObjectDeleteProperty):
+ (JSObjectCallAsFunction):
+ (JSObjectCallAsConstructor):
+ (JSObjectCopyPropertyNames):
+ (JSPropertyNameArrayRelease):
+ (JSPropertyNameAccumulatorAddName):
+ * API/JSValueRef.cpp:
+ (JSValueGetType):
+ (JSValueIsUndefined):
+ (JSValueIsNull):
+ (JSValueIsBoolean):
+ (JSValueIsNumber):
+ (JSValueIsString):
+ (JSValueIsObject):
+ (JSValueIsObjectOfClass):
+ (JSValueIsEqual):
+ (JSValueIsStrictEqual):
+ (JSValueIsInstanceOfConstructor):
+ (JSValueMakeUndefined):
+ (JSValueMakeNull):
+ (JSValueMakeBoolean):
+ (JSValueMakeNumber):
+ (JSValueMakeString):
+ (JSValueToBoolean):
+ (JSValueToNumber):
+ (JSValueToStringCopy):
+ (JSValueToObject):
+ (JSValueProtect):
+ (JSValueUnprotect):
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+
+2010-01-04 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Ada Chan and Mark Rowe.
+
+ Updated copyright string
+
+ * Info.plist:
+ * JavaScriptCore.vcproj/JavaScriptCore.resources/Info.plist:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.rc:
+
+2010-01-04 Adam Roben <aroben@apple.com>
+
+ No review, rolling out r52741.
+ http://trac.webkit.org/changeset/52741
+ https://bugs.webkit.org/show_bug.cgi?id=33056
+
+ * wtf/AlwaysInline.h:
+
+2010-01-04 Patrick Gansterer <paroga@paroga.com>
+
+ Reviewed by Darin Adler.
+
+ Add cacheFlush support for WinCE
+ https://bugs.webkit.org/show_bug.cgi?id=33110
+
+ * jit/ExecutableAllocator.h:
+ (JSC::ExecutableAllocator::cacheFlush):
+
+2010-01-04 Patrick Gansterer <paroga@paroga.com>
+
+ Reviewed by Adam Roben.
+
+ Implement NO_RETURN for COMPILER(MSVC).
+ https://bugs.webkit.org/show_bug.cgi?id=33056
+
+ * wtf/AlwaysInline.h:
+
+2010-01-04 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Simon Hausmann.
+
+ Fix some PLATFORM(*_ENDIAN) uses to CPU()
+ https://bugs.webkit.org/show_bug.cgi?id=33148
+
+ * runtime/JSCell.cpp:
+ (JSC::):
+ * runtime/JSValue.h:
+ (JSC::JSValue::):
+
+2010-01-04 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Adam Barth.
+
+ Document CPU() macros in comments.
+ https://bugs.webkit.org/show_bug.cgi?id=33147
+
+ * wtf/Platform.h:
+
+2010-01-04 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Adam Barth.
+
+ Reorganize, document and rename CPU() platform macros.
+ https://bugs.webkit.org/show_bug.cgi?id=33145
+ ExecutableAllocatorSymbian appears to have buggy ARM version check
+ https://bugs.webkit.org/show_bug.cgi?id=33138
+
+ * wtf/Platform.h:
+ Rename all macros related to detection of particular CPUs or
+ classes of CPUs to CPU(), reorganize and document them.
+
+ All remaining changes are adapting to the renames, plus fixing the
+ second bug cited above.
+
+ * assembler/ARMAssembler.cpp:
+ * assembler/ARMAssembler.h:
+ * assembler/ARMv7Assembler.h:
+ * assembler/AbstractMacroAssembler.h:
+ (JSC::AbstractMacroAssembler::Imm32::Imm32):
+ * assembler/MacroAssembler.h:
+ * assembler/MacroAssemblerARM.cpp:
+ * assembler/MacroAssemblerARM.h:
+ * assembler/MacroAssemblerCodeRef.h:
+ (JSC::MacroAssemblerCodePtr::MacroAssemblerCodePtr):
+ * assembler/MacroAssemblerX86.h:
+ * assembler/MacroAssemblerX86Common.h:
+ * assembler/MacroAssemblerX86_64.h:
+ * assembler/X86Assembler.h:
+ (JSC::X86Registers::):
+ (JSC::X86Assembler::):
+ (JSC::X86Assembler::movl_mEAX):
+ (JSC::X86Assembler::movl_EAXm):
+ (JSC::X86Assembler::repatchLoadPtrToLEA):
+ (JSC::X86Assembler::X86InstructionFormatter::memoryModRM):
+ * jit/ExecutableAllocator.h:
+ * jit/ExecutableAllocatorFixedVMPool.cpp:
+ * jit/ExecutableAllocatorPosix.cpp:
+ * jit/ExecutableAllocatorSymbian.cpp:
+ (JSC::ExecutableAllocator::intializePageSize):
+ * jit/JIT.cpp:
+ * jit/JIT.h:
+ * jit/JITArithmetic.cpp:
+ * jit/JITInlineMethods.h:
+ (JSC::JIT::beginUninterruptedSequence):
+ (JSC::JIT::restoreArgumentReferenceForTrampoline):
+ (JSC::JIT::emitCount):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::privateCompileCTIMachineTrampolines):
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::privateCompileGetByIdProto):
+ (JSC::JIT::privateCompileGetByIdProtoList):
+ (JSC::JIT::privateCompileGetByIdChainList):
+ (JSC::JIT::privateCompileGetByIdChain):
+ * jit/JITStubs.cpp:
+ (JSC::JITThunks::JITThunks):
+ * jit/JITStubs.h:
+ * runtime/Collector.cpp:
+ (JSC::currentThreadStackBase):
+ (JSC::getPlatformThreadRegisters):
+ (JSC::otherThreadStackPointer):
+ * wrec/WREC.h:
+ * wrec/WRECGenerator.cpp:
+ (JSC::WREC::Generator::generateEnter):
+ (JSC::WREC::Generator::generateReturnSuccess):
+ (JSC::WREC::Generator::generateReturnFailure):
+ * wrec/WRECGenerator.h:
+ * wtf/FastMalloc.cpp:
+ * wtf/TCSpinLock.h:
+ (TCMalloc_SpinLock::Lock):
+ (TCMalloc_SpinLock::Unlock):
+ (TCMalloc_SlowLock):
+ * wtf/Threading.h:
+ * wtf/dtoa.cpp:
+ * yarr/RegexJIT.cpp:
+ (JSC::Yarr::RegexGenerator::generateEnter):
+ (JSC::Yarr::RegexGenerator::generateReturn):
+ * yarr/RegexJIT.h:
+
+2010-01-04 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Adam Barth.
+
+ Clean up COMPILER macros and remove unused ones.
+ https://bugs.webkit.org/show_bug.cgi?id=33132
+
+ Removed values are COMPILER(BORLAND) and COMPILER(CYGWIN) - they were
+ not used anywhere.
+
+ * wtf/Platform.h:
+
+2010-01-03 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Eric Seidel.
+
+ Update wtf/Platform.h to document the new system for porting macros.
+ https://bugs.webkit.org/show_bug.cgi?id=33130
+
+ * wtf/Platform.h:
+
+2009-12-29 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ PLATFORM(CAIRO) should be defined by WIN_CAIRO define
+ https://bugs.webkit.org/show_bug.cgi?id=22250
+
+ * wtf/Platform.h: Define WTF_PLATFORM_CAIRO for GTK port only
+ For the WinCairo port WTF_PLATFORM_CAIRO is already defined in config.h
+
+2009-12-28 Shu Chang <Chang.Shu@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] Delete ThreadPrivate instance after it is finished.
+ https://bugs.webkit.org/show_bug.cgi?id=32614
+
+ * wtf/qt/ThreadingQt.cpp:
+ (WTF::ThreadMonitor::instance):
+ (WTF::ThreadMonitor::threadFinished):
+ (WTF::createThreadInternal):
+ (WTF::detachThread):
+
+2009-12-28 Patrick Gansterer <paroga@paroga.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Cleanup of #define JS_EXPORT.
+
+ * API/JSBase.h:
+
+2009-12-27 Patrick Gansterer <paroga@paroga.com>
+
+ Reviewed by Adam Barth.
+
+ WinCE buildfix (HWND_MESSAGE isn't supported there)
+
+ * wtf/win/MainThreadWin.cpp:
+ (WTF::initializeMainThreadPlatform):
+
+2009-12-27 Patrick Gansterer <paroga@paroga.com>
+
+ Reviewed by Adam Barth.
+
+ Added a file with WinMain function to link agains in WinCE.
+
+ * os-win32/WinMain.cpp: Added.
+ (convertToUtf8):
+ (WinMain):
+
+2009-12-24 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Unreviewed; revert of r52550.
+
+ The change regressed the following LayoutTests for QtWebKit.
+
+ fast/workers/worker-call.html -> crashed
+ fast/workers/worker-close.html -> crashed
+
+ * wtf/qt/ThreadingQt.cpp:
+ (WTF::waitForThreadCompletion):
+ (WTF::detachThread):
+
+2009-12-24 Shu Chang <Chang.Shu@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] Fix memory leak by deleting instance of ThreadPrivate
+ in function waitForThreadCompletion(), synchronously, or in
+ detachThread(), asynchronously.
+ https://bugs.webkit.org/show_bug.cgi?id=32614
+
+ * wtf/qt/ThreadingQt.cpp:
+ (WTF::waitForThreadCompletion):
+ (WTF::detachThread):
+
+2009-12-23 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Laszlo Gombos.
+
+ Include stddef.h for ptrdiff_t
+ https://bugs.webkit.org/show_bug.cgi?id=32891
+
+ ptrdiff_t is typedef-ed in stddef.h.
+ Include stddef.h in jit/ExecutableAllocator.h.
+
+ * jit/ExecutableAllocator.h:
+
+2009-12-23 Patrick Gansterer <paroga@paroga.com>
+
+ Reviewed by Eric Seidel.
+
+ Buildfix after r47092.
+
+ * wtf/wince/MemoryManager.cpp:
+ (WTF::tryFastMalloc):
+ (WTF::tryFastZeroedMalloc):
+ (WTF::tryFastCalloc):
+ (WTF::tryFastRealloc):
+
+2009-12-23 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ HTMLInputElement::valueAsDate getter support.
+ https://bugs.webkit.org/show_bug.cgi?id=32876
+
+ Expose dateToDaysFrom1970().
+
+ * JavaScriptCore.exp:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * wtf/DateMath.cpp:
+ (WTF::dateToDaysFrom1970):
+ * wtf/DateMath.h:
+
+2009-12-22 Darin Adler <darin@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Turn off datagrid by default, at least for all platforms Apple ships.
+ The datagrid implementation isn't ready for general web use yet.
+
+ * Configurations/FeatureDefines.xcconfig: Turn off datagrid by default.
+
+2009-12-22 Steve Block <steveblock@google.com>
+
+ Reviewed by David Levin.
+
+ Updates Android's scheduleDispatchFunctionsOnMainThread() to use new
+ AndroidThreading class, rather than using JavaSharedClient directly.
+ This fixes the current layering violation.
+ https://bugs.webkit.org/show_bug.cgi?id=32651
+
+ The pattern is copied from Chromium, which uses the ChromiumThreading
+ class. This patch also fixes the style in ChromiumThreading.h.
+
+ * wtf/android/AndroidThreading.h: Added. Declares AndroidThreading.
+ * wtf/android/MainThreadAndroid.cpp: Modified
+ (WTF::scheduleDispatchFunctionsOnMainThread): Uses AndroidThreading.
+ * wtf/chromium/ChromiumThreading.h: Modified. Fixes style.
+
+2009-12-22 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix a couple of problems with UntypedPtrAndBitfield.
+
+ Add a m_leaksPtr to reduce false positives from leaks in debug builds
+ (this isn't perfect because we'd like a solution for release builds,
+ but this is now at least as good as a PtrAndFlags would be).
+
+ Switch SmallStringsto use a regular string for the base, rather than
+ a static one. UntypedPtrAndBitfield assumes all strings are at least
+ 8 byte aligned; this migt not be true of static strings. Shared buffers
+ are heap allocated, as are all UStringImpls other than static strings.
+ Static strings cannot end up being the owner string of substrings,
+ since the only static strings are length 0.
+
+ * runtime/SmallStrings.cpp:
+ (JSC::SmallStringsStorage::SmallStringsStorage):
+ * runtime/UStringImpl.h:
+ (JSC::UntypedPtrAndBitfield::UntypedPtrAndBitfield):
+ (JSC::UStringImpl::UStringImpl):
+
+2009-12-22 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Darin Adler.
+
+ RVCT (__ARMCC_VERSION < 400000) does not provide strcasecmp and strncasecmp
+ https://bugs.webkit.org/show_bug.cgi?id=32857
+
+ Add implementation of strcasecmp and strncasecmp for RVCT < 4.0
+ because earlier versions of RVCT 4.0 does not provide these functions.
+
+ * wtf/StringExtras.cpp: Added.
+ (strcasecmp):
+ (strncasecmp):
+ * wtf/StringExtras.h:
+
+2009-12-22 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Darin Adler.
+
+ Define ALWAYS_INLINE and WTF_PRIVATE_INLINE to __forceinline for RVCT
+ https://bugs.webkit.org/show_bug.cgi?id=32853
+
+ Use __forceinline forces RVCT to compile a C or C++ function
+ inline. The compiler attempts to inline the function, regardless of
+ the characteristics of the function.
+
+ * wtf/AlwaysInline.h:
+ * wtf/FastMalloc.h:
+
+2009-12-21 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Prospective GTK build fix: Add UStringImpl.cpp/h to the build.
+
+ * GNUmakefile.am:
+
+2009-12-21 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Fix the Qt build, add UStringImpl.cpp to the build.
+
+ * JavaScriptCore.pri:
+
+2009-12-21 Gavin Barraclough <barraclough@apple.com>
+
+ Windows Build fix part 5.
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
+
+2009-12-21 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (build fix).
+ Fix breakage of world introduced in build fix to r52463.
+
+ * runtime/UStringImpl.h:
+
+2009-12-21 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32831
+ Replace UString::Rep implementation, following introduction of ropes to JSC.
+
+ * Remove redundant overcapacity mechanisms.
+ * Reduce memory cost of Rep's.
+ * Add an inline storage mechanism akin to that in WebCore's StringImpl.
+
+ ~1% Sunspider progression.
+
+ * JavaScriptCore.exp:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * runtime/JSString.cpp:
+ (JSC::JSString::resolveRope):
+ * runtime/SmallStrings.cpp:
+ (JSC::SmallStringsStorage::SmallStringsStorage):
+ * runtime/UString.cpp:
+ (JSC::initializeUString):
+ (JSC::createRep):
+ (JSC::UString::createFromUTF8):
+ (JSC::UString::createUninitialized):
+ (JSC::UString::spliceSubstringsWithSeparators):
+ (JSC::UString::replaceRange):
+ (JSC::UString::ascii):
+ (JSC::UString::operator=):
+ (JSC::UString::toStrictUInt32):
+ (JSC::equal):
+ * runtime/UString.h:
+ (JSC::UString::isEmpty):
+ (JSC::UString::cost):
+ (JSC::makeString):
+ * runtime/UStringImpl.cpp: Added.
+ (JSC::UStringImpl::baseSharedBuffer):
+ (JSC::UStringImpl::sharedBuffer):
+ (JSC::UStringImpl::destroy):
+ (JSC::UStringImpl::computeHash):
+ * runtime/UStringImpl.h: Added.
+ (JSC::UntypedPtrAndBitfield::UntypedPtrAndBitfield):
+ (JSC::UntypedPtrAndBitfield::asPtr):
+ (JSC::UntypedPtrAndBitfield::operator&=):
+ (JSC::UntypedPtrAndBitfield::operator|=):
+ (JSC::UntypedPtrAndBitfield::operator&):
+ (JSC::UStringImpl::create):
+ (JSC::UStringImpl::createCopying):
+ (JSC::UStringImpl::createUninitialized):
+ (JSC::UStringImpl::data):
+ (JSC::UStringImpl::size):
+ (JSC::UStringImpl::cost):
+ (JSC::UStringImpl::hash):
+ (JSC::UStringImpl::computedHash):
+ (JSC::UStringImpl::setHash):
+ (JSC::UStringImpl::identifierTable):
+ (JSC::UStringImpl::setIdentifierTable):
+ (JSC::UStringImpl::ref):
+ (JSC::UStringImpl::deref):
+ (JSC::UStringImpl::allocChars):
+ (JSC::UStringImpl::copyChars):
+ (JSC::UStringImpl::computeHash):
+ (JSC::UStringImpl::null):
+ (JSC::UStringImpl::empty):
+ (JSC::UStringImpl::checkConsistency):
+ (JSC::UStringImpl::):
+ (JSC::UStringImpl::UStringImpl):
+ (JSC::UStringImpl::operator new):
+ (JSC::UStringImpl::bufferOwnerString):
+ (JSC::UStringImpl::bufferOwnership):
+ (JSC::UStringImpl::isStatic):
+
+2009-12-18 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Move some build decisions from Qt build system into source files
+ https://bugs.webkit.org/show_bug.cgi?id=31956
+
+ * JavaScriptCore.pri: Compile files unconditionally
+ * jit/ExecutableAllocatorPosix.cpp: Guard with PLATFORM(UNIX) && !PLATFORM(SYMBIAN)
+ * jit/ExecutableAllocatorWin.cpp: Guard with PLATFORM(WIN_OS)
+ * runtime/MarkStackPosix.cpp: Guard with PLATFORM(UNIX) && !PLATFORM(SYMBIAN)
+ * runtime/MarkStackSymbian.cpp: Guard with PLATFORM(SYMBIAN)
+ * runtime/MarkStackWin.cpp: Guard with PLATFORM(WIN_OS)
+ * wtf/Platform.h: Guard ENABLE_JSC_MULTIPLE_THREADS with ENABLE_SINGLE_THREADED for the Qt port
+ * wtf/ThreadingNone.cpp: Guard with ENABLE(SINGLE_THREADED)
+ * wtf/qt/ThreadingQt.cpp: Guard with !ENABLE(SINGLE_THREADED)
+
+2009-12-18 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add createNonCopying method to UString to make replace constructor passed bool,
+ to make behaviour more explicit. Add createFromUTF8 to UString (wrapping method
+ on UString::Rep), since other cases of transliteration (e.g. from ascii) are
+ performed in UString constructors. Add/use setHash & size() accessors on Rep,
+ rather than accessing _hash/len directly.
+
+ * API/JSClassRef.cpp:
+ (OpaqueJSClass::OpaqueJSClass):
+ * API/OpaqueJSString.cpp:
+ (OpaqueJSString::ustring):
+ * JavaScriptCore.exp:
+ * runtime/ArrayPrototype.cpp:
+ (JSC::arrayProtoFuncToString):
+ * runtime/Identifier.cpp:
+ (JSC::Identifier::equal):
+ (JSC::CStringTranslator::translate):
+ (JSC::UCharBufferTranslator::translate):
+ (JSC::Identifier::addSlowCase):
+ * runtime/JSString.cpp:
+ (JSC::JSString::resolveRope):
+ * runtime/JSString.h:
+ (JSC::JSString::Rope::Fiber::refAndGetLength):
+ (JSC::JSString::Rope::append):
+ * runtime/StringBuilder.h:
+ (JSC::StringBuilder::release):
+ * runtime/StringConstructor.cpp:
+ (JSC::stringFromCharCodeSlowCase):
+ * runtime/StringPrototype.cpp:
+ (JSC::substituteBackreferencesSlow):
+ (JSC::stringProtoFuncToLowerCase):
+ (JSC::stringProtoFuncToUpperCase):
+ (JSC::stringProtoFuncFontsize):
+ (JSC::stringProtoFuncLink):
+ * runtime/UString.cpp:
+ (JSC::UString::UString):
+ (JSC::UString::createNonCopying):
+ (JSC::UString::createFromUTF8):
+ * runtime/UString.h:
+ (JSC::UString::Rep::setHash):
+ (JSC::UString::~UString):
+ (JSC::makeString):
+
+2009-12-18 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Cameron Zwarich and Gavin Barraclough.
+
+ Changed Register constructors to assignment operators, to streamline
+ moving values into registers. (In theory, there's no difference between
+ the two, since the constructor should just inline away, but there seems
+ to be a big difference in the addled mind of the GCC optimizer.)
+
+ In the interpreter, this is a 3.5% SunSpider speedup and a 1K-2K
+ reduction in stack usage per privateExecute stack frame.
+
+ * interpreter/CallFrame.h:
+ (JSC::ExecState::setCalleeArguments):
+ (JSC::ExecState::setCallerFrame):
+ (JSC::ExecState::setScopeChain):
+ (JSC::ExecState::init):
+ (JSC::ExecState::setArgumentCount):
+ (JSC::ExecState::setCallee):
+ (JSC::ExecState::setCodeBlock): Added a little bit of casting so these
+ functions could use the new Register assignment operators.
+
+ * interpreter/Register.h:
+ (JSC::Register::withInt):
+ (JSC::Register::Register):
+ (JSC::Register::operator=): Swapped in assignment operators for constructors.
+
+2009-12-18 Yongjun Zhang <yongjun.zhang@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32713
+ [Qt] make wtf/Assertions.h compile in winscw compiler.
+
+ Add string arg before ellipsis to help winscw compiler resolve variadic
+ macro definitions in wtf/Assertions.h.
+
+ * wtf/Assertions.h:
+
+2009-12-18 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Fixed intermittent failure seen on Windows buildbot, and in other JSC
+ API clients.
+
+ Added a WeakGCPtr class and changed OpaqueJSClass::cachedPrototype to
+ use it, to avoid vending a stale object as a prototype.
+
+ * API/JSClassRef.cpp:
+ (OpaqueJSClassContextData::OpaqueJSClassContextData):
+ (OpaqueJSClass::prototype):
+ * API/JSClassRef.h: Use WeakGCPtr.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * runtime/WeakGCPtr.h: Added.
+ (JSC::WeakGCPtr::WeakGCPtr):
+ (JSC::WeakGCPtr::get):
+ (JSC::WeakGCPtr::clear):
+ (JSC::WeakGCPtr::operator*):
+ (JSC::WeakGCPtr::operator->):
+ (JSC::WeakGCPtr::operator!):
+ (JSC::WeakGCPtr::operator bool):
+ (JSC::WeakGCPtr::operator UnspecifiedBoolType):
+ (JSC::WeakGCPtr::assign):
+ (JSC::::operator):
+ (JSC::operator==):
+ (JSC::operator!=):
+ (JSC::static_pointer_cast):
+ (JSC::const_pointer_cast):
+ (JSC::getPtr): Added WeakGCPtr to the project.
+
+2009-12-18 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32720
+
+ * JavaScriptCore.exp:
+ - Remove exports for UString::append
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ - Make StringBuilder a private header (was project).
+
+2009-12-18 Martin Robinson <martin.james.robinson@gmail.com>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ [GTK] GRefPtr does not take a reference when assigned a raw pointer
+ https://bugs.webkit.org/show_bug.cgi?id=32709
+
+ Ensure that when assigning a raw pointer to a GRefPtr, the reference
+ count is incremented. Also remove the GRefPtr conversion overload as
+ GRefPtr types have necessarily incompatible reference counting.
+
+ * wtf/gtk/GRefPtr.h:
+ (WTF::GRefPtr::operator=):
+
+2009-12-18 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Clean up the qmake build system to distinguish between trunk builds and package builds
+
+ https://bugs.webkit.org/show_bug.cgi?id=32716
+
+ * pcre/pcre.pri: Use standalone_package instead of QTDIR_build
+
+2009-12-18 Martin Robinson <martin.james.robinson@gmail.com>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ [GTK] Compile warning from line 29 of GRefPtr.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=32703
+
+ Fix memory leak and compiler warning in GRefPtr GHashTable template
+ specialization.
+
+ * wtf/gtk/GRefPtr.cpp:
+ (WTF::refGPtr):
+
+2009-12-17 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Add BUILDING_ON_SNOW_LEOPARD and TARGETING_SNOW_LEOPARD #defines.
+
+ * wtf/Platform.h:
+
+2009-12-17 Adam Roben <aroben@apple.com>
+
+ Sync JavaScriptCore.vcproj with JavaScriptCore.xcodeproj and the
+ source tree
+
+ Fixes <http://webkit.org/b/32665>.
+
+ Reviewed by Ada Chan.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Moved
+ around files and filters so that the structure matches
+ JavaScriptCore.xcodeproj and the source tree. A few headers that were
+ previously omitted have been added, as well as JSZombie.{cpp,h}.
+
+2009-12-17 Adam Roben <aroben@apple.com>
+
+ Remove HeavyProfile and TreeProfile completely
+
+ These were mostly removed in r42808, but the empty files were left in
+ place.
+
+ Fixes <http://webkit.org/b/32664>.
+
+ Reviewed by John Sullivan.
+
+ * Android.mk:
+ * GNUmakefile.am:
+ * JavaScriptCore.gypi:
+ * JavaScriptCore.pri:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
+ * JavaScriptCoreSources.bkl:
+ Removed HeavyProfile/TreeProfile source files.
+
+ * profiler/HeavyProfile.cpp: Removed.
+ * profiler/HeavyProfile.h: Removed.
+ * profiler/TreeProfile.cpp: Removed.
+ * profiler/TreeProfile.h: Removed.
+
+2009-12-17 Martin Robinson <martin.james.robinson@gmail.com>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ [GTK] WebKit GTK needs a wrapper for ref counted glib/gobject structs
+ https://bugs.webkit.org/show_bug.cgi?id=21599
+
+ Implement GRefPtr, a smart pointer for reference counted GObject types.
+
+ * GNUmakefile.am:
+ * wtf/gtk/GOwnPtr.cpp:
+ (WTF::GDir):
+ * wtf/gtk/GRefPtr.h: Added.
+ (WTF::):
+ (WTF::GRefPtr::GRefPtr):
+ (WTF::GRefPtr::~GRefPtr):
+ (WTF::GRefPtr::clear):
+ (WTF::GRefPtr::get):
+ (WTF::GRefPtr::operator*):
+ (WTF::GRefPtr::operator->):
+ (WTF::GRefPtr::operator!):
+ (WTF::GRefPtr::operator UnspecifiedBoolType):
+ (WTF::GRefPtr::hashTableDeletedValue):
+ (WTF::::operator):
+ (WTF::::swap):
+ (WTF::swap):
+ (WTF::operator==):
+ (WTF::operator!=):
+ (WTF::static_pointer_cast):
+ (WTF::const_pointer_cast):
+ (WTF::getPtr):
+ (WTF::adoptGRef):
+ (WTF::refGPtr):
+ (WTF::derefGPtr):
+
+2009-12-17 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Unreviewed. Build fixes for make distcheck.
+
+ * GNUmakefile.am:
+
+2009-12-16 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Fixed <rdar://problem/7355025> Interpreter::privateExecute macro generates
+ bloated code
+
+ This patch cuts Interpreter stack use by about a third.
+
+ * bytecode/Opcode.h: Changed Opcode to const void* to work with the
+ const static initiliazation we want to do in Interpreter::privateExecute.
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::Interpreter): Moved hashtable initialization here to
+ avoid polluting Interpreter::privateExecute's stack, and changed it from a
+ series of add() calls to one add() call in a loop, to cut down on code size.
+
+ (JSC::Interpreter::privateExecute): Changed a series of label computations
+ to a copy of a compile-time constant array to cut down on code size.
+
+2009-12-16 Mark Rowe <mrowe@apple.com>
+
+ Build fix. Disable debug variants of WebKit frameworks.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+
+2009-12-15 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam "r=me" Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32498
+ <rdar://problem/7471495>
+ REGRESSION(r51978-r52039): AJAX "Mark This Forum Read" function no longer
+ works
+
+ Fixed a tyop.
+
+ * runtime/Operations.h:
+ (JSC::jsAdd): Use the '&&' operator, not the ',' operator.
+
+2009-12-15 Geoffrey Garen <ggaren@apple.com>
+
+ Try to fix the windows build: don't export this inlined function.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2009-12-15 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ Inlined JSCell's operator new.
+
+ 3.7% speedup on bench-allocate-nonretained.js.
+
+ * JavaScriptCore.exp:
+ * runtime/JSCell.cpp:
+ * runtime/JSCell.h:
+ (JSC::JSCell::operator new):
+
+2009-12-15 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Removed the number heap, replacing it with a one-item free list for
+ numbers, taking advantage of the fact that two number cells fit inside
+ the space for one regular cell, and number cells don't require destruction.
+
+ SunSpider says 1.6% faster in JSVALUE32 mode (the only mode that
+ heap-allocates numbers).
+
+ SunSpider says 1.1% faster in JSVALUE32_64 mode. v8 says 0.8% faster
+ in JSVALUE32_64 mode. 10% speedup on bench-alloc-nonretained.js. 6%
+ speedup on bench-alloc-retained.js.
+
+ There's a lot of formulaic change in this patch, but not much substance.
+
+ * JavaScriptCore.exp:
+ * debugger/Debugger.cpp:
+ (JSC::Debugger::recompileAllJSFunctions):
+ * runtime/Collector.cpp:
+ (JSC::Heap::Heap):
+ (JSC::Heap::destroy):
+ (JSC::Heap::allocateBlock):
+ (JSC::Heap::freeBlock):
+ (JSC::Heap::freeBlockPtr):
+ (JSC::Heap::freeBlocks):
+ (JSC::Heap::recordExtraCost):
+ (JSC::Heap::allocate):
+ (JSC::Heap::resizeBlocks):
+ (JSC::Heap::growBlocks):
+ (JSC::Heap::shrinkBlocks):
+ (JSC::Heap::markConservatively):
+ (JSC::Heap::clearMarkBits):
+ (JSC::Heap::markedCells):
+ (JSC::Heap::sweep):
+ (JSC::Heap::markRoots):
+ (JSC::Heap::objectCount):
+ (JSC::Heap::addToStatistics):
+ (JSC::Heap::statistics):
+ (JSC::Heap::isBusy):
+ (JSC::Heap::reset):
+ (JSC::Heap::collectAllGarbage):
+ (JSC::Heap::primaryHeapBegin):
+ (JSC::Heap::primaryHeapEnd):
+ * runtime/Collector.h:
+ (JSC::): Removed all code pertaining to the number heap, and changed all
+ heap template functions and classes to non-template functions and classes.
+
+ (JSC::Heap::allocateNumber): A new optimization to replace the number
+ heap: allocate half-sized number cells in pairs, returning the first
+ cell and caching the second cell for the next allocation.
+
+ * runtime/CollectorHeapIterator.h:
+ (JSC::LiveObjectIterator::LiveObjectIterator):
+ (JSC::LiveObjectIterator::operator++):
+ (JSC::DeadObjectIterator::DeadObjectIterator):
+ (JSC::DeadObjectIterator::operator++):
+ (JSC::ObjectIterator::ObjectIterator):
+ (JSC::ObjectIterator::operator++):
+ * runtime/JSCell.h:
+ (JSC::JSCell::isNumber): Removed all code pertaining to the number heap,
+ and changed all heap template functions and classes to non-template functions
+ and classes.
+
+2009-12-15 Zoltan Horvath <zoltan@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Allow custom memory allocation control for WeakGCMap class
+ https://bugs.webkit.org/show_bug.cgi?id=32547
+
+ Inherits WeakGCMap from FastAllocBase because it is instantiated by
+ 'new' at: WebCore/dom/Document.cpp:512.
+
+ * runtime/WeakGCMap.h:
+
+2009-12-15 Zoltan Horvath <zoltan@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Allow custom memory allocation control for dtoa's P5Node struct
+ https://bugs.webkit.org/show_bug.cgi?id=32544
+
+ Inherits P5Node struct from Noncopyable because it is instantiated by
+ 'new' at wtf/dtoa.cpp:588 and don't need to be copyable.
+
+ * wtf/dtoa.cpp:
+
+2009-12-14 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32524
+ REGRESSION(52084): fast/dom/prototypes.html failing two CSS tests
+
+ * wtf/StdLibExtras.h:
+ (WTF::bitCount): The original patch put the parentheses in the wrong
+ place, completely changing the calculation and making it almost always
+ wrong. Moved the parentheses around the '+' operation, like the original
+ compiler warning suggested.
+
+2009-12-14 Gabor Loki <loki@inf.u-szeged.hu>
+
+ Unreviewed trivial buildfix.
+
+ Fix crosses initialization of usedPrimaryBlocks for JSValue32
+
+ * runtime/Collector.cpp:
+ (JSC::Heap::markConservatively):
+
+2009-12-14 Csaba Osztrogonác <ossy@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ GCC 4.3.x warning fixed. Suggested parantheses added.
+ warning: ../../../JavaScriptCore/wtf/StdLibExtras.h:77: warning: suggest parentheses around + or - in operand of &
+
+ * wtf/StdLibExtras.h:
+ (WTF::bitCount):
+
+2009-12-13 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Changed GC from mark-sweep to mark-allocate.
+
+ Added WeakGCMap to keep WebCore blissfully ignorant about objects that
+ have become garbage but haven't run their destructors yet.
+
+ 1% SunSpider speedup.
+ 7.6% v8 speedup (37% splay speedup).
+ 17% speedup on bench-alloc-nonretained.js.
+ 18% speedup on bench-alloc-retained.js.
+
+ * API/JSBase.cpp:
+ (JSGarbageCollect):
+ * API/JSContextRef.cpp:
+ * JavaScriptCore.exp:
+ * JavaScriptCore.xcodeproj/project.pbxproj: Updated for renames and new
+ files.
+
+ * debugger/Debugger.cpp:
+ (JSC::Debugger::recompileAllJSFunctions): Updated to use the Collector
+ iterator abstraction.
+
+ * jsc.cpp:
+ (functionGC): Updated for rename.
+
+ * runtime/Collector.cpp: Slightly reduced the number of allocations per
+ collection, so that small workloads only allocate on collector block,
+ rather than two.
+
+ (JSC::Heap::Heap): Updated to use the new allocateBlock function.
+
+ (JSC::Heap::destroy): Updated to use the new freeBlocks function.
+
+ (JSC::Heap::allocateBlock): New function to initialize a block when
+ allocating it.
+
+ (JSC::Heap::freeBlock): Consolidated the responsibility for running
+ destructors into this function.
+
+ (JSC::Heap::freeBlocks): Updated to use freeBlock.
+
+ (JSC::Heap::recordExtraCost): Sweep the heap in this reporting function,
+ so that allocation, which is more common, doesn't have to check extraCost.
+
+ (JSC::Heap::heapAllocate): Run destructors right before recycling a
+ garbage cell. This has better cache utilization than a separate sweep phase.
+
+ (JSC::Heap::resizeBlocks):
+ (JSC::Heap::growBlocks):
+ (JSC::Heap::shrinkBlocks): New set of functions for managing the size of
+ the heap, now that the heap doesn't maintain any information about its
+ size.
+
+ (JSC::isPointerAligned):
+ (JSC::isHalfCellAligned):
+ (JSC::isPossibleCell):
+ (JSC::isCellAligned):
+ (JSC::Heap::markConservatively): Cleaned up this code a bit.
+
+ (JSC::Heap::clearMarkBits):
+ (JSC::Heap::markedCells): Some helper functions for examining the the mark
+ bitmap.
+
+ (JSC::Heap::sweep): Simplified this function by using a DeadObjectIterator.
+
+ (JSC::Heap::markRoots): Reordered some operations for clarity.
+
+ (JSC::Heap::objectCount):
+ (JSC::Heap::addToStatistics):
+ (JSC::Heap::statistics): Rewrote these functions to calculate an object
+ count on demand, since the heap doesn't maintain this information by
+ itself.
+
+ (JSC::Heap::reset): New function for resetting the heap once we've
+ exhausted heap space.
+
+ (JSC::Heap::collectAllGarbage): This function matches the old collect()
+ behavior, but it's now an uncommon function used only by API.
+
+ * runtime/Collector.h:
+ (JSC::CollectorBitmap::count):
+ (JSC::CollectorBitmap::isEmpty): Added some helper functions for managing
+ the collector mark bitmap.
+
+ (JSC::Heap::reportExtraMemoryCost): Changed reporting from cell equivalents
+ to bytes, so it's easier to understand.
+
+ * runtime/CollectorHeapIterator.h:
+ (JSC::CollectorHeapIterator::CollectorHeapIterator):
+ (JSC::CollectorHeapIterator::operator!=):
+ (JSC::CollectorHeapIterator::operator*):
+ (JSC::CollectorHeapIterator::advance):
+ (JSC::::LiveObjectIterator):
+ (JSC::::operator):
+ (JSC::::DeadObjectIterator):
+ (JSC::::ObjectIterator): New iterators for encapsulating details about
+ heap layout, and what's live and dead on the heap.
+
+ * runtime/JSArray.cpp:
+ (JSC::JSArray::putSlowCase):
+ (JSC::JSArray::increaseVectorLength): Delay reporting extra cost until
+ we're fully constructed, so the heap mark phase won't visit us in an
+ invalid state.
+
+ * runtime/JSCell.h:
+ (JSC::JSCell::):
+ (JSC::JSCell::createDummyStructure):
+ (JSC::JSCell::JSCell):
+ * runtime/JSGlobalData.cpp:
+ (JSC::JSGlobalData::JSGlobalData):
+ * runtime/JSGlobalData.h: Added a dummy cell to simplify allocation logic.
+
+ * runtime/JSString.h:
+ (JSC::jsSubstring): Don't report extra cost for substrings, since they
+ share a buffer that's already reported extra cost.
+
+ * runtime/Tracing.d:
+ * runtime/Tracing.h: Changed these dtrace hooks not to report object
+ counts, since they're no longer cheap to compute.
+
+ * runtime/UString.h: Updated for renames.
+
+ * runtime/WeakGCMap.h: Added.
+ (JSC::WeakGCMap::isEmpty):
+ (JSC::WeakGCMap::uncheckedGet):
+ (JSC::WeakGCMap::uncheckedBegin):
+ (JSC::WeakGCMap::uncheckedEnd):
+ (JSC::::get):
+ (JSC::::take):
+ (JSC::::set):
+ (JSC::::uncheckedRemove): Mentioned above.
+
+ * wtf/StdLibExtras.h:
+ (WTF::bitCount): Added a bit population count function, so the heap can
+ count live objects to fulfill statistics questions.
+
+The very last cell in the block is not allocated -- should not be marked.
+
+2009-12-13 Geoffrey Garen <ggaren@apple.com>
+
+ Windows build fix: Export some new symbols.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2009-12-13 Geoffrey Garen <ggaren@apple.com>
+
+ Windows build fix: Removed some old exports.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2009-12-13 Geoffrey Garen <ggaren@apple.com>
+
+ Windows build fix: Use unsigned instead of uint32_t to avoid dependencies.
+
+ * wtf/StdLibExtras.h:
+ (WTF::bitCount):
+
+2009-12-13 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (speculative Windows build fix).
+
+ * runtime/JSGlobalObjectFunctions.cpp:
+
+2009-12-13 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32496
+ Switch remaining cases of string construction to use StringBuilder.
+ Builds strings using a vector rather than using string append / addition.
+
+ * JavaScriptCore.exp:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * runtime/Executable.cpp:
+ (JSC::FunctionExecutable::paramString):
+ * runtime/FunctionConstructor.cpp:
+ (JSC::constructFunction):
+ * runtime/JSGlobalObjectFunctions.cpp:
+ (JSC::encode):
+ (JSC::decode):
+ (JSC::globalFuncEscape):
+ (JSC::globalFuncUnescape):
+ * runtime/JSONObject.cpp:
+ (JSC::Stringifier::stringify):
+ (JSC::Stringifier::indent):
+ * runtime/JSString.h:
+ * runtime/LiteralParser.cpp:
+ (JSC::LiteralParser::Lexer::lexString):
+ * runtime/NumberPrototype.cpp:
+ (JSC::integerPartNoExp):
+ (JSC::numberProtoFuncToFixed):
+ (JSC::numberProtoFuncToPrecision):
+ * runtime/Operations.h:
+ (JSC::jsString):
+ * runtime/StringPrototype.cpp:
+ (JSC::substituteBackreferencesSlow):
+ (JSC::substituteBackreferences):
+ (JSC::stringProtoFuncConcat):
+
+2009-12-08 Jeremy Moskovich <jeremy@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Add code to allow toggling ATSUI/Core Text rendering at runtime in ComplexTextController.
+ https://bugs.webkit.org/show_bug.cgi?id=31802
+
+ The goal here is to allow for a zero runtime hit for ports that decide to select
+ the API at compile time.
+ When both USE(ATSUI) and USE(CORE_TEXT) are true, the API is toggled
+ at runtime. Core Text is used for OS Versions >= 10.6.
+
+ * wtf/Platform.h: #define USE_CORE_TEXT and USE_ATSUI on Chrome/Mac.
+
+2009-12-11 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Unify codegen for forward and backward variants of branches
+ https://bugs.webkit.org/show_bug.cgi?id=32463
+
+ * jit/JIT.h:
+ (JSC::JIT::emit_op_loop): Implemented in terms of forward variant.
+ (JSC::JIT::emit_op_loop_if_true): ditto
+ (JSC::JIT::emitSlow_op_loop_if_true): ditto
+ (JSC::JIT::emit_op_loop_if_false): ditto
+ (JSC::JIT::emitSlow_op_loop_if_false): ditto
+ (JSC::JIT::emit_op_loop_if_less): ditto
+ (JSC::JIT::emitSlow_op_loop_if_less): ditto
+ * jit/JITOpcodes.cpp:
+
+2009-12-11 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Allow WTFs concept of the main thread to differ from pthreads when necessary.
+
+ * wtf/ThreadingPthreads.cpp:
+ (WTF::initializeThreading):
+ (WTF::isMainThread):
+ * wtf/mac/MainThreadMac.mm:
+ (WTF::initializeMainThreadPlatform):
+ (WTF::scheduleDispatchFunctionsOnMainThread):
+
+2009-12-11 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32454
+ Refactor construction of simple strings to avoid string concatenation.
+
+ Building strings through concatenation has a memory and performance cost -
+ a memory cost since we must over-allocate the buffer to leave space to append
+ into, and performance in that the string may still require reallocation (and
+ thus copying during construction). Instead move the full construction to
+ within a single function call (makeString), so that the arguments' lengths
+ can be calculated and an appropriate sized buffer allocated before copying
+ any characters.
+
+ ~No performance change (~2% progression on date tests).
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::escapeQuotes):
+ (JSC::valueToSourceString):
+ (JSC::constantName):
+ (JSC::idName):
+ (JSC::CodeBlock::registerName):
+ (JSC::regexpToSourceString):
+ (JSC::regexpName):
+ * bytecompiler/NodesCodegen.cpp:
+ (JSC::substitute):
+ * profiler/Profiler.cpp:
+ (JSC::Profiler::createCallIdentifier):
+ * runtime/DateConstructor.cpp:
+ (JSC::callDate):
+ * runtime/DateConversion.cpp:
+ (JSC::formatDate):
+ (JSC::formatDateUTCVariant):
+ (JSC::formatTime):
+ (JSC::formatTimeUTC):
+ * runtime/DateConversion.h:
+ (JSC::):
+ * runtime/DatePrototype.cpp:
+ (JSC::dateProtoFuncToString):
+ (JSC::dateProtoFuncToUTCString):
+ (JSC::dateProtoFuncToDateString):
+ (JSC::dateProtoFuncToTimeString):
+ (JSC::dateProtoFuncToGMTString):
+ * runtime/ErrorPrototype.cpp:
+ (JSC::errorProtoFuncToString):
+ * runtime/ExceptionHelpers.cpp:
+ (JSC::createUndefinedVariableError):
+ (JSC::createErrorMessage):
+ (JSC::createInvalidParamError):
+ * runtime/FunctionPrototype.cpp:
+ (JSC::insertSemicolonIfNeeded):
+ (JSC::functionProtoFuncToString):
+ * runtime/ObjectPrototype.cpp:
+ (JSC::objectProtoFuncToString):
+ * runtime/RegExpConstructor.cpp:
+ (JSC::constructRegExp):
+ * runtime/RegExpObject.cpp:
+ (JSC::RegExpObject::match):
+ * runtime/RegExpPrototype.cpp:
+ (JSC::regExpProtoFuncCompile):
+ (JSC::regExpProtoFuncToString):
+ * runtime/StringPrototype.cpp:
+ (JSC::stringProtoFuncBig):
+ (JSC::stringProtoFuncSmall):
+ (JSC::stringProtoFuncBlink):
+ (JSC::stringProtoFuncBold):
+ (JSC::stringProtoFuncFixed):
+ (JSC::stringProtoFuncItalics):
+ (JSC::stringProtoFuncStrike):
+ (JSC::stringProtoFuncSub):
+ (JSC::stringProtoFuncSup):
+ (JSC::stringProtoFuncFontcolor):
+ (JSC::stringProtoFuncFontsize):
+ (JSC::stringProtoFuncAnchor):
+ * runtime/UString.h:
+ (JSC::):
+ (JSC::makeString):
+
+2009-12-10 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32400
+ Switch remaining cases of string addition to use ropes.
+
+ Re-landing r51975 - added toPrimitiveString method,
+ performs toPrimitive then subsequent toString operations.
+
+ ~1% progression on Sunspidey.
+
+ * jit/JITStubs.cpp:
+ (JSC::DEFINE_STUB_FUNCTION):
+ * runtime/JSString.h:
+ (JSC::JSString::JSString):
+ (JSC::JSString::appendStringInConstruct):
+ * runtime/Operations.cpp:
+ (JSC::jsAddSlowCase):
+ * runtime/Operations.h:
+ (JSC::jsString):
+ (JSC::jsAdd):
+
+2009-12-11 Adam Roben <aroben@apple.com>
+
+ Windows build fix
+
+ * JavaScriptCore.vcproj/jsc/jscCommon.vsprops: Added
+ $(WebKitOutputDir)/include/private to the include path.
+
+2009-12-11 Adam Roben <aroben@apple.com>
+
+ Move QuartzCorePresent.h to include/private
+
+ This fixes other projects that use wtf/Platform.h
+
+ Rubber-stamped by Steve Falkenburg.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Let VS do its thang.
+ * JavaScriptCore.vcproj/JavaScriptCore/build-generated-files.sh: Write
+ QuartzCorePresent.h to $(WebKitOutputDir)/include/private.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
+ * JavaScriptCore.vcproj/WTF/WTFCommon.vsprops:
+ Added $(WebKitOutputDir)/include/private to the include path.
+
+2009-12-11 Adam Roben <aroben@apple.com>
+
+ Fix clean builds and everything rebuilding on every build
+
+ Reviewed by Sam Weinig.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/build-generated-files.sh: Don't
+ write out QuartzCorePresent.h if it exists but is older than
+ QuartzCore.h. Also, create the directory we write QuartzCorePresent.h
+ into first.
+
+2009-12-11 Adam Roben <aroben@apple.com>
+
+ Windows build fix for systems with spaces in their paths
+
+ * JavaScriptCore.vcproj/JavaScriptCore/build-generated-files.sh: Quote some paths.
+
+2009-12-11 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add check for presence of QuartzCore headers
+ https://bugs.webkit.org/show_bug.cgi?id=31856
+
+ The script now checks for the presence of QuartzCore.h. If present
+ it will turn on ACCELERATED_COMPOSITING and 3D_RENDERING to enable
+ HW compositing on Windows. The script writes QuartzCorePresent.h to
+ the build directory which has a define telling whether QuartzCore is
+ present.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/build-generated-files.sh:
+ * wtf/Platform.h:
+
+2009-12-11 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Fix a problem that JSC::gregorianDateTimeToMS() returns a negative
+ value for a huge year value.
+ https://bugs.webkit.org/show_bug.cgi?id=32304
+
+ * wtf/DateMath.cpp:
+ (WTF::dateToDaysFrom1970): Renamed from dateToDayInYear, and changed the return type to double.
+ (WTF::calculateDSTOffset): Follow the dateToDaysFrom1970() change.
+ (WTF::timeClip): Use maxECMAScriptTime.
+ (JSC::gregorianDateTimeToMS): Follow the dateToDaysFrom1970() change.
+
+2009-12-10 Adam Barth <abarth@webkit.org>
+
+ No review, rolling out r51975.
+ http://trac.webkit.org/changeset/51975
+
+ * jit/JITStubs.cpp:
+ (JSC::DEFINE_STUB_FUNCTION):
+ * runtime/JSString.h:
+ (JSC::JSString::JSString):
+ (JSC::JSString::appendStringInConstruct):
+ * runtime/Operations.cpp:
+ (JSC::jsAddSlowCase):
+ * runtime/Operations.h:
+ (JSC::jsString):
+ (JSC::jsAdd):
+
+2009-12-10 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Incorrect caching of prototype lookup with dictionary base
+ https://bugs.webkit.org/show_bug.cgi?id=32402
+
+ Make sure we don't add cached prototype lookup to the proto_list
+ lookup chain if the top level object is a dictionary.
+
+ * jit/JITStubs.cpp:
+ (JSC::JITThunks::tryCacheGetByID):
+
+2009-12-10 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32400
+ Switch remaining cases of string addition to use ropes.
+
+ ~1% progression on Sunspidey.
+
+ * jit/JITStubs.cpp:
+ (JSC::DEFINE_STUB_FUNCTION):
+ * runtime/JSString.h:
+ (JSC::JSString::JSString):
+ (JSC::JSString::appendStringInConstruct):
+ * runtime/Operations.cpp:
+ (JSC::jsAddSlowCase):
+ * runtime/Operations.h:
+ (JSC::jsString):
+ (JSC::jsAdd):
+
+2009-12-10 Kent Hansen <kent.hansen@nokia.com>
+
+ Reviewed by Geoffrey Garen.
+
+ Remove JSObject::getPropertyAttributes() and all usage of it.
+ https://bugs.webkit.org/show_bug.cgi?id=31933
+
+ getOwnPropertyDescriptor() should be used instead.
+
+ * JavaScriptCore.exp:
+ * JavaScriptCore.order:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * debugger/DebuggerActivation.cpp:
+ (JSC::DebuggerActivation::getOwnPropertyDescriptor):
+ * debugger/DebuggerActivation.h:
+ * runtime/JSObject.cpp:
+ (JSC::JSObject::propertyIsEnumerable):
+ * runtime/JSObject.h:
+ * runtime/JSVariableObject.cpp:
+ * runtime/JSVariableObject.h:
+
+2009-12-10 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt & Mark Rowe.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32367
+ Add support for short Ropes (up to 3 entries) inline within JSString.
+ (rather than externally allocating an object to hold the rope).
+ Switch jsAdd of (JSString* + JSString*) to now make use of Ropes.
+
+ ~1% progression on Sunspidey.
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::privateCompileCTIMachineTrampolines):
+ * jit/JITStubs.cpp:
+ (JSC::DEFINE_STUB_FUNCTION):
+ * runtime/JSString.cpp:
+ (JSC::JSString::resolveRope):
+ (JSC::JSString::toBoolean):
+ (JSC::JSString::getStringPropertyDescriptor):
+ * runtime/JSString.h:
+ (JSC::JSString::Rope::Fiber::deref):
+ (JSC::JSString::Rope::Fiber::ref):
+ (JSC::JSString::Rope::Fiber::refAndGetLength):
+ (JSC::JSString::Rope::append):
+ (JSC::JSString::JSString):
+ (JSC::JSString::~JSString):
+ (JSC::JSString::value):
+ (JSC::JSString::tryGetValue):
+ (JSC::JSString::length):
+ (JSC::JSString::canGetIndex):
+ (JSC::JSString::appendStringInConstruct):
+ (JSC::JSString::appendValueInConstructAndIncrementLength):
+ (JSC::JSString::isRope):
+ (JSC::JSString::string):
+ (JSC::JSString::ropeLength):
+ (JSC::JSString::getStringPropertySlot):
+ * runtime/Operations.h:
+ (JSC::jsString):
+ (JSC::jsAdd):
+ (JSC::resolveBase):
+
+2009-12-09 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ Fix three more things found by compiling with clang++.
+
+ * runtime/Structure.h:
+ (JSC::StructureTransitionTable::reifySingleTransition):
+ Add the 'std' qualifier to the call to make_pair.
+
+ * wtf/DateMath.cpp:
+ (WTF::initializeDates):
+ Incrementing a bool is deprecated according to the C++ specification.
+
+ * wtf/PtrAndFlags.h:
+ (WTF::PtrAndFlags::PtrAndFlags):
+ Name lookup should not be done in dependent bases, so explicitly qualify the call to set.
+
+2009-12-09 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Google reader gets stuck in the "Loading..." state and does not complete
+ https://bugs.webkit.org/show_bug.cgi?id=32256
+ <rdar://problem/7456388>
+
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emitSlow_op_jless): Fix some backward branches.
+
+2009-12-09 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32228
+ Make destruction of ropes non-recursive to prevent stack exhaustion.
+ Also, pass a UString& into initializeFiber rather than a Ustring::Rep*,
+ since the Rep is not being ref counted this could result in usage of a
+ Rep with refcount zero (where the Rep comes from a temporary UString
+ returned from a function).
+
+ * runtime/JSString.cpp:
+ (JSC::JSString::Rope::destructNonRecursive):
+ (JSC::JSString::Rope::~Rope):
+ * runtime/JSString.h:
+ (JSC::JSString::Rope::initializeFiber):
+ * runtime/Operations.h:
+ (JSC::concatenateStrings):
+
+2009-12-09 Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=31930
+
+ Update to r51457. ASSERTs changed to COMPILE_ASSERTs.
+ The speedup is 25%.
+
+ * runtime/JSGlobalData.cpp:
+ (JSC::VPtrSet::VPtrSet):
+
+2009-12-09 Steve Block <steveblock@google.com>
+
+ Reviewed by Adam Barth.
+
+ Updates Android Makefiles with latest additions.
+ https://bugs.webkit.org/show_bug.cgi?id=32278
+
+ * Android.mk: Modified.
+ * Android.v8.wtf.mk: Modified.
+
+2009-12-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Fix a bug found while trying to compile JavaScriptCore with clang++.
+
+ * yarr/RegexPattern.h:
+ (JSC::Yarr::PatternTerm::PatternTerm): Don't self assign here. Use false instead.
+
+2009-12-09 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Attempt to fix the Windows build.
+
+ * wtf/FastMalloc.h:
+
+2009-12-09 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix some things found while trying to compile JavaScriptCore with clang++.
+
+ * wtf/FastMalloc.h:
+ Add correct exception specifications for the allocation/deallocation operators.
+
+ * wtf/Vector.h:
+ * wtf/VectorTraits.h:
+ Fix a bunch of struct/class mismatches.
+
+2009-12-08 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Darin Adler.
+
+ move code generation portions of Nodes.cpp to bytecompiler directory
+ https://bugs.webkit.org/show_bug.cgi?id=32284
+
+ * bytecompiler/NodesCodegen.cpp: Copied from parser/Nodes.cpp. Removed parts that
+ are not about codegen.
+ * parser/Nodes.cpp: Removed everything that is about codegen.
+
+ Update build systems:
+
+ * Android.mk:
+ * GNUmakefile.am:
+ * JavaScriptCore.gypi:
+ * JavaScriptCore.pri:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * JavaScriptCoreSources.bkl:
+
+2009-12-08 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ [wx] Mac plugins support.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32236
+
+ * wtf/Platform.h:
+
+2009-12-08 Dmitry Titov <dimich@chromium.org>
+
+ Rubber-stamped by David Levin.
+
+ Revert and reopen "Add asserts to RefCounted to make sure ref/deref happens on the right thread."
+ It may have caused massive increase of reported leaks on the bots.
+ https://bugs.webkit.org/show_bug.cgi?id=31639
+
+ * GNUmakefile.am:
+ * JavaScriptCore.gypi:
+ * JavaScriptCore.vcproj/WTF/WTF.vcproj:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * runtime/Structure.cpp:
+ (JSC::Structure::Structure):
+ * wtf/RefCounted.h:
+ (WTF::RefCountedBase::ref):
+ (WTF::RefCountedBase::hasOneRef):
+ (WTF::RefCountedBase::refCount):
+ (WTF::RefCountedBase::derefBase):
+ * wtf/ThreadVerifier.h: Removed.
+
+2009-12-08 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Darin Adler.
+
+ Make WebKit build correctly on FreeBSD, IA64, and Alpha.
+ Based on work by Petr Salinger <Petr.Salinger@seznam.cz>,
+ and Colin Watson <cjwatson@ubuntu.com>.
+
+ * wtf/Platform.h:
+
+2009-12-08 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Add asserts to RefCounted to make sure ref/deref happens on the right thread.
+ https://bugs.webkit.org/show_bug.cgi?id=31639
+
+ * runtime/Structure.cpp:
+ (JSC::Structure::Structure): Disable thread verification on this class since it uses addressOfCount().
+ * wtf/RefCounted.h:
+ (WTF::RefCountedBase::ref): Add ASSERT.
+ (WTF::RefCountedBase::hasOneRef): Ditto.
+ (WTF::RefCountedBase::refCount): Ditto.
+ (WTF::RefCountedBase::derefBase): Ditto.
+ (WTF::RefCountedBase::disableThreadVerification): delegate to ThreadVerifier method.
+ * wtf/ThreadVerifier.h: Added.
+ (WTF::ThreadVerifier::ThreadVerifier): New Debug-only class to verify that ref/deref of RefCounted is done on the same thread.
+ (WTF::ThreadVerifier::activate): Activates checks. Called when ref count becomes above 2.
+ (WTF::ThreadVerifier::deactivate): Deactivates checks. Called when ref count drops below 2.
+ (WTF::ThreadVerifier::disableThreadVerification): used on objects that should not be checked (StringImpl etc)
+ (WTF::ThreadVerifier::verifyThread):
+ * GNUmakefile.am: Add ThreadVerifier.h to the build file.
+ * JavaScriptCore.gypi: Ditto.
+ * JavaScriptCore.vcproj/WTF/WTF.vcproj: Ditto.
+ * JavaScriptCore.xcodeproj/project.pbxproj: Ditto.
+
+2009-12-08 Steve Block <steveblock@google.com>
+
+ Reviewed by Adam Barth.
+
+ [Android] Adds Makefiles for Android port.
+ https://bugs.webkit.org/show_bug.cgi?id=31325
+
+ * Android.mk: Added.
+ * Android.v8.wtf.mk: Added.
+
+2009-12-07 Dmitry Titov <dimich@chromium.org>
+
+ Rubber-stamped by Darin Adler.
+
+ Remove ENABLE_SHARED_SCRIPT flags
+ https://bugs.webkit.org/show_bug.cgi?id=32245
+ This patch was obtained by "git revert" command and then un-reverting of ChangeLog files.
+
+ * Configurations/FeatureDefines.xcconfig:
+ * wtf/Platform.h:
+
+2009-12-07 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (Windows build fixage part I).
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2009-12-05 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32184
+ Handle out-of-memory conditions with JSC Ropes with a JS exception, rather than crashing.
+ Switch from using fastMalloc to tryFastMalloc, pass an ExecState to record the exception on.
+
+ * API/JSCallbackObjectFunctions.h:
+ (JSC::::toString):
+ * API/JSValueRef.cpp:
+ (JSValueIsStrictEqual):
+ * JavaScriptCore.exp:
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::emitEqualityOp):
+ * debugger/DebuggerCallFrame.cpp:
+ (JSC::DebuggerCallFrame::functionName):
+ (JSC::DebuggerCallFrame::calculatedFunctionName):
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::callEval):
+ (JSC::Interpreter::privateExecute):
+ * jit/JITStubs.cpp:
+ (JSC::DEFINE_STUB_FUNCTION):
+ * profiler/ProfileGenerator.cpp:
+ (JSC::ProfileGenerator::addParentForConsoleStart):
+ * profiler/Profiler.cpp:
+ (JSC::Profiler::willExecute):
+ (JSC::Profiler::didExecute):
+ (JSC::Profiler::createCallIdentifier):
+ (JSC::createCallIdentifierFromFunctionImp):
+ * profiler/Profiler.h:
+ * runtime/ArrayPrototype.cpp:
+ (JSC::arrayProtoFuncIndexOf):
+ (JSC::arrayProtoFuncLastIndexOf):
+ * runtime/DateConstructor.cpp:
+ (JSC::constructDate):
+ * runtime/FunctionPrototype.cpp:
+ (JSC::functionProtoFuncToString):
+ * runtime/InternalFunction.cpp:
+ (JSC::InternalFunction::name):
+ (JSC::InternalFunction::displayName):
+ (JSC::InternalFunction::calculatedDisplayName):
+ * runtime/InternalFunction.h:
+ * runtime/JSCell.cpp:
+ (JSC::JSCell::getString):
+ * runtime/JSCell.h:
+ (JSC::JSValue::getString):
+ * runtime/JSONObject.cpp:
+ (JSC::gap):
+ (JSC::Stringifier::Stringifier):
+ (JSC::Stringifier::appendStringifiedValue):
+ * runtime/JSObject.cpp:
+ (JSC::JSObject::putDirectFunction):
+ (JSC::JSObject::putDirectFunctionWithoutTransition):
+ (JSC::JSObject::defineOwnProperty):
+ * runtime/JSObject.h:
+ * runtime/JSPropertyNameIterator.cpp:
+ (JSC::JSPropertyNameIterator::get):
+ * runtime/JSString.cpp:
+ (JSC::JSString::Rope::~Rope):
+ (JSC::JSString::resolveRope):
+ (JSC::JSString::getPrimitiveNumber):
+ (JSC::JSString::toNumber):
+ (JSC::JSString::toString):
+ (JSC::JSString::toThisString):
+ (JSC::JSString::getStringPropertyDescriptor):
+ * runtime/JSString.h:
+ (JSC::JSString::Rope::createOrNull):
+ (JSC::JSString::Rope::operator new):
+ (JSC::JSString::value):
+ (JSC::JSString::tryGetValue):
+ (JSC::JSString::getIndex):
+ (JSC::JSString::getStringPropertySlot):
+ (JSC::JSValue::toString):
+ * runtime/JSValue.h:
+ * runtime/NativeErrorConstructor.cpp:
+ (JSC::NativeErrorConstructor::NativeErrorConstructor):
+ * runtime/Operations.cpp:
+ (JSC::JSValue::strictEqualSlowCase):
+ * runtime/Operations.h:
+ (JSC::JSValue::equalSlowCaseInline):
+ (JSC::JSValue::strictEqualSlowCaseInline):
+ (JSC::JSValue::strictEqual):
+ (JSC::jsLess):
+ (JSC::jsLessEq):
+ (JSC::jsAdd):
+ (JSC::concatenateStrings):
+ * runtime/PropertyDescriptor.cpp:
+ (JSC::PropertyDescriptor::equalTo):
+ * runtime/PropertyDescriptor.h:
+ * runtime/StringPrototype.cpp:
+ (JSC::stringProtoFuncReplace):
+ (JSC::stringProtoFuncToLowerCase):
+ (JSC::stringProtoFuncToUpperCase):
+
+2009-12-07 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Reviewed by Holger Freyther.
+
+ Turn on (SVG) Filters support, by default.
+ https://bugs.webkit.org/show_bug.cgi?id=32224
+
+ * Configurations/FeatureDefines.xcconfig: Enable FILTERS build flag.
+
+2009-12-07 Steve Falkenburg <sfalken@apple.com>
+
+ Build fix. Be flexible about which version of ICU is used on Windows.
+
+ * JavaScriptCore.vcproj/jsc/jscCommon.vsprops: Add optional xcopy commands to copy ICU 4.2.
+
+2009-12-07 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ op_loop_if_less JIT codegen is broken for 64-bit
+ https://bugs.webkit.org/show_bug.cgi?id=32221
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_loop_if_false): Fix codegen in this version - test was backwards.
+
+2009-12-07 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Object.create fails if properties on the descriptor are getters
+ https://bugs.webkit.org/show_bug.cgi?id=32219
+
+ Correctly initialise the PropertySlots with the descriptor object.
+
+ * runtime/ObjectConstructor.cpp:
+ (JSC::toPropertyDescriptor):
+
+2009-12-06 Maciej Stachowiak <mjs@apple.com>
+
+ Not reviewed, build fix.
+
+ Actually tested 64-bit *and* 32-bit build this time.
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_loop_if_false):
+
+2009-12-06 Maciej Stachowiak <mjs@apple.com>
+
+ Not reviewed, build fix.
+
+ Really really fix 64-bit build for prior patch (actually tested this time).
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_loop_if_false):
+ (JSC::JIT::emitSlow_op_loop_if_false):
+
+2009-12-06 Maciej Stachowiak <mjs@apple.com>
+
+ Not reviewed, build fix.
+
+ Really fix 64-bit build for prior patch.
+
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emitSlow_op_jless):
+
+2009-12-06 Maciej Stachowiak <mjs@apple.com>
+
+ Not reviewed, build fix.
+
+ Fix 64-bit build for prior patch.
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emitSlow_op_loop_if_less):
+
+2009-12-05 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ conway benchmark spends half it's time in op_less (jump fusion fails)
+ https://bugs.webkit.org/show_bug.cgi?id=32190
+
+ <1% speedup on SunSpider and V8
+ 2x speedup on "conway" benchmark
+
+ Two optimizations:
+ 1) Improve codegen for logical operators &&, || and ! in a condition context
+
+ When generating code for combinations of &&, || and !, in a
+ condition context (i.e. in an if statement or loop condition), we
+ used to produce a value, and then separately jump based on its
+ truthiness. Now we pass the false and true targets in, and let the
+ logical operators generate jumps directly. This helps in four
+ ways:
+
+ a) Individual clauses of a short-circuit logical operator can now
+ jump directly to the then or else clause of an if statement (or to
+ the top or exit of a loop) instead of jumping to a jump.
+
+ b) It used to be that jump fusion with the condition of the first
+ clause of a logical operator was inhibited, because the register
+ was ref'd to be used later, in the actual condition jump; this no
+ longer happens since a jump straight to the final target is
+ generated directly.
+
+ c) It used to be that jump fusion with the condition of the second
+ clause of a logical operator was inhibited, because there was a
+ jump target right after the second clause and before the actual
+ condition jump. But now it's no longer necessary for the first
+ clause to jump there so jump fusion is not blocked.
+
+ d) We avoid generating excess mov statements in some cases.
+
+ As a concrete example this source:
+
+ if (!((x < q && y < q) || (t < q && z < q))) {
+ // ...
+ }
+
+ Used to generate this bytecode:
+
+ [ 34] less r1, r-15, r-19
+ [ 38] jfalse r1, 7(->45)
+ [ 41] less r1, r-16, r-19
+ [ 45] jtrue r1, 14(->59)
+ [ 48] less r1, r-17, r-19
+ [ 52] jfalse r1, 7(->59)
+ [ 55] less r1, r-18, r-19
+ [ 59] jtrue r1, 17(->76)
+
+ And now generates this bytecode (also taking advantage of the second optimization below):
+
+ [ 34] jnless r-15, r-19, 8(->42)
+ [ 38] jless r-16, r-19, 26(->64)
+ [ 42] jnless r-17, r-19, 8(->50)
+ [ 46] jless r-18, r-19, 18(->64)
+
+ Note the jump fusion and the fact that there's less jump
+ indirection - three of the four jumps go straight to the target
+ clause instead of indirecting through another jump.
+
+ 2) Implement jless opcode to take advantage of the above, since we'll now often generate
+ a less followed by a jtrue where fusion is not forbidden.
+
+ * parser/Nodes.h:
+ (JSC::ExpressionNode::hasConditionContextCodegen): Helper function to determine
+ whether a node supports special conditional codegen. Return false as this is the default.
+ (JSC::ExpressionNode::emitBytecodeInConditionContext): Assert not reached - only really
+ defined for nodes that do have conditional codegen.
+ (JSC::UnaryOpNode::expr): Add const version.
+ (JSC::LogicalNotNode::hasConditionContextCodegen): Returne true only if subexpression
+ supports it.
+ (JSC::LogicalOpNode::hasConditionContextCodegen): Return true.
+ * parser/Nodes.cpp:
+ (JSC::LogicalNotNode::emitBytecodeInConditionContext): Implemented - just swap
+ the true and false targets for the child node.
+ (JSC::LogicalOpNode::emitBytecodeInConditionContext): Implemented - handle jumps
+ directly, improving codegen quality. Also handles further nested conditional codegen.
+ (JSC::ConditionalNode::emitBytecode): Use condition context codegen when available.
+ (JSC::IfNode::emitBytecode): ditto
+ (JSC::IfElseNode::emitBytecode): ditto
+ (JSC::DoWhileNode::emitBytecode): ditto
+ (JSC::WhileNode::emitBytecode): ditto
+ (JSC::ForNode::emitBytecode): ditto
+
+ * bytecode/Opcode.h:
+ - Added loop_if_false opcode - needed now that falsey jumps can be backwards.
+ - Added jless opcode to take advantage of new fusion opportunities.
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::dump): Handle above.
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::emitJumpIfTrue): Add peephole for less + jtrue ==> jless.
+ (JSC::BytecodeGenerator::emitJumpIfFalse): Add handling of backwrds falsey jumps.
+ * bytecompiler/BytecodeGenerator.h:
+ (JSC::BytecodeGenerator::emitNodeInConditionContext): Wrapper to handle tracking of
+ overly deep expressions etc.
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute): Implement the two new opcodes (loop_if_false, jless).
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompileMainPass): Implement JIT support for the two new opcodes.
+ (JSC::JIT::privateCompileSlowCases): ditto
+ * jit/JIT.h:
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_jless):
+ (JSC::JIT::emitSlow_op_jless): ditto
+ (JSC::JIT::emitBinaryDoubleOp): ditto
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emitSlow_op_loop_if_less): ditto
+ (JSC::JIT::emit_op_loop_if_false): ditto
+ (JSC::JIT::emitSlow_op_loop_if_false): ditto
+ * jit/JITStubs.cpp:
+ * jit/JITStubs.h:
+ (JSC::):
+
+2009-12-04 Kent Hansen <kent.hansen@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ JavaScript delete operator should return false for string properties
+ https://bugs.webkit.org/show_bug.cgi?id=32012
+
+ * runtime/StringObject.cpp:
+ (JSC::StringObject::deleteProperty):
+
+2009-12-03 Drew Wilson <atwilson@chromium.org>
+
+ Rolled back r51633 because it causes a perf regression in Chromium.
+
+ * wtf/Platform.h:
+
+2009-12-03 Gavin Barraclough <barraclough@apple.com>
+
+ Try and fix the Windows build.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: Export a symbol that should be exported.
+
+2009-12-03 Mark Rowe <mrowe@apple.com>
+
+ Try and fix the Mac build.
+
+ * JavaScriptCore.exp: Export a symbol that should be exported.
+
+2009-12-03 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ REGRESSION(4.0.3-48777): Crash in JSC::ExecState::propertyNames() (Debug-only?)
+ https://bugs.webkit.org/show_bug.cgi?id=32133
+
+ Work around odd GCC-ism and correct the scopechain for use by
+ calls made while a cachedcall is active on the callstack.
+
+ * interpreter/CachedCall.h:
+ (JSC::CachedCall::newCallFrame):
+ * runtime/JSArray.cpp:
+ (JSC::AVLTreeAbstractorForArrayCompare::compare_key_key):
+ * runtime/StringPrototype.cpp:
+ (JSC::stringProtoFuncReplace):
+
+2009-12-03 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver "Brraaaaiiiinnnnnzzzzzzzz" Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32136
+ Add a rope representation to JSString. Presently JSString always holds its data in UString form.
+ Instead, allow the result of a string concatenation to be represented in a tree form - with a
+ variable sized, reference-counted rope node retaining a set of UString::Reps (or other rope nopes).
+
+ Strings must still currently be resolved down to a flat UString representation before being used,
+ but by holding the string in a rope representation during construction we can avoid copying data
+ until we know the final size of the string.
+
+ ~2% progression on SunSpider (~25% on date-format-xparb, ~20% on string-validate-input).
+
+ * JavaScriptCore.exp:
+
+ - Update exports.
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+
+ - Make use of new JSString::length() method to avoid prematurely resolving ropes.
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::privateCompileCTIMachineTrampolines):
+
+ - Switch the string length trampoline to read the length directly from JSString::m_length,
+ rather than from the JSString's UString::Rep's 'len' property.
+
+ * jit/JITStubs.cpp:
+ (JSC::DEFINE_STUB_FUNCTION):
+
+ - Modify op_add such that addition of two strings, where either or both strings are already
+ in rope representation, produces a rope as a result.
+
+ * runtime/JSString.cpp:
+ (JSC::JSString::Rope::~Rope):
+ (JSC::copyChars):
+ (JSC::JSString::resolveRope):
+ (JSC::JSString::getPrimitiveNumber):
+ (JSC::JSString::toBoolean):
+ (JSC::JSString::toNumber):
+ (JSC::JSString::toString):
+ (JSC::JSString::toThisString):
+ (JSC::JSString::getStringPropertyDescriptor):
+ * runtime/JSString.h:
+ (JSC::JSString::Rope::Fiber::Fiber):
+ (JSC::JSString::Rope::Fiber::destroy):
+ (JSC::JSString::Rope::Fiber::isRope):
+ (JSC::JSString::Rope::Fiber::rope):
+ (JSC::JSString::Rope::Fiber::string):
+ (JSC::JSString::Rope::create):
+ (JSC::JSString::Rope::initializeFiber):
+ (JSC::JSString::Rope::ropeLength):
+ (JSC::JSString::Rope::stringLength):
+ (JSC::JSString::Rope::fibers):
+ (JSC::JSString::Rope::Rope):
+ (JSC::JSString::Rope::operator new):
+ (JSC::JSString::JSString):
+ (JSC::JSString::value):
+ (JSC::JSString::length):
+ (JSC::JSString::isRope):
+ (JSC::JSString::rope):
+ (JSC::JSString::string):
+ (JSC::JSString::canGetIndex):
+ (JSC::jsSingleCharacterSubstring):
+ (JSC::JSString::getIndex):
+ (JSC::jsSubstring):
+ (JSC::JSString::getStringPropertySlot):
+
+ - Add rope form.
+
+ * runtime/Operations.h:
+ (JSC::jsAdd):
+ (JSC::concatenateStrings):
+
+ - Update string concatenation, and addition of ropes, to produce ropes.
+
+ * runtime/StringObject.cpp:
+ (JSC::StringObject::getOwnPropertyNames):
+
+ - Make use of new JSString::length() method to avoid prematurely resolving ropes.
+
+2009-11-23 Jeremy Moskovich <jeremy@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Switch Chrome/Mac to use Core Text APIs rather than ATSUI APIs.
+ https://bugs.webkit.org/show_bug.cgi?id=31802
+
+ No test since this is already covered by existing pixel tests.
+
+ * wtf/Platform.h: #define USE_CORE_TEXT for Chrome/Mac.
+
+2009-12-02 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Add files missed in prior patch.
+
+ * runtime/JSZombie.cpp:
+ (JSC::):
+ (JSC::JSZombie::leakedZombieStructure):
+ * runtime/JSZombie.h: Added.
+ (JSC::JSZombie::JSZombie):
+ (JSC::JSZombie::isZombie):
+ (JSC::JSZombie::classInfo):
+ (JSC::JSZombie::isGetterSetter):
+ (JSC::JSZombie::isAPIValueWrapper):
+ (JSC::JSZombie::isPropertyNameIterator):
+ (JSC::JSZombie::getCallData):
+ (JSC::JSZombie::getConstructData):
+ (JSC::JSZombie::getUInt32):
+ (JSC::JSZombie::toPrimitive):
+ (JSC::JSZombie::getPrimitiveNumber):
+ (JSC::JSZombie::toBoolean):
+ (JSC::JSZombie::toNumber):
+ (JSC::JSZombie::toString):
+ (JSC::JSZombie::toObject):
+ (JSC::JSZombie::markChildren):
+ (JSC::JSZombie::put):
+ (JSC::JSZombie::deleteProperty):
+ (JSC::JSZombie::toThisObject):
+ (JSC::JSZombie::toThisString):
+ (JSC::JSZombie::toThisJSString):
+ (JSC::JSZombie::getJSNumber):
+ (JSC::JSZombie::getOwnPropertySlot):
+
+2009-12-02 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Add zombies to JSC
+ https://bugs.webkit.org/show_bug.cgi?id=32103
+
+ Add a compile time flag to make the JSC collector replace "unreachable"
+ objects with zombie objects. The zombie object is a JSCell subclass that
+ ASSERTs on any attempt to use the JSCell methods. In addition there are
+ a number of additional assertions in bottleneck code to catch zombie usage
+ as quickly as possible.
+
+ Grrr. Argh. Brains.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * interpreter/Register.h:
+ (JSC::Register::Register):
+ * runtime/ArgList.h:
+ (JSC::MarkedArgumentBuffer::append):
+ (JSC::ArgList::ArgList):
+ * runtime/Collector.cpp:
+ (JSC::Heap::destroy):
+ (JSC::Heap::sweep):
+ * runtime/Collector.h:
+ * runtime/JSCell.h:
+ (JSC::JSCell::isZombie):
+ (JSC::JSValue::isZombie):
+ * runtime/JSValue.h:
+ (JSC::JSValue::decode):
+ (JSC::JSValue::JSValue):
+ * wtf/Platform.h:
+
+2009-12-01 Jens Alfke <snej@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Added variants of find/contains/add that allow a foreign key type to be used.
+ This will allow AtomicString-keyed maps to be queried by C string without
+ having to create a temporary AtomicString (see HTTPHeaderMap.)
+ The code for this is adapted from the equivalent in HashSet.h.
+
+ * wtf/HashMap.h:
+ (WTF::HashMap::find):
+ (WTF::HashMap::contains):
+ (WTF::HashMap::add):
+ * wtf/HashSet.h: Changed "method" to "function member" in a comment.
+
+2009-12-01 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Revert 51551 because it broke GTK+.
+
+ * wtf/Platform.h:
+
+2009-11-30 Gavin Barraclough <barraclough@apple.com>
+
+ Windows Build fix. Reviewed by NOBODY.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2009-11-24 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Bug 31859 - Make world selection for JSC IsolatedWorlds automagical.
+
+ WebCore presently has to explicitly specify the world before entering into JSC,
+ which is a little fragile (particularly since property access via a
+ getter/setter might invoke execution). Instead derive the current world from
+ the lexical global object.
+
+ Remove the temporary duct tape of willExecute/didExecute virtual hooks on the JSGlobalData::ClientData - these are no longer necessary.
+
+ * API/JSBase.cpp:
+ (JSEvaluateScript):
+ * API/JSObjectRef.cpp:
+ (JSObjectCallAsFunction):
+ * JavaScriptCore.exp:
+ * runtime/JSGlobalData.cpp:
+ * runtime/JSGlobalData.h:
+
+2009-11-30 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Remove obsolete PLATFORM(KDE) code
+ https://bugs.webkit.org/show_bug.cgi?id=31958
+
+ KDE is now using unpatched QtWebKit.
+
+ * parser/Lexer.cpp: Remove obsolete KDE_USE_FINAL guard
+ * wtf/Platform.h: Remove PLATFORM(KDE) definition and code
+ section that is guarded with it.
+
+2009-11-30 Jan-Arve Sæther <jan-arve.saether@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix compilation with win32-icc
+
+ The Intel compiler does not support the __has_trivial_constructor type
+ trait. The Intel Compiler can report itself as _MSC_VER >= 1400. The
+ reason for that is that the Intel Compiler depends on the Microsoft
+ Platform SDK, and in order to try to be "fully" MS compatible it will
+ "pretend" to be the same MS compiler as was shipped with the MS PSDK.
+ (Thus, compiling with win32-icc with VC8 SDK will make the source code
+ "think" the compiler at hand supports this type trait).
+
+ * wtf/TypeTraits.h:
+
+2009-11-29 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ [Qt] Mac build has JIT disabled
+ https://bugs.webkit.org/show_bug.cgi?id=31828
+
+ * wtf/Platform.h: Enable JIT for Qt Mac builds
+
+2009-11-28 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ Apply workaround for the limitation of VirtualFree with MEM_RELEASE to all ports running on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=31943
+
+ * runtime/MarkStack.h:
+ (JSC::MarkStack::MarkStackArray::shrinkAllocation):
+
+2009-11-28 Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
+
+ Reviewed by Gavin Barraclough.
+
+ https://bugs.webkit.org/show_bug.cgi?id=31930
+
+ Seems a typo. We don't need ~270k memory to determine the vptrs.
+
+ * runtime/JSGlobalData.cpp:
+ (JSC::VPtrSet::VPtrSet):
+
+2009-11-27 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Unreviewed.
+
+ Move GOwnPtr* from wtf to wtf/gtk
+ https://bugs.webkit.org/show_bug.cgi?id=31793
+
+ Build fix for chromium after r51423.
+ Exclude gtk directory from chromium build.
+
+ * JavaScriptCore.gyp/JavaScriptCore.gyp:
+
+2009-11-25 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Incorrect behaviour of jneq_null in the interpreter
+ https://bugs.webkit.org/show_bug.cgi?id=31901
+
+ Correct the logic of jneq_null. This is already covered by existing tests.
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+
+2009-11-26 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Oliver Hunt.
+
+ Move GOwnPtr* from wtf to wtf/gtk
+ https://bugs.webkit.org/show_bug.cgi?id=31793
+
+ * GNUmakefile.am: Change the path for GOwnPtr.*.
+ * JavaScriptCore.gyp/JavaScriptCore.gyp: Remove
+ GOwnPtr.cpp from the exclude list.
+ * JavaScriptCore.gypi: Change the path for GOwnPtr.*.
+ * wscript: Remove GOwnPtr.cpp from the exclude list.
+ * wtf/GOwnPtr.cpp: Removed.
+ * wtf/GOwnPtr.h: Removed.
+ * wtf/Threading.h: Change the path for GOwnPtr.h.
+ * wtf/gtk/GOwnPtr.cpp: Copied from JavaScriptCore/wtf/GOwnPtr.cpp.
+ * wtf/gtk/GOwnPtr.h: Copied from JavaScriptCore/wtf/GOwnPtr.h.
+ * wtf/unicode/glib/UnicodeGLib.h: Change the path for GOwnPtr.h.
+
+2009-11-24 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Add ENABLE_SHARED_SCRIPT feature define and flag for build-webkit
+ https://bugs.webkit.org/show_bug.cgi?id=31444
+
+ * Configurations/FeatureDefines.xcconfig:
+ * wtf/Platform.h:
+
+2009-11-24 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Add ability to enable ACCELERATED_COMPOSITING on Windows (currently disabled)
+ https://bugs.webkit.org/show_bug.cgi?id=27314
+
+ * wtf/Platform.h:
+
+2009-11-24 Jason Smith <dark.panda@gmail.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ RegExp#exec's returned Array-like object behaves differently from
+ regular Arrays
+ https://bugs.webkit.org/show_bug.cgi?id=31689
+
+ * JavaScriptCore/runtime/RegExpConstructor.cpp: ensure that undefined
+ values are added to the returned RegExpMatchesArray
+
+2009-11-24 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ JSON.stringify performance on undefined is very poor
+ https://bugs.webkit.org/show_bug.cgi?id=31839
+
+ Switch from a UString to a Vector<UChar> when building
+ the JSON string, allowing us to safely remove the substr-copy
+ we otherwise did when unwinding an undefined property.
+
+ Also turns out to be a ~5% speedup on stringification.
+
+ * runtime/JSONObject.cpp:
+ (JSC::Stringifier::StringBuilder::append):
+ (JSC::Stringifier::stringify):
+ (JSC::Stringifier::Holder::appendNextProperty):
+
+2009-11-24 Mark Rowe <mrowe@apple.com>
+
+ Fix production builds where the source tree may be read-only.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+
+2009-11-23 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Include "config.h" to meet Coding Style Guidelines
+ https://bugs.webkit.org/show_bug.cgi?id=31792
+
+ * wtf/unicode/UTF8.cpp:
+ * wtf/unicode/glib/UnicodeGLib.cpp:
+ * wtf/unicode/wince/UnicodeWince.cpp:
+
+2009-11-23 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Streamlined some Math functions where we expect or know the result not
+ to be representable as an int.
+
+ SunSpider says 0.6% faster.
+
+ * runtime/JSNumberCell.h:
+ (JSC::JSValue::JSValue):
+ * runtime/JSValue.h:
+ (JSC::JSValue::):
+ (JSC::jsDoubleNumber):
+ (JSC::JSValue::JSValue): Added a function for making a numeric JSValue
+ and skipping the "can I encode this as an int?" check, avoiding the
+ overhead of int <-> double roundtripping and double <-> double comparison
+ and branching.
+
+ * runtime/MathObject.cpp:
+ (JSC::mathProtoFuncACos):
+ (JSC::mathProtoFuncASin):
+ (JSC::mathProtoFuncATan):
+ (JSC::mathProtoFuncATan2):
+ (JSC::mathProtoFuncCos):
+ (JSC::mathProtoFuncExp):
+ (JSC::mathProtoFuncLog):
+ (JSC::mathProtoFuncRandom):
+ (JSC::mathProtoFuncSin):
+ (JSC::mathProtoFuncSqrt):
+ (JSC::mathProtoFuncTan): For these functions, which we expect or know
+ to produce results not representable as ints, call jsDoubleNumber instead
+ of jsNumber.
+
+2009-11-23 Mark Rowe <mrowe@apple.com>
+
+ Unreviewed. Unbreak the regression tests after r51329.
+
+ * API/JSBase.cpp:
+ (JSEvaluateScript): Null-check clientData before dereferencing it.
+ * API/JSObjectRef.cpp:
+ (JSObjectCallAsFunction): Ditto.
+
+2009-11-23 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Part 1/3 of <rdar://problem/7377477> REGRESSION: Many web pages fail to render after interesting script runs in isolated world
+
+ Some clients of the JavaScriptCore API expect to be able to make callbacks over the JSC API,
+ and for this to automagically cause execution to take place in the world associated with the
+ global object associated with the ExecState (JSContextRef) passed. However this is not how
+ things work - the world must be explicitly set within WebCore.
+
+ Making this work just for API calls to evaluate & call will be a far from perfect solution,
+ since direct (non-API) use of JSC still relies on WebCore setting the current world correctly.
+ A better solution would be to make this all work automagically all throughout WebCore, but this
+ will require more refactoring.
+
+ Since the API is in JSC but worlds only exist in WebCore, add callbacks on the JSGlobalData::ClientData
+ to allow it to update the current world on entry/exit via the JSC API. This is temporary duck
+ tape, and should be removed once the current world no longer needs to be explicitly tracked.
+
+ * API/JSBase.cpp:
+ (JSEvaluateScript):
+ * API/JSObjectRef.cpp:
+ (JSObjectCallAsFunction):
+ * JavaScriptCore.exp:
+ * runtime/JSGlobalData.cpp:
+ (JSC::JSGlobalData::ClientData::beginningExecution):
+ (JSC::JSGlobalData::ClientData::completedExecution):
+ * runtime/JSGlobalData.h:
+
+2009-11-23 Steve Block <steveblock@google.com>
+
+ Reviewed by Dmitry Titov.
+
+ Adds MainThreadAndroid.cpp with Android-specific WTF threading functions.
+ https://bugs.webkit.org/show_bug.cgi?id=31807
+
+ * wtf/android: Added.
+ * wtf/android/MainThreadAndroid.cpp: Added.
+ (WTF::timeoutFired):
+ (WTF::initializeMainThreadPlatform):
+ (WTF::scheduleDispatchFunctionsOnMainThread):
+
+2009-11-23 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Brady Eidson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=31748
+ Make WebSocketHandleCFNet respect proxy auto-configuration files via CFProxySupport
+
+ * JavaScriptCore.exp: Export callOnMainThreadAndWait.
+
+2009-11-23 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Symbian] Fix lastIndexOf() for Symbian
+ https://bugs.webkit.org/show_bug.cgi?id=31773
+
+ Symbian soft floating point library has problems with operators
+ comparing NaN to numbers. Without a workaround lastIndexOf()
+ function does not work.
+
+ Patch developed by David Leong.
+
+ * runtime/StringPrototype.cpp:
+ (JSC::stringProtoFuncLastIndexOf):Add an extra test
+ to check for NaN for Symbian.
+
+2009-11-23 Steve Block <steveblock@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Android port lacks implementation of atomicIncrement and atomicDecrement.
+ https://bugs.webkit.org/show_bug.cgi?id=31715
+
+ * wtf/Threading.h: Modified.
+ (WTF::atomicIncrement): Added Android implementation.
+ (WTF::atomicDecrement): Added Android implementation.
+
+2009-11-22 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Unreviewed.
+
+ [Qt] Sort source lists and remove obsolete comments
+ from the build system.
+
+ * JavaScriptCore.pri:
+
+2009-11-21 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ [Qt][Mac] Turn on multiple JavaScript threads for QtWebkit on Mac
+ https://bugs.webkit.org/show_bug.cgi?id=31753
+
+ * wtf/Platform.h:
+
+2009-11-19 Steve Block <steveblock@google.com>
+
+ Android port lacks configuration in Platform.h and config.h.
+ https://bugs.webkit.org/show_bug.cgi?id=31671
+
+ * wtf/Platform.h: Modified. Added Android-specific configuration.
+
+2009-11-19 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=31690
+ Make SocketStreamHandleCFNet work on Windows
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * wtf/MainThread.cpp:
+ (WTF::FunctionWithContext::FunctionWithContext):
+ (WTF::dispatchFunctionsFromMainThread):
+ (WTF::callOnMainThreadAndWait):
+ * wtf/MainThread.h:
+ Re-add callOnMainThreadAndWait(), which was removed in bug 23926.
+
+2009-11-19 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by David Levin.
+
+ isMainThread() on Chromium (Mac and Linux) is so slow it timeouts LayoutTests..
+ https://bugs.webkit.org/show_bug.cgi?id=31693
+
+ * wtf/ThreadingPthreads.cpp:
+ (WTF::initializeThreading): grab and use the pthread_t of the main thread instead of ThreadIdentifier.
+ (WTF::isMainThread): Ditto.
+
+2009-11-19 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Remove HAVE(STRING_H) guard from JavaScriptCore
+ https://bugs.webkit.org/show_bug.cgi?id=31668
+
+ * config.h:
+ * runtime/UString.cpp:
+
+2009-11-19 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Dmitry Titov.
+
+ Fixing a bug in MessageQueue::removeIf() that leads to an
+ assertion failure.
+
+ https://bugs.webkit.org/show_bug.cgi?id=31657
+
+ * wtf/MessageQueue.h:
+ (WTF::MessageQueue::removeIf):
+
+2009-11-19 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Remove HAVE(FLOAT_H) guard
+ https://bugs.webkit.org/show_bug.cgi?id=31661
+
+ JavaScriptCore has a dependency on float.h, there is
+ no need to guard float.h.
+
+ * runtime/DatePrototype.cpp: Remove include directive
+ for float.h as it is included in MathExtras.h already.
+ * runtime/Operations.cpp: Ditto.
+ * runtime/UString.cpp: Ditto.
+ * wtf/dtoa.cpp: Ditto.
+ * wtf/MathExtras.h: Remove HAVE(FLOAT_H) guard.
+ * wtf/Platform.h: Ditto.
+
+2009-11-19 Thiago Macieira <thiago.macieira@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Build fix for 32-bit Sparc machines: these machines are big-endian.
+
+ * wtf/Platform.h:
+
+2009-11-18 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Remove support for Qt v4.3 or older versions
+ https://bugs.webkit.org/show_bug.cgi?id=29469
+
+ * JavaScriptCore.pro:
+ * jsc.pro:
+ * wtf/unicode/qt4/UnicodeQt4.h:
+
+2009-11-18 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Move UString::from(double) implementation to new
+ WTF::doubleToStringInJavaScriptFormat(), and expose it because WebCore
+ code will use it.
+ https://bugs.webkit.org/show_bug.cgi?id=31330
+
+ - Introduce new function createRep(const char*, unsigned) and
+ UString::UString(const char*, unsigned) to reduce 2 calls to strlen().
+ - Fix a bug that dtoa() doesn't update *rve if the input value is NaN
+ or Infinity.
+
+ No new tests because this doesn't change the behavior.
+
+ * JavaScriptCore.exp:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * runtime/UString.cpp:
+ (JSC::createRep):
+ (JSC::UString::UString):
+ (JSC::UString::from): Move the code to doubleToStringInJavaScriptFormat().
+ * runtime/UString.h:
+ * wtf/dtoa.cpp:
+ (WTF::dtoa): Fix a bug about rve.
+ (WTF::append): A helper for doubleToStringInJavaScriptFormat().
+ (WTF::doubleToStringInJavaScriptFormat): Move the code from UString::from(double).
+ * wtf/dtoa.h:
+
+2009-11-18 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Remove WTF_USE_JAVASCRIPTCORE_BINDINGS as it is no longer used
+ https://bugs.webkit.org/show_bug.cgi?id=31643
+
+ * JavaScriptCore.pro:
+
+2009-11-18 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Remove Chromium's unnecessary dependency on wtf's tcmalloc files.
+
+ https://bugs.webkit.org/show_bug.cgi?id=31648
+
+ * JavaScriptCore.gyp/JavaScriptCore.gyp:
+
+2009-11-18 Thiago Macieira <thiago.macieira@nokia.com>
+
+ Reviewed by Gavin Barraclough.
+
+ [Qt] Implement symbol hiding for JSC's JIT functions.
+
+ These functions are implemented directly in assembly, so they need the
+ proper directives to enable/disable visibility. On ELF systems, it's
+ .hidden, whereas on Mach-O systems (Mac) it's .private_extern. On
+ Windows, it's not necessary since you have to explicitly export. I
+ also implemented the AIX idiom, though it's unlikely anyone will
+ implement AIX/POWER JIT.
+ https://bugs.webkit.org/show_bug.cgi?id=30864
+
+ * jit/JITStubs.cpp:
+
+2009-11-18 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Interpreter may do an out of range access when throwing an exception in the profiler.
+ https://bugs.webkit.org/show_bug.cgi?id=31635
+
+ Add bounds check.
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::throwException):
+
+2009-11-18 Gabor Loki <loki@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Fix the clobber list of cacheFlush for ARM and Thumb2 on Linux
+ https://bugs.webkit.org/show_bug.cgi?id=31631
+
+ * jit/ExecutableAllocator.h:
+ (JSC::ExecutableAllocator::cacheFlush):
+
+2009-11-18 Harald Fernengel <harald.fernengel@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix detection of linux-g++
+
+ Never use "linux-g++*" to check for linux-g++, since this will break embedded
+ builds which use linux-arm-g++ and friends. Use 'linux*-g++*' to check for any
+ g++ on linux mkspec.
+
+ * JavaScriptCore.pri:
+
+2009-11-17 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Add JSContextRefPrivate.h to list of copied files.
+
+ Reviewed by Mark Rowe.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make:
+
+2009-11-17 Martin Robinson <martin.james.robinson@gmail.com>
+
+ Reviewed by Adam Barth.
+
+ [GTK] Style cleanup for GOwnPtr
+ https://bugs.webkit.org/show_bug.cgi?id=31506
+
+ Remove forward declaration in GOwnPtr and do some style cleanup.
+
+ * wtf/GOwnPtr.cpp:
+ * wtf/GOwnPtr.h:
+ (WTF::GOwnPtr::GOwnPtr):
+ (WTF::GOwnPtr::~GOwnPtr):
+ (WTF::GOwnPtr::get):
+ (WTF::GOwnPtr::release):
+ (WTF::GOwnPtr::outPtr):
+ (WTF::GOwnPtr::set):
+ (WTF::GOwnPtr::clear):
+ (WTF::GOwnPtr::operator*):
+ (WTF::GOwnPtr::operator->):
+ (WTF::GOwnPtr::operator!):
+ (WTF::GOwnPtr::operator UnspecifiedBoolType):
+ (WTF::GOwnPtr::swap):
+ (WTF::swap):
+ (WTF::operator==):
+ (WTF::operator!=):
+ (WTF::getPtr):
+ (WTF::freeOwnedGPtr):
+
+2009-11-17 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Incorrect use of JavaScriptCore API in DumpRenderTree
+ https://bugs.webkit.org/show_bug.cgi?id=31577
+
+ Add assertions to the 'toJS' functions to catch mistakes like
+ this early. Restructure existing code which blindly passed potentially
+ null values to toJS when forwarding exceptions so that a null check is
+ performed first.
+
+ * API/APICast.h:
+ (toJS):
+ (toJSForGC):
+ * API/JSCallbackObjectFunctions.h:
+ (JSC::::getOwnPropertySlot):
+ (JSC::::put):
+ (JSC::::deleteProperty):
+ (JSC::::construct):
+ (JSC::::hasInstance):
+ (JSC::::call):
+ (JSC::::toNumber):
+ (JSC::::toString):
+ (JSC::::staticValueGetter):
+ (JSC::::callbackGetter):
+ * API/tests/testapi.c: Fix errors in the API tester.
+ (MyObject_getProperty):
+ (MyObject_convertToType):
+ (EvilExceptionObject_convertToType):
+
+2009-11-16 Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
+
+ Reviewed by Gavin Barraclough.
+
+ https://bugs.webkit.org/show_bug.cgi?id=31050
+
+ Minor fixes for JSVALUE32_64: branchConvertDoubleToInt32
+ failed on a CortexA8 CPU, but not on a simulator; and
+ JITCall.cpp modifications was somehow not committed to mainline.
+
+ * assembler/ARMAssembler.h:
+ (JSC::ARMAssembler::fmrs_r):
+ * assembler/MacroAssemblerARM.h:
+ (JSC::MacroAssemblerARM::branchConvertDoubleToInt32):
+ * jit/JITCall.cpp:
+ (JSC::JIT::compileOpCall):
+
+2009-11-16 Joerg Bornemann <joerg.bornemann@trolltech.com>
+
+ Reviewed by Simon Hausmann.
+
+ Fix Qt build on Windows CE 6.
+
+ * JavaScriptCore.pri: Add missing include path.
+ * wtf/Platform.h: Include ce_time.h for Windows CE 6.
+
+2009-11-13 Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
+
+ Reviewed by Gavin Barraclough.
+
+ https://bugs.webkit.org/show_bug.cgi?id=31050
+
+ Adding optimization support for mode JSVALUE32_64
+ on ARM systems.
+
+ * jit/JIT.h:
+ * jit/JITCall.cpp:
+ (JSC::JIT::compileOpCall):
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::emit_op_method_check):
+ (JSC::JIT::compileGetByIdHotPath):
+ (JSC::JIT::compileGetByIdSlowCase):
+ (JSC::JIT::emit_op_put_by_id):
+
+2009-11-14 Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
+
+ Reviewed by Gavin Barraclough.
+
+ https://bugs.webkit.org/show_bug.cgi?id=31050
+
+ Adding JSVALUE32_64 support for ARM (but not turning it
+ on by default). All optimizations must be disabled, since
+ this patch is only the first of a series of patches.
+
+ During the work, a lot of x86 specific code revealed and
+ made platform independent.
+ See revisions: 50531 50541 50593 50594 50595
+
+ * assembler/ARMAssembler.h:
+ (JSC::ARMAssembler::):
+ (JSC::ARMAssembler::fdivd_r):
+ * assembler/MacroAssemblerARM.h:
+ (JSC::MacroAssemblerARM::lshift32):
+ (JSC::MacroAssemblerARM::neg32):
+ (JSC::MacroAssemblerARM::rshift32):
+ (JSC::MacroAssemblerARM::branchOr32):
+ (JSC::MacroAssemblerARM::set8):
+ (JSC::MacroAssemblerARM::setTest8):
+ (JSC::MacroAssemblerARM::loadDouble):
+ (JSC::MacroAssemblerARM::divDouble):
+ (JSC::MacroAssemblerARM::convertInt32ToDouble):
+ (JSC::MacroAssemblerARM::zeroDouble):
+ * jit/JIT.cpp:
+ * jit/JIT.h:
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::privateCompileCTIMachineTrampolines):
+ * jit/JITStubs.cpp:
+ * wtf/StdLibExtras.h:
+
+2009-11-13 Dominik Röttsches <dominik.roettsches@access-company.com>
+
+ Reviewed by Eric Seidel.
+
+ Unify TextBoundaries implementations by only relying on WTF Unicode abstractions
+ https://bugs.webkit.org/show_bug.cgi?id=31468
+
+ Adding isAlphanumeric abstraction, required
+ by TextBoundaries.cpp.
+
+ * wtf/unicode/glib/UnicodeGLib.h:
+ (WTF::Unicode::isAlphanumeric):
+ * wtf/unicode/icu/UnicodeIcu.h:
+ (WTF::Unicode::isAlphanumeric):
+
+2009-11-13 Norbert Leser <norbert.leser&nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ Added macros for USERINCLUDE paths within symbian blocks
+ to guarantee inclusion of respective header files from local path
+ first (to avoid clashes with same names of header files in system include path).
+
+ * JavaScriptCore.pri:
+
+2009-11-13 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ JSValueProtect and JSValueUnprotect don't protect API wrapper values
+ https://bugs.webkit.org/show_bug.cgi?id=31485
+
+ Make JSValueProtect/Unprotect use a new 'toJS' function, 'toJSForGC' that
+ does not attempt to to strip out API wrapper objects.
+
+ * API/APICast.h:
+ (toJSForGC):
+ * API/JSValueRef.cpp:
+ (JSValueProtect):
+ (JSValueUnprotect):
+ * API/tests/testapi.c:
+ (makeGlobalNumberValue):
+ (main):
+
+2009-11-13 İsmail Dönmez <ismail@namtrac.org>
+
+ Reviewed by Antti Koivisto.
+
+ Fix typo, ce_time.cpp should be ce_time.c
+
+ * JavaScriptCore.pri:
+
+2009-11-12 Steve VanDeBogart <vandebo@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Calculate the time offset only if we were able to parse
+ the date string. This saves an IPC in Chromium for
+ invalid date strings.
+ https://bugs.webkit.org/show_bug.cgi?id=31416
+
+ * wtf/DateMath.cpp:
+ (WTF::parseDateFromNullTerminatedCharacters):
+ (JSC::parseDateFromNullTerminatedCharacters):
+
+2009-11-12 Oliver Hunt <oliver@apple.com>
+
+ Rollout r50896 until i can work out why it causes failures.
+
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::emitReturn):
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::execute):
+ * parser/Nodes.cpp:
+ (JSC::EvalNode::emitBytecode):
+
+2009-11-12 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Stephanie Lewis.
+
+ Remove LIBRARY directive from def file to fix Debug_All target.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2009-11-12 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Rubber-stamped by Holger Freyther.
+
+ Revert r50204, since it makes DRT crash on 32 bits release builds
+ for GTK+.
+
+ * wtf/FastMalloc.h:
+
+2009-11-12 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Start unifying entry logic for function and eval code.
+
+ Eval now uses a ret instruction to end execution, and sets up
+ a callframe more in line with what we do for function entry.
+
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::emitReturn):
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::execute):
+ * parser/Nodes.cpp:
+ (JSC::EvalNode::emitBytecode):
+
+2009-11-12 Richard Moe Gustavsen <richard.gustavsen@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Disable pthread_setname_np.
+
+ This allows Qt builds on Mac from 10.6 to run on earlier version
+ where this symbol is not present.
+ https://bugs.webkit.org/show_bug.cgi?id=31403
+
+ * wtf/Platform.h:
+
+2009-11-12 Thiago Macieira <thiago.macieira@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Fix linking on Linux 32-bit.
+
+ It was missing the ".text" directive at the top of the file,
+ indicating that code would follow. Without it, the assembler created
+ "NOTYPE" symbols, which would result in linker errors.
+ https://bugs.webkit.org/show_bug.cgi?id=30863
+
+ * jit/JITStubs.cpp:
+
+2009-11-11 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Refactor multiple JavaScriptCore threads
+ https://bugs.webkit.org/show_bug.cgi?id=31328
+
+ Remove the id field from the PlatformThread structure
+ as it is not used.
+
+ * runtime/Collector.cpp:
+ (JSC::getCurrentPlatformThread):
+ (JSC::suspendThread):
+ (JSC::resumeThread):
+ (JSC::getPlatformThreadRegisters):
+
+2009-11-10 Geoffrey Garen <ggaren@apple.com>
+
+ Linux build fix: Added an #include for UINT_MAX.
+
+ * runtime/WeakRandom.h:
+
+2009-11-10 Geoffrey Garen <ggaren@apple.com>
+
+ JavaScriptGlue build fix: Marked a file 'private' instead of 'project'.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+
+2009-11-10 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Gavin "avGni arBalroguch" Barraclough.
+
+ Faster Math.random, based on GameRand.
+
+ SunSpider says 1.4% faster.
+
+ * GNUmakefile.am:
+ * JavaScriptCore.gypi:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
+ * JavaScriptCore.xcodeproj/project.pbxproj: Added the header to the project.
+
+ * runtime/JSGlobalData.cpp:
+ (JSC::JSGlobalData::JSGlobalData):
+ * runtime/JSGlobalData.h: Use an object to track random number generation
+ state, initialized to the current time.
+
+ * runtime/MathObject.cpp:
+ (JSC::MathObject::MathObject):
+ (JSC::mathProtoFuncRandom): Use the new hotness.
+
+ * runtime/WeakRandom.h: Added.
+ (JSC::WeakRandom::WeakRandom):
+ (JSC::WeakRandom::get):
+ (JSC::WeakRandom::advance): The new hotness.
+
+2009-11-09 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Imported the v8 DST cache.
+
+ SunSpider says 1.5% faster.
+
+ * runtime/JSGlobalData.cpp:
+ (JSC::JSGlobalData::resetDateCache): Reset the DST cache when resetting
+ other date data.
+
+ * runtime/JSGlobalData.h:
+ (JSC::DSTOffsetCache::DSTOffsetCache):
+ (JSC::DSTOffsetCache::reset): Added a struct for the DST cache.
+
+ * wtf/DateMath.cpp:
+ (WTF::calculateDSTOffsetSimple):
+ (WTF::calculateDSTOffset):
+ (WTF::parseDateFromNullTerminatedCharacters):
+ (JSC::getDSTOffset):
+ (JSC::gregorianDateTimeToMS):
+ (JSC::msToGregorianDateTime):
+ (JSC::parseDateFromNullTerminatedCharacters):
+ * wtf/DateMath.h: The imported code for probing and updating the cache.
+
+2009-11-09 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Fixed an edge case that could cause the engine not to notice a timezone
+ change.
+
+ No test because this case would require manual intervention to change
+ the timezone during the test.
+
+ SunSpider reports no change.
+
+ * runtime/DateInstanceCache.h:
+ (JSC::DateInstanceCache::DateInstanceCache):
+ (JSC::DateInstanceCache::reset): Added a helper function for resetting
+ this cache. Also, shrank the cache, since we'll be resetting it often.
+
+ * runtime/JSGlobalData.cpp:
+ (JSC::JSGlobalData::resetDateCache): Include resetting the DateInstanceCache
+ in resetting Date data. (Otherwise, a cache hit could bypass a necessary
+ timezone update check.)
+
+2009-11-09 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Some manual inlining and constant propogation in Date code.
+
+ SunSpider reports a 0.4% speedup on date-*, no overall speedup. Shark
+ says some previously evident stalls are now gone.
+
+ * runtime/DateConstructor.cpp:
+ (JSC::callDate):
+ * runtime/DateConversion.cpp:
+ (JSC::formatTime):
+ (JSC::formatTimeUTC): Split formatTime into UTC and non-UTC variants.
+
+ * runtime/DateConversion.h:
+ * runtime/DateInstance.cpp:
+ (JSC::DateInstance::calculateGregorianDateTime):
+ (JSC::DateInstance::calculateGregorianDateTimeUTC):
+ * runtime/DateInstance.h:
+ (JSC::DateInstance::gregorianDateTime):
+ (JSC::DateInstance::gregorianDateTimeUTC): Split gregorianDateTime into
+ a UTC and non-UTC variant, and split each variant into a fast inline
+ case and a slow out-of-line case.
+
+ * runtime/DatePrototype.cpp:
+ (JSC::formatLocaleDate):
+ (JSC::dateProtoFuncToString):
+ (JSC::dateProtoFuncToUTCString):
+ (JSC::dateProtoFuncToISOString):
+ (JSC::dateProtoFuncToDateString):
+ (JSC::dateProtoFuncToTimeString):
+ (JSC::dateProtoFuncGetFullYear):
+ (JSC::dateProtoFuncGetUTCFullYear):
+ (JSC::dateProtoFuncToGMTString):
+ (JSC::dateProtoFuncGetMonth):
+ (JSC::dateProtoFuncGetUTCMonth):
+ (JSC::dateProtoFuncGetDate):
+ (JSC::dateProtoFuncGetUTCDate):
+ (JSC::dateProtoFuncGetDay):
+ (JSC::dateProtoFuncGetUTCDay):
+ (JSC::dateProtoFuncGetHours):
+ (JSC::dateProtoFuncGetUTCHours):
+ (JSC::dateProtoFuncGetMinutes):
+ (JSC::dateProtoFuncGetUTCMinutes):
+ (JSC::dateProtoFuncGetSeconds):
+ (JSC::dateProtoFuncGetUTCSeconds):
+ (JSC::dateProtoFuncGetTimezoneOffset):
+ (JSC::setNewValueFromTimeArgs):
+ (JSC::setNewValueFromDateArgs):
+ (JSC::dateProtoFuncSetYear):
+ (JSC::dateProtoFuncGetYear): Updated for the gregorianDateTime change above.
+
+2009-11-09 Geoffrey Garen <ggaren@apple.com>
+
+ Build fix: export a new symbol.
+
+ * JavaScriptCore.exp:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2009-11-09 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam "Home Wrecker" Weinig.
+
+ Added a tiny cache for Date parsing.
+
+ SunSpider says 1.2% faster.
+
+ * runtime/DateConversion.cpp:
+ (JSC::parseDate): Try to reuse the last parsed Date, if present.
+
+ * runtime/JSGlobalData.cpp:
+ (JSC::JSGlobalData::resetDateCache):
+ * runtime/JSGlobalData.h: Added storage for last parsed Date. Refactored
+ this code to make resetting the date cache easier.
+
+ * runtime/JSGlobalObject.h:
+ (JSC::DynamicGlobalObjectScope::DynamicGlobalObjectScope): Updated for
+ refactoring.
+
+ * wtf/DateMath.cpp:
+ (JSC::parseDateFromNullTerminatedCharacters):
+ * wtf/DateMath.h: Changed ExecState to be first parameter, as is the JSC custom.
+
+2009-11-09 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Can cache prototype lookups on uncacheable dictionaries.
+ https://bugs.webkit.org/show_bug.cgi?id=31198
+
+ Replace fromDictionaryTransition with flattenDictionaryObject and
+ flattenDictionaryStructure. This change is necessary as we need to
+ guarantee that our attempt to convert away from a dictionary structure
+ will definitely succeed, and in some cases this requires mutating the
+ object storage itself.
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::tryCacheGetByID):
+ * jit/JITStubs.cpp:
+ (JSC::JITThunks::tryCacheGetByID):
+ (JSC::DEFINE_STUB_FUNCTION):
+ * runtime/BatchedTransitionOptimizer.h:
+ (JSC::BatchedTransitionOptimizer::~BatchedTransitionOptimizer):
+ * runtime/JSObject.h:
+ (JSC::JSObject::flattenDictionaryObject):
+ * runtime/Operations.h:
+ (JSC::normalizePrototypeChain):
+ * runtime/Structure.cpp:
+ (JSC::Structure::flattenDictionaryStructure):
+ (JSC::comparePropertyMapEntryIndices):
+ * runtime/Structure.h:
+
+2009-11-09 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Not reviewed, build fix.
+
+ Remove extra character from r50701.
+
+ * JavaScriptCore.pri:
+
+2009-11-09 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Not reviewed, build fix.
+
+ Revert r50695 because it broke QtWebKit (clean builds).
+
+ * JavaScriptCore.pri:
+
+2009-11-09 Norbert Leser <norbert.leser@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Prepended $$PWD to GENERATED_SOURCES_DIR to avoid potential ambiguities when included from WebCore.pro.
+ Some preprocessors consider this GENERATED_SOURCES_DIR relative to current invoking dir (e.g., ./WebCore),
+ and not the working dir of JavaCriptCore.pri (i.e., ../JavaScriptCore/).
+
+ * JavaScriptCore.pri:
+
+2009-11-09 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Use explicit parentheses to silence gcc 4.4 -Wparentheses warnings
+ https://bugs.webkit.org/show_bug.cgi?id=31040
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+
+2009-11-08 David Levin <levin@chromium.org>
+
+ Reviewed by NOBODY (speculative snow leopard and windows build fixes).
+
+ * wtf/DateMath.cpp:
+ (WTF::parseDateFromNullTerminatedCharacters):
+ (JSC::gregorianDateTimeToMS):
+ (JSC::msToGregorianDateTime):
+ (JSC::parseDateFromNullTerminatedCharacters):
+ * wtf/DateMath.h:
+ (JSC::GregorianDateTime::GregorianDateTime):
+
+2009-11-08 David Levin <levin@chromium.org>
+
+ Reviewed by NOBODY (chromium build fix).
+
+ Hopefully, the last build fix.
+
+ Create better separation in DateMath about the JSC
+ and non-JSC portions. Also, only expose the non-JSC
+ version in the exports.
+
+ * JavaScriptCore.exp:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * wtf/DateMath.cpp:
+ (WTF::parseDateFromNullTerminatedCharacters):
+ (JSC::getUTCOffset):
+ (JSC::gregorianDateTimeToMS):
+ (JSC::msToGregorianDateTime):
+ (JSC::parseDateFromNullTerminatedCharacters):
+ * wtf/DateMath.h:
+ (JSC::gmtoffset):
+
+2009-11-08 David Levin <levin@chromium.org>
+
+ Reviewed by NOBODY (chromium build fix).
+
+ For the change in DateMath.
+
+ * config.h:
+ * wtf/DateMath.cpp:
+
+2009-11-06 Geoffrey Garen <ggaren@apple.com>
+
+ Windows build fix: export some symbols.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2009-11-06 Geoffrey Garen <ggaren@apple.com>
+
+ Build fix: updated export file.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2009-11-06 Geoffrey Garen <ggaren@apple.com>
+
+ Build fix: added some #includes.
+
+ * wtf/CurrentTime.h:
+ * wtf/DateMath.h:
+
+2009-11-06 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=31197
+ Implemented a timezone cache not based on Mac OS X's notify_check API.
+
+ If the VM calculates the local timezone offset from UTC, it caches the
+ result until the end of the current VM invocation. (We don't want to cache
+ forever, because the user's timezone may change over time.)
+
+ This removes notify_* overhead on Mac, and, more significantly, removes
+ OS time and date call overhead on non-Mac platforms.
+
+ ~8% speedup on Date microbenchmark on Mac. SunSpider reports maybe a tiny
+ speedup on Mac. (Speedup on non-Mac platforms should be even more noticeable.)
+
+ * JavaScriptCore.exp:
+
+ * interpreter/CachedCall.h:
+ (JSC::CachedCall::CachedCall):
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::execute):
+ * runtime/JSGlobalObject.h:
+ (JSC::DynamicGlobalObjectScope::DynamicGlobalObjectScope): Made the
+ DynamicGlobalObjectScope constructor responsible for checking whether a
+ dynamicGlobalObject has already been set. This eliminated some duplicate
+ client code, and allowed me to avoid adding even more duplicate client
+ code. Made DynamicGlobalObjectScope responsible for resetting the
+ local timezone cache upon first entry to the VM.
+
+ * runtime/DateConstructor.cpp:
+ (JSC::constructDate):
+ (JSC::callDate):
+ (JSC::dateParse):
+ (JSC::dateUTC):
+ * runtime/DateConversion.cpp:
+ (JSC::parseDate):
+ * runtime/DateConversion.h:
+ * runtime/DateInstance.cpp:
+ (JSC::DateInstance::gregorianDateTime):
+ * runtime/DateInstance.h:
+ * runtime/DateInstanceCache.h:
+ * runtime/DatePrototype.cpp:
+ (JSC::setNewValueFromTimeArgs):
+ (JSC::setNewValueFromDateArgs):
+ (JSC::dateProtoFuncSetYear):
+ * runtime/InitializeThreading.cpp:
+ (JSC::initializeThreadingOnce):
+ * runtime/JSGlobalData.cpp:
+ (JSC::JSGlobalData::JSGlobalData):
+ * runtime/JSGlobalData.h:
+ * wtf/DateMath.cpp:
+ (WTF::getCurrentUTCTime):
+ (WTF::getCurrentUTCTimeWithMicroseconds):
+ (WTF::getLocalTime):
+ (JSC::getUTCOffset): Use the new cache. Also, see below.
+ (JSC::gregorianDateTimeToMS):
+ (JSC::msToGregorianDateTime):
+ (JSC::initializeDates):
+ (JSC::parseDateFromNullTerminatedCharacters): Simplified the way this function
+ accounts for the local timezone offset, to accomodate our new caching API,
+ and a (possibly misguided) caller in WebCore. Also, see below.
+ * wtf/DateMath.h:
+ (JSC::GregorianDateTime::GregorianDateTime): Moved most of the code in
+ DateMath.* into the JSC namespace. The code needed to move so it could
+ naturally interact with ExecState and JSGlobalData to support caching.
+ Logically, it seemed right to move it, too, since this code is not really
+ as low-level as the WTF namespace might imply -- it implements a set of
+ date parsing and conversion quirks that are finely tuned to the JavaScript
+ language. Also removed the Mac OS X notify_* infrastructure.
+
+ * wtf/CurrentTime.h:
+ (WTF::currentTimeMS):
+ (WTF::getLocalTime): Moved the rest of the DateMath code here, and renamed
+ it to make it consistent with WTF's currentTime function.
+
+2009-11-06 Gabor Loki <loki@inf.u-szeged.hu>
+
+ Unreviewed trivial buildfix after r50595.
+
+ Rename the remaining rshiftPtr calls to rshift32
+
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_rshift):
+ * jit/JITInlineMethods.h:
+ (JSC::JIT::emitFastArithImmToInt):
+
+2009-11-06 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Tidy up the shift methods on the macro-assembler interface.
+
+ Currently behaviour of shifts of a magnitude > 0x1f is undefined.
+ Instead defined that all shifts are masked to this range. This makes a lot of
+ practical sense, both since having undefined behaviour is not particularly
+ desirable, and because this behaviour is commonly required (particularly since
+ it is required bt ECMA-262 for shifts).
+
+ Update the ARM assemblers to provide this behaviour. Remove (now) redundant
+ masks from JITArithmetic, and remove rshiftPtr (this was used in case that
+ could be rewritten in a simpler form using rshift32, only optimized JSVALUE32
+ on x86-64, which uses JSVALUE64!)
+
+ * assembler/MacroAssembler.h:
+ * assembler/MacroAssemblerARM.h:
+ (JSC::MacroAssemblerARM::lshift32):
+ (JSC::MacroAssemblerARM::rshift32):
+ * assembler/MacroAssemblerARMv7.h:
+ (JSC::MacroAssemblerARMv7::lshift32):
+ (JSC::MacroAssemblerARMv7::rshift32):
+ * assembler/MacroAssemblerX86_64.h:
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_lshift):
+ (JSC::JIT::emit_op_rshift):
+
+2009-11-05 Gavin Barraclough <barraclough@apple.com>
+
+ Rubber Stamped by Oliver Hunt.
+
+ Remove a magic number (1) from the JIT, instead compute the value with OBJECT_OFFSET.
+
+ * jit/JITInlineMethods.h:
+ (JSC::JIT::emitPutJITStubArg):
+ (JSC::JIT::emitPutJITStubArgConstant):
+ (JSC::JIT::emitGetJITStubArg):
+ (JSC::JIT::emitPutJITStubArgFromVirtualRegister):
+ * jit/JITStubCall.h:
+ (JSC::JITStubCall::JITStubCall):
+ (JSC::JITStubCall::getArgument):
+ * jit/JITStubs.h:
+
+2009-11-05 Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
+
+ Reviewed by Gavin Barraclough.
+
+ https://bugs.webkit.org/show_bug.cgi?id=31159
+ Fix branchDouble behaviour on ARM THUMB2 JIT.
+
+ The x86 branchDouble behaviour is reworked, and all JIT
+ ports should follow the x86 port. See bug 31104 and 31151
+
+ This patch contains a fix for the traditional ARM port
+
+ * assembler/ARMAssembler.h:
+ (JSC::ARMAssembler::):
+ (JSC::ARMAssembler::fmrs_r):
+ (JSC::ARMAssembler::ftosid_r):
+ * assembler/MacroAssemblerARM.h:
+ (JSC::MacroAssemblerARM::):
+ (JSC::MacroAssemblerARM::branchDouble):
+ (JSC::MacroAssemblerARM::branchConvertDoubleToInt32):
+
+2009-11-05 Chris Jerdonek <chris.jerdonek@gmail.com>
+
+ Reviewed by Eric Seidel.
+
+ Removed the "this is part of the KDE project" comments from
+ all *.h, *.cpp, *.idl, and *.pm files.
+
+ https://bugs.webkit.org/show_bug.cgi?id=31167
+
+ The maintenance and architecture page in the project wiki lists
+ this as a task.
+
+ This change includes no changes or additions to test cases
+ since the change affects only comments.
+
+ * wtf/wince/FastMallocWince.h:
+
+2009-11-05 Gabor Loki <loki@inf.u-szeged.hu>
+
+ Reviewed by Gavin Barraclough.
+
+ Use ARMv7 specific encoding for immediate constants on ARMv7 target
+ https://bugs.webkit.org/show_bug.cgi?id=31060
+
+ * assembler/ARMAssembler.cpp:
+ (JSC::ARMAssembler::getOp2): Use INVALID_IMM
+ (JSC::ARMAssembler::getImm): Use encodeComplexImm for complex immediate
+ (JSC::ARMAssembler::moveImm): Ditto.
+ (JSC::ARMAssembler::encodeComplexImm): Encode a constant by one or two
+ instructions or a PC relative load.
+ * assembler/ARMAssembler.h: Use INVALID_IMM if a constant cannot be
+ encoded as an immediate constant.
+ (JSC::ARMAssembler::):
+ (JSC::ARMAssembler::movw_r): 16-bit immediate load
+ (JSC::ARMAssembler::movt_r): High halfword 16-bit immediate load
+ (JSC::ARMAssembler::getImm16Op2): Encode immediate constant for
+ movw_r and mowt_r
+
+2009-11-04 Mark Mentovai <mark@chromium.org>
+
+ Reviewed by Mark Rowe.
+
+ Provide TARGETING_TIGER and TARGETING_LEOPARD as analogues to
+ BUILDING_ON_TIGER and BUILDING_ON_LEOPARD. The TARGETING_ macros
+ consider the deployment target; the BUILDING_ON_ macros consider the
+ headers being built against.
+
+ * wtf/Platform.h:
+
+2009-11-04 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=31151
+ Fix branchDouble behaviour on ARM THUMB2 JIT.
+
+ The ARMv7 JIT is currently using ARMv7Assembler::ConditionEQ to branch
+ for DoubleEqualOrUnordered, however this is incorrect - ConditionEQ won't
+ branch on unordered operands. Similarly, DoubleLessThanOrUnordered &
+ DoubleLessThanOrEqualOrUnordered use ARMv7Assembler::ConditionLO &
+ ARMv7Assembler::ConditionLS, whereas they should be using
+ ARMv7Assembler::ConditionLT & ARMv7Assembler::ConditionLE.
+
+ Fix these, and fill out the missing DoubleConditions.
+
+ * assembler/MacroAssemblerARMv7.h:
+ (JSC::MacroAssemblerARMv7::):
+ (JSC::MacroAssemblerARMv7::branchDouble):
+
+2009-11-04 Gavin Barraclough <barraclough@apple.com>
+
+ Rubber Stamped by Oliver Hunt.
+
+ Enable native call optimizations on ARMv7. (Existing ARM_TRADITIONAL
+ implementation was generic, worked perfectly, just needed turning on).
+
+ * jit/JITOpcodes.cpp:
+ * wtf/Platform.h:
+
+2009-11-04 Gavin Barraclough <barraclough@apple.com>
+
+ Rubber Stamped by Mark Rowe, Oliver Hunt, and Sam Weinig.
+
+ Add a missing assert to the ARMv7 JIT.
+
+ * assembler/ARMv7Assembler.h:
+ (JSC::ARMThumbImmediate::ARMThumbImmediate):
+
+2009-11-04 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Oliver Hunt.
+
+ Remove bogus op_ prefix on dumped version of three opcodes.
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::dump):
+
+2009-11-04 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix dumping of constants in bytecode so that they aren't printed as large positive register numbers.
+
+ We do this by having the registerName function return information about the constant if the register
+ number corresponds to a constant. This requires that registerName, and several functions that call it,
+ be converted to member functions of CodeBlock so that the constant value can be retrieved. The
+ ExecState also needs to be threaded down through these functions so that it can be passed on to
+ constantName when needed.
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::constantName):
+ (JSC::CodeBlock::registerName):
+ (JSC::CodeBlock::printUnaryOp):
+ (JSC::CodeBlock::printBinaryOp):
+ (JSC::CodeBlock::printConditionalJump):
+ (JSC::CodeBlock::printGetByIdOp):
+ (JSC::CodeBlock::printPutByIdOp):
+ (JSC::CodeBlock::dump):
+ * bytecode/CodeBlock.h:
+ (JSC::CodeBlock::isConstantRegisterIndex):
+
+2009-11-04 Pavel Heimlich <tropikhajma@gmail.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30647
+ Solaris build failure due to strnstr.
+
+ * wtf/StringExtras.h: Enable strnstr on Solaris, too.
+
+2009-11-04 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=31104
+ Refactor x86-specific behaviour out of the JIT.
+
+ - Add explicit double branch conditions for ordered and unordered comparisons (presently the brehaviour is a mix).
+ - Refactor double to int conversion out into the MacroAssembler.
+ - Remove broken double to int conversion for !JSVALUE32_64 builds - this code was broken and slowing us down, fixing it showed it not to be an improvement.
+ - Remove exclusion of double to int conversion from (1 % X) cases in JSVALUE32_64 builds - if this was of benefit this is no longer the case; simplify.
+
+ * assembler/MacroAssemblerARM.h:
+ (JSC::MacroAssemblerARM::):
+ * assembler/MacroAssemblerARMv7.h:
+ (JSC::MacroAssemblerARMv7::):
+ * assembler/MacroAssemblerX86Common.h:
+ (JSC::MacroAssemblerX86Common::):
+ (JSC::MacroAssemblerX86Common::convertInt32ToDouble):
+ (JSC::MacroAssemblerX86Common::branchDouble):
+ (JSC::MacroAssemblerX86Common::branchConvertDoubleToInt32):
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emitBinaryDoubleOp):
+ (JSC::JIT::emit_op_div):
+ (JSC::JIT::emitSlow_op_jnless):
+ (JSC::JIT::emitSlow_op_jnlesseq):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_jfalse):
+
+2009-11-04 Mark Mentovai <mark@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Remove BUILDING_ON_LEOPARD from JavaScriptCore.gyp. This is supposed
+ to be set as needed only in wtf/Platform.h.
+
+ * JavaScriptCore.gyp/JavaScriptCore.gyp:
+
+2009-11-02 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ REGRESSION (r48573): JSC may incorrectly cache chain lookups with a dictionary at the head of the chain
+ https://bugs.webkit.org/show_bug.cgi?id=31045
+
+ Add guards to prevent caching of prototype chain lookups with dictionaries at the
+ head of the chain. Also add a few tighter assertions to cached prototype lookups
+ to catch this in future.
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::tryCacheGetByID):
+ (JSC::Interpreter::privateExecute):
+ * jit/JITStubs.cpp:
+ (JSC::JITThunks::tryCacheGetByID):
+
+2009-11-02 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ PLATFORM(CF) should be set when building for Qt on Darwin
+ https://bugs.webkit.org/show_bug.cgi?id=23671
+
+ * wtf/Platform.h: Turn on CF support if both QT and DARWIN
+ platforms are defined.
+
+2009-11-02 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by David Levin.
+
+ Remove threadsafe refcounting from tasks used with WTF::MessageQueue.
+ https://bugs.webkit.org/show_bug.cgi?id=30612
+
+ * wtf/MessageQueue.h:
+ (WTF::MessageQueue::alwaysTruePredicate):
+ (WTF::MessageQueue::~MessageQueue):
+ (WTF::MessageQueue::append):
+ (WTF::MessageQueue::appendAndCheckEmpty):
+ (WTF::MessageQueue::prepend):
+ (WTF::MessageQueue::waitForMessage):
+ (WTF::MessageQueue::waitForMessageFilteredWithTimeout):
+ (WTF::MessageQueue::tryGetMessage):
+ (WTF::MessageQueue::removeIf):
+ The MessageQueue is changed to act as a queue of OwnPtr<DataType>. It takes ownership
+ of posted tasks and passes it to the new owner (in another thread) when the task is fetched.
+ All methods have arguments of type PassOwnPtr<DataType> and return the same type.
+
+ * wtf/Threading.cpp:
+ (WTF::createThread):
+ Superficial change to trigger rebuild of JSC project on Windows,
+ workaround for https://bugs.webkit.org/show_bug.cgi?id=30890
+
+2009-10-30 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Fixed failing layout test: restore a special case I accidentally deleted.
+
+ * runtime/DatePrototype.cpp:
+ (JSC::setNewValueFromDateArgs): In the case of applying a change to a date
+ that is NaN, reset the date to 0 *and* then apply the change; don't just
+ reset the date to 0.
+
+2009-10-30 Geoffrey Garen <ggaren@apple.com>
+
+ Windows build fix: update for object-to-pointer change.
+
+ * runtime/DatePrototype.cpp:
+ (JSC::formatLocaleDate):
+
+2009-10-29 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30942
+ Use pointers instead of copies to pass GregorianDateTime objects around.
+
+ SunSpider reports a shocking 4.5% speedup on date-format-xparb, and 1.3%
+ speedup on date-format-tofte.
+
+ * runtime/DateInstance.cpp:
+ (JSC::DateInstance::gregorianDateTime):
+ * runtime/DateInstance.h:
+ * runtime/DatePrototype.cpp:
+ (JSC::formatLocaleDate):
+ (JSC::dateProtoFuncToString):
+ (JSC::dateProtoFuncToUTCString):
+ (JSC::dateProtoFuncToISOString):
+ (JSC::dateProtoFuncToDateString):
+ (JSC::dateProtoFuncToTimeString):
+ (JSC::dateProtoFuncGetFullYear):
+ (JSC::dateProtoFuncGetUTCFullYear):
+ (JSC::dateProtoFuncToGMTString):
+ (JSC::dateProtoFuncGetMonth):
+ (JSC::dateProtoFuncGetUTCMonth):
+ (JSC::dateProtoFuncGetDate):
+ (JSC::dateProtoFuncGetUTCDate):
+ (JSC::dateProtoFuncGetDay):
+ (JSC::dateProtoFuncGetUTCDay):
+ (JSC::dateProtoFuncGetHours):
+ (JSC::dateProtoFuncGetUTCHours):
+ (JSC::dateProtoFuncGetMinutes):
+ (JSC::dateProtoFuncGetUTCMinutes):
+ (JSC::dateProtoFuncGetSeconds):
+ (JSC::dateProtoFuncGetUTCSeconds):
+ (JSC::dateProtoFuncGetTimezoneOffset):
+ (JSC::setNewValueFromTimeArgs):
+ (JSC::setNewValueFromDateArgs):
+ (JSC::dateProtoFuncSetYear):
+ (JSC::dateProtoFuncGetYear): Renamed getGregorianDateTime to gregorianDateTime,
+ since it no longer has an out parameter. Uses 0 to indicate invalid dates.
+
+2009-10-30 Zoltan Horvath <zoltan@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Allow custom memory allocation control for JavaScriptCore's ListHashSet
+ https://bugs.webkit.org/show_bug.cgi?id=30853
+
+ Inherits ListHashSet class from FastAllocBase because it is
+ instantiated by 'new' in WebCore/rendering/RenderBlock.cpp:1813.
+
+ * wtf/ListHashSet.h:
+
+2009-10-30 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Regression: crash enumerating properties of an object with getters or setters
+ https://bugs.webkit.org/show_bug.cgi?id=30948
+
+ Add a guard to prevent us trying to cache property enumeration on
+ objects with getters or setters.
+
+ * runtime/JSPropertyNameIterator.cpp:
+ (JSC::JSPropertyNameIterator::create):
+
+2009-10-30 Roland Steiner <rolandsteiner@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Remove ENABLE_RUBY guards as discussed with Dave Hyatt and Maciej Stachowiak.
+
+ Bug 28420 - Implement HTML5 <ruby> rendering
+ (https://bugs.webkit.org/show_bug.cgi?id=28420)
+
+ No new tests (no functional change).
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2009-10-29 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ REGRESSION (r50218-r50262): E*TRADE accounts page is missing content
+ https://bugs.webkit.org/show_bug.cgi?id=30947
+ <rdar://problem/7348833>
+
+ The logic for flagging that a structure has non-enumerable properties
+ was in addPropertyWithoutTransition, rather than in the core Structure::put
+ method. Despite this I was unable to produce a testcase that caused
+ the failure that etrade was experiencing, but the new assertion in
+ getEnumerablePropertyNames triggers on numerous layout tests without
+ the fix, so in effecti all for..in enumeration in any test ends up
+ doing the required consistency check.
+
+ * runtime/Structure.cpp:
+ (JSC::Structure::addPropertyWithoutTransition):
+ (JSC::Structure::put):
+ (JSC::Structure::getEnumerablePropertyNames):
+ (JSC::Structure::checkConsistency):
+
+2009-10-29 Gabor Loki <loki@inf.u-szeged.hu>
+
+ Reviewed by Gavin Barraclough.
+
+ Add cacheFlush support for Thumb-2 on Linux
+ https://bugs.webkit.org/show_bug.cgi?id=30865
+
+ * jit/ExecutableAllocator.h:
+ (JSC::ExecutableAllocator::cacheFlush):
+
+2009-10-28 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ JSC JIT on ARMv7 cannot link jumps >16Mb range
+ https://bugs.webkit.org/show_bug.cgi?id=30891
+
+ Start planing all relative jumps as move-32-bit-immediate-to-register-BX.
+ In the cases where the jump would fall within a relative jump range, use a relative jump.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * assembler/ARMv7Assembler.h:
+ (JSC::ARMv7Assembler::~ARMv7Assembler):
+ (JSC::ARMv7Assembler::LinkRecord::LinkRecord):
+ (JSC::ARMv7Assembler::):
+ (JSC::ARMv7Assembler::executableCopy):
+ (JSC::ARMv7Assembler::linkJump):
+ (JSC::ARMv7Assembler::relinkJump):
+ (JSC::ARMv7Assembler::setInt32):
+ (JSC::ARMv7Assembler::isB):
+ (JSC::ARMv7Assembler::isBX):
+ (JSC::ARMv7Assembler::isMOV_imm_T3):
+ (JSC::ARMv7Assembler::isMOVT):
+ (JSC::ARMv7Assembler::isNOP_T1):
+ (JSC::ARMv7Assembler::isNOP_T2):
+ (JSC::ARMv7Assembler::linkJumpAbsolute):
+ (JSC::ARMv7Assembler::twoWordOp5i6Imm4Reg4EncodedImmFirst):
+ (JSC::ARMv7Assembler::twoWordOp5i6Imm4Reg4EncodedImmSecond):
+ (JSC::ARMv7Assembler::ARMInstructionFormatter::twoWordOp5i6Imm4Reg4EncodedImm):
+ * assembler/MacroAssemblerARMv7.h:
+ (JSC::MacroAssemblerARMv7::makeJump):
+ (JSC::MacroAssemblerARMv7::makeBranch):
+ * jit/JIT.h:
+ * wtf/Platform.h:
+
+2009-10-28 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Improve for..in enumeration performance
+ https://bugs.webkit.org/show_bug.cgi?id=30887
+
+ Improve indexing of an object with a for..in iterator by
+ identifying cases where get_by_val is being used with a iterator
+ as the subscript and replace it with a new get_by_pname
+ bytecode. get_by_pname then optimizes lookups that directly access
+ the base object.
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::dump):
+ * bytecode/Opcode.h:
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::emitGetByVal):
+ * bytecompiler/BytecodeGenerator.h:
+ (JSC::BytecodeGenerator::pushOptimisedForIn):
+ (JSC::BytecodeGenerator::popOptimisedForIn):
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompileMainPass):
+ (JSC::JIT::privateCompileSlowCases):
+ * jit/JIT.h:
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::compileGetDirectOffset):
+ (JSC::JIT::emit_op_get_by_pname):
+ (JSC::JIT::emitSlow_op_get_by_pname):
+ * parser/Nodes.cpp:
+ (JSC::ForInNode::emitBytecode):
+ * runtime/JSObject.h:
+ * runtime/JSPropertyNameIterator.cpp:
+ (JSC::JSPropertyNameIterator::create):
+ * runtime/JSPropertyNameIterator.h:
+ (JSC::JSPropertyNameIterator::getOffset):
+ (JSC::JSPropertyNameIterator::JSPropertyNameIterator):
+ * runtime/JSValue.h:
+ (JSC::JSValue::):
+ * runtime/Structure.cpp:
+ (JSC::Structure::addPropertyTransition):
+ (JSC::Structure::changePrototypeTransition):
+ (JSC::Structure::despecifyFunctionTransition):
+ (JSC::Structure::addAnonymousSlotsTransition):
+ (JSC::Structure::getterSetterTransition):
+ (JSC::Structure::toDictionaryTransition):
+ (JSC::Structure::addPropertyWithoutTransition):
+ Track the existence (or not) of non-enumerable properties.
+ * runtime/Structure.h:
+ (JSC::Structure::propertyStorageCapacity):
+ (JSC::Structure::propertyStorageSize):
+ (JSC::Structure::hasNonEnumerableProperties):
+ (JSC::Structure::hasAnonymousSlots):
+
+2009-10-28 Dmitry Titov <dimich@chromium.org>
+
+ Not reviewed, attemp to fix Windows build.
+
+ Touch the cpp file to cause recompile.
+
+ * wtf/Threading.cpp:
+ (WTF::threadEntryPoint):
+
+2009-10-28 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by David Levin.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30805
+ Add MessageQueue::removeIf(Predicate&) to remove certain tasks without pulling them from the queue.
+ Existing Database tests cover this since Database removes tasks when it is stopped.
+
+ * wtf/MessageQueue.h:
+ (WTF::::removeIf):
+
+2009-10-28 Afonso R. Costa Jr. <afonso.costa@openbossa.org>
+
+ Reviewed by Oliver Hunt.
+
+ [Qt] Enable YARR when YARR_JIT is enabled
+ https://bugs.webkit.org/show_bug.cgi?id=30730
+
+ When enabling or disabling JIT using JAVASCRIPTCORE_JIT, the ENABLE_YARR should
+ be toggled also.
+
+ * JavaScriptCore.pri:
+
+2009-10-24 Martin Robinson <martin.james.robinson@gmail.com>
+
+ Reviewed by Oliver Hunt.
+
+ Fix strict aliasing warning by switching reinterpret_cast to bitwise_cast.
+
+ strict-aliasing warnings in JSFunction.h
+ https://bugs.webkit.org/show_bug.cgi?id=27869
+
+ * runtime/JSFunction.h:
+ (JSC::JSFunction::nativeFunction):
+ (JSC::JSFunction::scopeChain):
+ (JSC::JSFunction::setScopeChain):
+ (JSC::JSFunction::setNativeFunction):
+
+2009-10-28 Jan-Arve Sæther <jan-arve.saether@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Build-fix for 64-bit Windows
+
+ * wtf/Platform.h: Make sure to use WTF_USE_JSVALUE64
+
+2009-10-28 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (build fix!).
+
+ * jit/JIT.h:
+
+2009-10-26 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Rubber-stamped by Darin Adler.
+
+ Export fastMalloc, fastCalloc, fastRealloc and fastFree on GCC/Unix
+ https://bugs.webkit.org/show_bug.cgi?id=30769
+
+ When using -fvisibility=hidden to hide all internal symbols by default
+ the malloc symbols will be hidden as well. For memory instrumentation
+ it is needed to provide an instrumented version of these symbols and
+ override the normal routines and by changing the visibility back to
+ default this becomes possible.
+
+ The only other solution would be to use system malloc instead of the
+ TCmalloc implementation but this will not allow to analyze memory
+ behavior with the default allocator.
+
+ * wtf/FastMalloc.h: Define WTF_FAST_MALLOC_EXPORT for GCC and !darwin
+
+2009-10-27 Gavin Barraclough <barraclough@apple.com>
+
+ Rubber Stamped by Samuel Q. Weinig.
+
+ Make the asserts protecting the offsets in the JIT more descriptive.
+
+ * jit/JIT.h:
+ * jit/JITCall.cpp:
+ (JSC::JIT::compileOpCall):
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::emit_op_method_check):
+ (JSC::JIT::compileGetByIdHotPath):
+ (JSC::JIT::compileGetByIdSlowCase):
+ (JSC::JIT::emit_op_put_by_id):
+
+2009-10-27 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ A little bit of refactoring in the date code.
+
+ * JavaScriptCore.exp: Don't export this unused symbol.
+
+ * runtime/DateConstructor.cpp:
+ (JSC::constructDate):
+
+ * runtime/DateInstance.cpp:
+ (JSC::DateInstance::DateInstance):
+ * runtime/DateInstance.h: Removed some unused functions. Changed the default
+ constructor to ensure that a DateInstance is always initialized.
+
+ * runtime/DatePrototype.cpp:
+ (JSC::DatePrototype::DatePrototype): Pass an initializer to our constructor,
+ since it now requires one.
+
+ * wtf/DateMath.cpp:
+ (WTF::msToGregorianDateTime): Only compute our offset from UTC if our
+ output will require it. Otherwise, our offset is 0.
+
+2009-10-27 Geoffrey Garen <ggaren@apple.com>
+
+ Build fix: Mark DateInstaceCache.h private, so other frameworks can see it.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+
+2009-10-27 Geoffrey Garen <ggaren@apple.com>
+
+ Build fix: re-readded this file.
+
+ * runtime/DateInstanceCache.h: Added.
+ (JSC::DateInstanceData::create):
+ (JSC::DateInstanceData::DateInstanceData):
+ (JSC::DateInstanceCache::DateInstanceCache):
+ (JSC::DateInstanceCache::add):
+ (JSC::DateInstanceCache::lookup):
+
+2009-10-27 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Darin Adler and Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30800
+ Cache recently computed date data.
+
+ SunSpider reports a ~0.5% speedup, mostly from date-format-tofte.js.
+
+ * GNUmakefile.am:
+ * JavaScriptCore.gypi:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
+ * JavaScriptCore.xcodeproj/project.pbxproj: Added new file.
+
+ * runtime/DateInstance.cpp:
+ (JSC::DateInstance::DateInstance):
+ (JSC::DateInstance::getGregorianDateTime): Use the shared cache.
+
+ * runtime/DateInstance.h: Renamed m_cache to m_data, to avoid the confusion
+ of a "cache cache".
+
+ * runtime/DatePrototype.cpp:
+ (JSC::formatLocaleDate):
+ (JSC::dateProtoFuncToString):
+ (JSC::dateProtoFuncToUTCString):
+ (JSC::dateProtoFuncToISOString):
+ (JSC::dateProtoFuncToDateString):
+ (JSC::dateProtoFuncToTimeString):
+ (JSC::dateProtoFuncGetFullYear):
+ (JSC::dateProtoFuncGetUTCFullYear):
+ (JSC::dateProtoFuncToGMTString):
+ (JSC::dateProtoFuncGetMonth):
+ (JSC::dateProtoFuncGetUTCMonth):
+ (JSC::dateProtoFuncGetDate):
+ (JSC::dateProtoFuncGetUTCDate):
+ (JSC::dateProtoFuncGetDay):
+ (JSC::dateProtoFuncGetUTCDay):
+ (JSC::dateProtoFuncGetHours):
+ (JSC::dateProtoFuncGetUTCHours):
+ (JSC::dateProtoFuncGetMinutes):
+ (JSC::dateProtoFuncGetUTCMinutes):
+ (JSC::dateProtoFuncGetSeconds):
+ (JSC::dateProtoFuncGetUTCSeconds):
+ (JSC::dateProtoFuncGetTimezoneOffset):
+ (JSC::setNewValueFromTimeArgs):
+ (JSC::setNewValueFromDateArgs):
+ (JSC::dateProtoFuncSetYear):
+ (JSC::dateProtoFuncGetYear): Pass an ExecState to these functions, so they
+ can access the DateInstanceCache.
+
+ * runtime/JSGlobalData.h: Keep a DateInstanceCache.
+
+2009-10-27 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Ensures that JavaScriptCore/wtf/CurrentTime.cpp is not built in PLATFORM(CHROMIUM) builds.
+
+ Chromium uses a different method to calculate the current time than is used in
+ JavaScriptCore/wtf/CurrentTime.cpp. This can lead to time skew when calls to currentTime() and Chromium's time
+ function are mixed. In particular, timers can get scheduled in the past which leads to 100% CPU use.
+ See http://code.google.com/p/chromium/issues/detail?id=25892 for an example.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30833
+
+ * JavaScriptCore.gyp/JavaScriptCore.gyp:
+ * wtf/CurrentTime.cpp:
+
+2009-10-27 Peter Varga <pvarga@inf.u-szeged.hu>
+
+ Rubber-stamped by Tor Arne Vestbø.
+
+ Fix typo in RegexInterpreter.cpp and RegexJIT.cpp alterantive to
+ alternative.
+
+ * yarr/RegexInterpreter.cpp:
+ (JSC::Yarr::ByteCompiler::alternativeBodyDisjunction):
+ (JSC::Yarr::ByteCompiler::alternativeDisjunction):
+ (JSC::Yarr::ByteCompiler::emitDisjunction):
+ * yarr/RegexJIT.cpp:
+ (JSC::Yarr::RegexGenerator::generateDisjunction):
+
+2009-10-26 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Make .rc files compile on Windows without depending on MFC headers
+ https://bugs.webkit.org/show_bug.cgi?id=30750
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.rc: Use
+ winresrc.h because it exists even when MFC is not installed, and is
+ all that's needed here.
+
+2009-10-26 Gabor Loki <loki@inf.u-szeged.hu>
+
+ Reviewed by Gavin Barraclough.
+
+ The thunkReturnAddress is on JITStackFrame on ARM JIT as well
+ https://bugs.webkit.org/show_bug.cgi?id=30782
+
+ Move the thunkReturnAddress from top of the stack into the JITStackFrame
+ structure. This is a requirement for JSValue32_64 support on ARM.
+
+ * assembler/MacroAssemblerARM.h:
+ (JSC::MacroAssemblerARM::ret): Return with link register
+ (JSC::MacroAssemblerARM::prepareCall): Store the return address in link register
+ * jit/JIT.h: Remove unused ctiReturnRegister
+ * jit/JITInlineMethods.h: Same as ARMv7
+ (JSC::JIT::restoreArgumentReference): Ditto.
+ (JSC::JIT::restoreArgumentReferenceForTrampoline): Ditto.
+ * jit/JITOpcodes.cpp: Remove ctiReturnRegister related instruction
+ * jit/JITStubs.cpp: Store thunkReturnAddress on JITStackFrame. Use
+ small trampoline functions which handle return addresses for each
+ CTI_STUB_FUNCTION.
+ * jit/JITStubs.h: Store thunkReturnAddress on JITStackFrame
+ (JSC::JITStackFrame::returnAddressSlot): Return with the address of thunkReturnAddress
+ * yarr/RegexJIT.cpp:
+ (JSC::Yarr::RegexGenerator::generateEnter): Remove the unnecessary instruction
+
+2009-10-26 Steve Block <steveblock@google.com>
+
+ Reviewed by Darin Adler.
+
+ Adds ability to disable ReadWriteLock on platforms (eg Android) that use pthreads but do not support pthread_rwlock.
+ https://bugs.webkit.org/show_bug.cgi?id=30713
+
+ * wtf/Platform.h: Modified. Defines HAVE_PTHREAD_RWLOCK for all platforms currently using pthreads.
+ * wtf/Threading.h: Modified. Use pthread_rwlock_t only when HAVE_PTHREAD_RWLOCK is defined.
+ * wtf/ThreadingPthreads.cpp: Modified. Build ReadWriteLock methods only when HAVE_PTHREAD_RWLOCK is defined.
+
+2009-10-24 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Holger Freyther.
+
+ [Qt] [Symbian] Set the capability and memory required to run QtWebKit for Symbian
+ https://bugs.webkit.org/show_bug.cgi?id=30476
+
+ Assign ReadUserData WriteUserData NetworkServices Symbian capabilities
+ to jsc.exe.
+
+ * jsc.pro:
+
+2009-10-23 Steve Block <steveblock@google.com>
+
+ Reviewed by Dmitry Titov.
+
+ Fixes a leak in createThreadInternal on Android.
+ https://bugs.webkit.org/show_bug.cgi?id=30698
+
+ * wtf/ThreadingPthreads.cpp: Modified.
+ (WTF::createThreadInternal): Avoid leaking a ThreadData object on failure.
+
+2009-10-22 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Fixed ASSERT when opening Safari's Caches window while the Web Inspector
+ is open.
+
+ * runtime/Collector.cpp:
+ (JSC::typeName): Added two new types to the type name list in the Collector.
+ These types have been around for a while, but nobody remembered to consider them here.
+
+ * runtime/JSCell.h:
+ (JSC::JSCell::isPropertyNameIterator):
+ * runtime/JSPropertyNameIterator.h:
+ (JSC::JSPropertyNameIterator::isPropertyNameIterator): Give the Collector
+ a way to tell if a cell is a JSPropertyNameIterator.
+
+2009-10-22 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Jon Honeycutt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30686
+ Remove debug-specific def file.
+ Only Debug_All target uses JavaScriptCore_debug.dll naming, and since
+ that target is only used internally, maintaining two files just to
+ suppress a single link warning isn't worthwhile.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def: Removed.
+
+2009-10-21 Jon Honeycutt <jhoneycutt@apple.com>
+
+ <rdar://problem/7270320> Screenshots of off-screen plug-ins are blank
+ <rdar://problem/7270314> After halting a transparent PluginView on
+ Windows, the transparency is applied twice
+
+ Reviewed by Dan Bernstein.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ Export WTF::deleteOwnedPtr(HDC).
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+ Ditto.
+
+2009-10-20 Geoffrey Garen <ggaren@apple.com>
+
+ Windows build fix: updated variable name.
+
+ * runtime/DatePrototype.cpp:
+ (JSC::formatLocaleDate):
+
+2009-10-20 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_next_pname): Slightly tweaked this #ifdef to match the
+ size of a JSValue because m_jsStrings is an array of JSValues.
+
+2009-10-20 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Fixed a 64-bit regression caused by the fix for
+ https://bugs.webkit.org/show_bug.cgi?id=30570.
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_next_pname): Use TimesEight stepping on 64-bit, since
+ 64-bit pointers are eight bytes long.
+
+2009-10-20 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Refactored DateInstance::msToGregorianDateTime so that a DateInstance's
+ caller doesn't need to supply the DateInstance's own internal value to
+ the DateInstance.
+
+ * runtime/DateInstance.cpp:
+ (JSC::DateInstance::getGregorianDateTime): Renamed from "msToGregorianDateTime".
+
+ * runtime/DateInstance.h:
+ * runtime/DatePrototype.cpp:
+ (JSC::formatLocaleDate):
+ (JSC::dateProtoFuncToString):
+ (JSC::dateProtoFuncToUTCString):
+ (JSC::dateProtoFuncToISOString):
+ (JSC::dateProtoFuncToDateString):
+ (JSC::dateProtoFuncToTimeString):
+ (JSC::dateProtoFuncToLocaleString):
+ (JSC::dateProtoFuncToLocaleDateString):
+ (JSC::dateProtoFuncToLocaleTimeString):
+ (JSC::dateProtoFuncGetTime):
+ (JSC::dateProtoFuncGetFullYear):
+ (JSC::dateProtoFuncGetUTCFullYear):
+ (JSC::dateProtoFuncToGMTString):
+ (JSC::dateProtoFuncGetMonth):
+ (JSC::dateProtoFuncGetUTCMonth):
+ (JSC::dateProtoFuncGetDate):
+ (JSC::dateProtoFuncGetUTCDate):
+ (JSC::dateProtoFuncGetDay):
+ (JSC::dateProtoFuncGetUTCDay):
+ (JSC::dateProtoFuncGetHours):
+ (JSC::dateProtoFuncGetUTCHours):
+ (JSC::dateProtoFuncGetMinutes):
+ (JSC::dateProtoFuncGetUTCMinutes):
+ (JSC::dateProtoFuncGetSeconds):
+ (JSC::dateProtoFuncGetUTCSeconds):
+ (JSC::dateProtoFuncGetTimezoneOffset):
+ (JSC::setNewValueFromTimeArgs):
+ (JSC::setNewValueFromDateArgs):
+ (JSC::dateProtoFuncSetYear):
+ (JSC::dateProtoFuncGetYear): Also renamed "utc" to "outputIsUTC", for clarity.
+
+2009-10-20 Gabor Loki <loki@inf.u-szeged.hu>
+
+ Reviewed by Geoffrey Garen.
+
+ The op_next_pname should use 4 bytes addressing mode in case of JSValue32
+ https://bugs.webkit.org/show_bug.cgi?id=30570
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_next_pname):
+
+2009-10-20 Gabor Loki <loki@inf.u-szeged.hu>
+
+ Reviewed by Oliver Hunt.
+
+ Move OverridesMarkChildren flag from DatePrototype to its parent class
+ https://bugs.webkit.org/show_bug.cgi?id=30372
+
+ * runtime/DateInstance.h:
+ (JSC::DateInstance::createStructure):
+ * runtime/DatePrototype.h:
+
+2009-10-19 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Tightened up some put_by_id_transition code generation.
+ https://bugs.webkit.org/show_bug.cgi?id=30539
+
+ * jit/JIT.h:
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::testPrototype):
+ (JSC::JIT::privateCompilePutByIdTransition): No need to do object type
+ checks or read Structures and prototypes from objects: they're all known
+ constants at compile time.
+
+2009-10-19 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Added a private API for getting a global context from a context, for
+ clients who want to preserve a context for a later callback.
+
+ * API/APICast.h:
+ (toGlobalRef): Added an ASSERT, since this function is used more often
+ than before.
+
+ * API/JSContextRef.cpp:
+ * API/JSContextRefPrivate.h: Added. The new API.
+
+ * API/tests/testapi.c:
+ (print_callAsFunction):
+ (main): Test the new API.
+
+ * JavaScriptCore.exp:
+ * JavaScriptCore.xcodeproj/project.pbxproj: Build and export the new API.
+
+2009-10-17 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Tightened up some instanceof code generation.
+ https://bugs.webkit.org/show_bug.cgi?id=30488
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_instanceof):
+ (JSC::JIT::emitSlow_op_instanceof): No need to do object type checks -
+ cell type checks and ImplementsDefaultHasIntance checks implicitly
+ supersede object type checks.
+
+2009-10-18 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Darin Adler.
+
+ Use _stricmp and _strnicmp instead of deprecated stricmp and strnicmp.
+ https://bugs.webkit.org/show_bug.cgi?id=30474
+
+ stricmp and strnicmp are deprecated beginning in Visual
+ C++ 2005. Use _stricmp and _strnicmp instead in StringExtras.h.
+
+ * wtf/StringExtras.h:
+ (strncasecmp):
+ (strcasecmp):
+
+2009-10-16 Geoffrey Garen <ggaren@apple.com>
+
+ Build fix: apparently we shouldn't export those symbols?
+
+ * JavaScriptCore.exp:
+
+2009-10-16 Geoffrey Garen <ggaren@apple.com>
+
+ Build fix: export some symbols.
+
+ * JavaScriptCore.exp:
+
+2009-10-16 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ structure typeinfo flags should be inherited.
+ https://bugs.webkit.org/show_bug.cgi?id=30468
+
+ Add StructureFlag constant to the various JSC classes and use
+ it for the TypeInfo construction. This allows us to simply
+ accumulate flags by basing each classes StructureInfo on its parents.
+
+ * API/JSCallbackConstructor.h:
+ (JSC::JSCallbackConstructor::createStructure):
+ * API/JSCallbackFunction.h:
+ (JSC::JSCallbackFunction::createStructure):
+ * API/JSCallbackObject.h:
+ (JSC::JSCallbackObject::createStructure):
+ * debugger/DebuggerActivation.h:
+ (JSC::DebuggerActivation::createStructure):
+ * runtime/Arguments.h:
+ (JSC::Arguments::createStructure):
+ * runtime/BooleanObject.h:
+ (JSC::BooleanObject::createStructure):
+ * runtime/DatePrototype.h:
+ (JSC::DatePrototype::createStructure):
+ * runtime/FunctionPrototype.h:
+ (JSC::FunctionPrototype::createStructure):
+ * runtime/GlobalEvalFunction.h:
+ (JSC::GlobalEvalFunction::createStructure):
+ * runtime/InternalFunction.h:
+ (JSC::InternalFunction::createStructure):
+ * runtime/JSActivation.h:
+ (JSC::JSActivation::createStructure):
+ * runtime/JSArray.h:
+ (JSC::JSArray::createStructure):
+ * runtime/JSByteArray.cpp:
+ (JSC::JSByteArray::createStructure):
+ * runtime/JSByteArray.h:
+ * runtime/JSFunction.h:
+ (JSC::JSFunction::createStructure):
+ * runtime/JSGlobalObject.h:
+ (JSC::JSGlobalObject::createStructure):
+ * runtime/JSNotAnObject.h:
+ (JSC::JSNotAnObject::createStructure):
+ * runtime/JSONObject.h:
+ (JSC::JSONObject::createStructure):
+ * runtime/JSObject.h:
+ (JSC::JSObject::createStructure):
+ * runtime/JSStaticScopeObject.h:
+ (JSC::JSStaticScopeObject::createStructure):
+ * runtime/JSVariableObject.h:
+ (JSC::JSVariableObject::createStructure):
+ * runtime/JSWrapperObject.h:
+ (JSC::JSWrapperObject::createStructure):
+ * runtime/MathObject.h:
+ (JSC::MathObject::createStructure):
+ * runtime/NumberConstructor.h:
+ (JSC::NumberConstructor::createStructure):
+ * runtime/NumberObject.h:
+ (JSC::NumberObject::createStructure):
+ * runtime/RegExpConstructor.h:
+ (JSC::RegExpConstructor::createStructure):
+ * runtime/RegExpObject.h:
+ (JSC::RegExpObject::createStructure):
+ * runtime/StringObject.h:
+ (JSC::StringObject::createStructure):
+ * runtime/StringObjectThatMasqueradesAsUndefined.h:
+ (JSC::StringObjectThatMasqueradesAsUndefined::createStructure):
+
+2009-10-16 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Fast for-in enumeration: Cache JSPropertyNameIterator; cache JSStrings
+ in JSPropertyNameIterator; inline more code.
+
+ 1.024x as fast on SunSpider (fasta: 1.43x as fast).
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::dump):
+ * bytecode/Opcode.h:
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::emitGetPropertyNames):
+ (JSC::BytecodeGenerator::emitNextPropertyName):
+ * bytecompiler/BytecodeGenerator.h: Added a few extra operands to
+ op_get_pnames and op_next_pname so that we can track iteration state
+ in the register file instead of in the JSPropertyNameIterator. (To be
+ cacheable, the JSPropertyNameIterator must be stateless.)
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::tryCachePutByID):
+ (JSC::Interpreter::tryCacheGetByID): Updated for rename to
+ "normalizePrototypeChain" and removal of "isCacheable".
+
+ (JSC::Interpreter::privateExecute): Updated for in-RegisterFile
+ iteration state tracking.
+
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompileMainPass):
+ * jit/JIT.h:
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_get_pnames): Updated for in-RegisterFile
+ iteration state tracking.
+
+ (JSC::JIT::emit_op_next_pname): Inlined code generation for op_next_pname.
+
+ * jit/JITStubs.cpp:
+ (JSC::JITThunks::tryCachePutByID):
+ (JSC::JITThunks::tryCacheGetByID): Updated for rename to
+ "normalizePrototypeChain" and removal of "isCacheable".
+
+ (JSC::DEFINE_STUB_FUNCTION):
+ * jit/JITStubs.h:
+ (JSC::): Added has_property and to_object stubs. Removed op_next_pname
+ stub, since has_property is all we need anymore.
+
+ * parser/Nodes.cpp:
+ (JSC::ForInNode::emitBytecode): Updated for in-RegisterFile
+ iteration state tracking.
+
+ * runtime/JSCell.h:
+ * runtime/JSObject.cpp:
+ (JSC::JSObject::getPropertyNames): Don't do caching at this layer
+ anymore, since we don't create a JSPropertyNameIterator at this layer.
+
+ * runtime/JSPropertyNameIterator.cpp:
+ (JSC::JSPropertyNameIterator::create): Do do caching at this layer.
+ (JSC::JSPropertyNameIterator::get): Updated for in-RegisterFile
+ iteration state tracking.
+ (JSC::JSPropertyNameIterator::markChildren): Mark our JSStrings.
+
+ * runtime/JSPropertyNameIterator.h:
+ (JSC::JSPropertyNameIterator::size):
+ (JSC::JSPropertyNameIterator::setCachedStructure):
+ (JSC::JSPropertyNameIterator::cachedStructure):
+ (JSC::JSPropertyNameIterator::setCachedPrototypeChain):
+ (JSC::JSPropertyNameIterator::cachedPrototypeChain):
+ (JSC::JSPropertyNameIterator::JSPropertyNameIterator):
+ (JSC::Structure::setEnumerationCache): Don't store iteration state in
+ a JSPropertyNameIterator. Do cache a JSPropertyNameIterator in a
+ Structure.
+
+ * runtime/JSValue.h:
+ (JSC::asCell):
+ * runtime/MarkStack.h: Make those mischievous #include gods happy.
+
+ * runtime/ObjectConstructor.cpp:
+
+ * runtime/Operations.h:
+ (JSC::normalizePrototypeChain): Renamed countPrototypeChainEntriesAndCheckForProxies
+ to normalizePrototypeChain, since it changes dictionary prototypes to
+ non-dictionary objects.
+
+ * runtime/PropertyNameArray.cpp:
+ (JSC::PropertyNameArray::add):
+ * runtime/PropertyNameArray.h:
+ (JSC::PropertyNameArrayData::PropertyNameArrayData):
+ (JSC::PropertyNameArray::data):
+ (JSC::PropertyNameArray::size):
+ (JSC::PropertyNameArray::begin):
+ (JSC::PropertyNameArray::end): Simplified some code here to help with
+ current and future refactoring.
+
+ * runtime/Protect.h:
+ * runtime/Structure.cpp:
+ (JSC::Structure::~Structure):
+ (JSC::Structure::addPropertyWithoutTransition):
+ (JSC::Structure::removePropertyWithoutTransition): No need to clear
+ the enumeration cache with adding / removing properties without
+ transition. It is an error to add / remove properties without transition
+ once an object has been observed, and we can ASSERT to catch that.
+
+ * runtime/Structure.h:
+ (JSC::Structure::enumerationCache): Changed the enumeration cache to
+ hold a JSPropertyNameIterator.
+
+ * runtime/StructureChain.cpp:
+ * runtime/StructureChain.h:
+ (JSC::StructureChain::head): Removed StructureChain::isCacheable because
+ it was wrong-headed in two ways: (1) It gave up when a prototype was a
+ dictionary, but instead we want un-dictionary heavily accessed
+ prototypes; (2) It folded a test for hasDefaultGetPropertyNames() into
+ a generic test for "cacheable-ness", but hasDefaultGetPropertyNames()
+ is only releavant to for-in caching.
+
+2009-10-16 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add a Debug_All configuration to build entire stack as debug.
+ Change Debug_Internal to:
+ - stop using _debug suffix for all WebKit/Safari binaries
+ - not use _debug as a DLL naming suffix
+ - use non-debug C runtime lib.
+
+ * JavaScriptCore.vcproj/JavaScriptCore.make: Debug build in makefile should build Debug_All.
+ * JavaScriptCore.vcproj/JavaScriptCore.sln: Add Debug_All configuration.
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Add Debug_All configuration.
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.vcproj: Renamed single configuration from "Release" to "all".
+ * JavaScriptCore.vcproj/JavaScriptCoreSubmit.sln: Add Debug_All configuration.
+ * JavaScriptCore.vcproj/WTF/WTF.vcproj: Add Debug_All configuration.
+ * JavaScriptCore.vcproj/jsc/jsc.vcproj: Add Debug_All configuration.
+ * JavaScriptCore.vcproj/testapi/testapi.vcproj: Add Debug_All configuration.
+
+2009-10-16 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Make typeinfo flags default to false
+ https://bugs.webkit.org/show_bug.cgi?id=30372
+
+ Last part -- replace HasDefaultGetPropertyNames with OverridesGetPropertyNames
+ flag.
+
+ * API/JSCallbackConstructor.h:
+ (JSC::JSCallbackConstructor::createStructure):
+ * API/JSCallbackObject.h:
+ (JSC::JSCallbackObject::createStructure):
+ * debugger/DebuggerActivation.h:
+ (JSC::DebuggerActivation::createStructure):
+ * runtime/Arguments.h:
+ (JSC::Arguments::createStructure):
+ * runtime/BooleanObject.h:
+ (JSC::BooleanObject::createStructure):
+ * runtime/DatePrototype.h:
+ (JSC::DatePrototype::createStructure):
+ * runtime/FunctionPrototype.h:
+ (JSC::FunctionPrototype::createStructure):
+ * runtime/GlobalEvalFunction.h:
+ (JSC::GlobalEvalFunction::createStructure):
+ * runtime/JSAPIValueWrapper.h:
+ (JSC::JSAPIValueWrapper::createStructure):
+ * runtime/JSActivation.h:
+ (JSC::JSActivation::createStructure):
+ * runtime/JSArray.h:
+ (JSC::JSArray::createStructure):
+ * runtime/JSByteArray.cpp:
+ (JSC::JSByteArray::createStructure):
+ * runtime/JSFunction.h:
+ (JSC::JSFunction::createStructure):
+ * runtime/JSGlobalObject.h:
+ (JSC::JSGlobalObject::createStructure):
+ * runtime/JSNotAnObject.h:
+ (JSC::JSNotAnObject::createStructure):
+ * runtime/JSONObject.h:
+ (JSC::JSONObject::createStructure):
+ * runtime/JSObject.cpp:
+ (JSC::JSObject::getPropertyNames):
+ * runtime/JSObject.h:
+ (JSC::JSObject::createStructure):
+ * runtime/JSStaticScopeObject.h:
+ (JSC::JSStaticScopeObject::createStructure):
+ * runtime/JSTypeInfo.h:
+ (JSC::TypeInfo::overridesGetPropertyNames):
+ * runtime/JSVariableObject.h:
+ (JSC::JSVariableObject::createStructure):
+ * runtime/JSWrapperObject.h:
+ (JSC::JSWrapperObject::createStructure):
+ * runtime/MathObject.h:
+ (JSC::MathObject::createStructure):
+ * runtime/NumberConstructor.h:
+ (JSC::NumberConstructor::createStructure):
+ * runtime/NumberObject.h:
+ (JSC::NumberObject::createStructure):
+ * runtime/RegExpConstructor.h:
+ (JSC::RegExpConstructor::createStructure):
+ * runtime/RegExpObject.h:
+ (JSC::RegExpObject::createStructure):
+ * runtime/StringObject.h:
+ (JSC::StringObject::createStructure):
+ * runtime/StringObjectThatMasqueradesAsUndefined.h:
+ (JSC::StringObjectThatMasqueradesAsUndefined::createStructure):
+ * runtime/StructureChain.cpp:
+ (JSC::StructureChain::isCacheable):
+
+2009-10-16 Kevin Ollivier <kevino@theolliviers.com>
+
+ wxMSW build fix, we can't use the simple hash there because the PlatformModuleVersion
+ structure differs.
+
+ * wtf/Platform.h:
+
+2009-10-16 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Implement ExecutableAllocator for Symbian
+ https://bugs.webkit.org/show_bug.cgi?id=29946
+
+ Tested with YARR JIT enabled for Symbian;
+ This patch does not (yet) enable YARR JIT by default.
+
+ * JavaScriptCore.pri:
+ * jit/ExecutableAllocator.h:
+ * jit/ExecutableAllocatorSymbian.cpp: Added.
+ (JSC::ExecutableAllocator::intializePageSize):
+ (JSC::ExecutablePool::systemAlloc):
+ (JSC::ExecutablePool::systemRelease):
+
+2009-10-15 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Make typeinfo flags default to false
+ https://bugs.webkit.org/show_bug.cgi?id=30372
+
+ Part 2 -- Reverse the TypeInfo HasDefaultMark flag to OverridesMarkChildren, etc
+
+ * API/JSCallbackConstructor.h:
+ (JSC::JSCallbackConstructor::createStructure):
+ * API/JSCallbackFunction.h:
+ (JSC::JSCallbackFunction::createStructure):
+ * API/JSCallbackObject.h:
+ (JSC::JSCallbackObject::createStructure):
+ * debugger/DebuggerActivation.h:
+ (JSC::DebuggerActivation::createStructure):
+ * runtime/Arguments.h:
+ (JSC::Arguments::createStructure):
+ * runtime/BooleanObject.h:
+ (JSC::BooleanObject::createStructure):
+ * runtime/DatePrototype.h:
+ (JSC::DatePrototype::createStructure):
+ * runtime/FunctionPrototype.h:
+ (JSC::FunctionPrototype::createStructure):
+ * runtime/GetterSetter.h:
+ (JSC::GetterSetter::createStructure):
+ * runtime/GlobalEvalFunction.h:
+ (JSC::GlobalEvalFunction::createStructure):
+ * runtime/InternalFunction.h:
+ (JSC::InternalFunction::createStructure):
+ * runtime/JSAPIValueWrapper.h:
+ (JSC::JSAPIValueWrapper::createStructure):
+ * runtime/JSActivation.h:
+ (JSC::JSActivation::createStructure):
+ * runtime/JSArray.h:
+ (JSC::JSArray::createStructure):
+ (JSC::MarkStack::markChildren):
+ * runtime/JSByteArray.cpp:
+ (JSC::JSByteArray::createStructure):
+ * runtime/JSFunction.h:
+ (JSC::JSFunction::createStructure):
+ * runtime/JSGlobalObject.h:
+ (JSC::JSGlobalObject::createStructure):
+ * runtime/JSNotAnObject.h:
+ (JSC::JSNotAnObject::createStructure):
+ * runtime/JSNumberCell.h:
+ (JSC::JSNumberCell::createStructure):
+ * runtime/JSONObject.h:
+ (JSC::JSONObject::createStructure):
+ * runtime/JSObject.h:
+ (JSC::JSObject::createStructure):
+ * runtime/JSPropertyNameIterator.h:
+ (JSC::JSPropertyNameIterator::createStructure):
+ * runtime/JSStaticScopeObject.h:
+ (JSC::JSStaticScopeObject::createStructure):
+ * runtime/JSString.h:
+ (JSC::JSString::createStructure):
+ * runtime/JSTypeInfo.h:
+ (JSC::TypeInfo::overridesMarkChildren):
+ * runtime/JSVariableObject.h:
+ (JSC::JSVariableObject::createStructure):
+ * runtime/JSWrapperObject.h:
+ (JSC::JSWrapperObject::createStructure):
+ * runtime/MathObject.h:
+ (JSC::MathObject::createStructure):
+ * runtime/NumberConstructor.h:
+ (JSC::NumberConstructor::createStructure):
+ * runtime/NumberObject.h:
+ (JSC::NumberObject::createStructure):
+ * runtime/RegExpConstructor.h:
+ (JSC::RegExpConstructor::createStructure):
+ * runtime/RegExpObject.h:
+ (JSC::RegExpObject::createStructure):
+ * runtime/StringObject.h:
+ (JSC::StringObject::createStructure):
+ * runtime/StringObjectThatMasqueradesAsUndefined.h:
+ (JSC::StringObjectThatMasqueradesAsUndefined::createStructure):
+
+2009-10-14 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Make typeinfo flags default to false
+ https://bugs.webkit.org/show_bug.cgi?id=30372
+
+ Part 1. Reverse the HasStandardGetOwnPropertySlot flag.
+
+ * API/JSCallbackConstructor.h:
+ (JSC::JSCallbackConstructor::createStructure):
+ * API/JSCallbackFunction.h:
+ (JSC::JSCallbackFunction::createStructure):
+ * API/JSCallbackObject.h:
+ (JSC::JSCallbackObject::createStructure):
+ * debugger/DebuggerActivation.h:
+ (JSC::DebuggerActivation::createStructure):
+ * jit/JITStubs.cpp:
+ (JSC::DEFINE_STUB_FUNCTION):
+ * runtime/Arguments.h:
+ (JSC::Arguments::createStructure):
+ * runtime/BooleanObject.h:
+ (JSC::BooleanObject::createStructure):
+ * runtime/DatePrototype.h:
+ (JSC::DatePrototype::createStructure):
+ * runtime/FunctionPrototype.h:
+ (JSC::FunctionPrototype::createStructure):
+ * runtime/GlobalEvalFunction.h:
+ (JSC::GlobalEvalFunction::createStructure):
+ * runtime/InternalFunction.h:
+ (JSC::InternalFunction::createStructure):
+ * runtime/JSActivation.h:
+ (JSC::JSActivation::createStructure):
+ * runtime/JSArray.h:
+ (JSC::JSArray::createStructure):
+ * runtime/JSByteArray.cpp:
+ (JSC::JSByteArray::createStructure):
+ * runtime/JSFunction.h:
+ (JSC::JSFunction::createStructure):
+ * runtime/JSGlobalObject.h:
+ (JSC::JSGlobalObject::createStructure):
+ * runtime/JSNumberCell.h:
+ (JSC::JSNumberCell::createStructure):
+ * runtime/JSONObject.h:
+ (JSC::JSONObject::createStructure):
+ * runtime/JSObject.h:
+ (JSC::JSObject::createStructure):
+ (JSC::JSCell::fastGetOwnPropertySlot):
+ * runtime/JSStaticScopeObject.h:
+ (JSC::JSStaticScopeObject::createStructure):
+ * runtime/JSString.h:
+ (JSC::JSString::createStructure):
+ * runtime/JSTypeInfo.h:
+ (JSC::TypeInfo::overridesGetOwnPropertySlot):
+ * runtime/JSVariableObject.h:
+ (JSC::JSVariableObject::createStructure):
+ * runtime/JSWrapperObject.h:
+ (JSC::JSWrapperObject::createStructure):
+ * runtime/MathObject.h:
+ (JSC::MathObject::createStructure):
+ * runtime/NumberConstructor.h:
+ (JSC::NumberConstructor::createStructure):
+ * runtime/NumberObject.h:
+ (JSC::NumberObject::createStructure):
+ * runtime/RegExpConstructor.h:
+ (JSC::RegExpConstructor::createStructure):
+ * runtime/RegExpObject.h:
+ (JSC::RegExpObject::createStructure):
+ * runtime/StringObject.h:
+ (JSC::StringObject::createStructure):
+ * runtime/StringObjectThatMasqueradesAsUndefined.h:
+ (JSC::StringObjectThatMasqueradesAsUndefined::createStructure):
+
+2009-10-14 Kevin Ollivier <kevino@theolliviers.com>
+2009-10-14 Darin Adler <darin@apple.com>
+
+ Additions so fix for https://bugs.webkit.org/show_bug.cgi?id=18994
+ can build on Windows.
+
+ * wtf/MathExtras.h: Added llround and llroundf for Windows.
+
+2009-10-14 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix. Set ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH for plugins while we're still building stubs.
+
+ * wtf/Platform.h:
+
+2009-10-13 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Refactor ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH
+ https://bugs.webkit.org/show_bug.cgi?id=30278
+
+ Move the definition of ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH
+ from the make system into common code.
+
+ * wtf/Platform.h:
+
+2009-10-13 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ ARM compiler does not understand reinterpret_cast<void*>
+ https://bugs.webkit.org/show_bug.cgi?id=29034
+
+ Change reinterpret_cast<void*> to regular C style (void*) cast
+ for the ARM RVCT compiler.
+
+ * assembler/MacroAssemblerCodeRef.h:
+ (JSC::FunctionPtr::FunctionPtr):
+ * jit/JITOpcodes.cpp: Cast to FunctionPtr first
+ instead of directly casting to reinterpret_cast
+ * jit/JITStubCall.h: Ditto + change the type of m_stub
+ from void* to FunctionPtr.
+ (JSC::JITStubCall::JITStubCall):
+ (JSC::JITStubCall::call):
+ * jit/JITStubs.cpp: Ditto.
+ (JSC::DEFINE_STUB_FUNCTION(EncodedJSValue, op_throw)):
+
+2009-10-11 Oliver Hunt <oliver@apple.com>
+
+ Re-enable the JIT.
+
+ * wtf/Platform.h:
+
+2009-10-10 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Support for String.trim(), String.trimLeft() and String.trimRight() methods
+ https://bugs.webkit.org/show_bug.cgi?id=26590
+
+ Implement trim, trimLeft, and trimRight
+
+ * runtime/StringPrototype.cpp:
+ (JSC::isTrimWhitespace):
+ Our normal string whitespace function does not include U+200B which
+ is needed for compatibility with mozilla's implementation of trim.
+ U+200B does not appear to be expected according to spec, however I am
+ choosing to be lax, and match mozilla behavior so have added this
+ exception.
+ (JSC::trimString):
+
+2009-10-09 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Eliminated some legacy bytecode weirdness.
+
+ Use vPC[x] subscripting instead of ++vPC to access instruction operands.
+ This is simpler, and often more efficient.
+
+ To support this, and to remove use of hard-coded offsets in bytecode and
+ JIT code generation and dumping, calculate jump offsets from the beginning
+ of an instruction, rather than the middle or end.
+
+ Also, use OPCODE_LENGTH instead of hard-coded constants for the sizes of
+ opcodes.
+
+ SunSpider reports no change in JIT mode, and a 1.01x speedup in Interpreter
+ mode.
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::printConditionalJump):
+ (JSC::CodeBlock::dump):
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::emitJump):
+ (JSC::BytecodeGenerator::emitJumpIfTrue):
+ (JSC::BytecodeGenerator::emitJumpIfFalse):
+ (JSC::BytecodeGenerator::emitJumpIfNotFunctionCall):
+ (JSC::BytecodeGenerator::emitJumpIfNotFunctionApply):
+ (JSC::BytecodeGenerator::emitComplexJumpScopes):
+ (JSC::BytecodeGenerator::emitJumpScopes):
+ (JSC::BytecodeGenerator::emitNextPropertyName):
+ (JSC::BytecodeGenerator::emitCatch):
+ (JSC::BytecodeGenerator::emitJumpSubroutine):
+ (JSC::prepareJumpTableForImmediateSwitch):
+ (JSC::prepareJumpTableForCharacterSwitch):
+ (JSC::prepareJumpTableForStringSwitch):
+ (JSC::BytecodeGenerator::endSwitch):
+ * bytecompiler/Label.h:
+ (JSC::Label::setLocation):
+ (JSC::Label::bind):
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::resolve):
+ (JSC::Interpreter::resolveSkip):
+ (JSC::Interpreter::resolveGlobal):
+ (JSC::Interpreter::resolveBase):
+ (JSC::Interpreter::resolveBaseAndProperty):
+ (JSC::Interpreter::createExceptionScope):
+ (JSC::Interpreter::privateExecute):
+ * interpreter/Interpreter.h:
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompile):
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_jnless):
+ (JSC::JIT::emitSlow_op_jnless):
+ (JSC::JIT::emit_op_jnlesseq):
+ (JSC::JIT::emitSlow_op_jnlesseq):
+ (JSC::JIT::emitBinaryDoubleOp):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_jmp):
+ (JSC::JIT::emit_op_loop):
+ (JSC::JIT::emit_op_loop_if_less):
+ (JSC::JIT::emitSlow_op_loop_if_less):
+ (JSC::JIT::emit_op_loop_if_lesseq):
+ (JSC::JIT::emitSlow_op_loop_if_lesseq):
+ (JSC::JIT::emit_op_loop_if_true):
+ (JSC::JIT::emitSlow_op_loop_if_true):
+ (JSC::JIT::emit_op_jfalse):
+ (JSC::JIT::emitSlow_op_jfalse):
+ (JSC::JIT::emit_op_jtrue):
+ (JSC::JIT::emitSlow_op_jtrue):
+ (JSC::JIT::emit_op_jeq_null):
+ (JSC::JIT::emit_op_jneq_null):
+ (JSC::JIT::emit_op_jneq_ptr):
+ (JSC::JIT::emit_op_jsr):
+ (JSC::JIT::emit_op_next_pname):
+ (JSC::JIT::emit_op_jmp_scopes):
+
+2009-10-09 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Migrated some code that didn't belong out of Structure.
+
+ SunSpider says maybe 1.03x faster.
+
+ * runtime/JSCell.h: Nixed Structure::markAggregate, and made marking of
+ a Structure's prototype the direct responsility of the object using it.
+ (Giving Structure a mark function was misleading because it implied that
+ all live structures get marked during GC, when they don't.)
+
+ * runtime/JSGlobalObject.cpp:
+ (JSC::markIfNeeded):
+ (JSC::JSGlobalObject::markChildren): Added code to mark prototypes stored
+ on the global object. Maybe this wasn't necessary, but now we don't have
+ to wonder.
+
+ * runtime/JSObject.cpp:
+ (JSC::JSObject::getPropertyNames):
+ (JSC::JSObject::getOwnPropertyNames):
+ (JSC::JSObject::getEnumerableNamesFromClassInfoTable):
+ * runtime/JSObject.h:
+ (JSC::JSObject::markChildrenDirect):
+ * runtime/PropertyNameArray.h:
+ * runtime/Structure.cpp:
+ * runtime/Structure.h:
+ (JSC::Structure::setEnumerationCache):
+ (JSC::Structure::enumerationCache): Moved property name gathering code
+ from Structure to JSObject because having a Structure iterate its JSObject
+ was a layering violation. A JSObject is implemented using a Structure; not
+ the other way around.
+
+2009-10-09 Mark Rowe <mrowe@apple.com>
+
+ Attempt to fix the GTK release build.
+
+ * GNUmakefile.am: Include Grammar.cpp in release builds now that
+ AllInOneFile.cpp is gone.
+
+2009-10-09 Gabor Loki <loki@inf.u-szeged.hu>
+
+ Rubber-stamped by Eric Seidel.
+
+ Add ARM JIT support for Gtk port (disabled by default)
+ https://bugs.webkit.org/show_bug.cgi?id=30228
+
+ * GNUmakefile.am:
+
+2009-10-08 Geoffrey Garen <ggaren@apple.com>
+
+ Tiger build fix: added a few more variable initializations.
+
+ * runtime/StringPrototype.cpp:
+ (JSC::stringProtoFuncReplace):
+ (JSC::stringProtoFuncSearch):
+
+2009-10-08 Geoffrey Garen <ggaren@apple.com>
+
+ Qt build fix: added missing #include.
+
+ * jsc.cpp:
+
+2009-10-08 Geoffrey Garen <ggaren@apple.com>
+
+ Tiger build fix: initialize variable whose initialization the compiler
+ can't otherwise figure out.
+
+ * runtime/RegExpObject.cpp:
+ (JSC::RegExpObject::match):
+
+2009-10-08 Geoffrey Garen <ggaren@apple.com>
+
+ Windows build fix: updated exports.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-10-08 Geoffrey Garen <ggaren@apple.com>
+
+ Tiger build fix: fixed file name case.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+
+2009-10-08 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ At long last, I pronounce the death of AllInOneFile.cpp.
+
+ SunSpider reports a 1.01x speedup.
+
+ * AllInOneFile.cpp: Removed.
+ * GNUmakefile.am:
+ * JavaScriptCore.exp:
+ * JavaScriptCore.gypi:
+ * JavaScriptCore.xcodeproj/project.pbxproj: Added missing project files
+ to compilation stages.
+
+ * parser/Grammar.y:
+ * parser/Lexer.cpp:
+ * parser/Lexer.h:
+ (JSC::jscyylex):
+ * runtime/ArrayConstructor.cpp:
+ (JSC::constructArrayWithSizeQuirk):
+ * runtime/Collector.h:
+ * runtime/JSCell.cpp:
+ (JSC::JSCell::operator new):
+ * runtime/JSCell.h:
+ (JSC::JSCell::operator new):
+ * runtime/JSGlobalObject.cpp:
+ (JSC::JSGlobalObject::operator new):
+ * runtime/JSNumberCell.h:
+ (JSC::JSNumberCell::operator new):
+ * runtime/JSString.cpp:
+ * runtime/JSString.h:
+ (JSC::jsString):
+ (JSC::jsSubstring):
+ (JSC::jsOwnedString):
+ * runtime/RegExpConstructor.cpp:
+ * runtime/RegExpConstructor.h:
+ (JSC::RegExpConstructorPrivate::RegExpConstructorPrivate):
+ (JSC::RegExpConstructorPrivate::lastOvector):
+ (JSC::RegExpConstructorPrivate::tempOvector):
+ (JSC::RegExpConstructorPrivate::changeLastOvector):
+ (JSC::RegExpConstructor::performMatch):
+ * runtime/StringPrototype.cpp:
+ (JSC::stringProtoFuncMatch):
+ * yarr/RegexJIT.cpp:
+ * yarr/RegexJIT.h:
+ (JSC::Yarr::executeRegex): Inlined a few things that Shark said
+ were hot, on the presumption that AllInOneFile.cpp used to inline them
+ automatically.
+
+2009-10-08 Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
+
+ Reviewed by Gavin Barraclough.
+
+ Fix for JIT'ed op_call instructions (evals, constructs, etc.)
+ when !ENABLE(JIT_OPTIMIZE_CALL) && USE(JSVALUE32_64)
+
+ https://bugs.webkit.org/show_bug.cgi?id=30201
+
+ * jit/JITCall.cpp:
+ (JSC::JIT::compileOpCall):
+
+2009-10-07 Geoffrey Garen <ggaren@apple.com>
+
+ Windows build fix: removed no longer exported symbol.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-10-07 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Fixed <rdar://problem/5751979> Database code takes JSLock on secondary
+ thread, permanently slowing down JavaScript
+
+ Removed the optional lock from Heap::protect, Heap::unprotect, and friends,
+ since WebCore no longer uses it.
+
+ * JavaScriptCore.exp:
+ * runtime/Collector.cpp:
+ (JSC::Heap::protect):
+ (JSC::Heap::unprotect):
+ (JSC::Heap::markProtectedObjects):
+ (JSC::Heap::protectedGlobalObjectCount):
+ (JSC::Heap::protectedObjectCount):
+ (JSC::Heap::protectedObjectTypeCounts):
+ * runtime/Collector.h:
+
+2009-10-07 Zoltan Horvath <zoltan@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Allow custom memory allocation control for JavaScriptCore's IdentifierArena
+ https://bugs.webkit.org/show_bug.cgi?id=30158
+
+ Inherits IdentifierArena class from FastAllocBase because it has been
+ instantiated by 'new' in JavaScriptCore/parser/ParserArena.cpp:36.
+
+ * parser/ParserArena.h:
+
+2009-10-07 Adam Roben <aroben@apple.com>
+
+ Export DateInstance::info in a way that works on Windows
+
+ Fixes <http://webkit.org/b/30171>
+ fast/dom/Window/window-postmessage-clone.html fails on Windows
+
+ Reviewed by Anders Carlsson.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+ Removed the export of DateInstance::info from here.
+
+ * runtime/DateInstance.h: Use JS_EXPORTDATA to export
+ DateInstance::info, which is the required way of exporting data on
+ Windows.
+
+2009-10-07 Jørgen Lind <jorgen.lind@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ When enabling or disabling the JIT through .qmake.cache, make sure
+ to also toggle ENABLE_YARR_JIT.
+
+ * JavaScriptCore.pri:
+
+2009-10-06 Priit Laes <plaes@plaes.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Linking fails with "relocation R_X86_64_PC32 against symbol
+ `cti_vm_throw'"
+ https://bugs.webkit.org/show_bug.cgi?id=28422
+
+ * jit/JITStubs.cpp:
+ Mark cti_vm_throw symbol as PLT-indirect symbol, so it doesn't end up
+ in text segment causing relocation errors on amd64 architecture.
+ Introduced new define SYMBOL_STRING_RELOCATION for such symbols.
+
+2009-10-06 Oliver Hunt <oliver@apple.com>
+
+ Windows linking fix
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-10-06 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by NOBODY (build fix).
+
+ Windows build fix.
+
+ * runtime/DateInstance.cpp:
+
+2009-10-05 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ It should be possible to post (clone) built-in JS objects to Workers
+ https://bugs.webkit.org/show_bug.cgi?id=22878
+
+ Expose helpers to throw correct exceptions during object graph walk
+ used for cloning and add a helper function to create Date instances
+ without going through the JS Date constructor function.
+
+ * JavaScriptCore.exp:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * runtime/DateInstance.cpp:
+ (JSC::DateInstance::DateInstance):
+ * runtime/DateInstance.h:
+ * runtime/ExceptionHelpers.cpp:
+ (JSC::createTypeError):
+ * runtime/ExceptionHelpers.h:
+
+2009-10-06 David Levin <levin@chromium.org>
+
+ Reviewed by Oliver Hunt.
+
+ StringImpl needs a method to get an instance for another thread which doesn't copy the underlying buffer.
+ https://bugs.webkit.org/show_bug.cgi?id=30095
+
+ * wtf/CrossThreadRefCounted.h:
+ Removed an unused function and assert improvement.
+ (WTF::CrossThreadRefCounted::isOwnedByCurrentThread): Moved out common code from asserts.
+ (WTF::CrossThreadRefCounted::ref): Changed assert to use the common method.
+ (WTF::CrossThreadRefCounted::deref): Changed assert to use the common method.
+ (WTF::CrossThreadRefCounted::crossThreadCopy): Since this includes a potentially
+ non-threadsafe operation, add an assert that the class is owned by the current thread.
+
+2009-10-05 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix. Add Symbian files to the list of excludes.
+
+ * wscript:
+
+2009-10-05 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Remove precompiled header from JavaScriptCore compilation to
+ prevent qmake warning during autonomous compilation.
+ https://bugs.webkit.org/show_bug.cgi?id=30069
+
+ * JavaScriptCore.pro:
+
+2009-10-02 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Removed the concept of a "fast access cutoff" in arrays, because it
+ punished some patterns of array access too much, and made things too
+ complex for inlining in some cases.
+
+ 1.3% speedup on SunSpider.
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emitSlow_op_get_by_val):
+ (JSC::JIT::emitSlow_op_put_by_val):
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::emit_op_get_by_val):
+ (JSC::JIT::emitSlow_op_get_by_val):
+ (JSC::JIT::emit_op_put_by_val):
+ (JSC::JIT::emitSlow_op_put_by_val):
+ * jit/JITStubs.cpp:
+ * jit/JITStubs.h:
+ (JSC::): Check m_vectorLength instead of m_fastAccessCutoff when
+ getting / putting from / to an array. Inline putting past the end of
+ the array.
+
+ * runtime/JSArray.cpp:
+ (JSC::JSArray::JSArray):
+ (JSC::JSArray::getOwnPropertySlot):
+ (JSC::JSArray::getOwnPropertyDescriptor):
+ (JSC::JSArray::put):
+ (JSC::JSArray::putSlowCase):
+ (JSC::JSArray::deleteProperty):
+ (JSC::JSArray::getOwnPropertyNames):
+ (JSC::JSArray::increaseVectorLength):
+ (JSC::JSArray::setLength):
+ (JSC::JSArray::pop):
+ (JSC::JSArray::push):
+ (JSC::JSArray::sort):
+ (JSC::JSArray::fillArgList):
+ (JSC::JSArray::copyToRegisters):
+ (JSC::JSArray::compactForSorting):
+ (JSC::JSArray::checkConsistency):
+ * runtime/JSArray.h:
+ (JSC::JSArray::canGetIndex):
+ (JSC::JSArray::canSetIndex):
+ (JSC::JSArray::setIndex):
+ (JSC::JSArray::markChildrenDirect): Removed m_fastAccessCutoff, and
+ replaced with checks for JSValue() to detect reads and writes from / to
+ uninitialized parts of the array.
+
+2009-10-02 Jonni Rainisto <jonni.rainisto@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Math.random() gives too low values on Win32 when _CRT_RAND_S is not defined
+ https://bugs.webkit.org/show_bug.cgi?id=29956
+
+ * wtf/RandomNumber.cpp:
+ (WTF::randomNumber): Added PLATFORM(WIN_OS) to handle 15bit rand()
+
+2009-10-02 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Take one branch instead of two to test for JSValue().
+
+ 1.1% SunSpider speedup.
+
+ * jit/JITCall.cpp:
+ (JSC::JIT::compileOpCall):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_to_jsnumber):
+ (JSC::JIT::emit_op_create_arguments):
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::emitSlow_op_get_by_val):
+ (JSC::JIT::emit_op_put_by_val): Test for the empty value tag, instead
+ of testing for the cell tag with a 0 payload.
+
+ * runtime/JSValue.cpp:
+ (JSC::JSValue::description): Added support for dumping the new empty value,
+ and deleted values, in debug builds.
+
+ * runtime/JSValue.h:
+ (JSC::JSValue::JSValue()): Construct JSValue() with the empty value tag.
+
+ (JSC::JSValue::JSValue(JSCell*)): Convert null pointer to the empty value
+ tag, to avoid having two different c++ versions of null / empty.
+
+ (JSC::JSValue::operator bool): Test for the empty value tag, instead
+ of testing for the cell tag with a 0 payload.
+
+2009-10-02 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ <https://bugs.webkit.org/show_bug.cgi?id=29989>
+ Safari version number shouldn't be exposed in WebKit code
+
+ For a WebKit version of 532.3.4:
+ Product version is: 5.32.3.4 (was 4.0.3.0)
+ File version is: 5.32.3.4 (was 4.532.3.4)
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.rc:
+
+2009-10-02 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Rubber-stamped by Simon Hausmann.
+
+ Fix the Qt on Mac OS X build.
+
+ * wtf/FastMalloc.cpp:
+
+2009-10-02 Jørgen Lind <jorgen.lind@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Allow enabling and disabling of the JIT through a qmake variable.
+
+ Qt's configure may set this variable through .qmake.cache if a
+ commandline option is given and/or the compile test for hwcap.h
+ failed/succeeded.
+
+ * JavaScriptCore.pri:
+
+2009-10-01 Mark Rowe <mrowe@apple.com>
+
+ Fix the Tiger build. Don't unconditionally enable 3D canvas as it is not supported on Tiger.
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2009-10-01 Yongjun Zhang <yongjun.zhang@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=29187
+
+ Don't inline ~ListRefPtr() to work around winscw compiler forward declaration
+ bug regarding templated classes.
+
+ The compiler bug is reported at:
+ https://xdabug001.ext.nokia.com/bugzilla/show_bug.cgi?id=9812
+
+ The change will be reverted when the above bug is fixed in winscw compiler.
+
+ * wtf/ListRefPtr.h:
+ (WTF::::~ListRefPtr):
+
+2009-10-01 Zoltan Horvath <zoltan@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Allow custom memory allocation control for the whole JavaScriptCore
+ https://bugs.webkit.org/show_bug.cgi?id=27029
+
+ Since in JavaScriptCore almost every class which has been instantiated by operator new is
+ inherited from FastAllocBase (bug #20422), we disable customizing global operator new for the Qt-port
+ when USE_SYSTEM_MALLOC=0.
+
+ Add #include <unistd.h> to FastMalloc.cpp because it's used by TCMalloc_PageHeap::scavengerThread().
+ (It's needed for the functionality of TCmalloc.)
+
+ Add TCSystemAlloc.cpp to JavaScriptCore.pri if USE_SYSTEM_MALLOC is disabled.
+
+ * JavaScriptCore.pri:
+ * wtf/FastMalloc.cpp:
+ (WTF::sleep):
+ * wtf/FastMalloc.h:
+
+2009-09-30 Gabor Loki <loki@inf.u-szeged.hu>
+
+ Reviewed by George Staikos.
+
+ Defines two pseudo-platforms for ARM and Thumb-2 instruction set.
+ https://bugs.webkit.org/show_bug.cgi?id=29122
+
+ Introduces WTF_PLATFORM_ARM_TRADITIONAL and WTF_PLATFORM_ARM_THUMB2
+ macros on ARM platforms. The PLATFORM(ARM_THUMB2) should be used
+ when Thumb-2 instruction set is the required target. The
+ PLATFORM(ARM_TRADITIONAL) is for generic ARM instruction set. In
+ case where the code is common the PLATFORM(ARM) have to be used.
+
+ Modified by George Wright <gwright@rim.com> to correctly work
+ with the RVCT-defined __TARGET_ARCH_ARM and __TARGET_ARCH_THUMB
+ compiler macros, as well as adding readability changes.
+
+ * wtf/Platform.h:
+
+2009-09-30 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Devirtualise array toString conversion
+
+ Tweak the implementation of Array.prototype.toString to have a fast path
+ when acting on a true JSArray.
+
+ * runtime/ArrayPrototype.cpp:
+ (JSC::arrayProtoFuncToString):
+
+2009-09-30 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
+
+ Reviewed by Geoffrey Garen.
+
+ Buildfix for platforms using JSVALUE32.
+ https://bugs.webkit.org/show_bug.cgi?id=29915
+
+ After http://trac.webkit.org/changeset/48905 the build broke in JSVALUE32 case.
+ Also removed unreachable code.
+
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_add):
+ - Declaration of "OperandTypes types" moved before first use.
+ - Typos fixed: dst modified to result, regT2 added.
+ - Unreachable code removed.
+ (JSC::JIT::emitSlow_op_add):
+ - Missing declaration of "OperandTypes types" added.
+
+2009-09-30 Janne Koskinen <janne.p.koskinen@digia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Reduce heap size on Symbian from 64MB to 8MB.
+
+ This is not a perfect fix, it requires more fine tuning.
+ But this makes it possible again to debug in the emulator,
+ which is more important in order to be able to fix other
+ run-time issues.
+
+ * runtime/Collector.h:
+
+2009-09-30 Janne Koskinen <janne.p.koskinen@digia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Fix CRASH() macro for Symbian build.
+
+ * wtf/Assertions.h: Added missing }
+
+2009-09-29 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Inlined a few math operations.
+
+ ~1% SunSpider speedup.
+
+ * jit/JIT.h:
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::compileBinaryArithOpSlowCase):
+ (JSC::JIT::emitSlow_op_add):
+ (JSC::JIT::emitSlow_op_mul):
+ (JSC::JIT::emit_op_sub):
+ (JSC::JIT::emitSlow_op_sub): Don't take a stub call when operating on
+ a constant int and a double.
+
+2009-09-28 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Tidy up codeblock sampler
+ https://bugs.webkit.org/show_bug.cgi?id=29836
+
+ Some rather simple refactoring of codeblock sampler so that
+ it's easier for us to use it to find problems in non-jsc
+ environments
+
+ * JavaScriptCore.exp:
+ * bytecode/SamplingTool.h:
+ * debugger/Debugger.cpp:
+ (JSC::evaluateInGlobalCallFrame):
+ * debugger/DebuggerCallFrame.cpp:
+ (JSC::DebuggerCallFrame::evaluate):
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::Interpreter):
+ (JSC::Interpreter::execute):
+ (JSC::Interpreter::privateExecute):
+ (JSC::Interpreter::enableSampler):
+ (JSC::Interpreter::dumpSampleData):
+ (JSC::Interpreter::startSampling):
+ (JSC::Interpreter::stopSampling):
+ * interpreter/Interpreter.h:
+ (JSC::Interpreter::sampler):
+ * jit/JIT.h:
+ * jsc.cpp:
+ (runWithScripts):
+ * runtime/Completion.cpp:
+ (JSC::checkSyntax):
+ (JSC::evaluate):
+ * runtime/Executable.h:
+ (JSC::EvalExecutable::EvalExecutable):
+ (JSC::ProgramExecutable::create):
+ (JSC::ProgramExecutable::ProgramExecutable):
+ * runtime/JSGlobalData.cpp:
+ (JSC::JSGlobalData::startSampling):
+ (JSC::JSGlobalData::stopSampling):
+ (JSC::JSGlobalData::dumpSampleData):
+ * runtime/JSGlobalData.h:
+ * runtime/JSGlobalObjectFunctions.cpp:
+ (JSC::globalFuncEval):
+
+2009-09-29 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Add GYP generated files to svn:ignore
+ https://bugs.webkit.org/show_bug.cgi?id=29895
+
+ The following files are generated by JavaScriptCore's GYP file and should be ignored:
+
+ pcre.mk
+ wtf.scons
+ wtf.mk
+ SConstruct
+ wtf_config.scons
+ wtf_config.mk
+ pcre.scons
+
+ * JavaScriptCore.gyp: Changed property svn:ignore.
+
+2009-09-29 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Standardized an optimization for adding non-numbers.
+
+ SunSpider says maybe a tiny speedup.
+
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_add):
+ (JSC::JIT::emitSlow_op_add):
+
+2009-09-29 Geoffrey Garen <ggaren@apple.com>
+
+ Windows build fix: export a new symbol.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-09-28 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Removed virtual destructor from JSGlobalObjectData to eliminate pointer
+ fix-ups when accessing JSGlobalObject::d.
+
+ Replaced with an explicit destructor function pointer.
+
+ 6% speedup on bench-alloc-nonretained.js.
+
+ * JavaScriptCore.exp:
+ * runtime/JSGlobalObject.cpp:
+ (JSC::JSGlobalObject::~JSGlobalObject):
+ (JSC::JSGlobalObject::destroyJSGlobalObjectData):
+ * runtime/JSGlobalObject.h:
+ (JSC::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData):
+ (JSC::JSGlobalObject::JSGlobalObject):
+
+2009-09-29 Janne Koskinen <janne.p.koskinen@digia.com>
+
+ Reviewed by David Kilzer.
+
+ [Qt] Assert messages prints visible in Symbian
+ https://bugs.webkit.org/show_bug.cgi?id=29808
+
+ Asserts use vprintf to print the messages to stderr.
+ In Symbian Open C it is not possible to see stderr so
+ I routed the messages to stdout instead.
+
+ * wtf/Assertions.cpp:
+
+2009-09-29 Janne Koskinen <janne.p.koskinen@digia.com>
+
+ Reviewed by Darin Adler.
+
+ [Qt] Symbian CRASH macro implementation
+
+ Added Symbian specific crash macro that
+ stops to crash line if JIT debugging is used.
+ Additional differentiation of access violation
+ (KERN-EXEC 3) and CRASH panic.
+
+ * wtf/Assertions.h:
+
+2009-09-28 Mark Rowe <mrowe@apple.com>
+
+ Fix the PowerPC build.
+
+ * JavaScriptCore.exp:
+
+2009-09-28 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ <rdar://problem/7195704> JavaScriptCore fails to mark registers when built for x86_64 using LLVM GCC.
+
+ * runtime/Collector.cpp:
+ (JSC::Heap::markCurrentThreadConservatively): Force jmp_buf to use the appropriate alignment for a pointer
+ to ensure that we correctly interpret the contents of registers during marking.
+
+2009-09-28 Geoffrey Garen <ggaren@apple.com>
+
+ Windows build fix: added new exports.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-09-28 Geoffrey Garen <ggaren@apple.com>
+
+ Windows build fix: removed exports that no longer exist.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-09-28 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Darin Adler.
+
+ NotNullPassRefPtr: smart pointer optimized for passing references that are not null
+ https://bugs.webkit.org/show_bug.cgi?id=29822
+
+ Added NotNullPassRefPtr, and deployed it in all places that initialize
+ JavaScript objects.
+
+ 2.2% speedup on bench-allocate-nonretained.js.
+
+ * API/JSCallbackConstructor.cpp:
+ (JSC::JSCallbackConstructor::JSCallbackConstructor):
+ * API/JSCallbackConstructor.h:
+ * API/JSCallbackObject.h:
+ * API/JSCallbackObjectFunctions.h:
+ (JSC::JSCallbackObject::JSCallbackObject):
+ * JavaScriptCore.exp:
+ * bytecode/CodeBlock.h:
+ (JSC::CodeBlock::addFunctionDecl):
+ (JSC::CodeBlock::addFunctionExpr):
+ * runtime/ArrayConstructor.cpp:
+ (JSC::ArrayConstructor::ArrayConstructor):
+ * runtime/ArrayConstructor.h:
+ * runtime/ArrayPrototype.cpp:
+ (JSC::ArrayPrototype::ArrayPrototype):
+ * runtime/ArrayPrototype.h:
+ * runtime/BooleanConstructor.cpp:
+ (JSC::BooleanConstructor::BooleanConstructor):
+ * runtime/BooleanConstructor.h:
+ * runtime/BooleanObject.cpp:
+ (JSC::BooleanObject::BooleanObject):
+ * runtime/BooleanObject.h:
+ * runtime/BooleanPrototype.cpp:
+ (JSC::BooleanPrototype::BooleanPrototype):
+ * runtime/BooleanPrototype.h:
+ * runtime/DateConstructor.cpp:
+ (JSC::DateConstructor::DateConstructor):
+ * runtime/DateConstructor.h:
+ * runtime/DateInstance.cpp:
+ (JSC::DateInstance::DateInstance):
+ * runtime/DateInstance.h:
+ * runtime/DatePrototype.cpp:
+ (JSC::DatePrototype::DatePrototype):
+ * runtime/DatePrototype.h:
+ * runtime/ErrorConstructor.cpp:
+ (JSC::ErrorConstructor::ErrorConstructor):
+ * runtime/ErrorConstructor.h:
+ * runtime/ErrorInstance.cpp:
+ (JSC::ErrorInstance::ErrorInstance):
+ * runtime/ErrorInstance.h:
+ * runtime/ErrorPrototype.cpp:
+ (JSC::ErrorPrototype::ErrorPrototype):
+ * runtime/ErrorPrototype.h:
+ * runtime/FunctionConstructor.cpp:
+ (JSC::FunctionConstructor::FunctionConstructor):
+ * runtime/FunctionConstructor.h:
+ * runtime/FunctionPrototype.cpp:
+ (JSC::FunctionPrototype::FunctionPrototype):
+ * runtime/FunctionPrototype.h:
+ * runtime/GlobalEvalFunction.cpp:
+ (JSC::GlobalEvalFunction::GlobalEvalFunction):
+ * runtime/GlobalEvalFunction.h:
+ * runtime/InternalFunction.cpp:
+ (JSC::InternalFunction::InternalFunction):
+ * runtime/InternalFunction.h:
+ (JSC::InternalFunction::InternalFunction):
+ * runtime/JSActivation.cpp:
+ (JSC::JSActivation::JSActivation):
+ * runtime/JSActivation.h:
+ (JSC::JSActivation::JSActivationData::JSActivationData):
+ * runtime/JSArray.cpp:
+ (JSC::JSArray::JSArray):
+ * runtime/JSArray.h:
+ * runtime/JSByteArray.cpp:
+ (JSC::JSByteArray::JSByteArray):
+ * runtime/JSByteArray.h:
+ * runtime/JSFunction.cpp:
+ (JSC::JSFunction::JSFunction):
+ * runtime/JSFunction.h:
+ * runtime/JSGlobalObject.h:
+ (JSC::JSGlobalObject::JSGlobalObject):
+ * runtime/JSONObject.h:
+ (JSC::JSONObject::JSONObject):
+ * runtime/JSObject.h:
+ (JSC::JSObject::JSObject):
+ (JSC::JSObject::setStructure):
+ * runtime/JSVariableObject.h:
+ (JSC::JSVariableObject::JSVariableObject):
+ * runtime/JSWrapperObject.h:
+ (JSC::JSWrapperObject::JSWrapperObject):
+ * runtime/MathObject.cpp:
+ (JSC::MathObject::MathObject):
+ * runtime/MathObject.h:
+ * runtime/NativeErrorConstructor.cpp:
+ (JSC::NativeErrorConstructor::NativeErrorConstructor):
+ * runtime/NativeErrorConstructor.h:
+ * runtime/NativeErrorPrototype.cpp:
+ (JSC::NativeErrorPrototype::NativeErrorPrototype):
+ * runtime/NativeErrorPrototype.h:
+ * runtime/NumberConstructor.cpp:
+ (JSC::NumberConstructor::NumberConstructor):
+ * runtime/NumberConstructor.h:
+ * runtime/NumberObject.cpp:
+ (JSC::NumberObject::NumberObject):
+ * runtime/NumberObject.h:
+ * runtime/NumberPrototype.cpp:
+ (JSC::NumberPrototype::NumberPrototype):
+ * runtime/NumberPrototype.h:
+ * runtime/ObjectConstructor.cpp:
+ (JSC::ObjectConstructor::ObjectConstructor):
+ * runtime/ObjectConstructor.h:
+ * runtime/ObjectPrototype.cpp:
+ (JSC::ObjectPrototype::ObjectPrototype):
+ * runtime/ObjectPrototype.h:
+ * runtime/PropertyNameArray.h:
+ (JSC::PropertyNameArrayData::setCachedPrototypeChain):
+ * runtime/PrototypeFunction.cpp:
+ (JSC::PrototypeFunction::PrototypeFunction):
+ * runtime/PrototypeFunction.h:
+ * runtime/RegExpConstructor.cpp:
+ (JSC::RegExpConstructor::RegExpConstructor):
+ * runtime/RegExpConstructor.h:
+ * runtime/RegExpObject.cpp:
+ (JSC::RegExpObject::RegExpObject):
+ * runtime/RegExpObject.h:
+ (JSC::RegExpObject::RegExpObjectData::RegExpObjectData):
+ * runtime/RegExpPrototype.cpp:
+ (JSC::RegExpPrototype::RegExpPrototype):
+ * runtime/RegExpPrototype.h:
+ * runtime/StringConstructor.cpp:
+ (JSC::StringConstructor::StringConstructor):
+ * runtime/StringConstructor.h:
+ * runtime/StringObject.cpp:
+ (JSC::StringObject::StringObject):
+ * runtime/StringObject.h:
+ * runtime/StringObjectThatMasqueradesAsUndefined.h:
+ (JSC::StringObjectThatMasqueradesAsUndefined::StringObjectThatMasqueradesAsUndefined):
+ * runtime/StringPrototype.cpp:
+ (JSC::StringPrototype::StringPrototype):
+ * runtime/StringPrototype.h:
+ * wtf/PassRefPtr.h:
+ (WTF::NotNullPassRefPtr::NotNullPassRefPtr):
+ (WTF::NotNullPassRefPtr::~NotNullPassRefPtr):
+ (WTF::NotNullPassRefPtr::get):
+ (WTF::NotNullPassRefPtr::clear):
+ (WTF::NotNullPassRefPtr::releaseRef):
+ (WTF::NotNullPassRefPtr::operator*):
+ (WTF::NotNullPassRefPtr::operator->):
+ (WTF::NotNullPassRefPtr::operator!):
+ (WTF::NotNullPassRefPtr::operator UnspecifiedBoolType):
+ * wtf/RefPtr.h:
+ (WTF::RefPtr::RefPtr):
+ (WTF::operator==):
+
+2009-09-28 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Hard dependency on SSE2 instruction set with JIT
+ https://bugs.webkit.org/show_bug.cgi?id=29779
+
+ Add floating point support checks to op_jfalse and op_jtrue, and
+ fix the logic for the slow case of op_add
+
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emitSlow_op_add):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_jfalse):
+ (JSC::JIT::emit_op_jtrue):
+
+2009-09-28 Yaar Schnitman <yaar@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Chromium port - recognize we are being built independently
+ of chromium and look for dependencies under webkit/chromium rather
+ than chromium/src.
+
+ https://bugs.webkit.org/show_bug.cgi?id=29722
+
+ * JavaScriptCore.gyp/JavaScriptCore.gyp:
+
+2009-09-28 Jakub Wieczorek <faw217@gmail.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Implement XSLT support with QtXmlPatterns.
+ https://bugs.webkit.org/show_bug.cgi?id=28303
+
+ * wtf/Platform.h: Add a WTF_USE_QXMLQUERY #define.
+
+2009-09-28 Gabor Loki <loki@inf.u-szeged.hu>
+
+ Reviewed by Simon Hausmann.
+
+ Remove __clear_cache which is an internal function of GCC
+ https://bugs.webkit.org/show_bug.cgi?id=28886
+
+ Although __clear_cache is exported from GCC, this is an internal
+ function. GCC makes no promises about it.
+
+ * jit/ExecutableAllocator.h:
+ (JSC::ExecutableAllocator::cacheFlush):
+
+2009-09-28 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ Fix an absolute path to somewhere in Oliver's machine to a relative path
+ for derived JSONObject.lut.h.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+
+2009-09-28 Joerg Bornemann <joerg.bornemann@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Add ARM version detection for Windows CE.
+
+ * wtf/Platform.h:
+
+2009-09-26 Yongjun Zhang <yongjun.zhang@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Add MarkStackSymbian.cpp to build JavascriptCore for Symbian.
+
+ Re-use Windows shrinkAllocation implementation because Symbian doesn't
+ support releasing part of memory region.
+
+ Use fastMalloc and fastFree to implement allocateStack and releaseStack
+ for Symbian port.
+
+ * JavaScriptCore.pri:
+ * runtime/MarkStack.h:
+ (JSC::MarkStack::MarkStackArray::shrinkAllocation):
+ * runtime/MarkStackSymbian.cpp: Added.
+ (JSC::MarkStack::initializePagesize):
+ (JSC::MarkStack::allocateStack):
+ (JSC::MarkStack::releaseStack):
+
+2009-09-25 Gabor Loki <loki@inf.u-szeged.hu>
+
+ Reviewed by Gavin Barraclough.
+
+ Fix unaligned data access in YARR_JIT on ARMv5 and below.
+ https://bugs.webkit.org/show_bug.cgi?id=29695
+
+ On ARMv5 and below all data access should be naturally aligned.
+ In the YARR_JIT there is a case when character pairs are
+ loaded from the input string, but this data access is not
+ naturally aligned. This fix introduces load32WithUnalignedHalfWords
+ and branch32WithUnalignedHalfWords functions which contain
+ naturally aligned memory loads - half word loads - on ARMv5 and below.
+
+ * assembler/MacroAssemblerARM.cpp:
+ (JSC::MacroAssemblerARM::load32WithUnalignedHalfWords):
+ * assembler/MacroAssemblerARM.h:
+ (JSC::MacroAssemblerARM::load32WithUnalignedHalfWords):
+ (JSC::MacroAssemblerARM::branch32WithUnalignedHalfWords):
+ * assembler/MacroAssemblerARMv7.h:
+ (JSC::MacroAssemblerARMv7::load32WithUnalignedHalfWords):
+ (JSC::MacroAssemblerARMv7::branch32):
+ (JSC::MacroAssemblerARMv7::branch32WithUnalignedHalfWords):
+ * assembler/MacroAssemblerX86Common.h:
+ (JSC::MacroAssemblerX86Common::load32WithUnalignedHalfWords):
+ (JSC::MacroAssemblerX86Common::branch32WithUnalignedHalfWords):
+ * wtf/Platform.h:
+ * yarr/RegexJIT.cpp:
+ (JSC::Yarr::RegexGenerator::generatePatternCharacterPair):
+
+2009-09-25 Jeremy Orlow <jorlow@chromium.org>
+
+ This is breaking Chromium try bots, so I'm counting this as a build fix.
+
+ Add more svn:ignore exceptions. On different platforms, these files are
+ generated with different case for JavaScriptCore. Also there are some
+ wtf project files that get built apparently.
+
+ * JavaScriptCore.gyp: Changed property svn:ignore.
+
+2009-09-25 Ada Chan <adachan@apple.com>
+
+ Build fix.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-09-25 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Inlined some object creation code, including lexicalGlobalObject access
+ https://bugs.webkit.org/show_bug.cgi?id=29750
+
+ SunSpider says 0.5% faster.
+
+ 0.8% speedup on bench-alloc-nonretained.js.
+ 2.5% speedup on v8-splay.js.
+
+ * interpreter/CachedCall.h:
+ (JSC::CachedCall::CachedCall):
+ * interpreter/CallFrame.h:
+ (JSC::ExecState::lexicalGlobalObject):
+ (JSC::ExecState::globalThisValue):
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::dumpRegisters):
+ (JSC::Interpreter::execute):
+ (JSC::Interpreter::privateExecute):
+ * jit/JITStubs.cpp:
+ (JSC::DEFINE_STUB_FUNCTION):
+ * runtime/FunctionConstructor.cpp:
+ (JSC::constructFunction):
+ * runtime/ScopeChain.cpp:
+ (JSC::ScopeChainNode::print):
+ * runtime/ScopeChain.h:
+ (JSC::ScopeChainNode::ScopeChainNode):
+ (JSC::ScopeChainNode::~ScopeChainNode):
+ (JSC::ScopeChainNode::push):
+ (JSC::ScopeChain::ScopeChain):
+ (JSC::ScopeChain::globalObject): Added a globalObject data member to ScopeChainNode.
+ Replaced accessor function for globalObject() with data member. Replaced
+ globalThisObject() accessor with direct access to globalThis, to match.
+
+ * runtime/JSGlobalObject.cpp:
+ (JSC::JSGlobalObject::init):
+ * runtime/JSGlobalObject.h: Inlined array and object construction.
+
+2009-09-25 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Add ARM version detection rules for Symbian
+ https://bugs.webkit.org/show_bug.cgi?id=29715
+
+ * wtf/Platform.h:
+
+2009-09-24 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Mark "Do It!" Rowe.
+
+ Some GCC versions don't like C++-style comments in preprocessor
+ directives, change to C-style to shut them up.
+
+ * wtf/Platform.h:
+
+2009-09-24 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Division is needlessly slow in 64-bit
+ https://bugs.webkit.org/show_bug.cgi?id=29723
+
+ Add codegen for op_div on x86-64
+
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompileMainPass):
+ (JSC::JIT::privateCompileSlowCases):
+ * jit/JIT.h:
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::compileBinaryArithOpSlowCase):
+ (JSC::JIT::emit_op_div):
+ (JSC::JIT::emitSlow_op_div):
+ * jit/JITInlineMethods.h:
+ (JSC::JIT::isOperandConstantImmediateDouble):
+ (JSC::JIT::addressFor):
+ (JSC::JIT::emitLoadDouble):
+ (JSC::JIT::emitLoadInt32ToDouble):
+ (JSC::JIT::emitJumpSlowCaseIfNotImmediateNumber):
+
+2009-09-24 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Add GYP generated files to svn:ignore
+ https://bugs.webkit.org/show_bug.cgi?id=29724
+
+ Adding the following files to the svn:ignore list (all in the
+ JavaScriptCore/JavaScriptCore.gyp directory)
+
+ JavaScriptCore.xcodeproj
+ JavaScriptCore.sln
+ JavaScriptCore.vcproj
+ JavaScriptCore_Debug.rules
+ JavaScriptCore_Release.rules
+ JavaScriptCore_Release - no tcmalloc.rules
+ JavaScriptCore_Purify.rules
+ JavaScriptCore.mk
+ JavaScriptCore_Debug_rules.mk
+ JavaScriptCore_Release_rules.mk
+ JavaScriptCore_Release - no tcmalloc_rules.mk
+ JavaScriptCore_Purify_rules.mk
+ JavaScriptCore.scons
+ JavaScriptCore_main.scons
+
+ * JavaScriptCore.gyp: Changed property svn:ignore.
+
+2009-09-24 Yong Li <yong.li@torchmobile.com>
+
+ Reviewed by Adam Barth.
+
+ Replace platform-dependent code with WTF::currentTime()
+ https://bugs.webkit.org/show_bug.cgi?id=29148
+
+ * jsc.cpp:
+ (StopWatch::start):
+ (StopWatch::stop):
+ (StopWatch::getElapsedMS):
+ * runtime/TimeoutChecker.cpp:
+ (JSC::getCPUTime):
+
+2009-09-24 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/7215058> FastMalloc scavenging thread should be named
+
+ * wtf/FastMalloc.cpp:
+ (WTF::TCMalloc_PageHeap::scavengerThread): Set the thread name.
+ * wtf/Platform.h: Move the knowledge of whether pthread_setname_np exists to here as HAVE(PTHREAD_SETNAME_NP).
+ * wtf/ThreadingPthreads.cpp:
+ (WTF::setThreadNameInternal): Use HAVE(PTHREAD_SETNAME_NP).
+
+2009-09-24 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Renamed clear to removeAll, as suggested by Darin Adler.
+
+ * wtf/HashCountedSet.h:
+ (WTF::::removeAll):
+
+2009-09-24 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Fix FastMalloc to build with assertions enabled.
+
+ * wtf/FastMalloc.cpp:
+ (WTF::TCMalloc_Central_FreeList::ReleaseToSpans):
+ * wtf/TCSpinLock.h:
+ (TCMalloc_SpinLock::IsHeld):
+
+2009-09-24 Geoffrey Garen <ggaren@apple.com>
+
+ Suggested by Darin Adler.
+
+ Removed some unnecessary parameter names.
+
+ * wtf/HashCountedSet.h:
+
+2009-09-24 Janne Koskinen <janne.p.koskinen@digia.com>
+
+ Reviewed by Simon Hausmann.
+
+ On Windows JSChar is typedef'ed to wchar_t.
+
+ When building with WINSCW for Symbian we need to do the
+ same typedef.
+
+ * API/JSStringRef.h:
+
+2009-09-23 Geoffrey Garen <ggaren@apple.com>
+
+ A piece of my last patch that I forgot.
+
+ * wtf/HashCountedSet.h:
+ (WTF::::clear): Added HashCountedSet::clear.
+
+2009-09-24 Gabor Loki <loki@inf.u-szeged.hu>
+
+ Reviewed by Gavin Barraclough.
+
+ Avoid __clear_cache built-in function if DISABLE_BUILTIN_CLEAR_CACHE define is set
+ https://bugs.webkit.org/show_bug.cgi?id=28886
+
+ There are some GCC packages (for example GCC-2006q3 from CodeSourcery)
+ which contain __clear_cache built-in function only for C while the C++
+ version of __clear_cache is missing on ARM architectures.
+
+ Fixed a small bug in the inline assembly of cacheFlush function on
+ ARM_TRADITIONAL.
+
+ * jit/ExecutableAllocator.h:
+ (JSC::ExecutableAllocator::cacheFlush):
+
+2009-09-23 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Added the ability to swap vectors with inline capacities, so you can
+ store a vector with inline capacity in a hash table.
+
+ * wtf/Vector.h:
+ (WTF::swap):
+ (WTF::VectorBuffer::swap):
+
+2009-09-23 David Kilzer <ddkilzer@apple.com>
+
+ Move definition of USE(PLUGIN_HOST_PROCESS) from WebKitPrefix.h to Platform.h
+
+ Reviewed by Mark Rowe.
+
+ * wtf/Platform.h: Define WTF_USE_PLUGIN_HOST_PROCESS to 1 when
+ building on 64-bit SnowLeopard. Define to 0 elsewhere.
+
+2009-09-22 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Code sampling builds are broken.
+ https://bugs.webkit.org/show_bug.cgi?id=29662
+
+ Fix build.
+
+ * bytecode/EvalCodeCache.h:
+ (JSC::EvalCodeCache::get):
+ * bytecode/SamplingTool.cpp:
+ (JSC::ScriptSampleRecord::sample):
+ (JSC::SamplingTool::doRun):
+ (JSC::SamplingTool::notifyOfScope):
+ (JSC::compareScriptSampleRecords):
+ (JSC::SamplingTool::dump):
+ * bytecode/SamplingTool.h:
+ (JSC::ScriptSampleRecord::ScriptSampleRecord):
+ (JSC::ScriptSampleRecord::~ScriptSampleRecord):
+ (JSC::SamplingTool::SamplingTool):
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::BytecodeGenerator):
+ (JSC::BytecodeGenerator::emitNewFunction):
+ (JSC::BytecodeGenerator::emitNewFunctionExpression):
+ * bytecompiler/BytecodeGenerator.h:
+ (JSC::BytecodeGenerator::makeFunction):
+ * debugger/Debugger.cpp:
+ (JSC::evaluateInGlobalCallFrame):
+ * debugger/DebuggerCallFrame.cpp:
+ (JSC::DebuggerCallFrame::evaluate):
+ * parser/Nodes.cpp:
+ (JSC::ScopeNode::ScopeNode):
+ * runtime/Completion.cpp:
+ (JSC::checkSyntax):
+ (JSC::evaluate):
+ * runtime/Executable.cpp:
+ (JSC::FunctionExecutable::fromGlobalCode):
+ * runtime/Executable.h:
+ (JSC::ScriptExecutable::ScriptExecutable):
+ (JSC::EvalExecutable::EvalExecutable):
+ (JSC::EvalExecutable::create):
+ (JSC::ProgramExecutable::ProgramExecutable):
+ (JSC::FunctionExecutable::create):
+ (JSC::FunctionExecutable::FunctionExecutable):
+ * runtime/JSGlobalObjectFunctions.cpp:
+ (JSC::globalFuncEval):
+
+2009-09-22 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ * wtf/Forward.h: Added PassOwnPtr.
+
+2009-09-22 Yaar Schnitman <yaar@chromium.org>
+
+ Reviewed by David Levin.
+
+ Ported chromium.org's javascriptcore.gyp for the webkit chromium port.
+
+ https://bugs.webkit.org/show_bug.cgi?id=29617
+
+ * JavaScriptCore.gyp/JavaScriptCore.gyp: Added.
+
+2009-09-22 Thiago Macieira <thiago.macieira@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Fix compilation with WINSCW: no varargs macros
+
+ Disable variadic arguments for WINSCW just like we do
+ for MSVC7.
+
+ * wtf/Assertions.h:
+
+2009-09-22 Kent Hansen <khansen@trolltech.com>
+
+ Reviewed by Simon Hausmann.
+
+ Disable variadic macros on MSVC7.
+
+ This was originally added in r26589 but not extended
+ when LOG_DISABLED/ASSERT_DISABLED was introduced.
+
+ * wtf/Assertions.h:
+
+2009-09-22 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Unreviewed build fix for Windows CE < 5
+
+ Define WINCEBASIC to disable the IsDebuggerPresent() code in
+ wtf/Assertions.cpp.
+
+ * JavaScriptCore.pri:
+
+2009-09-22 Joerg Bornemann <joerg.bornemann@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Fix major memory leak in JavaScriptCore RegisterFile on Windows CE
+
+ https://bugs.webkit.org/show_bug.cgi?id=29367
+
+ On Widows CE we must decommit all committed pages before we release
+ them. See VirtualFree documentation.
+ Desktop Windows behaves much smoother in this situation.
+
+ * interpreter/RegisterFile.cpp:
+ (JSC::RegisterFile::~RegisterFile):
+
+2009-09-21 Greg Bolsinga <bolsinga@apple.com>
+
+ Reviewed by Simon Fraser & Sam Weinig.
+
+ Add ENABLE(ORIENTATION_EVENTS)
+ https://bugs.webkit.org/show_bug.cgi?id=29508
+
+ * wtf/Platform.h: Also sort PLATFORM(IPHONE) #defines.
+
+2009-09-21 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ [Fix] SourceCode's uninitialized member
+
+ Potential source of crashes and bugs was fixed. Default constructor
+ didn't initialized m_provider member.
+
+ https://bugs.webkit.org/show_bug.cgi?id=29364
+
+ * parser/SourceCode.h:
+ (JSC::SourceCode::SourceCode):
+
+2009-09-21 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ REGRESSION (r48582): Crash in StructureStubInfo::initPutByIdTransition when reloading trac.webkit.org
+ https://bugs.webkit.org/show_bug.cgi?id=29599
+
+ It is unsafe to attempt to cache new property transitions on
+ dictionaries of any type.
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::tryCachePutByID):
+ * jit/JITStubs.cpp:
+ (JSC::JITThunks::tryCachePutByID):
+
+2009-09-21 Oliver Hunt <oliver@apple.com>
+
+ RS=Maciej Stachowiak.
+
+ Re-land SNES fix with corrected assertion.
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::resolveGlobal):
+ (JSC::Interpreter::tryCachePutByID):
+ (JSC::Interpreter::tryCacheGetByID):
+ * jit/JITStubs.cpp:
+ (JSC::JITThunks::tryCachePutByID):
+ (JSC::JITThunks::tryCacheGetByID):
+ (JSC::DEFINE_STUB_FUNCTION):
+ * runtime/BatchedTransitionOptimizer.h:
+ (JSC::BatchedTransitionOptimizer::BatchedTransitionOptimizer):
+ * runtime/JSObject.cpp:
+ (JSC::JSObject::removeDirect):
+ * runtime/Structure.cpp:
+ (JSC::Structure::Structure):
+ (JSC::Structure::getEnumerablePropertyNames):
+ (JSC::Structure::despecifyDictionaryFunction):
+ (JSC::Structure::addPropertyTransitionToExistingStructure):
+ (JSC::Structure::addPropertyTransition):
+ (JSC::Structure::removePropertyTransition):
+ (JSC::Structure::toDictionaryTransition):
+ (JSC::Structure::toCacheableDictionaryTransition):
+ (JSC::Structure::toUncacheableDictionaryTransition):
+ (JSC::Structure::fromDictionaryTransition):
+ (JSC::Structure::removePropertyWithoutTransition):
+ * runtime/Structure.h:
+ (JSC::Structure::isDictionary):
+ (JSC::Structure::isUncacheableDictionary):
+ (JSC::Structure::):
+ * runtime/StructureChain.cpp:
+ (JSC::StructureChain::isCacheable):
+
+2009-09-21 Adam Roben <aroben@apple.com>
+
+ Revert r48573, as it caused many assertion failures
+
+ * interpreter/Interpreter.cpp:
+ * jit/JITStubs.cpp:
+ * runtime/BatchedTransitionOptimizer.h:
+ * runtime/JSObject.cpp:
+ * runtime/Structure.cpp:
+ * runtime/Structure.h:
+ * runtime/StructureChain.cpp:
+
+2009-09-21 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Unreviewed make dist build fix. Missing files.
+
+ * GNUmakefile.am:
+
+2009-09-19 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam 'Cabin Boy' Weinig.
+
+ Fix stack alignment with ARM THUMB2 JIT.
+ https://bugs.webkit.org/show_bug.cgi?id=29526
+
+ Stack is currently being decremented by 0x3c, bump this to 0x40 to make this a
+ multiple of 16 bytes.
+
+ * jit/JITStubs.cpp:
+ (JSC::JITThunks::JITThunks):
+ * jit/JITStubs.h:
+
+2009-09-20 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ SNES is too slow
+ https://bugs.webkit.org/show_bug.cgi?id=29534
+
+ The problem was that the emulator used multiple classes with
+ more properties than our dictionary cutoff allowed, this resulted
+ in more or less all critical logic inside the emulator requiring
+ uncached property access.
+
+ Rather than simply bumping the dictionary cutoff, this patch
+ recognises that there are two ways to create a "dictionary"
+ structure. Either by adding a large number of properties, or
+ by removing a property. In the case of adding properties we
+ know all the existing properties will maintain their existing
+ offsets, so we could cache access to those properties, if we
+ know they won't be removed.
+
+ To make this possible, this patch adds the logic required to
+ distinguish a dictionary created by addition from one created
+ by removal. With this logic in place we can now cache access
+ to objects with large numbers of properties.
+
+ SNES performance improved by more than 6x.
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::resolveGlobal):
+ (JSC::Interpreter::tryCachePutByID):
+ (JSC::Interpreter::tryCacheGetByID):
+ * jit/JITStubs.cpp:
+ (JSC::JITThunks::tryCachePutByID):
+ (JSC::JITThunks::tryCacheGetByID):
+ (JSC::DEFINE_STUB_FUNCTION):
+ * runtime/BatchedTransitionOptimizer.h:
+ (JSC::BatchedTransitionOptimizer::BatchedTransitionOptimizer):
+ * runtime/JSObject.cpp:
+ (JSC::JSObject::removeDirect):
+ * runtime/Structure.cpp:
+ (JSC::Structure::Structure):
+ (JSC::Structure::getEnumerablePropertyNames):
+ (JSC::Structure::despecifyDictionaryFunction):
+ (JSC::Structure::addPropertyTransitionToExistingStructure):
+ (JSC::Structure::addPropertyTransition):
+ (JSC::Structure::removePropertyTransition):
+ (JSC::Structure::toDictionaryTransition):
+ (JSC::Structure::toCacheableDictionaryTransition):
+ (JSC::Structure::toUncacheableDictionaryTransition):
+ (JSC::Structure::fromDictionaryTransition):
+ (JSC::Structure::removePropertyWithoutTransition):
+ * runtime/Structure.h:
+ (JSC::Structure::isDictionary):
+ (JSC::Structure::isUncacheableDictionary):
+ (JSC::Structure::):
+ * runtime/StructureChain.cpp:
+ (JSC::StructureChain::isCacheable):
+
+2009-09-19 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Implement ES5 Object.create function
+ https://bugs.webkit.org/show_bug.cgi?id=29524
+
+ Implement Object.create. Very simple patch, effectively Object.defineProperties
+ only creating the target object itself.
+
+ * runtime/CommonIdentifiers.h:
+ * runtime/ObjectConstructor.cpp:
+ (JSC::ObjectConstructor::ObjectConstructor):
+ (JSC::objectConstructorCreate):
+
+2009-09-19 Dan Bernstein <mitz@apple.com>
+
+ Fix clean debug builds.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-09-19 Joerg Bornemann <joerg.bornemann@nokia.com>
+
+ Reviewed by George Staikos.
+
+ QtWebKit Windows CE compile fix
+
+ https://bugs.webkit.org/show_bug.cgi?id=29379
+
+ There is no _aligned_alloc or _aligned_free on Windows CE.
+ We just use the Windows code that was there before and use VirtualAlloc.
+ But that also means that the BLOCK_SIZE must be 64K as this function
+ allocates on 64K boundaries.
+
+ * runtime/Collector.cpp:
+ (JSC::Heap::allocateBlock):
+ (JSC::Heap::freeBlock):
+ * runtime/Collector.h:
+
+2009-09-19 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement ES5 Object.defineProperties function
+ https://bugs.webkit.org/show_bug.cgi?id=29522
+
+ Implement Object.defineProperties. Fairly simple patch, simply makes use of
+ existing functionality used for defineProperty.
+
+ * runtime/CommonIdentifiers.h:
+ * runtime/ObjectConstructor.cpp:
+ (JSC::ObjectConstructor::ObjectConstructor):
+ (JSC::defineProperties):
+ (JSC::objectConstructorDefineProperties):
+
+2009-09-19 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by NOBODY (Build fix).
+
+ Windows build fix part2
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-09-19 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by NOBODY (Buildfix).
+
+ Windows build fix part 1.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-09-18 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Implement ES5 Object.defineProperty function
+ https://bugs.webkit.org/show_bug.cgi?id=29503
+
+ Implement Object.defineProperty. This requires adding the API to
+ ObjectConstructor, along with a helper function that implements the
+ ES5 internal [[ToPropertyDescriptor]] function. It then adds
+ JSObject::defineOwnProperty that implements the appropriate ES5 semantics.
+ Currently defineOwnProperty uses a delete followed by a put to redefine
+ attributes of a property, clearly this is less efficient than it could be
+ but we can improve this if it needs to be possible in future.
+
+ * JavaScriptCore.exp:
+ * debugger/DebuggerActivation.cpp:
+ (JSC::DebuggerActivation::defineGetter):
+ (JSC::DebuggerActivation::defineSetter):
+ * debugger/DebuggerActivation.h:
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+ * jit/JITStubs.cpp:
+ Update defineGetter/Setter calls
+ * runtime/CommonIdentifiers.h:
+ * runtime/JSArray.cpp:
+ (JSC::JSArray::getOwnPropertySlot):
+ * runtime/JSGlobalObject.cpp:
+ (JSC::JSGlobalObject::defineGetter):
+ (JSC::JSGlobalObject::defineSetter):
+ * runtime/JSGlobalObject.h:
+ * runtime/JSObject.cpp:
+ (JSC::JSObject::defineGetter):
+ (JSC::JSObject::defineSetter):
+ (JSC::putDescriptor):
+ (JSC::JSObject::defineOwnProperty):
+ * runtime/JSObject.h:
+ * runtime/ObjectConstructor.cpp:
+ (JSC::ObjectConstructor::ObjectConstructor):
+ (JSC::objectConstructorGetOwnPropertyDescriptor):
+ (JSC::toPropertyDescriptor):
+ (JSC::objectConstructorDefineProperty):
+ * runtime/ObjectPrototype.cpp:
+ (JSC::objectProtoFuncDefineGetter):
+ (JSC::objectProtoFuncDefineSetter):
+ * runtime/PropertyDescriptor.cpp:
+ (JSC::PropertyDescriptor::writable):
+ (JSC::PropertyDescriptor::enumerable):
+ (JSC::PropertyDescriptor::configurable):
+ (JSC::PropertyDescriptor::isDataDescriptor):
+ (JSC::PropertyDescriptor::isGenericDescriptor):
+ (JSC::PropertyDescriptor::isAccessorDescriptor):
+ (JSC::PropertyDescriptor::getter):
+ (JSC::PropertyDescriptor::setter):
+ (JSC::PropertyDescriptor::setDescriptor):
+ (JSC::PropertyDescriptor::setAccessorDescriptor):
+ (JSC::PropertyDescriptor::setWritable):
+ (JSC::PropertyDescriptor::setEnumerable):
+ (JSC::PropertyDescriptor::setConfigurable):
+ (JSC::PropertyDescriptor::setSetter):
+ (JSC::PropertyDescriptor::setGetter):
+ (JSC::PropertyDescriptor::equalTo):
+ (JSC::PropertyDescriptor::attributesEqual):
+ (JSC::PropertyDescriptor::attributesWithOverride):
+ * runtime/PropertyDescriptor.h:
+ (JSC::PropertyDescriptor::PropertyDescriptor):
+ (JSC::PropertyDescriptor::value):
+ (JSC::PropertyDescriptor::setValue):
+ (JSC::PropertyDescriptor::isEmpty):
+ (JSC::PropertyDescriptor::writablePresent):
+ (JSC::PropertyDescriptor::enumerablePresent):
+ (JSC::PropertyDescriptor::configurablePresent):
+ (JSC::PropertyDescriptor::setterPresent):
+ (JSC::PropertyDescriptor::getterPresent):
+ (JSC::PropertyDescriptor::operator==):
+ (JSC::PropertyDescriptor::):
+
+2009-09-18 Gabor Loki <loki@inf.u-szeged.hu>
+
+ Reviewed by Gavin Barraclough.
+
+ Build fix to enable ARM_THUMB2 on Linux
+ https://bugs.webkit.org/show_bug.cgi?id=
+
+ * jit/ExecutableAllocator.h:
+ (JSC::ExecutableAllocator::cacheFlush):
+ * jit/JITStubs.cpp:
+ * wtf/Platform.h:
+
+2009-09-18 Gabor Loki <loki@inf.u-szeged.hu>
+
+ Reviewed by Gavin Barraclough.
+
+ Defines two pseudo-platforms for ARM and Thumb-2 instruction set.
+ https://bugs.webkit.org/show_bug.cgi?id=29122
+
+ Introduces WTF_PLATFORM_ARM_TRADITIONAL and WTF_PLATFORM_ARM_THUMB2
+ macros on ARM platforms. The PLATFORM(ARM_THUMB2) should be used
+ when Thumb-2 instruction set is the required target. The
+ PLATFORM(ARM_TRADITIONAL) is for generic ARM instruction set. In
+ case where the code is common the PLATFORM(ARM) have to be used.
+
+ * assembler/ARMAssembler.cpp:
+ * assembler/ARMAssembler.h:
+ * assembler/ARMv7Assembler.h:
+ * assembler/MacroAssembler.h:
+ * assembler/MacroAssemblerARM.cpp:
+ * assembler/MacroAssemblerARM.h:
+ * assembler/MacroAssemblerCodeRef.h:
+ (JSC::MacroAssemblerCodePtr::MacroAssemblerCodePtr):
+ * jit/ExecutableAllocator.h:
+ * jit/JIT.h:
+ * jit/JITInlineMethods.h:
+ (JSC::JIT::beginUninterruptedSequence):
+ (JSC::JIT::preserveReturnAddressAfterCall):
+ (JSC::JIT::restoreReturnAddressBeforeReturn):
+ (JSC::JIT::restoreArgumentReference):
+ (JSC::JIT::restoreArgumentReferenceForTrampoline):
+ * jit/JITOpcodes.cpp:
+ * jit/JITStubs.cpp:
+ (JSC::JITThunks::JITThunks):
+ * jit/JITStubs.h:
+ * wtf/Platform.h:
+ * yarr/RegexJIT.cpp:
+ (JSC::Yarr::RegexGenerator::generateEnter):
+
+2009-09-18 Joerg Bornemann <joerg.bornemann@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Fix the Qt/Windows CE build.
+
+ * JavaScriptCore.pri: Build the ce_time.cpp functions from
+ within Qt externally.
+ * wtf/DateMath.cpp: Removed unnecessary Qt #ifdef, for the
+ Qt build these functions are no external, too.
+
+2009-09-17 Janne Koskinen <janne.p.koskinen@digia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Symbian/WINSCW build fox.
+
+ Repeat Q_OS_WIN wchar_t hack for WINSCW, similar to
+ revision 24774.
+
+ WINSCW defines wchar_t, thus UChar has to be wchar_t
+
+ * wtf/unicode/qt4/UnicodeQt4.h:
+
+2009-09-17 Janne Koskinen <janne.p.koskinen@digia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Symbian/WINSCW build fix.
+
+ https://bugs.webkit.org/show_bug.cgi?id=29186
+
+ WINSCW Template specialisation name in declaration must the be the same as in implementation.
+
+ * runtime/LiteralParser.h:
+
+2009-09-15 Norbert Leser <norbert.leser@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27060
+
+ Symbian compiler for emulator target (WINSCW) fails with
+ "illegal operand" for m_attributesInPrevious in structure.ccp
+ (when calling make_pair functions).
+ This error is apparently due to the compiler not properly
+ resolving the unsigned type of the declared bitfield.
+
+ Initial patch explicitly casted m_attributesInPrevious
+ to unsigned, but since bitfield optimization is not critical for
+ the emulator target, this conditional change in header file
+ appears to be least intrusive.
+
+ * runtime/Structure.h:
+
+2009-09-16 Gabor Loki <loki@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Fix GCC warnings on ARM_THUMB2 platform
+
+ * assembler/ARMv7Assembler.h:
+ (JSC::ARMThumbImmediate::countLeadingZerosPartial):
+ * assembler/MacroAssemblerARMv7.h:
+ (JSC::MacroAssemblerARMv7::branchTruncateDoubleToInt32):
+ (JSC::MacroAssemblerARMv7::moveFixedWidthEncoding):
+
+2009-09-16 Greg Bolsinga <bolsinga@apple.com>
+
+ Add ENABLE(INSPECTOR)
+ https://bugs.webkit.org/show_bug.cgi?id=29260
+
+ Reviewed by David Kilzer.
+
+ * wtf/Platform.h:
+
+2009-09-16 Greg Bolsinga <bolsinga@apple.com>
+
+ Add ENABLE(CONTEXT_MENUS)
+ https://bugs.webkit.org/show_bug.cgi?id=29225
+
+ Reviewed by David Kilzer.
+
+ * wtf/Platform.h:
+
+2009-09-16 Benjamin C Meyer <benjamin.meyer@torchmobile.com>
+
+ Reviewed by Eric Seidel.
+
+ The webkit stdint and stdbool headers exists because
+ the compiler MSVC doesn't include them. The check
+ should not check for PLATFORM(WIN_OS) but for MSVC.
+
+ * os-win32/stdbool.h:
+ * os-win32/stdint.h:
+
+2009-09-16 Greg Bolsinga <bolsinga@apple.com>
+
+ Add ENABLE(DRAG_SUPPORT)
+ https://bugs.webkit.org/show_bug.cgi?id=29233
+
+ Reviewed by David Kilzer.
+
+ * wtf/Platform.h:
+
+2009-09-16 Kevin Ollivier <kevino@theolliviers.com>
+
+ waf build fix after flag was moved to correct place.
+
+ * wscript:
+
+2009-09-16 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Build fix for 64-bit Qt on Mac OS X
+
+ * wtf/Platform.h: Use JSVALUE64 on DARWIN, not only on MAC
+
+2009-09-16 Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix wtf/ThreadSpecific.h under Qt to free thread local objects.
+ https://bugs.webkit.org/show_bug.cgi?id=29295
+
+ This is an important fix when JavaScript workers are in use, since
+ unfreed ThreadGlobalDatas leak a big amount of memory (50-100k each).
+ QThreadStorage calls the destructor of a given object, which is the
+ ThreadSpecific::Data. Unlike pthread, Qt is object oriented, and does
+ not support the calling of a static utility function when the thread
+ is about to close. In this patch we call the ThreadSpecific::destroy()
+ utility function from the destructor of ThreadSpecific::Data. Moreover,
+ since Qt resets all thread local values to 0 before the calling of the
+ appropriate destructors, we set back the pointer to its original value.
+ This is necessary because the get() method of the ThreadSpecific
+ object may be called during the exuction of the destructor.
+
+ * wtf/ThreadSpecific.h:
+ (WTF::ThreadSpecific::Data::~Data):
+ (WTF::::~ThreadSpecific):
+ (WTF::::set):
+ (WTF::::destroy):
+
+2009-09-10 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Allow anonymous storage inside JSObject
+ https://bugs.webkit.org/show_bug.cgi?id=29168
+
+ Add the concept of anonymous slots to Structures so that it is
+ possible to store references to values that need marking in the
+ standard JSObject storage buffer. This allows us to reduce the
+ malloc overhead of some objects (by allowing them to store JS
+ values in the inline storage of the object) and reduce the
+ dependence of custom mark functions (if all an objects children
+ are in the standard object property storage there's no need to
+ mark them manually).
+
+ * JavaScriptCore.exp:
+ * runtime/JSObject.h:
+ (JSC::JSObject::putAnonymousValue):
+ (JSC::JSObject::getAnonymousValue):
+ (JSC::JSObject::addAnonymousSlots):
+ * runtime/JSWrapperObject.h:
+ (JSC::JSWrapperObject::createStructure):
+ (JSC::JSWrapperObject::JSWrapperObject):
+ (JSC::JSWrapperObject::setInternalValue):
+ * runtime/PropertyMapHashTable.h:
+ * runtime/Structure.cpp:
+ (JSC::Structure::~Structure):
+ (JSC::Structure::materializePropertyMap):
+ (JSC::Structure::addAnonymousSlotsTransition):
+ (JSC::Structure::copyPropertyTable):
+ (JSC::Structure::put):
+ (JSC::Structure::rehashPropertyMapHashTable):
+ * runtime/Structure.h:
+ (JSC::Structure::propertyStorageSize):
+ (JSC::StructureTransitionTable::reifySingleTransition):
+ * runtime/StructureTransitionTable.h:
+ (JSC::StructureTransitionTable::TransitionTable::addSlotTransition):
+ (JSC::StructureTransitionTable::TransitionTable::removeSlotTransition):
+ (JSC::StructureTransitionTable::TransitionTable::getSlotTransition):
+ (JSC::StructureTransitionTable::getAnonymousSlotTransition):
+ (JSC::StructureTransitionTable::addAnonymousSlotTransition):
+ (JSC::StructureTransitionTable::removeAnonymousSlotTransition):
+
+2009-09-15 Alex Milowski <alex@milowski.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Added the ENABLE_MATHML define to the features
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2009-09-15 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Build fix for windows.
+
+ After http://trac.webkit.org/changeset/47795 the MinGW build broke,
+ because MinGW has __mingw_aligned_malloc instead of _aligned_malloc.
+
+ * runtime/Collector.cpp:
+ (JSC::Heap::allocateBlock): MinGW case added.
+ (JSC::Heap::freeBlock): MinGW case added.
+
+2009-09-15 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Build fix for Windows/MinGW
+
+ https://bugs.webkit.org/show_bug.cgi?id=29268
+
+ * wtf/Platform.h: JSVALUE32_64 temporarily disabled on PLATFORM(WIN_OS) with COMPILER(MINGW)
+
+2009-09-14 Gabor Loki <loki@inf.u-szeged.hu>
+
+ Reviewed by Gavin Barraclough.
+
+ Detect VFP at runtime in generic ARM port on Linux platform.
+ https://bugs.webkit.org/show_bug.cgi?id=29076
+
+ * JavaScriptCore.pri:
+ * assembler/MacroAssemblerARM.cpp: Added.
+ (JSC::isVFPPresent):
+ * assembler/MacroAssemblerARM.h:
+ (JSC::MacroAssemblerARM::supportsFloatingPoint):
+
+2009-09-14 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Build fix for windows build.
+
+ * JavaScriptCore.pri: Correct a logic error.
+ * pcre/dftables: Add missing paranthesis for tmpdir function.
+
+2009-09-12 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by NOBODY (Build fix).
+
+ Build fix for windows exports (again).
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-09-12 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by NOBODY (Build fix).
+
+ Build fix for windows exports.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-09-12 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by NOBODY (Build fix).
+
+ Correct fix for non-allinonefile builds
+
+ * runtime/ObjectConstructor.cpp:
+
+2009-09-12 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by NOBODY (Build fix).
+
+ Fix non-allinonefile builds
+
+ * runtime/ObjectConstructor.cpp:
+
+2009-09-12 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ [ES5] Implement Object.keys
+ https://bugs.webkit.org/show_bug.cgi?id=29170
+
+ This patch basically requires two separate steps, the first is to split getPropertyNames
+ into two functions -- getOwnPropertyNames and getPropertyNames, basically making them behave
+ in the same way as getOwnPropertySlot and getPropertySlot. In essence getOwnPropertyNames
+ produces the list of properties on an object excluding its prototype chain and getPropertyNames
+ just iterates the the object and its prototype chain calling getOwnPropertyNames at each level.
+
+ * API/JSCallbackObject.h:
+ * API/JSCallbackObjectFunctions.h:
+ (JSC::::getOwnPropertyNames):
+ * JavaScriptCore.exp:
+ * debugger/DebuggerActivation.cpp:
+ (JSC::DebuggerActivation::getOwnPropertyNames):
+ * debugger/DebuggerActivation.h:
+ * runtime/CommonIdentifiers.h:
+ * runtime/JSArray.cpp:
+ (JSC::JSArray::getOwnPropertyNames):
+ * runtime/JSArray.h:
+ * runtime/JSByteArray.cpp:
+ (JSC::JSByteArray::getOwnPropertyNames):
+ * runtime/JSByteArray.h:
+ * runtime/JSNotAnObject.cpp:
+ (JSC::JSNotAnObject::getOwnPropertyNames):
+ * runtime/JSNotAnObject.h:
+ * runtime/JSObject.cpp:
+ (JSC::JSObject::getOwnPropertyNames):
+ * runtime/JSObject.h:
+ * runtime/JSVariableObject.cpp:
+ (JSC::JSVariableObject::getOwnPropertyNames):
+ * runtime/JSVariableObject.h:
+ * runtime/ObjectConstructor.cpp:
+ (JSC::ObjectConstructor::ObjectConstructor):
+ (JSC::objectConstructorKeys):
+ * runtime/RegExpMatchesArray.h:
+ (JSC::RegExpMatchesArray::getOwnPropertyNames):
+ * runtime/StringObject.cpp:
+ (JSC::StringObject::getOwnPropertyNames):
+ * runtime/StringObject.h:
+ * runtime/Structure.cpp:
+ (JSC::Structure::getOwnEnumerablePropertyNames):
+ (JSC::Structure::getEnumerablePropertyNames):
+ * runtime/Structure.h:
+
+2009-09-11 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ getPropertyNames caching is invalid when the prototype chain contains objects with custom getPropertyNames
+ https://bugs.webkit.org/show_bug.cgi?id=29214
+
+ Add a flag to TypeInfo to indicate whether a type overrides getPropertyNames.
+ This flag is used to make sure that caching of the property name data is safe.
+
+ * API/JSCallbackConstructor.h:
+ (JSC::JSCallbackConstructor::createStructure):
+ * debugger/DebuggerActivation.h:
+ (JSC::DebuggerActivation::createStructure):
+ * runtime/BooleanObject.h:
+ (JSC::BooleanObject::createStructure):
+ * runtime/DatePrototype.h:
+ (JSC::DatePrototype::createStructure):
+ * runtime/FunctionPrototype.h:
+ (JSC::FunctionPrototype::createStructure):
+ * runtime/JSONObject.h:
+ (JSC::JSONObject::createStructure):
+ * runtime/JSObject.h:
+ (JSC::JSObject::createStructure):
+ * runtime/JSTypeInfo.h:
+ (JSC::TypeInfo::hasDefaultGetPropertyNames):
+ * runtime/JSVariableObject.h:
+ (JSC::JSVariableObject::createStructure):
+ * runtime/JSWrapperObject.h:
+ (JSC::JSWrapperObject::createStructure):
+ * runtime/MathObject.h:
+ (JSC::MathObject::createStructure):
+ * runtime/NumberConstructor.h:
+ (JSC::NumberConstructor::createStructure):
+ * runtime/NumberObject.h:
+ (JSC::NumberObject::createStructure):
+ * runtime/RegExpConstructor.h:
+ (JSC::RegExpConstructor::createStructure):
+ * runtime/RegExpObject.h:
+ (JSC::RegExpObject::createStructure):
+ * runtime/StructureChain.cpp:
+ (JSC::StructureChain::isCacheable):
+
+2009-09-11 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Geoff Garen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=29207
+ Add checks for using WebCore JS context on secondary threads
+
+ * runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData):
+ * runtime/JSGlobalData.h:
+ Added a new mainThreadOnly flag that WebCore would set.
+
+ * runtime/Collector.cpp: (JSC::Heap::registerThread): JSC API methods always call this,
+ so this is a good place to check that the API isn't used form a wrong thread.
+
+2009-09-11 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Compiling JavaScriptCore on sparc 64 with gcc fails.
+
+ ThreadSafeShared uses the atomic __gnu_cxx::__exchange_and_add with an int,
+ however on sparc 64 the _Atomic_word argument is typedefed to long (8 bytes).
+
+ The patch disables WTF_USE_LOCKFREE_THREADSAFESHARED in ThreadSafeShared to use
+ a mutex instead when compiling for sparc 64 with gcc.
+
+ https://bugs.webkit.org/show_bug.cgi?id=29175
+
+ * wtf/Platform.h:
+ __sparc64__ is not defined on all OS.
+ Uses instead: __sparc__ && __arch64__ || __sparcv9
+ * wtf/Threading.h:
+
+2009-09-11 Prasanth Ullattil <prasanth.ullattil@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Fix compile error on Windows7(64Bit) with latest SDK.
+
+ Added the missing include file.
+
+ * runtime/UString.cpp:
+
+2009-09-11 Joerg Bornemann <joerg.bornemann@trolltech.com>
+
+ Reviewed by Simon Hausmann.
+
+ Qt/Windows CE compile fix, include the executable allocator and
+ markstack implementation in the windows build.
+
+ * JavaScriptCore.pri:
+
+2009-09-08 John Abd-El-Malek <jam@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Remove unneeded define for ActiveX.
+ https://bugs.webkit.org/show_bug.cgi?id=29054
+
+ * wtf/Platform.h:
+
+2009-09-10 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Sam Weinig.
+
+ Update JavaScriptCore and WebKit's FeatureDefines.xcconfig so that they are in sync with WebCore as they need to be.
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2009-09-10 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Export WTF::tryFastMalloc used in WebSocketChannel.
+ https://bugs.webkit.org/show_bug.cgi?id=28038
+
+ * JavaScriptCore.exp:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-09-10 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by NOBODY (Build fix).
+
+ Make StructureTransitionTable use an enum for the PtrAndFlags member
+ used for the single transition slot optimisation.
+
+ * runtime/StructureTransitionTable.h:
+ (JSC::StructureTransitionTable::StructureTransitionTable):
+ (JSC::StructureTransitionTable::usingSingleTransitionSlot):
+ (JSC::StructureTransitionTable::):
+
+2009-09-10 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Refactor StructureTransitionTable and Structure to unify handling of the single slot optimization
+ https://bugs.webkit.org/show_bug.cgi?id=29141
+
+ Make StructureTransitionTable encapsulate the single transition slot optimization.
+
+ * runtime/Structure.cpp:
+ (JSC::Structure::Structure):
+ (JSC::Structure::~Structure):
+ (JSC::Structure::addPropertyTransitionToExistingStructure):
+ (JSC::Structure::addPropertyTransition):
+ (JSC::Structure::addPropertyWithoutTransition):
+ (JSC::Structure::removePropertyWithoutTransition):
+ (JSC::Structure::hasTransition):
+ * runtime/Structure.h:
+ (JSC::StructureTransitionTable::contains):
+ (JSC::StructureTransitionTable::get):
+ (JSC::StructureTransitionTable::hasTransition):
+ (JSC::StructureTransitionTable::reifySingleTransition):
+ * runtime/StructureTransitionTable.h:
+ (JSC::StructureTransitionTable::StructureTransitionTable):
+ (JSC::StructureTransitionTable::~StructureTransitionTable):
+ (JSC::StructureTransitionTable::remove):
+ (JSC::StructureTransitionTable::add):
+ (JSC::StructureTransitionTable::table):
+ (JSC::StructureTransitionTable::singleTransition):
+ (JSC::StructureTransitionTable::usingSingleTransitionSlot):
+ (JSC::StructureTransitionTable::setSingleTransition):
+ (JSC::StructureTransitionTable::setTransitionTable):
+ (JSC::StructureTransitionTable::):
+ * wtf/PtrAndFlags.h:
+ (WTF::PtrAndFlags::PtrAndFlags):
+
+2009-09-10 Zoltan Horvath <zoltan@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Implement fastDeleteSkippingDestructor for FastAllocBase and fastDeleteAllValues for HashSet
+ https://bugs.webkit.org/show_bug.cgi?id=25930
+
+ FastAllocBase has been extended with fastDeleteSkippingDestructor function which
+ releases memory without destructor call. fastDeleteAllValues has been implemented
+ similar as deleteAllValues but it uses fastDelete function to release memory.
+
+ * wtf/FastAllocBase.h:
+ (WTF::fastDeleteSkippingDestructor):
+ * wtf/HashSet.h:
+ (WTF::fastDeleteAllValues):
+
+2009-09-10 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ ARM compiler does not understand GCC visibility attribute
+ https://bugs.webkit.org/show_bug.cgi?id=29079
+
+ * API/JSBase.h: Make the test more specific to hit only
+ the GCC compiler
+
+2009-09-10 Adam Barth <abarth@webkit.org>
+
+ Unreviewed revert of the previous change. It broke the tests.
+
+ * wtf/dtoa.cpp:
+ (WTF::dtoa):
+
+2009-09-10 Ben Laurie <benl@google.com>
+
+ Reviewed by Adam Barth.
+
+ <https://bugs.webkit.org/show_bug.cgi?id=26836>
+
+ If dtoa was given a small buffer and the number was either infinite or
+ NaN, then the buffer would be overflowed.
+
+ * wtf/dtoa.cpp:
+
+2009-09-09 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Change reinterpret_cast to static_cast in r48212.
+
+ * jit/ExecutableAllocator.h:
+ (JSC::ExecutableAllocator::cacheFlush):
+
+2009-09-09 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Remove WTF_PLATFORM_FORCE_PACK as it is no longer used
+ https://bugs.webkit.org/show_bug.cgi?id=29066
+
+ * wtf/Platform.h:
+
+2009-09-09 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Ariya Hidayat.
+
+ Implement flushing the instruction cache for Symbian
+ https://bugs.webkit.org/show_bug.cgi?id=29075
+
+ * jit/ExecutableAllocator.h:
+ (JSC::ExecutableAllocator::cacheFlush): Call IMB_Range to flush
+ the instruction cache on Symbian
+
+2009-09-09 Kent Hansen <khansen@trolltech.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=29024
+ Make JavaScriptCore compile on platforms with case-insensitive file systems and typeinfo.h in STL
+
+ These platforms include Microsoft Visual Studio 2003, and Symbian with Metrowerks compiler.
+
+ * JavaScriptCore.gypi:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * runtime/JSTypeInfo.h: Copied from JavaScriptCore/runtime/TypeInfo.h.
+ * runtime/Structure.h:
+ * runtime/TypeInfo.h: Removed.
+
+2009-09-08 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ JSON.stringify(Date) loses the milliseconds information
+ https://bugs.webkit.org/show_bug.cgi?id=29063
+
+ Make sure we include milliseconds in the output of toISOString.
+
+ * runtime/DatePrototype.cpp:
+ (JSC::dateProtoFuncToISOString):
+
+2009-09-08 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix, generate derived sources earlier in order to make sure
+ they're found by the build system when generating the list of sources to build.
+
+ * wscript:
+
+2009-09-08 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Build fix when USE(LOCKFREE_THREADSAFESHARED) is not defined
+ https://bugs.webkit.org/show_bug.cgi?id=29011
+
+ * wtf/Threading.h: Use LOCKFREE_THREADSAFESHARED guard for
+ atomicIncrement and atomicDecrement
+
+2009-09-07 Zoltan Horvath <zoltan@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Allow custom memory allocation control in Yarr's RegexInterpreter
+ https://bugs.webkit.org/show_bug.cgi?id=29025
+
+ Inherits RegexInterpreter classes from FastAllocBase (bug #20422), which has
+ been instantiated by 'new':
+
+ class ByteDisjunction
+ -> instantiated in JavaScriptCore/yarr/RegexInterpreter.cpp:1462
+
+ struct BytecodePattern
+ -> instantiated in JavaScriptCore/yarr/RegexInterpreter.cpp:1279
+
+ * yarr/RegexInterpreter.h:
+
+2009-09-07 Drew Wilson <atwilson@google.com>
+
+ Reverting r48121 to fix Windows build errors.
+
+ * JavaScriptCore.exp:
+
+2009-09-07 Drew Wilson <atwilson@google.com>
+
+ Reviewed by David Levin.
+
+ Enable SHARED_WORKERS by default
+ https://bugs.webkit.org/show_bug.cgi?id=28959
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2009-09-07 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Export WTF::tryFastMalloc used in WebSocketChannel.
+ https://bugs.webkit.org/show_bug.cgi?id=28038
+
+ * JavaScriptCore.exp:
+
+2009-09-04 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by NOBODY (Build fix).
+
+ Fix windows export files
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-09-04 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ [[ToString]] conversion should use the actual toString function for String objects.
+
+ Remove incorrect specialisations of toString conversions on StringObject.
+
+ * JavaScriptCore.exp:
+ * runtime/StringObject.cpp:
+ * runtime/StringObject.h:
+
+2009-09-04 Steve Falkenburg <sfalken@apple.com>
+
+ Windows build fix.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: Add new export.
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def: Add new export.
+
+2009-09-04 Steve Falkenburg <sfalken@apple.com>
+
+ Windows build fix.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: Remove unneeded export.
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def: Remove unneeded export.
+
+2009-09-04 Darin Adler <darin@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ DateInstance object collected on ARM JIT (JSValue: WTF_USE_JSVALUE32)
+ https://bugs.webkit.org/show_bug.cgi?id=28909
+
+ Part two.
+
+ Make some improvements to garbage collection code:
+
+ 1) Create a runtime assertion that catches any classes that
+ override markChildren but have the HasDefaultMark bit set.
+ 2) Remove checks of the mark bit outside the MarkStack::append
+ function; they are redundant.
+ 3) Improve the efficiency of the asObject and asArray functions
+ when called on JSCell* to avoid a round trip to JSValue.
+ 4) Make more callers use the checked asCell and asObject
+ casting functions rather than unchecked casts.
+ 5) Removed the JSCell::marked function and other GC-related
+ functions because these operations are no longer things that
+ code other than the core GC code needs to do directly. Fixed
+ callers that were calling them.
+
+ * runtime/Collector.cpp:
+ (JSC::Heap::markConservatively): Removed unneeded call to MarkStack::drain.
+ (JSC::Heap::markProtectedObjects): Removed unneeded check of the mark
+ bit and call to MarkStack::drain.
+ (JSC::Heap::collect): Removed unneeded checks of the mark bit and also
+ changed call to SmallStrings::mark to call markChildren instead to match
+ the rest of the objects.
+ (JSC::typeName): Removed unneeded cast to JSObject*.
+
+ * runtime/JSArray.h:
+ (JSC::asArray): Added an overload for JSCell* and changed the JSValue
+ version to call it. Removed some unneeded casts.
+ (JSC::JSArray::markChildrenDirect): Marked this function inline. It's in
+ a header, and if not marked inline this could lead to linking problems.
+ (JSC::MarkStack::markChildren): Added. This helper function is used by
+ the drain function to avoid repating code. Also added the code here to
+ check fro default mark violations in debug code. If a markChildren
+ function adds something to the mark stack, but the type info claimed
+ hasDefaultMark was true, then we will get an assertion now. Also fixed
+ the assertion about the mark bit to use the Heap function directly
+ because we don't have a JSCell::marked function any more.
+ (JSC::MarkStack::drain): Changed a local variable from "v" to "value",
+ and from "currentCell" to "cell". Changed to call markChildren in two
+ places instead of repeating a chain of if statements twice. Changed
+ code that reads and writes the mark bit to use Heap::isCellMarked and
+ Heap::markCell so we can eliminate the JSCell::marked and
+ JSCell::markCellDirect functions.
+
+ * runtime/JSCell.h: Removed JSCell's markCellDirect and marked member
+ functions. Added a comment explaining that asCell should be deprecated
+ in favor of the JSValue asCell member function.
+ (JSC::MarkStack::append): Added the assertion that catches callers
+ that have set the HasDefaultMark bit incorrectly. Changed
+ code that reads and writes the mark bit to use Heap::isCellMarked and
+ Heap::markCell so we can eliminate the JSCell::marked and
+ JSCell::markCellDirect functions. Moved the overload of
+ MarkStack::append for JSValue here so it can call through to the cell
+ version. The old version had a copy of all the code instead, but that
+ repeated the conversion from JSValue to JSCell* and the check for
+ whether a value is a cell multiple times.
+ (JSC::Structure::markAggregate): Moved this function here to avoid
+ dependencies for Structure.h, since this calls MarkStack::append.
+
+ * runtime/JSObject.cpp:
+ (JSC::JSObject::markChildren): Added code to clear
+ m_isCheckingForDefaultMarkViolation so the marking done by JSObject
+ doesn't trigger the assertion.
+
+ * runtime/JSValue.h: Moved some stray includes that were outside the
+ header guard inside it. Not sure how that happened! Removed the
+ GC-related member functions markChildren, hasChildren, marked, and
+ markDirect.
+
+ * runtime/JSWrapperObject.h: Made markChildren private.
+ (JSC::JSWrapperObject::createStructure): Added. Fixes a bug where the
+ HasDefaultMark bit was set.
+
+ * runtime/MarkStack.h: Added m_isCheckingForDefaultMarkViolation and
+ initialized it to false. Moved the append function body from here to
+ JSCell.h. Added a declaration of a private markChildren function used
+ inside the drain function.
+
+ * runtime/SmallStrings.cpp:
+ (JSC::SmallStrings::markChildren): Changed the name and style of this
+ function to match other functions. This allows us to share the normal
+ mark stack code path.
+
+ * runtime/SmallStrings.h: Changed the name and interface of mark to
+ the more-normal markChildren style.
+
+ * runtime/Structure.h: Moved the body of markAggregate into the
+ JSCell.h to avoid a circular dependency with JSCell.h.
+
+2009-09-04 Darin Adler <darin@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ DateInstance object collected on ARM JIT (JSValue: WTF_USE_JSVALUE32)
+ https://bugs.webkit.org/show_bug.cgi?id=28909
+
+ Part one.
+
+ Make some improvements to garbage collection code:
+
+ 1) Fix the two classes that had the default mark bit set but
+ should not.
+ 2) Remove checks of the mark bit outside the MarkStack::append
+ function; they are redundant.
+ 3) Make more callers use the checked asCell and asObject
+ casting functions rather than unchecked casts.
+ 4) Removed some GC-related functions because these operations are
+ no longer things that code other than the core GC code needs
+ to do directly. Fixed callers that were calling them.
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::markAggregate): Removed unneeded check of the mark
+ bit before calling MarkStack::append.
+
+ * interpreter/Register.h: Removed unneeded marked and markChildren
+ functions.
+
+ * jit/JITStubs.cpp:
+ (op_eq): Removed unneeded assertions, instead using checked casting
+ functions such as asObject.
+
+ * runtime/ArgList.h: Added now-needed forward declaration of MarkStack.
+
+ * runtime/GetterSetter.cpp:
+ (JSC::GetterSetter::markChildren): Remmoved unneeded check of the mark bit.
+
+ * runtime/GlobalEvalFunction.h:
+ (JSC::GlobalEvalFunction::createStructure): Added. Fixes a bug where the
+ HasDefaultMark bit was set.
+
+ * runtime/JSCell.cpp:
+ (JSC::JSCell::getObject): Use asObject to avoid a direct static_cast.
+
+ * runtime/JSObject.h:
+ (JSC::asObject): Added an overload for JSCell* and changed the JSValue
+ version to call it.
+ (JSC::JSValue::get): Use asObject to avoid a direct static_cast.
+
+ * runtime/JSWrapperObject.h: Made markChildren private.
+ (JSC::JSWrapperObject::createStructure): Added. Fixes a bug where the
+ HasDefaultMark bit was set. Later we may want to optimize this for
+ wrapper types that never have cells in their internal values, but there
+ is no measured performance regression in SunSpider or V8 doing this
+ all the time.
+
+ * runtime/MarkStack.cpp: Tweaked formatting.
+
+2009-09-04 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix. Switch USE_ defines over to the compiler so that they can be
+ checked by files not including config.h (like WebCorePrefix.h).
+
+ * wtf/Platform.h:
+
+2009-09-03 Yong Li <yong.li@torchmobile.com>
+
+ Reviewed by David Levin.
+
+ Remove unnecessary dependency on unistd.h
+ https://bugs.webkit.org/show_bug.cgi?id=28962
+
+ * runtime/Completion.cpp:
+
+2009-09-03 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Add strnstr for Linux and Windows in StringExtras.h
+ https://bugs.webkit.org/show_bug.cgi?id=28901
+
+ * wtf/StringExtras.h:
+ (strnstr):
+
+2009-09-03 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Allow custom memory allocation control for JavaScriptCore's HashEntry class
+ https://bugs.webkit.org/show_bug.cgi?id=27830
+
+ Inherits HashEntry class from FastAllocBase because it has been
+ instantiated by 'new' JavaScriptCore/runtime/Lookup.cpp:32.
+
+ * runtime/Lookup.h:
+
+2009-09-02 Gavin Barraclough <barraclough@apple.com>
+
+ Should crash if JIT code buffer allocation fails.
+
+ https://bugs.webkit.org/show_bug.cgi?id=28926
+ <rdar://problem/7031922>
+
+ * jit/ExecutableAllocatorPosix.cpp:
+ (JSC::ExecutablePool::systemAlloc):
+ * jit/ExecutableAllocatorWin.cpp:
+ (JSC::ExecutablePool::systemAlloc):
+
+2009-09-02 Kevin Ollivier <kevino@theolliviers.com>
+
+ waf build fixes for Windows/MSVC.
+
+ * wscript:
+
+2009-09-02 Kevin Ollivier <kevino@theolliviers.com>
+
+ Build fix for building on Windows.
+
+ * wtf/ThreadingPthreads.cpp:
+
+2009-09-02 Norbert Leser <norbert.leser@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ Use fastMalloc when neither MMAP nor VIRTUALALLOC are enabled
+
+ RegisterFile constructor currently throws #error when both
+ MMAP and VIRTUALALLOC conditions fail.
+ On any platform that does not provide these features
+ (for instance, Symbian),
+ the fallback should be regular malloc (or fastMalloc).
+ It is functionally equivalent in this case, even though it may
+ have certain drawbacks such as lack of dynamic pre-allocation.
+
+ * interpreter/RegisterFile.cpp:
+ (JSC::RegisterFile::~RegisterFile):
+ * interpreter/RegisterFile.h:
+ (JSC::RegisterFile::RegisterFile):
+
+2009-08-31 Robert Agoston <Agoston.Robert@stud.u-szeged.hu>
+
+ Reviewed by Gavin Barraclough.
+
+ Fixed typo.
+ https://bugs.webkit.org/show_bug.cgi?id=28691
+
+ * parser/Parser.h:
+ (JSC::Parser::parse):
+
+2009-08-27 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ JSON Stringifier does not follow ES5 spec for handling of Number, String and Boolean objects
+ https://bugs.webkit.org/show_bug.cgi?id=28797
+
+ Fixed unwrapBoxedPrimitive to do the right thing, which necessitated a couple of new exception
+ checks, and corrected the logic in gap to correctly convert Number and String objects.
+
+ * runtime/JSONObject.cpp:
+ (JSC::unwrapBoxedPrimitive):
+ (JSC::gap):
+ (JSC::Stringifier::Stringifier):
+ (JSC::Stringifier::appendStringifiedValue):
+
+2009-08-27 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Adam Roben.
+
+ JSON.stringify replacer array does not accept values that are not string primitives.
+ https://bugs.webkit.org/show_bug.cgi?id=28788
+
+ Update the JSON stringifier to initialise its replacer array according to the most
+ recent version of the spec.
+
+ * runtime/Identifier.h:
+ (JSC::Identifier::from):
+ * runtime/JSONObject.cpp:
+ (JSC::Stringifier::Stringifier):
+
+2009-08-27 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=28753
+ <rdar://problem/7173448> Excessive number of threads (and a crash)
+
+ * wtf/Threading.h: (WTF::atomicIncrement): Changed atomicIncrement to match decrement
+ and return the new value. Also added using directives for these functions, to match
+ te rest of WTF.
+
+2009-08-27 Brent Fulgham <bfulgham@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Link the testapi against CFLite when building the WinCairo port.
+
+ * JavaScriptCore.vcproj/testapi/testapi.vcproj: Add new Release_CFLite
+ target. Update all targets to inherit from either the
+ JavaScriptCF.vsprops (Apple target) or the JavaScriptCFLite.vsprops
+ file (WinCairo target).
+ * JavaScriptCore.vcproj/testapi/testapiCommon.vsprops: Remove
+ input file CoreFoundation.lib. This is provided by either the
+ JavaScriptCF.vsprops or JavaScriptCFLite.vsprops file.
+
+2009-08-27 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Fix Windows-specific crash due to missing memory clearing call.
+
+ * runtime/Collector.cpp:
+ (JSC::Heap::allocateBlock):
+
+2009-08-27 Brent Fulgham <bfulgham@webkit.org>
+
+ Build fix: JavaScriptCore_debug.def missing some exports. Apple
+ Windows build does not use this file, so it was not noticed previously.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-08-27 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ x86-64 GTK broken due to code offsets changing, pointers sometimes packed into immediates.
+ https://bugs.webkit.org/show_bug.cgi?id=28317
+
+ Missed one, fix part II.
+
+ * assembler/MacroAssemblerX86Common.h:
+ (JSC::MacroAssemblerX86Common::move):
+ * assembler/X86Assembler.h:
+ (JSC::CAN_SIGN_EXTEND_8_32):
+
+2009-08-27 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Adam Roben.
+
+ JSON.stringify replacer array does not accept values that are not string primitives.
+ https://bugs.webkit.org/show_bug.cgi?id=28788
+
+ Update the JSON stringifier to initialise its replacer array according to the most
+ recent version of the spec.
+
+ * runtime/Identifier.h:
+ (JSC::Identifier::from):
+ * runtime/JSONObject.cpp:
+ (JSC::Stringifier::Stringifier):
+
+2009-08-27 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ JSON parser accepts trailing comma in array literals
+ https://bugs.webkit.org/show_bug.cgi?id=28779
+
+ Update parser to correctly fail if there's a trailing comma.
+
+ * runtime/LiteralParser.cpp:
+ (JSC::LiteralParser::parse):
+
+2009-08-26 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ 'this' in JSON.parse reviver is the global object
+ https://bugs.webkit.org/show_bug.cgi?id=28752
+
+ This is a technically simple change, we merely update the code for calling
+ the reviver function to pass the correct this object. Doing so however
+ exposes the holder to arbitrary mutation by the reviver function so it is
+ necessary for us to now guard all property accesses against the possibility
+ of failure.
+
+ * runtime/JSArray.h:
+ JSON needs to delete a property from the array, so we friend its
+ Walker class so that we can make a non-virtual call to the arrays
+ delete and getOwnPropertySlot methods.
+ * runtime/JSONObject.cpp:
+ (JSC::Walker::callReviver):
+ We need to pass the correct this object
+ (JSC::Walker::walk):
+ Update calls to callReviver, and update property logic logic
+ to correctly handle the holder being mutated by the reviver
+ function.
+
+2009-08-26 Alice Liu <alice.liu@apple.com>
+
+ Windows build fix: added some exported symbols
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-08-26 Geoffrey Garen <ggaren@apple.com>
+
+ Windows build fix: Removed some exported symbols that no longer exist.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-08-26 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Olliejver Hunt.
+
+ x86-64 GTK broken due to code offsets changing, pointers sometimes packed into immediates.
+ https://bugs.webkit.org/show_bug.cgi?id=28317
+
+ We rely on a slightly OS X specific behaviour, that x86-64 applications have a 4Gb zero page,
+ so pointers are never representable as a 32-bit integer, and always have to be represented by
+ a separate immediate load instruction, rather than within the immediate field of an arithmetic
+ or memory operation.
+
+ We explicitly check for a couple of cases where a value might be representable in 32-bit, but
+ these probably never kick in on Mac OS, and only kick in to hose GTK. Deleting these does not
+ show a performance degradation on SunSpider. Remove.
+
+ * assembler/MacroAssemblerX86_64.h:
+ (JSC::MacroAssemblerX86_64::storePtr):
+ (JSC::MacroAssemblerX86_64::branchPtr):
+
+2009-08-26 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ A bit of Collector refatoring.
+
+ SunSpider says no change. v8 says 1.003x faster (1.02x faster on splay).
+
+ * JavaScriptCore.exp:
+
+ * runtime/JSCell.cpp:
+ (JSC::JSCell::toPrimitive):
+ (JSC::JSCell::getPrimitiveNumber):
+ (JSC::JSCell::toBoolean):
+ (JSC::JSCell::toNumber):
+ (JSC::JSCell::toString):
+ (JSC::JSCell::toObject): Removed pure virtual functions from
+ JSCell, so the collector can construct one. This allowed
+ me to remove a bunch of ASSERT_NOT_REACHED throughout the
+ code, too.
+
+ * runtime/JSCell.h:
+ (JSC::JSCell::JSCell): ditto
+ (JSC::Heap::heap): Inlined this function because it's trivial.
+
+ * JavaScriptCore.exp:
+
+ * runtime/Collector.cpp:
+ (JSC::Heap::destroy):
+ (JSC::Heap::allocateBlock):
+ (JSC::Heap::freeBlock):
+ (JSC::Heap::freeBlocks): Renamed freeHeap to freeBlocks, since
+ it doesn't actually free the Heap object.
+ (JSC::Heap::heapAllocate):
+ (JSC::Heap::sweep):
+ * runtime/Collector.h: Refactored block allocation and destruction
+ into helper functions.
+
+ * runtime/GetterSetter.cpp:
+ * runtime/JSAPIValueWrapper.cpp:
+ * runtime/JSPropertyNameIterator.cpp: Removed dummy implementations
+ of pure virtual functions. (See above.)
+
+=== End re-roll-in of r47738:47740 with Windows crash fixed ===
+
+2009-08-26 Geoffrey Garen <ggaren@apple.com>
+
+ Build fix: start out with a 32-bit value to avoid a shortening warning.
+
+ * runtime/Collector.cpp:
+ (JSC::Heap::sweep):
+
+2009-08-24 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Substantially reduced VM thrash in the GC heap.
+
+ 1.08x faster on v8 (1.60x faster on v8-splay).
+
+ 1.40x faster on bench-alloc-nonretained.
+
+ 1.90x faster on bench-alloc-retained.
+
+ SunSpider says no change.
+
+ * runtime/Collector.cpp:
+ (JSC::Heap::heapAllocate): Fixed a long-standing bug: update a few local
+ variables unconditionally after calling collect(), since they may be used
+ even if we don't "goto scan". (In the bug I saw, usedBlocks got out of
+ sync with heap.usedBlocks).
+ (JSC::Heap::sweep): Keep enough free heap space to accomodate
+ the number of objects we'll allocate before the next GC, plus 25%, for
+ good measure.
+ * runtime/Collector.h: Bumped the block size to 256k. This seems to give
+ the best cache performance, and it prevents us from initiating lots of
+ VM traffic to recover very small chunks of memory.
+
+=== Begin re-roll-in of r47738:47740 with Windows crash fixed ===
+
+2009-08-25 Drew Wilson <atwilson@google.com>
+
+ Reviewed by David Levin.
+
+ postMessage() spec now supports sending arrays of ports
+ https://bugs.webkit.org/show_bug.cgi?id=26902
+
+ Added OwnPtr to VectorTraits so we can store OwnPtrs in Vectors.
+
+ * wtf/VectorTraits.h:
+
+2009-08-26 Xan Lopez <xlopez@igalia.com>
+
+ Rubber-stamped by Gustavo Noronha.
+
+ Remove duplicated files from file list.
+
+ * GNUmakefile.am:
+
+2009-08-26 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by NOBODY (Build fix).
+
+ More export fixes.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-08-26 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by NOBODY (Build fix).
+
+ Hopefully fix all the exports from JSC on windows
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-08-26 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by NOBODY (Build fixes).
+
+ Forgot I added files to JavaScriptCore.
+
+ * GNUmakefile.am:
+ * JavaScriptCore.gypi:
+ * JavaScriptCore.pri:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
+ * JavaScriptCoreSources.bkl:
+
+2009-08-25 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ [ES5] Implement getOwnPropertyDescriptor
+ https://bugs.webkit.org/show_bug.cgi?id=28724
+
+ Implement the core runtime support for getOwnPropertyDescriptor.
+ This adds a virtual getOwnPropertyDescriptor method to every class
+ that implements getOwnPropertySlot that shadows the behaviour of
+ getOwnPropertySlot. The alternative would be to make getOwnPropertySlot
+ (or PropertySlots in general) provide property attribute information,
+ but quick testing showed this to be a regression.
+
+ * JavaScriptCore.exp:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * runtime/Arguments.cpp:
+ (JSC::Arguments::getOwnPropertyDescriptor):
+ * runtime/Arguments.h:
+ * runtime/ArrayPrototype.cpp:
+ (JSC::ArrayPrototype::getOwnPropertyDescriptor):
+ * runtime/ArrayPrototype.h:
+ * runtime/CommonIdentifiers.h:
+ * runtime/DatePrototype.cpp:
+ (JSC::DatePrototype::getOwnPropertyDescriptor):
+ * runtime/DatePrototype.h:
+ * runtime/JSArray.cpp:
+ (JSC::JSArray::getOwnPropertyDescriptor):
+ * runtime/JSArray.h:
+ * runtime/JSByteArray.cpp:
+ (JSC::JSByteArray::getOwnPropertyDescriptor):
+ * runtime/JSByteArray.h:
+ * runtime/JSFunction.cpp:
+ (JSC::JSFunction::getOwnPropertyDescriptor):
+ * runtime/JSFunction.h:
+ * runtime/JSGlobalObject.h:
+ (JSC::JSGlobalObject::getOwnPropertyDescriptor):
+ * runtime/JSNotAnObject.cpp:
+ (JSC::JSNotAnObject::getOwnPropertyDescriptor):
+ * runtime/JSNotAnObject.h:
+ * runtime/JSONObject.cpp:
+ (JSC::JSONObject::getOwnPropertySlot):
+ (JSC::JSONObject::getOwnPropertyDescriptor):
+ * runtime/JSONObject.h:
+ * runtime/JSObject.cpp:
+ (JSC::JSObject::getOwnPropertyDescriptor):
+ (JSC::JSObject::getPropertyDescriptor):
+ * runtime/JSObject.h:
+ * runtime/JSString.cpp:
+ (JSC::JSString::getStringPropertyDescriptor):
+ (JSC::JSString::getOwnPropertyDescriptor):
+ * runtime/JSString.h:
+ * runtime/JSVariableObject.cpp:
+ (JSC::JSVariableObject::symbolTableGet):
+ * runtime/JSVariableObject.h:
+ * runtime/Lookup.h:
+ (JSC::getStaticPropertyDescriptor):
+ (JSC::getStaticFunctionDescriptor):
+ (JSC::getStaticValueDescriptor):
+ Add property descriptor equivalents of the lookup
+ table access functions
+
+ * runtime/MathObject.cpp:
+ (JSC::MathObject::getOwnPropertySlot):
+ (JSC::MathObject::getOwnPropertyDescriptor):
+ * runtime/MathObject.h:
+ * runtime/NumberConstructor.cpp:
+ (JSC::NumberConstructor::getOwnPropertyDescriptor):
+ * runtime/NumberConstructor.h:
+ * runtime/ObjectConstructor.cpp:
+ (JSC::ObjectConstructor::ObjectConstructor):
+ (JSC::objectConstructorGetOwnPropertyDescriptor):
+ * runtime/PropertyDescriptor.cpp: Added.
+ (JSC::PropertyDescriptor::writable):
+ (JSC::PropertyDescriptor::enumerable):
+ (JSC::PropertyDescriptor::configurable):
+ (JSC::PropertyDescriptor::hasAccessors):
+ (JSC::PropertyDescriptor::setUndefined):
+ (JSC::PropertyDescriptor::getter):
+ (JSC::PropertyDescriptor::setter):
+ (JSC::PropertyDescriptor::setDescriptor):
+ (JSC::PropertyDescriptor::setAccessorDescriptor):
+ * runtime/PropertyDescriptor.h: Added.
+ (JSC::PropertyDescriptor::PropertyDescriptor):
+ (JSC::PropertyDescriptor::attributes):
+ (JSC::PropertyDescriptor::isValid):
+ (JSC::PropertyDescriptor::value):
+ * runtime/RegExpConstructor.cpp:
+ (JSC::RegExpConstructor::getOwnPropertyDescriptor):
+ * runtime/RegExpConstructor.h:
+ * runtime/RegExpMatchesArray.h:
+ (JSC::RegExpMatchesArray::getOwnPropertyDescriptor):
+ * runtime/RegExpObject.cpp:
+ (JSC::RegExpObject::getOwnPropertyDescriptor):
+ * runtime/RegExpObject.h:
+ * runtime/StringObject.cpp:
+ (JSC::StringObject::getOwnPropertyDescriptor):
+ * runtime/StringObject.h:
+ * runtime/StringPrototype.cpp:
+ (JSC::StringPrototype::getOwnPropertyDescriptor):
+ * runtime/StringPrototype.h:
+
+2009-08-24 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Darin Adler.
+
+ How many copies of the parameters do you need?
+ https://bugs.webkit.org/show_bug.cgi?id=28701
+
+ The function parameters in JSC get copied a lot - and unnecessarily so.
+
+ Originally this happened due to duplicating FunctionBodyNodes on recompilation,
+ though the problem has been exacerbated by copying the parameters from the
+ original function body onto the executable, then back onto the real body that
+ will be generated (this happens on every function). And this is all made worse
+ since the data structures in question are a little ugly - C style arrays of C++
+ objects containing ref counts, so they need a full copy-construct (rather than
+ a simple memcpy).
+
+ This can all be greatly simplified by just punting the parameters off into
+ their own ref-counted object, and forgoing all the copying.
+
+ ~no performance change, possible slight progression.
+
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::BytecodeGenerator):
+ * bytecompiler/BytecodeGenerator.h:
+ (JSC::BytecodeGenerator::makeFunction):
+ * parser/Nodes.cpp:
+ (JSC::FunctionParameters::FunctionParameters):
+ (JSC::FunctionBodyNode::FunctionBodyNode):
+ (JSC::FunctionBodyNode::finishParsing):
+ * parser/Nodes.h:
+ (JSC::FunctionBodyNode::parameters):
+ (JSC::FunctionBodyNode::parameterCount):
+ * runtime/Executable.cpp:
+ (JSC::FunctionExecutable::~FunctionExecutable):
+ (JSC::FunctionExecutable::compile):
+ (JSC::FunctionExecutable::reparseExceptionInfo):
+ (JSC::FunctionExecutable::fromGlobalCode):
+ (JSC::FunctionExecutable::paramString):
+ * runtime/Executable.h:
+ (JSC::FunctionExecutable::FunctionExecutable):
+ (JSC::FunctionExecutable::parameterCount):
+
+2009-08-25 Brent Fulgham <bfulgham@webkit.org>
+
+ Reviewed by NOBODY (Buildfix).
+
+ * JavaScriptCore.vcproj/jsc/jsc.vcproj: Add Debug_CFLite target
+ that inherits from the debug_wincairo property sheet and therefore
+ links to the proper debug library.
+ * JavaScriptCore.vcproj/testapi/testapi.vcproj: Add Debug_CFLite target
+ that inherits from the debug_wincairo property sheet and therefore
+ links to the proper debug library.
+
+2009-08-25 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Export tryFastMalloc for Canvas3D work
+ https://bugs.webkit.org/show_bug.cgi?id=28018
+
+ * JavaScriptCore.exp:
+
+2009-08-25 David Levin <levin@chromium.org>
+
+ Reviewed by Adam Roben.
+
+ PLATFORM(CFNETWORK) should be USE(CFNETWORK).
+ https://bugs.webkit.org/show_bug.cgi?id=28713
+
+ * wtf/Platform.h: Added a #define to catch this issue in the
+ future. The define would generate an error on gcc without the
+ space in the expansion, but Visual C++ needs the space to cause an error.
+
+2009-08-24 Brent Fulgham <bfulgham@webkit.org>
+
+ Reviewed by Steve Falkenburg.
+
+ Revise CFLite Debug build to emit DLL's with _debug label.
+ https://bugs.webkit.org/show_bug.cgi?id=28695.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Modify
+ Cairo debug build to inherit from new debug_cairo property sheet.
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCFLite.vsprops:
+ Modify to look for debug CFLite when in debug build.
+
+2009-08-24 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Adler & Darin Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=28691
+ Do not retain ScopeNodes outside of parsing
+
+ There is now no need for these to exist outside of parsing - their use in the runtime is replaced by Executable types.
+
+ * bytecode/EvalCodeCache.h:
+ (JSC::EvalCodeCache::get):
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::BytecodeGenerator):
+ (JSC::BytecodeGenerator::emitNewFunction):
+ (JSC::BytecodeGenerator::emitNewFunctionExpression):
+ * bytecompiler/BytecodeGenerator.h:
+ (JSC::BytecodeGenerator::makeFunction):
+ * debugger/Debugger.cpp:
+ (JSC::Debugger::recompileAllJSFunctions):
+ (JSC::evaluateInGlobalCallFrame):
+ * debugger/DebuggerCallFrame.cpp:
+ (JSC::DebuggerCallFrame::evaluate):
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::execute):
+ (JSC::Interpreter::prepareForRepeatCall):
+ (JSC::Interpreter::privateExecute):
+ * jit/JITStubs.cpp:
+ (JSC::DEFINE_STUB_FUNCTION):
+ * parser/Nodes.cpp:
+ (JSC::ScopeNodeData::ScopeNodeData):
+ (JSC::ProgramNode::create):
+ (JSC::EvalNode::create):
+ (JSC::FunctionBodyNode::create):
+ * parser/Nodes.h:
+ (JSC::ScopeNode::adoptData):
+ (JSC::FunctionBodyNode::parameterCount):
+ * parser/Parser.cpp:
+ * parser/Parser.h:
+ (JSC::Parser::arena):
+ (JSC::Parser::Parser):
+ (JSC::Parser::parse):
+ * runtime/ArrayPrototype.cpp:
+ (JSC::isNumericCompareFunction):
+ (JSC::arrayProtoFuncSort):
+ * runtime/Completion.cpp:
+ (JSC::checkSyntax):
+ (JSC::evaluate):
+ * runtime/Executable.cpp:
+ (JSC::FunctionExecutable::~FunctionExecutable):
+ (JSC::EvalExecutable::compile):
+ (JSC::ProgramExecutable::checkSyntax):
+ (JSC::ProgramExecutable::compile):
+ (JSC::FunctionExecutable::compile):
+ (JSC::EvalExecutable::generateJITCode):
+ (JSC::ProgramExecutable::generateJITCode):
+ (JSC::FunctionExecutable::generateJITCode):
+ (JSC::FunctionExecutable::reparseExceptionInfo):
+ (JSC::EvalExecutable::reparseExceptionInfo):
+ (JSC::FunctionExecutable::recompile):
+ (JSC::FunctionExecutable::fromGlobalCode):
+ (JSC::FunctionExecutable::copyParameters):
+ (JSC::FunctionExecutable::paramString):
+ * runtime/Executable.h:
+ (JSC::ScriptExecutable::ScriptExecutable):
+ (JSC::ScriptExecutable::sourceID):
+ (JSC::ScriptExecutable::sourceURL):
+ (JSC::ScriptExecutable::lineNo):
+ (JSC::ScriptExecutable::lastLine):
+ (JSC::ScriptExecutable::usesEval):
+ (JSC::ScriptExecutable::usesArguments):
+ (JSC::ScriptExecutable::needsActivation):
+ (JSC::ScriptExecutable::recordParse):
+ (JSC::EvalExecutable::bytecode):
+ (JSC::EvalExecutable::jitCode):
+ (JSC::ProgramExecutable::bytecode):
+ (JSC::ProgramExecutable::reparseExceptionInfo):
+ (JSC::ProgramExecutable::jitCode):
+ (JSC::FunctionExecutable::FunctionExecutable):
+ (JSC::FunctionExecutable::make):
+ (JSC::FunctionExecutable::bytecode):
+ (JSC::FunctionExecutable::isGenerated):
+ (JSC::FunctionExecutable::name):
+ (JSC::FunctionExecutable::parameterCount):
+ (JSC::FunctionExecutable::jitCode):
+ * runtime/FunctionConstructor.cpp:
+ (JSC::constructFunction):
+ * runtime/JSGlobalData.cpp:
+ (JSC::JSGlobalData::numericCompareFunction):
+ * runtime/JSGlobalObjectFunctions.cpp:
+ (JSC::globalFuncEval):
+
+2009-08-24 Darin Adler <darin@apple.com>
+
+ * runtime/ObjectPrototype.cpp:
+ (JSC::ObjectPrototype::put): Landed revised version I had tested but forgot
+ to land. Leave out the branch, since we don't need one.
+
+2009-08-24 Darin Adler <darin@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Array index miss case creates a string every time
+ https://bugs.webkit.org/show_bug.cgi?id=28664
+
+ SunSpider test results I saw:
+
+ 0.5% faster overall
+ 1% faster on crypto-aes
+ 20% faster on crypto-md5
+ 13% faster on crypto-sha1
+
+ * runtime/ObjectPrototype.cpp:
+ (JSC::ObjectPrototype::ObjectPrototype): Initialize m_hasNoPropertiesWithUInt32Names
+ to true.
+ (JSC::ObjectPrototype::put): Clearly m_hasNoPropertiesWithUInt32Names if the new
+ property has a name that is the string form of a UInt32.
+ (JSC::ObjectPrototype::getOwnPropertySlot): Don't call JSObject::getOwnPropertySlot
+ if m_hasNoPropertiesWithUInt32Names is true, and it is highly likely to be true.
+
+ * runtime/ObjectPrototype.h: Added declarations for the above.
+
+2009-08-24 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Unreviewed. Fix a typo in my distcheck build fix.
+
+ * GNUmakefile.am:
+
+2009-08-23 Gustavo Noronha Silva <gns@gnome.org>
+
+ Unreviewed build fix for make distcheck.
+
+ * GNUmakefile.am: Added files required for the build.
+
+2009-08-22 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ REGRESSION(r47639-r47660): Webkit crashes on launch on PowerPC
+ https://bugs.webkit.org/show_bug.cgi?id=28655
+
+ * runtime/JSFunction.cpp:
+ (JSC::JSFunction::JSFunction): Initialize properly with a VPtrHackExecutable.
+ * wtf/Platform.h:
+
+2009-08-22 Darin Adler <darin@apple.com>
+
+ Fix storage leak from syntax tree arena allocation patch.
+
+ * parser/Nodes.h: CommaNode needs to inherit from ParserArenaDeletable
+ because it has a vector.
+
+2009-08-21 Darin Adler <darin@apple.com>
+
+ Fix Qt build.
+
+ * parser/Nodes.cpp:
+ (JSC::ScopeNodeData::ScopeNodeData): Made non-inline again.
+ This is used outside Nodes.cpp so can't be inline unless
+ it is in the header.
+
+2009-08-21 Darin Adler <darin@apple.com>
+
+ Two loose ends from the last commit.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj: Made ParserArena.h
+ and create_hash_table project-internal instead of "private".
+ * runtime/Executable.h: Removed accidentally-added constructor.
+
+2009-08-21 Darin Adler <darin@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Syntax tree nodes should use arena allocation
+ https://bugs.webkit.org/show_bug.cgi?id=25674
+
+ Use an actual arena now. 0.6% speedup on SunSpider.
+
+ New and improved with 100% less leaking of the universe.
+
+ * JavaScriptCore.exp:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+ Removed all exports involving the class FunctionBodyNode, which no
+ longer needs to be used outside JavaScriptCore.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj: Made Nodes.h and
+ Executable.h project-internal instead of "private".
+
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::BytecodeGenerator): Updated since VarStack
+ contains const Identifier* now.
+
+ * parser/Grammar.y: Made identifiers from the lexer be const
+ Identifier* and updated since VarStack contains const Identifier* now.
+
+ * parser/Lexer.cpp:
+ (JSC::Lexer::setCode): Pass in ParserArena, used for identifiers.
+ (JSC::Lexer::makeIdentifier): Changed return type to const Identifier*
+ and changed to call ParserArena.
+ (JSC::Lexer::clear): Removed the code to manage m_identifiers and
+ added code to set m_arena to 0.
+ * parser/Lexer.h: Updated for changes above.
+
+ * parser/NodeConstructors.h:
+ (JSC::ParserArenaFreeable::operator new): Added. Calls allocateFreeable
+ on the arena.
+ (JSC::ParserArenaDeletable::operator new): Changed to call the
+ allocateDeletable function on the arena instead of deleteWithArena.
+ (JSC::PropertyNode::PropertyNode): Added new constructor that makes
+ numeric identifiers. Some day we might want to optimize this for
+ integers so it doesn't create a string for each one.
+ (JSC::ContinueNode::ContinueNode): Initialize m_ident to nullIdentifier
+ since it's now a const Identifier& so it can't be left uninitialized.
+ (JSC::BreakNode::BreakNode): Ditto.
+ (JSC::CaseClauseNode::CaseClauseNode): Updated to use SourceElements*
+ to keep track of the statements rather than a separate statement vector.
+ (JSC::BlockNode::BlockNode): Ditto.
+ (JSC::ForInNode::ForInNode): Initialize m_ident to nullIdentifier.
+
+ * parser/Nodes.cpp: Moved the comment explaining emitBytecode in here.
+ It seemed strangely out of place in the header.
+ (JSC::ThrowableExpressionData::emitThrowError): Added an overload for
+ UString as well as Identifier.
+ (JSC::SourceElements::singleStatement): Added.
+ (JSC::SourceElements::lastStatement): Added.
+ (JSC::RegExpNode::emitBytecode): Changed the throwError code to use
+ the substitution mechanism instead of doing a string append.
+ (JSC::SourceElements::emitBytecode): Added. Replaces the old
+ statementListEmitCode function, since we now keep the SourceElements
+ objects around.
+ (JSC::BlockNode::lastStatement): Added.
+ (JSC::BlockNode::emitBytecode): Changed to use emitBytecode instead of
+ statementListEmitCode.
+ (JSC::CaseClauseNode::emitBytecode): Added.
+ (JSC::CaseBlockNode::emitBytecodeForBlock): Changed to use emitBytecode
+ instead of statementListEmitCode.
+ (JSC::ScopeNodeData::ScopeNodeData): Changed to store the
+ SourceElements* instead of using releaseContentsIntoVector.
+ (JSC::ScopeNode::emitStatementsBytecode): Added.
+ (JSC::ScopeNode::singleStatement): Added.
+ (JSC::ProgramNode::emitBytecode): Call emitStatementsBytecode instead
+ of statementListEmitCode.
+ (JSC::EvalNode::emitBytecode): Ditto.
+ (JSC::FunctionBodyNode::emitBytecode): Call emitStatementsBytecode
+ insetad of statementListEmitCode and check for the return node using
+ the new functions.
+
+ * parser/Nodes.h: Changed VarStack to store const Identifier* instead
+ of Identifier and rely on the arena to control lifetime. Added a new
+ ParserArenaFreeable class. Made ParserArenaDeletable inherit from
+ FastAllocBase instead of having its own operator new. Base the Node
+ class on ParserArenaFreeable. Changed the various Node classes
+ to use const Identifier& instead of Identifier to avoid the need to
+ call their destructors and allow them to function as "freeable" in the
+ arena. Removed extraneous JSC_FAST_CALL on definitions of inline functions.
+ Changed ElementNode, PropertyNode, ArgumentsNode, ParameterNode,
+ CaseClauseNode, ClauseListNode, and CaseBlockNode to use ParserArenaFreeable
+ as a base class since they do not descend from Node. Eliminated the
+ StatementVector type and instead have various classes use SourceElements*
+ instead of StatementVector. This prevents those classes from having to
+ use ParserArenaDeletable to make sure the vector destructor is called.
+
+ * parser/Parser.cpp:
+ (JSC::Parser::parse): Pass the arena to the lexer.
+
+ * parser/Parser.h: Added an include of ParserArena.h, which is no longer
+ included by Nodes.h.
+ (JSC::Parser::parseFunctionFromGlobalCode): Changed to use the
+ singleStatement function, since there is no longer any children function.
+ Removed some unneeded use of RefPtr.
+
+ * parser/ParserArena.cpp:
+ (JSC::ParserArena::ParserArena): Added. Initializes the new members,
+ m_freeableMemory, m_freeablePoolEnd, and m_identifiers.
+ (JSC::ParserArena::freeablePool): Added. Computes the pool pointer,
+ since we store only the current pointer and the end of pool pointer.
+ (JSC::ParserArena::deallocateObjects): Added. Contains the common
+ memory-deallocation logic used by both the destructor and the
+ reset function.
+ (JSC::ParserArena::~ParserArena): Changed to call deallocateObjects.
+ (JSC::ParserArena::reset): Ditto. Also added code to zero out the
+ new structures, and switched to use clear() instead of shrink(0) since
+ we don't really reuse arenas.
+ (JSC::ParserArena::makeNumericIdentifier): Added.
+ (JSC::ParserArena::allocateFreeablePool): Added. Used when the pool
+ is empty.
+ (JSC::ParserArena::isEmpty): Added. No longer inline, which is fine
+ since this is used only for assertions at the moment.
+ (JSC::ParserArena::derefWithArena): Make non-inline.
+
+ * parser/ParserArena.h: Added an actual arena of "freeable" objects,
+ ones that don't need destructors to be called. Also added a separate
+ IdentifierArena object, a segmented vector of identifiers that used
+ to be in the Lexer.
+
+ * runtime/Executable.h: Moved the definition of the
+ FunctionExecutable::make function here. It can't go in JSFunction.h
+ since that header has to be used outside JavaScriptCore and so can't
+ include this, which includes Nodes.h. The function could be moved
+ elswhere if we don't want to include JSFunction.h in this header, but
+ for now this seems to be the best place.
+
+ * runtime/JSFunction.h: Removed the include of Executable.h and
+ definition of the FunctionExecutable::make function.
+
+ * wtf/FastMalloc.cpp: Fixed an incorrect comment.
+
+2009-08-21 Mark Rowe <mrowe@apple.com>
+
+ Fix the non-JIT build.
+
+ * runtime/Executable.cpp:
+ * runtime/Executable.h:
+
+2009-08-21 Gavin Barraclough <barraclough@apple.com>
+
+ Speculative QuickTime build fix.
+
+ * runtime/JSArray.cpp:
+
+2009-08-21 Gavin Barraclough <barraclough@apple.com>
+
+ Speculative QT build fix.
+
+ * runtime/StringPrototype.cpp:
+
+2009-08-21 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Restructure Executable types so that host functions do not hold a FunctionExecutable.
+ https://bugs.webkit.org/show_bug.cgi?id=28621
+
+ All JSFunction objects have a pointer to an Executable*. This is currently always a
+ FunctionExecutable, however this has a couple of drawbacks. Host functions do not
+ store a range of information that the FunctionExecutable provides (source, name,
+ CodeBlock & information presently held on the FunctionBodyNode).
+
+ [ * nearly all... see below! ]
+
+ Instead, make JSFunctions hold a pointer to an ExecutableBase, move fields specific
+ to JS sourced executable types (source, node) into a new subclass (ScriptExecutable),
+ and create a new NativeExecutable type. We now provide a new method in JSFunction
+ to access & downcast to FunctionExecutable, but in doing so we can make an early
+ check (with an ASSERT) to ensure that the Executable read from a function will only
+ be treated as a FunctionExecutable (and thus the JS sepcific fields will only be
+ accessed) if the JSFunction is not a host function.
+
+ There is one JSFunction that currently does not have an Executable, which is the
+ object created to allow us to read out the vtable pointer. By making this change
+ we can also add a new Executable type fror this object (VPtrHackExecutable).
+ Since this means that really all JSFunctions have an Executable we no longer have
+ to null-check m_executable before us it - particularly in isHostFunction().
+
+ This patch removes CacheableEvalExecutable, since all subclasses of ExecutableBase
+ can now be ref-counted - since both JSFunction holds (and ref-counts) an ExecutableBase
+ that might be a FunctionExecutable or a NativeExecutable. This does now mean that all
+ ProgramExecutables and EvalExecutables (unnecessarily) provide an interface to be
+ ref-counted, however this seems less-bad than host functions unnecessarily providing
+ interface to access non-host specific information.
+
+ The class hierarcy has changed from this:
+
+ - ExecutableBase
+ - ProgramExecutable
+ - EvalExecutable
+ - CacheableEvalExecutable (also RefCounted by multiple-inheritance)
+ - FunctionExecutable (also RefCounted by multiple-inheritance, 'special' FunctionExecutable also used for host functions)
+
+ To this:
+
+ - RefCounted
+ - ExecutableBase
+ - NativeExecutable
+ - VPtrHackExecutable
+ - ScriptExecutable
+ - ProgramExecutable
+ - EvalExecutable
+ - FunctionExecutable
+
+ This patch speeds up sunspidey by a couple of ms (presumably due to the changes to isHostFunction()).
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::CodeBlock):
+ * bytecode/CodeBlock.h:
+ (JSC::CodeBlock::ownerExecutable):
+ (JSC::GlobalCodeBlock::GlobalCodeBlock):
+ * bytecode/EvalCodeCache.h:
+ (JSC::EvalCodeCache::get):
+ * debugger/Debugger.cpp:
+ (JSC::Debugger::recompileAllJSFunctions):
+ * interpreter/CachedCall.h:
+ (JSC::CachedCall::CachedCall):
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::callEval):
+ (JSC::Interpreter::privateExecute):
+ * jit/JITStubs.cpp:
+ (JSC::DEFINE_STUB_FUNCTION):
+ * profiler/Profiler.cpp:
+ (JSC::createCallIdentifierFromFunctionImp):
+ * runtime/Arguments.h:
+ (JSC::Arguments::getArgumentsData):
+ (JSC::Arguments::Arguments):
+ * runtime/Executable.cpp:
+ (JSC::NativeExecutable::~NativeExecutable):
+ (JSC::VPtrHackExecutable::~VPtrHackExecutable):
+ * runtime/Executable.h:
+ (JSC::ExecutableBase::ExecutableBase):
+ (JSC::ExecutableBase::~ExecutableBase):
+ (JSC::ExecutableBase::isHostFunction):
+ (JSC::NativeExecutable::NativeExecutable):
+ (JSC::VPtrHackExecutable::VPtrHackExecutable):
+ (JSC::ScriptExecutable::ScriptExecutable):
+ (JSC::ScriptExecutable::source):
+ (JSC::ScriptExecutable::sourceID):
+ (JSC::ScriptExecutable::sourceURL):
+ (JSC::ScriptExecutable::lineNo):
+ (JSC::ScriptExecutable::lastLine):
+ (JSC::ScriptExecutable::usesEval):
+ (JSC::ScriptExecutable::usesArguments):
+ (JSC::ScriptExecutable::needsActivation):
+ (JSC::EvalExecutable::EvalExecutable):
+ (JSC::EvalExecutable::create):
+ (JSC::ProgramExecutable::ProgramExecutable):
+ (JSC::FunctionExecutable::FunctionExecutable):
+ * runtime/FunctionPrototype.cpp:
+ (JSC::functionProtoFuncToString):
+ * runtime/JSFunction.cpp:
+ (JSC::JSFunction::JSFunction):
+ (JSC::JSFunction::~JSFunction):
+ (JSC::JSFunction::markChildren):
+ (JSC::JSFunction::getCallData):
+ (JSC::JSFunction::call):
+ (JSC::JSFunction::lengthGetter):
+ (JSC::JSFunction::getConstructData):
+ (JSC::JSFunction::construct):
+ * runtime/JSFunction.h:
+ (JSC::JSFunction::executable):
+ (JSC::JSFunction::jsExecutable):
+ (JSC::JSFunction::isHostFunction):
+
+2009-08-20 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Browser hangs on opening Web Inspector.
+ https://bugs.webkit.org/show_bug.cgi?id=28438
+
+ Code generation needs to be able to walk the entire scopechain in some
+ cases, however the symbol table used by activations was a member of the
+ codeblock. Following recompilation this may no longer exist, leading
+ to a crash or hang on lookup.
+
+ We fix this by introducing a refcounted SymbolTable subclass, SharedSymbolTable,
+ for the CodeBlocks used by function code. This allows activations to
+ maintain ownership of a copy of the symbol table even after recompilation so
+ they can continue to work.
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::CodeBlock):
+ * bytecode/CodeBlock.h:
+ (JSC::CodeBlock::symbolTable):
+ (JSC::CodeBlock::sharedSymbolTable):
+ (JSC::GlobalCodeBlock::GlobalCodeBlock):
+ (JSC::FunctionCodeBlock::FunctionCodeBlock):
+ (JSC::FunctionCodeBlock::~FunctionCodeBlock):
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::retrieveArguments):
+ * runtime/Executable.cpp:
+ (JSC::EvalExecutable::generateBytecode):
+ (JSC::FunctionExecutable::generateBytecode):
+ (JSC::FunctionExecutable::reparseExceptionInfo):
+ (JSC::EvalExecutable::reparseExceptionInfo):
+ * runtime/JSActivation.h:
+ (JSC::JSActivation::JSActivationData::JSActivationData):
+ (JSC::JSActivation::JSActivationData::~JSActivationData):
+ * runtime/SymbolTable.h:
+
+2009-08-20 Xan Lopez <xlopez@igalia.com>
+
+ Add new file to GTK+ build.
+
+ * GNUmakefile.am:
+
+2009-08-20 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Added a number => string cache.
+
+ 1.07x faster on v8 (1.7x faster on v8-splay).
+ 1.004x faster on SunSpider.
+
+ * runtime/JSCell.h: Moved JSValue::toString to JSString.h.
+ * runtime/JSGlobalData.h: Holds the cache.
+ * runtime/JSNumberCell.cpp:
+ (JSC::JSNumberCell::toString):
+ (JSC::JSNumberCell::toThisString): Removed -0 special case.
+ UString handles this now, since too many clients were
+ special-casing it.
+
+ * runtime/JSString.h:
+ (JSC::JSValue::toString): Use the cache when converting
+ an int or double to string.
+
+ * runtime/Operations.h:
+ (JSC::concatenateStrings): Call toString to take advantage
+ of the cache.
+
+ * runtime/SmallStrings.h:
+ (JSC::NumericStrings::add):
+ (JSC::NumericStrings::lookup): The cache.
+
+ * runtime/UString.cpp:
+ (JSC::UString::from): Added -0 special case mentioned above.
+ Removed appendNumeric because it's mutually exclusive with the
+ cache.
+
+2009-08-20 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ REGRESSION: fast/profiler/call.html is crashing occasionally
+ https://bugs.webkit.org/show_bug.cgi?id=28476
+
+ Using the codeblock for information about how many parameters and
+ locals a function has is unsafe in certain circumstances. The
+ basic scenario is all function code being cleared in response to
+ the debugger or profiler being enabled, and then an activation is
+ marked before its associated function is re-executed.
+
+ To deal with this scenario we store the variable count of a function
+ directly in the FunctionExecutable, and then use that information.
+
+ * runtime/Arguments.h:
+ (JSC::Arguments::getArgumentsData):
+ * runtime/Executable.cpp:
+ (JSC::FunctionExecutable::generateBytecode):
+ * runtime/Executable.h:
+ (JSC::FunctionExecutable::FunctionExecutable):
+ (JSC::FunctionExecutable::variableCount):
+ * runtime/JSActivation.cpp:
+ (JSC::JSActivation::markChildren):
+
+2009-08-20 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Numbering of arguments to emitGetJITStubArg/emitPutJITStubArg incorrect
+ <bug lost in the great bug disasteroony of 08/20/09!>
+
+ The argumentNumber argument to emitGetJITStubArg/emitPutJITStubArg should match
+ the argument number used within the stub functions in JITStubs.cpp, but it doesn't.
+
+ Firstly, all the numbers changed when we added a void* 'reserved' as the first slot
+ (rather than leaving argument 0 unused), and secondly in 32_64 builds the index to
+ peek/poke needs to be multiplies by 2 (since the argument to peek/poke is a number
+ of machine words, and on 32_64 build the argument slots to stub functions are two
+ words wide).
+
+ * jit/JIT.h:
+ * jit/JITCall.cpp:
+ (JSC::JIT::compileOpCallSetupArgs):
+ (JSC::JIT::compileOpConstructSetupArgs):
+ (JSC::JIT::compileOpCallVarargsSetupArgs):
+ (JSC::JIT::compileOpCall):
+ * jit/JITInlineMethods.h:
+ (JSC::JIT::emitPutJITStubArg):
+ (JSC::JIT::emitPutJITStubArgConstant):
+ (JSC::JIT::emitGetJITStubArg):
+ (JSC::JIT::emitPutJITStubArgFromVirtualRegister):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::privateCompileCTIMachineTrampolines):
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::privateCompilePutByIdTransition):
+
+2009-08-20 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ REGRESSION: significant slowdown on Celtic Kane "AJAX declaration" subtest
+ https://bugs.webkit.org/show_bug.cgi?id=28332
+
+ Follow up style fixes that were missed in review.
+
+ * runtime/Structure.cpp:
+ (JSC::Structure::hasTransition):
+ * runtime/Structure.h:
+ (JSC::Structure::get):
+ (JSC::StructureTransitionTable::contains):
+ * runtime/StructureTransitionTable.h:
+ (JSC::StructureTransitionTable::add):
+
+2009-08-20 Oliver Hunt <oliver@apple.com>
+
+ Add new exports to windows jsc build
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-08-20 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ REGRESSION: significant slowdown on Celtic Kane "AJAX declaration" subtest
+ https://bugs.webkit.org/show_bug.cgi?id=28332
+
+ The method check optimisation made transitions aware of the value being
+ assigned when a transition was assigning a function. This had the side
+ effect of making every assignment of a function expression result in a
+ new transition, and thus a new Structure. The net result of this is that
+ the common JS idiom of
+
+ function MyObject() {
+ this.myFunction = function(...){...};
+ }
+ new MyObject();
+
+ Will produce a unique structure on every iteration, meaning that all
+ caching is defeated and there is a significant amount of structure churn.
+
+ The fix is to return the transition to its original form where it is
+ keyed off a property name + attributes tuple, but have each transition
+ support an optional transition on a specific value.
+
+ * JavaScriptCore.exp:
+ * runtime/JSObject.h:
+ (JSC::JSObject::putDirectInternal):
+ * runtime/Structure.cpp:
+ (JSC::Structure::~Structure):
+ (JSC::Structure::addPropertyTransitionToExistingStructure):
+ (JSC::Structure::addPropertyTransition):
+ (JSC::Structure::hasTransition):
+ * runtime/Structure.h:
+ (JSC::Structure::transitionedFor):
+ (JSC::Structure::hasTransition):
+ (JSC::Structure::):
+ (JSC::StructureTransitionTable::contains):
+ (JSC::StructureTransitionTable::get):
+ * runtime/StructureTransitionTable.h:
+ (JSC::StructureTransitionTableHashTraits::emptyValue):
+ (JSC::StructureTransitionTable::hasTransition):
+ (JSC::StructureTransitionTable::remove):
+ (JSC::StructureTransitionTable::add):
+
+2009-08-20 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Remove FunctionCodeBlock.
+ https://bugs.webkit.org/show_bug.cgi?id=28502
+
+ These only exist to allow JIT code to dereference properties off the
+ CodeBlock for any callee, regardless of whether it is a host function.
+
+ Instead just use the FunctionExecutable. Copy the m_parameters field
+ from the CodeBlock into the Executable, and use this to distinguish
+ between host functions, functions that have been bytecompiled, and
+ functions that have not.
+
+ m_parameters is moved to ExecutableBase rather than FunctionExecutable
+ so that (as a separate change) we can move make a separate class of
+ executable for host code, which is not devived from FunctionExecutable
+ (host code does not feature any of the properties that normal executable
+ do and will provide, such as source, attributes, and a parsed name).
+
+ 1% win on v8 tests, 0.5% on sunspider.
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::derefStructures):
+ (JSC::CodeBlock::refStructures):
+ (JSC::CodeBlock::reparseForExceptionInfoIfNecessary):
+ (JSC::CodeBlock::handlerForBytecodeOffset):
+ (JSC::CodeBlock::lineNumberForBytecodeOffset):
+ (JSC::CodeBlock::expressionRangeForBytecodeOffset):
+ (JSC::CodeBlock::getByIdExceptionInfoForBytecodeOffset):
+ (JSC::CodeBlock::functionRegisterForBytecodeOffset):
+ (JSC::CodeBlock::hasGlobalResolveInstructionAtBytecodeOffset):
+ (JSC::CodeBlock::hasGlobalResolveInfoAtBytecodeOffset):
+ * bytecode/CodeBlock.h:
+ (JSC::):
+ (JSC::CodeBlock::source):
+ (JSC::CodeBlock::sourceOffset):
+ (JSC::CodeBlock::evalCodeCache):
+ (JSC::CodeBlock::createRareDataIfNecessary):
+
+ remove NativeCodeBlocks and the NativeCode code type.
+
+ * jit/JIT.cpp:
+ (JSC::JIT::linkCall):
+
+ Revert to previous behaviour (as currently still commented!) that Hhost functions have a null codeblock.
+
+ * jit/JITCall.cpp:
+ (JSC::JIT::compileOpCallInitializeCallFrame):
+ (JSC::JIT::compileOpCallSetupArgs):
+ (JSC::JIT::compileOpCallVarargsSetupArgs):
+ (JSC::JIT::compileOpConstructSetupArgs):
+ (JSC::JIT::compileOpCallVarargs):
+ (JSC::JIT::compileOpCall):
+ (JSC::JIT::compileOpCallSlowCase):
+
+ Bring the 32_64 & non-32_64 JITs into line with each other, callee in regT0.
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::privateCompileCTIMachineTrampolines):
+
+ Rewrite call trampolines to not use the CodeBlock.
+
+ * jit/JITStubs.cpp:
+ (JSC::DEFINE_STUB_FUNCTION):
+
+ Make call_JSFunction & call_arityCheck return the callee, don't expect to be passed the CodeBlock.
+
+ * runtime/Executable.cpp:
+ (JSC::FunctionExecutable::generateBytecode):
+ (JSC::FunctionExecutable::recompile):
+ (JSC::FunctionExecutable::FunctionExecutable):
+ * runtime/Executable.h:
+ (JSC::ExecutableBase::):
+ (JSC::ExecutableBase::ExecutableBase):
+ (JSC::FunctionExecutable::isHostFunction):
+
+ Add m_numParameters.
+
+ * runtime/JSFunction.cpp:
+ (JSC::JSFunction::~JSFunction):
+
+ Only call generatedBytecode() on JSFunctions non-host FunctionExecutables.
+
+2009-08-20 Yongjun Zhang <yongjun.zhang@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=28054
+
+ Use a helper function to work around winscw compiler forward declaration bug
+ regarding templated classes.
+
+ Add parenthesis around (PassRefPtr::*UnspecifiedBoolType) to make winscw compiler
+ work with the default UnSpecifiedBoolType() operator, which removes the winscw
+ specific bool cast hack.
+
+ * wtf/PassRefPtr.h:
+ (WTF::derefIfNotNull):
+ (WTF::PassRefPtr::~PassRefPtr):
+
+2009-08-19 Yong Li <yong.li@torchmobile.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Change namespace ARM to ARMRegisters
+ X86 to X86Registers to avoid conflict with macros
+ https://bugs.webkit.org/show_bug.cgi?id=28428
+
+ * assembler/ARMAssembler.cpp:
+ * assembler/ARMAssembler.h:
+ * assembler/ARMv7Assembler.h:
+ * assembler/MacroAssemblerARM.h:
+ * assembler/MacroAssemblerARMv7.h:
+ * assembler/MacroAssemblerX86Common.h:
+ * assembler/MacroAssemblerX86_64.h:
+ * assembler/X86Assembler.h:
+ * jit/JIT.h:
+ * jit/JITArithmetic.cpp:
+ * jit/JITInlineMethods.h:
+ * jit/JITOpcodes.cpp:
+ * wrec/WRECGenerator.cpp:
+ * wrec/WRECGenerator.h:
+ * yarr/RegexJIT.cpp:
+
+2009-08-19 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Devirtualise marking
+ https://bugs.webkit.org/show_bug.cgi?id=28294
+
+ We actually need to mark the value in a number object if we're using the
+ 32bit number representation.
+
+ * runtime/NumberObject.h:
+ (JSC::NumberObject::createStructure):
+
+2009-08-19 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Darin Adler.
+
+ We probably shouldn't be keeping the AST for eval nodes around forevar.
+ https://bugs.webkit.org/show_bug.cgi?id=28469
+
+ EvalNodes don't destroyData() (delete their parser data) since they need to hold onto
+ their varStack. Copy a list of variable onto EvalCodeBlock, and this can go away.
+
+ * bytecode/CodeBlock.h:
+ (JSC::EvalCodeBlock::variable):
+ (JSC::EvalCodeBlock::numVariables):
+ (JSC::EvalCodeBlock::adoptVariables):
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::BytecodeGenerator):
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::execute):
+ * parser/Nodes.h:
+ * runtime/Executable.cpp:
+ (JSC::EvalExecutable::generateBytecode):
+ * runtime/Executable.h:
+
+2009-08-19 Jungshik Shin <jshin@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ http://bugs.webkit.org/show_bug.cgi?id=28441
+
+ Fix a build issue with ICU 4.2 or later on Windows with Visual C++.
+ Instead of defining all isXXX and toupper/tolower as
+ WTF_Please_use_ASCIICType_instead_of_ctype_see_comment_in_ASCIICType_h,
+ #define them to be different by prepending 'WTF_...ASCIIType_h' with
+ the originial names like 'toupper_WTF_...ASCIIType_h'.
+
+ * wtf/DisallowCType.h:
+
+2009-08-18 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Assigning a function to an object should always use the existing transition, even if the transition is not specialized
+ https://bugs.webkit.org/show_bug.cgi?id=28442
+
+ Check for an unspecialized transition as an alternative to always failing if specialisation does not match.
+
+ * runtime/Structure.cpp:
+ (JSC::Structure::addPropertyTransitionToExistingStructure):
+
+2009-08-18 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ Added additional getter to ByteArray with an unsigned char as return.
+ ByteArray can take unsigned char directly now.
+
+ * wtf/ByteArray.h:
+ (WTF::ByteArray::set):
+ (WTF::ByteArray::get):
+
+2009-08-18 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=28415
+ Set svn:eol-style CRLF on all .sln and .vcproj files that don't already
+ have it.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.vcproj:
+ * JavaScriptCore.vcproj/testapi/testapi.vcproj:
+
+2009-08-18 Xan Lopez <xlopez@igalia.com>
+
+ Try to fix the GTK+ build.
+
+ * GNUmakefile.am:
+
+2009-08-17 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ No, silly runtime, AST nodes are not for you.
+
+ We still use AST nodes (ScopeNodes, particularly FunctionBodyNodes) within
+ the runtime, which means that these nodes must be persisted outside of the
+ arena, contain both parser & runtime data, etc. This is all a bit of a mess.
+
+ Move functionality into a new FunctionExecutable class.
+
+ * API/JSCallbackFunction.cpp:
+ * API/JSObjectRef.cpp:
+ * JavaScriptCore.exp:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::CodeBlock):
+ (JSC::CodeBlock::markAggregate):
+ (JSC::CodeBlock::reparseForExceptionInfoIfNecessary):
+ (JSC::CodeBlock::lineNumberForBytecodeOffset):
+ (JSC::CodeBlock::shrinkToFit):
+ * bytecode/CodeBlock.h:
+ (JSC::CodeBlock::getBytecodeIndex):
+ (JSC::CodeBlock::discardBytecode):
+ (JSC::CodeBlock::instructionCount):
+ (JSC::CodeBlock::getJITCode):
+ (JSC::CodeBlock::executablePool):
+ (JSC::CodeBlock::ownerExecutable):
+ (JSC::CodeBlock::extractExceptionInfo):
+ (JSC::CodeBlock::addFunctionDecl):
+ (JSC::CodeBlock::functionDecl):
+ (JSC::CodeBlock::numberOfFunctionDecls):
+ (JSC::CodeBlock::addFunctionExpr):
+ (JSC::CodeBlock::functionExpr):
+ (JSC::GlobalCodeBlock::GlobalCodeBlock):
+ (JSC::ProgramCodeBlock::ProgramCodeBlock):
+ (JSC::EvalCodeBlock::EvalCodeBlock):
+ (JSC::FunctionCodeBlock::FunctionCodeBlock):
+ (JSC::NativeCodeBlock::NativeCodeBlock):
+ * bytecode/EvalCodeCache.h:
+ * bytecode/SamplingTool.cpp:
+ (JSC::SamplingTool::doRun):
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::BytecodeGenerator):
+ (JSC::BytecodeGenerator::emitNewFunction):
+ (JSC::BytecodeGenerator::emitNewFunctionExpression):
+ * bytecompiler/BytecodeGenerator.h:
+ * debugger/Debugger.cpp:
+ (JSC::Debugger::recompileAllJSFunctions):
+ * interpreter/CachedCall.h:
+ (JSC::CachedCall::CachedCall):
+ * interpreter/CallFrameClosure.h:
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::unwindCallFrame):
+ (JSC::Interpreter::throwException):
+ (JSC::Interpreter::execute):
+ (JSC::Interpreter::prepareForRepeatCall):
+ (JSC::Interpreter::debug):
+ (JSC::Interpreter::privateExecute):
+ (JSC::Interpreter::retrieveLastCaller):
+ * interpreter/Interpreter.h:
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompile):
+ * jit/JIT.h:
+ (JSC::JIT::compile):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::privateCompileCTIMachineTrampolines):
+ (JSC::JIT::emit_op_new_func):
+ (JSC::JIT::emit_op_new_func_exp):
+ * jit/JITStubs.cpp:
+ (JSC::DEFINE_STUB_FUNCTION):
+ * jit/JITStubs.h:
+ (JSC::):
+ * parser/Nodes.cpp:
+ (JSC::FunctionBodyNode::reparseDataIfNecessary):
+ * parser/Nodes.h:
+ (JSC::EvalNode::partialDestroyData):
+ * parser/Parser.h:
+ * profiler/ProfileGenerator.cpp:
+ * profiler/Profiler.cpp:
+ (JSC::Profiler::createCallIdentifier):
+ (JSC::createCallIdentifierFromFunctionImp):
+ * runtime/Arguments.h:
+ (JSC::Arguments::getArgumentsData):
+ (JSC::Arguments::Arguments):
+ (JSC::JSActivation::copyRegisters):
+ * runtime/ArrayPrototype.cpp:
+ (JSC::isNumericCompareFunction):
+ * runtime/CallData.h:
+ (JSC::):
+ * runtime/Collector.cpp:
+ (JSC::Heap::collect):
+ * runtime/ConstructData.h:
+ (JSC::):
+ * runtime/ExceptionHelpers.cpp:
+ (JSC::createUndefinedVariableError):
+ (JSC::createInvalidParamError):
+ (JSC::createNotAConstructorError):
+ (JSC::createNotAFunctionError):
+ (JSC::createNotAnObjectError):
+ * runtime/Executable.cpp: Added.
+ (JSC::EvalExecutable::generateBytecode):
+ (JSC::ProgramExecutable::generateBytecode):
+ (JSC::FunctionExecutable::generateBytecode):
+ (JSC::EvalExecutable::generateJITCode):
+ (JSC::ProgramExecutable::generateJITCode):
+ (JSC::FunctionExecutable::generateJITCode):
+ (JSC::FunctionExecutable::isHostFunction):
+ (JSC::FunctionExecutable::markAggregate):
+ (JSC::FunctionExecutable::reparseExceptionInfo):
+ (JSC::EvalExecutable::reparseExceptionInfo):
+ (JSC::FunctionExecutable::recompile):
+ (JSC::FunctionExecutable::FunctionExecutable):
+ * runtime/Executable.h:
+ (JSC::ExecutableBase::~ExecutableBase):
+ (JSC::ExecutableBase::ExecutableBase):
+ (JSC::ExecutableBase::source):
+ (JSC::ExecutableBase::sourceID):
+ (JSC::ExecutableBase::lastLine):
+ (JSC::ExecutableBase::usesEval):
+ (JSC::ExecutableBase::usesArguments):
+ (JSC::ExecutableBase::needsActivation):
+ (JSC::ExecutableBase::astNode):
+ (JSC::ExecutableBase::generatedJITCode):
+ (JSC::ExecutableBase::getExecutablePool):
+ (JSC::EvalExecutable::EvalExecutable):
+ (JSC::EvalExecutable::bytecode):
+ (JSC::EvalExecutable::varStack):
+ (JSC::EvalExecutable::evalNode):
+ (JSC::EvalExecutable::jitCode):
+ (JSC::ProgramExecutable::ProgramExecutable):
+ (JSC::ProgramExecutable::reparseExceptionInfo):
+ (JSC::ProgramExecutable::bytecode):
+ (JSC::ProgramExecutable::programNode):
+ (JSC::ProgramExecutable::jitCode):
+ (JSC::FunctionExecutable::FunctionExecutable):
+ (JSC::FunctionExecutable::name):
+ (JSC::FunctionExecutable::bytecode):
+ (JSC::FunctionExecutable::generatedBytecode):
+ (JSC::FunctionExecutable::usesEval):
+ (JSC::FunctionExecutable::usesArguments):
+ (JSC::FunctionExecutable::parameterCount):
+ (JSC::FunctionExecutable::paramString):
+ (JSC::FunctionExecutable::isGenerated):
+ (JSC::FunctionExecutable::body):
+ (JSC::FunctionExecutable::jitCode):
+ (JSC::FunctionExecutable::createNativeThunk):
+ * runtime/FunctionConstructor.cpp:
+ (JSC::constructFunction):
+ * runtime/FunctionPrototype.cpp:
+ (JSC::functionProtoFuncToString):
+ * runtime/JSActivation.cpp:
+ (JSC::JSActivation::JSActivation):
+ (JSC::JSActivation::markChildren):
+ (JSC::JSActivation::isDynamicScope):
+ (JSC::JSActivation::argumentsGetter):
+ * runtime/JSActivation.h:
+ (JSC::JSActivation::JSActivationData::JSActivationData):
+ * runtime/JSFunction.cpp:
+ (JSC::JSFunction::isHostFunction):
+ (JSC::JSFunction::JSFunction):
+ (JSC::JSFunction::~JSFunction):
+ (JSC::JSFunction::markChildren):
+ (JSC::JSFunction::getCallData):
+ (JSC::JSFunction::call):
+ (JSC::JSFunction::lengthGetter):
+ (JSC::JSFunction::getConstructData):
+ (JSC::JSFunction::construct):
+ * runtime/JSFunction.h:
+ (JSC::JSFunction::executable):
+ (JSC::FunctionExecutable::make):
+ * runtime/JSGlobalData.cpp:
+ (JSC::JSGlobalData::JSGlobalData):
+ (JSC::JSGlobalData::numericCompareFunction):
+ * runtime/JSGlobalData.h:
+
+2009-08-17 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix 300,000+ leaks seen during the regression tests.
+
+ EvalCodeCache::get was heap-allocating an EvalExecutable instance without adopting the initial reference.
+ While fixing this we noticed that EvalExecutable was a RefCounted type that was sometimes stack allocated.
+ To make this cleaner and to prevent clients from attempting to ref a stack-allocated instance, we move the
+ refcounting down to a new CacheableEvalExecutable class that derives from EvalExecutable. EvalCodeCache::get
+ now uses CacheableEvalExecutable::create and avoids the leak.
+
+ * bytecode/EvalCodeCache.h:
+ (JSC::EvalCodeCache::get):
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::callEval):
+ * runtime/Executable.h:
+ (JSC::CacheableEvalExecutable::create):
+ (JSC::CacheableEvalExecutable::CacheableEvalExecutable):
+
+2009-08-17 Oliver Hunt <oliver@apple.com>
+
+ RS=Mark Rowe.
+
+ REGRESSION (r47292): Prototype.js is broken by ES5 Arguments changes
+ https://bugs.webkit.org/show_bug.cgi?id=28341
+ <rdar://problem/7145615>
+
+ Reverting r47292. Alas Prototype.js breaks with Arguments inheriting
+ from Array as ES5 attempted. Prototype.js defines $A in terms of a
+ function it places on (among other global objects) the Array prototype,
+ thus breaking $A for arrays.
+
+ * runtime/Arguments.h:
+ (JSC::Arguments::Arguments):
+ * runtime/JSGlobalObject.cpp:
+ (JSC::JSGlobalObject::reset):
+ (JSC::JSGlobalObject::markChildren):
+ * runtime/JSGlobalObject.h:
+ (JSC::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData):
+ * runtime/ObjectPrototype.cpp:
+ (JSC::ObjectPrototype::ObjectPrototype):
+ * runtime/ObjectPrototype.h:
+ * tests/mozilla/ecma_3/Function/arguments-001.js:
+
+2009-08-17 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Steve Falkenburg.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27323
+ Only add Cygwin to the path when it isn't already there. This avoids
+ causing problems for people who purposefully have non-Cygwin versions of
+ executables like svn in front of the Cygwin ones in their paths.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.vcproj:
+ * JavaScriptCore.vcproj/WTF/WTFCommon.vsprops:
+ * JavaScriptCore.vcproj/jsc/jscCommon.vsprops:
+ * JavaScriptCore.vcproj/testapi/testapiCommon.vsprops:
+
+2009-08-17 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Mark Rowe.
+
+ Fix build with FAST_MALLOC_MATCH_VALIDATION enabled.
+
+ * wtf/FastMalloc.cpp:
+ (WTF::fastMalloc):
+ (WTF::fastCalloc):
+ (WTF::fastRealloc):
+
+2009-08-16 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Mark Rowe.
+
+ Fix crash on ./ecma_2/RegExp/exec-002.js.
+ https://bugs.webkit.org/show_bug.cgi?id=28353
+
+ Change the order of freeParenthesesDisjunctionContext and
+ popParenthesesDisjunctionContext on all call sites as the pop
+ method is accessing backTrack->lastContext which is the context
+ that is about to be freed.
+
+ * yarr/RegexInterpreter.cpp:
+ (JSC::Yarr::Interpreter::parenthesesDoBacktrack):
+ (JSC::Yarr::Interpreter::backtrackParentheses):
+
+2009-08-16 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Mark Rowe.
+
+ https://bugs.webkit.org/show_bug.cgi?id=28352
+
+ Fix coding style violations. Use m_ for C++ class members. Remove
+ trailing whitespace on empty lines.
+
+ * yarr/RegexInterpreter.cpp:
+ (JSC::Yarr::Interpreter::ParenthesesDisjunctionContext::ParenthesesDisjunctionContext):
+ (JSC::Yarr::Interpreter::tryConsumeCharacter):
+ (JSC::Yarr::Interpreter::tryConsumeBackReference):
+ (JSC::Yarr::Interpreter::parenthesesDoBacktrack):
+ (JSC::Yarr::Interpreter::backtrackParentheses):
+ (JSC::Yarr::ByteCompiler::ByteCompiler):
+ (JSC::Yarr::ByteCompiler::compile):
+ (JSC::Yarr::ByteCompiler::checkInput):
+ (JSC::Yarr::ByteCompiler::assertionBOL):
+ (JSC::Yarr::ByteCompiler::assertionEOL):
+ (JSC::Yarr::ByteCompiler::assertionWordBoundary):
+ (JSC::Yarr::ByteCompiler::atomPatternCharacter):
+ (JSC::Yarr::ByteCompiler::atomCharacterClass):
+ (JSC::Yarr::ByteCompiler::atomBackReference):
+ (JSC::Yarr::ByteCompiler::atomParenthesesSubpatternBegin):
+ (JSC::Yarr::ByteCompiler::atomParentheticalAssertionBegin):
+ (JSC::Yarr::ByteCompiler::popParenthesesStack):
+ (JSC::Yarr::ByteCompiler::closeAlternative):
+ (JSC::Yarr::ByteCompiler::closeBodyAlternative):
+ (JSC::Yarr::ByteCompiler::atomParenthesesEnd):
+ (JSC::Yarr::ByteCompiler::regexBegin):
+ (JSC::Yarr::ByteCompiler::alterantiveBodyDisjunction):
+ (JSC::Yarr::ByteCompiler::alterantiveDisjunction):
+ (JSC::Yarr::ByteCompiler::emitDisjunction):
+
+2009-08-15 Mark Rowe <mrowe@apple.com>
+
+ Fix the build with JIT disabled.
+
+ * runtime/Arguments.h: Only compile the jitCode method when the JIT is enabled.
+ * runtime/Executable.h: Include PrototypeFunction.h so the compiler knows what
+ NativeFunctionWrapper is when the JIT is disabled.
+
+2009-08-15 Adam Bergkvist <adam.bergkvist@ericsson.com>
+
+ Reviewed by Sam Weinig.
+
+ Added ENABLE_EVENTSOURCE flag.
+ https://bugs.webkit.org/show_bug.cgi?id=14997
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2009-08-14 Gavin Barraclough <barraclough@apple.com>
+
+ * parser/Parser.h:
+ (JSC::EvalExecutable::parse):
+ (JSC::ProgramExecutable::parse):
+ * runtime/Executable.h:
+
+2009-08-14 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Remove AST nodes from use within the Runtime (outside of parsing), stage 1
+ https://bugs.webkit.org/show_bug.cgi?id=28330
+
+ Remove the EvalNode and ProgramNode from use in the runtime. They still exist
+ after this patch, but are hidden behind EvalExecutable and FunctionExecutable,
+ and are also still reachable behind CodeBlock::m_ownerNode.
+
+ The next step will be to beat back FunctionBodyNode in the same fashion.
+ Then remove the usage via CodeBlock, then only construct these nodes only on
+ demand during bytecode generation.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * bytecode/CodeBlock.h:
+ (JSC::GlobalCodeBlock::GlobalCodeBlock):
+ (JSC::GlobalCodeBlock::~GlobalCodeBlock):
+ (JSC::ProgramCodeBlock::ProgramCodeBlock):
+ (JSC::EvalCodeBlock::EvalCodeBlock):
+ (JSC::FunctionCodeBlock::FunctionCodeBlock):
+ (JSC::NativeCodeBlock::NativeCodeBlock):
+ * bytecode/EvalCodeCache.h:
+ (JSC::EvalCodeCache::get):
+ * debugger/Debugger.cpp:
+ (JSC::evaluateInGlobalCallFrame):
+ * debugger/DebuggerCallFrame.cpp:
+ (JSC::DebuggerCallFrame::evaluate):
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::callEval):
+ (JSC::Interpreter::execute):
+ * interpreter/Interpreter.h:
+ * parser/Nodes.cpp:
+ (JSC::FunctionBodyNode::createNativeThunk):
+ (JSC::FunctionBodyNode::generateBytecode):
+ (JSC::FunctionBodyNode::bytecodeForExceptionInfoReparse):
+ * parser/Parser.h:
+ (JSC::Parser::parse):
+ (JSC::Parser::reparse):
+ (JSC::Parser::parseFunctionFromGlobalCode):
+ (JSC::::parse):
+ * runtime/Completion.cpp:
+ (JSC::checkSyntax):
+ (JSC::evaluate):
+ * runtime/Error.cpp:
+ (JSC::throwError):
+ * runtime/Error.h:
+ * runtime/Executable.h: Added.
+ (JSC::TemplateExecutable::TemplateExecutable):
+ (JSC::TemplateExecutable::markAggregate):
+ (JSC::TemplateExecutable::sourceURL):
+ (JSC::TemplateExecutable::lineNo):
+ (JSC::TemplateExecutable::bytecode):
+ (JSC::TemplateExecutable::jitCode):
+ (JSC::EvalExecutable::EvalExecutable):
+ (JSC::ProgramExecutable::ProgramExecutable):
+ * runtime/FunctionConstructor.cpp:
+ (JSC::constructFunction):
+ * runtime/FunctionConstructor.h:
+ * runtime/JSGlobalData.cpp:
+ (JSC::JSGlobalData::numericCompareFunction):
+ * runtime/JSGlobalObject.cpp:
+ (JSC::JSGlobalObject::~JSGlobalObject):
+ (JSC::JSGlobalObject::markChildren):
+ * runtime/JSGlobalObject.h:
+ (JSC::JSGlobalObject::codeBlocks):
+ * runtime/JSGlobalObjectFunctions.cpp:
+ (JSC::globalFuncEval):
+
+2009-08-14 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Rename the confusing isObject(<class>) to inherits(<class>).
+ It still works on non-objects, returning false.
+
+ * runtime/ArrayConstructor.cpp:
+ (JSC::arrayConstructorIsArray): Removed unneeded isObject call
+ and updated remaining isObject call to new name, inherits.
+
+ * runtime/JSCell.h: Renamed isObject(<class>) to inherits(<class>)
+ but more importantly, made it non-virtual (it was already inline)
+ so it is now as fast as JSObject::inherits was.
+
+ * runtime/JSObject.h: Removed inherits function since the one
+ in the base class is fine as-is. Also made various JSCell functions
+ that should not be called on JSObject uncallable by making them
+ both private and not implemented.
+ (JSC::JSCell::inherits): Updated name.
+ (JSC::JSValue::inherits): Ditto.
+
+ * debugger/Debugger.cpp:
+ (JSC::Debugger::recompileAllJSFunctions):
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::unwindCallFrame):
+ * runtime/ArrayPrototype.cpp:
+ (JSC::arrayProtoFuncToString):
+ (JSC::arrayProtoFuncToLocaleString):
+ (JSC::arrayProtoFuncConcat):
+ * runtime/BooleanPrototype.cpp:
+ (JSC::booleanProtoFuncToString):
+ (JSC::booleanProtoFuncValueOf):
+ * runtime/DateConstructor.cpp:
+ (JSC::constructDate):
+ * runtime/DatePrototype.cpp:
+ (JSC::dateProtoFuncToString):
+ (JSC::dateProtoFuncToUTCString):
+ (JSC::dateProtoFuncToISOString):
+ (JSC::dateProtoFuncToDateString):
+ (JSC::dateProtoFuncToTimeString):
+ (JSC::dateProtoFuncToLocaleString):
+ (JSC::dateProtoFuncToLocaleDateString):
+ (JSC::dateProtoFuncToLocaleTimeString):
+ (JSC::dateProtoFuncGetTime):
+ (JSC::dateProtoFuncGetFullYear):
+ (JSC::dateProtoFuncGetUTCFullYear):
+ (JSC::dateProtoFuncToGMTString):
+ (JSC::dateProtoFuncGetMonth):
+ (JSC::dateProtoFuncGetUTCMonth):
+ (JSC::dateProtoFuncGetDate):
+ (JSC::dateProtoFuncGetUTCDate):
+ (JSC::dateProtoFuncGetDay):
+ (JSC::dateProtoFuncGetUTCDay):
+ (JSC::dateProtoFuncGetHours):
+ (JSC::dateProtoFuncGetUTCHours):
+ (JSC::dateProtoFuncGetMinutes):
+ (JSC::dateProtoFuncGetUTCMinutes):
+ (JSC::dateProtoFuncGetSeconds):
+ (JSC::dateProtoFuncGetUTCSeconds):
+ (JSC::dateProtoFuncGetMilliSeconds):
+ (JSC::dateProtoFuncGetUTCMilliseconds):
+ (JSC::dateProtoFuncGetTimezoneOffset):
+ (JSC::dateProtoFuncSetTime):
+ (JSC::setNewValueFromTimeArgs):
+ (JSC::setNewValueFromDateArgs):
+ (JSC::dateProtoFuncSetYear):
+ (JSC::dateProtoFuncGetYear):
+ * runtime/FunctionPrototype.cpp:
+ (JSC::functionProtoFuncToString):
+ * runtime/JSActivation.cpp:
+ (JSC::JSActivation::argumentsGetter):
+ * runtime/JSValue.h:
+ * runtime/RegExpConstructor.cpp:
+ (JSC::constructRegExp):
+ * runtime/RegExpPrototype.cpp:
+ (JSC::regExpProtoFuncTest):
+ (JSC::regExpProtoFuncExec):
+ (JSC::regExpProtoFuncCompile):
+ (JSC::regExpProtoFuncToString):
+ * runtime/ScopeChain.cpp:
+ (JSC::ScopeChain::localDepth):
+ * runtime/StringPrototype.cpp:
+ (JSC::stringProtoFuncReplace):
+ (JSC::stringProtoFuncToString):
+ (JSC::stringProtoFuncMatch):
+ (JSC::stringProtoFuncSearch):
+ (JSC::stringProtoFuncSplit):
+ Updated to new name, inherits, from old name, isObject.
+
+2009-07-31 Harald Fernengel <harald.fernengel@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Adding QNX as a platform. Currently only tested with Qt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27885
+
+ * JavaScriptCore/runtime/Collector.cpp: Added retrieving of stack base
+ since QNX doesn't have the pthread _nt functions
+ * JavaScriptCore/wtf/Platform.h: Added WTF_PLATFORM_QNX and corresponding
+ defines
+ * WebCore/bridge/npapi.h: Build fix for missing typedefs on QNX
+
+2009-08-14 Gabor Loki <loki@inf.u-szeged.hu>
+
+ Reviewed by Simon Hausmann.
+
+ Currently generic ARM and ARMv7 platforms work only with JSVALUE32
+ https://bugs.webkit.org/show_bug.cgi?id=28300
+
+ * wtf/Platform.h:
+
+2009-08-14 Gabor Loki <loki@inf.u-szeged.hu>
+
+ Reviewed by Simon Hausmann.
+
+ Enable JIT on ARM for QT by default
+ https://bugs.webkit.org/show_bug.cgi?id=28259
+
+ * wtf/Platform.h:
+
+2009-08-14 Gabor Loki <loki@inf.u-szeged.hu>
+
+ Reviewed by Simon Hausmann.
+
+ Enable YARR_JIT on ARM for QT by default
+ https://bugs.webkit.org/show_bug.cgi?id=28259
+
+ * wtf/Platform.h:
+
+2009-08-14 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ [ES5] Arguments object should inherit from Array
+ https://bugs.webkit.org/show_bug.cgi?id=28298
+
+ Make the Arguments object conform to the behaviour specified in ES5.
+ The simple portion of this is to make Arguments use Array.prototype
+ as its prototype rather than Object.prototype.
+
+ The spec then requires us to set instance.constructor to the pristine
+ Object constructor, and instance.toString and instance.toLocaleString
+ to the pristine versions from Object.prototype. To do this we now
+ make the ObjectPrototype constructor return its toString and
+ toLocaleString functions (similar to the call and apply functions
+ from FunctionPrototype).
+
+ Oddly enough this reports itself as a slight win, but given the code
+ isn't hit in the tests that claim to have improved I put this down to
+ code motion.
+
+ * runtime/Arguments.h:
+ (JSC::Arguments::Arguments):
+ (JSC::Arguments::initializeStandardProperties):
+ * runtime/JSGlobalObject.cpp:
+ (JSC::JSGlobalObject::reset):
+ (JSC::JSGlobalObject::markChildren):
+ * runtime/JSGlobalObject.h:
+ (JSC::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData):
+ (JSC::JSGlobalObject::objectConstructor):
+ (JSC::JSGlobalObject::objectToStringFunction):
+ (JSC::JSGlobalObject::objectToLocaleStringFunction):
+ * runtime/ObjectPrototype.cpp:
+ (JSC::ObjectPrototype::ObjectPrototype):
+ * runtime/ObjectPrototype.h:
+ * tests/mozilla/ecma_3/Function/arguments-001.js:
+ Update test to new es5 behaviour
+
+2009-08-14 Oliver Hunt <oliver@apple.com>
+
+ Remove MarkStack::drain from the JSC exports file
+
+ MarkStack::drain is now marked inline, the including it in the exports file
+ produces an ld warning
+
+ * JavaScriptCore.exp:
+
+2009-08-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ Remove accidentally left in debugging statement.
+
+ * runtime/JSArray.h:
+ (JSC::MarkStack::drain):
+
+2009-08-13 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ [ES5] Implement Array.isArray
+ https://bugs.webkit.org/show_bug.cgi?id=28296
+
+ Add support for Array.isArray to the Array constructor
+
+ * runtime/ArrayConstructor.cpp:
+ (JSC::ArrayConstructor::ArrayConstructor):
+ (JSC::arrayConstructorIsArray):
+ * runtime/ArrayConstructor.h:
+ * runtime/CommonIdentifiers.h:
+ * runtime/JSArray.h:
+ (JSC::MarkStack::drain):
+ * runtime/JSGlobalObject.cpp:
+ (JSC::JSGlobalObject::reset):
+
+2009-08-13 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by NOBODY (Buildfix).
+
+ Attempt to fix windows build
+
+ * runtime/Collector.cpp:
+
+2009-08-13 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Devirtualise marking
+ https://bugs.webkit.org/show_bug.cgi?id=28294
+
+ Add a bit to TypeInfo to indicate that an object uses the standard
+ JSObject::markChildren method. This allows us to devirtualise marking
+ of most objects (though a branch is still needed). We also add a branch
+ to identify arrays thus devirtualising marking in that case as well.
+
+ In order to make the best use of this devirtualisation I've also reworked
+ the MarkStack::drain() logic to make the iteration more efficient.
+
+ * API/JSCallbackConstructor.h:
+ (JSC::JSCallbackConstructor::createStructure):
+ * API/JSCallbackFunction.h:
+ (JSC::JSCallbackFunction::createStructure):
+ * JavaScriptCore.exp:
+ * runtime/BooleanObject.h:
+ (JSC::BooleanObject::createStructure):
+ * runtime/FunctionPrototype.h:
+ (JSC::FunctionPrototype::createStructure):
+ * runtime/InternalFunction.h:
+ (JSC::InternalFunction::createStructure):
+ * runtime/JSAPIValueWrapper.h:
+ (JSC::JSAPIValueWrapper::JSAPIValueWrapper):
+ * runtime/JSArray.cpp:
+ (JSC::JSArray::markChildren):
+ * runtime/JSArray.h:
+ (JSC::JSArray::markChildrenDirect):
+ (JSC::MarkStack::drain):
+ * runtime/JSByteArray.cpp:
+ (JSC::JSByteArray::createStructure):
+ * runtime/JSCell.h:
+ (JSC::MarkStack::append):
+ * runtime/JSGlobalData.cpp:
+ (JSC::JSGlobalData::JSGlobalData):
+ * runtime/JSNumberCell.h:
+ (JSC::JSNumberCell::createStructure):
+ * runtime/JSONObject.h:
+ (JSC::JSONObject::createStructure):
+ * runtime/JSObject.cpp:
+ (JSC::JSObject::markChildren):
+ * runtime/JSObject.h:
+ (JSC::JSObject::markChildrenDirect):
+ (JSC::JSObject::createStructure):
+ * runtime/JSString.h:
+ (JSC::JSString::createStructure):
+ * runtime/JSType.h:
+ (JSC::):
+ * runtime/MarkStack.h:
+ (JSC::MarkStack::MarkStack):
+ (JSC::MarkStack::MarkSet::MarkSet):
+ (JSC::MarkStack::MarkStackArray::last):
+ * runtime/MathObject.h:
+ (JSC::MathObject::createStructure):
+ * runtime/NumberConstructor.h:
+ (JSC::NumberConstructor::createStructure):
+ * runtime/NumberObject.h:
+ (JSC::NumberObject::createStructure):
+ * runtime/RegExpConstructor.h:
+ (JSC::RegExpConstructor::createStructure):
+ * runtime/RegExpObject.h:
+ (JSC::RegExpObject::createStructure):
+ * runtime/StringObjectThatMasqueradesAsUndefined.h:
+ (JSC::StringObjectThatMasqueradesAsUndefined::createStructure):
+ * runtime/TypeInfo.h:
+ (JSC::TypeInfo::hasDefaultMark):
+
+2009-08-13 Darin Adler <darin@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Some small bits of housekeeping.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj: Make Parser.h
+ project instead of private. Remove JSONObject.lut.h.
+
+ * assembler/ARMAssembler.h: Remove unneeded WTF prefix.
+ * assembler/AssemblerBufferWithConstantPool.h: Ditto.
+ * bytecompiler/BytecodeGenerator.h: Ditto.
+
+ * wtf/SegmentedVector.h: Add a "using" statement as we do
+ with the other WTF headers.
+
+2009-08-13 Darin Adler <darin@apple.com>
+
+ Fix Tiger build.
+
+ * parser/Grammar.y: Use a template function so we can compile
+ setStatementLocation even if it comes before YYLTYPE is defined.
+
+2009-08-13 Darin Adler <darin@apple.com>
+
+ Reviewed by George Staikos.
+
+ Too much use of void* in Grammar.y
+ https://bugs.webkit.org/show_bug.cgi?id=28287
+
+ * parser/Grammar.y: Changed all the helper functions to
+ take a JSGlobalData* instead of a void*. A couple formatting
+ tweaks that I missed when breaking this into pieces.
+
+2009-08-13 Darin Adler <darin@apple.com>
+
+ Reviewed by George Staikos.
+
+ Another part of https://bugs.webkit.org/show_bug.cgi?id=28287
+
+ * parser/Grammar.y: Reduced and sorted includes. Tweaked comment
+ format. Marked a few more functions inline.
+
+2009-08-13 Darin Adler <darin@apple.com>
+
+ Reviewed by George Staikos.
+
+ Another part of https://bugs.webkit.org/show_bug.cgi?id=28287
+
+ * parser/Grammar.y: Pass the number to the PropertyNode instead of
+ first turning it into an Identifier.
+
+ * parser/NodeConstructors.h:
+ (JSC::PropertyNode::PropertyNode): Add an overload that takes a double
+ so the code to convert to a string can be here instead of Grammar.y.
+ * parser/Nodes.h: Ditto.
+
+2009-08-13 Darin Adler <darin@apple.com>
+
+ Reviewed by George Staikos.
+
+ Another part of https://bugs.webkit.org/show_bug.cgi?id=28287
+
+ * parser/Grammar.y: Eliminate the DBG macro.
+
+2009-08-13 Darin Adler <darin@apple.com>
+
+ Reviewed by George Staikos.
+
+ Another part of https://bugs.webkit.org/show_bug.cgi?id=28287
+
+ * parser/Grammar.y: Eliminate the SET_EXCEPTION_LOCATION macro.
+
+2009-08-13 Darin Adler <darin@apple.com>
+
+ Reviewed by George Staikos.
+
+ George asked me to break the patch from
+ https://bugs.webkit.org/show_bug.cgi?id=28287
+ into smaller pieces and land it in stages.
+
+ * parser/Grammar.y: Eliminate the LEXER macro.
+
+2009-08-13 Mark Rowe <mrowe@apple.com>
+
+ Try some more to fix the Windows build.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: Export a new symbol.
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def: Ditto.
+
+2009-08-13 Mark Rowe <mrowe@apple.com>
+
+ Try and fix the Windows build.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: Export a new symbol.
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def: Ditto.
+
+2009-08-13 Darin Adler <darin@apple.com>
+
+ Reviewed by David Levin.
+
+ JavaScriptCore tweaks to get ready for the parser arena
+ https://bugs.webkit.org/show_bug.cgi?id=28243
+
+ Eliminate dependencies on Nodes.h outside JavaScriptCore,
+ and cut down on them inside JavaScriptCore.
+
+ Change regular expression parsing to use identifiers as
+ with other strings we parse.
+
+ Fix a couple things that are needed to use const Identifier
+ more, which will be part of the parser arena work.
+
+ * JavaScriptCore.exp: Resorted and updated.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj: Changed
+ CollectorHeapIterator.h to be project-internal.
+
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::emitPushNewScope): Added const.
+ * bytecompiler/BytecodeGenerator.h: Ditto.
+
+ * debugger/Debugger.cpp:
+ (JSC::Debugger::recompileAllJSFunctions): Moved this function
+ here from WebCore. Here is better since it uses so many internals.
+ Removed unimportant optimization for the no listener case.
+ * debugger/Debugger.h: Ditto. Also removed unneeded include
+ and tweaked formatting and comments.
+
+ * debugger/DebuggerCallFrame.cpp:
+ (JSC::DebuggerCallFrame::functionName): Call asFunction instead
+ of doing the unchecked static_cast.
+ (JSC::DebuggerCallFrame::calculatedFunctionName): Ditto.
+
+ * jit/JITStubs.cpp:
+ (JSC::op_call_JSFunction): Call isHostFunction on the body rather
+ than on the JSFunction.
+ (JSC::vm_lazyLinkCall): Ditto.
+ (JSC::op_construct_JSConstruct): Ditto.
+
+ * parser/Grammar.y: Changed callers to use new scanRegExp with
+ out arguments instead of relying on state in the Lexer. And
+ callers that just want to skip a regular expression to use
+ skipRegExp.
+
+ * parser/Lexer.cpp:
+ (JSC::Lexer::scanRegExp): Changed to use out arguments, and to
+ add a prefix argument so we can add in the "=" character as needed.
+ Also rewrote to streamline the logic a bit inspired by suggestions
+ by David Levin.
+ (JSC::Lexer::skipRegExp): Added. Version of the function above that
+ does not actually put the regular expression into a string.
+ (JSC::Lexer::clear): Removed code to clear m_pattern and m_flags.
+ * parser/Lexer.h: Changed scanRegExp to have out arguments. Added
+ skipRegExp. Eliminated pattern, flags, m_pattern, and m_flags.
+
+ * parser/NodeConstructors.h:
+ (JSC::RegExpNode::RegExpNode): Changed to take const Identifier&.
+ * parser/Nodes.cpp:
+ (JSC::RegExpNode::emitBytecode): Changed since m_pattern and
+ m_flags are now Identifier instead of UString.
+ (JSC::FunctionBodyNode::make): Moved this function here instead
+ of putting it in the JSFunction.h header.
+ * parser/Nodes.h: Changed RegExpNode to use Identifier.
+
+ * profiler/Profiler.cpp:
+ (JSC::Profiler::createCallIdentifier): Changed to use isHostFunction
+ on the body instead of on the JSFunction object.
+ * runtime/FunctionPrototype.cpp:
+ (JSC::functionProtoFuncToString): Ditto.
+
+ * runtime/JSFunction.cpp:
+ (JSC::JSFunction::isHostFunction): Moved here from header.
+ (JSC::JSFunction::isHostFunctionNonInline): Added.
+ (JSC::JSFunction::JSFunction): Removed unneeded initialization of
+ m_body to 0.
+ (JSC::JSFunction::setBody): Moved here from header.
+
+ * runtime/JSFunction.h: Removed unneeded includes. Moved private
+ constructor down to the private section. Made virtual functions
+ private. Removed unneeded overload of setBody and moved the body
+ of the function into the .cpp file. Changed assertions to use
+ the non-inline version of isHostFunction.
+
+ * runtime/PropertySlot.cpp:
+ (JSC::PropertySlot::functionGetter): Use asFunction instead
+ of doing the unchecked static_cast.
+
+ * wtf/SegmentedVector.h:
+ (WTF::SegmentedVector::isEmpty): Added.
+
+2009-08-13 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Darin Adler.
+
+ Use the version of operator new that takes a JSGlobalData when allocating FuncDeclNode and FuncExprNode
+ from within the grammar to prevent these nodes from being leaked.
+
+ * parser/Grammar.y:
+
+2009-08-13 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Ariya Hidayat.
+
+ Remove the special-case for Qt wrt JSVALUE_32 introduced in
+ r46709. It must've been a dependency issue on the bot, as
+ after a manual build all the tests pass on amd64 and ia32.
+
+ * wtf/Platform.h:
+
+2009-08-12 Gabor Loki <loki@inf.u-szeged.hu>
+
+ Reviewed by Gavin Barraclough.
+
+ Add optimize call and property access support for ARM JIT.
+ https://bugs.webkit.org/show_bug.cgi?id=24986
+
+ For tightly coupled sequences the BEGIN_UNINTERRUPTED_SEQUENCE and
+ END_UNINTERRUPTED_SEQUENCE macros have been introduced which ensure
+ space for instructions and constants of the named sequence. This
+ method is vital for those architecture which are using constant pool.
+
+ The 'latePatch' method - which was linked to JmpSrc - is replaced with
+ a port specific solution (each calls are marked to place their address
+ on the constant pool).
+
+ * assembler/ARMAssembler.cpp:
+ (JSC::ARMAssembler::linkBranch):
+ (JSC::ARMAssembler::executableCopy): Add extra align for constant pool.
+ * assembler/ARMAssembler.h:
+ (JSC::ARMAssembler::JmpSrc::JmpSrc):
+ (JSC::ARMAssembler::sizeOfConstantPool):
+ (JSC::ARMAssembler::jmp):
+ (JSC::ARMAssembler::linkCall):
+ * assembler/ARMv7Assembler.h:
+ * assembler/AbstractMacroAssembler.h:
+ * assembler/AssemblerBufferWithConstantPool.h:
+ (JSC::AssemblerBufferWithConstantPool::flushIfNoSpaceFor): Fix the
+ computation of the remaining space.
+ * assembler/MacroAssemblerARM.h:
+ (JSC::MacroAssemblerARM::branch32):
+ (JSC::MacroAssemblerARM::nearCall):
+ (JSC::MacroAssemblerARM::call):
+ (JSC::MacroAssemblerARM::branchPtrWithPatch):
+ (JSC::MacroAssemblerARM::ensureSpace):
+ (JSC::MacroAssemblerARM::sizeOfConstantPool):
+ (JSC::MacroAssemblerARM::prepareCall):
+ * assembler/X86Assembler.h:
+ * jit/JIT.h:
+ * jit/JITCall.cpp:
+ (JSC::JIT::compileOpCall):
+ * jit/JITInlineMethods.h:
+ (JSC::JIT::beginUninterruptedSequence):
+ (JSC::JIT::endUninterruptedSequence):
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::emit_op_method_check):
+ (JSC::JIT::compileGetByIdHotPath):
+ (JSC::JIT::compileGetByIdSlowCase):
+ (JSC::JIT::emit_op_put_by_id):
+
+2009-08-12 Gavin Barraclough <barraclough@apple.com>
+
+ Rubber Stamped by Dave Kilzer.
+
+ Disable WTF_USE_JSVALUE32_64 on iPhone for now (support not yet added for ARMv7).
+
+ * wtf/Platform.h:
+
+2009-08-12 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Maciej Stachoviak.
+
+ Ooops - moved code that had been accidentally added to op_new_func instead of
+ op_new_func_exp, to where it shoulds be.
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+ * wtf/Platform.h:
+
+2009-08-12 Ada Chan <adachan@apple.com>
+
+ Added workaround for the limitation that VirtualFree with MEM_RELEASE
+ can only accept the base address returned by VirtualAlloc when the region
+ was reserved and it can only free the entire region, and not a part of it.
+
+ Reviewed by Oliver Hunt.
+
+ * runtime/MarkStack.h:
+ (JSC::MarkStack::MarkStackArray::shrinkAllocation):
+ * runtime/MarkStackWin.cpp:
+ (JSC::MarkStack::releaseStack):
+
+2009-08-12 Balazs Kelemen <kelemen.balazs.3@stud.u-szeged.hu>
+
+ Reviewed by Ariya Hidayat.
+
+ Build fix: use std::numeric_limits<long long>::min() instead of LLONG_MIN
+ since LLONG_MIN is not defined in standard c++.
+
+ * runtime/UString.cpp:
+ (JSC::UString::from):
+
+2009-08-12 Benjamin Otte <otte@gnome.org>
+
+ Reviewed by Jan Alonzo.
+
+ Buildfix for Gtk platforms debug builds.
+
+ * GNUmakefile.am: Choose MarkStackPosix.cpp or MarkStackWin.cpp
+ depending on platform.
+
+2009-08-12 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Prospective build fix for Mac and 32-bit Windows.
+
+ * runtime/UString.cpp: Include wtf/StringExtras.h for snprintf.
+ (JSC::UString::from): Use %lld instead of %I64d for snprintf
+ on non-windows platforms.
+
+2009-08-12 Prasanth Ullattil <prasanth.ullattil@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Fix compile error on 64Bit Windows, when UString::from
+ is called with an intptr_t.
+
+ Added new UString::From overload with long long parameter.
+
+ Thanks to Holger for the long long idea.
+
+ * runtime/UString.cpp:
+ (JSC::UString::from):
+ * runtime/UString.h:
+
+2009-08-11 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Minor style fixes.
+
+ * runtime/UString.h:
+ (JSC::UString::Rep::createEmptyBuffer):
+ * wtf/FastMalloc.h:
+ (WTF::TryMallocReturnValue::getValue):
+
+2009-08-11 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Make it harder to misuse try* allocation routines
+ https://bugs.webkit.org/show_bug.cgi?id=27469
+
+ Jump through a few hoops to make it much harder to accidentally
+ miss null-checking of values returned by the try-* allocation
+ routines.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * runtime/JSArray.cpp:
+ (JSC::JSArray::putSlowCase):
+ (JSC::JSArray::increaseVectorLength):
+ * runtime/StringPrototype.cpp:
+ (JSC::stringProtoFuncFontsize):
+ (JSC::stringProtoFuncLink):
+ * runtime/UString.cpp:
+ (JSC::allocChars):
+ (JSC::reallocChars):
+ (JSC::expandCapacity):
+ (JSC::UString::Rep::reserveCapacity):
+ (JSC::UString::expandPreCapacity):
+ (JSC::createRep):
+ (JSC::concatenate):
+ (JSC::UString::spliceSubstringsWithSeparators):
+ (JSC::UString::replaceRange):
+ (JSC::UString::append):
+ (JSC::UString::operator=):
+ * runtime/UString.h:
+ (JSC::UString::Rep::createEmptyBuffer):
+ * wtf/FastMalloc.cpp:
+ (WTF::tryFastZeroedMalloc):
+ (WTF::tryFastMalloc):
+ (WTF::tryFastCalloc):
+ (WTF::tryFastRealloc):
+ (WTF::TCMallocStats::tryFastMalloc):
+ (WTF::TCMallocStats::tryFastCalloc):
+ (WTF::TCMallocStats::tryFastRealloc):
+ * wtf/FastMalloc.h:
+ (WTF::TryMallocReturnValue::TryMallocReturnValue):
+ (WTF::TryMallocReturnValue::~TryMallocReturnValue):
+ (WTF::TryMallocReturnValue::operator PossiblyNull<T>):
+ (WTF::TryMallocReturnValue::getValue):
+ * wtf/Platform.h:
+ * wtf/PossiblyNull.h: Added.
+ (WTF::PossiblyNull::PossiblyNull):
+ (WTF::PossiblyNull::~PossiblyNull):
+ (WTF::::getValue):
+
+2009-08-11 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (build fix part deux).
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-08-11 Gavin Barraclough <barraclough@apple.com>
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-08-11 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Restrict use of FuncDeclNode & FuncExprNode to the parser.
+ https://bugs.webkit.org/show_bug.cgi?id=28209
+
+ These objects were also being referenced from the CodeBlock. By changing this
+ to just retain pointers to FunctionBodyNodes these classes can be restricted to
+ use during parsing.
+
+ No performance impact (or sub-percent progression).
+
+ * JavaScriptCore.exp:
+ Update symbols.
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::mark):
+ (JSC::CodeBlock::reparseForExceptionInfoIfNecessary):
+ (JSC::CodeBlock::shrinkToFit):
+ * bytecode/CodeBlock.h:
+ (JSC::CodeBlock::addFunction):
+ (JSC::CodeBlock::function):
+ Unify m_functions & m_functionExpressions into a single Vector<RefPtr<FuncExprNode> >.
+
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::BytecodeGenerator):
+ (JSC::BytecodeGenerator::addConstant):
+ (JSC::BytecodeGenerator::emitNewFunction):
+ (JSC::BytecodeGenerator::emitNewFunctionExpression):
+ * bytecompiler/BytecodeGenerator.h:
+ FunctionStacks now contain FunctionBodyNodes not FuncDeclNodes.
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::execute):
+ (JSC::Interpreter::privateExecute):
+ Update to reflect chnages in CodeBlock.
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_new_func_exp):
+ * jit/JITStubs.cpp:
+ (JSC::DEFINE_STUB_FUNCTION):
+ * jit/JITStubs.h:
+ (JSC::):
+ Update to reflect chnages in CodeBlock.
+
+ * parser/Grammar.y:
+ FunctionStacks now contain FunctionBodyNodes not FuncDeclNodes.
+
+ * parser/NodeConstructors.h:
+ (JSC::FuncExprNode::FuncExprNode):
+ (JSC::FuncDeclNode::FuncDeclNode):
+ * parser/Nodes.cpp:
+ (JSC::ScopeNodeData::mark):
+ (JSC::FunctionBodyNode::finishParsing):
+ * parser/Nodes.h:
+ (JSC::FunctionBodyNode::ident):
+ Move m_ident & make methods from FuncDeclNode & FuncExprNode to FunctionBodyNode.
+
+ * runtime/JSFunction.h:
+ (JSC::FunctionBodyNode::make):
+ Make this method inline (was FuncDeclNode::makeFunction).
+
+2009-08-11 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Native JSON.stringify does not omit functions
+ https://bugs.webkit.org/show_bug.cgi?id=28117
+
+ Objects that are callable should be treated as undefined when
+ serialising to JSON.
+
+ * runtime/JSONObject.cpp:
+ (JSC::Stringifier::appendStringifiedValue):
+
+2009-08-11 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ REGRESSION: Hang/crash in BytecodeGenerator::constRegisterFor loading simple page
+ https://bugs.webkit.org/show_bug.cgi?id=28169
+
+ Handle the case where someone has attempted to shadow a property
+ on the global object with a constant.
+
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::constRegisterFor):
+ * parser/Nodes.cpp:
+ (JSC::ConstDeclNode::emitCodeSingle):
+
+2009-08-11 John Gregg <johnnyg@google.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Desktop Notifications API
+ https://bugs.webkit.org/show_bug.cgi?id=25463
+
+ Adds ENABLE_NOTIFICATION flag.
+
+ * Configurations/FeatureDefines.xcconfig:
+ * wtf/Platform.h:
+
+2009-08-11 Maxime Simon <simon.maxime@gmail.com>
+
+ Reviewed by Eric Seidel.
+
+ Modifications on JavaScriptCore to allow Haiku port.
+ https://bugs.webkit.org/show_bug.cgi?id=28121
+
+ * runtime/Collector.cpp: Haiku doesn't have sys/mman.h, using OS.h instead.
+ (JSC::currentThreadStackBase): Haiku uses its own threading system.
+ * wtf/Platform.h: Defining all Haiku platform values.
+ * wtf/haiku/MainThreadHaiku.cpp: Adding a missing header (NotImplemented.h).
+
+2009-08-11 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Fix windows build.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-08-11 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Buildfix for Qt-win platforms.
+
+ * JavaScriptCore.pri: Choose MarkStackPosix.cpp or MarkStackWin.cpp depend on platform.
+
+2009-08-10 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by NOBODY (And another build fix).
+
+ Add new exports for MSVC
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+
+2009-08-10 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by NOBODY (yet another build fix).
+
+ Remove obsolete entries from MSVC exports file
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-08-10 Oliver Hunt <oliver@apple.com>
+
+ Add includes needed for non-allinonefile builds
+
+ * runtime/GetterSetter.h:
+ * runtime/ScopeChain.h:
+
+2009-08-10 Oliver Hunt <oliver@apple.com>
+
+ Fix export file for last build fix
+
+ * JavaScriptCore.exp:
+
+2009-08-10 Oliver Hunt <oliver@apple.com>
+
+ Hoist page size initialization into platform specific code.
+
+ * jit/ExecutableAllocatorPosix.cpp:
+ * jit/ExecutableAllocatorWin.cpp:
+ * runtime/MarkStack.h:
+ (JSC::MarkStack::pageSize):
+ * runtime/MarkStackPosix.cpp:
+ (JSC::MarkStack::initializePagesize):
+ * runtime/MarkStackWin.cpp:
+ (JSC::MarkStack::initializePagesize):
+
+2009-08-07 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Stack overflow crash in JavaScript garbage collector mark pass
+ https://bugs.webkit.org/show_bug.cgi?id=12216
+
+ Make the GC mark phase iterative by using an explicit mark stack.
+ To do this marking any single object is performed in multiple stages
+ * The object is appended to the MarkStack, this sets the marked
+ bit for the object using the new markDirect() function, and then
+ returns
+ * When the MarkStack is drain()ed the object is popped off the stack
+ and markChildren(MarkStack&) is called on the object to collect
+ all of its children. drain() then repeats until the stack is empty.
+
+ Additionally I renamed a number of methods from 'mark' to 'markAggregate'
+ in order to make it more clear that marking of those object was not
+ going to result in an actual recursive mark.
+
+ * GNUmakefile.am
+ * JavaScriptCore.exp:
+ * JavaScriptCore.gypi:
+ * JavaScriptCore.pri:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::markAggregate):
+ * bytecode/CodeBlock.h:
+ * bytecode/EvalCodeCache.h:
+ (JSC::EvalCodeCache::markAggregate):
+ * debugger/DebuggerActivation.cpp:
+ (JSC::DebuggerActivation::markChildren):
+ * debugger/DebuggerActivation.h:
+ * interpreter/Register.h:
+ * interpreter/RegisterFile.h:
+ (JSC::RegisterFile::markGlobals):
+ (JSC::RegisterFile::markCallFrames):
+ * parser/Nodes.cpp:
+ (JSC::ScopeNodeData::markAggregate):
+ (JSC::EvalNode::markAggregate):
+ (JSC::FunctionBodyNode::markAggregate):
+ * parser/Nodes.h:
+ (JSC::ScopeNode::markAggregate):
+ * runtime/ArgList.cpp:
+ (JSC::MarkedArgumentBuffer::markLists):
+ * runtime/ArgList.h:
+ * runtime/Arguments.cpp:
+ (JSC::Arguments::markChildren):
+ * runtime/Arguments.h:
+ * runtime/Collector.cpp:
+ (JSC::Heap::markConservatively):
+ (JSC::Heap::markCurrentThreadConservativelyInternal):
+ (JSC::Heap::markCurrentThreadConservatively):
+ (JSC::Heap::markOtherThreadConservatively):
+ (JSC::Heap::markStackObjectsConservatively):
+ (JSC::Heap::markProtectedObjects):
+ (JSC::Heap::collect):
+ * runtime/Collector.h:
+ * runtime/GetterSetter.cpp:
+ (JSC::GetterSetter::markChildren):
+ * runtime/GetterSetter.h:
+ (JSC::GetterSetter::GetterSetter):
+ (JSC::GetterSetter::createStructure):
+ * runtime/GlobalEvalFunction.cpp:
+ (JSC::GlobalEvalFunction::markChildren):
+ * runtime/GlobalEvalFunction.h:
+ * runtime/JSActivation.cpp:
+ (JSC::JSActivation::markChildren):
+ * runtime/JSActivation.h:
+ * runtime/JSArray.cpp:
+ (JSC::JSArray::markChildren):
+ * runtime/JSArray.h:
+ * runtime/JSCell.h:
+ (JSC::JSCell::markCellDirect):
+ (JSC::JSCell::markChildren):
+ (JSC::JSValue::markDirect):
+ (JSC::JSValue::markChildren):
+ (JSC::JSValue::hasChildren):
+ (JSC::MarkStack::append):
+ (JSC::MarkStack::drain):
+ * runtime/JSFunction.cpp:
+ (JSC::JSFunction::markChildren):
+ * runtime/JSFunction.h:
+ * runtime/JSGlobalData.cpp:
+ (JSC::JSGlobalData::JSGlobalData):
+ * runtime/JSGlobalData.h:
+ * runtime/JSGlobalObject.cpp:
+ (JSC::markIfNeeded):
+ (JSC::JSGlobalObject::markChildren):
+ * runtime/JSGlobalObject.h:
+ * runtime/JSNotAnObject.cpp:
+ (JSC::JSNotAnObject::markChildren):
+ * runtime/JSNotAnObject.h:
+ * runtime/JSONObject.cpp:
+ (JSC::Stringifier::markAggregate):
+ (JSC::JSONObject::markStringifiers):
+ * runtime/JSONObject.h:
+ * runtime/JSObject.cpp:
+ (JSC::JSObject::markChildren):
+ (JSC::JSObject::defineGetter):
+ (JSC::JSObject::defineSetter):
+ * runtime/JSObject.h:
+ * runtime/JSPropertyNameIterator.cpp:
+ (JSC::JSPropertyNameIterator::markChildren):
+ * runtime/JSPropertyNameIterator.h:
+ (JSC::JSPropertyNameIterator::createStructure):
+ (JSC::JSPropertyNameIterator::JSPropertyNameIterator):
+ (JSC::JSPropertyNameIterator::create):
+ * runtime/JSStaticScopeObject.cpp:
+ (JSC::JSStaticScopeObject::markChildren):
+ * runtime/JSStaticScopeObject.h:
+ * runtime/JSType.h:
+ (JSC::):
+ * runtime/JSValue.h:
+ * runtime/JSWrapperObject.cpp:
+ (JSC::JSWrapperObject::markChildren):
+ * runtime/JSWrapperObject.h:
+ * runtime/MarkStack.cpp: Added.
+ (JSC::MarkStack::compact):
+ * runtime/MarkStack.h: Added.
+ (JSC::):
+ (JSC::MarkStack::MarkStack):
+ (JSC::MarkStack::append):
+ (JSC::MarkStack::appendValues):
+ (JSC::MarkStack::~MarkStack):
+ (JSC::MarkStack::MarkSet::MarkSet):
+ (JSC::MarkStack::pageSize):
+
+ MarkStackArray is a non-shrinking, mmap-based vector type
+ used for storing objects to be marked.
+ (JSC::MarkStack::MarkStackArray::MarkStackArray):
+ (JSC::MarkStack::MarkStackArray::~MarkStackArray):
+ (JSC::MarkStack::MarkStackArray::expand):
+ (JSC::MarkStack::MarkStackArray::append):
+ (JSC::MarkStack::MarkStackArray::removeLast):
+ (JSC::MarkStack::MarkStackArray::isEmpty):
+ (JSC::MarkStack::MarkStackArray::size):
+ (JSC::MarkStack::MarkStackArray::shrinkAllocation):
+ * runtime/MarkStackPosix.cpp: Added.
+ (JSC::MarkStack::allocateStack):
+ (JSC::MarkStack::releaseStack):
+ * runtime/MarkStackWin.cpp: Added.
+ (JSC::MarkStack::allocateStack):
+ (JSC::MarkStack::releaseStack):
+
+ * runtime/ScopeChain.h:
+ * runtime/ScopeChainMark.h:
+ (JSC::ScopeChain::markAggregate):
+ * runtime/SmallStrings.cpp:
+ (JSC::SmallStrings::mark):
+ * runtime/Structure.h:
+ (JSC::Structure::markAggregate):
+
+2009-08-10 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix hundreds of "pointer being freed was not allocated" errors seen on the build bot.
+
+ * wtf/FastMalloc.h: Implement nothrow variants of the delete and delete[] operators since
+ we implement the nothrow variants of new and new[]. The nothrow variant of delete is called
+ explicitly in the implementation of std::sort which was resulting in FastMalloc-allocated
+ memory being passed to the system allocator to free.
+
+2009-08-10 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ [Gtk] Unreviewed build fix. Move JSAPIValueWrapper.cpp/.h in the debug
+ section. This file is already part of AllInOneFile in Release builds.
+
+ * GNUmakefile.am:
+
+2009-08-10 Darin Adler <darin@apple.com>
+
+ * wtf/FastMalloc.h: Fix build.
+
+2009-08-10 Darin Adler <darin@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ FastMalloc.h has cross-platform code but marked as WinCE-only
+ https://bugs.webkit.org/show_bug.cgi?id=28160
+
+ 1) The support for nothrow was inside #if PLATFORM(WINCE) even though it is
+ not platform-specific.
+ 2) The code tried to override operator delete nothrow, which does not exist.
+ 3) The code in the header checks the value of USE_SYSTEM_MALLOC, but the code
+ in FastMalloc.cpp checks only if the macro is defined.
+
+ * wtf/FastMalloc.h: See above.
+ * wtf/FastMalloc.cpp: Ditto.
+
+2009-08-10 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix an annoying indentation issue.
+
+ * runtime/DateConstructor.cpp:
+ (JSC::constructDate):
+
+2009-08-10 Xan Lopez <xlopez@igalia.com>
+
+ Unreviewed build fix.
+
+ Add new files to makefile.
+
+ * GNUmakefile.am:
+
+2009-08-10 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Fix compilation with the interpreter instead of the JIT by including
+ PrototypeFunction.h as forward-declared through NativeFunctionWrapper.h.
+
+ * runtime/ObjectConstructor.cpp:
+
+2009-08-09 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by George Staikos.
+
+ JSON.stringify replacer returning undefined does not omit object properties
+ https://bugs.webkit.org/show_bug.cgi?id=28118
+
+ Correct behaviour of stringify when using a replacer function that returns
+ undefined. This is a simple change to move the undefined value check to
+ after the replacer function is called. This means that the replacer function
+ is now called for properties with the value undefined, however i've confirmed
+ that this behaviour is correct.
+
+ In addition I've made the cyclic object exception have a more useful error
+ message.
+
+ * runtime/JSONObject.cpp:
+ (JSC::Stringifier::appendStringifiedValue):
+
+2009-08-08 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Eric Seidel and Sam Weinig.
+
+ [ES5] Implement Object.getPrototypeOf
+ https://bugs.webkit.org/show_bug.cgi?id=28114
+
+ Implement getPrototypeOf
+
+ * runtime/CommonIdentifiers.h:
+ * runtime/JSGlobalObject.cpp:
+ (JSC::JSGlobalObject::reset):
+ * runtime/ObjectConstructor.cpp:
+ (JSC::ObjectConstructor::ObjectConstructor):
+ (JSC::objectConsGetPrototypeOf):
+ * runtime/ObjectConstructor.h:
+
+2009-08-07 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Eric Seidel.
+
+ Allow custom memory allocation control for Noncopyable class
+ https://bugs.webkit.org/show_bug.cgi?id=27879
+
+ Several classes which are inherited from Noncopyable are instantiated by
+ operator new, so Noncopyable class has been inherited from FastAllocBase.
+
+ * wtf/Noncopyable.h:
+
+2009-08-07 George Staikos <george.staikos@torchmobile.com>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27305
+ Implement WinCE-specific unicode layer.
+ Written by George Staikos <george.staikos@torchmobile.com>
+ with bug fixes by Yong Li <yong.li@torchmobile.com>
+ refactored by Joe Mason <joe.mason@torchmobile.com>
+
+ * wtf/Platform.h:
+ * wtf/unicode/Unicode.h:
+ * wtf/unicode/wince/UnicodeWince.cpp: Added.
+ (WTF::Unicode::toLower):
+ (WTF::Unicode::toUpper):
+ (WTF::Unicode::foldCase):
+ (WTF::Unicode::isPrintableChar):
+ (WTF::Unicode::isSpace):
+ (WTF::Unicode::isLetter):
+ (WTF::Unicode::isUpper):
+ (WTF::Unicode::isLower):
+ (WTF::Unicode::isDigit):
+ (WTF::Unicode::isPunct):
+ (WTF::Unicode::toTitleCase):
+ (WTF::Unicode::direction):
+ (WTF::Unicode::category):
+ (WTF::Unicode::decompositionType):
+ (WTF::Unicode::combiningClass):
+ (WTF::Unicode::mirroredChar):
+ (WTF::Unicode::digitValue):
+ * wtf/unicode/wince/UnicodeWince.h: Added.
+ (WTF::Unicode::):
+ (WTF::Unicode::isSeparatorSpace):
+ (WTF::Unicode::isHighSurrogate):
+ (WTF::Unicode::isLowSurrogate):
+ (WTF::Unicode::isArabicChar):
+ (WTF::Unicode::hasLineBreakingPropertyComplexContext):
+ (WTF::Unicode::umemcasecmp):
+ (WTF::Unicode::surrogateToUcs4):
+
+2009-08-07 Yongjun Zhang <yongjun.zhang@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=28069
+
+ Add inline to help winscw compiler resolve specialized argument in
+ templated functions.
+
+ * runtime/LiteralParser.cpp:
+ (JSC::LiteralParser::Lexer::lexString):
+
+2009-08-07 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Eric Seidel.
+
+ Allow custom memory allocation control for RegExpObjectData struct
+ http://bugs.webkit.org/show_bug.cgi?id=26750
+
+ Inherits RegExpObjectData struct from FastAllocBase because
+ it has been instantiated by 'new' in JavaScriptCore/runtime/RegExpObject.cpp:62
+
+ * runtime/RegExpObject.h:
+
+2009-08-06 Norbert Leser <norbert.leser@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Updated patch for bug #27059:
+ Symbian platform always uses little endian encoding,
+ regardless of compiler.
+ We need to make sure that we correctly detect EABI architecture
+ for armv5 targets on Symbian,
+ where __EABI__ is set but not __ARM_EABI__
+
+ * wtf/Platform.h:
+
+2009-08-06 Adam Barth <abarth@webkit.org>
+
+ Unreviewed revert.
+
+ http://bugs.webkit.org/show_bug.cgi?id=27879
+
+ Revert 46877 because it broke GTK.
+
+ * wtf/Noncopyable.h:
+
+2009-08-06 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Make get_by_id/put_by_id/method_check/call defer optimization using a data flag rather than a code modification.
+ ( https://bugs.webkit.org/show_bug.cgi?id=27635 )
+
+ This improves performance of ENABLE(ASSEMBLER_WX_EXCLUSIVE) builds by 2-2.5%, reducing the overhead to about 2.5%.
+ (No performance impact with ASSEMBLER_WX_EXCLUSIVE disabled).
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::printStructureStubInfo):
+ - Make StructureStubInfo store the type as an integer, rather than an OpcodeID.
+
+ * bytecode/CodeBlock.h:
+ (JSC::):
+ (JSC::CallLinkInfo::seenOnce):
+ (JSC::CallLinkInfo::setSeen):
+ (JSC::MethodCallLinkInfo::seenOnce):
+ (JSC::MethodCallLinkInfo::setSeen):
+ - Change a pointer in CallLinkInfo/MethodCallLinkInfo to use a PtrAndFlags, use a flag to track when an op has been executed once.
+
+ * bytecode/StructureStubInfo.cpp:
+ (JSC::StructureStubInfo::deref):
+ - Make StructureStubInfo store the type as an integer, rather than an OpcodeID.
+
+ * bytecode/StructureStubInfo.h:
+ (JSC::StructureStubInfo::StructureStubInfo):
+ (JSC::StructureStubInfo::initGetByIdSelf):
+ (JSC::StructureStubInfo::initGetByIdProto):
+ (JSC::StructureStubInfo::initGetByIdChain):
+ (JSC::StructureStubInfo::initGetByIdSelfList):
+ (JSC::StructureStubInfo::initGetByIdProtoList):
+ (JSC::StructureStubInfo::initPutByIdTransition):
+ (JSC::StructureStubInfo::initPutByIdReplace):
+ (JSC::StructureStubInfo::seenOnce):
+ (JSC::StructureStubInfo::setSeen):
+ - Make StructureStubInfo store the type as an integer, rather than an OpcodeID, add a flag to track when an op has been executed once.
+
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::emitGetById):
+ (JSC::BytecodeGenerator::emitPutById):
+ - Make StructureStubInfo store the type as an integer, rather than an OpcodeID.
+
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompileCTIMachineTrampolines):
+ (JSC::JIT::unlinkCall):
+ - Remove the "don't lazy link" stage of calls.
+
+ * jit/JIT.h:
+ (JSC::JIT::compileCTIMachineTrampolines):
+ - Remove the "don't lazy link" stage of calls.
+
+ * jit/JITCall.cpp:
+ (JSC::JIT::compileOpCallSlowCase):
+ - Remove the "don't lazy link" stage of calls.
+
+ * jit/JITStubs.cpp:
+ (JSC::JITThunks::JITThunks):
+ (JSC::JITThunks::tryCachePutByID):
+ (JSC::JITThunks::tryCacheGetByID):
+ (JSC::JITStubs::DEFINE_STUB_FUNCTION):
+ (JSC::JITStubs::getPolymorphicAccessStructureListSlot):
+ - Remove the "don't lazy link" stage of calls, and the "_second" stage of get_by_id/put_by_id/method_check.
+
+ * jit/JITStubs.h:
+ (JSC::JITThunks::ctiStringLengthTrampoline):
+ (JSC::JITStubs::):
+ - Remove the "don't lazy link" stage of calls, and the "_second" stage of get_by_id/put_by_id/method_check.
+
+ * wtf/PtrAndFlags.h:
+ (WTF::PtrAndFlags::PtrAndFlags):
+ (WTF::PtrAndFlags::operator!):
+ (WTF::PtrAndFlags::operator->):
+ - Add ! and -> operators, add constuctor with pointer argument.
+
+2009-08-06 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Adam Barth.
+
+ Allow custom memory allocation control for Noncopyable class
+ https://bugs.webkit.org/show_bug.cgi?id=27879
+
+ Several classes which inherited from Noncopyable are instantiated by
+ operator new, so Noncopyable class has been inherited from FastAllocBase.
+
+ * wtf/Noncopyable.h:
+
+2009-08-06 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Sam Weinig.
+
+ Add explicit dependencies for our build verification scripts to ensure that they always run after linking has completed.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+
+2009-08-06 Mark Rowe <mrowe@apple.com>
+
+ Bring a little order to our otherwise out of control lives.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+
+2009-08-06 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Allow custom memory allocation control for JavaScriptCore's PolymorphicAccessStructureList struct
+ https://bugs.webkit.org/show_bug.cgi?id=27877
+
+ Inherits PolymorphicAccessStructureList struct from FastAllocBase because it has been instantiated by
+ 'new' in JavaScriptCore/jit/JITStubs.cpp:1229.
+
+ * bytecode/Instruction.h:
+
+2009-08-05 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Allow custom memory allocation control for JavaScriptCore's ScopeNodeData struct
+ https://bugs.webkit.org/show_bug.cgi?id=27875
+
+ Inherits ScopeNodeData struct from FastAllocBase because it has been instantiated by
+ 'new' in JavaScriptCore/parser/Nodes.cpp:1848.
+
+ * parser/Nodes.h:
+
+2009-08-05 Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
+
+ Reviewed by Gavin Barraclough.
+
+ Add floating point support for generic ARM port.
+ https://bugs.webkit.org/show_bug.cgi?id=24986
+
+ * assembler/ARMAssembler.cpp:
+ (JSC::ARMAssembler::doubleTransfer):
+ * assembler/ARMAssembler.h:
+ (JSC::ARM::):
+ (JSC::ARMAssembler::):
+ (JSC::ARMAssembler::faddd_r):
+ (JSC::ARMAssembler::fsubd_r):
+ (JSC::ARMAssembler::fmuld_r):
+ (JSC::ARMAssembler::fcmpd_r):
+ (JSC::ARMAssembler::fdtr_u):
+ (JSC::ARMAssembler::fdtr_d):
+ (JSC::ARMAssembler::fmsr_r):
+ (JSC::ARMAssembler::fsitod_r):
+ (JSC::ARMAssembler::fmstat):
+ * assembler/MacroAssemblerARM.h:
+ (JSC::MacroAssemblerARM::):
+ (JSC::MacroAssemblerARM::supportsFloatingPoint):
+ (JSC::MacroAssemblerARM::loadDouble):
+ (JSC::MacroAssemblerARM::storeDouble):
+ (JSC::MacroAssemblerARM::addDouble):
+ (JSC::MacroAssemblerARM::subDouble):
+ (JSC::MacroAssemblerARM::mulDouble):
+ (JSC::MacroAssemblerARM::convertInt32ToDouble):
+ (JSC::MacroAssemblerARM::branchDouble):
+ * jit/JIT.h:
+
+2009-08-05 Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
+
+ Reviewed by Gavin Barraclough.
+
+ Add JIT support for generic ARM port without optimizations.
+ https://bugs.webkit.org/show_bug.cgi?id=24986
+
+ All JIT optimizations are disabled.
+
+ Signed off by Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
+ Signed off by Gabor Loki <loki@inf.u-szeged.hu>
+
+ * assembler/ARMAssembler.cpp:
+ (JSC::ARMAssembler::baseIndexTransfer32):
+ * assembler/AbstractMacroAssembler.h:
+ (JSC::AbstractMacroAssembler::Imm32::Imm32):
+ * assembler/MacroAssemblerARM.h:
+ (JSC::MacroAssemblerARM::store32):
+ (JSC::MacroAssemblerARM::move):
+ (JSC::MacroAssemblerARM::branch32):
+ (JSC::MacroAssemblerARM::add32):
+ (JSC::MacroAssemblerARM::sub32):
+ (JSC::MacroAssemblerARM::load32):
+ * bytecode/CodeBlock.h:
+ (JSC::CodeBlock::getBytecodeIndex):
+ * jit/JIT.h:
+ * jit/JITInlineMethods.h:
+ (JSC::JIT::restoreArgumentReference):
+ * jit/JITOpcodes.cpp:
+ * jit/JITStubs.cpp:
+ * jit/JITStubs.h:
+ (JSC::JITStackFrame::returnAddressSlot):
+ * wtf/Platform.h:
+
+2009-08-04 Gavin Barraclough <barraclough@apple.com>
+
+ Rubber Stamped by Oiver Hunt.
+
+ Revert r46643 since this breaks the Yarr::Interpreter running the v8 tests.
+ https://bugs.webkit.org/show_bug.cgi?id=27874
+
+ * yarr/RegexInterpreter.cpp:
+ (JSC::Yarr::Interpreter::allocDisjunctionContext):
+ (JSC::Yarr::Interpreter::freeDisjunctionContext):
+ (JSC::Yarr::Interpreter::allocParenthesesDisjunctionContext):
+ (JSC::Yarr::Interpreter::freeParenthesesDisjunctionContext):
+
+2009-08-04 Oliver Hunt <oliver@apple.com>
+
+ PPC64 Build fix
+
+ * wtf/Platform.h:
+
+2009-08-04 Benjamin C Meyer <benjamin.meyer@torchmobile.com>
+
+ Reviewed by Adam Treat
+
+ Explicitly include limits.h header when using INT_MAX and INT_MIN
+
+ * interpreter/Interpreter.cpp
+
+2009-08-03 Harald Fernengel <harald.fernengel@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Fix compile error for ambigous call to abs()
+ https://bugs.webkit.org/show_bug.cgi?id=27873
+
+ Fix ambiguity in abs(long int) call by calling labs() instead
+
+ * wtf/DateMath.cpp: replace call to abs() with labs()
+
+2009-08-03 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ [Qt] Consolidate common gcc flags to WebKit.pri
+ https://bugs.webkit.org/show_bug.cgi?id=27934
+
+ * JavaScriptCore.pro:
+
+2009-08-03 Ada Chan <adachan@apple.com>
+
+ Fixed the Tiger build.
+
+ * wtf/FastMalloc.cpp:
+
+2009-08-03 Ada Chan <adachan@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Don't use background thread to scavenge memory on Tiger until we figure out why it causes a crash.
+ https://bugs.webkit.org/show_bug.cgi?id=27900
+
+ * wtf/FastMalloc.cpp:
+
+2009-08-03 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by Jan Alonzo.
+
+ Fix build break on Gtk/x86_64.
+ https://bugs.webkit.org/show_bug.cgi?id=27936
+
+ Use JSVALUE64 for X86_64 LINUX, except Qt.
+
+ * wtf/Platform.h:
+
+2009-08-02 Xan Lopez <xlopez@igalia.com>
+
+ Fix the GTK+ build.
+
+ * wtf/Platform.h:
+
+2009-08-02 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Disabled JSVALUE32_64 on Qt builds, since all layout tests mysteriously
+ crash with it enabled.
+
+ * wtf/Platform.h:
+
+2009-08-02 Geoffrey Garen <ggaren@apple.com>
+
+ Qt build fix.
+
+ Added JSAPIValueWrapper.cpp to the build.
+
+ * JavaScriptCore.pri:
+
+2009-08-02 Geoffrey Garen <ggaren@apple.com>
+
+ Windows build fix.
+
+ Exported symbols for JSAPIValueWrapper.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-08-02 Geoffrey Garen <ggaren@apple.com>
+
+ GTK build fix.
+
+ * jit/JITStubs.cpp: #include <stdarg.h>, for a definition of va_start.
+
+2009-08-02 Geoffrey Garen <ggaren@apple.com>
+
+ Qt build fix.
+
+ * runtime/Collector.cpp: #include <limits.h>, for a definition of ULONG_MAX.
+
+2009-08-02 Geoffrey Garen <ggaren@apple.com>
+
+ Windows build fix: Nixed JSImmediate::prototype, JSImmediate::toObject,
+ and JSImmediate::toThisObject, and removed their exported symbols.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+ * runtime/JSImmediate.cpp:
+ * runtime/JSImmediate.h:
+
+2009-08-02 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Enabled JSVALUE32_64 by default on all platforms other than x86_64 (which uses JSVALUE64).
+
+ * wtf/Platform.h:
+
+2009-08-02 Kevin Ollivier <kevino@theolliviers.com>
+
+ Reviewed by Jan Alonzo.
+
+ Script for building the JavaScriptCore library for wx.
+ https://bugs.webkit.org/show_bug.cgi?id=27619
+
+ * wscript: Added.
+
+2009-08-02 Yong Li <yong.li@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ DateMath depends on strftime and localtime, which need to be imported manually on WinCE
+ https://bugs.webkit.org/show_bug.cgi?id=26558
+
+ * wtf/DateMath.cpp:
+
+2009-08-01 David Kilzer <ddkilzer@apple.com>
+
+ wtf/Threading.h: added include of Platform.h
+
+ Reviewed by Mark Rowe.
+
+ * wtf/Threading.h: Added #include "Platform.h" since this header
+ uses PLATFORM() and other macros.
+
+2009-08-01 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Oliver Hunt.
+
+ Roll out r46668 as it was misinformed. ScopeChain is only used with placement new.
+
+ * runtime/ScopeChain.h:
+
+2009-08-01 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Allow custom memory allocation control for JavaScriptCore's HashMap class
+ http://bugs.webkit.org/show_bug.cgi?id=27871
+
+ Inherits HashMap class from FastAllocBase because it has been
+ instantiated by 'new' in JavaScriptCore/API/JSClassRef.cpp:148.
+
+ * wtf/RefPtrHashMap.h:
+ (WTF::):
+
+2009-08-01 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Allow custom memory allocation control for JavaScriptCore's ScopeChain class
+ https://bugs.webkit.org/show_bug.cgi?id=27834
+
+ Inherits ScopeChain class from FastAllocBase because it has been
+ instantiated by 'new' in JavaScriptCore/runtime/JSFunction.h:109.
+
+ * runtime/ScopeChain.h:
+
+2009-08-01 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Allow custom memory allocation control for JavaScriptCore's RegExpConstructorPrivate struct
+ https://bugs.webkit.org/show_bug.cgi?id=27833
+
+ Inherits RegExpConstructorPrivate class from FastAllocBase because it has been
+ instantiated by 'new' in JavaScriptCore/runtime/RegExpConstructor.cpp:152.
+
+ * runtime/RegExpConstructor.cpp:
+
+2009-07-31 Yong Li <yong.li@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ Resurrect the old GetTickCount implementation of currentTime, controlled by WTF_USE_QUERY_PERFORMANCE_COUNTER
+ currentSystemTime taken from older WebKit; currentTime written by Yong Li <yong.li@torchmobile.com>; cleanup by Joe Mason <joe.mason@torchmobile.com>
+ https://bugs.webkit.org/show_bug.cgi?id=27848
+
+ * wtf/CurrentTime.cpp:
+ (WTF::currentSystemTime): get current time with GetCurrentFT
+ (WTF::currentTime): track msec elapsed since first currentSystemTime call using GetTickCount
+ * wtf/Platform.h:
+
+2009-07-31 Ada Chan <adachan@apple.com>
+
+ Fixes the Windows release-PGO build.
+
+ Reviewed by Jon Honeycutt.
+
+ * JavaScriptCore.vcproj/WTF/WTF.vcproj: Suppresses the warning about unreachable code that we get by adding "return 0" to WTF::TCMalloc_PageHeap::runScavengerThread().
+ * wtf/FastMalloc.cpp:
+ (WTF::TCMalloc_PageHeap::runScavengerThread): Fixes the error about the method not returning a value in the release-PGO build.
+
+2009-07-31 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Change malloc to fastMalloc and free to fastFree in Yarr's RegexInterpreter.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=27874
+
+ Use fastMalloc and fastFree instead of malloc and free in RegexInterpreter.cpp's methods.
+
+ * yarr/RegexInterpreter.cpp:
+ (JSC::Yarr::Interpreter::allocDisjunctionContext):
+ (JSC::Yarr::Interpreter::freeDisjunctionContext):
+ (JSC::Yarr::Interpreter::allocParenthesesDisjunctionContext):
+ (JSC::Yarr::Interpreter::freeParenthesesDisjunctionContext):
+
+2009-07-30 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Jan Alonzo.
+
+ Fix compiler warning.
+
+ GCC does not like C++-style comments in preprocessor directives.
+
+ * wtf/Platform.h:
+
+2009-07-30 John McCall <rjmccall@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Optimize the X86_64 trampolines: avoid the need for filler arguments
+ and move the stub-args area closer to the stack pointer.
+
+ * jit/JIT.h: adjust patch offsets because of slight code-size change
+ * jit/JITCode.h:
+ (JSC::JITCode::execute): don't pass filler args
+ * jit/JITStubs.cpp:
+ (ctiTrampoline): (X86_64): push args onto stack, use args directly
+ (ctiVMThrowTrampoline): (X86_64): adjust %rsp by correct displacement
+ (ctiOpThrowNotCaught): (X86_64): adjust %rsp by correct displacement
+ * jit/JITStubs.h:
+ (JITStackFrame): (X86_64): move args area earlier
+ (ctiTrampoline): remove filler args from prototype
+
+2009-07-30 Gavin Barraclough <barraclough@apple.com>
+
+ Temporarily revert r46618 since this is b0rking on Linux.
+
+2009-07-23 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Make get_by_id/put_by_id/method_check/call defer optimization using a data flag rather than a code modification.
+ ( https://bugs.webkit.org/show_bug.cgi?id=27635 )
+
+ This improves performance of ENABLE(ASSEMBLER_WX_EXCLUSIVE) builds by 2-2.5%, reducing the overhead to about 2.5%.
+ (No performance impact with ASSEMBLER_WX_EXCLUSIVE disabled).
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::printStructureStubInfo):
+ - Make StructureStubInfo store the type as an integer, rather than an OpcodeID.
+
+ * bytecode/CodeBlock.h:
+ (JSC::):
+ (JSC::CallLinkInfo::seenOnce):
+ (JSC::CallLinkInfo::setSeen):
+ (JSC::MethodCallLinkInfo::seenOnce):
+ (JSC::MethodCallLinkInfo::setSeen):
+ - Change a pointer in CallLinkInfo/MethodCallLinkInfo to use a PtrAndFlags, use a flag to track when an op has been executed once.
+
+ * bytecode/StructureStubInfo.cpp:
+ (JSC::StructureStubInfo::deref):
+ - Make StructureStubInfo store the type as an integer, rather than an OpcodeID.
+
+ * bytecode/StructureStubInfo.h:
+ (JSC::StructureStubInfo::StructureStubInfo):
+ (JSC::StructureStubInfo::initGetByIdSelf):
+ (JSC::StructureStubInfo::initGetByIdProto):
+ (JSC::StructureStubInfo::initGetByIdChain):
+ (JSC::StructureStubInfo::initGetByIdSelfList):
+ (JSC::StructureStubInfo::initGetByIdProtoList):
+ (JSC::StructureStubInfo::initPutByIdTransition):
+ (JSC::StructureStubInfo::initPutByIdReplace):
+ (JSC::StructureStubInfo::seenOnce):
+ (JSC::StructureStubInfo::setSeen):
+ - Make StructureStubInfo store the type as an integer, rather than an OpcodeID, add a flag to track when an op has been executed once.
+
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::emitGetById):
+ (JSC::BytecodeGenerator::emitPutById):
+ - Make StructureStubInfo store the type as an integer, rather than an OpcodeID.
+
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompileCTIMachineTrampolines):
+ (JSC::JIT::unlinkCall):
+ - Remove the "don't lazy link" stage of calls.
+
+ * jit/JIT.h:
+ (JSC::JIT::compileCTIMachineTrampolines):
+ - Remove the "don't lazy link" stage of calls.
+
+ * jit/JITCall.cpp:
+ (JSC::JIT::compileOpCallSlowCase):
+ - Remove the "don't lazy link" stage of calls.
+
+ * jit/JITStubs.cpp:
+ (JSC::JITThunks::JITThunks):
+ (JSC::JITThunks::tryCachePutByID):
+ (JSC::JITThunks::tryCacheGetByID):
+ (JSC::JITStubs::DEFINE_STUB_FUNCTION):
+ (JSC::JITStubs::getPolymorphicAccessStructureListSlot):
+ - Remove the "don't lazy link" stage of calls, and the "_second" stage of get_by_id/put_by_id/method_check.
+
+ * jit/JITStubs.h:
+ (JSC::JITThunks::ctiStringLengthTrampoline):
+ (JSC::JITStubs::):
+ - Remove the "don't lazy link" stage of calls, and the "_second" stage of get_by_id/put_by_id/method_check.
+
+ * wtf/PtrAndFlags.h:
+ (WTF::PtrAndFlags::PtrAndFlags):
+ (WTF::PtrAndFlags::operator!):
+ (WTF::PtrAndFlags::operator->):
+ - Add ! and -> operators, add constuctor with pointer argument.
+
+2009-07-30 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Fixed failing tests seen on Windows buildbot.
+
+ * jit/JITStubs.cpp:
+ (JSC::DEFINE_STUB_FUNCTION):
+ * jit/JITStubs.h:
+ (JSC::): Use "int" instead of "bool" to guarantee a 32-bit result,
+ regardless of compiler. gcc on mac uses 32-bit values for bool,
+ but gcc on linux and MSVC on Windows use 8-bit values.
+
+2009-07-30 Geoffrey Garen <ggaren@apple.com>
+
+ Windows build fix: added missing symbols on Windows.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-07-30 Geoffrey Garen <ggaren@apple.com>
+
+ Windows build fix: removed stale symbols on Windows.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+=== End merge of nitro-extreme branch 2009-07-30 ===
+
+2009-07-20 Geoffrey Garen <ggaren@apple.com>
+
+ Fixed a post-review typo in r46066 that caused tons of test failures.
+
+ SunSpider reports no change.
+
+ * runtime/JSArray.cpp:
+ (JSC::JSArray::JSArray): Initialize the full vector capacity, to avoid
+ uninitialized members at the end.
+
+2009-07-20 Geoffrey Garen <ggaren@apple.com>
+
+ Windows WebKit build fix: Added some missing exports.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-07-17 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Get the branch working on windows.
+ https://bugs.webkit.org/show_bug.cgi?id=27391
+
+ SunSpider says 0.3% faster.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def: Updated
+ MSVC export lists to fix linker errors.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Added / removed
+ new / old project files.
+
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompileCTIMachineTrampolines): Used #pragma pack to tell
+ MSVC that these structures represent actual memory layout, and should not be
+ automatically aligned. Changed the return value load to load a 64bit quantity
+ into the canonical registers.
+
+ * jit/JIT.h: Moved OBJECT_OFFSETOF definition to StdLibExtras.h because
+ it's needed by more than just the JIT, and it supplements a standard library
+ macro (offsetof).
+
+ * jit/JITCall.cpp:
+ (JSC::JIT::compileOpCallInitializeCallFrame): Fixed an incorrectly signed
+ cast to resolve an MSVC warning.
+
+ * jit/JITStubs.h: Used #pragma pack to tell MSVC that these structures
+ represent actual memory layout, and should not be automatically aligned.
+
+ * runtime/JSArray.cpp:
+ (JSC::JSArray::JSArray): Replaced memset_pattern8 with a for loop, since
+ memset_pattern8 is not portable. (I verified that this version of the loop
+ gives the best performance / generated code in GCC.)
+
+ * runtime/JSObject.h:
+ (JSC::JSObject::JSObject): Removed accidental usage of FIELD_OFFSET --
+ OBJECT_OFFSETOF is our new macro name. (FIELD_OFFSET conflicts with a
+ definition in winnt.h.)
+
+ * runtime/JSValue.cpp: Added some headers needed by non-all-in-one builds.
+
+ * runtime/JSValue.h:
+ (JSC::JSValue::): Made the tag signed, to match MSVC's signed enum values.
+ (GCC doesn't seem to care one way or the other.)
+
+ * wtf/MainThread.cpp: Moved the StdLibExtras.h #include -- I did this a
+ while ago to resolve a conflict with winnt.h. I can't remember if it's truly
+ still needed, but what the heck.
+
+ * wtf/StdLibExtras.h: Moved OBJECT_OFFSETOF definition here.
+
+2009-07-06 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig (?).
+
+ Fixed an assertion seen during the stress test.
+
+ Don't assume that, if op1 is constant, op2 is not, and vice versa. Sadly,
+ not all constants get folded.
+
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_jnless):
+ (JSC::JIT::emitSlow_op_jnless):
+ (JSC::JIT::emit_op_jnlesseq):
+ (JSC::JIT::emitSlow_op_jnlesseq):
+
+2009-07-06 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Include op_convert_this in result caching.
+
+ No change on SunSpider or v8.
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_convert_this):
+
+ * jit/JITStubs.cpp:
+ (JSC::DEFINE_STUB_FUNCTION):
+ * jit/JITStubs.h:
+ (JSC::): Made the op_convert_this JIT stub return an EncodedJSValue, so
+ to maintain the result caching contract that { tag, payload } can be
+ found in { regT1, regT0 }.
+
+2009-07-06 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implemented result chaining.
+
+ 1% faster on SunSpider. 4%-5% faster on v8.
+
+ * assembler/MacroAssemblerX86Common.h:
+ (JSC::MacroAssemblerX86Common::move):
+ * assembler/X86Assembler.h:
+ (JSC::X86Assembler::movl_rr): Added an optimization to eliminate
+ no-op mov instructions, to simplify chaining.
+
+ * jit/JIT.cpp:
+ (JSC::JIT::JIT):
+ * jit/JIT.h: Added data members and helper functions for recording
+ chained results. We record both a mapping from virtual to machine register
+ and the opcode for which the mapping is valid, to help ensure that the
+ mapping isn't used after the mapped register has been stomped by other
+ instructions.
+
+ * jit/JITCall.cpp:
+ (JSC::JIT::compileOpCallVarargs):
+ (JSC::JIT::compileOpCallVarargsSlowCase):
+ (JSC::JIT::emit_op_ret):
+ (JSC::JIT::emit_op_construct_verify):
+ (JSC::JIT::compileOpCall):
+ (JSC::JIT::compileOpCallSlowCase): Chain function call results.
+
+ * jit/JITInlineMethods.h:
+ (JSC::JIT::emitLoadTag):
+ (JSC::JIT::emitLoadPayload):
+ (JSC::JIT::emitLoad):
+ (JSC::JIT::emitLoad2):
+ (JSC::JIT::isLabeled):
+ (JSC::JIT::map):
+ (JSC::JIT::unmap):
+ (JSC::JIT::isMapped):
+ (JSC::JIT::getMappedPayload):
+ (JSC::JIT::getMappedTag): Use helper functions when loading virtual
+ registers into machine registers, in case the loads can be eliminated
+ by chaining.
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_mov):
+ (JSC::JIT::emit_op_end):
+ (JSC::JIT::emit_op_instanceof):
+ (JSC::JIT::emit_op_get_global_var):
+ (JSC::JIT::emit_op_put_global_var):
+ (JSC::JIT::emit_op_get_scoped_var):
+ (JSC::JIT::emit_op_put_scoped_var):
+ (JSC::JIT::emit_op_to_primitive):
+ (JSC::JIT::emit_op_resolve_global):
+ (JSC::JIT::emit_op_jneq_ptr):
+ (JSC::JIT::emit_op_next_pname):
+ (JSC::JIT::emit_op_to_jsnumber):
+ (JSC::JIT::emit_op_catch): Chain results from these opcodes.
+
+ (JSC::JIT::emit_op_profile_will_call):
+ (JSC::JIT::emit_op_profile_did_call): Load the profiler into regT2 to
+ avoid stomping a chained result.
+
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::emit_op_method_check):
+ (JSC::JIT::emit_op_get_by_val):
+ (JSC::JIT::emit_op_get_by_id): Chain results from these opcodes.
+
+ * jit/JITStubCall.h:
+ (JSC::JITStubCall::addArgument): Always use { regT1, regT0 }, to facilitate
+ chaining.
+
+ (JSC::JITStubCall::call): Unmap all mapped registers, since our callee
+ stub might stomp them.
+
+2009-07-01 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Don't reload values in emitBinaryDoubleOp.
+
+ SunSpider reports a 0.6% progression.
+
+ * jit/JIT.h:
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_jnless):
+ (JSC::JIT::emit_op_jnlesseq):
+ (JSC::JIT::emitBinaryDoubleOp):
+
+2009-07-01 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Convert op_div to load op1 and op2 up front.
+
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_div):
+
+2009-07-01 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Don't emit code in emitBinaryDoubleOp if code is unreachable, observable
+ via an empty (unlinked) jumplist passed in. This only effects op_jnless
+ and op_jnlesseq at present.
+
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emitSlow_op_jnless):
+ (JSC::JIT::emitSlow_op_jnlesseq):
+ (JSC::JIT::emitBinaryDoubleOp):
+
+2009-07-01 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Converted op_mod to put { tag, payload } in { regT1, regT0 }, and
+ tidied up its constant case.
+
+ SunSpider reports a 0.2% regression, but a micro-benchmark of op_mod
+ shows a 12% speedup, and the SunSpider test that uses op_mod most should
+ benefit a lot from result caching in the end, since it almost always
+ performs (expression) % constant.
+
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_mod):
+ (JSC::JIT::emitSlow_op_mod):
+
+2009-06-30 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Converted some more arithmetic ops to put { tag, payload } in
+ { regT1, regT0 }.
+
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_mul):
+ (JSC::JIT::emitSlow_op_mul):
+
+2009-06-30 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Converted some more arithmetic ops to put { tag, payload } in
+ { regT1, regT0 }, and added a case for subtract constant.
+
+ SunSpider says no change. v8 says 0.3% slower.
+
+ * jit/JIT.h:
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_add):
+ (JSC::JIT::emitAdd32Constant):
+ (JSC::JIT::emitSlow_op_add):
+ (JSC::JIT::emit_op_sub):
+ (JSC::JIT::emitSub32Constant):
+ (JSC::JIT::emitSlow_op_sub):
+
+2009-06-30 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Remove more uses of addressFor(), load double constants directly from
+ the constantpool in the CodeBlock, rather than from the register file.
+
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emitAdd32Constant):
+ (JSC::JIT::emitBinaryDoubleOp):
+
+2009-06-30 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fixed a bug in postfix ops, where we would treat x = x++ and x = x--
+ as a no-op, even if x were not an int, and the ++/-- could have side-effects.
+
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_post_inc):
+ (JSC::JIT::emitSlow_op_post_inc):
+ (JSC::JIT::emit_op_post_dec):
+ (JSC::JIT::emitSlow_op_post_dec):
+
+2009-06-30 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Converted some arithmetic ops to put { tag, payload } in
+ { regT1, regT0 }.
+
+ SunSpider says 0.7% faster. v8 says no change.
+
+ * jit/JIT.h:
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_jnless):
+ (JSC::JIT::emit_op_jnlesseq):
+ (JSC::JIT::emit_op_lshift):
+ (JSC::JIT::emit_op_rshift):
+ (JSC::JIT::emit_op_bitand):
+ (JSC::JIT::emit_op_bitor):
+ (JSC::JIT::emit_op_bitxor):
+ * jit/JITInlineMethods.h:
+ (JSC::JIT::isOperandConstantImmediateInt):
+ (JSC::JIT::getOperandConstantImmediateInt):
+
+2009-06-30 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Start removing cases of addressFor().
+
+ * jit/JIT.h:
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emitAdd32Constant):
+ (JSC::JIT::emitBinaryDoubleOp):
+ (JSC::JIT::emit_op_div):
+ * jit/JITInlineMethods.h:
+ (JSC::JIT::emitLoadDouble):
+ (JSC::JIT::emitLoadInt32ToDouble):
+ (JSC::JIT::emitStoreDouble):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_jfalse):
+ (JSC::JIT::emit_op_jtrue):
+
+2009-06-30 Geoffrey Garen <ggaren@apple.com>
+
+ Rolled back in my last patch with regression fixed.
+
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompileSlowCases):
+ * jit/JIT.h:
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_loop_if_less):
+ (JSC::JIT::emit_op_loop_if_lesseq):
+ (JSC::JIT::emit_op_resolve_global):
+ (JSC::JIT::emitSlow_op_resolve_global):
+ (JSC::JIT::emit_op_eq):
+ (JSC::JIT::emitSlow_op_eq):
+ (JSC::JIT::emit_op_neq):
+ (JSC::JIT::emitSlow_op_neq):
+
+2009-06-30 Geoffrey Garen <ggaren@apple.com>
+
+ Rolled out my last patch because it was a 2% SunSpider regression.
+
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompileSlowCases):
+ * jit/JIT.h:
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_loop_if_less):
+ (JSC::JIT::emit_op_loop_if_lesseq):
+ (JSC::JIT::emit_op_resolve_global):
+ (JSC::JIT::emit_op_eq):
+ (JSC::JIT::emitSlow_op_eq):
+ (JSC::JIT::emit_op_neq):
+ (JSC::JIT::emitSlow_op_neq):
+
+2009-06-30 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Gavin "Sam Weinig" Barraclough.
+
+ Standardized the rest of our opcodes to put { tag, payload } in
+ { regT1, regT0 } where possible.
+
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompileSlowCases):
+ * jit/JIT.h:
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_loop_if_less):
+ (JSC::JIT::emit_op_loop_if_lesseq):
+ (JSC::JIT::emit_op_resolve_global):
+ (JSC::JIT::emitSlow_op_resolve_global):
+ (JSC::JIT::emit_op_eq):
+ (JSC::JIT::emitSlow_op_eq):
+ (JSC::JIT::emit_op_neq):
+ (JSC::JIT::emitSlow_op_neq):
+
+2009-06-30 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ Replace calls to store32(tagFor()) and store32(payloadFor())
+ with emitStoreInt32(), emitStoreBool(), and emitStoreCell().
+
+ * jit/JIT.h:
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_negate):
+ (JSC::JIT::emit_op_lshift):
+ (JSC::JIT::emit_op_rshift):
+ (JSC::JIT::emit_op_bitand):
+ (JSC::JIT::emitBitAnd32Constant):
+ (JSC::JIT::emit_op_bitor):
+ (JSC::JIT::emitBitOr32Constant):
+ (JSC::JIT::emit_op_bitxor):
+ (JSC::JIT::emitBitXor32Constant):
+ (JSC::JIT::emit_op_bitnot):
+ (JSC::JIT::emit_op_post_inc):
+ (JSC::JIT::emit_op_post_dec):
+ (JSC::JIT::emit_op_pre_inc):
+ (JSC::JIT::emit_op_pre_dec):
+ (JSC::JIT::emit_op_add):
+ (JSC::JIT::emitAdd32Constant):
+ (JSC::JIT::emit_op_sub):
+ (JSC::JIT::emitSub32ConstantLeft):
+ (JSC::JIT::emitSub32ConstantRight):
+ (JSC::JIT::emit_op_mul):
+ (JSC::JIT::emitSlow_op_mul):
+ (JSC::JIT::emit_op_div):
+ (JSC::JIT::emit_op_mod):
+ * jit/JITCall.cpp:
+ (JSC::JIT::emit_op_load_varargs):
+ * jit/JITInlineMethods.h:
+ (JSC::JIT::emitStoreInt32):
+ (JSC::JIT::emitStoreCell):
+ (JSC::JIT::emitStoreBool):
+ (JSC::JIT::emitStore):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_instanceof):
+ (JSC::JIT::emit_op_not):
+ (JSC::JIT::emit_op_eq):
+ (JSC::JIT::emitSlow_op_eq):
+ (JSC::JIT::emit_op_neq):
+ (JSC::JIT::emitSlow_op_neq):
+ (JSC::JIT::compileOpStrictEq):
+ (JSC::JIT::emit_op_eq_null):
+ (JSC::JIT::emit_op_neq_null):
+ * jit/JITStubCall.h:
+ (JSC::JITStubCall::call):
+
+2009-06-30 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Standardized the rest of the property access instructions to put { tag,
+ payload } in { regT1, regT0 }.
+
+ Small v8 speedup, 0.2% SunSpider slowdown.
+
+ * jit/JIT.h:
+ * jit/JITInlineMethods.h:
+ (JSC::JIT::emitLoad):
+ (JSC::JIT::emitLoad2):
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::emit_op_get_by_val):
+ (JSC::JIT::emitSlow_op_get_by_val):
+ (JSC::JIT::emit_op_put_by_val):
+ (JSC::JIT::emitSlow_op_put_by_val):
+ (JSC::JIT::emit_op_put_by_id):
+ (JSC::JIT::emitSlow_op_put_by_id):
+ (JSC::JIT::patchPutByIdReplace):
+
+2009-06-29 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Various cleanups.
+ - Use fpRegT* instead of X86::xmm*.
+ - Use a switch statement in emitBinaryDoubleOp instead of a bunch of
+ if/elses.
+
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emitAdd32Constant):
+ (JSC::JIT::emitBinaryDoubleOp):
+ (JSC::JIT::emit_op_div):
+
+2009-06-29 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Add inline code dealing with doubles for op_jfalse and op_jtrue.
+
+ * assembler/MacroAssemblerX86Common.h:
+ (JSC::MacroAssemblerX86Common::):
+ (JSC::MacroAssemblerX86Common::zeroDouble):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_jfalse):
+ (JSC::JIT::emit_op_jtrue):
+
+2009-06-28 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Standardized op_get_by_id to put { tag, payload } in { regT1, regT0 }.
+
+ SunSpider and v8 report maybe 0.2%-0.4% regressions, but the optimization
+ this enables will win much more than that back.
+
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompileCTIMachineTrampolines):
+ * jit/JIT.h:
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::emit_op_method_check):
+ (JSC::JIT::emit_op_get_by_id):
+ (JSC::JIT::compileGetByIdHotPath):
+ (JSC::JIT::compileGetByIdSlowCase):
+ (JSC::JIT::patchGetByIdSelf):
+ (JSC::JIT::privateCompilePatchGetArrayLength):
+ (JSC::JIT::privateCompileGetByIdProto):
+ (JSC::JIT::privateCompileGetByIdSelfList):
+ (JSC::JIT::privateCompileGetByIdProtoList):
+ (JSC::JIT::privateCompileGetByIdChainList):
+ (JSC::JIT::privateCompileGetByIdChain):
+
+2009-06-26 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Standardized op_call to put { tag, payload } in { regT1, regT0 }.
+
+ SunSpider and v8 report no change.
+
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompileCTIMachineTrampolines):
+ * jit/JITCall.cpp:
+ (JSC::JIT::compileOpCallInitializeCallFrame):
+ (JSC::JIT::compileOpCallSetupArgs):
+ (JSC::JIT::compileOpConstructSetupArgs):
+ (JSC::JIT::compileOpCallVarargsSetupArgs):
+ (JSC::JIT::compileOpCallVarargs):
+ (JSC::JIT::compileOpCall):
+ (JSC::JIT::compileOpCallSlowCase):
+
+2009-06-26 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Handle multiplying by zero a little better by
+ inlining the case that both operands are non-negative
+ into the slowpath.
+
+ * assembler/MacroAssemblerX86Common.h:
+ (JSC::MacroAssemblerX86Common::branchOr32):
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_mul):
+ (JSC::JIT::emitSlow_op_mul):
+
+2009-06-25 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Optimize x++ to ++x inside for loops.
+
+ Sadly, no measurable speedup, but this should help with result chaining.
+
+ * parser/Nodes.cpp:
+ (JSC::ForNode::emitBytecode):
+
+2009-06-25 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Standardized some more opcodes to put { tag, payload } in { regT1, regT0 }.
+
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emitSlow_op_bitnot):
+ (JSC::JIT::emit_op_post_inc):
+
+2009-06-25 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Standardized some more opcodes to put { tag, payload } in { regT1, regT0 }.
+
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_bitnot):
+ (JSC::JIT::emit_op_post_dec):
+ (JSC::JIT::emit_op_pre_inc):
+ (JSC::JIT::emitSlow_op_pre_inc):
+ (JSC::JIT::emit_op_pre_dec):
+ (JSC::JIT::emitSlow_op_pre_dec):
+
+2009-06-25 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Standardized some more opcodes to put { tag, payload } in { regT1, regT0 }.
+
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_negate):
+ (JSC::JIT::emitSlow_op_negate):
+ * jit/JITCall.cpp:
+ (JSC::JIT::emit_op_construct_verify):
+ (JSC::JIT::emitSlow_op_construct_verify):
+
+2009-06-25 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Standardized some more opcodes to put { tag, payload } in { regT1, regT0 }.
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_loop_if_true):
+ (JSC::JIT::emit_op_jfalse):
+ (JSC::JIT::emit_op_jtrue):
+ (JSC::JIT::emit_op_jeq_null):
+ (JSC::JIT::emit_op_jneq_null):
+ (JSC::JIT::emit_op_eq_null):
+ (JSC::JIT::emit_op_neq_null):
+
+2009-06-25 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig (sort of, maybe).
+
+ Fixed some ASSERTs in http/tests/security.
+
+ These ASSERTs were introduced by http://trac.webkit.org/changeset/45057,
+ but the underlying problem was actually older. http://trac.webkit.org/changeset/45057
+ just exposed the problem by enabling optimization in more cases.
+
+ The ASSERTs fired because we tested PropertySlot::slotBase() for validity,
+ but slotBase() ASSERTs if it's invalid, so we would ASSERT before
+ the test could happen. Solution: Remove the ASSERT. Maybe it was valid
+ once, but it clearly goes against a pattern we've deployed of late.
+
+ The underlying problem was that WebCore would re-use a PropertySlot in
+ the case of a forwarding access, and the second use would not completely
+ overwrite the first use. Solution: Make sure to overwrite m_offset when
+ setting a value on a PropertySlot. (Other values already get implicitly
+ overwritten during reuse.)
+
+ * runtime/PropertySlot.h:
+ (JSC::PropertySlot::PropertySlot):
+ (JSC::PropertySlot::setValueSlot):
+ (JSC::PropertySlot::setValue):
+ (JSC::PropertySlot::setRegisterSlot):
+ (JSC::PropertySlot::setUndefined):
+ (JSC::PropertySlot::slotBase):
+ (JSC::PropertySlot::clearOffset):
+
+2009-06-24 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Enable JIT_OPTIMIZE_METHOD_CALLS on the branch, implementation matches current implemenatation in ToT.
+
+ * jit/JIT.h:
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::emit_op_method_check):
+ (JSC::JIT::emitSlow_op_method_check):
+ (JSC::JIT::emit_op_get_by_id):
+ (JSC::JIT::compileGetByIdHotPath):
+ (JSC::JIT::emitSlow_op_get_by_id):
+ (JSC::JIT::compileGetByIdSlowCase):
+
+2009-06-23 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Bit off a tiny bit more of standardizing opcode behavior to help with result
+ caching.
+
+ SunSpider reports no change, v8 maybe a tiny speedup.
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_to_jsnumber):
+ (JSC::JIT::emitSlow_op_to_jsnumber):
+ (JSC::JIT::emit_op_convert_this):
+ (JSC::JIT::emitSlow_op_convert_this):
+
+2009-06-23 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Bit off a tiny bit more of standardizing opcode behavior to help with result
+ caching -- including removing my old enemy, op_resolve_function, because
+ it was non-standard, and removing it felt better than helping it limp along.
+
+ SunSpider reports no change, v8 maybe a tiny speedup.
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::dump):
+ * bytecode/Opcode.h:
+ * bytecompiler/BytecodeGenerator.cpp:
+ * bytecompiler/BytecodeGenerator.h:
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompileMainPass):
+ * jit/JIT.h:
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_get_scoped_var):
+ (JSC::JIT::emit_op_put_scoped_var):
+ (JSC::JIT::emit_op_to_primitive):
+ (JSC::JIT::emitSlow_op_to_primitive):
+ * jit/JITStubs.cpp:
+ * jit/JITStubs.h:
+ * parser/Nodes.cpp:
+ (JSC::FunctionCallResolveNode::emitBytecode):
+
+2009-06-23 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Bit off a tiny bit of standardizing opcode behavior to help with result
+ caching.
+
+ 0.6% SunSpider speedup. 0.3% v8 speedup.
+
+ * jit/JITInlineMethods.h:
+ (JSC::JIT::emitLoad): Accomodate a base register that overlaps with payload
+ by loading tag before payload, to avoid stomping base/payload.
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_mov): Abide by the standard "tag in regT1, payload in
+ regT0" semantics.
+
+ (JSC::JIT::emit_op_get_global_var):
+ (JSC::JIT::emit_op_put_global_var): Ditto. Also, removed some irrelevent
+ loads while I was at it. The global object's "d" pointer never changes
+ after construction.
+
+2009-06-23 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Remove 'arguments' field from Register union (again).
+ This time do so without breaking tests (radical, I know).
+
+ * interpreter/CallFrame.h:
+ (JSC::ExecState::optionalCalleeArguments):
+ (JSC::ExecState::setArgumentCount):
+ (JSC::ExecState::init):
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::dumpRegisters):
+ (JSC::Interpreter::unwindCallFrame):
+ (JSC::Interpreter::privateExecute):
+ (JSC::Interpreter::retrieveArguments):
+ * interpreter/Register.h:
+ (JSC::Register::withInt):
+ (JSC::Register::):
+ (JSC::Register::Register):
+ (JSC::Register::i):
+ * jit/JITStubs.cpp:
+ (JSC::JITStubs::cti_op_tear_off_arguments):
+ * runtime/Arguments.h:
+ (JSC::JSActivation::copyRegisters):
+ (JSC::Register::arguments):
+ * runtime/JSActivation.cpp:
+ (JSC::JSActivation::argumentsGetter):
+ * runtime/JSActivation.h:
+
+2009-06-23 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Removed some result register tracking cruft in preparation for a new
+ result tracking mechanism.
+
+ SunSpider reports no change.
+
+ * assembler/AbstractMacroAssembler.h:
+ * assembler/X86Assembler.h:
+ (JSC::X86Assembler::JmpDst::JmpDst): No need to track jump targets in
+ machine code; we already do this in bytecode.
+
+ * jit/JIT.cpp:
+ (JSC::JIT::JIT):
+ (JSC::JIT::emitTimeoutCheck): Make sure to save and restore the result
+ registers, so an opcode with a timeout check can still benefit from result
+ register caching.
+
+ (JSC::JIT::privateCompileMainPass):
+ (JSC::JIT::privateCompileSlowCases): Removed calls to killLastResultRegister()
+ in preparation for something new.
+
+ * jit/JIT.h:
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_jnless):
+ (JSC::JIT::emit_op_jnlesseq):
+ * jit/JITInlineMethods.h:
+ (JSC::JIT::emitGetFromCallFrameHeaderPtr):
+ (JSC::JIT::emitGetFromCallFrameHeader32):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_jmp):
+ (JSC::JIT::emit_op_jfalse):
+ (JSC::JIT::emit_op_jtrue):
+ (JSC::JIT::emit_op_jeq_null):
+ (JSC::JIT::emit_op_jneq_null):
+ (JSC::JIT::emit_op_jneq_ptr):
+ (JSC::JIT::emit_op_jsr):
+ (JSC::JIT::emit_op_sret):
+ (JSC::JIT::emit_op_jmp_scopes): ditto
+
+ * jit/JITStubCall.h:
+ (JSC::JITStubCall::JITStubCall):
+ (JSC::JITStubCall::getArgument): added a mechanism for reloading an argument
+ you passed to a JIT stub, for use in emitTimeoutCheck.
+
+2009-06-23 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Remove now-useless inplace variants of binary ops.
+
+ * jit/JIT.h:
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_bitand):
+ (JSC::JIT::emit_op_bitor):
+ (JSC::JIT::emit_op_bitxor):
+ (JSC::JIT::emit_op_add):
+ (JSC::JIT::emit_op_sub):
+ (JSC::JIT::emit_op_mul):
+
+2009-06-23 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Move off memory operands to aid in re-enabling result caching.
+
+ - No regression measured.
+
+ * jit/JIT.h:
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_negate):
+ (JSC::JIT::emit_op_jnless):
+ (JSC::JIT::emit_op_jnlesseq):
+ (JSC::JIT::emit_op_lshift):
+ (JSC::JIT::emit_op_rshift):
+ (JSC::JIT::emit_op_bitand):
+ (JSC::JIT::emitBitAnd32Constant):
+ (JSC::JIT::emitBitAnd32InPlace):
+ (JSC::JIT::emit_op_bitor):
+ (JSC::JIT::emitBitOr32Constant):
+ (JSC::JIT::emitBitOr32InPlace):
+ (JSC::JIT::emit_op_bitxor):
+ (JSC::JIT::emitBitXor32Constant):
+ (JSC::JIT::emitBitXor32InPlace):
+ (JSC::JIT::emit_op_bitnot):
+ (JSC::JIT::emit_op_post_inc):
+ (JSC::JIT::emit_op_post_dec):
+ (JSC::JIT::emit_op_pre_inc):
+ (JSC::JIT::emitSlow_op_pre_inc):
+ (JSC::JIT::emit_op_pre_dec):
+ (JSC::JIT::emitSlow_op_pre_dec):
+ (JSC::JIT::emit_op_add):
+ (JSC::JIT::emitAdd32Constant):
+ (JSC::JIT::emitAdd32InPlace):
+ (JSC::JIT::emitSlow_op_add):
+ (JSC::JIT::emitSlowAdd32Constant):
+ (JSC::JIT::emit_op_sub):
+ (JSC::JIT::emitSlow_op_sub):
+ (JSC::JIT::emitSub32ConstantLeft):
+ (JSC::JIT::emitSub32ConstantRight):
+ (JSC::JIT::emitSub32InPlaceLeft):
+ (JSC::JIT::emitSub32InPlaceRight):
+ (JSC::JIT::emitBinaryDoubleOp):
+ (JSC::JIT::emit_op_mul):
+ (JSC::JIT::emitMul32InPlace):
+ (JSC::JIT::emit_op_div):
+ (JSC::JIT::emit_op_mod):
+ * jit/JITCall.cpp:
+ (JSC::JIT::compileOpCallVarargs):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_loop_if_less):
+ (JSC::JIT::emit_op_loop_if_lesseq):
+ (JSC::JIT::emit_op_instanceof):
+ (JSC::JIT::emit_op_to_primitive):
+ (JSC::JIT::emit_op_not):
+ (JSC::JIT::emit_op_jneq_ptr):
+ (JSC::JIT::emit_op_eq):
+ (JSC::JIT::emit_op_neq):
+ (JSC::JIT::emit_op_to_jsnumber):
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::emit_op_get_by_val):
+ (JSC::JIT::emit_op_put_by_val):
+
+2009-06-23 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fixed some missing and/or misplaced labels in bytecode generation, so
+ we don't have to work around them in JIT code generation.
+
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::emitJumpSubroutine):
+ * parser/Nodes.cpp:
+ (JSC::TryNode::emitBytecode):
+
+2009-06-22 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ For member function calls, emit "this" directly into the "this" slot
+ for the function call, instead of moving it there later. This reduces
+ time spent in op_mov during certain calls, like "a.b.c()".
+
+ 1%-2% speedup on v8, mostly richards and delta-blue.
+
+ * parser/Nodes.cpp:
+ (JSC::FunctionCallDotNode::emitBytecode):
+
+2009-06-22 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Remove 'arguments' field from Register union. Having JSCell derived types in the union is
+ dangerous since it opens the possibility for the field to be written as a raw pointer but
+ then read as a JSValue. This will lead to statle data being read for the tag, which may
+ be dangerous. Having removed Arguments* types form Register, all arguments objects must
+ always explicitly be stored in the register file as JSValues.
+
+ * interpreter/CallFrame.h:
+ (JSC::ExecState::optionalCalleeArguments):
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::unwindCallFrame):
+ (JSC::Interpreter::privateExecute):
+ (JSC::Interpreter::retrieveArguments):
+ * interpreter/Register.h:
+ (JSC::Register::):
+ * jit/JITStubs.cpp:
+ (JSC::JITStubs::cti_op_tear_off_arguments):
+ * runtime/Arguments.h:
+ (JSC::JSActivation::copyRegisters):
+ * runtime/JSActivation.cpp:
+ (JSC::JSActivation::argumentsGetter):
+ * runtime/JSActivation.h:
+
+2009-06-03 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Add back known this value optimization by abstracting
+ slow case if not JSCell jumps.
+
+ * jit/JIT.h:
+ * jit/JITCall.cpp:
+ (JSC::JIT::compileOpCallVarargs):
+ (JSC::JIT::compileOpCallVarargsSlowCase):
+ (JSC::JIT::compileOpCall):
+ (JSC::JIT::compileOpCallSlowCase):
+ * jit/JITInlineMethods.h:
+ (JSC::JIT::emitJumpSlowCaseIfNotJSCell):
+ (JSC::JIT::linkSlowCaseIfNotJSCell):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_instanceof):
+ (JSC::JIT::emitSlow_op_instanceof):
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::emit_op_get_by_val):
+ (JSC::JIT::emitSlow_op_get_by_val):
+ (JSC::JIT::emit_op_put_by_val):
+ (JSC::JIT::emitSlow_op_put_by_val):
+ (JSC::JIT::emit_op_get_by_id):
+ (JSC::JIT::emitSlow_op_get_by_id):
+ (JSC::JIT::emit_op_put_by_id):
+ (JSC::JIT::emitSlow_op_put_by_id):
+
+2009-06-01 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fixed some of the regression in crypto-aes.js. (8.5% speedup in
+ crypto-aes.js.)
+
+ SunSpider reports no change overall.
+
+ Division was producing double results, which took the slow path through
+ array access code.
+
+ Strangely, all my attempts at versions of this patch that modified array
+ access code to accept ints encoded as doubles along the fast or slow paths
+ were regressions. So I did this instead.
+
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_div): When dividing an int by an int, go ahead and try
+ to turn the result into an int. Don't just do int division, though, because
+ testing shows it to be slower than SSE double division, and the corner
+ cases are pretty complicated / lengthy on top of that. Also, don't try
+ to canonicalize division of known tiny numerators into ints, since that's a
+ waste of time.
+
+2009-05-26 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Fixed a regression caused by my recent fix for NaN.
+
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emitBinaryDoubleOp): Actually do the comparison in reverse
+ order, like the ChangeLog said we would, bokay?
+
+2009-05-26 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig and Oliver Hunt.
+
+ Fixed two edge cases in %:
+
+ - Don't do -2147483648 % x as a fast case, since you might do -2147483648 % -1,
+ which will signal a hardware exception due to overflow.
+
+ - In the case of a zero remainder, be sure to store negative zero if the
+ dividend was zero.
+
+ SunSpider reports no change.
+
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_mod):
+ (JSC::JIT::emitSlow_op_mod):
+
+2009-05-25 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Fixed a regression when comparing to NaN.
+
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emitBinaryDoubleOp): For op_jnless and op_jnless_eq, do the
+ comparison in reverse order, and jump if the result is below or
+ below-or-equal. This ensures that we do jump in the case of NaN.
+
+2009-05-25 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ SunSpider says no change.
+
+ Fixed regressions in fast/js/var-declarations-shadowing.html and
+ fast/js/equality.html, caused by recent == and != optimizations.
+
+ * jit/JITStubs.cpp:
+ (JSC::JITStubs::cti_op_eq): Don't treat "compare to string" as always
+ numeric or string comparison. If the second operand is an object, you
+ need to ToPrimitive it, and start all over again. Also, I wrote out each
+ of the possible cases explicitly, to cut down on redundant branching.
+
+2009-05-25 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Fix bug in fast/js/constant-folding.html where we were not negating
+ -0 properly.
+
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_negate):
+
+2009-05-23 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Refactored new slow case codegen for == and !=.
+
+ SunSpider reports no change, maybe a tiny speedup.
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emitSlow_op_eq):
+ (JSC::JIT::emitSlow_op_neq): Made a vptr comparison a *Ptr operation,
+ instead of *32, to make it portable to 64bit. Reorganized the string
+ and generic cases to make their control flow a little clearer.
+
+2009-05-23 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Optimized == and != for our new value representation -- especially for strings.
+
+ 14% speedup on date-format-tofte.
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_eq):
+ (JSC::JIT::emitSlow_op_eq):
+ (JSC::JIT::emit_op_neq):
+ (JSC::JIT::emitSlow_op_neq):
+ * jit/JITStubCall.h:
+ (JSC::JITStubCall::JITStubCall):
+ * jit/JITStubs.cpp:
+ (JSC::JITStubs::cti_op_eq):
+ (JSC::JITStubs::cti_op_eq_strings):
+ (JSC::JITStubs::cti_op_call_eval):
+ * jit/JITStubs.h:
+ (JSC::):
+ * runtime/JSValue.h:
+
+2009-05-22 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Fix non-SSE enabled builds.
+
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emitSlow_op_add): Don't early return here, we still need to call the JIT stub.
+ (JSC::JIT::emitSlow_op_sub): Ditto.
+
+2009-05-22 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Here's a thought: let's not take a jit stub call just to multiply by 1,
+ bokay?
+
+ imul doesn't set the zero flag, so to test for a zero result, we need
+ an explicit instruction. (Luckily, it does set the overflow flag, so
+ we can still use that.)
+
+ * jit/JIT.h:
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_mul):
+ (JSC::JIT::emitSlow_op_mul):
+ (JSC::JIT::emitMul32InPlace):
+
+2009-05-22 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey "Premature Commit" Garen.
+
+ Add back constant integer cases for op_add.
+
+ * jit/JIT.h:
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_add):
+ (JSC::JIT::emitAdd32Constant):
+ (JSC::JIT::emitSlow_op_add):
+ (JSC::JIT::emitSlowAdd32Constant):
+ * jit/JITInlineMethods.h:
+ (JSC::JIT::getConstantOperandImmediateDouble):
+ (JSC::JIT::isOperandConstantImmediateDouble):
+
+2009-05-22 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Added fast double cases for op_jnless and op_jnlesseq.
+
+ * assembler/AbstractMacroAssembler.h:
+ (JSC::AbstractMacroAssembler::JumpList::jumps): New accesor, used by
+ addSlowCase.
+
+ * assembler/X86Assembler.h:
+ (JSC::X86Assembler::ucomisd_rm): New method for comparing register to
+ memory.
+
+ * jit/JIT.h:
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_jnless):
+ (JSC::JIT::emitSlow_op_jnless):
+ (JSC::JIT::emit_op_jnlesseq):
+ (JSC::JIT::emitSlow_op_jnlesseq):
+ (JSC::JIT::emit_op_add):
+ (JSC::JIT::emit_op_sub):
+ (JSC::JIT::emitBinaryDoubleOp):
+ (JSC::JIT::emit_op_mul):
+ (JSC::JIT::emit_op_div): Modified emitBinaryDoubleOp to accept comparison/jump
+ operations in addition to operations with explicit result registers.
+
+ * jit/JITInlineMethods.h:
+ (JSC::JIT::addSlowCase): Added an "addSlowCase" for JumpLists, so clients
+ can track multiple jumps to the same slow case condition together.
+
+2009-05-21 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Implement op_negate inline fast cases.
+
+ * assembler/MacroAssemblerX86Common.h:
+ (JSC::MacroAssemblerX86Common::neg32):
+ * assembler/X86Assembler.h:
+ (JSC::X86Assembler::):
+ (JSC::X86Assembler::negl_m):
+ (JSC::X86Assembler::xorpd_rr):
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompileMainPass):
+ (JSC::JIT::privateCompileSlowCases):
+ * jit/JIT.h:
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_negate):
+ (JSC::JIT::emitSlow_op_negate):
+
+2009-05-20 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Update the patchOffsetGetByIdSlowCaseCall constant for the
+ case that OPCODE_SAMPLING is enabled.
+
+ * jit/JIT.h:
+
+2009-05-20 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Added support for inline subtraction of doubles.
+
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_sub):
+ (JSC::JIT::emitSlow_op_sub):
+ (JSC::JIT::emitSlowSub32InPlaceLeft):
+ (JSC::JIT::emitBinaryDoubleOp):
+
+2009-05-20 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Added support for inline division.
+
+ * assembler/X86Assembler.h:
+ (JSC::X86Assembler::):
+ (JSC::X86Assembler::divsd_rr):
+ (JSC::X86Assembler::divsd_mr):
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::dump):
+ * bytecode/Opcode.h:
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::emitBinaryOp):
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompileMainPass):
+ (JSC::JIT::privateCompileSlowCases):
+ * jit/JIT.h:
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emitBinaryDoubleOp):
+ (JSC::JIT::emit_op_div):
+ (JSC::JIT::emitSlow_op_div):
+
+2009-05-20 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Added support for inline addition of doubles.
+
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_add):
+ (JSC::JIT::emitSlow_op_add):
+ (JSC::JIT::emitSlowAdd32InPlace):
+ (JSC::JIT::emitBinaryDoubleOp):
+ (JSC::JIT::emit_op_mul):
+ (JSC::JIT::emitSlow_op_mul):
+
+2009-05-20 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Factored inline double operations into a helper function, so that we
+ can reuse this code for other math operations.
+
+ * jit/JIT.h:
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emitBinaryDoubleOp):
+ (JSC::JIT::emit_op_mul):
+ * jit/JITCall.cpp:
+ (JSC::JIT::compileOpCallInitializeCallFrame):
+
+2009-05-20 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Added support for inline multiplication of doubles.
+
+ * assembler/X86Assembler.h:
+ (JSC::X86Assembler::cvtsi2sd_mr): New function, useful for loading an
+ int32 into a double register.
+
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_mul):
+ (JSC::JIT::emitSlow_op_mul): Filled out these cases for double arithmetic.
+
+ * jit/JIT.h:
+ * jit/JITInlineMethods.h:
+ (JSC::JIT::addressFor): New function, useful for addressing a JSValue's
+ full 64bits as a double.
+
+2009-05-19 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Implement and enable optimized calls.
+
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompileCTIMachineTrampolines): Add ENABLE(JIT_OPTIMIZE_CALL) guards
+ around the the optimize call only trampolines (virtualCallPreLink and virtualCallLink).
+ Update the trampolines to account for the new JSValue representation.
+ (JSC::JIT::unlinkCall): Use NULL instead of JSValue noValue.
+
+ * jit/JITCall.cpp:
+ (JSC::JIT::compileOpCall): Update to account for the new JSValue representation
+ (JSC::JIT::compileOpCallSlowCase): Ditto.
+
+ * jit/JITStubs.h: Remove incorrect !ENABLE(JIT_OPTIMIZE_CALL) guard.
+
+ * wtf/Platform.h: Enable ENABLE_JIT_OPTIMIZE_CALL.
+
+2009-05-19 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Implement and enable optimized property access.
+
+ * assembler/AbstractMacroAssembler.h: Fix comment.
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompileCTIMachineTrampolines): Remove array length trampoline
+ and implement the string length trampoline.
+ * jit/JIT.h: Add new constants for patch offsets.
+ * jit/JITInlineMethods.h: Remove FIELD_OFFSET which is now in StdLibExtras.h.
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::emit_op_get_by_id):
+ (JSC::JIT::emitSlow_op_get_by_id):
+ (JSC::JIT::emit_op_put_by_id):
+ (JSC::JIT::emitSlow_op_put_by_id):
+ (JSC::JIT::compilePutDirectOffset):
+ (JSC::JIT::compileGetDirectOffset):
+ (JSC::JIT::privateCompilePutByIdTransition):
+ (JSC::JIT::patchGetByIdSelf):
+ (JSC::JIT::patchPutByIdReplace):
+ (JSC::JIT::privateCompilePatchGetArrayLength):
+ (JSC::JIT::privateCompileGetByIdProto):
+ (JSC::JIT::privateCompileGetByIdSelfList):
+ (JSC::JIT::privateCompileGetByIdProtoList):
+ (JSC::JIT::privateCompileGetByIdChainList):
+ (JSC::JIT::privateCompileGetByIdChain):
+ * jit/JITStubCall.h:
+ (JSC::JITStubCall::addArgument): Add version of addArgument that takes
+ two registers for the tag and payload.
+ * jit/JITStubs.cpp:
+ (JSC::JITStubs::JITStubs): Remove array length trampoline pointer.
+ (JSC::JITStubs::cti_op_get_by_id_self_fail):
+ * jit/JITStubs.h:
+ * runtime/JSObject.h:
+ (JSC::JSObject::JSObject): Move m_inheritorID below the property storage
+ to align it to a 16 byte boundary.
+ * wtf/Platform.h: Enable ENABLE_JIT_OPTIMIZE_PROPERTY_ACCESS
+ * wtf/StdLibExtras.h: Move FIELD_OFFSET here.
+
+2009-05-17 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Remove unneeded ExecState parameter from the number JSValue constructors.
+
+ * runtime/JSValue.h:
+ (JSC::jsNumber):
+ (JSC::jsNaN):
+ (JSC::JSValue::JSValue):
+
+2009-05-15 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Implemented fast path for op_put_by_val when putting to arrays.
+
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::emit_op_put_by_val):
+ (JSC::JIT::emitSlow_op_put_by_val):
+
+2009-05-15 Geoffrey Garen <ggaren@apple.com> (Mostly by Sam)
+
+ Reviewed by Sam Weinig.
+
+ Implemented fast path for op_get_by_val when accessing array.
+
+ * jit/JIT.cpp:
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::emit_op_get_by_val):
+ (JSC::JIT::emitSlow_op_get_by_val):
+
+2009-05-14 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fixed a failure in fast/js/math-transforms.html caused by failing to
+ preserve -0 in multiplication.
+
+ * assembler/X86Assembler.h:
+ (JSC::X86Assembler::jz):
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_mul):
+ (JSC::JIT::emitSlow_op_mul):
+ (JSC::JIT::emitMul32Constant):
+ (JSC::JIT::emitMul32InPlace): Check both for overflow and for zero when
+ doing multiplication. Use a slow case to get these right.
+
+2009-05-14 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fixed a bug in the varargs calling convention.
+
+ * jit/JITCall.cpp:
+ (JSC::JIT::compileOpCallVarargs): Move the argument count into regT1,
+ since that's where ctiVirtualCall expects it to be.
+
+2009-05-14 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fixed a small bug in instanceof's looping code.
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_instanceof): NULL means the object has no prototype,
+ so only loop when *not* equal to NULL.
+
+2009-05-14 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fixed a small bug in instanceof's result writing code.
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_instanceof): Make sure to fill out the payload bits
+ in all cases.
+
+2009-05-14 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Removed an invalid assertion in cti_op_urshift which
+ depended on a fast path for op_urshift which has
+ never existed.
+
+ * jit/JITStubs.cpp:
+ (JSC::JITStubs::cti_op_urshift):
+
+2009-05-14 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fixed loop_if_true, which had the same reversed test that jtrue had.
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_loop_if_true):
+
+2009-05-14 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ In op_neq, we apparently want to check that one value
+ does *not* equal another. Go figure.
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_neq):
+
+2009-05-14 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ The slow case of op_mod should call op_mod's jit stub,
+ not op_mul. That would be dumb.
+
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emitSlow_op_mod):
+
+2009-05-14 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fixed problems when using 'arguments' due to a half-initialized register.
+
+ * interpreter/CallFrame.h:
+ (JSC::ExecState::setCalleeArguments):
+ (JSC::ExecState::init): Require a full JSValue when setting up the
+ 'arguments' virtual register, since this register is accessible from JIT
+ code and bytecode, and needs to be a true JSValue.
+
+ * interpreter/CallFrameClosure.h:
+ (JSC::CallFrameClosure::resetCallFrame): ditto
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute): ditto
+
+ * interpreter/Register.h: Removed the constructor that allowed assignment
+ of a JSArguments* to a register. That is not safe. See above.
+
+ * jit/JITStubs.cpp:
+ (JSC::JITStubs::cti_op_create_arguments):
+ (JSC::JITStubs::cti_op_create_arguments_no_params): ditto
+
+2009-05-14 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ We really want to go to the slow case in op_jfalse and
+ op_jtrue if the value is *not* boolean.
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_jfalse):
+ (JSC::JIT::emit_op_jtrue):
+
+2009-05-14 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Flipped the condition when emitting a an op_loop_if_less or op_loop_if_lesseq
+ if the first operand is a constant.
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_loop_if_less):
+ (JSC::JIT::emit_op_loop_if_lesseq):
+
+2009-05-14 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Added missing return in op_jnless and op_jnlesseq.
+
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_jnless):
+ (JSC::JIT::emit_op_jnlesseq):
+
+2009-05-14 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Load constants into the the register file as a temporary measure to
+ aid bring up. This allows us to use to treat constants like any
+ other virtual register.
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_enter):
+ (JSC::JIT::emit_op_enter_with_activation):
+
+2009-05-14 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implemented op_strict_eq. Original patch by Snowy, by way of Sam and Gavin.
+
+ * assembler/MacroAssemblerX86Common.h:
+ (JSC::MacroAssemblerX86Common::set8): Added set8, since it's slightly
+ faster than set32, and the new value representation usually doesn't
+ need set32.
+
+ * jit/JIT.cpp:
+ * jit/JIT.h:
+ * jit/JITInlineMethods.h:
+ (JSC::JIT::emitLoadTag):
+ (JSC::JIT::emitLoadPayload): Added helper functions for dealing with
+ constants. Eventually, we should write special cases for all constants,
+ but these are helpful in the short term.
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::compileOpStrictEq):
+ (JSC::JIT::emitSlow_op_stricteq):
+ (JSC::JIT::emitSlow_op_nstricteq): teh opcodez.
+
+ * runtime/JSValue.h:
+ (JSC::JSValue::):
+ (JSC::JSValue::isDouble): Added a LowestTag for clarity.
+
+2009-05-13 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fixed some bugs in host function calls.
+
+ testapi now passes!
+
+ * jit/JIT.cpp: Changed some registers around to avoid overwriting edx:eax,
+ which is how JSValues are now returned. Also changed the code that
+ passes thisValue to pass the full 64bits of the value. Also added
+ an #error compiler directive to other platform builds, since the JSValue
+ return signature probably won't return in edx:eax on those platforms,
+ and we'll have to investigate a solution.
+
+2009-05-13 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Removed parameters from functions that are intended never to use their
+ parameters.
+
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::emitSlow_op_get_by_val):
+ (JSC::JIT::emitSlow_op_put_by_val):
+
+2009-05-13 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Ported op_instance_of from TOT. It's basically the same, but some register
+ stuff changed to memory stuff.
+
+ * jit/JITInlineMethods.h:
+ (JSC::JIT::emitPutJITStubArgFromVirtualRegister):
+ (JSC::JIT::emitStore): Changed to use helper functions.
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_instanceof):
+ (JSC::JIT::emitSlow_op_instanceof): Ported from TOT.
+
+2009-05-13 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Added a comment to explain an exception-handling subtelty that we found
+ hard to remember when reviewing my last patch.
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_catch):
+
+2009-05-13 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implemented try/catch.
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_throw): Updated to use JITStackFrame abstraction.
+ (JSC::JIT::emit_op_catch): Filled out.
+
+2009-05-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Implemented op_loop_if_true, op_jfalse, op_jtrue, op_jeq_null and op_jneq_null
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emitSlow_op_instanceof): Moved from below to be next to its
+ fast brother.
+
+ (JSC::JIT::emit_op_loop_if_true): Similar to the old version
+ in that it tries to do the integer case first and reduce the
+ number of jumps you might need to take.
+ (JSC::JIT::emitSlow_op_loop_if_true):
+
+ (JSC::JIT::emit_op_jfalse): Very similar to op_loop_if_true, only
+ the inverse and without a timeout check.
+ (JSC::JIT::emitSlow_op_jfalse):
+
+ (JSC::JIT::emit_op_jtrue): Very similar to op_loop_if_true except
+ without the timeout check.
+ (JSC::JIT::emitSlow_op_jtrue):
+
+ (JSC::JIT::emit_op_jeq_null): Very similar to the implementation
+ of op_eq, except it takes jumps instead of copying the condition
+ to a dst.
+ (JSC::JIT::emit_op_jneq_null): Ditto but for op_neq.
+
+2009-05-13 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implemented op_call_varargs.
+
+ * jit/JITCall.cpp:
+ (JSC::JIT::compileOpCallVarargsSetupArgs):
+ (JSC::JIT::compileOpCallVarargs):
+ (JSC::JIT::emit_op_call):
+ (JSC::JIT::emit_op_call_eval):
+ (JSC::JIT::emit_op_load_varargs):
+ (JSC::JIT::emit_op_call_varargs):
+ (JSC::JIT::emit_op_construct):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_jneq_ptr):
+
+2009-05-13 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implemented op_call_eval.
+
+ * jit/JITCall.cpp:
+ (JSC::JIT::compileOpCallVarargsSetupArgs):
+ (JSC::JIT::compileOpCall):
+ * jit/JITStubCall.h:
+ (JSC::CallEvalJITStub::CallEvalJITStub):
+
+2009-05-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Implemented op_not. (Gavin did most of the work!)
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_not):
+ (JSC::JIT::emitSlow_op_not):
+
+2009-05-13 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implemented op_global_resolve.
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_loop_if_less):
+ (JSC::JIT::emit_op_loop_if_lesseq): Added back accidentally removed
+ early returns.
+
+ (JSC::JIT::emit_op_resolve_global):
+ * jit/JITStubs.cpp:
+ (JSC::JITStubs::cti_op_resolve_global): Pretty similar to the old code,
+ but we need two reads and a TimesEight step in order to account for the
+ 64bit value size.
+
+ * jit/JITStubs.h:
+ (JSC::): Slightly tweaked this code to specialize for a JSGlobalObject*,
+ to avoid having to pass an irrelevant tag pointer to the stub.
+
+2009-05-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Implemented op_to_jsnumber.
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_to_jsnumber):
+ (JSC::JIT::emitSlow_op_to_jsnumber):
+
+2009-05-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Implemented op_convert_this.
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_convert_this):
+ (JSC::JIT::emitSlow_op_convert_this):
+
+2009-05-13 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Got basic JS function and constructor calls working.
+
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompileCTIMachineTrampolines):
+ * jit/JIT.h:
+ * jit/JITCall.cpp:
+ (JSC::JIT::compileOpCallSetupArgs):
+ (JSC::JIT::compileOpCallVarargsSetupArgs):
+ (JSC::JIT::compileOpConstructSetupArgs):
+ (JSC::JIT::emit_op_ret):
+ (JSC::JIT::emit_op_construct_verify):
+ (JSC::JIT::emitSlow_op_construct_verify):
+ (JSC::JIT::emitSlow_op_call):
+ (JSC::JIT::emitSlow_op_call_eval):
+ (JSC::JIT::emitSlow_op_call_varargs):
+ (JSC::JIT::emitSlow_op_construct):
+ (JSC::JIT::compileOpCall): Filled out these cases, with call_eval #if'd out.
+
+ * jit/JITInlineMethods.h:
+ (JSC::JIT::emitPutJITStubArgFromVirtualRegister):
+ (JSC::JIT::emitLoad): Restored some legacy "*CTIArg*" functions,
+ since I wanted to avoid the complexity of revamping the API here while
+ trying to bring it up. Eventually, we should re-remove all of these functions.
+
+ (JSC::JIT::recordJumpTarget): Removed unnecessary macro cruft. You will
+ not silence me, Sam Weinig! The world will know that you are a crufty,
+ crufty, crufty programmer!!!
+
+ * jit/JITOpcodes.cpp:
+ * jit/JITStubs.cpp:
+ (JSC::):
+ * jit/JITStubs.h: Changed up some offsets in the JITStackFrame class, since
+ and off-by-one error was causing stack misalignment.
+
+2009-05-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Implement op_eq_null and op_neq_null.
+
+ * assembler/MacroAssemblerX86Common.h:
+ (JSC::MacroAssemblerX86Common::set8):
+ (JSC::MacroAssemblerX86Common::setTest8):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_stricteq):
+ (JSC::JIT::emitSlow_op_stricteq):
+ (JSC::JIT::emit_op_nstricteq):
+ (JSC::JIT::emitSlow_op_nstricteq):
+ (JSC::JIT::emit_op_eq_null):
+ (JSC::JIT::emit_op_neq_null):
+ * jsc.cpp:
+
+2009-05-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Implement op_new_error.
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_new_error):
+ * jit/JITStubCall.h:
+ (JSC::JITStubCall::addArgument): Add a version of addArgument
+ that takes a constant JSValue.
+
+2009-05-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Remove now unused emitGetVariableObjectRegister and emitPutVariableObjectRegister.
+
+ * jit/JIT.cpp:
+ * jit/JIT.h:
+
+2009-05-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Implement op_to_primitive and op_next_pname.
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emitSlow_op_construct_verify):
+ (JSC::JIT::emit_op_to_primitive):
+ (JSC::JIT::emitSlow_op_to_primitive):
+ (JSC::JIT::emitSlow_op_loop_if_true):
+ (JSC::JIT::emit_op_jtrue):
+ (JSC::JIT::emit_op_next_pname):
+
+2009-05-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Add op_get_global_var, op_put_global_var, emit_op_get_scoped_var, emit_op_put_scoped_var and
+ op_unexpected_load.
+
+ * jit/JIT.h:
+ * jit/JITInlineMethods.h:
+ (JSC::JIT::tagFor):
+ (JSC::JIT::payloadFor):
+ (JSC::JIT::emitLoad):
+ (JSC::JIT::emitStore):
+ (JSC::JIT::emitLoadReturnValue):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_get_global_var):
+ (JSC::JIT::emit_op_put_global_var):
+ (JSC::JIT::emit_op_get_scoped_var):
+ (JSC::JIT::emit_op_put_scoped_var):
+ (JSC::JIT::emit_op_unexpected_load):
+
+2009-05-12 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Added overflow handling to op_sub.
+
+ * jit/JIT.h:
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emitSlow_op_sub):
+ (JSC::JIT::emitSlowSub32InPlaceLeft):
+
+2009-05-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Remove a function call by folding op_get_by_id and op_put_by_id into
+ their respective compile functions.
+
+ * jit/JIT.h:
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::emit_op_get_by_id):
+ (JSC::JIT::emitSlow_op_get_by_id):
+ (JSC::JIT::emit_op_put_by_id):
+ (JSC::JIT::emitSlow_op_put_by_id):
+
+2009-05-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Make JITStubCall work in 64bit by making the stack index
+ step dependent on the size of void*.
+
+ * jit/JITStubCall.h:
+ (JSC::JITStubCall::JITStubCall):
+ (JSC::JITStubCall::addArgument):
+
+2009-05-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Implement simple version of property access opcodes
+ which just call a stub functions.
+
+ * jit/JITOpcodes.cpp:
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::emitSlow_op_put_by_id):
+ (JSC::JIT::emitSlow_op_get_by_id):
+ (JSC::JIT::emit_op_get_by_val):
+ (JSC::JIT::emitSlow_op_get_by_val):
+ (JSC::JIT::emit_op_put_by_val):
+ (JSC::JIT::emitSlow_op_put_by_val):
+ (JSC::JIT::emit_op_put_by_index):
+ (JSC::JIT::emit_op_put_getter):
+ (JSC::JIT::emit_op_put_setter):
+ (JSC::JIT::emit_op_del_by_id):
+ (JSC::JIT::compileGetByIdHotPath):
+ (JSC::JIT::compilePutByIdHotPath):
+ * jit/JITStubCall.h:
+ (JSC::JITStubCall::addArgument):
+ * jsc.cpp:
+
+2009-05-12 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Added work-around for XCode debugging echo problem.
+
+ * jsc.cpp:
+ (runInteractive):
+
+2009-05-12 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Added overflow handling to op_add.
+
+ * jit/JIT.h:
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emitSlow_op_add):
+ (JSC::JIT::emitSlowAdd32InPlace):
+
+2009-05-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Add slow cases for op_jnless or emit_op_jnlesseq.
+
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emitSlow_op_jnless):
+ (JSC::JIT::emitSlow_op_jnlesseq):
+
+2009-05-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Add implementations for op_jnless, emit_op_jnlesseq, op_loop_if_less and op_loop_if_lesseq.
+ No slow cases for op_jnless or emit_op_jnlesseq yet.
+
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_jnless):
+ (JSC::JIT::emitSlow_op_jnless):
+ (JSC::JIT::emit_op_jnlesseq):
+ (JSC::JIT::emitSlow_op_jnlesseq):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_loop_if_less):
+ (JSC::JIT::emitSlow_op_loop_if_less):
+ (JSC::JIT::emit_op_loop_if_lesseq):
+ (JSC::JIT::emitSlow_op_loop_if_lesseq):
+
+2009-05-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Turn the RECORD_JUMP_TARGET macro into an inline function.
+
+ * jit/JIT.h:
+ * jit/JITInlineMethods.h:
+ (JSC::JIT::recordJumpTarget):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_jmp):
+ (JSC::JIT::emit_op_jsr):
+ (JSC::JIT::emit_op_jmp_scopes):
+
+2009-05-12 Sam Weinig <sam@webkit.org>
+
+ Add MacroAssemblerX86Common::set8 to fix the build.
+
+ * assembler/MacroAssemblerX86Common.h:
+ (JSC::MacroAssemblerX86Common::set8):
+
+2009-05-12 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Added overflow recovery for pre_inc and pre_dec.
+
+ Turned some short-circuit code into early returns, as is the WebKit style.
+
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_post_inc):
+ (JSC::JIT::emitSlow_op_post_inc):
+ (JSC::JIT::emit_op_post_dec):
+ (JSC::JIT::emitSlow_op_post_dec):
+ (JSC::JIT::emitSlow_op_pre_inc):
+ (JSC::JIT::emitSlow_op_pre_dec):
+
+2009-05-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Implement op_jmp, op_loop, op_eq and op_neq.
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_jmp):
+ (JSC::JIT::emit_op_loop):
+ (JSC::JIT::emit_op_eq):
+ (JSC::JIT::emitSlow_op_eq):
+ (JSC::JIT::emit_op_neq):
+ (JSC::JIT::emitSlow_op_neq):
+ (JSC::JIT::emit_op_enter):
+ (JSC::JIT::emit_op_enter_with_activation):
+
+2009-05-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Implement the slow cases for arithmetic opcodes.
+
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emitSlow_op_lshift):
+ (JSC::JIT::emitSlow_op_rshift):
+ (JSC::JIT::emitSlow_op_bitand):
+ (JSC::JIT::emitSlow_op_bitor):
+ (JSC::JIT::emitSlow_op_bitxor):
+ (JSC::JIT::emitSlow_op_bitnot):
+ (JSC::JIT::emitSlow_op_sub):
+ (JSC::JIT::emitSlow_op_mul):
+ (JSC::JIT::emitSlow_op_mod):
+ (JSC::JIT::emit_op_mod):
+
+2009-05-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Implement op_bitnot.
+
+ * assembler/MacroAssemblerX86Common.h:
+ (JSC::MacroAssemblerX86Common::not32):
+ * assembler/X86Assembler.h:
+ (JSC::X86Assembler::notl_m):
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_bitnot):
+
+2009-05-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Add arithmetic opcode implementations from the old nitro-extreme branch.
+
+ * jit/JIT.h:
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_jnless):
+ (JSC::JIT::emitSlow_op_jnless):
+ (JSC::JIT::emit_op_jnlesseq):
+ (JSC::JIT::emitSlow_op_jnlesseq):
+ (JSC::JIT::emit_op_lshift):
+ (JSC::JIT::emitSlow_op_lshift):
+ (JSC::JIT::emit_op_rshift):
+ (JSC::JIT::emitSlow_op_rshift):
+ (JSC::JIT::emit_op_bitand):
+ (JSC::JIT::emitBitAnd32Constant):
+ (JSC::JIT::emitBitAnd32InPlace):
+ (JSC::JIT::emit_op_bitor):
+ (JSC::JIT::emitSlow_op_bitor):
+ (JSC::JIT::emitBitOr32Constant):
+ (JSC::JIT::emitBitOr32InPlace):
+ (JSC::JIT::emit_op_bitxor):
+ (JSC::JIT::emitSlow_op_bitxor):
+ (JSC::JIT::emitBitXor32Constant):
+ (JSC::JIT::emitBitXor32InPlace):
+ (JSC::JIT::emit_op_bitnot):
+ (JSC::JIT::emitSlow_op_bitnot):
+ (JSC::JIT::emit_op_post_inc):
+ (JSC::JIT::emitSlow_op_post_inc):
+ (JSC::JIT::emit_op_post_dec):
+ (JSC::JIT::emitSlow_op_post_dec):
+ (JSC::JIT::emit_op_pre_inc):
+ (JSC::JIT::emitSlow_op_pre_inc):
+ (JSC::JIT::emit_op_pre_dec):
+ (JSC::JIT::emitSlow_op_pre_dec):
+ (JSC::JIT::emit_op_add):
+ (JSC::JIT::emitAdd32Constant):
+ (JSC::JIT::emitAdd32InPlace):
+ (JSC::JIT::emitSlow_op_add):
+ (JSC::JIT::emit_op_sub):
+ (JSC::JIT::emitSlow_op_sub):
+ (JSC::JIT::emitSub32ConstantLeft):
+ (JSC::JIT::emitSub32ConstantRight):
+ (JSC::JIT::emitSub32InPlaceLeft):
+ (JSC::JIT::emitSub32InPlaceRight):
+ (JSC::JIT::emit_op_mul):
+ (JSC::JIT::emitSlow_op_mul):
+ (JSC::JIT::emitMul32Constant):
+ (JSC::JIT::emitMul32InPlace):
+ (JSC::JIT::emit_op_mod):
+ (JSC::JIT::emitSlow_op_mod):
+ * jit/JITOpcodes.cpp:
+
+2009-05-12 Geoffrey Garen <ggaren@apple.com>
+
+ Removed JIT_OPTIMIZE_ARITHMETIC setting, since it was all about 32bit
+ value representations.
+
+ Added JSAPIValueWrapper to the repository.
+
+ * jit/JIT.h:
+ * jit/JITArithmetic.cpp:
+ * runtime/JSAPIValueWrapper.cpp: Added.
+ (JSC::JSAPIValueWrapper::toPrimitive):
+ (JSC::JSAPIValueWrapper::getPrimitiveNumber):
+ (JSC::JSAPIValueWrapper::toBoolean):
+ (JSC::JSAPIValueWrapper::toNumber):
+ (JSC::JSAPIValueWrapper::toString):
+ (JSC::JSAPIValueWrapper::toObject):
+ * runtime/JSAPIValueWrapper.h: Added.
+ (JSC::JSAPIValueWrapper::value):
+ (JSC::JSAPIValueWrapper::isAPIValueWrapper):
+ (JSC::JSAPIValueWrapper::JSAPIValueWrapper):
+ (JSC::jsAPIValueWrapper):
+ * wtf/Platform.h:
+
+2009-05-12 Geoffrey Garen <ggaren@apple.com>
+
+ Turned on the JIT and got it building and running the most trivial of
+ programs.
+
+ All configurable optimizations are turned off, and a few opcodes are ad
+ hoc #if'd out.
+
+ So far, I've only merged op_mov and op_end, but some stub-reliant
+ opcodes work as-is from TOT.
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::~CodeBlock):
+ * bytecode/CodeBlock.h:
+ * jit/JIT.cpp:
+ (JSC::JIT::compileOpStrictEq):
+ * jit/JIT.h:
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_lshift):
+ (JSC::JIT::emitSlow_op_lshift):
+ (JSC::JIT::emit_op_rshift):
+ (JSC::JIT::emitSlow_op_rshift):
+ (JSC::JIT::emit_op_jnless):
+ (JSC::JIT::emitSlow_op_jnless):
+ (JSC::JIT::emit_op_jnlesseq):
+ (JSC::JIT::emitSlow_op_jnlesseq):
+ (JSC::JIT::emit_op_bitand):
+ (JSC::JIT::emitSlow_op_bitand):
+ (JSC::JIT::emit_op_post_inc):
+ (JSC::JIT::emitSlow_op_post_inc):
+ (JSC::JIT::emit_op_post_dec):
+ (JSC::JIT::emitSlow_op_post_dec):
+ (JSC::JIT::emit_op_pre_inc):
+ (JSC::JIT::emitSlow_op_pre_inc):
+ (JSC::JIT::emit_op_pre_dec):
+ (JSC::JIT::emitSlow_op_pre_dec):
+ (JSC::JIT::emit_op_mod):
+ (JSC::JIT::emitSlow_op_mod):
+ (JSC::JIT::emit_op_add):
+ (JSC::JIT::emit_op_mul):
+ (JSC::JIT::emit_op_sub):
+ (JSC::JIT::compileBinaryArithOpSlowCase):
+ (JSC::JIT::emitSlow_op_add):
+ (JSC::JIT::emitSlow_op_mul):
+ * jit/JITCall.cpp:
+ (JSC::JIT::compileOpCallInitializeCallFrame):
+ (JSC::JIT::compileOpConstructSetupArgs):
+ (JSC::JIT::compileOpCallVarargs):
+ (JSC::JIT::compileOpCall):
+ (JSC::JIT::compileOpCallSlowCase):
+ * jit/JITInlineMethods.h:
+ (JSC::JIT::getConstantOperandImmediateInt):
+ (JSC::JIT::isOperandConstantImmediateInt):
+ (JSC::JIT::emitInitRegister):
+ (JSC::JIT::addSlowCase):
+ (JSC::JIT::addJump):
+ (JSC::JIT::emitJumpSlowToHot):
+ (JSC::JIT::tagFor):
+ (JSC::JIT::payloadFor):
+ (JSC::JIT::emitLoad):
+ (JSC::JIT::emitLoadReturnValue):
+ (JSC::JIT::emitStore):
+ (JSC::JIT::emitStoreReturnValue):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_mov):
+ (JSC::JIT::emit_op_end):
+ (JSC::JIT::emit_op_jmp):
+ (JSC::JIT::emit_op_loop):
+ (JSC::JIT::emit_op_loop_if_less):
+ (JSC::JIT::emit_op_loop_if_lesseq):
+ (JSC::JIT::emit_op_instanceof):
+ (JSC::JIT::emit_op_get_global_var):
+ (JSC::JIT::emit_op_put_global_var):
+ (JSC::JIT::emit_op_get_scoped_var):
+ (JSC::JIT::emit_op_put_scoped_var):
+ (JSC::JIT::emit_op_tear_off_activation):
+ (JSC::JIT::emit_op_ret):
+ (JSC::JIT::emit_op_construct_verify):
+ (JSC::JIT::emit_op_to_primitive):
+ (JSC::JIT::emit_op_loop_if_true):
+ (JSC::JIT::emit_op_resolve_global):
+ (JSC::JIT::emit_op_not):
+ (JSC::JIT::emit_op_jfalse):
+ (JSC::JIT::emit_op_jeq_null):
+ (JSC::JIT::emit_op_jneq_null):
+ (JSC::JIT::emit_op_jneq_ptr):
+ (JSC::JIT::emit_op_unexpected_load):
+ (JSC::JIT::emit_op_eq):
+ (JSC::JIT::emit_op_bitnot):
+ (JSC::JIT::emit_op_jtrue):
+ (JSC::JIT::emit_op_neq):
+ (JSC::JIT::emit_op_bitxor):
+ (JSC::JIT::emit_op_bitor):
+ (JSC::JIT::emit_op_throw):
+ (JSC::JIT::emit_op_next_pname):
+ (JSC::JIT::emit_op_push_scope):
+ (JSC::JIT::emit_op_to_jsnumber):
+ (JSC::JIT::emit_op_push_new_scope):
+ (JSC::JIT::emit_op_catch):
+ (JSC::JIT::emit_op_switch_imm):
+ (JSC::JIT::emit_op_switch_char):
+ (JSC::JIT::emit_op_switch_string):
+ (JSC::JIT::emit_op_new_error):
+ (JSC::JIT::emit_op_eq_null):
+ (JSC::JIT::emit_op_neq_null):
+ (JSC::JIT::emit_op_convert_this):
+ (JSC::JIT::emit_op_profile_will_call):
+ (JSC::JIT::emit_op_profile_did_call):
+ (JSC::JIT::emitSlow_op_construct_verify):
+ (JSC::JIT::emitSlow_op_get_by_val):
+ (JSC::JIT::emitSlow_op_loop_if_less):
+ (JSC::JIT::emitSlow_op_loop_if_lesseq):
+ (JSC::JIT::emitSlow_op_put_by_val):
+ (JSC::JIT::emitSlow_op_not):
+ (JSC::JIT::emitSlow_op_instanceof):
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::emit_op_get_by_val):
+ (JSC::JIT::emit_op_put_by_val):
+ (JSC::JIT::emit_op_put_by_index):
+ (JSC::JIT::emit_op_put_getter):
+ (JSC::JIT::emit_op_put_setter):
+ (JSC::JIT::emit_op_del_by_id):
+ (JSC::JIT::compileGetByIdHotPath):
+ (JSC::JIT::compilePutByIdHotPath):
+ * jit/JITStubCall.h:
+ (JSC::JITStubCall::JITStubCall):
+ (JSC::JITStubCall::addArgument):
+ (JSC::JITStubCall::call):
+ (JSC::JITStubCall::):
+ (JSC::CallEvalJITStub::CallEvalJITStub):
+ * jit/JITStubs.cpp:
+ (JSC::):
+ (JSC::JITStubs::cti_op_add):
+ (JSC::JITStubs::cti_op_pre_inc):
+ (JSC::JITStubs::cti_op_mul):
+ (JSC::JITStubs::cti_op_get_by_val):
+ (JSC::JITStubs::cti_op_get_by_val_string):
+ (JSC::JITStubs::cti_op_get_by_val_byte_array):
+ (JSC::JITStubs::cti_op_sub):
+ (JSC::JITStubs::cti_op_put_by_val):
+ (JSC::JITStubs::cti_op_put_by_val_array):
+ (JSC::JITStubs::cti_op_put_by_val_byte_array):
+ (JSC::JITStubs::cti_op_negate):
+ (JSC::JITStubs::cti_op_div):
+ (JSC::JITStubs::cti_op_pre_dec):
+ (JSC::JITStubs::cti_op_post_inc):
+ (JSC::JITStubs::cti_op_eq):
+ (JSC::JITStubs::cti_op_lshift):
+ (JSC::JITStubs::cti_op_bitand):
+ (JSC::JITStubs::cti_op_rshift):
+ (JSC::JITStubs::cti_op_bitnot):
+ (JSC::JITStubs::cti_op_mod):
+ (JSC::JITStubs::cti_op_neq):
+ (JSC::JITStubs::cti_op_post_dec):
+ (JSC::JITStubs::cti_op_urshift):
+ (JSC::JITStubs::cti_op_bitxor):
+ (JSC::JITStubs::cti_op_bitor):
+ (JSC::JITStubs::cti_op_switch_imm):
+ * jit/JITStubs.h:
+ * runtime/JSArray.cpp:
+ (JSC::JSArray::JSArray):
+ * runtime/JSFunction.cpp:
+ (JSC::JSFunction::~JSFunction):
+ * runtime/JSValue.h:
+ (JSC::JSValue::payload):
+ * wtf/Platform.h:
+
+2009-05-07 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Add some new MacroAssembler and assembler functions that will be needed shortly.
+
+ * assembler/MacroAssemblerX86Common.h:
+ (JSC::MacroAssemblerX86Common::add32):
+ (JSC::MacroAssemblerX86Common::and32):
+ (JSC::MacroAssemblerX86Common::mul32):
+ (JSC::MacroAssemblerX86Common::neg32):
+ (JSC::MacroAssemblerX86Common::or32):
+ (JSC::MacroAssemblerX86Common::sub32):
+ (JSC::MacroAssemblerX86Common::xor32):
+ (JSC::MacroAssemblerX86Common::branchAdd32):
+ (JSC::MacroAssemblerX86Common::branchMul32):
+ (JSC::MacroAssemblerX86Common::branchSub32):
+ * assembler/X86Assembler.h:
+ (JSC::X86Assembler::):
+ (JSC::X86Assembler::addl_rm):
+ (JSC::X86Assembler::andl_mr):
+ (JSC::X86Assembler::andl_rm):
+ (JSC::X86Assembler::andl_im):
+ (JSC::X86Assembler::negl_r):
+ (JSC::X86Assembler::notl_r):
+ (JSC::X86Assembler::orl_rm):
+ (JSC::X86Assembler::orl_im):
+ (JSC::X86Assembler::subl_rm):
+ (JSC::X86Assembler::xorl_mr):
+ (JSC::X86Assembler::xorl_rm):
+ (JSC::X86Assembler::xorl_im):
+ (JSC::X86Assembler::imull_mr):
+
+2009-05-11 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Cameron Zwarich.
+
+ Remove the NumberHeap.
+
+ * JavaScriptCore.exp:
+ * runtime/Collector.cpp:
+ (JSC::Heap::Heap):
+ (JSC::Heap::destroy):
+ (JSC::Heap::recordExtraCost):
+ (JSC::Heap::heapAllocate):
+ (JSC::Heap::markConservatively):
+ (JSC::Heap::sweep):
+ (JSC::Heap::collect):
+ (JSC::Heap::objectCount):
+ (JSC::Heap::statistics):
+ (JSC::typeName):
+ (JSC::Heap::isBusy):
+ * runtime/Collector.h:
+ (JSC::Heap::globalData):
+ * runtime/JSCell.h:
+
+2009-05-11 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Land initial commit of new number representation for 32 bit platforms,
+ with JIT disabled.
+
+ * API/APICast.h:
+ (toJS):
+ (toRef):
+ * API/JSCallbackObjectFunctions.h:
+ (JSC::::hasInstance):
+ (JSC::::toNumber):
+ (JSC::::toString):
+ * API/tests/testapi.c:
+ (EvilExceptionObject_convertToType):
+ * AllInOneFile.cpp:
+ * JavaScriptCore.exp:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * bytecode/CodeBlock.cpp:
+ (JSC::valueToSourceString):
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::emitLoad):
+ (JSC::BytecodeGenerator::emitUnexpectedLoad):
+ (JSC::keyForImmediateSwitch):
+ * bytecompiler/BytecodeGenerator.h:
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::dumpRegisters):
+ (JSC::Interpreter::privateExecute):
+ * parser/Nodes.cpp:
+ (JSC::ArrayNode::emitBytecode):
+ (JSC::processClauseList):
+ * runtime/ArgList.h:
+ * runtime/Collector.h:
+ (JSC::sizeof):
+ * runtime/DateMath.cpp:
+ * runtime/ExceptionHelpers.h:
+ * runtime/InitializeThreading.cpp:
+ * runtime/JSArray.cpp:
+ (JSC::JSArray::JSArray):
+ * runtime/JSCell.cpp:
+ * runtime/JSCell.h:
+ (JSC::JSCell::isAPIValueWrapper):
+ (JSC::JSValue::isString):
+ (JSC::JSValue::isGetterSetter):
+ (JSC::JSValue::isObject):
+ (JSC::JSValue::getString):
+ (JSC::JSValue::getObject):
+ (JSC::JSValue::getCallData):
+ (JSC::JSValue::getConstructData):
+ (JSC::JSValue::getUInt32):
+ (JSC::JSValue::marked):
+ (JSC::JSValue::toPrimitive):
+ (JSC::JSValue::getPrimitiveNumber):
+ (JSC::JSValue::toBoolean):
+ (JSC::JSValue::toNumber):
+ (JSC::JSValue::toString):
+ (JSC::JSValue::needsThisConversion):
+ (JSC::JSValue::toThisString):
+ (JSC::JSValue::getJSNumber):
+ (JSC::JSValue::toObject):
+ (JSC::JSValue::toThisObject):
+ * runtime/JSGlobalData.cpp:
+ (JSC::JSGlobalData::JSGlobalData):
+ * runtime/JSGlobalData.h:
+ * runtime/JSGlobalObject.h:
+ (JSC::Structure::prototypeForLookup):
+ * runtime/JSGlobalObjectFunctions.cpp:
+ (JSC::globalFuncParseInt):
+ * runtime/JSImmediate.h:
+ * runtime/JSNumberCell.cpp: Removed.
+ * runtime/JSNumberCell.h: Removed.
+ * runtime/JSObject.h:
+ (JSC::JSValue::get):
+ (JSC::JSValue::put):
+ * runtime/JSString.h:
+ (JSC::JSValue::toThisJSString):
+ * runtime/JSValue.cpp:
+ (JSC::JSValue::toInteger):
+ (JSC::JSValue::toIntegerPreserveNaN):
+ (JSC::JSValue::toObjectSlowCase):
+ (JSC::JSValue::toThisObjectSlowCase):
+ (JSC::JSValue::synthesizeObject):
+ (JSC::JSValue::synthesizePrototype):
+ (JSC::JSValue::description):
+ (JSC::nonInlineNaN):
+ * runtime/JSValue.h:
+ (JSC::JSValue::):
+ (JSC::EncodedJSValueHashTraits::emptyValue):
+ (JSC::jsNaN):
+ (JSC::operator==):
+ (JSC::operator!=):
+ (JSC::toInt32):
+ (JSC::toUInt32):
+ (JSC::JSValue::encode):
+ (JSC::JSValue::decode):
+ (JSC::JSValue::JSValue):
+ (JSC::JSValue::operator bool):
+ (JSC::JSValue::operator==):
+ (JSC::JSValue::operator!=):
+ (JSC::JSValue::isUndefined):
+ (JSC::JSValue::isNull):
+ (JSC::JSValue::isUndefinedOrNull):
+ (JSC::JSValue::isCell):
+ (JSC::JSValue::isInt32):
+ (JSC::JSValue::isUInt32):
+ (JSC::JSValue::isDouble):
+ (JSC::JSValue::isTrue):
+ (JSC::JSValue::isFalse):
+ (JSC::JSValue::tag):
+ (JSC::JSValue::asInt32):
+ (JSC::JSValue::asUInt32):
+ (JSC::JSValue::asDouble):
+ (JSC::JSValue::asCell):
+ (JSC::JSValue::isNumber):
+ (JSC::JSValue::isBoolean):
+ (JSC::JSValue::getBoolean):
+ (JSC::JSValue::uncheckedGetNumber):
+ (JSC::JSValue::toJSNumber):
+ (JSC::JSValue::getNumber):
+ (JSC::JSValue::toInt32):
+ (JSC::JSValue::toUInt32):
+ * runtime/Operations.h:
+ (JSC::JSValue::equal):
+ (JSC::JSValue::equalSlowCaseInline):
+ (JSC::JSValue::strictEqual):
+ (JSC::JSValue::strictEqualSlowCaseInline):
+ (JSC::jsLess):
+ (JSC::jsLessEq):
+ (JSC::jsAdd):
+ * runtime/PropertySlot.h:
+ * runtime/StringPrototype.cpp:
+ (JSC::stringProtoFuncCharAt):
+ (JSC::stringProtoFuncCharCodeAt):
+ (JSC::stringProtoFuncIndexOf):
+ * wtf/Platform.h:
+
+=== Start merge of nitro-extreme branch 2009-07-30 ===
+
+2009-07-29 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by George Staikos.
+
+ Resolve class/struct mixup in forward declarations
+ https://bugs.webkit.org/show_bug.cgi?id=27708
+
+ * API/JSClassRef.h:
+ * bytecode/SamplingTool.h:
+ * interpreter/Interpreter.h:
+ * jit/JIT.h:
+ * profiler/ProfileGenerator.h:
+ * profiler/Profiler.h:
+ * runtime/ClassInfo.h:
+ * runtime/ExceptionHelpers.h:
+ * runtime/JSByteArray.h:
+ * runtime/JSCell.h:
+ * runtime/JSFunction.h:
+ * runtime/JSGlobalData.h:
+ * runtime/JSObject.h:
+ * runtime/JSString.h:
+
+2009-07-28 Ada Chan <adachan@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27236
+ - Implement TCMalloc_SystemRelease and TCMalloc_SystemCommit for Windows.
+ - Use a background thread to periodically scavenge memory to release back to the system.
+
+ * wtf/FastMalloc.cpp:
+ (WTF::TCMalloc_PageHeap::init):
+ (WTF::TCMalloc_PageHeap::runScavengerThread):
+ (WTF::TCMalloc_PageHeap::scavenge):
+ (WTF::TCMalloc_PageHeap::shouldContinueScavenging):
+ (WTF::TCMalloc_PageHeap::New):
+ (WTF::TCMalloc_PageHeap::AllocLarge):
+ (WTF::TCMalloc_PageHeap::Delete):
+ (WTF::TCMalloc_PageHeap::GrowHeap):
+ (WTF::sleep):
+ (WTF::TCMalloc_PageHeap::scavengerThread):
+ * wtf/TCSystemAlloc.cpp:
+ (TCMalloc_SystemRelease):
+ (TCMalloc_SystemCommit):
+ * wtf/TCSystemAlloc.h:
+
+2009-07-28 Xan Lopez <xlopez@igalia.com>
+
+ Add new files, fixes distcheck.
+
+ * GNUmakefile.am:
+
+2009-07-28 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Determining whether to use JIT or interpreter
+ moved from JavaScriptCore.pri to Platform.h
+
+ * JavaScriptCore.pri:
+ * wtf/Platform.h:
+
+2009-07-27 Brian Weinstein <bweinstein@apple.com>
+
+ Fix of misuse of sort command.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-07-27 Brian Weinstein <bweinstein@apple.com>
+
+ Build fix for Windows.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-07-27 Gavin Barraclough <barraclough@apple.com>
+
+ Rubber stamped by Oliver Hunt.
+
+ Fix tyop in JIT, renamed preverveReturnAddressAfterCall -> preserveReturnAddressAfterCall.
+
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompile):
+ (JSC::JIT::privateCompileCTIMachineTrampolines):
+ * jit/JIT.h:
+ * jit/JITInlineMethods.h:
+ (JSC::JIT::preserveReturnAddressAfterCall):
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::privateCompilePutByIdTransition):
+
+2009-07-27 Alexey Proskuryakov <ap@webkit.org>
+
+ Gtk build fix.
+
+ * runtime/JSLock.cpp: (JSC::JSLock::JSLock): Fix "no threading" case.
+
+2009-07-27 Alexey Proskuryakov <ap@webkit.org>
+
+ Release build fix.
+
+ * runtime/JSLock.h: (JSC::JSLock::~JSLock):
+
+2009-07-27 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27735
+ Give a helpful name to JSLock constructor argument
+
+ * API/JSBase.cpp:
+ (JSGarbageCollect):
+ * API/JSContextRef.cpp:
+ * API/JSObjectRef.cpp:
+ (JSPropertyNameArrayRelease):
+ (JSPropertyNameAccumulatorAddName):
+ * JavaScriptCore.exp:
+ * jsc.cpp:
+ (functionGC):
+ (cleanupGlobalData):
+ (jscmain):
+ * runtime/Collector.cpp:
+ (JSC::Heap::destroy):
+ * runtime/JSLock.cpp:
+ (JSC::JSLock::JSLock):
+ (JSC::JSLock::lock):
+ (JSC::JSLock::unlock):
+ (JSC::JSLock::DropAllLocks::DropAllLocks):
+ (JSC::JSLock::DropAllLocks::~DropAllLocks):
+ * runtime/JSLock.h:
+ (JSC::):
+ (JSC::JSLock::JSLock):
+ (JSC::JSLock::~JSLock):
+
+2009-07-25 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Eric Seidel.
+
+ Allow custom memory allocation control for OpaqueJSPropertyNameArray struct
+ https://bugs.webkit.org/show_bug.cgi?id=27342
+
+ Inherits OpaqueJSPropertyNameArray struct from FastAllocBase because it has been
+ instantiated by 'new' JavaScriptCore/API/JSObjectRef.cpp:473.
+
+ * API/JSObjectRef.cpp:
+
+2009-07-24 Ada Chan <adachan@apple.com>
+
+ In preparation for https://bugs.webkit.org/show_bug.cgi?id=27236:
+ Remove TCMALLOC_TRACK_DECOMMITED_SPANS. We'll always track decommitted spans.
+ We have tested this and show it has little impact on performance.
+
+ Reviewed by Mark Rowe.
+
+ * wtf/FastMalloc.cpp:
+ (WTF::TCMalloc_PageHeap::New):
+ (WTF::TCMalloc_PageHeap::AllocLarge):
+ (WTF::propagateDecommittedState):
+ (WTF::mergeDecommittedStates):
+ (WTF::TCMalloc_PageHeap::Delete):
+ (WTF::TCMalloc_PageHeap::IncrementalScavenge):
+
+2009-07-24 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler and Adam Barth.
+
+ Build fix for x86 platforms.
+ https://bugs.webkit.org/show_bug.cgi?id=27602
+
+ * jit/JIT.cpp:
+
+2009-07-23 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix, adding missing header.
+
+ * jit/JIT.cpp:
+
+2009-07-22 Yong Li <yong.li@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ Add wince specific memory files into wtf/wince
+ https://bugs.webkit.org/show_bug.cgi?id=27550
+
+ * wtf/wince/FastMallocWince.h: Added.
+ * wtf/wince/MemoryManager.cpp: Added.
+ * wtf/wince/MemoryManager.h: Added.
+
+2009-07-23 Norbert Leser <norbert.leser@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Fix for missing mmap features in Symbian
+ https://bugs.webkit.org/show_bug.cgi?id=24540
+
+ Fix, conditionally for PLATFORM(SYMBIAN), as an alternative
+ to missing support for the MAP_ANON property flag in mmap.
+ It utilizes Symbian specific memory allocation features.
+
+ * runtime/Collector.cpp
+
+2009-07-22 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ With ENABLE(ASSEMBLER_WX_EXCLUSIVE), only change permissions once per repatch event.
+ ( https://bugs.webkit.org/show_bug.cgi?id=27564 )
+
+ Currently we change permissions forwards and backwards for each instruction modified,
+ instead we should only change permissions once per complete repatching event.
+
+ 2.5% progression running with ENABLE(ASSEMBLER_WX_EXCLUSIVE) enabled,
+ which recoups 1/3 of the penalty of running with this mode enabled.
+
+ * assembler/ARMAssembler.cpp:
+ (JSC::ARMAssembler::linkBranch):
+ - Replace usage of MakeWritable with cacheFlush.
+
+ * assembler/ARMAssembler.h:
+ (JSC::ARMAssembler::patchPointerInternal):
+ (JSC::ARMAssembler::repatchLoadPtrToLEA):
+ - Replace usage of MakeWritable with cacheFlush.
+
+ * assembler/ARMv7Assembler.h:
+ (JSC::ARMv7Assembler::relinkJump):
+ (JSC::ARMv7Assembler::relinkCall):
+ (JSC::ARMv7Assembler::repatchInt32):
+ (JSC::ARMv7Assembler::repatchPointer):
+ (JSC::ARMv7Assembler::repatchLoadPtrToLEA):
+ (JSC::ARMv7Assembler::setInt32):
+ - Replace usage of MakeWritable with cacheFlush.
+
+ * assembler/LinkBuffer.h:
+ (JSC::LinkBuffer::performFinalization):
+ - Make explicit call to cacheFlush.
+
+ * assembler/MacroAssemblerCodeRef.h:
+ (JSC::MacroAssemblerCodeRef::MacroAssemblerCodeRef):
+ - Make size always available.
+
+ * assembler/RepatchBuffer.h:
+ (JSC::RepatchBuffer::RepatchBuffer):
+ (JSC::RepatchBuffer::~RepatchBuffer):
+ - Add calls to MakeWritable & makeExecutable.
+
+ * assembler/X86Assembler.h:
+ (JSC::X86Assembler::relinkJump):
+ (JSC::X86Assembler::relinkCall):
+ (JSC::X86Assembler::repatchInt32):
+ (JSC::X86Assembler::repatchPointer):
+ (JSC::X86Assembler::repatchLoadPtrToLEA):
+ - Remove usage of MakeWritable.
+
+ * bytecode/CodeBlock.h:
+ (JSC::CodeBlock::getJITCode):
+ - Provide access to CodeBlock's JITCode.
+
+ * jit/ExecutableAllocator.h:
+ (JSC::ExecutableAllocator::makeExecutable):
+ (JSC::ExecutableAllocator::cacheFlush):
+ - Remove MakeWritable, make cacheFlush public.
+
+ * jit/JIT.cpp:
+ (JSC::ctiPatchNearCallByReturnAddress):
+ (JSC::ctiPatchCallByReturnAddress):
+ (JSC::JIT::privateCompile):
+ (JSC::JIT::unlinkCall):
+ (JSC::JIT::linkCall):
+ - Add CodeBlock argument to RepatchBuffer.
+
+ * jit/JIT.h:
+ - Pass CodeBlock argument for use by RepatchBuffer.
+
+ * jit/JITCode.h:
+ (JSC::JITCode::start):
+ (JSC::JITCode::size):
+ - Provide access to code start & size.
+
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::privateCompilePutByIdTransition):
+ (JSC::JIT::patchGetByIdSelf):
+ (JSC::JIT::patchMethodCallProto):
+ (JSC::JIT::patchPutByIdReplace):
+ (JSC::JIT::privateCompilePatchGetArrayLength):
+ (JSC::JIT::privateCompileGetByIdProto):
+ (JSC::JIT::privateCompileGetByIdSelfList):
+ (JSC::JIT::privateCompileGetByIdProtoList):
+ (JSC::JIT::privateCompileGetByIdChainList):
+ (JSC::JIT::privateCompileGetByIdChain):
+ - Add CodeBlock argument to RepatchBuffer.
+
+ * jit/JITStubs.cpp:
+ (JSC::JITThunks::tryCachePutByID):
+ (JSC::JITThunks::tryCacheGetByID):
+ (JSC::JITStubs::DEFINE_STUB_FUNCTION):
+ - Pass CodeBlock argument for use by RepatchBuffer.
+
+2009-07-21 Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
+
+ Reviewed by Gavin Barraclough.
+
+ Cache not only the structure of the method, but the
+ structure of its prototype as well.
+ https://bugs.webkit.org/show_bug.cgi?id=27077
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::~CodeBlock):
+ * bytecode/CodeBlock.h:
+ (JSC::MethodCallLinkInfo::MethodCallLinkInfo):
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::patchMethodCallProto):
+
+2009-07-21 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Move call linking / repatching down from AbstractMacroAssembler into MacroAssemblerARCH classes.
+ ( https://bugs.webkit.org/show_bug.cgi?id=27527 )
+
+ This allows the implementation to be defined per architecture. Specifically this addresses the
+ fact that x86-64 MacroAssembler implements far calls as a load to register, followed by a call
+ to register. Patching the call actually requires the pointer load to be patched, rather than
+ the call to be patched. This is implementation detail specific to MacroAssemblerX86_64, and as
+ such is best handled there.
+
+ * assembler/AbstractMacroAssembler.h:
+ * assembler/MacroAssemblerARM.h:
+ (JSC::MacroAssemblerARM::linkCall):
+ (JSC::MacroAssemblerARM::repatchCall):
+ * assembler/MacroAssemblerARMv7.h:
+ (JSC::MacroAssemblerARMv7::linkCall):
+ (JSC::MacroAssemblerARMv7::repatchCall):
+ * assembler/MacroAssemblerX86.h:
+ (JSC::MacroAssemblerX86::linkCall):
+ (JSC::MacroAssemblerX86::repatchCall):
+ * assembler/MacroAssemblerX86_64.h:
+ (JSC::MacroAssemblerX86_64::linkCall):
+ (JSC::MacroAssemblerX86_64::repatchCall):
+
+2009-07-21 Adam Treat <adam.treat@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ Every wtf file includes other wtf files with <> style includes
+ except this one. Fix the exception.
+
+ * wtf/ByteArray.h:
+
+2009-07-21 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Move LinkBuffer/RepatchBuffer out of AbstractMacroAssembler.
+ ( https://bugs.webkit.org/show_bug.cgi?id=27485 )
+
+ This change is the first step in a process to move code that should be in
+ the architecture-specific MacroAssembler classes up out of Assmbler and
+ AbstractMacroAssembler.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ - added new files
+
+ * assembler/ARMAssembler.h:
+ (JSC::ARMAssembler::linkPointer):
+ - rename patchPointer to bring it in line with the current link/repatch naming scheme
+
+ * assembler/ARMv7Assembler.h:
+ (JSC::ARMv7Assembler::linkCall):
+ (JSC::ARMv7Assembler::linkPointer):
+ (JSC::ARMv7Assembler::relinkCall):
+ (JSC::ARMv7Assembler::repatchInt32):
+ (JSC::ARMv7Assembler::repatchPointer):
+ (JSC::ARMv7Assembler::setInt32):
+ (JSC::ARMv7Assembler::setPointer):
+ - rename patchPointer to bring it in line with the current link/repatch naming scheme
+
+ * assembler/AbstractMacroAssembler.h:
+ (JSC::AbstractMacroAssembler::linkJump):
+ (JSC::AbstractMacroAssembler::linkCall):
+ (JSC::AbstractMacroAssembler::linkPointer):
+ (JSC::AbstractMacroAssembler::getLinkerAddress):
+ (JSC::AbstractMacroAssembler::getLinkerCallReturnOffset):
+ (JSC::AbstractMacroAssembler::repatchJump):
+ (JSC::AbstractMacroAssembler::repatchCall):
+ (JSC::AbstractMacroAssembler::repatchNearCall):
+ (JSC::AbstractMacroAssembler::repatchInt32):
+ (JSC::AbstractMacroAssembler::repatchPointer):
+ (JSC::AbstractMacroAssembler::repatchLoadPtrToLEA):
+ - remove the LinkBuffer/RepatchBuffer classes, but leave a set of (private, friended) methods to interface to the Assembler
+
+ * assembler/LinkBuffer.h: Added.
+ (JSC::LinkBuffer::LinkBuffer):
+ (JSC::LinkBuffer::~LinkBuffer):
+ (JSC::LinkBuffer::link):
+ (JSC::LinkBuffer::patch):
+ (JSC::LinkBuffer::locationOf):
+ (JSC::LinkBuffer::locationOfNearCall):
+ (JSC::LinkBuffer::returnAddressOffset):
+ (JSC::LinkBuffer::finalizeCode):
+ (JSC::LinkBuffer::finalizeCodeAddendum):
+ (JSC::LinkBuffer::code):
+ (JSC::LinkBuffer::performFinalization):
+ - new file containing the LinkBuffer class, previously a member of AbstractMacroAssembler
+
+ * assembler/RepatchBuffer.h: Added.
+ (JSC::RepatchBuffer::RepatchBuffer):
+ (JSC::RepatchBuffer::relink):
+ (JSC::RepatchBuffer::repatch):
+ (JSC::RepatchBuffer::repatchLoadPtrToLEA):
+ (JSC::RepatchBuffer::relinkCallerToTrampoline):
+ (JSC::RepatchBuffer::relinkCallerToFunction):
+ (JSC::RepatchBuffer::relinkNearCallerToTrampoline):
+ - new file containing the RepatchBuffer class, previously a member of AbstractMacroAssembler
+
+ * assembler/X86Assembler.h:
+ (JSC::X86Assembler::linkJump):
+ (JSC::X86Assembler::linkCall):
+ (JSC::X86Assembler::linkPointerForCall):
+ (JSC::X86Assembler::linkPointer):
+ (JSC::X86Assembler::relinkJump):
+ (JSC::X86Assembler::relinkCall):
+ (JSC::X86Assembler::repatchInt32):
+ (JSC::X86Assembler::repatchPointer):
+ (JSC::X86Assembler::setPointer):
+ (JSC::X86Assembler::setInt32):
+ (JSC::X86Assembler::setRel32):
+ - rename patchPointer to bring it in line with the current link/repatch naming scheme
+
+ * jit/JIT.cpp:
+ (JSC::ctiPatchNearCallByReturnAddress):
+ (JSC::ctiPatchCallByReturnAddress):
+ - include new headers
+ - remove MacroAssembler:: specification from RepatchBuffer usage
+
+ * jit/JITPropertyAccess.cpp:
+ * yarr/RegexJIT.cpp:
+ - include new headers
+
+2009-07-21 Robert Agoston <Agoston.Robert@stud.u-szeged.hu>
+
+ Reviewed by David Levin.
+
+ Fixed #undef typo.
+ https://bugs.webkit.org/show_bug.cgi?id=27506
+
+ * bytecode/Opcode.h:
+
+2009-07-21 Adam Roben <aroben@apple.com>
+
+ Roll out r46153, r46154, and r46155
+
+ These changes were causing build failures and assertion failures on
+ Windows.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * runtime/JSArray.cpp:
+ * runtime/StringPrototype.cpp:
+ * runtime/UString.cpp:
+ * runtime/UString.h:
+ * wtf/FastMalloc.cpp:
+ * wtf/FastMalloc.h:
+ * wtf/Platform.h:
+ * wtf/PossiblyNull.h: Removed.
+
+2009-07-21 Roland Steiner <rolandsteiner@google.com>
+
+ Reviewed by David Levin.
+
+ Add ENABLE_RUBY to list of build options
+ https://bugs.webkit.org/show_bug.cgi?id=27324
+
+ * Configurations/FeatureDefines.xcconfig: Added flag ENABLE_RUBY.
+
+2009-07-20 Oliver Hunt <oliver@apple.com>
+
+ Build fix attempt #2
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-07-20 Oliver Hunt <oliver@apple.com>
+
+ Build fix attempt #1
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-07-20 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Make it harder to misuse try* allocation routines
+ https://bugs.webkit.org/show_bug.cgi?id=27469
+
+ Jump through a few hoops to make it much harder to accidentally
+ miss null-checking of values returned by the try-* allocation
+ routines.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * runtime/JSArray.cpp:
+ (JSC::JSArray::putSlowCase):
+ (JSC::JSArray::increaseVectorLength):
+ * runtime/StringPrototype.cpp:
+ (JSC::stringProtoFuncFontsize):
+ (JSC::stringProtoFuncLink):
+ * runtime/UString.cpp:
+ (JSC::allocChars):
+ (JSC::reallocChars):
+ (JSC::expandCapacity):
+ (JSC::UString::Rep::reserveCapacity):
+ (JSC::UString::expandPreCapacity):
+ (JSC::createRep):
+ (JSC::concatenate):
+ (JSC::UString::spliceSubstringsWithSeparators):
+ (JSC::UString::replaceRange):
+ (JSC::UString::append):
+ (JSC::UString::operator=):
+ * runtime/UString.h:
+ (JSC::UString::Rep::createEmptyBuffer):
+ * wtf/FastMalloc.cpp:
+ (WTF::tryFastZeroedMalloc):
+ (WTF::tryFastMalloc):
+ (WTF::tryFastCalloc):
+ (WTF::tryFastRealloc):
+ (WTF::TCMallocStats::tryFastMalloc):
+ (WTF::TCMallocStats::tryFastCalloc):
+ (WTF::TCMallocStats::tryFastRealloc):
+ * wtf/FastMalloc.h:
+ (WTF::TryMallocReturnValue::TryMallocReturnValue):
+ (WTF::TryMallocReturnValue::~TryMallocReturnValue):
+ (WTF::TryMallocReturnValue::operator Maybe<T>):
+ (WTF::TryMallocReturnValue::getValue):
+ * wtf/PossiblyNull.h:
+ (WTF::PossiblyNull::PossiblyNull):
+ (WTF::PossiblyNull::~PossiblyNull):
+ (WTF::PossiblyNull::getValue):
+ * wtf/Platform.h:
+
+2009-07-20 Gavin Barraclough <barraclough@apple.com>
+
+ RS Oliver Hunt.
+
+ Add ARM assembler files to xcodeproj, for convenience editing.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+
+2009-07-20 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by David Levin.
+
+ Fix an incorrect assertion in Vector::remove.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27477
+
+ * wtf/Vector.h:
+ (WTF::::remove):
+ Assert that the position at which to start removing elements + the
+ length (the number of elements to remove) is less than or equal to the
+ size of the entire Vector.
+
+2009-07-20 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Mark Rowe.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27468
+ Back out r46060, which caused problems for some Apple developers.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.vcproj:
+ * JavaScriptCore.vcproj/WTF/WTFCommon.vsprops:
+ * JavaScriptCore.vcproj/jsc/jscCommon.vsprops:
+ * JavaScriptCore.vcproj/testapi/testapiCommon.vsprops:
+
+2009-07-20 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Oliver Hunt.
+
+ Allow custom memory allocation control in NewThreadContext
+ https://bugs.webkit.org/show_bug.cgi?id=27338
+
+ Inherits NewThreadContext struct from FastAllocBase because it
+ has been instantiated by 'new' JavaScriptCore/wtf/Threading.cpp:76.
+
+ * wtf/Threading.cpp:
+
+2009-07-20 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Oliver Hunt.
+
+ Allow custom memory allocation control in JavaScriptCore's JSClassRef.h
+ https://bugs.webkit.org/show_bug.cgi?id=27340
+
+ Inherit StaticValueEntry and StaticFunctionEntry struct from FastAllocBase because these
+ have been instantiated by 'new' in JavaScriptCore/API/JSClassRef.cpp:153
+ and in JavaScriptCore/API/JSClassRef.cpp:166.
+
+ * API/JSClassRef.h:
+
+2009-07-20 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Allow custom memory allocation control in JavaScriptCore's RegexPattern.h
+ https://bugs.webkit.org/show_bug.cgi?id=27343
+
+ Inherits RegexPattern.h's structs (which have been instantiated by operator new) from FastAllocBase:
+
+ CharacterClass (new call: JavaScriptCore/yarr/RegexCompiler.cpp:144)
+ PatternAlternative (new call: JavaScriptCore/yarr/RegexPattern.h:221)
+ PatternDisjunction (new call: JavaScriptCore/yarr/RegexCompiler.cpp:446)
+
+ * yarr/RegexPattern.h:
+
+2009-07-20 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Allow custom memory allocation control for JavaScriptCore's MatchFrame struct
+ https://bugs.webkit.org/show_bug.cgi?id=27344
+
+ Inherits MatchFrame struct from FastAllocBase because it has
+ been instantiated by 'new' JavaScriptCore/pcre/pcre_exec.cpp:359.
+
+ * pcre/pcre_exec.cpp:
+
+2009-07-20 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Holger Freyther.
+
+ Remove some outdated S60 platform specific code
+ https://bugs.webkit.org/show_bug.cgi?id=27423
+
+ * wtf/Platform.h:
+
+2009-07-20 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
+
+ Reviewed by Simon Hausmann.
+
+ Qt build fix with MSVC and MinGW.
+
+ * jsc.pro: Make sure jsc is a console application, and turn off
+ exceptions and stl support to fix the build.
+
+2009-07-20 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ Do not use C++-style comments in preprocessor directives.
+
+ GCC does not like this in some configurations, using C-style
+ comments is safer.
+
+ * wtf/Platform.h:
+
+2009-07-17 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Steve Falkenburg.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27323
+ Only add Cygwin to the path when it isn't already there. This avoids
+ causing problems for people who purposefully have non-Cygwin versions of
+ executables like svn in front of the Cygwin ones in their paths.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.vcproj:
+ * JavaScriptCore.vcproj/WTF/WTFCommon.vsprops:
+ * JavaScriptCore.vcproj/jsc/jscCommon.vsprops:
+ * JavaScriptCore.vcproj/testapi/testapiCommon.vsprops:
+
+2009-07-17 Gabor Loki <loki@inf.u-szeged.hu>
+
+ Reviewed by Gavin Barraclough.
+
+ Add YARR support for generic ARM platforms (disabled by default).
+ https://bugs.webkit.org/show_bug.cgi?id=24986
+
+ Add generic ARM port for MacroAssembler. It supports the whole
+ MacroAssembler functionality except floating point.
+
+ The class JmpSrc is extended with a flag which enables to patch
+ the jump destination offset during execution. This feature is
+ required for generic ARM port.
+
+ Signed off by Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
+ Signed off by Gabor Loki <loki@inf.u-szeged.hu>
+
+ * JavaScriptCore.pri:
+ * assembler/ARMAssembler.cpp: Added.
+ (JSC::ARMAssembler::getLdrImmAddress):
+ (JSC::ARMAssembler::linkBranch):
+ (JSC::ARMAssembler::patchConstantPoolLoad):
+ (JSC::ARMAssembler::getOp2):
+ (JSC::ARMAssembler::genInt):
+ (JSC::ARMAssembler::getImm):
+ (JSC::ARMAssembler::moveImm):
+ (JSC::ARMAssembler::dataTransfer32):
+ (JSC::ARMAssembler::baseIndexTransfer32):
+ (JSC::ARMAssembler::executableCopy):
+ * assembler/ARMAssembler.h: Added.
+ (JSC::ARM::):
+ (JSC::ARMAssembler::ARMAssembler):
+ (JSC::ARMAssembler::):
+ (JSC::ARMAssembler::JmpSrc::JmpSrc):
+ (JSC::ARMAssembler::JmpSrc::enableLatePatch):
+ (JSC::ARMAssembler::JmpDst::JmpDst):
+ (JSC::ARMAssembler::JmpDst::isUsed):
+ (JSC::ARMAssembler::JmpDst::used):
+ (JSC::ARMAssembler::emitInst):
+ (JSC::ARMAssembler::and_r):
+ (JSC::ARMAssembler::ands_r):
+ (JSC::ARMAssembler::eor_r):
+ (JSC::ARMAssembler::eors_r):
+ (JSC::ARMAssembler::sub_r):
+ (JSC::ARMAssembler::subs_r):
+ (JSC::ARMAssembler::rsb_r):
+ (JSC::ARMAssembler::rsbs_r):
+ (JSC::ARMAssembler::add_r):
+ (JSC::ARMAssembler::adds_r):
+ (JSC::ARMAssembler::adc_r):
+ (JSC::ARMAssembler::adcs_r):
+ (JSC::ARMAssembler::sbc_r):
+ (JSC::ARMAssembler::sbcs_r):
+ (JSC::ARMAssembler::rsc_r):
+ (JSC::ARMAssembler::rscs_r):
+ (JSC::ARMAssembler::tst_r):
+ (JSC::ARMAssembler::teq_r):
+ (JSC::ARMAssembler::cmp_r):
+ (JSC::ARMAssembler::orr_r):
+ (JSC::ARMAssembler::orrs_r):
+ (JSC::ARMAssembler::mov_r):
+ (JSC::ARMAssembler::movs_r):
+ (JSC::ARMAssembler::bic_r):
+ (JSC::ARMAssembler::bics_r):
+ (JSC::ARMAssembler::mvn_r):
+ (JSC::ARMAssembler::mvns_r):
+ (JSC::ARMAssembler::mul_r):
+ (JSC::ARMAssembler::muls_r):
+ (JSC::ARMAssembler::mull_r):
+ (JSC::ARMAssembler::ldr_imm):
+ (JSC::ARMAssembler::ldr_un_imm):
+ (JSC::ARMAssembler::dtr_u):
+ (JSC::ARMAssembler::dtr_ur):
+ (JSC::ARMAssembler::dtr_d):
+ (JSC::ARMAssembler::dtr_dr):
+ (JSC::ARMAssembler::ldrh_r):
+ (JSC::ARMAssembler::ldrh_d):
+ (JSC::ARMAssembler::ldrh_u):
+ (JSC::ARMAssembler::strh_r):
+ (JSC::ARMAssembler::push_r):
+ (JSC::ARMAssembler::pop_r):
+ (JSC::ARMAssembler::poke_r):
+ (JSC::ARMAssembler::peek_r):
+ (JSC::ARMAssembler::clz_r):
+ (JSC::ARMAssembler::bkpt):
+ (JSC::ARMAssembler::lsl):
+ (JSC::ARMAssembler::lsr):
+ (JSC::ARMAssembler::asr):
+ (JSC::ARMAssembler::lsl_r):
+ (JSC::ARMAssembler::lsr_r):
+ (JSC::ARMAssembler::asr_r):
+ (JSC::ARMAssembler::size):
+ (JSC::ARMAssembler::ensureSpace):
+ (JSC::ARMAssembler::label):
+ (JSC::ARMAssembler::align):
+ (JSC::ARMAssembler::jmp):
+ (JSC::ARMAssembler::patchPointerInternal):
+ (JSC::ARMAssembler::patchConstantPoolLoad):
+ (JSC::ARMAssembler::patchPointer):
+ (JSC::ARMAssembler::repatchInt32):
+ (JSC::ARMAssembler::repatchPointer):
+ (JSC::ARMAssembler::repatchLoadPtrToLEA):
+ (JSC::ARMAssembler::linkJump):
+ (JSC::ARMAssembler::relinkJump):
+ (JSC::ARMAssembler::linkCall):
+ (JSC::ARMAssembler::relinkCall):
+ (JSC::ARMAssembler::getRelocatedAddress):
+ (JSC::ARMAssembler::getDifferenceBetweenLabels):
+ (JSC::ARMAssembler::getCallReturnOffset):
+ (JSC::ARMAssembler::getOp2Byte):
+ (JSC::ARMAssembler::placeConstantPoolBarrier):
+ (JSC::ARMAssembler::RM):
+ (JSC::ARMAssembler::RS):
+ (JSC::ARMAssembler::RD):
+ (JSC::ARMAssembler::RN):
+ (JSC::ARMAssembler::getConditionalField):
+ * assembler/ARMv7Assembler.h:
+ (JSC::ARMv7Assembler::JmpSrc::enableLatePatch):
+ * assembler/AbstractMacroAssembler.h:
+ (JSC::AbstractMacroAssembler::Call::enableLatePatch):
+ (JSC::AbstractMacroAssembler::Jump::enableLatePatch):
+ * assembler/MacroAssembler.h:
+ * assembler/MacroAssemblerARM.h: Added.
+ (JSC::MacroAssemblerARM::):
+ (JSC::MacroAssemblerARM::add32):
+ (JSC::MacroAssemblerARM::and32):
+ (JSC::MacroAssemblerARM::lshift32):
+ (JSC::MacroAssemblerARM::mul32):
+ (JSC::MacroAssemblerARM::not32):
+ (JSC::MacroAssemblerARM::or32):
+ (JSC::MacroAssemblerARM::rshift32):
+ (JSC::MacroAssemblerARM::sub32):
+ (JSC::MacroAssemblerARM::xor32):
+ (JSC::MacroAssemblerARM::load32):
+ (JSC::MacroAssemblerARM::load32WithAddressOffsetPatch):
+ (JSC::MacroAssemblerARM::loadPtrWithPatchToLEA):
+ (JSC::MacroAssemblerARM::load16):
+ (JSC::MacroAssemblerARM::store32WithAddressOffsetPatch):
+ (JSC::MacroAssemblerARM::store32):
+ (JSC::MacroAssemblerARM::pop):
+ (JSC::MacroAssemblerARM::push):
+ (JSC::MacroAssemblerARM::move):
+ (JSC::MacroAssemblerARM::swap):
+ (JSC::MacroAssemblerARM::signExtend32ToPtr):
+ (JSC::MacroAssemblerARM::zeroExtend32ToPtr):
+ (JSC::MacroAssemblerARM::branch32):
+ (JSC::MacroAssemblerARM::branch16):
+ (JSC::MacroAssemblerARM::branchTest32):
+ (JSC::MacroAssemblerARM::jump):
+ (JSC::MacroAssemblerARM::branchAdd32):
+ (JSC::MacroAssemblerARM::mull32):
+ (JSC::MacroAssemblerARM::branchMul32):
+ (JSC::MacroAssemblerARM::branchSub32):
+ (JSC::MacroAssemblerARM::breakpoint):
+ (JSC::MacroAssemblerARM::nearCall):
+ (JSC::MacroAssemblerARM::call):
+ (JSC::MacroAssemblerARM::ret):
+ (JSC::MacroAssemblerARM::set32):
+ (JSC::MacroAssemblerARM::setTest32):
+ (JSC::MacroAssemblerARM::tailRecursiveCall):
+ (JSC::MacroAssemblerARM::makeTailRecursiveCall):
+ (JSC::MacroAssemblerARM::moveWithPatch):
+ (JSC::MacroAssemblerARM::branchPtrWithPatch):
+ (JSC::MacroAssemblerARM::storePtrWithPatch):
+ (JSC::MacroAssemblerARM::supportsFloatingPoint):
+ (JSC::MacroAssemblerARM::supportsFloatingPointTruncate):
+ (JSC::MacroAssemblerARM::loadDouble):
+ (JSC::MacroAssemblerARM::storeDouble):
+ (JSC::MacroAssemblerARM::addDouble):
+ (JSC::MacroAssemblerARM::subDouble):
+ (JSC::MacroAssemblerARM::mulDouble):
+ (JSC::MacroAssemblerARM::convertInt32ToDouble):
+ (JSC::MacroAssemblerARM::branchDouble):
+ (JSC::MacroAssemblerARM::branchTruncateDoubleToInt32):
+ (JSC::MacroAssemblerARM::ARMCondition):
+ (JSC::MacroAssemblerARM::prepareCall):
+ (JSC::MacroAssemblerARM::call32):
+ * assembler/X86Assembler.h:
+ (JSC::X86Assembler::JmpSrc::enableLatePatch):
+ * jit/ExecutableAllocator.h:
+ (JSC::ExecutableAllocator::cacheFlush):
+ * wtf/Platform.h:
+ * yarr/RegexJIT.cpp:
+ (JSC::Yarr::RegexGenerator::generateEnter):
+ (JSC::Yarr::RegexGenerator::generateReturn):
+
+2009-07-17 Gabor Loki <loki@inf.u-szeged.hu>
+
+ Reviewed by Gavin Barraclough.
+
+ Extend AssemblerBuffer with constant pool handling mechanism.
+ https://bugs.webkit.org/show_bug.cgi?id=24986
+
+ Add a platform independed constant pool framework.
+ This pool can store 32 or 64 bits values which is enough to hold
+ any integer, pointer or double constant.
+
+ * assembler/AssemblerBuffer.h:
+ (JSC::AssemblerBuffer::putIntUnchecked):
+ (JSC::AssemblerBuffer::putInt64Unchecked):
+ (JSC::AssemblerBuffer::append):
+ (JSC::AssemblerBuffer::grow):
+ * assembler/AssemblerBufferWithConstantPool.h: Added.
+ (JSC::):
+
+2009-07-17 Eric Roman <eroman@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Build fix for non-Darwin.
+ Add a guard for inclusion of RetainPtr.h which includes CoreFoundation.h
+
+ https://bugs.webkit.org/show_bug.cgi?id=27382
+
+ * wtf/unicode/icu/CollatorICU.cpp:
+
+2009-07-17 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by John Sullivan.
+
+ Get user default collation order via a CFLocale API when available.
+
+ * wtf/unicode/icu/CollatorICU.cpp: (WTF::Collator::userDefault):
+
+2009-07-17 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix the include path for the Symbian port
+ https://bugs.webkit.org/show_bug.cgi?id=27358
+
+ * JavaScriptCore.pri:
+
+2009-07-17 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
+
+ Reviewed by David Levin.
+
+ Build fix on platforms don't have MMAP.
+ https://bugs.webkit.org/show_bug.cgi?id=27365
+
+ * interpreter/RegisterFile.h: Including stdio.h irrespectively of HAVE(MMAP)
+
+2009-07-16 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by David Levin.
+
+ Add --web-sockets flag and ENABLE_WEB_SOCKETS define.
+ https://bugs.webkit.org/show_bug.cgi?id=27206
+
+ Add ENABLE_WEB_SOCKETS
+
+ * Configurations/FeatureDefines.xcconfig: add ENABLE_WEB_SOCKETS
+
+2009-07-16 Maxime Simon <simon.maxime@gmail.com>
+
+ Reviewed by Eric Seidel.
+
+ Added Haiku-specific files for JavaScriptCore.
+ https://bugs.webkit.org/show_bug.cgi?id=26620
+
+ * wtf/haiku/MainThreadHaiku.cpp: Added.
+ (WTF::initializeMainThreadPlatform):
+ (WTF::scheduleDispatchFunctionsOnMainThread):
+
+2009-07-16 Gavin Barraclough <barraclough@apple.com>
+
+ RS by Oliver Hunt.
+
+ Revert r45969, this fix does not appear to be valid.
+ https://bugs.webkit.org/show_bug.cgi?id=27077
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::~CodeBlock):
+ (JSC::CodeBlock::unlinkCallers):
+ * jit/JIT.cpp:
+ * jit/JIT.h:
+
+2009-07-16 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Oliver Hunt.
+
+ Allow custom memory allocation control in ExceptionInfo and RareData struct
+ https://bugs.webkit.org/show_bug.cgi?id=27336
+
+ Inherits ExceptionInfo and RareData struct from FastAllocBase because these
+ have been instantiated by 'new' in JavaScriptCore/bytecode/CodeBlock.cpp:1289 and
+ in JavaScriptCore/bytecode/CodeBlock.h:453.
+
+ Remove unnecessary WTF:: namespace from CodeBlock inheritance.
+
+ * bytecode/CodeBlock.h:
+
+2009-07-16 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Geoff Garen.
+
+ Fix FeatureDefines.xcconfig to not be out of sync with the rest of the world.
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2009-07-16 Yong Li <yong.li@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27320
+ _countof is only included in CE6; for CE5 we need to define it ourself
+
+ * wtf/Platform.h:
+
+2009-07-16 Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
+
+ Reviewed by Oliver Hunt.
+
+ Workers + garbage collector: weird crashes
+ https://bugs.webkit.org/show_bug.cgi?id=27077
+
+ We need to unlink cached method call sites when a function is destroyed.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::~CodeBlock):
+ (JSC::CodeBlock::unlinkCallers):
+ * jit/JIT.cpp:
+ (JSC::JIT::unlinkMethodCall):
+ * jit/JIT.h:
+
+2009-07-15 Steve Falkenburg <sfalken@apple.com>
+
+ Windows Build fix.
+
+ Visual Studio reset our intermediate directory on us.
+ This sets it back.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
+ * JavaScriptCore.vcproj/testapi/testapi.vcproj:
+
+2009-07-15 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26794
+ Make Yacc-generated parsers to use fastMalloc/fastFree.
+
+ Define YYMALLOC and YYFREE to fastMalloc and fastFree
+ respectively.
+
+ * parser/Grammar.y:
+
+2009-07-15 Darin Adler <darin@apple.com>
+
+ Fix a build for a particular Apple configuration.
+
+ * wtf/FastAllocBase.h: Change include to use "" style for
+ including another wtf header. This is the style we use for
+ including other public headers in the same directory.
+
+2009-07-15 George Staikos <george.staikos@torchmobile.com>
+
+ Reviewed by Adam Treat.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27303
+ Implement createThreadInternal for WinCE.
+ Contains changes by George Staikos <george.staikos@torchmobile.com> and Joe Mason <joe.mason@torchmobile.com>
+
+ * wtf/ThreadingWin.cpp:
+ (WTF::createThreadInternal):
+
+2009-07-15 Joe Mason <joe.mason@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27298
+ Platform defines for WINCE.
+ Contains changes by Yong Li <yong.li@torchmobile.com>,
+ George Staikos <george.staikos@torchmobile.com> and Joe Mason <joe.mason@torchmobile.com>
+
+ * wtf/Platform.h:
+
+2009-07-15 Yong Li <yong.li@torchmobile.com>
+
+ Reviewed by Adam Treat.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27306
+ Use RegisterClass instead of RegisterClassEx on WinCE.
+
+ * wtf/win/MainThreadWin.cpp:
+ (WTF::initializeMainThreadPlatform):
+
+2009-07-15 Yong Li <yong.li@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27301
+ Use OutputDebugStringW on WinCE since OutputDebugStringA is not supported
+ Originally written by Yong Li <yong.li@torchmobile.com> and refactored by
+ Joe Mason <joe.mason@torchmobile.com>
+
+ * wtf/Assertions.cpp: vprintf_stderr_common
+
+2009-07-15 Yong Li <yong.li@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27020
+ msToGregorianDateTime should set utcOffset to 0 when outputIsUTC is false
+
+ * wtf/DateMath.cpp:
+ (WTF::gregorianDateTimeToMS):
+
+2009-07-15 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Cleanup - Remove obsolete code from the make system
+ https://bugs.webkit.org/show_bug.cgi?id=27299
+
+ * JavaScriptCore.pro:
+ * jsc.pro:
+
+2009-07-07 Norbert Leser <norbert.leser@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27056
+
+ Alternate bool operator for codewarrior compiler (WINSCW).
+ Compiler (latest b482) reports error for UnspecifiedBoolType construct:
+ "illegal explicit conversion from 'WTF::OwnArrayPtr<JSC::Register>' to 'bool'"
+
+ Same fix as in r38391.
+
+ * JavaScriptCore/wtf/OwnArrayPtr.h:
+
+2009-07-15 Norbert Leser <norbert.leser@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Qualify include path with wtf to fix compilation
+ on Symbian.
+ https://bugs.webkit.org/show_bug.cgi?id=27055
+
+ * interpreter/Interpreter.h:
+
+2009-07-15 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Dave Kilzer.
+
+ Turn off non-portable date manipulations for SYMBIAN
+ https://bugs.webkit.org/show_bug.cgi?id=27064
+
+ Introduce HAVE(TM_GMTOFF), HAVE(TM_ZONE) and HAVE(TIMEGM) guards
+ and place the rules for controlling the guards in Platform.h.
+ Turn off these newly introduced guards for SYMBIAN.
+
+ * wtf/DateMath.cpp:
+ (WTF::calculateUTCOffset):
+ * wtf/DateMath.h:
+ (WTF::GregorianDateTime::GregorianDateTime):
+ (WTF::GregorianDateTime::operator tm):
+ * wtf/Platform.h:
+
+2009-07-15 Norbert Leser <norbert.leser@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Undef ASSERT on Symbian, to avoid excessive warnings
+ https://bugs.webkit.org/show_bug.cgi?id=27052
+
+ * wtf/Assertions.h:
+
+2009-07-15 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Simon Hausmann.
+
+ REGRESSION: fast/js/postfix-syntax.html fails with interpreter
+ https://bugs.webkit.org/show_bug.cgi?id=27294
+
+ When postfix operators operating on locals assign to the same local
+ the order of operations has to be to store the incremented value, then
+ store the unmodified number. Rather than implementing this subtle
+ semantic in the interpreter I've just made the logic explicit in the
+ bytecode generator, so x=x++ effectively becomes x=ToNumber(x) (for a
+ local var x).
+
+ * parser/Nodes.cpp:
+ (JSC::emitPostIncOrDec):
+
+2009-07-15 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Simon Hausmann.
+
+ REGRESSION(43559): fast/js/kde/arguments-scope.html fails with interpreter
+ https://bugs.webkit.org/show_bug.cgi?id=27259
+
+ The interpreter was incorrectly basing its need to create the arguments object
+ based on the presence of the callframe's argument reference rather than the local
+ arguments reference. Based on this it then overrode the local variable reference.
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+
+2009-07-14 Steve Falkenburg <sfalken@apple.com>
+
+ Reorganize JavaScriptCore headers into:
+ API: include/JavaScriptCore/
+ Private: include/private/JavaScriptCore/
+
+ Reviewed by Darin Adler.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make:
+ * JavaScriptCore.vcproj/testapi/testapi.vcproj:
+ * JavaScriptCore.vcproj/testapi/testapiCommon.vsprops:
+
+2009-07-14 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Change JSCell's superclass to NoncopyableCustomAllocated
+ https://bugs.webkit.org/show_bug.cgi?id=27248
+
+ JSCell class customizes operator new, since Noncopyable will be
+ inherited from FastAllocBase, NoncopyableCustomAllocated has
+ to be used.
+
+ * runtime/JSCell.h:
+
+2009-07-14 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Change all Noncopyable inheriting visibility to public.
+ https://bugs.webkit.org/show_bug.cgi?id=27225
+
+ Change all Noncopyable inheriting visibility to public because
+ it is needed to the custom allocation framework (bug #20422).
+
+ * bytecode/SamplingTool.h:
+ * bytecompiler/RegisterID.h:
+ * interpreter/CachedCall.h:
+ * interpreter/RegisterFile.h:
+ * parser/Lexer.h:
+ * parser/Parser.h:
+ * runtime/ArgList.h:
+ * runtime/BatchedTransitionOptimizer.h:
+ * runtime/Collector.h:
+ * runtime/CommonIdentifiers.h:
+ * runtime/JSCell.h:
+ * runtime/JSGlobalObject.h:
+ * runtime/JSLock.h:
+ * runtime/JSONObject.cpp:
+ * runtime/SmallStrings.cpp:
+ * runtime/SmallStrings.h:
+ * wtf/CrossThreadRefCounted.h:
+ * wtf/GOwnPtr.h:
+ * wtf/Locker.h:
+ * wtf/MessageQueue.h:
+ * wtf/OwnArrayPtr.h:
+ * wtf/OwnFastMallocPtr.h:
+ * wtf/OwnPtr.h:
+ * wtf/RefCounted.h:
+ * wtf/ThreadSpecific.h:
+ * wtf/Threading.h:
+ * wtf/Vector.h:
+ * wtf/unicode/Collator.h:
+
+2009-07-14 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Change ParserArenaRefCounted's superclass to RefCountedCustomAllocated
+ https://bugs.webkit.org/show_bug.cgi?id=27249
+
+ ParserArenaDeletable customizes operator new, to avoid double inheritance
+ ParserArenaDeletable's superclass has been changed to RefCountedCustomAllocated.
+
+ * parser/Nodes.h:
+
+2009-07-14 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Add RefCountedCustomAllocated to RefCounted.h
+ https://bugs.webkit.org/show_bug.cgi?id=27232
+
+ Some class which are inherited from RefCounted customize
+ operator new, but RefCounted is inherited from Noncopyable
+ which will be inherited from FastAllocBase. To avoid
+ conflicts Noncopyable inheriting was moved down to RefCounted
+ and to avoid double inheritance this class has been added.
+
+ * wtf/RefCounted.h:
+ (WTF::RefCountedCustomAllocated::deref):
+ (WTF::RefCountedCustomAllocated::~RefCountedCustomAllocated):
+
+2009-07-14 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Add NoncopyableCustomAllocated to Noncopyable.h.
+ https://bugs.webkit.org/show_bug.cgi?id=27228
+
+ Some classes which inherited from Noncopyable overrides operator new
+ since Noncopyable'll be inherited from FastAllocBase, Noncopyable.h
+ needs to be extended with this new class to support the overriding.
+
+ * wtf/Noncopyable.h:
+ (WTFNoncopyable::NoncopyableCustomAllocated::NoncopyableCustomAllocated):
+ (WTFNoncopyable::NoncopyableCustomAllocated::~NoncopyableCustomAllocated):
+
+2009-07-14 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Allow custom memory allocation control for JavaScriptCore's IdentifierTable class
+ https://bugs.webkit.org/show_bug.cgi?id=27260
+
+ Inherits IdentifierTable class from FastAllocBase because it has been
+ instantiated by 'new' in JavaScriptCore/runtime/Identifier.cpp:70.
+
+ * runtime/Identifier.cpp:
+
+2009-07-14 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Allow custom memory allocation control for JavaScriptCore's Profiler class
+ https://bugs.webkit.org/show_bug.cgi?id=27253
+
+ Inherits Profiler class from FastAllocBase because it has been instantiated by
+ 'new' in JavaScriptCore/profiler/Profiler.cpp:56.
+
+ * profiler/Profiler.h:
+
+2009-07-06 George Staikos <george.staikos@torchmobile.com>
+
+ Reviewed by Adam Treat.
+
+ Authors: George Staikos <george.staikos@torchmobile.com>, Joe Mason <joe.mason@torchmobile.com>, Makoto Matsumoto <matumoto@math.keio.ac.jp>, Takuji Nishimura
+
+ https://bugs.webkit.org/show_bug.cgi?id=27030
+ Implement custom RNG for WinCE using Mersenne Twister
+
+ * wtf/RandomNumber.cpp:
+ (WTF::randomNumber):
+ * wtf/RandomNumberSeed.h:
+ (WTF::initializeRandomNumberGenerator):
+ * wtf/wince/mt19937ar.c: Added.
+ (init_genrand):
+ (init_by_array):
+ (genrand_int32):
+ (genrand_int31):
+ (genrand_real1):
+ (genrand_real2):
+ (genrand_real3):
+ (genrand_res53):
+
+2009-07-13 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Unreviewed make dist build fix.
+
+ * GNUmakefile.am:
+
+2009-07-13 Drew Wilson <atwilson@google.com>
+
+ Reviewed by David Levin.
+
+ Add ENABLE(SHARED_WORKERS) flag and define SharedWorker APIs
+ https://bugs.webkit.org/show_bug.cgi?id=26932
+
+ Added ENABLE(SHARED_WORKERS) flag (off by default).
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2009-07-07 Norbert Leser <norbert.leser@nokia.com>
+
+ Reviewed by Maciej Stachoviak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27058
+
+ Removed superfluous parenthesis around single expression.
+ Compilers on Symbian platform fail to properly parse and compile.
+
+ * JavaScriptCore/wtf/Platform.h:
+
+2009-07-13 Norbert Leser <norbert.leser@nokia.com>
+
+ Reviewed by Maciej Stachoviak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27054
+
+ Renamed Translator to HashTranslator
+
+ Codewarrior compiler (WINSCW) latest b482 cannot resolve typename
+ mismatch between template declaration and definition
+ (HashTranslator / Translator)
+
+ * wtf/HashSet.h:
+
+2009-07-13 Norbert Leser <norbert.leser@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27053
+
+ Ambiguity in LabelScope initialization
+
+ Codewarrior compiler (WINSCW) latest b482 on Symbian cannot resolve
+ type of "0" unambiguously. Set expression explicitly to
+ PassRefPtr<Label>::PassRefPtr()
+
+ * bytecompiler/BytecodeGenerator.cpp
+
+2009-07-11 Simon Fraser <simon.fraser@apple.com>
+
+ Enable support for accelerated compositing and 3d transforms on Leopard.
+ <https://bugs.webkit.org/show_bug.cgi?id=20166>
+ <rdar://problem/6120614>
+
+ Reviewed by Oliver Hunt.
+
+ * Configurations/FeatureDefines.xcconfig:
+ * wtf/Platform.h:
+
+2009-07-10 Mark Rowe <mrowe@apple.com>
+
+ Second part of the "make Windows happier" dance.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-07-10 Mark Rowe <mrowe@apple.com>
+
+ Try and make the Windows build happy.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-07-10 Kevin McCullough <kmccullough@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ * debugger/Debugger.h: Made this function virtual for use in WebCore's
+ WebInspector.
+
+2009-07-10 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Darin Adler.
+
+ ParserArenaDeletable should override delete
+ https://bugs.webkit.org/show_bug.cgi?id=26790
+
+ ParserArenaDeletable overrides new, but it does not override delete.
+ ParserArenaDeletable must be freed by fastFree
+ because it is allocated by fastMalloc.
+
+ * parser/NodeConstructors.h:
+ (JSC::ParserArenaDeletable::operator delete):
+ * parser/Nodes.h:
+
+2009-07-10 Adam Roben <aroben@apple.com>
+
+ Sort all our Xcode projects
+
+ Accomplished using sort-Xcode-project-file.
+
+ Requested by Dave Kilzer.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+
+2009-07-09 Maciej Stachowiak <mjs@apple.com>
+
+ Not reviewed, build fix.
+
+ Windows build fix for the last change.
+
+ * wtf/dtoa.cpp: Forgot to include Vector.h
+
+2009-07-09 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION: crash in edge cases of floating point parsing.
+ https://bugs.webkit.org/show_bug.cgi?id=27110
+ <rdar://problem/7044458>
+
+ Tests: fast/css/number-parsing-crash.html
+ fast/css/number-parsing-crash.html
+ fast/js/number-parsing-crash.html
+
+ * wtf/dtoa.cpp:
+ (WTF::BigInt::BigInt): Converted this to more a proper class, using a Vector
+ with inline capacity
+
+ (WTF::lshift): Rearranged logic somewhat nontrivially to deal with the new way of sizing BigInts.
+ Added an assertion to verify that invariants are maintained.
+
+ All other functions are adapted fairly mechanically to the above changes.
+ (WTF::BigInt::clear):
+ (WTF::BigInt::size):
+ (WTF::BigInt::resize):
+ (WTF::BigInt::words):
+ (WTF::BigInt::append):
+ (WTF::multadd):
+ (WTF::s2b):
+ (WTF::i2b):
+ (WTF::mult):
+ (WTF::cmp):
+ (WTF::diff):
+ (WTF::b2d):
+ (WTF::d2b):
+ (WTF::ratio):
+ (WTF::strtod):
+ (WTF::quorem):
+ (WTF::dtoa):
+
+2009-07-09 Drew Wilson <atwilson@google.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Turned on CHANNEL_MESSAGING by default because the MessageChannel API
+ can now be implemented for Web Workers and is reasonably stable.
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2009-07-09 Oliver Hunt <oliver@apple.com>
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+
+2009-07-09 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 27016 - Interpreter crashes due to invalid array indexes
+ <https://bugs.webkit.org/show_bug.cgi?id=27016>
+
+ Unsigned vs signed conversions results in incorrect behaviour in
+ 64bit interpreter builds.
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+
+2009-07-09 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [Chromium] Upstream JavaScriptCore.gypi, the project file for Chromium build.
+ https://bugs.webkit.org/show_bug.cgi?id=27135
+
+ * JavaScriptCore.gypi: Added.
+
+2009-07-09 Joe Mason <joe.mason@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ Authors: Yong Li <yong.li@torchmobile.com>, Joe Mason <joe.mason@torchmobile.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=27031
+ Add an override for deleteOwnedPtr(HDC) on Windows
+
+ * wtf/OwnPtrCommon.h:
+ * wtf/OwnPtrWin.cpp:
+ (WTF::deleteOwnedPtr):
+
+2009-07-09 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Guard singal.h dependency with HAVE(SIGNAL_H) to enable building jsc
+ on SYMBIAN.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27026
+
+ Based on Norbert Leser's work.
+
+ * jsc.cpp:
+ (printUsageStatement):
+ (parseArguments):
+ * wtf/Platform.h:
+
+2009-07-07 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Stop loading constants into the register file.
+
+ Instead, use high register values (highest bit bar the sign bit set) to indicate
+ constants in the instruction stream, and when we encounter such a value load it
+ directly from the CodeBlock.
+
+ Since constants are no longer copied into the register file, this patch renders
+ the 'unexpected constant' mechanism redundant, and removes it.
+
+ 2% improvement, thanks to Sam Weinig.
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::dump):
+ (JSC::CodeBlock::CodeBlock):
+ (JSC::CodeBlock::mark):
+ (JSC::CodeBlock::shrinkToFit):
+ * bytecode/CodeBlock.h:
+ (JSC::CodeBlock::isTemporaryRegisterIndex):
+ (JSC::CodeBlock::constantRegister):
+ (JSC::CodeBlock::isConstantRegisterIndex):
+ (JSC::CodeBlock::getConstant):
+ (JSC::ExecState::r):
+ * bytecode/Opcode.h:
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::preserveLastVar):
+ (JSC::BytecodeGenerator::BytecodeGenerator):
+ (JSC::BytecodeGenerator::addConstantValue):
+ (JSC::BytecodeGenerator::emitEqualityOp):
+ (JSC::BytecodeGenerator::emitLoad):
+ (JSC::BytecodeGenerator::emitResolveBase):
+ (JSC::BytecodeGenerator::emitResolveWithBase):
+ (JSC::BytecodeGenerator::emitNewError):
+ * bytecompiler/BytecodeGenerator.h:
+ (JSC::BytecodeGenerator::emitNode):
+ * interpreter/CallFrame.h:
+ (JSC::ExecState::noCaller):
+ (JSC::ExecState::hasHostCallFrameFlag):
+ (JSC::ExecState::addHostCallFrameFlag):
+ (JSC::ExecState::removeHostCallFrameFlag):
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::resolve):
+ (JSC::Interpreter::resolveSkip):
+ (JSC::Interpreter::resolveGlobal):
+ (JSC::Interpreter::resolveBase):
+ (JSC::Interpreter::resolveBaseAndProperty):
+ (JSC::Interpreter::resolveBaseAndFunc):
+ (JSC::Interpreter::dumpRegisters):
+ (JSC::Interpreter::throwException):
+ (JSC::Interpreter::createExceptionScope):
+ (JSC::Interpreter::privateExecute):
+ (JSC::Interpreter::retrieveArguments):
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompileMainPass):
+ * jit/JITInlineMethods.h:
+ (JSC::JIT::emitLoadDouble):
+ (JSC::JIT::emitLoadInt32ToDouble):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_new_error):
+ (JSC::JIT::emit_op_enter):
+ (JSC::JIT::emit_op_enter_with_activation):
+ * parser/Nodes.cpp:
+ (JSC::DeleteResolveNode::emitBytecode):
+ (JSC::DeleteValueNode::emitBytecode):
+ (JSC::PrefixResolveNode::emitBytecode):
+ * runtime/JSActivation.cpp:
+ (JSC::JSActivation::JSActivation):
+ * wtf/Platform.h:
+
+2009-07-07 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix <https://bugs.webkit.org/show_bug.cgi?id=27025> / <rdar://problem/7033448>.
+ Bug 27025: Crashes and regression test failures related to regexps in 64-bit
+
+ For x86_64 RegexGenerator uses rbx, a callee-save register, as a scratch register but
+ neglects to save and restore it. The change in handling of the output vector in r45545
+ altered code generation so that the RegExp::match was now storing important data in rbx,
+ which caused crashes and bogus results when it was clobbered.
+
+ * yarr/RegexJIT.cpp:
+ (JSC::Yarr::RegexGenerator::generateEnter): Save rbx.
+ (JSC::Yarr::RegexGenerator::generateReturn): Restore rbx.
+
+2009-07-06 Ada Chan <adachan@apple.com>
+
+ Reviewed by Darin Adler and Mark Rowe.
+
+ Decommitted spans are added to the list of normal spans rather than
+ the returned spans in TCMalloc_PageHeap::Delete().
+ https://bugs.webkit.org/show_bug.cgi?id=26998
+
+ In TCMalloc_PageHeap::Delete(), the deleted span can be decommitted in
+ the process of merging with neighboring spans that are also decommitted.
+ The merged span needs to be placed in the list of returned spans (spans
+ whose memory has been returned to the system). Right now it's always added
+ to the list of the normal spans which can theoretically cause thrashing.
+
+ * wtf/FastMalloc.cpp:
+ (WTF::TCMalloc_PageHeap::Delete):
+
+2009-07-05 Lars Knoll <lars.knoll@nokia.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26843
+
+ Fix run-time crashes in JavaScriptCore with the Metrowerks compiler on Symbian.
+
+ The Metrowerks compiler on the Symbian platform moves the globally
+ defined Hashtables into read-only memory, despite one of the members
+ being mutable. This causes crashes at run-time due to write access to
+ read-only memory.
+
+ Avoid the use of const with this compiler by introducing the
+ JSC_CONST_HASHTABLE macro.
+
+ Based on idea by Norbert Leser.
+
+ * runtime/Lookup.h: Define JSC_CONST_HASHTABLE as const for !WINSCW.
+ * create_hash_table: Use JSC_CONST_HASHTABLE for hashtables.
+ * runtime/JSGlobalData.cpp: Import various global hashtables via the macro.
+
+2009-07-04 Dan Bernstein <mitz@apple.com>
+
+ - debug build fix
+
+ * runtime/RegExpConstructor.cpp:
+ (JSC::RegExpConstructor::getLastParen):
+
+2009-07-03 Yong Li <yong.li@torchmobile.com>
+
+ Reviewed by Maciej Stachowiak (and revised slightly)
+
+ RegExp::match to be optimized
+ https://bugs.webkit.org/show_bug.cgi?id=26957
+
+ Allow regexp matching to use Vectors with inline capacity instead of
+ allocating a new ovector buffer every time.
+
+ ~5% speedup on SunSpider string-unpack-code test, 0.3% on SunSpider overall.
+
+ * runtime/RegExp.cpp:
+ (JSC::RegExp::match):
+ * runtime/RegExp.h:
+ * runtime/RegExpConstructor.cpp:
+ (JSC::RegExpConstructorPrivate::RegExpConstructorPrivate):
+ (JSC::RegExpConstructorPrivate::lastOvector):
+ (JSC::RegExpConstructorPrivate::tempOvector):
+ (JSC::RegExpConstructorPrivate::changeLastOvector):
+ (JSC::RegExpConstructor::performMatch):
+ (JSC::RegExpMatchesArray::RegExpMatchesArray):
+ (JSC::RegExpMatchesArray::fillArrayInstance):
+ (JSC::RegExpConstructor::getBackref):
+ (JSC::RegExpConstructor::getLastParen):
+ (JSC::RegExpConstructor::getLeftContext):
+ (JSC::RegExpConstructor::getRightContext):
+ * runtime/StringPrototype.cpp:
+ (JSC::stringProtoFuncSplit):
+
+2009-06-30 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ Override operator new/delete with const std::nothrow_t& as the second
+ argument.
+ https://bugs.webkit.org/show_bug.cgi?id=26792
+
+ On Windows CE, operator new/delete, new[]/delete[] with const
+ std::nothrow_t& must be overrided because some standard template
+ libraries use these operators.
+
+ The problem occurs when memory allocated by new(size_t s, const
+ std::nothrow_t&) is freed by delete(void* p). This causes the umatched
+ malloc/free problem.
+
+ The patch overrides all new, delete, new[] and delete[] to use
+ fastMaloc and fastFree consistently.
+
+ * wtf/FastMalloc.h:
+ (throw):
+
+2009-06-30 Gabor Loki <loki@inf.u-szeged.hu>
+
+ Reviewed by Sam Weinig.
+
+ <https://bugs.webkit.org/show_bug.cgi?id=24986>
+
+ Remove unnecessary references to AssemblerBuffer.
+
+ * interpreter/Interpreter.cpp:
+ * interpreter/Interpreter.h:
+
+2009-06-29 David Levin <levin@chromium.org>
+
+ Reviewed by Oliver Hunt.
+
+ Still seeing occasional leaks from UString::sharedBuffer code
+ https://bugs.webkit.org/show_bug.cgi?id=26420
+
+ The problem is that the pointer to the memory allocation isn't visible
+ by "leaks" due to the lower bits being used as flags. The fix is to
+ make the pointer visible in memory (in debug only). The downside of
+ this fix that the memory allocated by sharedBuffer will still look like
+ a leak in non-debug builds when any flags are set.
+
+ * wtf/PtrAndFlags.h:
+ (WTF::PtrAndFlags::set):
+
+2009-06-29 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Remove more unused scons support.
+
+ * SConstruct: Removed.
+
+2009-06-29 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ <rdar://problem/7016214> JSON.parse fails to parse valid JSON with most Unicode characters
+ <https://bugs.webkit.org/show_bug.cgi?id=26802>
+
+ In the original JSON.parse patch unicode was handled correctly, however in some last
+ minute "clean up" I oversimplified isSafeStringCharacter. This patch corrects this bug.
+
+ * runtime/LiteralParser.cpp:
+ (JSC::isSafeStringCharacter):
+ (JSC::LiteralParser::Lexer::lexString):
+
+2009-06-26 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ <rdar://problem/7009684> REGRESSION(r45039): Crashes inside JSEvent::put on PowerPC (26746)
+ <https://bugs.webkit.org/show_bug.cgi?id=26746>
+
+ Fix for r45039 incorrectly uncached a get_by_id by converting it to put_by_id. Clearly this
+ is less than correct. This patch corrects that error.
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::tryCacheGetByID):
+
+2009-06-26 Eric Seidel <eric@webkit.org>
+
+ No review, only rolling out r45259.
+
+ Roll out r45259 after crash appeared on the bots:
+ plugins/undefined-property-crash.html
+ ASSERTION FAILED: s <= HeapConstants<heapType>::cellSize
+ (leopard-intel-debug-tests/build/JavaScriptCore/runtime/Collector.cpp:278
+ void* JSC::Heap::heapAllocate(size_t) [with JSC::HeapType heapType = PrimaryHeap])
+
+ * runtime/DateInstance.cpp:
+ * runtime/Identifier.cpp:
+ * runtime/Lookup.h:
+ * runtime/RegExpConstructor.cpp:
+ * runtime/RegExpObject.h:
+ * runtime/ScopeChain.h:
+ * runtime/UString.h:
+
+2009-06-26 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Add support for QDataStream operators to Vector.
+
+ * wtf/Vector.h:
+ (WTF::operator<<):
+ (WTF::operator>>):
+
+2009-06-24 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Make the opcode sampler work once again.
+
+ * jit/JIT.h:
+ (JSC::JIT::compileGetByIdProto):
+ (JSC::JIT::compileGetByIdSelfList):
+ (JSC::JIT::compileGetByIdProtoList):
+ (JSC::JIT::compileGetByIdChainList):
+ (JSC::JIT::compileGetByIdChain):
+ (JSC::JIT::compilePutByIdTransition):
+ (JSC::JIT::compileCTIMachineTrampolines):
+ (JSC::JIT::compilePatchGetArrayLength):
+ * jit/JITStubCall.h:
+ (JSC::JITStubCall::call):
+
+2009-06-24 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Maciej Stachowiak.
+
+ Extend FastAllocBase.h with 'using WTF::FastAllocBase' to avoid
+ unnecessary WTF:: usings.
+ Remove existing unnecessary WTF:: usings.
+
+ * interpreter/Interpreter.h:
+ * profiler/CallIdentifier.h:
+ * runtime/ScopeChain.h:
+ * wtf/FastAllocBase.h:
+
+2009-06-24 David Levin <levin@chromium.org>
+
+ Fix all builds.
+
+ * bytecode/CodeBlock.h:
+ * bytecompiler/BytecodeGenerator.h:
+ * interpreter/Register.h:
+
+2009-06-24 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26677
+
+ Inherits CodeBlock class from FastAllocBase because it
+ has been instantiated by 'new' in JavaScriptCore/bytecode/CodeBlock.h:217.
+
+ * bytecode/CodeBlock.h:
+
+2009-06-24 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26676
+
+ Inherits BytecodeGenerator class from FastAllocBase because it has been
+ instantiated by 'new' in JavaScriptCore/parser/Nodes.cpp:1892.
+
+ * bytecompiler/BytecodeGenerator.h:
+
+2009-06-24 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26675
+
+ Inherits Register class from FastAllocBase because it has been
+ instantiated by 'new' in JavaScriptCore/runtime/JSVariableObject.h:149.
+
+ * interpreter/Register.h:
+
+2009-06-24 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26674
+
+ Inherits HashMap class from FastAllocBase because it has been
+ instantiated by 'new' in JavaScriptCore/runtime/Structure.cpp:458.
+
+ * wtf/HashMap.h:
+
+2009-06-24 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/6940519> REGRESSION (Safari 4 Public Beta - TOT): google.com/adplanner shows blank page instead of site details in "basic research'
+
+ The problem was caused by the page returned with a function using a
+ var declaration list containing around ~3000 variables. The solution
+ to this is to flatten the comma expression representation and make
+ codegen comma expressions and initializer lists iterative rather than
+ recursive.
+
+ * parser/Grammar.y:
+ * parser/NodeConstructors.h:
+ (JSC::CommaNode::CommaNode):
+ * parser/Nodes.cpp:
+ (JSC::CommaNode::emitBytecode):
+ * parser/Nodes.h:
+ (JSC::ExpressionNode::isCommaNode):
+ (JSC::CommaNode::isCommaNode):
+ (JSC::CommaNode::append):
+
+2009-06-24 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26645
+
+ Inherits ScopeChainNode class from FastAllocBase because it has been
+ instantiated by 'new' in JavaScriptCore/runtime/ScopeChain.h:95.
+
+ * wtf/RefPtr.h:
+
+2009-06-24 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26648
+
+ Inherits Deque class from FastAllocBase because it has been
+ instantiated by 'new' with DEFINE_STATIC_LOCAL macro in
+ JavaScriptCore/wtf/MainThread.cpp:62.
+
+ * wtf/Deque.h:
+
+2009-06-24 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26644
+
+ Inherits RefPtr class from FastAllocBase because it has been
+ instantiated by 'new' in JavaScriptCore/runtime/StructureChain.cpp:41.
+
+ * wtf/RefPtr.h:
+
+2009-06-24 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Inherits HashSet class from FastAllocBase, because it has been
+ instantiated by 'new' in JavaScriptCore/runtime/Collector.h:116.
+
+ * wtf/HashSet.h:
+
+2009-06-24 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Inherits Vector class from FastAllocBase because it has been
+ instantiated by 'new' in JavaScriptCore/runtime/Structure.cpp:633.
+
+ * wtf/Vector.h:
+
+2009-06-24 Norbert Leser <norbert.leser@nokia.com>
+
+ Reviewed by Maciej Stachoviak.
+
+ The BytecodeGenerator objects were instantiated on stack, which takes up ~38kB per instance
+ (each instance includes copy of JSC::CodeBlock with large SymbolTable, etc.).
+ Specifically, since there is nested invocation (e.g., GlobalCode --> FunctionCode),
+ the stack overflows immediately on Symbian hardware (max. 80 kB).
+ Proposed change allocates generator objects on heap.
+ Performance impact (if any) should be negligible and change is proposed as general fix,
+ rather than ifdef'd for SYMBIAN.
+
+ * parser/Nodes.cpp:
+ (JSC::ProgramNode::generateBytecode):
+ (JSC::EvalNode::generateBytecode):
+ (JSC::EvalNode::bytecodeForExceptionInfoReparse):
+ (JSC::FunctionBodyNode::generateBytecode):
+ (JSC::FunctionBodyNode::bytecodeForExceptionInfoReparse):
+
+2009-06-23 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ <rdar://problem/6992806> REGRESSION: Enumeration can skip new properties in cases of prototypes that have more than 64 (26593)
+ <https://bugs.webkit.org/show_bug.cgi?id=26593>
+
+ Do not attempt to cache structure chains if they contain a dictionary at any level.
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::tryCachePutByID):
+ (JSC::Interpreter::tryCacheGetByID):
+ * jit/JITStubs.cpp:
+ (JSC::JITThunks::tryCachePutByID):
+ * runtime/Structure.cpp:
+ (JSC::Structure::getEnumerablePropertyNames):
+ (JSC::Structure::addPropertyTransition):
+ * runtime/StructureChain.cpp:
+ (JSC::StructureChain::isCacheable):
+ * runtime/StructureChain.h:
+
+2009-06-23 Yong Li <yong.li@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26654
+ Add the proper export define for the JavaScriptCore API when building for WINCE.
+
+ * API/JSBase.h:
+
+2009-06-23 Joe Mason <joe.mason@torchmobile.com>
+
+ Reviewed by Adam Treat.
+
+ Authors: Yong Li <yong.li@torchmobile.com>, Joe Mason <joe.mason@torchmobile.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=26611
+ Implement currentThreadStackBase on WINCE by adding a global,
+ g_stackBase, which must be set to the address of a local variable
+ by the caller before calling any WebKit function that invokes JSC.
+
+ * runtime/Collector.cpp:
+ (JSC::isPageWritable):
+ (JSC::getStackBase):
+ Starts at the top of the stack and returns the entire range of
+ consecutive writable pages as an estimate of the actual stack.
+ This will be much bigger than the actual stack range, so some
+ dead objects can't be collected, but it guarantees live objects
+ aren't collected prematurely.
+
+ (JSC::currentThreadStackBase):
+ On WinCE, returns g_stackBase if set or call getStackBase as a
+ fallback if not.
+
+2009-06-23 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Fix stupid performance problem in the LiteralParser
+
+ The LiteralParser was making a new UString in order to use
+ toDouble, however UString's toDouble allows a much wider range
+ of numberic strings than the LiteralParser accepts, and requires
+ an additional heap allocation or two for the construciton of the
+ UString. To rectify this we just call WTF::dtoa directly using
+ a stack allocated buffer to hold the validated numeric literal.
+
+ * runtime/LiteralParser.cpp:
+ (JSC::LiteralParser::Lexer::lexNumber):
+ (JSC::LiteralParser::parse):
+ * runtime/LiteralParser.h:
+
+2009-06-22 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Bug 26640: JSON.stringify needs to special case Boolean objects
+ <https://bugs.webkit.org/show_bug.cgi?id=26640>
+
+ Add special case handling of the Boolean object so we match current
+ ES5 errata.
+
+ * runtime/JSONObject.cpp:
+ (JSC::unwrapBoxedPrimitive): renamed from unwrapNumberOrString
+ (JSC::gap):
+ (JSC::Stringifier::appendStringifiedValue):
+
+2009-06-22 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 26591: Support revivers in JSON.parse
+ <https://bugs.webkit.org/show_bug.cgi?id=26591>
+
+ Add reviver support to JSON.parse. This completes the JSON object.
+
+ * runtime/JSONObject.cpp:
+ (JSC::Walker::Walker):
+ (JSC::Walker::callReviver):
+ (JSC::Walker::walk):
+ (JSC::JSONProtoFuncParse):
+
+2009-06-21 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 26592: Support standard toJSON functions
+ <https://bugs.webkit.org/show_bug.cgi?id=26592>
+
+ Add support for the standard Date.toJSON function.
+
+ * runtime/DatePrototype.cpp:
+ (JSC::dateProtoFuncToJSON):
+
+2009-06-21 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Bug 26594: JSC needs to support Date.toISOString
+ <https://bugs.webkit.org/show_bug.cgi?id=26594>
+
+ Add support for Date.toISOString.
+
+ * runtime/DatePrototype.cpp:
+ (JSC::dateProtoFuncToISOString):
+
+2009-06-21 Oliver Hunt <oliver@apple.com>
+
+ Remove dead code.
+
+ * runtime/LiteralParser.cpp:
+ (JSC::LiteralParser::parse):
+
+2009-06-21 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Darin Adler and Cameron Zwarich.
+
+ Bug 26587: Support JSON.parse
+ <https://bugs.webkit.org/show_bug.cgi?id=26587>
+
+ Extend the LiteralParser to support the full strict JSON
+ grammar, fix a few places where the grammar was incorrectly
+ lenient. Doesn't yet support the JSON.parse reviver function
+ but that does not block the JSON.parse functionality itself.
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::callEval):
+ * runtime/JSGlobalObjectFunctions.cpp:
+ (JSC::globalFuncEval):
+ * runtime/JSONObject.cpp:
+ (JSC::JSONProtoFuncParse):
+ * runtime/LiteralParser.cpp:
+ (JSC::LiteralParser::Lexer::lex):
+ (JSC::isSafeStringCharacter):
+ (JSC::LiteralParser::Lexer::lexString):
+ (JSC::LiteralParser::parse):
+ * runtime/LiteralParser.h:
+ (JSC::LiteralParser::LiteralParser):
+ (JSC::LiteralParser::tryJSONParse):
+ (JSC::LiteralParser::):
+ (JSC::LiteralParser::Lexer::Lexer):
+
+2009-06-21 David Levin <levin@chromium.org>
+
+ Reviewed by NOBODY (speculative build fix for windows).
+
+ Simply removed some whitespace form this file to make windows build wtf and
+ hopefully copy the new MessageQueque.h so that WebCore picks it up.
+
+ * wtf/Assertions.cpp:
+
+2009-06-21 Drew Wilson <atwilson@google.com>
+
+ Reviewed by David Levin.
+
+ <https://bugs.webkit.org/show_bug.cgi?id=25043>
+ Added support for multi-threaded MessagePorts.
+
+ * wtf/MessageQueue.h:
+ (WTF::::appendAndCheckEmpty):
+ Added API to test whether the queue was empty before adding an element.
+
+2009-06-20 David D. Kilzer <ddkilzer@webkit.org>
+
+ Fix namespace comment in SegmentedVector.h
+
+ * wtf/SegmentedVector.h: Updated namespace comment to reflect
+ new namespace after r44897.
+
+2009-06-20 Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
+
+ Bug 24986: ARM JIT port
+ <https://bugs.webkit.org/show_bug.cgi?id=24986>
+
+ Reviewed by Oliver Hunt.
+
+ An Iterator added for SegmentedVector. Currently
+ only the pre ++ operator is supported.
+
+ * wtf/SegmentedVector.h:
+ (WTF::SegmentedVectorIterator::~SegmentedVectorIterator):
+ (WTF::SegmentedVectorIterator::operator*):
+ (WTF::SegmentedVectorIterator::operator->):
+ (WTF::SegmentedVectorIterator::operator++):
+ (WTF::SegmentedVectorIterator::operator==):
+ (WTF::SegmentedVectorIterator::operator!=):
+ (WTF::SegmentedVectorIterator::operator=):
+ (WTF::SegmentedVectorIterator::SegmentedVectorIterator):
+ (WTF::SegmentedVector::alloc):
+ (WTF::SegmentedVector::begin):
+ (WTF::SegmentedVector::end):
+
+2009-06-20 Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
+
+ Bug 24986: ARM JIT port
+ <https://bugs.webkit.org/show_bug.cgi?id=24986>
+
+ Reviewed by Oliver Hunt.
+
+ Move SegmentedVector to /wtf subdirectory
+ and change "namespace JSC" to "namespace WTF"
+
+ Additional build file updates by David Kilzer.
+
+ * GNUmakefile.am: Updated path to SegmentedVector.h.
+ * JavaScriptCore.order: Updated SegmentedVector namespace from
+ JSC to WTF in mangled C++ method name.
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
+ Removed reference to bytecompiler\SegmentedVector.h.
+ * JavaScriptCore.vcproj/WTF/WTF.vcproj: Added reference to
+ wtf\SegmentedVector.h.
+ * JavaScriptCore.xcodeproj/project.pbxproj: Moved
+ SegmentedVector.h definition from bytecompiler subdirectory to
+ wtf subdirectory.
+ * bytecompiler/BytecodeGenerator.h: Updated #include path to
+ SegmentedVector.h and prepended WTF:: namespace to its use.
+ * parser/Lexer.h: Ditto.
+ * wtf/SegmentedVector.h: Renamed from JavaScriptCore/bytecompiler/SegmentedVector.h.
+ (WTF::SegmentedVector::SegmentedVector):
+ (WTF::SegmentedVector::~SegmentedVector):
+ (WTF::SegmentedVector::size):
+ (WTF::SegmentedVector::at):
+ (WTF::SegmentedVector::operator[]):
+ (WTF::SegmentedVector::last):
+ (WTF::SegmentedVector::append):
+ (WTF::SegmentedVector::removeLast):
+ (WTF::SegmentedVector::grow):
+ (WTF::SegmentedVector::clear):
+ (WTF::SegmentedVector::deleteAllSegments):
+ (WTF::SegmentedVector::segmentExistsFor):
+ (WTF::SegmentedVector::segmentFor):
+ (WTF::SegmentedVector::subscriptFor):
+ (WTF::SegmentedVector::ensureSegmentsFor):
+ (WTF::SegmentedVector::ensureSegment):
+
+2009-06-19 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (build fix take 2 - rename FIELD_OFFSET to something that doesn't conflict with winnt.h).
+
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompile):
+ (JSC::JIT::privateCompileCTIMachineTrampolines):
+ (JSC::JIT::emitGetVariableObjectRegister):
+ (JSC::JIT::emitPutVariableObjectRegister):
+ * jit/JIT.h:
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_rshift):
+ (JSC::JIT::emitSlow_op_jnless):
+ (JSC::JIT::emitSlow_op_jnlesseq):
+ (JSC::JIT::compileBinaryArithOp):
+ * jit/JITCall.cpp:
+ (JSC::JIT::compileOpCallInitializeCallFrame):
+ (JSC::JIT::compileOpCall):
+ * jit/JITInlineMethods.h:
+ (JSC::JIT::restoreArgumentReference):
+ (JSC::JIT::checkStructure):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_instanceof):
+ (JSC::JIT::emit_op_get_scoped_var):
+ (JSC::JIT::emit_op_put_scoped_var):
+ (JSC::JIT::emit_op_construct_verify):
+ (JSC::JIT::emit_op_resolve_global):
+ (JSC::JIT::emit_op_jeq_null):
+ (JSC::JIT::emit_op_jneq_null):
+ (JSC::JIT::emit_op_to_jsnumber):
+ (JSC::JIT::emit_op_catch):
+ (JSC::JIT::emit_op_eq_null):
+ (JSC::JIT::emit_op_neq_null):
+ (JSC::JIT::emit_op_convert_this):
+ (JSC::JIT::emit_op_profile_will_call):
+ (JSC::JIT::emit_op_profile_did_call):
+ (JSC::JIT::emitSlow_op_get_by_val):
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::emit_op_get_by_val):
+ (JSC::JIT::emit_op_put_by_val):
+ (JSC::JIT::emit_op_method_check):
+ (JSC::JIT::compileGetByIdHotPath):
+ (JSC::JIT::emit_op_put_by_id):
+ (JSC::JIT::compilePutDirectOffset):
+ (JSC::JIT::compileGetDirectOffset):
+ (JSC::JIT::privateCompilePutByIdTransition):
+ (JSC::JIT::privateCompilePatchGetArrayLength):
+ * jit/JITStubs.cpp:
+ (JSC::JITThunks::JITThunks):
+
+2009-06-19 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (Windows build fix).
+
+ * jit/JIT.h:
+ * jit/JITInlineMethods.h:
+
+2009-06-19 Gabor Loki <loki@inf.u-szeged.hu>
+
+ Reviewed by Gavin Barraclough.
+
+ Reorganize ARM architecture specific macros.
+ Use PLATFORM_ARM_ARCH(7) instead of PLATFORM(ARM_V7).
+
+ Bug 24986: ARM JIT port
+ <https://bugs.webkit.org/show_bug.cgi?id=24986>
+
+ * assembler/ARMv7Assembler.h:
+ * assembler/AbstractMacroAssembler.h:
+ (JSC::AbstractMacroAssembler::Imm32::Imm32):
+ * assembler/MacroAssembler.h:
+ * assembler/MacroAssemblerCodeRef.h:
+ (JSC::MacroAssemblerCodePtr::MacroAssemblerCodePtr):
+ * jit/ExecutableAllocator.h:
+ (JSC::ExecutableAllocator::cacheFlush):
+ * jit/JIT.h:
+ * jit/JITInlineMethods.h:
+ (JSC::JIT::restoreArgumentReferenceForTrampoline):
+ * jit/JITStubs.cpp:
+ * jit/JITStubs.h:
+ * wtf/Platform.h:
+ * yarr/RegexJIT.cpp:
+ (JSC::Yarr::RegexGenerator::generateEnter):
+ (JSC::Yarr::RegexGenerator::generateReturn):
+
+2009-06-19 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Fix armv7 JIT build issues.
+
+ Unfortunate the arm compiler does not like the use of offsetof on JITStackFrame (since it now contains non POD types),
+ and the FIELD_OFFSET macro does not appear constantish enough for it to be happy with its use in COMPILE_ASSERT macros.
+
+ * Replace offsetofs with FIELD_OFFSETs (safe on C++ objects).
+ * Move COMPILE_ASSERTs defending layout of JITStackFrame structure on armv7 into JITThunks constructor.
+
+ * jit/JIT.cpp:
+ * jit/JIT.h:
+ * jit/JITInlineMethods.h:
+ (JSC::JIT::restoreArgumentReference):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_catch):
+ * jit/JITStubs.cpp:
+ (JSC::JITThunks::JITThunks):
+
+2009-06-19 Adam Treat <adam.treat@torchmobile.com>
+
+ Blind attempt at build fix.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-06-19 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Oliver Hunt.
+
+ Inherits CallIdentifier struct from FastAllocBase because it has been
+ instantiated by 'new' in JavaScriptCore/profiler/CallIdentifier.h:86.
+
+ * wtf/HashCountedSet.h:
+
+2009-06-19 Adam Treat <adam.treat@torchmobile.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26540
+ Modify the test shell to add a new function 'checkSyntax' that will
+ only parse the source instead of executing it. In this way we can test
+ pure parsing performance against some of the larger scripts in the wild.
+
+ * jsc.cpp:
+ (GlobalObject::GlobalObject):
+ (functionCheckSyntax):
+
+2009-06-19 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Inherits HashCountedSet class from FastAllocBase because it has been
+ instantiated by 'new' in JavaScriptCore/runtime/Collector.cpp:1095.
+
+ * wtf/HashCountedSet.h:
+
+2009-06-19 Yong Li <yong.li@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26558
+ Declare these symbols extern for WINCE as they are provided by libce.
+
+ * runtime/DateConstructor.cpp:
+ * runtime/DatePrototype.cpp:
+ (JSC::formatLocaleDate):
+
+2009-06-19 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ <rdar://problem/6988973> ScopeChain leak in interpreter builds
+
+ Move the Scopechain destruction code in JSFunction outside of the ENABLE(JIT)
+ path.
+
+ * runtime/JSFunction.cpp:
+ (JSC::JSFunction::~JSFunction):
+ * wtf/Platform.h:
+
+2009-06-19 Yong Li <yong.li@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26543
+ Windows CE uses 'GetLastError' instead of 'errno.'
+
+ * interpreter/RegisterFile.h:
+ (JSC::RegisterFile::RegisterFile):
+ (JSC::RegisterFile::grow):
+
+2009-06-19 David Levin <levin@chromium.org>
+
+ Reviewed by NOBODY (Windows build fix).
+
+ Add export for Windows corresponding to OSX export done in r44844.
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-06-18 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin "Viceroy of Venezuela" Barraclough.
+
+ Bug 26532: Native functions do not correctly unlink from optimised callsites when they're collected
+ <https://bugs.webkit.org/show_bug.cgi?id=26532> <rdar://problem/6625385>
+
+ We need to make sure that each native function instance correctly unlinks any references to it
+ when it is collected. Allowing this to happen required a few changes:
+ * Every native function needs a codeblock to track the link information
+ * To have this codeblock, every function now also needs its own functionbodynode
+ so we no longer get to have a single shared instance.
+ * Identifying a host function is now done by looking for CodeBlock::codeType() == NativeCode
+
+ * JavaScriptCore.exp:
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::CodeBlock):
+ Constructor for NativeCode CodeBlock
+ (JSC::CodeBlock::derefStructures):
+ (JSC::CodeBlock::refStructures):
+ (JSC::CodeBlock::reparseForExceptionInfoIfNecessary):
+ (JSC::CodeBlock::handlerForBytecodeOffset):
+ (JSC::CodeBlock::lineNumberForBytecodeOffset):
+ (JSC::CodeBlock::expressionRangeForBytecodeOffset):
+ (JSC::CodeBlock::getByIdExceptionInfoForBytecodeOffset):
+ (JSC::CodeBlock::functionRegisterForBytecodeOffset):
+ (JSC::CodeBlock::hasGlobalResolveInstructionAtBytecodeOffset):
+ (JSC::CodeBlock::hasGlobalResolveInfoAtBytecodeOffset):
+ (JSC::CodeBlock::setJITCode):
+ Add assertions to ensure we don't try and use NativeCode CodeBlocks as
+ a normal codeblock.
+
+ * bytecode/CodeBlock.h:
+ (JSC::):
+ (JSC::CodeBlock::source):
+ (JSC::CodeBlock::sourceOffset):
+ (JSC::CodeBlock::evalCodeCache):
+ (JSC::CodeBlock::createRareDataIfNecessary):
+ More assertions.
+
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompileCTIMachineTrampolines):
+ (JSC::JIT::linkCall):
+ Update logic to allow native function caching
+
+ * jit/JITStubs.cpp:
+ * parser/Nodes.cpp:
+ (JSC::FunctionBodyNode::createNativeThunk):
+ (JSC::FunctionBodyNode::isHostFunction):
+ * parser/Nodes.h:
+ * runtime/JSFunction.cpp:
+ (JSC::JSFunction::JSFunction):
+ (JSC::JSFunction::~JSFunction):
+ (JSC::JSFunction::mark):
+ * runtime/JSGlobalData.cpp:
+ (JSC::JSGlobalData::~JSGlobalData):
+ * runtime/JSGlobalData.h:
+
+2009-06-18 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (Windows build fix).
+
+ * wtf/DateMath.cpp:
+ (WTF::calculateUTCOffset):
+
+2009-06-18 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Timezone calculation incorrect in Venezuela.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26531
+ <rdar://problem/6646169> Time is incorrectly reported to JavaScript in both Safari 3 and Firefox 3
+
+ The problem is that we're calculating the timezone relative to 01/01/2000,
+ but the VET timezone changed from -4 hours to -4:30 hours on 12/09/2007.
+ According to the spec, section 15.9.1.9 states "the time since the beginning
+ of the year", presumably meaning the *current* year. Change the calculation
+ to be based on whatever the current year is, rather than a canned date.
+
+ No performance impact.
+
+ * wtf/DateMath.cpp:
+ (WTF::calculateUTCOffset):
+
+2009-06-18 Gavin Barraclough <barraclough@apple.com>
+
+ Rubber Stamped by Mark Rowe (originally reviewed by Sam Weinig).
+
+ (Reintroducing patch added in r44492, and reverted in r44796.)
+
+ Change the implementation of op_throw so the stub function always modifies its
+ return address - if it doesn't find a 'catch' it will switch to a trampoline
+ to force a return from JIT execution. This saves memory, by avoiding the need
+ for a unique return for every op_throw.
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_throw):
+ JITStubs::cti_op_throw now always changes its return address,
+ remove return code generated after the stub call (this is now
+ handled by ctiOpThrowNotCaught).
+ * jit/JITStubs.cpp:
+ (JSC::):
+ Add ctiOpThrowNotCaught definitions.
+ (JSC::JITStubs::DEFINE_STUB_FUNCTION):
+ Change cti_op_throw to always change its return address.
+ * jit/JITStubs.h:
+ Add ctiOpThrowNotCaught declaration.
+
+2009-06-18 Kevin McCullough <kmccullough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ <rdar://problem/6940880> REGRESSION: Breakpoints don't break in 64-bit
+
+ - Exposed functions now needed by WebCore.
+
+ * JavaScriptCore.exp:
+
+2009-06-17 Darin Adler <darin@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Bug 26429: Make JSON.stringify non-recursive so it can handle objects
+ of arbitrary complexity
+ https://bugs.webkit.org/show_bug.cgi?id=26429
+
+ For marking I decided not to use gcProtect, because this is inside the engine
+ so it's easy enough to just do marking. And that darned gcProtect does locking!
+ Oliver tried to convince me to used MarkedArgumentBuffer, but the constructor
+ for that class says "FIXME: Remove all clients of this API, then remove this API."
+
+ * runtime/Collector.cpp:
+ (JSC::Heap::collect): Add a call to JSONObject::markStringifiers.
+
+ * runtime/CommonIdentifiers.cpp:
+ (JSC::CommonIdentifiers::CommonIdentifiers): Added emptyIdentifier.
+ * runtime/CommonIdentifiers.h: Ditto.
+
+ * runtime/JSGlobalData.cpp:
+ (JSC::JSGlobalData::JSGlobalData): Initialize firstStringifierToMark to 0.
+ * runtime/JSGlobalData.h: Added firstStringifierToMark.
+
+ * runtime/JSONObject.cpp: Cut down the includes to the needed ones only.
+ (JSC::unwrapNumberOrString): Added. Helper for unwrapping number and string
+ objects to get their number and string values.
+ (JSC::ReplacerPropertyName::ReplacerPropertyName): Added. The class is used
+ to wrap an identifier or integer so we don't have to do any work unless we
+ actually call a replacer.
+ (JSC::ReplacerPropertyName::value): Added.
+ (JSC::gap): Added. Helper function for the Stringifier constructor.
+ (JSC::PropertyNameForFunctionCall::PropertyNameForFunctionCall): Added.
+ The class is used to wrap an identifier or integer so we don't have to
+ allocate a number or string until we actually call toJSON or a replacer.
+ (JSC::PropertyNameForFunctionCall::asJSValue): Added.
+ (JSC::Stringifier::Stringifier): Updated and moved out of the class
+ definition. Added code to hook this into a singly linked list for marking.
+ (JSC::Stringifier::~Stringifier): Remove from the singly linked list.
+ (JSC::Stringifier::mark): Mark all the objects in the holder stacks.
+ (JSC::Stringifier::stringify): Updated.
+ (JSC::Stringifier::appendQuotedString): Tweaked and streamlined a bit.
+ (JSC::Stringifier::toJSON): Renamed from toJSONValue.
+ (JSC::Stringifier::appendStringifiedValue): Renamed from stringify.
+ Added code to use the m_holderStack to do non-recursive stringify of
+ objects and arrays. This code also uses the timeout checker since in
+ pathological cases it could be slow even without calling into the
+ JavaScript virtual machine.
+ (JSC::Stringifier::willIndent): Added.
+ (JSC::Stringifier::indent): Added.
+ (JSC::Stringifier::unindent): Added.
+ (JSC::Stringifier::startNewLine): Added.
+ (JSC::Stringifier::Holder::Holder): Added.
+ (JSC::Stringifier::Holder::appendNextProperty): Added. This is the
+ function that handles the format of arrays and objects.
+ (JSC::JSONObject::getOwnPropertySlot): Moved this down to the bottom
+ of the file so the JSONObject class is not interleaved with the
+ Stringifier class.
+ (JSC::JSONObject::markStringifiers): Added. Calls mark.
+ (JSC::JSONProtoFuncStringify): Streamlined the code here. The code
+ to compute the gap string is now a separate function.
+
+ * runtime/JSONObject.h: Made everything private. Added markStringifiers.
+
+2009-06-17 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ <rdar://problem/6974140> REGRESSION(r43849): Crash in cti_op_call_NotJSFunction when getting directions on maps.google.com
+
+ Roll out r43849 as it appears that we cannot rely on the address of
+ an objects property storage being constant even if the structure is
+ unchanged.
+
+ * jit/JIT.h:
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::compileGetDirectOffset):
+ (JSC::JIT::privateCompileGetByIdProto):
+ (JSC::JIT::privateCompileGetByIdProtoList):
+ (JSC::JIT::privateCompileGetByIdChainList):
+ (JSC::JIT::privateCompileGetByIdChain):
+
+2009-06-17 Gavin Barraclough <barraclough@apple.com>
+
+ Rubber Stamped by Mark Rowe.
+
+ Fully revert r44492 & r44748 while we fix a bug they cause on internal builds <rdar://problem/6955963>.
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_throw):
+ * jit/JITStubs.cpp:
+ (JSC::):
+ (JSC::JITStubs::DEFINE_STUB_FUNCTION):
+ * jit/JITStubs.h:
+
+2009-06-17 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ <rdar://problem/6947426> sunspider math-cordic.js exhibits different intermediate results running 32-bit vs. 64-bit
+
+ On 64-bit, NaN-encoded values must be detagged before they can be used in rshift.
+
+ No performance impact.
+
+ * jit/JITArithmetic.cpp:
+ (JSC::JIT::emit_op_rshift):
+
+2009-06-17 Adam Treat <adam.treat@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ https://bugs.webkit.org/show_bug.cgi?id=23155
+ Move WIN_CE -> WINCE as previously discussed with Qt WINCE folks.
+
+ * jsc.cpp:
+ (main):
+
+2009-06-17 George Staikos <george.staikos@torchmobile.com>
+
+ Reviewed by Adam Treat.
+
+ https://bugs.webkit.org/show_bug.cgi?id=23155
+ Move WIN_CE -> WINCE as previously discussed with Qt WINCE folks.
+
+ * config.h:
+ * jsc.cpp:
+ * wtf/Assertions.cpp:
+ * wtf/Assertions.h:
+ * wtf/CurrentTime.cpp:
+ (WTF::lowResUTCTime):
+ * wtf/DateMath.cpp:
+ (WTF::getLocalTime):
+ * wtf/MathExtras.h:
+ * wtf/Platform.h:
+ * wtf/StringExtras.h:
+ * wtf/Threading.h:
+ * wtf/win/MainThreadWin.cpp:
+
+2009-06-17 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ <rdar://problem/6974175> ASSERT in JITStubs.cpp at appsaccess.apple.com
+
+ Remove PropertySlot::putValue - PropertySlots should only be used for getting,
+ not putting. Rename JSGlobalObject::getOwnPropertySlot to hasOwnPropertyForWrite,
+ which is what it really was being used to ask, and remove some other getOwnPropertySlot
+ & getOwnPropertySlotForWrite methods, which were unused and likely to lead to confusion.
+
+ * runtime/JSGlobalObject.h:
+ (JSC::JSGlobalObject::hasOwnPropertyForWrite):
+ * runtime/JSObject.h:
+ * runtime/JSStaticScopeObject.cpp:
+ * runtime/JSStaticScopeObject.h:
+ * runtime/PropertySlot.h:
+
+2009-06-16 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver hunt.
+
+ Temporarily partially disable r44492, since this is causing some problems on internal builds.
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_throw):
+ * jit/JITStubs.cpp:
+ (JSC::JITStubs::DEFINE_STUB_FUNCTION):
+
+2009-06-16 Sam Weinig <sam@webkit.org>
+
+ Fix windows build.
+
+ * jit/JIT.cpp:
+ (JSC::JIT::JIT):
+
+2009-06-16 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ Initialize m_bytecodeIndex to -1 in JIT, and correctly initialize
+ it for each type of stub using the return address to find the correct
+ offset.
+
+ * jit/JIT.cpp:
+ (JSC::JIT::JIT):
+ * jit/JIT.h:
+ (JSC::JIT::compileGetByIdProto):
+ (JSC::JIT::compileGetByIdSelfList):
+ (JSC::JIT::compileGetByIdProtoList):
+ (JSC::JIT::compileGetByIdChainList):
+ (JSC::JIT::compileGetByIdChain):
+ (JSC::JIT::compilePutByIdTransition):
+ (JSC::JIT::compileCTIMachineTrampolines):
+ (JSC::JIT::compilePatchGetArrayLength):
+ * jit/JITStubCall.h:
+ (JSC::JITStubCall::call):
+
+== Rolled over to ChangeLog-2009-06-16 ==
diff --git a/JavaScriptCore/GNUmakefile.am b/JavaScriptCore/GNUmakefile.am
index 2c924ef..a9c19c6 100644
--- a/JavaScriptCore/GNUmakefile.am
+++ b/JavaScriptCore/GNUmakefile.am
@@ -63,9 +63,11 @@ javascriptcore_sources += \
JavaScriptCore/API/JSContextRef.cpp \
JavaScriptCore/API/JSContextRefPrivate.h \
JavaScriptCore/API/JSObjectRef.cpp \
+ JavaScriptCore/API/JSObjectRefPrivate.h \
JavaScriptCore/API/JSRetainPtr.h \
JavaScriptCore/API/JSStringRef.cpp \
JavaScriptCore/API/JSValueRef.cpp \
+ JavaScriptCore/API/JSWeakObjectMapRefInternal.h \
JavaScriptCore/API/OpaqueJSString.cpp \
JavaScriptCore/API/OpaqueJSString.h \
JavaScriptCore/ForwardingHeaders/JavaScriptCore/APICast.h \
@@ -185,6 +187,7 @@ javascriptcore_sources += \
JavaScriptCore/interpreter/CallFrame.cpp \
JavaScriptCore/interpreter/CallFrame.h \
JavaScriptCore/interpreter/CallFrameClosure.h \
+ JavaScriptCore/runtime/CachedTranscendentalFunction.h \
JavaScriptCore/runtime/ExceptionHelpers.cpp \
JavaScriptCore/runtime/ExceptionHelpers.h \
JavaScriptCore/runtime/Executable.cpp \
@@ -314,9 +317,11 @@ javascriptcore_sources += \
JavaScriptCore/wtf/text/AtomicStringImpl.h \
JavaScriptCore/wtf/text/CString.cpp \
JavaScriptCore/wtf/text/CString.h \
+ JavaScriptCore/wtf/text/StringBuffer.h \
JavaScriptCore/wtf/text/StringHash.h \
JavaScriptCore/wtf/text/StringImpl.cpp \
JavaScriptCore/wtf/text/StringImpl.h \
+ JavaScriptCore/wtf/text/StringImplBase.h \
JavaScriptCore/wtf/text/StringStatics.cpp \
JavaScriptCore/wtf/text/WTFString.cpp \
JavaScriptCore/wtf/text/WTFString.h \
@@ -465,6 +470,7 @@ javascriptcore_sources += \
JavaScriptCore/runtime/JSNumberCell.h \
JavaScriptCore/runtime/JSObject.cpp \
JavaScriptCore/runtime/JSObjectWithGlobalObject.cpp \
+ JavaScriptCore/runtime/JSObjectWithGlobalObject.h \
JavaScriptCore/runtime/JSObject.h \
JavaScriptCore/runtime/JSStaticScopeObject.cpp \
JavaScriptCore/runtime/JSStaticScopeObject.h \
@@ -562,7 +568,7 @@ JavaScriptCore/%.lut.h: $(CREATE_HASH_TABLE) $(srcdir)/JavaScriptCore/%.cpp
$(PERL) $^ -i > $@
JavaScriptCore/RegExpJitTables.h: $(srcdir)/JavaScriptCore/create_regex_tables
- $(PYTHON) $(srcdir)/JavaScriptCore/create_regex_tables > $@
+ $(PYTHON) $(CREATE_REGEXP_TABLES) > $@
JavaScriptCore/pcre/chartables.c: $(srcdir)/JavaScriptCore/pcre/dftables
$(PERL) $^ $@
diff --git a/JavaScriptCore/JavaScriptCore.exp b/JavaScriptCore/JavaScriptCore.exp
index e14af7f..3985d4e 100644
--- a/JavaScriptCore/JavaScriptCore.exp
+++ b/JavaScriptCore/JavaScriptCore.exp
@@ -109,7 +109,7 @@ __ZN3JSC10Identifier4fromEPNS_9ExecStateEj
__ZN3JSC10Identifier5equalEPKN7WebCore10StringImplEPKc
__ZN3JSC10JSFunction4infoE
__ZN3JSC10JSFunction4nameEPNS_9ExecStateE
-__ZN3JSC10JSFunctionC1EPNS_9ExecStateEPNS_14JSGlobalObjectEN3WTF17NonNullPassRefPtrINS_9StructureEEEiRKNS_10IdentifierEPFNS_7JSValueES2_PNS_8JSObjectESC_RKNS_7ArgListEE
+__ZN3JSC10JSFunctionC1EPNS_9ExecStateEPNS_14JSGlobalObjectEN3WTF17NonNullPassRefPtrINS_9StructureEEEiRKNS_10IdentifierEPFNS_7JSValueES2_E
__ZN3JSC10throwErrorEPNS_9ExecStateENS_9ErrorTypeE
__ZN3JSC10throwErrorEPNS_9ExecStateENS_9ErrorTypeEPKc
__ZN3JSC10throwErrorEPNS_9ExecStateENS_9ErrorTypeERKNS_7UStringE
@@ -174,7 +174,7 @@ __ZN3JSC16JSVariableObject19getOwnPropertyNamesEPNS_9ExecStateERNS_17PropertyNam
__ZN3JSC16toUInt32SlowCaseEdRb
__ZN3JSC17BytecodeGenerator21setDumpsGeneratedCodeEb
__ZN3JSC17PropertyNameArray3addEPN7WebCore10StringImplE
-__ZN3JSC17PrototypeFunctionC1EPNS_9ExecStateEPNS_14JSGlobalObjectEN3WTF17NonNullPassRefPtrINS_9StructureEEEiRKNS_10IdentifierEPFNS_7JSValueES2_PNS_8JSObjectESC_RKNS_7ArgListEE
+__ZN3JSC17PrototypeFunctionC1EPNS_9ExecStateEPNS_14JSGlobalObjectEN3WTF17NonNullPassRefPtrINS_9StructureEEEiRKNS_10IdentifierEPFNS_7JSValueES2_E
__ZN3JSC17constructFunctionEPNS_9ExecStateERKNS_7ArgListERKNS_10IdentifierERKNS_7UStringEi
__ZN3JSC18DebuggerActivationC1EPNS_8JSObjectE
__ZN3JSC18PropertyDescriptor11setWritableEb
@@ -189,10 +189,11 @@ __ZN3JSC18PropertyDescriptor9setSetterENS_7JSValueE
__ZN3JSC19initializeThreadingEv
__ZN3JSC20MarkedArgumentBuffer10slowAppendENS_7JSValueE
__ZN3JSC23AbstractSamplingCounter4dumpEv
-__ZN3JSC23objectProtoFuncToStringEPNS_9ExecStateEPNS_8JSObjectENS_7JSValueERKNS_7ArgListE
+__ZN3JSC23objectProtoFuncToStringEPNS_9ExecStateE
__ZN3JSC23setUpStaticFunctionSlotEPNS_9ExecStateEPKNS_9HashEntryEPNS_8JSObjectERKNS_10IdentifierERNS_12PropertySlotE
__ZN3JSC24JSObjectWithGlobalObjectC2EPNS_14JSGlobalObjectEN3WTF17NonNullPassRefPtrINS_9StructureEEE
__ZN3JSC24createStackOverflowErrorEPNS_9ExecStateE
+__ZN3JSC24createStackOverflowErrorEPNS_9ExecStateE
__ZN3JSC25evaluateInGlobalCallFrameERKNS_7UStringERNS_7JSValueEPNS_14JSGlobalObjectE
__ZN3JSC35createInterruptedExecutionExceptionEPNS_12JSGlobalDataE
__ZN3JSC3NaNE
diff --git a/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def b/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def
index e7d7eda..1176bcf 100644
--- a/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def
+++ b/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def
@@ -10,10 +10,11 @@ EXPORTS
??0JSArray@JSC@@QAE@V?$NonNullPassRefPtr@VStructure@JSC@@@WTF@@@Z
??0JSArray@JSC@@QAE@V?$NonNullPassRefPtr@VStructure@JSC@@@WTF@@ABVArgList@1@@Z
??0JSByteArray@JSC@@QAE@PAVExecState@1@V?$NonNullPassRefPtr@VStructure@JSC@@@WTF@@PAVByteArray@4@PBUClassInfo@1@@Z
- ??0JSFunction@JSC@@QAE@PAVExecState@1@PAVJSGlobalObject@1@V?$NonNullPassRefPtr@VStructure@JSC@@@WTF@@HABVIdentifier@1@P6I?AVJSValue@1@0PAVJSObject@1@V71@ABVArgList@1@@Z@Z
+ ??0JSFunction@JSC@@QAE@PAVExecState@1@PAVJSGlobalObject@1@V?$NonNullPassRefPtr@VStructure@JSC@@@WTF@@HABVIdentifier@1@P6I?AVJSValue@1@0@Z@Z
??0JSObjectWithGlobalObject@JSC@@IAE@PAVJSGlobalObject@1@V?$NonNullPassRefPtr@VStructure@JSC@@@WTF@@@Z
??0MD5@WTF@@QAE@XZ
??0Mutex@WTF@@QAE@XZ
+ ??0PrototypeFunction@JSC@@QAE@PAVExecState@1@PAVJSGlobalObject@1@V?$NonNullPassRefPtr@VStructure@JSC@@@WTF@@HABVIdentifier@1@P6I?AVJSValue@1@0@Z@Z
??0RefCountedLeakCounter@WTF@@QAE@PBD@Z
??0StringObject@JSC@@QAE@PAVExecState@1@V?$NonNullPassRefPtr@VStructure@JSC@@@WTF@@ABVUString@1@@Z
??0Structure@JSC@@AAE@VJSValue@1@ABVTypeInfo@1@I@Z
@@ -173,8 +174,8 @@ EXPORTS
?getUInt32@JSCell@JSC@@UBE_NAAI@Z
?getter@PropertyDescriptor@JSC@@QBE?AVJSValue@2@XZ
?globalExec@JSGlobalObject@JSC@@UAEPAVExecState@2@XZ
- ?globalObjectCount@Heap@JSC@@QAEIXZ
?globalObject@JSObjectWithGlobalObject@JSC@@QBEPAVJSGlobalObject@2@XZ
+ ?globalObjectCount@Heap@JSC@@QAEIXZ
?hasInstance@JSObject@JSC@@UAE_NPAVExecState@2@VJSValue@2@1@Z
?hasProperty@JSObject@JSC@@QBE_NPAVExecState@2@ABVIdentifier@2@@Z
?hasProperty@JSObject@JSC@@QBE_NPAVExecState@2@I@Z
@@ -219,7 +220,7 @@ EXPORTS
?newUninitialized@CString@WTF@@SA?AV12@IAAPAD@Z
?nonInlineNaN@JSC@@YANXZ
?objectCount@Heap@JSC@@QBEIXZ
- ?objectProtoFuncToString@JSC@@YI?AVJSValue@1@PAVExecState@1@PAVJSObject@1@V21@ABVArgList@1@@Z
+ ?objectProtoFuncToString@JSC@@YI?AVJSValue@1@PAVExecState@1@@Z
?parse@Parser@JSC@@AAEXPAVJSGlobalData@2@PAHPAVUString@2@@Z
?parseDateFromNullTerminatedCharacters@WTF@@YANPBD@Z
?profiler@Profiler@JSC@@SAPAV12@XZ
diff --git a/JavaScriptCore/assembler/MacroAssemblerMIPS.h b/JavaScriptCore/assembler/MacroAssemblerMIPS.h
index 409922f..88132f7 100644
--- a/JavaScriptCore/assembler/MacroAssemblerMIPS.h
+++ b/JavaScriptCore/assembler/MacroAssemblerMIPS.h
@@ -1674,7 +1674,7 @@ public:
return branchFalse(); // false
}
if (cond == DoubleGreaterThanOrEqual) {
- m_assembler.cnged(right, left);
+ m_assembler.cnged(left, right);
return branchFalse(); // false
}
if (cond == DoubleLessThan) {
diff --git a/JavaScriptCore/bytecode/CodeBlock.cpp b/JavaScriptCore/bytecode/CodeBlock.cpp
index d0132cf..df3ca7b 100644
--- a/JavaScriptCore/bytecode/CodeBlock.cpp
+++ b/JavaScriptCore/bytecode/CodeBlock.cpp
@@ -499,6 +499,17 @@ void CodeBlock::dump(ExecState* exec, const Vector<Instruction>::const_iterator&
printf("[%4d] init_arguments\t %s\n", location, registerName(exec, r0).data());
break;
}
+ case op_get_callee: {
+ int r0 = (++it)->u.operand;
+ printf("[%4d] op_get_callee %s\n", location, registerName(exec, r0).data());
+ break;
+ }
+ case op_create_this: {
+ int r0 = (++it)->u.operand;
+ int r1 = (++it)->u.operand;
+ printf("[%4d] create_this %s %s\n", location, registerName(exec, r0).data(), registerName(exec, r1).data());
+ break;
+ }
case op_convert_this: {
int r0 = (++it)->u.operand;
printf("[%4d] convert_this %s\n", location, registerName(exec, r0).data());
@@ -1083,9 +1094,7 @@ void CodeBlock::dump(ExecState* exec, const Vector<Instruction>::const_iterator&
int func = (++it)->u.operand;
int argCount = (++it)->u.operand;
int registerOffset = (++it)->u.operand;
- int proto = (++it)->u.operand;
- int thisRegister = (++it)->u.operand;
- printf("[%4d] construct\t %s, %d, %d, %s, %s\n", location, registerName(exec, func).data(), argCount, registerOffset, registerName(exec, proto).data(), registerName(exec, thisRegister).data());
+ printf("[%4d] construct\t %s, %d, %d\n", location, registerName(exec, func).data(), argCount, registerOffset);
break;
}
case op_strcat: {
@@ -1636,7 +1645,7 @@ bool CodeBlock::getByIdExceptionInfoForBytecodeOffset(CallFrame* callFrame, unsi
if (!low || m_exceptionInfo->m_getByIdExceptionInfo[low - 1].bytecodeOffset != bytecodeOffset)
return false;
- opcodeID = m_exceptionInfo->m_getByIdExceptionInfo[low - 1].isOpConstruct ? op_construct : op_instanceof;
+ opcodeID = m_exceptionInfo->m_getByIdExceptionInfo[low - 1].isOpCreateThis ? op_create_this : op_instanceof;
return true;
}
diff --git a/JavaScriptCore/bytecode/CodeBlock.h b/JavaScriptCore/bytecode/CodeBlock.h
index e5da2b2..27e56c6 100644
--- a/JavaScriptCore/bytecode/CodeBlock.h
+++ b/JavaScriptCore/bytecode/CodeBlock.h
@@ -97,7 +97,7 @@ namespace JSC {
// thrown by these instances op_get_by_id need to reflect this.
struct GetByIdExceptionInfo {
unsigned bytecodeOffset : 31;
- bool isOpConstruct : 1;
+ bool isOpCreateThis : 1;
};
#if ENABLE(JIT)
diff --git a/JavaScriptCore/bytecode/Opcode.h b/JavaScriptCore/bytecode/Opcode.h
index 30472d5..81fff99 100644
--- a/JavaScriptCore/bytecode/Opcode.h
+++ b/JavaScriptCore/bytecode/Opcode.h
@@ -42,6 +42,8 @@ namespace JSC {
macro(op_enter_with_activation, 2) \
macro(op_init_arguments, 2) \
macro(op_create_arguments, 2) \
+ macro(op_create_this, 3) \
+ macro(op_get_callee, 2) \
macro(op_convert_this, 2) \
\
macro(op_new_object, 2) \
@@ -164,7 +166,7 @@ namespace JSC {
macro(op_ret_object_or_this, 3) \
macro(op_method_check, 1) \
\
- macro(op_construct, 6) \
+ macro(op_construct, 4) \
macro(op_strcat, 4) \
macro(op_to_primitive, 3) \
\
diff --git a/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp b/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp
index cdf87d2..bebfdbb 100644
--- a/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp
+++ b/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp
@@ -364,16 +364,29 @@ BytecodeGenerator::BytecodeGenerator(FunctionBodyNode* functionBody, const Debug
m_thisRegister.setIndex(m_nextParameterIndex);
++m_nextParameterIndex;
++m_codeBlock->m_numParameters;
-
- if (!isConstructor() && (functionBody->usesThis() || m_shouldEmitDebugHooks)) {
- emitOpcode(op_convert_this);
- instructions().append(m_thisRegister.index());
- }
for (size_t i = 0; i < parameterCount; ++i)
addParameter(parameters[i]);
preserveLastVar();
+
+ if (isConstructor()) {
+ RefPtr<RegisterID> func = newTemporary();
+ RefPtr<RegisterID> funcProto = newTemporary();
+
+ 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);
+ instructions().append(m_thisRegister.index());
+ instructions().append(funcProto->index());
+ } else if (functionBody->usesThis() || m_shouldEmitDebugHooks) {
+ emitOpcode(op_convert_this);
+ instructions().append(m_thisRegister.index());
+ }
}
BytecodeGenerator::BytecodeGenerator(EvalNode* evalNode, const Debugger* debugger, const ScopeChain& scopeChain, SymbolTable* symbolTable, EvalCodeBlock* codeBlock)
@@ -1581,8 +1594,6 @@ RegisterID* BytecodeGenerator::emitConstruct(RegisterID* dst, RegisterID* func,
}
}
- RefPtr<RegisterID> funcProto = newTemporary();
-
// Generate code for arguments.
Vector<RefPtr<RegisterID>, 16> argv;
argv.append(newTemporary()); // reserve space for "this"
@@ -1598,11 +1609,6 @@ RegisterID* BytecodeGenerator::emitConstruct(RegisterID* dst, RegisterID* func,
instructions().append(func->index());
}
- // Load prototype.
- emitExpressionInfo(divot, startOffset, endOffset);
- emitGetByIdExceptionInfo(op_construct);
- emitGetById(funcProto.get(), func, globalData()->propertyNames->prototype);
-
// Reserve space for call frame.
Vector<RefPtr<RegisterID>, RegisterFile::CallFrameHeaderSize> callFrame;
for (int i = 0; i < RegisterFile::CallFrameHeaderSize; ++i)
@@ -1618,8 +1624,6 @@ RegisterID* BytecodeGenerator::emitConstruct(RegisterID* dst, RegisterID* func,
instructions().append(func->index()); // func
instructions().append(argv.size()); // argCount
instructions().append(argv[0]->index() + argv.size() + RegisterFile::CallFrameHeaderSize); // registerOffset
- instructions().append(funcProto->index()); // proto
- instructions().append(argv[0]->index()); // thisRegister
if (dst != ignoredResult()) {
emitOpcode(op_call_put_result);
instructions().append(dst->index()); // dst
diff --git a/JavaScriptCore/bytecompiler/BytecodeGenerator.h b/JavaScriptCore/bytecompiler/BytecodeGenerator.h
index 7626bf4..398d666 100644
--- a/JavaScriptCore/bytecompiler/BytecodeGenerator.h
+++ b/JavaScriptCore/bytecompiler/BytecodeGenerator.h
@@ -248,10 +248,10 @@ namespace JSC {
{
// Only op_construct and op_instanceof need exception info for
// a preceding op_get_by_id.
- ASSERT(opcodeID == op_construct || opcodeID == op_instanceof);
+ ASSERT(opcodeID == op_create_this || opcodeID == op_instanceof);
GetByIdExceptionInfo info;
info.bytecodeOffset = instructions().size();
- info.isOpConstruct = (opcodeID == op_construct);
+ info.isOpCreateThis = (opcodeID == op_create_this);
m_codeBlock->addGetByIdExceptionInfo(info);
}
diff --git a/JavaScriptCore/debugger/DebuggerCallFrame.cpp b/JavaScriptCore/debugger/DebuggerCallFrame.cpp
index a734b1d..da9cb52 100644
--- a/JavaScriptCore/debugger/DebuggerCallFrame.cpp
+++ b/JavaScriptCore/debugger/DebuggerCallFrame.cpp
@@ -44,10 +44,10 @@ const UString* DebuggerCallFrame::functionName() const
if (!m_callFrame->callee())
return 0;
- JSFunction* function = asFunction(m_callFrame->callee());
- if (!function)
+ JSObject* function = m_callFrame->callee();
+ if (!function || !function->inherits(&JSFunction::info))
return 0;
- return &function->name(m_callFrame);
+ return &asFunction(function)->name(m_callFrame);
}
UString DebuggerCallFrame::calculatedFunctionName() const
@@ -55,13 +55,11 @@ UString DebuggerCallFrame::calculatedFunctionName() const
if (!m_callFrame->codeBlock())
return UString();
- if (!m_callFrame->callee())
- return UString();
+ JSObject* function = m_callFrame->callee();
+ if (!function || !function->inherits(&JSFunction::info))
+ return 0;
- JSFunction* function = asFunction(m_callFrame->callee());
- if (!function)
- return UString();
- return function->calculatedDisplayName(m_callFrame);
+ return asFunction(function)->calculatedDisplayName(m_callFrame);
}
DebuggerCallFrame::Type DebuggerCallFrame::type() const
@@ -74,10 +72,15 @@ DebuggerCallFrame::Type DebuggerCallFrame::type() const
JSObject* DebuggerCallFrame::thisObject() const
{
- if (!m_callFrame->codeBlock())
+ CodeBlock* codeBlock = m_callFrame->codeBlock();
+ if (!codeBlock)
+ return 0;
+
+ JSValue thisValue = m_callFrame->r(codeBlock->thisRegister()).jsValue();
+ if (!thisValue.isObject())
return 0;
- return asObject(m_callFrame->thisValue());
+ return asObject(thisValue);
}
JSValue DebuggerCallFrame::evaluate(const UString& script, JSValue& exception) const
diff --git a/JavaScriptCore/interpreter/CallFrame.cpp b/JavaScriptCore/interpreter/CallFrame.cpp
index 9724875..f53e6f4 100644
--- a/JavaScriptCore/interpreter/CallFrame.cpp
+++ b/JavaScriptCore/interpreter/CallFrame.cpp
@@ -31,11 +31,6 @@
namespace JSC {
-JSValue CallFrame::thisValue()
-{
- return this[codeBlock()->thisRegister()].jsValue();
-}
-
#ifndef NDEBUG
void CallFrame::dumpCaller()
{
diff --git a/JavaScriptCore/interpreter/CallFrame.h b/JavaScriptCore/interpreter/CallFrame.h
index a875119..2a7bce2 100644
--- a/JavaScriptCore/interpreter/CallFrame.h
+++ b/JavaScriptCore/interpreter/CallFrame.h
@@ -38,16 +38,13 @@ namespace JSC {
// Passed as the first argument to most functions.
class ExecState : private Register {
public:
- JSFunction* callee() const { return this[RegisterFile::Callee].function(); }
+ JSObject* callee() const { return this[RegisterFile::Callee].function(); }
CodeBlock* codeBlock() const { return this[RegisterFile::CodeBlock].Register::codeBlock(); }
ScopeChainNode* scopeChain() const
{
ASSERT(this[RegisterFile::ScopeChain].Register::scopeChain());
return this[RegisterFile::ScopeChain].Register::scopeChain();
}
- int argumentCount() const { return this[RegisterFile::ArgumentCount].i(); }
-
- JSValue thisValue();
// Global object in which execution began.
JSGlobalObject* dynamicGlobalObject();
@@ -118,32 +115,46 @@ namespace JSC {
void setScopeChain(ScopeChainNode* scopeChain) { static_cast<Register*>(this)[RegisterFile::ScopeChain] = scopeChain; }
ALWAYS_INLINE void init(CodeBlock* codeBlock, Instruction* vPC, ScopeChainNode* scopeChain,
- CallFrame* callerFrame, int, int argc, JSFunction* function)
+ CallFrame* callerFrame, int argc, JSObject* callee)
{
ASSERT(callerFrame); // Use noCaller() rather than 0 for the outer host call frame caller.
setCodeBlock(codeBlock);
setScopeChain(scopeChain);
setCallerFrame(callerFrame);
- static_cast<Register*>(this)[RegisterFile::ReturnPC] = vPC; // This is either an Instruction* or a pointer into JIT generated code stored as an Instruction*.
- setArgumentCount(argc); // original argument count (for the sake of the "arguments" object)
- setCallee(function);
+ setReturnPC(vPC); // This is either an Instruction* or a pointer into JIT generated code stored as an Instruction*.
+ setArgumentCountIncludingThis(argc); // original argument count (for the sake of the "arguments" object)
+ setCallee(callee);
}
// Read a register from the codeframe (or constant from the CodeBlock).
inline Register& r(int);
+ // Access to arguments.
+ int hostThisRegister() { return -RegisterFile::CallFrameHeaderSize - argumentCountIncludingThis(); }
+ JSValue hostThisValue() { return this[hostThisRegister()].jsValue(); }
+ size_t argumentCount() const { return argumentCountIncludingThis() - 1; }
+ size_t argumentCountIncludingThis() const { return this[RegisterFile::ArgumentCount].i(); }
+ JSValue argument(int argumentNumber)
+ {
+ int argumentIndex = -RegisterFile::CallFrameHeaderSize - this[RegisterFile::ArgumentCount].i() + argumentNumber + 1;
+ if (argumentIndex >= -RegisterFile::CallFrameHeaderSize)
+ return jsUndefined();
+ return this[argumentIndex].jsValue();
+ }
+
static CallFrame* noCaller() { return reinterpret_cast<CallFrame*>(HostCallFrameFlag); }
bool hasHostCallFrameFlag() const { return reinterpret_cast<intptr_t>(this) & HostCallFrameFlag; }
CallFrame* addHostCallFrameFlag() const { return reinterpret_cast<CallFrame*>(reinterpret_cast<intptr_t>(this) | HostCallFrameFlag); }
CallFrame* removeHostCallFrameFlag() { return reinterpret_cast<CallFrame*>(reinterpret_cast<intptr_t>(this) & ~HostCallFrameFlag); }
- private:
- void setArgumentCount(int count) { static_cast<Register*>(this)[RegisterFile::ArgumentCount] = Register::withInt(count); }
- void setCallee(JSFunction* callee) { static_cast<Register*>(this)[RegisterFile::Callee] = callee; }
+ void setArgumentCountIncludingThis(int count) { static_cast<Register*>(this)[RegisterFile::ArgumentCount] = Register::withInt(count); }
+ void setCallee(JSObject* callee) { static_cast<Register*>(this)[RegisterFile::Callee] = Register::withCallee(callee); }
void setCodeBlock(CodeBlock* codeBlock) { static_cast<Register*>(this)[RegisterFile::CodeBlock] = codeBlock; }
+ void setReturnPC(void* value) { static_cast<Register*>(this)[RegisterFile::ReturnPC] = (Instruction*)value; }
+ private:
static const intptr_t HostCallFrameFlag = 1;
ExecState();
diff --git a/JavaScriptCore/interpreter/Interpreter.cpp b/JavaScriptCore/interpreter/Interpreter.cpp
index 1fbc9b7..12ac323 100644
--- a/JavaScriptCore/interpreter/Interpreter.cpp
+++ b/JavaScriptCore/interpreter/Interpreter.cpp
@@ -375,7 +375,7 @@ NEVER_INLINE JSValue Interpreter::callEval(CallFrame* callFrame, RegisterFile* r
JSValue result = jsUndefined();
if (eval)
- result = callFrame->globalData().interpreter->execute(eval.get(), callFrame, callFrame->thisValue().toThisObject(callFrame), callFrame->registers() - registerFile->start() + registerOffset, scopeChain, &exceptionValue);
+ result = callFrame->globalData().interpreter->execute(eval.get(), callFrame, callFrame->r(codeBlock->thisRegister()).jsValue().toThisObject(callFrame), callFrame->registers() - registerFile->start() + registerOffset, scopeChain, &exceptionValue);
return result;
}
@@ -628,8 +628,10 @@ NEVER_INLINE HandlerInfo* Interpreter::throwException(CallFrame*& callFrame, JSV
return 0;
}
- // Now unwind the scope chain within the exception handler's call frame.
+ // Shrink the JS stack, in case stack overflow made it huge.
+ m_registerFile.shrink(callFrame->registers() + callFrame->codeBlock()->m_numCalleeRegisters);
+ // Unwind the scope chain within the exception handler's call frame.
ScopeChainNode* scopeChain = callFrame->scopeChain();
ScopeChain sc(scopeChain);
int scopeDelta = depth(codeBlock, sc) - handler->scopeDepth;
@@ -661,19 +663,20 @@ JSValue Interpreter::execute(ProgramExecutable* program, CallFrame* callFrame, S
return jsNull();
}
- DynamicGlobalObjectScope globalObjectScope(callFrame, scopeChain->globalObject);
-
JSGlobalObject* lastGlobalObject = m_registerFile.globalObject();
JSGlobalObject* globalObject = callFrame->dynamicGlobalObject();
globalObject->copyGlobalsTo(m_registerFile);
CallFrame* newCallFrame = CallFrame::create(oldEnd + codeBlock->m_numParameters + RegisterFile::CallFrameHeaderSize);
- newCallFrame->r(codeBlock->thisRegister()) = JSValue(thisObj);
- newCallFrame->init(codeBlock, 0, scopeChain, CallFrame::noCaller(), 0, 0, 0);
+ ASSERT(codeBlock->m_numParameters == 1); // 1 parameter for 'this'.
+ newCallFrame->init(codeBlock, 0, scopeChain, CallFrame::noCaller(), codeBlock->m_numParameters, 0);
+ newCallFrame->r(newCallFrame->hostThisRegister()) = JSValue(thisObj);
if (codeBlock->needsFullScopeChain())
scopeChain->ref();
+ DynamicGlobalObjectScope globalObjectScope(callFrame, scopeChain->globalObject);
+
Profiler** profiler = Profiler::enabledProfilerReference();
if (*profiler)
(*profiler)->willExecute(newCallFrame, program->sourceURL(), program->lineNo());
@@ -702,9 +705,9 @@ JSValue Interpreter::execute(ProgramExecutable* program, CallFrame* callFrame, S
return result;
}
-JSValue Interpreter::executeCall(FunctionExecutable* functionExecutable, CallFrame* callFrame, JSFunction* function, JSObject* thisObj, const ArgList& args, ScopeChainNode* scopeChain, JSValue* exception)
+JSValue Interpreter::executeCall(CallFrame* callFrame, JSObject* function, CallType callType, const CallData& callData, JSValue thisValue, const ArgList& args, JSValue* exception)
{
- ASSERT(!scopeChain->globalData->exception);
+ ASSERT(!callFrame->hadException());
if (m_reentryDepth >= MaxSmallThreadReentryDepth) {
if (m_reentryDepth >= callFrame->globalData().maxReentryDepth) {
@@ -714,51 +717,79 @@ JSValue Interpreter::executeCall(FunctionExecutable* functionExecutable, CallFra
}
Register* oldEnd = m_registerFile.end();
- int argc = 1 + args.size(); // implicit "this" parameter
+ int argCount = 1 + args.size(); // implicit "this" parameter
+ size_t registerOffset = argCount + RegisterFile::CallFrameHeaderSize;
- if (!m_registerFile.grow(oldEnd + argc)) {
+ if (!m_registerFile.grow(oldEnd + registerOffset)) {
*exception = createStackOverflowError(callFrame);
return jsNull();
}
- DynamicGlobalObjectScope globalObjectScope(callFrame, scopeChain->globalObject);
-
CallFrame* newCallFrame = CallFrame::create(oldEnd);
size_t dst = 0;
- newCallFrame->r(0) = JSValue(thisObj);
+ newCallFrame->r(0) = thisValue;
ArgList::const_iterator end = args.end();
for (ArgList::const_iterator it = args.begin(); it != end; ++it)
newCallFrame->r(++dst) = *it;
- CodeBlock* codeBlock = &functionExecutable->bytecodeForCall(callFrame, scopeChain);
- newCallFrame = slideRegisterWindowForCall(codeBlock, &m_registerFile, newCallFrame, argc + RegisterFile::CallFrameHeaderSize, argc);
- if (UNLIKELY(!newCallFrame)) {
- *exception = createStackOverflowError(callFrame);
+ if (callType == CallTypeJS) {
+ ScopeChainNode* callDataScopeChain = callData.js.scopeChain;
+ CodeBlock* newCodeBlock = &callData.js.functionExecutable->bytecodeForCall(callFrame, callDataScopeChain);
+
+ newCallFrame = slideRegisterWindowForCall(newCodeBlock, &m_registerFile, newCallFrame, registerOffset, argCount);
+ if (UNLIKELY(!newCallFrame)) {
+ *exception = createStackOverflowError(callFrame);
+ m_registerFile.shrink(oldEnd);
+ return jsNull();
+ }
+
+ newCallFrame->init(newCodeBlock, 0, callDataScopeChain, callFrame->addHostCallFrameFlag(), argCount, function);
+
+ DynamicGlobalObjectScope globalObjectScope(newCallFrame, callDataScopeChain->globalObject);
+
+ Profiler** profiler = Profiler::enabledProfilerReference();
+ if (*profiler)
+ (*profiler)->willExecute(newCallFrame, function);
+
+ JSValue result;
+ {
+ SamplingTool::CallRecord callRecord(m_sampler.get());
+
+ m_reentryDepth++;
+ #if ENABLE(JIT)
+ result = callData.js.functionExecutable->jitCodeForCall(newCallFrame, callDataScopeChain).execute(&m_registerFile, newCallFrame, callDataScopeChain->globalData, exception);
+ #else
+ result = privateExecute(Normal, &m_registerFile, newCallFrame, exception);
+ #endif
+ m_reentryDepth--;
+ }
+
+ if (*profiler)
+ (*profiler)->didExecute(newCallFrame, function);
+
m_registerFile.shrink(oldEnd);
- return jsNull();
+ return result;
}
- // a 0 codeBlock indicates a built-in caller
- newCallFrame->init(codeBlock, 0, scopeChain, callFrame->addHostCallFrameFlag(), 0, argc, function);
+
+ ASSERT(callType == CallTypeHost);
+ ScopeChainNode* scopeChain = callFrame->scopeChain();
+ newCallFrame = CallFrame::create(newCallFrame->registers() + registerOffset);
+ newCallFrame->init(0, 0, scopeChain, callFrame->addHostCallFrameFlag(), argCount, function);
+
+ DynamicGlobalObjectScope globalObjectScope(newCallFrame, scopeChain->globalObject);
Profiler** profiler = Profiler::enabledProfilerReference();
if (*profiler)
- (*profiler)->willExecute(callFrame, function);
+ (*profiler)->willExecute(newCallFrame, function);
JSValue result;
{
- SamplingTool::CallRecord callRecord(m_sampler.get());
-
- m_reentryDepth++;
-#if ENABLE(JIT)
- result = functionExecutable->jitCodeForCall(newCallFrame, scopeChain).execute(&m_registerFile, newCallFrame, scopeChain->globalData, exception);
-#else
- result = privateExecute(Normal, &m_registerFile, newCallFrame, exception);
-#endif
- m_reentryDepth--;
+ SamplingTool::HostCallRecord callRecord(m_sampler.get());
+ result = callData.native.function(newCallFrame);
}
if (*profiler)
- (*profiler)->didExecute(callFrame, function);
+ (*profiler)->didExecute(newCallFrame, function);
m_registerFile.shrink(oldEnd);
return result;
@@ -783,8 +814,6 @@ JSValue Interpreter::executeConstruct(FunctionExecutable* functionExecutable, Ca
return jsNull();
}
- DynamicGlobalObjectScope globalObjectScope(callFrame, scopeChain->globalObject);
-
CallFrame* newCallFrame = CallFrame::create(oldEnd);
size_t dst = 0;
newCallFrame->r(0) = JSValue(thisObj);
@@ -800,7 +829,9 @@ JSValue Interpreter::executeConstruct(FunctionExecutable* functionExecutable, Ca
return jsNull();
}
// a 0 codeBlock indicates a built-in caller
- newCallFrame->init(codeBlock, 0, scopeChain, callFrame->addHostCallFrameFlag(), 0, argc, function);
+ newCallFrame->init(codeBlock, 0, scopeChain, callFrame->addHostCallFrameFlag(), argc, function);
+
+ DynamicGlobalObjectScope globalObjectScope(callFrame, scopeChain->globalObject);
Profiler** profiler = Profiler::enabledProfilerReference();
if (*profiler)
@@ -858,7 +889,7 @@ CallFrameClosure Interpreter::prepareForRepeatCall(FunctionExecutable* FunctionE
return CallFrameClosure();
}
// a 0 codeBlock indicates a built-in caller
- newCallFrame->init(codeBlock, 0, scopeChain, callFrame->addHostCallFrameFlag(), 0, argc, function);
+ newCallFrame->init(codeBlock, 0, scopeChain, callFrame->addHostCallFrameFlag(), argc, function);
#if ENABLE(JIT)
FunctionExecutable->jitCodeForCall(newCallFrame, scopeChain);
#endif
@@ -957,8 +988,9 @@ JSValue Interpreter::execute(EvalExecutable* eval, CallFrame* callFrame, JSObjec
CallFrame* newCallFrame = CallFrame::create(m_registerFile.start() + globalRegisterOffset);
// a 0 codeBlock indicates a built-in caller
- newCallFrame->r(codeBlock->thisRegister()) = JSValue(thisObj);
- newCallFrame->init(codeBlock, 0, scopeChain, callFrame->addHostCallFrameFlag(), 0, 0, 0);
+ ASSERT(codeBlock->m_numParameters == 1); // 1 parameter for 'this'.
+ newCallFrame->init(codeBlock, 0, scopeChain, callFrame->addHostCallFrameFlag(), codeBlock->m_numParameters, 0);
+ newCallFrame->r(newCallFrame->hostThisRegister()) = JSValue(thisObj);
if (codeBlock->needsFullScopeChain())
scopeChain->ref();
@@ -2938,7 +2970,7 @@ skip_id_custom_self:
JSValue result;
int offset = 0;
if (subscript == expectedSubscript && baseValue.isCell() && (baseValue.asCell()->structure() == it->cachedStructure()) && it->getOffset(index, offset)) {
- callFrame->r(dst) = asObject(baseValue)->getDirectOffset(offset);
+ callFrame->r(dst) = JSValue(asObject(baseValue)->getDirectOffset(offset));
vPC += OPCODE_LENGTH(op_get_by_pname);
NEXT_INSTRUCTION();
}
@@ -3577,7 +3609,7 @@ skip_id_custom_self:
goto vm_throw;
}
- callFrame->init(newCodeBlock, vPC + OPCODE_LENGTH(op_call), callDataScopeChain, previousCallFrame, 0, argCount, asFunction(v));
+ callFrame->init(newCodeBlock, vPC + OPCODE_LENGTH(op_call), callDataScopeChain, previousCallFrame, argCount, asFunction(v));
codeBlock = newCodeBlock;
ASSERT(codeBlock == callFrame->codeBlock());
vPC = newCodeBlock->instructions().begin();
@@ -3592,20 +3624,15 @@ skip_id_custom_self:
if (callType == CallTypeHost) {
ScopeChainNode* scopeChain = callFrame->scopeChain();
CallFrame* newCallFrame = CallFrame::create(callFrame->registers() + registerOffset);
- newCallFrame->init(0, vPC + OPCODE_LENGTH(op_call), scopeChain, callFrame, 0, argCount, 0);
+ newCallFrame->init(0, vPC + OPCODE_LENGTH(op_call), scopeChain, callFrame, argCount, asObject(v));
Register* thisRegister = newCallFrame->registers() - RegisterFile::CallFrameHeaderSize - argCount;
ArgList args(thisRegister + 1, argCount - 1);
- // FIXME: All host methods should be calling toThisObject, but this is not presently the case.
- JSValue thisValue = thisRegister->jsValue();
- if (thisValue == jsNull())
- thisValue = callFrame->globalThisValue();
-
JSValue returnValue;
{
SamplingTool::HostCallRecord callRecord(m_sampler.get());
- returnValue = callData.native.function(newCallFrame, asObject(v), thisValue, args);
+ returnValue = callData.native.function(newCallFrame);
}
CHECK_FOR_EXCEPTION();
@@ -3627,15 +3654,15 @@ skip_id_custom_self:
JSValue arguments = callFrame->r(argsOffset).jsValue();
int32_t argCount = 0;
if (!arguments) {
- argCount = (uint32_t)(callFrame->argumentCount()) - 1;
+ argCount = (uint32_t)(callFrame->argumentCount());
int32_t sizeDelta = argsOffset + argCount + RegisterFile::CallFrameHeaderSize;
Register* newEnd = callFrame->registers() + sizeDelta;
if (!registerFile->grow(newEnd) || ((newEnd - callFrame->registers()) != sizeDelta)) {
exceptionValue = createStackOverflowError(callFrame);
goto vm_throw;
}
- ASSERT(!callFrame->callee()->isHostFunction());
- int32_t expectedParams = callFrame->callee()->jsExecutable()->parameterCount();
+ ASSERT(!asFunction(callFrame->callee())->isHostFunction());
+ int32_t expectedParams = asFunction(callFrame->callee())->jsExecutable()->parameterCount();
int32_t inplaceArgs = min(argCount, expectedParams);
int32_t i = 0;
Register* argStore = callFrame->registers() + argsOffset;
@@ -3732,7 +3759,7 @@ skip_id_custom_self:
goto vm_throw;
}
- callFrame->init(newCodeBlock, vPC + OPCODE_LENGTH(op_call_varargs), callDataScopeChain, previousCallFrame, 0, argCount, asFunction(v));
+ callFrame->init(newCodeBlock, vPC + OPCODE_LENGTH(op_call_varargs), callDataScopeChain, previousCallFrame, argCount, asFunction(v));
codeBlock = newCodeBlock;
ASSERT(codeBlock == callFrame->codeBlock());
vPC = newCodeBlock->instructions().begin();
@@ -3747,20 +3774,15 @@ skip_id_custom_self:
if (callType == CallTypeHost) {
ScopeChainNode* scopeChain = callFrame->scopeChain();
CallFrame* newCallFrame = CallFrame::create(callFrame->registers() + registerOffset);
- newCallFrame->init(0, vPC + OPCODE_LENGTH(op_call_varargs), scopeChain, callFrame, 0, argCount, 0);
+ newCallFrame->init(0, vPC + OPCODE_LENGTH(op_call_varargs), scopeChain, callFrame, argCount, asObject(v));
Register* thisRegister = newCallFrame->registers() - RegisterFile::CallFrameHeaderSize - argCount;
ArgList args(thisRegister + 1, argCount - 1);
- // FIXME: All host methods should be calling toThisObject, but this is not presently the case.
- JSValue thisValue = thisRegister->jsValue();
- if (thisValue == jsNull())
- thisValue = callFrame->globalThisValue();
-
JSValue returnValue;
{
SamplingTool::HostCallRecord callRecord(m_sampler.get());
- returnValue = callData.native.function(newCallFrame, asObject(v), thisValue, args);
+ returnValue = callData.native.function(newCallFrame);
}
CHECK_FOR_EXCEPTION();
@@ -3883,7 +3905,7 @@ skip_id_custom_self:
vPC = callFrame->returnPC();
callFrame = callFrame->callerFrame();
-
+
if (callFrame->hasHostCallFrameFlag())
return returnValue;
@@ -3930,6 +3952,46 @@ skip_id_custom_self:
vPC += OPCODE_LENGTH(op_enter_with_activation);
NEXT_INSTRUCTION();
}
+ DEFINE_OPCODE(op_get_callee) {
+ /* op_get_callee callee(r)
+
+ Move callee into a register.
+ */
+
+ callFrame->r(vPC[1].u.operand) = JSValue(callFrame->callee());
+
+ vPC += OPCODE_LENGTH(op_get_callee);
+ NEXT_INSTRUCTION();
+ }
+ DEFINE_OPCODE(op_create_this) {
+ /* op_create_this this(r) proto(r)
+
+ Allocate an object as 'this', fr use in construction.
+
+ This opcode should only be used at the beginning of a code
+ block.
+ */
+
+ int thisRegister = vPC[1].u.operand;
+ int protoRegister = vPC[2].u.operand;
+
+ JSFunction* constructor = asFunction(callFrame->callee());
+#if !ASSERT_DISABLED
+ ConstructData constructData;
+ ASSERT(constructor->getConstructData(constructData) == ConstructTypeJS);
+#endif
+
+ Structure* structure;
+ JSValue proto = callFrame->r(protoRegister).jsValue();
+ if (proto.isObject())
+ structure = asObject(proto)->inheritorID();
+ else
+ structure = constructor->scope().node()->globalObject->emptyObjectStructure();
+ callFrame->r(thisRegister) = JSValue(new (&callFrame->globalData()) JSObject(structure));
+
+ vPC += OPCODE_LENGTH(op_create_this);
+ NEXT_INSTRUCTION();
+ }
DEFINE_OPCODE(op_convert_this) {
/* convert_this this(r)
@@ -4000,8 +4062,6 @@ skip_id_custom_self:
int func = vPC[1].u.operand;
int argCount = vPC[2].u.operand;
int registerOffset = vPC[3].u.operand;
- int proto = vPC[4].u.operand;
- int thisRegister = vPC[5].u.operand;
JSValue v = callFrame->r(func).jsValue();
@@ -4012,16 +4072,6 @@ skip_id_custom_self:
ScopeChainNode* callDataScopeChain = constructData.js.scopeChain;
CodeBlock* newCodeBlock = &constructData.js.functionExecutable->bytecodeForConstruct(callFrame, callDataScopeChain);
- Structure* structure;
- JSValue prototype = callFrame->r(proto).jsValue();
- if (prototype.isObject())
- structure = asObject(prototype)->inheritorID();
- else
- structure = callDataScopeChain->globalObject->emptyObjectStructure();
- JSObject* newObject = new (globalData) JSObject(structure);
-
- callFrame->r(thisRegister) = JSValue(newObject); // "this" value
-
CallFrame* previousCallFrame = callFrame;
callFrame = slideRegisterWindowForCall(newCodeBlock, registerFile, callFrame, registerOffset, argCount);
@@ -4031,7 +4081,7 @@ skip_id_custom_self:
goto vm_throw;
}
- callFrame->init(newCodeBlock, vPC + OPCODE_LENGTH(op_construct), callDataScopeChain, previousCallFrame, 0, argCount, asFunction(v));
+ callFrame->init(newCodeBlock, vPC + OPCODE_LENGTH(op_construct), callDataScopeChain, previousCallFrame, argCount, asFunction(v));
codeBlock = newCodeBlock;
vPC = newCodeBlock->instructions().begin();
@@ -4043,11 +4093,12 @@ skip_id_custom_self:
}
if (constructType == ConstructTypeHost) {
- ArgList args(callFrame->registers() + thisRegister + 1, argCount - 1);
-
ScopeChainNode* scopeChain = callFrame->scopeChain();
CallFrame* newCallFrame = CallFrame::create(callFrame->registers() + registerOffset);
- newCallFrame->init(0, vPC + OPCODE_LENGTH(op_construct), scopeChain, callFrame, 0, argCount, 0);
+ newCallFrame->init(0, vPC + OPCODE_LENGTH(op_construct), scopeChain, callFrame, argCount, 0);
+
+ Register* thisRegister = newCallFrame->registers() - RegisterFile::CallFrameHeaderSize - argCount;
+ ArgList args(thisRegister + 1, argCount - 1);
JSValue returnValue;
{
diff --git a/JavaScriptCore/interpreter/Interpreter.h b/JavaScriptCore/interpreter/Interpreter.h
index 3572617..13df468 100644
--- a/JavaScriptCore/interpreter/Interpreter.h
+++ b/JavaScriptCore/interpreter/Interpreter.h
@@ -95,7 +95,7 @@ namespace JSC {
bool isOpcode(Opcode);
JSValue execute(ProgramExecutable*, CallFrame*, ScopeChainNode*, JSObject* thisObj, JSValue* exception);
- JSValue executeCall(FunctionExecutable*, CallFrame*, JSFunction*, JSObject* thisObj, const ArgList& args, ScopeChainNode*, JSValue* exception);
+ JSValue executeCall(CallFrame*, JSObject* function, CallType, const CallData&, JSValue thisValue, const ArgList&, JSValue* exception);
JSValue executeConstruct(FunctionExecutable*, CallFrame*, JSFunction*, JSObject* thisObj, const ArgList& args, ScopeChainNode*, JSValue* exception);
JSValue execute(EvalExecutable* evalNode, CallFrame* exec, JSObject* thisObj, ScopeChainNode* scopeChain, JSValue* exception);
diff --git a/JavaScriptCore/interpreter/Register.h b/JavaScriptCore/interpreter/Register.h
index 723112e..38d1647 100644
--- a/JavaScriptCore/interpreter/Register.h
+++ b/JavaScriptCore/interpreter/Register.h
@@ -39,7 +39,7 @@ namespace JSC {
class CodeBlock;
class ExecState;
class JSActivation;
- class JSFunction;
+ class JSObject;
class JSPropertyNameIterator;
class ScopeChainNode;
@@ -58,7 +58,6 @@ namespace JSC {
Register& operator=(JSActivation*);
Register& operator=(CallFrame*);
Register& operator=(CodeBlock*);
- Register& operator=(JSFunction*);
Register& operator=(JSPropertyNameIterator*);
Register& operator=(ScopeChainNode*);
Register& operator=(Instruction*);
@@ -67,7 +66,7 @@ namespace JSC {
JSActivation* activation() const;
CallFrame* callFrame() const;
CodeBlock* codeBlock() const;
- JSFunction* function() const;
+ JSObject* function() const;
JSPropertyNameIterator* propertyNameIterator() const;
ScopeChainNode* scopeChain() const;
Instruction* vPC() const;
@@ -79,6 +78,13 @@ namespace JSC {
return r;
}
+ static Register withCallee(JSObject* callee)
+ {
+ Register r;
+ r.u.function = callee;
+ return r;
+ }
+
private:
union {
int32_t i;
@@ -87,7 +93,7 @@ namespace JSC {
JSActivation* activation;
CallFrame* callFrame;
CodeBlock* codeBlock;
- JSFunction* function;
+ JSObject* function;
JSPropertyNameIterator* propertyNameIterator;
ScopeChainNode* scopeChain;
Instruction* vPC;
@@ -143,12 +149,6 @@ namespace JSC {
return *this;
}
- ALWAYS_INLINE Register& Register::operator=(JSFunction* function)
- {
- u.function = function;
- return *this;
- }
-
ALWAYS_INLINE Register& Register::operator=(Instruction* vPC)
{
u.vPC = vPC;
@@ -187,7 +187,7 @@ namespace JSC {
return u.codeBlock;
}
- ALWAYS_INLINE JSFunction* Register::function() const
+ ALWAYS_INLINE JSObject* Register::function() const
{
return u.function;
}
diff --git a/JavaScriptCore/jit/JIT.cpp b/JavaScriptCore/jit/JIT.cpp
index eeffd5c..5d96847 100644
--- a/JavaScriptCore/jit/JIT.cpp
+++ b/JavaScriptCore/jit/JIT.cpp
@@ -221,6 +221,8 @@ void JIT::privateCompileMainPass()
DEFINE_OP(op_call_varargs)
DEFINE_OP(op_catch)
DEFINE_OP(op_construct)
+ DEFINE_OP(op_get_callee)
+ DEFINE_OP(op_create_this)
DEFINE_OP(op_convert_this)
DEFINE_OP(op_init_arguments)
DEFINE_OP(op_create_arguments)
@@ -454,17 +456,19 @@ void JIT::privateCompileSlowCases()
#endif
}
-JITCode JIT::privateCompile()
+JITCode JIT::privateCompile(CodePtr* functionEntryArityCheck)
{
+ // Could use a pop_m, but would need to offset the following instruction if so.
+ preserveReturnAddressAfterCall(regT2);
+ emitPutToCallFrameHeader(regT2, RegisterFile::ReturnPC);
+
+ Label beginLabel(this);
+
sampleCodeBlock(m_codeBlock);
#if ENABLE(OPCODE_SAMPLING)
sampleInstruction(m_codeBlock->instructions().begin());
#endif
- // Could use a pop_m, but would need to offset the following instruction if so.
- preserveReturnAddressAfterCall(regT2);
- emitPutToCallFrameHeader(regT2, RegisterFile::ReturnPC);
-
Jump registerFileCheck;
if (m_codeBlock->codeType() == FunctionCode) {
// In the case of a fast linked call, we do not set this up in the caller.
@@ -481,6 +485,8 @@ JITCode JIT::privateCompile()
privateCompileLinkPass();
privateCompileSlowCases();
+ Label arityCheck;
+ Call callArityCheck;
if (m_codeBlock->codeType() == FunctionCode) {
registerFileCheck.link(this);
m_bytecodeOffset = 0;
@@ -489,6 +495,15 @@ JITCode JIT::privateCompile()
m_bytecodeOffset = (unsigned)-1; // Reset this, in order to guard its use with ASSERTs.
#endif
jump(functionBody);
+
+ arityCheck = label();
+ preserveReturnAddressAfterCall(regT2);
+ emitPutToCallFrameHeader(regT2, RegisterFile::ReturnPC);
+ branch32(Equal, regT1, Imm32(m_codeBlock->m_numParameters)).linkTo(beginLabel, this);
+ restoreArgumentReference();
+ callArityCheck = call();
+ move(regT0, callFrameRegister);
+ jump(beginLabel);
}
ASSERT(m_jmpTable.isEmpty());
@@ -567,6 +582,11 @@ JITCode JIT::privateCompile()
info.callReturnLocation = m_codeBlock->structureStubInfo(m_methodCallCompilationInfo[i].propertyAccessIndex).callReturnLocation;
}
+ if (m_codeBlock->codeType() == FunctionCode && functionEntryArityCheck) {
+ patchBuffer.link(callArityCheck, FunctionPtr(m_codeBlock->m_isConstructor ? cti_op_construct_arityCheck : cti_op_call_arityCheck));
+ *functionEntryArityCheck = patchBuffer.locationOf(arityCheck);
+ }
+
return patchBuffer.finalizeCode();
}
@@ -600,7 +620,7 @@ void JIT::unlinkCallOrConstruct(CallLinkInfo* callLinkInfo)
#endif
}
-void JIT::linkCall(JSFunction* callee, CodeBlock* callerCodeBlock, CodeBlock* calleeCodeBlock, JITCode& code, CallLinkInfo* callLinkInfo, int callerArgCount, JSGlobalData* globalData)
+void JIT::linkCall(JSFunction* callee, CodeBlock* callerCodeBlock, CodeBlock* calleeCodeBlock, JIT::CodePtr code, CallLinkInfo* callLinkInfo, int callerArgCount, JSGlobalData* globalData)
{
RepatchBuffer repatchBuffer(callerCodeBlock);
@@ -613,14 +633,14 @@ void JIT::linkCall(JSFunction* callee, CodeBlock* callerCodeBlock, CodeBlock* ca
calleeCodeBlock->addCaller(callLinkInfo);
repatchBuffer.repatch(callLinkInfo->hotPathBegin, callee);
- repatchBuffer.relink(callLinkInfo->hotPathOther, code.addressForCall());
+ repatchBuffer.relink(callLinkInfo->hotPathOther, code);
}
// patch the call so we do not continue to try to link.
repatchBuffer.relink(callLinkInfo->callReturnLocation, globalData->jitStubs.ctiVirtualCall());
}
-void JIT::linkConstruct(JSFunction* callee, CodeBlock* callerCodeBlock, CodeBlock* calleeCodeBlock, JITCode& code, CallLinkInfo* callLinkInfo, int callerArgCount, JSGlobalData* globalData)
+void JIT::linkConstruct(JSFunction* callee, CodeBlock* callerCodeBlock, CodeBlock* calleeCodeBlock, JIT::CodePtr code, CallLinkInfo* callLinkInfo, int callerArgCount, JSGlobalData* globalData)
{
RepatchBuffer repatchBuffer(callerCodeBlock);
@@ -633,7 +653,7 @@ void JIT::linkConstruct(JSFunction* callee, CodeBlock* callerCodeBlock, CodeBloc
calleeCodeBlock->addCaller(callLinkInfo);
repatchBuffer.repatch(callLinkInfo->hotPathBegin, callee);
- repatchBuffer.relink(callLinkInfo->hotPathOther, code.addressForCall());
+ repatchBuffer.relink(callLinkInfo->hotPathOther, code);
}
// patch the call so we do not continue to try to link.
diff --git a/JavaScriptCore/jit/JIT.h b/JavaScriptCore/jit/JIT.h
index 928c80b..529a1d6 100644
--- a/JavaScriptCore/jit/JIT.h
+++ b/JavaScriptCore/jit/JIT.h
@@ -178,9 +178,9 @@ namespace JSC {
static const int patchGetByIdDefaultOffset = 256;
public:
- static JITCode compile(JSGlobalData* globalData, CodeBlock* codeBlock)
+ static JITCode compile(JSGlobalData* globalData, CodeBlock* codeBlock, CodePtr* functionEntryArityCheck = 0)
{
- return JIT(globalData, codeBlock).privateCompile();
+ return JIT(globalData, codeBlock).privateCompile(functionEntryArityCheck);
}
static void compileGetByIdProto(JSGlobalData* globalData, CallFrame* callFrame, CodeBlock* codeBlock, StructureStubInfo* stubInfo, Structure* structure, Structure* prototypeStructure, const Identifier& ident, const PropertySlot& slot, size_t cachedOffset, ReturnAddressPtr returnAddress)
@@ -239,8 +239,8 @@ namespace JSC {
return jit.privateCompilePatchGetArrayLength(returnAddress);
}
- static void linkCall(JSFunction* callee, CodeBlock* callerCodeBlock, CodeBlock* calleeCodeBlock, JITCode&, CallLinkInfo*, int callerArgCount, JSGlobalData*);
- static void linkConstruct(JSFunction* callee, CodeBlock* callerCodeBlock, CodeBlock* calleeCodeBlock, JITCode&, CallLinkInfo*, int callerArgCount, JSGlobalData*);
+ static void linkCall(JSFunction* callee, CodeBlock* callerCodeBlock, CodeBlock* calleeCodeBlock, CodePtr, CallLinkInfo*, int callerArgCount, JSGlobalData*);
+ static void linkConstruct(JSFunction* callee, CodeBlock* callerCodeBlock, CodeBlock* calleeCodeBlock, CodePtr, CallLinkInfo*, int callerArgCount, JSGlobalData*);
static void unlinkCallOrConstruct(CallLinkInfo*);
private:
@@ -260,7 +260,7 @@ namespace JSC {
void privateCompileMainPass();
void privateCompileLinkPass();
void privateCompileSlowCases();
- JITCode privateCompile();
+ JITCode privateCompile(CodePtr* functionEntryArityCheck);
void privateCompileGetByIdProto(StructureStubInfo*, Structure*, Structure* prototypeStructure, const Identifier&, const PropertySlot&, size_t cachedOffset, ReturnAddressPtr returnAddress, CallFrame* callFrame);
void privateCompileGetByIdSelfList(StructureStubInfo*, PolymorphicAccessStructureList*, int, Structure*, const Identifier&, const PropertySlot&, size_t cachedOffset);
void privateCompileGetByIdProtoList(StructureStubInfo*, PolymorphicAccessStructureList*, int, Structure*, Structure* prototypeStructure, const Identifier&, const PropertySlot&, size_t cachedOffset, CallFrame* callFrame);
@@ -269,6 +269,7 @@ namespace JSC {
void privateCompilePutByIdTransition(StructureStubInfo*, Structure*, Structure*, size_t cachedOffset, StructureChain*, ReturnAddressPtr returnAddress);
void privateCompileCTIMachineTrampolines(RefPtr<ExecutablePool>* executablePool, JSGlobalData* data, TrampolineStructure *trampolines);
+ Label privateCompileCTINativeCall(JSGlobalData*, bool isConstruct = false);
CodePtr privateCompileCTINativeCall(PassRefPtr<ExecutablePool> executablePool, JSGlobalData* data, NativeFunction func);
void privateCompilePatchGetArrayLength(ReturnAddressPtr returnAddress);
@@ -280,11 +281,8 @@ namespace JSC {
void compileOpCall(OpcodeID, Instruction* instruction, unsigned callLinkInfoIndex);
void compileOpCallVarargs(Instruction* instruction);
void compileOpCallInitializeCallFrame();
- void compileOpCallSetupArgs(Instruction*);
- void compileOpCallVarargsSetupArgs(Instruction*);
void compileOpCallSlowCase(Instruction* instruction, Vector<SlowCaseEntry>::iterator& iter, unsigned callLinkInfoIndex, OpcodeID opcodeID);
void compileOpCallVarargsSlowCase(Instruction* instruction, Vector<SlowCaseEntry>::iterator& iter);
- void compileOpConstructSetupArgs(Instruction*);
enum CompileOpStrictEqType { OpStrictEq, OpNStrictEq };
void compileOpStrictEq(Instruction* instruction, CompileOpStrictEqType type);
@@ -654,6 +652,8 @@ namespace JSC {
void emit_op_call_put_result(Instruction*);
void emit_op_catch(Instruction*);
void emit_op_construct(Instruction*);
+ void emit_op_get_callee(Instruction*);
+ void emit_op_create_this(Instruction*);
void emit_op_convert_this(Instruction*);
void emit_op_create_arguments(Instruction*);
void emit_op_debug(Instruction*);
@@ -803,16 +803,7 @@ namespace JSC {
void emitRightShift(Instruction*, bool isUnsigned);
void emitRightShiftSlowCase(Instruction*, Vector<SlowCaseEntry>::iterator&, bool isUnsigned);
- /* These functions are deprecated: Please use JITStubCall instead. */
- void emitPutJITStubArg(RegisterID src, unsigned argumentNumber);
-#if USE(JSVALUE32_64)
- void emitPutJITStubArg(RegisterID tag, RegisterID payload, unsigned argumentNumber);
- void emitPutJITStubArgFromVirtualRegister(unsigned src, unsigned argumentNumber, RegisterID scratch1, RegisterID scratch2);
-#else
- void emitPutJITStubArgFromVirtualRegister(unsigned src, unsigned argumentNumber, RegisterID scratch);
-#endif
- void emitPutJITStubArgConstant(unsigned value, unsigned argumentNumber);
- void emitPutJITStubArgConstant(void* value, unsigned argumentNumber);
+ /* This function is deprecated. */
void emitGetJITStubArg(unsigned argumentNumber, RegisterID dst);
void emitInitRegister(unsigned dst);
diff --git a/JavaScriptCore/jit/JITCall.cpp b/JavaScriptCore/jit/JITCall.cpp
index c0de9d1..5c2b308 100644
--- a/JavaScriptCore/jit/JITCall.cpp
+++ b/JavaScriptCore/jit/JITCall.cpp
@@ -49,48 +49,9 @@ namespace JSC {
void JIT::compileOpCallInitializeCallFrame()
{
store32(regT1, Address(callFrameRegister, RegisterFile::ArgumentCount * static_cast<int>(sizeof(Register))));
-
- loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_scopeChain) + OBJECT_OFFSETOF(ScopeChain, m_node)), regT1); // newScopeChain
-
+ loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_scopeChain) + OBJECT_OFFSETOF(ScopeChain, m_node)), regT3); // newScopeChain
storePtr(regT0, Address(callFrameRegister, RegisterFile::Callee * static_cast<int>(sizeof(Register))));
- storePtr(regT1, Address(callFrameRegister, RegisterFile::ScopeChain * static_cast<int>(sizeof(Register))));
-}
-
-void JIT::compileOpCallSetupArgs(Instruction* instruction)
-{
- int argCount = instruction[2].u.operand;
- int registerOffset = instruction[3].u.operand;
-
- // ecx holds func
- emitPutJITStubArg(regT0, 0);
- emitPutJITStubArgConstant(argCount, 2);
- emitPutJITStubArgConstant(registerOffset, 1);
-}
-
-void JIT::compileOpCallVarargsSetupArgs(Instruction* instruction)
-{
- int registerOffset = instruction[3].u.operand;
-
- // ecx holds func
- emitPutJITStubArg(regT0, 0);
- emitPutJITStubArg(regT1, 2);
- addPtr(Imm32(registerOffset), regT1, regT2);
- emitPutJITStubArg(regT2, 1);
-}
-
-void JIT::compileOpConstructSetupArgs(Instruction* instruction)
-{
- int argCount = instruction[2].u.operand;
- int registerOffset = instruction[3].u.operand;
- int proto = instruction[4].u.operand;
- int thisRegister = instruction[5].u.operand;
-
- // ecx holds func
- emitPutJITStubArg(regT0, 0);
- emitPutJITStubArgConstant(registerOffset, 1);
- emitPutJITStubArgConstant(argCount, 2);
- emitPutJITStubArgFromVirtualRegister(proto, 3, regT2);
- emitPutJITStubArgConstant(thisRegister, 4);
+ storePtr(regT3, Address(callFrameRegister, RegisterFile::ScopeChain * static_cast<int>(sizeof(Register))));
}
void JIT::emit_op_call_put_result(Instruction* instruction)
@@ -103,10 +64,11 @@ void JIT::compileOpCallVarargs(Instruction* instruction)
{
int callee = instruction[1].u.operand;
int argCountRegister = instruction[2].u.operand;
+ int registerOffset = instruction[3].u.operand;
emitGetVirtualRegister(argCountRegister, regT1);
emitGetVirtualRegister(callee, regT0);
- compileOpCallVarargsSetupArgs(instruction);
+ addPtr(Imm32(registerOffset), regT1, regT2);
// Check for JSFunctions.
emitJumpSlowCaseIfNotJSCell(regT0);
@@ -128,7 +90,11 @@ void JIT::compileOpCallVarargsSlowCase(Instruction*, Vector<SlowCaseEntry>::iter
{
linkSlowCase(iter);
linkSlowCase(iter);
+
JITStubCall stubCall(this, cti_op_call_NotJSFunction);
+ stubCall.addArgument(regT0);
+ stubCall.addArgument(regT2);
+ stubCall.addArgument(regT1);
stubCall.call();
sampleCodeBlock(m_codeBlock);
@@ -156,22 +122,11 @@ void JIT::compileOpCall(OpcodeID opcodeID, Instruction* instruction, unsigned)
}
emitGetVirtualRegister(callee, regT0);
- // The arguments have been set up on the hot path for op_call_eval
- if (opcodeID == op_call)
- compileOpCallSetupArgs(instruction);
- else if (opcodeID == op_construct)
- compileOpConstructSetupArgs(instruction);
// Check for JSFunctions.
emitJumpSlowCaseIfNotJSCell(regT0);
addSlowCase(branchPtr(NotEqual, Address(regT0), ImmPtr(m_globalData->jsFunctionVPtr)));
- // First, in the case of a construct, allocate the new object.
- if (opcodeID == op_construct) {
- JITStubCall(this, cti_op_construct_JSConstruct).call(registerOffset - RegisterFile::CallFrameHeaderSize - argCount);
- emitGetVirtualRegister(callee, regT0);
- }
-
// Speculatively roll the callframe, assuming argCount will match the arity.
storePtr(callFrameRegister, Address(callFrameRegister, (RegisterFile::CallerFrame + registerOffset) * static_cast<int>(sizeof(Register))));
addPtr(Imm32(registerOffset * static_cast<int>(sizeof(Register))), callFrameRegister);
@@ -187,9 +142,16 @@ void JIT::compileOpCall(OpcodeID opcodeID, Instruction* instruction, unsigned)
void JIT::compileOpCallSlowCase(Instruction* instruction, Vector<SlowCaseEntry>::iterator& iter, unsigned, OpcodeID opcodeID)
{
+ int argCount = instruction[2].u.operand;
+ int registerOffset = instruction[3].u.operand;
+
linkSlowCase(iter);
linkSlowCase(iter);
+
JITStubCall stubCall(this, opcodeID == op_construct ? cti_op_construct_NotJSConstruct : cti_op_call_NotJSFunction);
+ stubCall.addArgument(regT0);
+ stubCall.addArgument(JIT::Imm32(registerOffset));
+ stubCall.addArgument(JIT::Imm32(argCount));
stubCall.call();
sampleCodeBlock(m_codeBlock);
@@ -233,18 +195,6 @@ void JIT::compileOpCall(OpcodeID opcodeID, Instruction* instruction, unsigned ca
// The following is the fast case, only used whan a callee can be linked.
- // In the case of OpConstruct, call out to a cti_ function to create the new object.
- if (opcodeID == op_construct) {
- int proto = instruction[4].u.operand;
- int thisRegister = instruction[5].u.operand;
-
- emitPutJITStubArg(regT0, 0);
- emitPutJITStubArgFromVirtualRegister(proto, 3, regT2);
- JITStubCall stubCall(this, cti_op_construct_JSConstruct);
- stubCall.call(thisRegister);
- emitGetVirtualRegister(callee, regT0);
- }
-
// Fast version of stack frame initialization, directly relative to edi.
// Note that this omits to set up RegisterFile::CodeBlock, which is set in the callee
@@ -267,50 +217,36 @@ void JIT::compileOpCall(OpcodeID opcodeID, Instruction* instruction, unsigned ca
void JIT::compileOpCallSlowCase(Instruction* instruction, Vector<SlowCaseEntry>::iterator& iter, unsigned callLinkInfoIndex, OpcodeID opcodeID)
{
- int callee = instruction[1].u.operand;
int argCount = instruction[2].u.operand;
int registerOffset = instruction[3].u.operand;
linkSlowCase(iter);
- // The arguments have been set up on the hot path for op_call_eval
- if (opcodeID == op_call)
- compileOpCallSetupArgs(instruction);
- else if (opcodeID == op_construct)
- compileOpConstructSetupArgs(instruction);
-
// Fast check for JS function.
Jump callLinkFailNotObject = emitJumpIfNotJSCell(regT0);
Jump callLinkFailNotJSFunction = branchPtr(NotEqual, Address(regT0), ImmPtr(m_globalData->jsFunctionVPtr));
- // First, in the case of a construct, allocate the new object.
- if (opcodeID == op_construct) {
- JITStubCall(this, cti_op_construct_JSConstruct).call(registerOffset - RegisterFile::CallFrameHeaderSize - argCount);
- emitGetVirtualRegister(callee, regT0);
- }
-
// Speculatively roll the callframe, assuming argCount will match the arity.
storePtr(callFrameRegister, Address(callFrameRegister, (RegisterFile::CallerFrame + registerOffset) * static_cast<int>(sizeof(Register))));
addPtr(Imm32(registerOffset * static_cast<int>(sizeof(Register))), callFrameRegister);
move(Imm32(argCount), regT1);
- move(regT0, regT2);
-
m_callStructureStubCompilationInfo[callLinkInfoIndex].callReturnLocation = emitNakedCall(opcodeID == op_construct ? m_globalData->jitStubs.ctiVirtualConstructLink() : m_globalData->jitStubs.ctiVirtualCallLink());
- // If not, we need an extra case in the if below!
- ASSERT(OPCODE_LENGTH(op_call) == OPCODE_LENGTH(op_call_eval));
-
// Done! - return back to the hot path.
- if (opcodeID == op_construct)
- emitJumpSlowToHot(jump(), OPCODE_LENGTH(op_construct));
- else
- emitJumpSlowToHot(jump(), OPCODE_LENGTH(op_call));
+ ASSERT(OPCODE_LENGTH(op_call) == OPCODE_LENGTH(op_call_eval));
+ ASSERT(OPCODE_LENGTH(op_call) == OPCODE_LENGTH(op_construct));
+ emitJumpSlowToHot(jump(), OPCODE_LENGTH(op_call));
// This handles host functions
callLinkFailNotObject.link(this);
callLinkFailNotJSFunction.link(this);
- JITStubCall(this, opcodeID == op_construct ? cti_op_construct_NotJSConstruct : cti_op_call_NotJSFunction).call();
+
+ JITStubCall stubCall(this, opcodeID == op_construct ? cti_op_construct_NotJSConstruct : cti_op_call_NotJSFunction);
+ stubCall.addArgument(regT0);
+ stubCall.addArgument(JIT::Imm32(registerOffset));
+ stubCall.addArgument(JIT::Imm32(argCount));
+ stubCall.call();
sampleCodeBlock(m_codeBlock);
}
diff --git a/JavaScriptCore/jit/JITCall32_64.cpp b/JavaScriptCore/jit/JITCall32_64.cpp
index 9b5451a..5f551cc 100644
--- a/JavaScriptCore/jit/JITCall32_64.cpp
+++ b/JavaScriptCore/jit/JITCall32_64.cpp
@@ -50,42 +50,9 @@ void JIT::compileOpCallInitializeCallFrame()
{
// regT0 holds callee, regT1 holds argCount
store32(regT1, Address(callFrameRegister, RegisterFile::ArgumentCount * static_cast<int>(sizeof(Register))));
-
- loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_scopeChain) + OBJECT_OFFSETOF(ScopeChain, m_node)), regT1); // scopeChain
-
+ loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_scopeChain) + OBJECT_OFFSETOF(ScopeChain, m_node)), regT3); // scopeChain
storePtr(regT0, Address(callFrameRegister, RegisterFile::Callee * static_cast<int>(sizeof(Register)))); // callee
- storePtr(regT1, Address(callFrameRegister, RegisterFile::ScopeChain * static_cast<int>(sizeof(Register)))); // scopeChain
-}
-
-void JIT::compileOpCallSetupArgs(Instruction* instruction)
-{
- int argCount = instruction[2].u.operand;
- int registerOffset = instruction[3].u.operand;
-
- emitPutJITStubArg(regT1, regT0, 0);
- emitPutJITStubArgConstant(registerOffset, 1);
- emitPutJITStubArgConstant(argCount, 2);
-}
-
-void JIT::compileOpConstructSetupArgs(Instruction* instruction)
-{
- int argCount = instruction[2].u.operand;
- int registerOffset = instruction[3].u.operand;
- int proto = instruction[4].u.operand;
- int thisRegister = instruction[5].u.operand;
-
- emitPutJITStubArg(regT1, regT0, 0);
- emitPutJITStubArgConstant(registerOffset, 1);
- emitPutJITStubArgConstant(argCount, 2);
- emitPutJITStubArgFromVirtualRegister(proto, 3, regT2, regT3);
- emitPutJITStubArgConstant(thisRegister, 4);
-}
-
-void JIT::compileOpCallVarargsSetupArgs(Instruction*)
-{
- emitPutJITStubArg(regT1, regT0, 0);
- emitPutJITStubArg(regT3, 1); // registerOffset
- emitPutJITStubArg(regT2, 2); // argCount
+ storePtr(regT3, Address(callFrameRegister, RegisterFile::ScopeChain * static_cast<int>(sizeof(Register)))); // scopeChain
}
void JIT::emit_op_call_put_result(Instruction* instruction)
@@ -104,8 +71,6 @@ void JIT::compileOpCallVarargs(Instruction* instruction)
emitLoadPayload(argCountRegister, regT2); // argCount
addPtr(Imm32(registerOffset), regT2, regT3); // registerOffset
- compileOpCallVarargsSetupArgs(instruction);
-
emitJumpSlowCaseIfNotJSCell(callee, regT1);
addSlowCase(branchPtr(NotEqual, Address(regT0), ImmPtr(m_globalData->jsFunctionVPtr)));
@@ -130,6 +95,9 @@ void JIT::compileOpCallVarargsSlowCase(Instruction* instruction, Vector<SlowCase
linkSlowCase(iter);
JITStubCall stubCall(this, cti_op_call_NotJSFunction);
+ stubCall.addArgument(regT1, regT0);
+ stubCall.addArgument(regT3);
+ stubCall.addArgument(regT2);
stubCall.call();
sampleCodeBlock(m_codeBlock);
@@ -256,20 +224,9 @@ void JIT::compileOpCall(OpcodeID opcodeID, Instruction* instruction, unsigned)
emitLoad(callee, regT1, regT0);
- if (opcodeID == op_call)
- compileOpCallSetupArgs(instruction);
- else if (opcodeID == op_construct)
- compileOpConstructSetupArgs(instruction);
-
emitJumpSlowCaseIfNotJSCell(callee, regT1);
addSlowCase(branchPtr(NotEqual, Address(regT0), ImmPtr(m_globalData->jsFunctionVPtr)));
- // First, in the case of a construct, allocate the new object.
- if (opcodeID == op_construct) {
- JITStubCall(this, cti_op_construct_JSConstruct).call(registerOffset - RegisterFile::CallFrameHeaderSize - argCount);
- emitLoad(callee, regT1, regT0);
- }
-
// Speculatively roll the callframe, assuming argCount will match the arity.
storePtr(callFrameRegister, Address(callFrameRegister, (RegisterFile::CallerFrame + registerOffset) * static_cast<int>(sizeof(Register))));
addPtr(Imm32(registerOffset * static_cast<int>(sizeof(Register))), callFrameRegister);
@@ -286,11 +243,16 @@ void JIT::compileOpCall(OpcodeID opcodeID, Instruction* instruction, unsigned)
void JIT::compileOpCallSlowCase(Instruction* instruction, Vector<SlowCaseEntry>::iterator& iter, unsigned, OpcodeID opcodeID)
{
int callee = instruction[1].u.operand;
+ int argCount = instruction[2].u.operand;
+ int registerOffset = instruction[3].u.operand;
linkSlowCaseIfNotJSCell(iter, callee);
linkSlowCase(iter);
JITStubCall stubCall(this, opcodeID == op_construct ? cti_op_construct_NotJSConstruct : cti_op_call_NotJSFunction);
+ stubCall.addArgument(callee);
+ stubCall.addArgument(JIT::Imm32(registerOffset));
+ stubCall.addArgument(JIT::Imm32(argCount));
stubCall.call();
sampleCodeBlock(m_codeBlock);
@@ -334,21 +296,6 @@ void JIT::compileOpCall(OpcodeID opcodeID, Instruction* instruction, unsigned ca
// The following is the fast case, only used whan a callee can be linked.
- // In the case of OpConstruct, call out to a cti_ function to create the new object.
- if (opcodeID == op_construct) {
- int proto = instruction[4].u.operand;
- int thisRegister = instruction[5].u.operand;
-
- JITStubCall stubCall(this, cti_op_construct_JSConstruct);
- stubCall.addArgument(regT1, regT0);
- stubCall.addArgument(Imm32(0)); // FIXME: Remove this unused JITStub argument.
- stubCall.addArgument(Imm32(0)); // FIXME: Remove this unused JITStub argument.
- stubCall.addArgument(proto);
- stubCall.call(thisRegister);
-
- emitLoad(callee, regT1, regT0);
- }
-
// Fast version of stack frame initialization, directly relative to edi.
// Note that this omits to set up RegisterFile::CodeBlock, which is set in the callee
loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_scopeChain) + OBJECT_OFFSETOF(ScopeChain, m_node)), regT2);
@@ -377,22 +324,10 @@ void JIT::compileOpCallSlowCase(Instruction* instruction, Vector<SlowCaseEntry>:
linkSlowCase(iter);
linkSlowCase(iter);
- // The arguments have been set up on the hot path for op_call_eval
- if (opcodeID == op_call)
- compileOpCallSetupArgs(instruction);
- else if (opcodeID == op_construct)
- compileOpConstructSetupArgs(instruction);
-
// Fast check for JS function.
Jump callLinkFailNotObject = branch32(NotEqual, regT1, Imm32(JSValue::CellTag));
Jump callLinkFailNotJSFunction = branchPtr(NotEqual, Address(regT0), ImmPtr(m_globalData->jsFunctionVPtr));
- // First, in the case of a construct, allocate the new object.
- if (opcodeID == op_construct) {
- JITStubCall(this, cti_op_construct_JSConstruct).call(registerOffset - RegisterFile::CallFrameHeaderSize - argCount);
- emitLoad(callee, regT1, regT0);
- }
-
// Speculatively roll the callframe, assuming argCount will match the arity.
storePtr(callFrameRegister, Address(callFrameRegister, (RegisterFile::CallerFrame + registerOffset) * static_cast<int>(sizeof(Register))));
addPtr(Imm32(registerOffset * static_cast<int>(sizeof(Register))), callFrameRegister);
@@ -400,19 +335,20 @@ void JIT::compileOpCallSlowCase(Instruction* instruction, Vector<SlowCaseEntry>:
m_callStructureStubCompilationInfo[callLinkInfoIndex].callReturnLocation = emitNakedCall(opcodeID == op_construct ? m_globalData->jitStubs.ctiVirtualConstructLink() : m_globalData->jitStubs.ctiVirtualCallLink());
- // If not, we need an extra case in the if below!
- ASSERT(OPCODE_LENGTH(op_call) == OPCODE_LENGTH(op_call_eval));
-
// Done! - return back to the hot path.
- if (opcodeID == op_construct)
- emitJumpSlowToHot(jump(), OPCODE_LENGTH(op_construct));
- else
- emitJumpSlowToHot(jump(), OPCODE_LENGTH(op_call));
+ ASSERT(OPCODE_LENGTH(op_call) == OPCODE_LENGTH(op_call_eval));
+ ASSERT(OPCODE_LENGTH(op_call) == OPCODE_LENGTH(op_construct));
+ emitJumpSlowToHot(jump(), OPCODE_LENGTH(op_call));
// This handles host functions
callLinkFailNotObject.link(this);
callLinkFailNotJSFunction.link(this);
- JITStubCall(this, opcodeID == op_construct ? cti_op_construct_NotJSConstruct : cti_op_call_NotJSFunction).call();
+
+ JITStubCall stubCall(this, opcodeID == op_construct ? cti_op_construct_NotJSConstruct : cti_op_call_NotJSFunction);
+ stubCall.addArgument(callee);
+ stubCall.addArgument(JIT::Imm32(registerOffset));
+ stubCall.addArgument(JIT::Imm32(argCount));
+ stubCall.call();
sampleCodeBlock(m_codeBlock);
}
diff --git a/JavaScriptCore/jit/JITInlineMethods.h b/JavaScriptCore/jit/JITInlineMethods.h
index 89faa00..cba290b 100644
--- a/JavaScriptCore/jit/JITInlineMethods.h
+++ b/JavaScriptCore/jit/JITInlineMethods.h
@@ -33,31 +33,6 @@ namespace JSC {
/* Deprecated: Please use JITStubCall instead. */
-// puts an arg onto the stack, as an arg to a context threaded function.
-ALWAYS_INLINE void JIT::emitPutJITStubArg(RegisterID src, unsigned argumentNumber)
-{
- unsigned argumentStackOffset = (argumentNumber * (sizeof(JSValue) / sizeof(void*))) + JITSTACKFRAME_ARGS_INDEX;
- poke(src, argumentStackOffset);
-}
-
-/* Deprecated: Please use JITStubCall instead. */
-
-ALWAYS_INLINE void JIT::emitPutJITStubArgConstant(unsigned value, unsigned argumentNumber)
-{
- unsigned argumentStackOffset = (argumentNumber * (sizeof(JSValue) / sizeof(void*))) + JITSTACKFRAME_ARGS_INDEX;
- poke(Imm32(value), argumentStackOffset);
-}
-
-/* Deprecated: Please use JITStubCall instead. */
-
-ALWAYS_INLINE void JIT::emitPutJITStubArgConstant(void* value, unsigned argumentNumber)
-{
- unsigned argumentStackOffset = (argumentNumber * (sizeof(JSValue) / sizeof(void*))) + JITSTACKFRAME_ARGS_INDEX;
- poke(ImmPtr(value), argumentStackOffset);
-}
-
-/* Deprecated: Please use JITStubCall instead. */
-
ALWAYS_INLINE void JIT::emitGetJITStubArg(unsigned argumentNumber, RegisterID dst)
{
unsigned argumentStackOffset = (argumentNumber * (sizeof(JSValue) / sizeof(void*))) + JITSTACKFRAME_ARGS_INDEX;
@@ -605,31 +580,6 @@ ALWAYS_INLINE bool JIT::getOperandConstantImmediateInt(unsigned op1, unsigned op
return false;
}
-/* Deprecated: Please use JITStubCall instead. */
-
-ALWAYS_INLINE void JIT::emitPutJITStubArg(RegisterID tag, RegisterID payload, unsigned argumentNumber)
-{
- unsigned argumentStackOffset = (argumentNumber * (sizeof(JSValue) / sizeof(void*))) + JITSTACKFRAME_ARGS_INDEX;
- poke(payload, argumentStackOffset);
- poke(tag, argumentStackOffset + 1);
-}
-
-/* Deprecated: Please use JITStubCall instead. */
-
-ALWAYS_INLINE void JIT::emitPutJITStubArgFromVirtualRegister(unsigned src, unsigned argumentNumber, RegisterID scratch1, RegisterID scratch2)
-{
- unsigned argumentStackOffset = (argumentNumber * (sizeof(JSValue) / sizeof(void*))) + JITSTACKFRAME_ARGS_INDEX;
- if (m_codeBlock->isConstantRegisterIndex(src)) {
- JSValue constant = m_codeBlock->getConstant(src);
- poke(Imm32(constant.payload()), argumentStackOffset);
- poke(Imm32(constant.tag()), argumentStackOffset + 1);
- } else {
- emitLoad(src, scratch1, scratch2);
- poke(scratch2, argumentStackOffset);
- poke(scratch1, argumentStackOffset + 1);
- }
-}
-
#else // USE(JSVALUE32_64)
ALWAYS_INLINE void JIT::killLastResultRegister()
@@ -848,23 +798,6 @@ ALWAYS_INLINE void JIT::emitTagAsBoolImmediate(RegisterID reg)
or32(Imm32(static_cast<int32_t>(JSImmediate::FullTagTypeBool)), reg);
}
-/* Deprecated: Please use JITStubCall instead. */
-
-// get arg puts an arg from the SF register array onto the stack, as an arg to a context threaded function.
-ALWAYS_INLINE void JIT::emitPutJITStubArgFromVirtualRegister(unsigned src, unsigned argumentNumber, RegisterID scratch)
-{
- unsigned argumentStackOffset = (argumentNumber * (sizeof(JSValue) / sizeof(void*))) + JITSTACKFRAME_ARGS_INDEX;
- if (m_codeBlock->isConstantRegisterIndex(src)) {
- JSValue value = m_codeBlock->getConstant(src);
- poke(ImmPtr(JSValue::encode(value)), argumentStackOffset);
- } else {
- loadPtr(Address(callFrameRegister, src * sizeof(Register)), scratch);
- poke(scratch, argumentStackOffset);
- }
-
- killLastResultRegister();
-}
-
#endif // USE(JSVALUE32_64)
} // namespace JSC
diff --git a/JavaScriptCore/jit/JITOpcodes.cpp b/JavaScriptCore/jit/JITOpcodes.cpp
index f8be135..64e1f3c 100644
--- a/JavaScriptCore/jit/JITOpcodes.cpp
+++ b/JavaScriptCore/jit/JITOpcodes.cpp
@@ -74,404 +74,135 @@ void JIT::privateCompileCTIMachineTrampolines(RefPtr<ExecutablePool>* executable
// VirtualCallLink Trampoline
// regT0 holds callee, regT1 holds argCount. regT2 will hold the FunctionExecutable.
Label virtualCallLinkBegin = align();
- loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_executable)), regT2);
-
- Jump isNativeFunc1 = branch32(Equal, Address(regT2, OBJECT_OFFSETOF(FunctionExecutable, m_numParametersForCall)), Imm32(0));
-
- Jump hasCodeBlock1 = branch32(GreaterThan, Address(regT2, OBJECT_OFFSETOF(FunctionExecutable, m_numParametersForCall)), Imm32(0));
- preserveReturnAddressAfterCall(regT3);
- restoreArgumentReference();
- Call callJSFunction1 = call();
- loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_executable)), regT2);
- emitGetJITStubArg(2, regT1); // argCount
- restoreReturnAddressBeforeReturn(regT3);
- hasCodeBlock1.link(this);
-
- // Check argCount matches callee arity.
- Jump arityCheckOkay1 = branch32(Equal, Address(regT2, OBJECT_OFFSETOF(FunctionExecutable, m_numParametersForCall)), regT1);
- preserveReturnAddressAfterCall(regT3);
- emitPutJITStubArg(regT3, 1); // return address
- restoreArgumentReference();
- Call callArityCheck1 = call();
- move(regT1, callFrameRegister);
- emitGetJITStubArg(2, regT1); // argCount
- restoreReturnAddressBeforeReturn(regT3);
- arityCheckOkay1.link(this);
-
- isNativeFunc1.link(this);
-
compileOpCallInitializeCallFrame();
preserveReturnAddressAfterCall(regT3);
- emitPutJITStubArg(regT3, 1); // return address
+ emitPutToCallFrameHeader(regT3, RegisterFile::ReturnPC);
restoreArgumentReference();
- Call callLazyLinkCall1 = call();
+ Call callLazyLinkCall = call();
restoreReturnAddressBeforeReturn(regT3);
+ emitGetFromCallFrameHeader32(RegisterFile::ArgumentCount, regT1);
jump(regT0);
// VirtualConstructLink Trampoline
// regT0 holds callee, regT1 holds argCount. regT2 will hold the FunctionExecutable.
Label virtualConstructLinkBegin = align();
- loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_executable)), regT2);
-
- Jump isNativeFunc2 = branch32(Equal, Address(regT2, OBJECT_OFFSETOF(FunctionExecutable, m_numParametersForConstruct)), Imm32(0));
-
- Jump hasCodeBlock2 = branch32(GreaterThan, Address(regT2, OBJECT_OFFSETOF(FunctionExecutable, m_numParametersForConstruct)), Imm32(0));
- preserveReturnAddressAfterCall(regT3);
- restoreArgumentReference();
- Call callJSFunction2 = call();
- loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_executable)), regT2);
- emitGetJITStubArg(2, regT1); // argCount
- restoreReturnAddressBeforeReturn(regT3);
- hasCodeBlock2.link(this);
-
- // Check argCount matches callee arity.
- Jump arityCheckOkay2 = branch32(Equal, Address(regT2, OBJECT_OFFSETOF(FunctionExecutable, m_numParametersForConstruct)), regT1);
- preserveReturnAddressAfterCall(regT3);
- emitPutJITStubArg(regT3, 1); // return address
- restoreArgumentReference();
- Call callArityCheck2 = call();
- move(regT1, callFrameRegister);
- emitGetJITStubArg(2, regT1); // argCount
- restoreReturnAddressBeforeReturn(regT3);
- arityCheckOkay2.link(this);
-
- isNativeFunc2.link(this);
-
compileOpCallInitializeCallFrame();
preserveReturnAddressAfterCall(regT3);
- emitPutJITStubArg(regT3, 1); // return address
+ emitPutToCallFrameHeader(regT3, RegisterFile::ReturnPC);
restoreArgumentReference();
- Call callLazyLinkCall2 = call();
+ Call callLazyLinkConstruct = call();
restoreReturnAddressBeforeReturn(regT3);
+ emitGetFromCallFrameHeader32(RegisterFile::ArgumentCount, regT1);
jump(regT0);
// VirtualCall Trampoline
// regT0 holds callee, regT1 holds argCount. regT2 will hold the FunctionExecutable.
Label virtualCallBegin = align();
- loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_executable)), regT2);
+ compileOpCallInitializeCallFrame();
- Jump isNativeFunc3 = branch32(Equal, Address(regT2, OBJECT_OFFSETOF(FunctionExecutable, m_numParametersForCall)), Imm32(0));
+ loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_executable)), regT2);
- Jump hasCodeBlock3 = branch32(GreaterThan, Address(regT2, OBJECT_OFFSETOF(FunctionExecutable, m_numParametersForCall)), Imm32(0));
+ Jump hasCodeBlock3 = branch32(GreaterThanOrEqual, Address(regT2, OBJECT_OFFSETOF(FunctionExecutable, m_numParametersForCall)), Imm32(0));
preserveReturnAddressAfterCall(regT3);
restoreArgumentReference();
- Call callJSFunction3 = call();
- emitGetJITStubArg(2, regT1); // argCount
+ Call callCompileCall = call();
+ emitGetFromCallFrameHeader32(RegisterFile::ArgumentCount, regT1);
restoreReturnAddressBeforeReturn(regT3);
loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_executable)), regT2);
hasCodeBlock3.link(this);
-
- // Check argCount matches callee arity.
- Jump arityCheckOkay3 = branch32(Equal, Address(regT2, OBJECT_OFFSETOF(FunctionExecutable, m_numParametersForCall)), regT1);
- preserveReturnAddressAfterCall(regT3);
- emitPutJITStubArg(regT3, 1); // return address
- restoreArgumentReference();
- Call callArityCheck3 = call();
- move(regT1, callFrameRegister);
- emitGetJITStubArg(2, regT1); // argCount
- restoreReturnAddressBeforeReturn(regT3);
- loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_executable)), regT2);
- arityCheckOkay3.link(this);
-
- isNativeFunc3.link(this);
- compileOpCallInitializeCallFrame();
- loadPtr(Address(regT2, OBJECT_OFFSETOF(FunctionExecutable, m_jitCodeForCall)), regT0);
+ loadPtr(Address(regT2, OBJECT_OFFSETOF(FunctionExecutable, m_jitCodeForCallWithArityCheck)), regT0);
jump(regT0);
// VirtualConstruct Trampoline
// regT0 holds callee, regT1 holds argCount. regT2 will hold the FunctionExecutable.
Label virtualConstructBegin = align();
- loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_executable)), regT2);
+ compileOpCallInitializeCallFrame();
- Jump isNativeFunc4 = branch32(Equal, Address(regT2, OBJECT_OFFSETOF(FunctionExecutable, m_numParametersForConstruct)), Imm32(0));
+ loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_executable)), regT2);
- Jump hasCodeBlock4 = branch32(GreaterThan, Address(regT2, OBJECT_OFFSETOF(FunctionExecutable, m_numParametersForConstruct)), Imm32(0));
+ Jump hasCodeBlock4 = branch32(GreaterThanOrEqual, Address(regT2, OBJECT_OFFSETOF(FunctionExecutable, m_numParametersForConstruct)), Imm32(0));
preserveReturnAddressAfterCall(regT3);
restoreArgumentReference();
- Call callJSFunction4 = call();
- emitGetJITStubArg(2, regT1); // argCount
+ Call callCompileConstruct = call();
+ emitGetFromCallFrameHeader32(RegisterFile::ArgumentCount, regT1);
restoreReturnAddressBeforeReturn(regT3);
loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_executable)), regT2);
hasCodeBlock4.link(this);
-
- // Check argCount matches callee arity.
- Jump arityCheckOkay4 = branch32(Equal, Address(regT2, OBJECT_OFFSETOF(FunctionExecutable, m_numParametersForConstruct)), regT1);
- preserveReturnAddressAfterCall(regT3);
- emitPutJITStubArg(regT3, 1); // return address
- restoreArgumentReference();
- Call callArityCheck4 = call();
- move(regT1, callFrameRegister);
- emitGetJITStubArg(2, regT1); // argCount
- restoreReturnAddressBeforeReturn(regT3);
- loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_executable)), regT2);
- arityCheckOkay4.link(this);
-
- isNativeFunc4.link(this);
- compileOpCallInitializeCallFrame();
- loadPtr(Address(regT2, OBJECT_OFFSETOF(FunctionExecutable, m_jitCodeForConstruct)), regT0);
+ loadPtr(Address(regT2, OBJECT_OFFSETOF(FunctionExecutable, m_jitCodeForConstructWithArityCheck)), regT0);
jump(regT0);
- // NativCall Trampoline
- Label nativeCallThunk = align();
- preserveReturnAddressAfterCall(regT0);
- emitPutToCallFrameHeader(regT0, RegisterFile::ReturnPC); // Push return address
-
- // Load caller frame's scope chain into this callframe so that whatever we call can
- // get to its global data.
- emitGetFromCallFrameHeaderPtr(RegisterFile::CallerFrame, regT1);
- emitGetFromCallFrameHeaderPtr(RegisterFile::ScopeChain, regT1, regT1);
- emitPutToCallFrameHeader(regT1, RegisterFile::ScopeChain);
-
-
-#if CPU(X86_64)
- emitGetFromCallFrameHeader32(RegisterFile::ArgumentCount, X86Registers::ecx);
-
- // Allocate stack space for our arglist
- subPtr(Imm32(sizeof(ArgList)), stackPointerRegister);
- COMPILE_ASSERT((sizeof(ArgList) & 0xf) == 0, ArgList_should_by_16byte_aligned);
-
- // Set up arguments
- subPtr(Imm32(1), X86Registers::ecx); // Don't include 'this' in argcount
-
- // Push argcount
- storePtr(X86Registers::ecx, Address(stackPointerRegister, OBJECT_OFFSETOF(ArgList, m_argCount)));
-
- // Calculate the start of the callframe header, and store in edx
- addPtr(Imm32(-RegisterFile::CallFrameHeaderSize * (int32_t)sizeof(Register)), callFrameRegister, X86Registers::edx);
-
- // Calculate start of arguments as callframe header - sizeof(Register) * argcount (ecx)
- mul32(Imm32(sizeof(Register)), X86Registers::ecx, X86Registers::ecx);
- subPtr(X86Registers::ecx, X86Registers::edx);
-
- // push pointer to arguments
- storePtr(X86Registers::edx, Address(stackPointerRegister, OBJECT_OFFSETOF(ArgList, m_args)));
-
- // ArgList is passed by reference so is stackPointerRegister
- move(stackPointerRegister, X86Registers::ecx);
-
- // edx currently points to the first argument, edx-sizeof(Register) points to 'this'
- loadPtr(Address(X86Registers::edx, -(int32_t)sizeof(Register)), X86Registers::edx);
-
- emitGetFromCallFrameHeaderPtr(RegisterFile::Callee, X86Registers::esi);
-
- move(callFrameRegister, X86Registers::edi);
+ // NativeCall Trampoline
+ Label nativeCallThunk = privateCompileCTINativeCall(globalData);
+ Label nativeConstructThunk = privateCompileCTINativeCall(globalData, true);
- loadPtr(Address(X86Registers::esi, OBJECT_OFFSETOF(JSFunction, m_executable)), X86Registers::r9);
- call(Address(X86Registers::r9, OBJECT_OFFSETOF(NativeExecutable, m_function)));
-
- addPtr(Imm32(sizeof(ArgList)), stackPointerRegister);
-#elif CPU(X86)
- emitGetFromCallFrameHeader32(RegisterFile::ArgumentCount, regT0);
-
- /* We have two structs that we use to describe the stackframe we set up for our
- * call to native code. NativeCallFrameStructure describes the how we set up the stack
- * in advance of the call. NativeFunctionCalleeSignature describes the callframe
- * as the native code expects it. We do this as we are using the fastcall calling
- * convention which results in the callee popping its arguments off the stack, but
- * not the rest of the callframe so we need a nice way to ensure we increment the
- * stack pointer by the right amount after the call.
- */
-#if COMPILER(MSVC) || OS(LINUX)
- struct NativeCallFrameStructure {
- // CallFrame* callFrame; // passed in EDX
- JSObject* callee;
- JSValue thisValue;
- ArgList* argPointer;
- ArgList args;
- JSValue result;
- };
- struct NativeFunctionCalleeSignature {
- JSObject* callee;
- JSValue thisValue;
- ArgList* argPointer;
- };
-#else
- struct NativeCallFrameStructure {
- // CallFrame* callFrame; // passed in ECX
- // JSObject* callee; // passed in EDX
- JSValue thisValue;
- ArgList* argPointer;
- ArgList args;
- };
- struct NativeFunctionCalleeSignature {
- JSValue thisValue;
- ArgList* argPointer;
- };
+#if ENABLE(JIT_OPTIMIZE_PROPERTY_ACCESS)
+ Call string_failureCases1Call = makeTailRecursiveCall(string_failureCases1);
+ Call string_failureCases2Call = makeTailRecursiveCall(string_failureCases2);
+ Call string_failureCases3Call = makeTailRecursiveCall(string_failureCases3);
#endif
- const int NativeCallFrameSize = (sizeof(NativeCallFrameStructure) + 15) & ~15;
- // Allocate system stack frame
- subPtr(Imm32(NativeCallFrameSize), stackPointerRegister);
-
- // Set up arguments
- subPtr(Imm32(1), regT0); // Don't include 'this' in argcount
-
- // push argcount
- storePtr(regT0, Address(stackPointerRegister, OBJECT_OFFSETOF(NativeCallFrameStructure, args) + OBJECT_OFFSETOF(ArgList, m_argCount)));
-
- // Calculate the start of the callframe header, and store in regT1
- addPtr(Imm32(-RegisterFile::CallFrameHeaderSize * (int)sizeof(Register)), callFrameRegister, regT1);
-
- // Calculate start of arguments as callframe header - sizeof(Register) * argcount (regT0)
- mul32(Imm32(sizeof(Register)), regT0, regT0);
- subPtr(regT0, regT1);
- storePtr(regT1, Address(stackPointerRegister, OBJECT_OFFSETOF(NativeCallFrameStructure, args) + OBJECT_OFFSETOF(ArgList, m_args)));
-
- // ArgList is passed by reference so is stackPointerRegister + 4 * sizeof(Register)
- addPtr(Imm32(OBJECT_OFFSETOF(NativeCallFrameStructure, args)), stackPointerRegister, regT0);
- storePtr(regT0, Address(stackPointerRegister, OBJECT_OFFSETOF(NativeCallFrameStructure, argPointer)));
- // regT1 currently points to the first argument, regT1 - sizeof(Register) points to 'this'
- loadPtr(Address(regT1, -(int)sizeof(Register)), regT1);
- storePtr(regT1, Address(stackPointerRegister, OBJECT_OFFSETOF(NativeCallFrameStructure, thisValue)));
-
-#if COMPILER(MSVC) || OS(LINUX)
- // ArgList is passed by reference so is stackPointerRegister + 4 * sizeof(Register)
- addPtr(Imm32(OBJECT_OFFSETOF(NativeCallFrameStructure, result)), stackPointerRegister, X86Registers::ecx);
-
- // Plant callee
- emitGetFromCallFrameHeaderPtr(RegisterFile::Callee, X86Registers::eax);
- storePtr(X86Registers::eax, Address(stackPointerRegister, OBJECT_OFFSETOF(NativeCallFrameStructure, callee)));
-
- // Plant callframe
- move(callFrameRegister, X86Registers::edx);
-
- loadPtr(Address(X86Registers::eax, OBJECT_OFFSETOF(JSFunction, m_executable)), X86Registers::ebx);
- call(Address(X86Registers::ebx, OBJECT_OFFSETOF(NativeExecutable, m_function)));
-
- // JSValue is a non-POD type
- loadPtr(Address(X86Registers::eax), X86Registers::eax);
-#else
- // Plant callee
- emitGetFromCallFrameHeaderPtr(RegisterFile::Callee, X86Registers::edx);
+ // All trampolines constructed! copy the code, link up calls, and set the pointers on the Machine object.
+ LinkBuffer patchBuffer(this, m_globalData->executableAllocator.poolForSize(m_assembler.size()));
- // Plant callframe
- move(callFrameRegister, X86Registers::ecx);
- loadPtr(Address(X86Registers::edx, OBJECT_OFFSETOF(JSFunction, m_executable)), X86Registers::ebx);
- call(Address(X86Registers::ebx, OBJECT_OFFSETOF(NativeExecutable, m_function)));
+#if ENABLE(JIT_OPTIMIZE_PROPERTY_ACCESS)
+ patchBuffer.link(string_failureCases1Call, FunctionPtr(cti_op_get_by_id_string_fail));
+ patchBuffer.link(string_failureCases2Call, FunctionPtr(cti_op_get_by_id_string_fail));
+ patchBuffer.link(string_failureCases3Call, FunctionPtr(cti_op_get_by_id_string_fail));
#endif
+#if ENABLE(JIT_OPTIMIZE_CALL)
+ patchBuffer.link(callLazyLinkCall, FunctionPtr(cti_vm_lazyLinkCall));
+ patchBuffer.link(callLazyLinkConstruct, FunctionPtr(cti_vm_lazyLinkConstruct));
+#endif
+ patchBuffer.link(callCompileCall, FunctionPtr(cti_op_call_jitCompile));
+ patchBuffer.link(callCompileConstruct, FunctionPtr(cti_op_construct_jitCompile));
- // We've put a few temporaries on the stack in addition to the actual arguments
- // so pull them off now
- addPtr(Imm32(NativeCallFrameSize - sizeof(NativeFunctionCalleeSignature)), stackPointerRegister);
-
-#elif CPU(ARM)
- emitGetFromCallFrameHeader32(RegisterFile::ArgumentCount, regT0);
-
- // Allocate stack space for our arglist
- COMPILE_ASSERT((sizeof(ArgList) & 0x7) == 0, ArgList_should_by_8byte_aligned);
- subPtr(Imm32(sizeof(ArgList)), stackPointerRegister);
-
- // Set up arguments
- subPtr(Imm32(1), regT0); // Don't include 'this' in argcount
-
- // Push argcount
- storePtr(regT0, Address(stackPointerRegister, OBJECT_OFFSETOF(ArgList, m_argCount)));
-
- // Calculate the start of the callframe header, and store in regT1
- move(callFrameRegister, regT1);
- sub32(Imm32(RegisterFile::CallFrameHeaderSize * (int32_t)sizeof(Register)), regT1);
-
- // Calculate start of arguments as callframe header - sizeof(Register) * argcount (regT1)
- mul32(Imm32(sizeof(Register)), regT0, regT0);
- subPtr(regT0, regT1);
-
- // push pointer to arguments
- storePtr(regT1, Address(stackPointerRegister, OBJECT_OFFSETOF(ArgList, m_args)));
-
- // regT1 currently points to the first argument, regT1-sizeof(Register) points to 'this'
-
-#if OS(WINCE)
- // Setup arg3:
- loadPtr(Address(regT1, -(int32_t)sizeof(Register)), ARMRegisters::r3);
-
- // Setup arg2:
- emitGetFromCallFrameHeaderPtr(RegisterFile::Callee, regT2);
-
- // Setup arg1:
- move(callFrameRegister, regT1);
-
- // Setup arg0:
- move(stackPointerRegister, regT0);
- subPtr(Imm32(sizeof(Register)), stackPointerRegister);
- storePtr(regT0, Address(stackPointerRegister));
-
- loadPtr(Address(regT2, OBJECT_OFFSETOF(JSFunction, m_executable)), regT3);
- call(Address(regT3, OBJECT_OFFSETOF(NativeExecutable, m_function)));
-
- loadPtr(Address(regT0), regT0);
-
- addPtr(Imm32(sizeof(Register) + sizeof(ArgList)), stackPointerRegister);
-#else // OS(WINCE)
- // Setup arg3:
- loadPtr(Address(regT1, -(int32_t)sizeof(Register)), regT2);
-
- // Setup arg2:
- emitGetFromCallFrameHeaderPtr(RegisterFile::Callee, regT1);
-
- // Setup arg1:
- move(callFrameRegister, regT0);
-
- // Setup arg4: This is a plain hack
- move(stackPointerRegister, ARMRegisters::r3);
-
- loadPtr(Address(regT1, OBJECT_OFFSETOF(JSFunction, m_executable)), regT3);
- call(Address(regT3, OBJECT_OFFSETOF(NativeExecutable, m_function)));
-
- addPtr(Imm32(sizeof(ArgList)), stackPointerRegister);
-#endif // OS(WINCE)
-
-#elif CPU(MIPS)
- emitGetFromCallFrameHeader32(RegisterFile::ArgumentCount, regT0);
-
- // Allocate stack space for our arglist
- COMPILE_ASSERT(!(sizeof(ArgList) & 0x7), ArgList_should_by_8byte_aligned);
- subPtr(Imm32(sizeof(ArgList) + 24), stackPointerRegister);
-
- // Set up arguments
- subPtr(Imm32(1), regT0); // Don't include 'this' in argcount
-
- // Push argcount to 24 + offset($sp)
- storePtr(regT0, Address(stackPointerRegister, 24 + OBJECT_OFFSETOF(ArgList, m_argCount)));
-
- // Calculate the start of the callframe header, and store in regT1
- move(callFrameRegister, regT1);
- sub32(Imm32(RegisterFile::CallFrameHeaderSize * (int32_t)sizeof(Register)), regT1);
-
- // Calculate start of arguments as callframe header - sizeof(Register) * argcount (regT1)
- mul32(Imm32(sizeof(Register)), regT0, regT0);
- subPtr(regT0, regT1);
+ CodeRef finalCode = patchBuffer.finalizeCode();
+ *executablePool = finalCode.m_executablePool;
- // push pointer to arguments to 24 + offset($sp)
- storePtr(regT1, Address(stackPointerRegister, 24 + OBJECT_OFFSETOF(ArgList, m_args)));
+ trampolines->ctiVirtualCallLink = trampolineAt(finalCode, virtualCallLinkBegin);
+ trampolines->ctiVirtualConstructLink = trampolineAt(finalCode, virtualConstructLinkBegin);
+ trampolines->ctiVirtualCall = trampolineAt(finalCode, virtualCallBegin);
+ trampolines->ctiVirtualConstruct = trampolineAt(finalCode, virtualConstructBegin);
+ trampolines->ctiNativeCall = trampolineAt(finalCode, nativeCallThunk);
+ trampolines->ctiNativeConstruct = trampolineAt(finalCode, nativeConstructThunk);
+#if ENABLE(JIT_OPTIMIZE_MOD)
+ trampolines->ctiSoftModulo = trampolineAt(finalCode, softModBegin);
+#endif
+#if ENABLE(JIT_OPTIMIZE_PROPERTY_ACCESS)
+ trampolines->ctiStringLengthTrampoline = trampolineAt(finalCode, stringLengthBegin);
+#endif
+}
- // Setup arg3: regT1 currently points to the first argument, regT1-sizeof(Register) points to 'this'
- loadPtr(Address(regT1, -(int32_t)sizeof(Register)), MIPSRegisters::a3);
+JIT::Label JIT::privateCompileCTINativeCall(JSGlobalData* globalData, bool isConstruct)
+{
+ int executableOffsetToFunction = isConstruct ? OBJECT_OFFSETOF(NativeExecutable, m_constructor) : OBJECT_OFFSETOF(NativeExecutable, m_function);
- // Setup arg2:
- emitGetFromCallFrameHeaderPtr(RegisterFile::Callee, MIPSRegisters::a2);
+ Label nativeCallThunk = align();
- // Setup arg1:
- move(callFrameRegister, MIPSRegisters::a1);
+ // Load caller frame's scope chain into this callframe so that whatever we call can
+ // get to its global data.
+ emitGetFromCallFrameHeaderPtr(RegisterFile::CallerFrame, regT0);
+ emitGetFromCallFrameHeaderPtr(RegisterFile::ScopeChain, regT1, regT0);
+ emitPutToCallFrameHeader(regT1, RegisterFile::ScopeChain);
- // Setup arg4: ArgList is passed by reference. At 16($sp), store ($sp + 24)
- addPtr(Imm32(24), stackPointerRegister, regT2);
- storePtr(regT2, Address(stackPointerRegister, 16));
+ peek(regT1);
+ emitPutToCallFrameHeader(regT1, RegisterFile::ReturnPC);
- // Setup arg0 as 20($sp) to hold the returned structure.
- ASSERT(sizeof(JSValue) == 4);
- addPtr(Imm32(20), stackPointerRegister, MIPSRegisters::a0);
+#if CPU(X86_64)
+ // Calling convention: f(edi, esi, edx, ecx, ...);
+ // Host function signature: f(ExecState*);
+ move(callFrameRegister, X86Registers::edi);
- // Call
- loadPtr(Address(MIPSRegisters::a2, OBJECT_OFFSETOF(JSFunction, m_executable)), regT2);
- call(Address(regT2, OBJECT_OFFSETOF(NativeExecutable, m_function)));
+ subPtr(Imm32(16 - sizeof(void*)), stackPointerRegister); // Align stack after call.
- // Get returned value from 0($v0) which is the same as 20($sp)
- loadPtr(Address(returnValueRegister, 0), returnValueRegister);
+ emitGetFromCallFrameHeaderPtr(RegisterFile::Callee, X86Registers::esi);
+ loadPtr(Address(X86Registers::esi, OBJECT_OFFSETOF(JSFunction, m_executable)), X86Registers::r9);
+ move(regT0, callFrameRegister); // Eagerly restore caller frame register to avoid loading from stack.
+ call(Address(X86Registers::r9, executableOffsetToFunction));
- // Restore stack space
- addPtr(Imm32(sizeof(ArgList) + 24), stackPointerRegister);
+ addPtr(Imm32(16 - sizeof(void*)), stackPointerRegister);
#elif ENABLE(JIT_OPTIMIZE_NATIVE_CALL)
#error "JIT_OPTIMIZE_NATIVE_CALL not yet supported on this platform."
@@ -483,70 +214,20 @@ void JIT::privateCompileCTIMachineTrampolines(RefPtr<ExecutablePool>* executable
loadPtr(&(globalData->exception), regT2);
Jump exceptionHandler = branchTestPtr(NonZero, regT2);
- // Grab the return address.
- emitGetFromCallFrameHeaderPtr(RegisterFile::ReturnPC, regT1);
-
- // Restore our caller's "r".
- emitGetFromCallFrameHeaderPtr(RegisterFile::CallerFrame, callFrameRegister);
-
// Return.
- restoreReturnAddressBeforeReturn(regT1);
ret();
// Handle an exception
exceptionHandler.link(this);
// Grab the return address.
- emitGetFromCallFrameHeaderPtr(RegisterFile::ReturnPC, regT1);
+ peek(regT1);
move(ImmPtr(&globalData->exceptionLocation), regT2);
storePtr(regT1, regT2);
- move(ImmPtr(FunctionPtr(ctiVMThrowTrampoline).value()), regT2);
- emitGetFromCallFrameHeaderPtr(RegisterFile::CallerFrame, callFrameRegister);
- poke(callFrameRegister, OBJECT_OFFSETOF(struct JITStackFrame, callFrame) / sizeof (void*));
- restoreReturnAddressBeforeReturn(regT2);
+ poke(callFrameRegister, 1 + OBJECT_OFFSETOF(struct JITStackFrame, callFrame) / sizeof (void*));
+ poke(ImmPtr(FunctionPtr(ctiVMThrowTrampoline).value()));
ret();
-
-
-#if ENABLE(JIT_OPTIMIZE_PROPERTY_ACCESS)
- Call string_failureCases1Call = makeTailRecursiveCall(string_failureCases1);
- Call string_failureCases2Call = makeTailRecursiveCall(string_failureCases2);
- Call string_failureCases3Call = makeTailRecursiveCall(string_failureCases3);
-#endif
-
- // All trampolines constructed! copy the code, link up calls, and set the pointers on the Machine object.
- LinkBuffer patchBuffer(this, m_globalData->executableAllocator.poolForSize(m_assembler.size()));
-
-#if ENABLE(JIT_OPTIMIZE_PROPERTY_ACCESS)
- patchBuffer.link(string_failureCases1Call, FunctionPtr(cti_op_get_by_id_string_fail));
- patchBuffer.link(string_failureCases2Call, FunctionPtr(cti_op_get_by_id_string_fail));
- patchBuffer.link(string_failureCases3Call, FunctionPtr(cti_op_get_by_id_string_fail));
-#endif
-#if ENABLE(JIT_OPTIMIZE_CALL)
- patchBuffer.link(callArityCheck1, FunctionPtr(cti_op_call_arityCheck));
- patchBuffer.link(callJSFunction1, FunctionPtr(cti_op_call_jitCompile));
- patchBuffer.link(callLazyLinkCall1, FunctionPtr(cti_vm_lazyLinkCall));
- patchBuffer.link(callArityCheck2, FunctionPtr(cti_op_construct_arityCheck));
- patchBuffer.link(callJSFunction2, FunctionPtr(cti_op_construct_jitCompile));
- patchBuffer.link(callLazyLinkCall2, FunctionPtr(cti_vm_lazyLinkConstruct));
-#endif
- patchBuffer.link(callArityCheck3, FunctionPtr(cti_op_call_arityCheck));
- patchBuffer.link(callJSFunction3, FunctionPtr(cti_op_call_jitCompile));
- patchBuffer.link(callArityCheck4, FunctionPtr(cti_op_construct_arityCheck));
- patchBuffer.link(callJSFunction4, FunctionPtr(cti_op_construct_jitCompile));
-
- CodeRef finalCode = patchBuffer.finalizeCode();
- *executablePool = finalCode.m_executablePool;
- trampolines->ctiVirtualCallLink = trampolineAt(finalCode, virtualCallLinkBegin);
- trampolines->ctiVirtualConstructLink = trampolineAt(finalCode, virtualConstructLinkBegin);
- trampolines->ctiVirtualCall = trampolineAt(finalCode, virtualCallBegin);
- trampolines->ctiVirtualConstruct = trampolineAt(finalCode, virtualConstructBegin);
- trampolines->ctiNativeCall = trampolineAt(finalCode, nativeCallThunk);
-#if ENABLE(JIT_OPTIMIZE_MOD)
- trampolines->ctiSoftModulo = trampolineAt(finalCode, softModBegin);
-#endif
-#if ENABLE(JIT_OPTIMIZE_PROPERTY_ACCESS)
- trampolines->ctiStringLengthTrampoline = trampolineAt(finalCode, stringLengthBegin);
-#endif
+ return nativeCallThunk;
}
JIT::CodePtr JIT::privateCompileCTINativeCall(PassRefPtr<ExecutablePool>, JSGlobalData* globalData, NativeFunction)
@@ -1430,7 +1111,6 @@ void JIT::emit_op_neq_null(Instruction* currentInstruction)
emitTagAsBoolImmediate(regT0);
emitPutVirtualRegister(dst);
-
}
void JIT::emit_op_enter(Instruction*)
@@ -1485,7 +1165,20 @@ void JIT::emit_op_convert_this(Instruction* currentInstruction)
emitJumpSlowCaseIfNotJSCell(regT0);
loadPtr(Address(regT0, OBJECT_OFFSETOF(JSCell, m_structure)), regT1);
addSlowCase(branchTest8(NonZero, Address(regT1, OBJECT_OFFSETOF(Structure, m_typeInfo.m_flags)), Imm32(NeedsThisConversion)));
+}
+void JIT::emit_op_get_callee(Instruction* currentInstruction)
+{
+ unsigned result = currentInstruction[1].u.operand;
+ emitGetFromCallFrameHeaderPtr(RegisterFile::Callee, regT0);
+ emitPutVirtualRegister(result);
+}
+
+void JIT::emit_op_create_this(Instruction* currentInstruction)
+{
+ JITStubCall stubCall(this, cti_op_create_this);
+ stubCall.addArgument(currentInstruction[2].u.operand, regT1);
+ stubCall.call(currentInstruction[1].u.operand);
}
void JIT::emit_op_profile_will_call(Instruction* currentInstruction)
diff --git a/JavaScriptCore/jit/JITOpcodes32_64.cpp b/JavaScriptCore/jit/JITOpcodes32_64.cpp
index b814801..a730b67 100644
--- a/JavaScriptCore/jit/JITOpcodes32_64.cpp
+++ b/JavaScriptCore/jit/JITOpcodes32_64.cpp
@@ -71,383 +71,69 @@ void JIT::privateCompileCTIMachineTrampolines(RefPtr<ExecutablePool>* executable
// VirtualCallLink Trampoline
// regT0 holds callee, regT1 holds argCount. regT2 will hold the FunctionExecutable.
Label virtualCallLinkBegin = align();
- loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_executable)), regT2);
-
- Jump isNativeFunc1 = branch32(Equal, Address(regT2, OBJECT_OFFSETOF(FunctionExecutable, m_numParametersForCall)), Imm32(0));
-
- Jump hasCodeBlock1 = branch32(GreaterThan, Address(regT2, OBJECT_OFFSETOF(FunctionExecutable, m_numParametersForCall)), Imm32(0));
- preserveReturnAddressAfterCall(regT3);
- restoreArgumentReference();
- Call callJSFunction1 = call();
- loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_executable)), regT2);
- emitGetJITStubArg(2, regT1); // argCount
- restoreReturnAddressBeforeReturn(regT3);
- hasCodeBlock1.link(this);
-
- // Check argCount matches callee arity.
- Jump arityCheckOkay1 = branch32(Equal, Address(regT2, OBJECT_OFFSETOF(FunctionExecutable, m_numParametersForCall)), regT1);
- preserveReturnAddressAfterCall(regT3);
- emitPutJITStubArg(regT3, 1); // return address
- restoreArgumentReference();
- Call callArityCheck1 = call();
- move(regT1, callFrameRegister);
- emitGetJITStubArg(2, regT1); // argCount
- restoreReturnAddressBeforeReturn(regT3);
- arityCheckOkay1.link(this);
-
- isNativeFunc1.link(this);
-
compileOpCallInitializeCallFrame();
-
preserveReturnAddressAfterCall(regT3);
- emitPutJITStubArg(regT3, 1); // return address
+ emitPutToCallFrameHeader(regT3, RegisterFile::ReturnPC);
restoreArgumentReference();
- Call callLazyLinkCall1 = call();
+ Call callLazyLinkCall = call();
restoreReturnAddressBeforeReturn(regT3);
+ emitGetFromCallFrameHeader32(RegisterFile::ArgumentCount, regT1);
jump(regT0);
// VirtualConstructLink Trampoline
// regT0 holds callee, regT1 holds argCount. regT2 will hold the FunctionExecutable.
Label virtualConstructLinkBegin = align();
- loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_executable)), regT2);
-
- Jump isNativeFunc2 = branch32(Equal, Address(regT2, OBJECT_OFFSETOF(FunctionExecutable, m_numParametersForConstruct)), Imm32(0));
-
- Jump hasCodeBlock2 = branch32(GreaterThan, Address(regT2, OBJECT_OFFSETOF(FunctionExecutable, m_numParametersForConstruct)), Imm32(0));
- preserveReturnAddressAfterCall(regT3);
- restoreArgumentReference();
- Call callJSFunction2 = call();
- loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_executable)), regT2);
- emitGetJITStubArg(2, regT1); // argCount
- restoreReturnAddressBeforeReturn(regT3);
- hasCodeBlock2.link(this);
-
- // Check argCount matches callee arity.
- Jump arityCheckOkay2 = branch32(Equal, Address(regT2, OBJECT_OFFSETOF(FunctionExecutable, m_numParametersForConstruct)), regT1);
- preserveReturnAddressAfterCall(regT3);
- emitPutJITStubArg(regT3, 1); // return address
- restoreArgumentReference();
- Call callArityCheck2 = call();
- move(regT1, callFrameRegister);
- emitGetJITStubArg(2, regT1); // argCount
- restoreReturnAddressBeforeReturn(regT3);
- arityCheckOkay2.link(this);
-
- isNativeFunc2.link(this);
-
compileOpCallInitializeCallFrame();
-
preserveReturnAddressAfterCall(regT3);
- emitPutJITStubArg(regT3, 1); // return address
+ emitPutToCallFrameHeader(regT3, RegisterFile::ReturnPC);
restoreArgumentReference();
- Call callLazyLinkCall2 = call();
+ Call callLazyLinkConstruct = call();
restoreReturnAddressBeforeReturn(regT3);
+ emitGetFromCallFrameHeader32(RegisterFile::ArgumentCount, regT1);
jump(regT0);
#endif // ENABLE(JIT_OPTIMIZE_CALL)
// VirtualCall Trampoline
// regT0 holds callee, regT1 holds argCount. regT2 will hold the FunctionExecutable.
Label virtualCallBegin = align();
- loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_executable)), regT2);
-
- Jump isNativeFunc3 = branch32(Equal, Address(regT2, OBJECT_OFFSETOF(FunctionExecutable, m_numParametersForCall)), Imm32(0));
+ compileOpCallInitializeCallFrame();
- Jump hasCodeBlock3 = branch32(GreaterThan, Address(regT2, OBJECT_OFFSETOF(FunctionExecutable, m_numParametersForCall)), Imm32(0));
- preserveReturnAddressAfterCall(regT3);
- restoreArgumentReference();
- Call callJSFunction3 = call();
- emitGetJITStubArg(2, regT1); // argCount
- restoreReturnAddressBeforeReturn(regT3);
loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_executable)), regT2);
- hasCodeBlock3.link(this);
- // Check argCount matches callee arity.
- Jump arityCheckOkay3 = branch32(Equal, Address(regT2, OBJECT_OFFSETOF(FunctionExecutable, m_numParametersForCall)), regT1);
+ Jump hasCodeBlock3 = branch32(GreaterThanOrEqual, Address(regT2, OBJECT_OFFSETOF(FunctionExecutable, m_numParametersForCall)), Imm32(0));
preserveReturnAddressAfterCall(regT3);
- emitPutJITStubArg(regT3, 1); // return address
restoreArgumentReference();
- Call callArityCheck3 = call();
- move(regT1, callFrameRegister);
- emitGetJITStubArg(2, regT1); // argCount
+ Call callCompileCall = call();
+ emitGetFromCallFrameHeader32(RegisterFile::ArgumentCount, regT1);
restoreReturnAddressBeforeReturn(regT3);
loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_executable)), regT2);
- arityCheckOkay3.link(this);
-
- isNativeFunc3.link(this);
+ hasCodeBlock3.link(this);
- compileOpCallInitializeCallFrame();
- loadPtr(Address(regT2, OBJECT_OFFSETOF(FunctionExecutable, m_jitCodeForCall)), regT0);
+ loadPtr(Address(regT2, OBJECT_OFFSETOF(FunctionExecutable, m_jitCodeForCallWithArityCheck)), regT0);
jump(regT0);
// VirtualConstruct Trampoline
// regT0 holds callee, regT1 holds argCount. regT2 will hold the FunctionExecutable.
Label virtualConstructBegin = align();
- loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_executable)), regT2);
-
- Jump isNativeFunc4 = branch32(Equal, Address(regT2, OBJECT_OFFSETOF(FunctionExecutable, m_numParametersForConstruct)), Imm32(0));
+ compileOpCallInitializeCallFrame();
- Jump hasCodeBlock4 = branch32(GreaterThan, Address(regT2, OBJECT_OFFSETOF(FunctionExecutable, m_numParametersForConstruct)), Imm32(0));
- preserveReturnAddressAfterCall(regT3);
- restoreArgumentReference();
- Call callJSFunction4 = call();
- emitGetJITStubArg(2, regT1); // argCount
- restoreReturnAddressBeforeReturn(regT3);
loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_executable)), regT2);
- hasCodeBlock4.link(this);
- // Check argCount matches callee arity.
- Jump arityCheckOkay4 = branch32(Equal, Address(regT2, OBJECT_OFFSETOF(FunctionExecutable, m_numParametersForConstruct)), regT1);
+ Jump hasCodeBlock4 = branch32(GreaterThanOrEqual, Address(regT2, OBJECT_OFFSETOF(FunctionExecutable, m_numParametersForConstruct)), Imm32(0));
preserveReturnAddressAfterCall(regT3);
- emitPutJITStubArg(regT3, 1); // return address
restoreArgumentReference();
- Call callArityCheck4 = call();
- move(regT1, callFrameRegister);
- emitGetJITStubArg(2, regT1); // argCount
+ Call callCompileCconstruct = call();
+ emitGetFromCallFrameHeader32(RegisterFile::ArgumentCount, regT1);
restoreReturnAddressBeforeReturn(regT3);
loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_executable)), regT2);
- arityCheckOkay4.link(this);
-
- isNativeFunc4.link(this);
+ hasCodeBlock4.link(this);
- compileOpCallInitializeCallFrame();
- loadPtr(Address(regT2, OBJECT_OFFSETOF(FunctionExecutable, m_jitCodeForConstruct)), regT0);
+ loadPtr(Address(regT2, OBJECT_OFFSETOF(FunctionExecutable, m_jitCodeForConstructWithArityCheck)), regT0);
jump(regT0);
-#if CPU(X86) || CPU(ARM_TRADITIONAL)
- Label nativeCallThunk = align();
- preserveReturnAddressAfterCall(regT0);
- emitPutToCallFrameHeader(regT0, RegisterFile::ReturnPC); // Push return address
-
- // Load caller frame's scope chain into this callframe so that whatever we call can
- // get to its global data.
- emitGetFromCallFrameHeaderPtr(RegisterFile::CallerFrame, regT1);
- emitGetFromCallFrameHeaderPtr(RegisterFile::ScopeChain, regT1, regT1);
- emitPutToCallFrameHeader(regT1, RegisterFile::ScopeChain);
-
-#if CPU(X86)
- emitGetFromCallFrameHeader32(RegisterFile::ArgumentCount, regT0);
-
- /* We have two structs that we use to describe the stackframe we set up for our
- * call to native code. NativeCallFrameStructure describes the how we set up the stack
- * in advance of the call. NativeFunctionCalleeSignature describes the callframe
- * as the native code expects it. We do this as we are using the fastcall calling
- * convention which results in the callee popping its arguments off the stack, but
- * not the rest of the callframe so we need a nice way to ensure we increment the
- * stack pointer by the right amount after the call.
- */
-
-#if COMPILER(MSVC) || OS(LINUX)
-#if COMPILER(MSVC)
-#pragma pack(push)
-#pragma pack(4)
-#endif // COMPILER(MSVC)
- struct NativeCallFrameStructure {
- // CallFrame* callFrame; // passed in EDX
- JSObject* callee;
- JSValue thisValue;
- ArgList* argPointer;
- ArgList args;
- JSValue result;
- };
- struct NativeFunctionCalleeSignature {
- JSObject* callee;
- JSValue thisValue;
- ArgList* argPointer;
- };
-#if COMPILER(MSVC)
-#pragma pack(pop)
-#endif // COMPILER(MSVC)
-#else
- struct NativeCallFrameStructure {
- // CallFrame* callFrame; // passed in ECX
- // JSObject* callee; // passed in EDX
- JSValue thisValue;
- ArgList* argPointer;
- ArgList args;
- };
- struct NativeFunctionCalleeSignature {
- JSValue thisValue;
- ArgList* argPointer;
- };
-#endif
-
- const int NativeCallFrameSize = (sizeof(NativeCallFrameStructure) + 15) & ~15;
- // Allocate system stack frame
- subPtr(Imm32(NativeCallFrameSize), stackPointerRegister);
-
- // Set up arguments
- subPtr(Imm32(1), regT0); // Don't include 'this' in argcount
-
- // push argcount
- storePtr(regT0, Address(stackPointerRegister, OBJECT_OFFSETOF(NativeCallFrameStructure, args) + OBJECT_OFFSETOF(ArgList, m_argCount)));
-
- // Calculate the start of the callframe header, and store in regT1
- addPtr(Imm32(-RegisterFile::CallFrameHeaderSize * (int)sizeof(Register)), callFrameRegister, regT1);
-
- // Calculate start of arguments as callframe header - sizeof(Register) * argcount (regT0)
- mul32(Imm32(sizeof(Register)), regT0, regT0);
- subPtr(regT0, regT1);
- storePtr(regT1, Address(stackPointerRegister, OBJECT_OFFSETOF(NativeCallFrameStructure, args) + OBJECT_OFFSETOF(ArgList, m_args)));
-
- // ArgList is passed by reference so is stackPointerRegister + 4 * sizeof(Register)
- addPtr(Imm32(OBJECT_OFFSETOF(NativeCallFrameStructure, args)), stackPointerRegister, regT0);
- storePtr(regT0, Address(stackPointerRegister, OBJECT_OFFSETOF(NativeCallFrameStructure, argPointer)));
-
- // regT1 currently points to the first argument, regT1 - sizeof(Register) points to 'this'
- loadPtr(Address(regT1, -(int)sizeof(Register) + OBJECT_OFFSETOF(JSValue, u.asBits.payload)), regT2);
- loadPtr(Address(regT1, -(int)sizeof(Register) + OBJECT_OFFSETOF(JSValue, u.asBits.tag)), regT3);
- storePtr(regT2, Address(stackPointerRegister, OBJECT_OFFSETOF(NativeCallFrameStructure, thisValue) + OBJECT_OFFSETOF(JSValue, u.asBits.payload)));
- storePtr(regT3, Address(stackPointerRegister, OBJECT_OFFSETOF(NativeCallFrameStructure, thisValue) + OBJECT_OFFSETOF(JSValue, u.asBits.tag)));
-
-#if COMPILER(MSVC) || OS(LINUX)
- // ArgList is passed by reference so is stackPointerRegister + 4 * sizeof(Register)
- addPtr(Imm32(OBJECT_OFFSETOF(NativeCallFrameStructure, result)), stackPointerRegister, X86Registers::ecx);
-
- // Plant callee
- emitGetFromCallFrameHeaderPtr(RegisterFile::Callee, X86Registers::eax);
- storePtr(X86Registers::eax, Address(stackPointerRegister, OBJECT_OFFSETOF(NativeCallFrameStructure, callee)));
-
- // Plant callframe
- move(callFrameRegister, X86Registers::edx);
-
- loadPtr(Address(X86Registers::eax, OBJECT_OFFSETOF(JSFunction, m_executable)), X86Registers::ebx);
- call(Address(X86Registers::ebx, OBJECT_OFFSETOF(NativeExecutable, m_function)));
-
- // JSValue is a non-POD type, so eax points to it
- emitLoad(0, regT1, regT0, X86Registers::eax);
-#else
- emitGetFromCallFrameHeaderPtr(RegisterFile::Callee, X86Registers::edx); // callee
- move(callFrameRegister, X86Registers::ecx); // callFrame
- loadPtr(Address(X86Registers::edx, OBJECT_OFFSETOF(JSFunction, m_executable)), X86Registers::ebx);
- call(Address(X86Registers::ebx, OBJECT_OFFSETOF(NativeExecutable, m_function)));
-#endif
-
- // We've put a few temporaries on the stack in addition to the actual arguments
- // so pull them off now
- addPtr(Imm32(NativeCallFrameSize - sizeof(NativeFunctionCalleeSignature)), stackPointerRegister);
-
-#elif CPU(ARM_TRADITIONAL)
- emitGetFromCallFrameHeader32(RegisterFile::ArgumentCount, regT0);
-
- // Allocate stack space for our arglist
- COMPILE_ASSERT((sizeof(ArgList) & 0x7) == 0 && sizeof(JSValue) == 8 && sizeof(Register) == 8, ArgList_should_by_8byte_aligned);
- subPtr(Imm32(sizeof(ArgList)), stackPointerRegister);
-
- // Set up arguments
- subPtr(Imm32(1), regT0); // Don't include 'this' in argcount
-
- // Push argcount
- storePtr(regT0, Address(stackPointerRegister, OBJECT_OFFSETOF(ArgList, m_argCount)));
-
- // Calculate the start of the callframe header, and store in regT1
- move(callFrameRegister, regT1);
- sub32(Imm32(RegisterFile::CallFrameHeaderSize * (int32_t)sizeof(Register)), regT1);
-
- // Calculate start of arguments as callframe header - sizeof(Register) * argcount (regT1)
- mul32(Imm32(sizeof(Register)), regT0, regT0);
- subPtr(regT0, regT1);
-
- // push pointer to arguments
- storePtr(regT1, Address(stackPointerRegister, OBJECT_OFFSETOF(ArgList, m_args)));
-
- // Argument passing method:
- // r0 - points to return value
- // r1 - callFrame
- // r2 - callee
- // stack: this(JSValue) and a pointer to ArgList
-
-#if OS(WINCE)
- // Setup arg4:
- push(stackPointerRegister);
-
- // Setup arg3:
- // regT1 currently points to the first argument, regT1-sizeof(Register) points to 'this'
- load32(Address(regT1, -(int32_t)sizeof(void*) * 2), ARMRegisters::r3);
- push(ARMRegisters::r3);
- load32(Address(regT1, -(int32_t)sizeof(void*)), regT3);
- storePtr(regT3, Address(stackPointerRegister));
-
- // Setup arg2:
- emitGetFromCallFrameHeaderPtr(RegisterFile::Callee, regT2);
-
- // Setup arg1:
- move(callFrameRegister, regT1);
-
- // Setup arg0:
- move(stackPointerRegister, regT0);
-
- loadPtr(Address(regT2, OBJECT_OFFSETOF(JSFunction, m_executable)), regT3);
- call(Address(regT3, OBJECT_OFFSETOF(NativeExecutable, m_function)));
-
- load32(Address(stackPointerRegister, 0), regT0);
- load32(Address(stackPointerRegister, 4), regT1);
-
- addPtr(Imm32(sizeof(ArgList) + 8), stackPointerRegister);
-#else // OS(WINCE)
- move(stackPointerRegister, regT3);
- subPtr(Imm32(8), stackPointerRegister);
- move(stackPointerRegister, regT0);
- subPtr(Imm32(8 + 4 + 4 /* padding */), stackPointerRegister);
-
- // Setup arg4:
- storePtr(regT3, Address(stackPointerRegister, 8));
-
- // Setup arg3:
- // regT1 currently points to the first argument, regT1-sizeof(Register) points to 'this'
- load32(Address(regT1, -(int32_t)sizeof(void*) * 2), regT3);
- storePtr(regT3, Address(stackPointerRegister, 0));
- load32(Address(regT1, -(int32_t)sizeof(void*)), regT3);
- storePtr(regT3, Address(stackPointerRegister, 4));
-
- // Setup arg2:
- emitGetFromCallFrameHeaderPtr(RegisterFile::Callee, regT2);
-
- // Setup arg1:
- move(callFrameRegister, regT1);
-
- loadPtr(Address(regT2, OBJECT_OFFSETOF(JSFunction, m_executable)), regT3);
- call(Address(regT3, OBJECT_OFFSETOF(NativeExecutable, m_function)));
-
- // Load return value
- load32(Address(stackPointerRegister, 16), regT0);
- load32(Address(stackPointerRegister, 20), regT1);
-
- addPtr(Imm32(sizeof(ArgList) + 16 + 8), stackPointerRegister);
-#endif // OS(WINCE)
-
-#endif
-
- // Check for an exception
- move(ImmPtr(&globalData->exception), regT2);
- Jump sawException = branch32(NotEqual, tagFor(0, regT2), Imm32(JSValue::EmptyValueTag));
-
- // Grab the return address.
- emitGetFromCallFrameHeaderPtr(RegisterFile::ReturnPC, regT3);
-
- // Restore our caller's "r".
- emitGetFromCallFrameHeaderPtr(RegisterFile::CallerFrame, callFrameRegister);
-
- // Return.
- restoreReturnAddressBeforeReturn(regT3);
- ret();
-
- // Handle an exception
- sawException.link(this);
- // Grab the return address.
- emitGetFromCallFrameHeaderPtr(RegisterFile::ReturnPC, regT1);
- move(ImmPtr(&globalData->exceptionLocation), regT2);
- storePtr(regT1, regT2);
- move(ImmPtr(FunctionPtr(ctiVMThrowTrampoline).value()), regT2);
- emitGetFromCallFrameHeaderPtr(RegisterFile::CallerFrame, callFrameRegister);
- poke(callFrameRegister, OBJECT_OFFSETOF(struct JITStackFrame, callFrame) / sizeof(void*));
- restoreReturnAddressBeforeReturn(regT2);
- ret();
-
-#elif ENABLE(JIT_OPTIMIZE_NATIVE_CALL)
-#error "JIT_OPTIMIZE_NATIVE_CALL not yet supported on this platform."
-#else
- breakpoint();
-#endif
+ // NativeCall Trampoline
+ Label nativeCallThunk = privateCompileCTINativeCall(globalData);
+ Label nativeConstructThunk = privateCompileCTINativeCall(globalData, true);
#if ENABLE(JIT_OPTIMIZE_PROPERTY_ACCESS)
Call string_failureCases1Call = makeTailRecursiveCall(string_failureCases1);
@@ -464,17 +150,11 @@ void JIT::privateCompileCTIMachineTrampolines(RefPtr<ExecutablePool>* executable
patchBuffer.link(string_failureCases3Call, FunctionPtr(cti_op_get_by_id_string_fail));
#endif
#if ENABLE(JIT_OPTIMIZE_CALL)
- patchBuffer.link(callArityCheck1, FunctionPtr(cti_op_call_arityCheck));
- patchBuffer.link(callJSFunction1, FunctionPtr(cti_op_call_jitCompile));
- patchBuffer.link(callLazyLinkCall1, FunctionPtr(cti_vm_lazyLinkCall));
- patchBuffer.link(callArityCheck2, FunctionPtr(cti_op_construct_arityCheck));
- patchBuffer.link(callJSFunction2, FunctionPtr(cti_op_construct_jitCompile));
- patchBuffer.link(callLazyLinkCall2, FunctionPtr(cti_vm_lazyLinkConstruct));
+ patchBuffer.link(callLazyLinkCall, FunctionPtr(cti_vm_lazyLinkCall));
+ patchBuffer.link(callLazyLinkConstruct, FunctionPtr(cti_vm_lazyLinkConstruct));
#endif
- patchBuffer.link(callArityCheck3, FunctionPtr(cti_op_call_arityCheck));
- patchBuffer.link(callJSFunction3, FunctionPtr(cti_op_call_jitCompile));
- patchBuffer.link(callArityCheck4, FunctionPtr(cti_op_construct_arityCheck));
- patchBuffer.link(callJSFunction4, FunctionPtr(cti_op_construct_jitCompile));
+ patchBuffer.link(callCompileCall, FunctionPtr(cti_op_call_jitCompile));
+ patchBuffer.link(callCompileCconstruct, FunctionPtr(cti_op_construct_jitCompile));
CodeRef finalCode = patchBuffer.finalizeCode();
*executablePool = finalCode.m_executablePool;
@@ -482,6 +162,7 @@ void JIT::privateCompileCTIMachineTrampolines(RefPtr<ExecutablePool>* executable
trampolines->ctiVirtualCall = trampolineAt(finalCode, virtualCallBegin);
trampolines->ctiVirtualConstruct = trampolineAt(finalCode, virtualConstructBegin);
trampolines->ctiNativeCall = trampolineAt(finalCode, nativeCallThunk);
+ trampolines->ctiNativeConstruct = trampolineAt(finalCode, nativeConstructThunk);
#if ENABLE(JIT_OPTIMIZE_PROPERTY_ACCESS)
trampolines->ctiStringLengthTrampoline = trampolineAt(finalCode, stringLengthBegin);
#endif
@@ -494,246 +175,112 @@ void JIT::privateCompileCTIMachineTrampolines(RefPtr<ExecutablePool>* executable
#endif
}
-JIT::CodePtr JIT::privateCompileCTINativeCall(PassRefPtr<ExecutablePool> executablePool, JSGlobalData* globalData, NativeFunction func)
+JIT::Label JIT::privateCompileCTINativeCall(JSGlobalData* globalData, bool isConstruct)
{
-#if CPU(X86) || CPU(ARM_TRADITIONAL)
+ int executableOffsetToFunction = isConstruct ? OBJECT_OFFSETOF(NativeExecutable, m_constructor) : OBJECT_OFFSETOF(NativeExecutable, m_function);
+
Label nativeCallThunk = align();
- preserveReturnAddressAfterCall(regT0);
- emitPutToCallFrameHeader(regT0, RegisterFile::ReturnPC); // Push return address
// Load caller frame's scope chain into this callframe so that whatever we call can
// get to its global data.
- emitGetFromCallFrameHeaderPtr(RegisterFile::CallerFrame, regT1);
- emitGetFromCallFrameHeaderPtr(RegisterFile::ScopeChain, regT1, regT1);
+ emitGetFromCallFrameHeaderPtr(RegisterFile::CallerFrame, regT0);
+ emitGetFromCallFrameHeaderPtr(RegisterFile::ScopeChain, regT1, regT0);
emitPutToCallFrameHeader(regT1, RegisterFile::ScopeChain);
-#if CPU(X86)
- emitGetFromCallFrameHeader32(RegisterFile::ArgumentCount, regT0);
-
- /* We have two structs that we use to describe the stackframe we set up for our
- * call to native code. NativeCallFrameStructure describes the how we set up the stack
- * in advance of the call. NativeFunctionCalleeSignature describes the callframe
- * as the native code expects it. We do this as we are using the fastcall calling
- * convention which results in the callee popping its arguments off the stack, but
- * not the rest of the callframe so we need a nice way to ensure we increment the
- * stack pointer by the right amount after the call.
- */
-
-#if COMPILER(MSVC) || OS(LINUX)
-#if COMPILER(MSVC)
-#pragma pack(push)
-#pragma pack(4)
-#endif // COMPILER(MSVC)
- struct NativeCallFrameStructure {
- // CallFrame* callFrame; // passed in EDX
- JSObject* callee;
- JSValue thisValue;
- ArgList* argPointer;
- ArgList args;
- JSValue result;
- };
- struct NativeFunctionCalleeSignature {
- JSObject* callee;
- JSValue thisValue;
- ArgList* argPointer;
- };
-#if COMPILER(MSVC)
-#pragma pack(pop)
-#endif // COMPILER(MSVC)
-#else
- struct NativeCallFrameStructure {
- // CallFrame* callFrame; // passed in ECX
- // JSObject* callee; // passed in EDX
- JSValue thisValue;
- ArgList* argPointer;
- ArgList args;
- };
- struct NativeFunctionCalleeSignature {
- JSValue thisValue;
- ArgList* argPointer;
- };
-#endif
-
- const int NativeCallFrameSize = (sizeof(NativeCallFrameStructure) + 15) & ~15;
- // Allocate system stack frame
- subPtr(Imm32(NativeCallFrameSize), stackPointerRegister);
-
- // Set up arguments
- subPtr(Imm32(1), regT0); // Don't include 'this' in argcount
-
- // push argcount
- storePtr(regT0, Address(stackPointerRegister, OBJECT_OFFSETOF(NativeCallFrameStructure, args) + OBJECT_OFFSETOF(ArgList, m_argCount)));
+ peek(regT1);
+ emitPutToCallFrameHeader(regT1, RegisterFile::ReturnPC);
- // Calculate the start of the callframe header, and store in regT1
- addPtr(Imm32(-RegisterFile::CallFrameHeaderSize * (int)sizeof(Register)), callFrameRegister, regT1);
-
- // Calculate start of arguments as callframe header - sizeof(Register) * argcount (regT0)
- mul32(Imm32(sizeof(Register)), regT0, regT0);
- subPtr(regT0, regT1);
- storePtr(regT1, Address(stackPointerRegister, OBJECT_OFFSETOF(NativeCallFrameStructure, args) + OBJECT_OFFSETOF(ArgList, m_args)));
-
- // ArgList is passed by reference so is stackPointerRegister + 4 * sizeof(Register)
- addPtr(Imm32(OBJECT_OFFSETOF(NativeCallFrameStructure, args)), stackPointerRegister, regT0);
- storePtr(regT0, Address(stackPointerRegister, OBJECT_OFFSETOF(NativeCallFrameStructure, argPointer)));
-
- // regT1 currently points to the first argument, regT1 - sizeof(Register) points to 'this'
- loadPtr(Address(regT1, -(int)sizeof(Register) + OBJECT_OFFSETOF(JSValue, u.asBits.payload)), regT2);
- loadPtr(Address(regT1, -(int)sizeof(Register) + OBJECT_OFFSETOF(JSValue, u.asBits.tag)), regT3);
- storePtr(regT2, Address(stackPointerRegister, OBJECT_OFFSETOF(NativeCallFrameStructure, thisValue) + OBJECT_OFFSETOF(JSValue, u.asBits.payload)));
- storePtr(regT3, Address(stackPointerRegister, OBJECT_OFFSETOF(NativeCallFrameStructure, thisValue) + OBJECT_OFFSETOF(JSValue, u.asBits.tag)));
-
-#if COMPILER(MSVC) || OS(LINUX)
- // ArgList is passed by reference so is stackPointerRegister + 4 * sizeof(Register)
- addPtr(Imm32(OBJECT_OFFSETOF(NativeCallFrameStructure, result)), stackPointerRegister, X86Registers::ecx);
+#if CPU(X86)
+ // Calling convention: f(ecx, edx, ...);
+ // Host function signature: f(ExecState*);
+ move(callFrameRegister, X86Registers::ecx);
- // Plant callee
- emitGetFromCallFrameHeaderPtr(RegisterFile::Callee, X86Registers::eax);
- storePtr(X86Registers::eax, Address(stackPointerRegister, OBJECT_OFFSETOF(NativeCallFrameStructure, callee)));
+ subPtr(Imm32(16 - sizeof(void*)), stackPointerRegister); // Align stack after call.
- // Plant callframe
- move(callFrameRegister, X86Registers::edx);
+ // call the function
+ emitGetFromCallFrameHeaderPtr(RegisterFile::Callee, regT1);
+ loadPtr(Address(regT1, OBJECT_OFFSETOF(JSFunction, m_executable)), regT1);
+ move(regT0, callFrameRegister); // Eagerly restore caller frame register to avoid loading from stack.
+ call(Address(regT1, executableOffsetToFunction));
- Call nativeCall = call();
+ addPtr(Imm32(16 - sizeof(void*)), stackPointerRegister);
- // JSValue is a non-POD type, so eax points to it
- emitLoad(0, regT1, regT0, X86Registers::eax);
+#elif ENABLE(JIT_OPTIMIZE_NATIVE_CALL)
+#error "JIT_OPTIMIZE_NATIVE_CALL not yet supported on this platform."
#else
- emitGetFromCallFrameHeaderPtr(RegisterFile::Callee, X86Registers::edx); // callee
- move(callFrameRegister, X86Registers::ecx); // callFrame
- Call nativeCall = call();
-#endif
-
- // We've put a few temporaries on the stack in addition to the actual arguments
- // so pull them off now
- addPtr(Imm32(NativeCallFrameSize - sizeof(NativeFunctionCalleeSignature)), stackPointerRegister);
-
-#elif CPU(ARM_TRADITIONAL)
- emitGetFromCallFrameHeader32(RegisterFile::ArgumentCount, regT0);
-
- // Allocate stack space for our arglist
- COMPILE_ASSERT((sizeof(ArgList) & 0x7) == 0 && sizeof(JSValue) == 8 && sizeof(Register) == 8, ArgList_should_by_8byte_aligned);
- subPtr(Imm32(sizeof(ArgList)), stackPointerRegister);
-
- // Set up arguments
- subPtr(Imm32(1), regT0); // Don't include 'this' in argcount
-
- // Push argcount
- storePtr(regT0, Address(stackPointerRegister, OBJECT_OFFSETOF(ArgList, m_argCount)));
-
- // Calculate the start of the callframe header, and store in regT1
- move(callFrameRegister, regT1);
- sub32(Imm32(RegisterFile::CallFrameHeaderSize * (int32_t)sizeof(Register)), regT1);
-
- // Calculate start of arguments as callframe header - sizeof(Register) * argcount (regT1)
- mul32(Imm32(sizeof(Register)), regT0, regT0);
- subPtr(regT0, regT1);
-
- // push pointer to arguments
- storePtr(regT1, Address(stackPointerRegister, OBJECT_OFFSETOF(ArgList, m_args)));
-
- // Argument passing method:
- // r0 - points to return value
- // r1 - callFrame
- // r2 - callee
- // stack: this(JSValue) and a pointer to ArgList
-
-#if OS(WINCE)
- // Setup arg4:
- push(stackPointerRegister);
-
- // Setup arg3:
- // regT1 currently points to the first argument, regT1-sizeof(Register) points to 'this'
- load32(Address(regT1, -(int32_t)sizeof(void*) * 2), ARMRegisters::r3);
- push(ARMRegisters::r3);
- load32(Address(regT1, -(int32_t)sizeof(void*)), regT3);
- storePtr(regT3, Address(stackPointerRegister));
+ breakpoint();
+#endif // CPU(X86)
- // Setup arg2:
- emitGetFromCallFrameHeaderPtr(RegisterFile::Callee, regT2);
+ // Check for an exception
+ Jump sawException = branch32(NotEqual, AbsoluteAddress(reinterpret_cast<char*>(&globalData->exception) + OBJECT_OFFSETOF(JSValue, u.asBits.tag)), Imm32(JSValue::EmptyValueTag));
- // Setup arg1:
- move(callFrameRegister, regT1);
+ // Return.
+ ret();
- // Setup arg0:
- move(stackPointerRegister, regT0);
+ // Handle an exception
+ sawException.link(this);
+ peek(regT1);
+ move(ImmPtr(&globalData->exceptionLocation), regT2);
+ storePtr(regT1, regT2);
+ poke(callFrameRegister, 1 + OBJECT_OFFSETOF(struct JITStackFrame, callFrame) / sizeof(void*));
+ poke(ImmPtr(FunctionPtr(ctiVMThrowTrampoline).value()));
+ ret();
- Call nativeCall = call();
+ return nativeCallThunk;
+}
- load32(Address(stackPointerRegister, 0), regT0);
- load32(Address(stackPointerRegister, 4), regT1);
+JIT::CodePtr JIT::privateCompileCTINativeCall(PassRefPtr<ExecutablePool> executablePool, JSGlobalData* globalData, NativeFunction func)
+{
+ Label nativeCallThunk = align();
- addPtr(Imm32(sizeof(ArgList) + 8), stackPointerRegister);
-#else // OS(WINCE)
- move(stackPointerRegister, regT3);
- subPtr(Imm32(8), stackPointerRegister);
- move(stackPointerRegister, regT0);
- subPtr(Imm32(8 + 4 + 4 /* padding */), stackPointerRegister);
+#if CPU(X86)
+ // Load caller frame's scope chain into this callframe so that whatever we call can
+ // get to its global data.
+ emitGetFromCallFrameHeaderPtr(RegisterFile::CallerFrame, regT0);
+ emitGetFromCallFrameHeaderPtr(RegisterFile::ScopeChain, regT1, regT0);
+ emitPutToCallFrameHeader(regT1, RegisterFile::ScopeChain);
- // Setup arg4:
- storePtr(regT3, Address(stackPointerRegister, 8));
+ peek(regT1);
+ emitPutToCallFrameHeader(regT1, RegisterFile::ReturnPC);
- // Setup arg3:
- // regT1 currently points to the first argument, regT1-sizeof(Register) points to 'this'
- load32(Address(regT1, -(int32_t)sizeof(void*) * 2), regT3);
- storePtr(regT3, Address(stackPointerRegister, 0));
- load32(Address(regT1, -(int32_t)sizeof(void*)), regT3);
- storePtr(regT3, Address(stackPointerRegister, 4));
+ // Calling convention: f(ecx, edx, ...);
+ // Host function signature: f(ExecState*);
+ move(callFrameRegister, X86Registers::ecx);
- // Setup arg2:
- emitGetFromCallFrameHeaderPtr(RegisterFile::Callee, regT2);
+ subPtr(Imm32(16 - sizeof(void*)), stackPointerRegister); // Align stack after call.
- // Setup arg1:
- move(callFrameRegister, regT1);
+ move(regT0, callFrameRegister); // Eagerly restore caller frame register to avoid loading from stack.
+ // call the function
Call nativeCall = call();
- // Load return value
- load32(Address(stackPointerRegister, 16), regT0);
- load32(Address(stackPointerRegister, 20), regT1);
-
- addPtr(Imm32(sizeof(ArgList) + 16 + 8), stackPointerRegister);
-#endif // OS(WINCE)
+ addPtr(Imm32(16 - sizeof(void*)), stackPointerRegister);
-#endif
+#elif ENABLE(JIT_OPTIMIZE_NATIVE_CALL)
+#error "JIT_OPTIMIZE_NATIVE_CALL not yet supported on this platform."
+#else
+ breakpoint();
+#endif // CPU(X86)
// Check for an exception
- move(ImmPtr(&globalData->exception), regT2);
- Jump sawException = branch32(NotEqual, tagFor(0, regT2), Imm32(JSValue::EmptyValueTag));
-
- // Grab the return address.
- emitGetFromCallFrameHeaderPtr(RegisterFile::ReturnPC, regT3);
-
- // Restore our caller's "r".
- emitGetFromCallFrameHeaderPtr(RegisterFile::CallerFrame, callFrameRegister);
+ Jump sawException = branch32(NotEqual, AbsoluteAddress(reinterpret_cast<char*>(&globalData->exception) + OBJECT_OFFSETOF(JSValue, u.asBits.tag)), Imm32(JSValue::EmptyValueTag));
// Return.
- restoreReturnAddressBeforeReturn(regT3);
ret();
// Handle an exception
sawException.link(this);
- // Grab the return address.
- emitGetFromCallFrameHeaderPtr(RegisterFile::ReturnPC, regT1);
+ peek(regT1);
move(ImmPtr(&globalData->exceptionLocation), regT2);
storePtr(regT1, regT2);
- move(ImmPtr(FunctionPtr(ctiVMThrowTrampoline).value()), regT2);
- emitGetFromCallFrameHeaderPtr(RegisterFile::CallerFrame, callFrameRegister);
- poke(callFrameRegister, OBJECT_OFFSETOF(struct JITStackFrame, callFrame) / sizeof(void*));
- restoreReturnAddressBeforeReturn(regT2);
+ poke(callFrameRegister, 1 + OBJECT_OFFSETOF(struct JITStackFrame, callFrame) / sizeof(void*));
+ poke(ImmPtr(FunctionPtr(ctiVMThrowTrampoline).value()));
ret();
-#elif ENABLE(JIT_OPTIMIZE_NATIVE_CALL)
-#error "JIT_OPTIMIZE_NATIVE_CALL not yet supported on this platform."
-#else
- breakpoint();
-#endif
-
// All trampolines constructed! copy the code, link up calls, and set the pointers on the Machine object.
LinkBuffer patchBuffer(this, executablePool);
-#if ENABLE(JIT_OPTIMIZE_NATIVE_CALL)
patchBuffer.link(nativeCall, FunctionPtr(func));
-#endif
CodeRef finalCode = patchBuffer.finalizeCode();
return trampolineAt(finalCode, nativeCallThunk);
@@ -1814,6 +1361,22 @@ void JIT::emit_op_init_arguments(Instruction* currentInstruction)
emitStore(unmodifiedArgumentsRegister(dst), JSValue());
}
+void JIT::emit_op_get_callee(Instruction* currentInstruction)
+{
+ int dst = currentInstruction[1].u.operand;
+ emitGetFromCallFrameHeaderPtr(RegisterFile::Callee, regT0);
+ emitStoreCell(dst, regT0);
+}
+
+void JIT::emit_op_create_this(Instruction* currentInstruction)
+{
+ unsigned protoRegister = currentInstruction[2].u.operand;
+ emitLoad(protoRegister, regT1, regT0);
+ JITStubCall stubCall(this, cti_op_create_this);
+ stubCall.addArgument(regT1, regT0);
+ stubCall.call(currentInstruction[1].u.operand);
+}
+
void JIT::emit_op_convert_this(Instruction* currentInstruction)
{
unsigned thisRegister = currentInstruction[1].u.operand;
diff --git a/JavaScriptCore/jit/JITStubs.cpp b/JavaScriptCore/jit/JITStubs.cpp
index aea80a7..9da3c40 100644
--- a/JavaScriptCore/jit/JITStubs.cpp
+++ b/JavaScriptCore/jit/JITStubs.cpp
@@ -1202,6 +1202,28 @@ RVCT()
#define DEFINE_STUB_FUNCTION(rtype, op) rtype JIT_STUB cti_##op(STUB_ARGS_DECLARATION)
#endif
+DEFINE_STUB_FUNCTION(EncodedJSValue, op_create_this)
+{
+ STUB_INIT_STACK_FRAME(stackFrame);
+ CallFrame* callFrame = stackFrame.callFrame;
+
+ JSFunction* constructor = asFunction(callFrame->callee());
+#if !ASSERT_DISABLED
+ ConstructData constructData;
+ ASSERT(constructor->getConstructData(constructData) == ConstructTypeJS);
+#endif
+
+ Structure* structure;
+ JSValue proto = stackFrame.args[0].jsValue();
+ if (proto.isObject())
+ structure = asObject(proto)->inheritorID();
+ else
+ structure = constructor->scope().node()->globalObject->emptyObjectStructure();
+ JSValue result = new (&callFrame->globalData()) JSObject(structure);
+
+ return JSValue::encode(result);
+}
+
DEFINE_STUB_FUNCTION(EncodedJSValue, op_convert_this)
{
STUB_INIT_STACK_FRAME(stackFrame);
@@ -1783,10 +1805,10 @@ DEFINE_STUB_FUNCTION(void*, op_call_jitCompile)
#if !ASSERT_DISABLED
CallData callData;
- ASSERT(stackFrame.args[0].jsValue().getCallData(callData) == CallTypeJS);
+ ASSERT(stackFrame.callFrame->callee()->getCallData(callData) == CallTypeJS);
#endif
- JSFunction* function = asFunction(stackFrame.args[0].jsValue());
+ JSFunction* function = asFunction(stackFrame.callFrame->callee());
ASSERT(!function->isHostFunction());
FunctionExecutable* executable = function->jsExecutable();
ScopeChainNode* callDataScopeChain = function->scope().node();
@@ -1800,11 +1822,11 @@ DEFINE_STUB_FUNCTION(void*, op_construct_jitCompile)
STUB_INIT_STACK_FRAME(stackFrame);
#if !ASSERT_DISABLED
- CallData callData;
- ASSERT(stackFrame.args[0].jsValue().getCallData(callData) == CallTypeJS);
+ ConstructData constructData;
+ ASSERT(asFunction(stackFrame.callFrame->callee())->getConstructData(constructData) == ConstructTypeJS);
#endif
- JSFunction* function = asFunction(stackFrame.args[0].jsValue());
+ JSFunction* function = asFunction(stackFrame.callFrame->callee());
ASSERT(!function->isHostFunction());
FunctionExecutable* executable = function->jsExecutable();
ScopeChainNode* callDataScopeChain = function->scope().node();
@@ -1813,139 +1835,183 @@ DEFINE_STUB_FUNCTION(void*, op_construct_jitCompile)
return function;
}
-DEFINE_STUB_FUNCTION(VoidPtrPair, op_call_arityCheck)
+DEFINE_STUB_FUNCTION(void*, op_call_arityCheck)
{
STUB_INIT_STACK_FRAME(stackFrame);
CallFrame* callFrame = stackFrame.callFrame;
- JSFunction* callee = asFunction(stackFrame.args[0].jsValue());
+ JSFunction* callee = asFunction(callFrame->callee());
ASSERT(!callee->isHostFunction());
CodeBlock* newCodeBlock = &callee->jsExecutable()->generatedBytecodeForCall();
- int argCount = stackFrame.args[2].int32();
+ int argCount = callFrame->argumentCountIncludingThis();
+ ReturnAddressPtr pc = callFrame->returnPC();
ASSERT(argCount != newCodeBlock->m_numParameters);
CallFrame* oldCallFrame = callFrame->callerFrame();
+ Register* r;
if (argCount > newCodeBlock->m_numParameters) {
size_t numParameters = newCodeBlock->m_numParameters;
- Register* r = callFrame->registers() + numParameters;
+ r = callFrame->registers() + numParameters;
+ Register* newEnd = r + newCodeBlock->m_numCalleeRegisters;
+ if (!stackFrame.registerFile->grow(newEnd)) {
+ // Rewind to the previous call frame because op_call already optimistically
+ // moved the call frame forward.
+ stackFrame.callFrame = oldCallFrame;
+ throwStackOverflowError(oldCallFrame, stackFrame.globalData, pc, STUB_RETURN_ADDRESS);
+ return 0;
+ }
Register* argv = r - RegisterFile::CallFrameHeaderSize - numParameters - argCount;
for (size_t i = 0; i < numParameters; ++i)
argv[i + argCount] = argv[i];
-
- callFrame = CallFrame::create(r);
- callFrame->setCallerFrame(oldCallFrame);
} else {
size_t omittedArgCount = newCodeBlock->m_numParameters - argCount;
- Register* r = callFrame->registers() + omittedArgCount;
+ r = callFrame->registers() + omittedArgCount;
Register* newEnd = r + newCodeBlock->m_numCalleeRegisters;
if (!stackFrame.registerFile->grow(newEnd)) {
// Rewind to the previous call frame because op_call already optimistically
// moved the call frame forward.
stackFrame.callFrame = oldCallFrame;
- throwStackOverflowError(oldCallFrame, stackFrame.globalData, stackFrame.args[1].returnAddress(), STUB_RETURN_ADDRESS);
- RETURN_POINTER_PAIR(0, 0);
+ throwStackOverflowError(oldCallFrame, stackFrame.globalData, pc, STUB_RETURN_ADDRESS);
+ return 0;
}
Register* argv = r - RegisterFile::CallFrameHeaderSize - omittedArgCount;
for (size_t i = 0; i < omittedArgCount; ++i)
argv[i] = jsUndefined();
-
- callFrame = CallFrame::create(r);
- callFrame->setCallerFrame(oldCallFrame);
}
- RETURN_POINTER_PAIR(callee, callFrame);
+ callFrame = CallFrame::create(r);
+ callFrame->setCallerFrame(oldCallFrame);
+ callFrame->setArgumentCountIncludingThis(argCount);
+ callFrame->setCallee(callee);
+ callFrame->setScopeChain(callee->scope().node());
+ callFrame->setReturnPC(pc.value());
+
+ ASSERT((void*)callFrame <= stackFrame.registerFile->end());
+ return callFrame;
}
-DEFINE_STUB_FUNCTION(VoidPtrPair, op_construct_arityCheck)
+DEFINE_STUB_FUNCTION(void*, op_construct_arityCheck)
{
STUB_INIT_STACK_FRAME(stackFrame);
CallFrame* callFrame = stackFrame.callFrame;
- JSFunction* callee = asFunction(stackFrame.args[0].jsValue());
+ JSFunction* callee = asFunction(callFrame->callee());
ASSERT(!callee->isHostFunction());
CodeBlock* newCodeBlock = &callee->jsExecutable()->generatedBytecodeForConstruct();
- int argCount = stackFrame.args[2].int32();
+ int argCount = callFrame->argumentCountIncludingThis();
+ ReturnAddressPtr pc = callFrame->returnPC();
ASSERT(argCount != newCodeBlock->m_numParameters);
CallFrame* oldCallFrame = callFrame->callerFrame();
+ Register* r;
if (argCount > newCodeBlock->m_numParameters) {
size_t numParameters = newCodeBlock->m_numParameters;
- Register* r = callFrame->registers() + numParameters;
+ r = callFrame->registers() + numParameters;
+ Register* newEnd = r + newCodeBlock->m_numCalleeRegisters;
+ if (!stackFrame.registerFile->grow(newEnd)) {
+ // Rewind to the previous call frame because op_call already optimistically
+ // moved the call frame forward.
+ stackFrame.callFrame = oldCallFrame;
+ throwStackOverflowError(oldCallFrame, stackFrame.globalData, pc, STUB_RETURN_ADDRESS);
+ return 0;
+ }
Register* argv = r - RegisterFile::CallFrameHeaderSize - numParameters - argCount;
for (size_t i = 0; i < numParameters; ++i)
argv[i + argCount] = argv[i];
-
- callFrame = CallFrame::create(r);
- callFrame->setCallerFrame(oldCallFrame);
} else {
size_t omittedArgCount = newCodeBlock->m_numParameters - argCount;
- Register* r = callFrame->registers() + omittedArgCount;
+ r = callFrame->registers() + omittedArgCount;
Register* newEnd = r + newCodeBlock->m_numCalleeRegisters;
if (!stackFrame.registerFile->grow(newEnd)) {
// Rewind to the previous call frame because op_call already optimistically
// moved the call frame forward.
stackFrame.callFrame = oldCallFrame;
- throwStackOverflowError(oldCallFrame, stackFrame.globalData, stackFrame.args[1].returnAddress(), STUB_RETURN_ADDRESS);
- RETURN_POINTER_PAIR(0, 0);
+ throwStackOverflowError(oldCallFrame, stackFrame.globalData, pc, STUB_RETURN_ADDRESS);
+ return 0;
}
Register* argv = r - RegisterFile::CallFrameHeaderSize - omittedArgCount;
for (size_t i = 0; i < omittedArgCount; ++i)
argv[i] = jsUndefined();
-
- callFrame = CallFrame::create(r);
- callFrame->setCallerFrame(oldCallFrame);
}
- RETURN_POINTER_PAIR(callee, callFrame);
+ callFrame = CallFrame::create(r);
+ callFrame->setCallerFrame(oldCallFrame);
+ callFrame->setArgumentCountIncludingThis(argCount);
+ callFrame->setCallee(callee);
+ callFrame->setScopeChain(callee->scope().node());
+ callFrame->setReturnPC(pc.value());
+
+ ASSERT((void*)callFrame <= stackFrame.registerFile->end());
+ return callFrame;
}
#if ENABLE(JIT_OPTIMIZE_CALL)
DEFINE_STUB_FUNCTION(void*, vm_lazyLinkCall)
{
STUB_INIT_STACK_FRAME(stackFrame);
- JSFunction* callee = asFunction(stackFrame.args[0].jsValue());
+ CallFrame* callFrame = stackFrame.callFrame;
+ JSFunction* callee = asFunction(callFrame->callee());
ExecutableBase* executable = callee->executable();
- JITCode& jitCode = executable->generatedJITCodeForCall();
-
+
+ MacroAssemblerCodePtr codePtr;
CodeBlock* codeBlock = 0;
- if (!executable->isHostFunction())
- codeBlock = &static_cast<FunctionExecutable*>(executable)->bytecodeForCall(stackFrame.callFrame, callee->scope().node());
- CallLinkInfo* callLinkInfo = &stackFrame.callFrame->callerFrame()->codeBlock()->getCallLinkInfo(stackFrame.args[1].returnAddress());
+ if (executable->isHostFunction())
+ codePtr = executable->generatedJITCodeForCall().addressForCall();
+ else {
+ FunctionExecutable* functionExecutable = static_cast<FunctionExecutable*>(executable);
+ codeBlock = &functionExecutable->bytecodeForCall(stackFrame.callFrame, callee->scope().node());
+ functionExecutable->jitCodeForCall(callFrame, callee->scope().node());
+ if (callFrame->argumentCountIncludingThis() == static_cast<size_t>(codeBlock->m_numParameters))
+ codePtr = functionExecutable->generatedJITCodeForCall().addressForCall();
+ else
+ codePtr = functionExecutable->generatedJITCodeForCallWithArityCheck();
+ }
+ CallLinkInfo* callLinkInfo = &stackFrame.callFrame->callerFrame()->codeBlock()->getCallLinkInfo(callFrame->returnPC());
if (!callLinkInfo->seenOnce())
callLinkInfo->setSeen();
else
- JIT::linkCall(callee, stackFrame.callFrame->callerFrame()->codeBlock(), codeBlock, jitCode, callLinkInfo, stackFrame.args[2].int32(), stackFrame.globalData);
+ JIT::linkCall(callee, stackFrame.callFrame->callerFrame()->codeBlock(), codeBlock, codePtr, callLinkInfo, callFrame->argumentCountIncludingThis(), stackFrame.globalData);
- return jitCode.addressForCall().executableAddress();
+ return codePtr.executableAddress();
}
DEFINE_STUB_FUNCTION(void*, vm_lazyLinkConstruct)
{
STUB_INIT_STACK_FRAME(stackFrame);
- JSFunction* callee = asFunction(stackFrame.args[0].jsValue());
+ CallFrame* callFrame = stackFrame.callFrame;
+ JSFunction* callee = asFunction(callFrame->callee());
ExecutableBase* executable = callee->executable();
- JITCode& jitCode = executable->generatedJITCodeForConstruct();
-
+
+ MacroAssemblerCodePtr codePtr;
CodeBlock* codeBlock = 0;
- if (!executable->isHostFunction())
- codeBlock = &static_cast<FunctionExecutable*>(executable)->bytecodeForConstruct(stackFrame.callFrame, callee->scope().node());
- CallLinkInfo* callLinkInfo = &stackFrame.callFrame->callerFrame()->codeBlock()->getCallLinkInfo(stackFrame.args[1].returnAddress());
+ if (executable->isHostFunction())
+ codePtr = executable->generatedJITCodeForConstruct().addressForCall();
+ else {
+ FunctionExecutable* functionExecutable = static_cast<FunctionExecutable*>(executable);
+ codeBlock = &functionExecutable->bytecodeForConstruct(stackFrame.callFrame, callee->scope().node());
+ functionExecutable->jitCodeForConstruct(callFrame, callee->scope().node());
+ if (callFrame->argumentCountIncludingThis() == static_cast<size_t>(codeBlock->m_numParameters))
+ codePtr = functionExecutable->generatedJITCodeForConstruct().addressForCall();
+ else
+ codePtr = functionExecutable->generatedJITCodeForConstructWithArityCheck();
+ }
+ CallLinkInfo* callLinkInfo = &stackFrame.callFrame->callerFrame()->codeBlock()->getCallLinkInfo(callFrame->returnPC());
if (!callLinkInfo->seenOnce())
callLinkInfo->setSeen();
else
- JIT::linkConstruct(callee, stackFrame.callFrame->callerFrame()->codeBlock(), codeBlock, jitCode, callLinkInfo, stackFrame.args[2].int32(), stackFrame.globalData);
+ JIT::linkConstruct(callee, stackFrame.callFrame->callerFrame()->codeBlock(), codeBlock, codePtr, callLinkInfo, callFrame->argumentCountIncludingThis(), stackFrame.globalData);
- return jitCode.addressForCall().executableAddress();
+ return codePtr.executableAddress();
}
#endif // !ENABLE(JIT_OPTIMIZE_CALL)
@@ -1975,22 +2041,13 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_call_NotJSFunction)
CallFrame* previousCallFrame = stackFrame.callFrame;
CallFrame* callFrame = CallFrame::create(previousCallFrame->registers() + registerOffset);
- callFrame->init(0, static_cast<Instruction*>((STUB_RETURN_ADDRESS).value()), previousCallFrame->scopeChain(), previousCallFrame, 0, argCount, 0);
+ callFrame->init(0, static_cast<Instruction*>((STUB_RETURN_ADDRESS).value()), previousCallFrame->scopeChain(), previousCallFrame, argCount, asObject(funcVal));
stackFrame.callFrame = callFrame;
- Register* argv = stackFrame.callFrame->registers() - RegisterFile::CallFrameHeaderSize - argCount;
- ArgList argList(argv + 1, argCount - 1);
-
JSValue returnValue;
{
SamplingTool::HostCallRecord callRecord(CTI_SAMPLER);
-
- // FIXME: All host methods should be calling toThisObject, but this is not presently the case.
- JSValue thisValue = argv[0].jsValue();
- if (thisValue == jsNull())
- thisValue = callFrame->globalThisValue();
-
- returnValue = callData.native.function(callFrame, asObject(funcVal), thisValue, argList);
+ returnValue = callData.native.function(callFrame);
}
stackFrame.callFrame = previousCallFrame;
CHECK_FOR_EXCEPTION();
@@ -2102,32 +2159,6 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_resolve)
VM_THROW_EXCEPTION();
}
-DEFINE_STUB_FUNCTION(JSObject*, op_construct_JSConstruct)
-{
- STUB_INIT_STACK_FRAME(stackFrame);
-
- JSFunction* constructor = asFunction(stackFrame.args[0].jsValue());
- if (constructor->isHostFunction()) {
- CallFrame* callFrame = stackFrame.callFrame;
- CodeBlock* codeBlock = callFrame->codeBlock();
- unsigned vPCIndex = codeBlock->bytecodeOffset(callFrame, STUB_RETURN_ADDRESS);
- stackFrame.globalData->exception = createNotAConstructorError(callFrame, constructor, vPCIndex, codeBlock);
- VM_THROW_EXCEPTION();
- }
-
-#if !ASSERT_DISABLED
- ConstructData constructData;
- ASSERT(constructor->getConstructData(constructData) == ConstructTypeJS);
-#endif
-
- Structure* structure;
- if (stackFrame.args[3].jsValue().isObject())
- structure = asObject(stackFrame.args[3].jsValue())->inheritorID();
- else
- structure = constructor->scope().node()->globalObject->emptyObjectStructure();
- return new (stackFrame.globalData) JSObject(structure);
-}
-
DEFINE_STUB_FUNCTION(EncodedJSValue, op_construct_NotJSConstruct)
{
STUB_INIT_STACK_FRAME(stackFrame);
@@ -2136,13 +2167,14 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_construct_NotJSConstruct)
JSValue constrVal = stackFrame.args[0].jsValue();
int argCount = stackFrame.args[2].int32();
- int thisRegister = stackFrame.args[4].int32();
ConstructData constructData;
ConstructType constructType = constrVal.getConstructData(constructData);
if (constructType == ConstructTypeHost) {
- ArgList argList(callFrame->registers() + thisRegister + 1, argCount - 1);
+ int registerOffset = stackFrame.args[1].int32();
+ Register* thisRegister = callFrame->registers() + registerOffset - RegisterFile::CallFrameHeaderSize - argCount;
+ ArgList argList(thisRegister + 1, argCount - 1);
JSValue returnValue;
{
@@ -2406,7 +2438,7 @@ DEFINE_STUB_FUNCTION(int, op_load_varargs)
stackFrame.globalData->exception = createStackOverflowError(callFrame);
VM_THROW_EXCEPTION();
}
- int32_t expectedParams = callFrame->callee()->jsExecutable()->parameterCount();
+ int32_t expectedParams = asFunction(callFrame->callee())->jsExecutable()->parameterCount();
int32_t inplaceArgs = min(providedParams, expectedParams);
Register* inplaceArgsDst = callFrame->registers() + argsOffset;
@@ -2993,10 +3025,10 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_call_eval)
Register* newCallFrame = callFrame->registers() + registerOffset;
Register* argv = newCallFrame - RegisterFile::CallFrameHeaderSize - argCount;
- JSValue thisValue = argv[0].jsValue();
+ JSValue baseValue = argv[0].jsValue();
JSGlobalObject* globalObject = callFrame->scopeChain()->globalObject;
- if (thisValue == globalObject && funcVal == globalObject->evalFunction()) {
+ if (baseValue == globalObject && funcVal == globalObject->evalFunction()) {
JSValue exceptionValue;
JSValue result = interpreter->callEval(callFrame, registerFile, argv, argCount, registerOffset, exceptionValue);
if (UNLIKELY(exceptionValue)) {
@@ -3426,7 +3458,7 @@ PassRefPtr<NativeExecutable> JITThunks::hostFunctionStub(JSGlobalData* globalDat
{
std::pair<HostFunctionStubMap::iterator, bool> entry = m_hostFunctionStubMap.add(function, 0);
if (entry.second)
- entry.first->second = NativeExecutable::create(JIT::compileCTINativeCall(globalData, m_executablePool, function), function);
+ entry.first->second = NativeExecutable::create(JIT::compileCTINativeCall(globalData, m_executablePool, function), function, ctiNativeConstruct(), callHostFunctionAsConstructor);
return entry.first->second;
}
@@ -3434,7 +3466,7 @@ PassRefPtr<NativeExecutable> JITThunks::hostFunctionStub(JSGlobalData* globalDat
{
std::pair<HostFunctionStubMap::iterator, bool> entry = m_hostFunctionStubMap.add(function, 0);
if (entry.second)
- entry.first->second = NativeExecutable::create(generator(globalData, m_executablePool.get()), function);
+ entry.first->second = NativeExecutable::create(generator(globalData, m_executablePool.get()), function, ctiNativeConstruct(), callHostFunctionAsConstructor);
return entry.first->second;
}
diff --git a/JavaScriptCore/jit/JITStubs.h b/JavaScriptCore/jit/JITStubs.h
index e5d1419..bfed811 100644
--- a/JavaScriptCore/jit/JITStubs.h
+++ b/JavaScriptCore/jit/JITStubs.h
@@ -82,6 +82,7 @@ namespace JSC {
MacroAssemblerCodePtr ctiVirtualCall;
MacroAssemblerCodePtr ctiVirtualConstruct;
MacroAssemblerCodePtr ctiNativeCall;
+ MacroAssemblerCodePtr ctiNativeConstruct;
MacroAssemblerCodePtr ctiSoftModulo;
};
@@ -245,23 +246,6 @@ namespace JSC {
#endif
#endif
-#if CPU(X86_64)
- struct VoidPtrPair {
- void* first;
- void* second;
- };
- #define RETURN_POINTER_PAIR(a,b) VoidPtrPair pair = { a, b }; return pair
-#else
- // MSVC doesn't support returning a two-value struct in two registers, so
- // we cast the struct to int64_t instead.
- typedef uint64_t VoidPtrPair;
- union VoidPtrPairUnion {
- struct { void* first; void* second; } s;
- VoidPtrPair i;
- };
- #define RETURN_POINTER_PAIR(a,b) VoidPtrPairUnion pair = {{ a, b }}; return pair.i
-#endif
-
extern "C" void ctiVMThrowTrampoline();
extern "C" void ctiOpThrowNotCaught();
extern "C" EncodedJSValue ctiTrampoline(void* code, RegisterFile*, CallFrame*, JSValue* exception, Profiler**, JSGlobalData*);
@@ -280,6 +264,7 @@ namespace JSC {
MacroAssemblerCodePtr ctiVirtualCall() { return m_trampolineStructure.ctiVirtualCall; }
MacroAssemblerCodePtr ctiVirtualConstruct() { return m_trampolineStructure.ctiVirtualConstruct; }
MacroAssemblerCodePtr ctiNativeCall() { return m_trampolineStructure.ctiNativeCall; }
+ MacroAssemblerCodePtr ctiNativeConstruct() { return m_trampolineStructure.ctiNativeConstruct; }
MacroAssemblerCodePtr ctiSoftModulo() { return m_trampolineStructure.ctiSoftModulo; }
MacroAssemblerCodePtr ctiStub(JSGlobalData* globalData, ThunkGenerator generator);
@@ -305,6 +290,7 @@ extern "C" {
EncodedJSValue JIT_STUB cti_op_call_NotJSFunction(STUB_ARGS_DECLARATION);
EncodedJSValue JIT_STUB cti_op_call_eval(STUB_ARGS_DECLARATION);
EncodedJSValue JIT_STUB cti_op_construct_NotJSConstruct(STUB_ARGS_DECLARATION);
+ EncodedJSValue JIT_STUB cti_op_create_this(STUB_ARGS_DECLARATION);
EncodedJSValue JIT_STUB cti_op_convert_this(STUB_ARGS_DECLARATION);
EncodedJSValue JIT_STUB cti_op_create_arguments(STUB_ARGS_DECLARATION);
EncodedJSValue JIT_STUB cti_op_create_arguments_no_params(STUB_ARGS_DECLARATION);
@@ -362,7 +348,6 @@ extern "C" {
EncodedJSValue JIT_STUB cti_op_urshift(STUB_ARGS_DECLARATION);
EncodedJSValue JIT_STUB cti_to_object(STUB_ARGS_DECLARATION);
EncodedJSValue JIT_STUB cti_vm_throw(STUB_ARGS_DECLARATION);
- JSObject* JIT_STUB cti_op_construct_JSConstruct(STUB_ARGS_DECLARATION);
JSObject* JIT_STUB cti_op_new_array(STUB_ARGS_DECLARATION);
JSObject* JIT_STUB cti_op_new_error(STUB_ARGS_DECLARATION);
JSObject* JIT_STUB cti_op_new_func(STUB_ARGS_DECLARATION);
@@ -374,8 +359,6 @@ extern "C" {
JSObject* JIT_STUB cti_op_push_scope(STUB_ARGS_DECLARATION);
JSObject* JIT_STUB cti_op_put_by_id_transition_realloc(STUB_ARGS_DECLARATION);
JSPropertyNameIterator* JIT_STUB cti_op_get_pnames(STUB_ARGS_DECLARATION);
- VoidPtrPair JIT_STUB cti_op_call_arityCheck(STUB_ARGS_DECLARATION);
- VoidPtrPair JIT_STUB cti_op_construct_arityCheck(STUB_ARGS_DECLARATION);
int JIT_STUB cti_op_eq(STUB_ARGS_DECLARATION);
int JIT_STUB cti_op_eq_strings(STUB_ARGS_DECLARATION);
int JIT_STUB cti_op_jless(STUB_ARGS_DECLARATION);
@@ -403,6 +386,8 @@ extern "C" {
void JIT_STUB cti_op_tear_off_activation(STUB_ARGS_DECLARATION);
void JIT_STUB cti_op_tear_off_arguments(STUB_ARGS_DECLARATION);
void JIT_STUB cti_register_file_check(STUB_ARGS_DECLARATION);
+ void* JIT_STUB cti_op_call_arityCheck(STUB_ARGS_DECLARATION);
+ void* JIT_STUB cti_op_construct_arityCheck(STUB_ARGS_DECLARATION);
void* JIT_STUB cti_op_call_jitCompile(STUB_ARGS_DECLARATION);
void* JIT_STUB cti_op_construct_jitCompile(STUB_ARGS_DECLARATION);
void* JIT_STUB cti_op_switch_char(STUB_ARGS_DECLARATION);
diff --git a/JavaScriptCore/jsc.cpp b/JavaScriptCore/jsc.cpp
index 46eaccc..35ac7f4 100644
--- a/JavaScriptCore/jsc.cpp
+++ b/JavaScriptCore/jsc.cpp
@@ -71,19 +71,19 @@ using namespace WTF;
static void cleanupGlobalData(JSGlobalData*);
static bool fillBufferWithContentsOfFile(const UString& fileName, Vector<char>& buffer);
-static JSValue JSC_HOST_CALL functionPrint(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL functionDebug(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL functionGC(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL functionVersion(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL functionRun(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL functionLoad(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL functionCheckSyntax(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL functionReadline(ExecState*, JSObject*, JSValue, const ArgList&);
-static NO_RETURN_WITH_VALUE JSValue JSC_HOST_CALL functionQuit(ExecState*, JSObject*, JSValue, const ArgList&);
+static JSValue JSC_HOST_CALL functionPrint(ExecState*);
+static JSValue JSC_HOST_CALL functionDebug(ExecState*);
+static JSValue JSC_HOST_CALL functionGC(ExecState*);
+static JSValue JSC_HOST_CALL functionVersion(ExecState*);
+static JSValue JSC_HOST_CALL functionRun(ExecState*);
+static JSValue JSC_HOST_CALL functionLoad(ExecState*);
+static JSValue JSC_HOST_CALL functionCheckSyntax(ExecState*);
+static JSValue JSC_HOST_CALL functionReadline(ExecState*);
+static NO_RETURN_WITH_VALUE JSValue JSC_HOST_CALL functionQuit(ExecState*);
#if ENABLE(SAMPLING_FLAGS)
-static JSValue JSC_HOST_CALL functionSetSamplingFlags(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL functionClearSamplingFlags(ExecState*, JSObject*, JSValue, const ArgList&);
+static JSValue JSC_HOST_CALL functionSetSamplingFlags(ExecState*);
+static JSValue JSC_HOST_CALL functionClearSamplingFlags(ExecState*);
#endif
struct Script {
@@ -171,13 +171,13 @@ GlobalObject::GlobalObject(const Vector<UString>& arguments)
putDirect(Identifier(globalExec(), "arguments"), array);
}
-JSValue JSC_HOST_CALL functionPrint(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL functionPrint(ExecState* exec)
{
- for (unsigned i = 0; i < args.size(); ++i) {
+ for (unsigned i = 0; i < exec->argumentCount(); ++i) {
if (i)
putchar(' ');
- printf("%s", args.at(i).toString(exec).UTF8String().data());
+ printf("%s", exec->argument(i).toString(exec).UTF8String().data());
}
putchar('\n');
@@ -185,30 +185,30 @@ JSValue JSC_HOST_CALL functionPrint(ExecState* exec, JSObject*, JSValue, const A
return jsUndefined();
}
-JSValue JSC_HOST_CALL functionDebug(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL functionDebug(ExecState* exec)
{
- fprintf(stderr, "--> %s\n", args.at(0).toString(exec).UTF8String().data());
+ fprintf(stderr, "--> %s\n", exec->argument(0).toString(exec).UTF8String().data());
return jsUndefined();
}
-JSValue JSC_HOST_CALL functionGC(ExecState* exec, JSObject*, JSValue, const ArgList&)
+JSValue JSC_HOST_CALL functionGC(ExecState* exec)
{
JSLock lock(SilenceAssertionsOnly);
exec->heap()->collectAllGarbage();
return jsUndefined();
}
-JSValue JSC_HOST_CALL functionVersion(ExecState*, JSObject*, JSValue, const ArgList&)
+JSValue JSC_HOST_CALL functionVersion(ExecState*)
{
// We need this function for compatibility with the Mozilla JS tests but for now
// we don't actually do any version-specific handling
return jsUndefined();
}
-JSValue JSC_HOST_CALL functionRun(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL functionRun(ExecState* exec)
{
StopWatch stopWatch;
- UString fileName = args.at(0).toString(exec);
+ UString fileName = exec->argument(0).toString(exec);
Vector<char> script;
if (!fillBufferWithContentsOfFile(fileName, script))
return throwError(exec, GeneralError, "Could not open file.");
@@ -222,11 +222,9 @@ JSValue JSC_HOST_CALL functionRun(ExecState* exec, JSObject*, JSValue, const Arg
return jsNumber(globalObject->globalExec(), stopWatch.getElapsedMS());
}
-JSValue JSC_HOST_CALL functionLoad(ExecState* exec, JSObject* o, JSValue v, const ArgList& args)
+JSValue JSC_HOST_CALL functionLoad(ExecState* exec)
{
- UNUSED_PARAM(o);
- UNUSED_PARAM(v);
- UString fileName = args.at(0).toString(exec);
+ UString fileName = exec->argument(0).toString(exec);
Vector<char> script;
if (!fillBufferWithContentsOfFile(fileName, script))
return throwError(exec, GeneralError, "Could not open file.");
@@ -238,11 +236,9 @@ JSValue JSC_HOST_CALL functionLoad(ExecState* exec, JSObject* o, JSValue v, cons
return result.value();
}
-JSValue JSC_HOST_CALL functionCheckSyntax(ExecState* exec, JSObject* o, JSValue v, const ArgList& args)
+JSValue JSC_HOST_CALL functionCheckSyntax(ExecState* exec)
{
- UNUSED_PARAM(o);
- UNUSED_PARAM(v);
- UString fileName = args.at(0).toString(exec);
+ UString fileName = exec->argument(0).toString(exec);
Vector<char> script;
if (!fillBufferWithContentsOfFile(fileName, script))
return throwError(exec, GeneralError, "Could not open file.");
@@ -255,20 +251,20 @@ JSValue JSC_HOST_CALL functionCheckSyntax(ExecState* exec, JSObject* o, JSValue
}
#if ENABLE(SAMPLING_FLAGS)
-JSValue JSC_HOST_CALL functionSetSamplingFlags(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL functionSetSamplingFlags(ExecState* exec)
{
- for (unsigned i = 0; i < args.size(); ++i) {
- unsigned flag = static_cast<unsigned>(args.at(i).toNumber(exec));
+ for (unsigned i = 0; i < exec->argumentCount(); ++i) {
+ unsigned flag = static_cast<unsigned>(exec->argument(i).toNumber(exec));
if ((flag >= 1) && (flag <= 32))
SamplingFlags::setFlag(flag);
}
return jsNull();
}
-JSValue JSC_HOST_CALL functionClearSamplingFlags(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL functionClearSamplingFlags(ExecState* exec)
{
- for (unsigned i = 0; i < args.size(); ++i) {
- unsigned flag = static_cast<unsigned>(args.at(i).toNumber(exec));
+ for (unsigned i = 0; i < exec->argumentCount(); ++i) {
+ unsigned flag = static_cast<unsigned>(exec->argument(i).toNumber(exec));
if ((flag >= 1) && (flag <= 32))
SamplingFlags::clearFlag(flag);
}
@@ -276,7 +272,7 @@ JSValue JSC_HOST_CALL functionClearSamplingFlags(ExecState* exec, JSObject*, JSV
}
#endif
-JSValue JSC_HOST_CALL functionReadline(ExecState* exec, JSObject*, JSValue, const ArgList&)
+JSValue JSC_HOST_CALL functionReadline(ExecState* exec)
{
Vector<char, 256> line;
int c;
@@ -290,7 +286,7 @@ JSValue JSC_HOST_CALL functionReadline(ExecState* exec, JSObject*, JSValue, cons
return jsString(exec, line.data());
}
-JSValue JSC_HOST_CALL functionQuit(ExecState* exec, JSObject*, JSValue, const ArgList&)
+JSValue JSC_HOST_CALL functionQuit(ExecState* exec)
{
// Technically, destroying the heap in the middle of JS execution is a no-no,
// but we want to maintain compatibility with the Mozilla test suite, so
diff --git a/JavaScriptCore/runtime/ArgList.h b/JavaScriptCore/runtime/ArgList.h
index 8e1fdbe..cd563a2 100644
--- a/JavaScriptCore/runtime/ArgList.h
+++ b/JavaScriptCore/runtime/ArgList.h
@@ -22,6 +22,7 @@
#ifndef ArgList_h
#define ArgList_h
+#include "CallFrame.h"
#include "Register.h"
#include <wtf/HashSet.h>
#include <wtf/Noncopyable.h>
@@ -187,6 +188,12 @@ namespace JSC {
{
}
+ ArgList(ExecState* exec)
+ : m_args(reinterpret_cast<JSValue*>(&exec[exec->hostThisRegister() + 1]))
+ , m_argCount(exec->argumentCount())
+ {
+ }
+
ArgList(JSValue* args, unsigned argCount)
: m_args(args)
, m_argCount(argCount)
diff --git a/JavaScriptCore/runtime/Arguments.h b/JavaScriptCore/runtime/Arguments.h
index 5b8e51c..169c6f6 100644
--- a/JavaScriptCore/runtime/Arguments.h
+++ b/JavaScriptCore/runtime/Arguments.h
@@ -119,10 +119,10 @@ namespace JSC {
ALWAYS_INLINE void Arguments::getArgumentsData(CallFrame* callFrame, JSFunction*& function, ptrdiff_t& firstParameterIndex, Register*& argv, int& argc)
{
- function = callFrame->callee();
+ function = asFunction(callFrame->callee());
int numParameters = function->jsExecutable()->parameterCount();
- argc = callFrame->argumentCount();
+ argc = callFrame->argumentCountIncludingThis();
if (argc <= numParameters)
argv = callFrame->registers() - RegisterFile::CallFrameHeaderSize - numParameters;
@@ -174,9 +174,9 @@ namespace JSC {
: JSObject(callFrame->lexicalGlobalObject()->argumentsStructure())
, d(new ArgumentsData)
{
- ASSERT(!callFrame->callee()->jsExecutable()->parameterCount());
+ ASSERT(!asFunction(callFrame->callee())->jsExecutable()->parameterCount());
- unsigned numArguments = callFrame->argumentCount() - 1;
+ unsigned numArguments = callFrame->argumentCount();
d->numParameters = 0;
d->numArguments = numArguments;
@@ -194,7 +194,7 @@ namespace JSC {
d->extraArguments = extraArguments;
- d->callee = callFrame->callee();
+ d->callee = asFunction(callFrame->callee());
d->overrodeLength = false;
d->overrodeCallee = false;
}
diff --git a/JavaScriptCore/runtime/ArrayConstructor.cpp b/JavaScriptCore/runtime/ArrayConstructor.cpp
index c159be4..674d00a 100644
--- a/JavaScriptCore/runtime/ArrayConstructor.cpp
+++ b/JavaScriptCore/runtime/ArrayConstructor.cpp
@@ -35,7 +35,7 @@ namespace JSC {
ASSERT_CLASS_FITS_IN_CELL(ArrayConstructor);
-static JSValue JSC_HOST_CALL arrayConstructorIsArray(ExecState*, JSObject*, JSValue, const ArgList&);
+static JSValue JSC_HOST_CALL arrayConstructorIsArray(ExecState*);
ArrayConstructor::ArrayConstructor(ExecState* exec, JSGlobalObject* globalObject, NonNullPassRefPtr<Structure> structure, ArrayPrototype* arrayPrototype, Structure* prototypeFunctionStructure)
: InternalFunction(&exec->globalData(), globalObject, structure, Identifier(exec, arrayPrototype->classInfo()->className))
@@ -76,8 +76,9 @@ ConstructType ArrayConstructor::getConstructData(ConstructData& constructData)
return ConstructTypeHost;
}
-static JSValue JSC_HOST_CALL callArrayConstructor(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+static JSValue JSC_HOST_CALL callArrayConstructor(ExecState* exec)
{
+ ArgList args(exec);
return constructArrayWithSizeQuirk(exec, args);
}
@@ -89,9 +90,9 @@ CallType ArrayConstructor::getCallData(CallData& callData)
return CallTypeHost;
}
-JSValue JSC_HOST_CALL arrayConstructorIsArray(ExecState*, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL arrayConstructorIsArray(ExecState* exec)
{
- return jsBoolean(args.at(0).inherits(&JSArray::info));
+ return jsBoolean(exec->argument(0).inherits(&JSArray::info));
}
} // namespace JSC
diff --git a/JavaScriptCore/runtime/ArrayPrototype.cpp b/JavaScriptCore/runtime/ArrayPrototype.cpp
index 70ce69f..c7dea3b 100644
--- a/JavaScriptCore/runtime/ArrayPrototype.cpp
+++ b/JavaScriptCore/runtime/ArrayPrototype.cpp
@@ -40,27 +40,27 @@ namespace JSC {
ASSERT_CLASS_FITS_IN_CELL(ArrayPrototype);
-static JSValue JSC_HOST_CALL arrayProtoFuncToString(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL arrayProtoFuncToLocaleString(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL arrayProtoFuncConcat(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL arrayProtoFuncJoin(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL arrayProtoFuncPop(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL arrayProtoFuncPush(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL arrayProtoFuncReverse(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL arrayProtoFuncShift(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL arrayProtoFuncSlice(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL arrayProtoFuncSort(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL arrayProtoFuncSplice(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL arrayProtoFuncUnShift(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL arrayProtoFuncEvery(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL arrayProtoFuncForEach(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL arrayProtoFuncSome(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL arrayProtoFuncIndexOf(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL arrayProtoFuncFilter(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL arrayProtoFuncMap(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL arrayProtoFuncReduce(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL arrayProtoFuncReduceRight(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL arrayProtoFuncLastIndexOf(ExecState*, JSObject*, JSValue, const ArgList&);
+static JSValue JSC_HOST_CALL arrayProtoFuncToString(ExecState*);
+static JSValue JSC_HOST_CALL arrayProtoFuncToLocaleString(ExecState*);
+static JSValue JSC_HOST_CALL arrayProtoFuncConcat(ExecState*);
+static JSValue JSC_HOST_CALL arrayProtoFuncJoin(ExecState*);
+static JSValue JSC_HOST_CALL arrayProtoFuncPop(ExecState*);
+static JSValue JSC_HOST_CALL arrayProtoFuncPush(ExecState*);
+static JSValue JSC_HOST_CALL arrayProtoFuncReverse(ExecState*);
+static JSValue JSC_HOST_CALL arrayProtoFuncShift(ExecState*);
+static JSValue JSC_HOST_CALL arrayProtoFuncSlice(ExecState*);
+static JSValue JSC_HOST_CALL arrayProtoFuncSort(ExecState*);
+static JSValue JSC_HOST_CALL arrayProtoFuncSplice(ExecState*);
+static JSValue JSC_HOST_CALL arrayProtoFuncUnShift(ExecState*);
+static JSValue JSC_HOST_CALL arrayProtoFuncEvery(ExecState*);
+static JSValue JSC_HOST_CALL arrayProtoFuncForEach(ExecState*);
+static JSValue JSC_HOST_CALL arrayProtoFuncSome(ExecState*);
+static JSValue JSC_HOST_CALL arrayProtoFuncIndexOf(ExecState*);
+static JSValue JSC_HOST_CALL arrayProtoFuncFilter(ExecState*);
+static JSValue JSC_HOST_CALL arrayProtoFuncMap(ExecState*);
+static JSValue JSC_HOST_CALL arrayProtoFuncReduce(ExecState*);
+static JSValue JSC_HOST_CALL arrayProtoFuncReduceRight(ExecState*);
+static JSValue JSC_HOST_CALL arrayProtoFuncLastIndexOf(ExecState*);
}
@@ -149,8 +149,9 @@ static void putProperty(ExecState* exec, JSObject* obj, const Identifier& proper
obj->put(exec, propertyName, value, slot);
}
-JSValue JSC_HOST_CALL arrayProtoFuncToString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL arrayProtoFuncToString(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
bool isRealArray = isJSArray(&exec->globalData(), thisValue);
if (!isRealArray && !thisValue.inherits(&JSArray::info))
return throwError(exec, TypeError);
@@ -208,8 +209,9 @@ JSValue JSC_HOST_CALL arrayProtoFuncToString(ExecState* exec, JSObject*, JSValue
return jsString(exec, UString::adopt(buffer));
}
-JSValue JSC_HOST_CALL arrayProtoFuncToLocaleString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL arrayProtoFuncToLocaleString(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&JSArray::info))
return throwError(exec, TypeError);
JSObject* thisObj = asArray(thisValue);
@@ -248,8 +250,9 @@ JSValue JSC_HOST_CALL arrayProtoFuncToLocaleString(ExecState* exec, JSObject*, J
return strBuffer.build(exec);
}
-JSValue JSC_HOST_CALL arrayProtoFuncJoin(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL arrayProtoFuncJoin(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
JSObject* thisObj = thisValue.toThisObject(exec);
HashSet<JSObject*>& arrayVisitedElements = exec->globalData().arrayVisitedElements;
@@ -265,8 +268,8 @@ JSValue JSC_HOST_CALL arrayProtoFuncJoin(ExecState* exec, JSObject*, JSValue thi
JSStringBuilder strBuffer;
UString separator;
- if (!args.at(0).isUndefined())
- separator = args.at(0).toString(exec);
+ if (!exec->argument(0).isUndefined())
+ separator = exec->argument(0).toString(exec);
unsigned length = thisObj->get(exec, exec->propertyNames().length).toUInt32(exec);
unsigned k = 0;
@@ -319,13 +322,14 @@ JSValue JSC_HOST_CALL arrayProtoFuncJoin(ExecState* exec, JSObject*, JSValue thi
return strBuffer.build(exec);
}
-JSValue JSC_HOST_CALL arrayProtoFuncConcat(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL arrayProtoFuncConcat(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
JSArray* arr = constructEmptyArray(exec);
int n = 0;
JSValue curArg = thisValue.toThisObject(exec);
- ArgList::const_iterator it = args.begin();
- ArgList::const_iterator end = args.end();
+ size_t i = 0;
+ size_t argCount = exec->argumentCount();
while (1) {
if (curArg.inherits(&JSArray::info)) {
unsigned length = curArg.get(exec, exec->propertyNames().length).toUInt32(exec);
@@ -339,17 +343,18 @@ JSValue JSC_HOST_CALL arrayProtoFuncConcat(ExecState* exec, JSObject*, JSValue t
arr->put(exec, n, curArg);
n++;
}
- if (it == end)
+ if (i == argCount)
break;
- curArg = (*it);
- ++it;
+ curArg = (exec->argument(i));
+ ++i;
}
arr->setLength(n);
return arr;
}
-JSValue JSC_HOST_CALL arrayProtoFuncPop(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL arrayProtoFuncPop(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
if (isJSArray(&exec->globalData(), thisValue))
return asArray(thisValue)->pop();
@@ -367,25 +372,27 @@ JSValue JSC_HOST_CALL arrayProtoFuncPop(ExecState* exec, JSObject*, JSValue this
return result;
}
-JSValue JSC_HOST_CALL arrayProtoFuncPush(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL arrayProtoFuncPush(ExecState* exec)
{
- if (isJSArray(&exec->globalData(), thisValue) && args.size() == 1) {
+ JSValue thisValue = exec->hostThisValue();
+ if (isJSArray(&exec->globalData(), thisValue) && exec->argumentCount() == 1) {
JSArray* array = asArray(thisValue);
- array->push(exec, *args.begin());
+ array->push(exec, exec->argument(0));
return jsNumber(exec, array->length());
}
JSObject* thisObj = thisValue.toThisObject(exec);
unsigned length = thisObj->get(exec, exec->propertyNames().length).toUInt32(exec);
- for (unsigned n = 0; n < args.size(); n++)
- thisObj->put(exec, length + n, args.at(n));
- length += args.size();
+ for (unsigned n = 0; n < exec->argumentCount(); n++)
+ thisObj->put(exec, length + n, exec->argument(n));
+ length += exec->argumentCount();
putProperty(exec, thisObj, exec->propertyNames().length, jsNumber(exec, length));
return jsNumber(exec, length);
}
-JSValue JSC_HOST_CALL arrayProtoFuncReverse(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL arrayProtoFuncReverse(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
JSObject* thisObj = thisValue.toThisObject(exec);
unsigned length = thisObj->get(exec, exec->propertyNames().length).toUInt32(exec);
unsigned middle = length / 2;
@@ -408,8 +415,9 @@ JSValue JSC_HOST_CALL arrayProtoFuncReverse(ExecState* exec, JSObject*, JSValue
return thisObj;
}
-JSValue JSC_HOST_CALL arrayProtoFuncShift(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL arrayProtoFuncShift(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
JSObject* thisObj = thisValue.toThisObject(exec);
JSValue result;
@@ -431,8 +439,9 @@ JSValue JSC_HOST_CALL arrayProtoFuncShift(ExecState* exec, JSObject*, JSValue th
return result;
}
-JSValue JSC_HOST_CALL arrayProtoFuncSlice(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL arrayProtoFuncSlice(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
// http://developer.netscape.com/docs/manuals/js/client/jsref/array.htm#1193713 or 15.4.4.10
JSObject* thisObj = thisValue.toThisObject(exec);
@@ -440,7 +449,7 @@ JSValue JSC_HOST_CALL arrayProtoFuncSlice(ExecState* exec, JSObject*, JSValue th
// We return a new array
JSArray* resObj = constructEmptyArray(exec);
JSValue result = resObj;
- double begin = args.at(0).toInteger(exec);
+ double begin = exec->argument(0).toInteger(exec);
unsigned length = thisObj->get(exec, exec->propertyNames().length).toUInt32(exec);
if (begin >= 0) {
if (begin > length)
@@ -451,10 +460,10 @@ JSValue JSC_HOST_CALL arrayProtoFuncSlice(ExecState* exec, JSObject*, JSValue th
begin = 0;
}
double end;
- if (args.at(1).isUndefined())
+ if (exec->argument(1).isUndefined())
end = length;
else {
- end = args.at(1).toInteger(exec);
+ end = exec->argument(1).toInteger(exec);
if (end < 0) {
end += length;
if (end < 0)
@@ -476,11 +485,12 @@ JSValue JSC_HOST_CALL arrayProtoFuncSlice(ExecState* exec, JSObject*, JSValue th
return result;
}
-JSValue JSC_HOST_CALL arrayProtoFuncSort(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL arrayProtoFuncSort(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
JSObject* thisObj = thisValue.toThisObject(exec);
- JSValue function = args.at(0);
+ JSValue function = exec->argument(0);
CallData callData;
CallType callType = function.getCallData(callData);
@@ -534,8 +544,9 @@ JSValue JSC_HOST_CALL arrayProtoFuncSort(ExecState* exec, JSObject*, JSValue thi
return thisObj;
}
-JSValue JSC_HOST_CALL arrayProtoFuncSplice(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL arrayProtoFuncSplice(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
JSObject* thisObj = thisValue.toThisObject(exec);
// 15.4.4.12
@@ -543,11 +554,11 @@ JSValue JSC_HOST_CALL arrayProtoFuncSplice(ExecState* exec, JSObject*, JSValue t
JSValue result = resObj;
// FIXME: Firefox returns an empty array.
- if (!args.size())
+ if (!exec->argumentCount())
return jsUndefined();
unsigned length = thisObj->get(exec, exec->propertyNames().length).toUInt32(exec);
- double relativeBegin = args.at(0).toInteger(exec);
+ double relativeBegin = exec->argument(0).toInteger(exec);
unsigned begin;
if (relativeBegin < 0) {
relativeBegin += length;
@@ -556,8 +567,8 @@ JSValue JSC_HOST_CALL arrayProtoFuncSplice(ExecState* exec, JSObject*, JSValue t
begin = std::min<unsigned>(static_cast<unsigned>(relativeBegin), length);
unsigned deleteCount;
- if (args.size() > 1)
- deleteCount = std::min<int>(std::max<int>(args.at(1).toUInt32(exec), 0), length - begin);
+ if (exec->argumentCount() > 1)
+ deleteCount = std::min<int>(std::max<int>(exec->argument(1).toUInt32(exec), 0), length - begin);
else
deleteCount = length - begin;
@@ -567,7 +578,7 @@ JSValue JSC_HOST_CALL arrayProtoFuncSplice(ExecState* exec, JSObject*, JSValue t
}
resObj->setLength(deleteCount);
- unsigned additionalArgs = std::max<int>(args.size() - 2, 0);
+ unsigned additionalArgs = std::max<int>(exec->argumentCount() - 2, 0);
if (additionalArgs != deleteCount) {
if (additionalArgs < deleteCount) {
for (unsigned k = begin; k < length - deleteCount; ++k) {
@@ -588,19 +599,20 @@ JSValue JSC_HOST_CALL arrayProtoFuncSplice(ExecState* exec, JSObject*, JSValue t
}
}
for (unsigned k = 0; k < additionalArgs; ++k)
- thisObj->put(exec, k + begin, args.at(k + 2));
+ thisObj->put(exec, k + begin, exec->argument(k + 2));
putProperty(exec, thisObj, exec->propertyNames().length, jsNumber(exec, length - deleteCount + additionalArgs));
return result;
}
-JSValue JSC_HOST_CALL arrayProtoFuncUnShift(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL arrayProtoFuncUnShift(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
JSObject* thisObj = thisValue.toThisObject(exec);
// 15.4.4.13
unsigned length = thisObj->get(exec, exec->propertyNames().length).toUInt32(exec);
- unsigned nrArgs = args.size();
+ unsigned nrArgs = exec->argumentCount();
if (nrArgs) {
for (unsigned k = length; k > 0; --k) {
if (JSValue v = getProperty(exec, thisObj, k - 1))
@@ -610,23 +622,24 @@ JSValue JSC_HOST_CALL arrayProtoFuncUnShift(ExecState* exec, JSObject*, JSValue
}
}
for (unsigned k = 0; k < nrArgs; ++k)
- thisObj->put(exec, k, args.at(k));
+ thisObj->put(exec, k, exec->argument(k));
JSValue result = jsNumber(exec, length + nrArgs);
putProperty(exec, thisObj, exec->propertyNames().length, result);
return result;
}
-JSValue JSC_HOST_CALL arrayProtoFuncFilter(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL arrayProtoFuncFilter(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
JSObject* thisObj = thisValue.toThisObject(exec);
- JSValue function = args.at(0);
+ JSValue function = exec->argument(0);
CallData callData;
CallType callType = function.getCallData(callData);
if (callType == CallTypeNone)
return throwError(exec, TypeError);
- JSObject* applyThis = args.at(1).isUndefinedOrNull() ? exec->globalThisValue() : args.at(1).toObject(exec);
+ JSObject* applyThis = exec->argument(1).isUndefinedOrNull() ? exec->globalThisValue() : exec->argument(1).toObject(exec);
JSArray* resultArray = constructEmptyArray(exec);
unsigned filterIndex = 0;
@@ -674,17 +687,18 @@ JSValue JSC_HOST_CALL arrayProtoFuncFilter(ExecState* exec, JSObject*, JSValue t
return resultArray;
}
-JSValue JSC_HOST_CALL arrayProtoFuncMap(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL arrayProtoFuncMap(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
JSObject* thisObj = thisValue.toThisObject(exec);
- JSValue function = args.at(0);
+ JSValue function = exec->argument(0);
CallData callData;
CallType callType = function.getCallData(callData);
if (callType == CallTypeNone)
return throwError(exec, TypeError);
- JSObject* applyThis = args.at(1).isUndefinedOrNull() ? exec->globalThisValue() : args.at(1).toObject(exec);
+ JSObject* applyThis = exec->argument(1).isUndefinedOrNull() ? exec->globalThisValue() : exec->argument(1).toObject(exec);
unsigned length = thisObj->get(exec, exec->propertyNames().length).toUInt32(exec);
@@ -731,17 +745,18 @@ JSValue JSC_HOST_CALL arrayProtoFuncMap(ExecState* exec, JSObject*, JSValue this
// http://developer-test.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Objects:Array:forEach
// http://developer-test.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Objects:Array:some
-JSValue JSC_HOST_CALL arrayProtoFuncEvery(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL arrayProtoFuncEvery(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
JSObject* thisObj = thisValue.toThisObject(exec);
- JSValue function = args.at(0);
+ JSValue function = exec->argument(0);
CallData callData;
CallType callType = function.getCallData(callData);
if (callType == CallTypeNone)
return throwError(exec, TypeError);
- JSObject* applyThis = args.at(1).isUndefinedOrNull() ? exec->globalThisValue() : args.at(1).toObject(exec);
+ JSObject* applyThis = exec->argument(1).isUndefinedOrNull() ? exec->globalThisValue() : exec->argument(1).toObject(exec);
JSValue result = jsBoolean(true);
@@ -787,17 +802,18 @@ JSValue JSC_HOST_CALL arrayProtoFuncEvery(ExecState* exec, JSObject*, JSValue th
return result;
}
-JSValue JSC_HOST_CALL arrayProtoFuncForEach(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL arrayProtoFuncForEach(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
JSObject* thisObj = thisValue.toThisObject(exec);
- JSValue function = args.at(0);
+ JSValue function = exec->argument(0);
CallData callData;
CallType callType = function.getCallData(callData);
if (callType == CallTypeNone)
return throwError(exec, TypeError);
- JSObject* applyThis = args.at(1).isUndefinedOrNull() ? exec->globalThisValue() : args.at(1).toObject(exec);
+ JSObject* applyThis = exec->argument(1).isUndefinedOrNull() ? exec->globalThisValue() : exec->argument(1).toObject(exec);
unsigned length = thisObj->get(exec, exec->propertyNames().length).toUInt32(exec);
unsigned k = 0;
@@ -832,17 +848,18 @@ JSValue JSC_HOST_CALL arrayProtoFuncForEach(ExecState* exec, JSObject*, JSValue
return jsUndefined();
}
-JSValue JSC_HOST_CALL arrayProtoFuncSome(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL arrayProtoFuncSome(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
JSObject* thisObj = thisValue.toThisObject(exec);
- JSValue function = args.at(0);
+ JSValue function = exec->argument(0);
CallData callData;
CallType callType = function.getCallData(callData);
if (callType == CallTypeNone)
return throwError(exec, TypeError);
- JSObject* applyThis = args.at(1).isUndefinedOrNull() ? exec->globalThisValue() : args.at(1).toObject(exec);
+ JSObject* applyThis = exec->argument(1).isUndefinedOrNull() ? exec->globalThisValue() : exec->argument(1).toObject(exec);
JSValue result = jsBoolean(false);
@@ -885,11 +902,12 @@ JSValue JSC_HOST_CALL arrayProtoFuncSome(ExecState* exec, JSObject*, JSValue thi
return result;
}
-JSValue JSC_HOST_CALL arrayProtoFuncReduce(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL arrayProtoFuncReduce(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
JSObject* thisObj = thisValue.toThisObject(exec);
- JSValue function = args.at(0);
+ JSValue function = exec->argument(0);
CallData callData;
CallType callType = function.getCallData(callData);
if (callType == CallTypeNone)
@@ -898,14 +916,14 @@ JSValue JSC_HOST_CALL arrayProtoFuncReduce(ExecState* exec, JSObject*, JSValue t
unsigned i = 0;
JSValue rv;
unsigned length = thisObj->get(exec, exec->propertyNames().length).toUInt32(exec);
- if (!length && args.size() == 1)
+ if (!length && exec->argumentCount() == 1)
return throwError(exec, TypeError);
JSArray* array = 0;
if (isJSArray(&exec->globalData(), thisObj))
array = asArray(thisObj);
- if (args.size() >= 2)
- rv = args.at(1);
+ if (exec->argumentCount() >= 2)
+ rv = exec->argument(1);
else if (array && array->canGetIndex(0)){
rv = array->getIndex(0);
i = 1;
@@ -955,11 +973,12 @@ JSValue JSC_HOST_CALL arrayProtoFuncReduce(ExecState* exec, JSObject*, JSValue t
return rv;
}
-JSValue JSC_HOST_CALL arrayProtoFuncReduceRight(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL arrayProtoFuncReduceRight(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
JSObject* thisObj = thisValue.toThisObject(exec);
- JSValue function = args.at(0);
+ JSValue function = exec->argument(0);
CallData callData;
CallType callType = function.getCallData(callData);
if (callType == CallTypeNone)
@@ -968,14 +987,14 @@ JSValue JSC_HOST_CALL arrayProtoFuncReduceRight(ExecState* exec, JSObject*, JSVa
unsigned i = 0;
JSValue rv;
unsigned length = thisObj->get(exec, exec->propertyNames().length).toUInt32(exec);
- if (!length && args.size() == 1)
+ if (!length && exec->argumentCount() == 1)
return throwError(exec, TypeError);
JSArray* array = 0;
if (isJSArray(&exec->globalData(), thisObj))
array = asArray(thisObj);
- if (args.size() >= 2)
- rv = args.at(1);
+ if (exec->argumentCount() >= 2)
+ rv = exec->argument(1);
else if (array && array->canGetIndex(length - 1)){
rv = array->getIndex(length - 1);
i = 1;
@@ -1024,15 +1043,16 @@ JSValue JSC_HOST_CALL arrayProtoFuncReduceRight(ExecState* exec, JSObject*, JSVa
return rv;
}
-JSValue JSC_HOST_CALL arrayProtoFuncIndexOf(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL arrayProtoFuncIndexOf(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
// JavaScript 1.5 Extension by Mozilla
// Documentation: http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Array:indexOf
JSObject* thisObj = thisValue.toThisObject(exec);
unsigned index = 0;
- double d = args.at(1).toInteger(exec);
+ double d = exec->argument(1).toInteger(exec);
unsigned length = thisObj->get(exec, exec->propertyNames().length).toUInt32(exec);
if (d < 0)
d += length;
@@ -1043,7 +1063,7 @@ JSValue JSC_HOST_CALL arrayProtoFuncIndexOf(ExecState* exec, JSObject*, JSValue
index = static_cast<unsigned>(d);
}
- JSValue searchElement = args.at(0);
+ JSValue searchElement = exec->argument(0);
for (; index < length; ++index) {
JSValue e = getProperty(exec, thisObj, index);
if (!e)
@@ -1055,8 +1075,9 @@ JSValue JSC_HOST_CALL arrayProtoFuncIndexOf(ExecState* exec, JSObject*, JSValue
return jsNumber(exec, -1);
}
-JSValue JSC_HOST_CALL arrayProtoFuncLastIndexOf(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL arrayProtoFuncLastIndexOf(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
// JavaScript 1.6 Extension by Mozilla
// Documentation: http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Array:lastIndexOf
@@ -1064,7 +1085,7 @@ JSValue JSC_HOST_CALL arrayProtoFuncLastIndexOf(ExecState* exec, JSObject*, JSVa
unsigned length = thisObj->get(exec, exec->propertyNames().length).toUInt32(exec);
int index = length - 1;
- double d = args.at(1).toIntegerPreserveNaN(exec);
+ double d = exec->argument(1).toIntegerPreserveNaN(exec);
if (d < 0) {
d += length;
@@ -1074,7 +1095,7 @@ JSValue JSC_HOST_CALL arrayProtoFuncLastIndexOf(ExecState* exec, JSObject*, JSVa
if (d < length)
index = static_cast<int>(d);
- JSValue searchElement = args.at(0);
+ JSValue searchElement = exec->argument(0);
for (; index >= 0; --index) {
JSValue e = getProperty(exec, thisObj, index);
if (!e)
diff --git a/JavaScriptCore/runtime/BooleanConstructor.cpp b/JavaScriptCore/runtime/BooleanConstructor.cpp
index 07bcc97..bc12858 100644
--- a/JavaScriptCore/runtime/BooleanConstructor.cpp
+++ b/JavaScriptCore/runtime/BooleanConstructor.cpp
@@ -57,9 +57,9 @@ ConstructType BooleanConstructor::getConstructData(ConstructData& constructData)
}
// ECMA 15.6.1
-static JSValue JSC_HOST_CALL callBooleanConstructor(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+static JSValue JSC_HOST_CALL callBooleanConstructor(ExecState* exec)
{
- return jsBoolean(args.at(0).toBoolean(exec));
+ return jsBoolean(exec->argument(0).toBoolean(exec));
}
CallType BooleanConstructor::getCallData(CallData& callData)
diff --git a/JavaScriptCore/runtime/BooleanPrototype.cpp b/JavaScriptCore/runtime/BooleanPrototype.cpp
index 4378164..dbb27b2 100644
--- a/JavaScriptCore/runtime/BooleanPrototype.cpp
+++ b/JavaScriptCore/runtime/BooleanPrototype.cpp
@@ -32,8 +32,8 @@ namespace JSC {
ASSERT_CLASS_FITS_IN_CELL(BooleanPrototype);
// Functions
-static JSValue JSC_HOST_CALL booleanProtoFuncToString(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL booleanProtoFuncValueOf(ExecState*, JSObject*, JSValue, const ArgList&);
+static JSValue JSC_HOST_CALL booleanProtoFuncToString(ExecState*);
+static JSValue JSC_HOST_CALL booleanProtoFuncValueOf(ExecState*);
// ECMA 15.6.4
@@ -51,8 +51,9 @@ BooleanPrototype::BooleanPrototype(ExecState* exec, JSGlobalObject* globalObject
// ECMA 15.6.4.2 + 15.6.4.3
-JSValue JSC_HOST_CALL booleanProtoFuncToString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL booleanProtoFuncToString(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
if (thisValue == jsBoolean(false))
return jsNontrivialString(exec, "false");
@@ -69,8 +70,9 @@ JSValue JSC_HOST_CALL booleanProtoFuncToString(ExecState* exec, JSObject*, JSVal
return jsNontrivialString(exec, "true");
}
-JSValue JSC_HOST_CALL booleanProtoFuncValueOf(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL booleanProtoFuncValueOf(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
if (thisValue.isBoolean())
return thisValue;
diff --git a/JavaScriptCore/runtime/CallData.cpp b/JavaScriptCore/runtime/CallData.cpp
index 62e42fe..2b9302a 100644
--- a/JavaScriptCore/runtime/CallData.cpp
+++ b/JavaScriptCore/runtime/CallData.cpp
@@ -26,17 +26,16 @@
#include "config.h"
#include "CallData.h"
+#include "Executable.h"
+#include "Interpreter.h"
#include "JSFunction.h"
namespace JSC {
JSValue call(ExecState* exec, JSValue functionObject, CallType callType, const CallData& callData, JSValue thisValue, const ArgList& args)
{
- if (callType == CallTypeHost)
- return callData.native.function(exec, asObject(functionObject), thisValue, args);
- ASSERT(callType == CallTypeJS);
- // FIXME: Can this be done more efficiently using the callData?
- return asFunction(functionObject)->call(exec, thisValue, args);
+ ASSERT(callType == CallTypeJS || callType == CallTypeHost);
+ return exec->interpreter()->executeCall(exec, asObject(functionObject), callType, callData, thisValue, args, exec->exceptionSlot());
}
} // namespace JSC
diff --git a/JavaScriptCore/runtime/CallData.h b/JavaScriptCore/runtime/CallData.h
index 24c19f9..5294e54 100644
--- a/JavaScriptCore/runtime/CallData.h
+++ b/JavaScriptCore/runtime/CallData.h
@@ -46,7 +46,7 @@ namespace JSC {
CallTypeJS
};
- typedef JSValue (JSC_HOST_CALL *NativeFunction)(ExecState*, JSObject*, JSValue thisValue, const ArgList&);
+ typedef JSValue (JSC_HOST_CALL *NativeFunction)(ExecState*);
union CallData {
struct {
diff --git a/JavaScriptCore/runtime/Collector.cpp b/JavaScriptCore/runtime/Collector.cpp
index 014685f..03389c4 100644
--- a/JavaScriptCore/runtime/Collector.cpp
+++ b/JavaScriptCore/runtime/Collector.cpp
@@ -394,7 +394,8 @@ allocate:
++m_heap.nextCell;
return cell;
}
- } while (++m_heap.nextCell != HeapConstants::cellsPerBlock);
+ block->marked.advanceToNextPossibleFreeCell(m_heap.nextCell);
+ } while (m_heap.nextCell != HeapConstants::cellsPerBlock);
m_heap.nextCell = 0;
} while (++m_heap.nextBlock != m_heap.usedBlocks);
diff --git a/JavaScriptCore/runtime/Collector.h b/JavaScriptCore/runtime/Collector.h
index 0a40758..34e238c 100644
--- a/JavaScriptCore/runtime/Collector.h
+++ b/JavaScriptCore/runtime/Collector.h
@@ -220,6 +220,13 @@ namespace JSC {
void set(size_t n) { bits[n >> 5] |= (1 << (n & 0x1F)); }
void clear(size_t n) { bits[n >> 5] &= ~(1 << (n & 0x1F)); }
void clearAll() { memset(bits, 0, sizeof(bits)); }
+ ALWAYS_INLINE void advanceToNextPossibleFreeCell(size_t& startCell)
+ {
+ if (!~bits[startCell >> 5])
+ startCell = (startCell & (~0x1F)) + 32;
+ else
+ ++startCell;
+ }
size_t count(size_t startCell = 0)
{
size_t result = 0;
diff --git a/JavaScriptCore/runtime/ConstructData.cpp b/JavaScriptCore/runtime/ConstructData.cpp
index 7ee59d7..a7b97e6 100644
--- a/JavaScriptCore/runtime/ConstructData.cpp
+++ b/JavaScriptCore/runtime/ConstructData.cpp
@@ -26,7 +26,10 @@
#include "config.h"
#include "ConstructData.h"
+#include "Executable.h"
+#include "Interpreter.h"
#include "JSFunction.h"
+#include "JSGlobalObject.h"
namespace JSC {
@@ -34,9 +37,23 @@ JSObject* construct(ExecState* exec, JSValue object, ConstructType constructType
{
if (constructType == ConstructTypeHost)
return constructData.native.function(exec, asObject(object), args);
+
ASSERT(constructType == ConstructTypeJS);
- // FIXME: Can this be done more efficiently using the constructData?
- return asFunction(object)->construct(exec, args);
+ JSFunction* jsFunction = asFunction(object);
+
+ ASSERT(!jsFunction->isHostFunction());
+ Structure* structure;
+ JSValue prototype = jsFunction->get(exec, exec->propertyNames().prototype);
+ if (prototype.isObject())
+ structure = asObject(prototype)->inheritorID();
+ else
+ structure = exec->lexicalGlobalObject()->emptyObjectStructure();
+ JSObject* thisObj = new (exec) JSObject(structure);
+
+ JSValue result = exec->interpreter()->executeConstruct(jsFunction->jsExecutable(), exec, jsFunction, thisObj, args, jsFunction->scope().node(), exec->exceptionSlot());
+ if (exec->hadException() || !result.isObject())
+ return thisObj;
+ return asObject(result);
}
} // namespace JSC
diff --git a/JavaScriptCore/runtime/DateConstructor.cpp b/JavaScriptCore/runtime/DateConstructor.cpp
index d732a4f..015a01a 100644
--- a/JavaScriptCore/runtime/DateConstructor.cpp
+++ b/JavaScriptCore/runtime/DateConstructor.cpp
@@ -54,9 +54,9 @@ namespace JSC {
ASSERT_CLASS_FITS_IN_CELL(DateConstructor);
-static JSValue JSC_HOST_CALL dateParse(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateNow(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateUTC(ExecState*, JSObject*, JSValue, const ArgList&);
+static JSValue JSC_HOST_CALL dateParse(ExecState*);
+static JSValue JSC_HOST_CALL dateNow(ExecState*);
+static JSValue JSC_HOST_CALL dateUTC(ExecState*);
DateConstructor::DateConstructor(ExecState* exec, JSGlobalObject* globalObject, NonNullPassRefPtr<Structure> structure, Structure* prototypeFunctionStructure, DatePrototype* datePrototype)
: InternalFunction(&exec->globalData(), globalObject, structure, Identifier(exec, datePrototype->classInfo()->className))
@@ -128,7 +128,7 @@ ConstructType DateConstructor::getConstructData(ConstructData& constructData)
}
// ECMA 15.9.2
-static JSValue JSC_HOST_CALL callDate(ExecState* exec, JSObject*, JSValue, const ArgList&)
+static JSValue JSC_HOST_CALL callDate(ExecState* exec)
{
time_t localTime = time(0);
tm localTM;
@@ -147,37 +147,37 @@ CallType DateConstructor::getCallData(CallData& callData)
return CallTypeHost;
}
-static JSValue JSC_HOST_CALL dateParse(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+static JSValue JSC_HOST_CALL dateParse(ExecState* exec)
{
- return jsNumber(exec, parseDate(exec, args.at(0).toString(exec)));
+ return jsNumber(exec, parseDate(exec, exec->argument(0).toString(exec)));
}
-static JSValue JSC_HOST_CALL dateNow(ExecState* exec, JSObject*, JSValue, const ArgList&)
+static JSValue JSC_HOST_CALL dateNow(ExecState* exec)
{
return jsNumber(exec, jsCurrentTime());
}
-static JSValue JSC_HOST_CALL dateUTC(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+static JSValue JSC_HOST_CALL dateUTC(ExecState* exec)
{
- int n = args.size();
- if (isnan(args.at(0).toNumber(exec))
- || isnan(args.at(1).toNumber(exec))
- || (n >= 3 && isnan(args.at(2).toNumber(exec)))
- || (n >= 4 && isnan(args.at(3).toNumber(exec)))
- || (n >= 5 && isnan(args.at(4).toNumber(exec)))
- || (n >= 6 && isnan(args.at(5).toNumber(exec)))
- || (n >= 7 && isnan(args.at(6).toNumber(exec))))
+ int n = exec->argumentCount();
+ if (isnan(exec->argument(0).toNumber(exec))
+ || isnan(exec->argument(1).toNumber(exec))
+ || (n >= 3 && isnan(exec->argument(2).toNumber(exec)))
+ || (n >= 4 && isnan(exec->argument(3).toNumber(exec)))
+ || (n >= 5 && isnan(exec->argument(4).toNumber(exec)))
+ || (n >= 6 && isnan(exec->argument(5).toNumber(exec)))
+ || (n >= 7 && isnan(exec->argument(6).toNumber(exec))))
return jsNaN(exec);
GregorianDateTime t;
- int year = args.at(0).toInt32(exec);
+ int year = exec->argument(0).toInt32(exec);
t.year = (year >= 0 && year <= 99) ? year : year - 1900;
- t.month = args.at(1).toInt32(exec);
- t.monthDay = (n >= 3) ? args.at(2).toInt32(exec) : 1;
- t.hour = args.at(3).toInt32(exec);
- t.minute = args.at(4).toInt32(exec);
- t.second = args.at(5).toInt32(exec);
- double ms = (n >= 7) ? args.at(6).toNumber(exec) : 0;
+ t.month = exec->argument(1).toInt32(exec);
+ t.monthDay = (n >= 3) ? exec->argument(2).toInt32(exec) : 1;
+ t.hour = exec->argument(3).toInt32(exec);
+ t.minute = exec->argument(4).toInt32(exec);
+ t.second = exec->argument(5).toInt32(exec);
+ double ms = (n >= 7) ? exec->argument(6).toNumber(exec) : 0;
return jsNumber(exec, timeClip(gregorianDateTimeToMS(exec, t, ms, true)));
}
diff --git a/JavaScriptCore/runtime/DatePrototype.cpp b/JavaScriptCore/runtime/DatePrototype.cpp
index a5dfabd..c31a4d0 100644
--- a/JavaScriptCore/runtime/DatePrototype.cpp
+++ b/JavaScriptCore/runtime/DatePrototype.cpp
@@ -73,52 +73,51 @@ namespace JSC {
ASSERT_CLASS_FITS_IN_CELL(DatePrototype);
-static JSValue JSC_HOST_CALL dateProtoFuncGetDate(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncGetDay(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncGetFullYear(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncGetHours(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncGetMilliSeconds(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncGetMinutes(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncGetMonth(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncGetSeconds(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncGetTime(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncGetTimezoneOffset(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncGetUTCDate(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncGetUTCDay(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncGetUTCFullYear(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncGetUTCHours(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncGetUTCMilliseconds(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncGetUTCMinutes(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncGetUTCMonth(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncGetUTCSeconds(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncGetYear(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncSetDate(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncSetFullYear(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncSetHours(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncSetMilliSeconds(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncSetMinutes(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncSetMonth(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncSetSeconds(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncSetTime(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncSetUTCDate(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncSetUTCFullYear(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncSetUTCHours(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncSetUTCMilliseconds(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncSetUTCMinutes(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncSetUTCMonth(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncSetUTCSeconds(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncSetYear(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncToDateString(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncToGMTString(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncToLocaleDateString(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncToLocaleString(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncToLocaleTimeString(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncToString(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncToTimeString(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncToUTCString(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL dateProtoFuncToISOString(ExecState*, JSObject*, JSValue, const ArgList&);
-
-static JSValue JSC_HOST_CALL dateProtoFuncToJSON(ExecState*, JSObject*, JSValue, const ArgList&);
+static JSValue JSC_HOST_CALL dateProtoFuncGetDate(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncGetDay(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncGetFullYear(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncGetHours(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncGetMilliSeconds(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncGetMinutes(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncGetMonth(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncGetSeconds(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncGetTime(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncGetTimezoneOffset(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncGetUTCDate(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncGetUTCDay(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncGetUTCFullYear(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncGetUTCHours(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncGetUTCMilliseconds(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncGetUTCMinutes(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncGetUTCMonth(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncGetUTCSeconds(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncGetYear(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncSetDate(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncSetFullYear(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncSetHours(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncSetMilliSeconds(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncSetMinutes(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncSetMonth(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncSetSeconds(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncSetTime(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncSetUTCDate(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncSetUTCFullYear(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncSetUTCHours(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncSetUTCMilliseconds(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncSetUTCMinutes(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncSetUTCMonth(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncSetUTCSeconds(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncSetYear(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncToDateString(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncToGMTString(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncToLocaleDateString(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncToLocaleString(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncToLocaleTimeString(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncToString(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncToTimeString(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncToUTCString(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncToISOString(ExecState*);
+static JSValue JSC_HOST_CALL dateProtoFuncToJSON(ExecState*);
}
@@ -146,7 +145,7 @@ static CFDateFormatterStyle styleFromArgString(const UString& string, CFDateForm
return defaultStyle;
}
-static JSCell* formatLocaleDate(ExecState* exec, DateInstance*, double timeInMilliseconds, LocaleDateTimeFormat format, const ArgList& args)
+static JSCell* formatLocaleDate(ExecState* exec, DateInstance*, double timeInMilliseconds, LocaleDateTimeFormat format)
{
CFDateFormatterStyle dateStyle = (format != LocaleTime ? kCFDateFormatterLongStyle : kCFDateFormatterNoStyle);
CFDateFormatterStyle timeStyle = (format != LocaleDate ? kCFDateFormatterLongStyle : kCFDateFormatterNoStyle);
@@ -154,16 +153,16 @@ static JSCell* formatLocaleDate(ExecState* exec, DateInstance*, double timeInMil
bool useCustomFormat = false;
UString customFormatString;
- UString arg0String = args.at(0).toString(exec);
- if (arg0String == "custom" && !args.at(1).isUndefined()) {
+ UString arg0String = exec->argument(0).toString(exec);
+ if (arg0String == "custom" && !exec->argument(1).isUndefined()) {
useCustomFormat = true;
- customFormatString = args.at(1).toString(exec);
- } else if (format == LocaleDateAndTime && !args.at(1).isUndefined()) {
+ customFormatString = exec->argument(1).toString(exec);
+ } else if (format == LocaleDateAndTime && !exec->argument(1).isUndefined()) {
dateStyle = styleFromArgString(arg0String, dateStyle);
- timeStyle = styleFromArgString(args.at(1).toString(exec), timeStyle);
- } else if (format != LocaleTime && !args.at(0).isUndefined())
+ timeStyle = styleFromArgString(exec->argument(1).toString(exec), timeStyle);
+ } else if (format != LocaleTime && !exec->argument(0).isUndefined())
dateStyle = styleFromArgString(arg0String, dateStyle);
- else if (format != LocaleDate && !args.at(0).isUndefined())
+ else if (format != LocaleDate && !exec->argument(0).isUndefined())
timeStyle = styleFromArgString(arg0String, timeStyle);
CFLocaleRef locale = CFLocaleCopyCurrent();
@@ -274,7 +273,7 @@ static JSCell* formatLocaleDate(ExecState* exec, const GregorianDateTime& gdt, L
return jsNontrivialString(exec, timebuffer);
}
-static JSCell* formatLocaleDate(ExecState* exec, DateInstance* dateObject, double, LocaleDateTimeFormat format, const ArgList&)
+static JSCell* formatLocaleDate(ExecState* exec, DateInstance* dateObject, double, LocaleDateTimeFormat format)
{
const GregorianDateTime* gregorianDateTime = dateObject->gregorianDateTime(exec);
if (!gregorianDateTime)
@@ -288,12 +287,12 @@ static JSCell* formatLocaleDate(ExecState* exec, DateInstance* dateObject, doubl
// ms (representing milliseconds) and t (representing the rest of the date structure) appropriately.
//
// Format of member function: f([hour,] [min,] [sec,] [ms])
-static bool fillStructuresUsingTimeArgs(ExecState* exec, const ArgList& args, int maxArgs, double* ms, GregorianDateTime* t)
+static bool fillStructuresUsingTimeArgs(ExecState* exec, int maxArgs, double* ms, GregorianDateTime* t)
{
double milliseconds = 0;
bool ok = true;
int idx = 0;
- int numArgs = args.size();
+ int numArgs = exec->argumentCount();
// JS allows extra trailing arguments -- ignore them
if (numArgs > maxArgs)
@@ -302,19 +301,19 @@ static bool fillStructuresUsingTimeArgs(ExecState* exec, const ArgList& args, in
// hours
if (maxArgs >= 4 && idx < numArgs) {
t->hour = 0;
- milliseconds += args.at(idx++).toInt32(exec, ok) * msPerHour;
+ milliseconds += exec->argument(idx++).toInt32(exec, ok) * msPerHour;
}
// minutes
if (maxArgs >= 3 && idx < numArgs && ok) {
t->minute = 0;
- milliseconds += args.at(idx++).toInt32(exec, ok) * msPerMinute;
+ milliseconds += exec->argument(idx++).toInt32(exec, ok) * msPerMinute;
}
// seconds
if (maxArgs >= 2 && idx < numArgs && ok) {
t->second = 0;
- milliseconds += args.at(idx++).toInt32(exec, ok) * msPerSecond;
+ milliseconds += exec->argument(idx++).toInt32(exec, ok) * msPerSecond;
}
if (!ok)
@@ -322,7 +321,7 @@ static bool fillStructuresUsingTimeArgs(ExecState* exec, const ArgList& args, in
// milliseconds
if (idx < numArgs) {
- double millis = args.at(idx).toNumber(exec);
+ double millis = exec->argument(idx).toNumber(exec);
ok = isfinite(millis);
milliseconds += millis;
} else
@@ -336,11 +335,11 @@ static bool fillStructuresUsingTimeArgs(ExecState* exec, const ArgList& args, in
// ms (representing milliseconds) and t (representing the rest of the date structure) appropriately.
//
// Format of member function: f([years,] [months,] [days])
-static bool fillStructuresUsingDateArgs(ExecState *exec, const ArgList& args, int maxArgs, double *ms, GregorianDateTime *t)
+static bool fillStructuresUsingDateArgs(ExecState *exec, int maxArgs, double *ms, GregorianDateTime *t)
{
int idx = 0;
bool ok = true;
- int numArgs = args.size();
+ int numArgs = exec->argumentCount();
// JS allows extra trailing arguments -- ignore them
if (numArgs > maxArgs)
@@ -348,16 +347,16 @@ static bool fillStructuresUsingDateArgs(ExecState *exec, const ArgList& args, in
// years
if (maxArgs >= 3 && idx < numArgs)
- t->year = args.at(idx++).toInt32(exec, ok) - 1900;
+ t->year = exec->argument(idx++).toInt32(exec, ok) - 1900;
// months
if (maxArgs >= 2 && idx < numArgs && ok)
- t->month = args.at(idx++).toInt32(exec, ok);
+ t->month = exec->argument(idx++).toInt32(exec, ok);
// days
if (idx < numArgs && ok) {
t->monthDay = 0;
- *ms += args.at(idx).toInt32(exec, ok) * msPerDay;
+ *ms += exec->argument(idx).toInt32(exec, ok) * msPerDay;
}
return ok;
@@ -438,8 +437,9 @@ bool DatePrototype::getOwnPropertyDescriptor(ExecState* exec, const Identifier&
// Functions
-JSValue JSC_HOST_CALL dateProtoFuncToString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL dateProtoFuncToString(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
@@ -455,8 +455,9 @@ JSValue JSC_HOST_CALL dateProtoFuncToString(ExecState* exec, JSObject*, JSValue
return jsMakeNontrivialString(exec, date, " ", time);
}
-JSValue JSC_HOST_CALL dateProtoFuncToUTCString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL dateProtoFuncToUTCString(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
@@ -472,8 +473,9 @@ JSValue JSC_HOST_CALL dateProtoFuncToUTCString(ExecState* exec, JSObject*, JSVal
return jsMakeNontrivialString(exec, date, " ", time);
}
-JSValue JSC_HOST_CALL dateProtoFuncToISOString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL dateProtoFuncToISOString(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
@@ -490,8 +492,9 @@ JSValue JSC_HOST_CALL dateProtoFuncToISOString(ExecState* exec, JSObject*, JSVal
return jsNontrivialString(exec, buffer);
}
-JSValue JSC_HOST_CALL dateProtoFuncToDateString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL dateProtoFuncToDateString(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
@@ -505,8 +508,9 @@ JSValue JSC_HOST_CALL dateProtoFuncToDateString(ExecState* exec, JSObject*, JSVa
return jsNontrivialString(exec, date);
}
-JSValue JSC_HOST_CALL dateProtoFuncToTimeString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL dateProtoFuncToTimeString(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
@@ -520,43 +524,48 @@ JSValue JSC_HOST_CALL dateProtoFuncToTimeString(ExecState* exec, JSObject*, JSVa
return jsNontrivialString(exec, time);
}
-JSValue JSC_HOST_CALL dateProtoFuncToLocaleString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL dateProtoFuncToLocaleString(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
DateInstance* thisDateObj = asDateInstance(thisValue);
- return formatLocaleDate(exec, thisDateObj, thisDateObj->internalNumber(), LocaleDateAndTime, args);
+ return formatLocaleDate(exec, thisDateObj, thisDateObj->internalNumber(), LocaleDateAndTime);
}
-JSValue JSC_HOST_CALL dateProtoFuncToLocaleDateString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL dateProtoFuncToLocaleDateString(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
DateInstance* thisDateObj = asDateInstance(thisValue);
- return formatLocaleDate(exec, thisDateObj, thisDateObj->internalNumber(), LocaleDate, args);
+ return formatLocaleDate(exec, thisDateObj, thisDateObj->internalNumber(), LocaleDate);
}
-JSValue JSC_HOST_CALL dateProtoFuncToLocaleTimeString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL dateProtoFuncToLocaleTimeString(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
DateInstance* thisDateObj = asDateInstance(thisValue);
- return formatLocaleDate(exec, thisDateObj, thisDateObj->internalNumber(), LocaleTime, args);
+ return formatLocaleDate(exec, thisDateObj, thisDateObj->internalNumber(), LocaleTime);
}
-JSValue JSC_HOST_CALL dateProtoFuncGetTime(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL dateProtoFuncGetTime(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
return asDateInstance(thisValue)->internalValue();
}
-JSValue JSC_HOST_CALL dateProtoFuncGetFullYear(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL dateProtoFuncGetFullYear(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
@@ -568,8 +577,9 @@ JSValue JSC_HOST_CALL dateProtoFuncGetFullYear(ExecState* exec, JSObject*, JSVal
return jsNumber(exec, 1900 + gregorianDateTime->year);
}
-JSValue JSC_HOST_CALL dateProtoFuncGetUTCFullYear(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL dateProtoFuncGetUTCFullYear(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
@@ -581,8 +591,9 @@ JSValue JSC_HOST_CALL dateProtoFuncGetUTCFullYear(ExecState* exec, JSObject*, JS
return jsNumber(exec, 1900 + gregorianDateTime->year);
}
-JSValue JSC_HOST_CALL dateProtoFuncToGMTString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL dateProtoFuncToGMTString(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
@@ -598,8 +609,9 @@ JSValue JSC_HOST_CALL dateProtoFuncToGMTString(ExecState* exec, JSObject*, JSVal
return jsMakeNontrivialString(exec, date, " ", time);
}
-JSValue JSC_HOST_CALL dateProtoFuncGetMonth(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL dateProtoFuncGetMonth(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
@@ -611,8 +623,9 @@ JSValue JSC_HOST_CALL dateProtoFuncGetMonth(ExecState* exec, JSObject*, JSValue
return jsNumber(exec, gregorianDateTime->month);
}
-JSValue JSC_HOST_CALL dateProtoFuncGetUTCMonth(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL dateProtoFuncGetUTCMonth(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
@@ -624,8 +637,9 @@ JSValue JSC_HOST_CALL dateProtoFuncGetUTCMonth(ExecState* exec, JSObject*, JSVal
return jsNumber(exec, gregorianDateTime->month);
}
-JSValue JSC_HOST_CALL dateProtoFuncGetDate(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL dateProtoFuncGetDate(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
@@ -637,8 +651,9 @@ JSValue JSC_HOST_CALL dateProtoFuncGetDate(ExecState* exec, JSObject*, JSValue t
return jsNumber(exec, gregorianDateTime->monthDay);
}
-JSValue JSC_HOST_CALL dateProtoFuncGetUTCDate(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL dateProtoFuncGetUTCDate(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
@@ -650,8 +665,9 @@ JSValue JSC_HOST_CALL dateProtoFuncGetUTCDate(ExecState* exec, JSObject*, JSValu
return jsNumber(exec, gregorianDateTime->monthDay);
}
-JSValue JSC_HOST_CALL dateProtoFuncGetDay(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL dateProtoFuncGetDay(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
@@ -663,8 +679,9 @@ JSValue JSC_HOST_CALL dateProtoFuncGetDay(ExecState* exec, JSObject*, JSValue th
return jsNumber(exec, gregorianDateTime->weekDay);
}
-JSValue JSC_HOST_CALL dateProtoFuncGetUTCDay(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL dateProtoFuncGetUTCDay(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
@@ -676,8 +693,9 @@ JSValue JSC_HOST_CALL dateProtoFuncGetUTCDay(ExecState* exec, JSObject*, JSValue
return jsNumber(exec, gregorianDateTime->weekDay);
}
-JSValue JSC_HOST_CALL dateProtoFuncGetHours(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL dateProtoFuncGetHours(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
@@ -689,8 +707,9 @@ JSValue JSC_HOST_CALL dateProtoFuncGetHours(ExecState* exec, JSObject*, JSValue
return jsNumber(exec, gregorianDateTime->hour);
}
-JSValue JSC_HOST_CALL dateProtoFuncGetUTCHours(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL dateProtoFuncGetUTCHours(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
@@ -702,8 +721,9 @@ JSValue JSC_HOST_CALL dateProtoFuncGetUTCHours(ExecState* exec, JSObject*, JSVal
return jsNumber(exec, gregorianDateTime->hour);
}
-JSValue JSC_HOST_CALL dateProtoFuncGetMinutes(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL dateProtoFuncGetMinutes(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
@@ -715,8 +735,9 @@ JSValue JSC_HOST_CALL dateProtoFuncGetMinutes(ExecState* exec, JSObject*, JSValu
return jsNumber(exec, gregorianDateTime->minute);
}
-JSValue JSC_HOST_CALL dateProtoFuncGetUTCMinutes(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL dateProtoFuncGetUTCMinutes(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
@@ -728,8 +749,9 @@ JSValue JSC_HOST_CALL dateProtoFuncGetUTCMinutes(ExecState* exec, JSObject*, JSV
return jsNumber(exec, gregorianDateTime->minute);
}
-JSValue JSC_HOST_CALL dateProtoFuncGetSeconds(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL dateProtoFuncGetSeconds(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
@@ -741,8 +763,9 @@ JSValue JSC_HOST_CALL dateProtoFuncGetSeconds(ExecState* exec, JSObject*, JSValu
return jsNumber(exec, gregorianDateTime->second);
}
-JSValue JSC_HOST_CALL dateProtoFuncGetUTCSeconds(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL dateProtoFuncGetUTCSeconds(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
@@ -754,8 +777,9 @@ JSValue JSC_HOST_CALL dateProtoFuncGetUTCSeconds(ExecState* exec, JSObject*, JSV
return jsNumber(exec, gregorianDateTime->second);
}
-JSValue JSC_HOST_CALL dateProtoFuncGetMilliSeconds(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL dateProtoFuncGetMilliSeconds(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
@@ -769,8 +793,9 @@ JSValue JSC_HOST_CALL dateProtoFuncGetMilliSeconds(ExecState* exec, JSObject*, J
return jsNumber(exec, ms);
}
-JSValue JSC_HOST_CALL dateProtoFuncGetUTCMilliseconds(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL dateProtoFuncGetUTCMilliseconds(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
@@ -784,8 +809,9 @@ JSValue JSC_HOST_CALL dateProtoFuncGetUTCMilliseconds(ExecState* exec, JSObject*
return jsNumber(exec, ms);
}
-JSValue JSC_HOST_CALL dateProtoFuncGetTimezoneOffset(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL dateProtoFuncGetTimezoneOffset(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
@@ -797,28 +823,30 @@ JSValue JSC_HOST_CALL dateProtoFuncGetTimezoneOffset(ExecState* exec, JSObject*,
return jsNumber(exec, -gregorianDateTime->utcOffset / minutesPerHour);
}
-JSValue JSC_HOST_CALL dateProtoFuncSetTime(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL dateProtoFuncSetTime(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
DateInstance* thisDateObj = asDateInstance(thisValue);
- double milli = timeClip(args.at(0).toNumber(exec));
+ double milli = timeClip(exec->argument(0).toNumber(exec));
JSValue result = jsNumber(exec, milli);
thisDateObj->setInternalValue(result);
return result;
}
-static JSValue setNewValueFromTimeArgs(ExecState* exec, JSValue thisValue, const ArgList& args, int numArgsToUse, bool inputIsUTC)
+static JSValue setNewValueFromTimeArgs(ExecState* exec, int numArgsToUse, bool inputIsUTC)
{
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
DateInstance* thisDateObj = asDateInstance(thisValue);
double milli = thisDateObj->internalNumber();
- if (args.isEmpty() || isnan(milli)) {
+ if (!exec->argumentCount() || isnan(milli)) {
JSValue result = jsNaN(exec);
thisDateObj->setInternalValue(result);
return result;
@@ -835,7 +863,7 @@ static JSValue setNewValueFromTimeArgs(ExecState* exec, JSValue thisValue, const
GregorianDateTime gregorianDateTime;
gregorianDateTime.copyFrom(*other);
- if (!fillStructuresUsingTimeArgs(exec, args, numArgsToUse, &ms, &gregorianDateTime)) {
+ if (!fillStructuresUsingTimeArgs(exec, numArgsToUse, &ms, &gregorianDateTime)) {
JSValue result = jsNaN(exec);
thisDateObj->setInternalValue(result);
return result;
@@ -846,13 +874,14 @@ static JSValue setNewValueFromTimeArgs(ExecState* exec, JSValue thisValue, const
return result;
}
-static JSValue setNewValueFromDateArgs(ExecState* exec, JSValue thisValue, const ArgList& args, int numArgsToUse, bool inputIsUTC)
+static JSValue setNewValueFromDateArgs(ExecState* exec, int numArgsToUse, bool inputIsUTC)
{
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
DateInstance* thisDateObj = asDateInstance(thisValue);
- if (args.isEmpty()) {
+ if (!exec->argumentCount()) {
JSValue result = jsNaN(exec);
thisDateObj->setInternalValue(result);
return result;
@@ -874,7 +903,7 @@ static JSValue setNewValueFromDateArgs(ExecState* exec, JSValue thisValue, const
gregorianDateTime.copyFrom(*other);
}
- if (!fillStructuresUsingDateArgs(exec, args, numArgsToUse, &ms, &gregorianDateTime)) {
+ if (!fillStructuresUsingDateArgs(exec, numArgsToUse, &ms, &gregorianDateTime)) {
JSValue result = jsNaN(exec);
thisDateObj->setInternalValue(result);
return result;
@@ -885,97 +914,98 @@ static JSValue setNewValueFromDateArgs(ExecState* exec, JSValue thisValue, const
return result;
}
-JSValue JSC_HOST_CALL dateProtoFuncSetMilliSeconds(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL dateProtoFuncSetMilliSeconds(ExecState* exec)
{
const bool inputIsUTC = false;
- return setNewValueFromTimeArgs(exec, thisValue, args, 1, inputIsUTC);
+ return setNewValueFromTimeArgs(exec, 1, inputIsUTC);
}
-JSValue JSC_HOST_CALL dateProtoFuncSetUTCMilliseconds(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL dateProtoFuncSetUTCMilliseconds(ExecState* exec)
{
const bool inputIsUTC = true;
- return setNewValueFromTimeArgs(exec, thisValue, args, 1, inputIsUTC);
+ return setNewValueFromTimeArgs(exec, 1, inputIsUTC);
}
-JSValue JSC_HOST_CALL dateProtoFuncSetSeconds(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL dateProtoFuncSetSeconds(ExecState* exec)
{
const bool inputIsUTC = false;
- return setNewValueFromTimeArgs(exec, thisValue, args, 2, inputIsUTC);
+ return setNewValueFromTimeArgs(exec, 2, inputIsUTC);
}
-JSValue JSC_HOST_CALL dateProtoFuncSetUTCSeconds(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL dateProtoFuncSetUTCSeconds(ExecState* exec)
{
const bool inputIsUTC = true;
- return setNewValueFromTimeArgs(exec, thisValue, args, 2, inputIsUTC);
+ return setNewValueFromTimeArgs(exec, 2, inputIsUTC);
}
-JSValue JSC_HOST_CALL dateProtoFuncSetMinutes(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL dateProtoFuncSetMinutes(ExecState* exec)
{
const bool inputIsUTC = false;
- return setNewValueFromTimeArgs(exec, thisValue, args, 3, inputIsUTC);
+ return setNewValueFromTimeArgs(exec, 3, inputIsUTC);
}
-JSValue JSC_HOST_CALL dateProtoFuncSetUTCMinutes(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL dateProtoFuncSetUTCMinutes(ExecState* exec)
{
const bool inputIsUTC = true;
- return setNewValueFromTimeArgs(exec, thisValue, args, 3, inputIsUTC);
+ return setNewValueFromTimeArgs(exec, 3, inputIsUTC);
}
-JSValue JSC_HOST_CALL dateProtoFuncSetHours(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL dateProtoFuncSetHours(ExecState* exec)
{
const bool inputIsUTC = false;
- return setNewValueFromTimeArgs(exec, thisValue, args, 4, inputIsUTC);
+ return setNewValueFromTimeArgs(exec, 4, inputIsUTC);
}
-JSValue JSC_HOST_CALL dateProtoFuncSetUTCHours(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL dateProtoFuncSetUTCHours(ExecState* exec)
{
const bool inputIsUTC = true;
- return setNewValueFromTimeArgs(exec, thisValue, args, 4, inputIsUTC);
+ return setNewValueFromTimeArgs(exec, 4, inputIsUTC);
}
-JSValue JSC_HOST_CALL dateProtoFuncSetDate(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL dateProtoFuncSetDate(ExecState* exec)
{
const bool inputIsUTC = false;
- return setNewValueFromDateArgs(exec, thisValue, args, 1, inputIsUTC);
+ return setNewValueFromDateArgs(exec, 1, inputIsUTC);
}
-JSValue JSC_HOST_CALL dateProtoFuncSetUTCDate(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL dateProtoFuncSetUTCDate(ExecState* exec)
{
const bool inputIsUTC = true;
- return setNewValueFromDateArgs(exec, thisValue, args, 1, inputIsUTC);
+ return setNewValueFromDateArgs(exec, 1, inputIsUTC);
}
-JSValue JSC_HOST_CALL dateProtoFuncSetMonth(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL dateProtoFuncSetMonth(ExecState* exec)
{
const bool inputIsUTC = false;
- return setNewValueFromDateArgs(exec, thisValue, args, 2, inputIsUTC);
+ return setNewValueFromDateArgs(exec, 2, inputIsUTC);
}
-JSValue JSC_HOST_CALL dateProtoFuncSetUTCMonth(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL dateProtoFuncSetUTCMonth(ExecState* exec)
{
const bool inputIsUTC = true;
- return setNewValueFromDateArgs(exec, thisValue, args, 2, inputIsUTC);
+ return setNewValueFromDateArgs(exec, 2, inputIsUTC);
}
-JSValue JSC_HOST_CALL dateProtoFuncSetFullYear(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL dateProtoFuncSetFullYear(ExecState* exec)
{
const bool inputIsUTC = false;
- return setNewValueFromDateArgs(exec, thisValue, args, 3, inputIsUTC);
+ return setNewValueFromDateArgs(exec, 3, inputIsUTC);
}
-JSValue JSC_HOST_CALL dateProtoFuncSetUTCFullYear(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL dateProtoFuncSetUTCFullYear(ExecState* exec)
{
const bool inputIsUTC = true;
- return setNewValueFromDateArgs(exec, thisValue, args, 3, inputIsUTC);
+ return setNewValueFromDateArgs(exec, 3, inputIsUTC);
}
-JSValue JSC_HOST_CALL dateProtoFuncSetYear(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL dateProtoFuncSetYear(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
DateInstance* thisDateObj = asDateInstance(thisValue);
- if (args.isEmpty()) {
+ if (!exec->argumentCount()) {
JSValue result = jsNaN(exec);
thisDateObj->setInternalValue(result);
return result;
@@ -997,7 +1027,7 @@ JSValue JSC_HOST_CALL dateProtoFuncSetYear(ExecState* exec, JSObject*, JSValue t
}
bool ok = true;
- int32_t year = args.at(0).toInt32(exec, ok);
+ int32_t year = exec->argument(0).toInt32(exec, ok);
if (!ok) {
JSValue result = jsNaN(exec);
thisDateObj->setInternalValue(result);
@@ -1010,8 +1040,9 @@ JSValue JSC_HOST_CALL dateProtoFuncSetYear(ExecState* exec, JSObject*, JSValue t
return result;
}
-JSValue JSC_HOST_CALL dateProtoFuncGetYear(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL dateProtoFuncGetYear(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
@@ -1025,8 +1056,9 @@ JSValue JSC_HOST_CALL dateProtoFuncGetYear(ExecState* exec, JSObject*, JSValue t
return jsNumber(exec, gregorianDateTime->year);
}
-JSValue JSC_HOST_CALL dateProtoFuncToJSON(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL dateProtoFuncToJSON(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
JSObject* object = thisValue.toThisObject(exec);
if (exec->hadException())
return jsNull();
diff --git a/JavaScriptCore/runtime/ErrorConstructor.cpp b/JavaScriptCore/runtime/ErrorConstructor.cpp
index 4a4559e..b4b0ba2 100644
--- a/JavaScriptCore/runtime/ErrorConstructor.cpp
+++ b/JavaScriptCore/runtime/ErrorConstructor.cpp
@@ -57,10 +57,9 @@ ConstructType ErrorConstructor::getConstructData(ConstructData& constructData)
return ConstructTypeHost;
}
-// ECMA 15.9.2
-static JSValue JSC_HOST_CALL callErrorConstructor(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+static JSValue JSC_HOST_CALL callErrorConstructor(ExecState* exec)
{
- // "Error()" gives the sames result as "new Error()"
+ ArgList args(exec);
return constructError(exec, args);
}
diff --git a/JavaScriptCore/runtime/ErrorPrototype.cpp b/JavaScriptCore/runtime/ErrorPrototype.cpp
index 72fa4c4..4c895fa 100644
--- a/JavaScriptCore/runtime/ErrorPrototype.cpp
+++ b/JavaScriptCore/runtime/ErrorPrototype.cpp
@@ -32,7 +32,7 @@ namespace JSC {
ASSERT_CLASS_FITS_IN_CELL(ErrorPrototype);
-static JSValue JSC_HOST_CALL errorProtoFuncToString(ExecState*, JSObject*, JSValue, const ArgList&);
+static JSValue JSC_HOST_CALL errorProtoFuncToString(ExecState*);
// ECMA 15.9.4
ErrorPrototype::ErrorPrototype(ExecState* exec, JSGlobalObject* globalObject, NonNullPassRefPtr<Structure> structure, Structure* prototypeFunctionStructure)
@@ -46,9 +46,9 @@ ErrorPrototype::ErrorPrototype(ExecState* exec, JSGlobalObject* globalObject, No
putDirectFunctionWithoutTransition(exec, new (exec) NativeFunctionWrapper(exec, globalObject, prototypeFunctionStructure, 0, exec->propertyNames().toString, errorProtoFuncToString), DontEnum);
}
-JSValue JSC_HOST_CALL errorProtoFuncToString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL errorProtoFuncToString(ExecState* exec)
{
- JSObject* thisObj = thisValue.toThisObject(exec);
+ JSObject* thisObj = exec->hostThisValue().toThisObject(exec);
JSValue name = thisObj->get(exec, exec->propertyNames().name);
JSValue message = thisObj->get(exec, exec->propertyNames().message);
diff --git a/JavaScriptCore/runtime/ExceptionHelpers.cpp b/JavaScriptCore/runtime/ExceptionHelpers.cpp
index aee6f31..b76c226 100644
--- a/JavaScriptCore/runtime/ExceptionHelpers.cpp
+++ b/JavaScriptCore/runtime/ExceptionHelpers.cpp
@@ -182,13 +182,13 @@ JSNotAnObjectErrorStub* createNotAnObjectErrorStub(ExecState* exec, bool isNull)
JSObject* createNotAnObjectError(ExecState* exec, JSNotAnObjectErrorStub* error, unsigned bytecodeOffset, CodeBlock* codeBlock)
{
- // Both op_construct and op_instanceof require a use of op_get_by_id to get
+ // Both op_create_this 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.
OpcodeID followingOpcodeID;
if (codeBlock->getByIdExceptionInfoForBytecodeOffset(exec, bytecodeOffset, followingOpcodeID)) {
- ASSERT(followingOpcodeID == op_construct || followingOpcodeID == op_instanceof);
- if (followingOpcodeID == op_construct)
+ ASSERT(followingOpcodeID == op_create_this || followingOpcodeID == op_instanceof);
+ if (followingOpcodeID == op_create_this)
return createNotAConstructorError(exec, error->isNull() ? jsNull() : jsUndefined(), bytecodeOffset, codeBlock);
return createInvalidParamError(exec, "instanceof", error->isNull() ? jsNull() : jsUndefined(), bytecodeOffset, codeBlock);
}
diff --git a/JavaScriptCore/runtime/Executable.cpp b/JavaScriptCore/runtime/Executable.cpp
index 8cb3c56..2176e36 100644
--- a/JavaScriptCore/runtime/Executable.cpp
+++ b/JavaScriptCore/runtime/Executable.cpp
@@ -188,7 +188,7 @@ void ProgramExecutable::generateJITCode(ExecState* exec, ScopeChainNode* scopeCh
void FunctionExecutable::generateJITCodeForCall(ExecState* exec, ScopeChainNode* scopeChainNode)
{
CodeBlock* codeBlock = &bytecodeForCall(exec, scopeChainNode);
- m_jitCodeForCall = JIT::compile(scopeChainNode->globalData, codeBlock);
+ m_jitCodeForCall = JIT::compile(scopeChainNode->globalData, codeBlock, &m_jitCodeForCallWithArityCheck);
#if !ENABLE(OPCODE_SAMPLING)
if (!BytecodeGenerator::dumpsGeneratedCode())
@@ -199,7 +199,7 @@ void FunctionExecutable::generateJITCodeForCall(ExecState* exec, ScopeChainNode*
void FunctionExecutable::generateJITCodeForConstruct(ExecState* exec, ScopeChainNode* scopeChainNode)
{
CodeBlock* codeBlock = &bytecodeForConstruct(exec, scopeChainNode);
- m_jitCodeForConstruct = JIT::compile(scopeChainNode->globalData, codeBlock);
+ m_jitCodeForConstruct = JIT::compile(scopeChainNode->globalData, codeBlock, &m_jitCodeForConstructWithArityCheck);
#if !ENABLE(OPCODE_SAMPLING)
if (!BytecodeGenerator::dumpsGeneratedCode())
diff --git a/JavaScriptCore/runtime/Executable.h b/JavaScriptCore/runtime/Executable.h
index ac63c49..39ddf49 100644
--- a/JavaScriptCore/runtime/Executable.h
+++ b/JavaScriptCore/runtime/Executable.h
@@ -86,6 +86,8 @@ namespace JSC {
protected:
JITCode m_jitCodeForCall;
JITCode m_jitCodeForConstruct;
+ MacroAssemblerCodePtr m_jitCodeForCallWithArityCheck;
+ MacroAssemblerCodePtr m_jitCodeForConstructWithArityCheck;
#endif
};
@@ -93,9 +95,9 @@ namespace JSC {
class NativeExecutable : public ExecutableBase {
friend class JIT;
public:
- static PassRefPtr<NativeExecutable> create(MacroAssemblerCodePtr thunk, NativeFunction function)
+ static PassRefPtr<NativeExecutable> create(MacroAssemblerCodePtr callThunk, NativeFunction function, MacroAssemblerCodePtr constructThunk, NativeFunction constructor)
{
- return adoptRef(new NativeExecutable(JITCode::HostFunction(thunk), function));
+ return adoptRef(new NativeExecutable(JITCode::HostFunction(callThunk), function, JITCode::HostFunction(constructThunk), constructor));
}
~NativeExecutable();
@@ -103,15 +105,21 @@ namespace JSC {
NativeFunction function() { return m_function; }
private:
- NativeExecutable(JITCode thunk, NativeFunction function)
+ NativeExecutable(JITCode callThunk, NativeFunction function, JITCode constructThunk, NativeFunction constructor)
: ExecutableBase(NUM_PARAMETERS_IS_HOST)
, m_function(function)
+ , m_constructor(constructor)
{
- m_jitCodeForCall = thunk;
- m_jitCodeForConstruct = thunk;
+ m_jitCodeForCall = callThunk;
+ m_jitCodeForConstruct = constructThunk;
+ m_jitCodeForCallWithArityCheck = callThunk.addressForCall();
+ m_jitCodeForConstructWithArityCheck = constructThunk.addressForCall();
}
NativeFunction m_function;
+ // Probably should be a NativeConstructor, but this will currently require rewriting the JIT
+ // trampoline. It may be easier to make NativeFunction be passed 'this' as a part of the ArgList.
+ NativeFunction m_constructor;
};
#endif
@@ -403,6 +411,20 @@ namespace JSC {
return m_jitCodeForConstruct;
}
+ MacroAssemblerCodePtr generatedJITCodeForCallWithArityCheck()
+ {
+ ASSERT(m_jitCodeForCall);
+ ASSERT(m_jitCodeForCallWithArityCheck);
+ return m_jitCodeForCallWithArityCheck;
+ }
+
+ MacroAssemblerCodePtr generatedJITCodeForConstructWithArityCheck()
+ {
+ ASSERT(m_jitCodeForConstruct);
+ ASSERT(m_jitCodeForConstructWithArityCheck);
+ return m_jitCodeForConstructWithArityCheck;
+ }
+
private:
void generateJITCodeForCall(ExecState*, ScopeChainNode*);
void generateJITCodeForConstruct(ExecState*, ScopeChainNode*);
diff --git a/JavaScriptCore/runtime/FunctionConstructor.cpp b/JavaScriptCore/runtime/FunctionConstructor.cpp
index c8299a9..de9fff1 100644
--- a/JavaScriptCore/runtime/FunctionConstructor.cpp
+++ b/JavaScriptCore/runtime/FunctionConstructor.cpp
@@ -55,8 +55,9 @@ ConstructType FunctionConstructor::getConstructData(ConstructData& constructData
return ConstructTypeHost;
}
-static JSValue JSC_HOST_CALL callFunctionConstructor(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+static JSValue JSC_HOST_CALL callFunctionConstructor(ExecState* exec)
{
+ ArgList args(exec);
return constructFunction(exec, args);
}
diff --git a/JavaScriptCore/runtime/FunctionPrototype.cpp b/JavaScriptCore/runtime/FunctionPrototype.cpp
index 1762816..15392cf 100644
--- a/JavaScriptCore/runtime/FunctionPrototype.cpp
+++ b/JavaScriptCore/runtime/FunctionPrototype.cpp
@@ -34,9 +34,9 @@ namespace JSC {
ASSERT_CLASS_FITS_IN_CELL(FunctionPrototype);
-static JSValue JSC_HOST_CALL functionProtoFuncToString(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL functionProtoFuncApply(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL functionProtoFuncCall(ExecState*, JSObject*, JSValue, const ArgList&);
+static JSValue JSC_HOST_CALL functionProtoFuncToString(ExecState*);
+static JSValue JSC_HOST_CALL functionProtoFuncApply(ExecState*);
+static JSValue JSC_HOST_CALL functionProtoFuncCall(ExecState*);
FunctionPrototype::FunctionPrototype(ExecState* exec, JSGlobalObject* globalObject, NonNullPassRefPtr<Structure> structure)
: InternalFunction(&exec->globalData(), globalObject, structure, exec->propertyNames().nullIdentifier)
@@ -53,7 +53,7 @@ void FunctionPrototype::addFunctionProperties(ExecState* exec, JSGlobalObject* g
putDirectFunctionWithoutTransition(exec, *callFunction, DontEnum);
}
-static JSValue JSC_HOST_CALL callFunctionPrototype(ExecState*, JSObject*, JSValue, const ArgList&)
+static JSValue JSC_HOST_CALL callFunctionPrototype(ExecState*)
{
return jsUndefined();
}
@@ -83,8 +83,9 @@ static inline void insertSemicolonIfNeeded(UString& functionBody)
}
}
-JSValue JSC_HOST_CALL functionProtoFuncToString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL functionProtoFuncToString(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
if (thisValue.inherits(&JSFunction::info)) {
JSFunction* function = asFunction(thisValue);
if (function->isHostFunction())
@@ -103,14 +104,15 @@ JSValue JSC_HOST_CALL functionProtoFuncToString(ExecState* exec, JSObject*, JSVa
return throwError(exec, TypeError);
}
-JSValue JSC_HOST_CALL functionProtoFuncApply(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL functionProtoFuncApply(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
CallData callData;
CallType callType = thisValue.getCallData(callData);
if (callType == CallTypeNone)
return throwError(exec, TypeError);
- JSValue array = args.at(1);
+ JSValue array = exec->argument(1);
MarkedArgumentBuffer applyArgs;
if (!array.isUndefinedOrNull()) {
@@ -128,19 +130,21 @@ JSValue JSC_HOST_CALL functionProtoFuncApply(ExecState* exec, JSObject*, JSValue
return throwError(exec, TypeError);
}
- return call(exec, thisValue, callType, callData, args.at(0), applyArgs);
+ return call(exec, thisValue, callType, callData, exec->argument(0), applyArgs);
}
-JSValue JSC_HOST_CALL functionProtoFuncCall(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL functionProtoFuncCall(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
CallData callData;
CallType callType = thisValue.getCallData(callData);
if (callType == CallTypeNone)
return throwError(exec, TypeError);
+ ArgList args(exec);
ArgList callArgs;
args.getSlice(1, callArgs);
- return call(exec, thisValue, callType, callData, args.at(0), callArgs);
+ return call(exec, thisValue, callType, callData, exec->argument(0), callArgs);
}
} // namespace JSC
diff --git a/JavaScriptCore/runtime/JSArray.cpp b/JavaScriptCore/runtime/JSArray.cpp
index d3ef44c..cf32e07 100644
--- a/JavaScriptCore/runtime/JSArray.cpp
+++ b/JavaScriptCore/runtime/JSArray.cpp
@@ -649,7 +649,7 @@ static int compareByStringPairForQSort(const void* a, const void* b)
{
const ValueStringPair* va = static_cast<const ValueStringPair*>(a);
const ValueStringPair* vb = static_cast<const ValueStringPair*>(b);
- return compare(va->second, vb->second);
+ return codePointCompare(va->second, vb->second);
}
void JSArray::sortNumeric(ExecState* exec, JSValue compareFunction, CallType callType, const CallData& callData)
diff --git a/JavaScriptCore/runtime/JSFunction.cpp b/JavaScriptCore/runtime/JSFunction.cpp
index 9d36e91..f44ca2f 100644
--- a/JavaScriptCore/runtime/JSFunction.cpp
+++ b/JavaScriptCore/runtime/JSFunction.cpp
@@ -28,8 +28,10 @@
#include "CodeBlock.h"
#include "CommonIdentifiers.h"
#include "CallFrame.h"
+#include "ExceptionHelpers.h"
#include "FunctionPrototype.h"
#include "JSGlobalObject.h"
+#include "JSNotAnObject.h"
#include "Interpreter.h"
#include "ObjectPrototype.h"
#include "Parser.h"
@@ -41,6 +43,14 @@ using namespace Unicode;
namespace JSC {
+JSValue JSC_HOST_CALL callHostFunctionAsConstructor(ExecState* exec)
+{
+ CodeBlock* codeBlock = exec->callerFrame()->codeBlock();
+ unsigned vPCIndex = codeBlock->bytecodeOffset(exec, exec->returnPC());
+ exec->setException(createNotAConstructorError(exec, exec->callee(), vPCIndex, codeBlock));
+ return JSValue();
+}
+
ASSERT_CLASS_FITS_IN_CELL(JSFunction);
const ClassInfo JSFunction::info = { "Function", 0, 0, 0 };
@@ -57,22 +67,16 @@ JSFunction::JSFunction(NonNullPassRefPtr<Structure> structure)
{
}
+#if ENABLE(JIT)
JSFunction::JSFunction(ExecState* exec, JSGlobalObject* globalObject, NonNullPassRefPtr<Structure> structure, int length, const Identifier& name, PassRefPtr<NativeExecutable> thunk)
: Base(globalObject, structure)
-#if ENABLE(JIT)
, m_executable(thunk)
-#endif
, m_scopeChain(globalObject->globalScopeChain())
{
putDirect(exec->globalData().propertyNames->name, jsString(exec, name.isNull() ? "" : name.ustring()), DontDelete | ReadOnly | DontEnum);
-#if ENABLE(JIT)
putDirect(exec->propertyNames().length, jsNumber(exec, length), DontDelete | ReadOnly | DontEnum);
-#else
- UNUSED_PARAM(thunk);
- UNUSED_PARAM(length);
- ASSERT_NOT_REACHED();
-#endif
}
+#endif
JSFunction::JSFunction(ExecState* exec, JSGlobalObject* globalObject, NonNullPassRefPtr<Structure> structure, int length, const Identifier& name, NativeFunction func)
: Base(globalObject, structure)
@@ -165,12 +169,6 @@ CallType JSFunction::getCallData(CallData& callData)
return CallTypeJS;
}
-JSValue JSFunction::call(ExecState* exec, JSValue thisValue, const ArgList& args)
-{
- ASSERT(!isHostFunction());
- return exec->interpreter()->executeCall(jsExecutable(), exec, this, thisValue.toThisObject(exec), args, scope().node(), exec->exceptionSlot());
-}
-
JSValue JSFunction::argumentsGetter(ExecState* exec, JSValue slotBase, const Identifier&)
{
JSFunction* thisObj = asFunction(slotBase);
@@ -298,21 +296,4 @@ ConstructType JSFunction::getConstructData(ConstructData& constructData)
return ConstructTypeJS;
}
-JSObject* JSFunction::construct(ExecState* exec, const ArgList& args)
-{
- ASSERT(!isHostFunction());
- Structure* structure;
- JSValue prototype = get(exec, exec->propertyNames().prototype);
- if (prototype.isObject())
- structure = asObject(prototype)->inheritorID();
- else
- structure = exec->lexicalGlobalObject()->emptyObjectStructure();
- JSObject* thisObj = new (exec) JSObject(structure);
-
- JSValue result = exec->interpreter()->executeConstruct(jsExecutable(), exec, this, thisObj, args, scope().node(), exec->exceptionSlot());
- if (exec->hadException() || !result.isObject())
- return thisObj;
- return asObject(result);
-}
-
} // namespace JSC
diff --git a/JavaScriptCore/runtime/JSFunction.h b/JavaScriptCore/runtime/JSFunction.h
index acdfe0d..a906b2e 100644
--- a/JavaScriptCore/runtime/JSFunction.h
+++ b/JavaScriptCore/runtime/JSFunction.h
@@ -35,6 +35,8 @@ namespace JSC {
class JSGlobalObject;
class NativeExecutable;
+ JSValue JSC_HOST_CALL callHostFunctionAsConstructor(ExecState*);
+
class JSFunction : public JSObjectWithGlobalObject {
friend class JIT;
friend class JSGlobalData;
@@ -43,13 +45,12 @@ namespace JSC {
public:
JSFunction(ExecState*, JSGlobalObject*, NonNullPassRefPtr<Structure>, int length, const Identifier&, NativeFunction);
+#if ENABLE(JIT)
JSFunction(ExecState*, JSGlobalObject*, NonNullPassRefPtr<Structure>, int length, const Identifier&, PassRefPtr<NativeExecutable>);
+#endif
JSFunction(ExecState*, NonNullPassRefPtr<FunctionExecutable>, ScopeChainNode*);
virtual ~JSFunction();
- JSObject* construct(ExecState*, const ArgList&);
- JSValue call(ExecState*, JSValue thisValue, const ArgList&);
-
const UString& name(ExecState*);
const UString displayName(ExecState*);
const UString calculatedDisplayName(ExecState*);
diff --git a/JavaScriptCore/runtime/JSGlobalObject.cpp b/JavaScriptCore/runtime/JSGlobalObject.cpp
index fb9b3eb..69e09c1 100644
--- a/JavaScriptCore/runtime/JSGlobalObject.cpp
+++ b/JavaScriptCore/runtime/JSGlobalObject.cpp
@@ -131,7 +131,7 @@ void JSGlobalObject::init(JSObject* thisValue)
d()->globalData = Heap::heap(this)->globalData();
d()->globalScopeChain = ScopeChain(this, d()->globalData.get(), this, thisValue);
- JSGlobalObject::globalExec()->init(0, 0, d()->globalScopeChain.node(), CallFrame::noCaller(), 0, 0, 0);
+ JSGlobalObject::globalExec()->init(0, 0, d()->globalScopeChain.node(), CallFrame::noCaller(), 0, 0);
if (JSGlobalObject*& headObject = head()) {
d()->prev = headObject;
diff --git a/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp b/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp
index 5da5194..21d06b7 100644
--- a/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp
+++ b/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp
@@ -51,9 +51,9 @@ using namespace Unicode;
namespace JSC {
-static JSValue encode(ExecState* exec, const ArgList& args, const char* doNotEscape)
+static JSValue encode(ExecState* exec, const char* doNotEscape)
{
- UString str = args.at(0).toString(exec);
+ UString str = exec->argument(0).toString(exec);
CString cstr = str.UTF8String(true);
if (!cstr.data())
return throwError(exec, URIError, "String contained an illegal UTF-16 sequence.");
@@ -73,10 +73,10 @@ static JSValue encode(ExecState* exec, const ArgList& args, const char* doNotEsc
return builder.build(exec);
}
-static JSValue decode(ExecState* exec, const ArgList& args, const char* doNotUnescape, bool strict)
+static JSValue decode(ExecState* exec, const char* doNotUnescape, bool strict)
{
JSStringBuilder builder;
- UString str = args.at(0).toString(exec);
+ UString str = exec->argument(0).toString(exec);
int k = 0;
int len = str.size();
const UChar* d = str.data();
@@ -241,11 +241,10 @@ static double parseInt(const UString& s, int radix)
}
if (number >= mantissaOverflowLowerBound) {
- // FIXME: It is incorrect to use UString::ascii() here because it's not thread-safe.
if (radix == 10)
- number = WTF::strtod(s.substr(firstDigitPosition, p - firstDigitPosition).ascii(), 0);
+ number = WTF::strtod(s.substr(firstDigitPosition, p - firstDigitPosition).UTF8String().data(), 0);
else if (radix == 2 || radix == 4 || radix == 8 || radix == 16 || radix == 32)
- number = parseIntOverflow(s.substr(firstDigitPosition, p - firstDigitPosition).ascii(), p - firstDigitPosition, radix);
+ number = parseIntOverflow(s.substr(firstDigitPosition, p - firstDigitPosition).UTF8String().data(), p - firstDigitPosition, radix);
}
if (!sawDigit)
@@ -270,19 +269,17 @@ static double parseFloat(const UString& s)
if (length - p >= 2 && data[p] == '0' && (data[p + 1] == 'x' || data[p + 1] == 'X'))
return 0;
- // FIXME: UString::toDouble will ignore leading ASCII spaces, but we need to ignore
- // other StrWhiteSpaceChar values as well.
return s.toDouble(true /*tolerant*/, false /* NaN for empty string */);
}
-JSValue JSC_HOST_CALL globalFuncEval(ExecState* exec, JSObject* function, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL globalFuncEval(ExecState* exec)
{
- JSObject* thisObject = thisValue.toThisObject(exec);
+ JSObject* thisObject = exec->hostThisValue().toThisObject(exec);
JSObject* unwrappedObject = thisObject->unwrappedObject();
- if (!unwrappedObject->isGlobalObject() || static_cast<JSGlobalObject*>(unwrappedObject)->evalFunction() != function)
+ if (!unwrappedObject->isGlobalObject() || static_cast<JSGlobalObject*>(unwrappedObject)->evalFunction() != exec->callee())
return throwError(exec, EvalError, "The \"this\" value passed to eval must be the global object from which eval originated");
- JSValue x = args.at(0);
+ JSValue x = exec->argument(0);
if (!x.isString())
return x;
@@ -300,10 +297,10 @@ JSValue JSC_HOST_CALL globalFuncEval(ExecState* exec, JSObject* function, JSValu
return exec->interpreter()->execute(eval.get(), exec, thisObject, static_cast<JSGlobalObject*>(unwrappedObject)->globalScopeChain().node(), exec->exceptionSlot());
}
-JSValue JSC_HOST_CALL globalFuncParseInt(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL globalFuncParseInt(ExecState* exec)
{
- JSValue value = args.at(0);
- int32_t radix = args.at(1).toInt32(exec);
+ JSValue value = exec->argument(0);
+ int32_t radix = exec->argument(1).toInt32(exec);
if (radix != 0 && radix != 10)
return jsNumber(exec, parseInt(value.toString(exec), radix));
@@ -323,36 +320,36 @@ JSValue JSC_HOST_CALL globalFuncParseInt(ExecState* exec, JSObject*, JSValue, co
return jsNumber(exec, parseInt(value.toString(exec), radix));
}
-JSValue JSC_HOST_CALL globalFuncParseFloat(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL globalFuncParseFloat(ExecState* exec)
{
- return jsNumber(exec, parseFloat(args.at(0).toString(exec)));
+ return jsNumber(exec, parseFloat(exec->argument(0).toString(exec)));
}
-JSValue JSC_HOST_CALL globalFuncIsNaN(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL globalFuncIsNaN(ExecState* exec)
{
- return jsBoolean(isnan(args.at(0).toNumber(exec)));
+ return jsBoolean(isnan(exec->argument(0).toNumber(exec)));
}
-JSValue JSC_HOST_CALL globalFuncIsFinite(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL globalFuncIsFinite(ExecState* exec)
{
- double n = args.at(0).toNumber(exec);
+ double n = exec->argument(0).toNumber(exec);
return jsBoolean(!isnan(n) && !isinf(n));
}
-JSValue JSC_HOST_CALL globalFuncDecodeURI(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL globalFuncDecodeURI(ExecState* exec)
{
static const char do_not_unescape_when_decoding_URI[] =
"#$&+,/:;=?@";
- return decode(exec, args, do_not_unescape_when_decoding_URI, true);
+ return decode(exec, do_not_unescape_when_decoding_URI, true);
}
-JSValue JSC_HOST_CALL globalFuncDecodeURIComponent(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL globalFuncDecodeURIComponent(ExecState* exec)
{
- return decode(exec, args, "", true);
+ return decode(exec, "", true);
}
-JSValue JSC_HOST_CALL globalFuncEncodeURI(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL globalFuncEncodeURI(ExecState* exec)
{
static const char do_not_escape_when_encoding_URI[] =
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
@@ -360,10 +357,10 @@ JSValue JSC_HOST_CALL globalFuncEncodeURI(ExecState* exec, JSObject*, JSValue, c
"0123456789"
"!#$&'()*+,-./:;=?@_~";
- return encode(exec, args, do_not_escape_when_encoding_URI);
+ return encode(exec, do_not_escape_when_encoding_URI);
}
-JSValue JSC_HOST_CALL globalFuncEncodeURIComponent(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL globalFuncEncodeURIComponent(ExecState* exec)
{
static const char do_not_escape_when_encoding_URI_component[] =
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
@@ -371,10 +368,10 @@ JSValue JSC_HOST_CALL globalFuncEncodeURIComponent(ExecState* exec, JSObject*, J
"0123456789"
"!'()*-._~";
- return encode(exec, args, do_not_escape_when_encoding_URI_component);
+ return encode(exec, do_not_escape_when_encoding_URI_component);
}
-JSValue JSC_HOST_CALL globalFuncEscape(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL globalFuncEscape(ExecState* exec)
{
static const char do_not_escape[] =
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
@@ -383,7 +380,7 @@ JSValue JSC_HOST_CALL globalFuncEscape(ExecState* exec, JSObject*, JSValue, cons
"*+-./@_";
JSStringBuilder builder;
- UString str = args.at(0).toString(exec);
+ UString str = exec->argument(0).toString(exec);
const UChar* c = str.data();
for (unsigned k = 0; k < str.size(); k++, c++) {
int u = c[0];
@@ -403,10 +400,10 @@ JSValue JSC_HOST_CALL globalFuncEscape(ExecState* exec, JSObject*, JSValue, cons
return builder.build(exec);
}
-JSValue JSC_HOST_CALL globalFuncUnescape(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL globalFuncUnescape(ExecState* exec)
{
StringBuilder builder;
- UString str = args.at(0).toString(exec);
+ UString str = exec->argument(0).toString(exec);
int k = 0;
int len = str.size();
while (k < len) {
@@ -431,9 +428,9 @@ JSValue JSC_HOST_CALL globalFuncUnescape(ExecState* exec, JSObject*, JSValue, co
}
#ifndef NDEBUG
-JSValue JSC_HOST_CALL globalFuncJSCPrint(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL globalFuncJSCPrint(ExecState* exec)
{
- CString string = args.at(0).toString(exec).UTF8String();
+ CString string = exec->argument(0).toString(exec).UTF8String();
puts(string.data());
return jsUndefined();
}
diff --git a/JavaScriptCore/runtime/JSGlobalObjectFunctions.h b/JavaScriptCore/runtime/JSGlobalObjectFunctions.h
index b1046f2..b1dada4 100644
--- a/JavaScriptCore/runtime/JSGlobalObjectFunctions.h
+++ b/JavaScriptCore/runtime/JSGlobalObjectFunctions.h
@@ -36,19 +36,19 @@ namespace JSC {
// FIXME: These functions should really be in JSGlobalObject.cpp, but putting them there
// is a 0.5% reduction.
- JSValue JSC_HOST_CALL globalFuncEval(ExecState*, JSObject*, JSValue, const ArgList&);
- JSValue JSC_HOST_CALL globalFuncParseInt(ExecState*, JSObject*, JSValue, const ArgList&);
- JSValue JSC_HOST_CALL globalFuncParseFloat(ExecState*, JSObject*, JSValue, const ArgList&);
- JSValue JSC_HOST_CALL globalFuncIsNaN(ExecState*, JSObject*, JSValue, const ArgList&);
- JSValue JSC_HOST_CALL globalFuncIsFinite(ExecState*, JSObject*, JSValue, const ArgList&);
- JSValue JSC_HOST_CALL globalFuncDecodeURI(ExecState*, JSObject*, JSValue, const ArgList&);
- JSValue JSC_HOST_CALL globalFuncDecodeURIComponent(ExecState*, JSObject*, JSValue, const ArgList&);
- JSValue JSC_HOST_CALL globalFuncEncodeURI(ExecState*, JSObject*, JSValue, const ArgList&);
- JSValue JSC_HOST_CALL globalFuncEncodeURIComponent(ExecState*, JSObject*, JSValue, const ArgList&);
- JSValue JSC_HOST_CALL globalFuncEscape(ExecState*, JSObject*, JSValue, const ArgList&);
- JSValue JSC_HOST_CALL globalFuncUnescape(ExecState*, JSObject*, JSValue, const ArgList&);
+ JSValue JSC_HOST_CALL globalFuncEval(ExecState*);
+ JSValue JSC_HOST_CALL globalFuncParseInt(ExecState*);
+ JSValue JSC_HOST_CALL globalFuncParseFloat(ExecState*);
+ JSValue JSC_HOST_CALL globalFuncIsNaN(ExecState*);
+ JSValue JSC_HOST_CALL globalFuncIsFinite(ExecState*);
+ JSValue JSC_HOST_CALL globalFuncDecodeURI(ExecState*);
+ JSValue JSC_HOST_CALL globalFuncDecodeURIComponent(ExecState*);
+ JSValue JSC_HOST_CALL globalFuncEncodeURI(ExecState*);
+ JSValue JSC_HOST_CALL globalFuncEncodeURIComponent(ExecState*);
+ JSValue JSC_HOST_CALL globalFuncEscape(ExecState*);
+ JSValue JSC_HOST_CALL globalFuncUnescape(ExecState*);
#ifndef NDEBUG
- JSValue JSC_HOST_CALL globalFuncJSCPrint(ExecState*, JSObject*, JSValue, const ArgList&);
+ JSValue JSC_HOST_CALL globalFuncJSCPrint(ExecState*);
#endif
static const double mantissaOverflowLowerBound = 9007199254740992.0;
diff --git a/JavaScriptCore/runtime/JSONObject.cpp b/JavaScriptCore/runtime/JSONObject.cpp
index bd0e25f..86604d8 100644
--- a/JavaScriptCore/runtime/JSONObject.cpp
+++ b/JavaScriptCore/runtime/JSONObject.cpp
@@ -41,8 +41,8 @@ namespace JSC {
ASSERT_CLASS_FITS_IN_CELL(JSONObject);
-static JSValue JSC_HOST_CALL JSONProtoFuncParse(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL JSONProtoFuncStringify(ExecState*, JSObject*, JSValue, const ArgList&);
+static JSValue JSC_HOST_CALL JSONProtoFuncParse(ExecState*);
+static JSValue JSC_HOST_CALL JSONProtoFuncStringify(ExecState*);
}
@@ -839,11 +839,11 @@ NEVER_INLINE JSValue Walker::walk(JSValue unfiltered)
}
// ECMA-262 v5 15.12.2
-JSValue JSC_HOST_CALL JSONProtoFuncParse(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL JSONProtoFuncParse(ExecState* exec)
{
- if (args.isEmpty())
+ if (!exec->argumentCount())
return throwError(exec, GeneralError, "JSON.parse requires at least one parameter");
- JSValue value = args.at(0);
+ JSValue value = exec->argument(0);
UString source = value.toString(exec);
if (exec->hadException())
return jsNull();
@@ -853,10 +853,10 @@ JSValue JSC_HOST_CALL JSONProtoFuncParse(ExecState* exec, JSObject*, JSValue, co
if (!unfiltered)
return throwError(exec, SyntaxError, "Unable to parse JSON string");
- if (args.size() < 2)
+ if (exec->argumentCount() < 2)
return unfiltered;
- JSValue function = args.at(1);
+ JSValue function = exec->argument(1);
CallData callData;
CallType callType = function.getCallData(callData);
if (callType == CallTypeNone)
@@ -865,13 +865,13 @@ JSValue JSC_HOST_CALL JSONProtoFuncParse(ExecState* exec, JSObject*, JSValue, co
}
// ECMA-262 v5 15.12.3
-JSValue JSC_HOST_CALL JSONProtoFuncStringify(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL JSONProtoFuncStringify(ExecState* exec)
{
- if (args.isEmpty())
+ if (!exec->argumentCount())
return throwError(exec, GeneralError, "No input to stringify");
- JSValue value = args.at(0);
- JSValue replacer = args.at(1);
- JSValue space = args.at(2);
+ JSValue value = exec->argument(0);
+ JSValue replacer = exec->argument(1);
+ JSValue space = exec->argument(2);
return Stringifier(exec, replacer, space).stringify(value);
}
diff --git a/JavaScriptCore/runtime/JSObject.cpp b/JavaScriptCore/runtime/JSObject.cpp
index 3ac8a34..5cff4fa 100644
--- a/JavaScriptCore/runtime/JSObject.cpp
+++ b/JavaScriptCore/runtime/JSObject.cpp
@@ -104,18 +104,8 @@ void JSObject::put(ExecState* exec, const Identifier& propertyName, JSValue valu
// Setting __proto__ to a non-object, non-null value is silently ignored to match Mozilla.
if (!value.isObject() && !value.isNull())
return;
-
- JSValue nextPrototypeValue = value;
- while (nextPrototypeValue && nextPrototypeValue.isObject()) {
- JSObject* nextPrototype = asObject(nextPrototypeValue)->unwrappedObject();
- if (nextPrototype == this) {
- throwError(exec, GeneralError, "cyclic __proto__ value");
- return;
- }
- nextPrototypeValue = nextPrototype->prototype();
- }
-
- setPrototype(value);
+ if (!setPrototypeWithCycleCheck(value))
+ throwError(exec, GeneralError, "cyclic __proto__ value");
return;
}
diff --git a/JavaScriptCore/runtime/JSObject.h b/JavaScriptCore/runtime/JSObject.h
index e942ad0..0738d60 100644
--- a/JavaScriptCore/runtime/JSObject.h
+++ b/JavaScriptCore/runtime/JSObject.h
@@ -88,6 +88,7 @@ namespace JSC {
JSValue prototype() const;
void setPrototype(JSValue prototype);
+ bool setPrototypeWithCycleCheck(JSValue prototype);
void setStructure(NonNullPassRefPtr<Structure>);
Structure* inheritorID();
@@ -312,6 +313,19 @@ inline JSValue JSObject::prototype() const
return m_structure->storedPrototype();
}
+inline bool JSObject::setPrototypeWithCycleCheck(JSValue prototype)
+{
+ JSValue nextPrototypeValue = prototype;
+ while (nextPrototypeValue && nextPrototypeValue.isObject()) {
+ JSObject* nextPrototype = asObject(nextPrototypeValue)->unwrappedObject();
+ if (nextPrototype == this)
+ return false;
+ nextPrototypeValue = nextPrototype->prototype();
+ }
+ setPrototype(prototype);
+ return true;
+}
+
inline void JSObject::setPrototype(JSValue prototype)
{
ASSERT(prototype);
diff --git a/JavaScriptCore/runtime/JSString.h b/JavaScriptCore/runtime/JSString.h
index dec925d..975ef45 100644
--- a/JavaScriptCore/runtime/JSString.h
+++ b/JavaScriptCore/runtime/JSString.h
@@ -433,7 +433,7 @@ namespace JSC {
friend JSValue jsString(ExecState* exec, const UString& u1, JSString* s2);
friend JSValue jsString(ExecState* exec, JSString* s1, const UString& u2);
friend JSValue jsString(ExecState* exec, Register* strings, unsigned count);
- friend JSValue jsString(ExecState* exec, JSValue thisValue, const ArgList& args);
+ friend JSValue jsString(ExecState* exec, JSValue thisValue);
friend JSString* jsStringWithFinalizer(ExecState*, const UString&, JSStringFinalizerCallback callback, void* context);
};
diff --git a/JavaScriptCore/runtime/Lookup.cpp b/JavaScriptCore/runtime/Lookup.cpp
index 57d4f0c..50d096c 100644
--- a/JavaScriptCore/runtime/Lookup.cpp
+++ b/JavaScriptCore/runtime/Lookup.cpp
@@ -79,7 +79,7 @@ void setUpStaticFunctionSlot(ExecState* exec, const HashEntry* entry, JSObject*
if (!location) {
NativeFunctionWrapper* function;
JSGlobalObject* globalObject = asGlobalObject(thisObj->getAnonymousValue(0).asCell());
-#if ENABLE(JIT)
+#if ENABLE(JIT) && ENABLE(JIT_OPTIMIZE_NATIVE_CALL)
if (entry->generator())
function = new (exec) NativeFunctionWrapper(exec, globalObject, globalObject->prototypeFunctionStructure(), entry->functionLength(), propertyName, exec->globalData().getHostFunction(entry->function(), entry->generator()));
else
diff --git a/JavaScriptCore/runtime/Lookup.h b/JavaScriptCore/runtime/Lookup.h
index dd36400..5a96fd3 100644
--- a/JavaScriptCore/runtime/Lookup.h
+++ b/JavaScriptCore/runtime/Lookup.h
@@ -76,7 +76,7 @@ namespace JSC {
unsigned char attributes() const { return m_attributes; }
-#if ENABLE(JIT)
+#if ENABLE(JIT) && ENABLE(JIT_OPTIMIZE_NATIVE_CALL)
ThunkGenerator generator() const { ASSERT(m_attributes & Function); return m_u.function.generator; }
#endif
NativeFunction function() const { ASSERT(m_attributes & Function); return m_u.function.functionValue; }
diff --git a/JavaScriptCore/runtime/MathObject.cpp b/JavaScriptCore/runtime/MathObject.cpp
index be249e5..28997db 100644
--- a/JavaScriptCore/runtime/MathObject.cpp
+++ b/JavaScriptCore/runtime/MathObject.cpp
@@ -34,24 +34,24 @@ namespace JSC {
ASSERT_CLASS_FITS_IN_CELL(MathObject);
-static JSValue JSC_HOST_CALL mathProtoFuncAbs(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL mathProtoFuncACos(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL mathProtoFuncASin(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL mathProtoFuncATan(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL mathProtoFuncATan2(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL mathProtoFuncCeil(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL mathProtoFuncCos(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL mathProtoFuncExp(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL mathProtoFuncFloor(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL mathProtoFuncLog(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL mathProtoFuncMax(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL mathProtoFuncMin(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL mathProtoFuncPow(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL mathProtoFuncRandom(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL mathProtoFuncRound(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL mathProtoFuncSin(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL mathProtoFuncSqrt(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL mathProtoFuncTan(ExecState*, JSObject*, JSValue, const ArgList&);
+static JSValue JSC_HOST_CALL mathProtoFuncAbs(ExecState*);
+static JSValue JSC_HOST_CALL mathProtoFuncACos(ExecState*);
+static JSValue JSC_HOST_CALL mathProtoFuncASin(ExecState*);
+static JSValue JSC_HOST_CALL mathProtoFuncATan(ExecState*);
+static JSValue JSC_HOST_CALL mathProtoFuncATan2(ExecState*);
+static JSValue JSC_HOST_CALL mathProtoFuncCeil(ExecState*);
+static JSValue JSC_HOST_CALL mathProtoFuncCos(ExecState*);
+static JSValue JSC_HOST_CALL mathProtoFuncExp(ExecState*);
+static JSValue JSC_HOST_CALL mathProtoFuncFloor(ExecState*);
+static JSValue JSC_HOST_CALL mathProtoFuncLog(ExecState*);
+static JSValue JSC_HOST_CALL mathProtoFuncMax(ExecState*);
+static JSValue JSC_HOST_CALL mathProtoFuncMin(ExecState*);
+static JSValue JSC_HOST_CALL mathProtoFuncPow(ExecState*);
+static JSValue JSC_HOST_CALL mathProtoFuncRandom(ExecState*);
+static JSValue JSC_HOST_CALL mathProtoFuncRound(ExecState*);
+static JSValue JSC_HOST_CALL mathProtoFuncSin(ExecState*);
+static JSValue JSC_HOST_CALL mathProtoFuncSqrt(ExecState*);
+static JSValue JSC_HOST_CALL mathProtoFuncTan(ExecState*);
}
@@ -113,62 +113,62 @@ bool MathObject::getOwnPropertyDescriptor(ExecState* exec, const Identifier& pro
// ------------------------------ Functions --------------------------------
-JSValue JSC_HOST_CALL mathProtoFuncAbs(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL mathProtoFuncAbs(ExecState* exec)
{
- return jsNumber(exec, fabs(args.at(0).toNumber(exec)));
+ return jsNumber(exec, fabs(exec->argument(0).toNumber(exec)));
}
-JSValue JSC_HOST_CALL mathProtoFuncACos(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL mathProtoFuncACos(ExecState* exec)
{
- return jsDoubleNumber(exec, acos(args.at(0).toNumber(exec)));
+ return jsDoubleNumber(exec, acos(exec->argument(0).toNumber(exec)));
}
-JSValue JSC_HOST_CALL mathProtoFuncASin(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL mathProtoFuncASin(ExecState* exec)
{
- return jsDoubleNumber(exec, asin(args.at(0).toNumber(exec)));
+ return jsDoubleNumber(exec, asin(exec->argument(0).toNumber(exec)));
}
-JSValue JSC_HOST_CALL mathProtoFuncATan(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL mathProtoFuncATan(ExecState* exec)
{
- return jsDoubleNumber(exec, atan(args.at(0).toNumber(exec)));
+ return jsDoubleNumber(exec, atan(exec->argument(0).toNumber(exec)));
}
-JSValue JSC_HOST_CALL mathProtoFuncATan2(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL mathProtoFuncATan2(ExecState* exec)
{
- return jsDoubleNumber(exec, atan2(args.at(0).toNumber(exec), args.at(1).toNumber(exec)));
+ return jsDoubleNumber(exec, atan2(exec->argument(0).toNumber(exec), exec->argument(1).toNumber(exec)));
}
-JSValue JSC_HOST_CALL mathProtoFuncCeil(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL mathProtoFuncCeil(ExecState* exec)
{
- return jsNumber(exec, ceil(args.at(0).toNumber(exec)));
+ return jsNumber(exec, ceil(exec->argument(0).toNumber(exec)));
}
-JSValue JSC_HOST_CALL mathProtoFuncCos(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL mathProtoFuncCos(ExecState* exec)
{
- return jsDoubleNumber(exec, cos(args.at(0).toNumber(exec)));
+ return jsDoubleNumber(exec, cos(exec->argument(0).toNumber(exec)));
}
-JSValue JSC_HOST_CALL mathProtoFuncExp(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL mathProtoFuncExp(ExecState* exec)
{
- return jsDoubleNumber(exec, exp(args.at(0).toNumber(exec)));
+ return jsDoubleNumber(exec, exp(exec->argument(0).toNumber(exec)));
}
-JSValue JSC_HOST_CALL mathProtoFuncFloor(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL mathProtoFuncFloor(ExecState* exec)
{
- return jsNumber(exec, floor(args.at(0).toNumber(exec)));
+ return jsNumber(exec, floor(exec->argument(0).toNumber(exec)));
}
-JSValue JSC_HOST_CALL mathProtoFuncLog(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL mathProtoFuncLog(ExecState* exec)
{
- return jsDoubleNumber(exec, log(args.at(0).toNumber(exec)));
+ return jsDoubleNumber(exec, log(exec->argument(0).toNumber(exec)));
}
-JSValue JSC_HOST_CALL mathProtoFuncMax(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL mathProtoFuncMax(ExecState* exec)
{
- unsigned argsCount = args.size();
+ unsigned argsCount = exec->argumentCount();
double result = -Inf;
for (unsigned k = 0; k < argsCount; ++k) {
- double val = args.at(k).toNumber(exec);
+ double val = exec->argument(k).toNumber(exec);
if (isnan(val)) {
result = NaN;
break;
@@ -179,12 +179,12 @@ JSValue JSC_HOST_CALL mathProtoFuncMax(ExecState* exec, JSObject*, JSValue, cons
return jsNumber(exec, result);
}
-JSValue JSC_HOST_CALL mathProtoFuncMin(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL mathProtoFuncMin(ExecState* exec)
{
- unsigned argsCount = args.size();
+ unsigned argsCount = exec->argumentCount();
double result = +Inf;
for (unsigned k = 0; k < argsCount; ++k) {
- double val = args.at(k).toNumber(exec);
+ double val = exec->argument(k).toNumber(exec);
if (isnan(val)) {
result = NaN;
break;
@@ -195,12 +195,12 @@ JSValue JSC_HOST_CALL mathProtoFuncMin(ExecState* exec, JSObject*, JSValue, cons
return jsNumber(exec, result);
}
-JSValue JSC_HOST_CALL mathProtoFuncPow(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL mathProtoFuncPow(ExecState* exec)
{
// ECMA 15.8.2.1.13
- double arg = args.at(0).toNumber(exec);
- double arg2 = args.at(1).toNumber(exec);
+ double arg = exec->argument(0).toNumber(exec);
+ double arg2 = exec->argument(1).toNumber(exec);
if (isnan(arg2))
return jsNaN(exec);
@@ -209,31 +209,31 @@ JSValue JSC_HOST_CALL mathProtoFuncPow(ExecState* exec, JSObject*, JSValue, cons
return jsNumber(exec, pow(arg, arg2));
}
-JSValue JSC_HOST_CALL mathProtoFuncRandom(ExecState* exec, JSObject*, JSValue, const ArgList&)
+JSValue JSC_HOST_CALL mathProtoFuncRandom(ExecState* exec)
{
return jsDoubleNumber(exec, exec->globalData().weakRandom.get());
}
-JSValue JSC_HOST_CALL mathProtoFuncRound(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL mathProtoFuncRound(ExecState* exec)
{
- double arg = args.at(0).toNumber(exec);
+ double arg = exec->argument(0).toNumber(exec);
double integer = ceil(arg);
return jsNumber(exec, integer - (integer - arg > 0.5));
}
-JSValue JSC_HOST_CALL mathProtoFuncSin(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL mathProtoFuncSin(ExecState* exec)
{
- return exec->globalData().cachedSin(exec, args.at(0).toNumber(exec));
+ return exec->globalData().cachedSin(exec, exec->argument(0).toNumber(exec));
}
-JSValue JSC_HOST_CALL mathProtoFuncSqrt(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL mathProtoFuncSqrt(ExecState* exec)
{
- return jsDoubleNumber(exec, sqrt(args.at(0).toNumber(exec)));
+ return jsDoubleNumber(exec, sqrt(exec->argument(0).toNumber(exec)));
}
-JSValue JSC_HOST_CALL mathProtoFuncTan(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL mathProtoFuncTan(ExecState* exec)
{
- return jsDoubleNumber(exec, tan(args.at(0).toNumber(exec)));
+ return jsDoubleNumber(exec, tan(exec->argument(0).toNumber(exec)));
}
} // namespace JSC
diff --git a/JavaScriptCore/runtime/NativeErrorConstructor.cpp b/JavaScriptCore/runtime/NativeErrorConstructor.cpp
index 0fa2218..32ae6b8 100644
--- a/JavaScriptCore/runtime/NativeErrorConstructor.cpp
+++ b/JavaScriptCore/runtime/NativeErrorConstructor.cpp
@@ -62,9 +62,10 @@ ConstructType NativeErrorConstructor::getConstructData(ConstructData& constructD
return ConstructTypeHost;
}
-static JSValue JSC_HOST_CALL callNativeErrorConstructor(ExecState* exec, JSObject* constructor, JSValue, const ArgList& args)
+static JSValue JSC_HOST_CALL callNativeErrorConstructor(ExecState* exec)
{
- return static_cast<NativeErrorConstructor*>(constructor)->construct(exec, args);
+ ArgList args(exec);
+ return static_cast<NativeErrorConstructor*>(exec->callee())->construct(exec, args);
}
CallType NativeErrorConstructor::getCallData(CallData& callData)
diff --git a/JavaScriptCore/runtime/NumberConstructor.cpp b/JavaScriptCore/runtime/NumberConstructor.cpp
index 482e87b..fe91f2e 100644
--- a/JavaScriptCore/runtime/NumberConstructor.cpp
+++ b/JavaScriptCore/runtime/NumberConstructor.cpp
@@ -115,9 +115,9 @@ ConstructType NumberConstructor::getConstructData(ConstructData& constructData)
}
// ECMA 15.7.2
-static JSValue JSC_HOST_CALL callNumberConstructor(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+static JSValue JSC_HOST_CALL callNumberConstructor(ExecState* exec)
{
- return jsNumber(exec, args.isEmpty() ? 0 : args.at(0).toNumber(exec));
+ return jsNumber(exec, !exec->argumentCount() ? 0 : exec->argument(0).toNumber(exec));
}
CallType NumberConstructor::getCallData(CallData& callData)
diff --git a/JavaScriptCore/runtime/NumberPrototype.cpp b/JavaScriptCore/runtime/NumberPrototype.cpp
index efed90b..0f1590c 100644
--- a/JavaScriptCore/runtime/NumberPrototype.cpp
+++ b/JavaScriptCore/runtime/NumberPrototype.cpp
@@ -38,12 +38,12 @@ namespace JSC {
ASSERT_CLASS_FITS_IN_CELL(NumberPrototype);
-static JSValue JSC_HOST_CALL numberProtoFuncToString(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL numberProtoFuncToLocaleString(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL numberProtoFuncValueOf(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL numberProtoFuncToFixed(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL numberProtoFuncToExponential(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL numberProtoFuncToPrecision(ExecState*, JSObject*, JSValue, const ArgList&);
+static JSValue JSC_HOST_CALL numberProtoFuncToString(ExecState*);
+static JSValue JSC_HOST_CALL numberProtoFuncToLocaleString(ExecState*);
+static JSValue JSC_HOST_CALL numberProtoFuncValueOf(ExecState*);
+static JSValue JSC_HOST_CALL numberProtoFuncToFixed(ExecState*);
+static JSValue JSC_HOST_CALL numberProtoFuncToExponential(ExecState*);
+static JSValue JSC_HOST_CALL numberProtoFuncToPrecision(ExecState*);
// ECMA 15.7.4
@@ -137,13 +137,14 @@ static double intPow10(int e)
return static_cast<double>(result);
}
-JSValue JSC_HOST_CALL numberProtoFuncToString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL numberProtoFuncToString(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
JSValue v = thisValue.getJSNumber();
if (!v)
return throwError(exec, TypeError);
- JSValue radixValue = args.at(0);
+ JSValue radixValue = exec->argument(0);
int radix;
if (radixValue.isInt32())
radix = radixValue.asInt32();
@@ -220,8 +221,9 @@ JSValue JSC_HOST_CALL numberProtoFuncToString(ExecState* exec, JSObject*, JSValu
return jsString(exec, startOfResultString);
}
-JSValue JSC_HOST_CALL numberProtoFuncToLocaleString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL numberProtoFuncToLocaleString(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
// FIXME: Not implemented yet.
JSValue v = thisValue.getJSNumber();
@@ -231,8 +233,9 @@ JSValue JSC_HOST_CALL numberProtoFuncToLocaleString(ExecState* exec, JSObject*,
return jsString(exec, v.toString(exec));
}
-JSValue JSC_HOST_CALL numberProtoFuncValueOf(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL numberProtoFuncValueOf(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
JSValue v = thisValue.getJSNumber();
if (!v)
return throwError(exec, TypeError);
@@ -240,13 +243,14 @@ JSValue JSC_HOST_CALL numberProtoFuncValueOf(ExecState* exec, JSObject*, JSValue
return v;
}
-JSValue JSC_HOST_CALL numberProtoFuncToFixed(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL numberProtoFuncToFixed(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
JSValue v = thisValue.getJSNumber();
if (!v)
return throwError(exec, TypeError);
- JSValue fractionDigits = args.at(0);
+ JSValue fractionDigits = exec->argument(0);
double df = fractionDigits.toInteger(exec);
if (!(df >= 0 && df <= 20))
return throwError(exec, RangeError, "toFixed() digits argument must be between 0 and 20");
@@ -331,8 +335,9 @@ static void exponentialPartToString(char* buf, int& i, int decimalPoint)
buf[i++] = static_cast<char>('0' + exponential % 10);
}
-JSValue JSC_HOST_CALL numberProtoFuncToExponential(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL numberProtoFuncToExponential(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
JSValue v = thisValue.getJSNumber();
if (!v)
return throwError(exec, TypeError);
@@ -342,7 +347,7 @@ JSValue JSC_HOST_CALL numberProtoFuncToExponential(ExecState* exec, JSObject*, J
if (isnan(x) || isinf(x))
return jsString(exec, UString::from(x));
- JSValue fractionalDigitsValue = args.at(0);
+ JSValue fractionalDigitsValue = exec->argument(0);
double df = fractionalDigitsValue.toInteger(exec);
if (!(df >= 0 && df <= 20))
return throwError(exec, RangeError, "toExponential() argument must between 0 and 20");
@@ -403,15 +408,16 @@ JSValue JSC_HOST_CALL numberProtoFuncToExponential(ExecState* exec, JSObject*, J
return jsString(exec, buf);
}
-JSValue JSC_HOST_CALL numberProtoFuncToPrecision(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL numberProtoFuncToPrecision(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
JSValue v = thisValue.getJSNumber();
if (!v)
return throwError(exec, TypeError);
- double doublePrecision = args.at(0).toIntegerPreserveNaN(exec);
+ double doublePrecision = exec->argument(0).toIntegerPreserveNaN(exec);
double x = v.uncheckedGetNumber();
- if (args.at(0).isUndefined() || isnan(x) || isinf(x))
+ if (exec->argument(0).isUndefined() || isnan(x) || isinf(x))
return jsString(exec, v.toString(exec));
UString s;
diff --git a/JavaScriptCore/runtime/ObjectConstructor.cpp b/JavaScriptCore/runtime/ObjectConstructor.cpp
index fe98df3..c373f87 100644
--- a/JavaScriptCore/runtime/ObjectConstructor.cpp
+++ b/JavaScriptCore/runtime/ObjectConstructor.cpp
@@ -34,13 +34,13 @@ namespace JSC {
ASSERT_CLASS_FITS_IN_CELL(ObjectConstructor);
-static JSValue JSC_HOST_CALL objectConstructorGetPrototypeOf(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL objectConstructorGetOwnPropertyDescriptor(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL objectConstructorGetOwnPropertyNames(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL objectConstructorKeys(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL objectConstructorDefineProperty(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL objectConstructorDefineProperties(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL objectConstructorCreate(ExecState*, JSObject*, JSValue, const ArgList&);
+static JSValue JSC_HOST_CALL objectConstructorGetPrototypeOf(ExecState*);
+static JSValue JSC_HOST_CALL objectConstructorGetOwnPropertyDescriptor(ExecState*);
+static JSValue JSC_HOST_CALL objectConstructorGetOwnPropertyNames(ExecState*);
+static JSValue JSC_HOST_CALL objectConstructorKeys(ExecState*);
+static JSValue JSC_HOST_CALL objectConstructorDefineProperty(ExecState*);
+static JSValue JSC_HOST_CALL objectConstructorDefineProperties(ExecState*);
+static JSValue JSC_HOST_CALL objectConstructorCreate(ExecState*);
ObjectConstructor::ObjectConstructor(ExecState* exec, JSGlobalObject* globalObject, NonNullPassRefPtr<Structure> structure, ObjectPrototype* objectPrototype, Structure* prototypeFunctionStructure)
: InternalFunction(&exec->globalData(), globalObject, structure, Identifier(exec, "Object"))
@@ -80,8 +80,9 @@ ConstructType ObjectConstructor::getConstructData(ConstructData& constructData)
return ConstructTypeHost;
}
-static JSValue JSC_HOST_CALL callObjectConstructor(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+static JSValue JSC_HOST_CALL callObjectConstructor(ExecState* exec)
{
+ ArgList args(exec);
return constructObject(exec, args);
}
@@ -91,21 +92,21 @@ CallType ObjectConstructor::getCallData(CallData& callData)
return CallTypeHost;
}
-JSValue JSC_HOST_CALL objectConstructorGetPrototypeOf(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL objectConstructorGetPrototypeOf(ExecState* exec)
{
- if (!args.at(0).isObject())
+ if (!exec->argument(0).isObject())
return throwError(exec, TypeError, "Requested prototype of a value that is not an object.");
- return asObject(args.at(0))->prototype();
+ return asObject(exec->argument(0))->prototype();
}
-JSValue JSC_HOST_CALL objectConstructorGetOwnPropertyDescriptor(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL objectConstructorGetOwnPropertyDescriptor(ExecState* exec)
{
- if (!args.at(0).isObject())
+ if (!exec->argument(0).isObject())
return throwError(exec, TypeError, "Requested property descriptor of a value that is not an object.");
- UString propertyName = args.at(1).toString(exec);
+ UString propertyName = exec->argument(1).toString(exec);
if (exec->hadException())
return jsNull();
- JSObject* object = asObject(args.at(0));
+ JSObject* object = asObject(exec->argument(0));
PropertyDescriptor descriptor;
if (!object->getOwnPropertyDescriptor(exec, Identifier(exec, propertyName), descriptor))
return jsUndefined();
@@ -128,12 +129,12 @@ JSValue JSC_HOST_CALL objectConstructorGetOwnPropertyDescriptor(ExecState* exec,
}
// FIXME: Use the enumeration cache.
-JSValue JSC_HOST_CALL objectConstructorGetOwnPropertyNames(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL objectConstructorGetOwnPropertyNames(ExecState* exec)
{
- if (!args.at(0).isObject())
+ if (!exec->argument(0).isObject())
return throwError(exec, TypeError, "Requested property names of a value that is not an object.");
PropertyNameArray properties(exec);
- asObject(args.at(0))->getOwnPropertyNames(exec, properties, IncludeDontEnumProperties);
+ asObject(exec->argument(0))->getOwnPropertyNames(exec, properties, IncludeDontEnumProperties);
JSArray* names = constructEmptyArray(exec);
size_t numProperties = properties.size();
for (size_t i = 0; i < numProperties; i++)
@@ -142,12 +143,12 @@ JSValue JSC_HOST_CALL objectConstructorGetOwnPropertyNames(ExecState* exec, JSOb
}
// FIXME: Use the enumeration cache.
-JSValue JSC_HOST_CALL objectConstructorKeys(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL objectConstructorKeys(ExecState* exec)
{
- if (!args.at(0).isObject())
+ if (!exec->argument(0).isObject())
return throwError(exec, TypeError, "Requested keys of a value that is not an object.");
PropertyNameArray properties(exec);
- asObject(args.at(0))->getOwnPropertyNames(exec, properties);
+ asObject(exec->argument(0))->getOwnPropertyNames(exec, properties);
JSArray* keys = constructEmptyArray(exec);
size_t numProperties = properties.size();
for (size_t i = 0; i < numProperties; i++)
@@ -241,16 +242,16 @@ static bool toPropertyDescriptor(ExecState* exec, JSValue in, PropertyDescriptor
return true;
}
-JSValue JSC_HOST_CALL objectConstructorDefineProperty(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL objectConstructorDefineProperty(ExecState* exec)
{
- if (!args.at(0).isObject())
+ if (!exec->argument(0).isObject())
return throwError(exec, TypeError, "Properties can only be defined on Objects.");
- JSObject* O = asObject(args.at(0));
- UString propertyName = args.at(1).toString(exec);
+ JSObject* O = asObject(exec->argument(0));
+ UString propertyName = exec->argument(1).toString(exec);
if (exec->hadException())
return jsNull();
PropertyDescriptor descriptor;
- if (!toPropertyDescriptor(exec, args.at(2), descriptor))
+ if (!toPropertyDescriptor(exec, exec->argument(2), descriptor))
return jsNull();
ASSERT((descriptor.attributes() & (Getter | Setter)) || (!descriptor.isAccessorDescriptor()));
ASSERT(!exec->hadException());
@@ -292,26 +293,26 @@ static JSValue defineProperties(ExecState* exec, JSObject* object, JSObject* pro
return object;
}
-JSValue JSC_HOST_CALL objectConstructorDefineProperties(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL objectConstructorDefineProperties(ExecState* exec)
{
- if (!args.at(0).isObject())
+ if (!exec->argument(0).isObject())
return throwError(exec, TypeError, "Properties can only be defined on Objects.");
- if (!args.at(1).isObject())
+ if (!exec->argument(1).isObject())
return throwError(exec, TypeError, "Property descriptor list must be an Object.");
- return defineProperties(exec, asObject(args.at(0)), asObject(args.at(1)));
+ return defineProperties(exec, asObject(exec->argument(0)), asObject(exec->argument(1)));
}
-JSValue JSC_HOST_CALL objectConstructorCreate(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+JSValue JSC_HOST_CALL objectConstructorCreate(ExecState* exec)
{
- if (!args.at(0).isObject() && !args.at(0).isNull())
+ if (!exec->argument(0).isObject() && !exec->argument(0).isNull())
return throwError(exec, TypeError, "Object prototype may only be an Object or null.");
JSObject* newObject = constructEmptyObject(exec);
- newObject->setPrototype(args.at(0));
- if (args.at(1).isUndefined())
+ newObject->setPrototype(exec->argument(0));
+ if (exec->argument(1).isUndefined())
return newObject;
- if (!args.at(1).isObject())
+ if (!exec->argument(1).isObject())
return throwError(exec, TypeError, "Property descriptor list must be an Object.");
- return defineProperties(exec, newObject, asObject(args.at(1)));
+ return defineProperties(exec, newObject, asObject(exec->argument(1)));
}
} // namespace JSC
diff --git a/JavaScriptCore/runtime/ObjectPrototype.cpp b/JavaScriptCore/runtime/ObjectPrototype.cpp
index 97601f3..87212da 100644
--- a/JavaScriptCore/runtime/ObjectPrototype.cpp
+++ b/JavaScriptCore/runtime/ObjectPrototype.cpp
@@ -31,15 +31,15 @@ namespace JSC {
ASSERT_CLASS_FITS_IN_CELL(ObjectPrototype);
-static JSValue JSC_HOST_CALL objectProtoFuncValueOf(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL objectProtoFuncHasOwnProperty(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL objectProtoFuncIsPrototypeOf(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL objectProtoFuncDefineGetter(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL objectProtoFuncDefineSetter(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL objectProtoFuncLookupGetter(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL objectProtoFuncLookupSetter(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL objectProtoFuncPropertyIsEnumerable(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL objectProtoFuncToLocaleString(ExecState*, JSObject*, JSValue, const ArgList&);
+static JSValue JSC_HOST_CALL objectProtoFuncValueOf(ExecState*);
+static JSValue JSC_HOST_CALL objectProtoFuncHasOwnProperty(ExecState*);
+static JSValue JSC_HOST_CALL objectProtoFuncIsPrototypeOf(ExecState*);
+static JSValue JSC_HOST_CALL objectProtoFuncDefineGetter(ExecState*);
+static JSValue JSC_HOST_CALL objectProtoFuncDefineSetter(ExecState*);
+static JSValue JSC_HOST_CALL objectProtoFuncLookupGetter(ExecState*);
+static JSValue JSC_HOST_CALL objectProtoFuncLookupSetter(ExecState*);
+static JSValue JSC_HOST_CALL objectProtoFuncPropertyIsEnumerable(ExecState*);
+static JSValue JSC_HOST_CALL objectProtoFuncToLocaleString(ExecState*);
ObjectPrototype::ObjectPrototype(ExecState* exec, JSGlobalObject* globalObject, NonNullPassRefPtr<Structure> stucture, Structure* prototypeFunctionStructure)
: JSObject(stucture)
@@ -81,74 +81,84 @@ bool ObjectPrototype::getOwnPropertySlot(ExecState* exec, unsigned propertyName,
// ECMA 15.2.4.2, 15.2.4.4, 15.2.4.5, 15.2.4.7
-JSValue JSC_HOST_CALL objectProtoFuncValueOf(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL objectProtoFuncValueOf(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
return thisValue.toThisObject(exec);
}
-JSValue JSC_HOST_CALL objectProtoFuncHasOwnProperty(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL objectProtoFuncHasOwnProperty(ExecState* exec)
{
- return jsBoolean(thisValue.toThisObject(exec)->hasOwnProperty(exec, Identifier(exec, args.at(0).toString(exec))));
+ JSValue thisValue = exec->hostThisValue();
+ return jsBoolean(thisValue.toThisObject(exec)->hasOwnProperty(exec, Identifier(exec, exec->argument(0).toString(exec))));
}
-JSValue JSC_HOST_CALL objectProtoFuncIsPrototypeOf(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL objectProtoFuncIsPrototypeOf(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
JSObject* thisObj = thisValue.toThisObject(exec);
- if (!args.at(0).isObject())
+ if (!exec->argument(0).isObject())
return jsBoolean(false);
- JSValue v = asObject(args.at(0))->prototype();
+ JSValue v = asObject(exec->argument(0))->prototype();
while (true) {
if (!v.isObject())
return jsBoolean(false);
- if (v == thisObj)
+ if (v == thisObj)
return jsBoolean(true);
v = asObject(v)->prototype();
}
}
-JSValue JSC_HOST_CALL objectProtoFuncDefineGetter(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL objectProtoFuncDefineGetter(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
CallData callData;
- if (args.at(1).getCallData(callData) == CallTypeNone)
+ if (exec->argument(1).getCallData(callData) == CallTypeNone)
return throwError(exec, SyntaxError, "invalid getter usage");
- thisValue.toThisObject(exec)->defineGetter(exec, Identifier(exec, args.at(0).toString(exec)), asObject(args.at(1)));
+ thisValue.toThisObject(exec)->defineGetter(exec, Identifier(exec, exec->argument(0).toString(exec)), asObject(exec->argument(1)));
return jsUndefined();
}
-JSValue JSC_HOST_CALL objectProtoFuncDefineSetter(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL objectProtoFuncDefineSetter(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
CallData callData;
- if (args.at(1).getCallData(callData) == CallTypeNone)
+ if (exec->argument(1).getCallData(callData) == CallTypeNone)
return throwError(exec, SyntaxError, "invalid setter usage");
- thisValue.toThisObject(exec)->defineSetter(exec, Identifier(exec, args.at(0).toString(exec)), asObject(args.at(1)));
+ thisValue.toThisObject(exec)->defineSetter(exec, Identifier(exec, exec->argument(0).toString(exec)), asObject(exec->argument(1)));
return jsUndefined();
}
-JSValue JSC_HOST_CALL objectProtoFuncLookupGetter(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL objectProtoFuncLookupGetter(ExecState* exec)
{
- return thisValue.toThisObject(exec)->lookupGetter(exec, Identifier(exec, args.at(0).toString(exec)));
+ JSValue thisValue = exec->hostThisValue();
+ return thisValue.toThisObject(exec)->lookupGetter(exec, Identifier(exec, exec->argument(0).toString(exec)));
}
-JSValue JSC_HOST_CALL objectProtoFuncLookupSetter(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL objectProtoFuncLookupSetter(ExecState* exec)
{
- return thisValue.toThisObject(exec)->lookupSetter(exec, Identifier(exec, args.at(0).toString(exec)));
+ JSValue thisValue = exec->hostThisValue();
+ return thisValue.toThisObject(exec)->lookupSetter(exec, Identifier(exec, exec->argument(0).toString(exec)));
}
-JSValue JSC_HOST_CALL objectProtoFuncPropertyIsEnumerable(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL objectProtoFuncPropertyIsEnumerable(ExecState* exec)
{
- return jsBoolean(thisValue.toThisObject(exec)->propertyIsEnumerable(exec, Identifier(exec, args.at(0).toString(exec))));
+ JSValue thisValue = exec->hostThisValue();
+ return jsBoolean(thisValue.toThisObject(exec)->propertyIsEnumerable(exec, Identifier(exec, exec->argument(0).toString(exec))));
}
-JSValue JSC_HOST_CALL objectProtoFuncToLocaleString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL objectProtoFuncToLocaleString(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
return thisValue.toThisJSString(exec);
}
-JSValue JSC_HOST_CALL objectProtoFuncToString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL objectProtoFuncToString(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
return jsMakeNontrivialString(exec, "[object ", thisValue.toThisObject(exec)->className(), "]");
}
diff --git a/JavaScriptCore/runtime/ObjectPrototype.h b/JavaScriptCore/runtime/ObjectPrototype.h
index 47065d7..8865d6b 100644
--- a/JavaScriptCore/runtime/ObjectPrototype.h
+++ b/JavaScriptCore/runtime/ObjectPrototype.h
@@ -36,7 +36,7 @@ namespace JSC {
bool m_hasNoPropertiesWithUInt32Names;
};
- JSValue JSC_HOST_CALL objectProtoFuncToString(ExecState*, JSObject*, JSValue, const ArgList&);
+ JSValue JSC_HOST_CALL objectProtoFuncToString(ExecState*);
} // namespace JSC
diff --git a/JavaScriptCore/runtime/Operations.h b/JavaScriptCore/runtime/Operations.h
index 1228902..bd6c205 100644
--- a/JavaScriptCore/runtime/Operations.h
+++ b/JavaScriptCore/runtime/Operations.h
@@ -189,15 +189,15 @@ namespace JSC {
return new (globalData) JSString(globalData, ropeBuilder.release());
}
- ALWAYS_INLINE JSValue jsString(ExecState* exec, JSValue thisValue, const ArgList& args)
+ ALWAYS_INLINE JSValue jsString(ExecState* exec, JSValue thisValue)
{
unsigned fiberCount = 0;
if (LIKELY(thisValue.isString()))
fiberCount += asString(thisValue)->size();
else
++fiberCount;
- for (unsigned i = 0; i < args.size(); ++i) {
- JSValue v = args.at(i);
+ for (unsigned i = 0; i < exec->argumentCount(); ++i) {
+ JSValue v = exec->argument(i);
if (LIKELY(v.isString()))
fiberCount += asString(v)->size();
else
@@ -216,8 +216,8 @@ namespace JSC {
unsigned length = 0;
bool overflow = false;
- for (unsigned i = 0; i < args.size(); ++i) {
- JSValue v = args.at(i);
+ for (unsigned i = 0; i < exec->argumentCount(); ++i) {
+ JSValue v = exec->argument(i);
if (LIKELY(v.isString()))
ropeBuilder.append(asString(v));
else
diff --git a/JavaScriptCore/runtime/PropertySlot.cpp b/JavaScriptCore/runtime/PropertySlot.cpp
index 2306a11..fd16c0c 100644
--- a/JavaScriptCore/runtime/PropertySlot.cpp
+++ b/JavaScriptCore/runtime/PropertySlot.cpp
@@ -34,11 +34,7 @@ JSValue PropertySlot::functionGetter(ExecState* exec) const
CallData callData;
CallType callType = m_data.getterFunc->getCallData(callData);
- if (callType == CallTypeHost)
- return callData.native.function(exec, m_data.getterFunc, thisValue(), exec->emptyList());
- ASSERT(callType == CallTypeJS);
- // FIXME: Can this be done more efficiently using the callData?
- return asFunction(m_data.getterFunc)->call(exec, thisValue(), exec->emptyList());
+ return call(exec, m_data.getterFunc, callType, callData, thisValue(), exec->emptyList());
}
} // namespace JSC
diff --git a/JavaScriptCore/runtime/RegExpConstructor.cpp b/JavaScriptCore/runtime/RegExpConstructor.cpp
index e7e6109..c79d5f8 100644
--- a/JavaScriptCore/runtime/RegExpConstructor.cpp
+++ b/JavaScriptCore/runtime/RegExpConstructor.cpp
@@ -319,8 +319,9 @@ ConstructType RegExpConstructor::getConstructData(ConstructData& constructData)
}
// ECMA 15.10.3
-static JSValue JSC_HOST_CALL callRegExpConstructor(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+static JSValue JSC_HOST_CALL callRegExpConstructor(ExecState* exec)
{
+ ArgList args(exec);
return constructRegExp(exec, args);
}
diff --git a/JavaScriptCore/runtime/RegExpObject.cpp b/JavaScriptCore/runtime/RegExpObject.cpp
index b04b55e..acec966 100644
--- a/JavaScriptCore/runtime/RegExpObject.cpp
+++ b/JavaScriptCore/runtime/RegExpObject.cpp
@@ -113,21 +113,21 @@ void setRegExpObjectLastIndex(ExecState* exec, JSObject* baseObject, JSValue val
asRegExpObject(baseObject)->setLastIndex(value.toInteger(exec));
}
-JSValue RegExpObject::test(ExecState* exec, const ArgList& args)
+JSValue RegExpObject::test(ExecState* exec)
{
- return jsBoolean(match(exec, args));
+ return jsBoolean(match(exec));
}
-JSValue RegExpObject::exec(ExecState* exec, const ArgList& args)
+JSValue RegExpObject::exec(ExecState* exec)
{
- if (match(exec, args))
+ if (match(exec))
return exec->lexicalGlobalObject()->regExpConstructor()->arrayOfMatches(exec);
return jsNull();
}
-static JSValue JSC_HOST_CALL callRegExpObject(ExecState* exec, JSObject* function, JSValue, const ArgList& args)
+static JSValue JSC_HOST_CALL callRegExpObject(ExecState* exec)
{
- return asRegExpObject(function)->exec(exec, args);
+ return asRegExpObject(exec->callee())->exec(exec);
}
CallType RegExpObject::getCallData(CallData& callData)
@@ -137,11 +137,11 @@ CallType RegExpObject::getCallData(CallData& callData)
}
// Shared implementation used by test and exec.
-bool RegExpObject::match(ExecState* exec, const ArgList& args)
+bool RegExpObject::match(ExecState* exec)
{
RegExpConstructor* regExpConstructor = exec->lexicalGlobalObject()->regExpConstructor();
- UString input = args.isEmpty() ? regExpConstructor->input() : args.at(0).toString(exec);
+ UString input = !exec->argumentCount() ? regExpConstructor->input() : exec->argument(0).toString(exec);
if (input.isNull()) {
throwError(exec, GeneralError, makeString("No input to ", toString(exec), "."));
return false;
diff --git a/JavaScriptCore/runtime/RegExpObject.h b/JavaScriptCore/runtime/RegExpObject.h
index 3324e53..f997374 100644
--- a/JavaScriptCore/runtime/RegExpObject.h
+++ b/JavaScriptCore/runtime/RegExpObject.h
@@ -37,8 +37,8 @@ namespace JSC {
void setLastIndex(double lastIndex) { d->lastIndex = lastIndex; }
double lastIndex() const { return d->lastIndex; }
- JSValue test(ExecState*, const ArgList&);
- JSValue exec(ExecState*, const ArgList&);
+ JSValue test(ExecState*);
+ JSValue exec(ExecState*);
virtual bool getOwnPropertySlot(ExecState*, const Identifier& propertyName, PropertySlot&);
virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
@@ -56,7 +56,7 @@ namespace JSC {
static const unsigned StructureFlags = OverridesGetOwnPropertySlot | JSObjectWithGlobalObject::StructureFlags;
private:
- bool match(ExecState*, const ArgList&);
+ bool match(ExecState*);
virtual CallType getCallData(CallData&);
diff --git a/JavaScriptCore/runtime/RegExpPrototype.cpp b/JavaScriptCore/runtime/RegExpPrototype.cpp
index 9ebf105..0a531ac 100644
--- a/JavaScriptCore/runtime/RegExpPrototype.cpp
+++ b/JavaScriptCore/runtime/RegExpPrototype.cpp
@@ -38,10 +38,10 @@ namespace JSC {
ASSERT_CLASS_FITS_IN_CELL(RegExpPrototype);
-static JSValue JSC_HOST_CALL regExpProtoFuncTest(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL regExpProtoFuncExec(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL regExpProtoFuncCompile(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL regExpProtoFuncToString(ExecState*, JSObject*, JSValue, const ArgList&);
+static JSValue JSC_HOST_CALL regExpProtoFuncTest(ExecState*);
+static JSValue JSC_HOST_CALL regExpProtoFuncExec(ExecState*);
+static JSValue JSC_HOST_CALL regExpProtoFuncCompile(ExecState*);
+static JSValue JSC_HOST_CALL regExpProtoFuncToString(ExecState*);
// ECMA 15.10.5
@@ -58,35 +58,38 @@ RegExpPrototype::RegExpPrototype(ExecState* exec, JSGlobalObject* globalObject,
// ------------------------------ Functions ---------------------------
-JSValue JSC_HOST_CALL regExpProtoFuncTest(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL regExpProtoFuncTest(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&RegExpObject::info))
return throwError(exec, TypeError);
- return asRegExpObject(thisValue)->test(exec, args);
+ return asRegExpObject(thisValue)->test(exec);
}
-JSValue JSC_HOST_CALL regExpProtoFuncExec(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL regExpProtoFuncExec(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&RegExpObject::info))
return throwError(exec, TypeError);
- return asRegExpObject(thisValue)->exec(exec, args);
+ return asRegExpObject(thisValue)->exec(exec);
}
-JSValue JSC_HOST_CALL regExpProtoFuncCompile(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL regExpProtoFuncCompile(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&RegExpObject::info))
return throwError(exec, TypeError);
RefPtr<RegExp> regExp;
- JSValue arg0 = args.at(0);
- JSValue arg1 = args.at(1);
+ JSValue arg0 = exec->argument(0);
+ JSValue arg1 = exec->argument(1);
if (arg0.inherits(&RegExpObject::info)) {
if (!arg1.isUndefined())
return throwError(exec, TypeError, "Cannot supply flags when constructing one RegExp from another.");
regExp = asRegExpObject(arg0)->regExp();
} else {
- UString pattern = args.isEmpty() ? UString("") : arg0.toString(exec);
+ UString pattern = !exec->argumentCount() ? UString("") : arg0.toString(exec);
UString flags = arg1.isUndefined() ? UString("") : arg1.toString(exec);
regExp = RegExp::create(&exec->globalData(), pattern, flags);
}
@@ -99,8 +102,9 @@ JSValue JSC_HOST_CALL regExpProtoFuncCompile(ExecState* exec, JSObject*, JSValue
return jsUndefined();
}
-JSValue JSC_HOST_CALL regExpProtoFuncToString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL regExpProtoFuncToString(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&RegExpObject::info)) {
if (thisValue.inherits(&RegExpPrototype::info))
return jsNontrivialString(exec, "//");
diff --git a/JavaScriptCore/runtime/StringConstructor.cpp b/JavaScriptCore/runtime/StringConstructor.cpp
index b5c46b6..c1484c5 100644
--- a/JavaScriptCore/runtime/StringConstructor.cpp
+++ b/JavaScriptCore/runtime/StringConstructor.cpp
@@ -30,21 +30,21 @@
namespace JSC {
-static NEVER_INLINE JSValue stringFromCharCodeSlowCase(ExecState* exec, const ArgList& args)
+static NEVER_INLINE JSValue stringFromCharCodeSlowCase(ExecState* exec)
{
- unsigned length = args.size();
+ unsigned length = exec->argumentCount();
UChar* buf;
PassRefPtr<UStringImpl> impl = UStringImpl::createUninitialized(length, buf);
for (unsigned i = 0; i < length; ++i)
- buf[i] = static_cast<UChar>(args.at(i).toUInt32(exec));
+ buf[i] = static_cast<UChar>(exec->argument(i).toUInt32(exec));
return jsString(exec, impl);
}
-static JSValue JSC_HOST_CALL stringFromCharCode(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+static JSValue JSC_HOST_CALL stringFromCharCode(ExecState* exec)
{
- if (LIKELY(args.size() == 1))
- return jsSingleCharacterString(exec, args.at(0).toUInt32(exec));
- return stringFromCharCodeSlowCase(exec, args);
+ if (LIKELY(exec->argumentCount() == 1))
+ return jsSingleCharacterString(exec, exec->argument(0).toUInt32(exec));
+ return stringFromCharCodeSlowCase(exec);
}
ASSERT_CLASS_FITS_IN_CELL(StringConstructor);
@@ -56,7 +56,7 @@ StringConstructor::StringConstructor(ExecState* exec, JSGlobalObject* globalObje
putDirectWithoutTransition(exec->propertyNames().prototype, stringPrototype, ReadOnly | DontEnum | DontDelete);
// ECMA 15.5.3.2 fromCharCode()
-#if ENABLE(JIT)
+#if ENABLE(JIT) && ENABLE(JIT_OPTIMIZE_NATIVE_CALL)
putDirectFunctionWithoutTransition(exec, new (exec) NativeFunctionWrapper(exec, globalObject, prototypeFunctionStructure, 1, exec->propertyNames().fromCharCode, exec->globalData().getHostFunction(stringFromCharCode, fromCharCodeThunkGenerator)), DontEnum);
#else
putDirectFunctionWithoutTransition(exec, new (exec) NativeFunctionWrapper(exec, globalObject, prototypeFunctionStructure, 1, exec->propertyNames().fromCharCode, stringFromCharCode), DontEnum);
@@ -80,11 +80,11 @@ ConstructType StringConstructor::getConstructData(ConstructData& constructData)
}
// ECMA 15.5.1
-static JSValue JSC_HOST_CALL callStringConstructor(ExecState* exec, JSObject*, JSValue, const ArgList& args)
+static JSValue JSC_HOST_CALL callStringConstructor(ExecState* exec)
{
- if (args.isEmpty())
+ if (!exec->argumentCount())
return jsEmptyString(exec);
- return jsString(exec, args.at(0).toString(exec));
+ return jsString(exec, exec->argument(0).toString(exec));
}
CallType StringConstructor::getCallData(CallData& callData)
diff --git a/JavaScriptCore/runtime/StringPrototype.cpp b/JavaScriptCore/runtime/StringPrototype.cpp
index 9df3dbb..f90d908 100644
--- a/JavaScriptCore/runtime/StringPrototype.cpp
+++ b/JavaScriptCore/runtime/StringPrototype.cpp
@@ -45,40 +45,38 @@ namespace JSC {
ASSERT_CLASS_FITS_IN_CELL(StringPrototype);
-static JSValue JSC_HOST_CALL stringProtoFuncToString(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL stringProtoFuncCharAt(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL stringProtoFuncCharCodeAt(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL stringProtoFuncConcat(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL stringProtoFuncIndexOf(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL stringProtoFuncLastIndexOf(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL stringProtoFuncMatch(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL stringProtoFuncReplace(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL stringProtoFuncSearch(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL stringProtoFuncSlice(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL stringProtoFuncSplit(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL stringProtoFuncSubstr(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL stringProtoFuncSubstring(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL stringProtoFuncToLowerCase(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL stringProtoFuncToUpperCase(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL stringProtoFuncLocaleCompare(ExecState*, JSObject*, JSValue, const ArgList&);
-
-static JSValue JSC_HOST_CALL stringProtoFuncBig(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL stringProtoFuncSmall(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL stringProtoFuncBlink(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL stringProtoFuncBold(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL stringProtoFuncFixed(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL stringProtoFuncItalics(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL stringProtoFuncStrike(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL stringProtoFuncSub(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL stringProtoFuncSup(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL stringProtoFuncFontcolor(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL stringProtoFuncFontsize(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL stringProtoFuncAnchor(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL stringProtoFuncLink(ExecState*, JSObject*, JSValue, const ArgList&);
-
-static JSValue JSC_HOST_CALL stringProtoFuncTrim(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL stringProtoFuncTrimLeft(ExecState*, JSObject*, JSValue, const ArgList&);
-static JSValue JSC_HOST_CALL stringProtoFuncTrimRight(ExecState*, JSObject*, JSValue, const ArgList&);
+static JSValue JSC_HOST_CALL stringProtoFuncToString(ExecState*);
+static JSValue JSC_HOST_CALL stringProtoFuncCharAt(ExecState*);
+static JSValue JSC_HOST_CALL stringProtoFuncCharCodeAt(ExecState*);
+static JSValue JSC_HOST_CALL stringProtoFuncConcat(ExecState*);
+static JSValue JSC_HOST_CALL stringProtoFuncIndexOf(ExecState*);
+static JSValue JSC_HOST_CALL stringProtoFuncLastIndexOf(ExecState*);
+static JSValue JSC_HOST_CALL stringProtoFuncMatch(ExecState*);
+static JSValue JSC_HOST_CALL stringProtoFuncReplace(ExecState*);
+static JSValue JSC_HOST_CALL stringProtoFuncSearch(ExecState*);
+static JSValue JSC_HOST_CALL stringProtoFuncSlice(ExecState*);
+static JSValue JSC_HOST_CALL stringProtoFuncSplit(ExecState*);
+static JSValue JSC_HOST_CALL stringProtoFuncSubstr(ExecState*);
+static JSValue JSC_HOST_CALL stringProtoFuncSubstring(ExecState*);
+static JSValue JSC_HOST_CALL stringProtoFuncToLowerCase(ExecState*);
+static JSValue JSC_HOST_CALL stringProtoFuncToUpperCase(ExecState*);
+static JSValue JSC_HOST_CALL stringProtoFuncLocaleCompare(ExecState*);
+static JSValue JSC_HOST_CALL stringProtoFuncBig(ExecState*);
+static JSValue JSC_HOST_CALL stringProtoFuncSmall(ExecState*);
+static JSValue JSC_HOST_CALL stringProtoFuncBlink(ExecState*);
+static JSValue JSC_HOST_CALL stringProtoFuncBold(ExecState*);
+static JSValue JSC_HOST_CALL stringProtoFuncFixed(ExecState*);
+static JSValue JSC_HOST_CALL stringProtoFuncItalics(ExecState*);
+static JSValue JSC_HOST_CALL stringProtoFuncStrike(ExecState*);
+static JSValue JSC_HOST_CALL stringProtoFuncSub(ExecState*);
+static JSValue JSC_HOST_CALL stringProtoFuncSup(ExecState*);
+static JSValue JSC_HOST_CALL stringProtoFuncFontcolor(ExecState*);
+static JSValue JSC_HOST_CALL stringProtoFuncFontsize(ExecState*);
+static JSValue JSC_HOST_CALL stringProtoFuncAnchor(ExecState*);
+static JSValue JSC_HOST_CALL stringProtoFuncLink(ExecState*);
+static JSValue JSC_HOST_CALL stringProtoFuncTrim(ExecState*);
+static JSValue JSC_HOST_CALL stringProtoFuncTrimLeft(ExecState*);
+static JSValue JSC_HOST_CALL stringProtoFuncTrimRight(ExecState*);
}
@@ -288,11 +286,12 @@ static ALWAYS_INLINE JSValue jsSpliceSubstringsWithSeparators(ExecState* exec, J
return jsString(exec, impl);
}
-JSValue JSC_HOST_CALL stringProtoFuncReplace(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL stringProtoFuncReplace(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
JSString* sourceVal = thisValue.toThisJSString(exec);
- JSValue pattern = args.at(0);
- JSValue replacement = args.at(1);
+ JSValue pattern = exec->argument(0);
+ JSValue replacement = exec->argument(1);
UString replacementString;
CallData callData;
@@ -449,8 +448,9 @@ JSValue JSC_HOST_CALL stringProtoFuncReplace(ExecState* exec, JSObject*, JSValue
return jsString(exec, source.substr(0, matchPos), substituteBackreferences(replacementString, source, ovector, 0), source.substr(matchEnd));
}
-JSValue JSC_HOST_CALL stringProtoFuncToString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL stringProtoFuncToString(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
// Also used for valueOf.
if (thisValue.isString())
@@ -462,11 +462,12 @@ JSValue JSC_HOST_CALL stringProtoFuncToString(ExecState* exec, JSObject*, JSValu
return throwError(exec, TypeError);
}
-JSValue JSC_HOST_CALL stringProtoFuncCharAt(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL stringProtoFuncCharAt(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
UString s = thisValue.toThisString(exec);
unsigned len = s.size();
- JSValue a0 = args.at(0);
+ JSValue a0 = exec->argument(0);
if (a0.isUInt32()) {
uint32_t i = a0.asUInt32();
if (i < len)
@@ -479,11 +480,12 @@ JSValue JSC_HOST_CALL stringProtoFuncCharAt(ExecState* exec, JSObject*, JSValue
return jsEmptyString(exec);
}
-JSValue JSC_HOST_CALL stringProtoFuncCharCodeAt(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL stringProtoFuncCharCodeAt(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
UString s = thisValue.toThisString(exec);
unsigned len = s.size();
- JSValue a0 = args.at(0);
+ JSValue a0 = exec->argument(0);
if (a0.isUInt32()) {
uint32_t i = a0.asUInt32();
if (i < len)
@@ -496,25 +498,27 @@ JSValue JSC_HOST_CALL stringProtoFuncCharCodeAt(ExecState* exec, JSObject*, JSVa
return jsNaN(exec);
}
-JSValue JSC_HOST_CALL stringProtoFuncConcat(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL stringProtoFuncConcat(ExecState* exec)
{
- if (thisValue.isString() && (args.size() == 1)) {
- JSValue v = args.at(0);
+ JSValue thisValue = exec->hostThisValue();
+ if (thisValue.isString() && (exec->argumentCount() == 1)) {
+ JSValue v = exec->argument(0);
return v.isString()
? jsString(exec, asString(thisValue), asString(v))
: jsString(exec, asString(thisValue), v.toString(exec));
}
- return jsString(exec, thisValue, args);
+ return jsString(exec, thisValue);
}
-JSValue JSC_HOST_CALL stringProtoFuncIndexOf(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL stringProtoFuncIndexOf(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
UString s = thisValue.toThisString(exec);
int len = s.size();
- JSValue a0 = args.at(0);
- JSValue a1 = args.at(1);
+ JSValue a0 = exec->argument(0);
+ JSValue a1 = exec->argument(1);
UString u2 = a0.toString(exec);
int pos;
if (a1.isUndefined())
@@ -536,13 +540,14 @@ JSValue JSC_HOST_CALL stringProtoFuncIndexOf(ExecState* exec, JSObject*, JSValue
return jsNumber(exec, result);
}
-JSValue JSC_HOST_CALL stringProtoFuncLastIndexOf(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL stringProtoFuncLastIndexOf(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
UString s = thisValue.toThisString(exec);
int len = s.size();
- JSValue a0 = args.at(0);
- JSValue a1 = args.at(1);
+ JSValue a0 = exec->argument(0);
+ JSValue a1 = exec->argument(1);
UString u2 = a0.toString(exec);
double dpos = a1.toIntegerPreserveNaN(exec);
@@ -562,11 +567,12 @@ JSValue JSC_HOST_CALL stringProtoFuncLastIndexOf(ExecState* exec, JSObject*, JSV
return jsNumber(exec, result);
}
-JSValue JSC_HOST_CALL stringProtoFuncMatch(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL stringProtoFuncMatch(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
UString s = thisValue.toThisString(exec);
- JSValue a0 = args.at(0);
+ JSValue a0 = exec->argument(0);
UString u = s;
RefPtr<RegExp> reg;
@@ -613,11 +619,12 @@ JSValue JSC_HOST_CALL stringProtoFuncMatch(ExecState* exec, JSObject*, JSValue t
return constructArray(exec, list);
}
-JSValue JSC_HOST_CALL stringProtoFuncSearch(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL stringProtoFuncSearch(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
UString s = thisValue.toThisString(exec);
- JSValue a0 = args.at(0);
+ JSValue a0 = exec->argument(0);
UString u = s;
RefPtr<RegExp> reg;
@@ -638,13 +645,14 @@ JSValue JSC_HOST_CALL stringProtoFuncSearch(ExecState* exec, JSObject*, JSValue
return jsNumber(exec, pos);
}
-JSValue JSC_HOST_CALL stringProtoFuncSlice(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL stringProtoFuncSlice(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
UString s = thisValue.toThisString(exec);
int len = s.size();
- JSValue a0 = args.at(0);
- JSValue a1 = args.at(1);
+ JSValue a0 = exec->argument(0);
+ JSValue a1 = exec->argument(1);
// The arg processing is very much like ArrayProtoFunc::Slice
double start = a0.toInteger(exec);
@@ -662,12 +670,13 @@ JSValue JSC_HOST_CALL stringProtoFuncSlice(ExecState* exec, JSObject*, JSValue t
return jsEmptyString(exec);
}
-JSValue JSC_HOST_CALL stringProtoFuncSplit(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL stringProtoFuncSplit(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
UString s = thisValue.toThisString(exec);
- JSValue a0 = args.at(0);
- JSValue a1 = args.at(1);
+ JSValue a0 = exec->argument(0);
+ JSValue a1 = exec->argument(1);
JSArray* result = constructEmptyArray(exec);
unsigned i = 0;
@@ -725,13 +734,14 @@ JSValue JSC_HOST_CALL stringProtoFuncSplit(ExecState* exec, JSObject*, JSValue t
return result;
}
-JSValue JSC_HOST_CALL stringProtoFuncSubstr(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL stringProtoFuncSubstr(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
UString s = thisValue.toThisString(exec);
int len = s.size();
- JSValue a0 = args.at(0);
- JSValue a1 = args.at(1);
+ JSValue a0 = exec->argument(0);
+ JSValue a1 = exec->argument(1);
double start = a0.toInteger(exec);
double length = a1.isUndefined() ? len : a1.toInteger(exec);
@@ -747,13 +757,14 @@ JSValue JSC_HOST_CALL stringProtoFuncSubstr(ExecState* exec, JSObject*, JSValue
return jsSubstring(exec, s, static_cast<unsigned>(start), static_cast<unsigned>(length));
}
-JSValue JSC_HOST_CALL stringProtoFuncSubstring(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL stringProtoFuncSubstring(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
UString s = thisValue.toThisString(exec);
int len = s.size();
- JSValue a0 = args.at(0);
- JSValue a1 = args.at(1);
+ JSValue a0 = exec->argument(0);
+ JSValue a1 = exec->argument(1);
double start = a0.toNumber(exec);
double end;
@@ -778,8 +789,9 @@ JSValue JSC_HOST_CALL stringProtoFuncSubstring(ExecState* exec, JSObject*, JSVal
return jsSubstring(exec, s, static_cast<unsigned>(start), static_cast<unsigned>(end) - static_cast<unsigned>(start));
}
-JSValue JSC_HOST_CALL stringProtoFuncToLowerCase(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL stringProtoFuncToLowerCase(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
JSString* sVal = thisValue.toThisJSString(exec);
const UString& s = sVal->value(exec);
@@ -815,8 +827,9 @@ JSValue JSC_HOST_CALL stringProtoFuncToLowerCase(ExecState* exec, JSObject*, JSV
return jsString(exec, UString::adopt(buffer));
}
-JSValue JSC_HOST_CALL stringProtoFuncToUpperCase(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL stringProtoFuncToUpperCase(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
JSString* sVal = thisValue.toThisJSString(exec);
const UString& s = sVal->value(exec);
@@ -852,81 +865,93 @@ JSValue JSC_HOST_CALL stringProtoFuncToUpperCase(ExecState* exec, JSObject*, JSV
return jsString(exec, UString::adopt(buffer));
}
-JSValue JSC_HOST_CALL stringProtoFuncLocaleCompare(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL stringProtoFuncLocaleCompare(ExecState* exec)
{
- if (args.size() < 1)
+ JSValue thisValue = exec->hostThisValue();
+ if (exec->argumentCount() < 1)
return jsNumber(exec, 0);
UString s = thisValue.toThisString(exec);
- JSValue a0 = args.at(0);
+ JSValue a0 = exec->argument(0);
return jsNumber(exec, localeCompare(s, a0.toString(exec)));
}
-JSValue JSC_HOST_CALL stringProtoFuncBig(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL stringProtoFuncBig(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
UString s = thisValue.toThisString(exec);
return jsMakeNontrivialString(exec, "<big>", s, "</big>");
}
-JSValue JSC_HOST_CALL stringProtoFuncSmall(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL stringProtoFuncSmall(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
UString s = thisValue.toThisString(exec);
return jsMakeNontrivialString(exec, "<small>", s, "</small>");
}
-JSValue JSC_HOST_CALL stringProtoFuncBlink(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL stringProtoFuncBlink(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
UString s = thisValue.toThisString(exec);
return jsMakeNontrivialString(exec, "<blink>", s, "</blink>");
}
-JSValue JSC_HOST_CALL stringProtoFuncBold(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL stringProtoFuncBold(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
UString s = thisValue.toThisString(exec);
return jsMakeNontrivialString(exec, "<b>", s, "</b>");
}
-JSValue JSC_HOST_CALL stringProtoFuncFixed(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL stringProtoFuncFixed(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
UString s = thisValue.toThisString(exec);
return jsMakeNontrivialString(exec, "<tt>", s, "</tt>");
}
-JSValue JSC_HOST_CALL stringProtoFuncItalics(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL stringProtoFuncItalics(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
UString s = thisValue.toThisString(exec);
return jsMakeNontrivialString(exec, "<i>", s, "</i>");
}
-JSValue JSC_HOST_CALL stringProtoFuncStrike(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL stringProtoFuncStrike(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
UString s = thisValue.toThisString(exec);
return jsMakeNontrivialString(exec, "<strike>", s, "</strike>");
}
-JSValue JSC_HOST_CALL stringProtoFuncSub(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL stringProtoFuncSub(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
UString s = thisValue.toThisString(exec);
return jsMakeNontrivialString(exec, "<sub>", s, "</sub>");
}
-JSValue JSC_HOST_CALL stringProtoFuncSup(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL stringProtoFuncSup(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
UString s = thisValue.toThisString(exec);
return jsMakeNontrivialString(exec, "<sup>", s, "</sup>");
}
-JSValue JSC_HOST_CALL stringProtoFuncFontcolor(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL stringProtoFuncFontcolor(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
UString s = thisValue.toThisString(exec);
- JSValue a0 = args.at(0);
+ JSValue a0 = exec->argument(0);
return jsMakeNontrivialString(exec, "<font color=\"", a0.toString(exec), "\">", s, "</font>");
}
-JSValue JSC_HOST_CALL stringProtoFuncFontsize(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL stringProtoFuncFontsize(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
UString s = thisValue.toThisString(exec);
- JSValue a0 = args.at(0);
+ JSValue a0 = exec->argument(0);
uint32_t smallInteger;
if (a0.getUInt32(smallInteger) && smallInteger <= 9) {
@@ -965,17 +990,19 @@ JSValue JSC_HOST_CALL stringProtoFuncFontsize(ExecState* exec, JSObject*, JSValu
return jsMakeNontrivialString(exec, "<font size=\"", a0.toString(exec), "\">", s, "</font>");
}
-JSValue JSC_HOST_CALL stringProtoFuncAnchor(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL stringProtoFuncAnchor(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
UString s = thisValue.toThisString(exec);
- JSValue a0 = args.at(0);
+ JSValue a0 = exec->argument(0);
return jsMakeNontrivialString(exec, "<a name=\"", a0.toString(exec), "\">", s, "</a>");
}
-JSValue JSC_HOST_CALL stringProtoFuncLink(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL stringProtoFuncLink(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
UString s = thisValue.toThisString(exec);
- JSValue a0 = args.at(0);
+ JSValue a0 = exec->argument(0);
UString linkText = a0.toString(exec);
unsigned linkTextSize = linkText.size();
@@ -1036,18 +1063,21 @@ static inline JSValue trimString(ExecState* exec, JSValue thisValue, int trimKin
return jsString(exec, str.substr(left, right - left));
}
-JSValue JSC_HOST_CALL stringProtoFuncTrim(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL stringProtoFuncTrim(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
return trimString(exec, thisValue, TrimLeft | TrimRight);
}
-JSValue JSC_HOST_CALL stringProtoFuncTrimLeft(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL stringProtoFuncTrimLeft(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
return trimString(exec, thisValue, TrimLeft);
}
-JSValue JSC_HOST_CALL stringProtoFuncTrimRight(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
+JSValue JSC_HOST_CALL stringProtoFuncTrimRight(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
return trimString(exec, thisValue, TrimRight);
}
diff --git a/JavaScriptCore/runtime/UString.cpp b/JavaScriptCore/runtime/UString.cpp
index bdc896d..1c11936 100644
--- a/JavaScriptCore/runtime/UString.cpp
+++ b/JavaScriptCore/runtime/UString.cpp
@@ -262,6 +262,11 @@ double UString::toDouble(bool tolerateTrailingJunk, bool tolerateEmptyString) co
// encounters invalid UTF-16. Further, we have no need to convert the
// non-ASCII characters to UTF-8, so the UTF8String does quite a bit of
// unnecessary work.
+
+ // FIXME: The space skipping code below skips only ASCII spaces, but callers
+ // need to skip all StrWhiteSpace. The isStrWhiteSpace function does the
+ // right thing but requires UChar, not char, for its argument.
+
CString s = UTF8String();
if (s.isNull())
return NaN;
@@ -324,13 +329,13 @@ double UString::toDouble(bool tolerateTrailingJunk, bool tolerateEmptyString) co
}
}
- // allow trailing white space
- while (isASCIISpace(*c))
- c++;
- // don't allow anything after - unless tolerant=true
- // FIXME: If string contains a U+0000 character, then this check is incorrect.
- if (!tolerateTrailingJunk && *c != '\0')
- d = NaN;
+ if (!tolerateTrailingJunk) {
+ // allow trailing white space
+ while (isASCIISpace(*c))
+ c++;
+ if (c != s.data() + s.length())
+ d = NaN;
+ }
return d;
}
@@ -575,29 +580,6 @@ bool operator>(const UString& s1, const UString& s2)
return (l1 > l2);
}
-int compare(const UString& s1, const UString& s2)
-{
- const unsigned l1 = s1.size();
- const unsigned l2 = s2.size();
- const unsigned lmin = l1 < l2 ? l1 : l2;
- const UChar* c1 = s1.data();
- const UChar* c2 = s2.data();
- unsigned l = 0;
- while (l < lmin && *c1 == *c2) {
- c1++;
- c2++;
- l++;
- }
-
- if (l < lmin)
- return (c1[0] > c2[0]) ? 1 : -1;
-
- if (l1 == l2)
- return 0;
-
- return (l1 > l2) ? 1 : -1;
-}
-
CString UString::UTF8String(bool strict) const
{
// Allocate a buffer big enough to hold all the characters.
diff --git a/JavaScriptCore/runtime/UString.h b/JavaScriptCore/runtime/UString.h
index a97e0d7..4364021 100644
--- a/JavaScriptCore/runtime/UString.h
+++ b/JavaScriptCore/runtime/UString.h
@@ -202,7 +202,10 @@ namespace JSC {
return !JSC::operator==(s1, s2);
}
- int compare(const UString&, const UString&);
+ inline int codePointCompare(const UString& s1, const UString& s2)
+ {
+ return codePointCompare(s1.rep(), s2.rep());
+ }
// Rule from ECMA 15.2 about what an array index is.
// Must exactly match string form of an unsigned integer, and be less than 2^32 - 1.
diff --git a/JavaScriptCore/wscript b/JavaScriptCore/wscript
index 61ad1fb..99859f0 100644
--- a/JavaScriptCore/wscript
+++ b/JavaScriptCore/wscript
@@ -29,7 +29,7 @@ import commands
from settings import *
-jscore_excludes = ['jsc.cpp', 'ucptable.cpp']
+jscore_excludes = ['jsc.cpp', 'ucptable.cpp','ProfilerServer.mm']
jscore_excludes.extend(get_excludes(jscore_dir, ['*Brew.cpp', '*CF.cpp', '*Symbian.cpp']))
sources = []
@@ -55,8 +55,14 @@ def generate_jscore_derived_sources():
olddir = os.getcwd()
os.chdir(derived_sources_dir)
+ # DerivedSources.make expects Cygwin (i.e. Unix-style) python, so use that instead.
+ if building_on_win32:
+ oldpath = os.environ["PATH"]
+ os.environ["PATH"] = "/usr/bin" + os.pathsep + os.environ["PATH"]
command = 'make -f %s/DerivedSources.make JavaScriptCore=%s BUILT_PRODUCTS_DIR=%s all FEATURE_DEFINES="%s"' % (js_dir, js_dir, js_dir, ' '.join(feature_defines))
os.system(command)
+ if building_on_win32:
+ os.environ["PATH"] = oldpath
os.chdir(olddir)
def set_options(opt):
@@ -86,6 +92,7 @@ def build(bld):
install_path = output_dir)
jscore.find_sources_in_dirs(full_dirs, excludes = jscore_excludes)
+
obj = bld.new_task_gen(
features = 'cxx cprogram',
diff --git a/JavaScriptCore/wtf/OwnArrayPtr.h b/JavaScriptCore/wtf/OwnArrayPtr.h
index 61375c7..b06e640 100644
--- a/JavaScriptCore/wtf/OwnArrayPtr.h
+++ b/JavaScriptCore/wtf/OwnArrayPtr.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2006 Apple Computer, Inc.
+ * Copyright (C) 2006, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -35,7 +35,14 @@ namespace WTF {
T* get() const { return m_ptr; }
T* release() { T* ptr = m_ptr; m_ptr = 0; return ptr; }
- void set(T* ptr) { ASSERT(m_ptr != ptr); safeDelete(); m_ptr = ptr; }
+ // FIXME: This should be renamed to adopt.
+ void set(T* ptr)
+ {
+ ASSERT(!ptr || m_ptr != ptr);
+ safeDelete();
+ m_ptr = ptr;
+ }
+
void clear() { safeDelete(); m_ptr = 0; }
T& operator*() const { ASSERT(m_ptr); return *m_ptr; }
diff --git a/JavaScriptCore/wtf/Platform.h b/JavaScriptCore/wtf/Platform.h
index bcf3bbe..4321943 100644
--- a/JavaScriptCore/wtf/Platform.h
+++ b/JavaScriptCore/wtf/Platform.h
@@ -988,8 +988,10 @@ on MinGW. See https://bugs.webkit.org/show_bug.cgi?id=29268 */
#define ENABLE_JIT_OPTIMIZE_CALL 1
#endif
#ifndef ENABLE_JIT_OPTIMIZE_NATIVE_CALL
+#if PLATFORM(MAC)
#define ENABLE_JIT_OPTIMIZE_NATIVE_CALL 1
#endif
+#endif
#ifndef ENABLE_JIT_OPTIMIZE_PROPERTY_ACCESS
#define ENABLE_JIT_OPTIMIZE_PROPERTY_ACCESS 1
#endif
diff --git a/JavaScriptCore/wtf/StringExtras.h b/JavaScriptCore/wtf/StringExtras.h
index 323de6a..e8f2878 100644
--- a/JavaScriptCore/wtf/StringExtras.h
+++ b/JavaScriptCore/wtf/StringExtras.h
@@ -86,7 +86,7 @@ inline int strcasecmp(const char* s1, const char* s2)
#endif
-#if COMPILER(MSVC) || OS(WINDOWS) || OS(LINUX) || OS(SOLARIS)
+#if COMPILER(MSVC) || COMPILER(RVCT) || OS(WINDOWS) || OS(LINUX) || OS(SOLARIS)
// FIXME: should check HAVE_STRNSTR
inline char* strnstr(const char* buffer, const char* target, size_t bufferLength)
diff --git a/JavaScriptCore/wtf/dtoa.cpp b/JavaScriptCore/wtf/dtoa.cpp
index 6289d04..9edc2a0 100644
--- a/JavaScriptCore/wtf/dtoa.cpp
+++ b/JavaScriptCore/wtf/dtoa.cpp
@@ -142,16 +142,15 @@
#endif
#include <math.h>
#include <stdint.h>
+#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <wtf/AlwaysInline.h>
#include <wtf/Assertions.h>
#include <wtf/FastMalloc.h>
#include <wtf/MathExtras.h>
-#include <wtf/Vector.h>
#include <wtf/Threading.h>
-
-#include <stdio.h>
+#include <wtf/Vector.h>
#if COMPILER(MSVC)
#pragma warning(disable: 4244)
@@ -179,7 +178,10 @@ namespace WTF {
Mutex* s_dtoaP5Mutex;
#endif
-typedef union { double d; uint32_t L[2]; } U;
+typedef union {
+ double d;
+ uint32_t L[2];
+} U;
#ifdef YES_ALIAS
#define dval(x) x
@@ -203,13 +205,20 @@ typedef union { double d; uint32_t L[2]; } U;
/* The following definition of Storeinc is appropriate for MIPS processors.
* An alternative that might be better on some machines is
- * #define Storeinc(a,b,c) (*a++ = b << 16 | c & 0xffff)
+ * *p++ = high << 16 | low & 0xffff;
*/
+static ALWAYS_INLINE uint32_t* storeInc(uint32_t* p, uint16_t high, uint16_t low)
+{
+ uint16_t* p16 = reinterpret_cast<uint16_t*>(p);
#if defined(IEEE_8087) || defined(IEEE_ARM)
-#define Storeinc(a,b,c) (((unsigned short*)a)[1] = (unsigned short)b, ((unsigned short*)a)[0] = (unsigned short)c, a++)
+ p16[1] = high;
+ p16[0] = low;
#else
-#define Storeinc(a,b,c) (((unsigned short*)a)[0] = (unsigned short)b, ((unsigned short*)a)[1] = (unsigned short)c, a++)
+ p16[0] = high;
+ p16[1] = low;
#endif
+ return p + 1;
+}
#define Exp_shift 20
#define Exp_shift1 20
@@ -247,11 +256,11 @@ typedef union { double d; uint32_t L[2]; } U;
#else
#define Flt_Rounds 1
#endif
-#endif /*Flt_Rounds*/
+#endif /* Flt_Rounds */
-#define rounded_product(a,b) a *= b
-#define rounded_quotient(a,b) a /= b
+#define rounded_product(a, b) a *= b
+#define rounded_quotient(a, b) a /= b
#define Big0 (Frac_mask1 | Exp_msk1 * (DBL_MAX_EXP + Bias - 1))
#define Big1 0xffffffff
@@ -413,7 +422,7 @@ static int hi0bits(uint32_t x)
return k;
}
-static int lo0bits (uint32_t* y)
+static int lo0bits(uint32_t* y)
{
int k;
uint32_t x = *y;
@@ -468,8 +477,13 @@ static void mult(BigInt& aRef, const BigInt& bRef)
const BigInt* b = &bRef;
BigInt c;
int wa, wb, wc;
- const uint32_t *x = 0, *xa, *xb, *xae, *xbe;
- uint32_t *xc, *xc0;
+ const uint32_t* x = 0;
+ const uint32_t* xa;
+ const uint32_t* xb;
+ const uint32_t* xae;
+ const uint32_t* xbe;
+ uint32_t* xc;
+ uint32_t* xc0;
uint32_t y;
#ifdef USE_LONG_LONG
unsigned long long carry, z;
@@ -521,7 +535,7 @@ static void mult(BigInt& aRef, const BigInt& bRef)
carry = z >> 16;
uint32_t z2 = (*x++ >> 16) * y + (*xc >> 16) + carry;
carry = z2 >> 16;
- Storeinc(xc, z2, z);
+ xc = storeInc(xc, z2, z);
} while (x < xae);
*xc = carry;
}
@@ -533,7 +547,7 @@ static void mult(BigInt& aRef, const BigInt& bRef)
do {
z = (*x & 0xffff) * y + (*xc >> 16) + carry;
carry = z >> 16;
- Storeinc(xc, z, z2);
+ xc = storeInc(xc, z, z2);
z2 = (*x++ >> 16) * y + (*xc & 0xffff) + carry;
carry = z2 >> 16;
} while (x < xae);
@@ -541,7 +555,7 @@ static void mult(BigInt& aRef, const BigInt& bRef)
}
}
#else
- for(; xb < xbe; xc0++) {
+ for (; xb < xbe; xc0++) {
if ((y = *xb++)) {
x = xa;
xc = xc0;
@@ -567,7 +581,7 @@ struct P5Node : Noncopyable {
};
static P5Node* p5s;
-static int p5s_count;
+static int p5sCount;
static ALWAYS_INLINE void pow5mult(BigInt& b, int k)
{
@@ -590,14 +604,14 @@ static ALWAYS_INLINE void pow5mult(BigInt& b, int k)
i2b(p5->val, 625);
p5->next = 0;
p5s = p5;
- p5s_count = 1;
+ p5sCount = 1;
}
- int p5s_count_local = p5s_count;
+ int p5sCountLocal = p5sCount;
#if ENABLE(JSC_MULTIPLE_THREADS)
s_dtoaP5Mutex->unlock();
#endif
- int p5s_used = 0;
+ int p5sUsed = 0;
for (;;) {
if (k & 1)
@@ -606,20 +620,20 @@ static ALWAYS_INLINE void pow5mult(BigInt& b, int k)
if (!(k >>= 1))
break;
- if (++p5s_used == p5s_count_local) {
+ if (++p5sUsed == p5sCountLocal) {
#if ENABLE(JSC_MULTIPLE_THREADS)
s_dtoaP5Mutex->lock();
#endif
- if (p5s_used == p5s_count) {
+ if (p5sUsed == p5sCount) {
ASSERT(!p5->next);
p5->next = new P5Node;
p5->next->next = 0;
p5->next->val = p5->val;
mult(p5->next->val, p5->next->val);
- ++p5s_count;
+ ++p5sCount;
}
- p5s_count_local = p5s_count;
+ p5sCountLocal = p5sCount;
#if ENABLE(JSC_MULTIPLE_THREADS)
s_dtoaP5Mutex->unlock();
#endif
@@ -659,7 +673,7 @@ static ALWAYS_INLINE void lshift(BigInt& b, int k)
*dst = hiSubword;
ASSERT(dst == dstStart + n);
- b.resize(origSize + n + (b.words()[n1 - 1] != 0));
+ b.resize(origSize + n + !!b.words()[n1 - 1]);
}
#else
if (k &= 0xf) {
@@ -671,9 +685,9 @@ static ALWAYS_INLINE void lshift(BigInt& b, int k)
}
*dst = hiSubword;
ASSERT(dst == dstStart + n);
- result->wds = b->wds + n + (result->x[n1 - 1] != 0);
+ result->wds = b->wds + n + !!result->x[n1 - 1];
}
- #endif
+#endif
else {
do {
*--dst = *src--;
@@ -714,7 +728,7 @@ static ALWAYS_INLINE void diff(BigInt& c, const BigInt& aRef, const BigInt& bRef
const BigInt* a = &aRef;
const BigInt* b = &bRef;
int i, wa, wb;
- uint32_t *xc;
+ uint32_t* xc;
i = cmp(*a, *b);
if (!i) {
@@ -761,14 +775,14 @@ static ALWAYS_INLINE void diff(BigInt& c, const BigInt& aRef, const BigInt& bRef
borrow = (y & 0x10000) >> 16;
uint32_t z = (*xa++ >> 16) - (*xb++ >> 16) - borrow;
borrow = (z & 0x10000) >> 16;
- Storeinc(xc, z, y);
+ xc = storeInc(xc, z, y);
} while (xb < xbe);
while (xa < xae) {
uint32_t y = (*xa & 0xffff) - borrow;
borrow = (y & 0x10000) >> 16;
uint32_t z = (*xa++ >> 16) - borrow;
borrow = (z & 0x10000) >> 16;
- Storeinc(xc, z, y);
+ xc = storeInc(xc, z, y);
}
#else
do {
@@ -843,7 +857,7 @@ static double b2d(const BigInt& a, int* e)
d0 = Exp_1 | (y >> (Ebits - k));
w = xa > xa0 ? *--xa : 0;
d1 = (y << (32 - Ebits + k)) | (w >> (Ebits - k));
- goto ret_d;
+ goto returnD;
}
z = xa > xa0 ? *--xa : 0;
if (k -= Ebits) {
@@ -861,7 +875,7 @@ static double b2d(const BigInt& a, int* e)
w = xa > xa0 ? *--xa : 0;
y = xa > xa0 ? *--xa : 0;
d1 = z << k + 16 - Ebits | w << k - Ebits | y >> 16 + Ebits - k;
- goto ret_d;
+ goto returnD;
}
z = xa > xa0 ? *--xa : 0;
w = xa > xa0 ? *--xa : 0;
@@ -870,7 +884,7 @@ static double b2d(const BigInt& a, int* e)
y = xa > xa0 ? *--xa : 0;
d1 = w << k + 16 | y << k;
#endif
-ret_d:
+returnD:
#undef d0
#undef d1
return dval(&d);
@@ -879,7 +893,8 @@ ret_d:
static ALWAYS_INLINE void d2b(BigInt& b, U* d, int* e, int* bits)
{
int de, k;
- uint32_t *x, y, z;
+ uint32_t* x;
+ uint32_t y, z;
#ifndef Sudden_Underflow
int i;
#endif
@@ -1115,27 +1130,28 @@ double strtod(const char* s00, char** se)
sign = nz0 = nz = 0;
dval(&rv) = 0;
- for (s = s00; ; s++)
+ for (s = s00; ; s++) {
switch (*s) {
- case '-':
- sign = 1;
- /* no break */
- case '+':
- if (*++s)
- goto break2;
- /* no break */
- case 0:
- goto ret0;
- case '\t':
- case '\n':
- case '\v':
- case '\f':
- case '\r':
- case ' ':
- continue;
- default:
+ case '-':
+ sign = 1;
+ /* no break */
+ case '+':
+ if (*++s)
goto break2;
+ /* no break */
+ case 0:
+ goto ret0;
+ case '\t':
+ case '\n':
+ case '\v':
+ case '\f':
+ case '\r':
+ case ' ':
+ continue;
+ default:
+ goto break2;
}
+ }
break2:
if (*s == '0') {
nz0 = 1;
@@ -1160,12 +1176,12 @@ break2:
s0 = s;
nf += nz;
nz = 0;
- goto have_dig;
+ goto haveDig;
}
- goto dig_done;
+ goto digDone;
}
for (; c >= '0' && c <= '9'; c = *++s) {
-have_dig:
+haveDig:
nz++;
if (c -= '0') {
nf += nz;
@@ -1182,19 +1198,18 @@ have_dig:
}
}
}
-dig_done:
+digDone:
e = 0;
if (c == 'e' || c == 'E') {
- if (!nd && !nz && !nz0) {
+ if (!nd && !nz && !nz0)
goto ret0;
- }
s00 = s;
esign = 0;
switch (c = *++s) {
- case '-':
- esign = 1;
- case '+':
- c = *++s;
+ case '-':
+ esign = 1;
+ case '+':
+ c = *++s;
}
if (c >= '0' && c <= '9') {
while (c == '0')
@@ -1222,29 +1237,29 @@ dig_done:
if (!nz && !nz0) {
#ifdef INFNAN_CHECK
/* Check for Nan and Infinity */
- switch(c) {
- case 'i':
- case 'I':
- if (match(&s,"nf")) {
- --s;
- if (!match(&s,"inity"))
- ++s;
- word0(&rv) = 0x7ff00000;
- word1(&rv) = 0;
- goto ret;
- }
- break;
- case 'n':
- case 'N':
- if (match(&s, "an")) {
- word0(&rv) = NAN_WORD0;
- word1(&rv) = NAN_WORD1;
+ switch (c) {
+ case 'i':
+ case 'I':
+ if (match(&s, "nf")) {
+ --s;
+ if (!match(&s, "inity"))
+ ++s;
+ word0(&rv) = 0x7ff00000;
+ word1(&rv) = 0;
+ goto ret;
+ }
+ break;
+ case 'n':
+ case 'N':
+ if (match(&s, "an")) {
+ word0(&rv) = NAN_WORD0;
+ word1(&rv) = NAN_WORD1;
#ifndef No_Hex_NaN
- if (*s == '(') /*)*/
- hexnan(&rv, &s);
+ if (*s == '(') /*)*/
+ hexnan(&rv, &s);
#endif
- goto ret;
- }
+ goto ret;
+ }
}
#endif /* INFNAN_CHECK */
ret0:
@@ -1498,10 +1513,10 @@ undfl:
}
lshift(delta, Log2P);
if (cmp(delta, bs) > 0)
- goto drop_down;
+ goto dropDown;
break;
}
- if (i == 0) {
+ if (!i) {
/* exactly half-way between */
if (dsign) {
if ((word0(&rv) & Bndry_mask1) == Bndry_mask1
@@ -1520,7 +1535,7 @@ undfl:
break;
}
} else if (!(word0(&rv) & Bndry_mask) && !word1(&rv)) {
-drop_down:
+dropDown:
/* boundary case -- decrement exponent */
#ifdef Sudden_Underflow /*{{*/
L = word0(&rv) & Exp_mask;
@@ -1592,15 +1607,15 @@ drop_down:
aadj1 = dsign ? aadj : -aadj;
#ifdef Check_FLT_ROUNDS
switch (Rounding) {
- case 2: /* towards +infinity */
- aadj1 -= 0.5;
- break;
- case 0: /* towards 0 */
- case 3: /* towards -infinity */
- aadj1 += 0.5;
+ case 2: /* towards +infinity */
+ aadj1 -= 0.5;
+ break;
+ case 0: /* towards 0 */
+ case 3: /* towards -infinity */
+ aadj1 += 0.5;
}
#else
- if (Flt_Rounds == 0)
+ if (!Flt_Rounds)
aadj1 += 0.5;
#endif /*Check_FLT_ROUNDS*/
}
@@ -1619,8 +1634,8 @@ drop_down:
word0(&rv) = Big0;
word1(&rv) = Big1;
goto cont;
- } else
- word0(&rv) += P * Exp_msk1;
+ }
+ word0(&rv) += P * Exp_msk1;
} else {
#ifdef Avoid_Underflow
if (scale && y <= 2 * P * Exp_msk1) {
@@ -1643,16 +1658,14 @@ drop_down:
word0(&rv) += P * Exp_msk1;
adj.d = aadj1 * ulp(&rv);
dval(&rv) += adj.d;
- if ((word0(&rv) & Exp_mask) <= P * Exp_msk1)
- {
+ if ((word0(&rv) & Exp_mask) <= P * Exp_msk1) {
if (word0(&rv0) == Tiny0 && word1(&rv0) == Tiny1)
goto undfl;
word0(&rv) = Tiny0;
word1(&rv) = Tiny1;
goto cont;
}
- else
- word0(&rv) -= P * Exp_msk1;
+ word0(&rv) -= P * Exp_msk1;
} else {
adj.d = aadj1 * ulp(&rv);
dval(&rv) += adj.d;
@@ -1693,7 +1706,7 @@ drop_down:
}
#endif
cont:
- ;
+ {}
}
#ifdef SET_INEXACT
if (inexact) {
@@ -1712,7 +1725,7 @@ cont:
dval(&rv) *= dval(&rv0);
#ifndef NO_ERRNO
/* try to avoid the bug of testing an 8087 register value */
- if (word0(&rv) == 0 && word1(&rv) == 0)
+ if (!word0(&rv) && !word1(&rv))
errno = ERANGE;
#endif
}
@@ -1733,7 +1746,11 @@ ret:
static ALWAYS_INLINE int quorem(BigInt& b, BigInt& S)
{
size_t n;
- uint32_t *bx, *bxe, q, *sx, *sxe;
+ uint32_t* bx;
+ uint32_t* bxe;
+ uint32_t q;
+ uint32_t* sx;
+ uint32_t* sxe;
#ifdef USE_LONG_LONG
unsigned long long borrow, carry, y, ys;
#else
@@ -1775,7 +1792,7 @@ static ALWAYS_INLINE int quorem(BigInt& b, BigInt& S)
borrow = (y & 0x10000) >> 16;
z = (*bx >> 16) - (zs & 0xffff) - borrow;
borrow = (z & 0x10000) >> 16;
- Storeinc(bx, z, y);
+ bx = storeInc(bx, z, y);
#else
ys = *sx++ * q + carry;
carry = ys >> 16;
@@ -1815,7 +1832,7 @@ static ALWAYS_INLINE int quorem(BigInt& b, BigInt& S)
borrow = (y & 0x10000) >> 16;
z = (*bx >> 16) - (zs & 0xffff) - borrow;
borrow = (z & 0x10000) >> 16;
- Storeinc(bx, z, y);
+ bx = storeInc(bx, z, y);
#else
ys = *sx++ + carry;
carry = ys >> 16;
@@ -1892,7 +1909,8 @@ void dtoa(DtoaBuffer result, double dd, int ndigits, int* decpt, int* sign, char
BigInt b, b1, delta, mlo, mhi, S;
U d2, eps, u;
double ds;
- char *s, *s0;
+ char* s;
+ char* s0;
#ifdef SET_INEXACT
int inexact, oldinexact;
#endif
@@ -1905,8 +1923,7 @@ void dtoa(DtoaBuffer result, double dd, int ndigits, int* decpt, int* sign, char
} else
*sign = 0;
- if ((word0(&u) & Exp_mask) == Exp_mask)
- {
+ if ((word0(&u) & Exp_mask) == Exp_mask) {
/* Infinity or NaN */
*decpt = 9999;
if (!word1(&u) && !(word0(&u) & 0xfffff)) {
@@ -2059,7 +2076,7 @@ void dtoa(DtoaBuffer result, double dd, int ndigits, int* decpt, int* sign, char
}
if (k_check && dval(&u) < 1. && ilim > 0) {
if (ilim1 <= 0)
- goto fast_failed;
+ goto fastFailed;
ilim = ilim1;
k--;
dval(&u) *= 10.;
@@ -2067,15 +2084,15 @@ void dtoa(DtoaBuffer result, double dd, int ndigits, int* decpt, int* sign, char
}
dval(&eps) = (ieps * dval(&u)) + 7.;
word0(&eps) -= (P - 1) * Exp_msk1;
- if (ilim == 0) {
+ if (!ilim) {
S.clear();
mhi.clear();
dval(&u) -= 5.;
if (dval(&u) > dval(&eps))
- goto one_digit;
+ goto oneDigit;
if (dval(&u) < -dval(&eps))
- goto no_digits;
- goto fast_failed;
+ goto noDigits;
+ goto fastFailed;
}
#ifndef No_leftright
if (leftright) {
@@ -2090,7 +2107,7 @@ void dtoa(DtoaBuffer result, double dd, int ndigits, int* decpt, int* sign, char
if (dval(&u) < dval(&eps))
goto ret;
if (1. - dval(&u) < dval(&eps))
- goto bump_up;
+ goto bumpUp;
if (++i >= ilim)
break;
dval(&eps) *= 10.;
@@ -2107,8 +2124,8 @@ void dtoa(DtoaBuffer result, double dd, int ndigits, int* decpt, int* sign, char
*s++ = '0' + (int)L;
if (i == ilim) {
if (dval(&u) > 0.5 + dval(&eps))
- goto bump_up;
- else if (dval(&u) < 0.5 - dval(&eps)) {
+ goto bumpUp;
+ if (dval(&u) < 0.5 - dval(&eps)) {
while (*--s == '0') { }
s++;
goto ret;
@@ -2119,7 +2136,7 @@ void dtoa(DtoaBuffer result, double dd, int ndigits, int* decpt, int* sign, char
#ifndef No_leftright
}
#endif
-fast_failed:
+fastFailed:
s = s0;
dval(&u) = dval(&d2);
k = k0;
@@ -2135,8 +2152,8 @@ fast_failed:
S.clear();
mhi.clear();
if (ilim < 0 || dval(&u) <= 5 * ds)
- goto no_digits;
- goto one_digit;
+ goto noDigits;
+ goto oneDigit;
}
for (i = 1;; i++, dval(&u) *= 10.) {
L = (int32_t)(dval(&u) / ds);
@@ -2158,7 +2175,7 @@ fast_failed:
if (i == ilim) {
dval(&u) += dval(&u);
if (dval(&u) > ds || (dval(&u) == ds && (L & 1))) {
-bump_up:
+bumpUp:
while (*--s == '9')
if (s == s0) {
k++;
@@ -2252,7 +2269,7 @@ bump_up:
if (s2 > 0)
lshift(S, s2);
if (k_check) {
- if (cmp(b,S) < 0) {
+ if (cmp(b, S) < 0) {
k--;
multadd(b, 10, 0); /* we botched the k estimate */
if (leftright)
@@ -2276,16 +2293,16 @@ bump_up:
}
for (i = 1;;i++) {
- dig = quorem(b,S) + '0';
+ dig = quorem(b, S) + '0';
/* Do we yet have the shortest decimal string
* that will round to d?
*/
j = cmp(b, mlo);
diff(delta, S, mhi);
j1 = delta.sign ? 1 : cmp(b, delta);
- if (j1 == 0 && !(word1(&u) & 1)) {
+ if (!j1 && !(word1(&u) & 1)) {
if (dig == '9')
- goto round_9_up;
+ goto round9up;
if (j > 0)
dig++;
#ifdef SET_INEXACT
@@ -2295,26 +2312,26 @@ bump_up:
*s++ = dig;
goto ret;
}
- if (j < 0 || (j == 0 && !(word1(&u) & 1))) {
+ if (j < 0 || (!j && !(word1(&u) & 1))) {
if (!b.words()[0] && b.size() <= 1) {
#ifdef SET_INEXACT
inexact = 0;
#endif
- goto accept_dig;
+ goto acceptDig;
}
if (j1 > 0) {
lshift(b, 1);
j1 = cmp(b, S);
- if ((j1 > 0 || (j1 == 0 && (dig & 1))) && dig++ == '9')
- goto round_9_up;
+ if ((j1 > 0 || (!j1 && (dig & 1))) && dig++ == '9')
+ goto round9up;
}
-accept_dig:
+acceptDig:
*s++ = dig;
goto ret;
}
if (j1 > 0) {
if (dig == '9') { /* possible if i == 1 */
-round_9_up:
+round9up:
*s++ = '9';
goto roundoff;
}
@@ -2330,7 +2347,7 @@ round_9_up:
}
} else
for (i = 1;; i++) {
- *s++ = dig = quorem(b,S) + '0';
+ *s++ = dig = quorem(b, S) + '0';
if (!b.words()[0] && b.size() <= 1) {
#ifdef SET_INEXACT
inexact = 0;
@@ -2346,7 +2363,7 @@ round_9_up:
lshift(b, 1);
j = cmp(b, S);
- if (j > 0 || (j == 0 && (dig & 1))) {
+ if (j > 0 || (!j && (dig & 1))) {
roundoff:
while (*--s == '9')
if (s == s0) {
@@ -2360,10 +2377,10 @@ roundoff:
s++;
}
goto ret;
-no_digits:
+noDigits:
k = -1 - ndigits;
goto ret;
-one_digit:
+oneDigit:
*s++ = '1';
k++;
goto ret;
diff --git a/JavaScriptCore/wtf/dtoa.h b/JavaScriptCore/wtf/dtoa.h
index 6127f53..e0938ff 100644
--- a/JavaScriptCore/wtf/dtoa.h
+++ b/JavaScriptCore/wtf/dtoa.h
@@ -22,22 +22,24 @@
#define WTF_dtoa_h
namespace WTF {
- class Mutex;
+class Mutex;
}
namespace WTF {
- extern WTF::Mutex* s_dtoaP5Mutex;
+extern WTF::Mutex* s_dtoaP5Mutex;
- double strtod(const char* s00, char** se);
+// s00: input string. Must not be 0 and must be terminated by 0.
+// se: *se will have the last consumed character position + 1.
+double strtod(const char* s00, char** se);
- typedef char DtoaBuffer[80];
- void dtoa(DtoaBuffer result, double d, int ndigits, int* decpt, int* sign, char** rve);
+typedef char DtoaBuffer[80];
+void dtoa(DtoaBuffer result, double d, int ndigits, int* decpt, int* sign, char** rve);
- // dtoa() for ECMA-262 'ToString Applied to the Number Type.'
- // The *resultLength will have the length of the resultant string in bufer.
- // The resultant string isn't terminated by 0.
- void doubleToStringInJavaScriptFormat(double, DtoaBuffer, unsigned* resultLength);
+// dtoa() for ECMA-262 'ToString Applied to the Number Type.'
+// The *resultLength will have the length of the resultant string in bufer.
+// The resultant string isn't terminated by 0.
+void doubleToStringInJavaScriptFormat(double, DtoaBuffer, unsigned* resultLength);
} // namespace WTF
diff --git a/JavaScriptCore/wtf/text/StringImpl.cpp b/JavaScriptCore/wtf/text/StringImpl.cpp
index 3606597..698cab9 100644
--- a/JavaScriptCore/wtf/text/StringImpl.cpp
+++ b/JavaScriptCore/wtf/text/StringImpl.cpp
@@ -476,6 +476,29 @@ static inline bool equalIgnoringCase(const UChar* a, const UChar* b, int length)
return umemcasecmp(a, b, length) == 0;
}
+int codePointCompare(const StringImpl* s1, const StringImpl* s2)
+{
+ const unsigned l1 = s1 ? s1->length() : 0;
+ const unsigned l2 = s2 ? s2->length() : 0;
+ const unsigned lmin = l1 < l2 ? l1 : l2;
+ const UChar* c1 = s1 ? s1->characters() : 0;
+ const UChar* c2 = s2 ? s2->characters() : 0;
+ unsigned pos = 0;
+ while (pos < lmin && *c1 == *c2) {
+ c1++;
+ c2++;
+ pos++;
+ }
+
+ if (pos < lmin)
+ return (c1[0] > c2[0]) ? 1 : -1;
+
+ if (l1 == l2)
+ return 0;
+
+ return (l1 > l2) ? 1 : -1;
+}
+
int StringImpl::find(const char* chs, int index, bool caseSensitive)
{
if (!chs || index < 0)
diff --git a/JavaScriptCore/wtf/text/StringImpl.h b/JavaScriptCore/wtf/text/StringImpl.h
index f4b2970..244009f 100644
--- a/JavaScriptCore/wtf/text/StringImpl.h
+++ b/JavaScriptCore/wtf/text/StringImpl.h
@@ -352,6 +352,8 @@ inline bool equalIgnoringCase(const char* a, const UChar* b, unsigned length) {
bool equalIgnoringNullity(StringImpl*, StringImpl*);
+int codePointCompare(const StringImpl*, const StringImpl*);
+
static inline bool isSpaceOrNewline(UChar c)
{
// Use isASCIISpace() for basic Latin-1.
diff --git a/JavaScriptCore/wtf/text/WTFString.cpp b/JavaScriptCore/wtf/text/WTFString.cpp
index 842d755..d744b15 100644
--- a/JavaScriptCore/wtf/text/WTFString.cpp
+++ b/JavaScriptCore/wtf/text/WTFString.cpp
@@ -126,6 +126,11 @@ String operator+(const char* cs, const String& s)
return String(cs) + s;
}
+int codePointCompare(const String& a, const String& b)
+{
+ return codePointCompare(a.impl(), b.impl());
+}
+
void String::insert(const String& str, unsigned pos)
{
if (str.isEmpty()) {
diff --git a/JavaScriptCore/wtf/text/WTFString.h b/JavaScriptCore/wtf/text/WTFString.h
index d98621c..90d9a71 100644
--- a/JavaScriptCore/wtf/text/WTFString.h
+++ b/JavaScriptCore/wtf/text/WTFString.h
@@ -351,6 +351,8 @@ inline bool charactersAreAllASCII(const UChar* characters, size_t length)
return !(ored & 0xFF80);
}
+int codePointCompare(const String&, const String&);
+
inline int find(const UChar* characters, size_t length, UChar character, int startPosition)
{
if (startPosition >= static_cast<int>(length))
diff --git a/JavaScriptCore/yarr/RegexCompiler.cpp b/JavaScriptCore/yarr/RegexCompiler.cpp
index 9fbe213..bcfc188 100644
--- a/JavaScriptCore/yarr/RegexCompiler.cpp
+++ b/JavaScriptCore/yarr/RegexCompiler.cpp
@@ -372,7 +372,7 @@ public:
void atomBackReference(unsigned subpatternId)
{
ASSERT(subpatternId);
- m_pattern.m_shouldFallBack = true;
+ m_pattern.m_containsBackreferences = true;
m_pattern.m_maxBackReference = std::max(m_pattern.m_maxBackReference, subpatternId);
if (subpatternId > m_pattern.m_numSubpatterns) {
@@ -448,9 +448,6 @@ public:
return;
}
- if (max > 1 && term.type == PatternTerm::TypeParenthesesSubpattern)
- m_pattern.m_shouldFallBack = true;
-
if (min == 0)
term.quantify(max, greedy ? QuantifierGreedy : QuantifierNonGreedy);
else if (min == max)
diff --git a/JavaScriptCore/yarr/RegexJIT.cpp b/JavaScriptCore/yarr/RegexJIT.cpp
index e33dba0..768a53d 100644
--- a/JavaScriptCore/yarr/RegexJIT.cpp
+++ b/JavaScriptCore/yarr/RegexJIT.cpp
@@ -345,6 +345,15 @@ class RegexGenerator : private MacroAssembler {
ASSERT(alternativeValid());
return alternative()->m_terms[t];
}
+ bool isLastTerm()
+ {
+ ASSERT(alternativeValid());
+ return (t + 1) == alternative()->m_terms.size();
+ }
+ bool isMainDisjunction()
+ {
+ return !disjunction->m_parent;
+ }
PatternTerm& lookaheadTerm()
{
@@ -902,6 +911,11 @@ class RegexGenerator : private MacroAssembler {
PatternDisjunction* disjunction = term.parentheses.disjunction;
ASSERT(term.quantityCount == 1);
+ if (term.parentheses.isCopy) {
+ m_shouldFallBack = true;
+ return;
+ }
+
unsigned preCheckedCount = ((term.quantityCount == 1) && (term.quantityType == QuantifierFixedCount)) ? disjunction->m_minimumSize : 0;
unsigned parenthesesFrameLocation = term.frameLocation;
@@ -989,6 +1003,65 @@ class RegexGenerator : private MacroAssembler {
}
}
+ void generateParenthesesGreedyNoBacktrack(TermGenerationState& state)
+ {
+ PatternTerm& parenthesesTerm = state.term();
+ PatternDisjunction* disjunction = parenthesesTerm.parentheses.disjunction;
+ ASSERT(parenthesesTerm.type == PatternTerm::TypeParenthesesSubpattern);
+ ASSERT(parenthesesTerm.quantityCount != 1); // Handled by generateParenthesesSingle.
+
+ // Capturing not yet implemented!
+ if (parenthesesTerm.invertOrCapture) {
+ m_shouldFallBack = true;
+ return;
+ }
+
+ // Quantification limit not yet implemented!
+ if (parenthesesTerm.quantityCount != 0xffffffff) {
+ m_shouldFallBack = true;
+ return;
+ }
+
+ // Need to reset nested subpatterns between iterations...
+ // for the minute this crude check rejects all patterns with any subpatterns!
+ if (m_pattern.m_numSubpatterns) {
+ m_shouldFallBack = true;
+ return;
+ }
+
+ TermGenerationState parenthesesState(disjunction, state.checkedTotal);
+
+ Label matchAgain(this);
+ for (parenthesesState.resetAlternative(); parenthesesState.alternativeValid(); parenthesesState.nextAlternative()) {
+
+ PatternAlternative* alternative = parenthesesState.alternative();
+ optimizeAlternative(alternative);
+
+ int countToCheck = alternative->m_minimumSize;
+ if (countToCheck) {
+ parenthesesState.addBacktrackJump(jumpIfNoAvailableInput(countToCheck));
+ parenthesesState.checkedTotal += countToCheck;
+ }
+
+ for (parenthesesState.resetTerm(); parenthesesState.termValid(); parenthesesState.nextTerm())
+ generateTerm(parenthesesState);
+
+ // If we get here, we matched! Limit not yet supported, so just try to match more!
+ jump(matchAgain);
+
+ parenthesesState.linkAlternativeBacktracks(this);
+ // We get here if the alternative fails to match - fall through to the next iteration, or out of the loop.
+
+ if (countToCheck) {
+ sub32(Imm32(countToCheck), index);
+ parenthesesState.checkedTotal -= countToCheck;
+ }
+ }
+
+ // If the last alternative falls through to here, we have a failed match...
+ // Which means that we match whatever we have matched up to this point (even if nothing).
+ }
+
void generateParentheticalAssertion(TermGenerationState& state)
{
PatternTerm& term = state.term();
@@ -1100,15 +1173,24 @@ class RegexGenerator : private MacroAssembler {
break;
case PatternTerm::TypeBackReference:
- ASSERT_NOT_REACHED();
+ m_shouldFallBack = true;
break;
case PatternTerm::TypeForwardReference:
break;
case PatternTerm::TypeParenthesesSubpattern:
- ASSERT((term.quantityCount == 1) && !term.parentheses.isCopy); // must fallback to pcre before this point
- generateParenthesesSingle(state);
+ if (term.quantityCount == 1) {
+ generateParenthesesSingle(state);
+ break;
+ } else if (state.isLastTerm() && state.isMainDisjunction()) { // Is this is the last term of the main disjunction?
+ // If this has a greedy quantifier, then it will never need to backtrack!
+ if (term.quantityType == QuantifierGreedy) {
+ generateParenthesesGreedyNoBacktrack(state);
+ break;
+ }
+ }
+ m_shouldFallBack = true;
break;
case PatternTerm::TypeParentheticalAssertion:
@@ -1361,6 +1443,7 @@ class RegexGenerator : private MacroAssembler {
public:
RegexGenerator(RegexPattern& pattern)
: m_pattern(pattern)
+ , m_shouldFallBack(false)
{
}
@@ -1390,28 +1473,34 @@ public:
jitObject.set(patchBuffer.finalizeCode());
}
+ bool shouldFallBack()
+ {
+ return m_shouldFallBack;
+ }
+
private:
RegexPattern& m_pattern;
+ bool m_shouldFallBack;
Vector<AlternativeBacktrackRecord> m_backtrackRecords;
};
void jitCompileRegex(JSGlobalData* globalData, RegexCodeBlock& jitObject, const UString& patternString, unsigned& numSubpatterns, const char*& error, bool ignoreCase, bool multiline)
{
RegexPattern pattern(ignoreCase, multiline);
-
if ((error = compileRegex(patternString, pattern)))
return;
-
numSubpatterns = pattern.m_numSubpatterns;
- if (pattern.m_shouldFallBack) {
- JSRegExpIgnoreCaseOption ignoreCaseOption = ignoreCase ? JSRegExpIgnoreCase : JSRegExpDoNotIgnoreCase;
- JSRegExpMultilineOption multilineOption = multiline ? JSRegExpMultiline : JSRegExpSingleLine;
- jitObject.setFallback(jsRegExpCompile(reinterpret_cast<const UChar*>(patternString.data()), patternString.size(), ignoreCaseOption, multilineOption, &numSubpatterns, &error));
- } else {
+ if (!pattern.m_containsBackreferences) {
RegexGenerator generator(pattern);
generator.compile(globalData, jitObject);
+ if (!generator.shouldFallBack())
+ return;
}
+
+ JSRegExpIgnoreCaseOption ignoreCaseOption = ignoreCase ? JSRegExpIgnoreCase : JSRegExpDoNotIgnoreCase;
+ JSRegExpMultilineOption multilineOption = multiline ? JSRegExpMultiline : JSRegExpSingleLine;
+ jitObject.setFallback(jsRegExpCompile(reinterpret_cast<const UChar*>(patternString.data()), patternString.size(), ignoreCaseOption, multilineOption, &numSubpatterns, &error));
}
}}
diff --git a/JavaScriptCore/yarr/RegexPattern.h b/JavaScriptCore/yarr/RegexPattern.h
index 3271cc1..61d6ad6 100644
--- a/JavaScriptCore/yarr/RegexPattern.h
+++ b/JavaScriptCore/yarr/RegexPattern.h
@@ -271,7 +271,7 @@ struct RegexPattern {
, m_multiline(multiline)
, m_numSubpatterns(0)
, m_maxBackReference(0)
- , m_shouldFallBack(false)
+ , m_containsBackreferences(false)
, newlineCached(0)
, digitsCached(0)
, spacesCached(0)
@@ -293,7 +293,7 @@ struct RegexPattern {
m_numSubpatterns = 0;
m_maxBackReference = 0;
- m_shouldFallBack = false;
+ m_containsBackreferences = false;
newlineCached = 0;
digitsCached = 0;
@@ -361,7 +361,7 @@ struct RegexPattern {
bool m_multiline;
unsigned m_numSubpatterns;
unsigned m_maxBackReference;
- bool m_shouldFallBack;
+ bool m_containsBackreferences;
PatternDisjunction* m_body;
Vector<PatternDisjunction*, 4> m_disjunctions;
Vector<CharacterClass*> m_userCharacterClasses;
diff --git a/JavaScriptGlue/ChangeLog b/JavaScriptGlue/ChangeLog
index d442a77..353d9b0 100644
--- a/JavaScriptGlue/ChangeLog
+++ b/JavaScriptGlue/ChangeLog
@@ -1,3 +1,26 @@
+2010-05-28 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig, Gavin Barraclough, Oliver Hunt.
+
+ Simplified the host calling convention.
+
+ PART ONE: Functional code changes.
+
+ [ None in JavaScriptGlue ]
+
+ PART TWO: Global search and replace.
+
+ In the areas below, I used global search-and-replace to change
+ (ExecState*, JSObject*, JSValue, const ArgList&) => (ExecState*)
+ args.size() => exec->argumentCount()
+ args.at(i) => exec->argument(i)
+
+ * JSObject.cpp:
+ (nativeCallFunction):
+ * UserObjectImp.cpp:
+ (UserObjectImp::callAsFunction):
+ * UserObjectImp.h:
+
2010-04-23 Sam Weinig <sam@webkit.org>
Reviewed by David Levin.
diff --git a/JavaScriptGlue/JSObject.cpp b/JavaScriptGlue/JSObject.cpp
index 1d50bce..e1d1b15 100644
--- a/JavaScriptGlue/JSObject.cpp
+++ b/JavaScriptGlue/JSObject.cpp
@@ -73,10 +73,10 @@ void JSUserObject::SetProperty(CFStringRef propertyName, JSUserObject* value)
}
-static JSValue JSC_HOST_CALL nativeCallFunction(ExecState* exec, JSObject* functionObject, JSValue thisValue, const ArgList& args);
-static JSValue nativeCallFunction(ExecState* exec, JSObject* functionObject, JSValue thisValue, const ArgList& args)
+static JSValue JSC_HOST_CALL nativeCallFunction(ExecState* exec);
+static JSValue nativeCallFunction(ExecState* exec)
{
- return static_cast<UserObjectImp*>(functionObject)->callAsFunction(exec, asObject(thisValue), args);
+ return static_cast<UserObjectImp*>(exec->callee())->callAsFunction(exec);
}
CallType JSUserObject::getCallData(CallData& callData)
diff --git a/JavaScriptGlue/UserObjectImp.cpp b/JavaScriptGlue/UserObjectImp.cpp
index c188f75..2176f16 100644
--- a/JavaScriptGlue/UserObjectImp.cpp
+++ b/JavaScriptGlue/UserObjectImp.cpp
@@ -56,18 +56,18 @@ CallType UserObjectImp::getCallData(CallData& callData)
return fJSUserObject ? fJSUserObject->getCallData(callData) : CallTypeNone;
}
-JSValue UserObjectImp::callAsFunction(ExecState *exec, JSObject *thisObj, const ArgList &args)
+JSValue UserObjectImp::callAsFunction(ExecState *exec)
{
JSValue result = jsUndefined();
- JSUserObject* jsThisObj = KJSValueToJSObject(thisObj, exec);
+ JSUserObject* jsThisObj = KJSValueToJSObject(exec->hostThisValue().toThisObject(exec), exec);
if (jsThisObj) {
- CFIndex argCount = args.size();
+ CFIndex argCount = exec->argumentCount();
CFArrayCallBacks arrayCallBacks;
JSTypeGetCFArrayCallBacks(&arrayCallBacks);
CFMutableArrayRef jsArgs = CFArrayCreateMutable(0, 0, &arrayCallBacks);
if (jsArgs) {
for (CFIndex i = 0; i < argCount; i++) {
- JSUserObject* jsArg = KJSValueToJSObject(args.at(i), exec);
+ JSUserObject* jsArg = KJSValueToJSObject(exec->argument(i), exec);
CFArrayAppendValue(jsArgs, (void*)jsArg);
jsArg->Release();
}
diff --git a/JavaScriptGlue/UserObjectImp.h b/JavaScriptGlue/UserObjectImp.h
index e44c40e..8dbad98 100644
--- a/JavaScriptGlue/UserObjectImp.h
+++ b/JavaScriptGlue/UserObjectImp.h
@@ -46,7 +46,7 @@ public:
virtual void getOwnPropertyNames(ExecState*, PropertyNameArray&, EnumerationMode mode = ExcludeDontEnumProperties);
- virtual JSValue callAsFunction(ExecState *exec, JSObject *thisObj, const ArgList &args);
+ virtual JSValue callAsFunction(ExecState *exec);
virtual bool getOwnPropertySlot(ExecState *, const Identifier&, PropertySlot&);
virtual void put(ExecState *exec, const Identifier &propertyName, JSValue value, PutPropertySlot&);
diff --git a/LayoutTests/fast/dom/Geolocation/ongoing-request-leak-expected.txt b/LayoutTests/fast/dom/Geolocation/ongoing-request-leak-expected.txt
deleted file mode 100644
index 3fb979f..0000000
--- a/LayoutTests/fast/dom/Geolocation/ongoing-request-leak-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-Exercises a condition where the DOMWindow may leak if Geolocation requests are ongoing when the page is navigated away or closed. Complete.
diff --git a/LayoutTests/fast/dom/Geolocation/ongoing-request-leak.html b/LayoutTests/fast/dom/Geolocation/ongoing-request-leak.html
deleted file mode 100644
index dab385e..0000000
--- a/LayoutTests/fast/dom/Geolocation/ongoing-request-leak.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-<head>
-<link rel="stylesheet" href="../../js/resources/js-test-style.css">
-<script src="../../js/resources/js-test-pre.js"></script>
-</head>
-<body>
-<p id="description"></p>
-<div id="console"></div>
-<script src="script-tests/ongoing-request-leak.js"></script>
-<script src="../../js/resources/js-test-post.js"></script>
-</body>
-</html>
diff --git a/LayoutTests/fast/dom/Geolocation/script-tests/ongoing-request-leak.js b/LayoutTests/fast/dom/Geolocation/script-tests/ongoing-request-leak.js
deleted file mode 100644
index 08e6b21..0000000
--- a/LayoutTests/fast/dom/Geolocation/script-tests/ongoing-request-leak.js
+++ /dev/null
@@ -1,13 +0,0 @@
-description("Exercises a condition where the DOMWindow may leak if Geolocation requests are ongoing when the page is navigated away or closed. The page should reoload.");
-
-if (window.layoutTestController) layoutTestController.setGeolocationPermission(true);
-if (window.layoutTestController) layoutTestController.setMockGeolocationPosition(51.478, -0.166, 100.0);
-
-navigator.geolocation.watchPosition(function() {}, null);
-
-document.body.onload = function() {
- location = "data:text/html,Exercises a condition where the DOMWindow may leak if Geolocation requests are ongoing when the page is navigated away or closed. Complete.<script>if (window.layoutTestController) layoutTestController.notifyDone();</" + "script>";
-}
-
-window.jsTestIsAsync = true;
-window.successfullyParsed = true;
diff --git a/LayoutTests/storage/change-version-handle-reuse.html b/LayoutTests/storage/change-version-handle-reuse.html
index dd32198..af3fbf4 100644
--- a/LayoutTests/storage/change-version-handle-reuse.html
+++ b/LayoutTests/storage/change-version-handle-reuse.html
@@ -1,27 +1,7 @@
<html>
<head>
+<script src="resources/database-common.js"></script>
<script src="change-version-handle-reuse.js"></script>
-<script>
-
-var DB_TEST_SUFFIX = "_dom";
-
-function log(message)
-{
- document.getElementById("console").innerText += message + "\n";
-}
-
-function setupAndRunTest()
-{
- if (window.layoutTestController) {
- layoutTestController.waitUntilDone();
- layoutTestController.dumpAsText();
- }
-
- document.getElementById("console").innerText = "";
-
- runTest();
-}
-</script>
</head>
<body onload="setupAndRunTest()">
<div>This tests that a database can be accessed after changing its version. You should see an error about FooBar table below, not about mismatching versions.
diff --git a/LayoutTests/storage/change-version-handle-reuse.js b/LayoutTests/storage/change-version-handle-reuse.js
index e948614..847a58c 100644
--- a/LayoutTests/storage/change-version-handle-reuse.js
+++ b/LayoutTests/storage/change-version-handle-reuse.js
@@ -9,7 +9,7 @@ function finishTest()
function runTest()
{
try {
- db = openDatabase("ChangeVersion" + DB_TEST_SUFFIX, "", "Test that changing a database version doesn't kill our handle to it", 1);
+ db = openDatabaseWithSuffix("ChangeVersion", "", "Test that changing a database version doesn't kill our handle to it", 1);
var version = db.version;
var newVersion = version ? (parseInt(version) + 1).toString() : "1";
db.changeVersion(version, newVersion, function(tx) {
diff --git a/LayoutTests/storage/execute-sql-args.html b/LayoutTests/storage/execute-sql-args.html
index 8a36a7a..b9f2a43 100644
--- a/LayoutTests/storage/execute-sql-args.html
+++ b/LayoutTests/storage/execute-sql-args.html
@@ -1,30 +1,13 @@
<html>
-
<head>
+<script src="resources/database-common.js"></script>
<script src="execute-sql-args.js"></script>
-<script>
-
-var DB_TEST_SUFFIX = "_dom";
-
-function log(message)
-{
- document.getElementById("console").innerText += message + "\n";
-}
-
-function setupAndRunTest()
-{
- if (window.layoutTestController) {
- layoutTestController.dumpAsText();
- layoutTestController.waitUntilDone();
- }
- runTest();
-}
-
-</script>
</head>
<body onload="setupAndRunTest()">
-<pre id="console"></pre>
+<pre id="console">
+FAILURE: test didn't run.
+</pre>
</body>
</html>
diff --git a/LayoutTests/storage/execute-sql-args.js b/LayoutTests/storage/execute-sql-args.js
index babeb5d..3b9414d 100644
--- a/LayoutTests/storage/execute-sql-args.js
+++ b/LayoutTests/storage/execute-sql-args.js
@@ -81,6 +81,6 @@ function runTransactionTests(transaction)
function runTest()
{
- var db = openDatabase("ExecuteSQLArgsTest" + DB_TEST_SUFFIX, "1.0", "Test of handling of the arguments to SQLTransaction.executeSql", 1);
+ var db = openDatabaseWithSuffix("ExecuteSQLArgsTest", "1.0", "Test of handling of the arguments to SQLTransaction.executeSql", 1);
db.transaction(runTransactionTests);
}
diff --git a/LayoutTests/storage/hash-change-with-xhr-expected.txt b/LayoutTests/storage/hash-change-with-xhr-expected.txt
index a481746..8e964e6 100644
--- a/LayoutTests/storage/hash-change-with-xhr-expected.txt
+++ b/LayoutTests/storage/hash-change-with-xhr-expected.txt
@@ -1,3 +1,4 @@
Changing the hash to create history entries.
Db is warmed up
Test Complete, SUCCESS
+
diff --git a/LayoutTests/storage/hash-change-with-xhr.html b/LayoutTests/storage/hash-change-with-xhr.html
index 9cbf276..584320f 100644
--- a/LayoutTests/storage/hash-change-with-xhr.html
+++ b/LayoutTests/storage/hash-change-with-xhr.html
@@ -1,140 +1,12 @@
<html>
<head>
<title>Hash Change with an Open XHR should not stop database transactions</title>
-
-<script type="text/javascript">
-
-var DB_UPDATE_INTERVAL = 100;
-var SEND_XHR_INTERVAL = 100;
-var BACK_INTERVAL = 100;
-var CREATE_HEALTH_TABLE = 'CREATE TABLE IF NOT EXISTS health (key VARCHAR(16) PRIMARY KEY);';
-var UPDATE_DATA = 'REPLACE INTO health VALUES("health-check-key");';
-
-var db = window.openDatabase('bug25710', '1.0', 'LayoutTest for bug 25710', 102400);
-var backIterations;
-var msgDiv;
-var xhrFctIntervalId;
-var backFctIntervalId;
-var successCheckIntervalId;
-var dbFctIntervalId;
-var successes;
-var databaseUpdates;
-var stoppedIntervals;
-
-function log(msg)
-{
- var newMsg = document.createElement('div');
- newMsg.innerText = msg;
- msgDiv.appendChild(newMsg);
-}
-
-function stopIntervals()
-{
- stoppedIntervals = true;
- window.clearInterval(dbFctIntervalId);
- window.clearInterval(xhrFctIntervalId);
- window.clearInterval(backFctIntervalId);
-}
-
-function stopTest(message)
-{
- if (!stoppedIntervals)
- stopIntervals();
-
- log(message);
-
- if (window.layoutTestController)
- layoutTestController.notifyDone();
-}
-
-function updateDatabase()
-{
- databaseUpdates++;
- db.transaction(function(transaction) {
- transaction.executeSql(UPDATE_DATA, [], function() {}, errorHandler);
- }, errorHandler, function() {
- successes++;
- });
-}
-
-function checkForSuccess()
-{
- if (successes == databaseUpdates) {
- stopTest('Test Complete, SUCCESS');
- window.clearInterval(successCheckIntervalId);
- }
-}
-
-function errorHandler(tx, error)
-{
- log('DB error, code: ' + error.code + ', msg: ' + error.message);
- stopTest('Test Complete, FAILED');
-}
-
-function sendXhr()
-{
- xhr = new XMLHttpRequest();
- xhr.open('GET', location.href, true);
- xhr.send('');
-}
-
-function invokeBack()
-{
- backIterations--;
- if (backIterations) {
- history.back();
- } else {
- stopIntervals();
- // Allow a little time for all the database transactions to complete now we've stopped making them.
- successCheckIntervalId = window.setInterval(checkForSuccess, 250);
- // If we don't finish before this time, then we consider the test failed.
- window.setTimeout(function() { stopTest('Timed out waiting for transactions to complete. FAILED'); }, 20000);
-
- }
-}
-
-function runTest()
-{
- if (window.layoutTestController) {
- layoutTestController.dumpAsText();
- layoutTestController.waitUntilDone();
- }
-
- msgDiv = document.getElementById('msgs');
-
- msgDiv.innerHTML = '';
- backIterations = 10;
- consecutiveFailures = 0;
- successes = 0;
- databaseUpdates = 0;
- stoppedIntervals = false;
-
- // Create some hashes so we can call history.back().
- log('Changing the hash to create history entries.');
- for (var i = 0; i < backIterations; i++) {
- location.hash = i;
- }
-
- // Init the database.
- db.transaction(function(transaction) {
- transaction.executeSql(CREATE_HEALTH_TABLE, [], function() {}, errorHandler);
- }, errorHandler, function() {
- // Give a little for the database to 'warm up' before making xhr requests
- // and calling history.back().
- window.setTimeout(function() {
- log('Db is warmed up');
-
- // NOTE: If we don't make any xhr requests, then the test
- // successfully passes (comment this line out).
- xhrFctIntervalId = window.setInterval(sendXhr, SEND_XHR_INTERVAL);
- backFctIntervalId = window.setInterval(invokeBack, BACK_INTERVAL);
- dbFctIntervalId = window.setInterval(updateDatabase, DB_UPDATE_INTERVAL);
- }, 500);
- });
-}
-</script>
+<script src="resources/database-common.js"></script>
+<script src="hash-change-with-xhr.js"></script>
</head>
-<body onload="runTest()">
-<div id="msgs"></div>
+<body onload="setupAndRunTest()">
+<pre id="console">
+FAILURE: test didn't run.
+</pre>
</body>
</html>
diff --git a/LayoutTests/storage/hash-change-with-xhr.js b/LayoutTests/storage/hash-change-with-xhr.js
new file mode 100644
index 0000000..4290681
--- /dev/null
+++ b/LayoutTests/storage/hash-change-with-xhr.js
@@ -0,0 +1,112 @@
+var DB_UPDATE_INTERVAL = 100;
+var SEND_XHR_INTERVAL = 100;
+var BACK_INTERVAL = 100;
+var CREATE_HEALTH_TABLE = 'CREATE TABLE IF NOT EXISTS health (key VARCHAR(16) PRIMARY KEY);';
+var UPDATE_DATA = 'REPLACE INTO health VALUES("health-check-key");';
+
+var db = openDatabaseWithSuffix('bug25710', '1.0', 'LayoutTest for bug 25710', 102400);
+var backIterations;
+var xhrFctIntervalId;
+var backFctIntervalId;
+var successCheckIntervalId;
+var dbFctIntervalId;
+var successes;
+var databaseUpdates;
+var stoppedIntervals;
+
+function stopIntervals()
+{
+ stoppedIntervals = true;
+ clearInterval(dbFctIntervalId);
+ clearInterval(xhrFctIntervalId);
+ clearInterval(backFctIntervalId);
+}
+
+function stopTest(message)
+{
+ if (!stoppedIntervals)
+ stopIntervals();
+
+ log(message);
+
+ if (window.layoutTestController)
+ layoutTestController.notifyDone();
+}
+
+function updateDatabase()
+{
+ databaseUpdates++;
+ db.transaction(function(transaction) {
+ transaction.executeSql(UPDATE_DATA, [], function() {}, errorHandler);
+ }, errorHandler, function() {
+ successes++;
+ });
+}
+
+function checkForSuccess()
+{
+ if (successes == databaseUpdates) {
+ stopTest('Test Complete, SUCCESS');
+ clearInterval(successCheckIntervalId);
+ }
+}
+
+function errorHandler(tx, error)
+{
+ log('DB error, code: ' + error.code + ', msg: ' + error.message);
+ stopTest('Test Complete, FAILED');
+}
+
+function sendXhr()
+{
+ xhr = new XMLHttpRequest();
+ xhr.open('GET', location.href, true);
+ xhr.send('');
+}
+
+function invokeBack()
+{
+ backIterations--;
+ if (backIterations) {
+ history.back();
+ } else {
+ stopIntervals();
+ // Allow a little time for all the database transactions to complete now we've stopped making them.
+ successCheckIntervalId = setInterval(checkForSuccess, 250);
+ // If we don't finish before this time, then we consider the test failed.
+ setTimeout(function() { stopTest('Timed out waiting for transactions to complete. FAILED'); }, 20000);
+
+ }
+}
+
+function runTest()
+{
+ backIterations = 10;
+ consecutiveFailures = 0;
+ successes = 0;
+ databaseUpdates = 0;
+ stoppedIntervals = false;
+
+ // Create some hashes so we can call history.back().
+ log('Changing the hash to create history entries.');
+ for (var i = 0; i < backIterations; i++) {
+ setLocationHash(i);
+ }
+
+ // Init the database.
+ db.transaction(function(transaction) {
+ transaction.executeSql(CREATE_HEALTH_TABLE, [], function() {}, errorHandler);
+ }, errorHandler, function() {
+ // Give a little for the database to 'warm up' before making xhr requests
+ // and calling history.back().
+ setTimeout(function() {
+ log('Db is warmed up');
+
+ // NOTE: If we don't make any xhr requests, then the test
+ // successfully passes (comment this line out).
+ xhrFctIntervalId = setInterval(sendXhr, SEND_XHR_INTERVAL);
+ backFctIntervalId = setInterval(invokeBack, BACK_INTERVAL);
+ dbFctIntervalId = setInterval(updateDatabase, DB_UPDATE_INTERVAL);
+ }, 500);
+ });
+}
diff --git a/LayoutTests/storage/indexeddb/idb-database-request-expected.txt b/LayoutTests/storage/indexeddb/idb-database-request-expected.txt
new file mode 100644
index 0000000..70ec252
--- /dev/null
+++ b/LayoutTests/storage/indexeddb/idb-database-request-expected.txt
@@ -0,0 +1,35 @@
+Test IndexedDB's IDBDatabaseRequest.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+indexedDB.open('name', 'description')
+PASS 'onsuccess' in result is true
+PASS 'onerror' in result is true
+PASS 'abort' in result is true
+PASS 'readyState' in result is true
+An event should fire shortly...
+
+Success event fired:
+PASS 'result' in event is true
+PASS 'code' in event is false
+PASS 'message' in event is false
+PASS 'source' in event is true
+PASS event.source != null is true
+PASS 'onsuccess' in event.target is true
+PASS 'onerror' in event.target is true
+PASS 'abort' in event.target is true
+PASS 'readyState' in event.target is true
+PASS event.target.readyState is event.target.DONE
+
+db = event.result
+PASS db.name is "name"
+FAIL db.description should be description (of type string). Was undefined (of type undefined).
+PASS db.version is ""
+PASS db.objectStores is []
+PASS db.objectStores.length is 0
+PASS db.objectStores.contains('') is false
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/storage/indexeddb/basics.html b/LayoutTests/storage/indexeddb/idb-database-request.html
index cca9674..3ea2893 100644
--- a/LayoutTests/storage/indexeddb/basics.html
+++ b/LayoutTests/storage/indexeddb/idb-database-request.html
@@ -3,10 +3,11 @@
<link rel="stylesheet" href="../../fast/js/resources/js-test-style.css">
<script src="../../fast/js/resources/js-test-pre.js"></script>
<script src="../../fast/js/resources/js-test-post-function.js"></script>
+<script src="resources/shared.js"></script>
</head>
<body>
<p id="description"></p>
<div id="console"></div>
-<script src="script-tests/basics.js"></script>
+<script src="script-tests/idb-database-request.js"></script>
</body>
</html>
diff --git a/LayoutTests/storage/indexeddb/basics-expected.txt b/LayoutTests/storage/indexeddb/indexed-database-request-expected.txt
index 8a11f6c..1734ff9 100644
--- a/LayoutTests/storage/indexeddb/basics-expected.txt
+++ b/LayoutTests/storage/indexeddb/indexed-database-request-expected.txt
@@ -1,27 +1,23 @@
-Test the basics of IndexedDB.
+Test IndexedDB's IndexedDatabaseRequest.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
PASS 'indexedDB' in window is true
-PASS 'open' in indexedDB is true
-indexedDB.open('name', 'description', true /* allow modification */)
+PASS indexedDB == null is false
+indexedDB.open('name', 'description')
PASS 'onsuccess' in result is true
PASS 'onerror' in result is true
PASS 'abort' in result is true
PASS 'readyState' in result is true
-
An event should fire shortly...
-FAIL Error function called: (0) Not implemented
-
+Success event fired:
+PASS 'result' in event is true
+PASS 'code' in event is false
+PASS 'message' in event is false
PASS 'source' in event is true
-PASS 'open' in event.source is true
-
-FAIL 'result' in event should be true. Was false.
-FAIL 'code' in event should be false. Was true.
-FAIL 'message' in event should be false. Was true.
-
+PASS event.source != null is true
PASS 'onsuccess' in event.target is true
PASS 'onerror' in event.target is true
PASS 'abort' in event.target is true
diff --git a/LayoutTests/storage/indexeddb/indexed-database-request.html b/LayoutTests/storage/indexeddb/indexed-database-request.html
new file mode 100644
index 0000000..c22934b
--- /dev/null
+++ b/LayoutTests/storage/indexeddb/indexed-database-request.html
@@ -0,0 +1,13 @@
+<html>
+<head>
+<link rel="stylesheet" href="../../fast/js/resources/js-test-style.css">
+<script src="../../fast/js/resources/js-test-pre.js"></script>
+<script src="../../fast/js/resources/js-test-post-function.js"></script>
+<script src="resources/shared.js"></script>
+</head>
+<body>
+<p id="description"></p>
+<div id="console"></div>
+<script src="script-tests/indexed-database-request.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/storage/indexeddb/resources/shared.js b/LayoutTests/storage/indexeddb/resources/shared.js
new file mode 100644
index 0000000..809bdec
--- /dev/null
+++ b/LayoutTests/storage/indexeddb/resources/shared.js
@@ -0,0 +1,56 @@
+function done()
+{
+ window.successfullyParsed = true;
+ isSuccessfullyParsed();
+ if (window.layoutTestController)
+ layoutTestController.notifyDone()
+}
+
+function verifyEventCommon(event)
+{
+ shouldBeTrue("'source' in event");
+ shouldBeTrue("event.source != null");
+ shouldBeTrue("'onsuccess' in event.target");
+ shouldBeTrue("'onerror' in event.target");
+ shouldBeTrue("'abort' in event.target");
+ shouldBeTrue("'readyState' in event.target");
+ shouldBe("event.target.readyState", "event.target.DONE");
+ debug("");
+}
+
+function verifyErrorEvent(event)
+{
+ debug("Error event fired:");
+ shouldBeFalse("'result' in event");
+ shouldBeTrue("'code' in event");
+ shouldBeTrue("'message' in event");
+ verifyEventCommon(event);
+}
+
+function verifySuccessEvent(event)
+{
+ debug("Success event fired:");
+ shouldBeTrue("'result' in event");
+ shouldBeFalse("'code' in event");
+ shouldBeFalse("'message' in event");
+ verifyEventCommon(event);
+}
+
+function verifyResult(result)
+{
+ shouldBeTrue("'onsuccess' in result");
+ shouldBeTrue("'onerror' in result");
+ shouldBeTrue("'abort' in result");
+ shouldBeTrue("'readyState' in result");
+ debug("An event should fire shortly...");
+ debug("");
+}
+
+function unexpectedErrorCallback()
+{
+ testFailed("Error function called unexpectedly: (" + event.code + ") " + event.message);
+ debug("");
+ verifyErrorEvent(event);
+ done();
+}
+
diff --git a/LayoutTests/storage/indexeddb/script-tests/TEMPLATE.html b/LayoutTests/storage/indexeddb/script-tests/TEMPLATE.html
index 239a794..865fadb 100644
--- a/LayoutTests/storage/indexeddb/script-tests/TEMPLATE.html
+++ b/LayoutTests/storage/indexeddb/script-tests/TEMPLATE.html
@@ -3,6 +3,7 @@
<link rel="stylesheet" href="../../fast/js/resources/js-test-style.css">
<script src="../../fast/js/resources/js-test-pre.js"></script>
<script src="../../fast/js/resources/js-test-post-function.js"></script>
+<script src="resources/shared.js"></script>
</head>
<body>
<p id="description"></p>
diff --git a/LayoutTests/storage/indexeddb/script-tests/basics.js b/LayoutTests/storage/indexeddb/script-tests/basics.js
deleted file mode 100644
index 307196a..0000000
--- a/LayoutTests/storage/indexeddb/script-tests/basics.js
+++ /dev/null
@@ -1,61 +0,0 @@
-description("Test the basics of IndexedDB.");
-
-if (window.layoutTestController) {
- layoutTestController.dumpAsText();
- layoutTestController.waitUntilDone();
-}
-
-
-function eventShared()
-{
- debug("");
- shouldBeTrue("'source' in event");
- shouldBeTrue("'open' in event.source");
- debug("");
- shouldBeTrue("'result' in event");
- shouldBeFalse("'code' in event");
- shouldBeFalse("'message' in event");
- debug("");
- shouldBeTrue("'onsuccess' in event.target");
- shouldBeTrue("'onerror' in event.target");
- shouldBeTrue("'abort' in event.target");
- shouldBeTrue("'readyState' in event.target");
- shouldBe("event.target.readyState", "event.target.DONE");
- debug("");
- window.successfullyParsed = true;
- isSuccessfullyParsed();
- if (window.layoutTestController)
- layoutTestController.notifyDone()
-}
-
-function successFunction()
-{
- debug("Success function called");
- eventShared();
-}
-
-function errorFunction()
-{
- testFailed("Error function called: (" + event.code + ") " + event.message);
- eventShared();
-}
-
-function test()
-{
- shouldBeTrue("'indexedDB' in window");
- shouldBeTrue("'open' in indexedDB");
-
- result = evalAndLog("indexedDB.open('name', 'description', true /* allow modification */)");
- shouldBeTrue("'onsuccess' in result");
- shouldBeTrue("'onerror' in result");
- shouldBeTrue("'abort' in result");
- shouldBeTrue("'readyState' in result");
- result.onsuccess = successFunction;
- result.onerror = errorFunction;
- debug("");
- debug("An event should fire shortly...");
- debug("");
-}
-
-test();
-
diff --git a/LayoutTests/storage/indexeddb/script-tests/idb-database-request.js b/LayoutTests/storage/indexeddb/script-tests/idb-database-request.js
new file mode 100644
index 0000000..ae6a563
--- /dev/null
+++ b/LayoutTests/storage/indexeddb/script-tests/idb-database-request.js
@@ -0,0 +1,31 @@
+description("Test IndexedDB's IDBDatabaseRequest.");
+if (window.layoutTestController)
+ layoutTestController.waitUntilDone();
+
+function openSuccess()
+{
+ verifySuccessEvent(event);
+
+ var db = evalAndLog("db = event.result");
+ shouldBeEqualToString("db.name", "name");
+ shouldBeEqualToString("db.description", "description");
+ shouldBeEqualToString("db.version", "");
+ shouldBe("db.objectStores", "[]");
+ shouldBe("db.objectStores.length", "0");
+ shouldBe("db.objectStores.contains('')", "false");
+ // FIXME: Test .item() once it's possible to get back a non-empty list.
+
+ // FIXME: Test the other properties of IDBDatabase as they're written.
+
+ done();
+}
+
+function test()
+{
+ result = evalAndLog("indexedDB.open('name', 'description')");
+ verifyResult(result);
+ result.onsuccess = openSuccess;
+ result.onerror = unexpectedErrorCallback;
+}
+
+test();
diff --git a/LayoutTests/storage/indexeddb/script-tests/indexed-database-request.js b/LayoutTests/storage/indexeddb/script-tests/indexed-database-request.js
new file mode 100644
index 0000000..6f77279
--- /dev/null
+++ b/LayoutTests/storage/indexeddb/script-tests/indexed-database-request.js
@@ -0,0 +1,24 @@
+description("Test IndexedDB's IndexedDatabaseRequest.");
+if (window.layoutTestController)
+ layoutTestController.waitUntilDone();
+
+function openCallback()
+{
+ verifySuccessEvent(event);
+ done();
+}
+
+function test()
+{
+ shouldBeTrue("'indexedDB' in window");
+ shouldBeFalse("indexedDB == null");
+
+ // FIXME: Verify other IndexedDatabaseRequest constructors, once they're implemented.
+
+ result = evalAndLog("indexedDB.open('name', 'description')");
+ verifyResult(result);
+ result.onsuccess = openCallback;
+ result.onerror = unexpectedErrorCallback;
+}
+
+test();
diff --git a/LayoutTests/storage/multiple-databases-garbage-collection.html b/LayoutTests/storage/multiple-databases-garbage-collection.html
index 45246a9..8451acf 100644
--- a/LayoutTests/storage/multiple-databases-garbage-collection.html
+++ b/LayoutTests/storage/multiple-databases-garbage-collection.html
@@ -1,77 +1,12 @@
<html>
<head>
-<script>
-
-function log(message)
-{
- document.body.innerHTML += message + "<br>";
-}
-
-function GC()
-{
- // Force GC.
- if (window.GCController)
- GCController.collect();
- else {
- for (var i = 0; i < 10000; ++i) {
- ({ });
- }
- }
-}
-
-// Variable for the database that will never be forgotten
-var persistentDB = 0;
-// Variable for the forgotten database
-var forgottenDB = 0;
-
-var completed = 0;
-function checkCompletion()
-{
- if (++completed == 2 && window.layoutTestController)
- layoutTestController.notifyDone();
-}
-
-function runTest()
-{
- if (window.layoutTestController) {
- layoutTestController.dumpAsText();
- layoutTestController.waitUntilDone();
- }
-
- persistentDB = openDatabase("MultipleDatabasesTest1", "1.0", "Test one out of a set of databases being destroyed (1)", 32768);
- forgottenDB = openDatabase("MultipleDatabasesTest2", "1.0", "Test one out of a set of databases being destroyed (2)", 32768);
-
- persistentDB.transaction(function(tx) {
- tx.executeSql("CREATE TABLE IF NOT EXISTS DataTest (randomData)", [], function(tx, result) {
- for (var i = 0; i < 25; ++i)
- tx.executeSql("INSERT INTO DataTest (randomData) VALUES (1)", []);
- });
- }, function(err) {
- log("Persistent Database Transaction Errored - " + err);
- checkCompletion();
- }, function() {
- log("Persistent Database Transaction Complete");
- checkCompletion();
- });
-
- forgottenDB.transaction(function(tx) {
- tx.executeSql("CREATE TABLE IF NOT EXISTS EmptyTable (unimportantData)", []);
- }, function(err) {
- log("Forgotten Database Transaction Errored - " + err);
- forgottenDB = 0;
- GC();
- checkCompletion();
- }, function() {
- log("Forgotten Database Transaction Complete");
- forgottenDB = 0;
- GC();
- checkCompletion();
- });
-}
-
-</script>
-<body onload="runTest();">
+<script src="resources/database-common.js"></script>
+<script src="multiple-databases-garbage-collection.js"></script>
+<body onload="setupAndRunTest();">
This test opens two databases, queues up a series of operations on both, then "forgets" about one of them.
After forcing GC, resources associated with that database should be freed gracefully.<br>
+<pre id="console">
+FAILURE: test didn't run.
+</pre>
</body>
</html>
diff --git a/LayoutTests/storage/multiple-databases-garbage-collection.js b/LayoutTests/storage/multiple-databases-garbage-collection.js
new file mode 100644
index 0000000..9a2b27f
--- /dev/null
+++ b/LayoutTests/storage/multiple-databases-garbage-collection.js
@@ -0,0 +1,56 @@
+function GC()
+{
+ // Force GC.
+ if (window.GCController)
+ GCController.collect();
+ else {
+ for (var i = 0; i < 10000; ++i) {
+ ({ });
+ }
+ }
+}
+
+// Variable for the database that will never be forgotten
+var persistentDB = 0;
+// Variable for the forgotten database
+var forgottenDB = 0;
+
+var completed = 0;
+function checkCompletion()
+{
+ if (++completed == 2 && window.layoutTestController)
+ layoutTestController.notifyDone();
+}
+
+function runTest()
+{
+ persistentDB = openDatabaseWithSuffix("MultipleDatabasesTest1", "1.0", "Test one out of a set of databases being destroyed (1)", 32768);
+ forgottenDB = openDatabaseWithSuffix("MultipleDatabasesTest2", "1.0", "Test one out of a set of databases being destroyed (2)", 32768);
+
+ persistentDB.transaction(function(tx) {
+ tx.executeSql("CREATE TABLE IF NOT EXISTS DataTest (randomData)", [], function(tx, result) {
+ for (var i = 0; i < 25; ++i)
+ tx.executeSql("INSERT INTO DataTest (randomData) VALUES (1)", []);
+ });
+ }, function(err) {
+ log("Persistent Database Transaction Errored - " + err);
+ checkCompletion();
+ }, function() {
+ log("Persistent Database Transaction Complete");
+ checkCompletion();
+ });
+
+ forgottenDB.transaction(function(tx) {
+ tx.executeSql("CREATE TABLE IF NOT EXISTS EmptyTable (unimportantData)", []);
+ }, function(err) {
+ log("Forgotten Database Transaction Errored - " + err);
+ forgottenDB = 0;
+ GC();
+ checkCompletion();
+ }, function() {
+ log("Forgotten Database Transaction Complete");
+ forgottenDB = 0;
+ GC();
+ checkCompletion();
+ });
+}
diff --git a/LayoutTests/storage/multiple-transactions-on-different-handles.html b/LayoutTests/storage/multiple-transactions-on-different-handles.html
index bcdab82..0a18c32 100644
--- a/LayoutTests/storage/multiple-transactions-on-different-handles.html
+++ b/LayoutTests/storage/multiple-transactions-on-different-handles.html
@@ -1,96 +1,12 @@
<html>
<head>
-<script>
-
-function log(message)
-{
- document.body.innerHTML += message + "<br>";
-}
-
-var complete = 0;
-
-function checkCompletion()
-{
- // The test should end after two transactions
- if (++complete == 2 && window.layoutTestController)
- layoutTestController.notifyDone();
-}
-
-// Opens the database used in this test case
-function openTestDatabase()
-{
- return openDatabase("MultipleTransactionsOnDifferentHandlesTest",
- "1.0",
- "Test to make sure that queueing multiple transactions on different DB handles does not result in a deadlock.",
- 32768);
-}
-
-function statementSuccessCallback(dbName, statementType)
-{
- log(dbName + " " + statementType + " statement succeeded");
-}
-
-function statementErrorCallback(dbName, statementType, error)
-{
- log(dbName + " " + statementType + " statement failed: " + error.message);
-}
-
-// Runs a transaction on the given database
-function runTransaction(db, dbName, val)
-{
- db.transaction(function(tx) {
- // Execute a read-only statement
- tx.executeSql("SELECT COUNT(*) FROM Test;", [],
- function(result) { statementSuccessCallback(dbName, "read"); },
- function(tx, error) { statementErrorCallback(dbName, "read", error); });
-
- // Execute a write statement to make sure SQLite tries to acquire an exclusive lock on the DB file
- tx.executeSql("INSERT INTO Test VALUES (?);", [val],
- function(result) { statementSuccessCallback(dbName, "write"); },
- function(tx, error) { statementErrorCallback(dbName, "write", error); });
- }, function(error) {
- // Transaction failure callback
- log(dbName + " transaction failed: " + error.message);
- checkCompletion();
- }, function() {
- // Transaction success callback
- log(dbName + " transaction succeeded");
- checkCompletion();
- });
-}
-
-// We need to guarantee that the Test table exists before we run our test.
-// Therefore, the test code is in the successCallback of the transaction that creates the table.
-function runTest() {
- if (window.layoutTestController) {
- layoutTestController.dumpAsText();
- layoutTestController.waitUntilDone();
- }
-
- try {
- var db = openTestDatabase();
- db.transaction(function(tx) {
- // Create the Test table if it does not exist
- tx.executeSql("CREATE TABLE IF NOT EXISTS Test (Foo int);", [],
- function(result) {}, function(tx, error) {});
- }, function(error) {
- log("Creating the Test table failed: " + error.message);
- }, function() {
- // The Test table was created successfully
- var db1 = openTestDatabase();
- var db2 = openTestDatabase();
- if (db1 == db2)
- log("failure: db1 == db2");
- else {
- runTransaction(db1, "db1", 1);
- runTransaction(db2, "db2", 2);
- }
- });
- } catch(err) {}
-}
-</script>
+<script src="resources/database-common.js"></script>
+<script src="multiple-transactions-on-different-handles.js"></script>
</head>
-<body onload="runTest();">
+<body onload="setupAndRunTest();">
This is a test to see if queueing up multiple transactions on different handles to the same database results in a deadlock.<br>
+<pre id="console">
+FAILURE: test didn't run.
+</pre>
</body>
</html>
diff --git a/LayoutTests/storage/multiple-transactions-on-different-handles.js b/LayoutTests/storage/multiple-transactions-on-different-handles.js
new file mode 100644
index 0000000..9ab4b93
--- /dev/null
+++ b/LayoutTests/storage/multiple-transactions-on-different-handles.js
@@ -0,0 +1,78 @@
+var complete = 0;
+
+function checkCompletion()
+{
+ // The test should end after two transactions
+ if (++complete == 2 && window.layoutTestController)
+ layoutTestController.notifyDone();
+}
+
+// Opens the database used in this test case
+function openTestDatabase()
+{
+ return openDatabaseWithSuffix("MultipleTransactionsOnDifferentHandlesTest",
+ "1.0",
+ "Test to make sure that queueing multiple transactions on different DB handles does not result in a deadlock.",
+ 32768);
+}
+
+function statementSuccessCallback(dbName, statementType)
+{
+ log(dbName + " " + statementType + " statement succeeded");
+}
+
+function statementErrorCallback(dbName, statementType, error)
+{
+ log(dbName + " " + statementType + " statement failed: " + error.message);
+}
+
+// Runs a transaction on the given database
+function runTransaction(db, dbName, val)
+{
+ db.transaction(function(tx) {
+ // Execute a read-only statement
+ tx.executeSql("SELECT COUNT(*) FROM Test;", [],
+ function(result) { statementSuccessCallback(dbName, "read"); },
+ function(tx, error) { statementErrorCallback(dbName, "read", error); });
+
+ // Execute a write statement to make sure SQLite tries to acquire an exclusive lock on the DB file
+ tx.executeSql("INSERT INTO Test VALUES (?);", [val],
+ function(result) { statementSuccessCallback(dbName, "write"); },
+ function(tx, error) { statementErrorCallback(dbName, "write", error); });
+ }, function(error) {
+ // Transaction failure callback
+ log(dbName + " transaction failed: " + error.message);
+ checkCompletion();
+ }, function() {
+ // Transaction success callback
+ log(dbName + " transaction succeeded");
+ checkCompletion();
+ });
+}
+
+// We need to guarantee that the Test table exists before we run our test.
+// Therefore, the test code is in the successCallback of the transaction that creates the table.
+function runTest() {
+ try {
+ var db = openTestDatabase();
+ db.transaction(function(tx) {
+ // Create the Test table if it does not exist
+ tx.executeSql("CREATE TABLE IF NOT EXISTS Test (Foo int);", [],
+ function(result) {}, function(tx, error) {});
+ }, function(error) {
+ log("Creating the Test table failed: " + error.message);
+ }, function() {
+ // The Test table was created successfully
+ var db1 = openTestDatabase();
+ var db2 = openTestDatabase();
+ if (db1 == db2)
+ log("failure: db1 == db2");
+ else {
+ runTransaction(db1, "db1", 1);
+ runTransaction(db2, "db2", 2);
+ }
+ });
+ } catch(err) {}
+}
+
+
diff --git a/LayoutTests/storage/multiple-transactions.html b/LayoutTests/storage/multiple-transactions.html
index 56656ca..3597440 100644
--- a/LayoutTests/storage/multiple-transactions.html
+++ b/LayoutTests/storage/multiple-transactions.html
@@ -1,53 +1,12 @@
<html>
<head>
-<script>
-
-function log(message)
-{
- document.body.innerHTML += message + "<br>";
-}
-
-var complete = 0;
-
-function checkCompletion()
-{
- if (++complete == 2 && window.layoutTestController)
- layoutTestController.notifyDone();
-}
-
-function runTest()
-{
- if (window.layoutTestController) {
- layoutTestController.dumpAsText();
- layoutTestController.waitUntilDone();
- }
-
- var db = openDatabase("MultipleTransactionsTest", "1.0", "Test to make sure multiple transactions can be queued at once for an HTML5 database", 32768);
-
- db.transaction(function(tx) {
- log("Transaction 1 Started");
- }, function(err) {
- log("Transaction 1 Errored - " + err);
- checkCompletion();
- }, function() {
- log("Transaction 1 Succeeded");
- checkCompletion();
- });
-
- db.transaction(function(tx) {
- log("Transaction 2 Started");
- }, function(err) {
- log("Transaction 2 Errored - " + err);
- checkCompletion();
- }, function() {
- log("Transaction 2 Succeeded");
- checkCompletion();
- });
-}
-
-</script>
+<script src="resources/database-common.js"></script>
+<script src="multiple-transactions.js"></script>
<head>
-<body onload="runTest();">
+<body onload="setupAndRunTest();">
This is a test to see if the database API allows multiple transactions to be queued on the same database at once:<br>
+<pre id="console">
+FAILURE: test didn't run.
+</pre>
</body>
</html>
diff --git a/LayoutTests/storage/multiple-transactions.js b/LayoutTests/storage/multiple-transactions.js
new file mode 100644
index 0000000..85cdabc
--- /dev/null
+++ b/LayoutTests/storage/multiple-transactions.js
@@ -0,0 +1,32 @@
+var complete = 0;
+
+function checkCompletion()
+{
+ if (++complete == 2 && window.layoutTestController)
+ layoutTestController.notifyDone();
+}
+
+function runTest()
+{
+ var db = openDatabaseWithSuffix("MultipleTransactionsTest", "1.0", "Test to make sure multiple transactions can be queued at once for an HTML5 database", 32768);
+
+ db.transaction(function(tx) {
+ log("Transaction 1 Started");
+ }, function(err) {
+ log("Transaction 1 Errored - " + err);
+ checkCompletion();
+ }, function() {
+ log("Transaction 1 Succeeded");
+ checkCompletion();
+ });
+
+ db.transaction(function(tx) {
+ log("Transaction 2 Started");
+ }, function(err) {
+ log("Transaction 2 Errored - " + err);
+ checkCompletion();
+ }, function() {
+ log("Transaction 2 Succeeded");
+ checkCompletion();
+ });
+}
diff --git a/LayoutTests/storage/open-database-while-transaction-in-progress.html b/LayoutTests/storage/open-database-while-transaction-in-progress.html
index 691f6fe..707a1a4 100644
--- a/LayoutTests/storage/open-database-while-transaction-in-progress.html
+++ b/LayoutTests/storage/open-database-while-transaction-in-progress.html
@@ -1,71 +1,12 @@
<html>
<head>
-<script>
-
-function log(message)
-{
- document.body.innerHTML += message + "<br>";
-}
-
-var complete = 0;
-
-function checkCompletion()
-{
- // The test should end after two transactions
- if (++complete == 1 && window.layoutTestController)
- layoutTestController.notifyDone();
-}
-
-// Opens the database used in this test case
-function openTestDatabase()
-{
- return openDatabase("OpenDatabaseWhileTransactionInProgressTest",
- "1.0",
- "Test to make sure that calling openDatabase() while a transaction is in progress on a different handle to the same database does not result in a deadlock.",
- 2100000); // 2MB + epsilon
-}
-
-// See https://bugs.webkit.org/show_bug.cgi?id=28207
-// In order to trigger this bug, the transaction must acquire an exclusive
-// lock on the DB file before trying to obtain a second handle to the same DB.
-// The only way to force SQLite to obtain an exclusive lock is to change more
-// than cache_size * page_size bytes in the database. The default value for
-// cache_size is 2000 pages, and the default page_size is 1024 bytes. So the
-// size of the blob must be at least 2MB.
-function runTest()
-{
- if (window.layoutTestController) {
- layoutTestController.dumpAsText();
- layoutTestController.waitUntilDone();
- }
-
- try {
- var db1 = openTestDatabase();
- db1.transaction(function(tx) {
- // Create the Test table if it does not exist
- tx.executeSql("CREATE TABLE IF NOT EXISTS Test (Foo BLOB);");
- tx.executeSql("INSERT INTO Test VALUES (ZEROBLOB(2097152));", [],
- function(result) {
- var db2 = openTestDatabase();
- log("openDatabase() succeeded.");
- },
- function(tx, error) {
- log("Executing statement failed: " + error.message);
- });
-
- // Clean up the DB to allow for repeated runs of this test
- // without needing to increase the default allowed quota (5MB)
- tx.executeSql("DELETE FROM Test;");
- }, function(error) {
- log("Transaction failed: " + error.message);
- }, function() {
- checkCompletion();
- });
- } catch(err) {}
-}
-</script>
+<script src="resources/database-common.js"></script>
+<script src="open-database-while-transaction-in-progress.js"></script>
</head>
-<body onload="runTest();">
+<body onload="setupAndRunTest();">
This is a test to see if opening a database while a transaction is running on a different handle to the same database results in a deadlock.<br>
+<pre id="console">
+FAILURE: test didn't run.
+</pre>
</body>
</html>
diff --git a/LayoutTests/storage/open-database-while-transaction-in-progress.js b/LayoutTests/storage/open-database-while-transaction-in-progress.js
new file mode 100644
index 0000000..7a1a0c0
--- /dev/null
+++ b/LayoutTests/storage/open-database-while-transaction-in-progress.js
@@ -0,0 +1,41 @@
+// Opens the database used in this test case
+function openTestDatabase()
+{
+ return openDatabaseWithSuffix("OpenDatabaseWhileTransactionInProgressTest",
+ "1.0",
+ "Test to make sure that calling openDatabase() while a transaction is in progress on a different handle to the same database does not result in a deadlock.",
+ 2100000); // 2MB + epsilon
+}
+
+// See https://bugs.webkit.org/show_bug.cgi?id=28207
+// In order to trigger this bug, the transaction must acquire an exclusive
+// lock on the DB file before trying to obtain a second handle to the same DB.
+// The only way to force SQLite to obtain an exclusive lock is to change more
+// than cache_size * page_size bytes in the database. The default value for
+// cache_size is 2000 pages, and the default page_size is 1024 bytes. So the
+// size of the blob must be at least 2MB.
+function runTest()
+{
+ var db1 = openTestDatabase();
+ db1.transaction(function(tx) {
+ // Create the Test table if it does not exist
+ tx.executeSql("CREATE TABLE IF NOT EXISTS Test (Foo BLOB);");
+ tx.executeSql("INSERT INTO Test VALUES (ZEROBLOB(2097152));", [],
+ function(result) {
+ var db2 = openTestDatabase();
+ log("openDatabase() succeeded.");
+ },
+ function(tx, error) {
+ log("Executing statement failed: " + error.message);
+ });
+
+ // Clean up the DB to allow for repeated runs of this test
+ // without needing to increase the default allowed quota (5MB)
+ tx.executeSql("DELETE FROM Test;");
+ }, function(error) {
+ log("Transaction failed: " + error.message);
+ }, function() {
+ if (window.layoutTestController)
+ layoutTestController.notifyDone();
+ });
+}
diff --git a/LayoutTests/storage/read-and-write-transactions-dont-run-together.html b/LayoutTests/storage/read-and-write-transactions-dont-run-together.html
index a7565b5..11da356 100644
--- a/LayoutTests/storage/read-and-write-transactions-dont-run-together.html
+++ b/LayoutTests/storage/read-and-write-transactions-dont-run-together.html
@@ -1,103 +1,12 @@
<html>
<head>
-<script>
-
-function log(message)
-{
- document.body.innerHTML += message + "<br>";
-}
-
-function terminateTest()
-{
- if (window.layoutTestController)
- layoutTestController.notifyDone();
-}
-
-function openTestDatabase()
-{
- return openDatabase("ReadAndWriteTransactionsDontRunTogetherTest",
- "1.0",
- "Test to make sure that read and write transactions on different DB handles to the same DB don't run at the same time.",
- 32768);
-}
-
-var readTransactionsInProgress = 0;
-var writeTransactionsInProgress = 0;
-var totalTransactions = 0;
-var finishedTransactions = 0;
-
-function runTransaction(db, readOnly)
-{
- var transactionFunction = (readOnly ? db.readTransaction : db.transaction);
- transactionFunction.call(db, function(tx) {
- if (readOnly) {
- if (writeTransactionsInProgress != 0) {
- log("Read transaction starting while write transaction in progress.");
- terminateTest();
- }
- readTransactionsInProgress++;
- } else {
- if ((readTransactionsInProgress != 0) || (writeTransactionsInProgress != 0)) {
- log("Write transaction starting while another transaction in progress.");
- terminateTest();
- }
- writeTransactionsInProgress++;
- }
- tx.executeSql("SELECT * FROM Test;");
- }, function(error) {
- log((readOnly ? "Read" : "Write") + " transaction failed: " + error.message);
- terminateTest();
- }, function() {
- finishedTransactions++;
- if (readOnly)
- readTransactionsInProgress--;
- else
- writeTransactionsInProgress--;
- log("Transaction successful.");
- if ((finishedTransactions == totalTransactions) && (readTransactionsInProgress == 0) && (writeTransactionsInProgress == 0))
- terminateTest();
- });
-}
-
-function runReadAndWriteTransactions(db1, db2, db3)
-{
- totalTransactions = 10;
- finishedTransactions = 0;
- runTransaction(db1, true);
- runTransaction(db2, true);
- runTransaction(db1, false);
- runTransaction(db1, true);
- runTransaction(db2, true);
- runTransaction(db3, true);
- runTransaction(db1, false);
- runTransaction(db2, false);
- runTransaction(db1, true);
- runTransaction(db3, true);
-}
-
-function runTest() {
- if (window.layoutTestController) {
- layoutTestController.dumpAsText();
- layoutTestController.waitUntilDone();
- }
-
- try {
- var db1 = openTestDatabase();
- var db2 = openTestDatabase();
- var db3 = openTestDatabase();
- db1.transaction(function(tx) {
- tx.executeSql("CREATE TABLE IF NOT EXISTS Test (Foo int);");
- }, function(error) {
- log("Cannot create the Test table: " + error.message);
- terminateTest();
- }, function() {
- runReadAndWriteTransactions(db1, db2, db3);
- });
- } catch(err) {}
-}
-</script>
+<script src="resources/database-common.js"></script>
+<script src="read-and-write-transactions-dont-run-together.js"></script>
</head>
-<body onload="runTest();">
+<body onload="setupAndRunTest();">
This test tests that read and write transactions on different handles to the same database don't run together.<br>
+<pre id="console">
+FAILURE: test didn't run.
+</pre>
</body>
</html>
diff --git a/LayoutTests/storage/read-and-write-transactions-dont-run-together.js b/LayoutTests/storage/read-and-write-transactions-dont-run-together.js
new file mode 100644
index 0000000..5b817ba
--- /dev/null
+++ b/LayoutTests/storage/read-and-write-transactions-dont-run-together.js
@@ -0,0 +1,81 @@
+function terminateTest()
+{
+ if (window.layoutTestController)
+ layoutTestController.notifyDone();
+}
+
+function openTestDatabase()
+{
+ return openDatabaseWithSuffix("ReadAndWriteTransactionsDontRunTogetherTest",
+ "1.0",
+ "Test to make sure that read and write transactions on different DB handles to the same DB don't run at the same time.",
+ 32768);
+}
+
+var readTransactionsInProgress = 0;
+var writeTransactionsInProgress = 0;
+var totalTransactions = 0;
+var finishedTransactions = 0;
+
+function runTransaction(db, readOnly)
+{
+ var transactionFunction = (readOnly ? db.readTransaction : db.transaction);
+ transactionFunction.call(db, function(tx) {
+ if (readOnly) {
+ if (writeTransactionsInProgress != 0) {
+ log("Read transaction starting while write transaction in progress.");
+ terminateTest();
+ }
+ readTransactionsInProgress++;
+ } else {
+ if ((readTransactionsInProgress != 0) || (writeTransactionsInProgress != 0)) {
+ log("Write transaction starting while another transaction in progress.");
+ terminateTest();
+ }
+ writeTransactionsInProgress++;
+ }
+ tx.executeSql("SELECT * FROM Test;");
+ }, function(error) {
+ log((readOnly ? "Read" : "Write") + " transaction failed: " + error.message);
+ terminateTest();
+ }, function() {
+ finishedTransactions++;
+ if (readOnly)
+ readTransactionsInProgress--;
+ else
+ writeTransactionsInProgress--;
+ log("Transaction successful.");
+ if ((finishedTransactions == totalTransactions) && (readTransactionsInProgress == 0) && (writeTransactionsInProgress == 0))
+ terminateTest();
+ });
+}
+
+function runReadAndWriteTransactions(db1, db2, db3)
+{
+ totalTransactions = 10;
+ finishedTransactions = 0;
+ runTransaction(db1, true);
+ runTransaction(db2, true);
+ runTransaction(db1, false);
+ runTransaction(db1, true);
+ runTransaction(db2, true);
+ runTransaction(db3, true);
+ runTransaction(db1, false);
+ runTransaction(db2, false);
+ runTransaction(db1, true);
+ runTransaction(db3, true);
+}
+
+function runTest() {
+ var db1 = openTestDatabase();
+ var db2 = openTestDatabase();
+ var db3 = openTestDatabase();
+ db1.transaction(function(tx) {
+ tx.executeSql("CREATE TABLE IF NOT EXISTS Test (Foo int);");
+ }, function(error) {
+ log("Cannot create the Test table: " + error.message);
+ terminateTest();
+ }, function() {
+ runReadAndWriteTransactions(db1, db2, db3);
+ });
+}
diff --git a/LayoutTests/storage/resources/database-common.js b/LayoutTests/storage/resources/database-common.js
new file mode 100644
index 0000000..d1eb410
--- /dev/null
+++ b/LayoutTests/storage/resources/database-common.js
@@ -0,0 +1,29 @@
+var DB_TEST_SUFFIX = "_dom";
+
+function openDatabaseWithSuffix(name, version, description, size, callback)
+{
+ if (arguments.length > 4) {
+ return openDatabase(name + DB_TEST_SUFFIX, version, description, size, callback);
+ } else {
+ return openDatabase(name + DB_TEST_SUFFIX, version, description, size);
+ }
+}
+
+function log(message)
+{
+ document.getElementById("console").innerText += message + "\n";
+}
+
+function setLocationHash(hash) {
+ location.hash = hash;
+}
+
+function setupAndRunTest()
+{
+ if (window.layoutTestController) {
+ layoutTestController.dumpAsText();
+ layoutTestController.waitUntilDone();
+ }
+ document.getElementById("console").innerText = "";
+ runTest();
+}
diff --git a/LayoutTests/storage/test-authorizer.html b/LayoutTests/storage/test-authorizer.html
index 57785a6..8baf10a 100644
--- a/LayoutTests/storage/test-authorizer.html
+++ b/LayoutTests/storage/test-authorizer.html
@@ -1,175 +1,12 @@
<html>
<head>
-<script>
-
-function log(message)
-{
- document.body.innerHTML += message + "<br>";
-}
-
-function terminateTest()
-{
- if (window.layoutTestController)
- layoutTestController.notifyDone();
-}
-
-function logAndTerminateTest(message, error)
-{
- log(message + ": " + error.message);
- terminateTest();
-}
-
-function cleanup(db)
-{
- db.transaction(function(tx) {
- tx.executeSql("DROP TABLE IF EXISTS Test;");
- tx.executeSql("DROP INDEX IF EXISTS TestIndex;");
- tx.executeSql("DROP VIEW IF EXISTS TestView;");
- tx.executeSql("DROP TRIGGER IF EXISTS TestTrigger;");
- }, function(error) { logAndTerminateTest("Cleanup failed", error); });
-}
-
-function statementSuccessCallback(statementType)
-{
- log(statementType + " statement succeeded.");
-}
-
-function statementErrorCallback(statementType, error)
-{
- log(statementType + " statement failed: " + error.message);
- return false;
-}
-
-function executeStatement(tx, statement, operation)
-{
- tx.executeSql(statement, [],
- function(result) { statementSuccessCallback(operation); },
- function(tx, error) { return statementErrorCallback(operation, error); });
-}
-
-function createTableCallback(tx)
-{
- executeStatement(tx, "CREATE TABLE Test (Foo int);", "SQLITE_CREATE_TABLE");
-}
-
-function createStatementsCallback(tx)
-{
- executeStatement(tx, "CREATE INDEX TestIndex ON Test (Foo);", "SQLITE_CREATE_INDEX");
-
- // Even though the following query should trigger a SQLITE_CREATE_TEMP_INDEX operation
- // (according to http://www.sqlite.org/tempfiles.html), it doesn't, and I'm not aware
- // of any other way to trigger this operation. So we'll skip it for now.
- //executeStatement(tx, "SELECT * FROM Test WHERE Foo IN (1, 2, 3);", "SQLITE_CREATE_TEMP_INDEX");
-
- executeStatement(tx, "CREATE TEMP TABLE TestTempTable (Foo int);", "SQLITE_CREATE_TEMP_TABLE");
- executeStatement(tx, "CREATE TEMP TRIGGER TestTempTrigger INSERT ON Test BEGIN SELECT COUNT(*) FROM Test; END;", "SQLITE_CREATE_TEMP_TRIGGER");
- executeStatement(tx, "CREATE TEMP VIEW TestTempView AS SELECT COUNT(*) FROM Test;", "SQLITE_CREATE_TEMP_VIEW");
- executeStatement(tx, "CREATE TRIGGER TestTrigger INSERT ON Test BEGIN SELECT COUNT(*) FROM Test; END;", "SQLITE_CREATE_TRIGGER");
- executeStatement(tx, "CREATE VIEW TestView AS SELECT COUNT(*) FROM Test;", "SQLITE_CREATE_VIEW");
- executeStatement(tx, "CREATE VIRTUAL TABLE TestVirtualTable USING MissingModule;", "SQLITE_CREATE_VTABLE");
-}
-
-function otherStatementsCallback(tx)
-{
- executeStatement(tx, "SELECT COUNT(*) FROM Test;", "SQLITE_READ");
- executeStatement(tx, "SELECT COUNT(*) FROM Test;", "SQLITE_SELECT");
- executeStatement(tx, "DELETE FROM Test;", "SQLITE_DELETE");
- executeStatement(tx, "INSERT INTO Test VALUES (1);", "SQLITE_INSERT");
- executeStatement(tx, "UPDATE Test SET Foo = 2 WHERE Foo = 1;", "SQLITE_UPDATE");
- executeStatement(tx, "PRAGMA cache_size;", "SQLITE_PRAGMA");
-
- executeStatement(tx, "ALTER TABLE Test RENAME TO TestTable;", "SQLITE_ALTER_TABLE");
- // Rename the table back to its original name
- executeStatement(tx, "ALTER TABLE TestTable RENAME To Test;", "SQLITE_ALTER_TABLE");
-
- executeStatement(tx, "BEGIN TRANSACTION;", "SQLITE_TRANSACTION");
- executeStatement(tx, "ATTACH main AS TestMain;", "SQLITE_ATTACH");
- executeStatement(tx, "DETACH TestMain;", "SQLITE_DETACH");
- executeStatement(tx, "REINDEX;", "SQLITE_REINDEX");
- executeStatement(tx, "ANALYZE;", "SQLITE_ANALYZE");
-
- // SQLITE_FUNCTION: allowed write mode
- // There is no SQL/Javascript API to add user-defined functions to SQLite,
- // so we cannot test this operation
-}
-
-function dropStatementsCallback(tx)
-{
- executeStatement(tx, "DROP INDEX TestIndex;", "SQLITE_DROP_INDEX");
-
- // SQLITE_DROP_TEMP_INDEX: allowed in write mode
- // Not sure how to test this: temp indexes are automatically dropped when
- // the database is closed, but HTML5 doesn't specify a closeDatabase() call.
-
- executeStatement(tx, "DROP TABLE TestTempTable;", "SQLITE_DROP_TEMP_TABLE");
- executeStatement(tx, "DROP TRIGGER TestTempTrigger;", "SQLITE_DROP_TEMP_TRIGGER");
- executeStatement(tx, "DROP VIEW TestTempView;", "SQLITE_DROP_TEMP_VIEW");
- executeStatement(tx, "DROP TRIGGER TestTrigger;", "SQLITE_DROP_TRIGGER");
- executeStatement(tx, "DROP VIEW TestView;", "SQLITE_DROP_VIEW");
-
- // SQLITE_DROP_VTABLE: allowed in write mode
- // Not sure how to test this: we cannot create a virtual table because we do not
- // have SQL/Javascript APIs to register a module that implements a virtual table.
- // Therefore, trying to drop a virtual table will always fail (no such table)
- // before even getting to the authorizer.
-
- executeStatement(tx, "DROP TABLE Test;", "SQLITE_DROP_TABLE");
-}
-
-function testReadWriteMode(db)
-{
- db.transaction(function(tx) {
- createTableCallback(tx);
- createStatementsCallback(tx);
- otherStatementsCallback(tx);
- dropStatementsCallback(tx);
- },
- function(error) { logAndTerminateTest("Write transaction failed", error); },
- function() { log("Write transaction succeeded."); });
-}
-
-function testReadOnlyMode(db)
-{
- // Test the 'CREATE TABLE' operation; it should be disallowed
- db.readTransaction(createTableCallback,
- function(error) { logAndTerminateTest("Read 'CREATE TABLE' transaction failed", error); });
-
- // In order to test all other 'CREATE' operations, we must create the table first
- db.transaction(createTableCallback,
- function(error) { logAndTerminateTest("Write 'CREATE TABLE' transaction failed", error); });
- db.readTransaction(createStatementsCallback,
- function(error) { logAndTerminateTest("Read 'CREATE' transaction failed", error); });
-
- // In order to test the 'DROP' and 'other' operations, we need to first create the respective entities
- db.transaction(createStatementsCallback,
- function(error) { logAndTerminateTest("Write 'CREATE' transaction failed", error); });
- db.readTransaction(otherStatementsCallback,
- function(error) { logAndTerminateTest("Read 'other' transaction failed", error); });
-
- // Hack: insert an empty write transaction to guaratee that these transactions are executed sequentially
- db.transaction(function(tx) { });
- db.readTransaction(dropStatementsCallback,
- function(error) { logAndTerminateTest("Read 'DROP' transaction failed", error); },
- function() { log("Read transactions succeeded."); terminateTest(); });
-}
-
-function runTest()
-{
- if (window.layoutTestController) {
- layoutTestController.dumpAsText();
- layoutTestController.waitUntilDone();
- }
-
- try {
- var db = openDatabase("AuthorizerTest", "1.0", "Tests the database authorizer.", 32768);
- cleanup(db);
- testReadWriteMode(db);
- testReadOnlyMode(db);
- } catch(err) {}
-}
-</script>
+<script src="resources/database-common.js"></script>
+<script src="test-authorizer.js"></script>
</head>
-<body onload="runTest();">
+<body onload="setupAndRunTest();">
This test tests the database authorizer.<br>
+<pre id="console">
+FAILURE: test didn't run.
+</pre>
</body>
</html>
diff --git a/LayoutTests/storage/test-authorizer.js b/LayoutTests/storage/test-authorizer.js
new file mode 100644
index 0000000..4a08c89
--- /dev/null
+++ b/LayoutTests/storage/test-authorizer.js
@@ -0,0 +1,153 @@
+function terminateTest()
+{
+ if (window.layoutTestController)
+ layoutTestController.notifyDone();
+}
+
+function logAndTerminateTest(message, error)
+{
+ log(message + ": " + error.message);
+ terminateTest();
+}
+
+function cleanup(db)
+{
+ db.transaction(function(tx) {
+ tx.executeSql("DROP TABLE IF EXISTS Test;");
+ tx.executeSql("DROP INDEX IF EXISTS TestIndex;");
+ tx.executeSql("DROP VIEW IF EXISTS TestView;");
+ tx.executeSql("DROP TRIGGER IF EXISTS TestTrigger;");
+ }, function(error) { logAndTerminateTest("Cleanup failed", error); });
+}
+
+function statementSuccessCallback(statementType)
+{
+ log(statementType + " statement succeeded.");
+}
+
+function statementErrorCallback(statementType, error)
+{
+ log(statementType + " statement failed: " + error.message);
+ return false;
+}
+
+function executeStatement(tx, statement, operation)
+{
+ tx.executeSql(statement, [],
+ function(result) { statementSuccessCallback(operation); },
+ function(tx, error) { return statementErrorCallback(operation, error); });
+}
+
+function createTableCallback(tx)
+{
+ executeStatement(tx, "CREATE TABLE Test (Foo int);", "SQLITE_CREATE_TABLE");
+}
+
+function createStatementsCallback(tx)
+{
+ executeStatement(tx, "CREATE INDEX TestIndex ON Test (Foo);", "SQLITE_CREATE_INDEX");
+
+ // Even though the following query should trigger a SQLITE_CREATE_TEMP_INDEX operation
+ // (according to http://www.sqlite.org/tempfiles.html), it doesn't, and I'm not aware
+ // of any other way to trigger this operation. So we'll skip it for now.
+ //executeStatement(tx, "SELECT * FROM Test WHERE Foo IN (1, 2, 3);", "SQLITE_CREATE_TEMP_INDEX");
+
+ executeStatement(tx, "CREATE TEMP TABLE TestTempTable (Foo int);", "SQLITE_CREATE_TEMP_TABLE");
+ executeStatement(tx, "CREATE TEMP TRIGGER TestTempTrigger INSERT ON Test BEGIN SELECT COUNT(*) FROM Test; END;", "SQLITE_CREATE_TEMP_TRIGGER");
+ executeStatement(tx, "CREATE TEMP VIEW TestTempView AS SELECT COUNT(*) FROM Test;", "SQLITE_CREATE_TEMP_VIEW");
+ executeStatement(tx, "CREATE TRIGGER TestTrigger INSERT ON Test BEGIN SELECT COUNT(*) FROM Test; END;", "SQLITE_CREATE_TRIGGER");
+ executeStatement(tx, "CREATE VIEW TestView AS SELECT COUNT(*) FROM Test;", "SQLITE_CREATE_VIEW");
+ executeStatement(tx, "CREATE VIRTUAL TABLE TestVirtualTable USING MissingModule;", "SQLITE_CREATE_VTABLE");
+}
+
+function otherStatementsCallback(tx)
+{
+ executeStatement(tx, "SELECT COUNT(*) FROM Test;", "SQLITE_READ");
+ executeStatement(tx, "SELECT COUNT(*) FROM Test;", "SQLITE_SELECT");
+ executeStatement(tx, "DELETE FROM Test;", "SQLITE_DELETE");
+ executeStatement(tx, "INSERT INTO Test VALUES (1);", "SQLITE_INSERT");
+ executeStatement(tx, "UPDATE Test SET Foo = 2 WHERE Foo = 1;", "SQLITE_UPDATE");
+ executeStatement(tx, "PRAGMA cache_size;", "SQLITE_PRAGMA");
+
+ executeStatement(tx, "ALTER TABLE Test RENAME TO TestTable;", "SQLITE_ALTER_TABLE");
+ // Rename the table back to its original name
+ executeStatement(tx, "ALTER TABLE TestTable RENAME To Test;", "SQLITE_ALTER_TABLE");
+
+ executeStatement(tx, "BEGIN TRANSACTION;", "SQLITE_TRANSACTION");
+ executeStatement(tx, "ATTACH main AS TestMain;", "SQLITE_ATTACH");
+ executeStatement(tx, "DETACH TestMain;", "SQLITE_DETACH");
+ executeStatement(tx, "REINDEX;", "SQLITE_REINDEX");
+ executeStatement(tx, "ANALYZE;", "SQLITE_ANALYZE");
+
+ // SQLITE_FUNCTION: allowed write mode
+ // There is no SQL/Javascript API to add user-defined functions to SQLite,
+ // so we cannot test this operation
+}
+
+function dropStatementsCallback(tx)
+{
+ executeStatement(tx, "DROP INDEX TestIndex;", "SQLITE_DROP_INDEX");
+
+ // SQLITE_DROP_TEMP_INDEX: allowed in write mode
+ // Not sure how to test this: temp indexes are automatically dropped when
+ // the database is closed, but HTML5 doesn't specify a closeDatabase() call.
+
+ executeStatement(tx, "DROP TABLE TestTempTable;", "SQLITE_DROP_TEMP_TABLE");
+ executeStatement(tx, "DROP TRIGGER TestTempTrigger;", "SQLITE_DROP_TEMP_TRIGGER");
+ executeStatement(tx, "DROP VIEW TestTempView;", "SQLITE_DROP_TEMP_VIEW");
+ executeStatement(tx, "DROP TRIGGER TestTrigger;", "SQLITE_DROP_TRIGGER");
+ executeStatement(tx, "DROP VIEW TestView;", "SQLITE_DROP_VIEW");
+
+ // SQLITE_DROP_VTABLE: allowed in write mode
+ // Not sure how to test this: we cannot create a virtual table because we do not
+ // have SQL/Javascript APIs to register a module that implements a virtual table.
+ // Therefore, trying to drop a virtual table will always fail (no such table)
+ // before even getting to the authorizer.
+
+ executeStatement(tx, "DROP TABLE Test;", "SQLITE_DROP_TABLE");
+}
+
+function testReadWriteMode(db)
+{
+ db.transaction(function(tx) {
+ createTableCallback(tx);
+ createStatementsCallback(tx);
+ otherStatementsCallback(tx);
+ dropStatementsCallback(tx);
+ },
+ function(error) { logAndTerminateTest("Write transaction failed", error); },
+ function() { log("Write transaction succeeded."); });
+}
+
+function testReadOnlyMode(db)
+{
+ // Test the 'CREATE TABLE' operation; it should be disallowed
+ db.readTransaction(createTableCallback,
+ function(error) { logAndTerminateTest("Read 'CREATE TABLE' transaction failed", error); });
+
+ // In order to test all other 'CREATE' operations, we must create the table first
+ db.transaction(createTableCallback,
+ function(error) { logAndTerminateTest("Write 'CREATE TABLE' transaction failed", error); });
+ db.readTransaction(createStatementsCallback,
+ function(error) { logAndTerminateTest("Read 'CREATE' transaction failed", error); });
+
+ // In order to test the 'DROP' and 'other' operations, we need to first create the respective entities
+ db.transaction(createStatementsCallback,
+ function(error) { logAndTerminateTest("Write 'CREATE' transaction failed", error); });
+ db.readTransaction(otherStatementsCallback,
+ function(error) { logAndTerminateTest("Read 'other' transaction failed", error); });
+
+ // Hack: insert an empty write transaction to guaratee that these transactions are executed sequentially
+ db.transaction(function(tx) { });
+ db.readTransaction(dropStatementsCallback,
+ function(error) { logAndTerminateTest("Read 'DROP' transaction failed", error); },
+ function() { log("Read transactions succeeded."); terminateTest(); });
+}
+
+function runTest()
+{
+ var db = openDatabaseWithSuffix("AuthorizerTest", "1.0", "Tests the database authorizer.", 32768);
+ cleanup(db);
+ testReadWriteMode(db);
+ testReadOnlyMode(db);
+}
diff --git a/LayoutTests/storage/transaction-success-callback-isolated-world-expected.txt b/LayoutTests/storage/transaction-success-callback-isolated-world-expected.txt
new file mode 100644
index 0000000..e427f4a
--- /dev/null
+++ b/LayoutTests/storage/transaction-success-callback-isolated-world-expected.txt
@@ -0,0 +1,4 @@
+ALERT: undefined
+ALERT: PASS: document.body.bar visible in a callback created in this world.
+This test tests that the transaction success callback is called in the right world.
+
diff --git a/LayoutTests/storage/transaction-success-callback-isolated-world.html b/LayoutTests/storage/transaction-success-callback-isolated-world.html
new file mode 100644
index 0000000..ca2df94
--- /dev/null
+++ b/LayoutTests/storage/transaction-success-callback-isolated-world.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<html>
+<body>
+This test tests that the transaction success callback is called in the right world.
+<div id="console"></div>
+<script>
+var transactionSuccessCallbacksInvoked = 0;
+function done()
+{
+ if ((++transactionSuccessCallbacksInvoked == 2) && (window.layoutTestController))
+ layoutTestController.notifyDone();
+}
+
+function transactionSuccessCallback1(tx)
+{
+ alert("FAIL: Visible in isolated world.");
+ done();
+}
+
+function transactionSuccessCallback2(tx)
+{
+ alert(document.body.bar);
+ done();
+}
+
+document.body.foo = "FAIL: document.body.foo visible in isolated world.";
+document.body.bar = "PASS: document.body.bar visible in a callback created in this world.";
+
+if (window.layoutTestController) {
+ layoutTestController.clearAllDatabases();
+ layoutTestController.dumpAsText();
+ layoutTestController.waitUntilDone();
+ layoutTestController.evaluateScriptInIsolatedWorld(
+ 0,
+ "function transactionSuccessCallback1(tx)\n" +
+ "{\n" +
+ " alert(document.body.foo);\n" +
+ " window.location='javascript:done()';\n" +
+ "}\n" +
+ "var db1 = openDatabase('TransactionSuccessCallbackIsolatedWorld1', '1.0', '', 1);\n" +
+ "db1.transaction(function(tx) { }, null, transactionSuccessCallback1);");
+
+ var db2 = openDatabase('TransactionSuccessCallbackIsolatedWorld2', '1.0', '', 1);
+ db2.transaction(function(tx) { }, null, transactionSuccessCallback2);
+}
+</script>
+</body>
+</html>
diff --git a/WebCore/Android.derived.jscbindings.mk b/WebCore/Android.derived.jscbindings.mk
index 001472e..d69af39 100644
--- a/WebCore/Android.derived.jscbindings.mk
+++ b/WebCore/Android.derived.jscbindings.mk
@@ -383,6 +383,29 @@ LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
# above rules. Specifying this explicitly makes -j2 work.
$(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/storage/%.cpp : $(intermediates)/storage/%.h
+# Indexed Database
+GEN := \
+ $(intermediates)/storage/JSIDBAny.h \
+ $(intermediates)/storage/JSIDBDatabaseError.h \
+ $(intermediates)/storage/JSIDBDatabaseException.h \
+ $(intermediates)/storage/JSIDBDatabaseRequest.h \
+ $(intermediates)/storage/JSIDBErrorEvent.h \
+ $(intermediates)/storage/JSIDBEvent.h \
+ $(intermediates)/storage/JSIDBIndexRequest.h \
+ $(intermediates)/storage/JSIDBRequest.h \
+ $(intermediates)/storage/JSIDBSuccessEvent.h \
+ $(intermediates)/storage/JSIndexedDatabaseRequest.h
+
+$(GEN): PRIVATE_PATH := $(LOCAL_PATH)
+$(GEN): PRIVATE_CUSTOM_TOOL = perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS --include dom --include html --include storage --outputdir $(dir $@) $<
+$(GEN): $(intermediates)/storage/JS%.h : $(LOCAL_PATH)/storage/%.idl $(js_binding_scripts)
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
+
+# We also need the .cpp files, which are generated as side effects of the
+# above rules. Specifying this explicitly makes -j2 work.
+$(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/storage/%.cpp : $(intermediates)/storage/%.h
+
# SVG
ifeq ($(ENABLE_SVG), true)
GEN := \
diff --git a/WebCore/Android.derived.v8bindings.mk b/WebCore/Android.derived.v8bindings.mk
index 4788f00..1a1e68b 100644
--- a/WebCore/Android.derived.v8bindings.mk
+++ b/WebCore/Android.derived.v8bindings.mk
@@ -377,6 +377,29 @@ LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
# above rules. Specifying this explicitly makes -j2 work.
$(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/bindings/%.cpp : $(intermediates)/bindings/%.h
+# Indexed Database
+GEN := \
+ $(intermediates)/storage/V8IDBAny.h \
+ $(intermediates)/storage/V8IDBDatabaseError.h \
+ $(intermediates)/storage/V8IDBDatabaseException.h \
+ $(intermediates)/storage/V8IDBDatabaseRequest.h \
+ $(intermediates)/storage/V8IDBErrorEvent.h \
+ $(intermediates)/storage/V8IDBEvent.h \
+ $(intermediates)/storage/V8IDBIndexRequest.h \
+ $(intermediates)/storage/V8IDBRequest.h \
+ $(intermediates)/storage/V8IDBSuccessEvent.h \
+ $(intermediates)/storage/V8IndexedDatabaseRequest.h
+
+$(GEN): PRIVATE_PATH := $(LOCAL_PATH)
+$(GEN): PRIVATE_CUSTOM_TOOL = SOURCE_ROOT=$(PRIVATE_PATH) perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator V8 --include dom --include html --outputdir $(dir $@) $<
+$(GEN): $(intermediates)/bindings/V8%.h : $(LOCAL_PATH)/storage/%.idl $(js_binding_scripts)
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+# We also need the .cpp files, which are generated as side effects of the
+# above rules. Specifying this explicitly makes -j2 work.
+$(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/bindings/%.cpp : $(intermediates)/bindings/%.h
+
# SVG
# These headers are required by the V8 bindings even when SVG is disabled
GEN := \
diff --git a/WebCore/Android.mk b/WebCore/Android.mk
index 373c70f..e6840c0 100644
--- a/WebCore/Android.mk
+++ b/WebCore/Android.mk
@@ -260,6 +260,7 @@ LOCAL_SRC_FILES := $(LOCAL_SRC_FILES) \
html/HTML5Lexer.cpp \
html/HTML5Tokenizer.cpp \
html/HTML5TreeBuilder.cpp \
+ html/HTML5ScriptRunner.cpp \
html/HTMLAllCollection.cpp \
html/HTMLCollection.cpp \
html/HTMLDataListElement.cpp \
@@ -374,6 +375,7 @@ LOCAL_SRC_FILES := $(LOCAL_SRC_FILES) \
page/SecurityOrigin.cpp \
page/Settings.cpp \
page/SpatialNavigation.cpp \
+ page/SuspendableTimer.cpp \
page/UserContentURLPattern.cpp \
page/WindowFeatures.cpp \
page/WorkerNavigator.cpp \
@@ -762,6 +764,20 @@ LOCAL_SRC_FILES := $(LOCAL_SRC_FILES) \
storage/DatabaseTask.cpp \
storage/DatabaseThread.cpp \
storage/DatabaseTracker.cpp \
+ storage/IDBAny.cpp \
+ storage/IDBDatabaseImpl.cpp \
+ storage/IDBDatabaseRequest.cpp \
+ storage/IDBErrorEvent.cpp \
+ storage/IDBEvent.cpp \
+ storage/IDBIndexImpl.cpp \
+ storage/IDBIndexRequest.cpp \
+ storage/IDBObjectStore.cpp \
+ storage/IDBObjectStoreRequest.cpp \
+ storage/IDBRequest.cpp \
+ storage/IDBSuccessEvent.cpp \
+ storage/IndexedDatabase.cpp \
+ storage/IndexedDatabaseImpl.cpp \
+ storage/IndexedDatabaseRequest.cpp
storage/LocalStorageTask.cpp \
storage/LocalStorageThread.cpp \
storage/OriginQuotaManager.cpp \
@@ -781,7 +797,7 @@ LOCAL_SRC_FILES := $(LOCAL_SRC_FILES) \
storage/StorageMap.cpp \
storage/StorageNamespace.cpp \
storage/StorageNamespaceImpl.cpp \
- storage/StorageSyncManager.cpp \
+ storage/StorageSyncManager.cpp
ifeq ($(ENABLE_SVG), true)
LOCAL_SRC_FILES := $(LOCAL_SRC_FILES) \
diff --git a/WebCore/CMakeLists.txt b/WebCore/CMakeLists.txt
index b17ce27..aa3a320 100644
--- a/WebCore/CMakeLists.txt
+++ b/WebCore/CMakeLists.txt
@@ -36,6 +36,7 @@ SET(WebCore_INCLUDE_DIRECTORIES
"${WEBCORE_DIR}/platform/network"
"${WEBCORE_DIR}/platform/sql"
"${WEBCORE_DIR}/platform/text"
+ "${WEBCORE_DIR}/platform/text/transcoder"
"${WEBCORE_DIR}/plugins"
"${WEBCORE_DIR}/rendering"
"${WEBCORE_DIR}/rendering/style"
@@ -100,6 +101,7 @@ SET(WebCore_IDL_PURE_FILES
)
SET(WebCore_IDL_FILES
+ css/Counter.idl
css/CSSCharsetRule.idl
css/CSSFontFaceRule.idl
css/CSSImportRule.idl
@@ -115,10 +117,9 @@ SET(WebCore_IDL_FILES
css/CSSValueList.idl
css/CSSVariablesDeclaration.idl
css/CSSVariablesRule.idl
- css/Counter.idl
css/MediaList.idl
- css/RGBColor.idl
css/Rect.idl
+ css/RGBColor.idl
css/StyleMedia.idl
css/StyleSheet.idl
css/StyleSheetList.idl
@@ -137,19 +138,19 @@ SET(WebCore_IDL_FILES
dom/Comment.idl
dom/CompositionEvent.idl
dom/CustomEvent.idl
- dom/DOMCoreException.idl
- dom/DOMImplementation.idl
- dom/DOMStringList.idl
dom/DeviceOrientationEvent.idl
- dom/Document.idl
dom/DocumentFragment.idl
+ dom/Document.idl
dom/DocumentType.idl
+ dom/DOMCoreException.idl
+ dom/DOMImplementation.idl
+ dom/DOMStringList.idl
dom/Element.idl
dom/Entity.idl
dom/EntityReference.idl
dom/ErrorEvent.idl
- dom/Event.idl
dom/EventException.idl
+ dom/Event.idl
dom/KeyboardEvent.idl
dom/MessageChannel.idl
dom/MessageEvent.idl
@@ -157,8 +158,8 @@ SET(WebCore_IDL_FILES
dom/MouseEvent.idl
dom/MutationEvent.idl
dom/NamedNodeMap.idl
- dom/Node.idl
dom/NodeFilter.idl
+ dom/Node.idl
dom/NodeIterator.idl
dom/NodeList.idl
dom/Notation.idl
@@ -167,12 +168,12 @@ SET(WebCore_IDL_FILES
dom/PopStateEvent.idl
dom/ProcessingInstruction.idl
dom/ProgressEvent.idl
- dom/Range.idl
dom/RangeException.idl
- dom/Text.idl
+ dom/Range.idl
dom/TextEvent.idl
- dom/Touch.idl
+ dom/Text.idl
dom/TouchEvent.idl
+ dom/Touch.idl
dom/TouchList.idl
dom/TreeWalker.idl
dom/UIEvent.idl
@@ -181,11 +182,11 @@ SET(WebCore_IDL_FILES
dom/WheelEvent.idl
html/Blob.idl
- html/DOMFormData.idl
html/DataGridColumn.idl
html/DataGridColumnList.idl
- html/File.idl
+ html/DOMFormData.idl
html/FileError.idl
+ html/File.idl
html/FileList.idl
html/FileReader.idl
html/HTMLAllCollection.idl
@@ -193,15 +194,14 @@ SET(WebCore_IDL_FILES
html/HTMLAppletElement.idl
html/HTMLAreaElement.idl
html/HTMLAudioElement.idl
- html/HTMLBRElement.idl
html/HTMLBaseElement.idl
html/HTMLBaseFontElement.idl
html/HTMLBlockquoteElement.idl
html/HTMLBodyElement.idl
+ html/HTMLBRElement.idl
html/HTMLButtonElement.idl
html/HTMLCanvasElement.idl
html/HTMLCollection.idl
- html/HTMLDListElement.idl
html/HTMLDataGridCellElement.idl
html/HTMLDataGridColElement.idl
html/HTMLDataGridElement.idl
@@ -209,6 +209,7 @@ SET(WebCore_IDL_FILES
html/HTMLDataListElement.idl
html/HTMLDirectoryElement.idl
html/HTMLDivElement.idl
+ html/HTMLDListElement.idl
html/HTMLDocument.idl
html/HTMLElement.idl
html/HTMLEmbedElement.idl
@@ -217,17 +218,17 @@ SET(WebCore_IDL_FILES
html/HTMLFormElement.idl
html/HTMLFrameElement.idl
html/HTMLFrameSetElement.idl
- html/HTMLHRElement.idl
html/HTMLHeadElement.idl
html/HTMLHeadingElement.idl
+ html/HTMLHRElement.idl
html/HTMLHtmlElement.idl
html/HTMLIFrameElement.idl
html/HTMLImageElement.idl
html/HTMLInputElement.idl
html/HTMLIsIndexElement.idl
- html/HTMLLIElement.idl
html/HTMLLabelElement.idl
html/HTMLLegendElement.idl
+ html/HTMLLIElement.idl
html/HTMLLinkElement.idl
html/HTMLMapElement.idl
html/HTMLMarqueeElement.idl
@@ -236,8 +237,8 @@ SET(WebCore_IDL_FILES
html/HTMLMetaElement.idl
html/HTMLMeterElement.idl
html/HTMLModElement.idl
- html/HTMLOListElement.idl
html/HTMLObjectElement.idl
+ html/HTMLOListElement.idl
html/HTMLOptGroupElement.idl
html/HTMLOptionElement.idl
html/HTMLOptionsCollection.idl
@@ -266,10 +267,12 @@ SET(WebCore_IDL_FILES
html/ValidityState.idl
html/VoidCallback.idl
+ html/canvas/ArrayBuffer.idl
+ html/canvas/ArrayBufferView.idl
html/canvas/CanvasGradient.idl
html/canvas/CanvasPattern.idl
- html/canvas/CanvasRenderingContext.idl
html/canvas/CanvasRenderingContext2D.idl
+ html/canvas/CanvasRenderingContext.idl
html/canvas/WebGLRenderingContext.idl
html/canvas/ArrayBuffer.idl
@@ -324,6 +327,8 @@ SET(WebCore_IDL_FILES
storage/IDBDatabaseRequest.idl
storage/IDBErrorEvent.idl
storage/IDBEvent.idl
+ storage/IDBIndexRequest.idl
+ storage/IDBObjectStoreRequest.idl
storage/IDBRequest.idl
storage/IDBSuccessEvent.idl
storage/IndexedDatabaseRequest.idl
@@ -780,7 +785,6 @@ SET(WebCore_SOURCES
dom/ExceptionCode.cpp
dom/InputElement.cpp
dom/KeyboardEvent.cpp
- dom/MappedAttribute.cpp
dom/MessageChannel.cpp
dom/MessageEvent.cpp
dom/MessagePort.cpp
@@ -900,6 +904,7 @@ SET(WebCore_SOURCES
html/HTML5Lexer.cpp
html/HTML5Tokenizer.cpp
html/HTML5TreeBuilder.cpp
+ html/HTML5ScriptRunner.cpp
html/HTMLAllCollection.cpp
html/HTMLAnchorElement.cpp
html/HTMLAppletElement.cpp
@@ -984,6 +989,7 @@ SET(WebCore_SOURCES
html/HTMLUListElement.cpp
html/HTMLViewSourceDocument.cpp
html/ImageData.cpp
+ html/LabelsNodeList.cpp
html/PreloadScanner.cpp
html/StepRange.cpp
html/ValidityState.cpp
@@ -1102,6 +1108,7 @@ SET(WebCore_SOURCES
page/SecurityOrigin.cpp
page/Settings.cpp
page/SpatialNavigation.cpp
+ page/SuspendableTimer.cpp
page/UserContentURLPattern.cpp
page/WindowFeatures.cpp
page/WorkerNavigator.cpp
@@ -1240,6 +1247,8 @@ SET(WebCore_SOURCES
platform/text/TextStream.cpp
platform/text/UnicodeRange.cpp
+ platform/text/transcoder/FontTranscoder.cpp
+
plugins/MimeTypeArray.cpp
plugins/MimeType.cpp
plugins/PluginArray.cpp
@@ -1360,6 +1369,8 @@ SET(WebCore_SOURCES
storage/IDBErrorEvent.cpp
storage/IDBEvent.cpp
storage/IDBRequest.cpp
+ storage/IDBObjectStore.cpp
+ storage/IDBObjectStoreRequest.cpp
storage/IDBSuccessEvent.cpp
storage/IndexedDatabase.cpp
storage/IndexedDatabaseImpl.cpp
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 368c5d5..5a1a6c4 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,55130 +1,4885 @@
-2010-05-24 Sheriff Bot <webkit.review.bot@gmail.com>
+2010-06-01 Zoltan Herczeg <zherczeg@webkit.org>
- Unreviewed, rolling out r60068.
- http://trac.webkit.org/changeset/60068
- https://bugs.webkit.org/show_bug.cgi?id=39600
-
- "Causes fast/repaint/search-field-cancel to fail." (Requested
- by jparent on #webkit).
-
- * rendering/RenderObject.h:
- (WebCore::objectIsRelayoutBoundary):
-
-2010-05-24 Jeremy Orlow <jorlow@chromium.org>
-
- Unreviewed. Checked in merge error. :-(
-
- * CMakeLists.txt:
-
-2010-05-24 Steve Block <steveblock@google.com>
-
- Reviewed by Darin Adler.
-
- Geolocation causes DOMWindow to leak if position requests are in progress when the page is navigated away
- https://bugs.webkit.org/show_bug.cgi?id=39288
-
- Test: fast/dom/Geolocation/ongoing-request-leak.html
-
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::stopLoading): Stop all Geolocation instances. This call is made after the unload event has fired, so no new Geolocation activity is possible.
- * page/Geolocation.cpp:
- (WebCore::Geolocation::stop): Removes all ongoing requests and stops the service.
- (WebCore::Geolocation::disconnectFrame): Removed calls to stopUpdating() and stopTimers(), as this will already have been done in stop();
- * page/Geolocation.h: Added stop() method.
-
-2010-05-24 MORITA Hajime <morrita@google.com>
-
- Reviewed by Kent Tamura.
-
- Textarea shouldn't grow when you type.
- https://bugs.webkit.org/show_bug.cgi?id=32077
-
- <textarea> with percent-specified, height-related properties did
- cause partial-layout rooted from the renderer, that resulted
- different box height between full-layout and partial-layout. This
- is because calcHeight() assumes that the layout calculation of the
- RenderBlock's parent is ongoing. But this assumption is violated
- when the RenderBlock is root of the layout calculation.
-
- So we prevent such <textarea>'s RenderObjects from being layout
- root.
-
- Test: fast/forms/textarea-percentage-dimensions.html
-
- * rendering/RenderObject.h:
- (WebCore::objectIsRelayoutBoundary):
-
-2010-05-20 Jeremy Orlow <jorlow@chromium.org>
-
- Reviewed by Alexey Proskuryakov.
-
- Add DOMStringList idl, needed for IndexedDB and for HTML5 drag & drop
- https://bugs.webkit.org/show_bug.cgi?id=39429
-
- IndexedDB depends on DOMStringList.
- http://dev.w3.org/2006/webapi/WebSimpleDB/#idl-def-IDBDatabase
- It's currently specced here:
- http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList
-
- Existing tests cover the constructor. IndexedDB will also use this
- soon (and thus add test coverage).
-
- * Android.mk:
- * Android.derived.jscbindings.mk:
- * Android.derived.v8bindings.mk:
- * CMakeLists.txt:
- * DerivedSources.cpp:
- * DerivedSources.make:
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pri:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/scripts/CodeGeneratorJS.pm:
- * dom/DOMStringList.h: Added.
- (WebCore::DOMStringList::create):
- (WebCore::DOMStringList::length):
- (WebCore::DOMStringList::item):
- (WebCore::DOMStringList::isEmpty):
- (WebCore::DOMStringList::clear):
- (WebCore::DOMStringList::append):
- (WebCore::DOMStringList::DOMStringList):
- * dom/DOMStringList.idl: Added.
- * page/DOMWIndow.idl: Re-enabled constructor
-
-2010-05-23 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Alexey Proskuryakov.
-
- 0x5C of EUC-JP is not Yen Sign but U+005C
- https://bugs.webkit.org/show_bug.cgi?id=24906
-
- Tests: editing/selection/find-yensign-and-backslash-with-japanese-fonts.html
- fast/text/backslash-to-yen-sign-dynamic.html
- fast/text/backslash-to-yen-sign.html
-
- * GNUmakefile.am:
- * WebCore.gyp/WebCore.gyp:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.vcproj/WebCoreCommon.vsprops:
- * WebCore.xcodeproj/project.pbxproj:
- * platform/graphics/Font.cpp:
- (WebCore::Font::Font):
- (WebCore::Font::operator=):
- * platform/graphics/Font.h:
- (WebCore::Font::needsTranscoding):
- * platform/text/CharacterNames.h:
- * platform/text/transcoder/FontTranscoder.cpp: Added.
- (WebCore::FontTranscoder::FontTranscoder):
- (WebCore::FontTranscoder::converterType):
- (WebCore::FontTranscoder::convert):
- (WebCore::FontTranscoder::needsTranscoding):
- (WebCore::fontTranscoder):
- * platform/text/transcoder/FontTranscoder.h: Added.
- (WebCore::FontTranscoder::):
- * rendering/RenderText.cpp:
- (WebCore::RenderText::updateNeedsTranscoding):
- (WebCore::RenderText::styleDidChange):
- (WebCore::RenderText::setTextInternal):
-
-2010-05-23 MORITA Hajime <morrita@google.com>
-
- Unreviewed, rolling out r60060.
- http://trac.webkit.org/changeset/60060
- https://bugs.webkit.org/show_bug.cgi?id=32077
-
- breaks chromium test
-
- * rendering/RenderObject.h:
- (WebCore::objectIsRelayoutBoundary):
-
-2010-05-23 Justin Schuh <jschuh@chromium.org>
-
- Reviewed by Shinichiro Hamaji.
-
- Style cleanup for r56288
- https://bugs.webkit.org/show_bug.cgi?id=39554
-
- Cleaning up style from a previous patch. No tests needed because no
- logic is changed.
-
- * svg/SVGFEMorphologyElement.cpp:
- (WebCore::SVGFEMorphologyElement::build):
-
-2010-05-23 MORITA Hajime <morrita@google.com>
-
- Reviewed by Kent Tamura.
-
- Textarea shouldn't grow when you type.
- https://bugs.webkit.org/show_bug.cgi?id=32077
-
- <textarea> with percent-specified, height-related properties did
- cause partial-layout rooted from the renderer, that resulted
- different box height between full-layout and partial-layout. This
- is because calcHeight() assumes that the layout calculation of the
- RenderBlock's parent is ongoing. But this assumption is violated
- when the RenderBlock is root of the layout calculation.
-
- So we prevent such <textarea>'s RenderObjects from being layout
- root.
-
- Test: fast/forms/textarea-percentage-dimensions.html
-
- * rendering/RenderObject.h:
- (WebCore::objectIsRelayoutBoundary):
-
-2010-05-23 Sam Weinig <sam@webkit.org>
-
- Reviewed by Oliver Hunt.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=39575
- Make JS DOMObject inherit from JSObjectWithGlobalObject instead of JSObject
-
- - Changes JSDOMWindowShell to inherit from JSObject instead of
- DOMObject since it doesn't ever go into any DOMObject tables.
- In a separate change, we may want to make this inherit from
- JSObjectWithGlobalObject since JSDOMWindowShell does store a
- global object pointer.
- - Change DOMObject to inherit from JSObjectWithGlobalObject
- instead of JSObject. In this change I am keeping around
- DOMObjectWithGlobalPointer, which now just uses the capabilities
- of JSObjectWithGlobalObject instead of implementing them
- itself. DOMObjectWithGlobalPointer will go away in a subsequent
- patch.
-
- * bindings/js/JSDOMBinding.h:
- (WebCore::DOMObjectWithGlobalPointer::globalObject):
- (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):
- * bindings/js/JSDOMWindowShell.h:
- * bindings/js/JSDOMWrapper.h:
- (WebCore::DOMObject::DOMObject):
-
-2010-05-23 Eric Seidel <eric@webkit.org>
-
- Unreviewed, just being a copy/paste monkey. Oook, eeek.
-
- Add new HTML5TreeBuilder class to hold the tree builder section of the HTML5 parsing spec
- https://bugs.webkit.org/show_bug.cgi?id=39572
-
- Add HTML5TreeBuilder.* to each of WebKit's 85,324 build systems.
-
- * Android.mk:
- * CMakeLists.txt:
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
-
-2010-05-23 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Add new HTML5TreeBuilder class to hold the tree builder section of the HTML5 parsing spec
- https://bugs.webkit.org/show_bug.cgi?id=39572
-
- We've been working on the tokenization (lexing) section of the HTML5
- spec until now and leaning on the old HTMLParser for tree building.
- We need to start writing more of the tree building sections of the spec,
- but to do that we need a place to put the new code.
-
- This patch moves our old-to-new conversion hacks out of HTML5Tokenizer
- (our Tokenizer.h implementation) and into HTML5TreeBuilder.
- Follow-up patches will add new HTML5 tree building code to this file
- and will allow us to switch between old and new parser/treebuilder
- implementations.
-
- No change in behavior, thus no new tests.
-
- * WebCore.xcodeproj/project.pbxproj:
- * html/HTML5Tokenizer.cpp:
- (WebCore::HTML5Tokenizer::HTML5Tokenizer):
- (WebCore::HTML5Tokenizer::write):
- - Call the new HTML5TreeBuilder code.
- * html/HTML5Tokenizer.h:
- * html/HTML5TreeBuilder.cpp: Added.
- * html/HTML5TreeBuilder.h: Added.
-
-2010-05-23 Sam Weinig <sam@webkit.org>
-
- Reviewed by Oliver Hunt.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=39574
- Complete the merge of NamedMappedAttrMap into NamedNodeMap.
-
- * Android.mk:
- * CMakeLists.txt:
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * css/CSSStyleSelector.cpp:
- (WebCore::CSSStyleSelector::canShareStyleWithElement):
- (WebCore::CSSStyleSelector::styleForElement):
- * dom/Element.cpp:
- (WebCore::Element::createAttributeMap):
- * dom/NamedMappedAttrMap.cpp: Removed.
- * dom/NamedMappedAttrMap.h: Removed.
- * dom/NamedNodeMap.cpp:
- (WebCore::NamedNodeMap::setClass):
- (WebCore::NamedNodeMap::declCount):
- (WebCore::NamedNodeMap::mapsEquivalent):
- (WebCore::NamedNodeMap::mappedMapsEquivalent):
- * dom/NamedNodeMap.h:
- (WebCore::NamedNodeMap::create):
- (WebCore::NamedNodeMap::clearClass):
- (WebCore::NamedNodeMap::classNames):
- (WebCore::NamedNodeMap::hasMappedAttributes):
- (WebCore::NamedNodeMap::declRemoved):
- (WebCore::NamedNodeMap::declAdded):
- (WebCore::NamedNodeMap::NamedNodeMap):
- * dom/StyledElement.h:
- (WebCore::StyledElement::mappedAttributes):
- * html/HTML5Token.h:
- * html/HTML5Tokenizer.cpp:
- (WebCore::convertToOldStyle):
- * html/HTMLInputElement.cpp:
- (WebCore::HTMLInputElement::setInputType):
- * html/HTMLParser.cpp:
- (WebCore::HTMLParser::handleIsindex):
- * html/HTMLTokenizer.cpp:
- (WebCore::Token::addAttribute):
- (WebCore::HTMLTokenizer::processToken):
- * html/HTMLTokenizer.h:
- * html/HTMLViewSourceDocument.cpp:
- (WebCore::HTMLViewSourceDocument::createContainingTable):
- (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
- (WebCore::HTMLViewSourceDocument::addLine):
- (WebCore::HTMLViewSourceDocument::addLink):
-
-2010-05-23 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Teach HTML5 parser how to lex comments correctly
- https://bugs.webkit.org/show_bug.cgi?id=39537
-
- Implement the non-bogus comment states for the lexer. There's more
- work to do in some of these states (e.g., to handle doctype tokens and
- bogus comments), but I'm trying to keep the patches small.
-
- Tests: comments01.dat
-
- * html/HTML5Lexer.cpp:
- (WebCore::HTML5Lexer::nextToken):
- * html/HTML5Lexer.h:
- * html/HTML5Token.h:
- (WebCore::HTML5Token::beginComment):
- (WebCore::HTML5Token::appendToComment):
- (WebCore::HTML5Token::data):
- * html/HTML5Tokenizer.cpp:
- (WebCore::convertToOldStyle):
- * platform/text/SegmentedString.h:
- (WebCore::SegmentedString::):
- (WebCore::SegmentedString::peek):
- - Occationally, the HTML5 parsing algorithm looks ahead in the
- input stream. The implementation here is incomplete, but its
- enough to run the current HTML5 parsing tests. I'll eventually
- need to implement the slow case here.
-
-2010-05-23 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Make the html5lib parser tests run using the HTML5 parser
- https://bugs.webkit.org/show_bug.cgi?id=39533
-
- Turns out we're just one small tweak away from running the html5lib
- tests. After this patch lands, we should be able to introduce tests
- for every change to the HTML5 parser.
-
- Test: html5lib/webkit-runner.html
-
- * html/HTML5Lexer.cpp:
- (WebCore::HTML5Lexer::nextToken):
-
-2010-05-23 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Make HTML5 parser parse <script>alert("<hi>");</script>
- https://bugs.webkit.org/show_bug.cgi?id=39525
-
- More progress towards getting the html5lib test harness running. We
- need to parse script data in the ScriptDataState. The spec says the
- parser should set the lexer's state to ScriptDataState, but we want to
- keep using the existing parser for a while so I've added some temporary
- logic to HTML5Tokenizer to set the state in the lexer.
-
- To get this case running, I needed to flesh out a bunch of the
- ScriptDataState logic. There's a bunch more to do, but this is a
- start.
-
- I'm not 100% happy with this patch, but it lets us execute a simplified
- version of the test harness up to the point where it starts running the
- first test.
-
- * html/HTML5Lexer.cpp:
- (WebCore::HTML5Lexer::nextToken):
- (WebCore::HTML5Lexer::isAppropriateEndTag):
- (WebCore::HTML5Lexer::emitCurrentTagToken):
- * html/HTML5Lexer.h:
- (WebCore::HTML5Lexer::setState):
- * html/HTML5Token.h:
- (WebCore::HTML5Token::beginEndTag):
- (WebCore::HTML5Token::appendToCharacter):
- (WebCore::HTML5Token::name):
- * html/HTML5Tokenizer.cpp:
- (WebCore::HTML5Tokenizer::write):
-
-2010-05-23 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Simon Fraser.
-
- Limit the number of tiles created for large tiled layers
- https://bugs.webkit.org/show_bug.cgi?id=39522
-
- I added an algorithm to limit the number of tiles created to 512.
- It tried to limit them in only one dimension and if that's not
- possible it limits them in both dimensions according to the
- ratio of width to height. This has the effect of rendering
- tiles starting from the upper-left, which is often the part
- that is visible. So it both prevents crashing and tried to do
- the best job it can of displaying what the author intended.
-
- The test LayoutTests/compositing/geometry/huge-layers.html was
- crashing before this fix. Now it works correctly.
-
- * platform/graphics/win/WebTiledLayer.cpp:
- (WebCore::WebTiledLayer::WebTiledLayer):
- (WebCore::WebTiledLayer::setBounds):
- (WebCore::WebTiledLayer::constrainedSize):
- (WebCore::WebTiledLayer::updateTiles):
- * platform/graphics/win/WebTiledLayer.h:
-
-2010-05-23 Noam Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Using Accelerated Composing the rocket back animation on http://www.the-art-of-web.com/css/css-animation/ works differently as when not using AC.
- https://bugs.webkit.org/show_bug.cgi?id=39513
-
- The value of GraphicsLayer->transform() needs to be changed during the animation, regardless of m_fillsForward.
- m_fillsForward should only apply at the end of the animation. Based on previous patch by Kenneth Christiansen.
-
- * platform/graphics/qt/GraphicsLayerQt.cpp:
- (WebCore::TransformAnimationQt::applyFrame):
- (WebCore::OpacityAnimationQt::applyFrame):
-
-2010-05-23 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [Qt] GraphicsLayerQt: Coding style and comment fixes.
-
- * platform/graphics/qt/GraphicsLayerQt.cpp:
- (WebCore::MaskEffectQt::MaskEffectQt):
- (WebCore::MaskEffectQt::draw):
- (WebCore::GraphicsLayerQtImpl::ContentData::ContentData):
- (WebCore::GraphicsLayerQtImpl::State::State):
- (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
- (WebCore::GraphicsLayerQtImpl::~GraphicsLayerQtImpl):
- (WebCore::GraphicsLayerQtImpl::rootLayer):
- (WebCore::GraphicsLayerQtImpl::recache):
- (WebCore::GraphicsLayerQtImpl::updateTransform):
- (WebCore::GraphicsLayerQtImpl::opaqueArea):
- (WebCore::GraphicsLayerQtImpl::flushChanges):
- (WebCore::GraphicsLayerQtImpl::notifyAnimationStarted):
- (WebCore::GraphicsLayerQt::setNeedsDisplayInRect):
- (WebCore::GraphicsLayerQt::setContentsToImage):
- (WebCore::applyTimingFunction):
- (WebCore::AnimationQtBase::updateState):
- (WebCore::AnimationQt::AnimationQt):
- (WebCore::AnimationQt::updateCurrentTime):
- (WebCore::TransformAnimationQt::applyFrame):
- (WebCore::TransformAnimationQt::updateState):
- (WebCore::OpacityAnimationQt::OpacityAnimationQt):
- (WebCore::OpacityAnimationQt::applyFrame):
- (WebCore::GraphicsLayerQt::addAnimation):
- (WebCore::GraphicsLayerQt::removeAnimationsForProperty):
- (WebCore::GraphicsLayerQt::removeAnimationsForKeyframes):
- (WebCore::GraphicsLayerQt::pauseAnimation):
- (WebCore::GraphicsLayerQt::suspendAnimations):
- (WebCore::GraphicsLayerQt::resumeAnimations):
- * platform/graphics/qt/GraphicsLayerQt.h:
-
-2010-05-23 Justin Schuh <jschuh@chromium.org>
-
- Reviewed by Darin Adler.
-
- Remove custom binding for Attr.value
- https://bugs.webkit.org/show_bug.cgi?id=39499
-
- Custom bindings are no longer needed because origin checks were moved
- out of the bindings by: http://trac.webkit.org/changeset/59866
-
- * Android.v8bindings.mk:
- * WebCore.gypi:
- * bindings/js/JSAttrCustom.cpp:
- * bindings/v8/custom/V8AttrCustom.cpp: Removed.
- * dom/Attr.idl:
-
-2010-05-23 Grace Kloba <klobag@gmail.com>
-
- Reviewed by Nate Chapin.
-
- Match the call of scheduleLocationChange() to its correct signature.
- Fixes <http://webkit.org/b/39452>
-
- The call of scheduleLocationChange() in generic and v8 bindings assuming the
- fourth parameter is "usergesture". But it is actually the fifth parameter.
-
- No new features. No new tests.
-
- * bindings/generic/BindingDOMWindow.h:
- (WebCore::::createWindow):
- * bindings/v8/custom/V8DOMWindowCustom.cpp:
- (WebCore::V8DOMWindow::openCallback):
-
-2010-05-23 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Reduce copy/paste code in HTMLParser using some template functions
- https://bugs.webkit.org/show_bug.cgi?id=39471
-
- No functional changes, thus no tests.
-
- * html/HTMLParser.cpp:
- (WebCore::addTags):
- - New function which takes a set an an array of QualifiedNames
- and adds the localName().impl() to the set for each QualifiedName.
- (WebCore::isTablePart):
- (WebCore::isScopingTag):
- (WebCore::mapTagToFunc):
- (WebCore::mapTagsToFunc):
- - New functions which take QualifiedNames and a function and map from the
- localName().impl() to the function.
- (WebCore::HTMLParser::getNode):
- (WebCore::HTMLParser::isHeadingTag):
- (WebCore::HTMLParser::isResidualStyleTag):
- (WebCore::HTMLParser::isAffectedByResidualStyle):
-
-2010-05-22 Julie Parent <jparent@chromium.org>
-
- Reviewed by Adam Barth.
-
- REGRESSION: xssAuditor tests failing in Chromium.
- https://bugs.webkit.org/show_bug.cgi?id=39560
-
- Follow up to r0014. Make if statement in V8 bindings match the one from jsc version.
-
- * bindings/v8/ScriptController.cpp:
- (WebCore::ScriptController::evaluate):
-
-2010-05-22 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Mark Rowe.
-
- REGRESSION(r59977): platform/mac/fast/AppleScript/001.html failure
- https://bugs.webkit.org/show_bug.cgi?id=39531
-
- Revert r59977 and r59943. These changes caused some exceptions to no longer be
- reported in the inspector; I can't tell what they were originally trying to fix
- so I am not sure how to fix them other than by reverting.
-
- Covered by existing test platform/mac/fast/AppleScript/001.html, and
- also added fast/dom/nested-script-exceptions.html to demonstrate the wider
- consequences of the original change.
-
- * bindings/js/ScriptController.cpp:
- (WebCore::ScriptController::ScriptController):
- (WebCore::ScriptController::evaluateInWorld):
- * bindings/js/ScriptController.h:
-
-2010-05-22 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Add DragData
- https://bugs.webkit.org/show_bug.cgi?id=39469
-
- As BREW MP does not support dragging, add dummy implementation of DragData.
-
- * platform/DragData.h:
- * platform/brew/DragDataBrew.cpp: Added.
- (WebCore::DragData::canSmartReplace):
- (WebCore::DragData::containsColor):
- (WebCore::DragData::containsPlainText):
- (WebCore::DragData::asPlainText):
- (WebCore::DragData::asColor):
- (WebCore::DragData::createClipboard):
- (WebCore::DragData::containsCompatibleContent):
- (WebCore::DragData::containsURL):
- (WebCore::DragData::asURL):
- (WebCore::DragData::asFragment):
- (WebCore::DragData::asFilenames):
- (WebCore::DragData::containsFiles):
-
-2010-05-22 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Add dummy Icon
- https://bugs.webkit.org/show_bug.cgi?id=39468
-
- Add dummy implementation of Icon.
-
- * platform/graphics/brew/IconBrew.cpp: Added.
- (WebCore::Icon::~Icon):
- (WebCore::Icon::createIconForFiles):
- (WebCore::Icon::paint):
-
-2010-05-22 Justin Schuh <jschuh@chromium.org>
-
- Reviewed by Nate Chapin.
-
- Remove and simplify custom bindings for Node
- https://bugs.webkit.org/show_bug.cgi?id=39467
-
- Custom bindings for nodeValue and textContent are no longer needed,
- and child manipulators are simplified because origin checks were moved
- out of the bindings by: http://trac.webkit.org/changeset/59866
-
- * bindings/js/JSNodeCustom.cpp:
- (WebCore::JSNode::insertBefore):
- (WebCore::JSNode::replaceChild):
- (WebCore::JSNode::removeChild):
- (WebCore::JSNode::appendChild):
- * bindings/v8/custom/V8NodeCustom.cpp:
- (WebCore::V8Node::insertBeforeCallback):
- (WebCore::V8Node::replaceChildCallback):
- (WebCore::V8Node::removeChildCallback):
- (WebCore::V8Node::appendChildCallback):
- * dom/Node.idl:
-
-2010-05-22 Justin Schuh <jschuh@chromium.org>
-
- Reviewed by Nate Chapin.
-
- Remove custom bindings for NamedNodeMap.setNamedItem and .setNamedItemNS
- https://bugs.webkit.org/show_bug.cgi?id=39462
-
- Custom bindings are no longer needed because origin checks were moved
- out of the bindings by: http://trac.webkit.org/changeset/59866
-
- Behavior isn't changed and is covered by existing tests.
-
- * bindings/js/JSNamedNodeMapCustom.cpp:
- * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
- * dom/NamedNodeMap.idl:
-
-2010-05-22 Daniel Bates <dbates@rim.com>
-
- No review, rolling out 60017.
- http://trac.webkit.org/changeset/60017
- https://bugs.webkit.org/show_bug.cgi?id=39339
-
- Rolling out since this broke the build on the Windows and Qt bots.
- Need to look into this some more.
-
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/ScriptControllerBase.h: Removed.
- * bindings/js/ScriptController.h:
- (WebCore::):
- * bindings/v8/ScriptController.h:
- (WebCore::):
-
-2010-05-22 Daniel Bates <dbates@rim.com>
-
- Reviewed by Darin Adler.
-
- Move enum ReasonForCallingCanExecuteScripts to header ScriptControllerBase.h
- https://bugs.webkit.org/show_bug.cgi?id=39339
-
- Moved the enum ReasonForCallingCanExecuteScripts and ShouldAllowXSS, which
- was defined in both the JSC and V8 ScriptController.h file, into a shared
- file called ScriptControllerBase.h.
-
- No functionality was changed, so no new tests.
-
- * GNUmakefile.am: Added file bindings/ScriptControllerBase.h.
- * WebCore.gypi: Ditto.
- * WebCore.pro: Ditto.
- * WebCore.vcproj/WebCore.vcproj: Ditto.
- * WebCore.xcodeproj/project.pbxproj: Ditto.
- * bindings/ScriptControllerBase.h: Added.
- (WebCore::):
- * bindings/js/ScriptController.h: #include ScriptControllerBase.h
- * bindings/v8/ScriptController.h: Ditto.
-
-2010-05-22 Yong Li <yoli@rim.com>
-
- Reviewed by Darin Adler.
-
- Fix a crash when XHTMLMP is enabled. The frame pointer in Document
- ctor can be null.
- https://bugs.webkit.org/show_bug.cgi?id=39448
-
- No new tests because it is obvious and it must be reproduced with
- XHTMLMP enabled.
-
- * dom/Document.cpp:
- (WebCore::Document::Document):
-
-2010-05-22 Daniel Bates <dbates@rim.com>
-
- Reviewed by Adam Barth.
-
- REGRESSION (r56295): Can't create a new wave on Google Wave
- https://bugs.webkit.org/show_bug.cgi?id=39249
-
- Instead of just using the source code portion of a JavaScript URL to
- detect an XSS attack, we now include the JavaScript URL schema. This
- reduces the chance of a false positive by providing additional context.
-
- Test: http/tests/security/xssAuditor/javascript-link-safe.html
-
- * WebCore.base.exp: Updated exported symbols as necessary.
- * bindings/ScriptControllerBase.cpp:
- (WebCore::ScriptController::executeScript): Added parameter shouldAllowXSS.
- (WebCore::ScriptController::executeIfJavaScriptURL): Ditto.
- * bindings/js/ScriptController.cpp:
- (WebCore::ScriptController::evaluateInWorld): Ditto.
- (WebCore::ScriptController::evaluate): Ditto.
- (WebCore::ScriptController::executeScriptInWorld): Ditto.
- * bindings/js/ScriptController.h: Added enum ShouldAllowXSS.
- (WebCore::):
- * bindings/v8/ScriptController.cpp:
- (WebCore::ScriptController::evaluate): Added parameter shouldAllowXSS.
- * bindings/v8/ScriptController.h: Added enum ShouldAllowXSS.
- (WebCore::):
-
-2010-05-22 Jeremy Moskovich <jeremy@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Document RenderObject::m_hasOverflowClip.
-
- https://bugs.webkit.org/show_bug.cgi?id=39425
-
- No new functionality, so no new tests.
-
- * rendering/RenderObject.h:
-
-2010-05-22 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Add DragController
- https://bugs.webkit.org/show_bug.cgi?id=39400
-
- Add DragController for BREW MP.
-
- * page/brew/DragControllerBrew.cpp: Added.
- (WebCore::DragController::isCopyKeyDown):
- (WebCore::DragController::dragOperation):
- (WebCore::DragController::maxDragImageSize):
- (WebCore::DragController::cleanupAfterSystemDrag):
-
-2010-05-22 Leandro Pereira <leandro@profusion.mobi>
-
- Reviewed by Eric Seidel.
-
- [EFL] Build fix (update source code lists).
- http://webkit.org/b/39235
-
- * CMakeLists.txt:
-
-2010-05-22 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] webkit_web_view_drag_end should call EventHandler::dragSourceEndedAt
- https://bugs.webkit.org/show_bug.cgi?id=39465
-
- Added a helper function for converting a GDK action bitmask into a DragOperation bitmask.
-
- No new tests as behavior has not changed.
-
- * platform/gtk/ClipboardUtilitiesGtk.cpp:
- (WebCore::gdkDragActionToDragOperation): Added.
- * platform/gtk/ClipboardUtilitiesGtk.h:
-
-2010-05-22 Patrick Gansterer <paroga@paroga.com>
-
- Reviewed by Eric Seidel.
-
- [Qt] Cleanup SharedBuffer::createWithContentsOfFile
- https://bugs.webkit.org/show_bug.cgi?id=38917
-
- * platform/qt/SharedBufferQt.cpp:
- (WebCore::SharedBuffer::createWithContentsOfFile):
-
-2010-05-22 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
+ Reviewed by Dirk Schulze.
- [GTK] WebKit/gtk/WebCoreSupport/DragClientGtk::startDrag should use the Clipboard::sourceOperation
- https://bugs.webkit.org/show_bug.cgi?id=39459
+ Make the spot light anti-alias effect look similar to SVG expected values.
+ https://bugs.webkit.org/show_bug.cgi?id=39477
- Add ClipboardUtilitiesGtk, a container for GTK+/WebCore clipboard utility functions.
- Initially add a function which converts a WebCore::DragOperation to a bitmask of
- GdkDragActions.
+ The W3 standard only mention, that the edge of the spotlight should be
+ anti-aliased but it does not specify how. The provided expected values
+ gives some hint about their intentions. The algorithm uses a fixed
+ range, which computed as follows: let a = cos(spot light cutoff range)
+ the light fades off in the [a-0.016, a] range.
- No new tests, because behavior has not changed.
+ Test: svg/W3C-SVG-1.1/filters-light-04-f.svg
+ Updated pixel test: svg/W3C-SVG-1.1/filters-light-01-f.svg
- * GNUmakefile.am:
- * platform/gtk/ClipboardUtilitiesGtk.cpp: Added.
- (WebCore::dragOperationToGdkDragActions): Added.
- * platform/gtk/ClipboardUtilitiesGtk.h: Added.
+ * svg/graphics/filters/SVGLightSource.cpp:
+ (WebCore::SpotLightSource::initPaintingData):
-2010-05-21 Adam Barth <abarth@webkit.org>
+2010-05-31 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
- Parse attributes with HTML5 lexer
- https://bugs.webkit.org/show_bug.cgi?id=39520
+ Fix default action for EndTagOpenState
+ https://bugs.webkit.org/show_bug.cgi?id=39982
- This patch lets the HTML5 lexer parse attributes, as in
- <div attr="foo"></div>. This patch is on the critical path to running
- the html5lib tests.
-
- * html/HTML5Lexer.cpp:
- (WebCore::HTML5Lexer::nextToken):
- * html/HTML5Lexer.h:
- * html/HTML5Token.h:
- (WebCore::HTML5Token::beginStartTag):
- (WebCore::HTML5Token::beginEndTag):
- (WebCore::HTML5Token::addNewAttribute):
- (WebCore::HTML5Token::appendToAttributeName):
- (WebCore::HTML5Token::appendToAttributeValue):
- (WebCore::HTML5Token::attributes):
- * html/HTML5Tokenizer.cpp:
- (WebCore::convertToOldStyle):
+ Add a test for a bogus end tag to webkit01.dat and update expected
+ results now that we pass some more tests.
-2010-05-21 Mark Rowe <mrowe@apple.com>
+ Adding this test revealed a bug in resuming the bogus comment state.
+ I've left these broken expectations, but I'll fix the bug in a future
+ patch. (The bug existed prior to this patch, just not the test.)
- 60,000!
+ * html5lib/resources/webkit01.dat:
+ * html5lib/runner-expected-html5.txt:
+ * html5lib/webkit-resumer-expected-html5.txt:
- * ChangeLog: Point out revision 60,000.
+2010-05-31 Lyon Chen <liachen@rim.com>
-2010-05-21 David Hyatt <hyatt@apple.com>
+ Reviewed by Kent Tamura.
- Reviewed by Dan Bernstein.
+ Enum value FORWARD, BACKWARD, RIGHT, LEFT are causing macro conflicts.
+ https://bugs.webkit.org/show_bug.cgi?id=35530
- Preparation for support of column-span, which will be implemented using continuations. When a block splits an inline, a
- continuation chain is created of the form inline -> anonymous block -> inline. The middle block is always anonymous. When a column-span
- splits the blocks in a multi-column block, it will create a similar chain: block -> anonymous block -> block. Enclosing split elements
- directly connect to their continuations, so their chains will look like inline -> inline or block -> block.
-
- This patch changes the member variable in RenderBlock, m_inlineContinuation, to simply be m_continuation and loosens up the type on it
- to RenderBoxModelObject. This reflects the fact that the continuation of the block can now be another block and isn't always simply an inline.
-
- Some renames have been done for cleanup:
- isInlineContinuation -> isInlineElementContinuation to emphasize that this is a split non-anonymous element.
- inlineContinuation -> inlineElementContinuation, again to emphasize that the inline is not anonymous.
-
- Some new methods have been added:
- isBlockElementContinuation - just like isInlineElementContinuation but for split block elements.
- blockElementContinuation - just like inlineElementContinuation but for split block elements.
- virtualContinuation - A way to just walk an entire continuation chain of mixed types (blocks and inlines) using their common base class.
- isAnonymousBlockContinuation - A method for asking if a RenderBlock is an anonymous block in the continuation chain (the guy in the middle).
-
- Code that was specific to the anonymous blocks in a continuation chain has been patched to ask isAnonymousBlockContinuation, so that it won't
- incorrectly apply to non-anonymous blocks in the future. Where possible, code that really didn't care about being an inline vs. a block has
- been broadened so that it will work with block continuations as well.
+ Change enum EAlteration from { MOVE, EXTEND } to { AlterationMove, AlterationExtend } and enum EDirection { FORWARD, BACKWARD, RIGHT, LEFT} to { DirectionForward, DirectionBackward, DirectionRight, DirectionLeft } to avoid macro conflict, and also better coding style conformance.
* accessibility/AccessibilityRenderObject.cpp:
- (WebCore::lastChildConsideringContinuation):
- (WebCore::startOfContinuations):
- (WebCore::endOfContinuations):
- (WebCore::childBeforeConsideringContinuations):
- (WebCore::firstChildIsInlineContinuation):
- (WebCore::AccessibilityRenderObject::nextSibling):
- (WebCore::AccessibilityRenderObject::anchorElement):
- * rendering/InlineFlowBox.cpp:
- (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
- (WebCore::InlineFlowBox::paint):
- * rendering/RenderBlock.cpp:
- (WebCore::RenderBlock::RenderBlock):
- (WebCore::RenderBlock::destroy):
- (WebCore::RenderBlock::removeLeftoverAnonymousBlock):
- (WebCore::RenderBlock::removeChild):
- (WebCore::RenderBlock::paintObject):
- (WebCore::RenderBlock::inlineElementContinuation):
- (WebCore::RenderBlock::blockElementContinuation):
- (WebCore::RenderBlock::addContinuationWithOutline):
- (WebCore::RenderBlock::absoluteRects):
- (WebCore::RenderBlock::absoluteQuads):
- (WebCore::RenderBlock::rectWithOutlineForRepaint):
- (WebCore::RenderBlock::hoverAncestor):
- (WebCore::RenderBlock::updateDragState):
- (WebCore::RenderBlock::outlineStyleForRepaint):
- (WebCore::RenderBlock::updateHitTestResult):
- (WebCore::RenderBlock::addFocusRingRects):
- * rendering/RenderBlock.h:
- (WebCore::RenderBlock::continuation):
- (WebCore::RenderBlock::setContinuation):
- (WebCore::RenderBlock::virtualContinuation):
- (WebCore::RenderBlock::isAnonymousBlockContinuation):
- * rendering/RenderInline.cpp:
- (WebCore::RenderInline::inlineElementContinuation):
- (WebCore::RenderInline::styleDidChange):
- (WebCore::nextContinuation):
- (WebCore::RenderInline::splitInlines):
- (WebCore::RenderInline::positionForPoint):
- (WebCore::RenderInline::updateHitTestResult):
- * rendering/RenderInline.h:
- (WebCore::RenderInline::setContinuation):
- (WebCore::RenderInline::virtualContinuation):
- * rendering/RenderObject.cpp:
- (WebCore::RenderObject::getTextDecorationColors):
- * rendering/RenderObject.h:
- (WebCore::RenderObject::isElementContinuation):
- (WebCore::RenderObject::isInlineElementContinuation):
- (WebCore::RenderObject::isBlockElementContinuation):
- (WebCore::RenderObject::virtualContinuation):
- * rendering/RenderObjectChildList.cpp:
- (WebCore::RenderObjectChildList::updateBeforeAfterContent):
- * rendering/RenderRubyBase.cpp:
- (WebCore::RenderRubyBase::moveBlockChildren):
-
-2010-05-21 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Teach WebKit2 to build in the Production configuration.
-
- * Configurations/WebCore.xcconfig: Pass -allowable_client to the linker in all configurations.
-
-2010-05-21 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Simon Fraser.
-
- Implement tiled compositing layers on Windows
- https://bugs.webkit.org/show_bug.cgi?id=39461
-
- This adds a tiling implementation similar (from a GraphicsLayer standpoint)
- to the one for Mac. But where Mac uses the existing CATiledLayer, I've had
- to implement one. If a layer is greater then 2k x 2k, I split it into an
- array of 512 x 512 tiles. These tiles are positioned in the correct place
- for the TiledLayer's content. When setNeedsDisplay is called on the TiledLayer
- the tiles' setNeedDisplay methods are called. Each tile clips and positions the
- CGContext appropriately and then renders the layer.
-
- I also got rid of all frame()/setFrame() API to reduce the number of calls to
- override for tiling.
-
- Much optimization is possible. Most significantly right now all tiles are
- rendered whether visible or not. We need to only render tiles that are
- currently visible.
-
- Tests: compositing/huge-layer-add-remove-child.html
- compositing/huge-layer-resize.html
- compositing/huge-layer-with-layer-children-resize.html
- compositing/huge-layer-with-layer-children.html
- compositing/huge-layer.html
-
- * WebCore.vcproj/WebCore.vcproj:
- * platform/graphics/win/GraphicsLayerCACF.cpp: Added tiling code similar to GraphicsLayerCA
- (WebCore::GraphicsLayerCACF::requiresTiledLayer):
- (WebCore::GraphicsLayerCACF::swapFromOrToTiledLayer):
- (WebCore::GraphicsLayerCACF::updateLayerSize):
- (WebCore::GraphicsLayerCACF::updateLayerDrawsContent):
- * platform/graphics/win/GraphicsLayerCACF.h:
- * platform/graphics/win/WKCACFLayer.cpp: Made some methods virtual so WebTiledLayer can override.
- Also added sublayer setting and manipulation methods needed for tiling
- (WebCore::WKCACFLayer::addSublayer):
- (WebCore::WKCACFLayer::internalInsertSublayer):
- (WebCore::WKCACFLayer::insertSublayerAboveLayer):
- (WebCore::WKCACFLayer::insertSublayerBelowLayer):
- (WebCore::WKCACFLayer::replaceSublayer):
- (WebCore::WKCACFLayer::internalSublayerCount):
- (WebCore::WKCACFLayer::adoptSublayers):
- (WebCore::WKCACFLayer::internalSublayerAtIndex):
- (WebCore::WKCACFLayer::internalIndexOfSublayer):
- (WebCore::WKCACFLayer::internalRemoveAllSublayers):
- (WebCore::WKCACFLayer::internalSetSublayers):
- (WebCore::WKCACFLayer::internalSetNeedsDisplay):
- (WebCore::WKCACFLayer::printLayer):
- * platform/graphics/win/WKCACFLayer.h:
- (WebCore::WKCACFLayer::setNeedsDisplay):
- (WebCore::WKCACFLayer::removeAllSublayers):
- (WebCore::WKCACFLayer::setSublayers):
- (WebCore::WKCACFLayer::insertSublayer):
- (WebCore::WKCACFLayer::sublayerCount):
- * platform/graphics/win/WKCACFLayerRenderer.cpp: Fix a crash exposed when tiling code is active
- (WebCore::WKCACFLayerRenderer::createRenderer):
- (WebCore::WKCACFLayerRenderer::destroyRenderer):
- (WebCore::WKCACFLayerRenderer::resize):
- * platform/graphics/win/WebLayer.cpp: Added. Split this out from GraphicsLayerCACF so it could be subclassed by WebTiledLayer
- (WebCore::WebLayer::internalSetNeedsDisplay):
- (WebCore::WebLayer::drawInContext):
- * platform/graphics/win/WebLayer.h: Added.
- (WebCore::WebLayer::create):
- (WebCore::WebLayer::WebLayer):
- * platform/graphics/win/WebTiledLayer.cpp: Added. Where all the tile construction and rendering is done
- (WebCore::WebTiledLayer::tileDisplayCallback):
- (WebCore::WebTiledLayer::create):
- (WebCore::WebTiledLayer::WebTiledLayer):
- (WebCore::WebTiledLayer::~WebTiledLayer):
- (WebCore::WebTiledLayer::setBounds):
- (WebCore::WebTiledLayer::internalSetNeedsDisplay):
- (WebCore::WebTiledLayer::internalSublayerCount):
- (WebCore::WebTiledLayer::internalRemoveAllSublayers):
- (WebCore::WebTiledLayer::internalSetSublayers):
- (WebCore::WebTiledLayer::internalInsertSublayer):
- (WebCore::WebTiledLayer::internalSublayerAtIndex):
- (WebCore::WebTiledLayer::internalIndexOfSublayer):
- (WebCore::WebTiledLayer::addTile):
- (WebCore::WebTiledLayer::removeTile):
- (WebCore::WebTiledLayer::tileAtIndex):
- (WebCore::WebTiledLayer::tileCount):
- (WebCore::WebTiledLayer::updateTiles):
- (WebCore::WebTiledLayer::drawTile):
- * platform/graphics/win/WebTiledLayer.h: Added.
-
-2010-05-21 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler.
-
- Fixed a typo in my last commit: Reset m_inEvaluateInWorld to
- wasInEvaluateInWorld, rather than false, to avoid stomping the old value
- when it's true.
- https://bugs.webkit.org/show_bug.cgi?id=39518
-
- * bindings/js/ScriptController.cpp:
- (WebCore::ScriptController::evaluateInWorld):
-
-2010-05-21 David Hyatt <hyatt@apple.com>
-
- Reviewed by Dan Bernstein.
-
- https://bugs.webkit.org/show_bug.cgi?id=39516, back end support for column-span property.
-
- * css/CSSComputedStyleDeclaration.cpp:
- (WebCore::):
- (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
- * css/CSSParser.cpp:
- (WebCore::CSSParser::parseValue):
- * css/CSSPropertyNames.in:
- * css/CSSStyleSelector.cpp:
- (WebCore::CSSStyleSelector::applyProperty):
- * rendering/style/RenderStyle.h:
- (WebCore::InheritedFlags::columnSpan):
- (WebCore::InheritedFlags::setColumnSpan):
- (WebCore::InheritedFlags::initialColumnSpan):
- * rendering/style/StyleMultiColData.cpp:
- (WebCore::StyleMultiColData::StyleMultiColData):
- (WebCore::StyleMultiColData::operator==):
- * rendering/style/StyleMultiColData.h:
-
-2010-05-21 Jer Noble <jer.noble@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Disable full-screen video on Windows
- https://bugs.webkit.org/show_bug.cgi?id=39506
- rdar://problem/8012516
-
- Disable full-screen video through MediaPlayerPrivateVisualContext since
- we no longer use GWorlds and QuickTime's built in full-screen support.
-
- Media layout tests updated with new expected results.
-
- * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
- (WebCore::MediaPlayerPrivateQuickTimeVisualContext::supportsFullscreen):
-
-2010-05-21 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Avoid creating huge tiled layers with accelerated compositing
- https://bugs.webkit.org/show_bug.cgi?id=39515
-
- Constrain the size of huge composited layers, to avoid bad behavior. We only
- need to do this if we detect that we need a tiled layer, since we'll make tiled
- layers for elements over a certain size that need to draw already.
-
- Constrain the size by attempting to shrink the longer dimension first.
-
- Test: compositing/geometry/huge-layer.html
-
- * platform/graphics/mac/GraphicsLayerCA.h:
- * platform/graphics/mac/GraphicsLayerCA.mm:
- (WebCore::GraphicsLayerCA::updateLayerPosition):
- (WebCore::GraphicsLayerCA::updateLayerSize):
- (WebCore::GraphicsLayerCA::constrainedSize):
-
-2010-05-21 David Hyatt <hyatt@apple.com>
-
- Reviewed by Dan Bernstein.
-
- https://bugs.webkit.org/show_bug.cgi?id=39420, :visited not working with background-color.
-
- Make the RenderStyle color accessors private. This forces callers to use visitedDependentColor
- instead (or to make the decision to become friends of the RenderStyle class in order to get access
- to the real style information).
-
- Modified history/self-is-visited.html to also test background colors.
-
- * WebCore.base.exp:
- * accessibility/AccessibilityTable.cpp:
- (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
- * accessibility/mac/AccessibilityObjectWrapper.mm:
- (AXAttributeStringSetStyle):
- * css/CSSComputedStyleDeclaration.cpp:
- (WebCore::CSSComputedStyleDeclaration::currentColorOrValidColor):
- * css/CSSComputedStyleDeclaration.h:
- * css/SVGCSSStyleSelector.cpp:
- (WebCore::colorFromSVGColorCSSValue):
- * editing/ApplyStyleCommand.cpp:
- (WebCore::ApplyStyleCommand::editingStyleAtPosition):
- (WebCore::prepareEditingStyleToApplyAt):
- (WebCore::removeStylesAddedByNode):
- (WebCore::fontColorChangesComputedStyle):
- (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
- * editing/ApplyStyleCommand.h:
- (WebCore::):
- * editing/CompositeEditCommand.cpp:
- (WebCore::CompositeEditCommand::moveParagraphs):
- (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
- * editing/DeleteButtonController.cpp:
- (WebCore::isDeletableElement):
- * editing/DeleteSelectionCommand.cpp:
- (WebCore::DeleteSelectionCommand::saveTypingStyleState):
- * editing/InsertParagraphSeparatorCommand.cpp:
- (WebCore::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion):
- * editing/RemoveFormatCommand.cpp:
- (WebCore::RemoveFormatCommand::doApply):
- * editing/ReplaceSelectionCommand.cpp:
- (WebCore::handleStyleSpansBeforeInsertion):
- (WebCore::ReplaceSelectionCommand::handleStyleSpans):
- (WebCore::ReplaceSelectionCommand::doApply):
+ (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine):
+ (WebCore::AccessibilityRenderObject::doAXRangeForLine):
+ * editing/Editor.cpp:
+ (WebCore::Editor::deleteWithDirection):
+ (WebCore::Editor::markMisspellingsAfterTypingToPosition):
+ (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
+ * editing/EditorCommand.cpp:
+ (WebCore::executeDeleteBackward):
+ (WebCore::executeDeleteBackwardByDecomposingPreviousCharacter):
+ (WebCore::executeDeleteForward):
+ (WebCore::executeDeleteToBeginningOfLine):
+ (WebCore::executeDeleteToBeginningOfParagraph):
+ (WebCore::executeDeleteToEndOfLine):
+ (WebCore::executeDeleteToEndOfParagraph):
+ (WebCore::executeDeleteWordBackward):
+ (WebCore::executeDeleteWordForward):
+ (WebCore::executeForwardDelete):
+ (WebCore::executeMoveBackward):
+ (WebCore::executeMoveBackwardAndModifySelection):
+ (WebCore::executeMoveDown):
+ (WebCore::executeMoveDownAndModifySelection):
+ (WebCore::executeMoveForward):
+ (WebCore::executeMoveForwardAndModifySelection):
+ (WebCore::executeMoveLeft):
+ (WebCore::executeMoveLeftAndModifySelection):
+ (WebCore::executeMovePageDown):
+ (WebCore::executeMovePageDownAndModifySelection):
+ (WebCore::executeMovePageUp):
+ (WebCore::executeMovePageUpAndModifySelection):
+ (WebCore::executeMoveRight):
+ (WebCore::executeMoveRightAndModifySelection):
+ (WebCore::executeMoveToBeginningOfDocument):
+ (WebCore::executeMoveToBeginningOfDocumentAndModifySelection):
+ (WebCore::executeMoveToBeginningOfLine):
+ (WebCore::executeMoveToBeginningOfLineAndModifySelection):
+ (WebCore::executeMoveToBeginningOfParagraph):
+ (WebCore::executeMoveToBeginningOfParagraphAndModifySelection):
+ (WebCore::executeMoveToBeginningOfSentence):
+ (WebCore::executeMoveToBeginningOfSentenceAndModifySelection):
+ (WebCore::executeMoveToEndOfDocument):
+ (WebCore::executeMoveToEndOfDocumentAndModifySelection):
+ (WebCore::executeMoveToEndOfSentence):
+ (WebCore::executeMoveToEndOfSentenceAndModifySelection):
+ (WebCore::executeMoveToEndOfLine):
+ (WebCore::executeMoveToEndOfLineAndModifySelection):
+ (WebCore::executeMoveToEndOfParagraph):
+ (WebCore::executeMoveToEndOfParagraphAndModifySelection):
+ (WebCore::executeMoveParagraphBackwardAndModifySelection):
+ (WebCore::executeMoveParagraphForwardAndModifySelection):
+ (WebCore::executeMoveUp):
+ (WebCore::executeMoveUpAndModifySelection):
+ (WebCore::executeMoveWordBackward):
+ (WebCore::executeMoveWordBackwardAndModifySelection):
+ (WebCore::executeMoveWordForward):
+ (WebCore::executeMoveWordForwardAndModifySelection):
+ (WebCore::executeMoveWordLeft):
+ (WebCore::executeMoveWordLeftAndModifySelection):
+ (WebCore::executeMoveWordRight):
+ (WebCore::executeMoveWordRightAndModifySelection):
+ (WebCore::executeMoveToLeftEndOfLine):
+ (WebCore::executeMoveToLeftEndOfLineAndModifySelection):
+ (WebCore::executeMoveToRightEndOfLine):
+ (WebCore::executeMoveToRightEndOfLineAndModifySelection):
* editing/SelectionController.cpp:
- (WebCore::SelectionController::paintCaret):
- * editing/markup.cpp:
- (WebCore::createMarkup):
- * page/animation/AnimationBase.cpp:
- (WebCore::AnimationBase::ensurePropertyMap):
- * page/animation/AnimationBase.h:
- * page/mac/FrameMac.mm:
- (WebCore::Frame::fontAttributesForSelectionStart):
- * rendering/EllipsisBox.cpp:
- (WebCore::EllipsisBox::paint):
- (WebCore::EllipsisBox::paintSelection):
- * rendering/InlineTextBox.cpp:
- (WebCore::InlineTextBox::paint):
- * rendering/RenderBox.cpp:
- (WebCore::RenderBox::styleDidChange):
- (WebCore::RenderBox::paintRootBoxDecorations):
- (WebCore::RenderBox::paintBoxDecorationsWithSize):
- * rendering/RenderBoxModelObject.cpp:
- (WebCore::RenderBoxModelObject::paintBoxShadow):
- * rendering/RenderFieldset.cpp:
- (WebCore::RenderFieldset::paintBoxDecorations):
- * rendering/RenderFileUploadControl.cpp:
- (WebCore::RenderFileUploadControl::paintObject):
- * rendering/RenderFrameSet.cpp:
- (WebCore::RenderFrameSet::paintColumnBorder):
- (WebCore::RenderFrameSet::paintRowBorder):
- * rendering/RenderImage.cpp:
- (WebCore::RenderImage::paintReplaced):
- * rendering/RenderLayerBacking.cpp:
- (WebCore::RenderLayerBacking::rendererBackgroundColor):
- * rendering/RenderLayerBacking.h:
- * rendering/RenderListBox.cpp:
- (WebCore::RenderListBox::paintItemForeground):
- (WebCore::RenderListBox::paintItemBackground):
- * rendering/RenderListMarker.cpp:
- (WebCore::RenderListMarker::paint):
- * rendering/RenderMenuList.cpp:
- (WebCore::RenderMenuList::itemStyle):
- (WebCore::RenderMenuList::itemBackgroundColor):
- (WebCore::RenderMenuList::menuStyle):
- * rendering/RenderObject.cpp:
- (WebCore::RenderObject::selectionBackgroundColor):
- (WebCore::RenderObject::selectionForegroundColor):
- * rendering/RenderSVGResource.cpp:
- (WebCore::RenderSVGResource::adjustColorForPseudoRules):
- (WebCore::RenderSVGResource::fillPaintingResource):
- (WebCore::RenderSVGResource::strokePaintingResource):
- * rendering/RenderSVGResource.h:
- * rendering/RenderTable.cpp:
- (WebCore::RenderTable::paintBoxDecorations):
- * rendering/RenderTable.h:
- (WebCore::RenderTable::bgColor):
- * rendering/RenderTableCell.cpp:
- (WebCore::RenderTableCell::paintBackgroundsBehindCell):
- * rendering/RenderTextControl.cpp:
- (WebCore::RenderTextControl::adjustInnerTextStyle):
- * rendering/RenderTextControlSingleLine.cpp:
- (WebCore::RenderTextControlSingleLine::menuStyle):
- * rendering/RenderTheme.cpp:
- (WebCore::RenderTheme::isControlStyled):
- * rendering/RenderThemeMac.mm:
- (WebCore::RenderThemeMac::paintMenuListButton):
- * rendering/RenderTreeAsText.cpp:
- (WebCore::RenderTreeAsText::writeRenderObject):
- (WebCore::write):
- * rendering/RenderTreeAsText.h:
- * rendering/SVGInlineTextBox.cpp:
- (WebCore::SVGInlineTextBox::paintSelection):
- * rendering/SVGRenderTreeAsText.cpp:
- (WebCore::writeRenderSVGTextBox):
- * rendering/style/RenderStyle.cpp:
- (WebCore::RenderStyle::colorIncludingFallback):
- (WebCore::RenderStyle::visitedDependentColor):
- * rendering/style/RenderStyle.h:
- (WebCore::):
- (WebCore::InheritedFlags::hasBackground):
- (WebCore::InheritedFlags::borderLeftStyle):
- (WebCore::InheritedFlags::borderRightStyle):
- (WebCore::InheritedFlags::borderTopStyle):
- (WebCore::InheritedFlags::borderBottomStyle):
- (WebCore::InheritedFlags::textShadow):
- (WebCore::InheritedFlags::textStrokeWidth):
- (WebCore::InheritedFlags::hasNormalColumnGap):
- (WebCore::InheritedFlags::borderLeftColor):
- (WebCore::InheritedFlags::borderRightColor):
- (WebCore::InheritedFlags::borderTopColor):
- (WebCore::InheritedFlags::borderBottomColor):
- (WebCore::InheritedFlags::backgroundColor):
- (WebCore::InheritedFlags::color):
- (WebCore::InheritedFlags::columnRuleColor):
- (WebCore::InheritedFlags::outlineColor):
- (WebCore::InheritedFlags::textFillColor):
- (WebCore::InheritedFlags::textStrokeColor):
- * svg/SVGAnimationElement.cpp:
- (WebCore::adjustForCurrentColor):
-
-2010-05-21 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Darin Adler.
-
- Fix for <rdar://problem/8009118> Crash in WebCore::toAlphabetic()
- while running MangleMe
- -and corresponding-
- https://bugs.webkit.org/show_bug.cgi?id=39508
-
- The math was slightly off here, and we wound up trying to access an
- array at index -1 in some cases. We need to decrement numberShadow
- rather than subtracting one from the result of the modulo
- operation.
-
- * rendering/RenderListMarker.cpp:
- (WebCore::toAlphabeticOrNumeric):
-
-2010-05-21 Oliver Hunt <oliver@apple.com>
-
- Qt buildfix #2
-
- * bridge/qt/qt_runtime.cpp:
- (JSC::Bindings::convertQVariantToValue):
- (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
-
-2010-05-21 Oliver Hunt <oliver@apple.com>
-
- Qt buildfix #1
-
- * bridge/qt/qt_instance.cpp:
- (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
- (JSC::Bindings::QtInstance::newRuntimeObject):
- (JSC::Bindings::QtInstance::getMethod):
- * bridge/qt/qt_pixmapruntime.cpp:
- (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
- (JSC::Bindings::QtPixmapInstance::getMethod):
- (JSC::Bindings::QtPixmapInstance::createRuntimeObject):
-
-2010-05-21 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Fixed failure seen on buildbot (due to flaky test).
-
- Don't report an exception in a nested script evaluation -- just pass the
- exception on to our caller. Our caller can decide to report the exception,
- if it fully propagates -- but we don't want to report an exception that's
- going to get caught.
-
- * bindings/js/ScriptController.cpp:
- (WebCore::ScriptController::ScriptController):
- (WebCore::ScriptController::evaluateInWorld):
- * bindings/js/ScriptController.h:
-
-2010-05-21 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Geoffrey Garen.
-
- All callable objects should have a global object reference
- https://bugs.webkit.org/show_bug.cgi?id=39495
-
- Update the bindings generator to give prototype objects a
- global object. Update all the manually written JSObject
- subclasses to pass a global object.
-
- * ForwardingHeaders/runtime/JSObjectWithGlobalObject.h: Added.
- * WebCore.PluginHostProcess.exp:
- * bindings/js/JSDOMBinding.cpp:
- (WebCore::objectToStringFunctionGetter):
- * bindings/js/JSDOMWindowCustom.cpp:
- (WebCore::nonCachingStaticFunctionGetter):
- * bindings/js/JSDOMWindowShell.cpp:
- (WebCore::JSDOMWindowShell::setWindow):
- * bindings/js/JSHistoryCustom.cpp:
- (WebCore::nonCachingStaticBackFunctionGetter):
- (WebCore::nonCachingStaticForwardFunctionGetter):
- (WebCore::nonCachingStaticGoFunctionGetter):
- * bindings/js/JSLocationCustom.cpp:
- (WebCore::nonCachingStaticReplaceFunctionGetter):
- (WebCore::nonCachingStaticReloadFunctionGetter):
- (WebCore::nonCachingStaticAssignFunctionGetter):
- * bindings/js/WorkerScriptController.cpp:
- (WebCore::WorkerScriptController::initScript):
- * bindings/scripts/CodeGeneratorJS.pm:
- * bridge/c/CRuntimeObject.cpp:
- (JSC::Bindings::CRuntimeObject::CRuntimeObject):
- * bridge/c/CRuntimeObject.h:
- * bridge/c/c_instance.cpp:
- (JSC::Bindings::CInstance::newRuntimeObject):
- (JSC::Bindings::CRuntimeMethod::CRuntimeMethod):
- (JSC::Bindings::CInstance::getMethod):
- * bridge/jni/jsc/JavaInstanceJSC.cpp:
- (JavaInstance::newRuntimeObject):
- (JavaRuntimeMethod::JavaRuntimeMethod):
- (JavaInstance::getMethod):
- * bridge/jni/jsc/JavaRuntimeObject.cpp:
- (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):
- * bridge/jni/jsc/JavaRuntimeObject.h:
- * bridge/jsc/BridgeJSC.cpp:
- (JSC::Bindings::Instance::newRuntimeObject):
- * bridge/objc/ObjCRuntimeObject.h:
- * bridge/objc/ObjCRuntimeObject.mm:
- (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
- * bridge/objc/objc_class.mm:
- (JSC::Bindings::ObjcClass::fallbackObject):
- * bridge/objc/objc_instance.mm:
- (ObjcInstance::newRuntimeObject):
- (ObjCRuntimeMethod::ObjCRuntimeMethod):
- (ObjcInstance::getMethod):
- * bridge/objc/objc_runtime.h:
- * bridge/objc/objc_runtime.mm:
- (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
- * bridge/runtime_method.cpp:
- (JSC::RuntimeMethod::RuntimeMethod):
- * bridge/runtime_method.h:
- * bridge/runtime_object.cpp:
- (JSC::Bindings::RuntimeObject::RuntimeObject):
- * bridge/runtime_object.h:
-
-2010-05-21 Steve Block <steveblock@google.com>
-
- Reviewed by Jeremy Orlow.
-
- Add DeviceOrientation and DeviceOrientationClient
- https://bugs.webkit.org/show_bug.cgi?id=39479
-
- The page owns a DeviceOrientation object, which has a pointer to a
- DeviceOrientationClient object provided by the embedder. The
- DeviceOrientation object forwards requests to start listening to
- orientation to the client, and when updates are available, fires a
- DeviceOrientationEvent on the window object.
-
- No new tests are possible at this time as the implementation is
- incomplete. Future patches will add LayoutTestController methods
- to provide mock orientation events to test this.
-
- * Android.mk:
- * CMakeLists.txt:
- * GNUmakefile.am:
- * WebCore.base.exp:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj
- * WebCore.xcodeproj/project.pbxproj:
- * dom/DeviceOrientation.cpp: Added.
- (WebCore::DeviceOrientation::DeviceOrientation):
- (WebCore::DeviceOrientation::onDeviceOrientationChange):
- * dom/DeviceOrientation.h: Added.
- * dom/DeviceOrientationClient.h: Added.
- (WebCore::DeviceOrientationClient::~DeviceOrientationClient):
- * page/Page.cpp:
- (WebCore::Page::Page):
- * page/Page.h:
- (WebCore::Page::deviceOrientation):
- * svg/graphics/SVGImage.cpp:
- (WebCore::SVGImage::dataChanged):
-
-2010-05-21 Tasuku Suzuki <tasuku.suzuki@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix compilation with QT_NO_GRAPHICSEFFECT
- https://bugs.webkit.org/show_bug.cgi?id=38324
-
- * platform/graphics/qt/GraphicsLayerQt.cpp:
- (WebCore::GraphicsLayerQtImpl::flushChanges):
-
-2010-05-21 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Darin Fisher.
-
- Fix the HistoryController::pushState.
-
- It should be possible to call the pushState method from
- the first page in a window.
-
- history.pushState doesn't work for the first page in a window.
- https://bugs.webkit.org/show_bug.cgi?id=39418
-
- * loader/HistoryController.cpp:
- (WebCore::HistoryController::pushState):
-
-2010-05-21 Victoria Kirst <vrk@google.com>
-
- Reviewed by David Levin.
-
- [chromium] Fix slider status when buffering
- https://bugs.webkit.org/show_bug.cgi?id=39370
- Adjusts the buffering bar to be aligned with the slider thumb.
-
- No new tests. (Covered by existing layout tests.)
-
- * rendering/RenderMediaControlsChromium.cpp:
- (WebCore::paintMediaSlider):
- Added logic to align the buffering bar with the thumb. Half of the
- thumb image is transparent, so the buffer bar is adjusted to fill in
- this gap.
-
-2010-05-21 Jesus Sanchez-Palencia <jesus@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Extra processesArguments() calls in Document::processViewport
- https://bugs.webkit.org/show_bug.cgi?id=39358
-
- The viewport arguments are only needed when there is a frame->page(),
- therefore we don't need to always call processArguments().
-
- * dom/Document.cpp:
- (WebCore::Document::processViewport):
-
-2010-05-17 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Eric Carlson.
-
- [GStreamer] video painting support on mac port
- https://bugs.webkit.org/show_bug.cgi?id=39206
-
- ImageGStreamer support for mac port. A CG Image is created using
- the GstBuffer data. It can then be painted by the gstreamer player.
-
- * platform/graphics/gstreamer/ImageGStreamer.h:
- * platform/graphics/gstreamer/ImageGStreamerCG.mm: Added.
- (ImageGStreamer::createImage):
- (ImageGStreamer::ImageGStreamer):
- (ImageGStreamer::~ImageGStreamer):
-
-2010-05-21 Robin Cao <robin.cao@torchmobile.com.cn>
-
- Reviewed by Eric Seidel.
-
- animateTransform does not work on gradientTransform
- https://bugs.webkit.org/show_bug.cgi?id=38115
-
- Tests: svg/animations/animate-gradient-transform.html
-
- * svg/SVGAnimateTransformElement.cpp:
- (WebCore::SVGAnimateTransformElement::hasValidTarget): Check if the target element is gradient.
- (WebCore::transformListFor): Ditto.
- (WebCore::SVGAnimateTransformElement::resetToBaseValue): Ditto.
- (WebCore::SVGAnimateTransformElement::applyResultsToTarget): Ditto.
-
-2010-05-21 Young Han Lee <joybro@company100.net>
-
- Reviewed by Eric Seidel.
-
- Fix guard around DatabaseSync
- https://bugs.webkit.org/show_bug.cgi?id=38897
-
- * storage/DatabaseSync.cpp:
-
-2010-05-21 Simon Hausmann <simon.hausmann@nokia.com>
-
- [Qt] Prospective Qt/Mac build fix
-
- My cpp is paranoid and doesn't like #if Q_WS_MAC:
- error: #if with no expression
-
- * page/qt/EventHandlerQt.cpp:
-
-2010-05-21 Lucas De Marchi <lucas.demarchi@profusion.mobi>
-
- Reviewed by Eric Seidel.
-
- [EFL] Update Localized Strings. Remove markers from strings
- since we are not using them and they are only polluting output.
- https://bugs.webkit.org/show_bug.cgi?id=39371
-
- No new tests required.
-
- * platform/efl/LocalizedStringsEfl.cpp:
- (WebCore::contextMenuItemTagOpenLinkInNewWindow):
- (WebCore::contextMenuItemTagDownloadLinkToDisk):
- (WebCore::contextMenuItemTagCopyLinkToClipboard):
- (WebCore::contextMenuItemTagOpenImageInNewWindow):
- (WebCore::contextMenuItemTagDownloadImageToDisk):
- (WebCore::contextMenuItemTagCopyImageToClipboard):
- (WebCore::contextMenuItemTagOpenFrameInNewWindow):
- (WebCore::contextMenuItemTagSelectAll):
- (WebCore::contextMenuItemTagUnicode):
- (WebCore::contextMenuItemTagInputMethods):
- (WebCore::contextMenuItemTagGoBack):
- (WebCore::contextMenuItemTagGoForward):
- (WebCore::contextMenuItemTagReload):
- (WebCore::contextMenuItemTagIgnoreSpelling):
- (WebCore::contextMenuItemTagLearnSpelling):
- (WebCore::contextMenuItemTagSearchWeb):
- (WebCore::contextMenuItemTagLookUpInDictionary):
- (WebCore::contextMenuItemTagOpenLink):
- (WebCore::contextMenuItemTagIgnoreGrammar):
- (WebCore::contextMenuItemTagSpellingMenu):
- (WebCore::contextMenuItemTagCheckSpelling):
- (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
- (WebCore::contextMenuItemTagFontMenu):
- (WebCore::contextMenuItemTagOutline):
- (WebCore::contextMenuItemTagInspectElement):
- (WebCore::searchMenuClearRecentSearchesText):
- (WebCore::missingPluginText): Add missing message.
- (WebCore::multipleFileUploadText):
- (WebCore::crashedPluginText):
-
-2010-05-21 Lucas De Marchi <lucas.demarchi@profusion.mobi>
-
- Reviewed by Eric Seidel.
-
- [EF] Fix support for focus ring.
- https://bugs.webkit.org/show_bug.cgi?id=39387
-
- No new tests required.
-
- * html/HTMLAnchorElement.cpp: Add EFL to #ifdef
- (WebCore::HTMLAnchorElement::isMouseFocusable):
-
-2010-05-21 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Add missing localized string symbols.
- https://bugs.webkit.org/show_bug.cgi?id=39394
-
- Add missingPluginText and crashedPluginText.
-
- * platform/brew/LocalizedStringsBrew.cpp:
- (WebCore::missingPluginText):
- (WebCore::crashedPluginText):
-
-2010-05-21 Steve Block <steveblock@google.com>
-
- Reviewed by Alexey Proskuryakov.
-
- Calls to CallJNIMethodIDA() in JavaInstance::invokeMethod() are required on Android
- https://bugs.webkit.org/show_bug.cgi?id=39426
-
- This code path has always been used by Android, but was guarded with
- BUILDING_ON_TIGER in http://trac.webkit.org/changeset/55054, thus
- breaking the Android build.
-
- No new tests, build fix only.
-
- * bridge/jni/jsc/JavaInstanceJSC.cpp:
- (JavaInstance::invokeMethod):
-
-2010-05-20 Tony Chang <tony@chromium.org>
-
- Reviewed by Kent Tamura.
-
- escape link text when copying or dragging links on win or chromium
- https://bugs.webkit.org/show_bug.cgi?id=39413
-
- * editing/markup.cpp:
- (WebCore::urlToMarkup):
- * editing/markup.h:
- * platform/chromium/ClipboardUtilitiesChromium.cpp:
- * platform/chromium/ClipboardUtilitiesChromium.h:
- * platform/win/ClipboardUtilitiesWin.cpp:
- * platform/win/ClipboardUtilitiesWin.h:
-
-2010-05-18 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Eric Carlson.
-
- [GStreamer] PlatformMedia support
- https://bugs.webkit.org/show_bug.cgi?id=39300
-
- Basic support for PlatformMedia in the gst player. The
- PlatformMedia object contains a GStreamerGWorld object. That
- object is empty for now. XOverlay features will be added later
- on for easy review sake.
-
- * GNUmakefile.am:
- * platform/graphics/MediaPlayer.h:
- (WebCore::PlatformMedia::):
- * platform/graphics/gstreamer/GStreamerGWorld.cpp: Added.
- (WebCore::GStreamerGWorld::createGWorld):
- (WebCore::GStreamerGWorld::GStreamerGWorld):
- (WebCore::GStreamerGWorld::~GStreamerGWorld):
- * platform/graphics/gstreamer/GStreamerGWorld.h: Added.
- * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
- (WebCore::MediaPlayerPrivateGStreamer::platformMedia):
- (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
- * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
-
-2010-05-20 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Add dummy SSLKeyGenerator
- https://bugs.webkit.org/show_bug.cgi?id=39403
-
- Add dummy implementation of SSLKeyGenerator.
-
- * platform/brew/SSLKeyGeneratorBrew.cpp: Added.
- (WebCore::WebCore::getSupportedKeySizes):
- (WebCore::WebCore::signedPublicKeyAndChallengeString):
-
-2010-05-20 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Dan Bernstein.
-
- <rdar://problem/7848154> Remove the dependency on Foundation's private __COCOA_FORMAL_PROTOCOLS_2__ define.
-
- * platform/mac/EmptyProtocolDefinitions.h:
-
-2010-05-20 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Add Editor
- https://bugs.webkit.org/show_bug.cgi?id=39404
-
- Implement Editor::newGeneralClipboard.
-
- * editing/brew/EditorBrew.cpp: Added.
- (WebCore::Editor::newGeneralClipboard):
-
-2010-05-20 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Adam Roben.
-
- Avoid flushing CA layers when a layout is pending
- https://bugs.webkit.org/show_bug.cgi?id=39463
- <rdar://problem/7999463>
-
- Avoid rendering the compositing layers to the screen if there's a layout pending,
- since the layer tree not in a state that should be presented to the user.
-
- This fixes flashes in some types of content that dynamically add and remove layers.
-
- Do this by adding a WKCACFLayerRendererClient for WKCACFLayerRenderer, which it can
- call through to ask whether now is a good time to render. If not, it schedules
- another render soon.
-
- * platform/graphics/win/WKCACFLayerRenderer.h:
- (WebCore::WKCACFLayerRendererClient::~WKCACFLayerRendererClient):
- * platform/graphics/win/WKCACFLayerRenderer.cpp:
- (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable):
- (WebCore::WKCACFLayerRenderer::create):
- (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
- (WebCore::WKCACFLayerRenderer::render):
-
-2010-05-20 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Don't include CoreFoundation.h when building for BREW MP
- https://bugs.webkit.org/show_bug.cgi?id=39405
-
- Add !defined(BUILDING_BREWMP__) guard for CoreFoundation.h.
-
- * WebCorePrefix.h:
-
-2010-05-20 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Add ScrollTheme
- https://bugs.webkit.org/show_bug.cgi?id=39406
-
- As BREW MP always uses frame flattening, there is no need to render scorllbars.
- Use the default scrollbar theme with thickness 0.
-
- * platform/brew/ScrollbarThemeBrew.cpp: Added.
- (WebCore::ScrollbarTheme::nativeTheme):
- (WebCore::ScrollbarThemeBrew::~ScrollbarThemeBrew):
- * platform/brew/ScrollbarThemeBrew.h: Added.
-
-2010-05-20 Jon Honeycutt <jhoneycutt@apple.com>
-
- REGRESSION(r53637): DivX plug-in fails to start until window is resized
- https://bugs.webkit.org/show_bug.cgi?id=39457
- <rdar://problem/8006102>
-
- Before r53637, we called Widget::move() (which caused us to call
- NPP_SetWindow) before painting a plug-in. r53637 removed the call to
- Widget::move(), and we end up never calling NPP_SetWindow for plug-ins
- with the "DeferFirstSetWindowCall" quirk, including the DivX plug-in.
-
- Reviewed by Simon Fraser.
-
- * manual-tests/divx-plugin-fails-to-draw.html: Added.
-
- * plugins/PluginView.cpp:
- (WebCore::PluginView::PluginView):
- Initialize new member to false.
-
- * plugins/PluginView.h:
- Added new member.
-
- * plugins/win/PluginViewWin.cpp:
- (WebCore::PluginView::paint):
- Call setNPWindowRect() before painting to ensure that NPP_SetWindow gets
- called.
- (WebCore::PluginView::setNPWindowRect):
- Set m_haveCalledSetWindow.
-
-2010-05-20 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by Alexey Proskuryakov.
-
- WebSocket handshake incompatible change in draft-hixie-thewebsocketprotocol-76
- https://bugs.webkit.org/show_bug.cgi?id=35572
-
- WebSocket opening handshake is changed. New protocol draft could be found at http://www.whatwg.org/specs/web-socket-protocol/
- It requires https://bugs.webkit.org/show_bug.cgi?id=38034 to pass websocket tests.
-
- * websockets/WebSocketHandshake.cpp:
- (WebCore::extractResponseCode):
- add lineLength parameter to return length of status line.
- (WebCore::hostName): Added.
- (WebCore::generateSecWebSocketKey): Added.
- (WebCore::generateKey3): Added.
- (WebCore::setChallengeNumber): Added.
- (WebCore::generateChallengeResponseExpected): Added.
- (WebCore::WebSocketHandshake::WebSocketHandshake):
- generate challenge response key and expected data.
- (WebCore::WebSocketHandshake::clientLocation):
- use hostName.
- (WebCore::WebSocketHandshake::clientHandshakeMessage):
- changed for draft 76 spec.
- (WebCore::WebSocketHandshake::clientHandshakeRequest):
- (WebCore::WebSocketHandshake::readServerHandshake):
- changed for draft 76 spec.
- m_mode is managed in this method.
- (WebCore::WebSocketHandshake::readHTTPHeaders):
- change error log messages.
- (WebCore::WebSocketHandshake::processHeaders):
- chagned for draft 76 spec.
- (WebCore::WebSocketHandshake::checkResponseHeaders):
- return boolean whether response header is ok or not and not change m_mode in it.
- * websockets/WebSocketHandshake.h:
-
-2010-05-20 Adam Roben <aroben@apple.com>
-
- Stop leaking all CACFContexts
-
- Fixes <http://webkit.org/b/39466> <rdar://problem/8007141>.
-
- Reviewed by Simon Fraser.
-
- * platform/graphics/win/WKCACFContextFlusher.cpp:
- (WebCore::WKCACFContextFlusher::addContext): Only retain the context
- when we first add it to the m_contexts set. Otherwise we'll retain the
- same context multiple times, causing it to leak.
-
-2010-05-20 Young Han Lee <joybro@company100.net>
-
- Reviewed by Darin Adler.
-
- Create filenameFromString for all ports except GTK and EFL.
- https://bugs.webkit.org/show_bug.cgi?id=39348
-
- * platform/FileSystem.cpp: Added.
- (WebCore::filenameFromString):
- * platform/FileSystem.h:
-
-2010-05-20 Young Han Lee <joybro@company100.net>
-
- Reviewed by Darin Adler.
-
- Port SharedBuffer to POSIX.
- https://bugs.webkit.org/show_bug.cgi?id=39283
-
- * platform/posix/SharedBufferPOSIX.cpp: Added.
- (WebCore::SharedBuffer::createWithContentsOfFile):
-
-2010-05-20 Zhenyao Mo <zmo@google.com>
-
- Reviewed by Dimitri Glazkov.
-
- Map RGBA4/RGB5_A1 to RGBA and RGB565 to RGB in RenderbufferStorage
- https://bugs.webkit.org/show_bug.cgi?id=39077
-
- * platform/graphics/mac/GraphicsContext3DMac.cpp:
- (WebCore::GraphicsContext3D::renderbufferStorage): Mapping the enums.
-
-2010-05-20 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Dave Hyatt.
-
- <rdar://problem/8007953> Textarea using custom font appears blank
-
- Test: fast/css/font-face-in-shadow-DOM.html
-
- When a remote font is loaded, CSSFontSelector forces a style recalc, which replaces all
- RenderSyles that have FontFallbackLists referencing the placeholder font with fresh
- RenderStyles. However, it does not descend into shadow DOM trees, so those may end up with
- styles that still reference the placeholder font.
-
- The fix is to add RenderObject::requiresForcedStyleRecalcPropagation() and have it return
- true from renderers that maintain shadow DOM trees or otherwise keep their own RenderStyles.
-
- * dom/Element.cpp:
- (WebCore::Element::recalcStyle): Check if forced style recalc needs to propagated.
- * rendering/RenderButton.h:
- (WebCore::RenderButton::requiresForcedStyleRecalcPropagation):
- * rendering/RenderDataGrid.h:
- (WebCore::RenderDataGrid::requiresForcedStyleRecalcPropagation):
- * rendering/RenderFileUploadControl.h:
- (WebCore::RenderFileUploadControl::requiresForcedStyleRecalcPropagation):
- * rendering/RenderListItem.h:
- (WebCore::RenderListItem::requiresForcedStyleRecalcPropagation):
- * rendering/RenderMedia.h:
- (WebCore::RenderMedia::requiresForcedStyleRecalcPropagation):
- * rendering/RenderMenuList.h:
- (WebCore::RenderMenuList::RenderMenuList::requiresForcedStyleRecalcPropagation):
- * rendering/RenderObject.h:
- (WebCore::RenderObject::requiresForcedStyleRecalcPropagation):
- * rendering/RenderProgress.h:
- (WebCore::RenderProgress::requiresForcedStyleRecalcPropagation):
- * rendering/RenderSlider.h:
- (WebCore::RenderSlider::requiresForcedStyleRecalcPropagation):
- * rendering/RenderTextControl.h:
- (WebCore::RenderTextControl::requiresForcedStyleRecalcPropagation):
-
-2010-05-20 Jer Noble <jer.noble@apple.com>
-
- No review; build fix only.
-
- When WTF_USE_ACCELERATED_COMPOSITING is turned off, MediaPlayerPrivateQuickTimeVisualContext.cpp
- must include CoreGraphics/CGContext.h.
-
- * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
-
-2010-05-20 Jer Noble <jer.noble@apple.com>
-
- Reviewed by Sam Weinig.
-
- Video elements show no video on Windows machines that do not support accelerated compositing
- https://bugs.webkit.org/show_bug.cgi?id=39446
- rdar://problem/7999794
-
- Implement the paint() method in MediaPlayerPrivateQuickTimeVisualContext. The visual context should
- be set up in load() and torn down in the destructor (as opposed to setUpVideoRendering and
- tearDownVideoRendering, which won't get called in a non-accelerated compositing case).
-
- * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
- (WebCore::MediaPlayerPrivateQuickTimeVisualContext::~MediaPlayerPrivateQuickTimeVisualContext):
- (WebCore::MediaPlayerPrivateQuickTimeVisualContext::load):
- (WebCore::MediaPlayerPrivateQuickTimeVisualContext::paint):
- (WebCore::MediaPlayerPrivateQuickTimeVisualContext::visualContextTimerFired):
- (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
- (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpVideoRendering):
- (WebCore::MediaPlayerPrivateQuickTimeVisualContext::tearDownVideoRendering):
-
-2010-05-20 Abhishek Arya <inferno@chromium.org>
-
- Reviewed by Adam Barth.
-
- Added a method to check if the security origin can access
- password manager.
- https://bugs.webkit.org/show_bug.cgi?id=38916
-
- * page/SecurityOrigin.h:
- (WebCore::SecurityOrigin::canAccessPasswordManager):
-
-2010-05-20 Darin Adler <darin@apple.com>
-
- Reviewed by Eric Seidel.
-
- Fix warnings seen on the buildbots today
- https://bugs.webkit.org/show_bug.cgi?id=39368
-
- * loader/icon/IconDatabase.cpp:
- (WebCore::IconDatabase::pruneUnretainedIcons): Use the type "long long" for
- things being printed with "%lli". There is no guaranteed that int64_t is the
- same thing as long long.
-
+ (WebCore::SelectionController::willBeModified):
+ (WebCore::SelectionController::modify):
+ * editing/SelectionController.h:
+ (WebCore::SelectionController::):
+ * editing/TypingCommand.cpp:
+ (WebCore::TypingCommand::deleteKeyPressed):
+ (WebCore::TypingCommand::forwardDeleteKeyPressed):
+ * page/DOMSelection.cpp:
+ (WebCore::DOMSelection::modify):
+ (WebCore::DOMSelection::deleteFromDocument):
* page/EventHandler.cpp:
- (WebCore::EventHandler::handleMousePressEvent): Added parentheses as suggested
- by warnings in newer versions of GCC.
-
- * platform/ContextMenu.cpp: Fix #if around the functions to match the #if
- around the call sites to avoid unused function warning.
-
- * platform/graphics/gtk/ImageGtk.cpp:
- (WebCore::Image::loadPlatformResource): Use NULL to end a variable argument list
- rather than 0. This is a case where the WebKit "use 0 instead of NULL" guideline
- is incorrect and won't work properly.
-
- * platform/win/SystemTimeWin.cpp:
- (WebCore::userIdleTime): Removed unnecessary initialization of LASTINPUTINFO.
-
- * platform/win/WebCoreInstanceHandle.h: Added property svn:eol-style.
- Made functions inline instead of static. It's not correct to have functions with
- internal linkage in a header file. Marking them inline makes more sense.
-
- * plugins/win/PluginMessageThrottlerWin.cpp:
- (WebCore::PluginMessageThrottlerWin::PluginMessageThrottlerWin): Reordered the
- initializers to match the order of the data members from the class definition.
-
- * plugins/win/PluginViewWin.cpp:
- (WebCore::PluginView::paintIntoTransformedContext): Initialized all the fields
- of WINDOWPOS. I know this goes against the traditions of Windows programming,
- but it's correct and silences the warning. Also removed the unneeded separate
- code path for non-WinCE platforms that translates only the corner of the window
- rectangle; the WinCE version is correct for normal Windows as well. Not sure
- why this wasn't caught when the code was originally checked in.
-
-2010-05-20 Justin Schuh <jschuh@chromium.org>
-
- Reviewed by Adam Barth.
-
- Moving frame.src checks out of the bindings
- https://bugs.webkit.org/show_bug.cgi?id=37815
-
- Moved JavaScript frame.src checks out of bindings and into
- HTMLFrameElementBase. Added main thread state stack to JavaScriptCore
- so ExecState is available inside core DOM. Updated affected bindings
- (except for GObject, which will need to be updated to avoid origin
- failures inside native code).
-
- * Android.jscbindings.mk:
- * CMakeLists.txt:
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/js/JSBindingsAllInOne.cpp:
- * bindings/js/JSCallbackData.cpp:
- (WebCore::JSCallbackData::invokeCallback):
- * bindings/js/JSEventListener.cpp:
- (WebCore::JSEventListener::handleEvent):
- * bindings/js/JSInjectedScriptHostCustom.cpp:
- (WebCore::InjectedScriptHost::createInjectedScript):
- * bindings/js/JSMainThreadExecState.cpp: Added.
- * bindings/js/JSMainThreadExecState.h: Added.
- (WebCore::JSMainThreadExecState::currentState):
- (WebCore::JSMainThreadExecState::call):
- (WebCore::JSMainThreadExecState::evaluate):
- (WebCore::JSMainThreadExecState::JSMainThreadExecState):
- (WebCore::JSMainThreadExecState::~JSMainThreadExecState):
- (WebCore::JSMainThreadNullState::JSMainThreadNullState):
- * bindings/js/ScheduledAction.cpp:
- (WebCore::ScheduledAction::executeFunctionInContext):
- (WebCore::ScheduledAction::execute):
- * bindings/js/ScheduledAction.h:
- * bindings/js/ScriptController.cpp:
- (WebCore::ScriptController::evaluateInWorld):
- (WebCore::ScriptController::canAccessFromCurrentOrigin):
- * bindings/js/ScriptController.h:
- * bindings/js/ScriptFunctionCall.cpp:
- (WebCore::ScriptFunctionCall::call):
- * bindings/objc/ObjCEventListener.mm:
- * bindings/objc/WebScriptObject.mm:
- (-[WebScriptObject callWebScriptMethod:withArguments:]):
- (-[WebScriptObject evaluateWebScript:]):
- * bindings/scripts/CodeGeneratorObjC.pm:
- * bindings/scripts/test/ObjC/DOMTestCallback.mm:
- (-[DOMTestCallback callbackWithClass1Param:]):
- (-[DOMTestCallback callbackWithClass2Param:strArg:]):
- (-[DOMTestCallback callbackWithNonBoolReturnType:]):
- (-[DOMTestCallback customCallback:class6Param:]):
- * bindings/scripts/test/ObjC/DOMTestInterface.mm:
- * bindings/scripts/test/ObjC/DOMTestObj.mm:
- (-[DOMTestObj readOnlyIntAttr]):
- (-[DOMTestObj readOnlyStringAttr]):
- (-[DOMTestObj readOnlyTestObjAttr]):
- (-[DOMTestObj intAttr]):
- (-[DOMTestObj setIntAttr:]):
- (-[DOMTestObj longLongAttr]):
- (-[DOMTestObj setLongLongAttr:]):
- (-[DOMTestObj unsignedLongLongAttr]):
- (-[DOMTestObj setUnsignedLongLongAttr:]):
- (-[DOMTestObj stringAttr]):
- (-[DOMTestObj setStringAttr:]):
- (-[DOMTestObj testObjAttr]):
- (-[DOMTestObj setTestObjAttr:]):
- (-[DOMTestObj attrWithException]):
- (-[DOMTestObj setAttrWithException:]):
- (-[DOMTestObj attrWithSetterException]):
- (-[DOMTestObj setAttrWithSetterException:]):
- (-[DOMTestObj attrWithGetterException]):
- (-[DOMTestObj setAttrWithGetterException:]):
- (-[DOMTestObj customAttr]):
- (-[DOMTestObj setCustomAttr:]):
- (-[DOMTestObj scriptStringAttr]):
- (-[DOMTestObj voidMethod]):
- (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
- (-[DOMTestObj intMethod]):
- (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
- (-[DOMTestObj objMethod]):
- (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
- (-[DOMTestObj methodThatRequiresAllArgs:objArg:]):
- (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]):
- (-[DOMTestObj serializedValue:]):
- (-[DOMTestObj methodWithException]):
- (-[DOMTestObj customMethod]):
- (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
- (-[DOMTestObj customArgsAndException:]):
- (-[DOMTestObj addEventListener:listener:useCapture:]):
- (-[DOMTestObj removeEventListener:listener:useCapture:]):
- (-[DOMTestObj withDynamicFrame]):
- (-[DOMTestObj withDynamicFrameAndArg:]):
- (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
- (-[DOMTestObj withDynamicFrameAndUserGesture:]):
- (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
- (-[DOMTestObj withScriptStateVoid]):
- (-[DOMTestObj withScriptStateObj]):
- (-[DOMTestObj withScriptStateVoidException]):
- (-[DOMTestObj withScriptStateObjException]):
- (-[DOMTestObj methodWithOptionalArg:]):
- (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
- (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
- * bindings/v8/ScriptController.cpp:
- (WebCore::ScriptController::canAccessFromCurrentOrigin):
- * bindings/v8/ScriptController.h:
- * html/HTMLFrameElementBase.cpp:
- (WebCore::HTMLFrameElementBase::isURLAllowed):
-
-2010-05-20 Adam Roben <aroben@apple.com>
-
- Fix an HRGN leak in WKCACFLayerRenderer
-
- Fixes <http://webkit.org/b/39312> <rdar://problem/7998728> REGRESSION
- (r53686-r55990): Graphics corruption when watching video (affects
- youtube.com)
-
- Reviewed by Darin Adler.
-
- * platform/graphics/win/WKCACFLayerRenderer.cpp:
- (WebCore::getDirtyRects): Use an OwnPtr to hold the HRGN we allocate.
- That way we don't have to remember to destroy it (as we were
- forgetting to do) when we bail out of this function early.
-
-2010-05-20 Darin Fisher <darin@chromium.org>
-
- Reviewed by Nate Chapin.
-
- [chromium] Provide a way to catch exceptions thrown while interacting
- with a NPObject via WebBindings methods.
- https://bugs.webkit.org/show_bug.cgi?id=39378
-
- This change also includes a small bit of cleanup in V8NPObject and
- friends. I moved code into the WebCore namespace where appropriate.
-
- In _NPN_Invoke, I also moved the call to _NPN_Evaluate outside of the
- context scope. I did this to avoid having nested ExceptionCatcher
- objects, which is not strictly necessary, but it seemed cleaner.
- _NPN_Evaluate already takes care of creating a context scope.
-
- * bindings/v8/NPV8Object.cpp:
- (WebCore::v8ObjectToNPObject):
- (WebCore::npCreateV8ScriptObject):
- (_NPN_Invoke):
- (_NPN_InvokeDefault):
- (_NPN_Evaluate):
- (_NPN_EvaluateHelper):
- (_NPN_GetProperty):
- (_NPN_SetProperty):
- (_NPN_RemoveProperty):
- (_NPN_HasProperty):
- (_NPN_HasMethod):
- (_NPN_SetException):
- (_NPN_Enumerate):
- (_NPN_Construct):
- * bindings/v8/NPV8Object.h:
- * bindings/v8/V8NPObject.cpp:
- * bindings/v8/V8NPObject.h:
- * bindings/v8/V8NPUtils.cpp:
- (WebCore::convertV8ObjectToNPVariant):
- (WebCore::pushExceptionHandler):
- (WebCore::popExceptionHandler):
- (WebCore::ExceptionCatcher::ExceptionCatcher):
- (WebCore::ExceptionCatcher::~ExceptionCatcher):
- * bindings/v8/V8NPUtils.h:
- * bindings/v8/npruntime.cpp:
-
-2010-05-20 Marcus Bulach <bulach@chromium.org>
-
- Reviewed by Steve Block.
-
- Ensure timers are stopped on Geolocation::disconnectFrame()
- https://bugs.webkit.org/show_bug.cgi?id=39388
-
- fast/dom/Geolocation/notimer-after-unload.html, plus it should be possible to re-enable Gtk LayoutTests.
-
- * page/Geolocation.cpp:
- (WebCore::Geolocation::disconnectFrame):
-
-2010-05-20 James Robinson <jamesr@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Ensures styles are up-to-date before determining selection
- https://bugs.webkit.org/show_bug.cgi?id=39389
-
- This adds a call to document::updateStyleIfNeeded() to
- Frame::notifyRendererOfSelectionChange(). Without this call, if there
- is a pending style update that will detach part of the DOM and the
- the selection is within that part of the DOM when
- notifyRendererOfSeletionChange is called, the rootEditableElement
- algorithm ends up walking through detached parts of the render tree.
-
- Test: editing/selection/focus-and-display-none.html
-
- * page/Frame.cpp:
- (WebCore::Frame::notifyRendererOfSelectionChange):
-
-2010-05-20 Adam Roben <aroben@apple.com>
-
- Remove code that fetched, but did nothing useful with, a CFDictionary
- in MediaPlayerPrivateQuickTimeVisualContext
-
- I also removed the code in QTPixelBuffer that vended the dictionary.
-
- Fixes <http://webkit.org/b/39435> <rdar://problem/8009278>
- QTPixelBuffer passes CFDictionaries across the DLL boundary, which can
- lead to crashes
-
- Reviewed by Darin Adler.
-
- * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
- (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
- Deleted code that fetched the attachments dictionary, which was never
- used other than to pass it to CFRetain/CFRelease, which could be
- enough to cause a crash due to incompatible copies of
- CoreFoundation.dll.
-
- * platform/graphics/win/QTMovieVisualContext.h: Added a now-needed
- forward declaration.
-
- * platform/graphics/win/QTPixelBuffer.cpp:
- * platform/graphics/win/QTPixelBuffer.h:
- Removed the now-unused attachments function.
-
-2010-05-20 Adam Roben <aroben@apple.com>
-
- Fix a CFData leak in MediaPlayerPrivateQuickTimeVisualContext
-
- Fixes <http://webkit.org/b/39432> <rdar://problem/8008992>
-
- Reviewed by Ada Chan
-
- * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
- (WebCore::QTCFDictionaryCreateWithDataCallback): Use a RetainPtr to
- hold the CFData we allocate so it will get released when this function
- is exited. Also pass kCFAllocatorNull as the bytes deallocator to
- CFDataCreateWithBytesNoCopy so that CF doesn't try to deallocate the
- bytes we pass to it.
-
-2010-05-20 Jian Li <jianli@chromium.org>
-
- Reviewed by David Levin.
-
- Rename GenericTask* to CrossThreadTask* in CrossThreadTask.h.
- https://bugs.webkit.org/show_bug.cgi?id=39437
-
- * dom/CrossThreadTask.h:
- (WebCore::):
- (WebCore::CrossThreadTask1::create):
- (WebCore::CrossThreadTask1::CrossThreadTask1):
- (WebCore::CrossThreadTask2::create):
- (WebCore::CrossThreadTask2::CrossThreadTask2):
- (WebCore::CrossThreadTask3::create):
- (WebCore::CrossThreadTask3::CrossThreadTask3):
- (WebCore::CrossThreadTask4::create):
- (WebCore::CrossThreadTask4::CrossThreadTask4):
- (WebCore::CrossThreadTask5::create):
- (WebCore::CrossThreadTask5::CrossThreadTask5):
- (WebCore::CrossThreadTask6::create):
- (WebCore::CrossThreadTask6::CrossThreadTask6):
- (WebCore::CrossThreadTask7::create):
- (WebCore::CrossThreadTask7::CrossThreadTask7):
- (WebCore::CrossThreadTask8::create):
- (WebCore::CrossThreadTask8::CrossThreadTask8):
- (WebCore::createCallbackTask):
-
-2010-05-20 Jian Li <jianli@chromium.org>
-
- Reviewed by David Levin.
-
- Rename GenericWorkerTask.h to CrossThreadTask.h and move it to dom directory.
- https://bugs.webkit.org/show_bug.cgi?id=39135
-
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * dom/CrossThreadTask.h: Renamed from WebCore/workers/GenericWorkerTask.h.
- * html/FileStreamProxy.cpp:
- * loader/WorkerThreadableLoader.cpp:
- * websockets/WorkerThreadableWebSocketChannel.cpp:
- * workers/DefaultSharedWorkerRepository.cpp:
- * workers/WorkerMessagingProxy.cpp:
- * workers/WorkerScriptLoader.cpp:
-
-2010-05-20 Adele Peterson <adele@apple.com>
-
- Reviewed by Mark Rowe.
-
- Remove the Safari welcome page site-specific quirk, since its no longer needed.
-
- * css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::cssRules):
-
-2010-05-20 Steve Block <steveblock@google.com>
-
- Reviewed by Jeremy Orlow.
-
- Provide bindings for DeviceOrientation
- https://bugs.webkit.org/show_bug.cgi?id=39210
-
- Tests: fast/dom/DeviceOrientation/window-property.html
- fast/dom/Window/window-properties-on-device-orientation.html
-
- Adds bindings for DeviceOrientation as defined in
- http://dev.w3.org/geo/api/spec-source-orientation.html
- This is guarded by ENABLE(DEVICE_ORIENTATION) which is currently disabled on
- all platforms but Android.
-
- * Android.derived.jscbindings.mk:
- * Android.derived.v8bindings.mk:
- * Android.mk:
- * Configurations/FeatureDefines.xcconfig:
- * DerivedSources.cpp:
- * DerivedSources.make:
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pri:
- * WebCore.pro:
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/js/JSEventCustom.cpp:
- (WebCore::toJS):
- * bindings/v8/custom/V8EventCustom.cpp:
- (WebCore::toV8):
- * dom/DeviceOrientationEvent.cpp: Added.
- (WebCore::DeviceOrientationEvent::DeviceOrientationEvent):
- (WebCore::DeviceOrientationEvent::initDeviceOrientationEvent):
- * dom/DeviceOrientationEvent.h: Added.
- (WebCore::DeviceOrientationEvent::create):
- (WebCore::DeviceOrientationEvent::alpha):
- (WebCore::DeviceOrientationEvent::beta):
- (WebCore::DeviceOrientationEvent::gamma):
- (WebCore::DeviceOrientationEvent::isDeviceOrientationEvent):
- * dom/DeviceOrientationEvent.idl: Added.
- * dom/Event.cpp:
- (WebCore::Event::isDeviceOrientationEvent):
- * dom/Event.h:
- * dom/EventNames.h:
- * page/DOMWindow.h:
- * page/DOMWindow.idl:
-
-2010-05-20 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
-
- Rubberstamped by Antti Koivisto.
-
- Use 0.15 as text drag delay when Q_WS_MAC is defined, which is
- consistent with the Mac OS X platform.
-
- * page/qt/EventHandlerQt.cpp:
-
-2010-05-19 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- Fix painting when using clipToImageBuffer()
-
- When we apply the transform of the parent painter to the painter of
- the transparency layer, we adopt its coordinate system, thus offset
- should not be in page coordinates, but in the coordinate system of
- the parent painter.
-
- * platform/graphics/qt/GraphicsContextQt.cpp:
- (WebCore::TransparencyLayer::TransparencyLayer):
-
-2010-05-20 Adam Langley <agl@chromium.org>
-
- Reviewed by David Levin.
-
- [chromium] Avoid crash when msttcorefonts aren't provided
-
- https://bugs.webkit.org/show_bug.cgi?id=39015
- http://code.google.com/p/chromium/issues/detail?id=43831
-
- * platform/graphics/chromium/FontCacheLinux.cpp:
- (WebCore::FontCache::createFontPlatformData):
-
-2010-05-20 Zoltan Herczeg <zherczeg@webkit.org>
-
- Reviewed by Dirk Schulze.
-
- Fix a crash caused by feLigthing::apply()
- https://bugs.webkit.org/show_bug.cgi?id=39004
-
- Make FELighting::apply() similar to other filters' applies
- to avoid an assertion fail in putUnmultipliedImageData(),
- when effectDrawingRect has negative location (x or y is less than 0).
-
- Test: svg/filters/feLighting-crash.svg
-
- * svg/graphics/filters/SVGFELighting.cpp:
- (WebCore::FELighting::apply):
-
-2010-05-20 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Modified FrameLoader::urlSelected() to accept a KURL instead of a
- ResourceRequest.
-
- https://bugs.webkit.org/show_bug.cgi?id=39320
-
- Since ResourceRequest has non-explicit single-parameter constructors for
- String and KURL, urlSelected() previously accepted any of String, KURL,
- and ResourceRequest. This revision changes urlSelected() to accept only
- a KURL to make the API tighter and easier to refactor.
-
- No new functionality, so no new tests.
-
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::urlSelected):
- - Changed the public overload to accept a KURL instead of a ResourceRequest.
- * loader/FrameLoader.h:
- - Changed the public overload to accept a KURL instead of a ResourceRequest.
- * wml/WMLAElement.cpp:
- (WebCore::WMLAElement::defaultEventHandler):
- - Updated the call to urlSelected().
+ (WebCore::EventHandler::handleKeyboardSelectionMovement):
-2010-05-20 MORITA Hajime <morrita@google.com>
-
- Reviewed by Kent Tamura.
-
- 2x execCommand ReadAV@NULL
- https://bugs.webkit.org/show_bug.cgi?id=35791
-
- In applyBlockStyle(), a node which is referred from
- nextParagraphStart sometimes removed from the document and goes
- orphan, and that causes an assertion failed. This is because
- moveParagraphs() replaces the node with a new one with some new
- styles applied. So we re-compute nextParagraphStart in that case.
-
- Test: editing/execCommand/35791.html
-
- * dom/Position.h:
- (WebCore::Position::isOrphan):
- * editing/ApplyStyleCommand.cpp:
- (WebCore::ApplyStyleCommand::applyBlockStyle):
- * editing/VisiblePosition.h:
- (WebCore::VisiblePosition::isOrphan):
-
-2010-05-20 Steve Block <steveblock@google.com>
-
- Reviewed by Eric Seidel.
-
- PluginView contains JSC-specific code
- https://bugs.webkit.org/show_bug.cgi?id=38907
-
- Build fix only, no new tests.
-
- * plugins/PluginView.cpp:
- (WebCore::PluginView::start):
- (WebCore::PluginView::stop):
- (WebCore::PluginView::performRequest):
- * plugins/PluginView.h:
-
-2010-05-17 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Eric Seidel.
-
- [GStreamer] enable gst support if USE_GSTREAMER macro is defined
- https://bugs.webkit.org/show_bug.cgi?id=39205
-
- Include gstreamer private player in the build when the
- USE_GSTREAMER macro is enabled.
-
- * platform/graphics/MediaPlayer.cpp:
- (WebCore::installedMediaEngines):
-
-2010-05-19 Vangelis Kokkevis <vangelis@chromium.org>
-
- Reviewed by Darin Fisher.
-
- Implementing hardware accelerated compositing of layers for Chromium.
- Completely removed the existing software compositing path to replace
- it with code implemented using OpenGL.
- https://bugs.webkit.org/show_bug.cgi?id=38783
-
- Tests: Covered by existing compositing tests.
-
- * WebCore.gyp/WebCore.gyp:
- * platform/graphics/chromium/GraphicsLayerChromium.cpp:
- (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
- (WebCore::GraphicsLayerChromium::updateLayerDrawsContent):
- (WebCore::GraphicsLayerChromium::updateContentsRect):
- * platform/graphics/chromium/LayerChromium.cpp:
- (WebCore::LayerChromium::LayerChromium):
- (WebCore::LayerChromium::~LayerChromium):
- (WebCore::LayerChromium::updateGraphicsContext):
- (WebCore::LayerChromium::drawsContentUpdated):
- (WebCore::LayerChromium::updateContents):
- (WebCore::LayerChromium::setContents):
- (WebCore::LayerChromium::setBackingStoreSize):
- (WebCore::LayerChromium::setBounds):
- (WebCore::LayerChromium::setNeedsDisplay):
- * platform/graphics/chromium/LayerChromium.h:
- (WebCore::LayerChromium::contentsDirty):
- (WebCore::LayerChromium::drawsContent):
- * platform/graphics/chromium/LayerRendererChromium.cpp:
- (WebCore::):
- (WebCore::checkGLError):
- (WebCore::loadShader):
- (WebCore::loadShaderProgram):
- (WebCore::toGLMatrix):
- (WebCore::orthoMatrix):
- (WebCore::createLayerTexture):
- (WebCore::LayerRendererChromium::create):
- (WebCore::LayerRendererChromium::LayerRendererChromium):
- (WebCore::LayerRendererChromium::~LayerRendererChromium):
- (WebCore::LayerRendererChromium::drawTexturedQuad):
- (WebCore::LayerRendererChromium::drawLayers):
- (WebCore::LayerRendererChromium::getTextureId):
- (WebCore::LayerRendererChromium::assignTextureForLayer):
- (WebCore::LayerRendererChromium::freeLayerTexture):
- (WebCore::LayerRendererChromium::drawDebugBorder):
- (WebCore::LayerRendererChromium::isLayerVisible):
- (WebCore::LayerRendererChromium::compositeLayersRecursive):
- (WebCore::LayerRendererChromium::makeContextCurrent):
- (WebCore::LayerRendererChromium::initGL):
- (WebCore::LayerRendererChromium::bindCommonAttribLocation):
- (WebCore::LayerRendererChromium::initializeSharedGLObjects):
- * platform/graphics/chromium/LayerRendererChromium.h:
- (WebCore::LayerRendererChromium::):
-
-2010-05-19 Andrey Kosyakov <caseq@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Maintain focus on help screen while it's active.
- https://bugs.webkit.org/show_bug.cgi?id=39237
-
- * inspector/front-end/HelpScreen.js:
- (WebInspector.HelpScreen):
- (WebInspector.HelpScreen.prototype.show):
- (WebInspector.HelpScreen.prototype._hide):
- (WebInspector.HelpScreen.prototype._onBlur):
-
-2010-05-19 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Crash fix in the HistoryController.
-
- The problem was casued by a documented feature of the QWebFrame::setHtml().
- The method doesn't affect a browsing history (doesn't create a HistoryItem instance), so
- m_currentItem and m_previousItem are not set.
-
- A null check was added.
-
- [Qt] The QWebPage crashes on history.pushState().
- https://bugs.webkit.org/show_bug.cgi?id=38840
-
- * loader/HistoryController.cpp:
- (WebCore::HistoryController::pushState):
- (WebCore::HistoryController::replaceState):
-
-2010-05-19 Darin Fisher <darin@chromium.org>
-
- Revert r59790 due to failing Chromium npruntime tests.
-
- * bindings/v8/NPV8Object.cpp:
- (v8ObjectToNPObject):
- (npCreateV8ScriptObject):
- (_NPN_Invoke):
- (_NPN_InvokeDefault):
- (_NPN_Evaluate):
- (_NPN_EvaluateHelper):
- (_NPN_GetProperty):
- (_NPN_SetProperty):
- (_NPN_RemoveProperty):
- (_NPN_HasProperty):
- (_NPN_HasMethod):
- (_NPN_SetException):
- (_NPN_Enumerate):
- (_NPN_Construct):
- * bindings/v8/NPV8Object.h:
- * bindings/v8/V8NPObject.cpp:
- (forgetV8ObjectForNPObject):
- * bindings/v8/V8NPObject.h:
- * bindings/v8/V8NPUtils.cpp:
- (convertV8ObjectToNPVariant):
- (getStringIdentifier):
- * bindings/v8/V8NPUtils.h:
- * bindings/v8/npruntime.cpp:
-
-2010-05-19 Gavin Barraclough <barraclough@apple.com>
-
- Rubber Stamped by Sam Weinig.
-
- JSFunctions are no longer a subclass of InternalFunction.
-
- * bindings/js/ScriptCallStack.cpp:
- (WebCore::ScriptCallStack::ScriptCallStack):
- (WebCore::ScriptCallStack::initialize):
- * bindings/js/ScriptCallStack.h:
-
-2010-05-19 Jian Li <jianli@chromium.org>
-
- Reviewed by Alexey Proskuryakov.
-
- Refactor text encoding detection logic in FileReader.
- https://bugs.webkit.org/show_bug.cgi?id=39131
-
- Changed FileReader::convertToText to call TextResourceDecoder::decode to
- detect the encoding from BOM and decode the text. Though the File API
- spec says that the supplied encoding should be used if it is valid, we
- choose to ignore this requirement in order to be consistent with how
- WebKit decodes the web content: always has the BOM override the provided
- encoding.
-
- * html/FileReader.cpp:
- (WebCore::FileReader::convertToText):
- * html/FileReader.h:
-
-2010-05-19 Abhishek Arya <inferno@chromium.org>
-
- Reviewed by David Hyatt.
-
- Check that the node is a text node before doing a static cast
- to a Text class pointer.
- https://bugs.webkit.org/show_bug.cgi?id=38626
-
- Test: fast/text/text-transform-nontext-node-crash.xhtml
-
- * rendering/RenderText.cpp:
- (WebCore::RenderText::originalText):
- * rendering/RenderTextFragment.cpp:
- (WebCore::RenderTextFragment::originalText):
- (WebCore::RenderTextFragment::previousCharacter):
-
-2010-05-19 Yaar Schnitman <yaar@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Fixed warnings by JSC overloads changes. Also updated the binding reference files for JSC.
- https://bugs.webkit.org/show_bug.cgi?id=39390
-
- * bindings/scripts/CodeGeneratorJS.pm:
- * bindings/scripts/test/JS/JSTestInterface.cpp:
- (WebCore::):
- * bindings/scripts/test/JS/JSTestObj.cpp:
- (WebCore::):
-
-2010-05-19 Darin Fisher <darin@chromium.org>
-
- Reviewed by Nate Chapin.
-
- [chromium] Provide a way to catch exceptions thrown while interacting
- with a NPObject via WebBindings methods.
- https://bugs.webkit.org/show_bug.cgi?id=39378
-
- This change also includes a small bit of cleanup in V8NPObject and
- friends. I moved code into the WebCore namespace where appropriate.
-
- In _NPN_Invoke, I also moved the call to _NPN_Evaluate outside of the
- context scope. I did this to avoid having nested ExceptionCatcher
- objects, which is not strictly necessary, but it seemed cleaner.
- _NPN_Evaluate already takes care of creating a context scope.
-
- * bindings/v8/NPV8Object.cpp:
- (WebCore::v8ObjectToNPObject):
- (WebCore::npCreateV8ScriptObject):
- (_NPN_Invoke):
- (_NPN_InvokeDefault):
- (_NPN_Evaluate):
- (_NPN_EvaluateHelper):
- (_NPN_GetProperty):
- (_NPN_SetProperty):
- (_NPN_RemoveProperty):
- (_NPN_HasProperty):
- (_NPN_HasMethod):
- (_NPN_SetException):
- (_NPN_Enumerate):
- (_NPN_Construct):
- * bindings/v8/NPV8Object.h:
- * bindings/v8/V8NPObject.cpp:
- * bindings/v8/V8NPObject.h:
- * bindings/v8/V8NPUtils.cpp:
- (WebCore::convertV8ObjectToNPVariant):
- (WebCore::pushExceptionHandler):
- (WebCore::popExceptionHandler):
- (WebCore::ExceptionCatcher::~ExceptionCatcher):
- * bindings/v8/V8NPUtils.h:
- * bindings/v8/npruntime.cpp:
-
-2010-05-19 Yaar Schnitman <yaar@chromium.org>
-
- Unreviewed, rolling out r59769.
- http://trac.webkit.org/changeset/59769
- https://bugs.webkit.org/show_bug.cgi?id=37815
-
- Broke GTK again
-
- * Android.jscbindings.mk:
- * CMakeLists.txt:
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/js/JSBindingsAllInOne.cpp:
- * bindings/js/JSCallbackData.cpp:
- (WebCore::JSCallbackData::invokeCallback):
- * bindings/js/JSEventListener.cpp:
- (WebCore::JSEventListener::handleEvent):
- * bindings/js/JSInjectedScriptHostCustom.cpp:
- (WebCore::InjectedScriptHost::createInjectedScript):
- * bindings/js/JSMainThreadExecState.cpp: Removed.
- * bindings/js/JSMainThreadExecState.h: Removed.
- * bindings/js/ScheduledAction.cpp:
- (WebCore::ScheduledAction::executeFunctionInContext):
- (WebCore::ScheduledAction::execute):
- * bindings/js/ScheduledAction.h:
- * bindings/js/ScriptController.cpp:
- (WebCore::ScriptController::evaluateInWorld):
- * bindings/js/ScriptController.h:
- * bindings/js/ScriptFunctionCall.cpp:
- (WebCore::ScriptFunctionCall::call):
- * bindings/objc/ObjCEventListener.mm:
- * bindings/objc/WebScriptObject.mm:
- (-[WebScriptObject callWebScriptMethod:withArguments:]):
- (-[WebScriptObject evaluateWebScript:]):
- * bindings/scripts/CodeGeneratorObjC.pm:
- * bindings/scripts/test/ObjC/DOMTestCallback.mm:
- (-[DOMTestCallback callbackWithClass1Param:]):
- (-[DOMTestCallback callbackWithClass2Param:strArg:]):
- (-[DOMTestCallback callbackWithNonBoolReturnType:]):
- (-[DOMTestCallback customCallback:class6Param:]):
- * bindings/scripts/test/ObjC/DOMTestInterface.mm:
- * bindings/scripts/test/ObjC/DOMTestObj.mm:
- (-[DOMTestObj readOnlyIntAttr]):
- (-[DOMTestObj readOnlyStringAttr]):
- (-[DOMTestObj readOnlyTestObjAttr]):
- (-[DOMTestObj intAttr]):
- (-[DOMTestObj setIntAttr:]):
- (-[DOMTestObj longLongAttr]):
- (-[DOMTestObj setLongLongAttr:]):
- (-[DOMTestObj unsignedLongLongAttr]):
- (-[DOMTestObj setUnsignedLongLongAttr:]):
- (-[DOMTestObj stringAttr]):
- (-[DOMTestObj setStringAttr:]):
- (-[DOMTestObj testObjAttr]):
- (-[DOMTestObj setTestObjAttr:]):
- (-[DOMTestObj attrWithException]):
- (-[DOMTestObj setAttrWithException:]):
- (-[DOMTestObj attrWithSetterException]):
- (-[DOMTestObj setAttrWithSetterException:]):
- (-[DOMTestObj attrWithGetterException]):
- (-[DOMTestObj setAttrWithGetterException:]):
- (-[DOMTestObj customAttr]):
- (-[DOMTestObj setCustomAttr:]):
- (-[DOMTestObj scriptStringAttr]):
- (-[DOMTestObj voidMethod]):
- (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
- (-[DOMTestObj intMethod]):
- (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
- (-[DOMTestObj objMethod]):
- (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
- (-[DOMTestObj methodThatRequiresAllArgs:objArg:]):
- (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]):
- (-[DOMTestObj serializedValue:]):
- (-[DOMTestObj methodWithException]):
- (-[DOMTestObj customMethod]):
- (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
- (-[DOMTestObj customArgsAndException:]):
- (-[DOMTestObj addEventListener:listener:useCapture:]):
- (-[DOMTestObj removeEventListener:listener:useCapture:]):
- (-[DOMTestObj withDynamicFrame]):
- (-[DOMTestObj withDynamicFrameAndArg:]):
- (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
- (-[DOMTestObj withDynamicFrameAndUserGesture:]):
- (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
- (-[DOMTestObj withScriptStateVoid]):
- (-[DOMTestObj withScriptStateObj]):
- (-[DOMTestObj withScriptStateVoidException]):
- (-[DOMTestObj withScriptStateObjException]):
- (-[DOMTestObj methodWithOptionalArg:]):
- (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
- (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
- * bindings/v8/ScriptController.cpp:
- * bindings/v8/ScriptController.h:
- * html/HTMLFrameElementBase.cpp:
- (WebCore::HTMLFrameElementBase::isURLAllowed):
-
-2010-05-19 Dirk Pranke <dpranke@chromium.org>
-
- Try again to roll out r58675.
-
- * notifications/Notification.h:
- * notifications/Notification.idl:
-
-2010-05-19 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Dave Hyatt.
-
- REGRESSION (r59385) crash destroying inline renderers
- https://bugs.webkit.org/show_bug.cgi?id=39143
- <rdar://problem/8003662>
-
- The goal of r59385 was to make sure that the layout of block after all its children had been removed produced the identical result
- as the one of a newly created empty block. In order to do so, we had to make sure that the m_inlineChildren flag was reset to true when
- the block had no children (as it is upon creation).
- I discovered that, by doing that for anonymous blocks it leads removeChild to conclude that the anonymous children can be removed,
- without considering that the anonymous block could be part of a continuation chain. For this reason, when RenderInline::destroy()
- tries to remove the continuations we are effectively deleting a renderer that had been deleted already.
-
- Test: fast/inline-block/anonymous-block-crash.html
-
- * rendering/RenderBlock.cpp:
- (WebCore::RenderBlock::layoutBlock): resetting the flag m_inlineChildren only for non anonymous blocks otherwise we incurr in
- a double deletion of the renderer that causes the crash.
-
-2010-05-19 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r59782.
- http://trac.webkit.org/changeset/59782
- https://bugs.webkit.org/show_bug.cgi?id=39379
-
- broke DRT build (Requested by dpranke on #webkit).
-
- * notifications/Notification.h:
- (WebCore::Notification::dir):
- (WebCore::Notification::setDir):
- (WebCore::Notification::replaceId):
- (WebCore::Notification::setReplaceId):
- * notifications/Notification.idl:
-
-2010-05-18 David Hyatt <hyatt@apple.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=21049, opacity and position:relative fail in multi-column layouts.
-
- Make layers split painting across columns just as normal flow content does. This is actually very
- challenging, since intermediate multicol layers can exist between a child that has to be split and
- its enclosing stacking context.
-
- In order to properly paginate layers, a bit is set on all pagination roots, i.e., layers that will get
- split and thus split any descendant layers that they are also responsible for painting. For a paginated
- root, we walk up the layer hierarchy and collect all intermediate multicol blocks between the child
- and the enclosing stacking context.
-
- We then recur from the outside in, applying clipping and translation as we break up the layer into strips.
-
- Composited layers remain unsplittable and have a hacked offset still in order to be placed in the right
- column.
-
- Painting and hit testing of columns has been simplified in all of the functions to use the x position of
- the column rect instead of trying to increment an x offset by adding in widths and column gaps. This
- makes those functions directionality-independent (and the LTR/RTL code paths are now the same).
-
- Fix repainting of columns as well to make sure rects are split across columns only after relative position
- and transforms have been applied.
-
- Added fast/multicol/layers-split-across-columns.html
-
- * rendering/RenderBlock.cpp:
- (WebCore::RenderBlock::paintColumnContents):
- (WebCore::RenderBlock::adjustRectForColumns):
- (WebCore::RenderBlock::adjustForColumns):
- * rendering/RenderBlock.h:
- * rendering/RenderBox.cpp:
- (WebCore::RenderBox::computeRectForRepaint):
- * rendering/RenderLayer.cpp:
- (WebCore::RenderLayer::RenderLayer):
- (WebCore::RenderLayer::updateLayerPositions):
- (WebCore::RenderLayer::updatePagination):
- (WebCore::RenderLayer::updateLayerPosition):
- (WebCore::RenderLayer::paintLayer):
- (WebCore::RenderLayer::paintList):
- (WebCore::RenderLayer::paintPaginatedChildLayer):
- (WebCore::RenderLayer::paintChildLayerIntoColumns):
- (WebCore::RenderLayer::hitTestLayer):
- (WebCore::RenderLayer::hitTestList):
- (WebCore::RenderLayer::hitTestPaginatedChildLayer):
- (WebCore::RenderLayer::hitTestChildLayerColumns):
- * rendering/RenderLayer.h:
- (WebCore::RenderLayer::):
- (WebCore::RenderLayer::isPaginated):
-
-2010-05-18 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Attempt to revert r58765 to see if it was causing a performance
- regression.
-
- https://bugs.webkit.org/show_bug.cgi?id=39328
-
- * notifications/Notification.h:
- * notifications/Notification.idl:
-
-2010-05-19 Kevin Watters <kevinwatters@gmail.com>
-
- Reviewed by Kevin Ollivier.
-
- [wx] Ensure m_nsFont is initialized properly, and tweak fallback font handling
- to handle more cases.
- https://bugs.webkit.org/show_bug.cgi?id=39365
-
- * platform/graphics/wx/FontCacheWx.cpp:
- (WebCore::FontCache::getFontDataForCharacters):
- (WebCore::FontCache::getSimilarFontPlatformData):
- (WebCore::FontCache::getLastResortFallbackFont):
- * platform/graphics/wx/FontPlatformDataWx.cpp:
- (WebCore::FontPlatformData::FontPlatformData):
-
-2010-05-19 Marcus Bulach <bulach@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Fixes Windows Qt Release post r59772.
- https://bugs.webkit.org/show_bug.cgi?id=39369
-
- * platform/GeolocationService.cpp:
-
-2010-05-19 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Add support for handling basic <script> tags in the HTML5 Parser
- https://bugs.webkit.org/show_bug.cgi?id=39350
-
- WebKit currently executes scripts from HTMLTokenizer in one giagantic
- hack. HTML 5 requires that we execute scripts from the tree-builders/parser.
-
- It will take me a while to re-factor enough of HTMLTokenizer to be able to
- move the script execution logic without breaking things. In the interest
- of allowing Adam to continue improving the HTML 5 lexer I've added this
- very basic (and very incomplete) <script> support to the HTML 5 parser code
- path so the he can run the HTML5 parser test suite.
-
- <script> support is tested by most of the layout tests.
-
- * dom/ScriptElement.cpp:
- (WebCore::useHTML5Parser):
- (WebCore::ScriptElement::finishParsingChildren):
-
-2010-05-19 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Move member variables from NamedMappedAttrMap to its base class NamedNodeMap
- https://bugs.webkit.org/show_bug.cgi?id=39367
- <rdar://problem/8003304>
-
- This lets us get rid of the vtable pointer in NamedNodeMap which saves 8 bytes, and also allows us to
- fit the m_mappedAttributeCount unsigned int in the RefCounted padding (in 64-bit).
-
- The net result is that we shrink the NamedMappedAttrMap size by 16 bytes, while keeping the size of NamedNodeMap the same.
-
- * dom/Element.cpp:
- (WebCore::Element::createAttributeMap):
- * dom/Element.h:
- * dom/NamedMappedAttrMap.cpp:
- * dom/NamedMappedAttrMap.h:
- (WebCore::NamedMappedAttrMap::NamedMappedAttrMap):
- * dom/NamedNodeMap.cpp:
- (WebCore::NamedNodeMap::clearAttributes):
- * dom/NamedNodeMap.h:
- (WebCore::NamedNodeMap::NamedNodeMap):
- * dom/Node.cpp:
- (WebCore::Node::dumpStatistics):
- * dom/StyledElement.cpp:
- * dom/StyledElement.h:
-
-2010-05-19 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Use ASSERT_UNUSED instead of UNUSED_PARAM.
-
- * dom/Attribute.cpp:
- (WebCore::Attribute::unbindAttr):
-
-2010-05-19 Sam Weinig <sam@webkit.org>
-
- Rubber-stamped by Anders Carlsson.
-
- Complete the merge of MappedAttribute and Attribute.
-
- Files elided for brevity.
-
-2010-05-19 Marcus Bulach <bulach@chromium.org>
-
- Reviewed by Steve Block.
-
- [chromium] Adds supports for layout tests using GeolocationServiceMock.
- https://bugs.webkit.org/show_bug.cgi?id=39081
-
- Allows injection of GeolocationServiceMock factory.
-
- Tests: existing fast/dom/Geolocation/*
-
- * platform/GeolocationService.cpp:
- (WebCore::GeolocationService::useMock):
- (WebCore::GeolocationService::useMockFactory):
- * platform/GeolocationService.h:
- * platform/chromium/GeolocationServiceChromium.cpp:
- (WebCore::GeolocationServiceChromium::GeolocationServiceChromium):
-
-2010-05-19 Justin Schuh <jschuh@chromium.org>
+2010-05-31 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
- Moving frame.src checks out of the bindings
- https://bugs.webkit.org/show_bug.cgi?id=37815
-
- Moved JavaScript frame.src checks out of bindings and into
- HTMLFrameElementBase. Added main thread state stack to JavaScriptCore
- so ExecState is available inside core DOM. Updated affected bindings
- (except for GObject, which will need to be updated to avoid origin
- failures inside native code).
-
- * Android.jscbindings.mk:
- * CMakeLists.txt:
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/js/JSBindingsAllInOne.cpp:
- * bindings/js/JSCallbackData.cpp:
- (WebCore::JSCallbackData::invokeCallback):
- * bindings/js/JSEventListener.cpp:
- (WebCore::JSEventListener::handleEvent):
- * bindings/js/JSInjectedScriptHostCustom.cpp:
- (WebCore::InjectedScriptHost::createInjectedScript):
- * bindings/js/JSMainThreadExecState.cpp: Added.
- * bindings/js/JSMainThreadExecState.h: Added.
- (WebCore::JSMainThreadExecState::currentState):
- (WebCore::JSMainThreadExecState::call):
- (WebCore::JSMainThreadExecState::evaluate):
- (WebCore::JSMainThreadExecState::JSMainThreadExecState):
- (WebCore::JSMainThreadExecState::~JSMainThreadExecState):
- (WebCore::JSMainThreadNullState::JSMainThreadNullState):
- * bindings/js/ScheduledAction.cpp:
- (WebCore::ScheduledAction::executeFunctionInContext):
- (WebCore::ScheduledAction::execute):
- * bindings/js/ScheduledAction.h:
- * bindings/js/ScriptController.cpp:
- (WebCore::ScriptController::evaluateInWorld):
- (WebCore::ScriptController::canAccessFromCurrentOrigin):
- * bindings/js/ScriptController.h:
- * bindings/js/ScriptFunctionCall.cpp:
- (WebCore::ScriptFunctionCall::call):
- * bindings/objc/ObjCEventListener.mm:
- * bindings/objc/WebScriptObject.mm:
- (-[WebScriptObject callWebScriptMethod:withArguments:]):
- (-[WebScriptObject evaluateWebScript:]):
- * bindings/scripts/CodeGeneratorObjC.pm:
- * bindings/scripts/test/ObjC/DOMTestCallback.mm:
- (-[DOMTestCallback callbackWithClass1Param:]):
- (-[DOMTestCallback callbackWithClass2Param:strArg:]):
- (-[DOMTestCallback callbackWithNonBoolReturnType:]):
- (-[DOMTestCallback customCallback:class6Param:]):
- * bindings/scripts/test/ObjC/DOMTestInterface.mm:
- * bindings/scripts/test/ObjC/DOMTestObj.mm:
- (-[DOMTestObj readOnlyIntAttr]):
- (-[DOMTestObj readOnlyStringAttr]):
- (-[DOMTestObj readOnlyTestObjAttr]):
- (-[DOMTestObj intAttr]):
- (-[DOMTestObj setIntAttr:]):
- (-[DOMTestObj longLongAttr]):
- (-[DOMTestObj setLongLongAttr:]):
- (-[DOMTestObj unsignedLongLongAttr]):
- (-[DOMTestObj setUnsignedLongLongAttr:]):
- (-[DOMTestObj stringAttr]):
- (-[DOMTestObj setStringAttr:]):
- (-[DOMTestObj testObjAttr]):
- (-[DOMTestObj setTestObjAttr:]):
- (-[DOMTestObj attrWithException]):
- (-[DOMTestObj setAttrWithException:]):
- (-[DOMTestObj attrWithSetterException]):
- (-[DOMTestObj setAttrWithSetterException:]):
- (-[DOMTestObj attrWithGetterException]):
- (-[DOMTestObj setAttrWithGetterException:]):
- (-[DOMTestObj customAttr]):
- (-[DOMTestObj setCustomAttr:]):
- (-[DOMTestObj scriptStringAttr]):
- (-[DOMTestObj voidMethod]):
- (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
- (-[DOMTestObj intMethod]):
- (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
- (-[DOMTestObj objMethod]):
- (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
- (-[DOMTestObj methodThatRequiresAllArgs:objArg:]):
- (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]):
- (-[DOMTestObj serializedValue:]):
- (-[DOMTestObj methodWithException]):
- (-[DOMTestObj customMethod]):
- (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
- (-[DOMTestObj customArgsAndException:]):
- (-[DOMTestObj addEventListener:listener:useCapture:]):
- (-[DOMTestObj removeEventListener:listener:useCapture:]):
- (-[DOMTestObj withDynamicFrame]):
- (-[DOMTestObj withDynamicFrameAndArg:]):
- (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
- (-[DOMTestObj withDynamicFrameAndUserGesture:]):
- (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
- (-[DOMTestObj withScriptStateVoid]):
- (-[DOMTestObj withScriptStateObj]):
- (-[DOMTestObj withScriptStateVoidException]):
- (-[DOMTestObj withScriptStateObjException]):
- (-[DOMTestObj methodWithOptionalArg:]):
- (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
- (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
- * bindings/v8/ScriptController.cpp:
- (WebCore::ScriptController::canAccessFromCurrentOrigin):
- * bindings/v8/ScriptController.h:
- * html/HTMLFrameElementBase.cpp:
- (WebCore::HTMLFrameElementBase::isURLAllowed):
-
-2010-05-19 Andreas Kling <andreas.kling@nokia.com>
-
- Reviewed by Darin Adler.
-
- CanvasRenderingContext2D's property getters that return colors should
- serialize them in accordance with the HTML5 spec (4.8.11.1.4)
- Setters should ignore invalid colors.
-
- Also, shadowColor should initially be transparent black (4.8.11.1.6)
-
- https://bugs.webkit.org/show_bug.cgi?id=38845
-
- Refactored CanvasStyle to store an RGBA32 instead of RGBA components and/or the color string.
-
- Spec links:
- http://www.whatwg.org/specs/web-apps/current-work/#serialization-of-a-color
- http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-shadowcolor
-
- * html/canvas/CanvasRenderingContext2D.cpp:
- (WebCore::CanvasRenderingContext2D::State::State):
- (WebCore::CanvasRenderingContext2D::shadowColor):
- (WebCore::CanvasRenderingContext2D::setShadowColor):
- (WebCore::CanvasRenderingContext2D::setShadow):
- (WebCore::CanvasRenderingContext2D::clearShadow):
- (WebCore::CanvasRenderingContext2D::applyShadow):
- * html/canvas/CanvasRenderingContext2D.h:
- * html/canvas/CanvasStyle.cpp:
- (WebCore::CanvasStyle::CanvasStyle):
- (WebCore::CanvasStyle::create):
- (WebCore::CanvasStyle::applyStrokeColor):
- (WebCore::CanvasStyle::applyFillColor):
- * html/canvas/CanvasStyle.h:
- (WebCore::CanvasStyle::create):
- (WebCore::CanvasStyle::color):
- (WebCore::CanvasStyle::):
- (WebCore::CanvasStyle::CMYKAValues::CMYKAValues):
- * platform/graphics/Color.cpp:
- (WebCore::Color::serialized):
- * platform/graphics/Color.h:
-
-2010-05-19 Andreas Kling <andreas.kling@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] REGRESSION: CoolClock isn't rendered properly
-
- https://bugs.webkit.org/show_bug.cgi?id=38526
-
- CanvasRenderingContext2D's arc() should connect to the previous point
- with a straight line (HTML5 spec 4.8.11.1.8), but if the path is empty
- to begin with, we don't want a line back to (0,0)
- This also fixes the rendering artifact discussed in bug 36226.
-
- Spec link:
- http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-arc
-
- Test: fast/canvas/canvas-arc-connecting-line.html
-
- * platform/graphics/qt/PathQt.cpp:
- (WebCore::Path::addArc):
-
-2010-05-19 Alexander Pavlov <apavlov@chromium.org>
-
- Reviewed by Jeremy Orlow.
-
- Fix whitespace for the bug 38906
- https://bugs.webkit.org/show_bug.cgi?id=39351
-
- No new tests required (no code change).
-
- * css/CSSParser.cpp:
- (WebCore::CSSParser::~CSSParser):
- (WebCore::CSSParser::setupParser):
- (WebCore::CSSParser::parseSheet):
- (WebCore::CSSParser::parseValue):
- (WebCore::CSSParser::parseSelector):
- (WebCore::unitFromString):
- (WebCore::CSSParser::checkForOrphanedUnits):
- (WebCore::CSSParser::parseWCSSInputProperty):
- (WebCore::CSSParser::parseFillShorthand):
- (WebCore::CSSParser::parseAnimationShorthand):
- (WebCore::CSSParser::parseTransitionShorthand):
- (WebCore::CSSParser::parseShorthand):
- (WebCore::CSSParser::parse4Values):
- (WebCore::CSSParser::parseAttr):
- (WebCore::CSSParser::parseFillPositionXY):
- (WebCore::CSSParser::parseFillPosition):
- (WebCore::CSSParser::parseFillRepeat):
- (WebCore::CSSParser::parseFillProperty):
- (WebCore::CSSParser::parseAnimationTimingFunction):
- (WebCore::CSSParser::parseAnimationProperty):
- (WebCore::CSSParser::parseDashboardRegions):
- (WebCore::CSSParser::parseCounterContent):
- (WebCore::CSSParser::parseShape):
- (WebCore::CSSParser::parseFont):
- (WebCore::CSSParser::parseFontFamily):
- (WebCore::CSSParser::parseFontFaceSrc):
- (WebCore::parseInt):
- (WebCore::CSSParser::parseColor):
- (WebCore::CSSParser::parseShadow):
- (WebCore::CSSParser::parseReflect):
- (WebCore::BorderImageParseContext::commitNumber):
- (WebCore::BorderImageParseContext::commitBorderImage):
- (WebCore::CSSParser::parseBorderImage):
- (WebCore::CSSParser::parseCounter):
- (WebCore::parseGradientPoint):
- (WebCore::parseGradientColorStop):
- (WebCore::CSSParser::parseGradient):
- (WebCore::CSSParser::parseCanvas):
- (WebCore::CSSParser::parseTransform):
- (WebCore::CSSParser::parseTransformOrigin):
- (WebCore::CSSParser::parsePerspectiveOrigin):
- (WebCore::CSSParser::text):
- (WebCore::CSSParser::createRuleList):
- (WebCore::CSSParser::createVariablesRule):
- (WebCore::CSSParser::parseVariable):
- (WebCore::CSSParser::parsePropertyWithResolvedVariables):
- (WebCore::CSSParser::checkForVariables):
- (WebCore::CSSParser::createKeyframeRule):
- * css/CSSParser.h:
- * inspector/InspectorController.cpp:
- (WebCore::InspectorController::setFrontend):
- (WebCore::InspectorController::show):
- (WebCore::InspectorController::unbindAllResources):
- (WebCore::InspectorController::didCommitLoad):
- (WebCore::InspectorController::scriptImported):
- (WebCore::InspectorController::getCurrentUserInitiatedProfileName):
- (WebCore::InspectorController::removeBreakpoint):
- (WebCore::drawOutlinedQuad):
- (WebCore::InspectorController::stopTiming):
- * inspector/InspectorDOMAgent.cpp:
- (WebCore::InspectorDOMAgent::didRemoveDOMNode):
- (WebCore::InspectorDOMAgent::getStyles):
- (WebCore::InspectorDOMAgent::applyStyleText):
-
-2010-05-19 Steve Block <steveblock@google.com>
-
- Reviewed by Nate Chapin.
-
- V8 code generator does not add ENABLE guards around attribute getters and setters
- https://bugs.webkit.org/show_bug.cgi?id=39222
-
- No new tests, build fix only.
-
- * bindings/scripts/CodeGeneratorV8.pm:
-
-2010-05-19 Jeremy Orlow <jorlow@chromium.org>
-
- Unreviewed build fix for Chromium.
-
- * storage/IndexedDatabaseImpl.cpp:
-
-2010-05-17 Jeremy Orlow <jorlow@chromium.org>
-
- Reviewed by Darin Fisher.
-
- Hook Chromium's WebIndexedDatabaseImpl up to IndexedDatabaseImpl
- https://bugs.webkit.org/show_bug.cgi?id=39216
-
- All of these functions are supposed to be passing around the origin since
- the caller of IndexedDatabaseImpl might not be able to pass in a Frame*
- object. I tried to fix this in an ealier patch, but obviously messed up.
-
- Also change passing security origin strings to passing SecurityOrigin
- objects.
-
- No behavior change because Chromium was emulating the old behavior before
- even though the code wasn't properly hooked up.
-
- * storage/IndexedDatabase.h:
- * storage/IndexedDatabaseImpl.cpp:
- (WebCore::IndexedDatabaseImpl::open):
- * storage/IndexedDatabaseImpl.h:
- * storage/IndexedDatabaseRequest.cpp:
- (WebCore::IndexedDatabaseRequest::open):
-
-2010-05-19 Ben Murdoch <benm@google.com>
-
- Reviewed by Darin Adler.
-
- Touch events are marked DontEnum in DOMWindow.idl
- https://bugs.webkit.org/show_bug.cgi?id=39118
-
- Touch events are the only attribute event listeners on the
- window object that are marked DontEnum. For consistency allow
- them to be enumerated.
-
- * page/DOMWindow.idl: Remove DontEnum from touchcancel, touchend,
- touchstart and touchmove attributes.
-
-2010-05-19 Simon Hausmann <simon.hausmann@nokia.com>
-
- [Qt] Fix build warning
-
- NamedAttrMap.h has been renamed to NamedNodeMap.h
-
- * WebCore.pro:
-
-2010-05-19 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Add an HTML parsing benchmark
- https://bugs.webkit.org/show_bug.cgi?id=39338
-
- This benchmark parses the HTML5 specification 10 times and
- reports how long it takes. It does this 21 times, discarding
- the first warm-up run, and then prints the average time and
- standard deviation.
+ REGRESSION(60409): window.onload never fires when using HTML5 parser
+ https://bugs.webkit.org/show_bug.cgi?id=39981
- Sharking the benchmark correctly shows over 60% of the time spent under HTMLTokenizer::write().
- The numbers from the benchmark are rather consistent. On my
- Mac Book Pro, I consistently see standard deviations < 2% of total time.
-
- * benchmarks/parser/html-parser.html: Added.
- * benchmarks/parser/resources/html5.html: Added.
-
-2010-05-18 Yuzo Fujishima <yuzo@google.com>
-
- Reviewed by Shinichiro Hamaji.
-
- Make CSS Parser properly handle only-for-pages pseudo-classes.
-
- A new Match category, PagePseudoClass, is introduced to distinguish
- only-for-pages pseudo-classes from others. A new symbol, pseudo_page,
- is introduced to handle them separately.
-
- https://bugs.webkit.org/show_bug.cgi?id=38731
-
- * css/CSSGrammar.y:
- * css/CSSParser.cpp:
- (WebCore::CSSParser::createMarginAtRule):
- * css/CSSParser.h:
- * css/CSSSelector.cpp:
- (WebCore::CSSSelector::extractPseudoType):
- (WebCore::CSSSelector::selectorText):
- * css/CSSSelector.h:
- (WebCore::CSSSelector::):
- * css/CSSStyleSelector.cpp:
- (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
-
-2010-05-19 Adam Barth <abarth@webkit.org>
-
- Reviewed by David Hyatt.
-
- Change the API of nextToken to distinguish between emitting a token and just running out of input
- https://bugs.webkit.org/show_bug.cgi?id=39349
-
- I'm not sure there's a functional difference with this patch yet, but
- as discussed with Eric, we need this to handle attributes.
-
- * html/HTML5Lexer.cpp:
- (WebCore::HTML5Lexer::reset):
- (WebCore::HTML5Lexer::nextToken):
- * html/HTML5Lexer.h:
- * html/HTML5Token.h:
- (WebCore::HTML5Token::HTML5Token):
- (WebCore::HTML5Token::clear):
- (WebCore::HTML5Token::beginStartTag):
- (WebCore::HTML5Token::beginEndTag):
- (WebCore::HTML5Token::beginCharacter):
- * html/HTML5Tokenizer.cpp:
- (WebCore::HTML5Tokenizer::write):
-
-2010-05-18 Eric Seidel <eric@webkit.org>
-
- Reviewed by Maciej Stachowiak.
-
- Refactor HTMLTokenizer::write to make it more readable and split out the lexer bits from flow control bits
- https://bugs.webkit.org/show_bug.cgi?id=39318
-
- No functional changes, only moving code into smaller functions.
-
- This code is already covered by numerous layout tests.
-
- HTML parsing benchmark shows this to be a wash.
-
- * dom/Tokenizer.h:
- * html/HTMLTokenizer.cpp:
- (WebCore::HTMLTokenizer::advance):
- - New funtion to encapulate code which will move into HTMLLexer eventually.
- - Use ALWAYS_INLINE to make sure compilers inline this large
- function (otherwise this patch is a regression).
- (WebCore::HTMLTokenizer::willWriteHTML):
- - New function to handle calling any pre-write delegates.
- (WebCore::HTMLTokenizer::didWriteHTML):
- - New function to handle calling any post-write delegates.
- (WebCore::HTMLTokenizer::write):
- - Call the new functions.
- * html/HTMLTokenizer.h:
-
-2010-05-18 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Make the HTML5 parser correctly parse <div>Hello</div>
- https://bugs.webkit.org/show_bug.cgi?id=39345
-
- Again, this patch is covered by a large number of LayoutTests.
-
- * html/HTML5Lexer.cpp:
- (WebCore::HTML5Lexer::HTML5Lexer):
- (WebCore::HTML5Lexer::reset):
- (WebCore::HTML5Lexer::nextToken):
- (WebCore::HTML5Lexer::emitCommentToken):
- (WebCore::HTML5Lexer::emitCharacter):
- (WebCore::HTML5Lexer::emitCurrentTagToken):
- * html/HTML5Lexer.h:
- * html/HTML5Token.h:
- (WebCore::HTML5Token::beginCharacter):
- (WebCore::HTML5Token::appendToCharacter):
- (WebCore::HTML5Token::characters):
- * html/HTML5Tokenizer.cpp:
- (WebCore::convertToOldStyle):
-
-2010-05-18 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Make the HTML5 parser actually parse <div></div>
- https://bugs.webkit.org/show_bug.cgi?id=39342
-
- This patch is covered by every LayoutTest. Yes. All of them. :)
-
- * html/HTML5Lexer.cpp:
- (WebCore::toLowerCase):
- (WebCore::HTML5Lexer::HTML5Lexer):
- (WebCore::HTML5Lexer::nextToken):
- (WebCore::HTML5Lexer::emitCharacter):
- * html/HTML5Lexer.h:
- * html/HTML5Token.h:
- (WebCore::HTML5Token::HTML5Token):
- (WebCore::HTML5Token::beginStartTag):
- (WebCore::HTML5Token::beginEndTag):
- (WebCore::HTML5Token::appendToName):
- (WebCore::HTML5Token::type):
- (WebCore::HTML5Token::name):
- (WebCore::HTML5Token::selfClosing):
- (WebCore::HTML5Token::attrs):
* html/HTML5Tokenizer.cpp:
- (WebCore::convertToOldStyle):
- (WebCore::HTML5Tokenizer::write):
-
-2010-05-18 Tony Chang <tony@chromium.org>
-
- Reviewed by Ojan Vafai.
-
- REGRESSION: crash in WebCore::CompositeEditCommand::splitTreeToNode when indenting in an empty li
- https://bugs.webkit.org/show_bug.cgi?id=38232
-
- Test: editing/execCommand/crash-indenting-list-item.html
-
- * editing/IndentOutdentCommand.cpp:
- (WebCore::IndentOutdentCommand::tryIndentingAsListItem):
- (WebCore::IndentOutdentCommand::indentIntoBlockquote):
-
-2010-05-18 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Darin Adler.
-
- ':optional' pseudo selector should not be applied to <keygen> and <progress>
- https://bugs.webkit.org/show_bug.cgi?id=39292
-
- Test: fast/css/pseudo-required-optional-unapplied.html
-
- * html/HTMLKeygenElement.h:
- (WebCore::HTMLKeygenElement::isOptionalFormControl):
- Add isOptionalFormControl() returning false.
- HTMLKeygenElement inherits HTMLSelectElement, which should return true
- for isOptionalFormControl(). However, <keygen> is not :optional
- according to the standard.
- * html/HTMLProgressElement.h:
- Remove isOptionalFormControl().
-
-2010-05-18 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Implement the DOCTYPE states for the HTML5 lexer
- https://bugs.webkit.org/show_bug.cgi?id=39335
-
- * html/HTML5Lexer.cpp:
- (WebCore::HTML5Lexer::nextToken):
- (WebCore::emitCurrentDoctypeToken):
- * html/HTML5Lexer.h:
-
-2010-05-18 Tony Chang <tony@chromium.org>
-
- Reviewed by Ojan Vafai.
-
- [chromium] ignore IME events if the keydown event was prevented
- https://bugs.webkit.org/show_bug.cgi?id=37692
-
- A manual test to verify the IME behavior since the existing methods of
- textInputController test at a lower level than the fix.
-
- * manual-tests/ime-keydown-preventdefault.html: Added.
-
-2010-05-18 Sam Weinig <sam@webkit.org>
-
- Fix the build for platforms that don't always include UnusedParam.h
-
- * dom/Attribute.cpp:
-
-2010-05-18 MORITA Hajime <morrita@google.com>
-
- Reviewed by Kent Tamura.
-
- [Chromium] Windows: Determinate progress bar should have glossy overlay
- https://bugs.webkit.org/show_bug.cgi?id=39269
-
- - Moved animation code from RenderThemeChromiumWin to chromium tree
- because it should be behind the theme implementation, which lives
- in chromium tree.
- - Passed current time to the bridge, which will be used to compute
- the state of the theme animation.
-
- No new tests, animation effect can be confirmed only manually.
-
- * platform/chromium/ChromiumBridge.h:
- * rendering/RenderProgress.h:
- (WebCore::RenderProgress::animationStartTime): Added.
- * rendering/RenderThemeChromiumWin.cpp:
- (WebCore::RenderThemeChromiumWin::animationDurationForProgressBar):
- (WebCore::RenderThemeChromiumWin::paintProgressBar):
-
-2010-05-18 Sam Weinig <sam@webkit.org>
-
- Fix release build.
-
- * dom/Attribute.cpp:
- (WebCore::Attribute::unbindAttr):
-
-2010-05-18 Sam Weinig <sam@webkit.org>
-
- Reviewed by Maciej Stachowiak.
-
- Move Attr pointer from Attribute to a global HashMap.
- https://bugs.webkit.org/show_bug.cgi?id=39337
- <rdar://problem/8001168>
-
- Shaves another word off of Attribute.
-
- * dom/Attr.cpp:
- (WebCore::Attr::Attr):
- (WebCore::Attr::~Attr):
- * dom/Attribute.cpp:
- (WebCore::attributeAttrMap):
- (WebCore::Attribute::attr):
- (WebCore::Attribute::createAttrIfNeeded):
- (WebCore::Attribute::bindAttr):
- (WebCore::Attribute::unbindAttr):
- * dom/Attribute.h:
- (WebCore::Attribute::Attribute):
-
-2010-05-18 Jakob Petsovits <jpetsovits@rim.com>
-
- Unreviewed, forgot to svn add source file in r59619.
- http://trac.webkit.org/changeset/59619
-
- * platform/image-decoders/openvg: Added.
- * platform/image-decoders/openvg/ImageDecoderOpenVG.cpp: Added.
- (WebCore::RGBA32Buffer::asNewNativeImage):
-
-2010-05-18 Yaar Schnitman <yaar@chromium.org>
-
- Unreviewed, rolling out r59693.
- http://trac.webkit.org/changeset/59693
- https://bugs.webkit.org/show_bug.cgi?id=37815
-
- Broke GTK Release
-
- * Android.jscbindings.mk:
- * CMakeLists.txt:
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/js/JSBindingsAllInOne.cpp:
- * bindings/js/JSCallbackData.cpp:
- (WebCore::JSCallbackData::invokeCallback):
- * bindings/js/JSEventListener.cpp:
- (WebCore::JSEventListener::handleEvent):
- * bindings/js/JSInjectedScriptHostCustom.cpp:
- (WebCore::InjectedScriptHost::createInjectedScript):
- * bindings/js/JSMainThreadExecState.cpp: Removed.
- * bindings/js/JSMainThreadExecState.h: Removed.
- * bindings/js/ScheduledAction.cpp:
- (WebCore::ScheduledAction::executeFunctionInContext):
- (WebCore::ScheduledAction::execute):
- * bindings/js/ScheduledAction.h:
- * bindings/js/ScriptController.cpp:
- (WebCore::ScriptController::evaluateInWorld):
- * bindings/js/ScriptController.h:
- * bindings/js/ScriptFunctionCall.cpp:
- (WebCore::ScriptFunctionCall::call):
- * bindings/objc/ObjCEventListener.mm:
- * bindings/objc/WebScriptObject.mm:
- (-[WebScriptObject callWebScriptMethod:withArguments:]):
- (-[WebScriptObject evaluateWebScript:]):
- * bindings/scripts/CodeGeneratorObjC.pm:
- * bindings/scripts/test/ObjC/DOMTestCallback.mm:
- (-[DOMTestCallback callbackWithClass1Param:]):
- (-[DOMTestCallback callbackWithClass2Param:strArg:]):
- (-[DOMTestCallback callbackWithNonBoolReturnType:]):
- (-[DOMTestCallback customCallback:class6Param:]):
- * bindings/scripts/test/ObjC/DOMTestInterface.mm:
- * bindings/scripts/test/ObjC/DOMTestObj.mm:
- (-[DOMTestObj readOnlyIntAttr]):
- (-[DOMTestObj readOnlyStringAttr]):
- (-[DOMTestObj readOnlyTestObjAttr]):
- (-[DOMTestObj intAttr]):
- (-[DOMTestObj setIntAttr:]):
- (-[DOMTestObj longLongAttr]):
- (-[DOMTestObj setLongLongAttr:]):
- (-[DOMTestObj unsignedLongLongAttr]):
- (-[DOMTestObj setUnsignedLongLongAttr:]):
- (-[DOMTestObj stringAttr]):
- (-[DOMTestObj setStringAttr:]):
- (-[DOMTestObj testObjAttr]):
- (-[DOMTestObj setTestObjAttr:]):
- (-[DOMTestObj attrWithException]):
- (-[DOMTestObj setAttrWithException:]):
- (-[DOMTestObj attrWithSetterException]):
- (-[DOMTestObj setAttrWithSetterException:]):
- (-[DOMTestObj attrWithGetterException]):
- (-[DOMTestObj setAttrWithGetterException:]):
- (-[DOMTestObj customAttr]):
- (-[DOMTestObj setCustomAttr:]):
- (-[DOMTestObj scriptStringAttr]):
- (-[DOMTestObj voidMethod]):
- (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
- (-[DOMTestObj intMethod]):
- (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
- (-[DOMTestObj objMethod]):
- (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
- (-[DOMTestObj methodThatRequiresAllArgs:objArg:]):
- (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]):
- (-[DOMTestObj serializedValue:]):
- (-[DOMTestObj methodWithException]):
- (-[DOMTestObj customMethod]):
- (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
- (-[DOMTestObj customArgsAndException:]):
- (-[DOMTestObj addEventListener:listener:useCapture:]):
- (-[DOMTestObj removeEventListener:listener:useCapture:]):
- (-[DOMTestObj withDynamicFrame]):
- (-[DOMTestObj withDynamicFrameAndArg:]):
- (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
- (-[DOMTestObj withDynamicFrameAndUserGesture:]):
- (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
- (-[DOMTestObj withScriptStateVoid]):
- (-[DOMTestObj withScriptStateObj]):
- (-[DOMTestObj withScriptStateVoidException]):
- (-[DOMTestObj withScriptStateObjException]):
- (-[DOMTestObj methodWithOptionalArg:]):
- (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
- (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
- * bindings/v8/ScriptController.cpp:
- * bindings/v8/ScriptController.h:
- * html/HTMLFrameElementBase.cpp:
- (WebCore::HTMLFrameElementBase::isURLAllowed):
-
-2010-05-18 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Implement comment states for HTML5 lexer
- https://bugs.webkit.org/show_bug.cgi?id=39334
-
- * html/HTML5Lexer.cpp:
- (WebCore::HTML5Lexer::nextToken):
-
-2010-05-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Move all member variables from MappedAttribute to Attribute.
- https://bugs.webkit.org/show_bug.cgi?id=39336
- <rdar://problem/8000853>
-
- This saves one word because we no longer have any virtual member functions in Attribute, and
- thus no vtable pointer.
-
- I plan to remove MappedAttribute altogether in a subsequent commit.
-
- * Android.mk:
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * css/CSSStyleSelector.cpp:
- (WebCore::CSSStyleSelector::styleForElement):
- * dom/Attribute.cpp:
- (WebCore::Attribute::clone):
- * dom/Attribute.h:
- (WebCore::Attribute::create):
- (WebCore::Attribute::style):
- (WebCore::Attribute::decl):
- (WebCore::Attribute::setDecl):
- (WebCore::Attribute::isMappedAttribute):
- (WebCore::Attribute::Attribute):
- * dom/MappedAttribute.cpp: Removed.
- * dom/MappedAttribute.h:
- (WebCore::MappedAttribute::create):
- (WebCore::MappedAttribute::MappedAttribute):
- (WebCore::toMappedAttribute):
- * dom/NamedMappedAttrMap.cpp:
- (WebCore::NamedMappedAttrMap::declCount):
- (WebCore::NamedMappedAttrMap::mapsEquivalent):
- * dom/StyledElement.cpp:
- (WebCore::StyledElement::attributeChanged):
- * svg/SVGSVGElement.cpp:
- (WebCore::updateCSSForAttribute):
- * svg/SVGStyledElement.cpp:
- (WebCore::SVGStyledElement::getPresentationAttribute):
-
-2010-05-18 Tony Chang <tony@chromium.org>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=24943
- Command-B and Command-I do not generate keydown events in contentEditable regions.
-
- * manual-tests/style-keypress-events.html: Added.
-
-2010-05-18 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Add more state to the HTML5 lexer
- https://bugs.webkit.org/show_bug.cgi?id=39333
-
- This code is just transliteration from the spec.
-
- * html/HTML5Lexer.cpp:
- (WebCore::HTML5Lexer::HTML5Lexer):
- (WebCore::HTML5Lexer::nextToken):
- * html/HTML5Lexer.h:
-
-2010-05-18 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Implement two more lexer states
- https://bugs.webkit.org/show_bug.cgi?id=39298
-
- No tests because Eric is still working on wiring up the lexer to the
- test harness.
-
- * html/HTML5Lexer.cpp:
- (WebCore::HTML5Lexer::nextToken):
- (WebCore::HTML5Lexer::emitParseError):
- (WebCore::HTML5Lexer::emitCurrentTagToken):
- * html/HTML5Lexer.h:
-
-2010-05-18 Brady Eidson <beidson@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Repro crash with many Google image search results
- <rdar://problem/7685669> and https://bugs.webkit.org/show_bug.cgi?id=39323
-
- When an iframe has a plugin resource as its src, that case bypassed the plugin sandboxing checks and continued to load
- the data for the plugin resource. It handed that data off to a nonexistent Widget, causing a null deref and the crash.
-
- By replacing PluginDocuments in sandboxes iframes with a new "SinkDocument" that just acts as a data sink, we prevent the
- crash and also prevent actually loading the plugin binaries.
-
- I filed https://bugs.webkit.org/show_bug.cgi?id=39330 to follow up and let us cancel the load as soon as we know we should.
-
- Test: fast/loader/sandboxed-plugin-crash.html
-
- * CMakeLists.txt:
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
-
- * loader/DocumentWriter.cpp:
- (WebCore::DocumentWriter::begin): If the created document is a PluginDocument and the plugin sandbox flag is set,
- replace it with a SinkDocument.
-
- * loader/PluginDocument.h:
- (WebCore::PluginDocument::isPluginDocument): Make public (it was already public at the Document.h level).
-
- Add a simple document/tokenizer pair that simply presents a blank HTML document and acts as a data sink for whatever
- data is handed to it:
- * loader/SinkDocument.cpp: Added.
- (WebCore::SinkTokenizer::SinkTokenizer):
- (WebCore::SinkTokenizer::write):
- (WebCore::SinkTokenizer::isWaitingForScripts):
- (WebCore::SinkTokenizer::wantsRawData):
- (WebCore::SinkTokenizer::writeRawData):
- (WebCore::SinkTokenizer::stopParsing):
- (WebCore::SinkTokenizer::finish):
- (WebCore::SinkDocument::SinkDocument):
- (WebCore::SinkDocument::createTokenizer):
- * loader/SinkDocument.h: Added.
- (WebCore::SinkDocument::create):
-
-2010-05-18 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- https://bugs.webkit.org/show_bug.cgi?id=39321
- Reduce the size of ListHashSets used by Document
- <rdar://problem/7999388>
-
- Reduce Membuster peak memory usage by ~450K by reducing the pool sizes
- of the ListHashSets used by Document.
-
- * dom/Document.cpp:
- (WebCore::Document::addStyleSheetCandidateNode):
- (WebCore::Document::recalcStyleSelector):
- * dom/Document.h:
-
-2010-05-18 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Rubberstamped by Simon Hausmann.
-
- Return null when creating an ImageBuffer failed, due to for
- instance a nulled pixmap.
-
- * platform/graphics/qt/ImageBufferQt.cpp:
- (WebCore::ImageBufferData::ImageBufferData):
- (WebCore::ImageBuffer::ImageBuffer):
-
-2010-05-18 Jian Li <jianli@chromium.org>
-
- Reviewed by Dmitry Titov.
-
- Fix bug 39285: fast/files/file-reader.html is timing out on all mac bots.
- https://bugs.webkit.org/show_bug.cgi?id=39285
-
- The timeout is caused by 59659 that changed the GC timer to 0 and thus
- triggered a bug in FileReader code. The fix is to add more states so
- that hasPendingActivity() can do the check correctly.
-
- * html/FileReader.cpp:
- (WebCore::FileReader::FileReader):
- (WebCore::FileReader::hasPendingActivity):
- (WebCore::FileReader::readInternal):
- (WebCore::FileReader::terminate):
- (WebCore::FileReader::didStart):
- (WebCore::FileReader::didGetSize):
- (WebCore::FileReader::didRead):
- (WebCore::FileReader::didFinish):
- (WebCore::FileReader::didFail):
- (WebCore::FileReader::readyState):
- (WebCore::FileReader::result):
- * html/FileReader.h:
- (WebCore::FileReader::):
-
-2010-05-18 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Darin Adler.
-
- Clean up GraphicsLayer naming code
- https://bugs.webkit.org/show_bug.cgi?id=39316
-
- Move code that generates a name for the GraphicsLayer (used in debug builds only) into
- a new nameForLayer() method. Use it when naming the foreground layer.
-
- * rendering/RenderLayerBacking.cpp:
- (WebCore::RenderLayerBacking::createGraphicsLayer):
- (WebCore::RenderLayerBacking::updateForegroundLayer):
- (WebCore::RenderLayerBacking::nameForLayer):
- * rendering/RenderLayerBacking.h:
-
-2010-05-18 Justin Schuh <jschuh@chromium.org>
-
- Reviewed by Adam Barth.
-
- Moving frame.src checks out of the bindings
- https://bugs.webkit.org/show_bug.cgi?id=37815
-
- Moved JavaScript frame.src checks out of bindings and into
- HTMLFrameElementBase. Added main thread state stack to JavaScriptCore
- so ExecState is available inside core DOM. Updated affected bindings
- (except for GObject, which will need to be updated to avoid origin
- failures inside native code).
-
- * Android.jscbindings.mk:
- * CMakeLists.txt:
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/js/JSBindingsAllInOne.cpp:
- * bindings/js/JSCallbackData.cpp:
- (WebCore::JSCallbackData::invokeCallback):
- * bindings/js/JSEventListener.cpp:
- (WebCore::JSEventListener::handleEvent):
- * bindings/js/JSInjectedScriptHostCustom.cpp:
- (WebCore::InjectedScriptHost::createInjectedScript):
- * bindings/js/JSMainThreadExecState.cpp: Added.
- * bindings/js/JSMainThreadExecState.h: Added.
- (WebCore::JSMainThreadExecState::currentState):
- (WebCore::JSMainThreadExecState::call):
- (WebCore::JSMainThreadExecState::evaluate):
- (WebCore::JSMainThreadExecState::JSMainThreadExecState):
- (WebCore::JSMainThreadExecState::~JSMainThreadExecState):
- (WebCore::JSMainThreadNullState::JSMainThreadNullState):
- * bindings/js/ScheduledAction.cpp:
- (WebCore::ScheduledAction::executeFunctionInContext):
- (WebCore::ScheduledAction::execute):
- * bindings/js/ScheduledAction.h:
- * bindings/js/ScriptController.cpp:
- (WebCore::ScriptController::evaluateInWorld):
- (WebCore::ScriptController::canAccessFromCurrentOrigin):
- * bindings/js/ScriptController.h:
- * bindings/js/ScriptFunctionCall.cpp:
- (WebCore::ScriptFunctionCall::call):
- * bindings/objc/ObjCEventListener.mm:
- * bindings/objc/WebScriptObject.mm:
- (-[WebScriptObject callWebScriptMethod:withArguments:]):
- (-[WebScriptObject evaluateWebScript:]):
- * bindings/scripts/CodeGeneratorObjC.pm:
- * bindings/scripts/test/ObjC/DOMTestCallback.mm:
- (-[DOMTestCallback callbackWithClass1Param:]):
- (-[DOMTestCallback callbackWithClass2Param:strArg:]):
- (-[DOMTestCallback callbackWithNonBoolReturnType:]):
- (-[DOMTestCallback customCallback:class6Param:]):
- * bindings/scripts/test/ObjC/DOMTestInterface.mm:
- * bindings/scripts/test/ObjC/DOMTestObj.mm:
- (-[DOMTestObj readOnlyIntAttr]):
- (-[DOMTestObj readOnlyStringAttr]):
- (-[DOMTestObj readOnlyTestObjAttr]):
- (-[DOMTestObj intAttr]):
- (-[DOMTestObj setIntAttr:]):
- (-[DOMTestObj longLongAttr]):
- (-[DOMTestObj setLongLongAttr:]):
- (-[DOMTestObj unsignedLongLongAttr]):
- (-[DOMTestObj setUnsignedLongLongAttr:]):
- (-[DOMTestObj stringAttr]):
- (-[DOMTestObj setStringAttr:]):
- (-[DOMTestObj testObjAttr]):
- (-[DOMTestObj setTestObjAttr:]):
- (-[DOMTestObj attrWithException]):
- (-[DOMTestObj setAttrWithException:]):
- (-[DOMTestObj attrWithSetterException]):
- (-[DOMTestObj setAttrWithSetterException:]):
- (-[DOMTestObj attrWithGetterException]):
- (-[DOMTestObj setAttrWithGetterException:]):
- (-[DOMTestObj customAttr]):
- (-[DOMTestObj setCustomAttr:]):
- (-[DOMTestObj scriptStringAttr]):
- (-[DOMTestObj voidMethod]):
- (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
- (-[DOMTestObj intMethod]):
- (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
- (-[DOMTestObj objMethod]):
- (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
- (-[DOMTestObj methodThatRequiresAllArgs:objArg:]):
- (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]):
- (-[DOMTestObj serializedValue:]):
- (-[DOMTestObj methodWithException]):
- (-[DOMTestObj customMethod]):
- (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
- (-[DOMTestObj customArgsAndException:]):
- (-[DOMTestObj addEventListener:listener:useCapture:]):
- (-[DOMTestObj removeEventListener:listener:useCapture:]):
- (-[DOMTestObj withDynamicFrame]):
- (-[DOMTestObj withDynamicFrameAndArg:]):
- (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
- (-[DOMTestObj withDynamicFrameAndUserGesture:]):
- (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
- (-[DOMTestObj withScriptStateVoid]):
- (-[DOMTestObj withScriptStateObj]):
- (-[DOMTestObj withScriptStateVoidException]):
- (-[DOMTestObj withScriptStateObjException]):
- (-[DOMTestObj methodWithOptionalArg:]):
- (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
- (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
- * bindings/v8/ScriptController.cpp:
- (WebCore::ScriptController::canAccessFromCurrentOrigin):
- * bindings/v8/ScriptController.h:
- * html/HTMLFrameElementBase.cpp:
- (WebCore::HTMLFrameElementBase::isURLAllowed):
-
-2010-05-18 Drew Wilson <atwilson@chromium.org>
-
- Unreviewed: Speculative build fix for Chromium win.
-
- * platform/graphics/skia/SkiaFontWin.cpp: Properly set inlineCapacity.
-
-2010-05-18 Drew Wilson <atwilson@chromium.org>
-
- Unreviewed fix for Chromium build break.
-
- * platform/graphics/skia/SkiaFontWin.cpp: Now set inlineCapacity param.
-
-2010-05-18 Daniel Cheng <dcheng@chromium.org>
-
- Reviewed by Darin Adler, Jian Li.
-
- DragData::asURL() shouldn't do file validity checks
- https://bugs.webkit.org/show_bug.cgi?id=38711
-
- There's no point to trying to make sure the file is valid in
- DragData::asURL(). It's better to ask for forgiveness than to ask for
- permission, since asking for permission is prone to race conditions
- and results in unnecessary I/O. Consumers of this function either:
- - need to verify the file exists themselves (e.g. the loader)
- - don't care about file validity (rich text drag-and-drop)
-
- * platform/chromium/DragDataChromium.cpp:
- (WebCore::DragData::asURL):
-
-2010-05-18 Timothy Hatcher <timothy@apple.com>
-
- Fix a handful of various localization issues in the Web Inspector.
-
- * Localize strings that where not localized.
- * Make WebInspector.UIString work without bind.
- * Always pass WebInspector.UIString to Number.secondsToString and Number.bytesToString.
- * Never pass a variable to WebInspector.UIString, since that prevents auto-generation.
- * Use an ellipsis instead of three periods.
-
- https://webkit.org/b/39303
- rdar://problem/7997101
-
- Reviewed by Adam Roben.
-
- * English.lproj/localizedStrings.js:
- * inspector/front-end/AuditRules.js:
- (WebInspector.AuditRules.GzipRule.prototype.doRun):
- (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
- (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
- * inspector/front-end/ConsoleView.js:
- (WebInspector.ConsoleView):
- * inspector/front-end/ImageView.js:
- (WebInspector.ImageView.prototype.contentTabSelected):
- * inspector/front-end/ProfileDataGridTree.js:
- (WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds):
- (WebInspector.ProfileDataGridNode.prototype.get data):
- * inspector/front-end/ResourcesPanel.js:
- (WebInspector.ResourceTimeCalculator.prototype.formatValue):
- (WebInspector.ResourceTransferTimeCalculator.prototype.formatValue):
- (WebInspector.ResourceTransferDurationCalculator.prototype.formatValue):
- (WebInspector.ResourceTransferSizeCalculator.prototype.formatValue):
- * inspector/front-end/ScriptsPanel.js:
- (WebInspector.ScriptsPanel.prototype._registerShortcuts):
- * inspector/front-end/SourceFrame.js:
- (WebInspector.SourceFrame.prototype._contextMenu):
- * inspector/front-end/TimelineOverviewPane.js:
- (WebInspector.TimelineOverviewCalculator):
- (WebInspector.TimelineOverviewCalculator.prototype.formatValue):
- * inspector/front-end/TimelinePanel.js:
- (WebInspector.TimelinePanel):
- (WebInspector.TimelineCalculator):
- (WebInspector.TimelineCalculator.prototype.formatValue):
- (WebInspector.TimelinePanel.FormattedRecord.prototype._generateAggregatedInfo):
- (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
- (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
- (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendTextRow):
- (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendElementRow):
- * inspector/front-end/inspector.js:
- (WebInspector.loaded):
- (WebInspector.setRecordingProfile):
- (WebInspector.UIString):
-
-2010-05-18 Sam Weinig <sam@webkit.org>
-
- Another attempt to fix the build.
-
- * css/CSSCursorImageValue.cpp:
-
-2010-05-18 Adam Roben <aroben@apple.com>
-
- Make accelerated compositing work on machines that don't support
- hardware vertex processing
-
- Fixes <http://webkit.org/b/39299> <rdar://problem/7997692> Accelerated
- compositing on Windows doesn't work on machines that don't support
- hardware vertex processing, but should
-
- Reviewed by Eric Carlson.
-
- * platform/graphics/win/WKCACFLayerRenderer.cpp:
- (WebCore::WKCACFLayerRenderer::createRenderer): Query the device
- capabilities to decide whether to request hardware or software vertex
- processing.
-
-2010-05-18 Adam Roben <aroben@apple.com>
-
- Make WKCACFLayerRenderer robust against temporary failure of
- Direct3DCreate9 and IDirect3D9::CreateDevice
-
- For a short time after waking from sleep, Direct3DCreate9() will
- return an IDirect3D9 for which IDirect3D9::CreateDevice will always
- fail. Also during this time period, IDirect3D9::CreateDevice
- will fail even for non-bad IDirect3D9s. (It will later start
- succeeding.) WKCACFLayerRenderer now works around this behavior by
- detecting when it might be in this situation and calling these
- functions again later.
-
- Fixes <http://webkit.org/b/39297> <rdar://problem/7997431> WebView
- doesn't repaint until page reloads when page using hardware
- acceleration loads just after waking from sleep
-
- Reviewed by John Sullivan.
-
- * manual-tests/crash-and-no-repaint-after-wake-from-sleep.html:
- Renamed from WebCore/manual-tests/crash-after-wake-from-sleep.html.
- Modified to also include instructions for reproducing this bug.
-
- * platform/graphics/win/WKCACFLayerRenderer.cpp:
- (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Replaced
- m_triedToCreateD3DRenderer with m_mightBeAbleToCreateDeviceLater. The
- new member is initialized to true, since we haven't even tried to
- create a device once yet.
- (WebCore::WKCACFLayerRenderer::createRenderer): If we already have a
- D3D device, or we don't have one and are sure that we won't be able to
- create one later, just return the previously-created device, if any.
- We assume that we won't be able to create a device later if this
- function fails, unless the function fails due to CreateDevice failing.
- As noted above, CreateDevice will sometimes temporarily fail and then
- later start working again. When CreateDevice fails, we also assume
- that we might have a bad IDirect3D9, so we get rid of the one we have
- so a new (and hopefully non-bad) one will be allocated later.
- (WebCore::WKCACFLayerRenderer::destroyRenderer): Reset
- m_mightBeAbleToCreateDeviceLater to true, since we no longer have a
- device.
- (WebCore::WKCACFLayerRenderer::paint): Before trying to paint, try to
- create our D3D device and renderer. If this fails, we bail out, but if
- we think we might be able to create a device later we schedule another
- paint (via renderSoon()) so that we'll try again soon.
-
- * platform/graphics/win/WKCACFLayerRenderer.h: Replaced
- m_triedToCreateD3DRenderer with m_mightBeAbleToCreateDeviceLater.
-
-2010-05-18 Adam Roben <aroben@apple.com>
-
- Fix a crash when a page that uses accelerated compositing loads soon
- after the computer wakes from sleep
-
- The set-up:
-
- For a short time after waking from sleep, IDirect3D9::CreateDevice
- will fail. This caused WKCACFLayerRenderer::createRenderer to fail,
- and meant that WKCACFLayerRenderer never allocated a root layer.
- WebView wouldn't notice that createRenderer failed, and would go ahead
- and try to use the root layer anyway, resulting in a crash.
-
- The fix:
-
- We now allocate the root layer (and all the other members of
- WKCACFLayerRenderer that aren't dependent on having an
- IDirect3DDevice9) in WKCACFLayerRenderer's constructor. This way the
- layers will always be present, even when creating the D3D device
- fails.
-
- There are two remaining problems:
- 1) This results in slightly more memory usage in the case where
- CreateDevice fails.
- 2) Once we get into this bad state, the WebView doesn't repaint
- until we navigate somewhere else.
-
- (2) is covered by
- <http://webkit.org/b/39297>/<rdar://problem/7997431>. We'll fix it by
- retrying CreateDevice later in hopes that it will succeed after more
- time has passed. This will in turn fix (1). (We should never end up in
- a case where CreateDevice fails forever because we already did some
- preliminary checks in acceleratedCompositingAvailable().)
-
- Fixes <http://webkit.org/b/39295> <rdar://problem/7971319> Crash
- (preceded by assertion) in WKCACFLayerRenderer::setNeedsDisplay when
- computer wakes from sleep on particular page
-
- Reviewed by John Sullivan.
-
- * manual-tests/crash-after-wake-from-sleep.html: Added. This
- is the Poster Circle demo from webkit.org/blog, but modified to
- automatically reload every 5 seconds and with instructions to put the
- computer to sleep and wake it up again.
-
- * platform/graphics/win/WKCACFLayerRenderer.cpp:
- (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Moved code to
- initialize m_context, m_renderContext, and m_*Layer here...
- (WebCore::WKCACFLayerRenderer::createRenderer): ...from here.
-
-2010-05-18 Adam Roben <aroben@apple.com>
-
- Remove an unused member variable from WKCACFLayerRenderer
-
- Rubber-stamped by Ada Chan.
-
- * platform/graphics/win/WKCACFLayerRenderer.h: Removed m_viewLayer,
- which is unused.
-
-2010-05-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Allocate the m_preloads list hash set dynamically and free it when done.
- https://bugs.webkit.org/show_bug.cgi?id=39309
- <rdar://problem/7998495>
-
- This saves about 6000 bytes on a fully loaded document.
-
- * loader/DocLoader.cpp:
- (WebCore::DocLoader::requestPreload):
- (WebCore::DocLoader::clearPreloads):
- * loader/DocLoader.h:
-
-2010-05-18 Anders Carlsson <andersca@apple.com>
-
- Revert unintended indentation and unnecessary nested name specifier.
-
- * rendering/RenderBlock.cpp:
- (WebCore::clipOutPositionedObjects):
- (WebCore::RenderBlock::insertPositionedObject):
-
-2010-05-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add an inlineCapacity template parameter to ListHashSet and use it to shrink the positioned object list hash set.
- https://bugs.webkit.org/show_bug.cgi?id=39304
- <rdar://problem/7998366>
-
- Set the inlineCapacity for the positionedObjects ListHashSet to 4 instead of 256. Since a RenderBlock usually has
- few positioned objects, this saves memory.
-
- * WebCore.base.exp:
- * rendering/RenderBlock.cpp:
- (WebCore::clipOutPositionedObjects):
- (WebCore::RenderBlock::insertPositionedObject):
- * rendering/RenderBlock.h:
- (WebCore::RenderBlock::positionedObjects):
-
-2010-05-17 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=39258
- Remove NamedAttrMap residual gunk
-
- Replace NamedAttrMap.h/cpp with NamedNodeMap.h/cpp which was the class
- it contained.
-
- * CMakeLists.txt:
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/v8/custom/V8NamedNodesCollection.cpp:
- * dom/NamedAttrMap.cpp: Removed.
- * dom/NamedAttrMap.h: Removed.
- * dom/NamedNodeMap.cpp: Copied from dom/NamedAttrMap.cpp.
- * dom/NamedNodeMap.h: Replaced with dom/NamedAttrMap.h.
- * editing/ReplaceNodeWithSpanCommand.cpp:
- * platform/chromium/ClipboardChromium.cpp:
-
-2010-05-18 Brady Eidson <beidson@apple.com>
-
- Reviewed by Eric Carlson.
-
- <rdar://problem/7993468> REGRESSION (r58586): Audio doesn't play on first click of play button at NPR.org
-
- NPR swallows the first mouse click on the play button, calls load() on the element, then waits for the
- canplay event to come in before calling play itself.
-
- After the site specific hack added in r58586, we disallowed play() from within the canplay event handler.
- By tracking whether a load() was triggered by a user gesture, we can differentiate between the original
- canplay event that we meant to ignore and the one resulting from the first mouse click which we want to honor.
-
- No new tests. (Currently no way to test such site specific hack behavior)
-
- * html/HTMLMediaElement.cpp:
- (WebCore::HTMLMediaElement::HTMLMediaElement):
- (WebCore::HTMLMediaElement::load): Set the m_loadInitiatedByUserGesture flag
- (WebCore::HTMLMediaElement::play): Only apply the site specific hack if the load wasn't initiated by a user gesture.
- * html/HTMLMediaElement.h:
-
-2010-05-18 Jakob Petsovits <jpetsovits@rim.com>
-
- Reviewed by Dirk Schulze.
-
- [OpenVG] Fix stupid build errors from the OpenVG Path commit
- https://bugs.webkit.org/show_bug.cgi?id=39228
-
- * platform/graphics/openvg/PainterOpenVG.cpp:
- (WebCore::PainterOpenVG::clipPath):
- * platform/graphics/openvg/PathOpenVG.cpp:
- (WebCore::Path::transform):
-
-2010-05-18 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Darin Adler.
-
- Refactored FrameLoader::isDocumentSandboxed() from a private member function
- to a static, non-member, non-friend function.
-
- https://bugs.webkit.org/show_bug.cgi?id=39157
-
- Making this function non-private lets us make FrameLoader::createWindow()
- a non-member function in a subsequent patch. We also made it non-member
- rather than member to increase encapsulation and limit the number of
- public functions with access to private FrameLoader data.
-
- No new functionality, so no new tests.
-
- * loader/FrameLoader.cpp:
- (WebCore::isDocumentSandboxed):
- - Moved this function from a private member function of FrameLoader
- to a static, non-member, non-friend function.
- (WebCore::FrameLoader::createWindow):
- - Updated the call to isDocumentSandboxed().
- (WebCore::FrameLoader::submitForm):
- - Updated the call to isDocumentSandboxed().
- (WebCore::FrameLoader::requestObject):
- - Updated the call to isDocumentSandboxed().
- (WebCore::FrameLoader::shouldAllowNavigation):
- - Updated the call to isDocumentSandboxed().
- * loader/FrameLoader.h:
- - Removed isDocumentSandboxed() and added a FIXME to move
- createWindow() out of the FrameLoader class.
-
-2010-05-08 Robert Hogan <robert@roberthogan.net>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix http/tests/xmlhttprequest/cross-origin-no-authorization.html
- and http/tests/xmlhttprequest/cross-origin-authorization.html
-
- QHttpNetworkRequest adds Authorization and Cookie headers to XHRs
- without knowing if this is valid behaviour or not. In order to allow
- Qt to decide whether Cookie/Authorization headers should be added
- to an XHR QtWebKit needs to use an attribute added to QNetworkRequest.
- These new attributes are: QNetworkRequest::CookieLoadControlAttribute,
- QNetworkRequest::CookieSaveControlAttribute,and
- QNetworkRequest::AuthenticationReuseControlAttribute.
-
- QtWebKit will set QNetworkRequest::AuthenticationReuseControlAttribute to false
- unless withCredentials is set to true in the XHR.
-
- QtWebkit will set CookieLoad/SaveControlAttribute to false unless withCredentials
- is set to true in the XHR.
-
- Qt will pass the values onto QHttpNetworkRequest and this will permit
- the Qt network access processing to decide whether or not to add either
- or both of the Cookie/Authorisation headers, and whether to save cookies
- returned from such requests. By default the attribute
- will always be true so unless QtWebKit sets it to false normal
- header processing is unaffected.
-
- The Qt part of these changes was merged at: http://gitorious.org/qt/qt/merge_requests/592
-
- https://bugs.webkit.org/show_bug.cgi?id=32967
-
- * platform/network/qt/ResourceRequestQt.cpp:
- (WebCore::ResourceRequest::toNetworkRequest):
-
-2010-05-18 Zoltan Herczeg <zherczeg@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Implementing clipToImageBuffer for Qt port.
- https://bugs.webkit.org/show_bug.cgi?id=24289
-
- The implementation combines pixmap layers and destinationIn
- composition mode.
-
- * platform/graphics/qt/GraphicsContextQt.cpp:
- (WebCore::TransparencyLayer::TransparencyLayer):
- (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
- (WebCore::GraphicsContext::savePlatformState):
- (WebCore::GraphicsContext::restorePlatformState):
- (WebCore::GraphicsContext::inTransparencyLayer):
- (WebCore::GraphicsContext::beginTransparencyLayer):
- (WebCore::GraphicsContext::endTransparencyLayer):
- (WebCore::GraphicsContext::clipToImageBuffer):
-
-2010-05-18 Eric Seidel <eric@webkit.org>
-
- Unreviewed build fix.
-
- Make it possible to enable the new HTML5Tokenizer for testing
- https://bugs.webkit.org/show_bug.cgi?id=39275
-
- * WebCore.gypi:
- - Fix HTMLLexer.* -> HTML5Lexer.*
- * WebCore.vcproj/WebCore.vcproj:
- - Add HTML5Lexer and HTML5Tokenizer to project.
-
-2010-05-18 Eric Seidel <eric@webkit.org>
-
- Unreviewed build fix.
-
- Make it possible to enable the new HTML5Tokenizer for testing
- https://bugs.webkit.org/show_bug.cgi?id=39275
-
- * dom/NamedAttrMap.cpp:
- (WebCore::NamedNodeMap::setNamedItemNS):
- - Move this to the .cpp file so as to avoid needing to include "Node.h" in the header.
- * dom/NamedAttrMap.h:
- * html/HTML5Token.h:
- - Remove #include "String.h" which was wrong. Adam meant "PlatformString.h"
- - Remove unneeded #include "Node.h", it was only needed because
- NamedAttrMap.h was incorrectly depending on Node.h but not
- including it. It didn't actually need Node.h except for one
- inlined method setNamedItemNS, so I moved setNamedItemNS into
- the .cpp to get rid of the Node.h requirement.
-
-2010-05-18 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Make it possible to enable the new HTML5Tokenizer for testing
- https://bugs.webkit.org/show_bug.cgi?id=39275
-
- I added html5ParserEnabled to Settings so that we can enable/disable
- the HTML5 parser for testing.
-
- I also ripped out a bunch of dead code from HTML5Lexer.
-
- I had to add HTML5Lexer/HTML5Tokenizer to all build systems so that
- the build wouldn't fail now that we reference these classes from HTMLDocument.
-
- * Android.mk:
- * CMakeLists.txt:
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.xcodeproj/project.pbxproj:
- * html/HTML5Lexer.cpp:
- (WebCore::HTML5Lexer::reset):
- (WebCore::isWhitespace):
- (WebCore::HTML5Lexer::nextToken):
- * html/HTML5Lexer.h:
- * html/HTML5Tokenizer.cpp: Added.
- (WebCore::HTML5Tokenizer::HTML5Tokenizer):
- (WebCore::HTML5Tokenizer::~HTML5Tokenizer):
- (WebCore::HTML5Tokenizer::begin):
- (WebCore::HTML5Tokenizer::write):
- (WebCore::HTML5Tokenizer::end):
(WebCore::HTML5Tokenizer::finish):
- (WebCore::HTML5Tokenizer::isWaitingForScripts):
- * html/HTML5Tokenizer.h: Added.
- * html/HTMLDocument.cpp:
- (WebCore::HTMLDocument::createTokenizer):
- * html/HTMLTokenizer.h:
- * html/HTMLViewSourceDocument.cpp:
- (WebCore::HTMLViewSourceDocument::createTokenizer):
- * page/Settings.cpp:
- (WebCore::Settings::Settings):
- * page/Settings.h:
- (WebCore::Settings::setHTML5ParserEnabled):
- (WebCore::Settings::html5ParserEnabled):
-
-2010-05-18 Maciej Stachowiak <mjs@apple.com>
-
- Not reviewed, build fix.
-
- Attempt to fix build for v8 bindings (untested).
-
- * bindings/v8/ScriptController.cpp:
- (WebCore::ScriptController::clearWindowShell):
- * bindings/v8/ScriptController.h:
-
-2010-05-17 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Oliver Hunt.
-
- GC more promptly when navigating to a new inner window, but not at all when it went in the page cache
- https://bugs.webkit.org/show_bug.cgi?id=39254
- <rdar://problem/7996370>
-
- ~1% PLT speedup
- ~4% iBench HTML speedup
-
- * bindings/js/GCController.cpp:
- (WebCore::GCController::garbageCollectSoon): Change back to a 0 delay timer instead of
- 0.5 second.
- * bindings/js/ScriptController.cpp:
- (WebCore::ScriptController::clearWindowShell): Add a new boolean parameter. Don't
- garbageColectSoon if the page is going into the page cache.
- * bindings/js/ScriptController.h: Prototype change for above.
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::clear): Indicate when the page is going into the page cache.
-
-2010-05-18 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Add an HTML5Token
- https://bugs.webkit.org/show_bug.cgi?id=39274
-
- The token object is an ugly fake union, but I'm sure sure there's a
- better way... Eric needs this to provide output for the test harness.
-
- * WebCore.xcodeproj/project.pbxproj:
- * html/HTML5Lexer.cpp:
- (WebCore::HTML5Lexer::HTML5Lexer):
- (WebCore::HTML5Lexer::write):
- (WebCore::HTML5Lexer::emitCharacter):
- * html/HTML5Lexer.h:
- * html/HTML5Token.h: Added.
- (WebCore::HTML5Token::):
- (WebCore::HTML5Token::HTML5Token):
- (WebCore::HTML5Token::setToCharacter):
-
-2010-05-18 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Implement ScriptData states for HTML5Lexer
- https://bugs.webkit.org/show_bug.cgi?id=39273
-
- This patch implements more of the lexer states according to the HTML5
- specification. Currently, this code is compiled by not tested. We're
- working on bringing up a test harness in parallel with transliterating
- the spec into code.
-
- * html/HTML5Lexer.cpp:
- (WebCore::HTML5Lexer::tokenize):
- (WebCore::HTML5Lexer::temporaryBufferIs):
- * html/HTML5Lexer.h:
- (WebCore::HTML5Lexer::):
-
-2010-05-17 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Rename HTML5Tokenzier to HTML5Lexer so that we can add a new HTML5Tokenizer which implements Tokenizer
- https://bugs.webkit.org/show_bug.cgi?id=39272
-
- Strictly a rename, no functionality change.
-
- * WebCore.xcodeproj/project.pbxproj:
- * html/HTML5Lexer.cpp: Added.
- * html/HTML5Lexer.h: Added.
- * html/HTML5Tokenizer.cpp: Removed.
- * html/HTML5Tokenizer.h: Removed.
-
-2010-05-17 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r59652.
- http://trac.webkit.org/changeset/59652
- https://bugs.webkit.org/show_bug.cgi?id=39268
-
- file-input-files-access test is broken on Mac (Requested by
- dcheng on #webkit).
-
- * platform/chromium/DragDataChromium.cpp:
- (WebCore::DragData::asURL):
-
-2010-05-17 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Implement RAWTEXT tokenizer states
- https://bugs.webkit.org/show_bug.cgi?id=39267
-
- More tokenizer states. There's a bunch of functionality notImplemented
- that we'll come back to.
-
- * html/HTML5Tokenizer.cpp:
- (WebCore::HTML5Tokenizer::tokenize):
- * html/HTML5Tokenizer.h:
-
-2010-05-17 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Implement more parser states in HTML5Tokenizer
- https://bugs.webkit.org/show_bug.cgi?id=39265
-
- This patch implements some easy states. I'll come back and do the
- harder states later.
-
- * html/HTML5Tokenizer.cpp:
- (WebCore::HTML5Tokenizer::tokenize):
- (WebCore::HTML5Tokenizer::emitParseError):
- * html/HTML5Tokenizer.h:
-
-2010-05-17 Daniel Cheng <dcheng@chromium.org>
-
- Reviewed by Darin Adler.
-
- DragData::asURL() shouldn't do file validity checks
- https://bugs.webkit.org/show_bug.cgi?id=38711
-
- There's no point to trying to make sure the file is valid in
- DragData::asURL(). It's better to ask for forgiveness than to ask for
- permission, since asking for permission is prone to race conditions
- and results in unnecessary I/O. Consumers of this function either:
- - need to verify the file exists themselves (e.g. the loader)
- - don't care about file validity (rich text drag-and-drop)
-
- * platform/chromium/DragDataChromium.cpp:
- (WebCore::DragData::asURL):
-
-2010-05-17 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Update states in HTML5Tokenizer to match HTML5 spec
- https://bugs.webkit.org/show_bug.cgi?id=39264
-
- I've also implemented the DataState. More states to follow.
-
- * html/HTML5Tokenizer.cpp:
- (WebCore::HTML5Tokenizer::reset):
- (WebCore::HTML5Tokenizer::tokenize):
- * html/HTML5Tokenizer.h:
- (WebCore::HTML5Tokenizer::):
-
-2010-05-17 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Darin Adler.
-
- ':valid' CSS selector should not be applied to some form controls
- https://bugs.webkit.org/show_bug.cgi?id=39162
-
- * html/HTMLElement.cpp:
- (WebCore::inlineTagList): Always includes progressTag. This change is
- needed in a case of no ENABLE_PROGRESS_TAG. Without this change and
- ENABLE_PROGRESS_TAG, <progress> tags disappear.
- * html/HTMLInputElement.cpp:
- (WebCore::HTMLInputElement::recalcWillValidate):
- Return false for SUBMIT and IMAGE.
- * html/HTMLProgressElement.h:
- (WebCore::HTMLProgressElement::recalcWillValidate):
- Return false. This change is needed in a case of ENABLE_PROGRESS_TAG.
-
-2010-05-17 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Remove load-related code from HTML5Tokenizer
- https://bugs.webkit.org/show_bug.cgi?id=39263
-
- This code is related to reloading resources and not to tokenizing. In
- the PreloadScanner, these concerns are coupled, but we want to decouple
- them.
-
- * html/HTML5Tokenizer.cpp:
- (WebCore::HTML5Tokenizer::HTML5Tokenizer):
- (WebCore::HTML5Tokenizer::~HTML5Tokenizer):
- (WebCore::HTML5Tokenizer::begin):
- (WebCore::HTML5Tokenizer::end):
- (WebCore::HTML5Tokenizer::reset):
- (WebCore::HTML5Tokenizer::write):
- (WebCore::HTML5Tokenizer::consumeEntity):
- (WebCore::HTML5Tokenizer::tokenize):
- (WebCore::HTML5Tokenizer::processAttribute):
- (WebCore::HTML5Tokenizer::emitCharacter):
- (WebCore::HTML5Tokenizer::emitTag):
- * html/HTML5Tokenizer.h:
-
-2010-05-17 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Add HTML5Tokenizer to the build system on Mac
- https://bugs.webkit.org/show_bug.cgi?id=39262
-
- This file will be easier to work with if we're actually compiling it.
- Hopefully we'll get this wired into the PreloadScanner soon. Once we
- start actually calling the code, we'll add it to the build system on
- other platforms.
-
- * WebCore.xcodeproj/project.pbxproj:
-
-2010-05-17 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Copy PreloadScanner.* to HTML5Tokenizer.* to start work on the new HTML5 Tokenizer
- https://bugs.webkit.org/show_bug.cgi?id=39261
-
- * html/HTML5Tokenizer.cpp: Rename PreloadScanner to HTML5Tokenizer.
- * html/HTML5Tokenizer.h: ditto.
-
-2010-05-17 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Copy PreloadScanner.* to HTML5Tokenizer.* to start work on the new HTML5 Tokenizer
- https://bugs.webkit.org/show_bug.cgi?id=39261
-
- This time copy the cpp from the right file.
-
- * html/HTML5Tokenizer.cpp: Copied from WebCore/html/PreloadScanner.cpp.
-
-2010-05-17 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Copy PreloadScanner.* to HTML5Tokenizer.* to start work on the new HTML5 Tokenizer
- https://bugs.webkit.org/show_bug.cgi?id=39261
-
- * html/HTML5Tokenizer.cpp: Copied from WebCore/html/PreloadScanner.h.
- * html/HTML5Tokenizer.h: Copied from WebCore/html/PreloadScanner.h.
-
-2010-05-17 MORITA Hajime <morrita@google.com>
-
- Reviewed by Kent Tamura.
-
- [Chromium] Windows: Speed of indeterminate progress bar should be constant
- https://bugs.webkit.org/show_bug.cgi?id=39211
-
- No new tests, animation effect can be confirmed only manually.
-
- * rendering/RenderThemeChromiumWin.cpp:
- (WebCore::RenderThemeChromiumWin::animationDurationForProgressBar):
- (WebCore::RenderThemeChromiumWin::paintProgressBar):
-
-2010-05-17 Drew Wilson <atwilson@chromium.org>
-
- Unreviewed build fix for Qt and Chromium.
-
- https://bugs.webkit.org/show_bug.cgi?id=39147
-
- * page/Frame.h: Now includes CSSMutableStyleDeclaration.h.
-
-2010-05-17 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Darin Adler.
-
- Remove unused member member from Document
- https://bugs.webkit.org/show_bug.cgi?id=39251
-
- Remove m_associatedHistoryItems from Document; it is never used.
-
- * dom/Document.h:
-
-2010-05-17 Darin Adler <darin@apple.com>
-
- Fix Qt build.
-
- * page/Frame.cpp:
- (WebCore::Frame::setTypingStyle): Move back to make non-inline.
- * page/Frame.h: Removed inline version of setTypingStyle.
-
-2010-05-14 Darin Adler <darin@apple.com>
-
- Reviewed by Brady Eidson.
-
- Frame has many trivial member functions that should be inlined
- https://bugs.webkit.org/show_bug.cgi?id=39147
-
- * WebCore.base.exp: Export the functions that are now inlined.
-
- * page/Frame.cpp:
- (WebCore::Frame::removeEditingStyleFromBodyElement):
- Removed the body of this function.
-
- * page/Frame.h:
- (WebCore::Frame::init): Moved here from .cpp.
- (WebCore::Frame::loader): Ditto.
- (WebCore::Frame::redirectScheduler): Ditto.
- (WebCore::Frame::view): Ditto.
- (WebCore::Frame::script): Ditto.
- (WebCore::Frame::document): Ditto.
- (WebCore::Frame::selection): Ditto.
- (WebCore::Frame::editor): Ditto.
- (WebCore::Frame::animation): Ditto.
- (WebCore::Frame::mark): Ditto.
- (WebCore::Frame::setMark): Ditto.
- (WebCore::Frame::zoomFactor): Ditto.
- (WebCore::Frame::jsStatusBarText): Ditto.
- (WebCore::Frame::jsDefaultStatusBarText): Ditto.
- (WebCore::Frame::needsReapplyStyles): Ditto.
- (WebCore::Frame::typingStyle): Ditto.
- (WebCore::Frame::setTypingStyle): Ditto.
- (WebCore::Frame::clearTypingStyle): Ditto.
- (WebCore::Frame::ownerElement): Ditto.
- (WebCore::Frame::isDisconnected): Ditto.
- (WebCore::Frame::setIsDisconnected): Ditto.
- (WebCore::Frame::excludeFromTextSearch): Ditto.
- (WebCore::Frame::setExcludeFromTextSearch): Ditto.
- (WebCore::Frame::inViewSourceMode): Ditto.
- (WebCore::Frame::setInViewSourceMode): Ditto.
- (WebCore::Frame::markedTextMatchesAreHighlighted): Ditto.
- (WebCore::Frame::tree): Ditto.
- (WebCore::Frame::page): Ditto.
- (WebCore::Frame::detachFromPage): Ditto.
- (WebCore::Frame::eventHandler): Ditto.
- (WebCore::Frame::shouldClose): Ditto.
-
-2010-05-17 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=39247
- <rdar://problem/7994707>
- Move rarely used data members to the rare structures, thus saving memory.
-
- Move rarely used member variables from StyleInheritedData and StyleVisualData to
- StyleRareInheritedData and StyleRareNonInheritedData, namely:
-
- indent, cursorData, m_effectiveZoom, widows and orphans move from StyleInheritedData to StyleRareInheritedData.
- m_counterIncrement and m_counterReset move from StyleVisualData to StyleRareNonInheritedData.
-
- * rendering/style/RenderStyle.cpp:
- (WebCore::RenderStyle::diff):
- (WebCore::RenderStyle::addCursor):
- (WebCore::RenderStyle::setCursorList):
- (WebCore::RenderStyle::clearCursorList):
- * rendering/style/RenderStyle.h:
- (WebCore::InheritedFlags::textIndent):
- (WebCore::InheritedFlags::effectiveZoom):
- (WebCore::InheritedFlags::counterIncrement):
- (WebCore::InheritedFlags::counterReset):
- (WebCore::InheritedFlags::cursors):
- (WebCore::InheritedFlags::widows):
- (WebCore::InheritedFlags::orphans):
- (WebCore::InheritedFlags::setTextIndent):
- (WebCore::InheritedFlags::setEffectiveZoom):
- (WebCore::InheritedFlags::setCounterIncrement):
- (WebCore::InheritedFlags::setCounterReset):
- (WebCore::InheritedFlags::setWidows):
- (WebCore::InheritedFlags::setOrphans):
- * rendering/style/StyleInheritedData.cpp:
- (WebCore::StyleInheritedData::StyleInheritedData):
- (WebCore::StyleInheritedData::operator==):
- * rendering/style/StyleInheritedData.h:
- * rendering/style/StyleRareInheritedData.cpp:
- (WebCore::StyleRareInheritedData::StyleRareInheritedData):
- (WebCore::cursorDataEquivalent):
- (WebCore::StyleRareInheritedData::operator==):
- * rendering/style/StyleRareInheritedData.h:
- * rendering/style/StyleRareNonInheritedData.cpp:
- (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
- (WebCore::StyleRareNonInheritedData::operator==):
- * rendering/style/StyleRareNonInheritedData.h:
- * rendering/style/StyleVisualData.cpp:
- (WebCore::StyleVisualData::StyleVisualData):
- * rendering/style/StyleVisualData.h:
- (WebCore::StyleVisualData::operator==):
-
-2010-05-17 Robert Hogan <robert@webkit.org>
-
- Rubber-stamped by Eric Seidel.
-
- Fix --no-svg build.
-
- I have no idea where the SVG-dependent include of this file is hidden, but
- it is probably better to include it explicitly anyway like V8WorkerContextCustom.cpp.
-
- * bindings/js/JSWorkerContextCustom.cpp:
-
-2010-05-17 David Hyatt <hyatt@apple.com>
-
- Reviewed by Dan Bernstein.
-
- https://bugs.webkit.org/show_bug.cgi?id=39231
-
- Fix failures in the RTL portion of fast/multicol/layers-in-multicol.html. Make sure block children of RTL blocks are positioned using
- the reduced column width instead of the total content width.
-
- * rendering/RenderBlock.cpp:
- (WebCore::RenderBlock::determineHorizontalPosition):
- (WebCore::RenderBlock::nodeAtPoint):
- (WebCore::RenderBlock::hitTestContents):
- (WebCore::RenderBlock::adjustForColumns):
-
-2010-05-17 Jakob Petsovits <jpetsovits@rim.com>
-
- Reviewed by George Staikos.
-
- [OpenVG] Add support for decoding and drawing images
- https://bugs.webkit.org/show_bug.cgi?id=36072
-
- OpenVG has a maximum image size (how large is
- specific to the OpenVG implementation), so this
- requires us to store them as separate image tiles.
+ - The logic was just wrong here. We should only be setting
+ m_wasWaitingOnScriptsDuringFinish if isWaitingForScripts()
+ is true, and we should be calling end() when it is not.
+ (WebCore::HTML5Tokenizer::resumeParsingAfterScriptExecution):
+ - Add another ASSERT to catch cases like this.
+ * html/HTML5TreeBuilder.cpp:
+ (WebCore::HTML5TreeBuilder::finished):
+ - Add a comment about why we don't need to call m_document->finishedParsing()
- Image decoding and initial drawing code by
- Adam Treat <atreat@rim.com>. Image decoder
- downsampling support by Yong Li <yoli@rim.com>.
-
- * platform/graphics/ImageSource.h:
- * platform/graphics/openvg/ImageOpenVG.cpp: Added.
- (WebCore::FrameData::clear):
- (WebCore::BitmapImage::BitmapImage):
- (WebCore::BitmapImage::checkForSolidColor):
- (WebCore::BitmapImage::initPlatformData):
- (WebCore::BitmapImage::invalidatePlatformData):
- (WebCore::adjustSourceRectForDownSampling):
- (WebCore::BitmapImage::draw):
- (WebCore::Image::drawPattern):
- (WebCore::Image::loadPlatformResource):
- * platform/graphics/openvg/PainterOpenVG.cpp:
- (WebCore::PainterOpenVG::drawImage):
- (WebCore::PainterOpenVG::asNewNativeImage):
- * platform/graphics/openvg/PainterOpenVG.h:
- * platform/graphics/openvg/TiledImageOpenVG.cpp: Added.
- (WebCore::TiledImageOpenVG::TiledImageOpenVG):
- (WebCore::TiledImageOpenVG::operator=):
- (WebCore::TiledImageOpenVG::~TiledImageOpenVG):
- (WebCore::TiledImageOpenVG::numTiles):
- (WebCore::TiledImageOpenVG::numColumns):
- (WebCore::TiledImageOpenVG::numRows):
- (WebCore::TiledImageOpenVG::setTile):
- (WebCore::TiledImageOpenVG::tilesInRect):
- (WebCore::TiledImageOpenVG::tile):
- (WebCore::TiledImageOpenVG::tileRect):
- (WebCore::TiledImageOpenVG::detachTiles):
- (WebCore::TiledImageOpenVG::destroyTiles):
- * platform/graphics/openvg/TiledImageOpenVG.h: Added.
- (WebCore::TiledImageOpenVG::size):
- (WebCore::TiledImageOpenVG::maxTileSize):
- * platform/graphics/openvg/VGUtils.cpp:
- (WebCore::VGUtils::bytesForImage):
- (WebCore::VGUtils::bytesForImageScanline):
- (WebCore::VGUtils::imageFormatBitsPerPixel):
- (WebCore::VGUtils::endianAwareImageFormat):
- * platform/graphics/openvg/VGUtils.h:
- * platform/image-decoders/openvg/ImageDecoderOpenVG.cpp: Added.
- (WebCore::RGBA32Buffer::asNewNativeImage):
-
-2010-05-17 Yaar Schnitman <yaar@chromium.org>
-
- Reviewed by Darin Adler.
-
- Fix JSC's generation of 'Optional' arguments. When a single 'Optional' extended attribute precedes multiple method arguments, all of these arguments are optional as a group (either all or non must be specified). This fix, which makes JSC compliant with V8 and with the Web IDL specs, is pretty harmless, since Optional is currently not being used anywhere in JSC, but it blocks further work on overloads.
- https://bugs.webkit.org/show_bug.cgi?id=39227
-
- * bindings/scripts/CodeGeneratorJS.pm:
- * bindings/scripts/test/JS/JSTestObj.cpp:
- (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
-
-2010-05-16 Sam Weinig <sam@webkit.org>
-
- Reviewed by Adam Barth.
-
- https://bugs.webkit.org/show_bug.cgi?id=39192
- Remove unused PERFECT_HASH code CodeGeneratorJS.
-
- * bindings/scripts/CodeGeneratorJS.pm:
-
-2010-05-17 Jeremy Moskovich <jeremy@chromium.org>
-
- Reviewed by Jeremy Orlow.
-
- Remove debug code that was introduced to help narrow down the
- source of a crash.
- https://bugs.webkit.org/show_bug.cgi?id=36426
-
- No change in behavior, so no new tests.
-
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::finishedLoadingDocument):
-
-2010-05-17 Andreas Kling <andreas.kling@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Bring CanvasRenderingContext2D's createImageData() in line with HTML5 spec
- Added createImageData(ImageData) which returns a new ImageData with the same size as the one passed.
- Changed createImageData(width, height) to use the absolute values of width and height.
-
- https://bugs.webkit.org/show_bug.cgi?id=39189
-
- Spec link:
- http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-createimagedata
-
- Test: fast/canvas/canvas-createImageData.html
-
- * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
- (WebCore::JSCanvasRenderingContext2D::createImageData):
- * html/canvas/CanvasRenderingContext2D.cpp:
- (WebCore::CanvasRenderingContext2D::createImageData):
- * html/canvas/CanvasRenderingContext2D.h:
- * html/canvas/CanvasRenderingContext2D.idl:
-
-2010-05-17 Antti Koivisto <koivisto@iki.fi>
-
- This was missing from previous commit.
-
- * platform/qt/QWebPageClient.h:
- (QWebPageClient::graphicsItemVisibleRect):
-
-2010-05-17 Antti Koivisto <koivisto@iki.fi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- https://bugs.webkit.org/show_bug.cgi?id=39218
- [Qt] Tiled backing store tiles sometimes flicker when exiting a zoom animation
-
- Tiles sometimes flicker when exiting a zoom animation. This happens as a result
- of the visible rectangle being momentarily out of sync.
-
- Instead of updating the visible rect by explicitly setting it, pull it through
- the client and recompute in the WebKit level.
-
- * page/ChromeClient.h:
- (WebCore::ChromeClient::visibleRectForTiledBackingStore):
- * page/Frame.cpp:
- (WebCore::Frame::tiledBackingStoreVisibleRect):
- * page/Frame.h:
- * platform/graphics/TiledBackingStore.cpp:
- (WebCore::TiledBackingStore::checkVisibleRectChanged):
- (WebCore::TiledBackingStore::createTiles):
- * platform/graphics/TiledBackingStore.h:
- * platform/graphics/TiledBackingStoreClient.h:
-
-2010-05-15 Adam Roben <aroben@apple.com>
-
- Periodically try to reset a lost IDirect3DDevice9 until we succeed
-
- This is how MSDN says we must respond to a lost device (see
- <http://msdn.microsoft.com/en-us/library/bb174714(v=VS.85).aspx>).
-
- Only testable by a manual test, unfortunately.
-
- Fixes <rdar://problem/7986906> <http://webkit.org/b/39139> Pages that
- use hardware acceleration don't repaint after waking computer from
- sleep
-
- Reviewed by John Sullivan.
-
- * manual-tests/no-repaint-after-wake-from-sleep.html: Added. This is
- the Poster Circle demo from webkit.org/blog, but with instructions for
- putting the computer to sleep and waking it up again.
-
- * platform/graphics/win/WKCACFLayerRenderer.cpp:
- (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Initialize new
- member that tells us whether we need to try to reset the device before
- rendering.
- (WebCore::WKCACFLayerRenderer::resize): Changed to tell resetDevice
- the reason why the device needs to be reset (which is because the
- window's size has changed).
- (WebCore::WKCACFLayerRenderer::render): Before we do anything else,
- check if we need to reset the device before rendering. If we do, try
- to reset it. If that fails, bail out and set a timer to try again
- later. If we discover that the device is lost when calling
- IDirect3DDevice9::Present and resetting the device fails, bail out and
- set a timer to try again later.
- (WebCore::WKCACFLayerRenderer::resetDevice): Changed to return a
- boolean indicating whether resetting succeeded or not. Added a
- ResetReason parameter so callers can specify whey the device needs to
- be reset. Before trying to do anything, we call
- IDirect3DDevice9::TestCooperativeLevel to find out whether the device
- can be reset currently. If it can't, we set a flag to tell ourselves
- that the device must be reset before we next render, and indicate to
- the caller that the reset failed. If we thought the device was lost
- but it turns out not to be, we don't have to do anything and can tell
- the caller that the reset succeeded. Otherwise we go ahead and reset
- the device as before, and indicate to the caller that the reset
- succeeded.
-
- * platform/graphics/win/WKCACFLayerRenderer.h: Changed resetDevice to
- return a boolean and take a ResetReason parameter. Added a comment
- about when and why this function should be called. And added
- m_mustResetLostDeviceBeforeRendering.
-
-2010-05-15 Adam Roben <aroben@apple.com>
-
- Call CARenderOGLPurge whenever we call IDirect3DDevice9::Reset
-
- MSDN says that all resoures allocated with D3DPOOL_DEFAULT must be
- destroyed before calling IDirect3DDevice9::Reset. The only way to
- guarantee this with Core Animation is to call CARenderOGLPurge.
-
- Unfortunately this isn't testable at the moment, as we don't use any
- features of Core Animation (e.g., mask layers) that actually make this
- required. But it seems like a good idea to fix the code now so that
- if/when we do start using those features we won't run into problems.
-
- Fixes <http://webkit.org/b/39159> WKCACFLayerRenderer::resetDevice
- might fail due to failing to destroy all D3DPOOL_DEFAULT resources
-
- Reviewed by John Sullivan.
-
- * platform/graphics/win/WKCACFLayerRenderer.cpp:
- (WebCore::WKCACFLayerRenderer::render): Moved the call to
- CARenderOGLPurge from here...
- (WebCore::WKCACFLayerRenderer::resetDevice): ...to here, so that it
- will be called whenever we reset the device (e.g., when resizing the
- window).
-
-2010-05-17 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Rubber-stamped by Xan Lopez.
-
- Build fix. Remove bashism from build system.
-
- * GNUmakefile.am:
-
-2010-05-17 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r59483.
- http://trac.webkit.org/changeset/59483
- https://bugs.webkit.org/show_bug.cgi?id=39215
-
- "page_cycler_intl1 regression on Linux" (Requested by yurys on
- #webkit).
-
- * platform/chromium/ChromiumBridge.h:
- * platform/graphics/chromium/FontCacheLinux.cpp:
- (WebCore::FontCache::getFontDataForCharacters):
-
-2010-05-17 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Laszlo Gombos.
-
- REGRESSION(59563): [Qt] JSValue QtClass::fallbackObject can be optimized
-
- Patch declared a variable index, which shadowed an earlier declared
- variable.
-
- * bridge/qt/qt_class.cpp:
- (JSC::Bindings::QtClass::fallbackObject):
-
-2010-05-14 Andrei Popescu <andreip@google.com>
-
- Reviewed by Jeremy Orlow.
-
- IDBRequest is not a proper ActiveDomObject
- https://bugs.webkit.org/show_bug.cgi?id=39001
-
- Add IDBRequest interface to the IsActiveDomType
- routine of the CodeGeneratorV8.pm.
-
- Rename IDBRequest::m_stopped to m_suspended and reset
- the flag when resume() is called.
-
- No new tests, Indexed Database isn't yet testable.
-
- * bindings/scripts/CodeGeneratorV8.pm:
- * storage/IDBRequest.cpp:
- (WebCore::IDBRequest::suspend):
- (WebCore::IDBRequest::resume):
- (WebCore::IDBRequest::timerFired):
- (WebCore::IDBRequest::onEventCommon):
- * storage/IDBRequest.h:
-
-2010-05-17 Xan Lopez <xlopez@igalia.com>
-
- Do not include the indexed database headers if the feature is not
- enabled. Should fix the build in GTK+.
-
- * bindings/js/JSEventCustom.cpp:
-
-2010-05-17 Xan Lopez <xlopez@igalia.com>
-
- Try to fix GTK+ build.
-
- * GNUmakefile.am:
-
-2010-05-14 Jeremy Orlow <jorlow@chromium.org>
-
- Reviewed by Nate Chapin.
-
- Finish up IndexedDB events
- https://bugs.webkit.org/show_bug.cgi?id=39117
-
- Implement the indexed database event interfaces as proposed by Mozilla.
- Refactor the run time type detection code that was in IDBRequest into its own
- class named IDBAny. Use this new class within the new event classes and
- IDBResults.
-
- Test: storage/indexeddb/basics.html
-
- * DerivedSources.cpp:
- * DerivedSources.make:
- * GNUmakefile.am:
- * WebCore.gyp/WebCore.gyp:
- * WebCore.gypi:
- * WebCore.pri:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/js/JSEventCustom.cpp:
- (WebCore::toJS):
- * bindings/js/JSEventTarget.cpp:
- (WebCore::toJS):
- * bindings/js/JSIDBAnyCustom.cpp: Added.
- (WebCore::toJS):
- * bindings/js/JSIDBRequestCustom.cpp: Removed.
- * bindings/v8/custom/V8EventCustom.cpp:
- (WebCore::toV8):
- * bindings/v8/custom/V8IDBAnyCustom.cpp: Added.
- (WebCore::toV8):
- * bindings/v8/custom/V8IDBRequestCustom.cpp: Removed.
- * dom/Event.cpp:
- (WebCore::Event::isIDBErrorEvent):
- (WebCore::Event::isIDBSuccessEvent):
- * dom/Event.h:
- * storage/IDBAny.cpp: Added.
- (WebCore::IDBAny::create):
- (WebCore::IDBAny::IDBAny):
- (WebCore::IDBAny::~IDBAny):
- (WebCore::IDBAny::idbDatabaseRequest):
- (WebCore::IDBAny::indexedDatabaseRequest):
- (WebCore::IDBAny::serializedScriptValue):
- (WebCore::IDBAny::set):
- * storage/IDBAny.h: Added.
- (WebCore::IDBAny::):
- (WebCore::IDBAny::type):
- * storage/IDBAny.idl: Added.
- * storage/IDBErrorEvent.cpp: Added.
- (WebCore::IDBErrorEvent::create):
- (WebCore::IDBErrorEvent::IDBErrorEvent):
- (WebCore::IDBErrorEvent::~IDBErrorEvent):
- * storage/IDBErrorEvent.h: Added.
- (WebCore::IDBErrorEvent::code):
- (WebCore::IDBErrorEvent::message):
- (WebCore::IDBErrorEvent::isIDBErrorEvent):
- * storage/IDBErrorEvent.idl: Added.
- * storage/IDBEvent.cpp: Added.
- (WebCore::IDBEvent::IDBEvent):
- (WebCore::IDBEvent::~IDBEvent):
- (WebCore::IDBEvent::source):
- * storage/IDBEvent.h: Added.
- * storage/IDBEvent.idl: Added.
- * storage/IDBRequest.cpp:
- (WebCore::IDBRequest::IDBRequest):
- (WebCore::IDBRequest::onSuccess):
- (WebCore::IDBRequest::timerFired):
- (WebCore::IDBRequest::onEventCommon):
- * storage/IDBRequest.h:
- (WebCore::IDBRequest::create):
- (WebCore::IDBRequest::result):
- * storage/IDBRequest.idl:
- * storage/IDBSuccessEvent.cpp: Added.
- (WebCore::IDBSuccessEvent::create):
- (WebCore::IDBSuccessEvent::IDBSuccessEvent):
- (WebCore::IDBSuccessEvent::~IDBSuccessEvent):
- (WebCore::IDBSuccessEvent::result):
- * storage/IDBSuccessEvent.h: Added.
- (WebCore::IDBSuccessEvent::isIDBSuccessEvent):
- * storage/IDBSuccessEvent.idl: Added.
- * storage/IndexedDatabaseImpl.cpp:
- (WebCore::IndexedDatabaseImpl::open):
- * storage/IndexedDatabaseRequest.cpp:
- (WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest):
- (WebCore::IndexedDatabaseRequest::open):
- * storage/IndexedDatabaseRequest.h:
-
-2010-05-16 Chris Jerdonek <cjerdonek@webkit.org>
-
- Unreviewed.
-
- Removed the stray equals sign from the reviewer's name in the
- "Reviewed by" line of the ChangeLog entry for r59596:
-
- http://trac.webkit.org/changeset/59596
-
-2010-05-16 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Adam Barth.
-
- Refactored FrameLoader::changeLocation() and urlSelected() to share more code.
-
- https://bugs.webkit.org/show_bug.cgi?id=38827
-
- No change in behavior, so no new tests.
-
- * bindings/ScriptControllerBase.cpp:
- (WebCore::ScriptController::executeIfJavaScriptURL):
- - Changed a parameter from boolean to the ShouldReplaceDocumentIfJavaScriptURL enum.
- * bindings/js/ScriptController.h:
- - Changed a parameter from boolean to the ShouldReplaceDocumentIfJavaScriptURL enum.
- * bindings/v8/ScriptController.h:
- - Changed a parameter from boolean to the ShouldReplaceDocumentIfJavaScriptURL enum.
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::changeLocation):
- - Changed to call the new private overload of urlSelected().
- (WebCore::FrameLoader::urlSelected):
- - Added a private overload of urlSelected().
- - Changed the public urlSelected() to call the private overload.
- (WebCore::FrameLoader::submitForm):
- * loader/FrameLoader.h:
- - Added a private overload of urlSelected().
- * loader/FrameLoaderTypes.h:
- - Added a ShouldReplaceDocumentIfJavaScriptURL enum.
-
-2010-05-16 Daniel Bates <dbates@rim.com>
-
- Reviewed by David Hyatt.
-
- https://bugs.webkit.org/show_bug.cgi?id=39196
-
- Rollout changeset 59274 <http://trac.webkit.org/changeset/59274>.
-
- Prepared on behalf of David Hyatt.
-
- "Not worth the memory use." Just roll this out.
-
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * editing/visible_units.cpp:
- (WebCore::previousLinePosition):
- (WebCore::nextLinePosition):
- * rendering/EllipsisBox.cpp:
- (WebCore::EllipsisBox::paint):
- (WebCore::EllipsisBox::selectionRect):
- (WebCore::EllipsisBox::paintSelection):
- (WebCore::EllipsisBox::nodeAtPoint):
- * rendering/EllipsisBox.h:
- (WebCore::EllipsisBox::EllipsisBox):
- (WebCore::EllipsisBox::height):
- * rendering/InlineBox.cpp:
- (WebCore::InlineBox::height):
- (WebCore::InlineBox::adjustPosition):
- (WebCore::InlineBox::canAccommodateEllipsis):
- * rendering/InlineBox.h:
- (WebCore::InlineBox::InlineBox):
- (WebCore::InlineBox::isInlineBox):
- (WebCore::InlineBox::hasVirtualHeight):
- (WebCore::InlineBox::setHasVirtualHeight):
- (WebCore::InlineBox::virtualHeight):
- (WebCore::InlineBox::setWidth):
- (WebCore::InlineBox::width):
- (WebCore::InlineBox::setX):
- (WebCore::InlineBox::x):
- (WebCore::InlineBox::setY):
- (WebCore::InlineBox::y):
- (WebCore::InlineBox::baselinePosition):
- (WebCore::InlineBox::lineHeight):
- * rendering/InlineFlowBox.cpp:
- (WebCore::InlineFlowBox::placeBoxesVertically):
- (WebCore::InlineFlowBox::computeVerticalOverflow):
- (WebCore::InlineFlowBox::nodeAtPoint):
- (WebCore::InlineFlowBox::paintBoxDecorations):
- (WebCore::InlineFlowBox::paintMask):
- (WebCore::InlineFlowBox::paintTextDecorations):
- * rendering/InlineFlowBox.h:
- (WebCore::InlineFlowBox::visibleOverflowRect):
- (WebCore::InlineFlowBox::topLayoutOverflow):
- (WebCore::InlineFlowBox::bottomLayoutOverflow):
- (WebCore::InlineFlowBox::leftLayoutOverflow):
- (WebCore::InlineFlowBox::rightLayoutOverflow):
- (WebCore::InlineFlowBox::layoutOverflowRect):
- (WebCore::InlineFlowBox::topVisualOverflow):
- (WebCore::InlineFlowBox::bottomVisualOverflow):
- (WebCore::InlineFlowBox::leftVisualOverflow):
- (WebCore::InlineFlowBox::rightVisualOverflow):
- (WebCore::InlineFlowBox::visualOverflowRect):
- (WebCore::InlineFlowBox::setHorizontalOverflowPositions):
- (WebCore::InlineFlowBox::setVerticalOverflowPositions):
- * rendering/InlineTextBox.cpp:
- (WebCore::InlineTextBox::selectionRect):
- (WebCore::InlineTextBox::placeEllipsisBox):
- (WebCore::InlineTextBox::nodeAtPoint):
- (WebCore::InlineTextBox::paint):
- (WebCore::InlineTextBox::paintSelection):
- (WebCore::InlineTextBox::paintCompositionBackground):
- (WebCore::InlineTextBox::paintDecoration):
- (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
- (WebCore::InlineTextBox::paintTextMatchMarker):
- (WebCore::InlineTextBox::computeRectForReplacementMarker):
- (WebCore::InlineTextBox::paintCompositionUnderline):
- (WebCore::InlineTextBox::offsetForPosition):
- (WebCore::InlineTextBox::positionForOffset):
- * rendering/InlineTextBox.h:
- (WebCore::InlineTextBox::setSpaceAdd):
- * rendering/RenderBlock.cpp:
- (WebCore::RenderBlock::positionForPointWithInlineChildren):
- * rendering/RenderBlockLineLayout.cpp:
- (WebCore::RenderBlock::computeVerticalPositionsForLine):
- (WebCore::RenderBlock::layoutInlineChildren):
- * rendering/RenderSVGInline.cpp:
- (WebCore::RenderSVGInline::createInlineFlowBox):
- * rendering/RenderSVGInlineText.cpp:
- (WebCore::RenderSVGInlineText::createTextBox):
- * rendering/RenderSVGText.cpp:
- (WebCore::RenderSVGText::createRootInlineBox):
- * rendering/RenderText.cpp:
- (WebCore::RenderText::positionForPoint):
- (WebCore::RenderText::firstRunX):
- (WebCore::RenderText::firstRunY):
- * rendering/RenderTreeAsText.cpp:
- (WebCore::writeTextRun):
- * rendering/RootInlineBox.cpp:
- (WebCore::RootInlineBox::placeEllipsis):
- (WebCore::RootInlineBox::addHighlightOverflow):
- (WebCore::RootInlineBox::closestLeafChildForXPos):
- * rendering/SVGInlineFlowBox.h:
- (WebCore::SVGInlineFlowBox::SVGInlineFlowBox):
- (WebCore::SVGInlineFlowBox::virtualHeight):
- (WebCore::SVGInlineFlowBox::setHeight):
- * rendering/SVGInlineTextBox.h:
- (WebCore::SVGInlineTextBox::virtualHeight):
- (WebCore::SVGInlineTextBox::setHeight):
- (WebCore::SVGInlineTextBox::selectionTop):
- (WebCore::SVGInlineTextBox::selectionHeight):
- * rendering/SVGRootInlineBox.h:
- (WebCore::SVGRootInlineBox::SVGRootInlineBox):
- (WebCore::SVGRootInlineBox::virtualHeight):
- (WebCore::SVGRootInlineBox::setHeight):
- * rendering/TrailingFloatsRootInlineBox.h: Added.
- (WebCore::TrailingFloatsRootInlineBox::TrailingFloatsRootInlineBox):
- (WebCore::TrailingFloatsRootInlineBox::virtualHeight):
-
-2010-05-13 Tony Chang <tony@chromium.org>
-
- Reviewed by Darin Adler.
-
- REGRESSION: Crash by pasting to a textarea with white-space:nowrap
- https://bugs.webkit.org/show_bug.cgi?id=38992
-
- Test: editing/pasteboard/paste-plaintext-nowrap.html
-
- * editing/InsertParagraphSeparatorCommand.cpp:
- (WebCore::highestVisuallyEquivalentDivBelowRoot):
- (WebCore::InsertParagraphSeparatorCommand::doApply):
-
-2010-05-16 David Hyatt <hyatt@apple.com>
-
- Reviewed by Dan Bernstein.
-
- https://bugs.webkit.org/show_bug.cgi?id=39194
-
- Fix all of the multi-column painting and hit testing functions to properly account for RTL directionality.
-
- Added fast/multicol/column-count-with-rules.html
-
- * rendering/RenderBlock.cpp:
- (WebCore::RenderBlock::paintColumnRules):
- (WebCore::RenderBlock::paintColumnContents):
- (WebCore::RenderBlock::hitTestColumns):
- (WebCore::RenderBlock::adjustRectForColumns):
-
-2010-05-16 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Dave Hyatt.
-
- Fix SVG test failures after r59588.
-
- Updated SVG InlineBox virtual method overrides to match HTML ones. Removed
- SVGInlineFlowBox::verticallyAlignBoxes() since InlineFlowBox no longer declares
- verticallyAlignBoxes().
-
- * rendering/SVGInlineFlowBox.cpp:
- (WebCore::SVGInlineFlowBox::placeBoxesHorizontally):
- * rendering/SVGInlineFlowBox.h:
- * rendering/SVGRootInlineBox.cpp:
- (WebCore::SVGRootInlineBox::placeBoxesHorizontally):
- (WebCore::SVGRootInlineBox::verticallyAlignBoxes):
- * rendering/SVGRootInlineBox.h:
-
-2010-05-16 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Darin Adler.
-
- Move transient glyph overflow and fallback font data from a global to the stack
- https://bugs.webkit.org/show_bug.cgi?id=39050
-
- * rendering/InlineFlowBox.cpp:
- (WebCore::InlineFlowBox::placeBoxesHorizontally): Added a GlyphOverflowAndFallbackFontsMap
- parameter. Read glyph overflow from the map.
- (WebCore::InlineFlowBox::computeLogicalBoxHeights): Added a GlyphOverflowAndFallbackFontsMap
- parameter. Read fallback fonts from the map.
- (WebCore::InlineFlowBox::computeVerticalOverflow): Added a GlyphOverflowAndFallbackFontsMap
- parameter. Read glyph overflow from the map.
- * rendering/InlineFlowBox.h:
- * rendering/InlineTextBox.cpp: Removed setFallbackFonts(), fallbackFonts(), setGlyphOverflow(),
- and glyphOverflow(). Removed s_glyphOverflowAndFallbackFontsMap.
- * rendering/InlineTextBox.h:
- * rendering/RenderBlock.h:
- * rendering/RenderBlockLineLayout.cpp:
- (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added a GlyphOverflowAndFallbackFontsMap
- parameter. Write fallback fonts and glyph overflow into the map.
- (WebCore::RenderBlock::computeVerticalPositionsForLine): Added a GlyphOverflowAndFallbackFontsMap
- parameter. Pass it down to verticallyAlignBoxes().
- (WebCore::RenderBlock::layoutInlineChildren): Create a GlyphOverflowAndFallbackFontsMap on the
- stack and pass it down to computeHorizontalPositionsForLine(), computeVerticalPositionsForLine(),
- and verticallyAlignBoxes().
- * rendering/RootInlineBox.cpp:
- (WebCore::RootInlineBox::verticallyAlignBoxes): Added a GlyphOverflowAndFallbackFontsMap parameter.
- Pass it down to computeLogicalBoxHeights() and computeVerticalOverflow().
- * rendering/RootInlineBox.h:
- * rendering/SVGRootInlineBox.cpp:
- (WebCore::SVGRootInlineBox::layoutInlineBoxes): Updated.
-
-2010-05-12 Tony Chang <tony@chromium.org>
-
- Reviewed by Darin Adler.
-
- Spellcheck disabling does not disable context menu
- https://bugs.webkit.org/show_bug.cgi?id=25639
-
- Test: editing/spelling/context-menu-suggestions.html
-
- * platform/ContextMenu.cpp:
- (WebCore::ContextMenu::populate):
-
-2010-05-16 Sam Weinig <sam@webkit.org>
+2010-05-31 Tony Chang <tony@chromium.org>
Reviewed by Dan Bernstein.
- https://bugs.webkit.org/show_bug.cgi?id=39190
- Shave a word off of GlyphPageTreeNode
- <rdar://problem/7990428>
-
- * platform/graphics/GlyphPageTreeNode.h:
- (WebCore::GlyphPageTreeNode::GlyphPageTreeNode):
-
-2010-05-16 Andreas Kling <andreas.kling@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Properly handle invalid arguments to CanvasRenderingContext2D's getImageData() and putImageData().
- Both should throw NOT_SUPPORTED_ERR when called with nonfinite arguments.
- getImageData() should throw INDEX_SIZE_ERR if either width or height is 0.
-
- https://bugs.webkit.org/show_bug.cgi?id=39175
-
- Spec link:
- http://www.whatwg.org/specs/web-apps/current-work/#pixel-manipulation
-
- Test: fast/canvas/canvas-getImageData-invalid.html
-
- * html/canvas/CanvasRenderingContext2D.cpp:
- (WebCore::CanvasRenderingContext2D::createImageData):
- (WebCore::CanvasRenderingContext2D::getImageData):
- (WebCore::CanvasRenderingContext2D::putImageData):
-
-2010-05-16 Andreas Kling <andreas.kling@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Canvas's toDataURL() should be case insensitive wrt the mimeType argument.
- https://bugs.webkit.org/show_bug.cgi?id=39153
-
- Spec link:
- http://www.whatwg.org/specs/web-apps/current-work/#dom-canvas-todataurl
-
- Test: fast/canvas/canvas-toDataURL-case-insensitive-mimetype.html
-
- * dom/CanvasSurface.cpp:
- (WebCore::CanvasSurface::toDataURL):
-
-2010-05-16 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Shrink SimpleFontData
- https://bugs.webkit.org/show_bug.cgi?id=39179
-
- Change SimpleFontData to have a pointer to the m_glyphToBoundsMap,
- and to allocate this lazily. This reduces the size of the class from
- 5632 to 1536 bytes.
-
- * platform/graphics/SimpleFontData.h:
- (WebCore::SimpleFontData::boundsForGlyph):
-
-2010-05-15 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Reduce the size of CachedResource
- https://bugs.webkit.org/show_bug.cgi?id=39171
-
- Make protected data members of CachedResource private, to allow for
- easier rearrangement, and hide the fact that enums are in bitfields.
+ REGRESSION (r58665): Infinite recursion in Position::getInlineBoxAndOffset()
+ https://bugs.webkit.org/show_bug.cgi?id=39946
- Rearrange the data members of CachedResource to save 32 bytes per instance
- in 64-bit. Also modernized the constructor code.
-
- * loader/CachedCSSStyleSheet.cpp:
- (WebCore::CachedCSSStyleSheet::didAddClient):
- (WebCore::CachedCSSStyleSheet::data):
- (WebCore::CachedCSSStyleSheet::checkNotify):
- (WebCore::CachedCSSStyleSheet::error):
- * loader/CachedFont.cpp:
- (WebCore::CachedFont::load):
- (WebCore::CachedFont::didAddClient):
- (WebCore::CachedFont::data):
- (WebCore::CachedFont::ensureCustomFontData):
- (WebCore::CachedFont::ensureSVGFontData):
- (WebCore::CachedFont::checkNotify):
- (WebCore::CachedFont::error):
- * loader/CachedImage.cpp:
- (WebCore::CachedImage::CachedImage):
- (WebCore::CachedImage::load):
- (WebCore::CachedImage::didAddClient):
- (WebCore::CachedImage::allClientsRemoved):
- (WebCore::CachedImage::image):
- (WebCore::CachedImage::data):
- (WebCore::CachedImage::error):
- (WebCore::CachedImage::checkNotify):
- (WebCore::CachedImage::destroyDecodedData):
- * loader/CachedImage.h:
- (WebCore::CachedImage::stillNeedsLoad):
- * loader/CachedResource.cpp:
- (WebCore::CachedResource::CachedResource):
- * loader/CachedResource.h:
- (WebCore::CachedResource::type):
- (WebCore::CachedResource::preloadResult):
- (WebCore::CachedResource::status):
- (WebCore::CachedResource::setStatus):
- (WebCore::CachedResource::isLoaded):
- (WebCore::CachedResource::isLoading):
- (WebCore::CachedResource::setErrorOccurred):
- * loader/CachedScript.cpp:
- (WebCore::CachedScript::didAddClient):
- (WebCore::CachedScript::data):
- (WebCore::CachedScript::checkNotify):
- (WebCore::CachedScript::error):
- * loader/CachedXSLStyleSheet.cpp:
- (WebCore::CachedXSLStyleSheet::didAddClient):
- (WebCore::CachedXSLStyleSheet::data):
- (WebCore::CachedXSLStyleSheet::checkNotify):
- (WebCore::CachedXSLStyleSheet::error):
-
-2010-05-16 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r59574.
- http://trac.webkit.org/changeset/59574
- https://bugs.webkit.org/show_bug.cgi?id=39176
-
- Supposedly broke cr-win, but the errors seems somewhat
- unrelated (Requested by abarth on #webkit).
-
- * platform/network/chromium/ResourceResponse.h:
- (WebCore::ResourceResponse::ResourceResponse):
- (WebCore::ResourceResponse::setSecurityInfo):
- (WebCore::ResourceResponse::isContentFiltered):
- (WebCore::ResourceResponse::setIsContentFiltered):
- (WebCore::ResourceResponse::setAppCacheID):
- (WebCore::ResourceResponse::setAppCacheManifestURL):
- (WebCore::ResourceResponse::setWasFetchedViaSPDY):
- (WebCore::ResourceResponse::setIsMultipartPayload):
- (WebCore::ResourceResponse::setResponseTime):
-
-2010-05-16 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Darin Adler.
-
- Scalar types allocated on the heap due to misuse of DEFINE_STATIC_LOCAL
- https://bugs.webkit.org/show_bug.cgi?id=39086
+ r58665 added an infinite recursion check, but didn't take into consideration recursion between two
+ Positions. This adds a check for when
+ downstreamIgnoringEditingBoundaries(p1) == p2 and upstreamIgnoringEditingBoundaries(p2) == p1
- Use global variables directly.
+ Test: editing/selection/mixed-editability-12.html
- * bindings/v8/ScriptCallStack.cpp:
- (WebCore::ScriptCallStack::createUtilityContext):
- * platform/ScrollView.cpp:
- (WebCore::ScrollView::wheelEvent):
- * platform/graphics/mac/ComplexTextController.cpp:
- (WebCore::shouldUseATSUIAPI):
+ * dom/Position.cpp:
+ (WebCore::Position::getInlineBoxAndOffset):
-2010-05-16 Andreas Kling <andreas.kling@nokia.com>
+2010-05-31 Leo Yang <leo.yang@torchmobile.com.cn>
- Reviewed by Kenneth Rohde Christiansen.
-
- Canvas's getContext() must return null when called with an invalid/unsupported parameter.
- (HTML5 spec 4.8.11): http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#dom-canvas-getcontext
+ Reviewed by George Staikos.
- https://bugs.webkit.org/show_bug.cgi?id=39150
+ Fix canvas.toDataURL(type, quality, ...) to let it support quality parameter.
+ And implement it in Qt port.
+ https://bugs.webkit.org/show_bug.cgi?id=37304
- Test: fast/canvas/canvas-getContext-invalid.html
+ Tests: platform/qt/fast/canvas/toDataURL-jpeg-alpha.html
+ platform/qt/fast/canvas/toDataURL-jpeg-primarycolors.html
+ platform/qt/fast/canvas/toDataURL-jpeg-quality-basic.html
+ platform/qt/fast/canvas/toDataURL-jpeg-quality-notnumber.html
+ platform/qt/fast/canvas/toDataURL-jpeg-quality-outsiderange.html
* bindings/js/JSHTMLCanvasElementCustom.cpp:
- (WebCore::JSHTMLCanvasElement::getContext):
+ (WebCore::JSHTMLCanvasElement::toDataURL):
* bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
- (WebCore::V8HTMLCanvasElement::getContextCallback):
-
-2010-05-15 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r59565.
- http://trac.webkit.org/changeset/59565
- https://bugs.webkit.org/show_bug.cgi?id=39173
-
- Broke GTK (Requested by abarth on #webkit).
-
+ (WebCore::V8HTMLCanvasElement::toDataURLCallback):
* dom/CanvasSurface.cpp:
(WebCore::CanvasSurface::toDataURL):
-
-2010-05-15 Andreas Kling <andreas.kling@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Canvas's toDataURL() should be case insensitive wrt the mimeType argument.
- https://bugs.webkit.org/show_bug.cgi?id=39153
-
- Spec link:
- http://www.whatwg.org/specs/web-apps/current-work/#dom-canvas-todataurl
-
- Test: fast/canvas/canvas-toDataURL-case-insensitive-mimetype.html
-
- * dom/CanvasSurface.cpp:
+ * dom/CanvasSurface.h:
(WebCore::CanvasSurface::toDataURL):
+ * html/HTMLCanvasElement.idl:
+ * platform/graphics/ImageBuffer.h:
+ * platform/graphics/cairo/ImageBufferCairo.cpp:
+ (WebCore::ImageBuffer::toDataURL):
+ * platform/graphics/cg/ImageBufferCG.cpp:
+ (WebCore::ImageBuffer::toDataURL):
+ * platform/graphics/haiku/ImageBufferHaiku.cpp:
+ (WebCore::ImageBuffer::toDataURL):
+ * platform/graphics/qt/ImageBufferQt.cpp:
+ (WebCore::ImageBuffer::toDataURL):
+ * platform/graphics/skia/ImageBufferSkia.cpp:
+ (WebCore::ImageBuffer::toDataURL):
+ * platform/graphics/wince/ImageBufferWince.cpp:
+ (WebCore::ImageBuffer::toDataURL):
+ * platform/graphics/wx/ImageBufferWx.cpp:
+ (WebCore::ImageBuffer::toDataURL):
-2010-05-15 Anders Bakken <agbakken@gmail.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- QObject::objectName() returns a QString and QtField::name()
- creates a temporary QByteArray object and returns constData() from it.
- This is not safe.
-
- This patch changes the signature of the function to return a
- QByteArray instead of const char *.
-
- https://bugs.webkit.org/show_bug.cgi?id=39010
-
- * bridge/qt/qt_instance.cpp:
- (JSC::Bindings::QtInstance::getPropertyNames):
- (JSC::Bindings::QtField::name):
- * bridge/qt/qt_runtime.h:
-
-2010-05-15 Anders Bakken <agbakken@gmail.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Don't unnecessarily copy data when searching for methods in QtClass.
-
- [Qt] JSValue QtClass::fallbackObject can be optimized
- https://bugs.webkit.org/show_bug.cgi?id=37684
-
- * bridge/qt/qt_class.cpp:
- (JSC::Bindings::QtClass::fallbackObject):
-
-2010-05-15 Anders Bakken <agbakken@gmail.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Identifier::ascii() is not threadsafe and shouldn't be used for
- converting to and from QString/QByteArray.
-
- https://bugs.webkit.org/show_bug.cgi?id=39009
-
- * bridge/qt/qt_class.cpp:
- (JSC::Bindings::QtClass::fallbackObject):
- (JSC::Bindings::QtClass::fieldNamed):
-
-2010-05-15 Chang Shu <chang.shu@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Based on the spec and Philip Taylor's test suite, createImageData() should throw
- an INDEX_SIZE_ERR exception if either the sw or sh arguments are zero.
- The link to the spec:
- http://philip.html5.org/tests/canvas/suite/tests/spec.html#testrefs.2d.imageData.getcreate.zero
-
- https://bugs.webkit.org/show_bug.cgi?id=39166
-
- The complete test suite is in the process of checking in.
- https://bugs.webkit.org/show_bug.cgi?id=20553
-
- * html/canvas/CanvasRenderingContext2D.cpp:
- (WebCore::CanvasRenderingContext2D::createImageData):
-
-2010-05-15 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Adler.
-
- XMLHttpRequest.getResponseHeader doesn't need to be custom
- https://bugs.webkit.org/show_bug.cgi?id=39125
-
- I don't see any reason this method needs to be custom. No new tests
- because there's no behavior change.
-
- * bindings/js/JSXMLHttpRequestCustom.cpp:
- * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
- * xml/XMLHttpRequest.idl:
-
-2010-05-15 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Adler.
-
- XMLHttpRequest.setRequestHeader shouldn't be custom
- https://bugs.webkit.org/show_bug.cgi?id=39124
-
- I don't see any reason why this method needs to be custom. No tests
- because no behavior change.
-
- * bindings/js/JSXMLHttpRequestCustom.cpp:
- * bindings/scripts/CodeGeneratorJS.pm:
- * bindings/scripts/CodeGeneratorV8.pm:
- * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
- (webkit_dom_test_obj_method_that_requires_all_args):
- (webkit_dom_test_obj_method_that_requires_all_args_and_throws):
- * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
- * bindings/scripts/test/JS/JSTestObj.cpp:
- (WebCore::):
- (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
- (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
- * bindings/scripts/test/JS/JSTestObj.h:
- * bindings/scripts/test/ObjC/DOMTestObj.h:
- * bindings/scripts/test/ObjC/DOMTestObj.mm:
- (-[DOMTestObj methodThatRequiresAllArgs:objArg:]):
- (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]):
- * bindings/scripts/test/TestObj.idl:
- * bindings/scripts/test/V8/V8TestObj.cpp:
- (WebCore::TestObjInternal::methodThatRequiresAllArgsCallback):
- (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):
- (WebCore::ConfigureV8TestObjTemplate):
- * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
- * xml/XMLHttpRequest.idl:
-
-2010-05-14 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=39048
- <rdar://problem/7978384> REGRESSION (r55802): XML errors on Google maps ("Entity 'nbsp' not
- defined") with JavaScript disabled
-
- Google Maps goes into mobile mode if JavaScript is disabled for some reason, and sends XHTML
- content with XHTML Mobile DOCTYPE. We want to handle it whether XHTMLMP is enabled or not.
-
- Test: fast/doctypes/xhtml-with-xhtmlmp-doctype.xhtml
-
- * dom/XMLTokenizerLibxml2.cpp: (WebCore::externalSubsetHandler): Restore pre-55802 behavior
- for builds that don't have XHTMLMP enabled. Given that r55802 negated the condition without
- breaking XHTMLMP, this line is actually always needed.
-
-2010-05-15 Vangelis Kokkevis <vangelis@chromium.org>
-
- Reviewed by Darin Fisher.
-
- Fixing LayerChromium hierarchy updates where due to mixed ownership
- handling, sublayer updates didn't always properly update parent-to-child
- and child-to-parent pointers in sync.
- https://bugs.webkit.org/show_bug.cgi?id=39138
-
- * platform/graphics/chromium/LayerChromium.cpp:
- (WebCore::LayerChromium::~LayerChromium):
- (WebCore::LayerChromium::setNeedsCommit): Typo fix.
- (WebCore::LayerChromium::insertSublayer):
- (WebCore::LayerChromium::removeFromSuperlayer):
- (WebCore::LayerChromium::removeSublayer):
- (WebCore::LayerChromium::replaceSublayer):
- (WebCore::LayerChromium::removeAllSublayers):
- (WebCore::LayerChromium::setSublayers):
- * platform/graphics/chromium/LayerChromium.h:
- (WebCore::LayerChromium::setSuperlayer):
-
-2010-05-15 Andrey Kosyakov <caseq@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Got rid of absolute positioning in favor of flex boxes where possible.
- Added shadow for help window.
- Changed window style names to more comprehensible.
- https://bugs.webkit.org/show_bug.cgi?id=39120
-
- * inspector/front-end/HelpScreen.js:
- (WebInspector.HelpScreen):
- * inspector/front-end/helpScreen.css:
- (.help-window-outer):
- (body.attached .help-window-outer):
- (.help-window-main):
- (body.attached .help-window-main):
- (.help-window-caption):
- (body.attached .help-window-caption):
- (.help-window-title):
- (.help-scrollable):
- (.help-close-button):
- (body.platform-mac .help-close-button):
- (body:not(.platform-mac) .help-close-button):
-
-2010-05-15 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r59549.
- http://trac.webkit.org/changeset/59549
- https://bugs.webkit.org/show_bug.cgi?id=39167
-
- Broke Chromium build (Requested by abarth on #webkit).
-
- * bindings/scripts/CodeGeneratorV8.pm:
- * storage/IDBRequest.cpp:
- (WebCore::IDBRequest::suspend):
- (WebCore::IDBRequest::resume):
- (WebCore::IDBRequest::timerFired):
- (WebCore::IDBRequest::onEventCommon):
- * storage/IDBRequest.h:
-
-2010-05-15 Vangelis Kokkevis <vangelis@chromium.org>
-
- Reviewed by Darin Fisher.
-
- Adding code path for composited layers (LayerChromium) containing only
- an Image element.
- https://bugs.webkit.org/show_bug.cgi?id=39142
-
- No new tests, covered under the existing tests for composited layers.
-
- * platform/graphics/chromium/GraphicsLayerChromium.cpp:
- (WebCore::GraphicsLayerChromium::setContentsToImage):
- (WebCore::GraphicsLayerChromium::updateContentsImage):
- * platform/graphics/chromium/GraphicsLayerChromium.h:
- * platform/graphics/chromium/LayerChromium.cpp:
- (WebCore::LayerChromium::LayerChromium):
- (WebCore::LayerChromium::setContents):
- * platform/graphics/chromium/LayerChromium.h:
- (WebCore::LayerChromium::contents):
-
-2010-05-15 Andrei Popescu <andreip@google.com>
-
- Reviewed by Jeremy Orlow.
-
- IDBRequest is not a proper ActiveDomObject
- https://bugs.webkit.org/show_bug.cgi?id=39001
-
- Add IDBRequest interface to the IsActiveDomType
- routine of the CodeGeneratorV8.pm.
-
- Rename IDBRequest::m_stopped to m_suspended and reset
- the flag when resume() is called.
-
- No new tests, Indexed Database isn't yet testable.
-
- * bindings/scripts/CodeGeneratorV8.pm:
- * storage/IDBRequest.cpp:
- (WebCore::IDBRequest::suspend):
- (WebCore::IDBRequest::resume):
- (WebCore::IDBRequest::timerFired):
- (WebCore::IDBRequest::onEventCommon):
- * storage/IDBRequest.h:
-
-2010-05-15 Andrei Bucur <abucur@adobe.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- Functions using the cairo_pattern_t object returned by
- Pattern::createPlatformPattern sould destroy it after the painting
- operation. Failing to do so causes memory leaks.
-
- Test: No test was added because the patch adds no new functionality.
- It just completes the normal life cycle of a cairo_pattern_t object.
-
- * platform/graphics/cairo/FontCairo.cpp:
- (WebCore::Font::drawGlyphs):
- * platform/graphics/cairo/GraphicsContextCairo.cpp:
- (WebCore::setPlatformFill):
- (WebCore::setPlatformStroke):
-
-2010-05-15 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Kent Tamura.
-
- Initial support for HTMLMeterElement
- https://bugs.webkit.org/show_bug.cgi?id=38140
-
- This patch adds support for HTMLMeterElement, including default rendering
- of the meter element. That is because some platforms do not have a native gauge.
- The feature is turned on only for the Qt platform.
-
- Tests: fast/dom/HTMLMeterElement/meter-element.html
- fast/dom/HTMLMeterElement/set-meter-properties.html
-
- * DerivedSources.cpp:
- * DerivedSources.make:
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pri:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * css/CSSPrimitiveValueMappings.h:
- (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
- * css/CSSValueKeywords.in:
- * css/html.css:
- (meter):
- (meter::-webkit-meter):
- * html/HTMLAttributeNames.in:
- * html/HTMLElement.cpp:
- (WebCore::inlineTagList):
- * html/HTMLElementsAllInOne.cpp:
- * html/HTMLMeterElement.cpp: Added.
- (WebCore::HTMLMeterElement::HTMLMeterElement):
- (WebCore::HTMLMeterElement::create):
- (WebCore::HTMLMeterElement::createRenderer):
- (WebCore::HTMLMeterElement::formControlType):
- (WebCore::HTMLMeterElement::parseMappedAttribute):
- (WebCore::HTMLMeterElement::min):
- (WebCore::HTMLMeterElement::setMin):
- (WebCore::HTMLMeterElement::max):
- (WebCore::HTMLMeterElement::setMax):
- (WebCore::HTMLMeterElement::value):
- (WebCore::HTMLMeterElement::setValue):
- (WebCore::HTMLMeterElement::low):
- (WebCore::HTMLMeterElement::setLow):
- (WebCore::HTMLMeterElement::high):
- (WebCore::HTMLMeterElement::setHigh):
- (WebCore::HTMLMeterElement::optimum):
- (WebCore::HTMLMeterElement::setOptimum):
- * html/HTMLMeterElement.h: Added.
- (WebCore::HTMLMeterElement::recalcWillValidate):
- * html/HTMLMeterElement.idl: Added.
- * html/HTMLTagNames.in:
- * page/DOMWindow.idl:
- * platform/ThemeTypes.h:
- * rendering/RenderMeter.cpp: Added.
- (WebCore::RenderMeter::RenderMeter):
- (WebCore::RenderMeter::layout):
- (WebCore::RenderMeter::updateFromElement):
- * rendering/RenderMeter.h: Added.
- (WebCore::RenderMeter::renderName):
- (WebCore::RenderMeter::isMeter):
- (WebCore::toRenderMeter):
- * rendering/RenderObject.h:
- (WebCore::RenderObject::isMeter):
- * rendering/RenderTheme.cpp:
- (WebCore::RenderTheme::adjustStyle):
- (WebCore::RenderTheme::paint):
- (WebCore::RenderTheme::paintBorderOnly):
- (WebCore::RenderTheme::paintDecorations):
- (WebCore::RenderTheme::adjustMeterStyle):
- (WebCore::RenderTheme::paintMeter):
- * rendering/RenderTheme.h:
-
-2010-05-15 Eric Uhrhane <ericu@chromium.org>
-
- Reviewed by Dmitry Titov.
-
- Add bindings for async DB API in Workers.
- https://bugs.webkit.org/show_bug.cgi?id=34992
-
- Tests: storage/change-version-handle-reuse-worker.html
- storage/execute-sql-args-worker.html
-
- * bindings/js/JSWorkerContextCustom.cpp: Add openDatabase binding.
- (WebCore::JSWorkerContext::openDatabase):
-
- * bindings/v8/custom/V8WorkerContextCustom.cpp: Add openDatabase stub; Chromium will need work both in V8 and in the browser process before we can turn this on there.
- (WebCore::V8WorkerContext::openDatabaseCallback):
-
- Add NoStaticTables flags to all objects now shared with workers.
- * storage/Database.idl:
- * storage/SQLError.idl:
- * storage/SQLResultSet.idl:
- * storage/SQLResultSetRowList.idl:
- * storage/SQLTransaction.idl:
-
- * workers/WorkerContext.h: Add databaseExceededQuota.
- * workers/WorkerContext.cpp:
- (WebCore::WorkerContext::databaseExceededQuota): Add stub implementation for testing; you just get 5MB for now.
- (WebCore::WorkerContext::openDatabase): Remove invalid assertion.
-
- Add the IDL for the call to openDatabase.
- * workers/WorkerContext.idl:
-
-2010-05-15 Leandro Pereira <leandro@profusion.mobi>
-
- Reviewed by Adam Treat.
-
- [EFL] Add build system for the EFL port.
- http://webkit.org/b/37945
-
- * CMakeLists.txt: Added.
- * CMakeListsEfl.txt: Added.
- * config.h: Add conditional to look for cmakeconfig.h.
-
-2010-05-15 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Adler.
-
- Clipboard.setData doesn't need to be custom
- https://bugs.webkit.org/show_bug.cgi?id=39133
-
- The implementation of the custom binding for this function was a bit
- different than its declaration in the IDL file. I've updated the IDL
- to match the implementation, but we probably should check whether our
- behavior is correct with respect to the specification.
-
- No tests because I've maintained our current behavior.
-
- * bindings/js/JSClipboardCustom.cpp:
- * bindings/v8/custom/V8ClipboardCustom.cpp:
- * dom/Clipboard.idl:
-
-2010-05-15 Yaar Schnitman <yaar@chromium.org>
-
- Reviewed by Adam Barth.
-
- V8 overload support ported to JSC. Unforking of overloaded declarations in WebGL & Canvas will be done in subsequent patches.
- https://bugs.webkit.org/show_bug.cgi?id=38920
-
- Note that JSTestCallback.cpp/h include minor irrelevant changes too since somebody forgot to update them after changing the JS generator.
-
- * bindings/scripts/CodeGenerator.pm:
- * bindings/scripts/CodeGeneratorJS.pm:
- * bindings/scripts/CodeGeneratorV8.pm:
- * bindings/scripts/test/JS/JSTestCallback.cpp:
- (WebCore::JSTestCallback::JSTestCallback):
- (WebCore::JSTestCallback::~JSTestCallback):
- * bindings/scripts/test/JS/JSTestCallback.h:
- * bindings/scripts/test/JS/JSTestObj.cpp:
- (WebCore::):
- (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
- (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
- (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
- (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
- (WebCore::testObjPrototypeFunctionOverloadedMethod):
- * bindings/scripts/test/JS/JSTestObj.h:
- * bindings/scripts/test/TestObj.idl:
-
-2010-05-15 Joanmarie Diggs <joanmarie.diggs@gmail.com>
-
- Reviewed by Xan Lopez.
-
- https://bugs.webkit.org/show_bug.cgi?id=30500
- [Gtk] Find a way for WebKit to "announce" itself so that ATs can readily distinguish it from true Gtk/Gail
-
- The "announcement" is now made in the form of an object attribute
- associated with the AtkObject.
-
- * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
- (webkit_accessible_get_attributes):
-
-2010-05-15 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Adler.
-
- Show a console message when X-Frame-Options blocks a load
- https://bugs.webkit.org/show_bug.cgi?id=39087
-
- The blank page confuses people when X-Frame-Options blocks a load. The
- console message should at least give them a hint as to what's going on.
-
- * dom/Document.cpp:
- (WebCore::Document::processHttpEquiv):
-
-2010-05-15 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Geoffrey Garen.
-
- WebInspector: JSC Should provide heap size info for Timeline panel.
- https://bugs.webkit.org/show_bug.cgi?id=38420
-
- * GNUmakefile.am:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/js/ScriptGCEvent.cpp: Added.
- (WebCore::ScriptGCEvent::getHeapSize):
- * bindings/js/ScriptGCEvent.h:
-
-2010-05-15 Dave Tapuska <dtapuska@rim.com>
-
- Reviewed by Darin Adler.
-
- Fix alignment faults on ARMv5TE architectures.
-
- In debug mode the RenderAreaDebugHeader was 12 bytes which
- caused an alignment failure for RenderObjects because they
- would start on a 4 byte boundary. Align the RenderArenaDebugHeader
- using the ARENA_ALIGN macro.
-
- In NDEBUG mode the RenderArena objects come from a pool which
- has 4 byte alignment. Allow the alignment to be based on the
- AllocAlignmentInteger. This define will be activated for ARMv5TE.
-
- https://bugs.webkit.org/show_bug.cgi?id=19946
-
-2010-05-14 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Adler.
-
- XMLHttpRequest.overrideMimeType doesn't need to be custom
- https://bugs.webkit.org/show_bug.cgi?id=39127
-
- I don't see any reason why this method should be custom. No tests
- because no behavior change.
-
- * bindings/js/JSXMLHttpRequestCustom.cpp:
- * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
- * xml/XMLHttpRequest.idl:
-
-2010-05-14 Adele Peterson <adele@apple.com>
-
- Reviewed by Dave Hyatt.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=39095
- <rdar://problem/7984158> REGRESSION (r53085): Infinite recursion in Position::getInlineBoxAndOffset when changing writing direction to right-to-left
-
- Test: editing/selection/applystyle-to-inline-inside-block.html
-
- * dom/Position.cpp: (WebCore::Position::getInlineBoxAndOffset): Now that this function correctly goes in and out of editable areas by calling
- downstreamIgnoringEditingBoundaries and upstreamIgnoringEditingBoundaries for blocks (added in r58665), we no longer need a special case to
- jump out to the parent when we hit an inline (which was added in r53085 when this issue was introduced).
-
-2010-05-14 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Mark Rowe.
-
- Hopefully a last fix for the build. Call -mkdir instead of mkdir, so we don't bail if the mkdir call fails. Additionally,
- use the %Env% syntax instead of $(Env), which is what we need if we are referring to Windows environment variables instead
- of nmake variables.
-
- * WebCore.vcproj/WebCore.make:
-
-2010-05-14 Stephanie Lewis <slewis@apple.com>
-
- Rubber-stamped by Mark Rowe.
-
- Update order files.
-
- * WebCore.order:
-
-2010-05-14 David Hyatt <hyatt@apple.com>
-
- Reviewed by Simon Fraser.
-
- https://bugs.webkit.org/show_bug.cgi?id=39137
-
- Make RenderLayers position properly inside multicolumn layout.
-
- (1) Create RenderLayers when column properties are specified. This allows descendant layers to easily
- know they are inside a multicolumn layout when positioning.
-
- (2) Patch updateLayerPosition to offset the layer into the first column that contains the layer. Splitting
- of a layer across columns still does not work, but the layer will now at least appear in the first column in
- which it occurs.
-
- (3) Fix pagination bugs caused by the fact that visual overflow doesn't propagate up the line box tree when layers
- are involved. Make sure to use lineTop and lineBottom in this case (it's not perfect, but it gets most cases
- working properly). With this change elements like <video> will paginate properly and not get split across pages.
-
- (4) Make column repainting and layer positioning work with RTL columns by fixing adjustForColumns to
- account for RTL.
-
- (5) Fix RTL pagination by making sure the column pagination rects are the content width of the whole block and not just
- the width of one column.
-
- Added fast/multicol/layers-in-multicol.html
-
- * rendering/RenderBlock.cpp:
- (WebCore::RenderBlock::layoutColumns):
- (WebCore::RenderBlock::adjustForColumns):
- * rendering/RenderBox.h:
- (WebCore::RenderBox::locationOffset):
- * rendering/RenderBoxModelObject.h:
- (WebCore::RenderBoxModelObject::requiresLayer):
- * rendering/RenderLayer.cpp:
- (WebCore::RenderLayer::updateLayerPosition):
- (WebCore::RenderLayer::convertToLayerCoords):
- (WebCore::RenderLayer::shouldBeNormalFlowOnly):
- * rendering/RenderLineBoxList.cpp:
- (WebCore::RenderLineBoxList::paint):
- * rendering/RenderView.cpp:
- (WebCore::RenderView::RenderView):
- * rendering/RenderView.h:
- (WebCore::RenderView::requiresLayer):
- * rendering/style/RenderStyle.h:
- (WebCore::InheritedFlags::specifiesColumns):
-
-2010-05-14 Leon Clarke <leonclarke@google.com>
-
- Reviewed by Steve Block.
-
- Refactor signature of tokenizeRelAttribute and the variables it refers to so that new features don't keep changing the signature, and make m_disabledState into an enum.
- https://bugs.webkit.org/show_bug.cgi?id=38900
-
- No new tests. Refactoring only.
-
- * html/HTMLLinkElement.cpp:
- (WebCore::HTMLLinkElement::HTMLLinkElement):
- (WebCore::HTMLLinkElement::setDisabledState):
- (WebCore::HTMLLinkElement::parseMappedAttribute):
- (WebCore::HTMLLinkElement::tokenizeRelAttribute):
- (WebCore::HTMLLinkElement::process):
- (WebCore::HTMLLinkElement::addSubresourceAttributeURLs):
- * html/HTMLLinkElement.h:
- (WebCore::HTMLLinkElement::RelAttribute::RelAttribute):
- (WebCore::HTMLLinkElement::isAlternate):
- (WebCore::HTMLLinkElement::isDisabled):
- (WebCore::HTMLLinkElement::isEnabledViaScript):
- (WebCore::HTMLLinkElement::isIcon):
- (WebCore::HTMLLinkElement::):
- * html/PreloadScanner.cpp:
- (WebCore::PreloadScanner::processAttribute):
-
-2010-05-14 Noam Rosenthal <noam.rosenthal@nokia.com>
+2010-05-31 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Reviewed by Kenneth Rohde Christiansen.
- [Qt] GraphicsLayer caches directly composited images
- https://bugs.webkit.org/show_bug.cgi?id=38444
-
- Directly-composited images and solid fills shouldn't be cached, as that cache
- is never used (see GraphicsLayerQtImpl::paint). Cache is only relevant for HTML content,
- but we were missing that test.
- The fix makes sure we only cache HTML content.
-
- No new tests: this is a minor optimization.
-
- * platform/graphics/qt/GraphicsLayerQt.cpp:
- (WebCore::GraphicsLayerQtImpl::flushChanges):
-
-2010-05-14 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Mark Rowe.
-
- Build fix. Had the environment variables wrong for source and destination of the copy operation
- that was added.
-
- * WebCore.vcproj/WebCore.make:
-
-2010-05-14 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Remove custom bindings for HTMLInputElement
- https://bugs.webkit.org/show_bug.cgi?id=38344
-
- Fix a bug in the TestObj.idl file and update expected results. This
- was originally part of a larger change reviewed by Eric, but I'm
- landing it separately to help me understand the more interesting bits
- of the patch clearly.
-
- * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
- (webkit_dom_test_obj_get_attr_with_setter_exception):
- (webkit_dom_test_obj_set_attr_with_setter_exception):
- (webkit_dom_test_obj_set_attr_with_getter_exception):
- (webkit_dom_test_obj_set_property):
- (webkit_dom_test_obj_get_property):
- * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
- * bindings/scripts/test/JS/JSTestObj.cpp:
- (WebCore::jsTestObjAttrWithSetterException):
- (WebCore::setJSTestObjAttrWithSetterException):
- (WebCore::setJSTestObjAttrWithGetterException):
- * bindings/scripts/test/ObjC/DOMTestObj.mm:
- (-[DOMTestObj attrWithSetterException]):
- (-[DOMTestObj setAttrWithSetterException:]):
- (-[DOMTestObj setAttrWithGetterException:]):
- * bindings/scripts/test/TestObj.idl:
- * bindings/scripts/test/V8/V8TestObj.cpp:
- (WebCore::TestObjInternal::attrWithSetterExceptionAttrGetter):
- (WebCore::TestObjInternal::attrWithSetterExceptionAttrSetter):
- (WebCore::TestObjInternal::attrWithGetterExceptionAttrSetter):
-
-2010-05-14 Kenneth Russell <kbr@google.com>
-
- Reviewed by Darin Adler.
-
- Rename WebGLArray types to TypedArray types
- https://bugs.webkit.org/show_bug.cgi?id=39091
-
- Extended functionality of do-webcore-rename script and used it to
- rename the WebGLArray types to the TypedArray naming convention.
- The only source files which were touched by hand, and which are
- being manually reviewed, are:
- WebCore/page/DOMWindow.idl
- WebCore/bindings/generic/RuntimeEnabledFeatures.h (script's changes undone)
- WebKit/WebCore/bindings/js/JSDOMWindowCustom.cpp
- WebKit/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp
- These only needed to be touched to update the aliases between the
- WebGLArray and TypedArray names introduced in bug 39036. (It was
- not feasible to have do-webcore-rename handle this as it would
- introduce circular renamings.) These aliases will be removed in
- roughly a month once existing WebGL content has been updated.
-
- No new tests; covered under existing WebGL tests. Updated
- constructed-objects-prototypes and prototype-inheritance-2 tests.
- Ran all layout tests in Safari and all WebGL tests in Chromium.
-
- * DerivedSources.make:
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pri:
- * WebCore.pro:
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/js/JSArrayBufferConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLArrayBufferConstructor.cpp.
- (WebCore::):
- (WebCore::JSArrayBufferConstructor::JSArrayBufferConstructor):
- (WebCore::constructCanvasArrayBuffer):
- (WebCore::JSArrayBufferConstructor::getConstructData):
- * bindings/js/JSArrayBufferConstructor.h: Copied from WebCore/bindings/js/JSWebGLArrayBufferConstructor.h.
- (WebCore::construct):
- * bindings/js/JSArrayBufferViewCustom.cpp: Copied from WebCore/bindings/js/JSWebGLArrayCustom.cpp.
- (WebCore::toJS):
- (WebCore::JSArrayBufferView::slice):
- * bindings/js/JSArrayBufferViewHelper.h: Copied from WebCore/bindings/js/JSWebGLArrayHelper.h.
- * bindings/js/JSDOMWindowCustom.cpp:
- (WebCore::JSDOMWindow::arrayBuffer):
- (WebCore::JSDOMWindow::int8Array):
- (WebCore::JSDOMWindow::uint8Array):
- (WebCore::JSDOMWindow::int32Array):
- (WebCore::JSDOMWindow::uint32Array):
- (WebCore::JSDOMWindow::int16Array):
- (WebCore::JSDOMWindow::uint16Array):
- (WebCore::JSDOMWindow::floatArray):
- (WebCore::JSDOMWindow::webGLArrayBuffer):
- (WebCore::JSDOMWindow::webGLByteArray):
- (WebCore::JSDOMWindow::webGLUnsignedByteArray):
- (WebCore::JSDOMWindow::webGLIntArray):
- (WebCore::JSDOMWindow::webGLUnsignedIntArray):
- (WebCore::JSDOMWindow::webGLShortArray):
- (WebCore::JSDOMWindow::webGLUnsignedShortArray):
- (WebCore::JSDOMWindow::webGLFloatArray):
- * bindings/js/JSFloatArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLFloatArrayConstructor.cpp.
- (WebCore::):
- (WebCore::JSFloatArrayConstructor::JSFloatArrayConstructor):
- (WebCore::constructCanvasFloatArray):
- (WebCore::JSFloatArrayConstructor::getConstructData):
- * bindings/js/JSFloatArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLFloatArrayConstructor.h.
- * bindings/js/JSFloatArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLFloatArrayCustom.cpp.
- (WebCore::JSFloatArray::indexSetter):
- (WebCore::toJS):
- (WebCore::JSFloatArray::set):
- * bindings/js/JSInt16ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLShortArrayConstructor.cpp.
- (WebCore::):
- (WebCore::JSInt16ArrayConstructor::JSInt16ArrayConstructor):
- (WebCore::constructCanvasShortArray):
- (WebCore::JSInt16ArrayConstructor::getConstructData):
- * bindings/js/JSInt16ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLShortArrayConstructor.h.
- * bindings/js/JSInt16ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLShortArrayCustom.cpp.
- (WebCore::JSInt16Array::indexSetter):
- (WebCore::toJS):
- (WebCore::JSInt16Array::set):
- * bindings/js/JSInt32ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLIntArrayConstructor.cpp.
- (WebCore::):
- (WebCore::JSInt32ArrayConstructor::JSInt32ArrayConstructor):
- (WebCore::constructCanvasIntArray):
- (WebCore::JSInt32ArrayConstructor::getConstructData):
- * bindings/js/JSInt32ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLIntArrayConstructor.h.
- * bindings/js/JSInt32ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLIntArrayCustom.cpp.
- (WebCore::JSInt32Array::indexSetter):
- (WebCore::toJS):
- (WebCore::JSInt32Array::set):
- * bindings/js/JSInt8ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLByteArrayConstructor.cpp.
- (WebCore::):
- (WebCore::JSInt8ArrayConstructor::JSInt8ArrayConstructor):
- (WebCore::constructCanvasByteArray):
- (WebCore::JSInt8ArrayConstructor::getConstructData):
- * bindings/js/JSInt8ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLByteArrayConstructor.h.
- * bindings/js/JSInt8ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLByteArrayCustom.cpp.
- (WebCore::JSInt8Array::indexSetter):
- (WebCore::toJS):
- (WebCore::JSInt8Array::set):
- * bindings/js/JSUint16ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedShortArrayConstructor.cpp.
- (WebCore::):
- (WebCore::JSUint16ArrayConstructor::JSUint16ArrayConstructor):
- (WebCore::constructCanvasUnsignedShortArray):
- (WebCore::JSUint16ArrayConstructor::getConstructData):
- * bindings/js/JSUint16ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLUnsignedShortArrayConstructor.h.
- * bindings/js/JSUint16ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedShortArrayCustom.cpp.
- (WebCore::JSUint16Array::indexSetter):
- (WebCore::toJS):
- (WebCore::JSUint16Array::set):
- * bindings/js/JSUint32ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedIntArrayConstructor.cpp.
- (WebCore::):
- (WebCore::JSUint32ArrayConstructor::JSUint32ArrayConstructor):
- (WebCore::constructCanvasUnsignedIntArray):
- (WebCore::JSUint32ArrayConstructor::getConstructData):
- * bindings/js/JSUint32ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLUnsignedIntArrayConstructor.h.
- * bindings/js/JSUint32ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedIntArrayCustom.cpp.
- (WebCore::JSUint32Array::indexSetter):
- (WebCore::toJS):
- (WebCore::JSUint32Array::set):
- * bindings/js/JSUint8ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedByteArrayConstructor.cpp.
- (WebCore::):
- (WebCore::JSUint8ArrayConstructor::JSUint8ArrayConstructor):
- (WebCore::constructCanvasUnsignedByteArray):
- (WebCore::JSUint8ArrayConstructor::getConstructData):
- * bindings/js/JSUint8ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLUnsignedByteArrayConstructor.h.
- * bindings/js/JSUint8ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedByteArrayCustom.cpp.
- (WebCore::JSUint8Array::indexSetter):
- (WebCore::toJS):
- (WebCore::JSUint8Array::set):
- * bindings/js/JSWebGLArrayBufferConstructor.cpp: Removed.
- * bindings/js/JSWebGLArrayBufferConstructor.h: Removed.
- * bindings/js/JSWebGLArrayCustom.cpp: Removed.
- * bindings/js/JSWebGLArrayHelper.h: Removed.
- * bindings/js/JSWebGLByteArrayConstructor.cpp: Removed.
- * bindings/js/JSWebGLByteArrayConstructor.h: Removed.
- * bindings/js/JSWebGLByteArrayCustom.cpp: Removed.
- * bindings/js/JSWebGLFloatArrayConstructor.cpp: Removed.
- * bindings/js/JSWebGLFloatArrayConstructor.h: Removed.
- * bindings/js/JSWebGLFloatArrayCustom.cpp: Removed.
- * bindings/js/JSWebGLIntArrayConstructor.cpp: Removed.
- * bindings/js/JSWebGLIntArrayConstructor.h: Removed.
- * bindings/js/JSWebGLIntArrayCustom.cpp: Removed.
- * bindings/js/JSWebGLRenderingContextCustom.cpp:
- (WebCore::JSWebGLRenderingContext::bufferData):
- (WebCore::JSWebGLRenderingContext::bufferSubData):
- (WebCore::JSWebGLRenderingContext::texImage2D):
- (WebCore::JSWebGLRenderingContext::texSubImage2D):
- (WebCore::dataFunctionf):
- (WebCore::dataFunctioni):
- (WebCore::dataFunctionMatrix):
- * bindings/js/JSWebGLShortArrayConstructor.cpp: Removed.
- * bindings/js/JSWebGLShortArrayConstructor.h: Removed.
- * bindings/js/JSWebGLShortArrayCustom.cpp: Removed.
- * bindings/js/JSWebGLUnsignedByteArrayConstructor.cpp: Removed.
- * bindings/js/JSWebGLUnsignedByteArrayConstructor.h: Removed.
- * bindings/js/JSWebGLUnsignedByteArrayCustom.cpp: Removed.
- * bindings/js/JSWebGLUnsignedIntArrayConstructor.cpp: Removed.
- * bindings/js/JSWebGLUnsignedIntArrayConstructor.h: Removed.
- * bindings/js/JSWebGLUnsignedIntArrayCustom.cpp: Removed.
- * bindings/js/JSWebGLUnsignedShortArrayConstructor.cpp: Removed.
- * bindings/js/JSWebGLUnsignedShortArrayConstructor.h: Removed.
- * bindings/js/JSWebGLUnsignedShortArrayCustom.cpp: Removed.
- * bindings/v8/V8DOMWrapper.cpp:
- * bindings/v8/custom/V8ArrayBufferCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLArrayBufferCustom.cpp.
- (WebCore::V8ArrayBuffer::constructorCallback):
- * bindings/v8/custom/V8ArrayBufferViewCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLArrayCustom.cpp.
- (WebCore::toV8):
- (WebCore::V8ArrayBufferView::sliceCallback):
- * bindings/v8/custom/V8ArrayBufferViewCustom.h: Copied from WebCore/bindings/v8/custom/V8WebGLArrayCustom.h.
- (WebCore::constructWebGLArray):
- * bindings/v8/custom/V8DOMWindowCustom.cpp:
- (WebCore::V8DOMWindow::WebGLArrayBufferAccessorGetter):
- (WebCore::V8DOMWindow::WebGLByteArrayAccessorGetter):
- (WebCore::V8DOMWindow::WebGLUnsignedByteArrayAccessorGetter):
- (WebCore::V8DOMWindow::WebGLShortArrayAccessorGetter):
- (WebCore::V8DOMWindow::WebGLUnsignedShortArrayAccessorGetter):
- (WebCore::V8DOMWindow::WebGLIntArrayAccessorGetter):
- (WebCore::V8DOMWindow::WebGLUnsignedIntArrayAccessorGetter):
- (WebCore::V8DOMWindow::WebGLFloatArrayAccessorGetter):
- * bindings/v8/custom/V8FloatArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLFloatArrayCustom.cpp.
- (WebCore::V8FloatArray::constructorCallback):
- (WebCore::V8FloatArray::setCallback):
- (WebCore::toV8):
- * bindings/v8/custom/V8Int16ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLShortArrayCustom.cpp.
- (WebCore::V8Int16Array::constructorCallback):
- (WebCore::V8Int16Array::setCallback):
- (WebCore::toV8):
- * bindings/v8/custom/V8Int32ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLIntArrayCustom.cpp.
- (WebCore::V8Int32Array::constructorCallback):
- (WebCore::V8Int32Array::setCallback):
- (WebCore::toV8):
- * bindings/v8/custom/V8Int8ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLByteArrayCustom.cpp.
- (WebCore::V8Int8Array::constructorCallback):
- (WebCore::V8Int8Array::setCallback):
- (WebCore::toV8):
- * bindings/v8/custom/V8Uint16ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp.
- (WebCore::V8Uint16Array::constructorCallback):
- (WebCore::V8Uint16Array::setCallback):
- (WebCore::toV8):
- * bindings/v8/custom/V8Uint32ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp.
- (WebCore::V8Uint32Array::constructorCallback):
- (WebCore::V8Uint32Array::setCallback):
- (WebCore::toV8):
- * bindings/v8/custom/V8Uint8ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp.
- (WebCore::V8Uint8Array::constructorCallback):
- (WebCore::V8Uint8Array::setCallback):
- (WebCore::toV8):
- * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp: Removed.
- * bindings/v8/custom/V8WebGLArrayCustom.cpp: Removed.
- * bindings/v8/custom/V8WebGLArrayCustom.h: Removed.
- * bindings/v8/custom/V8WebGLByteArrayCustom.cpp: Removed.
- * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp: Removed.
- * bindings/v8/custom/V8WebGLIntArrayCustom.cpp: Removed.
- * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
- (WebCore::vertexAttribAndUniformHelperf):
- (WebCore::uniformHelperi):
- (WebCore::uniformMatrixHelper):
- * bindings/v8/custom/V8WebGLShortArrayCustom.cpp: Removed.
- * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp: Removed.
- * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp: Removed.
- * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp: Removed.
- * html/canvas/ArrayBuffer.cpp: Copied from WebCore/html/canvas/WebGLArrayBuffer.cpp.
- (WebCore::ArrayBuffer::create):
- (WebCore::ArrayBuffer::ArrayBuffer):
- (WebCore::ArrayBuffer::data):
- (WebCore::ArrayBuffer::byteLength):
- (WebCore::ArrayBuffer::~ArrayBuffer):
- (WebCore::ArrayBuffer::tryAllocate):
- * html/canvas/ArrayBuffer.h: Copied from WebCore/html/canvas/WebGLArrayBuffer.h.
- * html/canvas/ArrayBuffer.idl: Copied from WebCore/html/canvas/WebGLArrayBuffer.idl.
- * html/canvas/ArrayBufferView.cpp: Copied from WebCore/html/canvas/WebGLArray.cpp.
- (WebCore::ArrayBufferView::ArrayBufferView):
- (WebCore::ArrayBufferView::~ArrayBufferView):
- (WebCore::ArrayBufferView::setImpl):
- (WebCore::ArrayBufferView::calculateOffsetAndLength):
- * html/canvas/ArrayBufferView.h: Copied from WebCore/html/canvas/WebGLArray.h.
- (WebCore::ArrayBufferView::buffer):
- (WebCore::ArrayBufferView::verifySubRange):
- (WebCore::ArrayBufferView::clampOffsetAndNumElements):
- * html/canvas/ArrayBufferView.idl: Copied from WebCore/html/canvas/WebGLArray.idl.
- * html/canvas/FloatArray.cpp: Copied from WebCore/html/canvas/WebGLFloatArray.cpp.
- (WebCore::FloatArray::create):
- (WebCore::FloatArray::FloatArray):
- (WebCore::FloatArray::slice):
- * html/canvas/FloatArray.h: Copied from WebCore/html/canvas/WebGLFloatArray.h.
- (WebCore::FloatArray::set):
- (WebCore::FloatArray::item):
- * html/canvas/FloatArray.idl: Copied from WebCore/html/canvas/WebGLFloatArray.idl.
- * html/canvas/Int16Array.cpp: Copied from WebCore/html/canvas/WebGLShortArray.cpp.
- (WebCore::Int16Array::create):
- (WebCore::Int16Array::Int16Array):
- (WebCore::Int16Array::slice):
- * html/canvas/Int16Array.h: Copied from WebCore/html/canvas/WebGLShortArray.h.
- * html/canvas/Int16Array.idl: Copied from WebCore/html/canvas/WebGLShortArray.idl.
- * html/canvas/Int32Array.cpp: Copied from WebCore/html/canvas/WebGLIntArray.cpp.
- (WebCore::Int32Array::create):
- (WebCore::Int32Array::Int32Array):
- (WebCore::Int32Array::slice):
- * html/canvas/Int32Array.h: Copied from WebCore/html/canvas/WebGLIntArray.h.
- * html/canvas/Int32Array.idl: Copied from WebCore/html/canvas/WebGLIntArray.idl.
- * html/canvas/Int8Array.cpp: Copied from WebCore/html/canvas/WebGLByteArray.cpp.
- (WebCore::Int8Array::create):
- (WebCore::Int8Array::Int8Array):
- (WebCore::Int8Array::slice):
- * html/canvas/Int8Array.h: Copied from WebCore/html/canvas/WebGLByteArray.h.
- * html/canvas/Int8Array.idl: Copied from WebCore/html/canvas/WebGLByteArray.idl.
- * html/canvas/IntegralTypedArrayBase.h: Copied from WebCore/html/canvas/WebGLIntegralTypedArrayBase.h.
- (WebCore::IntegralTypedArrayBase::set):
- (WebCore::IntegralTypedArrayBase::item):
- (WebCore::IntegralTypedArrayBase::IntegralTypedArrayBase):
- * html/canvas/TypedArrayBase.h: Copied from WebCore/html/canvas/WebGLTypedArrayBase.h.
- (WebCore::TypedArrayBase::set):
- (WebCore::TypedArrayBase::TypedArrayBase):
- (WebCore::TypedArrayBase::create):
- * html/canvas/Uint16Array.cpp: Copied from WebCore/html/canvas/WebGLUnsignedShortArray.cpp.
- (WebCore::Uint16Array::create):
- (WebCore::Uint16Array::Uint16Array):
- (WebCore::Uint16Array::slice):
- * html/canvas/Uint16Array.h: Copied from WebCore/html/canvas/WebGLUnsignedShortArray.h.
- * html/canvas/Uint16Array.idl: Copied from WebCore/html/canvas/WebGLUnsignedShortArray.idl.
- * html/canvas/Uint32Array.cpp: Copied from WebCore/html/canvas/WebGLUnsignedIntArray.cpp.
- (WebCore::Uint32Array::create):
- (WebCore::Uint32Array::Uint32Array):
- (WebCore::Uint32Array::slice):
- * html/canvas/Uint32Array.h: Copied from WebCore/html/canvas/WebGLUnsignedIntArray.h.
- * html/canvas/Uint32Array.idl: Copied from WebCore/html/canvas/WebGLUnsignedIntArray.idl.
- * html/canvas/Uint8Array.cpp: Copied from WebCore/html/canvas/WebGLUnsignedByteArray.cpp.
- (WebCore::Uint8Array::create):
- (WebCore::Uint8Array::Uint8Array):
- (WebCore::Uint8Array::slice):
- * html/canvas/Uint8Array.h: Copied from WebCore/html/canvas/WebGLUnsignedByteArray.h.
- * html/canvas/Uint8Array.idl: Copied from WebCore/html/canvas/WebGLUnsignedByteArray.idl.
- * html/canvas/WebGLArray.cpp: Removed.
- * html/canvas/WebGLArray.h: Removed.
- * html/canvas/WebGLArray.idl: Removed.
- * html/canvas/WebGLArrayBuffer.cpp: Removed.
- * html/canvas/WebGLArrayBuffer.h: Removed.
- * html/canvas/WebGLArrayBuffer.idl: Removed.
- * html/canvas/WebGLBuffer.cpp:
- (WebCore::WebGLBuffer::associateBufferData):
- (WebCore::WebGLBuffer::associateBufferSubData):
- * html/canvas/WebGLBuffer.h:
- (WebCore::WebGLBuffer::elementArrayBuffer):
- * html/canvas/WebGLByteArray.cpp: Removed.
- * html/canvas/WebGLByteArray.h: Removed.
- * html/canvas/WebGLByteArray.idl: Removed.
- * html/canvas/WebGLFloatArray.cpp: Removed.
- * html/canvas/WebGLFloatArray.h: Removed.
- * html/canvas/WebGLFloatArray.idl: Removed.
- * html/canvas/WebGLGetInfo.cpp:
- (WebCore::WebGLGetInfo::WebGLGetInfo):
- (WebCore::WebGLGetInfo::getWebGLFloatArray):
- (WebCore::WebGLGetInfo::getWebGLIntArray):
- (WebCore::WebGLGetInfo::getWebGLUnsignedByteArray):
- * html/canvas/WebGLGetInfo.h:
- * html/canvas/WebGLIntArray.cpp: Removed.
- * html/canvas/WebGLIntArray.h: Removed.
- * html/canvas/WebGLIntArray.idl: Removed.
- * html/canvas/WebGLIntegralTypedArrayBase.h: Removed.
- * html/canvas/WebGLRenderingContext.cpp:
- (WebCore::WebGLRenderingContext::bufferData):
- (WebCore::WebGLRenderingContext::bufferSubData):
- (WebCore::WebGLRenderingContext::getUniform):
- (WebCore::WebGLRenderingContext::getVertexAttrib):
- (WebCore::WebGLRenderingContext::readPixels):
- (WebCore::WebGLRenderingContext::texImage2D):
- (WebCore::WebGLRenderingContext::texSubImage2D):
- (WebCore::WebGLRenderingContext::uniform1fv):
- (WebCore::WebGLRenderingContext::uniform1iv):
- (WebCore::WebGLRenderingContext::uniform2fv):
- (WebCore::WebGLRenderingContext::uniform2iv):
- (WebCore::WebGLRenderingContext::uniform3fv):
- (WebCore::WebGLRenderingContext::uniform3iv):
- (WebCore::WebGLRenderingContext::uniform4fv):
- (WebCore::WebGLRenderingContext::uniform4iv):
- (WebCore::WebGLRenderingContext::uniformMatrix2fv):
- (WebCore::WebGLRenderingContext::uniformMatrix3fv):
- (WebCore::WebGLRenderingContext::uniformMatrix4fv):
- (WebCore::WebGLRenderingContext::vertexAttrib1fv):
- (WebCore::WebGLRenderingContext::vertexAttrib2fv):
- (WebCore::WebGLRenderingContext::vertexAttrib3fv):
- (WebCore::WebGLRenderingContext::vertexAttrib4fv):
- (WebCore::WebGLRenderingContext::getWebGLFloatArrayParameter):
- (WebCore::WebGLRenderingContext::getWebGLIntArrayParameter):
- (WebCore::WebGLRenderingContext::getWebGLUnsignedByteArrayParameter):
- * html/canvas/WebGLRenderingContext.h:
- * html/canvas/WebGLRenderingContext.idl:
- * html/canvas/WebGLShortArray.cpp: Removed.
- * html/canvas/WebGLShortArray.h: Removed.
- * html/canvas/WebGLShortArray.idl: Removed.
- * html/canvas/WebGLTypedArrayBase.h: Removed.
- * html/canvas/WebGLUnsignedByteArray.cpp: Removed.
- * html/canvas/WebGLUnsignedByteArray.h: Removed.
- * html/canvas/WebGLUnsignedByteArray.idl: Removed.
- * html/canvas/WebGLUnsignedIntArray.cpp: Removed.
- * html/canvas/WebGLUnsignedIntArray.h: Removed.
- * html/canvas/WebGLUnsignedIntArray.idl: Removed.
- * html/canvas/WebGLUnsignedShortArray.cpp: Removed.
- * html/canvas/WebGLUnsignedShortArray.h: Removed.
- * html/canvas/WebGLUnsignedShortArray.idl: Removed.
- * page/DOMWindow.idl:
- * platform/graphics/GraphicsContext3D.h:
- * platform/graphics/mac/GraphicsContext3DMac.cpp:
- (WebCore::GraphicsContext3D::bufferData):
- (WebCore::GraphicsContext3D::bufferSubData):
- * platform/graphics/qt/GraphicsContext3DQt.cpp:
- (WebCore::GraphicsContext3D::bufferData):
- (WebCore::GraphicsContext3D::bufferSubData):
-
-2010-05-14 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Sam Weinig.
-
- <rdar://problem/7985864> Connection properties dictionary should use standard callbacks for keys, values
- https://bugs.webkit.org/show_bug.cgi?id=39132
-
- * platform/network/cf/ResourceHandleCFNet.cpp:
- (WebCore::createConnectionProperties):
+ [EFL] Add Context Menu implementation
+ https://bugs.webkit.org/show_bug.cgi?id=39821
+
+ * platform/ContextMenu.h: add port-specific attributes.
+ * platform/ContextMenuItem.h: create PlatformMenuItemDescription as in
+ other ports
+ (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
+ * platform/efl/ContextMenuEfl.cpp:implement needed methods for this
+ port.
+ (WebCore::ContextMenu::ContextMenu):
+ (WebCore::ContextMenu::~ContextMenu):
+ (WebCore::ContextMenu::appendItem):
+ (WebCore::ContextMenu::setPlatformDescription):
+ (WebCore::ContextMenu::releasePlatformDescription):
+ * platform/efl/ContextMenuItemEfl.cpp: implement needed methods for
+ this port.
+ (WebCore::ContextMenuItem::ContextMenuItem):
+ (WebCore::ContextMenuItem::~ContextMenuItem):
+ (WebCore::ContextMenuItem::releasePlatformDescription):
+ (WebCore::ContextMenuItem::type):
+ (WebCore::ContextMenuItem::setType):
+ (WebCore::ContextMenuItem::action):
+ (WebCore::ContextMenuItem::setAction):
+ (WebCore::ContextMenuItem::title):
+ (WebCore::ContextMenuItem::setTitle):
+ (WebCore::ContextMenuItem::platformSubMenu):
+ (WebCore::ContextMenuItem::setSubMenu):
+ (WebCore::ContextMenuItem::checked):
+ (WebCore::ContextMenuItem::setChecked):
+ (WebCore::ContextMenuItem::enabled):
+ (WebCore::ContextMenuItem::setEnabled):
+
+2010-05-31 Ilya Tikhonovsky <loislo@chromium.org>
-2010-05-14 Abhishek Arya <inferno@chromium.org>
-
- Reviewed by David Hyatt.
-
- Move the m_width(Length) and m_columns(RenderTable::ColumnStruct)
- vector out-of-bounds check out of the ASSERT into the main code.
- https://bugs.webkit.org/show_bug.cgi?id=38261
-
- Test: fast/table/fixed-table-layout-large-colspan-crash.html
-
- * rendering/FixedTableLayout.cpp:
- (WebCore::FixedTableLayout::calcWidthArray):
-
-2010-05-14 Eric Seidel <eric@webkit.org>
-
- Unreviewed, rolling out r59489.
- http://trac.webkit.org/changeset/59489
- https://bugs.webkit.org/show_bug.cgi?id=37815
-
- abarth broke the known universe and then some.
-
- * Android.jscbindings.mk:
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/js/JSBindingsAllInOne.cpp:
- * bindings/js/JSCallbackData.cpp:
- (WebCore::JSCallbackData::invokeCallback):
- * bindings/js/JSEventListener.cpp:
- (WebCore::JSEventListener::handleEvent):
- * bindings/js/JSInjectedScriptHostCustom.cpp:
- (WebCore::InjectedScriptHost::createInjectedScript):
- * bindings/js/ScheduledAction.cpp:
- (WebCore::ScheduledAction::executeFunctionInContext):
- (WebCore::ScheduledAction::execute):
- * bindings/js/ScheduledAction.h:
- * bindings/js/ScriptController.cpp:
- (WebCore::ScriptController::evaluateInWorld):
- * bindings/js/ScriptController.h:
- * bindings/js/ScriptFunctionCall.cpp:
- (WebCore::ScriptFunctionCall::call):
- * bindings/objc/ObjCEventListener.mm:
- (WebCore::ObjCEventListener::handleEvent):
- * bindings/objc/WebScriptObject.mm:
- (-[WebScriptObject callWebScriptMethod:withArguments:]):
- (-[WebScriptObject evaluateWebScript:]):
- * bindings/scripts/CodeGeneratorObjC.pm:
- * bindings/scripts/test/ObjC/DOMTestCallback.mm:
- (-[DOMTestCallback callbackWithClass1Param:]):
- (-[DOMTestCallback callbackWithClass2Param:strArg:]):
- (-[DOMTestCallback callbackWithNonBoolReturnType:]):
- (-[DOMTestCallback customCallback:class6Param:]):
- * bindings/scripts/test/ObjC/DOMTestInterface.mm:
- * bindings/scripts/test/ObjC/DOMTestObj.mm:
- (-[DOMTestObj readOnlyIntAttr]):
- (-[DOMTestObj readOnlyStringAttr]):
- (-[DOMTestObj readOnlyTestObjAttr]):
- (-[DOMTestObj intAttr]):
- (-[DOMTestObj setIntAttr:]):
- (-[DOMTestObj longLongAttr]):
- (-[DOMTestObj setLongLongAttr:]):
- (-[DOMTestObj unsignedLongLongAttr]):
- (-[DOMTestObj setUnsignedLongLongAttr:]):
- (-[DOMTestObj stringAttr]):
- (-[DOMTestObj setStringAttr:]):
- (-[DOMTestObj testObjAttr]):
- (-[DOMTestObj setTestObjAttr:]):
- (-[DOMTestObj attrWithException]):
- (-[DOMTestObj setAttrWithException:]):
- (-[DOMTestObj attrWithSetterException]):
- (-[DOMTestObj setAttrWithSetterException:]):
- (-[DOMTestObj attrWithGetterException]):
- (-[DOMTestObj setAttrWithGetterException:]):
- (-[DOMTestObj customAttr]):
- (-[DOMTestObj setCustomAttr:]):
- (-[DOMTestObj scriptStringAttr]):
- (-[DOMTestObj voidMethod]):
- (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
- (-[DOMTestObj intMethod]):
- (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
- (-[DOMTestObj objMethod]):
- (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
- (-[DOMTestObj serializedValue:]):
- (-[DOMTestObj methodWithException]):
- (-[DOMTestObj customMethod]):
- (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
- (-[DOMTestObj customArgsAndException:]):
- (-[DOMTestObj addEventListener:listener:useCapture:]):
- (-[DOMTestObj removeEventListener:listener:useCapture:]):
- (-[DOMTestObj withDynamicFrame]):
- (-[DOMTestObj withDynamicFrameAndArg:]):
- (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
- (-[DOMTestObj withDynamicFrameAndUserGesture:]):
- (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
- (-[DOMTestObj withScriptStateVoid]):
- (-[DOMTestObj withScriptStateObj]):
- (-[DOMTestObj withScriptStateVoidException]):
- (-[DOMTestObj withScriptStateObjException]):
- (-[DOMTestObj methodWithOptionalArg:]):
- (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
- (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
- * bindings/v8/ScriptController.cpp:
- * bindings/v8/ScriptController.h:
- * html/HTMLFrameElementBase.cpp:
- (WebCore::HTMLFrameElementBase::isURLAllowed):
-
-2010-05-14 Justin Schuh <jschuh@chromium.org>
-
- Reviewed by Adam Barth.
-
- Moving frame.src checks out of the bindings
- https://bugs.webkit.org/show_bug.cgi?id=37815
+ Reviewed by Pavel Feldman.
- Moved JavaScript frame.src checks out of bindings and into
- HTMLFrameElementBase. Added main thread state stack to JavaScriptCore
- so ExecState is available inside core DOM. Updated affected bindings
- (except for GObject, which will need to be updated to avoid origin
- failures inside native code).
+ WebInspector: Classes for native serialization to JSON were implemented.
+ https://bugs.webkit.org/show_bug.cgi?id=34204
- * Android.jscbindings.mk:
* GNUmakefile.am:
+ * WebCore.Inspector.exp:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
- * bindings/js/JSBindingsAllInOne.cpp:
- * bindings/js/JSCallbackData.cpp:
- (WebCore::JSCallbackData::invokeCallback):
- * bindings/js/JSEventListener.cpp:
- (WebCore::JSEventListener::handleEvent):
- * bindings/js/JSInjectedScriptHostCustom.cpp:
- (WebCore::InjectedScriptHost::createInjectedScript):
- * bindings/js/ScheduledAction.cpp:
- (WebCore::ScheduledAction::executeFunctionInContext):
- (WebCore::ScheduledAction::execute):
- * bindings/js/ScheduledAction.h:
- * bindings/js/ScriptController.cpp:
- (WebCore::ScriptController::evaluateInWorld):
- (WebCore::ScriptController::canAccessFromCurrentOrigin):
- * bindings/js/ScriptController.h:
- * bindings/js/ScriptFunctionCall.cpp:
- (WebCore::ScriptFunctionCall::call):
- * bindings/objc/ObjCEventListener.mm:
- (WebCore::ObjCEventListener::handleEvent):
- * bindings/objc/WebScriptObject.mm:
- (-[WebScriptObject callWebScriptMethod:withArguments:]):
- (-[WebScriptObject evaluateWebScript:]):
- * bindings/scripts/CodeGeneratorObjC.pm:
- * bindings/scripts/test/ObjC/DOMTestCallback.mm:
- (-[DOMTestCallback callbackWithClass1Param:]):
- (-[DOMTestCallback callbackWithClass2Param:strArg:]):
- (-[DOMTestCallback callbackWithNonBoolReturnType:]):
- (-[DOMTestCallback customCallback:class6Param:]):
- * bindings/scripts/test/ObjC/DOMTestInterface.mm:
- * bindings/scripts/test/ObjC/DOMTestObj.mm:
- (-[DOMTestObj readOnlyIntAttr]):
- (-[DOMTestObj readOnlyStringAttr]):
- (-[DOMTestObj readOnlyTestObjAttr]):
- (-[DOMTestObj intAttr]):
- (-[DOMTestObj setIntAttr:]):
- (-[DOMTestObj longLongAttr]):
- (-[DOMTestObj setLongLongAttr:]):
- (-[DOMTestObj unsignedLongLongAttr]):
- (-[DOMTestObj setUnsignedLongLongAttr:]):
- (-[DOMTestObj stringAttr]):
- (-[DOMTestObj setStringAttr:]):
- (-[DOMTestObj testObjAttr]):
- (-[DOMTestObj setTestObjAttr:]):
- (-[DOMTestObj attrWithException]):
- (-[DOMTestObj setAttrWithException:]):
- (-[DOMTestObj attrWithSetterException]):
- (-[DOMTestObj setAttrWithSetterException:]):
- (-[DOMTestObj attrWithGetterException]):
- (-[DOMTestObj setAttrWithGetterException:]):
- (-[DOMTestObj customAttr]):
- (-[DOMTestObj setCustomAttr:]):
- (-[DOMTestObj scriptStringAttr]):
- (-[DOMTestObj voidMethod]):
- (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
- (-[DOMTestObj intMethod]):
- (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
- (-[DOMTestObj objMethod]):
- (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
- (-[DOMTestObj serializedValue:]):
- (-[DOMTestObj methodWithException]):
- (-[DOMTestObj customMethod]):
- (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
- (-[DOMTestObj customArgsAndException:]):
- (-[DOMTestObj addEventListener:listener:useCapture:]):
- (-[DOMTestObj removeEventListener:listener:useCapture:]):
- (-[DOMTestObj withDynamicFrame]):
- (-[DOMTestObj withDynamicFrameAndArg:]):
- (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
- (-[DOMTestObj withDynamicFrameAndUserGesture:]):
- (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
- (-[DOMTestObj withScriptStateVoid]):
- (-[DOMTestObj withScriptStateObj]):
- (-[DOMTestObj withScriptStateVoidException]):
- (-[DOMTestObj withScriptStateObjException]):
- (-[DOMTestObj methodWithOptionalArg:]):
- (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
- (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
- * bindings/v8/ScriptController.cpp:
- (WebCore::ScriptController::canAccessFromCurrentOrigin):
- * bindings/v8/ScriptController.h:
- * html/HTMLFrameElementBase.cpp:
- (WebCore::HTMLFrameElementBase::isURLAllowed):
-
-2010-05-14 Sergey Ulanov <sergeyu@chromium.org>
-
- Reviewed by Dmitry Titov and Brett Wilson.
-
- Adding resized image caching for Skia.
- https://bugs.webkit.org/show_bug.cgi?id=39085
-
- Tests: HTML5 video on YouTube.
-
- * platform/graphics/skia/ImageSkia.cpp:
- (WebCore::Image::drawPattern): Use bitmap->resizedBitmap() to cache resized image when possible.
-
-2010-05-14 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Brady Eidson.
-
- https://bugs.webkit.org/show_bug.cgi?id=39008
- <rdar://problem/7976142> REGRESSION (r58950): Webkit crashes on clicking back button when in Hotmail
-
- Test: fast/parser/tokenizer-close-during-document-write.html
-
- * dom/Document.cpp: (WebCore::Document::write): Check that the tokenizer is still around
- after calling write(). It can become null (as it happens in regression test), and I don't
- see any guarantee that it would never be replaced with a different one (but I can't make a
- test for that).
-
-2010-05-14 Jian Li <jianli@chromium.org>
-
- Rubber-stamped by Dmitry Titov.
-
- Fix the code indentation inside a namespace to be consistent with the
- style guide.
-
- * workers/GenericWorkerTask.h:
-
-2010-05-14 Jian Li <jianli@chromium.org>
-
- Reviewed by Dmitry Titov.
-
- Remove the ENABLE(WORKERS) guard from GenericWorkerTask.h and rename
- all occurrences of GenericWorkerTask* to GenericTask* in this file.
- https://bugs.webkit.org/show_bug.cgi?id=39129
-
- I will have another patch to rename the file and move it to the right
- place.
-
- * workers/GenericWorkerTask.h:
- (WebCore::):
- (WebCore::GenericTask1::create):
- (WebCore::GenericTask1::GenericTask1):
- (WebCore::GenericTask2::create):
- (WebCore::GenericTask2::GenericTask2):
- (WebCore::GenericTask3::create):
- (WebCore::GenericTask3::GenericTask3):
- (WebCore::GenericTask4::create):
- (WebCore::GenericTask4::GenericTask4):
- (WebCore::GenericTask5::create):
- (WebCore::GenericTask5::GenericTask5):
- (WebCore::GenericTask6::create):
- (WebCore::GenericTask6::GenericTask6):
- (WebCore::GenericTask7::create):
- (WebCore::GenericTask7::GenericTask7):
- (WebCore::GenericTask8::create):
- (WebCore::GenericTask8::GenericTask8):
- (WebCore::createCallbackTask):
-
-2010-05-14 Evan Martin <evan@chromium.org>
-
- Reviewed by David Levin.
-
- [chromium] don't call fontconfig twice in complex text path
- https://bugs.webkit.org/show_bug.cgi?id=38701
-
- Previously getFontDataForCharacters would call fontconfig once to
- resolve a font name, then pass that name to getCachedFontPlatformData
- to load the font. This would be two trips through fontconfig (including
- IPCs). With this change, we completely load the font in the first pass.
-
- This patch is actually the same code as in r58341, which was reverted
- because of a performance problem; a performance improvement has now
- been committed, and with that change in place this change improves
- the Chromium intl2 page cycler performance by another 5%.
-
- See also https://bugs.webkit.org/show_bug.cgi?id=37904 .
-
- Test: fast/text/international/bold-bengali.html
- (Was checked in as part of the first attempt at this change, continues
- to pass after this change.)
-
- * platform/chromium/ChromiumBridge.h:
- * platform/graphics/chromium/FontCacheLinux.cpp:
- (WebCore::FontCache::getFontDataForCharacters):
-
-2010-05-14 Young Han Lee <joybro@company100.net>
-
- Reviewed by Darin Adler.
-
- Don't include RetainPtr.h unless PLATFORM(CF) is set.
- The RetainPtr is only used for CF platform in this class.
- https://bugs.webkit.org/show_bug.cgi?id=39043
-
- No new tests, there is no new functionality.
-
- * platform/network/curl/ResourceHandleManager.cpp:
-
-2010-05-14 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Adam Roben.
-
- Build fix, we need to copy over the files in $(WebKitOutputDir)/include/JavaScriptCore/private before
- WebCore builds. This is because we are building a couple WTF files in WebCore and JavaScriptCore.
-
- * WebCore.vcproj/WebCore.make:
-
-2010-05-14 Shinichiro Hamaji <hamaji@chromium.org>
-
- Unreviewed. Attempt to fix chromium's memory bot error.
-
- More :visited link optimizations to reduce memory usage
- https://bugs.webkit.org/show_bug.cgi?id=39084
-
- The original change (r59386) adds check for m_element in initElement.
- As don't initialize m_element in the constructor of CSSStyleSelector,
- valgrind complains.
-
- * css/CSSStyleSelector.cpp:
- (WebCore::CSSStyleSelector::CSSStyleSelector):
-
-2010-05-14 Andreas Kling <andreas.kling@nokia.com>
-
- Reviewed by Darin Adler.
-
- CSSParser::parseColor() shouldn't alter 'color' unless passed a valid color string.
- https://bugs.webkit.org/show_bug.cgi?id=39031
-
- * css/CSSParser.cpp:
- (WebCore::CSSParser::parseColor):
- * editing/ApplyStyleCommand.cpp:
- (WebCore::StyleChange::extractTextStyles): Don't depend on old behavior.
- * html/canvas/CanvasRenderingContext2D.cpp:
- (WebCore::CanvasRenderingContext2D::setShadow): Remove dead code.
-
-2010-05-14 Jens Alfke <snej@chromium.org>
-
- Reviewed by John Sullivan.
-
- Don't clear yellow autofill highlight from text fields until the user edits them.
- https://bugs.webkit.org/show_bug.cgi?id=39032
- No new tests (Couldn't find any autofill tests. The flag doesn't seem to be exposed to JS.)
-
- * html/HTMLInputElement.cpp:
- (WebCore::HTMLInputElement::handleFocusEvent): Don't clear the autofilled flag.
- (WebCore::HTMLInputElement::setValueFromRenderer): Clear the autofilled flag.
-
-2010-05-14 Zhenyao Mo <zmo@google.com>
-
- Reviewed by Dimitri Glazkov.
-
- Must implement OpenGL ES 2.0 semantics for NPOT textures
- https://bugs.webkit.org/show_bug.cgi?id=33805
-
- Test: fast/canvas/webgl/texture-npot.html
-
- * html/canvas/WebGLRenderingContext.cpp:
- (WebCore::WebGLRenderingContext::WebGLRenderingContext): Create black 1x1 textures.
- (WebCore::WebGLRenderingContext::bindTexture): Set texture dimensionality.
- (WebCore::WebGLRenderingContext::copyTexImage2D): Error check, set texture size.
- (WebCore::WebGLRenderingContext::drawArrays): Bind to black textures if needed.
- (WebCore::WebGLRenderingContext::drawElements): Bind to black textures if needed.
- (WebCore::WebGLRenderingContext::generateMipmap): Error check.
- (WebCore::WebGLRenderingContext::texImage2DBase): Error check, set texture size.
- (WebCore::WebGLRenderingContext::texParameterf): Set texture parameter.
- (WebCore::WebGLRenderingContext::texParameteri): Ditto.
- (WebCore::WebGLRenderingContext::handleNPOTTextures): Bind to black textures if needed before draw, and bind back to original textures after draw.
- * html/canvas/WebGLRenderingContext.h: Add black 1x1 textures.
- * html/canvas/WebGLTexture.cpp: Add support to track NPOT textures.
- (WebCore::WebGLTexture::createBlackTexture1x1): Create a black 1x1 texture.
- (WebCore::WebGLTexture::WebGLTexture): Initialize parameters and states.
- (WebCore::WebGLTexture::setDimensionality): Set dimensionality.
- (WebCore::WebGLTexture::setParameteri): Set parameter.
- (WebCore::WebGLTexture::setParameterf): Ditto.
- (WebCore::WebGLTexture::setSize): Set level 0 texture size.
- (WebCore::WebGLTexture::isNPOT): Whether the texture is NPOT.
- (WebCore::WebGLTexture::updateNPOTStates): Calculate NPOT and NeedToUseBlackTexture states.
- * html/canvas/WebGLTexture.h: Add support to track NPOT textures.
- (WebCore::WebGLTexture::isNPOT):
- (WebCore::WebGLTexture::needToUseBlackTexture):
-
-2010-05-14 Andrey Kosyakov <caseq@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: add help on keyboard shortcuts (take 2).
-
- https://bugs.webkit.org/show_bug.cgi?id=38667
-
- * English.lproj/localizedStrings.js:
- * WebCore.gypi:
- * WebCore.vcproj/WebCore.vcproj:
- * inspector/front-end/CallStackSidebarPane.js:
- (WebInspector.CallStackSidebarPane):
- (WebInspector.CallStackSidebarPane.prototype._placardSelected):
- (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
- * inspector/front-end/ConsoleView.js:
- (WebInspector.ConsoleView):
- (WebInspector.ConsoleView.prototype._registerShortcuts):
- * inspector/front-end/ElementsPanel.js:
- (WebInspector.ElementsPanel):
- (WebInspector.ElementsPanel.prototype._registerShortcuts):
- * inspector/front-end/ElementsTreeOutline.js:
- (WebInspector.ElementsTreeOutline.prototype._keyDown):
- * inspector/front-end/HelpScreen.js: Added.
- * inspector/front-end/KeyboardShortcut.js:
- * inspector/front-end/ScriptsPanel.js:
- (WebInspector.ScriptsPanel.prototype.elementsToRestoreScrollPositionsFor):
- (WebInspector.ScriptsPanel.prototype._registerShortcuts):
- * inspector/front-end/ShortcutsHelp.js: Added.
- * inspector/front-end/SidebarPane.js:
- (WebInspector.SidebarPane.prototype._onTitleKeyDown):
- * inspector/front-end/StylesSidebarPane.js:
- (WebInspector.StylesSidebarPane.prototype.removeSection):
- (WebInspector.StylesSidebarPane.prototype.registerShortcuts):
- * inspector/front-end/TextViewer.js:
- (WebInspector.TextViewer.prototype._handleKeyDown):
- * inspector/front-end/WebKit.qrc:
- * inspector/front-end/helpScreen.css: Added.
-
-2010-05-14 Tony Gentilcore <tonyg@chromium.org>
-
- Reviewed by Darin Fisher.
-
- [chromium] Update chromium port to send/receive cached metadata
- https://bugs.webkit.org/show_bug.cgi?id=38665
-
- No new tests because no new functionality.
-
- * platform/chromium/ChromiumBridge.h:
- * platform/network/chromium/ResourceResponse.h:
- (WebCore::ResourceResponse::ResourceResponse):
- (WebCore::ResourceResponse::responseTime):
- (WebCore::ResourceResponse::setResponseTime):
-
-2010-05-14 Chris Evans <cevans@chromium.org>
-
- Reviewed by Adam Barth.
-
- Chromium-specific fix to prevent zombie infobars.
-
- https://bugs.webkit.org/show_bug.cgi?id=38948
-
- * bindings/v8/ScriptController.cpp
- (WebCore::ScriptController::processingUserGesture):
- Require a more definite "no" signal.
- * loader/RedirectScheduler.cpp:
- (WebCore::ScheduledFormSubmission::fire):
- Use a very strong yes / no signal; no need for "possible" here.
- * dom/UserGestureIndicator.h:
- * dom/UserGestureIndicator.cpp:
- Adapt to tri-state: definitely yes; definitely no; not sure.
-
-2010-05-14 Aaron Kennedy <tffeeb@gmail.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] JavaScript unable to invoke methods declared in QML
- https://bugs.webkit.org/show_bug.cgi?id=38949
-
- JavaScript code executed by webkit cannot call into QML declared
- methods, as it does not check for dynamic meta objects.
-
- * bridge/qt/qt_instance.cpp:
- (JSC::Bindings::QtInstance::stringValue): Use QMetaObject::metacall.
- * bridge/qt/qt_runtime.cpp:
- (JSC::Bindings::QtRuntimeMetaMethod::call): Ditto.
-
-2010-05-14 Ben Murdoch <benm@google.com>
-
- Reviewed by Darin Fisher.
-
- Touch events are disabled by default when using V8.
- https://bugs.webkit.org/show_bug.cgi?id=38990
-
- Touch events are protected by a compile time guard, so it's safe to
- assume that the runtime flag should be enabled by default when this
- guard is present.
-
- No new tests, build fix for Android.
-
- * bindings/generic/RuntimeEnabledFeatures.cpp: enable touch events by default.
+ * inspector/InspectorValues.cpp: Added.
+ (WebCore::escapeChar):
+ (WebCore::doubleQuoteString):
+ (WebCore::InspectorBaseValue::toJSONString):
+ (WebCore::InspectorBaseValue::writeJSON):
+ (WebCore::InspectorValue::writeJSON):
+ (WebCore::InspectorString::writeJSON):
+ (WebCore::InspectorObject::writeJSON):
+ (WebCore::InspectorArray::writeJSON):
+ * inspector/InspectorValues.h: Added.
+ (WebCore::InspectorBaseValue::InspectorBaseValue):
+ (WebCore::InspectorBaseValue::~InspectorBaseValue):
+ (WebCore::InspectorBaseValue::null):
+ (WebCore::InspectorBaseValue::):
+ (WebCore::InspectorBaseValue::type):
+ (WebCore::InspectorValue::create):
+ (WebCore::InspectorValue::InspectorValue):
+ (WebCore::InspectorValue::):
+ (WebCore::InspectorString::create):
+ (WebCore::InspectorString::InspectorString):
+ (WebCore::InspectorObject::create):
+ (WebCore::InspectorObject::~InspectorObject):
+ (WebCore::InspectorObject::InspectorObject):
+ (WebCore::InspectorArray::create):
+ (WebCore::InspectorArray::~InspectorArray):
+ (WebCore::InspectorArray::length):
+ (WebCore::InspectorArray::InspectorArray):
+ (WebCore::InspectorObject::setBool):
+ (WebCore::InspectorObject::setNumber):
+ (WebCore::InspectorObject::setString):
+ (WebCore::InspectorObject::set):
+ (WebCore::InspectorArray::pushBool):
+ (WebCore::InspectorArray::pushNumber):
+ (WebCore::InspectorArray::pushString):
+ (WebCore::InspectorArray::push):
+
+2010-05-31 Olivier Goffart <olivier.goffart@nokia.com>
-2010-05-14 George Wright <gwright@rim.com>
-
- Reviewed by George Staikos.
-
- https://bugs.webkit.org/show_bug.cgi?id=38909
-
- Update JSDataGridColumnListCustom.cpp to call identifierToAtomicString()
- on the property name.
-
- * bindings/js/JSDataGridColumnListCustom.cpp:
- (WebCore::JSDataGridColumnList::canGetItemsForName):
- (WebCore::JSDataGridColumnList::nameGetter):
-
-2010-05-14 Andreas Kling <andreas.kling@nokia.com>
-
- Reviewed by Darin Adler.
-
- Ignore invalid values for various CanvasRenderingContext2D properties
- (lineWidth, miterLimit, shadowOffsetX, shadowOffsetY and shadowBlur)
-
- https://bugs.webkit.org/show_bug.cgi?id=38841
-
- Test: fast/canvas/canvas-invalid-values.html
-
- * html/canvas/CanvasRenderingContext2D.cpp:
- (WebCore::CanvasRenderingContext2D::setLineWidth):
- (WebCore::CanvasRenderingContext2D::setMiterLimit):
- (WebCore::CanvasRenderingContext2D::setShadowOffsetX):
- (WebCore::CanvasRenderingContext2D::setShadowOffsetY):
- (WebCore::CanvasRenderingContext2D::setShadowBlur):
-
-2010-05-13 Timothy Hatcher <timothy@apple.com>
-
- Expose WebCore::reportException and WebCore::toJSDOMWindow symbols.
-
- Reviewed by Sam Weinig.
-
- * WebCore.base.exp: Expose reportException and toJSDOMWindow.
-
-2010-05-13 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Clearing Breakpoints Too Often
- https://bugs.webkit.org/show_bug.cgi?id=39094
-
- Minor resets should preserve both workers and breakpoints.
-
- * inspector/front-end/ScriptsPanel.js:
- (WebInspector.ScriptsPanel.prototype.reset):
-
-2010-05-13 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- iframes in compositing layers don't redraw correctly on scrolling
- https://bugs.webkit.org/show_bug.cgi?id=39096
-
- When an iframe ends up in a compositing layer (that is painting to its backing store), we need
- to turn off blitting on scrolling. RenderView::paintBoxDecorations() already has code to do this
- for transformed frames, so do the same thing when the frame is enclosed in a compositing layer.
-
- Test: compositing/iframes/iframe-copy-on-scroll.html
-
- * rendering/RenderView.cpp:
- (WebCore::RenderView::paintBoxDecorations):
-
-2010-05-13 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dave Hyatt.
-
- Fix scrolling in composited iframes
- https://bugs.webkit.org/show_bug.cgi?id=39088
- <rdar://problem/7980099>
-
- When propagating compositing out of iframes, we have to update the position of the iframe content
- layers on scrolling.
-
- Test: compositing/iframes/scrolling-iframe.html
-
- * page/FrameView.cpp:
- (WebCore::FrameView::scrollPositionChanged): Call updateContentLayerScrollPosition() when scrolling.
-
- * rendering/RenderLayerBacking.cpp:
- (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Renamed setRootPlatformLayerClippingBox() to updateContentLayerOffset().
-
- * rendering/RenderLayerCompositor.h:
- * rendering/RenderLayerCompositor.cpp: Rename m_clippingLayer to m_clipLayer to go better with m_scrollLayer.
- (WebCore::RenderLayerCompositor::updateContentLayerOffset): Renamed from setRootPlatformLayerClippingBox().
- Set the size of the clipping layer from the FrameView now, so that scrollbars are not clipped out.
- Update the scroll layer position too.
- (WebCore::RenderLayerCompositor::updateContentLayerScrollPosition): Set the position of the scroll layer
- when the ScrollView is scrolled.
- (WebCore::RenderLayerCompositor::rootPlatformLayer): m_clippingLayer rename.
- (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): m_clippingLayer rename. Also create m_scrollLayer at
- the same time as the clip layer, and clean it up as necessary.
- (WebCore::RenderLayerCompositor::destroyRootPlatformLayer): m_clippingLayer rename, and clean up the m_scrollLayer too.
- (WebCore::RenderLayerCompositor::detachRootPlatformLayer): m_clippingLayer rename
-
-2010-05-13 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Follow up to:
- Fix for https://bugs.webkit.org/show_bug.cgi?id=38221
- Memory issues due to the changes in 36556 (increased CSSPrimitiveValue size).
- Part of <rdar://problem/7921275>
-
- Fix failing tests on Leopard.
-
- Initialize m_hasCachedCSSText in CSSPrimitiveValue::init methods.
-
- * css/CSSPrimitiveValue.cpp:
- (WebCore::CSSPrimitiveValue::init):
- (WebCore::CSSPrimitiveValue::cssText): Add extra assertion.
-
-2010-05-13 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Darin Adler.
-
- Can't submit a form with <input type=checkbox required>
- https://bugs.webkit.org/show_bug.cgi?id=39065
-
- Test: fast/forms/interactive-validation-required-checkbox.html
-
- * html/HTMLInputElement.cpp:
- (WebCore::HTMLInputElement::setChecked):
- Update the validity cache when a checkbox state is changed.
-
-2010-05-13 Kenneth Russell <kbr@google.com>
-
- Reviewed by Dimitri Glazkov.
-
- Alias WebGLArray type names to TypedArray type names
- https://bugs.webkit.org/show_bug.cgi?id=39036
-
- Exposed the existing WebGL<T>Array constructor functions on the
- DOMWindow under the naming convention in the TypedArray spec. The
- implementations will be renamed in a subsequent bug, and the
- aliases to the WebGL<T>Array type names eventually removed. Ran
- all layout tests (including WebGL) in Safari, and WebGL tests in
- Chromium.
-
- Test: revised array-unit-tests.html to test both type names.
- Revised global prototype and constructor tests to ignore new types.
-
- * bindings/generic/RuntimeEnabledFeatures.h:
- (WebCore::RuntimeEnabledFeatures::arrayBufferEnabled):
- (WebCore::RuntimeEnabledFeatures::int8ArrayEnabled):
- (WebCore::RuntimeEnabledFeatures::uint8ArrayEnabled):
- (WebCore::RuntimeEnabledFeatures::int16ArrayEnabled):
- (WebCore::RuntimeEnabledFeatures::uint16ArrayEnabled):
- (WebCore::RuntimeEnabledFeatures::int32ArrayEnabled):
- (WebCore::RuntimeEnabledFeatures::uint32ArrayEnabled):
- (WebCore::RuntimeEnabledFeatures::floatArrayEnabled):
- * bindings/js/JSDOMWindowCustom.cpp:
- (WebCore::JSDOMWindow::arrayBuffer):
- (WebCore::JSDOMWindow::int8Array):
- (WebCore::JSDOMWindow::uint8Array):
- (WebCore::JSDOMWindow::int32Array):
- (WebCore::JSDOMWindow::uint32Array):
- (WebCore::JSDOMWindow::int16Array):
- (WebCore::JSDOMWindow::uint16Array):
- (WebCore::JSDOMWindow::floatArray):
- * bindings/v8/custom/V8DOMWindowCustom.cpp:
- (WebCore::V8DOMWindow::ArrayBufferAccessorGetter):
- (WebCore::V8DOMWindow::Int8ArrayAccessorGetter):
- (WebCore::V8DOMWindow::Uint8ArrayAccessorGetter):
- (WebCore::V8DOMWindow::Int16ArrayAccessorGetter):
- (WebCore::V8DOMWindow::Uint16ArrayAccessorGetter):
- (WebCore::V8DOMWindow::Int32ArrayAccessorGetter):
- (WebCore::V8DOMWindow::Uint32ArrayAccessorGetter):
- (WebCore::V8DOMWindow::FloatArrayAccessorGetter):
- * page/DOMWindow.idl:
-
-2010-05-13 David Hyatt <hyatt@apple.com>
-
- Reviewed by Anders Carlsson.
-
- https://bugs.webkit.org/show_bug.cgi?id=39084
-
- Improve :visited style resolution to reduce its memory footprint and to make some speed adjustments and
- simplifications.
-
- (1) Tie the caching of link state on CSSStyleSelector to the element. Just clear out the element when
- style resolution finishes for the unvisited case to avoid caching across external calls. The internal
- calls share the cache just fine by doing this.
-
- (2) Delete the RenderStyle if the link is unvisited. This shouldn't take long enough to make us vulnerable
- to timing attacks, and it makes sure the overall footprint stays the way it used to be for unvisited links.
-
- (3) Limit the set of properties that can be applied to :visited links to only the colors it supports. This
- stops images from being loadable from :visited rules.
-
- * css/CSSStyleSelector.cpp:
- (WebCore::CSSStyleSelector::init):
- (WebCore::CSSStyleSelector::SelectorChecker::determineLinkState):
- (WebCore::CSSStyleSelector::initElement):
- (WebCore::CSSStyleSelector::canShareStyleWithElement):
- (WebCore::CSSStyleSelector::styleForElement):
- (WebCore::CSSStyleSelector::pseudoStyleForElement):
- (WebCore::isValidVisitedLinkProperty):
- (WebCore::CSSStyleSelector::applyProperty):
- * css/CSSStyleSelector.h:
- * rendering/style/RenderStyle.cpp:
- (WebCore::colorIncludingFallback):
-
-2010-05-13 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin Adler.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=38221
- Memory issues due to the changes in 36556 (increased CSSPrimitiveValue size).
- Part of <rdar://problem/7921275>
-
- - Use an external cache to speedup cssText for CSSPrimitiveValue instead
- of an extra member variable.
-
- * css/CSSPrimitiveValue.cpp:
- (WebCore::cssTextCache):
- (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
- (WebCore::CSSPrimitiveValue::cleanup):
- (WebCore::CSSPrimitiveValue::cssText):
- * css/CSSPrimitiveValue.h:
- (WebCore::CSSPrimitiveValue::):
- * css/CSSPrimitiveValueMappings.h:
- (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
-
-2010-05-13 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Dave Hyatt.
-
- Adding block elements to a block and removing them changes the height of the element.
- https://bugs.webkit.org/show_bug.cgi?id=38874
-
- The initial height of an empty editable block is different from the height of the same block after we add block elements
- and remove them.
-
- Test: editing/deleting/delete-block-contents-004.html
-
- * rendering/RenderBlock.cpp:
- (WebCore::RenderBlock::layoutBlock): resetting m_childrenInline flag to true when layout a block with no children.
-
-2010-05-13 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin Adler.
-
- Repro crash at www.sears.com (infinite recursion in beforeunload handler)
- <rdar://problem/7965182> and https://bugs.webkit.org/show_bug.cgi?id=38928
-
- Test: fast/loader/recursive-before-unload-crash.html
-
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::shouldClose): Copied from Frame, with the pageDismissal flag set.
- * loader/FrameLoader.h:
-
- * page/Frame.cpp:
- (WebCore::Frame::shouldClose): Forward to the new FrameLoader::shouldClose().
- * page/Frame.h:
- (WebCore::Frame::existingDOMWindow):
-
-2010-05-13 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r59376.
- http://trac.webkit.org/changeset/59376
- https://bugs.webkit.org/show_bug.cgi?id=39080
-
- Broke window prototype tests (Requested by jamesr on #webkit).
-
- * bindings/generic/RuntimeEnabledFeatures.h:
- * bindings/js/JSDOMWindowCustom.cpp:
- (WebCore::JSDOMWindow::webGLFloatArray):
- * bindings/v8/custom/V8DOMWindowCustom.cpp:
- * page/DOMWindow.idl:
-
-2010-05-13 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- Web Inspector: A disabled style property cannot be deleted.
-
- https://bugs.webkit.org/show_bug.cgi?id=39057
-
- * inspector/InspectorDOMAgent.cpp:
- (WebCore::InspectorDOMAgent::applyStyleText):
-
-2010-05-12 Kenneth Russell <kbr@google.com>
-
- Reviewed by Dimitri Glazkov.
-
- Alias WebGLArray type names to TypedArray type names
- https://bugs.webkit.org/show_bug.cgi?id=39036
-
- Exposed the existing WebGL<T>Array constructor functions on the
- DOMWindow under the naming convention in the TypedArray spec. The
- implementations will be renamed in a subsequent bug, and the
- aliases to the WebGL<T>Array type names eventually removed. Ran
- all WebGL layout tests in Safari and Chromium.
-
- Test: revised array-unit-tests.html to test both type names.
-
- * bindings/generic/RuntimeEnabledFeatures.h:
- (WebCore::RuntimeEnabledFeatures::arrayBufferEnabled):
- (WebCore::RuntimeEnabledFeatures::int8ArrayEnabled):
- (WebCore::RuntimeEnabledFeatures::uint8ArrayEnabled):
- (WebCore::RuntimeEnabledFeatures::int16ArrayEnabled):
- (WebCore::RuntimeEnabledFeatures::uint16ArrayEnabled):
- (WebCore::RuntimeEnabledFeatures::int32ArrayEnabled):
- (WebCore::RuntimeEnabledFeatures::uint32ArrayEnabled):
- (WebCore::RuntimeEnabledFeatures::floatArrayEnabled):
- * bindings/js/JSDOMWindowCustom.cpp:
- (WebCore::JSDOMWindow::arrayBuffer):
- (WebCore::JSDOMWindow::int8Array):
- (WebCore::JSDOMWindow::uint8Array):
- (WebCore::JSDOMWindow::int32Array):
- (WebCore::JSDOMWindow::uint32Array):
- (WebCore::JSDOMWindow::int16Array):
- (WebCore::JSDOMWindow::uint16Array):
- (WebCore::JSDOMWindow::floatArray):
- * bindings/v8/custom/V8DOMWindowCustom.cpp:
- (WebCore::V8DOMWindow::ArrayBufferAccessorGetter):
- (WebCore::V8DOMWindow::Int8ArrayAccessorGetter):
- (WebCore::V8DOMWindow::Uint8ArrayAccessorGetter):
- (WebCore::V8DOMWindow::Int16ArrayAccessorGetter):
- (WebCore::V8DOMWindow::Uint16ArrayAccessorGetter):
- (WebCore::V8DOMWindow::Int32ArrayAccessorGetter):
- (WebCore::V8DOMWindow::Uint32ArrayAccessorGetter):
- (WebCore::V8DOMWindow::FloatArrayAccessorGetter):
- * page/DOMWindow.idl:
-
-2010-05-13 Brady Eidson <beidson@apple.com>
+ Reviewed by Oliver Hunt.
- Reviewed by John Sullivan.
+ [PATCH] compilation error with clang in JSDOMBinding.h
+ https://bugs.webkit.org/show_bug.cgi?id=39945
- Part of <rdar://problem/7965182> and https://bugs.webkit.org/show_bug.cgi?id=38928
+ JSNode is only forward declared at this point. And since neither
+ "wrapper" nor JSValue are type-dependent. Compilers should report errors
+ at the first compilation pass.
- No new tests. (No change in behavior)
+ The fix is to move the conversion the line above, as the call to the
+ function getCachedDOMNodeWrapper is type-dependent, the conversion will
+ happen at template-instantiation time.
- m_unloadEventBeingDispatched was already overloaded to include both unload and pagehide events.
- In general, these are "page dismissal" events, and might also include beforeunload, so let's rename
- the flag!
+ See also http://llvm.org/bugs/show_bug.cgi?id=7244
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::FrameLoader):
- (WebCore::FrameLoader::stopLoading):
- (WebCore::FrameLoader::loadURL):
- (WebCore::FrameLoader::loadWithDocumentLoader):
- (WebCore::FrameLoader::stopAllLoaders):
- (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
- (WebCore::FrameLoader::pageHidden):
- * loader/FrameLoader.h:
+ * bindings/js/JSDOMBinding.h:
+ (WebCore::getDOMNodeWrapper):
-2010-05-13 Joseph Pecoraro <joepeck@webkit.org>
+2010-05-31 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Pavel Feldman.
- Web Inspector: Event Markers should be hidden in Resource's "Size" Graph
- https://bugs.webkit.org/show_bug.cgi?id=39074
-
- Added Show / Hide event dividers functionality to the timeline grid,
- and included delegation functions in AbstractTimelinePanel.
+ Web Inspector: Moved breakpoints add/remove logic to the BreakpointManager.
- * inspector/front-end/AbstractTimelinePanel.js: delegate to the inner grid
- (WebInspector.AbstractTimelinePanel.prototype.hideEventDividers):
- (WebInspector.AbstractTimelinePanel.prototype.showEventDividers):
- * inspector/front-end/ResourcesPanel.js:
- (WebInspector.ResourcesPanel.prototype.populateSidebar): save a reference to the size graph item to know when its selected
- (WebInspector.ResourcesPanel.prototype._graphSelected): if the size graph is selected hide the dividers, otherwise show them
- * inspector/front-end/TimelineGrid.js:
- (WebInspector.TimelineGrid.prototype.hideEventDividers): set the container to display: none
- (WebInspector.TimelineGrid.prototype.showEventDividers): set the container to display: block
+ https://bugs.webkit.org/show_bug.cgi?id=14190
-2010-05-13 Chang Shu <chang.shu@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Based on the spec and Philip Taylor's test suite, strokeStyle and fillStyle attributes
- must initially have the string value #000000.
- The link to the spec:
- http://philip.html5.org/tests/canvas/suite/tests/spec.html#testrefs.2d.colours.default
-
- https://bugs.webkit.org/show_bug.cgi?id=39068
-
- The complete test suite is in the process of checking in.
- https://bugs.webkit.org/show_bug.cgi?id=20553
-
- * html/canvas/CanvasRenderingContext2D.cpp:
- (WebCore::CanvasRenderingContext2D::State::State):
-
-2010-05-13 Yury Semikhatsky <yurys@chromium.org>
-
- Unreviewed, rolling out r59360.
- http://trac.webkit.org/changeset/59360
- https://bugs.webkit.org/show_bug.cgi?id=38667
-
- It broke Chromium Win build
-
- * English.lproj/localizedStrings.js:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
- * inspector/front-end/CallStackSidebarPane.js:
- (WebInspector.CallStackSidebarPane):
- (WebInspector.CallStackSidebarPane.prototype._placardSelected):
- * inspector/front-end/ConsoleView.js:
- (WebInspector.ConsoleView):
- * inspector/front-end/ElementsPanel.js:
- (WebInspector.ElementsPanel):
- * inspector/front-end/ElementsTreeOutline.js:
- (WebInspector.ElementsTreeOutline.prototype._keyDown):
- * inspector/front-end/HelpScreen.js: Removed.
- * inspector/front-end/KeyboardShortcut.js:
- (WebInspector.KeyboardShortcut._makeKeyFromCodeAndModifiers):
+ * inspector/front-end/Breakpoint.js:
+ * inspector/front-end/BreakpointManager.js: Added.
+ (WebInspector.BreakpointManager):
+ (WebInspector.BreakpointManager.prototype.addBreakpoint):
+ (WebInspector.BreakpointManager.prototype.removeBreakpoint):
+ (WebInspector.BreakpointManager.prototype.breakpointsForSourceID):
+ (WebInspector.BreakpointManager.prototype.breakpointsForURL):
+ (WebInspector.BreakpointManager.prototype.reset):
+ (WebInspector.BreakpointManager.prototype._saveBreakpointOnBackend):
+ (WebInspector.BreakpointManager.prototype._removeBreakpointFromBackend):
+ (WebInspector.Breakpoint):
+ (WebInspector.Breakpoint.prototype.get enabled):
+ (WebInspector.Breakpoint.prototype.set enabled):
+ (WebInspector.Breakpoint.prototype.get sourceText):
+ (WebInspector.Breakpoint.prototype.set sourceText):
+ (WebInspector.Breakpoint.prototype.get label):
+ (WebInspector.Breakpoint.prototype.get id):
+ (WebInspector.Breakpoint.prototype.get condition):
+ (WebInspector.Breakpoint.prototype.set condition):
+ * inspector/front-end/BreakpointsSidebarPane.js:
+ (WebInspector.BreakpointsSidebarPane):
+ (WebInspector.BreakpointsSidebarPane.prototype.reset):
+ (WebInspector.BreakpointsSidebarPane.prototype._breakpointAdded):
+ (WebInspector.BreakpointsSidebarPane.prototype._breakpointRemoved):
+ (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
+ * inspector/front-end/Object.js:
+ (WebInspector.Object.prototype.dispatchEventToListeners):
+ * inspector/front-end/ScriptView.js:
+ (WebInspector.ScriptView.prototype._addBreakpoint):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel):
- (WebInspector.ScriptsPanel.prototype.elementsToRestoreScrollPositionsFor):
- * inspector/front-end/ShortcutsHelp.js: Removed.
- * inspector/front-end/SidebarPane.js:
- (WebInspector.SidebarPane.prototype._onTitleKeyDown):
- * inspector/front-end/StylesSidebarPane.js:
- (WebInspector.StylesSidebarPane.prototype.removeSection):
- * inspector/front-end/TextViewer.js:
- (WebInspector.TextViewer.prototype._handleKeyDown):
+ (WebInspector.ScriptsPanel.prototype._breakpointAdded):
+ (WebInspector.ScriptsPanel.prototype._breakpointRemoved):
+ (WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback):
+ (WebInspector.ScriptsPanel.prototype.editScriptSource):
+ (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype._contextMenu):
+ * inspector/front-end/SourceView.js:
+ (WebInspector.SourceView.prototype._addBreakpoint):
+ (WebInspector.SourceView.prototype._removeBreakpoint):
* inspector/front-end/WebKit.qrc:
- * inspector/front-end/helpScreen.css: Removed.
* inspector/front-end/inspector.html:
* inspector/front-end/inspector.js:
(WebInspector.loaded):
- (WebInspector.documentKeyDown):
- (WebInspector._searchKeyDown):
- (WebInspector.startEditing.keyDownEventListener):
- (WebInspector.startEditing):
- * inspector/front-end/utilities.js:
-
-2010-05-13 Antti Koivisto <koivisto@iki.fi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- https://bugs.webkit.org/show_bug.cgi?id=39063
- [Qt] Tiled backing store checker pattern does not paint correctly when scaling factor is not 1
-
- Use the dirty rect that has been adjusted for scaling instead of the original one.
-
- * platform/graphics/TiledBackingStore.cpp:
- (WebCore::TiledBackingStore::paint):
-
-2010-05-13 Chang Shu <chang.shu@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Based on Philip Taylor's test suite, resetting the canvas
- state resets the current path.
- https://bugs.webkit.org/show_bug.cgi?id=38934
-
- The complete test suite is in the process of checking in.
- https://bugs.webkit.org/show_bug.cgi?id=20553
-
- * html/canvas/CanvasRenderingContext2D.cpp:
- (WebCore::CanvasRenderingContext2D::reset):
+ (WebInspector.restoredBreakpoint):
+ (WebInspector.reset):
-2010-05-13 Andrey Kosyakov <caseq@chromium.org>
+2010-05-31 Alexander Pavlov <apavlov@chromium.org>
- Reviewed by Pavel Feldman.
+ Unreviewed, build fix.
- Added help screen with keyboard shortcuts.
- https://bugs.webkit.org/show_bug.cgi?id=38667
+ Add references to inspector/front-end/TabbedPane.js wherever applicable.
- * English.lproj/localizedStrings.js:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
- * inspector/front-end/CallStackSidebarPane.js:
- (WebInspector.CallStackSidebarPane):
- (WebInspector.CallStackSidebarPane.prototype._placardSelected):
- (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
- * inspector/front-end/ConsoleView.js:
- (WebInspector.ConsoleView):
- (WebInspector.ConsoleView.prototype._registerShortcuts):
- * inspector/front-end/ElementsPanel.js:
- (WebInspector.ElementsPanel):
- (WebInspector.ElementsPanel.prototype._registerShortcuts):
- * inspector/front-end/HelpScreen.js: Added.
- * inspector/front-end/KeyboardShortcut.js:
- (WebInspector.KeyboardShortcut.makeDescriptor):
- (WebInspector.KeyboardShortcut.shortcutToString):
- (WebInspector.KeyboardShortcut._modifiersToString):
- * inspector/front-end/ScriptsPanel.js:
- (WebInspector.ScriptsPanel):
- (WebInspector.ScriptsPanel.prototype.elementsToRestoreScrollPositionsFor):
- (WebInspector.ScriptsPanel.prototype._registerShortcuts):
- * inspector/front-end/ShortcutsHelp.js: Added.
- * inspector/front-end/StylesSidebarPane.js:
- (WebInspector.StylesSidebarPane.prototype.removeSection):
- (WebInspector.StylesSidebarPane.prototype.registerShortcuts):
* inspector/front-end/WebKit.qrc:
- * inspector/front-end/helpScreen.css: Added.
-
-2010-05-13 Yoshiki Hayashi <yhayashi@google.com>
-
- Reviewed by Darin Adler.
-
- Fix a bug in handleRunInChild where only the first child run-in block
- is inserted because removeChildNode clears next sibling.
- https://bugs.webkit.org/show_bug.cgi?id=25047
-
- Test: fast/css/run-in-children.html
-
- * rendering/RenderBlock.cpp:
- (WebCore::RenderBlock::handleRunInChild):
-
-2010-05-13 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Xan Lopez.
-
- In case there is no expose event we render the theme in a pixmap
- and copy it to the cairo context. This is slow but it is used just
- in case we are printing nowadays.
-
- [GTK] Theme does not render when printing
- https://bugs.webkit.org/show_bug.cgi?id=38896
-
- * platform/gtk/RenderThemeGtk.cpp:
- (WebCore::paintMozillaGtkWidget):
-
-2010-05-12 Yuzo Fujishima <yuzo@google.com>
-
- Reviewed by Darin Adler.
-
- Fix Bug 35014 - Modifying UA rules from page JS crashes
- Added a NULL check.
- https://bugs.webkit.org/show_bug.cgi?id=35014
-
- Test: fast/css/modify-ua-rules-from-javascript.html
-
- * css/CSSMutableStyleDeclaration.cpp:
- (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
-
-2010-05-12 Dumitru Daniliuc <dumi@chromium.org>
-
- Reviewed by Adam Barth.
-
- Add the parent class for Database and DatabaseSync.
- https://bugs.webkit.org/show_bug.cgi?id=39041
-
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * storage/AbstractDatabase.cpp: Added.
- * storage/AbstractDatabase.h: Added.
-
-2010-05-12 Noam Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] GraphicsLayer: depth-test causes flicker in certain situations
-
- This patch removes the simplistic 2D depth test as it leads to flickering side effects.
- https://bugs.webkit.org/show_bug.cgi?id=38370
-
- Tested by http://webkit.org/blog-files/3d-transforms/morphing-cubes.html
-
- * platform/graphics/qt/GraphicsLayerQt.cpp:
- (WebCore::GraphicsLayerQtImpl::updateTransform):
-
-2010-05-12 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Mark Rowe.
-
- Fix layer dump to avoid spurious platform differences
- https://bugs.webkit.org/show_bug.cgi?id=39045
-
- Only dump the children transform on layers that are not the root layer.
- The children transform on the root layer is used on Leopard to implement
- geometry flipping, so avoid this supurious difference in test output.
-
- * platform/graphics/GraphicsLayer.cpp:
- (WebCore::GraphicsLayer::dumpProperties):
-
-2010-05-12 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r59270.
- http://trac.webkit.org/changeset/59270
- https://bugs.webkit.org/show_bug.cgi?id=39044
-
- Caused a crash on some pages - bug 39042 (Requested by smfr on
- #webkit).
-
- * rendering/RenderBlock.cpp:
- (WebCore::RenderBlock::removeChild):
-
-2010-05-12 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by David Hyatt.
-
- Composited plug-ins can cause missed painting
- https://bugs.webkit.org/show_bug.cgi?id=39033
- <rdar://problem/7972478>
-
- Fixed missed painting (and assertions in debug builds) related to compositing
- propagating out of iframes that contain plug-ins.
-
- When an iframe enters or leaves compositing mode, RenderLayerCompositor uses
- setNeedsStyleRecalc(SyntheticStyleChange) to trigger the parent document to re-evaluate
- whether the iframe itself should be composited. However, for iframes containing plug-ins,
- this can happen at inappropriate times. For example, when a browser tab is brought frontmost,
- plug-ins are instantiated for the first time (via -viewDidMoveToWindow), which triggers a
- setNeedsStyleRecalc() on the object element. Soon after, the -viewWillDraw machinery
- does layout from the top down. During layout of the iframe, the iframe enters compositing mode,
- and does a setNeedsStyleRecalc() on the iframe element in its parent document. This leaves the
- FrameView as needsLayout(), so the FrameView::paintContents() asserts and bails.
-
- The fix is to avoid doing a setNeedsStyleRecalc() on the root while inside a recalcStyle on
- the iframe. We do this by switching the iframe into compositing mode eagerly as soon as we know
- the plug-in needs it.
-
- A secondary fix is to ensure that if a document has composited iframes, when that document becomes
- composited, we connect compositing layers between the iframes and the parent document.
-
- Tests: compositing/iframes/connect-compositing-iframe-delayed.html
- compositing/iframes/iframe-src-change.html
-
- * WebCore.base.exp: Export FrameView::enterCompositingMode()
-
- * page/FrameView.h: New method, enterCompositingMode(), that we can call from WebKit plug-in code.
- * page/FrameView.cpp:
- (WebCore::FrameView::enterCompositingMode):
-
- * rendering/RenderLayerCompositor.h:
- * rendering/RenderLayerCompositor.cpp:
- (WebCore::RenderLayerCompositor::enableCompositingMode): When we switch into compositing mode, we
- force a style recaclc on any iframes to get them into compositing layers, so they can hook up
- with their content layers if necessary.
- (WebCore::RenderLayerCompositor::didMoveOnscreen): Only call attachRootPlatformLayer() if we really need to.
- (WebCore::RenderLayerCompositor::willMoveOffscreen): Only call detachRootPlatformLayer() if we really need to.
- (WebCore::RenderLayerCompositor::detachRootPlatformLayer): Whitespace.
- (WebCore::RenderLayerCompositor::notifyIFramesOfCompositingChange): Fetch iframe elements, and send a
- synthetic style recalc on them.
-
-2010-05-12 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Simon Fraser.
-
- Shrink the size of FillLayer by moving a member variable.
- https://bugs.webkit.org/show_bug.cgi?id=39035
-
- * rendering/style/FillLayer.cpp:
- (WebCore::FillLayer::FillLayer):
- * rendering/style/FillLayer.h:
-
-2010-05-12 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- A bunch of nice micro-optimizations for ~1% speedup on PLT.
- - Add fastGetAttribute. The same as getAttribute except can only be
- called when it is known not to be style attribute or one of the SVG
- animatable attributes.
- - Inline some functions from Font.
- - Return the same string from deprecatedParseURL if there is nothing
- to strip.
- - Use a member variable instead of a virtual function to determine
- whether a ScheduledNavigation is a location change.
-
- * WebCore.base.exp:
- * css/CSSHelper.cpp:
- (WebCore::deprecatedParseURL):
- * css/CSSStyleSelector.cpp:
- (WebCore::linkAttribute):
- (WebCore::CSSStyleSelector::canShareStyleWithElement):
- (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
- * dom/Element.cpp:
- (WebCore::Element::getAttribute):
- * dom/Element.h:
- (WebCore::Element::fastHasAttribute):
- (WebCore::Element::fastGetAttribute):
- * html/HTMLFormControlElement.cpp:
- (WebCore::HTMLFormControlElement::formControlName):
- * html/HTMLInputElement.cpp:
- (WebCore::HTMLInputElement::value):
- * loader/RedirectScheduler.cpp:
- (WebCore::ScheduledNavigation::ScheduledNavigation):
- (WebCore::ScheduledNavigation::isLocationChange):
- (WebCore::ScheduledURLNavigation::ScheduledURLNavigation):
- (WebCore::ScheduledRedirect::ScheduledRedirect):
- (WebCore::ScheduledLocationChange::ScheduledLocationChange):
- (WebCore::ScheduledRefresh::ScheduledRefresh):
- (WebCore::ScheduledHistoryNavigation::ScheduledHistoryNavigation):
- (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
- (WebCore::RedirectScheduler::locationChangePending):
- * platform/graphics/Font.cpp:
- * platform/graphics/Font.h:
- (WebCore::Font::~Font):
- (WebCore::Font::primaryFont):
- (WebCore::Font::fontDataAt):
- (WebCore::Font::fontDataForCharacters):
- (WebCore::Font::isFixedPitch):
- (WebCore::Font::fontSelector):
- * platform/graphics/FontFallbackList.h:
- * rendering/RenderImage.cpp:
- (WebCore::RenderImage::imageMap):
-
-2010-05-12 David Hyatt <hyatt@apple.com>
-
- Reviewed by Sam Weinig.
-
- Make InlineBoxes use an IntRect for dimensions, and eliminate the dynamic computation of height() every time.
-
- * WebCore.xcodeproj/project.pbxproj:
- * editing/visible_units.cpp:
- (WebCore::previousLinePosition):
- (WebCore::nextLinePosition):
- * rendering/EllipsisBox.cpp:
- (WebCore::EllipsisBox::paint):
- (WebCore::EllipsisBox::selectionRect):
- (WebCore::EllipsisBox::paintSelection):
- (WebCore::EllipsisBox::nodeAtPoint):
- * rendering/EllipsisBox.h:
- (WebCore::EllipsisBox::EllipsisBox):
- * rendering/InlineBox.cpp:
- (WebCore::InlineBox::adjustPosition):
- (WebCore::InlineBox::canAccommodateEllipsis):
- * rendering/InlineBox.h:
- (WebCore::InlineBox::InlineBox):
- (WebCore::InlineBox::isSVGRootInlineBox):
- (WebCore::InlineBox::x):
- (WebCore::InlineBox::y):
- (WebCore::InlineBox::width):
- (WebCore::InlineBox::height):
- (WebCore::InlineBox::bottom):
- (WebCore::InlineBox::right):
- (WebCore::InlineBox::setX):
- (WebCore::InlineBox::setY):
- (WebCore::InlineBox::setWidth):
- (WebCore::InlineBox::setHeight):
- (WebCore::InlineBox::location):
- (WebCore::InlineBox::size):
- (WebCore::InlineBox::setLocation):
- (WebCore::InlineBox::setSize):
- (WebCore::InlineBox::move):
- (WebCore::InlineBox::frameRect):
- (WebCore::InlineBox::setFrameRect):
- (WebCore::InlineBox::baselinePosition):
- (WebCore::InlineBox::lineHeight):
- * rendering/InlineFlowBox.cpp:
- (WebCore::InlineFlowBox::placeBoxesVertically):
- (WebCore::InlineFlowBox::computeVerticalOverflow):
- (WebCore::InlineFlowBox::nodeAtPoint):
- (WebCore::InlineFlowBox::paintBoxDecorations):
- (WebCore::InlineFlowBox::paintMask):
- (WebCore::InlineFlowBox::paintTextDecorations):
- * rendering/InlineFlowBox.h:
- (WebCore::InlineFlowBox::visibleOverflowRect):
- (WebCore::InlineFlowBox::topLayoutOverflow):
- (WebCore::InlineFlowBox::bottomLayoutOverflow):
- (WebCore::InlineFlowBox::leftLayoutOverflow):
- (WebCore::InlineFlowBox::rightLayoutOverflow):
- (WebCore::InlineFlowBox::layoutOverflowRect):
- (WebCore::InlineFlowBox::topVisualOverflow):
- (WebCore::InlineFlowBox::bottomVisualOverflow):
- (WebCore::InlineFlowBox::leftVisualOverflow):
- (WebCore::InlineFlowBox::rightVisualOverflow):
- (WebCore::InlineFlowBox::visualOverflowRect):
- (WebCore::InlineFlowBox::setHorizontalOverflowPositions):
- (WebCore::InlineFlowBox::setVerticalOverflowPositions):
- * rendering/InlineTextBox.cpp:
- (WebCore::InlineTextBox::selectionRect):
- (WebCore::InlineTextBox::placeEllipsisBox):
- (WebCore::InlineTextBox::nodeAtPoint):
- (WebCore::InlineTextBox::paint):
- (WebCore::InlineTextBox::paintSelection):
- (WebCore::InlineTextBox::paintCompositionBackground):
- (WebCore::InlineTextBox::paintDecoration):
- (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
- (WebCore::InlineTextBox::paintTextMatchMarker):
- (WebCore::InlineTextBox::computeRectForReplacementMarker):
- (WebCore::InlineTextBox::paintCompositionUnderline):
- (WebCore::InlineTextBox::offsetForPosition):
- (WebCore::InlineTextBox::positionForOffset):
- * rendering/InlineTextBox.h:
- (WebCore::InlineTextBox::setSpaceAdd):
- * rendering/RenderBlock.cpp:
- (WebCore::RenderBlock::positionForPointWithInlineChildren):
- * rendering/RenderBlockLineLayout.cpp:
- (WebCore::RenderBlock::computeVerticalPositionsForLine):
- (WebCore::RenderBlock::layoutInlineChildren):
- * rendering/RenderSVGInline.cpp:
- (WebCore::RenderSVGInline::createInlineFlowBox):
- * rendering/RenderSVGInlineText.cpp:
- (WebCore::RenderSVGInlineText::createTextBox):
- * rendering/RenderSVGText.cpp:
- (WebCore::RenderSVGText::createRootInlineBox):
- * rendering/RenderText.cpp:
- (WebCore::RenderText::positionForPoint):
- (WebCore::RenderText::firstRunX):
- (WebCore::RenderText::firstRunY):
- * rendering/RenderTreeAsText.cpp:
- (WebCore::writeTextRun):
- * rendering/RootInlineBox.cpp:
- (WebCore::RootInlineBox::placeEllipsis):
- (WebCore::RootInlineBox::addHighlightOverflow):
- (WebCore::RootInlineBox::closestLeafChildForXPos):
- * rendering/SVGInlineFlowBox.h:
- (WebCore::SVGInlineFlowBox::SVGInlineFlowBox):
- * rendering/SVGInlineTextBox.h:
- (WebCore::SVGInlineTextBox::selectionTop):
- (WebCore::SVGInlineTextBox::selectionHeight):
- * rendering/SVGRootInlineBox.h:
- (WebCore::SVGRootInlineBox::SVGRootInlineBox):
- (WebCore::SVGRootInlineBox::isSVGRootInlineBox):
- * rendering/TrailingFloatsRootInlineBox.h: Removed.
-
-2010-05-12 Dumitru Daniliuc <dumi@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Removing the unnecessary dirfd parameter.
- https://bugs.webkit.org/show_bug.cgi?id=38869
-
- * platform/chromium/ChromiumBridge.h:
- * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
-
-2010-05-12 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Dave Hyatt.
-
- Adding block elements to a block and removing them changes the height of the element.
- https://bugs.webkit.org/show_bug.cgi?id=38874
-
- The initial height of an empty editable block is different from the height of the same block after we add block elements
- and remove them.
-
- Test: editing/deleting/delete-block-contents-004.html
-
- * rendering/RenderBlock.cpp:
- (WebCore::RenderBlock::removeChild): m_childrenInline was set to true only when the Renderer is created
- and never reset to true when all the block elements contained are removed.
-
-2010-05-11 Dumitru Daniliuc <dumi@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Do not check if a database needs to be vacuumed after a read-only transaction.
- https://bugs.webkit.org/show_bug.cgi?id=38972
-
- * storage/SQLTransaction.cpp:
- (WebCore::SQLTransaction::postflightAndCommit):
-
-2010-05-12 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Detect debug mode consistently
- https://bugs.webkit.org/show_bug.cgi?id=38863
-
- No new tests as there is no new functionality.
-
- * WebCore.pro:
-
-2010-05-12 James Robinson <jamesr@chromium.org>
-
- Patch by Dan Bernstein.
-
- Reviewed by David Hyatt.
-
- Fix marking the layout root's parent as needing layout
- https://bugs.webkit.org/show_bug.cgi?id=37760
-
- If an element gets marked as needing layout due to the recalcStyle()
- call in FrameView::layout(), the m_layoutSchedulingEnabled flag will
- be set to false. It's possible at this point that a parent of the
- existing FrameView::m_layoutRoot will be marked as needing layout.
-
- This patch updates FrameView::scheduleRelayoutOfSubtree to account
- for this case.
-
- Manual test only due to subtle timing issues.
-
- * manual-tests/layoutroot_detach.xml: Added.
- * page/FrameView.cpp:
- (WebCore::FrameView::scheduleRelayoutOfSubtree):
-
-2010-05-12 Eric Seidel <eric@webkit.org>
-
- Unreviewed, rolling out r59245.
- http://trac.webkit.org/changeset/59245
- https://bugs.webkit.org/show_bug.cgi?id=38874
-
- Broke at least one test on multiple platforms
-
- * rendering/RenderBlock.cpp:
- (WebCore::RenderBlock::removeChild):
-
-2010-05-12 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=38752
- Strange behaviour after js insertion into a page pointing directly to an object (image, swf, etc)
-
- Test: fast/images/extra-image-in-image-document.html
-
- * loader/ImageLoader.cpp: (WebCore::ImageLoader::updateFromElement): Reset setAutoLoadImages
- after manually feeding an image - there may be more coming.
-
-2010-05-12 yael aharon <yael.aharon@nokia.com>
-
- Reviewed by Dan Bernstein.
-
- HTMLLabelElement::control() should return HTMLFormControlElement, not HTMLElement
- https://bugs.webkit.org/show_bug.cgi?id=38991
-
- No new tests since no new functionality was introduced.
-
- * html/HTMLLabelElement.cpp:
- (WebCore::HTMLLabelElement::control):
- * html/HTMLLabelElement.h:
-
-2010-05-12 David Hyatt <hyatt@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=38891
-
- First-letter had a number of bugs that were exposed by my attempt to optimize the setting of styles when updating first-letter.
- The code that drills down to find the first-letter child stopped if it hit an element that didn't need layout. This means it could
- return random incorrect results (and cause the first-letter object to not be found).
-
- In addition when the first-letter was floated/positioned, the text child was not correctly returned, but the container itself was
- returned instead.
-
- Finally, the updating code was leaving the box that wrapped the first letter text with a stale style. The old code happened to work because
- it made new styles for the text elements instead of using the enclosing box style. The regression was caused by my change to make the
- text children simply share style with their parent (thus making the bug that the parent had the wrong style become more prominent).
-
- No new tests, since there's a timing component to reproducing the issue.
-
- * rendering/RenderBlock.cpp:
- (WebCore::RenderBlock::updateFirstLetter):
-
-2010-05-12 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Dave Hyatt.
-
- Adding block elements to a block and removing them changes the height of the element.
- https://bugs.webkit.org/show_bug.cgi?id=38874
-
- The initial height of an empty editable block is different from the height of the same block after we add block elements
- and remove them.
-
- Test: editing/deleting/delete-block-contents-004.html
-
- * rendering/RenderBlock.cpp:
- (WebCore::RenderBlock::removeChild): m_childrenInline was set to true only when the Renderer is created
- and never reset to true when all the block elements contained are removed.
-
-2010-05-12 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: disabling style property on container breaks styles inspection for given node.
-
- https://bugs.webkit.org/show_bug.cgi?id=39005
-
- Tests: inspector/styles-disable-inherited.html
- inspector/styles-disable-then-enable.html
-
- * inspector/front-end/StylesSidebarPane.js:
- (WebInspector.StylesSidebarPane.prototype._containsInherited):
- (WebInspector.StylesSidebarPane.prototype._arrayContainsInheritedProperty):
-
-2010-05-12 Abhishek Arya <inferno@chromium.org>
-
- Reviewed by Darin Adler.
-
- HTML Entity Escape the contents of a textarea node when accessed
- via the innerHTML and outerHTML node properties.
- https://bugs.webkit.org/show_bug.cgi?id=38922
-
- Test: fast/innerHTML/innerHTML-special-elements.html
-
- * editing/markup.cpp:
- (WebCore::appendStartMarkup):
-
-2010-05-12 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Darin Adler.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=38871 REGRESSION:
- Crash clicking background NPR tab after few minutes of sitting idle
- -and corresponding-
- <rdar://problem/7941504>
-
- Move m_mediaCanStartListeners HashSet to Document away from Page.
- * dom/Document.cpp:
- (WebCore::Document::Document):
- (WebCore::Document::addMediaCanStartListener):
- (WebCore::Document::removeMediaCanStartListener):
- (WebCore::Document::takeAnyMediaCanStartListener):
- * dom/Document.h:
- * page/Page.cpp:
- (WebCore::Page::takeAnyMediaCanStartListener):
- * page/Page.h:
- (WebCore::Page::canStartMedia):
-
-2010-05-11 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- WebInspector: Sometimes ResourceRequest records aren't connected to the initiator.
- https://bugs.webkit.org/show_bug.cgi?id=38925
-
- * inspector/InspectorTimelineAgent.cpp:
- (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
- * inspector/InspectorTimelineAgent.h:
- (WebCore::):
- * inspector/TimelineRecordFactory.cpp:
- (WebCore::TimelineRecordFactory::createScheduleResourceRequestData):
- * inspector/TimelineRecordFactory.h:
- * inspector/front-end/TimelineAgent.js:
- * inspector/front-end/TimelinePanel.js:
- (WebInspector.TimelinePanel):
- (WebInspector.TimelinePanel.prototype.get _recordStyles):
- (WebInspector.TimelinePanel.prototype._findParentRecord):
- (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
- (WebInspector.TimelinePanel.prototype._clearPanel):
- (WebInspector.TimelinePanel.FormattedRecord):
- (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
- (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
- * loader/loader.cpp:
- (WebCore::Loader::load):
-
-2010-05-12 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Darin Adler.
-
- placeholder text should be stripped from line breaks
- https://bugs.webkit.org/show_bug.cgi?id=36291
-
- According to http://dev.w3.org/html5/spec/forms.html#attr-input-placeholder ,
- we need to remove CR and LF from the placeholder attribute values.
- Introduce HTMLTextFormControlElement::strippedPlaceholder(), which
- returns stripped value, and replace getAttribute(placeholderAttr) with it.
-
- Test: fast/forms/placeholder-stripped.html
-
- * html/HTMLFormControlElement.cpp:
- (WebCore::HTMLTextFormControlElement::strippedPlaceholder):
- (WebCore::HTMLTextFormControlElement::isPlaceholderEmpty):
- (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
- Use strippedPlaceholder().
- * html/HTMLFormControlElement.h:
- * platform/text/CharacterNames.h: Add carriageReturn.
- * rendering/RenderTextControlMultiLine.cpp:
- (WebCore::RenderTextControlMultiLine::updateFromElement):
- Use strippedPlaceholder().
- * rendering/RenderTextControlSingleLine.cpp:
- (WebCore::RenderTextControlSingleLine::updateFromElement):
- Use strippedPlaceholder().
-
-2010-05-10 Rodrigo Belem <rodrigo.belem@openbossa.org>
-
- Reviewed by Kenneth Christiansen , Simon Hausmann and Gustavo Noronha.
-
- [Qt, Gtk] Allows build-webkit script to receive an install prefix as parameter
- https://bugs.webkit.org/show_bug.cgi?id=26224
-
- This patch adds the ability, in the QtWebkit build system, to change
- the installation path.
-
- * WebCore.pro:
-
-2010-05-12 Jer Noble <jer.noble@apple.com>
-
- Reviewed by Darin Adler.
-
- Bug 38689: #34005 will break fullscreen video playback
- https://bugs.webkit.org/show_bug.cgi?id=38689
-
- The PlatformMedia struct now contains a type field indicating which type
- it contains. The struct now contains a union of all possible return types,
- allowing the type of media returned by MediaPlayerPrivate instances to be
- determined at runtime.
-
- * platform/graphics/MediaPlayer.h:
- (WebCore::PlatformMedia::):
- (WebCore::):
- * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
- (WebCore::MediaPlayerPrivate::platformMedia):
- * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
- (WebCore::MediaPlayerPrivateQuickTimeVisualContext::platformMedia):
- * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
- (WebCore::MediaPlayerPrivate::platformMedia):
-
-2010-05-12 Young Han Lee <joybro@company100.net>
-
- Reviewed by Darin Adler.
-
- Add missing ENABLE(SVG) guards.
- https://bugs.webkit.org/show_bug.cgi?id=38892
-
- * rendering/RenderSVGResourceClipper.cpp:
- * rendering/RenderSVGResourceMarker.cpp:
- * rendering/RenderSVGResourceMasker.cpp:
-
-2010-05-12 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- Web Inspector: align sidebar checkboxes on windows.
-
- https://bugs.webkit.org/show_bug.cgi?id=38986
-
- * inspector/front-end/StylesSidebarPane.js:
- * inspector/front-end/inspector.css:
- (.sidebar-pane-subtitle):
- (body.platform-windows .sidebar-pane-subtitle):
-
-2010-05-10 yael aharon <yael.aharon@nokia.com>
-
- Reviewed by Darin Adler.
-
- Support control attribute of HTMLLabelElement
- https://bugs.webkit.org/show_bug.cgi?id=38688
-
- Added support for the control attribute of HTMLLabelElement and changed the logic of determining
- which control is associated with the label to conform to HTML5 spec.
- Added a manual test for testing the logic of selecting the control to get focused, activated or hovered
- when the label gets focused, activated or is hovered.
-
- Test: fast/dom/HTMLLabelElement/click-label.html
- Test: fast/dom/HTMLLabelElement/focus-label.html
- Test: fast/dom/HTMLLabelElement/label-control.html
-
- * accessibility/AccessibilityRenderObject.cpp:
- (WebCore::labelForElement):
- (WebCore::AccessibilityRenderObject::correspondingControlForLabelElement):
- * html/HTMLFormControlElement.cpp:
- (WebCore::HTMLFormControlElement::isLabelable):
- * html/HTMLFormControlElement.h:
- * html/HTMLLabelElement.cpp:
- (WebCore::nodeAsLabelableFormControl):
- (WebCore::HTMLLabelElement::control):
- (WebCore::HTMLLabelElement::setActive):
- (WebCore::HTMLLabelElement::setHovered):
- (WebCore::HTMLLabelElement::defaultEventHandler):
- (WebCore::HTMLLabelElement::focus):
- (WebCore::HTMLLabelElement::accessKeyAction):
- * html/HTMLLabelElement.h:
- * html/HTMLLabelElement.idl:
- * manual-tests/dom/form-control-for-label.html: Added.
-
-2010-05-12 Steve Block <steveblock@google.com>
-
- Reviewed by David Levin.
-
- Android's writeToFile() is buggy
- https://bugs.webkit.org/show_bug.cgi?id=38908
-
- No new tests, build fix only.
-
- * platform/android/FileSystemAndroid.cpp: Remove Android's version of writeToFile().
- * platform/posix/FileSystemPOSIX.cpp: Use POSIX version of writeToFile() on Android.
- (WebCore::writeToFile):
-
-2010-05-10 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by David Levin.
-
- [GStreamer] incoherent #ifdef in GOwnPtrGStreamer.h
- https://bugs.webkit.org/show_bug.cgi?id=38839
-
- Fixed #ifdef/curly braces coherence.
-
- * platform/graphics/gstreamer/GOwnPtrGStreamer.cpp:
- (WTF::GstElement):
-
-2010-05-10 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Dirk Schulze.
-
- [GStreamer] un-needed cairo.h include
- https://bugs.webkit.org/show_bug.cgi?id=38837
-
- Cairo not used in the sink anymore. So it's not needed to include
- the header.
-
- * platform/graphics/gstreamer/VideoSinkGStreamer.h:
-
-2010-05-12 Zoltan Herczeg <zherczeg@webkit.org>
-
- Reviewed by Nikolas Zimmermann.
-
- Build fix for Windows and Chromium builds.
-
- * WebCore.gypi:
- * WebCore.vcproj/WebCore.vcproj:
- * svg/graphics/filters/SVGFELighting.cpp:
- (WebCore::FELighting::LightingData::upLeftPixelValue):
- (WebCore::FELighting::LightingData::upPixelValue):
- (WebCore::FELighting::LightingData::upRightPixelValue):
- (WebCore::FELighting::LightingData::leftPixelValue):
- (WebCore::FELighting::LightingData::centerPixelValue):
- (WebCore::FELighting::LightingData::rightPixelValue):
- (WebCore::FELighting::LightingData::downLeftPixelValue):
- (WebCore::FELighting::LightingData::downPixelValue):
- (WebCore::FELighting::LightingData::downRightPixelValue):
- (WebCore::FELighting::setPixel):
-
-2010-05-12 Zoltan Herczeg <zherczeg@webkit.org>
-
- Reviewed by Nikolas Zimmermann.
-
- Implementing SVG filters: feDiffuseLighting and feSpecularLighting
- https://bugs.webkit.org/show_bug.cgi?id=32197
- https://bugs.webkit.org/show_bug.cgi?id=32199
-
- The patch implements the SVG filters feDiffuseLighting and
- feSpecularLighting including the impementation of their possible
- light sources according to the Scalable Vector Graphics (SVG)
- 1.1 Specification. Only two features are missing: supporting images
- with height or width set to 1, and kernelUnitLength other than (1,1).
- Since the two lighting filters have a similar body, a common base
- class called FELighting is introduced, and contains the code for
- both filters. The implementation employs single precision floating
- point arithmetic (fixed precision integer arithmetic seemed too difficult).
-
- Indentation is removed of the modified header files in svg/graphics/filters
-
- * GNUmakefile.am:
- * WebCore.pro:
- * WebCore.xcodeproj/project.pbxproj:
- * platform/graphics/FloatPoint3D.cpp:
- * platform/graphics/FloatPoint3D.h:
- (WebCore::FloatPoint3D::FloatPoint3D): constructors changed to inline
- (WebCore::operator*): dot product
- * svg/SVGFESpotLightElement.cpp:
- (WebCore::SVGFESpotLightElement::lightSource):
- * svg/graphics/filters/SVGDistantLightSource.h:
- (WebCore::DistantLightSource::create):
- (WebCore::DistantLightSource::azimuth):
- (WebCore::DistantLightSource::elevation):
- (WebCore::DistantLightSource::DistantLightSource):
- * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
- (WebCore::FEDiffuseLighting::FEDiffuseLighting):
- (WebCore::FEDiffuseLighting::create):
- * svg/graphics/filters/SVGFEDiffuseLighting.h:
- * svg/graphics/filters/SVGFELighting.cpp: Added.
- (WebCore::FELighting::FELighting):
- (WebCore::FELighting::LightingData::upLeftPixelValue):
- (WebCore::FELighting::LightingData::upPixelValue):
- (WebCore::FELighting::LightingData::upRightPixelValue):
- (WebCore::FELighting::LightingData::leftPixelValue):
- (WebCore::FELighting::LightingData::centerPixelValue):
- (WebCore::FELighting::LightingData::rightPixelValue):
- (WebCore::FELighting::LightingData::downLeftPixelValue):
- (WebCore::FELighting::LightingData::downPixelValue):
- (WebCore::FELighting::LightingData::downRightPixelValue):
- (WebCore::FELighting::setPixel):
- (WebCore::FELighting::drawLighting):
- (WebCore::FELighting::apply):
- * svg/graphics/filters/SVGFELighting.h: Added.
- (WebCore::FELighting::uniteChildEffectSubregions):
- (WebCore::FELighting::):
- * svg/graphics/filters/SVGFESpecularLighting.cpp:
- (WebCore::FESpecularLighting::FESpecularLighting):
- (WebCore::FESpecularLighting::create):
- * svg/graphics/filters/SVGFESpecularLighting.h:
- * svg/graphics/filters/SVGLightSource.cpp:
- (WebCore::PointLightSource::initPaintingData):
- (WebCore::PointLightSource::updatePaintingData):
- (WebCore::SpotLightSource::initPaintingData):
- (WebCore::SpotLightSource::updatePaintingData):
- (WebCore::DistantLightSource::initPaintingData):
- (WebCore::DistantLightSource::updatePaintingData):
- * svg/graphics/filters/SVGLightSource.h:
- (WebCore::):
- (WebCore::LightSource::LightSource):
- (WebCore::LightSource::~LightSource):
- (WebCore::LightSource::type):
- * svg/graphics/filters/SVGPointLightSource.h:
- (WebCore::PointLightSource::create):
- (WebCore::PointLightSource::position):
- (WebCore::PointLightSource::PointLightSource):
- * svg/graphics/filters/SVGSpotLightSource.h:
- (WebCore::SpotLightSource::create):
- (WebCore::SpotLightSource::position):
- (WebCore::SpotLightSource::direction):
- (WebCore::SpotLightSource::specularExponent):
- (WebCore::SpotLightSource::limitingConeAngle):
- (WebCore::SpotLightSource::SpotLightSource):
-
-2010-05-12 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Nikolas Zimmermann.
-
- Add missing AM_V_GEN directives to generation rules so that they
- remain silent when requested.
-
- * GNUmakefile.am:
-
-2010-05-12 Lucas De Marchi <lucas.demarchi@profusion.mobi>
-
- Reviewed by Jeremy Orlow.
-
- [EFL] It does not make sense to use ScrollbarEfl::ScrollbarEfl, so
- use ScrollbarEfl (GCC 4.5 seems to be pickier about this). Revision 59030
- fixed cases for RenderThemeEfl, but missed this for ScrollbarEfl.
- http://webkit.org/b/38904
-
- No new tests required.
-
- * platform/efl/ScrollbarEfl.cpp:
- (scrollbarEflEdjeMessage):
-
-2010-05-12 MORITA Hajime <morrita@google.com>
-
- Reviewed by Kent Tamura.
-
- [Chromium] Support HTML5 <progress> element on Windows.
- https://bugs.webkit.org/show_bug.cgi?id=37308
-
- Extended ChromiumBridge to handle progress bar painting,
- and added delegations to it.
-
- No new tests. Test cases should be shared with existing ones for
- progress element. Expectaions will be added after PROGRESS_TAG is
- enabled on Chromium tree.
-
- * platform/chromium/ChromiumBridge.h:
- * rendering/RenderProgress.cpp:
- (WebCore::RenderProgress::animationProgress):
- (WebCore::RenderProgress::isDeterminate):
- * rendering/RenderProgress.h:
- (WebCore::RenderProgress::position):
- * rendering/RenderThemeChromiumWin.cpp:
- (WebCore::RenderThemeChromiumWin::animationRepeatIntervalForProgressBar):
- (WebCore::RenderThemeChromiumWin::animationDurationForProgressBar):
- (WebCore::RenderThemeChromiumWin::adjustProgressBarStyle):
- (WebCore::RenderThemeChromiumWin::paintProgressBar):
- * rendering/RenderThemeChromiumWin.h:
-
-2010-05-12 Marcus Bulach <bulach@chromium.org>
-
- Reviewed by Steve Block.
-
- Removes Geolocation::setPosition and uses positionChanged() to capture lastPosition().
- This brings CLIENT_BASED_GEOLOCATION more inline with the non-client based.
- https://bugs.webkit.org/show_bug.cgi?id=38195
-
- * page/Geolocation.cpp:
- (WebCore::Geolocation::lastPosition):
- (WebCore::Geolocation::requestPermission):
- (WebCore::Geolocation::positionChangedInternal):
- (WebCore::Geolocation::positionChanged):
- (WebCore::Geolocation::geolocationServicePositionChanged):
- * page/Geolocation.h:
- * page/GeolocationController.cpp:
- (WebCore::GeolocationController::positionChanged):
- (WebCore::GeolocationController::lastPosition):
- * page/GeolocationController.h:
-
-2010-05-12 Marcus Bulach <bulach@chromium.org>
-
- Reviewed by Steve Block.
-
- Attaches the geolocation bridge later on startUpdating().
- This prevents a page requesting permission when it has just accessed navigator.geolocation (without calling navigator.geolocation.getCurrentPosition/watchPosition).
- Note: when Geolocation::haveSuitableCachedPosition(), WebGeolocationServiceBridgeImpl::startUpdating() is not called,
- so we attach the bridge if needed at requestGeolocationPermissionForFrame().
- https://bugs.webkit.org/show_bug.cgi?id=38323
- http://crbug.com/42789
-
- * platform/chromium/GeolocationServiceChromium.h:
-
-2010-05-12 Robin Qiu <robin.qiu@torchmobile.com.cn>
-
- Reviewed by Dirk Schulze.
-
- Fix a bug in SVGPathSegList::getPathSegAtLength().
- This bug is just a misktake: almost all of the code is OK, but the
- parameter is not used at all, therefore, this function always returns
- "1".
- And make a modification to return the last path segment if the distance
- exceeds the actual path length.
- https://bugs.webkit.org/show_bug.cgi?id=37515
-
- Test: svg/dom/svgpath-getPathSegAtLength.html
-
- * svg/SVGPathSegList.cpp:
- (WebCore::SVGPathSegList::getPathSegAtLength):
-
-2010-05-11 David Hyatt <hyatt@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- https://bugs.webkit.org/show_bug.cgi?id=38976, fast/css/pseudo-cache-stale.html has incorrect results.
-
- Make sure to trigger a relayout of any objects whose first-line styles change dynamically.
-
- * dom/Element.cpp:
- (WebCore::Element::pseudoStyleCacheIsInvalid):
-
-2010-05-11 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Shorthand Properties Getting Deleted When Editing
- https://bugs.webkit.org/show_bug.cgi?id=38958
-
- * inspector/front-end/DOMAgent.js:
- (WebInspector.CSSStyleDeclaration.prototype.styleTextWithShorthands): was getting regular values instead of shorthand values
-
-2010-05-11 Tony Chang <tony@chromium.org>
-
- Reviewed by Darin Fisher.
-
- [chromium] Remove subframe scrollbar routing (r58937)
- https://bugs.webkit.org/show_bug.cgi?id=38894
-
- * page/chromium/EventHandlerChromium.cpp:
- (WebCore::EventHandler::passMousePressEventToSubframe):
-
-2010-05-11 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Body not redrawn, and filled with garbage on some composited pages
- https://bugs.webkit.org/show_bug.cgi?id=38951
- <rdar://problem/7891548>
-
- When the root layer becomes composited (for example, because a negative z-index
- descendant in its stacking context becomes composited), then it has to be made
- large enough to fill the viewport, because the page background draws into it.
-
- Test: compositing/geometry/composited-html-size.html
-
- * rendering/RenderLayerCompositor.cpp:
- (WebCore::RenderLayerCompositor::calculateCompositedBounds):
-
-2010-05-11 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Mark Rowe.
-
- https://bugs.webkit.org/show_bug.cgi?id=38961
- Move some member variables around to reduce class sizes.
-
- If a class inherits (directly or indirectly) from FastAllocBase, we don't want the first member variable
- of that class to also inherit (directly or indirectly) from FastAllocBase as this will add padding to the class
- and thus increasing its size.
-
- * css/CSSParserValues.h:
- * css/CSSSelector.h:
- (WebCore::CSSSelector::CSSSelector):
- (WebCore::CSSSelector::RareData::RareData):
- * platform/graphics/FontCache.cpp:
- (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
-
-2010-05-11 Dumitru Daniliuc <dumi@chromium.org>
-
- Reviewed by Adam Barth.
-
- Adding a function needed by the V8 code generator to turn on/off
- the binding for WorkerContext::openDatabaseSync().
- https://bugs.webkit.org/show_bug.cgi?id=38960
-
- * bindings/generic/RuntimeEnabledFeatures.cpp:
- (WebCore::RuntimeEnabledFeatures::openDatabaseSyncEnabled):
- * bindings/generic/RuntimeEnabledFeatures.h:
-
-2010-05-11 MORITA Hajime <morrita@google.com>
-
- Reviewed by Dirk Schulze.
-
- CSS SVG font doesn't recognize URL without element reference
- https://bugs.webkit.org/show_bug.cgi?id=37144
-
- CachedFont::getSVGFontById() did assume that element reference (ID) is given.
- So fixed to handle an empty or missing element reference. In which case,
- the first font element is returned if available.
-
- Test: svg/custom/svg-fonts-with-no-element-reference.html
-
- * loader/CachedFont.cpp:
- (WebCore::CachedFont::getSVGFontById):
-
-2010-05-11 Jer Noble <jer.noble@apple.com>
-
- No Review.
-
- Fix the Windows Debug Build: the correct VCProj variable to use when linking against
- JavaScriptCore is $(WebKitDLLConfigSuffix), not $(WebKitConfigSuffix), which expands
- to an empty string rather than "_debug".
-
- * WebCore.vcproj/QTMovieWin.vcproj:
-
-2010-05-11 Jer Noble <jer.noble@apple.com>
-
- Darin Adler.
-
- 19 media tests are crashing on Windows Release
- https://bugs.webkit.org/show_bug.cgi?id=38950
- rdar://problem/7971658
-
- Link against JavaScriptCore.lib instead of WTF.lib, so the free and malloc used by
- QTMovieWin is always the free and malloc in JavaScriptCore.dll.
-
- * WebCore.vcproj/QTMovieWin.vcproj:
-
-2010-05-11 Darin Adler <darin@apple.com>
-
- Reviewed by Beth Dakin.
-
- Another refactoring patch in preparation for a fix to
- https://bugs.webkit.org/show_bug.cgi?id=38871
- REGRESSION: Crash clicking background NPR tab after few minutes of sitting idle
-
- * dom/Document.cpp:
- (WebCore::Document::addMediaCanStartListener): Added.
- (WebCore::Document::removeMediaCanStartListener): Added.
-
- * dom/Document.h: Added add/removeMediaCanStartListener.
-
- * html/HTMLMediaElement.cpp:
- (WebCore::HTMLMediaElement::~HTMLMediaElement): Call removeMediaCanStartListener
- on the document instead of the page.
- (WebCore::HTMLMediaElement::willMoveToNewOwnerDocument): Call
- removeMediaCanStartListener on the current document.
- (WebCore::HTMLMediaElement::didMoveToNewOwnerDocument): Call
- addMediaCanStartListener on the new document.
- (WebCore::HTMLMediaElement::loadInternal): Call addMediaCanStartListener
- on the document instead of the page.
-
- * plugins/PluginView.cpp:
- (WebCore::PluginView::startOrAddToUnstartedList): Call addMediaCanStartListener
- on the document instead of the page.
- (WebCore::PluginView::~PluginView): Call removeMediaCanStartListener
- on the document instead of the page, and do it in line instead of calling
- a function.
-
- * plugins/PluginView.h: Removed unused removeFromUnstartedListIfNecessary.
-
-2010-05-11 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Steve Falkenburg and Jon Honeycutt.
- Patch by Gavin Barraclough.
-
- REGRESSION (r57900-57919): 3% PLT Regression from moving strings into WTF.
- https://bugs.webkit.org/show_bug.cgi?id=38930
- <rdar://problem/7937188>
-
- Add the WTF strings into the WebCore vcproj, from their copied location in $(WebKitOutputDir).
-
- No new tests because no change in behavior.
-
- * WebCore.vcproj/WebCore.vcproj:
-
-2010-05-11 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Darin Adler.
-
- Small re-factoring patch in preparation for fixing https://
- bugs.webkit.org/show_bug.cgi?id=38871 REGRESSION: Crash clicking
- background NPR tab after few minutes of sitting idle
-
- * page/Page.cpp:
- (WebCore::Page::takeAnyMediaCanStartListener):
- (WebCore::Page::setCanStartMedia):
- * page/Page.h:
-
-2010-05-11 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Brady Eidson.
-
- https://bugs.webkit.org/show_bug.cgi?id=37989
- Safari (still) doesn't always send basic credentials preemptively
-
- Test: http/tests/xmlhttprequest/basic-auth-default.html
-
- After fetching credentials from WebCore storage, put them back right away. This will add
- default credentials for the directory, since this may be the first time we learn about its
- associated protection space.
-
- * platform/network/cf/ResourceHandleCFNet.cpp:
- (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
- (WebCore::WebCoreSynchronousLoader::didReceiveChallenge):
- * platform/network/mac/ResourceHandleMac.mm:
- (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
- (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]):
-
-2010-05-11 Kevin Watters <kevinwatters@gmail.com>
-
- Reviewed by Kevin Ollivier.
-
- [wx] Create an NSFont on Mac builds that do not have built-in methods to do so.
- https://bugs.webkit.org/show_bug.cgi?id=38931
-
- * platform/graphics/wx/FontPlatformData.h:
- (WebCore::FontPlatformData::nsFont):
- * platform/graphics/wx/FontPlatformDataWxMac.mm:
- (DegToRad):
- (OSXCreateNSFont):
- (WebCore::FontPlatformData::cacheNSFont):
- * platform/graphics/wx/SimpleFontDataWx.cpp:
- (WebCore::SimpleFontData::platformWidthForGlyph):
-
-2010-05-11 Avi Drissman <avi@chromium.org>
-
- Reviewed by Darin Fisher.
-
- [Chromium] Pipe RTL info into WebPopupMenuInfo
- https://bugs.webkit.org/show_bug.cgi?id=38749
-
- * platform/chromium/PopupMenuChromium.cpp:
- (WebCore::PopupContainer::menuStyle):
- * platform/chromium/PopupMenuChromium.h:
-
-2010-05-11 Mark Rowe <mrowe@apple.com>
-
- Fix the world.
-
- In r59162 a change was made to WebCore's FeatureDefines.xcconfig that enabled FILE_READER and FILE_WRITER.
- The author and reviewer of that patch ignored the carefully-worded warning at the top of that file asking
- that changes to the file be kept in sync across JavaScriptCore, WebCore and WebKit, as well as being kept
- in sync with build-webkit. This led to WebCore and WebKit having different views of Document's vtable
- and results in crashes in Safari shortly after launch when virtual function calls resulted in the wrong
- function in WebCore being called.
-
- We fix this by bringing the FeatureDefines.xcconfig files in to sync. Based on the ChangeLog message and
- other changes in r59162 it appears that enabling FILE_WRITER was unintentional so that particular change
- has been reverted.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-05-11 Dimitri Glazkov <dglazkov@chromium.org>
-
- Reviewed by Darin Adler.
-
- REGRESSION(r58520): Implicit submission on forms with button type="submit" no longer works
- https://bugs.webkit.org/show_bug.cgi?id=38913
-
- * Widened the check for a successful submit button to include all HTMLFormControlElements.
- * Clarified implicit submission code by:
- - introducing HTMLFormControlElement::canTriggerImplicitSubmission flag,
- - getting rid of static casting and checking for tag names.
-
- * html/HTMLFormControlElement.h:
- (WebCore::HTMLFormControlElement::canTriggerImplicitSubmission): Added.
- * html/HTMLFormElement.cpp:
- (WebCore::HTMLFormElement::submitImplicitly): Renamed parameters for clarity, refactored code
- to use canTriggerImplicitSubmission.
- * html/HTMLFormElement.h: Renamed parameter for clarity.
- * html/HTMLInputElement.cpp:
- (WebCore::HTMLInputElement::defaultEventHandler): Used canTriggerImplicitSubmission()
- instead of isTextField() for clarity.
- * html/HTMLInputElement.h:
- (WebCore::HTMLInputElement::canTriggerImplicitSubmission): Added.
- * html/HTMLIsIndexElement.h:
- (WebCore::HTMLIsIndexElement::canTriggerImplicitSubmission): Added.
-
-2010-05-11 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r59171.
- http://trac.webkit.org/changeset/59171
- https://bugs.webkit.org/show_bug.cgi?id=38933
-
- "Broke the world" (Requested by bweinstein on #webkit).
-
- * WebCore.vcproj/WebCore.vcproj:
-
-2010-05-11 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Steve Falkenburg.
- Patch by Gavin Barraclough.
-
- REGRESSION (r57900-57919): 3% PLT Regression from moving strings into WTF.
- https://bugs.webkit.org/show_bug.cgi?id=38930
- <rdar://problem/7937188>
-
- Add the WTF strings into the WebCore vcproj, from their copied location in $(WebKitOutputDir).
-
- No new tests because no change in behavior.
-
- * WebCore.vcproj/WebCore.vcproj:
-
-2010-05-11 Jian Li <jianli@chromium.org>
-
- Unreviewed. Fix compiling erron on snow leopard.
-
- * html/FileThreadTask.h:
- (WebCore::createFileThreadTask):
-
-2010-05-11 Jian Li <jianli@chromium.org>
-
- Reviewed by Dmitry Titov.
-
- Expose FileReader interface.
- https://bugs.webkit.org/show_bug.cgi?id=38609
-
- Test: fast/files/file-reader.html
-
- * Configurations/FeatureDefines.xcconfig:
- * DerivedSources.cpp:
- * DerivedSources.make:
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pri:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/js/JSEventTarget.cpp:
- (WebCore::toJS):
- * bindings/v8/V8DOMWrapper.cpp:
- (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
- * html/FileError.idl:
- * html/FileReader.idl: Added.
- * page/DOMWindow.idl:
-
-2010-05-11 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- [gtk] critical warning in soup_message_set_first_party() when cancelling a navigation
- https://bugs.webkit.org/show_bug.cgi?id=38653
-
- Check if willSendRequest cancelled the request before setting the
- first party for the cookies in the message, otherwise we'll get a
- critical warning.
-
- * platform/network/soup/ResourceHandleSoup.cpp:
- (WebCore::restartedCallback):
-
-2010-05-11 Jer Noble <jer.noble@apple.com>
-
- Reviewed by Adele Peterson.
-
- REGRESSION (r59001): 11 media tests are failing on Windows (38847)
- rdar://problem/7962997
- https://bugs.webkit.org/show_bug.cgi?id=38847
-
- QTMovieWin was too much refactored; the cacheMovieScale() function should have
- been left in QTMovie (instead of being moved into QTMovieGWorld). This fixes the
- video-size-intrinsic-scale test.
-
- QTMovieTask::updateTaskTimer() was ignoring the maxInterval parameter unless
- QTGetTimeUntilNextTask() returned an error, which caused the next timer to be
- scheduled for extremely far in the future, breaking some of the layout tests.
-
- QTMovieTask::fireTaskClients() now makes a local copy of the task list before
- calling clients, in case one of them removes themselves from the task list and
- invalidates our iterating pointer.
-
- * platform/graphics/win/QTMovie.cpp:
- (QTMoviePrivate::task):
- (QTMoviePrivate::createMovieController):
- (QTMoviePrivate::cacheMovieScale):
- * platform/graphics/win/QTMovieGWorld.cpp:
- (QTMovieGWorldPrivate::movieLoadStateChanged):
- * platform/graphics/win/QTMovieTask.cpp:
- (QTMovieTask::updateTaskTimer):
- (QTMovieTask::fireTaskClients):
-
-2010-05-11 Patrick Gansterer <paroga@paroga.com>
-
- Reviewed by Adam Roben.
-
- Port SharedBuffer to WinCE.
- https://bugs.webkit.org/show_bug.cgi?id=37222
-
- Use only functions which are available on Win32 and WinCE.
-
- * platform/win/SharedBufferWin.cpp:
- (WebCore::SharedBuffer::createWithContentsOfFile):
-
-2010-05-11 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] fast/text/find-hidden-text.html
- https://bugs.webkit.org/show_bug.cgi?id=32922
-
- Use the real page step for populating the QStyleOption otherwhise
- the size can be negative, which can break the QStyle used.
-
- * platform/qt/ScrollbarThemeQt.cpp:
- (WebCore::styleOptionSlider):
-
-2010-05-11 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- Web Inspector: make styles rendering more user-friendly.
-
- https://bugs.webkit.org/show_bug.cgi?id=36747
-
- * inspector/front-end/ElementsPanel.js:
- (WebInspector.ElementsPanel):
- * inspector/front-end/StylesSidebarPane.js:
- (WebInspector.StylesSidebarPane.prototype._update):
- (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
- (WebInspector.ComputedStyleSidebarPane):
- (WebInspector.StylePropertiesSection):
- (WebInspector.StylePropertiesSection.prototype.collapse):
- (WebInspector.StylePropertiesSection.prototype.startEditingSelector):
- * inspector/front-end/inspector.css:
- (#elements-content):
- (#elements-sidebar):
- (.styles-sidebar-separator):
- (.styles-section):
- (.styles-section .header):
- (.styles-section .header .title):
- (.styles-section .header .subtitle):
- (.styles-section .header .subtitle a):
- (.styles-section .properties):
- (.styles-section.no-affect .properties li):
- (.styles-section.no-affect .properties li.editing):
- (.styles-section.expanded .properties):
- (.styles-section .properties li):
- (.styles-section .properties li.parent):
- (.styles-section .properties ol):
- (.styles-section .properties ol.expanded):
- (.styles-section .properties li.parent::before):
- (.styles-section .properties li.parent.expanded::before):
- (.styles-section .properties li .info):
- (.styles-section:hover .properties .enabled-button):
- (.styles-section .properties li.disabled .enabled-button):
- (.styles-section .properties .enabled-button):
- (.styles-section .properties .overloaded, .styles-section .properties .disabled):
- (.styles-section.computed-style .properties .disabled):
- (.styles-section .properties .implicit, .styles-section .properties .inherited):
- (.styles-section .properties .inherited):
- (.styles-section.show-inherited .properties .inherited):
-
-2010-05-11 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Reviewed by Dirk Schulze.
-
- Move buildLayoutInformationForTextBox() from SVGRootInlineBox in SVGInlineTextBox where it belongs
- https://bugs.webkit.org/show_bug.cgi?id=38799
-
- Cleanup SVGRootInlineBox/SVGInlineTextBox. Move buildLayoutInformationForTextBox to SVGInlineTextBox.
- Move lots of helper methods into new SVGTextLayoutUtilities class. Adapted all callsites.
-
- Fixed bug in kerning handling, hkern was applyable to vertical text as well. Covered by two new tests.
-
- Tests: svg/text/text-hkern-on-vertical-text.svg
- svg/text/text-vkern-on-horizontal-text.svg
-
- * Android.mk: Add SVGTextLayoutUtilities.cpp/h to build.
- * GNUmakefile.am: Ditto.
- * WebCore.gypi: Ditto.
- * WebCore.pro: Ditto.
- * WebCore.vcproj/WebCore.vcproj: Ditto.
- * WebCore.xcodeproj/project.pbxproj: Ditto.
- * rendering/SVGInlineTextBox.cpp:
- (WebCore::SVGInlineTextBox::calculateGlyphWidth): Use textRenderer()->characters() instead of textRenderer()->text()->characters() as shortcut.
- (WebCore::SVGInlineTextBox::svgCharacterHitsPosition): Fix style issue, no else if after a return branch.
- (WebCore::SVGInlineTextBox::paintSelection): Use !color.alpha() instead of color.alpha() == 0.
- (WebCore::SVGInlineTextBox::buildLayoutInformation): Moved from SVGRootInlineBox::buildLayoutInformationForTextBox.
- * rendering/SVGInlineTextBox.h: Fix indention.
- (WebCore::SVGInlineTextBox::selectionTop): Inlined.
- (WebCore::SVGInlineTextBox::selectionHeight): Inlined.
- * rendering/SVGRenderTreeAsText.cpp: Include SVGTextLayoutUtilities.h
- * rendering/SVGRootInlineBox.cpp: Move almost all static text layout helper functions in SVGTextLayoutUtilities
- (WebCore::calculateTextLengthCorrectionForTextChunk): Fixed style issue in long if conditions spanning multiple lines.
- (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation): Use different topLeftPositionOfCharacterRange() taking start/end iterators.
- (WebCore::SVGRootInlineBox::buildLayoutInformation): Use the moved SVGInlineTextBox::buildLayoutInformation() method.
- (WebCore::SVGRootInlineBox::buildTextChunks): Fixed small style issue, remove unneeded parenthesis.
- (WebCore::SVGRootInlineBox::layoutTextChunks): Fix style issue in debugging code.
- * rendering/SVGRootInlineBox.h: Rename 'LastGlyphInfo' to 'SVGLastGlyphInfo' and move to SVGTextLayoutUtilities.
- (WebCore::SVGRootInlineBox::svgTextChunks): Inlined for speed.
- * rendering/SVGTextLayoutUtilities.cpp: Added.
- (WebCore::isVerticalWritingMode):
- (WebCore::dominantBaselineToShift):
- (WebCore::alignmentBaselineToShift):
- (WebCore::glyphOrientationToAngle):
- (WebCore::glyphOrientationIsMultiplyOf180Degrees):
- (WebCore::applyGlyphAdvanceAndShiftRespectingOrientation):
- (WebCore::topLeftPositionOfCharacterRange):
- (WebCore::cummulatedWidthOfInlineBoxCharacterRange):
- (WebCore::cummulatedHeightOfInlineBoxCharacterRange):
- (WebCore::svgTextRunForInlineTextBox):
- (WebCore::calculateCSSKerning):
- (WebCore::applySVGKerning):
- * rendering/SVGTextLayoutUtilities.h: Added.
- (WebCore::):
- (WebCore::SVGTextPaintInfo::SVGTextPaintInfo):
- (WebCore::SVGLastGlyphInfo::SVGLastGlyphInfo):
-
-2010-05-11 Zoltan Herczeg <zherczeg@webkit.org>
-
- Reviewed by Dirk Schulze.
-
- RenderSVGImage::imageChanged should invalidate the SVG filter cache
- https://bugs.webkit.org/show_bug.cgi?id=38838
-
- Test: svg/filters/filteredImage.svg
-
- * rendering/RenderSVGImage.cpp:
- (WebCore::RenderSVGImage::imageChanged):
-
-2010-05-10 Simon Fraser <simon.fraser@apple.com>
-
- Fix asserting GTK build.
-
- r59137 changed the behavior of RenderObject::repaintUsingContainer(). I mistakenly
- thought that non-compositing builds would always pass a 0 repaintContainer, but
- actually the RenderView is passed in this case. So use this to repaint if
- ACCELERATED_COMPOSITING is turned off.
-
- * rendering/RenderObject.cpp:
- (WebCore::RenderObject::repaintUsingContainer):
-
-2010-05-10 Simon Fraser <simon.fraser@apple.com>
-
- Fix warning on Windows about unreachable code.
-
- * rendering/RenderLayerCompositor.cpp:
- (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame):
-
-2010-05-10 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Anders Carlsson
-
- Allow compositing layers to be connected across iframe boundaries on Mac
- https://bugs.webkit.org/show_bug.cgi?id=38856
-
- RenderObject::repaintUsingContainer() incorrectly did a view-based
- repaint if the repaint container was the RenderView. Instead, we need
- to check to see if the RenderView's layer is composited, and, if so,
- whether it's painting into the window or not. This can occur when iframes
- are composited.
-
- The bug is timing-sensitive, involving compositing in iframes, and I was not able to
- concoct a good testcase.
-
- * rendering/RenderObject.cpp:
- (WebCore::RenderObject::repaintUsingContainer):
-
-2010-05-10 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Anders Carlsson
-
- Allow compositing layers to be connected across iframe boundaries on Mac
- https://bugs.webkit.org/show_bug.cgi?id=38856
-
- Changes to allow compositing layers for iframes to switch between being hosted
- by the iframe's layer-backed NSView, and parented in the GraphicsLayer tree of the
- enclosing document.
-
- Tests: compositing/iframes/connect-compositing-iframe.html
- compositing/iframes/connect-compositing-iframe2.html
- compositing/iframes/connect-compositing-iframe3.html
-
- * page/FrameView.h:
- * page/FrameView.cpp:
- (WebCore::FrameView::hasCompositedContent): New convenience method.
- (WebCore::FrameView::setIsOverlapped): If we're composited, poke the owner document in case it
- wants to re-evaluate compositing decisions.
- (WebCore::FrameView::isOverlapped): Just expose the existing flag.
-
- * rendering/RenderLayer.cpp:
- (WebCore::RenderLayer::shouldBeNormalFlowOnly):
- (WebCore::RenderLayer::isSelfPaintingLayer):
-
- * rendering/RenderLayerBacking.cpp:
- (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): If this is an iframe, we need
- to ensure that the layers for the iframe content are hooked up.
- (WebCore::RenderLayerBacking::updateDrawsContent): When an iframe toggles between different
- attachments, the 'drawsContent' behavior of its root layer changes, so needs to be updated.
-
- * rendering/RenderLayerCompositor.h:
- (WebCore::RenderLayerCompositor::updateCompositingLayers): Call destroyRootPlatformLayer()
- instead of detachRootPlatformLayer() and manually zeroing out the OwnPtrs.
- (WebCore::RenderLayerCompositor::updateBacking): If a RenderIFrame changes compositing mode,
- we need to ensure that its content compositor attachment is updated.
- (WebCore::RenderLayerCompositor::repaintOnCompositingChange): The existing code had a bug
- that caused repaints for RenderViews (which have no parent) to bail. We only want to bail
- for non-RenderViews that are not attached.
- (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Factored the iframe-connecting
- code into a new method, parentIFrameContentLayers().
- (WebCore::RenderLayerCompositor::parentIFrameContentLayers): New method to share the code that hooks
- up the iframe's compositing layers to the parent.
- (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame): Add logic to propagate
- compositing out of iframes on Mac in two situations: 1) when the FrameView is overlapped, and 2)
- if the parent document is already composited.
- (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Clean up the logic here to better deal
- with dynamic changes of the attachment type.
- (WebCore::RenderLayerCompositor::destroyRootPlatformLayer): Clean up and null out the clipping layer here.
- (WebCore::RenderLayerCompositor::attachRootPlatformLayer): Call rootLayerAttachmentChanged().
- (WebCore::RenderLayerCompositor::detachRootPlatformLayer): Ditto. Also unparent the clipping and platform layers.
- (WebCore::RenderLayerCompositor::updateRootLayerAttachment): Call ensureRootPlatformLayer() to re-evaluate
- the layer attachment.
- (WebCore::RenderLayerCompositor::rootLayerAttachmentChanged): We need to update the drawsContent() status
- of the RenderView's layer's backing, because it changes depending on the attachment.
-
- * rendering/RenderWidget.cpp:
- (WebCore::RenderWidget::paint): Do overlap testing if the frameView can do fast repaints (as before),
- but also now when the frameView has composited content.
-
-2010-05-10 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Anders Carlsson
-
- Allow compositing layers to be connected across iframe boundaries on Mac
- https://bugs.webkit.org/show_bug.cgi?id=38856
-
- Rename the static shouldPropagateCompositingToIFrameParent() to shouldPropagateCompositingToEnclosingIFrame(),
- to pave the way for runtime switches in the propagation behavior. We have to make sure we call it on
- the correct RenderLayerCompositor (that belonging to the iframe's content document).
-
- * rendering/RenderLayerBacking.cpp:
- (WebCore::RenderLayerBacking::paintingGoesToWindow): Now that we know the root layer attachment, we
- can simplify this method.
-
- * rendering/RenderLayerCompositor.h:
- * rendering/RenderLayerCompositor.cpp:
- (WebCore::RenderLayerCompositor::enableCompositingMode): No need for the setNeedsStyleRecalc()
- here, because the ensureRootPlatformLayer() or destroyRootPlatformLayer() will have already done it.
-
- (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Use the root layer attachment to determine
- whether to parent the iframe's layers.
-
- (WebCore::RenderLayerCompositor::didMoveOnscreen): Method name change.
- (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame): Name change.
- (WebCore::RenderLayerCompositor::requiresCompositingForIFrame): We need to consult the iframe contents
- document's compositor to ask whether propagation is appropriate.
- (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Name change.
-
-2010-05-10 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Anders Carlsson
-
- Allow compositing layers to be connected across iframe boundaries on Mac
- https://bugs.webkit.org/show_bug.cgi?id=38856
-
- Use an enum for the type of root layer attachment on a RenderLayerCompositor, so we can
- determine if the attachment is via the ChromeClient, via an enclosing iframe, or unattached.
-
- * rendering/RenderLayerCompositor.h: New RootLayerAttachment enum.
- (WebCore::RenderLayerCompositor::rootLayerAttachment): getter for the current attachment.
-
- * rendering/RenderLayerCompositor.cpp:
- (WebCore::RenderLayerCompositor::RenderLayerCompositor): Init m_rootLayerAttachment.
- (WebCore::RenderLayerCompositor::~RenderLayerCompositor): Assert that is unattached.
- (WebCore::RenderLayerCompositor::updateCompositingLayers): Call destroyRootPlatformLayer instead of willMoveOffscreen,
- when there are no layers left. Also clear out the clipping layer.
- (WebCore::RenderLayerCompositor::didMoveOnscreen): Call attachRootPlatformLayer.
- (WebCore::RenderLayerCompositor::willMoveOffscreen): Call ensureRootPlatformLayer with the appropriate attachment.
- (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Only create the m_rootPlatformLayer if we don't have one
- already, but be sure to always set the root layer geometry orientation. Also only create the
- m_clippingLayer if we need to.
- (WebCore::RenderLayerCompositor::destroyRootPlatformLayer): Call detachRootPlatformLayer().
- (WebCore::RenderLayerCompositor::attachRootPlatformLayer): Code moved from didMoveOnscreen, but switching on
- attachment.
- (WebCore::RenderLayerCompositor::detachRootPlatformLayer): Code moved from willMoveOffscreen, but switching on
- attachment.
-
-2010-05-10 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Anders Carlsson
-
- Allow compositing layers to be connected across iframe boundaries on Mac
- https://bugs.webkit.org/show_bug.cgi?id=38856
-
- Clean up the geometry logic when propagating compositing out of iframes.
-
- * rendering/RenderLayerCompositor.cpp:
- (WebCore::RenderLayerCompositor::updateRootLayerPosition): Geometry on m_rootPlatformLayer no longer
- needs to be special when there's a clipping layer.
-
- (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Don't set the clipping layer to have
- flipped geometry ever, and only set the root layer to have flipped geometry if it is not
- being hosted in an iframe. Also no need to set a custom anchor point on the clipping layer.
-
-2010-05-10 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Anders Carlsson
-
- Allow compositing layers to be connected across iframe boundaries on Mac
- https://bugs.webkit.org/show_bug.cgi?id=38856
- Clean up some methods related to composited iframes. No behavioral changes.
+2010-05-31 Alexander Pavlov <apavlov@chromium.org>
- * rendering/RenderLayerBacking.h: Move innerRenderLayerCompositor() to be a static method:
- RenderLayerCompositor::iframeContentsCompositor().
- * rendering/RenderLayerBacking.cpp: Remove innerRenderLayerCompositor().
- (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Call iframeContentsCompositor().
-
- * rendering/RenderLayerCompositor.cpp:
- (WebCore::RenderLayerCompositor::enableCompositingMode): Call enclosingIFrameElement()
- (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): iframeContentsCompositor() is now a static method in this class.
- Also check that the iframe contents are in compositing mode (slightly clearer than relying on rootPlatformLayer() returning
- null).
- (WebCore::RenderLayerCompositor::iframeContentsCompositor): Moved from RenderLayerBacking.
- (WebCore::RenderLayerCompositor::didMoveOnscreen): Use enclosingIFrameElement() method.
- (WebCore::RenderLayerCompositor::willMoveOffscreen): Ditto.
- (WebCore::RenderLayerCompositor::enclosingIFrameElement): New method.
- (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Call enclosingIFrameElement().
- * rendering/RenderLayerCompositor.h: New method, iframeContentsCompositor().
-
-2010-05-10 Dumitru Daniliuc <dumi@chromium.org>
-
- Reviewed by Brady Eidson.
-
- Cleaning up and fixing the existing JSC DB bindings.
- https://bugs.webkit.org/show_bug.cgi?id=34994
-
- * bindings/js/JSDOMWindowCustom.cpp:
- (WebCore::JSDOMWindow::openDatabase):
- * bindings/js/JSDatabaseCustom.cpp:
- (WebCore::JSDatabase::changeVersion):
- (WebCore::createTransaction):
- (WebCore::JSDatabase::transaction):
- (WebCore::JSDatabase::readTransaction):
- * bindings/js/JSSQLTransactionCustom.cpp:
- (WebCore::JSSQLTransaction::executeSql):
-
-2010-05-10 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by Alexey Proskuryakov.
-
- WebSocket needs to suspend/resume as Active DOM object.
- https://bugs.webkit.org/show_bug.cgi?id=38171
-
- Implement suspend()/resume() in WebSocket and WebSocketChannel.
- While WebSocketChannel is suspended, it only adds received data in m_buffer
- or record the handle was closed, and report no event to WebSocket.
- When resumed, it will process buffer or handle closing.
- Since suspend/resume would be called while processing JavaScript event handler (e.g. before/after alert()), WebSocketChannel method that would fire an event need to be reentrant.
- So, WebSocketChannel::processBuffer() call WebSocket to fire an event at most once and skips buffer before the calling,
- so that next call of processBuffer() would process the next frame.
-
- * websockets/ThreadableWebSocketChannel.h:
- * websockets/ThreadableWebSocketChannelClientWrapper.h:
- (WebCore::ThreadableWebSocketChannelClientWrapper::didConnect):
- Mark channel is opened, and process pending events if not suspended.
- (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage):
- Push message back in pending queue, and process pending events if not suspended.
- (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
- Mark channel is closed, and process pending events if not suspended.
- (WebCore::ThreadableWebSocketChannelClientWrapper::suspend):
- Mark suspended.
- (WebCore::ThreadableWebSocketChannelClientWrapper::resume):
- Unmark suspended, and process pending events.
- (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
- (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingEvents):
- * websockets/WebSocket.cpp:
- (WebCore::WebSocket::canSuspend):
- (WebCore::WebSocket::suspend):
- (WebCore::WebSocket::resume):
- (WebCore::WebSocket::didClose):
- * websockets/WebSocket.h:
- * websockets/WebSocketChannel.cpp:
- (WebCore::WebSocketChannel::WebSocketChannel):
- (WebCore::WebSocketChannel::connect):
- (WebCore::WebSocketChannel::send):
- (WebCore::WebSocketChannel::bufferedAmount):
- (WebCore::WebSocketChannel::close):
- (WebCore::WebSocketChannel::suspend):
- (WebCore::WebSocketChannel::resume):
- When resumed, it will process buffer and
- handle closing if handle was already closed while suspended.
- (WebCore::WebSocketChannel::didClose):
- If suspended, record unhandled bufferedAmount and set m_closed true, so that closing will be processed when resumed.
- (WebCore::WebSocketChannel::didReceiveData):
- Add received data in buffer and process buffer while it is not suspended.
- (WebCore::WebSocketChannel::processBuffer):
- Process handshake header or one frame message.
- Return true if there are more data to be processed.
- Return false otherwise (e.g. incomplete handshake header or incomplete frame).
- * websockets/WebSocketChannel.h:
- * websockets/WorkerThreadableWebSocketChannel.cpp:
- (WebCore::WorkerThreadableWebSocketChannel::suspend):
- (WebCore::WorkerThreadableWebSocketChannel::resume):
- (WebCore::WorkerThreadableWebSocketChannel::Peer::suspend):
- (WebCore::WorkerThreadableWebSocketChannel::Peer::resume):
- (WebCore::WorkerThreadableWebSocketChannel::mainThreadSuspend):
- (WebCore::WorkerThreadableWebSocketChannel::Bridge::suspend):
- (WebCore::WorkerThreadableWebSocketChannel::mainThreadResume):
- (WebCore::WorkerThreadableWebSocketChannel::Bridge::resume):
- * websockets/WorkerThreadableWebSocketChannel.h:
-
-2010-05-07 Dumitru Daniliuc <dumi@chromium.org>
-
- Reviewed by Brady Eidson.
-
- Implement the JSC bindings for the sync DB API.
- https://bugs.webkit.org/show_bug.cgi?id=34994
-
- * bindings/js/JSDatabaseSyncCustom.cpp:
- (WebCore::JSDatabaseSync::changeVersion):
- (WebCore::createTransaction):
- * bindings/js/JSSQLTransactionSyncCustom.cpp:
- (WebCore::JSSQLTransactionSync::executeSql):
-
-2010-05-10 Dean Jackson <dino@apple.com>
-
- Reviewed by Simon Fraser.
-
- https://bugs.webkit.org/show_bug.cgi?id=36566
- The animation-fill-mode property was missing from
- a few places where the animation shorthand is set up.
-
- Test: animations/animation-shorthand-removed.html
-
- * css/CSSMutableStyleDeclaration.cpp:
- (WebCore::CSSMutableStyleDeclaration::getPropertyValue): Make sure
- animation-fill-mode is included in the animation shorthand
- * css/CSSPropertyLonghand.cpp:
- (WebCore::initShorthandMap):
-
-2010-05-10 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin Adler.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=38583
- <rdar://problem/7948784> Crash in Element::normalizeAttributes.
-
- Test: fast/dom/Element/normalize-crash.html
-
- * dom/Element.cpp:
- (WebCore::Element::normalizeAttributes): Copy attributes to a vector
- before iterating.
- * dom/NamedAttrMap.cpp:
- (WebCore::NamedNodeMap::copyAttributesToVector): Added.
- * dom/NamedAttrMap.h:
-
-2010-05-10 Jian Li <jianli@chromium.org>
-
- Reviewed by Adam Barth.
-
- [V8] Fix V8 code generator script to generate the correct code for
- converting ScriptString.
- https://bugs.webkit.org/show_bug.cgi?id=38873
-
- Updated the bindings test result. Note that the result is also updated
- to reflect other script generator changes not introduced by this patch.
-
- * bindings/scripts/CodeGeneratorV8.pm:
- * bindings/scripts/test/JS/JSTestCallback.cpp:
- (WebCore::JSTestCallback::JSTestCallback):
- (WebCore::JSTestCallback::~JSTestCallback):
- * bindings/scripts/test/JS/JSTestCallback.h:
- * bindings/scripts/test/V8/V8TestObj.cpp:
- (WebCore::TestObjInternal::scriptStringAttrAttrGetter):
-
-2010-05-10 Mark Rowe <mrowe@apple.com>
-
- Fix the 32-bit WebKit2 build.
-
- * WebCore.base.exp:
-
-2010-05-07 Jon Honeycutt <jhoneycutt@apple.com>
-
- Crash closing window containing Flash plug-in
- https://bugs.webkit.org/show_bug.cgi?id=38797
- <rdar://problem/7935266>
-
- Reviewed by Eric Seidel.
-
- Test: plugins/geturlnotify-during-document-teardown.html
-
- * plugins/PluginView.cpp:
- (WebCore::PluginView::load):
- Null check the DocumentLoader; it's possible for this to be null while
- the Document is being torn down and before the plug-in is destroyed.
-
-2010-05-10 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- Based on a patch by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=28697
- <rdar://problem/7946578> WebKit crash on WebCore::Node::nodeIndex()
-
- It's not OK to call ContainerNode::willRemoveChild() in a loop, because Range code assumes
- that it can adjust start and end position to any node except for the one being removed -
- so these notifications cannot be batched.
-
- Test: fast/dom/Range/remove-all-children-crash.html
-
- * dom/ContainerNode.cpp:
- (WebCore::willRemoveChild): Removed unused ExceptionCode.
- (WebCore::willRemoveChildren): New function, used in removeChildren() case.
- (WebCore::ContainerNode::removeChild): ExceptionCode return was always 0, don't bother with it.
- (WebCore::ContainerNode::removeChildren): Call willRemoveChildrenFromNode.
- (WebCore::dispatchChildRemovalEvents): Moved some logic out into willRemoveChildrenFromNode
- and willRemoveChild.
-
- * dom/Document.cpp:
- (WebCore::Document::nodeChildrenWillBeRemoved): New function, used in removeChildren() case.
-
- * dom/Document.h:
- (WebCore::Document::nodeChildrenWillBeRemoved): New function, used in removeChildren() case.
-
- * dom/Range.h:
- * dom/Range.cpp:
- (WebCore::boundaryNodeChildrenWillBeRemoved): New function, used in removeChildren() case.
- (WebCore::Range::nodeChildrenWillBeRemoved): Ditto.
+ Unreviewed, add a file not added in r60445.
-2010-05-10 Dumitru Daniliuc <dumi@chromium.org>
+ * inspector/front-end/TabbedPane.js: Added
- Reviewed by Adam Barth.
-
- Implement the V8 bindings for the sync DB API.
- https://bugs.webkit.org.show_bug.cgi?id=34994
-
- * bindings/v8/custom/V8DatabaseSyncCustom.cpp:
- (WebCore::V8DatabaseSync::changeVersionCallback):
- (WebCore::createTransaction):
- * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
- (WebCore::V8SQLTransactionSync::executeSqlCallback):
- * bindings/v8/custom/V8WorkerContextCustom.cpp:
- (WebCore::V8WorkerContextCustom::openDatabaseSyncCallback):
-
-2010-05-10 Dumitru Daniliuc <dumi@chromium.org>
-
- Reviewed by Adam Barth.
-
- Clean up and fix the existing V8 DB bindings.
- https://bugs.webkit.org/show_bug.cgi?id=34994
-
- * bindings/v8/custom/V8DOMWindowCustom.cpp:
- (WebCore::V8DOMWindow::openDatabaseCallback):
- * bindings/v8/custom/V8DatabaseCustom.cpp:
- (WebCore::V8Database::changeVersionCallback):
- (WebCore::createTransaction):
- * bindings/v8/custom/V8SQLTransactionCustom.cpp:
- (WebCore::V8SQLTransaction::executeSqlCallback):
-
-2010-05-10 Kevin Ollivier <kevino@theolliviers.com>
-
- [wx] Build fix for wx 2.8 after complex text changes.
-
- * platform/graphics/wx/FontPlatformDataWxMac.mm:
- (WebCore::FontPlatformData::nsFont):
- * platform/graphics/wx/SimpleFontDataWx.cpp:
- (WebCore::SimpleFontData::platformWidthForGlyph):
-
-2010-05-10 John Gregg <johnnyg@google.com>
-
- [chromium] Try to fix the chromium build after r59085 by
- including MathExtras.h before using isnan().
- https://bugs.webkit.org/show_bug.cgi?id=38860
-
- * html/canvas/WebGLIntegralTypedArrayBase.h:
-
-2010-05-10 Kevin Ollivier <kevino@theolliviers.com>
-
- [wx] Build fix for wx trunk after complex text changes.
-
- * platform/graphics/wx/FontPlatformDataWx.cpp:
- (WebCore::FontPlatformData::FontPlatformData):
-
-2010-05-10 Tony Gentilcore <tonyg@chromium.org>
-
- Reviewed by Adam Barth.
-
- Provide mechanism to cache metadata for a resource
- https://bugs.webkit.org/show_bug.cgi?id=37874
-
- No new tests because no new functionality.
-
- * WebCore.gypi:
- * loader/CachedMetadata.h: Added.
- (WebCore::CachedMetadata::create):
- (WebCore::CachedMetadata::deserialize):
- (WebCore::CachedMetadata::serialize):
- (WebCore::CachedMetadata::~CachedMetadata):
- (WebCore::CachedMetadata::dataTypeID):
- (WebCore::CachedMetadata::data):
- (WebCore::CachedMetadata::size):
- (WebCore::CachedMetadata::readUnsigned):
- (WebCore::CachedMetadata::appendUnsigned):
- (WebCore::CachedMetadata::CachedMetadata):
- * loader/CachedResource.cpp:
- (WebCore::CachedResource::setSerializedCachedMetadata):
- (WebCore::CachedResource::setCachedMetadata):
- (WebCore::CachedResource::cachedMetadata):
- * loader/CachedResource.h:
- * loader/ResourceLoader.h:
- (WebCore::ResourceLoader::didReceiveCachedMetadata):
- * loader/SubresourceLoader.cpp:
- (WebCore::SubresourceLoader::didReceiveCachedMetadata):
- * loader/SubresourceLoader.h:
- * loader/SubresourceLoaderClient.h:
- (WebCore::SubresourceLoaderClient::didReceiveCachedMetadata):
- * loader/loader.cpp:
- (WebCore::Loader::Host::didReceiveCachedMetadata):
- * loader/loader.h:
- * platform/network/ResourceHandle.cpp:
- (WebCore::ResourceHandle::cacheMetadata):
- * platform/network/ResourceHandle.h:
- * platform/network/ResourceHandleClient.h:
- (WebCore::ResourceHandleClient::didReceiveCachedMetadata):
-
-2010-05-09 Kenneth Russell <kbr@google.com>
-
- Reviewed by Dimitri Glazkov.
-
- Refactor WebGLArray types to share more code
- https://bugs.webkit.org/show_bug.cgi?id=37712
-
- Refactored WebGLArray types for maximal code sharing. Added
- WebGLTypedArrayBase and WebGLIntegralTypedArrayBase template
- superclasses. Changed overridden virtuals to have minimal
- visibility (private instead of public). Fixed const correctness of
- a few methods. There are no changes to the public APIs of the
- WebGLArray classes; the JavaScript bindings are unchanged.
-
- No new tests; existing tests cover this functionality. Ran all
- WebGL layout tests in Safari and Chromium on Mac OS X.
-
- * WebCore.gypi:
- * WebCore.xcodeproj/project.pbxproj:
- * html/canvas/WebGLArray.h:
- (WebCore::WebGLArray::buffer):
- (WebCore::WebGLArray::baseAddress):
- (WebCore::WebGLArray::byteOffset):
- * html/canvas/WebGLByteArray.cpp:
- (WebCore::WebGLByteArray::create):
- (WebCore::WebGLByteArray::WebGLByteArray):
- (WebCore::WebGLByteArray::slice):
- * html/canvas/WebGLByteArray.h:
- (WebCore::WebGLByteArray::isByteArray):
- * html/canvas/WebGLFloatArray.cpp:
- (WebCore::WebGLFloatArray::create):
- (WebCore::WebGLFloatArray::WebGLFloatArray):
- (WebCore::WebGLFloatArray::slice):
- * html/canvas/WebGLFloatArray.h:
- (WebCore::WebGLFloatArray::set):
- (WebCore::WebGLFloatArray::item):
- (WebCore::WebGLFloatArray::isFloatArray):
- * html/canvas/WebGLIntArray.cpp:
- (WebCore::WebGLIntArray::create):
- (WebCore::WebGLIntArray::WebGLIntArray):
- (WebCore::WebGLIntArray::slice):
- * html/canvas/WebGLIntArray.h:
- (WebCore::WebGLIntArray::isIntArray):
- * html/canvas/WebGLIntegralTypedArrayBase.h: Added.
- (WebCore::WebGLIntegralTypedArrayBase::set):
- (WebCore::WebGLIntegralTypedArrayBase::item):
- (WebCore::WebGLIntegralTypedArrayBase::WebGLIntegralTypedArrayBase):
- * html/canvas/WebGLShortArray.cpp:
- (WebCore::WebGLShortArray::create):
- (WebCore::WebGLShortArray::WebGLShortArray):
- (WebCore::WebGLShortArray::slice):
- * html/canvas/WebGLShortArray.h:
- (WebCore::WebGLShortArray::isShortArray):
- * html/canvas/WebGLTypedArrayBase.h: Added.
- (WebCore::WebGLTypedArrayBase::data):
- (WebCore::WebGLTypedArrayBase::set):
- (WebCore::WebGLTypedArrayBase::length):
- (WebCore::WebGLTypedArrayBase::WebGLTypedArrayBase):
- (WebCore::WebGLTypedArrayBase::create):
- (WebCore::WebGLTypedArrayBase::sliceImpl):
- (WebCore::WebGLTypedArrayBase::byteLength):
- * html/canvas/WebGLUnsignedByteArray.cpp:
- (WebCore::WebGLUnsignedByteArray::create):
- (WebCore::WebGLUnsignedByteArray::WebGLUnsignedByteArray):
- (WebCore::WebGLUnsignedByteArray::slice):
- * html/canvas/WebGLUnsignedByteArray.h:
- (WebCore::WebGLUnsignedByteArray::isUnsignedByteArray):
- * html/canvas/WebGLUnsignedIntArray.cpp:
- (WebCore::WebGLUnsignedIntArray::create):
- (WebCore::WebGLUnsignedIntArray::WebGLUnsignedIntArray):
- (WebCore::WebGLUnsignedIntArray::slice):
- * html/canvas/WebGLUnsignedIntArray.h:
- (WebCore::WebGLUnsignedIntArray::isUnsignedIntArray):
- * html/canvas/WebGLUnsignedShortArray.cpp:
- (WebCore::WebGLUnsignedShortArray::create):
- (WebCore::WebGLUnsignedShortArray::WebGLUnsignedShortArray):
- (WebCore::WebGLUnsignedShortArray::slice):
- * html/canvas/WebGLUnsignedShortArray.h:
- (WebCore::WebGLUnsignedShortArray::isUnsignedShortArray):
-
-2010-05-10 Kenneth Russell <kbr@google.com>
-
- Reviewed by Dimitri Glazkov.
-
- Refactor WebGLArray types to share more code
- https://bugs.webkit.org/show_bug.cgi?id=37712
-
- Refactored WebGLArray types for maximal code sharing. Added
- WebGLTypedArrayBase and WebGLIntegralTypedArrayBase template
- superclasses. Changed overridden virtuals to have minimal
- visibility (private instead of public). Fixed const correctness of
- a few methods. There are no changes to the public APIs of the
- WebGLArray classes; the JavaScript bindings are unchanged.
-
- No new tests; existing tests cover this functionality. Ran all
- WebGL layout tests in Safari and Chromium on Mac OS X.
-
- * WebCore.gypi:
- * WebCore.xcodeproj/project.pbxproj:
- * html/canvas/WebGLArray.h:
- (WebCore::WebGLArray::buffer):
- (WebCore::WebGLArray::baseAddress):
- (WebCore::WebGLArray::byteOffset):
- * html/canvas/WebGLByteArray.cpp:
- (WebCore::WebGLByteArray::create):
- (WebCore::WebGLByteArray::WebGLByteArray):
- (WebCore::WebGLByteArray::slice):
- * html/canvas/WebGLByteArray.h:
- (WebCore::WebGLByteArray::isByteArray):
- * html/canvas/WebGLFloatArray.cpp:
- (WebCore::WebGLFloatArray::create):
- (WebCore::WebGLFloatArray::WebGLFloatArray):
- (WebCore::WebGLFloatArray::slice):
- * html/canvas/WebGLFloatArray.h:
- (WebCore::WebGLFloatArray::set):
- (WebCore::WebGLFloatArray::item):
- (WebCore::WebGLFloatArray::isFloatArray):
- * html/canvas/WebGLIntArray.cpp:
- (WebCore::WebGLIntArray::create):
- (WebCore::WebGLIntArray::WebGLIntArray):
- (WebCore::WebGLIntArray::slice):
- * html/canvas/WebGLIntArray.h:
- (WebCore::WebGLIntArray::isIntArray):
- * html/canvas/WebGLIntegralTypedArrayBase.h: Added.
- (WebCore::WebGLIntegralTypedArrayBase::set):
- (WebCore::WebGLIntegralTypedArrayBase::item):
- (WebCore::WebGLIntegralTypedArrayBase::WebGLIntegralTypedArrayBase):
- * html/canvas/WebGLShortArray.cpp:
- (WebCore::WebGLShortArray::create):
- (WebCore::WebGLShortArray::WebGLShortArray):
- (WebCore::WebGLShortArray::slice):
- * html/canvas/WebGLShortArray.h:
- (WebCore::WebGLShortArray::isShortArray):
- * html/canvas/WebGLTypedArrayBase.h: Added.
- (WebCore::WebGLTypedArrayBase::data):
- (WebCore::WebGLTypedArrayBase::set):
- (WebCore::WebGLTypedArrayBase::length):
- (WebCore::WebGLTypedArrayBase::WebGLTypedArrayBase):
- (WebCore::WebGLTypedArrayBase::create):
- (WebCore::WebGLTypedArrayBase::sliceImpl):
- (WebCore::WebGLTypedArrayBase::byteLength):
- * html/canvas/WebGLUnsignedByteArray.cpp:
- (WebCore::WebGLUnsignedByteArray::create):
- (WebCore::WebGLUnsignedByteArray::WebGLUnsignedByteArray):
- (WebCore::WebGLUnsignedByteArray::slice):
- * html/canvas/WebGLUnsignedByteArray.h:
- (WebCore::WebGLUnsignedByteArray::isUnsignedByteArray):
- * html/canvas/WebGLUnsignedIntArray.cpp:
- (WebCore::WebGLUnsignedIntArray::create):
- (WebCore::WebGLUnsignedIntArray::WebGLUnsignedIntArray):
- (WebCore::WebGLUnsignedIntArray::slice):
- * html/canvas/WebGLUnsignedIntArray.h:
- (WebCore::WebGLUnsignedIntArray::isUnsignedIntArray):
- * html/canvas/WebGLUnsignedShortArray.cpp:
- (WebCore::WebGLUnsignedShortArray::create):
- (WebCore::WebGLUnsignedShortArray::WebGLUnsignedShortArray):
- (WebCore::WebGLUnsignedShortArray::slice):
- * html/canvas/WebGLUnsignedShortArray.h:
- (WebCore::WebGLUnsignedShortArray::isUnsignedShortArray):
-
-2010-05-10 Brent Fulgham <bfulgham@webkit.org>
-
- Build fix, not reviewed.
-
- Correct post-build copy command for WinCairo port to make sure
- cairo headers are available for WebKit.dll build.
-
- * WebCore.vcproj/WebCore.vcproj:
-
-2010-05-10 Dirk Schulze <krit@webkit.org>
-
- Reviewed by Nikolas Zimmermann.
-
- Further optimization for SVG's repaintRect calculation
- https://bugs.webkit.org/show_bug.cgi?id=38820
-
- This is a further optimization to get smaller repaintRects on SVG objects
- in combination with masker or clipper resources.
- Masker takes the unite of all stroke boundaries of it's childs.
- Both, clipper and masker, store this union to avoid multiple calls of the childs
- and the unite calculations now.
- The unite rect can be transformed to any targets objectBoundingBox, if the content
- unit of the resource is set to objectBoundingBoxMode.
- This speeds up the use of resources with multiple target objects.
-
- No behavior changes, the smaller repaintRects cause updates for DRT results.
-
- * rendering/RenderSVGResource.h:
- * rendering/RenderSVGResourceClipper.cpp:
- (WebCore::RenderSVGResourceClipper::invalidateClients):
- (WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect):
- (WebCore::RenderSVGResourceClipper::resourceBoundingBox):
- * rendering/RenderSVGResourceClipper.h:
- * rendering/RenderSVGResourceFilter.cpp:
- (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
- * rendering/RenderSVGResourceFilter.h:
- * rendering/RenderSVGResourceGradient.h:
- (WebCore::RenderSVGResourceGradient::resourceBoundingBox):
- * rendering/RenderSVGResourceMarker.h:
- (WebCore::RenderSVGResourceMarker::resourceBoundingBox):
- * rendering/RenderSVGResourceMasker.cpp:
- (WebCore::RenderSVGResourceMasker::invalidateClients):
- (WebCore::RenderSVGResourceMasker::createMaskImage):
- (WebCore::RenderSVGResourceMasker::calculateMaskContentRepaintRect):
- (WebCore::RenderSVGResourceMasker::resourceBoundingBox):
- * rendering/RenderSVGResourceMasker.h:
- * rendering/RenderSVGResourcePattern.h:
- (WebCore::RenderSVGResourcePattern::resourceBoundingBox):
- * rendering/RenderSVGResourceSolidColor.h:
- (WebCore::RenderSVGResourceSolidColor::resourceBoundingBox):
-
-2010-05-11 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- WebInspector: Cosmetic changes.
- 1) Inner Function Call event of Timer Fire should be merged into parent even if it is not the only child.
- 2) Standard tooltips for resource links are clashing with Popover.
- 3) Recalculate Style caller info are duplicating in Details Popover (Caller and Details rows).
- https://bugs.webkit.org/show_bug.cgi?id=38732
-
- * inspector/front-end/TimelinePanel.js:
- (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
- (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
- (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
- * inspector/front-end/inspector.js:
- (WebInspector.linkifyURLAsNode):
-
-2010-05-10 Csaba Osztrogonác <ossy@webkit.org>
-
- Rubber-stamped by Simon Hausmann.
-
- [Qt] Roll-out r59020 and r59021, because the Qt part of these changes
- haven't been landed in Qt trunk yet. Should be rolled-in again after the merge.
-
- https://bugs.webkit.org/show_bug.cgi?id=32967
-
- * platform/network/qt/ResourceRequestQt.cpp:
- (WebCore::ResourceRequest::toNetworkRequest):
-
-2010-05-10 Markus Goetz <Markus.Goetz@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Qt after 4.6.3 has its integrated DNS cache. Therefore some
- code is not necessary anymore.
-
- https://bugs.webkit.org/show_bug.cgi?id=38834
-
- * platform/network/qt/DnsPrefetchHelper.h:
- (WebCore::DnsPrefetchHelper::lookup):
- (WebCore::DnsPrefetchHelper::lookedUp):
-
-2010-05-10 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Darin Adler.
-
- Asserted that Node::setDocument() is not being used to change
- the document of a node.
-
- https://bugs.webkit.org/show_bug.cgi?id=38821
-
- * dom/Node.cpp:
- (WebCore::Node::setDocument):
- Added an ASSERT at the beginning of the function.
- * dom/Node.h:
- Documented that Node::setDocument() should not be used to change the
- document of a node until after the node has been removed from its
- prior document.
-
-2010-05-10 Dirk Schulze <krit@webkit.org>
-
- Reviewed by Darin Adler.
-
- SVG FilterEffects need more detailed DRT information
- https://bugs.webkit.org/show_bug.cgi?id=38683
-
- All SVG Filter effects get dumped now. The structure of the DRT output
- changed. The last effect is shown first, followed by the previous effects.
-
- No changed behaior, so no new test added.
-
- * platform/graphics/filters/FEBlend.cpp:
- (WebCore::operator<<):
- (WebCore::FEBlend::externalRepresentation):
- * platform/graphics/filters/FEBlend.h:
- * platform/graphics/filters/FEColorMatrix.cpp:
- (WebCore::operator<<):
- (WebCore::FEColorMatrix::externalRepresentation):
- * platform/graphics/filters/FEColorMatrix.h:
- * platform/graphics/filters/FEComponentTransfer.cpp:
- (WebCore::operator<<):
- (WebCore::FEComponentTransfer::externalRepresentation):
- * platform/graphics/filters/FEComponentTransfer.h:
- * platform/graphics/filters/FEComposite.cpp:
- (WebCore::operator<<):
- (WebCore::FEComposite::externalRepresentation):
- * platform/graphics/filters/FEComposite.h:
- (WebCore::):
- (WebCore::FEComposite::uniteChildEffectSubregions):
- * platform/graphics/filters/FEGaussianBlur.cpp:
- (WebCore::FEGaussianBlur::externalRepresentation):
- * platform/graphics/filters/FEGaussianBlur.h:
- (WebCore::FEGaussianBlur::uniteChildEffectSubregions):
- * platform/graphics/filters/FilterEffect.cpp:
- (WebCore::FilterEffect::externalRepresentation):
- * platform/graphics/filters/FilterEffect.h:
- * platform/graphics/filters/SourceAlpha.cpp:
- (WebCore::SourceAlpha::externalRepresentation):
- * platform/graphics/filters/SourceAlpha.h:
- * platform/graphics/filters/SourceGraphic.cpp:
- (WebCore::SourceGraphic::externalRepresentation):
- * platform/graphics/filters/SourceGraphic.h:
- * rendering/RenderTreeAsText.cpp:
- (WebCore::writeIndent):
- * rendering/RenderTreeAsText.h:
- * rendering/SVGRenderTreeAsText.cpp:
- (WebCore::writeSVGResourceContainer):
- * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
- (WebCore::operator<<):
- (WebCore::FEConvolveMatrix::externalRepresentation):
- * svg/graphics/filters/SVGFEConvolveMatrix.h:
- * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
- (WebCore::FEDiffuseLighting::externalRepresentation):
- * svg/graphics/filters/SVGFEDiffuseLighting.h:
- * svg/graphics/filters/SVGFEDisplacementMap.cpp:
- (WebCore::operator<<):
- (WebCore::FEDisplacementMap::externalRepresentation):
- * svg/graphics/filters/SVGFEDisplacementMap.h:
- * svg/graphics/filters/SVGFEFlood.cpp:
- (WebCore::FEFlood::externalRepresentation):
- * svg/graphics/filters/SVGFEFlood.h:
- * svg/graphics/filters/SVGFEImage.cpp:
- (WebCore::FEImage::externalRepresentation):
- * svg/graphics/filters/SVGFEImage.h:
- * svg/graphics/filters/SVGFEMerge.cpp:
- (WebCore::FEMerge::externalRepresentation):
- * svg/graphics/filters/SVGFEMerge.h:
- * svg/graphics/filters/SVGFEMorphology.cpp:
- (WebCore::operator<<):
- (WebCore::FEMorphology::externalRepresentation):
- * svg/graphics/filters/SVGFEMorphology.h:
- * svg/graphics/filters/SVGFEOffset.cpp:
- (WebCore::FEOffset::externalRepresentation):
- * svg/graphics/filters/SVGFEOffset.h:
- * svg/graphics/filters/SVGFESpecularLighting.cpp:
- (WebCore::FESpecularLighting::externalRepresentation):
- * svg/graphics/filters/SVGFESpecularLighting.h:
- * svg/graphics/filters/SVGFETile.cpp:
- (WebCore::FETile::externalRepresentation):
- * svg/graphics/filters/SVGFETile.h:
- * svg/graphics/filters/SVGFETurbulence.cpp:
- (WebCore::operator<<):
- (WebCore::FETurbulence::externalRepresentation):
- * svg/graphics/filters/SVGFETurbulence.h:
-
-2010-05-10 Jeremy Orlow <jorlow@chromium.org>
-
- Reviewed by Nate Chapin.
-
- Change IndexedDB to use events instead of callbacks
- https://bugs.webkit.org/show_bug.cgi?id=38594
-
- Switch IndexedDB over to an event based model to match what
- Mozilla (and probably MS?) are doing. This also gets rid of
- a lot of template mess at the expense of a little extra boiler
- plate code (for each type that IDBResult.result could be).
-
- This change also introduces JSC bindings that match the level of
- functionality the V8 bindings have.
-
- Still not testable, but that shoudl change shortly.
-
- * DerivedSources.cpp:
- * DerivedSources.make:
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pri:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/js/JSEventCustom.cpp:
- * bindings/js/JSIDBRequestCustom.cpp: Added.
- (WebCore::JSIDBRequest::result):
- * bindings/v8/V8DOMWrapper.cpp:
- (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
- * bindings/v8/custom/V8CustomIDBCallbacks.h: Removed.
- * bindings/v8/custom/V8IDBRequestCustom.cpp: Added.
- (WebCore::V8IDBRequest::resultAccessorGetter):
- * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp: Removed.
- * dom/EventTarget.cpp:
- (WebCore::EventTarget::toIDBRequest):
- * dom/EventTarget.h:
- * storage/IDBCallbacks.h:
- * storage/IDBDatabaseRequest.h:
- (WebCore::IDBDatabaseRequest::createObjectStore):
- * storage/IDBRequest.cpp: Added.
- (WebCore::IDBRequest::IDBRequest):
- (WebCore::IDBRequest::~IDBRequest):
- (WebCore::IDBRequest::idbDatabaseResult):
- (WebCore::IDBRequest::serializedScriptValueResult):
- (WebCore::IDBRequest::onError):
- (WebCore::IDBRequest::onSuccess):
- (WebCore::IDBRequest::abort):
- (WebCore::IDBRequest::scriptExecutionContext):
- (WebCore::IDBRequest::stop):
- (WebCore::IDBRequest::suspend):
- (WebCore::IDBRequest::resume):
- (WebCore::IDBRequest::eventTargetData):
- (WebCore::IDBRequest::ensureEventTargetData):
- (WebCore::IDBRequest::timerFired):
- (WebCore::IDBRequest::onEventCommon):
- * storage/IDBRequest.h: Added.
- (WebCore::IDBRequest::create):
- (WebCore::IDBRequest::):
- (WebCore::IDBRequest::resultType):
- (WebCore::IDBRequest::readyState):
- (WebCore::IDBRequest::error):
- (WebCore::IDBRequest::toIDBRequest):
- (WebCore::IDBRequest::refEventTarget):
- (WebCore::IDBRequest::derefEventTarget):
- * storage/IDBRequest.idl: Added.
- * storage/IndexedDatabase.h:
- * storage/IndexedDatabaseImpl.cpp:
- (WebCore::IndexedDatabaseImpl::open):
- * storage/IndexedDatabaseImpl.h:
- * storage/IndexedDatabaseRequest.cpp:
- (WebCore::IndexedDatabaseRequest::open):
- * storage/IndexedDatabaseRequest.h:
- * storage/IndexedDatabaseRequest.idl:
-
-2010-05-10 Ilya Tikhonovsky <loislo@chromium.org>
-
- Not reviewed: rollback the commit r59062
-
- * inspector/front-end/TimelinePanel.js:
- (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
- (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
- (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
- * inspector/front-end/inspector.js:
- (WebInspector.linkifyURLAsNode):
-
-2010-05-10 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- WebInspector: Cosmetic changes.
- 1) Inner Function Call event of Timer Fire should be merged into parent even if it is not the only child.
- 2) Standard tooltips for resource links are clashing with Popover.
- 3) Recalculate Style caller info are duplicating in Details Popover (Caller and Details rows).
- https://bugs.webkit.org/show_bug.cgi?id=38732
-
- * inspector/front-end/TimelinePanel.js:
- (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
- (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
- (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
- * inspector/front-end/inspector.js:
- (WebInspector.linkifyURLAsNode):
-
-2010-05-08 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- WebInspector: If some record is not in visible area then it's expand element also is not
- visible even if it has children in visible area.
- https://bugs.webkit.org/show_bug.cgi?id=38643
-
- * inspector/front-end/TimelinePanel.js:
- (WebInspector.TimelinePanel):
- (WebInspector.TimelinePanel.prototype._refreshRecords):
-
-2010-05-07 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin Adler.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=38557
- r58526 introduced a ~30% regression on Dromaeo JS lib
-
- This fix does two things.
- - Don't use QualifiedName as the key to a HashMap, use a
- RefPtr<QualifiedNameImpl> instead. We should remove the HashTraits for
- QualifiedName and that will happen in a follow up patch.
- - Only mark cached NodeLists on Documents instead of all Nodes. This is
- okay since the marking of NodeLists is an optimization to keep NodeList
- wrappers alive and is not mandated by any spec.
-
- * bindings/js/JSDocumentCustom.cpp:
- (WebCore::JSDocument::markChildren):
- * bindings/js/JSNodeCustom.cpp:
- (WebCore::JSNode::markChildren):
- * dom/Node.cpp:
- (WebCore::Node::removeCachedTagNodeList):
- (WebCore::Node::getElementsByTagNameNS):
- * dom/NodeRareData.h:
-
-2010-05-08 Antonio Gomes <tonikitoo@webkit.org>
-
- Unreviewed attempt to fix Windows build.
-
- * page/SpatialNavigation.h:
- (WebCore::fudgeFactor):
-
-2010-05-03 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Kenneth Christiansen.
-
- Spatial Navigation: create a getter for the "fudgeFactor"
- https://bugs.webkit.org/show_bug.cgi?id=38488
-
- A couple of places in the Spatial Navigation code make use of a "fudge factor"
- to improve precision by working around outline focus metrics and such. Patch adds
- a helper method for unify getter operations of this value, instead of having it
- declared locally in the various methods it is used.
-
- No behaviour change.
-
- * page/SpatialNavigation.cpp:
- (WebCore::scrollIntoView):
- (WebCore::deflateIfOverlapped):
- * page/SpatialNavigation.h:
- (WebCore::fudgeFactor):
-
-2010-05-08 Stuart Morgan <stuartmorgan@chromium.org>
-
- Reviewed by Darin Adler.
-
- Change the npapi.h header guards to match the npapi-headers repository
- copy.
-
- https://bugs.webkit.org/show_bug.cgi?id=38666
-
- * bridge/npapi.h:
-
-2010-05-08 Stuart Morgan <stuartmorgan@chromium.org>
-
- Reviewed by Darin Fisher.
-
- Resolve most of the whitespace/comment/order differences in npapi.h
- and npruntime.h relative to the npapi-headers repository versions.
- No changes to the substance of the code.
-
- https://bugs.webkit.org/show_bug.cgi?id=38666
-
- * bridge/npapi.h:
- (_NPPrint::):
- (_NPCocoaEvent::):
- * bridge/npruntime.h:
-
-2010-05-08 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Darin Adler.
-
- Fix guard around IndexedDatabase
- https://bugs.webkit.org/show_bug.cgi?id=38710
-
- No new tests, there is no new functionality.
-
- * page/PageGroup.h:
-
-2010-05-08 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Platform plugin
- https://bugs.webkit.org/show_bug.cgi?id=38438
-
- Select popups delegate private API. To provide select popup delegates
- a plugin that implements QWebKitPlatformPlugin must be found
- in QCoreApplication::libraryPaths.
-
- * WebCore.pro:
-
-2010-05-08 Leandro Pereira <leandro@profusion.mobi>
+2010-05-31 Martin Robinson <mrobinson@igalia.com>
Reviewed by Gustavo Noronha Silva.
- [EFL] It does not make sense to use RenderThemeEfl::RenderThemeEfl, so
- use RenderThemeEfl (GCC 4.5 seems to be pickier about this).
- http://webkit.org/b/38770
-
- * platform/efl/RenderThemeEfl.cpp:
- (WebCore::renderThemeEflColorClassSelectionActive):
- (WebCore::renderThemeEflColorClassSelectionInactive):
- (WebCore::renderThemeEflColorClassFocusRing):
- (WebCore::renderThemeEflColorClassButtonText):
- (WebCore::renderThemeEflColorClassComboText):
- (WebCore::renderThemeEflColorClassEntryText):
- (WebCore::renderThemeEflColorClassSearchText):
- (WebCore::RenderThemeEfl::adjustCheckboxStyle):
- (WebCore::RenderThemeEfl::adjustRadioStyle):
- (WebCore::RenderThemeEfl::adjustButtonStyle):
- (WebCore::RenderThemeEfl::adjustMenuListStyle):
- (WebCore::RenderThemeEfl::adjustTextFieldStyle):
- (WebCore::RenderThemeEfl::adjustSearchFieldDecorationStyle):
- (WebCore::RenderThemeEfl::adjustSearchFieldResultsButtonStyle):
- (WebCore::RenderThemeEfl::adjustSearchFieldResultsDecorationStyle):
- (WebCore::RenderThemeEfl::adjustSearchFieldCancelButtonStyle):
- (WebCore::RenderThemeEfl::adjustSearchFieldStyle):
-
-2010-05-08 Leandro Pereira <leandro@profusion.mobi>
-
- Reviewed by Gustavo Noronha Silva.
-
- ResourceHandleSoup should depend only on GLib, not on GTK+.
- http://webkit.org/b/38763
-
- * platform/network/soup/ResourceHandleSoup.cpp: Include glib.h
- instead of gtk/gtk.h.
-
-2010-05-08 Eric Seidel <eric@webkit.org>
-
- Unreviewed, rolling out r59023.
- http://trac.webkit.org/changeset/59023
- https://bugs.webkit.org/show_bug.cgi?id=37874
-
- Caused Chromium Windows build to fail to link.
-
- * WebCore.gypi:
- * loader/CachedMetadata.h: Removed.
- * loader/CachedResource.cpp:
- * loader/CachedResource.h:
- * loader/ResourceLoader.h:
- * loader/SubresourceLoader.cpp:
- * loader/SubresourceLoader.h:
- * loader/SubresourceLoaderClient.h:
- * loader/loader.cpp:
- * loader/loader.h:
- * platform/network/ResourceHandle.cpp:
- * platform/network/ResourceHandle.h:
- * platform/network/ResourceHandleClient.h:
-
-2010-05-08 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- WebInspector: Autocompletion in console is not usable because it is not add to the entered text the common prefix of suggestions.
- As example if you entered $0.getE then getElementByClassName will be suggested as gray text.
- If you press tab then getElementByClassName be suggested again and lementByClassName becomes selected as black text with selection background.
- Really after pressing the TAB the next suggestion should be selected (getElementByTagName) and only flexible part of suggestions should be selected.
- In this case it should be TagName because getElementBy is the common part for all getE prefix suggestions.
- https://bugs.webkit.org/show_bug.cgi?id=38753
-
- * inspector/front-end/TextPrompt.js:
- (WebInspector.TextPrompt.prototype._completionsReady):
-
-2010-05-08 Tony Gentilcore <tonyg@chromium.org>
-
- Reviewed by Darin Fisher.
-
- Provide mechanism to store cached metadata on a CachedResource.
- https://bugs.webkit.org/show_bug.cgi?id=37874
+ [GTK] Text copied from a WebView cannot be pasted into gnome-terminal
+ https://bugs.webkit.org/show_bug.cgi?id=39827
- No new tests because no new functionality.
+ Switch all methods in Pasteboard to use the PasteboardHelper + DataObjectGtk
+ approach used in other parts of WebKit GTK+.
- * WebCore.gypi:
- * loader/CachedMetadata.h: Added.
- (WebCore::CachedMetadata::~CachedMetadata):
- (WebCore::CachedMetadata::data):
- (WebCore::CachedMetadata::size):
- (WebCore::CachedMetadata::create):
- (WebCore::CachedMetadata::deserialize):
- (WebCore::CachedMetadata::serialize):
- (WebCore::CachedMetadata::dataTypeID):
- (WebCore::CachedMetadata::readUnsigned):
- (WebCore::CachedMetadata::appendUnsigned):
- (WebCore::CachedMetadata::CachedMetadata):
- * loader/CachedResource.cpp:
- (WebCore::CachedResource::setSerializedCachedMetadata):
- (WebCore::CachedResource::setCachedMetadata):
- (WebCore::CachedResource::cachedMetadata):
- * loader/CachedResource.h:
- * loader/ResourceLoader.h:
- (WebCore::ResourceLoader::didReceiveCachedMetadata):
- * loader/SubresourceLoader.cpp:
- (WebCore::SubresourceLoader::didReceiveCachedMetadata):
- * loader/SubresourceLoader.h:
- * loader/SubresourceLoaderClient.h:
- (WebCore::SubresourceLoaderClient::didReceiveCachedMetadata):
- * loader/loader.cpp:
- (WebCore::Loader::Host::didReceiveCachedMetadata):
- * loader/loader.h:
- * platform/network/ResourceHandle.cpp:
- (WebCore::ResourceHandle::cacheMetadata):
- * platform/network/ResourceHandle.h:
- * platform/network/ResourceHandleClient.h:
- (WebCore::ResourceHandleClient::didReceiveCachedMetadata):
-
-2010-05-08 Michael Nordman <michaeln@google.com>
-
- Reviewed by Dmitry Titov.
-
- Have WorkerScriptLoader provide access to the ResourceResponse for the loaded script
- through the WorkerScriptLoaderClient interface.
- https://bugs.webkit.org/show_bug.cgi?id=38605
-
- No new tests. There are no script visible changes.
-
- * workers/WorkerScriptLoader.cpp: Call the client with the response.
- (WebCore::WorkerScriptLoader::didReceiveResponse):
- * workers/WorkerScriptLoaderClient.h: Define a new method to receive the response.
- (WebCore::WorkerScriptLoaderClient::didReceiveResponse):
-
-2010-05-08 Robert Hogan <robert@roberthogan.net>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix http/tests/xmlhttprequest/cross-origin-no-authorization.html
- and http/tests/xmlhttprequest/cross-origin-authorization.html
-
- QHttpNetworkRequest adds Authorization and Cookie headers to XHRs
- without knowing if this is valid behaviour or not. In order to allow
- Qt to decide whether Cookie/Authorization headers should be added
- to an XHR QtWebKit needs to use an attribute added to QNetworkRequest.
- These new attributes are: QNetworkRequest::CookieLoadControlAttribute,
- QNetworkRequest::CookieSaveControlAttribute,and
- QNetworkRequest::AuthenticationReuseControlAttribute.
-
- QtWebKit will set QNetworkRequest::AuthenticationReuseControlAttribute to false
- unless withCredentials is set to true in the XHR.
-
- QtWebkit will set CookieLoad/SaveControlAttribute to false unless withCredentials
- is set to true in the XHR.
-
- Qt will pass the values onto QHttpNetworkRequest and this will permit
- the Qt network access processing to decide whether or not to add either
- or both of the Cookie/Authorisation headers, and whether to save cookies
- returned from such requests. By default the attribute
- will always be true so unless QtWebKit sets it to false normal
- header processing is unaffected.
+ * platform/gtk/PasteboardGtk.cpp:
+ (WebCore::Pasteboard::writeSelection): Switch to using PasteboardHelper.
+ (WebCore::Pasteboard::writePlainText): Ditto.
+ (WebCore::Pasteboard::writeURL): Ditto.
+ (WebCore::Pasteboard::writeImage): Ditto.
+ (WebCore::Pasteboard::clear): Small cleanup.
+ (WebCore::Pasteboard::documentFragment): Switch to using PasteboardHelper.
+ (WebCore::Pasteboard::plainText): Ditto.
- The Qt part of these changes was merged at: http://gitorious.org/qt/qt/merge_requests/592
+2010-05-31 Darin Adler <darin@apple.com>
- https://bugs.webkit.org/show_bug.cgi?id=32967
+ Updated bindings test results for change in JavaScript host calling convention change
+ from 2 days ago.
- * platform/network/qt/ResourceRequestQt.cpp:
- (WebCore::ResourceRequest::toNetworkRequest):
+ * bindings/scripts/test/JS/JSTestObj.cpp: Regenerated and inspected to see that the new
+ result is correct.
+ * bindings/scripts/test/JS/JSTestObj.h: Ditto.
-2010-05-08 Ilya Tikhonovsky <loislo@chromium.org>
+2010-05-31 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
- WebInsector: Record expand UI element should be extracted from TimelineRecordGraphRow as separate class for future reuse.
- https://bugs.webkit.org/show_bug.cgi?id=38726
-
- * inspector/front-end/TimelinePanel.js:
- (WebInspector.TimelinePanel):
- (WebInspector.TimelinePanel.prototype._refreshRecords):
- (WebInspector.TimelineRecordGraphRow):
- (WebInspector.TimelineRecordGraphRow.prototype.update):
- (WebInspector.TimelineExpandableElement):
- (WebInspector.TimelineExpandableElement.prototype._update):
- (WebInspector.TimelineExpandableElement.prototype._dispose):
-
-2010-05-05 Robert Hogan <robert@webkit.org>
-
- Reviewed by Alexey Proskuryakov.
-
- [Qt] Fix encoding of status message in Plugin API
-
- https://bugs.webkit.org/show_bug.cgi?id=35144
-
- Spotted by Alexey Proskuryakov.
-
- * plugins/PluginView.cpp:
- (WebCore::PluginView::status):
-
-2010-05-08 Dirk Schulze <krit@webkit.org>
-
- Unreviewed win build fix.
-
- JS bindings were missing in DerivedSources.cpp
-
- * DerivedSources.cpp:
-
-2010-05-08 Dirk Schulze <krit@webkit.org>
-
- Uneviewed fix of Win bot
-
- Added JS bindings to Win build system.
-
- * WebCore.vcproj/WebCore.vcproj:
-
-2010-05-08 Dirk Schulze <krit@webkit.org>
-
- Unreviewed try to fix Win bot.
-
- SVGFont's VKern implementation missing
- https://bugs.webkit.org/show_bug.cgi?id=38663
-
- * bindings/scripts/CodeGeneratorJS.pm:
-
-2010-05-08 Dirk Schulze <krit@webkit.org>
-
- Reviewed by Nikolas Zimmermann.
-
- SVGFont's VKern implementation missing
- https://bugs.webkit.org/show_bug.cgi?id=38663
-
- Implementation of vkern, needed by SVGFont. Also added DOM and JS bindings
- for vkern and hkern. Made some clean-up in SVGParserUtilities and SVGFontElement.
- SVGHKernElement and SVGVKernElement share most of the code now.
-
- Test: svg/text/text-vkern.svg
-
- * Android.derived.jscbindings.mk:
- * Android.derived.v8bindings.mk:
- * Android.mk:
- * DerivedSources.make:
- * GNUmakefile.am:
- * WebCore.gyp/WebCore.gyp:
- * WebCore.gypi:
- * WebCore.pri:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * page/DOMWindow.idl:
- * rendering/SVGRootInlineBox.cpp:
- (WebCore::applySVGKerning):
- (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
- * svg/SVGAllInOne.cpp:
- * svg/SVGFontElement.cpp:
- (WebCore::SVGFontElement::invalidateGlyphCache):
- (WebCore::SVGFontElement::ensureGlyphCache):
- (WebCore::matches):
- (WebCore::kerningForPairOfStringsAndGlyphs):
- (WebCore::SVGFontElement::horizontalKerningForPairOfStringsAndGlyphs):
- (WebCore::SVGFontElement::verticalKerningForPairOfStringsAndGlyphs):
- * svg/SVGFontElement.h:
- (WebCore::SVGKerningPair::SVGKerningPair):
- (WebCore::SVGFontElement::rendererIsNeeded):
- * svg/SVGHKernElement.cpp:
- (WebCore::SVGHKernElement::buildHorizontalKerningPair):
- * svg/SVGHKernElement.h:
- * svg/SVGParserUtilities.cpp:
- (WebCore::parseGlyphName):
- (WebCore::parseKerningUnicodeString):
- * svg/SVGParserUtilities.h:
- * svg/SVGVKernElement.cpp: Added.
- (WebCore::SVGVKernElement::SVGVKernElement):
- (WebCore::SVGVKernElement::~SVGVKernElement):
- (WebCore::SVGVKernElement::insertedIntoDocument):
- (WebCore::SVGVKernElement::removedFromDocument):
- (WebCore::SVGVKernElement::buildVerticalKerningPair):
- * svg/SVGVKernElement.h: Added.
- (WebCore::SVGVKernElement::rendererIsNeeded):
- * svg/SVGVKernElement.idl: Added.
- * svg/svgtags.in:
-
-2010-05-08 Jer Noble <jer.noble@apple.com>
-
- Unreviewed, just fixing windows build.
-
- * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h: Add #if USE(ACCELERATED_COMPOSITING) guards around GraphicsLayer areas of the code. Include GraphicsLayer.h directly.
- * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: As above.
- * platform/graphics/win/QTMovieVisualContext.cpp: Remove the #include of d3d9types.h.
-
-2010-05-08 Eric Seidel <eric@webkit.org>
-
- Unreviewed, just reverting commit.
-
- REGRESSION(59000): r59000 contained all sorts of changes it should not have, needs revert.
- https://bugs.webkit.org/show_bug.cgi?id=38798
-
- Test: fast/js/global-resolve-through-eval.html
-
- * bindings/js/JSCallbackData.h:
- (WebCore::JSCallbackData::JSCallbackData):
- (WebCore::JSCallbackData::~JSCallbackData):
- (WebCore::DeleteCallbackDataTask::create):
- (WebCore::DeleteCallbackDataTask::performTask):
- (WebCore::DeleteCallbackDataTask::isCleanupTask):
- (WebCore::DeleteCallbackDataTask::DeleteCallbackDataTask):
- * bindings/js/JSCustomVoidCallback.cpp:
- (WebCore::JSCustomVoidCallback::JSCustomVoidCallback):
- (WebCore::JSCustomVoidCallback::~JSCustomVoidCallback):
- * bindings/js/JSCustomVoidCallback.h:
- * bindings/scripts/CodeGeneratorJS.pm:
- * bindings/scripts/test/JS/JSTestInterface.cpp:
- (WebCore::):
- * bindings/scripts/test/JS/JSTestObj.cpp:
- (WebCore::):
- * workers/WorkerThread.cpp:
- (WebCore::WorkerThreadShutdownFinishTask::performTask):
- (WebCore::WorkerThreadShutdownStartTask::performTask):
-
-2010-05-07 Zoltan Herczeg <zherczeg@webkit.org>
-
- Reviewed by Dirk Schulze
-
- Fixed the inverse function of f(x) = ((x + 0.055) / 1.055) ^ 2.4
- https://bugs.webkit.org/show_bug.cgi?id=38735
-
- It is ((x ^ (1 / 2.4)) * 1.055) - 0.055
-
- Chromium pixel tests cover the issue.
-
- * platform/graphics/ImageBuffer.cpp:
- (WebCore::ImageBuffer::transformColorSpace):
-
-2010-05-04 Jer Noble <jer.noble@apple.com>
-
- Reviewed by Eric Carlson
-
- Safari pegs CPU and drops tons of frames using HTML5 Vimeo player
- <https://bugs.webkit.org/show_bug.cgi?id=34005>
- <rdar://problem/7569713>
-
- The original functionality of QTMovieWin has been split between QTMovieGWorld,
- and a new class: QTMovie. QTMovie contains all the "controller" parts (changing
- the rate, seeking, etc) while QTMovieGWorld retains all the drawing code. QTMovieGWorld
- now takes a QTMovie, and as such QTMovie is now retainable. QTMovieGWorld registers
- itself as a client of QTMovie, so that it can receive load-state notifications,
- and thus QTMovie must now support multiple clients. Movie tasking timer support
- has been moved into its own class (QTMovieTask) and will be addressed in a future
- patch. Most of the functions listed below only changed so much as their class name changed.
-
- * platform/graphics/win/QTMovie.cpp: Copied from WebCore/platform/graphics/win/QTMovieWin.cpp.
- (QTMoviePrivate::QTMoviePrivate):
- (QTMoviePrivate::~QTMoviePrivate):
- (QTMoviePrivate::startTask):
- (QTMoviePrivate::endTask):
- (QTMoviePrivate::task):
- (QTMoviePrivate::createMovieController):
- (QTMovie::QTMovie):
- (QTMovie::~QTMovie):
- (QTMovie::addClient):
- (QTMovie::removeClient):
- (QTMovie::play):
- (QTMovie::pause):
- (QTMovie::rate):
- (QTMovie::setRate):
- (QTMovie::duration):
- (QTMovie::currentTime):
- (QTMovie::setCurrentTime):
- (QTMovie::setVolume):
- (QTMovie::setPreservesPitch):
- (QTMovie::dataSize):
- (QTMovie::maxTimeLoaded):
- (QTMovie::loadState):
- (QTMovie::getNaturalSize):
- (QTMovie::load):
- (QTMovie::disableUnsupportedTracks):
- (QTMovie::isDisabled):
- (QTMovie::setDisabled):
- (QTMovie::hasVideo):
- (QTMovie::hasAudio):
- (QTMovie::hasClosedCaptions):
- (QTMovie::setClosedCaptionsVisible):
- (QTMovie::countSupportedTypes):
- (QTMovie::getSupportedType):
- (QTMovie::initializeQuickTime):
- (QTMovie::getMovieHandle):
- * platform/graphics/win/QTMovie.h: Copied from WebCore/platform/graphics/win/QTMovieWin.h.
- * platform/graphics/win/QTMovieGWorld.cpp: Copied from WebCore/platform/graphics/win/QTMovieWin.cpp.
- (QTMovieGWorldPrivate::QTMovieGWorldPrivate):
- (QTMovieGWorldPrivate::~QTMovieGWorldPrivate):
- (QTMovieGWorldPrivate::cacheMovieScale):
- (movieDrawingCompleteProc):
- (QTMovieGWorldPrivate::registerDrawingCallback):
- (QTMovieGWorldPrivate::unregisterDrawingCallback):
- (QTMovieGWorldPrivate::drawingComplete):
- (QTMovieGWorldPrivate::updateGWorld):
- (QTMovieGWorldPrivate::createGWorld):
- (QTMovieGWorldPrivate::clearGWorld):
- (QTMovieGWorldPrivate::setSize):
- (QTMovieGWorldPrivate::updateMovieSize):
- (QTMovieGWorldPrivate::deleteGWorld):
- (QTMovieGWorldPrivate::movieEnded):
- (QTMovieGWorldPrivate::movieLoadStateChanged):
- (QTMovieGWorldPrivate::movieTimeChanged):
- (QTMovieGWorld::QTMovieGWorld):
- (QTMovieGWorld::~QTMovieGWorld):
- (QTMovieGWorld::setSize):
- (QTMovieGWorld::setVisible):
- (QTMovieGWorld::getCurrentFrameInfo):
- (QTMovieGWorld::paint):
- (QTMovieGWorld::setDisabled):
- (QTMovieGWorld::isDisabled):
- (QTMovieGWorld::fullscreenWndProc):
- (QTMovieGWorld::enterFullscreen):
- (QTMovieGWorld::exitFullscreen):
- (QTMovieGWorld::setMovie):
- (QTMovieGWorld::movie):
- * platform/graphics/win/QTMovieGWorld.h: Copied from WebCore/platform/graphics/win/QTMovieWin.h.
- * platform/graphics/win/QTMovieTask.cpp: Added.
- (QTMovieTask::QTMovieTask):
- (QTMovieTask::~QTMovieTask):
- (QTMovieTask::sharedTask):
- (QTMovieTask::updateTaskTimer):
- (QTMovieTask::fireTaskClients):
- (QTMovieTask::addTaskClient):
- (QTMovieTask::removeTaskClient):
- (QTMovieTask::setTaskTimerFuncs):
- * platform/graphics/win/QTMovieTask.h: Added.
-
-2010-05-04 Jer Noble <jer.noble@apple.com>
-
- Reviewed by Eric Carlson
-
- Safari pegs CPU and drops tons of frames using HTML5 Vimeo player
- <https://bugs.webkit.org/show_bug.cgi?id=34005>
- <rdar://problem/7569713>
-
- MediaPlayerPrivateQuickTimeVisualContext has been added as a
- supported MediaPlayer implementation. MediaPlayerPrivateQuickTimeWin
- has been left as a fallback MediaPlayer implementation for those media
- types which do not support visual contexts (currently, none).
-
- * platform/graphics/MediaPlayer.cpp:
- (WebCore::installedMediaEngines):
-
-2010-05-04 Jer Noble <jer.noble@apple.com>
-
- Reviewed by Maciej Stachowiak
-
- Safari pegs CPU and drops tons of frames using HTML5 Vimeo player
- <https://bugs.webkit.org/show_bug.cgi?id=34005>
- <rdar://problem/7569713>
-
- MediaPlayerPrivateTaskTimer has been broken out from MediaPlayerPrivateQuickTimeWin::TaskTimer
- so that multiple clients can share its implementation. It works with the new
- QTMovieTaskTimer to provide timer support to QTMovieTaskTimer clients.
-
- * platform/graphics/win/MediaPlayerPrivateTaskTimer.cpp: Added.
- (WebCore::MediaPlayerPrivateTaskTimer::initialize):
- (WebCore::MediaPlayerPrivateTaskTimer::setDelay):
- (WebCore::MediaPlayerPrivateTaskTimer::stopTaskTimer):
- (WebCore::MediaPlayerPrivateTaskTimer::fired):
- * platform/graphics/win/MediaPlayerPrivateTaskTimer.h: Added.
-
-2010-05-04 Jer Noble <jer.noble@apple.com>
-
- Reviewed by Eric Carlson
-
- Safari pegs CPU and drops tons of frames using HTML5 Vimeo player
- <https://bugs.webkit.org/show_bug.cgi?id=34005>
- <rdar://problem/7569713>
-
- MediaPlayerPrivateQuickTimeVisualContext is a new MediaPlayerPrivate implementation
- which uses QTMovieVisualContext instead of QTMovieWin to render video frames. Much
- like MediaPlayerPrivateQuickTimeWin, MPPQTVisualContext breaks out QTMovie and
- QTMovieVisualContext, and uses the newly shared MediaPlayerPrivateTaskTimer. It also
- uses aggregation (in the form of friend classes) instead of multiple inheritence
- to implement its various client callbacks, so as not to expose its own clients to
- the QTMovie classes.
-
- * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: Copied from WebCore/platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp.
- * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h: Copied from WebCore/platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h.
-
-2010-05-04 Jer Noble <jer.noble@apple.com>
-
- Reviewed by Maciej Stachowiak
-
- Safari pegs CPU and drops tons of frames using HTML5 Vimeo player
- <https://bugs.webkit.org/show_bug.cgi?id=34005>
- <rdar://problem/7569713>
-
- MediaPlayerPrivateQuickTimeWin has been modified to support the new bifurcated
- QTMovie/QTMovieWin classes. It's private TaskTimer class has been broken out
- into a new top-level class (MediaPlayerPrivateTaskTimer) which will be addressed
- in a future patch.
-
- * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
- (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
- (WebCore::MediaPlayerPrivate::load):
- (WebCore::MediaPlayerPrivate::paused):
- (WebCore::MediaPlayerPrivate::setSize):
- (WebCore::MediaPlayerPrivate::setVisible):
- (WebCore::MediaPlayerPrivate::paint):
- (WebCore::mimeTypeCache):
- (WebCore::MediaPlayerPrivate::isAvailable):
- (WebCore::MediaPlayerPrivate::movieEnded):
- (WebCore::MediaPlayerPrivate::movieLoadStateChanged):
- (WebCore::MediaPlayerPrivate::movieTimeChanged):
- (WebCore::MediaPlayerPrivate::movieNewImageAvailable):
- (WebCore::MediaPlayerPrivate::paintContents):
- * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
-
-2010-05-04 Jer Noble <jer.noble@apple.com>
-
- Reviewed by Anders Carlsson
-
- Safari pegs CPU and drops tons of frames using HTML5 Vimeo player
- <https://bugs.webkit.org/show_bug.cgi?id=34005>
- <rdar://problem/7569713>
-
- QTCFDictionary defines functions which help serialize and unserialize
- CFDictionaries. This is necessary because QuickTime links against a
- non-debug CoreFoundation in our debug build, and passing non-debug
- CFDictionaries to a debug CF will cause a crash.
-
- QTMovieTask is a new class containing the tasking functionality broken
- out from QTMovieWin. This is necessary now that the tasking
- functionality is needed in multiple files/classes.
-
- QTPixelBuffer is a C++ wrapper for CVPixelBuffers, necessary because
- like the CF case above, QuickTime has its own implementation of CoreVideo
- and its CV types cannot be used with the AAS version of CoreVideo.
-
- QTMovieVisualContext is the new drawing implementation, parallel to
- QTMovieWin. It currently uses a software rendering path, but can be
- extended in the future to support hardware rendering.
-
- * platform/graphics/win/QTCFDictionary.cpp: Added.
- * platform/graphics/win/QTCFDictionary.h: Added.
- * platform/graphics/win/QTMovieTask.cpp: Added.
- * platform/graphics/win/QTMovieTask.h: Added.
- * platform/graphics/win/QTMovieVisualContext.cpp: Added.
- * platform/graphics/win/QTMovieVisualContext.h: Added.
- * platform/graphics/win/QTPixelBuffer.cpp: Added.
- * platform/graphics/win/QTPixelBuffer.h: Added.
-
-2010-05-07 Eric Uhrhane <ericu@chromium.org>
-
- Reviewed by Dmitry Titov.
-
- JSCallbackData is deleted on the Main thread, not the Context thread.
- https://bugs.webkit.org/show_bug.cgi?id=38623
-
- No new tests; you'll only see a problem after the worker-access-to-DB
- code goes in. Without this fix, the GTK bots assert, but it's
- timing-sensitive and not truly platform-specific.
-
- * bindings/js/JSCallbackData.h:
- (WebCore::JSCallbackData::JSCallbackData):
- (WebCore::JSCallbackData::~JSCallbackData):
- Store the allocating thread, then assert that we're on it at deletion.
-
- (WebCore::DeleteCallbackDataTask):
- This is the task that can get posted to the context thread for cleanup.
-
- * bindings/js/JSCustomVoidCallback.cpp:
- * bindings/js/JSCustomVoidCallback.h:
- This callback isn't autogenerated, so we have to do the cleanup manually.
-
- * bindings/scripts/CodeGeneratorJS.pm:
- Add the proper cleanup to all autogenerated callbacks.
-
- * workers/WorkerThread.cpp:
- (WebCore::WorkerThreadShutdownFinishTask::performTask):
- (WebCore::WorkerThreadShutdownStartTask::performTask):
- WorkerContext::clearScript can't be called until the posted deletion tasks have completed; move the call from shutdown start to shutdown finish.
-
-2010-05-07 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Fix JSC binding generation to match webkit style
- https://bugs.webkit.org/show_bug.cgi?id=38173
-
- Add spaces around "|" to match webkit style.
-
- * bindings/scripts/CodeGeneratorJS.pm:
- * bindings/scripts/test/JS/JSTestObj.cpp:
-
-2010-05-07 Dumitru Daniliuc <dumi@chromium.org>
-
- Reviewed by Brady Eidson.
-
- Adding the IDL files for the sync DB API and the stubs for the JS and V8 bindings.
- https://bugs.webkit.org/show_bug.cgi?id=34994
-
- * DerivedSources.cpp:
- * DerivedSources.make:
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pri:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/js/JSBindingsAllInOne.cpp:
- * bindings/js/JSDatabaseSyncCustom.cpp: Added.
- (WebCore::JSDatabaseSync::changeVersion):
- (WebCore::createTransaction):
- (WebCore::JSDatabaseSync::transaction):
- (WebCore::JSDatabaseSync::readTransaction):
- * bindings/js/JSSQLTransactionSyncCustom.cpp: Added.
- (WebCore::JSSQLTransactionSync::executeSql):
- * bindings/js/JSWorkerContextCustom.cpp:
- (WebCore::JSWorkerContext::openDatabaseSync):
- * bindings/v8/custom/V8BindingMacros.h: Added.
- * bindings/v8/custom/V8DatabaseSyncCustom.cpp: Added.
- (WebCore::V8DatabaseSync::changeVersionCallback):
- (WebCore::createTransaction):
- (WebCore::V8DatabaseSync::transactionCallback):
- (WebCore::V8DatabaseSync::readTransactionCallback):
- * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp: Added.
- (WebCore::V8SQLTransactionSync::executeSqlCallback):
- * bindings/v8/custom/V8WorkerContextCustom.cpp:
- (WebCore::V8WorkerContext::openDatabaseSyncCallback):
- * storage/Database.idl:
- * storage/DatabaseCallback.h:
- * storage/DatabaseCallback.idl:
- * storage/DatabaseSync.cpp:
- (WebCore::DatabaseSync::changeVersion):
- (WebCore::DatabaseSync::transaction):
- * storage/DatabaseSync.h:
- * storage/DatabaseSync.idl: Added.
- * storage/SQLError.idl:
- * storage/SQLResultSet.idl:
- * storage/SQLResultSetRowList.idl:
- * storage/SQLTransaction.idl:
- * storage/SQLTransactionSync.idl: Added.
- * storage/SQLTransactionSyncCallback.h:
- * storage/SQLTransactionSyncCallback.idl: Added.
- * workers/WorkerContext.cpp:
- (WebCore::WorkerContext::openDatabaseSync):
- * workers/WorkerContext.h:
- * workers/WorkerContext.idl:
-
-2010-05-07 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Simon Fraser.
-
- Fix for <rdar://problem/7956972> REGRESSION: Can't focus and type
- in GMail due to bad repainting
- -and corresponding-
- https://bugs.webkit.org/show_bug.cgi?id=38782
-
- This patch reverts back to pre-r58797 behavior when
- shouldPropagateCompositingToIFrameParent() is false.
- * rendering/RenderLayerBacking.cpp:
- (WebCore::RenderLayerBacking::paintingGoesToWindow):
-
-2010-05-07 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r58963.
- http://trac.webkit.org/changeset/58963
- https://bugs.webkit.org/show_bug.cgi?id=38773
-
- Broke Chromium layout tests. (Requested by dcheng on #webkit).
-
- * platform/chromium/DragDataChromium.cpp:
- (WebCore::DragData::asURL):
-
-2010-05-07 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- https://bugs.webkit.org/show_bug.cgi?id=38769
- ClipboardGtk should write the URL label in the text portion of the DataObject
-
- No tests as this code path is currently unused in the GTK+ port.
-
- * platform/gtk/ClipboardGtk.cpp:
- (WebCore::ClipboardGtk::writeURL): Write the label to the text portion of the DataObject, instead of the URL.
-
-2010-05-07 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Reviewed by Dirk Schulze.
-
- RenderSVGResourceClipper assigns a temporary mutated RenderStyle but does not correctly preserve the old style
- https://bugs.webkit.org/show_bug.cgi?id=38767
-
- Fix small logic error leading to a problem in RenderSVGResourceClipper. It assigns a new temporary RenderStyle
- to the target object, but fails to reset it correctly to the old style. Fixes all svg/clip-path errors on the windows bots.
-
- * rendering/RenderSVGResourceClipper.cpp:
- (WebCore::RenderSVGResourceClipper::createClipData):
-
-2010-05-07 Daniel Cheng <dcheng@chromium.org>
-
- Reviewed by Jian Li.
-
- [chromium] DragDataChromium::asURL() shouldn't do file validity checks
- https://bugs.webkit.org/show_bug.cgi?id=38711
-
- The renderer is sandboxed in Chromium, so these calls will give us no
- meaningful information. The loader will do the right thing if we pass
- it a file URL that points to an invalid file.
-
- No new tests.
-
- * platform/chromium/DragDataChromium.cpp:
- (WebCore::DragData::asURL):
-
-2010-05-07 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Fix debug-only render tree output to show object addresses in hex.
-
- * rendering/RenderTreeAsText.cpp:
- (WebCore::writeRenderObject):
- (WebCore::write):
-
-2010-05-07 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Adele Peterson.
-
- https://bugs.webkit.org/show_bug.cgi?id=38546
- Node.focus() fails to move focus from subframe properly
-
- Test: fast/frames/take-focus-from-iframe.html
-
- * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::setFocus): Don't clear
- focus if this frame doesn't have it. This can happen if page's and HTMLFrameElement's ideas
- of focused frame get out of sync temporarily.
-
-2010-05-07 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Reviewed by Dirk Schulze.
-
- svg/custom/use-instanceRoot-as-event-target.xhtml crashes randomly
- https://bugs.webkit.org/show_bug.cgi?id=37798
-
- When creating JSEventListeners through attributes (onclick, etc..) or add/removeEventListener
- calls on a SVGElementInstance, do NOT pass the element instance itself as JS wrapper object
- but the correspondingElement(). SVGElementInstance redirects all event listener registrations
- to the correspondingElement(), as they share an event listener list, per SVG spec. The old
- code was very dangerous, leading to random assertions, when garbage collection teared down
- the JSSVGElementInstance and event listeners fired, whose listeners were registered with
- it, but residing in the correspondingElement() event listener list.
-
- Removes the need for CustomToJS code for JSSVGElementInstance, which was wrong anyways. We hoped
- to keep the event listeers alive by just creating a js wrapper of the correspondingElement(), that
- could only work as long as garbage collection didn't tear it down, just luck. Also remove the
- CustomPushEventHandlerScope marker, as it is only used for JSLazyEventListeners and only works
- for JSNode derived objects, it was a no-op for SVGElementInstance, thus removed it.
-
- Should fix all random crashes/assertions seen with svg/custom/use-instanceRoot-as-event-target.xhtml
- See bug report for a detailed crash analysis.
-
- * bindings/js/JSSVGElementInstanceCustom.cpp: Remove custom toJS()/pushEventHandlerScope() handling, not necessary anymore.
- (WebCore::JSSVGElementInstance::markChildren):
- * bindings/scripts/CodeGeneratorJS.pm: For JSSVGElementInstance pass the correspondingElement() as JS wrapper object, not itself.
- * svg/SVGElementInstance.cpp:
- (WebCore::SVGElementInstance::invalidateAllInstancesOfElement): Be sure to trigger a style update here, so dirty shadow trees for <use> get rebuild. Otherwhise DOM may be out-of-sync.
- (WebCore::SVGElementInstance::eventTargetData): Add ASSERT_NOT_REACHED(), all event listener calls are forwarded to the correspondingElement().
- (WebCore::SVGElementInstance::ensureEventTargetData): Ditto.
- * svg/SVGElementInstance.idl: Remove CustomToJS, CustomPushEventHandlerScope markers.
-
-2010-05-06 Kenneth Russell <kbr@google.com>
-
- Reviewed by Dimitri Glazkov.
-
- WebCore::WebGLUnsignedIntArrayInternal::getCallback ReadAV@Arbitrary (deef89ee3d0345edebeaf13cf974c47c)
- https://bugs.webkit.org/show_bug.cgi?id=38039
-
- Web IDL now allows indexed getters and setters to be unnamed. Per
- discussion in WebGL working group and recent update to spec,
- removed the buggy get() and single-element set() methods from the
- JavaScript bindings to the WebGL array types. Refactored set()
- implementation in JSC bindings to share more code and modified V8
- binding to look more like it. Added unit tests for indexed getter
- with out-of-range indices and verifying removal of get and
- single-element set methods. Updated existing WebGL array tests.
-
- Tests: fast/canvas/webgl/array-get-and-set-method-removal.html
- fast/canvas/webgl/array-get-out-of-bounds.html
-
- * bindings/js/JSWebGLArrayHelper.h:
- (WebCore::setWebGLArrayHelper):
- * bindings/js/JSWebGLByteArrayCustom.cpp:
- (WebCore::JSWebGLByteArray::set):
- * bindings/js/JSWebGLFloatArrayCustom.cpp:
- (WebCore::JSWebGLFloatArray::set):
- * bindings/js/JSWebGLIntArrayCustom.cpp:
- (WebCore::JSWebGLIntArray::set):
- * bindings/js/JSWebGLShortArrayCustom.cpp:
- (WebCore::JSWebGLShortArray::set):
- * bindings/js/JSWebGLUnsignedByteArrayCustom.cpp:
- (WebCore::JSWebGLUnsignedByteArray::set):
- * bindings/js/JSWebGLUnsignedIntArrayCustom.cpp:
- (WebCore::JSWebGLUnsignedIntArray::set):
- * bindings/js/JSWebGLUnsignedShortArrayCustom.cpp:
- (WebCore::JSWebGLUnsignedShortArray::set):
- * bindings/v8/custom/V8WebGLArrayCustom.h:
- (WebCore::setWebGLArrayHelper):
- * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
- (WebCore::V8WebGLByteArray::setCallback):
- * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
- (WebCore::V8WebGLFloatArray::setCallback):
- * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
- (WebCore::V8WebGLIntArray::setCallback):
- * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
- (WebCore::V8WebGLShortArray::setCallback):
- * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
- (WebCore::V8WebGLUnsignedByteArray::setCallback):
- * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
- (WebCore::V8WebGLUnsignedIntArray::setCallback):
- * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
- (WebCore::V8WebGLUnsignedShortArray::setCallback):
- * html/canvas/WebGLByteArray.h:
- * html/canvas/WebGLByteArray.idl:
- * html/canvas/WebGLFloatArray.h:
- * html/canvas/WebGLFloatArray.idl:
- * html/canvas/WebGLIntArray.h:
- * html/canvas/WebGLIntArray.idl:
- * html/canvas/WebGLShortArray.h:
- * html/canvas/WebGLShortArray.idl:
- * html/canvas/WebGLUnsignedByteArray.h:
- * html/canvas/WebGLUnsignedByteArray.idl:
- * html/canvas/WebGLUnsignedIntArray.h:
- * html/canvas/WebGLUnsignedIntArray.idl:
- * html/canvas/WebGLUnsignedShortArray.h:
- * html/canvas/WebGLUnsignedShortArray.idl:
-
-2010-05-07 Pavel Feldman <pfeldman@chromium.org>
-
- Not reviewed: chromium dev tools tests fix.
- Add a more strict check prior to accessing constructor property in
- Web Inspector frontend.
-
- * inspector/front-end/InjectedScript.js:
- (injectedScriptConstructor):
-
-2010-05-07 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Joseph Pecoraro.
-
- Web Inspector: On Linux/Windows panel history is
- traversed while iterating over words in text prompt.
-
- https://bugs.webkit.org/show_bug.cgi?id=38740
-
- * inspector/front-end/TextPrompt.js:
- (WebInspector.TextPrompt):
- * inspector/front-end/inspector.js:
- (WebInspector.documentKeyDown):
-
-2010-05-07 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: come up with InjectedScript._className that works for both JSC and V8.
-
- https://bugs.webkit.org/show_bug.cgi?id=38755
-
- * inspector/front-end/InjectedScript.js:
- (injectedScriptConstructor):
-
-2010-05-07 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by Adam Barth.
-
- document.write is not synchronous after page load
- https://bugs.webkit.org/show_bug.cgi?id=38146
-
- If there are no pending scripts, a document.write call should be
- synchronous. This matches other browsers and the HTML5 spec. Forcing
- the tokenizer to be synchronous in Document::write does not affect
- external scripts written by the write call. This should only change
- behavior of document.write after the page is done loading.
-
- Difficult to test reliably due to HTMLTokenizing relying on processing time.
- I made a manual test because the test requires processing very large strings
- synchronously and therefore can take some time.
-
- Test: WebCore/manual-tests/dom/document-write-synchronous-after-page-load.html
-
- * dom/Document.cpp:
- (WebCore::SynchronousHTMLTokenizerGuard::SynchronousHTMLTokenizerGuard): if the provided tokenizer is an HTMLTokenizer make it synchronous
- (WebCore::SynchronousHTMLTokenizerGuard::~SynchronousHTMLTokenizerGuard): if the provided tokenizer was an HTMLTokenizer return its synchronous state
- (WebCore::Document::write): temporarily set the tokenizer to synchronous during document.write
- * dom/Tokenizer.h:
- (WebCore::Tokenizer::asHTMLTokenizer): default implementation returns 0, to be overridden by HTMLTokenizer
- * html/HTMLTokenizer.h: allow access to to the force synchronous state
- (WebCore::HTMLTokenizer::forceSynchronous): accessor
- (WebCore::HTMLTokenizer::asHTMLTokenizer): override the default to return itself
- * manual-tests/dom/document-write-synchronous-after-page-load.html: Added.
-
-2010-05-07 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix rendering of -webkit-user-select: none
-
- -webkit-user-select: none is implemented by filling
- the area with an invalid default-constructed Color.
- In most ports passing an invalid color down to the
- graphics backend seems to produce transparent fills.
-
- In Qt the behavior of painting with an invalid QColor
- is undefined, and in practice it results in painting
- black opaque areas.
-
- One way to fix this would be to use Qt::transparent
- when converting an undefined Color to a QColor, but
- Qt does not have short circuits for fully transparent
- painting, and we actually end up in slow code paths
- due to the transparency. So, we're better of doing the
- short circuit in WebKit.
-
- https://bugs.webkit.org/show_bug.cgi?id=38523
-
- * platform/graphics/qt/GraphicsContextQt.cpp:
-
-2010-05-07 Ben Murdoch <benm@google.com>
-
- Reviewed by Darin Adler.
-
- Potential crash in EventHandler::handleTouchEvent
- https://bugs.webkit.org/show_bug.cgi?id=38646
-
- Fix a ref counting bug that can cause a crash if the m_originatingouchPointTargets
- hashmap holds the last ref to an EventTarget when the user lifts their finger.
-
- This is very hard to reproduce in a consistent way and clearly a
- simple logic error in the code, therefore no new tests.
-
- * page/EventHandler.cpp:
- (WebCore::EventHandler::handleTouchEvent): Don't let the RefPtr we get back from
- the hasmap go out of scope so soon as it could delete the wrapped ptr if the
- hashmap held the last ref (and we use the raw ptr that the RefPtr
- wraps later in the WebCore::Touch constructor).
-
-2010-05-07 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Rubber-stamped by Kenneth Rohde Christiansen.
-
- [GTK] Fails to build on GTK+ < 2.14
- https://bugs.webkit.org/show_bug.cgi?id=38746
-
- Build fix only. Do basically the same as gtk_adjustment_configure
- would do if we are bellow GTK+ 2.14.
-
- * platform/gtk/ScrollViewGtk.cpp:
- (WebCore::AdjustmentConfigure):
-
-2010-05-07 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Rubber-stamped by Xan Lopez.
-
- Crash with MgOpenModerna font, with non-UTF-8 character
- https://bugs.webkit.org/show_bug.cgi?id=37795
-
- NULL-check the font platform data, for now, to avoid the crash.
-
- Could not yet figure out a way to get a test written that does not
- involve adding the font to the tree, but there are doubts about
- licensing.
-
- * platform/graphics/cairo/FontCacheCairo.cpp:
- (WebCore::FontCache::getFontDataForCharacters):
-
-2010-05-07 MORITA Hajime <morrita@google.com>
-
- Reviewed by Eric Seidel.
-
- [Chromium] RenderThemeChromiumMac.mm should share the code with RenderThemeMac.mm
- https://bugs.webkit.org/show_bug.cgi?id=37204
-
- Made RenderThemeChromiumMac subclass of RenderThemeMac, instead of RenderTheme.
- Added some method to RenderThemeMac for overriding on RenderThemeChromiumMac.
-
- No new tests; Should have no behavioural change.
-
- * WebCore.gyp/WebCore.gyp:
- * rendering/RenderThemeChromiumMac.h:
- * rendering/RenderThemeChromiumMac.mm:
- (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
- (WebCore::RenderThemeChromiumMac::documentViewFor):
- (WebCore::RenderThemeChromiumMac::adjustMediaSliderThumbSize):
- (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderTrack):
- (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderThumb):
- * rendering/RenderThemeMac.h:
- (WebCore::RenderThemeMac::updateActiveState): Added for overriding
- * rendering/RenderThemeMac.mm:
- (WebCore::RenderThemeMac::usesTestModeFocusRingColor): Added for overriding
- (WebCore::RenderThemeMac::documentViewFor): Added for overriding
- (WebCore::RenderThemeMac::paintMenuList):
- (WebCore::RenderThemeMac::setPopupButtonCellState):
- (WebCore::RenderThemeMac::paintSliderThumb):
- (WebCore::RenderThemeMac::paintSearchField):
- (WebCore::RenderThemeMac::setSearchCellState):
- (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
- (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
- (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
- (WebCore::RenderThemeMac::adjustSliderThumbSize):
- (WebCore::RenderThemeMac::adjustMediaSliderThumbSize): Added for overriding
- (WebCore::RenderThemeMac::extraMediaControlsStyleSheet):
-
-2010-05-06 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by Alexey Proskuryakov.
-
- JavaScriptCore/wtf/RandomNumber.h should provide using WTF::*
- https://bugs.webkit.org/show_bug.cgi?id=38719
-
- * platform/graphics/wince/FontCustomPlatformData.cpp:
- (WebCore::createUniqueFontName):
- Remove WTF:: prefix from randomNumber()
- * platform/network/FormDataBuilder.cpp:
- (WebCore::FormDataBuilder::generateUniqueBoundaryString):
- Ditto.
-
-2010-04-27 Tony Chang <tony@chromium.org>
-
- Reviewed by Eric Seidel.
-
- [chromium] clicking a scrollbar in an iframe shouldn't lose the selection
- https://bugs.webkit.org/show_bug.cgi?id=38189
-
- Test: fast/events/mousedown-in-subframe-scrollbar.html
-
- * page/chromium/EventHandlerChromium.cpp:
- (WebCore::EventHandler::passMousePressEventToSubframe): If clicking on
- a scrollbar, pass the event directly to the scrollbar. This matches
- mac which passes the event to the NSScroller.
-
-2010-05-06 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Compositing layers that are clipped out by an overflow:scroll parent fail to get created on reveal
- https://bugs.webkit.org/show_bug.cgi?id=38712
-
- When compositing layer creation is testing layer overlap, we need to re-run the
- algorithm when an overflow:scroll element scrolls, to create new layers for revealed
- elements.
-
- Test: compositing/layer-creation/overflow-scroll-overlap.html
-
- * rendering/RenderLayer.cpp:
- (WebCore::RenderLayer::scrollToOffset): First, move the compositing updates
- until after the call to updateWidgetPositions(), so that this order is similar
- to what we done when a FrameView scrolls. This change has no known side effects.
- Second, if compositingConsultsOverlap() is true, we need to actually do a
- compositing layer update to compute whether revealed/hidden layers should
- be created/destroyed.
-
-2010-05-06 Maciej Stachowiak <mjs@apple.com>
-
- Not reviewed, build fix.
-
- Try again - with quotes this time. *facepalm*
-
- * dom/Notation.cpp:
-
-2010-05-06 Maciej Stachowiak <mjs@apple.com>
-
- Not reviewed, build fix.
-
- Speculative fix for Qt and Gtk.
-
- * dom/Notation.cpp:
-
-2010-05-06 Maciej Stachowiak <mjs@apple.com>
-
- Not reviewed, build fix.
-
- Fix an assert that I failed to update in my earlier change.
-
- * dom/CharacterData.h:
- (WebCore::CharacterData::CharacterData):
-
-2010-05-06 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Geoff Garen.
-
- https://bugs.webkit.org/show_bug.cgi?id=38697
- REGRESSION (r58299): Replying on reddit.com no longer works
-
- * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Don't recognize :first,
- :left and :right. The aren't allowed in all contexts, and properly implementing them is out
- of scope for this regression fix.
-
-2010-05-06 Jian Li <jianli@chromium.org>
-
- Reviewed by Adam Barth.
-
- Improve code generator scripts to support converting ScriptString.
- https://bugs.webkit.org/show_bug.cgi?id=38699
-
- Change both JSC and V8 generators to introduce "ConvertScriptString"
- attribute to allow converting from ScriptString. Also updated the
- bindings test result.
-
- These changes are necessary in order to avoid adding custom binding codes
- when we add the FileReader interface.
-
- * bindings/scripts/CodeGeneratorJS.pm:
- * bindings/scripts/CodeGeneratorV8.pm:
- * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
- (webkit_dom_test_obj_get_script_string_attr):
- (webkit_dom_test_obj_get_property):
- (webkit_dom_test_obj_class_init):
- * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
- * bindings/scripts/test/JS/JSTestObj.cpp:
- (WebCore::):
- (WebCore::jsTestObjScriptStringAttr):
- * bindings/scripts/test/JS/JSTestObj.h:
- * bindings/scripts/test/ObjC/DOMTestObj.h:
- * bindings/scripts/test/ObjC/DOMTestObj.mm:
- (-[DOMTestObj scriptStringAttr]):
- * bindings/scripts/test/TestObj.idl:
- * bindings/scripts/test/V8/V8TestObj.cpp:
- (WebCore::TestObjInternal::scriptStringAttrAttrGetter):
- (WebCore::):
-
-2010-05-06 Jian Li <jianli@chromium.org>
-
- Reviewed by Adam Barth.
-
- Improve code generator scripts to pass additional ScriptExecutionContext
- argument to the constructor.
- https://bugs.webkit.org/show_bug.cgi?id=38687
-
- Change both JSC and V8 generators to introduce "CallWith=ScriptExecutionContext"
- attribute to allow passing the additional ScriptExecutionContext argument to
- the constructor. Also add another test IDL file to test interface-level
- features.
-
- These changes are necessary in order to avoid adding custom binding codes
- when we add the FileReader interface.
-
- * bindings/scripts/CodeGeneratorJS.pm:
- * bindings/scripts/CodeGeneratorV8.pm:
- * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: Added.
- * bindings/scripts/test/GObject/WebKitDOMTestInterface.h: Added.
- * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h: Added.
- * bindings/scripts/test/JS/JSTestInterface.cpp: Added.
- * bindings/scripts/test/JS/JSTestInterface.h: Added.
- * bindings/scripts/test/ObjC/DOMTestInterface.h: Added.
- * bindings/scripts/test/ObjC/DOMTestInterface.mm: Added.
- * bindings/scripts/test/ObjC/DOMTestInterfaceInternal.h: Added.
- * bindings/scripts/test/TestInterface.idl: Added.
- * bindings/scripts/test/V8/V8TestInterface.cpp: Added.
- * bindings/scripts/test/V8/V8TestInterface.h: Added.
- * bindings/v8/V8Proxy.h:
- (WebCore::V8Proxy::constructDOMObjectWithScriptExecutionContext):
-
-2010-05-06 Maciej Stachowiak <mjs@apple.com>
-
- Build fix, not reviewed.
-
- Speculative Windows and Debug build fixes for the last change.
-
- * dom/Node.h:
- (WebCore::Node::inDocument):
- (WebCore::Node::setFlag):
-
-2010-05-06 James Robinson <jamesr@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Fix warnings emitted by gcc 4.4.1 on linux in chromium-specific platform graphics files.
- https://bugs.webkit.org/show_bug.cgi?id=38158
-
- Fixes:
- - replace NULL with 0
- - remove unusued locals
- - add parens around ambiguous looking compound predicates like (a || b && c)
-
- This also adds a check for x >= 0 to FontLinux.cpp's in this statement:
- if (x < walker.width())
- This is more documentation than anything else since walker.width() returns
- an unsigned the current behavior is that x is promoted to unsigned and as
- long as x + walker.width() is less than 2^31 all negative values of x
- end up wrapping around and not being < walker.width(). This behavior is
- tested by fast/text/international/khmer-selection.html
-
- * platform/graphics/chromium/FontLinux.cpp:
- (WebCore::adjustTextRenderMode):
- (WebCore::TextRunWalker::TextRunWalker):
- (WebCore::TextRunWalker::length):
- (WebCore::TextRunWalker::width):
- (WebCore::TextRunWalker::getTextRun):
- (WebCore::TextRunWalker::getNormalizedTextRun):
- (WebCore::Font::offsetForPositionForComplexText):
- * platform/graphics/chromium/FontPlatformDataLinux.cpp:
- (WebCore::FontPlatformData::setupPaint):
- * platform/graphics/chromium/HarfbuzzSkia.cpp:
- (WebCore::getOutlinePoint):
- * platform/graphics/skia/GraphicsContext3DSkia.cpp:
- (WebCore::GraphicsContext3D::getImageData):
- * platform/graphics/skia/GraphicsContextSkia.cpp:
- (WebCore::isCoordinateSkiaSafe):
- (WebCore::GraphicsContext::fillRect):
- (WebCore::GraphicsContext::strokePath):
- (WebCore::GraphicsContext::strokeRect):
-
-2010-05-06 Ada Chan <adachan@apple.com>
-
- Reviewed by David Kilzer.
-
- https://bugs.webkit.org/show_bug.cgi?id=38695
-
- Check the result from widget() for NULL before accessing it.
-
- * rendering/RenderIFrame.cpp:
- (WebCore::RenderIFrame::calcHeight):
- (WebCore::RenderIFrame::calcWidth):
-
-2010-05-06 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin Adler.
-
- further fixes towards REGRESSION (r57292): 1% PLT regression from visited link information leak fix
- https://bugs.webkit.org/show_bug.cgi?id=38682
- <rdar://problem/7859794>
-
- Looks like a 1-2% speedup on PLT.
-
- - Reorder CSS properties.
- - Remove short circuit tag check in matchRulesForList which costs more than it saves.
- - Inline initForStyleResolve.
- - Optimize applyDeclarations to avoid switch and take fewer branches in the inner loop.
-
- - Change the way Node handles flags - replace bitfield with a uint32_t and explicit masking,
- to make it cheaper to initialize the bits and give faster access.
- - Added new Node flags to check for isStyledElement, isHTMLElement, isSVGElement, isComment,
- and devirtualize those methods.
- - Inline constructors for Node, Element, Text, CharacterData, StyledElement, etc since
- they are very simple and lots of nodes get constructed.
-
- * css/CSSPropertyNames.in: Move a few of the properties up front so we can check for them
- with < instead of switch statements
- * css/CSSStyleSelector.cpp:
- (WebCore::CSSStyleSelector::matchRulesForList): Remove unnecessary preflight check
- for tag match before checking selector. This check very rarely short circuits anything,
- since most rules with a tag end up in the appropriate tag bucket. So doing the check
- cost more time than the time saved.
- (WebCore::CSSStyleSelector::initForStyleResolve): Inline. Create RenderStyle in a better way.
- (WebCore::CSSStyleSelector::applyDeclarations): Get rid of switch statement and use <= to
- check for the high priority properties. Convert to template to avoid checking "applyFirst"
- each time through the loop.
- (WebCore::CSSStyleSelector::styleForElement): Adjust for new applyDeclarations() signature.
- (WebCore::CSSStyleSelector::keyframeStylesForAnimation): ditto
- (WebCore::CSSStyleSelector::pseudoStyleForElement): ditto
- * css/CSSStyleSelector.h: Adjust for new applyDeclarations() signature.
- * rendering/style/RenderStyle.cpp:
- (WebCore::RenderStyle::RenderStyle): Inline constructor.
- * rendering/style/RenderStyle.h: Make constructor private so it can be inline.
- * dom/Node.h:
- (WebCore::): See high-level description of changes above. Redid the
- way boolean flags work.
- (WebCore::Node::isElementNode):
- (WebCore::Node::isContainerNode):
- (WebCore::Node::isTextNode):
- (WebCore::Node::isHTMLElement):
- (WebCore::Node::isSVGElement):
- (WebCore::Node::isStyledElement):
- (WebCore::Node::isCommentNode):
- (WebCore::Node::hasID):
- (WebCore::Node::hasClass):
- (WebCore::Node::active):
- (WebCore::Node::inActiveChain):
- (WebCore::Node::inDetach):
- (WebCore::Node::hovered):
- (WebCore::Node::attached):
- (WebCore::Node::setAttached):
- (WebCore::Node::needsStyleRecalc):
- (WebCore::Node::styleChangeType):
- (WebCore::Node::childNeedsStyleRecalc):
- (WebCore::Node::isLink):
- (WebCore::Node::setHasID):
- (WebCore::Node::setHasClass):
- (WebCore::Node::setChildNeedsStyleRecalc):
- (WebCore::Node::clearChildNeedsStyleRecalc):
- (WebCore::Node::setInDocument):
- (WebCore::Node::clearInDocument):
- (WebCore::Node::setInActiveChain):
- (WebCore::Node::clearInActiveChain):
- (WebCore::Node::setIsLink):
- (WebCore::Node::clearIsLink):
- (WebCore::Node::setActive):
- (WebCore::Node::setHovered):
- (WebCore::Node::inDocument):
- (WebCore::Node::):
- (WebCore::Node::getFlag):
- (WebCore::Node::setFlag):
- (WebCore::Node::clearFlag):
- (WebCore::Node::hasRareData):
- (WebCore::Node::isParsingChildrenFinished):
- (WebCore::Node::setIsParsingChildrenFinished):
- (WebCore::Node::clearIsParsingChildrenFinished):
- (WebCore::Node::isStyleAttributeValid):
- (WebCore::Node::setIsStyleAttributeValid):
- (WebCore::Node::clearIsStyleAttributeValid):
- (WebCore::Node::isSynchronizingStyleAttribute):
- (WebCore::Node::setIsSynchronizingStyleAttribute):
- (WebCore::Node::clearIsSynchronizingStyleAttribute):
- (WebCore::Node::areSVGAttributesValid):
- (WebCore::Node::setAreSVGAttributesValid):
- (WebCore::Node::clearAreSVGAttributesValid):
- (WebCore::Node::isSynchronizingSVGAttributes):
- (WebCore::Node::setIsSynchronizingSVGAttributes):
- (WebCore::Node::clearIsSynchronizingSVGAttributes):
- (WebCore::Node::hasRareSVGData):
- (WebCore::Node::setHasRareSVGData):
- (WebCore::Node::clearHasRareSVGData):
- (WebCore::Node::initialRefCount):
- * dom/Node.cpp:
- (WebCore::Node::trackForDebugging): Adjusted for changes in
- flag handling.
- (WebCore::Node::ensureRareData): ditto
- (WebCore::Node::setStyleChange): ditto
- (WebCore::Node::setNeedsStyleRecalc): ditto
- (WebCore::Node::lazyAttach): ditto
- (WebCore::Node::attach): ditto
- (WebCore::Node::detach): ditto
- (WebCore::Node::insertedIntoDocument): ditto
- (WebCore::Node::removedFromDocument): ditto
- * dom/CharacterData.cpp:
- * dom/CharacterData.h:
- (WebCore::CharacterData::CharacterData): Inline the constructor (moved from .cpp)
- * dom/Comment.cpp:
- (WebCore::Comment::Comment): Tell the base class that we're a comment.
- * dom/Comment.h: Remove isCommentNode override.
- * dom/ContainerNode.cpp:
- (WebCore::ContainerNode::detach): Adjusted for changes in flag
- handling.
- (WebCore::ContainerNode::removedFromDocument): ditto
- * dom/Document.cpp:
- (WebCore::Document::Document): Adjusted for changes in flag handling.
- (WebCore::Document::recalcStyle): ditto
- (WebCore::Document::setFocusedNode): ditto
- * dom/Document.h:
- (WebCore::Node::Node): Inline the Node constructor - goes here
- because it uses Document.
- * dom/DocumentFragment.cpp: include Document.h due to above change
- * dom/EditingText.cpp: ditto
- * dom/EntityReference.cpp: ditto
- * dom/Element.cpp:
- (WebCore::Element::getAttribute): Adjusted for changes in flag
- handling.
- (WebCore::Element::setAttribute): ditto
- (WebCore::Element::hasAttributes): ditto
- (WebCore::Element::recalcStyle): ditto
- (WebCore::Element::finishParsingChildren): ditto
- * dom/Element.h:
- (WebCore::Element::Element): Inline (moved from .cpp)
- (WebCore::Element::isFinishedParsingChildren):
- (WebCore::Element::beginParsingChildren):
- (WebCore::Element::attributes): Adjusted for changes in flag
- handling.
- * dom/StyledElement.cpp:
- (WebCore::StyledElement::updateStyleAttribute): Adjust for
- changes to flag handling.
- (WebCore::StyledElement::mapToEntry): ditto
- (WebCore::StyledElement::parseMappedAttribute): ditto
- (WebCore::StyledElement::copyNonAttributeProperties): ditto
- * dom/StyledElement.h:
- (WebCore::StyledElement::StyledElement): Inline (moved from.cpp)
- (WebCore::StyledElement::invalidateStyleAttribute): Adjust for
- changes in flag handling.
- * dom/Text.h:
- (WebCore::Text::Text): Inline (moved from .cpp)
- * dom/Text.cpp:
- * html/HTMLAnchorElement.cpp:
- (WebCore::HTMLAnchorElement::HTMLAnchorElement): Adjust for changes in
- flag handling.
- (WebCore::HTMLAnchorElement::parseMappedAttribute): ditto
- * html/HTMLElement.cpp:
- (WebCore::HTMLElement::create): Tell base class we're an HTML element.
- * html/HTMLElement.h: ditto above; remove isHTMLElement override.
- * html/HTMLFormControlElement.h: Tell base class we're an HTML element.
- * html/HTMLFrameOwnerElement.cpp:
- (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement): ditto
- * html/HTMLProgressElement.cpp:
- (WebCore::HTMLProgressElement::HTMLProgressElement): ditto
- * mathml/MathMLElement.cpp:
- (WebCore::MathMLElement::MathMLElement): Tell base class we're a styled
- element.
- * rendering/MediaControlElements.cpp:
- (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
- Adjust for changes in flag handling.
- (WebCore::MediaControlElement::MediaControlElement): ditto
- (WebCore::MediaControlInputElement::MediaControlInputElement): ditto
- * rendering/RenderFileUploadControl.cpp:
- (WebCore::RenderFileUploadControl::updateFromElement): ditto
- * rendering/RenderLayer.cpp:
- (WebCore::RenderLayer::updateHoverActiveState): ditto
- * rendering/RenderProgress.cpp:
- (WebCore::RenderProgress::updateValuePartState): ditto
- * rendering/RenderSlider.cpp:
- (WebCore::RenderSlider::updateFromElement): ditto
- * rendering/SVGShadowTreeElements.cpp:
- (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement): ditto
- * rendering/TextControlInnerElements.cpp:
- (WebCore::TextControlInnerElement::attachInnerElement): ditto
- * svg/SVGAnimatedProperty.h:
- (WebCore::SVGAnimatedPropertyTearOff::setBaseVal): ditto
- (WebCore::SVGAnimatedPropertyTearOff::setAnimVal): ditto
- * svg/SVGElement.cpp:
- (WebCore::SVGElement::SVGElement): Tell base class we're
- an svg element.
- (WebCore::SVGElement::ensureRareSVGData): Adjust for flag handling
- changes.
- (WebCore::SVGElement::updateAnimatedSVGAttribute): ditto
- * svg/SVGElement.h:
- (WebCore::SVGElement::invalidateSVGAttributes): ditto
- * svg/SVGPolyElement.cpp:
- (WebCore::SVGPolyElement::svgAttributeChanged): ditto
- * wml/WMLAnchorElement.cpp:
- (WebCore::WMLAnchorElement::WMLAnchorElement): ditto
- * wml/WMLElement.cpp:
- (WebCore::WMLElement::WMLElement): Tell base class we're a styled
- element.
-
-2010-05-06 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Fix indent. Sorry, my OCD was acting up.
-
- * page/EventHandler.cpp:
- (WebCore::EventHandler::handleMouseReleaseEvent):
-
-2010-05-06 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Joseph Pecoraro.
-
- Web Inspector: store selected Headers / Content tab on explicit switch and/or explicit navigate only.
-
- https://bugs.webkit.org/show_bug.cgi?id=38660
+ Web Inspector: Implement additional tabs support in ResourceView
+ https://bugs.webkit.org/show_bug.cgi?id=39822
* inspector/front-end/ResourceView.js:
(WebInspector.ResourceView):
(WebInspector.ResourceView.prototype._selectHeadersTab):
- (WebInspector.ResourceView.prototype.selectContentTab):
- * inspector/front-end/ResourcesPanel.js:
- (WebInspector.ResourcesPanel.prototype.showResource):
-
-2010-05-06 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Rubber-stamped by Simon Hausmann.
-
- [Qt] use QT_MOBILE_THEME in Symbian
- https://bugs.webkit.org/show_bug.cgi?id=38440
-
- Putting QT_MOBILE_THEME into use for Symbian.
-
- * WebCore.pro:
-
-2010-05-06 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Unreviewed, build fix WinCE for QtWebKit.
-
- [Qt] Compilation with Plugins disabled is broken
- https://bugs.webkit.org/show_bug.cgi?id=31407
-
- Rename platform/qt/TemporaryLinkStubs.cpp to avoid name collition on
- Windows.
-
- Thanks for Ismail "cartman" Donmez for help.
-
- No new tests, as there is no new functionality.
-
- * WebCore.gypi:
- * WebCore.pro:
- * platform/qt/TemporaryLinkStubs.cpp: Removed.
- * platform/qt/TemporaryLinkStubsQt.cpp: Copied from WebCore/platform/qt/TemporaryLinkStubs.cpp.
-
-2010-05-06 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] REGRESSION: Loading of external CSS and JS files over network fails in some cases
- https://bugs.webkit.org/show_bug.cgi?id=36755
-
- Enable the direct connection between QtNetwork and QtWebKit only for Qt versions
- greater than 4.6.2, due to a bug in Qt that's been fixed after 4.6.2.
-
- * platform/network/qt/QNetworkReplyHandler.cpp:
-
-2010-05-06 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- Rework where we get page step and line step from, so we do not
- depend on scrollbars existing. Caught by API test I forgot to run.
-
- * platform/gtk/ScrollViewGtk.cpp:
- (WebCore::ScrollView::setGtkAdjustments):
-
-2010-05-06 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- [GTK] Adjustment resetting uses wrong values, and misses page_size and steps
- https://bugs.webkit.org/show_bug.cgi?id=38657
-
- Fix resetting adjustment values. In the page cache case, we were
- confusing page_size and upper, leading to stray scrollbars
- sometimes.
-
- * platform/gtk/ScrollViewGtk.cpp:
- (WebCore::ScrollView::setGtkAdjustments):
-
-2010-05-06 Darin Adler <darin@apple.com>
-
- Reviewed by Beth Dakin.
-
- Page::setCanStartMedia does not properly handle the case where a media listener is removed
- https://bugs.webkit.org/show_bug.cgi?id=38602
-
- We can't find any real case where this causes a crash at this time, but
- we want to harden the code anyway. Thus there are no new regression tests.
-
- * page/Page.cpp:
- (WebCore::Page::removeMediaCanStartListener): Removed incorrect assertion.
- (WebCore::Page::setCanStartMedia): Change algorithm so we notify listeners
- one at a time and don't notify any listener that has already been removed
- from the set.
-
-2010-05-05 Ojan Vafai <ojan@chromium.org>
-
- Reviewed by Darin Adler.
-
- shift+click on an existing selection doesn't work right
- https://bugs.webkit.org/show_bug.cgi?id=36542
-
- NSTextView behavior is to move the end of the selection
- closest to the shift-click. Win/Linux behavior is to always
- move the focus end of the selection.
-
- Test: editing/selection/shift-click.html
-
- * page/EventHandler.cpp:
- (WebCore::textDistance):
- (WebCore::EventHandler::handleMousePressEventSingleClick):
-
-2010-05-06 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: implement panels history traversal on Cmd+Left/Right.
-
- https://bugs.webkit.org/show_bug.cgi?id=38649
-
- * inspector/front-end/inspector.js:
- (WebInspector.set currentPanel):
- (WebInspector.loaded):
- (WebInspector.documentKeyDown):
- (WebInspector.PanelHistory):
- (WebInspector.PanelHistory.prototype.canGoBack):
- (WebInspector.PanelHistory.prototype.goBack):
- (WebInspector.PanelHistory.prototype.canGoForward):
- (WebInspector.PanelHistory.prototype.goForward):
- (WebInspector.PanelHistory.prototype.setPanel):
-
-2010-05-03 Evan Martin <evan@chromium.org>
-
- Reviewed by Eric Seidel.
-
- [chromium] use glyphDataForCharacter so we hit the glyphdata cache
- https://bugs.webkit.org/show_bug.cgi?id=38500
-
- Calling fontDataForCharacters() while rendering text is expensive.
- Examining the relevant Mac code in WebKit revealed that calling the
- similarly-named glyphDataForCharacters() results in caching the font
- data on a per-glyph basis.
-
- Since we now choose a font based on the first character in a run, we
- need to be careful that all the glyphs within the run use the same font.
- This is also similar to the WebKit Mac code. We need to remove all of
- the script run bits eventually and this is a step in that direction.
-
- Tests: fast/text/international/danda-space.html spacing changes slightly
- (now matches Firefox better) and fast/text/international/thai-baht-space.html
- now picks the correct (serif) font for the digits.
-
- * platform/graphics/chromium/FontLinux.cpp:
- (WebCore::TextRunWalker::nextScriptRun):
- (WebCore::TextRunWalker::setupFontForScriptRun):
-
-2010-05-06 Martin Robinson <mrobinson@webkit.org>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GTK] Enable DOM clipboard and drag-and-drop access
- https://bugs.webkit.org/show_bug.cgi?id=30623
-
- Convert dragging portion of drag-and-drop to use DataObjectGtk.
-
- No new tests, because functionality has not changed.
-
- * page/gtk/EventHandlerGtk.cpp:
- (WebCore::EventHandler::createDraggingClipboard): Pass the DataObjectGtk as a parameter here.
- * platform/gtk/ClipboardGtk.h:
- (WebCore::ClipboardGtk::create): Take the DataObject as a parameter instead of creating it here.
- (WebCore::ClipboardGtk::helper): Added.
- (WebCore::ClipboardGtk::dataObject): Added.
- * platform/gtk/PasteboardHelper.h: Make targetListForDataObject a public method.
-
-2010-05-06 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Do not show content tab for resources
- not supporting content preview.
-
- https://bugs.webkit.org/show_bug.cgi?id=38635
-
- * English.lproj/localizedStrings.js:
- * inspector/front-end/FontView.js:
- (WebInspector.FontView.prototype.hasContentTab):
- * inspector/front-end/ImageView.js:
- (WebInspector.ImageView.prototype.hasContentTab):
- * inspector/front-end/ResourceView.js:
- (WebInspector.ResourceView):
- (WebInspector.ResourceView.prototype._selectTab):
- (WebInspector.ResourceView.prototype.hasContentTab):
+ (WebInspector.ResourceView.prototype._innerSelectContentTab):
* inspector/front-end/SourceView.js:
- (WebInspector.SourceView.prototype.hasContentTab):
-
-2010-05-06 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Kenneth Christiansen.
-
- Spatial Navigation: adapt the logic of {deep}findFocusableNodeInDirection to do traversal starting from Node* not Document*
- https://bugs.webkit.org/show_bug.cgi?id=37803
-
- Instead of receiving a Document pointer as incoming parameter, patch modifies
- findFocusableNodeInDirection and deepFindFocusableNodeInDirection methods to
- receive a Node pointer as start for content traversal.
- This way we can make good use of deepFindFocusableNodeInDirection to traverse
- other scrollable container like scrollable div's, and not only frames or iframes.
-
- Patch also makes use of 'while' instead of 'for' to loop control, that gives move
- flexibility to the incremental step: e.g. if a scrollable div was processed, the incremental
- step in the loop does not have to do node->traverseNextNode() but node->traverseNextSibling().
-
- No behavior change. It is a preparation for supporting scrollable containers in Spatial
- Navigation.
-
- * page/FocusController.cpp:
- (WebCore::FocusController::advanceFocusDirectionally):
- (WebCore::FocusController::findFocusableNodeInDirection):
- (WebCore::FocusController::deepFindFocusableNodeInDirection):
- * page/FocusController.h:
-
-2010-05-06 Csaba Osztrogonác <ossy@webkit.org>
-
- Unreviewed WinCE buildfix after r58842.
- Preprocessor doesn't understand "true", changed to "1"
-
- * platform/graphics/MediaPlayer.cpp:
+ (WebInspector.SourceView.prototype.show):
+ (WebInspector.SourceView.prototype.hide):
+ (WebInspector.SourceView.prototype.resize):
+ (WebInspector.SourceView.prototype.updateLocalContent):
+ (WebInspector.SourceView.prototype.selectLocalContentTab):
+ * inspector/front-end/TabbedPane.js: Added.
+ (WebInspector.TabbedPane):
+ (WebInspector.TabbedPane.prototype.appendTab):
+ (WebInspector.TabbedPane.prototype.tabObjectForId):
+ (WebInspector.TabbedPane.prototype.hideTab):
+ (WebInspector.TabbedPane.prototype.selectTabById):
+ * inspector/front-end/TextViewer.js:
+ (WebInspector.TextViewer.prototype._getSelection):
+ * inspector/front-end/inspector.html:
-2010-05-06 Mikhail Naganov <mnaganov@chromium.org>
+2010-05-31 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
- Temporarily disable 'console.profiles' until we can distinguish
- functions from different frames
-
- https://bugs.webkit.org/show_bug.cgi?id=38638
-
- * bindings/v8/custom/V8ConsoleCustom.cpp:
- (WebCore::V8Console::profilesAccessorGetter):
-
-2010-05-06 Steve Block <steveblock@google.com>
-
- Reviewed by Eric Seidel.
-
- MAC_JAVA_BRIDGE should be renamed JAVA_BRIDGE
- https://bugs.webkit.org/show_bug.cgi?id=38544
-
- No new tests, build fix only.
-
- * DerivedSources.make:
- * bindings/js/ScriptController.cpp:
- (WebCore::ScriptController::ScriptController):
- * bindings/js/ScriptController.h:
- * bindings/js/ScriptControllerMac.mm:
- (WebCore::ScriptController::createScriptInstanceForWidget):
- * bridge/jni/JNIBridge.cpp:
- * bridge/jni/JNIBridge.h:
- * bridge/jni/JNIUtility.cpp:
- * bridge/jni/JNIUtility.h:
- * bridge/jni/jni_jsobject.h:
- * bridge/jni/jni_jsobject.mm:
- * bridge/jni/jni_objc.mm:
- * bridge/jni/jsc/JNIBridgeJSC.cpp:
- * bridge/jni/jsc/JNIBridgeJSC.h:
- * bridge/jni/jsc/JNIUtilityPrivate.cpp:
- * bridge/jni/jsc/JNIUtilityPrivate.h:
- * bridge/jni/jsc/JavaClassJSC.cpp:
- * bridge/jni/jsc/JavaClassJSC.h:
- * bridge/jni/jsc/JavaInstanceJSC.cpp:
- * bridge/jni/jsc/JavaInstanceJSC.h:
- * loader/FrameLoaderClient.h:
-
-2010-05-05 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Xan Lopez.
-
- Fixed the gobject introspection compilation with the new DOM
- bindings, we needed to add DOM objects.
-
- * GNUmakefile.am:
-
-2010-05-06 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- drop support for sessionStorage in sandbox iframes
- https://bugs.webkit.org/show_bug.cgi?id=38151
-
- This patch causes us to throw a security exception when a sandboxed
- iframe attempts to access sessionStorage, matching our behavior for
- localStorage. The letter of the spec asks us to create a separate
- storage area for each unique origin. We might want to do that in a
- future patch, but throwing a security error seems like a safe move now.
-
- * page/DOMWindow.cpp:
- (WebCore::DOMWindow::sessionStorage):
- (WebCore::DOMWindow::localStorage):
- * page/DOMWindow.h:
- * page/DOMWindow.idl:
- * page/SecurityOrigin.h:
- (WebCore::SecurityOrigin::canAccessSessionStorage):
- * storage/StorageEventDispatcher.cpp:
- (WebCore::StorageEventDispatcher::dispatch):
-
-2010-05-06 Andy Estes <aestes@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Allow forms submitting to target="_blank" to open popups if the submission
- originated from a user gesture.
-
- https://bugs.webkit.org/show_bug.cgi?id=37335
- <rdar://problem/7884980>
-
- Test: fast/events/popup-allowed-from-gesture-initiated-form-submit.html
-
- * bindings/js/ScriptController.cpp:
- (WebCore::ScriptController::processingUserGesture): If no DOM event is
- being processed, consult UserGestureIndicator to determine return value.
- * bindings/js/ScriptController.h: Moved the logic of processingUserGestureEvent()
- into processingUserGesture().
-
-2010-05-06 Xan Lopez <xlopez@igalia.com>
-
- Rubber-stamped by Eric Seidel.
-
- [GTK] Refactor GenerateProperties in CodeGenerationGObject.pm
- https://bugs.webkit.org/show_bug.cgi?id=38577
-
- Thinko caught while refactoring, $custom variable was not
- initialized.
-
- * bindings/scripts/CodeGeneratorGObject.pm:
- * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
- (webkit_dom_test_obj_set_property):
- (webkit_dom_test_obj_get_property):
- (webkit_dom_test_obj_class_init):
-
-2010-05-06 Xan Lopez <xlopez@igalia.com>
+ Web Inspector: Implement retrieval of CSS stylesheets for source editing
+ https://bugs.webkit.org/show_bug.cgi?id=39833
- Rubber-stamped by Eric Seidel.
-
- [GTK] Refactor GenerateProperties in CodeGenerationGObject.pm
- https://bugs.webkit.org/show_bug.cgi?id=38577
-
- Refactor GenerateProperty out of GenerateProperties. This is in
- preparation for EventListeren attributes, which won't generate
- normal GObject properties.
-
- * bindings/scripts/CodeGeneratorGObject.pm:
-
-2010-05-06 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Joseph Pecoraro.
-
- Web Inspector: follow up to linkify event listeners.
-
- https://bugs.webkit.org/show_bug.cgi?id=38257
-
- * bindings/js/ScriptEventListener.cpp:
- (WebCore::eventListenerHandlerLocation):
- * bindings/v8/ScriptEventListener.cpp:
- (WebCore::eventListenerHandlerLocation):
- * inspector/front-end/ElementsPanel.js:
- (WebInspector.ElementsPanel.prototype.linkifyNodeReference):
- * inspector/front-end/EventListenersSidebarPane.js:
-
-2010-05-05 Charles Wei <charles.wei@torchmobile.com.cn>
-
- Reviewed by George Staikos
-
- https://bugs.webkit.org/show_bug.cgi?id=37848
- This patch adds WCSS -wap-input-format and -wap-input-required support to WebKit
-
- Tests: fast/wcss/wap-input-format.xhtml
- fast/wcss/wap-input-required.xhtml
+ Test: inspector/styles-source-offsets.html
* css/CSSParser.cpp:
- (WebCore::CSSParser::parseValue):
- (WebCore::CSSParser::parseWCSSInputProperty):
+ (WebCore::CSSParser::CSSParser):
+ (WebCore::CSSParser::parseSheet):
+ (WebCore::CSSParser::createStyleRule):
* css/CSSParser.h:
- * css/CSSStyleSelector.cpp:
- (WebCore::CSSStyleSelector::applyProperty):
- * css/WCSSPropertyNames.in:
- * dom/InputElement.cpp:
- (WebCore::InputElement::sanitizeValue):
- (WebCore::InputElement::handleBeforeTextInsertedEvent):
- (WebCore::InputElementData::InputElementData):
- (WebCore::formatCodes):
- (WebCore::cursorPositionToMaskIndex):
- (WebCore::InputElement::isConformToInputMask):
- (WebCore::InputElement::validateInputMask):
- * dom/InputElement.h:
- (WebCore::InputElementData::inputFormatMask):
- (WebCore::InputElementData::setInputFormatMask):
- (WebCore::InputElementData::maxInputCharsAllowed):
- (WebCore::InputElementData::setMaxInputCharsAllowed):
- * html/HTMLInputElement.cpp:
- (WebCore::HTMLInputElement::setWapInputFormat):
- * html/HTMLInputElement.h:
- (WebCore::HTMLInputElement::data):
- * wml/WMLInputElement.h:
- (WebCore::WMLInputElement::data):
-
-2010-05-05 MORITA Hajime <morrita@google.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=38150
- Refactoring: webkitEditableContentChangedEvent should be handled by the owner of appropriate the renderer.
-
- Moved a part of code chunk in HTMLFormControlElementWithState::defaultEventHandler()
- which accesses the renderer from foreign node,
- to TextControlInnerTextElement::defaultEventHandler() which owns the renderer.
-
- No new tests. No behavioral change.
-
- * html/HTMLFormControlElement.cpp:
- (WebCore::HTMLFormControlElementWithState::defaultEventHandler):
- * html/HTMLFormControlElement.h:
- * html/HTMLInputElement.h:
- * html/HTMLTextAreaElement.h:
- * rendering/TextControlInnerElements.cpp:
- (WebCore::TextControlInnerTextElement::defaultEventHandler):
-
-2010-05-05 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Line Numbers should be Aligned with the Source Code Line
- https://bugs.webkit.org/show_bug.cgi?id=38593
-
- If there is a message bubble, such as an error message, in a source view
- the line number should be in line with the source code line, not centered
- between the source and bubble.
-
- * inspector/front-end/textViewer.css:
- (.webkit-line-number): added vertical-align: top
-
-2010-05-05 Dan Bernstein <mitz@apple.com>
-
- Fix the decelerated compositing build.
-
- * page/FrameView.cpp:
- (WebCore::FrameView::isEnclosedInCompositingLayer):
- * page/FrameView.h:
-
-2010-05-05 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Darin Adler.
-
- Bug 38604 - workers-gc2 crashing on Qt
-
- This appears to be due to a couple of issues.
- (1) When the atomic string table is deleted it does not clear the 'inTable' bit
- on AtomicStrings - it implicitly assumes that all AtomicStrings have already
- been deleted at this point (otherwise they will crash in their destructor when
- they try to remove themselves from the atomic string table).
- (2) We don't fix the ordering in which WTF::WTFThreadData and
- WebCore::ThreadGlobalData are destructed.
-
- We should make sure that ThreadGlobalData is cleaned up before worker threads
- terminate and WTF::WTFThreadData is destroyed, and we should clear the inTable
- bit of members on atomic string table destruction.
-
- WTF changes (fix issue 2, above) - clean up the thread data on worker termination.
-
- * platform/ThreadGlobalData.cpp:
- (WebCore::ThreadGlobalData::~ThreadGlobalData):
- (WebCore::ThreadGlobalData::destroy):
- * platform/ThreadGlobalData.h:
- * workers/WorkerThread.cpp:
- (WebCore::WorkerThread::workerThread):
-
-2010-05-05 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Simon Fraser.
-
- <rdar://problem/7932072> Iframes in composited layers don’t repaint correctly (affects Yahoo! Mail with Flash Player 10.1)
- https://bugs.webkit.org/show_bug.cgi?id=38427
-
- Test: compositing/iframes/iframe-in-composited-layer.html
-
- * WebCore.base.exp: Export FrameView::isEnclosedInCompositingLayer().
- * page/FrameView.cpp:
- (WebCore::FrameView::isEnclosedInCompositingLayer): Added this predicate.
- * page/FrameView.h:
-
-2010-05-05 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Simon Fraser.
-
- Got composited iframes showing up on Mac again
- https://bugs.webkit.org/show_bug.cgi?id=38565
-
- This was broken by http://trac.webkit.org/changeset/58798. That
- change connected iframes through the parent document to the root
- of the layer tree. That is correct for Windows, but not for Mac.
- So the places where the linkage is made were wrapped in
- shouldPropagateCompositingToIFrameParent() calls, which is
- always false for Mac.
-
- Test: compositing/iframes/composited-iframe-alignment.html
-
- * rendering/RenderLayerCompositor.cpp:Avoid doing composited iframe linkage on Mac
- (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
- (WebCore::RenderLayerCompositor::didMoveOnscreen):
- (WebCore::RenderLayerCompositor::willMoveOffscreen):
- (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
-
-2010-05-05 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=38260
- <rdar://problem/7917548> Fix whitespace removing in deprecatedParseURL().
-
- Broken all the way since r4 (yes, that's a revision number).
-
- Test: http/tests/security/xss-DENIED-javascript-with-spaces.html
-
- * css/CSSHelper.cpp: (WebCore::deprecatedParseURL): Fixed loop conditions for remaining length.
-
-2010-05-05 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Beth Dakin.
-
- Many AXUnknown showing up in the hierarchy
- https://bugs.webkit.org/show_bug.cgi?id=38607
-
- The RenderTableSection should not be an accessible element.
-
- Test: platform/mac/accessibility/parent-of-table-row-is-table.html
-
- * accessibility/AccessibilityRenderObject.cpp:
- (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
-
-2010-05-05 Csaba Osztrogonác <ossy@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt]Disable Qt Multimedia backend for HTML 5 Audio and Video elements
- Fall back to the Phonon backend until the release situation has been cleared up.
-
- https://bugs.webkit.org/show_bug.cgi?id=38612
-
- Buildfix for QT_VERSION >= 0x040700 after r58810.
-
- * platform/graphics/MediaPlayer.cpp:
-
-2010-05-05 Jian Li <jianli@chromium.org>
-
- Reviewed by David Levin.
-
- XMLHttpRequestUpload events do not fire when sending a raw file or FormData object.
- https://bugs.webkit.org/show_bug.cgi?id=37771
-
- Test: http/tests/local/formdata/upload-events.html
-
- * xml/XMLHttpRequest.cpp:
- (WebCore::XMLHttpRequest::createRequest):
-
-2010-05-05 Csaba Osztrogonác <ossy@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Qt port should use its own QUuid class to create UUID string.
- https://bugs.webkit.org/show_bug.cgi?id=38581
-
- * platform/UUID.cpp:
- (WebCore::createCanonicalUUIDString): Added PLATFORM(QT) case.
-
-2010-05-05 Alexey Proskuryakov <ap@apple.com>
-
- Roll out r58830 for breaking tests.
-
- Was: https://bugs.webkit.org/show_bug.cgi?id=38546
- Node.focus() fails to move focus from subframe properly
-
- * html/HTMLFrameElementBase.cpp:
- (WebCore::HTMLFrameElementBase::setFocus):
-
-2010-05-05 Jian Li <jianli@chromium.org>
-
- Reviewed by Adam Barth.
-
- Implement FileReader class.
- https://bugs.webkit.org/show_bug.cgi?id=38157
-
- This patch only contains the implementation of FileReader class as defined
- in the File API spec: http://www.w3.org/TR/file-upload/#dfn-filereader.
-
- New test will be added when a IDL is exposed and the FILE_READER is turned
- on.
-
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * dom/EventNames.h:
- * dom/EventTarget.cpp:
- (WebCore::EventTarget::toFileReader):
- * dom/EventTarget.h:
- * html/FileError.h:
- (WebCore::FileError::FileError):
- * html/FileReader.cpp: Added.
- * html/FileReader.h: Added.
- * html/FileStream.cpp:
- (WebCore::FileStream::FileStream):
- (WebCore::FileStream::openForRead):
- (WebCore::FileStream::close):
- (WebCore::FileStream::read):
- * html/FileStream.h:
-
-2010-05-05 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- REGRESSION(r57969) Image decoder is repeatedly destroyed/created in CoreGraphics-based Windows WebKit
- https://bugs.webkit.org/show_bug.cgi?id=38595
-
- * platform/graphics/cg/ImageSourceCG.cpp:
- (WebCore::ImageSource::setData):
-
-2010-05-05 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Adele Peterson.
-
- https://bugs.webkit.org/show_bug.cgi?id=38546
- Node.focus() fails to move focus from subframe properly
-
- Test: fast/frames/take-focus-from-iframe.html
-
- * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::setFocus): Don't clear
- focus if this frame doesn't have it. This can happen if page's and HTMLFrameElement's ideas
- of focused frame get out of sync temporarily.
-
-2010-05-05 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Adele Peterson.
-
- https://bugs.webkit.org/show_bug.cgi?id=26824
- <rdar://problem/7018610> EventHandler can operate on a wrong frame if focus changes during
- keyboard event dispatch.
-
- EventHandler object is tied to a frame, so it's wrong for it to continue processing a keyboard
- event if focused frame changes between keydown and keypress.
-
- * manual-tests/focus-change-between-key-events.html: Added.
-
- * page/EventHandler.cpp: (WebCore::EventHandler::keyEvent): Bail out early if focused frame
- changes while dispatching keydown. Also made similar changes for Windows to maintain matching
- behavior, even though EventHandler was re-entered anyway due to WM_KEYDOWN and WM_CHAR being
- separate events.
-
-2010-05-05 Steve Block <steveblock@google.com>
-
- Reviewed by Adam Barth.
-
- MediaError.h is missing PassRefPtr.h include
- https://bugs.webkit.org/show_bug.cgi?id=38575
-
- No new tests, build fix only.
-
- * html/MediaError.h:
-
-2010-05-05 Alexander Pavlov <apavlov@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: Audits panel: Resource counters get reset when switching panels while reloading page
- https://bugs.webkit.org/show_bug.cgi?id=38579
-
- * inspector/front-end/AuditLauncherView.js:
- (WebInspector.AuditLauncherView.prototype.updateResourceTrackingState):
- (WebInspector.AuditLauncherView.prototype._updateResourceProgress):
-
-2010-05-05 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Joseph Pecoraro.
-
- Web Inspector: Doubleclick on line number should not trigger source editing.
-
- https://bugs.webkit.org/show_bug.cgi?id=38588
-
- * inspector/front-end/TextViewer.js:
- (WebInspector.TextViewer.prototype._handleDoubleClick):
-
-2010-05-05 Martin Robinson <mrobinson@webkit.org>
-
- Reviewed by Gustavo Noronha.
-
- [GTK] Enable DOM clipboard and drag-and-drop access
- https://bugs.webkit.org/show_bug.cgi?id=30623
-
- Add support in the PasteboardHelper for images, in preparation for drag-and-drop data.
-
- No new tests as functionality has not changed.
-
- * platform/gtk/PasteboardHelper.cpp:
- (WebCore::PasteboardHelper::fillSelectionData): Add support for images here.
- (WebCore::PasteboardHelper::targetListForDataObject): Add support for images here.
-
-2010-05-05 Stuart Morgan <stuartmorgan@chromium.org>
-
- Reviewed by Darin Fisher.
-
- Add a "focused" parameter to Widget::setFocus, and updates Document
- so that Widget is informed of focus loss as well as focus gain.
- Changes all existing setFocus implementations so that they ignore
- the 'false' case, so no behavior is changed until individual
- platforms are updated to handle the new case (if they want to).
-
- https://bugs.webkit.org/show_bug.cgi?id=37961
-
- * dom/Document.cpp:
- (WebCore::Document::setFocusedNode):
- * platform/Widget.h:
- * platform/android/WidgetAndroid.cpp:
- (WebCore::Widget::setFocus):
- * platform/chromium/WidgetChromium.cpp:
- (WebCore::Widget::setFocus):
- * platform/efl/WidgetEfl.cpp:
- (WebCore::Widget::setFocus):
- * platform/gtk/WidgetGtk.cpp:
- (WebCore::Widget::setFocus):
- * platform/haiku/WidgetHaiku.cpp:
- (WebCore::Widget::setFocus):
- * platform/mac/WidgetMac.mm:
- (WebCore::Widget::setFocus):
- * platform/qt/WidgetQt.cpp:
- (WebCore::Widget::setFocus):
- * platform/win/WidgetWin.cpp:
- (WebCore::Widget::setFocus):
- * platform/wx/WidgetWx.cpp:
- (WebCore::Widget::setFocus):
- * plugins/PluginView.h:
- * plugins/PluginViewNone.cpp:
- (WebCore::PluginView::setFocus):
- * plugins/gtk/PluginViewGtk.cpp:
- (WebCore::PluginView::setFocus):
- * plugins/mac/PluginViewMac.cpp:
- (WebCore::PluginView::setFocus):
- * plugins/qt/PluginViewQt.cpp:
- (WebCore::PluginView::setFocus):
- * plugins/symbian/PluginViewSymbian.cpp:
- (WebCore::PluginView::setFocus):
- * plugins/win/PluginViewWin.cpp:
- (WebCore::PluginView::setFocus):
-
-2010-05-05 Steve Block <steveblock@google.com>
-
- Reviewed by Pavel Feldman.
-
- Move V8 ScriptDebugServer::topStackFrame() to ScriptCallStack
- https://bugs.webkit.org/show_bug.cgi?id=38531
-
- ScriptCallStack::create() uses ScriptDebugServer::topStackFrame(), but ScriptDebugServer
- is guarded with ENABLE(JAVASCRIPT_DEBUGGER). This prevents ScriptCallStack from being
- built on platforms that do not define ENABLE(JAVASCRIPT_DEBUGGER).
-
- No new tests, build fix only.
-
- * bindings/v8/ScriptCallStack.cpp:
- (WebCore::ScriptCallStack::callLocation):
- (WebCore::ScriptCallStack::createUtilityContext): Helper for topStackFrame, moved from ScriptDebugServer
- (WebCore::ScriptCallStack::topStackFrame): Moved from ScriptDebugServer
- * bindings/v8/ScriptCallStack.h:
- (WebCore::ScriptCallStack::utilityContext): Helper for topStackFrame, moved from ScriptDebugServer
- * bindings/v8/ScriptDebugServer.cpp:
- * bindings/v8/ScriptDebugServer.h:
-
-2010-05-05 Csaba Osztrogonác <ossy@webkit.org>
-
- Rubber-stamped by Simon Hausmann.
-
- [Qt] REGRESSION(r56869): WinCE build is broken
- https://bugs.webkit.org/show_bug.cgi?id=36929
-
- * WebCore.pro: LIBS += -lOle32 added.
-
-2010-05-05 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Disable Qt Multimedia backend for HTML 5 Audio and Video elements
-
- Fall back to the Phonon backend until the release situation has been cleared up.
-
- * WebCore.pro:
-
-2010-05-05 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- WebInspector: Clickable links to resources should be used as 'details' part for the all suitable kinds of records.
- https://bugs.webkit.org/show_bug.cgi?id=38542
-
- * inspector/front-end/TimelinePanel.js:
- (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
- (WebInspector.TimelineRecordListRow):
- (WebInspector.TimelineRecordListRow.prototype.update):
- (WebInspector.TimelinePanel.FormattedRecord):
- (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
- (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
- (WebInspector.TimelinePanel.PopupContentHelper):
- (WebInspector.TimelinePanel.PopupContentHelper.prototype._createCell):
- (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendTextRow):
- (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendElementRow):
- (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendLinkRow):
-
-2010-05-05 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Not reviewed. Add missing files generated by "run-bindings-test", after the DOMTestCallback.idl addition.
-
- * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp: Added.
- (WebKit::kit):
- (webkit_dom_test_callback_callback_with_class1param):
- (webkit_dom_test_callback_callback_with_class2param):
- (webkit_dom_test_callback_callback_with_non_bool_return_type):
- (WebKit::wrapTestCallback):
- (WebKit::core):
- (webkit_dom_test_callback_finalize):
- (webkit_dom_test_callback_set_property):
- (webkit_dom_test_callback_get_property):
- (webkit_dom_test_callback_class_init):
- (webkit_dom_test_callback_init):
- * bindings/scripts/test/GObject/WebKitDOMTestCallback.h: Added.
- * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h: Added.
- * bindings/scripts/test/ObjC/DOMTestCallback.h: Added.
- * bindings/scripts/test/ObjC/DOMTestCallback.mm: Added.
- (-[DOMTestCallback dealloc]):
- (-[DOMTestCallback finalize]):
- (-[DOMTestCallback callbackWithClass1Param:]):
- (-[DOMTestCallback callbackWithClass2Param:strArg:]):
- (-[DOMTestCallback callbackWithNonBoolReturnType:]):
- (-[DOMTestCallback customCallback:class6Param:]):
- (core):
- (kit):
- * bindings/scripts/test/ObjC/DOMTestCallbackInternal.h: Added.
-
-2010-05-05 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: FontView needs Cleanup
- https://bugs.webkit.org/show_bug.cgi?id=38567
-
- FontView was missing some of the newer practices for initialization
- that other Resource Views had. Also its width calculations could
- result in a single character wrapping. This is general cleanup.
-
- * inspector/front-end/FontView.js:
- (WebInspector.FontView): move initialization into contentTabSelected
- (WebInspector.FontView.prototype.contentTabSelected): handle initialization like other Resource Views
- (WebInspector.FontView.prototype.updateFontPreviewSize): use a narrower width to prevent text from widowing
-
-2010-05-05 Dirk Schulze <krit@webkit.org>
-
- Reviewed by Nikolas Zimmermann.
-
- SVG hit testing is *way* too slow
- https://bugs.webkit.org/show_bug.cgi?id=19312
-
- Use the cached stroke and fill boundaries in RenderPath as a heuristik to
- speed up SVG's hit testing.
-
- No new tests added.
-
- * rendering/RenderPath.cpp:
- (WebCore::RenderPath::fillContains):
- (WebCore::RenderPath::strokeContains):
-
-2010-05-04 Dumitru Daniliuc <dumi@chromium.org>
-
- Reviewed by Adam Barth.
-
- Auto-generate all Database callbacks.
- https://bugs.webkit.org/show_bug.cgi?id=38503
-
- * DerivedSources.cpp:
- * DerivedSources.make:
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pri:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/js/JSBindingsAllInOne.cpp:
- * bindings/js/JSCustomSQLStatementCallback.cpp: Removed.
- * bindings/js/JSCustomSQLStatementCallback.h: Removed.
- * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
- (WebCore::JSSQLStatementErrorCallback::handleEvent):
- * bindings/js/JSCustomSQLStatementErrorCallback.h: Removed.
- * bindings/js/JSCustomSQLTransactionCallback.cpp: Removed.
- * bindings/js/JSCustomSQLTransactionCallback.h: Removed.
- * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: Removed.
- * bindings/js/JSCustomSQLTransactionErrorCallback.h: Removed.
- * bindings/js/JSDatabaseCallback.cpp: Removed.
- * bindings/js/JSDatabaseCallback.h: Removed.
- * bindings/js/JSDatabaseCustom.cpp:
- (WebCore::JSDatabase::changeVersion):
- (WebCore::createTransaction):
- * bindings/js/JSSQLTransactionCustom.cpp:
- (WebCore::JSSQLTransaction::executeSql):
- * bindings/scripts/CodeGeneratorJS.pm:
- * bindings/scripts/test/JS/JSTestCallback.cpp:
- * bindings/v8/custom/V8CustomSQLStatementCallback.cpp: Removed.
- * bindings/v8/custom/V8CustomSQLStatementCallback.h: Removed.
- * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
- (WebCore::V8SQLStatementErrorCallback::handleEvent):
- * bindings/v8/custom/V8CustomSQLStatementErrorCallback.h: Removed.
- * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp: Removed.
- * bindings/v8/custom/V8CustomSQLTransactionCallback.h: Removed.
- * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp: Removed.
- * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.h: Removed.
- * bindings/v8/custom/V8DatabaseCallback.cpp: Removed.
- * bindings/v8/custom/V8DatabaseCallback.h: Removed.
- * bindings/v8/custom/V8DatabaseCustom.cpp:
- (WebCore::V8Database::changeVersionCallback):
- (WebCore::createTransaction):
- * bindings/v8/custom/V8SQLTransactionCustom.cpp:
- (WebCore::V8SQLTransaction::executeSqlCallback):
- * storage/DatabaseCallback.h:
- * storage/DatabaseCallback.idl: Added.
- * storage/SQLStatement.cpp:
- (WebCore::SQLStatement::performCallback):
- * storage/SQLStatementCallback.h:
- * storage/SQLStatementCallback.idl: Added.
- * storage/SQLStatementErrorCallback.idl: Added.
- * storage/SQLTransaction.cpp:
- (WebCore::SQLTransaction::deliverTransactionCallback):
- * storage/SQLTransactionCallback.h:
- * storage/SQLTransactionCallback.idl: Added.
- * storage/SQLTransactionErrorCallback.h:
- * storage/SQLTransactionErrorCallback.idl: Added.
-
-2010-05-04 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Simon Fraser.
-
- Made composited iframes work on Windows
- https://bugs.webkit.org/show_bug.cgi?id=32446
-
- This completes the work in http://trac.webkit.org/changeset/57919
- to create compositing layers in the parent document when an iframe has
- a compositing layer. The parent document has a layer for the iframe
- element and builds a layer tree to the page root. The layer tree for the
- iframe document is then parented to the iframe element's GraphicsLayer.
-
- The RenderLayerCompositor for the iframe document (which owns the
- root of the layer tree) now has a clippingLayer which is the
- parent of the layer tree root so it can be clipped to the parent
- iframe's bounds, taking into account borders, padding, etc. in
- the parent iframe element.
-
- I also got rid of a no longer used function: RenderLayerCompositor::parentInRootLayer
-
- Test: compositing/iframes/composited-parent-iframe.html
-
- * rendering/RenderLayerBacking.cpp:Make calls to RenderLayerCompositor to set the clipping bounds for iframe content
- * rendering/RenderLayerCompositor.cpp:Hook the iframe content to the parent iframe element
- * rendering/RenderLayerCompositor.h:
-
-2010-05-03 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Adam Barth.
-
- https://bugs.webkit.org/show_bug.cgi?id=38497
- <rdar://problem/7759438> Make sure that http URLs always have a host in SecurityOrigin
-
- This is a hardening fix, and behavior really depends on what an underlying networking layer
- does. So, no test.
-
- * page/SecurityOrigin.cpp:
- (WebCore::schemeRequiresAuthority): List schemes that need an authority for successful loading.
- (WebCore::SecurityOrigin::SecurityOrigin): Never let e.g. http origins with empty authorities
- have the same security origin.
-
-2010-05-04 Zhenyao Mo <zmo@google.com>
-
- Reviewed by Dimitri Glazkov.
-
- getFramebufferAttachmentParameter should return the original WebGLTexture/WebGLRenderbuffer instead of creating new ones sharing names.
- https://bugs.webkit.org/show_bug.cgi?id=38236
-
- * html/canvas/CanvasObject.h: Add type check functions.
- (WebCore::CanvasObject::isBuffer):
- (WebCore::CanvasObject::isFramebuffer):
- (WebCore::CanvasObject::isProgram):
- (WebCore::CanvasObject::isRenderbuffer):
- (WebCore::CanvasObject::isShader):
- (WebCore::CanvasObject::isTexture):
- * html/canvas/WebGLBuffer.h: Add type check functions.
- (WebCore::WebGLBuffer::isBuffer):
- * html/canvas/WebGLFramebuffer.h: Add type check functions.
- (WebCore::WebGLFramebuffer::isFramebuffer):
- * html/canvas/WebGLProgram.h: Add type check functions.
- (WebCore::WebGLProgram::isProgram):
- * html/canvas/WebGLRenderbuffer.cpp: remove constructor using existing name.
- * html/canvas/WebGLRenderbuffer.h: Add type check functions; remove constructor using existing name.
- (WebCore::WebGLRenderbuffer::isRenderbuffer):
- * html/canvas/WebGLRenderingContext.cpp:
- (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): Return original Texture/Renderbuffer instead of creating new ones.
- (WebCore::WebGLRenderingContext::findTexture): Find a WebGLTexture using a name.
- (WebCore::WebGLRenderingContext::findRenderbuffer): Find a WebGLRenderbuffer using a name.
- * html/canvas/WebGLRenderingContext.h: Add find* functions.
- * html/canvas/WebGLShader.h: Add type check functions.
- (WebCore::WebGLShader::isShader):
- * html/canvas/WebGLTexture.cpp: remove constructor using existing name.
- * html/canvas/WebGLTexture.h: Add type check functions; remove constructor using existing name.
- (WebCore::WebGLTexture::isTexture):
-
-2010-05-04 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] QT_MOBILE_THEME compile time flag
- https://bugs.webkit.org/show_bug.cgi?id=38439
-
- Replacing preprocessor conditional used in RenderThemeQt from Q_WS_MAEMO_5 to
- USE(QT_MOBILE_THEME).
-
- * WebCore.pro:
- * platform/qt/RenderThemeQt.cpp:
- (WebCore::RenderThemeQt::RenderThemeQt):
- (WebCore::RenderThemeQt::qStyle):
- (WebCore::RenderThemeQt::extraDefaultStyleSheet):
- (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
- (WebCore::RenderThemeQt::setPaletteFromPageClientIfExists):
- * platform/qt/RenderThemeQt.h:
-
-2010-05-04 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- SVG fonts trigger GlyphPage::fill with null font
- https://bugs.webkit.org/show_bug.cgi?id=38530
-
- SVG fonts do not use the glyph page cache. This change detects when
- attempting to fill a GlyphPage with an SVG font and indicates that
- the glyphs were not available.
-
- * platform/graphics/GlyphPageTreeNode.cpp:
- (WebCore::fill): helper method which handles attempts to fill a GlyphPage with SVG or non-SVG fonts
- (WebCore::GlyphPageTreeNode::initializePage): use the helper where appropriate
-
-2010-05-04 Kent Tamura <tkent@chromium.org>
-
- Reviewed by David Levin (and unofficially by Enrica Casucci).
-
- REGRESSION(r54368): Text drag-and-drop from input/textarea doesn't work
- if the text is like a URL
- https://bugs.webkit.org/show_bug.cgi?id=38374
-
- Since r54368, documentFragmentFromDragData() creates an <a> element
- with no anchor text for URL-like text dragged from input/textarea
- element. If such text is dropped to input/textarea element, the text
- is not inserted.
- To fix this problem, use the original text or the URL as an anchor
- text.
-
- Test: editing/pasteboard/drag-drop-url-text.html
-
- * page/DragController.cpp:
- (WebCore::documentFragmentFromDragData):
-
-2010-05-04 Steve Block <steveblock@google.com>
-
- Reviewed by Darin Adler.
-
- JavaInstanceJSC.cpp and JNIUtilityPrivate.cpp need to include jni_jsobject.h for jlong_to_pt() and ptr_to_jlong()
- https://bugs.webkit.org/show_bug.cgi?id=38525
-
- No new tests, build fix only.
-
- * bridge/jni/jni_jsobject.h: Guard Mac-specific code with PLATFORM(MAC)
- * bridge/jni/jsc/JNIUtilityPrivate.cpp: Include jni_jsobject.h
- * bridge/jni/jsc/JavaInstanceJSC.cpp: Include jni_jsobject.h
-
-2010-05-04 Steve Block <steveblock@google.com>
-
- Reviewed by Darin Adler.
-
- New FileSystemPOSIX functions cause linker errors on Android
- https://bugs.webkit.org/show_bug.cgi?id=38521
-
- No new tests, build fix only.
-
- * platform/android/FileSystemAndroid.cpp: Remove closeFile, which is provided in FileSystemPOSIX.cpp
- * platform/posix/FileSystemPOSIX.cpp: Guard writeToFile with !PLATFORM(ANDROID)
-
-2010-05-04 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: restore main and sidebar scroller positions
- when switching between panels.
-
- https://bugs.webkit.org/show_bug.cgi?id=38522
-
- * inspector/front-end/ElementsPanel.js:
- (WebInspector.ElementsPanel.prototype.elementsToRestoreScrollPositionsFor):
- * inspector/front-end/Panel.js:
- (WebInspector.Panel.prototype.show):
- (WebInspector.Panel.prototype.hide):
- (WebInspector.Panel.prototype.elementsToRestoreScrollPositionsFor):
- (WebInspector.Panel.prototype._storeScrollPositions):
- (WebInspector.Panel.prototype._restoreScrollPositions):
- * inspector/front-end/ResourcesPanel.js:
- (WebInspector.ResourcesPanel.prototype.elementsToRestoreScrollPositionsFor):
- * inspector/front-end/ScriptsPanel.js:
- (WebInspector.ScriptsPanel.prototype.elementsToRestoreScrollPositionsFor):
-
-2010-05-04 Steven Lai <steven_lai@asia.apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=37900
- <rdar://problem/7806164> cloneNode() does not preserve z-index with more than six digits
-
- Tests: fast/dom/HTMLInputElement/clone-input-checked.html
- fast/dom/clone-node-z-index.html
-
- * dom/Element.cpp: undid the order change of calling copyNonAttributeProperties() before setAttributes()
- (WebCore::Element::cloneElementWithoutChildren): uncheck the previous radio button in the same radio button group only when the checked radio box is appended to the dom tree
- * html/HTMLInputElement.cpp:
- (WebCore::HTMLInputElement::updateCheckedRadioButtons):
- (WebCore::HTMLInputElement::attach):
- (WebCore::HTMLInputElement::setChecked):
- * html/HTMLInputElement.h:
-
-2010-04-29 John Gregg <johnnyg@google.com>
-
- Reviewed by Dmitry Titov.
-
- notifications should have dir and replaceId attributes.
- Note that tests are only enabled in Chromium, skipped elsewhere
- since notifications aren't implemented.
- https://bugs.webkit.org/show_bug.cgi?id=38336
-
- Tests: fast/notifications/notifications-replace.html
- fast/notifications/notifications-rtl.html
-
- * notifications/Notification.h:
- (WebCore::Notification::dir):
- (WebCore::Notification::setDir):
- (WebCore::Notification::replaceId):
- (WebCore::Notification::setReplaceId):
- * notifications/Notification.idl:
-
-2010-05-04 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Xan Lopez.
-
- Fixed error defining the float/double minimum in the object
- properties, the smallest value of a float/double is
- -G_MAXDOUBLE/-G_MAXFLOAT.
-
- * bindings/scripts/CodeGeneratorGObject.pm:
-
-2010-05-03 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- REGRESSION: Text clipped in absolutely positioned search inputs
- https://bugs.webkit.org/show_bug.cgi?id=38468
-
- Previously I incorrectly added x() and y() to the tx and ty positioning.
- This clips a search input like a text input, respecting the vertically
- centered text.
-
- * rendering/RenderTextControlSingleLine.cpp:
- (WebCore::RenderTextControlSingleLine::layout): only the Y changes, so change setLocation to setY
- (WebCore::RenderTextControlSingleLine::controlClipRect):
-
-2010-05-04 Alexander Pavlov <apavlov@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: REGRESSION: Up/Down, PgUp/PgDown keys do not change numeric style properties
- https://bugs.webkit.org/show_bug.cgi?id=38516
-
- * inspector/front-end/StylesSidebarPane.js:
- (WebInspector.StylePropertyTreeElement.prototype):
-
-2010-05-04 Ben Murdoch <benm@google.com>
-
- Reviewed by Simon Hausmann.
-
- Crash in handleTouchEvent: using dangling node ptrs in hashmap
- https://bugs.webkit.org/show_bug.cgi?id=38514
-
- When navigating away from a page, if you have your finger still
- pressed and then lift it on the new page we see a crash if the
- node got deleted as we still have a dangling pointer in the
- m_originatingTouchPointTargets hashmap and try to use it as the
- receiver to dispatch a touchend event.
-
- Test: fast/events/touch/touch-stale-node-crash.html
-
- * page/EventHandler.cpp:
- (WebCore::EventHandler::clear): Clear the hashmap of touch targets.
-
-2010-05-04 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: Drawer Misbehaving when Docking / Undocking in Console Panel
- https://bugs.webkit.org/show_bug.cgi?id=38510
-
- * inspector/front-end/inspector.js:
- (WebInspector.set attached): resize the drawer after docking/undocking
-
-2010-05-04 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Unreviewed, build fix for Symbian.
-
- [Symbian] Build fix after r58598.
-
- Use C99 integer types for the Symbian plugin
- implementation.
-
- No new tests, as there is no new functionality.
-
- * plugins/symbian/PluginPackageSymbian.cpp:
- (WebCore::PluginPackage::NPVersion):
- * plugins/symbian/PluginViewSymbian.cpp:
- (WebCore::PluginView::handlePostReadFile):
-
-2010-05-04 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Reviewed by Dirk Schulze.
-
- Split SVGCharacterLayoutInfo in smaller pieces
- https://bugs.webkit.org/show_bug.cgi?id=38513
-
- Split SVGCharacterLayoutInfo into SVGCharacterLayoutInfo/SVGCharacterData and SVGTextChunkLayoutInfo.
- This is a preparation for more work in the text area.
-
- * Android.mk: Add SVGCharacterData.(cpp|h) and SVGTextChunkLayoutInfo.h to build.
- * GNUmakefile.am: Ditto.
- * WebCore.gypi: Ditto.
- * WebCore.pro: Ditto
- * WebCore.vcproj/WebCore.vcproj: Ditto.
- * WebCore.xcodeproj/project.pbxproj: Ditto.
- * rendering/SVGCharacterData.cpp: Copied from rendering/SVGCharacterLayoutInfo.cpp.
- * rendering/SVGCharacterData.h: Copied from rendering/SVGCharacterLayoutInfo.h.
- (WebCore::SVGChar::SVGChar):
- * rendering/SVGCharacterLayoutInfo.cpp:
- (WebCore::SVGCharacterLayoutInfo::isInitialLayout): Introduced new helper function to share code between addLayoutInformation/addStackContent.
- (WebCore::SVGCharacterLayoutInfo::addLayoutInformation): Use new helper function.
- (WebCore::SVGCharacterLayoutInfo::addStackContent): Ditto
- * rendering/SVGCharacterLayoutInfo.h:
- * rendering/SVGRootInlineBox.h: Include new files.
- * rendering/SVGTextChunkLayoutInfo.h: Copied from rendering/SVGCharacterLayoutInfo.h.
-
-2010-05-04 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Holger Freyther.
-
- [GTK] GObject DOM bindings
- https://bugs.webkit.org/show_bug.cgi?id=33590
-
- Use helper functions from CodeGenerator.pm to figure out whether a
- type is "fundamental" or not (basically whether it's anything
- other than a string or a non-pointer type).
-
- * bindings/scripts/CodeGeneratorGObject.pm:
-
-2010-04-30 Alexander Pavlov <apavlov@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- Web Inspector: REGRESSION: Disabled style properties are absent in Styles sidebar after WebInspector is re-opened
- https://bugs.webkit.org/show_bug.cgi?id=38255
-
- Moved stylesheet-related mappings into a separate object stored
- in InspectorController rather than InspectorDOMAgent (which gets reset
- on every frontend [dis]connect).
-
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * inspector/InspectorCSSStore.cpp: Added.
- (WebCore::InspectorCSSStore::InspectorCSSStore):
- (WebCore::InspectorCSSStore::~InspectorCSSStore):
- (WebCore::InspectorCSSStore::reset):
- * inspector/InspectorCSSStore.h: Added.
- * inspector/InspectorController.cpp:
- (WebCore::InspectorController::InspectorController):
- (WebCore::InspectorController::setFrontend):
- (WebCore::InspectorController::didCommitLoad):
- * inspector/InspectorController.h:
+ * inspector/InspectorBackend.cpp:
+ (WebCore::InspectorBackend::getStyleSheet):
+ (WebCore::InspectorBackend::getRuleRangesForStyleSheetId):
+ * inspector/InspectorBackend.h:
+ * inspector/InspectorBackend.idl:
+ * inspector/InspectorCSSStore.cpp:
+ (WebCore::InspectorCSSStore::getRuleRangesForStyleSheet):
+ (WebCore::InspectorCSSStore::asCSSStyleRule):
+ (WebCore::InspectorCSSStore::styleSheetForId):
+ * inspector/InspectorCSSStore.h:
* inspector/InspectorDOMAgent.cpp:
- (WebCore::InspectorDOMAgent::InspectorDOMAgent):
- (WebCore::InspectorDOMAgent::discardBindings):
- (WebCore::InspectorDOMAgent::applyStyleText):
- (WebCore::InspectorDOMAgent::setStyleText):
- (WebCore::InspectorDOMAgent::setStyleProperty):
- (WebCore::InspectorDOMAgent::toggleStyleEnabled):
- (WebCore::InspectorDOMAgent::setRuleSelector):
- (WebCore::InspectorDOMAgent::addRule):
- (WebCore::InspectorDOMAgent::bindStyle):
- (WebCore::InspectorDOMAgent::bindRule):
+ (WebCore::InspectorDOMAgent::getStyleSheet):
+ (WebCore::InspectorDOMAgent::getRuleRangesForStyleSheetId):
(WebCore::InspectorDOMAgent::buildObjectForStyle):
+ (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
+ (WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
(WebCore::InspectorDOMAgent::buildObjectForRule):
+ (WebCore::InspectorDOMAgent::getParentStyleSheet):
* inspector/InspectorDOMAgent.h:
- (WebCore::InspectorDOMAgent::create):
- (WebCore::InspectorDOMAgent::cssStore):
-
-2010-05-04 Mikhail Naganov <mnaganov@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Display "Recording..." item when recording an user-initiated CPU profile.
-
- https://bugs.webkit.org/show_bug.cgi?id=38043
-
- * English.lproj/localizedStrings.js:
- * inspector/front-end/ProfilesPanel.js:
- (WebInspector.ProfilesPanel.prototype.addProfileHeader):
- (WebInspector.ProfilesPanel.prototype.removeProfileHeader):
- (WebInspector.ProfilesPanel.prototype.showProfile):
- * inspector/front-end/inspector.js:
- (WebInspector.setRecordingProfile):
-
-2010-05-04 Tucker Jay <jay.tucker@nokia.com>
-
- Reviewed by Holger Freyther.
-
- Animated GIF images does not animate 10x as expected by default.
- https://bugs.webkit.org/show_bug.cgi?id=36818
-
- Added test case to existing manual test to test the
- fixed functionality.
-
- * manual-tests/qt/qt-10loop-anim.gif: Added.
- * manual-tests/qt/qt-gif-test.html:
- * platform/graphics/qt/ImageDecoderQt.cpp:
- (WebCore::ImageDecoderQt::repetitionCount):
-
-2010-05-04 Dirk Schulze <krit@webkit.org>
-
- Unreviewed sort of XCodes project file.
-
- * WebCore.xcodeproj/project.pbxproj:
-
-2010-05-03 Steven Lai <steven_lai@asia.apple.com>
-
- Reviewed by Brady Eidson.
-
- Reverted hashchange() event back to async.
- (This change does not update HashChangeEvent to its new proposed interface)
- https://bugs.webkit.org/show_bug.cgi?id=36201
- rdar://problem/7780794
- rdar://problem/7761278 (partial fix)
-
- Tests: fast/loader/hashchange-event-async.html
-
- * dom/Document.cpp: reverted hashchange() event back to async
- (WebCore::Document::enqueueHashchangeEvent):
-
-2010-05-03 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Rubber-stamped by Xan Lopez.
-
- [Cairo,WX] Stop leaking a FontPlatformData.
- https://bugs.webkit.org/show_bug.cgi?id=37500
-
- Stephan Aßmus pointed out that the pango font backend
- is leaking memory and fixed it. The WX font backend
- and the Cairo/Fontconfig backend have the same snippet
- of code and are leaking memory as well. This commit is
- fixing that.
-
- * platform/graphics/cairo/SimpleFontDataCairo.cpp:
- (WebCore::SimpleFontData::smallCapsFontData):
- * platform/graphics/wx/SimpleFontDataWx.cpp:
- (WebCore::SimpleFontData::smallCapsFontData):
-
-2010-05-03 James Robinson <jamesr@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Clean up a few compiler warnings
- https://bugs.webkit.org/show_bug.cgi?id=38073
-
- * html/TextMetrics.h:
- (WebCore::TextMetrics::width):
- * rendering/style/StyleRareInheritedData.h:
- * rendering/style/StyleRareNonInheritedData.h:
-
-2010-05-02 Dumitru Daniliuc <dumi@chromium.org>
-
- Reviewed by Adam Barth.
-
- Add the ability to auto-generate callbacks to all code generators.
- https://bugs.webkit.org/show_bug.cgi?id=38414
-
- * bindings/scripts/CodeGeneratorJS.pm:
- * bindings/scripts/CodeGeneratorV8.pm:
- * bindings/scripts/test/JS/JSTestCallback.cpp: Added.
- (WebCore::JSTestCallback::JSTestCallback):
- (WebCore::JSTestCallback::~JSTestCallback):
- (WebCore::JSTestCallback::callbackWithClass1Param):
- (WebCore::JSTestCallback::callbackWithClass2Param):
- * bindings/scripts/test/JS/JSTestCallback.h: Added.
- (WebCore::JSTestCallback::create):
- * bindings/scripts/test/V8/JSTestCallback.cpp: Added.
- (WebCore::V8TestCallback::V8TestCallback):
- (WebCore::V8TestCallback::~V8TestCallback):
- (WebCore::V8TestCallback::callbackWithClass1Param):
- (WebCore::V8TestCallback::callbackWithClass2Param):
- * bindings/scripts/test/V8/V8TestCallback.h: Added.
- (WebCore::V8TestCallback::create):
- * bindings/scripts/test/TestCallback.idl: Added.
-
-2010-05-03 Kevin Watters <kevinwatters@gmail.com>
-
- Reviewed by Kevin Ollivier.
-
- [wx] Build and use Mac's ComplexTextController to support complex text in wx.
- https://bugs.webkit.org/show_bug.cgi?id=38482
-
- * platform/graphics/FloatSize.h:
- * platform/graphics/GlyphBuffer.h:
- (WebCore::GlyphBuffer::advanceAt):
- (WebCore::GlyphBuffer::add):
- * platform/graphics/SimpleFontData.h:
- (WebCore::SimpleFontData::getNSFont):
- * platform/graphics/mac/ComplexTextController.cpp:
- * platform/graphics/mac/ComplexTextController.h:
- * platform/graphics/wx/FontCacheWx.cpp:
- (WebCore::FontCache::getFontDataForCharacters):
- (WebCore::FontCache::getLastResortFallbackFont):
- * platform/graphics/wx/FontPlatformData.h:
- (toCTFontRef):
- (WebCore::FontPlatformData::FontPlatformData):
- (WebCore::FontPlatformData::allowsLigatures):
- * platform/graphics/wx/FontPlatformDataWx.cpp:
- (WebCore::FontPlatformData::FontPlatformData):
- (WebCore::FontPlatformData::cgFont):
- * platform/graphics/wx/FontPlatformDataWxMac.mm: Added.
- (WebCore::FontPlatformData::nsFont):
- (WebCore::FontPlatformData::cacheNSFont):
- * platform/graphics/wx/FontWx.cpp:
- (WebCore::Font::canReturnFallbackFontsForComplexText):
- (WebCore::Font::selectionRectForComplexText):
- (WebCore::Font::drawComplexText):
- (WebCore::Font::floatWidthForComplexText):
- (WebCore::Font::offsetForPositionForComplexText):
- * platform/graphics/wx/SimpleFontDataWx.cpp:
- (WebCore::SimpleFontData::platformInit):
- (WebCore::SimpleFontData::containsCharacters):
- (WebCore::SimpleFontData::platformWidthForGlyph):
- * platform/wx/wxcode/fontprops.h:
- * platform/wx/wxcode/mac/carbon/fontprops.mm:
- (wxFontContainsCharacters):
- (GetTextExtent):
- * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
- (WebCore::drawTextWithSpacing):
- * platform/wx/wxcode/win/fontprops.cpp:
- (wxFontContainsCharacters):
- * wscript:
-
-2010-05-03 Abhishek Arya <inferno@chromium.org>
-
- Reviewed by Adam Barth.
-
- Add support for controlling clipboard access from javascript.
- Clipboard access from javascript is disabled by default.
- https://bugs.webkit.org/show_bug.cgi?id=27751
-
- Test: editing/execCommand/clipboard-access.html
-
- * WebCore.base.exp:
- * editing/EditorCommand.cpp:
- (WebCore::supportedCopyCut):
- (WebCore::supportedPaste):
- (WebCore::createCommandMap):
- * page/Settings.cpp:
- (WebCore::Settings::Settings):
- (WebCore::Settings::setJavaScriptCanAccessClipboard):
- * page/Settings.h:
- (WebCore::Settings::javaScriptCanAccessClipboard):
-
-2010-05-03 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Adam Barth.
-
- https://bugs.webkit.org/show_bug.cgi?id=38285
- <rdar://problem/7903453> REGRESSION: Javascript command window.open does not work in empty tab
-
- Cannot be tested, because new windows created in DRT always have an opener, and thus inherit
- its security origin. Only new windows and tabs created by browser chrome had this problem.
-
- * loader/FrameLoader.cpp: (WebCore::FrameLoader::init): Moved updateSandboxFlags() call to
- the beginning, so that an initial document would get correct flags.
-
-2010-05-03 Noam Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Darin Adler.
-
- WebGL compile issue.
- Added ExceptionCode.h to JSWebGLArrayBufferConstructor.cpp, for some reason it was missing.
- https://bugs.webkit.org/show_bug.cgi?id=38453
-
- No new tests: compile fix.
-
- * bindings/js/JSWebGLArrayBufferConstructor.cpp:
-
-2010-05-03 Eric Seidel <eric@webkit.org>
-
- Unreviewed, rolling out r58685.
- http://trac.webkit.org/changeset/58685
- https://bugs.webkit.org/show_bug.cgi?id=38461
-
- Broke a test on Gtk
-
- * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
- (WebCore::MediaPlayerPrivateGStreamer::updateStates):
-
-2010-05-03 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Darin Adler.
-
- Use HTML5 number parsing in HTMLProgressElement
- https://bugs.webkit.org/show_bug.cgi?id=38434
-
- Use parseToDoubleForNumberType instead of toDouble.
- Throw an exception when the number is NaN or Infinity.
-
- * html/HTMLProgressElement.cpp:
- (WebCore::HTMLProgressElement::value):
- (WebCore::HTMLProgressElement::setValue):
- (WebCore::HTMLProgressElement::max):
- (WebCore::HTMLProgressElement::setMax):
- * html/HTMLProgressElement.h:
- * html/HTMLProgressElement.idl:
-
-2010-05-03 Jens Alfke <snej@chromium.org>
-
- Reviewed by Darin Fisher.
-
- [chromium] Add "willSendSubmitEvent" hook to WebFrameClient and FrameLoaderClient
- https://bugs.webkit.org/show_bug.cgi?id=38397
-
- No tests (functionality is exposed only through native WebKit API.)
-
- * html/HTMLFormElement.cpp:
- (WebCore::HTMLFormElement::prepareSubmit): Call frame loader's dispatchWillSendSubmitEvent
- * loader/EmptyClients.h:
- * loader/FrameLoaderClient.h:
- (WebCore::FrameLoaderClient::dispatchWillSendSubmitEvent): New empty method
+ * inspector/InspectorFrontend.cpp:
+ (WebCore::InspectorFrontend::didGetStyleSheet):
+ * inspector/InspectorFrontend.h:
+ * inspector/front-end/DOMAgent.js:
+ (WebInspector.CSSStyleDeclaration):
-2010-05-03 Philippe Normand <pnormand@igalia.com>
+2010-05-31 Philippe Normand <pnormand@igalia.com>
- Reviewed by Eric Carlson.
+ Reviewed by Xan Lopez.
- [GStreamer] forgotten call to durationChanged in updateStates()
- https://bugs.webkit.org/show_bug.cgi?id=38461
+ [GStreamer] float variables misused
+ https://bugs.webkit.org/show_bug.cgi?id=38842
- Notify MediaPlayer if duration is known after playback started.
+ Use 0.0f for float variables instead of 0.0. Also added some
+ missing casts around GST_SECOND.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
- (WebCore::MediaPlayerPrivateGStreamer::updateStates):
-
-2010-05-03 Ryuan Choi <ryuan.choi@gmail.com>
-
- Reviewed by Darin Adler.
+ (WebCore::playbackPosition):
+ (WebCore::MediaPlayerPrivateGStreamer::duration):
+ (WebCore::MediaPlayerPrivateGStreamer::currentTime):
+ (WebCore::MediaPlayerPrivateGStreamer::seek):
+ (WebCore::MediaPlayerPrivateGStreamer::naturalSize):
+ (WebCore::MediaPlayerPrivateGStreamer::setRate):
+ (WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable):
+ (WebCore::MediaPlayerPrivateGStreamer::maxTimeLoaded):
+ (WebCore::MediaPlayerPrivateGStreamer::totalBytes):
- fixing build break due to clearWatch() when Geolocation feature is
- disabled.
+2010-05-31 Steve Block <steveblock@google.com>
- https://bugs.webkit.org/show_bug.cgi?id=38091
+ Unreviewed, rolling out r60069.
+ http://trac.webkit.org/changeset/60069
+ https://bugs.webkit.org/show_bug.cgi?id=39288
- no test because this is a build fix only
+ Roll out r60069 while the need for Geolocation::stop() is
+ investigated.
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::stopLoading):
* page/Geolocation.cpp:
- (WebCore::Geolocation::clearWatch):
-
-2010-05-03 Stephan Aßmus <superstippi@gmx.de>
-
- Reviewed by Holger Freyther.
-
- [Gtk] Fix leaking the FontPlatformData instance used to create the the
- small caps font data.
- https://bugs.webkit.org/show_bug.cgi?id=37500
-
- No new tests needed.
-
- * platform/graphics/gtk/SimpleFontDataPango.cpp:
- (WebCore::SimpleFontData::smallCapsFontData):
- - Use a stack allocated FontPlatformData instead of a heap allocated
- one that is never freed.
-
-2010-05-03 Jarkko Sakkinen <jarkko.j.sakkinen@gmail.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] GraphicsLayer: support webGL
- https://bugs.webkit.org/show_bug.cgi?id=35388
-
- Added support GraphicsContext3D to GraphicsLayer.
- Added paint method to GraphicsContext3D for Qt platform that
- uses drawTexture() when QGLWidget is used as viewport of
- QGraphicsWebView.
- Fine-tuned texture and handling and image to texture conversion to
- work also when drawTexture() blitting is used.
-
- * platform/graphics/GraphicsContext3D.h:
- * platform/graphics/qt/GraphicsContext3DQt.cpp:
- (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
- (WebCore::GraphicsContext3D::beginPaint):
- (WebCore::GraphicsContext3D::paint):
- (WebCore::GraphicsContext3D::texImage2D):
- (WebCore::GraphicsContext3D::texSubImage2D):
- (WebCore::GraphicsContext3D::getImageData):
- * platform/graphics/qt/GraphicsLayerQt.cpp:
- (WebCore::GraphicsLayerQtImpl::):
- (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
- (WebCore::GraphicsLayerQtImpl::paint):
- (WebCore::GraphicsLayerQtImpl::flushChanges):
- (WebCore::GraphicsLayerQt::setContentsToGraphicsContext3D):
- (WebCore::GraphicsLayerQt::setGraphicsContext3DNeedsDisplay):
- * platform/graphics/qt/GraphicsLayerQt.h:
-
-2010-05-03 Janne Koskinen <janne.p.koskinen@digia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix qtlibraryinfix not to contain space
-
- List catenation with += adds whitespace cutting the infix
- from the final target.
-
- * WebCore.pro:
-
-2010-05-03 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix rendering of <button> elements on Mac OS X
-
- The <button> element has ButtonPart appearance, not PushButton part,
- so we have to include ButtonPart when we decide if we should draw the
- button as raised on Mac OS X.
-
- https://bugs.webkit.org/show_bug.cgi?id=38458
-
- * platform/qt/RenderThemeQt.cpp:
- (WebCore::RenderThemeQt::initializeCommonQStyleOptions):
-
-2010-04-30 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Eric Seidel.
-
- [GStreamer] endless loop after playback ended
- https://bugs.webkit.org/show_bug.cgi?id=38384
-
- At playback end ensure duration() will return a valid duration if
- we managed to calculate it based on current position.
-
- Test: media/video-duration-known-after-eos.html
-
- * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
- (WebCore::MediaPlayerPrivateGStreamer::didEnd):
-
-2010-05-03 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- [Qt] Fix build break on Mac OS X
-
- * plugins/mac/PluginPackageMac.cpp: Use correct type
- * WebCore.pro: Remove duplicate symbol, we now have a Qt implementation
-
-2010-05-03 Thomas Zander <t.zander@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix library infix usage when compiling inside of Qt
-
- Don't apply the infix when building inside Qt, as that's done through the
- inclusion of qbase.pri.
-
- * WebCore.pro:
-
-2010-05-02 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Simon Fraser.
-
- Another case of <rdar://problem/7552959> REGRESSION: Infinite recursion in Position::getInlineBoxAndOffset()
- https://bugs.webkit.org/show_bug.cgi?id=38445
-
- Test: editing/selection/mixed-editability-11.html
-
- * dom/Position.cpp:
- (WebCore::downstreamIgnoringEditingBoundaries): Added. Returns the furthest visually equivalent
- position downstream, crossing any editability boundaries.
- (WebCore::upstreamIgnoringEditingBoundaries): Similarly for upstream.
- (WebCore::Position::getInlineBoxAndOffset): Changed the logic for finding an inline box for positions
- whose node is a block flow. Instead of traversing the DOM, advance downstream or upstream as far as
- possible, crossing any editability boudaries. Infinite recursion is avoided by advancing all the way
- and checking that the new position is different from the starting position. Also replaced the specific
- test for buttons with the generic and more comprehensive canHaveChildrenForEditing().
-
-2010-05-02 Tasuku Suzuki <tasuku.suzuki@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix compilation with QT_NO_BEARERMANAGEMENT
- https://bugs.webkit.org/show_bug.cgi?id=38324
-
- * platform/network/NetworkStateNotifier.h:
- * platform/network/qt/NetworkStateNotifierQt.cpp:
-
-2010-04-29 Janne Koskinen <janne.p.koskinen@digia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] QtWebKit versioning added
- https://bugs.webkit.org/show_bug.cgi?id=37207
-
- QtWebkit releases separated from Qt release cycle.
-
- * WebCore.pro:
-
-2010-05-02 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Old Style trimWhitespace() should be trim()
- https://bugs.webkit.org/show_bug.cgi?id=38441
-
- * inspector/front-end/SourceFrame.js:
- (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame):
-
-2010-05-02 Tasuku Suzuki <tasuku.suzuki@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix compilation with QT_NO_LINEEDIT
- https://bugs.webkit.org/show_bug.cgi?id=38324
-
- * platform/qt/RenderThemeQt.cpp:
- (WebCore::RenderThemeQt::~RenderThemeQt):
- (WebCore::RenderThemeQt::findFrameLineWidth):
-
-2010-05-02 Pavel Feldman <pfeldman@chromium.org>
-
- Not reviewed: Touch inspector controller to kick windows tests.
-
- * inspector/InspectorController.cpp:
-
-2010-05-02 Pavel Feldman <pfeldman@chromium.org>
+ (WebCore::Geolocation::disconnectFrame):
+ * page/Geolocation.h:
- Reviewed by Timothy Hatcher.
+2010-05-31 Olivier Tilloy <olivier@tilloy.net>
- Web Inspector: IMG nodes are being added to the DOM tree late, sometimes hiding the revealed element.
+ Reviewed by Gustavo Noronha Silva.
- https://bugs.webkit.org/show_bug.cgi?id=38432
+ [Gtk] Implement RenderThemeGtk::systemColor to apply the correct colors
+ from the current GTK theme.
+ https://bugs.webkit.org/show_bug.cgi?id=37779
- * inspector/front-end/ElementsTreeOutline.js:
- (WebInspector.ElementsTreeOutline.prototype._onmousemove):
- (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
- (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
- (WebInspector.ElementsTreeElement.prototype.updateTitle):
- (WebInspector.ElementsTreeElement.prototype._attributeHTML):
- ():
+ * platform/gtk/RenderThemeGtk.cpp:
+ (WebCore::RenderThemeGtk::RenderThemeGtk):
+ (WebCore::RenderThemeGtk::systemColor):
+ (WebCore::RenderThemeGtk::gtkButton):
+ * platform/gtk/RenderThemeGtk.h:
-2010-05-02 Dirk Schulze <krit@webkit.org>
+2010-05-31 Dirk Schulze <krit@webkit.org>
Reviewed by Nikolas Zimmermann.
- SVG hkern implementation incomplete
- https://bugs.webkit.org/show_bug.cgi?id=38407
-
- Test: svg/text/text-hkern.svg
-
- The current SVG hkern implementation is incomplete and partly wrong. We pass the ACID3 test
- by accident.
- The new implementation supports all glyph and unicode combinations that are allowed by the Spec
- and fixes various of bugs. The parser moved from SVGFontElement to the general parsing code in
- SVGParserUtilities.
- Some clean-up makes the code more readable and reuseable for the upcoming vkern implementation.
- hkern support for text on path is missing and will be added by a following patch.
- Unicode strings of hkern elements are just parsed once and not on every glyph again anymore.
-
- * rendering/SVGRootInlineBox.cpp:
- (WebCore::calculateCSSKerning):
- (WebCore::applySVGKerning):
- (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
- * svg/SVGFontElement.cpp:
- (WebCore::stringMatchesUnicodeRange):
- (WebCore::stringMatchesGlyphName):
- (WebCore::matches):
- (WebCore::SVGFontElement::getHorizontalKerningPairForStringsAndGlyphs):
- * svg/SVGFontElement.h:
- * svg/SVGHKernElement.cpp:
- (WebCore::SVGHKernElement::buildHorizontalKerningPair):
- * svg/SVGHKernElement.h:
- * svg/SVGParserUtilities.cpp:
- (WebCore::parseGlyphName):
- (WebCore::parseUnicodeRange):
- (WebCore::parseKerningUnicodeString):
- * svg/SVGParserUtilities.h:
-
-2010-05-02 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: debugger shortcuts are processed twice if source frame has focus.
-
- https://bugs.webkit.org/show_bug.cgi?id=38431
-
- * inspector/front-end/SourceFrame.js:
- (WebInspector.SourceFrame):
- (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
-
-2010-05-02 Jarkko Sakkinen <jarkko.j.sakkinen@gmail.com>
-
- Reviewed by Eric Seidel.
-
- [Qt] Build error in GraphicsContext3DQt.cpp
- https://bugs.webkit.org/show_bug.cgi?id=38382
-
- Removed duplicate implementation of isGLES2Compliant from
- GraphicsContext3DQt.cpp. Removed deprecated API stuff for
- texImage2D/texSubImage2D.
- * platform/graphics/qt/GraphicsContext3DQt.cpp:
-
-2010-05-02 Garret Kelly <gdk@chromium.org>
-
- Reviewed by David Levin.
-
- Make the Touch RuntimeEnabledFeature disabled by default.
- https://bugs.webkit.org/show_bug.cgi?id=38392
-
- * bindings/generic/RuntimeEnabledFeatures.cpp: Disable the Touch feature by default.
-
-2010-05-02 Michael Nordman <michaeln@google.com>
-
- Reviewed by Dmitry Titov.
-
- Define two new ResourceRequestBase TargetTypes for worker and shared worker
- main resources. Use the new target types where appropiate. Add logic to marshal
- the target type specified by requests initiated on a background worker thread.
-
- https://bugs.webkit.org/show_bug.cgi?id=38295
-
- No new tests. This doesn't have script visible artifacts.
-
- * platform/network/ResourceRequestBase.cpp: marshal the values
- (WebCore::ResourceRequestBase::adopt):
- (WebCore::ResourceRequestBase::copyData):
- * platform/network/ResourceRequestBase.h: define the types
- (WebCore::ResourceRequestBase::):
- * workers/DefaultSharedWorkerRepository.cpp: use TargetIsSharedWorker
- (WebCore::SharedWorkerScriptLoader::load):
- * workers/Worker.cpp: use TargetIsWorker
- (WebCore::Worker::Worker):
- * workers/WorkerContext.cpp: use TargetIsScript for importScripts
- (WebCore::WorkerContext::importScripts):
- * workers/WorkerScriptLoader.cpp: add a data member for the target type
- (WebCore::WorkerScriptLoader::WorkerScriptLoader):
- (WebCore::WorkerScriptLoader::createResourceRequest):
- * workers/WorkerScriptLoader.h:
-
-2010-05-02 Noam Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Adele Peterson.
-
- Webkit doesn't compile with 3D-canvas enabled and video disabled
- https://bugs.webkit.org/show_bug.cgi?id=38297
-
- Added a #ifdef ENABLE(VIDEO) to WebGL code
+ SVG Filter: Crash if parent and child elements use the same filter
+ https://bugs.webkit.org/show_bug.cgi?id=39536
- No new tests: compile fix.
+ If a parent and a child used the same filter, the temporary saved
+ context reference got overwritten by the child. The reference is
+ stored in FilterData now. FilterData depends to the target object
+ and avoids overwriting any reference.
- * bindings/js/JSWebGLRenderingContextCustom.cpp:
- (WebCore::JSWebGLRenderingContext::texImage2D):
- (WebCore::JSWebGLRenderingContext::texSubImage2D):
-
-2010-05-01 Evan Stade <estade@chromium.org>
-
- Reviewed by David Levin.
-
- [chromium] Skia needs to fade DragImages
- https://bugs.webkit.org/show_bug.cgi?id=38008
-
- tested by DragImageTest
-
- * platform/chromium/DragImageChromiumSkia.cpp:
- (WebCore::dissolveDragImageToFraction):implement
- (WebCore::createDragImageFromImage):deep copy instead of shallow
-
-2010-05-01 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Sam Weinig.
-
- REGRESSION (r58273): Visited links do not change color immediately when Cmd-clicked
- https://bugs.webkit.org/show_bug.cgi?id=38422
- <rdar://problem/7921778>
-
- Tests:
- manual-tests/visited-link-new-window.html
-
- * css/CSSStyleSelector.cpp:
- (WebCore::CSSStyleSelector::initElement): Only cache the visited link state
- when invoked as part of a helper call to styleForElement or pseudoStyleForElement,
- to avoid caching the visited link state beyond the scope of a single style lookup.
- (WebCore::CSSStyleSelector::styleForElement): Adjust for above change.
- (WebCore::CSSStyleSelector::pseudoStyleForElement): Adjust for above change.
- * css/CSSStyleSelector.h:
- (WebCore::CSSStyleSelector::styleForElement): Change so "visited link helper mode"
- can't accidentally be called from outside CSSStyleSelector itself.
- (WebCore::CSSStyleSelector::pseudoStyleForElement): ditto
- * manual-tests/visited-link-new-window.html: Added. I could not figure out any way
- to make an automated test that supports visited link coloring.
-
-2010-05-01 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Darin Adler.
-
- Move number parsing code out of HTMLInputElement.
- https://bugs.webkit.org/show_bug.cgi?id=38203
-
- The numebr parsing code follows HTML5 parsing rules and should be available outside of HTMLInputElement.
- No new tests as no new functionality was introduced.
+ Test: svg/filters/parent-children-with-same-filter.svg
- * html/HTMLInputElement.cpp:
- * html/HTMLInputElement.h:
- * html/HTMLParser.cpp:
- (WebCore::serializeForNumberType):
- (WebCore::parseToDoubleForNumberType):
- * html/HTMLParser.h:
- * html/StepRange.cpp:
- (WebCore::StepRange::clampValue):
- (WebCore::StepRange::valueFromElement):
- * html/ValidityState.cpp:
- (WebCore::ValidityState::typeMismatch):
- * rendering/RenderSlider.cpp:
- (WebCore::RenderSlider::setValueForPosition):
-
-2010-05-01 Xan Lopez <xlopez@igalia.com>
+ * rendering/RenderSVGResourceFilter.cpp:
+ (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter):
+ (WebCore::RenderSVGResourceFilter::applyResource):
+ (WebCore::RenderSVGResourceFilter::postApplyResource):
+ * rendering/RenderSVGResourceFilter.h:
- Reviewed by Oliver Hunt.
+2010-05-31 Xan Lopez <xlopez@igalia.com>
- [GTK] GObject DOM bindings
- https://bugs.webkit.org/show_bug.cgi?id=33590
+ Reviewed by Gustavo Noronha.
- Unify more logic to skip functions into SkipFunction, and
- whitelist the two [Custom] methods in HTMLCollection.idl.
+ Fix all compiler warnings.
- * bindings/scripts/CodeGeneratorGObject.pm:
+ * plugins/gtk/gtk2xtbin.c:
+ (xt_event_dispatch):
+ (gtk_xtbin_get_type):
+ (gtk_xtbin_set_position):
+ (xt_add_focus_listener):
+ (xt_remove_focus_listener):
-2010-05-01 Robert Hogan <robert@webkit.org>
+2010-05-31 Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed by Simon Hausmann.
- [Qt] Add smart paste support
+ [Qt] Escape backslashes in the .pro files
- https://bugs.webkit.org/show_bug.cgi?id=38136
+ qmake in Qt 4.7 warns about unescaped backspaces and deprecates them.
* WebCore.pro:
- * editing/qt/SmartReplaceQt.cpp: Added.
- (WebCore::isCharacterSmartReplaceExempt):
- * platform/qt/PasteboardQt.cpp:
- (WebCore::Pasteboard::writeSelection):
- (WebCore::Pasteboard::canSmartReplace):
-
-2010-04-30 Yoshiki Hayashi <yhayashi@google.com>
-
- Reviewed by Shinichiro Hamaji.
-
- https://bugs.webkit.org/show_bug.cgi?id=38249
-
- Fixes an issue where border height and padding height are ignored when computing vertically shrinking flexbox's height.
-
- Test: fast/flexbox/child-flexing.html
-
- * rendering/RenderFlexibleBox.cpp:
- (WebCore::RenderFlexibleBox::allowedChildFlex):
-
-2010-04-30 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Darin Adler.
-
- Add layoutTestController.setPrinting()
- https://bugs.webkit.org/show_bug.cgi?id=37203
-
- Use the renderer's width insteead of screen's width as the width of
- a screen depends on machines.
-
- * rendering/RenderTreeAsText.cpp:
- (WebCore::externalRepresentation):
-
-2010-04-30 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Missing INSPECTOR Guard in Console::lastWMLErrorMessage
- https://bugs.webkit.org/show_bug.cgi?id=38366
-
- Console::lastWMLErrorMessage is only available if WML is enabled, however
- its implementation only makes sense as long as INSPECTOR is enabled
- as well. So this adds the ENABLE(INSPECTOR) guard in the function. A
- browser without ENABLE(INSPECTOR) will always get an empty result.
-
- * page/Console.cpp:
-
-2010-04-28 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by Oliver Hunt.
-
- REGRESSION(r58313): Regression evident in pixel tests: the search icon is always clipped at the bottom.
- https://bugs.webkit.org/show_bug.cgi?id=38253
-
- Test: fast/css/input-search-padding.html
-
- An <input type="search"> contains an inner block, which is explicitly
- centered in RenderTextControlSingleLine based on the height of the element.
- However, the clipping rect was not using the set location, and instead
- calculated off of the top border and padding alone. This also vertically
- centers the Caps Lock indicator.
-
- * rendering/RenderTextControl.cpp: moved controlClipRect implementation to RenderTextControlSingleLine
- * rendering/RenderTextControl.h: allow a subclass implementation of controlClipRect, removed redundant hasControlClip implementation, and moved controlClipRect
- * rendering/RenderTextControlSingleLine.cpp:
- (WebCore::RenderTextControlSingleLine::paint): vertically center the Caps Lock indicator
- (WebCore::RenderTextControlSingleLine::controlClipRect): use the set location of the anonymous inner block instead
- * rendering/RenderTextControlSingleLine.h: allow for an implementation of controlClipRect for <input type="search">
-
-2010-04-30 Jon Honeycutt <jhoneycutt@apple.com>
-
- Caret may fail to blink if a focus handler brings up a modal dialog
- https://bugs.webkit.org/show_bug.cgi?id=38372
-
- Reviewed by Darin Adler.
-
- * manual-tests/onfocus-alert-blinking-caret.html: Added.
-
- * page/EventHandler.cpp:
- (WebCore::EventHandler::handleMousePressEvent):
- Moved the call to setCaretBlinkingSuspended() from here...
- (WebCore::EventHandler::handleMousePressEvent):
- ... to here. This makes us suspend caret blinking before dispatching the
- mouse down event. If dispatching the mouse down event allows the message
- loop to run, we want mouse up events received in that message loop to be
- able to resume caret blinking.
- (WebCore::EventHandler::lostMouseCapture):
- We've lost mouse capture and won't be notified of mouse up events;
- resume caret blinking.
-
- * page/EventHandler.h:
- Declare lostMouseCapture().
-
-2010-04-30 Dimitri Glazkov <dglazkov@chromium.org>
-
- Unreviewed, build fix.
-
- [Chromium] Added a simple IdentifierRep struct and removed dependency on
- IdentifierRep.h.
-
- * bindings/v8/V8NPObject.cpp: Added simple IdentifierRep struct.
-
-2010-04-30 Dimitri Glazkov <dglazkov@chromium.org>
-
- Unreviewed, build fix.
-
- [Chromium] Remove bridge/ from include paths.
-
- * WebCore.gyp/WebCore.gyp: Removed bridge/ from include path.
-
-2010-04-30 Abhishek Arya <inferno@chromium.org>
-
- Reviewed by David Kilzer.
-
- Convert m_documentUnderMouse, m_dragInitiator to RefPtr.
- Eliminated unused m_dragInitiator accessor to prevent dereferencing.
- https://bugs.webkit.org/show_bug.cgi?id=37618
-
- Test: editing/pasteboard/drag-drop-iframe-refresh-crash.html
-
- * page/DragController.cpp:
- (WebCore::DragController::tryDocumentDrag):
- (WebCore::DragController::concludeEditDrag):
- * page/DragController.h:
- (WebCore::DragController::draggingImageURL):
- (WebCore::DragController::documentUnderMouse):
-
-2010-04-29 James Robinson <jamesr@chromium.org>
-
- Reviewed by Simon Fraser.
-
- Calls FrameView::scrollPositionChanged whenever a ScrollView is scrolled
- https://bugs.webkit.org/show_bug.cgi?id=38286
-
- When a ScrollView's scroll position is changed, we have to call
- FrameView::scrollPositionChanged to generate repaint invalidation for
- fixed position elements. This ends up getting called indirectly when
- the ScrollView has a platformWidget through the port layer
- (see WebHTMLView.mm's _frameOrBoundsChanged method for how the mac
- port does it) but not when there is no platformWidget.
-
- This is tested by the fast/repaint/fixed-* tests when run in pixel
- mode.
-
- Test: fast/repaint/fixed-move-after-keyboard-scroll.html
-
- * page/FrameView.h:
- * platform/ScrollView.cpp:
- (WebCore::ScrollView::valueChanged):
- * platform/ScrollView.h:
- (WebCore::ScrollView::scrollPositionChanged):
-
-2010-04-30 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Use C99 integer types in more places.
-
- * manual-tests/NPN_Invoke/main.c:
- (NPP_New):
- (NPP_NewStream):
- (NPP_WriteReady):
- (NPP_Write):
- (NPP_HandleEvent):
- (functionPointerForTVector):
- * plugins/mac/PluginViewMac.cpp:
- (WebCore::PluginView::platformGetValueStatic):
- (WebCore::PluginView::handlePostReadFile):
-
-2010-04-30 Darin Adler <darin@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Remove unused scrollRectIntoViewRecursively function
- https://bugs.webkit.org/show_bug.cgi?id=38403
-
- * page/Chrome.cpp:
- (WebCore::Chrome::scrollRectIntoView): Moved comment here that was previously
- in the scrollRectIntoViewRecursively function.
-
- * platform/ScrollView.cpp: Get rid scrollRectIntoViewRecursively.
- * platform/ScrollView.h: Ditto. Fix comment that refers to the two functions.
- Also correct all uses of the term "method" to use the C++ term "function" and
- got rid of double spaces after periods.
-
-2010-04-30 Anders Carlsson <andersca@apple.com>
-
- Another Qt build fix.
-
- * plugins/qt/PluginViewQt.cpp:
- (WebCore::PluginView::platformGetValueStatic):
-
-2010-04-30 Anders Carlsson <andersca@apple.com>
-
- Add back TRUE, FALSE and NULL macros. They were not meant to be removed!
-
- * bridge/npapi.h:
-
-2010-04-30 Anders Carlsson <andersca@apple.com>
-
- Try to fix the Qt build this time.
-
- * plugins/qt/PluginPackageQt.cpp:
- (WebCore::staticPluginQuirkRequiresGtkToolKit_NPN_GetValue):
- (WebCore::PluginPackage::NPVersion):
-
-2010-04-30 Anders Carlsson <andersca@apple.com>
-
- Yet another build fix.
-
- * plugins/gtk/PluginPackageGtk.cpp:
- (WebCore::PluginPackage::NPVersion):
-
-2010-04-30 Anders Carlsson <andersca@apple.com>
-
- Fix build.
-
- * bridge/npapi.h:
-
-2010-04-30 Jian Li <jianli@chromium.org>
-
- Reviewed by Darin Fisher.
-
- [chromium] Add WebFileSystem interface and hook up with all FileSystem methods.
- https://bugs.webkit.org/show_bug.cgi?id=38228
-
- * platform/chromium/ChromiumBridge.h:
- * platform/chromium/FileSystemChromium.cpp:
- (WebCore::openFile):
- (WebCore::closeFile):
- (WebCore::seekFile):
- (WebCore::truncateFile):
- (WebCore::readFromFile):
- (WebCore::writeToFile):
-
-2010-04-30 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Final part of
-
- https://bugs.webkit.org/show_bug.cgi?id=20784
- move npapi.h to C99 integer types
-
- * bridge/npapi.h:
- Remove the old types.
-
-2010-04-30 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r58569.
- http://trac.webkit.org/changeset/58569
- https://bugs.webkit.org/show_bug.cgi?id=38399
-
- This broke the GTK bots due to bad GC behavior (Requested by
- ericu on #webkit).
-
- * bindings/js/JSWorkerContextCustom.cpp:
- * bindings/v8/custom/V8WorkerContextCustom.cpp:
- * storage/Database.idl:
- * storage/SQLError.idl:
- * storage/SQLResultSet.idl:
- * storage/SQLResultSetRowList.idl:
- * storage/SQLTransaction.idl:
- * workers/WorkerContext.cpp:
- (WebCore::WorkerContext::openDatabase):
- * workers/WorkerContext.h:
- (WebCore::WorkerContext::databaseExceededQuota):
- * workers/WorkerContext.idl:
-
-2010-04-30 Anders Carlsson <andersca@apple.com>
-
- Fix GTK+ build.
-
- * plugins/gtk/PluginViewGtk.cpp:
- (WebCore::PluginView::handlePostReadFile):
- (WebCore::PluginView::platformGetValueStatic):
-
-2010-04-30 Anders Carlsson <andersca@apple.com>
-
- Fix Qt build.
-
- * plugins/qt/PluginViewQt.cpp:
- (WebCore::PluginView::handlePostReadFile):
- (WebCore::PluginView::platformGetValue):
-
-2010-04-30 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Timothy Hatcher.
-
- Next step towards fixing
-
- https://bugs.webkit.org/show_bug.cgi?id=20784
- move npapi.h to C99 integer types
-
- Use the C99 types everywhere. The "old" types are still around but will be removed
- in a subsequent commit.
-
- * bridge/npapi.h:
- (_NPCocoaEvent::):
- * plugins/PluginPackage.h:
- * plugins/PluginStream.cpp:
- (WebCore::PluginStream::deliverData):
- * plugins/PluginStream.h:
- * plugins/PluginView.cpp:
- (WebCore::PluginView::postURLNotify):
- (WebCore::PluginView::postURL):
- (WebCore::PluginView::write):
- (WebCore::PluginView::handlePost):
- * plugins/PluginView.h:
- * plugins/PluginViewNone.cpp:
- (WebCore::PluginView::handlePostReadFile):
- * plugins/npapi.cpp:
- (NPN_MemAlloc):
- (NPN_MemFlush):
- (NPN_PostURLNotify):
- (NPN_PostURL):
- (NPN_Write):
- * plugins/npfunctions.h:
- * plugins/win/PluginPackageWin.cpp:
- (WebCore::PluginPackage::NPVersion):
- * plugins/win/PluginViewWin.cpp:
- (WebCore::PluginView::handlePostReadFile):
-
-2010-04-30 Peter Kasting <pkasting@google.com>
-
- Reviewed by David Levin.
-
- Make all image decoders set the "failed" bit if an image could not be
- completely decoded, but no more data is coming. The ICO and BMP
- decoders already did this.
- https://bugs.webkit.org/show_bug.cgi?id=35411
-
- "Failed" does not cause the image to not be displayed, it simply causes
- us to not bother to try to decode again if future requests are made, and
- for some decoders, lets the decoder clean up some of its temporary
- objects.
-
- No layout tests because this does not change the visible output of decoding in any way.
-
- * platform/image-decoders/gif/GIFImageDecoder.cpp:
- (WebCore::GIFImageDecoder::frameComplete): Return whether the frame could be marked as complete.
- (WebCore::GIFImageDecoder::decode): Fail if read() needs more data (and thus returns false) and no more is coming.
- * platform/image-decoders/gif/GIFImageDecoder.h:
- * platform/image-decoders/gif/GIFImageReader.cpp:
- (GIFImageReader::do_lzw): Instead of returning true for buffer underrun and false for failure, return false for both and set the failure flag on failure.
- (GIFImageReader::read): Ditto.
- * platform/image-decoders/gif/GIFImageReader.h:
- * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
- (WebCore::):
- (WebCore::JPEGImageReader::decode): See do_lzw() comment above.
- (WebCore::JPEGImageDecoder::decode): Fail if decode() needs more data (and thus returns false) and no more is coming.
- * platform/image-decoders/jpeg/JPEGImageDecoder.h:
- * platform/image-decoders/png/PNGImageDecoder.cpp:
- (WebCore::PNGImageReader::decode): Return true for decode success, false for buffer underrun or decode failure, and set the failure flag on decode failure.
- (WebCore::PNGImageDecoder::decode): See JPEGImageDecoder::decode() comment above.
- * platform/image-decoders/png/PNGImageDecoder.h:
-
-2010-04-30 Brady Eidson <beidson@apple.com>
-
- Reviewed by Eric Carlson.
-
- <rdar://problem/7902467> - Audio plays upon loading of npr.org but shouldn't
-
- No new tests. (Currently no way to test such site specific hack behavior)
-
- * html/HTMLMediaElement.cpp:
- (WebCore::HTMLMediaElement::HTMLMediaElement):
- (WebCore::HTMLMediaElement::asyncEventTimerFired): If the event to be dispatched is the canplay
- event, wrap the dispatch with m_dispatchingCanPlayEvent set.
- (WebCore::HTMLMediaElement::play): If m_dispatchingCanPlayEvent is true and the site is npr.org,
- don't perform the play().
- * html/HTMLMediaElement.h: Add m_dispatchingCanPlayEvent member.
-
-2010-04-30 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Adele Peterson.
-
- Part of <rdar://problem/6649734> Text repainting does not account for glyphs which draw outside the typographic bounds of the font
- https://bugs.webkit.org/show_bug.cgi?id=6274
-
- Account for glyph overflow of characters in the range U+1E00..U+2000, but without sending them
- through the complex text code path. Instead, introduce a variant of the fast path that tracks
- glyph overflow.
-
- * platform/graphics/Font.cpp:
- (WebCore::Font::drawText): Use codePath().
- (WebCore::Font::floatWidth): Use codePath(). Pass the GlyphOverflow pointer through to
- floatWidthForSimpleText() if the code path is SimpleWithGlyphOverflow.
- (WebCore::Font::selectionRectForText): Use codePath().
- (WebCore::Font::offsetForPosition): Ditto.
- * platform/graphics/Font.h: Replaced canUseGlyphCache() with codePath(). Added a GlyphOverflow
- parameter to floatWidthForSimpleText().
- * platform/graphics/FontFastPath.cpp:
- Removed ROMAN_AND_GREEK_DIACRITICS_CAN_USE_GLYPH_CACHE.
- (WebCore::Font::codePath): Renamed canUseGlyphCache() to this. Where it used to return false,
- it now returns Complex. Where it used to return true, it now returns Simple, except for
- the range U+1E00..U+2000, where it now returns SimpleWithGlyphOverflow.
- (WebCore::Font::floatWidthForSimpleText): Added a GlyphOverflow parameter. If not 0, have the
- width iterator account for glyph bounds, then update the GlyphOverflow accordingly.
- * platform/graphics/WidthIterator.cpp:
- (WebCore::WidthIterator::WidthIterator): Added boolean parameter telling the width iterator
- whether to account for glyph bounds. Initialize m_accountForGlyphBounds accordingly. Initialize
- m_maxGlyphBoundingBoxY, m_minGlyphBoundingBoxY, m_firstGlyphOverflow and m_lastGlyphOverflow.
- (WebCore::WidthIterator::advance): If accounting for glyph bounds, update the above member variables.
- * platform/graphics/WidthIterator.h:
- (WebCore::WidthIterator::maxGlyphBoundingBoxY): Added this accessor.
- (WebCore::WidthIterator::minGlyphBoundingBoxY): Ditto.
- (WebCore::WidthIterator::firstGlyphOverflow): Ditto.
- (WebCore::WidthIterator::lastGlyphOverflow): Ditto.
-
-2010-04-30 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Simon Fraser.
-
- Reversed the order of the CSSMatrix.multiply method
- https://bugs.webkit.org/show_bug.cgi?id=38337
-
- Test: transforms/svg-vs-css.xhtml
-
- * css/WebKitCSSMatrix.cpp:
- (WebCore::WebKitCSSMatrix::multiply):
- * platform/graphics/transforms/TransformationMatrix.cpp:
-
-2010-04-30 Kevin Ollivier <kevino@theolliviers.com>
-
- Unreviewed. Attempt to fix the Chromium Mac build after the last commit.
-
- * WebCore.gypi:
-
-2010-04-30 Kevin Ollivier <kevino@theolliviers.com>
-
- Reviewed by Dan Bernstein.
-
- Allow other ports to compile ATSUI and CoreText functions in SimpleFontData for Mac.
- https://bugs.webkit.org/show_bug.cgi?id=38334
-
- * WebCore.xcodeproj/project.pbxproj:
- * platform/graphics/mac/SimpleFontDataATSUI.mm: Copied from WebCore/platform/graphics/mac/SimpleFontDataMac.mm.
- * platform/graphics/mac/SimpleFontDataCoreText.cpp: Copied from WebCore/platform/graphics/mac/SimpleFontDataMac.mm.
- * platform/graphics/mac/SimpleFontDataMac.mm:
-
-2010-04-30 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Simon Fraser.
-
- SHOULD NEVER BE REACHED assertion loading forbes.com
- https://bugs.webkit.org/show_bug.cgi?id=38272
-
- Ignore page media related pseudo classes.
-
- Test: printing/pseudo-class-outside-page.html
-
- * css/CSSStyleSelector.cpp:
- (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
-
-2010-04-30 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Unreviewed, build fix.
-
- Fix compiler warning "suggest parentheses around"
-
- No new tests as there is no new functionality.
-
- * svg/SVGAnimateElement.cpp:
- (WebCore::SVGAnimateElement::calculateFromAndToValues):
-
-2010-04-30 Kent Tamura <tkent@chromium.org>
-
- Unreviewed. Regression fix.
-
- Revert a part of r58564 to be compatible with prior behavior
- https://bugs.webkit.org/show_bug.cgi?id=38383
-
- * rendering/RenderTextControlSingleLine.cpp:
- (WebCore::RenderTextControlSingleLine::forwardEvent):
- r58564 made a region check for the cancel button stricter, but it
- made some tests failing on Chromium. So, relax the check again.
-
-2010-04-29 Jeremy Orlow <jorlow@chromium.org>
-
- Reviewed by Darin Fisher.
-
- Change StorageEvent.uri to StorageEvent.url to match the spec
- https://bugs.webkit.org/show_bug.cgi?id=38331
-
- As I mentioned in http://www.mail-archive.com/public-webapps@w3.org/msg08495.html
- WebKit is the only one who places the document's URL in a 'uri' property
- rather than a 'url' property. Even though we've shipped several versions of
- browsers with the old name, we probably should change this to comply with the
- spec.
-
- This stuff is covered by existing tests.
-
- * storage/StorageEvent.cpp:
- (WebCore::StorageEvent::create):
- (WebCore::StorageEvent::StorageEvent):
- (WebCore::StorageEvent::initStorageEvent):
- * storage/StorageEvent.h:
- (WebCore::StorageEvent::url):
- * storage/StorageEvent.idl:
-
-2010-04-30 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Reviewed by Dirk Schulze.
-
- REGRESSION: RenderPath does not handle repaints correctly anymore if bounds changed
- https://bugs.webkit.org/show_bug.cgi?id=38385
-
- The last SVG performance patch broke repainting if bounds of a RenderPath get smaller.
- It would only repaint the smaller part, not the original larger bounds.
-
- Remove all lazy calculation of the repaint rects, instead calculate object/strokeBoundingBox and repaintRectInLocalCoordinates
- once in layout - after LayoutRepainter grabbed the initial bounds, before calling repaintAfterLayout(). We can now inline
- all these functions, and save a lot of m_path.isEmpty() checks, which are expensive. No need to store a seperated markerBoundingBox(),
- combine with strokeBoundingBox() -> save one FloatRect per RenderPath. Move strokeBoundingBox() from SVGRenderBase to RenderObject,
- right next to objectBoundingBox() - to save unnecessary toSVGRenderBase() calls. Completly remove this method.
-
- Overall this is a regression fix, a performance improvement and saves memory. Something for everyone.
-
- Tests: svg/custom/repaint-stroke-width-changes.svg
-
- * rendering/RenderObject.cpp: Added strokeBoundingBox() here, to avoid the toSVGRenderBase() dance.
- (WebCore::RenderObject::strokeBoundingBox):
- * rendering/RenderObject.h: Ditto.
- * rendering/RenderPath.cpp:
- (WebCore::RenderPath::RenderPath):
- (WebCore::RenderPath::layout): Fix regression, do repainting correctly, by recalculating the boundaries, if needed, instead of nulling them.
- (WebCore::RenderPath::paint): Cache SVGRenderStyle in local variable, remove no longer valid FIXME.
- (WebCore::RenderPath::calculateMarkerBoundsIfNeeded): Return a FloatRect, to avoid having to store the marker bounding box seperated.
- (WebCore::RenderPath::styleWillChange): Mark boundaries as dirty.
- (WebCore::RenderPath::updateCachedBoundaries): New function to (re-)calculate all cached boundaries, only called from layout().
- * rendering/RenderPath.h: Rename cached rect variables to have more sensible names.
- (WebCore::RenderPath::objectBoundingBox): Inlined, just returns the cached value - no more lazy creation. Huge speedup as this is hot code.
- (WebCore::RenderPath::strokeBoundingBox): Ditto.
- (WebCore::RenderPath::repaintRectInLocalCoordinates): Ditto.
- * rendering/RenderSVGBlock.h: Remove toSVGRenderBase() method.
- * rendering/RenderSVGImage.h: Ditto.
- * rendering/RenderSVGInline.cpp: No need to call toSVGRenderBase() just to get the strokeBoundingBox(). Unifies code to retrieve bounding boxes.
- (WebCore::RenderSVGInline::strokeBoundingBox):
- * rendering/RenderSVGInline.h: Remove toSVGRenderBase() method.
- * rendering/RenderSVGModelObject.h: Ditto.
- * rendering/RenderSVGResourceFilter.cpp: No need to call toSVGRenderBase() anymore, just grab the strokeBoundingBox() from the RenderObject.
- (WebCore::RenderSVGResourceFilter::applyResource):
- * rendering/RenderSVGText.h: Remove toSVGRenderBase() method.
- * rendering/SVGRenderSupport.h: Ditto. Remove markerBoundingBox() method, now combined with strokeBoundingBox().
- (WebCore::SVGRenderBase::strokeBoundingBox):
- * rendering/SVGRootInlineBox.h: Remove toSVGRenderBase() method.
- * rendering/style/SVGRenderStyle.h: Add hasMarkers() helper method, to avoid doing unnecessary work in RenderPath.
- (WebCore::SVGRenderStyle::hasMarkers):
-
-2010-04-30 Eric Uhrhane <ericu@chromium.org>
-
- Reviewed by Dmitry Titov.
-
- Add bindings for async DB API in Workers.
- https://bugs.webkit.org/show_bug.cgi?id=34992
-
- Tests: storage/change-version-handle-reuse-worker.html
- storage/execute-sql-args-worker.html
-
- * bindings/js/JSWorkerContextCustom.cpp: Add openDatabase binding.
- (WebCore::JSWorkerContext::openDatabase):
-
- * bindings/v8/custom/V8WorkerContextCustom.cpp: Add openDatabase stub; Chromium will need work both in V8 and in the browser process before we can turn this on there.
- (WebCore::V8WorkerContext::openDatabaseCallback):
-
- Add NoStaticTables flags to all objects now shared with workers.
- * storage/Database.idl:
- * storage/SQLError.idl:
- * storage/SQLResultSet.idl:
- * storage/SQLResultSetRowList.idl:
- * storage/SQLTransaction.idl:
-
- * workers/WorkerContext.h: Add databaseExceededQuota.
- * workers/WorkerContext.cpp:
- (WebCore::WorkerContext::databaseExceededQuota): Add stub implementation for testing; you just get 5MB for now.
- (WebCore::WorkerContext::openDatabase): Remove invalid assertion.
-
- Add the IDL for the call to openDatabase.
- * workers/WorkerContext.idl:
-
-2010-04-30 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Darin Adler.
-
- Unnecessary PrintContext::end() calls
- https://bugs.webkit.org/show_bug.cgi?id=38247
-
- Refactoring only, so no new tests.
-
- * page/PrintContext.cpp:
- (WebCore::PrintContext::pageNumberForElement):
- (WebCore::PrintContext::numberOfPages):
-
-2010-04-30 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Adele Peterson.
-
- Implement interactive behavior of spin buttons.
- https://bugs.webkit.org/show_bug.cgi?id=35686
-
- Introduce SpinButtonElement. It is a shadow element class for
- spin buttons. If the upper side of the element is clicked, calls
- HTMLInputElement::stepUpFromRenderer(1). If the lower button is
- clicked, calls HTMLInputElement::stepUpFromRenderer(-1).
-
- SpinButtonElement tracks the mouse pointer position, and
- RenderTheme sets ControlStates::SpinUpState if the pointer is on
- the upper side.
-
- Test: platform/mac/fast/forms/input-number-click.html
-
- * dom/Element.h:
- (WebCore::Element::isSpinButtonElement):
- * editing/VisibleSelection.cpp:
- (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
- Remove an assertion. lastEditablePositionBeforePositionInRoot() can
- return null in a case that m_end is at a shadow element (a spin button)
- and baseRoot is another shadow element (inner text block) in the same
- node (an INPUT element).
- * html/HTMLInputElement.cpp:
- (WebCore::HTMLInputElement::stepUpFromRenderer):
- * html/HTMLInputElement.h:
- (WebCore::HTMLInputElement::hasSpinButton):
- Add types supporting step attribute except RANGE.
- * rendering/RenderTextControlSingleLine.cpp:
- (WebCore::RenderTextControlSingleLine::nodeAtPoint):
- (WebCore::RenderTextControlSingleLine::forwardEvent):
- (WebCore::RenderTextControlSingleLine::preferredContentWidth):
- (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
- * rendering/RenderTextControlSingleLine.h:
- * rendering/RenderTheme.cpp:
- (WebCore::RenderTheme::controlStatesForRenderer):
- (WebCore::RenderTheme::isSpinUpButtonPartPressed):
- (WebCore::RenderTheme::isSpinUpButtonPartHovered):
- * rendering/RenderTheme.h:
- * rendering/TextControlInnerElements.cpp:
- (WebCore::SpinButtonElement::SpinButtonElement):
- (WebCore::SpinButtonElement::defaultEventHandler):
- * rendering/TextControlInnerElements.h:
- (WebCore::SpinButtonElement::isSpinButtonElement):
- (WebCore::SpinButtonElement::isEnabledFormControl):
- (WebCore::SpinButtonElement::onUpButton):
-
-2010-04-30 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Enable DOMWindow constructor for HTMLProgressElement
- https://bugs.webkit.org/show_bug.cgi?id=38333
-
- Add ENABLE_PROGRESS_TAG to FEATURES_DEFINES_JAVASCRIPT.
-
- * WebCore.pri:
-
-2010-04-30 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Adele Peterson.
-
- Mac implementation of outer-spin-button appearance, and anonymous
- element generation for <input type=number>.
- https://bugs.webkit.org/show_bug.cgi?id=32813
-
- The implementation uses NSStepperCell. Like the other Mac
- controls, it has only three candidates for sizes.
-
- The editable block of an input element is shrunk, and the
- anonymous block for a spin button is put on the right of the
- editable block.
-
- Tests: platform/mac/fast/forms/input-appearance-spinbutton-size.html
- platform/mac/fast/forms/input-appearance-spinbutton.html
- * dom/Element.cpp:
- (WebCore::Element::pseudoStyleCacheIsInvalid):
- * dom/InputElement.h:
- (WebCore::InputElement::hasSpinButton):
- * html/HTMLInputElement.h:
- (WebCore::HTMLInputElement::hasSpinButton): Return true for NUMBER type.
- * platform/mac/ThemeMac.mm:
- (WebCore::sizeFromNSControlSize): Split the main part of sizeFromFont()
- to this in order to use stepperControlSizeForFont() instead of
- controlSizeForFont().
- (WebCore::sizeFromFont): Just calls sizeFromNSControlSize() with
- sizeFromFont(). No behavior changes.
- (WebCore::stepperSizes): Returns sizes for mini, small, and regular.
- (WebCore::stepperControlSizeForFont):
- Dedicated version of controlSizeForFont().
- (WebCore::stepper): Returns NSStepperCell object with specified settings.
- (WebCore::paintStepper):
- (WebCore::ThemeMac::controlSize): Support for OuterSpinButton.
- (WebCore::ThemeMac::minimumControlSize): ditto.
- (WebCore::ThemeMac::inflateControlPaintRect): ditto.
- (WebCore::ThemeMac::paint): ditto.
- * rendering/RenderBox.cpp:
- (WebCore::RenderBox::paintBoxDecorations):
- Move the content to paintBoxDecorationsWithSize().
- (WebCore::RenderBox::paintBoxDecorationsWithSize):
- * rendering/RenderBox.h: Declare paintBoxDecorationsWithSize().
- * rendering/RenderTextControlSingleLine.cpp:
- (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
- (WebCore::RenderTextControlSingleLine::paintBoxDecorations):
- Call paintBoxDecorationsWithSize() with smaller width by decorationWidthRight().
- (WebCore::RenderTextControlSingleLine::addFocusRingRects):
- Add a rectangle of which width is smaller by decorationWidthRight().
- (WebCore::RenderTextControlSingleLine::layout):
- Adjust m_outerSpinButton position.
- (WebCore::RenderTextControlSingleLine::styleDidChange):
- (WebCore::RenderTextControlSingleLine::textBlockWidth):
- (WebCore::RenderTextControlSingleLine::decorationWidthRight):
- (WebCore::RenderTextControlSingleLine::preferredDecorationWidthRight):
- (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
- Creates an element for m_outerSpinButton if it is needed.
- (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
- (WebCore::RenderTextControlSingleLine::createOuterSpinButtonStyle):
- * rendering/RenderTextControlSingleLine.h: Declare new methods and m_outerSpinButton.
- * rendering/RenderThemeMac.mm:
- (WebCore::RenderThemeMac::adjustRepaintRect): Support for OuterSpinButton.
-
-2010-04-29 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Update JSC CodeGenerator baseline. Not sure how I missed
- this one earlier.
-
- * bindings/scripts/test/JS/JSTestObj.cpp:
- (WebCore::jsTestObjPrototypeFunctionSerializedValue):
-
-2010-04-29 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by Adele Peterson.
-
- Need to updateLayout after typing commands too
- https://bugs.webkit.org/show_bug.cgi?id=38352
-
- Replaced !m_parent checks in EditCommand.cpp by the more descriptive isTopLevelCommand().
- Move the post editing operation updateLayout() call to {un,re}appliedEditing so that text insertions,
- which don't go through EditCommand::{un,re}apply() can benefit from it too. No test case possible
- since most platforms have a layout performed as a side effect of post operation selection code.
-
- * editing/EditCommand.cpp:
- (WebCore::EditCommand::apply):
- (WebCore::EditCommand::unapply):
- (WebCore::EditCommand::reapply):
- * editing/EditCommand.h:
- (WebCore::EditCommand::isTopLevelCommand):
- * editing/Editor.cpp:
- (WebCore::Editor::appliedEditing):
- (WebCore::Editor::unappliedEditing):
- (WebCore::Editor::reappliedEditing):
-
-2010-04-29 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Simon Fraser.
-
- <rdar://problem/7918086> REGRESSION (r57820): Controller is not displayed in window when opening a MP3 file in browser window
- https://bugs.webkit.org/show_bug.cgi?id=38350
-
- Tests: media/audio-only-video-intrinsic-size.html
- media/media-document-audio-size.html
-
- * rendering/RenderVideo.cpp:
- (WebCore::RenderVideo::RenderVideo): Until metadata is available, ignore the natural size
- reported by the player.
- (WebCore::RenderVideo::videoSizeChanged): Respect a natural size of zero if reported by the
- player, except in standalone media documents.
-
-2010-04-29 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- First part of
- https://bugs.webkit.org/show_bug.cgi?id=20784
- move npapi.h to C99 integer types.
-
- Add nptypes.h to the build.
-
- * WebCore.xcodeproj/project.pbxproj:
- * bridge/npapi.h:
- * bridge/npruntime.h:
- * bridge/nptypes.h: Added.
-
-2010-04-29 Xan Lopez <xlopez@igalia.com>
-
- Rubber-stamped by Adam Barth.
-
- Update GObject bindings test results. We are actually moving
- backwards here, but we'll update them again when we figure out
- what broke.
-
- * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
- (webkit_dom_test_obj_set_property):
- (webkit_dom_test_obj_get_property):
-
-2010-04-29 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=38277
- MiniBrowser: -[WebCoreFlippedView currentEditor]: unrecognized selector
-
- * platform/mac/ThemeMac.mm:
- (-[WebCoreFlippedView currentEditor]): Added currentEditor nil implementation.
-
-2010-04-29 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- CodeGeneratorJS.pm should be consistent about castedThis versus castedThisObj
- https://bugs.webkit.org/show_bug.cgi?id=38338
-
- Currently CodeGeneratorJS.pm uses castThis for methods and
- castedThisObj for attributes. This inconsistency makes it difficult to
- factor common code genereration code into methods shared by both kinds
- of bindings. This match aligns the names so that a future patch (e.g.,
- in https://bugs.webkit.org/show_bug.cgi?id=38313) can reduce copy/paste
- code.
-
- * bindings/scripts/CodeGeneratorJS.pm:
- * bindings/scripts/test/JS/JSTestObj.cpp:
- (WebCore::setJSTestObjIntAttr):
- (WebCore::setJSTestObjLongLongAttr):
- (WebCore::setJSTestObjUnsignedLongLongAttr):
- (WebCore::setJSTestObjStringAttr):
- (WebCore::setJSTestObjTestObjAttr):
- (WebCore::setJSTestObjAttrWithException):
- (WebCore::setJSTestObjAttrWithSetterException):
- (WebCore::setJSTestObjAttrWithGetterException):
- (WebCore::jsTestObjPrototypeFunctionVoidMethod):
- (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
- (WebCore::jsTestObjPrototypeFunctionIntMethod):
- (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
- (WebCore::jsTestObjPrototypeFunctionObjMethod):
- (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
- (WebCore::jsTestObjPrototypeFunctionMethodWithException):
- (WebCore::jsTestObjPrototypeFunctionCustomMethod):
- (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
- (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
- (WebCore::jsTestObjPrototypeFunctionAddEventListener):
- (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
- (WebCore::jsTestObjPrototypeFunctionWithDynamicFrame):
- (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
- (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
- (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
- (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
- (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
- (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
- (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
- (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
- (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
- (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
- (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
-
-2010-04-29 Gustavo Noronha Silva <gustavo.noronhaollabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- [GTK] pointerCursor should use the default cursor set for the window, not GDK_LEFT_PTR
- https://bugs.webkit.org/show_bug.cgi?id=36963
-
- Use the default cursor instead of hard-coding left pointer.
-
- * platform/gtk/CursorGtk.cpp:
- (WebCore::Cursor::Cursor):
- (WebCore::pointerCursor):
-
-2010-04-29 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- WebInspector: If Timeline panel is in recording mode and is not visible and has received
- new events then these events do not appear in the panel when the panel becomes visible.
- Timeline popup may appear in the upper left window corner when you switch to another panel.
- https://bugs.webkit.org/show_bug.cgi?id=38322
-
- * inspector/front-end/Popover.js:
- (WebInspector.PopoverHelper.prototype._mouseMove.doHide):
- (WebInspector.PopoverHelper.prototype._mouseMove):
- (WebInspector.PopoverHelper.prototype.hidePopup):
- (WebInspector.PopoverHelper.prototype._hidePopup):
- * inspector/front-end/TimelinePanel.js:
- (WebInspector.TimelinePanel.prototype.show):
- (WebInspector.TimelinePanel.prototype._scheduleRefresh):
- (WebInspector.TimelinePanel.prototype._refresh):
-
-2010-04-29 Anton Muhin <antonm@chromium.org>
+2010-05-31 Anton Muhin <antonm@chromium.org>
Reviewed by Darin Adler.
- Let's cache nodelists instead of DynamicNodeList::Caches
- https://bugs.webkit.org/show_bug.cgi?id=33696
+ Make NodeList getters take AtomicString instead of plain String
+ https://bugs.webkit.org/show_bug.cgi?id=39892
- Test: fast/dom/Element/node-list-identity.html
+ Those methods turn String into AtomicString later. And this conversion
+ is faster if underlying string is already atomic.
+ That buys small (~2-3%) speed up for Chromium on Dromaeo DOM Core.
+ I don't know if Safari benefits from it.
- * bindings/js/JSNodeCustom.cpp:
- (WebCore::JSNode::markChildren): Mark all cached node lists as well
- * dom/ClassNodeList.cpp:
- (WebCore::ClassNodeList::ClassNodeList): Don't need DynamicNodeList::Caches argument any more
- (WebCore::ClassNodeList::~ClassNodeList): Remove from the cache
- * dom/ClassNodeList.h: Added a field with original class names to be used as a key for removal from the cache
- (WebCore::ClassNodeList::create): Don't need DynamicNodeList::Caches argument any more
- * dom/NameNodeList.cpp:
- (WebCore::NameNodeList::NameNodeList): Don't need DynamicNodeList::Caches argument any more
- (WebCore::NameNodeList::~NameNodeList): Remove from the cache
- * dom/NameNodeList.h:
- (WebCore::NameNodeList::create): Don't need DynamicNodeList::Caches argument any more
* dom/Node.cpp:
- (WebCore::Node::removeCachedClassNodeList): Remove ClassNodeList from the cache
- (WebCore::Node::removeCachedNameNodeList): Remove NameNodeList from the cache
- (WebCore::Node::removeCachedTagNodeList): Remove TagNodeList from the cache
- (WebCore::Node::getElementsByTagNameNS): Switch to caching node lists themselves, not the data
- (WebCore::Node::getElementsByName): Switch to caching node lists themselves, not the data
- (WebCore::Node::getElementsByClassName): Switch to caching node lists themselves, not the data
- (WebCore::NodeListsNodeData::invalidateCaches): Switch to caching node lists themselves, not the data
- (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes): Switch to caching node lists themselves, not the data
- (WebCore::NodeListsNodeData::isEmpty): Switch to caching node lists themselves, not the data
- (WebCore::markNodeLists): Helper to mark all the node lists in the cache
- (WebCore::Node::markCachedNodeListsSlow): Mark all the cached node lists if any could be present
+ (WebCore::Node::getElementsByTagName):
+ (WebCore::Node::getElementsByTagNameNS):
* dom/Node.h:
- (WebCore::Node::markCachedNodeLists): Fast-path marking of cached node lists---bails out if there is no rare data
- * dom/NodeRareData.h: Changed type of caches to hold raw pointers to node lists, not RefPtr's to data
- * dom/TagNodeList.cpp:
- (WebCore::TagNodeList::TagNodeList): Don't need DynamicNodeList::Caches argument any more
- (WebCore::TagNodeList::~TagNodeList): Remove from the cache
- * dom/TagNodeList.h:
- (WebCore::TagNodeList::create): Don't need DynamicNodeList::Caches argument any more
-
-2010-04-29 Mikhail Naganov <mnaganov@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- [Chromium] Update ScriptProfileNode to retrieve execution time in milliseconds.
-
- https://bugs.webkit.org/show_bug.cgi?id=38330
-
- * bindings/v8/ScriptProfileNode.cpp:
- (WebCore::ScriptProfileNode::totalTime):
- (WebCore::ScriptProfileNode::selfTime):
-
-2010-04-28 Dimitri Glazkov <dglazkov@chromium.org>
-
- Reviewed by Darin Adler.
-
- A form without a submit button unexpectedly performs its action when Return is pressed
- https://bugs.webkit.org/show_bug.cgi?id=9756
- Implemented implicit form submission algorithm as defined in HTML5 spec:
- http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#implicit-submission,
- falling back to match IE's behavior in the edge cases.
-
- The underlying rules are:
-
- * If the form has no enabled submit buttons, submit if Enter/Return is pressed on the only single-line text field.
-
- * Otherwise, submit form using first enabled submit button if Enter/Return is pressed on a field
- that's not a textarea or a select.
-
- Test: fast/forms/implicit-submission.html
-
- * dom/SelectElement.cpp:
- (WebCore::SelectElement::menuListDefaultEventHandler): Ripped out implicit submission for select elements.
- (WebCore::SelectElement::listBoxDefaultEventHandler): Ditto.
- (WebCore::SelectElement::defaultEventHandler): Ditto.
- * dom/SelectElement.h: Ditto.
- (WebCore::HTMLFormElement::submitImplicitly): Renamed submitClick to submitImplicitly to better match HTML5 spec
- language, changed the logic to match the rules above.
- * html/HTMLInputElement.cpp:
- (WebCore::HTMLInputElement::defaultEventHandler): Reamed clickDefaultButton to implicitSubmission to better match
- HTML5 spec language, made radio element to trigger implicit submission.
- * html/HTMLSelectElement.cpp:
- (WebCore::HTMLSelectElement::defaultEventHandler): Removed passing of form() as parameter, because it's no longer
- necessary.
-
-2010-04-29 Paweł Hajdan, Jr. <phajdan.jr@chromium.org>
-
- Reviewed by Jeremy Orlow.
-
- Fix building with libpng-1.4.
- https://bugs.webkit.org/show_bug.cgi?id=33287
-
- No new tests (no behavior change).
-
- Original patch by John Bowler <jbowler@acm.org>
-
- * platform/image-encoders/skia/PNGImageEncoder.cpp:
- (WebCore::PNGImageEncoder::encode):
-
-2010-04-29 Adam Langley <agl@chromium.org>
-
- Reviewed by David Levin.
-
- This patch adds support for WOFF in Chromium. Since Chromium
- already transcodes all OpenType files for security reasons we
- are adding WOFF support into the transcoder.
-
- https://bugs.webkit.org/show_bug.cgi?id=38217
-
- * css/CSSFontFaceSrcValue.cpp:
- (WebCore::CSSFontFaceSrcValue::isSupportedFormat):
- Recognise "woff" as a font-face format value (guarded by
- ENABLE(OPENTYPE_SANITIZER) at this point)
- * platform/graphics/opentype/OpenTypeSanitizer.cpp:
- (WebCore::OpenTypeSanitizer::sanitize):
- Change so that the transcoded font can be larger than the original.
- (WOFF files are compressed, so the transcoded TTF is typically
- larger.)
-
-2010-04-29 Alex Milowski <alex@milowski.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Updates to the Qt build to enable building MathML support.
-
- * WebCore.pri:
- * WebCore.pro:
-
-2010-04-29 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- [GTK] GObject DOM bindings
- https://bugs.webkit.org/show_bug.cgi?id=33590
-
- Do not generate unneeded boilerplate in {get,set}_property methods
- when there are no properties to generate code for. This gets rid
- of lots of compiler warnings.
-
- * bindings/scripts/CodeGeneratorGObject.pm:
-
-2010-04-29 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Speed up text layouting
- https://bugs.webkit.org/show_bug.cgi?id=31719
-
- Use QFontMetrics::width() for the text width calculation instead
- of QTextLayout. This avoids expensive bearing calculations and the
- line breaking code.
-
- * platform/graphics/qt/FontQt.cpp:
- (WebCore::Font::floatWidthForComplexText):
-
-2010-04-29 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Simon Hausmann.
-
- [WINCE] Export g_stackBase with JS_EXPORTDATA
- https://bugs.webkit.org/show_bug.cgi?id=37437
-
- Declare g_stackBase with JS_EXPORTDATA as it is imported from JavaScriptCore.
-
- * platform/wince/SharedTimerWince.cpp:
-
-2010-04-29 Adam Barth <abarth@webkit.org>
-
- Reviewed by Maciej Stachowiak.
-
- Remove custom bindings for PopStateEvent.initPopStateEvent
- https://bugs.webkit.org/show_bug.cgi?id=38311
-
- Our code generation of SerializedScriptValue was slightly buggy, but
- it's easy to fix. Notice that the conversion to an atomic string is
- handled by the C++ type system and doesn't require logic in the code
- generator.
-
- * bindings/js/JSPopStateEventCustom.cpp:
- * bindings/scripts/CodeGeneratorJS.pm:
- * bindings/scripts/CodeGeneratorV8.pm:
- * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
- (webkit_dom_test_obj_serialized_value):
- * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
- * bindings/scripts/test/JS/JSTestObj.cpp:
- (WebCore::):
- (WebCore::jsTestObjPrototypeFunctionSerializedValue):
- * bindings/scripts/test/JS/JSTestObj.h:
- * bindings/scripts/test/ObjC/DOMTestObj.h:
- * bindings/scripts/test/ObjC/DOMTestObj.mm:
- (-[DOMTestObj serializedValue:]):
- * bindings/scripts/test/TestObj.idl:
- * bindings/scripts/test/V8/V8TestObj.cpp:
- (WebCore::TestObjInternal::serializedValueCallback):
- (WebCore::ConfigureV8TestObjTemplate):
- * bindings/v8/custom/V8PopStateEventCustom.cpp:
- * dom/PopStateEvent.idl:
-
-2010-04-29 Kent Tamura <tkent@chromium.org>
+2010-05-30 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
- Fix a bug that selection drag-and-drop doesn't work for input/textarea.
- https://bugs.webkit.org/show_bug.cgi?id=38175
+ Fix LayoutTests/fast/parser/xml-declaration-missing-ending-mark.html in HTML5 parser
+ https://bugs.webkit.org/show_bug.cgi?id=39939
- The code supposed the selected region was in the destination text
- field. It is not true in a case of drag-and-drop.
+ Turns out we need to implement the bogus comment state. :)
- Test: editing/pasteboard/drag-drop-input-textarea.html
-
- * dom/InputElement.cpp:
- (WebCore::InputElement::handleBeforeTextInsertedEvent):
- * html/HTMLTextAreaElement.cpp:
- (WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent):
-
-2010-04-29 Adam Barth <abarth@webkit.org>
-
- Reviewed by Maciej Stachowiak.
-
- Remove custom bindings for NodeFilter.acceptNode
- https://bugs.webkit.org/show_bug.cgi?id=38309
-
- This "custom" code was just an instance of the CallWith=ScriptState
- pattern. Also, it looks like V8 just had a garbage implemenation that
- did nothing.
-
- * WebCore.gypi:
- * bindings/js/JSNodeFilterCustom.cpp:
- * bindings/v8/custom/V8NodeFilterCustom.cpp: Removed.
- * dom/NodeFilter.idl:
-
-2010-04-29 Noam Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] QtWebkit doesn't link with 3D canvas
- https://bugs.webkit.org/show_bug.cgi?id=38299
-
- Added implementation for GraphicsContext3D::isGLES2Compliant, which returns the correct value based on a Qt #define.
-
- No new tests: build fix
-
- * platform/graphics/qt/GraphicsContext3DQt.cpp:
- (WebCore::GraphicsContext3D::isGLES2Compliant):
-
-2010-04-29 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] REGRESSION(r57638): tst_qwebframe::objectDeleted() fails
- https://bugs.webkit.org/show_bug.cgi?id=38316
-
- Accessing properties of a deleted objects doesn't throw an exception
- anymore.
-
- Continue to expose the QObject class wrapper for objects that
- previously existed but don't exist anymore. QtClass is safe to
- use with a deleted QObject.
-
- * bridge/qt/qt_instance.cpp:
- (JSC::Bindings::QtInstance::getClass): Return null only if m_class
- doesn't exist yet and there's no m_object.
-
-2010-04-29 Noam Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Reverse animations don't work in some use cases
- https://bugs.webkit.org/show_bug.cgi?id=38075
-
- This was due to a code path special-casing reverse animations, that became obselete when we aligned our animation code
- with the CA implementation. That special case code path is now a bug - and this patch removes it.
-
- http://staff.washington.edu/fmf/2009/03/25/iphone-3d-css-transformations/ now runs the reverse
- animation correctly.
-
- * platform/graphics/qt/GraphicsLayerQt.cpp:
- (WebCore::TransformAnimationQt::applyFrame):
+ * html/HTML5Lexer.cpp:
+ (WebCore::HTML5Lexer::nextToken):
-2010-04-29 Jan Hanssen <jhanssen@codeaurora.org>
+2010-05-30 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
- HTMLOptionElement::ownerSelectElement() needs to consider keygen elements
- https://bugs.webkit.org/show_bug.cgi?id=26016
-
- Patch written by Grace Kloba <klobag@gmail.com>, test fixed by me.
-
- Test: fast/dom/HTMLKeygenElement/keygen-option-select.html
-
- * html/HTMLOptionElement.cpp:
- (WebCore::HTMLOptionElement::ownerSelectElement):
- Make HTMLOptionElement::ownerSelectElement() consider the keygen element in addition to the current select element.
-
-2010-04-29 Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
-
- Reviewed by Eric Seidel.
-
- Add EFL-specific code to Widget.h and move the empty
- frameRectsChanged() definition to Widget.cpp, since the EFL port
- needs to override that.
- http://webkit.org/b/36317
-
- No new tests required.
-
- * WebCore.base.exp:
- * platform/Widget.cpp:
- (WebCore::Widget::frameRectsChanged):
- * platform/Widget.h:
-
-2010-04-29 Jarkko Sakkinen <jarkko.j.sakkinen@gmail.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] GraphicsContext3DQt.cpp does not implement isGLES2Compliant()
- https://bugs.webkit.org/show_bug.cgi?id=38216
-
- * platform/graphics/qt/GraphicsContext3DQt.cpp:
- (WebCore::GraphicsContext3D::isGLES2Compliant):
-
-2010-04-29 Zhenyao Mo <zmo@google.com>
-
- Reviewed by Dimitri Glazkov.
-
- Remove the unnecessary texImage2D function with Image as input in GraphicsContext3D
- https://bugs.webkit.org/show_bug.cgi?id=38235
-
- * html/canvas/WebGLRenderingContext.cpp:
- (WebCore::WebGLRenderingContext::texImage2D): Add extractImageData; add a common entry point for texImage2D with image input.
- (WebCore::WebGLRenderingContext::texImage2DBase): Add this function as the common entry point for texImage2D.
- (WebCore::WebGLRenderingContext::texSubImage2D): Add extractImageData; add a common entry point for texSubImage2D with image input.
- (WebCore::WebGLRenderingContext::texSubImage2DBase): Add this function as the common entry point for texSubImage2D.
- * html/canvas/WebGLRenderingContext.h: Add tex*Image{Base/Image} function declaration.
- * platform/graphics/GraphicsContext3D.h: Remove tex*Image declaration with Image input.
- * platform/graphics/mac/GraphicsContext3DMac.cpp: Remove tex*Image implementation with Image input.
- (WebCore::GraphicsContext3D::texImage2D):
- (WebCore::GraphicsContext3D::texSubImage2D):
-
-2010-04-29 Noam Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] GraphicsLayer: flicker when starting an animation before the previous one ended.
- https://bugs.webkit.org/show_bug.cgi?id=38076
-
- This was due to the cude in the removeAnimations functions, which called deleteLater() without stopping the
- animation synchronously. The delay between the call to that function and the actual call to the animation's destructor
- is when the flicker occured. We fix this by calling stop() synchronously, and making sure that the value is reverted
- upon stop (updateState) and not upon the object's destruction.
-
- http://staff.washington.edu/fmf/2009/03/25/iphone-3d-css-transformations/ now doesn't flicker when
- the animation is toggled frequently.
+ fast/tokenizer/write-partial-entity.html hits ASSERT SegmentedString in the HTML5 Parser
+ https://bugs.webkit.org/show_bug.cgi?id=39935
- * platform/graphics/qt/GraphicsLayerQt.cpp:
- (WebCore::TransformAnimationQt::~TransformAnimationQt):
- (WebCore::TransformAnimationQt::applyFrame):
- (WebCore::TransformAnimationQt::updateState):
- (WebCore::OpacityAnimationQt::~OpacityAnimationQt):
- (WebCore::OpacityAnimationQt::updateState):
- (WebCore::GraphicsLayerQt::removeAnimationsForProperty):
- (WebCore::GraphicsLayerQt::removeAnimationsForKeyframes):
-
-2010-04-28 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Simon Fraser.
-
- Media queries empty values
- https://bugs.webkit.org/show_bug.cgi?id=38116
-
- Adding isValid() method to MediaQueryExp to make it possible to differentiate
- between queries with empty values and queries with invalid values.
+ Test: fast/tokenizer/write-partial-entity.html
- Test: fast/media/media-query-invalid-value.html
-
- * css/MediaQueryEvaluator.cpp:
- (WebCore::MediaQueryEvaluator::eval):
- * css/MediaQueryExp.cpp:
- (WebCore::MediaQueryExp::MediaQueryExp):
- * css/MediaQueryExp.h:
- (WebCore::MediaQueryExp::isValid):
-
-2010-04-28 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- Web Inspector: Allow editing script resources when resource tracking is enabled.
-
- https://bugs.webkit.org/show_bug.cgi?id=38269
-
- * inspector/front-end/ScriptView.js:
- * inspector/front-end/ScriptsPanel.js:
- (WebInspector.ScriptsPanel.prototype.canEditScripts):
- (WebInspector.ScriptsPanel.prototype.editScriptSource):
- * inspector/front-end/SourceFrame.js:
- (WebInspector.SourceFrame.prototype.get textModel):
- * inspector/front-end/SourceView.js:
- (WebInspector.SourceView):
- (WebInspector.SourceView.prototype._addBreakpoint):
- (WebInspector.SourceView.prototype._editLine):
- (WebInspector.SourceView.prototype._editLineComplete):
- (WebInspector.SourceView.prototype._sourceIDForLine):
-
-2010-04-25 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Darin Adler.
-
- Clicking a scrollbar blurs the currently focused element
- https://bugs.webkit.org/show_bug.cgi?id=16809
+ * html/HTML5Tokenizer.cpp:
+ (WebCore::HTML5Tokenizer::executeScript):
+ - Use m_source.append(oldInsertionPoint) instead of
+ oldInsertionPoint.prepend(m_source) because m_source may have had
+ characters pushed onto it and prepend() does not handle that case.
- WebKit ports that do not use native (platform) widgets for rendering the scrollbars
- are currently mismatching a common behaviour of other browser vendors (including
- Firefox and Opera): clicking on a frame scrollbar *should not* steal focus from content.
- WebKit browsers based ports that do use WebCore for handling scrollbars, like QtWebKit for
- instance, can observe the opposite behaviour.
+2010-05-30 Lyon Chen <liachen@rim.com>
- Patch fixes this behaviour by checking if current MouseDown event targets a frame scrollbar.
- If that is the case, it bails out and do not change focus behavior at all.
+ Reviewed by Kent Tamura.
- It is important to note that the given way this is implemented by this patch, non-frame
- scrollbars (e.g. a vertical scrollbar of an overflowed textareas or divs) will keep working
- in the same way as it works currently.
+ This is a coding style cleanup before fixing to bug 35530.
- Tests: scrollbars/scrollbar-click-does-not-blur-content.html
- scrollbars/scrollbar-iframe-click-does-not-blur-content.html
+ Enum value FORWARD, BACKWARD, RIGHT, LEFT are causing macro conflicts.
+ https://bugs.webkit.org/show_bug.cgi?id=35530
+ * editing/Editor.cpp:
+ (WebCore::Editor::deleteWithDirection):
+ (WebCore::Editor::fontForSelection):
+ (WebCore::Editor::applyStyle):
+ (WebCore::Editor::applyParagraphStyle):
+ (WebCore::Editor::applyStyleToSelection):
+ (WebCore::Editor::applyParagraphStyleToSelection):
+ (WebCore::triStateOfStyleInComputedStyle):
+ (WebCore::Editor::selectionStartHasStyle):
+ (WebCore::Editor::selectionHasStyle):
+ (WebCore::Editor::paste):
+ (WebCore::Editor::ignoreSpelling):
+ (WebCore::Editor::learnSpelling):
+ (WebCore::findFirstMisspellingInRange):
+ (WebCore::findFirstGrammarDetailInRange):
+ (WebCore::findFirstBadGrammarInRange):
+ (WebCore::findFirstMisspellingOrBadGrammarInRange):
+ (WebCore::Editor::advanceToNextMisspelling):
+ (WebCore::Editor::isSelectionMisspelled):
+ (WebCore::isRangeUngrammatical):
+ (WebCore::Editor::guessesForMisspelledSelection):
+ (WebCore::guessesForMisspelledOrUngrammaticalRange):
+ (WebCore::Editor::markMisspellingsAfterTypingToPosition):
+ (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
+ * editing/EditorCommand.cpp:
+ (WebCore::applyCommandToFrame):
+ (WebCore::executeToggleStyleInList):
+ (WebCore::executeApplyParagraphStyle):
+ (WebCore::executeDelete):
+ (WebCore::executeForwardDelete):
+ (WebCore::executeInsertLineBreak):
+ (WebCore::supportedCopyCut):
+ (WebCore::supportedPaste):
+ (WebCore::enabledDelete):
+ * editing/SelectionController.cpp:
+ (WebCore::SelectionController::modifyExtendingRight):
+ (WebCore::SelectionController::modifyExtendingForward):
+ (WebCore::SelectionController::modifyMovingRight):
+ (WebCore::SelectionController::modifyMovingForward):
+ (WebCore::SelectionController::modifyExtendingLeft):
+ (WebCore::SelectionController::modifyExtendingBackward):
+ (WebCore::SelectionController::modifyMovingLeft):
+ (WebCore::SelectionController::modifyMovingBackward):
+ (WebCore::SelectionController::modify):
+ (WebCore::SelectionController::xPosForVerticalArrowNavigation):
+ (WebCore::SelectionController::debugRenderer):
+ * editing/TypingCommand.cpp:
+ (WebCore::TypingCommand::deleteKeyPressed):
+ (WebCore::TypingCommand::forwardDeleteKeyPressed):
+ (WebCore::TypingCommand::insertLineBreak):
+ (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
+ (WebCore::TypingCommand::insertParagraphSeparator):
+ (WebCore::TypingCommand::doApply):
+ (WebCore::TypingCommand::insertText):
+ (WebCore::TypingCommand::updatePreservesTypingStyle):
* page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMousePressEvent):
+ (WebCore::EventHandler::handleMouseReleaseEvent):
+ (WebCore::EventHandler::selectCursor):
+ (WebCore::EventHandler::canHandleDragAndDropForTarget):
(WebCore::EventHandler::dispatchMouseEvent):
+ (WebCore::EventHandler::sendContextMenuEvent):
+ (WebCore::EventHandler::handleKeyboardSelectionMovement):
+ (WebCore::EventHandler::handleDrag):
-2010-04-28 Dan Bernstein <mitz@apple.com>
-
- Rubber-stamped by Maciej Stachowiak.
-
- Try to fix test failures seen on the Leopard build bot after r58467
-
- * platform/graphics/SimpleFontData.cpp:
- (WebCore::SimpleFontData::platformGlyphInit): Initialize m_zeroWidthSpaceGlyph before
- calling widthForGlyph(), as the latter uses the former.
-
-2010-04-28 Martin Robinson <mrobinson@webkit.org>
-
- Reviewed by Gustavo Noronha.
-
- [GTK] Enable DOM clipboard and drag-and-drop access
- https://bugs.webkit.org/show_bug.cgi?id=30623
-
- Make ClipboardGtk a "live" DataTransfer object, able to modify
- the clipboard when setData(...) is called.
-
- * platform/gtk/ClipboardGtk.cpp:
- (WebCore::Editor::newGeneralClipboard): Pass the GtkClipboard into the factory method.
- (WebCore::ClipboardGtk::ClipboardGtk): Create two separate constructors, one for DnD data and one for clipboard data.
- (WebCore::dataObjectTypeFromHTMLClipboardType): Added.
- (WebCore::ClipboardGtk::clearData): Clear the member DataObject, optionally write the clipboard.
- (WebCore::ClipboardGtk::clearAllData): Ditto.
- (WebCore::joinURIList): Added.
- (WebCore::ClipboardGtk::getData): Get the data from the clipboard, if possible.
- (WebCore::ClipboardGtk::setData): Write data to the DataObject and maybe the clipboard.
- (WebCore::ClipboardGtk::types): Read the clipboard/DataObject to find applicable types.
- (WebCore::ClipboardGtk::files): Read the clipboard/DataObject to find the files.
- (WebCore::ClipboardGtk::writeURL): Write to the DataObject and maybe the clipboard.
- (WebCore::ClipboardGtk::writeRange): Ditto.
- (WebCore::ClipboardGtk::writePlainText): Ditto.
- (WebCore::ClipboardGtk::hasData): Query the clipboard/DataObject.
- * platform/gtk/ClipboardGtk.h:
- (WebCore::ClipboardGtk::create): Added one factory for pasteboard-backed DataObjects and one for DnD-backed objects.
- * platform/gtk/DataObjectGtk.cpp:
- (WebCore::replaceNonBreakingSpaceWithSpace): Added this helper function to clean &nbsp; from plain text.
- (WebCore::DataObjectGtk::markup): Actually return the range if it's set.
- (WebCore::DataObjectGtk::setText): Clean &nbsp; from plain text.
- (WebCore::DataObjectGtk::clearText): Added.
- (WebCore::DataObjectGtk::clearMarkup): Added.
- * platform/gtk/DataObjectGtk.h:
- (WebCore::DataObjectGtk::clearURIList): Added.
- (WebCore::DataObjectGtk::clearImage): Added.
- * platform/gtk/PasteboardHelper.cpp:
- (WebCore::PasteboardHelper::initializeTargetList): Added target ID's for URI list and Netscape URL targets.
- (WebCore::urisToKURLVector): Added.
- (WebCore::PasteboardHelper::getClipboardContents): Added.
- (WebCore::PasteboardHelper::fillSelectionData): Added logic for URI lists and Netscape URLs.
- (WebCore::PasteboardHelper::targetListForDataObject): Ditto.
- * platform/gtk/PasteboardHelper.h: Added default argument to writeClipboardContents and new method.
-
-2010-04-28 Martin Robinson <mrobinson@webkit.org>
-
- Reviewed by Gustavo Noronha.
-
- [GTK] Enable DOM clipboard and drag-and-drop access
- https://bugs.webkit.org/show_bug.cgi?id=30623
-
- Use the length of the UTF-8 markup data in bytes when filling GtkSelectionData.
-
- No new tests, because pasteboard DataTransfer tests will be enabled
- with the completion of the GTK+ DataTransfer object.
-
- * platform/gtk/PasteboardGtk.cpp:
- (WebCore::clipboard_get_contents_cb): Use strlen here instead of g_utf8_strlen.
-
-2010-04-28 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Adele Peterson.
-
- More of <rdar://problem/7855777> REGRESSION: Memory usage increase caused by storing glyph bounds in GlyphMetricsMap
- https://bugs.webkit.org/show_bug.cgi?id=37936
-
- Assigning zero width and empty bounds to the ZERO WIDTH SPACE glyph often allocates a width map
- page and a bounds map page for the glyph, each of which pages contains 255 unused entries. Save
- this space by not storing the zero width and empty bounds in the metrics maps.
-
- * platform/graphics/SimpleFontData.cpp:
- (WebCore::SimpleFontData::SimpleFontData): Initialize m_zeroWidthSpaceGlyph.
- (WebCore::SimpleFontData::platformGlyphInit): Set m_zeroWidthSpaceGlyph. Don’t create entries
- for the ZERO WIDTH SPACE glyph in the width map and in the bounds map.
- * platform/graphics/SimpleFontData.h:
- (WebCore::SimpleFontData::boundsForGlyph): Return empty bounds for the ZERO WIDTH SPACE glyph
- without consulting the bounds map.
- (WebCore::SimpleFontData::widthForGlyph): Return zero for the ZERO WIDTH SPACE glyph without
- consulting the width map.
-
-2010-04-28 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Adele Peterson.
-
- <rdar://problem/7847573> Safari welcome page logs JavaScript exception during page load
-
- The Safari welcome page runs afoul of the same-origin restriction on access to stylesheet rules
- that was added to address <https://bugs.webkit.org/show_bug.cgi?id=20527>. To work around this we're
- adding a temporary site-specific quirk that relaxes this restriction for the particular cross-origin
- access that occurs on the Safari welcome page.
-
- * css/CSSStyleSheet.cpp:
- (WebCore::CSSStyleSheet::cssRules):
-
-2010-04-28 Mike Thole <mthole@apple.com>
-
- Reviewed by Mark Rowe.
-
- Add separate exports file for symbols dependent on WTF_USE_PROTECTION_SPACE_AUTH_CALLBACK.
-
- * DerivedSources.make: Updated for WebCore.ProtectionSpaceAuthCallback.exp.
- * WebCore.ProtectionSpaceAuthCallback.exp: Added.
- * WebCore.xcodeproj/project.pbxproj:
-
-2010-04-28 Evan Martin <evan@chromium.org>
-
- Reviewed by David Levin.
-
- [chromium] revert getFontDataForCharacters change in r58341
- https://bugs.webkit.org/show_bug.cgi?id=38288
-
- It caused a performance regression.
-
- * platform/chromium/ChromiumBridge.h:
- * platform/graphics/chromium/FontCacheLinux.cpp:
- (WebCore::FontCache::getFontDataForCharacters):
-
-2010-04-28 Eric Seidel <eric@webkit.org>
-
- Unreviewed, rolling out r58441.
- http://trac.webkit.org/changeset/58441
- https://bugs.webkit.org/show_bug.cgi?id=37618
-
- Broke 3 test on Qt.
-
- * page/DragController.cpp:
- (WebCore::DragController::tryDocumentDrag):
- (WebCore::DragController::concludeEditDrag):
- * page/DragController.h:
- (WebCore::DragController::setDragInitiator):
- (WebCore::DragController::dragInitiator):
- (WebCore::DragController::documentUnderMouse):
-
-2010-04-28 Darin Adler <darin@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Remove some obsolete scrolling code
- https://bugs.webkit.org/show_bug.cgi?id=38293
-
- * page/Chrome.cpp:
- (WebCore::Chrome::scrollRectIntoView): Removed ScrollView* argument.
- * page/Chrome.h: Made scrollRectIntoView non-virtual, and removed ScrollView* argument.
-
- * page/FrameView.cpp: Removed scrollRectIntoViewRecursively.
- * page/FrameView.h: Removed scrollRectIntoViewRecursively and made
- setScrollPosition non-virtual, since there is no class derived from
- this class, and ScrollView's setScrollPosition is non-virtual.
-
- * platform/HostWindow.h: Removed scrollRectIntoView.
-
- * platform/ScrollView.cpp:
- (WebCore::ScrollView::scrollRectIntoViewRecursively): Updated comment
- since I was able to do most of the tasks listed here.
-
- * rendering/RenderLayer.cpp:
- (WebCore::RenderLayer::scrollRectToVisible): Removed 0 passed for
- ScrollView* argument to Chrome::scrollRectIntoView.
-
-2010-04-28 Mike Thole <mthole@apple.com>
-
- Reviewed by David Kilzer.
-
- Add canAuthenticateAgainstProtectionSpace() to frame loader so that a protection space
- can be inspected before attempting to authenticate against it
- https://bugs.webkit.org/show_bug.cgi?id=38271
-
- * loader/EmptyClients.h:
- (WebCore::EmptyFrameLoaderClient::canAuthenticateAgainstProtectionSpace): Added.
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::canAuthenticateAgainstProtectionSpace): Added.
- * loader/FrameLoader.h:
- * loader/FrameLoaderClient.h:
- * loader/ResourceLoader.cpp:
- (WebCore::ResourceLoader::canAuthenticateAgainstProtectionSpace): Added.
- * loader/ResourceLoader.h:
- (WebCore::ResourceLoader::canAuthenticateAgainstProtectionSpace): Added.
- * platform/network/ProtectionSpace.h:
- (WebCore::):
- * platform/network/ResourceHandle.h:
- * platform/network/ResourceHandleClient.h:
- (WebCore::ResourceHandleClient::canAuthenticateAgainstProtectionSpace): Added.
- * platform/network/mac/AuthenticationMac.mm:
- (WebCore::mac):
- Add cases for case ProtectionSpaceAuthenticationSchemeServerTrustEvaluationRequested and
- ProtectionSpaceAuthenticationSchemeClientCertificateRequested. Guarded with the
- #if USE(PROTECTION_SPACE_AUTH_CALLBACK) as the new NSURLProtectionSpace constants don't
- exist prior to Mac OS X 10.6.
- (WebCore::core): Ditto.
- * platform/network/mac/ResourceHandleMac.mm:
- (WebCore::ResourceHandle::canAuthenticateAgainstProtectionSpace): Added.
- (-[WebCoreResourceHandleAsDelegate connection:canAuthenticateAgainstProtectionSpace:]): Added.
-
-2010-04-28 Abhishek Arya <inferno@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Convert m_documentUnderMouse, m_dragInitiator to RefPtr.
- Eliminated unused m_dragInitiator accessor to prevent dereferencing.
- https://bugs.webkit.org/show_bug.cgi?id=37618
-
- Test: editing/pasteboard/drag-drop-iframe-refresh-crash.html
-
- * page/DragController.cpp:
- (WebCore::DragController::tryDocumentDrag):
- (WebCore::DragController::concludeEditDrag):
- * page/DragController.h:
- (WebCore::DragController::draggingImageURL):
- (WebCore::DragController::documentUnderMouse):
-
-2010-04-28 Dumitru Daniliuc <dumi@chromium.org>
-
- Unreviewed, fixing a build problem introduced by the previous patch.
-
- * storage/DatabaseSync.cpp:
- (WebCore::DatabaseSync::openDatabaseSync):
-
-2010-04-23 Dumitru Daniliuc <dumi@chromium.org>
-
- Reviewed by Jeremy Orlow.
-
- Adding some required classes for the sync WebSQLDatabases API.
- https://bugs.webkit.org/show_bug.cgi?id=34994
-
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * storage/DatabaseSync.cpp: Added.
- (WebCore::DatabaseSync::databaseInfoTableName):
- (WebCore::DatabaseSync::setIsAvailable):
- (WebCore::DatabaseSync::isAvailable):
- (WebCore::DatabaseSync::openDatabaseSync):
- (WebCore::DatabaseSync::DatabaseSync):
- (WebCore::DatabaseSync::~DatabaseSync):
- (WebCore::DatabaseSync::version):
- (WebCore::DatabaseSync::changeVersion):
- (WebCore::DatabaseSync::transaction):
- * storage/DatabaseSync.h: Added.
- (WebCore::DatabaseSync::databaseDebugName):
- * storage/SQLTransactionSync.cpp: Added.
- (WebCore::SQLTransactionSync::create):
- (WebCore::SQLTransactionSync::SQLTransactionSync):
- (WebCore::SQLTransactionSync::~SQLTransactionSync):
- (WebCore::SQLTransactionSync::executeSQL):
- * storage/SQLTransactionSync.h: Added.
- (WebCore::SQLTransactionSync::database):
- (WebCore::SQLTransactionSync::isReadOnly):
- * storage/SQLTransactionSyncCallback.h: Added.
- (WebCore::SQLTransactionSyncCallback::~SQLTransactionSyncCallback):
-
-2010-04-28 İsmail Dönmez <ismail@namtrac.org>
-
- Reviewed by Simon Hausmann.
-
- Fix compilation with QT_NO_CURSOR defined.
-
- * platform/qt/QWebPageClient.h:
- (QWebPageClient::resetCursor):
- (QWebPageClient::setCursor):
-
-2010-04-28 Abhishek Arya <inferno@chromium.org>
-
- Reviewed by Alexey Proskuryakov.
-
- Added a check to make sure that resources from a different https origin are not cached.
- https://bugs.webkit.org/show_bug.cgi?id=33456
-
- Test: http/tests/appcache/different-https-origin-resource-main.html
-
- * loader/appcache/ManifestParser.cpp:
- (WebCore::parseManifest):
-
-2010-04-28 Sam Weinig <sam@webkit.org>
-
- Reviewed by Mark Rowe.
-
- Only set -allowable_client WebKit2 for engineering builds on SnowLeopard
- and later.
-
- * Configurations/WebCore.xcconfig:
-
-2010-04-28 Darin Adler <darin@apple.com>
-
- Reviewed by Adele Peterson.
-
- REGRESSION: Autoscroll does not work in Mail messages
- https://bugs.webkit.org/show_bug.cgi?id=38267
- rdar://problem/7559799
-
- Still haven't figured out a good way to test this with DumpRenderTree
- or with Safari. Testing has to be done with Mail for now.
-
- The machinery to make autoscrolling work on Mac OS X when a WebView is embedded in another
- view had gotten broken in multiple ways. For some reason, a combination of bugs made it
- partly work until around r48064. This brings it back.
-
- There were three problems:
-
- 1) Code in EventHandler decided there was nothing to scroll, so didn't start
- the autoscroll timer.
- 2) The wrong rectangle was passed to Chrome::scrollRectIntoView.
- 3) The Mac WebKit implementation of ChromeClient::scrollRectIntoView did incorrect
- coordinate conversion.
-
- I verified that none of these have any effect on regression tests, or behavior in
- web browsers, or behavior on platforms other than Mac.
-
- * page/EventHandler.cpp:
- (WebCore::canAutoscroll): Added. Returns true for boxes that can scroll directly
- and for the top level box of the top frame.
- (WebCore::EventHandler::handleMouseDraggedEvent): Use canAutoscroll.
- (WebCore::EventHandler::updateAutoscrollRenderer): Ditto.
-
- * page/FrameView.cpp:
- (WebCore::FrameView::scrollToAnchor): Fixed comment.
-
- * platform/ScrollView.cpp:
- (WebCore::ScrollView::scrollRectIntoViewRecursively): Put ASSERT_NOT_REACHED into this
- now-unused function along with some comments about removing some obsolete code.
-
- * rendering/RenderLayer.cpp:
- (WebCore::RenderLayer::scrollRectToVisible): Removed call to scrollRectIntoViewRecursively
- since from the WebKit point of view this is the topmost scroll view anyway. Instead call
- setScrollPosition. Moved the code to call Chrome::scrollRectIntoView here since it needs
- to use a different rectangle anyway.
-
-2010-04-21 Ojan Vafai <ojan@chromium.org>
-
- Reviewed by Adele Peterson.
-
- http://trac.webkit.org/changeset/57215 caused perf/memory regressions
- https://bugs.webkit.org/show_bug.cgi?id=37292
-
- #if out the canUseGlyphCache Changes from r57215 as they caused a
- 8% perf regression on Chromium's international page load tests so that
- the perf regression can be fixed properly without being left in the tree.
-
- * platform/graphics/FontFastPath.cpp:
- (WebCore::Font::canUseGlyphCache):
-
-2010-04-28 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Darin Adler.
-
- Fix for <rdar://problem/7474349>
-
- Add a synchronous display mechanism for WKCACFLayerRenderer.
-
- * platform/graphics/win/WKCACFLayerRenderer.cpp:
- (WebCore::WKCACFLayerRenderer::setRootContentsAndDisplay): This is
- just like setRootContents(), but it calls paint() instead of
- renderSoon().
- * platform/graphics/win/WKCACFLayerRenderer.h:
-
-2010-04-28 Dmitry Titov <dimich@chromium.org>
-
- Reviewed by Geoffrey Garen.
-
- REGRESSION: fast/workers/wrapper-map-gc.html crashes on Snow Leopard Release Bot
- https://bugs.webkit.org/show_bug.cgi?id=37554
-
- The flaky fast/workers/wrapper-map-gc.html will stop being flaky.
-
- * bindings/js/JSEventListener.cpp:
- (WebCore::JSEventListener::handleEvent):
- check if JS execution was terminated, as in cases of Worker.terminate() or WorkerGlobalScope.close().
- * bindings/js/JSWorkerContextBase.cpp:
- (WebCore::toJS): ASSERT the value of workerContextWrapper, it should never be 0.
- * bindings/js/WorkerScriptController.h:
- (WebCore::WorkerScriptController::workerContextWrapper): remove returning 0 if JS execution was forbidden.
- (WebCore::WorkerScriptController::isExecutionForbidden):
- * bindings/v8/WorkerScriptController.h:
- (WebCore::WorkerScriptController::isExecutionForbidden):
-
- Add ScriptExecutionContext::isJSExecutionTerminated(), it is always 'false' for Document
- and 'true' for WorkerContext when script is terminated.
- * dom/ScriptExecutionContext.h:
- * dom/Document.h:
- (WebCore::Document::isJSExecutionTerminated):
- * workers/WorkerContext.cpp:
- (WebCore::WorkerContext::isJSExecutionTerminated):
- * workers/WorkerContext.h:
-
-2010-04-28 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- WebInspector: Multiple Main Resource Content Loaded marks appear in Resource panel.
- https://bugs.webkit.org/show_bug.cgi?id=38270
-
- * inspector/front-end/ResourcesPanel.js:
- (WebInspector.ResourcesPanel.prototype.updateGraphDividersIfNeeded):
-
-2010-04-28 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- WebInspector: Timeline: We can have precise urls in the EvaluateScript records.
- https://bugs.webkit.org/show_bug.cgi?id=38264
-
- * inspector/front-end/TimelinePanel.js:
- (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
- (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
-
-2010-04-28 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Linkify node and function in the event listeners panel.
-
- https://bugs.webkit.org/show_bug.cgi?id=38251
-
- * bindings/js/ScriptEventListener.cpp:
- (WebCore::eventListenerHandlerBody):
- (WebCore::eventListenerHandlerLocation):
- * bindings/js/ScriptEventListener.h:
- * bindings/v8/ScriptEventListener.cpp:
- (WebCore::eventListenerHandlerBody):
- (WebCore::eventListenerHandlerLocation):
- * bindings/v8/ScriptEventListener.h:
- * inspector/InspectorDOMAgent.cpp:
- (WebCore::InspectorDOMAgent::buildObjectForEventListener):
- * inspector/front-end/ElementsPanel.js:
- (WebInspector.ElementsPanel.prototype.linkifyNodeReference):
- (WebInspector.ElementsPanel.prototype.linkifyNodeReference.preventDefault):
- * inspector/front-end/EventListenersSidebarPane.js:
- (WebInspector.EventListenersSidebarPane.prototype.update.callback):
- (WebInspector.EventListenersSidebarPane.prototype.update):
- ():
- * inspector/front-end/StylesSidebarPane.js:
- (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
- * inspector/front-end/inspector.css:
- (.node-link):
-
-2010-04-28 Julien Chaffraix <jchaffraix@webkit.org>
-
- Reviewed by Alexey Proskuryakov.
-
- [XHR] Cross-Origin synchronous request with credential raises NETWORK_ERR
- https://bugs.webkit.org/show_bug.cgi?id=37781
- <rdar://problem/7905150>
-
- Tests: http/tests/xmlhttprequest/access-control-preflight-credential-async.html
- http/tests/xmlhttprequest/access-control-preflight-credential-sync.html
-
- Rolling the patch in as I could not reproduce Qt results locally.
-
- * loader/DocumentThreadableLoader.cpp:
- (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Now we remove the
- credential from the request here to avoid forgetting to do so in the different code path.
- (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest): Just add the
- "Origin" header.
- (WebCore::DocumentThreadableLoader::loadRequest): Check here the the credential have
- been removed so that we don't leak them. Also tweaked a comment to make it clear that
- the URL check has issue when credential is involved.
-
-2010-04-28 Noam Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] GraphicsLayer: preserves-3d and backface visibility
- https://bugs.webkit.org/show_bug.cgi?id=35312
-
- Implement preserves-3d by maintaining the 3D transformation heirarchy inside GraphicsLayerQt, and extrapolating
- the relative QTransform. When the extrapolation fails (un-invertible matrix) we ignore the transformation change.
-
- WebKitSite/blog-files/3d-transforms test now work with Qt.
-
- * platform/graphics/qt/GraphicsLayerQt.cpp:
- (WebCore::GraphicsLayerQtImpl::updateTransform):
- (WebCore::GraphicsLayerQtImpl::opaqueArea):
- (WebCore::GraphicsLayerQtImpl::boundingRect):
- (WebCore::GraphicsLayerQtImpl::paint):
- (WebCore::GraphicsLayerQtImpl::flushChanges):
-
-2010-04-28 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- Web Inspector: View frame selector for Timeline overview panel is redesigned a bit.
- Now it is possible to adjust view frame by resizer bars and by click-n-drag in overview pane.
- https://bugs.webkit.org/show_bug.cgi?id=38251
-
- * inspector/front-end/TimelineOverviewPane.js:
- (WebInspector.TimelineOverviewPane):
- (WebInspector.TimelineOverviewPane.prototype.reset):
- (WebInspector.TimelineOverviewPane.prototype._dragWindow):
- (WebInspector.TimelineOverviewPane.prototype._windowSelectorDragging):
- (WebInspector.TimelineOverviewPane.prototype._endWindowSelectorDragging):
- (WebInspector.TimelineOverviewPane.prototype._resizeWindowLeft):
- (WebInspector.TimelineOverviewPane.prototype._resizeWindowRight):
- (WebInspector.TimelineOverviewPane.prototype._setWindowPosition):
- (WebInspector.TimelinePanel.WindowSelector):
- (WebInspector.TimelinePanel.WindowSelector.prototype._createSelectorElement):
- (WebInspector.TimelinePanel.WindowSelector.prototype._close):
- (WebInspector.TimelinePanel.WindowSelector.prototype._updatePosition):
- * inspector/front-end/inspector.css:
- (#timeline-overview-grid):
- (.timeline-window-selector):
- (#timeline-overview-window):
- (.timeline-overview-dividers-background):
- (.timeline-overview-window-rulers):
- (.timeline-window-resizer):
-
-2010-04-28 Marcus Bulach <bulach@chromium.org>
-
- Reviewed by Jeremy Orlow.
-
- Reverts 58340 (https://bugs.webkit.org/show_bug.cgi?id=38158) due to regression on fast/text/international/khmer-selection.html
- https://bugs.webkit.org/show_bug.cgi?id=38254
-
- * platform/graphics/chromium/FontLinux.cpp:
- (WebCore::adjustTextRenderMode):
- (WebCore::TextRunWalker::getTextRun):
- (WebCore::TextRunWalker::getNormalizedTextRun):
- (WebCore::TextRunWalker::setGlyphXPositions):
- (WebCore::glyphIndexForXPositionInScriptRun):
- (WebCore::Font::offsetForPositionForComplexText):
- (WebCore::Font::selectionRectForComplexText):
- * platform/graphics/chromium/FontPlatformDataLinux.cpp:
- (WebCore::FontPlatformData::setupPaint):
- * platform/graphics/chromium/HarfbuzzSkia.cpp:
- (WebCore::getOutlinePoint):
- * platform/graphics/skia/GraphicsContext3DSkia.cpp:
- (WebCore::GraphicsContext3D::getImageData):
- * platform/graphics/skia/GraphicsContextSkia.cpp:
- (WebCore::isCoordinateSkiaSafe):
- (WebCore::GraphicsContext::fillRect):
- (WebCore::GraphicsContext::strokePath):
- (WebCore::GraphicsContext::strokeRect):
-
-2010-04-28 Andrey Kosyakov <caseq@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- Log error message to inspector console if a resource fails to load.
- Disable checking of mime-type consistency for failed resources.
- https://bugs.webkit.org/show_bug.cgi?id=37215
-
- Test: http/tests/inspector/console-resource-errors.html
-
- * inspector/InspectorController.cpp:
- (WebCore::InspectorController::didReceiveResponse):
- (WebCore::InspectorController::didFailLoading):
- * inspector/front-end/Resource.js:
- (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
- * inspector/front-end/ResourcesPanel.js:
- (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
-
-2010-04-28 Yury Semikhatsky <yurys@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Support pause on exceptions in v8 implementation of ScriptDebugServer.
-
- https://bugs.webkit.org/show_bug.cgi?id=38205
-
- * bindings/v8/ScriptDebugServer.cpp:
- (WebCore::ScriptDebugServer::addListener):
- (WebCore::ScriptDebugServer::pauseOnExceptionsState):
- (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
- (WebCore::ScriptDebugServer::currentCallFrame):
- (WebCore::ScriptDebugServer::handleV8DebugMessage):
- (WebCore::ScriptDebugServer::dispatchDidParseSource):
- * bindings/v8/ScriptDebugServer.h:
-
-2010-04-28 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r58313.
- http://trac.webkit.org/changeset/58313
- https://bugs.webkit.org/show_bug.cgi?id=38253
-
- Regression evident in pixel tests: the search icon is always
- clipped at the bottom. (Requested by jorlow on #webkit).
-
- * rendering/RenderTextControl.cpp:
- (WebCore::RenderTextControl::controlClipRect):
- * rendering/RenderTextControl.h:
- (WebCore::RenderTextControl::hasControlClip):
- * rendering/RenderTextControlSingleLine.cpp:
- (WebCore::RenderTextControlSingleLine::paint):
- * rendering/RenderTextControlSingleLine.h:
-
-2010-04-28 Justin McPherson <justin.mcpherson@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix detection of Qt 4.7's multimedia libraries
-
- QtMultimedia has been split into an additional media services library, which
- we're using. mediaservices depends on multimedia.
-
- * WebCore.pro:
-
-2010-04-28 Shinichiro Hamaji <hamaji@chromium.org>
-
- Unreviewed attempt to fix the chromium build.
-
- Add layoutTestController.setPrinting()
- https://bugs.webkit.org/show_bug.cgi?id=37203
-
- * rendering/RenderTreeAsText.cpp:
-
-2010-04-27 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Darin Adler and Eric Seidel.
-
- Add layoutTestController.setPrinting()
- https://bugs.webkit.org/show_bug.cgi?id=37203
-
- Added RenderAsTextPrintingMode as a behavior of externalRepresentation.
-
- Now ~PrintContext() calls end() automatically.
-
- * page/PrintContext.cpp:
- (WebCore::PrintContext::~PrintContext):
- * rendering/RenderTreeAsText.cpp:
- (WebCore::externalRepresentation):
- * rendering/RenderTreeAsText.h:
- (WebCore::):
-
-2010-04-27 Yuzo Fujishima <yuzo@google.com>
-
- Reviewed by Eric Seidel.
-
- Enhance CSS parser for Paged Media (Iteration 4)
- Implement page property parsing as specified at http://dev.w3.org/csswg/css3-page/#using-named-pages.
- https://bugs.webkit.org/show_bug.cgi?id=35853
-
- * css/CSSParser.cpp:
- (WebCore::CSSParser::parseValue):
- (WebCore::CSSParser::parsePage):
- * css/CSSParser.h:
-
-2010-04-27 Yuzo Fujishima <yuzo@google.com>
-
- Reviewed by Dimitri Glazkov.
-
- Enhance CSS parser for Paged Media (Iteration 3)
- Implement size parameter parsing for Paged Media.
- https://bugs.webkit.org/show_bug.cgi?id=35851
-
- I believe size property hasn't been used so far because (1) it hasn't been properly parsed and
- (2) a comment in CSSComputedStyleDeclaration::getPropertyCSSValue says so.
- Changing the way of parsing it should not cause any regressions -- no existing tests fail because of this change.
-
- * css/CSSParser.cpp:
- (WebCore::CSSParser::parseValue):
- (WebCore::CSSParser::parseSize):
- (WebCore::CSSParser::parseSizeParameter):
- * css/CSSParser.h:
- (WebCore::CSSParser::):
- * css/CSSValueKeywords.in:
-
-2010-04-27 Yuzo Fujishima <yuzo@google.com>
-
- Reviewed by Eric Seidel.
-
- Enhance CSS parser for Paged Media (Iteration 2)
- Parse and hold paged media rules in CSSStyleSelector.
-
- https://bugs.webkit.org/show_bug.cgi?id=35782
-
- Test: printing/page-rule-css-text.html
-
- * css/CSSGrammar.y:
- * css/CSSPageRule.cpp:
- (WebCore::CSSPageRule::CSSPageRule):
- (WebCore::CSSPageRule::selectorText):
- * css/CSSPageRule.h:
- (WebCore::CSSPageRule::create):
- (WebCore::CSSPageRule::isPageRule):
- * css/CSSParser.cpp:
- (WebCore::CSSParser::createPageRule):
- * css/CSSStyleRule.h:
- * css/CSSStyleSelector.cpp:
- (WebCore::CSSRuleSet::getPageRules):
- (WebCore::CSSRuleSet::CSSRuleSet):
- (WebCore::CSSRuleSet::~CSSRuleSet):
- (WebCore::CSSRuleSet::addPageRule):
- (WebCore::CSSRuleSet::addRulesFromSheet):
- * css/CSSStyleSelector.h:
- * css/StyleBase.h:
- (WebCore::StyleBase::isPageRule):
-
-2010-04-27 Daniel Bates <dbates@rim.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=37686
-
- Fixes an issue where the canvas method strokeRect will stroke a
- rectangle whose dimensions are 0 when lineWidth > 1.
-
- As per the definition of strokeRect in the HTML Canvas 2D Context
- spec. <http://www.w3.org/TR/2dcontext/#dom-context-2d-strokerect>,
- this method should have no effect when both the height and width
- are zero.
-
- Tests: fast/canvas/canvas-clearRect.html
- fast/canvas/canvas-fillRect.html
-
- * html/canvas/CanvasRenderingContext2D.cpp:
- (WebCore::validateRectForCanvas): Return false if height, width == 0.
-
-2010-04-27 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Remove obsolete custom bindings file
- https://bugs.webkit.org/show_bug.cgi?id=38223
-
- We don't need these files anymore because they are empty.
-
- * Android.jscbindings.mk:
- * GNUmakefile.am:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/js/JSAbstractWorkerCustom.cpp: Removed.
- * bindings/js/JSBindingsAllInOne.cpp:
- * bindings/js/JSDocumentFragmentCustom.cpp: Removed.
- * bindings/js/JSEventSourceCustom.cpp: Removed.
-
-2010-04-27 Daniel Cheng <dcheng@chromium.org>
-
- Reviewed by Jian Li.
-
- [Chromium] Filter out URLs with a file scheme from text/uri-list when dragging.
- https://bugs.webkit.org/show_bug.cgi?id=38227
-
- Unfortunately, the simple fix of not populating the drag data with file URLs doesn't work
- since the default drop handling uses the drag data URL to navigate to dropped files/URLs.
- For now, we hack around the problem in the Chromium platform, but the proper long term
- solution is to change DragController::performDrag to check dragData::asFilenames().
-
- No new tests.
-
- * platform/chromium/ClipboardChromium.cpp:
- (WebCore::ClipboardChromium::getData):
- (WebCore::ClipboardChromium::types):
-
-2010-04-27 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by the inimitable Dan Bernstein.
-
- SVG as background image renders incorrectly after zooming
- https://bugs.webkit.org/show_bug.cgi?id=38215
-
- When doing a partial redraw of an SVGImage used as a CSS background
- image, we're limited to drawing the entire Frame, clipped to the dirty rect.
- Because of this, we need to fix up the CTM so that the origin is at the
- top left of the unclipped image, rather than the top left of the
- portion being redrawn.
-
- Test: fast/images/svg-background-partial-redraw.html
-
- * svg/graphics/SVGImage.cpp:
- (WebCore::SVGImage::draw):
-
-2010-04-27 Yuzo Fujishima <yuzo@google.com>
-
- Reviewed by David Hyatt.
-
- Retry of: Enhance CSS parser for Paged Media (Iteration 1)
-
- In this change, the grammar is extended and skeletal methods for creating page rules and margin at-rules are defined.
- The contents of the methods should be implemented by other changes.
-
- https://bugs.webkit.org/show_bug.cgi?id=35329
-
- Test: fast/css/parsing-page-rule.html
-
- * css/CSSGrammar.y:
- * css/CSSParser.cpp:
- (WebCore::CSSParser::CSSParser):
- (WebCore::CSSParser::clearProperties):
- (WebCore::CSSParser::createPageRule):
- (WebCore::CSSParser::createMarginAtRule):
- (WebCore::CSSParser::startDeclarationsForMarginBox):
- (WebCore::CSSParser::endDeclarationsForMarginBox):
- * css/CSSParser.h:
- * css/CSSSelector.cpp:
- (WebCore::CSSSelector::pseudoId):
- (WebCore::nameToPseudoTypeMap):
- (WebCore::CSSSelector::extractPseudoType):
- * css/CSSSelector.h:
- (WebCore::CSSSelector::):
- * css/tokenizer.flex:
-
-2010-04-27 Julien Chaffraix <jchaffraix@webkit.org>
-
- Unreviewed, rolling out my changes as it rendered the Qt bot unreliable.
-
- * loader/DocumentThreadableLoader.cpp:
- (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
- (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
- (WebCore::DocumentThreadableLoader::loadRequest):
-
-2010-04-27 Julien Chaffraix <jchaffraix@webkit.org>
-
- Reviewed by Alexey Proskuryakov.
-
- [XHR] Cross-Origin synchronous request with credential raises NETWORK_ERR
- https://bugs.webkit.org/show_bug.cgi?id=37781
- <rdar://problem/7905150>
-
- Tests: http/tests/xmlhttprequest/access-control-preflight-credential-async.html
- http/tests/xmlhttprequest/access-control-preflight-credential-sync.html
-
- * loader/DocumentThreadableLoader.cpp:
- (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Now we remove the
- credential from the request here to avoid forgetting to do so in the different code path.
- (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest): Just add the
- "Origin" header.
- (WebCore::DocumentThreadableLoader::loadRequest): Check here the the credential have
- been removed so that we don't leak them. Also tweaked a comment to make it clear that
- the URL check has issue when credential is involved.
-
-2010-04-27 Sam Weinig <sam@webkit.org>
-
- Reviewed by Maciej Stachowiak.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=38238
- Allow both WebKit and WebKit2 to link to the same WebCore.framework
+2010-05-30 Daniel Bates <dbates@rim.com>
- * Configurations/WebCore.xcconfig: Use -allowable_client WebKit2 to add
- WebKit2 to the list of frameworks that can link directly to WebCore. It
- is not necessary for it to be an umbrella since we don't need to reexport
- any symbols.
+ Unreviewed, attempt to fix the build after http://trac.webkit.org/changeset/60418.
-2010-04-27 Dumitru Daniliuc <dumi@chromium.org>
+ * html/HTMLFormControlElement.h:
+ (WebCore::HTMLFormControlElement::isEnabledFormControl):
+ (WebCore::HTMLFormControlElement::isReadOnlyFormControl):
+ (WebCore::HTMLFormControlElement::isFormControlElement):
+ * html/HTMLInputElement.h:
+ (WebCore::HTMLInputElement::isPasswordField):
- Reviewed by David Levin.
+2010-05-30 Darin Adler <darin@apple.com>
- Turn on AUTO_VACUUM = INCREMENTAL for all HTML5 databases.
- https://bugs.webkit.org/show_bug.cgi?id=38191
-
- Vacuum all databases when the number of free pages is at least 10%
- of the number of total pages. Also, add a guard against a bug that
- was fixed in SQLite only starting with version 3.6.16.
-
- * platform/sql/SQLiteDatabase.cpp:
- (WebCore::SQLiteDatabase::maximumSize):
- (WebCore::SQLiteDatabase::freeSpaceSize):
- (WebCore::SQLiteDatabase::totalSize):
- (WebCore::SQLiteDatabase::runIncrementalVacuumCommand):
- (WebCore::SQLiteDatabase::turnOnIncrementalAutoVacuum):
- * platform/sql/SQLiteDatabase.h:
- (WebCore::SQLiteDatabase::):
- * platform/sql/SQLiteStatement.cpp:
- (WebCore::SQLiteStatement::prepare):
- (WebCore::SQLiteStatement::step):
- * storage/Database.cpp:
- (WebCore::Database::performOpenAndVerify):
- (WebCore::Database::incrementalVacuumIfNeeded):
- * storage/Database.h:
- * storage/SQLTransaction.cpp:
- (WebCore::SQLTransaction::postflightAndCommit):
-
-2010-04-27 Garret Kelly <gdk@chromium.org>
+ Reviewed by Sam Weinig.
- Reviewed by Darin Fisher.
+ Make more HTML DOM members private, especially constructors, third and final batch
+ https://bugs.webkit.org/show_bug.cgi?id=39916
- Turn all of the touch event handlers into RuntimeEnabledFeatures, and
- modify the createEvent methond on Document so that it won't create a
- TouchEvent if the feature is disabled.
- https://bugs.webkit.org/show_bug.cgi?id=37485
-
- * bindings/generic/RuntimeEnabledFeatures.cpp:
- * bindings/generic/RuntimeEnabledFeatures.h:
- (WebCore::RuntimeEnabledFeatures::touchEnabled):
- (WebCore::RuntimeEnabledFeatures::setTouchEnabled):
- (WebCore::RuntimeEnabledFeatures::ontouchstartEnabled):
- (WebCore::RuntimeEnabledFeatures::ontouchmoveEnabled):
- (WebCore::RuntimeEnabledFeatures::ontouchendEnabled):
- (WebCore::RuntimeEnabledFeatures::ontouchcancelEnabled):
* dom/Document.cpp:
- (WebCore::Document::createEvent):
- * dom/Document.idl:
- * dom/Element.idl:
- * page/DOMWindow.idl:
-
-2010-04-27 Jens Alfke <snej@chromium.org>
-
- Reviewed by Darin Fisher.
-
- [Chromium] Add some notifications and an accessor to WebKit API
- https://bugs.webkit.org/show_bug.cgi?id=37625
-
- * dom/Node.cpp:
- (WebCore::Node::hasNonEmptyBoundingBox): New method.
- * dom/Node.h:
- * html/HTMLAnchorElement.cpp:
- (WebCore::HTMLAnchorElement::isKeyboardFocusable): Moved part of method into new Node method
-
-2010-04-27 Jochen Eisinger <jochen@chromium.org>
-
- Reviewed by Shinichiro Hamaji.
-
- Fix gyp build on Mac OS X with enable_svg=0.
- https://bugs.webkit.org/show_bug.cgi?id=38192
-
- * WebCore.gyp/WebCore.gyp: Only generate SVG symbols if enable_svg!=0.
- * css/CSSComputedStyleDeclaration.cpp:
- (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Add missing unimplemented CSS properties to switch statement.
-
-2010-04-27 Kinuko Yasuda <kinuko@chromium.org>
-
- Reviewed by Jian Li.
-
- [V8] Handle OR ('|') conditional in action_derivedsourcesallinone.py
- https://bugs.webkit.org/show_bug.cgi?id=38207
-
- No new tests.
-
- * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
-
-2010-04-27 François Sausset <sausset@gmail.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Implementation of the MathML mroot & msqrt elements.
- https://bugs.webkit.org/show_bug.cgi?id=37044
-
- Test: mathml/presentation/roots.xhtml
-
- * WebCore.xcodeproj/project.pbxproj:
- * css/mathml.css:
- (mroot):
- (mroot > * + *):
- (mroot > * + mrow, mroot > * + mfenced):
- * mathml/MathMLInlineContainerElement.cpp:
- (WebCore::MathMLInlineContainerElement::createRenderer):
- * mathml/RenderMathMLRoot.cpp: Added.
- (WebCore::RenderMathMLRoot::RenderMathMLRoot):
- (WebCore::RenderMathMLRoot::addChild):
- (WebCore::RenderMathMLRoot::paint):
- (WebCore::RenderMathMLRoot::layout):
- * mathml/RenderMathMLRoot.h: Added.
- * mathml/RenderMathMLSquareRoot.cpp: Added.
- (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot):
- (WebCore::RenderMathMLSquareRoot::paint):
- (WebCore::RenderMathMLSquareRoot::layout):
- * mathml/RenderMathMLSquareRoot.h: Added.
-
-2010-04-27 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- I noticed an unused forwarding header.
-
- * ForwardingHeaders/runtime/PropertyMap.h: Removed.
-
-2010-04-27 James Robinson <jamesr@chromium.org>
-
- Reviewed by Adam Barth.
-
- Fix gcc 4.4.1 warnings on Linux in the chromium V8 bindings code.
- https://bugs.webkit.org/show_bug.cgi?id=38153
-
- * bindings/scripts/CodeGeneratorV8.pm:
- * bindings/v8/V8Proxy.cpp:
- (WebCore::V8Proxy::callFunction):
-
-2010-04-27 Eric Seidel <eric@webkit.org>
-
- Unreviewed, rolling out r58318.
- http://trac.webkit.org/changeset/58318
- https://bugs.webkit.org/show_bug.cgi?id=37215
-
- Broke test on Tiger. Might just need updated results,
- unclear.
-
- * inspector/InspectorController.cpp:
- (WebCore::InspectorController::didReceiveResponse):
- (WebCore::InspectorController::didFailLoading):
- * inspector/front-end/Resource.js:
- (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
- * inspector/front-end/ResourcesPanel.js:
- (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
-
-2010-04-27 Evan Martin <evan@chromium.org>
-
- Reviewed by David Levin.
-
- [chromium] bold bengali text not rendered properly on Linux
- https://bugs.webkit.org/show_bug.cgi?id=37904
-
- We must let Skia do font fallback, rather than picking a font name
- then handing that to Skia. For example, if we have Bengali text and
- choose FreeSans + fake bold, and then later reuse the name, Skia will
- helpfully use FreeSansBold (which doesn't cover Bengali).
-
- Test: fast/text/international/bold-bengali.html
-
- * platform/graphics/chromium/FontCacheLinux.cpp:
- (WebCore::FontCache::getFontDataForCharacters):
-
-2010-04-27 James Robinson <jamesr@chromium.org>
-
- Reviewed by Darin Adler.
-
- Fix warnings emitted by gcc 4.4.1 on linux in chromium-specific platform graphics files.
- https://bugs.webkit.org/show_bug.cgi?id=38158
-
- Most of the issues are signed/unsigned mismatches, but there are a few unusued variables
- and functions mixed in.
-
- * platform/graphics/chromium/FontLinux.cpp:
- (WebCore::adjustTextRenderMode):
- (WebCore::TextRunWalker::getTextRun):
- (WebCore::TextRunWalker::getNormalizedTextRun):
- (WebCore::TextRunWalker::setGlyphXPositions):
- (WebCore::glyphIndexForXPositionInScriptRun):
- (WebCore::Font::offsetForPositionForComplexText):
- (WebCore::Font::selectionRectForComplexText):
- * platform/graphics/chromium/FontPlatformDataLinux.cpp:
- (WebCore::FontPlatformData::setupPaint):
- * platform/graphics/chromium/HarfbuzzSkia.cpp:
- (WebCore::getOutlinePoint):
- * platform/graphics/skia/GraphicsContext3DSkia.cpp:
- (WebCore::GraphicsContext3D::getImageData):
- * platform/graphics/skia/GraphicsContextSkia.cpp:
- (WebCore::isCoordinateSkiaSafe):
- (WebCore::GraphicsContext::fillRect):
- (WebCore::GraphicsContext::strokePath):
- (WebCore::GraphicsContext::strokeRect):
-
-2010-04-27 Jian Li <jianli@chromium.org>
-
- Reviewed by Darin Adler.
-
- Sending a package file using FormData crashes WebKit on Mac.
- https://bugs.webkit.org/show_bug.cgi?id=37882
-
- Can't add a layout test because DRT does not support generating the file name.
-
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::submitForm):
- (WebCore::FrameLoader::navigateToDifferentDocument):
- * platform/network/FormData.cpp:
- (WebCore::FormData::appendDOMFormData):
- * platform/network/FormData.h:
- * xml/XMLHttpRequest.cpp:
- (WebCore::XMLHttpRequest::send):
-
-2010-04-27 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Remove custom NodeIterator bindings
- https://bugs.webkit.org/show_bug.cgi?id=38188
-
- Another example of CallWith=ScriptState. This case shows us the right
- way to handle the interaction with exception codes.
-
- In my previous patch, I put the exception code handling after the
- ScriptState exception handling. It turns out this was a mistake
- (although a harmless one at the time because no IDL caused us to
- generate that code). Now that we're generating both kinds of exception
- handling, we need to generate them in the right order.
-
- * WebCore.gypi:
- * bindings/js/JSNodeIteratorCustom.cpp:
- * bindings/scripts/CodeGeneratorJS.pm:
- * bindings/scripts/CodeGeneratorV8.pm:
- * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
- (webkit_dom_test_obj_with_script_state_void_exception):
- (webkit_dom_test_obj_with_script_state_obj_exception):
- * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
- * bindings/scripts/test/JS/JSTestObj.cpp:
- (WebCore::):
- (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
- (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
- * bindings/scripts/test/JS/JSTestObj.h:
- * bindings/scripts/test/ObjC/DOMTestObj.h:
- * bindings/scripts/test/ObjC/DOMTestObj.mm:
- (-[DOMTestObj withScriptStateVoidException]):
- (-[DOMTestObj withScriptStateObjException]):
- * bindings/scripts/test/TestObj.idl:
- * bindings/scripts/test/V8/V8TestObj.cpp:
- (WebCore::TestObjInternal::withScriptStateVoidCallback):
- (WebCore::TestObjInternal::withScriptStateObjCallback):
- (WebCore::TestObjInternal::withScriptStateVoidExceptionCallback):
- (WebCore::TestObjInternal::withScriptStateObjExceptionCallback):
- (WebCore::):
- * bindings/v8/custom/V8NodeIteratorCustom.cpp: Removed.
- * dom/NodeIterator.idl:
-
-2010-04-27 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Adler.
-
- Remove copy/paste addEventListener "custom" bindings via code generation
- https://bugs.webkit.org/show_bug.cgi?id=38210
-
- It's somewhat lame to special case addEventListener and
- removeEventListener in the code generator, but it saves a large amount
- of boilerplate "custom" bindings code.
-
- Idea shamelessly stolen from the V8 code generator.
-
- This patch points to some good refactoring opportunities in
- CodeGeneratorJS.pm, but I'm going to hold off on those for a future
- patch. By generating test coverage for the code generator, we make
- these future refactorings easier.
-
- * bindings/js/JSAbstractWorkerCustom.cpp:
- * bindings/js/JSDOMApplicationCacheCustom.cpp:
- * bindings/js/JSDesktopNotificationsCustom.cpp:
- * bindings/js/JSEventSourceCustom.cpp:
- * bindings/js/JSMessagePortCustom.cpp:
- * bindings/js/JSNodeCustom.cpp:
- * bindings/js/JSSVGElementInstanceCustom.cpp:
- * bindings/js/JSWebSocketCustom.cpp:
- * bindings/js/JSWorkerContextCustom.cpp:
- * bindings/js/JSXMLHttpRequestCustom.cpp:
- * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
- * bindings/scripts/CodeGeneratorJS.pm:
- * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
- * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
- * bindings/scripts/test/JS/JSTestObj.cpp:
- (WebCore::):
- (WebCore::jsTestObjPrototypeFunctionAddEventListener):
- (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
- * bindings/scripts/test/JS/JSTestObj.h:
- * bindings/scripts/test/ObjC/DOMTestObj.h:
- * bindings/scripts/test/ObjC/DOMTestObj.mm:
- (-[DOMTestObj addEventListener:listener:useCapture:]):
- (-[DOMTestObj removeEventListener:listener:useCapture:]):
- * bindings/scripts/test/TestObj.idl:
- * bindings/scripts/test/V8/V8TestObj.cpp:
- (WebCore::TestObjInternal::addEventListenerCallback):
- (WebCore::TestObjInternal::removeEventListenerCallback):
- (WebCore::):
- * dom/MessagePort.idl:
- * dom/Node.idl:
- * loader/appcache/DOMApplicationCache.idl:
- * notifications/Notification.idl:
- * page/EventSource.idl:
- * svg/SVGElementInstance.idl:
- * websockets/WebSocket.idl:
- * workers/AbstractWorker.idl:
- * workers/WorkerContext.idl:
- * xml/XMLHttpRequest.idl:
- * xml/XMLHttpRequestUpload.idl:
-
-2010-04-27 Sam Weinig <sam@webkit.org>
-
- Rubber-stamped by Beth Dakin.
-
- Remove now unnecessary EXPERIMENTAL_SINGLE_VIEW_MODE #define.
-
- * page/EventHandler.cpp:
- (WebCore::EventHandler::EventHandler):
- (WebCore::EventHandler::clearDragState):
- * page/EventHandler.h:
- * page/mac/DragControllerMac.mm:
- * page/mac/EventHandlerMac.mm:
- * platform/mac/PopupMenuMac.mm:
-
-2010-04-27 Ben Murdoch <benm@google.com>
-
- Reviewed by Simon Hausmann.
-
- The TouchStationary state of WebCore::PlatformTouchPoint is not handled inside the touch event handler.
- https://bugs.webkit.org/show_bug.cgi?id=37609
-
- No new tests required, only updating documentation.
-
- * page/EventHandler.cpp:
- (WebCore::EventHandler::handleTouchEvent): Improve the documentation for handling
- the TouchStationary state as a result of discussions in bug 37609.
-
-2010-04-27 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Darin Adler, Maciej Stachowiak.
-
- REGRESSION (r57919): Some pages opened in background tabs don't render the first time you activate their tab
- https://bugs.webkit.org/show_bug.cgi?id=38183
-
- Rather than sprinkle PLATFORM #ifdefs around, add a new method,
- RenderLayerCompositor::shouldPropagateCompositingToIFrameParent(), that indicates whether
- an iframe with composited content should trigger compositing mode in the enclosing document
- (a behavior that differs between platforms).
-
- Use this new method to determine whether to trigger a style recalc in the parent document
- when an iframe becomes composited.
-
- Move the code formerly in RenderView::compositingStateChanged() into RenderLayerCompositor().
-
- * manual-tests/compositing/accel-comp-iframe-tab-repaint.html: Added.
- * manual-tests/compositing/resources/flash-frame.html: Added.
- * manual-tests/compositing/resources/tab-repaint-part-2.html: Added.
- * rendering/RenderLayerCompositor.cpp:
- (WebCore::RenderLayerCompositor::enableCompositingMode):
- (WebCore::RenderLayerCompositor::shouldPropagateCompositingToIFrameParent):
- (WebCore::RenderLayerCompositor::requiresCompositingForIFrame):
- * rendering/RenderLayerCompositor.h:
- * rendering/RenderView.cpp:
- * rendering/RenderView.h:
-
-2010-04-27 Andrey Kosyakov <caseq@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- Log error message to inspector console if a resource fails to load.
- Disable checking of mime-type consistency for failed resources.
- https://bugs.webkit.org/show_bug.cgi?id=37215
-
- Test: http/tests/inspector/console-resource-errors.html
-
- * inspector/InspectorController.cpp:
- (WebCore::InspectorController::didReceiveResponse):
- (WebCore::InspectorController::didFailLoading):
- * inspector/front-end/Resource.js:
- (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
- * inspector/front-end/ResourcesPanel.js:
- (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
-
-2010-04-27 Vitaly Repeshko <vitalyr@chromium.org>
-
- Reviewed by Nate Chapin.
-
- [V8] Fix XHR memory leak in GC controller.
- https://bugs.webkit.org/show_bug.cgi?id=38202
-
- http://trac.webkit.org/changeset/55798 simplified processing of
- active DOM objects but introduced a subtle bug in garbage
- collection of XHRs. ActiveDOMObject is not a direct base class of
- XHR and so upcasting changes pointer identity and breaks DOM
- maps. This leads to forever live persistent handles to XHR that
- had pending activity while V8 GC happened.
-
- * bindings/v8/V8GCController.cpp:
- (WebCore::GCEpilogueVisitor::visitDOMWrapper):
-
-2010-04-27 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Regenerate reference bindings code generator output.
-
- * bindings/scripts/test/V8/V8TestObj.cpp:
- (WebCore::TestObjInternal::withScriptStateVoidCallback):
- (WebCore::TestObjInternal::withScriptStateObjCallback):
-
-2010-04-27 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- <input type="search"> with uneven padding causes text clipping
- https://bugs.webkit.org/show_bug.cgi?id=38160
-
- Test: fast/css/input-search-padding.html
-
- An <input type="search"> contains an inner block, which is explicitly
- centered in RenderTextControlSingleLine based on the height of the element.
- However, the clipping rect was not using the set location, and instead
- calculated off of the top border and padding alone. This also vertically
- centers the Caps Lock indicator.
-
- * rendering/RenderTextControl.cpp: moved controlClipRect implementation to RenderTextControlSingleLine
- * rendering/RenderTextControl.h: allow a subclass implementation of controlClipRect, removed redundant hasControlClip implementation, and moved controlClipRect
+ (WebCore::Document::implicitClose):
+ * editing/DeleteButtonController.cpp:
+ (WebCore::DeleteButtonController::createDeletionUI):
+ * editing/EditorCommand.cpp:
+ (WebCore::executeInsertHorizontalRule):
+ (WebCore::executeInsertImage):
+ * editing/htmlediting.cpp:
+ (WebCore::createDefaultParagraphElement):
+ (WebCore::createListItemElement):
+ * html/HTMLParser.cpp:
+ (WebCore::HTMLParser::handleError):
+ (WebCore::HTMLParser::headCreateErrorCheck):
+ (WebCore::HTMLParser::formCreateErrorCheck):
+ (WebCore::HTMLParser::createHead):
+ (WebCore::HTMLParser::handleIsindex):
+ (WebCore::HTMLParser::finished):
+ * html/HTMLViewSourceDocument.cpp:
+ (WebCore::HTMLViewSourceDocument::createContainingTable):
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::createSubtreeIfNeeded):
* rendering/RenderTextControlSingleLine.cpp:
- (WebCore::RenderTextControlSingleLine::paint): vertically center the Caps Lock indicator
- (WebCore::RenderTextControlSingleLine::controlClipRect): use the set location of the anonymous inner block instead
- * rendering/RenderTextControlSingleLine.h: allow for an implementation of controlClipRect for <input type="search">
-
-2010-04-27 Thomas Zander <t.zander@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix linking on Symbian on Linux using the Makefile based mkspec.
-
- Disable thumb mode due to library size limitations, just like it's done
- for the sbs/sbsv2 based build system.
-
- * WebCore.pro:
-
-2010-04-21 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Make sure WebKit is not compiled using C++0x.
- https://bugs.webkit.org/show_bug.cgi?id=37867
-
- As the rest of Qt compiles in the C++0x mode, people might start
- compiling it in this mode. WebKit don't support this yet.
-
- Patch by Thiago Macieira <thiago.macieira@nokia.com>
-
- * WebCore.pro:
-
-2010-04-27 Jeremy Orlow <jorlow@chromium.org>
-
- Unreviewed build fix.
-
- Revert 58274 and 58269 (WebSQLDatabase changes)
- https://bugs.webkit.org/show_bug.cgi?id=38191
-
- Chromium bots are hitting ASSERTS when running layout tests.
-
- * platform/sql/SQLiteDatabase.cpp:
- (WebCore::SQLiteDatabase::maximumSize):
- (WebCore::SQLiteDatabase::freeSpaceSize):
- * platform/sql/SQLiteDatabase.h:
- * platform/sql/SQLiteStatement.cpp:
- (WebCore::SQLiteStatement::prepare):
- * storage/Database.cpp:
- (WebCore::Database::performOpenAndVerify):
- * storage/Database.h:
- * storage/SQLTransaction.cpp:
- (WebCore::SQLTransaction::postflightAndCommit):
-
-2010-04-27 Yuzo Fujishima <yuzo@google.com>
-
- Unreviewed, fix build breakage by reverting r58299.
-
- * css/CSSGrammar.y:
- * css/CSSParser.cpp:
- (WebCore::CSSParser::CSSParser):
- (WebCore::CSSParser::clearProperties):
- * css/CSSParser.h:
- * css/CSSSelector.cpp:
- (WebCore::CSSSelector::pseudoId):
- (WebCore::nameToPseudoTypeMap):
- (WebCore::CSSSelector::extractPseudoType):
- * css/CSSSelector.h:
- (WebCore::CSSSelector::):
- * css/tokenizer.flex:
-
-2010-04-27 Yuzo Fujishima <yuzo@google.com>
-
- Reviewed by Shinichiro Hamaji.
-
- WebCore::CSSSelector::RareData::parseNth doesn't check whether the search for '-' in the argument was successful.
- This results in incorrect parsing.
- For example, '3n' is parsed as if it were '3n-3'. The code has been working OK just accidentally.
-
- https://bugs.webkit.org/show_bug.cgi?id=37787
-
- No new tests are added because the original behavior is accidentally OK.
-
- * css/CSSSelector.cpp:
- (WebCore::CSSSelector::RareData::parseNth):
-
-2010-04-27 Yuzo Fujishima <yuzo@google.com>
-
- Reviewed by David Hyatt.
-
- Enhance CSS parser for Paged Media (Iteration 1)
-
- In this change, the grammar is extended and skeletal methods for creating page rules and margin at-rules are defined.
- The contents of the methods should be implemented by other changes.
-
- https://bugs.webkit.org/show_bug.cgi?id=35329
-
- Test: fast/css/parsing-page-rule.html
-
- * css/CSSGrammar.y:
- * css/CSSParser.cpp:
- (WebCore::CSSParser::CSSParser):
- (WebCore::CSSParser::clearProperties):
- (WebCore::CSSParser::lex):
- (WebCore::CSSParser::text):
- (WebCore::CSSParser::createPageRule):
- (WebCore::CSSParser::createMarginAtRule):
- (WebCore::CSSParser::startDeclarationsForMarginBox):
- (WebCore::CSSParser::endDeclarationsForMarginBox):
- * css/CSSParser.h:
- * css/CSSSelector.cpp:
- (WebCore::CSSSelector::extractPseudoType):
- * css/CSSSelector.h:
- (WebCore::CSSSelector::):
- * css/tokenizer.flex:
-
-2010-04-27 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Remove custom bindings for TreeWalker
- https://bugs.webkit.org/show_bug.cgi?id=38182
-
- This custom code is just CallWith=ScriptState.
-
- * WebCore.gypi:
- * bindings/js/JSTreeWalkerCustom.cpp:
- (WebCore::JSTreeWalker::markChildren):
- * bindings/scripts/CodeGeneratorJS.pm:
- * bindings/scripts/CodeGeneratorV8.pm:
- * bindings/scripts/test/TestObj.idl:
- * bindings/v8/custom/V8TreeWalkerCustom.cpp: Removed.
- * dom/TreeWalker.idl:
-
-2010-04-27 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Move code out of GenerateImplementation to make it more smaller
- https://bugs.webkit.org/show_bug.cgi?id=38176
-
- * bindings/scripts/CodeGeneratorJS.pm:
- - Move some code into a new GenerateAttributesHashTable method.
-
-2010-04-26 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Add CallWith=DynamicFrame to CodeGenerator
- https://bugs.webkit.org/show_bug.cgi?id=38174
-
- I've only used this in one instance, but this is infrastructure that I
- think will help remove a bunch of custom bindings code. Also, added a
- few tests of tricky argument cases.
-
- * bindings/js/JSHTMLFormElementCustom.cpp:
- * bindings/scripts/CodeGeneratorJS.pm:
- * bindings/scripts/CodeGeneratorV8.pm:
- * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
- (webkit_dom_test_obj_with_dynamic_frame):
- (webkit_dom_test_obj_with_dynamic_frame_and_arg):
- (webkit_dom_test_obj_with_dynamic_frame_and_optional_arg):
- (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture):
- (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture_asad):
- * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
- * bindings/scripts/test/JS/JSTestObj.cpp:
- (WebCore::):
- (WebCore::jsTestObjPrototypeFunctionWithDynamicFrame):
- (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
- (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
- (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
- (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
- * bindings/scripts/test/JS/JSTestObj.h:
- * bindings/scripts/test/ObjC/DOMTestObj.h:
- * bindings/scripts/test/ObjC/DOMTestObj.mm:
- (-[DOMTestObj withDynamicFrame]):
- (-[DOMTestObj withDynamicFrameAndArg:]):
- (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
- (-[DOMTestObj withDynamicFrameAndUserGesture:]):
- (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
- * bindings/scripts/test/TestObj.idl:
- * bindings/scripts/test/V8/V8TestObj.cpp:
- (WebCore::TestObjInternal::withDynamicFrameCallback):
- (WebCore::TestObjInternal::withDynamicFrameAndArgCallback):
- (WebCore::TestObjInternal::withDynamicFrameAndOptionalArgCallback):
- (WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback):
- (WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback):
- (WebCore::):
- * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
- * html/HTMLFormElement.idl:
-
-2010-04-26 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Update comment to better reflect reality.
-
- * bindings/scripts/test/TestObj.idl:
-
-2010-04-26 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Add ObjC and GObject to run-bindings-test
- https://bugs.webkit.org/show_bug.cgi?id=38168
-
- Added expected results.
-
- * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Added.
- (WebKit::kit):
- (webkit_dom_test_obj_void_method):
- (webkit_dom_test_obj_void_method_with_args):
- (webkit_dom_test_obj_int_method):
- (webkit_dom_test_obj_int_method_with_args):
- (webkit_dom_test_obj_obj_method):
- (webkit_dom_test_obj_obj_method_with_args):
- (webkit_dom_test_obj_method_with_exception):
- (webkit_dom_test_obj_method_with_optional_arg):
- (webkit_dom_test_obj_method_with_non_optional_arg_and_optional_arg):
- (webkit_dom_test_obj_method_with_non_optional_arg_and_two_optional_args):
- (webkit_dom_test_obj_get_read_only_int_attr):
- (webkit_dom_test_obj_get_read_only_string_attr):
- (webkit_dom_test_obj_get_read_only_test_obj_attr):
- (webkit_dom_test_obj_get_int_attr):
- (webkit_dom_test_obj_set_int_attr):
- (webkit_dom_test_obj_get_string_attr):
- (webkit_dom_test_obj_set_string_attr):
- (webkit_dom_test_obj_get_test_obj_attr):
- (webkit_dom_test_obj_set_test_obj_attr):
- (webkit_dom_test_obj_get_attr_with_exception):
- (webkit_dom_test_obj_set_attr_with_exception):
- (webkit_dom_test_obj_get_attr_with_setter_exception):
- (webkit_dom_test_obj_set_attr_with_setter_exception):
- (webkit_dom_test_obj_get_attr_with_getter_exception):
- (webkit_dom_test_obj_set_attr_with_getter_exception):
- (WebKit::wrapTestObj):
- (WebKit::core):
- (webkit_dom_test_obj_finalize):
- (webkit_dom_test_obj_set_property):
- (webkit_dom_test_obj_get_property):
- (webkit_dom_test_obj_class_init):
- (webkit_dom_test_obj_init):
- * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Added.
- * bindings/scripts/test/GObject/WebKitDOMTestObjPrivate.h: Added.
- * bindings/scripts/test/ObjC/DOMTestObj.h: Added.
- * bindings/scripts/test/ObjC/DOMTestObj.mm: Added.
- (-[DOMTestObj dealloc]):
- (-[DOMTestObj finalize]):
- (-[DOMTestObj readOnlyIntAttr]):
- (-[DOMTestObj readOnlyStringAttr]):
- (-[DOMTestObj readOnlyTestObjAttr]):
- (-[DOMTestObj intAttr]):
- (-[DOMTestObj setIntAttr:]):
- (-[DOMTestObj stringAttr]):
- (-[DOMTestObj setStringAttr:]):
- (-[DOMTestObj testObjAttr]):
- (-[DOMTestObj setTestObjAttr:]):
- (-[DOMTestObj attrWithException]):
- (-[DOMTestObj setAttrWithException:]):
- (-[DOMTestObj attrWithSetterException]):
- (-[DOMTestObj setAttrWithSetterException:]):
- (-[DOMTestObj attrWithGetterException]):
- (-[DOMTestObj setAttrWithGetterException:]):
- (-[DOMTestObj customAttr]):
- (-[DOMTestObj setCustomAttr:]):
- (-[DOMTestObj voidMethod]):
- (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
- (-[DOMTestObj intMethod]):
- (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
- (-[DOMTestObj objMethod]):
- (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
- (-[DOMTestObj methodWithException]):
- (-[DOMTestObj customMethod]):
- (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
- (-[DOMTestObj methodWithOptionalArg:]):
- (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
- (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
- (core):
- (kit):
- * bindings/scripts/test/ObjC/DOMTestObjInternal.h: Added.
-
-2010-04-26 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Add testing infrastructure for JSC bindings generator
- https://bugs.webkit.org/show_bug.cgi?id=38167
-
- This required moving the test files around a bit more.
-
- * bindings/scripts/test/JS/JSTestObj.cpp: Added.
- (WebCore::):
- (WebCore::JSTestObjConstructor::JSTestObjConstructor):
- (WebCore::JSTestObjConstructor::classInfo):
- (WebCore::JSTestObjConstructor::createStructure):
- (WebCore::JSTestObjConstructor::getOwnPropertySlot):
- (WebCore::JSTestObjConstructor::getOwnPropertyDescriptor):
- (WebCore::JSTestObjPrototype::self):
- (WebCore::JSTestObjPrototype::getOwnPropertySlot):
- (WebCore::JSTestObjPrototype::getOwnPropertyDescriptor):
- (WebCore::JSTestObj::JSTestObj):
- (WebCore::JSTestObj::~JSTestObj):
- (WebCore::JSTestObj::createPrototype):
- (WebCore::JSTestObj::getOwnPropertySlot):
- (WebCore::JSTestObj::getOwnPropertyDescriptor):
- (WebCore::jsTestObjReadOnlyIntAttr):
- (WebCore::jsTestObjReadOnlyStringAttr):
- (WebCore::jsTestObjReadOnlyTestObjAttr):
- (WebCore::jsTestObjIntAttr):
- (WebCore::jsTestObjStringAttr):
- (WebCore::jsTestObjTestObjAttr):
- (WebCore::jsTestObjAttrWithException):
- (WebCore::jsTestObjAttrWithSetterException):
- (WebCore::jsTestObjAttrWithGetterException):
- (WebCore::jsTestObjCustomAttr):
- (WebCore::jsTestObjConstructor):
- (WebCore::JSTestObj::put):
- (WebCore::setJSTestObjIntAttr):
- (WebCore::setJSTestObjStringAttr):
- (WebCore::setJSTestObjTestObjAttr):
- (WebCore::setJSTestObjAttrWithException):
- (WebCore::setJSTestObjAttrWithSetterException):
- (WebCore::setJSTestObjAttrWithGetterException):
- (WebCore::setJSTestObjCustomAttr):
- (WebCore::JSTestObj::getConstructor):
- (WebCore::jsTestObjPrototypeFunctionVoidMethod):
- (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
- (WebCore::jsTestObjPrototypeFunctionIntMethod):
- (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
- (WebCore::jsTestObjPrototypeFunctionObjMethod):
- (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
- (WebCore::jsTestObjPrototypeFunctionMethodWithException):
- (WebCore::jsTestObjPrototypeFunctionCustomMethod):
- (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
- (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
- (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
- (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
- (WebCore::toJS):
- (WebCore::toTestObj):
- * bindings/scripts/test/JS/JSTestObj.h: Added.
- (WebCore::JSTestObj::classInfo):
- (WebCore::JSTestObj::createStructure):
- (WebCore::JSTestObj::impl):
- (WebCore::JSTestObjPrototype::classInfo):
- (WebCore::JSTestObjPrototype::createStructure):
- (WebCore::JSTestObjPrototype::JSTestObjPrototype):
- * bindings/scripts/test/TestObj.idl:
- * bindings/scripts/test/V8/V8TestObj.cpp: Renamed from WebCore/bindings/scripts/test/V8TestObj.cpp.
- (WebCore::):
- (WebCore::TestObjInternal::V8_USE):
- (WebCore::TestObjInternal::readOnlyIntAttrAttrGetter):
- (WebCore::TestObjInternal::readOnlyStringAttrAttrGetter):
- (WebCore::TestObjInternal::readOnlyTestObjAttrAttrGetter):
- (WebCore::TestObjInternal::intAttrAttrGetter):
- (WebCore::TestObjInternal::intAttrAttrSetter):
- (WebCore::TestObjInternal::stringAttrAttrGetter):
- (WebCore::TestObjInternal::stringAttrAttrSetter):
- (WebCore::TestObjInternal::testObjAttrAttrGetter):
- (WebCore::TestObjInternal::testObjAttrAttrSetter):
- (WebCore::TestObjInternal::attrWithExceptionAttrGetter):
- (WebCore::TestObjInternal::attrWithExceptionAttrSetter):
- (WebCore::TestObjInternal::attrWithSetterExceptionAttrGetter):
- (WebCore::TestObjInternal::attrWithSetterExceptionAttrSetter):
- (WebCore::TestObjInternal::attrWithGetterExceptionAttrGetter):
- (WebCore::TestObjInternal::attrWithGetterExceptionAttrSetter):
- (WebCore::TestObjInternal::voidMethodCallback):
- (WebCore::TestObjInternal::voidMethodWithArgsCallback):
- (WebCore::TestObjInternal::intMethodCallback):
- (WebCore::TestObjInternal::intMethodWithArgsCallback):
- (WebCore::TestObjInternal::objMethodCallback):
- (WebCore::TestObjInternal::objMethodWithArgsCallback):
- (WebCore::TestObjInternal::methodWithExceptionCallback):
- (WebCore::TestObjInternal::methodWithOptionalArgCallback):
- (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
- (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
- (WebCore::TestObjInternal::overloadedMethod1Callback):
- (WebCore::TestObjInternal::overloadedMethod2Callback):
- (WebCore::TestObjInternal::overloadedMethod3Callback):
- (WebCore::TestObjInternal::overloadedMethod4Callback):
- (WebCore::TestObjInternal::overloadedMethodCallback):
- (WebCore::ConfigureV8TestObjTemplate):
- (WebCore::V8TestObj::GetRawTemplate):
- (WebCore::V8TestObj::GetTemplate):
- (WebCore::V8TestObj::toNative):
- (WebCore::V8TestObj::HasInstance):
- (WebCore::V8TestObj::wrap):
- (WebCore::toV8):
- (WebCore::V8TestObj::derefObject):
- * bindings/scripts/test/V8/V8TestObj.h: Renamed from WebCore/bindings/scripts/test/V8TestObj.h.
-
-2010-04-26 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Need to support more efficient dispatch of lightweight builtins
- https://bugs.webkit.org/show_bug.cgi?id=38155
-
- Update bindings generation to include new thunk generator field
- in the property map hash tables.
-
- * bindings/scripts/CodeGeneratorJS.pm:
-
-2010-04-26 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Move bindings test directory into the scripts directory
- https://bugs.webkit.org/show_bug.cgi?id=38161
-
- This test is really of the bindings scripts not of the bindings
- themselves. By moving the files into the scripts directory, we'll be
- able to test JSC as well.
-
- * bindings/scripts/test/TestObj.idl: Renamed from WebCore/bindings/v8/test/TestObj.idl.
- * bindings/scripts/test/V8TestObj.cpp: Renamed from WebCore/bindings/v8/test/V8TestObj.cpp.
- (WebCore::):
- (WebCore::TestObjInternal::V8_USE):
- (WebCore::TestObjInternal::readOnlyIntAttrAttrGetter):
- (WebCore::TestObjInternal::readOnlyStringAttrAttrGetter):
- (WebCore::TestObjInternal::readOnlyTestObjAttrAttrGetter):
- (WebCore::TestObjInternal::intAttrAttrGetter):
- (WebCore::TestObjInternal::intAttrAttrSetter):
- (WebCore::TestObjInternal::stringAttrAttrGetter):
- (WebCore::TestObjInternal::stringAttrAttrSetter):
- (WebCore::TestObjInternal::testObjAttrAttrGetter):
- (WebCore::TestObjInternal::testObjAttrAttrSetter):
- (WebCore::TestObjInternal::attrWithExceptionAttrGetter):
- (WebCore::TestObjInternal::attrWithExceptionAttrSetter):
- (WebCore::TestObjInternal::attrWithSetterExceptionAttrGetter):
- (WebCore::TestObjInternal::attrWithSetterExceptionAttrSetter):
- (WebCore::TestObjInternal::attrWithGetterExceptionAttrGetter):
- (WebCore::TestObjInternal::attrWithGetterExceptionAttrSetter):
- (WebCore::TestObjInternal::voidMethodCallback):
- (WebCore::TestObjInternal::voidMethodWithArgsCallback):
- (WebCore::TestObjInternal::intMethodCallback):
- (WebCore::TestObjInternal::intMethodWithArgsCallback):
- (WebCore::TestObjInternal::objMethodCallback):
- (WebCore::TestObjInternal::objMethodWithArgsCallback):
- (WebCore::TestObjInternal::methodWithExceptionCallback):
- (WebCore::TestObjInternal::methodWithOptionalArgCallback):
- (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
- (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
- (WebCore::TestObjInternal::overloadedMethod1Callback):
- (WebCore::TestObjInternal::overloadedMethod2Callback):
- (WebCore::TestObjInternal::overloadedMethod3Callback):
- (WebCore::TestObjInternal::overloadedMethod4Callback):
- (WebCore::TestObjInternal::overloadedMethodCallback):
- (WebCore::ConfigureV8TestObjTemplate):
- (WebCore::V8TestObj::GetRawTemplate):
- (WebCore::V8TestObj::GetTemplate):
- (WebCore::V8TestObj::toNative):
- (WebCore::V8TestObj::HasInstance):
- (WebCore::V8TestObj::wrap):
- (WebCore::toV8):
- (WebCore::V8TestObj::derefObject):
- * bindings/scripts/test/V8TestObj.h: Renamed from WebCore/bindings/v8/test/V8TestObj.h.
-
-2010-04-26 Daniel Cheng <dcheng@chromium.org>
-
- Reviewed by Jian Li.
-
- [chromium] Fix ChromiumDataObject::setURL to not populate its internal URL list with empty URLs.
- https://bugs.webkit.org/show_bug.cgi?id=38159
-
- No new tests.
-
- * platform/chromium/ChromiumDataObject.h:
- (WebCore::ChromiumDataObject::setURL):
-
-2010-04-26 Daniel Cheng <dcheng@chromium.org>
-
- Reviewed by Jian Li.
-
- [Chromium] Don't make file paths available in text/uri-list when dragging files.
- https://bugs.webkit.org/show_bug.cgi?id=25882
-
- Test will be checked in with WebCore/platform/mac fix.
-
- * platform/chromium/ClipboardChromium.cpp:
- (WebCore::ClipboardChromium::getData):
- (WebCore::ClipboardChromium::types):
-
-2010-04-26 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin Adler.
-
- REGRESSION (r57292): 1.5% page load speed regression from visited link information leak fix
- https://bugs.webkit.org/show_bug.cgi?id=38131
-
- I did a number of separate optimizations which speed up style
- resolution enough to more than make up for the regression. This
- measures as a total PLT speedup of somewhere between 1.5% and
- 3.7%.
-
- Optimizations done:
- - Cache determineLinkState results, to avoid the need to repeatedly compute
- the visited link hash for the same element. This directly addresses much
- of the slowdown, since all elements get their style computed twice now.
- - Added a fast way to get the length of a CSSMutableStyleDeclaration, and use
- in CSSStyleSelector::matchRulesForList, since it was hot there.
- - Hoist some loop invariant code that's not detected by the compiler out of the
- main loop in matchRulesForList
- - inline CSSStyleSelector::initElement and locateSharedStyle,
- since there is only one call site in each case
- - Inline the common non-line fast case of determineLinkState, and split the rest into
- out-of-line determineLinkStateSlowCase.
- - Added inline versions of the functions called by
- visitedLinkHash (the version called by determineLinkState).
-
- * css/CSSMutableStyleDeclaration.cpp:
- (WebCore::CSSMutableStyleDeclaration::length): Implemented in terms of new
- inline nonvirtual mutableLength().
- * css/CSSMutableStyleDeclaration.h:
- (WebCore::CSSMutableStyleDeclaration::mutableLength): Added new nonvirtual
- inline way to get the length if you know you have a mutable style decl.
- * css/CSSStyleSelector.cpp:
- (WebCore::CSSStyleSelector::init): Clear cached link state.
- (WebCore::CSSStyleSelector::matchRulesForList): hoist some code out of the main
- loop and get style decl length more efficiently.
- (WebCore::CSSStyleSelector::initElement): inline (only one call site)
- (WebCore::CSSStyleSelector::SelectorChecker::determineLinkState): Inline fast
- case, call slow case.
- (WebCore::CSSStyleSelector::SelectorChecker::determineLinkStateSlowCase): Split
- most of the above function into this slow case helper.
- (WebCore::CSSStyleSelector::canShareStyleWithElement): Use the cache-enabled
- way to get the current link state.
- (WebCore::CSSStyleSelector::locateSharedStyle): inline
- (WebCore::CSSStyleSelector::styleForElement): Use the cache-enabled way
- to get the current link state.
- * css/CSSStyleSelector.h:
- (WebCore::CSSStyleSelector::currentElementLinkState): inline way to
- get link state for the current element; manages the cache
- * platform/LinkHash.cpp:
- (WebCore::visitedLinkHashInline): inline version of below function
- (WebCore::visitedLinkHash): call the inline version
- (WebCore::visitedURLInline): inline version of below function
- (WebCore::visitedURL): call the inline version
- (WebCore::visitedURL): call inline versions of above two functions
-
-2010-04-26 Sam Weinig <sam@webkit.org>
-
- Reviewed by Alexey Proskuryakov.
-
- Remove last use of WEB_THREAD.
-
- * platform/mac/WebCoreObjCExtras.mm:
- (WebCoreObjCScheduleDeallocateOnMainThread): This can always use
- isMainThread().
-
-2010-04-26 Dumitru Daniliuc <dumi@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Turn on AUTO_VACUUM = INCREMENTAL for all HTML5 databases, and
- vacuum all databases when the number of free pages is at least 10%
- of the number of total pages. Also, adding a guard against a bug
- that was fixed in SQLite only starting with version 3.6.16.
-
- https://bugs.webkit.org/show_bug.cgi?id=36251
-
- * platform/sql/SQLiteDatabase.cpp:
- (WebCore::SQLiteDatabase::totalSize):
- (WebCore::SQLiteDatabase::runIncrementalVacuumCommand):
- (WebCore::SQLiteDatabase::turnOnIncrementalAutoVacuum):
- * platform/sql/SQLiteDatabase.h:
- * platform/sql/SQLiteStatement.cpp:
- (WebCore::SQLiteStatement::prepare):
- * storage/Database.cpp:
- (WebCore::Database::performOpenAndVerify):
- (WebCore::Database::incrementalVacuumIfNeeded):
- * storage/Database.h:
- * storage/SQLTransaction.cpp:
- (WebCore::SQLTransaction::postflightAndCommit):
-
-2010-04-26 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- <rdar://problem/7766413>
-
- Fixed a crash seen when using the JavaScriptCore API with WebKit.
-
- No layout test because DumpRenderTree doesn't use the JavaScriptCore API
- in this way.
-
- * bindings/js/JSEventListener.cpp:
- (WebCore::JSEventListener::JSEventListener): Don't assign 0 to a WeakGCPtr.
- JavaScriptCore no longer allows this.
-
- * bindings/js/ScriptWrappable.h:
- (WebCore::ScriptWrappable::setWrapper): No need to initialize a WeakGCPtr
- to 0, or ASSERT a non-0 value before assigning to a WeakGCPtr -- both are
- default behaviors.
-
-2010-04-25 Sam Weinig <sam@webkit.org>
-
- Reviewed by Maciej Stachowiak.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=38097
- Disentangle initializing the main thread from initializing threading
-
- * WebCore.xcodeproj/project.pbxproj: Sort files.
-
- * accessibility/mac/AccessibilityObjectWrapper.mm: Remove unnessary
- +initialize method. The AccessibilityObjectWrapper has no data members
- that need to be derefed, so it does not need to be finalized on the main
- thread.
-
- * bindings/js/ScriptController.cpp:
- (WebCore::ScriptController::initializeThreading): Add call to initializeMainThread.
- * bindings/objc/WebScriptObject.mm:
- (+[WebScriptObject initialize]): Add call to initializeMainThreadToProcessMainThread.
- * bindings/v8/ScriptController.cpp:
- (WebCore::ScriptController::initializeThreading): Add call to initializeMainThread.
- * platform/mac/SharedBufferMac.mm:
- (+[WebCoreSharedBufferData initialize]): Add call to initializeMainThreadToProcessMainThread.
-
-2010-04-26 Yongjun Zhang <yongjun_zhang@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- https://bugs.webkit.org/show_bug.cgi?id=38128
- Don't add empty credential to CredentialStorage.
-
- An empty credential is currently regarded as a invalid login because it means a missing value in
- protectionSpaceToCredentialMap. This change makes it consistent with current WebCore's behavior
- by ignoring empty credentials.
-
- No new tests added since this only affects credential entered by user from credential dialog,
- which is not testable in DRT.
-
- * platform/network/mac/ResourceHandleMac.mm:
- (WebCore::ResourceHandle::receivedCredential):
-
-2010-04-26 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Clean-up WebCore.pro after now that JavaScriptCore is built separately
- https://bugs.webkit.org/show_bug.cgi?id=38123
-
- HAVE_STDINT_H, and HAVE_PTHREAD_NP_H no longer needs to be defined
- for QtWebKit as JavaScriptCore is built separately. These defines are only
- used by JavaScriptCore and for JavaScriptCore these are already
- properly defined in JavaScriptCore/config.h.
-
- No new tests, no new functionality.
-
- * WebCore.pro:
-
-2010-04-26 Roman Gershman <romange@google.com>
-
- Reviewed by Adam Barth.
-
- [Chromium] Font size in suggestions popup menu should be correlated with the font size of its text field.
- The following manual test checks for desired behavior.
-
- https://bugs.webkit.org/show_bug.cgi?id=37977
-
- * manual-tests/chromium/suggestions-popup-font-change.html: Added.
-
-2010-04-26 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- View modes names in CSSValueKeywords.in
- https://bugs.webkit.org/show_bug.cgi?id=38125
-
- View mode names has changed in previous patch but CSSValueKeywords.in file was
- not updated.
-
- * css/CSSValueKeywords.in:
-
-2010-04-26 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Fix compilation with RVCT 4
- https://bugs.webkit.org/show_bug.cgi?id=37727
-
- Swap extern and declspec to fix visibility of symbol imported from QtGui.
-
- * page/qt/EventHandlerQt.cpp:
-
-2010-04-26 Ruben Van Boxem <vanboxem.ruben@gmail.com>
-
- Reviewed by Adam Roben.
-
- Fixes for Win64 compilation under gcc (mingw-w64)
-
- * WebCore/bridge/npapi.h: for win64 compatibility, mirroring mozilla-central, see Mozilla bug 560298
- * WebCore/platform/Arena.h: uword is used to cast from pointers here. unsigned long is 32-bit on Windows (but 64-bit on mac), and too small to hold a pointer. uintptr_t is 32-bit on 32-bit systems (mac, linux and windows) and 64-bit on all 64-bit systems
- * WebCore/platform/graphics/transforms/TransformationMatrix.h: let mingw-w64/w32 use MSVC codepath
- * WebCore/platform/text/TextStream.cpp: let mingw-w64 use MSVC codepath
- * WebCore/platform/text/TextStream.h: let mingw-w64 use MSVC codepath
- * WebCore/plugins/PluginView.cpp: fix pointer casts on WIN64 and let mingw-w64 use MSVC codepath
- * WebCore/plugins/win/PluginViewWin.cpp: fix pointer casts on WIN64
-
-2010-04-26 Markus Goetz <Markus.Goetz@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] HTTP pipelining efficiency increase
- https://bugs.webkit.org/show_bug.cgi?id=38062
-
- Increase number of network requests that are fed into
- QNetworkAccessManager.
-
- * platform/network/qt/ResourceRequestQt.cpp:
- (WebCore::initializeMaximumHTTPConnectionCountPerHost):
-
-2010-04-26 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- Web Inspector: undefined shows up on inspector.
- https://bugs.webkit.org/show_bug.cgi?id=38120
-
- * inspector/front-end/ScriptsPanel.js:
- (WebInspector.ScriptsPanel.prototype.hide):
- * inspector/front-end/SourceFrame.js:
- (WebInspector.SourceFrame.prototype.set visible):
-
-2010-04-26 Bruno Schmidt <bruno.schmidt@gmail.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Exposing an QVariantMap containing QObjectStar to Javascript
- causes Segmentation Fault
- https://bugs.webkit.org/show_bug.cgi?id=34729
-
- If an QVariantMap containing QObjectStar is added to the to QtWebkit
- Javascript, it's use causes Segmentation Fault.
- It happens because, in the case QMetaType::QVariantMap, the "root"
- object that is inside of a PassRefPtr is passed recursively inside a
- loop to recover the content of the map, but the PassRefPtr semantics
- prohibit its use inside a loop, so the "root" object mus be passed
- using the method "PassRefPtr::get" in order to keep the current
- reference.
-
- * bridge/qt/qt_runtime.cpp:
- (JSC::Bindings::convertValueToQVariant):
- (JSC::Bindings::convertQVariantToValue): change to root.get()
-
-2010-04-26 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- Web Inspector: Render clip in summary bar using "arc", not "quadraticCurveTo".
-
- https://bugs.webkit.org/show_bug.cgi?id=38107
-
- * inspector/front-end/SummaryBar.js:
- (WebInspector.SummaryBar.prototype._drawSummaryGraph.drawPill):
- (WebInspector.SummaryBar.prototype._drawSummaryGraph):
-
-2010-04-26 Andreas Kling <andreas.kling@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Fix compilation against Qt 4.7
-
- Some QtMultimedia things have been moved into QtMediaServices
- https://bugs.webkit.org/show_bug.cgi?id=38111
-
- * WebCore.pro:
- * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
- (WebCore::MediaPlayerPrivate::supportsType):
- (WebCore::MediaPlayerPrivate::totalBytes):
-
-2010-04-26 Zoltan Herczeg <zherczeg@webkit.org>
-
- Reviewed by Dirk Schulze.
-
- Call setStrokeStyle in applyStrokeStyleToContext
- https://bugs.webkit.org/show_bug.cgi?id=37849
-
- Not all platforms set the stroke style to solid if they
- get an empty line dash array. Some just ignore the operation.
-
- * rendering/SVGRenderSupport.cpp:
- (WebCore::applyStrokeStyleToContext):
-
-2010-04-23 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- WebInspector: Aggregated stats of time spent in children records should be visible
- in the popup panel of parent record. Crash in pushGCEventRecord also was fixed.
- https://bugs.webkit.org/show_bug.cgi?id=37820
-
- * English.lproj/localizedStrings.js:
- * inspector/InspectorTimelineAgent.cpp:
- (WebCore::InspectorTimelineAgent::pushGCEventRecords):
- * inspector/front-end/TimelinePanel.js:
- (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
- (WebInspector.TimelinePanel.prototype._createRootRecord):
- (WebInspector.TimelinePanel.prototype._showPopover):
- (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages):
- (WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
- (WebInspector.TimelineRecordGraphRow):
- (WebInspector.TimelineRecordGraphRow.prototype.update):
- (WebInspector.TimelinePanel.FormattedRecord):
- (WebInspector.TimelinePanel.FormattedRecord.prototype._generateAggregatedInfo):
- (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
- (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
- (WebInspector.TimelinePanel.FormattedRecord.prototype._calculateAggregatedStats):
- * inspector/front-end/inspector.css:
- (.timeline-graph-bar.with-children):
- (.timeline-graph-bar.cpu):
- (.timeline-aggregated-category):
- (.timeline-loading):
- (.timeline-scripting):
- (.timeline-rendering):
- (.popover .timeline-aggregated-category.timeline-loading):
- (.timeline-details-title):
-
-2010-04-25 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Darin Adler.
-
- WebKit crashes with deeply nested divs
- https://bugs.webkit.org/show_bug.cgi?id=18282
-
- The HTML parser caps a tree depth by MAX_DOM_TREE_DEPTH defined in
- TreeDepthLimit.h. This is performance-efficient, but does not work for
- DOM operations such as Node.appendChild().
-
- Test: fast/parser/element-nesting-cap.html
+ (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
+ Use create instead of new to create HTML elements.
- * dom/Node.h:
- * dom/XMLTokenizer.cpp:
- (WebCore::XMLTokenizer::pushCurrentNode):
- * html/HTMLParser.cpp:
+ * html/HTMLFormCollection.cpp:
+ (WebCore::HTMLFormCollection::formCollectionInfo):
+ (WebCore::HTMLFormCollection::item):
+ (WebCore::HTMLFormCollection::getNamedFormItem):
+ (WebCore::HTMLFormCollection::updateNameCache):
+ * html/HTMLFormControlElement.h:
+ Updated for name and privacy changes in HTMLFormElement.
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * dom/TreeDepthLimit.h:
- Added. Define MAX_DOM_TREE_DEPTH. The default value is 5000.
- * dom/XMLTokenizer.cpp: Use maxDOMTreeDepth.
- (WebCore::XMLTokenizer::pushCurrentNode):
- * html/HTMLParser.cpp:
- Introduce m_treeDepth, which counts the depth of the tree.
- Unlike m_blocksInStack, it contains the number of non-block nodes.
- (WebCore::HTMLParser::HTMLParser):
- (WebCore::HTMLParser::reset):
- (WebCore::HTMLParser::limitDepth):
- Renamed from limitBlockDepth. Add check for m_nodeDepth.
- (WebCore::HTMLParser::insertNodeAfterLimitDepth):
- Renamed from insertNodeAfterLimitBlockDepth.
- (WebCore::HTMLParser::parseToken):
- (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
- (WebCore::HTMLParser::pushBlock):
- (WebCore::HTMLParser::popOneBlockCommon):
- (WebCore::HTMLParser::freeBlock):
- * html/HTMLParser.h:
-
-2010-04-25 Andrey Kosyakov <caseq@chromium.org>
+ * html/HTMLFormElement.cpp:
+ (WebCore::HTMLFormElement::HTMLFormElement):
+ (WebCore::HTMLFormElement::create):
+ (WebCore::HTMLFormElement::~HTMLFormElement):
+ (WebCore::HTMLFormElement::length):
+ (WebCore::HTMLFormElement::submitImplicitly):
+ (WebCore::HTMLFormElement::createFormData):
+ (WebCore::HTMLFormElement::submit):
+ (WebCore::HTMLFormElement::reset):
+ (WebCore::HTMLFormElement::formElementIndex):
+ (WebCore::HTMLFormElement::registerFormElement):
+ (WebCore::HTMLFormElement::removeFormElement):
+ (WebCore::HTMLFormElement::registerImgElement):
+ (WebCore::HTMLFormElement::removeImgElement):
+ (WebCore::HTMLFormElement::defaultButton):
+ (WebCore::HTMLFormElement::collectUnhandledInvalidControls):
+ (WebCore::HTMLFormElement::addElementAlias):
+ (WebCore::HTMLFormElement::documentDidBecomeActive):
+ * html/HTMLFormElement.h:
+ Added create functions. Made constructors and other members private.
+ Used an OwnPtr for m_elementAliases. Renamed collectionInfo to
+ m_collectionCache and used an OwnPtr for it. Renamed formElements to
+ m_associatedElements (since its contents are what HTML5 calls
+ "form-associated element", not form elements). Renamed imgElements to
+ m_imageElements.
- Reviewed by Adam Barth.
+ * html/HTMLFrameSetElement.cpp:
+ (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
+ (WebCore::HTMLFrameSetElement::create):
+ (WebCore::HTMLFrameSetElement::parseMappedAttribute):
+ * html/HTMLFrameSetElement.h:
+ Added create functions. Made constructors and other members private.
+ Renamed m_rows and m_cols to m_rowLengths and m_colLengths and used
+ OwnArrayPtr for both.
- Get context properly when event handler was created on
- the main world.
- https://bugs.webkit.org/show_bug.cgi?id=37947
+ * html/HTMLLabelElement.cpp:
+ (WebCore::nodeAsLabelableFormControl): Made this cast to Element instead
+ of HTMLElement, since isFormControlElement is available on Element.
+ (WebCore::HTMLLabelElement::HTMLLabelElement):
+ (WebCore::HTMLLabelElement::create):
+ * html/HTMLLabelElement.h:
+ Added create functions. Made constructors and other members private.
+
+ * html/HTMLLegendElement.cpp:
+ (WebCore::HTMLLegendElement::HTMLLegendElement):
+ (WebCore::HTMLLegendElement::create):
+ (WebCore::HTMLLegendElement::associatedControl):
+ (WebCore::HTMLLegendElement::focus):
+ (WebCore::HTMLLegendElement::accessKeyAction):
+ * html/HTMLLegendElement.h:
+ Added create functions. Made constructors and other members private.
+ Renamed formElement to associatedControl since hte control associated
+ with this legend is not a "form element".
+
+ * editing/DeleteButton.cpp:
+ (WebCore::DeleteButton::DeleteButton):
+ (WebCore::DeleteButton::create):
+ * editing/DeleteButton.h:
+ * html/HTMLDivElement.cpp:
+ (WebCore::HTMLDivElement::HTMLDivElement):
+ (WebCore::HTMLDivElement::create):
+ * html/HTMLDivElement.h:
+ * html/HTMLFontElement.cpp:
+ (WebCore::HTMLFontElement::create):
+ * html/HTMLFontElement.h:
+ * html/HTMLHRElement.cpp:
+ (WebCore::HTMLHRElement::HTMLHRElement):
+ (WebCore::HTMLHRElement::create):
+ * html/HTMLHRElement.h:
+ * html/HTMLHeadElement.cpp:
+ (WebCore::HTMLHeadElement::HTMLHeadElement):
+ (WebCore::HTMLHeadElement::create):
+ * html/HTMLHeadElement.h:
+ * html/HTMLHeadingElement.cpp:
+ (WebCore::HTMLHeadingElement::HTMLHeadingElement):
+ (WebCore::HTMLHeadingElement::create):
+ * html/HTMLHeadingElement.h:
+ * html/HTMLHtmlElement.cpp:
+ (WebCore::HTMLHtmlElement::HTMLHtmlElement):
+ (WebCore::HTMLHtmlElement::create):
+ * html/HTMLHtmlElement.h:
+ * html/HTMLImageElement.cpp:
+ (WebCore::HTMLImageElement::HTMLImageElement):
+ (WebCore::HTMLImageElement::create):
+ * html/HTMLImageElement.h:
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::HTMLInputElement):
+ (WebCore::HTMLInputElement::create):
+ (WebCore::HTMLInputElement::createTemporaryFormForIsIndex):
+ * html/HTMLInputElement.h:
+ * html/HTMLIsIndexElement.cpp:
+ (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
+ (WebCore::HTMLIsIndexElement::create):
+ * html/HTMLIsIndexElement.h:
+ * html/HTMLLIElement.cpp:
+ (WebCore::HTMLLIElement::HTMLLIElement):
+ (WebCore::HTMLLIElement::create):
+ * html/HTMLLIElement.h:
+ * html/HTMLLinkElement.cpp:
+ (WebCore::HTMLLinkElement::HTMLLinkElement):
+ (WebCore::HTMLLinkElement::create):
+ * html/HTMLLinkElement.h:
+ Added create functions. Made constructors and other members private.
- Test: http/tests/security/isolatedWorld/dispatchEvent.html
+ * html/HTMLTagNames.in: Removed the createWithNew flag from all the
+ tags that were still using it: div, font, form, frameset, h1, h2, h3,
+ h4, h5, h6, head, hr, html, image, img, input, ins, isindex, label,
+ legend, li, and link.
- * bindings/v8/WorldContextHandle.cpp:
- (WebCore::WorldContextHandle::adjustedContext):
+ * html/HTMLTextAreaElement.h: Removed unneeded definition of the readOnly
+ function, since the one in HTMLFormElement does the same thing.
-2010-04-25 yael aharon <yael.aharon@nokia.com>
+ * loader/ImageDocument.cpp:
+ (WebCore::ImageDocumentElement::ImageDocumentElement):
+ (WebCore::ImageDocumentElement::create):
+ (WebCore::ImageDocument::createDocumentStructure):
+ Added create functions. Made constructors and other members private.
- Reviewed by Adele Peterson.
+ * page/DragController.cpp:
+ (WebCore::DragController::concludeEditDrag): Use the non-virtual disabled
+ function instead of the virtual isEnabledFormControl function, which just
+ turns around and calls the disabled function.
- Allow styling of HTMLProgressElement.
- https://bugs.webkit.org/show_bug.cgi?id=37901
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
+ (WebCore::MediaControlShadowRootElement::create):
+ (WebCore::MediaControlElement::MediaControlElement):
+ (WebCore::MediaControlElement::create):
+ (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement):
+ (WebCore::MediaControlTimelineContainerElement::create):
+ (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded):
+ (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement):
+ (WebCore::MediaControlVolumeSliderContainerElement::create):
+ (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement):
+ (WebCore::MediaControlStatusDisplayElement::create):
+ (WebCore::MediaControlStatusDisplayElement::update):
+ (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded):
+ (WebCore::MediaControlInputElement::MediaControlInputElement):
+ (WebCore::MediaControlInputElement::styleForElement):
+ (WebCore::MediaControlInputElement::rendererIsNeeded):
+ (WebCore::MediaControlInputElement::attach):
+ (WebCore::MediaControlInputElement::updateStyle):
+ (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement):
+ (WebCore::MediaControlMuteButtonElement::create):
+ (WebCore::MediaControlMuteButtonElement::defaultEventHandler):
+ (WebCore::MediaControlMuteButtonElement::updateDisplayType):
+ (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
+ (WebCore::MediaControlPlayButtonElement::create):
+ (WebCore::MediaControlPlayButtonElement::defaultEventHandler):
+ (WebCore::MediaControlPlayButtonElement::updateDisplayType):
+ (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement):
+ (WebCore::MediaControlSeekButtonElement::create):
+ (WebCore::MediaControlSeekButtonElement::isForwardButton):
+ (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
+ (WebCore::MediaControlSeekButtonElement::seekTimerFired):
+ (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement):
+ (WebCore::MediaControlRewindButtonElement::create):
+ (WebCore::MediaControlRewindButtonElement::defaultEventHandler):
+ (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement):
+ (WebCore::MediaControlReturnToRealtimeButtonElement::create):
+ (WebCore::MediaControlReturnToRealtimeButtonElement::defaultEventHandler):
+ (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
+ (WebCore::MediaControlToggleClosedCaptionsButtonElement::create):
+ (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
+ (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
+ (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
+ (WebCore::MediaControlTimelineElement::create):
+ (WebCore::MediaControlTimelineElement::defaultEventHandler):
+ (WebCore::MediaControlTimelineElement::update):
+ (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement):
+ (WebCore::MediaControlVolumeSliderElement::create):
+ (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
+ (WebCore::MediaControlVolumeSliderElement::update):
+ (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
+ (WebCore::MediaControlFullscreenButtonElement::create):
+ (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
+ (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
+ (WebCore::MediaControlTimeDisplayElement::create):
+ * rendering/MediaControlElements.h:
+ Added create functions. Made constructors and other members private.
- Added a new pseudo element to represent the value portion of the progress element.
- Web developers can style this pseudo element separate from the rest of the progress element.
+ * rendering/RenderFileUploadControl.cpp:
+ (WebCore::ShadowInputElement::ShadowInputElement):
+ (WebCore::ShadowInputElement::create):
+ (WebCore::RenderFileUploadControl::updateFromElement):
+ Added create functions. Made constructors and other members private.
- Test: fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element.html
+ * rendering/RenderMedia.cpp:
+ (WebCore::RenderMedia::createControlsShadowRoot):
+ (WebCore::RenderMedia::createPanel):
+ (WebCore::RenderMedia::createMuteButton):
+ (WebCore::RenderMedia::createPlayButton):
+ (WebCore::RenderMedia::createSeekBackButton):
+ (WebCore::RenderMedia::createSeekForwardButton):
+ (WebCore::RenderMedia::createRewindButton):
+ (WebCore::RenderMedia::createReturnToRealtimeButton):
+ (WebCore::RenderMedia::createToggleClosedCaptionsButton):
+ (WebCore::RenderMedia::createStatusDisplay):
+ (WebCore::RenderMedia::createTimelineContainer):
+ (WebCore::RenderMedia::createTimeline):
+ (WebCore::RenderMedia::createVolumeSliderContainer):
+ (WebCore::RenderMedia::createVolumeSlider):
+ (WebCore::RenderMedia::createCurrentTimeDisplay):
+ (WebCore::RenderMedia::createTimeRemainingDisplay):
+ (WebCore::RenderMedia::createFullscreenButton):
+ Use create instead of new.
- * css/CSSPrimitiveValueMappings.h:
- (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
- * css/CSSSelector.cpp:
- (WebCore::CSSSelector::pseudoId):
- (WebCore::nameToPseudoTypeMap):
- (WebCore::CSSSelector::extractPseudoType):
- * css/CSSSelector.h:
- * css/CSSValueKeywords.in:
- * platform/ThemeTypes.h:
* rendering/RenderProgress.cpp:
- (WebCore::ProgressValueElement::isShadowNode):
- (WebCore::ProgressValueElement::shadowParentNode):
(WebCore::ProgressValueElement::ProgressValueElement):
- (WebCore::RenderProgress::RenderProgress):
- (WebCore::RenderProgress::~RenderProgress):
- (WebCore::RenderProgress::layout):
- (WebCore::RenderProgress::styleDidChange):
- (WebCore::RenderProgress::updateFromElement):
+ (WebCore::ProgressValueElement::create):
(WebCore::RenderProgress::updateValuePartState):
- (WebCore::RenderProgress::createStyleForValuePart):
- (WebCore::RenderProgress::updateAnimationState):
- * rendering/RenderTheme.cpp:
- (WebCore::RenderTheme::isControlStyled):
- * rendering/RenderProgress.h:
- * rendering/style/RenderStyleConstants.h:
-
-2010-04-24 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Don't propagate compositing out of iframes on Mac
- https://bugs.webkit.org/show_bug.cgi?id=38072
-
- Propagating compositing out of iframes caused too many regressions on Mac,
- so only do it for other platforms that may need to hook compositing layers
- together across iframe boundaries.
-
- * rendering/RenderLayerCompositor.cpp:
- (WebCore::RenderLayerCompositor::requiresCompositingForIFrame):
-
-2010-04-24 Anton Muhin <antonm@chromium.org>
-
- Reviewed by Darin Adler.
-
- Allow to construct HashTraits<WebCore::QualifiedName>::constructDeletedValue
-
- Former implementation attempted to use AtomicString(HashTableDeletedValue)
- however those values cannot be used that way: one cannot construct
- QualifiedNameImpl out of such AtomicString as we'll try to lookup this string
- in the table, for example.
- https://bugs.webkit.org/show_bug.cgi?id=37722
-
- * dom/QualifiedName.cpp:
- (WebCore::QualifiedName::deref): check that hash table deleted values never derefed
- * dom/QualifiedName.h:
- (WebCore::QualifiedName::QualifiedName): add a constructor to create hash table deleted values
- (WebCore::QualifiedName::isHashTableDeletedValue): add a check if given instance is hash table deleted value
- (WTF::):
-
-2010-04-24 Julien Chaffraix <jchaffraix@webkit.org>
-
- Reviewed by Alexey Proskuryakov.
-
- protocolHostAndPortEquals host check makes a wrong assumption
- https://bugs.webkit.org/show_bug.cgi?id=37777
-
- The host check assumed that both host started at the same position. This is true
- if both URL are the same but sometimes one has credential and the other does not.
- In this case, the method would compare invalid positions.
-
- Test: http/tests/appcache/credential-url.html
-
- * platform/KURL.cpp:
- (WebCore::protocolHostAndPortAreEqual):
- * platform/KURLGoogle.cpp:
- (WebCore::protocolHostAndPortAreEqual):
- Fix the host check to take both URL's credential into account.
-
-2010-04-24 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Not reviewed. Fix linkage on several bots (no idea, why it worked in a from-scratch rebuild on Leopard on my machine!) -> include NodeRenderStyle.h
- Having to include NodeRenderStyle.h just to pull in the renderStyle() is a crazy concept, but I see what it tries to avoid (including RenderObject.h in Node.h)
-
- * rendering/SVGRenderSupport.cpp:
-
-2010-04-24 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Not reviewed. Fix release builds, wrap resourceMode assertion in NDEBUG blocks, use UNUSED_PARAM() otherwhise.
-
- * rendering/RenderSVGResourceClipper.cpp:
- (WebCore::RenderSVGResourceClipper::applyResource):
- * rendering/RenderSVGResourceFilter.cpp:
- (WebCore::RenderSVGResourceFilter::applyResource):
- (WebCore::RenderSVGResourceFilter::postApplyResource):
- * rendering/RenderSVGResourceMasker.cpp:
- (WebCore::RenderSVGResourceMasker::applyResource):
-
-2010-04-24 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Reviewed by Dirk Schulze.
-
- SVGPaintServer needs to be converted to the new RenderSVGResource* system
- https://bugs.webkit.org/show_bug.cgi?id=37986
-
- Huge speedup for SVG painting using paint servers (gradient/patterns). Cache underlying
- WebCore::Gradient/Pattern datastructures, do not rebuild them on every painting. This marks
- the finish of the SVGResource -> RenderSVGResource transition.
-
- Outline of same key changes:
- - RenderSVGResource is an abstract base class now, and the previous class is now named RenderSVGResourceContainer
- All resources except RenderSVGResourceSolidColor now inherit from RenderSVGResourceContainer, as they are all
- associated with a SVG*Element class. RenderSVGResourceSolidColor inherits from RenderSVGResource, and is not
- associated with any SVG*Element class. RenderSVGResourceSolidColor is not a render tree object, despite its name.
- The reason for that is consistency with all other painting resources.
- - RenderSVGResourceSolidColor does not live in the render tree, and exists only as static object, which is shared
- and always used when filling/stroking with solid colors - just like the old SVGPaintServerSolid.
- - RenderSVGResourceGradient/RenderSVGResourcePattern now store the underlying WebCore::Gradient/Pattern object
- instead of rebuilding it everytime we're asked to paint -> this is the main difference with the old concept, leading
- to much faster speed.
- - SVGResource has vanished. All resources (clipper/filter/marker/masker/gradient/pattern) now share the same codepaths
- to handle updates and client invalidation - which is a huge benefit, and makes the code easier to understand.
-
- * Android.mk: Remove svg/graphics/SVGResource*, svg/graphics/SVGPaintServer.h from build.
- * GNUmakefile.am: Ditto.
- * WebCore.gypi: Ditto.
- * WebCore.pro: Ditto.
- * WebCore.vcproj/WebCore.vcproj: Ditto.
- * WebCore.xcodeproj/project.pbxproj: Ditto.
- * platform/graphics/Gradient.cpp: Add addColorStop() method taking a ColorStop const-reference.
- (WebCore::Gradient::addColorStop):
- * platform/graphics/Gradient.h: Ditto.
- * platform/graphics/TextRun.h: Rename SVGPaintServer to RenderSVGResource
- (WebCore::TextRun::TextRun):
- (WebCore::TextRun::activePaintingResource): Renamed from activePaintServer.
- (WebCore::TextRun::setActivePaintingResource): Renamed from setActivePaintServer.
- * platform/graphics/win/GraphicsContextWin.cpp: Remove references to SVGResourceImage, which was removed a long time ago.
- * rendering/RenderObject.cpp:
- (WebCore::RenderObject::toRenderSVGResourceContainer): Renamed from toRenderSVGResource().
- * rendering/RenderObject.h:
- (WebCore::RenderObject::isSVGGradientStop): Added.
- (WebCore::RenderObject::isSVGResourceContainer): Renamed from isSVGResource().
- * rendering/RenderPath.cpp: Utilize RenderSVGResource::fill/strokePaintingResource to request paint servers, instead of SVGPaintServer.
- (WebCore::RenderPath::fillContains): Adapt to new concept.
- (WebCore::RenderPath::strokeContains): Ditto.
- (WebCore::fillAndStrokePath): Ditto.
- (WebCore::RenderPath::paint): Ditto.
- * rendering/RenderSVGGradientStop.cpp:
- (WebCore::RenderSVGGradientStop::styleDidChange): Ditto.
- * rendering/RenderSVGGradientStop.h: Fixed indention.
- * rendering/RenderSVGResource.cpp: Refactored old SVGPaintServer code to request fill/stroke painting resources, splitted up in several methods to aid readability.
- (WebCore::registerPendingResource):
- (WebCore::adjustColorForPseudoRules):
- (WebCore::RenderSVGResource::fillPaintingResource):
- (WebCore::RenderSVGResource::strokePaintingResource):
- (WebCore::RenderSVGResource::sharedSolidPaintingResource):
- (WebCore::RenderSVGResource::markForLayoutAndResourceInvalidation):
- * rendering/RenderSVGResource.h: Make RenderSVGResource an abstract base class, see above for the reasoning.
- (WebCore::RenderSVGResource::RenderSVGResource):
- (WebCore::RenderSVGResource::~RenderSVGResource):
- (WebCore::RenderSVGResource::postApplyResource):
- * rendering/RenderSVGResourceClipper.cpp: Inherit from RenderSVGResourceContainer instead of RenderSVGResource.
- (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper):
- (WebCore::RenderSVGResourceClipper::invalidateClient):
- (WebCore::RenderSVGResourceClipper::applyResource): Adapt to signature changes (add RenderStyle* and resource mode parameters)
- (WebCore::RenderSVGResourceClipper::applyClippingToContext):
- * rendering/RenderSVGResourceClipper.h:
- * rendering/RenderSVGResourceContainer.h: Added. Renamed from RenderSVGResource. Now inherits from RenderSVGHiddenContainer and RenderSVGResource.
- (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer):
- (WebCore::RenderSVGResourceContainer::~RenderSVGResourceContainer):
- (WebCore::RenderSVGResourceContainer::idChanged):
- (WebCore::RenderSVGResourceContainer::isSVGResourceContainer):
- (WebCore::RenderSVGResourceContainer::drawsContents):
- (WebCore::RenderSVGResourceContainer::toRenderSVGResourceContainer):
- (WebCore::getRenderSVGResourceContainerById):
- (WebCore::getRenderSVGResourceById):
- * rendering/RenderSVGResourceFilter.cpp: Inherit from RenderSVGResourceContainer instead of RenderSVGResource.
- (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter):
- (WebCore::RenderSVGResourceFilter::invalidateClient):
- (WebCore::RenderSVGResourceFilter::applyResource): Adapt to signature changes (add RenderStyle* and resource mode parameters)
- (WebCore::RenderSVGResourceFilter::postApplyResource):
- * rendering/RenderSVGResourceFilter.h:
- * rendering/RenderSVGResourceGradient.cpp: Moved from SVGPaintServerGradient, cleaned up and refactored.
- (WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient):
- (WebCore::RenderSVGResourceGradient::~RenderSVGResourceGradient):
- (WebCore::RenderSVGResourceGradient::invalidateClients):
- (WebCore::RenderSVGResourceGradient::invalidateClient):
- (WebCore::createMaskAndSwapContextForTextGradient):
- (WebCore::clipToTextMask):
- (WebCore::RenderSVGResourceGradient::applyResource):
- * rendering/RenderSVGResourceGradient.h:
- (WebCore::RenderSVGResourceGradient::resourceBoundingBox):
- * rendering/RenderSVGResourceLinearGradient.cpp: Moved from SVGPaintServerLinearGradient, cleaned up and refactored.
- (WebCore::RenderSVGResourceLinearGradient::RenderSVGResourceLinearGradient):
- (WebCore::RenderSVGResourceLinearGradient::~RenderSVGResourceLinearGradient):
- (WebCore::RenderSVGResourceLinearGradient::buildGradient):
- * rendering/RenderSVGResourceLinearGradient.h:
- (WebCore::RenderSVGResourceLinearGradient::renderName):
- (WebCore::RenderSVGResourceLinearGradient::resourceType):
- * rendering/RenderSVGResourceMarker.cpp: Inherit from RenderSVGResourceContainer instead of RenderSVGResource.
- (WebCore::RenderSVGResourceMarker::RenderSVGResourceMarker):
- (WebCore::RenderSVGResourceMarker::invalidateClient):
- * rendering/RenderSVGResourceMarker.h:
- (WebCore::RenderSVGResourceMarker::applyResource):
- * rendering/RenderSVGResourceMasker.cpp: Inherit from RenderSVGResourceContainer instead of RenderSVGResource.
- (WebCore::RenderSVGResourceMasker::RenderSVGResourceMasker):
- (WebCore::RenderSVGResourceMasker::invalidateClient):
- (WebCore::RenderSVGResourceMasker::applyResource):
- * rendering/RenderSVGResourceMasker.h:
- (WebCore::MaskerData::MaskerData):
- * rendering/RenderSVGResourcePattern.cpp: Moved from SVGPaintServerPattern, cleaned up and refactored.
- (WebCore::RenderSVGResourcePattern::RenderSVGResourcePattern):
- (WebCore::RenderSVGResourcePattern::~RenderSVGResourcePattern):
- (WebCore::RenderSVGResourcePattern::invalidateClients):
- (WebCore::RenderSVGResourcePattern::invalidateClient):
- (WebCore::RenderSVGResourcePattern::applyResource):
- (WebCore::RenderSVGResourcePattern::postApplyResource):
- (WebCore::calculatePatternBoundaries):
- (WebCore::RenderSVGResourcePattern::calculatePatternBoundariesIncludingOverflow):
- (WebCore::RenderSVGResourcePattern::createTileImage):
- (WebCore::RenderSVGResourcePattern::buildPattern):
- * rendering/RenderSVGResourcePattern.h:
- (WebCore::RenderSVGResourcePattern::renderName):
- (WebCore::RenderSVGResourcePattern::resourceBoundingBox):
- (WebCore::RenderSVGResourcePattern::resourceType):
- * rendering/RenderSVGResourceRadialGradient.cpp: Moved from SVGPaintServerRadialGradient, cleaned up and refactored.
- (WebCore::RenderSVGResourceRadialGradient::RenderSVGResourceRadialGradient):
- (WebCore::RenderSVGResourceRadialGradient::~RenderSVGResourceRadialGradient):
- (WebCore::RenderSVGResourceRadialGradient::buildGradient):
- * rendering/RenderSVGResourceRadialGradient.h:
- (WebCore::RenderSVGResourceRadialGradient::renderName):
- (WebCore::RenderSVGResourceRadialGradient::resourceType):
- * rendering/RenderSVGResourceSolidColor.cpp: Moved from SVGPaintServerSolid, cleaned up and refactored.
- (WebCore::RenderSVGResourceSolidColor::RenderSVGResourceSolidColor):
- (WebCore::RenderSVGResourceSolidColor::~RenderSVGResourceSolidColor):
- (WebCore::RenderSVGResourceSolidColor::applyResource):
- (WebCore::RenderSVGResourceSolidColor::postApplyResource):
- * rendering/RenderSVGResourceSolidColor.h:
- (WebCore::RenderSVGResourceSolidColor::invalidateClients):
- (WebCore::RenderSVGResourceSolidColor::invalidateClient):
- (WebCore::RenderSVGResourceSolidColor::resourceBoundingBox):
- (WebCore::RenderSVGResourceSolidColor::resourceType):
- (WebCore::RenderSVGResourceSolidColor::color):
- (WebCore::RenderSVGResourceSolidColor::setColor):
- * rendering/RenderSVGText.cpp:
- (WebCore::RenderSVGText::paint): Early exit if painting is disabled.
- * rendering/RenderTreeAsText.cpp:
- (WebCore::write): Add RenderSVGGradientStop dumping.
- (WebCore::externalRepresentation): Remove SVGResource dumping.
- * rendering/SVGInlineTextBox.cpp: Adapt to SVGPaintServer changes (paint server request).
- (WebCore::SVGInlineTextBox::paintCharacters):
- (WebCore::SVGInlineTextBox::paintDecoration):
- * rendering/SVGInlineTextBox.h: Ditto.
- (WebCore::SVGTextPaintInfo::SVGTextPaintInfo):
- * rendering/SVGRenderSupport.cpp: Ditto.
- (WebCore::SVGRenderBase::prepareToRenderSVGContent):
- (WebCore::SVGRenderBase::finishRenderSVGContent):
- (WebCore::invalidatePaintingResource):
- (WebCore::deregisterFromResources):
- (WebCore::dashArrayFromRenderingStyle): Moved here from SVGPaintServer.
- (WebCore::applyStrokeStyleToContext): Ditto.
- * rendering/SVGRenderSupport.h:
- * rendering/SVGRenderTreeAsText.cpp: Add new gradient/pattern dumping code. Stops are now properly dumped as well!
- (WebCore::operator<<):
- (WebCore::writeSVGPaintingResource):
- (WebCore::writeStyle):
- (WebCore::boundingBoxModeString):
- (WebCore::writeCommonGradientProperties):
- (WebCore::writeSVGResourceContainer):
- (WebCore::writeSVGGradientStop):
- * rendering/SVGRenderTreeAsText.h:
- * rendering/SVGRootInlineBox.cpp: Adapt to SVGPaintServer changes (paint server request).
- (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker):
- (WebCore::SVGRootInlineBoxPaintWalker::~SVGRootInlineBoxPaintWalker):
- (WebCore::SVGRootInlineBoxPaintWalker::teardownFillPaintServer):
- (WebCore::SVGRootInlineBoxPaintWalker::teardownStrokePaintServer):
- (WebCore::SVGRootInlineBoxPaintWalker::setupBackground):
- (WebCore::SVGRootInlineBoxPaintWalker::setupFill):
- (WebCore::SVGRootInlineBoxPaintWalker::setupFillSelection):
- (WebCore::SVGRootInlineBoxPaintWalker::setupStroke):
- (WebCore::SVGRootInlineBoxPaintWalker::setupStrokeSelection):
- (WebCore::SVGRootInlineBoxPaintWalker::setupForeground):
- (WebCore::SVGRootInlineBoxPaintWalker::activePaintingResource):
- (WebCore::SVGRootInlineBoxPaintWalker::paintChunk):
- * svg/GradientAttributes.h: Remove SVGGradientStop, use Gradient::ColorStop vector. Cleanup.
- (WebCore::GradientAttributes::stops):
- (WebCore::GradientAttributes::setStops):
- * svg/LinearGradientAttributes.h: Move ENABLE(SVG) guard to correct location.
- * svg/PatternAttributes.h: Add missing includes and class forwards.
- * svg/RadialGradientAttributes.h: Move ENABLE(SVG) guard to correct location.
- * svg/SVGClipPathElement.cpp: Rename invalidateCanvasResources() to invalidateResourceClients().
- (WebCore::SVGClipPathElement::svgAttributeChanged):
- (WebCore::SVGClipPathElement::childrenChanged): Only call invalidateResourceClients() when !changedByParser is set.
- * svg/SVGClipPathElement.h:
- * svg/SVGDocumentExtensions.cpp: Change HashMaps to hash AtomicStrings instead of Strings. Rename RenderSVGResource to RenderSVGResourceContainer.
- (WebCore::SVGDocumentExtensions::addResource):
- (WebCore::SVGDocumentExtensions::removeResource):
- (WebCore::SVGDocumentExtensions::resourceById):
- (WebCore::SVGDocumentExtensions::addPendingResource):
- * svg/SVGDocumentExtensions.h:
- * svg/SVGElement.cpp:
- (WebCore::SVGElement::insertedIntoDocument): Remove reference to SVGResource::invalidateClients(), handled differently now.
- (WebCore::SVGElement::updateAnimatedSVGAttribute): Change assertion, that is incorrect now.
- * svg/SVGElement.h: Make updateAnimatedSVGAttribute() public.
- * svg/SVGFont.cpp: Adapt to SVGPaintServer changes (paint server request).
- (WebCore::Font::drawTextUsingSVGFont):
- * svg/SVGGElement.cpp: If style()->display() is NONE, create a RenderSVGHiddenContainer, removing hacks in SVGStopElement for pservers-grad-19-b.svg (yes, SVG is crazy.)
- (WebCore::SVGGElement::createRenderer):
- * svg/SVGGElement.h: Remove childrenChanged() method which _always_ called renderer->setNeedsLayout(true), which is completly wrong and unnecessary.
- (WebCore::SVGGElement::rendererIsNeeded): Always return true.
- * svg/SVGGradientElement.cpp: Adapt to new RenderSVGResourceGradient code.
- (WebCore::SVGGradientElement::svgAttributeChanged):
- (WebCore::SVGGradientElement::childrenChanged): Only call invalidateResourceClients() when !changedByParser is set.
- (WebCore::SVGGradientElement::buildStops):
- * svg/SVGGradientElement.h:
- * svg/SVGLinearGradientElement.cpp: Adapt to new RenderSVGResourceLinearGradient code.
- (WebCore::SVGLinearGradientElement::svgAttributeChanged):
- (WebCore::SVGLinearGradientElement::createRenderer):
- (WebCore::SVGLinearGradientElement::collectGradientProperties):
- (WebCore::SVGLinearGradientElement::calculateStartEndPoints):
- * svg/SVGLinearGradientElement.h:
- * svg/SVGMarkerElement.cpp: Rename invalidateCanvasResources() to invalidateResourceClients().
- (WebCore::SVGMarkerElement::svgAttributeChanged):
- (WebCore::SVGMarkerElement::childrenChanged): Only call invalidateResourceClients() when !changedByParser is set.
- (WebCore::SVGMarkerElement::setOrientToAuto):
- (WebCore::SVGMarkerElement::setOrientToAngle):
- * svg/SVGMaskElement.cpp: Rename invalidateCanvasResources() to invalidateResourceClients().
- (WebCore::SVGMaskElement::svgAttributeChanged):
- (WebCore::SVGMaskElement::childrenChanged): Only call invalidateResourceClients() when !changedByParser is set.
- * svg/SVGPatternElement.cpp: Rename invalidateCanvasResources() to invalidateResourceClients().
- (WebCore::SVGPatternElement::svgAttributeChanged):
- (WebCore::SVGPatternElement::childrenChanged): Only call invalidateResourceClients() when !changedByParser is set.
- (WebCore::SVGPatternElement::createRenderer):
- * svg/SVGPatternElement.h:
- * svg/SVGPolyElement.h: Remove unneded rendererIsNeeded() override.
- * svg/SVGRadialGradientElement.cpp: Adapt to new RenderSVGResourceRadialGradient code.
- (WebCore::SVGRadialGradientElement::svgAttributeChanged):
- (WebCore::SVGRadialGradientElement::createRenderer):
- (WebCore::SVGRadialGradientElement::collectGradientProperties):
- (WebCore::SVGRadialGradientElement::calculateFocalCenterPointsAndRadius):
- * svg/SVGRadialGradientElement.h:
- * svg/SVGStopElement.cpp: Clean up code, moved stop color calculation from SVGGradientElement to here, where it belongs.
- (WebCore::SVGStopElement::parseMappedAttribute):
- (WebCore::SVGStopElement::stopColorIncludingOpacity):
- * svg/SVGStopElement.h:
- * svg/SVGStyledElement.cpp:
- (WebCore::SVGStyledElement::~SVGStyledElement):
- (WebCore::SVGStyledElement::svgAttributeChanged): Only invalidateResourcesInAncestorChain()/deregisterFromResources() when we're not parsing.
- (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain): Early exit if we find a parent resources, there is no resource nesting.
- (WebCore::SVGStyledElement::invalidateResourceClients): Renamed from invalidateCanvasResources()
- (WebCore::SVGStyledElement::childrenChanged): Only invalidate SVGElementInstances when !changedByParser is set.
- * svg/SVGStyledElement.h: Remove canvasResource() logic, remove detach() method.
- * svg/SVGTextPathElement.h:
- * svg/graphics/SVGPaintServer.h: Removed.
- * svg/graphics/SVGResource.cpp: Removed.
- * svg/graphics/SVGResource.h: Removed.
-
-2010-04-23 Zhenyao Mo <zmo@google.com>
-
- Reviewed by Darin Fisher.
-
- Add isGLES2Compliant to GraphicsContext3D: make the method const.
- https://bugs.webkit.org/show_bug.cgi?id=37872
-
- * platform/graphics/GraphicsContext3D.h: Make isGLES2Compliant() const.
- * platform/graphics/mac/GraphicsContext3DMac.cpp: Ditto.
- (WebCore::GraphicsContext3D::isGLES2Compliant):
-
-2010-04-23 Qi Zhang <qi.2.zhang@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] LayoutTests/fast/canvas/pointInPath.html passed, actually it failed
- https://bugs.webkit.org/show_bug.cgi?id=37276
-
- QPainterPath::contains doesn't count the point on the bound.
-
- * platform/graphics/qt/PathQt.cpp:
- (WebCore::isPointOnPathBorder):
- (WebCore::Path::contains):
-
-2010-04-23 Sam Weinig <sam@webkit.org>
-
- Reviewed by David Levin.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=38060
- Split up Threading.h
-
- Add necessary forwarding headers.
-
- * ForwardingHeaders/wtf/Atomics.h: Added.
- * ForwardingHeaders/wtf/ThreadSafeShared.h: Added.
- * ForwardingHeaders/wtf/ThreadingPrimitives.h: Added.
-
-2010-04-23 Rafael Weinstein <rafaelw@grafaelw.sfo.corp.google.com>
-
- Reviewed by Darin Fisher.
-
- This patch adds a vector of additionalFeatures to WindowFeatures
- and populates it with any feature strings that evaluate to "yes"
- and aren't directly observed in WindowFeatures. This allows
- clients to capture experimental window features.
-
- https://bugs.webkit.org/show_bug.cgi?id=38013
-
- * page/WindowFeatures.cpp:
- (WebCore::WindowFeatures::setWindowFeature):
- * page/WindowFeatures.h:
-
-2010-04-23 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Simon Fraser.
-
- <rdar://problem/7898436> :after content is duplicated
-
- Test: fast/css-generated-content/after-duplicated-after-split.html
-
- * rendering/RenderInline.cpp:
- (WebCore::RenderInline::splitInlines): Pass the correct owner of the child list.
-
-2010-04-23 Adele Peterson <adele@apple.com>
-
- Fixing the Tiger build for real.
-
- * platform/graphics/mac/SimpleFontDataMac.mm:
-
-2010-04-23 Adele Peterson <adele@apple.com>
-
- Fixing the Tiger build.
-
- * platform/graphics/mac/SimpleFontDataMac.mm:
- (WebCore::SimpleFontData::platformBoundsForGlyph):
-
-2010-04-23 Jian Li <jianli@chromium.org>
-
- Reviewed by Dmitry Titov.
-
- Add FileError for File API.
- https://bugs.webkit.org/show_bug.cgi?id=37840
-
- The test will be added when implementing FileReader and FilerWriter.
-
- * Android.derived.jscbindings.mk:
- * Android.derived.v8bindings.mk:
- * DerivedSources.cpp:
- * DerivedSources.make:
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pri:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * dom/ExceptionCode.h:
- (WebCore::):
- * html/FileError.h: Added.
- * html/FileError.idl: Added.
- * page/DOMWindow.idl:
-
-2010-04-23 Jian Li <jianli@chromium.org>
-
- Reviewed by Adam Barth.
-
- Improve code generator scripts to handle OR ('|') condition in the
- extended attributes.
- https://bugs.webkit.org/show_bug.cgi?id=37998
-
- * bindings/scripts/CodeGeneratorJS.pm:
- * bindings/scripts/CodeGeneratorObjC.pm:
- * bindings/scripts/CodeGeneratorV8.pm:
- * bindings/scripts/IDLStructure.pm:
-
-2010-04-23 Adele Peterson <adele@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Fix for <rdar://problem/7855777> REGRESSION: Memory usage increase caused by storing glyph bounds in GlyphMetricsMap
- https://bugs.webkit.org/show_bug.cgi?id=37936
-
- This change breaks the GlyphMetricsMap into two maps - one for width and one for bounds, so that we don't store
- a FloatRect for the glyph bounds unless we need to.
-
- Covered by existing tests. This should not cause any change in functionality.
-
- Updated for removal of GlyphMetricsMap.cpp
- * Android.mk:
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
-
- Made GlyphMetricsMap a template, so it can be used for separate width and bounds maps.
- * platform/graphics/GlyphMetricsMap.cpp: Removed.
- * platform/graphics/GlyphMetricsMap.h:
- (WebCore::GlyphMetricsMap::metricsForGlyph):
- (WebCore::GlyphMetricsMap::setMetricsForGlyph):
- (WebCore::GlyphMetricsMap::GlyphMetricsPage::metricsForGlyph):
- (WebCore::GlyphMetricsMap::GlyphMetricsPage::setMetricsForGlyph):
- (WebCore::GlyphMetricsMap::GlyphMetricsPage::setMetricsForIndex):
- (WebCore::::unknownMetrics):
- (WebCore::::locatePageSlowCase):
-
- * platform/graphics/mac/ComplexTextController.cpp: (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
- Call boundsForGlyph instead of metricsForGlyph.
- * platform/graphics/win/UniscribeController.cpp: (WebCore::UniscribeController::shapeAndPlaceItem):
- ditto.
- * platform/graphics/SimpleFontData.cpp: (WebCore::SimpleFontData::platformGlyphInit):
- Call setMetricsForGlyph for both glyph maps.
-
- Break getters and setters for metricsForGlyph into widthForGlyph and boundsForGlyph, maintaining present behavior.
- * platform/graphics/SimpleFontData.h:
- (WebCore::):
- (WebCore::SimpleFontData::boundsForGlyph):
- (WebCore::SimpleFontData::widthForGlyph):
- * platform/graphics/cairo/SimpleFontDataCairo.cpp:
- (WebCore::SimpleFontData::platformBoundsForGlyph):
- (WebCore::SimpleFontData::platformWidthForGlyph):
- * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
- (WebCore::SimpleFontData::platformBoundsForGlyph):
- (WebCore::SimpleFontData::platformWidthForGlyph):
- * platform/graphics/chromium/SimpleFontDataLinux.cpp:
- (WebCore::SimpleFontData::platformBoundsForGlyph):
- (WebCore::SimpleFontData::platformWidthForGlyph):
- * platform/graphics/gtk/SimpleFontDataPango.cpp:
- (WebCore::SimpleFontData::platformBoundsForGlyph):
- (WebCore::SimpleFontData::platformWidthForGlyph):
- * platform/graphics/mac/SimpleFontDataMac.mm:
- (WebCore::SimpleFontData::platformBoundsForGlyph):
- (WebCore::SimpleFontData::platformWidthForGlyph):
- * platform/graphics/win/SimpleFontDataCGWin.cpp:
- (WebCore::SimpleFontData::platformBoundsForGlyph):
- (WebCore::SimpleFontData::platformWidthForGlyph):
- * platform/graphics/win/SimpleFontDataCairoWin.cpp:
- (WebCore::SimpleFontData::platformBoundsForGlyph):
- * platform/graphics/win/SimpleFontDataWin.cpp:
- (WebCore::SimpleFontData::boundsForGDIGlyph):
- (WebCore::SimpleFontData::widthForGDIGlyph):
- * platform/graphics/wince/SimpleFontDataWince.cpp:
- (WebCore::SimpleFontData::platformBoundsForGlyph):
- * platform/graphics/wx/SimpleFontDataWx.cpp:
- (WebCore::SimpleFontData::platformBoundsForGlyph):
- (WebCore::SimpleFontData::platformWidthForGlyph):
-
-2010-04-23 Xiaomei Ji <xji@chromium.org>
-
- Reviewed by Dan Bernstein and Darin Adler
-
- Fix issue "caret does not paint after type in characters in right
- aligned div or after delete all characters in RTL div or
- 0px right padding RTL textarea"
- https://bugs.webkit.org/show_bug.cgi?id=25319
-
- Test: editing/inserting/caret-position.html
-
- * rendering/RenderText.cpp:
- (WebCore::RenderText::localCaretRect):
-
-2010-04-23 No'am Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] [Performance] GraphicsLayer: constructing the layers takes too long
- https://bugs.webkit.org/show_bug.cgi?id=36365
-
- The issue came from using QGraphicsView's cache as is. The problem is that
- several code-paths require re-rendering of the item, but not re-rendering
- of the web content into the cache.
-
- The way to solve it is by having GraphicsLayerQt manage the cache directly
- via QPixmapCache, instead of using QGraphicsItem cache modes.
-
- FPS measurement shows significant improvement (20FPS before, 40FPS after)
- on several use-cases, including blog-files/leaves on a desktop environment.
-
- * platform/graphics/qt/GraphicsLayerQt.cpp:
- (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
- (WebCore::GraphicsLayerQtImpl::recache):
- (WebCore::GraphicsLayerQtImpl::paint):
- (WebCore::GraphicsLayerQtImpl::flushChanges):
-
-2010-04-23 James Robinson <jamesr@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Avoid marking symbols as dllexport in chromium win builds
- https://bugs.webkit.org/show_bug.cgi?id=38058
-
- No new tests.
-
- * config.h:
-
-2010-04-23 MORITA Hajime <morrita@google.com>
-
- Reviewed by Nikolas Zimmermann.
-
- https://bugs.webkit.org/show_bug.cgi?id=37187
- SVG <use href="foo"> is interpreted as <use href="#foo">
-
- getTarget() did return url parameter as is if doesn't have
- fragment identifier. So fixed to return empty string in such case
- because we need to distinguish "yyy.html" from "xxx.svg#yyy.html".
-
- Test: svg/custom/broken-internal-references.svg
-
- * svg/SVGElement.cpp:
- (WebCore::SVGElement::insertedIntoDocument):
- * svg/SVGURIReference.cpp:
- (WebCore::SVGURIReference::getTarget):
-
-2010-04-23 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- ASSERT(willBeComposited == needsToBeComposited(layer)); on gmail.com
- https://bugs.webkit.org/show_bug.cgi?id=38066
-
- When a layer goes into compositing mode because it has a negative z-index child that is going
- into compositing mode, then set willBeComposited to true. Also add another assertion to catch
- any other cases where the state of willBeComposited is mismanaged.
-
- Test: compositing/composited-negative-zindex-child.html
-
- * rendering/RenderLayerCompositor.cpp:
- (WebCore::RenderLayerCompositor::computeCompositingRequirements):
-
-2010-04-23 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- When webkitAnimationEnd event fires, on-screen rendering should show the last frame of animation
- https://bugs.webkit.org/show_bug.cgi?id=37955
-
- After r37484, animation and transition end events were fired on a timer, after the animation/transition
- ended. This opened up one event loop cycle in which the non-animating state of the element was visible
- before the event fired, resulting in flashes in content that reset style from the event handler.
-
- Fix by firing these events in the same event cycle as the animation end, once all animations
- have been updated. This also required moving the place that start animations are fixed until
- a later state in the state machine, so that animations have their start time set at the point
- the event is fired (to avoid an assertion when using the freeze API in DRT).
-
- Not testable, since the flash is very transitory and cannot be captured in a pixel test.
-
- * page/animation/AnimationBase.cpp:
- (WebCore::AnimationBase::updateStateMachine): Move the firing of 'start' events into the state
- where the start time is known.
- * page/animation/AnimationControllerPrivate.h:
- * page/animation/AnimationController.cpp:
- (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired): Call the new fireEventsAndUpdateStyle()
- method.
- (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle): New method to share code that used to be in
- updateStyleIfNeededDispatcherFired().
- (WebCore::AnimationControllerPrivate::animationTimerFired): Call fireEventsAndUpdateStyle() once we've
- processed all animations.
-
-2010-04-23 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- CompositeAnimation::updateKeyframeAnimations() can make a KeyframeAnimation for animation "none"
- https://bugs.webkit.org/show_bug.cgi?id=38017
-
- Check to see if the animation name is "none", and don't fire off a keyframe animation in
- that case.
-
- * page/animation/CompositeAnimation.cpp:
- (WebCore::CompositeAnimation::updateKeyframeAnimations):
-
-2010-04-23 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Disable Netscape plugin support for minimal configuration
- https://bugs.webkit.org/show_bug.cgi?id=38026
-
- No new tests, as there is no new functionality.
-
- * WebCore.pri:
-
-2010-04-23 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Darin Adler.
-
- Need borderAndPadding(Width|Height)
- https://bugs.webkit.org/show_bug.cgi?id=38046
-
- Refactoring only, so no new tests.
-
- * rendering/InlineBox.cpp:
- (WebCore::InlineBox::height):
- * rendering/RenderApplet.cpp:
- (WebCore::RenderApplet::createWidgetIfNecessary):
- * rendering/RenderBlock.cpp:
- (WebCore::RenderBlock::isSelfCollapsingBlock):
- (WebCore::RenderBlock::calcPrefWidths):
- * rendering/RenderBox.cpp:
- (WebCore::RenderBox::calcBorderBoxWidth):
- (WebCore::RenderBox::calcBorderBoxHeight):
- (WebCore::RenderBox::calcContentBoxWidth):
- (WebCore::RenderBox::calcContentBoxHeight):
- (WebCore::RenderBox::calcWidth):
- (WebCore::RenderBox::calcHeight):
- (WebCore::RenderBox::calcPercentageHeight):
- (WebCore::RenderBox::calcReplacedHeightUsing):
- (WebCore::RenderBox::availableHeightUsing):
- (WebCore::RenderBox::calcAbsoluteHorizontal):
- (WebCore::RenderBox::calcAbsoluteVertical):
- (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
- (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
- (WebCore::RenderBox::positionForPoint):
- * rendering/RenderBoxModelObject.h:
- (WebCore::RenderBoxModelObject::borderAndPaddingHeight):
- (WebCore::RenderBoxModelObject::borderAndPaddingWidth):
- * rendering/RenderDataGrid.cpp:
- (WebCore::RenderDataGrid::calcPrefWidths):
- * rendering/RenderFieldset.cpp:
- (WebCore::RenderFieldset::calcPrefWidths):
- * rendering/RenderFileUploadControl.cpp:
- (WebCore::RenderFileUploadControl::calcPrefWidths):
- * rendering/RenderFlexibleBox.cpp:
- (WebCore::RenderFlexibleBox::calcPrefWidths):
- (WebCore::RenderFlexibleBox::allowedChildFlex):
- * rendering/RenderImage.cpp:
- (WebCore::RenderImage::calcPrefWidths):
- * rendering/RenderLayer.cpp:
- (WebCore::RenderLayer::resize):
- * rendering/RenderListBox.cpp:
- (WebCore::RenderListBox::calcPrefWidths):
- (WebCore::RenderListBox::calcHeight):
- * rendering/RenderMenuList.cpp:
- (WebCore::RenderMenuList::calcPrefWidths):
- * rendering/RenderReplaced.cpp:
- (WebCore::RenderReplaced::calcPrefWidths):
- * rendering/RenderSVGRoot.cpp:
- (WebCore::RenderSVGRoot::calcPrefWidths):
* rendering/RenderSlider.cpp:
- (WebCore::RenderSlider::calcPrefWidths):
- (WebCore::RenderSlider::layout):
- * rendering/RenderTableCell.cpp:
- (WebCore::RenderTableCell::styleOrColWidth):
- * rendering/RenderTextControl.cpp:
- (WebCore::RenderTextControl::textBlockHeight):
- (WebCore::RenderTextControl::textBlockWidth):
- (WebCore::RenderTextControl::calcHeight):
- (WebCore::RenderTextControl::calcPrefWidths):
- * rendering/RenderTextControlSingleLine.cpp:
- (WebCore::RenderTextControlSingleLine::layout):
- * rendering/RenderWidget.cpp:
- (WebCore::RenderWidget::updateWidgetPosition):
+ (WebCore::SliderThumbElement::SliderThumbElement):
+ (WebCore::SliderThumbElement::create):
+ (WebCore::RenderSlider::updateFromElement):
+ Added create functions. Made constructors and other members private.
-2010-04-23 David Kilzer <ddkilzer@apple.com>
+ * rendering/TextControlInnerElements.cpp:
+ (WebCore::TextControlInnerElement::TextControlInnerElement):
+ (WebCore::TextControlInnerElement::create):
+ (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
+ (WebCore::TextControlInnerTextElement::create):
+ (WebCore::TextControlInnerTextElement::defaultEventHandler):
+ (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement):
+ (WebCore::SearchFieldResultsButtonElement::create):
+ (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
+ (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
+ (WebCore::SearchFieldCancelButtonElement::create):
+ (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
+ (WebCore::SpinButtonElement::SpinButtonElement):
+ (WebCore::SpinButtonElement::create):
+ (WebCore::SpinButtonElement::defaultEventHandler):
+ * rendering/TextControlInnerElements.h:
+ Added create functions. Made constructors and other members private.
- Size mismatch between format string and argument in dumpTextEncodingNameMap()
+2010-05-30 Xan Lopez <xlopez@igalia.com>
Reviewed by Darin Adler.
- See Bug 38030 and r58157.
-
- * platform/text/TextEncodingRegistry.cpp:
- (WebCore::dumpTextEncodingNameMap): Assigned
- textEncodingNameMap->size() to an unsigned variable before using
- it in the fprintf() statement.
-
-2010-04-23 David Kilzer <ddkilzer@apple.com>
-
- BUILD FIX: Attempt to fix Windows build after Bug 36187 landed in r58168
+ Incorrect build dependencies for GObject DOM Bindings
+ https://bugs.webkit.org/show_bug.cgi?id=39932
- * DerivedSources.cpp: Changed include of JSMedia.cpp to
- JSStyleMedia.cpp.
-
-2010-04-23 David Kilzer <ddkilzer@apple.com>
-
- BUILD FIX: Fix Mac build after Bug 36187 landed in r58168
-
- * WebCore.xcodeproj/project.pbxproj: Renamed DOMMedia.h,
- DOMMedia.mm, DOMMediaInternal.h to DOMStyleMedia.h,
- DOMStyleMedia.mm, DOMStyleMediaInternal.h.
-
-2010-04-23 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Unreviewed build fix.
-
- Change Media to StyleMedia
-
- * DerivedSources.make:
-
-2010-04-23 Xan Lopez <xlopez@igalia.com>
-
- Try to fix the GTK+ bots.
+ -include does not execute the implicit % expansion, we have to do
+ it manually.
* GNUmakefile.am:
-2010-04-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Laszlo Gombos.
-
- Rename window.media to window.styleMedia
- https://bugs.webkit.org/show_bug.cgi?id=36187
-
- Rename the interface Media to StyleMedia as required by the
- new CSSOM View spec.
-
- * Android.derived.jscbindings.mk:
- * Android.derived.v8bindings.mk:
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pri:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * css/Media.cpp: Removed.
- * css/Media.h: Removed.
- * css/Media.idl: Removed.
- * css/StyleMedia.cpp: Added.
- (WebCore::StyleMedia::StyleMedia):
- (WebCore::StyleMedia::type):
- (WebCore::StyleMedia::matchMedium):
- * css/StyleMedia.h: Added.
- (WebCore::StyleMedia::create):
- (WebCore::StyleMedia::disconnectFrame):
- * css/StyleMedia.idl: Added.
- * page/DOMWindow.cpp:
- (WebCore::DOMWindow::styleMedia):
- * page/DOMWindow.h:
- (WebCore::DOMWindow::optionalMedia):
- * page/DOMWindow.idl:
+2010-05-30 Robert Hogan <robert@webkit.org>
-2010-04-23 Yury Semikhatsky <yurys@chromium.org>
+ Reviewed by Kenneth Rohde Christiansen.
- Reviewed by Pavel Feldman.
+ [Qt] Enhance Qt DRT implementation to support platform scroll wheel events.
- Web Inspector: provide JSC implementation for scopeType method on
- call frame and use same jsvascript code for JSC and v8 when collecting
- scope chain data.
+ https://bugs.webkit.org/show_bug.cgi?id=36004
- https://bugs.webkit.org/show_bug.cgi?id=37663
+ Fix the bug in webkit.org/b/29601 for Qt. A delta not divisible by 120
+ indicates a device that is sending fine-resolution scroll events, so
+ use the delta as the number of pixels to scroll.
- * bindings/js/JSInjectedScriptHostCustom.cpp:
- (WebCore::JSInjectedScriptHost::currentCallFrame):
- * bindings/js/JSJavaScriptCallFrameCustom.cpp:
- (WebCore::JSJavaScriptCallFrame::scopeType):
- * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
- (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
- * inspector/InjectedScriptHost.idl:
- * inspector/front-end/InjectedScript.js:
- (injectedScriptConstructor.):
+ * platform/qt/WheelEventQt.cpp:
+ (WebCore::PlatformWheelEvent::applyDelta):
-2010-04-23 Alexander Pavlov <apavlov@chromium.org>
+2010-05-30 Jessie Berlin <jberlin@webkit.org>
Reviewed by Pavel Feldman.
- Web Inspector: Audits (Image Dimensions): full image URLs are prefixed with the hosting page name
- https://bugs.webkit.org/show_bug.cgi?id=37988
+ https://bugs.webkit.org/show_bug.cgi?id=39224
+ Bug 39224 - Web Inspector: There should be a way to clean up profiles
- * inspector/front-end/AuditRules.js:
- (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
+ Adds a button to clear the profiles from the profiles panel like that
+ used for the console, the audits panel, and the timeline panel.
+ Consolidates the css rules, since they all use the same image.
+ Also allows for individual profiles to be deleted via the keyboard
+ (U+0008 or U+007F) and uses this new schema for the Elements Tree.
-2010-04-23 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- WebInspector: Flaky Inspector tests.
- https://bugs.webkit.org/show_bug.cgi?id=36217
+ * English.lproj/localizedStrings.js:
+ Add tooltip text for the button to clear the profiles pane.
+ * inspector/InspectorBackend.idl:
+ Add ability to remove the profiles from the backend when they are
+ deleted or cleared in the frontend.
+ * inspector/InspectorBackend.cpp:
+ (WebCore::InspectorBackend::removeProfile):
+ (WebCore::InspectorBackend::clearProfiles):
+ * inspector/InspectorBackend.h:
* inspector/InspectorController.cpp:
- (WebCore::InspectorController::didCommitLoad):
-
-2010-04-23 Yaar Schnitman <yaar@chromium.org>
-
- Reviewed by Adam Barth.
-
- Auto-generate WebGLRenderingContext overloads in V8
- https://bugs.webkit.org/show_bug.cgi?id=37818
-
- * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
- * html/canvas/WebGLRenderingContext.cpp: Added missing overloads for the following:.
- (WebCore::WebGLRenderingContext::texImage2D)
- (WebCore::WebGLRenderingContext::texSubImage2D)
- * html/canvas/WebGLRenderingContext.h: Added missing overloads.
- * html/canvas/WebGLRenderingContext.idl: IDL definition of overloads.
-
-2010-04-23 Jeff Schiller <codedread@gmail.com>
-
- Reviewed by Nikolas Zimmermann.
-
- Display tooltips when hovering over SVG elements, Bug 16854
- https://bugs.webkit.org/show_bug.cgi?id=16854
-
- Manual test added for verifying tooltips.
-
- * manual-tests/svg-tooltip.svg: Added.
- * svg/SVGAElement.cpp:
- (WebCore::SVGAElement::title): xlink:title takes precedence, otherwise SVGStyledElement::title() is used
- * svg/SVGStyledElement.cpp:
- (WebCore::SVGStyledElement::title): checks for a shadow parent and uses that title, otherwise uses the content's title
- * svg/SVGStyledElement.h: add title() method declaration
-
-2010-04-23 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/38032> No need to content sniff 304 responses
- <rdar://problem/7891726>
-
- Reviewed by Brady Eidson.
-
- * platform/network/mac/ResourceHandleMac.mm:
- (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
- No need to adjust the MIME type on 304 responses since they're
- only used to determine if the resource needs to be refetched.
-
-2010-04-23 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/38030> Add WebCore::dumpTextEncodingNameMap() to dump text encoding map on debug builds
-
- Reviewed by Alexey Proskuryakov.
-
- * platform/text/TextEncodingRegistry.cpp:
- (WebCore::dumpTextEncodingNameMap): Added.
- * platform/text/TextEncodingRegistry.h:
- (WebCore::dumpTextEncodingNameMap): Added declaration.
-
-2010-04-22 Tony Chang <tony@chromium.org>
-
- Reviewed by Dan Bernstein.
-
- Crash in WebCore::TextIterator::handleTextNode() encountered in Google rich-text products
- https://bugs.webkit.org/show_bug.cgi?id=37950
-
- Test: editing/text-iterator/rtl-selection-crash.html
-
- * editing/TextIterator.cpp:
- (WebCore::TextIterator::handleTextNode):
-
-2010-04-22 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Dan Bernstein and Beth Dakin.
-
- Links around blocks (e.g. divs) results in too many VoiceOver call outs
- https://bugs.webkit.org/show_bug.cgi?id=37079
- <rdar://problem/7234118>
-
- The basic change is to modify the AccessibilityRenderObject tree
- traversal methods to account for inline continuations in the
- render tree and make the accessibility tree look as if
- continuations didn't exist - the same as if CSS blocks could just
- sit in CSS inlines. This is slightly tricky code but creates a
- much saner accessibility tree.
-
- Tests: accessibility/image-link-inline-cont.html
- accessibility/image-link.html
- accessibility/inline-continuations.html
-
- * accessibility/AccessibilityRenderObject.cpp:
- (WebCore::isInlineWithContinuation): Helper function for traversal functions to use in accounting for continuations.
- (WebCore::firstChildInContinuation): ditto
- (WebCore::firstChildConsideringContinuation): ditto
- (WebCore::lastChildConsideringContinuation): ditto
- (WebCore::startOfContinuations): ditto
- (WebCore::endOfContinuations): ditto
- (WebCore::childBeforeConsideringContinuations): ditto
- (WebCore::firstChildIsInlineContinuation): ditto
- (WebCore::lastChildHasContinuation): ditto
- (WebCore::AccessibilityRenderObject::firstChild): Account for inline continuations.
- (WebCore::AccessibilityRenderObject::lastChild): ditto
- (WebCore::AccessibilityRenderObject::previousSibling): Account for inline continuations
- and their anonymous block parents.
- (WebCore::AccessibilityRenderObject::nextSibling): ditto
- (WebCore::AccessibilityRenderObject::parentObjectIfExists): Account for inline continuations.
- (WebCore::AccessibilityRenderObject::parentObject): Account for inline continuations.
- * rendering/RenderInline.h: Make RenderInline::inlineContinuation public.
-
-2010-04-22 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Darin Adler.
-
- REGRESSION: TextIterator may use freed memory
- https://bugs.webkit.org/show_bug.cgi?id=37973
-
- Added TextIterator::m_text to hold the returned String.
-
- No new tests because there are no behavior change, but
- copy-backslash-with-euc.html on chromium-win should test this.
-
- * editing/TextIterator.cpp:
- (WebCore::TextIterator::emitText):
- * editing/TextIterator.h:
-
-2010-04-22 Michael Forney <mforney@mforney.org>
-
- Reviewed by Adam Barth.
-
- https://bugs.webkit.org/show_bug.cgi?id=37761
-
- Only include JSDatabase.h and JSDatabaseCallback.h when database is
- enabled. This partially fixes building with --disable-database.
-
- * bindings/js/JSDOMWindowCustom.cpp: Add a check for database around
- database-related headers.
-
-2010-04-22 Ray Rischpater <Raymond.Rischpater@Nokia.com>
-
- Reviewed by Darin Adler.
-
- In HTMLInputElement.cpp, shouldUseInputMethod does not return true for
- some text input types (TELEPHONE, NUMBER, URL, and EMAIL). Addressed
- this by changing shouldUseInputMethod to use internal methods to
- check that the field is a text field that isn't a password field.
-
- No new tests.
-
- Fixes <https://bugs.webkit.org/show_bug.cgi?id=37719>
-
- * html/HTMLInputElement.cpp:
- (WebCore::HTMLInputElement::shouldUseInputMethod):
-
-2010-04-22 Yaar Schnitman <yaar@chromium.org>
-
- Reviewed by Adam Barth.
-
- Integrate v8 testing utility with webkit tests
- https://bugs.webkit.org/show_bug.cgi?id=37731
-
- * bindings/v8/test/run_tests.py: Removed.
-
-2010-04-22 Zhenyao Mo <zmo@google.com>
-
- Reviewed by Darin Fisher.
-
- Add isGLES2Compliant to GraphicsContext3D
- https://bugs.webkit.org/show_bug.cgi?id=37872
-
- * html/canvas/WebGLRenderingContext.cpp: Add isGLES2Compliant().
- (WebCore::WebGLRenderingContext::isGLES2Compliant):
- * html/canvas/WebGLRenderingContext.h: Ditto.
- * platform/graphics/GraphicsContext3D.h: Ditto.
- * platform/graphics/mac/GraphicsContext3DMac.cpp: Ditto.
- (WebCore::GraphicsContext3D::isGLES2Compliant):
-
-2010-04-22 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by Adam Barth.
-
- MD5 is required for WebSocket new protocol implementation
- https://bugs.webkit.org/show_bug.cgi?id=37913
-
- * ForwardingHeaders/wtf/MD5.h: Added.
-
-2010-04-22 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=38012
- REGRESSION: Ctrl- and Option- shortcuts get wrong keyCode on non-QWERTY keyboard
-
- * platform/mac/KeyEventMac.mm: (WebCore::windowsKeyCodeForKeyEvent): Also look at unmodified
- characters, to avoid falling through to virtual key code lookup for Roman characters.
-
-2010-04-22 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Darin Adler.
-
- Fix the MSVC 64bit build.
- https://bugs.webkit.org/show_bug.cgi?id=37980
-
- * platform/text/TextStream.cpp:
- * platform/text/TextStream.h:
- * plugins/win/PluginViewWin.cpp:
- (WebCore::PluginView::platformStart):
-
-2010-04-22 Dave Moore <davemoore@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Added notification when the favicons for a page are changed
- from a script.
- The Document object will notify the frame loader, which will
- notify the client. Implementations of FrameLoaderClient will
- have to add one method; dispatchDidChangeIcons().
-
- https://bugs.webkit.org/show_bug.cgi?id=33812
-
- Test: fast/dom/icon-url-property.html
-
- * dom/Document.cpp:
- (WebCore::Document::setIconURL):
- * loader/DocumentLoader.cpp:
- (WebCore::DocumentLoader::setIconURL):
- * loader/DocumentLoader.h:
- (WebCore::DocumentLoader::iconURL):
- * loader/EmptyClients.h:
- (WebCore::EmptyFrameLoaderClient::dispatchDidChangeIcons):
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::setIconURL):
- (WebCore::FrameLoader::didChangeIcons):
- * loader/FrameLoader.h:
- * loader/FrameLoaderClient.h:
-
-2010-04-22 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- [GTK] GObject DOM bindings
- https://bugs.webkit.org/show_bug.cgi?id=33590
-
- Extend the bindings to cover most of Document.idl
-
- * GNUmakefile.am:
- * bindings/gobject/WebKitDOMBinding.cpp:
- (WebKit::createWrapper):
- (WebKit::kit):
- * bindings/gobject/WebKitDOMBinding.h:
- * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp: Added.
- (WebKit::createAnchorWrapper):
- (WebKit::createAppletWrapper):
- (WebKit::createAreaWrapper):
- (WebKit::createBaseWrapper):
- (WebKit::createBaseFontWrapper):
- (WebKit::createBlockquoteWrapper):
- (WebKit::createBodyWrapper):
- (WebKit::createBRWrapper):
- (WebKit::createButtonWrapper):
- (WebKit::createCanvasWrapper):
- (WebKit::createTableCaptionWrapper):
- (WebKit::createTableColWrapper):
- (WebKit::createModWrapper):
- (WebKit::createDirectoryWrapper):
- (WebKit::createDivWrapper):
- (WebKit::createDListWrapper):
- (WebKit::createEmbedWrapper):
- (WebKit::createFieldSetWrapper):
- (WebKit::createFontWrapper):
- (WebKit::createFormWrapper):
- (WebKit::createFrameWrapper):
- (WebKit::createFrameSetWrapper):
- (WebKit::createHeadingWrapper):
- (WebKit::createHeadWrapper):
- (WebKit::createHRWrapper):
- (WebKit::createHtmlWrapper):
- (WebKit::createIFrameWrapper):
- (WebKit::createImageWrapper):
- (WebKit::createInputWrapper):
- (WebKit::createIsIndexWrapper):
- (WebKit::createLabelWrapper):
- (WebKit::createLegendWrapper):
- (WebKit::createLIWrapper):
- (WebKit::createLinkWrapper):
- (WebKit::createMapWrapper):
- (WebKit::createMarqueeWrapper):
- (WebKit::createMenuWrapper):
- (WebKit::createMetaWrapper):
- (WebKit::createObjectWrapper):
- (WebKit::createOListWrapper):
- (WebKit::createOptGroupWrapper):
- (WebKit::createOptionWrapper):
- (WebKit::createParagraphWrapper):
- (WebKit::createParamWrapper):
- (WebKit::createPreWrapper):
- (WebKit::createQuoteWrapper):
- (WebKit::createScriptWrapper):
- (WebKit::createSelectWrapper):
- (WebKit::createStyleWrapper):
- (WebKit::createTableWrapper):
- (WebKit::createTableSectionWrapper):
- (WebKit::createTableCellWrapper):
- (WebKit::createTextAreaWrapper):
- (WebKit::createTitleWrapper):
- (WebKit::createTableRowWrapper):
- (WebKit::createUListWrapper):
- (WebKit::createHTMLElementWrapper):
- * bindings/gobject/WebKitHTMLElementWrapperFactory.h: Added.
- * bindings/scripts/CodeGeneratorGObject.pm:
- * dom/Node.idl:
-
-2010-04-22 Eric Carlson <eric.carlson@apple.com>
-
- Reviewed by Simon Fraser.
-
- Do not pause movie when readyState drops below HAVE_FUTURE_DATA
- https://bugs.webkit.org/show_bug.cgi?id=37991
- <rdar://problem/7893937>
-
- No new tests, we don't have infrastructure in DRT to test with streamed
- movies.
-
- * html/HTMLMediaElement.cpp:
- (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_readyStateMaximum.
- (WebCore::HTMLMediaElement::prepareForLoad): Reset m_readyStateMaximum.
- (WebCore::HTMLMediaElement::setReadyState): Maintain m_readyStateMaximum.
- (WebCore::HTMLMediaElement::potentiallyPlaying): Also return true if the readyState was
- previously >= HAVE_FUTURE_DATA.
- * html/HTMLMediaElement.h:
-
-2010-04-22 Zhenyao Mo <zmo@google.com>
-
- Reviewed by Dimitri Glazkov.
-
- Regression: framebufferRenderbuffer crashes with null renderBuffer
- https://bugs.webkit.org/show_bug.cgi?id=37963
-
- * html/canvas/WebGLRenderingContext.cpp:
- (WebCore::WebGLRenderingContext::framebufferRenderbuffer): Dealing with null renderbuffer input.
-
-2010-04-22 Zhenyao Mo <zmo@google.com>
-
- Reviewed by Dimitri Glazkov.
-
- Emulate GL_IMPLEMENTATION_COLOR_READ_FORMAT/TYPE for glGet
- https://bugs.webkit.org/show_bug.cgi?id=37281
-
- * html/canvas/WebGLRenderingContext.cpp:
- (WebCore::WebGLRenderingContext::WebGLRenderingContext): Remove error check because two enums are supported now.
- (WebCore::WebGLRenderingContext::getParameter): Add two enums.
- (WebCore::WebGLRenderingContext::readPixels): Fix a tiny bug.
- * platform/graphics/mac/GraphicsContext3DMac.cpp:
- (WebCore::GraphicsContext3D::getIntegerv): Emulate two enums.
-
-2010-04-22 Diego Escalante Urrelo <descalante@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Mute/unmute button on <video> elements are backwards
- https://bugs.webkit.org/show_bug.cgi?id=33967
-
- Fix mute/unmute buttons icons-action relation and explain why their
- variable names and corresponding icons seem to be misleading but are
- actually right. Original patch by Mike Hommey.
-
- * platform/gtk/RenderThemeGtk.cpp:
- (WebCore::RenderThemeGtk::initMediaStyling):
-
-2010-04-22 Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
-
- Reviewed by Eric Seidel.
-
- Fix build if NPAPI support is disabled
- https://bugs.webkit.org/show_bug.cgi?id=36621
-
- No new tests, this is a build fix.
- Re-submit r58043 with fix for EFL.
-
- * plugins/PluginViewNone.cpp:
-
-2010-04-22 Diego Escalante Urrelo <descalante@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [Gtk] Evaluate and create tests for all the AtkRole's implemented by
- WebKitGtk
- https://bugs.webkit.org/show_bug.cgi?id=34449
-
- Implement ATK_ROLE_COMBO_BOX.
-
- * accessibility/gtk/AccessibilityObjectAtk.cpp:
- (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
- * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
- (atkRole):
-
-2010-04-22 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Reviewed by Dirk Schulze.
-
- SVGPaintServer needs to be converted to the new RenderSVGResource* system
- https://bugs.webkit.org/show_bug.cgi?id=37986
-
- No functional changes, just move the SVGPaintServer* classes from svg/graphics/ to rendering/, the new location for the RenderSVGResource* classes.
- This is a preparation for the real patch which follows soon.
-
- * Android.mk: Rename files and move to the right location.
- * GNUmakefile.am: Ditto.
- * WebCore.gypi: Ditto.
- * WebCore.pro: Ditto.
- * WebCore.vcproj/WebCore.vcproj: Ditto.
- * WebCore.xcodeproj/project.pbxproj: Ditto.
- * rendering/RenderSVGResource.cpp: Copied from svg/graphics/SVGPaintServer.cpp.
- * rendering/RenderSVGResourceGradient.cpp: Copied from svg/graphics/SVGPaintServerGradient.cpp.
- * rendering/RenderSVGResourceGradient.h: Copied from svg/graphics/SVGPaintServerGradient.h.
- * rendering/RenderSVGResourceLinearGradient.cpp: Copied from svg/graphics/SVGPaintServerLinearGradient.cpp.
- * rendering/RenderSVGResourceLinearGradient.h: Copied from svg/graphics/SVGPaintServerLinearGradient.h.
- * rendering/RenderSVGResourcePattern.cpp: Copied from svg/graphics/SVGPaintServerPattern.cpp.
- * rendering/RenderSVGResourcePattern.h: Copied from svg/graphics/SVGPaintServerPattern.h.
- * rendering/RenderSVGResourceRadialGradient.cpp: Copied from svg/graphics/SVGPaintServerRadialGradient.cpp.
- * rendering/RenderSVGResourceRadialGradient.h: Copied from svg/graphics/SVGPaintServerRadialGradient.h.
- * rendering/RenderSVGResourceSolidColor.cpp: Copied from svg/graphics/SVGPaintServerSolid.cpp.
- * rendering/RenderSVGResourceSolidColor.h: Copied from svg/graphics/SVGPaintServerSolid.h.
- * rendering/SVGRenderTreeAsText.cpp: Change include file names.
- * svg/SVGFont.cpp: Ditto.
- * svg/SVGGradientElement.cpp: Ditto.
- * svg/SVGGradientElement.h: Ditto.
- * svg/SVGLinearGradientElement.cpp: Ditto.
- * svg/SVGPatternElement.cpp: Ditto.
- * svg/SVGPatternElement.h: Ditto.
- * svg/SVGRadialGradientElement.cpp: Ditto.
- * svg/graphics/SVGPaintServer.cpp: Removed.
- * svg/graphics/SVGPaintServerGradient.cpp: Removed.
- * svg/graphics/SVGPaintServerGradient.h: Removed.
- * svg/graphics/SVGPaintServerLinearGradient.cpp: Removed.
- * svg/graphics/SVGPaintServerLinearGradient.h: Removed.
- * svg/graphics/SVGPaintServerPattern.cpp: Removed.
- * svg/graphics/SVGPaintServerPattern.h: Removed.
- * svg/graphics/SVGPaintServerRadialGradient.cpp: Removed.
- * svg/graphics/SVGPaintServerRadialGradient.h: Removed.
- * svg/graphics/SVGPaintServerSolid.cpp: Removed.
- * svg/graphics/SVGPaintServerSolid.h: Removed.
- * svg/graphics/SVGResourceListener.h: Removed.
-
-2010-04-22 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Hide the OpenGL and QtMultimedia dependencies from syncqt.
-
- This prevents the dependent headers from being included by
- qt/include/QtWebKit/QtWebKit
-
- * WebCore.pro:
-
-2010-04-22 Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
-
- Reviewed by Adam Roben.
-
- EFL does not support PluginDatabase yet.
- http://webkit.org/b/37854
-
- No behavior changes, so no new tests were added.
-
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::defaultObjectContentType):
-
-2010-04-22 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- Web Inspector: Timeline scrolling speed is slow if it has more than 1k timeline marks.
- https://bugs.webkit.org/show_bug.cgi?id=37924
+ (WebCore::InspectorController::removeProfile):
+ (WebCore::InspectorController::clearProfiles):
+ * inspector/InspectorController.h:
- * inspector/front-end/TimelineGrid.js:
- (WebInspector.TimelineGrid.prototype.updateDividers):
- (WebInspector.TimelineGrid.prototype.addEventDividers):
- * inspector/front-end/TimelineOverviewPane.js:
- (WebInspector.TimelineOverviewPane.prototype.updateEventDividers):
+ * inspector/front-end/AuditsPanel.js:
+ (WebInspector.AuditsPanel):
+ Use the 'clear-status-bar-item' class.
+ * inspector/front-end/ChangesView.js:
+ (WebInspector.ChangesView):
* inspector/front-end/TimelinePanel.js:
- (WebInspector.TimelinePanel.prototype._updateEventDividers):
- (WebInspector.TimelinePanel.prototype._refresh):
-
-2010-04-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Simon Fraser.
-
- Rename window.media to window.styleMedia
- https://bugs.webkit.org/show_bug.cgi?id=36187
-
- It has been defined that the AbstractView media extension
- defined in the CSSOM View spec should be renamed to styleMedia.
- This patch does that and updates the current layout tests
- making use of it.
-
- * page/AbstractView.idl:
- * page/DOMWindow.cpp:
- (WebCore::DOMWindow::styleMedia):
- * page/DOMWindow.h:
- * page/DOMWindow.idl:
-
-2010-04-22 Anton Muhin <antonm@chromium.org>
-
- Reviewed by Adam Barth.
-
- [v8] Do not pass empty handle into SetHiddenValue which would crash.
- https://bugs.webkit.org/show_bug.cgi?id=37801
-
- * bindings/v8/V8AbstractEventListener.cpp:
- (WebCore::V8AbstractEventListener::handleEvent): add couple of asserts to check for unexpected paths
- (WebCore::V8AbstractEventListener::invokeEventHandler): bail out of jsEvent is empty handle
-
-2010-04-22 Stephan Aßmus <superstippi@gmx.de>
-
- Reviewed by David Levin.
-
- [Haiku] Implement ImageBuffer support
- https://bugs.webkit.org/show_bug.cgi?id=35288
-
- Covered by existing tests.
-
- Complete implementation of ImageBuffer for Haiku. Uses StillImage
- class to export a WebCore::Image and associated GraphicsContext
- to perform arbitrary drawing in the offscreen BBitmap buffer.
-
- * platform/graphics/haiku/ImageBufferData.h:
- * platform/graphics/haiku/ImageBufferHaiku.cpp,
- (WebCore::ImageBufferData::ImageBufferData),
- (WebCore::ImageBufferData::~ImageBufferData),
- (WebCore::ImageBuffer::ImageBuffer),
- (WebCore::ImageBuffer::~ImageBuffer),
- (WebCore::ImageBuffer::context),
- (WebCore::ImageBuffer::image):
- Implementation uses offscreen BBitmap and BView, wraps StillImage
- around those to provide WebCore::Image interface.
- (WebCore::ImageBuffer::platformTransformColorSpace):
- (WebCore::convertFromData):
- Method just performs BGRA <-> RGBA conversion.
- (WebCore::convertFromInternalData):
- Method just performs BGRA <-> RGBA conversion and handles
- pre-multiplying the color values if requested.
- (WebCore::convertToInternalData):
- Method just performs BGRA <-> RGBA conversion and handles
- de.multiplying the color values if requested.
- (WebCore::getImageData):
- Common code for the next two methods.
- (WebCore::ImageBuffer::getUnmultipliedImageData),
- (WebCore::ImageBuffer::getPremultipliedImageData):
- Implemented.
- (WebCore::putImageData):
- Common code for the next two methods.
- (WebCore::ImageBuffer::putUnmultipliedImageData),
- (WebCore::ImageBuffer::putPremultipliedImageData):
- Implemented.
- (WebCore::ImageBuffer::toDataURL):
- Uses Haiku "Translation Kit" to convert image data to data
- of the requested mime type.
-
-2010-04-22 Adam Barth <abarth@webkit.org>
-
- Unreviewed, rolling out r58069.
- http://trac.webkit.org/changeset/58069
- https://bugs.webkit.org/show_bug.cgi?id=27751
-
- Broke compile on Windows.
-
- * WebCore.base.exp:
- * editing/EditorCommand.cpp:
- (WebCore::supportedPaste):
- (WebCore::createCommandMap):
- * page/Settings.cpp:
- (WebCore::Settings::Settings):
- * page/Settings.h:
-
-2010-04-22 Abhishek Arya <inferno@chromium.org>
-
- Reviewed by Adam Barth.
-
- Add support for controlling clipboard access from javascript.
- Clipboard access from javascript is disabled by default.
- https://bugs.webkit.org/show_bug.cgi?id=27751
-
- Test: editing/execCommand/clipboard-access.html
-
- * WebCore.base.exp:
- * editing/EditorCommand.cpp:
- (WebCore::supportedCopyCut):
- (WebCore::supportedPaste):
- (WebCore::createCommandMap):
- * page/Settings.cpp:
- (WebCore::Settings::Settings):
- (WebCore::Settings::setJavaScriptCanAccessClipboard):
- * page/Settings.h:
- (WebCore::Settings::javaScriptCanAccessClipboard):
-
-2010-04-22 Stephan Aßmus <superstippi@gmx.de>
-
- Reviewed by David Levin.
-
- [Haiku] Improve SimpleFontDataHaiku
- https://bugs.webkit.org/show_bug.cgi?id=37411
-
- Covered by existing tests.
-
- * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
- - Cleaned up includes
- - Removed prototype "charUnicodeToUTF8HACK"
- (WebCore::SimpleFontData::platformInit):
- - Use const BFont pointer
- (WebCore::SimpleFontData::smallCapsFontData):
- - "fontPlatformData" was leaked. It is only
- used as the key for the font cache lookup.
- (WebCore::SimpleFontData::platformMetricsForGlyph):
- - Use existing WebCore encoding infrastructure
- instead of adding a hack for Haiku.
-
-2010-04-21 Steve Block <steveblock@google.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Replace Geolocation::suspend()/resume() which are required by Android.
- https://bugs.webkit.org/show_bug.cgi?id=37942
-
- These methods were removed in Bug 36255.
-
- Build fix only, no new tests.
-
- * page/Geolocation.cpp:
- (WebCore::Geolocation::suspend):
- (WebCore::Geolocation::resume):
- * page/Geolocation.h:
-
-2010-04-21 Ray Rischpater <Raymond.Rischpater@Nokia.com>
-
- In HTMLInputElement.cpp there are numerous style
- violations.
-
- This patch includes style changes to fix existing style
- deviations in this file.
-
- Rubber stamped by Darin Adler.
-
- Fixes <https://bugs.webkit.org/show_bug.cgi?id=37881>
-
- * html/HTMLInputElement.cpp:
-
-2010-04-21 Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
-
- Reviewed by Adam Roben.
-
- Add missing EFL WebCore file.
- http://webkit.org/b/37854
-
- No behavior changes, so no new tests were added.
-
- * bindings/js/ScriptControllerEfl.cpp: Added.
- (WebCore::ScriptController::createScriptInstanceForWidget):
-
-2010-04-21 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Printing Core Animation-based plug-ins is broken
- https://bugs.webkit.org/show_bug.cgi?id=37967
-
- When we do a "flattening" paint because of printing, we need to stash
- the flattening flag in the FrameView's m_paintBehavior, because
- WebBaseNetscapePluginView needs to find it there to decide whether
- to grab a bitmap for printing, for CA plug-ins.
-
- * page/FrameView.cpp:
- (WebCore::FrameView::paintContents):
-
-2010-04-21 François Sausset <sausset@gmail.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Fix to take into account a change made in "StringImpl".
- https://bugs.webkit.org/show_bug.cgi?id=37763
-
- * mathml/RenderMathMLOperator.cpp:
- (WebCore::RenderMathMLOperator::updateFromElement):
-
-2010-04-21 Andy Estes <aestes@apple.com>
-
- Reviewed by Darin Adler.
-
- Create a template for creating reference-counted Windows GDI handles.
- Refactor RefCountedHFONT to use this template.
-
- https://bugs.webkit.org/show_bug.cgi?id=37952
-
- No change in behavior.
-
- * WebCore.vcproj/WebCore.vcproj: Add RefCountedHFONT.h
- * platform/graphics/cairo/FontPlatformData.h:
- (WebCore::FontPlatformData::hfont): Refactor to return m_hfont->handle() instead of m_hfont->hfont().
- * platform/graphics/cg/FontPlatformData.h:
- (WebCore::FontPlatformData::hfont): Same.
- * platform/graphics/win/FontPlatformDataCGWin.cpp:
- (WebCore::FontPlatformData::FontPlatformData): Instantiate m_hfont with a RefCountedGDIHandle<HFONT>.
- * platform/graphics/win/FontPlatformDataWin.cpp:
- (WebCore::FontPlatformData::FontPlatformData): Same.
- * platform/graphics/win/RefCountedGDIHandle.h: Added. Interface is identical to RefCountedHFONT with exception of renaming hfont() to handle().
- (WebCore::RefCountedGDIHandle::create):
- (WebCore::RefCountedGDIHandle::createDeleted):
- (WebCore::RefCountedGDIHandle::~RefCountedGDIHandle):
- (WebCore::RefCountedGDIHandle::handle): Return the GDI handle.
- (WebCore::RefCountedGDIHandle::hash):
- (WebCore::RefCountedGDIHandle::RefCountedGDIHandle):
- * platform/graphics/win/RefCountedHFONT.h: Removed.
-
-2010-04-21 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Darin Adler.
-
- Fix build if NPAPI support is disabled
- https://bugs.webkit.org/show_bug.cgi?id=36621
-
- No new tests, this is a build fix.
- Re-submit r56585 with fix for Chromium.
-
- * plugins/PluginView.cpp: Guard getValueStatic() with
- NETSCAPE_PLUGIN_API
- (WebCore::PluginView::getValue):
- * plugins/PluginView.h: Guard getValue() with NETSCAPE_PLUGIN_API
- * plugins/PluginViewNone.cpp: Guard platformGetValue() and
- platformGetValueStatic with NETSCAPE_PLUGIN_API;
- Guard privateBrowsingStateChanged() and setJavaScriptPaused() with
- PLATFORM(MAC) or PLATFORM(CHROMIUM)
-
-2010-04-21 David Yonge-Mallo <davinci@chromium.org>
-
- Reviewed by Dan Bernstein.
-
- ZWNJ - Display non-printing, invisible character
- https://bugs.webkit.org/show_bug.cgi?id=16131
-
- Fix the (non)display of glyphs for ZWJ and ZWNJ in simple font code path.
-
- Tests: fast/text/format-control.html
- fast/text/zero-width-characters.html
-
- * platform/graphics/Font.h:
- (WebCore::Font::operator!=):
- (WebCore::Font::treatAsZeroWidthSpace): treat ZWNJ and ZWJ as ZWSP.
- * platform/graphics/GlyphPageTreeNode.cpp:
- (WebCore::GlyphPageTreeNode::initializePage): added ZWNJ and ZWJ.
- * platform/text/CharacterNames.h: added ZWNJ and ZWJ.
-
-2010-04-21 Charles Wei <charles.wei@torchmobile.com.cn>
-
- Reviewed by George Staikos.
-
- Fix webkit build problem when xhtmlmp enabled, which is introduced by revision 57927, for
- bug fix of 37175 , which seperates DocumentWriter from FrameLoader
- https://bugs.webkit.org/show_bug.cgi?id=37915
-
- No new tests since this only fixes the build problem.
-
- * dom/Document.cpp:
- (WebCore::Document::isXHTMLMPDocument):
-
-2010-04-21 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Darin Adler.
-
- Call sites of TextIterator constructor are difficult to read
- https://bugs.webkit.org/show_bug.cgi?id=37909
-
- Now we use enum parameters instead of boolean parameters and
- boolean version of constructors are eliminated.
-
- This change also changes the names of boolean members so they are
- now third person singular.
-
- No new tests because this is just a refactoring.
-
- * WebCore.base.exp:
- * editing/TextIterator.cpp:
- (WebCore::TextIterator::TextIterator):
- (WebCore::TextIterator::advance):
- (WebCore::TextIterator::handleReplacedElement):
- (WebCore::TextIterator::shouldRepresentNodeOffsetZero):
- (WebCore::TextIterator::shouldEmitSpaceBeforeAndAfterNode):
- (WebCore::TextIterator::handleNonTextNode):
- (WebCore::TextIterator::exitNode):
- (WebCore::TextIterator::emitCharacter):
- (WebCore::TextIterator::emitText):
- (WebCore::CharacterIterator::CharacterIterator):
- (WebCore::TextIterator::rangeLength):
- (WebCore::TextIterator::rangeFromLocationAndLength):
- (WebCore::findPlainText):
- * editing/TextIterator.h:
- (WebCore::):
- * editing/VisibleSelection.cpp:
- (WebCore::VisibleSelection::appendTrailingWhitespace):
- * editing/visible_units.cpp:
- (WebCore::nextBoundary):
-
-2010-04-21 Jesus Sanchez-Palencia <jesus@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Add PageClientQt files.
-
- [Qt] PageClientQt specific implementation for QWidget
- https://bugs.webkit.org/show_bug.cgi?id=37858
-
- * WebCore.pro:
-
-2010-04-21 Diego Escalante Urrelo <descalante@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [Gtk] Evaluate and create tests for all the AtkRole's implemented by
- WebKitGtk
- https://bugs.webkit.org/show_bug.cgi?id=34449
-
- Implement ATK_ROLE_SEPARATOR.
-
- * accessibility/AccessibilityRenderObject.cpp:
- (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
- * accessibility/gtk/AccessibilityObjectAtk.cpp:
- (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
-
-2010-04-21 David Leong <david.leong@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Symbian apps crash on exit due to a bad qObject_cast.
-
- https://bugs.webkit.org/show_bug.cgi?id=37303
-
- Added check for NULL to avoid the crash. Reworked to fix memory leak
-
- * plugins/symbian/PluginViewSymbian.cpp:
- (WebCore::PluginView::platformDestroy):
-
-2009-04-21 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- aria-liveregion-notifications.html fails on leopard release bot
- https://bugs.webkit.org/show_bug.cgi?id=37112
-
- Change the method that DRT uses to monitor AX notifications so that its robust
- by just sending out NSNotification that can be listened to by anyone, instead
- of keeping a static function pointer around.
-
- This change is aimed to avoid flakiness seen in DRT when the notification handlers
- are not being called at the appropriate time.
-
- Tests: platform/mac/accessibility/aria-liveregions-addedelement.html
- platform/mac/accessibility/aria-liveregions-changedalt.html
- platform/mac/accessibility/aria-liveregions-changedtext.html
- platform/mac/accessibility/aria-liveregions-removedelement.html
-
- * accessibility/mac/AccessibilityObjectWrapper.h:
- * accessibility/mac/AccessibilityObjectWrapper.mm:
- (-[AccessibilityObjectWrapper accessibilitySetShouldRepostNotifications:]):
- (-[AccessibilityObjectWrapper accessibilityPostedNotification:]):
-
-2010-04-21 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (Leopard build fix).
- Remove old exports.
-
- * WebCore.base.exp:
-
-2010-04-21 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Darin Adler.
-
- Bug 37949 - Do no copy strings into a shared buffer when converting UStrings to Strings
- UString and String now have the same internal representation; Just re-wrap the internal impl.
-
- * bindings/js/JSDOMBinding.cpp:
- (WebCore::jsStringSlowCase):
- * bindings/js/JSDOMBinding.h:
- (WebCore::ustringToString):
- (WebCore::stringToUString):
- (WebCore::identifierToString):
- (WebCore::ustringToAtomicString):
- (WebCore::identifierToAtomicString):
-
-2010-04-21 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Eric Carlson.
-
- <rdar://problem/7313430> Many crashes in Safari inside Flip4Mac below -[NSAlert didEndAlert:returnCode:contextInfo:]
-
- A manual test case is required here as the Flip4Mac plug-in displays an alert, and some manual tweaking of the plug-in's
- preference file on disk is often required to reproduce the bug.
-
- * manual-tests/plugins/flip4mac-update-alert-over-navigation.html: Added.
-
-2010-04-21 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- <rdar://problem/7856151> REGRESSION: NPP_Destroy is not called when page navigates when plug-in is displaying modal dialog
-
- This is a manual test case as I was not able to construct an automated test that reproduced the same issue without displaying
- a modal dialog on-screen.
-
- * manual-tests/plugins/timeout-dialog-displayed-over-navigation.html: Added.
- * manual-tests/plugins/timeout-dialog-displayed-over-navigation.swf: Added.
-
-2010-04-21 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=37937
- Wean JavaScriptCore off calls to isMainThread()
-
- No change in behavior.
-
- * bindings/js/JSDOMWindowBase.cpp:
- (WebCore::JSDOMWindowBase::commonJSGlobalData):
- Explicitly set a large stack type for the common JSGlobalData and
- set the currently running thread as the exclusive thread for its
- execution.
-
- * bindings/js/WorkerScriptController.cpp:
- (WebCore::WorkerScriptController::WorkerScriptController):
- Explicitly set a small stack type for the workers JSGlobalData.
-
-2010-04-21 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (Qt build fix).
-
- * WebCore.gypi:
- * WebCore.pro:
- * platform/text/qt/StringQt.cpp: Removed.
-
-2010-04-20 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt, Darin Adler.
-
- Bug 37906 - Remove JSC::UStringImpl; unify with StringImpl.
- Add include for StringHash.h.
-
- * WebCore.xcodeproj/project.pbxproj:
- * bridge/c/c_class.cpp:
-
-2010-04-21 Alexey Proskuryakov <ap@apple.com>
-
- Tiger build fix.
-
- * platform/network/mac/ResourceHandleMac.mm:
- (WebCore::createNSURLConnection): Fixed a typo, named an argument.
- (WebCore::ResourceHandle::start): Moved shouldUseCredentialStorage out of #if, since it's
- now passed to createNSURLConneciton() on all platforms (and then ignored on Tiger).
-
-2010-04-21 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Adam Roben.
-
- Windows build fix.
-
- * platform/network/cf/ResourceHandleCFNet.cpp: Declare CFURLConnectionCreateWithProperties
- for now, as it's mistakenly missing from WebKitSupportLibrary headers.
-
-2010-04-21 Dimitri Glazkov <dglazkov@chromium.org>
-
- Reviewed by Darin Adler.
-
- REGRESSION(r57292): Safari/Win and Chromium/Win no longer pass the acid3 test.
- https://bugs.webkit.org/show_bug.cgi?id=37902
-
- The issue is due to MSVC creating enums as signed. The fix is to store the value
- as unsigned.
-
- Test: http://acid3.acidtests.org/
-
- * rendering/style/RenderStyle.h:
- (WebCore::InheritedFlags): Changed type of _insideLink to unsigned.
-
-2010-04-21 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Brady Eidson.
-
- https://bugs.webkit.org/show_bug.cgi?id=37933
- <rdar://problem/7719540> XMLHttpRequest.withCredentials should be better enforced.
-
- Test: http/tests/xmlhttprequest/cross-origin-authorization-with-embedder.html
-
- This improves integration between ResourceHandle and Apple networking libraries.
-
- * platform/network/cf/ResourceHandleCFNet.cpp:
- (WebCore::createConnectionProperties): A new helper for creating connection properties dictionary.
- (WebCore::ResourceHandle::start): Pass connection properties.
- (WebCore::WebCoreSynchronousLoader::load): Ditto.
-
- * platform/network/mac/ResourceHandleMac.mm:
- (WebCore::createNSURLConnection): Factor out OS version dependent code for creating
- NSURLConnection. Tell NSURLConnection about credential policy upfront.
- (WebCore::ResourceHandle::start): Use the new function.
- (+[WebCoreSynchronousLoader loadRequest:allowStoredCredentials:returningResponse:error:]): Ditto.
-
-2010-04-21 Xiaomei Ji <xji@chromium.org>
-
- Reviewed by Dimitri Glazkov
-
- This patch fixes [chromium] RTL <select> dropdown box expands to right
- instead of left.
- https://bugs.webkit.org/show_bug.cgi?id=37232
-
- No automatic test is possible.
-
- * manual-tests/select_dropdown_box_alignment.html: Added.
- * platform/chromium/PopupMenuChromium.cpp:
- (WebCore::PopupContainer::layout): Adjust the x-axis of dropdown box
- for RTL.
-
-2010-04-21 anton muhin <antonm@google.com>
-
- Reviewed by Adam Barth.
-
- [v8] Bail out if fetching of Object.prototype fails.
- https://bugs.webkit.org/show_bug.cgi?id=37661
-
- If for any reason we failed to fetch Object.prototype, context cannot
- be properly initialized and we bail out.
-
- * bindings/v8/V8DOMWindowShell.cpp:
- (WebCore::V8DOMWindowShell::initContextIfNeeded): bail out if installHiddenObjectPrototype failed
- (WebCore::V8DOMWindowShell::installHiddenObjectPrototype): bail out if failed to fetch Object.prototype
- * bindings/v8/V8DOMWindowShell.h: return false if installHiddenObjectPrototype failed
-
-2010-04-21 Timothy Hatcher <timothy@apple.com>
-
- Make UserContentURLPattern correctly check for subdomains and the URL
- has the same suffix as the pattern. Also improve the parsing of the host.
-
- https://bugs.webkit.org/show_bug.cgi?id=37357
-
- Reviewed by Darin Adler.
-
- * page/UserContentURLPattern.cpp:
- (WebCore::UserContentURLPattern::parse): Simplify the subdomain pattern parsing to
- simply check for "*" only or a "*." prefix and then do a substring.
- (WebCore::UserContentURLPattern::matchesHost): Check that the host has a "." in the
- position before the suffix to ensure it a subdomain and not just a suffix match.
-
-2010-04-21 Xan Lopez <xlopez@igalia.com>
-
- Try to fix compilation on GTK+ debug bots.
-
- * bindings/gobject/WebKitDOMBinding.cpp:
- (WebKit::createWrapper):
-
-2010-04-21 Jakub Wieczorek <jwieczorek@webkit.org>
-
- Reviewed by Darin Adler.
-
- List item markers are not always updated after changes in the DOM.
- https://bugs.webkit.org/show_bug.cgi?id=37060
-
- In particular, they would not be updated when adding/removing an item
- that is not a direct child of the list element.
-
- Tests: fast/lists/ol-nested-items-dynamic-insert.html
- fast/lists/ol-nested-items-dynamic-remove.html
- fast/lists/ol-nested-items.html
- fast/lists/ol-nested-list-dynamic-insert.html
- fast/lists/ol-nested-list-dynamic-remove.html
- fast/lists/ol-nested-list.html
-
- * rendering/RenderListItem.cpp:
- (WebCore::updateListMarkerNumbers): Change it to traverse the whole subtree of a list, not only siblings of an item.
- * rendering/RenderListItem.h:
- * rendering/RenderObject.cpp: Move the updateListMarkerNumbers function to RenderListItem.cpp.
- (WebCore::RenderObject::addChild): Move the code updating list markers to RenderObjectChildList for consistency.
- * rendering/RenderObjectChildList.cpp: Move the updateListMarkerNumbers function to RenderListItem.cpp.
- (WebCore::RenderObjectChildList::removeChildNode): Pass the actual node being removed, not the next sibling.
- (WebCore::RenderObjectChildList::appendChildNode): Pass the actual node being added, not the next sibling.
- (WebCore::RenderObjectChildList::insertChildNode): Pass the actual node being added, not the next sibling.
- * rendering/RenderTreeAsText.cpp:
- (WebCore::markerTextForListItem):
-
-2010-04-21 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Adam Barth.
-
- [GTK] GObject DOM bindings
- https://bugs.webkit.org/show_bug.cgi?id=33590
-
- Initial version of the GObject DOM bindings.
-
- Only bindings for Node.idl and a few of its dependencies are
- provided, without public API to access them at the
- moment. References to the Document interfaces and to
- EventListeners in Node.idl are ignored for GObject to make the
- initial patch as small as possible, but will be enabled in a
- follow-up patch.
-
- * GNUmakefile.am:
- * bindings/gobject/ConvertToUTF8String.cpp: Added.
- (convertToUTF8String):
- * bindings/gobject/ConvertToUTF8String.h: Added.
- * bindings/gobject/WebKitDOMBinding.cpp: Added.
- (WebKit::domObjects):
- (WebKit::DOMObjectCache::get):
- (WebKit::DOMObjectCache::put):
- (WebKit::DOMObjectCache::forget):
- (WebKit::createWrapper):
- (WebKit::kit):
- * bindings/gobject/WebKitDOMBinding.h: Added.
- * bindings/gobject/WebKitDOMObject.cpp: Added.
- (webkit_dom_object_init):
- (webkit_dom_object_class_init):
- * bindings/gobject/WebKitDOMObject.h: Added.
- * bindings/scripts/CodeGeneratorGObject.pm: Added.
- * bindings/scripts/gobject-generate-headers.pl: Added.
- * dom/Node.idl:
-
-2010-04-21 Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
-
- Reviewed by Xan Lopez.
-
- Wrong header being included in FontPlatformDataCairo.cpp
- https://bugs.webkit.org/show_bug.cgi?id=37829
-
- No behavior changes, so no new tests were added.
-
- * platform/graphics/cairo/FontPlatformDataCairo.cpp:
-
-2010-04-21 Adam Roben <aroben@apple.com>
-
- Fix leaks of FilterData/SVGFilterBuilder in RenderSVGResourceFilter
-
- Fixes <http://webkit.org/b/37922>.
-
- Reviewed by Dave Hyatt.
-
- * rendering/RenderSVGResourceFilter.cpp:
- (WebCore::RenderSVGResourceFilter::applyResource): Use an OwnPtr to
- hold the heap-allocated FilterData object, so that we won't leak it
- when we bail out of this function on error.
-
-2010-04-21 Zoltan Herczeg <zherczeg@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] startAnimation() is not needed to preceede nativeImageForCurrentFrame()
- https://bugs.webkit.org/show_bug.cgi?id=37844
-
- nativeImageForCurrentFrame() resets the m_decoder parameter under Qt,
- which is required by startAnimation() to detect frame and repetition counts.
- Hence, Image::drawTiled cannot start animations under Qt:
- <html><body background="animated.gif"></body></html> does not work
-
- * platform/graphics/qt/ImageDecoderQt.cpp:
- (WebCore::ImageDecoderQt::internalHandleCurrentImage):
-
-2010-04-21 Benjamin Poulain <ikipou@gmail.com>
-
- Reviewed by Simon Fraser.
-
- Update of fixed elements is not made correctly when the page has been scrolled
- https://bugs.webkit.org/show_bug.cgi?id=36783
-
- When a fixed element was updated, the old geometry was not repainted correctly
- because the repaint rect was cached during the layout and not updated when
- scrolling.
-
- The rect is now updated while scrolling so the region updated correspond to the
- region of the element on the screen.
-
- The method RenderLayer::updateRepaintRectsAfterScroll() updates
- the repaint rect of all fixed tree after scroll.
-
- Tests: fast/repaint/fixed-child-move-after-scroll.html
- fast/repaint/fixed-child-of-fixed-move-after-scroll.html
- fast/repaint/fixed-child-of-transformed-move-after-scroll.html
- fast/repaint/fixed-move-after-scroll.html
-
- * page/FrameView.cpp:
- (WebCore::FrameView::scrollPositionChanged):
- * rendering/RenderLayer.cpp:
- (WebCore::RenderLayer::updateRepaintRectsAfterScroll):
- * rendering/RenderLayer.h:
-
-2010-04-21 Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
-
- Reviewed by Adam Roben.
-
- Update EFL port to match recent API changes.
- http://webkit.org/b/37853
-
- No behavior changes, so no new tests were added.
-
- * platform/efl/FileSystemEfl.cpp:
- * platform/efl/LocalizedStringsEfl.cpp:
- (WebCore::missingPluginText):
- (WebCore::crashedPluginText):
- * platform/efl/MIMETypeRegistryEfl.cpp:
- (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
- * platform/graphics/efl/ImageEfl.cpp:
-
-2010-04-21 Avi Drissman <avi@chromium.org>
-
- Reviewed by Simon Fraser.
-
- JPG images fail to print in Chromium
- https://bugs.webkit.org/show_bug.cgi?id=37796
-
- Image sources of JPG data with final=false fail to draw into PDF contexts even if later updated (<rdar://problem/7874035>). Therefore, destroy and re-create the image source when the final data arrives.
-
- * platform/graphics/cg/ImageSourceCG.cpp:
- (WebCore::ImageSource::setData):
-
-2010-04-21 Marcus Bulach <bulach@chromium.org>
-
- Reviewed by Nate Chapin.
-
- EventSource needs to be marked as an ActiveDomType.
- https://bugs.webkit.org/show_bug.cgi?id=37857
- Existing layout tests (fast/eventsource and http/tests/eventsource/) should pass when compiling with eventsource enabled.
-
- * bindings/scripts/CodeGeneratorV8.pm:
- * bindings/v8/V8DOMWrapper.cpp:
- * bindings/v8/custom/V8EventSourceConstructor.cpp:
- (WebCore::V8EventSource::constructorCallback):
-
-2010-04-21 Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
-
- Reviewed by Nikolas Zimmermann.
-
- Add missing includes to platform/posix/FileSystemPOSIX.cpp
- https://bugs.webkit.org/show_bug.cgi?id=37861
-
- No behavior changes, so no new tests were added.
-
- * platform/posix/FileSystemPOSIX.cpp:
-
-2010-04-21 No'am Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Simon Fraser.
-
- [Qt] Fix or remove the runtime flag for accelerated compositing.
-
- This adds a way for a chrome client to disallow layers from becoming composited,
- even if the settings enable accelerated compositing. This is necessary for platforms
- where different views can be applied with the same settings to the same page.
-
- We enable an API through ChromeClient to ask the chrome-client whether or not
- it can render composited layers, which is taken into account when the compositor
- decides whether or not to start compositing.
-
- https://bugs.webkit.org/show_bug.cgi?id=37313
-
- Pages under LayoutTests/compositing now work under QWebView, even when
- QWebSettings::AcceleratedCompositingEnabled is on.
-
- * page/ChromeClient.h:
- (WebCore::ChromeClient::allowsAcceleratedCompositing):
- * platform/qt/QWebPageClient.h:
- (QWebPageClient::allowsAcceleratedCompositing):
- * rendering/RenderLayerCompositor.cpp:
- (WebCore::RenderLayerCompositor::canBeComposited):
-
-2010-04-21 Ryosuke Niwa <rniwa@webkit.org>
-
- No review. Spurious whitespace was removed from project file.
-
- * WebCore.xcodeproj/project.pbxproj:
-
-2010-04-20 Ryosuke Niwa <rniwa@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [Qt] Build fix: warning on L933 of CompositeEditCommand.cpp
- https://bugs.webkit.org/show_bug.cgi?id=37912
-
- Replaced the ternary operator by an if statement because GCC was confused by the use of
- ternary operator and producing warnings on Qt builds.
-
- * WebCore.xcodeproj/project.pbxproj:
- * editing/CompositeEditCommand.cpp:
- (WebCore::CompositeEditCommand::moveParagraphs):
-
-2010-04-20 Ryosuke Niwa <rniwa@webkit.org>
-
- Reviewed by Justin Garcia.
-
- Nested <ul>s are mishandled when converted to <ol> using execCommand('insertorderedlist')
- https://bugs.webkit.org/show_bug.cgi?id=19539
+ (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
+ * inspector/front-end/audits.css:
+ * inspector/front-end/inspector.css:
+ (.clear-status-bar-item .glyph):
+ * inspector/front-end/inspector.html:
- Fixes a bug where two consecutive lists are not merged if they have been converted
- from ordered/unordered lists inside another list.
+ * inspector/front-end/ElementsTreeOutline.js:
+ Replace the keyDown handler on the Outline with specific methods to
+ handle delete and enter on the TreeElements.
+ (WebInspector.ElementsTreeOutline):
+ (WebInspector.ElementsTreeOutline.prototype.get editing):
+ Return whether or not an element in the tree is currently being edited.
+ (WebInspector.ElementsTreeElement.prototype.ondelete):
+ (WebInspector.ElementsTreeElement.prototype.onenter):
- The bug was caused by InsertListCommand::doApply where it did not merge a newly inserted
- list element and its neighbors. This patch adds code to doApply so that after inserting
- the list element, it updates previousList and nextList to the outermost list elements around
- insertionPos under the same enclosing list. Because the next and the previous list elements
- are not necessarily visually next to the newly inserted element before moveParagraph moves
- the paragraph into the new list element, doApply merges lists after moveParagraph is called.
+ * inspector/front-end/Panel.js:
+ (WebInspector.Panel.prototype.createSidebar):
+ Make the TreeOutline for a Panel's sidebar aware of its enclosing Panel.
- Test: editing/execCommand/insert-lists-inside-another-list.html
+ * inspector/front-end/ProfilesPanel.js:
+ (WebInspector.ProfilesPanel):
+ Add the clear button.
+ (WebInspector.ProfilesPanel.prototype.get statusBarItems):
+ (WebInspector.ProfilesPanel.prototype._clearProfiles):
+ Remove the profiles from the backend, the reset the frontend interface.
+ (WebInspector.ProfilesPanel.prototype.removeProfileHeader):
+ Remove the profile from both the frontend and the backend, and clear the
+ view when the last profile is removed.
+ (WebInspector.ProfilesPanel.prototype._updateInterface):
+ Hide the clear button when profiling is disabled.
+ (WebInspector.ProfileSidebarTreeElement.prototype.onselect):
+ Replace access to global variable with reference to the Panel held by the
+ TreeOutline.
+ (WebInspector.ProfileSidebarTreeElement.prototype.ondelete):
+ Remove the profile corresponding the tree element when the user deletes
+ that tree element.
- * editing/InsertListCommand.cpp:
- (WebCore::InsertListCommand::doApply): Modified as described above
- * editing/htmlediting.cpp:
- (WebCore::outermostEnclosingList): Added rootNode. Returns the outermost list element,
- which is a descendent of rootNode.
- * editing/htmlediting.h:
+ * inspector/front-end/treeoutline.js:
+ (TreeOutline.prototype._treeKeyDown):
+ Allow the selected tree element to handle the user pressing a delete
+ key or enter key.
-2010-04-20 Alexey Proskuryakov <ap@apple.com>
+2010-05-29 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Reviewed by Darin Adler.
- https://bugs.webkit.org/show_bug.cgi?id=37776
- <rdar://problem/7877716> REGRESSION: When using dvorak, keydown/keyup reports qwerty keyCodes
-
- * platform/cocoa/KeyEventCocoa.mm: (WebCore::windowsKeyCodeForCharCode): Re-added mapping
- for Roman letters and punctuation.
-
- * platform/mac/KeyEventMac.mm: (WebCore::windowsKeyCodeForKeyEvent): Improved approximation
- of IE behavior. Keyboard layouts that change location of Roman letters (like AZERTY or Dvorak)
- also switch their keycodes. Also, restored Safari 4 behavior for punctuation. It's difficult
- to match Windows for punctuation exactly, because keyboard layouts make arbitrary changes
- to their keycodes.
-
-2010-04-20 Shinichiro Hamaji <hamaji@chromium.org>
+ Check if a CC environment variable is defined before hard-coding gcc's
+ path. Simply hard-coding it breaks cross-compilation and Linux
+ distributions with more than one gcc installed (or not in the default
+ path).
+ https://bugs.webkit.org/show_bug.cgi?id=35551
- Reviewed by Darin Adler and Alexey Proskuryakov.
-
- A backslash in EUC-JP becomes to a yen sign when it is copied
- https://bugs.webkit.org/show_bug.cgi?id=36419
-
- Tests: editing/execCommand/transpose-backslash-with-euc.html
- editing/pasteboard/copy-backslash-with-euc.html
-
- * editing/Editor.cpp: Remove an unnecessary displayStringModifiedByEncoding calls.
- (WebCore::Editor::addToKillRing):
- * editing/TextIterator.cpp: TextIterator can use RenderText::textWithoutTranscoding and now plainText() uses this version
- (WebCore::TextIterator::TextIterator):
- (WebCore::TextIterator::init):
- (WebCore::TextIterator::emitText):
- (WebCore::plainTextToMallocAllocatedBuffer):
- * editing/TextIterator.h:
- (WebCore::):
- * platform/mac/PasteboardMac.mm: Remove an unnecessary displayStringModifiedByEncoding call.
- (WebCore::Pasteboard::writeSelection):
- * platform/text/TextEncoding.h: Make backslashAsCurrencySymbol public.
- * rendering/RenderText.cpp: Add RenderText::textWithoutTranscoding
- (WebCore::RenderText::RenderText):
- (WebCore::RenderText::updateNeedsTranscoding):
- (WebCore::RenderText::styleDidChange):
- (WebCore::isInlineFlowOrEmptyText):
- (WebCore::RenderText::previousCharacter):
- (WebCore::RenderText::setTextInternal):
- (WebCore::RenderText::textWithoutTranscoding):
- (WebCore::RenderText::transformText):
- * rendering/RenderText.h:
- * rendering/RenderTextControl.cpp: Remove an unnecessary displayStringModifiedByEncoding call.
- (WebCore::RenderTextControl::setInnerTextValue):
- (WebCore::RenderTextControl::finishText):
- * rendering/RenderTextFragment.cpp:
- (WebCore::RenderTextFragment::previousCharacter):
- * rendering/RenderTextFragment.h:
-
-2010-04-20 Nate Chapin <japhet@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- https://bugs.webkit.org/show_bug.cgi?id=37367
-
- Fix style violations in code generated by CodeGeneratorV8.pm.
-
- * bindings/scripts/CodeGeneratorV8.pm:
- * bindings/v8/test/V8TestObj.cpp:
- * bindings/v8/test/V8TestObj.h:
-
-2010-04-20 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r57924.
- http://trac.webkit.org/changeset/57924
- https://bugs.webkit.org/show_bug.cgi?id=37898
-
- It broke 3-4 test on all bot (Requested by Ossy on #webkit).
-
- * page/AbstractView.idl:
- * page/DOMWindow.cpp:
- (WebCore::DOMWindow::media):
- * page/DOMWindow.h:
- * page/DOMWindow.idl:
-
-2010-04-20 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Bug 37895 - Share common code from UStringImplBase with StringImpl
- Add forwarding header.
-
- * ForwardingHeaders/wtf/text/StringImplBase.h: Added.
-
-2010-04-20 Adam Barth <abarth@webkit.org>
-
- Unreviewed build fix fro Chromium.
+ No new functionality, so no new tests.
- * loader/DocumentWriter.cpp:
+ * bindings/scripts/CodeGeneratorObjC.pm:
+ * bindings/scripts/IDLParser.pm:
+ * dom/make_names.pl:
-2010-04-20 Pavel Feldman <pfeldman@chromium.org>
+2010-05-29 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
- Web Inspector: Support live edit while on a breakpoint, preserve breakpoints when adding new lines.
-
- https://bugs.webkit.org/show_bug.cgi?id=37820
-
- * inspector/front-end/ScriptsPanel.js:
- (WebInspector.ScriptsPanel.prototype.editScriptLine.mycallback):
- (WebInspector.ScriptsPanel.prototype.editScriptLine):
- * inspector/front-end/TextViewer.js:
- (WebInspector.TextViewer.prototype._handleDoubleClick):
- (WebInspector.TextViewer.prototype._cancelEditingLine):
-
-2010-04-20 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Factor DocumentWriter out of FrameLoader
- https://bugs.webkit.org/show_bug.cgi?id=37175
+ Web Inspector: [REGRESSION] caller locations are not shown on Timeline Panel.
- This patch separates the begin/write/end cycle of decoding network
- bytes and putting them into a document from the rest of the loading
- machinery. The code and state required to write bytes into a document
- doesn't interact very much with the rest of the loading machinery.
+ https://bugs.webkit.org/show_bug.cgi?id=39923
- No tests because there is no behavior change (hopefully!).
-
- * Android.mk:
- * GNUmakefile.am:
- * WebCore.base.exp:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/ScriptControllerBase.cpp:
- (WebCore::ScriptController::executeIfJavaScriptURL):
- * dom/Document.cpp:
- (WebCore::Document::close):
- * dom/ProcessingInstruction.cpp:
- (WebCore::ProcessingInstruction::checkStyleSheet):
- * dom/ScriptElement.cpp:
- (WebCore::ScriptElementData::scriptCharset):
- * html/HTMLLinkElement.cpp:
- (WebCore::HTMLLinkElement::process):
- * loader/DocLoader.cpp:
- (WebCore::DocLoader::requestPreload):
- * loader/DocumentLoader.cpp:
- (WebCore::DocumentLoader::finishedLoading):
- (WebCore::DocumentLoader::setupForReplaceByMIMEType):
- * loader/DocumentWriter.cpp: Added.
- * loader/DocumentWriter.h: Added.
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::FrameLoader):
- (WebCore::FrameLoader::init):
- (WebCore::FrameLoader::clear):
- (WebCore::FrameLoader::receivedFirstData):
- (WebCore::FrameLoader::setURL):
- (WebCore::FrameLoader::didBeginDocument):
- (WebCore::FrameLoader::didEndDocument):
- (WebCore::FrameLoader::willSetEncoding):
- (WebCore::FrameLoader::addData):
- (WebCore::FrameLoader::transitionToCommitted):
- (WebCore::FrameLoader::open):
- (WebCore::FrameLoader::finishedLoadingDocument):
- (WebCore::FrameLoader::addExtraFieldsToRequest):
- * loader/FrameLoader.h:
- (WebCore::FrameLoader::writer):
- (WebCore::FrameLoader::isDisplayingInitialEmptyDocument):
- * loader/MediaDocument.cpp:
- (WebCore::MediaDocument::replaceMediaElementTimerFired):
- * loader/PluginDocument.cpp:
- (WebCore::PluginTokenizer::createDocumentStructure):
- * platform/network/FormDataBuilder.cpp:
- (WebCore::FormDataBuilder::dataEncoding):
- * svg/graphics/SVGImage.cpp:
- (WebCore::SVGImage::dataChanged):
-
-2010-04-20 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Simon Fraser.
-
- Rename window.media to window.styleMedia
- https://bugs.webkit.org/show_bug.cgi?id=36187
-
- It has been defined that the AbstractView media extension
- defined in the CSSOM View spec should be renamed to styleMedia.
- This patch does that and updates the current layout tests
- making use of it.
-
- * page/AbstractView.idl:
- * page/DOMWindow.cpp:
- (WebCore::DOMWindow::styleMedia):
- * page/DOMWindow.h:
- * page/DOMWindow.idl:
-
-2010-04-20 Timothy Hatcher <timothy@apple.com>
-
- Fix matching of "file:///*" patterns by not trying to compare the host. The host is
- irrelevant for file URLs.
-
- Also fix comparisons to be case insensitive.
-
- https://bugs.webkit.org/show_bug.cgi?id=37889
-
- Reviewed by Dave Hyatt.
-
- * page/UserContentURLPattern.cpp:
- (WebCore::UserContentURLPattern::parse): Use equalIgnoringCase when comparing for "file" schemes.
- (WebCore::UserContentURLPattern::matches): Use equalIgnoringCase when comparing schemes. Only call
- matchesHost if the scheme isn't "file".
- (WebCore::UserContentURLPattern::matchesHost): Call equalIgnoringCase when comparing hosts. The endsWith
- was already doing a case-insensitive compare, so existing tests worked though this path.
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel.FormattedRecord):
+ (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
+ (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
-2010-04-20 Justin Schuh <jschuh@chromium.org>
+2010-05-29 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
- Invalid cast due to <video> inside <foreignObject> inside <svg> inside <img>
- https://bugs.webkit.org/show_bug.cgi?id=37331
-
- Added a setting to enable/disable media per-page and have the SVGImage
- disable media for its dummy page. Also found and fixed a related bad
- cast in the V8 bindings (JSC had a custom wrapper for this already).
-
- Tests: media/svg-as-image-with-media-blocked.html
-
- * dom/make_names.pl: Added media enabled check and V8 cast wrapper
- * page/Settings.cpp: Added m_isMediaEnabled (defaults to true)
- (WebCore::Settings::Settings):
- (WebCore::Settings::setMediaEnabled):
- * page/Settings.h:
- (WebCore::Settings::isMediaEnabled):
- * svg/graphics/SVGImage.cpp: Disables media in dummy page
- (WebCore::SVGImage::dataChanged):
-
-2010-04-19 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Simon Fraser.
-
- Spatial Navigation: at @updateFocusCandidateIfCloser make an assignment shortcut when FocusCandidate is null
- https://bugs.webkit.org/show_bug.cgi?id=37802
-
- In updateFocusCandidateIfCloser method, we do all bail out checks in the begining of
- the method body. If after those bail out checks, no "best FocusCandidate" has been taken
- yet (i.e. focusCandidate.isNull() == true), we can safely take the current candidate,
- and exit earlier.
-
- No behavior change, it is just a safe assignment shortcut.
-
- * page/FocusController.cpp:
- (WebCore::updateFocusCandidateIfCloser):
-
-2010-04-20 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Hook compositing layers together across iframes
- https://bugs.webkit.org/show_bug.cgi?id=37878
-
- First step: if an iframe's document goes into compositing mode, also throw the parent
- document into compositing mode (all the way up to the root). This is required both
- to preserve layering (since parent document content can obscure iframe content),
- and so that we can eventually hook the layer trees together.
-
- Test: compositing/iframes/composited-iframe.html
-
- * rendering/RenderIFrame.h:
- * rendering/RenderIFrame.cpp:
- (WebCore::RenderIFrame::requiresLayer): In order to make an iframe composited, it also has to have
- a RenderLayer, so must return |true| from requiresLayer().
- (WebCore::RenderIFrame::requiresAcceleratedCompositing): Returns true if the content document
- is in compositing mode.
- (WebCore::RenderIFrame::isRenderIFrame): Required so that RenderLayerCompositor can check
- if a renderer is an iframe.
- (WebCore::toRenderIFrame): Required so that RenderLayerCompositor can cast to a RenderIFrame.
-
- * rendering/RenderLayerCompositor.h:
- * rendering/RenderLayerCompositor.cpp:
- (WebCore::RenderLayerCompositor::enableCompositingMode): Call out to the RenderView when
- the compositing mode changes, so that the parent document can update its compositing status.
- (WebCore::RenderLayerCompositor::requiresCompositingLayer): Call requiresCompositingForIFrame().
- (WebCore::RenderLayerCompositor::requiresCompositingForIFrame): Check to see if the iframe
- wants to be composited.
-
- * rendering/RenderObject.h:
- (WebCore::RenderObject::isRenderIFrame): Base class returns false.
-
- * rendering/RenderView.h:
- * rendering/RenderView.cpp:
- (WebCore::RenderView::compositingStateChanged): New method that allows an iframe to notify
- its parent document that a recalcStyle is required, to update compositing state.
-
-2010-04-20 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (build fix).
- Speculative tiger build fix.
-
- * WebCore.NPAPI.exp:
- * WebCore.PluginHostProcess.exp:
- * WebCore.base.exp:
-
-2010-04-20 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: add basic script editing capabilities to the front-end.
-
- https://bugs.webkit.org/show_bug.cgi?id=37875
-
- * bindings/js/ScriptDebugServer.cpp:
- (WebCore::ScriptDebugServer::setBreakpoint):
- (WebCore::ScriptDebugServer::removeBreakpoint):
- * inspector/front-end/ScriptView.js:
- (WebInspector.ScriptView):
- (WebInspector.ScriptView.prototype._editLine):
- (WebInspector.ScriptView.prototype._editLineComplete):
- * inspector/front-end/ScriptsPanel.js:
- (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
- (WebInspector.ScriptsPanel.prototype.canEditScripts):
- (WebInspector.ScriptsPanel.prototype.editScriptLine):
- * inspector/front-end/SourceFrame.js:
- (WebInspector.SourceFrame):
- (WebInspector.SourceFrame.prototype.updateContent):
- (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
- * inspector/front-end/TextEditorHighlighter.js:
- (WebInspector.TextEditorHighlighter):
- (WebInspector.TextEditorHighlighter.prototype.reset):
- * inspector/front-end/TextEditorModel.js:
- (WebInspector.TextEditorModel.prototype.copyRange):
- * inspector/front-end/TextViewer.js:
- (WebInspector.TextViewer):
- (WebInspector.TextViewer.prototype.set editCallback):
- (WebInspector.TextViewer.prototype._buildChunks):
- (WebInspector.TextViewer.prototype._handleKeyDown):
- (WebInspector.TextViewer.prototype._handleDoubleClick):
- (WebInspector.TextViewer.prototype._commitEditingLine):
- (WebInspector.TextViewer.prototype._cancelEditingLine):
- * inspector/front-end/inspector.js:
- (WebInspector.documentKeyDown):
- (WebInspector.log.logMessage):
- (WebInspector.log):
- (WebInspector.isEditingAnyField):
- (WebInspector.startEditing.cleanUpAfterEditing):
-
-2010-04-20 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Geoff Garen.
-
- Add forwarding header.
-
- * ForwardingHeaders/runtime/RopeImpl.h: Added.
-
-2010-04-20 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Geoff Garen.
-
- Bug 37828 - Move WebCore's String classes to WTF
-
- Move these classes up to WTF so they are available to all clients of WTF (in
- particular JSC).
-
- As a first patch, making the most minimal change possible, since this patch
- could easily grow rather large since we'll have to change every class forward
- declaration ( e.g. every "namespace WebCore { class String; }" much change to
- "namespace WTF { class String; }").
-
- Moving the files, but leaving the classes logically in the WebCore namespace -
- which is technically a layering violation - I'll come back and fix this up in a
- subsequent patch.
-
- * Android.mk:
- * ForwardingHeaders/wtf/StaticConstructors.h: Added.
- * ForwardingHeaders/wtf/text/AtomicString.h: Added.
- * ForwardingHeaders/wtf/text/AtomicStringImpl.h: Added.
- * ForwardingHeaders/wtf/text/StringBuffer.h: Added.
- * ForwardingHeaders/wtf/text/StringHash.h: Added.
- * ForwardingHeaders/wtf/text/StringImpl.h: Added.
- * ForwardingHeaders/wtf/text/WTFString.h: Added.
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * css/MediaFeatureNames.cpp:
- * dom/QualifiedName.cpp:
- * dom/make_names.pl:
- * platform/StaticConstructors.h: Removed.
- * platform/text/AtomicString.cpp: Removed.
- * platform/text/AtomicString.h:
- * platform/text/AtomicStringImpl.h:
- * platform/text/PlatformString.h:
- * platform/text/String.cpp:
- * platform/text/StringHash.h:
- * platform/text/StringImpl.cpp: Removed.
- * platform/text/StringImpl.h:
-
-2010-04-20 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Darin Adler.
-
- Change a parameter type of chooseIconForFiles()
- https://bugs.webkit.org/show_bug.cgi?id=37504
-
- Change PassRefPtr<FileChooser> parameter of chooseIconForFiles()
- to FileChooser*. Though an implementation of chooseIconForFiles()
- might have ownership of the FileChooser instance, we don't need to
- use PassRefPtr<> in this case.
-
- * loader/EmptyClients.h:
- (WebCore::EmptyChromeClient::chooseIconForFiles):
- * page/Chrome.cpp:
- (WebCore::Chrome::chooseIconForFiles):
- * page/Chrome.h:
- * page/ChromeClient.h:
-
-2010-04-20 Diego Escalante Urrelo <descalante@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [Gtk] Evaluate and create tests for all the AtkRole's implemented by
- WebKitGtk
- https://bugs.webkit.org/show_bug.cgi?id=34449
-
- Implement ATK_ROLE_FORM.
-
- * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
- (webkit_accessible_get_role):
-
-2010-04-20 Martin Robinson <mrobinson@webkit.org>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GTK] Enable DOM clipboard and drag-and-drop access
- https://bugs.webkit.org/show_bug.cgi?id=30623
-
- Move most of the PasteboardHelper logic into WebCore. This helps
- prepare for WebKit2 and leads to a clearer separation of concerns
- between the WebKit and WebCore layers.
-
- No new tests as functionality has not changed.
-
- * GNUmakefile.am: Add PastboardHelper.cpp to list of sources.
- * platform/Pasteboard.h: Added a getter for the PasteboardHelper and made the member private.
- * platform/gtk/PasteboardGtk.cpp: Update PasteboardHelper method calls to use new naming.
- (WebCore::clipboard_get_contents_cb): Ditto.
- (WebCore::Pasteboard::helper): Added, member is now private.
- (WebCore::Pasteboard::writeURL): Ditto.
- (WebCore::Pasteboard::documentFragment): Update to reflect method renaming.
- (WebCore::Pasteboard::plainText): Ditto.
- * platform/gtk/PasteboardHelper.cpp: Added.
- (WebCore::PasteboardHelper::PasteboardHelper): Added.
- (WebCore::PasteboardHelper::~PasteboardHelper): Added.
- (WebCore::PasteboardHelper::initializeTargetList): Added, originally from WebKit.
- (WebCore::widgetFromFrame): Added helper function.
- (WebCore::PasteboardHelper::getCurrentClipboard): Added, originally from WebKit.
- (WebCore::PasteboardHelper::getClipboard): Ditto.
- (WebCore::PasteboardHelper::getPrimarySelectionClipboard): Ditto.
- (WebCore::PasteboardHelper::targetList): Ditto.
- (WebCore::PasteboardHelper::fillSelectionData): Ditto.
- (WebCore::PasteboardHelper::targetListForDataObject): Ditto.
- (WebCore::getClipboardContentsCallback): Ditto.
- (WebCore::clearClipboardContentsCallback): Ditto.
- (WebCore::PasteboardHelper::writeClipboardContents): Ditto.
- * platform/gtk/PasteboardHelper.h: Moved methods from WebKit to WebCore.
-
-2010-04-20 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Anders Carlsson.
-
- backgroundColor is oddly indented in layer tree dump
- https://bugs.webkit.org/show_bug.cgi?id=37885
-
- The writeIndent() was mistakenly outside the LayerTreeAsTextDebug clause, causing indents
- to be written twice.
-
- * platform/graphics/GraphicsLayer.cpp:
- (WebCore::GraphicsLayer::dumpProperties):
-
-2010-04-20 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dimitri Glazkov.
-
- Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject
- https://bugs.webkit.org/show_bug.cgi?id=37741
-
- RenderPartObject is a useless intermediate class between RenderPart and
- RenderEmbeddedObject, and we can now remove it. Its only method, viewCleared(),
- applies to objects and embeds when the content is a FrameView, so can move
- to RenderEmbeddedObject.
-
- * Android.mk:
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * rendering/RenderEmbeddedObject.cpp:
- (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
- (WebCore::RenderEmbeddedObject::requiresLayer):
- (WebCore::RenderEmbeddedObject::paint):
- (WebCore::RenderEmbeddedObject::viewCleared):
- * rendering/RenderEmbeddedObject.h:
- * rendering/RenderFrameBase.h:
- * rendering/RenderPart.cpp:
- (WebCore::RenderPart::RenderPart):
- * rendering/RenderPart.h:
- * rendering/RenderPartObject.cpp: Removed.
- * rendering/RenderPartObject.h: Removed.
-
-2010-04-20 Robin Cao <robin.webkit@gmail.com>
-
- Reviewed by Dirk Schulze.
-
- SVG no AnimateColor for stroke or fill if they are set to none on target.
- https://bugs.webkit.org/show_bug.cgi?id=36718
-
- SVGAnimateElement::resetToBaseValue reset 'm_propertyType' in the process of animation.
- This will cause problems when attributes 'fill' and 'stroke' have the value 'none', because in this case
- the property type determined by base value may be different from the one determined by 'fromTo' values.
-
- No new tests. The test suite in svg/animation is not working for target element with attribute 'fill' set to 'none'.
- Now animateColor on target element with attributes 'fill' and 'stroke' set to 'none' is possible.
-
- * svg/SVGAnimateElement.cpp:
- (WebCore::SVGAnimateElement::calculateFromAndToValues):
- (WebCore::SVGAnimateElement::resetToBaseValue):
-
-2010-04-20 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r57892.
- http://trac.webkit.org/changeset/57892
- https://bugs.webkit.org/show_bug.cgi?id=37864
-
- Caused an assertion in Mac builds (Requested by smfr on
- #webkit).
-
- * WebCore.xcodeproj/project.pbxproj:
- * editing/Editor.cpp:
- (WebCore::Editor::insideVisibleArea):
- * page/Frame.cpp:
- (WebCore::Frame::ownerRenderer):
- * page/Frame.h:
- * page/FrameView.cpp:
- (WebCore::FrameView::~FrameView):
- (WebCore::FrameView::clear):
- (WebCore::FrameView::invalidateRect):
- (WebCore::FrameView::createScrollbar):
- * rendering/RenderFrameBase.h:
- * rendering/RenderObject.h:
-
-2010-04-20 Jakub Wieczorek <jwieczorek@webkit.org>
-
- Reviewed by Darin Adler.
-
- RenderListItem: change enclosingList() to only traverse the render tree.
- https://bugs.webkit.org/show_bug.cgi?id=37319
-
- This makes the function safe to use for items with nodes that are detached from
- the DOM tree and simplifies the code quite a bit.
-
- Covered by existing tests.
-
- * rendering/RenderListItem.cpp:
- (WebCore::enclosingList):
- (WebCore::previousListItem):
- (WebCore::RenderListItem::explicitValueChanged):
-
-2010-04-20 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject
- https://bugs.webkit.org/show_bug.cgi?id=37741
-
- Make Frame::ownerRenderer() return a RenderFrameBase* rather than a
- RenderPart*, and add the necessary toRenderFrameBase() and isRenderFrameBase().
-
- * WebCore.xcodeproj/project.pbxproj:
- * editing/Editor.cpp:
- (WebCore::Editor::insideVisibleArea):
- * page/Frame.cpp:
- (WebCore::Frame::ownerRenderer):
- * page/Frame.h:
- * page/FrameView.cpp:
- (WebCore::FrameView::~FrameView):
- (WebCore::FrameView::clear):
- (WebCore::FrameView::invalidateRect):
- (WebCore::FrameView::createScrollbar):
- * rendering/RenderFrameBase.h:
- (WebCore::RenderFrameBase::isRenderFrameBase):
- (WebCore::toRenderFrameBase):
- * rendering/RenderObject.h:
- (WebCore::RenderObject::isRenderFrameBase):
-
-2010-04-20 Jay Civelli <jcivelli@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [chromium] Pressing tab now closes the select popup as it should.
- https://bugs.webkit.org/show_bug.cgi?id=37721
-
- * platform/chromium/PopupMenuChromium.cpp:
- (WebCore::PopupListBox::handleKeyEvent):
-
-2010-04-20 Yaar Schnitman <yaar@chromium.org>
-
- Reviewed by Nate Chapin.
-
- Null value should be legit value for wrapped types. This requires some cleanup in canvas which was missing built-in null argument checks;
- https://bugs.webkit.org/show_bug.cgi?id=37810
-
- * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
- (WebCore::JSCanvasRenderingContext2D::drawImage): Passes ec to drawImage(3) too
- * bindings/scripts/CodeGeneratorV8.pm: A null value is now legit value for wrapped types.
- * bindings/v8/test/V8TestObj.cpp:
- (WebCore::TestObjInternal::overloadedMethodCallback):
- * html/canvas/CanvasRenderingContext2D.cpp:
- (WebCore::CanvasRenderingContext2D::drawImage): Added null checks.
- (WebCore::CanvasRenderingContext2D::createPattern): Added null checks.
- * html/canvas/CanvasRenderingContext2D.h: Added needed raises "DOMException".
- * html/canvas/CanvasRenderingContext2D.idl: Added needed raises "DOMException".
-
-2010-04-20 Evan Stade <estade@chromium.org>
-
- Reviewed by David Levin.
-
- [chromium] crash when dragging images
- https://bugs.webkit.org/show_bug.cgi?id=37715
-
- NULL check the return value of nativeImageForCurrentFrame(),
- and NULL check Image just for good measure.
-
- Tested by new DragImageTest unit test.
-
- * platform/chromium/DragImageChromiumSkia.cpp:
- (WebCore::createDragImageFromImage):
-
-2010-04-20 Dirk Schulze <krit@webkit.org>
-
- Reviewed by Nikolas Zimmermann.
-
- SVGResourceFilter needs to be moved to under Renderers
- https://bugs.webkit.org/show_bug.cgi?id=35320
-
- This patch adds a renderer for SVGFilterElement. SVGFilterElement is now independent
- from the SVGResources.
- A clean-up solves the dependencies between SVGFilterElement, the filter primitives
- and SVGResources. This shall make the filter code more readable and better maintable.
- The Filter primitives get dumped now, as long as they have externalRepresentation
- implemented.
-
- No behavior changes, so no new tests were added.
-
- * Android.mk:
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * rendering/RenderPath.cpp:
- (WebCore::RenderPath::paint):
- * rendering/RenderSVGContainer.cpp:
- (WebCore::RenderSVGContainer::selfWillPaint):
- (WebCore::RenderSVGContainer::paint):
- * rendering/RenderSVGImage.cpp:
- (WebCore::RenderSVGImage::paint):
- * rendering/RenderSVGResource.h:
- (WebCore::):
- (WebCore::RenderSVGResource::postApplyResource):
- * rendering/RenderSVGResourceClipper.cpp:
- (WebCore::RenderSVGResourceClipper::applyResource):
- * rendering/RenderSVGResourceClipper.h:
- * rendering/RenderSVGResourceFilter.cpp: Added.
- (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter):
- (WebCore::RenderSVGResourceFilter::~RenderSVGResourceFilter):
- (WebCore::RenderSVGResourceFilter::invalidateClients):
- (WebCore::RenderSVGResourceFilter::invalidateClient):
- (WebCore::RenderSVGResourceFilter::buildPrimitives):
- (WebCore::RenderSVGResourceFilter::fitsInMaximumImageSize):
- (WebCore::RenderSVGResourceFilter::applyResource):
- (WebCore::RenderSVGResourceFilter::postApplyResource):
- (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
- * rendering/RenderSVGResourceFilter.h: Added.
- (WebCore::FilterData::FilterData):
- (WebCore::RenderSVGResourceFilter::renderName):
- (WebCore::RenderSVGResourceFilter::filterUnits):
- (WebCore::RenderSVGResourceFilter::primitiveUnits):
- (WebCore::RenderSVGResourceFilter::resourceType):
- * rendering/RenderSVGResourceMarker.h:
- (WebCore::RenderSVGResourceMarker::applyResource):
- * rendering/RenderSVGResourceMasker.cpp:
- (WebCore::RenderSVGResourceMasker::applyResource):
- * rendering/RenderSVGResourceMasker.h:
- * rendering/RenderSVGRoot.cpp:
- (WebCore::RenderSVGRoot::selfWillPaint):
- (WebCore::RenderSVGRoot::paint):
- * rendering/RenderSVGText.cpp:
- * rendering/SVGRenderSupport.cpp:
- (WebCore::SVGRenderBase::prepareToRenderSVGContent):
- (WebCore::SVGRenderBase::finishRenderSVGContent):
- (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
- (WebCore::deregisterFromResources):
- * rendering/SVGRenderSupport.h:
- * rendering/SVGRenderTreeAsText.cpp:
- (WebCore::writeStyle):
- (WebCore::writeSVGResource):
- (WebCore::writeResources):
- (WebCore::writeRenderResources):
- * rendering/SVGRootInlineBox.cpp:
- (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker):
- (WebCore::SVGRootInlineBox::paint):
- * svg/SVGFEBlendElement.cpp:
- (WebCore::SVGFEBlendElement::build):
- * svg/SVGFEBlendElement.h:
- * svg/SVGFEColorMatrixElement.cpp:
- (WebCore::SVGFEColorMatrixElement::build):
- * svg/SVGFEColorMatrixElement.h:
- * svg/SVGFEComponentTransferElement.cpp:
- (WebCore::SVGFEComponentTransferElement::build):
- * svg/SVGFEComponentTransferElement.h:
- * svg/SVGFECompositeElement.cpp:
- (WebCore::SVGFECompositeElement::build):
- * svg/SVGFECompositeElement.h:
- * svg/SVGFEDiffuseLightingElement.cpp:
- (WebCore::SVGFEDiffuseLightingElement::build):
- * svg/SVGFEDiffuseLightingElement.h:
- * svg/SVGFEDisplacementMapElement.cpp:
- (WebCore::SVGFEDisplacementMapElement::build):
- * svg/SVGFEDisplacementMapElement.h:
- * svg/SVGFEFloodElement.cpp:
- (WebCore::SVGFEFloodElement::build):
- * svg/SVGFEFloodElement.h:
- * svg/SVGFEGaussianBlurElement.cpp:
- (WebCore::SVGFEGaussianBlurElement::build):
- * svg/SVGFEGaussianBlurElement.h:
- * svg/SVGFEImageElement.cpp:
- (WebCore::SVGFEImageElement::build):
- * svg/SVGFEImageElement.h:
- * svg/SVGFEMergeElement.cpp:
- (WebCore::SVGFEMergeElement::build):
- * svg/SVGFEMergeElement.h:
- * svg/SVGFEMorphologyElement.cpp:
- (WebCore::SVGFEMorphologyElement::build):
- * svg/SVGFEMorphologyElement.h:
- * svg/SVGFEOffsetElement.cpp:
- (WebCore::SVGFEOffsetElement::build):
- * svg/SVGFEOffsetElement.h:
- * svg/SVGFESpecularLightingElement.cpp:
- (WebCore::SVGFESpecularLightingElement::build):
- * svg/SVGFESpecularLightingElement.h:
- * svg/SVGFETileElement.cpp:
- (WebCore::SVGFETileElement::build):
- * svg/SVGFETileElement.h:
- * svg/SVGFETurbulenceElement.cpp:
- (WebCore::SVGFETurbulenceElement::build):
- * svg/SVGFETurbulenceElement.h:
- (WebCore::):
- * svg/SVGFilterElement.cpp:
- (WebCore::SVGFilterElement::createRenderer):
- * svg/SVGFilterElement.h:
- * svg/SVGFilterPrimitiveStandardAttributes.cpp:
- (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
- * svg/SVGFilterPrimitiveStandardAttributes.h:
- (WebCore::SVGFilterPrimitiveStandardAttributes::isFilterEffect):
- (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
- * svg/SVGStyledElement.cpp:
- (WebCore::SVGStyledElement::invalidateResources):
- * svg/graphics/SVGResource.cpp:
- * svg/graphics/SVGResource.h:
- (WebCore::):
- (WebCore::SVGResource::isPaintServer):
- * svg/graphics/SVGResourceFilter.cpp: Removed.
- * svg/graphics/SVGResourceFilter.h: Removed.
- * svg/graphics/filters/SVGFEDisplacementMap.cpp:
- (WebCore::FEDisplacementMap::externalRepresentation):
- * svg/graphics/filters/SVGFilterBuilder.h:
- (WebCore::SVGFilterBuilder::namedEffects):
-
-2010-04-20 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r57880.
- http://trac.webkit.org/changeset/57880
- https://bugs.webkit.org/show_bug.cgi?id=37846
-
- Broke several bots, FEDisplacmentMap dumps includes pointers,
- no one noticed. Dirk will upload a new patch later. (Requested
- by WildFox on #webkit).
-
- * Android.mk:
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * rendering/RenderPath.cpp:
- (WebCore::RenderPath::paint):
- * rendering/RenderSVGContainer.cpp:
- (WebCore::RenderSVGContainer::selfWillPaint):
- (WebCore::RenderSVGContainer::paint):
- * rendering/RenderSVGImage.cpp:
- (WebCore::RenderSVGImage::paint):
- * rendering/RenderSVGResource.h:
- (WebCore::):
- * rendering/RenderSVGResourceClipper.cpp:
- (WebCore::RenderSVGResourceClipper::applyResource):
- * rendering/RenderSVGResourceClipper.h:
- * rendering/RenderSVGResourceFilter.cpp: Removed.
- * rendering/RenderSVGResourceFilter.h: Removed.
- * rendering/RenderSVGResourceMarker.h:
- (WebCore::RenderSVGResourceMarker::applyResource):
- * rendering/RenderSVGResourceMasker.cpp:
- (WebCore::RenderSVGResourceMasker::applyResource):
- * rendering/RenderSVGResourceMasker.h:
- * rendering/RenderSVGRoot.cpp:
- (WebCore::RenderSVGRoot::selfWillPaint):
- (WebCore::RenderSVGRoot::paint):
- * rendering/RenderSVGText.cpp:
- * rendering/SVGRenderSupport.cpp:
- (WebCore::SVGRenderBase::prepareToRenderSVGContent):
- (WebCore::SVGRenderBase::finishRenderSVGContent):
- (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
- (WebCore::deregisterFromResources):
- * rendering/SVGRenderSupport.h:
- * rendering/SVGRenderTreeAsText.cpp:
- (WebCore::writeStyle):
- (WebCore::writeSVGResource):
- (WebCore::writeResources):
- (WebCore::writeRenderResources):
- * rendering/SVGRootInlineBox.cpp:
- (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker):
- (WebCore::SVGRootInlineBox::paint):
- * svg/SVGFEBlendElement.cpp:
- (WebCore::SVGFEBlendElement::build):
- * svg/SVGFEBlendElement.h:
- * svg/SVGFEColorMatrixElement.cpp:
- (WebCore::SVGFEColorMatrixElement::build):
- * svg/SVGFEColorMatrixElement.h:
- * svg/SVGFEComponentTransferElement.cpp:
- (WebCore::SVGFEComponentTransferElement::build):
- * svg/SVGFEComponentTransferElement.h:
- * svg/SVGFECompositeElement.cpp:
- (WebCore::SVGFECompositeElement::build):
- * svg/SVGFECompositeElement.h:
- * svg/SVGFEDiffuseLightingElement.cpp:
- (WebCore::SVGFEDiffuseLightingElement::build):
- * svg/SVGFEDiffuseLightingElement.h:
- * svg/SVGFEDisplacementMapElement.cpp:
- (WebCore::SVGFEDisplacementMapElement::build):
- * svg/SVGFEDisplacementMapElement.h:
- * svg/SVGFEFloodElement.cpp:
- (WebCore::SVGFEFloodElement::build):
- * svg/SVGFEFloodElement.h:
- * svg/SVGFEGaussianBlurElement.cpp:
- (WebCore::SVGFEGaussianBlurElement::build):
- * svg/SVGFEGaussianBlurElement.h:
- * svg/SVGFEImageElement.cpp:
- (WebCore::SVGFEImageElement::build):
- * svg/SVGFEImageElement.h:
- * svg/SVGFEMergeElement.cpp:
- (WebCore::SVGFEMergeElement::build):
- * svg/SVGFEMergeElement.h:
- * svg/SVGFEMorphologyElement.cpp:
- (WebCore::SVGFEMorphologyElement::build):
- * svg/SVGFEMorphologyElement.h:
- * svg/SVGFEOffsetElement.cpp:
- (WebCore::SVGFEOffsetElement::build):
- * svg/SVGFEOffsetElement.h:
- * svg/SVGFESpecularLightingElement.cpp:
- (WebCore::SVGFESpecularLightingElement::build):
- * svg/SVGFESpecularLightingElement.h:
- * svg/SVGFETileElement.cpp:
- (WebCore::SVGFETileElement::build):
- * svg/SVGFETileElement.h:
- * svg/SVGFETurbulenceElement.cpp:
- (WebCore::SVGFETurbulenceElement::build):
- * svg/SVGFETurbulenceElement.h:
- (WebCore::):
- * svg/SVGFilterElement.cpp:
- (WebCore::SVGFilterElement::buildFilter):
- (WebCore::SVGFilterElement::canvasResource):
- * svg/SVGFilterElement.h:
- (WebCore::SVGFilterElement::rendererIsNeeded):
- * svg/SVGFilterPrimitiveStandardAttributes.cpp:
- (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
- * svg/SVGFilterPrimitiveStandardAttributes.h:
- (WebCore::SVGFilterPrimitiveStandardAttributes::isFilterEffect):
- (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
- * svg/SVGStyledElement.cpp:
- (WebCore::SVGStyledElement::invalidateResources):
- * svg/graphics/SVGResource.cpp:
- * svg/graphics/SVGResource.h:
- (WebCore::):
- (WebCore::SVGResource::isFilter):
- * svg/graphics/SVGResourceFilter.cpp: Added.
- (WebCore::SVGResourceFilter::SVGResourceFilter):
- (WebCore::SVGResourceFilter::~SVGResourceFilter):
- (WebCore::SVGResourceFilter::filterBoundingBox):
- (WebCore::shouldProcessFilter):
- (WebCore::SVGResourceFilter::addFilterEffect):
- (WebCore::SVGResourceFilter::fitsInMaximumImageSize):
- (WebCore::SVGResourceFilter::prepareFilter):
- (WebCore::SVGResourceFilter::applyFilter):
- (WebCore::SVGResourceFilter::externalRepresentation):
- (WebCore::getFilterById):
- * svg/graphics/SVGResourceFilter.h: Added.
- (WebCore::SVGResourceFilter::create):
- (WebCore::SVGResourceFilter::resourceType):
- (WebCore::SVGResourceFilter::setFilterResolution):
- (WebCore::SVGResourceFilter::setHasFilterResolution):
- (WebCore::SVGResourceFilter::filterBoundingBoxMode):
- (WebCore::SVGResourceFilter::setFilterBoundingBoxMode):
- (WebCore::SVGResourceFilter::effectBoundingBoxMode):
- (WebCore::SVGResourceFilter::setEffectBoundingBoxMode):
- (WebCore::SVGResourceFilter::filterRect):
- (WebCore::SVGResourceFilter::setFilterRect):
- (WebCore::SVGResourceFilter::scaleX):
- (WebCore::SVGResourceFilter::scaleY):
- (WebCore::SVGResourceFilter::setFilterBoundingBox):
- (WebCore::SVGResourceFilter::builder):
- * svg/graphics/filters/SVGFilterBuilder.h:
-
-2010-04-20 Dirk Schulze <krit@webkit.org>
-
- Reviewed by Nikolas Zimmermann.
-
- SVGResourceFilter needs to be moved to under Renderers
- https://bugs.webkit.org/show_bug.cgi?id=35320
-
- This patch adds a renderer for SVGFilterElement. SVGFilterElement is now independent
- from the SVGResources.
- A clean-up solves the dependencies between SVGFilterElement, the filter primitives
- and SVGResources. This shall make the filter code more readable and better maintable.
- The Filter primitives get dumped now, as long as they have externalRepresentation
- implemented.
-
- No behavior changes, so no new tests were added.
-
- * Android.mk:
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * rendering/RenderPath.cpp:
- (WebCore::RenderPath::paint):
- * rendering/RenderSVGContainer.cpp:
- (WebCore::RenderSVGContainer::selfWillPaint):
- (WebCore::RenderSVGContainer::paint):
- * rendering/RenderSVGImage.cpp:
- (WebCore::RenderSVGImage::paint):
- * rendering/RenderSVGResource.h:
- (WebCore::):
- * rendering/RenderSVGResourceClipper.cpp:
- (WebCore::RenderSVGResourceClipper::applyResource):
- * rendering/RenderSVGResourceClipper.h:
- * rendering/RenderSVGResourceFilter.cpp: Added.
- (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter):
- (WebCore::RenderSVGResourceFilter::~RenderSVGResourceFilter):
- (WebCore::RenderSVGResourceFilter::invalidateClients):
- (WebCore::RenderSVGResourceFilter::invalidateClient):
- (WebCore::RenderSVGResourceFilter::buildPrimitives):
- (WebCore::RenderSVGResourceFilter::fitsInMaximumImageSize):
- (WebCore::RenderSVGResourceFilter::applyResource):
- (WebCore::RenderSVGResourceFilter::postApplyResource):
- (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
- * rendering/RenderSVGResourceFilter.h: Added.
- (WebCore::FilterData::FilterData):
- (WebCore::RenderSVGResourceFilter::renderName):
- (WebCore::RenderSVGResourceFilter::filterUnits):
- (WebCore::RenderSVGResourceFilter::primitiveUnits):
- (WebCore::RenderSVGResourceFilter::resourceType):
- * rendering/RenderSVGResourceMarker.h:
- (WebCore::RenderSVGResourceMarker::applyResource):
- * rendering/RenderSVGResourceMasker.cpp:
- (WebCore::RenderSVGResourceMasker::applyResource):
- * rendering/RenderSVGResourceMasker.h:
- * rendering/RenderSVGRoot.cpp:
- (WebCore::RenderSVGRoot::selfWillPaint):
- (WebCore::RenderSVGRoot::paint):
- * rendering/RenderSVGText.cpp:
- * rendering/SVGRenderSupport.cpp:
- (WebCore::SVGRenderBase::prepareToRenderSVGContent):
- (WebCore::SVGRenderBase::finishRenderSVGContent):
- (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
- (WebCore::deregisterFromResources):
- * rendering/SVGRenderSupport.h:
- * rendering/SVGRenderTreeAsText.cpp:
- (WebCore::writeStyle):
- (WebCore::writeSVGResource):
- (WebCore::writeResources):
- (WebCore::writeRenderResources):
- * rendering/SVGRootInlineBox.cpp:
- (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker):
- (WebCore::SVGRootInlineBox::paint):
- * svg/SVGFEBlendElement.cpp:
- (WebCore::SVGFEBlendElement::build):
- * svg/SVGFEBlendElement.h:
- * svg/SVGFEColorMatrixElement.cpp:
- (WebCore::SVGFEColorMatrixElement::build):
- * svg/SVGFEColorMatrixElement.h:
- * svg/SVGFEComponentTransferElement.cpp:
- (WebCore::SVGFEComponentTransferElement::build):
- * svg/SVGFEComponentTransferElement.h:
- * svg/SVGFECompositeElement.cpp:
- (WebCore::SVGFECompositeElement::build):
- * svg/SVGFECompositeElement.h:
- * svg/SVGFEDiffuseLightingElement.cpp:
- (WebCore::SVGFEDiffuseLightingElement::build):
- * svg/SVGFEDiffuseLightingElement.h:
- * svg/SVGFEDisplacementMapElement.cpp:
- (WebCore::SVGFEDisplacementMapElement::build):
- * svg/SVGFEDisplacementMapElement.h:
- * svg/SVGFEFloodElement.cpp:
- (WebCore::SVGFEFloodElement::build):
- * svg/SVGFEFloodElement.h:
- * svg/SVGFEGaussianBlurElement.cpp:
- (WebCore::SVGFEGaussianBlurElement::build):
- * svg/SVGFEGaussianBlurElement.h:
- * svg/SVGFEImageElement.cpp:
- (WebCore::SVGFEImageElement::build):
- * svg/SVGFEImageElement.h:
- * svg/SVGFEMergeElement.cpp:
- (WebCore::SVGFEMergeElement::build):
- * svg/SVGFEMergeElement.h:
- * svg/SVGFEMorphologyElement.cpp:
- (WebCore::SVGFEMorphologyElement::build):
- * svg/SVGFEMorphologyElement.h:
- * svg/SVGFEOffsetElement.cpp:
- (WebCore::SVGFEOffsetElement::build):
- * svg/SVGFEOffsetElement.h:
- * svg/SVGFESpecularLightingElement.cpp:
- (WebCore::SVGFESpecularLightingElement::build):
- * svg/SVGFESpecularLightingElement.h:
- * svg/SVGFETileElement.cpp:
- (WebCore::SVGFETileElement::build):
- * svg/SVGFETileElement.h:
- * svg/SVGFETurbulenceElement.cpp:
- (WebCore::SVGFETurbulenceElement::build):
- * svg/SVGFETurbulenceElement.h:
- (WebCore::):
- * svg/SVGFilterElement.cpp:
- (WebCore::SVGFilterElement::createRenderer):
- * svg/SVGFilterElement.h:
- * svg/SVGFilterPrimitiveStandardAttributes.cpp:
- (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
- * svg/SVGFilterPrimitiveStandardAttributes.h:
- (WebCore::SVGFilterPrimitiveStandardAttributes::isFilterEffect):
- (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
- * svg/SVGStyledElement.cpp:
- (WebCore::SVGStyledElement::invalidateResources):
- * svg/graphics/SVGResource.cpp:
- * svg/graphics/SVGResource.h:
- (WebCore::):
- (WebCore::SVGResource::isPaintServer):
- * svg/graphics/SVGResourceFilter.cpp: Removed.
- * svg/graphics/SVGResourceFilter.h: Removed.
- * svg/graphics/filters/SVGFilterBuilder.h:
- (WebCore::SVGFilterBuilder::namedEffects):
-
-2010-04-20 Gavin Barraclough <barraclough@apple.com>
-
- Rubber stamped by Maciej Stachowiak (relanding r57829).
- Added missing JS_EXPORTDATA
-
- * ForwardingHeaders/wtf/WTFThreadData.h: Copied from WebCore/ForwardingHeaders/wtf/WTFThreadData.h.
- * platform/ThreadGlobalData.cpp:
- (WebCore::ThreadGlobalData::ThreadGlobalData):
- (WebCore::ThreadGlobalData::~ThreadGlobalData):
- * platform/ThreadGlobalData.h:
- (WebCore::ThreadGlobalData::eventNames):
- * platform/text/AtomicString.cpp:
- (WebCore::AtomicStringTable::create):
- (WebCore::AtomicStringTable::table):
- (WebCore::AtomicStringTable::destroy):
- (WebCore::stringTable):
-
-2010-04-20 No'am Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Antti Koivisto.
-
- [Qt] GraphicsLayer: support fill-modes
- https://bugs.webkit.org/show_bug.cgi?id=36216
- Implement the CSS-animation "fill mode" concept in GraphicsLayerQt. The concept
- enables a key-frame animation to go to the animation's starting point before the delay,
- and/or to stay at the animation's ending point after its ended, without reverting to the default
- value.
- We do that by manually setting the value to keyframe-0 before the delay if fill-mode is backwards/both,
- and manually modifying the default value to the animated value as we animate, with fill-mode forwards/both.
-
- * platform/graphics/qt/GraphicsLayerQt.cpp:
- (WebCore::AnimationQtBase::AnimationQtBase):
- (WebCore::TransformAnimationQt::~TransformAnimationQt):
- (WebCore::TransformAnimationQt::applyFrame):
- (WebCore::GraphicsLayerQt::addAnimation):
-
-2010-04-19 Leandro Pereira <leandro@profusion.mobi>
-
- Reviewed by David Hyatt.
-
- Add missing dummy implementations in PluginPackageNone and PluginViewNone.
- http://webkit.org/b/37478
-
- * plugins/PluginPackageNone.cpp:
- (WebCore::PluginPackage::NPVersion): Add dummy implementation.
- * plugins/PluginViewNone.cpp:
- (WebCore::PluginView::handleFocusInEvent): Add dummy implementation.
- (WebCore::PluginView::handleFocusOutEvent): Add dummy implementation.
-
-2010-04-19 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Geoff Garen.
-
- Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject
- https://bugs.webkit.org/show_bug.cgi?id=37741
-
- Move m_hasFallbackContent from RenderPart to RenderEmbeddedObject,
- since it's only used for <object> fallback.
-
- * rendering/RenderEmbeddedObject.cpp:
- (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
- * rendering/RenderEmbeddedObject.h:
- (WebCore::RenderEmbeddedObject::hasFallbackContent):
- * rendering/RenderPart.cpp:
- (WebCore::RenderPart::RenderPart):
- * rendering/RenderPart.h:
+ HTML5 parser should block script execution until stylesheets load
+ https://bugs.webkit.org/show_bug.cgi?id=39903
+
+ All <script> tag execution now blocks on stylesheet load, including
+ inline <script> content which the old parser doesn't support blocking.
+
+ Hyatt says we could now get rid of updateLayoutIgnorePendingStylesheets
+ once our primary parser knows how to wait for stylesheets
+ before executing inline <script> content.
+
+ All of http/tests/local passes in --html5-parser mode now.
+ Also fixed fast/parser/tokenizer-close-during-document-write.html.
+
+ * html/HTML5ScriptRunner.cpp:
+ (WebCore::HTML5ScriptRunner::HTML5ScriptRunner):
+ - Added a m_hasScriptsWaitingForStylesheets bool so that we can
+ detect when we're actually waiting on stylesheets or not.
+ If we're not waiting on stylesheets then we're still parsing and
+ executing scripts would cause parser/script reentrancy and bad news bears.
+ (WebCore::HTML5ScriptRunner::isPendingScriptReady):
+ - Re-enable the check that the stylesheets have loaded.
+ (WebCore::HTML5ScriptRunner::executePendingScript):
+ - ASSERT that stylesheets have loaded.
+ (WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad):
+ - ASSERT that this is never called reentrantly.
+ (WebCore::HTML5ScriptRunner::executeScriptsWaitingForStylesheets):
+ - Execute any scripts which were blocked on stylesheet loads.
+ - ASSERT (in two ways) that this is never called reentrantly.
+ * html/HTML5ScriptRunner.h:
+ (WebCore::HTML5ScriptRunner::hasScriptsWaitingForStylesheets):
+ - Callers need to check this before calling executeScriptsWaitingForLoad.
+ (WebCore::HTML5ScriptRunner::inScriptExecution):
+ - Used by callers to ASSERT that we're not called re-entrantly.
+ * html/HTML5Tokenizer.cpp:
+ (WebCore::HTML5Tokenizer::HTML5Tokenizer):
+ - Add m_hasScriptsWaitingForStylesheets for tracking if we've paused
+ due to stylesheets or not. Callers need to know this to know if they
+ should ignore executeScriptsWaitingForStylesheets calls from
+ Document (which may be generated when parsing </script> tags).
+ We only care about executeScriptsWaitingForStylesheets calls when
+ we've actually blocked the parser due to waiting on a stylesheet load.
+ (WebCore::HTML5Tokenizer::end):
+ - Move m_source.close() back to this method now that I understand more
+ about when finish() is called. This should fix several layout test ASSERTS.
+ (WebCore::HTML5Tokenizer::finish):
+ - This should not close m_source since scripts may still write to
+ the document. Set m_wasWaitingOnScriptsDuringFinish to indicate
+ that we were not able to end parsing during finish.
+ (WebCore::HTML5Tokenizer::resumeParsingAfterScriptExecution):
+ - ASSERT that this is never caller re-entrantly.
+ (WebCore::HTML5Tokenizer::executeScript):
+ - ASSERT that the ScriptRunner always thinks we're running scripts when this is called.
+ (WebCore::HTML5Tokenizer::executingScript):
+ - Added implementation to fix fast/parser/tokenizer-close-during-document-write.html
+ (WebCore::HTML5Tokenizer::notifyFinished):
+ - ASSERT that this is never called re-entrantly.
+ (WebCore::HTML5Tokenizer::executeScriptsWaitingForStylesheets):
+ - Call the ScriptRunner to tell it that stylesheets have loaded if
+ it is blocked on stylesheet loads.
+ - ASSERT(m_hasScriptsWaitingForStylesheets). We can't just assert
+ isPaused() since we may be paused for script loads.
+ * html/HTML5Tokenizer.h:
-2010-04-19 Simon Fraser <simon.fraser@apple.com>
+2010-05-29 Laszlo Gombos <laszlo.1.gombos@nokia.com>
Reviewed by Darin Adler.
- Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject
- https://bugs.webkit.org/show_bug.cgi?id=37741
-
- Add a new renderer for iframes, named RenderIFrame. Add a new shared base class
- between this and RenderFrame, called RenderFrameBase (following the existing HTMLFrameElementBase),
- and move code from RenderPart and RenderPartObject into these new classes.
-
- There should be no functionality difference with this change, so no new tests.
-
- Fixing up renderer names in the layout tests will be done in a later pass.
-
- Fix build systems to include the new files.
-
- * Android.mk:
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * html/HTMLIFrameElement.cpp:
- (WebCore::HTMLIFrameElement::createRenderer):
- * rendering/RenderEmbeddedObject.h:
- * rendering/RenderFrame.cpp:
- (WebCore::RenderFrame::RenderFrame):
- * rendering/RenderFrame.h:
- * rendering/RenderFrameBase.cpp: Added.
- (WebCore::RenderFrameBase::RenderFrameBase):
- (WebCore::RenderFrameBase::layoutWithFlattening):
- * rendering/RenderFrameBase.h: Added.
- * rendering/RenderIFrame.cpp: Added.
- (WebCore::RenderIFrame::RenderIFrame):
- (WebCore::RenderIFrame::calcHeight):
- (WebCore::RenderIFrame::calcWidth):
- (WebCore::RenderIFrame::flattenFrame):
- (WebCore::RenderIFrame::layout):
- * rendering/RenderIFrame.h: Added.
- (WebCore::RenderIFrame::renderName):
- * rendering/RenderPart.cpp:
- * rendering/RenderPart.h:
- * rendering/RenderPartObject.cpp:
- * rendering/RenderPartObject.h:
-
-2010-04-19 Dumitru Daniliuc <dumi@chromium.org>
-
- Reviewed by Geoffrey Garen.
-
- Bindings clean-up.
- https://bugs.webkit.org/show_bug.cgi?id=37833
-
- Move some WebSQLDatabases logic out of the bindings into
- DOMWindow.cpp where it should be.
-
- * bindings/js/JSDOMWindowCustom.cpp:
- (WebCore::JSDOMWindow::openDatabase):
- * bindings/v8/custom/V8DOMWindowCustom.cpp:
- (WebCore::V8DOMWindow::openDatabaseCallback):
- * page/DOMWindow.cpp:
- (WebCore::DOMWindow::openDatabase):
-
-2010-04-19 Kevin Ollivier <kevino@theolliviers.com>
-
- Fix the Mac builders for now by restoring the keepAlive function.
-
- * plugins/PluginViewNone.cpp:
- (WebCore::PluginView::keepAlive):
-
-2010-04-19 Kevin Ollivier <kevino@theolliviers.com>
-
- [wx] Build fix, remove a method that has been moved to PluginView.cpp.
-
- * plugins/PluginViewNone.cpp:
-
-2010-04-19 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (rolling out r57829).
- This broke windows.
+ Remove set but never used variables
+ https://bugs.webkit.org/show_bug.cgi?id=35252
- * ForwardingHeaders/wtf/WTFThreadData.h: Removed.
- * platform/ThreadGlobalData.cpp:
- (WebCore::ThreadGlobalData::ThreadGlobalData):
- (WebCore::ThreadGlobalData::~ThreadGlobalData):
- * platform/ThreadGlobalData.h:
- (WebCore::ThreadGlobalData::atomicStringTable):
- * platform/text/AtomicString.cpp:
- (WebCore::stringTable):
-
-2010-04-19 Mark Rowe <mrowe@apple.com>
-
- Build fix.
-
- * platform/graphics/mac/GraphicsContext3DMac.cpp:
-
-2010-04-19 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Beth Dakin.
-
- AX: aria-haspopup needs to be exposed
- https://bugs.webkit.org/show_bug.cgi?id=37808
-
- Test: platform/mac/accessibility/element-haspopup.html
+ No new tests as there is no new functionality.
- * accessibility/AccessibilityObject.h:
- (WebCore::AccessibilityObject::ariaHasPopup):
* accessibility/AccessibilityRenderObject.cpp:
- (WebCore::AccessibilityRenderObject::ariaHasPopup):
- (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
- * accessibility/AccessibilityRenderObject.h:
- * accessibility/mac/AccessibilityObjectWrapper.mm:
- (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
- (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
-
-2010-04-19 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fix a crash when rendering <select> elements with WebKit2.
-
- * rendering/RenderThemeMac.mm:
- (WebCore::RenderThemeMac::paintMenuList):
- Set the current NSGraphicsContext before calling out to AppKit, otherwise the current graphics context
- could point to a CGContext whose memory has been freed.
-
-2010-04-08 Dimitri Glazkov <dglazkov@chromium.org>
-
- Reviewed by Darin Adler.
+ (WebCore::lastChildConsideringContinuation):
+ * css/CSSFontSelector.cpp:
+ (WebCore::CSSFontSelector::addFontFaceRule):
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseFontFaceUnicodeRange):
+ * editing/InsertParagraphSeparatorCommand.cpp:
+ (WebCore::InsertParagraphSeparatorCommand::doApply):
+ * loader/appcache/ApplicationCacheStorage.cpp:
+ (WebCore::ApplicationCacheStorage::loadManifestHostHashes):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleWheelEvent):
+ * page/animation/AnimationBase.cpp:
+ (WebCore::AnimationBase::getTimeToNextEvent):
+ * rendering/AutoTableLayout.cpp:
+ (WebCore::AutoTableLayout::recalcColumn):
+ (WebCore::AutoTableLayout::layout):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::calcInlinePrefWidths):
+ * rendering/RenderSVGResourceClipper.cpp:
+ (WebCore::RenderSVGResourceClipper::createClipData):
+ * storage/DatabaseTracker.cpp:
+ (WebCore::DatabaseTracker::canEstablishDatabase):
- Manipulating document fragment members while adding it to tree may result in loss of tree integrity.
- https://bugs.webkit.org/show_bug.cgi?id=36031
+2010-05-29 Sheriff Bot <webkit.review.bot@gmail.com>
- Changes the logic of appending/inserting document fragment to first stashing all of its children
- to a vector, then processing the vector. This avoids ghastliness that would be caused by mutation
- events mucking with the document fragment while it's being appended/inserted.
+ Unreviewed, rolling out r60405.
+ http://trac.webkit.org/changeset/60405
+ https://bugs.webkit.org/show_bug.cgi?id=39921
- Test: fast/dom/Node/fragment-mutation.html
+ It broke GTK build. (Requested by Ossy on #webkit).
- * dom/ContainerNode.cpp:
- (WebCore::targetNodes): Added method to populate a vector of nodes (targets) to be used in
- inserting/appending operation.
- (WebCore::ContainerNode::insertBefore): Changed to use vector-based iteration.
- (WebCore::ContainerNode::appendChild): Ditto.
* dom/Node.cpp:
- (WebCore::Node::checkReplaceChild): Cleaned up comments.
- (WebCore::Node::checkAddChild): Ditto.
-
-2010-04-19 Eric Carlson <eric.carlson@apple.com>
-
- Reviewed by Simon Fraser.
-
- Fix regression introduced in r57820.
-
- * html/HTMLMediaElement.cpp:
- (WebCore::HTMLMediaElement::loadNextSourceChild): Create a new MediaPlayer instead of
- just setting a URL on the one used for the previous <source> element. This restores
- the behavior prior to the changes for https://bugs.webkit.org/show_bug.cgi?id=37728.
-
-2010-04-19 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=37745
- Move string uniquing tables to (new) WTFThreadData class.
-
- Remove AtomicString's dependency on ThreadGlobalData so that we can move
- WebCore's string classes up to WTF.
-
- * ForwardingHeaders/wtf/WTFThreadData.h: Added.
- * platform/ThreadGlobalData.cpp: Remove m_atomicStringTable, all wtfThreadData() to ensure threadsafely initialized.
- (WebCore::ThreadGlobalData::ThreadGlobalData):
- (WebCore::ThreadGlobalData::~ThreadGlobalData):
- * platform/ThreadGlobalData.h: Remove m_atomicStringTable.
- (WebCore::ThreadGlobalData::eventNames):
- * platform/text/AtomicString.cpp:
- (WebCore::AtomicStringTable::create):
- (WebCore::AtomicStringTable::table):
- (WebCore::AtomicStringTable::destroy):
- (WebCore::stringTable): Access the AtomicStringTable on wtfThreadData() rather then threadGlobalData().
-
-2010-04-19 Ada Chan <adachan@apple.com>
-
- Build fix: wrap Settings::setLocalStorageQuota() and Settings::setSessionStorageQuota()
- in #if ENABLE(DOM_STORAGE).
-
- * page/Settings.cpp:
- (WebCore::Settings::Settings):
- * page/Settings.h:
-
-2010-04-19 Dave Moore <davemoore@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Added notification when the favicons for a page are changed
- from a script.
- The Document object will notify the frame loader, which will
- notify the client. Implementations of FrameLoaderClient will
- have to add one method; dispatchDidChangeIcons().
-
- https://bugs.webkit.org/show_bug.cgi?id=33812
-
- Test: fast/dom/icon-url-property.html
-
- * dom/Document.cpp:
- (WebCore::Document::setIconURL):
- * loader/DocumentLoader.cpp:
- (WebCore::DocumentLoader::setIconURL):
- * loader/DocumentLoader.h:
- (WebCore::DocumentLoader::iconURL):
- * loader/EmptyClients.h:
- (WebCore::EmptyFrameLoaderClient::dispatchDidChangeIcons):
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::setIconURL):
- (WebCore::FrameLoader::didChangeIcons):
- * loader/FrameLoader.h:
- * loader/FrameLoaderClient.h:
-
-2010-04-19 Ada Chan <adachan@apple.com>
-
- Reviewed by Jeremy Orlow.
-
- https://bugs.webkit.org/show_bug.cgi?id=37717
- Allow clients concerned with memory consumption to set a quota on session storage
- since the memory used won't be released until the Page is destroyed.
- The default is noQuota, which matches the current behavior.
-
- * WebCore.base.exp: Export Settings::setSessionStorageQuota().
- * page/Page.cpp:
- (WebCore::Page::sessionStorage):
- * page/Settings.cpp:
- (WebCore::Settings::Settings):
- (WebCore::Settings::setSessionStorageQuota):
- * page/Settings.h:
- (WebCore::Settings::sessionStorageQuota):
- * storage/StorageNamespace.cpp:
- (WebCore::StorageNamespace::sessionStorageNamespace):
- * storage/StorageNamespace.h:
- * storage/StorageNamespaceImpl.cpp:
- (WebCore::StorageNamespaceImpl::sessionStorageNamespace):
- * storage/StorageNamespaceImpl.h:
-
-2010-04-19 Eric Carlson <eric.carlson@apple.com>
-
- Reviewed by Simon Fraser.
-
- Setting media element 'src' attribute should trigger immediate load
- https://bugs.webkit.org/show_bug.cgi?id=37728
-
- * html/HTMLMediaElement.cpp:
- (WebCore::HTMLMediaElement::attributeChanged): Schedule load every time 'src' attribute
- changes unless it is missing.
- (WebCore::HTMLMediaElement::prepareForLoad): Include steps 3 to 6 from loadInternal.
- (WebCore::HTMLMediaElement::loadInternal): Steps 3 to 6 are now in prepareForLoad.
- (WebCore::HTMLMediaElement::loadResource): MediaPlayer is now allocated in prepareForLoad
- so the previously loading file, if any, is cancelled there.
-
-2010-04-19 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix compilation against namespaced Qt.
-
- * platform/graphics/GraphicsLayer.h:
- * platform/graphics/Tile.h:
- * platform/graphics/qt/MediaPlayerPrivateQt.h:
- * platform/network/qt/NetworkStateNotifierPrivate.h:
-
-2010-04-19 Balazs Kelemen <kb@inf.u-szeged.hu>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Destroy SharedTimerQt before destruction of QCoreApplication.
-
- To avoid unsafe situations caused by running WebCore code (through firing timers) when destruction of QCoreApplication
- has been started, we should explicitly destroy the SharedTimerQt instance on application exit.
- We can achieve that through installing a self-destroying slot for the QCoreApplication::aboutToQuit() signal
- into the SharedTimerQt instance.
-
- https://bugs.webkit.org/show_bug.cgi?id=36832
-
- No functional change so no new tests.
-
- * platform/qt/SharedTimerQt.cpp:
- (WebCore::SharedTimerQt::SharedTimerQt):
- (WebCore::SharedTimerQt::destroy):
- (WebCore::SharedTimerQt::inst):
+ (WebCore::Node::getElementsByTagName):
+ (WebCore::Node::getElementsByTagNameNS):
+ * dom/Node.h:
-2010-04-19 Dan Bernstein <mitz@apple.com>
+2010-05-29 Anton Muhin <antonm@chromium.org>
Reviewed by Darin Adler.
- Make the fix for <rdar://problem/7873647> from r57759 more robust.
-
- * rendering/RenderLayer.cpp:
- (WebCore::RenderLayer::updateHoverActiveState): Use RefPtrs for the Nodes.
-
-2010-04-19 Yury Semikhatsky <yurys@chromium.org>
-
- Unreviewed. Chromium build fix.
-
- * bindings/v8/JavaScriptCallFrame.h:
-
-2010-04-19 Yury Semikhatsky <yurys@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: implement JavaScriptCallFrame that works for v8.
- Implementing this binding for v8 allows to make evaluations on
- call frames and protects access to the debugger context from
- inspected context.
-
- https://bugs.webkit.org/show_bug.cgi?id=37755
-
- * WebCore.gyp/WebCore.gyp:
- * WebCore.gypi:
- * bindings/js/JSJavaScriptCallFrameCustom.cpp:
- (WebCore::JSJavaScriptCallFrame::scopeType):
- * bindings/v8/JavaScriptCallFrame.cpp: Added.
- (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
- (WebCore::JavaScriptCallFrame::~JavaScriptCallFrame):
- (WebCore::JavaScriptCallFrame::caller):
- (WebCore::JavaScriptCallFrame::sourceID):
- (WebCore::JavaScriptCallFrame::line):
- (WebCore::JavaScriptCallFrame::functionName):
- (WebCore::JavaScriptCallFrame::scopeChain):
- (WebCore::JavaScriptCallFrame::scopeType):
- (WebCore::JavaScriptCallFrame::thisObject):
- (WebCore::JavaScriptCallFrame::evaluate):
- * bindings/v8/JavaScriptCallFrame.h: Added.
- (WebCore::JavaScriptCallFrame::create):
- * bindings/v8/ScriptDebugServer.cpp:
- (WebCore::ScriptDebugServer::currentCallFrame):
- * bindings/v8/ScriptDebugServer.h:
- * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
- (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
- * bindings/v8/custom/V8JavaScriptCallFrameCustom.cpp: Added.
- (WebCore::V8JavaScriptCallFrame::evaluateCallback):
- (WebCore::V8JavaScriptCallFrame::scopeChainAccessorGetter):
- (WebCore::V8JavaScriptCallFrame::scopeTypeCallback):
- (WebCore::V8JavaScriptCallFrame::thisObjectAccessorGetter):
- (WebCore::V8JavaScriptCallFrame::typeAccessorGetter):
- * inspector/JavaScriptCallFrame.idl:
- * inspector/front-end/InjectedScript.js:
- (injectedScriptConstructor.):
-
-2010-04-19 Jessie Berlin <jberlin@webkit.org>
-
- Rubber Stamped by Adam Roben
-
- Chromium Release Build Fix.
-
- * css/CSSSelector.cpp:
- (WebCore::CSSSelector::pseudoId):
- In the case where the DATALIST is not enabled, fall through to NOPSEUDO instead of omitting PseudoInputListButton entirely from the switch.
-
-2010-04-19 Jessie Berlin <jberlin@webkit.org>
-
- Reviewed by Dave Hyatt.
-
- First steps towards fixing bug 24021 - pseudo-element styles not accessible / retrievable via DOM methods.
- https://bugs.webkit.org/show_bug.cgi?id=24021
-
- Allows access to the computed styles for the pseudo-elements through the second argument to getComputedStyle.
- This approach does not provide the correct values for 'length' properties and does not work for the ':selection' pseudo-element and will instead return results similiar to those returned by Firefox. This approach also requires waiting until at least one iteration of a hardware accelerated composited animation to return the correct values for the "opacity" and "transform" properties of a pseudo-element associated with the element being animated.
- Those values need to be retrieved from the renderer for the pseudo-element as opposed to the cached RenderStyle for the element on which the pseudo-element is defined, which is further complicated by the fact that not all elements have renderers.
-
- Test: fast/css/getComputedStyle/getComputedStyle-with-pseudo-element.html
+ Make NodeList getters take AtomicString instead of plain String
+ https://bugs.webkit.org/show_bug.cgi?id=39892
- * WebCore.base.exp:
- * css/CSSComputedStyleDeclaration.cpp:
- (WebCore::CSSComputedStyleDeclaration::CSSComputedStyleDeclaration):
- Parse the and store the pseudo-element specifier from the string provided by the user.
- (WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword):
- Get the computed style for the pseudo-element if it has been specified.
- (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
- Get the computed style for the pseudo-element if it has been specified, with a FIXME noting that the values returned for the "opacity" and "transform" properties of a pseudo-element associated with an element being animated and using hardware accelerated compositing will not be correct until after the first iteration of the animation.
- (WebCore::CSSComputedStyleDeclaration::length):
- Get the computed style for the pseudo-element if it has been specified.
- (WebCore::CSSComputedStyleDeclaration::cssPropertyMatches):
- Ditto.
- * css/CSSComputedStyleDeclaration.h:
- (WebCore::computedStyle):
- Take into consideration the pseudo-element.
-
- * css/CSSSelector.cpp:
- (WebCore::CSSSelector::pseudoId):
- Return the PseudoId that corresponds to the given PseudoType. If there is no corresponding PseudoId, returns NOPSEUDO.
- (WebCore::nameToPseudoTypeMap):
- Create and return the mapping between string names and PseudoTypes.
- (WebCore::CSSSelector::parsePseudoType):
- Parse and the given string into a PseudoType.
- (WebCore::CSSSelector::extractPseudoType):
- Refactored to use parsePseudoType.
- * css/CSSSelector.h:
-
- * css/CSSStyleSelector.cpp:
- (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
- Refactored to use pseudoId.
-
- * dom/Element.cpp:
- (WebCore::Element::computedStyle):
- If the pseudo-element is specified, then return the cached RenderStyle for that PseudoId. Added a FIXME to find the actual renders of the pseudo-elements instead of just the cached RenderStyle of the RenderStyle for the associated element.
- * dom/Element.h:
- (WebCore::Element::virtualComputedStyle):
- Because Element::computedStyle is used so often, don't make it virtual. Instead, provide a virtualComputedStyle method in the Node.h class andmake computedStyle non-virtual. That way the Element version and the Node version of computedStyle will have the same name and look the same at the call site, but the Element version will be more efficient.
+ Those methods turn String into AtomicString later. And this conversion
+ is faster if underlying string is already atomic.
+ That buys small (~2-3%) speed up for Chromium on Dromaeo DOM Core.
+ I don't know if Safari benefits from it.
- * dom/Node.h:
- (WebCore::Node::computedStyle):
- Ditto.
* dom/Node.cpp:
- (WebCore::Node::virtualComputedStyle):
- Get the computed style for the pseudo-element if it has been specified.
-
- * page/DOMWindow.cpp:
- (WebCore::DOMWindow::getComputedStyle):
- Ditto.
-
-2010-04-18 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] Fix JavaScriptCore's include path for WinCE builds
-
- https://bugs.webkit.org/show_bug.cgi?id=36751
-
- * WebCore.pro:
-
-2010-04-17 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Adam Barth.
-
- https://bugs.webkit.org/show_bug.cgi?id=37720
- <rdar://problem/7873752> HTMLFrameSetElement-window-eventListener-attributes.html sometimes
- crashes on SnowLeopard Release
-
- Tests:
- * fast/dom/Window/HTMLBodyElement-window-eventListener-attributes.html:
- * fast/dom/Window/HTMLFrameSetElement-window-eventListener-attributes.html:
-
- * bindings/scripts/CodeGeneratorJS.pm: Use global object as a wrapper for window event
- listeners set via document.body. The body wrapper can go away if nothing else references it.
-
- * html/HTMLBodyElement.idl: Override listeners that exist on Element with custom implementations,
- because we need to use window object as a wrapper, not the element. Marked all window event
- listeners as such for code generator.
-
- * html/HTMLFrameSetElement.idl: Ditto.
-
-2010-04-17 Juan C. Montemayor <jmonte03@cs.tufts.edu>
-
- Reviewed by Joseph Pecoraro.
-
- Databases pane doesn't recognize table creation/deletion
- https://bugs.webkit.org/show_bug.cgi?id=20219
-
- * inspector/front-end/DatabaseQueryView.js:
- (WebInspector.DatabaseQueryView.prototype._queryFinished):
+ (WebCore::Node::getElementsByTagName):
+ (WebCore::Node::getElementsByTagNameNS):
+ * dom/Node.h:
-2010-04-17 Yaar Schnitman <yaar@chromium.org>
+2010-05-29 Justin Schuh <jschuh@chromium.org>
Reviewed by Adam Barth.
- Auto-generate V8 bindings for canvas.* overloads
- https://bugs.webkit.org/show_bug.cgi?id=37453
-
- * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: Deleted custom code that is now auto-generated.
- * bindings/scripts/CodeGeneratorV8.pm: Not generating custom signatures for overloaded methods and accepting Object as a string input.
- * html/canvas/CanvasRenderingContext2D.cpp:
- (WebCore::CanvasRenderingContext2D::drawImage): Added missing 9-arguments overloads for drawImage.
- * html/canvas/CanvasRenderingContext2D.h:
- * html/canvas/CanvasRenderingContext2D.idl: Overloaded methods defined (V8 only).
-
-2010-04-17 Yury Semikhatsky <yurys@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: move JavaScriptCallFrame.{h,cpp} to WebCore/bindings/js
-
- https://bugs.webkit.org/show_bug.cgi?id=37740
-
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/js/JSBindingsAllInOne.cpp:
- * bindings/js/JavaScriptCallFrame.cpp: Renamed from WebCore/inspector/JavaScriptCallFrame.cpp.
- (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
- (WebCore::JavaScriptCallFrame::caller):
- (WebCore::JavaScriptCallFrame::scopeChain):
- (WebCore::JavaScriptCallFrame::dynamicGlobalObject):
- (WebCore::JavaScriptCallFrame::functionName):
- (WebCore::JavaScriptCallFrame::type):
- (WebCore::JavaScriptCallFrame::thisObject):
- (WebCore::JavaScriptCallFrame::evaluate):
- * bindings/js/JavaScriptCallFrame.h: Renamed from WebCore/inspector/JavaScriptCallFrame.h.
- (WebCore::JavaScriptCallFrame::create):
- (WebCore::JavaScriptCallFrame::invalidate):
- (WebCore::JavaScriptCallFrame::isValid):
- (WebCore::JavaScriptCallFrame::sourceID):
- (WebCore::JavaScriptCallFrame::line):
- (WebCore::JavaScriptCallFrame::update):
- * inspector/InjectedScriptHost.h:
- * inspector/InspectorController.h:
-
-2010-04-17 Vangelis Kokkevis <vangelis@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Adding definition of GLES2Context class.
- https://bugs.webkit.org/show_bug.cgi?id=37541
-
- No new functionality implemented yet, no tests.
-
- * WebCore.gypi: Added GLES2Context.h
- * platform/chromium/GLES2Context.h: Added.
-
-2010-04-17 Julien Chaffraix <jchaffraix@webkit.org>
-
- Reviewed by Darin Adler.
-
- Crash while handling SVG font in the wrong namespace imported with @font-face
- https://bugs.webkit.org/show_bug.cgi?id=18862
-
- Test: fast/invalid/invalidSVGFont.html
-
- * loader/CachedFont.cpp:
- (WebCore::CachedFont::getSVGFontById): Make sure we really get an SVGFontElement by using
- getElementsByNameNS: the element factory chooses which element to create based on both
- localName and namespace.
-
-2010-04-16 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r57770.
- http://trac.webkit.org/changeset/57770
- https://bugs.webkit.org/show_bug.cgi?id=37746
-
- 8 test cases crashed (Requested by Ossy on #webkit).
-
- * platform/graphics/qt/GraphicsLayerQt.cpp:
- (WebCore::AnimationQtBase::AnimationQtBase):
- (WebCore::TransformAnimationQt::~TransformAnimationQt):
- (WebCore::TransformAnimationQt::applyFrame):
- (WebCore::OpacityAnimationQt::applyFrame):
- (WebCore::GraphicsLayerQt::addAnimation):
-
-2010-04-16 Daniel Bates <dbates@rim.com>
-
- Reviewed by Adam Treat.
-
- https://bugs.webkit.org/show_bug.cgi?id=36312
-
- Adds support for the viewport meta tag. The code is largely derived in whole
- or in part from the WebCore-528.15 source published as part of the iPhone 3.1.3
- source code <http://www.opensource.apple.com/source/WebCore/WebCore-528.15/>.
-
- * Android.mk: Added file ViewportArguments.cpp.
- * GNUmakefile.am: Added files ViewportArguments.cpp and ViewportArguments.h.
- * WebCore.gypi: Ditto.
- * WebCore.pro: Ditto.
- * WebCore.vcproj/WebCore.vcproj: Ditto.
- * WebCore.xcodeproj/project.pbxproj: Ditto.
- * dom/Document.cpp:
- (WebCore::isSeparator): Added.
- (WebCore::Document::processArguments): Added.
- (WebCore::Document::processViewport): Added.
- * dom/Document.h:
- * dom/ViewportArguments.cpp: Added.
- (WebCore::setViewportFeature):
- (WebCore::viewportErrorMessageTemplate):
- (WebCore::viewportErrorMessageLevel):
- (WebCore::reportViewportWarning):
- * dom/ViewportArguments.h: Added.
- (WebCore::):
- (WebCore::ViewportArguments::):
- (WebCore::ViewportArguments::ViewportArguments):
- (WebCore::ViewportArguments::hasCustomArgument):
- * html/HTMLMetaElement.cpp:
- (WebCore::HTMLMetaElement::process): Modified to call Document::processViewport.
- * page/ChromeClient.h:
- (WebCore::ChromeClient::didReceiveViewportArguments): Added.
-
-2010-04-16 No'am Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Antti Koivisto.
-
- [Qt] GraphicsLayer: support fill-modes
- https://bugs.webkit.org/show_bug.cgi?id=36216
- Implement the CSS-animation "fill mode" concept in GraphicsLayerQt. The concept
- enables a key-frame animation to go to the animation's starting point before the delay,
- and/or to stay at the animation's ending point after its ended, without reverting to the default
- value.
- We do that by manually setting the value to keyframe-0 before the delay if fill-mode is backwards/both,
- and manually modifying the default value to the animated value as we animate, with fill-mode forwards/both.
-
- * platform/graphics/qt/GraphicsLayerQt.cpp:
- (WebCore::AnimationQtBase::AnimationQtBase):
- (WebCore::TransformAnimationQt::~TransformAnimationQt):
- (WebCore::TransformAnimationQt::applyFrame):
- (WebCore::GraphicsLayerQt::addAnimation):
-
-2010-04-16 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (arm build fix).
-
- * bindings/js/JSDesktopNotificationsCustom.cpp:
- (WebCore::JSNotification::addEventListener):
- (WebCore::JSNotification::removeEventListener):
-
-2010-04-16 Dmitry Titov <dimich@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- [v8] In Workers, script errors right after close() are not delivered to the Worker.onerror.
- https://bugs.webkit.org/show_bug.cgi?id=37691
-
- Existing worker-close.html will now work in Chromium.
-
- * bindings/v8/V8Utilities.cpp:
- (WebCore::getScriptExecutionContext): Stop using proxy() to just retrieve WorkerContext which should be always available.
- * bindings/v8/WorkerContextExecutionProxy.h: removed workerContext() accessor which moved to WorkerScriptController.
- * bindings/v8/WorkerScriptController.h:
- (WebCore::WorkerScriptController::workerContext): Added, to be able to pull WorkerContext out from the controller.
-
-2010-04-16 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=37735
- Remove JSC specific code from WebCore::AtomicString
-
- Add generic constructor/add/find methods that take a UChar* & length, along
- with a known existing hash for the string.
- This removes the remaining JSC specific code from platform/text.
-
- * bindings/js/JSAbstractWorkerCustom.cpp:
- (WebCore::JSAbstractWorker::addEventListener):
- (WebCore::JSAbstractWorker::removeEventListener):
- * bindings/js/JSDOMApplicationCacheCustom.cpp:
- (WebCore::JSDOMApplicationCache::addEventListener):
- (WebCore::JSDOMApplicationCache::removeEventListener):
- * bindings/js/JSDOMBinding.cpp:
- (WebCore::ustringToAtomicString):
- (WebCore::identifierToAtomicString):
- (WebCore::findAtomicString):
- * bindings/js/JSDOMBinding.h:
- * bindings/js/JSDOMWindowCustom.cpp:
- (WebCore::childFrameGetter):
- (WebCore::JSDOMWindow::getOwnPropertySlot):
- (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
- (WebCore::JSDOMWindow::open):
- (WebCore::JSDOMWindow::addEventListener):
- (WebCore::JSDOMWindow::removeEventListener):
- * bindings/js/JSElementCustom.cpp:
- (WebCore::JSElement::setAttribute):
- (WebCore::JSElement::setAttributeNS):
- * bindings/js/JSEventSourceCustom.cpp:
- (WebCore::JSEventSource::addEventListener):
- (WebCore::JSEventSource::removeEventListener):
- * bindings/js/JSHTMLAllCollectionCustom.cpp:
- (WebCore::getNamedItems):
- (WebCore::JSHTMLAllCollection::canGetItemsForName):
- * bindings/js/JSHTMLCollectionCustom.cpp:
- (WebCore::getNamedItems):
- (WebCore::JSHTMLCollection::canGetItemsForName):
- * bindings/js/JSHTMLDocumentCustom.cpp:
- (WebCore::JSHTMLDocument::canGetItemsForName):
- * bindings/js/JSHTMLFormElementCustom.cpp:
- (WebCore::JSHTMLFormElement::canGetItemsForName):
- (WebCore::JSHTMLFormElement::nameGetter):
- * bindings/js/JSHTMLFrameSetElementCustom.cpp:
- (WebCore::JSHTMLFrameSetElement::canGetItemsForName):
- (WebCore::JSHTMLFrameSetElement::nameGetter):
- * bindings/js/JSMessageEventCustom.cpp:
- (WebCore::JSMessageEvent::initMessageEvent):
- * bindings/js/JSMessagePortCustom.cpp:
- (WebCore::JSMessagePort::addEventListener):
- (WebCore::JSMessagePort::removeEventListener):
- * bindings/js/JSMimeTypeArrayCustom.cpp:
- (WebCore::JSMimeTypeArray::canGetItemsForName):
- (WebCore::JSMimeTypeArray::nameGetter):
- * bindings/js/JSNodeCustom.cpp:
- (WebCore::JSNode::addEventListener):
- (WebCore::JSNode::removeEventListener):
- * bindings/js/JSNodeListCustom.cpp:
- (WebCore::JSNodeList::canGetItemsForName):
- (WebCore::JSNodeList::nameGetter):
- * bindings/js/JSPluginArrayCustom.cpp:
- (WebCore::JSPluginArray::canGetItemsForName):
- (WebCore::JSPluginArray::nameGetter):
- * bindings/js/JSPluginCustom.cpp:
- (WebCore::JSPlugin::canGetItemsForName):
- (WebCore::JSPlugin::nameGetter):
- * bindings/js/JSPopStateEventCustom.cpp:
- (WebCore::JSPopStateEvent::initPopStateEvent):
- * bindings/js/JSSVGElementInstanceCustom.cpp:
- (WebCore::JSSVGElementInstance::addEventListener):
- (WebCore::JSSVGElementInstance::removeEventListener):
- * bindings/js/JSWebSocketCustom.cpp:
- (WebCore::JSWebSocket::addEventListener):
- (WebCore::JSWebSocket::removeEventListener):
- * bindings/js/JSWorkerContextCustom.cpp:
- (WebCore::JSWorkerContext::addEventListener):
- (WebCore::JSWorkerContext::removeEventListener):
- * bindings/js/JSXMLHttpRequestCustom.cpp:
- (WebCore::JSXMLHttpRequest::setRequestHeader):
- (WebCore::JSXMLHttpRequest::getResponseHeader):
- (WebCore::JSXMLHttpRequest::addEventListener):
- (WebCore::JSXMLHttpRequest::removeEventListener):
- * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
- (WebCore::JSXMLHttpRequestUpload::addEventListener):
- (WebCore::JSXMLHttpRequestUpload::removeEventListener):
- * platform/text/AtomicString.cpp:
- (WebCore::AtomicString::add):
- (WebCore::AtomicString::find):
- * platform/text/AtomicString.h:
- (WebCore::AtomicString::AtomicString):
-
-2010-04-16 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by Alexey Proskuryakov.
-
- WebSocket crash when it receives bad header.
- https://bugs.webkit.org/show_bug.cgi?id=37682
+ Allow descendant frame navigation for file URLs when allowFileAccessFromFileURLs is false
+ https://bugs.webkit.org/show_bug.cgi?id=39750
- If name or value is not valid UTF-8, nameStr or valueStr would be
- null string, so crashed in headers->add(nameStr, valueStr).
- Check both nameStr and valueStr are not null string.
- Otherwise handshake will fail.
+ Fix for local HTML package breakage when each file is its own origin.
+ In this case we should allow descendant file: frames to navigate each
+ other when they share the same top frame.
- Test: websocket/tests/bad-handshake-crash.html
+ Test: fast/frames/location-change-no-file-access.html
- * websockets/WebSocketHandshake.cpp:
- (WebCore::WebSocketHandshake::readHTTPHeaders): check nameStr and valueStr are not null string.
-
-2010-04-16 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Simon Fraser.
-
- <rdar://problem/7873647> Crash when updating hover state
-
- Test: fast/dynamic/hover-style-recalc-crash.html
-
- Updating the hover state of an element caused the document to need style
- recalc, and then updating the hover state of a link caused style recalc,
- which changed the render tree while updateHoverActiveState() was iterating
- over it, leading to a crash.
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::shouldAllowNavigation):
- * rendering/RenderLayer.cpp:
- (WebCore::RenderLayer::updateHoverActiveState): Collect the nodes to be
- updated into vectors, then update their active and hover states.
+2010-05-29 Geoffrey Garen <ggaren@apple.com>
-2010-04-16 Dumitru Daniliuc <dumi@chromium.org>
+ Qt build fix: Updated for ArgList changes.
- Reviewed by Alexey Proskuryakov.
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::QtRuntimeConnectionMethod::call):
- Make Safari correctly allocate 5MB of DB storage to all new
- origins.
- https://bugs.webkit.org/show_bug.cgi?id=36671
+2010-05-29 Geoffrey Garen <ggaren@apple.com>
- Eric fixed the same problem in
- DatabaseTracker::fullPathForDatabaseNoLock() in r57128, but forgot
- to fix it in DatabaseTracker::detailsForNameAndOrigin() too.
+ Qt build fix: Updated for ArgList changes.
- * storage/DatabaseTracker.cpp:
- (WebCore::DatabaseTracker::detailsForNameAndOrigin):
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::QtRuntimeMetaMethod::call):
+ (JSC::Bindings::QtRuntimeConnectionMethod::call):
-2010-04-16 Kinuko Yasuda <kinuko@chromium.org>
+2010-05-29 Geoffrey Garen <ggaren@apple.com>
- Reviewed by Jian Li.
+ Qt build fix: Updated for ArgList changes.
- Implement FileStreamProxy that calls FileStream methods on FileThread for FileAPI
- https://bugs.webkit.org/show_bug.cgi?id=37218
+ * bridge/qt/qt_pixmapruntime.cpp:
+ (JSC::Bindings::QtPixmapInstance::invokeMethod):
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::findMethodIndex):
+ (JSC::Bindings::QtRuntimeMetaMethod::call):
+ (JSC::Bindings::QtRuntimeConnectionMethod::call):
+ * bridge/qt/qt_runtime.h:
- No new tests; tests will be added when we add upper layer implementations.
+2010-05-29 Geoffrey Garen <ggaren@apple.com>
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * html/FileStream.cpp:
- (WebCore::FileStream::stop):
- * html/FileStream.h:
- * html/FileStreamClient.h:
- (WebCore::FileStreamClient::didStop):
- * html/FileStreamProxy.cpp: Added
- * html/FileStreamProxy.h: Added
- * html/FileThreadTask.h: Added
+ Qt build fix: Updated for ArgList changes.
-2010-04-16 Gavin Barraclough <barraclough@apple.com>
+ * bridge/qt/qt_pixmapruntime.cpp:
+ (JSC::Bindings::QtPixmapAssignToElementMethod::invoke):
+ (JSC::Bindings::QtPixmapToDataUrlMethod::invoke):
+ (JSC::Bindings::QtPixmapToStringMethod::invoke):
+ (JSC::Bindings::QtPixmapInstance::invokeMethod):
+ * bridge/qt/qt_pixmapruntime.h:
- Reviewed by Oliver Hunt.
+2010-05-29 Geoffrey Garen <ggaren@apple.com>
- Bug 37730 - Remove JSC::UString dependencies from WebCore::StringImpl
- (Following on from bug #37675).
+ Qt build fix: Keep this borken class limping along.
- Remove ustring() method, and constructor passed a UString.
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtInstance::invokeMethod):
+ * bridge/qt/qt_instance.h:
- * WebCore.base.exp:
- * bindings/js/JSDOMBinding.cpp:
- (WebCore::stringimplToUString):
- (WebCore::jsStringSlowCase):
- (WebCore::ustringToString):
- (WebCore::stringToUString):
- (WebCore::identifierToString):
- * bindings/js/JSDOMBinding.h:
- (WebCore::jsString):
- * platform/text/AtomicString.cpp:
- (WebCore::AtomicString::operator UString):
- * platform/text/StringImpl.cpp:
- (WebCore::StringImpl::create):
- * platform/text/StringImpl.h:
-
-2010-04-16 Jarkko Sakkinen <jarkko.j.sakkinen@gmail.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] WebGL is not visible when QGLWidget viewport is used
- https://bugs.webkit.org/show_bug.cgi?id=37070
-
- Added HostWindow parameter to the constructor of GraphicsContext3D.
- Shared OpenGL context is initialized with parent QGLWidget.
-
- * html/canvas/WebGLRenderingContext.cpp:
- (WebCore::WebGLRenderingContext::create):
- * platform/graphics/GraphicsContext3D.h:
- * platform/graphics/mac/GraphicsContext3DMac.cpp:
- (WebCore::GraphicsContext3D::create):
- (WebCore::GraphicsContext3D::GraphicsContext3D):
- * platform/graphics/qt/GraphicsContext3DQt.cpp:
- (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
- (WebCore::GraphicsContext3DInternal::~GraphicsContext3DInternal):
- (WebCore::GraphicsContext3DInternal::getOwnerGLWidget):
- (WebCore::GraphicsContext3D::create):
- (WebCore::GraphicsContext3D::GraphicsContext3D):
+2010-05-28 Geoffrey Garen <ggaren@apple.com>
-2010-04-16 Jarkko Sakkinen <jarkko.j.sakkinen@gmail.com>
+ Reviewed by Sam Weinig, Gavin Barraclough, Oliver Hunt.
- Reviewed by Simon Hausmann.
+ Simplified the host calling convention.
- [Qt] WebKit compilation fails with --3d-canvas
- https://bugs.webkit.org/show_bug.cgi?id=37699
+ PART ONE: Functional code changes.
- API for readPixels() has been changed.
-
- * platform/graphics/qt/GraphicsContext3DQt.cpp:
- (WebCore::GraphicsContext3D::readPixels):
-
-2010-04-16 No'am Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Antti Koivisto.
-
- [Qt]QtLauncher crash on page with CSS 3D transform
- https://bugs.webkit.org/show_bug.cgi?id=36859
-
- Added a neccessary null-pointer check, lack of which created the crash circumstances.
-
- Tested by http://css-vfx.googlecode.com/svn/trunk/snowstack/snowstack.html
-
- * platform/graphics/qt/GraphicsLayerQt.cpp:
- (WebCore::GraphicsLayerQtImpl::flushChanges):
-
-2010-04-16 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Make sure to update the current graphics context when calling out to AppKit.
-
- * platform/mac/ThemeMac.mm:
- (WebCore::paintCheckbox):
- (WebCore::paintRadio):
-
-2010-04-15 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Sam Weinig & Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=37675
- Remove casts/constructors to/from JSC::UString type from WebCore::String
+ [ None in WebCore ]
- WebCore's strings should not know about JSC::UString, this should be abstracted
- away in the bindings. Add explicit conversion methods rather than relying on
- overloaded cast operators / constructors being implicitly called.
-
- This patch only changes the class String, once this has landed StringImpl, and
- hopefully AtomicString too, should follow suit.
-
- This patch adds:
- WebCore::identifierToString
- WebCore::ustringToString
- WebCore::stringToUString
-
- - to JSDOMBindings.h, and updates code to call these methods.
+ PART TWO: Global search and replace.
+
+ In the areas below, I used global search-and-replace to change
+ (ExecState*, JSObject*, JSValue, const ArgList&) => (ExecState*)
+ args.size() => exec->argumentCount()
+ args.at(i) => exec->argument(i)
- * WebCore.base.exp:
- * WebCore.order:
- * bindings/js/CachedScriptSourceProvider.h:
- (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
- * bindings/js/JSAudioConstructor.cpp:
- (WebCore::constructAudio):
- * bindings/js/JSCSSStyleDeclarationCustom.cpp:
- (WebCore::JSCSSStyleDeclaration::nameGetter):
+ * bindings/js/JSArrayBufferViewCustom.cpp:
+ (WebCore::JSArrayBufferView::slice):
+ * bindings/js/JSArrayBufferViewHelper.h:
+ (WebCore::setWebGLArrayHelper):
* bindings/js/JSCanvasRenderingContext2DCustom.cpp:
- (WebCore::toHTMLCanvasStyle):
(WebCore::JSCanvasRenderingContext2D::setFillColor):
(WebCore::JSCanvasRenderingContext2D::setStrokeColor):
+ (WebCore::JSCanvasRenderingContext2D::strokeRect):
+ (WebCore::JSCanvasRenderingContext2D::drawImage):
(WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
(WebCore::JSCanvasRenderingContext2D::setShadow):
+ (WebCore::JSCanvasRenderingContext2D::createPattern):
+ (WebCore::JSCanvasRenderingContext2D::createImageData):
+ (WebCore::JSCanvasRenderingContext2D::putImageData):
(WebCore::JSCanvasRenderingContext2D::fillText):
(WebCore::JSCanvasRenderingContext2D::strokeText):
* bindings/js/JSClipboardCustom.cpp:
- (WebCore::JSClipboard::types):
(WebCore::JSClipboard::clearData):
(WebCore::JSClipboard::getData):
- (WebCore::JSClipboard::setData):
- * bindings/js/JSCustomXPathNSResolver.cpp:
- (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
- * bindings/js/JSDOMBinding.cpp:
- (WebCore::identifierToString):
- (WebCore::ustringToString):
- (WebCore::stringToUString):
- (WebCore::valueToStringWithNullCheck):
- (WebCore::valueToStringWithUndefinedOrNullCheck):
- (WebCore::reportException):
- * bindings/js/JSDOMBinding.h:
+ (WebCore::JSClipboard::setDragImage):
+ * bindings/js/JSDOMApplicationCacheCustom.cpp:
+ (WebCore::JSDOMApplicationCache::hasItem):
+ (WebCore::JSDOMApplicationCache::add):
+ (WebCore::JSDOMApplicationCache::remove):
* bindings/js/JSDOMFormDataCustom.cpp:
(WebCore::JSDOMFormData::append):
* bindings/js/JSDOMWindowCustom.cpp:
- (WebCore::namedItemGetter):
- (WebCore::JSDOMWindow::setLocation):
+ (WebCore::JSDOMWindow::open):
+ (WebCore::JSDOMWindow::showModalDialog):
+ (WebCore::JSDOMWindow::postMessage):
+ (WebCore::JSDOMWindow::setTimeout):
+ (WebCore::JSDOMWindow::setInterval):
+ (WebCore::JSDOMWindow::addEventListener):
+ (WebCore::JSDOMWindow::removeEventListener):
(WebCore::JSDOMWindow::openDatabase):
* bindings/js/JSDatabaseCustom.cpp:
(WebCore::JSDatabase::changeVersion):
- * bindings/js/JSDocumentCustom.cpp:
- (WebCore::JSDocument::setLocation):
- * bindings/js/JSEventListener.cpp:
- (WebCore::JSEventListener::handleEvent):
- * bindings/js/JSEventSourceConstructor.cpp:
- (WebCore::constructEventSource):
+ (WebCore::createTransaction):
+ (WebCore::JSDatabase::transaction):
+ (WebCore::JSDatabase::readTransaction):
+ * bindings/js/JSDatabaseSyncCustom.cpp:
+ (WebCore::JSDatabaseSync::changeVersion):
+ (WebCore::createTransaction):
+ (WebCore::JSDatabaseSync::transaction):
+ (WebCore::JSDatabaseSync::readTransaction):
+ * bindings/js/JSDedicatedWorkerContextCustom.cpp:
+ (WebCore::JSDedicatedWorkerContext::postMessage):
+ * bindings/js/JSDesktopNotificationsCustom.cpp:
+ (WebCore::JSNotificationCenter::requestPermission):
+ * bindings/js/JSFloatArrayCustom.cpp:
+ (WebCore::JSFloatArray::set):
+ * bindings/js/JSGeolocationCustom.cpp:
+ (WebCore::JSGeolocation::getCurrentPosition):
+ (WebCore::JSGeolocation::watchPosition):
* bindings/js/JSHTMLAllCollectionCustom.cpp:
(WebCore::callHTMLAllCollection):
+ (WebCore::JSHTMLAllCollection::item):
+ (WebCore::JSHTMLAllCollection::namedItem):
* bindings/js/JSHTMLCanvasElementCustom.cpp:
(WebCore::JSHTMLCanvasElement::getContext):
* bindings/js/JSHTMLCollectionCustom.cpp:
(WebCore::callHTMLCollection):
+ (WebCore::JSHTMLCollection::item):
+ (WebCore::JSHTMLCollection::namedItem):
* bindings/js/JSHTMLDocumentCustom.cpp:
- (WebCore::JSHTMLDocument::nameGetter):
+ (WebCore::JSHTMLDocument::open):
(WebCore::documentWrite):
+ (WebCore::JSHTMLDocument::write):
+ (WebCore::JSHTMLDocument::writeln):
+ * bindings/js/JSHTMLInputElementCustom.cpp:
+ (WebCore::JSHTMLInputElement::setSelectionRange):
+ * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
+ (WebCore::JSHTMLOptionsCollection::add):
+ (WebCore::JSHTMLOptionsCollection::remove):
+ * bindings/js/JSHTMLSelectElementCustom.cpp:
+ (WebCore::JSHTMLSelectElement::remove):
+ * bindings/js/JSHistoryCustom.cpp:
+ (WebCore::JSHistory::pushState):
+ (WebCore::JSHistory::replaceState):
* bindings/js/JSInjectedScriptHostCustom.cpp:
- (WebCore::InjectedScriptHost::createInjectedScript):
+ (WebCore::JSInjectedScriptHost::databaseForId):
+ (WebCore::JSInjectedScriptHost::currentCallFrame):
+ (WebCore::JSInjectedScriptHost::nodeForId):
+ (WebCore::JSInjectedScriptHost::pushNodePathToFrontend):
+ (WebCore::JSInjectedScriptHost::selectDatabase):
+ (WebCore::JSInjectedScriptHost::selectDOMStorage):
+ (WebCore::JSInjectedScriptHost::reportDidDispatchOnInjectedScript):
* bindings/js/JSInspectorFrontendHostCustom.cpp:
+ (WebCore::JSInspectorFrontendHost::platform):
+ (WebCore::JSInspectorFrontendHost::port):
(WebCore::JSInspectorFrontendHost::showContextMenu):
- * bindings/js/JSLazyEventListener.cpp:
- (WebCore::JSLazyEventListener::initializeJSFunction):
+ * bindings/js/JSInt16ArrayCustom.cpp:
+ (WebCore::JSInt16Array::set):
+ * bindings/js/JSInt32ArrayCustom.cpp:
+ (WebCore::JSInt32Array::set):
+ * bindings/js/JSInt8ArrayCustom.cpp:
+ (WebCore::JSInt8Array::set):
+ * bindings/js/JSJavaScriptCallFrameCustom.cpp:
+ (WebCore::JSJavaScriptCallFrame::evaluate):
+ (WebCore::JSJavaScriptCallFrame::scopeType):
* bindings/js/JSLocationCustom.cpp:
- (WebCore::JSLocation::setHref):
- (WebCore::JSLocation::setProtocol):
- (WebCore::JSLocation::setHost):
- (WebCore::JSLocation::setHostname):
- (WebCore::JSLocation::setPathname):
- (WebCore::JSLocation::setSearch):
- (WebCore::JSLocation::setHash):
(WebCore::JSLocation::replace):
+ (WebCore::JSLocation::reload):
(WebCore::JSLocation::assign):
+ (WebCore::JSLocation::toString):
* bindings/js/JSMessageEventCustom.cpp:
(WebCore::JSMessageEvent::initMessageEvent):
- * bindings/js/JSNamedNodeMapCustom.cpp:
- (WebCore::JSNamedNodeMap::canGetItemsForName):
- (WebCore::JSNamedNodeMap::nameGetter):
- * bindings/js/JSOptionConstructor.cpp:
- (WebCore::constructHTMLOptionElement):
+ * bindings/js/JSMessagePortCustom.cpp:
+ (WebCore::JSMessagePort::postMessage):
+ * bindings/js/JSMessagePortCustom.h:
+ (WebCore::handlePostMessage):
+ * bindings/js/JSNodeCustom.cpp:
+ (WebCore::JSNode::insertBefore):
+ (WebCore::JSNode::replaceChild):
+ (WebCore::JSNode::removeChild):
+ (WebCore::JSNode::appendChild):
+ * bindings/js/JSNodeListCustom.cpp:
+ (WebCore::callNodeList):
+ * bindings/js/JSPluginElementFunctions.cpp:
+ (WebCore::callPlugin):
* bindings/js/JSSQLResultSetRowListCustom.cpp:
(WebCore::JSSQLResultSetRowList::item):
* bindings/js/JSSQLTransactionCustom.cpp:
(WebCore::JSSQLTransaction::executeSql):
- * bindings/js/JSSharedWorkerConstructor.cpp:
- (WebCore::constructSharedWorker):
- * bindings/js/JSStorageCustom.cpp:
- (WebCore::JSStorage::canGetItemsForName):
- (WebCore::JSStorage::nameGetter):
- (WebCore::JSStorage::deleteProperty):
- (WebCore::JSStorage::getOwnPropertyNames):
- (WebCore::JSStorage::putDelegate):
- * bindings/js/JSStyleSheetListCustom.cpp:
- (WebCore::JSStyleSheetList::canGetItemsForName):
- (WebCore::JSStyleSheetList::nameGetter):
- * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
- (WebCore::constructWebKitCSSMatrix):
- * bindings/js/JSWebSocketConstructor.cpp:
- (WebCore::constructWebSocket):
+ * bindings/js/JSSQLTransactionSyncCustom.cpp:
+ (WebCore::JSSQLTransactionSync::executeSql):
+ * bindings/js/JSSVGLengthCustom.cpp:
+ (WebCore::JSSVGLength::convertToSpecifiedUnits):
+ * bindings/js/JSSVGMatrixCustom.cpp:
+ (WebCore::JSSVGMatrix::multiply):
+ (WebCore::JSSVGMatrix::inverse):
+ (WebCore::JSSVGMatrix::rotateFromVector):
+ * bindings/js/JSSVGPODListCustom.h:
+ (WebCore::JSSVGPODListCustom::clear):
+ (WebCore::JSSVGPODListCustom::initialize):
+ (WebCore::JSSVGPODListCustom::getItem):
+ (WebCore::JSSVGPODListCustom::insertItemBefore):
+ (WebCore::JSSVGPODListCustom::replaceItem):
+ (WebCore::JSSVGPODListCustom::removeItem):
+ (WebCore::JSSVGPODListCustom::appendItem):
+ * bindings/js/JSSVGPathSegListCustom.cpp:
+ (WebCore::JSSVGPathSegList::clear):
+ (WebCore::JSSVGPathSegList::initialize):
+ (WebCore::JSSVGPathSegList::getItem):
+ (WebCore::JSSVGPathSegList::insertItemBefore):
+ (WebCore::JSSVGPathSegList::replaceItem):
+ (WebCore::JSSVGPathSegList::removeItem):
+ (WebCore::JSSVGPathSegList::appendItem):
+ * bindings/js/JSUint16ArrayCustom.cpp:
+ (WebCore::JSUint16Array::set):
+ * bindings/js/JSUint32ArrayCustom.cpp:
+ (WebCore::JSUint32Array::set):
+ * bindings/js/JSUint8ArrayCustom.cpp:
+ (WebCore::JSUint8Array::set):
+ * bindings/js/JSWebGLRenderingContextCustom.cpp:
+ (WebCore::JSWebGLRenderingContext::bufferData):
+ (WebCore::JSWebGLRenderingContext::bufferSubData):
+ (WebCore::getObjectParameter):
+ (WebCore::JSWebGLRenderingContext::getBufferParameter):
+ (WebCore::JSWebGLRenderingContext::getFramebufferAttachmentParameter):
+ (WebCore::JSWebGLRenderingContext::getParameter):
+ (WebCore::JSWebGLRenderingContext::getProgramParameter):
+ (WebCore::JSWebGLRenderingContext::getRenderbufferParameter):
+ (WebCore::JSWebGLRenderingContext::getShaderParameter):
+ (WebCore::JSWebGLRenderingContext::getTexParameter):
+ (WebCore::JSWebGLRenderingContext::getUniform):
+ (WebCore::JSWebGLRenderingContext::getVertexAttrib):
+ (WebCore::JSWebGLRenderingContext::texImage2D):
+ (WebCore::JSWebGLRenderingContext::texSubImage2D):
+ (WebCore::dataFunctionf):
+ (WebCore::dataFunctioni):
+ (WebCore::dataFunctionMatrix):
+ (WebCore::JSWebGLRenderingContext::uniform1fv):
+ (WebCore::JSWebGLRenderingContext::uniform1iv):
+ (WebCore::JSWebGLRenderingContext::uniform2fv):
+ (WebCore::JSWebGLRenderingContext::uniform2iv):
+ (WebCore::JSWebGLRenderingContext::uniform3fv):
+ (WebCore::JSWebGLRenderingContext::uniform3iv):
+ (WebCore::JSWebGLRenderingContext::uniform4fv):
+ (WebCore::JSWebGLRenderingContext::uniform4iv):
+ (WebCore::JSWebGLRenderingContext::uniformMatrix2fv):
+ (WebCore::JSWebGLRenderingContext::uniformMatrix3fv):
+ (WebCore::JSWebGLRenderingContext::uniformMatrix4fv):
+ (WebCore::JSWebGLRenderingContext::vertexAttrib1fv):
+ (WebCore::JSWebGLRenderingContext::vertexAttrib2fv):
+ (WebCore::JSWebGLRenderingContext::vertexAttrib3fv):
+ (WebCore::JSWebGLRenderingContext::vertexAttrib4fv):
* bindings/js/JSWebSocketCustom.cpp:
(WebCore::JSWebSocket::send):
- * bindings/js/JSWorkerConstructor.cpp:
- (WebCore::constructWorker):
* bindings/js/JSWorkerContextCustom.cpp:
(WebCore::JSWorkerContext::importScripts):
+ (WebCore::JSWorkerContext::setTimeout):
+ (WebCore::JSWorkerContext::setInterval):
+ (WebCore::JSWorkerContext::openDatabase):
+ (WebCore::JSWorkerContext::openDatabaseSync):
+ * bindings/js/JSWorkerCustom.cpp:
+ (WebCore::JSWorker::postMessage):
* bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::open):
- (WebCore::JSXMLHttpRequest::setRequestHeader):
(WebCore::JSXMLHttpRequest::send):
- (WebCore::JSXMLHttpRequest::overrideMimeType):
* bindings/js/JSXSLTProcessorCustom.cpp:
+ (WebCore::JSXSLTProcessor::importStylesheet):
+ (WebCore::JSXSLTProcessor::transformToFragment):
+ (WebCore::JSXSLTProcessor::transformToDocument):
(WebCore::JSXSLTProcessor::setParameter):
(WebCore::JSXSLTProcessor::getParameter):
(WebCore::JSXSLTProcessor::removeParameter):
* bindings/js/ScheduledAction.cpp:
(WebCore::ScheduledAction::create):
+ (WebCore::ScheduledAction::ScheduledAction):
+ * bindings/js/ScheduledAction.h:
* bindings/js/ScriptCallFrame.cpp:
(WebCore::ScriptCallFrame::ScriptCallFrame):
- * bindings/js/ScriptController.cpp:
- (WebCore::ScriptController::evaluateInWorld):
- * bindings/js/ScriptDebugServer.cpp:
- (WebCore::ScriptDebugServer::hasBreakpoint):
- (WebCore::ScriptDebugServer::dispatchDidParseSource):
- (WebCore::ScriptDebugServer::dispatchFailedToParseSource):
- (WebCore::ScriptDebugServer::sourceParsed):
- * bindings/js/ScriptEventListener.cpp:
- (WebCore::getEventListenerHandlerBody):
- * bindings/js/ScriptFunctionCall.cpp:
- (WebCore::ScriptFunctionCall::appendArgument):
- (WebCore::ScriptFunctionCall::call):
- (WebCore::ScriptFunctionCall::construct):
- * bindings/js/ScriptObject.cpp:
- (WebCore::ScriptObject::set):
- * bindings/js/ScriptProfiler.cpp:
- (WebCore::ScriptProfiler::start):
- (WebCore::ScriptProfiler::stop):
- * bindings/js/ScriptString.h:
- (WebCore::ScriptString::operator String):
- (WebCore::ScriptString::ustring):
- (WebCore::ScriptString::operator+=):
- * bindings/js/ScriptValue.cpp:
- (WebCore::ScriptValue::getString):
- * bindings/js/ScriptValue.h:
- (WebCore::ScriptValue::toString):
- * bindings/js/SerializedScriptValue.cpp:
- (WebCore::SerializedObject::set):
- (WebCore::SerializingTreeWalker::convertIfTerminal):
- (WebCore::DeserializingTreeWalker::putProperty):
- * bindings/js/StringSourceProvider.h:
- (WebCore::StringSourceProvider::StringSourceProvider):
- * bindings/objc/WebScriptObject.mm:
- (-[WebScriptObject callWebScriptMethod:withArguments:]):
- (-[WebScriptObject setValue:forKey:]):
- (-[WebScriptObject valueForKey:]):
- (-[WebScriptObject removeWebScriptKey:]):
+ * bindings/js/ScriptCallFrame.h:
+ * bindings/js/ScriptCallStack.cpp:
+ (WebCore::ScriptCallStack::ScriptCallStack):
+ (WebCore::ScriptCallStack::initialize):
+ * bindings/js/ScriptCallStack.h:
* bindings/scripts/CodeGeneratorJS.pm:
- * bridge/IdentifierRep.cpp:
- (WebCore::IdentifierRep::get):
- * bridge/c/c_utility.cpp:
- (JSC::Bindings::identifierFromNPIdentifier):
- * inspector/InspectorController.cpp:
- (WebCore::InspectorController::scriptImported):
- (WebCore::InspectorController::addProfileFinishedMessageToConsole):
- (WebCore::InspectorController::createProfileHeader):
- * inspector/InspectorResource.cpp:
- (WebCore::InspectorResource::sourceString):
- * inspector/JavaScriptCallFrame.cpp:
- (WebCore::JavaScriptCallFrame::functionName):
- * platform/KURL.h:
- (WebCore::KURL::operator const String&):
- * platform/text/AtomicString.cpp:
- (WebCore::AtomicString::operator UString):
- * platform/text/AtomicString.h:
- * platform/text/PlatformString.h:
- * platform/text/String.cpp:
-
-2010-04-16 Anders Carlsson <andersca@apple.com>
-
- Reviewed by David Hyatt.
-
- Always pass a view to the AppKit drawing functions.
- https://bugs.webkit.org/show_bug.cgi?id=37724
-
- * platform/mac/ThemeMac.mm:
- (WebCore::paintCheckbox):
- (WebCore::paintRadio):
- * rendering/RenderThemeMac.mm:
- (WebCore::RenderThemeMac::paintMenuList):
- (WebCore::RenderThemeMac::paintSliderThumb):
- (WebCore::RenderThemeMac::paintSearchField):
- (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
- (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
- (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
-
-2010-04-16 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Dan Bernstein.
-
- https://bugs.webkit.org/show_bug.cgi?id=37718
- Safari crashes with certain JavaScript charCode events in EventHandler::needsKeyboardEventDisambiguationQuirks
-
- Test: fast/events/recorded-keydown-event.html
-
- * dom/KeyboardEvent.cpp: (WebCore::KeyboardEvent::charCode): Check if the view (window) is
- frameless.
-
-2010-04-16 Jian Li <jianli@chromium.org>
-
- Reviewed by Dmitry Titov.
-
- Update FormDataList to fix style violations in old code.
- https://bugs.webkit.org/show_bug.cgi?id=37689
-
- * html/FormDataList.h:
- (WebCore::FormDataList::appendData):
- (WebCore::FormDataList::appendBlob):
-
-2010-04-16 Anders Carlsson <andersca@apple.com>
-
- Fix WebKit2 build.
-
- * WebCore.base.exp:
-
-2010-04-16 Jay Civelli <jcivelli@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [chromium] Fix Mac build.
- https://bugs.webkit.org/show_bug.cgi?id=37436
-
- * platform/chromium/PopupMenuChromium.h:
-
-2010-04-16 Jay Civelli <jcivelli@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [chromium] Select popups would assert when destroyed.
- https://bugs.webkit.org/show_bug.cgi?id=37436
-
-
- * platform/chromium/PopupMenuChromium.cpp:
- (WebCore::PopupContainer::PopupContainer):
- (WebCore::PopupContainer::showPopup):
- (WebCore::PopupContainer::notifyPopupHidden):
- * platform/chromium/PopupMenuChromium.h:
-
-2010-04-16 Antonio Gomes <tonikitoo@webkit.org>
-
- Unreviewed QtWebKit (with Qt 4.7) build fix.
-
- Bug 37683 moved code from FontQt.cpp to FontPlatformDataQt.cpp but did not
- renamed the variable used.
-
- * platform/graphics/qt/FontPlatformDataQt.cpp:
- (WebCore::FontPlatformData::FontPlatformData):
+ * bridge/c/c_instance.cpp:
+ (JSC::Bindings::CInstance::invokeMethod):
+ (JSC::Bindings::CInstance::invokeDefaultMethod):
+ * bridge/c/c_instance.h:
+ * bridge/jni/jsc/JavaInstanceJSC.cpp:
+ (JavaInstance::invokeMethod):
+ * bridge/jni/jsc/JavaInstanceJSC.h:
+ * bridge/jsc/BridgeJSC.h:
+ (JSC::Bindings::Instance::invokeDefaultMethod):
+ * bridge/objc/objc_instance.h:
+ * bridge/objc/objc_instance.mm:
+ (ObjcInstance::invokeMethod):
+ (ObjcInstance::invokeObjcMethod):
+ (ObjcInstance::invokeDefaultMethod):
+ * bridge/objc/objc_runtime.mm:
+ (JSC::Bindings::callObjCFallbackObject):
+ * bridge/runtime_method.cpp:
+ (JSC::callRuntimeMethod):
+ * bridge/runtime_object.cpp:
+ (JSC::Bindings::callRuntimeObject):
-2010-04-16 Noam Rosenthal <noam.rosenthal@nokia.com>
+2010-05-28 Stephen White <senorblanco@chromium.org>
- Reviewed by Kenneth Rohde Christiansen.
+ Reviewed by Darin Fisher.
- Make GraphicsLayerQt always use ItemCoordinateCache, and remove ItemUsesExtendedStyleOption.
- This aligns our implementation with the Safari implementation - layers are always uploaded
- to textures in item units, and WebCore is responsible for the heuristics.
+ Implement GraphicsContext::setImageInterpolation() for the Chromium
+ port. This is preparatory work for bug 38233. A number of
+ background-resize tests will need a rebaseline, since the images are
+ taken during the initial "low quality" phase (<800ms).
- [Qt] GraphicsLayer: performance optimizations
- https://bugs.webkit.org/show_bug.cgi?id=35393
+ [CHROMIUM] Chromium port should support image interpolation quality
+ https://bugs.webkit.org/show_bug.cgi?id=38686
- No new tests. Still no FPS benchmarks available (on any platform)
- but animations are noticably better.
+ Covered by fast/backgrounds/size/backgroundSize15.html, and others.
- * platform/graphics/qt/GraphicsLayerQt.cpp:
- (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
- (WebCore::GraphicsLayerQtImpl::paint):
- (WebCore::GraphicsLayerQtImpl::flushChanges):
- (WebCore::TransformAnimationQt::updateState):
+ * platform/graphics/skia/GraphicsContextSkia.cpp:
+ Implement WebCore::GraphicsContext::setImageInterpolationQuality.
+ * platform/graphics/skia/ImageSkia.cpp:
+ (WebCore::computeResamplingMode): Only enable high quality
+ interpolation if it has been requested in the GraphicsContext.
+ (WebCore::drawResampledBitmap): Enable cacheing of resampled images
+ even if the size is not full (fix from Brett Wilson).
+ (WebCore::paintSkBitmap): Pass in the PlatformContextSkia to
+ computeResamplingMode, so it can query it for interpolation quality.
+ (WebCore::Image::drawPattern): Ibid.
+ * platform/graphics/skia/PlatformContextSkia.cpp:
+ (PlatformContextSkia::State::State):
+ (PlatformContextSkia::interpolationQuality):
+ (PlatformContextSkia::setInterpolationQuality):
+ * platform/graphics/skia/PlatformContextSkia.h:
+ Add a member fn and accessors to retain the image interpolation quality
+ in the platform context, and to save/restore it with the state.
-2010-04-16 Simon Hausmann <simon.hausmann@nokia.com>
+2010-05-28 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Reviewed by Kenneth Rohde Christiansen.
- [Qt] WebCore::Font::font() causes a QFont detach
- https://bugs.webkit.org/show_bug.cgi?id=37683
-
- Moved the setStyleStrategy call to FontPlatformData
- to avoid the detach.
-
- Thanks to Holger for spotting this.
-
- * platform/graphics/qt/FontPlatformDataQt.cpp:
- (WebCore::FontPlatformData::FontPlatformData):
- * platform/graphics/qt/FontQt.cpp:
- (WebCore::Font::font):
-
-2010-04-15 Matt Perry <mpcomplete@chromium.org>
-
- Reviewed by Adam Barth.
-
- Remove the check for the main frame's scheme when deciding which
- v8 extensions to add to a script context. Instead, Chromium will
- handle that check elsewhere to allow finer-grained control over
- what APIs we expose to web pages.
- https://bugs.webkit.org/show_bug.cgi?id=37681
-
- * bindings/v8/V8DOMWindowShell.cpp:
- (WebCore::V8DOMWindowShell::createNewContext):
-
-2010-04-15 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Antti Koivisto.
-
- No default selection for <select multiple> menu lists.
- https://bugs.webkit.org/show_bug.cgi?id=37530
-
- Manual test: manual-tests/no-listbox-rendering.html
-
- For menu lists, if the selection is not indicated by the html file, the first <option> will be
- selected after loading the page or reseting the form. On the other hand listboxes may have no
- element selected after loading the page or reseting the form.
-
- When NO_LISTBOX_RENDERING is enabled listboxes becomes menu lists. Those <select multiple>
- that did not have selected elements, now being menu lists, will have the first <option>
- selected. That is the behavior difference that this patch corrects.
-
- When NO_LISTBOX_RENDERING is enabled usesMenuList() always returns true then usesMenuList() cannot
- be used to decide about initial selection of the elements. This patch replaces (usesMenuLists())
- by (!multiple && size <= 1) where initial selection is considered.
-
- * dom/SelectElement.cpp:
- (WebCore::SelectElement::recalcListItems):
- (WebCore::SelectElement::reset):
- * manual-tests/no-listbox-rendering.html: Added.
-
-2010-04-15 Zhenyao Mo <zmo@google.com>
-
- Reviewed by Dimitri Glazkov.
-
- Index validation code validates too many vertex attributes
- https://bugs.webkit.org/show_bug.cgi?id=31892
-
- * html/canvas/WebGLProgram.cpp:
- (WebCore::WebGLProgram::cacheActiveAttribLocations): Cache active attribute locations for a program at linkProgram time.
- (WebCore::WebGLProgram::getActiveAttribLocation): Get the cached attribute location.
- (WebCore::WebGLProgram::numActiveAttribLocations): Get the number of cached attribute locations.
- * html/canvas/WebGLProgram.h: Add attribute locations member.
- * html/canvas/WebGLRenderingContext.cpp:
- (WebCore::WebGLRenderingContext::validateRenderingState): Add logic not to validate those attributes that do not belong to the current program.
- (WebCore::WebGLRenderingContext::linkProgram): Call cacheActiveAttribLocations().
+ [EFL] Remove compiler warnings about uninitialized variable.
+ https://bugs.webkit.org/show_bug.cgi?id=39871
-2010-04-16 Adam Roben <aroben@apple.com>
+ No new tests, just cosmetic changes.
- Don't assert when soft-linked libraries can't be found
-
- In some situations (e.g., when using SOFT_LINK_OPTIONAL), we expect soft-link libraries not
- to be able to be found in all cases. So we shouldn't assert that they're always found.
-
- Reviewed by Sam Weinig.
-
- * platform/win/SoftLinking.h:
- (SOFT_LINK): Don't assert when LoadLibrary fails.
-
-2010-04-15 Dmitry Titov <dimich@chromium.org>
-
- Unreviewed, rolling out r57688.
- http://trac.webkit.org/changeset/57688
- https://bugs.webkit.org/show_bug.cgi?id=34992
-
- Makes fast/workers/dedicated-worker-lifecycle.html crashing on all GTK bots
-
- * bindings/js/JSWorkerContextCustom.cpp:
- * bindings/v8/custom/V8WorkerContextCustom.cpp:
- * storage/Database.idl:
- * storage/SQLError.idl:
- * storage/SQLResultSet.idl:
- * storage/SQLResultSetRowList.idl:
- * storage/SQLTransaction.idl:
- * workers/WorkerContext.cpp:
- (WebCore::WorkerContext::openDatabase):
- * workers/WorkerContext.h:
- (WebCore::WorkerContext::databaseExceededQuota):
- * workers/WorkerContext.idl:
-
-2010-04-15 Yury Semikhatsky <yurys@google.com>
-
- Reviewed by Pavel Feldman.
-
- Support basic debugging capabilities including step in/over/out in v8
- implementation of ScriptDebugServer.
-
- https://bugs.webkit.org/show_bug.cgi?id=37604
-
- * bindings/js/JSInjectedScriptHostCustom.cpp:
- (WebCore::InjectedScriptHost::createInjectedScript):
- * bindings/v8/ScriptDebugServer.cpp:
- (WebCore::ScriptDebugServer::ScriptDebugServer):
- (WebCore::ScriptDebugServer::setDebuggerScriptSource):
- (WebCore::ScriptDebugServer::addListener):
- (WebCore::ScriptDebugServer::removeListener):
- (WebCore::ScriptDebugServer::setBreakpoint):
- (WebCore::ScriptDebugServer::removeBreakpoint):
- (WebCore::ScriptDebugServer::clearBreakpoints):
- (WebCore::ScriptDebugServer::setBreakpointsActivated):
- (WebCore::ScriptDebugServer::continueProgram):
- (WebCore::ScriptDebugServer::stepIntoStatement):
- (WebCore::ScriptDebugServer::stepOverStatement):
- (WebCore::ScriptDebugServer::stepOutOfFunction):
- (WebCore::ScriptDebugServer::currentCallFrameState):
- (WebCore::ScriptDebugServer::currentCallFrameV8):
- (WebCore::ScriptDebugServer::onV8DebugMessage):
- (WebCore::ScriptDebugServer::onV8DebugHostDispatch):
- (WebCore::ScriptDebugServer::handleV8DebugHostDispatch):
- (WebCore::ScriptDebugServer::handleV8DebugMessage):
- (WebCore::ScriptDebugServer::dispatchDidParseSource):
- (WebCore::ScriptDebugServer::ensureDebuggerScriptCompiled):
- (WebCore::ScriptDebugServer::didResume):
- * bindings/v8/ScriptDebugServer.h:
- (WebCore::ScriptDebugServer::pauseOnExceptionsState):
- (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
- (WebCore::ScriptDebugServer::setMessageLoopDispatchHandler):
- * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
- (WebCore::InjectedScriptHost::createInjectedScript):
- (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
- (WebCore::V8InjectedScriptHost::isActivationCallback):
- * inspector/front-end/InjectedScript.js:
- (injectedScriptConstructor):
- (injectedScriptConstructor.):
- * inspector/front-end/ScriptsPanel.js:
- (WebInspector.ScriptsPanel):
-
-2010-04-15 Jian Li <jianli@chromium.org>
-
- Reviewed by Dmitry Titov.
-
- Support using FormData to send a sliced file via XHR.
- https://bugs.webkit.org/show_bug.cgi?id=36678
-
- Tests: http/tests/local/formdata/send-form-data-with-sliced-file.html
-
- * html/Blob.h:
- (WebCore::Blob::isFile):
- * html/DOMFormData.cpp:
- (WebCore::DOMFormData::append):
- * html/File.h:
- (WebCore::File::isFile):
- * html/FormDataList.h:
- (WebCore::FormDataList::appendBlob):
- (WebCore::FormDataList::Item::Item):
- (WebCore::FormDataList::Item::blob):
- * html/HTMLInputElement.cpp:
- (WebCore::HTMLInputElement::appendFormData):
- * platform/network/FormData.cpp:
- (WebCore::FormData::appendDOMFormData):
- * platform/network/mac/FormDataStreamMac.mm:
- (WebCore::closeCurrentStream):
-
-2010-04-15 Zhenyao Mo <zmo@google.com>
-
- Reviewed by Dimitri Glazkov.
-
- Must enable GL_VERTEX_PROGRAM_POINT_SIZE during initialization
- https://bugs.webkit.org/show_bug.cgi?id=37178
-
- Test: fast/canvas/webgl/point-size.html
-
- * platform/graphics/mac/GraphicsContext3DMac.cpp: Enable GL_VERTEX_PROGRAM_POINT_SIZE during initialization.
- (WebCore::GraphicsContext3D::GraphicsContext3D):
-
-2010-04-15 Eric Uhrhane <ericu@chromium.org>
-
- Reviewed by Dmitry Titov.
-
- Add bindings for async DB API in Workers.
- https://bugs.webkit.org/show_bug.cgi?id=34992
-
- Tests: storage/change-version-handle-reuse-worker.html
- storage/execute-sql-args-worker.html
-
- * bindings/js/JSWorkerContextCustom.cpp: Add openDatabase binding.
- (WebCore::JSWorkerContext::openDatabase):
-
- * bindings/v8/custom/V8WorkerContextCustom.cpp: Add openDatabase stub; Chromium will need work both in V8 and in the browser process before we can turn this on there.
- (WebCore::V8WorkerContext::openDatabaseCallback):
-
- Add NoStaticTables flags to all objects now shared with workers.
- * storage/Database.idl:
- * storage/SQLError.idl:
- * storage/SQLResultSet.idl:
- * storage/SQLResultSetRowList.idl:
- * storage/SQLTransaction.idl:
-
- * workers/WorkerContext.h: Add databaseExceededQuota.
- * workers/WorkerContext.cpp:
- (WebCore::WorkerContext::databaseExceededQuota): Add stub implementation for testing; you just get 5MB for now.
- (WebCore::WorkerContext::openDatabase): Remove invalid assertion.
-
- Add the IDL for the call to openDatabase.
- * workers/WorkerContext.idl:
+ * platform/efl/WidgetEfl.cpp:
+ (WebCore::Widget::applyCursor):
-2010-04-15 Nicolas Weber <thakis@chromium.org>
+2010-05-28 Vangelis Kokkevis <vangelis@chromium.org>
Reviewed by Dimitri Glazkov.
- Fix drag image thumbnails for indexed images.
- https://bugs.webkit.org/show_bug.cgi?id=37621
-
- * platform/chromium/DragImageChromiumMac.cpp:
- (WebCore::scaleDragImage): Always use RGB color space.
- (WebCore::dissolveDragImageToFraction): Always use RGB color space.
-
-2010-04-15 Adam Roben <aroben@apple.com>
-
- Expose UserContentURLPattern as WebKit SPI
-
- Fixes <http://webkit.org/b/37354>.
-
- Reviewed by Tim Hatcher.
-
- * WebCore.base.exp: Export UserContentURLPattern::parse, and sorted
- the file.
-
- * WebCore.xcodeproj/project.pbxproj: Marked UserContentURLPattern.h as
- "Private".
-
- * page/UserContentURLPattern.h:
- (WebCore::UserContentURLPattern::UserContentURLPattern): Added a
- default constructor.
- (WebCore::UserContentURLPattern::isValid): Added this getter.
-
-2010-04-15 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Beth Dakin.
-
- AXHelp is being appended from ancestors incorrectly
- https://bugs.webkit.org/show_bug.cgi?id=37659
+ Prevent chromium composited layers from rendering on top of the scrollbars.
+ https://bugs.webkit.org/show_bug.cgi?id=39851
- Test: platform/mac/accessibility/unexpected-help-text.html
-
- * accessibility/AccessibilityRenderObject.cpp:
- (WebCore::AccessibilityRenderObject::helpText):
-
-2010-04-15 David Hyatt <hyatt@apple.com>
-
- Reviewed by Anders Carlsson.
-
- https://bugs.webkit.org/show_bug.cgi?id=37669, REGRESSION: visited styles don't work right when only the visited path specifies
- a pseudoelement.
-
- Rework the pseudo cache on RenderStyles to support nesting, i.e., a pseudo hanging off a pseudo. The existing model gets
- confused by this concept, since it relies on a singly linked list of chained pseudo styles (instead of a Vector owned by a primary
- style). I changed the style cache to be a Vector instead.
-
- Reworked both styleForElement and pseudoStyleForElement to resolve visited styles first, since in the pseudoStyleForElement case
- you need to do this in order to know to allocate an unvisited pseudo style even if one shouldn't normally exist.
-
- * css/CSSStyleSelector.cpp:
- (WebCore::CSSStyleSelector::styleForElement):
- (WebCore::CSSStyleSelector::pseudoStyleForElement):
- * dom/Element.cpp:
- (WebCore::Element::pseudoStyleCacheIsInvalid):
- * rendering/style/RenderStyle.cpp:
- (WebCore::RenderStyle::getCachedPseudoStyle):
- (WebCore::RenderStyle::addCachedPseudoStyle):
- * rendering/style/RenderStyle.h:
- (WebCore::):
- (WebCore::InheritedFlags::cachedPseudoStyles):
-
-2010-04-15 Albert J. Wong <ajwong@chromium.org>
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::drawLayers):
- Unreviewed, rolling out r57660.
- http://trac.webkit.org/changeset/57660
- https://bugs.webkit.org/show_bug.cgi?id=37604
+2010-05-28 Aaron Boodman <aa@chromium.org>
- Broke a large number of inspector layout tests in chromium.
+ Reviewed by Darin Fisher.
- * bindings/js/JSInjectedScriptHostCustom.cpp:
- (WebCore::InjectedScriptHost::createInjectedScript):
- * bindings/v8/ScriptDebugServer.cpp:
- * bindings/v8/ScriptDebugServer.h:
- (WebCore::ScriptDebugServer::addListener):
- (WebCore::ScriptDebugServer::removeListener):
- (WebCore::ScriptDebugServer::setBreakpoint):
- (WebCore::ScriptDebugServer::removeBreakpoint):
- (WebCore::ScriptDebugServer::clearBreakpoints):
- (WebCore::ScriptDebugServer::setBreakpointsActivated):
- (WebCore::ScriptDebugServer::pauseOnExceptionsState):
- (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
- (WebCore::ScriptDebugServer::continueProgram):
- (WebCore::ScriptDebugServer::stepIntoStatement):
- (WebCore::ScriptDebugServer::stepOverStatement):
- (WebCore::ScriptDebugServer::stepOutOfFunction):
- (WebCore::ScriptDebugServer::currentCallFrameState):
- (WebCore::ScriptDebugServer::ScriptDebugServer):
- * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
- (WebCore::InjectedScriptHost::createInjectedScript):
- (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
- (WebCore::V8InjectedScriptHost::isActivationCallback):
- * inspector/front-end/InjectedScript.js:
- (injectedScriptConstructor):
- * inspector/front-end/ScriptsPanel.js:
- (WebInspector.ScriptsPanel):
+ Added isXHTMLDocument() to WebCore::Document.
-2010-04-14 Dumitru Daniliuc <dumi@chromium.org>
+ https://bugs.webkit.org/show_bug.cgi?id=39887
- Reviewed by Dimitri Glazkov.
+ * dom/Document.h: Add isXHTMLDocument().
+ (WebCore::Document::isXHTMLDocument): Ditto.
- DatabaseTracker refactoring: remove the dependency on
- OriginQuotaManager from DatabaseTracker.h
- https://bugs.webkit.org/show_bug.cgi?id=31482
+2010-05-28 Peter Kasting <pkasting@google.com>
- * storage/DatabaseTracker.cpp:
- (WebCore::DatabaseTracker::DatabaseTracker):
- (WebCore::DatabaseTracker::~DatabaseTracker):
- (WebCore::DatabaseTracker::canEstablishDatabase):
- (WebCore::DatabaseTracker::hasEntryForOrigin):
- (WebCore::DatabaseTracker::getMaxSizeForDatabase):
- (WebCore::DatabaseTracker::databaseChanged):
- (WebCore::DatabaseTracker::fullPathForDatabaseNoLock):
- (WebCore::DatabaseTracker::fullPathForDatabase):
- (WebCore::DatabaseTracker::populateOrigins):
- (WebCore::DatabaseTracker::origins):
- (WebCore::DatabaseTracker::databaseNamesForOrigin):
- (WebCore::DatabaseTracker::addOpenDatabase):
- (WebCore::DatabaseTracker::removeOpenDatabase):
- (WebCore::DatabaseTracker::usageForOriginNoLock):
- (WebCore::DatabaseTracker::usageForOrigin):
- (WebCore::DatabaseTracker::quotaForOrigin):
- (WebCore::DatabaseTracker::setQuota):
- (WebCore::DatabaseTracker::deleteOrigin):
- (WebCore::DatabaseTracker::deleteDatabase):
- (WebCore::DatabaseTracker::deleteDatabaseFile):
- * storage/DatabaseTracker.h:
- * storage/SQLTransactionClient.cpp:
- (WebCore::SQLTransactionClient::didExecuteStatement):
+ Reviewed by Darin Adler.
-2010-04-15 Zhenyao Mo <zmo@google.com>
+ https://bugs.webkit.org/show_bug.cgi?id=39857
+ Make GIFs loop the correct number of times. Previously, everyone looped
+ one time too few for non-infinitely-looping GIFs.
- Reviewed by Adam Barth.
+ Modified a Qt manual test to be correct and moved it to the general
+ manual test directory.
- Several tests in fast/canvas/webgl/ failed randomly on Leopard Commit Bot
- This fixes an uninitialized variable bug and restores a glFinish call that used to be present.
- https://bugs.webkit.org/show_bug.cgi?id=36908
+ * manual-tests/animated-gif-looping.html: Copied from WebCore/manual-tests/qt/qt-gif-test.html.
+ * manual-tests/qt/qt-10loop-anim.gif: Removed.
+ * manual-tests/qt/qt-anim.gif: Removed.
+ * manual-tests/qt/qt-gif-test.html: Removed.
+ * manual-tests/qt/qt-noanim.gif: Removed.
+ * manual-tests/resources/animated-10x.gif: Copied from WebCore/manual-tests/qt/qt-10loop-anim.gif and modified.
+ * manual-tests/resources/animated-infinite.gif: Copied from WebCore/manual-tests/qt/qt-anim.gif.
+ * manual-tests/resources/non-animated.gif: Copied from WebCore/manual-tests/qt/qt-noanim.gif.
+ * platform/graphics/BitmapImage.cpp:
+ (WebCore::BitmapImage::internalAdvanceAnimation): For a loop count of n, show a total of n + 1 animation cycles.
+ * platform/graphics/ImageSource.h:
+ * platform/graphics/cg/ImageSourceCG.cpp:
+ (WebCore::ImageSource::repetitionCount):
+ * platform/graphics/qt/ImageDecoderQt.cpp:
+ (WebCore::ImageDecoderQt::repetitionCount): Remove translation code now that WebCore matches Qt's internal handling of the loop count. Qt itself may still have a bug here.
+ * platform/image-decoders/gif/GIFImageDecoder.cpp:
+ (WebCore::GIFImageDecoder::repetitionCount):
+ * platform/image-decoders/gif/GIFImageReader.cpp:
+ (GIFImageReader::read): Translate loop count 0 to "loop infinitely" (by restoring one piece of the Mozilla code we'd removed).
- * platform/graphics/mac/GraphicsContext3DMac.cpp:
- (WebCore::GraphicsContext3D::GraphicsContext3D): Initialize width/height to 0/0.
- (WebCore::GraphicsContext3D::prepareTexture): Restore glFinish() in every path.
+2010-05-28 Ben Murdoch <benm@google.com>
-2010-04-14 Antonio Gomes <tonikitoo@webkit.org>
+ Reviewed by Darin Adler.
- Reviewed by Simon Fraser.
+ openFile(...) in FIleSystemPOSIX does not call fileSystemRepresentation
+ https://bugs.webkit.org/show_bug.cgi?id=39882
- Spatial Navigation: make hasOffscreenRect() to earlier return 'true' if absoluteClippedOverflowRect() gives an empty rect
- https://bugs.webkit.org/show_bug.cgi?id=37635
+ No new tests. Existing tests in fast/files should suffice.
- absoluteClippedOverflowRect method of RenderObject does return an empty IntRect for offscreen nodes.
- So hasOffscreenRect method (SpatialNavigation.cpp) can safily bail out earlier in such cases.
+ * platform/posix/FileSystemPOSIX.cpp:
+ (WebCore::openFile): pass the path parameter through fileSystemRepresentation before using it.
- * page/SpatialNavigation.cpp:
- (WebCore::hasOffscreenRect):
+2010-05-28 Adam Barth <abarth@webkit.org>
-2010-04-14 Antonio Gomes <tonikitoo@webkit.org>
+ Reviewed by Eric Seidel.
- Reviewed by Simon Fraser.
+ Named entities in attributes aren't parsed correctly by HTML5 parser
+ https://bugs.webkit.org/show_bug.cgi?id=39873
- Spatial Navigation: remove unnecessery assignment in updateFocusCandidateIfCloser method
- https://bugs.webkit.org/show_bug.cgi?id=37634
+ I misplaced this if statement when writing this code originally. Now
+ that we have test coverage for this paragraph in the spec, we can see
+ and fix the bug.
- This assignment line is not longer needed after r57061, bug that refactored all
- assignment logic to happen lines below in the method.
+ * html/HTML5Lexer.cpp:
+ (WebCore::HTML5Lexer::consumeEntity):
- * page/FocusController.cpp:
- (WebCore::updateFocusCandidateIfCloser):
+2010-05-28 Adam Barth <abarth@webkit.org>
-2010-04-15 Yury Semikhatsky <yurys@google.com>
+ Reviewed by Eric Seidel.
- Reviewed by Pavel Feldman.
-
- Support basic debugging capabilities including step in/over/out in v8
- implementation of ScriptDebugServer.
+ Handle edge cases in HTML5 entity parsing
+ https://bugs.webkit.org/show_bug.cgi?id=39823
- https://bugs.webkit.org/show_bug.cgi?id=37604
+ The HTML5 specification tells us to handle HTML entities in a somewhat
+ complicated way. This patch attempts to correctly handle numeric
+ entities. Some of this code is duplicated from HTMLTokenizer.
- * bindings/js/JSInjectedScriptHostCustom.cpp:
- (WebCore::InjectedScriptHost::createInjectedScript):
- * bindings/v8/ScriptDebugServer.cpp:
- (WebCore::ScriptDebugServer::ScriptDebugServer):
- (WebCore::ScriptDebugServer::setDebuggerScriptSource):
- (WebCore::ScriptDebugServer::addListener):
- (WebCore::ScriptDebugServer::removeListener):
- (WebCore::ScriptDebugServer::setBreakpoint):
- (WebCore::ScriptDebugServer::removeBreakpoint):
- (WebCore::ScriptDebugServer::clearBreakpoints):
- (WebCore::ScriptDebugServer::setBreakpointsActivated):
- (WebCore::ScriptDebugServer::continueProgram):
- (WebCore::ScriptDebugServer::stepIntoStatement):
- (WebCore::ScriptDebugServer::stepOverStatement):
- (WebCore::ScriptDebugServer::stepOutOfFunction):
- (WebCore::ScriptDebugServer::currentCallFrameState):
- (WebCore::ScriptDebugServer::currentCallFrameV8):
- (WebCore::ScriptDebugServer::onV8DebugMessage):
- (WebCore::ScriptDebugServer::onV8DebugHostDispatch):
- (WebCore::ScriptDebugServer::handleV8DebugHostDispatch):
- (WebCore::ScriptDebugServer::handleV8DebugMessage):
- (WebCore::ScriptDebugServer::dispatchDidParseSource):
- (WebCore::ScriptDebugServer::ensureDebuggerScriptCompiled):
- (WebCore::ScriptDebugServer::didResume):
- * bindings/v8/ScriptDebugServer.h:
- (WebCore::ScriptDebugServer::pauseOnExceptionsState):
- (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
- (WebCore::ScriptDebugServer::setMessageLoopDispatchHandler):
- * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
- (WebCore::InjectedScriptHost::createInjectedScript):
- (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
- (WebCore::V8InjectedScriptHost::isActivationCallback):
- * inspector/front-end/InjectedScript.js:
- (injectedScriptConstructor):
- (injectedScriptConstructor.):
- * inspector/front-end/ScriptsPanel.js:
- (WebInspector.ScriptsPanel):
+ * html/HTML5Lexer.cpp:
+ (WebCore::HTMLNames::):
+ (WebCore::HTMLNames::adjustEntity):
+ (WebCore::HTMLNames::legalEntityFor):
+ (WebCore::HTML5Lexer::consumeEntity):
+ (WebCore::HTML5Lexer::processEntity):
+ (WebCore::HTML5Lexer::nextToken):
+ (WebCore::HTML5Lexer::emitCodePoint):
+ * html/HTML5Lexer.h:
-2010-04-15 Nikolas Zimmermann <nzimmermann@rim.com>
+2010-05-28 Chris Fleizach <cfleizach@apple.com>
Reviewed by Beth Dakin.
- RenderSVGResource <-> id mapping should be cached
- https://bugs.webkit.org/show_bug.cgi?id=37575
-
- Test: svg/custom/clip-path-id-changes.svg
-
- * rendering/RenderSVGResource.h:
- (WebCore::RenderSVGResource::RenderSVGResource):
- (WebCore::RenderSVGResource::~RenderSVGResource):
- (WebCore::RenderSVGResource::idChanged):
- (WebCore::getRenderSVGResourceById):
- * svg/SVGDocumentExtensions.cpp:
- (WebCore::SVGDocumentExtensions::addResource):
- (WebCore::SVGDocumentExtensions::removeResource):
- (WebCore::SVGDocumentExtensions::resourceById):
- * svg/SVGDocumentExtensions.h:
- * svg/SVGStyledElement.cpp:
- (WebCore::SVGStyledElement::svgAttributeChanged):
-
-2010-04-15 Justin Schuh <jschuh@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- LayoutTest breakage in V8 bindings after r57627
- https://bugs.webkit.org/show_bug.cgi?id=37660
-
- Fixes breakage of the following tests due to an error in V8 bindings for
- NamedNodeMap:
- hc_namednodemapinuseattributeerr.html
- hc_namednodemapsetnameditemreturnvalue.html
- hc_namednodemapwrongdocumenterr.html
- hc_namednodemapinvalidtype1.html
- NamedNodeMap-setNamedItem-crash.html
-
- * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
- (WebCore::V8NamedNodeMap::setNamedItemNSCallback):
- (WebCore::V8NamedNodeMap::setNamedItemCallback):
-
-2010-04-15 David Hyatt <hyatt@apple.com>
-
- Reviewed by Anders Carlsson.
-
- https://bugs.webkit.org/show_bug.cgi?id=37567, :first-letter inside a :visited link is wrong color. Make sure
- that the pseudo style caching allows visited link styles to hang off other pseudo styles.
-
- * rendering/RenderBlock.cpp:
- (WebCore::RenderBlock::updateFirstLetter):
- * rendering/style/RenderStyle.cpp:
- (WebCore::RenderStyle::getCachedPseudoStyle):
-
-2010-04-15 Ben Murdoch <benm@google.com>
-
- Unreviewed, rolling out r57652.
- http://trac.webkit.org/changeset/57652
- https://bugs.webkit.org/show_bug.cgi?id=37609
-
- Caused a build break on Chromium Mac and Layout Test fail on
- Qt
+ AX: stop prepping value conversion in accessibilityAttributeValueForParameter
+ https://bugs.webkit.org/show_bug.cgi?id=39880
- * platform/PlatformTouchPoint.h:
- (WebCore::PlatformTouchPoint::):
- * platform/qt/PlatformTouchPointQt.cpp:
- (WebCore::PlatformTouchPoint::PlatformTouchPoint):
+ Cleaning up a FIXME so that all values are not converted before they're needed in accessibilityAttributeValue:forParameter:
-2010-04-15 Yaar Schnitman <yaar@chromium.org>
-
- Reviewed by Nate Chapin.
-
- Overloads auto-generation in V8
- https://bugs.webkit.org/show_bug.cgi?id=37373
-
- This will be used by XHR.send/open, Canvas.*, WebGL.* methods that are currently custom. When more than a single overload exists for a method, the correct overload is chosen based on the total number of arguments passed as well as the values passed to non-primitive arguments.
-
- Overload dispatch order depends on the order the functions are defined in the IDL. Overloads must be specified from the most precise (overloads with wrapper type arguments) to the least precise (overloads with only primitive type arguments).
-
- * bindings/scripts/CodeGeneratorV8.pm: Identify and output overloads callbacks and dispatch code.
- * bindings/v8/test/TestObj.idl: Overloads sample.
- * bindings/v8/test/V8TestObj.cpp: Output change.
-
-2010-04-15 Ben Murdoch <benm@google.com>
+ * accessibility/mac/AccessibilityObjectWrapper.mm:
+ (visiblePositionForTextMarker):
+ (-[AccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]):
+ (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
- Reviewed by Kenneth Rohde Christiansen.
+2010-05-28 Adam Treat <atreat@rim.com>
- The TouchStationary state of WebCore::PlatformTouchPoint
- is not handled inside the touch event handler.
- https://bugs.webkit.org/show_bug.cgi?id=37609
+ Reviewed by Daniel Bates.
- After discussions at the WebKit contributors meeting, we decided
- that this is a currently unused state without a good future use
- case in the Touch API and thus decided to remove it. This patch
- actions that decision.
+ RIM Bug #293 and https://bugs.webkit.org/show_bug.cgi?id=39859
- As the TouchStationary state is not handled in the EventHandler,
- there is no change in functionality so no new tests are required.
+ Layout is not dependent upon ScrollView::frameRect when useFixedLayout
+ is true. No reason to set the needs layout flag in this case.
- * platform/PlatformTouchPoint.h:
- (WebCore::PlatformTouchPoint::): Remove TouchStationary.
- * platform/qt/PlatformTouchPointQt.cpp:
- (WebCore::PlatformTouchPoint::PlatformTouchPoint): Remove TouchStationary.
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::setFrameRect):
-2010-04-15 Steve Falkenburg <sfalken@apple.com>
+2010-05-28 Mikhail Naganov <mnaganov@chromium.org>
- Reviewed by Adam Roben.
+ Unreviewed. Revert 60353 -- immature.
- Use a lower-overhead mechanism for plug-in message throttling
- https://bugs.webkit.org/show_bug.cgi?id=37642
- <rdar://problem/7418285> Very high CPU usage idling in gmail under Windows 7 (plug-in related)
-
- GMail has an instance of Flash that loads on the main mail page.
- This Flash content sends us a constant stream of WM_USER+1 messsages.
-
- There was already code in PluginMessageThrottlerWin to queue and process these
- excess WM_USER+1 messages from Flash. Unfortunately, there were a couple of
- problems with this code:
-
- - The timer used to process the excess messages had a very low timeout (1ms).
- Chrome uses a value of 5ms for this delay, and doesn't use excess CPU here,
- while still maintaining good Flash frame rate.
-
- - The overhead involved in generating a constant stream of 5ms timers still swamped
- the CPU, resulting in continued high CPU utilization.
-
- To fix this, I changed the throttling code to:
-
- - Process a queued WM_USER+1 message directly if none has been processed in 5ms.
- This allows us to avoid the overhead of a timer.
-
- - Process remaining delayed WM_USER+1 messages on a 16ms timer.
-
- This reduces our CPU utilization idling in GMail from ~20% to ~2-3% on my system.
- I also verified the frame rate for Flash content wasn't reduced with this change.
+ https://bugs.webkit.org/show_bug.cgi?id=39646
- * plugins/win/PluginMessageThrottlerWin.cpp:
- (WebCore::PluginMessageThrottlerWin::PluginMessageThrottlerWin): Initialize m_lastMessageTime.
- (WebCore::PluginMessageThrottlerWin::appendMessage): Process a queued message directly if >5ms have passed.
- (WebCore::PluginMessageThrottlerWin::processQueuedMessage): Split out from messageThrottleTimerFired.
- (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired): Call through to processQueuedMessage.
- * plugins/win/PluginMessageThrottlerWin.h: Add processQueuedMessage, m_lastMessageTime.
+ * bindings/js/JSConsoleCustom.cpp:
+ * bindings/v8/custom/V8ConsoleCustom.cpp:
+ * page/Console.cpp:
+ * page/Console.h:
+ * page/Console.idl:
-2010-04-15 Shinichiro Hamaji <hamaji@chromium.org>
+2010-05-27 Darin Adler <darin@apple.com>
Reviewed by David Levin.
- LEAK: in ThreadableWebSocketChannel::create()
- https://bugs.webkit.org/show_bug.cgi?id=37584
-
- No new tests because this change just fixes a leak.
+ Make more HTML DOM members private, especially constructors, batch 2
+ https://bugs.webkit.org/show_bug.cgi?id=39706
- * websockets/WorkerThreadableWebSocketChannel.cpp:
- (WebCore::WorkerThreadableWebSocketChannel::WorkerThreadableWebSocketChannel):
- * websockets/WorkerThreadableWebSocketChannel.h:
- (WebCore::WorkerThreadableWebSocketChannel::Bridge::create):
+ Refactoring so no new tests.
-2010-04-15 Gyuyoung Kim <gyuyoung.kim@samsung.com>
+ Worked my way up from the bottom of HTMLTagNames.in.
- Reviewed by Eric Seidel.
+ * html/HTMLTagNames.in: Removed createWithNew from keygen, listing,
+ map, marquee, menu, meta, ol, optgroup, option, p, param, pre,
+ script, select, source, style, table, tbody, td, textarea, tfoot,
+ th, thead, title, tr, ul, video, xmp, and noscript.
- Duplicated patches related to wml were pushed to trunk. So, one of
- the patches should be reverted.
- https://bugs.webkit.org/show_bug.cgi?id=37542
+ * editing/htmlediting.cpp:
+ (WebCore::createOrderedListElement): Use create function instead of new.
+ (WebCore::createUnorderedListElement): Ditto.
+ * html/HTMLParser.cpp:
+ (WebCore::HTMLParser::handleError): Ditto.
+ (WebCore::HTMLParser::mapCreateErrorCheck): Ditto.
+ * html/HTMLViewSourceDocument.cpp:
+ (WebCore::HTMLViewSourceDocument::createContainingTable): Ditto.
+ (WebCore::HTMLViewSourceDocument::addLine): Ditto.
- * wml/WMLOptionElement.h:
- * wml/WMLSelectElement.h:
+ * html/HTMLKeygenElement.cpp:
+ (WebCore::HTMLKeygenElement::HTMLKeygenElement): Use create function
+ instead of new.
+ (WebCore::HTMLKeygenElement::create): Added.
+ * html/HTMLKeygenElement.h: Made constructor and virtual function
+ overrides private, added create function.
-2010-04-15 Bruno Schmidt <bruno.schmidt@gmail.com>
+ * html/HTMLMapElement.cpp:
+ (WebCore::HTMLMapElement::HTMLMapElement):
+ (WebCore::HTMLMapElement::create):
+ * html/HTMLMapElement.h:
+ * html/HTMLMarqueeElement.cpp:
+ (WebCore::HTMLMarqueeElement::HTMLMarqueeElement):
+ (WebCore::HTMLMarqueeElement::create):
+ * html/HTMLMarqueeElement.h:
+ * html/HTMLMenuElement.cpp:
+ (WebCore::HTMLMenuElement::HTMLMenuElement):
+ (WebCore::HTMLMenuElement::create):
+ * html/HTMLMenuElement.h:
+ * html/HTMLMetaElement.cpp:
+ (WebCore::HTMLMetaElement::HTMLMetaElement):
+ (WebCore::HTMLMetaElement::create):
+ * html/HTMLMetaElement.h:
+ * html/HTMLNoScriptElement.cpp:
+ (WebCore::HTMLNoScriptElement::HTMLNoScriptElement):
+ (WebCore::HTMLNoScriptElement::create):
+ (WebCore::HTMLNoScriptElement::childShouldCreateRenderer):
+ * html/HTMLNoScriptElement.h:
+ * html/HTMLOListElement.cpp:
+ (WebCore::HTMLOListElement::HTMLOListElement):
+ (WebCore::HTMLOListElement::create):
+ * html/HTMLOListElement.h:
+ * html/HTMLOptGroupElement.cpp:
+ (WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
+ (WebCore::HTMLOptGroupElement::create):
+ * html/HTMLOptGroupElement.h:
+ * html/HTMLOptionElement.cpp:
+ (WebCore::HTMLOptionElement::HTMLOptionElement):
+ (WebCore::HTMLOptionElement::create):
+ * html/HTMLOptionElement.h:
+ * html/HTMLParagraphElement.cpp:
+ (WebCore::HTMLParagraphElement::HTMLParagraphElement):
+ (WebCore::HTMLParagraphElement::create):
+ * html/HTMLParagraphElement.h:
+ * html/HTMLParamElement.cpp:
+ (WebCore::HTMLParamElement::HTMLParamElement):
+ (WebCore::HTMLParamElement::create):
+ * html/HTMLParamElement.h:
+ * html/HTMLPreElement.cpp:
+ (WebCore::HTMLPreElement::HTMLPreElement):
+ (WebCore::HTMLPreElement::create):
+ * html/HTMLPreElement.h:
+ * html/HTMLQuoteElement.cpp:
+ (WebCore::HTMLQuoteElement::HTMLQuoteElement):
+ (WebCore::HTMLQuoteElement::create):
+ * html/HTMLQuoteElement.h:
+ * html/HTMLScriptElement.cpp:
+ (WebCore::HTMLScriptElement::HTMLScriptElement):
+ (WebCore::HTMLScriptElement::create):
+ * html/HTMLScriptElement.h:
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::create):
+ * html/HTMLSelectElement.h:
+ * html/HTMLSourceElement.cpp:
+ (WebCore::HTMLSourceElement::HTMLSourceElement):
+ (WebCore::HTMLSourceElement::create):
+ * html/HTMLSourceElement.h:
+ * html/HTMLStyleElement.cpp:
+ (WebCore::HTMLStyleElement::HTMLStyleElement):
+ (WebCore::HTMLStyleElement::create):
+ * html/HTMLStyleElement.h:
+ * html/HTMLTableRowElement.cpp:
+ (WebCore::HTMLTableRowElement::HTMLTableRowElement):
+ (WebCore::HTMLTableRowElement::create):
+ (WebCore::HTMLTableRowElement::insertCell):
+ * html/HTMLTableRowElement.h:
+ * html/HTMLTableSectionElement.cpp:
+ (WebCore::HTMLTableSectionElement::HTMLTableSectionElement):
+ (WebCore::HTMLTableSectionElement::create):
+ (WebCore::HTMLTableSectionElement::insertRow):
+ * html/HTMLTableSectionElement.h:
+ * html/HTMLTextAreaElement.cpp:
+ (WebCore::HTMLTextAreaElement::create):
+ * html/HTMLTextAreaElement.h:
+ * html/HTMLTitleElement.cpp:
+ (WebCore::HTMLTitleElement::HTMLTitleElement):
+ (WebCore::HTMLTitleElement::create):
+ * html/HTMLTitleElement.h:
+ * html/HTMLUListElement.cpp:
+ (WebCore::HTMLUListElement::HTMLUListElement):
+ (WebCore::HTMLUListElement::create):
+ * html/HTMLUListElement.h:
+ * html/HTMLVideoElement.cpp:
+ (WebCore::HTMLVideoElement::HTMLVideoElement):
+ (WebCore::HTMLVideoElement::create):
+ * html/HTMLVideoElement.h:
+ Made constructors and virtual function overrides private, added
+ create function.
+
+ * html/HTMLTableCellElement.cpp:
+ (WebCore::HTMLTableCellElement::HTMLTableCellElement): Updated
+ names of data members. Renamed _row to m_row, _col to m_col,
+ rSpan to m_rowSpan, cSpan to m_colSpan, and removed unused
+ rowHeight and m_solid.
+ (WebCore::HTMLTableCellElement::create): Added.
+ (WebCore::HTMLTableCellElement::parseMappedAttribute): Updated names.
+ * html/HTMLTableCellElement.h: Ditto.
+
+ * html/HTMLTableElement.cpp:
+ (WebCore::HTMLTableElement::create): Added.
+ (WebCore::HTMLTableElement::createTHead): Used create instead of new.
+ (WebCore::HTMLTableElement::createTFoot): Ditto.
+ (WebCore::HTMLTableElement::insertRow): Ditto.
+ * html/HTMLTableElement.h:
+
+ * html/HTMLTablePartElement.h: Made members protected instead of
+ public.
+
+2010-05-28 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
- [Qt] Null QObjects properties cause Segmentation Fault
- https://bugs.webkit.org/show_bug.cgi?id=34730
-
- QObjects exported to the QWebkit javascript with properties that are
- a null "QObject*" cause Segmentation Fault.
+ [Qt] REGRESSION(r59837): Incorrect clipping of TransparencyLayers
+ https://bugs.webkit.org/show_bug.cgi?id=39784
- If an QObject is added to the javascript context and it contains
- properties of the type QObject* with NULL value, calling the property
- causes Segmentation Fault.
- So now the code below properly checks for null pointers:
+ Move coordinate transformation from TransparencyLayer to clipToImageBuffer()
- * bridge/qt/qt_instance.cpp:
- (JSC::Bindings::QtInstance::getClass): may return NULL
- (JSC::Bindings::QtInstance::getMethod): may return jsNull()
- (JSC::Bindings::QtInstance::stringValue): may return jsNull()
- (JSC::Bindings::QtInstance::booleanValue): may return false
- * bridge/qt/qt_runtime.cpp:
- (JSC::Bindings::convertValueToQVariant):
- (JSC::Bindings::convertQVariantToValue): May return jsNull on QObjectStar
-
-2010-04-14 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Repaint of fixed, transformed element is broken
- https://bugs.webkit.org/show_bug.cgi?id=37637
-
- RenderBox::computeRectForRepaint() failed to set the 'fixed' flag correctly
- for elements that had both fixed position and a transform. If the element has
- a transform, 'fixed' should only remain true if the element itself is fixed
- position.
-
- Also cache style()->position() in a local variable for performance.
-
- Test: fast/repaint/fixed-tranformed.html
-
- * rendering/RenderBox.cpp:
- (WebCore::RenderBox::computeRectForRepaint):
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::TransparencyLayer::TransparencyLayer):
+ (WebCore::GraphicsContext::clipToImageBuffer):
-2010-04-14 Luiz Agostini <luiz.agostini@openbossa.org>
+2010-05-28 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Reviewed by Kenneth Rohde Christiansen.
- Changing view mode names due to specification changes
- https://bugs.webkit.org/show_bug.cgi?id=37615
+ [EF] Implement methods for supporting PopupMenu
+ https://bugs.webkit.org/show_bug.cgi?id=39629
- test: fast/media/media-feature-wgt-view-mode.html
+ * platform/PopupMenu.h: add needed attribute
+ * platform/efl/PopupMenuEfl.cpp: implement methods to show/hide popup
+ menu
+ (WebCore::PopupMenu::PopupMenu): initialize new attribute
+ (WebCore::PopupMenu::show): ditto.
+ (WebCore::PopupMenu::hide): ditto.
- specification: http://dev.w3.org/2006/waf/widgets-vmmf/
+2010-05-28 Lucas De Marchi <lucas.demarchi@profusion.mobi>
- * css/MediaQueryEvaluator.cpp:
- (WebCore::view_modeMediaFeatureEval):
- * page/ChromeClient.h:
- (WebCore::ChromeClient::isWindowed):
- (WebCore::ChromeClient::isMaximized):
- (WebCore::ChromeClient::isMinimized):
+ Reviewed by Kenneth Rohde Christiansen.
-2010-04-14 Adam Barth <abarth@webkit.org>
+ Reorder class initializers to remove compiler warnings.
+ https://bugs.webkit.org/show_bug.cgi?id=39596
- Unreviewed attempt to fix Qt build.
+ * platform/efl/PlatformKeyboardEventEfl.cpp: ditto.
+ (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): ditto.
+ * platform/efl/PlatformMouseEventEfl.cpp: ditto.
+ (WebCore::PlatformMouseEvent::PlatformMouseEvent): ditto.
+ * platform/efl/PlatformWheelEventEfl.cpp: ditto
+ (WebCore::PlatformWheelEvent::PlatformWheelEvent): ditto.
- * bindings/js/JSNodeCustom.cpp:
+2010-05-27 Jeremy Orlow <jorlow@chromium.org>
-2010-04-14 Justin Schuh <jschuh@chromium.org>
+ Reviewed by Steve Block.
- Reviewed by Adam Barth.
+ Add IndexedDB's IDBIndex
+ https://bugs.webkit.org/show_bug.cgi?id=39850
- Javascript URL can be set as iframe.src via multiple DOM aliases
- https://bugs.webkit.org/show_bug.cgi?id=37031
+ Flesh out IDBIndex as much as possible until Andrei finishes
+ his patch to get around passing Frame*'s all around. I also
+ cleaned up a bunch of existing files as I noticed style
+ violations (while basing my new files off of the old).
- Moved frame/iframe checks from Attr to Node on inherited members.
- Node child manipulation methods now return NOT_SUPPORTED_ERR if used
- on a frame/iframe src attribute.
- NamedNodeMap set methods now perform frame/iframe src checks.
- Moved allowSettingSrcToJavascriptURL static helper function from
- JSElementCustom.cpp to exported function in JSDOMBinding.h.
+ Not hooked up enough to test. Will add tests soon.
- * bindings/js/JSAttrCustom.cpp:
- (WebCore::JSAttr::setValue):
- * bindings/js/JSDOMBinding.cpp:
- (WebCore::allowSettingSrcToJavascriptURL):
- * bindings/js/JSDOMBinding.h:
- * bindings/js/JSElementCustom.cpp:
- * bindings/js/JSNamedNodeMapCustom.cpp:
- (WebCore::JSNamedNodeMap::setNamedItem):
- (WebCore::JSNamedNodeMap::setNamedItemNS):
- * bindings/js/JSNodeCustom.cpp:
- (WebCore::isAttrFrameSrc):
- (WebCore::JSNode::setNodeValue):
- (WebCore::JSNode::setTextContent):
- (WebCore::JSNode::insertBefore):
- (WebCore::JSNode::replaceChild):
- (WebCore::JSNode::removeChild):
- (WebCore::JSNode::appendChild):
- * bindings/v8/custom/V8AttrCustom.cpp:
- * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
- (WebCore::V8NamedNodeMap::setNamedItemNSCallback):
- (WebCore::V8NamedNodeMap::setNamedItemCallback):
+ * Android.derived.jscbindings.mk
+ * Android.derived.v8bindings.mk
+ * Android.mk
+ * CMakeLists.txt
+ * DerivedSources.cpp
+ * DerivedSources.make
+ * GNUmakefile.am
+ * WebCore.pri
+ * WebCore.pro
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj
+ * WebCore.xcodeproj/project.pbxproj
+ * bindings/js/JSIDBAnyCustom.cpp:
+ (WebCore::toJS):
+ * bindings/v8/custom/V8IDBAnyCustom.cpp:
(WebCore::toV8):
- * bindings/v8/custom/V8NodeCustom.cpp:
- (WebCore::isFrameSrc):
- (WebCore::V8Node::textContentAccessorSetter):
- (WebCore::V8Node::nodeValueAccessorSetter):
- (WebCore::V8Node::insertBeforeCallback):
- (WebCore::V8Node::replaceChildCallback):
- (WebCore::V8Node::removeChildCallback):
- (WebCore::V8Node::appendChildCallback):
- * dom/Attr.idl:
- * dom/NamedNodeMap.idl:
- * dom/Node.idl:
-
-2010-04-14 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Xan Lopez.
-
- We have to check if the resource handler is cancelled before
- checking the client, other case it could crash.
-
- * platform/network/soup/ResourceHandleSoup.cpp:
- (WebCore::parseDataUrl):
-
-2010-04-14 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r57609.
- http://trac.webkit.org/changeset/57609
- https://bugs.webkit.org/show_bug.cgi?id=37614
-
- "Broke multiple builders. Probably needs new test results,
- but may be an Inspector bug." (Requested by eseidel on
- #webkit).
-
- * inspector/InspectorController.cpp:
- (WebCore::InspectorController::didReceiveResponse):
- (WebCore::InspectorController::didFailLoading):
- * inspector/front-end/Resource.js:
- (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
- * inspector/front-end/ResourcesPanel.js:
- (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
-
-2010-04-14 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Don't cache SimpleFontData* in getLastResortFallbackFont. The cached entry may be invalidated.
- https://bugs.webkit.org/show_bug.cgi?id=37599
-
- * platform/graphics/win/FontCacheWin.cpp:
- (WebCore::fontDataFromDescriptionAndLogFont):
- (WebCore::FontCache::getLastResortFallbackFont):
-
-2010-04-14 Andrey Kosyakov <caseq@chromium.ru>
-
- Reviewed by Timothy Hatcher.
-
- Log error message to inspector console if a resource fails to load.
- Disable checking of mime-type consistency for failed resources.
- https://bugs.webkit.org/show_bug.cgi?id=37215
-
- Test: inspector/console-resource-errors.html
-
- * inspector/InspectorController.cpp:
- (WebCore::InspectorController::didReceiveResponse):
- (WebCore::InspectorController::didFailLoading):
- * inspector/front-end/Resource.js:
- (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
- * inspector/front-end/ResourcesPanel.js:
- (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
-
-2010-04-14 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r57599.
- http://trac.webkit.org/changeset/57599
- https://bugs.webkit.org/show_bug.cgi?id=37605
-
- "Broke Chromium build" (Requested by dglazkov on #webkit).
-
- * platform/chromium/PopupMenuChromium.cpp:
- (WebCore::PopupContainer::PopupContainer):
- (WebCore::PopupContainer::showPopup):
- (WebCore::PopupContainer::notifyPopupHidden):
- * platform/chromium/PopupMenuChromium.h:
-
-2010-04-14 Aaron Boodman <aa@chromium.org>
-
- Reviewed by David Levin.
-
- Support relative URLs for notifications on Chromium. They weren't working previously because WebCore was inserting
- the relative URL into a KURL instance, but when KURL is backed by GURL as it is on Chromium, relative URLs are
- unsupported. Fixed by resolving the relative URL first.
-
- https://bugs.webkit.org/show_bug.cgi?id=36623
-
- Adding tests for this is difficult because we don't currently have DRT support for notifications on Mac, only Windows.
-
- * notifications/Notification.cpp:
- (WebCore::Notification::Notification): Accept resolved KURL instead of relative string.
- * notifications/Notification.h:
- (WebCore::Notification::create): Ditto.
- (WebCore::Notification::iconURL): Return resolved KURL instead of relative string.
- * notifications/NotificationCenter.h:
- (WebCore::NotificationCenter::createHTMLNotification): Immediately resolve URL instead of passing off relative string.
- (WebCore::NotificationCenter::createNotification): Ditto.
- * notifications/NotificationContents.h:
- (WebCore::NotificationContents::NotificationContents): Accept resolved KURL instead of relative string.
- (WebCore::NotificationContents::icon): Return resolved URL.
-
-2010-04-14 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add ThemeMac::ensuredView and get rid of a workaround in ThemeMac::paintButton.
- https://bugs.webkit.org/show_bug.cgi?id=37601
-
- * platform/mac/ThemeMac.h:
- * platform/mac/ThemeMac.mm:
- (-[WebCoreFlippedView isFlipped]):
- (WebCore::paintButton):
- (WebCore::ThemeMac::ensuredView):
-
-2010-04-14 Jay Civelli <jcivelli@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [chromium] Select popups would assert when destroyed.
- https://bugs.webkit.org/show_bug.cgi?id=37436
-
- * platform/chromium/PopupMenuChromium.cpp:
- (WebCore::PopupContainer::PopupContainer):
- (WebCore::PopupContainer::showPopup):
- (WebCore::PopupContainer::notifyPopupHidden):
- * platform/chromium/PopupMenuChromium.h:
-
-
-2010-04-14 Dumitru Daniliuc <dumi@chromium.org>
-
- Reviewed by Jian Li.
-
- Remove an incorrect ASSERT in UniscribeHelper::draw().
- https://bugs.webkit.org/show_bug.cgi?id=37533
-
- * platform/graphics/chromium/UniscribeHelper.cpp:
- (WebCore::UniscribeHelper::draw):
-
-2010-04-14 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: readline shortcuts don't work in Chromium.
-
- * inspector/front-end/TextPrompt.js:
- (WebInspector.TextPrompt.prototype._onKeyDown):
- (WebInspector.TextPrompt.prototype._moveCaretToStartOfPrompt):
-
-2010-04-14 Alexander Pavlov <apavlov@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Console: Shift-Tab does not cycle autocompletions in the reverse order
- https://bugs.webkit.org/show_bug.cgi?id=37582
-
- * inspector/front-end/TextPrompt.js:
- (WebInspector.TextPrompt.prototype.complete):
- (WebInspector.TextPrompt.prototype._completionsReady):
- (WebInspector.TextPrompt.prototype._tabKeyPressed):
-
-2010-04-14 Jeff Schiller <codedread@gmail.com>
-
- Reviewed by Dirk Schulze.
-
- Render SVG Paths up to first error, bug 37413: https://bugs.webkit.org/show_bug.cgi?id=37413
-
- * svg/SVGParserUtilities.cpp:
- (WebCore::SVGPathSegListBuilder::build):
-
-2010-04-14 Alexander Pavlov <apavlov@chromium.org>
-
- Reviewed by Joseph Pecoraro.
-
- Web Inspector: Ctrl-L (Clear History) does nothing on Windows
- https://bugs.webkit.org/show_bug.cgi?id=37579
-
- * inspector/front-end/ConsoleView.js:
- (WebInspector.ConsoleView):
-
-2010-04-14 Anton Muhin <antonm@chromium.org>
-
- Not review, build fix.
-
- Add <limits.h> include to bring UINT_MAX.
-
- * html/canvas/WebGLArray.h:
-
-2010-04-14 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Not reviewed. Attempt to unbreak build - NodeRenderStyle.h is an _interessting_ concept...
-
- * rendering/style/SVGRenderStyle.cpp: Include 'NodeRenderStyle.h'
-
-2010-04-14 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Reviewed by Dirk Schulze.
-
- SVGRenderStyle/SVGRenderStyleDefs needs a cleanup
- https://bugs.webkit.org/show_bug.cgi?id=37568
-
- Cleanup SVGRenderStyle / SVGRenderStyleDefs:
- - use copy constructors in initialization list to initialize members, instead of assignment operators in the body
- - fix style issues (misplaced references, abbrevations)
- - merge StyleClipData/StyleMaskData to save memory, rename it StyleResourceData
- - move filter property in StyleResourceData
- - rename StyleMarkerData to StyleInheritedResourceData to highlight the difference to StyleResourceData
- - unify naming schemes for all resources (filter/clipper/masker/markers)
- - clipPath() -> clipperResource()
- - maskElement() -> maskerResource()
- - startMarker() -> markerStartResource()
- - midMarker() -> markerMidResource()
- - endMarker() -> markerEndResource()
- - filter() -> filterResource()
-
- Adapt all callsites to the renames above.
- No new tests, as this doesn't affect anything except memory overhead.
-
- * css/SVGCSSComputedStyleDeclaration.cpp:
- (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
- * css/SVGCSSStyleSelector.cpp:
- (WebCore::CSSStyleSelector::applySVGProperty):
- * rendering/RenderPath.cpp:
- (WebCore::RenderPath::calculateMarkerBoundsIfNeeded):
- * rendering/RenderSVGContainer.cpp:
- (WebCore::RenderSVGContainer::selfWillPaint):
- * rendering/RenderSVGRoot.cpp:
- (WebCore::RenderSVGRoot::selfWillPaint):
- * rendering/SVGRenderSupport.cpp:
- (WebCore::SVGRenderBase::prepareToRenderSVGContent):
- (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
- (WebCore::SVGRenderBase::clipperBoundingBoxForRenderer):
- (WebCore::SVGRenderBase::maskerBoundingBoxForRenderer):
- (WebCore::deregisterFromResources):
- * rendering/SVGRenderTreeAsText.cpp:
- (WebCore::writeStyle):
- (WebCore::writeResources):
- * rendering/style/SVGRenderStyle.cpp:
- (WebCore::SVGRenderStyle::SVGRenderStyle):
- (WebCore::SVGRenderStyle::operator==):
- (WebCore::SVGRenderStyle::inheritedNotEqual):
- (WebCore::SVGRenderStyle::inheritFrom):
- * rendering/style/SVGRenderStyle.h:
- * rendering/style/SVGRenderStyleDefs.cpp:
- (WebCore::StyleFillData::StyleFillData):
- (WebCore::StyleFillData::operator==):
- (WebCore::StyleStrokeData::StyleStrokeData):
- (WebCore::StyleStrokeData::operator==):
- (WebCore::StyleStopData::StyleStopData):
- (WebCore::StyleStopData::operator==):
- (WebCore::StyleTextData::StyleTextData):
- (WebCore::StyleMiscData::StyleMiscData):
- (WebCore::StyleMiscData::operator==):
- (WebCore::StyleShadowSVGData::StyleShadowSVGData):
- (WebCore::StyleShadowSVGData::operator==):
- (WebCore::StyleResourceData::StyleResourceData):
- (WebCore::StyleResourceData::operator==):
- (WebCore::StyleInheritedResourceData::StyleInheritedResourceData):
- (WebCore::StyleInheritedResourceData::operator==):
- * rendering/style/SVGRenderStyleDefs.h:
- (WebCore::StyleFillData::operator!=):
- (WebCore::StyleStopData::operator!=):
- (WebCore::StyleMiscData::create):
- (WebCore::StyleMiscData::copy):
- (WebCore::StyleMiscData::operator!=):
- (WebCore::StyleShadowSVGData::create):
- (WebCore::StyleShadowSVGData::copy):
- (WebCore::StyleShadowSVGData::operator!=):
- (WebCore::StyleResourceData::create):
- (WebCore::StyleResourceData::copy):
- (WebCore::StyleResourceData::operator!=):
- (WebCore::StyleInheritedResourceData::create):
- (WebCore::StyleInheritedResourceData::copy):
- (WebCore::StyleInheritedResourceData::operator!=):
- * svg/SVGDocumentExtensions.cpp:
- (WebCore::SVGDocumentExtensions::addResource):
- (WebCore::SVGDocumentExtensions::removeResource):
- * svg/SVGDocumentExtensions.h:
- * svg/SVGStyledElement.cpp:
- (WebCore::SVGStyledElement::invalidateResources):
-
-2010-04-14 Zhenyao Mo <zmo@google.com>
-
- Reviewed by Dimitri Glazkov.
-
- readPixels must take PACK_ALIGNMENT into account
- https://bugs.webkit.org/show_bug.cgi?id=34718
-
- Test: fast/canvas/webgl/read-pixels.html
-
- * html/canvas/WebGLRenderingContext.cpp:
- (WebCore::WebGLRenderingContext::WebGLRenderingContext): Init members to support pack_alignment.
- (WebCore::WebGLRenderingContext::pixelStorei): Save pack/unpack_alignment.
- (WebCore::WebGLRenderingContext::readPixels): Validate enum and deal with pack_alignment.
- * html/canvas/WebGLRenderingContext.h: Add members to support pack_alignment.
- * platform/graphics/GraphicsContext3D.h: Refactor readPixels.
- * platform/graphics/mac/GraphicsContext3DMac.cpp:
- (WebCore::GraphicsContext3D::readPixels): Move array allocation and alpha fix to WebGLRenderingContext; flush before read pixels.
-
-2010-04-13 Dirk Schulze <krit@webkit.org>
-
- Reviewed by Eric Seidel.
-
- REGRESSION(r57511): many new graphics / svg related leaks
- https://bugs.webkit.org/show_bug.cgi?id=37527
-
- The content of a HashMap was not correctly deleted. Fixed this
- in the DTor and in invalidateClient of RenderSVGResourceClipper.
-
- * rendering/RenderSVGResourceClipper.cpp:
- (WebCore::RenderSVGResourceClipper::~RenderSVGResourceClipper):
- (WebCore::RenderSVGResourceClipper::invalidateClient):
-
-2010-04-13 Zhenyao Mo <zmo@google.com>
-
- Reviewed by Oliver Hunt.
-
- Fix a potential integer overflow in WebGL*Array::slice()
- https://bugs.webkit.org/show_bug.cgi?id=37466
-
- * html/canvas/WebGLArray.h:
- (WebCore::WebGLArray::clampOffsetAndNumElements): Input parameter "offset"'s semantic changed from in bytes from buffer to in elements from array view; calculate offset in bytes from buffer inside the function, avoiding overflow.
- * html/canvas/WebGLByteArray.cpp:
- (WebCore::WebGLByteArray::slice): Changed according to new semantic of WebCore::WebGLArray::clampOffsetAndNumElements.
- * html/canvas/WebGLFloatArray.cpp:
- (WebCore::WebGLFloatArray::slice): Ditto.
- * html/canvas/WebGLIntArray.cpp:
- (WebCore::WebGLIntArray::slice): Ditto.
- * html/canvas/WebGLShortArray.cpp:
- (WebCore::WebGLShortArray::slice): Ditto.
- * html/canvas/WebGLUnsignedByteArray.cpp:
- (WebCore::WebGLUnsignedByteArray::slice): Ditto.
- * html/canvas/WebGLUnsignedIntArray.cpp:
- (WebCore::WebGLUnsignedIntArray::slice): Ditto.
- * html/canvas/WebGLUnsignedShortArray.cpp:
- (WebCore::WebGLUnsignedShortArray::slice): Ditto.
-
-2010-04-13 Darin Fisher <darin@chromium.org>
-
- Reviewed by Brady Eidson.
-
- If the browsing context's session history contains only one Document,
- and that was the about:blank Document created when the browsing context
- was created, then the navigation must be done with replacement enabled.
-
- https://bugs.webkit.org/show_bug.cgi?id=37126
-
- Tests: fast/loader/frame-location-change-not-added-to-history.html
- fast/loader/frame-src-change-not-added-to-history.html
-
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::clientRedirected):
- (WebCore::FrameLoader::findFrameForNavigation):
- * loader/HistoryController.cpp:
- (WebCore::HistoryController::currentItemShouldBeReplaced):
- * loader/HistoryController.h:
-
-2010-04-13 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Separated a DOMWrapperWorld's behavior of keeping wrappers alive from
- its own lifetime, so a DOMWrapperWorld's controller can throw away
- its wrappers even before its refcount reaches 0.
-
- * WebCore.base.exp:
- * bindings/js/DOMWrapperWorld.cpp:
- (WebCore::DOMWrapperWorld::DOMWrapperWorld):
- (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
- (WebCore::DOMWrapperWorld::registerWorld):
- (WebCore::DOMWrapperWorld::unregisterWorld):
- * bindings/js/DOMWrapperWorld.h: Factored out DOMWrapperWorld registration
- and unregistration into helper functions, so unregistering could be done manually.
-
- * bindings/js/ScriptController.cpp:
- (WebCore::ScriptController::destroyWindowShell): Added an ASSERT to match
- similar code.
-
-2010-04-13 Chang Shu <chang.shu@nokia.com>
-
- Reviewed by Darin Fisher.
-
- https://bugs.webkit.org/show_bug.cgi?id=34653
-
- Based on W3C spec and Firefox behavior, while invoking XHR Send with parameter
- as String, the charset in Content-Type should be forced to set to UTF-8.
-
- Test: http/tests/xmlhttprequest/request-encoding2.html
-
- * platform/network/HTTPParsers.cpp:
- (WebCore::extractCharsetFromMediaType):
- (WebCore::findCharsetInMediaType):
- * platform/network/HTTPParsers.h:
- * xml/XMLHttpRequest.cpp:
- (WebCore::setCharsetInMediaType):
- (WebCore::XMLHttpRequest::send):
-
-2010-04-12 Timothy Hatcher <timothy@apple.com>
-
- SecurityOrigin needs a way to remove individual OriginAccessEntries
- https://bugs.webkit.org/show_bug.cgi?id=37449
-
- Test: http/tests/xmlhttprequest/origin-whitelisting-removal.html
-
- Reviewed by Dave Hyatt.
-
- * WebCore.base.exp: Added SecurityOrigin::removeOriginAccessWhitelistEntry.
- * page/OriginAccessEntry.h:
- (WebCore::OriginAccessEntry::protocol): Added. Returns m_protocol.
- (WebCore::OriginAccessEntry::host): Added. Returns m_host.
- (WebCore::OriginAccessEntry::subdomainSettings): Added. Returns m_subdomainSettings.
- (WebCore::operator==): Added. Compares OriginAccessEntry.
- (WebCore::operator!=): Ditto.
- * page/SecurityOrigin.cpp:
- (WebCore::SecurityOrigin::addOriginAccessWhitelistEntry): Use the add method to prevent a
- second hash lookup.
- (WebCore::SecurityOrigin::removeOriginAccessWhitelistEntry): Added. Find a matching
- OriginAccessEntry and remove it.
- * page/SecurityOrigin.h: Added removeOriginAccessWhitelistEntry.
-
-2010-04-13 Timothy Hatcher <timothy@apple.com>
-
- Rename SecurityOrigin::whiteListAccessFromOrigin to addOriginAccessWhitelistEntry.
- And SecurityOrigin::resetOriginAccessWhiteLists to resetOriginAccessWhitelists.
-
- SecurityOrigin needs a way to remove individual OriginAccessEntries
- https://bugs.webkit.org/show_bug.cgi?id=37449
-
- Reviewed by Dave Hyatt.
-
- * WebCore.base.exp:
- * page/SecurityOrigin.cpp:
- (WebCore::SecurityOrigin::addOriginAccessWhitelistEntry):
- (WebCore::SecurityOrigin::resetOriginAccessWhitelists):
- * page/SecurityOrigin.h:
-
-2010-04-13 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Mark Rowe.
-
- Tidied up some more DOMWrapperWorld lifetime issues.
-
- Made DOMWrapperWorld aware of its JSDOMWindowShells, so it can clear them.
-
- * bindings/js/DOMWrapperWorld.cpp:
- (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
- * bindings/js/DOMWrapperWorld.h:
- (WebCore::DOMWrapperWorld::didCreateWindowShell):
- (WebCore::DOMWrapperWorld::didDestroyWindowShell): Functionality for
- tracking window shells that reference a given DOMWrapperWorld.
-
- * bindings/js/ScriptController.cpp:
- (WebCore::ScriptController::~ScriptController):
- (WebCore::ScriptController::destroyWindowShell):
- (WebCore::ScriptController::createWindowShell):
- (WebCore::ScriptController::clearWindowShell):
- (WebCore::ScriptController::initScript):
- * bindings/js/ScriptController.h: Refactored to update a DOMWrapperWorld
- when adding or removing a JSDOMWindowShell.
-
- * dom/Document.cpp:
- (WebCore::Document::destroyAllWrapperCaches): Changed to use isEmpty(),
- which is slightly faster and simpler than iterator comparison.
-
-2010-04-13 Dumitru Daniliuc <dumi@chromium.org>
-
- Reviewed by Adam Barth.
-
- Make all HTML5 DB callbacks run in the correct context.
- https://bugs.webkit.org/show_bug.cgi?id=27698
-
- Tests: storage/statement-error-callback-isolated-world.html
- storage/statement-success-callback-isolated-world.html
- storage/transaction-callback-isolated-world.html
- storage/transaction-error-callback-isolated-world.html
-
- * bindings/js/JSCustomSQLStatementCallback.cpp:
- (WebCore::JSCustomSQLStatementCallback::JSCustomSQLStatementCallback):
- (WebCore::JSCustomSQLStatementCallback::handleEvent):
- * bindings/js/JSCustomSQLStatementCallback.h:
- * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
- (WebCore::JSCustomSQLStatementErrorCallback::JSCustomSQLStatementErrorCallback):
- (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
- * bindings/js/JSCustomSQLStatementErrorCallback.h:
- * bindings/js/JSCustomSQLTransactionCallback.cpp:
- (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
- (WebCore::JSCustomSQLTransactionCallback::handleEvent):
- * bindings/js/JSCustomSQLTransactionCallback.h:
- * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
- (WebCore::JSCustomSQLTransactionErrorCallback::JSCustomSQLTransactionErrorCallback):
- (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
- * bindings/js/JSCustomSQLTransactionErrorCallback.h:
- * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
- (WebCore::V8CustomSQLStatementCallback::V8CustomSQLStatementCallback):
- (WebCore::V8CustomSQLStatementCallback::handleEvent):
- * bindings/v8/custom/V8CustomSQLStatementCallback.h:
- * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
- (WebCore::V8CustomSQLStatementErrorCallback::V8CustomSQLStatementErrorCallback):
- (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
- * bindings/v8/custom/V8CustomSQLStatementErrorCallback.h:
- * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
- (WebCore::V8CustomSQLTransactionCallback::V8CustomSQLTransactionCallback):
- (WebCore::V8CustomSQLTransactionCallback::handleEvent):
- * bindings/v8/custom/V8CustomSQLTransactionCallback.h:
- * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
- (WebCore::V8CustomSQLTransactionErrorCallback::V8CustomSQLTransactionErrorCallback):
- (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
- * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.h:
- * storage/SQLStatement.cpp:
- (WebCore::SQLStatement::performCallback):
- * storage/SQLStatementCallback.h:
- * storage/SQLStatementErrorCallback.h:
- * storage/SQLTransaction.cpp:
- (WebCore::SQLTransaction::deliverTransactionCallback):
- (WebCore::SQLTransaction::deliverTransactionErrorCallback):
- * storage/SQLTransactionCallback.h:
- * storage/SQLTransactionErrorCallback.h:
- (WebCore::SQLTransactionErrorCallback::~SQLTransactionErrorCallback):
-
-2010-04-13 Mikhail Naganov <mnaganov@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Fix search behavior in Profiles tab.
-
- https://bugs.webkit.org/show_bug.cgi?id=37498
-
- * inspector/front-end/ProfileView.js:
- (WebInspector.CPUProfileView.profileCallback):
- (WebInspector.CPUProfileView):
-
-2010-04-13 David Hyatt <hyatt@apple.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=37513, clean up StyleBoxData and the RenderStyle variable that uses it.
-
- * rendering/style/RenderStyle.cpp:
- (WebCore::RenderStyle::RenderStyle):
- (WebCore::RenderStyle::operator==):
- (WebCore::RenderStyle::diff):
- * rendering/style/RenderStyle.h:
- (WebCore::):
- (WebCore::InheritedFlags::width):
- (WebCore::InheritedFlags::height):
- (WebCore::InheritedFlags::minWidth):
- (WebCore::InheritedFlags::maxWidth):
- (WebCore::InheritedFlags::minHeight):
- (WebCore::InheritedFlags::maxHeight):
- (WebCore::InheritedFlags::verticalAlignLength):
- (WebCore::InheritedFlags::boxSizing):
- (WebCore::InheritedFlags::setWidth):
- (WebCore::InheritedFlags::setHeight):
- (WebCore::InheritedFlags::setMinWidth):
- (WebCore::InheritedFlags::setMaxWidth):
- (WebCore::InheritedFlags::setMinHeight):
- (WebCore::InheritedFlags::setMaxHeight):
- (WebCore::InheritedFlags::setVerticalAlignLength):
- (WebCore::InheritedFlags::hasAutoZIndex):
- (WebCore::InheritedFlags::setHasAutoZIndex):
- (WebCore::InheritedFlags::zIndex):
- (WebCore::InheritedFlags::setZIndex):
- (WebCore::InheritedFlags::setBoxSizing):
- * rendering/style/StyleBoxData.cpp:
- (WebCore::StyleBoxData::StyleBoxData):
- (WebCore::StyleBoxData::operator==):
- * rendering/style/StyleBoxData.h:
- (WebCore::StyleBoxData::width):
- (WebCore::StyleBoxData::height):
- (WebCore::StyleBoxData::minWidth):
- (WebCore::StyleBoxData::minHeight):
- (WebCore::StyleBoxData::maxWidth):
- (WebCore::StyleBoxData::maxHeight):
- (WebCore::StyleBoxData::verticalAlign):
- (WebCore::StyleBoxData::zIndex):
- (WebCore::StyleBoxData::hasAutoZIndex):
- (WebCore::StyleBoxData::boxSizing):
-
-2010-04-12 yael aharon <yael.aharon@nokia.com>
-
- Reviewed by Tor Arne Vestbo.
-
- Minor fix to pass RenderProgress instead of RenderObject
- https://bugs.webkit.org/show_bug.cgi?id=37481
-
- * accessibility/AXObjectCache.cpp:
- (WebCore::AXObjectCache::getOrCreate):
- * accessibility/AccessibilityProgressIndicator.cpp:
- (WebCore::AccessibilityProgressIndicator::AccessibilityProgressIndicator):
- (WebCore::AccessibilityProgressIndicator::create):
- * accessibility/AccessibilityProgressIndicator.h:
-
-2010-04-13 David Hyatt <hyatt@apple.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=37510, clean up StyleBackgroundData
-
- * rendering/style/RenderStyle.cpp:
- (WebCore::RenderStyle::RenderStyle):
- (WebCore::RenderStyle::operator==):
- (WebCore::RenderStyle::diff):
- * rendering/style/RenderStyle.h:
- (WebCore::):
- (WebCore::InheritedFlags::hasBackground):
- (WebCore::InheritedFlags::hasBackgroundImage):
- (WebCore::InheritedFlags::hasFixedBackgroundImage):
- (WebCore::InheritedFlags::outlineWidth):
- (WebCore::InheritedFlags::outlineStyle):
- (WebCore::InheritedFlags::outlineStyleIsAuto):
- (WebCore::InheritedFlags::outlineColor):
- (WebCore::InheritedFlags::backgroundColor):
- (WebCore::InheritedFlags::backgroundImage):
- (WebCore::InheritedFlags::backgroundRepeatX):
- (WebCore::InheritedFlags::backgroundRepeatY):
- (WebCore::InheritedFlags::backgroundComposite):
- (WebCore::InheritedFlags::backgroundAttachment):
- (WebCore::InheritedFlags::backgroundClip):
- (WebCore::InheritedFlags::backgroundOrigin):
- (WebCore::InheritedFlags::backgroundXPosition):
- (WebCore::InheritedFlags::backgroundYPosition):
- (WebCore::InheritedFlags::backgroundSizeType):
- (WebCore::InheritedFlags::backgroundSizeLength):
- (WebCore::InheritedFlags::accessBackgroundLayers):
- (WebCore::InheritedFlags::backgroundLayers):
- (WebCore::InheritedFlags::outlineOffset):
- (WebCore::InheritedFlags::resetOutline):
- (WebCore::InheritedFlags::setBackgroundColor):
- (WebCore::InheritedFlags::setBackgroundXPosition):
- (WebCore::InheritedFlags::setBackgroundYPosition):
- (WebCore::InheritedFlags::setBackgroundSize):
- (WebCore::InheritedFlags::setBackgroundSizeLength):
- (WebCore::InheritedFlags::setOutlineWidth):
- (WebCore::InheritedFlags::setOutlineStyle):
- (WebCore::InheritedFlags::setOutlineColor):
- (WebCore::InheritedFlags::clearBackgroundLayers):
- (WebCore::InheritedFlags::inheritBackgroundLayers):
- (WebCore::InheritedFlags::setOutlineOffset):
- * rendering/style/StyleBackgroundData.h:
- (WebCore::StyleBackgroundData::background):
- (WebCore::StyleBackgroundData::color):
- (WebCore::StyleBackgroundData::outline):
-
-2010-04-13 Stephan Aßmus <superstippi@gmx.de>
-
- Reviewed by David Levin.
-
- [Haiku] Use the system clipboard instead of a private clipboard.
- Fix various problems in the previous implementation.
-
- https://bugs.webkit.org/show_bug.cgi?id=37421
-
- No new tests needed.
-
- * platform/haiku/PasteboardHaiku.cpp:
- (WebCore::Pasteboard::~Pasteboard):
- (WebCore::Pasteboard::generalPasteboard):
- - Don't leak the pasteboard at program exit.
- (WebCore::AutoClipboardLocker::AutoClipboardLocker):
- (WebCore::AutoClipboardLocker::~AutoClipboardLocker):
- (WebCore::AutoClipboardLocker::isLocked):
- - helper class for locking a BClipboard.
- (WebCore::Pasteboard::writeSelection):
- - Use AddData(B_MIME_TYPE) as required by clipboard protocol.
- - Make sure we don't end up with unwanted UTF-8 characters for
- regular line breaks.
- (WebCore::Pasteboard::writePlainText):
- - Use AddData(B_MIME_TYPE) as required by clipboard protocol.
- (WebCore::Pasteboard::plainText):
- - Use FindData(B_MIME_TYPE) as required by clipboard protocol.
- (WebCore::Pasteboard::documentFragment):
- - Implemented.
- (WebCore::Pasteboard::writeURL):
- - Needs to use AddData(B_MIME_TYPE) instead of AddString().
- (WebCore::Pasteboard::clear):
-
-2010-04-13 Stephan Aßmus <superstippi@gmx.de>
-
- Reviewed by David Levin.
-
- [Haiku] Fix bridging Widget to native top-level BView.
- https://bugs.webkit.org/show_bug.cgi?id=37419
-
- In the Haiku port, there is no mapping between native widgets
- and WebCore Widget instances. There is only a top-level BView
- which renders a web page into a bitmap. For certain WebCore widget
- functionality, we need to access this BView, like for setting the
- current cursor or forcing focus. On the other hand, setting a
- platform widget pointer on Widget results into completely different
- behavior, like ScrollView tries to forward everything instead of
- handling stuff itself. To make this work, the pointer to a "top-level"
- BView is stored in every Widget for the Haiku port.
-
- No new tests needed.
-
- * platform/Widget.h:
- - Added the m_topLevelPlatformWidget member for the Haiku platform.
- (WebCore::Widget::setPlatformWidget):
- (WebCore::Widget::topLevelPlatformWidget):
- (WebCore::Widget::setTopLevelPlatformWidget):
- * platform/haiku/WidgetHaiku.cpp:
- (WebCore::AutoPlatformWidgetLocker::AutoPlatformWidgetLocker):
- (WebCore::AutoPlatformWidgetLocker::~AutoPlatformWidgetLocker):
- (WebCore::AutoPlatformWidgetLocker::isLocked):
- - helper class for locking the BView looper thread with a timeout
- (WebCore::Widget::Widget):
- (WebCore::Widget::setFocus):
- - Make sure the top-level view receives keyboard input.
- (WebCore::Widget::setCursor):
- - Set the cursor on the top-level view.
- (WebCore::Widget::show):
- (WebCore::Widget::hide):
- - Don't show/hide the top-level view, but make the code correct
- for whenever we would map an individual BView per Widget.
- - Use setSelfVisible() and isParentVisible() like in other ports.
-
-2010-04-13 Jeremy Moskovich <jeremy@chromium.org>
-
- Reviewed by David Levin.
-
- Add some diagnostics to try to track down cause of crash in ArchiveFactory::isArchiveMimeType().
-
- https://bugs.webkit.org/show_bug.cgi?id=36426
-
- No new tests as there is no new functionality.
-
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::finishedLoadingDocument): Make copy of mimeType string to isolate crash.
-
-2010-04-13 Abhishek Arya <inferno@chromium.org>
-
- Reviewed by Adam Barth.
-
- Add a null ptr check for m_popupClient.
-
- * platform/chromium/PopupMenuChromium.cpp:
- (WebCore::PopupListBox::abandon): Add a null ptr check
-
-2010-04-13 Stephan Aßmus <superstippi@gmx.de>
-
- Reviewed by David Levin.
-
- [Haiku] Use the system's default font family as last fall back font.
- https://bugs.webkit.org/show_bug.cgi?id=37501
-
- No new tests needed.
-
- * platform/graphics/haiku/FontCacheHaiku.cpp:
- (WebCore::FontCache::getLastResortFallbackFont):
- - Use the system's default font family (from be_plain_font global).
-
-2010-04-13 Eskil Blomfeldt <eblomfel@trolltech.com>, Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Use integer pixel metric QFont API to fix rounding errors in text rendering on the Mac
- https://bugs.webkit.org/show_bug.cgi?id=36532
-
- * platform/graphics/qt/FontQt.cpp:
- (WebCore::Font::floatWidthForComplexText):
- (WebCore::Font::font):
+ * storage/IDBAny.cpp:
+ (WebCore::IDBAny::idbIndexRequest):
+ (WebCore::IDBAny::set):
+ * storage/IDBAny.h:
+ (WebCore::IDBAny::):
+ * storage/IDBCallbacks.h:
+ * storage/IDBDatabase.h:
+ * storage/IDBDatabaseError.h:
+ (WebCore::IDBDatabaseError::):
+ * storage/IDBDatabaseError.idl:
+ * storage/IDBDatabaseException.h:
+ * storage/IDBDatabaseException.idl:
+ * storage/IDBDatabaseImpl.cpp:
+ * storage/IDBDatabaseImpl.h:
+ * storage/IDBDatabaseRequest.cpp:
+ * storage/IDBDatabaseRequest.h:
+ * storage/IDBDatabaseRequest.idl:
+ * storage/IDBIndex.h: Added.
+ (WebCore::IDBIndex::~IDBIndex):
+ * storage/IDBIndexImpl.cpp: Added.
+ (WebCore::IDBIndexImpl::IDBIndexImpl):
+ (WebCore::IDBIndexImpl::~IDBIndexImpl):
+ * storage/IDBIndexImpl.h: Added.
+ (WebCore::IDBIndexImpl::create):
+ (WebCore::IDBIndexImpl::name):
+ (WebCore::IDBIndexImpl::keyPath):
+ (WebCore::IDBIndexImpl::unique):
+ * storage/IDBIndexRequest.cpp: Added.
+ (WebCore::IDBIndexRequest::IDBIndexRequest):
+ (WebCore::IDBIndexRequest::~IDBIndexRequest):
+ * storage/IDBIndexRequest.h: Added.
+ (WebCore::IDBIndexRequest::create):
+ (WebCore::IDBIndexRequest::name):
+ (WebCore::IDBIndexRequest::keyPath):
+ (WebCore::IDBIndexRequest::unique):
+ * storage/IDBIndexRequest.idl: Added.
+ * storage/IDBObjectStore.cpp:
+ (WebCore::IDBObjectStore::IDBObjectStore):
+ (WebCore::IDBObjectStore::~IDBObjectStore):
+ (WebCore::IDBObjectStore::indexNames):
+ (WebCore::IDBObjectStore::createIndex):
+ (WebCore::IDBObjectStore::index):
+ (WebCore::IDBObjectStore::removeIndex):
+ * storage/IDBObjectStore.h:
+ * storage/IDBObjectStoreRequest.cpp:
+ (WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest):
+ (WebCore::IDBObjectStoreRequest::name):
+ (WebCore::IDBObjectStoreRequest::keyPath):
+ (WebCore::IDBObjectStoreRequest::indexNames):
+ (WebCore::IDBObjectStoreRequest::createIndex):
+ (WebCore::IDBObjectStoreRequest::index):
+ (WebCore::IDBObjectStoreRequest::removeIndex):
+ * storage/IDBObjectStoreRequest.h:
+ * storage/IDBObjectStoreRequest.idl:
+ * storage/IDBRequest.cpp:
+ (WebCore::IDBRequest::onSuccess):
+ * storage/IDBRequest.h:
+ * storage/IndexedDatabaseRequest.idl:
-2010-04-13 Alexander Pavlov <apavlov@chromium.org>
+2010-05-28 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
- Web Inspector: Cannot effectively delete properties in the Styles sidebar pane
- https://bugs.webkit.org/show_bug.cgi?id=37499
-
- * inspector/InspectorDOMAgent.cpp:
- (WebCore::InspectorDOMAgent::applyStyleText):
-
-2010-04-13 Stephan Aßmus <superstippi@gmx.de>
-
- Reviewed by David Levin.
-
- Use the Haiku MIME type data base as a fall back for unknown file extensions.
- https://bugs.webkit.org/show_bug.cgi?id=34686
-
- Covered by existing tests.
-
- * platform/haiku/MIMETypeRegistryHaiku.cpp:
- (WebCore::):
- - fixed coding style issues
- (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
- - fall back to the system MIME database for unknown types.
- - return empty String as last resort, this is used
- elsewhere as indicator for unknown types.
-
-2010-04-13 Stephan Aßmus <superstippi@gmx.de>
-
- Reviewed by David Levin.
-
- [Haiku] Use all the new system cursors available in recent Haiku revisions.
- <https://bugs.webkit.org/show_bug.cgi?id=37385>
-
- Covered by existing tests.
-
- * platform/haiku/CursorHaiku.cpp:
- (WebCore::Cursor::Cursor):
- (WebCore::Cursor::~Cursor):
- (WebCore::Cursor::operator=):
- - Adapted to maintain an owned BCursor instance.
- (WebCore::createCursorByID):
- - helper function to create a Cursor instance by BCursorID constant.
- (WebCore::pointerCursor):
- - NULL BCursor triggers using the system cursor.
- (WebCore::moveCursor):
- (WebCore::crossCursor):
- (WebCore::handCursor):
- (WebCore::iBeamCursor):
- (WebCore::waitCursor):
- (WebCore::helpCursor):
- (WebCore::eastResizeCursor):
- (WebCore::northResizeCursor):
- (WebCore::northEastResizeCursor):
- (WebCore::northWestResizeCursor):
- (WebCore::southResizeCursor):
- (WebCore::southEastResizeCursor):
- (WebCore::southWestResizeCursor):
- (WebCore::westResizeCursor):
- (WebCore::northSouthResizeCursor):
- (WebCore::eastWestResizeCursor):
- (WebCore::northEastSouthWestResizeCursor):
- (WebCore::northWestSouthEastResizeCursor):
- (WebCore::columnResizeCursor):
- (WebCore::rowResizeCursor):
- (WebCore::verticalTextCursor):
- (WebCore::cellCursor):
- (WebCore::contextMenuCursor):
- (WebCore::noDropCursor):
- (WebCore::copyCursor):
- (WebCore::progressCursor):
- (WebCore::aliasCursor):
- (WebCore::noneCursor):
- (WebCore::notAllowedCursor):
- (WebCore::zoomInCursor):
- (WebCore::zoomOutCursor):
- (WebCore::grabCursor):
- (WebCore::grabbingCursor):
- - Use the new system cursors.
-
-2010-04-13 Dirk Schulze <krit@webkit.org>
-
- Reviewed by Nikolas Zimmermann.
-
- <clipPath> doesn't correctly handle <text> elements
- https://bugs.webkit.org/show_bug.cgi?id=12571
-
- Adds support for text elements as clipPath, heterogenous clip rules, as well
- as clipping of clipPath.
- A fast code path let platforms clip simple shapes directly. All other variants
- are drawn to a seperate ImageBuffer, which is used as a mask. This happens the same
- way we like we do it on SVG Masking. This needs temporary changes to the RenderStyle
- of clipPath childs. Values like stroke, resources, opacity have to be ignored.
-
- Tests: svg/clip-path/clip-path-child-clipped.svg
- svg/clip-path/clip-path-childs-clipped.svg
- svg/clip-path/clip-path-clipped-evenodd-twice.svg
- svg/clip-path/clip-path-clipped-no-content.svg
- svg/clip-path/clip-path-clipped-nonzero.svg
- svg/clip-path/clip-path-clipped.svg
- svg/clip-path/clip-path-evenodd-nonzero.svg
- svg/clip-path/clip-path-evenodd.svg
- svg/clip-path/clip-path-nonzero-evenodd.svg
- svg/clip-path/clip-path-nonzero.svg
- svg/clip-path/clip-path-objectBoundingBox.svg
- svg/clip-path/clip-path-on-clipped-use.svg
- svg/clip-path/clip-path-on-g-and-child.svg
- svg/clip-path/clip-path-on-g.svg
- svg/clip-path/clip-path-on-svg-and-child.svg
- svg/clip-path/clip-path-on-svg.svg
- svg/clip-path/clip-path-recursive-call-by-child.svg
- svg/clip-path/clip-path-recursive-call.svg
- svg/clip-path/clip-path-text-and-shape.svg
- svg/clip-path/clip-path-text-and-stroke.svg
- svg/clip-path/clip-path-text.svg
- svg/clip-path/clip-path-use-as-child.svg
- svg/clip-path/clip-path-use-as-child2.svg
- svg/clip-path/clip-path-use-as-child3.svg
- svg/clip-path/clip-path-use-as-child4.svg
- svg/clip-path/clip-path-use-as-child5.svg
- svg/clip-path/clip-path-userSpaceOnUse.svg
- svg/clip-path/clip-path-with-container.svg
- svg/clip-path/clip-path-with-different-unittypes.svg
- svg/clip-path/clip-path-with-different-unittypes2.svg
- svg/clip-path/clip-path-with-invisibile-child.svg
- svg/clip-path/clip-path-with-text-clipped.svg
-
- * rendering/RenderObject.h:
- (WebCore::RenderObject::isSVGShadowTreeRootContainer): identify use-element renderer
- * rendering/RenderSVGResourceClipper.cpp:
- (WebCore::RenderSVGResourceClipper::invalidateClients):
- (WebCore::RenderSVGResourceClipper::invalidateClient):
- (WebCore::RenderSVGResourceClipper::applyResource):
- (WebCore::RenderSVGResourceClipper::pathOnlyClipping): direct clipping for simple shapes
- (WebCore::RenderSVGResourceClipper::applyClippingToContext): direct clipping or maskImage?
- (WebCore::RenderSVGResourceClipper::createClipData): creates maskImage for clipping
- (WebCore::RenderSVGResourceClipper::resourceBoundingBox):
- * rendering/RenderSVGResourceClipper.h:
- * rendering/RenderSVGShadowTreeRootContainer.h: identify use-Element by renderer
- (WebCore::RenderSVGShadowTreeRootContainer::isSVGShadowTreeRootContainer):
- * rendering/SVGRenderSupport.cpp:
- (WebCore::renderSubtreeToImage): hack to get texts working on clipping (masks and pattern)
- * svg/SVGUseElement.cpp:
- (WebCore::SVGUseElement::rendererClipChild): get renderer of referenced object
- * svg/SVGUseElement.h:
-
-2010-04-13 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Reviewed by Dirk Schulze.
-
- SVG renderers should track transform/path changes, instead of pulling every time from SVG DOM
- https://bugs.webkit.org/show_bug.cgi?id=15389
+ Web Inspector: hide node highlight when inspected page closes.
+ https://bugs.webkit.org/show_bug.cgi?id=39872
- RenderPath caches repaint rectangles (fill/stroke bbox etc.) though this caching
- was effectively useless because every layout() call caused them to be reset to empty rects.
- Furthermore RenderPath::layout() queried the SVG DOM upon every invocation to retrieve
- the Path object, instead of only doing it when necessary. Even the TransformationMatrix
- was polled everytime from the SVG DOM.
-
- Move the knownledge wheter we need to update path/transform into the render tree and
- only update when necessary. This should result in a huge performance increase, with
- the drawback of adding slightly more memory, because we need to add booleans indicating
- the status of path/transform (is dirty?).
-
- Doesn't affect any tests, only performance.
-
- * rendering/RenderForeignObject.cpp:
- (WebCore::RenderForeignObject::RenderForeignObject):
- (WebCore::RenderForeignObject::layout):
- * rendering/RenderForeignObject.h:
- (WebCore::RenderForeignObject::setNeedsTransformUpdate):
- * rendering/RenderObject.h:
- (WebCore::RenderObject::setNeedsTransformUpdate):
- (WebCore::RenderObject::setNeedsBoundariesUpdate):
- * rendering/RenderPath.cpp:
- (WebCore::RenderPath::RenderPath):
- (WebCore::RenderPath::layout):
- (WebCore::RenderPath::invalidateCachedBoundaries):
- (WebCore::RenderPath::styleWillChange):
- * rendering/RenderPath.h:
- (WebCore::RenderPath::setNeedsBoundariesUpdate):
- (WebCore::RenderPath::setNeedsPathUpdate):
- (WebCore::RenderPath::setNeedsTransformUpdate):
- (WebCore::RenderPath::localToParentTransform):
- (WebCore::RenderPath::localTransform):
- * rendering/RenderSVGImage.cpp:
- (WebCore::RenderSVGImage::RenderSVGImage):
- (WebCore::RenderSVGImage::layout):
- * rendering/RenderSVGImage.h:
- (WebCore::RenderSVGImage::setNeedsTransformUpdate):
- * rendering/RenderSVGResourceClipper.cpp:
- (WebCore::RenderSVGResourceClipper::invalidateClients):
- * rendering/RenderSVGResourceMarker.cpp:
- (WebCore::RenderSVGResourceMarker::invalidateClients):
- * rendering/RenderSVGResourceMasker.cpp:
- (WebCore::RenderSVGResourceMasker::invalidateClients):
- * rendering/RenderSVGText.cpp:
- (WebCore::RenderSVGText::RenderSVGText):
- (WebCore::RenderSVGText::layout):
- * rendering/RenderSVGText.h:
- (WebCore::RenderSVGText::setNeedsTransformUpdate):
- * rendering/RenderSVGTransformableContainer.cpp:
- (WebCore::RenderSVGTransformableContainer::RenderSVGTransformableContainer):
- (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
- * rendering/RenderSVGTransformableContainer.h:
- (WebCore::RenderSVGTransformableContainer::localToParentTransform):
- (WebCore::RenderSVGTransformableContainer::setNeedsTransformUpdate):
- (WebCore::RenderSVGTransformableContainer::localTransform):
- * svg/SVGAnimateMotionElement.cpp:
- (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
- (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
- * svg/SVGAnimateTransformElement.cpp:
- (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
- * svg/SVGCircleElement.cpp:
- (WebCore::SVGCircleElement::svgAttributeChanged):
- * svg/SVGEllipseElement.cpp:
- (WebCore::SVGEllipseElement::svgAttributeChanged):
- * svg/SVGForeignObjectElement.cpp:
- (WebCore::SVGForeignObjectElement::svgAttributeChanged):
- * svg/SVGGElement.cpp:
- (WebCore::SVGGElement::svgAttributeChanged):
- * svg/SVGImageElement.cpp:
- (WebCore::SVGImageElement::svgAttributeChanged):
- * svg/SVGLineElement.cpp:
- (WebCore::SVGLineElement::svgAttributeChanged):
- * svg/SVGPathElement.cpp:
- (WebCore::SVGPathElement::svgAttributeChanged):
- * svg/SVGPolyElement.cpp:
- (WebCore::SVGPolyElement::svgAttributeChanged):
- * svg/SVGRectElement.cpp:
- (WebCore::SVGRectElement::svgAttributeChanged):
- * svg/SVGTextElement.cpp:
- (WebCore::SVGTextElement::svgAttributeChanged):
- * svg/SVGUseElement.cpp:
- (WebCore::SVGUseElement::svgAttributeChanged):
-
-2010-04-13 Mikhail Naganov <mnaganov@chromium.org>
-
- Unreviewed Qt build fix: add new .idl files to WebCore.pri
-
- * WebCore.pri:
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::~InspectorController):
+ (WebCore::InspectorController::inspectedPageDestroyed):
-2010-04-12 Mikhail Naganov <mnaganov@chromium.org>
+2010-05-28 Mikhail Naganov <mnaganov@chromium.org>
Reviewed by Yury Semikhatsky.
- Replace hand-written JavaScriptProfile* bindings with idl-based, and
- in Chromium port, bind them to the new V8's profiler API that is
- aligned with JSC.
+ Web Inspector: add Console API for retrieving memory stats
- https://bugs.webkit.org/show_bug.cgi?id=37448
+ Add 'console.memory' property which returns an object. Currently
+ it has two fields: totalHeapSize and usedHeapSize. Later, it can be
+ extended for reporting total browser's memory consumption.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39840
- * DerivedSources.cpp:
- * DerivedSources.make:
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/JSConsoleCustom.cpp:
- * bindings/js/JSScriptProfileNodeCustom.cpp: Added.
- (WebCore::JSScriptProfileNode::callUID):
- (WebCore::JSScriptProfileNode::children):
- * bindings/js/JavaScriptProfile.cpp: Removed.
- * bindings/js/JavaScriptProfile.h: Removed.
- * bindings/js/JavaScriptProfileNode.cpp: Removed.
- * bindings/js/JavaScriptProfileNode.h: Removed.
- * bindings/js/ScriptProfileNode.h: Added.
- * bindings/scripts/CodeGeneratorJS.pm:
- * bindings/scripts/CodeGeneratorV8.pm:
- * bindings/v8/ScriptProfile.cpp: Added.
- (WebCore::ScriptProfile::title):
- (WebCore::ScriptProfile::uid):
- (WebCore::ScriptProfile::head):
- * bindings/v8/ScriptProfile.h:
- (WebCore::ScriptProfile::create):
- (WebCore::ScriptProfile::ScriptProfile):
- * bindings/v8/ScriptProfileNode.cpp: Added.
- (WebCore::ScriptProfileNode::functionName):
- (WebCore::ScriptProfileNode::url):
- (WebCore::ScriptProfileNode::lineNumber):
- (WebCore::ScriptProfileNode::totalTime):
- (WebCore::ScriptProfileNode::selfTime):
- (WebCore::ScriptProfileNode::numberOfCalls):
- (WebCore::ScriptProfileNode::children):
- (WebCore::ScriptProfileNode::visible):
- (WebCore::ScriptProfileNode::callUID):
- * bindings/v8/ScriptProfileNode.h: Added.
- (WebCore::ScriptProfileNode::create):
- (WebCore::ScriptProfileNode::~ScriptProfileNode):
- (WebCore::ScriptProfileNode::ScriptProfileNode):
- * bindings/v8/ScriptProfiler.cpp:
- (WebCore::ScriptProfiler::start):
- (WebCore::ScriptProfiler::stop):
- * bindings/v8/custom/V8ConsoleCustom.cpp: Added.
- (WebCore::V8Console::profilesAccessorGetter):
- * bindings/v8/custom/V8ScriptProfileCustom.cpp: Added.
- (WebCore::toV8):
- * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp: Added.
- (WebCore::V8ScriptProfileNode::childrenAccessorGetter):
- (WebCore::V8ScriptProfileNode::callUIDAccessorGetter):
- (WebCore::toV8):
- * inspector/InspectorController.cpp:
- (WebCore::InspectorController::getProfile):
- * inspector/ScriptProfile.idl: Added.
- * inspector/ScriptProfileNode.idl: Added.
- * inspector/front-end/InspectorBackendStub.js:
- (.WebInspector.InspectorBackendStub.prototype.getProfile):
- * inspector/front-end/ProfilesPanel.js:
- (WebInspector.ProfilesPanel.prototype.populateInterface):
- (WebInspector.ProfilesPanel.prototype.profilerWasEnabled):
+ (WebCore::JSConsole::memory):
+ * bindings/v8/custom/V8ConsoleCustom.cpp:
+ (WebCore::V8Console::memoryAccessorGetter):
+ * page/Console.cpp:
+ (WebCore::Console::memory):
+ * page/Console.h:
* page/Console.idl:
- * platform/android/TemporaryLinkStubs.cpp:
-
-2010-04-12 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Simon Fraser.
- Spatial Navigation: make renderRectRelativeToRootDocument method to fallback to getRect() of Element when needed
- https://bugs.webkit.org/show_bug.cgi?id=37461
+2010-05-28 Xan Lopez <xlopez@igalia.com>
- getRect() of Element can be used instead of absoluteClippedOverflowRect of RenderObject when
- the node is currently offscreen in an scroll overflowed content.
-
- Test: fast/events/spatial-navigation/snav-simple-content-overflow.html
-
- * page/SpatialNavigation.cpp:
- (WebCore::renderRectRelativeToRootDocument):
-
-2010-04-12 Antonio Gomes <tonikitoo@webkit.org>
-
- Unreviewed style fix.
-
- * page/FocusController.cpp:
- (WebCore::updateFocusCandidateIfCloser):
-
-2010-04-08 yael aharon <yael.aharon@nokia.com>
-
- Reviewed by Darin Adler.
-
- Accessibility support for progress element
- https://bugs.webkit.org/show_bug.cgi?id=37275
-
- Implement AccessibilityProgressIndicator to hook up progress element to accessibility framework.
-
- Test: platform/mac/accessibility/progressbar.html
+ Add new file to the build system.
* GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * accessibility/AXObjectCache.cpp:
- (WebCore::AXObjectCache::getOrCreate):
- * accessibility/AccessibilityProgressIndicator.cpp: Added.
- (WebCore::AccessibilityProgressIndicator::AccessibilityProgressIndicator):
- (WebCore::AccessibilityProgressIndicator::create):
- (WebCore::AccessibilityProgressIndicator::accessibilityIsIgnored):
- (WebCore::AccessibilityProgressIndicator::valueForRange):
- (WebCore::AccessibilityProgressIndicator::maxValueForRange):
- (WebCore::AccessibilityProgressIndicator::minValueForRange):
- (WebCore::AccessibilityProgressIndicator::element):
- * accessibility/AccessibilityProgressIndicator.h: Added.
- (WebCore::AccessibilityProgressIndicator::roleValue):
- (WebCore::AccessibilityProgressIndicator::isProgressIndicator):
- * rendering/RenderProgress.cpp:
- (WebCore::RenderProgress::updateFromElement):
- (WebCore::RenderProgress::progressElement):
- * rendering/RenderProgress.h:
-
-2010-04-12 Dumitru Daniliuc <dumi@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Throwing a SECURITY_ERR when openDatabase() cannot open a database
- for whatever reason, as required by the spec.
- https://bugs.webkit.org/show_bug.cgi?id=33916
-
- * bindings/js/JSDOMWindowCustom.cpp:
- (WebCore::JSDOMWindow::openDatabase):
- * bindings/v8/custom/V8DOMWindowCustom.cpp:
- (WebCore::V8DOMWindow::openDatabaseCallback):
-
-2010-04-12 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Dan Bernstein.
-
- WebKit should have more robust last-chance font fallback on Windows
- https://bugs.webkit.org/show_bug.cgi?id=37473
- <rdar://problem/7789438> Crash in FontFallbackList::determinePitch
- <rdar://problem/7233762> Crash in FontFallbackList::fontDataAt
-
- Look harder for a suitable last-resort font. Previously, we checked for
- "Times New Roman" followed by DEFAULT_GUI_FONT.
-
- We now look for:
- - Typically installed Unicode-capable fonts, in order of coverage
- - DEFAULT_GUI_FONT
- - SPI_GETNONCLIENTMETRICS fonts
-
- * platform/graphics/win/FontCacheWin.cpp:
- (WebCore::FontCache::fontDataFromDescriptionAndLogFont):
- (WebCore::FontCache::getLastResortFallbackFont):
-
-2010-04-12 David Hyatt <hyatt@apple.com>
-
- Reviewed by Dan Bernstein.
-
- https://bugs.webkit.org/show_bug.cgi?id=37469, clean up ShadowData to be encapsulated properly.
-
- * css/CSSComputedStyleDeclaration.cpp:
- (WebCore::CSSComputedStyleDeclaration::valueForShadow):
- * page/animation/AnimationBase.cpp:
- (WebCore::blendFunc):
- (WebCore::PropertyWrapperShadow::PropertyWrapperShadow):
- (WebCore::PropertyWrapperShadow::equals):
- (WebCore::PropertyWrapperShadow::blend):
- * page/mac/FrameMac.mm:
- (WebCore::Frame::fontAttributesForSelectionStart):
- * rendering/EllipsisBox.cpp:
- (WebCore::EllipsisBox::paint):
- * rendering/InlineFlowBox.cpp:
- (WebCore::InlineFlowBox::placeBoxesHorizontally):
- (WebCore::InlineFlowBox::computeVerticalOverflow):
- (WebCore::InlineFlowBox::paintTextDecorations):
- * rendering/InlineTextBox.cpp:
- (WebCore::paintTextWithShadows):
- (WebCore::InlineTextBox::paint):
- (WebCore::InlineTextBox::paintDecoration):
- * rendering/InlineTextBox.h:
- * rendering/RenderBoxModelObject.cpp:
- (WebCore::RenderBoxModelObject::paintBoxShadow):
- * rendering/RenderLayer.cpp:
- (WebCore::RenderLayer::calculateRects):
- * rendering/RenderObject.cpp:
- (WebCore::RenderObject::adjustRectForOutlineAndShadow):
- * rendering/SVGInlineTextBox.cpp:
- (WebCore::SVGInlineTextBox::paintCharacters):
- * rendering/SVGRenderSupport.cpp:
- (WebCore::SVGRenderBase::prepareToRenderSVGContent):
- * rendering/style/RenderStyle.cpp:
- (WebCore::RenderStyle::setTextShadow):
- (WebCore::RenderStyle::setBoxShadow):
- (WebCore::RenderStyle::getBoxShadowExtent):
- (WebCore::RenderStyle::getBoxShadowHorizontalExtent):
- (WebCore::RenderStyle::getBoxShadowVerticalExtent):
- * rendering/style/RenderStyle.h:
- (WebCore::InheritedFlags::textShadow):
- (WebCore::InheritedFlags::boxShadow):
- * rendering/style/SVGRenderStyle.cpp:
- (WebCore::getSVGShadowExtent):
- * rendering/style/ShadowData.cpp:
- (WebCore::ShadowData::ShadowData):
- (WebCore::ShadowData::operator==):
- * rendering/style/ShadowData.h:
- (WebCore::ShadowData::ShadowData):
- (WebCore::ShadowData::~ShadowData):
- (WebCore::ShadowData::x):
- (WebCore::ShadowData::y):
- (WebCore::ShadowData::blur):
- (WebCore::ShadowData::spread):
- (WebCore::ShadowData::style):
- (WebCore::ShadowData::color):
- (WebCore::ShadowData::next):
- (WebCore::ShadowData::setNext):
-
-2010-04-12 David Hyatt <hyatt@apple.com>
-
- Reviewed by Mark Rowe.
-
- https://bugs.webkit.org/show_bug.cgi?id=37463, clean up NinePieceImage.
-
- * css/CSSComputedStyleDeclaration.cpp:
- (WebCore::valueForNinePieceImage):
- * css/CSSStyleSelector.cpp:
- (WebCore::CSSStyleSelector::mapNinePieceImage):
- * rendering/RenderBoxModelObject.cpp:
- (WebCore::RenderBoxModelObject::paintNinePieceImage):
- * rendering/style/NinePieceImage.h:
- (WebCore::NinePieceImage::setImage):
- (WebCore::NinePieceImage::slices):
- (WebCore::NinePieceImage::setSlices):
- (WebCore::NinePieceImage::setHorizontalRule):
- (WebCore::NinePieceImage::verticalRule):
- (WebCore::NinePieceImage::setVerticalRule):
-
-2010-04-12 David Hyatt <hyatt@apple.com>
-
- Reviewed by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=37455, :visited doesn't work with multiple classes/ids.
- Added fast/history/multiple-classes-visited.html.
-
- * css/CSSStyleSelector.cpp:
- (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
-
-2010-04-12 Dirk Schulze <krit@webkit.org>
-
- Unreviewed build fix.
-
- Make comma/whitespace around arc flags optional in SVG path syntax
- https://bugs.webkit.org/show_bug.cgi?id=37431
-
- Fix the SL build.
-
- * svg/SVGParserUtilities.cpp:
- (WebCore::parseArcFlag):
-
-2010-04-12 Jeff Schiller <codedread@gmail.com>
-
- Reviewed by Dirk Schulze.
-
- Make comma/whitespace around arc flags optional in SVG path syntax and ensure flags are
- either 0 or 1: https://bugs.webkit.org/show_bug.cgi?id=37431
-
- * svg/SVGParserUtilities.cpp:
- (WebCore::parseArcFlag): function to read in a 0 or 1 for largeArcFlag and sweepFlag
- (WebCore::SVGPathParser::parseSVG): modify/simplify arc parsing by using parseArcFlag()
-
-2010-04-11 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r57468.
- http://trac.webkit.org/changeset/57468
- https://bugs.webkit.org/show_bug.cgi?id=37433
-
- Broke the world... Must have applied the patch wrong
- (Requested by abarth on #webkit).
-
- * Android.mk:
- * GNUmakefile.am:
- * WebCore.base.exp:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/ScriptControllerBase.cpp:
- (WebCore::ScriptController::executeIfJavaScriptURL):
- * dom/Document.cpp:
- (WebCore::Document::close):
- * dom/ProcessingInstruction.cpp:
- (WebCore::ProcessingInstruction::checkStyleSheet):
- * dom/ScriptElement.cpp:
- (WebCore::ScriptElementData::scriptCharset):
- * html/HTMLLinkElement.cpp:
- (WebCore::HTMLLinkElement::process):
- * loader/DocLoader.cpp:
- (WebCore::DocLoader::requestPreload):
- * loader/DocumentLoader.cpp:
- (WebCore::DocumentLoader::finishedLoading):
- (WebCore::DocumentLoader::setupForReplaceByMIMEType):
- * loader/DocumentWriter.cpp: Removed.
- * loader/DocumentWriter.h: Removed.
- * loader/FrameLoader.cpp:
- (WebCore::canReferToParentFrameEncoding):
- (WebCore::FrameLoader::FrameLoader):
- (WebCore::FrameLoader::init):
- (WebCore::FrameLoader::replaceDocument):
- (WebCore::FrameLoader::clear):
- (WebCore::FrameLoader::receivedFirstData):
- (WebCore::FrameLoader::responseMIMEType):
- (WebCore::FrameLoader::setResponseMIMEType):
- (WebCore::FrameLoader::begin):
- (WebCore::FrameLoader::write):
- (WebCore::FrameLoader::end):
- (WebCore::FrameLoader::endIfNotLoadingMainResource):
- (WebCore::FrameLoader::encoding):
- (WebCore::FrameLoader::setEncoding):
- (WebCore::FrameLoader::addData):
- (WebCore::FrameLoader::transitionToCommitted):
- (WebCore::FrameLoader::open):
- (WebCore::FrameLoader::finishedLoadingDocument):
- (WebCore::FrameLoader::addExtraFieldsToRequest):
- * loader/FrameLoader.h:
- * loader/MediaDocument.cpp:
- (WebCore::MediaDocument::replaceMediaElementTimerFired):
- * loader/PluginDocument.cpp:
- (WebCore::PluginTokenizer::createDocumentStructure):
- * platform/network/FormDataBuilder.cpp:
- (WebCore::FormDataBuilder::dataEncoding):
- * svg/graphics/SVGImage.cpp:
- (WebCore::SVGImage::dataChanged):
-
-2010-04-11 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Factor DocumentWriter out of FrameLoader
- https://bugs.webkit.org/show_bug.cgi?id=37175
-
- This patch separates the begin/write/end cycle of decoding network
- bytes and putting them into a document from the rest of the loading
- machinery. The code and state required to write bytes into a document
- doesn't interact very much with the rest of the loading machinery.
-
- No tests because there is no behavior change (hopefully!).
-
- * Android.mk:
- * GNUmakefile.am:
- * WebCore.base.exp:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/ScriptControllerBase.cpp:
- (WebCore::ScriptController::executeIfJavaScriptURL):
- * dom/Document.cpp:
- (WebCore::Document::close):
- * dom/ProcessingInstruction.cpp:
- (WebCore::ProcessingInstruction::checkStyleSheet):
- * dom/ScriptElement.cpp:
- (WebCore::ScriptElementData::scriptCharset):
- * html/HTMLLinkElement.cpp:
- (WebCore::HTMLLinkElement::process):
- * loader/DocLoader.cpp:
- (WebCore::DocLoader::requestPreload):
- * loader/DocumentLoader.cpp:
- (WebCore::DocumentLoader::finishedLoading):
- (WebCore::DocumentLoader::setupForReplaceByMIMEType):
- * loader/DocumentWriter.cpp: Added.
- * loader/DocumentWriter.h: Added.
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::FrameLoader):
- (WebCore::FrameLoader::init):
- (WebCore::FrameLoader::clear):
- (WebCore::FrameLoader::receivedFirstData):
- (WebCore::FrameLoader::setURL):
- (WebCore::FrameLoader::didBeginDocument):
- (WebCore::FrameLoader::didEndDocument):
- (WebCore::FrameLoader::willSetEncoding):
- (WebCore::FrameLoader::addData):
- (WebCore::FrameLoader::transitionToCommitted):
- (WebCore::FrameLoader::open):
- (WebCore::FrameLoader::finishedLoadingDocument):
- (WebCore::FrameLoader::addExtraFieldsToRequest):
- * loader/FrameLoader.h:
- (WebCore::FrameLoader::writer):
- (WebCore::FrameLoader::isDisplayingInitialEmptyDocument):
- * loader/MediaDocument.cpp:
- (WebCore::MediaDocument::replaceMediaElementTimerFired):
- * loader/PluginDocument.cpp:
- (WebCore::PluginTokenizer::createDocumentStructure):
- * platform/network/FormDataBuilder.cpp:
- (WebCore::FormDataBuilder::dataEncoding):
- * svg/graphics/SVGImage.cpp:
- (WebCore::SVGImage::dataChanged):
-
-2010-04-07 Tony Chang <tony@chromium.org>
-
- Reviewed by Eric Seidel.
-
- [chromium] implement getData('text/html') for paste and drop events
- https://bugs.webkit.org/show_bug.cgi?id=37193
-
- Tests: editing/pasteboard/onpaste-text-html.html
- fast/events/ondrop-text-html.html
-
- * platform/chromium/ClipboardChromium.cpp:
- (WebCore::):
- (WebCore::clipboardTypeFromMIMEType): add html type
- (WebCore::ClipboardChromium::clearData): implement clear text/html
- (WebCore::ClipboardChromium::getData): implement get text/html (similar to text/plain)
- (WebCore::ClipboardChromium::setData): implement set text/html
-
-2010-04-10 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Rename m_forceSandboxFlags to m_forcedSandoxFlags, as
- requested by Darin Adler.
-
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::FrameLoader):
- (WebCore::FrameLoader::updateSandboxFlags):
- * loader/FrameLoader.h:
- (WebCore::FrameLoader::setForcedSandboxFlags):
- * svg/graphics/SVGImage.cpp:
- (WebCore::SVGImage::dataChanged):
-
-2010-04-10 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Dan Bernstein.
-
- <rdar://problem/7845305> Further adoption of formal protocols for delegates.
-
- Move EmptyProtocolDefinitions.h down in to WebCore, and add the new protocols. Adopt the protocols in the appropriate places.
-
- * WebCore.xcodeproj/project.pbxproj:
- * platform/mac/EmptyProtocolDefinitions.h: Renamed from WebKit/mac/Misc/EmptyProtocolDefinitions.h.
- * platform/network/mac/ResourceHandleMac.mm:
-
-2010-04-10 Chris Evans <cevans@chromium.org>
-
- Reviewed by Adam Barth.
-
- Defense in depth: make sure an SVG document in the <img> context has
- a unique origin.
-
- https://bugs.webkit.org/show_bug.cgi?id=37392
-
- * svg/graphics/SVGImage.cpp:
- (WebCore::SVGImage::dataChanged):
- Force the temporary rendering context into a unique origin.
- * loader/FrameLoader.h:
- (WebCore::FrameLoader::setForceSandboxFlags):
- Support for setting sandbox flags that will always be applied.
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::updateSandboxFlags):
- Always apply any forced flags.
-
-2010-04-10 Vangelis Kokkevis <vangelis@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Moving files associated with the GPU compositor from platform/graphics/skia to platform/graphics/chromium. Class
- rename was done in a previous CL, this CL does the file move and rename.
- https://bugs.webkit.org/show_bug.cgi?id=37231
-
- No new functionality, no new tests.
-
- * WebCore.gypi:
- * platform/graphics/chromium/GraphicsLayerChromium.cpp: Copied from WebCore/platform/graphics/skia/GraphicsLayerSkia.cpp.
- * platform/graphics/chromium/GraphicsLayerChromium.h: Copied from WebCore/platform/graphics/skia/GraphicsLayerSkia.h.
- * platform/graphics/chromium/LayerChromium.cpp: Copied from WebCore/platform/graphics/skia/LayerSkia.cpp.
- * platform/graphics/chromium/LayerChromium.h: Copied from WebCore/platform/graphics/skia/LayerSkia.h.
- * platform/graphics/chromium/LayerRendererChromium.cpp: Copied from WebCore/platform/graphics/skia/LayerRendererSkia.cpp.
- * platform/graphics/chromium/LayerRendererChromium.h: Copied from WebCore/platform/graphics/skia/LayerRendererSkia.h.
- * platform/graphics/skia/GraphicsLayerSkia.cpp: Removed.
- * platform/graphics/skia/GraphicsLayerSkia.h: Removed.
- * platform/graphics/skia/LayerRendererSkia.cpp: Removed.
- * platform/graphics/skia/LayerRendererSkia.h: Removed.
- * platform/graphics/skia/LayerSkia.cpp: Removed.
- * platform/graphics/skia/LayerSkia.h: Removed.
-
-2010-04-10 Robert Hogan <robert@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Refactor Qt DRT support in QtWebKit
-
- https://bugs.webkit.org/show_bug.cgi?id=35844
-
- * WebCore.pro: Add DumpRenderTreeSupportQt.cpp
-
-2010-04-10 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by David Kilzer.
-
- Missing CONTEXT_MENUS Guards
- https://bugs.webkit.org/show_bug.cgi?id=37398
-
- Added missing ENABLE(CONTEXT_MENUS) guards.
-
- * bindings/js/JSInspectorFrontendHostCustom.cpp:
- (WebCore::JSInspectorFrontendHost::showContextMenu):
- * inspector/InspectorFrontendHost.cpp:
- (WebCore::InspectorFrontendHost::InspectorFrontendHost):
- (WebCore::InspectorFrontendHost::disconnectClient):
- * inspector/InspectorFrontendHost.h:
-
-2010-04-10 Stephan Aßmus <superstippi@gmx.de>
-
- Reviewed by Eric Seidel.
-
- [Haiku] Fix crash in Gradient::fill()
- https://bugs.webkit.org/show_bug.cgi?id=37386
-
- Covered by existing tests.
-
- * platform/graphics/haiku/GradientHaiku.cpp:
- (WebCore::Gradient::fill):
- - Make sure the platform gradient is already cached before
- dereferencing its pointer.
-
-2010-04-10 Stephan Aßmus <superstippi@gmx.de>
-
- Reviewed by Eric Seidel.
-
- [Haiku] Fix build of ImageHaiku.cpp
- <https://bugs.webkit.org/show_bug.cgi?id=37384>
-
- No new tests needed.
-
- * platform/graphics/haiku/ImageHaiku.cpp:
- (WebCore::Image::drawPattern):
- - include SharedBuffer.h
- - changed parameter name to be in line with other ports,
- the code I landed in an earlier commit was already using
- this name.
-
-2010-04-10 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+2010-05-28 Antti Koivisto <koivisto@iki.fi>
Reviewed by Kenneth Rohde Christiansen.
- [Qt] Implement Desktop Notifications API for QtWebKit
- https://bugs.webkit.org/show_bug.cgi?id=35503
-
- No new tests enabled as notification DRT tests are
- disabled at the moment.
-
- * WebCore.pri: Add files to the build system and turn
- on the feature by default.
-
- * WebCore.pro: Add files to the build system
-
- * bindings/js/JSDesktopNotificationsCustom.cpp:
- (WebCore::JSNotificationCenter::requestPermission):
- (WebCore::JSNotification::addEventListener):
- (WebCore::JSNotification::removeEventListener):
- Fix build regresssion.
-
-2010-04-09 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Joseph Pecoraro.
-
- Web Inspector: Console with two recursive arrays causes infinite loop trying to display.
- https://bugs.webkit.org/show_bug.cgi?id=37133
-
- * inspector/front-end/ConsoleView.js:
- (WebInspector.ConsoleView.prototype._printArray):
- (WebInspector.ConsoleView.prototype._formatAsArrayEntry):
- * inspector/front-end/InjectedScript.js:
- (injectedScriptConstructor):
-
-2010-04-09 Kevin Watters <kevinwatters@gmail.com>
-
- Reviewed by Eric Seidel.
-
- [wx] Basic implementation of SVG support for wx port.
-
- * css/CSSFontFaceSource.cpp:
- * platform/graphics/wx/FontPlatformData.h:
- (WebCore::FontPlatformData::FontPlatformData):
- (WebCore::FontPlatformData::size):
- * platform/graphics/wx/FontPlatformDataWx.cpp:
- (WebCore::FontPlatformData::FontPlatformData):
- * platform/graphics/wx/GraphicsContextWx.cpp:
- (WebCore::GraphicsContext::GraphicsContext):
- (WebCore::GraphicsContext::clipPath):
- (WebCore::GraphicsContext::getCTM):
- (WebCore::GraphicsContext::beginPath):
- (WebCore::GraphicsContext::addPath):
- (WebCore::GraphicsContext::concatCTM):
- (WebCore::GraphicsContext::fillPath):
- (WebCore::GraphicsContext::strokePath):
- (WebCore::GraphicsContext::setLineDash):
- * platform/graphics/wx/ImageBufferWx.cpp:
- (WebCore::ImageBuffer::platformTransformColorSpace):
- * platform/graphics/wx/PathWx.cpp:
- (WebCore::Path::strokeContains):
- (WebCore::Path::debugString):
- (WebCore::Path::operator=):
- (WebCore::Path::isEmpty):
- * rendering/RenderSVGResourceMasker.cpp:
- * wscript:
-
-2010-04-09 Evan Martin <evan@chromium.org>
-
- Reviewed by Darin Adler.
-
- StorageEvent destructor should be in StorageEvent.cpp
- https://bugs.webkit.org/show_bug.cgi?id=37356
-
- Because Storage is forward-declared in StorageEvent.h, we need to define
- the StorageEvent destructor in the .cpp file so that the RefPtr<Storage>
- destructor has a complete type for Storage.
-
- * storage/StorageEvent.cpp:
- (WebCore::StorageEvent::~StorageEvent):
- * storage/StorageEvent.h:
-
-2010-04-09 Young Han Lee <joybro@company100.net>
-
- Reviewed by Eric Seidel.
-
- [WINCE] Add forwarding header for UnicodeWince.h
- https://bugs.webkit.org/show_bug.cgi?id=37224
-
- * ForwardingHeaders/wtf/unicode/wince/UnicodeWince.h: Added.
-
-2010-04-09 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam "R the K!" Weinig.
-
- Tidied up some more DOMWrapperWorld lifetime issues.
-
- * bindings/js/DOMWrapperWorld.cpp:
- (WebCore::DOMWrapperWorld::~DOMWrapperWorld): Notify the document that
- we're going away instead of deleting its data, since deleting other
- objects' data is error-prone and, more importantly, rude.
-
- * bindings/js/DOMWrapperWorld.h:
- (WebCore::DOMWrapperWorld::didCreateWrapperCache):
- (WebCore::DOMWrapperWorld::didDestroyWrapperCache): A few renames for
- clarity.
-
- * bindings/js/JSDOMBinding.cpp:
- * bindings/js/JSDOMBinding.h: Converted forgetAllDOMNodesForDocument
- to a Document member function, for the same reason.
-
- * dom/Document.cpp:
- (WebCore::Document::~Document):
- (WebCore::Document::createWrapperCache):
- (WebCore::Document::destroyWrapperCache):
- (WebCore::Document::destroyAllWrapperCaches):
- * dom/Document.h: Added a destroyWrapperCache function to balance
- createWrapperCache, so it's clear who allocates and deletes these wrapper
- caches.
-
-2010-04-09 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Simon Fraser.
-
- Fixed bug where animation time was not updated when dynamically loading a style sheet
- https://bugs.webkit.org/show_bug.cgi?id=37352
-
- A dynamically loaded style sheet kicks off its own styleRecalc cycle. This was not
- bracketed with a beginAnimationUpdate/endAnimationUpdate which wasn't resetting the
- animation time. In some time-dependent cases this was causing a negative elapsedTime
- to be sent to the keyframe animator. This is an invalid case which destroys the
- animation prematurely. I not only added the brackets, but I also added an assert
- and protection for when the elapsedTime comes up negative.
-
- Test: animations/dynamic-stylesheet-loading.html
-
- * dom/Document.cpp: Added brackets
- (WebCore::Document::updateStyleSelector):
- * page/animation/KeyframeAnimation.cpp: Added assert and protection
- (WebCore::KeyframeAnimation::getKeyframeAnimationInterval):
-
-2010-04-09 Jaime Yap <jaimeyap@google.com>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: Fixes "wrong parent" for GCEvents that come at the end of a
- timeline record node.
- https://bugs.webkit.org/show_bug.cgi?id=37340
+ https://bugs.webkit.org/show_bug.cgi?id=39874
+ [Qt] Make tiled backing store more configurable
+
+ Make tile size, tile creation delay and tiling area dynamically configurable.
- * inspector/InspectorTimelineAgent.cpp:
- (WebCore::InspectorTimelineAgent::didInstallTimer):
- (WebCore::InspectorTimelineAgent::didRemoveTimer):
- (WebCore::InspectorTimelineAgent::didMarkTimeline):
- (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
- (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
- (WebCore::InspectorTimelineAgent::addRecordToTimeline):
- (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
+ * platform/graphics/TiledBackingStore.cpp:
+ (WebCore::TiledBackingStore::TiledBackingStore):
+ (WebCore::TiledBackingStore::setTileSize):
+ (WebCore::TiledBackingStore::setTileCreationDelay):
+ (WebCore::TiledBackingStore::setKeepAndCoverAreaMultipliers):
+ (WebCore::TiledBackingStore::createTiles):
+ * platform/graphics/TiledBackingStore.h:
+ (WebCore::TiledBackingStore::tileSize):
+ (WebCore::TiledBackingStore::tileCreationDelay):
+ (WebCore::TiledBackingStore::getKeepAndCoverAreaMultipliers):
-2010-04-09 Abhishek Arya <inferno@chromium.org>
+2010-05-28 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
- Prevent HTTP responses served with JSON content type from being rendered as HTML.
-
- Test: http/tests/security/xss-DENIED-mime-type-execute-as-html.html
-
- * dom/DOMImplementation.cpp:
- (WebCore::DOMImplementation::isTextMIMEType): Render application/json as text/plain.
- * platform/MIMETypeRegistry.cpp:
- (WebCore::initializeSupportedNonImageMimeTypes): Add a compile assert to prevent addition of new mime types in non-image types.
-
-2010-04-09 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Prevent wrong use of PrintContext
- https://bugs.webkit.org/show_bug.cgi?id=37194
-
- No new tests because this doesn't change the behavior.
-
- * page/PrintContext.cpp:
- (WebCore::PrintContext::PrintContext):
- (WebCore::PrintContext::~PrintContext):
- (WebCore::PrintContext::begin):
- (WebCore::PrintContext::end):
- * page/PrintContext.h:
-
-2010-04-09 Vitaly Repeshko <vitalyr@chromium.org>
-
- Reviewed by Darin Fisher.
-
- [V8] SerializedScriptValue value doesn't follow the spec for DOM objects and files
- https://bugs.webkit.org/show_bug.cgi?id=37094
-
- This patch adds support for file-related types.
-
- * bindings/v8/SerializedScriptValue.cpp:
- (WebCore::):
- (WebCore::Writer::writeString):
- (WebCore::Writer::writeWebCoreString):
- (WebCore::Writer::writeBlob):
- (WebCore::Writer::writeFile):
- (WebCore::Writer::writeFileList):
- (WebCore::Writer::doWriteString):
- (WebCore::Writer::doWriteWebCoreString):
- (WebCore::Serializer::writeBlob):
- (WebCore::Serializer::writeFile):
- (WebCore::Serializer::writeFileList):
- (WebCore::Serializer::doSerialize):
- (WebCore::Reader::read):
- (WebCore::Reader::readWebCoreString):
- (WebCore::Reader::readBlob):
- (WebCore::Reader::readFile):
- (WebCore::Reader::readFileList):
- (WebCore::SerializedScriptValue::SerializedScriptValue):
-
-2010-04-09 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Cameron Zwarich.
-
- Tidied up some DOMWrapperWorld lifetime issues.
-
- * bindings/js/DOMWrapperWorld.cpp:
- (WebCore::DOMWrapperWorld::DOMWrapperWorld): Made DOMWrapperWorld wholly
- responsible for managing its presence in WebCoreJSClientData's world set.
- This is simpler and more encapsulated than making its clients sometimes
- responsible for managing that set and sometimes not.
-
- * bindings/js/DOMWrapperWorld.h:
- (WebCore::DOMWrapperWorld::create): Made isNormal default to false,
- removing one of the reasons for the IsolatedWorld class to exist, so I
- could remove that class.
-
- * bindings/js/JSDOMWindowBase.cpp:
- (WebCore::JSDOMWindowBase::commonJSGlobalData): Used the work-around below.
-
- * bindings/js/ScriptController.cpp:
- (WebCore::ScriptController::createWorld): Nixed IsolatedWorld, which is
- now superfluous.
-
- * bindings/js/WebCoreJSClientData.h:
- (WebCore::initNormalWorldClientData): Added a work-around for the fact
- that WebCoreJSClientData must be set as globalData->clientData before
- the DOMWrapperWorld constructor runs. This removed the other reason
- for the IsolatedWorld class to exist, so I could remove that class.
-
-2010-04-09 Yaar Schnitman <yaar@chromium.org>
-
- Reviewed by Nate Chapin.
-
- Testing utility for CodeGeneratorV8.pm
- https://bugs.webkit.org/show_bug.cgi?id=37286
-
- * bindings/v8/test: Added.
- * bindings/v8/test/TestObj.idl: Contains basic IDL definitions for testing purposes.
- * bindings/v8/test/V8TestObj.cpp: Expected output.
- * bindings/v8/test/V8TestObj.h: Expected output.
- * bindings/v8/test/run_tests.py: Tool for generating the above h/cpp files from the idl file.
-
-2010-04-09 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- https://bugs.webkit.org/show_bug.cgi?id=37370
- Division by 0 in RenderBoxModelObject::calculateFillTileSize
-
- Test: fast/backgrounds/background-fill-zero-area-crash.html
-
- * rendering/RenderBoxModelObject.cpp:
- (WebCore::RenderBoxModelObject::calculateFillTileSize): Added checks for
- zero before doing division. These come up when the area to fill is zero.
-
-2010-04-09 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- https://bugs.webkit.org/show_bug.cgi?id=24572
- XMLHttpRequest.statusText returns always "OK" on Mac
-
- Covered by existing tests, which now pass.
-
- * WebCore.base.exp:
- * platform/mac/WebCoreSystemInterface.h:
- * platform/mac/WebCoreSystemInterface.mm:
- Added a WebKitSystemInterface method to fetch status line.
-
- * platform/network/HTTPParsers.cpp: (WebCore::extractReasonPhraseFromHTTPStatusLine):
- * platform/network/HTTPParsers.h:
- * platform/network/cf/ResourceResponseCFNet.cpp: (WebCore::ResourceResponse::platformLazyInit):
- Moved code for parsing status line to HTTPHeaders, as it's used for both Mac and CF now.
-
- * platform/network/mac/ResourceResponseMac.mm: (WebCore::ResourceResponse::platformLazyInit):
- Use the actual reason phrase when available, and "OK" otherwise. Synthesizing a reson when
- there isn't one is misleading, so we'll stick to our old broken behavior on Tiger, rather than
- introduce a new broken one.
-
-2010-04-09 David Hyatt <hyatt@apple.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=37361, clean up FillLayer.
-
- * css/CSSComputedStyleDeclaration.cpp:
- (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
- * rendering/style/FillLayer.h:
- (WebCore::FillLayer::sizeType):
- * rendering/style/RenderStyle.h:
- (WebCore::InheritedFlags::backgroundImage):
- (WebCore::InheritedFlags::backgroundRepeatX):
- (WebCore::InheritedFlags::backgroundRepeatY):
- (WebCore::InheritedFlags::backgroundComposite):
- (WebCore::InheritedFlags::backgroundAttachment):
- (WebCore::InheritedFlags::backgroundClip):
- (WebCore::InheritedFlags::backgroundOrigin):
- (WebCore::InheritedFlags::backgroundXPosition):
- (WebCore::InheritedFlags::backgroundYPosition):
- (WebCore::InheritedFlags::backgroundSizeType):
- (WebCore::InheritedFlags::backgroundSizeLength):
- (WebCore::InheritedFlags::maskImage):
- (WebCore::InheritedFlags::maskRepeatX):
- (WebCore::InheritedFlags::maskRepeatY):
- (WebCore::InheritedFlags::maskComposite):
- (WebCore::InheritedFlags::maskAttachment):
- (WebCore::InheritedFlags::maskClip):
- (WebCore::InheritedFlags::maskOrigin):
- (WebCore::InheritedFlags::maskXPosition):
- (WebCore::InheritedFlags::maskYPosition):
- (WebCore::InheritedFlags::maskSizeType):
- (WebCore::InheritedFlags::maskSizeLength):
-
-2010-04-09 Sam Weinig <sam@webkit.org>
-
- Add another missing export to fix the build.
-
- * WebCore.base.exp:
-
-2010-04-09 David Hyatt <hyatt@apple.com>
-
- Reviewed by Adam Roben.
-
- https://bugs.webkit.org/show_bug.cgi?id=37353, clean up cursors used by RenderStyles.
-
- * css/CSSComputedStyleDeclaration.cpp:
- (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
- * page/EventHandler.cpp:
- (WebCore::EventHandler::selectCursor):
- * rendering/style/CursorData.h:
- (WebCore::CursorData::CursorData):
- (WebCore::CursorData::operator==):
- (WebCore::CursorData::image):
- (WebCore::CursorData::hotSpot):
- * rendering/style/RenderStyle.cpp:
- (WebCore::RenderStyle::addCursor):
-
-2010-04-09 David Hyatt <hyatt@apple.com>
-
- Reviewed by Adam Roben.
-
- https://bugs.webkit.org/show_bug.cgi?id=37349, RenderStyle cleanup. Working from the outside in to
- bring some style consistency to RenderStyle and its associated classes. This patch cleans up the
- border and outline classes.
-
- * rendering/RenderTable.cpp:
- (WebCore::RenderTable::calcBorderLeft):
- (WebCore::RenderTable::calcBorderRight):
- (WebCore::RenderTable::outerBorderTop):
- (WebCore::RenderTable::outerBorderBottom):
- (WebCore::RenderTable::outerBorderLeft):
- (WebCore::RenderTable::outerBorderRight):
- * rendering/RenderTableCell.cpp:
- (WebCore::compareBorders):
- * rendering/RenderTableSection.cpp:
- (WebCore::RenderTableSection::calcOuterBorderTop):
- (WebCore::RenderTableSection::calcOuterBorderBottom):
- (WebCore::RenderTableSection::calcOuterBorderLeft):
- (WebCore::RenderTableSection::calcOuterBorderRight):
- * rendering/style/BorderData.h:
- (WebCore::BorderData::hasBorder):
- (WebCore::BorderData::hasBorderRadius):
- (WebCore::BorderData::borderLeftWidth):
- (WebCore::BorderData::borderRightWidth):
- (WebCore::BorderData::borderTopWidth):
- (WebCore::BorderData::borderBottomWidth):
- (WebCore::BorderData::operator==):
- (WebCore::BorderData::left):
- (WebCore::BorderData::right):
- (WebCore::BorderData::top):
- (WebCore::BorderData::bottom):
- (WebCore::BorderData::image):
- (WebCore::BorderData::topLeft):
- (WebCore::BorderData::topRight):
- (WebCore::BorderData::bottomLeft):
- (WebCore::BorderData::bottomRight):
- * rendering/style/BorderValue.h:
- (WebCore::BorderValue::BorderValue):
- (WebCore::BorderValue::nonZero):
- (WebCore::BorderValue::isTransparent):
- (WebCore::BorderValue::operator==):
- (WebCore::BorderValue::color):
- (WebCore::BorderValue::width):
- (WebCore::BorderValue::style):
- * rendering/style/CollapsedBorderValue.h:
- (WebCore::CollapsedBorderValue::CollapsedBorderValue):
- (WebCore::CollapsedBorderValue::width):
- (WebCore::CollapsedBorderValue::style):
- (WebCore::CollapsedBorderValue::exists):
- (WebCore::CollapsedBorderValue::color):
- (WebCore::CollapsedBorderValue::isTransparent):
- (WebCore::CollapsedBorderValue::precedence):
- (WebCore::CollapsedBorderValue::operator==):
- * rendering/style/OutlineValue.h:
- (WebCore::OutlineValue::OutlineValue):
- (WebCore::OutlineValue::operator==):
- (WebCore::OutlineValue::offset):
- (WebCore::OutlineValue::isAuto):
- * rendering/style/RenderStyle.cpp:
- (WebCore::RenderStyle::getBorderRadiiForRect):
- * rendering/style/RenderStyle.h:
- (WebCore::InheritedFlags::borderLeft):
- (WebCore::InheritedFlags::borderRight):
- (WebCore::InheritedFlags::borderTop):
- (WebCore::InheritedFlags::borderBottom):
- (WebCore::InheritedFlags::borderImage):
- (WebCore::InheritedFlags::borderTopLeftRadius):
- (WebCore::InheritedFlags::borderTopRightRadius):
- (WebCore::InheritedFlags::borderBottomLeftRadius):
- (WebCore::InheritedFlags::borderBottomRightRadius):
- (WebCore::InheritedFlags::borderLeftStyle):
- (WebCore::InheritedFlags::borderLeftColor):
- (WebCore::InheritedFlags::borderLeftIsTransparent):
- (WebCore::InheritedFlags::borderRightStyle):
- (WebCore::InheritedFlags::borderRightColor):
- (WebCore::InheritedFlags::borderRightIsTransparent):
- (WebCore::InheritedFlags::borderTopStyle):
- (WebCore::InheritedFlags::borderTopColor):
- (WebCore::InheritedFlags::borderTopIsTransparent):
- (WebCore::InheritedFlags::borderBottomStyle):
- (WebCore::InheritedFlags::borderBottomColor):
- (WebCore::InheritedFlags::borderBottomIsTransparent):
- (WebCore::InheritedFlags::outlineWidth):
- (WebCore::InheritedFlags::outlineStyleIsAuto):
- (WebCore::InheritedFlags::outlineColor):
- (WebCore::InheritedFlags::outlineOffset):
- (WebCore::InheritedFlags::columnRuleColor):
- (WebCore::InheritedFlags::resetBorderTop):
- (WebCore::InheritedFlags::resetBorderRight):
- (WebCore::InheritedFlags::resetBorderBottom):
- (WebCore::InheritedFlags::resetBorderLeft):
- (WebCore::InheritedFlags::resetBorderImage):
- (WebCore::InheritedFlags::resetBorderTopLeftRadius):
- (WebCore::InheritedFlags::resetBorderTopRightRadius):
- (WebCore::InheritedFlags::resetBorderBottomLeftRadius):
- (WebCore::InheritedFlags::resetBorderBottomRightRadius):
- (WebCore::InheritedFlags::setBorderImage):
- (WebCore::InheritedFlags::setBorderTopLeftRadius):
- (WebCore::InheritedFlags::setBorderTopRightRadius):
- (WebCore::InheritedFlags::setBorderBottomLeftRadius):
- (WebCore::InheritedFlags::setBorderBottomRightRadius):
- (WebCore::InheritedFlags::setBorderLeftWidth):
- (WebCore::InheritedFlags::setBorderLeftStyle):
- (WebCore::InheritedFlags::setBorderLeftColor):
- (WebCore::InheritedFlags::setBorderRightWidth):
- (WebCore::InheritedFlags::setBorderRightStyle):
- (WebCore::InheritedFlags::setBorderRightColor):
- (WebCore::InheritedFlags::setBorderTopWidth):
- (WebCore::InheritedFlags::setBorderTopStyle):
- (WebCore::InheritedFlags::setBorderTopColor):
- (WebCore::InheritedFlags::setBorderBottomWidth):
- (WebCore::InheritedFlags::setBorderBottomStyle):
- (WebCore::InheritedFlags::setBorderBottomColor):
- (WebCore::InheritedFlags::setOutlineWidth):
- (WebCore::InheritedFlags::setOutlineStyle):
- (WebCore::InheritedFlags::setOutlineColor):
- (WebCore::InheritedFlags::setOutlineOffset):
- (WebCore::InheritedFlags::setColumnRuleColor):
- (WebCore::InheritedFlags::setColumnRuleWidth):
- * rendering/style/StyleMultiColData.h:
- (WebCore::StyleMultiColData::ruleWidth):
-
-2010-04-09 Andrey Kosyakov <caseq@chromium.org>
-
- Reviewed by Darin Adler.
-
- Fixed ResourceError::failingURL() and ResourceResponse::httpStatusText()
- to return meaningful values.
- https://bugs.webkit.org/show_bug.cgi?id=37274
-
- * platform/network/mac/ResourceErrorMac.mm:
- (WebCore::ResourceError::platformLazyInit):
- * platform/network/mac/ResourceResponseMac.mm:
- (WebCore::ResourceResponse::platformLazyInit):
-
-2010-04-09 Jeremy Orlow <jorlow@chromium.org>
-
- Reviewed by Darin Adler.
-
- Move the IDB::open ExceptionCode paramter to be last
- https://bugs.webkit.org/show_bug.cgi?id=37277
-
- Move the ExceptionCode paramter to the last position in
- IndexedDatabaseRequest::open and friends. It should definitely
- go after the callbacks to keep the parameters that come directly
- from javascript together. And having output parameters appear
- last is done often in the code base, so it makes sense to push
- it past the Frame* param as well.
-
- No functional change.
-
- * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp:
- (WebCore::V8IndexedDatabaseRequest::openCallback):
- * storage/IndexedDatabase.h:
- * storage/IndexedDatabaseImpl.cpp:
- (WebCore::IndexedDatabaseImpl::open):
- * storage/IndexedDatabaseImpl.h:
- * storage/IndexedDatabaseRequest.cpp:
- (WebCore::IndexedDatabaseRequest::open):
- * storage/IndexedDatabaseRequest.h:
-
-2010-04-09 Dmitry Titov <dimich@chromium.org>
-
- Reviewed by Darin Adler.
-
- WebCore: WorkerGlobalScope.close() should let the currently running script complete execution, then terminate the worker.
- https://bugs.webkit.org/show_bug.cgi?id=37053
-
- Test: fast/workers/worker-close-more.html
-
- * bindings/js/WorkerScriptController.cpp:
- (WebCore::WorkerScriptController::forbidExecution):
- (WebCore::WorkerScriptController::):
- * bindings/v8/WorkerScriptController.cpp:
- (WebCore::WorkerScriptController::forbidExecution):
- * bindings/v8/WorkerScriptController.h:
- (WebCore::WorkerScriptController::):
- Added option parameter to forbidExecution (both JCS and V8 versions) that specifies whether currently running
- script should be immediately terminated or left executed until the end.
-
- * bindings/js/WorkerScriptController.h:
- (WebCore::WorkerScriptController::workerContextWrapper):
- This method now can return 0 instead of context if the further execution of JS is forbidden. Since any JS execution requires
- fetching JS global object first, returning 0 here is a good way to prevent re-entry into JS once worker started termination.
- V8 version does similar thing already in WorkerScriptController::proxy().
-
- * workers/DedicatedWorkerContext.cpp:
- (WebCore::DedicatedWorkerContext::postMessage):
- Removed check that immediately disables postMessage from WorkerContext after close().
-
- * workers/WorkerContext.cpp:
- (WebCore::CloseWorkerContextTask::create):
- (WebCore::CloseWorkerContextTask::performTask):
- (WebCore::CloseWorkerContextTask::isCleanupTask):
- (WebCore::WorkerContext::close):
- Use new forbidExecution(LetRunningScriptFinish) to avoid termination of script until it executes and exits.
- Post a task to actually terminate the worker once the currently executing JS fragment exits.
-
- * workers/WorkerThread.cpp:
- (WebCore::WorkerThread::workerThread):
- (WebCore::WorkerThread::stop):
- Use new forbidExecution(TerminateRunningScript) to immediately terminate the JS.
-
-2010-04-09 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Darin Adler.
-
- Implement interactive validation for forms.
- https://bugs.webkit.org/show_bug.cgi?id=34930
-
- - HTMLFormControlElement::checkValidity() supports unhandled invalid control list
- - HTMLFormElement::validateInteractively() called from prepareSubmit()
- prevents the submission if neither noValidate nor formNoValidate is
- specified, and focuses on the first invalid control of which "invalid"
- event is not canceled.
-
- Tests: fast/forms/checkValidity-cancel.html
- fast/forms/interactive-validation-cancel.html
- fast/forms/interactive-validation-formnovalidate.html
- fast/forms/interactive-validation-novalidate.html
- fast/forms/interactive-validation-prevented.html
- fast/forms/interactive-validation-remove-node-in-handler.html
-
- * html/HTMLFormControlElement.cpp:
- (WebCore::HTMLFormControlElement::checkValidity):
- If the control is invalid and the "invalid" is not canceled,
- push the control to the specified vector.
- * html/HTMLFormControlElement.h:
- * html/HTMLFormElement.cpp:
- (WebCore::HTMLFormElement::validateInteractively):
- The main part of the interactive validation.
- (WebCore::HTMLFormElement::prepareSubmit):
- Calls validateInteractively().
- (WebCore::HTMLFormElement::checkValidity):
- Uses collectUnhandledInvalidControls().
- (WebCore::HTMLFormElement::collectUnhandledInvalidControls):
- * html/HTMLFormElement.h:
-
-2010-04-09 Sam Weinig <sam@webkit.org>
-
- Fix the mac WebKit2 build.
-
- * WebCore.base.exp:
-
-2010-04-08 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=37181
- <rdar://problem/7835374> REGRESSION (r54400): Hangs when doing AJAX update with large amount of data
-
- Test: fast/events/gc-freeze-with-attribute-listeners.html
-
- The problem was that we were creating JS wrappers for nodes with attribute event listeners,
- and GC is very slow if there are nodes with wrappers in a detached tree whose root does not
- have a wrapper.
-
- * bindings/js/ScriptEventListener.cpp: (WebCore::createAttributeEventListener): Don't create
- wrappers for attribute event listeners - if there is a node, JSLazyEventListener::initializeJSFunction()
- will create one.
-
- * bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::markChildren): Added a FIXME about the problem
- we are stepping around now.
-
-2010-04-09 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- WebGtk GLib-CRITICAL Segmentation fault
- https://bugs.webkit.org/show_bug.cgi?id=34937
-
- Do not crash if a plugin does not return anything in
- NP_GetMIMEDescription. This can happen, and other ports gracefully
- handle the situation.
-
- * plugins/gtk/PluginPackageGtk.cpp:
- (WebCore::PluginPackage::fetchInfo):
-
-2010-04-09 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- Web Inspector: Cannot select elements within iframes with the magnifying glass.
-
- https://bugs.webkit.org/show_bug.cgi?id=31732
-
- * inspector/InspectorController.cpp:
- (WebCore::InspectorController::inspect):
- (WebCore::InspectorController::handleMousePress):
- * inspector/InspectorController.h:
- * page/EventHandler.cpp:
- (WebCore::EventHandler::handleMousePressEvent):
-
-2010-04-09 Tasuku Suzuki <tasuku.suzuki@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt]Fix compile error with QT_NO_PROPERTIES
- https://bugs.webkit.org/show_bug.cgi?id=36526
-
- Disable dynamic properties when QT_NO_PROPERTIES is defined.
-
- * bridge/qt/qt_class.cpp:
- (JSC::Bindings::QtClass::fieldNamed):
- * bridge/qt/qt_instance.cpp:
- (JSC::Bindings::QtInstance::getPropertyNames):
- (JSC::Bindings::QtField::name):
- (JSC::Bindings::QtField::valueFromInstance):
- (JSC::Bindings::QtField::setValueToInstance):
- * bridge/qt/qt_runtime.h:
- (JSC::Bindings::QtField::):
-
-2010-04-09 David Leong <david.leong@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Symbian apps crash on exit due to a bad qObject_cast.
-
- https://bugs.webkit.org/show_bug.cgi?id=37303
-
- Added check for NULL to avoid the crash.
-
- * plugins/symbian/PluginViewSymbian.cpp:
- (WebCore::PluginView::platformDestroy):
-
-2010-04-09 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Oliver Hunt.
-
- <http://webkit.org/b/37326> IDL files are being copied in to the WebCore framework again
-
- * WebCore.xcodeproj/project.pbxproj: Wire up the script. Remove the three inappropriate
- files from the Copy Bundle Resources build phase.
-
-2010-04-09 Zhenyao Mo <zmo@google.com>
-
- Reviewed by Darin Fisher.
-
- Passing null WebGLObjects should synthesize INVALID_VALUE error
- https://bugs.webkit.org/show_bug.cgi?id=37047
-
- * html/canvas/WebGLRenderingContext.cpp: Synthesize INVALID_VALUE error when input object is 0.
- (WebCore::WebGLRenderingContext::bindAttribLocation):
- (WebCore::WebGLRenderingContext::compileShader):
- (WebCore::WebGLRenderingContext::detachShader):
- (WebCore::WebGLRenderingContext::validateWebGLObject):
- (WebCore::WebGLRenderingContext::getActiveAttrib):
- (WebCore::WebGLRenderingContext::getActiveUniform):
- (WebCore::WebGLRenderingContext::getProgramParameter):
- (WebCore::WebGLRenderingContext::getProgramInfoLog):
- (WebCore::WebGLRenderingContext::getShaderParameter):
- (WebCore::WebGLRenderingContext::getShaderInfoLog):
- (WebCore::WebGLRenderingContext::getShaderSource):
- (WebCore::WebGLRenderingContext::getUniform):
- (WebCore::WebGLRenderingContext::getUniformLocation):
- (WebCore::WebGLRenderingContext::linkProgram):
- (WebCore::WebGLRenderingContext::shaderSource):
- * html/canvas/WebGLRenderingContext.h: Add helper function to validate webgl object input parameters.
-
-2010-04-09 Zhenyao Mo <zmo@google.com>
-
- Reviewed by Dimitri Glazkov.
-
- Must resolve multisampled back buffer during copyTexImage2D and copyTexSubImage2D
- https://bugs.webkit.org/show_bug.cgi?id=37174
-
- Test: fast/canvas/webgl/copy-tex-image-and-sub-image-2d.html
-
- * platform/graphics/mac/GraphicsContext3DMac.cpp: resolve multisampled back buffer during copyTexImage2D and copyTexSubImage2D.
- (WebCore::GraphicsContext3D::copyTexImage2D):
- (WebCore::GraphicsContext3D::copyTexSubImage2D):
-
-2010-04-09 Evan Stade <estade@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [chromium] <select> dropdowns don't die when an item is selected
- https://bugs.webkit.org/show_bug.cgi?id=37243
-
- * platform/chromium/PopupMenuChromium.cpp:
- (WebCore::PopupContainer::hidePopup):
- (WebCore::PopupContainer::notifyPopupHidden):
- (WebCore::PopupListBox::hidePopup): inform container that popup is closing
- * platform/chromium/PopupMenuChromium.h:
-
-2010-04-09 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix crashes with package builds in release
-
- * WebCore.pro: Don't add NDEBUG to the defines here, add it from JavaScriptCore.pri
-
-2010-04-09 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Simon Fraser.
-
- Remove "all" value from the view-mode media feature (as agreed on
- 1-Apr-2010) in the Widgets voice conf.
-
- * css/CSSValueKeywords.in:
- * css/MediaQueryEvaluator.cpp:
- (WebCore::view_modeMediaFeatureEval):
-
-2010-04-09 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r57286.
- http://trac.webkit.org/changeset/57286
- https://bugs.webkit.org/show_bug.cgi?id=37312
-
- "Caused intermittent test failures on all Mac bots."
- (Requested by eseidel on #webkit).
-
- * storage/DatabaseTracker.cpp:
- (WebCore::DatabaseTracker::originQuotaManagerNoLock):
- (WebCore::DatabaseTracker::originQuotaManager):
- (WebCore::DatabaseTracker::DatabaseTracker):
- (WebCore::DatabaseTracker::canEstablishDatabase):
- (WebCore::DatabaseTracker::hasEntryForOrigin):
- (WebCore::DatabaseTracker::getMaxSizeForDatabase):
- (WebCore::DatabaseTracker::fullPathForDatabaseNoLock):
- (WebCore::DatabaseTracker::fullPathForDatabase):
- (WebCore::DatabaseTracker::populateOrigins):
- (WebCore::DatabaseTracker::origins):
- (WebCore::DatabaseTracker::databaseNamesForOrigin):
- (WebCore::DatabaseTracker::addOpenDatabase):
- (WebCore::DatabaseTracker::removeOpenDatabase):
- (WebCore::DatabaseTracker::usageForOriginNoLock):
- (WebCore::DatabaseTracker::usageForOrigin):
- (WebCore::DatabaseTracker::quotaForOrigin):
- (WebCore::DatabaseTracker::setQuota):
- (WebCore::DatabaseTracker::deleteOrigin):
- (WebCore::DatabaseTracker::deleteDatabase):
- (WebCore::DatabaseTracker::deleteDatabaseFile):
- * storage/DatabaseTracker.h:
- * storage/SQLTransactionClient.cpp:
- (WebCore::SQLTransactionClient::didExecuteStatement):
-
-2010-04-09 Andras Becsi <abecsi@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] User agent style sheets are crippled by moc -E in make-css-file-arrays.pl
- https://bugs.webkit.org/show_bug.cgi?id=37296
-
- Do not use moc to preprocess user agent style sheets because it removes at-symbols
- and hexadecimal colours from declarations.
- Remove unneeded preprocessor usage from make-css-file-arrays.pl since the script
- processes default css files using regular expressions therefore preprocessing is redundant.
-
- * WebCore.pri: remove --preprocessor usage
- * css/make-css-file-arrays.pl: remove gcc dependency
-
-2010-04-08 Chris Evans <cevans@chromium.org>
-
- Reviewed by Sam Weinig.
-
- Use the new UserGestureIndictor for _blank POST requests.
-
- https://bugs.webkit.org/show_bug.cgi?id=34541
-
- Test: fast/events/popup-blocked-to-post-blank.html
+ document.write does not work correctly in the HTML5 parser
+ https://bugs.webkit.org/show_bug.cgi?id=39828
+
+ Added a new HTML5ScriptRunnerHost interface which
+ HTML5Tokenizer implements. This allows HTML5ScriptController
+ to delegate the actual ScriptController::executeScript back to
+ HTML5Tokenizer. HTML5Tokenizer saves off the current m_source
+ before calling ScriptController::executeScript to allow safe
+ reentrancy through document.write().
+
+ * WebCore.xcodeproj/project.pbxproj:
+ - Added HTML5ScriptRunnerHost.h
+ * html/HTML5ScriptRunner.cpp:
+ (WebCore::HTML5ScriptRunner::HTML5ScriptRunner):
+ (WebCore::HTML5ScriptRunner::~HTML5ScriptRunner):
+ - Unregister m_parsingBlockingScript if stopped before
+ load completion. This was probably causing some of the
+ crashes on page navigation we saw during LayoutTest runs.
+ (WebCore::documentURLForScriptExecution):
+ - Unify our documentURL handling so all callsites get it right.
+ (WebCore::HTML5ScriptRunner::sourceFromPendingScript):
+ - Use documentURLForScriptExecution
+ (WebCore::HTML5ScriptRunner::executePendingScript):
+ - Call stopWatchingForLoad instead of removeClient()
+ - Call executeScript instead of ScriptController directly.
+ (WebCore::HTML5ScriptRunner::executeScript):
+ - Wraps calls to HTML5ScriptRunnerHost::executeScript
+ (WebCore::HTML5ScriptRunner::watchForLoad):
+ - Wraps calls to HTML5ScriptRunnerHost::watchForLoad
+ (WebCore::HTML5ScriptRunner::stopWatchingForLoad):
+ - Wraps calls to HTML5ScriptRunnerHost::stopWatchingForLoad
+ (WebCore::HTML5ScriptRunner::requestScript):
+ - Only watch for load if the CachedScript isn't already loaded.
+ This gets rid of rentrancy due to addClient calls, and as a result
+ also stops us from hitting ASSERT(m_scriptNestingLevel)
+ in executePendingScript.
+ (WebCore::HTML5ScriptRunner::runScript):
+ - Use the new fancy documentURLForScriptExecution and executeScript.
+ * html/HTML5ScriptRunner.h:
+ (WebCore::HTML5ScriptRunner::PendingScript::PendingScript):
+ - Add a watchingForLoad bool so we know if we ever called watchForLoad
+ with this CachedScript*.
+ * html/HTML5ScriptRunnerHost.h: Added.
+ (WebCore::HTML5ScriptRunnerHost::~HTML5ScriptRunnerHost):
+ * html/HTML5Tokenizer.cpp:
+ (WebCore::HTML5Tokenizer::HTML5Tokenizer):
+ - Store an m_document pointer since we need to access
+ m_document->frame()->script() for script execution.
+ (WebCore::HTML5Tokenizer::pumpLexer):
+ - Always pause or unpause the TreeBuilder after script execution.
+ Previously nested script execution would leave the TreeBuilder
+ paused even though the top-level loop wanted to resume parsing.
+ Now whenever m_scriptRunner->execute returns "continue parsing"
+ parsing will actually continue. This fixed cases where we would
+ ignore the rest of the document after document.write() of a script tag.
+ (WebCore::HTML5Tokenizer::write):
+ - Explain how document.write() reentrancy is safe in the new world.
+ (WebCore::HTML5Tokenizer::watchForLoad):
+ - HTML5ScriptRunnerHost implementation. We assert that this call will
+ never cause script execution since that's our current design.
+ (WebCore::HTML5Tokenizer::stopWatchingForLoad):
+ - HTML5ScriptRunnerHost implementation.
+ (WebCore::HTML5Tokenizer::executeScript):
+ - HTML5ScriptRunnerHost implementation. Save off the current source
+ before executing scripts in case document.write is called during
+ script execution.
+ * html/HTML5Tokenizer.h:
+ - Implement HTML5ScriptRunnerHost.
- * bindings/v8/ScriptController.cpp:
- (WebCore::ScriptController::processingUserGesture):
- Use UserGestureIndicator in more cases.
- * page/EventHandler.cpp:
- (WebCore::EventHandler):
- Impact from UserGestureIndicator API change.
- (WebCore::FrameLoader::submitForm):
- Block the load immediately if popups are not allowed and it would
- open a new window.
- * loader/RedirectScheduler.cpp:
- (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
- Note the UserGestureIndicator status at the time of submission.
- (WebCore::ScheduledFormSubmission::fire):
- Use the stored UserGestureIndicator status in the asynchronous
- callback.
- * dom/UserGestureIndicator.h:
- * dom/UserGestureIndicator.cpp:
- (WebCore::UserGestureIndicator::UserGestureIndicator):
- Add ability to store a negative indication.
-
-2010-03-29 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Simon Fraser.
-
- Spatial Navigation: proper handle negative x or y coordinates
- https://bugs.webkit.org/show_bug.cgi?id=36773
-
- In Spatial Navigation logic, during rect acquisition in renderRectRelativeToRootDocument,
- sometimes negative x() or y() values are got, and the current algorithm bails out in
- any of such cases.
-
- However, when a node is in a scrollable content (content overflow <div>) and
- this scrollable container scrolled up, element gets offscreen, and gets negative values
- for y(), for example. In such cases, they are still valid to be used in Spatial Navigation
- logic.
-
- Test: fast/events/spatial-navigation/snav-offscreen-content.html
-
- * page/SpatialNavigation.cpp:
- (WebCore::distanceDataForNode):
- (WebCore::checkNegativeCoordsForNode):
-
-2010-04-08 Dumitru Daniliuc <dumi@chromium.org>
+2010-05-28 Nathan Lawrence <nlawrence@apple.com>
Reviewed by Geoffrey Garen.
- Create the creation callback is the current world.
- https://bugs.webkit.org/show_bug.cgi?id=37290
-
- * bindings/js/JSDatabaseCallback.cpp:
- (WebCore::JSDatabaseCallback::JSDatabaseCallback):
-
-2010-04-08 David Hyatt <hyatt@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Followup optimization to bug 24300, don't leak history info via CSS :visited. If a Web
- site uses document colors that are the same for link and vlink in HTML and also doesn't
- specify any :link or :visited rules, then don't waste time resolving visited styles.
-
- There is a further optimization that could be done to detect when :link and :visited are
- used together in the same rule to specify a color, and this is how most sites turn off
- visited link colors, but this fix doesn't address that. It just restores the optimization
- that existed prior to the patch in 24300 landing.
-
- * css/CSSGrammar.y:
- * css/CSSStyleSelector.cpp:
- (WebCore::CSSStyleSelector::styleForElement):
- * dom/Document.cpp:
- (WebCore::Document::Document):
- * dom/Document.h:
- (WebCore::Document::usesLinkRules):
- (WebCore::Document::setUsesLinkRules):
-
-2010-04-08 David Hyatt <hyatt@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Caught by pixel tests. I missed patching the borderRightColor() call for fieldset border painting so the
- border stopped showing up.
-
- * rendering/RenderFieldset.cpp:
- (WebCore::RenderFieldset::paintBorderMinusLegend):
-
-2010-04-07 David Hyatt <hyatt@apple.com>
+ https://bugs.webkit.org/show_bug.cgi?id=39460
- Reviewed by Oliver Hunt.
+ Because not just <img> and <image> elements can preload images, we
+ dont want to restrict the element associated with the loader.
- https://bugs.webkit.org/show_bug.cgi?id=24300, don't leak history info via CSS :visited.
+ No new tests. Should share the same tests as the last patch.
- This patch implements the policy described by David Baron here:
-
- http://dbaron.org/mozilla/visited-privacy
-
- Added new tests in fast/history.
+ * html/HTMLImageLoader.cpp:
+ (WebCore::HTMLImageLoader::notifyFinished):
- * WebCore.base.exp:
- Expose functions needed for the WebKit SPI used by layout tests.
+2010-05-27 MORITA Hajime <morrita@google.com>
- * WebCore.xcodeproj/project.pbxproj:
- * accessibility/AccessibilityRenderObject.cpp:
- (WebCore::AccessibilityRenderObject::isVisited):
- Make sure accessibility objects still return visited information.
-
- * css/CSSComputedStyleDeclaration.cpp:
- (WebCore::CSSComputedStyleDeclaration::CSSComputedStyleDeclaration):
- (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
- * css/CSSComputedStyleDeclaration.h:
- (WebCore::computedStyle):
- Add a boolean to computed style declarations that - if set - causes the computed style
- to still return :visited information. For normal Web pages, this will be false. It is set
- to true for the Web Inspector and by the WebKit SPI used by the layout tests.
+ Reviewed by Ojan Vafai.
- * css/CSSStyleSelector.cpp:
- (WebCore::CSSStyleSelector::initElement):
- (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
- (WebCore::CSSStyleSelector::SelectorChecker::determineLinkState):
- (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
- (WebCore::CSSStyleSelector::canShareStyleWithElement):
- (WebCore::CSSStyleSelector::styleForElement):
- (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
- (WebCore::CSSStyleSelector::pseudoStyleForElement):
- (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
- (WebCore::CSSStyleSelector::checkSelector):
- (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
- (WebCore::CSSStyleSelector::applyPropertyToStyle):
- (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
- * css/CSSStyleSelector.h:
- Rework the style selector to resolve two styles instead of one. The first forces the link to
- be unvisited, and the second forces the link to be visited. The real state of the link is
- cached on the principal (unvisited) style. The visited style hangs off the principal style
- as a pseudo style (VISITED_LINK).
+ Cursor movement and text selection does not work well if a block is followed by an inline.
+ https://bugs.webkit.org/show_bug.cgi?id=32123
- * dom/Element.cpp:
- (WebCore::Element::pseudoStyleCacheIsInvalid):
- Make sure to deal with the VISITED_LINK pseudo to know when only :visited style info changed.
+ RenderInline::setSelectionState() missed selection state
+ propagation for ancestors. This fix pulled
+ RenderBlock::setSelectionState() up to RenderBoxModelObject, to
+ share it with RenderInline.
- * inspector/InspectorDOMAgent.cpp:
- (WebCore::InspectorDOMAgent::getStyles):
- Let the Web Inspector see :visited computed styles by default.
+ Test: editing/selection/range-between-block-and-inline.html: Added.
- * platform/LinkHash.cpp:
- (WebCore::visitedURL):
- Fix an issue where <a href=""> is not hashed properly to the document's base URI, so it wasn't
- correctly reported as :visited.
-
- * rendering/InlineFlowBox.cpp:
- (WebCore::InlineFlowBox::paintBoxDecorations):
- (WebCore::InlineFlowBox::paintTextDecorations):
- * rendering/InlineTextBox.cpp:
- (WebCore::InlineTextBox::paint):
- (WebCore::InlineTextBox::paintSelection):
* rendering/RenderBlock.cpp:
- (WebCore::RenderBlock::paintColumnRules):
- (WebCore::RenderBlock::paintObject):
- * rendering/RenderBoxModelObject.cpp:
- (WebCore::RenderBoxModelObject::paintBorder):
- * rendering/RenderFieldset.cpp:
- (WebCore::RenderFieldset::paintBorderMinusLegend):
- * rendering/RenderImage.cpp:
- (WebCore::RenderImage::paintFocusRings):
- * rendering/RenderInline.cpp:
- (WebCore::RenderInline::paintOutline):
- (WebCore::RenderInline::paintOutlineForLine):
- * rendering/RenderObject.cpp:
- (WebCore::RenderObject::drawLineForBoxSide):
- (WebCore::RenderObject::drawArcForBoxSide):
- (WebCore::RenderObject::paintOutline):
- (WebCore::decorationColor):
- (WebCore::RenderObject::getTextDecorationColors):
- * rendering/RenderObject.h:
- * rendering/RenderPath.cpp:
- (WebCore::RenderPath::paint):
- * rendering/RenderReplaced.cpp:
- (WebCore::RenderReplaced::paint):
- * rendering/RenderSVGContainer.cpp:
- (WebCore::RenderSVGContainer::paint):
- * rendering/RenderSVGImage.cpp:
- (WebCore::RenderSVGImage::paint):
- * rendering/RenderSVGRoot.cpp:
- (WebCore::RenderSVGRoot::paint):
- * rendering/RenderTableCell.cpp:
- (WebCore::RenderTableCell::collapsedLeftBorder):
- (WebCore::RenderTableCell::collapsedRightBorder):
- (WebCore::RenderTableCell::collapsedTopBorder):
- (WebCore::RenderTableCell::collapsedBottomBorder):
- (WebCore::RenderTableCell::paintCollapsedBorder):
- * rendering/style/CollapsedBorderValue.h:
- (WebCore::CollapsedBorderValue::CollapsedBorderValue):
- (WebCore::CollapsedBorderValue::color):
- (WebCore::CollapsedBorderValue::operator==):
- Patch painting code to fetch visitedDependentColors from the RenderStyle. Properties that
- are honored include background-color, color, border colors, outline color, column rules,
- and fill and stroke (both SVG and our custom versions).
-
- * rendering/style/RenderStyle.cpp:
- (WebCore::RenderStyle::RenderStyle):
- (WebCore::RenderStyle::diff):
- (WebCore::borderStyleForColorProperty):
- (WebCore::colorIncludingFallback):
- (WebCore::RenderStyle::visitedDependentColor):
- * rendering/style/RenderStyle.h:
- (WebCore::):
- (WebCore::InheritedFlags::NonInheritedFlags::operator==):
- (WebCore::InheritedFlags::setBitDefaults):
- (WebCore::InheritedFlags::insideLink):
- (WebCore::InheritedFlags::isLink):
- (WebCore::InheritedFlags::setInsideLink):
- (WebCore::InheritedFlags::setIsLink):
- * rendering/style/RenderStyleConstants.h:
- Change how link information is stored. The noninherited flags now have a bit set for if you're a link
- or not. The inherited flags now cache whether you're inside a visited or unvisited link (or no link at
- all).
-
- (WebCore::):
- * svg/graphics/SVGPaintServer.cpp:
- (WebCore::SVGPaintServer::fillPaintServer):
- (WebCore::SVGPaintServer::strokePaintServer):
- Patch SVG fill/stroke painting to honor :visited.
-
-2010-04-08 Benjamin Otte <otte@gnome.org>
-
- Reviewed by Gustavo Noronha.
-
- Fix build with MathML enabled.
-
- * GNUmakefile.am:
-
-2010-04-08 Daniel Bates <dbates@rim.com>
-
- No review, rolling out 56655.
- http://trac.webkit.org/changeset/56655
- https://bugs.webkit.org/show_bug.cgi?id=9268
-
- Rolling out the change committed in change set 56655
- because it caused a regression in some of the mozilla
- and mozilla expected failure test cases, such as:
- tables/mozilla/marvin/backgr_simple-table-row.html, and
- tables/mozilla/marvin/backgr_simple-table-row-group.html.
-
- We need to look into this issue some more.
-
+ * rendering/RenderBlock.h:
* rendering/RenderBoxModelObject.cpp:
- (WebCore::RenderBoxModelObject::paintFillLayerExtended):
- (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
+ (WebCore::RenderBoxModelObject::setSelectionState):
* rendering/RenderBoxModelObject.h:
- * rendering/RenderObject.h:
- * rendering/RenderTableCell.cpp:
- * rendering/RenderTableCell.h:
-
-2010-03-30 Dumitru Daniliuc <dumi@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Refactor DatabaseTracker, part 1: Remove the dependency on
- OriginQuotaManager from DatabaseTracker.h.
-
- https://bugs.webkit.org/show_bug.cgi?id=31482
-
- * storage/DatabaseTracker.cpp:
- (originQuotaManager):
- (WebCore::DatabaseTracker::DatabaseTracker):
- (WebCore::DatabaseTracker::canEstablishDatabase):
- (WebCore::DatabaseTracker::hasEntryForOrigin):
- (WebCore::DatabaseTracker::getMaxSizeForDatabase):
- (WebCore::DatabaseTracker::databaseChanged):
- (WebCore::DatabaseTracker::fullPathForDatabaseNoLock):
- (WebCore::DatabaseTracker::fullPathForDatabase):
- (WebCore::DatabaseTracker::populateOrigins):
- (WebCore::DatabaseTracker::origins):
- (WebCore::DatabaseTracker::databaseNamesForOrigin):
- (WebCore::DatabaseTracker::removeOpenDatabase):
- (WebCore::DatabaseTracker::usageForOriginNoLock):
- (WebCore::DatabaseTracker::usageForOrigin):
- (WebCore::DatabaseTracker::quotaForOrigin):
- (WebCore::DatabaseTracker::setQuota):
- (WebCore::DatabaseTracker::deleteOrigin):
- (WebCore::DatabaseTracker::deleteDatabase):
- (WebCore::DatabaseTracker::deleteDatabaseFile):
- * storage/DatabaseTracker.h:
- * storage/SQLTransactionClient.cpp:
- (WebCore::SQLTransactionClient::didExecuteStatement):
-
-2010-04-08 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Simon Hausmann.
-
- [WINCE] Replace max with std::max
- https://bugs.webkit.org/show_bug.cgi?id=37201
-
- std::max is preferred.
-
- * platform/wince/FileSystemWince.cpp:
- (WebCore::makeAllDirectories):
- (WebCore::pathGetFileName):
-
-2010-04-08 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Laszlo Gombos.
-
- [EFL] Move AccessibilityObjectEfl.cpp from page to accessibility
- https://bugs.webkit.org/show_bug.cgi?id=36405
-
- * accessibility/efl/AccessibilityObjectEfl.cpp: Renamed from WebCore/page/efl/AccessibilityObjectEfl.cpp.
- (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
-
-2010-04-08 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- Web Inspector: Render Load, DOM Content and MarkTimeline event dividers on Timeline panel.
-
- https://bugs.webkit.org/show_bug.cgi?id=37267
-
- * English.lproj/localizedStrings.js:
- * inspector/InspectorController.cpp:
- (WebCore::InspectorController::mainResourceFiredDOMContentEvent):
- (WebCore::InspectorController::mainResourceFiredLoadEvent):
- * inspector/InspectorController.h:
- * inspector/InspectorTimelineAgent.cpp:
- (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
- (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
- * inspector/InspectorTimelineAgent.h:
- (WebCore::):
- * inspector/front-end/ResourcesPanel.js:
- (WebInspector.ResourcesPanel.prototype.updateGraphDividersIfNeeded):
- * inspector/front-end/TimelineAgent.js:
- * inspector/front-end/TimelineGrid.js:
- (WebInspector.TimelineGrid.prototype.removeEventDividers):
- * inspector/front-end/TimelinePanel.js:
- (WebInspector.TimelinePanel):
- (WebInspector.TimelinePanel.prototype.get _recordStyles):
- (WebInspector.TimelinePanel.prototype._updateMarks):
- (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
- (WebInspector.TimelinePanel.prototype._clearPanel):
- (WebInspector.TimelinePanel.prototype._refresh):
- (WebInspector.TimelinePanel.prototype._refreshRecords):
- (WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
- (WebInspector.TimelineRecordGraphRow.prototype.update):
- * inspector/front-end/inspector.css:
- (.resources-event-divider):
- (.resources-red-divider):
- (.resources-blue-divider):
- (.resources-orange-divider):
-
-2010-04-01 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by David Hyatt.
-
- [Qt] REGRESSION:(r50665) QWebFrame::setScrollBarPolicy(Qt::Vertical,Qt::ScrollBarAlwaysOff) has no effect.
- https://bugs.webkit.org/show_bug.cgi?id=29431
-
- Test: fast/overflow/scrollbar-restored-and-then-locked.html
-
- Patch introduces a lock scrollbars concept to ScrollView, as in WebDynamicScrollBarsView.mm/h
- on WebKit/mac. It is needed because in QtWebKit, we have Api for setting both vertical and
- horizontal scrollbars on/off/auto. When it is set to off, for example, it should remain
- as such, unless unset.
-
- For the locking concept, optional 'lock' parameters were added to setScrollbarModes,
- setHorizontalScrollbarMode and setVerticalScrollbarMode methods of ScrollView. As these
- are all optional, any previous code calling them do not need modification.
-
- Two optional parameters were also added to Frame's createView method, for horizontal and vertical
- lock state persistence cross page loads.
-
- * page/Frame.cpp:
- (WebCore::Frame::createView):
- * platform/ScrollView.cpp:
- (WebCore::ScrollView::ScrollView):
- (WebCore::ScrollView::setScrollbarModes):
- (WebCore::ScrollView::setHorizontalScrollbarMode):
- (WebCore::ScrollView::setVerticalScrollbarMode):
- * platform/ScrollView.h:
- (WebCore::ScrollView::setHorizontalScrollbarLock):
- (WebCore::ScrollView::isHorizontalScrollbarLocked):
- (WebCore::ScrollView::setVerticalScrollbarLock):
- (WebCore::ScrollView::isVerticalScrollbarLocked):
- (WebCore::ScrollView::setScrollingModesLocked):
-
-2010-04-08 Yury Semikhatsky <yurys@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Correctly save number of properties when object being serialized
- have properties in its prorotype.
-
- https://bugs.webkit.org/show_bug.cgi?id=37263
-
- * bindings/v8/SerializedScriptValue.cpp:
- (WebCore::ZigZag::Serializer::AbstractObjectState::AbstractObjectState):
- (WebCore::ZigZag::Serializer::AbstractObjectState::advance):
-
-2010-04-08 Jeremy Orlow <jorlow@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- IDB callbacks should fire asynchronously
- https://bugs.webkit.org/show_bug.cgi?id=37265
-
- Fix the firing behavior of the callbacks to not be synchronous.
-
- There's still a major bug that I'm trying to track down that is keeping
- us from testing this stuff. Promise lots of tests ASAP.
-
- * bindings/v8/custom/V8CustomIDBCallbacks.h:
- (WebCore::V8CustomIDBCallbacks::onSuccessAsync):
- (WebCore::V8CustomIDBCallbacks::onErrorAsync):
- * storage/IDBCallbacks.h:
- (WebCore::IDBCallbacks::IDBCallbacks):
- (WebCore::IDBCallbacks::onSuccess):
- (WebCore::IDBCallbacks::onError):
- (WebCore::IDBCallbacks::timerFired):
- * storage/IndexedDatabaseRequest.cpp:
-
-2010-04-08 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Darin Adler.
-
- willValidate doesn't need to check existence of a form element and a name attribute.
- https://bugs.webkit.org/show_bug.cgi?id=34733
-
- Remove checks against m_form and m_hasName in
- HTMLFormControlElement::willValidate(), and remove the code to
- track their updates.
-
- Test: fast/forms/willvalidate.html
-
- * html/HTMLFormControlElement.cpp:
- (WebCore::HTMLFormControlElement::HTMLFormControlElement):
- (WebCore::HTMLFormControlElement::parseMappedAttribute):
- (WebCore::HTMLFormControlElement::insertedIntoTree):
- (WebCore::HTMLFormControlElement::removedFromTree):
- (WebCore::HTMLFormControlElement::recalcWillValidate):
- (WebCore::HTMLFormControlElement::willValidate):
- (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):
- * html/HTMLFormControlElement.h:
- (WebCore::HTMLFormControlElement::formDestroyed):
- * html/HTMLInputElement.cpp:
- (WebCore::HTMLInputElement::setInputType):
- setNeedsWillValidateCheck() should be called before
- setAttribute(valueAttr, ...) is called.
-
-2010-04-08 Young Han Lee <joybro@company100.net>
-
- Reviewed by Simon Hausmann.
-
- [WINCE] Add missing headers
- https://bugs.webkit.org/show_bug.cgi?id=37199
-
- Include missing headers.
-
- * platform/graphics/wince/FontCustomPlatformData.cpp:
- * platform/graphics/wince/FontPlatformData.cpp:
- * platform/graphics/wince/GraphicsContextWince.cpp:
- * platform/graphics/wince/ImageBufferWince.cpp:
- * platform/graphics/wince/PlatformPathWince.h:
- * platform/wince/FileSystemWince.cpp:
-
-2010-04-08 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Simon Hausmann.
-
- [WINCE] Use WebCore::instanceHandle()
- https://bugs.webkit.org/show_bug.cgi?id=37202
-
- Page::instanceHandle() is moved to WebCore::instanceHandle().
-
- * platform/wince/PasteboardWince.cpp:
- (WebCore::Pasteboard::Pasteboard):
- * platform/wince/SharedTimerWince.cpp:
- (WebCore::initializeOffScreenTimerWindow):
-
-2010-04-08 Vitaly Repeshko <vitalyr@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [V8] Fix crash in NodeFilterCondition in detached iframe
- https://bugs.webkit.org/show_bug.cgi?id=37234
-
- Test: fast/dom/node-filter-detached-iframe-crash.html
-
- * bindings/v8/V8NodeFilterCondition.cpp:
- (WebCore::V8NodeFilterCondition::acceptNode): Switched to using
- callFunctionWithoutFrame.
- * bindings/v8/V8Proxy.cpp:
- (WebCore::V8Proxy::callFunctionWithoutFrame): Added a function to
- call V8 with no current frame.
- * bindings/v8/V8Proxy.h:
-
-2010-04-08 Jarkko Sakkinen <jarkko.sakkinen@tieto.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Remove shaderSource manipulation from GraphicsContext3DQt.cpp
- https://bugs.webkit.org/show_bug.cgi?id=37226
-
- * platform/graphics/qt/GraphicsContext3DQt.cpp:
- (WebCore::GraphicsContext3D::shaderSource):
-
-2010-04-08 Chris Evans <cevans@chromium.org>
-
- Reviewed by Adam Barth.
-
- Sanity: apply a max node depth to XML parsing.
-
- https://bugs.webkit.org/show_bug.cgi?id=37247
-
- Test: fast/images/svg-nested.html
-
- * dom/XMLTokenizer.cpp:
- (WebCore::XMLTokenizer::pushCurrentNode):
- Error out the parse upon a really large node depth.
-
-2010-04-07 Dumitru Daniliuc <dumi@chromium.org>
-
- Reviewed by Jeremy Orlow.
-
- Fix Chromium's HTML5 DB support in --single-process mode.
- https://bugs.webkit.org/show_bug.cgi?id=37186.
-
- Always register and use Chromium's SQLite VFS for
- WebSQLDatabases. Keep using the default VFS in all other
- cases. This change should allow Chromium to support
- WebSQLDatabases in --single-process mode.
-
- Also, cleaning up a bit SQLiteFileSystemChromium and getting rid
- of the SQLITE_OPEN_FULLMUTEX flag: we use sqlite DB handles only
- on the DB thread, so we don't need multi-threaded support.
-
- * platform/sql/SQLiteDatabase.cpp:
- (WebCore::SQLiteDatabase::open):
- * platform/sql/SQLiteDatabase.h:
- * platform/sql/SQLiteFileSystem.cpp:
- (WebCore::SQLiteFileSystem::openDatabase):
- * platform/sql/SQLiteFileSystem.h:
- * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
- (WebCore::SQLiteFileSystem::openDatabase):
- * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
- (WebCore::SQLiteFileSystem::registerSQLiteVFS):
- * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
- (WebCore::SQLiteFileSystem::registerSQLiteVFS):
- * storage/Database.cpp:
- (WebCore::Database::performOpenAndVerify):
-
-2010-04-07 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Steve Falkenburg.
-
- Remove QuartzCoreInterface from the build
+ Moved setSelectionState() from RenderBlock to RenderBoxModelObject.
- No longer needed since QuartzCore.dll is now included in the latest Safari release (4.0.5).
- This gets rid of all the function shims from the clients of QuartzCore.dll.
-
- * platform/graphics/win/GraphicsLayerCACF.cpp:
- (WebCore::GraphicsLayerCACF::updateLayerPreserves3D):
- * platform/graphics/win/WKCACFLayer.cpp:
- (WebCore::toCACFLayerType):
- (WebCore::toCACFContentsGravityType):
- (WebCore::fromCACFContentsGravityType):
- (WebCore::toCACFFilterType):
- (WebCore::fromCACFFilterType):
- (WebCore::WKCACFLayer::isTransformLayer):
- * platform/graphics/win/WKCACFLayerRenderer.cpp:
- (WebCore::WKCACFLayerRenderer::createRenderer):
-
-2010-04-07 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r57178.
- http://trac.webkit.org/changeset/57178
- https://bugs.webkit.org/show_bug.cgi?id=37240
-
- Caused chromium browser_test and ui_test regressions
- (Requested by ojan on #webkit).
-
- * bindings/v8/ScriptController.cpp:
- (WebCore::ScriptController::processingUserGesture):
-
-2010-04-07 Jian Li <jianli@chromium.org>
-
- Reviewed by Adam Barth and Dmitry Titov.
-
- Add the comment and assert that we're generating version 4 random number
- based UUIDs.
- https://bugs.webkit.org/show_bug.cgi?id=36472
-
- * platform/UUID.cpp:
- (WebCore::createCanonicalUUIDString):
- * platform/UUID.h:
-
-2010-04-07 Erik Arvidsson <arv@chromium.org>
-
- Reviewed by Adam Barth.
-
- Allow white listing access from origin to local origin.
- https://bugs.webkit.org/show_bug.cgi?id=37228
-
- This makes it possible to load a local resource from a non local
- origin if the access has previously been white listed by calling
- SecurityOrigin::whiteListAccessFromOrigin.
-
- Test: http/tests/security/local-image-from-remote-whitelisted.html
+2010-05-27 MORITA Hajime <morrita@google.com>
- * page/OriginAccessEntry.cpp:
- (WebCore::OriginAccessEntry::OriginAccessEntry): Removed assert that only the http and https protocol are valid.
- * page/SecurityOrigin.cpp:
- (WebCore::SecurityOrigin::canRequest): Use isAccessWhiteListed
- (WebCore::SecurityOrigin::isAccessWhiteListed): Extracted code that goes through the originAccessMap to do the origin matching.
- (WebCore::SecurityOrigin::canLoad): Check if access has been white listed.
- * page/SecurityOrigin.h: Add private function isAccessWhiteListed
+ Not reviewed. Fixed typo
-2010-04-07 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Darin Adler.
-
- Adding static method zero() to classes IntPoint and FloatPoint.
- https://bugs.webkit.org/show_bug.cgi?id=37220
-
- Adding static method zero() to classes IntPoint and FloatPoint as suggested by Darin Adler.
-
- * platform/graphics/FloatPoint.h:
- (WebCore::FloatPoint::zero):
- * platform/graphics/IntPoint.h:
- (WebCore::IntPoint::zero):
- (WebCore::IntPoint::clampNegativeToZero):
-
-2010-04-07 Alexey Proskuryakov <ap@apple.com>
-
- * platform/network/mac/AuthenticationMac.mm: Fix a typo in comment.
-
-2010-04-07 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=37230
- <rdar://problem/7813115> REGRESSION (4.0.5): Safari asks for credentials all the time when
- authenticating to Windows IIS Server
-
- * platform/network/ProtectionSpace.h: (WebCore::ProtectionSpaceAuthenticationScheme): Added
- a constant for ProtectionSpaceAuthenticationSchemeUnknown.
-
- * platform/network/cf/AuthenticationCF.cpp: (WebCore::core):
- * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::authenticationSchemeFromAuthenticationMethod):
- Return ProtectionSpaceAuthenticationSchemeUnknown for unknown scheme.
-
- * platform/network/mac/AuthenticationMac.mm:
- (WebCore::mac): Support NTLM on systems older than 10.6. We actually get this string from
- NSURLConnection, even though there was no public constant.
- (WebCore::core): Return ProtectionSpaceAuthenticationSchemeUnknown for unknown scheme.
-
-2010-04-07 Jaime Yap <jaimeyap@google.com>
-
- Reviewed by Pavel Feldman.
-
- Adds the ability to get the function symbol name when looking up the call location
- for records sent by the InspectorTimelineAgent.
- https://bugs.webkit.org/show_bug.cgi?id=36839
+ * rendering/RenderTheme.cpp:
+ (WebCore::RenderTheme::adjustStyle):
- No new tests.
+2010-05-27 Darin Adler <darin@apple.com>
- * bindings/js/ScriptCallStack.cpp:
- (WebCore::ScriptCallStack::callLocation):
- * bindings/js/ScriptCallStack.h:
- * bindings/v8/ScriptCallStack.cpp:
- (WebCore::ScriptCallStack::create):
- (WebCore::ScriptCallStack::callLocation):
- (WebCore::ScriptCallStack::ScriptCallStack):
- * bindings/v8/ScriptCallStack.h:
- * bindings/v8/ScriptDebugServer.cpp:
- (WebCore::ScriptDebugServer::createUtilityContext):
- (WebCore::ScriptDebugServer::topStackFrame):
- * bindings/v8/ScriptDebugServer.h:
- (WebCore::ScriptDebugServer::utilityContext):
- * bindings/v8/V8Proxy.cpp:
- * bindings/v8/V8Proxy.h:
- * inspector/TimelineRecordFactory.cpp:
- (WebCore::TimelineRecordFactory::createGenericRecord):
-
-2010-04-07 Jay Civelli <jcivelli@chromium.org>
+ Reviewed by David Levin.
- Reviewed by Jian Li.
+ Make more HTML DOM members private, especially constructors
+ https://bugs.webkit.org/show_bug.cgi?id=39697
- [chromium] Fixing a NULL pointer being dereferenced in some cases.
- https://bugs.webkit.org/show_bug.cgi?id=37141
+ Refactoring, so no new tests needed.
- Test: platform/chromium/fast/forms/search-popup-crasher.html
+ Working my way through HTMLTagNames.in from top to bottom, skipping any
+ that are non-trivial for some reason.
- * platform/chromium/PopupMenuChromium.cpp:
- (WebCore::PopupMenu::~PopupMenu):
+ * html/HTMLTagNames.in: Removed createWithNew from audio, base, basefont,
+ blockquote, body, br, button, canvas, caption, col, colgroup, datagrid,
+ datalist, dcell, dcol, drow, del, dir, dl, and fieldset.
-2010-04-07 Kinuko Yasuda <kinuko@chromium.org>
+ * mathml/mathtags.in: Removed createWithNew from msub, and msup.
- Reviewed by Jian Li.
+ * dom/Document.cpp:
+ (WebCore::Document::implicitClose): Use create function instead of new.
+ (WebCore::Document::getCSSCanvasElement): Ditto.
+ * editing/IndentOutdentCommand.cpp:
+ (WebCore::createIndentBlockquoteElement): Ditto.
+ * editing/htmlediting.cpp:
+ (WebCore::createBreakElement): Ditto.
+ * html/HTMLTableElement.cpp:
+ (WebCore::HTMLTableElement::createCaption): Ditto.
+ * html/HTMLViewSourceDocument.cpp:
+ (WebCore::HTMLViewSourceDocument::createContainingTable): Ditto.
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::setInnerTextValue): Ditto.
- Add skeleton FileStream module for providing sync file operations for FileAPI
- https://bugs.webkit.org/show_bug.cgi?id=37217
+ * html/HTMLParser.cpp:
+ (WebCore::HTMLParser::handleError): Use create function instead of new.
+ Required reordering the code slightly, but the new order works fine.
- For now the module just defines an interface and is almost empty.
- Implementation will be added.
+ * html/HTMLAudioElement.cpp:
+ (WebCore::HTMLAudioElement::create):
+ * html/HTMLAudioElement.h:
+ * html/HTMLBRElement.cpp:
+ (WebCore::HTMLBRElement::create):
+ * html/HTMLBRElement.h:
+ * html/HTMLBaseElement.cpp:
+ (WebCore::HTMLBaseElement::create):
+ * html/HTMLBaseElement.h:
+ * html/HTMLBaseFontElement.cpp:
+ (WebCore::HTMLBaseFontElement::create):
+ * html/HTMLBaseFontElement.h:
+ * html/HTMLBlockquoteElement.cpp:
+ (WebCore::HTMLBlockquoteElement::create):
+ * html/HTMLBlockquoteElement.h:
+ * html/HTMLBodyElement.cpp:
+ (WebCore::HTMLBodyElement::create):
+ * html/HTMLBodyElement.h:
+ * html/HTMLButtonElement.cpp:
+ (WebCore::HTMLButtonElement::create):
+ * html/HTMLButtonElement.h:
+ * html/HTMLCanvasElement.cpp:
+ (WebCore::HTMLCanvasElement::create):
+ * html/HTMLCanvasElement.h:
+ * html/HTMLDListElement.cpp:
+ (WebCore::HTMLDListElement::create):
+ * html/HTMLDListElement.h:
+ * html/HTMLDataGridCellElement.cpp:
+ (WebCore::HTMLDataGridCellElement::create):
+ * html/HTMLDataGridCellElement.h:
+ * html/HTMLDataGridColElement.cpp:
+ (WebCore::HTMLDataGridColElement::create):
+ * html/HTMLDataGridColElement.h:
+ * html/HTMLDataGridElement.cpp:
+ (WebCore::HTMLDataGridElement::create):
+ * html/HTMLDataGridElement.h:
+ * html/HTMLDataGridRowElement.cpp:
+ (WebCore::HTMLDataGridRowElement::create):
+ * html/HTMLDataGridRowElement.h:
+ * html/HTMLDataListElement.cpp:
+ (WebCore::HTMLDataListElement::create):
+ * html/HTMLDataListElement.h:
+ * html/HTMLElement.cpp:
+ (WebCore::HTMLElement::setInnerText):
+ * html/HTMLFieldSetElement.cpp:
+ (WebCore::HTMLFieldSetElement::create):
+ * html/HTMLFieldSetElement.h:
+ * html/HTMLModElement.cpp:
+ (WebCore::HTMLModElement::HTMLModElement):
+ (WebCore::HTMLModElement::create):
+ * html/HTMLModElement.h:
+ * html/HTMLTableCaptionElement.cpp:
+ (WebCore::HTMLTableCaptionElement::create):
+ * html/HTMLTableCaptionElement.h:
+ Made constructors and virtual function overrides private, added create functions.
+ Made constructors inline in cases where they were called in only one place.
- No new tests; will be added when we have complete implementation.
+ * html/HTMLTableColElement.cpp:
+ (WebCore::HTMLTableColElement::HTMLTableColElement): Changed data member name
+ from _span to m_span.
+ (WebCore::HTMLTableColElement::create): Added.
+ (WebCore::HTMLTableColElement::parseMappedAttribute): Updated to use m_span.
+ * html/HTMLTableColElement.h:
+ Made constructor and virtual function overrides private, added create function.
+ Renamed _span to m_span.
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * html/FileStream.cpp: Added.
- * html/FileStream.h: Added.
- * html/FileStreamClient.h: Added.
- * html/FileThread.cpp:
- (WebCore::SameFilePredicate::SameFilePredicate):
- (WebCore::SameFilePredicate::operator()):
- (WebCore::FileThread::unscheduleTasks):
- * html/FileThread.h:
- (WebCore::FileThread::Task::stream):
- (WebCore::FileThread::Task::Task):
-
-2010-04-07 Oliver Hunt <oliver@apple.com>
+2010-05-27 Kwang Yul Seo <skyul@company100.net>
Reviewed by Darin Adler.
- Remove some unnecessary uses of commonJSGlobalData
- https://bugs.webkit.org/show_bug.cgi?id=37229
+ wx port: build fix for Linux
+ https://bugs.webkit.org/show_bug.cgi?id=39860
- Pass the ExecState down to identifierFromNPIdentifier and update call sites
+ Use uint16_t instead of uint16.
- * bridge/NP_jsobject.cpp:
- (_NPN_Invoke):
- (_NPN_GetProperty):
- (_NPN_SetProperty):
- (_NPN_RemoveProperty):
- (_NPN_HasProperty):
- (_NPN_HasMethod):
- * bridge/c/c_instance.cpp:
- (JSC::Bindings::CInstance::getPropertyNames):
- * bridge/c/c_utility.cpp:
- (JSC::Bindings::identifierFromNPIdentifier):
- * bridge/c/c_utility.h:
+ * plugins/PluginPackageNone.cpp:
+ (WebCore::PluginPackage::NPVersion):
-2010-04-07 Kenneth Rohde Christiansen <kenneth@webkit.org>
+2010-05-27 Nathan Lawrence <nlawrence@apple.com>
- Reviewed by Darin Adler.
+ Reviewed by Geoffrey Garen.
- Poor rendering on lala.com with frame flattening
- https://bugs.webkit.org/show_bug.cgi?id=37164
+ https://bugs.webkit.org/show_bug.cgi?id=39460
- Do not flatten offscreen iframes.
+ Fixes the issue where images prefetched by JavaScript do not report
+ their memory usage to the GC.
- Test: fast/frames/flattening/iframe-flattening-offscreen.html
+ There is a new test manual-tests/image-prefetch-stress.html that loads
+ a new 4MB image every half a second.
- * rendering/RenderPartObject.cpp:
- (WebCore::RenderPartObject::flattenFrame):
- * rendering/RenderPartObject.h:
+ * html/HTMLImageLoader.cpp:
+ (WebCore::HTMLImageLoader::notifyFinished):
+ * manual-tests/image-prefetch-stress.html: Added.
-2010-04-07 Abhishek Arya <inferno@chromium.org>
+2010-05-27 Eric Uhrhane <ericu@chromium.org>
Reviewed by Adam Barth.
- [V8] Add a missing check for constructor call in WebKitPointConstructor.
- https://bugs.webkit.org/show_bug.cgi?id=37210
+ Add v8 bindings for async DB API in workers
+ https://bugs.webkit.org/show_bug.cgi?id=39145
- Test: fast/constructors/constructor-as-function-crash.html
-
- * bindings/v8/custom/V8WebKitPointConstructor.cpp:
- (WebCore::V8WebKitPoint::constructorCallback): Added a check for constructor call.
-
-2010-04-07 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Darin Adler.
+ No new tests. This should share layout tests with JSC.
- https://bugs.webkit.org/show_bug.cgi?id=37219
-
- This change disables text caret for the iPhone platflorm.
- Added UNUSED_PARAM to build when ENABLE_TEXT_CARET is 0.
-
- * editing/SelectionController.cpp:
- (WebCore::SelectionController::recomputeCaretRect):
- (WebCore::SelectionController::paintCaret):
- * page/Frame.cpp:
- (WebCore::Frame::paintDragCaret):
-
-2010-04-07 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Dave Hyatt.
-
- Text repainting does not account for glyphs which draw outside the typographic bounds of the font (6274).
- <rdar://problem/6649734>
- <https://bugs.webkit.org/show_bug.cgi?id=6274>
-
- In order to be able to handle successfully this case, it is necessary to change the glyph width cache to store
- the bounding box for the glyph instead of the simply caching the glyph width.
- Retrieving the bounding box for the glyph is expensive, therefore we do it only
- when we are rendering text using the complex text path to minimize the performance impact.
- To support characters with stacked diacritics, the method canUseGlyphCache has been modified to
- return false for the range of characters with stacked diacritics.
- The glyph cache has been also updated to allow storing the glyph bounding box together with the
- horizontal width. The bounding box is populated only for complex text.
-
- The original version of this patch has been written by Dan Bernstein.
-
- Test: fast/repaint/stacked-diacritics.html
-
- * Android.mk: File name change.
- * GNUmakefile.am: File name change.
- * WebCore.base.exp: Added parameter in exported function.
- * WebCore.gypi: File name change.
- * WebCore.vcproj/WebCore.vcproj: File name change.
- * WebCore.xcodeproj/project.pbxproj: File name change.
- * platform/graphics/Font.cpp:
- (WebCore::Font::floatWidth): Added glyphOverflow parameter.
- * platform/graphics/Font.h:
- (WebCore::GlyphOverflow::GlyphOverflow): Added.
- (WebCore::Font::width): Added glyphOverflow parameter.
- * platform/graphics/FontFastPath.cpp:
- (WebCore::Font::canUseGlyphCache): Modified to render characters with stacked diacritics with complex text path.
- * platform/graphics/GlyphMetricsMap.cpp: Copied from WebCore/platform/graphics/GlyphWidthMap.cpp.
- (WebCore::GlyphMetricsMap::locatePageSlowCase): Class name changed to reflect new semantics.
- * platform/graphics/GlyphMetricsMap.h: Copied from WebCore/platform/graphics/GlyphWidthMap.h.
- (WebCore::GlyphMetricsMap::GlyphMetricsMap):
- (WebCore::GlyphMetricsMap::~GlyphMetricsMap):
- (WebCore::GlyphMetricsMap::metricsForGlyph):
- (WebCore::GlyphMetricsMap::widthForGlyph):
- (WebCore::GlyphMetricsMap::setMetricsForGlyph):
- (WebCore::GlyphMetricsMap::GlyphMetricsPage::metricsForGlyph):
- (WebCore::GlyphMetricsMap::GlyphMetricsPage::setMetricsForGlyph):
- (WebCore::GlyphMetricsMap::GlyphMetricsPage::setMetricsForIndex):
- (WebCore::GlyphMetricsMap::locatePage):
- * platform/graphics/GlyphWidthMap.cpp: Removed.
- * platform/graphics/GlyphWidthMap.h: Removed.
- * platform/graphics/SimpleFontData.cpp:
- (WebCore::SimpleFontData::platformGlyphInit):
- * platform/graphics/SimpleFontData.h:
- (WebCore::):
- (WebCore::SimpleFontData::widthForGlyph):
- (WebCore::SimpleFontData::metricsForGlyph):
- * platform/graphics/cairo/SimpleFontDataCairo.cpp:
- (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
- * platform/graphics/chromium/FontChromiumWin.cpp:
- (WebCore::Font::floatWidthForComplexText): Added parameter.
- * platform/graphics/chromium/FontLinux.cpp:
- (WebCore::Font::floatWidthForComplexText): Added parameter.
- * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
- (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
- * platform/graphics/chromium/SimpleFontDataLinux.cpp:
- (WebCore::SimpleFontData::platformWidthForGlyph): Name and signature vachange
- * platform/graphics/efl/FontEfl.cpp:
- (WebCore::Font::floatWidthForComplexText): Name and signature change.
- * platform/graphics/gtk/SimpleFontDataPango.cpp:
- (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
- * platform/graphics/haiku/FontHaiku.cpp:
- (WebCore::Font::floatWidthForComplexText): Added parameter.
- * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
- (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
- * platform/graphics/mac/ComplexTextController.cpp:
- (WebCore::ComplexTextController::ComplexTextController):
- (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
- * platform/graphics/mac/ComplexTextController.h:
- (WebCore::ComplexTextController::minGlyphBoundingBoxX):
- (WebCore::ComplexTextController::maxGlyphBoundingBoxX):
- (WebCore::ComplexTextController::minGlyphBoundingBoxY):
- (WebCore::ComplexTextController::maxGlyphBoundingBoxY):
- * platform/graphics/mac/FontComplexTextMac.cpp:
- (WebCore::Font::floatWidthForComplexText): Added paramter.
- * platform/graphics/mac/SimpleFontDataMac.mm:
- (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
- * platform/graphics/qt/FontQt.cpp:
- (WebCore::Font::floatWidthForComplexText): Added paramter.
- * platform/graphics/win/FontWin.cpp:
- (WebCore::Font::floatWidthForComplexText): Added parameter.
- * platform/graphics/win/SimpleFontDataCGWin.cpp:
- (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
- * platform/graphics/win/SimpleFontDataWin.cpp:
- (WebCore::SimpleFontData::metricsForGDIGlyph):
- * platform/graphics/win/UniscribeController.cpp:
- (WebCore::UniscribeController::UniscribeController):
- (WebCore::UniscribeController::shapeAndPlaceItem):
- * platform/graphics/win/UniscribeController.h:
- (WebCore::UniscribeController::minGlyphBoundingBoxX):
- (WebCore::UniscribeController::maxGlyphBoundingBoxX):
- (WebCore::UniscribeController::minGlyphBoundingBoxY):
- (WebCore::UniscribeController::maxGlyphBoundingBoxY):
- * platform/graphics/wince/FontWince.cpp:
- (WebCore::Font::floatWidthForComplexText): Added parameter.
- * platform/graphics/wx/FontWx.cpp:
- (WebCore::Font::floatWidthForComplexText): Added parameter.
- * platform/graphics/wx/SimpleFontDataWx.cpp:
- (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
- * rendering/InlineFlowBox.cpp:
- (WebCore::InlineFlowBox::placeBoxesHorizontally):
- (WebCore::InlineFlowBox::computeLogicalBoxHeights):
- (WebCore::InlineFlowBox::computeVerticalOverflow):
- * rendering/InlineTextBox.cpp:
- (WebCore::InlineTextBox::setFallbackFonts):
- (WebCore::InlineTextBox::fallbackFonts):
- (WebCore::InlineTextBox::setGlyphOverflow):
- (WebCore::InlineTextBox::glyphOverflow):
- * rendering/InlineTextBox.h:
- (WebCore::InlineTextBox::clearGlyphOverflowAndFallbackFontMap): Added.
- * rendering/RenderBlockLineLayout.cpp:
- (WebCore::RenderBlock::computeHorizontalPositionsForLine):
- (WebCore::RenderBlock::layoutInlineChildren):
- * rendering/RenderText.cpp:
- (WebCore::RenderText::RenderText):
- (WebCore::RenderText::styleDidChange):
- (WebCore::RenderText::widthFromCache):
- (WebCore::RenderText::trimmedPrefWidths):
- (WebCore::RenderText::calcPrefWidths):
- (WebCore::RenderText::setText):
- (WebCore::RenderText::width):
- * rendering/RenderText.h:
-
-2010-04-07 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by Darin Adler.
-
- Fix incorrect white-space in WebGLRenderingContext.idl
- https://bugs.webkit.org/show_bug.cgi?id=31339
-
- * html/canvas/WebGLRenderingContext.idl: Remove offending extra whitespace.
-
-2010-04-07 Rodrigo Belem <rodrigo.belem@openbossa.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] The build system is not installing the generated headers (QGraphicsWebView, QWebDatabase, etc)
- https://bugs.webkit.org/show_bug.cgi?id=37173
-
- This patch sets the correct path to the classheaders.pri and then
- fixes the installation of the generated headers.
-
- * WebCore.pro:
-
-2010-04-05 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Kenneth Christiansen.
-
- Spatial Navigation: bail out as soon as algorithm finds a focus candidate is not applicable
- https://bugs.webkit.org/show_bug.cgi?id=37135
-
- It happens, for example, when distanceDataForNode assigns numeric_limits<long long> to
- current focus candidate's. It means that current candidate is not in direction, or not
- a valid target node.
-
- * page/FocusController.cpp:
- (WebCore::FocusController::findFocusableNodeInDirection):
-
-2010-04-07 Andrey Kosyakov <caseq@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- Removed inspector methods from ScriptExecutionContext and derived classes.
- Removed MessageDestination parameter from console-related calls (we now always
- log to the same destination(s)).
- Removed redundant FrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest()
- https://bugs.webkit.org/show_bug.cgi?id=36949
-
- * dom/Document.cpp:
- (WebCore::Document::reportException):
- (WebCore::Document::addMessage):
- * dom/Document.h:
- * dom/ScriptExecutionContext.h:
- * loader/EmptyClients.h:
- (WebCore::EmptyFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
- * loader/FrameLoaderClient.h:
- * loader/ResourceLoadNotifier.cpp:
- * loader/ResourceLoadNotifier.h:
- * websockets/WebSocket.cpp:
- (WebCore::WebSocket::connect):
- * websockets/WebSocketChannel.cpp:
- (WebCore::WebSocketChannel::didOpen):
- (WebCore::WebSocketChannel::appendToBuffer):
- * websockets/WebSocketHandshake.cpp:
- (WebCore::WebSocketHandshake::readServerHandshake):
- (WebCore::WebSocketHandshake::readHTTPHeaders):
- (WebCore::WebSocketHandshake::checkResponseHeaders):
- * workers/DefaultSharedWorkerRepository.cpp:
- (WebCore::postConsoleMessageTask):
- (WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject):
- * workers/WorkerContext.cpp:
- (WebCore::WorkerContext::importScripts):
- (WebCore::WorkerContext::addMessage):
- * workers/WorkerContext.h:
- * workers/WorkerMessagingProxy.cpp:
- (WebCore::postConsoleMessageTask):
- (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
- * workers/WorkerMessagingProxy.h:
- * workers/WorkerReportingProxy.h:
- * xml/XMLHttpRequest.cpp:
- (WebCore::reportUnsafeUsage):
- (WebCore::XMLHttpRequest::didFinishLoading):
-
-2010-04-07 Dawit Alemayehu <adawit@kde.org>
-
- Reviewed by Simon Hausmann.
-
- https://bugs.webkit.org/show_bug.cgi?id=36827
-
- Replaced the 'shouldTreatAsAttachment' function with a more generic
- function that returns the content disposition type.
-
- See comments 39-42 in https://bugs.webkit.org/show_bug.cgi?id=36395
-
- * platform/network/HTTPParsers.cpp:
- (WebCore::contentDispositionType):
- * platform/network/HTTPParsers.h:
- (WebCore::):
-
-2010-04-07 Vitaly Repeshko <vitalyr@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- [V8] Throw exception in SerializedScriptValue on input errors
- https://bugs.webkit.org/show_bug.cgi?id=37160
-
- When cycles are detected SerializedScriptValue should throw
- NOT_SUPPORTED_ERR. See
- http://www.whatwg.org/specs/web-apps/2009-10-27/multipage/urls.html#structured-clone
-
- * bindings/scripts/CodeGeneratorV8.pm: Custom processing for
- function arguments of type SerializedScriptValue.
-
- * bindings/v8/SerializedScriptValue.cpp:
- (WebCore::SerializedScriptValue::SerializedScriptValue):
- * bindings/v8/SerializedScriptValue.h:
- (WebCore::SerializedScriptValue::create): Added a constructor
- function with an extra paratemer to check whether an exception was
- thrown.
+ Tweak the callback generation to switch lots of Frame* to ScriptExecutionContext*, and use the context passed in to handleEvent where possible.
+ * bindings/scripts/CodeGeneratorV8.pm:
- SerializedScriptValue::create callers updated to check for
- exceptions:
+ As with CodeGeneratorV8; these are pretty much all tiny tweaks.
+ We do have to use a slightly different patch for callback invocation in invokeCallback, as V8Proxy::retrieve() doesn't work in the worker context.
+ * bindings/v8/custom/V8CustomPositionCallback.cpp:
+ (WebCore::V8CustomPositionCallback::handleEvent):
+ * bindings/v8/custom/V8CustomPositionErrorCallback.cpp:
+ (WebCore::V8CustomPositionErrorCallback::handleEvent):
+ * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
+ (WebCore::V8SQLStatementErrorCallback::handleEvent):
+ * bindings/v8/custom/V8CustomVoidCallback.cpp:
+ (WebCore::V8CustomVoidCallback::V8CustomVoidCallback):
+ (WebCore::V8CustomVoidCallback::handleEvent):
+ (WebCore::invokeCallback):
+ * bindings/v8/custom/V8CustomVoidCallback.h:
+ (WebCore::V8CustomVoidCallback::create):
* bindings/v8/custom/V8DOMWindowCustom.cpp:
- (WebCore::V8DOMWindow::postMessageCallback):
- * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
- (WebCore::V8DedicatedWorkerContext::postMessageCallback):
- * bindings/v8/custom/V8HistoryCustom.cpp:
- (WebCore::V8History::pushStateCallback):
- (WebCore::V8History::replaceStateCallback):
- * bindings/v8/custom/V8MessagePortCustom.cpp:
- (WebCore::V8MessagePort::postMessageCallback):
- * bindings/v8/custom/V8PopStateEventCustom.cpp:
- (WebCore::V8PopStateEvent::initPopStateEventCallback):
- * bindings/v8/custom/V8WorkerCustom.cpp:
- (WebCore::V8Worker::postMessageCallback):
-
-2010-04-07 Alexander Pavlov <apavlov@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: Provide a placeholder for resources with no content available
- https://bugs.webkit.org/show_bug.cgi?id=37142
-
- * English.lproj/localizedStrings.js:
- * inspector/front-end/ImageView.js:
- (WebInspector.ImageView):
- (WebInspector.ImageView.prototype.contentTabSelected):
- * inspector/front-end/ResourceView.js:
- (WebInspector.ResourceView.prototype._innerSelectContentTab):
- (WebInspector.ResourceView.prototype.contentTabSelected):
- * inspector/front-end/inspector.css:
- (.resource-content-unavailable):
-
-2010-04-07 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- https://bugs.webkit.org/show_bug.cgi?id=36750
-
- [Qt] Package build without touch support is broken
-
- Use the conditional attribute instead of #ifdefs in the idl file for the
- touch specific properties, to make the generated files compile with and
- without the touch events enabled.
-
- * dom/Document.idl: Use conditional instead of #ifdef.
- * dom/Element.idl: Ditto.
- * page/DOMWindow.idl: Ditto.
-
-2010-04-07 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Holger Freyther.
-
- Add the touch event related IDL files to the idl generation, so that
- they can be safely included from generated JS bindings files. The
- generated files have #ifdef feature guards.
-
- * DerivedSources.cpp:
- * DerivedSources.make:
- * GNUmakefile.am:
-
-2010-04-06 Jeremy Orlow <jorlow@chromium.org>
-
- Reviewed by Adam Barth.
-
- V8CustomIDBCallbacks<> should not hold a reference to the frame
- https://bugs.webkit.org/show_bug.cgi?id=37154
-
- Don't hold on to a Frame reference.
- Instead, be an ActiveDOMObject and use scriptExecutionContext()
- to get the v8 context.
- Factor the guts of onSuccess and onError out.
-
- Doesn't work enough to test yet.
-
- * bindings/v8/custom/V8CustomIDBCallbacks.h:
- (WebCore::V8CustomIDBCallbacks::create):
- (WebCore::V8CustomIDBCallbacks::onSuccess):
- (WebCore::V8CustomIDBCallbacks::onError):
- (WebCore::V8CustomIDBCallbacks::V8CustomIDBCallbacks):
- (WebCore::V8CustomIDBCallbacks::onEvent):
- * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp:
- (WebCore::V8IndexedDatabaseRequest::openCallback):
- * storage/IDBCallbacks.h:
- (WebCore::IDBCallbacks::IDBCallbacks):
-
-2010-04-07 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r57196.
- http://trac.webkit.org/changeset/57196
- https://bugs.webkit.org/show_bug.cgi?id=37196
-
- Multiple layout test failures on Chromium (Requested by yurys
- on #webkit).
-
- * bindings/js/ScriptCallStack.cpp:
- (WebCore::ScriptCallStack::callLocation):
- * bindings/js/ScriptCallStack.h:
- * bindings/v8/ScriptCallStack.cpp:
- (WebCore::ScriptCallStack::create):
- (WebCore::ScriptCallStack::callLocation):
- (WebCore::ScriptCallStack::ScriptCallStack):
- * bindings/v8/ScriptCallStack.h:
- * bindings/v8/ScriptDebugServer.cpp:
- * bindings/v8/ScriptDebugServer.h:
- * bindings/v8/V8Proxy.cpp:
- (WebCore::V8Proxy::createUtilityContext):
- (WebCore::V8Proxy::sourceLineNumber):
- (WebCore::V8Proxy::sourceName):
- * bindings/v8/V8Proxy.h:
- (WebCore::V8Proxy::utilityContext):
- * inspector/TimelineRecordFactory.cpp:
- (WebCore::TimelineRecordFactory::createGenericRecord):
-
-2010-04-07 Simon Hausmann <simon.hausmann@nokia.com>
-
- Unreviewed, rolling out r57199.
- http://trac.webkit.org/changeset/57199
- https://bugs.webkit.org/show_bug.cgi?id=36750
-
- Breaks non-touch enabled build
-
- * dom/Document.idl:
- * dom/Element.idl:
- * page/DOMWindow.idl:
-
-2010-04-07 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- https://bugs.webkit.org/show_bug.cgi?id=36750
-
- [Qt] Package build without touch support is broken
-
- Use the conditional attribute instead of #ifdefs in the idl file for the
- touch specific properties, to make the generated files compile with and
- without the touch events enabled.
+ (WebCore::V8DOMWindow::openDatabaseCallback):
+ * bindings/v8/custom/V8DatabaseCustom.cpp:
+ (WebCore::V8Database::changeVersionCallback):
+ (WebCore::createTransaction):
+ * bindings/v8/custom/V8DatabaseSyncCustom.cpp:
+ (WebCore::V8DatabaseSync::changeVersionCallback):
+ (WebCore::createTransaction):
+ * bindings/v8/custom/V8NotificationCenterCustom.cpp:
+ (WebCore::V8NotificationCenter::requestPermissionCallback):
+ * bindings/v8/custom/V8SQLTransactionCustom.cpp:
+ (WebCore::V8SQLTransaction::executeSqlCallback):
- * dom/Document.idl: Use conditional instead of #ifdef.
- * dom/Element.idl: Ditto.
- * page/DOMWindow.idl: Ditto.
+ Add openDatabaseCallback.
+ * bindings/v8/custom/V8WorkerContextCustom.cpp:
+ (WebCore::V8WorkerContext::openDatabaseCallback):
+ Remove an obsolete parameter.
+ (WebCore::V8WorkerContext::openDatabaseSyncCallback):
-2010-04-07 Jaime Yap <jaimeyap@google.com>
+2010-05-27 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
- Adds the ability to get the function symbol name when looking up the call location
- for records sent by the InspectorTimelineAgent.
- https://bugs.webkit.org/show_bug.cgi?id=36839
-
- No new tests.
-
- * bindings/js/ScriptCallStack.cpp:
- (WebCore::ScriptCallStack::callLocation):
- * bindings/js/ScriptCallStack.h:
- * bindings/v8/ScriptCallStack.cpp:
- (WebCore::ScriptCallStack::create):
- (WebCore::ScriptCallStack::callLocation):
- (WebCore::ScriptCallStack::ScriptCallStack):
- * bindings/v8/ScriptCallStack.h:
- * bindings/v8/ScriptDebugServer.cpp:
- (WebCore::ScriptDebugServer::createUtilityContext):
- (WebCore::ScriptDebugServer::lastCallFrame):
- * bindings/v8/ScriptDebugServer.h:
- (WebCore::ScriptDebugServer::utilityContext):
- * bindings/v8/V8Proxy.cpp:
- * bindings/v8/V8Proxy.h:
- * inspector/TimelineRecordFactory.cpp:
- (WebCore::TimelineRecordFactory::createGenericRecord):
-
-2010-04-06 Greg Bolsinga <bolsinga@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=37188
- WebCore::page::Geolocation::m_shouldClearCache is not used.
-
- * page/Geolocation.cpp:
- (WebCore::Geolocation::Geolocation): Remove m_shouldClearCache.
- * page/Geolocation.h:
- (WebCore::Geolocation::): Ditto.
-
-2010-04-06 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Eric Seidel.
-
- Remove obsolete MOBILE flag
- https://bugs.webkit.org/show_bug.cgi?id=37125
+ Web Inspector: [REGRESSION] Query parameters are not displayed in the resources headers section.
- The MOBILE flag is no longer used by any of the ports.
- The flag use to control some tokenizer defaults that
- can be changed runtime.
+ https://bugs.webkit.org/show_bug.cgi?id=39848
- No new tests as there is no new functionality.
-
- * config.h:
- * html/HTMLTokenizer.cpp:
-
-2010-04-06 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
+ * inspector/front-end/ResourceView.js:
+ (WebInspector.ResourceView):
+ (WebInspector.ResourceView.prototype._refreshRequestPayload):
- REGRESSION: Worker termination via JS timeout may cause worker tests like fast/workers/worker-terminate.html fail.
- https://bugs.webkit.org/show_bug.cgi?id=36646
+2010-05-27 Nico Weber <thakis@chromium.org>
- Cause the worker code to swallow termination exceptions because these
- need not be reported to the user because they are an implementation
- detail of how we terminate worker execution.
+ Reviewed by Eric Seidel
- Test: fast/workers/worker-terminate-forever.html
+ https://bugs.webkit.org/show_bug.cgi?id=39092
- * bindings/js/JSDOMBinding.cpp:
- (WebCore::reportException):
- - Refuse to report termination exceptions to the user because they
- are an implementation detail.
- * bindings/js/WorkerScriptController.cpp:
- (WebCore::WorkerScriptController::forbidExecution):
- - Instead of using timeouts to stop run away workers, use our fancy
- new Terminator object.
+ Add Yank support to chromium mac. Do this by moving WebKit Mac's
+ implementation of Editor::yankFromKillRing() into its own class and
+ then using that.
-2010-04-06 Kinuko Yasuda <kinuko@chromium.org>
+ * editing/Editor.cpp:
+ Use new KillRing class.
+ * editing/Editor.h:
+ (WebCore::Editor::killRing):
+ Use new KillRing class.
+ * editing/EditorCommand.cpp:
+ (WebCore::executeYankAndSelect):
+ Use new KillRing class.
+ * platform/KillRing.h:
+ Add new KillRing class, which acts as null object.
+ (WebCore::KillRing::~KillRing):
+ * platform/mac/KillRingMac.h:
+ Add new KillRingMac class, which writes to the mac's kill ring.
+ * platform/mac/KillRingMac.mm:
+ Add new KillRingMac class, which writes to the mac's kill ring.
+
+2010-05-27 Ben Murdoch <benm@google.com>
Reviewed by Jian Li.
- Add basic FileSystem operations for FileReader/FileWriter support for POSIX (incl. Mac)
- https://bugs.webkit.org/show_bug.cgi?id=36938
-
- No new tests; will be added when we implement upper layers.
-
- * platform/FileSystem.h:
- (WebCore::):
- * platform/posix/FileSystemPOSIX.cpp:
- (WebCore::openFile):
- (WebCore::closeFile):
- (WebCore::seekFile):
- (WebCore::truncateFile):
- (WebCore::writeToFile):
- (WebCore::readFromFile):
-
-2010-04-06 Nicolas Weber <thakis@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Implement DragImage functionality for chromium/mac.
- https://bugs.webkit.org/show_bug.cgi?id=37069
-
- * page/chromium/DragControllerChromium.cpp:
- (WebCore::DragController::maxDragImageSize):
- Use a max size of 400x400 on OS X.
- * platform/chromium/DragImageChromiumMac.cpp:
- (WebCore::dragImageSize): Implement.
- (WebCore::deleteDragImage): Implement.
- (WebCore::scaleDragImage): Implement.
- (WebCore::dissolveDragImageToFraction): Implement.
- (WebCore::createDragImageFromImage): Implement.
- * platform/chromium/DragImageRef.h:
- Use CGImageRefs as DragImageRef on OS X.
-
-2010-04-06 Chris Evans <cevans@chromium.org>
-
- Reviewed by Adam Barth.
-
- Use the new UserGestureIndictor to process javascript:window.open()
+ Build break in FileStream.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=39841
- https://bugs.webkit.org/show_bug.cgi?id=37138
+ When ENABLE_BLOB_SLICE is not defined, an undefined variable is used
+ in FileStream.cpp:114. Fix by using the correct variable.
- * bindings/v8/ScriptController.cpp
- (WebCore::ScriptController::processingUserGesture):
- Use the new UserGestureIndicator when processing a
- javascript:window.open()
+ Build fix so no new tests.
-2010-04-06 Vangelis Kokkevis <vangelis@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Renaming Graphics Layer related classes used by Chromium from *Skia to *Chromium and replacing wherever possible Skia-specific
- data types with WebCore equivalents. The source files will be renamed accordingly and moved out of platform/graphics/skia
- in a subsequent CL.
- https://bugs.webkit.org/show_bug.cgi?id=37116
-
- No new functionality so no new tests.
-
- * platform/graphics/GraphicsLayer.h:
- * platform/graphics/skia/GraphicsLayerSkia.cpp:
- (WebCore::setLayerBorderColor):
- (WebCore::clearBorderColor):
- (WebCore::setLayerBackgroundColor):
- (WebCore::clearLayerBackgroundColor):
- (WebCore::GraphicsLayer::create):
- (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
- (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
- (WebCore::GraphicsLayerChromium::setName):
- (WebCore::GraphicsLayerChromium::nativeLayer):
- (WebCore::GraphicsLayerChromium::setChildren):
- (WebCore::GraphicsLayerChromium::addChild):
- (WebCore::GraphicsLayerChromium::addChildAtIndex):
- (WebCore::GraphicsLayerChromium::addChildBelow):
- (WebCore::GraphicsLayerChromium::addChildAbove):
- (WebCore::GraphicsLayerChromium::replaceChild):
- (WebCore::GraphicsLayerChromium::removeFromParent):
- (WebCore::GraphicsLayerChromium::setPosition):
- (WebCore::GraphicsLayerChromium::setAnchorPoint):
- (WebCore::GraphicsLayerChromium::setSize):
- (WebCore::GraphicsLayerChromium::setTransform):
- (WebCore::GraphicsLayerChromium::setChildrenTransform):
- (WebCore::GraphicsLayerChromium::setPreserves3D):
- (WebCore::GraphicsLayerChromium::setMasksToBounds):
- (WebCore::GraphicsLayerChromium::setDrawsContent):
- (WebCore::GraphicsLayerChromium::setBackgroundColor):
- (WebCore::GraphicsLayerChromium::clearBackgroundColor):
- (WebCore::GraphicsLayerChromium::setContentsOpaque):
- (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
- (WebCore::GraphicsLayerChromium::setOpacity):
- (WebCore::GraphicsLayerChromium::setNeedsDisplay):
- (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
- (WebCore::GraphicsLayerChromium::setContentsRect):
- (WebCore::GraphicsLayerChromium::setContentsToImage):
- (WebCore::GraphicsLayerChromium::setContentsToVideo):
- (WebCore::GraphicsLayerChromium::setGeometryOrientation):
- (WebCore::GraphicsLayerChromium::hostLayerForSublayers):
- (WebCore::GraphicsLayerChromium::layerForSuperlayer):
- (WebCore::GraphicsLayerChromium::platformLayer):
- (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
- (WebCore::GraphicsLayerChromium::setDebugBorder):
- (WebCore::GraphicsLayerChromium::updateSublayerList):
- (WebCore::GraphicsLayerChromium::updateLayerPosition):
- (WebCore::GraphicsLayerChromium::updateLayerSize):
- (WebCore::GraphicsLayerChromium::updateAnchorPoint):
- (WebCore::GraphicsLayerChromium::updateTransform):
- (WebCore::GraphicsLayerChromium::updateChildrenTransform):
- (WebCore::GraphicsLayerChromium::updateMasksToBounds):
- (WebCore::GraphicsLayerChromium::updateContentsOpaque):
- (WebCore::GraphicsLayerChromium::updateBackfaceVisibility):
- (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
- (WebCore::GraphicsLayerChromium::updateLayerDrawsContent):
- (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
- (WebCore::GraphicsLayerChromium::updateContentsImage):
- (WebCore::GraphicsLayerChromium::updateContentsVideo):
- (WebCore::GraphicsLayerChromium::updateContentsRect):
- (WebCore::GraphicsLayerChromium::updateGeometryOrientation):
- (WebCore::GraphicsLayerChromium::setupContentsLayer):
- (WebCore::GraphicsLayerChromium::updateOpacityOnLayer):
- * platform/graphics/skia/GraphicsLayerSkia.h:
- (WebCore::GraphicsLayerChromium::primaryLayer):
- (WebCore::GraphicsLayerChromium::contentsLayer):
- * platform/graphics/skia/LayerRendererSkia.cpp:
- (WebCore::LayerRendererChromium::create):
- (WebCore::LayerRendererChromium::LayerRendererChromium):
- (WebCore::LayerRendererChromium::~LayerRendererChromium):
- (WebCore::LayerRendererChromium::updateLayerContents):
- (WebCore::LayerRendererChromium::drawLayersInCanvas):
- (WebCore::LayerRendererChromium::drawLayerInCanvasRecursive):
- (WebCore::LayerRendererChromium::updateLayerContentsRecursive):
- * platform/graphics/skia/LayerRendererSkia.h:
- (WebCore::LayerRendererChromium::setRootLayer):
- (WebCore::LayerRendererChromium::rootLayer):
- * platform/graphics/skia/LayerSkia.cpp:
- (WebCore::LayerChromium::create):
- (WebCore::LayerChromium::LayerChromium):
- (WebCore::LayerChromium::~LayerChromium):
- (WebCore::LayerChromium::updateGraphicsContext):
- (WebCore::LayerChromium::updateContents):
- (WebCore::LayerChromium::drawDebugBorder):
- (WebCore::LayerChromium::setNeedsCommit):
- (WebCore::LayerChromium::addSublayer):
- (WebCore::LayerChromium::insertSublayer):
- (WebCore::LayerChromium::removeFromSuperlayer):
- (WebCore::LayerChromium::removeSublayer):
- (WebCore::LayerChromium::indexOfSublayer):
- (WebCore::LayerChromium::setBackingStoreRect):
- (WebCore::LayerChromium::setBounds):
- (WebCore::LayerChromium::setFrame):
- (WebCore::LayerChromium::rootLayer):
- (WebCore::LayerChromium::removeAllSublayers):
- (WebCore::LayerChromium::setSublayers):
- (WebCore::LayerChromium::setSuperlayer):
- (WebCore::LayerChromium::superlayer):
- (WebCore::LayerChromium::setNeedsDisplay):
- * platform/graphics/skia/LayerSkia.h:
- (WebCore::LayerChromium::setAnchorPoint):
- (WebCore::LayerChromium::anchorPoint):
- (WebCore::LayerChromium::borderWidth):
- (WebCore::LayerChromium::bounds):
- (WebCore::LayerChromium::frame):
- (WebCore::LayerChromium::setPosition):
- (WebCore::LayerChromium::position):
- (WebCore::LayerChromium::zPosition):
- (WebCore::LayerChromium::getSublayers):
- (WebCore::LayerChromium::setSublayerTransform):
- (WebCore::LayerChromium::sublayerTransform):
- (WebCore::LayerChromium::setTransform):
- (WebCore::LayerChromium::transform):
-
-2010-04-06 Jarkko Sakkinen <jarkko.j.sakkinen@gmail.com>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] WebKit does not build on Windows with --3d-canvas
- https://bugs.webkit.org/show_bug.cgi?id=37026
-
- * platform/graphics/GraphicsContext3D.h:
- * platform/graphics/qt/GraphicsContext3DQt.cpp:
- (WebCore::GraphicsContext3D::getActiveAttrib):
- (WebCore::GraphicsContext3D::getActiveUniform):
-
-2010-04-06 Abhinav Mithal <abhinav.mithal@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] npapi header leaves XP_WIN flag defined even when __SYMBIAN32__ flag is found
- https://bugs.webkit.org/show_bug.cgi?id=34614
-
- Do not define XP_WIN if WebKit is compiled for Symbian.
-
- No new tests as there is no new functionality.
-
- * bridge/npapi.h:
-
-2010-04-06 Chris Fleizach <cfleizach@apple.com>
+ * html/FileStream.cpp:
+ (WebCore::FileStream::openForRead): Replace undefined variable with a defined one.
- Reviewed by Beth Dakin.
+2010-05-27 Hans Wennborg <hans@chromium.org>
- aria-label doesn't work on image map area
- https://bugs.webkit.org/show_bug.cgi?id=36977
+ Reviewed by Jeremy Orlow.
- Test: platform/mac/accessibility/area-with-aria-label.html
+ [Chromium] Default popup window size should not depend on zoom level
+ https://bugs.webkit.org/show_bug.cgi?id=39835
- * accessibility/AccessibilityImageMapLink.cpp:
- (WebCore::AccessibilityImageMapLink::accessibilityDescription):
+ V8DOMWindow::openCallback should not set width and height of new
+ window unless specified in the function's arguments.
-2010-04-06 James Robinson <jamesr@chromium.org>
+ There is already code to reset the new window's origin coordinates,
+ but the same thing should be done to its dimensions as well. Otherwise,
+ a new popup with unspecified size will have its size depending on the
+ parent's zoom level, which is not desirable.
- Reviewed by Simon Fraser.
+ This is the same as what is done in
+ bindings/js/JSDOMWindowCustom.cpp:826.
- Reverts the incorrect fixed position fastpath scrolling logic
- https://bugs.webkit.org/show_bug.cgi?id=33150
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::V8DOMWindow::openCallback):
- This code does not properly handle overflow or transforms on fixed
- position elements, causing repaint bugs on scroll.
+2010-05-27 Anders Bakken <agbakken@gmail.com>
- No new tests.
+ Reviewed by David Levin.
- * page/FrameView.cpp:
- (WebCore::FrameView::addFixedObject):
- (WebCore::FrameView::removeFixedObject):
- * page/FrameView.h:
- * platform/ScrollView.cpp:
- (WebCore::ScrollView::scrollContents):
- * platform/ScrollView.h:
- * rendering/RenderObject.cpp:
- (WebCore::RenderObject::styleWillChange):
+ qt_instance.cpp has coding-style errors
+ https://bugs.webkit.org/show_bug.cgi?id=39744
-2010-04-06 Kevin Ollivier <kevino@theolliviers.com>
+ Fix webkit coding style issues in qt_instance.cpp
- [wx] Build fix for wxMac / Cocoa on wx trunk.
-
- * platform/wx/wxcode/mac/carbon/fontprops.mm:
- (wxFontContainsCharacters):
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtInstance::getQtInstance):
+ (JSC::Bindings::QtInstance::removeCachedMethod):
+ (JSC::Bindings::QtInstance::markAggregate):
+ (JSC::Bindings::QtInstance::getPropertyNames):
+ (JSC::Bindings::QtInstance::stringValue):
+ (JSC::Bindings::QtField::name):
+ (JSC::Bindings::QtField::valueFromInstance):
-2010-04-06 Simon Hausmann <simon.hausmann@nokia.com>
+2010-05-27 Anders Bakken <agbakken@gmail.com>
- Reviewed by Darin Adler.
+ Reviewed by David Levin.
- JS code generator does not support feature conditional attributes that are writable
- https://bugs.webkit.org/show_bug.cgi?id=37149
+ qt_instance.h has coding-style errors
+ https://bugs.webkit.org/show_bug.cgi?id=39743
- Write out the feature #ifdef not only for the getter, but also for the setter
- function.
+ Fix webkit coding style issues in qt_instance.h
- * bindings/scripts/CodeGeneratorJS.pm:
+ * bridge/qt/qt_instance.h:
-2010-04-06 Evan Stade <estade@chromium.org>
+2010-05-27 Anders Bakken <agbakken@gmail.com>
- Reviewed by Dimitri Glazkov.
+ Reviewed by David Levin.
- [chromium] need DragImage implementation
- https://bugs.webkit.org/show_bug.cgi?id=35811
+ qt_class.h has coding-style errors
+ https://bugs.webkit.org/show_bug.cgi?id=39742
- Use the DragImageRef that the DragController passes to us.
+ Fix webkit coding style issues in qt_class.h
- This was previously committed but rolled back for breaking layout
- tests. The fix is on the WebKit/chromium side.
+ * bridge/qt/qt_class.h:
- * WebCore.gyp/WebCore.gyp:
- * WebCore.gypi:
- * platform/chromium/DragImageChromium.cpp: Removed.
- * platform/chromium/DragImageChromiumMac.cpp: Added.
- (WebCore::dragImageSize):
- (WebCore::deleteDragImage):
- (WebCore::scaleDragImage):
- (WebCore::dissolveDragImageToFraction):
- (WebCore::createDragImageFromImage):
- (WebCore::createDragImageIconForCachedImage):
- * platform/chromium/DragImageChromiumSkia.cpp: Added.
- (WebCore::dragImageSize):
- (WebCore::deleteDragImage):
- (WebCore::scaleDragImage):
- (WebCore::dissolveDragImageToFraction):
- (WebCore::createDragImageFromImage):
- (WebCore::createDragImageIconForCachedImage):
- * platform/chromium/DragImageRef.h:
-
-2010-04-01 Yuzo Fujishima <yuzo@google.com>
+2010-05-27 Eric Carlson <eric.carlson@apple.com>
Reviewed by Darin Adler.
- Fix bug: CSS3 :not selector with ID simple selector sequence test fails
- As per http://www.w3.org/TR/css3-selectors/#negation, :not(X) takes a simple selector as an argument.
- WebKit was accepting a simple selector *sequence*.
- This patch adds WebCore::CSSSelector::isSimple which judges if the selector is simple.
- The method is used in CSSGrammar.y to decide whether to accept the selector as the argument of :not().
- https://bugs.webkit.org/show_bug.cgi?id=36276
+ <rdar://problem/8016158> Crash in CVPixelBufferCreateResolvedAttributesDictionary with RLE
+ compressed movie.
- Test: fast/css/invalid-not-with-simple-selector-sequence.html
+ Configure the visual context to generate Direct3D compatible pixel buffers when we are able to
+ use a CAImageQueue so there will be less conversion required before display. This change also
+ works around the issue that causes the RLE compressed movie to crash.
- * css/CSSGrammar.y:
- * css/CSSSelector.cpp:
- (WebCore::CSSSelector::isSimple):
- * css/CSSSelector.h:
-
-2010-04-06 Andy Estes <aestes@apple.com>
-
- Rubber-stamped by Dan Bernstein.
-
- Remove non-ASCII characters from license headers to fix build errors on
- Japanese Windows.
-
- https://bugs.webkit.org/show_bug.cgi?id=37008
-
- * dom/UserGestureIndicator.cpp:
- * dom/UserGestureIndicator.h:
-
-2010-04-06 Andrei Popescu <andreip@google.com>
-
- Reviewed by Dimitri Glazkov.
-
- [V8][Android] PageCache crashes when JavaScript is disabled
- https://bugs.webkit.org/show_bug.cgi?id=37150
-
- This patch ensures that saving and restoration of the script
- state only happens when JS is enabled and each frame has a
- non-null context.
-
- No new tests: existing tests show the feature is working
- when JS is enabled. When JS is disabled, manual testing
- is required.
-
- * bindings/v8/ScriptCachedFrameData.cpp:
- (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
- (WebCore::ScriptCachedFrameData::restore):
-
-2010-04-06 Ilya Tikhonovsky <loislo@chromium.org>
-
- Unreviewed build fix.
-
- Web Inspector: missed files were added.
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
+ (WebCore::MediaPlayerPrivateQuickTimeVisualContext::load): Pass enum to QTMovieVisualContext
+ constructor instead of CFDictionary.
+ * platform/graphics/win/QTMovieVisualContext.cpp:
+ (SetNumberValue):
+ (getPixelBufferCreationOptions): New, create options dictionary appropriate for the visual
+ context type.
+ (pixelBufferCreationOptions): New, return options dictionary appropriate for the visual
+ context type.
+ (QTMovieVisualContextPriv::QTMovieVisualContextPriv): Get the options dictionary from
+ getPixelBufferCreationOptions insteaad of taking it as a parameter.
+ (QTMovieVisualContext::QTMovieVisualContext): Take enum instead of CFDictionary for
+ visual context configuration type.
+ * platform/graphics/win/QTMovieVisualContext.h:
+
+2010-05-27 Anders Carlsson <andersca@apple.com>
+ Reviewed by Adam Roben.
- * GNUmakefile.am:
- * bindings/js/ScriptGCEvent.h: Added.
- (WebCore::ScriptGCEvent::addEventListener):
- (WebCore::ScriptGCEvent::removeEventListener):
- (WebCore::ScriptGCEvent::getHeapSize):
- * bindings/v8/ScriptGCEvent.cpp: Added.
- (WebCore::ScriptGCEvent::addEventListener):
- (WebCore::ScriptGCEvent::removeEventListener):
- (WebCore::ScriptGCEvent::getHeapSize):
- (WebCore::ScriptGCEvent::getUsedHeapSize):
- (WebCore::ScriptGCEvent::gcPrologueCallback):
- (WebCore::ScriptGCEvent::gcEpilogueCallback):
- * bindings/v8/ScriptGCEvent.h: Added.
- * inspector/ScriptGCEventListener.h: Added.
- (WebCore::ScriptGCEventListener::~ScriptGCEventListener):
-
-2010-04-06 Ilya Tikhonovsky <loislo@chromium.org>
+ [Qt] REGRESSION(r60258): It broke 10 tests.
+ https://bugs.webkit.org/show_bug.cgi?id=39819
- Reviewed by Pavel Feldman.
+ * plugins/qt/PluginDataQt.cpp:
+ (WebCore::PluginData::initPlugins):
+ Append the MimeClassInfo object after it's been initialized.
- Web Inspector: The JS code can be not optimal from memory usage point of view.
- As example it can generate a lot of temp objects and GC will spend significant time to collect these objects.
- GC event will show us these moments. Also each event can show us how much memory is in use.
- https://bugs.webkit.org/show_bug.cgi?id=37025
+2010-05-27 Kevin Ollivier <kevino@theolliviers.com>
- * WebCore.gypi:
- * WebCore.pro:
- * inspector/InspectorTimelineAgent.cpp:
- (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
- (WebCore::InspectorTimelineAgent::pushGCEventRecords):
- (WebCore::InspectorTimelineAgent::didGC):
- (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
- (WebCore::InspectorTimelineAgent::didInstallTimer):
- (WebCore::InspectorTimelineAgent::didRemoveTimer):
- (WebCore::InspectorTimelineAgent::willSendResourceRequest):
- (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
- (WebCore::InspectorTimelineAgent::didMarkTimeline):
- (WebCore::InspectorTimelineAgent::addRecordToTimeline):
- (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
- (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
- (WebCore::InspectorTimelineAgent::pushCurrentRecord):
- * inspector/InspectorTimelineAgent.h:
- (WebCore::):
- (WebCore::InspectorTimelineAgent::instanceCount):
- (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
- (WebCore::InspectorTimelineAgent::GCEvent::GCEvent):
- * inspector/TimelineRecordFactory.cpp:
- (WebCore::TimelineRecordFactory::createGCEventData):
- * inspector/TimelineRecordFactory.h:
- * inspector/front-end/Popover.js:
- (WebInspector.PopoverHelper.prototype._mouseHover):
- * inspector/front-end/TimelineAgent.js:
- * inspector/front-end/TimelinePanel.js:
- (WebInspector.TimelinePanel.prototype.get _recordStyles):
- (WebInspector.TimelinePanel.FormattedRecord):
- (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
- (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
+ [wx] Build fixes for Windows after recent changes.
-2010-04-05 Antonio Gomes <tonikitoo@webkit.org>
+ * platform/graphics/wx/FontWx.cpp:
+ * wscript:
- Reviewed by Laszlo Gombos.
+2010-05-27 Chris Fleizach <cfleizach@apple.com>
- Remove unused DIRECTIONAL_PAD_NAVIGATION
- https://bugs.webkit.org/show_bug.cgi?id=37134
+ No review, build fixage.
- Android browser was planning to have a "directional pad navigation" available on
- trunk, guarded by a build flag named DIRECTIONAL_PAD_NAVIGATION, but according to
- https://bugs.webkit.org/show_bug.cgi?id=23145#c3 , the plan was dropped.
+ Bug 39324 - AX: WebKit doesn't call [super -accessibilityAttributeValue:attribute forParameter:] when it encounters a parameterized attribute that it doesn't handle.
+ https://bugs.webkit.org/show_bug.cgi?id=39324
- However bug 23163 landed some code relying on the build flag supposedly to be added,
- and is now dead code in trunk.
+ Rolling out change from r60307 until a better fix is ready.
- * dom/Element.cpp:
- (WebCore::Element::updateFocusAppearance):
+ * accessibility/mac/AccessibilityObjectWrapper.mm:
+ (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
-2010-04-06 Mattias Nissler <mnissler@chromium.org>
+2010-05-27 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
- Rework inspector docking to issue a request call from the frontend
- whenever the user triggers to (un)dock the inspector window. Doing so
- enables InspectorFrontendHost implementations to asynchronously decide
- whether the window is docked or not. The old canAttachWindow() is not
- required anymore, remove it.
- https://bugs.webkit.org/show_bug.cgi?id=36944
-
- * inspector/InspectorFrontendClient.h:
- * inspector/InspectorFrontendClientLocal.cpp:
- (WebCore::InspectorFrontendClientLocal::requestAttachWindow):
- * inspector/InspectorFrontendClientLocal.h:
- * inspector/InspectorFrontendHost.cpp:
- (WebCore::InspectorFrontendHost::requestAttachWindow):
- * inspector/InspectorFrontendHost.h:
- * inspector/InspectorFrontendHost.idl:
- * inspector/front-end/inspector.js:
- (WebInspector.toggleAttach):
-
-2010-04-06 Vitaly Repeshko <vitalyr@chromium.org>
+ [v8] Web Inspector: check that ScriptDebugListener was not removed
+ while messages were dispatched in the nested loop.
+ https://bugs.webkit.org/show_bug.cgi?id=39838
- Reviewed by Yury Semikhatsky.
-
- [V8] Extend the set of types supported by SerializedScriptValue
- https://bugs.webkit.org/show_bug.cgi?id=37052
-
- New types include sparse arrays, Uint32, Date, and ImageData.
-
- Serialization process became more flexible. A state can either
- directly write primitive values (instead of returning them like
- iterator) or construct a new state for serializing complex values
- that will return to the current state when done.
-
- Deserialization process now avoids exposing the tags using a set
- of factory functions for complex objects instead.
-
- Internal buffer type changed to uint8_t to be independent of
- whether char is signed or not.
-
- * bindings/v8/SerializedScriptValue.cpp:
- (WebCore::):
- (WebCore::Writer::Writer):
- (WebCore::Writer::writeString):
- (WebCore::Writer::writeUint32):
- (WebCore::Writer::writeDate):
- (WebCore::Writer::writeNumber):
- (WebCore::Writer::writeImageData):
- (WebCore::Writer::writeArray):
- (WebCore::Writer::writeObject):
- (WebCore::Writer::writeSparseArray):
- (WebCore::Writer::doWriteUint32):
- (WebCore::Writer::doWriteNumber):
- (WebCore::Writer::append):
- (WebCore::Writer::fillHole):
- (WebCore::Writer::byteAt):
- (WebCore::Serializer::Serializer):
- (WebCore::Serializer::serialize):
- (WebCore::Serializer::writeArray):
- (WebCore::Serializer::writeObject):
- (WebCore::Serializer::writeSparseArray):
- (WebCore::Serializer::StateBase::StateBase):
- (WebCore::Serializer::ErrorState::ErrorState):
- (WebCore::Serializer::ErrorState::advance):
- (WebCore::Serializer::State::composite):
- (WebCore::Serializer::State::State):
- (WebCore::Serializer::ArrayState::ArrayState):
- (WebCore::Serializer::ArrayState::advance):
- (WebCore::Serializer::AbstractObjectState::AbstractObjectState):
- (WebCore::Serializer::AbstractObjectState::advance):
- (WebCore::Serializer::ObjectState::ObjectState):
- (WebCore::Serializer::ObjectState::objectDone):
- (WebCore::Serializer::SparseArrayState::SparseArrayState):
- (WebCore::Serializer::SparseArrayState::objectDone):
- (WebCore::Serializer::push):
- (WebCore::Serializer::pop):
- (WebCore::Serializer::handleError):
- (WebCore::Serializer::checkComposite):
- (WebCore::Serializer::writeString):
- (WebCore::Serializer::writeImageData):
- (WebCore::Serializer::newArrayState):
- (WebCore::Serializer::newObjectState):
- (WebCore::Serializer::doSerialize):
- (WebCore::Reader::Reader):
- (WebCore::Reader::read):
- (WebCore::Reader::readString):
- (WebCore::Reader::readUint32):
- (WebCore::Reader::readDate):
- (WebCore::Reader::readNumber):
- (WebCore::Reader::readImageData):
- (WebCore::Reader::doReadUint32):
- (WebCore::Reader::doReadNumber):
- (WebCore::Deserializer::Deserializer):
- (WebCore::Deserializer::createArray):
- (WebCore::Deserializer::createObject):
- (WebCore::Deserializer::createSparseArray):
- (WebCore::Deserializer::initializeObject):
- (WebCore::Deserializer::doDeserialize):
- (WebCore::Deserializer::stackDepth):
- (WebCore::SerializedScriptValue::deserialize):
-
-2010-04-06 Csaba Osztrogonác <ossy@webkit.org>
-
- Unreviewed buildfix for --minimal build.
- Buildfix after r57134. Add ENABLE(WORKERS) guard.
-
- original bug: https://bugs.webkit.org/show_bug.cgi?id=36375
-
- * bindings/js/JSWorkerContextErrorHandler.cpp:
-
-2010-04-06 Dirk Schulze <krit@webkit.org>
-
- Reviewed by Oliver Hunt.
-
- SVG/SMIL parse failure on attribute keySplines
- https://bugs.webkit.org/show_bug.cgi?id=37071
-
- Test: svg/animations/animate-keySplines.html
-
- The String in 'keySplines' can have multiple spaces between numbers
- and delimiters. The parsing code is inspired by SVGParserUtilities
- and respects this.
-
- * svg/SVGAnimationElement.cpp:
- (WebCore::parseKeySplines):
+ * bindings/v8/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::handleV8DebugEvent):
-2010-04-06 Yury Semikhatsky <yurys@chromium.org>
+2010-05-27 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
- Refactored error reporting mechanizm on Worker Global Objects.
- Unlike other event listeners which accept single argument(Event)
- onerror handler on worker global object should be a function
- accepting three arguments. This error reporting was implementedas
- EventListener::reportError method which had custom implementations
- for v8 and JSC. This patch removes EventListener::reportError and
- moves its functionality into custom bindings(V8WorkerContextErrorHandler
- and JSWorkerContextErrorHandler) that implement EventListener inerface
- for the onerror handler.
-
- This patch also makes uncaught exceptions that happen in the onerror
- listener be reported to the Worker's onerror handler.
-
- https://bugs.webkit.org/show_bug.cgi?id=36375
-
- * Android.jscbindings.mk:
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/js/JSBindingsAllInOne.cpp:
- * bindings/js/JSEventListener.cpp:
- * bindings/js/JSEventListener.h:
- * bindings/js/JSWorkerContextErrorHandler.cpp: Added.
- (WebCore::JSWorkerContextErrorHandler::JSWorkerContextErrorHandler):
- (WebCore::JSWorkerContextErrorHandler::~JSWorkerContextErrorHandler):
- (WebCore::JSWorkerContextErrorHandler::handleEvent):
- * bindings/js/JSWorkerContextErrorHandler.h: Added.
- (WebCore::JSWorkerContextErrorHandler::create):
- (WebCore::createJSWorkerContextErrorHandler):
- * bindings/scripts/CodeGeneratorJS.pm:
- * bindings/scripts/CodeGeneratorV8.pm:
- * bindings/v8/V8WorkerContextErrorHandler.cpp: Added.
- (WebCore::V8WorkerContextErrorHandler::V8WorkerContextErrorHandler):
- (WebCore::V8WorkerContextErrorHandler::callListenerFunction):
- * bindings/v8/V8WorkerContextErrorHandler.h: Added.
- (WebCore::V8WorkerContextErrorHandler::create):
- * bindings/v8/V8WorkerContextEventListener.cpp:
- * bindings/v8/V8WorkerContextEventListener.h:
- * dom/EventListener.h:
- * workers/WorkerContext.cpp:
- (WebCore::WorkerContext::WorkerContext):
- (WebCore::WorkerContext::reportException):
- * workers/WorkerContext.h:
-
-2010-04-06 Pavel Feldman <pfeldman@chromium.org>
-
- Not reviewed: reverting v8 change at r57079 for crashing Chromium layout tests.
-
-2010-04-05 MORITA Hajime <morrita@google.com>
-
- Reviewed by Darin Adler.
-
- RenderProgress.cpp is missing CurrentTime.h
- https://bugs.webkit.org/show_bug.cgi?id=37080
-
- No new tests. just fixed compilation error.
-
- * rendering/RenderProgress.cpp:
-
-
-2010-04-05 Eric Uhrhane <ericu@chromium.org>
-
- Reviewed by Brady Eidson.
-
- window.openDatabase() always fails for new databases when using WebKit nightly with Safari 4.0.5
- https://bugs.webkit.org/show_bug.cgi?id=36671
-
- The previous "fix" I mistakenly compared hashes, an improvement over comparing pointers, but still not right.
-
- No new tests.
-
- * storage/DatabaseTracker.cpp:
- (WebCore::DatabaseTracker::fullPathForDatabaseNoLock): Use SecurityOrigin::equal to compare instead of SecurityOriginHash.
-
-2010-04-05 Anthony Ricaud <rik@webkit.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Audits launcher view is unusable with a small height window
- https://bugs.webkit.org/show_bug.cgi?id=37109
-
- Use flex box instead of absolute positioning to avoid overlapping elements.
-
- * inspector/front-end/AuditLauncherView.js:
- (WebInspector.AuditLauncherView.prototype._createLauncherUI):
- * inspector/front-end/audits.css:
- (.audit-launcher-view .audit-launcher-view-content):
- (.audit-launcher-view div.button-container):
- (.audit-launcher-view .flexible-space):
-
-2010-04-05 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Maemo5 theme - wrong spelling
- https://bugs.webkit.org/show_bug.cgi?id=37110
-
- Correcting wrong spelling in RenderThemeQt.cpp.
-
- * platform/qt/RenderThemeQt.cpp:
-
-2010-04-05 Leandro Pereira <leandro@profusion.mobi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Add EFL-specific code to platform/Platform*Event.h.
- http://webkit.org/b/36309
-
- * platform/PlatformWheelEvent.h:
- * platform/PlatformMouseEvent.h:
- * platform/PlatformKeyboardEvent.h:
-
-2010-04-05 Leandro Pereira <leandro@profusion.mobi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Add EFL-specific code to platform/graphics/*.h.
- http://webkit.org/b/36308
-
- * platform/graphics/Icon.h:
- * platform/graphics/IntRect.h:
- * platform/graphics/FloatRect.h:
- * platform/graphics/IntPoint.h:
+ [v8] Web Inspector: undefined script URL value should be converted to an emtpy
+ WebCore::String instead of "undefined" string. Otherwise it's shown
+ in the Scripts panel with "undefined:<line no>" URL.
+ https://bugs.webkit.org/show_bug.cgi?id=39845
-2010-04-05 Robert Hogan <robert@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Fix infinite redirection loop in QNetworkReplyHandler
-
- Put a maximum on consecutive redirections so we don't have to
- worry about whether it's the same url or not.
-
- Tolerate up to 10 consecutive redirections, anything beyond
- that is considered a potentially infinite recursion in the
- redirection requests. This is the same behaviour as Firefox.
-
- https://bugs.webkit.org/show_bug.cgi?id=37097
-
- * platform/network/qt/QNetworkReplyHandler.cpp:
- (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
- (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
- * platform/network/qt/QNetworkReplyHandler.h:
-
-2010-04-05 Dimitri Glazkov <dglazkov@chromium.org> and James Robinson <jamesr@chromium.org>
-
- Reviewed by Darin Adler and Dimitri Glazkov.
-
- Style update done due to mutation event dispatching in textarea can be
- used to corrupt the render tree.
- https://bugs.webkit.org/show_bug.cgi?id=36864
-
- Tests: fast/forms/select-change-listbox-to-popup-roundtrip.html
- fast/forms/select-change-popup-to-listbox-roundtrip.html
- fast/forms/textarea-and-mutation-events.html
-
- * dom/Document.cpp:
- (WebCore::Document::finishedParsing): Added updateStyleIfNeeded()
- call to ensure that object loads start before firing window load.
- * dom/Node.cpp:
- (WebCore::Node::dispatchGenericEvent): Removed invocation of
- Document::updateStyleForAllDocuments
- * html/HTMLSelectElement.cpp:
- (WebCore::HTMLSelectElement::parseMappedAttribute): Added explicit
- recalc to ensure accuracy of representation, especially for
- menuList/listBox switches.
-
-2010-04-05 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Laszlo Gombos.
-
- Cleaned up spatial-navigation-test-cases.html by removing the wrongly
- used <frameset> tag.
-
- Patch also adds a manual-test specifically to test Spatial Navigation with framesets.
-
- * manual-tests/spatial-navigation/frameset.html: Added.
- * manual-tests/spatial-navigation/spatial-navigation-test-cases.html:
-
-2010-04-05 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Adele Peterson.
-
- Roll out r56989 as it introduced crashes in Mail.
- <http://webkit.org/b/37115> / <rdar://problem/7829331>
-
- * dom/Position.cpp:
- (WebCore::Position::isCandidate):
- * dom/PositionIterator.cpp:
- (WebCore::PositionIterator::isCandidate):
-
-2010-04-05 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- Images must re-load when an image-holding element moves into a new document
- https://bugs.webkit.org/show_bug.cgi?id=37127
-
- Test: fast/images/move-image-to-new-document.html
-
- * html/HTMLImageElement.cpp:
- (WebCore::HTMLImageElement::willMoveToNewOwnerDocument): Call ImageLoader's
- elementWillMoveToNewOwnerDocument function.
- * html/HTMLImageElement.h: Added willMoveToNewOwnerDocument.
- * html/HTMLInputElement.cpp:
- (WebCore::HTMLInputElement::willMoveToNewOwnerDocument): Ditto.
- * html/HTMLPlugInImageElement.cpp:
- (WebCore::HTMLPlugInImageElement::willMoveToNewOwnerDocument): Ditto.
- * html/HTMLPlugInImageElement.h: Ditto.
- * html/HTMLVideoElement.cpp:
- (WebCore::HTMLVideoElement::willMoveToNewOwnerDocument): Ditto.
- * html/HTMLVideoElement.h: Ditto.
- * svg/SVGImageElement.cpp:
- (WebCore::SVGImageElement::willMoveToNewOwnerDocument): Ditto.
- * svg/SVGImageElement.h: Ditto.
-
- * html/HTMLMediaElement.h: Made willMoveToNewOwnerDocument protected
- so it can be called by HTMLVideoElement.cpp.
-
- * loader/ImageLoader.cpp:
- (WebCore::ImageLoader::elementWillMoveToNewOwnerDocument): Added.
- Resets the loader by clearing out the cached image.
- * loader/ImageLoader.h: Added it.
-
-2010-04-05 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Symbian] Consolidate Symbian WINSCW environment configuration
- https://bugs.webkit.org/show_bug.cgi?id=37100
-
- Move the "undefinition" of WIN32 and _WIN32 from WebCore/config.h
- to JavaScriptCore/wtf/Platform.h as it is not specific to WebCore.
-
- No new tests as there is no new functionality.
-
- * config.h:
-
-2010-04-05 Leandro Pereira <leandro@profusion.mobi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Add missing ClipboardEfl.h to platform/efl.
- http://webkit.org/b/36242
-
- * platform/efl/ClipboardEfl.h: Added.
-
-2010-04-05 Yuta Kitamura <yutak@chromium.org>
-
- Reviewed by Darin Adler.
-
- Escape control characters in CSS string value when it is serialilzed.
-
- When WebKit serializes a CSS string value that contains binary characters
- ('\0\1\2' for example), it did not escape these characters. As a result,
- users got (invisible) control characters through scripts. This change fixes
- this issue.
-
- As a side effect, two separate codes for escaping CSS strings are merged, and
- become a public function (quoteCSSString).
-
- CSS string value is not correctly serialized when it contains binary characters
- https://bugs.webkit.org/show_bug.cgi?id=28938
-
- Test: fast/css/string-quote-binary.html
-
- * css/CSSParser.cpp:
- (WebCore::isCSSTokenizerIdentifier):
- (WebCore::isCSSTokenizerURL):
- (WebCore::quoteCSSString):
- (WebCore::quoteCSSStringIfNeeded):
- (WebCore::quoteCSSURLIfNeeded):
- * css/CSSParser.h:
- * css/CSSPrimitiveValue.cpp:
- (WebCore::CSSPrimitiveValue::cssText):
- * css/FontFamilyValue.cpp:
- (WebCore::FontFamilyValue::cssText):
-
-2010-04-05 John Gregg <johnnyg@google.com>
-
- Reviewed by Darin Adler.
-
- Notifications should not resolve an empty icon parameter as a relative URL
- https://bugs.webkit.org/show_bug.cgi?id=36862
-
- * notifications/Notification.cpp:
- (WebCore::Notification::Notification):
-
-2010-04-05 Darin Adler <darin@apple.com>
-
- Reviewed by Mark Rowe.
-
- Removed some unneeded type casts.
-
- * css/CSSPrimitiveValue.cpp:
- (WebCore::CSSPrimitiveValue::cssText): Removed an unneeded cast.
- * page/Location.cpp:
- (WebCore::Location::host): Removed unneeded parentheses and cast.
- (WebCore::Location::port): Ditto.
- * platform/KURLGoogle.cpp:
- (WebCore::KURL::setPort): Ditto.
- * workers/WorkerLocation.cpp:
- (WebCore::WorkerLocation::host): Ditto.
- (WebCore::WorkerLocation::port): Ditto.
-
-2010-04-05 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r57081.
- http://trac.webkit.org/changeset/57081
- https://bugs.webkit.org/show_bug.cgi?id=37121
-
- We think it triggered two tests to fail on Tiger because of
- race conditions (Requested by abarth on #webkit).
-
- * dom/Node.cpp:
- (WebCore::Node::dispatchGenericEvent):
- * html/HTMLSelectElement.cpp:
- (WebCore::HTMLSelectElement::parseMappedAttribute):
-
-2010-04-05 Brady Eidson <beidson@apple.com>
-
- Reviewed by Oliver Hunt.
-
- ASSERT close()ing the same StorageAreaImpl twice when using multiple PageGroups
- <rdar://problem/7828420> and https://bugs.webkit.org/show_bug.cgi?id=37120
-
- No new tests. (No behavior change)
-
- * storage/StorageNamespaceImpl.cpp:
- (WebCore::StorageNamespaceImpl::close): Change this invalid ASSERT to an early return.
-
-2010-04-05 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r57030.
- http://trac.webkit.org/changeset/57030
- https://bugs.webkit.org/show_bug.cgi?id=37114
-
- Regressed fast/repaint/line-flow-with-floats-9 pixel tests in
- chromium port (Requested by jamesr on #webkit).
-
- * rendering/RenderBlock.h:
- * rendering/RenderBlockLineLayout.cpp:
- (WebCore::RenderBlock::layoutInlineChildren):
-
-2010-04-05 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=37111
- <rdar://problem/7790327> Draw replacement text when plug-in host crashes
-
- * page/mac/WebCoreViewFactory.h:
- * platform/LocalizedStrings.h:
- * platform/mac/LocalizedStringsMac.mm:
- * platform/gtk/LocalizedStringsGtk.cpp:
- * platform/qt/Localizations.cpp:
- * platform/wx/LocalizedStringsWx.cpp:
- Added a localizable string for plug-in failure (only used on Mac at the moment).
-
- * WebCore.xcodeproj/project.pbxproj: Made RenderEmbeddedObject.h (and dependencies) private,
- since it's now used from WebKit.
-
- * rendering/RenderEmbeddedObject.cpp:
- (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):m Removed m_showsMissingPluginIndicator
- initializer.
- (WebCore::RenderEmbeddedObject::updateWidget): Check m_replacementText instead of the removed
- m_showsMissingPluginIndicator.
- (WebCore::RenderEmbeddedObject::setShowsMissingPluginIndicator): Load m_replacementText.
- (WebCore::RenderEmbeddedObject::setShowsCrashedPluginIndicator): Ditto.
- (WebCore::RenderEmbeddedObject::paint): Check m_replacementText instead of the removed
- m_showsMissingPluginIndicator.
- (WebCore::RenderEmbeddedObject::paintReplaced): Draw arbitrary text from m_replacementText
- insted of just "Missing Plug-in". Renamed constants and variables accordingly.
-
- * rendering/RenderEmbeddedObject.h: Changed boolean for missing plug-in to a String holding
- actual replacement text.
-
- * loader/FrameLoader.cpp: (WebCore::FrameLoader::loadPlugin): Adapted for the change in
- setShowsMissingPluginIndicator(), which no longer takes an argument.
-
- * WebCore/WebCore.base.exp: Exported RenderEmbeddedObject::setShowsCrashedPluginIndicator().
-
-2010-04-05 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Darin Adler.
-
- Bug 37040 - AX: need to send selected children change notification when aria-selected changed
- https://bugs.webkit.org/show_bug.cgi?id=37040
-
- When aria-selected is changed in the DOM, it will trigger a selected children change notification.
-
- Test: platform/mac/accessibility/aria-listbox-selectedchildren-change.html
-
- * accessibility/AXObjectCache.cpp:
- (WebCore::AXObjectCache::selectedChildrenChanged):
- * accessibility/AXObjectCache.h:
- * accessibility/AccessibilityMediaControls.cpp:
- (WebCore::AccessibilityMediaControl::controlType):
- Remove extra whitespace before comment (webkit-style).
- * accessibility/AccessibilityRenderObject.cpp:
- (WebCore::AccessibilityRenderObject::observableObject):
- Allowed a listBox to be an observable object.
- (WebCore::AccessibilityRenderObject::ariaRoleHasPresentationalChildren):
- (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
- Updated and streamlined existing code.
- * dom/Element.cpp:
- (WebCore::Element::updateAfterAttributeChanged):
+ * bindings/v8/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::dispatchDidParseSource):
-2010-04-05 Adam Treat <atreat@rim.com>
+2010-05-27 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
- Fix regression in pixel test for animated svg background images.
-
- https://bugs.webkit.org/show_bug.cgi?id=37027
-
- * svg/graphics/SVGImage.cpp:
- (WebCore::SVGImageChromeClient::invalidateContentsAndWindow):
-
-2010-04-05 Robert Hogan <robert@webkit.org>
-
- Reviewed by Kenneth Rohde-Christiansen.
-
- [Qt] Fix infinite redirection loop in QNetworkReplyHandler
-
- Qt enters an infinite loop if a redirect response redirects to itself.
-
- Fixes http/tests/xmlhttprequest/connection-error-sync.html
+ AX: WebKit doesn't call [super -accessibilityAttributeValue:attribute forParameter:] when it encounters a parameterized attribute that it doesn't handle.
+ https://bugs.webkit.org/show_bug.cgi?id=39324
- https://bugs.webkit.org/show_bug.cgi?id=37097
+ Make sure that accessibilityAttributeValue:forParameter: will default to its super's implementation. This is how AppKit expects objects to behave.
- * platform/network/qt/QNetworkReplyHandler.cpp:
- (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
+ * accessibility/mac/AccessibilityObjectWrapper.mm:
+ (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
-2010-04-05 Yury Semikhatsky <yurys@chromium.org>
+2010-05-27 Xan Lopez <xlopez@igalia.com>
- Unreviewed, revert r57078.
+ More GTK+ distcheck fixes.
- * Android.jscbindings.mk:
* GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/js/JSEventListener.cpp:
- (WebCore::JSEventListener::reportError):
- * bindings/js/JSEventListener.h:
- * bindings/js/JSWorkerContextErrorHandler.cpp: Removed.
- * bindings/js/JSWorkerContextErrorHandler.h: Removed.
- * bindings/scripts/CodeGeneratorJS.pm:
- * bindings/scripts/CodeGeneratorV8.pm:
- * bindings/v8/V8WorkerContextErrorHandler.cpp: Removed.
- * bindings/v8/V8WorkerContextErrorHandler.h: Removed.
- * bindings/v8/V8WorkerContextEventListener.cpp:
- (WebCore::V8WorkerContextEventListener::reportError):
- * bindings/v8/V8WorkerContextEventListener.h:
- * dom/EventListener.h:
- (WebCore::EventListener::reportError):
- * workers/WorkerContext.cpp:
- (WebCore::WorkerContext::WorkerContext):
- (WebCore::WorkerContext::reportException):
- * workers/WorkerContext.h:
-
-2010-04-05 Dimitri Glazkov <dglazkov@chromium.org>
-
- Reviewed by Darin Adler.
-
- Style update done due to mutation event dispatching in textarea can be
- used to corrupt the render tree.
- https://bugs.webkit.org/show_bug.cgi?id=36864
-
- Tests: fast/forms/select-change-listbox-to-popup-roundtrip.html
- fast/forms/select-change-popup-to-listbox-roundtrip.html
- fast/forms/textarea-and-mutation-events.html
-
- * dom/Node.cpp:
- (WebCore::Node::dispatchGenericEvent): Removed invocation of
- Document::updateStyleForAllDocuments
- * html/HTMLSelectElement.cpp:
- (WebCore::HTMLSelectElement::parseMappedAttribute): Added explicit
- recalc to ensure accuracy of representation, especially for
- menuList/listBox switches.
-
-2010-04-01 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Dave Hyatt.
-
- iframe flattening doesn't flatten
- https://bugs.webkit.org/show_bug.cgi?id=36798
-
- Fixed to the iframe flattening code so that the iframes on
- http://www.samisite.com/test-csb2nf/id43.htm are actually
- flattened.
-
- Covered by current tests.
-
- * page/FrameView.cpp: Propagate contents changes of iframes
- and subframes in framesets to the parent so that it is relayouted
- (WebCore::FrameView::setContentsSize):
- (WebCore::FrameView::adjustViewSize):
- (WebCore::FrameView::scheduleRelayout):
- * rendering/RenderPart.cpp: HTMLIFrameElement do not inherit from
- HTMLFrameElement, but HTMLFrameElementBase, correct cast. Correct
- the use of inset border values. Avoid a sometimes unnecessary
- relayout.
- (WebCore::RenderPart::layoutWithFlattening):
- * rendering/RenderPartObject.cpp: Make the calcHeight and calcWidth
- return the right values, considering scrolling and fixed width/height
- (WebCore::RenderPartObject::flattenFrame):
- (WebCore::RenderPartObject::calcHeight):
- (WebCore::RenderPartObject::calcWidth):
- (WebCore::RenderPartObject::layout):
-
-2010-04-05 Vitaly Repeshko <vitalyr@chromium.org>
- Reviewed by Yury Semikhatsky.
-
- [V8] Extend the set of types supported by SerializedScriptValue
- https://bugs.webkit.org/show_bug.cgi?id=37052
-
- New types include sparse arrays, Uint32, Date, and ImageData.
-
- Serialization process became more flexible. A state can either
- directly write primitive values (instead of returning them like
- iterator) or construct a new state for serializing complex values
- that will return to the current state when done.
-
- Deserialization process now avoids exposing the tags using a set
- of factory functions for complex objects instead.
-
- Internal buffer type changed to uint8_t to be independent of
- whether char is signed or not.
-
- * bindings/v8/SerializedScriptValue.cpp:
- (WebCore::):
- (WebCore::Writer::Writer):
- (WebCore::Writer::writeString):
- (WebCore::Writer::writeUint32):
- (WebCore::Writer::writeDate):
- (WebCore::Writer::writeNumber):
- (WebCore::Writer::writeImageData):
- (WebCore::Writer::writeArray):
- (WebCore::Writer::writeObject):
- (WebCore::Writer::writeSparseArray):
- (WebCore::Writer::doWriteUint32):
- (WebCore::Writer::doWriteNumber):
- (WebCore::Writer::append):
- (WebCore::Writer::fillHole):
- (WebCore::Writer::byteAt):
- (WebCore::Serializer::Serializer):
- (WebCore::Serializer::serialize):
- (WebCore::Serializer::writeArray):
- (WebCore::Serializer::writeObject):
- (WebCore::Serializer::writeSparseArray):
- (WebCore::Serializer::StateBase::StateBase):
- (WebCore::Serializer::ErrorState::ErrorState):
- (WebCore::Serializer::ErrorState::advance):
- (WebCore::Serializer::State::composite):
- (WebCore::Serializer::State::State):
- (WebCore::Serializer::ArrayState::ArrayState):
- (WebCore::Serializer::ArrayState::advance):
- (WebCore::Serializer::AbstractObjectState::AbstractObjectState):
- (WebCore::Serializer::AbstractObjectState::advance):
- (WebCore::Serializer::ObjectState::ObjectState):
- (WebCore::Serializer::ObjectState::objectDone):
- (WebCore::Serializer::SparseArrayState::SparseArrayState):
- (WebCore::Serializer::SparseArrayState::objectDone):
- (WebCore::Serializer::push):
- (WebCore::Serializer::pop):
- (WebCore::Serializer::handleError):
- (WebCore::Serializer::checkComposite):
- (WebCore::Serializer::writeString):
- (WebCore::Serializer::writeImageData):
- (WebCore::Serializer::newArrayState):
- (WebCore::Serializer::newObjectState):
- (WebCore::Serializer::doSerialize):
- (WebCore::Reader::Reader):
- (WebCore::Reader::read):
- (WebCore::Reader::readString):
- (WebCore::Reader::readUint32):
- (WebCore::Reader::readDate):
- (WebCore::Reader::readNumber):
- (WebCore::Reader::readImageData):
- (WebCore::Reader::doReadUint32):
- (WebCore::Reader::doReadNumber):
- (WebCore::Deserializer::Deserializer):
- (WebCore::Deserializer::createArray):
- (WebCore::Deserializer::createObject):
- (WebCore::Deserializer::createSparseArray):
- (WebCore::Deserializer::initializeObject):
- (WebCore::Deserializer::doDeserialize):
- (WebCore::Deserializer::stackDepth):
- (WebCore::SerializedScriptValue::deserialize):
-
-2010-04-05 Yury Semikhatsky <yurys@chromium.org>
+2010-05-27 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
- Refactored error reporting mechanizm on Worker Global Objects.
- Unlike other event listeners which accept single argument(Event)
- onerror handler on worker global object should be a function
- accepting three arguments. This error reporting was implementedas
- EventListener::reportError method which had custom implementations
- for v8 and JSC. This patch removes EventListener::reportError and
- moves its functionality into custom bindings(V8WorkerContextErrorHandler
- and JSWorkerContextErrorHandler) that implement EventListener inerface
- for the onerror handler.
-
- This patch also makes uncaught exceptions that happen in the onerror
- listener be reported to the Worker's onerror handler.
-
- https://bugs.webkit.org/show_bug.cgi?id=36375
-
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/js/JSEventListener.cpp:
- * bindings/js/JSEventListener.h:
- * bindings/js/JSWorkerContextErrorHandler.cpp: Added.
- (WebCore::JSWorkerContextErrorHandler::JSWorkerContextErrorHandler):
- (WebCore::JSWorkerContextErrorHandler::~JSWorkerContextErrorHandler):
- (WebCore::JSWorkerContextErrorHandler::handleEvent):
- * bindings/js/JSWorkerContextErrorHandler.h: Added.
- (WebCore::JSWorkerContextErrorHandler::create):
- (WebCore::createJSWorkerContextErrorHandler):
- * bindings/scripts/CodeGeneratorJS.pm:
- * bindings/scripts/CodeGeneratorV8.pm:
- * bindings/v8/V8WorkerContextErrorHandler.cpp: Added.
- (WebCore::V8WorkerContextErrorHandler::V8WorkerContextErrorHandler):
- (WebCore::V8WorkerContextErrorHandler::callListenerFunction):
- * bindings/v8/V8WorkerContextErrorHandler.h: Added.
- (WebCore::V8WorkerContextErrorHandler::create):
- * bindings/v8/V8WorkerContextEventListener.cpp:
- * bindings/v8/V8WorkerContextEventListener.h:
- * dom/EventListener.h: Removed reportError method that was used only for reporting worker errors.
- * workers/WorkerContext.cpp:
- (WebCore::WorkerContext::WorkerContext):
- (WebCore::WorkerContext::reportException):
- * workers/WorkerContext.h:
-
-2010-04-05 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Darin Adler.
-
- Fix some "explicit braces to avoid ambiguous 'else'" warnings
- https://bugs.webkit.org/show_bug.cgi?id=37088
-
- * dom/Node.cpp:
- (WebCore::Node::dispatchGenericEvent):
- * page/DOMWindow.cpp:
- (WebCore::DOMWindow::dispatchEvent):
-
-2010-04-05 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Consolidate the definition of SKIP_STATIC_CONSTRUCTORS_ON_GCC
+ [v8] Web Inspector: notify ScriptDebugListener when execution is resumed
+ https://bugs.webkit.org/show_bug.cgi?id=39838
- Instead of defining and undefining it later, let's not
- define SKIP_STATIC_CONSTRUCTORS_ON_GCC for WINSCW.
-
- No new tests as there is no new functionality.
-
- * config.h:
+ * bindings/v8/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::handleV8DebugEvent):
-2010-04-05 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+2010-05-27 Anders Bakken <agbakken@gmail.com>
- Reviewed by Kenneth Rohde Christiansen.
+ Reviewed by David Levin.
- [Qt] [Symbian] Remove obsolete build flags for Symbian
- https://bugs.webkit.org/show_bug.cgi?id=37083
+ qt_pixmapruntime.cpp has coding-style errors
+ https://bugs.webkit.org/show_bug.cgi?id=39745
- Symbian port of QtWebKit port does not use icu, so it does
- not need U_HAVE_* defines.
+ Fix webkit coding style issues in qt_pixmapruntime.cpp
- Symbian now has inttypes.h as part of OpenC.
+ * bridge/qt/qt_pixmapruntime.cpp:
- stdio.h, limits.h and MathExtras.h are already included in
- more appropriate locations.
+2010-05-26 Jeremy Orlow <jorlow@chromium.org>
- No new tests as there is no new functionality.
+ Reviewed by Steve Block.
- * config.h:
+ Clean up IndexedDB layout tests
+ https://bugs.webkit.org/show_bug.cgi?id=39748
-2010-04-05 Pavel Feldman <pfeldman@chromium.org>
+ Remove an assert that always fires.
- Not reviewed: chromium build fix.
+ Tests: storage/indexeddb/idb-database-request.html
+ storage/indexeddb/indexed-database-request.html
- * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
- (WebCore::V8InspectorFrontendHost::platformCallback):
- (WebCore::V8InspectorFrontendHost::portCallback):
+ * storage/IDBDatabaseImpl.cpp:
+ (WebCore::IDBDatabaseImpl::objectStores):
-2010-04-05 Pavel Feldman <pfeldman@chromium.org>
+2010-05-27 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
- Web Inspector: [REGRESSION] platform detection in Chromium
- has regressed to unknown.
-
- https://bugs.webkit.org/show_bug.cgi?id=37081
+ Web Inspector: Get CSS rule offsets lazily.
- * bindings/js/JSInspectorFrontendHostCustom.cpp:
- (WebCore::JSInspectorFrontendHost::platform):
- (WebCore::JSInspectorFrontendHost::port):
- * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
- (WebCore::V8InspectorFrontendHost::platform):
- (WebCore::V8InspectorFrontendHost::port):
- * inspector/InspectorFrontendHost.cpp:
- * inspector/InspectorFrontendHost.h:
- * inspector/InspectorFrontendHost.idl:
+ https://bugs.webkit.org/show_bug.cgi?id=39832
-2010-04-05 Andrey Kosyakov <caseq@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- Remove logging of successful XHR and worker's importScript()
- to inspector console
- https://bugs.webkit.org/show_bug.cgi?id=37078
+ * inspector/InspectorCSSStore.cpp:
+ (WebCore::InspectorCSSStore::getStartEndOffsets):
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::buildObjectForRule):
- * bindings/js/JSWorkerContextCustom.cpp:
- (WebCore::JSWorkerContext::importScripts):
- * bindings/v8/custom/V8WorkerContextCustom.cpp:
- (WebCore::V8WorkerContext::importScriptsCallback):
- * workers/DedicatedWorkerContext.cpp:
- (WebCore::DedicatedWorkerContext::importScripts):
- * workers/DedicatedWorkerContext.h:
- * workers/WorkerContext.cpp:
- (WebCore::WorkerContext::importScripts):
- * workers/WorkerContext.h:
- * xml/XMLHttpRequest.cpp:
- (WebCore::XMLHttpRequest::didFinishLoading):
-
-2010-04-04 Pavel Feldman <pfeldman@chromium.org>
-
- Not reviewed. Rolling out chromium changes r57028 and r57032
- for breaking chromium layout tests.
-
- * WebCore.gyp/WebCore.gyp:
- * WebCore.gypi:
- * platform/chromium/DragImageChromium.cpp: Added.
- (WebCore::dragImageSize):
- (WebCore::deleteDragImage):
- (WebCore::scaleDragImage):
- (WebCore::dissolveDragImageToFraction):
- (WebCore::createDragImageFromImage):
- (WebCore::createDragImageIconForCachedImage):
- * platform/chromium/DragImageChromiumMac.cpp: Removed.
- * platform/chromium/DragImageChromiumSkia.cpp: Removed.
- * platform/chromium/DragImageRef.h:
-
-2010-03-29 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Simon Fraser.
- Patch by Antonio Gomes <tonikitoo@webkit.org>
-
- Spatial Navigation: Initial code simplification in FocusController.cpp and SpatialNavigation.cpp
-
- WebCore::distanceInDirection method was handling much of the logic not
- strictly only related to the distance between nodes acquisition. This
- method was simplified and renamed to 'WebCore::distanceDataForNode'.
- The latter is now responsible for only getting the distance and alignment
- data, while all assignement logic previously in distanceInDirection method
- was moved place to updateFocusCandidateIfCloser.
-
- Parent document distance and alignment acquisitions, in turn, have also
- changed location: they are both got from deepFindFocusableNodeInDirection,
- and passed in a recursive call to findFocusableNodeInDirection via the
- candidateParent variable (optional parameter). In addition, the need for
- the 'focusCandidateCopy' variable in deepFindFocusableNodeInDirection method
- was removed, making the code much cleaner.
-
- No behaviour change at this point. Mostly moving code around to the place
- where it should live in.
-
- * page/FocusController.cpp:
- (WebCore::FocusController::advanceFocusDirectionally):
- (WebCore::updateFocusCandidateIfCloser):
- (WebCore::FocusController::findFocusableNodeInDirection):
- (WebCore::FocusController::deepFindFocusableNodeInDirection):
- * page/FocusController.h:
- * page/SpatialNavigation.cpp:
- (WebCore::distanceDataForNode):
- (WebCore::renderRectRelativeToRootDocument):
- * page/SpatialNavigation.h:
-
-2010-04-04 Pavel Feldman <pfeldman@chromium.org>
+2010-05-27 Anders Bakken <agbakken@gmail.com>
- Reviewed by Timothy Hatcher.
+ Reviewed by David Levin.
- Web Inspector: In the inherited styles, do not render non-inherited properties as overriden.
+ qt_class.cpp has coding-style errors
+ https://bugs.webkit.org/show_bug.cgi?id=39741
- https://bugs.webkit.org/show_bug.cgi?id=37072
+ Fix webkit coding style issues in qt_class.cpp
- * inspector/front-end/StylesSidebarPane.js:
- (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
+ * bridge/qt/qt_class.cpp:
+ (JSC::Bindings::QtClass::fieldNamed):
-2010-04-03 yael aharon <yael.aharon@nokia.com>
+2010-05-27 Eric Seidel <eric@webkit.org>
Reviewed by Darin Adler.
- Enable HTMLProgressElement for Safari on OSX
- https://bugs.webkit.org/show_bug.cgi?id=36961
-
- * Configurations/FeatureDefines.xcconfig:
- * WebCore.xcodeproj/project.pbxproj:
- * rendering/RenderThemeMac.h:
- * rendering/RenderThemeMac.mm:
- (WebCore::RenderThemeMac::animationRepeatIntervalForProgressBar):
- (WebCore::RenderThemeMac::animationDurationForProgressBar):
- (WebCore::RenderThemeMac::adjustProgressBarStyle):
- (WebCore::RenderThemeMac::paintProgressBar):
-
-2010-04-03 Jakub Wieczorek <jwieczorek@webkit.org>
-
- Unreviewed.
+ Remove bit-rotten INSTRUMENT_LAYOUT_SCHEDULING code from HTMLTokenizer
+ https://bugs.webkit.org/show_bug.cgi?id=39714
- Fix debug build with GCC >= 4.3.
-
- * platform/graphics/GraphicsLayer.cpp: Include stdio.h explicitly.
-
-2010-04-03 Kenneth Russell <kbr@google.com>
-
- Reviewed by Darin Fisher.
+ This came from a discussion on #webkit with Hyatt about this code
+ being old and no longer used to either of our knowledge.
- Inconsistent failure modes from uniform[Matrix]* with null WebGLUniformLocation
- https://bugs.webkit.org/show_bug.cgi?id=36574
-
- Fixed bugs in JavaScript bindings for uniform[Matrix]* entry
- points causing them to throw exceptions rather than synthesize GL
- errors. Fixed the implementations to synthesize INVALID_VALUE
- rather than INVALID_OPERATION to comply to the WebGL spec. Updated
- uniform-location-expected.txt to incorporate the correct error.
- Tested in Safari and Chromium.
-
- Test: fast/canvas/webgl/null-uniform-location.html
-
- * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
- (WebCore::V8WebGLRenderingContext::getUniformCallback):
- (WebCore::vertexAttribAndUniformHelperf):
- (WebCore::uniformHelperi):
- (WebCore::uniformMatrixHelper):
- * html/canvas/WebGLRenderingContext.cpp:
- (WebCore::WebGLRenderingContext::uniform1f):
- (WebCore::WebGLRenderingContext::uniform1fv):
- (WebCore::WebGLRenderingContext::uniform1i):
- (WebCore::WebGLRenderingContext::uniform1iv):
- (WebCore::WebGLRenderingContext::uniform2f):
- (WebCore::WebGLRenderingContext::uniform2fv):
- (WebCore::WebGLRenderingContext::uniform2i):
- (WebCore::WebGLRenderingContext::uniform2iv):
- (WebCore::WebGLRenderingContext::uniform3f):
- (WebCore::WebGLRenderingContext::uniform3fv):
- (WebCore::WebGLRenderingContext::uniform3i):
- (WebCore::WebGLRenderingContext::uniform3iv):
- (WebCore::WebGLRenderingContext::uniform4f):
- (WebCore::WebGLRenderingContext::uniform4fv):
- (WebCore::WebGLRenderingContext::uniform4i):
- (WebCore::WebGLRenderingContext::uniform4iv):
- (WebCore::WebGLRenderingContext::uniformMatrix2fv):
- (WebCore::WebGLRenderingContext::uniformMatrix3fv):
- (WebCore::WebGLRenderingContext::uniformMatrix4fv):
-
-2010-04-02 Andy Estes <aestes@apple.com>
-
- Reviewed by Adam Barth.
-
- The previous mechanism for testing whether an event was due to a user
- gesture only checked the event type, not the source of the event. This
- allowed scripts to defeat popup blocking by programatically emitting
- certain types of events.
-
- Change the user gesture detection to check for a flag that is only set
- when the event in question was generated through the platform and not
- through the DOM.
-
- https://bugs.webkit.org/show_bug.cgi?id=37008
-
- Tests: fast/events/popup-allowed-from-gesture-initiated-event.html
- fast/events/popup-blocked-from-fake-button-click.html
- fast/events/popup-blocked-from-fake-focus.html
-
- * Android.mk: Add UserGestureIndicator.{cpp, h}.
- * GNUmakefile.am: Same.
- * WebCore.gypi: Same.
- * WebCore.pro: Same.
- * WebCore.vcproj/WebCore.vcproj: Same.
- * WebCore.xcodeproj/project.pbxproj: Same.
- * bindings/v8/ScriptController.cpp:
- (WebCore::ScriptController::processingUserGesture): Check the value of
- UserGesureIndicator::processingUserGesture().
- * dom/Document.cpp:
- (WebCore::Document::createEvent): Remove call to
- Event::setCreatedByDOM().
- * dom/Event.cpp:
- (WebCore::Event::Event): Remove initializers for m_createdByDOM.
- (WebCore::Event::fromUserGesture): Check the value of
- UserGestureIndicator::processingUserGesture().
- * dom/Event.h: Remove m_createdByDOM.
- * dom/UserGestureIndicator.cpp: Added.
- (WebCore::UserGestureIndicator::UserGestureIndicator): Save the previous
- value of s_processingUserGesture before setting it to true.
- (WebCore::UserGestureIndicator::~UserGestureIndicator): Restore
- s_processingUserGesture to its previous value.
- * dom/UserGestureIndicator.h: Added.
- (WebCore::UserGestureIndicator::processingUserGesture): Return the value
- of s_processingUserGesture.
- * page/EventHandler.cpp:
- (WebCore::EventHandler::handleMousePressEvent): Instantiate a
- UserGestureIndicator object on the stack to indicate a user gesture is
- being processed.
- (WebCore::EventHandler::handleMouseDoubleClickEvent): Same.
- (WebCore::EventHandler::handleMouseReleaseEvent): Same.
- (WebCore::EventHandler::keyEvent): Same.
- (WebCore::EventHandler::handleTouchEvent): Same.
-
-2010-04-02 Justin Schuh <jschuh@chromium.org>
-
- Reviewed by Alexey Proskuryakov.
-
- XHR allows arbitrary XSRF across domains
- https://bugs.webkit.org/show_bug.cgi?id=36843
-
- Added a one-line change to prevent bypassing the XDC check on
- synchronous preflighted requests. Added layout tests to cover
- variations of this problem.
-
- Tests: http/tests/xmlhttprequest/access-control-preflight-async-header-denied.html
- http/tests/xmlhttprequest/access-control-preflight-async-method-denied.html
- http/tests/xmlhttprequest/access-control-preflight-sync-header-denied.html
- http/tests/xmlhttprequest/access-control-preflight-sync-method-denied.html
-
- * loader/DocumentThreadableLoader.cpp:
- (WebCore::DocumentThreadableLoader::preflightFailure):
-
-2010-04-02 Nayan Kumar K <nayankk@gmail.com>
-
- Reviewed by Eric Seidel.
-
- Fix for WML enabled build failure.
-
- https://bugs.webkit.org/show_bug.cgi?id=36648
-
- * wml/WMLOptionElement.cpp:
- (WebCore::WMLOptionElement::disabled):
- * wml/WMLOptionElement.h:
- * wml/WMLSelectElement.cpp:
- (WebCore::WMLSelectElement::listBoxSelectItem):
- * wml/WMLSelectElement.h:
-
-2010-04-02 MORITA Hajime <morrita@google.com>
-
- Reviewed by Alexey Proskuryakov.
-
- https://bugs.webkit.org/show_bug.cgi?id=37011
- Position::primaryDirection() should not use its own accessor.
-
- No new tests. This is small clenaup with no behaviour change.
-
- * dom/Position.cpp:
- (WebCore::Position::primaryDirection):
-
-2010-04-02 Eric Uhrhane <ericu@chromium.org>
-
- Reviewed by Brady Eidson.
-
- window.openDatabase() always fails for new databases when using WebKit nightly with Safari 4.0.5. This is caused by a SecurityOrigin pointer comparison that I should have switched to be a hash comparison in r56293 [bug 34991].
- https://bugs.webkit.org/show_bug.cgi?id=36671
-
- No new tests. Requires testing on Safari on Windows.
-
- * storage/DatabaseTracker.cpp:
- (WebCore::DatabaseTracker::fullPathForDatabaseNoLock): Convert a pointer comparison to use SecurityOriginHash::hash() instead, and move it to the end of the clause for speed in the easy-out case.
-
-2010-04-02 Michael Nordman <michaeln@google.com>
-
- Reviewed by Nate Chapin.
-
- Set the close policy used by the DatabaseCloseTask in a constructor argument
- instead of hard coding it.
- https://bugs.webkit.org/show_bug.cgi?id=37037
-
- No new tests, new new functionality.
-
- * storage/Database.cpp: This callsite passes in DoNotRemoveFromDatabaseContext to retain its current behavior.
- (WebCore::Database::markAsDeletedAndClose):
- * storage/DatabaseTask.cpp:
- (WebCore::DatabaseCloseTask::DatabaseCloseTask):
- (WebCore::DatabaseCloseTask::doPerformTask):
- * storage/DatabaseTask.h:
- (WebCore::DatabaseCloseTask::create):
-
-2010-04-02 James Robinson <jamesr@chromium.org>
-
- Reviewed by Simon Fraser.
-
- Remove an ASSERT that sometimes flakes due to time dependent animations
- https://bugs.webkit.org/show_bug.cgi?id=37048
-
- The outline repaint rectangle for a layer might change between two calls
- if there are animations involved, even if nothing in the DOM has actually
- changed between the calls.
+ No functional changes, thus no tests.
- No change in behavior, no new tests.
+ I also removed a bogus FIXME I had added in an earlier patch
+ before I understood what the HTMLTokenizer was trying to do.
- * rendering/RenderLayer.cpp:
- (WebCore::RenderLayer::updateLayerPositions):
+ * html/HTMLTokenizer.cpp:
+ (WebCore::HTMLTokenizer::scriptHandler):
+ (WebCore::HTMLTokenizer::scriptExecution):
+ (WebCore::HTMLTokenizer::continueProcessing):
+ (WebCore::HTMLTokenizer::willWriteHTML):
+ (WebCore::HTMLTokenizer::didWriteHTML):
+ (WebCore::HTMLTokenizer::timerFired):
+ (WebCore::HTMLTokenizer::executeExternalScriptsIfReady):
-2010-04-02 Evan Stade <estade@chromium.org>
+2010-05-27 Anton Muhin <antonm@chromium.org>
Reviewed by Adam Barth.
- [chromium] need DragImage implementation
- https://bugs.webkit.org/show_bug.cgi?id=35811
+ Add callbacks to ScriptController to allow notifications on named items additions and removals
+ https://bugs.webkit.org/show_bug.cgi?id=39679
- Add two files that failed to get added in my previous patch.
+ * bindings/js/ScriptController.h: Callbacks with empty implementation added.
+ (WebCore::ScriptController::namedItemAdded):
+ (WebCore::ScriptController::namedItemRemoved):
+ * bindings/v8/ScriptController.cpp: Empty implementation of callbacks.
+ (WebCore::ScriptController::namedItemAdded):
+ (WebCore::ScriptController::namedItemRemoved):
+ * bindings/v8/ScriptController.h: Callbacks added.
+ * html/HTMLDocument.cpp: Hooking in callbacks.
+ (WebCore::HTMLDocument::addItemToMap):
+ (WebCore::HTMLDocument::removeItemFromMap):
+ * html/HTMLDocument.h:
- * platform/chromium/DragImageChromiumMac.cpp: Added.
- (WebCore::dragImageSize):
- (WebCore::deleteDragImage):
- (WebCore::scaleDragImage):
- (WebCore::dissolveDragImageToFraction):
- (WebCore::createDragImageFromImage):
- (WebCore::createDragImageIconForCachedImage):
- * platform/chromium/DragImageChromiumSkia.cpp: Added.
- (WebCore::dragImageSize):
- (WebCore::deleteDragImage):
- (WebCore::scaleDragImage):
- (WebCore::dissolveDragImageToFraction):
- (WebCore::createDragImageFromImage):
- (WebCore::createDragImageIconForCachedImage):
+2010-05-27 Zhenyao Mo <zmo@google.com>
-2010-04-02 Jer Noble <jer.noble@apple.com>
-
- Reviewed by Eric Carlson.
-
- Configure multi-language movies: when QuickTime has sufficiently loaded
- the movie, call into wkQTMovieSelectPreferredAlternates to select the
- movie's alternate tracks according to the user's language preferences.
-
- https://bugs.webkit.org/show_bug.cgi?id=36624
+ Reviewed by Dimitri Glazkov.
- * WebCore.base.exp:
- * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
- (WebCore::MediaPlayerPrivate::updateStates): If the movie is sufficiently loaded,
- call wkQTMovieSelectPreferredAlternates to set up the alternate tracks.
- * platform/mac/WebCoreSystemInterface.h: Declare WKQTMovieSelectPreferredAlternates.
- * platform/mac/WebCoreSystemInterface.mm: Add WKQTMovieSelectPreferredAlternates.
+ Implement lazy clearing of renderbuffers
+ https://bugs.webkit.org/show_bug.cgi?id=36248
+
+ Test: fast/canvas/webgl/renderbuffer-initialization.html
+
+ * html/canvas/WebGLFramebuffer.cpp:
+ (WebCore::WebGLFramebuffer::WebGLFramebuffer): Init added members.
+ (WebCore::WebGLFramebuffer::setAttachment): Set attachment object.
+ (WebCore::WebGLFramebuffer::onBind): Perform buffer clearing if needed.
+ (WebCore::WebGLFramebuffer::onAttachedObjectChange): Ditto.
+ (WebCore::WebGLFramebuffer::isUninitialized): Check whether an attached object is uninitialized renderbuffer.
+ (WebCore::WebGLFramebuffer::setInitialized): After initialize a renderbuffer, set the flag.
+ (WebCore::WebGLFramebuffer::initializeRenderbuffers): Clear un-initialized renderbuffers if framebuffer is complete.
+ * html/canvas/WebGLFramebuffer.h:
+ (WebCore::WebGLFramebuffer::isDepthAttached): Changed to check object.
+ (WebCore::WebGLFramebuffer::isStencilAttached): Ditto.
+ (WebCore::WebGLFramebuffer::isDepthStencilAttached): Ditto.
+ * html/canvas/WebGLRenderbuffer.cpp:
+ (WebCore::WebGLRenderbuffer::WebGLRenderbuffer): Init added members.
+ * html/canvas/WebGLRenderbuffer.h:
+ (WebCore::WebGLRenderbuffer::isInitialized): As the function name.
+ (WebCore::WebGLRenderbuffer::setInitialized): Ditto.
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore::WebGLRenderingContext::bindFramebuffer): Call onBind().
+ (WebCore::WebGLRenderingContext::copyTexImage2D): Call onAttachedObjectChange().
+ (WebCore::WebGLRenderingContext::deleteRenderbuffer): Ditto.
+ (WebCore::WebGLRenderingContext::deleteTexture): Ditto.
+ (WebCore::WebGLRenderingContext::framebufferRenderbuffer): Call setAttachment.
+ (WebCore::WebGLRenderingContext::framebufferTexture2D): Call onAttachedObjectChange().
+ (WebCore::WebGLRenderingContext::renderbufferStorage): Ditto.
+ (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
+ * platform/graphics/mac/GraphicsContext3DMac.cpp:
+ (WebCore::GraphicsContext3D::reshape): Initialize internal buffers.
-2010-04-02 James Robinson <jamesr@chromium.org>
+2010-05-27 Kristian Monsen <kristianm@google.com>
Reviewed by Darin Adler.
- Splits RenderBlock::layoutInline into smaller functions
- https://bugs.webkit.org/show_bug.cgi?id=36921
-
- RenderBlock::layoutInlineChildren is 351 lines long and very difficult
- to comprehend or edit safely. This patch splits it up into a few
- slightly smaller functions. Most of the code is now in the 241 line
- layoutRunsAndFloats() which is a slight improvement.
-
- Perf neutral on the page cyclers. This doesn't introduce any function
- calls into the hottest layout paths inside layoutRunsAndFloats and
- findNextLineBreak.
-
- No change in behavior, no new tests.
-
- * rendering/RenderBlock.h:
- (WebCore::RenderBlock::FloatWithRect::FloatWithRect):
- * rendering/RenderBlockLineLayout.cpp:
- (WebCore::RenderBlock::layoutReplacedElements):
- (WebCore::RenderBlock::createLineBoxesForResolver):
- (WebCore::RenderBlock::layoutRunsAndFloats):
- (WebCore::RenderBlock::layoutInlineChildren):
-
-2010-04-02 Evan Stade <estade@chromium.org>
-
- Reviewed by Eric Seidel.
-
- [chromium] need DragImage implementation
- https://bugs.webkit.org/show_bug.cgi?id=35811
-
- Basic implementation using SkBitmap. Transformations are not supported
- yet. No implementation for mac.
-
- * WebCore.gyp/WebCore.gyp:
- * WebCore.gypi:
- * platform/chromium/DragImageChromium.cpp:
- * platform/chromium/DragImageRef.h:
-
-2010-04-02 Evan Martin <evan@chromium.org>
-
- Reviewed by Eric Seidel.
-
- [chromium] font fallback for generic fonts picks wrong font
- https://bugs.webkit.org/show_bug.cgi?id=37033
+ Compile fix for Android, added include for Refcounted.h, this did not get
+ included through Threading.h in Android.
+ https://bugs.webkit.org/show_bug.cgi?id=39678
- When a page specifies the generic "monospace" font and the user's
- browser-configured monospace font doesn't exist, we previously relied
- on getLastResortFallbackFont to eventually pick a monospace font for us.
-
- But that doesn't quite work: WebKit first falls back to the user's
- "preferred standard font" before hitting the last resort code path.
- So if the above conditions hold but this font exists, we'll end up
- never hitting the last resort codepath.
-
- The fix is to allow OS-level font fallback when first attempting to
- resolve monospace. The existing code tried to do this, but the logic
- was wrong. We would eventually fall back to the correct font anyway
- so we didn't notice the logic was wrong.
-
- This code is all handling cases where particular fonts aren't installed,
- so I can't think of a way to test it; existing tests should still pass.
-
- * platform/graphics/chromium/FontCacheLinux.cpp:
- (WebCore::FontCache::createFontPlatformData):
-
-2010-04-02 Andrew Scherkus <scherkus@chromium.org>
-
- Reviewed by Eric Carlson and Eric Seidel.
+ Build fix only, no new tests.
- Don't stop the playback event timer when media resource loading has suspended.
- https://bugs.webkit.org/show_bug.cgi?id=37003
+ * storage/SQLTransactionSyncCallback.h:
- When a user agent decides to suspend media resource loading and enters the
- NETWORK_IDLE state we are supposed to only stop the progress event timer but
- keep the playback timer running.
+2010-05-27 Joone Hur <joone@kldp.org>
- Test: http/tests/media/video-play-suspend.html
+ Reviewed by Xan Lopez.
- * html/HTMLMediaElement.cpp:
- (WebCore::HTMLMediaElement::setNetworkState): Only stop the progress event timer.
+ Add GtkVersioning.h in ScrollbackGtk.cpp for maintaining compatibility with the previous GTK+
-2010-04-02 Darin Adler <darin@apple.com>
+ https://bugs.webkit.org/show_bug.cgi?id=39567
- Fix mispelling that broke the build.
+ * platform/gtk/ScrollbarGtk.cpp:
- * html/canvas/CanvasRenderingContext2D.cpp:
- * html/canvas/CanvasRenderingContext2D.h:
- Dashbard -> Dashboard.
+2010-05-27 Hans Wennborg <hans@chromium.org>
-2010-04-02 David Levin <levin@chromium.org>
+ Reviewed by Alexey Proskuryakov.
- Reviewed by Darin Adler.
+ Increase limit on number of (i)frames from 200 to 1000.
+ https://bugs.webkit.org/show_bug.cgi?id=39427
- (non-generated) code should only use CanvasRenderingContext::canvas as a CanvasSurface.
- https://bugs.webkit.org/show_bug.cgi?id=36906
-
- * dom/CanvasSurface.cpp: Added methods for items that depended on
- CanvasRenderingContext::canvas() being an HTMLElement(), so that this usage
- can be dealt with in one place.
- (WebCore::CanvasSurface::securityOrigin): Only used by methods that are
- only run in the document context.
- (WebCore::CanvasSurface::renderBox): Will likely return 0 in a worker context.
- (WebCore::CanvasSurface::computedStyle): Used by setFont. Return value is TBD for
- the worker context.
- (WebCore::CanvasSurface::styleSelector): Ditto.
- * dom/CanvasSurface.h:
- * html/HTMLCanvasElement.cpp:
- (WebCore::HTMLCanvasElement::getContext): Passing in information into
- the CanvasRenderingContext2D constructor to eliminate some uses of document
- inside of the CanvasRenderingContext2D class.
- * html/HTMLCanvasElement.h:
- (WebCore::HTMLCanvasElement::renderBox): Added to disambiguate between the
- two parent class versions of the method.
- (WebCore::HTMLCanvasElement::computedStyle): Ditto.
- * html/canvas/CanvasRenderingContext2D.cpp: All of these changes are about
- removing document usage either by using a bool that is set in the constructor or
- by calling one of the new methods added to CanvasSurface.
- (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
- (WebCore::CanvasRenderingContext2D::clearPathForDashboardBackwardCompatibilityMode):
- (WebCore::CanvasRenderingContext2D::checkOrigin):
- (WebCore::CanvasRenderingContext2D::prepareGradientForDashboard):
- (WebCore::CanvasRenderingContext2D::createPattern):
- (WebCore::CanvasRenderingContext2D::setFont):
- (WebCore::CanvasRenderingContext2D::drawTextInternal):
- * html/canvas/CanvasRenderingContext2D.h:
- * html/canvas/WebGLRenderingContext.cpp: Removed some duplicate includes.
- (WebCore::WebGLRenderingContext::markContextChanged): Reduced calls to renderBox
- as it may become slightly more expensive in the future.
- (WebCore::WebGLRenderingContext::reshape): Ditto.
-
-2010-04-02 Zhenyao Mo <zmo@google.com>
+ The limit on number of iframes was introduced in r3707 back in 2003.
+ An example of a page that is broken because of this is:
+ http://vimcolorschemetest.googlecode.com/svn/html/index-c.html
+ Neither Firefox nor IE has such a limit.
- Reviewed by Eric Seidel.
+ It seems that WebKit can handle a significantly higher number of frames, and
+ the original reasons for imposing the limit are believed to be gone.
- Implement and test new framebuffer object attachment behavior.
- https://bugs.webkit.org/show_bug.cgi?id=35611
-
- Test: fast/canvas/webgl/framebuffer-object-attachment.html
-
- * html/canvas/WebGLFramebuffer.cpp: Keep track of attached stencil/depth renderbuffers in WebGLFramebuffer.
- (WebCore::WebGLFramebuffer::WebGLFramebuffer):
- (WebCore::WebGLFramebuffer::setIsAttached):
- * html/canvas/WebGLFramebuffer.h: Ditto.
- (WebCore::WebGLFramebuffer::isDepthAttached):
- (WebCore::WebGLFramebuffer::isStencilAttached):
- (WebCore::WebGLFramebuffer::isDepthStencilAttached):
- * html/canvas/WebGLRenderbuffer.cpp: Keep track of internalformat.
- (WebCore::WebGLRenderbuffer::WebGLRenderbuffer):
- * html/canvas/WebGLRenderbuffer.h: Ditto.
- (WebCore::WebGLRenderbuffer::setInternalformat):
- (WebCore::WebGLRenderbuffer::getInternalformat):
- * html/canvas/WebGLRenderingContext.cpp:
- (WebCore::WebGLRenderingContext::framebufferRenderbuffer): Detect stencil/depth buffer conflicts.
- (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): Handling DEPTH_STENCIL case.
- (WebCore::WebGLRenderingContext::getRenderbufferParameter): Get correct WebGL internalformat.
- (WebCore::WebGLRenderingContext::renderbufferStorage): Detect illegal enums.
- * html/canvas/WebGLRenderingContext.idl: Add DEPTH_STENCIL enums.
- * platform/graphics/GraphicsContext3D.h: Add DEPTH_STENCIL enums.
- (WebCore::GraphicsContext3D::):
- * platform/graphics/mac/GraphicsContext3DMac.cpp: Map to correct DEPTH_STENCIL format.
- (WebCore::GraphicsContext3D::framebufferRenderbuffer):
- (WebCore::GraphicsContext3D::renderbufferStorage):
- (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
-
-2010-04-02 Kent Tamura <tkent@chromium.org>
+ Tests: compositing/iframes/lots-of-iframes.html
+ compositing/iframes/lots-of-objects.html
- Reviewed by Darin Adler.
+ * html/HTMLFrameElementBase.cpp:
+ (WebCore::HTMLFrameElementBase::isURLAllowed):
+ * page/FrameTree.cpp:
+ (WebCore::FrameTree::uniqueChildName):
+ * page/Page.h:
+ * rendering/RenderEmbeddedObject.cpp:
+ (WebCore::isURLAllowed):
- Form control state shouldn't be restored for hidden inputs.
- https://bugs.webkit.org/show_bug.cgi?id=26241
+2010-05-27 Kwang Yul Seo <skyul@company100.net>
- To fix this issue, we don't save values if it is not changed from
- the default value.
+ Reviewed by Xan Lopez.
- Updating the value IDL attribute of some controls such as
- type=hidden also updates the value content attribute, and it's
- impossible to distinguish the initial value and the current
- value. The values of such controls are not saved. It won't be a
- problem because we want to save and restore user-edited values.
+ [GTK] writeToFile fails when length is large
+ https://bugs.webkit.org/show_bug.cgi?id=39666
- Test: fast/forms/state-restore-to-non-edited-controls.html
+ writeToFile forgot to increment data pointer.
- * html/HTMLInputElement.cpp:
- (WebCore::HTMLInputElement::saveFormControlState):
- Do not save the value if it is same as the default value.
- * html/HTMLTextAreaElement.cpp:
- (WebCore::HTMLTextAreaElement::saveFormControlState): ditto.
+ * platform/gtk/FileSystemGtk.cpp:
+ (WebCore::writeToFile):
-2010-04-02 Kent Tamura <tkent@chromium.org>
+2010-05-26 David Hyatt <hyatt@apple.com>
- Reviewed by Darin Adler.
+ Reviewed by Sam Weinig.
- Forms with autocomplete=off should not consume saved state
- https://bugs.webkit.org/show_bug.cgi?id=36762
+ https://bugs.webkit.org/show_bug.cgi?id=39783, clean up the moveChild functions on RenderBlock.
- Introduce Element::shouldSaveAndRestoreFormControlState() to check
- if we should save and restore control state.
-
- Test: fast/forms/state-restore-to-non-autocomplete-form.html
-
- * dom/Document.cpp:
- (WebCore::Document::formElementsState): Check shouldSaveAndRestoreFormControlState().
- * dom/Element.h:
- (WebCore::Element::shouldSaveAndRestoreFormControlState): Added. It just returns true.
- * html/HTMLFormControlElement.cpp:
- (WebCore::HTMLFormControlElementWithState::autoComplete):
- Added. It return autocomplete state of the form.
- (WebCore::HTMLFormControlElementWithState::shouldSaveAndRestoreFormControlState):
- Added. It returns the result of autoComplete().
- (WebCore::HTMLFormControlElementWithState::finishParsingChildren):
- Do not restore state if shouldSaveAndRestoreFormControlState() is false.
- * html/HTMLFormControlElement.h: Declare autoComplete() and overriding methods.
- * html/HTMLInputElement.cpp:
- (WebCore::HTMLInputElement::autoComplete):
- Reduce code by using autoComplete() of the parent class.
- (WebCore::HTMLInputElement::saveFormControlState):
- Remove the autoComplete() check. Document::formElementsState() does equivalent check.
-
-2010-04-02 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Darin Adler.
-
- Very bad scrolling-performance with the Trackpad at http://www.apple.com/ipad/app-store/
- https://bugs.webkit.org/show_bug.cgi?id=36978
-
- When we update compositing layers (which can happen on scrolling, when there are fixed position elements
- on the page), we can end up redundantly setting images as layer contents if we have to color-correct
- the image. This is because we call CGImageCreateCopyWithColorSpace(), which hands back a new image
- every time.
+ Eliminate the need to pass the toChildrenList to the moveChild functions by tightening up the type of the
+ |to| argument to be a RenderBlock.
- Avoid this by storing a reference to the original uncorrected image, which is used to then
- avoid work if the image does not change.
-
- * platform/graphics/mac/GraphicsLayerCA.h:
- * platform/graphics/mac/GraphicsLayerCA.mm:
- (WebCore::GraphicsLayerCA::setContentsToImage):
+ Add a moveChildrenTo function that can move a range of children, and patch places that were doing this
+ by hand.
-2010-04-02 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Darin Adler.
-
- Avoid doing work in FrameView::scrollPositionChanged() if there are no fixed position elements
- https://bugs.webkit.org/show_bug.cgi?id=36994
+ Make the append forms of the functions just use the insert forms with a beforeChild of 0.
- r55890 added knowledge to FrameView about whether it contains any fixed-position elements. We can
- use this to avoid updating widget positions, and compositing layer positions when possible.
-
- * page/FrameView.cpp:
- (WebCore::FrameView::scrollPositionChanged):
- * page/FrameView.h:
- (WebCore::FrameView::hasFixedObjects):
-
-2010-04-02 Nate Chapin <japhet@chromium.org>
-
- Rubber-stamped by Dimitri Glazkov.
-
- http://trac.webkit.org/changeset/57004 caused
- fast/dom/console-log-stack-overflow.html to fail for Chromium.
- Add check for empty wrappers before using them to create a hidden reference.
-
- * bindings/scripts/CodeGeneratorV8.pm:
-
-2010-04-01 Nate Chapin <japhet@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [V8] Generalize (and generate!) the creation of hidden references
- between JS wrappers.
+ Patch insertChildNode in RenderObjectChildList so that it passes the fullInsert parameter through in the
+ case where it does an append.
- https://bugs.webkit.org/show_bug.cgi?id=36777
-
- * Android.v8bindings.mk:
- * WebCore.gypi:
- * bindings/scripts/CodeGeneratorV8.pm: Generate calls to setHiddenReference() in
- attribute getters.
- * bindings/v8/V8DOMWrapper.cpp:
- (WebCore::V8DOMWrapper::setHiddenReference): Split common logic out of hidden setHiddenWindowReference
- (WebCore::V8DOMWrapper::setHiddenWindowReference): Now contains logic specific to putting a
- hidden reference on a global object.
- (WebCore::globalObjectPrototypeIsDOMWindow): Be more thorough in the COMPILE_ASSERTs.
- (WebCore::V8DOMWrapper::convertEventTargetToV8Object): Cleanup: Remove a duplicate if statement.
- * bindings/v8/V8DOMWrapper.h:
- * bindings/v8/WrapperTypeInfo.h:
- * bindings/v8/custom/V8BarInfoCustom.cpp: Removed.
- * bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
- (WebCore::toV8):
- * bindings/v8/custom/V8DOMSelectionCustom.cpp: Removed.
- * bindings/v8/custom/V8HistoryCustom.cpp:
- * bindings/v8/custom/V8LocationCustom.cpp:
- * bindings/v8/custom/V8MessageChannelConstructor.cpp:
- (WebCore::V8MessageChannel::constructorCallback):
- * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
- (WebCore::toV8):
- * bindings/v8/custom/V8NavigatorCustom.cpp: Removed.
- * bindings/v8/custom/V8ScreenCustom.cpp: Removed.
- * bindings/v8/custom/V8StyleSheetCustom.cpp:
- (WebCore::toV8):
- * loader/appcache/DOMApplicationCache.h:
- (WebCore::DOMApplicationCache::frame): Add frame() accessor.
-
-
-2010-04-01 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: start editing DOM and styles on click-and-pause.
-
- https://bugs.webkit.org/show_bug.cgi?id=36965
-
- * inspector/front-end/ElementsTreeOutline.js:
- (WebInspector.ElementsTreeElement.prototype.onattach):
- (WebInspector.ElementsTreeElement.prototype.selectOnMouseDown):
- (WebInspector.ElementsTreeElement.prototype.ondblclick):
- (WebInspector.ElementsTreeElement.prototype._handleClickAndPause):
- (WebInspector.ElementsTreeElement.prototype._startEditingTarget):
- (WebInspector.ElementsTreeElement.prototype._startEditingAttribute):
- (WebInspector.ElementsTreeElement.prototype._startEditingTextNode):
- (WebInspector.ElementsTreeElement.prototype._startEditingTagName):
- (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML):
- * inspector/front-end/StylesSidebarPane.js:
- (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceDoubleClick):
- (WebInspector.StylePropertiesSection.prototype._handleSelectorClick):
- (WebInspector.StylePropertiesSection.prototype._handleSelectorClickAndPause):
- (WebInspector.StylePropertiesSection.prototype._handleSelectorDoubleClick):
- (WebInspector.StylePropertiesSection.prototype._startEditingOnMouseEvent):
- (WebInspector.StylePropertyTreeElement.prototype.onattach):
- (WebInspector.StylePropertyTreeElement.prototype):
- * inspector/front-end/inspector.css:
- * inspector/front-end/inspector.js:
- * inspector/front-end/treeoutline.js:
- (TreeElement.prototype._attach):
- (TreeElement.treeElementMouseDown):
- (TreeElement.prototype.selectOnMouseDown):
-
-2010-04-02 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Unreviewed build fix when building --no-svg.
-
- Build fix after r56941. Add ENABLE(SVG) guard.
+ Add an assert to RenderLayer that catches bad structure built when the fullInsert/Remove parameters are
+ messed up when using append/insertChildNode.
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
+ (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
+ (WebCore::RenderBlock::createAndAppendRootInlineBox):
+ (WebCore::RenderBlock::moveChildTo):
+ (WebCore::RenderBlock::moveChildrenTo):
+ (WebCore::RenderBlock::makeChildrenNonInline):
+ (WebCore::RenderBlock::removeChild):
+ * rendering/RenderBlock.h:
+ (WebCore::RenderBlock::moveChildTo):
+ (WebCore::RenderBlock::moveAllChildrenTo):
+ (WebCore::RenderBlock::moveChildrenTo):
* rendering/RenderLayer.cpp:
- (WebCore::RenderLayer::updateLayerPositions):
-
-2010-04-02 Yury Semikhatsky <yurys@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Implement InspectorFrontendHost::showContextMenu for Chromium.
-
- Move inspector frontend context menu code from InspectorFrontendClient to InspectorFrontendHost as it's platform independent.
-
- https://bugs.webkit.org/show_bug.cgi?id=36817
-
- * WebCore.Inspector.exp:
- * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
- (WebCore::V8InspectorFrontendHost::showContextMenuCallback):
- * inspector/InspectorFrontendClient.h:
- * inspector/InspectorFrontendClientLocal.cpp:
- (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
- (WebCore::InspectorFrontendClientLocal::~InspectorFrontendClientLocal):
- (WebCore::InspectorFrontendClientLocal::windowObjectCleared):
- * inspector/InspectorFrontendClientLocal.h:
- * inspector/InspectorFrontendHost.cpp:
- (WebCore::FrontendMenuProvider::create):
- (WebCore::FrontendMenuProvider::disconnect):
- (WebCore::FrontendMenuProvider::FrontendMenuProvider):
- (WebCore::FrontendMenuProvider::~FrontendMenuProvider):
- (WebCore::FrontendMenuProvider::populateContextMenu):
- (WebCore::FrontendMenuProvider::contextMenuItemSelected):
- (WebCore::FrontendMenuProvider::contextMenuCleared):
- (WebCore::InspectorFrontendHost::InspectorFrontendHost):
- (WebCore::InspectorFrontendHost::disconnectClient):
- (WebCore::InspectorFrontendHost::showContextMenu):
- * inspector/InspectorFrontendHost.h:
- (WebCore::InspectorFrontendHost::create):
-
-2010-04-02 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- WebInspector: Timeline Overview pane should support short records filtering.
- https://bugs.webkit.org/show_bug.cgi?id=37020
-
- * English.lproj/localizedStrings.js:
- * inspector/front-end/TimelineOverviewPane.js:
- (WebInspector.TimelineOverviewPane.prototype.update.markTimeline):
- (WebInspector.TimelineOverviewPane.prototype.update):
- * inspector/front-end/TimelinePanel.js:
- (WebInspector.TimelinePanel):
- (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
- (WebInspector.TimelinePanel.prototype._toggleFilterButtonClicked):
- (WebInspector.TimelinePanel.prototype._refresh):
- (WebInspector.TimelinePanel.prototype._addToRecordsWindow):
- (WebInspector.TimelinePanel.FormattedRecord.prototype.isLong):
+ (WebCore::RenderLayer::addChild):
+ * rendering/RenderObjectChildList.cpp:
+ (WebCore::RenderObjectChildList::insertChildNode):
+ * rendering/RenderRubyBase.cpp:
+ (WebCore::RenderRubyBase::moveInlineChildren):
-2010-04-02 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+2010-05-27 Eric Seidel <eric@webkit.org>
- Reviewed by Eric Seidel.
+ Reviewed by Adam Barth.
- Accept XHTML-MP content type as XHTML content
- https://bugs.webkit.org/show_bug.cgi?id=34262
+ Add <pre>/<listing> hack to HTML5Lexer to fix the last remaining HTML5 test suite regressions
+ https://bugs.webkit.org/show_bug.cgi?id=39818
- Enable processing XHTML-MP mime type as an XHTML document
- even if XHTML-MP support is not enabled.
+ HTML parsers are supposed to ignore the first \n after a <pre> or <listing> tag
+ for authoring convenience. Our new HTML5Lexer didn't have this hack yet
+ so there were 4 HTML5 tests failing. Fixing this fixed the last of the HTML5
+ test suite regressions using the HTML5Lexer vs the old lexer.
- * platform/MIMETypeRegistry.cpp:
- (WebCore::initializeSupportedNonImageMimeTypes):
+ * html/HTML5Lexer.cpp:
+ (WebCore::HTML5Lexer::reset):
+ (WebCore::HTML5Lexer::nextToken):
+ * html/HTML5Lexer.h:
+ (WebCore::HTML5Lexer::skipLeadingNewLineForListing):
+ * html/HTML5TreeBuilder.cpp:
+ (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
-2010-04-02 Adam Barth <abarth@webkit.org>
+2010-05-26 Eric Seidel <eric@webkit.org>
- Reviewed by Daniel Bates.
+ Reviewed by Adam Barth.
- Make XSSAuditor go fast with large POST data
- https://bugs.webkit.org/show_bug.cgi?id=36694
+ Teach the HTML5 parser how to handle external scripts
+ https://bugs.webkit.org/show_bug.cgi?id=39716
- There were two things slowing down this bechmark:
+ Make it possible for the HTML5Tokenizer to run external scripts.
+ I created a new class HTML5ScriptRunner to hold all of the
+ script-logic which is scattered throughout the old HTMLTokenizer.
- 1) Searching the large POST data for each inline event handler. To
- make this faster, we now use a suffix tree to fast-reject strings
- that don't appear as substrings of the POST data.
+ The design is for the HTML5Tokenizer (the "controller") to hold
+ the Lexer, TreeBuilder and ScriptRunner. The Lexer returns back
+ to the controller, which passes tokens to the TreeBuilder. When the
+ treebuilder encounters a </script> tag it pauses itself and returns
+ back to the controller which calls the ScriptRunner. The TreeBuilder
+ is un-paused when the HTML5Tokenizer calls takeScriptToProcess().
- 2) The next largest cost was flattening the form data into a string.
- To make this fater, we now use the form data object itself as a key
- and only flatten once.
+ The ScriptRunner attempts to process the passed script, and additionally
+ any blocked scripts it can. It returns to the controller indicating if
+ parsing should continue. If not, callbacks when external scripts load
+ or when stylesheets are finished parsing will cause the controller to
+ kick off script execution and parsing again at a later point.
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
- * page/XSSAuditor.cpp:
- (WebCore::XSSAuditor::CachingURLCanonicalizer::canonicalizeURL):
- (WebCore::XSSAuditor::CachingURLCanonicalizer::clear):
- (WebCore::XSSAuditor::XSSAuditor):
- (WebCore::XSSAuditor::findInRequest):
- * page/XSSAuditor.h:
- (WebCore::XSSAuditor::CachingURLCanonicalizer::CachingURLCanonicalizer):
- (WebCore::XSSAuditor::CachingURLCanonicalizer::generation):
- * platform/text/SuffixTree.h: Added.
- (WebCore::UnicodeCodebook::codeWord):
- (WebCore::UnicodeCodebook::):
- (WebCore::ASCIICodebook::codeWord):
- (WebCore::ASCIICodebook::):
- (WebCore::SuffixTree::SuffixTree):
- (WebCore::SuffixTree::mightContain):
- (WebCore::SuffixTree::Node::Node):
- (WebCore::SuffixTree::Node::~Node):
- (WebCore::SuffixTree::Node::at):
- (WebCore::SuffixTree::build):
-
-2010-04-02 Roland Steiner <rolandsteiner@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Bug 36741 - Duplicate, slightly divergent implementation of Position[Iterator]::isCandidate()
- https://bugs.webkit.org/show_bug.cgi?id=36741
-
- Patch: change Position::isCandididate() to call the PositionIterator::isCandidate() version.
- Update PositionIterator::isCandidate() to mirror Position::isCandidate().
-
- Rationale: PositionIterator::isCandidate() is called in a tight loop within
- next/previousCandidate(). Also, creation of a PositionIterator from a Position
- is cheaper than vice-versa.
-
- Tests: ran all tests in 'editing'.
-
- * dom/Position.cpp:
- (WebCore::Position::isCandidate):
- * dom/PositionIterator.cpp:
- (WebCore::PositionIterator::isCandidate):
-
-2010-04-02 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Database code falsely returns errors due to errant pointer check
- https://bugs.webkit.org/show_bug.cgi?id=37014
-
- r56943 introduced a check to see if there were any unprocessed
- SQL commands after calling sqlite3_prepare16_v2.
-
- Accessing the remaining data via pointer wasn't possible since
- the query string is deallocated immediately after the
- query runs. The String returned from strippedWhiteSpace
- goes out of scope at that point.
-
- Fix is to store the strippedWhiteSpace in a temporary String
- so we can access it via character ptr later in the function.
-
- * platform/sql/SQLiteStatement.cpp:
- (WebCore::SQLiteStatement::prepare):
+ - Add HTML5ScriptRunner.*
+ * bindings/js/CachedScriptSourceProvider.h:
+ - Add missing include discovered while building.
+ * dom/ScriptElement.cpp:
+ (WebCore::ScriptElement::finishParsingChildren):
+ - Remove previous hack for inline <script> execution.
+ * dom/ScriptElement.h:
+ - Explain the HTML5 spec names for m_evaluated and m_createdByParser.
+ * html/HTML5ScriptRunner.cpp: Added.
+ (WebCore::HTML5ScriptRunner::HTML5ScriptRunner):
+ - The HTML5Tokenizer is passed to the HTML5ScriptRunner as a
+ CachedResourceClient. The HTML5ScriptRunner will register the
+ HTML5Tokenizer for notifyFinished callbacks when the scripts load.
+ The HTML5Tokenizer is expected to call the HTML5ScriptRunner to
+ execute any loaded scripts at that point.
+ (WebCore::HTML5ScriptRunner::~HTML5ScriptRunner):
+ (WebCore::HTML5ScriptRunner::frame): Helper method.
+ (WebCore::createScriptLoadEvent): Helper method.
+ (WebCore::createScriptErrorEvent): Helper method.
+ (WebCore::HTML5ScriptRunner::sourceFromPendingScript):
+ - Helper method for dealing with both inline and external script types.
+ (WebCore::HTML5ScriptRunner::isPendingScriptReady):
+ - Helper for dealing with both inline and external scripts.
+ (WebCore::HTML5ScriptRunner::executePendingScript):
+ - Execute one script. Both external and inline scripts
+ can become m_parsingBlockingScript if they can't be executed
+ immediately after parsing.
+ (WebCore::HTML5ScriptRunner::execute):
+ - Takes a script element from the tree builder and tries
+ to process it.
+ (WebCore::HTML5ScriptRunner::executeParsingBlockingScripts):
+ - Runs the current parsing blocking script if ready.
+ - Running a script could add another parsing blocking script
+ so we loop until there is no ready-to-run parsing blocking script.
+ (WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad):
+ - Called by HTML5Tokenizer when a script loads.
+ (WebCore::HTML5ScriptRunner::executeScriptsWaitingForStylesheets):
+ - Called by HTML5Tokenizer when stylesheets complete.
+ (WebCore::HTML5ScriptRunner::requestScript):
+ - Transcription of the HTML5 spec.
+ (WebCore::HTML5ScriptRunner::runScript):
+ - Transcription of the HTML5 spec.
+ * html/HTML5ScriptRunner.h: Added.
+ - New class to handle script loading and execution for the HTML5 parser.
+ * html/HTML5Tokenizer.cpp:
+ (WebCore::HTML5Tokenizer::HTML5Tokenizer):
+ - Create a HTML5ScriptRunner and pass it "this" as the CachedResourceClient.
+ (WebCore::HTML5Tokenizer::pumpLexer):
+ - When the parser is paused, try to run scripts.
+ (WebCore::HTML5Tokenizer::write):
+ - Only pump the lexer when the parser is not paused.
+ (WebCore::HTML5Tokenizer::end):
+ - finish() tells us that we've reached EOF, not end()
+ - Only pump the lexer when the parser is not paused.
+ (WebCore::HTML5Tokenizer::finish):
+ - Mark EOF, and end() if we're not waiting on scripts.
+ (WebCore::HTML5Tokenizer::isWaitingForScripts):
+ - isPaused() seems to mean isPausedForExternalScripts().
+ (WebCore::HTML5Tokenizer::resumeParsingAfterScriptExecution):
+ (WebCore::HTML5Tokenizer::notifyFinished):
+ (WebCore::HTML5Tokenizer::executeScriptsWaitingForStylesheets):
+ * html/HTML5Tokenizer.h:
+ * html/HTML5TreeBuilder.cpp:
+ (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
+ - Add an m_isPaused flag.
+ (WebCore::HTML5TreeBuilder::handleScriptStartTag):
+ (WebCore::HTML5TreeBuilder::handleScriptEndTag):
+ (WebCore::HTML5TreeBuilder::takeScriptToProcess):
+ - Acknowledge that the caller has received the script element.
+ It is the caller's responsibility to execute the script if necessary
+ and re-pause the tree builder if necessary.
+ (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
+ - Save off the current script tag so that it can be passed to
+ the HTML5ScriptRunner when we're paused.
+ * html/HTML5TreeBuilder.h:
+ (WebCore::HTML5TreeBuilder::setPaused):
+ (WebCore::HTML5TreeBuilder::isPaused):
+
+2010-05-26 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Implement SegmentedString::lookAheadSlowCase
+ https://bugs.webkit.org/show_bug.cgi?id=39802
+
+ The slow case is need by the resumer test suite. Sadly, the resumer
+ test suite is really slow and produces infinite errors (many of which
+ are false positives). I'll land more of the resumer test suite in a
+ future patch.
+
+ * platform/text/SegmentedString.cpp:
+ (WebCore::SegmentedString::advance):
+ * platform/text/SegmentedString.h:
+ (WebCore::SegmentedString::lookAhead):
+ (WebCore::SegmentedString::lookAheadIgnoringCase):
+ (WebCore::SegmentedString::equalsLiterally):
+ (WebCore::SegmentedString::equalsIgnoringCase):
+ (WebCore::SegmentedString::lookAheadInline):
+ (WebCore::SegmentedString::lookAheadSlowCase):
-2010-04-01 MORITA Hajime <morrita@google.com>
+2010-05-26 Jer Noble <jer.noble@apple.com>
- Reviewed by Darin Adler.
-
- setting document.title doesn't change document.title value
- https://bugs.webkit.org/show_bug.cgi?id=36802
+ Patch edited by Adele Peterson and Mark Rowe.
+ Reviewed by Eric Carlson
- An entity of "value" argument on HTMLTitleElement::setTitle() could be
- Document::m_title and be changed during HTMLTitleElement::setText().
- Fix copying the argument to keep the original value.
+ Video elements show no video on Windows machines that do not support accelerated compositing
+ https://bugs.webkit.org/show_bug.cgi?id=39446
+ rdar://problem/7999794
- Test: fast/dom/Document/title-with-multiple-children.html
+ Create the visual context in setUpVideoRendering (as opposed to in load), and destroy it in
+ tearDownVideoRendering (as opposed to in the destructor.)
- * html/HTMLTitleElement.cpp:
- (WebCore::HTMLTitleElement::setText):
-
-2010-04-01 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Maemo5 theme - <select multiple> custom rendering
- https://bugs.webkit.org/show_bug.cgi?id=36369
-
- Customizing rendering of <select multiple> elements in Maemo5.
-
- * platform/qt/Maemo5Webstyle.cpp:
- (Maemo5WebStyle::drawMultipleComboButton):
- (Maemo5WebStyle::drawSimpleComboButton):
- (Maemo5WebStyle::getButtonImageSize):
- (Maemo5WebStyle::findComboButton):
- (Maemo5WebStyle::drawComplexControl):
- * platform/qt/Maemo5Webstyle.h:
-
-2010-04-01 Kinuko Yasuda <kinuko@chromium.org>
-
- Reviewed by Dmitry Titov.
-
- Add FileThread for async file operation support in FileReader and FileWriter
- https://bugs.webkit.org/show_bug.cgi?id=36896
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
+ (WebCore::MediaPlayerPrivateQuickTimeVisualContext::~MediaPlayerPrivateQuickTimeVisualContext):
+ (WebCore::MediaPlayerPrivateQuickTimeVisualContext::load): Moved creation of the visual context to setUpVideoRendering.
+ (WebCore::MediaPlayerPrivateQuickTimeVisualContext::paint): Return early if the visual context isn't set up.
+ (WebCore::MediaPlayerPrivateQuickTimeVisualContext::currentRenderingMode): If the visual context isn't set up,
+ return MediaRenderingNone.
+ (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpVideoRendering): Create the visual context.
+ (WebCore::MediaPlayerPrivateQuickTimeVisualContext::tearDownVideoRendering): Destroy the visual context.
+ (WebCore::MediaPlayerPrivateQuickTimeVisualContext::hasSetUpVideoRendering): For software rendering mode,
+ make sure the visual context has been set up when saying the setup has been done.
+ * platform/graphics/win/QTMovieVisualContext.cpp:
+ (QTMovieVisualContextPriv::~QTMovieVisualContextPriv): Destruction moved to tearDownVideoRendering.
+ Also, make sure to cancel the visual context's newImageAvailable callback in the visual context's destructor.
+ (QTMovieVisualContext::create): Added.
+ * platform/graphics/win/QTMovieVisualContext.h:
- Add FileThread for async file operation support for FileReader and
- FileWriter. The patch also adds ENABLE_FILE_READER or
- ENABLE_FILE_WRITER build flags/defines. Both flags are disabled
- by default.
+2010-05-26 Gustavo Noronha Silva <gns@gnome.org>
- No new tests, will add ones when after adding modules which use the thread.
+ Build fixes for make distcheck.
- * Configurations/FeatureDefines.xcconfig:
* GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * dom/ScriptExecutionContext.cpp:
- (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
- (WebCore::ScriptExecutionContext::fileThread):
- * dom/ScriptExecutionContext.h:
- * html/FileThread.cpp: Added.
- (WebCore::FileThread::FileThread):
- (WebCore::FileThread::~FileThread):
- (WebCore::FileThread::start):
- (WebCore::FileThread::stop):
- (WebCore::FileThread::postTask):
- (WebCore::SameFilePredicate::SameFilePredicate):
- (WebCore::SameFilePredicate::operator()):
- (WebCore::FileThread::removeTask):
- (WebCore::FileThread::fileThreadStart):
- (WebCore::FileThread::runLoop):
- * html/FileThread.h: Added.
- (WebCore::FileThread::create):
- (WebCore::FileThread::Task::Task):
- (WebCore::FileThread::Task::~Task):
- (WebCore::FileThread::Task::fileHandle):
- * platform/Logging.cpp:
- (WebCore::):
- (WebCore::getChannelFromName):
- * platform/Logging.h:
-
-2010-04-01 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed. Rollout of http://trac.webkit.org/changeset/56930
- https://bugs.webkit.org/show_bug.cgi?id=36977
-
- * accessibility/AccessibilityImageMapLink.cpp:
- (WebCore::AccessibilityImageMapLink::accessibilityDescription):
-
-2010-04-01 MORITA Hajime <morrita@google.com>
-
- Reviewed by Darin Adler.
-
- WebCore::Document::updateLayoutIgnorePendingStylesheets NULL pointer
- https://bugs.webkit.org/show_bug.cgi?id=31680
- Ownerless nodes leads a crash on DOMSelection APIs
- https://bugs.webkit.org/show_bug.cgi?id=36800
-
- Added guards nodes from foreign documents to DOMSelection APIs.
-
- Tests: editing/selection/DOMSelection-DocumentType.html
- editing/selection/DOMSelection-crossing-document.html
-
- * editing/VisiblePosition.cpp:
- (WebCore::VisiblePosition::canonicalPosition):
- * page/DOMSelection.cpp:
- (WebCore::DOMSelection::collapse):
- (WebCore::DOMSelection::setBaseAndExtent):
- (WebCore::DOMSelection::setPosition):
- (WebCore::DOMSelection::extend):
- (WebCore::DOMSelection::containsNode):
- (WebCore::DOMSelection::isValidForPosition):
- * page/DOMSelection.h:
-
-2010-04-01 Chris Evans <cevans@chromium.org>
- Reviewed by Adam Barth.
-
- Fix a NULL pointer crash if @import fails to load a stylesheet.
-
- https://bugs.webkit.org/show_bug.cgi?id=36804
-
- Test: fast/xsl/xslt-bad-import-uri.html
-
- * xml/XSLStyleSheetLibxslt.cpp:
- (WebCore::XSLStyleSheet::parseString):
- Handle an empty string gracefully. An empty string has a NULL
- buffer, which we pass in to xmlCreateMemoryParserCtxt(). It returns
- NULL if it is passed a NULL buffer.
- In the top-level XSL case, the current code does not crash "by luck"
- because the other APIs used can handle a NULL argument. In the
- @import case, additional code runs which will deference the NULL.
-
-2010-04-01 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=36854
- <rdar://problem/7811668> REGRESSION (r47291): Body from cross origin preflight response
- is prepended to the actual response body
-
- Tests: http/tests/xmlhttprequest/access-control-response-with-body-sync.html
- http/tests/xmlhttprequest/access-control-response-with-body.html
-
- * loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::didReceiveData):
- Don't send data to the client when handling a preflight request.
-
-2010-04-01 Ada Chan <adachan@apple.com>
-
- Reviewed by Darin Adler.
-
- Change DatabaseTracker::deleteOrigin() to return true if there are no errors in deleting the origin.
- Ditto for DatabaseTracker::deleteDatabase().
-
- https://bugs.webkit.org/show_bug.cgi?id=36988
-
- * storage/DatabaseTracker.cpp:
- (WebCore::DatabaseTracker::deleteOrigin):
- (WebCore::DatabaseTracker::deleteDatabase):
- * storage/DatabaseTracker.h:
-
-2010-04-01 Simon Fraser <simon.fraser@apple.com>
+2010-05-26 Zelidrag Hornung <zelidrag@chromium.org>
- No review.
+ Reviewed by Ojan Vafai.
- Remove some casts that I indended to remove before committing r56948.
+ Fixed frame page up/down scrolling calculation. Made sure that the
+ cursor moves with page up/down event. Please note that now for mac
+ editing behavior we will scroll the content to center the cursor on
+ page up/down while other platforms will align the cursor with the top of
+ displayed frame.
+ https://bugs.webkit.org/show_bug.cgi?id=38213
- * rendering/RenderTreeAsText.cpp:
- (WebCore::writeRenderObject):
- (WebCore::write):
+ Tests: editing/input/option-page-up-down.html (fixed)
+ editing/input/scroll-viewport-page-up-down.html
-2010-04-01 Simon Fraser <simon.fraser@apple.com>
+ * WebCore.base.exp:
+ * editing/EditorCommand.cpp:
+ (WebCore::verticalScrollDistance): Fixed page scroll calculation. Now scroll height is calculated only from the visible portion not the entire frame height.
+ (WebCore::executeMovePageDown): Now it can tell SelectionController to move the cursor with the page scroll up/down events.
+ (WebCore::executeMovePageDownAndModifySelection): Ditto.
+ (WebCore::executeMovePageUp): Ditto.
+ (WebCore::executeMovePageUpAndModifySelection): Ditto.
+ * editing/SelectionController.cpp:
+ * editing/SelectionController.cpp: Exposed an enum param that lets EditorCommand.cpp control how cursor position will be aligned when page moves.
+ (WebCore::SelectionController::setSelection): Ditto.
+ (WebCore::SelectionController::modify): Ditto.
+ * editing/SelectionController.h: Ditto.
+ (WebCore::SelectionController::): Ditto.
+ (WebCore::SelectionController::setSelection): Ditto.
- Reviewed by Darin Adler.
+2010-05-26 Jaime Yap <jaimeyap@google.com>
- Assertion failure (willBeComposited == needsToBeComposited(layer)) in
- RenderLayerCompositor::computeCompositingRequirements() on hulu.com
- https://bugs.webkit.org/show_bug.cgi?id=36516
-
- Fix assertions added in r56017. That changed replaced calls to needsToBeComposited()
- with use of the local 'willBeComposited' variable, but that fails to take into
- account the fact that needsToBeComposited() also tests layer->isSelfPaintingLayer().
-
- Fix by adding a canBeComposited() method that we call before testing
- whether the layer should go into compositing mode.
+ Reviewed by Pavel Feldman.
- Test: compositing/self-painting-layers2.html
+ ScriptCallStack::callLocation() sometimes passed an empty handle to
+ toWebCoreString() causing a null pointer deref.
+ https://bugs.webkit.org/show_bug.cgi?id=39681
- * rendering/RenderLayerCompositor.cpp:
- (WebCore::RenderLayerCompositor::calculateCompositedBounds): Repace use of isSelfPaintingLayer()
- with a call to canBeComposited().
- (WebCore::RenderLayerCompositor::computeCompositingRequirements): Call canBeComposited() to ensure
- that we only toggle 'willBeComposited' for layers that can.
- (WebCore::RenderLayerCompositor::needsToBeComposited): Call canBeComposited().
- (WebCore::RenderLayerCompositor::canBeComposited): Test if compositing is enabled, and whether
- the layer is self-painting.
- * rendering/RenderLayerCompositor.h: Add canBeComposited().
+ * bindings/v8/ScriptCallStack.cpp:
+ (WebCore::ScriptCallStack::callLocation):
-2010-04-01 Simon Fraser <simon.fraser@apple.com>
+2010-05-26 Brian Weinstein <bweinstein@apple.com>
- Reviewed by Darin Adler.
+ Reviewed by Mark Rowe.
- https://bugs.webkit.org/show_bug.cgi?id=36980
- Add object addresses to debug showLayerTree() output.
+ Web Inspector: Tooltip on Pause on Exceptions doesn't show up until it is clicked.
+ https://bugs.webkit.org/show_bug.cgi?id=39804
- Add the ability to print RenderLayer and RenderObject addresses in the showLayerTree()
- output.
-
- * platform/text/TextStream.cpp:
- (WebCore::TextStream::operator<<):
- * platform/text/TextStream.h:
- * rendering/RenderLayer.cpp:
- (showLayerTree):
- * rendering/RenderTreeAsText.cpp:
- (WebCore::writeRenderObject):
- (WebCore::write):
- * rendering/RenderTreeAsText.h:
+ Initialize the title attribute of the Pause on Exceptions button when we initialize other information
+ about it.
-2010-03-29 Dumitru Daniliuc <dumi@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Changing SQLiteStatement::prepare() to return an error when it's
- given a string that has more than one statement in it. Currently,
- everything past the first statement is silently ignored.
-
- Test: storage/executesql-accepts-only-one-statement.html
-
- * platform/sql/SQLiteStatement.cpp:
- (WebCore::SQLiteStatement::prepare):
-
-2010-04-01 James Robinson <jamesr@chromium.org>
-
- Reviewed by Simon Fraser.
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel):
- Keeps a transient optimistic offset to the root in RenderLayer::updateLayerPositions
- https://bugs.webkit.org/show_bug.cgi?id=33520
+2010-05-26 Adam Barth <abarth@webkit.org>
- RenderLayer::updateLayerPositions() makes a recursive walk through all RenderLayers and updates the repaint rectangles on each.
- These rectangles have to be calculated in the repaint container's coordinates using RenderObject::mapLocalToContainer to walk
- up to the repaint container. This patch keeps track of the offset to the root and uses that offset instead of walking back up to
- the root every time.
+ Unreviewed, rolling out r60262.
+ http://trac.webkit.org/changeset/60262
+ https://bugs.webkit.org/show_bug.cgi?id=39783
- Tests: fast/layers/nested-layers-1.html
- fast/layers/nested-layers-2.html
- fast/layers/nested-layers-3.html
- fast/layers/nested-layers-4.html
+ Broke every build and is blocking me from working. :(
- * page/FrameView.cpp:
- (WebCore::FrameView::layout):
- * rendering/RenderBox.cpp:
- (WebCore::RenderBox::outlineBoundsForRepaint):
- * rendering/RenderBox.h:
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
+ (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
+ (WebCore::RenderBlock::moveChildTo):
+ (WebCore::RenderBlock::moveAllChildrenTo):
+ (WebCore::RenderBlock::makeChildrenNonInline):
+ (WebCore::RenderBlock::removeChild):
+ * rendering/RenderBlock.h:
* rendering/RenderLayer.cpp:
- (WebCore::RenderLayer::updateLayerPositions):
- * rendering/RenderLayer.h:
- * rendering/RenderObject.h:
- (WebCore::RenderObject::outlineBoundsForRepaint):
- * rendering/RenderSVGModelObject.cpp:
- (WebCore::RenderSVGModelObject::outlineBoundsForRepaint):
- * rendering/RenderSVGModelObject.h:
-
-2010-04-01 Daniel Bates <dbates@rim.com>
-
- Reviewed by Darin Adler.
+ (WebCore::RenderLayer::addChild):
+ * rendering/RenderObjectChildList.cpp:
+ (WebCore::RenderObjectChildList::insertChildNode):
+ * rendering/RenderRubyBase.cpp:
+ (WebCore::RenderRubyBase::moveInlineChildren):
+ (WebCore::RenderRubyBase::moveBlockChildren):
+ (WebCore::RenderRubyBase::mergeBlockChildren):
- https://bugs.webkit.org/show_bug.cgi?id=36901
+2010-05-26 Anders Carlsson <andersca@apple.com>
- Removed functions Range::operator == and Range::operator != as they
- were using C++ code that was not sound and hence may have undefined
- behavior.
+ Unreviewed, rolling out r60256.
+ http://trac.webkit.org/changeset/60256
+ https://bugs.webkit.org/show_bug.cgi?id=39382
- Test case: manual-tests/crash-on-find-with-no-selection.html
+ Causes fast/dom/prototype-inheritance-2.html to start
+ crashing.
- * dom/Range.cpp:
- (WebCore::areRangesEqual): Added.
- * dom/Range.h:
- * editing/markup.cpp:
- (WebCore::createMarkup): Modified to call WebCore::areRangesEqual.
- * manual-tests/crash-on-find-with-no-selection.html: Added.
- * page/Frame.cpp:
- (WebCore::Frame::findString): Modified to call WebCore::areRangesEqual.
+ * history/PageCache.cpp:
+ (WebCore::PageCache::PageCache):
+ (WebCore::PageCache::add):
+ * history/PageCache.h:
+ (WebCore::PageCache::get):
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::commitIfReady):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::canCachePageContainingThisFrame):
+ (WebCore::FrameLoader::canCachePage):
+ (WebCore::pageCacheLogPrefix):
+ (WebCore::pageCacheLog):
+ (WebCore::FrameLoader::logCanCachePageDecision):
+ (WebCore::FrameLoader::logCanCacheFrameDecision):
+ (WebCore::FrameLoader::commitProvisionalLoad):
+ (WebCore::FrameLoader::open):
+ (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
+ (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
+ (WebCore::FrameLoader::cachePageForHistoryItem):
+ (WebCore::FrameLoader::navigateToDifferentDocument):
+ * loader/FrameLoader.h:
+ * svg/graphics/SVGImage.cpp:
+ (WebCore::SVGImage::dataChanged):
-2010-04-01 Geoffrey Garen <ggaren@apple.com>
+2010-05-26 David Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
- Synchronous rendering when setting form control values slows down JavaScript
- https://bugs.webkit.org/show_bug.cgi?id=36967
-
- This patch basically reverts http://trac.webkit.org/changeset/19006.
+ https://bugs.webkit.org/show_bug.cgi?id=39783, clean up the moveChild functions on RenderBlock.
- Dan asked me to investigate why 19006 is no longer needed. I have two answers:
-
- (1) I was also able to remove the synchronous call to updateFromElement().
- That call was the proximate cause of the crash that 19006 fixed.
-
- (2) updateFromElement() no longer calls HTMLElement::setInnerText()
- in the way that it used to. (However, it doesn't seem prudent to
- rely on this happy coincidence.)
-
- * html/HTMLInputElement.cpp:
- (WebCore::HTMLInputElement::setValue): Simplified some logic here. Moved
- setNeedsValidityCheck() outside of individual 'if' clauses, since they all
- called it.
+ Eliminate the need to pass the toChildrenList to the moveChild functions by tightening up the type of the
+ |to| argument to be a RenderBlock.
- Removed call to updateStyleIfNeeded(), which does rendering synchronously,
- since that was the performance problem. (setNeedsStyleRecalc() ensures
- that rendering will happen asynchronously.) Also removed comment about
- ordering dangers introduced by updateStyleIfNeeded().
-
- Removed call to updateFromElement(), since it's dangerous and also a minor
- performance problem. (setNeedsStyleRecalc() ensures that updateFromElement()
- will happen asynchronously, too.)
-
- * html/HTMLTextAreaElement.cpp:
- (WebCore::HTMLTextAreaElement::setNonDirtyValue): Ditto. Here, I had to
- add a call to setNeedsStyleRecalc(), since there wasn't one before.
-
-2010-04-01 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: Sometimes js code can detach page from it's frame and in that case
- Dispatch Events will stay in the TimelineAgent's events stack. Only immediate events will
- appear at frontend.
- https://bugs.webkit.org/show_bug.cgi?id=36890
-
- * bindings/v8/V8Proxy.cpp:
- (WebCore::V8Proxy::callFunction):
- * dom/Node.cpp:
- (WebCore::Node::dispatchGenericEvent):
- * page/DOMWindow.cpp:
- (WebCore::DOMWindow::dispatchEvent):
-
-2010-04-01 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Beth Dakin.
-
- Bug 36977 - aria-label doesn't work on image map area
- https://bugs.webkit.org/show_bug.cgi?id=36977
-
- Test: platform/mac/accessibility/area-with-aria-label.html
-
- * accessibility/AccessibilityImageMapLink.cpp:
- (WebCore::AccessibilityImageMapLink::accessibilityDescription):
-
-2010-04-01 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Assertion failure: !repaintContainer || repaintContainer == this
- https://bugs.webkit.org/show_bug.cgi?id=36672
-
- RenderText's implementation of clippedOverflowRectForRepaint() uses containingBlock()
- to get the renderer to use for computing the repaint rect. However, the renderer returned
- by containingBlock() may be an ancestor of the repaintContainer, and containingBlock()
- doesn't have the 'repaintContainerSkipped' logic that container() has.
-
- So in this case, check to see whether repaintContainer is actually a descendant of the
- containing block, and in that case just repaint the entire repaintContainer.
-
- Test: compositing/repaint/inline-repaint-container.html
-
- * rendering/RenderText.cpp:
- (WebCore::RenderText::clippedOverflowRectForRepaint):
-
-2010-04-01 Csaba Osztrogonác <ossy@webkit.org>
-
- Reviewed by Jian Li.
-
- [Qt] REGRESSION(r56869): Windows build is broken
- https://bugs.webkit.org/show_bug.cgi?id=36929
-
- * WebCore.pro: LIBS += -lOle32 added.
- * platform/UUID.cpp: Define ARRAYSIZE macro if it isn't defined before.
-
-2010-04-01 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Beth Dakin.
-
- Bug 36968 - 1 crash in Safari at com.apple.WebCore: WebCore::Element::getAttribute const
- https://bugs.webkit.org/show_bug.cgi?id=36968
+ Add a moveChildrenTo function that can move a range of children, and patch places that were doing this
+ by hand.
- Test: accessibility/crash-with-noelement-selectbox.html
-
- When a <select> element had no options, the selectedIndex == -1 and that was being
- used to index into an empty array.
-
- * accessibility/AccessibilityRenderObject.cpp:
- (WebCore::AccessibilityRenderObject::stringValue):
-
-2010-04-01 MORITA Hajime <morrita@google.com>
-
- Reviewed by Shinichiro Hamaji.
-
- https://bugs.webkit.org/show_bug.cgi?id=36948
- Refactoring: Position::primaryDirection() should be extracted.
-
- No new tests. No functinal change.
-
- * dom/Position.cpp:
- (WebCore::Position::getInlineBoxAndOffset):
- (WebCore::Position::primaryDirection): Added
- * dom/Position.h:
- * editing/VisiblePosition.cpp:
- (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
- (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
-
-2010-04-01 Alexander Pavlov <apavlov@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: Audits: fix parsing of injected script-evaluated result for CssInHeadRule
- https://bugs.webkit.org/show_bug.cgi?id=36952
-
- * inspector/front-end/AuditRules.js:
- (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
-
-2010-03-31 Jeremy Orlow <jorlow@chromium.org>
-
- Reviewed by Nate Chapin.
-
- Misc IndexedDatabase cleanup
- https://bugs.webkit.org/show_bug.cgi?id=36889
-
- No functional changes.
-
- * bindings/v8/custom/V8CustomIDBCallbacks.h:
- (WebCore::V8CustomIDBCallbacks::onSuccess):
- (WebCore::V8CustomIDBCallbacks::onError):
- (WebCore::V8CustomIDBCallbacks::V8CustomIDBCallbacks):
- Get rid of 2 largely redundant bools
-
- * storage/IndexedDatabase.h:
- * storage/IndexedDatabaseImpl.cpp:
- (WebCore::IndexedDatabaseImpl::open):
- * storage/IndexedDatabaseImpl.h:
- * storage/IndexedDatabaseRequest.cpp:
- (WebCore::IndexedDatabaseRequest::open):
- * storage/IndexedDatabaseRequest.h:
- Plumb the Frame* and style cleanups.
-
-2010-03-31 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Reviewed by Dirk Schulze.
-
- REGRESSION: document.documentElement.getScreenCTM() returns incorrect matrix.
- https://bugs.webkit.org/show_bug.cgi?id=27183
-
- Rewrite getCTM() / getScreenCTM() handling in an iterative way, fixing all known problems/limitations.
- The bug mentioned above is actually not a regression, getScreenCTM() only worked before, because we
- did not handle non-SVG CSS box parents properly. When support was added to handle those cases, the
- getScreenCTM() handling was completly off, causing a lot of trouble in real-life SVG applications (carto.net for instance)
-
- Tests: svg/custom/svgsvgelement-ctm.xhtml (fixed typo, missing unit identifier in CSS 'height' property, leading to incorrect results)
- svg/custom/svgsvgelement-ctm2.xhtml
- svg/custom/svgsvgelement-ctm3.xhtml
- svg/custom/svgsvgelement-ctm4.xhtml
- svg/custom/svgsvgelement-ctm5.xhtml
-
- * svg/SVGLocatable.cpp:
- (WebCore::SVGLocatable::getBBox):
- (WebCore::SVGLocatable::computeCTM):
- * svg/SVGLocatable.h:
- (WebCore::SVGLocatable::localCoordinateSpaceTransform):
- * svg/SVGSVGElement.cpp:
- (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
- (WebCore::SVGSVGElement::createRenderer):
- * svg/SVGSVGElement.h:
- * svg/SVGStyledElement.cpp:
- (WebCore::SVGStyledElement::localCoordinateSpaceTransform):
- * svg/SVGStyledElement.h:
- * svg/SVGStyledLocatableElement.cpp:
- (WebCore::SVGStyledLocatableElement::getCTM):
- (WebCore::SVGStyledLocatableElement::getScreenCTM):
- * svg/SVGStyledLocatableElement.h:
- (WebCore::SVGStyledLocatableElement::localCoordinateSpaceTransform):
- * svg/SVGStyledTransformableElement.cpp:
- (WebCore::SVGStyledTransformableElement::getCTM):
- (WebCore::SVGStyledTransformableElement::getScreenCTM):
- * svg/SVGStyledTransformableElement.h:
- (WebCore::SVGStyledTransformableElement::localCoordinateSpaceTransform):
- * svg/SVGTextElement.cpp:
- (WebCore::SVGTextElement::getCTM):
- (WebCore::SVGTextElement::getScreenCTM):
- * svg/SVGTextElement.h:
- (WebCore::SVGTextElement::localCoordinateSpaceTransform):
- * svg/SVGTransformable.cpp:
- (WebCore::SVGTransformable::SVGTransformable):
- * svg/SVGTransformable.h:
- (WebCore::SVGTransformable::localCoordinateSpaceTransform):
-
-2010-04-01 Vitaly Repeshko <vitalyr@chromium.org>
-
- Reviewed by Darin Fisher.
-
- [V8] Quick fix for failure in SerializedScriptValue
- https://bugs.webkit.org/show_bug.cgi?id=36943
-
- This allows the web worker layout tests to pass again.
-
- * bindings/v8/SerializedScriptValue.h:
- (WebCore::SerializedScriptValue::deserializeAndSetProperty):
-
-2010-03-31 MORITA Hajime <morrita@google.com>
+ Make the append forms of the functions just use the insert forms with a beforeChild of 0.
- Reviewed by Darin Adler.
-
- Crash when writing into a detached TITLE element
- https://bugs.webkit.org/show_bug.cgi?id=25567
+ Patch insertChildNode in RenderObjectChildList so that it passes the fullInsert parameter through in the
+ case where it does an append.
- Document::setTitle() invoked HTMLTitleElement::setText(), which
- contains DOM tree modification, even when setTitle() is called
- from HTMLTitleElement::childrenChanged(). Fix to skip setText()
- when setTitle() is called childrenChanged() to avoid cascading
- DOM mutations between Document and HTMLTitleElement.
-
- Test: fast/dom/title-content-write-set.html
-
- * dom/Document.cpp:
- (WebCore::Document::setTitle):
-
-2010-04-01 Roland Steiner <rolandsteiner@chromium.org>
-
- Reviewed by Darin Adler.
-
- Bug 36803 - 'Inline-table' workaround for <ruby> broken with ruby support
- https://bugs.webkit.org/show_bug.cgi?id=36803
-
- Don't use ruby rendering if the underlying 'display' property has been
- changed into a value other than 'inline' or 'block' (such as 'inline-table').
-
- Test: fast/ruby/ruby-inline-table.html
-
- * rendering/RenderObject.cpp:
- (WebCore::RenderObject::createObject):
-
-2010-03-31 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler.
-
- Crash submitting display:none textarea in a form
- https://bugs.webkit.org/show_bug.cgi?id=36905
-
- Test: fast/forms/textarea-submit-crash.html
-
- * html/HTMLTextAreaElement.cpp:
- (WebCore::HTMLTextAreaElement::appendFormData): Do update layout before
- asking our renderer for its text, since we can't rely on our renderer's
- text if layout is needed.
-
- * rendering/RenderTextControl.cpp:
- (WebCore::RenderTextControl::textWithHardLineBreaks): Don't update layout
- while being asked for our text, since doing so may delete us, causing a crash.
-
-2010-03-31 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Darin Adler.
-
- Bug 36845 - AX: need a way to set the label of a AXWebArea through WebKit
- https://bugs.webkit.org/show_bug.cgi?id=36845
-
- Provide a way through WebKit to set an accessible label that describes the web area.
-
- Test: platform/mac/accessibility/html-with-aria-label.html
-
- * accessibility/AccessibilityObject.h:
- (WebCore::AccessibilityObject::setAccessibleName):
- * accessibility/AccessibilityRenderObject.cpp:
- (WebCore::AccessibilityRenderObject::accessibilityDescription):
- (WebCore::AccessibilityRenderObject::setAccessibleName):
- * accessibility/AccessibilityRenderObject.h:
-
-2010-03-31 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Darin Adler.
-
- <http://webkit.org/b/36878> REGRESSION: Trailing colon on hostnames (with no port specified) causes "Not allowed to use restricted network port"
-
- * platform/KURL.cpp:
- (WebCore::KURL::port): Explicitly handle the case of a colon being present in the URL after the host name but with
- no port number before the path. This is handled in the same manner as the colon and port being omitted completely.
-
-2010-03-31 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Remove dependency on TextBreakIterator from StringImpl.cpp,
- and from member methods of String.
-
- Make 'numGraphemeClusters' & 'numCharactersInGraphemeClusters'
- global function defined in PlatformString.h, rather than
- member methods on String (these can be implemented purely
- using the characters() and length() public interface),
- and make 'makeCapitalized' a static function in RenderText.cpp.
-
- * dom/InputElement.cpp:
- (WebCore::InputElement::sanitizeUserInputValue):
- (WebCore::InputElement::handleBeforeTextInsertedEvent):
- * html/HTMLInputElement.cpp:
- (WebCore::HTMLInputElement::tooLong):
- * html/HTMLTextAreaElement.cpp:
- (WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent):
- (WebCore::HTMLTextAreaElement::sanitizeUserInputValue):
- (WebCore::HTMLTextAreaElement::tooLong):
- * platform/text/PlatformString.h:
- (WebCore::String::makeSecure):
- * platform/text/String.cpp:
- (WebCore::numGraphemeClusters):
- (WebCore::numCharactersInGraphemeClusters):
- * platform/text/StringImpl.cpp:
- * platform/text/StringImpl.h:
- * rendering/RenderText.cpp:
- (WebCore::makeCapitalized):
- (WebCore::RenderText::setTextInternal):
-
-2010-03-31 Vitaly Repeshko <vitalyr@chromium.org>
-
- Reviewed by David Levin.
-
- [V8] SerializedScriptValue must be deserialized only once and in the right context
- https://bugs.webkit.org/show_bug.cgi?id=36892
-
- See also https://bugs.webkit.org/show_bug.cgi?id=34227 for the
- corresponding JSC change.
-
- General idea: SerializedScriptValue must be deserialized only once
- and in the context of the intended MessageEvent recepient. The
- approach we take for now is to eagerly deserialize when a
- JavaScript wrapper for MessageEvent is created.
-
- A better fix would be to keep a reference to the context in
- MessageEvent and use it when lazily deserializing. It's harder to
- do since the API doesn't have a clean method to have such a reference.
-
- Tested by fast/dom/Window/window-postmessage-clone-frames.html. This
- test still fails but only for the types which we can't serialize yet.
-
- * bindings/scripts/CodeGeneratorV8.pm:
- * bindings/v8/SerializedScriptValue.h:
- (WebCore::SerializedScriptValue::deserializeAndSetProperty):
- * bindings/v8/custom/V8MessageEventCustom.cpp:
- (WebCore::V8MessageEvent::initMessageEventCallback):
-
-2010-03-31 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Fisher.
-
- Cleanup RedirectScheduler
- https://bugs.webkit.org/show_bug.cgi?id=36874
-
- Removed the nutty ScheduledRedirection struct in favor of a hierarchy
- of classes to represent the various kinds of scheduled redirects.
- Doing this lets us get rid of the pseudo RTTI switch statements on
- "type" in favour of calling virtual functions.
-
- No new tests because this change should be API identical with the
- existing RedirectScheduler.
-
- * loader/RedirectScheduler.cpp:
- (WebCore::ScheduledNavigation::ScheduledNavigation):
- (WebCore::ScheduledNavigation::~ScheduledNavigation):
- (WebCore::ScheduledNavigation::isLocationChange):
- (WebCore::ScheduledNavigation::shouldStartTimer):
- (WebCore::ScheduledNavigation::didStartTimer):
- (WebCore::ScheduledNavigation::didStopTimer):
- (WebCore::ScheduledNavigation::delay):
- (WebCore::ScheduledNavigation::lockHistory):
- (WebCore::ScheduledNavigation::lockBackForwardList):
- (WebCore::ScheduledNavigation::wasDuringLoad):
- (WebCore::ScheduledURLNavigation::ScheduledURLNavigation):
- (WebCore::ScheduledURLNavigation::fire):
- (WebCore::ScheduledURLNavigation::didStartTimer):
- (WebCore::ScheduledURLNavigation::didStopTimer):
- (WebCore::ScheduledURLNavigation::url):
- (WebCore::ScheduledURLNavigation::referrer):
- (WebCore::ScheduledURLNavigation::wasUserGesture):
- (WebCore::ScheduledRedirect::ScheduledRedirect):
- (WebCore::ScheduledRedirect::isLocationChange):
- (WebCore::ScheduledRedirect::shouldStartTimer):
- (WebCore::ScheduledLocationChange::ScheduledLocationChange):
- (WebCore::ScheduledRefresh::ScheduledRefresh):
- (WebCore::ScheduledRefresh::fire):
- (WebCore::ScheduledHistoryNavigation::ScheduledHistoryNavigation):
- (WebCore::ScheduledHistoryNavigation::fire):
- (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
- (WebCore::ScheduledFormSubmission::fire):
- (WebCore::RedirectScheduler::redirectScheduledDuringLoad):
- (WebCore::RedirectScheduler::clear):
- (WebCore::RedirectScheduler::scheduleRedirect):
- (WebCore::RedirectScheduler::mustLockBackForwardList):
- (WebCore::RedirectScheduler::scheduleLocationChange):
- (WebCore::RedirectScheduler::scheduleFormSubmission):
- (WebCore::RedirectScheduler::scheduleRefresh):
- (WebCore::RedirectScheduler::locationChangePending):
- (WebCore::RedirectScheduler::scheduleHistoryNavigation):
- (WebCore::RedirectScheduler::timerFired):
- (WebCore::RedirectScheduler::schedule):
- (WebCore::RedirectScheduler::startTimer):
- (WebCore::RedirectScheduler::cancel):
- * loader/RedirectScheduler.h:
-
-2010-03-31 Zhenyao Mo <zmo@google.com>
-
- Reviewed by Darin Fisher.
-
- Hook up WebGLContextAttributes to OpenGL context creation code
- https://bugs.webkit.org/show_bug.cgi?id=33416
-
- Test: fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias.html
-
- * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: Fix an index bug.
- (WebCore::V8HTMLCanvasElement::getContextCallback):
- * platform/graphics/GraphicsContext3D.h: Add members/functions for multisampling/stencil buffer purpose.
- * platform/graphics/mac/Canvas3DLayer.h: Add GraphicsContext3D as a member of Canvas3DLayer.
- * platform/graphics/mac/Canvas3DLayer.mm: Add multisampling support.
- (-[Canvas3DLayer drawInCGLContext:pixelFormat:forLayerTime:displayTime:]):
- * platform/graphics/mac/GraphicsContext3DMac.cpp: Hook up WebGLContextAttributes to OpenGL context creation code for Mac.
- (WebCore::GraphicsContext3D::GraphicsContext3D):
- (WebCore::GraphicsContext3D::~GraphicsContext3D):
- (WebCore::GraphicsContext3D::validateAttributes):
- (WebCore::GraphicsContext3D::reshape):
- (WebCore::GraphicsContext3D::prepareTexture):
- (WebCore::GraphicsContext3D::bindFramebuffer):
- (WebCore::GraphicsContext3D::readPixels):
- * platform/graphics/mac/GraphicsLayerCA.mm: Adjust to modified Canvas3DLayer init call.
- (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D):
-
-2010-03-31 Jian Li <jianli@chromium.org>
-
- Reviewed by Dmitry Titov.
-
- Add support to create UUID string.
- https://bugs.webkit.org/show_bug.cgi?id=36472
-
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * platform/UUID.cpp: Added.
- (WebCore::createCanonicalUUIDString):
- * platform/UUID.h: Added.
-
-2010-03-31 Darin Adler <darin@apple.com>
-
- * rendering/RenderThemeChromiumWin.h: Fix inconsistent line endings.
-
-2010-03-31 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Maemo5 theme - form controls style
- https://bugs.webkit.org/show_bug.cgi?id=36370
-
- Adjusting Mameo5 form elements rendering.
-
- * WebCore.pri:
- * WebCore.pro:
- * css/themeQtMaemo5.css: Added.
- (select):
- (select:disabled):
- (select:active):
- (select:active:disabled):
- (textarea):
- (textarea:disabled):
- (textarea:active):
- * platform/qt/Maemo5Webstyle.cpp: Added.
- (Maemo5WebStyle::Maemo5WebStyle):
- (drawRectangularControlBackgorund):
- (Maemo5WebStyle::drawChecker):
- (Maemo5WebStyle::findChecker):
- (Maemo5WebStyle::drawRadio):
- (Maemo5WebStyle::findRadio):
- (Maemo5WebStyle::drawControl):
- (Maemo5WebStyle::drawComplexControl):
- * platform/qt/Maemo5Webstyle.h: Added.
- * platform/qt/RenderThemeQt.cpp:
- (WebCore::RenderThemeQt::RenderThemeQt):
- (WebCore::RenderThemeQt::isControlStyled):
- (WebCore::RenderThemeQt::popupInternalPaddingBottom):
- (WebCore::RenderThemeQt::extraDefaultStyleSheet):
- (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
- * platform/qt/RenderThemeQt.h:
-
-2010-03-31 Alexey Proskuryakov <ap@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=36897
- <rdar://problem/7804018> REGRESSION (r56429): Flash ads are clipped when main page is scrolled (boxofficemojo.com)
-
- Addressing additional review comments.
-
- * rendering/RenderWidget.cpp: Removed an unneeded include.
- * rendering/RenderWidget.h: Reworded the new comment.
-
-2010-03-31 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Dan Bernstein.
-
- https://bugs.webkit.org/show_bug.cgi?id=36897
- <rdar://problem/7804018> REGRESSION (r56429): Flash ads are clipped when main page is scrolled (boxofficemojo.com)
-
- * manual-tests/plugin-in-iframe-scroll.html: Added.
- * manual-tests/resources/plugin-in-iframe-scroll-iframe.html: Added.
-
- * rendering/RenderWidget.cpp:
- (WebCore::RenderWidget::setWidgetGeometry): This method isn't called when an iframe containing
- the widget moves, so we should store a value that is not dependent on current scroll offset.
- (WebCore::RenderWidget::windowClipRect): Apply scroll offset and window clip now.
-
- * rendering/RenderWidget.h: Renamed m_windowClipRect to m_clipRect, because it is no longer
- in window coordinates.
-
- * WebCore.base.exp: Export RenderWidget::windowClipRect(), since it's no longer inline.
-
-2010-03-31 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Unreviewed crash fix.
-
- Crash with frame flattening on after r56854
- https://bugs.webkit.org/show_bug.cgi?id=36894
-
- Solution tested by Greg Bolsinga, thanks.
-
- * page/FrameView.cpp:
- (WebCore::FrameView::avoidScrollbarCreation):
- * platform/ScrollView.cpp:
- (WebCore::ScrollView::setHasHorizontalScrollbar):
- (WebCore::ScrollView::setHasVerticalScrollbar):
-
-2010-03-31 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Antti Koivisto.
-
- iframe flattening doesn't flatten
- https://bugs.webkit.org/show_bug.cgi?id=36798
-
- Do not draw scrollbars for subframes when frame flattening is
- enabled. Implemented using a virtual method in ScrollView as
- suggested by Dave Hyatt.
-
- Do not suppress scrollbars as that is wrong according to
- Dave Hyatt.
-
- Covered by current tests.
+ Add an assert to RenderLayer that catches bad structure built when the fullInsert/Remove parameters are
+ messed up when using append/insertChildNode.
- * page/FrameView.cpp:
- (WebCore::FrameView::avoidScrollbarCreation):
- * page/FrameView.h:
- * platform/ScrollView.cpp:
- (WebCore::ScrollView::setHasHorizontalScrollbar):
- (WebCore::ScrollView::setHasVerticalScrollbar):
- * platform/ScrollView.h:
- (WebCore::ScrollView::avoidScrollbarCreation):
- * rendering/RenderPart.cpp:
- (WebCore::RenderPart::layoutWithFlattening):
-
-2010-03-30 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Antti Koivisto.
-
- iframe flattening doesn't flatten
- https://bugs.webkit.org/show_bug.cgi?id=36798
-
- Fix wrongly reversing logic in frame flattening check.
-
- Tests:
- fast/frames/flattening/iframe-flattening-fixed-height.html
- fast/frames/flattening/iframe-flattening-fixed-width.html
- fast/frames/flattening/iframe-flattening-fixed-width-and-height.html
- fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling.html
-
- * rendering/RenderPartObject.cpp:
- (WebCore::RenderPartObject::flattenFrame):
-
-2010-03-31 Marcus Bulach <bulach@chromium.org>
-
- Reviewed by Jeremy Orlow.
-
- Implements cancelGeolocationPermissionRequestForFrame.
- Similar to requestGeolocationPermissionForFrame(), passes Geolocation* to cancelGeolocationPermissionRequestForFrame(),
- so that the embedder can identify which Geolocation object is cancelling the pending permission request.
- Calls cancelGeolocationPermissionRequestForFrame() before stopUpdating() so it better matches the startUpdating() / requestPermission() flow.
- https://bugs.webkit.org/show_bug.cgi?id=35031
-
- * loader/EmptyClients.h:
- (WebCore::EmptyChromeClient::cancelGeolocationPermissionRequestForFrame):
- * page/Chrome.cpp:
- (WebCore::Chrome::cancelGeolocationPermissionRequestForFrame):
- * page/Chrome.h:
- * page/ChromeClient.h:
- * page/Geolocation.cpp:
- (WebCore::Geolocation::disconnectFrame):
-
-2010-03-31 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Antti Koivisto.
-
- Add animation to progress element
- https://bugs.webkit.org/show_bug.cgi?id=36664
-
- Add a timer to control the animation. The timer is started after painting
- or a state change in the progress bar, to prevent animation from running
- when the progress bar is not visible.
-
- * html/HTMLProgressElement.cpp:
- (WebCore::HTMLProgressElement::createRenderer):
- * manual-tests/dom: Added.
- * manual-tests/dom/progressbar.html: Added.
- * platform/qt/RenderThemeQt.cpp:
- (WebCore::RenderThemeQt::animationRepeatIntervalForProgressBar):
- (WebCore::RenderThemeQt::animationDurationForProgressBar):
- (WebCore::RenderThemeQt::paintProgressBar):
- * platform/qt/RenderThemeQt.h:
- * rendering/RenderProgress.cpp:
- (WebCore::RenderProgress::RenderProgress):
- (WebCore::RenderProgress::layout):
- (WebCore::RenderProgress::updateFromElement):
- (WebCore::RenderProgress::animationProgress):
- (WebCore::RenderProgress::animationTimerFired):
- (WebCore::RenderProgress::paint):
- (WebCore::RenderProgress::updateAnimationState):
- * rendering/RenderProgress.h:
- * rendering/RenderTheme.cpp:
- (WebCore::RenderTheme::animationRepeatIntervalForProgressBar):
- (WebCore::RenderTheme::animationDurationForProgressBar):
- * rendering/RenderTheme.h:
-
-2010-03-31 Pavel Feldman <pfeldman@chromium.org>
-
- Not reviewed. Rolling out r56829 since it broke chromium layout tests.
-
- [REGRESSION] Inspector tests started crashing since r56829
- https://bugs.webkit.org/show_bug.cgi?id=36888
-
- * bindings/scripts/CodeGeneratorV8.pm:
- * bindings/v8/V8Utilities.cpp:
- * bindings/v8/V8Utilities.h:
- * loader/FrameLoaderClient.h:
-
-2010-03-31 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: creating new style bugfixing.
-
- https://bugs.webkit.org/show_bug.cgi?id=36884
-
- - InspectorDOMAgent should clear internal state upon reset (we are re-using
- single dom agent instance throughout entire inspector controller lifetime)
- - Brought back blank style 'refresh' processing logic - remove it by mistake earlier
- - Blocked couple of click handlers so that double-click to edit was not
- expanding / collapsing the pane
- - There is no need to reach out for matched rules upon 'refresh' update -
- getting computed style is sufficient.
-
- * css/CSSStyleSelector.cpp:
- (WebCore::CSSStyleSelector::matchRulesForList):
- * inspector/InspectorDOMAgent.cpp:
- (WebCore::InspectorDOMAgent::discardBindings):
- * inspector/front-end/StylesSidebarPane.js:
- (WebInspector.StylesSidebarPane.prototype.update.getStylesCallback):
- (WebInspector.StylesSidebarPane.prototype.update.getComputedStyleCallback):
- (WebInspector.StylesSidebarPane.prototype.update):
- (WebInspector.StylesSidebarPane.prototype._refreshUpdate):
- (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
- (WebInspector.StylesSidebarPane.prototype._refreshStyleRules):
- (WebInspector.StylesSidebarPane.prototype.addBlankSection):
- (WebInspector.StylePropertiesSection.prototype._dblclickEmptySpace):
- (WebInspector.StylePropertiesSection.prototype._clickSelector):
-
-2010-03-31 Yury Semikhatsky <yurys@chromium.org>
-
- Unreviewed. Chromium build fix: create missing v8::HandleScope.
-
- https://bugs.webkit.org/show_bug.cgi?id=36828
-
- * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
- (WebCore::InjectedScriptHost::canAccessInspectedWindow):
-
-2010-03-31 Yury Semikhatsky <yurys@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Check that injected script can still access inspected window object when wrapping console object. When the window cannot be access serialize objects as strings. Also don't call InjectedScript.dispatch if the window cannot be accessed (due to frame navigation).
-
- https://bugs.webkit.org/show_bug.cgi?id=36828
-
- * bindings/js/JSInjectedScriptHostCustom.cpp:
- (WebCore::InjectedScriptHost::canAccessInspectedWindow):
- * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
- (WebCore::InjectedScriptHost::canAccessInspectedWindow):
- * inspector/InjectedScript.cpp:
- (WebCore::InjectedScript::wrapForConsole):
- * inspector/InjectedScriptHost.h:
- * inspector/front-end/InjectedScript.js:
- (injectedScriptConstructor):
-
-2010-03-31 Mattias Nissler <mnissler@google.com>
-
- Reviewed by Pavel Feldman.
-
- Allow generic resource URLs for cookie handling in the inspector. This
- enables display of all cookies, not only those that are associated
- with resources accessed through http, https or file.
- https://bugs.webkit.org/show_bug.cgi?id=36877
-
- * inspector/front-end/CookieItemsView.js:
- (WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
- * inspector/front-end/DOMAgent.js:
- (WebInspector.Cookies.cookieMatchesResourceURL):
- * inspector/front-end/inspector.js:
- (WebInspector.updateResource):
-
-2010-03-30 Jeremy Orlow <jorlow@chromium.org>
-
- Reviewed by Nate Chapin.
-
- IndexedDB: Finish hooking up bindings for IndexedDatabaseRequest
- https://bugs.webkit.org/show_bug.cgi?id=36830
-
- Still not enough hooked up to test. Soon!
-
- * WebCore.gypi:
- * bindings/v8/custom/V8CustomIDBCallback.h: Removed.
- * bindings/v8/custom/V8CustomIDBCallbacks.h: Added.
- (WebCore::V8CustomIDBCallbacks::create):
- (WebCore::V8CustomIDBCallbacks::~V8CustomIDBCallbacks):
- (WebCore::V8CustomIDBCallbacks::onSuccess):
- (WebCore::V8CustomIDBCallbacks::onError):
- (WebCore::V8CustomIDBCallbacks::V8CustomIDBCallbacks):
- * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp:
- (WebCore::V8IndexedDatabaseRequest::openCallback):
- * storage/IDBDatabaseRequest.cpp: Added.
- (WebCore::IDBDatabaseRequest::IDBDatabaseRequest):
- (WebCore::IDBDatabaseRequest::~IDBDatabaseRequest):
- * storage/IDBDatabaseRequest.h:
- (WebCore::IDBDatabaseRequest::create):
- * storage/IndexedDatabaseRequest.cpp:
- (WebCore::IndexedDatabaseRequest::open):
- * storage/IndexedDatabaseRequest.h:
-
-2010-03-31 Zhenyao Mo <zmo@google.com>
-
- Reviewed by Darin Fisher.
-
- Implement memmove behavior for WebGLArray set()
- https://bugs.webkit.org/show_bug.cgi?id=35619
-
- New test cases are added to fast/canvas/webgl/array-setters.html.
-
- * html/canvas/WebGLArray.cpp: Use memmove instead of memcpy; with memmove, copying takes place as if an intermediate buffer was used, allowing the destination and source to overlap.
- (WebCore::WebGLArray::setImpl):
-
-2010-03-31 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Darin Adler.
-
- tryLayoutDoingPositionedMovementOnly does not have to be in RenderObject or be virtual
- https://bugs.webkit.org/show_bug.cgi?id=36810
-
- Move tryLayoutDoingPositionedMovementOnly as a regular method of RenderBox
-
- * rendering/RenderBox.h:
- (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly):
- * rendering/RenderObject.h:
-
-2010-03-31 John Gregg <johnnyg@google.com>
-
- Reviewed by Darin Fisher.
-
- [chromium] add logging of cross-frame property accesses for site isolation
- https://bugs.webkit.org/show_bug.cgi?id=35773
-
- No new tests as no new functionality.
-
- * bindings/scripts/CodeGeneratorV8.pm:
- * bindings/v8/V8Utilities.cpp:
- (WebCore::logPropertyAccess):
- * bindings/v8/V8Utilities.h:
- * loader/FrameLoaderClient.h:
- (WebCore::FrameLoaderClient::logCrossFramePropertyAccess):
-
-2010-03-30 Gavin Barraclough <barraclough@apple.com>
-
- Rubber stamped by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=36866
- Move CString to WTF
-
- * Android.mk:
- * ForwardingHeaders/wtf/text: Added.
- * ForwardingHeaders/wtf/text/CString.h: Added.
- * GNUmakefile.am:
- * WebCore.base.exp:
- * WebCore.gypi:
- * WebCore.order:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
- * bindings/js/JSDOMWindowBase.cpp:
- * bindings/js/ScheduledAction.cpp:
- * bindings/js/ScriptController.cpp:
- * bindings/v8/ScriptController.cpp:
- * bindings/v8/V8Binding.cpp:
- * bindings/v8/V8DOMWindowShell.cpp:
- * bridge/jni/JNIBridge.cpp:
- * bridge/jni/v8/JavaStringV8.h:
- (JSC::Bindings::JavaStringImpl::init):
- * css/CSSParser.cpp:
- * dom/CharacterData.cpp:
- * dom/Document.cpp:
- * dom/Element.cpp:
- * dom/Node.cpp:
- * dom/Position.cpp:
- * dom/Range.cpp:
- * dom/Text.cpp:
- * dom/XMLTokenizer.cpp:
- * dom/XMLTokenizerLibxml2.cpp:
- * dom/XMLTokenizerQt.cpp:
- * editing/SelectionController.cpp:
- * editing/VisiblePosition.cpp:
- * editing/VisibleSelection.cpp:
- * history/CachedFrame.cpp:
- * history/HistoryItem.cpp:
- * history/qt/HistoryItemQt.cpp:
- * html/FormDataList.h:
- (WebCore::FormDataList::appendData):
- (WebCore::FormDataList::Item::Item):
- (WebCore::FormDataList::Item::data):
- * html/HTMLDocument.cpp:
- * html/PreloadScanner.cpp:
- * inspector/InspectorController.cpp:
- * inspector/InspectorDOMAgent.cpp:
- * loader/DocLoader.cpp:
- * loader/FTPDirectoryDocument.cpp:
- * loader/FrameLoader.cpp:
- * loader/HistoryController.cpp:
- * loader/ProgressTracker.cpp:
- * loader/appcache/ApplicationCacheStorage.cpp:
- * loader/archive/cf/LegacyWebArchive.cpp:
- * loader/icon/wince/IconDatabaseWince.cpp:
- * loader/loader.cpp:
- * page/Console.cpp:
- * page/DOMWindow.cpp:
- * page/SecurityOrigin.cpp:
- * page/XSSAuditor.cpp:
- * page/animation/AnimationBase.cpp:
- * platform/ContextMenu.cpp:
- * platform/FileSystem.h:
- * platform/KURL.cpp:
- * platform/KURLGoogle.cpp:
- * platform/KURLGooglePrivate.h:
- * platform/Pasteboard.h:
- * platform/android/FileSystemAndroid.cpp:
- * platform/android/TemporaryLinkStubs.cpp:
- * platform/brew/KURLBrew.cpp:
- * platform/cf/FileSystemCF.cpp:
- * platform/chromium/MIMETypeRegistryChromium.cpp:
- * platform/efl/FileSystemEfl.cpp:
- * platform/efl/PasteboardEfl.cpp:
- * platform/efl/PlatformKeyboardEventEfl.cpp:
- * platform/efl/PlatformScreenEfl.cpp:
- * platform/efl/RenderThemeEfl.cpp:
- * platform/efl/ScrollbarEfl.cpp:
- * platform/efl/SharedBufferEfl.cpp:
- * platform/efl/WidgetEfl.cpp:
- * platform/graphics/GlyphPageTreeNode.cpp:
- * platform/graphics/cairo/FontPlatformDataCairo.cpp:
- * platform/graphics/cg/ImageBufferCG.cpp:
- * platform/graphics/chromium/FontCacheLinux.cpp:
- * platform/graphics/chromium/FontPlatformDataLinux.h:
- * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
- * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
- * platform/graphics/gtk/FontPlatformDataPango.cpp:
- * platform/graphics/gtk/IconGtk.cpp:
- * platform/graphics/gtk/ImageGtk.cpp:
- * platform/graphics/haiku/GraphicsContextHaiku.cpp:
- * platform/graphics/mac/GraphicsContext3DMac.cpp:
- * platform/graphics/mac/GraphicsLayerCA.mm:
- * platform/graphics/qt/GraphicsContext3DQt.cpp:
- * platform/graphics/qt/ImageBufferQt.cpp:
- * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
- * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
- * platform/graphics/skia/GraphicsLayerSkia.cpp:
- * platform/graphics/win/GraphicsLayerCACF.cpp:
- * platform/graphics/win/WKCACFLayer.cpp:
- * platform/graphics/wx/FontPlatformData.h:
- * platform/gtk/ClipboardGtk.cpp:
- * platform/gtk/ContextMenuItemGtk.cpp:
- * platform/gtk/DataObjectGtk.h:
- * platform/gtk/FileChooserGtk.cpp:
- * platform/gtk/FileSystemGtk.cpp:
- * platform/gtk/GeolocationServiceGtk.cpp:
- * platform/gtk/KURLGtk.cpp:
- * platform/gtk/Language.cpp:
- * platform/gtk/LocalizedStringsGtk.cpp:
- * platform/gtk/PasteboardGtk.cpp:
- * platform/gtk/PopupMenuGtk.cpp:
- * platform/gtk/RenderThemeGtk.cpp:
- * platform/gtk/SharedBufferGtk.cpp:
- * platform/haiku/FileSystemHaiku.cpp:
- * platform/haiku/PlatformKeyboardEventHaiku.cpp:
- * platform/network/CredentialStorage.cpp:
- * platform/network/FormData.cpp:
- * platform/network/FormData.h:
- * platform/network/FormDataBuilder.cpp:
- * platform/network/FormDataBuilder.h:
- * platform/network/HTTPParsers.cpp:
- * platform/network/android/ResourceHandleAndroid.cpp:
- * platform/network/cf/FormDataStreamCFNet.cpp:
- * platform/network/cf/ResourceHandleCFNet.cpp:
- * platform/network/chromium/ResourceResponse.h:
- * platform/network/curl/FormDataStreamCurl.cpp:
- * platform/network/curl/ResourceHandleManager.cpp:
- * platform/network/curl/ResourceHandleManager.h:
- * platform/network/mac/FormDataStreamMac.mm:
- * platform/network/mac/ResourceHandleMac.mm:
- * platform/network/qt/QNetworkReplyHandler.cpp:
- * platform/network/soup/CookieJarSoup.cpp:
- * platform/network/soup/ResourceHandleSoup.cpp:
- * platform/network/soup/ResourceRequestSoup.cpp:
- * platform/network/soup/ResourceResponseSoup.cpp:
- * platform/network/win/ResourceHandleWin.cpp:
- * platform/posix/FileSystemPOSIX.cpp:
- * platform/qt/FileSystemQt.cpp:
- * platform/qt/KURLQt.cpp:
- * platform/qt/TemporaryLinkStubs.cpp:
- * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
- * platform/text/CString.cpp: Removed.
- * platform/text/CString.h: Removed.
- * platform/text/PlatformString.h:
- * platform/text/String.cpp:
- * platform/text/StringImpl.cpp:
- * platform/text/TextCodec.h:
- * platform/text/TextCodecICU.cpp:
- * platform/text/TextCodecLatin1.cpp:
- * platform/text/TextCodecUTF16.cpp:
- * platform/text/TextCodecUserDefined.cpp:
- * platform/text/TextEncoding.cpp:
- * platform/text/TextEncoding.h:
- * platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp:
- * platform/text/gtk/TextCodecGtk.cpp:
- * platform/text/haiku/StringHaiku.cpp:
- * platform/text/mac/TextCodecMac.cpp:
- * platform/text/qt/TextCodecQt.cpp:
- * platform/text/wx/StringWx.cpp:
- * platform/win/ClipboardUtilitiesWin.cpp:
- * platform/win/ClipboardWin.cpp:
- * platform/win/ContextMenuItemWin.cpp:
- * platform/win/ContextMenuWin.cpp:
- * platform/win/FileSystemWin.cpp:
- * platform/win/GDIObjectCounter.cpp:
- * platform/win/Language.cpp:
- * platform/win/PasteboardWin.cpp:
- * platform/wince/FileSystemWince.cpp:
- * platform/wince/KeygenWince.cpp:
- * platform/wince/PasteboardWince.cpp:
- * platform/wx/FileSystemWx.cpp:
- * platform/wx/LoggingWx.cpp:
- * plugins/PluginDebug.h:
- * plugins/PluginPackage.cpp:
- * plugins/PluginStream.cpp:
- * plugins/PluginStream.h:
- * plugins/PluginView.h:
- * plugins/gtk/PluginPackageGtk.cpp:
- * plugins/mac/PluginPackageMac.cpp:
- * plugins/qt/PluginPackageQt.cpp:
- * plugins/symbian/PluginPackageSymbian.cpp:
- * plugins/win/PluginPackageWin.cpp:
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
+ (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
+ (WebCore::RenderBlock::createAndAppendRootInlineBox):
+ (WebCore::RenderBlock::moveChildTo):
+ (WebCore::RenderBlock::moveChildrenTo):
+ (WebCore::RenderBlock::makeChildrenNonInline):
+ (WebCore::RenderBlock::removeChild):
+ * rendering/RenderBlock.h:
+ (WebCore::RenderBlock::moveChildTo):
+ (WebCore::RenderBlock::moveAllChildrenTo):
+ (WebCore::RenderBlock::moveChildrenTo):
* rendering/RenderLayer.cpp:
- * rendering/RenderLayerCompositor.cpp:
- * rendering/RenderTreeAsText.cpp:
- * storage/Database.cpp:
- * storage/SQLTransactionCoordinator.cpp:
- * storage/SQLTransactionCoordinator.h:
- * storage/StorageAreaSync.cpp:
- * storage/StorageSyncManager.cpp:
- * storage/chromium/DatabaseTrackerChromium.cpp:
- * storage/chromium/QuotaTracker.cpp:
- * storage/chromium/QuotaTracker.h:
- * svg/SVGFontFaceElement.cpp:
- * svg/SVGStyledElement.cpp:
- * svg/SVGUseElement.cpp:
- * websockets/WebSocket.cpp:
- * websockets/WebSocketChannel.cpp:
- * websockets/WebSocketHandshake.cpp:
- * wml/WMLErrorHandling.cpp:
- * wml/WMLGoElement.cpp:
- * wml/WMLPageState.cpp:
- * wml/WMLPostfieldElement.cpp:
- * wml/WMLSelectElement.cpp:
- * xml/XMLHttpRequest.cpp:
- * xml/XSLStyleSheetLibxslt.cpp:
- * xml/XSLTProcessorLibxslt.cpp:
-
-2010-03-30 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Brady Eidson.
-
- REGRESSION (r56439) - Crash when a renderer for a file upload control
- with a selected file is recreated
- https://bugs.webkit.org/show_bug.cgi?id=36723
-
- RenderFileUploadControl::chooseIconForFiles was called before
- m_fileChooser was initialized.
-
- * platform/FileChooser.cpp:
- (WebCore::FileChooser::FileChooser): Introduce m_isInitializing flag to
- avoid FileChooserClient::repaint() call.
- (WebCore::FileChooser::loadIcon):
- (WebCore::FileChooser::iconLoaded):
- * platform/FileChooser.h: Add a FielChooser parameter to
- FileChooserClient::chooseIconForFiles().
- * rendering/RenderFileUploadControl.cpp:
- (WebCore::RenderFileUploadControl::chooseIconForFiles):
- (WebCore::RenderFileUploadControl::paintObject): Add an assertion.
- * rendering/RenderFileUploadControl.h:
-
-2010-03-30 Stanislav Paltis <Stanislav.Paltis@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] qmake/symbian build failure
- https://bugs.webkit.org/show_bug.cgi?id=36745
-
- Fix build break in Symbian build introduced in r56714,
- by modifying comment escape character from ";" to "#".
-
- * WebCore.pro:
-
-2010-03-30 Kevin Ollivier <kevino@theolliviers.com>
-
- [wx] Build fix after new localized string addition.
-
- * platform/wx/LocalizedStringsWx.cpp:
- (WebCore::missingPluginText):
-
-2010-03-30 Sam Weinig <sam@webkit.org>
+ (WebCore::RenderLayer::addChild):
+ * rendering/RenderObjectChildList.cpp:
+ (WebCore::RenderObjectChildList::insertChildNode):
+ * rendering/RenderRubyBase.cpp:
+ (WebCore::RenderRubyBase::moveInlineChildren):
- Reviewed by Anders Carlsson.
+2010-05-26 Anders Carlsson <andersca@apple.com>
- Add missing export.
+ Fix GTK+ test failures.
- * WebCore.base.exp:
+ * plugins/gtk/PluginDataGtk.cpp:
+ (WebCore::PluginData::initPlugins):
+ * plugins/win/PluginDataWin.cpp:
+ (WebCore::PluginData::initPlugins):
-2010-03-30 Enrica Casucci <enrica@apple.com>
+2010-05-25 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
- Incorrect insertion position after typing THAI CHARACTER SARA AM = 0E33.
- <rdar://problem/7810749>
- https://bugs.webkit.org/show_bug.cgi?id=36858
-
- Test: fast/text/multiglyph-characters.html
+ Clean up MimeClassInfo and PluginInfo
+ https://bugs.webkit.org/show_bug.cgi?id=39700
- Characters with multiple glyph were not supported correctly.
- Computing the advance width was producing a division by zero.
+ This gets rid of all the heap allocation from MimeClassInfo and PluginInfo.
- * platform/graphics/mac/ComplexTextController.cpp:
- (WebCore::ComplexTextController::advance):
+ It also changes the m_plugins and m_mimes vectors in PluginData to not hold heap allocated MimeClassInfo
+ and PluginClassInfo objects.
-2010-03-30 Chris Evans <cevans@chromium.org>
+ * page/Page.cpp:
+ (WebCore::Page::refreshPlugins):
+ * plugins/MimeType.cpp:
+ (WebCore::MimeType::type):
+ (WebCore::MimeType::suffixes):
+ (WebCore::MimeType::description):
+ (WebCore::MimeType::enabledPlugin):
+ * plugins/MimeType.h:
+ (WebCore::MimeType::mimeClassInfo):
+ * plugins/MimeTypeArray.cpp:
+ (WebCore::MimeTypeArray::item):
+ (WebCore::MimeTypeArray::canGetItemsForName):
+ (WebCore::MimeTypeArray::namedItem):
+ * plugins/Plugin.cpp:
+ (WebCore::Plugin::name):
+ (WebCore::Plugin::filename):
+ (WebCore::Plugin::description):
+ (WebCore::Plugin::length):
+ (WebCore::Plugin::item):
+ (WebCore::Plugin::canGetItemsForName):
+ (WebCore::Plugin::namedItem):
+ * plugins/Plugin.h:
+ (WebCore::Plugin::pluginInfo):
+ * plugins/PluginArray.cpp:
+ (WebCore::PluginArray::length):
+ (WebCore::PluginArray::item):
+ (WebCore::PluginArray::canGetItemsForName):
+ (WebCore::PluginArray::namedItem):
+ (WebCore::PluginArray::pluginData):
+ * plugins/PluginArray.h:
+ * plugins/PluginData.cpp:
+ (WebCore::PluginData::PluginData):
+ (WebCore::PluginData::~PluginData):
+ (WebCore::PluginData::supportsMimeType):
+ (WebCore::PluginData::pluginNameForMimeType):
+ * plugins/PluginData.h:
+ (WebCore::operator==):
+ (WebCore::PluginData::create):
+ (WebCore::PluginData::disconnectPage):
+ (WebCore::PluginData::page):
+ (WebCore::PluginData::plugins):
+ (WebCore::PluginData::mimes):
+ * plugins/chromium/PluginDataChromium.cpp:
+ (WebCore::PluginCache::reset):
+ (WebCore::PluginCache::plugins):
+ (WebCore::PluginData::initPlugins):
+ (WebCore::getPluginMimeTypeFromExtension):
+ * plugins/gtk/PluginDataGtk.cpp:
+ (WebCore::PluginData::initPlugins):
+ * plugins/mac/PluginDataMac.mm:
+ (WebCore::PluginData::initPlugins):
+ * plugins/qt/PluginDataQt.cpp:
+ (WebCore::PluginData::initPlugins):
+ * plugins/win/PluginDataWin.cpp:
+ (WebCore::PluginData::initPlugins):
+ * plugins/wx/PluginDataWx.cpp:
+ (WebCore::PluginData::initPlugins):
+
+2010-05-26 Nate Chapin <japhet@chromium.org>
Reviewed by Adam Barth.
- Taint the canvas if an SVG-derived pattern is rendered into it.
-
- https://bugs.webkit.org/show_bug.cgi?id=36838
-
- Test: fast/canvas/svg-taint.html
-
- * html/canvas/CanvasRenderingContext2D.cpp:
- (WebCore::CanvasRenderingContext2D::createPattern):
- Take into account the image's hasSingleSecurityOrigin() property.
-
-2010-03-30 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=36616
- Dvorak-Qwerty keyboard layout gives unexpected results in javascript keydown
-
- https://bugs.webkit.org/show_bug.cgi?id=36797
- For non-Roman layouts, keydown Event.keyCode is always 0
-
- * platform/cocoa/KeyEventCocoa.mm:
- (WebCore::windowsKeyCodeForKeyCode): This is now the primary function for determining
- Windows key code - there is no reason to round trip a virtual key code via character code to
- get Windows virtual key code, and this can't work for non-Roman alphabets.
- (WebCore::windowsKeyCodeForCharCode): Removed keys that are now handled in windowsKeyCodeForKeyCode(),
- only keeping those for which we don't have known key codes (yet?).
-
- * platform/mac/KeyEventMac.mm: (WebCore::windowsKeyCodeForKeyEvent): Added comments.
-
-2010-03-30 Marcus Bulach <bulach@chromium.org>
-
- Reviewed by Darin Fisher.
-
- Rename / tidy up Geolocation bridge
- Uses Geoposition instead of individual params for setLastPosition.
- https://bugs.webkit.org/show_bug.cgi?id=36535
-
- * platform/chromium/GeolocationServiceChromium.cpp:
- (WebCore::GeolocationServiceChromium::GeolocationServiceChromium):
- (WebCore::GeolocationServiceChromium::setIsAllowed):
- (WebCore::GeolocationServiceChromium::setLastPosition):
- * platform/chromium/GeolocationServiceChromium.h:
-
-2010-03-30 Adam Langley <agl@chromium.org>
-
- Reviewed by David Levin.
-
- [chromium] linux: prefer the "hinting" fontconfig preference.
-
- fontconfig can give contradictory hinting information, setting
- "hinting" to zero and "hintstyle" to non-zero. In this case we
- should take the "hinting" preference.
-
- https://bugs.webkit.org/show_bug.cgi?id=36602
-
- * platform/graphics/chromium/FontPlatformDataLinux.cpp:
- (WebCore::FontPlatformData::setupPaint):
-
-2010-03-30 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Copying from the Content tab in Resources includes line numbers.
-
- https://bugs.webkit.org/show_bug.cgi?id=35104
-
- * inspector/front-end/TextViewer.js:
- (WebInspector.TextViewer):
- (WebInspector.TextViewer.prototype._beforeCopy):
- (WebInspector.TextViewer.prototype._copy):
-
-2010-03-30 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Do not send empty matching rules for pseudo elements to frontend.
-
- https://bugs.webkit.org/show_bug.cgi?id=36834
-
- * inspector/InspectorDOMAgent.cpp:
- (WebCore::InspectorDOMAgent::buildArrayForPseudoElements):
- * inspector/front-end/StylesSidebarPane.js:
- (WebInspector.StylesSidebarPane.prototype._update):
-
-2010-03-30 Dirk Schulze <krit@webkit.org>
-
- Reviewed by Nikolas Zimmermann.
-
- Cannot animate "points" attribute for <svg:polygon>
- https://bugs.webkit.org/show_bug.cgi?id=21371
-
- Add animation support for 'points' on polygons in SVG.
-
- Test: svg/animations/animate-points.html
-
- * svg/SVGAnimateElement.cpp:
- (WebCore::SVGAnimateElement::determinePropertyType):
- (WebCore::SVGAnimateElement::calculateAnimatedValue):
- (WebCore::SVGAnimateElement::calculateFromAndToValues):
- (WebCore::SVGAnimateElement::resetToBaseValue):
- (WebCore::SVGAnimateElement::applyResultsToTarget):
- * svg/SVGAnimateElement.h:
- (WebCore::SVGAnimateElement::): added PropertyType PointsProperty
- * svg/SVGPointList.cpp:
- (WebCore::blendFunc):
- (WebCore::SVGPointList::createAnimated): calculates animated PointList
- * svg/SVGPointList.h:
-
-2010-03-30 Alexander Pavlov <apavlov@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: Audits: bad CSS selector results in exception inside evaluated code
- https://bugs.webkit.org/show_bug.cgi?id=36821
-
- * inspector/front-end/AuditRules.js:
- (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.routine):
- (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
-
-2010-03-29 Janne Koskinen <janne.p.koskinen@digia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Package build fixes for Symbian
-
- * enable building standalone QtWebkit for Symbian using qtlibinfix configuration option
-
- qtlibinfix adds possibility having multiple versions of Qt in Symbian devices.
- Fix also allows unfrozen DLL exports during development.
-
- * Removed heap size configuration. DLLs don't have a heap.
-
- * Removed enforcement to def files for package builds. Instead inherit the setting from
- Qt's qconfig.pri whether to use def files or not. It's still possible to override this
- also at qmake time by passing CONFIG+=def_files.
-
- * WebCore.pro:
-
-2010-03-30 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: Title for show/hide short records button was adjusted.
- Some unused code was removed.
- https://bugs.webkit.org/show_bug.cgi?id=36823
-
- * inspector/front-end/TimelinePanel.js:
- (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
- (WebInspector.TimelinePanel.prototype._toggleFilterButtonClicked):
- (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
-
-2010-03-30 Adam Roben <aroben@apple.com>
-
- Enable extra Direct3D debugging information in Debug builds
-
- This makes it easier to track down memory leaks and misuses of the D3D
- APIs in Debug builds.
-
- Fixes <http://webkit.org/b/36820>
-
- Reviewed by John Sullivan.
-
- * platform/graphics/win/WKCACFLayerRenderer.cpp: Define D3D_DEBUG_INFO
- in Debug builds before #including d3d9.h so that extra D3D debugging
- information will be enabled.
-
-2010-03-30 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Maemo5 theme - QtMaemoWebPopup class
- https://bugs.webkit.org/show_bug.cgi?id=36790
-
- Moving maemo5 theme related code from WebCore.pri to WebCore.pro and adding
- new maemo menu lists popup class source and header to the project.
-
- The code was in .pri file because of a theme css that was conditionally included.
- As the css file is been included unconditionally there is no need to this
- code to be kept in webcore.pri.
-
- * WebCore.pri:
- * WebCore.pro:
-
-2010-03-30 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by David Kilzer.
-
- Guard Geolocation files with ENABLE_GEOLOCATION
- https://bugs.webkit.org/show_bug.cgi?id=25756
-
- The intent is to guard the Geolocation implementation files
- and minimize the impact on on clients/call sites.
-
- * DerivedSources.make:
- * WebCore.Geolocation.exp: Added. Exported interfaces if GEOLOCATION
- is enabled.
- * WebCore.base.exp:
- * bindings/js/JSCustomPositionCallback.cpp:
- * bindings/js/JSCustomPositionErrorCallback.cpp:
- * bindings/js/JSGeolocationCustom.cpp:
- * page/Geolocation.cpp:
- (WebCore::Geolocation::disconnectFrame): Stub implementation if
- GEOLOCATION is turned off.
- (WebCore::Geolocation::Geolocation): Ditto.
- (WebCore::Geolocation::~Geolocation): Ditto.
- (WebCore::Geolocation::setIsAllowed): Ditto.
- * page/Geolocation.h:
- * page/Geolocation.idl:
- * page/GeolocationPositionCache.cpp:
- * page/Geoposition.idl:
- * page/PositionError.idl:
- * platform/GeolocationService.cpp:
- * platform/mock/GeolocationServiceMock.cpp:
-
-2010-03-30 Andrey Kosyakov <caseq@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Support EventTarget interface in fake workers (both for Worker object
- and WorkerContext). Use MessagePort to implement message passing to
- support passing ports in PostMessage.
- https://bugs.webkit.org/show_bug.cgi?id=36763
-
- * inspector/front-end/InjectedFakeWorker.js:
- (InjectedFakeWorker.Worker.onmessageGetter):
- (InjectedFakeWorker.Worker.onmessageSetter):
- (InjectedFakeWorker.Worker):
- (InjectedFakeWorker.FakeWorker):
- (InjectedFakeWorker.FakeWorker.prototype.postMessage):
- (InjectedFakeWorker.FakeWorker.prototype.terminate):
- (InjectedFakeWorker.FakeWorker.prototype._onWorkerFrameLoaded):
- (InjectedFakeWorker.FakeWorker.prototype._setupWorkerContext.onmessageGetter):
- (InjectedFakeWorker.FakeWorker.prototype._setupWorkerContext.onmessageSetter):
- (InjectedFakeWorker.FakeWorker.prototype._setupWorkerContext):
- (InjectedFakeWorker.FakeWorker.prototype._addEventListener):
- (InjectedFakeWorker.FakeWorker.prototype._removeEventListener):
- (InjectedFakeWorker.FakeWorker.prototype._callbackWrapper):
- (InjectedFakeWorker.FakeWorker.prototype._handleException):
-
-2010-03-30 Kristian Monsen <kristianm@google.com>
-
- Reviewed by David Levin.
-
- [v8] Add if ENABLE guard for Worker specific code.
- https://bugs.webkit.org/show_bug.cgi?id=36597
-
- Build fix only, no new tests.
-
- * bindings/v8/V8DOMWrapper.h:
-
-2010-03-29 Jeremy Orlow <jorlow@chromium.org>
-
- Reviewed by Darin Fisher.
-
- More IndexedDB work
- https://bugs.webkit.org/show_bug.cgi?id=36770
-
- Add the "singleton" IndexedDatabase object to PageGroup
- IndexedDatabase now has a create() method since PageGroup can own the instance (at least for now)
- Rip out the IDBRequest stuff (now obsolete).
- DOMWindow now can instantiate indexedDatabase objects on demand.
-
- New layout tests starting with the next patch (which should make indexedDB.open() "work").
-
- * WebCore.gypi:
- * bindings/v8/custom/V8IDBRequestCustom.cpp: Removed.
- * page/DOMWindow.cpp:
- (WebCore::DOMWindow::indexedDB):
- * page/DOMWindow.h:
- * page/PageGroup.cpp:
- (WebCore::PageGroup::indexedDatabase):
- * page/PageGroup.h:
- * storage/IDBDatabase.cpp:
- * storage/IDBDatabaseRequest.h:
- (WebCore::IDBDatabaseRequest::createObjectStore):
- * storage/IDBDatabaseRequest.idl:
- * storage/IDBRequest.cpp: Removed.
- * storage/IDBRequest.h: Removed.
- * storage/IDBRequest.idl: Removed.
- * storage/IndexedDatabase.cpp:
- (WebCore::IndexedDatabase::create):
- * storage/IndexedDatabase.h:
- * storage/IndexedDatabaseImpl.cpp:
- (WebCore::IndexedDatabaseImpl::create):
- (WebCore::IndexedDatabaseImpl::IndexedDatabaseImpl):
- (WebCore::IndexedDatabaseImpl::~IndexedDatabaseImpl):
- * storage/IndexedDatabaseImpl.h:
- * storage/IndexedDatabaseRequest.cpp:
- (WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest):
- * storage/IndexedDatabaseRequest.h:
- (WebCore::IndexedDatabaseRequest::create):
- * storage/IndexedDatabaseRequest.idl:
- * storage/chromium/IndexedDatabase.cpp:
- (WebCore::IndexedDatabase::create):
-
-2010-03-30 Dirk Schulze <krit@webkit.org>
-
- Reviewed by Nikolas Zimmermann.
-
- SVG Glyph transformations wrong on use of SVGFont
- https://bugs.webkit.org/show_bug.cgi?id=36731
-
- Kerning on SVGFonts should be applied to the userSpace of the current Char
- and not to the userSpace of the viewport. This means scaling the kerning
- to match the current userSpace.
-
- Test: svg/custom/glyph-transformation-with-hkern.svg
-
- * rendering/SVGRootInlineBox.cpp:
- (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
-
-2010-03-30 Dirk Schulze <krit@webkit.org>
-
- Reviewed by Nikolas Zimmermann.
+ Factor PageCache functionality out of FrameLoader and into
+ PageCache.
- SVG Animation doesn't respect 'currentColor'
- https://bugs.webkit.org/show_bug.cgi?id=36695
+ https://bugs.webkit.org/show_bug.cgi?id=39382
- Test: svg/custom/animation-currentColor.svg
+ Refactor only, so no new tests.
- SVG Animation can't handle currentColor at the moment. This patch catches the
- color value of the target element and replaces 'currentColor' with it's color string.
-
- * svg/SVGAnimationElement.cpp:
- (WebCore::adjustForCurrentColor):
- (WebCore::SVGAnimationElement::startedActiveInterval):
-
-2010-03-30 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: Visible/captured records counter should be implemented in Timeline panel.
- https://bugs.webkit.org/show_bug.cgi?id=36708
-
- * English.lproj/localizedStrings.js:
- * inspector/front-end/TimelinePanel.js:
- (WebInspector.TimelinePanel.prototype.get statusBarItems):
- (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
- (WebInspector.TimelinePanel.prototype._updateRecordsCounter):
- (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
- (WebInspector.TimelinePanel.prototype._createRootRecord):
- (WebInspector.TimelinePanel.prototype._refresh):
- (WebInspector.TimelinePanel.prototype._filterRecords):
- * inspector/front-end/inspector.css:
- (.timeline-records-counter):
-
-2010-03-30 Philippe Normand <pnormand@igalia.com>
-
- [GStreamer] define static variables with DEFINE_STATIC_LOCAL macro
- https://bugs.webkit.org/show_bug.cgi?id=36653
-
- Unreviewed, don't define the bool variable with
- DEFINE_STATIC_LOCAL, it makes sense only for objects which have a
- destructor. Thanks to Dan Bernstein for spotting this.
-
- * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
- (WebCore::mimeTypeCache):
-
-2010-03-29 Gyuyoung Kim <gyuyoung.kim@samsung.com>
-
- Reviewed by Eric Seidel.
-
- There is a build break due to the disabled() when wml feature is
- enabled. This break comes from the Bug 35056 - Disabled menu options
- are still submitted.(https://bugs.webkit.org/show_bug.cgi?id=35056)
- The WMLOptionElement.h needs to define the disabled() as well.
- And, there is an additional break due to Bug 36177 - Multiselect Popup
- - Listbox click simulation. (https://bugs.webkit.org/show_bug.cgi?id=36177)
- virtual void listBoxSelectItem() should be added to WMLSelectElement.h as well.
-
- https://bugs.webkit.org/show_bug.cgi?id=36698
-
- * wml/WMLOptionElement.h:
- (WebCore::WMLOptionElement::disabled):
- * wml/WMLSelectElement.h:
- (WebCore::WMLSelectElement::listBoxSelectItem):
-
-2010-03-29 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by David Hyatt.
-
- No vertical scrollbar after the CSS class change
- https://bugs.webkit.org/show_bug.cgi?id=36461
-
- Don't suppress scrollbar change for non-first layouts.
- In the first layout, the scrollbar change will happen in later
- adjustViewSize() call, but in other layouts, adjustViewSize() may
- not be called when the size of contents doesn't change.
-
- * page/FrameView.cpp:
- (WebCore::FrameView::layout):
-
-2010-03-29 Chris Evans <cevans@chromium.org>
-
- Reviewed by Adam Barth.
-
- Don't use unique domains for file:// separation: it breaks local
- databases, and access to your own same-origin iframes. Instead, use
- path-based access checks.
-
- https://bugs.webkit.org/show_bug.cgi?id=36692
-
- Test: fast/xmlhttprequest/xmlhttprequest-no-file-access.html
+ * history/PageCache.cpp:
+ (WebCore::pageCacheLogPrefix):
+ (WebCore::pageCacheLog):
+ (WebCore::logCanCacheFrameDecision):
+ (WebCore::logCanCachePageDecision):
+ (WebCore::PageCache::canCachePageContainingThisFrame):
+ (WebCore::PageCache::canCache):
+ (WebCore::PageCache::add):
+ (WebCore::PageCache::get):
+ * history/PageCache.h:
+ * loader/DocumentLoader.cpp:
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::commitProvisionalLoad):
+ (WebCore::FrameLoader::prepareForCachedPageRestore):
+ (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
+ (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
+ (WebCore::FrameLoader::navigateToDifferentDocument):
+ * loader/FrameLoader.h:
+ (WebCore::FrameLoader::quickRedirectComing):
+ * svg/graphics/SVGImage.cpp:
- * dom/Document.cpp:
- (WebCore::Document::initSecurityContext): renamed API.
- * page/SecurityOrigin.h:
- * page/SecurityOrigin.cpp:
- (WebCore::SecurityOrigin::SecurityOrigin):
- Initialize new flag. Take note of file:// path.
- Copy new fields in copy constructor.
- (WebCore::SecurityOrigin::canAccess):
- Take into account path-based origin separation for file://
- (WebCore::SecurityOrigin::enforceFilePathSeparation):
- New method to enable file:// path origin separation.
- (WebCore::SecurityOrigin::toString):
- Return a null domain for an isolated file origin.
- (WebCore::SecurityOrigin::isSameSchemeHostPort):
- Take into account path-based origin separation for file://
- (WebCore::SecurityOrigin::passesFileCheck):
- Abstraction of common logic for file:// access checks.
-
-2010-03-29 Rafael Weinstein <rafaelw@chromium.org>
+2010-05-26 Peter Kasting <pkasting@google.com>
Reviewed by Adam Barth.
- Change NotificationPresenter::checkPermission() to take the source frames full KURL,
- rather than its SecurityOrigin. This will aid chromium in having more fine grained
- permissions to control notification spam.
-
- * notifications/Notification.cpp:
- (WebCore::Notification::Notification):
- * notifications/NotificationCenter.cpp:
- (WebCore::NotificationCenter::checkPermission):
- * notifications/NotificationPresenter.h:
-
-2010-03-29 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Multiselect - Adding method itemIsSelected() to QtAbstractWebPopup
- https://bugs.webkit.org/show_bug.cgi?id=36769
-
- Adding method itemIsSelected() to QtAbstractWebPopup.
-
- * platform/qt/QtAbstractWebPopup.h:
- (WebCore::QtAbstractWebPopup::itemIsSelected):
-
-2010-03-29 Dawit Alemayehu <adawit@kde.org>
-
- Reviewed by Simon Hausmann.
-
- Added a function, WebCore::shouldTreatAsAttachment, to HTTPParsers.*
-
- https://bugs.webkit.org/show_bug.cgi?id=36395
-
- This function, which was moved from WebKit/chromium/src/FrameClientImpl.cpp,
- is used to check whether or not a request is supposed to be rendered or
- simply downloaded based on the "Content-Disposition" header sent by the
- web server. The intent of code refactoring is to avoid code duplication
- so that this piece of code can be used by other implementations such as
- QtWebKit.
-
- * platform/network/HTTPParsers.cpp:
- (WebCore::shouldTreatAsAttachment):
- * platform/network/HTTPParsers.h:
-
-2010-03-29 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Beth Dakin.
-
- Bug 36735 - Live regions don't send out notifications when the element changing is the live region
- https://bugs.webkit.org/show_bug.cgi?id=36735
-
- Test: platform/mac/accessibility/aria-liveregion-on-image.html
-
- * accessibility/AccessibilityRenderObject.cpp:
- (WebCore::AccessibilityRenderObject::contentChanged):
-
-2010-03-29 Stephen White <senorblanco@chromium.org>
-
- Reviewed by Dave Hyatt.
-
- In order to speed up multiple calls to CSSPrimitiveValue::cssText(),
- this CL caches the String result. When m_value is changed, the
- cached string is cleared. This gives a good speedup on benchmarks
- which do a lot of CSS property gets, such as Peacekeeper.
- The processing cost should be negligible, since the strings are
- refcounted. The memory cost is an additional 4 bytes per
- CSSPrimitiveValue, and the extended lifetime of the computed string
- (potentially, the same as the lifetime of the CSSPrimitiveValue).
-
- https://bugs.webkit.org/show_bug.cgi?id=36556
-
- Covered by fast/css/cssText-cache.html, and more.
-
- * css/CSSPrimitiveValue.cpp:
- (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
- (WebCore::CSSPrimitiveValue::cleanup):
- (WebCore::CSSPrimitiveValue::cssText):
- * css/CSSPrimitiveValue.h:
-
-2010-03-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Simon Fraser.
-
- Add support for Widgets 1.0: View Mode Media Feature
- https://bugs.webkit.org/show_bug.cgi?id=35446
-
- When enabling Web Widgets, add support for the view-mode media
- feature (http://www.w3.org/TR/widgets-vmmf/).
-
- Test: fast/media/media-feature-wgt-view-mode.html
-
- * css/CSSValueKeywords.in:
- * css/MediaFeatureNames.h:
- * css/MediaQueryEvaluator.cpp:
- (WebCore::view_modeMediaFeatureEval):
- * page/ChromeClient.h:
- (WebCore::ChromeClient::isDocked):
- (WebCore::ChromeClient::isFloating):
- (WebCore::ChromeClient::isApplication):
- (WebCore::ChromeClient::isFullscreen):
-
-2010-03-29 Kenneth Russell <kbr@google.com>
-
- Reviewed by Darin Fisher.
-
- Eliminate use of GL_BGRA in GraphicsContext3DSkia.cpp
- https://bugs.webkit.org/show_bug.cgi?id=36737
-
- No new tests; ran WebGL demos in Chromium on Windows to verify fix.
-
- * platform/graphics/skia/GraphicsContext3DSkia.cpp:
- (WebCore::GraphicsContext3D::getImageData):
-
-2010-03-29 Alexander Pavlov <apavlov@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: Cover the Audits panel with tests
- https://bugs.webkit.org/show_bug.cgi?id=36613
-
- Sort results, add a few drive-by fixes and refactorings to improve testability.
-
- Test: inspector/audits-panel-functional.html
-
- * English.lproj/localizedStrings.js:
- * inspector/front-end/AuditResultView.js:
- (WebInspector.AuditResultView):
- (WebInspector.AuditCategoryResultPane.ruleSorter):
- (WebInspector.AuditCategoryResultPane):
- * inspector/front-end/AuditRules.js:
- (WebInspector.AuditRules.GzipRule.prototype.doRun):
- (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
- (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
- (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
- (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
- (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
- * inspector/front-end/AuditsPanel.js:
- (WebInspector.AuditRuleResult.linkifyDisplayName):
- (WebInspector.AuditRuleResult.resourceDomain):
- (WebInspector.AuditRuleResult.prototype.addURL):
- * inspector/front-end/inspector.js:
- (WebInspector.displayNameForURL):
-
-2010-03-29 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by nobody, build fix.
-
- [Qt] Fix build break introduced in r56724.
-
- * WebCore.pro:
-
-2010-03-29 Alexander Pavlov <apavlov@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector should highlight when clicking a node's closing tag
- https://bugs.webkit.org/show_bug.cgi?id=16258
-
- * inspector/front-end/ElementsTreeOutline.js:
- (WebInspector.ElementsTreeOutline.prototype.set suppressRevealAndSelect):
- (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
- (WebInspector.ElementsTreeOutline.prototype._keyDown):
- (WebInspector.ElementsTreeOutline.prototype._onmousemove):
- (WebInspector.ElementsTreeElement):
- (WebInspector.ElementsTreeElement.prototype.showChild):
- (WebInspector.ElementsTreeElement.prototype.onpopulate):
- (WebInspector.ElementsTreeElement.prototype.updateChildren):
- (WebInspector.ElementsTreeElement.prototype.insertChildElement):
- (WebInspector.ElementsTreeElement.prototype.moveChild):
- (WebInspector.ElementsTreeElement.prototype._updateChildren):
- (WebInspector.ElementsTreeElement.prototype.onexpand):
- (WebInspector.ElementsTreeElement.prototype.oncollapse):
- (WebInspector.ElementsTreeElement.prototype.onselect):
- (WebInspector.ElementsTreeElement.prototype.ondblclick):
- ():
-
-2010-03-29 Marcus Bulach <bulach@chromium.org>
-
- Reviewed by Jeremy Orlow.
-
- https://bugs.webkit.org/show_bug.cgi?id=36315
-
- Remove obsolete Geolocation::m_currentPosition
- (follow up on https://bugs.webkit.org/show_bug.cgi?id=30676)
-
- * page/Geolocation.cpp:
- (WebCore::Geolocation::positionChanged):
- (WebCore::Geolocation::makeSuccessCallbacks):
- * page/Geolocation.h:
- * platform/chromium/GeolocationServiceChromium.cpp:
- (WebCore::GeolocationServiceChromium::GeolocationServiceChromium):
-
-2010-03-29 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Do not generate INSTALLS for webkit when building inside Qt.
- Qt will do this for us.
-
- * WebCore.pro:
-
-2010-03-29 Antti Koivisto <koivisto@iki.fi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- https://bugs.webkit.org/show_bug.cgi?id=36703
- Timer restart loop during page loading
+ https://bugs.webkit.org/show_bug.cgi?id=39786
+ Properly reset |bytes_to_consume| when reaching the "gif_done" state in
+ the open-source GIF decoder.
- Fix regression introduced in http://trac.webkit.org/changeset/54526.
- Restarting the request timer unconditionally from the timer callback is a bad idea.
- Instead, start the timer when a non-cached request completes.
-
- * loader/loader.cpp:
- (WebCore::Loader::Host::nonCacheRequestComplete):
- (WebCore::Loader::Host::servePendingRequests):
-
-2010-03-29 Thomas Zander <t.zander@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Shadowbuilds of WebCore with Qt on Symbian fails.
-
- https://bugs.webkit.org/show_bug.cgi?id=36749
-
- Doing a 'make sis' expects the dll in the libdir, so place it
- there. This fixes out-of-source building to always put the dll
- in the expected dir.
-
- * WebCore.pro: Fix for shadow builds inside Qt.
-
-2010-03-26 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Antti Koivisto.
-
- Implement flattening for iframes.
-
- Refactoring of frameset flattening code to reuse it for
- iframe flattening.
-
- Tests: fast/frames/flattening/iframe-flattening-simple.html
-
- * WebCore.base.exp:
- * page/FrameView.cpp:
- (WebCore::FrameView::layout):
- (WebCore::FrameView::scheduleRelayout):
- * page/Settings.cpp:
- (WebCore::Settings::Settings):
- (WebCore::Settings::setFrameFlatteningEnabled):
- * page/Settings.h:
- (WebCore::Settings::frameFlatteningEnabled):
- * rendering/RenderFrame.cpp:
- * rendering/RenderFrame.h:
- * rendering/RenderFrameSet.cpp:
- (WebCore::RenderFrameSet::flattenFrameSet):
- * rendering/RenderFrameSet.h:
- * rendering/RenderPart.cpp:
- (WebCore::RenderPart::layoutWithFlattening):
- * rendering/RenderPart.h:
- * rendering/RenderPartObject.cpp:
- (WebCore::RenderPartObject::flattenFrame):
- (WebCore::RenderPartObject::calcHeight):
- (WebCore::RenderPartObject::calcWidth):
- (WebCore::RenderPartObject::layout):
- * rendering/RenderPartObject.h:
-
-2010-03-29 Andrei Popescu <andreip@google.com>
-
- Reviewed by Adam Barth.
-
- Page Cache does not work on Android with V8
- https://bugs.webkit.org/show_bug.cgi?id=36665
-
- No new tests, existing tests should suffice, this is platform code.
-
- This implementation simply saves the context and the global object
- just before the frame is navigated to a new url. At restore time,
- the global object is reattached to the context and the context
- is attached to the window shell of the frame.
-
- Note that isolated worlds are not taken into account in any way,
- as Android does not use them.
-
- * bindings/v8/ScriptCachedFrameData.cpp: Added.
- (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
- (WebCore::ScriptCachedFrameData::domWindow):
- (WebCore::ScriptCachedFrameData::~ScriptCachedFrameData):
- (WebCore::ScriptCachedFrameData::restore):
- (WebCore::ScriptCachedFrameData::clear):
- * bindings/v8/ScriptCachedFrameData.h:
- * bindings/v8/V8DOMWindowShell.cpp:
- (WebCore::V8DOMWindowShell::setContext):
- * bindings/v8/V8DOMWindowShell.h:
-
-2010-03-29 Thomas Zander <t.zander@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Make it possible to build using both Windows and Linux for Symbian
- https://bugs.webkit.org/show_bug.cgi?id=36748
-
- * WebCore.pro: don't assume Windows buildsystem is the only one
- and exclude the windows-only setters from the linux builds.
-
-2010-03-29 Thomas Zander <t.zander@nokia.com>
-
- Reviewed by Simon Hausmann.
+ No tests, since there's no test harness support for checking the
+ internal ImageDecoder state values.
- https://bugs.webkit.org/show_bug.cgi?id=36745
-
- [Qt] Fix def file builds with Qt 4.7.
-
- Switched to using DEF_FILE, which is the official variable.
-
- * WebCore.pro: Use DEF_FILE
-
-2010-03-24 Jeremy Orlow <jorlow@chromium.org>
-
- Reviewed by Darin Fisher.
-
- A few more steps towards IndexedDB
- https://bugs.webkit.org/show_bug.cgi?id=36546
-
- Add a callback interface to be used by all async methods.
- Add the first fragments of IDBDatabase.
- Clean up on IDBDatabaseError.
- Flesh out IndexedDatabase further.
-
- Not enough hooked up yet to test. Soon though...
-
- * WebCore.gypi:
- * storage/IDBCallbacks.h: Added.
- (WebCore::IDBCallbacks::~IDBCallbacks):
- * storage/IDBDatabase.cpp: Added.
- * storage/IDBDatabase.h: Added.
- (WebCore::IDBDatabase::~IDBDatabase):
- * storage/IDBDatabaseError.h:
- (WebCore::IDBDatabaseError::create):
- (WebCore::IDBDatabaseError::message):
- (WebCore::IDBDatabaseError::IDBDatabaseError):
- * storage/IndexedDatabase.h:
- * storage/IndexedDatabaseImpl.cpp:
- (WebCore::IndexedDatabaseImpl::IndexedDatabaseImpl):
- (WebCore::IndexedDatabaseImpl::~IndexedDatabaseImpl):
- (WebCore::IndexedDatabaseImpl::open):
- * storage/IndexedDatabaseImpl.h:
- * storage/IndexedDatabaseRequest.cpp:
- (WebCore::IndexedDatabaseRequest::open):
-
-2010-03-29 Mikhail Naganov <mnaganov@chromium.org>
+ * platform/image-decoders/gif/GIFImageReader.cpp:
+ (GIFImageReader::read): Use a macro to perform the state change, like we do everywhere else in the file. Also correctly return "failure" for certain corrupt GIFs, since that doesn't prevent their display (due to WebKit's different use of this code compared to Mozilla).
- Reviewed by Pavel Feldman.
+2010-05-26 Sheriff Bot <webkit.review.bot@gmail.com>
- Remove a possibility of confusion from Profiles panel Welcome screen
- by turning buttons into non-clickable glyphs. Also, span instructions
- alongside panel width.
+ Unreviewed, rolling out r60251.
+ http://trac.webkit.org/changeset/60251
+ https://bugs.webkit.org/show_bug.cgi?id=39788
- https://bugs.webkit.org/show_bug.cgi?id=34319
+ broke tests (Requested by dhyatt on #webkit).
- * English.lproj/localizedStrings.js:
- * inspector/front-end/ProfileView.js:
- (WebInspector.CPUProfileType.prototype.get welcomeMessage):
- * inspector/front-end/ProfilesPanel.js:
- (WebInspector.ProfilesPanel.prototype._addWelcomeMessage):
- * inspector/front-end/inspector.css:
- (.panel-enabler-view.welcome .instructions):
- (.panel-enabler-view.welcome button.status-bar-item):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::moveChildTo):
+ (WebCore::RenderBlock::moveAllChildrenTo):
+ (WebCore::RenderBlock::makeChildrenNonInline):
+ (WebCore::RenderBlock::removeChild):
+ * rendering/RenderBlock.h:
+ * rendering/RenderRubyBase.cpp:
+ (WebCore::RenderRubyBase::moveInlineChildren):
+ (WebCore::RenderRubyBase::moveBlockChildren):
+ (WebCore::RenderRubyBase::mergeBlockChildren):
+ * rendering/RenderRubyRun.cpp:
+ (WebCore::RenderRubyRun::removeChild):
-2010-03-26 Philippe Normand <pnormand@igalia.com>
+2010-05-26 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
- [GStreamer] define static variables with DEFINE_STATIC_LOCAL macro
- https://bugs.webkit.org/show_bug.cgi?id=36653
+ Fix webkit01.dat resumer tests in HTML5 parser
+ https://bugs.webkit.org/show_bug.cgi?id=39796
- Defined the static variables using DEFINE_STATIC_GLOBAL.
+ To match the old tokenizer, we should only flush character tokens when
+ we reach EOF. Added a notion of a "closed" segmented string that
+ cannot be appended to, which models EOF.
- * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
- (WebCore::mimeTypeCache):
+ * html/HTML5Lexer.cpp:
+ (WebCore::HTML5Lexer::nextToken):
+ (WebCore::HTML5Lexer::shouldEmitBufferedCharacterToken):
+ * html/HTML5Lexer.h:
+ * html/HTML5Tokenizer.cpp:
+ (WebCore::HTML5Tokenizer::pumpLexer):
+ (WebCore::HTML5Tokenizer::write):
+ (WebCore::HTML5Tokenizer::end):
+ * html/HTML5Tokenizer.h:
+ * platform/text/SegmentedString.cpp:
+ (WebCore::SegmentedString::SegmentedString):
+ (WebCore::SegmentedString::clear):
+ (WebCore::SegmentedString::append):
+ * platform/text/SegmentedString.h:
+ (WebCore::SegmentedString::SegmentedString):
+ (WebCore::SegmentedString::close):
+ (WebCore::SegmentedString::isClosed):
-2010-03-26 Philippe Normand <pnormand@igalia.com>
+2010-05-26 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
- [GStreamer] player header cleanups
- https://bugs.webkit.org/show_bug.cgi?id=36656
-
- Destructor made private and added missing
- mediaPlayerPrivateMuteChangedCallback declaration.
-
- * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
-
-2010-03-29 Yury Semikhatsky <yurys@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Protect global object from being GC'ed if there are messages written to console from the iframe with that global object.
-
- Whent serializing objects in the injected script check that global object properties are still defined before using them as arguments. The may become undefined if owning frame navigated to a different domain.
-
- https://bugs.webkit.org/show_bug.cgi?id=36612
+ Make HTML5 lexer not ASSERT when resuming partial parses
+ https://bugs.webkit.org/show_bug.cgi?id=39755
- Test: http/tests/inspector-enabled/console-log-before-frame-navigation.html
+ I'm working through a variation of the webkit-runner.html test suite
+ that stops the parser at every character to make sure we can resume
+ parsing correctly. This patch fixes some errors caught by ASSERTs,
+ which prevent the basic tests from running to completion. There's a
+ bunch more work to do, however.
- * bindings/js/ScriptState.h:
- (WebCore::ScriptStateProtectedPtr::ScriptStateProtectedPtr):
- (WebCore::ScriptStateProtectedPtr::get):
- * bindings/v8/ScriptState.h:
- (WebCore::ScriptStateProtectedPtr::ScriptStateProtectedPtr):
- (WebCore::ScriptStateProtectedPtr::~ScriptStateProtectedPtr):
- (WebCore::ScriptStateProtectedPtr::get):
- * inspector/ConsoleMessage.cpp:
- (WebCore::ConsoleMessage::addToFrontend):
- * inspector/ConsoleMessage.h:
- * inspector/front-end/InjectedScript.js:
- (injectedScriptConstructor):
- (injectedScriptConstructor.):
+ Test: html5lib/webkit-resumer.html
-2010-03-26 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Eric Carlson.
+ * html/HTML5Lexer.cpp:
+ (WebCore::HTMLNames::isEndTagBufferingState):
+ (WebCore::HTML5Lexer::nextToken):
+ (WebCore::HTML5Lexer::addToPossibleEndTag):
+ * html/HTML5Lexer.h:
+ * html/HTML5Tokenizer.cpp:
+ (WebCore::HTML5Tokenizer::write):
+ * html/HTML5Tokenizer.h:
- It should be possible to use GStreamer in addition to another media engine
- https://bugs.webkit.org/show_bug.cgi?id=36654
+2010-05-26 Alexey Proskuryakov <ap@apple.com>
- Renamed gstreamer player and added a WTF_USE_GSTREAMER
- define. Made the MediaPlayer register the GStreamer backend only
- if it's enabled (true by default on WebKitGTK+).
+ Mac 32 bit build fix.
- * GNUmakefile.am:
- * platform/graphics/MediaPlayer.cpp:
- (WebCore::installedMediaEngines):
- * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
- (WebCore::mediaPlayerPrivateMessageCallback):
- (WebCore::mediaPlayerPrivateSourceChangedCallback):
- (WebCore::mediaPlayerPrivateVolumeChangedCallback):
- (WebCore::mediaPlayerPrivateMuteChangedCallback):
- (WebCore::mediaPlayerPrivateRepaintCallback):
- (WebCore::MediaPlayerPrivateGStreamer::create):
- (WebCore::MediaPlayerPrivateGStreamer::registerMediaEngine):
- (WebCore::MediaPlayerPrivateGStreamer::isAvailable):
- (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
- (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
- (WebCore::MediaPlayerPrivateGStreamer::load):
- (WebCore::MediaPlayerPrivateGStreamer::commitLoad):
- (WebCore::MediaPlayerPrivateGStreamer::changePipelineState):
- (WebCore::MediaPlayerPrivateGStreamer::prepareToPlay):
- (WebCore::MediaPlayerPrivateGStreamer::play):
- (WebCore::MediaPlayerPrivateGStreamer::pause):
- (WebCore::MediaPlayerPrivateGStreamer::duration):
- (WebCore::MediaPlayerPrivateGStreamer::currentTime):
- (WebCore::MediaPlayerPrivateGStreamer::seek):
- (WebCore::MediaPlayerPrivateGStreamer::startEndPointTimerIfNeeded):
- (WebCore::MediaPlayerPrivateGStreamer::cancelSeek):
- (WebCore::MediaPlayerPrivateGStreamer::endPointTimerFired):
- (WebCore::MediaPlayerPrivateGStreamer::paused):
- (WebCore::MediaPlayerPrivateGStreamer::seeking):
- (WebCore::MediaPlayerPrivateGStreamer::naturalSize):
- (WebCore::MediaPlayerPrivateGStreamer::hasVideo):
- (WebCore::MediaPlayerPrivateGStreamer::hasAudio):
- (WebCore::MediaPlayerPrivateGStreamer::setVolume):
- (WebCore::MediaPlayerPrivateGStreamer::volumeChangedTimerFired):
- (WebCore::MediaPlayerPrivateGStreamer::volumeChanged):
- (WebCore::MediaPlayerPrivateGStreamer::setRate):
- (WebCore::MediaPlayerPrivateGStreamer::networkState):
- (WebCore::MediaPlayerPrivateGStreamer::readyState):
- (WebCore::MediaPlayerPrivateGStreamer::buffered):
- (WebCore::MediaPlayerPrivateGStreamer::processBufferingStats):
- (WebCore::MediaPlayerPrivateGStreamer::fillTimerFired):
- (WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable):
- (WebCore::MediaPlayerPrivateGStreamer::maxTimeLoaded):
- (WebCore::MediaPlayerPrivateGStreamer::bytesLoaded):
- (WebCore::MediaPlayerPrivateGStreamer::totalBytes):
- (WebCore::MediaPlayerPrivateGStreamer::cancelLoad):
- (WebCore::MediaPlayerPrivateGStreamer::updateStates):
- (WebCore::MediaPlayerPrivateGStreamer::mediaLocationChanged):
- (WebCore::MediaPlayerPrivateGStreamer::loadNextLocation):
- (WebCore::MediaPlayerPrivateGStreamer::loadStateChanged):
- (WebCore::MediaPlayerPrivateGStreamer::sizeChanged):
- (WebCore::MediaPlayerPrivateGStreamer::timeChanged):
- (WebCore::MediaPlayerPrivateGStreamer::didEnd):
- (WebCore::MediaPlayerPrivateGStreamer::durationChanged):
- (WebCore::MediaPlayerPrivateGStreamer::supportsMuting):
- (WebCore::MediaPlayerPrivateGStreamer::setMuted):
- (WebCore::MediaPlayerPrivateGStreamer::muteChangedTimerFired):
- (WebCore::MediaPlayerPrivateGStreamer::muteChanged):
- (WebCore::MediaPlayerPrivateGStreamer::loadingFailed):
- (WebCore::MediaPlayerPrivateGStreamer::setSize):
- (WebCore::MediaPlayerPrivateGStreamer::setVisible):
- (WebCore::MediaPlayerPrivateGStreamer::repaint):
- (WebCore::MediaPlayerPrivateGStreamer::paint):
- (WebCore::MediaPlayerPrivateGStreamer::getSupportedTypes):
- (WebCore::MediaPlayerPrivateGStreamer::supportsType):
- (WebCore::MediaPlayerPrivateGStreamer::hasSingleSecurityOrigin):
- (WebCore::MediaPlayerPrivateGStreamer::supportsFullscreen):
- (WebCore::MediaPlayerPrivateGStreamer::setPreload):
- (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
- * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
-
-2010-03-28 Alexey Proskuryakov <ap@apple.com>
+ * platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::platformInit):
+ Use static_cast instead of narrowPrecisionToFloat - the latter can't convert from float to float.
- Reviewed by Sam Weinig.
+2010-05-26 David Hyatt <hyatt@apple.com>
- https://bugs.webkit.org/show_bug.cgi?id=36733
- Use a common header for Windows virtual key codes on all platforms
+ Reviewed by Ojan.
- No change in functionality, so no new tests.
+ https://bugs.webkit.org/show_bug.cgi?id=39783, clean up moveChild functions in RenderBlock.
- * platform/WindowsKeyboardCodes.h: Added. Define VK_* key codes as macros, matching Windows.
+ Cut out the need to pass the to block's child list by tightening up the type of the to object
+ from RenderObject to RenderBlock.
- * platform/KeyboardCodes.h: Removed.
- * platform/android/KeyboardCodes.h: Removed.
- * platform/chromium/KeyboardCodesPosix.h: Removed.
- * platform/chromium/KeyboardCodesWin.h: Removed.
- * platform/haiku/KeyboardCodes.h: Removed.
- * platform/wx/KeyboardCodes.h: Removed.
- Removed platform specific attempts to do the same thing. In fact, platform/KeyboardCodes.h
- was supposed to be cross-platform, but it didn't have a sufficiently descriptive name, and
- its name was the same as platform-specific versions, so I chose a new one.
+ Implement the "append" versions of the move functions using their "insert" counterparts, since
+ insertChildNode just calls appendChildNode when beforeChild is 0 anyway.
- * platform/chromium/KeyboardCodes.h: Copied from WebCore/platform/chromium/KeyboardCodesWin.h.
- Chromium redefines Windows constants to different names; keeping the header doing that to
- avoid breaking Chromium code.
+ Add comments explaining why the default for fullRemoveInsert is false, and make sure all forms
+ of the move functions have the optional parameter for consistency.
- * GNUmakefile.am:
- * WebCore.gypi:
- Replaced KeyboardCodes.h with WindowsKeyboardCodes.h.
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::createAndAppendRootInlineBox):
+ (WebCore::RenderBlock::moveChildTo):
+ (WebCore::RenderBlock::moveAllChildrenTo):
+ (WebCore::RenderBlock::makeChildrenNonInline):
+ (WebCore::RenderBlock::removeChild):
+ * rendering/RenderBlock.h:
+ (WebCore::RenderBlock::moveChildTo):
+ (WebCore::RenderBlock::moveAllChildrenTo):
+ * rendering/RenderRubyBase.cpp:
+ (WebCore::RenderRubyBase::moveInlineChildren):
+ (WebCore::RenderRubyBase::moveBlockChildren):
+ (WebCore::RenderRubyBase::mergeBlockChildren):
+ * rendering/RenderRubyRun.cpp:
+ (WebCore::RenderRubyRun::removeChild):
- * WebCore.xcodeproj/project.pbxproj:
- * platform/cocoa/KeyEventCocoa.mm:
- (WebCore::windowsKeyCodeForKeyCode):
- (WebCore::windowsKeyCodeForCharCode):
- Mac used to hardcode the key codes; changed to use VK_* macros.
+2010-05-26 Dan Bernstein <mitz@apple.com>
- * config.h: Removed a hack to include KeyboardCodes.h, it shouldn't be necessary any more.
+ Typed and reviewed by Alexey Proskuryakov.
- * platform/android/KeyEventAndroid.cpp:
- * platform/brew/PlatformKeyboardEventBrew.cpp:
- * platform/efl/PlatformKeyboardEventEfl.cpp:
- * platform/gtk/KeyEventGtk.cpp:
- * platform/haiku/PlatformKeyboardEventHaiku.cpp:
- * platform/qt/PlatformKeyboardEventQt.cpp:
- * platform/wx/KeyboardEventWx.cpp:
- Changed to include WindowsKeyboardCodes.h.
+ https://bugs.webkit.org/show_bug.cgi?id=39682
+ <rdar://problem/8026774> REGRESSION: WebKit nightly adding insane height to div at random
-2010-03-28 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+ Test: fast/css/custom-font-xheight.html
- Reviewed by Simon Hausmann.
+ * platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::platformInit):
+ Calling an Objective C method that returns a structure with a null object can leave garbage in
+ returned value. Custom fonts don't have an NSFont, they only have a CGFont. Call
+ platformBoundsForGlyph() function instead, which works with CGFont.
+ (WebCore::SimpleFontData::platformBoundsForGlyph): Fixed to work on Tiger (for fonts that
+ have an NSFont), since this is now used in more cases.
- [Qt] Remove the definition of WTF_CHANGES guards from the build system
- https://bugs.webkit.org/show_bug.cgi?id=31670
+2010-05-26 Beth Dakin <bdakin@apple.com>
- No new tests as there is no new functionality.
+ Build fix for Mac clean builds.
- * WebCore.pri: Remove the definition of WTF_CHANGES
- as it is already defined in config.h
+ * storage/IDBDatabaseRequest.idl:
-2010-03-28 Sam Weinig <sam@webkit.org>
+2010-05-26 Eric Carlson <eric.carlson@apple.com>
Reviewed by Dan Bernstein.
- Clean up the Xcode project a bit.
-
- * WebCore.xcodeproj/project.pbxproj:
-
-2010-03-28 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Toggling style properties on/off does not always work.
-
- https://bugs.webkit.org/show_bug.cgi?id=36720
-
- * inspector/InspectorController.cpp:
- * inspector/InspectorDOMAgent.cpp:
- (WebCore::InspectorDOMAgent::toggleStyleEnabled):
- (WebCore::InspectorDOMAgent::buildObjectForStyle):
- (WebCore::InspectorDOMAgent::buildArrayForDisabledStyleProperties):
- * inspector/InspectorDOMAgent.h:
- * inspector/front-end/DOMAgent.js:
- (WebInspector.CSSStyleDeclaration):
-
-2010-03-28 Pavel Feldman <pfeldman@chromium.org>
+ Must not cast between CFNumberRef and CFBooleanRef.
+ <rdar://problem/8030739>
+ https://bugs.webkit.org/show_bug.cgi?id=39756
- Reviewed by Timothy Hatcher.
-
- Web Inspector: resource links should navigate to resource panel enabler when resource tracking is off.
+ * platform/graphics/win/QTMovieVisualContext.cpp:
+ (QTMovieVisualContext::getCGImageOptions): QuickTime assumes the value associated
+ with kCVPixelBufferCGImageCompatibilityKey is a CFBoolean, so add one.
- https://bugs.webkit.org/show_bug.cgi?id=36722
+2010-05-26 Xan Lopez <xlopez@igalia.com>
- * English.lproj/localizedStrings.js:
- * inspector/front-end/inspector.js:
- (WebInspector.documentMouseOver):
- (WebInspector.documentClick.followLink):
- (WebInspector.documentClick):
+ GTK+ build fix, strike two.
-2010-03-28 Dirk Schulze <krit@webkit.org>
+ * bindings/gobject/WebKitDOMEventTarget.cpp:
+ (webkit_dom_event_target_get_type):
+ (webkit_dom_event_target_default_init):
- Unreviewed build-fix for chromium linux.
+2010-05-26 Jeremy Orlow <jorlow@chromium.org>
- SVGResourceMarker needs to be moved to RenderersSVGResourceMarker
- https://bugs.webkit.org/show_bug.cgi?id=36185
+ Unreviewed build fix for Windows + clean up the Visual Studio project.
- * svg/SVGStyledElement.cpp:
- (WebCore::SVGStyledElement::invalidateResources):
-
-2010-03-28 Dirk Schulze <krit@webkit.org>
-
- Reviewed by Nikolas Zimmermann.
-
- SVGResourceMarker needs to be moved to RenderersSVGResourceMarker
- https://bugs.webkit.org/show_bug.cgi?id=36185
-
- This moves SVGResourceMarker to RenderersSVGResourceMarker. This follows other
- SVG resources like masker and clipper and makes DRT results more readable and
- adds additonal informations.
- Some marker specific code also moved out from RenderSVGViewportContainer to
- RenderersSVGResourceMarker.
-
- * Android.mk:
- * GNUmakefile.am:
* WebCore.gypi:
- * WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * rendering/RenderPath.cpp:
- (WebCore::RenderPath::calculateMarkerBoundsIfNeeded):
- * rendering/RenderSVGImage.cpp:
- (WebCore::RenderSVGImage::destroy):
- * rendering/RenderSVGResource.h:
- (WebCore::):
- * rendering/RenderSVGResourceMarker.cpp: Added.
- (WebCore::RenderSVGResourceMarker::RenderSVGResourceMarker):
- (WebCore::RenderSVGResourceMarker::~RenderSVGResourceMarker):
- (WebCore::RenderSVGResourceMarker::layout):
- (WebCore::RenderSVGResourceMarker::addClient):
- (WebCore::RenderSVGResourceMarker::invalidateClients):
- (WebCore::RenderSVGResourceMarker::invalidateClient):
- (WebCore::RenderSVGResourceMarker::applyViewportClip):
- (WebCore::RenderSVGResourceMarker::markerBoundaries):
- (WebCore::RenderSVGResourceMarker::localToParentTransform):
- (WebCore::RenderSVGResourceMarker::referencePoint):
- (WebCore::RenderSVGResourceMarker::angle):
- (WebCore::RenderSVGResourceMarker::markerTransformation):
- (WebCore::RenderSVGResourceMarker::draw):
- (WebCore::RenderSVGResourceMarker::markerContentTransformation):
- (WebCore::RenderSVGResourceMarker::viewportTransform):
- (WebCore::RenderSVGResourceMarker::calcViewport):
- * rendering/RenderSVGResourceMarker.h: Added.
- (WebCore::RenderSVGResourceMarker::renderName):
- (WebCore::RenderSVGResourceMarker::applyResource):
- (WebCore::RenderSVGResourceMarker::resourceBoundingBox):
- (WebCore::RenderSVGResourceMarker::markerUnits):
- (WebCore::RenderSVGResourceMarker::resourceType):
- * rendering/RenderSVGViewportContainer.cpp:
- (WebCore::RenderSVGViewportContainer::calcViewport):
- (WebCore::RenderSVGViewportContainer::viewportTransform):
- * rendering/RenderSVGViewportContainer.h:
- * rendering/SVGMarkerData.h:
- (WebCore::SVGMarkerData::SVGMarkerData):
- (WebCore::SVGMarkerData::marker):
- (WebCore::SVGMarkerData::updateTypeAndMarker):
- * rendering/SVGMarkerLayoutInfo.cpp:
- (WebCore::processStartAndMidMarkers):
- (WebCore::SVGMarkerLayoutInfo::calculateBoundaries):
- (WebCore::SVGMarkerLayoutInfo::addLayoutedMarker):
- * rendering/SVGMarkerLayoutInfo.h:
- (WebCore::MarkerLayout::MarkerLayout):
- (WebCore::SVGMarkerLayoutInfo::midMarker):
- * rendering/SVGRenderSupport.cpp:
- (WebCore::deregisterFromResources):
- * rendering/SVGRenderSupport.h:
- * rendering/SVGRenderTreeAsText.cpp:
- (WebCore::operator<<):
- (WebCore::writeSVGResource):
- * svg/SVGMarkerElement.cpp:
- (WebCore::SVGMarkerElement::svgAttributeChanged):
- (WebCore::SVGMarkerElement::childrenChanged):
- (WebCore::SVGMarkerElement::setOrientToAuto):
- (WebCore::SVGMarkerElement::setOrientToAngle):
- (WebCore::SVGMarkerElement::createRenderer):
- * svg/SVGMarkerElement.h:
- (WebCore::SVGMarkerElement::):
- * svg/SVGStyledElement.cpp:
- (WebCore::SVGStyledElement::invalidateResources):
- * svg/graphics/SVGResource.h:
- (WebCore::):
- (WebCore::SVGResource::isFilter):
- * svg/graphics/SVGResourceMarker.cpp: Removed.
- * svg/graphics/SVGResourceMarker.h: Removed.
-
-2010-03-28 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: Consolidate Tree Hierarchy Attribute HTML Generation
- https://bugs.webkit.org/show_bug.cgi?id=36719
-
- Consolidates the generation of Element Tree Hierarchy attribute code
- generation to a single function: _attributeHTML.
-
- * inspector/front-end/ElementsTreeOutline.js:
- (WebInspector.ElementsTreeElement.prototype._addNewAttribute): convert to use attributeHTML.
- (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted.regenerateStyledAttribute): convert to use attributeHTML.
- (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
- (WebInspector.ElementsTreeElement.prototype._attributeHTML): a single point for generating the html for attributes.
-
-2010-03-28 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: Edit Tag Names
- https://bugs.webkit.org/show_bug.cgi?id=36481
-
- Ensure blacklisting happens by checking it in _startEditingTagName
- instead of all the possible entry points.
-
- * inspector/front-end/ElementsTreeOutline.js:
- (WebInspector.ElementsTreeElement.prototype._startEditingFromEvent): don't check blacklist here.
- (WebInspector.ElementsTreeElement.prototype._startEditingTagName): check blacklist here.
-
-2010-03-28 Kim Grönholm <kim.gronholm@nomovok.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] GraphicsLayer: Timing functions don't work with transitions
- https://bugs.webkit.org/show_bug.cgi?id=36589
-
- If the animation value doesn't have timing function set, we need to
- use the animation's timing function.
-
- Fixed also a bug in passing the duration to solveCubicBezierFunction.
- The duration was divided two times by 1000 and meanwhile casted to int.
- It needs to be kept as double and divided by 1000 only once.
-
- Test case: https://bugs.webkit.org/attachment.cgi?id=51619
-
- * platform/graphics/qt/GraphicsLayerQt.cpp:
- (WebCore::applyTimingFunction):
- (WebCore::AnimationQt:::AnimationQtBase):
- (WebCore::AnimationQt::updateCurrentTime):
-
-2010-03-27 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: Edit Tag Names
- https://bugs.webkit.org/show_bug.cgi?id=36481
-
- Allow tabbing back and forth between the tag name and element
- attributes when editing. Also, fixed a number of minor issues with
- editing attributes and tabbing.
-
- * inspector/front-end/ElementsTreeOutline.js:
- (WebInspector.ElementsTreeElement.prototype._startEditingTagName): find the tag name if it wasn't provided.
- (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted): fix tabbing issues, enable tab to tag name.
- (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted.regenerateStyledAttribute): cleanup styles when tabbing.
- * inspector/front-end/inspector.css: do not display <br>s while editing
-
-2010-03-27 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: Edit Tag Names
- https://bugs.webkit.org/show_bug.cgi?id=36481
-
- Allow editing an Element's Tag Name by double clicking
- on the tag name in the Element's Tree Hierarchy.
-
- The usual asynchronous InspectorBackend, InspectorDOMAgent, InspectorFrontend flow.
-
- * inspector/InspectorBackend.cpp: moved DOM manipulation to InspectorDOMAgent
- (WebCore::InspectorBackend::removeNode):
- (WebCore::InspectorBackend::changeTagName):
- * inspector/InspectorBackend.h:
- * inspector/InspectorBackend.idl:
- * inspector/InspectorDOMAgent.cpp:
- (WebCore::InspectorDOMAgent::removeNode):
- (WebCore::InspectorDOMAgent::changeTagName):
- * inspector/InspectorDOMAgent.h:
- * inspector/InspectorFrontend.cpp:
- (WebCore::InspectorFrontend::didChangeTagName):
- * inspector/InspectorFrontend.h:
-
- * inspector/front-end/DOMAgent.js:
-
- Handle the UI for editing an Element's tag name.
-
- * inspector/front-end/ElementsTreeOutline.js:
- (WebInspector.ElementsTreeElement.prototype._startEditingFromEvent): allow editing from double click.
- (WebInspector.ElementsTreeElement.prototype._startEditingTagName.keyupListener): update the closing tag
- (WebInspector.ElementsTreeElement.prototype._startEditingTagName.editingComitted): remove extra listener and commit
- (WebInspector.ElementsTreeElement.prototype._startEditingTagName.editingCancelled): remove extra listener and cancel
- (WebInspector.ElementsTreeElement.prototype._startEditingTagName):
- (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.cancel):
- (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.moveToNextAttributeIfNeeded):
- (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.editTagNameCallback):
- (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
- (WebInspector.ElementsTreeElement.prototype._distinctClosingTagElement): get the closing tag for an opening tag
- (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo): wrap the tagName in span.webkit-html-tag-name
-
- Miscellaneous updates.
-
- * inspector/front-end/treeoutline.js: fixed a typo.
-
-2010-03-27 Dmitry Gorbik <socket.h@gmail.com>
-
- Reviewed by Pavel Feldman.
-
- Fix the regression caused by r28078: a global variable
- definition masks a local one in an inspector console
- https://bugs.webkit.org/show_bug.cgi?id=32442
-
- * inspector/front-end/InjectedScript.js:
- (injectedScriptConstructor):
-
-2010-03-27 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/7801598> REGRESSION (r56182): iWeb shadow drawn around image rectangle, not around opaque part of the image
- https://bugs.webkit.org/show_bug.cgi?id=36700
-
- * css/CSSPrimitiveValue.cpp:
- (WebCore::CSSPrimitiveValue::createColor): Reverted to returning an RGB color value rather than an
- identifier for the transparent color.
-
-2010-03-26 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: Converge Inspector ids to be long, not ints
- https://bugs.webkit.org/show_bug.cgi?id=36706
-
- Part 1: Converge on `long` for callIds, nodeIds, and other Ids.
-
- * inspector/InspectorController.cpp:
- * inspector/InspectorController.h:
- * inspector/InspectorDOMAgent.cpp:
- * inspector/InspectorFrontend.cpp:
- * inspector/InspectorFrontend.h:
-
-2010-03-27 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: add layout test for styles panel.
-
- https://bugs.webkit.org/show_bug.cgi?id=36699
-
- Test: inspector/elements-panel-styles.html
-
- * inspector/front-end/inspector.css:
- (#elements-content):
- (#elements-sidebar):
- * inspector/front-end/inspector.js:
- (WebInspector.displayNameForURL):
- * inspector/front-end/utilities.js:
- (String.prototype.trimURL):
-
-2010-03-27 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Darin Adler.
-
- CSSPrimitiveValue::setFloatValue/setStringValue should throw an exception if passed an incorrect unit type.
- <http://webkit.org/b/36680> / <rdar://problem/7801016>
-
- Test: fast/dom/setPrimitiveValue-exceptions.html
-
- * css/CSSPrimitiveValue.cpp:
- (WebCore::CSSPrimitiveValue::setFloatValue): Throw an INVALID_ACCESS_ERR if either of our type or the passed-in
- type is not a numeric type.
- (WebCore::CSSPrimitiveValue::setStringValue): Throw an INVALID_ACCESS_ERR if either of our type or the passed-in
- type is not a string type.
-
-2010-03-27 Robert Hogan <robert@webkit.org>
-
- Reviewed by nobody, fix typo in previous commit.
-
- Allow plugins implemented by the application, such as mimetype 'x-qt-plugin',
- when pluginsEnabled is false
-
- Fix parentheses typo in r56661. This happened while rebasing and was not present
- in the reviewed patch, so committing unreviewed.
-
- https://bugs.webkit.org/attachment.cgi?id=49515
-
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::requestObject):
-
-2010-03-26 Robert Hogan <robert@roberthogan.net>
-
- Reviewed by Simon Hausmann.
-
- Allow plugins implemented by the application, such as mimetype 'x-qt-plugin',
- when pluginsEnabled is false.
-
- The purpose of disabling plugins is to prevent the execution of third-party code
- that may be untrustworthy. Qt plugins are implemented by the client rather than
- loaded from an external source, so the client should have the opportunity to
- consider them separately from other plugins.
-
- Add a function MimeTypeRegistry::isApplicationPluginMIMEType() that WebKit
- uses in conjunction with arePluginsEnabled() to determine if it should attempt
- to load a plugin. If isApplicationPluginMIMEType() returns true, WebKit will load
- the plugin even if arePluginsEnabled() is false.
-
- Currently, only Qt has application-implemented plugins: these use the mimetype
- 'x-qt-plugin' and 'x-qt-styled-widget'. This patch permits Qt clients'
- reimplementation of QWebPage::createPlugin() to decide whether or not
- to create a Qt plugin, even when arePluginsEnabled is false.
-
- For all platforms apart from Qt, isApplicationPluginMIMEType() returns false.
-
- https://bugs.webkit.org/show_bug.cgi?id=32196
-
- Test: plugins/application-plugin-plugins-disabled.html
-
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::requestObject):
- * platform/MIMETypeRegistry.h:
- * platform/brew/MIMETypeRegistryBrew.cpp:
- (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
- * platform/chromium/MIMETypeRegistryChromium.cpp:
- (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
- * platform/gtk/MIMETypeRegistryGtk.cpp:
- (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
- * platform/haiku/MIMETypeRegistryHaiku.cpp:
- (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
- * platform/mac/MIMETypeRegistryMac.mm:
- (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
- * platform/qt/MIMETypeRegistryQt.cpp:
- (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
- * platform/win/MIMETypeRegistryWin.cpp:
- (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
- * platform/wince/MIMETypeRegistryWince.cpp:
- (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
- * platform/wx/MimeTypeRegistryWx.cpp:
- (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
-
-2010-03-27 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Mark Rowe.
-
- Fix Acid3 text-shadow rendering regression introduced in r56597.
-
- * platform/graphics/mac/FontMac.mm:
- (WebCore::Font::drawGlyphs): Revert to using the simple shadow logic for zero-blur shadows,
- except for color bitmap fonts.
-
-2010-03-26 Daniel Bates <dbates@rim.com>
-
- Reviewed by Beth Dakin.
-
- https://bugs.webkit.org/show_bug.cgi?id=9268
-
- As per sections 14.2 (http://www.w3.org/TR/CSS2/colors.html#background)
- and 17.5.1 (http://www.w3.org/TR/CSS2/tables.html#table-layers) of the
- CSS 2.1 spec., the background-image of a table-row should span the
- entire area of the table-row (i.e cover all the <td>'s). Moreover,
- fixes background image painting with respect to row-groups, columns
- and column-groups (*).
-
- Currently, the background-image of a table row, row-group, and column-group
- is inherited by the table cells. This directly contradicts section 14.2.
- Instead, the background-image should cover the entire area of the table row,
- row-group, column, or column-group, respectively as described in section 17.5.1.
-
- (*) A follow up patch to compute the absolute content box of a column, and
- column-group is needed so that background image positioning for these table
- elements works. See bug #36104.
-
- Tests: fast/table/table-background.html
- fast/table/table-cell-border-draws-on-top-of-col-background.html
- fast/table/table-cell-border-draws-on-top-of-col-group-background.html
- fast/table/table-cell-border-draws-on-top-of-row-background.html
- fast/table/table-cell-border-draws-on-top-of-row-group-background.html
- fast/table/table-cell-overrides-row-background.html
- fast/table/table-col-background.html
- fast/table/table-col-group-background.html
- fast/table/table-col-group-col-span-background.html
- fast/table/table-col-group-span-background.html
- fast/table/table-col-span-background.html
- fast/table/table-row-background-left-50px.html
- fast/table/table-row-background-right-100percent.html
- fast/table/table-row-background-right-50px.html
- fast/table/table-row-background.html
- fast/table/table-row-group-background-positioned.html
- fast/table/table-row-group-background.html
-
- * rendering/RenderBoxModelObject.cpp:
- (WebCore::RenderBoxModelObject::paintFillLayerExtended):
- (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Modified
- to call RenderObject::adjustBackgroundImagePosition.
- * rendering/RenderBoxModelObject.h:
- * rendering/RenderObject.h:
- (WebCore::RenderObject::adjustBackgroundImagePosition): Added.
- * rendering/RenderTableCell.cpp:
- (WebCore::RenderTableCell::adjustBackgroundImagePosition): Added.
- * rendering/RenderTableCell.h:
-
-2010-03-26 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Unreviewed, minor build fix.
-
- [Gtk] Guard defined but not used function
-
- Eliminate the "defined but not used" warning after r52684.
- No new tests as there is no new functionality.
-
- * platform/ContextMenu.cpp:
-
-2010-03-26 Justin Schuh <jschuh@chromium.org>
-
- Reviewed by Adam Barth.
-
- Security: iFrame.src accepts JavaScript URL via nodeValue or textContent
- https://bugs.webkit.org/show_bug.cgi?id=36502
-
- Overrode inherited nodeValue and textContent in Attr.idl so they proxy
- to value, which performs a security check.
-
- Test: http/tests/security/xss-DENIED-iframe-src-alias.html
-
- * bindings/js/JSAttrCustom.cpp:
- (WebCore::JSAttr::nodeValue):
- (WebCore::JSAttr::setNodeValue):
- (WebCore::JSAttr::textContent):
- (WebCore::JSAttr::setTextContent):
- * bindings/v8/custom/V8AttrCustom.cpp:
- (WebCore::V8Attr::nodeValueAccessorSetter):
- (WebCore::V8Attr::nodeValueAccessorGetter):
- (WebCore::V8Attr::textContentAccessorSetter):
- (WebCore::V8Attr::textContentAccessorGetter):
- * dom/Attr.idl:
-
-2010-03-26 Eric Carlson <eric.carlson@apple.com>
-
- <rdar://problem/7320584>
- https://bugs.webkit.org/show_bug.cgi?id=36681
- "new Audio()" doesn't work with plug-in backed media engine.
-
- Don't require plug-in backed <video> and <audio> elements to be in the document to play.
-
- * html/HTMLMediaElement.cpp:
- (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_proxyWidget
- (WebCore::HTMLMediaElement::createRenderer): Set renderer widget if it has already been
- allocated.
- (WebCore::HTMLMediaElement::scheduleLoad): Call createMediaPlayerProxy to make sure we
- have a plug-in proxy.
- (WebCore::HTMLMediaElement::loadResource): Ditto.
- (WebCore::HTMLMediaElement::ensureMediaPlayer): Allocate media player.
- (WebCore::HTMLMediaElement::setMediaPlayerProxy): Call ensureMediaPlayer.
- (WebCore::HTMLMediaElement::getPluginProxyParams): New, return the url and params vectors.
- (WebCore::HTMLMediaElement::finishParsingChildren): Call createMediaPlayerProxy.
- (WebCore::HTMLMediaElement::createMediaPlayerProxy): New, allocate the proxy widget if necessary.
- * html/HTMLMediaElement.h:
-
- * loader/EmptyClients.h:
- (WebCore::EmptyFrameLoaderClient::createMediaPlayerProxyPlugin): Add declaration.
-
- * loader/FrameLoader.cpp:
- (WebCore::toPlugInElement): Don't allow an audio or video element to be cast to a plug-in element.
- (WebCore::FrameLoader::loadPlugin):
- (WebCore::FrameLoader::loadMediaPlayerProxyPlugin): New, allocate a media player proxy plug-in.
-
- * loader/FrameLoader.h: Declare loadMediaPlayerProxyPlugin.
-
- * loader/FrameLoaderClient.h: Declare createMediaPlayerProxyPlugin.
-
- * rendering/RenderEmbeddedObject.cpp:
- (WebCore::RenderEmbeddedObject::updateWidget): Call loadMediaPlayerProxyPlugin when passed an
- audio or video node.
-
- * rendering/RenderLayerCompositor.cpp:
- (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
-
- * rendering/RenderVideo.cpp:
- (WebCore::RenderVideo::RenderVideo): Get default width and height from defaultSize.
- (WebCore::RenderVideo::defaultSize): New, return the spec defined default width and height.
- * rendering/RenderVideo.h:
-
-2010-03-26 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein, Darin Adler.
-
- Re-entrant layout via plug-ins may cause crashes with bad RenderWidgets
- https://bugs.webkit.org/show_bug.cgi?id=36675
- <rdar://problem/7787617>
-
- Fix two places in the code where RenderWidgets can get destroyed while being iterated over.
- This can happen when plug-ins execute script from NPP_SetWindow, and that script makes a change
- to the page that destroys a RenderWidget.
-
- Tests: plugins/reentrant-update-widget-positions.html
- plugins/update-widgets-crash.html
-
- * page/FrameView.cpp:
- (WebCore::FrameView::updateWidgets): ref() the RenderEmbeddedObjects that are put into the
- vector before iterating of them, and deref() them at the end. Rather than checking the m_widgetUpdateSet
- to see if the RenderWidget is still live, test object->node().
-
- * rendering/RenderView.cpp:
- (WebCore::RenderView::RenderView): Initialize some data members to make it more obvious in the debugger
- that the object is not garbage.
- (WebCore::RenderView::updateWidgetPositions): Use a Vector of RenderWidget* to keep the RenderWidgets
- alive during iteration, by reffing and dereffing them.
- * rendering/RenderWidget.h:
- (WebCore::RenderWidget::ref): Make this and deref() public.
-
-2010-03-26 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Darin Adler.
- Partial fix for https://bugs.webkit.org/show_bug.cgi?id=36564
- Performance regression for setting content of <text> in SVG
- -and corresponding-
- <rdar://problem/7693963>
-
- toClipPath() is extremely inefficient, so this patch removes the
- call to it from RenderSVGResourceClipper::resourceBoundingBox()
- which is very hot code in SVG with clip-paths. It is sufficient to
- call unite with the objectBoundingBox(), which will return early if
- objectBoundingBox() is empty.
-
- * rendering/RenderSVGResourceClipper.cpp:
- (WebCore::RenderSVGResourceClipper::resourceBoundingBox):
-
-2010-03-26 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by Dave Hyatt.
-
- Generated run-in Content is Mistakenly Getting Deleted
- https://bugs.webkit.org/show_bug.cgi?id=36505
- <rdar://problem/7767161>
-
- Test: fast/runin/generated2.html
- Test: fast/runin/generated3.html
- Test: fast/runin/generated4.html
-
- Do not destroy :before/:after generated content with display run-in
- when relaying out different nodes. Have their real owners correctly
- handle them.
-
- * rendering/RenderObjectChildList.cpp:
- (WebCore::RenderObjectChildList::updateBeforeAfterContent): simplified logic
- (WebCore::RenderObjectChildList::beforeAfterContainer): skip generated run-ins when checking children, check for them in grandchildren
-
-2010-03-25 Ojan Vafai <ojan@chromium.org>
-
- Reviewed by Darin Adler.
-
- shift+home/end and cmd+shift+left/right don't extend the selection correctly
- https://bugs.webkit.org/show_bug.cgi?id=36539
-
- * WebCore.base.exp:
- * editing/SelectionController.cpp:
- (WebCore::SelectionController::modify):
- * editing/SelectionController.h:
-
-2010-03-26 Janne Koskinen <janne.p.koskinen@digia.com>
-
- Reviewed by Laszlo Gombos.
-
- Don't undefine SKIP_STATIC_CONSTRUCTORS_ON_GCC for Symbian HW targets.
- https://bugs.webkit.org/show_bug.cgi?id=34081
-
- Defining StringImpl instances as globals will cause a crash on process exit as
- StringImpl::Remove expects TLS which was already deleted at time of exiting main and ends up
- constructing one exiting thread.
-
- * config.h:
-
-2010-03-26 Andrey Kosyakov <caseq@chromium.org>
-
- Reviewed by Pavel Feldman.
-
-
- Send worker resource content to inspector to enable display of web
- workers in inspector's resource tab.
- https://bugs.webkit.org/show_bug.cgi?id=36658
-
- * inspector/InspectorController.cpp:
- (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
- (WebCore::InspectorController::scriptImported):
- * inspector/InspectorResource.cpp:
- (WebCore::InspectorResource::type):
- (WebCore::InspectorResource::setOverrideContent):
- (WebCore::InspectorResource::sourceString):
- * inspector/InspectorResource.h:
- * workers/DefaultSharedWorkerRepository.cpp:
- (WebCore::SharedWorkerScriptLoader::notifyFinished):
- * workers/Worker.cpp:
- (WebCore::Worker::notifyFinished):
-
-2010-03-26 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Antti Koivisto.
-
- Fix the rendering of HTMLProgressElement
- https://bugs.webkit.org/show_bug.cgi?id=36206
-
- Update the rendering and css to conform to
- http://www.whatwg.org/specs/web-apps/current-work/complete.html#the-progress-element-0.
- Updated the tests and the expected results accordingly.
-
- * css/html.css:
- (progress):
- * rendering/RenderProgress.cpp:
- (WebCore::RenderProgress::RenderProgress):
- (WebCore::RenderProgress::updateFromElement):
- * rendering/RenderProgress.h:
- (WebCore::RenderProgress::isProgress):
-
-2010-03-26 Julien Chaffraix <jchaffraix@webkit.org>
-
- Unreviewed build fix.
-
- FontPlatformDataPango.cpp: prototype for
- 'WebCore::FontPlatformData::FontPlatformData(cairo_font_face_t*, int, bool, bool)'
- does not match any in class
- https://bugs.webkit.org/show_bug.cgi?id=36496
-
- * platform/graphics/gtk/FontPlatformDataPango.cpp:
- (WebCore::FontPlatformData::FontPlatformData): The 'size' parameter
- should be a float to match the declaration and the other definitions.
-
-2010-03-26 Shu Chang <chang.shu@nokia.com>
-
- Reviewed by Eric Seidel.
-
- [Qt] Prevent referring d->m_job in the future because calling abort()
- deletes the instance itself.
- https://bugs.webkit.org/show_bug.cgi?id=36618
-
- Test: http/tests/appcache/fallback.html
-
- * platform/network/qt/ResourceHandleQt.cpp:
- (WebCore::ResourceHandle::cancel):
-
-2010-03-26 Stephen White <senorblanco@chromium.org>
-
- Unreviewed; build fix.
-
- Rolling out 56620; too many layout test failures.
-
- Covered by fast/css/*.
-
- * css/CSSPrimitiveValue.cpp:
- (WebCore::CSSPrimitiveValue::cleanup):
- (WebCore::CSSPrimitiveValue::cssText):
- * css/CSSPrimitiveValue.h:
- (WebCore::CSSPrimitiveValue::):
-
-2010-03-26 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Build JavaScriptCore as a static library.
- https://bugs.webkit.org/show_bug.cgi?id=36590
-
- This patch takes what was left of the unused JavaScriptCore.pro
- and moved the compilation logic from JavaScriptCore.pri to
- JavaScriptCore.pro.
-
- * WebCore.pro:
-
-2010-03-26 Olivier Goffart <ogoffart@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix compilation on Windows
-
- For some reason, the MSVC compiler choose the
- operator+(const QString &, const QString &) instead of
- operator+(const WebCore::String &, const WebCore::String &)
- resulting in errors when QT_USE_FAST_OPERATOR_PLUS is used.
-
- * dom/XMLTokenizerQt.cpp:
- (WebCore::handleElementNamespaces):
-
-2010-03-24 Stephen White <senorblanco@chromium.org>
-
- Reviewed by Darin Adler.
-
- In order to speed up multiple calls to CSSPrimitiveValue::cssText(),
- this CL caches the String result. When m_value is changed, the
- cached string is cleared. This gives a good speedup on benchmarks
- which do a lot of CSS property gets, such as Peacekeeper.
- The processing cost should be negligible, since the strings are
- refcounted. The memory cost is an additional 4 bytes per
- CSSPrimitiveValue, and the extended lifetime of the computed string
- (potentially, the same as the lifetime of the CSSPrimitiveValue).
-
- https://bugs.webkit.org/show_bug.cgi?id=36556
-
- Covered by fast/css/large-number-round-trip.html, and more.
-
- * css/CSSPrimitiveValue.cpp:
- (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
- (WebCore::CSSPrimitiveValue::cleanup):
- (WebCore::CSSPrimitiveValue::cssText):
- * css/CSSPrimitiveValue.h:
-
-2010-03-26 Qi Zhang <qi.2.zhang@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] fast/canvas/drawImage-with-negative-source-destination.html failed
- https://bugs.webkit.org/show_bug.cgi?id=35005
-
- To support negative width or height at context.drawImage
-
- * platform/graphics/qt/StillImageQt.cpp:
- (WebCore::StillImage::draw):
-
-2010-03-08 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- [GStreamer] soften dependency on libsoup in the http src element
- https://bugs.webkit.org/show_bug.cgi?id=35864
-
- Replaced SoupURI calls with KURL and pause/resume internal soup
- messages only if the element is compiled for a port depending on
- libsoup.
-
- * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
- (webkit_web_src_init):
- (webKitWebSrcSetUri):
- (webKitWebSrcNeedDataMainCb):
- (webKitWebSrcEnoughDataMainCb):
-
-2010-03-25 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: Shot record filter is implemented in Timeline Panel.
- https://bugs.webkit.org/show_bug.cgi?id=36606
-
- * English.lproj/localizedStrings.js:
- * inspector/front-end/TimelinePanel.js:
- (WebInspector.TimelinePanel):
- (WebInspector.TimelinePanel.prototype.get statusBarItems):
- (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
- (WebInspector.TimelinePanel.prototype._toggleFilterButtonClicked):
- (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
- (WebInspector.TimelinePanel.prototype._addToRecordsWindow):
- (WebInspector.TimelineRecordGraphRow.prototype.update):
- (WebInspector.TimelinePanel.FormattedRecord.prototype.get _isLongEvent):
- * inspector/front-end/inspector.css:
-
-2010-03-25 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Implement CSSStyleSelector::pseudoStyleForElement and use it in the InspectorDOMAgent.
-
- https://bugs.webkit.org/show_bug.cgi?id=36509
-
- This change provides pseudo elements information into the inspector styles sidebar pane.
- Changes applied:
- - CSSStyleSelector::pseudoStyleRulesForElement implemented. I changed the signature to accept
- PseudoId instead of a String since it better reflected the needs;
- - Accompanied elementStyle checks with m_collectRulesOnly checks;
- - Removed pseudoStyleRulesForElement usage from DOMWindow::getMatchedCSSRules. It was anyways
- returning 0, while I would need to convert String to PseudoId in order to leave the call in place;
- - Needed to introduce AFTER_LAST_INTERNAL_PSEUDOID marker const in RenderStyleConstants' PseudoId enum
- - InspectorDOMAgent is now iterating over all pseudo ids to get all styles (including internal ones).
- - Brushed up front-end code so that proper overriding took place locally within pseudo id categories.
-
- * English.lproj/localizedStrings.js:
- * css/CSSStyleSelector.cpp:
- (WebCore::CSSStyleSelector::styleRulesForElement):
- (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
- (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
- (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
- * css/CSSStyleSelector.h:
- * inspector/InspectorDOMAgent.cpp:
- (WebCore::InspectorDOMAgent::getStyles):
- (WebCore::InspectorDOMAgent::buildObjectForAttributeStyles):
- (WebCore::InspectorDOMAgent::buildArrayForCSSRules):
- (WebCore::InspectorDOMAgent::buildArrayForPseudoElements):
- * inspector/InspectorDOMAgent.h:
- * inspector/front-end/StylesSidebarPane.js:
- (WebInspector.StylesSidebarPane.prototype.update.callback):
- (WebInspector.StylesSidebarPane.prototype.update):
- (WebInspector.StylesSidebarPane.prototype._update):
- (WebInspector.StylesSidebarPane.prototype._refreshStyleRules):
- (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules.insertInheritedNodeSeparator):
- (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
- (WebInspector.StylesSidebarPane.prototype._markUsedProperties):
- (WebInspector.StylesSidebarPane.prototype._refreshSectionsForStyleRules):
- (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
- (WebInspector.StylesSidebarPane.prototype._changeColorFormat):
- (WebInspector.StylesSidebarPane.prototype.addBlankSection):
- (WebInspector.StylesSidebarPane.prototype.removeSection):
- * inspector/front-end/inspector.css:
- (.styles-sidebar-separator):
- * page/DOMWindow.cpp:
- (WebCore::DOMWindow::getMatchedCSSRules):
- * rendering/style/RenderStyleConstants.h:
- (WebCore::):
-
-2010-03-25 Charlie Reis <creis@chromium.org>
-
- Reviewed by Adam Barth.
-
- onbeforeunload not called at window close + frame or iframe focused
- https://bugs.webkit.org/show_bug.cgi?id=27481
-
- Test: fast/events/onbeforeunload-focused-iframe.html
-
- Replaces initial manual tests with a layout test.
-
- * manual-tests/onbeforeunload-focused-iframe.html: Removed.
- * manual-tests/resources/focused-iframe.html: Removed.
-
-2010-03-25 Eric Uhrhane <ericu@chromium.org>
-
- Reviewed by David Levin.
-
- Missing lock in call to doneCreatingDatabase
- https://bugs.webkit.org/show_bug.cgi?id=36473
-
- Added new test storage/open-database-over-quota.html.
-
- * storage/DatabaseTracker.cpp:
- (WebCore::DatabaseTracker::canEstablishDatabase): Added missing lock call.
-
-2010-03-25 Ojan Vafai <ojan@chromium.org>
-
- Reviewed by Eric Seidel.
-
- [chromium] REGRESSION: Some LayoutTests fail after r56567
- https://bugs.webkit.org/show_bug.cgi?id=36630
-
- Fix boolean logic goofup. This was a last minute code review
- change that didn't get tested on Windows before commit.
-
- * editing/SelectionController.cpp:
- (WebCore::SelectionController::setIsDirectional):
-
-2010-03-25 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/7728903> Support color bitmap fonts
-
- Test: platform/mac/fonts/color-bitmap.html
-
- * platform/graphics/mac/FontMac.mm:
- (WebCore::showGlyphsWithAdvances): Added. Calls CGContextShowGlyphsWithAdvances()
- or CTFontShowGlyphs() depending on whether the font is a color bitmap font.
- (WebCore::Font::drawGlyphs): Use showGlyphsWithAdvances(). Don’t include the font’s matrix in
- the context’s text matrix when drawing with a color bitmap font, because CTFontShowGlyphs()
- factors it in.
- * platform/graphics/mac/FontPlatformData.h:
- (WebCore::FontPlatformData::FontPlatformData): Added m_isColorBitmapFont member
- and initialized it in constructors.
- (WebCore::FontPlatformData::isColorBitmapFont): Added this getter.
- * platform/graphics/mac/FontPlatformDataMac.mm:
- (WebCore::FontPlatformData::FontPlatformData): Initialize m_isColorBitmapFont.
- (WebCore::FontPlatformData::operator=): Copy m_isColorBitmapFont.
- (WebCore::FontPlatformData::setFont): Set m_isColorBitmapFont.
-
-2010-03-25 Adam Barth <abarth@webkit.org>
-
- Reviewed by Sam Weinig.
-
- Implement allow-top-navigation for HTML5 sandbox attribute
- https://bugs.webkit.org/show_bug.cgi?id=36549
-
- Tests: fast/frames/sandboxed-iframe-navigation-top-by-constant-name.html
- fast/frames/sandboxed-iframe-navigation-top-by-constant-name2.html
- fast/frames/sandboxed-iframe-navigation-top-by-name-denied.html
- fast/frames/sandboxed-iframe-navigation-top-by-name.html
- fast/frames/sandboxed-iframe-navigation-top-denied.html
- fast/frames/sandboxed-iframe-navigation-top.html
-
- * bindings/generic/BindingDOMWindow.h:
- (WebCore::::createWindow):
- * bindings/js/JSDOMWindowCustom.cpp:
- (WebCore::createWindow):
- Moved the security check to FrameLoader because we need to allow
- window.open navigation to succeed sometimes when the
- SandboxNavigation bit is set.
- * html/HTMLIFrameElement.cpp:
- (WebCore::parseSandboxAttribute):
- Added allow-top-navigation to the parser.
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::createWindow):
- The SandboxNavigation check now occurs after we search for the frame
- by name. Notice that the named frame navigation case is caught by
- the generic navigation access check.
- (WebCore::FrameLoader::shouldAllowNavigation):
- Update the navigation access check to allow navigating of top unless
- it's forbidden.
- * loader/FrameLoaderTypes.h:
- Introduce a bit for SandboxedTopNavigation.
- (WebCore::):
-
-2010-03-25 Dumitru Daniliuc <dumi@chromium.org>
-
- Unreviewed, Chromium build fix.
-
- V8CustomVoidCallback should not check if a return value is a
- boolean. It should only convert the value to a boolean.
-
- * bindings/v8/custom/V8CustomVoidCallback.cpp:
- (WebCore::invokeCallback):
-
-2010-03-25 Dmitry Titov <dimich@chromium.org>
-
- No review, rolling out r56585.
- http://trac.webkit.org/changeset/56585
- https://bugs.webkit.org/show_bug.cgi?id=36621
-
- Broke Chromium builds on waterfall
-
- * plugins/PluginView.cpp:
- (WebCore::PluginView::getValue):
- * plugins/PluginView.h:
- * plugins/PluginViewNone.cpp:
- (WebCore::PluginView::setJavaScriptPaused):
-
-2010-03-25 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Darin Adler.
-
- Fix build if NPAPI support is disabled
- https://bugs.webkit.org/show_bug.cgi?id=36621
-
- No new tests, this is a build fix.
-
- * plugins/PluginView.cpp: Guard getValueStatic() with
- NETSCAPE_PLUGIN_API
- (WebCore::PluginView::getValue):
- * plugins/PluginView.h: Guard getValue() with NETSCAPE_PLUGIN_API
- * plugins/PluginViewNone.cpp: Guard platformGetValue() and
- platformGetValueStatic with NETSCAPE_PLUGIN_API;
- Guard privateBrowsingStateChanged() and setJavaScriptPaused() with
- PLATFORM(MAC)
-
-2010-03-25 Drew Wilson <atwilson@chromium.org>
-
- Reviewed by Nate Chapin.
-
- [v8] Error in getScriptExecutionContext() when worker context is terminating.
- https://bugs.webkit.org/show_bug.cgi?id=36565
-
- Removed WorkerScriptExecutionProxy::retrieve() and added WorkerScriptController::controllerForContext(). This allows
- callers to differentiate between "the current context is shutting down" vs "the current context is not a worker context".
-
- Test: Existing worker tests suffice.
-
- * bindings/v8/V8DOMWrapper.cpp:
- (WebCore::V8DOMWrapper::getConstructor):
- Changed to use WorkerScriptController::controllerForContext() instead of WorkerScriptExecutionProxy::retrieve().
- * bindings/v8/V8Utilities.cpp:
- (WebCore::getScriptExecutionContext):
- Changed to use WorkerScriptController::controllerForContext() instead of WorkerScriptExecutionProxy::retrieve().
- * bindings/v8/WorkerContextExecutionProxy.cpp:
- Removed WorkerScriptExecutionProxy::retrieve().
- * bindings/v8/WorkerContextExecutionProxy.h:
- Removed WorkerScriptExecutionProxy::retrieve().
- * bindings/v8/WorkerScriptController.cpp:
- (WebCore::WorkerScriptController::controllerForContext):
- Added helper function to get the WorkerScriptController for the current context.
- * bindings/v8/WorkerScriptController.h:
- Added declaration for controllerForContext().
-
-2010-03-25 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Fix the package build on Maemo 5
-
- https://bugs.webkit.org/show_bug.cgi?id=36607
-
- Always embed the stylesheet for the no-listbox rendering. This way it'll be
- included in the generated files for the package generation.
-
- * WebCore.pri:
-
-2010-03-24 Dumitru Daniliuc <dumi@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Changing the V8 and JSC implementations of
- SQLStatementErrorCallback to interpret as false all results that
- could be converted to a false boolean. Pretty much a revert of
- r54981.
-
- https://bugs.webkit.org/show_bug.cgi?id=36569
-
- * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
- (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
- * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
- (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
- * bindings/v8/custom/V8CustomVoidCallback.cpp:
- (WebCore::invokeCallback):
- * bindings/v8/custom/V8CustomVoidCallback.h:
-
-2010-03-25 Dmitry Titov <dimich@chromium.org>
-
- Unreviewed, fix Chromium tests.
-
- Recent http://trac.webkit.org/changeset/56489 made all urls in Chromium that
- have unspecified port to return invalidPortNumber from KURL::port().
-
- * platform/KURLGoogle.cpp: Return 0 for unspecified ports, mimic WebKit KURL behavior for invalid ports.
- (WebCore::KURL::port):
-
-2010-03-25 Dirk Schulze <krit@webkit.org>
-
- Reviewed by Nikolas Zimmermann.
-
- This is a follow up of:
- https://bugs.webkit.org/show_bug.cgi?id=30055
- Bad DOM performance in large SVG files
-
- Just save and restore the GraphicsContext, if we realy modify it.
- (Cairo)Path::contains checks if a point is in the boundingBox
- as a heuristic. The intention was to make the process faster for
- points outside of this rect, but it rather causes the
- opposite.
-
- No new test cases added. No change in functionality.
-
- * platform/graphics/cairo/PathCairo.cpp:
- (WebCore::Path::contains):
- * rendering/RenderPath.cpp:
- (WebCore::RenderPath::paint):
-
-2010-03-25 Ojan Vafai <ojan@chromium.org>
-
- Reviewed by David Levin.
-
- mouse-based selections are always directional on Windows/Linux
- https://bugs.webkit.org/show_bug.cgi?id=25195
-
- Change m_lastChangeWasHorizontalExtension to m_isDirectional
- and make m_isDirectional always be true for Windows/Linux.
-
- * editing/SelectionController.cpp:
- (WebCore::SelectionController::SelectionController):
- (WebCore::SelectionController::setSelection):
- (WebCore::SelectionController::setIsDirectional):
- (WebCore::SelectionController::willBeModified):
- When double-clicking, the base/extent will be in the middle
- of the selection instead of the start/end of it. Changed to
- maintain that modifications after double-click still move the
- start/end of the selection, not the base/extent.
- (WebCore::SelectionController::modify):
- * editing/SelectionController.h:
- * page/EventHandler.cpp:
- (WebCore::EventHandler::handleMousePressEventSingleClick):
- (WebCore::EventHandler::updateSelectionForMouseDrag):
-
-2010-03-25 Simon Fraser <simon.fraser@apple.com>
-
- Revert r56565 which was based on an incorrect premise.
-
- * page/animation/CompositeAnimation.cpp:
- (WebCore::CompositeAnimation::clearRenderer):
- (WebCore::CompositeAnimation::updateKeyframeAnimations):
- (WebCore::CompositeAnimation::getAnimatedStyle):
- (WebCore::CompositeAnimation::setAnimating):
- (WebCore::CompositeAnimation::timeToNextService):
- (WebCore::CompositeAnimation::getAnimationForProperty):
- (WebCore::CompositeAnimation::suspendAnimations):
- (WebCore::CompositeAnimation::resumeAnimations):
- (WebCore::CompositeAnimation::isAnimatingProperty):
- (WebCore::CompositeAnimation::pauseAnimationAtTime):
- (WebCore::CompositeAnimation::numberOfActiveAnimations):
-
-2010-03-25 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Eric Carlson.
-
- Make calls to m_keyframeAnimations.checkConsistency() debug-only
- https://bugs.webkit.org/show_bug.cgi?id=36555
-
- Remove lots of calls to m_keyframeAnimations.checkConsistency(); which were left after some earlier
- debugging. Leave one in CompositeAnimation::animate() to catch any future issues, which is OK since
- these calls are no-ops in release builds.
-
- * page/animation/CompositeAnimation.cpp:
- (WebCore::CompositeAnimation::clearRenderer):
- (WebCore::CompositeAnimation::updateKeyframeAnimations):
- (WebCore::CompositeAnimation::getAnimatedStyle):
- (WebCore::CompositeAnimation::setAnimating):
- (WebCore::CompositeAnimation::timeToNextService):
- (WebCore::CompositeAnimation::getAnimationForProperty):
- (WebCore::CompositeAnimation::suspendAnimations):
- (WebCore::CompositeAnimation::resumeAnimations):
- (WebCore::CompositeAnimation::isAnimatingProperty):
- (WebCore::CompositeAnimation::pauseAnimationAtTime):
- (WebCore::CompositeAnimation::numberOfActiveAnimations):
-
-2010-03-25 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Geoffrey Garen.
-
- https://bugs.webkit.org/show_bug.cgi?id=36557
- Animations use the wrong timing-function sometimes
-
- Fix an issue where animations picked the wrong style for their "unanimated" value.
-
- Previously, the "unanimated" style was considered to be the style before the animation
- was applied. This caused us to pick up stale values for animation timing functions, for
- blending when a property is missing from the first keyframe, and for resuming transitions
- once an animation ends.
-
- Instead, we need to use the "current" style, which is the one that causes the animation
- to kick off.
-
- Tests: animations/longhand-timing-function.html
- animations/transition-and-animation-3.html
- animations/unanimated-style.html
-
- * page/animation/CompositeAnimation.cpp:
- (WebCore::CompositeAnimation::updateKeyframeAnimations):
-
-2010-03-25 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Geoff Garen.
-
- Bug 36611 - Cleanup JSC::CString
- Rename CString::c_str() -> CString::data(), CString::size() -> CString::length(),
- remove UString::getCString() (all uses are wrong, should use UString::UTF8String()).
-
- * bridge/NP_jsobject.cpp:
- (_NPN_Enumerate):
- * bridge/c/c_utility.cpp:
- (JSC::Bindings::convertValueToNPVariant):
- * bridge/jni/jsc/JNIBridgeJSC.cpp:
- (JavaField::valueFromInstance):
- (JavaField::setValueToInstance):
- * bridge/jni/jsc/JavaInstanceJSC.cpp:
- (JavaInstance::invokeMethod):
- * bridge/jni/jsc/JavaStringJSC.h:
- (JSC::Bindings::JavaStringImpl::UTF8String):
-
-2010-03-25 Jakub Wieczorek <jwieczorek@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [Qt] RenderTheme: fix size adjustment for text fields
- https://bugs.webkit.org/show_bug.cgi?id=36413
-
- To match other ports, remove the hardcoded dimensions for text fields so that
- the default ones from WebCore can be used.
- Properly apply the correct padding to text areas - this fixes their appearance
- with the Oxygen style.
-
- * platform/qt/RenderThemeQt.cpp:
- (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
-
-2010-03-25 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Implement ChromeClient::windowResizerRect()
-
- https://bugs.webkit.org/show_bug.cgi?id=21300
-
- The helper function geometryRelativeToOwnerWidget() in the page
- client is used to clip the resize rect to the actual size of the
- viewport, not the size of the QGraphicsView.
-
- * platform/qt/QWebPageClient.h:
-
-2010-03-25 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: reloading debug target window with cmd-R from inspector window produces beep.
- https://bugs.webkit.org/show_bug.cgi?id=36554
-
- * inspector/front-end/inspector.js:
- (WebInspector.documentKeyDown): prevent the default behavior, if handled, which would result in a system beep.
-
-2010-03-25 Jochen Eisinger <jochen@chromium.org>
-
- Reviewed by Jeremy Orlow.
-
- Forward DatabaseTracker::canEstablishDatabase to chromium layer.
- https://bugs.webkit.org/show_bug.cgi?id=36595
-
- * storage/chromium/DatabaseObserver.h:
- * storage/chromium/DatabaseTrackerChromium.cpp:
- (WebCore::DatabaseTracker::canEstablishDatabase):
-
-2010-03-25 yael aharon <yael.aharon@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] Windowed netscape plugins don't work with QGraphicsWebView on Symbian
- https://bugs.webkit.org/show_bug.cgi?id=35112
-
- Add a proxy widget when loading a QWidget based plugin in a QGraphicsWebView.
-
- * plugins/symbian/PluginContainerSymbian.cpp:
- (PluginContainerSymbian::PluginContainerSymbian):
- (PluginContainerSymbian::focusInEvent):
- * plugins/symbian/PluginContainerSymbian.h:
- (WebCore::PluginContainerSymbian::proxy):
- * plugins/symbian/PluginViewSymbian.cpp:
- (WebCore::PluginView::updatePluginWidget):
- (WebCore::PluginView::platformStart):
- (WebCore::PluginView::platformDestroy):
-
-2010-03-25 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Adele Peterson.
-
- https://bugs.webkit.org/show_bug.cgi?id=35714
- Computed style on delayed transform animations is incorrect
-
- When fetching computed style while a delayed accelerated animation is in effect,
- we would get the value form the first keyframe, rather than getting the current
- style.
-
- Fix by checking to see whether we've in the delay phase (with no backwards-fill)
- in KeyframeAnimation::getAnimatedStyle().
-
- Test: compositing/animation/computed-style-during-delay.html
-
- * page/animation/KeyframeAnimation.cpp:
- (WebCore::KeyframeAnimation::getAnimatedStyle):
-
-2010-03-25 Yury Semikhatsky <yurys@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Initialize Web Inspector title with inspected page URL when opening Web Inspector.
-
- https://bugs.webkit.org/show_bug.cgi?id=36534
-
- * inspector/InspectorController.cpp:
- (WebCore::InspectorController::setFrontend):
-
-2010-03-25 Antti Koivisto <koivisto@iki.fi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- https://bugs.webkit.org/show_bug.cgi?id=36316
- Tiles of selected content do not update if not in viewport
-
- Don't clip repaints to viewport when tiling is enabled.
-
- * page/Frame.cpp:
- (WebCore::Frame::setView):
- (WebCore::Frame::setTiledBackingStoreEnabled):
-
-2010-03-25 Diego Gonzalez <diego.gonzalez@openbossa.org>
-
- Reviewed by Eric Seidel.
-
- Missing forward ENABLE_DATALIST macro to JavaScript enabled features macros
- on WebKit.pri
-
- [Qt] Forward ENABLE_DATALIST macro to JavaScript enabled macros
- https://bugs.webkit.org/show_bug.cgi?id=36547
-
- * WebCore.pri:
-
-2010-03-25 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Expect console object wrapping to fail.
-
- https://bugs.webkit.org/show_bug.cgi?id=36587
-
- * inspector/front-end/InjectedScript.js:
- (injectedScriptConstructor):
-
-2010-03-25 Joanmarie Diggs <joanmarie.diggs@gmail.com>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=36371
- [Gtk] Elements with a title attribute should not be ignored
-
- * accessibility/AccessibilityRenderObject.cpp:
- (AccessibilityRenderObject::accessibilityIsIgnored):
-
-2010-03-24 Steve Block <steveblock@google.com>
-
- Reviewed by David Levin.
-
- Adds a missing ENABLE(WORKERS) guards to the V8 bindings.
- https://bugs.webkit.org/show_bug.cgi?id=36550
-
- Build fix only, no new tests.
-
- * bindings/v8/V8DOMWrapper.cpp:
- (WebCore::V8DOMWrapper::instantiateV8Object):
-
-2010-03-25 Leandro Pereira <leandro@profusion.mobi>
-
- Reviewed by Eric Seidel.
-
- Add EFL-specific code to platform/ScrollView.cpp and
- platform/Scrollbar.cpp.
- http://webkit.org/b/36305
-
- * platform/ScrollView.cpp:
- * platform/Scrollbar.cpp:
-
-2010-03-25 Tasuku Suzuki <tasuku.suzuki@nokia.com>
-
- Reviewed by Eric Seidel.
-
- [Qt]Fix compile error with QT_NO_LIBRARY
- https://bugs.webkit.org/show_bug.cgi?id=36533
-
- * platform/FileSystem.h:
- * platform/qt/FileSystemQt.cpp:
- (WebCore::unloadModule):
-
-2010-03-25 Tasuku Suzuki <tasuku.suzuki@nokia.com>
-
- Reviewed by Eric Seidel.
-
- [Qt]Fix compile error with QT_NO_ANIMATION
- https://bugs.webkit.org/show_bug.cgi?id=36526
-
- * platform/graphics/qt/GraphicsLayerQt.cpp:
- (WebCore::GraphicsLayerQtImpl::~GraphicsLayerQtImpl):
- * platform/graphics/qt/GraphicsLayerQt.h:
-
-2010-03-25 Tony Chang <tony@chromium.org>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=33697
- Have dragOpFromIEOp("move") return DragOperationGeneric | DragOperationMove
- because only returning Generic doesn't work for platforms that don't
- have a generic operation.
-
- Covered by existing tests (fast/events/drag-and-drop.html).
-
- * dom/Clipboard.cpp:
- (WebCore::dragOpFromIEOp):
- (WebCore::Clipboard::destinationOperation):
- (WebCore::Clipboard::setDestinationOperation):
-
-2010-03-25 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by Eric Seidel.
-
- [Qt] websocket/tests/long-invalid-header.html fails
- https://bugs.webkit.org/show_bug.cgi?id=36492
-
- trim message at most 128 bytes from the current position.
- I believe it's enough data to investigate the error reason and
- it makes test not depend on buffered size.
-
- * websockets/WebSocketHandshake.cpp:
- (WebCore::trimConsoleMessage):
- (WebCore::WebSocketHandshake::readServerHandshake):
- (WebCore::WebSocketHandshake::readHTTPHeaders):
-
-2010-03-24 Jon Honeycutt <jhoneycutt@apple.com>
-
- <rdar://problem/7780798> Missing plug-ins should be represented by text
- only, instead of lego block
-
- https://bugs.webkit.org/show_bug.cgi?id=36583
-
- Reviewed by Dan Bernstein.
-
- * rendering/RenderEmbeddedObject.cpp:
- (WebCore::RenderEmbeddedObject::paintReplaced):
- Set the font rendering mode and the computed size, so that the text will
- draw properly on Windows.
-
-2010-03-24 Vangelis Kokkevis <vangelis@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Removing unecessary redraws of LayerSkia contents:
- https://bugs.webkit.org/show_bug.cgi?id=36470
-
- Test: No new functionality added, no tests.
-
- * platform/graphics/skia/LayerRendererSkia.cpp:
- (WebCore::LayerRendererSkia::drawLayerInCanvasRecursive):
- Debug borders now rendered at composite time rather than update time.
- * platform/graphics/skia/LayerSkia.cpp:
- (WebCore::LayerSkia::updateContents):
- (WebCore::LayerSkia::drawDebugBorder):
- Debug border drawing removed from updateContents and split into a separate method that
- can be called at composite time.
- (WebCore::LayerSkia::setBounds):
- Resetting the bounds causes the layer to redraw its contents.
- (WebCore::LayerSkia::setNeedsDisplay):
- * platform/graphics/skia/LayerSkia.h:
- Added declaration for drawDebugBorders method.
-
-2010-03-24 Mark Rowe <mrowe@apple.com>
-
- Revert the portion of r56489 that dealt with port zero as it introduced some test failures.
-
- * platform/KURL.cpp:
- (WebCore::KURL::port): Use the "ok" argument to charactersToUIntStrict to determine whether
- it was able to successfully parse the string as an unsigned integer, rather than relying on
- the fact it returned zero when it failed.
-
-2010-03-24 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Sam Weinig.
-
- * platform/text/String.cpp:
- (WebCore::putUTF8Triple): Correct capitalization of function name.
- (WebCore::String::utf8): Fix C-style casts.
- (WebCore::String::fromUTF8): Remove unnecessary newline.
- (WebCore::String::fromUTF8WithLatin1Fallback): Use early return.
-
-2010-03-24 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Darin Adler.
-
- WebKit should treat port numbers outside the valid range as being blacklisted
- <http://webkit.org/b/36571> / <rdar://problem/7790908>
-
- * platform/KURL.cpp:
- (WebCore::KURL::port): Map invalid port numbers to invalidPortNumber.
- (WebCore::portAllowed): Add invalidPortNumber to the blacklist.
- * platform/KURLGoogle.cpp: invalid port numbers to invalidPortNumber.
- (WebCore::KURL::port): Add invalidPortNumber to the blacklist.
- Also bring this in to sync with KURL. Having this identical code in two places is stupid.
-
-2010-03-24 Sam Weinig <sam@webkit.org>
-
- Reviewed by Mark Rowe.
-
- Add some missing exports.
-
- * WebCore.base.exp:
-
-2010-03-24 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Sam Weinig.
-
- Switch String::latin1, String::utf8, String::fromUTF8 to
- use WTF's Unicode conversion methods rather than TextEncoder.
- These methods only perform simple conversion, and don't need
- really require TextEncoder's full capability (to look up arbitrary
- encodings by name), switching to only be dependent on WTF will
- make it easier if we chose to move WebCore::String to WTF.
-
- * platform/text/String.cpp:
- (WebCore::String::latin1):
- (WebCore::putUTF8triple):
- (WebCore::String::utf8):
- (WebCore::String::fromUTF8):
-
-2010-03-24 Dmitry Titov <dimich@chromium.org>
-
- No review, rolling out r56453.
- http://trac.webkit.org/changeset/56453
- https://bugs.webkit.org/show_bug.cgi?id=36426
-
- In Chromium port, it broke invalid-image-data-standalone.html
- invalid-image-data.html multipart-wait-before-boundary.html
- stop-crash.html win-boundary-crash.html
-
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::finishedLoadingDocument):
-
-2010-03-24 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: Significant scroll speed degradation if Timeline has
- an expanded record with significant number of children.
- https://bugs.webkit.org/show_bug.cgi?id=36543
-
-
- * inspector/front-end/TimelinePanel.js:
- (WebInspector.TimelinePanel.prototype._updateBoundaries):
- (WebInspector.TimelinePanel.prototype._addToRecordsWindow):
- (WebInspector.TimelinePanel.prototype._filterRecords):
- (WebInspector.TimelinePanel.prototype._refreshRecords):
-
-2010-03-24 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Eric Carlson.
-
- [GStreamer] Fails to go to Loaded state because of floating point discrepancies
- https://bugs.webkit.org/show_bug.cgi?id=35891
-
- Use the m_fillStatus variable, which is more reliable, instead of
- using the calculation, for the completed case.
-
- * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
- (WebCore::MediaPlayerPrivate::fillTimerFired):
-
-2010-03-24 Dmitry Titov <dimich@chromium.org>
-
- Unreviewed, Chromium test fix.
-
- Recent r56445 added CustomEvent and a test but it didn't work on Chromium bots.
- Test crashed due to infinte recursion because the compiler did not have the right definition of toV8(CustomEvent*)
- and was substituting toV8(Event*).
-
- Fixing test fast/events/custom-event.html
-
- * bindings/v8/custom/V8EventCustom.cpp:
-
-2010-03-24 MORITA Hajime <morrita@google.com>
-
- Reviewed by Darin Adler.
-
- Refactoring: HTMLFormControlElement should not have redundant null check
- https://bugs.webkit.org/show_bug.cgi?id=36487
-
- No new tests as there is no new functionality.
-
- * html/HTMLFormControlElement.cpp:
- (WebCore::HTMLFormControlElement::dispatchFocusEvent):
- (WebCore::HTMLFormControlElement::dispatchBlurEvent):
-
-2010-03-24 Eric Uhrhane <ericu@chromium.org>
-
- Reviewed by Alexey Proskuryakov.
-
- DOMCoreException needs NoStaticTables modifier
- https://bugs.webkit.org/show_bug.cgi?id=36458
-
- No new tests, but this shows up in tests of Database accesses from the
- Worker thread that I'll be checking in soon. The symptom is that
- DOMCoreException.toString() returns [object DOMException] instead of
- something more helpful.
-
- * dom/DOMCoreException.idl: Added NoStaticTables.
-
-2010-03-24 Drew Wilson <atwilson@chromium.org>
-
- Reviewed by Dmitry Titov.
-
- Failed assertion in V8Proxy::setDOMException() if worker is shutting down.
- https://bugs.webkit.org/show_bug.cgi?id=36514
-
- Test: none (existing worker tests suffice)
-
- * bindings/v8/V8Proxy.cpp:
- (WebCore::V8Proxy::setDOMException):
- Updated setDOMException() to check for an empty exception (due to no active context) and avoid throwing in that case.
-
-2010-03-23 Evan Martin <evan@chromium.org>
-
- Reviewed by Dmitry Titov.
-
- [chromium] use integral glyph widths
- https://bugs.webkit.org/show_bug.cgi?id=36510
-
- Despite WebKit (and Skia, to an extent) supporting non-integral
- glyph widths, the font code path we hit in Skia only supports
- integral glyph positions. This means that we would accumulate
- offsets when drawing a sequence up non-integer-width glyphs
- which would cause gaps when snapped to the pixel grid when drawing.
-
- * platform/graphics/chromium/SimpleFontDataLinux.cpp:
- (WebCore::SimpleFontData::platformWidthForGlyph):
- round glyph widths to integers.
-
-2010-03-24 Dean Jackson <dino@apple.com>
-
- Reviewed by Kevin Decker.
-
- <rdar://problem/7785305>
- Fix regression caused by r55576. It turned out that ensuring
- CoreAnimation always gets a correct fill parameter caused flashing
- as non-filled animations ended (CA briefly showed the initial animation
- value before the style system set the final value).
-
- * platform/graphics/mac/GraphicsLayerCA.mm:
- (WebCore::GraphicsLayerCA::setupAnimation):
-
-2010-03-24 Hayato Ito <hayato@chromium.org>
-
- Reviewed by Shinichiro Hamaji.
-
- Refactor computePageRects so that Mac can make use of it.
- https://bugs.webkit.org/show_bug.cgi?id=36159
-
- Refactoring only, so no new tests.
-
- * WebCore.base.exp:
- * page/PrintContext.cpp:
- (WebCore::PrintContext::computePageRects):
- (WebCore::PrintContext::computePageRectsWithPageSize):
- (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
- (WebCore::PrintContext::pageNumberForElement):
- (WebCore::PrintContext::numberOfPages):
- * page/PrintContext.h:
-
-2010-03-24 Jeremy Moskovich <jeremy@chromium.org>
+2010-05-26 Andrei Popescu <andreip@google.com>
Reviewed by Jeremy Orlow.
- Add some diagnostics to try to track down cause of crash in ArchiveFactory::isArchiveMimeType().
-
- https://bugs.webkit.org/show_bug.cgi?id=36426
-
- No new tests as there is no new functionality.
-
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::finishedLoadingDocument): Make copy of mimeType string to isolate crash.
-
-2010-03-24 Anton Muhin <antonm@chromium.org>
-
- Reviewed by Nate Chapin.
-
- Use newly introduced SetPrototype method to deal with global objects.
- https://bugs.webkit.org/show_bug.cgi?id=36497
-
- No new tests, should be covered by the current test infrastructure.
-
- * bindings/v8/V8DOMWindowShell.cpp:
- (WebCore::V8DOMWindowShell::installDOMWindow):
- * bindings/v8/V8DOMWrapper.cpp:
- (WebCore::V8DOMWrapper::getConstructor):
- * bindings/v8/WorkerContextExecutionProxy.cpp:
- (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
-
-2010-03-24 Dmitry Titov <dimich@chromium.org>
-
- Unreviewed, Chromium build fix.
-
- * platform/chromium/PopupMenuChromium.cpp:
- (WebCore::PopupContainer::PopupContainer): Fix order of initializers.
- (WebCore::PopupContainer::layout): Remove unused variable.
-
-2010-03-23 Kenneth Rohde Christiansen <kenneth@webkit.org>
+ Indexed Database component is missing IDBObjectStoreRequest interface
+ https://bugs.webkit.org/show_bug.cgi?id=39490
- Reviewed by Simon Hausmann.
-
- Add a way to check if the page client is making use of
- a QWidget.
-
- * platform/qt/QWebPageClient.h:
- (QWebPageClient::isQWidgetClient):
+ Adding IDL and stub implementation for IDBObjectStoreRequest.
-2010-03-24 Jay Campan <jcampan@google.com>
-
- Reviewed by Darin Fisher.
-
- Making Chromium select popups not steal activation from the browser.
- Select popups are now like autocomplete popups, shown in non-activated
- windows.
- https://bugs.webkit.org/show_bug.cgi?id=36062
-
- * page/chromium/ChromeClientChromium.h:
- * platform/chromium/PopupMenuChromium.cpp:
- (WebCore::):
- (WebCore::PopupListBox::setMaxHeight):
- (WebCore::PopupListBox::disconnectClient):
- (WebCore::PopupListBox::PopupListBox):
- (WebCore::PopupContainer::create):
- (WebCore::PopupContainer::PopupContainer):
- (WebCore::PopupContainer::showPopup):
- (WebCore::PopupContainer::showExternal):
- (WebCore::PopupContainer::hidePopup):
- (WebCore::PopupContainer::layout):
- (WebCore::PopupContainer::chromeClientChromium):
- (WebCore::PopupListBox::hidePopup):
- (WebCore::PopupListBox::layout):
- (WebCore::PopupMenu::~PopupMenu):
- (WebCore::PopupMenu::show):
- * platform/chromium/PopupMenuChromium.h:
- (WebCore::PopupItem::):
- (WebCore::PopupItem::PopupItem):
- (WebCore::PopupContainerSettings::):
- (WebCore::PopupContainer::):
- (WebCore::PopupContainer::listBox):
- (WebCore::PopupContainer::popupType):
-
-2010-03-10 David Levin <levin@chromium.org>
-
- Reviewed by Oliver Hunt.
-
- Need to move items that CanvasRenderingContext2D depends on into CanvasSurface.
- https://bugs.webkit.org/show_bug.cgi?id=35453
-
- Prepartory changes to allow for an OffscreenCanvas which may be used in a worker
- or outside of the DOM.
-
- No change in functionality, so new tests.
-
- * dom/CanvasSurface.cpp: Moved functionality that CanvasRenderingContext2D depends on
- into this class (and removed dependencies on document/html element).
- (WebCore::CanvasSurface::CanvasSurface):
- (WebCore::CanvasSurface::~CanvasSurface): Put the desctructor in the cpp file
- to avoid needing access to ~ImageBuffer in the header file.
- (WebCore::CanvasSurface::setSurfaceSize): Does basic items needed
- when the size changes. It is protected to force outside callers to go
- through HTMLCanvasElement::setSize.
- (WebCore::CanvasSurface::toDataURL): Just moved from HTMLCanvasElement and
- made a note about a method to fix for worker usage.
- (WebCore::CanvasSurface::willDraw): Made this virtual to allow an overide
- which uses the renderbox and tracks a dirtyRect.
- (WebCore::CanvasSurface::convertLogicalToDevice): Moved and changed to
- rely on a member variable for page scale (to avoid using the document).
- (WebCore::CanvasSurface::createImageBuffer):
- (WebCore::CanvasSurface::drawingContext): Simple move from HTMLCanvasElement.
- (WebCore::CanvasSurface::buffer): Ditto.
- (WebCore::CanvasSurface::baseTransform): Ditto.
- * dom/CanvasSurface.h:
- (WebCore::CanvasSurface::width): Simple move from HTMLCanvasElement.
- (WebCore::CanvasSurface::height): Ditto.
- (WebCore::CanvasSurface::size): Ditto.
- (WebCore::CanvasSurface::setOriginTainted): Ditto.
- (WebCore::CanvasSurface::originClean): Ditto.
- (WebCore::CanvasSurface::hasCreatedImageBuffer): Ditto (with small name change).
- * html/HTMLCanvasElement.cpp:
- (WebCore::HTMLCanvasElement::HTMLCanvasElement): Pass in the scale factor to CanvasSurface
- so it doesn't need the document.
- (WebCore::HTMLCanvasElement::willDraw): Moved the relevant portion to CanvasSurface.
- (WebCore::HTMLCanvasElement::reset): Small changes due to refactoring.
- (WebCore::HTMLCanvasElement::paint): Ditto.
- * html/HTMLCanvasElement.h:
- (WebCore::HTMLCanvasElement::setSize): Ditto.
- * platform/MIMETypeRegistry.cpp:
- (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding): Added assert
- to verify that this is only called on the main thread.
- * platform/graphics/Image.cpp:
- (WebCore::Image::nullImage): Ditto.
- * platform/graphics/cg/ImageBufferCG.cpp:
- (WebCore::utiFromMIMEType): Ditto.
-
-2010-03-24 Alexander Pavlov <apavlov@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Inspector: XML Tags should not be converted to lowercase
- https://bugs.webkit.org/show_bug.cgi?id=28600
-
- * inspector/front-end/ElementsPanel.js:
- (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
- (WebInspector.ElementsPanel.prototype.decorateNodeLabel):
- * inspector/front-end/ElementsTreeOutline.js:
- (WebInspector.ElementsTreeOutline.prototype.nodeNameToCorrectCase):
- (WebInspector.ElementsTreeElement.prototype._updateChildren):
- (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo):
-
-2010-03-03 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Antti Koivisto.
-
- Add support for DOM Level 3 Custom Event
- http://www.w3.org/TR/DOM-Level-3-Events
-
- V8 Generator change by Nate Chapin <japhet@chromium.org>, Thanks!
-
- Test: fast/events/custom-event.html
+ No new tests, indexed database isn't yet testable.
* DerivedSources.cpp:
+ * DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
- * WebCore/DerivedSources.make:
- * WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
- * bindings/js/JSEventCustom.cpp:
- (WebCore::toJS):
- * bindings/scripts/CodeGeneratorJS.pm:
- * bindings/scripts/CodeGeneratorV8.pm:
- * dom/CustomEvent.cpp: Added.
- (WebCore::CustomEvent::CustomEvent):
- (WebCore::CustomEvent::initCustomEvent):
- (WebCore::CustomEvent::isCustomEvent):
- * dom/CustomEvent.h: Added.
- (WebCore::CustomEvent::create):
- (WebCore::CustomEvent::detail):
- * dom/Document.cpp:
- (WebCore::Document::createEvent):
- * dom/Event.cpp:
- (WebCore::Event::isCustomEvent):
- * dom/Event.h:
-
-2010-03-24 Alexander Pavlov <apavlov@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: Error when highlighting JavaScript with an invalid mime type
- https://bugs.webkit.org/show_bug.cgi?id=36530
-
- * inspector/front-end/SourceTokenizer.js:
- (WebInspector.SourceTokenizer.Registry):
- * inspector/front-end/SourceView.js:
- (WebInspector.SourceView.prototype._contentLoaded):
- (WebInspector.SourceView.prototype._canonicalMimeType):
- * inspector/front-end/TextEditorHighlighter.js:
- (WebInspector.TextEditorHighlighter):
-
-2010-03-24 Pavel Feldman <pfeldman@chromium.org>
-
- Not reviewed. Chromium test fix: added a frameCount check to the
- debugger function call.
-
- * bindings/v8/V8Proxy.cpp:
- (WebCore::V8Proxy::createUtilityContext):
-
-2010-03-19 Miikka Heikkinen <miikka.heikkinen@digia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Support for QT_LIBINFIX in Symbian builds
-
- Configuring Qt with -qtlibinfix parameter will enable installing
- an alternate version of Qt on devices that already have it on ROM.
- This patch provides support for infixed builds of Webkit.
-
- * WebCore.pro:
-
-2010-03-24 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Darin Adler.
-
- Make Icon::createIconForFiles() optional.
- https://bugs.webkit.org/show_bug.cgi?id=35072
-
- r54923 made Icon::createIconForFiles() deprecated. However moving
- existing icon loading code to outside of WebCore is not good. So,
- we assume:
- - ChromeClient::chooseIconForFiles(), renamed from iconForFiles(), is
- the primary API to load icons.
- - Icon::createIconForFiles() is an optional API to help
- implementing ChromeClient::iconForFiles().
-
- This patch removes a call to Icon::createIconForFiles() from
- FileChooser::loadIcon(), and ChromeClient::chooseIconForFiles() of
- non-Chromium ports calls Icon::createIconForFiles().
-
- * WebCore.base.exp: Export FileChooser::iconLoaded(),
- Icon::createIconForFiles(), and Icon::~Icon().
- * WebCore.xcodeproj/project.pbxproj: Export Icon.h
- * loader/EmptyClient.h: Rename iconForFiles() to chooseIconForFiles().
- * page/Chrome.cpp: ditto.
- * page/Chrome.h: ditto.
- * page/ChromeClient.h: ditto.
- * platform/FileChooser.cpp:
- (WebCore::FileChooser::loadIcon):
- * platform/graphics/Icon.h: Remove a comment on createIconForFiles().
- * platform/graphics/chromium/IconChromiumLinux.cpp: Remove createIconForFiles().
- * platform/graphics/chromium/IconChromiumMac.cpp: ditto.
- * platform/graphics/chromium/IconChromiumWin.cpp: ditto.
- * rendering/RenderFileUploadControl.cpp: Rename iconForFiles() to chooseIconForFiles().
- * rendering/RenderFileUploadControl.h: ditto.
-
-2010-03-23 Dan Bernstein <mitz@apple.com>
-
- Fixed typos.
-
- * manual-tests/plugin-visible-rect-change.html:
-
-2010-03-23 Dan Bernstein <mitz@apple.com>
-
- Reviewed by John Sullivan.
-
- WebCore part of
- <rdar://problem/7197736> Plug-in clip rect does not update when overflow
- clip changes
- https://bugs.webkit.org/show_bug.cgi?id=36479.
-
- * manual-tests/plugin-visible-rect-change.html: Added.
- * platform/mac/WidgetMac.mm:
- (WebCore::WidgetPrivate::WidgetPrivate): Added previousVisibleRect.
- (WebCore::Widget::setFrameRect): If the visible rect changed but the
- frame rect did not, send a -visibleRectDidChange message to the view,
- if it responds to it.
- (WebCore::Widget::releasePlatformWidget): Reset previousVisibleRect.
- * rendering/RenderWidget.cpp:
- (WebCore::RenderWidget::setWidgetGeometry): Track changes to the clip rect
- imposed by the enclosing layer. Call Widget::setFrameRect when it changes,
- even if the frame rect did not.
- * rendering/RenderWidget.h:
- (WebCore::RenderWidget::windowClipRect): Added this accessor.
-
-2010-03-23 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Assertion ASSERTION FAILED: rootLayer == m_clipRectsRoot at hulu.com
- https://bugs.webkit.org/show_bug.cgi?id=34065
-
- Fix another cause of assertions related to the clip rects root. Embeds
- with zero size caused the overlap testing to fail, yet we require them to work
- for correct compositing, so when the composited bounds is empty, use a 1x1 rect
- for overlap testing.
-
- Test: compositing/geometry/empty-embed-rects.html
-
- * rendering/RenderLayerCompositor.cpp:
- (WebCore::RenderLayerCompositor::addToOverlapMap):
- (WebCore::RenderLayerCompositor::computeCompositingRequirements):
-
-2010-03-23 David Levin <levin@chromium.org>
-
- Reviewed by Nate Chapin.
-
- [chromium] XMLHttpRequest.send sends 'undefined' string when passed undefined value.
- https://bugs.webkit.org/show_bug.cgi?id=36506
-
- Test: http/tests/xmlhttprequest/send-undefined-and-null.html
-
- * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
- (WebCore::isDocumentType): Unrelated style fix: fixed the casing of the method.
- (WebCore::V8XMLHttpRequest::sendCallback): Added check for null/undefined to do the send.
- This mirrors what is done in the JSC bindings. Previously, sending 'null' worked because
- the last case, which did "toWebCoreStringWithNullCheck", resulted in sending an empty
- request body.
-
-2010-03-23 Chris Evans <cevans@chromium.org>
-
- Reviewed by Darin Adler.
-
- Fix hard-to-see crash due to incorrect libxml API usage.
-
- https://bugs.webkit.org/show_bug.cgi?id=36000
-
- Test: fast/text/bad-encoding.html
-
- * dom/XMLTokenizerLibxml2.cpp:
- (WebCore::XMLTokenizer::doEnd): Avoid operations on a closed context.
-
-2010-03-23 Nate Chapin <japhet@chromium.org>
-
- Unreviewed, revert r56376.
-
- This revision introduced a crash in a couple of layout tests
- on Chromium Linux.
-
- * page/chromium/ChromeClientChromium.h:
- * platform/chromium/PopupMenuChromium.cpp:
- (WebCore::):
- (WebCore::PopupContainer::create):
- (WebCore::PopupContainer::PopupContainer):
- (WebCore::PopupContainer::showPopup):
- (WebCore::PopupContainer::showExternal):
- (WebCore::PopupContainer::hidePopup):
- (WebCore::PopupMenu::show):
- * platform/chromium/PopupMenuChromium.h:
- (WebCore::PopupItem::):
- (WebCore::PopupItem::PopupItem):
- (WebCore::PopupContainerSettings::):
- (WebCore::PopupContainer::listBox):
-
-2010-03-23 David Hyatt <hyatt@apple.com>
-
- Reviewed by Simon Fraser and Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=36272, make sure nth-child can work when the portion with "n" is omitted.
-
- Added fast/css/nth-child-implied-step.html
-
- * css/CSSGrammar.y:
- * css/tokenizer.flex:
-
-2010-03-23 Darin Adler <darin@apple.com>
+ * bindings/js/JSIDBObjectStoreRequestCustom.cpp: Added.
+ (WebCore::JSIDBObjectStoreRequest::remove):
+ (WebCore::JSIDBObjectStoreRequest::addOrModify):
+ (WebCore::JSIDBObjectStoreRequest::modify):
+ (WebCore::JSIDBObjectStoreRequest::add):
+ (WebCore::JSIDBObjectStoreRequest::get):
+ * bindings/v8/custom/V8IDBObjectStoreRequestCustom.cpp: Added.
+ (WebCore::V8IDBObjectStoreRequest::removeCallback):
+ (WebCore::V8IDBObjectStoreRequest::addOrModifyCallback):
+ (WebCore::V8IDBObjectStoreRequest::modifyCallback):
+ (WebCore::V8IDBObjectStoreRequest::addCallback):
+ (WebCore::V8IDBObjectStoreRequest::getCallback):
+ * storage/IDBObjectStore.cpp: Added.
+ * storage/IDBObjectStore.h: Added.
+ (WebCore::IDBObjectStore::~IDBObjectStore):
+ * storage/IDBObjectStoreRequest.cpp: Added.
+ (WebCore::IDBObjectStoreRequest::name):
+ (WebCore::IDBObjectStoreRequest::keyPath):
+ (WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest):
+ * storage/IDBObjectStoreRequest.h: Added.
+ (WebCore::IDBObjectStoreRequest::create):
+ (WebCore::IDBObjectStoreRequest::~IDBObjectStoreRequest):
+ * storage/IDBObjectStoreRequest.idl: Added.
+
+2010-05-26 Xan Lopez <xlopez@igalia.com>
+
+ Unreviewed GTK+ build fix.
+
+ Use G_DEFINE_INTERFACE only if it's available.
+
+ * bindings/gobject/WebKitDOMEventTarget.cpp:
+ (webkit_dom_event_target_get_type):
+ (webkit_dom_event_target_default_init):
+
+2010-05-26 Jeremy Orlow <jorlow@chromium.org>
- Reviewed by Sam Weinig.
-
- Reduce and straighten internal use of DOMImplementation
- https://bugs.webkit.org/show_bug.cgi?id=36501
-
- * WebCore.xcodeproj/project.pbxproj: Xcode decided to
- re-sort this file.
-
- * dom/Clipboard.cpp: Removed unneeded include of DOMImplementation.h.
-
- * dom/DOMImplementation.cpp: Removed unneeded createDocument and
- createHTMLDocument functions. These should be done directly instead
- of involving the DOMImplementation class.
- * dom/DOMImplementation.h: Ditto.
-
- * dom/DocumentType.cpp: Removed unneeded include of DOMImplementation.h.
-
- * html/HTMLViewSourceDocument.cpp:
- (WebCore::HTMLViewSourceDocument::createTokenizer): Don't allocate a
- DOMImplementation object just to use a class member function.
-
- * loader/CachedFont.cpp: Removed unneeded include of DOMImplementation.h.
-
- * xml/XMLHttpRequest.cpp:
- (WebCore::XMLHttpRequest::responseXML): Use Document::create to create a
- new document instead of involving DOMImplementation.
- * xml/XSLTProcessor.cpp:
- (WebCore::XSLTProcessor::createDocumentFromSource): Ditto. And in the case
- where we do need to call DOMImplementation to interpret the MIME type,
- don't allocate a DOMImplementation object just to use a class member
- function.
-
-2010-03-23 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Maemo5 theme - all <select> elements should be rendered as menu lists.
- https://bugs.webkit.org/show_bug.cgi?id=36367
-
- Enabling NO_LISTBOX_RENDERING in WebCore.pri for Maemo5.
-
- * WebCore.pri:
-
-2010-03-22 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by David Kilzer.
-
- Upstream iPhone KeyEvent platform code and share with Mac platform
- https://bugs.webkit.org/show_bug.cgi?id=35870
-
- * platform/iphone/KeyEventCodesIPhone.h: Improper comment for #endif.
- * platform/iphone/KeyEventIPhone.mm: Fixed headers.
-
-2010-03-23 David Hyatt <hyatt@apple.com>
-
- Reviewed by Jeremy Orlow.
+ Reviewed by Darin Fisher.
- https://bugs.webkit.org/show_bug.cgi?id=36277, make sure nth-child supports the positive unary prefix (+) as well as the negative
- one (-).
+ Implement WebDOMStorageList and make WebIDBDatabase use it
+ https://bugs.webkit.org/show_bug.cgi?id=39731
- Added fast/css/nth-child-unary-prefix.html
+ Remove unused function.
- * css/tokenizer.flex:
+ * dom/DOMStringList.h:
-2010-03-23 Andrey Kosyakov <caseq@chromium.org>
+2010-05-26 Jessie Berlin <jberlin@webkit.org>
- Reviewed by Dmitry Titov.
+ Reviewed by Pavel Feldman
- Change notification sent to inspector frontend on workers creation / destruction
- to be posted asynchronously to avoid JS reenterability problems. Also, renamed
- willDestroyWorker to didDestroyWorker to reflect that it gets called later and got
- rid of explicit IDs for workers (use addresses instead).
- https://bugs.webkit.org/show_bug.cgi?id=36213
+ Bug 31296 - Web Inspector: Should support console.groupCollapsed
+ https://bugs.webkit.org/show_bug.cgi?id=31296
- * inspector/InjectedScriptHost.cpp:
- (WebCore::InjectedScriptHost::didDestroyWorker):
- * inspector/InjectedScriptHost.h:
- * inspector/InjectedScriptHost.idl:
* inspector/InspectorController.cpp:
- (WebCore::PostWorkerNotificationToFrontendTask::create):
- (WebCore::PostWorkerNotificationToFrontendTask::PostWorkerNotificationToFrontendTask):
- (WebCore::PostWorkerNotificationToFrontendTask::performTask):
- (WebCore::InspectorController::postWorkerNotificationToFrontend):
- (WebCore::InspectorController::didCreateWorker):
- (WebCore::InspectorController::didDestroyWorker):
+ (WebCore::InspectorController::startGroup):
+ Set the message type based on whether or not it should be initially collapsed.
* inspector/InspectorController.h:
- (WebCore::InspectorController::):
- * inspector/InspectorFrontend.cpp:
- (WebCore::InspectorFrontend::didDestroyWorker):
- * inspector/InspectorFrontend.h:
- * inspector/InspectorWorkerResource.h:
- (WebCore::InspectorWorkerResource::create):
- (WebCore::InspectorWorkerResource::id):
- (WebCore::InspectorWorkerResource::InspectorWorkerResource):
- * inspector/front-end/InjectedFakeWorker.js:
- (InjectedFakeWorker.FakeWorker.prototype.terminate):
- * inspector/front-end/WorkersSidebarPane.js:
- (WebInspector.didDestroyWorker):
- * workers/AbstractWorker.cpp:
- (WebCore::AbstractWorker::AbstractWorker):
- (WebCore::AbstractWorker::onDestroyWorker):
- * workers/AbstractWorker.h:
- (WebCore::AbstractWorker::asID):
- * workers/SharedWorker.cpp:
- (WebCore::SharedWorker::SharedWorker):
- * workers/Worker.cpp:
- (WebCore::Worker::Worker):
-
-2010-03-22 David Hyatt <hyatt@apple.com>
-
- Reviewed by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=36266, support DOM Level 3 focusin/focusout events. Add support for
- IE onfocusin/onfocusout extensions to HTML. The old DOM level 2 names (DOMFocusIn/DOMFocusOut are still supported).
-
- Added fast/events/focusinout.html
-
- * dom/Document.cpp:
- (WebCore::Document::setFocusedNode):
- * dom/Event.cpp:
- (WebCore::Event::aliasedType):
- (WebCore::Event::hasAliasedType):
- * dom/Event.h:
- * dom/EventNames.h:
- * dom/EventTarget.cpp:
- (WebCore::EventTarget::fireEventListeners):
- * dom/EventTarget.h:
- * dom/Node.cpp:
- (WebCore::Node::dispatchUIEvent):
- * html/HTMLAttributeNames.in:
- * html/HTMLButtonElement.cpp:
- (WebCore::HTMLButtonElement::parseMappedAttribute):
- * html/HTMLElement.cpp:
- (WebCore::HTMLElement::parseMappedAttribute):
- * html/HTMLFormControlElement.cpp:
- (WebCore::HTMLTextFormControlElement::parseMappedAttribute):
- * html/HTMLFrameSetElement.cpp:
- (WebCore::HTMLFrameSetElement::parseMappedAttribute):
- * html/HTMLSelectElement.cpp:
- (WebCore::HTMLSelectElement::parseMappedAttribute):
- * svg/SVGElement.cpp:
- (WebCore::SVGElement::parseMappedAttribute):
-
-2010-03-23 MORITA Hajime <morrita@google.com>
-
- Reviewed by Alexey Proskuryakov.
-
- WebCore::SelectionController::setSelection NULL pointer
- https://bugs.webkit.org/show_bug.cgi?id=31545
-
- Added missing NULL-check that other APIs have.
-
- Test: svg/dom/frame-related-api-during-load.html
-
- * svg/SVGSVGElement.cpp:
- (WebCore::SVGSVGElement::deselectAll):
-
-2010-03-23 Qi Zhang <qi.2.zhang@nokia.com>
-
- Reviewed by Simon Hausmann.
- [Qt] LayoutTests/fast/canvas/fillrect_gradient.html failed
- https://bugs.webkit.org/show_bug.cgi?id=36444
-
- Handle duplicated or unsorted colorStop at platformDestory
-
- * platform/graphics/qt/GradientQt.cpp:
- (WebCore::Gradient::platformGradient):
-
-2010-03-23 Julien Chaffraix <jchaffraix@webkit.org>
-
- Unreviewed build fix.
-
- Try to make the window buildbot happy.
-
- * xml/XMLHttpRequestProgressEventThrottle.cpp:
- * xml/XMLHttpRequestProgressEventThrottle.h: Move initialization of the
- static const in the cpp file.
-
-2010-03-23 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: make gear menu appear on styles panel at all times.
-
- https://bugs.webkit.org/show_bug.cgi?id=36490
-
- * inspector/front-end/inspector.css:
-
-2010-03-23 Pavel Feldman <pfeldman@chromium.org>
+ * inspector/front-end/ConsoleView.js:
+ Treat a StartGroupCollapsed message the same way as a StartGroup message, but display the tree for the group as collapsed.
+ (WebInspector.ConsoleView.prototype.addMessage):
+ (WebInspector.ConsoleMessage.prototype.toMessageElement):
+ (WebInspector.ConsoleMessage.prototype.toString):
+ (WebInspector.ConsoleGroup.prototype.addMessage):
- Reviewed by Timothy Hatcher.
+ * page/Console.cpp:
+ (WebCore::Console::groupCollapsed):
+ Create a group and indicate that it should be collapsed.
+ * page/Console.h:
+ Add the StartGroupCollapsed message type.
- Web Inspector: render nodes in inherited style bars as links.
+ (WebCore::):
+ * page/Console.idl:
+ Create the JS bindings for groupCollapsed.
- https://bugs.webkit.org/show_bug.cgi?id=36486
+2010-05-26 yael aharon <yael.aharon@nokia.com>
- * English.lproj/localizedStrings.js:
- * inspector/front-end/BreakpointsSidebarPane.js:
- (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement.breakpointClicked):
- (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement):
- * inspector/front-end/StylesSidebarPane.js:
- (WebInspector.StylesSidebarPane.prototype._update.else.insertInheritedNodeSeparator):
- (WebInspector.StylesSidebarPane.prototype._update):
- (WebInspector.StylesSidebarPane.prototype._selectNode):
- * inspector/front-end/inspector.js:
+ Reviewed by Kent Tamura.
-2010-03-23 Julien Chaffraix <jchaffraix@webkit.org>
+ Support the labels attribute in labelable form controls
+ https://bugs.webkit.org/show_bug.cgi?id=38713
- Reviewed by Alexey Proskuryakov.
+ Added a new cache type in NodeRareData to store the new cache type.
+ This cache is created on demand.
- [XHR] onProgress event needs to be dispatched according to what the specification states
- https://bugs.webkit.org/show_bug.cgi?id=18654
+ Added the "labels" attribute to all form controls that support this attribute.
- Test: http/tests/xmlhttprequest/xmlhttprequest-50ms-download-dispatch.html
+ Tests: fast/forms/labels-add-htmlFor-label.html
+ fast/forms/labels-add-parent-label.html
+ fast/forms/labels-change-htmlFor-attribute.html
+ fast/forms/labels-item-index.html
+ fast/forms/labels-remove-htmlFor-attribute.html
+ fast/forms/labels-remove-htmlFor-label.html
+ fast/forms/labels-remove-parent-label.html
+ fast/forms/labels-set-htmlFor-attribute.html
- * Android.mk:
+ * CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
- Added XMLHttpRequestProgressEventThrottle to the build systems.
-
- * xml/XMLHttpRequest.cpp:
- (WebCore::XMLHttpRequest::XMLHttpRequest): Created the throttle.
- (WebCore::XMLHttpRequest::callReadyStateChangeListener): The 'readyState' event are
- dispatched using the XMLHttpRequestProgressEventThrottle now. For the DONE state, we
- need to flush any pending progress event as we do not want it to be dispatched after
- the DONE readyState event.
- (WebCore::XMLHttpRequest::createRequest): Made this event use the
- XMLHttpRequestProgressEventThrottle for event dispatching.
- (WebCore::XMLHttpRequest::abort): Ditto.
- (WebCore::XMLHttpRequest::networkError): Ditto.
- (WebCore::XMLHttpRequest::abortError): Ditto.
- (WebCore::XMLHttpRequest::didReceiveData): Ditto. Also fixed a potential warning.
- (WebCore::XMLHttpRequest::suspend):
- (WebCore::XMLHttpRequest::resume): Implemented the logic for suspend / resume.
- * xml/XMLHttpRequest.h:
- * xml/XMLHttpRequestProgressEventThrottle.cpp: Added.
- (WebCore::XMLHttpRequestProgressEventThrottle::XMLHttpRequestProgressEventThrottle):
- (WebCore::XMLHttpRequestProgressEventThrottle::~XMLHttpRequestProgressEventThrottle):
- (WebCore::XMLHttpRequestProgressEventThrottle::dispatchProgressEvent): Implemented the bulk
- of the event throttling here: we use a timer to do so, as long as the timer is active it means
- that events are coming faster than the throttling time and we coalesce them.
- (WebCore::XMLHttpRequestProgressEventThrottle::dispatchEvent): Generic method to dispatch an event.
- (WebCore::XMLHttpRequestProgressEventThrottle::flushProgressEvent): Called when we want to dispatch
- any pending events and stopping any further dispatching.
- (WebCore::XMLHttpRequestProgressEventThrottle::dispatchPausedEvent): Used to dispatch the event
- that was queued due to the object being suspended.
- (WebCore::XMLHttpRequestProgressEventThrottle::fired): Used to dispatch any coalesced event.
- (WebCore::XMLHttpRequestProgressEventThrottle::hasEventToDispatch): Used to check if we have
- an event to dispatch.
- (WebCore::XMLHttpRequestProgressEventThrottle::suspend): Marked the object as suspended.
- (WebCore::XMLHttpRequestProgressEventThrottle::resume): Dispatched the event that was queued.
- * xml/XMLHttpRequestProgressEventThrottle.h: Added.
- (WebCore::):
- (WebCore::XMLHttpRequestProgressEventThrottle::suspended):
-
-2010-03-23 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Element inspector search funtion: Error dispatching: performSearch.
-
- https://bugs.webkit.org/show_bug.cgi?id=36488
-
- Test: inspector/elements-panel-search.html
-
- * inspector/front-end/ElementsPanel.js:
- (WebInspector.ElementsPanel.prototype.performSearch):
- (WebInspector.ElementsPanel.prototype.addNodesToSearchResult):
- * inspector/front-end/InjectedScript.js:
- (injectedScriptConstructor.):
- (injectedScriptConstructor):
-
-2010-03-23 Qi Zhang <qi.2.zhang@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] fast/canvas/patternfill-repeat.html failed.
- https://bugs.webkit.org/show_bug.cgi?id=34477
-
- Change Pattern to expose the repeatX and repeatY
- At GraphicsContextQt to apply repeatX and repeatY
-
- * platform/graphics/Pattern.h:
- (WebCore::Pattern::repeatX):
- (WebCore::Pattern::repeatY):
- * platform/graphics/qt/GraphicsContextQt.cpp:
- (WebCore::GraphicsContext::drawLine):
- (WebCore::GraphicsContext::fillRect):
- (WebCore::GraphicsContext::rotate):
-
-2010-03-23 Alex Milowski <alex@milowski.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Removed the use of beta STIX fonts.
-
- * css/mathml.css:
-
-2010-03-23 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Holger Freyther.
-
- [GTK] Does not build with latest GTK+ development release
- https://bugs.webkit.org/show_bug.cgi?id=36398
-
- Fix building with newest GTK+ versions.
-
- * GNUmakefile.am:
- * platform/gtk/GtkPluginWidget.cpp:
- (WebCore::GtkPluginWidget::invalidateRect):
- (WebCore::GtkPluginWidget::paint):
- * platform/gtk/GtkVersioning.h: Added.
- * platform/gtk/PlatformScreenGtk.cpp:
- (WebCore::getVisual):
- (WebCore::screenRect):
- (WebCore::screenAvailableRect):
- * platform/gtk/ScrollbarGtk.cpp:
- (ScrollbarGtk::paint):
- * plugins/gtk/gtk2xtbin.c:
- (gtk_xtbin_set_position):
- (gtk_xtbin_unrealize):
-
-2010-03-23 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Remove support for Qt v4.4
- https://bugs.webkit.org/show_bug.cgi?id=36389
-
- No new tests as there is no new functionality.
-
- * WebCore.pri:
- * WebCore.pro:
- * platform/network/qt/ResourceHandleQt.cpp:
- (WebCore::ResourceHandle::willLoadFromCache):
- * platform/qt/CookieJarQt.cpp:
- (WebCore::setCookies):
- (WebCore::cookies):
- * platform/qt/KURLQt.cpp:
- (WebCore::KURL::operator QUrl):
- * platform/qt/ScrollbarThemeQt.cpp:
- (WebCore::ScrollbarThemeQt::paintScrollCorner):
- * plugins/mac/PluginViewMac.cpp:
-
-2010-03-23 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Adam Barth.
-
- Add checks if setNeedsWillValidateCheck() and
- setNeedsValidityCheck() are called correctly.
- https://bugs.webkit.org/show_bug.cgi?id=34924
-
- Introduce HTMLFormControlElement::m_willValidate and
- m_isValid. They are the caches of willValidate() and
- isValidFormControlElement(). setNeedsWillValidateCheck() updates
- m_willValidate and setNeedsValidityCheck() updates m_isValid.
-
- willValidate() and isValidFormControlElement() have assertions to
- check m_willvalidate or m_isValid has the correct state. If
- setNeedsWillValidateCheck() or setNeedsValidityCheck() is needed
- to be called and is not called, these assertions fail.
-
- * html/HTMLButtonElement.h:
- (WebCore::HTMLButtonElement::recalcWillValidate):
- * html/HTMLFieldSetElement.h:
- (WebCore::HTMLFieldSetElement::recalcWillValidate):
+ * dom/Node.cpp:
+ (WebCore::Node::notifyLocalNodeListsLabelChanged):
+ (WebCore::Node::removeCachedLabelsNodeList):
+ (WebCore::NodeListsNodeData::invalidateCaches):
+ (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes):
+ (WebCore::NodeListsNodeData::isEmpty):
+ * dom/Node.h:
+ * dom/NodeRareData.h:
+ (WebCore::NodeListsNodeData::NodeListsNodeData):
+ * html/HTMLButtonElement.idl:
* html/HTMLFormControlElement.cpp:
- (WebCore::HTMLFormControlElement::HTMLFormControlElement):
- (WebCore::HTMLFormControlElement::parseMappedAttribute):
- (WebCore::HTMLFormControlElement::recalcWillValidate):
- (WebCore::HTMLFormControlElement::willValidate):
- (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):
- (WebCore::HTMLFormControlElement::validationMessage):
- (WebCore::HTMLFormControlElement::isValidFormControlElement):
- (WebCore::HTMLFormControlElement::setNeedsValidityCheck):
+ (WebCore::HTMLFormControlElement::isLabelable):
+ (WebCore::HTMLFormControlElement::labels):
* html/HTMLFormControlElement.h:
- * html/HTMLInputElement.cpp:
- (WebCore::HTMLInputElement::setInputType):
- (WebCore::HTMLInputElement::parseMappedAttribute):
- (WebCore::HTMLInputElement::setValue):
- (WebCore::HTMLInputElement::recalcWillValidate):
- * html/HTMLInputElement.h:
- * html/HTMLTextAreaElement.cpp:
- (WebCore::HTMLTextAreaElement::setNonDirtyValue):
-
-2010-03-22 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Dave Hyatt.
-
- Web Inspector: display CSS selector source line in the styles sidebar pane.
-
- https://bugs.webkit.org/show_bug.cgi?id=36414
-
- This change adds a sourceLine field into the CSSStyleRule that is populated
- from within the parser. CSSParser is now keeping track of the line numbers
- and last selector line number that is being used while creating CSSStyleRules.
-
- Test: inspector/styles-source-lines.html
-
- * css/CSSGrammar.y:
- * css/CSSParser.cpp:
- (WebCore::CSSParser::CSSParser):
- (WebCore::CSSParser::lex):
- (WebCore::CSSParser::countLines):
- (WebCore::CSSParser::createStyleRule):
- * css/CSSParser.h:
- (WebCore::CSSParser::updateLastSelectorLine):
- * css/CSSStyleRule.cpp:
- (WebCore::CSSStyleRule::CSSStyleRule):
- * css/CSSStyleRule.h:
- (WebCore::CSSStyleRule::create):
- (WebCore::CSSStyleRule::sourceLine):
- * css/tokenizer.flex:
- * inspector/InspectorDOMAgent.cpp:
- (WebCore::InspectorDOMAgent::buildObjectForRule):
- * inspector/front-end/DOMAgent.js:
- (WebInspector.CSSStyleDeclaration.parseRule):
- * inspector/front-end/StylesSidebarPane.js:
- (WebInspector.StylePropertiesSection):
-
-2010-03-22 Qi Zhang <qi.2.zhang@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] Fix arc function in canvas
- https://bugs.webkit.org/show_bug.cgi?id=36296
-
- Based on HTLM5 spec (4.8.10.1.8 Complex shapes), arc function should draw a line to previous point, not only the arc.
-
- * platform/graphics/qt/PathQt.cpp:
- (WebCore::Path::addArc):
-
-2010-03-19 Abhishek Arya <inferno@chromium.org>
-
- Reviewed by Adam Barth.
-
- https://bugs.webkit.org/show_bug.cgi?id=36339
- Off-by-one memory corruption fix for long invalid websockets upgrade header
-
- Test: websocket/tests/long-invalid-header.html
-
- * websockets/WebSocketHandshake.cpp:
- (WebCore::WebSocketHandshake::readServerHandshake):
-
-2010-03-22 Fumitoshi Ukai <ukai@chromium.org>
-
- Unreviewed build fix for Chromim Mac at r56376
-
- Fix initializer order of PopupContainer.
-
- * platform/chromium/PopupMenuChromium.cpp:
- (WebCore::PopupContainer::PopupContainer):
-
-2010-03-22 Jay Campan <jcampan@google.com>
-
- Reviewed by Darin Fisher.
-
- Making Chromium select popups not steal activation from the browser.
- Select popups are now like autocomplete popups, shown in non-activated
- windows.
- https://bugs.webkit.org/show_bug.cgi?id=36062
-
- * page/chromium/ChromeClientChromium.h:
- * platform/chromium/PopupMenuChromium.cpp:
- (WebCore::):
- (WebCore::PopupContainer::create):
- (WebCore::PopupContainer::PopupContainer):
- (WebCore::PopupContainer::~PopupContainer):
- (WebCore::PopupContainer::showPopup):
- (WebCore::PopupContainer::showExternal):
- (WebCore::PopupContainer::hidePopup):
- (WebCore::PopupMenu::show):
- * platform/chromium/PopupMenuChromium.h:
- (WebCore::PopupContainer::):
- (WebCore::PopupContainer::popupType):
-
-2010-03-22 Dmitry Titov <dimich@chromium.org>
-
- Reviewed by Nate Chapin.
-
- [v8] Crash if the worker is terminated before its initial script is executed.
- https://bugs.webkit.org/show_bug.cgi?id=36336
-
- Test: fast/workers/termination-early.html
-
- * bindings/v8/WorkerContextExecutionProxy.cpp:
- (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): Check for 0 context. When terminated, the v8 heap initialization returns 0.
- (WebCore::WorkerContextExecutionProxy::evaluate): Don't execute script if initialization failed.
- * bindings/v8/WorkerContextExecutionProxy.h:
-
-2010-03-22 Andrey Kosyakov <caseq@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Support creation of fake workers before document is loaded by deferring
- attaching of fake workers iframe until document is loaded and buffering all
- messages addressed to worker.
- https://bugs.webkit.org/show_bug.cgi?id=36445
-
- * inspector/front-end/InjectedFakeWorker.js:
- (InjectedFakeWorker.FakeWorker.prototype.postMessage):
- (InjectedFakeWorker.FakeWorker.prototype._buildWorker):
- (InjectedFakeWorker.FakeWorker.prototype._attachWorkerFrameToDocument):
- (InjectedFakeWorker.FakeWorker.prototype._onWorkerFrameLoaded):
-
-2010-03-22 Darin Fisher <darin@chromium.org>
-
- Reviewed by Brady Eidson.
-
- HistoryController::replaceState() should modify m_currentItem
- instead of the current HistoryItem of the BackForwardList.
-
- https://bugs.webkit.org/show_bug.cgi?id=36435
-
- Test: fast/loader/stateobjects/replacestate-in-iframe.html
-
- * loader/HistoryController.cpp:
- (WebCore::HistoryController::replaceState):
-
-2010-03-22 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by David Kilzer.
-
- Upstream Part of the iPhone Platform sharing code with the Mac Platform
- https://bugs.webkit.org/show_bug.cgi?id=35870
- <rdar://problem/7707283> and <rdar://problem/7707318>
-
- Part 3 of 3: Shared code between iphone and mac. The shared code was
- refactored to be usable by both platforms without platform specific
- typing, meaning no NSEvent versus WebEvent special cases.
-
- Shared code usable by either mac or iphone platforms.
-
- * platform/cocoa/KeyEventCocoa.h:
- * platform/cocoa/KeyEventCocoa.mm:
- (WebCore::keyIdentifierForCharCode):
- (WebCore::windowsKeyCodeForKeyCode):
- (WebCore::windowsKeyCodeForCharCode):
-
- Make use of the shared code. Keep anything platform specific in the
- original file before calling the shared code.
-
- * platform/iphone/KeyEventIPhone.mm:
- (WebCore::keyIdentifierForKeyEvent):
- * platform/mac/KeyEventMac.mm:
- (WebCore::keyIdentifierForKeyEvent):
- (WebCore::windowsKeyCodeForKeyEvent):
-
-2010-03-22 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Simon Fraser.
-
- https://bugs.webkit.org/show_bug.cgi?id=36328
-
- * rendering/RenderEmbeddedObject.cpp:
- (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): Fix a find/repalce mistake from my earlier patch.
- Rename m_setShowsMissingPluginIndicator -> m_showsMissingPluginIndicator.
- (WebCore::RenderEmbeddedObject::updateWidget): Don't update the widget if we're showing
- the missing plug-in indicator.
- (WebCore::RenderEmbeddedObject::paint):Fix a find/repalce mistake from my earlier patch.
- Rename m_setShowsMissingPluginIndicator -> m_showsMissingPluginIndicator.
- (WebCore::RenderEmbeddedObject::paintReplaced): Ditto.
- * rendering/RenderEmbeddedObject.h: Ditto.
- (WebCore::RenderEmbeddedObject::setShowsMissingPluginIndicator): Ditto.
- (WebCore::RenderEmbeddedObject::showsMissingPluginIndicator): Ditto.
-
-2010-03-22 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by David Kilzer.
-
- Upstream Part of the iPhone Platform sharing code with the Mac Platform
- https://bugs.webkit.org/show_bug.cgi?id=35870
- <rdar://problem/7707283>
-
- Part 2 of 3: No changes other than moving code around.
- Copied KeyEvent function from platform/mac to a platform/cocoa shared directory.
-
- * WebCore.xcodeproj/project.pbxproj: Added cocoa group and new files.
- * platform/cocoa/KeyEventCocoa.h: Added.
- * platform/cocoa/KeyEventCocoa.mm: Copied from WebCore/platform/mac/KeyEventMac.mm.
- (WebCore::keyIdentifierForKeyEvent):
- (WebCore::windowsKeyCodeForKeyEvent): Include the shared code.
- * platform/mac/KeyEventMac.mm:
-
-2010-03-22 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by David Kilzer.
-
- Part 1 of 3: Upstream iPhone KeyEvent platform code and share with Mac platform
- https://bugs.webkit.org/show_bug.cgi?id=35870
- <rdar://problem/7707283>
-
- * WebCore.xcodeproj/project.pbxproj: Added iphone group and new files.
- * platform/iphone: Added.
- * platform/iphone/KeyEventCodesIPhone.h: Added.
- * platform/iphone/KeyEventIPhone.mm: Added. Ensure PLATFORM(IPHONE)
- * platform/mac/KeyEventMac.mm: Ensure PLATFORM(MAC)
-
-2010-03-22 Kevin Decker <kdecker@apple.com>
-
- Attempt to fix the Leopard build.
- * rendering/RenderEmbeddedObject.cpp: Add ".f" to contants.
-
-2010-03-22 Justin Schuh <jschuh@chromium.org>
-
- Reviewed by Dirk Schulze.
-
- Out of bounds read in SVG feColorMatrix filter
- https://bugs.webkit.org/show_bug.cgi?id=32714
-
- Prevents an invalid read when a valid values attribute is not
- supplied for an feColorMatrix SVG filter. Also fixes general
- handling of missing or invalid values attribute.
-
- Tests: svg/filters/feColorMatrix-invalid-value.svg
- svg/filters/feColorMatrix-values.svg
-
- * svg/SVGFEColorMatrixElement.cpp:
- (WebCore::SVGFEColorMatrixElement::build):
-
-2010-03-22 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Eric Carlson.
-
- [GStreamer] Use ImageBuffer API to do painting
- https://bugs.webkit.org/show_bug.cgi?id=35783
-
- New ImageGStreamer class abstracting the conversion of GStreamer
- buffers to cairo surfaces. Using this makes the painting code of
- the player more generic.
-
- * GNUmakefile.am:
- * platform/graphics/gstreamer/ImageGStreamer.h: Added.
- (WebCore::ImageGStreamer::image):
- * platform/graphics/gstreamer/ImageGStreamerCairo.cpp: Added.
- (ImageGStreamer::createImage):
- (ImageGStreamer::ImageGStreamer):
- (ImageGStreamer::~ImageGStreamer):
- * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
- (WebCore::MediaPlayerPrivate::paint):
- * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
-
-2010-03-22 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Darin Adler.
-
- Fix for <rdar://problem/7766437> With Web Inspector opened, a crash
- occurs at Webcore:getMatchedCSSRules() when navigating to a
- previous page
-
- defaultView() can legitimately by null (as it is in this case), so
- it must be null-checked.
-
- * inspector/InspectorDOMAgent.cpp:
- (WebCore::InspectorDOMAgent::getStyles):
- (WebCore::InspectorDOMAgent::getComputedStyle):
- (WebCore::InspectorDOMAgent::getMatchedCSSRules):
-
-2010-03-22 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Darin.
-
- https://bugs.webkit.org/show_bug.cgi?id=36328
-
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::loadPlugin): Call setShowsMissingPluginIndicator(true) in cases that fail
- to generate a widget.
- * rendering/RenderEmbeddedObject.cpp: Added new missing plug-in related static constants
- (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): Initialize newly boolean to false.
- (WebCore::RenderEmbeddedObject::paint): Added.
- (WebCore::RenderEmbeddedObject::paintReplaced): Added. Draws a subtle rounded rectangle
- containing the text "Missing Plug-in".
- * rendering/RenderEmbeddedObject.h: Added the following two methods below.
- (WebCore::RenderEmbeddedObject::setShowsMissingPluginIndicator):
- (WebCore::RenderEmbeddedObject::showsMissingPluginIndicator):
- * rendering/RenderWidget.h: Moved paint(PaintInfo&, int, int) from private to protected.
-
-2010-03-22 Jakub Wieczorek <faw217@gmail.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Phonon media backend: expose supported MIME types to WebCore
-
- https://bugs.webkit.org/show_bug.cgi?id=33453
-
- MediaPlayerPrivate should expose the MIME types that are supported
- by the underlying backend in Phonon.
-
- * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
- (WebCore::MediaPlayerPrivate::supportedTypesCache):
- (WebCore::MediaPlayerPrivate::getSupportedTypes):
- (WebCore::MediaPlayerPrivate::supportsType):
- * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
-
-2010-03-22 Alexander Pavlov <apavlov@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: AuditRules still use getMatchedCSSRules as a part of the img-related audit.
- https://bugs.webkit.org/show_bug.cgi?id=36424
-
- * inspector/front-end/AuditRules.js:
- (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
- (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.receivedImages):
- (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.pushImageNodes):
- * inspector/front-end/InjectedScript.js:
- (injectedScriptConstructor):
-
-2010-03-22 Darin Adler <darin@apple.com>
-
- Reviewed by Dan Bernstein.
-
- TextBreakIteratorICU.cpp is incompatible with new UBreakIterator type in ICU 4.4
- https://bugs.webkit.org/show_bug.cgi?id=36381
-
- * platform/text/TextBreakIteratorICU.cpp:
- (WebCore::setUpIterator): Use reinterpret_cast instead of static_cast or relying
- on conversion to void*.
- (WebCore::textBreakFirst): Ditto.
- (WebCore::textBreakLast): Ditto.
- (WebCore::textBreakNext): Ditto.
- (WebCore::textBreakPrevious): Ditto.
- (WebCore::textBreakPreceding): Ditto.
- (WebCore::textBreakFollowing): Ditto.
- (WebCore::textBreakCurrent): Ditto.
- (WebCore::isTextBreak): Ditto.
- (WebCore::setUpIteratorWithRules): Ditto.
-
-2010-03-22 Eric Carlson <eric.carlson@apple.com>
-
- Reviewed by Sam Weinig.
-
- Typo in GPL license text
- https://bugs.webkit.org/show_bug.cgi?id=36442
-
- Fix typo - "aint with this library" -> "along with this library".
-
- * bindings/scripts/CodeGenerator.pm:
- * bindings/scripts/CodeGeneratorJS.pm:
- * bindings/scripts/CodeGeneratorObjC.pm:
- * bindings/scripts/CodeGeneratorV8.pm:
- * bindings/scripts/IDLParser.pm:
- * bindings/scripts/IDLStructure.pm:
- * bindings/scripts/generate-bindings.pl:
-
-2010-03-22 Jakub Wieczorek <jwieczorek@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Don't construct a QLineEdit every time when painting a text field
- https://bugs.webkit.org/show_bug.cgi?id=36373
-
- Instead, keep one instance per RenderTheme around.
-
- * platform/qt/RenderThemeQt.cpp:
- (WebCore::findFrameLineWidth):
-
-2010-03-22 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Multiselect Popup - adjusting QtAbstractWebPopup
- https://bugs.webkit.org/show_bug.cgi?id=36186
-
- QtAbstractWebPopup must provide new methods to be used by its descendants that
- wish to handle <select multiple> elements.
-
- * platform/qt/QtAbstractWebPopup.cpp:
- (WebCore::QtAbstractWebPopup::selectItem):
- (WebCore::QtAbstractWebPopup::multiple):
- * platform/qt/QtAbstractWebPopup.h:
-
-2010-03-22 Alex Milowski <alex@milowski.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Added basic support for mfrac (fractions)
-
- Test: mathml/presentation/fractions.xhtml
-
- * WebCore.xcodeproj/project.pbxproj:
- * mathml/MathMLInlineContainerElement.cpp:
- (WebCore::MathMLInlineContainerElement::createRenderer):
- * mathml/RenderMathMLFraction.cpp: Added.
- (WebCore::RenderMathMLFraction::RenderMathMLFraction):
- (WebCore::RenderMathMLFraction::updateFromElement):
- (WebCore::RenderMathMLFraction::addChild):
- * mathml/RenderMathMLFraction.h: Added.
-
-2010-03-22 Kevin Decker <kdecker@apple.com>
-
- Reviewed by John Sullivan.
-
- https://bugs.webkit.org/show_bug.cgi?id=36328
-
- * page/mac/WebCoreViewFactory.h: Added -missingPluginText method
- * platform/LocalizedStrings.h: Added missingPluginText()
- * platform/gtk/LocalizedStringsGtk.cpp: Likewise.
- * platform/mac/LocalizedStringsMac.mm: Same here.
- * platform/qt/Localizations.cpp: Ditto.
-
-2010-03-22 Yury Semikhatsky <yurys@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Handle worker exceptions in V8MessageHandler like it's done in regular documents. This way all worker exceptions will be logged in the console not only those which happen in event listeners.
-
- https://bugs.webkit.org/show_bug.cgi?id=31171
-
- * bindings/v8/V8AbstractEventListener.cpp:
- (WebCore::V8AbstractEventListener::invokeEventHandler): Removed explicit call to reportException.
- * bindings/v8/V8Utilities.cpp: reportException function was removed since it's not used.
- (WebCore::getScriptExecutionContext):
- * bindings/v8/V8Utilities.h:
- * bindings/v8/WorkerContextExecutionProxy.cpp:
- (WebCore::v8MessageHandler):
- (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): Setup message handler when first worker context is created.
-
-2010-03-22 Leandro Pereira <leandro@profusion.mobi>
-
- Reviewed by Simon Hausmann.
-
- Add EFL-specific code to page/EventHandler.cpp.
- http://webkit.org/b/36306
-
- * page/EventHandler.cpp:
-
-2010-03-22 Leandro Pereira <leandro@profusion.mobi>
-
- Reviewed by Simon Hausmann.
-
- Add EFL-specific code to platform/DragImage.h and
- platform/DragData.h.
- http://webkit.org/b/36310
-
- * platform/DragImage.h:
- * platform/DragData.h:
-
-2010-03-22 Leandro Pereira <leandro@profusion.mobi>
-
- Reviewed by Simon Hausmann.
-
- Add EFL-specific code to platform/FileSystem.h.
- http://webkit.org/b/36313
-
- * platform/FileSystem.h:
-
-2010-03-22 Leandro Pereira <leandro@profusion.mobi>
-
- Reviewed by Simon Hausmann.
-
- Add EFL-specific code to platform/Cursor.h.
- http://webkit.org/b/36319
-
- * platform/Cursor.h:
-
-2010-03-22 Leandro Pereira <leandro@profusion.mobi>
-
- Reviewed by Simon Hausmann.
-
- Add EFL-specific code to platform/NotImplemented.h.
- http://webkit.org/b/36320
-
- * platform/NotImplemented.h:
-
-2010-03-21 Kim Grönholm <kim.gronholm@nomovok.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] GraphicsLayer: matrix interpolations in transform-animations don't behave correctly
- https://bugs.webkit.org/show_bug.cgi?id=35520
-
- The case where the list of source and target transform operations are
- not the same but have the same size needs to be special-cased in
- GraphicsLayerQt, as well as the case where the source or target
- operation list is empty. The URLs listed here render correctly after
- applying the patch.
-
- Tests: https://bug-35520-attachments.webkit.org/attachment.cgi?id=49890
- https://bug-35520-attachments.webkit.org/attachment.cgi?id=49889
-
-
- * platform/graphics/qt/GraphicsLayerQt.cpp:
- (WebCore::TransformAnimationQt::applyFrame):
-
-2010-03-21 Dmitry Gorbik <socket.h@gmail.com>
-
- <http://webkit.org/b/14858> <col> width ignored when not tied to a single cell
-
- Reviewed by David Kilzer.
-
- Fixed width calculation for cells with span when <col> is defined.
-
- Test: fast/table/col-width-span-expand.html
-
- * rendering/RenderTableCell.cpp:
- (WebCore::RenderTableCell::styleOrColWidth): Added the calculation of cell width
- in case of <col> defined and span > 1.
-
-2010-03-20 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Kenneth Christiansen.
- Patch by Antonio Gomes <tonikitoo@webkit.org>
-
- Spatial Navigation: Code simplification in FocusController.cpp and SpatialNavigation.cpp (part I)
- https://bugs.webkit.org/show_bug.cgi?id=36168
-
- Make use of isNull and document methods introduced in FocusCandidate class by patch in bug 36167.
- No functionalty change.
-
- * page/FocusController.cpp:
- (WebCore::updateFocusCandidateIfCloser):
- * page/SpatialNavigation.cpp:
- (WebCore::distanceInDirection):
-
-2010-03-20 Kevin Ollivier <kevino@theolliviers.com>
-
- [wx] Build fixes after recent changes.
-
- * platform/graphics/wx/ImageWx.cpp:
- * wscript:
-
-2010-03-20 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by David Kilzer.
-
- Assertion failure in media/video-controls-with-mutation-event-handler.html
- https://bugs.webkit.org/show_bug.cgi?id=36376
-
- Test: media/video-controls-with-mutation-event-handler.html
-
- Break early (when not attached) in the defaultEventHandler before the
- slider is completely set up.
-
- * rendering/MediaControlElements.cpp:
- (WebCore::MediaControlTimelineElement::defaultEventHandler):
- (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
- * rendering/RenderMedia.cpp:
- (WebCore::RenderMedia::createVolumeSlider):
-
-2010-03-19 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Dan Bernstein.
-
- WebCore::RenderButton::styleDidChange ReadAV@NULL (6739b7fe455ecb54a6812c0866c3b47c)
- https://bugs.webkit.org/show_bug.cgi?id=34641
-
- Don't dig into buttons and menu lists when finding which element
- should be modified by :first-letter pseudo class. Even before
- this change, we didn't dig into inline buttons and menu lists as
- they are replaced so this issue wasn't found long time.
-
- Test: fast/css/first-letter-block-form-controls-crash.html
-
- * rendering/RenderBlock.cpp:
- (WebCore::RenderBlock::updateFirstLetter):
-
-2010-03-19 Adam Barth <abarth@webkit.org>
-
- Reviewed by Daniel Bates.
-
- Change XSSAuditor block syntax
- https://bugs.webkit.org/show_bug.cgi?id=34436
-
- Update our blocking syntax to something more reasonable. Also,
- implemented a way for a web site to disable the filter.
-
- Tests: http/tests/security/xssAuditor/no-protection-script-tag.html
- http/tests/security/xssAuditor/xss-protection-parsing-01.html
-
- * page/XSSAuditor.cpp:
- (WebCore::XSSAuditor::xssProtection):
- (WebCore::XSSAuditor::findInRequest):
- * page/XSSAuditor.h:
- * platform/network/HTTPParsers.cpp:
- (WebCore::skipToken):
- (WebCore::parseXSSProtectionHeader):
- * platform/network/HTTPParsers.h:
- (WebCore::):
-
-2010-03-19 Eric Uhrhane <ericu@chromium.org>
-
- Reviewed by Dmitry Titov.
-
- Refactor DatabaseTracker.cpp for thread safety
- https://bugs.webkit.org/show_bug.cgi?id=34991
-
- This enables calling into DatabaseTracker from multiple context threads,
- as will happen once Workers can access the Database. It required a fair
- amount of reshuffling of locks. I ended up splitting the public
- interface [calls that take locks and call private functions] from the
- implementations [calls that assert that locks are already held] in order
- to avoid lock conflicts. I also had to make sure we weren't sharing
- Strings or SecurityOrigins across threads.
-
- No new tests.
-
- Allow access to database handles from multiple threads IFF SQLite is new enough and the user requests it.
-
- * platform/sql/SQLiteDatabase.cpp:
- (WebCore::SQLiteDatabase::SQLiteDatabase):
- (WebCore::SQLiteDatabase::disableThreadingChecks):
- * platform/sql/SQLiteDatabase.h:
- (WebCore::SQLiteDatabase::sqlite3Handle):
- (WebCore::SQLiteDatabase::disableThreadingChecks):
-
- Remove an asynchronous call from Database::close back to the execution thread, so that cleanup can be more deterministic.
-
- * storage/Database.cpp:
- (WebCore::Database::markAsDeletedAndClose):
- (WebCore::Database::close):
- * storage/Database.h:
- (WebCore::Database::):
- * storage/DatabaseDetails.h:
- (WebCore::DatabaseDetails::DatabaseDetails):
- (WebCore::DatabaseDetails::thread):
- * storage/DatabaseTask.cpp:
- (WebCore::DatabaseCloseTask::doPerformTask):
- * storage/DatabaseThread.cpp:
- (WebCore::DatabaseThread::databaseThread):
-
- Any Strings that get stored in DatabaseTracker, and any Strings returned from DatabaseTracker, are now threadsafeCopies.
- Public functions now take all needed locks, then generally call only private functions [there are a few exceptions: deletion functions and origins()].
- Private functions no longer take locks.
- m_quotaMapGuard becomes m_databaseGuard, and now protects m_database, m_quotaMap, m_proposedDatabases, m_databaseDirectoryPath, m_originsBeingDeleted, m_beingCreated, and m_beingDeleted.
- m_proposedDatabases replaces m_proposedDatabase, to account for reentrancy.
-
- * storage/DatabaseTracker.h:
- * storage/DatabaseTracker.cpp:
- (WebCore::DatabaseTracker::originQuotaManagerNoLock):
- (WebCore::DatabaseTracker::originQuotaManager):
- (WebCore::DatabaseTracker::DatabaseTracker):
- (WebCore::DatabaseTracker::setDatabaseDirectoryPath):
- (WebCore::DatabaseTracker::databaseDirectoryPath):
- (WebCore::DatabaseTracker::trackerDatabasePath):
- (WebCore::DatabaseTracker::openTrackerDatabase):
- (WebCore::DatabaseTracker::canEstablishDatabase):
- (WebCore::DatabaseTracker::hasEntryForOriginNoLock):
- (WebCore::DatabaseTracker::hasEntryForOrigin):
- (WebCore::DatabaseTracker::hasEntryForDatabase):
- (WebCore::DatabaseTracker::originPath):
- (WebCore::DatabaseTracker::fullPathForDatabaseNoLock):
- (WebCore::DatabaseTracker::fullPathForDatabase):
- (WebCore::DatabaseTracker::populateOrigins):
- (WebCore::DatabaseTracker::origins):
- (WebCore::DatabaseTracker::databaseNamesForOriginNoLock):
- (WebCore::DatabaseTracker::databaseNamesForOrigin):
- (WebCore::DatabaseTracker::detailsForNameAndOrigin):
- (WebCore::DatabaseTracker::setDatabaseDetails):
- (WebCore::DatabaseTracker::usageForDatabase):
- (WebCore::DatabaseTracker::addOpenDatabase):
- (WebCore::DatabaseTracker::removeOpenDatabase):
- (WebCore::DatabaseTracker::usageForOriginNoLock):
- (WebCore::DatabaseTracker::usageForOrigin):
- (WebCore::DatabaseTracker::quotaForOriginNoLock):
- (WebCore::DatabaseTracker::quotaForOrigin):
- (WebCore::DatabaseTracker::setQuota):
- (WebCore::DatabaseTracker::addDatabase):
- (WebCore::DatabaseTracker::deleteAllDatabases):
- (WebCore::DatabaseTracker::deleteOrigin):
- (WebCore::DatabaseTracker::deleteDatabase):
- (WebCore::DatabaseTracker::deleteDatabaseFile):
- (WebCore::DatabaseTracker::setClient):
- (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):
- (WebCore::DatabaseTracker::notifyDatabasesChanged):
-
- These functions keep track of in-progress deletions and creations, so that we can make sure nobody every deletes a database file while a live database is using it.
- (WebCore::DatabaseTracker::canCreateDatabase):
- (WebCore::DatabaseTracker::recordCreatingDatabase):
- (WebCore::DatabaseTracker::doneCreatingDatabase):
- (WebCore::DatabaseTracker::creatingDatabase):
- (WebCore::DatabaseTracker::canDeleteDatabase):
- (WebCore::DatabaseTracker::recordDeletingDatabase):
- (WebCore::DatabaseTracker::doneDeletingDatabase):
- (WebCore::DatabaseTracker::deletingDatabase):
- (WebCore::DatabaseTracker::canDeleteOrigin):
- (WebCore::DatabaseTracker::deletingOrigin):
- (WebCore::DatabaseTracker::recordDeletingOrigin):
- (WebCore::DatabaseTracker::doneDeletingOrigin):
-
- Any SecurityOrigins stored in OriginQuotaManager are now threadsafeCopies of inputs. There's a new tryLock() function in addition to the existing lock().
-
- * storage/OriginQuotaManager.cpp:
- (WebCore::OriginQuotaManager::tryLock):
- (WebCore::OriginQuotaManager::trackOrigin):
- * storage/OriginQuotaManager.h:
-
- * page/SecurityOrigin.cpp:
- (WebCore::SecurityOrigin::databaseIdentifier):
- Removed DEFINE_STATIC_LOCAL wrapper on a local variable; it appears to have been a small optimization, but it's not thread-safe.
-
-2010-03-19 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Antti Koivisto.
-
- Multiselect popups - rendering
- https://bugs.webkit.org/show_bug.cgi?id=36006
-
- The objective of this patch is to create a compile time flag that can be used
- to force all <select> elements to be rendered as menu lists.
-
- Theme stylesheet mechanism has been used to change the appearance of the elements.
-
- Class QtStyleOptionWebComboBox has been introduced to provide to QStyle objects
- the needed information to render <select multiple> comboboxes.
-
- * WebCore.pri:
- * WebCore.pro:
- * css/themeQtNoListboxes.css: Added.
- (select[size][multiple]):
- * dom/SelectElement.h:
- (WebCore::SelectElementData::usesMenuList):
- * platform/qt/QtStyleOptionWebComboBox.h: Added.
- (WebCore::QtStyleOptionWebComboBox::QtStyleOptionWebComboBox):
- (WebCore::QtStyleOptionWebComboBox::multiple):
- (WebCore::QtStyleOptionWebComboBox::checkMultiple):
- * platform/qt/RenderThemeQt.cpp:
- (WebCore::RenderThemeQt::extraDefaultStyleSheet):
- (WebCore::RenderThemeQt::paintMenuList):
- (WebCore::RenderThemeQt::paintMenuListButton):
- * platform/qt/RenderThemeQt.h:
-
-2010-03-19 Zhenyao Mo <zmo@google.com>
-
- Reviewed by Oliver Hunt.
-
- Update WebGLArray.slice() to new spec
- https://bugs.webkit.org/show_bug.cgi?id-35612
-
- * bindings/js/JSWebGLArrayCustom.cpp: Adding support for default inputs.
- (WebCore::JSWebGLArray::slice):
- * bindings/v8/custom/V8WebGLArrayCustom.cpp: Ditto.
- (WebCore::V8WebGLArray::sliceCallback):
- * html/canvas/WebGLArray.cpp: Map start/end to offset/length.
- (WebCore::WebGLArray::calculateOffsetAndLength):
- * html/canvas/WebGLArray.h: Modified slice parameters.
- * html/canvas/WebGLArray.idl: Define custom binding for slice().
- * html/canvas/WebGLByteArray.cpp: Modified slice parameters.
- (WebCore::WebGLByteArray::slice):
- * html/canvas/WebGLByteArray.h: Ditto.
- * html/canvas/WebGLFloatArray.cpp: Ditto.
- (WebCore::WebGLFloatArray::slice):
- * html/canvas/WebGLFloatArray.h: Ditto.
- * html/canvas/WebGLIntArray.cpp: Ditto.
- (WebCore::WebGLIntArray::slice):
- * html/canvas/WebGLIntArray.h: Ditto.
- * html/canvas/WebGLShortArray.cpp: Ditto.
- (WebCore::WebGLShortArray::slice):
- * html/canvas/WebGLShortArray.h: Ditto.
- * html/canvas/WebGLUnsignedByteArray.cpp: Ditto.
- (WebCore::WebGLUnsignedByteArray::slice):
- * html/canvas/WebGLUnsignedByteArray.h: Ditto.
- * html/canvas/WebGLUnsignedIntArray.cpp: Ditto.
- (WebCore::WebGLUnsignedIntArray::slice):
- * html/canvas/WebGLUnsignedIntArray.h: Ditto.
- * html/canvas/WebGLUnsignedShortArray.cpp: Ditto.
- (WebCore::WebGLUnsignedShortArray::slice):
- * html/canvas/WebGLUnsignedShortArray.h: Ditto.
-
-2010-03-19 Yong Li <yong.li@torchmobile.com> and Andy Estes <aestes@apple.com>
-
- Reviewed by Darin Adler.
-
- Ensure the segments inside SharedBuffer are merged before constructing
- a CFData with it.
-
- https://bugs.webkit.org/show_bug.cgi?id=50843
-
- * manual-tests/WebKitSite.webarchive: Added.
- * manual-tests/webarchive-test.html: Added.
- * platform/cf/SharedBufferCF.cpp:
- (WebCore::SharedBuffer::createCFData):
-
-2010-03-19 Justin Schuh <jschuh@chromium.org>
-
- Reviewed by Oliver Hunt.
-
- Security: ReadAV@NULL for negative feMorphology filter radius
- https://bugs.webkit.org/show_bug.cgi?id=34566
-
- Prevents building the filter if either radius is negative.
- Catches negative radii resulting from conversions.
-
- Test: svg/filters/feMorphology-invalid-radius.svg
-
- * svg/SVGFEMorphologyElement.cpp:
- (WebCore::SVGFEMorphologyElement::build):
- * svg/graphics/filters/SVGFEMorphology.cpp:
- (WebCore::FEMorphology::apply):
-
-2010-03-19 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Simon Fraser.
-
- Fixed a crash with AnimationController getting deleted out from under itself.
-
- It's possible for the Frame that owns an AnimationController to get deleted
- in the EndTransitionEvent (or other animation events) to get deleted in the
- event handler. Normally this case is protected against by preventing the Frame
- from getting deleted until the end of the runloop. But native uses of the
- WebView can subvert this protection. So I added a protector to the
- animation event dispatcher to protect it in those cases.
-
- Test: transitions/transition-end-event-destroy-iframe.html
-
- * page/animation/AnimationController.cpp:
- (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
-
-2010-03-19 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Antti Koivisto.
-
- Multiselect Popup - PopupMenuClient extension
- https://bugs.webkit.org/show_bug.cgi?id=36178
-
- PopupMenuClient class is the interface used by combobox popup implementations.
- It needs to be extended to handle <select multiple> needs.
-
- A new interface named ListPopupMenuClient that inherits from PopupMenuClient was created.
- The use of this new class instead of adding methods to PopupMenuClient avoids changes
- in other non related implementations of PopupMenuClient.
-
- RenderMenuList has changed to inherit ListPopupMenuClient instead of PopupMenuClient
- and to have the new methods implemented.
-
- * platform/PopupMenuClient.h:
- * rendering/RenderMenuList.cpp:
- (WebCore::RenderMenuList::listBoxSelectItem):
- (WebCore::RenderMenuList::multiple):
- * rendering/RenderMenuList.h:
-
-2010-03-19 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dimitri Glazkov.
-
- https://bugs.webkit.org/show_bug.cgi?id=36387
- REGRESSION: Can "uncheck" radio buttons by clicking on them
-
- My change in r56174 caused radio buttons and checkboxes to go down the same code path by virtue
- of allowsIndeterminate(), but this broke save/restore behavior on radio buttons.
-
- Fix by saving and restoring both the intermediate and checked state for radio buttons
- and checkboxes, as well as the "current radio button" state.
-
- Test: fast/forms/radio-checkbox-restore-indeterminate.html
-
- * html/HTMLInputElement.cpp:
- (WebCore::EventHandlingState::EventHandlingState): New struct to hold state between preDispatchEventHandler()
- and postDispatchEventHandler().
- (WebCore::HTMLInputElement::preDispatchEventHandler): Store intermedate and checked state
- and the current radio button.
- (WebCore::HTMLInputElement::postDispatchEventHandler): Restore state as appropriate.
- * html/HTMLInputElement.h: Add a comment to clarify how 'intermediate' interacts with 'checked', according
- to the spec.
-
-2010-03-19 Alexander Pavlov <apavlov@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: caret moves past prompt in javascript console
- https://bugs.webkit.org/show_bug.cgi?id=26602
-
- Having noticed any Element children besides a leading <br> (which are empty
- text nodes), WebCore editing facility thinks it should delete the <br>,
- thus clearing away the text prompt contents.
-
- * inspector/front-end/TextPrompt.js:
- (WebInspector.TextPrompt.prototype.clearAutoComplete):
- (WebInspector.TextPrompt.prototype._completionsReady):
- * inspector/front-end/utilities.js:
- (Element.prototype.pruneEmptyTextNodes):
-
-2010-03-19 Adam Roben <aroben@apple.com>
-
- Windows clean build fix after r56192
-
- * WebCore.vcproj/WebCore.vcproj: Copy headers from
- platform/graphics/cg to $WebKitOutputDir as part of the post-build
- event so that WebKit can use them. (The only one we currently require
- is FontPlatformData.h.)
-
- * platform/graphics/win/FontPlatformDataCGWin.cpp: Touched to force a
- build.
-
-2010-03-19 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by David Kilzer.
-
- Assertion failure in media/video-controls-with-mutation-event-handler.html
- https://bugs.webkit.org/show_bug.cgi?id=36376
-
- Fix crashing test. Underlying the media element's volume slider is a
- range input, which sanitizes values before expected on the media control.
-
- * rendering/RenderMedia.cpp:
- (WebCore::RenderMedia::createVolumeSlider):
-
-2010-03-19 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin Adler.
-
- 3 of the new HTML5 loading events need to be asynchronous.
-
- Laying the groundwork for:
- https://bugs.webkit.org/show_bug.cgi?id=36201
- https://bugs.webkit.org/show_bug.cgi?id=36202
- https://bugs.webkit.org/show_bug.cgi?id=36334
- https://bugs.webkit.org/show_bug.cgi?id=36335
-
- Document already had an asynchronous event delivery mechanism for storage events, so
- we can repurpose that for all async events.
-
- No new tests. (No change in behavior)
-
- * dom/Document.cpp:
- (WebCore::Document::Document):
- (WebCore::Document::implicitClose): Use Document::schedule* for the related events.
- (WebCore::Document::enqueueEvent): Renamed from enqueueStorageEvent
- (WebCore::Document::pendingEventTimerFired): Renamed from "storageEventTimerFired"
- (WebCore::Document::statePopped): Use Document::schedulePopstateEvent
- (WebCore::Document::enqueuePageshowEvent): All Pageshow events are piped through here.
- This will be made asynchronous in a separate patch.
- (WebCore::Document::enqueueHashchangeEvent): All Hashchange events are piped through here.
- This will be made asynchronous in a separate patch.
- (WebCore::Document::enqueuePopstateEvent): All Popstate events are piped through here.
- This will be made asynchronous in a separate patch.
- * dom/Document.h:
- (WebCore::):
-
- * history/CachedFrame.cpp:
- (WebCore::CachedFrameBase::restore): Use Document::enqueuePageshowEvent
-
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::loadInSameDocument): Use Document::enqueueHashchangeEvent
-
- * storage/StorageEventDispatcher.cpp:
- (WebCore::StorageEventDispatcher::dispatch): Use Document::enqueueEvent
-
-2010-03-19 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Darin Adler and Brady Eidson.
-
- First step toward:
- https://bugs.webkit.org/show_bug.cgi?id=36328
-
- This is the first step torward eliminating the WebKit WebNullPluginView class. The responsibility for this will soon
- be in platform-independent code in WebCore. The plan is to change RenderEmbeddedObject and give it the capability of
- drawing the missing plug-in text.
-
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::requestObject): Renamed the renderer parameter to requestEmbeddedObject and made it
- a RenderEmbeddedObject.
- (WebCore::FrameLoader::loadPlugin): Likewise.
- * loader/FrameLoader.h: Updated loadPlugin() and requestObject() method signatures accordingly.
-
-2010-03-19 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Disable TILED_BACKING_STORE if Qt version is earlier than Qt4.6
- https://bugs.webkit.org/show_bug.cgi?id=36348
-
- Backing store implementation for QtWebKit requires at least Qt
- version 4.6.
-
- No new tests as there is no new functionality.
-
- * WebCore.pri:
-
-2010-03-19 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by David Kilzer.
-
- <input type=range> does not validate correctly without a renderer and the tests are incorrect
- https://bugs.webkit.org/show_bug.cgi?id=36259
-
- Setting value attribute on an <input type=range> to an out-of-range value fires oninput
- https://bugs.webkit.org/show_bug.cgi?id=16990
-
- Part 2 of 2: When setting the range element's value, overflows and underflows
- are automatically sanitized to valid values. Moved the general case
- sanitization code out of the Renderer into HTMLInputElement::sanitizeValue.
-
- * html/HTMLInputElement.cpp:
- (WebCore::HTMLInputElement::value): when getting a default value on reset() ensure the defaultValue is provided
- (WebCore::HTMLInputElement::sanitizeValue): clamp the value within the max/min/step range constraints
- * html/StepRange.cpp:
- (WebCore::StepRange::StepRange): allow const element in the constructor
- (WebCore::StepRange::clampValue): clamp from a String value
- * html/StepRange.h:
- (WebCore::StepRange::defaultValue): easy calculation of the default value for max/min/step range constraints
- * rendering/RenderSlider.cpp:
- (WebCore::RenderSlider::updateFromElement): no longer handle the general case sanitization in the renderer
-
-2010-03-19 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by David Kilzer.
-
- <input type=range> does not validate correctly without a renderer and the tests are incorrect
- https://bugs.webkit.org/show_bug.cgi?id=36259
-
- Part 1 of 2: Refactoring the SliderRange struct out of RenderSlider
- into a more appropriate place. Changed the named to StepRange. Changed
- from a struct to a class.
-
- Added new files to the build.
-
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
-
- Renamed and moved class SliderRange to StepRange.
-
- * html/StepRange.cpp: Added.
- (WebCore::StepRange::StepRange):
- (WebCore::StepRange::clampValue):
- (WebCore::StepRange::valueFromElement):
- (WebCore::sliderPosition):
- * html/StepRange.h: Added.
- (WebCore::StepRange::proportionFromValue):
- (WebCore::StepRange::valueFromProportion):
- * rendering/RenderSlider.cpp:
- (WebCore::RenderSlider::updateFromElement): updated to use StepRange
- (WebCore::RenderSlider::setValueForPosition): updated to use StepRange
-
-2010-03-19 Antti Koivisto <koivisto@iki.fi>
-
- Reviewed by Simon Hausmann.
-
- https://bugs.webkit.org/show_bug.cgi?id=36366
- Repaint loop when painting using scaled CTMs with different translations
-
- The code in RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality
- tests if the scaling has changed from the previous value by comparing the
- transformations. The test fails if the scale is the same but the translation
- changes. This can lead to infinite repaint loop if the document is painted
- in pieces using different translations (for example for tiling).
-
- * rendering/RenderBoxModelObject.cpp:
- (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality):
-
-2010-03-19 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: editing shorthands does not always work.
-
- https://bugs.webkit.org/show_bug.cgi?id=36362
-
- * inspector/InspectorDOMAgent.cpp:
- (WebCore::InspectorDOMAgent::applyStyleText):
- (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
- (WebCore::InspectorDOMAgent::shorthandValue):
- * inspector/InspectorDOMAgent.h:
- * inspector/front-end/StylesSidebarPane.js:
- (WebInspector.StylePropertyTreeElement.prototype):
- * inspector/front-end/inspector.css:
- (.section .properties li.disabled .enabled-button):
- * inspector/front-end/inspector.js:
- (WebInspector.startEditing.editingCommitted):
-
-2010-03-19 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Don't replace clip when drawing complex text
-
- * platform/graphics/qt/FontQt.cpp:
-
-2010-03-18 Darin Fisher <darin@chromium.org>
-
- Reviewed by Adam Barth.
-
- If a frame is already in the document, then setting its "src" attribute
- should add the resultant navigation to history.
-
- https://bugs.webkit.org/show_bug.cgi?id=9166
-
- This behavior is specified in section 4.8.2 of the HTML5 spec.
-
- Test: fast/loader/frame-src-change-added-to-history.html
-
- * html/HTMLFrameElementBase.cpp:
- (WebCore::HTMLFrameElementBase::openURL):
- (WebCore::HTMLFrameElementBase::setLocation):
- * html/HTMLFrameElementBase.h:
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::requestFrame):
- * loader/FrameLoader.h:
-
-2010-03-18 Chris Evans <cevans@chromium.org>
-
- Reviewed by Nikolas Zimmermann.
-
- Fix a minor crash with mismatched array sizes in SVG animation
- elements.
-
- https://bugs.webkit.org/show_bug.cgi?id=35606
-
- Test: svg/animations/keypoints-mismatch.svg
-
- * svg/SVGAnimationElement.cpp:
- (WebCore::SVGAnimationElement::startedActiveInterval):
- Globally apply validations relevant to all animation types.
-
-2010-03-18 Vangelis Kokkevis <vangelis@chromium.org>
-
- Reviewed by Adam Barth.
-
- Implement software composited graphics layers in Chromium using the Skia library.
- https://bugs.webkit.org/show_bug.cgi?id=35557
- This is an initial step in the implementation. Layer compositing is functioning
- but not optimized in any way. Subsesquent check-ins will be necessary to fine tune
- it.
-
- Test: No new exposed functionality so no new tests.
-
- * WebCore.gypi:
- Added new source files to the chromium build
- * platform/graphics/GraphicsLayer.h:
- Added necessary typedef's and forward declarations for Chromium.
- * platform/graphics/skia/GraphicsLayerSkia.cpp: Added.
- * platform/graphics/skia/GraphicsLayerSkia.h: Added.
- Declaration and implementation of the platform-specific GraphicsLayer class.
- * platform/graphics/skia/LayerRendererSkia.cpp: Added.
- * platform/graphics/skia/LayerRendererSkia.h: Added.
- Declaration and implementation of the Skia-based software compositor.
- * platform/graphics/skia/LayerSkia.cpp: Added.
- * platform/graphics/skia/LayerSkia.h: Added.
- Declaration and implementation of a compositable layer that uses a Skia canvas
- for backing store.
-
-2010-03-18 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Darin Adler.
-
- Make setPrinting() with printing=false, restore the previous
- media type in use.
-
- Test: fast/media/print-restores-previous-mediatype.html
-
- * page/Frame.cpp:
- (WebCore::Frame::setPrinting):
- * page/FrameView.cpp:
- (WebCore::FrameView::adjustMediaTypeForPrinting):
- * page/FrameView.h:
-
-2010-03-18 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/36338> Remove unused RenderReplaced::adjustOverflowForBoxShadowAndReflect() declaration
-
- Rubber-stamped by Darin Adler.
-
- This declaration should have been removed in r47440.
-
- * rendering/RenderReplaced.h:
- (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect): Removed.
-
-2010-03-18 Jian Li <jianli@chromium.org>
-
- Reviewed by Dmitry Titov.
-
- Dragging a PDF image triggers assertion in DragController::startDrag()
- https://bugs.webkit.org/show_bug.cgi?id=36247
-
- Test: fast/images/drag-pdf-as-image.html
-
- * platform/graphics/cg/PDFDocumentImage.cpp:
- (WebCore::PDFDocumentImage::filenameExtension):
- * platform/graphics/cg/PDFDocumentImage.h:
-
-2010-03-18 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Avoid taking a reference to a String owned by a temporary AtomicString.
-
- * css/CSSSelector.cpp:
- (WebCore::CSSSelector::RareData::parseNth):
-
-2010-03-18 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Simon Fraser.
-
- Fixed parenting issues with HW layers on Windows
- https://bugs.webkit.org/show_bug.cgi?id=32449
-
- CACF can't properly fix superlayer changes, so a layer added
- as a sublayer must have a null superlayer. I changed a couple of
- places that change sublayers to removeFromSuperlayer while adding
- to a new layer. This fixes both the problem of disappearing children
- and children getting doubled. Also got rid of removeSublayer(). Layers
- should always be removed from their parent with removeFromSuperlayer().
-
- This also removed moveLayer(), which is not used and may not be safe in how
- it copies.
-
- * platform/graphics/win/GraphicsLayerCACF.cpp:Changed setName to be like Mac, to give more debugging info (to fix problems like these)
- (WebCore::GraphicsLayerCACF::setName):
- * platform/graphics/win/WKCACFLayer.cpp:Make sure superlayer is null before adding
- (WebCore::WKCACFLayer::insertSublayer):
- (WebCore::WKCACFLayer::replaceSublayer):
- (WebCore::WKCACFLayer::removeFromSuperlayer):
- (WebCore::WKCACFLayer::setSublayers):
- (WebCore::WKCACFLayer::printLayer):print the superlayer for better debugging
- * platform/graphics/win/WKCACFLayer.h:
-
-2010-03-18 Dimitri Glazkov <dglazkov@chromium.org>
-
- Unreviewed, build fix.
-
- [Chromium] Change the order of mac/ and cg/ include dirs to fix compile break
- due to http://trac.webkit.org/changeset/56192,
-
- * WebCore.gyp/WebCore.gyp: Changed the order.
-
-2010-03-18 David Hyatt <hyatt@apple.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=36325
-
- Add support for stopImmediatePropagation from DOM Level 3 Events.
-
- Added fast/events/stop-immediate-propagation.html.
-
- * dom/Event.cpp:
- (WebCore::Event::Event):
- * dom/Event.h:
- (WebCore::Event::timeStamp):
- (WebCore::Event::stopPropagation):
- (WebCore::Event::stopImmediatePropagation):
- (WebCore::Event::propagationStopped):
- (WebCore::Event::immediatePropagationStopped):
- * dom/Event.idl:
- * dom/EventTarget.cpp:
- (WebCore::EventTarget::fireEventListeners):
-
-2010-03-18 Dimitri Glazkov <dglazkov@chromium.org>
-
- Unreviewed, build fix.
-
- Return frame accessor back to Geolocation, it's used in GeolocationServiceChromium.
- The accessor was removed in http://trac.webkit.org/changeset/56188.
-
- * page/Geolocation.h:
- (WebCore::Geolocation::frame): Added back.
-
-2010-03-18 Brent Fulgham <bfulgham@webkit.org>
-
- Reviewed by Adam Roben.
-
- Help reduce build problems due to font declarations.
- https://bugs.webkit.org/show_bug.cgi?id=36190
-
- Functions unchanged, no new tests.
-
- * WebCore.vcproj/WebCore.vcproj: Add new file, and show
- movement of FontPlatformData.h to cg/ directory.
- * platform/graphics/cairo/FontPlatformData.h: Merge in
- WinCairo-specific declarations. Correct constructor
- declaration to use type float for font size.
- (WebCore::FontPlatformData::FontPlatformData):
- (WebCore::FontPlatformData::hfont):
- (WebCore::FontPlatformData::useGDI):
- (WebCore::FontPlatformData::fontFace):
- (WebCore::FontPlatformData::setSize):
- (WebCore::FontPlatformData::hash):
- (WebCore::FontPlatformData::isHashTableDeletedValue):
- * platform/graphics/cairo/FontPlatformDataCairo.cpp:
- (WebCore::FontPlatformData::FontPlatformData): Correct
- constructor to accept type float for font size.
- * platform/graphics/cg/FontPlatformData.h: Copied from WebCore/platform/graphics/win/FontPlatformData.h.
- (WebCore::FontPlatformData::FontPlatformData):
- (WebCore::FontPlatformData::hfont):
- (WebCore::FontPlatformData::cgFont):
- (WebCore::FontPlatformData::operator==):
- * platform/graphics/win/FontPlatformData.h: Removed.
- * platform/graphics/win/FontPlatformDataCairoWin.cpp:
- (WebCore::FontPlatformData::operator==): Move implementation
- here (previously in header) to match other cairo-based ports.
- * platform/graphics/win/RefCountedHFONT.h: Added. This
- was extracted from win/FontPlatformData.h, and is now shared
- by the cg/FontPlatformData.h and cairo/FontPlatformData.h
- (WebCore::RefCountedHFONT::create):
- (WebCore::RefCountedHFONT::createDeleted):
- (WebCore::RefCountedHFONT::~RefCountedHFONT):
- (WebCore::RefCountedHFONT::hfont):
- (WebCore::RefCountedHFONT::hash):
- (WebCore::RefCountedHFONT::RefCountedHFONT):
-
-2010-03-18 Simon Fraser <simon.fraser@apple.com>
-
- No review.
-
- Fix brace style after r56170.
-
- * css/CSSStyleSelector.cpp:
- (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
-
-2010-03-18 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dave Hyatt.
-
- https://bugs.webkit.org/show_bug.cgi?id=36274
- CSS3 :nth-child selector 'odd' keyword case sensitivity test fails
-
- The tests for "odd", "even" etc. for nth-child selectors should be case insensitive.
-
- Test: fast/css/nth-child-odd-case-insensitive.html
-
- * css/CSSSelector.cpp:
- (WebCore::CSSSelector::RareData::parseNth):
-
-2010-03-18 David Hyatt <hyatt@apple.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=36265
-
- Add support for event.defaultPrevented from DOM level 3.
-
- Added fast/events/defaultprevented.html
-
- * dom/Event.idl:
-
-2010-03-18 Darin Adler <darin@apple.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Remove Geolocation.lastPosition, no longer in the spec.
- https://bugs.webkit.org/show_bug.cgi?id=36255
- rdar://problem/7746357
-
- * WebCore.base.exp: Updated since Geolocation's destructor is now non-virtual.
-
- * page/Geolocation.cpp:
- (WebCore::Geolocation::lastPosition): Add an assertion; it's only legal to
- call this if access to the location is allowed.
-
- * page/Geolocation.h: Removed unneeded includes. Made destructor non-virtual,
- although it will still be virtual if any of the base classes have a virtual
- destructor. Made lastPosition, isAllowed, and isDenied functions private.
- Removed unused suspend, resume, setShouldClearCache, shouldClearCache,
- and frame functions.
-
- * page/Geolocation.idl: Removed lastPosition read-only attribute. No longer in
- the Geolocation specification.
-
-2010-03-18 David Hyatt <hyatt@apple.com>
-
- Reviewed by Simon Fraser.
-
- https://bugs.webkit.org/show_bug.cgi?id=36275
-
- Make sure :not does not allow pseudo-elements inside it. (Hooray for another pointless
- restriction on :not.)
-
- Added fast/css/invalid-not-with-pseudo-element.html
-
- * css/CSSGrammar.y:
- * css/CSSSelector.h:
- (WebCore::CSSSelector::matchesPseudoElement):
-
-2010-03-18 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/7761400> Rework the fix for
- https://bugs.webkit.org/show_bug.cgi?id=18722
-
- Test: fast/dynamic/float-remove-above-line-2.html
-
- * rendering/RenderBlock.cpp:
- (WebCore::RenderBlock::removeFloatingObject): Treat 0- and less-than-0-height floats
- as having a height of 1 so that they intersect with the line they originate on.
- (WebCore::RenderBlock::clearFloats): Use numeric_limits.
- * rendering/RenderBlockLineLayout.cpp:
- (WebCore::RenderBlock::layoutInlineChildren): Removed the intersection checks here,
- so that a float is always included in the float list of the line it originates on, even
- if it does not intersect that line. This ensures that every float is accounted for, which
- is necessary during incremental layout when adding floats from clean lines.
-
-2010-03-18 Antti Koivisto <koivisto@iki.fi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- https://bugs.webkit.org/show_bug.cgi?id=36102
- [Qt] Scaling control API for tiled backing store
-
- Commit the new scale synchronously after unfreeze to avoid ugliness.
-
- * platform/graphics/TiledBackingStore.cpp:
- (WebCore::TiledBackingStore::TiledBackingStore):
- (WebCore::TiledBackingStore::setContentsScale):
- (WebCore::TiledBackingStore::commitScaleChange):
- (WebCore::TiledBackingStore::setContentsFrozen):
- * platform/graphics/TiledBackingStore.h:
-
-2010-03-18 David Hyatt <hyatt@apple.com>
-
- Reviewed by Simon Fraser.
-
- https://bugs.webkit.org/show_bug.cgi?id=36281
-
- Make sure an exception is raised if an @import rule is inserted in the wrong place.
-
- Also make sure (so that this particular test case passes) that rgba(0, 0, 0, 0) is dumped
- as transparent by getComputedStyle, since it most commonly occurs in background-color and
- that default makes more sense than dumping rgba values.
-
- Added fast/css/invalid-import-insertion.html
-
- * css/CSSPrimitiveValue.cpp:
- (WebCore::CSSPrimitiveValue::createColor):
- * css/CSSStyleSheet.cpp:
- (WebCore::CSSStyleSheet::insertRule):
-
-2010-03-18 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Multiselect Popup - Listbox click simulation
- https://bugs.webkit.org/show_bug.cgi?id=36177
-
- Listbox popups will need to notify the corresponding select elements that a
- selection change happened. The current HTMLSelectElement interface does not
- allow multiple selections.
-
- The new method listBoxSelectItem will be used for that. I have refactored part
- of the mouse handling code in bug 36124 and I am now reusing it here for
- <select multiple> popups. All the other cases will handled as they were before to be
- sure that no side effects will show up.
-
- * dom/SelectElement.cpp:
- (WebCore::SelectElement::updateListBoxSelection):
- (WebCore::SelectElement::listBoxOnChange):
- * dom/SelectElement.h:
- * html/HTMLSelectElement.cpp:
- (WebCore::HTMLSelectElement::listBoxPopupClick):
- * html/HTMLSelectElement.h:
-
-2010-03-12 Ojan Vafai <ojan@chromium.org>
-
- Reviewed by David Levin.
-
- smartdelete should only occur after double-click
- https://bugs.webkit.org/show_bug.cgi?id=35314
-
- 1. Consolidate all notions of selection-granularity into SelectionController.
- 2. Now only mouse-based selections store a selection-granularity. This matches NSTextView.
-
- New tests were added in http://trac.webkit.org/changeset/55913.
-
- * WebCore.base.exp:
- * editing/MoveSelectionCommand.cpp:
- (WebCore::MoveSelectionCommand::MoveSelectionCommand):
- (WebCore::MoveSelectionCommand::doApply):
- * editing/MoveSelectionCommand.h:
- (WebCore::MoveSelectionCommand::create):
- * editing/SelectionController.cpp:
- (WebCore::SelectionController::SelectionController):
- (WebCore::SelectionController::setSelection):
- (WebCore::SelectionController::modify):
- (WebCore::SelectionController::clear):
- * editing/SelectionController.h:
- (WebCore::SelectionController::setSelection):
- (WebCore::SelectionController::granularity):
- * editing/VisibleSelection.cpp:
- (WebCore::VisibleSelection::VisibleSelection):
- (WebCore::VisibleSelection::expandUsingGranularity):
- (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
- (WebCore::VisibleSelection::validate):
- * editing/VisibleSelection.h:
- (WebCore::operator==):
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::clear):
- * page/DOMSelection.cpp:
- (WebCore::DOMSelection::extend):
- * page/DragController.cpp:
- (WebCore::DragController::concludeEditDrag):
- * page/EventHandler.cpp:
- (WebCore::EventHandler::selectClosestWordFromMouseEvent):
- (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
- (WebCore::EventHandler::handleMousePressEventTripleClick):
- (WebCore::EventHandler::handleMousePressEventSingleClick):
- (WebCore::EventHandler::updateSelectionForMouseDrag):
- * page/Frame.cpp:
- (WebCore::Frame::Frame):
- (WebCore::Frame::selectionGranularity):
- * page/Frame.h:
- * rendering/RenderTextControl.cpp:
- (WebCore::RenderTextControl::setSelectionRange):
-
-2010-03-18 Dimitri Glazkov <dglazkov@chromium.org>
-
- Unreviewed, build fix.
-
- [V8] Turn npObjectTypeInfo into a function, make everyone happy.
-
- * bindings/v8/NPV8Object.cpp:
- (WebCore::npObjectTypeInfo): Added new function.
- (npCreateV8ScriptObject):
- * bindings/v8/NPV8Object.h: Turned npObjectTypeInfo into function.
- * bindings/v8/V8NPObject.cpp: Replaced references to function
-
-2010-03-18 David Hyatt <hyatt@apple.com>
-
- Reviewed by Simon Fraser.
-
- https://bugs.webkit.org/show_bug.cgi?id=36283
-
- The wrong constants were being used for the code that attempted to compact the background-repeat shorthand to
- a single value.
-
- Added fast/backgrounds/background-repeat-computed-style.html
-
- * css/CSSComputedStyleDeclaration.cpp:
- (WebCore::fillRepeatToCSSValue):
-
-2010-03-18 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dave Hyatt.
-
- https://bugs.webkit.org/show_bug.cgi?id=36273
- CSS3 :indeterminate and input type=radio test fails
-
- The :indeterminate pseudo-class should apply to both radio buttons and checkboxes.
-
- * html/HTMLInputElement.cpp:
- (WebCore::HTMLInputElement::setIndeterminate): Use allowsIndeterminate() to determine if the input
- supports the indeterminate state.
- (WebCore::HTMLInputElement::preDispatchEventHandler): Use allowsIndeterminate() to determine whether
- to handle the indeterminate state.
- (WebCore::HTMLInputElement::postDispatchEventHandler): Ditto.
- * html/HTMLInputElement.h:
- (WebCore::HTMLInputElement::allowsIndeterminate): New utility method, returns true for radio buttons
- and checkboxes.
-
-2010-03-18 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dave Hyatt.
-
- https://bugs.webkit.org/show_bug.cgi?id=36271
- CSS3 :enabled on an input type=hidden element fails
-
- The CSS3 selectors spec now makes it clear that hidden inputs should respect
- the :enabled and :disabled pseudo-classes.
-
- Test: fast/forms/hidden-input-enabled.html
-
- * css/CSSStyleSelector.cpp:
- (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Remove checks for hidden inputs.
-
-2010-03-18 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Simon Fraser.
-
- Intro text at Star Wars demo is clipped.
- <rdar://problem/7560979>
- https://bugs.webkit.org/show_bug.cgi?id=33909
-
- Test: compositing/repaint/layer-repaint.html
-
- We are flipping the coordinates for drawing, therefore
- we must flip them also when we invalidate the rectangles.
-
- * platform/graphics/win/GraphicsLayerCACF.cpp:
- (WebCore::WebLayer::setNeedsDisplay):
-
-2010-03-18 Nate Chapin <japhet@chromium.org>
+ * html/HTMLInputElement.idl:
+ * html/HTMLLabelElement.cpp:
+ (WebCore::HTMLLabelElement::parseMappedAttribute):
+ * html/HTMLLabelElement.h:
+ * html/HTMLMeterElement.idl:
+ * html/HTMLProgressElement.idl:
+ * html/HTMLSelectElement.idl:
+ * html/HTMLTextAreaElement.idl:
+ * html/LabelsNodeList.cpp: Added.
+ (WebCore::LabelsNodeList::LabelsNodeList):
+ (WebCore::LabelsNodeList::~LabelsNodeList):
+ (WebCore::LabelsNodeList::nodeMatches):
+ * html/LabelsNodeList.h: Added.
+ (WebCore::LabelsNodeList::create):
- Unreviewed, Chromium build fix.
+2010-05-26 Xan Lopez <xlopez@igalia.com>
- Missed a #include in V8Collection.h.
+ Reviewed by Jeremy Orlow.
- * bindings/v8/V8Collection.h:
+ Style fix in JSEventCustom.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=39727
-2010-03-18 David Hyatt <hyatt@apple.com>
+ Conditional includes should be all together after the
+ unconditional includes.
- Reviewed by Simon Fraser.
+ * bindings/js/JSEventCustom.cpp:
- Fix for https://bugs.webkit.org/show_bug.cgi?id=36284.
-
- Make sure the CSS parser properly rejects negative border widths.
+2010-05-24 Jeremy Orlow <jorlow@chromium.org>
- Added fast/borders/negative-border-width.html
+ Reviewed by Steve Block.
- * css/CSSParser.cpp:
- (WebCore::CSSParser::parseValue):
+ Add IDBDatabase's attributes
+ https://bugs.webkit.org/show_bug.cgi?id=39602
-2010-03-18 Nate Chapin <japhet@chromium.org>
+ Add the attributes (like name, description, etc) for
+ IDBDatabaseRequest. Plumb that back to the IDBDatabase
+ object which stores the data.
- Reviewed by Dimitri Glazkov.
+ CMake and Android build changes in another CL (that
+ fixes other stuff too).
- [V8] Remove V8Index.h and all references to V8ClassIndex.
-
- https://bugs.webkit.org/show_bug.cgi?id=33477
+ Updated the layout test, but there's some further testing
+ that needs to be added once the Chromium side of this lands.
+ * GNUmakefile.am
* WebCore.gypi:
- * bindings/scripts/CodeGeneratorV8.pm:
- * bindings/v8/NPV8Object.cpp:
- * bindings/v8/NPV8Object.h:
- * bindings/v8/V8Collection.h:
- * bindings/v8/V8DOMWindowShell.cpp:
- * bindings/v8/V8DOMWindowShell.h:
- * bindings/v8/V8DOMWrapper.cpp:
- * bindings/v8/V8DOMWrapper.h:
- * bindings/v8/V8GCController.cpp:
- * bindings/v8/V8Helpers.cpp:
- * bindings/v8/V8Index.h: Removed.
- * bindings/v8/V8IsolatedContext.h:
- * bindings/v8/V8NPObject.cpp:
- * bindings/v8/V8Proxy.cpp:
- * bindings/v8/V8Proxy.h:
- * bindings/v8/V8SVGPODTypeWrapper.h:
- * bindings/v8/WorkerContextExecutionProxy.cpp:
- * bindings/v8/WorkerContextExecutionProxy.h:
- * bindings/v8/WrapperTypeInfo.h: Move WrapperTypeInfo struct into its own file from V8Index.h.
- * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
- * bindings/v8/custom/V8DOMWindowCustom.cpp:
- * bindings/v8/custom/V8EventSourceConstructor.cpp:
- * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
- * bindings/v8/custom/V8HTMLAudioElementConstructor.h:
- * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
- * bindings/v8/custom/V8HTMLImageElementConstructor.h:
- * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
- * bindings/v8/custom/V8HTMLOptionElementConstructor.h:
- * bindings/v8/custom/V8HistoryCustom.cpp:
- * bindings/v8/custom/V8LocationCustom.cpp:
- * bindings/v8/custom/V8WebGLArrayCustom.h:
- * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
- * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
- * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
- * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
- * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
- * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
- * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
- * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
- * bindings/v8/custom/V8WebKitPointConstructor.cpp:
-
-2010-03-18 Yury Semikhatsky <yurys@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Preserve console history between debugging sessions.
-
- https://bugs.webkit.org/show_bug.cgi?id=36223
-
- * inspector/front-end/ConsoleView.js:
- (WebInspector.ConsoleView.prototype._settingsLoaded):
- (WebInspector.ConsoleView.prototype._enterKeyPressed.printResult):
- (WebInspector.ConsoleView.prototype._enterKeyPressed):
- * inspector/front-end/Settings.js:
- (WebInspector.Settings.prototype._load):
-
-2010-03-18 Kim Grönholm <kim.gronholm@nomovok.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] GraphicsLayer: Pausing and resuming of animations don't work as expected
- https://bugs.webkit.org/show_bug.cgi?id=36219
-
- addAnimation and pauseAnimation were handling animation state changes in
- the wrong way.
- Apparently WebCore calls addAnimation for resuming, so we have to make
- sure to resume an existing animation if that happens. Also, timeOffset
- is now used for synchronization of the Qt animation clock with the
- WebCore clock, as opposed to using it as a delay timer.
- Both those fixes were necessary to get the layout test to work.
-
- LayoutTests/animations/play-state.html now passed on Qt.
-
- * platform/graphics/qt/GraphicsLayerQt.cpp:
- (WebCore::AnimationQtBase::AnimationQtBase):
- (WebCore::TransformAnimationQt::updateState):
- (WebCore::GraphicsLayerQt::addAnimation):
- (WebCore::GraphicsLayerQt::pauseAnimation):
-
-2010-03-18 Adam Langley <agl@chromium.org>
-
- Reviewed by David Levin.
-
- [chromium] Fix inverted logic in per-strike renderer patch.
-
- I screwed up in r55089 and got one of the conditions backwards. Thanks
- to Roman Tsisyk for pointing it out.
-
- https://bugs.webkit.org/show_bug.cgi?id=35495
-
- Test: platform/chromium/fast/text/chromium-linux-fontconfig-renderstyle.html
-
- * platform/graphics/chromium/FontPlatformDataLinux.cpp:
- (WebCore::FontPlatformData::querySystemForRenderStyle):
-
-2010-03-18 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Show inherited styles for a selected DOM element
-
- https://bugs.webkit.org/show_bug.cgi?id=28039
-
- * English.lproj/localizedStrings.js:
- * inspector/InspectorDOMAgent.cpp:
- (WebCore::InspectorDOMAgent::getStyles):
- (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
- * inspector/front-end/DOMAgent.js:
- (WebInspector.CSSStyleDeclaration):
- * inspector/front-end/StylesSidebarPane.js:
- (WebInspector.StylesSidebarPane.prototype._update):
- (WebInspector.StylesSidebarPane.prototype._containsInherited):
- (WebInspector.StylePropertiesSection):
- (WebInspector.StylePropertiesSection.prototype.isPropertyInherited):
- (WebInspector.StylePropertiesSection.prototype.onpopulate):
-
-2010-03-15 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Gustavo Noronha.
- Patch by Antonio Gomes <tonikitoo@webkit.org>
-
- Spatial Navigation: Add isNull() and document() convenience methods to FocusCandidate.
- https://bugs.webkit.org/show_bug.cgi?id=36167
-
- It turns out that Spatial Navigation related code (in FocusController.cpp for
- instance) can be simplified and look better if FocusCandidate class offer some
- convenience method. This patch introduces a couple of them (isNull and a Document
- getter). It also adds another constructor that receives a Node as parameter.
-
- A followup refactoring patch will be making use of these helper methods.
-
- * page/SpatialNavigation.h:
- (WebCore::FocusCandidate::FocusCandidate): Added a "Node*" parameter
- to FocusCandidate's constructor.
- (WebCore::FocusCandidate::isNull): In the Spatial Navigation logic, a NULL
- FocusCandidate object is one that does not hold a valid reference to a "Node*".
- (WebCore::FocusCandidate::document): This method returns a pointer for the FocusCandidate
- node's document, if |node| is a valid pointer.
-
-2010-03-18 Noam Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Antti Koivisto.
-
- [Qt] [Performance] GraphicsLayerQt updates the scene too often
- https://bugs.webkit.org/show_bug.cgi?id=36158
-
- This fix makes sure that flushChanges is only called when necessary,
- by calling the notifySync function asynchronously, which makes sure flushChanges() is called
- after the WebCore compositor has made all its changes.
-
- This has shown a visual improvement on several test-cases.
-
- * Makefile:
- * platform/graphics/qt/GraphicsLayerQt.cpp:
- (WebCore::GraphicsLayerQtImpl::):
- (WebCore::GraphicsLayerQtImpl::notifySyncRequired):
- (WebCore::GraphicsLayerQtImpl::notifyChange):
- (WebCore::GraphicsLayerQtImpl::flushChanges):
- (WebCore::GraphicsLayerQt::setMaskLayer):
- (WebCore::GraphicsLayerQt::setPosition):
- (WebCore::GraphicsLayerQt::setAnchorPoint):
- (WebCore::GraphicsLayerQt::setSize):
- (WebCore::GraphicsLayerQt::setTransform):
- (WebCore::GraphicsLayerQt::setChildrenTransform):
- (WebCore::GraphicsLayerQt::setPreserves3D):
- (WebCore::GraphicsLayerQt::setMasksToBounds):
- (WebCore::GraphicsLayerQt::setDrawsContent):
- (WebCore::GraphicsLayerQt::setBackgroundColor):
- (WebCore::GraphicsLayerQt::clearBackgroundColor):
- (WebCore::GraphicsLayerQt::setContentsOpaque):
- (WebCore::GraphicsLayerQt::setBackfaceVisibility):
- (WebCore::GraphicsLayerQt::setOpacity):
- (WebCore::GraphicsLayerQt::setContentsRect):
-
-2010-03-18 Stephen White <senorblanco@chromium.org>
-
- Reviewed by Oliver Hunt.
-
- Parsing of rgb() colors in HTML canvas is still fairly slow.
- findNamedColor() was showing up as hot, so this patch attempts to
- avoid calling it by putting the rgb() check ahead of the named
- colors. It also removes a call to Color::Color() from
- CanvasStyle, which was doing a redundant check for the hex
- color and named colors, which CSSParser already does. Finally, it
- changes the ad-hoc parser to check for negative values, and clamps them
- at zero. This avoids the lex/yacc path for rgb() colors with
- negative color components.
-
- https://bugs.webkit.org/show_bug.cgi?id=36199
-
- Covered by fast/canvas/set-colors.html.
-
- * css/CSSParser.cpp:
- (WebCore::parseInt):
- (WebCore::CSSParser::parseColor):
- * html/canvas/CanvasStyle.cpp:
- (WebCore::CanvasStyle::applyFillColor):
-
-2010-03-18 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/36246> Node::removeAllEventListenersSlowCase is declared but not used
-
- Reviewed by Sam Weinig.
-
- * dom/Node.h:
- (WebCore::Node::removeAllEventListenersSlowCase): Removed
- declaration. Implementation was removed in r48701.
-
-2010-03-17 Stephan Aßmus <superstippi@gmx.de>
-
- Reviewed by Oliver Hunt.
-
- [Haiku] Implement ImageBuffer support
- https://bugs.webkit.org/show_bug.cgi?id=35288
-
- Covered by existing tests.
-
- The StillImage class implements WebCore::Image by wrapping a native
- BBitmap. It will be needed to implement WebCore::ImageBuffer. This
- solution is just like it's done in the Qt port.
-
- * platform/graphics/haiku/StillImageHaiku.cpp: Added.
- (WebCore::StillImage::StillImage):
- (WebCore::StillImage::destroyDecodedData):
- (WebCore::StillImage::decodedSize):
- (WebCore::StillImage::size):
- (WebCore::StillImage::nativeImageForCurrentFrame):
- (WebCore::StillImage::draw):
- * platform/graphics/haiku/StillImageHaiku.h: Added.
- (WebCore::StillImage::create):
-
-2010-03-17 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Rubber stamped by Gustavo Noronha Silva.
-
- [Gtk+] Avoid making a copy of the HTTPHeaderMap.
-
- ResourceRequest::httpHeaderFields() is returning a const
- reference but we are storing it as a simple value. This
- means that we run either the copy constructor or the assignment
- operator and make a copy of the RefPtrs.
-
- This extra copy can be avoided easily by storing
- the result as a const reference.
-
- * platform/network/soup/ResourceRequestSoup.cpp:
- (WebCore::ResourceRequest::toSoupMessage):
- * platform/network/soup/ResourceResponseSoup.cpp:
- (WebCore::ResourceResponseSoup::toSoupMessage):
-
-2010-03-17 Alexander Pavlov <apavlov@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: When switching resources in the Resources panel, the Content tab is always selected
- https://bugs.webkit.org/show_bug.cgi?id=36222
-
- * inspector/front-end/ResourcesPanel.js:
- (WebInspector.ResourcesPanel.prototype.showResource):
-
-2010-03-17 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin Adler.
-
- databaseIdentifiers are not filtered for slashes
- <rdar://problem/7708789> and https://bugs.webkit.org/show_bug.cgi?id=36243
-
- In addition to filtering for '/' and '\', to remove the directory vulnerability
- on all platforms, it seems worth it to also escape other characters that are
- obviously dangerous or illegal to have in a filename (mostly inspired by the
- Windows illegal-character list).
-
- No new tests - It's unclear how a test could possibly work into our testing
- infrastructure.
-
- * page/SecurityOrigin.cpp:
- (WebCore::): Added a 128-bool table "needsEscaping" that has a true/false answer
- for lower-ASCII.
- (WebCore::SecurityOrigin::SecurityOrigin):
- (WebCore::SecurityOrigin::createFromDatabaseIdentifier): "Unescape" the host
- component using the KURL utility.
- (WebCore::shouldEscapeUChar): If the char is lower-ASCII, look it up in the
- needsEscaping table. Otherwise, let it pass.
- (WebCore::encodedHost): Modeled after KURL's host escaping method, but targeted
- for the escaping considerations for the host component. We don't use the KURL
- version because this one is "different" enough because it operates on UTF16 and
- has its own "is bad character?" decider.
- (WebCore::SecurityOrigin::databaseIdentifier): Create the escaped host if needed,
- and use it instead of the unescaped host.
- * page/SecurityOrigin.h:
-
-2010-03-17 Dmitry Titov <dimich@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [v8] Avoid reentry into v8 after TerminateExecution() on a worker thread.
- https://bugs.webkit.org/show_bug.cgi?id=36239
-
- Test: fast/workers/termination-with-port-messages.html
-
- * bindings/v8/V8Proxy.h:
- (WebCore::throwError): Avoid throwing if v8 execution is terminated anyways.
- * bindings/v8/WorkerScriptController.h:
- (WebCore::WorkerScriptController::proxy): Return V8 proxy as 0 if execution is terminating. Callers to check for 0 before invoking v8.
- * bindings/v8/custom/V8WorkerContextCustom.cpp:
- (WebCore::SetTimeoutOrInterval): Bail out if v8 proxy is 0.
- (WebCore::toV8): Ditto
+ * WebCore.pro
+ * WebCore.vcproj/WebCore.vcproj
+ * WebCore.xcodeproj/project.pbxproj
+ * dom/DOMStringList.h:
+ (WebCore::DOMStringList::strings):
+ * storage/IDBDatabase.cpp: Removed.
+ * storage/IDBDatabase.h:
+ * storage/IDBDatabaseImpl.cpp: Added.
+ (WebCore::IDBDatabaseImpl::IDBDatabaseImpl):
+ (WebCore::IDBDatabaseImpl::~IDBDatabaseImpl):
+ (WebCore::IDBDatabaseImpl::objectStores):
+ * storage/IDBDatabaseImpl.h: Added.
+ (WebCore::IDBDatabaseImpl::create):
+ (WebCore::IDBDatabaseImpl::name):
+ (WebCore::IDBDatabaseImpl::description):
+ (WebCore::IDBDatabaseImpl::version):
+ * storage/IDBDatabaseRequest.h:
+ (WebCore::IDBDatabaseRequest::name):
+ (WebCore::IDBDatabaseRequest::description):
+ (WebCore::IDBDatabaseRequest::version):
+ (WebCore::IDBDatabaseRequest::objectStores):
+ * storage/IDBDatabaseRequest.idl:
+ * storage/IDBSuccessEvent.cpp:
+ (WebCore::IDBSuccessEvent::IDBSuccessEvent):
+ * storage/IndexedDatabaseImpl.cpp:
+ (WebCore::IndexedDatabaseImpl::open):
+ * storage/IndexedDatabaseImpl.h:
-2010-03-17 José Millán Soto <jmillan@igalia.com>
+2010-05-26 Xan Lopez <xlopez@igalia.com>
- Reviewed by Adam Barth.
+ Reviewed by NOBODY Gustavo Noronha.
- Change the way of prefetching DNS to allow prefetching function to use full URL
- https://bugs.webkit.org/show_bug.cgi?id=35589
+ [GTK] Add support for DOM events in the GObject DOM bindings
+ https://bugs.webkit.org/show_bug.cgi?id=38844
- Creates a new function, ResourceHandle::prepareForURL, whose default implementation
- calls prefetchDNS with the host of the given URL as the parameter.
- Soup implementation of ResourceHandle::prepareForURL executes soup_session_prepare_for_uri.
- Soup implementation of prefetchDNS is removed.
- Changed various prefetchDNS calls to ResourceHandle::prepareForURL calls.
+ Add actual GObject event objects to the DOM event signals.
* GNUmakefile.am:
- * html/HTMLAnchorElement.cpp:
- (WebCore::HTMLAnchorElement::parseMappedAttribute):
- * html/HTMLLinkElement.cpp:
- (WebCore::HTMLLinkElement::process):
- * page/Chrome.cpp:
- (WebCore::Chrome::mouseDidMoveOverElement):
- * platform/network/DNS.h:
- * platform/network/ResourceHandle.cpp:
- (WebCore::ResourceHandle::prepareForURL):
- * platform/network/ResourceHandle.h:
- * platform/network/chromium/DNSChromium.cpp:
- (WebCore::ResourceHandle::prepareForURL):
- * platform/network/soup/DNSSoup.cpp: Removed.
- * platform/network/soup/ResourceHandleSoup.cpp:
- (WebCore::ResourceHandle::prepareForURL):
- * wml/WMLAElement.cpp:
- (WebCore::WMLAElement::parseMappedAttribute):
-
-2010-03-17 Kenneth Russell <kbr@google.com>
-
- Reviewed by Darin Fisher.
-
- Revert WebGL context attributes changes 33416 / r56074 and 36200 / r56093
- https://bugs.webkit.org/show_bug.cgi?id=36233
-
- The patch for bug 33416, which added multisampling support to the
- WebGL back buffer, uncovered some OpenGL driver bugs on the build
- bots which need further investigation to determine the appropriate
- workaround. Reverting this change, the minor build fix in 36189,
- and the skipping of the affected tests in bug 36200.
-
- Built and tested WebKit and Chromium and ran all WebGL layout
- tests in both.
-
- * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
- (WebCore::V8HTMLCanvasElement::getContextCallback):
- * platform/graphics/GraphicsContext3D.h:
- * platform/graphics/mac/Canvas3DLayer.h:
- * platform/graphics/mac/Canvas3DLayer.mm:
- (-[Canvas3DLayer drawInCGLContext:pixelFormat:forLayerTime:displayTime:]):
- * platform/graphics/mac/GraphicsContext3DMac.cpp:
- (WebCore::GraphicsContext3D::GraphicsContext3D):
- (WebCore::GraphicsContext3D::~GraphicsContext3D):
- (WebCore::GraphicsContext3D::reshape):
- (WebCore::GraphicsContext3D::bindFramebuffer):
- (WebCore::GraphicsContext3D::readPixels):
- * platform/graphics/mac/GraphicsLayerCA.mm:
- (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D):
-
-2010-03-17 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Darin Adler.
-
- Optimize painting for HTMLProgressElement
- https://bugs.webkit.org/show_bug.cgi?id=36113
- Cache the progress bar's position, so it is not required to recalculate
- it for each repaint.
- Call repaintRectangle() when the position changes.
-
- No new tests, as no new functionality introduced.
-
- * html/HTMLProgressElement.cpp:
- (WebCore::HTMLProgressElement::parseMappedAttribute):
- * platform/qt/RenderThemeQt.cpp:
- (WebCore::RenderThemeQt::getNumberOfPixelsForProgressPosition):
- (WebCore::RenderThemeQt::paintProgressBar):
- * platform/qt/RenderThemeQt.h:
- * rendering/RenderProgress.cpp:
- (WebCore::RenderProgress::RenderProgress):
- (WebCore::RenderProgress::updateFromElement):
- * rendering/RenderProgress.h:
- (WebCore::RenderProgress::position):
- * rendering/RenderTheme.cpp:
- (WebCore::RenderTheme::getNumberOfPixelsForProgressPosition):
- * rendering/RenderTheme.h:
-
-2010-03-17 Antonio Gomes <tonikitoo@webkit.org>
-
- Mac Buildfix: Using ASSERT_UNUSED instead of ASSERT.
-
- Reviewed by Simon fraser.
- Patch by Antonio Gomes <tonikitoo@webkit.org>
-
- * dom/SelectElement.cpp:
- (WebCore::SelectElement::listBoxDefaultEventHandler):
-
-2010-03-17 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Darin Adler.
-
- Missing support for showing compositing layers borders and repaint count on Windows.
- <rdar://problem/7760736>
- <https://bugs.webkit.org/show_bug.cgi?id=36197>
-
- * platform/graphics/win/GraphicsLayerCACF.cpp:
- (WebCore::WebLayer::drawInContext): Modified to use the correct font on Windows.
-
-2010-03-16 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Antti Koivisto.
-
- [Qt] Multiselect Popup - SelectElement refactoring.
- https://bugs.webkit.org/show_bug.cgi?id=36124
-
- As it is today it is not possible to the menulists popups to tell SelectElement
- that more then one option is selected. If you select one the other ones
- selected state will turn off.
-
- For <select multiple> I needed to extend the API used by menulist popups. This
- is the first step. Just refactoring SelectElement without any behavior change.
- Separating code that will be reused in future patches.
-
- * dom/SelectElement.cpp:
- (WebCore::SelectElement::updateSelectedState):
- (WebCore::SelectElement::listBoxDefaultEventHandler):
- * dom/SelectElement.h:
-
-2010-03-17 Nate Chapin <japhet@chromium.org>
-
- Unreviewed, Chromium build fix.
+ * bindings/gobject/GObjectEventListener.cpp:
+ (WebCore::GObjectEventListener::handleEvent):
+ * bindings/gobject/WebKitDOMBinding.cpp:
+ (WebKit::wrapEventTarget):
+ (WebKit::kit):
+ * bindings/gobject/WebKitDOMBinding.h:
+ * bindings/gobject/WebKitDOMEventTarget.cpp: Added.
+ (webkit_dom_event_target_default_init):
+ (webkit_dom_event_target_dispatch_event):
+ * bindings/gobject/WebKitDOMEventTarget.h: Added.
+ * bindings/scripts/CodeGeneratorGObject.pm:
- Delete the correct file this time.
+2010-05-24 Jeremy Orlow <jorlow@chromium.org>
- * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: Copied from WebCore/bindings/v8/custom/V8XMLHttpRequestCustom.cpp.
- * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: Removed.
+ Reviewed by Steve Block.
-2010-03-17 Nate Chapin <japhet@chromium.org>
+ [Android] Add IndexedDB to the build
+ https://bugs.webkit.org/show_bug.cgi?id=39593
- Reviewed by Dimitri Glazkov.
+ Add the current list of build files to Android's make files. From now on,
+ I'll try to be sure to update these along with the rest.
+ Also, fix a nit in the gypi file.
- [V8] Remove custom bindings callbacks that aren't in use.
- (The relevant .idl doesn't mark them as V8Custom or Custom).
-
- https://bugs.webkit.org/show_bug.cgi?id=33066
+ No tests..just changing build files.
- * Android.v8bindings.mk:
+ * Android.derived.jscbindings.mk:
+ * Android.derived.v8bindings.mk:
+ * Android.mk:
* WebCore.gypi:
- * bindings/scripts/CodeGeneratorV8.pm:
- * bindings/v8/custom/V8DOMWindowCustom.cpp:
- * bindings/v8/custom/V8WebGLArrayCustom.h:
- * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
- * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
- * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
- * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
- * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
- * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
- * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
- * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
- * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: Removed.
-
-2010-03-17 Steve Block <steveblock@google.com>
-
- Reviewed by Dimitri Glazkov.
-
- Adds ENABLE(WORKERS) guards to V8 bindings
- https://bugs.webkit.org/show_bug.cgi?id=36221
-
- Build fix only, no new tests.
-
- * bindings/v8/V8DOMWrapper.cpp:
- (WebCore::V8DOMWrapper::instantiateV8Object):
- * bindings/v8/V8Proxy.cpp:
- (WebCore::toV8Context):
-
-2010-03-17 Yury Semikhatsky <yurys@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Remove unused reference to InspectorController from InspectorFrontend.
-
- https://bugs.webkit.org/show_bug.cgi?id=36218
-
- * inspector/InspectorFrontend.h:
-
-2010-03-17 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- WebInspector: Timeline improvements - next iteration.
-
- The top level records should be collapsed.
- Virtually linked events should be nested in Timeline like Send Request and
- corresponding Received Responce, Timer Install and Timer Fire etc.
- It should be possible to see Main Resource request.
-
- https://bugs.webkit.org/show_bug.cgi?id=36122
-
- * inspector/InspectorController.cpp:
- (WebCore::InspectorController::resetScriptObjects):
- (WebCore::InspectorController::didReceiveResponse):
- * inspector/InspectorTimelineAgent.cpp:
- (WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
- (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
- * inspector/InspectorTimelineAgent.h:
- * inspector/front-end/TimelinePanel.js:
- (WebInspector.TimelinePanel):
- (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
- (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
- (WebInspector.TimelinePanel.prototype._findParentRecord):
- (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
- (WebInspector.TimelinePanel.prototype.resize):
- (WebInspector.TimelinePanel.prototype._createTopLevelRecord):
- (WebInspector.TimelinePanel.prototype.reset):
- (WebInspector.TimelinePanel.prototype._clean):
- (WebInspector.TimelinePanel.prototype._refresh):
- (WebInspector.TimelinePanel.prototype._refreshRecords):
- (WebInspector.TimelinePanel.prototype._addToRecordsWindow):
- (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages):
- (WebInspector.TimelineCalculator.prototype.updateBoundaries):
- (WebInspector.TimelineRecordGraphRow):
- (WebInspector.TimelineRecordGraphRow.prototype.update):
- (WebInspector.TimelinePanel.FormattedRecord):
- (WebInspector.TimelinePanel.FormattedRecord.prototype.get children):
- (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
- * inspector/front-end/inspector.css:
- * loader/ResourceLoader.cpp:
- (WebCore::ResourceLoader::didReceiveResponse):
-
-2010-03-17 Alexander Pavlov <apavlov@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: Reimplement style-related audits using native API
- https://bugs.webkit.org/show_bug.cgi?id=36172
-
- * inspector/InspectorBackend.cpp:
- (WebCore::InspectorBackend::getAllStyles):
- * inspector/InspectorBackend.h:
- * inspector/InspectorBackend.idl:
- * inspector/InspectorDOMAgent.cpp:
- (WebCore::InspectorDOMAgent::getAllStyles):
- (WebCore::InspectorDOMAgent::getMatchedCSSRules):
- (WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
- (WebCore::InspectorDOMAgent::buildObjectForRule):
- * inspector/InspectorDOMAgent.h:
- * inspector/InspectorFrontend.cpp:
- (WebCore::InspectorFrontend::didGetAllStyles):
- * inspector/InspectorFrontend.h:
- * inspector/front-end/AuditRules.js:
- (WebInspector.AuditRules.evaluateInTargetWindow):
- (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
- (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.routine):
- (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
- (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.routine):
- (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
- (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
- (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
- (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
- * inspector/front-end/DOMAgent.js:
- * inspector/front-end/InjectedScript.js:
- (injectedScriptConstructor):
-
-2010-03-17 Steve Block <steveblock@google.com>
-
- Reviewed by Jeremy Orlow.
- Replace instances of bzero in WebCore/bridge common code with memset
- https://bugs.webkit.org/show_bug.cgi?id=36214
-
- Syntax change only, no new tests.
-
- * bridge/jni/JNIUtility.cpp:
- (JSC::Bindings::getJNIField):
- * bridge/jni/jsc/JNIBridgeJSC.cpp:
- (JavaField::dispatchValueFromInstance):
- * bridge/jni/jsc/JNIUtilityPrivate.cpp:
- (JSC::Bindings::convertValueToJValue):
- * bridge/jni/v8/JNIUtilityPrivate.cpp:
- (JSC::Bindings::convertNPVariantToJValue):
- * bridge/jni/v8/JavaNPObjectV8.cpp:
- (JSC::Bindings::AllocJavaNPObject):
-
-2010-03-17 Yury Semikhatsky <yurys@chromium.org>
+2010-05-26 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Pavel Feldman.
- Mark inspector resources as changed so that they are reloaded on the next frontend connection.
-
- Split resetScriptObjects into code specific for page navigation and insepctor frontend disconnection.
-
- https://bugs.webkit.org/show_bug.cgi?id=36183
-
- * WebCore.xcodeproj/project.pbxproj: Added InspectorWorkerResource.h to the project file.
- * inspector/InspectorController.cpp:
- (WebCore::InspectorController::disconnectFrontend):
- (WebCore::InspectorController::unbindAllResources):
- (WebCore::InspectorController::didCommitLoad):
- * inspector/InspectorController.h:
- * inspector/InspectorResource.cpp:
- (WebCore::InspectorResource::releaseScriptObject):
-
-2010-03-17 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Capture main resource load events in timeline panel.
-
- https://bugs.webkit.org/show_bug.cgi?id=36188
-
- * inspector/front-end/TimelinePanel.js:
- (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
- (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
- (WebInspector.TimelinePanel.prototype.timelineWasStopped):
- (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
- (WebInspector.TimelinePanel.prototype._clearPanel):
- (WebInspector.TimelinePanel.FormattedRecord):
-
-2010-03-17 Zoltan Horvath <zoltan@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Allow custom memory allocation control for AtomicString class
- https://bugs.webkit.org/show_bug.cgi?id=35907
-
- Inherits the following class from FastAllocBase because it is
- instantiated by 'new':
-
- class name - instantiated at: WebCore/'location'
- AtomicString - WebCore/html/HTMLTableElement.cpp:525
-
- * platform/text/AtomicString.h:
+ Expose CSS rule body start/end offsets in the parent stylesheet
+ https://bugs.webkit.org/show_bug.cgi?id=38906
-2010-03-16 John Abd-El-Malek <jam@chromium.org>
+ CSSParser::parseSheet() accepts an optional external Vector where the start/end offsets
+ of the CSSStyleRule bodies, relative to the beginning of the stylesheet, will be stored.
+ This Vector is only used when the Web Inspector needs the body ranges, thus there is no
+ memory overhead until the user starts editing styles via the Web Inspector.
+ Additionally, fixed an issue with a single inspectorStyleSheet for all frames in the page.
- Reviewed by Darin Fisher.
-
- Give keyboard focus to PluginDocuments by default
- https://bugs.webkit.org/show_bug.cgi?id=36147
-
- Test: http/tests/plugins/plugin-document-has-focus.html
-
- * loader/PluginDocument.cpp:
- (WebCore::PluginDocument::pluginNode):
- * loader/PluginDocument.h:
- * page/EventHandler.cpp:
- (WebCore::eventTargetNodeForDocument):
-
-2010-03-16 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Darin Adler.
-
- REGRESSION (r53857): Crash when tabbing to <map>
- https://bugs.webkit.org/show_bug.cgi?id=36017
-
- Test: fast/events/imagemap-norender-crash.html
-
- * html/HTMLMapElement.cpp:
- (WebCore::HTMLMapElement::imageElement):
-
-2010-03-16 Brent Fulgham <bfulgham@webkit.org>
-
- Build fix. No Review.
-
- Correct missing includes in cURL network backend introduced
- by recent changes in WebKit.
-
- * platform/network/curl/ResourceHandleCurl.cpp: Add missing
- includes for SharedBuffer and PassRefPtr.
- (WebCore::ResourceHandle::loadResourceSynchronously): Correct
- constructor signature for ResourceHandle to match @r55688.
- * platform/network/curl/ResourceHandleManager.cpp: Add missing
- include for RetainPtr.
-
-2010-03-16 Zhenyao Mo <zmo@google.com>
+ Test: inspector/styles-source-offsets.html
- Reviewed by Darin Fisher.
-
- Hook up WebGLContextAttributes to OpenGL context creation code
- https://bugs.webkit.org/show_bug.cgi?id=33416
-
- Test: fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias.html
-
- * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: Fix an index bug.
- * platform/graphics/GraphicsContext3D.h: Add members/functions for multisampling/stencil buffer purpose.
- * platform/graphics/mac/Canvas3DLayer.h: Add GraphicsContext3D as a member of Canvas3DLayer.
- * platform/graphics/mac/Canvas3DLayer.mm: Add multisampling support.
- * platform/graphics/mac/GraphicsContext3DMac.cpp: Hook up WebGLContextAttributes to OpenGL context creation code for Mac.
- * platform/graphics/mac/GraphicsLayerCA.mm: Adjust to modified Canvas3DLayer init call.
-
-2010-03-16 Joanmarie Diggs <joanmarie.diggs@gmail.com>
-
- Reviewed by Xan Lopez.
-
- https://bugs.webkit.org/show_bug.cgi?id=35504
- [Gtk] Evaluate and fix AtkTable for layout tables
-
- Causes "layout tables" to be exposed as AccessibilityTables for Gtk.
-
- * accessibility/AccessibilityTable.cpp:
- (AccessibilityTable::isTableExposableThroughAccessibility):
-
-2010-03-16 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Unreviewed. Build fix for distcheck.
-
- * GNUmakefile.am:
-
-2010-03-15 Darin Fisher <darin@chromium.org>
-
- Reviewed by Adam Barth.
-
- https://bugs.webkit.org/show_bug.cgi?id=36152
- [chromium] Add support for history.pushState and history.replaceState
-
- This is covered by the existing tests in fast/loader/stateobjects
-
- * bindings/v8/SerializedScriptValue.cpp:
- (WebCore::ZigZag::Deserializer::deserialize):
- (WebCore::SerializedScriptValue::deserialize):
- * bindings/v8/SerializedScriptValue.h:
- Switch to returning v8::Null instead of the empty value to match JSC
- and the spec.
-
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::loadInSameDocument): Call
- dispatchDidNavigateWithinPage just before dispatching events to the
- page. This ordering is important since the event handlers could
- destroy the page or start another navigation.
-
- * loader/FrameLoaderClient.h: Add dispatchDidNavigateWithinPage to
- notify the client whenever a navigation occurs without changing any of
- the documents in the page.
-
-2010-03-16 Adam Roben <aroben@apple.com>
-
- Fix linker warnings when building WebCore on Windows
-
- Rubber-stamped by Steve Falkenburg.
-
- * WebCore.vcproj/WebCore.vcproj: Exclude JSDOMFormData.cpp from the
- build, since it's already included in DerivedSources.cpp. Also let VS
- sort this file as it saw fit.
-
-2010-03-15 Antti Koivisto <koivisto@iki.fi>
-
- Reviewed by Simon Hausmann.
-
- https://bugs.webkit.org/show_bug.cgi?id=36121
- [Qt] Make WebKit scrollbars work with tiling
-
- Translate coordinates correctly.
-
- * page/Frame.cpp:
- (WebCore::Frame::tiledBackingStorePaintEnd):
-
-2010-03-16 Jakub Wieczorek <jwieczorek@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [Qt] MediaPlayerPrivate: Initialize m_mediaPlayerControl to 0 to avoid crashes
- when no media services can be found.
-
- https://bugs.webkit.org/show_bug.cgi?id=36142
-
- * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
- (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
-
-2010-03-16 Adam Barth <abarth@webkit.org>
-
- Unreviewed.
-
- noscript tag should render when @sandbox disables JavaScript
- https://bugs.webkit.org/show_bug.cgi?id=36092
-
- Add missing "!" in plugin code. Should fix plugins/embed-inside-object
- on Gtk and Qt.
-
- * plugins/PluginView.cpp:
- (WebCore::PluginView::load):
-
-2010-03-16 Nate Chapin <japhet@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [V8] Delete DerivedSourcesAllInOne.cpp.
-
- https://bugs.webkit.org/show_bug.cgi?id=33048
-
- * Android.v8bindings.mk:
- * bindings/v8/DerivedSourcesAllInOne.cpp: Removed.
-
-2010-03-16 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Revert r56006 as it caused functional issues. We will work on a
- testcase, and rework the fix, and land when we have this a bit
- more testable.
-
- * platform/gtk/RenderThemeGtk.cpp:
- (WebCore::RenderThemeGtk::paintMediaPlayButton):
-
-2010-03-16 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Errors when inspecting styles of non-renderable elements in XHTML.
-
- https://bugs.webkit.org/show_bug.cgi?id=35025
-
- * inspector/InspectorDOMAgent.cpp:
- (WebCore::InspectorDOMAgent::getStyles):
- * inspector/front-end/DOMAgent.js:
- (WebInspector.DOMNode.prototype._addAttribute):
- (WebInspector.DOMWindow.prototype.Object):
- * inspector/front-end/MetricsSidebarPane.js:
- * inspector/front-end/StylesSidebarPane.js:
- (WebInspector.StylesSidebarPane.prototype.update.callback):
- (WebInspector.StylesSidebarPane.prototype.update):
- (WebInspector.StylesSidebarPane.prototype._update):
-
-2010-03-12 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Simon Fraser.
- Patch by Antonio Gomes <tonikitoo@webkit.org>
-
- Spatial Navigation: Add a scrollIntoView call when focusing an element.
- https://bugs.webkit.org/show_bug.cgi?id=36020
-
- When focusing an element in Spatial Navigation logic, it is desired to make
- this element visible in the current viewport. For that to happen, there
- could be a call to Element's scrollIntoView method at focusing time. However
- for visual aspects, it is preferable to scroll to an inflated rect of |element|
- in order to consider the focus outline width.
- As Element's scrollIntoView method does not provide this flexibility, patch adds
- a custom scrollIntoView method to SpatialNavigation.h .
-
- * page/FocusController.cpp:
- (WebCore::FocusController::advanceFocusDirectionally):
- * page/SpatialNavigation.cpp:
- (WebCore::scrollIntoView):
- * page/SpatialNavigation.h:
-
-2010-03-10 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Eric Seidel.
-
- [GTK] Position queries are lagging
- https://bugs.webkit.org/show_bug.cgi?id=34372
-
- Normalize timeout priorities through the GStreamer media player as
- a whole. This should help avoid that any of them is starved.
-
- * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
- (WebCore::MediaPlayerPrivate::volumeChanged):
- (WebCore::MediaPlayerPrivate::processBufferingStats):
- (WebCore::MediaPlayerPrivate::muteChanged):
- * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
- (webkit_video_sink_render):
- * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
- (webKitWebSrcNeedDataCb):
- (webKitWebSrcEnoughDataCb):
- (webKitWebSrcSeekDataCb):
-
-2010-03-10 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Eric Seidel.
-
- [GTK] Position queries are lagging
- https://bugs.webkit.org/show_bug.cgi?id=34372
-
- Use default priority also for parsing data: URIs.
-
- * platform/network/soup/ResourceHandleSoup.cpp:
- (WebCore::startData):
-
-2010-03-10 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Eric Seidel.
-
- [GTK] Position queries are lagging
- https://bugs.webkit.org/show_bug.cgi?id=34372
-
- Normalize SharedTimers priorities to always be
- G_PRIORITY_DEFAULT. As it is currently, timers that should happen
- immediately (0 miliseconds delay) end up delayed by a lot of time
- due to glib starving lower priority sources.
-
- * platform/gtk/SharedTimerGtk.cpp:
- (WebCore::setSharedTimerFireTime):
-
-2010-03-16 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Add support for Fast Mobile Scrolling in the build system.
-
- * GNUmakefile.am:
-
-2010-03-11 Yury Semikhatsky <yurys@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Introduce InspectorFrontendClient that provides InspectorFrontend with an interface to the embedder. InspectorClient now serves as a delegate for InspectorController and does not contain methods for managing inspector frontend window. That allows to create remote InspectorFrontendHost.
-
- Introduce InspectorFrontendClient that would provide InspectorFrontend with an interface to the embedder
- https://bugs.webkit.org/show_bug.cgi?id=35036
-
- * GNUmakefile.am:
- * WebCore.Inspector.exp:
- * WebCore.base.exp:
- * WebCore.gypi:
- * WebCore.order:
- * WebCore.pro:
- * WebCore.xcodeproj/project.pbxproj:
- * inspector/ConsoleMessage.cpp:
- (WebCore::ConsoleMessage::addToFrontend):
- * inspector/ConsoleMessage.h:
- * inspector/InspectorClient.h:
+ * css/CSSGrammar.y:
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::CSSParser):
+ (WebCore::CSSParser::setupParser):
+ (WebCore::CSSParser::parseSheet):
+ (WebCore::CSSParser::createStyleRule):
+ (WebCore::CSSParser::updateLastSelectorLineAndPosition):
+ (WebCore::CSSParser::markRuleBodyStart):
+ (WebCore::CSSParser::markRuleBodyEnd):
+ * css/CSSParser.h:
+ (WebCore::CSSParser::resetRuleBodyMarks):
+ * inspector/InspectorCSSStore.cpp:
+ (WebCore::InspectorCSSStore::InspectorCSSStore):
+ (WebCore::InspectorCSSStore::reset):
+ (WebCore::InspectorCSSStore::removeDocument):
+ (WebCore::InspectorCSSStore::inspectorStyleSheet):
+ (WebCore::InspectorCSSStore::getStartEndOffsets):
+ (WebCore::InspectorCSSStore::getIndexInStyleRules):
+ (WebCore::InspectorCSSStore::disabledStyleForId):
+ (WebCore::InspectorCSSStore::styleForId):
+ (WebCore::InspectorCSSStore::ruleForId):
+ (WebCore::InspectorCSSStore::bindStyle):
+ (WebCore::InspectorCSSStore::bindStyleSheet):
+ (WebCore::InspectorCSSStore::bindRule):
+ * inspector/InspectorCSSStore.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
- (WebCore::InspectorController::~InspectorController):
- (WebCore::InspectorController::inspectedPageDestroyed):
- (WebCore::InspectorController::windowVisible):
- (WebCore::InspectorController::frontendReady):
- (WebCore::InspectorController::willCloseFrontend):
- (WebCore::InspectorController::addConsoleMessage):
- (WebCore::InspectorController::setInspectorFrontendClient):
- (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
- (WebCore::InspectorController::setFrontend):
- (WebCore::InspectorController::show):
- (WebCore::InspectorController::close):
- (WebCore::InspectorController::releaseDOMAgent):
- (WebCore::InspectorController::populateScriptObjects):
- (WebCore::InspectorController::didCommitLoad):
- (WebCore::InspectorController::getProfile):
- (WebCore::InspectorController::enableDebugger):
+ (WebCore::InspectorController::resourceForURL):
* inspector/InspectorController.h:
- (WebCore::InspectorController::hasInspectorFrontendClient):
- * inspector/InspectorFrontend.cpp:
- (WebCore::InspectorFrontend::InspectorFrontend):
- (WebCore::InspectorFrontend::~InspectorFrontend):
- (WebCore::InspectorFrontend::addConsoleMessage):
- (WebCore::InspectorFrontend::bringToFront):
- (WebCore::InspectorFrontend::inspectedURLChanged):
- * inspector/InspectorFrontend.h:
- * inspector/InspectorFrontendClient.h: Added.
- (WebCore::InspectorFrontendClient::~InspectorFrontendClient):
- * inspector/InspectorFrontendClientLocal.cpp: Added.
- (WebCore::FrontendMenuProvider::create):
- (WebCore::FrontendMenuProvider::disconnect):
- (WebCore::FrontendMenuProvider::FrontendMenuProvider):
- (WebCore::FrontendMenuProvider::~FrontendMenuProvider):
- (WebCore::FrontendMenuProvider::populateContextMenu):
- (WebCore::FrontendMenuProvider::contextMenuItemSelected):
- (WebCore::FrontendMenuProvider::contextMenuCleared):
- (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
- (WebCore::InspectorFrontendClientLocal::~InspectorFrontendClientLocal):
- (WebCore::InspectorFrontendClientLocal::windowObjectCleared):
- (WebCore::InspectorFrontendClientLocal::frontendLoaded):
- (WebCore::InspectorFrontendClientLocal::canAttachWindow):
- (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
- (WebCore::InspectorFrontendClientLocal::moveWindowBy):
- (WebCore::InspectorFrontendClientLocal::showContextMenu):
- (WebCore::InspectorFrontendClientLocal::setAttachedWindow):
- (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
- (WebCore::InspectorFrontendClientLocal::constrainedAttachedWindowHeight):
- * inspector/InspectorFrontendClientLocal.h: Added.
- * inspector/InspectorFrontendHost.cpp:
- (WebCore::InspectorFrontendHost::InspectorFrontendHost):
- (WebCore::InspectorFrontendHost::~InspectorFrontendHost):
- (WebCore::InspectorFrontendHost::loaded):
- (WebCore::InspectorFrontendHost::attach):
- (WebCore::InspectorFrontendHost::detach):
- (WebCore::InspectorFrontendHost::closeWindow):
- (WebCore::InspectorFrontendHost::bringToFront):
- (WebCore::InspectorFrontendHost::inspectedURLChanged):
- (WebCore::InspectorFrontendHost::canAttachWindow):
- (WebCore::InspectorFrontendHost::setAttachedWindowHeight):
- (WebCore::InspectorFrontendHost::moveWindowBy):
- (WebCore::InspectorFrontendHost::showContextMenu):
- * inspector/InspectorFrontendHost.h:
- (WebCore::InspectorFrontendHost::create):
- * inspector/InspectorFrontendHost.idl:
- * inspector/front-end/InspectorFrontendHostStub.js:
- (.WebInspector.InspectorFrontendHostStub.prototype.bringToFront):
- (.WebInspector.InspectorFrontendHostStub.prototype.inspectedURLChanged):
- * inspector/front-end/inspector.js:
- (WebInspector.loaded):
- (WebInspector.close):
- (WebInspector.bringToFront):
- (WebInspector.inspectedURLChanged):
- * loader/EmptyClients.h:
- (WebCore::EmptyInspectorClient::openInspectorFrontend):
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
- * page/Page.cpp:
- (WebCore::Page::Page):
- (WebCore::Page::~Page):
- * page/Page.h:
- * platform/ContextMenu.cpp:
- (WebCore::ContextMenu::populate):
- (WebCore::ContextMenu::addInspectElementItem):
-
-2010-03-16 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: migrate to native styles inspector in
- order to inspect styles from foreighn domains.
-
- https://bugs.webkit.org/show_bug.cgi?id=36117
-
- * inspector/InspectorBackend.cpp:
- (WebCore::InspectorBackend::getStyles):
- (WebCore::InspectorBackend::getInlineStyle):
- (WebCore::InspectorBackend::getComputedStyle):
- (WebCore::InspectorBackend::applyStyleText):
- (WebCore::InspectorBackend::setStyleText):
- (WebCore::InspectorBackend::setStyleProperty):
- (WebCore::InspectorBackend::toggleStyleEnabled):
- (WebCore::InspectorBackend::setRuleSelector):
- (WebCore::InspectorBackend::addRule):
- * inspector/InspectorBackend.h:
- * inspector/InspectorBackend.idl:
+ (WebCore::InspectorController::inspectorFrontend):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::InspectorDOMAgent):
+ (WebCore::InspectorDOMAgent::unbind):
(WebCore::InspectorDOMAgent::getStyles):
- (WebCore::InspectorDOMAgent::getInlineStyle):
- (WebCore::InspectorDOMAgent::getComputedStyle):
- (WebCore::InspectorDOMAgent::getMatchedCSSRules):
- (WebCore::InspectorDOMAgent::getAttributeStyles):
+ (WebCore::InspectorDOMAgent::getAllStyles):
+ (WebCore::InspectorDOMAgent::buildArrayForCSSRules):
+ (WebCore::InspectorDOMAgent::buildArrayForPseudoElements):
(WebCore::InspectorDOMAgent::applyStyleText):
(WebCore::InspectorDOMAgent::setStyleText):
(WebCore::InspectorDOMAgent::setStyleProperty):
(WebCore::InspectorDOMAgent::toggleStyleEnabled):
(WebCore::InspectorDOMAgent::setRuleSelector):
(WebCore::InspectorDOMAgent::addRule):
- (WebCore::InspectorDOMAgent::bindStyle):
- (WebCore::InspectorDOMAgent::bindRule):
(WebCore::InspectorDOMAgent::buildObjectForStyle):
- (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
+ (WebCore::InspectorDOMAgent::buildArrayForDisabledStyleProperties):
+ (WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
(WebCore::InspectorDOMAgent::buildObjectForRule):
- (WebCore::InspectorDOMAgent::uniqueStyleProperties):
- (WebCore::InspectorDOMAgent::longhandProperties):
- (WebCore::InspectorDOMAgent::shorthandPriority):
- (WebCore::InspectorDOMAgent::ruleAffectsNode):
- (WebCore::InspectorDOMAgent::toArray):
* inspector/InspectorDOMAgent.h:
- * inspector/InspectorFrontend.cpp:
- (WebCore::InspectorFrontend::didGetEventListenersForNode):
- (WebCore::InspectorFrontend::didGetStyles):
- (WebCore::InspectorFrontend::didGetComputedStyle):
- (WebCore::InspectorFrontend::didGetInlineStyle):
- (WebCore::InspectorFrontend::didApplyStyleText):
- (WebCore::InspectorFrontend::didSetStyleText):
- (WebCore::InspectorFrontend::didSetStyleProperty):
- (WebCore::InspectorFrontend::didToggleStyleEnabled):
- (WebCore::InspectorFrontend::didSetRuleSelector):
- (WebCore::InspectorFrontend::didAddRule):
- * inspector/InspectorFrontend.h:
* inspector/front-end/DOMAgent.js:
(WebInspector.CSSStyleDeclaration):
- * inspector/front-end/ElementsTreeOutline.js:
- * inspector/front-end/InjectedScript.js:
- * inspector/front-end/MetricsSidebarPane.js:
- (WebInspector.MetricsSidebarPane.prototype.update):
- (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
- * inspector/front-end/StylesSidebarPane.js:
- (WebInspector.StylesSidebarPane.prototype.update):
- (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.callback):
- (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
- (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.callback):
- (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
- (WebInspector.StylePropertyTreeElement.prototype):
- (WebInspector.StylePropertyTreeElement.prototype.):
-
-2010-03-16 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Darin Adler.
-
- RenderText::m_text should be a String, not RefPtr<StringImpl>
- https://bugs.webkit.org/show_bug.cgi?id=36010
-
- Refactoring only, so no new tests.
-
- * platform/text/PlatformString.h:
- (WebCore::String::makeLower):
- (WebCore::String::makeUpper):
- (WebCore::String::makeSecure):
- (WebCore::String::makeCapitalized):
- (WebCore::String::containsOnlyASCII):
- * rendering/RenderText.cpp:
- (WebCore::RenderText::RenderText):
- (WebCore::RenderText::widthFromCache):
- (WebCore::RenderText::trimmedPrefWidths):
- (WebCore::RenderText::containsOnlyWhitespace):
- (WebCore::RenderText::setTextInternal):
- (WebCore::RenderText::setText):
- (WebCore::RenderText::previousOffset):
- (WebCore::RenderText::previousOffsetForBackwardDeletion):
- (WebCore::RenderText::nextOffset):
- * rendering/RenderText.h:
- (WebCore::RenderText::text):
- (WebCore::RenderText::characters):
- (WebCore::RenderText::textLength):
-
-2010-03-16 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Adler.
-
- noscript tag should render when @sandbox disables JavaScript
- https://bugs.webkit.org/show_bug.cgi?id=36092
-
- Instead of talking to Settings directly to figure out if JavaScript is
- enabled in a frame, we need to talk to the ScriptController. The
- ScriptController is better at answering that question because it knows
- about @sandbox.
-
- Test: fast/frames/sandboxed-iframe-noscript.html
-
- * dom/Document.cpp:
- (WebCore::Document::Document):
- * html/HTMLCanvasElement.cpp:
- (WebCore::HTMLCanvasElement::createRenderer):
- * html/HTMLElement.cpp:
- (WebCore::HTMLElement::rendererIsNeeded):
- * html/HTMLParser.cpp:
- (WebCore::HTMLParser::noscriptCreateErrorCheck):
- (WebCore::HTMLParser::isInline):
- * plugins/PluginView.cpp:
- (WebCore::PluginView::load):
-
-2010-03-15 John Gregg <johnnyg@google.com>
-
- Reviewed by David Levin.
- Notification object should expose absolute URL of icon
- https://bugs.webkit.org/show_bug.cgi?id=35800
+2010-05-26 Xan Lopez <xlopez@igalia.com>
- Covered by existing tests.
-
- * notifications/Notification.cpp:
- (WebCore::Notification::Notification):
- * notifications/Notification.h:
- (WebCore::Notification::iconURL):
-
-2010-03-15 Leandro Pereira <leandro@profusion.mobi>
-
- Reviewed by Holger Freyther.
-
- Add EFL port files to platform/efl.
- http://webkit.org/b/35887
-
- * platform/efl/ClipboardEfl.cpp: Added.
- * platform/efl/PasteboardEfl.cpp: Added.
-
-2010-03-15 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Don't submit disabled menu options.
- https://bugs.webkit.org/show_bug.cgi?id=35056
-
- Test: fast/forms/menulist-disabled-selected-option.html
-
- * dom/OptionElement.h:
- * dom/SelectElement.cpp:
- (WebCore::SelectElement::appendFormData):
- If a selected option is disabled, skip it.
- Remove code for non-selected menulist because of compatibility with
- other browsers.
-
-2010-03-15 Leandro Pereira <leandro@profusion.mobi>
-
- Reviewed by Holger Freyther.
-
- Add EFL port files to platform/efl.
- http://webkit.org/b/35884
-
- * platform/efl/FileSystemEfl.cpp: Added.
-
-2010-03-15 Leandro Pereira <leandro@profusion.mobi>
-
- Reviewed by Holger Freyther.
-
- Add EFL port files to platform/efl.
- http://webkit.org/b/35882
-
- * platform/efl/ContextMenuItemEfl.cpp: Added.
-
-2010-03-15 Joanmarie Diggs <joanmarie.diggs@gmail.com>
-
- Reviewed by Holger Freyther.
-
- https://bugs.webkit.org/show_bug.cgi?id=35502
- [Gtk] Objects of ATK_ROLE_TABLE should not implement AtkText
-
- Simple change to stop tables from implementing AtkText.
-
- * accessibility/gtk/AccessibilityObjectAtk.cpp:
- (getInterfaceMaskFromObject):
-
-2010-03-15 Adam Bergkvist <adam.bergkvist@ericsson.com>
-
- Reviewed by Adam Barth.
-
- According to the updated specification, a data field should always
- result in a newline character being appended to the data buffer
- regardless if the data buffer contains any data or not. However, upon
- event dispatch, the last newline will be removed. This differs from an
- older version of the specification where a newline character was
- appended before the data value only if the buffer already contained
- data. As a result, EventSource now supports receiving events with empty
- data or newline characters only.
- https://bugs.webkit.org/show_bug.cgi?id=33210
-
- * page/EventSource.cpp:
- (WebCore::EventSource::parseEventStreamLine):
-
-2010-03-15 Valters Svabe <vsvabe@gmail.com>
-
- Reviewed by Darin Adler.
-
- :after selector displays in wrong place with nested div
- https://bugs.webkit.org/show_bug.cgi?id=32288
-
- Make sure we don't append things after :after-generated content, if
- it's inside an anonymous block.
-
- Test: fast/css-generated-content/block-after.html
-
- * rendering/RenderBlock.cpp:
- (WebCore::RenderBlock::addChild):
-
-2010-03-15 Leandro Pereira <leandro@profusion.mobi>
-
- Reviewed by Eric Seidel.
-
- Add EFL port files to platform/efl.
- http://webkit.org/b/35885
-
- * platform/efl/KURLEfl.cpp: Added.
-
-2010-03-15 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Beth Dakin.
-
- VO not able to perform a VO-spacebar on facebook links
- https://bugs.webkit.org/show_bug.cgi?id=36132
-
- When a label element is used as a click event handler, and it doesn't have any
- corresponding control, it should handle the action itself.
-
- Test: accessibility/label-element-press.html
-
- * html/HTMLLabelElement.cpp:
- (WebCore::HTMLLabelElement::accessKeyAction):
-
-2010-03-15 Cameron Zwarich <zwarich@apple.com>
-
- Reviewed by Geoff Garen.
-
- Bug 36135 - GCController::garbageCollectNow() crashes when called from garbage collection
- <https://bugs.webkit.org/show_bug.cgi?id=36135>
- <rdar://problem/7752552>
-
- * bindings/js/GCController.cpp:
- (WebCore::GCController::garbageCollectNow): Fail silently if garbage collection is
- active rather than hitting the CRASH() reentrancy guard.
-
-2010-03-15 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Drop out of compositing mode when no elements need to composite
- https://bugs.webkit.org/show_bug.cgi?id=36134
-
- When no more elements on the page need to be composited, drop out of compositing
- mode altogether, including removing the layer-backed view that hosts the layers.
-
- * rendering/RenderLayerCompositor.cpp:
- (WebCore::RenderLayerCompositor::updateCompositingLayers): If the list of child layers to attach at
- the root is empty, we have no composited layers, and can drop out of compositing mode by calling
- willMoveOffscreen().
-
- (WebCore::RenderLayerCompositor::computeCompositingRequirements): In several places,
- use willBeComposited rather than calling needsToBeComposited(), because it avoids
- recomputing state that we know already (but assert that we're getting it right).
- When we're assessing the root layer in post-order, see if we have any child layers that
- are compositing, and also whether the root itself needs to composite. If neither are
- true, then we can drop out of compositing mode.
-
- (WebCore::RenderLayerCompositor::needsToBeComposited):
- (WebCore::RenderLayerCompositor::requiresCompositingLayer): Move the
- "inCompositingMode() && layer->isRootLayer()" test out of requiresCompositingLayer()
- and into needsToBeComposited() so that we can call requiresCompositingLayer() separately
- on the root layer above.
-
-2010-03-15 Leandro Pereira <leandro@profusion.mobi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Add EFL port files to platform/efl.
- http://webkit.org/b/35888
-
- * platform/efl/SoundEfl.cpp: Added.
-
-2010-03-15 Andy Estes <aestes@apple.com>
-
- Reviewed by John Sullivan.
-
- For continuous scrolling devices on the Mac (trackpads and Mighty/Magic
- Mice), set the number of wheel ticks equal to the atomic increment of
- the device: a pixel. This ensures that any scrolling action will
- generate at least one wheel tick, regardless of the speed/length of
- the gesture.
-
- https://bugs.webkit.org/show_bug.cgi?id=29601
- <rdar://problem/7453254>
-
- Tests: fast/events/continuous-platform-wheelevent-in-scrolling-div.html
- fast/events/platform-wheelevent-in-scrolling-div.html
-
- * platform/mac/WebCoreSystemInterface.h: Modify method signature.
- * platform/mac/WebCoreSystemInterface.mm: Ditto.
- * platform/mac/WheelEventMac.mm:
- (WebCore::PlatformWheelEvent::PlatformWheelEvent): Call into
- WebKitSystemInterface to determine both wheelTicksX/Y and deltaX/Y.
- WKSI will query the event system for number of wheel ticks and
- pixels/lines scrolled based on the device type.
-
-2010-03-15 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GStreamer] duration query optimizations
- https://bugs.webkit.org/show_bug.cgi?id=36116
-
- Don't reattempt duration queries that previously failed and cache
- media duration only if it's known.
-
- * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
- (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
- (WebCore::MediaPlayerPrivate::duration):
- (WebCore::MediaPlayerPrivate::updateStates):
- (WebCore::MediaPlayerPrivate::durationChanged):
- * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
-
-2010-03-11 Peter Kasting <pkasting@google.com>
-
- Reviewed by Adam Barth.
-
- Clean up more bits of the open-source image decoders. In addition to
- simplifying things somewhat, this makes all the decoders the same in
- terms of how they construct "image reader" subclasses and init scale
- data.
-
- https://bugs.webkit.org/show_bug.cgi?id=36040
-
- No functional change, so no tests.
-
- * platform/image-decoders/ImageDecoder.h: Reorder a few declarations to try and group/order members slightly better.
- (WebCore::ImageDecoder::ImageDecoder):
- * platform/image-decoders/gif/GIFImageDecoder.cpp: Move reader construction into decode(). Prep scale data in setSize(). Remove useless comment.
- (WebCore::GIFImageDecoder::setData):
- (WebCore::GIFImageDecoder::setSize):
- (WebCore::GIFImageDecoder::frameBufferAtIndex):
- (WebCore::GIFImageDecoder::decode):
- * platform/image-decoders/gif/GIFImageDecoder.h: Prep scale data in setSize().
- * platform/image-decoders/gif/GIFImageReader.cpp: Prep scale data in setSize().
- (GIFImageReader::read):
- * platform/image-decoders/ico/ICOImageDecoder.cpp: Shorten code.
- (WebCore::ICOImageDecoder::setSize):
- * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: Fix style. Move reader construction into decode().
- (WebCore::JPEGImageReader::close):
- (WebCore::JPEGImageReader::skipBytes):
- (WebCore::JPEGImageDecoder::decode):
- * platform/image-decoders/jpeg/JPEGImageDecoder.h: Move reader construction into decode().
- (WebCore::JPEGImageDecoder::filenameExtension):
- * platform/image-decoders/png/PNGImageDecoder.cpp: Move reader construction into decode(). Track completion on decoder, not reader. Prep scale data in setSize(). Remove useless comment.
- (WebCore::PNGImageReader::PNGImageReader):
- (WebCore::PNGImageReader::close):
- (WebCore::PNGImageReader::decode):
- (WebCore::PNGImageDecoder::setSize):
- (WebCore::PNGImageDecoder::frameBufferAtIndex):
- (WebCore::PNGImageDecoder::headerAvailable):
- (WebCore::PNGImageDecoder::pngComplete):
- (WebCore::PNGImageDecoder::decode):
- * platform/image-decoders/png/PNGImageDecoder.h: Move reader construction into decode(). Track completion on decoder, not reader. Prep scale data in setSize().
- (WebCore::PNGImageDecoder::filenameExtension):
- (WebCore::PNGImageDecoder::isComplete):
-
-2010-03-15 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GStreamer] updateStates called for all elements posting a state-change
- https://bugs.webkit.org/show_bug.cgi?id=36115
-
- * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
- (WebCore::mediaPlayerPrivateMessageCallback): Update player state
- only for state-change messages coming from playbin2 directly.
- * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
- (WebCore::MediaPlayerPrivate::pipeline): public accessor for the
- playbin element.
-
-2010-03-15 Jian Li <jianli@chromium.org>
-
- Reviewed by Nate Chapin.
-
- [v8] Add V8 bindings for DOMFormData.
- https://bugs.webkit.org/show_bug.cgi?id=36026
-
- Test: http/tests/local/send-form-data.html
+ Reviewed by Gustavo Noronha.
- * Android.v8bindings.mk:
- * WebCore.gypi:
- * bindings/v8/V8Index.h:
- * bindings/v8/custom/V8DOMFormDataCustom.cpp: Added.
- * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
- (WebCore::V8XMLHttpRequest::sendCallback):
+ [GTK] Add support for DOM events in the GObject DOM bindings
+ https://bugs.webkit.org/show_bug.cgi?id=38844
-2010-03-15 Jian Li <jianli@chromium.org>
+ Use GObject-like names for the DOM event signals. Basically go
+ from 'mousewheel' to 'mouse-wheel-event'.
- Reviewed by Sam Weinig.
+ * bindings/scripts/CodeGeneratorGObject.pm:
- Add DOMFormData.idl to expose FormData interface.
- https://bugs.webkit.org/show_bug.cgi?id=36024
-
- The implementation is based on XMLHttpRequest 2 spec:
- http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#formdata
+2010-05-26 Nikolas Zimmermann <nzimmermann@rim.com>
- Test: http/tests/local/send-form-data.html
+ Not reviewed. Sort Xcode project file.
- * Android.derived.jscbindings.mk:
- * Android.derived.v8bindings.mk:
- * Android.jscbindings.mk:
- * DerivedSources.cpp:
- * DerivedSources.make:
- * GNUmakefile.am:
- * WebCore.pri:
- * WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
- * bindings/js/JSDOMFormDataCustom.cpp: Added.
- * bindings/js/JSXMLHttpRequestCustom.cpp:
- (WebCore::JSXMLHttpRequest::send):
- * bindings/scripts/CodeGeneratorJS.pm:
- * html/DOMFormData.idl: Added.
- * page/DOMWindow.idl:
-
-2010-03-15 Patrik Persson <patrik.j.persson@ericsson.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=32369
-
- Revise iframe sandbox behavior to match the updated HTML5 spec.
-
- - Enables window.sessionStorage in sandboxed iframes.
-
- - Raises SECURITY_ERR exceptions when window.localStorage or
- window.openDatabase() is blocked by iframe sandboxing.
-
- Note: window.sessionStorage does not raise exceptions.
- WebKit would previously return null references in these cases. The
- new behavior is in accordance with HTML5:
+2010-05-26 Xan Lopez <xlopez@igalia.com>
- http://dev.w3.org/html5/webstorage/ (sections 4.2 and 4.3)
- http://dev.w3.org/html5/webdatabase/ (section 4.1)
- http://www.mail-archive.com/whatwg@lists.whatwg.org/msg19786.html
-
- * inspector/InspectorController.cpp:
- (WebCore::InspectorController::selectDOMStorage): exception handling
- * inspector/InspectorDOMStorageResource.cpp:
- (WebCore::InspectorDOMStorageResource::handleEvent): exception handling
- * page/DOMWindow.cpp:
- (WebCore::DOMWindow::sessionStorage): re-enabled in iframe sandbox
- (WebCore::DOMWindow::localStorage): raise exception rather than return null
- (WebCore::DOMWindow::openDatabase): raise exception rather than return null
- * page/DOMWindow.h: added exceptions to interface
- * page/DOMWindow.idl: added exceptions to interface
- * page/SecurityOrigin.h:
- (WebCore::SecurityOrigin::canAccessLocalStorage): renamed function to reflect its purpose
- * storage/StorageEventDispatcher.cpp:
- (WebCore::StorageEventDispatcher::dispatch): exception handling
-
-2010-03-15 Alexander Pavlov <apavlov@chromium.org>
+ Reviewed by Gustavo Noronha.
- Reviewed by Timothy Hatcher.
+ [GTK] Add support for DOM events in the GObject DOM bindings
+ https://bugs.webkit.org/show_bug.cgi?id=38844
- Web Inspector: Implement a progress indicator in the Audits panel
- when resources are reloading
- https://bugs.webkit.org/show_bug.cgi?id=35971
+ First step towards DOM events support. We create one signal per
+ event supported in the DOM classes, and create a custom
+ GObjectEventListener that will emit a GObject signal when an event
+ is dispatched to the object. There is no event object at the
+ moment (we just pass NULL), and no support for hooking into the
+ capture phase.
- * English.lproj/localizedStrings.js:
* GNUmakefile.am:
- * WebCore.gypi:
- * inspector/front-end/AuditLauncherView.js:
- (WebInspector.AuditLauncherView.prototype.updateResourceTrackingState):
- (WebInspector.AuditLauncherView.prototype.get totalResources):
- (WebInspector.AuditLauncherView.prototype.set totalResources):
- (WebInspector.AuditLauncherView.prototype.get loadedResources):
- (WebInspector.AuditLauncherView.prototype.set loadedResources):
- (WebInspector.AuditLauncherView.prototype._resetResourceCount):
- (WebInspector.AuditLauncherView.prototype.resourceStarted):
- (WebInspector.AuditLauncherView.prototype.resourceFinished):
- (WebInspector.AuditLauncherView.prototype.reset):
- (WebInspector.AuditLauncherView.prototype._setAuditRunning):
- (WebInspector.AuditLauncherView.prototype._launchButtonClicked):
- (WebInspector.AuditLauncherView.prototype._createCategoryElement):
- (WebInspector.AuditLauncherView.prototype._createLauncherUI):
- (WebInspector.AuditLauncherView.prototype._updateResourceProgress):
- (WebInspector.AuditLauncherView.prototype._updateButton):
- * inspector/front-end/AuditsPanel.js:
- (WebInspector.AuditsPanel.prototype.resourceStarted):
- (WebInspector.AuditsPanel.prototype.resourceFinished):
- (WebInspector.AuditsPanel.prototype.reset):
- * inspector/front-end/Images/spinner.gif: Added.
- * inspector/front-end/WebKit.qrc:
- * inspector/front-end/audits.css:
- (.audit-launcher-view .resource-progress > img):
- * inspector/front-end/inspector.js:
- (WebInspector.updateResource):
-
-2010-03-15 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GStreamer] replace g_idle_add / g_timeout_add calls with Timers in the gstreamer player
- https://bugs.webkit.org/show_bug.cgi?id=35735
-
- Replaced g_idle_add calls with Timers immediately started once
- only. The g_timeout_add was replaced by a periodic Timer.
-
- * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
- (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
- (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
- (WebCore::MediaPlayerPrivate::volumeChangedTimerFired):
- (WebCore::MediaPlayerPrivate::volumeChanged):
- (WebCore::MediaPlayerPrivate::processBufferingStats):
- (WebCore::MediaPlayerPrivate::fillTimerFired):
- (WebCore::MediaPlayerPrivate::maxTimeLoaded):
- (WebCore::MediaPlayerPrivate::updateStates):
- (WebCore::MediaPlayerPrivate::muteChangedTimerFired):
- (WebCore::MediaPlayerPrivate::muteChanged):
- * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
-
-2010-03-12 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Eric Carlson.
-
- media/video-preload.html fails
- https://bugs.webkit.org/show_bug.cgi?id=35793
-
- Only effectively load, and start buffering when playing, or when
- the preload attribute is set.
-
- Test: media/video-preload.html
-
- * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
- (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
- (WebCore::MediaPlayerPrivate::load):
- (WebCore::MediaPlayerPrivate::commitLoad):
- (WebCore::MediaPlayerPrivate::prepareToPlay):
- (WebCore::MediaPlayerPrivate::setPreload):
- * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
-
-2010-03-15 Shu Chang <Chang.Shu@nokia.com>
-
- Reviewed by Holger Freyther.
-
- [Qt] The behavior of QGradient with no stops is defined differently from HTML5 spec,
- where the latter requires the gradient to be transparent black. Explicitly added a
- transparent black color stop to match the HTML5 behavior.
- https://bugs.webkit.org/show_bug.cgi?id=36060
-
- * platform/graphics/qt/GradientQt.cpp:
- (WebCore::Gradient::platformGradient):
-
-2010-03-11 Antonio Gomes <tonikitoo@webkit.org>
-
- Rubber-stamped by Holger Freyther.
- Patch by Antonio Gomes <tonikitoo@webkit.org>
-
- Some minor code clean ups in SpatialNavigation.cpp
-
- * page/SpatialNavigation.cpp:
- (WebCore::distanceInDirection):
- (WebCore::deflateIfOverlapped):
-
-2010-03-13 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- WebInspector: Position of GraphBar elements is calculating more carefully
- and they fully visible at the bottom of Timeline panel.
-
- http://bugs.webkit.org/show_bug.cgi?id=35966
-
- * inspector/front-end/TimelinePanel.js:
- (WebInspector.TimelineRecordGraphRow.prototype.update):
+ * bindings/gobject/GObjectEventListener.cpp: Added.
+ (WebCore::GObjectEventListener::handleEvent):
+ (WebCore::GObjectEventListener::operator==):
+ * bindings/gobject/GObjectEventListener.h: Added.
+ (WebCore::GObjectEventListener::create):
+ (WebCore::GObjectEventListener::cast):
+ (WebCore::GObjectEventListener::GObjectEventListener):
+ * bindings/scripts/CodeGeneratorGObject.pm:
+ * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
+ (WebKit::core):
+ (webkit_dom_test_callback_finalize):
+ (webkit_dom_test_callback_class_init):
+ (WebKit::wrapTestCallback):
+ * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
+ (WebKit::core):
+ (webkit_dom_test_interface_finalize):
+ (webkit_dom_test_interface_class_init):
+ (WebKit::wrapTestInterface):
+ * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
+ (WebKit::core):
+ (webkit_dom_test_obj_finalize):
+ (webkit_dom_test_obj_class_init):
+ (WebKit::wrapTestObj):
+ * dom/EventListener.h:
+ (WebCore::EventListener::):
-2010-03-15 MORITA Hajime <morrita@google.com>
+2010-05-26 Xan Lopez <xlopez@igalia.com>
- Reviewed by Alexey Proskuryakov.
+ Reviewed by Gustavo Noronha.
- Selection.modify extends too far with 'lineboundary'.
- https://bugs.webkit.org/show_bug.cgi?id=33413
+ [GTK] GObject DOM bindings
+ https://bugs.webkit.org/show_bug.cgi?id=33590
- Selection.modify() with 'lineboundary' granularity implies just
- "Go to the end of the line", unlike selection expansion with
- other type of granularities. This change handled LineGranularity
- as special case, to look-up end of line with UPSTREAM affinity.
- Doing this prevents look-up algorithm to go next line.
+ We need to protect the body of some methods with #ifdefs, since
+ the availability of the code they call into is decided at compile
+ time.
- Test: editing/selection/extend-selection-expected.txt
+ * bindings/scripts/CodeGeneratorGObject.pm:
- * dom/Position.cpp:
- (WebCore::Position::getInlineBoxAndOffset):
- Handled an edge case for node look-up with UPSTREAM.
- * editing/SelectionController.cpp:
- (WebCore::SelectionController::modifyExtendingForward):
- Added UPSTREAM tweak for the case for LineGranularity.
-
-2010-03-14 Yuzo Fujishima <yuzo@google.com>
+2010-05-26 Kent Tamura <tkent@chromium.org>
Reviewed by Shinichiro Hamaji.
- Always call PrintContext.end() from PrintContext::pageNumberForElement().
-
- Without this change, WebKit remains in printing mode after determining the page number if the specified element is found.
-
- https://bugs.webkit.org/show_bug.cgi?id=36049
-
- Test: printing/return-from-printing-mode.html
-
- * page/PrintContext.cpp:
- (WebCore::PrintContext::pageNumberForElement):
-
-2010-03-11 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GStreamer] progressTimer never stopped after EOS
- https://bugs.webkit.org/show_bug.cgi?id=36007
-
- Mark the pipeline as paused only if playback hasn't ended
- yet. When didEnd() is triggered, the pipeline is paused (but
- paused() still returns false) and a timeupdate event is fired,
- those 2 conditions allow the HTMLMediaElement to stop the
- progressTimer (in updatePlayerState, via mediaPlayerTimeChanged).
-
- * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
- (WebCore::MediaPlayerPrivate::updateStates):
+ Move date/time limit values to DateComponents.h from HTMLInputElement.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=39423
-2010-03-14 Chang Shu <chang.shu@nokia.com>
+ The minimum and maximum values for date, datetime, datetime-local,
+ month, time, and week types depend on the implementation of
+ DateComponents. So move them to DateComponents.
- Reviewed by Simon Hausmann.
-
- [Qt] [Symbian] Added block for ENABLE_SYMBIAN_DIALOG_PROVIDERS
- on Symbian platform.
- https://bugs.webkit.org/show_bug.cgi?id=35919
-
- * WebCore.pro:
-
-2010-03-14 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Darin Adler.
-
- Support for HTMLProgressElement
- https://bugs.webkit.org/show_bug.cgi?id=35937
-
- Added support for HTMLProgressElement.
- This implementation is enabled only for Qt, because only RenderThemeQt
- was modified to actually draw the progress element.
- The labels attribute of the progress element will be implemented in a
- separate patch.
-
- Tests: fast/dom/HTMLProgressElement/progress-element.html
- fast/dom/HTMLProgressElement/set-progress-properties.html
-
- * DerivedSources.cpp:
- * DerivedSources.make:
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pri:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * css/CSSPrimitiveValueMappings.h:
- (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
- * css/CSSSelector.cpp:
- (WebCore::CSSSelector::extractPseudoType):
- * css/CSSValueKeywords.in:
- * css/html.css:
- * html/HTMLElement.cpp:
- (WebCore::inlineTagList):
- * html/HTMLElementsAllInOne.cpp:
- * html/HTMLFormControlElement.cpp:
- (WebCore::HTMLFormControlElement::HTMLFormControlElement):
- * html/HTMLFormControlElement.h:
- * html/HTMLProgressElement.cpp: Added.
- (WebCore::HTMLProgressElement::HTMLProgressElement):
- (WebCore::HTMLProgressElement::create):
- (WebCore::HTMLProgressElement::createRenderer):
- (WebCore::HTMLProgressElement::formControlType):
- (WebCore::HTMLProgressElement::parseMappedAttribute):
- (WebCore::HTMLProgressElement::value):
- (WebCore::HTMLProgressElement::setValue):
- (WebCore::HTMLProgressElement::max):
- (WebCore::HTMLProgressElement::setMax):
- (WebCore::HTMLProgressElement::position):
- * html/HTMLProgressElement.h: Added.
- (WebCore::HTMLProgressElement::isOptionalFormControl):
- * html/HTMLProgressElement.idl: Added.
- * html/HTMLTagNames.in:
- * page/DOMWindow.idl:
- * platform/ThemeTypes.h:
- * platform/qt/RenderThemeQt.cpp:
- (WebCore::RenderThemeQt::adjustProgressBarStyle):
- (WebCore::RenderThemeQt::paintProgressBar):
- * platform/qt/RenderThemeQt.h:
- * rendering/RenderObject.h:
- (WebCore::RenderObject::isProgress):
- * rendering/RenderProgress.cpp: Added.
- (WebCore::RenderProgress::RenderProgress):
- (WebCore::RenderProgress::baselinePosition):
- (WebCore::RenderProgress::calcPrefWidths):
- (WebCore::RenderProgress::layout):
- (WebCore::RenderProgress::updateFromElement):
- * rendering/RenderProgress.h: Added.
- (WebCore::RenderProgress::renderName):
- (WebCore::RenderProgress::isProgress):
- (WebCore::toRenderProgress):
- * rendering/RenderTheme.cpp:
- (WebCore::RenderTheme::adjustStyle):
- (WebCore::RenderTheme::paint):
- (WebCore::RenderTheme::paintBorderOnly):
- (WebCore::RenderTheme::paintDecorations):
- (WebCore::RenderTheme::adjustProgressBarStyle):
- * rendering/RenderTheme.h:
- (WebCore::RenderTheme::paintProgressBar):
-
-2010-03-14 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Darin Adler.
-
- REGRESSION(r53287): drop event is not fired if dataTransfer.dropEffect is not explicitly set
- https://bugs.webkit.org/show_bug.cgi?id=36095
-
- The issue here is that while dropEffect is meant to be initialized
- to "none", the behaviour of the drag is differs between dragEffect
- not being set and dragEffect being explicitly set to "none"
-
- This patch corrects this behaviour by making Clipboard distinguish
- between the initial "none" value of dropEffect and an explicit "none".
- This alone is insufficient for correct behaviour, we also need to
- resurrect the removed defaultOperationForDrag function, but we now
- use the function only when dragEffect is uninitialized. There are a
- few tweaks to the behaviour of the defaultOperationForDrag as well
- to ensure exactly the same set of outcomes for all cases that we
- may hit it.
-
- * dom/Clipboard.cpp:
- (WebCore::Clipboard::Clipboard):
- (WebCore::dragOpFromIEOp):
- (WebCore::Clipboard::destinationOperation):
- * dom/Clipboard.h:
- (WebCore::Clipboard::dropEffect):
- (WebCore::Clipboard::dropEffectIsUninitialized):
- * page/DragController.cpp:
- (WebCore::defaultOperationForDrag):
- (WebCore::DragController::tryDHTMLDrag):
+ * html/DateComponents.h:
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::minimum):
+ (WebCore::HTMLInputElement::maximum):
-2010-03-14 Antti Koivisto <koivisto@iki.fi>
+2010-05-26 Csaba Osztrogonác <ossy@webkit.org>
Reviewed by Simon Hausmann.
-
- https://bugs.webkit.org/show_bug.cgi?id=35146
- Support tiled backing store
-
- Implements a basic tiled backing store mechanism. Tiles are created and
- deleted on demand. The page content is cached to the tiles. Tile content
- is kept in sync with the document. Since the backing store covers area
- larger than the currently visible viewport, the document can be scrolled
- quickly without having to enter rendering tree painting.
-
- The tile management code is platform independent. This patch has simple QPixmap
- based tile implementation for Qt.
-
- The feature is behind ENABLE_TILED_BACKING_STORE flag.
-
- * WebCore.pri:
- * WebCore.pro:
- * page/Frame.cpp:
- (WebCore::Frame::Frame):
- (WebCore::Frame::setTiledBackingStoreEnabled):
- (WebCore::Frame::tiledBackingStorePaintBegin):
- (WebCore::Frame::tiledBackingStorePaint):
- (WebCore::Frame::tiledBackingStorePaintEnd):
- (WebCore::Frame::tiledBackingStoreContentsRect):
- * page/Frame.h:
- (WebCore::Frame::tiledBackingStore):
- * page/FrameView.cpp:
- (WebCore::FrameView::repaintContentRectangle):
- (WebCore::FrameView::doDeferredRepaints):
- * page/Settings.cpp:
- (WebCore::Settings::Settings):
- (WebCore::Settings::setTiledBackingStoreEnabled):
- * page/Settings.h:
- (WebCore::Settings::tiledBackingStoreEnabled):
- * platform/graphics/Tile.h: Added.
- (WebCore::Tile::create):
- (WebCore::Tile::coordinate):
- (WebCore::Tile::rect):
- * platform/graphics/TiledBackingStore.cpp: Added.
- (WebCore::TiledBackingStore::TiledBackingStore):
- (WebCore::TiledBackingStore::~TiledBackingStore):
- (WebCore::TiledBackingStore::invalidate):
- (WebCore::TiledBackingStore::updateTileBuffers):
- (WebCore::TiledBackingStore::paint):
- (WebCore::TiledBackingStore::viewportChanged):
- (WebCore::TiledBackingStore::setContentsScale):
- (WebCore::TiledBackingStore::tileDistance):
- (WebCore::TiledBackingStore::createTiles):
- (WebCore::TiledBackingStore::dropOverhangingTiles):
- (WebCore::TiledBackingStore::dropTilesOutsideRect):
- (WebCore::TiledBackingStore::tileAt):
- (WebCore::TiledBackingStore::setTile):
- (WebCore::TiledBackingStore::removeTile):
- (WebCore::TiledBackingStore::mapToContents):
- (WebCore::TiledBackingStore::mapFromContents):
- (WebCore::TiledBackingStore::contentsRect):
- (WebCore::TiledBackingStore::tileRectForCoordinate):
- (WebCore::TiledBackingStore::tileCoordinateForPoint):
- (WebCore::TiledBackingStore::startTileBufferUpdateTimer):
- (WebCore::TiledBackingStore::tileBufferUpdateTimerFired):
- (WebCore::TiledBackingStore::startTileCreationTimer):
- (WebCore::TiledBackingStore::tileCreationTimerFired):
- (WebCore::TiledBackingStore::setContentsFrozen):
- * platform/graphics/TiledBackingStore.h: Added.
- (WebCore::TiledBackingStore::contentsScale):
- (WebCore::TiledBackingStore::contentsFrozen):
- * platform/graphics/TiledBackingStoreClient.h: Added.
- * platform/graphics/qt/TileQt.cpp: Added.
- (WebCore::checkeredPixmap):
- (WebCore::Tile::Tile):
- (WebCore::Tile::~Tile):
- (WebCore::Tile::isDirty):
- (WebCore::Tile::isReadyToPaint):
- (WebCore::Tile::invalidate):
- (WebCore::Tile::updateBackBuffer):
- (WebCore::Tile::swapBackBufferToFront):
- (WebCore::Tile::paint):
- (WebCore::Tile::paintCheckerPattern):
-
-2010-03-14 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Darin Adler.
-
- WebCore part of removing support for legacy versions of Core Graphics
-
- * WebCore.vcproj/WebCore.vcproj: Removed FontDatabase.{cpp,h}
- * platform/graphics/win/FontCGWin.cpp:
- (WebCore::Font::drawGlyphs): Removed call to wkCanCreateCGFontWithLOGFONT(),
- as it is now always true.
- * platform/graphics/win/FontCacheWin.cpp:
- (WebCore::FontCache::createFontPlatformData): Ditto.
- * platform/graphics/win/FontCustomPlatformData.cpp:
- (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Updated for
- the removal of m_cgFont.
- (WebCore::FontCustomPlatformData::fontPlatformData): Removed call to
- wkCanCreateCGFontWithLOGFONT(), as it is now always true.
- (WebCore::createFontCustomPlatformData): Ditto. Also updated for change to
- the FontCustomPlatformData constructor.
- * platform/graphics/win/FontCustomPlatformData.h: Removed m_cgFont member.
- (WebCore::FontCustomPlatformData::FontCustomPlatformData): Removed cgFont
- parameter.
- * platform/graphics/win/FontDatabase.cpp: Removed.
- * platform/graphics/win/FontDatabase.h: Removed.
- * platform/graphics/win/FontPlatformDataCGWin.cpp:
- (WebCore::FontPlatformData::platformDataInit): Removed call to
- wkCanCreateCGFontWithLOGFONT(), as it is now always true.
- * platform/win/TemporaryLinkStubs.cpp:
- (WebCore::populateFontDatabase): Removed stub.
-
-2010-03-14 Jessie Berlin <jberlin@webkit.org>
-
- Reviewed by Sam Weinig.
-
- "event.ctrlKey" is always false when dragging an element with "ctrl" key down
- https://bugs.webkit.org/show_bug.cgi?id=17113
-
- No new tests.
-
- * page/DragController.cpp:
- (WebCore::createMouseEvent):
- Use the current state of the shift, ctrl, alt, and meta keys when creating the drag mouse event.
-
-2010-03-13 Antonio Gomes <tonikitoo@webkit.org>
-
- Not reviewed identation fix.
-
- * manual-tests/spatial-navigation/spatial-navigation-test-cases.html:
-
-2010-03-13 Kim Grönholm <kim.gronholm@nomovok.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] GraphicsLayer: Opacity change from zero to non-zero doesn't always have effect with AC
- https://bugs.webkit.org/show_bug.cgi?id=36034
-
- * platform/graphics/qt/GraphicsLayerQt.cpp:
- (WebCore::OpacityAnimationQt::applyFrame):
-
-2010-03-13 Kim Grönholm <kim.gronholm@nomovok.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] GraphicsLayer: Opacity transitions end with begin value
- https://bugs.webkit.org/show_bug.cgi?id=36019
-
- * platform/graphics/qt/GraphicsLayerQt.cpp:
- (WebCore::AnimationQt::updateCurrentTime):
-
-2010-03-13 Dirk Schulze <krit@webkit.org>
-
- No review, rolling out r55927.
- http://trac.webkit.org/changeset/55927
- https://bugs.webkit.org/show_bug.cgi?id=35793
-
- Breaks Gtk build bots.
-
- * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
- (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
- (WebCore::MediaPlayerPrivate::load):
- (WebCore::MediaPlayerPrivate::setPreload):
- * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
-
-2010-03-12 Dirk Schulze <krit@webkit.org>
-
- Reviewed by Nikolas Zimmermann.
-
- SVG Glyphs - transform path not context
- https://bugs.webkit.org/show_bug.cgi?id=36070
-
- SVGFont should transform the path of a glyph, not the context. Modifying
- the context causes wrong gradient transformations. This bug doesn't
- influence CG because we generally fill or stroke texts with a mask image.
- All other platforms provide a direct way to make the drawings.
-
- * svg/SVGFont.cpp:
- (WebCore::Font::drawTextUsingSVGFont):
-
-2010-03-12 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Simon Fraser.
- Fix for https://bugs.webkit.org/show_bug.cgi?id=34942 Fullscreen
- API naming is inconsistent
- -and corresponding-
- <rdar://problem/7729165>
+ Buildfix for build without ENABLE(RUBY) after r60201.
- This patch changes all occurrences of "fullScreen" to the more
- popular "fullscreen." webkitEnterFullScreen and
- webkitExitFullScreen have been maintained for now for backwards
- compatibility.
-
- * html/HTMLVideoElement.cpp:
- (WebCore::HTMLVideoElement::webkitEnterFullscreen):
- (WebCore::HTMLVideoElement::webkitExitFullscreen):
- * html/HTMLVideoElement.h:
- (WebCore::HTMLVideoElement::webkitEnterFullScreen):
- (WebCore::HTMLVideoElement::webkitExitFullScreen):
- * html/HTMLVideoElement.idl:
- * platform/graphics/mac/MediaPlayerProxy.h:
-
-2010-03-12 James Robinson <jamesr@chromium.org>
-
- Reviewed by Adam Barth.
-
- Add virtual destructor to DOMWrapperWorld
- https://bugs.webkit.org/show_bug.cgi?id=36077
-
- DOMWrapperWorld is RefCounted<DOMWrapperWorld>. IsolatedWorld
- inherits from DOMWrapperWorld and has member variables
- with destructors, so DOMWrapperWorld needs to have a declared virtual
- d'tor to ensure that its derived class's destructors are called.
-
- No new tests, no change in behavior
-
- * bindings/v8/DOMWrapperWorld.h:
- (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
-
-
-2010-03-11 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Bug 36075 - Clean up screwyness re static string impls & Identifiers.
-
- * platform/text/StringImpl.cpp:
- (WebCore::StringImpl::~StringImpl): Add ASSERT
- (WebCore::StringImpl::sharedBuffer): Add ASSERT
- * platform/text/StringImpl.h:
- (WebCore::StringImpl::setHash): Add ASSERT
- (WebCore::StringImpl::isStatic): added.
-
-2010-03-12 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Simon Fraser.
-
- Content of 3D tests appears at the bottom right corner sometimes.
- <rdar://problem/7556244>
- <https://bugs.webkit.org/show_bug.cgi?id=36027>
-
- There were two problems to solve here:
- - the incorrect anchoring of the rootChildLayer that was causing the composited
- content to be positioned incorrectly
- - the failure to paint the non composited content into the backing store when
- animating composited content.
-
- The first problem has been solved by leaving the original anchor point for the
- rootChildLayer and splitting the tasks of clipping and scrolling using two separate layers.
- The second problem has been solved leveraging the knowledge that WebView has of the dirty region
- of the backing store to pass this information to the layer renderer. This allows the renderer to force
- a paint into the backing store before moving to the compositing.
-
- Tests: compositing/geometry/horizontal-scroll-composited.html
- compositing/geometry/vertical-scroll-composited.html
-
- * manual-tests/win/horizontal-scroll-composited.html: Removed. This is now a layout test.
- * manual-tests/win/milliondollar.html: Added.
- * platform/graphics/win/WKCACFLayerRenderer.cpp:
- (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Added initialization of dirty flag.
- (WebCore::WKCACFLayerRenderer::setScrollFrame):
- (WebCore::WKCACFLayerRenderer::updateScrollFrame): Updated to resize and position the clip and scroll layers.
- (WebCore::WKCACFLayerRenderer::setRootChildLayer):
- (WebCore::WKCACFLayerRenderer::createRenderer): Added new layer hierarchy.
- (WebCore::WKCACFLayerRenderer::destroyRenderer): Remove clip layer on destroy.
- (WebCore::WKCACFLayerRenderer::resize):
- (WebCore::WKCACFLayerRenderer::paint): Forcing paint massage to trigger paint into the backing store.
- * platform/graphics/win/WKCACFLayerRenderer.h:
- (WebCore::WKCACFLayerRenderer::setBackingStoreDirty): Added.
-
-2010-03-12 Robert Hogan <robert@webkit.org>
-
- Not reviewed, build fix.
-
- Revert http://trac.webkit.org/projects/webkit/changeset/55374 which broke
- the !ENABLE(DATABASE) build on all platforms when attempting to fix the
- --minimal build on Qt.
-
- Support for SQLite now seems to be non-negotiable for the Qt build but making
- it mandatory requires review, so re-break --minimal Qt build for now.
-
- Qt build issue now tracked at https://bugs.webkit.org/show_bug.cgi?id=36073
-
- * page/GeolocationPositionCache.cpp:
-
-2010-03-12 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- <rdar://problem/7709115> REGRESSION: toolbar is missing at http://www.glom.org/
- https://bugs.webkit.org/show_bug.cgi?id=35507
-
- * css/CSSImportRule.cpp:
- (WebCore::CSSImportRule::setCSSStyleSheet): Extend the change made in
- <http://trac.webkit.org/changeset/48818> to detect the two variants of
- KHTMLFixes.css in @import rules as well as in <link> elements.
-
-2010-03-12 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Geoff Garen.
-
- Bug 36052 - [Qt] REGRESSION(55878) 63 test cases crash
-
- r55878 changed UStringImpl::empty()->characters() to be non-null,
- so TextBreakIteratorQt.cpp now should check the length of strings
- (previously was assuming all strings with a non-null data pointer
- had a length of at least 1).
-
- * platform/text/qt/TextBreakIteratorQt.cpp:
- (WebCore::wordBreakIterator):
- (WebCore::characterBreakIterator):
- (WebCore::lineBreakIterator):
- (WebCore::sentenceBreakIterator):
-
-2010-03-12 Dirk Schulze <krit@webkit.org>
-
- Reviewed by Nikolas Zimmermann.
-
- SVG fallback color doesn't work for bogus gradients.
- https://bugs.webkit.org/show_bug.cgi?id=35479
-
- Use a given fallback color on ignored gradients if present. Gradients
- must be ignored, if one dimension of the objects boundingBox is zero.
-
- Test: svg/custom/gradient-with-1d-boundingbox.svg
-
- * svg/graphics/SVGPaintServer.cpp:
- (WebCore::SVGPaintServer::strokePaintServer):
- * svg/graphics/SVGPaintServerGradient.cpp:
- (WebCore::SVGPaintServerGradient::setup):
-
-2010-03-12 David Hyatt <hyatt@apple.com>
-
- Reviewed by Dan Bernstein.
-
- https://bugs.webkit.org/show_bug.cgi?id=36069
-
- Eliminate InlineRunBox.
-
- * WebCore.xcodeproj/project.pbxproj:
- * rendering/InlineFlowBox.cpp:
- (WebCore::InlineFlowBox::adjustPosition):
- (WebCore::InlineFlowBox::paintFillLayer):
- (WebCore::InlineFlowBox::paintBoxDecorations):
- (WebCore::InlineFlowBox::paintMask):
- * rendering/InlineFlowBox.h:
- (WebCore::InlineFlowBox::InlineFlowBox):
- (WebCore::InlineFlowBox::prevLineBox):
- (WebCore::InlineFlowBox::nextLineBox):
- (WebCore::InlineFlowBox::setNextLineBox):
- (WebCore::InlineFlowBox::setPreviousLineBox):
- * rendering/InlineRunBox.h: Removed.
- * rendering/InlineTextBox.h:
- (WebCore::InlineTextBox::InlineTextBox):
- (WebCore::InlineTextBox::prevTextBox):
- (WebCore::InlineTextBox::nextTextBox):
- (WebCore::InlineTextBox::setNextTextBox):
- (WebCore::InlineTextBox::setPreviousTextBox):
* rendering/RenderBlock.cpp:
- (WebCore::RenderBlock::destroy):
- (WebCore::RenderBlock::rightmostPosition):
- (WebCore::RenderBlock::leftmostPosition):
- * rendering/RenderInline.cpp:
- (WebCore::RenderInline::destroy):
- (WebCore::RenderInline::absoluteRects):
- (WebCore::RenderInline::absoluteQuads):
- (WebCore::RenderInline::linesBoundingBox):
- (WebCore::RenderInline::linesVisibleOverflowBoundingBox):
- (WebCore::RenderInline::addFocusRingRects):
- (WebCore::RenderInline::paintOutline):
- * rendering/RenderLayer.cpp:
- (WebCore::RenderLayer::localBoundingBox):
- * rendering/RenderLineBoxList.cpp:
- (WebCore::RenderLineBoxList::deleteLineBoxTree):
- (WebCore::RenderLineBoxList::extractLineBox):
- (WebCore::RenderLineBoxList::attachLineBox):
- (WebCore::RenderLineBoxList::removeLineBox):
- (WebCore::RenderLineBoxList::deleteLineBoxes):
- (WebCore::RenderLineBoxList::dirtyLineBoxes):
- (WebCore::RenderLineBoxList::paint):
- (WebCore::RenderLineBoxList::hitTest):
- (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
- (WebCore::RenderLineBoxList::checkConsistency):
- * rendering/RenderSVGInline.cpp:
- (WebCore::RenderSVGInline::absoluteRects):
- (WebCore::RenderSVGInline::absoluteQuads):
- * rendering/RenderSVGText.cpp:
- (WebCore::RenderSVGText::absoluteRects):
- (WebCore::RenderSVGText::absoluteQuads):
- (WebCore::RenderSVGText::objectBoundingBox):
- * rendering/RenderText.cpp:
- (WebCore::RenderText::extractTextBox):
- (WebCore::RenderText::attachTextBox):
- (WebCore::RenderText::removeTextBox):
- (WebCore::RenderText::createInlineTextBox):
- (WebCore::RenderText::positionLineBox):
- * rendering/RootInlineBox.h:
- (WebCore::RootInlineBox::nextRootBox):
- (WebCore::RootInlineBox::prevRootBox):
-
-2010-03-12 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Eric Carlson.
-
- media/video-preload.html fails
- https://bugs.webkit.org/show_bug.cgi?id=35793
-
- Only effectively load, and start buffering when playing, or when
- the preload attribute is set.
-
- Test: media/video-preload.html
-
- * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
- (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
- (WebCore::MediaPlayerPrivate::load):
- (WebCore::MediaPlayerPrivate::commitLoad):
- (WebCore::MediaPlayerPrivate::prepareToPlay):
- (WebCore::MediaPlayerPrivate::setPreload):
- * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
-
-2010-03-12 Dmitry Titov <dimich@chromium.org>
-
- Not reviewed, build fix.
-
- Reverts 55920 and 55921. Landing for Jian Li.
-
- * Android.derived.jscbindings.mk:
- * Android.derived.v8bindings.mk:
- * DerivedSources.cpp:
- * DerivedSources.make:
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pri:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/js/JSDOMFormDataCustom.cpp: Removed.
- * bindings/js/JSXMLHttpRequestCustom.cpp:
- (WebCore::JSXMLHttpRequest::send):
- * bindings/scripts/CodeGeneratorJS.pm:
- * bindings/v8/V8Index.h:
- * bindings/v8/custom/V8DOMFormDataCustom.cpp: Removed.
- * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
- (WebCore::V8XMLHttpRequest::sendCallback):
- * html/DOMFormData.idl: Removed.
- * page/DOMWindow.idl:
-
-2010-03-12 Jakob Petsovits <jpetsovits@rim.com>
-
- Reviewed by Dirk Schulze.
-
- [OpenVG] Add support for drawing text to PainterOpenVG
- https://bugs.webkit.org/show_bug.cgi?id=35581
-
- Doesn't come with any actual font classes, as OpenVG
- by itself doesn't provide any access to platform fonts
- but just the means to draw glyphs that have been loaded
- manually before.
-
- * platform/graphics/openvg/PainterOpenVG.cpp:
- (WebCore::PlatformPainterState::PlatformPainterState):
- (WebCore::PlatformPainterState::copyPaintState):
- (WebCore::PainterOpenVG::textDrawingMode):
- (WebCore::PainterOpenVG::setTextDrawingMode):
- (WebCore::PainterOpenVG::drawText):
- * platform/graphics/openvg/PainterOpenVG.h:
-
-2010-03-12 Jakob Petsovits <jpetsovits@rim.com>
-
- Reviewed by Dirk Schulze.
-
- [OpenVG] Use masks to implement non-rectilinear clipping
- https://bugs.webkit.org/show_bug.cgi?id=35544
-
- Requires some additional context switching logic to
- make sure the right context is current when dealing
- with the mask, because we don't store it by ourselves.
-
- Initial version of this code was written by
- Eli Fidler <efidler@rim.com>, I did a couple of
- bug fixes and efficiency improvements since then.
-
- * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
- (WebCore::GraphicsContext::clipPath):
- (WebCore::GraphicsContext::clip):
- (WebCore::GraphicsContext::clipOut):
- (WebCore::GraphicsContext::clipOutEllipseInRect):
- (WebCore::GraphicsContext::addInnerRoundedRectClip):
- * platform/graphics/openvg/PainterOpenVG.cpp:
- (WebCore::PlatformPainterState::PlatformPainterState):
- (WebCore::PlatformPainterState::~PlatformPainterState):
- (WebCore::PlatformPainterState::maskingEnabled):
- (WebCore::PlatformPainterState::applyState):
- (WebCore::PlatformPainterState::saveMaskIfNecessary):
- (WebCore::PainterOpenVG::intersectClipRect):
- (WebCore::PainterOpenVG::clipPath):
- (WebCore::PainterOpenVG::save):
- * platform/graphics/openvg/PainterOpenVG.h:
- (WebCore::PainterOpenVG::):
- * platform/graphics/openvg/SurfaceOpenVG.cpp:
- (WebCore::SurfaceOpenVG::makeCurrent):
- (WebCore::SurfaceOpenVG::makeCompatibleCurrent):
- * platform/graphics/openvg/SurfaceOpenVG.h:
- (WebCore::SurfaceOpenVG::):
-
-2010-03-12 Jian Li <jianli@chromium.org>
-
- Reviewed by Sam Weinig.
-
- Add DOMFormData.idl to expose FormData interface.
- https://bugs.webkit.org/show_bug.cgi?id=36024
-
- The implementation is based on XMLHttpRequest 2 spec:
- http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#formdata
-
- Test: http/tests/local/send-form-data.html
-
- * Android.derived.jscbindings.mk:
- * Android.derived.v8bindings.mk:
- * DerivedSources.cpp:
- * DerivedSources.make:
- * GNUmakefile.am:
- * WebCore.pri:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/js/JSDOMFormDataCustom.cpp: Added.
- * bindings/js/JSXMLHttpRequestCustom.cpp:
- (WebCore::JSXMLHttpRequest::send):
- * bindings/scripts/CodeGeneratorJS.pm:
- * html/DOMFormData.idl: Added.
- * page/DOMWindow.idl:
-
-2010-03-12 Jakob Petsovits <jpetsovits@rim.com>
-
- Reviewed by Dirk Schulze.
-
- [OpenVG] Add a SurfaceOpenVG constructor for EGL client buffer surfaces
- https://bugs.webkit.org/show_bug.cgi?id=35538
+ (WebCore::canMergeContiguousAnonymousBlocks): Missing #if ENABLE(RUBY) guard added.
- SurfaceOpenVG can now not only encapsulate pbuffer
- and window surfaces but also VGImage-based ones.
+2010-05-26 Nikolas Zimmermann <nzimmermann@rim.com>
- * platform/graphics/openvg/EGLDisplayOpenVG.cpp:
- (WebCore::EGLDisplayOpenVG::createPbufferFromClientBuffer):
- * platform/graphics/openvg/EGLDisplayOpenVG.h:
- * platform/graphics/openvg/SurfaceOpenVG.cpp:
- (WebCore::SurfaceOpenVG::SurfaceOpenVG):
- * platform/graphics/openvg/SurfaceOpenVG.h:
+ Not reviewed. Update test expectations for JS generator, when using run-webkit-tests. This has been forgotten.
-2010-03-12 Alpha Lam <hclam@chromium.org>
-
- Reviewed by Eric Carlson.
+ * bindings/scripts/test/JS/JSTestInterface.cpp:
+ (WebCore::JSTestInterfaceConstructor::JSTestInterfaceConstructor):
+ (WebCore::JSTestInterface::createPrototype):
+ * bindings/scripts/test/JS/JSTestInterface.h:
+ (WebCore::JSTestInterfacePrototype::JSTestInterfacePrototype):
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore::JSTestObjConstructor::JSTestObjConstructor):
+ (WebCore::JSTestObj::createPrototype):
+ * bindings/scripts/test/JS/JSTestObj.h:
+ (WebCore::JSTestObjPrototype::JSTestObjPrototype):
- Fix a crash when resource loading of media element is canceled.
- https://bugs.webkit.org/show_bug.cgi?id=35992
+2010-05-25 Philippe Normand <pnormand@igalia.com>
- Use of HTMLMediaElement::duration() after resource loading was canceled
- will cause a crash. This is because HTMLMediaElement::m_player is used
- when NULL.
- Test: http/tests/media/video-cancel-load.html
+ Reviewed by Gustavo Noronha Silva.
- * html/HTMLMediaElement.cpp:
- (WebCore::HTMLMediaElement::duration):
- Avoid calling to m_player when it is null.
- (WebCore::HTMLMediaElement::userCancelledLoad):
- Set m_readyState to HAVE_NOTHING.
+ [GStreamer] Apple trailers not playing
+ https://bugs.webkit.org/show_bug.cgi?id=37390
-2010-03-12 Dan Bernstein <mitz@apple.com>
+ Set the AppleTrailer User-Agent workaround after
+ FrameLoader::addExtraFieldsToSubresourceRequest has been called
+ because that method sets the global User-Agent.
- Reviewed by Darin Adler.
+ * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
+ (webKitWebSrcStart):
- <rdar://problem/7725534> CSSPrimitiveValue::parserValue() returns deleted memory
- https://bugs.webkit.org/show_bug.cgi?id=20069
+2010-05-25 Dumitru Daniliuc <dumi@chromium.org>
- No test added, since with the CSS variables feature disabled, the pointer
- to the freed memory is never dereferenced.
+ Unreviewed, changing "fts2" to "fts3" in one location I missed in r60188.
- * css/CSSPrimitiveValue.cpp:
- (WebCore::valueOrPropertyName): Changed to return a const AtomicString& from
- a static table.
- (WebCore::CSSPrimitiveValue::parserValue): Updated for the above change.
+ * storage/DatabaseAuthorizer.cpp:
+ (WebCore::DatabaseAuthorizer::dropVTable):
-2010-03-12 Dan Bernstein <mitz@apple.com>
+2010-05-25 Mark Rowe <mrowe@apple.com>
Build fix.
- * platform/chromium/PlatformKeyboardEventChromium.cpp:
-
-2010-03-12 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/7694674> Hover states not updated when overflow section scrolls under stationary mouse pointer
- https://bugs.webkit.org/show_bug.cgi?id=35949
-
- Test: fast/events/overflow-scroll-fake-mouse-move.html
-
- Soon after an overflow section scrolls under the mouse pointer, dispatch
- a fake mouse move event. This is similar to how frame scrolling is handled
- in WebKit, and has the effect of updating hover state, dispatching DOM mouse
- events, and updating the tool tip.
-
- * page/EventHandler.cpp:
- (WebCore::EventHandler::EventHandler): Initialize m_fakeMouseMoveEventTimer.
- (WebCore::EventHandler::~EventHandler): Assert that the timer is not active.
- (WebCore::EventHandler::clear): Stop the timer.
- (WebCore::EventHandler::handleMousePressEvent): Cancel pending fake mouse
- move events.
- (WebCore::EventHandler::handleMouseMoveEvent): Ditto.
- (WebCore::EventHandler::dispatchFakeMouseMoveEventSoonInQuad): If the mouse
- is in the passed-in quad, ensure that a fake mouse move event is scheduled
- to fire soon.
- (WebCore::EventHandler::cancelFakeMouseMoveEvent): Does what the name says.
- (WebCore::EventHandler::fakeMouseMoveEventTimerFired): Constructs a
- PlatformMouseEvent with the current mouse location, modifier key state and
- time stamp and calls mouseMoved().
- * page/EventHandler.h:
- * platform/PlatformKeyboardEvent.h: Declared getCurrentModifierState().
- * platform/android/KeyEventAndroid.cpp:
- (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Stubbed out.
- * platform/brew/PlatformKeyboardEventBrew.cpp:
- (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Ditto.
- * platform/chromium/PlatformKeyboardEventChromium.cpp:
- (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Added.
- * platform/efl/PlatformKeyboardEventEfl.cpp:
- (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Stubbed out.
- * platform/gtk/KeyEventGtk.cpp:
- (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Ditto.
- * platform/haiku/PlatformKeyboardEventHaiku.cpp:
- (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Added.
- * platform/mac/KeyEventMac.mm:
- (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Ditto.
- * platform/qt/PlatformKeyboardEventQt.cpp:
- (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Stubbed out.
- * platform/win/KeyEventWin.cpp:
- (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Added.
- * platform/wx/KeyboardEventWx.cpp:
- (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Ditto.
- * rendering/RenderLayer.cpp:
- (WebCore::RenderLayer::scrollToOffset): Call
- EventHandler::dispatchFakeMouseMoveEventSoonInQuad(). Moved things around
- a little to avoid computing the repaint rect twice.
-
-2010-03-12 Kent Hansen <kent.hansen@nokia.com>
-
- Reviewed by Darin Adler.
-
- Webkit doesn't build with workers on and database off
- https://bugs.webkit.org/show_bug.cgi?id=35997
-
- Added missing ENABLE(DATABASE) guards.
-
- * workers/WorkerThread.cpp:
- (WebCore::WorkerThreadShutdownStartTask::performTask):
-
-2010-03-12 Dan Winship <danw@gnome.org>
-
- Reviewed by Gustavo Noronha.
-
- Make the defaultCookieJar use a no-third-party policy. Most
- applications set their own cookie jar, but DumpRenderTree doesn't,
- so it was failing the new third-party-cookie test.
+ * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
- * platform/network/soup/CookieJarSoup.cpp:
- (WebCore::defaultCookieJar):
-
-2010-03-11 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] Enable network state notifier when compiling against Qt 4.7
- https://bugs.webkit.org/show_bug.cgi?id=35983
-
- * WebCore.pri:
- * platform/network/qt/NetworkStateNotifierPrivate.h:
- * platform/network/qt/NetworkStateNotifierQt.cpp:
-
-2010-03-11 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Adam Treat.
-
- Do not render the full frame when there is some elements with fixed positioning
- https://bugs.webkit.org/show_bug.cgi?id=33150
-
- The frame view take into acount the list of fixed object when scrolling
- the view. If the number of object is lower than a certain threshold, the pixel
- are blitted, and the invalidated area updated.
-
- * page/FrameView.cpp:
- (WebCore::FrameView::FrameView):
- (WebCore::FrameView::useSlowRepaints):
- (WebCore::FrameView::useSlowRepaintsIfNotOverlapped):
- (WebCore::FrameView::addFixedObject):
- (WebCore::FrameView::removeFixedObject):
- (WebCore::FrameView::scrollContentsFastPath):
- * page/FrameView.h:
- * platform/ScrollView.cpp:
- (WebCore::ScrollView::scrollContents):
- (WebCore::ScrollView::scrollContentsFastPath):
- * platform/ScrollView.h:
- * rendering/RenderBlock.h:
- (WebCore::RenderBlock::positionedObjects):
- * rendering/RenderBox.cpp:
- (WebCore::RenderBox::styleWillChange):
- * rendering/RenderObject.cpp:
- (WebCore::RenderObject::styleWillChange):
-
-2010-03-11 Aaron Boodman <aa@chromium.org>
-
- Kill WebDocument::applicationID() (part 1).
-
- Modify interface to WebCore::NotificationPresenter::checkPermission()
- and remove implementation of WebDocument::applicationID(). Breaking
- API changes will be in a subsequent change.
- https://bugs.webkit.org/show_bug.cgi?id=35846
-
- * notifications/Notification.cpp:
- (WebCore::Notification::Notification):
- * notifications/NotificationCenter.cpp:
- (WebCore::NotificationCenter::checkPermission):
- * notifications/NotificationPresenter.h:
-
-2010-03-11 Dmitry Titov <dimich@chromium.org>
-
- Reviewed by David Levin.
-
- [v8] Remove obsolete code for delayed dereferencing of DOM objects for single-heap, multithread v8 usage.
- https://bugs.webkit.org/show_bug.cgi?id=36043
-
- No new tests, no changes in functionality.
-
- * bindings/v8/DOMData.cpp:
- (WebCore::DOMData::DOMData):
- * bindings/v8/DOMData.h:
- (WebCore::DOMData::handleWeakObject):
- * bindings/v8/DOMDataStore.cpp:
- * bindings/v8/DOMDataStore.h:
- (WebCore::DOMDataStore::domObjectMap):
- (WebCore::DOMDataStore::activeDomObjectMap):
- (WebCore::DOMDataStore::domSvgElementInstanceMap):
- (WebCore::DOMDataStore::domSvgObjectWithContextMap):
- * bindings/v8/ScopedDOMDataStore.cpp:
- (WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
- * bindings/v8/StaticDOMDataStore.cpp:
- (WebCore::StaticDOMDataStore::StaticDOMDataStore):
- * bindings/v8/StaticDOMDataStore.h:
- * bindings/v8/V8DOMMap.cpp:
- (WebCore::removeAllDOMObjectsInCurrentThread):
-
-2010-03-11 Gavin Barraclough <barraclough@apple.com>
-
- Rubber stamped by Oliver Hunt.
-
- Remove nonsense comments used in development & commited in error.
-
- * platform/text/StringImpl.h:
-
-2010-03-11 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=36041
- Remove unnecessary differences in common code between WebCore::StringImpl & JSC::UStringImpl
-
- Much of the code in WebCore::StringImpl and JSC::UStringImpl is now very similar,
- but has trivial and unnecessary formatting differences, such as the exact wording
- of comments, missing ASSERTs, functions implemented in the .h vs .cpp etc.
-
- * platform/text/StringImpl.cpp:
- (WebCore::StringImpl::empty): Reordered in file, made empty()->characters() return a non-null value to match JSC.
- (WebCore::StringImpl::createUninitialized): Added overflow check.
- (WebCore::StringImpl::create): Reordered in file.
- (WebCore::StringImpl::sharedBuffer): Reordered in file.
- * platform/text/StringImpl.h:
- (WebCore::StringImpl::): Remove ThreadGlobalData as friend, move SharableUChar & SharedUChar to WebCore namespace.
- (WebCore::StringImpl::StringImpl): Made static constructor method (used to create empty string) take arguments, to match JSC & prevent accidental use.
- (WebCore::StringImpl::setHash): Added missing ASSERT.
- (WebCore::StringImpl::adopt): Make adpot work with Vectors with a non-zero inline capacity.
- (WebCore::StringImpl::characters): Mark as const to match JSC.
- (WebCore::StringImpl::hash): Use !m_hash instead of m_hash == 0.
- (WebCore::StringImpl::computeHash): Remove redundant 'inline'.
-
-2010-03-11 Mark Rowe <mrowe@apple.com>
-
- Reviewed by David Kilzer.
-
- <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version
-
- Default to using the appropriate SDK if the target Mac OS X version is not the current Mac OS X version.
-
- * Configurations/Base.xcconfig:
-
-2010-03-11 Jungshik Shin <jshin@chromium.org>
-
- [Chromium]: Plane 2 characters are rendered "blank"
- (not even empty boxes) on Windows even when there are fonts to
- cover them.
-
- https://bugs.webkit.org/show_bug.cgi?id=35605
-
- Test:LayoutTests/fast/text/international/plane2.html
-
- * platform/graphics/chromium/FontCacheChromiumWin.cpp:
- (WebCore::LookupAltName): Add two ExtB fonts to the array (namePairs) that are used for Plane 2 character rendering.
- (WebCore::FontCache::getFontDataForCharacters): Add two more fonts to the fallback font list
- * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
- (WebCore::getFallbackFamily): Fix the fallback font lookup to cover Plane 2 (CJK ExtB).
-
-2010-03-11 Leandro Pereira <leandro@profusion.mobi>
-
- Reviewed by Holger Freyther.
-
- Add EFL port files to platform/efl.
- http://webkit.org/b/35889
-
- * platform/efl/SystemTimeEfl.cpp: Added.
-
-2010-03-11 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Tim Hatcher.
-
- <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version
-
- Introduce TARGET_MAC_OS_X_VERSION_MAJOR to represent the Mac OS X version that is being targeted. It defaults to the
- current Mac OS X version unless otherwise specified.
-
- Key off TARGET_MAC_OS_X_VERSION_MAJOR where we'd previously been keying off MAC_OS_X_VERSION_MAJOR.
-
- Explicitly map from the target Mac OS X version to the preferred compiler since Xcode's default compiler choice
- may not be usable when targetting a different Mac OS X version.
-
- Key off TARGET_GCC_VERSION rather than MAC_OS_X_VERSION_MAJOR in locations where we'd previously been keying off
- MAC_OS_X_VERSION_MAJOR but the decision is really related to the compiler version being used.
-
- * Configurations/Base.xcconfig:
- * Configurations/DebugRelease.xcconfig:
- * Configurations/FeatureDefines.xcconfig:
- * Configurations/Version.xcconfig:
- * Configurations/WebCore.xcconfig:
-
-2010-03-11 Anders Carlsson <andersca@apple.com>
-
- Reviewed by David Hyatt.
-
- Remove invalidateContents, it isn't used and it never makes sense to only invalidate the contents.
-
- * loader/EmptyClients.h:
- * page/Chrome.cpp:
- * page/Chrome.h:
- * page/ChromeClient.h:
- * platform/HostWindow.h:
-
-2010-03-11 Nate Chapin <japhet@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [V8] Remove DOMObjectsInclude.h and update headers accordingly.
-
- https://bugs.webkit.org/show_bug.cgi?id=36036
-
- * WebCore.gypi:
- * bindings/v8/DOMData.h:
- * bindings/v8/DOMDataStore.h:
- * bindings/v8/DOMObjectsInclude.h: Removed.
- * bindings/v8/V8DOMMap.cpp:
- * bindings/v8/V8DOMWindowShell.cpp:
- * bindings/v8/V8DOMWrapper.cpp:
- * bindings/v8/V8GCController.cpp:
- * bindings/v8/V8Proxy.cpp:
-
-2010-03-11 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Mark Rowe.
-
- Remove duplicate entries revealed after sorting.
-
- * WebCore.xcodeproj/project.pbxproj:
-
-2010-03-11 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Mark Rowe.
-
- Sort the project file (also removing some bogus spaces that caused Xcode to rewrite the file
- every time you opened it).
-
- * WebCore.xcodeproj/project.pbxproj:
-
-2010-03-11 Nate Chapin <japhet@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Fix style issues and improve comments from
- http://trac.webkit.org/changeset/55853.
-
- https://bugs.webkit.org/show_bug.cgi?id=36029
-
- * platform/animation/TimingFunction.h:
- (WebCore::TimingFunction::TimingFunction):
-
-2010-03-11 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Beth Dakin.
-
- accessibilityIsIgnoredBase() needs to respect when platform says include
- https://bugs.webkit.org/show_bug.cgi?id=36025
-
- Changed accessibilityIsIgnoredBase() to return a policy instead of a yes/no
- answer. This allows the platform to make a yes decision on an element.
-
- * accessibility/AccessibilityList.cpp:
- (WebCore::AccessibilityList::accessibilityIsIgnored):
- * accessibility/AccessibilityListBox.cpp:
- (WebCore::AccessibilityListBox::accessibilityIsIgnored):
- * accessibility/AccessibilityObject.h:
- (WebCore::):
- (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
- (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
- * accessibility/AccessibilityRenderObject.cpp:
- (WebCore::AccessibilityRenderObject::accessibilityIsIgnoredBase):
- (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
- * accessibility/AccessibilityRenderObject.h:
- * accessibility/AccessibilitySlider.cpp:
- (WebCore::AccessibilitySlider::accessibilityIsIgnored):
- * accessibility/AccessibilityTable.cpp:
- (WebCore::AccessibilityTable::accessibilityIsIgnored):
- * accessibility/AccessibilityTableCell.cpp:
- (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
- * accessibility/AccessibilityTableRow.cpp:
- (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
- * accessibility/chromium/AccessibilityObjectChromium.cpp:
- (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
- * accessibility/gtk/AccessibilityObjectAtk.cpp:
- (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
- * accessibility/mac/AccessibilityObjectMac.mm:
- (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
- * accessibility/qt/AccessibilityObjectQt.cpp:
- (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
- * accessibility/win/AccessibilityObjectWin.cpp:
- (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
- * accessibility/wx/AccessibilityObjectWx.cpp:
- (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
-
-2010-03-11 Kenneth Russell <kbr@google.com>
-
- Reviewed by Dimitri Glazkov.
-
- Fix build breakage with ENABLE_3D_CANVAS=0
- https://bugs.webkit.org/show_bug.cgi?id=35995
-
- No new tests; verified in Chromium that WebGL is disabled in
- ENABLE_3D_CANVAS=0 builds.
-
- * bindings/v8/custom/V8DocumentCustom.cpp:
- * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
-
-2010-03-11 Nate Chapin <japhet@chromium.org>
-
- Unreviewed, Chromium mac build fix.
-
- Add an explicit copy constructor to TimingFunction.
- http://trac.webkit.org/changeset/55835 trigged an inlining
- bug in gcc that the copy constructor resolves.
-
- * platform/animation/TimingFunction.h:
- (WebCore::TimingFunction::TimingFunction):
-
-2010-03-11 Chris Fleizach <cfleizach@apple.com>
-
- Fixing GTK. No review.
-
- support lang attribute on <option> elements
- https://bugs.webkit.org/show_bug.cgi?id=36021
-
- We don't need to cast to AccessibilityRenderObject to get language().
-
- * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
- (webkit_accessible_document_get_locale):
-
-2010-03-11 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Darin Adler.
-
- support lang attribute on <option> elements
- https://bugs.webkit.org/show_bug.cgi?id=36021
-
- Allow non AccessibilityRenderObject classes to access the lang
- attribute by moving the useful code into AccessibilityObject.
-
- Test: platform/mac/accessibility/option-with-lang.html
-
- * accessibility/AccessibilityListBoxOption.cpp:
- (WebCore::AccessibilityListBoxOption::language):
- * accessibility/AccessibilityListBoxOption.h:
- * accessibility/AccessibilityObject.cpp:
- (WebCore::AccessibilityObject::language):
- * accessibility/AccessibilityObject.h:
- * accessibility/AccessibilityRenderObject.cpp:
- (WebCore::AccessibilityRenderObject::language):
- * accessibility/AccessibilityRenderObject.h:
-
-2010-03-11 Diego Gonzalez <diego.gonzalez@openbossa.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Access key modifier should be Ctrl+Alt for Darwin derived OS and Alt for the others
- https://bugs.webkit.org/show_bug.cgi?id=35993
-
- * page/qt/EventHandlerQt.cpp:
- (WebCore::EventHandler::accessKeyModifiers):
-
-2010-03-08 Brett Wilson <brettw@chromium.org>
-
- Reviewed by Adam Barth.
-
- Remove the deprecated argument to url_util::IsStandard in preparation
- for deleting that version of the function. Pull the latest googleurl
- with the new version for the Chromium builder.
-
- * platform/KURLGoogle.cpp:
- (WebCore::KURL::isHierarchical):
-
-2010-03-11 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Make it possible to do builds with separate debug info in packages
-
- * WebCore.pro:
-
-2010-03-11 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Avoid double-buffering with Qt image decoders
-
- Pass QIODevice::Unbuffered when opening the QBuffer that
- wraps the image data, to hint to Qt that no extra buffering
- is needed.
-
- * platform/graphics/qt/ImageDecoderQt.cpp:
- (WebCore::ImageDecoderQt::setData):
-
-2010-03-10 Ben Murdoch <benm@google.com>
-
- Reviewed by Jeremy Orlow.
-
- [Android] The platform touch events on Android are missing support
- for key modifiers.
- https://bugs.webkit.org/show_bug.cgi?id=35521
-
- Add support in PlatformToucHEventAndroid for the platform supplying
- key modifiers with touch events.
-
- Fixes Android so it now passes basic-single-touch-events.html.
-
- * page/EventHandler.cpp:
- (WebCore::EventHandler::handleTouchEvent): Fix two compiler warnings.
- * platform/PlatformTouchEvent.h:
- (WebCore::PlatformTouchEvent::PlatformTouchEvent): Add support for
- key modifiers on Android.
- * platform/android/PlatformTouchEventAndroid.cpp:
- (WebCore::PlatformTouchEvent::PlatformTouchEvent): ditto.
-
-2010-03-10 Steve Block <steveblock@google.com>
-
- Reviewed by Jeremy Orlow.
-
- Implements Geolocation maximumAge property
- https://bugs.webkit.org/show_bug.cgi?id=30676
-
- Test: fast/dom/Geolocation/maximum-age.html
-
- * WebCore.xcodeproj/project.pbxproj: Modified. Adds GeolocationPositionCache.h to Private headers
- * page/Geolocation.cpp: Modified.
- (WebCore::Geolocation::GeoNotifier::setUseCachedPosition): Added.
- (WebCore::Geolocation::GeoNotifier::runSuccessCallback): Added.
- (WebCore::Geolocation::GeoNotifier::timerFired): Modified. Added logic to handle using a cached position
- (WebCore::Geolocation::Watchers::contains): Added. Required to determine if a notifier is a watch request
- (WebCore::Geolocation::startRequest): Modified. Added logic to check for a cached position
- (WebCore::Geolocation::requestUsesCachedPosition): Added. Callback to Geolocation object when notifier uses a cached position
- (WebCore::Geolocation::makeCachedPositionCallbacks): Added.
- (WebCore::Geolocation::haveSuitableCachedPosition): Added.
- (WebCore::Geolocation::setIsAllowed): Modified.
- (WebCore::Geolocation::positionChanged): Modified. Make callbacks using cached position where appropriate
- (WebCore::Geolocation::geolocationServiceErrorOccurred): Modified. Make callbacks using cached position where appropriate
- * page/Geolocation.h: Modified.
-
-2010-03-11 Csaba Osztrogonác <ossy@webkit.org>
-
- Unreviewed buildfix after r55823. (To fix Qt --minimal build.)
- I have déjà vu, I'm sure that I did it before. (r55598)
-
- * bindings/js/JSDOMWindowCustom.cpp: Missing #if ENABLE(DATABASE) guard added.
-
-2010-03-11 Csaba Osztrogonác <ossy@webkit.org>
-
- [Qt] Unreviewed buildfix after r55833.
-
- Rename all instances of data() to characters()
-
- * bridge/qt/qt_class.cpp:
- (JSC::Bindings::QtClass::fieldNamed):
- * bridge/qt/qt_runtime.cpp:
- (JSC::Bindings::convertValueToQVariant):
-
-2010-03-11 Zoltan Horvath <zoltan@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- Allow custom memory allocation control for RenderLayerBacking class
- https://bugs.webkit.org/show_bug.cgi?id=35857
-
- Inherits the following class from Noncopyable because it is
- instantiated by 'new' and no need to be copyable:
-
- class name - instantiated at: WebCore/'location'
- RenderLayerBacking - rendering/RenderLayer.cpp:3047
-
- * rendering/RenderLayerBacking.h:
-
-2010-03-11 Zoltan Horvath <zoltan@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- Allow custom memory allocation control for TimingFunction struct
- https://bugs.webkit.org/show_bug.cgi?id=35855
-
- Inherits the following struct from FastAllocBase because it is
- instantiated by 'new':
-
- class name - instantiated at: WebCore/'location'
- TimingFuction - platform/graphics/GraphicsLayer.h:89
-
- * platform/animation/TimingFunction.h:
-
-2010-03-10 Gavin Barraclough <barraclough@apple.com>
-
- Rubber stamped by Oliver Hunt.
-
- Rename JSC::UStringImpl::data() to characters(), to match WebCore::StringImpl.
-
- * bridge/jni/jsc/JavaStringJSC.h:
- (JSC::Bindings::JavaStringImpl::uchars):
- * platform/text/AtomicString.cpp:
- (WebCore::AtomicString::add):
- (WebCore::AtomicString::find):
-
-2010-03-10 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Mark Rowe.
-
- Fix for r55825, threadsafeCopy no longer needs to special-case for
- empty strings (in fact, doing so results in leaks).
-
- * platform/text/StringImpl.cpp:
- (WebCore::StringImpl::threadsafeCopy):
-
-2010-03-10 Chang Shu <chang.shu@nokia.com>
-
- Reviewed by Darin Adler.
-
- While calculating alpha channel, convert the floating point value to
- an integer in [0, 256) with equal distribution.
- https://bugs.webkit.org/show_bug.cgi?id=22150
-
- * css/CSSParser.cpp:
- (WebCore::CSSParser::parseColorParameters):
-
-2010-03-10 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Darin Adler, Geoffrey Garen, Maciej Stachowiak.
-
- https://bugs.webkit.org/show_bug.cgi?id=35991
- Would be faster to not use a thread specific to implement StringImpl::empty()
-
- Copy JavaScriptCore in making 'static' strings threadsafe, make the empty string a static,
- shared by all threads.
-
- ~2% progression on Dromaeo DOM core & JS lib tests.
-
- * platform/ThreadGlobalData.cpp:
- (WebCore::ThreadGlobalData::ThreadGlobalData):
- (WebCore::ThreadGlobalData::~ThreadGlobalData):
- * platform/ThreadGlobalData.h:
- (WebCore::ThreadGlobalData::eventNames):
- * platform/text/StringImpl.cpp:
- (WebCore::StringImpl::StringImpl):
- (WebCore::StringImpl::empty):
- * platform/text/StringImpl.h:
- (WebCore::StringImpl::deref):
- (WebCore::StringImpl::hasOneRef):
-
-2010-03-08 Dumitru Daniliuc <dumi@chromium.org>
-
- Reviewed by Adam Barth.
-
- Adding support for the optional creation callback that could be
- passed to openDatabase().
-
- Tests: storage/open-database-creation-callback.html
- storage/open-database-creation-callback-isolated-world.html
-
- https://bugs.webkit.org/show_bug.cgi?id=34726
-
- * Android.jscbindings.mk
- * Android.v8bindings.mk
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/js/JSDOMWindowCustom.cpp:
- (WebCore::JSDOMWindow::openDatabase):
- * bindings/js/JSDatabaseCallback.cpp: Added.
- (WebCore::JSDatabaseCallback::JSDatabaseCallback):
- (WebCore::JSDatabaseCallback::~JSDatabaseCallback):
- (WebCore::JSDatabaseCallback::handleEvent):
- * bindings/js/JSDatabaseCallback.h: Added.
- (WebCore::JSDatabaseCallback::create):
- * bindings/v8/custom/V8DOMWindowCustom.cpp:
- (WebCore::V8DOMWindow::openDatabaseCallback):
- * bindings/v8/custom/V8DatabaseCallback.cpp: Added.
- (WebCore::V8DatabaseCallback::V8DatabaseCallback):
- (WebCore::V8DatabaseCallback::~V8DatabaseCallback):
- (WebCore::V8DatabaseCallback::handleEvent):
- * bindings/v8/custom/V8DatabaseCallback.h: Added.
- (WebCore::V8DatabaseCallback::create):
- * page/DOMWindow.cpp:
- (WebCore::DOMWindow::openDatabase):
- * page/DOMWindow.h:
- * page/DOMWindow.idl:
- * storage/Database.cpp:
- (WebCore::DatabaseCreationCallbackTask::create):
- (WebCore::DatabaseCreationCallbackTask::performTask):
- (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
- (WebCore::Database::openDatabase):
- (WebCore::Database::Database):
- (WebCore::Database::performOpenAndVerify):
- (WebCore::Database::performCreationCallback):
- * storage/Database.h:
- (WebCore::Database::isNew):
- * storage/DatabaseCallback.h: Added.
- (WebCore::DatabaseCallback::~DatabaseCallback):
- * workers/WorkerContext.cpp:
- (WebCore::WorkerContext::openDatabase):
- * workers/WorkerContext.h:
-
-2010-03-10 Justin Schuh <jschuh@chromium.org>
-
- Reviewed by Adam Barth.
-
- Make Chrome consistently handle leading format characters in URLs
-
- https://bugs.webkit.org/show_bug.cgi?id=35948
-
- Test: http/tests/security/xss-DENIED-window-open-javascript-url-leading-format-char.html
-
- * platform/KURLGoogle.cpp:
-
-2010-03-10 Jian Li <jianli@chromium.org>
-
- Reviewed by Dmitry Titov.
-
- Implementing DOMFormData class.
- https://bugs.webkit.org/show_bug.cgi?id=35707
-
- This patch only addresses the implementation of DOMFormData class and
- moves the FormData construction logic from HTMLFormElement::createFormData
- to FormData::create() so that it can be used by both HTMLFormElement
- and XMLHttpRequest.
-
- The DOMFormData IDL interface will be exposed in another patch and the
- test will be added then.
-
- * Android.mk:
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * html/DOMFormData.cpp: Added.
- * html/DOMFormData.h: Added.
- * html/FormDataList.h:
- (WebCore::FormDataList::encoding):
- * html/HTMLFormElement.cpp:
- (WebCore::HTMLFormElement::createFormData):
- (WebCore::HTMLFormElement::submit):
- * html/HTMLFormElement.h:
- * platform/network/FormData.cpp:
- (WebCore::FormData::create):
- (WebCore::FormData::createMultiPart):
- (WebCore::FormData::appendDOMFormData):
- * platform/network/FormData.h:
- (WebCore::FormData::boundary):
- * xml/XMLHttpRequest.cpp:
- (WebCore::XMLHttpRequest::send):
- * xml/XMLHttpRequest.h:
-
-2010-03-10 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Beth Dakin.
-
- VoiceOver can navigate to hidden content in widget (WAI-ARIA)
- https://bugs.webkit.org/show_bug.cgi?id=35986
-
- Elements that are subclassers of AXRenderObject have not been respecting
- aria-hidden and other cases that would make them ignored. This applies
- to tables, rows, cells, select boxes, sliders, and lists. Select boxes
- also need to make sure their option elements respect aria-hidden as well.
-
- Test: accessibility/aria-hidden-with-elements.html
-
- * accessibility/AccessibilityList.cpp:
- (WebCore::AccessibilityList::accessibilityIsIgnored):
- * accessibility/AccessibilityListBox.cpp:
- (WebCore::AccessibilityListBox::addChildren):
- (WebCore::AccessibilityListBox::accessibilityIsIgnored):
- (WebCore::AccessibilityListBox::doAccessibilityHitTest):
- * accessibility/AccessibilityListBox.h:
- * accessibility/AccessibilityListBoxOption.cpp:
- (WebCore::AccessibilityListBoxOption::accessibilityIsIgnored):
- * accessibility/AccessibilityListBoxOption.h:
- * accessibility/AccessibilityRenderObject.cpp:
- (WebCore::AccessibilityRenderObject::accessibilityIsIgnoredCommon):
- (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
- (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
- * accessibility/AccessibilityRenderObject.h:
- * accessibility/AccessibilitySlider.cpp:
- (WebCore::AccessibilitySlider::accessibilityIsIgnored):
- * accessibility/AccessibilitySlider.h:
- (WebCore::AccessibilitySlider::roleValue):
- (WebCore::AccessibilitySliderThumb::roleValue):
- (WebCore::AccessibilitySliderThumb::accessibilityIsIgnored):
- * accessibility/AccessibilityTable.cpp:
- (WebCore::AccessibilityTable::accessibilityIsIgnored):
- * accessibility/AccessibilityTableCell.cpp:
- (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
- * accessibility/AccessibilityTableColumn.cpp:
- (WebCore::AccessibilityTableColumn::accessibilityIsIgnored):
- * accessibility/AccessibilityTableColumn.h:
- (WebCore::AccessibilityTableColumn::roleValue):
- * accessibility/AccessibilityTableHeaderContainer.cpp:
- (WebCore::AccessibilityTableHeaderContainer::accessibilityIsIgnored):
- * accessibility/AccessibilityTableHeaderContainer.h:
- * accessibility/AccessibilityTableRow.cpp:
- (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
-
-2010-03-10 Dmitry Titov <dimich@chromium.org>
-
- Reviewed by Darin Adler.
-
- Make Document::postTask to use a single queue of tasks, to fire them in order
- https://bugs.webkit.org/show_bug.cgi?id=35943
-
- Test: existing worker-cloneport.html which was broken by initial patch in http://trac.webkit.org/changeset/55593.
- Additional test which indirectly verifies the order of execution will come as part of https://bugs.webkit.org/show_bug.cgi?id=34726
-
- * dom/Document.cpp:
- (WebCore::Document::postTask): Always use the same task queue, independent of what thread is posting the task.
-
-2010-03-10 Sanjeev Radhakrishnan <sanjeevr@chromium.org>
-
- Reviewed by Darin Fisher.
-
- Allow a plugin to participate in the browser's print workflow.
- https://bugs.webkit.org/show_bug.cgi?id=35550
-
- * loader/PluginDocument.cpp:
- * loader/PluginDocument.h:
-
-2010-03-10 Ilya Tikhonovsky <loislo@loislo-macbookpro.local>
+2010-05-25 Yuta Kitamura <yutak@chromium.org>
Reviewed by Pavel Feldman.
- Sidebar resize element height was adjusted.
- Display name for Function Call details was adjusted.
-
- https://bugs.webkit.org/show_bug.cgi?id=35939
-
- * inspector/front-end/TimelinePanel.js:
- (WebInspector.TimelinePanel.prototype._refreshRecords):
- (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
-
-2010-03-10 Charles Wei <charles.wei@torchmobile.com.cn>
-
- Reviewed by George Staikos.
-
- Fix https://bugs.webkig.org/show_bug.cgi?id=35207
- When XHTMLMP is enabled, all xhtml documents fail to render for webkit portings wich use libxml2 tokenizer.
-
- No new tests as all the xhtml test cases in LayoutTests/dom/xhtml fails without this fix when XHTMLMP is enabled.
-
- * dom/Document.cpp:
- (WebCore::Document::isXHTMLMPDocument):
- * dom/XMLTokenizerLibxml2.cpp:
- (WebCore::XMLTokenizer::internalSubset):
- (WebCore::externalSubsetHandler):
-
-2010-03-10 Garret Kelly <gdk@chromium.org>
-
- Reviewed by Darin Fisher.
-
- Adding all of the touch-related sources into Chromium's WebCore build.
- https://bugs.webkit.org/show_bug.cgi?id=35874
-
- Patch tested against the try bots, but the feature is exercised in the
- fast/events/touch tests.
-
- * WebCore.gypi:
-
-2010-03-10 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: now that audits panel is added, add it to the
- enums (for storing last active, etc.).
-
- https://bugs.webkit.org/show_bug.cgi?id=35980
-
- * inspector/InspectorController.cpp:
- (WebCore::InspectorController::setWindowVisible):
- (WebCore::InspectorController::specialPanelForJSName):
- * inspector/InspectorController.h:
- (WebCore::InspectorController::):
- * inspector/InspectorFrontend.cpp:
- (WebCore::InspectorFrontend::showPanel):
- * inspector/front-end/inspector.js:
- (WebInspector.showAuditsPanel):
-
-2010-03-10 Nate Chapin <japhet@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [V8] Instead of describing the type of a wrapped v8 object
- with an enum value, use a pointer to struct with more complete
- information.
-
- https://bugs.webkit.org/show_bug.cgi?id=35941
-
- Refactoring only, so new tests.
-
- * bindings/scripts/CodeGeneratorV8.pm:
- * bindings/v8/DOMData.cpp:
- * bindings/v8/DOMData.h:
- * bindings/v8/NPV8Object.cpp:
- * bindings/v8/V8Collection.h:
- * bindings/v8/V8DOMWindowShell.cpp:
- * bindings/v8/V8DOMWindowShell.h:
- * bindings/v8/V8DOMWrapper.cpp:
- * bindings/v8/V8DOMWrapper.h:
- * bindings/v8/V8GCController.cpp:
- * bindings/v8/V8Helpers.cpp:
- * bindings/v8/V8Helpers.h:
- * bindings/v8/V8Index.cpp: Removed.
- * bindings/v8/V8Index.h:
- * bindings/v8/V8NPObject.cpp:
- * bindings/v8/V8Proxy.cpp:
- * bindings/v8/V8Proxy.h:
- * bindings/v8/WorkerContextExecutionProxy.cpp:
- * bindings/v8/custom/V8DOMWindowCustom.cpp:
- * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
- * bindings/v8/custom/V8HTMLAudioElementConstructor.h:
- * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
- * bindings/v8/custom/V8HTMLImageElementConstructor.h:
- * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
- * bindings/v8/custom/V8HTMLOptionElementConstructor.h:
- * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
- * bindings/v8/custom/V8MessageChannelConstructor.cpp:
- * bindings/v8/custom/V8SharedWorkerCustom.cpp:
- * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
- * bindings/v8/custom/V8WebGLArrayCustom.h:
- * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
- * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
- * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
- * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
- * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
- * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
- * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
- * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
- * bindings/v8/custom/V8WebKitPointConstructor.cpp:
- * bindings/v8/custom/V8WebSocketCustom.cpp:
- * bindings/v8/custom/V8WorkerCustom.cpp:
- * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
- * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
-
-2010-03-10 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Dave Hyatt.
- Patch by Antonio Gomes <tonikitoo@webkit.org>
-
- Extend keyboard navigation to allow directional navigation (Manual tests)
- https://bugs.webkit.org/show_bug.cgi?id=18662
-
- Adds a manual tests for the Spatial Navigation feature comprasing varios
- Html focusable elements (e.g. <a>, <table>, <iframe>) and much of the logic
- provided by the feature.
-
- * manual-tests/spatial-navigation/links.html: Added.
- * manual-tests/spatial-navigation/spatial-navigation-test-cases.html: Added.
-
-2010-03-10 Leandro Pereira <leandro@profusion.mobi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Add EFL port files to platform/efl.
- http://webkit.org/b/35890
-
- * platform/efl/ScrollbarEfl.h: Added.
- * platform/efl/ScrollbarThemeEfl.h: Added.
-
-2010-03-10 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Audits panel needs an icon.
- Landing icon attached by Timothy. Enabling panel!
-
- https://bugs.webkit.org/show_bug.cgi?id=35945
-
- * WebCore.gypi:
- * inspector/front-end/Images/auditsIcon.png: Added.
- * inspector/front-end/WebKit.qrc:
- * inspector/front-end/inspector.css:
-
-2010-03-10 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Roll-out r55657, as Xan noticed a bad degradation in playing
- youtube HTML5 videos with it, that is fixed with it
- reverted. Looks like we'll need to work a bit more on this.
-
- * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
- (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
- (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
- (WebCore::MediaPlayerPrivate::volumeChangedTimerFired):
- (WebCore::MediaPlayerPrivate::volumeChanged):
- (WebCore::MediaPlayerPrivate::processBufferingStats):
- (WebCore::MediaPlayerPrivate::fillTimerFired):
- (WebCore::MediaPlayerPrivate::maxTimeLoaded):
- (WebCore::MediaPlayerPrivate::updateStates):
- (WebCore::MediaPlayerPrivate::muteChangedTimerFired):
- (WebCore::MediaPlayerPrivate::muteChanged):
- * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
-
-2010-03-10 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Rubber-stamped by Xan Lopez.
-
- Fix ready state when buffering under PLAYING. We should not go
- back to HaveNothing in that case.
-
- * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
- (WebCore::MediaPlayerPrivate::updateStates):
-
-2010-03-10 Ada Chan <adachan@apple.com>
-
- Reviewed by Adam Roben.
-
- https://bugs.webkit.org/show_bug.cgi?id=35976
-
- Retrieve any dwItemData that's set on the context menu item in contextMenuItemByIdOrPosition().
-
- * platform/win/ContextMenuWin.cpp:
-
-2010-03-10 Jeremy Orlow <jorlow@chromium.org>
-
- Reviewed by Darin Fisher.
-
- Add IndexedDatabase class and hook it up.
- https://bugs.webkit.org/show_bug.cgi?id=35927
-
- This change is mostly just adding the plumbing necessary for
- the IndexedDatabaseRequest and IndexedDatabaseSync (not written
- yet).
-
- This code is non-functional, so no tests (yet).
-
- * WebCore.gyp/WebCore.gyp:
- * WebCore.gypi:
- * platform/chromium/ChromiumBridge.h:
- * storage/IndexedDatabase.cpp: Added.
- (WebCore::IndexedDatabase::get):
- * storage/IndexedDatabase.h: Added.
- (WebCore::IndexedDatabase::~IndexedDatabase):
- * storage/IndexedDatabaseImpl.cpp: Added.
- (WebCore::IndexedDatabaseImpl::get):
- (WebCore::IndexedDatabaseImpl::IndexedDatabaseImpl):
- (WebCore::IndexedDatabaseImpl::~IndexedDatabaseImpl):
- (WebCore::IndexedDatabaseImpl::open):
- * storage/IndexedDatabaseImpl.h: Added.
- * storage/chromium/IndexedDatabase.cpp: Added.
- (WebCore::IndexedDatabase::get):
-
-2010-03-05 Dimitri Glazkov <dglazkov@chromium.org>
-
- Reviewed by Sam Weinig.
-
- Add one more parent check during node removal.
- https://bugs.webkit.org/show_bug.cgi?id=35818
-
- Test: fast/dom/Node/mutation-blur.html
-
- * dom/ContainerNode.cpp:
- (WebCore::ContainerNode::removeChild): Added check.
-
-2010-03-10 Pavel Feldman <pfeldman@chromium.org>
-
- Not reviewed: added missing quote into localized strings.
-
- * English.lproj/localizedStrings.js:
-
-2010-03-10 Jeremy Orlow <jorlow@chromium.org>
-
- Commit files that were supposed to go in with the last checkin.
-
-2010-03-10 Jeremy Orlow <jorlow@chromium.org>
-
- Reviewed by Dimitry Glazkov.
-
- Baby steps towards IndexedDB: Start implementing callbacks.
- https://bugs.webkit.org/show_bug.cgi?id=35911
-
- This patch adds some infastructure for IndexedDB callbacks in V8.
- It also adds a stub of IDBDatabaseRequest. In the near future,
- I'll gut the event based implementation code, flesh out IDBReqest
- further, and start plumbing IndexedDatabaseRequest.
-
- Code is not testible because it doesn't work (yet).
-
- * WebCore.gypi:
- * bindings/v8/DOMObjectsInclude.h:
- * bindings/v8/V8Index.cpp:
- * bindings/v8/V8Index.h:
- * bindings/v8/custom/V8CustomIDBCallback.h: Added.
- (WebCore::V8CustomIDBCallback::create):
- (WebCore::V8CustomIDBCallback::~V8CustomIDBCallback):
- (WebCore::V8CustomIDBCallback::handleEvent):
- (WebCore::V8CustomIDBCallback::V8CustomIDBCallback):
- * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp:
- (WebCore::V8IndexedDatabaseRequest::openCallback):
- * storage/IDBDatabaseRequest.h: Added.
- (WebCore::IDBDatabaseRequest::request):
- * storage/IDBDatabaseRequest.idl: Added.
- * storage/IndexedDatabaseRequest.idl:
-
-2010-03-10 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Non animated gifs are animated in QtWebKit
- https://bugs.webkit.org/show_bug.cgi?id=35955
-
- Properly map Qt animated and non-animated values to WebCore's
- understanding of animated and non-animated images. Currently
- we can not map anything to the cAnimationLoopNone value.
-
- * manual-tests/qt/qt-anim.gif: Added.
- * manual-tests/qt/qt-gif-test.html: Added.
- * manual-tests/qt/qt-noanim.gif: Added.
- * platform/graphics/qt/ImageDecoderQt.cpp:
- (WebCore::ImageDecoderQt::repetitionCount):
-
-2010-03-07 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Darin Adler.
-
- [CAIRO] DoS on iexploder test with high text stroke width.
- https://bugs.webkit.org/show_bug.cgi?id=33759
-
- Specifying a big text stroke width can make WebKitGTK+ spend
- a very long time in the cairo library for stroking the path of
- the text. The best way to prevent this from happening right now
- is to not stroke paths with a certain width. Samuel proposed to
- not stroke with a width that is twice the width of the text. The
- reason to use twice the text width is that even one stroke of
- any charachter to be drawn would cover the full width.
-
- Test: fast/text/text-stroke-width-cairo-dos.html
-
- * platform/graphics/cairo/FontCairo.cpp:
- (WebCore::Font::drawGlyphs):
-
-2010-03-10 Andrey Kosyakov <caseq@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: display list of active workers & support debugging
- with fake workers.
- https://bugs.webkit.org/show_bug.cgi?id=35568
-
- * English.lproj/localizedStrings.js:
- * WebCore.gypi:
- * WebCore.vcproj/WebCore.vcproj:
- * bindings/js/JSInjectedScriptHostCustom.cpp:
- (WebCore::InjectedScriptHost::createInjectedScript):
- (WebCore::InjectedScriptHost::injectedScriptFor):
- * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
- (WebCore::InjectedScriptHost::createInjectedScript):
- (WebCore::InjectedScriptHost::injectedScriptFor):
- * dom/Document.cpp:
- (WebCore::Document::inspectorController):
- * dom/Document.h:
- * dom/ScriptExecutionContext.h:
- (WebCore::ScriptExecutionContext::inspectorController):
- * inspector/InjectedScriptHost.cpp:
- (WebCore::InjectedScriptHost::InjectedScriptHost):
- (WebCore::InjectedScriptHost::injectScript):
- (WebCore::InjectedScriptHost::nextWorkerId):
- (WebCore::InjectedScriptHost::didCreateWorker):
- (WebCore::InjectedScriptHost::willDestroyWorker):
- * inspector/InjectedScriptHost.h:
- * inspector/InjectedScriptHost.idl:
- * inspector/InspectorController.cpp:
- (WebCore::InspectorController::populateScriptObjects):
- (WebCore::InspectorController::resetScriptObjects):
- (WebCore::InspectorController::didCommitLoad):
- (WebCore::InspectorController::didCreateWorker):
- (WebCore::InspectorController::willDestroyWorker):
- * inspector/InspectorController.h:
- * inspector/InspectorFrontend.cpp:
- (WebCore::InspectorFrontend::didCreateWorker):
- (WebCore::InspectorFrontend::willDestroyWorker):
- * inspector/InspectorFrontend.h:
- * inspector/InspectorWorkerResource.h: Added.
- (WebCore::InspectorWorkerResource::create):
- (WebCore::InspectorWorkerResource::id):
- (WebCore::InspectorWorkerResource::url):
- (WebCore::InspectorWorkerResource::isSharedWorker):
- (WebCore::InspectorWorkerResource::InspectorWorkerResource):
- * inspector/front-end/Checkbox.js: Added.
- (WebInspector.Checkbox.callbackWrapper):
- (WebInspector.Checkbox):
- (WebInspector.Checkbox.prototype.checked):
- * inspector/front-end/InjectedFakeWorker.js:
- (InjectedFakeWorker.FakeWorker):
- (InjectedFakeWorker.FakeWorker.prototype.terminate):
- (InjectedFakeWorker.FakeWorker.prototype._handleException):
- (InjectedFakeWorker.FakeWorker.prototype._importScripts):
- (InjectedFakeWorker.FakeWorker.prototype._loadScript):
- (InjectedFakeWorker.FakeWorker.prototype._expandURLAndCheckOrigin):
- * inspector/front-end/ScriptsPanel.js:
- (WebInspector.ScriptsPanel):
- (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled):
- (WebInspector.ScriptsPanel.prototype.debuggerWasDisabled):
- (WebInspector.ScriptsPanel.prototype.reset):
- * inspector/front-end/StylesSidebarPane.js:
- (WebInspector.StylePropertiesSection.showInheritedToggleFunction):
- (WebInspector.StylePropertiesSection):
- * inspector/front-end/WebKit.qrc:
- * inspector/front-end/WorkersSidebarPane.js: Added.
- (WebInspector.WorkersSidebarPane):
- (WebInspector.WorkersSidebarPane.prototype.addWorker):
- (WebInspector.WorkersSidebarPane.prototype.removeWorker):
- (WebInspector.WorkersSidebarPane.prototype.setInstrumentation):
- (WebInspector.WorkersSidebarPane.prototype.reset):
- (WebInspector.WorkersSidebarPane.prototype._onTriggerInstrument):
- (WebInspector.Worker):
- (WebInspector.didCreateWorker):
- (WebInspector.willDestroyWorker):
- * inspector/front-end/inspector.css:
- * inspector/front-end/inspector.html:
- * workers/AbstractWorker.cpp:
- (WebCore::AbstractWorker::AbstractWorker):
- (WebCore::AbstractWorker::~AbstractWorker):
- (WebCore::AbstractWorker::onDestroyWorker):
- (WebCore::AbstractWorker::contextDestroyed):
- * workers/AbstractWorker.h:
- (WebCore::AbstractWorker::id):
- * workers/SharedWorker.cpp:
- (WebCore::SharedWorker::SharedWorker):
- * workers/Worker.cpp:
- (WebCore::Worker::Worker):
-
-2010-03-10 Roland Steiner <rolandsteiner@chromium.org>
-
- Unreviewed build fix. Fix variable name change that somehow didn't
- make it into the patch.
-
-2010-03-10 Roland Steiner <rolandsteiner@chromium.org>
-
- Reviewed by David Levin.
-
- Bug 28293 - [Chromium] event.datatransfer.getdata("text/uri-list") is treated the same as getdata("URL")
- https://bugs.webkit.org/show_bug.cgi?id=28293
-
- Change ChromiumDataObject such that it treats types "URL" and "text/uri-list"
- correctly for event.dataTransfer.getData/setData. Currently both are treated
- as synonyms, but for "URL", getData is supposed to only return the first valid URL
- contained within the data for "text/uri-list" (see HTML5 spec).
-
- Tests: editing/pasteboard/dataTransfer-setData-getData.html
-
- * platform/chromium/ChromiumDataObject.cpp:
- (WebCore::ChromiumDataObject::clear):
- (WebCore::ChromiumDataObject::clearAllExceptFiles):
- (WebCore::ChromiumDataObject::hasData):
- (WebCore::ChromiumDataObject::ChromiumDataObject):
- * platform/chromium/ChromiumDataObject.h:
- (WebCore::ChromiumDataObject::clearURL):
- (WebCore::ChromiumDataObject::hasValidURL):
- (WebCore::ChromiumDataObject::getURL):
- (WebCore::ChromiumDataObject::setURL):
- * platform/chromium/ClipboardChromium.cpp:
- (WebCore::):
- (WebCore::clipboardTypeFromMIMEType):
- (WebCore::ClipboardChromium::clearData):
- (WebCore::ClipboardChromium::getData):
- (WebCore::ClipboardChromium::setData):
- (WebCore::ClipboardChromium::types):
- * platform/chromium/DragDataChromium.cpp:
- (WebCore::DragData::asURL):
- (WebCore::DragData::canSmartReplace):
-
-2010-03-09 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: REGRESSION: Tall image resources are cropped over the bottom.
-
- https://bugs.webkit.org/show_bug.cgi?id=34720
-
- * inspector/front-end/inspector.css:
-
-2010-03-09 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: REGRESSION: Pressing up/down arrow key to change numeric
- value in CSS property takes focus away.
-
- https://bugs.webkit.org/show_bug.cgi?id=34697
-
- * inspector/front-end/StylesSidebarPane.js:
- (WebInspector.StylePropertyTreeElement.prototype):
- (WebInspector.StylePropertyTreeElement.prototype.):
-
-2010-03-09 Tony Chang <tony@chromium.org>
-
- Reviewed by Adam Barth.
-
- https://bugs.webkit.org/show_bug.cgi?id=21840
- https://bugs.webkit.org/show_bug.cgi?id=23993
-
- Fix an editing bug where replacing a selection would result in the
- new text ending up inside nodes that were not visibly included in the
- selection. Instead, move our destination position out of nodes that
- were not visibly included.
-
- Tests: editing/deleting/backspace-avoid-preceding-style.html
- editing/inserting/replace-at-visible-boundary.html
-
- * editing/ReplaceSelectionCommand.cpp:
- (WebCore::positionAvoidingPrecedingNodes):
- (WebCore::ReplaceSelectionCommand::doApply):
-
-2010-03-09 Brady Eidson <beidson@apple.com>
+ Web Inspector: Show HTTP status message sent from server in Resources tab.
- Reviewed by Tim Hatcher.
+ This patch obtains an HTTP status message of each resource and pass it to
+ the front end of Web Inspector. The status message is shown in "Headers" tab in
+ the detail view of that resource, along with the HTTP status code.
- REGRESSION: WebInspector docking busted on Windows
- <rdar://problem/7728433> and https://bugs.webkit.org/show_bug.cgi?id=35953
+ Web Inspector does not respect HTTP status message
+ https://bugs.webkit.org/show_bug.cgi?id=39595
- First off, a bit of settings-key related cleanup. If they're shared over multiple files, these
- things should be properly declared Strings, not random loose char*'s.
-
- Along with that change, we move the "inspectorStartsAttachedSettingName" from WebKit down to the
- InspectorController in WebCore.
-
- Finally, when the controller is ready to show the WebInspector window, it can use this newly
- exposed settings key to call "setWindowVisible" directly instead of relying on "showWindow" to do
- it indirectly.
-
- * WebCore.base.exp:
-
- * inspector/InspectorBackend.cpp:
- (WebCore::InspectorBackend::saveFrontendSettings):
- * inspector/InspectorController.cpp:
- (WebCore::InspectorController::frontendSettingsSettingName):
- (WebCore::InspectorController::inspectorStartsAttachedSettingName):
- (WebCore::InspectorController::scriptObjectReady): Using the new inspectorStartsAttachedSettingName
- key and some "can I attach this?" logic, call setWindowVisible directly to display the inspector
- window.
- (WebCore::InspectorController::populateScriptObjects):
- * inspector/InspectorController.h:
-
-2010-03-09 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Mark Rowe.
-
- https://bugs.webkit.org/show_bug.cgi?id=35951
- <rdar://problem/7327060> Frequent crashes in Dashcode at JSC::Bindings::ObjcInstance::~ObjcInstance + 80
-
- * bridge/objc/objc_instance.mm: (createInstanceWrapperCache): Fix Tiger code path, too.
-
-2010-03-09 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=35951
- <rdar://problem/7327060> Frequent crashes in Dashcode at JSC::Bindings::ObjcInstance::~ObjcInstance + 80
-
- * bridge/objc/objc_instance.mm: (createInstanceWrapperCache): It's not correct to use object
- personality for keys, because the key can be a mutable object, so its hash can change over its
- lifetime.
-
-2010-03-09 Ojan Vafai <ojan@chromium.org>
-
- Reviewed by Darin Adler.
-
- Fix review comment accidentally overlooked in bug 35713
- https://bugs.webkit.org/show_bug.cgi?id=35947
-
- * editing/DeleteSelectionCommand.cpp:
- (WebCore::DeleteSelectionCommand::setStartingSelectionOnSmartDelete):
- * editing/DeleteSelectionCommand.h:
-
-2010-03-03 Ojan Vafai <ojan@chromium.org>
-
- Reviewed by Adam Barth.
-
- undo after smartdelete should select the deleted space
- https://bugs.webkit.org/show_bug.cgi?id=35713
-
- TextEdit behavior is to select the deleted space after a smartdelete.
-
- Tests: editing/undo/undo-smart-delete-reversed-selection.html
- editing/undo/undo-smart-delete-word.html
-
- * editing/DeleteSelectionCommand.cpp:
- (WebCore::DeleteSelectionCommand::setStartingSelectionOnSmartDelete):
- (WebCore::DeleteSelectionCommand::initializePositionData):
- * editing/DeleteSelectionCommand.h:
- * editing/VisibleSelection.cpp:
- (WebCore::VisibleSelection::setWithoutValidation):
- This assert looks bogus to me. undo-smart-delete-reversed-selection.html hits it
- but not as a result of the other changes in this patch. The granularity when
- deleting after making a wordgranularity selection is wordgranularity, not charactergranularity.
-
-2010-03-09 Steve Falkenburg <sfalken@apple.com>
-
- Rubber stamped by Adam Roben.
-
- Load debug version of graphics library in Windows Debug_All builds.
-
- * platform/graphics/win/WKCACFLayerRenderer.cpp:
- (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable):
-
-2010-03-09 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin Adler.
-
- Plug-ins don't always respect the cookie accept policy.
- <rdar://problem/7338359> and https://bugs.webkit.org/show_bug.cgi?id=26391
-
- The problem is that the various plug-in implementations call into a ResourceLoader
- directly instead of filtering the request through FrameLoader. This bypassed the step
- of adding extra fields to the requests, such as the firstPartyForCookies URL.
-
- Since plug-in code is currently so strewn about and very platform specific, I
- think reworking it needs to be a task for domain experts. I don't know the implications
- of adding *all* the extra fields to plug-in requests, for example.
-
- There's no harm in this targeted fix for the hole in our cookie accept policy until
- plug-ins can more fundamentally change.
-
- Test: http/tests/plugins/third-party-cookie-accept-policy.html
-
- * loader/ResourceLoader.cpp:
- (WebCore::ResourceLoader::load): Don't load a resource without first giving the request
- a firstPartyForCookies URL.
-
-2010-03-09 Andy Estes <aestes@apple.com>
-
- Reviewed by Adele Peterson.
-
- Check for null renderer in scrollNode().
- https://bugs.webkit.org/show_bug.cgi?id=34700
-
- Test: fast/events/remove-child-onscroll.html
-
- * page/EventHandler.cpp:
- (WebCore::scrollNode): Return early if node->renderer() == 0
-
-2010-03-09 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Unreviewed distcheck fix.
-
- * GNUmakefile.am:
-
-2010-03-09 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Unreviewed build fix (only exposed by make distcheck). The
- SharedWorkers files are not built, they need to be distributed.
-
- * GNUmakefile.am:
-
-2010-03-08 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Dirk Schulze.
-
- [GStreamer] Buffering logic is not correct, and does not work very well
- https://bugs.webkit.org/show_bug.cgi?id=35706
-
- Fix buffering to match GStreamer expectancies regarding the
- pipeline state, so that videos which really need buffering to play
- correctly also work, while maintaining the convenience of
- on-disk-buffering. This required a bit of shuffling of state
- change handling.
-
- No behaviour change expected.
-
- * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
- (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
- (WebCore::MediaPlayerPrivate::processBufferingStats):
- (WebCore::MediaPlayerPrivate::fillTimerFired):
- (WebCore::MediaPlayerPrivate::updateStates):
- * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
-
-2010-03-09 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Dirk Schulze.
-
- [GStreamer] Buffering logic is not correct, and does not work very well
- https://bugs.webkit.org/show_bug.cgi?id=35706
-
- Do not call pause(), but set the GStreamer state directly. This is
- just a GStreamer implementation detail, and this will avoid having
- side effects in case we change the pause implementation in the
- future.
-
- * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
- (WebCore::MediaPlayerPrivate::load):
-
-2010-03-09 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Darin Adler.
-
- AX: hit testing a list box doesn't work anymore
- https://bugs.webkit.org/show_bug.cgi?id=35893
-
- Since <option> elements don't have renderers, their hit testing needs
- to be handled with a special case.
-
- Test: platform/mac/accessibility/listbox-hit-test.html
-
- * accessibility/AccessibilityRenderObject.cpp:
- (WebCore::AccessibilityRenderObject::ariaIsHidden):
- (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
-
-2010-03-09 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Refactor Audits panel presentation layer.
- This change removes unnecessary complexity:
- - Audit scores were not used
- - Audit rule parameters are passed as rule constructor arguments
- - View management aligned with the rest of the front-end
- - Single TreeOutline is used for category results (no need to create sections for those)
- - Rules code beautified and simplified where possible
- - Some UI improvements applied (see attached screenshot)
-
- https://bugs.webkit.org/show_bug.cgi?id=35860
-
- * inspector/front-end/AuditCategories.js:
- (WebInspector.AuditCategories.PagePerformance.prototype.initialize):
- (WebInspector.AuditCategories.NetworkUtilization.prototype.initialize):
- * inspector/front-end/AuditResultView.js:
- (WebInspector.AuditResultView):
- (WebInspector.AuditCategoryResultPane):
- (WebInspector.AuditCategoryResultPane.prototype._appendResult):
- * inspector/front-end/AuditRules.js:
- (WebInspector.AuditRules.GzipRule.prototype.doRun):
- (WebInspector.AuditRules.CombineExternalResourcesRule):
- (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
- (WebInspector.AuditRules.CombineJsResourcesRule):
- (WebInspector.AuditRules.CombineCssResourcesRule):
- (WebInspector.AuditRules.MinimizeDnsLookupsRule):
- (WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype.doRun):
- (WebInspector.AuditRules.ParallelizeDownloadRule):
- (WebInspector.AuditRules.ParallelizeDownloadRule.prototype.doRun):
- (WebInspector.AuditRules.UnusedCssRule):
- (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
- (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.routine):
- (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
- (WebInspector.AuditRules.CacheControlRule):
- (WebInspector.AuditRules.CacheControlRule.prototype.doRun):
- (WebInspector.AuditRules.CacheControlRule.prototype.execCheck):
- (WebInspector.AuditRules.BrowserCacheControlRule):
- (WebInspector.AuditRules.BrowserCacheControlRule.prototype.handleNonCacheableResources):
- (WebInspector.AuditRules.BrowserCacheControlRule.prototype.runChecks):
- (WebInspector.AuditRules.ProxyCacheControlRule):
- (WebInspector.AuditRules.ProxyCacheControlRule.prototype.runChecks):
- (WebInspector.AuditRules.ImageDimensionsRule):
- (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
- (WebInspector.AuditRules.CssInHeadRule):
- (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
- (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.routine):
- (WebInspector.AuditRules.StylesScriptsOrderRule):
- (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
- (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.routine):
- (WebInspector.AuditRules.CookieRuleBase):
- (WebInspector.AuditRules.CookieRuleBase.prototype.doRun.resultCallback):
- (WebInspector.AuditRules.CookieRuleBase.prototype.doRun):
- (WebInspector.AuditRules.CookieSizeRule):
- (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
- (WebInspector.AuditRules.StaticCookielessRule):
- (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
- * inspector/front-end/AuditsPanel.js:
- (WebInspector.AuditsPanel):
- (WebInspector.AuditsPanel.prototype._executeAudit.ruleResultReadyCallback):
- (WebInspector.AuditsPanel.prototype._executeAudit):
- (WebInspector.AuditsPanel.prototype._reloadResources):
- (WebInspector.AuditsPanel.prototype._didMainResourceLoad):
- (WebInspector.AuditsPanel.prototype.showResults):
- (WebInspector.AuditsPanel.prototype.showLauncherView):
- (WebInspector.AuditsPanel.prototype.get visibleView):
- (WebInspector.AuditsPanel.prototype.set visibleView):
- (WebInspector.AuditsPanel.prototype.show):
- (WebInspector.AuditsPanel.prototype._clearButtonClicked):
- (WebInspector.AuditCategory.prototype.addRule):
- (WebInspector.AuditRule):
- (WebInspector.AuditRule.prototype.set severity):
- (WebInspector.AuditRule.prototype.run):
- (WebInspector.AuditRule.prototype.doRun):
- (WebInspector.AuditCategoryResult):
- (WebInspector.AuditCategoryResult.prototype.addRuleResult):
- (WebInspector.AuditRuleResult):
- (WebInspector.AuditRuleResult.prototype.addChild):
- (WebInspector.AuditRuleResult.prototype.addURL):
- (WebInspector.AuditRuleResult.prototype.addURLs):
- (WebInspector.AuditRuleResult.prototype.addSnippet):
- * inspector/front-end/Settings.js:
- * inspector/front-end/audits.css:
+ * inspector/InspectorResource.cpp:
+ (WebCore::InspectorResource::updateResponse):
+ (WebCore::InspectorResource::updateScriptObject):
+ * inspector/InspectorResource.h:
+ * inspector/front-end/Resource.js:
+ (WebInspector.Resource.CompareByTransferSize):
+ * inspector/front-end/ResourceView.js:
+ (WebInspector.ResourceView.prototype._refreshHTTPInformation):
* inspector/front-end/inspector.js:
- (WebInspector._createPanels):
- (WebInspector.documentKeyDown):
-
-2010-03-09 Yury Semikhatsky <yurys@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- When enable resource tracking state changes use the same method as
- location.reload for reloading inspected page.
-
- https://bugs.webkit.org/show_bug.cgi?id=35923
-
- * inspector/InspectorBackend.cpp:
- (WebCore::InspectorBackend::reloadPage):
- * inspector/InspectorController.cpp:
- (WebCore::InspectorController::enableResourceTracking):
-
-2010-03-09 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: highlight text node containers while searching for node.
-
- https://bugs.webkit.org/show_bug.cgi?id=35912
-
- * inspector/InspectorController.cpp:
- (WebCore::InspectorController::mouseDidMoveOverElement):
-
-2010-03-09 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GStreamer] player code cleanups
- https://bugs.webkit.org/show_bug.cgi?id=35868
-
- Cleaned up the private instance variables of the player.
-
- * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
- (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
- (WebCore::MediaPlayerPrivate::fillTimerFired):
- (WebCore::MediaPlayerPrivate::mediaLocationChanged):
- * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
-
-2010-03-09 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GStreamer] player code cleanups
- https://bugs.webkit.org/show_bug.cgi?id=35868
-
- Splitted GOwnPtrGtk.{cpp,h} to GOwnPtr{Soup,GStreamer}.{cpp,h}.
-
- * GNUmakefile.am:
- * platform/graphics/gstreamer/GOwnPtrGStreamer.cpp: Added.
- (WTF::GstElement):
- * platform/graphics/gstreamer/GOwnPtrGStreamer.h: Added.
- * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
- * platform/gtk/GOwnPtrGtk.cpp: Removed.
- * platform/gtk/GOwnPtrGtk.h: Removed.
- * platform/network/soup/CookieJarSoup.cpp:
- * platform/network/soup/DNSSoup.cpp:
- * platform/network/soup/GOwnPtrSoup.cpp: Added.
- (WTF::SoupURI):
- * platform/network/soup/GOwnPtrSoup.h: Added.
- * platform/network/soup/ResourceHandleSoup.cpp:
- * platform/network/soup/ResourceRequestSoup.cpp:
-
-2010-03-09 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Eric Seidel.
-
- [Chromium] Should remove paddings of Win/Linux chromium's buttons
- https://bugs.webkit.org/show_bug.cgi?id=35629
-
- No new tests, but we may need to rebaseline bunch of expectation
- images in chromium's tree.
-
- * rendering/RenderThemeChromiumSkia.cpp:
- * rendering/RenderThemeChromiumSkia.h:
-
-2010-03-08 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Adam Barth.
-
- Implement HTML5 <hgroup> element.
- https://bugs.webkit.org/show_bug.cgi?id=33369
-
- <hgroup> should behave the same as <nav>, <section>, <article>, and <aside>.
- <hgroup> has no specific parsing rules.
-
- Test: fast/html/hgroup-element.html
-
- * css/html.css: Add hgroup as a block element.
- * editing/htmlediting.cpp:
- (WebCore::validBlockTag): Add hgroupTag.
- * html/HTMLElement.cpp:
- (WebCore::createTagPriorityMap): Returns 5 for hgroupTag.
- (WebCore::blockTagList): Add hgroupTag.
- * html/HTMLParser.cpp:
- (WebCore::HTMLParser::getNode): Add hgroupTag.
- * html/HTMLTagNames.in: Add hgroup.
-
-2010-03-08 Tony Chang <tony@chromium.org>
-
- Reviewed by Adam Barth.
-
- https://bugs.webkit.org/show_bug.cgi?id=32131
- Crash when inserting an ordered list.
-
- Test: editing/execCommand/insert-ordered-list.html
-
- * editing/CompositeEditCommand.cpp:
- (WebCore::CompositeEditCommand::moveParagraphs):
- * editing/TextIterator.cpp:
- (WebCore::TextIterator::rangeFromLocationAndLength):
+ (WebInspector.updateResource):
+ * inspector/front-end/utilities.js:
+ (String.prototype.escapeHTML): Escape '"' so that we can escape messages
+ that may occur inside HTML attributes.
-2010-03-08 Darin Adler <darin@apple.com>
+2010-05-24 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
- Added a test for crash when you quit inside an unload handler.
- rdar://problem/6958347
-
- * manual-tests/quit-inside-unload.html: Added.
-
-2010-03-08 Darin Adler <darin@apple.com>
-
- Reviewed by Jon Honeycutt.
-
- Don't auto-play <audio> and <video> elements loaded in background tabs
- https://bugs.webkit.org/show_bug.cgi?id=35886
- rdar://problem/7117745
-
- * manual-tests/video-in-non-frontmost-tab.html: Added.
- * manual-tests/resources/video-tab.html: Added.
-
- * html/HTMLMediaElement.h: Added MediaCanStartListener as a base class, and
- added the mediaCanStart function as well as a boolean,
- m_isWaitingUntilMediaCanStart.
-
- * html/HTMLMediaElement.cpp:
- (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize
- m_isWaitingUntilMediaCanStart.
- (WebCore::HTMLMediaElement::~HTMLMediaElement): Call
- removeMediaCanStartListener if m_isWaitingUntilMediaCanStart is true.
- (WebCore::HTMLMediaElement::loadInternal): Set m_isWaitingUntilMediaCanStart
- and call addMediaCanStartListener if canStartMedia is false.
- (WebCore::HTMLMediaElement::mediaCanStart): Clear m_isWaitingUntilMediaCanStart
- and call loadInternal.
-
-2010-03-08 Csaba Osztrogonác <ossy@webkit.org>
-
- [GTK] Unreviewed buildfix after r55688.
-
- * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
- (webKitWebSrcStart):
-
-2010-03-08 Csaba Osztrogonác <ossy@webkit.org>
-
- [GTK] Unreviewed buildfix after r55688.
-
- * platform/network/soup/ResourceHandleSoup.cpp:
- (WebCore::):
-
-2010-03-08 Csaba Osztrogonác <ossy@webkit.org>
-
- [Qt] Unreviewed buildfix after r55688.
-
- * platform/network/qt/ResourceHandleQt.cpp:
- (WebCore::ResourceHandle::loadResourceSynchronously):
-
-2010-03-08 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=35879
- Eliminate m_mightDownloadFromHandle
-
- It was only used on Mac, and unnecessarily complicated the code.
+ https://bugs.webkit.org/show_bug.cgi?id=39615, implement basic support for -webkit-column-span.
- No change in behavior, thus no test.
+ This patch adds support for -webkit-column-span elements that can span across all of the columns
+ in a multi-column block. In this first stage, column span support is limited to only immediate
+ children of the multi-column block, so no elements actually have to split across a span yet.
- * loader/MainResourceLoader.cpp:
- (WebCore::MainResourceLoader::loadNow):
- * loader/ResourceLoader.cpp:
- (WebCore::ResourceLoader::load):
- * loader/appcache/ApplicationCacheGroup.cpp:
- (WebCore::ApplicationCacheGroup::createResourceHandle):
- * platform/network/ResourceHandle.cpp:
- (WebCore::ResourceHandle::ResourceHandle):
- (WebCore::ResourceHandle::create):
- * platform/network/ResourceHandle.h:
- * platform/network/ResourceHandleInternal.h:
- (WebCore::ResourceHandleInternal::ResourceHandleInternal):
- * platform/network/mac/ResourceHandleMac.mm:
- (WebCore::ResourceHandle::start):
-
-2010-03-02 Peter Kasting <pkasting@google.com>
-
- Reviewed by Adam Barth.
-
- Clean up usage of m_failed in open-source image decoders, part 1.
- https://bugs.webkit.org/show_bug.cgi?id=35411
+ Two new kinds of anonymous blocks have been added: anonymous columns blocks and anonymous column
+ span blocks. When a span gets inserted into a multicol block, the block is split, with the
+ column portions of the multicol getting wrapped in anonymous columns blocks and the spans getting
+ wrapped in anonymous column span blocks. The multicol block then stops being multicol and lets
+ the anonymous multicol blocks take over column layout.
- Makes setFailed() virtual so subclasses can override it (none do yet) to
- do automatic cleanup on failure; makes it return a bool for easy
- tailcalling; makes failed() the only way to access m_failed so
- subclasses are assured setFailed() won't be bypassed. Plus one or two
- other tiny cleanup bits.
-
- Overriding setFailed() is coming in a subsequent patch because it can be
- hairy and needs close review.
-
- No functional change, so no tests.
-
- * platform/graphics/qt/ImageDecoderQt.cpp:
- (WebCore::ImageDecoderQt::setData):
- (WebCore::ImageDecoderQt::frameBufferAtIndex):
- (WebCore::ImageDecoderQt::internalDecodeSize):
- (WebCore::ImageDecoderQt::internalReadImage):
- (WebCore::ImageDecoderQt::internalHandleCurrentImage):
- (WebCore::ImageDecoderQt::forceLoadEverything):
- (WebCore::ImageDecoderQt::clearPointers):
- * platform/graphics/qt/ImageDecoderQt.h:
- * platform/image-decoders/ImageDecoder.h:
- (WebCore::ImageDecoder::ImageDecoder):
- (WebCore::ImageDecoder::setData):
- (WebCore::ImageDecoder::setSize):
- (WebCore::ImageDecoder::setFailed):
- (WebCore::ImageDecoder::failed):
- * platform/image-decoders/bmp/BMPImageDecoder.cpp:
- (WebCore::BMPImageDecoder::isSizeAvailable):
- (WebCore::BMPImageDecoder::frameBufferAtIndex):
- (WebCore::BMPImageDecoder::processFileHeader):
- * platform/image-decoders/gif/GIFImageDecoder.cpp:
- (WebCore::GIFImageDecoder::setData):
- (WebCore::GIFImageDecoder::isSizeAvailable):
- (WebCore::GIFImageDecoder::frameBufferAtIndex):
- (WebCore::GIFImageDecoder::decode):
- (WebCore::GIFImageDecoder::initFrameBuffer):
- * platform/image-decoders/ico/ICOImageDecoder.cpp:
- (WebCore::ICOImageDecoder::decodeAtIndex):
- (WebCore::ICOImageDecoder::processDirectory):
- (WebCore::ICOImageDecoder::processDirectoryEntries):
- * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
- (WebCore::JPEGImageReader::decode):
- (WebCore::JPEGImageDecoder::setData):
- (WebCore::JPEGImageDecoder::isSizeAvailable):
- (WebCore::JPEGImageDecoder::frameBufferAtIndex):
- (WebCore::JPEGImageDecoder::outputScanlines):
- (WebCore::JPEGImageDecoder::decode):
- * platform/image-decoders/png/PNGImageDecoder.cpp:
- (WebCore::decodingFailed):
- (WebCore::PNGImageReader::decode):
- (WebCore::PNGImageDecoder::setData):
- (WebCore::PNGImageDecoder::isSizeAvailable):
- (WebCore::PNGImageDecoder::frameBufferAtIndex):
- (WebCore::PNGImageDecoder::headerAvailable):
- (WebCore::PNGImageDecoder::rowAvailable):
- (WebCore::PNGImageDecoder::decode):
- * platform/image-decoders/png/PNGImageDecoder.h:
-
-2010-03-08 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Darin Adler.
-
- Disallow WebGL when HW comp is not turned on at runtime
- https://bugs.webkit.org/show_bug.cgi?id=35759
-
- When HW comp is turned off with the runtime flag, WebGL would still
- create a context, but silently fail to render. This prevents that.
- Now if HW comp is turned off getContext('webgl') will return null.
-
- * html/HTMLCanvasElement.cpp:
- (WebCore::HTMLCanvasElement::getContext):
-
-2010-03-08 Darin Adler <darin@apple.com>
-
- Reviewed by Jon Honeycutt.
-
- https://bugs.webkit.org/show_bug.cgi?id=35876
-
- Fix minor style issues in HTMLMediaElement and classes derived from it.
- Made many public members private and protected.
-
- * html/HTMLMediaElement.cpp:
- (WebCore::HTMLMediaElement::screenRect): Got rid of a stray "const" and
- retstructured the function to use early return and get rid of a local.
-
- * html/HTMLMediaElement.h: Made lots of members private and some
- protected. Also use private inheritance instead of public. Removed
- some unneeded includes.
-
- * html/HTMLVideoElement.cpp:
- (WebCore::HTMLVideoElement::parseMappedAttribute): Use player() instead
- of m_player; HTMLMediaElement data members are now private, not protected.
- (WebCore::HTMLVideoElement::supportsFullscreen): Ditto.
- (WebCore::HTMLVideoElement::videoWidth): Ditto.
- (WebCore::HTMLVideoElement::videoHeight): Ditto.
- (WebCore::HTMLVideoElement::hasAvailableVideoFrame): Ditto.
- (WebCore::HTMLVideoElement::webkitEnterFullScreen): Use isFullscreen()
- instead of m_isFullscreen; same reason.
- (WebCore::HTMLVideoElement::webkitExitFullScreen): Ditto.
- (WebCore::HTMLVideoElement::webkitDisplayingFullscreen): Ditto.
-
- * html/HTMLVideoElement.h: Removed an unneeded include. Made many
- public functions private. Got rid of unused paint function, which was
- replaced with paintCurrentFrameInContext a while back.
-
-2010-03-08 Joanmarie Diggs <joanmarie.diggs@gmail.com>
-
- Reviewed by Xan Lopez.
-
- https://bugs.webkit.org/show_bug.cgi?id=30895
- [Gtk] The accessible hierarchy of tables is significantly incorrect for Atk
-
- Gives platforms the ability to exclude parts of an AccessibilityTable
- from the accessible hierarchy.
-
- * accessibility/gtk/AccessibilityObjectAtk.cpp:
- (AccessibilityObject::accessibilityPlatformIncludesObject):
- * accessibility/AccessibilityRenderObject.cpp:
- (AccessibilityRenderObject::determineAccessibilityRole):
- * accessibility/AccessibilityTable.cpp:
- (AccessibilityTable::addChildren):
- * accessibility/AccessibilityTableColumn.h:
- (accessibilityIsIgnored):
- * accessibility/AccessibilityTableHeaderContainer.h:
- (accessibilityIsIgnored):
- * accessibility/AccessibilityTableRow.cpp:
- (accessibilityIsIgnored):
-
-2010-03-08 Jian Li <jianli@chromium.org>
-
- No review. Fix build break on Tiger intel release.
-
- * html/Blob.cpp:
- * html/Blob.h:
-
-2010-03-02 Adam Treat <atreat@rim.com>
-
- Reviewed by Dave Hyatt.
-
- Refactor the HostWindow methods for repaint, scroll, invalidate and blit
- of backingstore and window by eliminating the three bools that currently
- exist as params of the repaint method.
- https://bugs.webkit.org/show_bug.cgi?id=34214
-
- I've added extra methods to provide the hosts with more semantic
- information of what is being requested thus eliminating the need for
- these bools.
-
- No tests as this change should not introduce any behavior changes in any
- of the ports.
-
- https://bugs.webkit.org/show_bug.cgi?id=34214
-
- * loader/EmptyClients.h:
- (WebCore::EmptyChromeClient::invalidateContents):
- (WebCore::EmptyChromeClient::invalidateWindow):
- (WebCore::EmptyChromeClient::invalidateContentsAndWindow):
- (WebCore::EmptyChromeClient::invalidateContentsForSlowScroll):
- * page/Chrome.cpp:
- (WebCore::Chrome::invalidateContents):
- (WebCore::Chrome::invalidateWindow):
- (WebCore::Chrome::invalidateContentsAndWindow):
- (WebCore::Chrome::invalidateContentsForSlowScroll):
- * page/Chrome.h:
- * page/ChromeClient.h:
- * page/FrameView.cpp:
- (WebCore::FrameView::invalidateRect):
- * platform/HostWindow.h:
- * platform/ScrollView.cpp:
- (WebCore::ScrollView::scrollContents):
- (WebCore::ScrollView::wheelEvent):
-
-2010-03-08 Adam Barth <abarth@webkit.org>
-
- Reviewed by Nate Chapin.
-
- [V8] Block popups from inline script
- https://bugs.webkit.org/show_bug.cgi?id=35474
-
- Apparently, we're supposed to look at the sourceURL to figure out
- whether we're running a script tag or a hyperlink. This logic is
- copied from the JSC version.
-
- Test: http/tests/security/popup-blocked-from-window-open.html
-
- * bindings/v8/ScriptController.cpp:
- (WebCore::ScriptController::processingUserGesture):
- (WebCore::ScriptController::evaluate):
-
-2010-03-08 Stuart Morgan <stuartmorgan@chromium.org>
-
- Reviewed by Darin Adler.
-
- Move the details of secure text mode into WebCore/platform.
- Move the higher-level logic for secure text mode from Frame
- to SelectionController.
-
- https://bugs.webkit.org/show_bug.cgi?id=31265
-
- No new tests: no functional changes.
-
- * WebCore.gypi:
- * WebCore.xcodeproj/project.pbxproj:
- * dom/Document.cpp:
- (WebCore::Document::setUseSecureKeyboardEntryWhenActive):
- * editing/SelectionController.cpp:
- (WebCore::SelectionController::focusedOrActiveStateChanged):
- (WebCore::SelectionController::updateSecureKeyboardEntryIfActive):
- (WebCore::SelectionController::setUseSecureKeyboardEntry):
- * editing/SelectionController.h:
- * page/Frame.cpp:
- (WebCore::Frame::setDocument):
- * page/Frame.h:
- * platform/SecureTextInput.cpp: Added.
- (WebCore::enableSecureTextInput):
- (WebCore::disableSecureTextInput):
- * platform/SecureTextInput.h: Added.
- (WebCore::enableSecureTextInput):
- (WebCore::disableSecureTextInput):
-
-2010-03-08 Brady Eidson <beidson@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Relax the 3rd party cookie policy in cases where it won't add a new tracking vector.
- <rdar://problem/7163012> and https://bugs.webkit.org/show_bug.cgi?id=35824
-
- Test: http/tests/cookies/third-party-cookie-relaxing.html
-
- If the 3rd-party domain in question already has a cookie set, allow changes
- by setting the first party url of the request to be the url of the request itself:
- * platform/network/cf/ResourceHandleCFNet.cpp:
- (WebCore::makeFinalRequest):
-
- Ditto:
- * platform/network/mac/ResourceHandleMac.mm:
- (WebCore::ResourceHandle::start):
- (WebCore::ResourceHandle::loadResourceSynchronously):
-
- I've filed <rdar://problem/7728508> to track changing the policy in our networking layer.
-
-2010-03-08 Jian Li <jianli@chromium.org>
-
- Reviewed by Dmitry Titov.
-
- Blob.slice support.
- https://bugs.webkit.org/show_bug.cgi?id=32993
-
- The following semantic is adopted per the discussions on public-webapps:
- 1) File.slice() does a synchronous IO to capture the current size and
- modification time and cache them in the resulting Blob.
- 2) Subsequent Blob operations, like Blob.slice and Blob.size simply
- use the cached values.
- 3) When the underlying file data are accessed, like in XHR.send(), the
- UA will check the cached modification time against the current
- modification time to determine if the file has been changed or not.
- An error or exception will be thrown if needed.
-
- Also add ENABLE_BLOB_SLICE feature define.
-
- Test: http/tests/local/send-sliced-dragged-file.html
-
- * Configurations/FeatureDefines.xcconfig:
- * GNUmakefile.am:
- * WebCore.pri:
- * html/Blob.cpp:
- (WebCore::Blob::Blob):
- (WebCore::Blob::size):
- (WebCore::Blob::slice):
- * html/Blob.h:
- (WebCore::Blob::start):
- (WebCore::Blob::length):
- (WebCore::Blob::modificationTime):
- * html/Blob.idl:
- * platform/network/FormData.cpp:
- (WebCore::FormData::deepCopy):
- (WebCore::FormData::appendFile):
- (WebCore::FormData::appendFileRange):
- * platform/network/FormData.h:
- (WebCore::FormDataElement::FormDataElement):
- (WebCore::operator==):
- * platform/network/mac/FormDataStreamMac.mm:
- (WebCore::advanceCurrentStream):
- (WebCore::openNextStream):
- (WebCore::formCreate):
- (WebCore::formOpen):
- (WebCore::formRead):
- (WebCore::setHTTPBody):
- * xml/XMLHttpRequest.cpp:
- (WebCore::XMLHttpRequest::send):
-
-2010-03-08 Daniel Bates <dbates@rim.com>
-
- Reviewed by Simon Fraser.
-
- https://bugs.webkit.org/show_bug.cgi?id=34819
-
- Fixes an issue where we repaint the caret rectangle even if the associated
- selection is not in a content editable element. This is extraneous since the
- caret is only visible when the selection is in a content editable element.
- Hence, we should only repaint the caret rectangle when the associated selection
- is in a content editable element.
-
- Note, we always paint the caret when caret browsing is enabled.
-
- Test: fast/repaint/no-caret-repaint-in-non-content-editable-element.html
-
- * editing/SelectionController.cpp:
- (WebCore::SelectionController::recomputeCaretRect): Modified to call method
- SelectionController::shouldRepaintCaret.
- (WebCore::SelectionController::shouldRepaintCaret): Added.
- (WebCore::SelectionController::invalidateCaretRect): Modified to call method
- SelectionController::shouldRepaintCaret.
- * editing/SelectionController.h:
-
-2010-03-08 Eric Carlson <eric.carlson@apple.com>
-
- Reviewed by Darin Adler.
-
- YouTube HTML5 video never starts playing on Windows
- https://bugs.webkit.org/show_bug.cgi?id=33954
-
- * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
- (WebCore::MediaPlayerPrivate::rfc2616DateStringFromTime): New, create an rfc 2616 formatted
- string for an absolute time value.
- (WebCore::addCookieParam): New, add a cookie param and value to a string builder.
- (WebCore::MediaPlayerPrivate::setUpCookiesForQuickTime): Copy cookies for the movie to
- be loaded from CFNetwork into WinINet so they are available when QuickTime tries to
- download the movie.
- (WebCore::MediaPlayerPrivate::load): Call setupCookiesForQuickTime.
- * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
-
-2010-03-08 Eric Uhrhane <ericu@chromium.org>
-
- Reviewed by David Levin.
-
- Remove the now-redundant Settings fields for the Database
- https://bugs.webkit.org/show_bug.cgi?id=35763
-
- No new tests; this code isn't called.
-
- * WebCore.base.exp:
- * page/Settings.cpp:
- (WebCore::Settings::Settings):
- * page/Settings.h:
-
-2010-03-07 David Levin <levin@chromium.org>
-
- Chromium Linux build fix.
-
- * platform/graphics/chromium/FontPlatformDataLinux.h: Add "class String" since a debug
- only method returns a String.
-
-2010-03-07 Mark Rowe <mrowe@apple.com>
-
- Chromium build fix.
-
- * platform/chromium/ClipboardChromium.cpp: Include Image.h since we're using WebCore::Image.
-
-2010-03-07 Mark Rowe <mrowe@apple.com>
-
- Gtk build fix.
-
- * platform/network/soup/ResourceHandleSoup.cpp: Include SharedBuffer.h since we're using WebCore::SharedBuffer.
-
-2010-03-07 Mark Rowe <mrowe@apple.com>
-
- Gtk build fix.
-
- * platform/graphics/gtk/ImageGtk.cpp: Include SharedBuffer.h since we're using WebCore::SharedBuffer.
-
-2010-03-07 Mark Rowe <mrowe@apple.com>
-
- Fix builds where USE_CG_SHADING is set.
-
- * platform/graphics/cg/GradientCG.cpp: Include wtf/RetainPtr.h since WTF::RetainPtr is used when USE_CG_SHADING is set.
-
-2010-03-07 Mark Rowe <mrowe@apple.com>
-
- Windows build fix. Add some required includes.
-
- * platform/graphics/win/ImageCGWin.cpp:
- * platform/network/cf/ResourceHandleCFNet.cpp:
- * platform/win/ClipboardWin.cpp:
-
-2010-03-07 Mark Rowe <mrowe@apple.com>
-
- Gtk build fix.
-
- * platform/graphics/GraphicsContext.h: Include wtf/PassOwnPtr.h since some platforms use WTF::PassOwnPtr in this header.
-
-2010-03-07 Mark Rowe <mrowe@apple.com>
-
- Qt build fix.
-
- * platform/network/qt/ResourceHandleQt.cpp: Include SharedBuffer.h since we're using WebCore::SharedBuffer.
-
-2010-03-07 Mark Rowe <mrowe@apple.com>
-
- Gtk build fix.
-
- * platform/gtk/ClipboardGtk.cpp: Include Image.h since we're using WebCore::Image.
-
-2010-03-07 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Cameron Zwarich.
-
- Remove unnecessary includes from header files, adding them to the handful of implementation files that need them.
-
- * loader/CachedCSSStyleSheet.cpp:
- * loader/CachedFont.cpp:
- * loader/CachedImage.cpp:
- * loader/CachedResource.cpp:
- * loader/CachedResource.h:
- * loader/CachedScript.cpp:
- * loader/CachedXSLStyleSheet.cpp:
- * loader/icon/IconFetcher.cpp:
- * loader/loader.cpp:
- * page/Page.cpp:
- * platform/graphics/Image.cpp:
- * platform/graphics/Image.h:
- * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
- * platform/graphics/cg/PDFDocumentImage.cpp:
- * platform/graphics/cg/PathCG.cpp:
- * platform/graphics/mac/ImageMac.mm:
-
-2010-03-07 Mark Rowe <mrowe@apple.com>
-
- Chromium build fix.
-
- * platform/chromium/ChromiumDataObject.h: Include SharedBuffer.h since the inline constructor of this
- class means that the pointed-to type of the RefPtr member must be available.
-
-2010-03-07 Mark Rowe <mrowe@apple.com>
-
- Qt build fix.
-
- * platform/network/qt/DnsPrefetchHelper.cpp: Include PlatformString.h since we're using WebCore::String.
-
-2010-03-07 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Fix a bug that validity.valueMissing for a radio button with required
- in a form element always returns true.
- https://bugs.webkit.org/show_bug.cgi?id=35472
-
- Test: fast/forms/ValidityState-valueMissing-radio.html
-
- * html/HTMLInputElement.cpp:
- (WebCore::checkedRadioButtons): Move the location to be used by valueMissing().
- (WebCore::HTMLInputElement::valueMissing):
- Use checkedRadioButtons() instead of document()->checkedRadioButtons().
-
-2010-03-07 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Cameron Zwarich.
-
- Remove unnecessary includes from header files, adding them to the handful of implementation files that need them.
-
- * bindings/objc/DOM.mm:
- * loader/CachedImage.h:
- * loader/EmptyClients.h:
- * platform/graphics/GlyphPageTreeNode.cpp:
- * platform/text/CString.h:
- * platform/text/String.cpp:
- * platform/text/mac/TextCodecMac.cpp:
- * svg/graphics/SVGResourceFilter.h:
- * svg/graphics/filters/SVGFEImage.h:
-
-2010-03-07 Mark Rowe <mrowe@apple.com>
-
- Completely remove two files that were deleted in r55635 from the Xcode project.
-
- * WebCore.xcodeproj/project.pbxproj:
-
-2010-03-07 Sam Weinig <sam@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- Remove inconsistent "Too few arguments" handling for window.atob() and window.btoa()
- https://bugs.webkit.org/show_bug.cgi?id=35848
-
- - Take the opportunity to fully autogenerate window.atob() and window.btoa().
-
- * bindings/js/JSDOMWindowCustom.cpp:
- * page/DOMWindow.cpp:
- (WebCore::DOMWindow::btoa):
- (WebCore::DOMWindow::atob):
- * page/DOMWindow.idl:
-
-2010-03-07 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Simon Fraser.
-
- <rdar://problem/7722008> Column breaking ignores floats
- https://bugs.webkit.org/show_bug.cgi?id=35837
-
- Test: fast/multicol/float-truncation.html
-
- Introduce an earlier column-break if otherwise a float that could fit
- inside a single column will be split between columns.
-
- It is still possible for floats to be needlessly broken if initially
- they fit in the column, but normal flow truncation then shortens the
- column.
-
- * rendering/RenderBlock.cpp:
- (WebCore::RenderBlock::visibleTopOfHighestFloatExtendingBelow): Added.
- Returns the visible top of the highest descendant float that visibly
- extends below the given y offset, ignoring floats that are taller than
- the given maximum height.
- (WebCore::RenderBlock::layoutColumns): If the initial column height
- would cause a float to be split, truncate above the float.
- * rendering/RenderBlock.h:
-
-2010-03-07 Dmitry Titov <dimich@chromium.org>
-
- Not reviewed. Revert of r55593 which caused a regression of worker-cloneports.html.
-
- REGRESSION(55593?): fast/workers/worker-cloneport.html is timing out on Leopard
- https://bugs.webkit.org/show_bug.cgi?id=35819
-
- * Android.jscbindings.mk:
- * Android.v8bindings.mk:
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/js/JSDOMWindowCustom.cpp:
- * bindings/js/JSDatabaseCallback.cpp: Removed.
- * bindings/js/JSDatabaseCallback.h: Removed.
- * bindings/v8/custom/V8DOMWindowCustom.cpp:
- * bindings/v8/custom/V8DatabaseCallback.cpp: Removed.
- * bindings/v8/custom/V8DatabaseCallback.h: Removed.
- * dom/Document.cpp:
- (WebCore::Document::postTask):
- * page/DOMWindow.cpp:
- (WebCore::DOMWindow::openDatabase):
- * page/DOMWindow.h:
- * page/DOMWindow.idl:
- * storage/Database.cpp:
- (WebCore::Database::openDatabase):
- (WebCore::Database::Database):
- (WebCore::Database::performOpenAndVerify):
- * storage/Database.h:
- * storage/DatabaseCallback.h: Removed.
- * workers/WorkerContext.cpp:
- (WebCore::WorkerContext::openDatabase):
- * workers/WorkerContext.h:
-
-2010-03-06 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Sam Weinig.
-
- Remove unnecessary includes of wtf/Platform.h. This is already pulled in by config.h.
-
- * accessibility/AccessibilityObject.h:
- * dom/XMLTokenizer.cpp:
- * dom/XMLTokenizerLibxml2.cpp:
- * dom/XMLTokenizerQt.cpp:
- * editing/TextAffinity.h:
- * loader/FrameLoaderClient.h:
- * page/FocusController.cpp:
- * page/FrameTree.cpp:
- * page/Geolocation.h:
- * page/PositionCallback.h:
- * page/PositionErrorCallback.h:
- * platform/Cursor.h:
- * platform/FileSystem.h:
- * platform/FloatConversion.h:
- * platform/KeyboardCodes.h:
- * platform/PlatformKeyboardEvent.h:
- * platform/PlatformTouchPoint.h:
- * platform/SuddenTermination.h:
- * platform/Widget.h:
- * platform/graphics/Color.h:
- * platform/graphics/FloatPoint.h:
- * platform/graphics/FloatSize.h:
- * platform/graphics/GraphicsContext.h:
- * platform/graphics/IntPoint.h:
- * platform/graphics/IntRect.h:
- * platform/graphics/IntSize.h:
- * platform/graphics/openvg/PainterOpenVG.h:
- * platform/graphics/openvg/SurfaceOpenVG.h:
- * platform/network/ResourceHandleClient.h:
- * platform/text/Base64.cpp:
- * rendering/style/SVGRenderStyle.h:
- * xml/XSLTProcessor.cpp:
- * xml/XSLTProcessorLibxslt.cpp:
- * xml/XSLTProcessorQt.cpp:
-
-2010-03-06 Sam Weinig <sam@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- Move debug only JS wrapper-set tracking code into its own file.
- https://bugs.webkit.org/show_bug.cgi?id=35839
-
- * GNUmakefile.am: Added new files.
- * WebCore.gypi: Ditto.
- * WebCore.pro: Ditto.
- * WebCore.vcproj/WebCore.vcproj: Ditto.
- * WebCore.xcodeproj/project.pbxproj: Ditto.
-
- * bindings/js/JSDOMBinding.cpp:
- (WebCore::cacheDOMObjectWrapper):
- (WebCore::forgetDOMObject):
- (WebCore::forgetDOMNode):
- (WebCore::cacheDOMNodeWrapper):
- (WebCore::takeWrappers):
- (WebCore::updateDOMNodeDocument):
- Updated for new signature for willCacheWrapper and didUncacheWrapper.
-
- * bindings/js/JSDOMWrapper.cpp: Added.
- (WebCore::DOMObject::~DOMObject):
- (WebCore::DOMObject::defineOwnProperty):
- Moved from JSDOMBinding.cpp.
-
- * bindings/js/JSDebugWrapperSet.cpp: Added.
- (WebCore::JSDebugWrapperSet::shared):
- (WebCore::JSDebugWrapperSet::JSDebugWrapperSet):
- * bindings/js/JSDebugWrapperSet.h: Added.
- (WebCore::JSDebugWrapperSet::add):
- (WebCore::JSDebugWrapperSet::remove):
- (WebCore::JSDebugWrapperSet::contains):
- (WebCore::JSDebugWrapperSet::willCacheWrapper):
- (WebCore::JSDebugWrapperSet::didUncacheWrapper):
- Moved from JSDOMBinding.cpp.
-
-2010-03-06 Sam Weinig <sam@webkit.org>
-
- Rubber-stamped by Dan Bernstein.
-
- Move DOMObjectHashTableMap, DOMWrapperWorld and WebCoreJSClientData into
- their own files.
-
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/js/DOMObjectHashTableMap.cpp: Copied from bindings/js/JSDOMBinding.cpp.
- * bindings/js/DOMObjectHashTableMap.h: Copied from bindings/js/JSDOMBinding.h.
- (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
- (WebCore::DOMObjectHashTableMap::get):
- * bindings/js/DOMWrapperWorld.cpp: Copied from bindings/js/JSDOMBinding.cpp.
- (WebCore::forgetWorldOfDOMNodesForDocument):
- * bindings/js/DOMWrapperWorld.h: Copied from bindings/js/JSDOMBinding.h.
- (WebCore::DOMWrapperWorld::create):
- (WebCore::DOMWrapperWorld::rememberDocument):
- (WebCore::DOMWrapperWorld::forgetDocument):
- (WebCore::DOMWrapperWorld::isNormal):
- (WebCore::debuggerWorld):
- (WebCore::pluginWorld):
- (WebCore::currentWorld):
- (WebCore::Document::getWrapperCache):
- * bindings/js/JSDOMBinding.cpp:
- * bindings/js/JSDOMBinding.h:
- * bindings/js/JSDOMWindowBase.cpp:
- * bindings/js/ScriptController.cpp:
- * bindings/js/WebCoreJSClientData.h: Copied from bindings/js/JSDOMBinding.h.
- (WebCore::WebCoreJSClientData::WebCoreJSClientData):
- (WebCore::WebCoreJSClientData::~WebCoreJSClientData):
- (WebCore::WebCoreJSClientData::normalWorld):
- (WebCore::WebCoreJSClientData::getAllWorlds):
- (WebCore::WebCoreJSClientData::rememberWorld):
- (WebCore::WebCoreJSClientData::forgetWorld):
- * bindings/js/WorkerScriptController.cpp:
-
-2010-03-06 Dan Bernstein <mitz@apple.com>
-
- Rubber-stamped by Sam Weinig.
-
- Remove an unused method.
+ Many new tests added in fast/multicol/span.
+ * dom/Node.cpp:
+ (WebCore::Node::diff):
+ Changes to column span result in a detach/attach, since spanning elements don't typically have
+ much content.
+
* rendering/RenderBlock.cpp:
- (WebCore::RenderBlock::layoutBlock): Changed comment.
- (WebCore::RenderBlock::floatRect): Removed.
- * rendering/RenderBlock.h: Removed floatRect().
-
-2010-03-06 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: make timeline overview bars transparent to mouse events.
-
- https://bugs.webkit.org/show_bug.cgi?id=35832
-
- * inspector/front-end/inspector.css:
-
-2010-03-06 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Jeremy Orlow.
-
- Web Inspector: switching to/from Timeline Panel moves scroller.
- (Also added couple of record details items as I was fixing it).
-
- https://bugs.webkit.org/show_bug.cgi?id=35829
-
- * English.lproj/localizedStrings.js:
- * inspector/front-end/TimelinePanel.js:
- (WebInspector.TimelinePanel):
- (WebInspector.TimelinePanel.prototype.get defaultFocusedElement):
- (WebInspector.TimelinePanel.prototype.show):
- (WebInspector.TimelinePanel.prototype._refreshRecords):
- (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
-
-2010-03-06 Patrick Gansterer <paroga@paroga.com>
-
- Reviewed by Eric Seidel.
-
- Removed unnecessary WinCE file.
- The same functionality is provided by platform/win/SystemTimeWin.cpp.
- https://bugs.webkit.org/show_bug.cgi?id=35799
-
- * platform/wince/SystemTimeWince.cpp: Removed.
-
-2010-03-06 Joanmarie Diggs <joanmarie.diggs@gmail.com>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=30895
- [Gtk] The accessible hierarchy of tables is significantly incorrect for Atk
-
- This completes the fixing of the Atk table hierarchy which was started
- in bug #35418.
-
- * accessibility/gtk/AccessibilityObjectAtk.cpp:
- (AccessibilityObject::accessibilityPlatformIncludesObject):
- * accessibility/AccessibilityRenderObject.cpp:
- (AccessibilityRenderObject::determineAccessibilityRole):
+ (WebCore::RenderBlock::styleDidChange):
+ Make sure to inherit the appropriate new styles into the anonymous column and column span blocks.
-2010-03-06 MORITA Hajime <morrita@google.com>
-
- Reviewed by Darin Adler.
-
- Moved implementations of window.btoa() and window.atob() from
- JSDOMWindow to DOMWindow, and make V8DOMWindow use DOMWindow
- functions instead of having a separate implementation. As a side effect, the
- error message has changed from "Cannot decode base64" to one that
- indicates DOM Exception, which is compatible to Firefox.
+ (WebCore::RenderBlock::addChildToAnonymousColumnBlocks):
+ This method handles the insertion of new children into the block after it has had to wrap its
+ children in anonymous column/column-span blocks.
- Refactoring: window.btoa() and window.atob() should be implemented on DOMWindow
- https://bugs.webkit.org/show_bug.cgi?id=35723
-
- No new test. No new functionality.
-
- * bindings/js/JSDOMWindowCustom.cpp:
- (WebCore::JSDOMWindow::atob):
- (WebCore::JSDOMWindow::btoa):
- Moved conversion code to DOMWindow and invoke it. Argument
- checking remains here.
-
- * bindings/v8/custom/V8DOMWindowCustom.cpp:
- (WebCore::V8DOMWindow::atobCallback):
- (WebCore::V8DOMWindow::btoaCallback):
- Remove conversion code and call DOMWindow APIs. Although argument
- checking remains here.
+ (WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
+ A helper method for splitting all anonymous blocks between beforeChild and this block so that
+ a new element with an incompatible type can be inserted between them.
- * page/DOMWindow.cpp:
- (WebCore::hasMultibyteCharacters):
- (WebCore::DOMWindow::btoa):
- (WebCore::DOMWindow::atob):
- * page/DOMWindow.h:
- Moved Conversion code from JSDOMWindow, modifing to fit JSC independent.
-
-2010-03-06 Yuta Kitamura <yutak@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Fix decoration position in search input field.
-
- This patch fixes rendering of input field of "search" type, whose decoration
- (loupe icon and close button) was wrongly positioned when the input field was
- contained in a block with -webkit-transform property.
-
- Chromium bug: http://crbug.com/20439
-
- [Chromium] Decoration of "search" input field is wrongly rendered
- https://bugs.webkit.org/show_bug.cgi?id=30245
-
- No new tests, since this patch fixes an existing test
- (fast/forms/search-transformed.html) in Chromium layout tests.
+ (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
+ This method does the initial split of a block into anonymous components. This happens the first
+ time a column-span element gets inserted into the block.
- * rendering/RenderThemeChromiumSkia.cpp:
- (WebCore::RenderThemeChromiumSkia::convertToPaintingRect): Added. This method
- does almost the same thing as RenderThemeMac::convertToPaintingRect.
- (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton): The position
- of the icon should not depend on its absolute position.
- (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration): Ditto.
- (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton): Ditto.
- * rendering/RenderThemeChromiumSkia.h: Added new method.
+ (WebCore::columnsBlockForSpanningElement):
+ This function checks whether or not the column-span element is actually being inserted into a viable
+ columns block.
-2010-03-06 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: in Timeline panel, click followed with mouse move resets popover.
-
- https://bugs.webkit.org/show_bug.cgi?id=35827
-
- * inspector/front-end/Popover.js:
- (WebInspector.PopoverHelper.prototype._mouseDown):
- (WebInspector.PopoverHelper.prototype._mouseMove):
- (WebInspector.PopoverHelper.prototype._handleMouseAction):
-
-2010-03-05 Tony Chang <tony@chromium.org>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=33247
- Backwards cursor movement incorrect when previous block ends with <br>.
-
- If the cursor is trying to move into a node that has a height of 0,
- skip over it.
-
- Test: editing/execCommand/move-selection-back-line.html
-
- * editing/visible_units.cpp:
- (WebCore::previousLinePosition):
-
-2010-03-05 Andrey Kosyakov <caseq@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Enable resource loading callback while loading worker scripts
- https://bugs.webkit.org/show_bug.cgi?id=35744
-
- * workers/WorkerScriptLoader.cpp:
- (WebCore::WorkerScriptLoader::loadSynchronously):
- (WebCore::WorkerScriptLoader::loadAsynchronously):
-
-2010-03-05 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Eric Seidel.
-
- WAI-ARIA live region doesn't appear when <div> only has a <div> child
- https://bugs.webkit.org/show_bug.cgi?id=35751
-
- Elements should not be ignored if they carry ARIA attributes in them.
-
- Test: platform/mac/accessibility/div-containing-div-with-aria.html
-
- * accessibility/AccessibilityObject.cpp:
- (WebCore::AccessibilityObject::supportsARIAAttributes):
- * accessibility/AccessibilityObject.h:
- (WebCore::AccessibilityObject::supportsARIADropping):
- (WebCore::AccessibilityObject::supportsARIADragging):
- * accessibility/AccessibilityRenderObject.cpp:
- (WebCore::AccessibilityRenderObject::supportsARIADropping):
- (WebCore::AccessibilityRenderObject::supportsARIADragging):
- (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
- * accessibility/AccessibilityRenderObject.h:
-
-2010-03-05 Dmitry Titov <dimich@chromium.org>
-
- Reviewed by Oliver Hunt.
-
- Add a manual test for crash in DOMWindow::clearTimeout when DOMWindow is not connected to Frame
- https://bugs.webkit.org/show_bug.cgi?id=32353
-
- * manual-tests/clearTimeout-crash-bug29832.html: Added.
-
-2010-03-05 Dmitry Titov <dimich@chromium.org>
-
- Reviewed by David Levin.
-
- [v8] Remove wrong assert in GC callback
- https://bugs.webkit.org/show_bug.cgi?id=35757
-
- Test: fast/workers/wrapper-map-gc.html
-
- * bindings/v8/DOMData.h:
- (WebCore::DOMData::handleWeakObject): remove ASSERT(isMainThread()), move another assert up to verify we are on the right thread.
-
-2010-03-05 Alex Milowski <alex@milowski.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Added support for row layout with stretchy operators and
- adjusted the over spacing for over and underover accordingly.
-
- Tests: mathml/presentation/mo.xhtml
- mathml/presentation/row.xhtml
-
- * WebCore.xcodeproj/project.pbxproj:
- * mathml/MathMLInlineContainerElement.cpp:
- * mathml/MathMLTextElement.cpp:
- * mathml/RenderMathMLMath.cpp: Added.
- * mathml/RenderMathMLMath.h: Added.
- * mathml/RenderMathMLOperator.cpp: Added.
- * mathml/RenderMathMLOperator.h: Added.
- * mathml/RenderMathMLRow.cpp: Added.
- * mathml/RenderMathMLRow.h: Added.
- * mathml/RenderMathMLUnderOver.cpp:
- * mathml/mathtags.in:
-
-2010-03-05 Dean Jackson <dino@apple.com>
-
- Reviewed by Simon Fraser.
-
- https://bugs.webkit.org/show_bug.cgi?id=35772
- Animation fill modes should be supported in the shorthand property
-
- Add CSSPropertyWebkitAnimationFillMode to the list of properties
- evaluated in the -webkit-animation shorthand.
-
- Test: animations/animation-shorthand.html
-
- * css/CSSParser.cpp:
- (WebCore::CSSParser::parseAnimationShorthand):
-
-2010-03-05 Dean Jackson <dino@apple.com>
-
- Reviewed by Simon Fraser
-
- https://bugs.webkit.org/show_bug.cgi?id=35815
- Animation Fill Modes fail on Windows
-
- * css/CSSComputedStyleDeclaration.cpp:
- * css/CSSStyleSelector.cpp:
- * platform/graphics/mac/GraphicsLayerCA.mm:
- - use new enum value
- * platform/animation/Animation.h:
- - change bitfield type
- * rendering/style/RenderStyleConstants.h:
- - add new enum for fill mode
-
-2010-03-05 Csaba Osztrogonác <ossy@webkit.org>
-
- Unreviewed buildfix after r55593. (To fix Qt --minimal build.)
-
- * bindings/js/JSDOMWindowCustom.cpp: Missing #if ENABLE(DATABASE) guard added.
-
-2010-03-05 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Darin Adler.
-
- ASSERTION FAILED: rootLayer == m_clipRectsRoot at hulu.com
- https://bugs.webkit.org/show_bug.cgi?id=34065
- <rdar://problem/7573509>
+ (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
+ This is the original RenderBlock::addChild. It handles everything else just like it used to.
- Fix one instance of this assertion (not necessarily the one seen on hulu.com).
-
- If the layer that clippingRoot() is being called on is itself compositing,
- then it acts as the clipping root. Without this, calls to RenderLayer::childrenClipRect()
- and RenderLayer::selfClipRect() via FrameView::windowClipRectForLayer(), for plug-ins,
- caused the caching of an incorrect clip rects root.
-
- Test: compositing/geometry/object-clip-rects-assertion.html
-
- * rendering/RenderLayer.cpp:
- (WebCore::RenderLayer::clippingRoot):
-
-2010-03-05 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Child clipping compositing layers don't show the blue debug color
- https://bugs.webkit.org/show_bug.cgi?id=35807
-
- Set a layer owner on the GraphicsLayers created for clipping children,
- so that they can get to the debug settings that give them the blue color.
-
- * rendering/RenderLayerBacking.cpp:
- (WebCore::RenderLayerBacking::updateClippingLayers):
-
-2010-03-05 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- MobileMe movie page is missing playback controls
- https://bugs.webkit.org/show_bug.cgi?id=35805
- <rdar://problem/7653169>
-
- On pages with video or plug-ins, we run overlap tests to determine which layers
- need to be composited. There was an ordering dependency bug in
- RenderLayerCompositor::computeCompositingRequirements() that caused us to fail
- to detect that a layer needed to be composited, resulting in page content
- not being visible.
-
- Specifically, layer->setHasCompositingDescendant() can change the answer
- to needsToBeComposited(), when a layer has to clip compositing descendants.
- So if we change setHasCompositingDescendant(), then we need to re-test
- clipsCompositingDescendants() and add the layer to the overlap map if so.
-
- Test: compositing/overflow/overflow-compositing-descendant.html
-
- * rendering/RenderLayerCompositor.cpp:
- (WebCore::RenderLayerCompositor::computeCompositingRequirements):
-
-2010-03-04 Dumitru Daniliuc <dumi@chromium.org>
-
- Reviewed by Adam Barth.
+ (WebCore::RenderBlock::addChild):
+ Patched to now call addChildToAnonymousColumnBlocks if the block has wrapped its current children
+ in anonymous column/column-span blocks already.
- Adding support for the optional creation callback that could be
- passed to openDatabase().
+ (WebCore::RenderBlock::moveAllChildrenTo):
+ moveAllChildrenTo has been enhanced to support doing a full remove/append in the case where elements
+ are shifting across layers. (This should arguably be the default behavior, but that can happen in
+ a future patch.)
- Test: storage/open-database-creation-callback.html
+ (WebCore::RenderBlock::removeLeftoverAnonymousBlock):
+ Patched to fix a bug when the leftover block is empty and to prevent anonymous column/column-span
+ block from being coalesced with a parent if they are non-empty.
- https://bugs.webkit.org/show_bug.cgi?id=34726
+ (WebCore::canMergeContiguousAnonymousBlocks):
+ Whether or not two contiguous anonymous blocks can merge after the removal of a child.
- * Android.jscbindings.mk
- * Android.v8bindings.mk
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/js/JSDOMWindowCustom.cpp:
- (WebCore::JSDOMWindow::openDatabase):
- * bindings/js/JSDatabaseCallback.cpp: Added.
- (WebCore::JSDatabaseCallback::JSDatabaseCallback):
- (WebCore::JSDatabaseCallback::~JSDatabaseCallback):
- (WebCore::JSDatabaseCallback::handleEvent):
- * bindings/js/JSDatabaseCallback.h: Added.
- (WebCore::JSDatabaseCallback::create):
- * bindings/v8/custom/V8DOMWindowCustom.cpp:
- (WebCore::V8DOMWindow::openDatabaseCallback):
- * bindings/v8/custom/V8DatabaseCallback.cpp: Added.
- (WebCore::V8DatabaseCallback::V8DatabaseCallback):
- (WebCore::V8DatabaseCallback::~V8DatabaseCallback):
- (WebCore::V8DatabaseCallback::handleEvent):
- * bindings/v8/custom/V8DatabaseCallback.h: Added.
- (WebCore::V8DatabaseCallback::create):
- * page/DOMWindow.cpp:
- (WebCore::DOMWindow::openDatabase):
- * page/DOMWindow.h:
- * page/DOMWindow.idl:
- * storage/Database.cpp:
- (WebCore::DatabaseCreationCallbackTask::create):
- (WebCore::DatabaseCreationCallbackTask::performTask):
- (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
- (WebCore::Database::openDatabase):
- (WebCore::Database::Database):
- (WebCore::Database::performOpenAndVerify):
- (WebCore::Database::performCreationCallback):
- * storage/Database.h:
- (WebCore::Database::isNew):
- * storage/DatabaseCallback.h: Added.
- (WebCore::DatabaseCallback::~DatabaseCallback):
- * workers/WorkerContext.cpp:
- (WebCore::WorkerContext::openDatabase):
- * workers/WorkerContext.h:
-
-2010-03-05 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Simon Fraser.
-
- Fixed infinite recursion of composited video on Windows
- https://bugs.webkit.org/show_bug.cgi?id=35798
-
- Due to a change in the way we get the platformLayer (WKCACFLayer)
- for video, the mediaplayer was in an infinite loop with WKCACFLayer
- bouncing notifySyncRequired calls back and forth. After discussion
- we decided it would be better to avoid notifySyncRequired entirely,
- which would walk up through WebCore calls and back down through
- WebKit calls to tell the WKCACFLayerRenderer to kick off a render cycle.
-
- I subclassed WKCACFLayer into a WKCACFRootLayer which has a pointer to
- the WKCACFLayerRenderer. When something changes, we get the rootLayer()
- by walking up the layers and make a virtual call which WKCACFRootLayer
- implements to tell WKCACFLayerRenderer to render.
-
- I also got rid of GraphicsLayer knowledge from WKCACFLayer. GraphicsLayerCACF
- now makes a WebLayer subclass which implements the drawInContext()
- virtual method.
+ (WebCore::RenderBlock::removeChild):
+ removeChild has been patched to handle more cases of merging/deletion than it did before. It
+ can now destroy empty anonymous block chains and can now merge two contiguous anonymous blocks
+ that don't share the same childrenInline() setting (by putting one inside the other). It also
+ makes sure to do full appends/moves/inserts in the cases where the affected blocks have layers.
+
+ (WebCore::RenderBlock::fillSelectionGaps):
+ Don't let the selection extend outside of a column-span.
+
+ (WebCore::RenderBlock::setDesiredColumnCountAndWidth):
+ Turn off multi-column layout on the outermost block if it has wrapped its children in anonymous
+ column/column-span blocks.
+
+ (WebCore::RenderBlock::createAnonymousBlockWithSameTypeAs):
+ (WebCore::RenderBlock::createAnonymousColumnsBlock):
+ (WebCore::RenderBlock::createAnonymousColumnSpanBlock):
+ New helper functions for anonymous block creation.
+
+ (WebCore::RenderBlock::renderName):
+ Patched to dump anonymous column and column-span blocks so that they can be distinguished from
+ regular anonymous blocks.
+ * rendering/RenderBlock.h:
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::isAnonymousColumnsBlock):
+ (WebCore::RenderObject::isAnonymousColumnSpanBlock):
+ New helper functions for asking the type of an anonymous block.
- I also had to add protection to the platformLayer() call in
- MediaPlayerPrivateQuickTimeWin because it gets called earlier than before
- when the layer is still null.
-
- * platform/graphics/win/GraphicsLayerCACF.cpp:Implement WebLayer
- (WebCore::WebLayer::create):
- (WebCore::WebLayer::drawInContext):
- (WebCore::WebLayer::WebLayer):
- (WebCore::GraphicsLayerCACF::GraphicsLayerCACF):
- (WebCore::GraphicsLayerCACF::setNeedsDisplayInRect):
- (WebCore::GraphicsLayerCACF::updateLayerPreserves3D):
- (WebCore::GraphicsLayerCACF::updateContentsImage):
- * platform/graphics/win/GraphicsLayerCACF.h:
- * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:Protect platformLayer from a null qtLayer
- (WebCore::MediaPlayerPrivate::platformLayer):
- * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:Got rid of no longer needed method
- (WebCore::MediaPlayerPrivate::notifyAnimationStarted):
- * platform/graphics/win/WKCACFLayer.cpp:Got rid of GraphicsLayer dependency. Made virtual.
- (WebCore::displayCallback):
- (WebCore::WKCACFLayer::create):
- (WebCore::WKCACFLayer::WKCACFLayer):
- (WebCore::WKCACFLayer::setNeedsCommit):
- (WebCore::WKCACFLayer::setNeedsDisplay):
- * platform/graphics/win/WKCACFLayer.h:
- (WebCore::WKCACFLayer::setNeedsRender):
- (WebCore::WKCACFLayer::drawInContext):
- * platform/graphics/win/WKCACFLayerRenderer.cpp:Create WKCACFRootLayer which tells WKCACFLayerRenderer to render
- (WebCore::WKCACFRootLayer::WKCACFRootLayer):
- (WebCore::WKCACFRootLayer::create):
- (WebCore::WKCACFRootLayer::setNeedsRender):
- (WebCore::WKCACFRootLayer::setNeedsDisplay):
- (WebCore::WKCACFLayerRenderer::rootLayer):
- (WebCore::WKCACFLayerRenderer::setRootChildLayer):
- (WebCore::WKCACFLayerRenderer::setNeedsDisplay):
- (WebCore::WKCACFLayerRenderer::createRenderer):
- * platform/graphics/win/WKCACFLayerRenderer.h:
-
-2010-03-05 Dimitri Glazkov <dglazkov@chromium.org>
-
- Reviewed by David Levin.
-
- [Chromium] Missing commas in WebCore.gypi file make building Geo unpossible.
- https://bugs.webkit.org/show_bug.cgi?id=35797
-
- No new tests, this is a latent compile break.
-
- * WebCore.gypi:
-
-2010-03-04 Eric Carlson <eric.carlson@apple.com>
-
- Reviewed by Adele Peterson.
-
- <rdar://problem/7718442> Implement 'preload=none'
- https://bugs.webkit.org/show_bug.cgi?id=35789
-
- Don't load any media data when preload is 'none'.
-
- Test: media/video-preload.html
-
- * html/HTMLMediaElement.cpp:
- (WebCore::HTMLMediaElement::loadResource): Don't call player's setPreload method
- when autoplay is set.
-
- * platform/graphics/MediaPlayer.cpp:
- (WebCore::MediaPlayer::setPreload): Set m_preload so we have the correct value when
- the media engine is created.
-
- * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
- * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
- (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_preload.
- (WebCore::MediaPlayerPrivate::resumeLoad): New, kick off postponed a load.
- (WebCore::MediaPlayerPrivate::load): Do nothing if preload is 'none'
- (WebCore::MediaPlayerPrivate::loadInternal): New, complete loading.
- (WebCore::MediaPlayerPrivate::prepareToPlay): New, resume a postponed load as someone
- has called play().
- (WebCore::MediaPlayerPrivate::setPreload): New, set m_preload.
-
-2010-03-04 Nate Chapin <japhet@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [V8] Give CodeGeneratorV8.pm a much-needed spring cleaning.
-
- https://bugs.webkit.org/show_bug.cgi?id=35697
-
- * bindings/scripts/CodeGeneratorV8.pm: Remove unused code, fix style issues, make less hard-coded.
- * bindings/v8/custom/V8DOMWindowCustom.cpp:
- (WebCore::V8DOMWindow::addEventListenerCallback):
- (WebCore::V8DOMWindow::removeEventListenerCallback):
-
-2010-03-05 Pavel Feldman <pfeldman@chromium.org>
-
- Not reviewed. Roll back r55522 since it regreses performance
- according to chromium's page cycler.
-
- https://bugs.webkit.org/show_bug.cgi?id=35568
-
-2010-03-05 Dean Jackson <dino@apple.com>
-
- Reviewed by Simon Fraser and Chris Marrin.
-
- Bug 26869: Add fill modes for CSS Animations
- https://bugs.webkit.org/show_bug.cgi?id=26869
-
- Tests: animations/fill-mode-removed.html
- animations/fill-mode-transform.html
- animations/fill-mode.html
-
- * css/CSSComputedStyleDeclaration.cpp:
- * css/CSSParser.cpp:
- * css/CSSParser.h:
- * css/CSSPropertyNames.in:
- * css/CSSStyleSelector.cpp:
- * css/CSSStyleSelector.h:
- * css/CSSValueKeywords.in:
- - parse, assign and retrieve the value of the new
- -webkit-animation-fill-mode property
- * page/animation/AnimationBase.cpp:
- * page/animation/AnimationBase.h:
- - new state in animation engine for a finished animation
- that is "filling" forwards in time. This allows the
- engine to keep the animation around and not revert to the
- old style.
- - update the timer code to indicate it doesn't need to
- keep animating if it is filling
- - now that animations can extend beyond their elapsed time,
- make sure progress works correctly with iteration counts
- * page/animation/KeyframeAnimation.cpp:
- (WebCore::KeyframeAnimation::animate):
- - ensure correct style value is returned at the right
- time by checking for fill mode
- (WebCore::KeyframeAnimation::onAnimationEnd):
- - continue to send the end event, but only remove the
- animation if it isn't filling forwards
- * platform/animation/Animation.cpp:
- * platform/animation/Animation.h:
- - new fill mode member property
- * platform/animation/AnimationList.cpp:
- - ensure the fill mode is propagated to a list of style valus
- * platform/graphics/mac/GraphicsLayerCA.mm:
- - make hardware layers use Core Animation's fill mode
-
-2010-03-05 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: Do not show link helper in popovers and/or for external resources.
-
- https://bugs.webkit.org/show_bug.cgi?id=35785
-
- * English.lproj/localizedStrings.js:
- * inspector/front-end/ResourcesPanel.js:
- (WebInspector.ResourcesPanel.prototype.canShowSourceLine):
- * inspector/front-end/ScriptsPanel.js:
- (WebInspector.ScriptsPanel.prototype._scriptOrResourceForURLAndLine):
- * inspector/front-end/TimelinePanel.js:
- (WebInspector.TimelinePanel.prototype.hide):
- * inspector/front-end/inspector.js:
- (WebInspector.documentMouseOver):
- (WebInspector.documentClick.followLink):
- (WebInspector.documentClick):
- (WebInspector.addMainEventListeners):
-
-2010-03-05 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by Alexey Proskuryakov.
-
- WebSocket onmessageerror event handler
- https://bugs.webkit.org/show_bug.cgi?id=35570
-
- Test: websocket/tests/error-detect.html
-
- * websockets/WebSocket.cpp:
- (WebCore::WebSocketChannel::didConnect): assert scriptExecutionContext.
- (WebCore::WebSocketChannel::didReceiveMessage): assert scriptExecutionContext.
- (WebCore::WebSocket::didReceiveMessageError):
- (WebCore::WebSocket::didClose): assert scriptExecutionContext.
- * websockets/WebSocket.h:
- * websockets/WebSocket.idl: Add onerror event listener
- * websockets/WebSocketChannel.cpp:
- (WebCore::WebSocketChannel::didReceiveData): call didReceiveMessageError if unknown frame tye is detected, or frame length overflowed.
- * websockets/WebSocketChannelClient.h:
- (WebCore::WebSocketChannelClient::didReceiveMessageError):
-
-2010-03-04 Garret Kelly <gdk@chromium.org>
-
- Reviewed by Darin Fisher.
-
- Changing private members from PlatformTouchEvent and PlatformTouchPoint
- to be protected, so that Chromium's PlatformTouchEventBuilder and
- PlatformTouchPointBuilder can access them. Exercised by the
- fast/events/touch tests.
- https://bugs.webkit.org/show_bug.cgi?id=35760
-
- * platform/PlatformTouchEvent.h:
- (WebCore::PlatformTouchEvent::~PlatformTouchEvent):
- * platform/PlatformTouchPoint.h:
- (WebCore::PlatformTouchPoint::~PlatformTouchPoint):
-
-2010-03-04 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by Alexey Proskuryakov.
-
- WebSocket crash bug when reloading the page while the WebSocket is busy
- https://bugs.webkit.org/show_bug.cgi?id=35732
-
- * websockets/WebSocketChannel.cpp:
- (WebCore::WebSocketChannel::disconnect): clear m_context from WebSocketChannel and WebSocketHandshake.
- (WebCore::WebSocketChannel::didOpen): check m_context
- (WebCore::WebSocketChannel::didClose): clear m_context
- (WebCore::WebSocketChannel::didReceiveData): check m_context, and check m_client early before appending to buffer
- * websockets/WebSocketHandshake.cpp:
- (WebCore::WebSocketHandshake::clearScriptExecutionContext): Added.
- * websockets/WebSocketHandshake.h:
-
-2010-03-04 MORITA Hajime <morrita@google.com>
-
- Reviewed by Alexey Proskuryakov.
-
- Refactoring: XMLHTTPRequest.open() should have all overloaded implementations
- https://bugs.webkit.org/show_bug.cgi?id=35630
-
- Test: http/tests/xmlhttprequest/open-async-overload.html
-
- * bindings/js/JSXMLHttpRequestCustom.cpp:
- (WebCore::JSXMLHttpRequest::open):
- * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
- (WebCore::V8XMLHttpRequest::openCallback):
- * xml/XMLHttpRequest.cpp:
- (WebCore::XMLHttpRequest::open):
- * xml/XMLHttpRequest.h:
-
-2010-03-04 James Robinson <jamesr@google.com>
-
- Reviewed by Eric Seidel.
-
- Styles do not have to be synchronously rematched after every event dispatch
-
- https://bugs.webkit.org/show_bug.cgi?id=32580
-
- * bindings/js/JSEventListener.cpp:
- (WebCore::JSEventListener::handleEvent):
- * bindings/v8/V8AbstractEventListener.cpp:
- (WebCore::V8AbstractEventListener::handleEvent):
-
-2010-03-04 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- maemo spelled as mameo in WebCore.pro
- https://bugs.webkit.org/show_bug.cgi?id=35765
-
- Spelling corrected.
-
- * WebCore.pro:
-
-2010-03-04 Tony Chang <tony@chromium.org>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=18819
- Pressing option+page{down,up} should move the cursor and scroll in
- content editable areas. On other platforms, pressing page{down,up}
- should move the cursor and scroll in content editable areas.
-
- Test: editing/input/option-page-up-down.html
-
- * editing/EditorCommand.cpp:
- (WebCore::verticalScrollDistance):
-
-2010-03-03 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Allow static property getters to interact with JSCs caching
- https://bugs.webkit.org/show_bug.cgi?id=35716
-
- Update the obviously safe getters to allow caching
-
- Test: fast/js/pic/cached-named-property-getter.html
-
- * bridge/runtime_array.cpp:
- (JSC::RuntimeArray::getOwnPropertySlot):
- * bridge/runtime_method.cpp:
- (JSC::RuntimeMethod::getOwnPropertySlot):
-
-2010-03-04 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Sam Weinig.
-
- <rdar://problem/7717249> DOMSVG.h includes a non-existent DOMSVGFEMorphologyElement.h
-
- * WebCore.xcodeproj/project.pbxproj: Copy DOMSVGFEMorphologyElement.h and DOMSVGFEMorphologyElementInternal.h
- in to the framework wrapper.
+ * rendering/style/RenderStyle.h:
+ (WebCore::InheritedFlags::inheritColumnPropertiesFrom):
+ A helper function to allow anonymous column blocks to easily inherit all column properties for
+ rendering.
-2010-03-04 James Robinson <jamesr@chromium.org>
+2010-05-25 Dirk Pranke <dpranke@chromium.org>
Reviewed by Dimitri Glazkov.
- Handles setting HTMLSelectElement.length with mutation handlers present
- https://bugs.webkit.org/show_bug.cgi?id=33983
-
- When setting an HTMLSelectElement's length attribute, option elements have to be added or removed to the select
- as appropriate. This is a little tricky with mutation events since they might add, remove, or reorder elements
- while option elements are being added or deleted.
-
- Tests: fast/forms/select-set-length-optgroup.html
- fast/forms/select-set-length-with-mutation-remove.html
- fast/forms/select-set-length-with-mutation-reorder.html
- fast/forms/select-set-length-with-mutation-reparent.html
- fast/forms/select-set-length-with-mutation.html
- fast/forms/select-set-length.html
-
- * html/HTMLSelectElement.cpp:
- (WebCore::HTMLSelectElement::setLength):
-
-2010-03-04 Csaba Osztrogonác <ossy@webkit.org>
-
- [Qt] Unreviewed buildfix after r55542 on Windows.
-
- * WebCore.pro:
- - plugins/win/PluginDatabaseWin.cpp removed.
- - platform/win/WebCoreInstanceHandle.cpp added.
-
- * platform/win/WebCoreInstanceHandle.cpp: Remove explicit qualification in namespace declaration to make gcc happy.
-
-2010-03-04 Nate Chapin <japhet@chromium.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Fix the case where we do a same document navigation, scroll,
- then repeat the same document navigation. Currently, the second
- navigation does nothing.
-
- https://bugs.webkit.org/show_bug.cgi?id=35547
-
- Test: fast/loader/repeat-same-document-navigation.html
-
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::loadInSameDocument): Call scrollToFragment() whether or not the hash changed.
-
-2010-03-04 Simon Fraser <simon.fraser@apple.com>
-
- Build fix.
-
- const long long cMaxDistance = numeric_limits<long long>::max() created global
- initializers at the call sites, so replace with an inline function.
-
- * page/FocusController.cpp:
- (WebCore::updateFocusCandidateIfCloser):
- * page/SpatialNavigation.cpp:
- (WebCore::distanceInDirection):
- * page/SpatialNavigation.h:
- (WebCore::maxDistance):
- (WebCore::FocusCandidate::FocusCandidate):
-
-2010-03-04 Antonio Gomes <tonikitoo@webkit.org>
-
- Unreviewed attempt to fix Windows build.
-
- * page/SpatialNavigation.cpp:
- (WebCore::spatialDistance):
-
-2010-03-04 Simon Fraser <simon.fraser@apple.com>
-
- Build fix.
-
- Delcare updateFocusCandidateIfCloser static to avoid warning.
-
- * page/FocusController.cpp:
- (WebCore::updateFocusCandidateIfCloser):
-
-2010-03-04 Darin Fisher <darin@chromium.org>
-
- Reviewed by Dmitry Titov.
-
- [chromium] make history.{push,replace}State enabled at runtime
- https://bugs.webkit.org/show_bug.cgi?id=35753
-
- * bindings/generic/RuntimeEnabledFeatures.cpp:
- * bindings/generic/RuntimeEnabledFeatures.h:
- (WebCore::RuntimeEnabledFeatures::setPushStateEnabled):
- (WebCore::RuntimeEnabledFeatures::pushStateEnabled):
- (WebCore::RuntimeEnabledFeatures::replaceStateEnabled):
- * page/History.idl:
-
-2010-03-04 Antonio Gomes <tonikitoo@webkit.org>
-
- Unreviewed attempt to (again) fix Mac build.
-
- * page/SpatialNavigation.cpp:
- (WebCore::spatialDistance):
-
-2010-03-04 Dan Bernstein <mitz@apple.com>
-
- Based on a patch from Nick Jong.
-
- Reviewed by Simon Fraser.
-
- Improve selection in multi-column blocks when hitting points above or
- below a column rect.
-
- Test: fast/multicol/hit-test-above-or-below.html
-
- * rendering/RenderBlock.cpp:
- (WebCore::RenderBlock::adjustPointToColumnContents): If the point lies
- within the horizontal range for a column, constrain it to the column (if
- it is above) or the next column (if it is below).
-
-2010-03-04 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Simon Fraser.
-
- Attempt to fix Mac build.
-
- * page/SpatialNavigation.cpp:
-
-2010-03-04 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
-
- Add SpatialNavigation header and cpp to Mac XCode project file.
-
- Reviewed by Kenneth Christiansen.
-
- * WebCore.xcodeproj/project.pbxproj:
-
-2010-03-02 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Simon Fraser, Eric Seidel and Darin Adler.
- Patch by Antonio Gomes <tonikitoo@webkit.org>
- Based on the initial work of Marco Barisione <marco.barisione@collabora.co.uk>
-
- Extend keyboard navigation to allow directional navigation
- https://bugs.webkit.org/show_bug.cgi?id=18662
-
- This patch implements the core logic of the 'Spatial Navigation' feature [1].
- It improves the accessibility support of WebCore by extending the basic keyboard
- navigation currently available (based on Tab forward and backward) with the
- addition of a two-dimensional directional navigation by using Left, Right, Up and
- Down arrow keys to move to the "nearest" element in the corresponding direction.
-
- Highlights:
- * Feature is turned off by default in Settings. Port specific APIs need to be added
- for toggling it on/off.
- * Only elements viewed in the current viewport can have focus move to it. If the
- "nearest" is not in viewport dimensions, then a scroll-in-direction action is
- performed.
-
- Known issues (to be covered in follow-up bugs):
- * Add port specific hooks to each DRT to enable/disable Spatial Navigation.
- * Support for spatial navigation through form elements (<input>, <select>, etc)
- is be added.
- * Make navigation keys customizable. It currently works with arrows keys only
- (up, down, right and left).
- * Make it support modifiers (Alt, Ctrl and Shift).
- * Improve support on scrollable content.
-
- [1] http://en.wikipedia.org/wiki/Spatial_navigation
-
- * Android.mk:
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * page/EventHandler.cpp:
- (WebCore::EventHandler::defaultKeyboardEventHandler):
- (WebCore::EventHandler::focusDirectionForKey):
- (WebCore::EventHandler::defaultArrowEventHandler):
- * page/EventHandler.h:
- * page/FocusController.cpp:
- (WebCore::FocusController::advanceFocus):
- (WebCore::FocusController::advanceFocusInDocumentOrder):
- (WebCore::FocusController::advanceFocusDirectionally):
- (WebCore::updateFocusCandidateIfCloser):
- (WebCore::FocusController::findFocusableNodeInDirection):
- (WebCore::FocusController::deepFindFocusableNodeInDirection):
- * page/FocusController.h:
- * page/FocusDirection.h:
- (WebCore::):
- * page/Settings.cpp:
- (WebCore::Settings::Settings):
- (WebCore::Settings::setSpatialNavigationEnabled):
- * page/Settings.h:
- (WebCore::Settings::isSpatialNavigationEnabled):
- * page/SpatialNavigation.cpp: Added.
- (WebCore::distanceInDirection):
- (WebCore::renderRectRelativeToRootDocument):
- (WebCore::alignmentForRects):
- (WebCore::isHorizontalMove):
- (WebCore::areRectsFullyAligned):
- (WebCore::areRectsPartiallyAligned):
- (WebCore::spatialDistance):
- (WebCore::isRectInDirection):
- (WebCore::hasOffscreenRect):
- (WebCore::scrollInDirection):
- (WebCore::isInRootDocument):
- (WebCore::deflateIfOverlapped):
- * page/SpatialNavigation.h: Added.
- (WebCore::):
- (WebCore::FocusCandidate::FocusCandidate):
-
-2010-03-04 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Anders Carlsson.
-
- This fixes the layering violation I committed yesterday by moving
- Page::instanceHandle into its own file just in the WebCore
- namespace.
-
- Added WebCoreInstanceHandle.h + .cpp and removed PageWin.cpp
- * WebCore.vcproj/WebCore.vcproj:
- * page/win/PageWin.cpp: Removed.
-
- Remove all instance handle code from Page.
- * page/Page.h:
-
- New files.
- * platform/win/WebCoreInstanceHandle.cpp: Added.
- * platform/win/WebCoreInstanceHandle.h: Added.
- (WebCore::setInstanceHandle):
- (WebCore::instanceHandle):
-
- Switch to WebCore::instanceHandle() instead of
- Page::instanceHandle() and include the new header.
- * platform/graphics/win/WKCACFLayerRenderer.cpp:
- (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable):
- * platform/win/PasteboardWin.cpp:
- (WebCore::Pasteboard::Pasteboard):
- * platform/win/PopupMenuWin.cpp:
- (WebCore::PopupMenu::show):
- (WebCore::PopupMenu::registerClass):
- * platform/win/SharedTimerWin.cpp:
- (WebCore::initializeOffScreenTimerWindow):
- * plugins/win/PluginViewWin.cpp:
- (WebCore::registerPluginView):
- (WebCore::PluginView::platformStart):
-
-2010-03-04 Antonio Gomes <tonikitoo@webkit.org>
-
- Unreviewed build fix.
- Patch by Antonio Gomes <tonikitoo@webkit.org>
-
- 'glib_file_name' renamed to 'gligFileName'.
-
- * platform/graphics/gtk/ImageGtk.cpp:
- (WebCore::Image::loadPlatformResource):
-
-2010-03-04 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Remove two last synchronous calls from front-end to InspectorBackend.
-
- https://bugs.webkit.org/show_bug.cgi?id=35720
-
- * inspector/InspectorBackend.cpp:
- (WebCore::InspectorBackend::enableSearchingForNode):
- (WebCore::InspectorBackend::disableSearchingForNode):
- (WebCore::InspectorBackend::setPauseOnExceptionsState):
- * inspector/InspectorBackend.h:
- * inspector/InspectorBackend.idl:
- * inspector/InspectorController.cpp:
- (WebCore::InspectorController::setWindowVisible):
- (WebCore::InspectorContorller::setSearchingForNode):
- (WebCore::InspectorController::populateScriptObjects):
- * inspector/InspectorController.h:
- * inspector/InspectorFrontend.cpp:
- (WebCore::InspectorFrontend::searchingForNodeWasEnabled):
- (WebCore::InspectorFrontend::searchingForNodeWasDisabled):
- (WebCore::InspectorFrontend::updatePauseOnExceptionsState):
- * inspector/InspectorFrontend.h:
- * inspector/front-end/ElementsPanel.js:
- (WebInspector.ElementsPanel):
- (WebInspector.ElementsPanel.prototype.get statusBarItems):
- (WebInspector.ElementsPanel.prototype.hide):
- (WebInspector.ElementsPanel.prototype.reset):
- (WebInspector.ElementsPanel.prototype.searchingForNodeWasEnabled):
- (WebInspector.ElementsPanel.prototype.searchingForNodeWasDisabled):
- (WebInspector.ElementsPanel.prototype._nodeSearchButtonClicked):
- * inspector/front-end/InspectorBackendStub.js:
- (.WebInspector.InspectorBackendStub.prototype.enableSearchingForNode):
- (.WebInspector.InspectorBackendStub.prototype.disableSearchingForNode):
- (.WebInspector.InspectorBackendStub.prototype.setPauseOnExceptionsState):
- * inspector/front-end/ScriptsPanel.js:
- (WebInspector.ScriptsPanel):
- (WebInspector.ScriptsPanel.prototype.get statusBarItems):
- (WebInspector.ScriptsPanel.prototype.updatePauseOnExceptionsState):
- (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
- (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions):
- * inspector/front-end/inspector.js:
- (WebInspector.searchingForNodeWasEnabled):
- (WebInspector.searchingForNodeWasDisabled):
- (WebInspector.updatePauseOnExceptionsState):
-
-2010-03-03 Pavel Feldman <pfeldman@chromium.org>
+ Re-commit r58765 - it had been rolled out to see if it was causing
+ a perf regression (in r59787), but that does not seem to have been
+ the case.
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Clicking on an error should take me to the error
-
- https://bugs.webkit.org/show_bug.cgi?id=34860
-
- * inspector/front-end/ResourceView.js:
- (WebInspector.ResourceView):
- (WebInspector.ResourceView.prototype._selectTab):
- (WebInspector.ResourceView.prototype.selectContentTab):
- * inspector/front-end/ResourcesPanel.js:
- (WebInspector.ResourcesPanel.prototype.showResource):
-
-2010-03-03 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Remove sync access to resourceTrackingEnabled.
-
- https://bugs.webkit.org/show_bug.cgi?id=35693
-
- * inspector/InspectorBackend.cpp:
- * inspector/InspectorBackend.h:
- * inspector/InspectorBackend.idl:
- * inspector/InspectorController.cpp:
- (WebCore::InspectorController::populateScriptObjects):
- * inspector/front-end/AuditsPanel.js:
- (WebInspector.AuditsPanel.prototype._reloadResources):
- (WebInspector.AuditsPanel.prototype.show):
- * inspector/front-end/InspectorBackendStub.js:
- (.WebInspector.InspectorBackendStub):
- (.WebInspector.InspectorBackendStub.prototype.enableResourceTracking):
- (.WebInspector.InspectorBackendStub.prototype.disableResourceTracking):
- (.WebInspector.InspectorBackendStub.prototype.enableDebugger):
- (.WebInspector.InspectorBackendStub.prototype.disableDebugger):
- (.WebInspector.InspectorBackendStub.prototype.enableProfiler):
- (.WebInspector.InspectorBackendStub.prototype.disableProfiler):
- * inspector/front-end/ResourcesPanel.js:
- (WebInspector.ResourcesPanel):
- (WebInspector.ResourcesPanel.prototype.get resourceTrackingEnabled):
- (WebInspector.ResourcesPanel.prototype.get visibleView):
- (WebInspector.ResourcesPanel.prototype.resourceTrackingWasEnabled):
- (WebInspector.ResourcesPanel.prototype.resourceTrackingWasDisabled):
- (WebInspector.ResourcesPanel.prototype.reset):
- (WebInspector.ResourcesPanel.prototype.showResource):
- (WebInspector.ResourcesPanel.prototype._enableResourceTracking):
- (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
-
-2010-03-04 Antoine Quint <ml@graougraou.com>
-
- Reviewed by Darin Adler.
-
- DOM insertion mutation events should dispatch after a node is attached to the render tree
- https://bugs.webkit.org/show_bug.cgi?id=35590
-
- Test: fast/events/domnodeinsertedintodocument-dispatched-post-rendering.html
-
- Split off the internal-to-WebCore node insertion notification code from the DOM mutation
- event dispatching, originally in dispatchChildInsertionEvents(), to a new static function
- called notifyChildInserted(). This allows us to dispatch the mutation events at a later
- time upon insertion of a child into to the tree, specifically _after_ attachment to the render
- tree.
-
- * dom/ContainerNode.cpp:
- (WebCore::ContainerNode::insertBefore):
- (WebCore::ContainerNode::replaceChild):
- (WebCore::ContainerNode::appendChild):
- (WebCore::notifyChildInserted):
- (WebCore::dispatchChildInsertionEvents):
-
-2010-03-04 Fridrich Strba <fridrich.strba@bluewin.ch>
-
- Reviewed by Holger Freyther.
-
- Make paths relocatable on runtime on Windows
- https://bugs.webkit.org/show_bug.cgi?id=32711
-
- * platform/graphics/gtk/ImageGtk.cpp:
- (get_webkit_datadir):
- (WebCore::Image::loadPlatformResource):
-
-2010-03-04 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Popup for Timeline panel will work in a tooltip mode
-
- https://bugs.webkit.org/show_bug.cgi?id=35680
-
- * inspector/front-end/Popover.js:
- (WebInspector.Popover):
- (WebInspector.Popover.prototype.show):
- (WebInspector.Popover.prototype.hide):
- (WebInspector.Popover.prototype._positionElement):
- (WebInspector.PopoverHelper):
- (WebInspector.PopoverHelper.prototype._mouseDown):
- (WebInspector.PopoverHelper.prototype._mouseMove.doHide):
- (WebInspector.PopoverHelper.prototype._mouseMove):
- (WebInspector.PopoverHelper.prototype._resetHoverTimer):
- (WebInspector.PopoverHelper.prototype.hidePopup):
- (WebInspector.PopoverHelper.prototype._mouseHover):
- (WebInspector.PopoverHelper.prototype._killHidePopupTimer):
- * inspector/front-end/TimelineOverviewPane.js:
- (WebInspector.TimelineOverviewPane.prototype.reset):
- * inspector/front-end/TimelinePanel.js:
- (WebInspector.TimelinePanel):
- (WebInspector.TimelinePanel.prototype.get _recordStyles):
- (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
- (WebInspector.TimelinePanel.prototype._scheduleRefresh):
- (WebInspector.TimelinePanel.prototype._refreshRecords):
- (WebInspector.TimelinePanel.prototype._adjustScrollPosition):
- (WebInspector.TimelinePanel.prototype._getPopoverAnchor):
- (WebInspector.TimelinePanel.prototype._showPopover):
- (WebInspector.TimelinePanel.prototype._closeRecordDetails):
- (WebInspector.TimelineRecordListRow):
- (WebInspector.TimelineRecordListRow.prototype.update):
- (WebInspector.TimelineRecordGraphRow):
- (WebInspector.TimelineRecordGraphRow.prototype._onClick):
- (WebInspector.TimelinePanel.FormattedRecord):
- (WebInspector.TimelinePanel.FormattedRecord.prototype._createCell):
- (WebInspector.TimelinePanel.FormattedRecord.prototype._createRow):
- (WebInspector.TimelinePanel.FormattedRecord.prototype._createLinkRow):
- (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
- (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
- * inspector/front-end/inspector.css:
-
-2010-03-04 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Unreviewed build fix.
-
- Build fix after r55464.
-
- No new tests, no new functionality.
-
- * inspector/InspectorController.cpp:
- (WebCore::InspectorController::populateScriptObjects):
-
-2010-03-04 Leandro Pereira <leandro@profusion.mobi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Add EFL port files to platform/graphics/efl.
- http://webkit.org/b/35539
-
- * platform/graphics/efl/FloatRectEfl.cpp: Added.
- * platform/graphics/efl/FontEfl.cpp: Added.
- * platform/graphics/efl/IconEfl.cpp: Added.
- * platform/graphics/efl/ImageEfl.cpp: Added.
- * platform/graphics/efl/IntPointEfl.cpp: Added.
- * platform/graphics/efl/IntRectEfl.cpp: Added.
-
-2010-03-04 Leandro Pereira <leandro@profusion.mobi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Add EFL port files to platform/text/efl.
- http://webkit.org/b/35740
-
- * platform/text/efl/TextBreakIteratorInternalICUEfl.cpp: Added.
-
-2010-03-04 Fridrich Strba <fridrich.strba@bluewin.ch>
-
- Reviewed by Holger Freyther.
-
- https://bugs.webkit.org/show_bug.cgi?id=35726
- Remove orphaned #ifdef WTF_USE_GLIB_ICU_UNICODE_HYBRID
-
- Removing orphaned #if USE.
-
- * platform/ThreadGlobalData.h:
-
-2010-03-03 Jeremy Orlow <jorlow@chromium.org>
-
- Reviewed by Darin Fisher.
-
- Throttle sync requests sent to the LocalStorage background thread
- https://bugs.webkit.org/show_bug.cgi?id=34943
-
- Currently, once a second LocalStorage takes all keys/values which have
- been changed and sends them to a background thread to sync. The problem
- is that this background thread can get overwhelmed and stop being
- responsive. This means that if any other page tries to start using
- LocalStorage (and thus initiates the initial import) that'll block on
- all the previous syncs completing.
-
- To mitigate this, I'm adding code so that we never schedule another
- sync task when another is still running. In order to keep the sync
- tasks from growing exponentially when they do take longer than the
- storage sync interval, I've also added a basic rate limiter. No effort
- is made to ensure fairness/ordering of what gets synced nor is there
- any way for this rate to be changed because most normal uses of
- LocalStorage really shouldn't be hitting these types of limits anyway.
-
- The only behavioral change that's observible in JavaScript is time based
- and thus it's not practical to make new tests that aren't racy. The
- existing layout tests cover LocalStorage pretty well, though.
-
- * storage/StorageAreaSync.cpp:
- (WebCore::StorageAreaSync::StorageAreaSync):
- (WebCore::StorageAreaSync::scheduleFinalSync):
- (WebCore::StorageAreaSync::syncTimerFired):
- (WebCore::StorageAreaSync::performSync):
- * storage/StorageAreaSync.h:
-
-2010-03-04 Andrey Kosyakov <caseq@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Added support for worker instrumentation in inspector
- (display list of active workers, allow debugging of workers
- by injecting fake JS implementation)
-
- https://bugs.webkit.org/show_bug.cgi?id=35568
-
- * English.lproj/localizedStrings.js:
- * WebCore.gypi:
- * WebCore.vcproj/WebCore.vcproj:
- * bindings/js/JSInjectedScriptHostCustom.cpp:
- (WebCore::InjectedScriptHost::createInjectedScript):
- (WebCore::InjectedScriptHost::injectedScriptFor):
- * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
- (WebCore::InjectedScriptHost::createInjectedScript):
- (WebCore::InjectedScriptHost::injectedScriptFor):
- * dom/Document.cpp:
- (WebCore::Document::inspectorController):
- * dom/Document.h:
- * dom/ScriptExecutionContext.h:
- (WebCore::ScriptExecutionContext::inspectorController):
- * inspector/InjectedScriptHost.cpp:
- (WebCore::InjectedScriptHost::InjectedScriptHost):
- (WebCore::InjectedScriptHost::injectScript):
- (WebCore::InjectedScriptHost::nextWorkerId):
- (WebCore::InjectedScriptHost::didCreateWorker):
- (WebCore::InjectedScriptHost::willDestroyWorker):
- * inspector/InjectedScriptHost.h:
- * inspector/InjectedScriptHost.idl:
- * inspector/InspectorController.cpp:
- (WebCore::InspectorController::populateScriptObjects):
- (WebCore::InspectorController::resetScriptObjects):
- (WebCore::InspectorController::didCommitLoad):
- (WebCore::InspectorController::didCreateWorker):
- (WebCore::InspectorController::willDestroyWorker):
- * inspector/InspectorController.h:
- * inspector/InspectorFrontend.cpp:
- (WebCore::InspectorFrontend::didCreateWorker):
- (WebCore::InspectorFrontend::willDestroyWorker):
- * inspector/InspectorFrontend.h:
- * inspector/InspectorWorkerResource.h: Added.
- (WebCore::InspectorWorkerResource::create):
- (WebCore::InspectorWorkerResource::id):
- (WebCore::InspectorWorkerResource::url):
- (WebCore::InspectorWorkerResource::isSharedWorker):
- (WebCore::InspectorWorkerResource::InspectorWorkerResource):
- * inspector/front-end/Checkbox.js: Added.
- (WebInspector.Checkbox.callbackWrapper):
- (WebInspector.Checkbox):
- (WebInspector.Checkbox.prototype.checked):
- * inspector/front-end/InjectedFakeWorker.js:
- (InjectedFakeWorker.FakeWorker):
- (InjectedFakeWorker.FakeWorker.prototype.terminate):
- (InjectedFakeWorker.FakeWorker.prototype._handleException):
- (InjectedFakeWorker.FakeWorker.prototype._importScripts):
- (InjectedFakeWorker.FakeWorker.prototype._loadScript):
- (InjectedFakeWorker.FakeWorker.prototype._expandURLAndCheckOrigin):
- * inspector/front-end/ScriptsPanel.js:
- (WebInspector.ScriptsPanel):
- (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled):
- (WebInspector.ScriptsPanel.prototype.debuggerWasDisabled):
- (WebInspector.ScriptsPanel.prototype.reset):
- * inspector/front-end/WebKit.qrc:
- * inspector/front-end/WorkersSidebarPane.js: Added.
- (WebInspector.WorkersSidebarPane):
- (WebInspector.WorkersSidebarPane.prototype.addWorker):
- (WebInspector.WorkersSidebarPane.prototype.removeWorker):
- (WebInspector.WorkersSidebarPane.prototype.setInstrumentation):
- (WebInspector.WorkersSidebarPane.prototype.reset):
- (WebInspector.WorkersSidebarPane.prototype._onTriggerInstrument):
- (WebInspector.Worker):
- (WebInspector.didCreateWorker):
- (WebInspector.willDestroyWorker):
- * inspector/front-end/inspector.css:
- * inspector/front-end/inspector.html:
- * workers/AbstractWorker.cpp:
- (WebCore::AbstractWorker::AbstractWorker):
- (WebCore::AbstractWorker::~AbstractWorker):
- (WebCore::AbstractWorker::onDestroyWorker):
- (WebCore::AbstractWorker::contextDestroyed):
- * workers/AbstractWorker.h:
- (WebCore::AbstractWorker::id):
- * workers/SharedWorker.cpp:
- (WebCore::SharedWorker::SharedWorker):
- * workers/Worker.cpp:
- (WebCore::Worker::Worker):
-
-2010-03-04 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Make the OUTPUT_DIR variable in qmake projects independent of build-webkit's logic.
-
- This also allows shadow builds relying only on qmake to work properly.
-
- * WebCore.pro:
-
-2010-03-02 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Avoid calling QFont::detach too often from FontQt
- https://bugs.webkit.org/show_bug.cgi?id=35569
-
- The letter- and wordspacing is inside the WebCore::Font class,
- our QFont is located in the WebCore::FontPlatformData. Everytime
- we need to use a QFont inside WebCore::Font we are calling the
- font method which gets the QFont from the WebCore::FontPlatformData
- and is applying the letter- and wordspacing. Internally this
- will attempt to detach the QFont...
-
- Avoid calling setLetterSpacing and setWordSpacing on QFont if
- the WebCore::Font has the default applied.
-
- * platform/graphics/qt/FontQt.cpp:
- (WebCore::Font::font):
-
-2010-03-04 Alexander Pavlov <apavlov@chromium.org>
-
- Reviewed by Pavel Feldman.
+ Tests: fast/notifications/notifications-replace.html
+ fast/notifications/notifications-rtl.html
- Web Inspector: Nothing happens on navigation to resource via a link if resource tracking is disabled
- https://bugs.webkit.org/show_bug.cgi?id=35574
+ https://bugs.webkit.org/show_bug.cgi?id=39605
- * English.lproj/localizedStrings.js:
- * inspector/front-end/ResourcesPanel.js:
- (WebInspector.ResourcesPanel.prototype.canShowSourceLine):
- (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
- * inspector/front-end/inspector.js:
- (WebInspector.documentMouseOver):
- (WebInspector.documentMouseOut):
- (WebInspector.hideBadLinkPopupIfNecessary):
- (WebInspector.documentClick.followLink):
- (WebInspector.documentClick):
- (WebInspector.showBadLinkPopup.popupOverOut):
- (WebInspector.showBadLinkPopup):
- (WebInspector.addMainEventListeners):
+ * notifications/Notification.h:
+ (WebCore::Notification::dir):
+ (WebCore::Notification::setDir):
+ (WebCore::Notification::replaceId):
+ (WebCore::Notification::setReplaceId):
+ * notifications/Notification.idl:
-2010-03-04 Vangelis Kokkevis <vangelis@chromium.org>
+2010-05-22 Jer Noble <jer.noble@apple.com>
- Reviewed by Oliver Hunt.
+ Reviewed by Adam Roben.
- getUniformLocation() now returns null if uniform requested
- is not found.
- https://bugs.webkit.org/show_bug.cgi?id=34669
+ Full screen doesn't work for video elements
+ https://bugs.webkit.org/show_bug.cgi?id=39557
+ rdar://problem/8011813
- Test:LayoutTests/fast/canvas/webgl/uniform-location.html
- (added missing test)
-
- * html/canvas/WebGLRenderingContext.cpp:
- (WebCore::WebGLRenderingContext::getUniformLocation):
-
-2010-03-04 John Abd-El-Malek <jam@chromium.org>
-
- Reviewed by Adam Barth.
-
- Fix incorrect setup of DateExtension.
- https://bugs.webkit.org/show_bug.cgi?id=35710
-
- * bindings/v8/DateExtension.cpp:
- (WebCore::DateExtension::setAllowSleep):
-
-2010-03-04 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- https://bugs.webkit.org/show_bug.cgi?id=35603
- SVG incorrectly allows nested <use> elements in a <use> shadow tree
-
- Simplify the handling of invalid or missing use-targets by cloning them
- to empty <g> elements rather than just allowing the <use> element to
- be copied into the shadow tree, as this violates a number of assumptions
- in the shadow tree handling code.
-
- Tests: svg/custom/use-nested-disallowed-target.svg
- svg/custom/use-nested-missing-target-added.svg
- svg/custom/use-nested-missing-target-removed.svg
- svg/custom/use-nested-missing-target.svg
- svg/custom/use-nested-notarget.svg
-
- * svg/SVGUseElement.cpp:
- (WebCore::SVGUseElement::buildPendingResource):
- (WebCore::SVGUseElement::buildShadowAndInstanceTree):
- (WebCore::SVGUseElement::expandUseElementsInShadowTree):
-
-2010-03-04 Leandro Pereira <leandro@profusion.mobi>
-
- Reviewed by Gustavo Noronha Silva.
-
- Move Cairo-related font code from platform/graphics/gtk to
- platform/graphics/cairo, so other ports may use them.
- http://webkit.org/b/35539
-
- * GNUmakefile.am:
- * platform/graphics/cairo/FontCacheCairo.cpp: Copied from WebCore/platform/graphics/gtk/FontCacheGtk.cpp.
- * platform/graphics/cairo/FontCustomPlatformData.cpp: Copied from WebCore/platform/graphics/gtk/FontCustomPlatformData.cpp.
- * platform/graphics/cairo/FontCustomPlatformData.h: Copied from WebCore/platform/graphics/gtk/FontCustomPlatformData.h.
- * platform/graphics/cairo/FontPlatformData.h: Copied from WebCore/platform/graphics/gtk/FontPlatformData.h.
- * platform/graphics/cairo/FontPlatformDataCairo.cpp: Copied from WebCore/platform/graphics/gtk/FontPlatformDataGtk.cpp.
- * platform/graphics/cairo/GlyphPageTreeNodeCairo.cpp: Copied from WebCore/platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp.
- * platform/graphics/cairo/SimpleFontDataCairo.cpp: Copied from WebCore/platform/graphics/gtk/SimpleFontDataGtk.cpp.
- * platform/graphics/gtk/FontCacheGtk.cpp: Removed.
- * platform/graphics/gtk/FontCustomPlatformData.cpp: Removed.
- * platform/graphics/gtk/FontCustomPlatformData.h: Removed.
- * platform/graphics/gtk/FontPlatformData.h: Removed.
- * platform/graphics/gtk/FontPlatformDataGtk.cpp: Removed.
- * platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp: Removed.
- * platform/graphics/gtk/SimpleFontDataGtk.cpp: Removed.
-
-2010-03-04 Evan Stade <estade@chromium.org>
-
- Reviewed by David Levin.
-
- https://bugs.webkit.org/show_bug.cgi?id=35261
- [skia] crash when attempting to render certain SVGs
-
- This fixes the crash, but the SVG still doesn't render properly.
-
- Test: svg/custom/tiling-regular-hexagonal-crash.svg
-
- * platform/graphics/skia/ImageSkia.cpp:
- (WebCore::BitmapImageSingleFrameSkia::create): don't return 0 when
- the copy fails; instead return a blank bitmap. The caller doesn't
- check for 0 before dereferencing.
-
-2010-03-04 Tony Chang <tony@chromium.org>
-
- Reviewed by Darin Fisher.
-
- Initialize m_isMultipartPayload in other ResourceResponse ctor.
- In r55451 (bug 35628) I added an extra bool, but only initialized
- it in one constructor.
- https://bugs.webkit.org/show_bug.cgi?id=35719
-
- * platform/network/chromium/ResourceResponse.h:
- (WebCore::ResourceResponse::ResourceResponse):
-
-2010-03-03 Yuta Kitamura <yutak@chromium.org>
-
- Reviewed by Alexey Proskuryakov.
-
- Add a new class that stores information about Web Socket handshake request.
-
- Instances of this class contain the necessary information to send a Web Socket
- handshake request. In the future, this class will provide request information
- to the Web Inspector.
-
- WebSocketHandshake needs to provide request information
- https://bugs.webkit.org/show_bug.cgi?id=34784
-
- No new tests, since the current tests will suffice (LayoutTests/websocket/*).
-
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * websockets/WebSocketChannel.cpp:
- * websockets/WebSocketHandshake.cpp:
- (WebCore::WebSocketHandshake::clientHandshakeMessage):
- (WebCore::WebSocketHandshake::clientHandshakeRequest):
- * websockets/WebSocketHandshake.h:
- * websockets/WebSocketHandshakeRequest.cpp: Added.
- (WebCore::WebSocketHandshakeRequest::WebSocketHandshakeRequest):
- (WebCore::WebSocketHandshakeRequest::~WebSocketHandshakeRequest):
- (WebCore::WebSocketHandshakeRequest::addExtraHeaderField):
- (WebCore::WebSocketHandshakeRequest::headerFields):
- (WebCore::WebSocketHandshakeRequest::host):
- * websockets/WebSocketHandshakeRequest.h: Added.
-
-2010-03-03 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Build fix after r55452.
-
- No new tests, this is a build fix.
-
- * page/Settings.cpp:
- (WebCore::Settings::setDatabasesEnabled):
-
-2010-03-03 Diego Gonzalez <diego.gonzalez@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Make keyIdentifierForQtKeyCode return the unicode backspace value on Qt PlatformKeyboardEvent
-
- LayoutTests:
- fast/events/key-events-in-input-text.html
- fast/events/special-key-events-in-input-text.html
-
- [Qt] Return the unicode backspace value in keyIdentifierForQtKeyCode on Qt PlatformKeyboardEvent
- https://bugs.webkit.org/show_bug.cgi?id=35694
-
- * platform/qt/PlatformKeyboardEventQt.cpp:
- (WebCore::keyIdentifierForQtKeyCode):
-
-2010-03-03 Chad Faragher <wyck@chromium.org>
-
- Reviewed by Darin Adler.
- Changed the double-click framework code to pass adjusted page
- coordinates for zoomed pages. Added a new test to expose
- mistreatment of mouse click coordinates during a double-click.
-
- https://bugs.webkit.org/show_bug.cgi?id=35690
-
- Test: fast/events/zoom-dblclick.html
-
- * dom/Node.cpp:
- (WebCore::Node::dispatchMouseEvent):
-
-2010-03-03 David Levin <levin@chromium.org>
-
- No review, rolling out r55474.
-
- The patch broke fast/frames/sandboxed-iframe-storage.html
-
- Last one (I hope).
+ Add fullscreen support for MediaPlayerPrivateVisualContext. A new class, MediaPlayerPrivateFullscreenWindow,
+ provides the fullscreen hwnd and layer renderer. Any WKCACFLayer can be provided to MediaPlayerPrivateFullscreenWindow
+ so future additional MediaPlayerPrivate implementations can use the fullscreen window.
- * WebCore.xcodeproj/project.pbxproj:
-
-2010-03-03 David Levin <levin@chromium.org>
-
- No review, rolling out r55474.
-
- The patch broke fast/frames/sandboxed-iframe-storage.html
-
- Unfortunately, (the webkit-patch rollout and) I missed these in r55485.
-
- * bindings/js/JSDatabaseCallback.cpp: Removed.
- * bindings/js/JSDatabaseCallback.h: Removed.
- * bindings/v8/custom/V8DatabaseCallback.cpp: Removed.
- * bindings/v8/custom/V8DatabaseCallback.h: Removed.
- * storage/DatabaseCallback.h: Removed.
-
-2010-03-02 Dumitru Daniliuc <dumi@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Fix a bug that could lead to a crash. Some parts of
- SQLTransaction::checkAndHandleClosedDatabase() should only be run
- when that method is invoked on the DB thread.
-
- We cannot test this fix with a test, because the crash happens
- only when all of the following conditions are met:
- 1. A database is closing.
- 2. A transaction on that database is in progress.
- 3. The transaction is in a state where a statement/transaction
- success/error callback needs to be invoked (so there's a task for
- this transaction pending on the main thread).
- 4. The DB thread finished processing all its tasks and called
- SQLTransactionCoordinator::shutdown() before the main thread go to
- that task.
-
- The closest thing we have to a test is running
- LayoutTests/storage/database-lock-after-reload.html 1000 times in
- a row. Without the patch, the probability of a crash happening in
- one of the runs is very high. With the patch, the test should
- reliably run 1000 times in a row without a single crash.
-
- https://bugs.webkit.org/show_bug.cgi?id=35624
-
- * storage/SQLTransaction.cpp:
- (WebCore::SQLTransaction::checkAndHandleClosedDatabase):
-
-2010-03-03 Darin Fisher <darin@chromium.org>
-
- Reviewed by Mark Rowe.
+ Minor additions have been made to the FloatSize and IntSize classes.
- Page should not care about Chromium plug-in implementation details
- https://bugs.webkit.org/show_bug.cgi?id=35623
+ MediaPlayerPrivateQuickTimeVisualContext now calls retrieveCurrentImage after creating a new
+ videoLayer; this is an existing bug that was never really exposed before now.
- * WebCore.gypi: Compile PluginViewNone.cpp
- * page/Page.cpp:
- (WebCore::Page::privateBrowsingStateChanged): Remove conditional
- compilation for PLATFORM(CHROMIUM).
-
-2010-03-03 David Levin <levin@chromium.org>
-
- No review, rolling out r55474.
- http://trac.webkit.org/changeset/55480
-
- The patch broke fast/frames/sandboxed-iframe-storage.html
-
- * Android.jscbindings.mk:
- * Android.v8bindings.mk:
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
- * bindings/js/JSDOMWindowCustom.cpp:
- * bindings/v8/custom/V8DOMWindowCustom.cpp:
- * dom/Document.cpp:
- (WebCore::Document::postTask):
- * page/DOMWindow.cpp:
- (WebCore::DOMWindow::openDatabase):
- * page/DOMWindow.h:
- * page/DOMWindow.idl:
- * storage/Database.cpp:
- (WebCore::Database::openDatabase):
- (WebCore::Database::Database):
- (WebCore::Database::performOpenAndVerify):
- * storage/Database.h:
- * workers/WorkerContext.cpp:
- (WebCore::WorkerContext::openDatabase):
- * workers/WorkerContext.h:
-
-2010-03-03 David Levin <levin@chromium.org>
-
- No review, rolling out r55480.
- http://trac.webkit.org/changeset/55480
-
- The patch broke fast/frames/sandboxed-iframe-storage.html
-
- * storage/Database.cpp:
- * storage/Database.h:
-
-2010-03-03 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Geoff Garen.
-
- Add virtual memory tags for TCMalloc and WebCore's purgeable buffers.
-
- * platform/mac/PurgeableBufferMac.cpp:
- (WebCore::PurgeableBuffer::create): Use the VM tag.
-
-2010-03-03 Dumitru Daniliuc <dumi@chromium.org>
-
- Reviewed by nobody, build fix.
-
- Move #include "DatabaseCallback.h" from Database.h to
- Database.cpp.
-
- * storage/Database.cpp:
- * storage/Database.h:
-
-2010-03-03 Darin Adler <darin@apple.com>
-
- Fixed Mac build.
-
- * WebCore.xcodeproj/project.pbxproj: Marked a couple of headers "private" so they can
- be used in the WebKit project.
-
-2010-03-03 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Adele Peterson.
-
- https://bugs.webkit.org/show_bug.cgi?id=35044
- Crash in XML tokenizer reloading zoom-coords-viewattr-01-b.svg
-
- I'm often getting a crash even when opening the test for the first time in Safari, but it
- doesn't seem to crash in DumpRenderTree. Still, I can't think of a stronger way to test for
- this condition, so no new regression test.
-
- * dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::end): Be prepared that parsing remaining
- input will pause parsing.
-
-2010-03-03 Dumitru Daniliuc <dumi@chromium.org>
-
- Reviewed by Adam Barth.
-
- Adding support for the optional creation callback that could be
- passed to openDatabase().
-
- Test: storage/open-database-creation-callback.html
-
- https://bugs.webkit.org/show_bug.cgi?id=34726
-
- * Android.jscbindings.mk
- * Android.v8bindings.mk
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/js/JSDOMWindowCustom.cpp:
- (WebCore::JSDOMWindow::openDatabase):
- * bindings/js/JSDatabaseCallback.cpp: Added.
- (WebCore::JSDatabaseCallback::JSDatabaseCallback):
- (WebCore::JSDatabaseCallback::~JSDatabaseCallback):
- (WebCore::JSDatabaseCallback::handleEvent):
- * bindings/js/JSDatabaseCallback.h: Added.
- (WebCore::JSDatabaseCallback::create):
- * bindings/v8/custom/V8DOMWindowCustom.cpp:
- (WebCore::V8DOMWindow::openDatabaseCallback):
- * bindings/v8/custom/V8DatabaseCallback.cpp: Added.
- (WebCore::V8DatabaseCallback::V8DatabaseCallback):
- (WebCore::V8DatabaseCallback::~V8DatabaseCallback):
- (WebCore::V8DatabaseCallback::handleEvent):
- * bindings/v8/custom/V8DatabaseCallback.h: Added.
- (WebCore::V8DatabaseCallback::create):
- * page/DOMWindow.cpp:
- (WebCore::DOMWindow::openDatabase):
- * page/DOMWindow.h:
- * page/DOMWindow.idl:
- * storage/Database.cpp:
- (WebCore::DatabaseCreationCallbackTask::create):
- (WebCore::DatabaseCreationCallbackTask::performTask):
- (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
- (WebCore::Database::openDatabase):
- (WebCore::Database::Database):
- (WebCore::Database::performOpenAndVerify):
- (WebCore::Database::performCreationCallback):
- * storage/Database.h:
- (WebCore::Database::isNew):
- * storage/DatabaseCallback.h: Added.
- (WebCore::DatabaseCallback::~DatabaseCallback):
- * workers/WorkerContext.cpp:
- (WebCore::WorkerContext::openDatabase):
- * workers/WorkerContext.h:
-
-2010-03-03 Alexander Pavlov <apavlov@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: resources panel only shows uncompressed resource size.
- https://bugs.webkit.org/show_bug.cgi?id=35403
-
- * English.lproj/localizedStrings.js:
- * inspector/InspectorResource.cpp:
- (WebCore::InspectorResource::updateScriptObject):
- * inspector/front-end/AbstractTimelinePanel.js:
- (WebInspector.AbstractTimelinePanel.prototype.refresh):
- * inspector/front-end/AuditRules.js:
- (WebInspector.AuditRules.GzipRule.prototype.doRun):
- (WebInspector.AuditRules.GzipRule.prototype._shouldCompress):
- * inspector/front-end/ImageView.js:
- (WebInspector.ImageView):
- * inspector/front-end/Resource.js:
- (WebInspector.Resource.prototype.get resourceSize):
- (WebInspector.Resource.prototype.set resourceSize):
- (WebInspector.Resource.prototype.get transferSize):
- (WebInspector.Resource.CompareBySize):
- (WebInspector.Resource.CompareByTransferSize):
- * inspector/front-end/ResourcesPanel.js:
- (WebInspector.ResourcesPanel.prototype.populateSidebar):
- (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels):
- (WebInspector.ResourceTransferSizeCalculator.prototype.computeBarGraphLabels):
- (WebInspector.ResourceTransferSizeCalculator.prototype.computeBarGraphPercentages):
- (WebInspector.ResourceTransferSizeCalculator.prototype._value):
- (WebInspector.ResourceTransferSizeCalculator.prototype._networkBytes):
- (WebInspector.ResourceSidebarTreeElement.CompareByDescendingTransferSize):
- (WebInspector.ResourceGraph.prototype.refreshLabelPositions):
- (WebInspector.ResourceGraph.prototype.refresh):
- * inspector/front-end/inspector.css:
- * inspector/front-end/inspector.js:
- (WebInspector.updateResource):
-
-2010-03-03 Dan Bernstein <mitz@apple.com>
-
- Build fix.
-
- * dom/ContainerNode.cpp:
- (WebCore::ContainerNode::removeChildren):
-
-2010-03-03 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Get rid of synchronous debuggerEnabled, profilerEnabled calls.
-
- https://bugs.webkit.org/show_bug.cgi?id=32331
-
- * inspector/InspectorBackend.cpp:
- * inspector/InspectorBackend.h:
- * inspector/InspectorBackend.idl:
- * inspector/front-end/BreakpointsSidebarPane.js:
- (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
- (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
- (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
- * inspector/front-end/ProfilesPanel.js:
- (WebInspector.ProfilesPanel):
- (WebInspector.ProfilesPanel.prototype.profilerWasEnabled):
- (WebInspector.ProfilesPanel.prototype.profilerWasDisabled):
- (WebInspector.ProfilesPanel.prototype._updateInterface):
- (WebInspector.ProfilesPanel.prototype._enableProfiling):
- (WebInspector.ProfilesPanel.prototype._toggleProfiling):
- * inspector/front-end/ScriptsPanel.js:
- (WebInspector.ScriptsPanel):
- (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled):
- (WebInspector.ScriptsPanel.prototype.debuggerWasDisabled):
- (WebInspector.ScriptsPanel.prototype.reset):
- (WebInspector.ScriptsPanel.prototype.canShowSourceLine):
- (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
- (WebInspector.ScriptsPanel.prototype._enableDebugging):
- (WebInspector.ScriptsPanel.prototype._toggleDebugging):
-
-2010-03-03 Eric Carlson <eric.carlson@apple.com>
-
- Reviewed by Adele Peterson.
-
- Replace 'autobuffer' attribute with 'preload' to align with spec revision 4811.
- https://bugs.webkit.org/show_bug.cgi?id=35385
- rdar://problem/7689602
-
- Tests: media/audio-constructor-preload.html
- media/video-dom-preload.html
-
- * html/HTMLAttributeNames.in: Remove autobuffer, add preload
-
- * html/HTMLAudioElement.cpp:
- (WebCore::HTMLAudioElement::createForJSConstructor): set preload to 'auto' instead of
- autobuffer to true.
-
- * html/HTMLMediaElement.cpp:
- (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_preload.
- (WebCore::HTMLMediaElement::parseMappedAttribute): Deal with 'preload' attribute.
- (WebCore::HTMLMediaElement::loadResource): Call setPreload() on the newly created MediaPlayer,
- before calling load() so it can pass the setting through to the media engine.
- (WebCore::HTMLMediaElement::preload): New.
- (WebCore::HTMLMediaElement::setPreload): Ditto
- * html/HTMLMediaElement.h:
- * html/HTMLMediaElement.idl:
-
- * platform/graphics/MediaPlayer.cpp:
- (WebCore::MediaPlayer::MediaPlayer): Initialize m_preload.
- (WebCore::MediaPlayer::load): Pass m_preload to newly created media engine.
- (WebCore::MediaPlayer::preload): New, return m_preload.
- (WebCore::MediaPlayer::setPreload): New, set m_preload.
- * platform/graphics/MediaPlayer.h:
- (WebCore::MediaPlayer::):
- * platform/graphics/MediaPlayerPrivate.h:
- (WebCore::MediaPlayerPrivateInterface::setPreload):
-
- * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
- (WebCore::MediaPlayerPrivate::setPreload): Renamed from setAutoplay, fix logic for preload.
- * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
-
-2010-03-03 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Sam Weinig.
-
- <rdar://problem/7682756> Assertion failure when replacing the contents of a <select>
-
- Test: fast/dom/remove-children-notification-order.html
-
- * dom/ContainerNode.cpp:
- (WebCore::ContainerNode::removeChildren): Changed to call childrenChanged()
- before calling removedFromDocument() on each removed child, which matches
- the order removeChild() does things, and avoids the assertion. This required
- temporarily storing the removed children in a vector.
- Also added comments about other discrepancies between this function and
- removeChild().
-
-2010-03-03 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Adler.
-
- Document cookieURL and firstPartyForCookies
- https://bugs.webkit.org/show_bug.cgi?id=35613
-
- Some folks asked what the cookieURL and the firstPartyForCookies were
- on IRC. This patch documents these properties in the code so folks
- don't have to ask on IRC anymore.
-
- * dom/Document.h:
-
-2010-03-03 Arno Renevier <arno@renevier.net>
-
- Reviewed by Gustavo Noronha Silva.
-
- [Gtk]: assertion triggered when geolocation getCurrentPosition without an option argument.
- https://bugs.webkit.org/show_bug.cgi?id=35666
-
- * platform/gtk/GeolocationServiceGtk.cpp:
- (WebCore::GeolocationServiceGtk::startUpdating):
-
-2010-03-03 Fridrich Strba <fridrich.strba@bluewin.ch>
-
- Reviewed by Xan Lopez.
-
- Miscellaneous little fixes for the windows build of webkit-gtk
- https://bugs.webkit.org/show_bug.cgi?id=35640
-
- * GNUmakefile.am: dist two new files concerning mathml support.
-
-2010-03-03 Xan Lopez <xlopez@igalia.com>
-
- Unreviewed distcheck fix.
-
- Add new file to the build.
-
- * GNUmakefile.am:
-
-2010-03-03 Antti Koivisto <koivisto@iki.fi>
-
- Reviewed by Oliver Hunt.
-
- Make IntPoint usable as a hash key
-
- https://bugs.webkit.org/show_bug.cgi?id=35586
-
- * WebCore.pro:
- * WebCore.xcodeproj/project.pbxproj:
- * platform/graphics/IntPointHash.h: Added.
- (WTF::IntPointHash::hash):
- (WTF::IntPointHash::equal):
- (WTF::):
-
-2010-03-02 Eric Uhrhane <ericu@chromium.org>
-
- Reviewed by David Levin.
-
- Move database enable bit fully out of settings
- This is stage one of a three-stage commit [webkit, then chromium, then
- webkit again]. In this change I'm adding calls to
- Database::setIsAvailable inside Settings::setDatabaseEnabled and
- anywhere else that called it, and switching webkit fully over to using
- that flag [added in a previous checkin]. Phase two will remove
- Chromium's use of Settings for the Database, and phase three will remove
- the Setting for the Database enable entirely, leaving only
- Database::isAvailable/setIsAvailable.
-
- No new tests; tested by existing storage tests.
-
- https://bugs.webkit.org/show_bug.cgi?id=35310
-
- * WebCore.base.exp: Export Database::setIsAvailable
- * WebCore.xcodeproj/project.pbxproj: Export needed headers as Private
- * page/DOMWindow.cpp: Read isAvailable, not Settings::isDatabaseEnabled
- (WebCore::DOMWindow::openDatabase):
- * page/Settings.cpp: Add a call to Database::setIsAvailable.
- (WebCore::Settings::setDatabasesEnabled):
-
-2010-03-02 Tony Chang <tony@chromium.org>
-
- Reviewed by Darin Fisher.
-
- add a flag to WebURLResponse so we can identify multipart content
- https://bugs.webkit.org/show_bug.cgi?id=35628
-
- * platform/network/chromium/ResourceResponse.h:
- (WebCore::ResourceResponse::ResourceResponse):
- (WebCore::ResourceResponse::isMultipartPayload):
- (WebCore::ResourceResponse::setIsMultipartPayload):
-
-2010-03-02 Tony Chang <tony@chromium.org>
-
- Not reviewed, test fix.
-
- Revert r55447 because the new layout test is crashing consistently
- on Leopard Intel Debug (tests).
- https://bugs.webkit.org/show_bug.cgi?id=35261
-
- * platform/graphics/skia/ImageSkia.cpp:
- (WebCore::BitmapImageSingleFrameSkia::create):
-
-2010-03-02 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Fisher.
-
- Google Analytics triggers "blocked plugin" UI
- https://bugs.webkit.org/show_bug.cgi?id=35565
-
- Just like for running script, we need to distinguish between querying
- whether plug-ins are enabled and actually blocking a page from
- instantiating a plugin. We need to issue different callbacks to the
- FrameLoaderClient so that the client can inform us that plug-ins are
- disabled in some cases without showing the "plug-in blocked" UI.
-
- * dom/DOMImplementation.cpp:
- (WebCore::DOMImplementation::createDocument):
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::requestObject):
- (WebCore::FrameLoader::allowPlugins):
- * loader/FrameLoader.h:
- (WebCore::):
- * loader/FrameLoaderClient.h:
- (WebCore::FrameLoaderClient::didNotAllowPlugins):
- * loader/MainResourceLoader.cpp:
- (WebCore::MainResourceLoader::substituteMIMETypeFromPluginDatabase):
- * loader/PluginDocument.cpp:
- (WebCore::PluginTokenizer::writeRawData):
- * page/Page.cpp:
- (WebCore::Page::pluginData):
- * plugins/MimeType.cpp:
- (WebCore::MimeType::enabledPlugin):
-
-2010-03-02 Andreas Kling <andreas.kling@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Support the HTTP OPTIONS verb (needed for preflight requests)
-
- https://bugs.webkit.org/show_bug.cgi?id=34647
-
- * platform/network/qt/QNetworkReplyHandler.cpp:
- (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
- (WebCore::QNetworkReplyHandler::start):
-
-2010-03-02 Evan Stade <estade@chromium.org>
-
- Reviewed by David Levin.
-
- https://bugs.webkit.org/show_bug.cgi?id=35261
- [skia] crash when attempting to render certain SVGs
-
- This fixes the crash, but the SVG still doesn't render properly.
-
- Test: svg/custom/tiling-regular-hexagonal-crash.svg
-
- * platform/graphics/skia/ImageSkia.cpp:
- (WebCore::BitmapImageSingleFrameSkia::create): don't return 0 when
- the copy fails; instead return a blank bitmap. The caller doesn't
- check for 0 before dereferencing.
-
-2010-03-02 Arno Renevier <arno@renevier.net>
-
- Reviewed by Gustavo Noronha Silva.
-
- [Gtk] use geoclue providers with don't provide update
- https://bugs.webkit.org/show_bug.cgi?id=35191
-
- No new tests, behaviour depends on system.
-
- * platform/gtk/GeolocationServiceGtk.cpp:
- (WebCore::GeolocationServiceGtk::startUpdating):
-
-2010-03-02 John Abd-El-Malek <jam@chromium.org>
-
- Reviewed by Darin Adler.
-
- Remove unnecessary check.
- https://bugs.webkit.org/show_bug.cgi?id=35513
-
- * platform/ScrollView.cpp:
- (WebCore::ScrollView::updateScrollbars):
-
-2010-03-02 Darin Fisher <darin@chromium.org>
-
- Fix chromium build bustage.
-
- * page/Page.cpp:
- (WebCore::Page::privateBrowsingStateChanged): PluginView methods may
- not be called in the Chromium port.
-
-2010-03-02 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Darin Adler and Adam Roben.
-
- Fix for <rdar://problem/7485289> WebKit crashes on systems that
- don't support CoreAnimation
-
- WKCACFLayerRenderer::acceleratedCompositingAvailable() now creates
- a dummy HWND so that it can step through the whole setHostWindow()
- and createRenderer() process. createRenderer() also calls a new
- function, hardwareCapabilitiesIndicateCoreAnimationSupport() which
- can only be called once we have a d3dDevice.
-
- setHostWindow() and createRenderer() now both return bools that
- indicate whether or not they have succeeded.
-
- * platform/graphics/win/WKCACFLayerRenderer.cpp:
- (WebCore::hardwareCapabilitiesIndicateCoreAnimationSupport):
- (WebCore::CoreAnimationTesterWindowWndProc):
- (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable):
- (WebCore::WKCACFLayerRenderer::shared):
- (WebCore::WKCACFLayerRenderer::createRenderer):
- * platform/graphics/win/WKCACFLayerRenderer.h:
- (WebCore::WKCACFLayerRenderer::setHostWindow):
-
-2010-03-02 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Jon Honeycutt.
-
- ScriptDebugServer shouldn't care that Mac does not use PluginView for plug-ins.
-
- * bindings/js/ScriptDebugServer.cpp:
- * plugins/PluginViewNone.cpp:
- (WebCore::PluginView::setJavaScriptPaused): Add an empty implementation of setJavaScriptPaused.
-
-2010-03-02 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Jon Honeycutt.
-
- Clean up the build fix r55437 by adding an empty implementation of privateBrowsingStateChanged in PluginViewNone.cpp
-
- * page/Page.cpp:
- * plugins/PluginViewNone.cpp:
- (WebCore::PluginView::privateBrowsingStateChanged):
-
-2010-03-02 Mark Rowe <mrowe@apple.com>
-
- Fix the Mac build.
-
- * page/Page.cpp:
- (WebCore::Page::privateBrowsingStateChanged): Mac doesn't use WebCore's PluginView class
- for plug-ins, so provide an empty implementation of privateBrowsingStateChanged for Mac.
-
-2010-03-02 Andy Estes <aestes@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Add the capability to create and dispatch a WheelEvent in JavaScript.
- Ensure the event's default handler is triggered in the same way as it is
- during a PlatformWheelEvent.
-
- https://bugs.webkit.org/show_bug.cgi?id=35566
-
- Test: fast/events/wheelevent-in-scrolling-div.html
-
- * dom/Node.cpp: Ensure that the default behavior (scrolling) occurs for
- wheel events originating both from the platform and from
- JavaScript/ObjC.
- (WebCore::Node::dispatchWheelEvent): Instantiate new WheelEvent with
- the graunularity of the PlatformWheelEvent.
- (WebCore::Node::defaultEventHandler): Add support for mousewheel events.
- * dom/WheelEvent.cpp: Add three new member variables: m_deltaX, m_deltaY
- and m_granularity. m_deltaX and m_deltaY differ from m_wheelDeltaX and
- m_wheelDeltaY, which are the number of wheel ticks multiplied by 120 for
- IE compatibility.
- (WebCore::WheelEvent::WheelEvent): Initialize new member variables.
- (WebCore::WheelEvent::initWheelEvent): Same.
- (WebCore::WheelEvent::initWebKitWheelEvent): Same.
- * dom/WheelEvent.h: See WheelEvent.cpp.
- (WebCore::WheelEvent::): Add Granularity enum (Pixel, Line, Page).
- (WebCore::WheelEvent::create): Add new arguments.
- (WebCore::WheelEvent::deltaX): Amount of scroll in x direction.
- (WebCore::WheelEvent::deltaY): Amount of scroll in y direction.
- (WebCore::WheelEvent::granularity): Units of deltaX and deltaY.
- * dom/WheelEvent.idl: Add initWebKitWheelEvent() to JavaScript. This is
- the same as the initWheelEvent ObjC method. As the DOM Level 3 Events
- specification is still a working draft and subject to change, prefix
- 'WebKit' to the method signature to indicate experimental support.
- * page/EventHandler.cpp: Move the scroll handling from
- handleWheelEvent() to defaultWheelEventHandler(), which is executed on
- both PlatformWheelEvents and JavaScript WheelEvents.
- (WebCore::scrollNode): Renamed from scrollAndAcceptEvent(). Remove
- the PlatformWheelEvent from the argument list and instead return a
- boolean indicating if the scroll event was accepted.
- (WebCore::EventHandler::handleWheelEvent): Move scrolling code from here
- (WebCore::EventHandler::defaultWheelEventHandler): ...to here.
- * page/EventHandler.h: Add function signature.
-
-2010-03-02 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Darin Adler.
-
- Bug 35576: WebKit should tell plug-in instances when private browsing state changes
- <http://webkit.org/b/35576>
-
- Notify plug-in instances when the private browsing state changes to match the behavior of the
- Mac plug-in code.
-
- * page/Page.cpp:
- (WebCore::Page::privateBrowsingStateChanged): Walk the frame tree and notify each PluginView that
- the private browsing state has changed.
- * page/Page.h:
- * page/Settings.cpp:
- (WebCore::Settings::setPrivateBrowsingEnabled): Notify the page that the private browsing state
- has changed.
- * plugins/PluginView.cpp:
- (WebCore::PluginView::privateBrowsingStateChanged): Notify the plug-in instance of the new private
- browsing state.
- * plugins/PluginView.h:
-
-2010-03-02 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Bug 30348: Implement private mode for plug-ins on Windows
- <http://webkit.org/b/30348> / <rdar://problem/7562261>
-
- Rework PluginView::getValue and PluginView::getValueStatic to remove the amount of code that
- was duplicated across platforms. getValue and getValueStatic now call in to platform-specific
- variants that indicate whether they handled the query. If the query is not handled by the
- platform-specific variants then the cross-platform handler has a chance to handle it.
-
- * plugins/PluginView.cpp:
- (WebCore::PluginView::getValueStatic): Give the platform-specific variant a chance to handle the
- variable lookup. If it does not handle it, return an error.
- (WebCore::PluginView::getValue): Give the platform-specific variant and platform-specific static
- variant a chance to handle the variable lookup. If they do not handle it, apply the cross-platform
- handler. At the moment the cross-platform code handles NPNVWindowNPObject, NPNVPluginElementNPObject,
- and NPNVprivateModeBool as they have an identical implementation across ports.
- * plugins/PluginView.h:
- * plugins/PluginViewNone.cpp:
- (WebCore::PluginView::platformGetValue): PluginViewNone does not handle any lookups.
- (WebCore::PluginView::platformGetValueStatic): Ditto.
- * plugins/gtk/PluginViewGtk.cpp:
- (WebCore::PluginView::platformGetValueStatic):
- (WebCore::PluginView::platformGetValue):
- platform-independent implementation.
- * plugins/mac/PluginViewMac.cpp:
- (WebCore::PluginView::platformGetValueStatic):
- (WebCore::PluginView::platformGetValue):
- * plugins/qt/PluginViewQt.cpp:
- (WebCore::PluginView::platformGetValueStatic):
- (WebCore::PluginView::platformGetValue): Fix a bug noticed while updating this code.
- The Qt implementation of the handler for NPNVToolkit was relying on case fall-through
- to have some values handled by the static handler. When NPNVprivateModeBool was added
- it was placed before the default case, interferring with this fall-through. It now
- explicitly indicates in this situation that it was not handled.
- * plugins/symbian/PluginViewSymbian.cpp:
- (WebCore::PluginView::platformGetValueStatic):
- (WebCore::PluginView::platformGetValue):
- * plugins/win/PluginViewWin.cpp:
- (WebCore::PluginView::platformGetValueStatic):
- (WebCore::PluginView::platformGetValue):
-
-2010-03-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Make the default constructor available to all platforms.
-
- * platform/PlatformKeyboardEvent.h:
- (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
- * platform/mac/KeyEventMac.mm:
-
-2010-03-02 Jeremy Orlow <jorlow@chromium.org>
-
- Reviewed by David Levin.
-
- Revert database thread changes that are no longer required
- https://bugs.webkit.org/show_bug.cgi?id=35519
-
- Jochen Eisinger created 55214 and 55247 to track which database
- owns which thread. Dmitry suggested that this could also
- be done via TLS, though. After exploring the options, Jochen
- chose to go the TLS route, so these patches are no longer needed.
-
- * storage/DatabaseThread.cpp:
- (WebCore::DatabaseThread::DatabaseThread):
- (WebCore::DatabaseThread::databaseThread):
- * storage/DatabaseThread.h:
- (WebCore::DatabaseThread::getThreadID):
-
-2010-03-02 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig.
-
- Followup for REGRESSION(r51097) - Unable to log in to statefarm.com
- <rdar://problem/7672667> and https://bugs.webkit.org/show_bug.cgi?id=35556
-
- * dom/ScriptElement.cpp:
- (WebCore::ScriptElementData::shouldExecuteAsJavaScript): To more perfectly match Gecko's rule,
- strip whitespace from the attribute values before comparing to window/onload/onload().
-
-2010-03-02 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Beth Dakin.
-
- aria-label isn't respected on option elements
- https://bugs.webkit.org/show_bug.cgi?id=35400
-
- When aria-label is used on an <option> element, it can take three forms.
- An option in a multi-select list, a popup button and the menu that is displayed
- from the popup button. This patches the three requisite locations so that if
- aria-label is used, the correct accessibility text is returned.
-
- Test: platform/mac/accessibility/option-with-arialabel.html
-
- * accessibility/AccessibilityListBoxOption.cpp:
- (WebCore::AccessibilityListBoxOption::stringValue):
- * accessibility/AccessibilityObject.cpp:
- (WebCore::AccessibilityObject::getAttribute):
- * accessibility/AccessibilityObject.h:
- * accessibility/AccessibilityRenderObject.cpp:
- (WebCore::AccessibilityRenderObject::getAttribute):
- (WebCore::AccessibilityRenderObject::stringValue):
- * platform/PopupMenuClient.h:
- * platform/mac/PopupMenuMac.mm:
- (WebCore::PopupMenu::populate):
- * rendering/RenderMenuList.cpp:
- (WebCore::RenderMenuList::itemAccessibilityText):
- * rendering/RenderMenuList.h:
- * rendering/RenderTextControlSingleLine.h:
- (WebCore::RenderTextControlSingleLine::itemAccessibilityText):
-
-2010-03-02 Mads Ager <ager@chromium.org>
-
- Reviewed by Adam Barth.
-
- [V8] V8 should be notified of context disposals
- https://bugs.webkit.org/show_bug.cgi?id=35526
-
- Notify V8 of context disposals to allow it to clean up memory from those
- contexts when idle. When disposing a context, start a timer that will
- give V8 an idle notification after a while to force cleanup. Use a timer
- to avoid performing an idle notification in the middle of navigation where
- we know we are not idle.
-
- * WebCore.gypi:
- * bindings/v8/V8DOMWindowShell.cpp:
- (WebCore::V8DOMWindowShell::disposeContextHandles):
- * bindings/v8/V8GCForContextDispose.cpp: Added.
- (WebCore::V8GCForContextDispose::V8GCForContextDispose):
- (WebCore::V8GCForContextDispose::notifyContextDisposed):
- (WebCore::V8GCForContextDispose::notifyIdleSooner):
- (WebCore::V8GCForContextDispose::instance):
- (WebCore::V8GCForContextDispose::pseudoIdleTimerFired):
- * bindings/v8/V8GCForContextDispose.h: Added.
- * bindings/v8/custom/V8DOMWindowCustom.cpp:
- (WebCore::WindowSetTimeoutImpl):
-
-2010-03-02 Pavel Feldman <pfeldman@chromium.org>
-
- Not reviewed: adding missing image files to WebKit.qrc and gypi.
-
- * WebCore.gypi:
- * inspector/front-end/WebKit.qrc:
-
-2010-03-02 Kim Grönholm <kim.gronholm@nomovok.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] GraphicsLayer: Video element with 3d transform crashes when AC is enabled.
- https://bugs.webkit.org/show_bug.cgi?id=35516
-
- No new tests.
-
- * platform/graphics/qt/GraphicsLayerQt.cpp:
- (WebCore::GraphicsLayerQt::setContentsToMedia):
-
-2010-03-02 Fridrich Strba <fridrich.strba@bluewin.ch>
-
- Reviewed by Xan Lopez.
-
- Use unsigned instead of uint which does not exist on windows
- https://bugs.webkit.org/show_bug.cgi?id=35546
-
- * platform/graphics/gtk/ImageGtk.cpp:
- (WebCore::getCairoSurfacePixel):
- (WebCore::getGdkPixbufPixel):
-
-2010-03-02 Kenneth Russell <kbr@google.com>
-
- Reviewed by Darin Fisher.
-
- Add EnabledAtRuntime attribute to WebGLArray constructors
- https://bugs.webkit.org/show_bug.cgi?id=35558
-
- New functionality verified manually in Chromium; not possible to
- write layout test. Ran WebGL tests in WebKit as well.
-
- * bindings/generic/RuntimeEnabledFeatures.cpp:
- * bindings/generic/RuntimeEnabledFeatures.h:
- (WebCore::RuntimeEnabledFeatures::setWebGLEnabled):
- (WebCore::RuntimeEnabledFeatures::webGLRenderingContextEnabled):
- (WebCore::RuntimeEnabledFeatures::webGLArrayBufferEnabled):
- (WebCore::RuntimeEnabledFeatures::webGLByteArrayEnabled):
- (WebCore::RuntimeEnabledFeatures::webGLUnsignedByteArrayEnabled):
- (WebCore::RuntimeEnabledFeatures::webGLShortArrayEnabled):
- (WebCore::RuntimeEnabledFeatures::webGLUnsignedShortArrayEnabled):
- (WebCore::RuntimeEnabledFeatures::webGLIntArrayEnabled):
- (WebCore::RuntimeEnabledFeatures::webGLUnsignedIntArrayEnabled):
- (WebCore::RuntimeEnabledFeatures::webGLFloatArrayEnabled):
- * page/DOMWindow.idl:
-
-2010-03-02 Nate Chapin <japhet@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [V8] Fail gracefully if NPN_GetProperty tries to retrieve a property that doesn't exist.
-
- https://bugs.webkit.org/show_bug.cgi?id=35588
-
- Required for passing LayoutTests/plugins/netscape-plugin-property-access-exception.html on Chromium.
-
- * bindings/v8/NPV8Object.cpp:
- (_NPN_GetProperty): If the result is empty, don't try to convert it to an NPVariant and return false.
+ * platform/graphics/FloatSize.h: Added aspectRatio() and scale(float).
+ (WebCore::FloatSize::aspectRatio):
+ (WebCore::FloatSize::scale):
+ * platform/graphics/IntSize.h: Added aspectRatio().
+ (WebCore::IntSize::aspectRatio):
+ * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: Added.
+ * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: Added.
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: Call retrieveCurrentImage() after creating the videoLayer.
+ (WebCore::MediaPlayerPrivateQuickTimeVisualContext::supportsFullscreen):
+ (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
+ (WebCore::MediaPlayerPrivateQuickTimeVisualContext::createLayerForMovie):
+ * platform/graphics/win/WKCACFLayer.cpp:
+ (WebCore::WKCACFLayer::WKCACFLayer):
+ (WebCore::WKCACFLayer::removeFromSuperlayer):
+ (WebCore::WKCACFLayer::setFrame):
+ (WebCore::WKCACFLayer::internalSetNeedsDisplay):
+ (WebCore::WKCACFLayer::setLayoutClient):
+ (WebCore::WKCACFLayer::layoutSublayersProc):
+ (WebCore::WKCACFLayer::layoutClient):
+ (WebCore::WKCACFLayer::setNeedsLayout):
+ * platform/graphics/win/WKCACFLayer.h: Add layout client class.
+ (WebCore::WKCACFLayerLayoutClient::~WKCACFLayerLayoutClient):
+ (WebCore::WKCACFLayer::frame): Added back frame()/setFrame().
+ * platform/graphics/win/WebTiledLayer.cpp:
+ (WebCore::WebTiledLayer::setFrame): Implamented setFrame() in subclass of WKCACFLayer
+ * platform/graphics/win/WebTiledLayer.h:
+ * platform/graphics/win/WebTiledLayer.cpp: Added setFrame() overriding WKCACFLayer's implementation
+ (WebCore::WebTiledLayer::setFrame):
+ * platform/graphics/win/WebTiledLayer.h:
-2010-03-02 Jian Li <jianli@chromium.org>
- Reviewed by Nate Chapin.
+2010-05-25 Dumitru Daniliuc <dumi@chromium.org>
- [V8] DOMCoreException should be visible as DOMException
- https://bugs.webkit.org/show_bug.cgi?id=35552
+ Reviewed by Brady Eidson.
- Fix V8 code generator to use the correct visible name.
+ Allow FTS3 functions.
+ https://bugs.webkit.org/show_bug.cgi?id=38003
- * bindings/scripts/CodeGeneratorV8.pm:
+ * storage/DatabaseAuthorizer.cpp:
+ (WebCore::DatabaseAuthorizer::addWhitelistedFunctions):
+ (WebCore::DatabaseAuthorizer::createVTable):
-2010-03-02 Brady Eidson <beidson@apple.com>
+2010-05-25 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
- REGRESSION(r51097) - Unable to log in to statefarm.com
- <rdar://problem/7672667> and https://bugs.webkit.org/show_bug.cgi?id=35556
-
- Test: fast/loader/for-window-event-onload-scripts.html
-
- Match Gecko's rules for executing "for/event" scripts:
- -If there's only a 'for' attribute, execute it.
- -If there's only an 'event' attribute, execute it.
- -If there's a 'for=window' and 'event=onload', execute it.
- -If there's a 'for=window' and 'event=onload()', execute it.
- -If there's any other combination of both 'for' and 'event', don't execute it.
-
- * dom/ScriptElement.cpp:
- (WebCore::ScriptElementData::shouldExecuteAsJavaScript):
- * dom/ScriptElement.h:
-
- * html/HTMLScriptElement.cpp:
- (WebCore::HTMLScriptElement::eventAttributeValue):
- * html/HTMLScriptElement.h:
-
- * svg/SVGScriptElement.cpp:
- (WebCore::SVGScriptElement::eventAttributeValue):
- * svg/SVGScriptElement.h:
-
- Add the event attribute name:
- * html/HTMLAttributeNames.in:
-
-
-2010-03-02 Simon Fraser <simon.fraser@apple.com>
+ Get rid of PluginDatabaseClient
+ https://bugs.webkit.org/show_bug.cgi?id=39685
- Reviewed by Dan Bernstein.
-
- https://bugs.webkit.org/show_bug.cgi?id=35555
- QuickTime plugin content can spill outside the <object> tag
-
- Set -masksToBounds on the layer that is handed to us by plug-ins, to ensure that sublayers
- of that layer don't spill outside the <object> contents rect.
-
- Manual test because it relies on QuickTime, and pixel results depend on movie loading timing.
-
- * manual-tests/plugins/object-clipping.html: Added.
- * platform/graphics/mac/GraphicsLayerCA.mm:
- (WebCore::GraphicsLayerCA::setupContentsLayer):
-
-2010-03-02 Adam Roben <aroben@apple.com>
-
- Export SecurityOrigin::registerURLSchemeAsSecure
-
- Fixes <http://webkit.org/b/35580> <rdar://problem/7706407> Expose
- SecurityOrigin::registerURLSchemeAsSecure as WebKit SPI
-
- Reviewed by Tim Hatcher.
-
- * WebCore.base.exp: Added symbol, sorted file.
-
-2010-03-02 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: render breakpoints as border images instead of canvas.
-
- https://bugs.webkit.org/show_bug.cgi?id=35535
-
- * inspector/front-end/Images/breakpointBorder.png: Added.
- * inspector/front-end/Images/breakpointConditionalBorder.png: Added.
- * inspector/front-end/Images/breakpointConditionalCounterBorder.png: Added.
- * inspector/front-end/Images/breakpointCounterBorder.png: Added.
- * inspector/front-end/Images/programCounterBorder.png: Added.
- * inspector/front-end/SourceFrame.js:
- (WebInspector.SourceFrame.prototype._updateExecutionLine):
- (WebInspector.SourceFrame.prototype._addBreakpointToSource):
- (WebInspector.SourceFrame.prototype.resize):
- * inspector/front-end/TextViewer.js:
- (WebInspector.TextChunk):
- * inspector/front-end/textViewer.css:
-
-2010-01-28 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Ariya Hidayat.
-
- [Qt] Special case Font::floatWidthForComplexText for single space
- https://bugs.webkit.org/show_bug.cgi?id=33876
-
- For a single space we can go through the QFontMetric::width routine
- instead of converting the WebCore::String to a QString and then
- going through the QTextLine.
-
- * platform/graphics/qt/FontQt.cpp:
- (WebCore::Font::floatWidthForComplexText):
-
-2010-02-28 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Gustavo Noronha.
-
- [Gtk] Support private browsing mode in plugins.
- https://bugs.webkit.org/show_bug.cgi?id=35500
-
- Integrate the PluginViewQt.cpp changes from r55358 into Gtk+.
-
- * plugins/gtk/PluginViewGtk.cpp:
- (WebCore::PluginView::getValue):
-
-2010-03-02 Oliver Hunt <oliver@apple.com>
-
- Reviewed by NOBODY (Build fix).
-
- Update Qt bridge to new named getter signature
-
- * bridge/qt/qt_runtime.cpp:
- (JSC::Bindings::QtRuntimeMetaMethod::lengthGetter):
- (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
- (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
- (JSC::Bindings::QtRuntimeConnectionMethod::lengthGetter):
- * bridge/qt/qt_runtime.h:
-
-2010-03-01 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- [GTK] Move gstreamer-related source files to platform/graphics/gstreamer
- https://bugs.webkit.org/show_bug.cgi?id=35518
-
- Moved GStreamer-related files to platform/graphics/gstreamer so
- other ports could benefit from this media player implementation.
+ PluginDatabaseClient isn't used anywhere so just remove it.
* GNUmakefile.am:
- * platform/graphics/gstreamer/DataSourceGStreamer.cpp: Renamed from WebCore/platform/graphics/gtk/DataSourceGStreamer.cpp.
- (_do_init):
- (webkit_data_src_base_init):
- (webkit_data_src_class_init):
- (webkit_data_src_reset):
- (webkit_data_src_init):
- (webkit_data_src_finalize):
- (webkit_data_src_change_state):
- (webkit_data_src_uri_get_type):
- (webkit_data_src_uri_get_protocols):
- (webkit_data_src_uri_get_uri):
- (webkit_data_src_uri_set_uri):
- (webkit_data_src_uri_handler_init):
- * platform/graphics/gstreamer/DataSourceGStreamer.h: Renamed from WebCore/platform/graphics/gtk/DataSourceGStreamer.h.
- * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Renamed from WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp.
- (WebCore::greatestCommonDivisor):
- (WebCore::mediaPlayerPrivateMessageCallback):
- (WebCore::mediaPlayerPrivateSourceChangedCallback):
- (WebCore::mediaPlayerPrivateVolumeChangedCallback):
- (WebCore::notifyVolumeIdleCallback):
- (WebCore::mediaPlayerPrivateMuteChangedCallback):
- (WebCore::notifyMuteIdleCallback):
- (WebCore::bufferingTimeoutCallback):
- (WebCore::playbackPosition):
- (WebCore::mediaPlayerPrivateRepaintCallback):
- (WebCore::MediaPlayerPrivate::create):
- (WebCore::MediaPlayerPrivate::registerMediaEngine):
- (WebCore::doGstInit):
- (WebCore::MediaPlayerPrivate::isAvailable):
- (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
- (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
- (WebCore::MediaPlayerPrivate::load):
- (WebCore::MediaPlayerPrivate::changePipelineState):
- (WebCore::MediaPlayerPrivate::play):
- (WebCore::MediaPlayerPrivate::pause):
- (WebCore::MediaPlayerPrivate::duration):
- (WebCore::MediaPlayerPrivate::currentTime):
- (WebCore::MediaPlayerPrivate::seek):
- (WebCore::MediaPlayerPrivate::startEndPointTimerIfNeeded):
- (WebCore::MediaPlayerPrivate::cancelSeek):
- (WebCore::MediaPlayerPrivate::endPointTimerFired):
- (WebCore::MediaPlayerPrivate::paused):
- (WebCore::MediaPlayerPrivate::seeking):
- (WebCore::MediaPlayerPrivate::naturalSize):
- (WebCore::MediaPlayerPrivate::hasVideo):
- (WebCore::MediaPlayerPrivate::hasAudio):
- (WebCore::MediaPlayerPrivate::setVolume):
- (WebCore::MediaPlayerPrivate::volumeChangedCallback):
- (WebCore::MediaPlayerPrivate::volumeChanged):
- (WebCore::MediaPlayerPrivate::setRate):
- (WebCore::MediaPlayerPrivate::networkState):
- (WebCore::MediaPlayerPrivate::readyState):
- (WebCore::MediaPlayerPrivate::buffered):
- (WebCore::MediaPlayerPrivate::processBufferingStats):
- (WebCore::MediaPlayerPrivate::queryBufferingStats):
- (WebCore::MediaPlayerPrivate::maxTimeSeekable):
- (WebCore::MediaPlayerPrivate::maxTimeLoaded):
- (WebCore::MediaPlayerPrivate::bytesLoaded):
- (WebCore::MediaPlayerPrivate::totalBytes):
- (WebCore::MediaPlayerPrivate::cancelLoad):
- (WebCore::MediaPlayerPrivate::updateStates):
- (WebCore::MediaPlayerPrivate::mediaLocationChanged):
- (WebCore::MediaPlayerPrivate::loadNextLocation):
- (WebCore::MediaPlayerPrivate::loadStateChanged):
- (WebCore::MediaPlayerPrivate::sizeChanged):
- (WebCore::MediaPlayerPrivate::timeChanged):
- (WebCore::MediaPlayerPrivate::didEnd):
- (WebCore::MediaPlayerPrivate::durationChanged):
- (WebCore::MediaPlayerPrivate::supportsMuting):
- (WebCore::MediaPlayerPrivate::setMuted):
- (WebCore::MediaPlayerPrivate::muteChangedCallback):
- (WebCore::MediaPlayerPrivate::muteChanged):
- (WebCore::MediaPlayerPrivate::loadingFailed):
- (WebCore::MediaPlayerPrivate::setSize):
- (WebCore::MediaPlayerPrivate::setVisible):
- (WebCore::MediaPlayerPrivate::repaint):
- (WebCore::MediaPlayerPrivate::paint):
- (WebCore::mimeTypeCache):
- (WebCore::MediaPlayerPrivate::getSupportedTypes):
- (WebCore::MediaPlayerPrivate::supportsType):
- (WebCore::MediaPlayerPrivate::hasSingleSecurityOrigin):
- (WebCore::MediaPlayerPrivate::supportsFullscreen):
- (WebCore::MediaPlayerPrivate::setAutobuffer):
- (WebCore::MediaPlayerPrivate::createGSTPlayBin):
- * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Renamed from WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.h.
- (WebCore::MediaPlayerPrivate::pipelineReset):
- * platform/graphics/gstreamer/VideoSinkGStreamer.cpp: Renamed from WebCore/platform/graphics/gtk/VideoSinkGStreamer.cpp.
- (webkit_video_sink_base_init):
- (webkit_video_sink_init):
- (webkit_video_sink_timeout_func):
- (webkit_video_sink_render):
- (webkit_video_sink_dispose):
- (unlock_buffer_mutex):
- (webkit_video_sink_unlock):
- (webkit_video_sink_unlock_stop):
- (webkit_video_sink_stop):
- (webkit_video_sink_start):
- (marshal_VOID__MINIOBJECT):
- (webkit_video_sink_class_init):
- (webkit_video_sink_new):
- * platform/graphics/gstreamer/VideoSinkGStreamer.h: Renamed from WebCore/platform/graphics/gtk/VideoSinkGStreamer.h.
- * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: Renamed from WebCore/platform/graphics/gtk/WebKitWebSourceGStreamer.cpp.
- (doInit):
- (webkit_web_src_base_init):
- (webkit_web_src_class_init):
- (webkit_web_src_init):
- (webKitWebSrcFinalize):
- (webKitWebSrcSetProperty):
- (webKitWebSrcGetProperty):
- (webKitWebSrcStop):
- (webKitWebSrcStart):
- (webKitWebSrcChangeState):
- (webKitWebSrcUriGetType):
- (webKitWebSrcGetProtocols):
- (webKitWebSrcGetUri):
- (webKitWebSrcSetUri):
- (webKitWebSrcUriHandlerInit):
- (webKitWebSrcNeedDataMainCb):
- (webKitWebSrcNeedDataCb):
- (webKitWebSrcEnoughDataMainCb):
- (webKitWebSrcEnoughDataCb):
- (webKitWebSrcSeekMainCb):
- (webKitWebSrcSeekDataCb):
- (webKitWebSrcSetFrame):
- (StreamingClient::StreamingClient):
- (StreamingClient::~StreamingClient):
- (StreamingClient::willSendRequest):
- (StreamingClient::didReceiveResponse):
- (StreamingClient::didReceiveData):
- (StreamingClient::didFinishLoading):
- (StreamingClient::didFail):
- (StreamingClient::wasBlocked):
- (StreamingClient::cannotShowURL):
- * platform/graphics/gstreamer/WebKitWebSourceGStreamer.h: Renamed from WebCore/platform/graphics/gtk/WebKitWebSourceGStreamer.h.
-
-2010-03-01 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Refactor named getter function signature to be in line with indexing getter signature
- https://bugs.webkit.org/show_bug.cgi?id=35563
-
- Fix up WebCore to use the new named getter function signature, update the
- codegenerator to the new calling convention, and fix the custom bindings.
-
- * bindings/js/JSCSSStyleDeclarationCustom.cpp:
- (WebCore::JSCSSStyleDeclaration::nameGetter):
- * bindings/js/JSDOMBinding.cpp:
- (WebCore::objectToStringFunctionGetter):
- * bindings/js/JSDOMBinding.h:
- * bindings/js/JSDOMWindowCustom.cpp:
- (WebCore::nonCachingStaticFunctionGetter):
- (WebCore::childFrameGetter):
- (WebCore::namedItemGetter):
- * bindings/js/JSDataGridColumnListCustom.cpp:
- (WebCore::JSDataGridColumnList::nameGetter):
- * bindings/js/JSHTMLAllCollectionCustom.cpp:
- (WebCore::JSHTMLAllCollection::nameGetter):
- * bindings/js/JSHTMLCollectionCustom.cpp:
- (WebCore::JSHTMLCollection::nameGetter):
- * bindings/js/JSHTMLDocumentCustom.cpp:
- (WebCore::JSHTMLDocument::nameGetter):
- * bindings/js/JSHTMLFormElementCustom.cpp:
- (WebCore::JSHTMLFormElement::nameGetter):
- * bindings/js/JSHTMLFrameSetElementCustom.cpp:
- (WebCore::JSHTMLFrameSetElement::nameGetter):
- * bindings/js/JSHistoryCustom.cpp:
- (WebCore::nonCachingStaticBackFunctionGetter):
- (WebCore::nonCachingStaticForwardFunctionGetter):
- (WebCore::nonCachingStaticGoFunctionGetter):
- * bindings/js/JSLocationCustom.cpp:
- (WebCore::nonCachingStaticReplaceFunctionGetter):
- (WebCore::nonCachingStaticReloadFunctionGetter):
- (WebCore::nonCachingStaticAssignFunctionGetter):
- * bindings/js/JSMimeTypeArrayCustom.cpp:
- (WebCore::JSMimeTypeArray::nameGetter):
- * bindings/js/JSNamedNodeMapCustom.cpp:
- (WebCore::JSNamedNodeMap::nameGetter):
- * bindings/js/JSNodeListCustom.cpp:
- (WebCore::JSNodeList::nameGetter):
- * bindings/js/JSPluginArrayCustom.cpp:
- (WebCore::JSPluginArray::nameGetter):
- * bindings/js/JSPluginCustom.cpp:
- (WebCore::JSPlugin::nameGetter):
- * bindings/js/JSPluginElementFunctions.cpp:
- (WebCore::runtimeObjectPropertyGetter):
- * bindings/js/JSPluginElementFunctions.h:
- * bindings/js/JSStorageCustom.cpp:
- (WebCore::JSStorage::nameGetter):
- * bindings/js/JSStyleSheetListCustom.cpp:
- (WebCore::JSStyleSheetList::nameGetter):
- * bindings/scripts/CodeGeneratorJS.pm:
- * bridge/runtime_array.cpp:
- (JSC::RuntimeArray::lengthGetter):
- * bridge/runtime_array.h:
- * bridge/runtime_method.cpp:
- (JSC::RuntimeMethod::lengthGetter):
- * bridge/runtime_method.h:
- * bridge/runtime_object.cpp:
- (JSC::Bindings::RuntimeObject::fallbackObjectGetter):
- (JSC::Bindings::RuntimeObject::fieldGetter):
- (JSC::Bindings::RuntimeObject::methodGetter):
- * bridge/runtime_object.h:
-
-2010-03-01 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- PropertySlot::getValue(ExecState, unsigned) unnecessarily converts index to an Identifier
- https://bugs.webkit.org/show_bug.cgi?id=35561
-
- Update bindings generation and the few manual indexing getters we have to use
- the new PropertySlot API.
-
- * bindings/js/JSDOMWindowCustom.cpp:
- (WebCore::indexGetter):
- * bindings/scripts/CodeGeneratorJS.pm:
- * bridge/runtime_array.cpp:
- (JSC::RuntimeArray::indexGetter):
- * bridge/runtime_array.h:
+ * plugins/PluginDatabase.cpp:
+ (WebCore::PluginDatabase::PluginDatabase):
+ (WebCore::PluginDatabase::refresh):
+ * plugins/PluginDatabase.h:
+ * plugins/PluginDatabaseClient.h: Removed.
-2010-03-01 Chris Fleizach <cfleizach@apple.com>
+2010-05-25 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
- AX: changes to WAI-ARIA grid aren't perceived correctly by VoiceOver
- https://bugs.webkit.org/show_bug.cgi?id=35514
-
- When a table's DOM is changed and an AX Table is not asked first for its children,
- it would return wrong information. A table needs to make sure children are up to date in
- all methods that can be called from the outside.
-
- Test: platform/mac/accessibility/stale-table-rows.html
-
- * accessibility/AccessibilityARIAGrid.cpp:
- (WebCore::AccessibilityARIAGrid::cellForColumnAndRow):
- * accessibility/AccessibilityObject.cpp:
- (WebCore::AccessibilityObject::clearChildren):
- * accessibility/AccessibilityRenderObject.cpp:
- (WebCore::AccessibilityRenderObject::clearChildren):
- (WebCore::AccessibilityRenderObject::updateChildrenIfNecessary):
- (WebCore::AccessibilityRenderObject::children):
- * accessibility/AccessibilityRenderObject.h:
- (WebCore::AccessibilityRenderObject::needsToUpdateChildren):
- (WebCore::AccessibilityRenderObject::setNeedsToUpdateChildren):
- * accessibility/AccessibilityTable.cpp:
- (WebCore::AccessibilityTable::clearChildren):
- (WebCore::AccessibilityTable::columns):
- (WebCore::AccessibilityTable::rows):
- (WebCore::AccessibilityTable::rowHeaders):
- (WebCore::AccessibilityTable::columnHeaders):
- (WebCore::AccessibilityTable::cells):
- (WebCore::AccessibilityTable::columnCount):
- (WebCore::AccessibilityTable::rowCount):
- (WebCore::AccessibilityTable::cellForColumnAndRow):
-
-2010-03-01 Jakob Petsovits <jpetsovits@rim.com>
-
- Reviewed by Adam Barth.
-
- Convert the zoom mode (page vs. text-only) into a proper enum.
- https://bugs.webkit.org/show_bug.cgi?id=35347
-
- * GNUmakefile.am:
- * WebCore.base.exp: Substituted symbols __ZN7WebCore5Frame13setZoomFactorEfNS_8ZoomModeE
- and __ZN7WebCore8Settings11setZoomModeENS_8ZoomModeE for __ZN7WebCore5Frame13setZoomFactorEfb
- and __ZN7WebCore8Settings16setZoomsTextOnlyEb, respectively.
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * page/Frame.cpp:
- (WebCore::Frame::zoomMode):
- (WebCore::Frame::shouldApplyTextZoom):
- (WebCore::Frame::shouldApplyPageZoom):
- (WebCore::Frame::setZoomFactor):
- * page/Frame.h:
- * page/Settings.cpp:
- (WebCore::Settings::Settings):
- (WebCore::Settings::setZoomMode):
- * page/Settings.h:
- (WebCore::Settings::zoomMode):
- * page/ZoomMode.h: Added.
- (WebCore::):
- * svg/SVGSVGElement.cpp:
- (WebCore::SVGSVGElement::setCurrentScale):
-
-2010-03-01 Alex Milowski <alex@milowski.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Added support for the msubsup element that also handles the msup and msub elements.
-
- Test: mathml/presentation/subsup.xhtml
-
- * WebCore.xcodeproj/project.pbxproj:
- * mathml/MathMLInlineContainerElement.cpp:
- (WebCore::MathMLInlineContainerElement::createRenderer):
- * mathml/RenderMathMLSubSup.cpp: Added.
- (WebCore::RenderMathMLSubSup::RenderMathMLSubSup):
- (WebCore::RenderMathMLSubSup::addChild):
- (WebCore::RenderMathMLSubSup::stretchToHeight):
- (WebCore::RenderMathMLSubSup::nonOperatorHeight):
- (WebCore::RenderMathMLSubSup::layout):
- (WebCore::RenderMathMLSubSup::baselinePosition):
- * mathml/RenderMathMLSubSup.h: Added.
- (WebCore::RenderMathMLSubSup::hasBase):
- (WebCore::RenderMathMLSubSup::):
-
-2010-03-01 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: use dejavu sans mono 11px on linux.
-
- https://bugs.webkit.org/show_bug.cgi?id=35527
-
- * inspector/front-end/inspector.css:
-
-2010-03-01 Thatcher Ulrich <tulrich@google.com>
-
- Reviewed by Darin Fisher.
-
- Fix chromium iframe shims. Add another test case to the
- iframes-shims test. After r53637, the plugin widget doesn't get
- moved every paint. This used to hide the bug that if an iframe
- gets added, the plugin's cutout rectangles don't get updated until
- a layout happens.
- https://bugs.webkit.org/show_bug.cgi?id=35184
-
- * platform/Widget.h:
- (WebCore::Widget::widgetPositionsUpdated): new virtual method
- widgetPositionsUpdated() to notify widgets when other widgets on
- the page have been repositioned.
- * rendering/RenderView.cpp:
- (WebCore::RenderView::updateWidgetPositions): call widgetPositionsUpdated() on the widgets
- * rendering/RenderWidget.cpp:
- (WebCore::RenderWidget::widgetPositionsUpdated): call widgetPositionsUpdated() on the widget
- * rendering/RenderWidget.h:
-
-2010-03-01 Fridrich Strba <fridrich.strba@bluewin.ch>
-
- Reviewed by Holger Freyther.
-
- Dist some mathml related files
-
- * GNUmakefile.am:
-
-2010-03-01 Kenneth Russell <kbr@google.com>
-
- Reviewed by Oliver Hunt.
-
- Integer overflow in WebGL arrays
- https://bugs.webkit.org/show_bug.cgi?id=35241
-
- Test: fast/canvas/webgl/webgl-array-invalid-ranges.html
-
- * bindings/js/JSWebGLArrayBufferConstructor.cpp:
- (WebCore::constructCanvasArrayBuffer):
- * bindings/js/JSWebGLArrayBufferConstructor.h:
- (WebCore::construct):
- * bindings/js/JSWebGLArrayHelper.h:
- (WebCore::setWebGLArrayFromArray):
- * bindings/js/JSWebGLByteArrayConstructor.cpp:
- (WebCore::constructCanvasByteArray):
- * bindings/js/JSWebGLFloatArrayConstructor.cpp:
- (WebCore::constructCanvasFloatArray):
- * bindings/js/JSWebGLIntArrayConstructor.cpp:
- (WebCore::constructCanvasIntArray):
- * bindings/js/JSWebGLShortArrayConstructor.cpp:
- (WebCore::constructCanvasShortArray):
- * bindings/js/JSWebGLUnsignedByteArrayConstructor.cpp:
- (WebCore::constructCanvasUnsignedByteArray):
- * bindings/js/JSWebGLUnsignedIntArrayConstructor.cpp:
- (WebCore::constructCanvasUnsignedIntArray):
- * bindings/js/JSWebGLUnsignedShortArrayConstructor.cpp:
- (WebCore::constructCanvasUnsignedShortArray):
- * bindings/v8/V8Binding.cpp:
- (WebCore::toUInt32):
- * bindings/v8/V8Binding.h:
- (WebCore::toUInt32):
- * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
- (WebCore::V8WebGLArrayBuffer::constructorCallback):
- * bindings/v8/custom/V8WebGLArrayCustom.h:
- (WebCore::constructWebGLArray):
- (WebCore::getWebGLArrayElement):
- (WebCore::setWebGLArrayFromArray):
- (WebCore::setWebGLArray):
- * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
- (WebCore::V8WebGLByteArray::constructorCallback):
- * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
- (WebCore::V8WebGLFloatArray::constructorCallback):
- * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
- (WebCore::V8WebGLIntArray::constructorCallback):
- * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
- (WebCore::V8WebGLShortArray::constructorCallback):
- * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
- (WebCore::V8WebGLUnsignedByteArray::constructorCallback):
- * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
- (WebCore::V8WebGLUnsignedIntArray::constructorCallback):
- * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
- (WebCore::V8WebGLUnsignedShortArray::constructorCallback):
- * html/canvas/WebGLArray.cpp:
- (WebCore::WebGLArray::setImpl):
- * html/canvas/WebGLArray.h:
- (WebCore::WebGLArray::verifySubRange):
- (WebCore::WebGLArray::clampOffsetAndNumElements):
- * html/canvas/WebGLArrayBuffer.cpp:
- (WebCore::WebGLArrayBuffer::create):
- (WebCore::WebGLArrayBuffer::WebGLArrayBuffer):
- (WebCore::WebGLArrayBuffer::tryAllocate):
- * html/canvas/WebGLArrayBuffer.h:
- * html/canvas/WebGLByteArray.cpp:
- (WebCore::WebGLByteArray::create):
- (WebCore::WebGLByteArray::WebGLByteArray):
- (WebCore::WebGLByteArray::slice):
- * html/canvas/WebGLByteArray.h:
- * html/canvas/WebGLFloatArray.cpp:
- (WebCore::WebGLFloatArray::create):
- (WebCore::WebGLFloatArray::WebGLFloatArray):
- (WebCore::WebGLFloatArray::slice):
- * html/canvas/WebGLFloatArray.h:
- * html/canvas/WebGLIntArray.cpp:
- (WebCore::WebGLIntArray::create):
- (WebCore::WebGLIntArray::WebGLIntArray):
- (WebCore::WebGLIntArray::slice):
- * html/canvas/WebGLIntArray.h:
- * html/canvas/WebGLShortArray.cpp:
- (WebCore::WebGLShortArray::create):
- (WebCore::WebGLShortArray::WebGLShortArray):
- (WebCore::WebGLShortArray::slice):
- * html/canvas/WebGLShortArray.h:
- * html/canvas/WebGLUnsignedByteArray.cpp:
- (WebCore::WebGLUnsignedByteArray::create):
- (WebCore::WebGLUnsignedByteArray::WebGLUnsignedByteArray):
- (WebCore::WebGLUnsignedByteArray::slice):
- * html/canvas/WebGLUnsignedByteArray.h:
- * html/canvas/WebGLUnsignedIntArray.cpp:
- (WebCore::WebGLUnsignedIntArray::create):
- (WebCore::WebGLUnsignedIntArray::WebGLUnsignedIntArray):
- (WebCore::WebGLUnsignedIntArray::slice):
- * html/canvas/WebGLUnsignedIntArray.h:
- * html/canvas/WebGLUnsignedShortArray.cpp:
- (WebCore::WebGLUnsignedShortArray::create):
- (WebCore::WebGLUnsignedShortArray::WebGLUnsignedShortArray):
- (WebCore::WebGLUnsignedShortArray::slice):
- * html/canvas/WebGLUnsignedShortArray.h:
-
-2010-03-01 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig.
-
- REGRESSION: Telling a WebView to go to its current WebHistoryItem is broken.
- <rdar://problem/7699371> and https://bugs.webkit.org/show_bug.cgi?id=35532
-
- Test: fast/loader/api-test-go-to-current-back-forward-item.html
-
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::loadItem): If the current item is the same as the target item, don't
- consider this to be a same document navigation.
-
- * page/Page.cpp:
- (WebCore::Page::goToItem): Hard code the "going to the same item as the current item" relationship
- as a precondition for stopping all loaders, as that will be a new document load.
-
-2010-03-01 Robert Hogan <robert@webkit.org>
-
- Reviewed by nobody, build fix.
-
- Fix --minimal build. Add ENABLE(DATABASE) as compile time condition
- for building file GeolocationPositionCache.cpp.
-
- * page/GeolocationPositionCache.cpp:
-
-2010-03-01 Jakob Petsovits <jpetsovits@rim.com>
-
- Reviewed by Dirk Schulze.
-
- [OpenVG] Implement support for paths
- https://bugs.webkit.org/show_bug.cgi?id=34366
-
- Adds an implementation of the Path class -
- *almost* complete, but not quite because OpenVG
- does not provide access to the points in a VGPath
- unless one keeps track of all the points by
- themselves, which we decided not to do.
-
- Also hooked up to PainterOpenVG and GraphicsContext.
-
- Further introduced is SharedResourceOpenVG, which is
- intended as base class for paths and other OpenVG
- resources (images, fonts) that WebKit creates as
- long-lived objects. We are at a slight disadvantage
- here as WebKit doesn't have the concept of resources
- belonging to a specific (hardware graphics) context,
- which is the reason why EGLDisplayOpenVG had to
- provide a current display singleton; this class is
- what actually requires that functionality.
-
- Path::addArcTo() uses code by Yong Li <yoli@rim.com>.
-
- * platform/graphics/Path.cpp:
- * platform/graphics/Path.h:
- * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
- (WebCore::GraphicsContext::fillPath):
- (WebCore::GraphicsContext::strokePath):
- (WebCore::GraphicsContext::drawPath):
- (WebCore::GraphicsContext::beginPath):
- (WebCore::GraphicsContext::addPath):
- * platform/graphics/openvg/PainterOpenVG.cpp:
- (WebCore::PainterOpenVG::PainterOpenVG):
- (WebCore::PainterOpenVG::~PainterOpenVG):
- (WebCore::PainterOpenVG::transformPath):
- (WebCore::PainterOpenVG::beginPath):
- (WebCore::PainterOpenVG::addPath):
- (WebCore::PainterOpenVG::currentPath):
- (WebCore::PainterOpenVG::drawPath):
- * platform/graphics/openvg/PainterOpenVG.h:
- * platform/graphics/openvg/PathOpenVG.cpp: Added.
- (WebCore::PlatformPathOpenVG::PlatformPathOpenVG):
- (WebCore::PlatformPathOpenVG::operator=):
- (WebCore::PlatformPathOpenVG::~PlatformPathOpenVG):
- (WebCore::PlatformPathOpenVG::clear):
- (WebCore::PlatformPathOpenVG::createPath):
- (WebCore::Path::Path):
- (WebCore::Path::~Path):
- (WebCore::Path::operator=):
- (WebCore::Path::contains):
- (WebCore::Path::strokeContains):
- (WebCore::Path::translate):
- (WebCore::Path::boundingRect):
- (WebCore::Path::strokeBoundingRect):
- (WebCore::Path::moveTo):
- (WebCore::Path::addLineTo):
- (WebCore::Path::addQuadCurveTo):
- (WebCore::Path::addBezierCurveTo):
- (WebCore::Path::addArcTo):
- (WebCore::Path::closeSubpath):
- (WebCore::Path::addArc):
- (WebCore::Path::addRect):
- (WebCore::Path::addEllipse):
- (WebCore::Path::clear):
- (WebCore::Path::isEmpty):
- (WebCore::Path::hasCurrentPoint):
- (WebCore::Path::debugString):
- (WebCore::Path::apply):
- (WebCore::Path::transform):
- (WebCore::Path::length):
- (WebCore::Path::pointAtLength):
- (WebCore::Path::normalAngleAtLength):
- * platform/graphics/openvg/PlatformPathOpenVG.h: Added.
- (WebCore::PlatformPathOpenVG::vgPath):
- * platform/graphics/openvg/SharedResourceOpenVG.cpp: Added.
- (WebCore::SharedResourceOpenVG::makeSharedContextCurrent):
- (WebCore::SharedResourceOpenVG::makeCompatibleContextCurrent):
- * platform/graphics/openvg/SharedResourceOpenVG.h: Added.
-
-2010-03-01 Pavel Feldman <pfeldman@chromium.org>
-
- Not reviewed, bring English.lproj/locallizedStrings.js back to binary (UTF) mode.
-
- * English.lproj/localizedStrings.js:
-
-2010-03-01 Jakob Petsovits <jpetsovits@rim.com>
-
- Reviewed by Nikolas Zimmermann.
-
- [OpenVG] Convert from TransformationMatrix to AffineTransform.
- https://bugs.webkit.org/show_bug.cgi?id=35445
-
- Dirk Schulze previously introduced AffineTransform as
- replacement for most TransformationMatrix occurrences
- in GraphicsContext & Co., but did not update the OpenVG
- graphics backend as there's no publicly available way
- to build it. This commit now takes care of that.
-
- * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
- (WebCore::GraphicsContext::getCTM):
- (WebCore::GraphicsContext::roundToDevicePixels):
- (WebCore::GraphicsContext::origin):
- (WebCore::GraphicsContext::concatCTM):
- * platform/graphics/openvg/PainterOpenVG.cpp:
- (WebCore::isNonRotatedAffineTransformation):
- (WebCore::PlatformPainterState::PlatformPainterState):
- (WebCore::PlatformPainterState::applyState):
- (WebCore::PlatformPainterState::applyTransformation):
- (WebCore::PainterOpenVG::transformation):
- (WebCore::PainterOpenVG::concatTransformation):
- (WebCore::PainterOpenVG::setTransformation):
- (WebCore::PainterOpenVG::scale):
- (WebCore::PainterOpenVG::rotate):
- (WebCore::PainterOpenVG::translate):
- (WebCore::PainterOpenVG::intersectClipRect):
- * platform/graphics/openvg/PainterOpenVG.h:
- * platform/graphics/openvg/VGUtils.cpp:
- (WebCore::VGMatrix::VGMatrix):
- (WebCore::VGMatrix::operator AffineTransform):
- (WebCore::VGMatrix::operator TransformationMatrix):
- (WebCore::AffineTransform::operator VGMatrix):
- * platform/graphics/openvg/VGUtils.h:
- * platform/graphics/transforms/AffineTransform.h:
-
-2010-03-01 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix segfault when drawing NPAPI plugins on Mac
-
- Don't try to get a contexctRef for a null-pixmap. If the pixmap
- size is 0,0 the private pixmap data has not yet been initialized.
-
- * plugins/mac/PluginViewMac.cpp:
-
-2010-03-01 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Fix the Qt build on Mac OS X/Cocoa 64-bit
-
- Use the proper event/drawing-model guards instead of global 64-bit
- guard for the NPAPI plugin implementation (view and package).
-
- * plugins/mac/PluginPackageMac.cpp: Change guards and fix warning
- * plugins/mac/PluginViewMac.cpp: Remove 64-bit guard
-
-2010-02-27 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: disable breakpoint upon Shift-click.
-
- https://bugs.webkit.org/show_bug.cgi?id=35477
-
- * inspector/front-end/ConsoleView.js:
- (WebInspector.ConsoleView.prototype._format):
- * inspector/front-end/SourceFrame.js:
- (WebInspector.SourceFrame.prototype._mouseDown):
- (WebInspector.SourceFrame.prototype._mouseMove):
- * inspector/front-end/textViewer.css:
-
-2010-02-28 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Dan Bernstein.
-
- https://bugs.webkit.org/show_bug.cgi?id=35496
- <rdar://problem/7663444> Opening newsweek.com and youtube.com has become very slow in debug builds
-
- * css/CSSStyleSelector.cpp:
- (WebCore::CSSRuleSet::getIDRules):
- (WebCore::CSSRuleSet::getClassRules):
- (WebCore::CSSRuleSet::getTagRules):
- Removed consistency checks, as they affect performance too much in this case.
-
-2010-02-28 Robert Hogan <robert@roberthogan.net>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Support private browsing mode in plugins
-
- Add support for NPNVprivateModeBool property in plugins.
-
- See also: https://developer.mozilla.org/En/Supporting_private_browsing_in_plugins
-
- The NPNVprivateModeBool property is supported as scriptable property privateBrowsingEnabled
- in the test WebKit plugin. The Mac platform also supports a cachedPrivateBrowsingEnabled
- property implemented in the test plugin. This allows the Layout test
- plugins/private-browsing-mode.html to retrieve the previous value of NPNVprivateModeBool
- in the test plugin. Due to the platform-specific overhead required to support this bespoke
- property it is not implemented as part of this patch, instead a new test,
- plugins/private-browsing-mode-2.html, is added to ensure that setting and resetting
- privateBrowsingEnabled works as expected.
-
- http://bugs.webkit.org/show_bug.cgi?id=33180
-
- Test: plugins/private-browsing-mode-2.html
-
- * plugins/qt/PluginViewQt.cpp:
- (WebCore::PluginView::getValue):
-
+ https://bugs.webkit.org/show_bug.cgi?id=18595
+ REGRESSION (r20766): Setting display:none on an iframe causes the ownerDocument to freeze
-2010-02-27 Joseph Pecoraro <joepeck@webkit.org>
+ Test: fast/events/frame-detached-in-mousedown.html
- Reviewed by Timothy Hatcher.
-
- Web Inspector shouldn't show a white color box for "-webkit-line-break: after-white-space"
- https://bugs.webkit.org/show_bug.cgi?id=33478
-
- * inspector/front-end/StylesSidebarPane.js:
-
-2010-02-27 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Maciej Stachowiak.
+ * page/EventHandler.h: Added a boolean tracking whether EventHandler needs to reset capturing
+ node on mouse up. It's only done for nodes that hold subframes - elements that capture events
+ are responsible for resetting the state.
- <rdar://problem/7696607> Links do not respect -webkit-user-drag: none
- https://bugs.webkit.org/show_bug.cgi?id=35475
-
- Test: fast/css/user-drag-none.html
-
- * page/DragController.cpp:
- (WebCore::DragController::mayStartDragAtEventLocation): Added a node
- parameter. The image drag check is done against the node, rather than
- than against the hit test result. This prevents a non-draggable image
- with an auto-draggable ancestor from being dragged alone. The link drag
- check now ignores links that are -webkit-user-drag: none.
- * page/DragController.h:
* page/EventHandler.cpp:
- (WebCore::EventHandler::shouldDragAutoNode): Pass the current node
- to mayStartDragAtEventLocation().
-
-2010-02-27 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: REGRESSION: hangs when scrolling in Resource pane.
-
- https://bugs.webkit.org/show_bug.cgi?id=35216
-
- * inspector/front-end/TextEditorHighlighter.js:
- (WebInspector.TextEditorHighlighter):
- (WebInspector.TextEditorHighlighter.prototype.highlight):
- (WebInspector.TextEditorHighlighter.prototype._highlightInChunks):
- (WebInspector.TextEditorHighlighter.prototype._highlightLines):
-
-2010-02-27 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Abort XEmbed plugin initialization if our parent is not anchored
- in a widget hierarchy. This can happen when the browser window is
- destroyed while the plugin is being loaded, and will lead to a
- crash.
-
- * plugins/gtk/PluginViewGtk.cpp:
- (WebCore::PluginView::platformStart):
-
-2010-02-26 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: reload inspected page on Cmd+R / Ctrl+R / F5 key event in inspector.
- Drive-by fix for couple of minor front-end problems.
-
- https://bugs.webkit.org/show_bug.cgi?id=35434
-
- * inspector/InspectorBackend.cpp:
- (WebCore::InspectorBackend::reloadPage):
- * inspector/InspectorBackend.h:
- * inspector/InspectorBackend.idl:
- * inspector/InspectorController.cpp:
- (WebCore::InspectorController::didFinishLoading):
- (WebCore::InspectorController::didFailLoading):
- * inspector/front-end/InspectorBackendStub.js:
- (.WebInspector.InspectorBackendStub.prototype.reloadPage):
- * inspector/front-end/InspectorFrontendHostStub.js:
- (.WebInspector.InspectorFrontendHostStub.prototype.copyText):
- (.WebInspector.InspectorFrontendHostStub.prototype.canAttachWindow):
- * inspector/front-end/TextViewer.js:
- (WebInspector.TextViewer.prototype._paintLine):
- * inspector/front-end/inspector.js:
- (WebInspector.documentKeyDown):
- (WebInspector.toggleAttach):
-
-2010-02-26 Leandro Pereira <leandro@profusion.mobi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Add EFL port files to platform/efl.
- http://webkit.org/b/35087
-
- * platform/efl/ScrollbarEfl.cpp: Added.
- * platform/efl/EventLoopEfl.cpp: Added.
- * platform/efl/PlatformKeyboardEventEfl.cpp: Added.
- * platform/efl/DragImageEfl.cpp: Added.
- * platform/efl/PlatformMouseEventEfl.cpp: Added.
-
-2010-02-26 Leandro Pereira <leandro@profusion.mobi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Add EFL port files to platform/efl.
- http://webkit.org/b/35087
-
- * platform/efl/CursorEfl.cpp: Added.
- * platform/efl/LocalizedStringsEfl.cpp: Added.
- * platform/efl/SearchPopupMenuEfl.cpp: Added.
-
-2010-02-26 Leandro Pereira <leandro@profusion.mobi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Add EFL port files to page/efl.
- http://webkit.org/b/35087
-
- * WebCore/page/efl/DragControllerEfl.cpp: Added.
- * WebCore/page/efl/FrameEfl.cpp: Added.
- * WebCore/page/efl/AccessibilityObjectEfl.cpp: Added.
- * WebCore/page/efl/EventHandlerEfl.cpp: Added.
-
-2010-02-26 Leandro Pereira <leandro@profusion.mobi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Add EFL port files to platform/efl.
- http://webkit.org/b/35087
+ (WebCore::EventHandler::EventHandler): Don't initialize m_capturingMouseEventsNode, it's a
+ RefPtr and is initialized automatically.
+ (WebCore::EventHandler::handleMousePressEvent): Remember that EventHandler should reset
+ capturing node on its own.
+ (WebCore::EventHandler::handleMouseDoubleClickEvent): The code here looked like it was copied
+ from the below in r21156. Copied correct code instead.
+ (WebCore::EventHandler::handleMouseReleaseEvent): We only clear the capturing node when it
+ holds a subframe, but the frame may be already detached by the time mouse up is handled, so the
+ check was wrong - and return code of passMouseReleaseEventToSubframe() is obviously irrelevant.
+ (WebCore::EventHandler::setCapturingMouseEventsNode): Remember that EventHandler should not
+ reset capturing node on its own.
+
+2010-05-25 Kevin Ollivier <kevino@theolliviers.com>
+
+ [wx] Build fix for missing symbol.
- * WebCore/platform/efl/LoggingEfl.cpp: Added.
- * WebCore/platform/efl/ScrollbarThemeEfl.cpp: Added.
- * WebCore/platform/efl/TemporaryLinkStubs.cpp: Added.
- * WebCore/platform/efl/ScrollViewEfl.cpp: Added.
- * WebCore/platform/efl/SharedBufferEfl.cpp: Added.
- * WebCore/platform/efl/DragDataEfl.cpp: Added.
-
-2010-02-26 Leandro Pereira <leandro@profusion.mobi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Add EFL port files to platform/efl.
- http://webkit.org/b/35087
-
- * WebCore/platform/efl/RenderThemeEfl.cpp: Added.
-
-2010-02-26 Leandro Pereira <leandro@profusion.mobi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Add EFL port files to platform/efl.
- http://webkit.org/b/35087
-
- * WebCore/platform/efl/PlatformWheelEventEfl.cpp: Added.
- * WebCore/platform/efl/FileChooserEfl.cpp: Added.
- * WebCore/platform/efl/ContextMenuEfl.cpp: Added.
- * WebCore/platform/efl/PlatformScreenEfl.cpp: Added.
- * WebCore/platform/efl/WidgetEfl.cpp: Added.
-
-2010-02-26 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Fisher.
-
- Expose an API for ports to add schemes to the mixed content whitelist
- https://bugs.webkit.org/show_bug.cgi?id=35438
-
- Add a notion of a "secure" scheme that doesn't trigger mixed content
- warnings. Let folks register new secure schemes in the same way they
- can register "local" schemes.
-
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::isMixedContent):
- * page/SecurityOrigin.cpp:
- (WebCore::secureSchemes):
- (WebCore::SecurityOrigin::registerURLSchemeAsSecure):
- (WebCore::SecurityOrigin::shouldTreatURLSchemeAsSecure):
- * page/SecurityOrigin.h:
-
-2010-02-26 Noam Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] GraphicsLayerQt: artifacts and wrong transformOrigin
- This was due to wrong way of applying cache-mode and transformation
- on a graphics-item with HTML. Cache-mode should be updated
- when the content type updates, even if it was the same cache-mode
-
- https://bugs.webkit.org/show_bug.cgi?id=35382
-
- Test URL attached to the bug now works correctly.
-
- * platform/graphics/qt/GraphicsLayerQt.cpp:
- (WebCore::GraphicsLayerQtImpl::computeTransform):
- (WebCore::GraphicsLayerQtImpl::flushChanges):
-
-2010-02-26 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Qt/Mac: Revert null timer removal (r51105)
- https://bugs.webkit.org/show_bug.cgi?id=35396
-
- r51105 removed the null timer event of the carbon event model. This however
- breaks the flash of many sites.
-
- Applying patch suggested by Girish Ramakrishnan in bug comment #1.
-
- * plugins/PluginView.h:
- * plugins/mac/PluginViewMac.cpp:
- (WebCore::PluginView::platformStart):
- (WebCore::PluginView::handleMouseEvent):
- (WebCore::PluginView::nullEventTimerFired):
- (WebCore::PluginView::mousePosForPlugin):
-
-2010-02-26 Noam Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Compile error with 3d-canvas
- Replaced a direct gl call with a getProcAddress call
- https://bugs.webkit.org/show_bug.cgi?id=35448
-
- No new tests.
-
- * platform/graphics/qt/GraphicsContext3DQt.cpp:
- (WebCore::GraphicsContext3D::blendColor):
-
-2010-02-26 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [BREWMP] Port EventHandler
- https://bugs.webkit.org/show_bug.cgi?id=34796
-
- Add platform-specific code required to implement EventHandler.
-
- * page/brew/EventHandlerBrew.cpp: Added.
- (WebCore::EventHandler::tabsToAllControls):
- (WebCore::EventHandler::focusDocumentView):
- (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
- (WebCore::EventHandler::passMouseDownEventToWidget):
- (WebCore::EventHandler::eventActivatedView):
- (WebCore::EventHandler::passSubframeEventToSubframe):
- (WebCore::EventHandler::passWheelEventToWidget):
- (WebCore::EventHandler::passMousePressEventToSubframe):
- (WebCore::EventHandler::passMouseMoveEventToSubframe):
- (WebCore::EventHandler::passMouseReleaseEventToSubframe):
- (WebCore::EventHandler::accessKeyModifiers):
-
-2010-02-26 Leandro Pereira <leandro@profusion.mobi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Add EFL port files to platform/efl.
- http://webkit.org/b/35087
-
- * WebCore/platform/efl/ClipboardEfl.cpp: Added.
- * WebCore/platform/efl/PopupMenuEfl.cpp: Added.
- * WebCore/platform/efl/SharedTimerEfl.cpp: Added.
- * WebCore/platform/efl/RenderThemeEfl.h: Added.
- * WebCore/platform/efl/Language.cpp: Added.
- * WebCore/platform/efl/CookieJarEfl.cpp: Added.
- * WebCore/platform/efl/MIMETypeRegistryEfl.cpp: Added.
-
-2010-02-26 Robert Kroeger <rjkroege@chromium.org>
-
- Reviewed by Nate Chapin
+ * wscript:
- To fire each event handler registered on an SVG node once per
- event, Chromium needs an implementation of wasCreatedFromMarkup
- added to V8LazyEventListener.h that matches the one in
- WebKit/WebCore/bindings/js/JSLazyEventListener.h.
-
- This patch adds such a matching implementation of wasCreatedFromMarkup
- to V8LazyEventListener.h.
-
- https://bugs.webkit.org/show_bug.cgi?id=35325
+2010-05-25 Darin Adler <darin@apple.com>
- * bindings/v8/V8LazyEventListener.h:
- (WebCore::V8LazyEventListener::wasCreatedFromMarkup):
+ * dom/Element.cpp:
+ (WebCore::Element::getIDAttribute): Added comments about problems with this function.
-2010-02-26 Arno Renevier <arno@renevier.net>
+2010-05-25 Leandro Pereira <leandro@profusion.mobi>
Reviewed by Gustavo Noronha Silva.
- [Gtk] use geoclue_position_get_position_async to get geolocation position.
- https://bugs.webkit.org/show_bug.cgi?id=35355
-
- No new tests, behaviour depends on system.
-
- * platform/gtk/GeolocationServiceGtk.cpp:
- (WebCore::GeolocationServiceGtk::startUpdating):
- (WebCore::GeolocationServiceGtk::get_position):
- * platform/gtk/GeolocationServiceGtk.h:
-
-2010-02-26 Yaar Schnitman <yaar@chromium.org>
-
- Chromium Win build fix.
-
- * WebCore.gyp/WebCore.gyp: Added missing file to action input.
-
-2010-02-12 Brett Wilson <brettw@chromium.org>
-
- Reviewed by Adam Barth.
-
- Update the Google-URL version of KURL and the V8 bindings to the new
- behavior of KURL.IsStandard.
-
- https://bugs.webkit.org/show_bug.cgi?id=34859
-
- This is covered by fast/dom/Window/invalid-protocol.html
-
- * bindings/v8/custom/V8LocationCustom.cpp:
- (WebCore::V8Location::protocolAccessorSetter):
- * platform/KURLGoogle.cpp:
- (WebCore::KURL::setProtocol):
- (WebCore::KURL::isHierarchical):
-
-2010-02-26 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (Build fix following r55312).
+ [EFL] Build fix.
+ http://webkit.org/b/39598
- * bridge/qt/qt_pixmapruntime.cpp:
- (JSC::Bindings::QtPixmapInstance::invokeMethod):
-
-2010-02-26 Yaar Schnitman <yaar@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [V8] Auto-generate and split DerivedSourcesAllInOne.cpp
- https://bugs.webkit.org/show_bug.cgi?id=33048
-
- * WebCore.gyp/WebCore.gyp:
- * WebCore.gyp/scripts/action_derivedsourcesallinone.py: Added.
- * bindings/v8/DerivedSourcesAllInOne.cpp: Removed.
-
-2010-02-26 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (Build fix following r55312).
-
- * bridge/qt/qt_pixmapruntime.cpp:
- (JSC::Bindings::QtPixmapInstance::invokeMethod):
-
-2010-02-26 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Anders Carlsson.
-
- https://bugs.webkit.org/show_bug.cgi?id=35450
- Crash when a Java array property accessor raises an exception
-
- Test: java/inaccessible-class.html
-
- * bridge/jni/jsc/JNIBridgeJSC.cpp: (JavaField::valueFromInstance): Check if the result
- is null before interpreting it as an object or array.
-
-2010-02-26 Dirk Schulze <krit@webkit.org>
-
- Reviewed by Nikolas Zimmermann.
-
- Extend AffineTransform to mapQuad
- https://bugs.webkit.org/show_bug.cgi?id=35444
-
- This makes mapQuad available for AffineTransform. So that platforms
- can make use of it after the switch from TransformationMatrix to
- AffineTransform in GraphicsContext.
-
- * platform/graphics/transforms/AffineTransform.cpp:
- (WebCore::AffineTransform::mapRect): mapRect already did the calculation for mapQuad but gave back the
- boundingBox of the resulting FloatQuad.
- (WebCore::AffineTransform::mapQuad):
- * platform/graphics/transforms/AffineTransform.h:
-
-2010-02-26 Brady Eidson <beidson@apple.com>
-
- Reviewed by Pavel Feldman.
-
- Arrow keys do not scroll source view in Resources pane or Scripts pane.
- <rdar://problem/7594367> and https://bugs.webkit.org/show_bug.cgi?id=34356
-
- Handle vertical scrolling in the Text Viewer:
- * inspector/front-end/TextViewer.js:
- (WebInspector.TextViewer): Listen for the keydown event.
- (WebInspector.TextViewer.prototype._handleKeyDown): If the event has no modifiers and refers
- to an arrow key, scroll. The horizontal values were ripped from the default "pixels per scroll line"
- value in ScrollBar.h.
-
-2010-02-26 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- Bug 35401 - Fix handling of errors in handling calls over bridge,
- where base object bridge-type does not match method bridge-type.
-
- The code assumes users will only attempt to invoke a Java method
- on a Java base object, etc.
- Add language specific subclasses of RuntimeMethod, and pass the
- RuntimeMethod into invokeMethod, so we can typecheck before
- casting. Throw an exception on type mismatch.
-
- * WebCore.base.exp:
- * WebCore.xcodeproj/project.pbxproj:
- * bridge/c/c_instance.cpp:
- (JSC::Bindings::CRuntimeMethod::CRuntimeMethod):new class to distinguish this type of RuntimeMethod.
- (JSC::Bindings::CInstance::getMethod): create an appropriate sublclass of RuntimeMethod.
- (JSC::Bindings::CInstance::invokeMethod): dynamically check the type of the RuntimeMethod.
- * bridge/c/c_instance.h:
- * bridge/jni/jsc/JavaInstanceJSC.cpp:
- (JavaRuntimeMethod::JavaRuntimeMethod): new class to distinguish this type of RuntimeMethod.
- (JavaInstance::getMethod): create an appropriate sublclass of RuntimeMethod.
- (JavaInstance::invokeMethod): dynamically check the type of the RuntimeMethod.
- * bridge/jni/jsc/JavaInstanceJSC.h:
- * bridge/jsc/BridgeJSC.h:
- * bridge/objc/objc_instance.h:
- * bridge/objc/objc_instance.mm:
- (ObjcRuntimeMethod::ObjcRuntimeMethod): new class to distinguish this type of RuntimeMethod.
- (ObjcInstance::getMethod): create an appropriate sublclass of RuntimeMethod.
- (ObjcInstance::invokeMethod): dynamically check the type of the RuntimeMethod.
- (ObjcInstance::invokeObjcMethod): new method, takes an ObjcMethod* as an argument so that we don't need to dynamically determine the type.
- * bridge/objc/objc_runtime.mm:
- (JSC::Bindings::callObjCFallbackObject): use new invokeObjcMethod method.
- * bridge/runtime_method.cpp:
- (JSC::callRuntimeMethod): pass RuntimeMethod as argument to invokeMethod, rather than its MethodList.
- * bridge/runtime_object.cpp:
- (JSC::RuntimeObject::methodGetter): use new getMethod method.
-
-2010-02-26 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Geoff Garen.
-
- Make the lookup table generator include an explicit cast to expected
- type of the function. We do this because otherwise the blind intptr_t
- cast that is subsequently applied allows incorrectly typed functions
- to be inserted into the table, where they will only fail at runtime.
- This change makes such errors produce a compile time failure.
-
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/scripts/CodeGeneratorJS.pm:
-
-2010-02-26 Alex Milowski <alex@milowski.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Added basic support for the munder, munderover, and mover elements.
-
- Tests: mathml/presentation/over.xhtml
- mathml/presentation/under.xhtml
- mathml/presentation/underover.xhtml
-
- * WebCore.xcodeproj/project.pbxproj:
- * mathml/MathMLInlineContainerElement.cpp:
- (WebCore::MathMLInlineContainerElement::createRenderer):
- * mathml/RenderMathMLUnderOver.cpp: Added.
- (WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver):
- (WebCore::RenderMathMLUnderOver::addChild):
- (WebCore::getOffsetHeight):
- (WebCore::RenderMathMLUnderOver::stretchToHeight):
- (WebCore::RenderMathMLUnderOver::layout):
- (WebCore::RenderMathMLUnderOver::baselinePosition):
- (WebCore::RenderMathMLUnderOver::nonOperatorHeight):
- * mathml/RenderMathMLUnderOver.h: Added.
- (WebCore::RenderMathMLUnderOver::hasBase):
- (WebCore::RenderMathMLUnderOver::):
-
-2010-02-24 Stephen White <senorblanco@chromium.org>
-
- Reviewed by Darin Adler.
-
- This CL implements a simple ad-hoc parser for CSS rgb() values.
- If it fails, it returns false and the normal lex/yacc parser will
- be invoked.
-
- https://bugs.webkit.org/show_bug.cgi?id=35362
-
- Covered by fast/canvas/canvas-bg.html, fast/canvas/canvas-bg-zoom.html,
- and many more.
-
- * css/CSSParser.cpp:
- (WebCore::parseInt):
- (WebCore::CSSParser::parseColor):
-
-2010-02-26 Jarkko Sakkinen <jarkko.sakkinen@tieto.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- https://bugs.webkit.org/show_bug.cgi?id=35419
- 3D canvas did not update when WTF_USE_ACCELERATED_COMPOSITING
- was enabled but not from run-time settings. Added run-time
- check that compositing is enabled.
-
- * html/canvas/WebGLRenderingContext.cpp:
- (WebCore::WebGLRenderingContext::markContextChanged):
-
-2010-02-26 Jarkko Sakkinen <jarkko.sakkinen@tieto.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Compilation failed because functions glSampleCoverage, glBlendEquation
- and glActiveTexture were not available.
- https://bugs.webkit.org/show_bug.cgi?id=35423
-
- * platform/graphics/qt/GraphicsContext3DQt.cpp:
- (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
- (WebCore::GraphicsContext3D::activeTexture):
- (WebCore::GraphicsContext3D::blendEquation):
- (WebCore::GraphicsContext3D::sampleCoverage):
-
-2010-02-26 Jarkko Sakkinen <jarkko.sakkinen@tieto.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- https://bugs.webkit.org/show_bug.cgi?id=35380
- Fixed compilation error when WTF_USE_ACCELERATED_COMPOSITING=0
-
- * css/MediaQueryEvaluator.cpp:
- (WebCore::transform_3dMediaFeatureEval):
-
-2010-02-26 Nicholas Young <nicholas.young@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Incorrect painting after a size changed.
- https://bugs.webkit.org/show_bug.cgi?id=35412
-
- No new tests. Bug fix in backend.
-
- * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
- (WebCore::MediaPlayerPrivate::paint): Provide the source rectangle, rather than inferring it.
-
-2010-02-26 Nicholas Young <nicholas.young@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Incorrect handling of MIME types in Media Player
- https://bugs.webkit.org/show_bug.cgi?id=35413
-
- No new tests. Bug fix in backend.
-
- * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
- (WebCore::MediaPlayerPrivate::supportsType): Corrected logic.
-
-2010-02-26 Joanmarie Diggs <joanmarie.diggs@gmail.com>
-
- Reviewed by Xan Lopez.
-
- https://bugs.webkit.org/show_bug.cgi?id=35418
- [Gtk] Every table, including layout tables, should be exposed as a table
-
- This patch exposes layout tables as tables. (Addressing the problematic table
- hierarchy remains to be done.)
-
- * accessibility/gtk/AccessibilityObjectAtk.cpp:
- (AccessibilityObject::accessibilityPlatformIncludesObject):
- * accessibility/AccessibilityRenderObject.cpp:
- (AccessibilityRenderObject::determineAccessibilityRole):
+ * CMakeLists.txt:
-2010-02-26 Adam Barth <abarth@webkit.org>
+2010-05-25 Enrica Casucci <enrica@apple.com>
Reviewed by Darin Adler.
- XSSAuditor is super super super slow
- https://bugs.webkit.org/show_bug.cgi?id=35373
-
- In this patch, we separate the decoding cache for the page's URL and
- form data. Previously, we used the same cache for both, which caused
- us miss the cache every time when the page had form data (because the
- cache only stored one entry). When the form data is large, we were
- wasting a lot of time canonicalizing.
-
- * page/XSSAuditor.cpp:
- (WebCore::XSSAuditor::findInRequest):
- * page/XSSAuditor.h:
-
-2010-02-26 Dirk Schulze <krit@webkit.org>
-
- Reviewed by Nikolas Zimmermann.
-
- SVGResourceClipper needs to be moved to RenderSVGResourceClipper
- https://bugs.webkit.org/show_bug.cgi?id=35421
-
- Move SVGResourceClipper to RenderSVGResourceClipper. This follows the changes
- of Masker and helps to clean up the SVG code. Code snippets from SVGClipPathElement
- and SVGResourceClipper got combined in RenderSVGResourceClipper. DRT results are
- more readable for clipPath's now. It's possible to see the unit type of clipper, as
- well as it's childs instead of just one path.
-
- * Android.mk:
- * GNUmakefile.am:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * rendering/RenderSVGResource.h:
- (WebCore::):
- * rendering/RenderSVGResourceClipper.cpp: Added.
- (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper):
- (WebCore::RenderSVGResourceClipper::~RenderSVGResourceClipper):
- (WebCore::RenderSVGResourceClipper::invalidateClients):
- (WebCore::RenderSVGResourceClipper::invalidateClient):
- (WebCore::RenderSVGResourceClipper::applyResource):
- (WebCore::RenderSVGResourceClipper::resourceBoundingBox):
- * rendering/RenderSVGResourceClipper.h: Added.
- (WebCore::RenderSVGResourceClipper::renderName):
- (WebCore::RenderSVGResourceClipper::resourceType):
- (WebCore::RenderSVGResourceClipper::clipPathUnits):
- * rendering/SVGRenderSupport.cpp:
- (WebCore::SVGRenderBase::prepareToRenderSVGContent):
- (WebCore::SVGRenderBase::clipperBoundingBoxForRenderer):
- (WebCore::SVGRenderBase::deregisterFromResources):
- * rendering/SVGRenderTreeAsText.cpp:
- (WebCore::operator<<):
- (WebCore::writeStyle):
- (WebCore::writeSVGResource):
- (WebCore::writeResources):
- * svg/SVGClipPathElement.cpp:
- (WebCore::SVGClipPathElement::svgAttributeChanged):
- (WebCore::SVGClipPathElement::childrenChanged):
- (WebCore::SVGClipPathElement::createRenderer):
- * svg/SVGClipPathElement.h:
- (WebCore::SVGClipPathElement::isValid):
- * svg/SVGStyledElement.cpp:
- (WebCore::SVGStyledElement::invalidateResources):
- * svg/graphics/SVGResource.h:
- (WebCore::):
- (WebCore::SVGResource::isPaintServer):
- (WebCore::SVGResource::isFilter):
- (WebCore::SVGResource::isMarker):
- * svg/graphics/SVGResourceClipper.cpp: Removed.
- * svg/graphics/SVGResourceClipper.h: Removed.
-
-2010-02-26 Ben Murdoch <benm@google.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- The element that a touchevent is dispatched to isn't always right
- https://bugs.webkit.org/show_bug.cgi?id=35431
-
- The element that touch events are dispatched on is not always the
- correct one, as the cached m_touchEventTarget member is only updated
- when the first element of the PlatformTouchEvent touch list is in the
- TouchPressed state.
-
- This patch changes this behavior to dispatch the event to the target
- of the touch that caused the event to be generated and eliminates the
- m_touchEventTarget in favour of using the touch target hashmap. It also
- simplifies the way in which the touchTargets list is generated as we
- no longer have m_touchEventTarget (which was used previously to build
- the list). The new behavior matches the observed behavior of the
- iPhone and Android.
-
- * page/EventHandler.cpp:
- (WebCore::assembleTargetTouches): Added. new function to build the
- targetTouches list. Filters a list of touches (passed) about
- another given touch.
- (WebCore::EventHandler::handleTouchEvent): Remove the
- m_touchEventTarget member, and simplify the generation of the
- TouchLists that are bundled with the TouchEVent object. Dispatch
- the event to the target of the touch that caused the event to be
- fired.
- * page/EventHandler.h: Remove m_touchEventTarget.
-
-2010-02-26 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Darin Fisher.
-
- Fix the handling of updates to #hash fragments to check for differences
- post-canonicalization rather than comparing pre- to post-. Chromium
- had a bug where we would set the #hash on an about:blank URL and generate
- an onload event because we thought the URL (not just the fragment) was
- changing.
-
- http://bugs.webkit.org/show_bug.cgi?id=35180
-
- Test: fast/loader/about-blank-hash-change.html
-
- * bindings/v8/custom/V8LocationCustom.cpp:
- (WebCore::V8Location::hashAccessorSetter):
-
-2010-02-26 Zhenyao Mo <zmo@google.com>
-
- Reviewed by David Levin.
-
- texImage2D and texSubImage2D taking ImageData ignore flipY and premultiplyAlpha
- https://bugs.webkit.org/show_bug.cgi?id=34459
-
- Test: fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data.html
-
- * html/canvas/WebGLRenderingContext.cpp:
- (WebCore::WebGLRenderingContext::texImage2D): Apply flipY and premultiplyAlpha to the texture data.
- (WebCore::WebGLRenderingContext::texSubImage2D): Ditto.
- * platform/graphics/GraphicsContext3D.cpp:
- (WebCore::GraphicsContext3D::extractImageData): Extract data from ImageData, applying flipY and premultiplyAlpha.
- * platform/graphics/GraphicsContext3D.h: Add function extractImageData declaration.
-
-2010-02-26 Zhenyao Mo <zmo@google.com>
-
- Reviewed by David Levin.
-
- Set viewport to canvas size upon context creation
- https://bugs.webkit.org/show_bug.cgi?id=35057
-
- Covered by existing tests, in particular fast/canvas/webgl/gl-get-calls.html
-
- * html/canvas/WebGLRenderingContext.cpp:
- (WebCore::WebGLRenderingContext::WebGLRenderingContext): Set the viewport size to match the canvas size.
-
-2010-02-26 Pavel Feldman <pfeldman@chromium.org>
-
- Not reviewed: touch InspectorController to force front-end deployment.
-
- * inspector/InspectorController.cpp:
-
-2010-02-26 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- WebInspector: While the current timeline view in DevTools provides a great overview of
- things happening, we should make it easier to locate the cause of an event,
- e.g., link to JS where relevant.
- Caller info support for all kind of Timeline events and new Function Call event will be added.
- JSC can be patched the same way as it will be done for V8.
-
- https://bugs.webkit.org/show_bug.cgi?id=33995
-
- * bindings/js/ScriptCallStack.cpp:
- (WebCore::ScriptCallStack::callLocation):
- * bindings/js/ScriptCallStack.h:
- * bindings/v8/ScriptCallStack.cpp:
- (WebCore::ScriptCallStack::create):
- (WebCore::ScriptCallStack::callLocation):
- * bindings/v8/ScriptCallStack.h:
- * bindings/v8/V8Proxy.cpp:
- (WebCore::V8Proxy::callFunction):
- * inspector/InspectorTimelineAgent.cpp:
- (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
- (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
- (WebCore::InspectorTimelineAgent::willCallFunction):
- (WebCore::InspectorTimelineAgent::didCallFunction):
- (WebCore::InspectorTimelineAgent::pushCurrentRecord):
- * inspector/InspectorTimelineAgent.h:
- (WebCore::):
- (WebCore::InspectorTimelineAgent::instanceCount):
- * inspector/TimelineRecordFactory.cpp:
- (WebCore::TimelineRecordFactory::createGenericRecord):
- (WebCore::TimelineRecordFactory::createFunctionCallData):
- * inspector/TimelineRecordFactory.h:
- * inspector/front-end/Popover.js:
- (WebInspector.Popover.prototype.hideWhenClicked):
- (WebInspector.Popover.prototype._positionElement):
- * inspector/front-end/TimelineAgent.js:
- * inspector/front-end/TimelinePanel.js:
- (WebInspector.TimelinePanel):
- (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
- (WebInspector.TimelinePanel.prototype._formatRecord):
- (WebInspector.TimelinePanel.prototype._getRecordDetails):
- (WebInspector.TimelinePanel.prototype.reset):
- (WebInspector.TimelinePanel.prototype._closeRecordDetails):
- (WebInspector.TimelinePanel.prototype._onScroll):
- (WebInspector.TimelinePanel.prototype._refresh):
- (WebInspector.TimelinePanel.prototype._refreshRecords):
- (WebInspector.TimelineRecordListRow):
- (WebInspector.TimelineRecordListRow.prototype.update):
- (WebInspector.TimelineRecordListRow.prototype._createCell):
- (WebInspector.TimelineRecordListRow.prototype._createRow):
- (WebInspector.TimelineRecordListRow.prototype._createLinkRow):
- (WebInspector.TimelineRecordListRow.prototype._generateBubbleContent):
- (WebInspector.TimelineRecordListRow.prototype._onClick):
- * inspector/front-end/WebKit.qrc:
- * inspector/front-end/inspector.js:
- (WebInspector.linkifyResourceAsNode):
-
-2010-02-26 Csaba Osztrogonác <ossy@webkit.org>
-
- Unreviewed. Roll-out r55263 because it broke fast/forms/textarea-type-spaces-pretty-diff.html.
- https://bugs.webkit.org/show_bug.cgi?id=30946
-
- * editing/CompositeEditCommand.cpp:
- (WebCore::isWhitespace):
- (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
- * editing/InsertTextCommand.cpp:
- (WebCore::InsertTextCommand::input):
- * editing/InsertTextCommand.h:
- * editing/htmlediting.cpp:
- * editing/htmlediting.h:
-
-2010-02-25 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Brady Eidson.
-
- <rdar://problem/7688455> REGRESSION(r55205): Crash inside dispatchEventsOnWindowAndFocusedNode when clicking link from bookmarks view
-
- Null-check the document's page to avoid dereferencing a null page.
+ REGRESSION(51522): typing at the end of a line in designMode documents is *very* slow.
+ https://bugs.webkit.org/show_bug.cgi?id=36037
+ <rdar://problem/8022887>
- No regression test is added as this appears to be dependent on an interaction with Safari's bookmarks view that is
- not testable from within DumpRenderTree.
-
- * page/FocusController.cpp:
- (WebCore::dispatchEventsOnWindowAndFocusedNode):
-
-2010-02-25 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Simon Fraser.
-
- Multiple repaints on apple.com
- https://bugs.webkit.org/show_bug.cgi?id=35409
-
- apple.com was triggering the fast scaling path for background images due to
- repeated repaints as more content came in. This occured due to a two problems
- in the logic to detect scaling. The first is that the main context is flipped
- on mac so fails the identity or translation check. We work around this by adding
- an function that allows the scaling for a flipped CTM. The other problem was that
- we were looking at the destination rect size instead of the destination tile size
- when deciding if the size we were drawn at would cause scaling.
-
- * platform/graphics/transforms/AffineTransform.h:
- (WebCore::AffineTransform::isIdentityOrTranslationOrFlipped):
- * rendering/RenderBoxModelObject.cpp:
- (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality):
- (WebCore::RenderBoxModelObject::paintFillLayerExtended):
-
-2010-02-25 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Adele Peterson.
-
- Extra layout on keypress after a space (problem with rebalanceWhitespaceAt in InsertTextCommand).
- https://bugs.webkit.org/show_bug.cgi?id=30946
- <rdar://problem/7639184>
-
- Do text insertion and whitespace rebalancing around the insertion in one step so that there's only one layout.
- This patch was originally made by Justin Garcia.
+ The performance regression was traced to r51522 but this is not entirely true. That revision introduced, among other things,
+ additional checks in the method isCandidate of both Position and PositionIterator classes to support scenarios of mixed editability
+ that were not allowed before. This change uncovered an underlying issue with the decrement method of PositionIterator, that in some
+ cases would iterate through every position as offset in a block before moving to the last child in the block.
+ This was exactly the case of the attached test case, where, trying to check if the caret was placed at the end of a block, we were examining
+ every position in the block before considering the last true position in the block.
+ The performance was linear with the number of child nodes in the block, instead of constant.
- Test: editing/inserting/rebalance-whitespace-1.html
-
- * editing/CompositeEditCommand.cpp:
- (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): No behavior changes here,
- just pushed the code that determined the extent of whitespace surrounding a position
- to its own helper function.
- * editing/InsertTextCommand.cpp:
- (WebCore::InsertTextCommand::insertTextIntoNodeAndRebalanceWhitespace): Added. Find
- whitespace surrounding the insertion position, add the text to insert, rebalance that entire
- string, then insert it into the document.
- (WebCore::InsertTextCommand::input):
- * editing/InsertTextCommand.h:
- * editing/htmlediting.cpp:
- (WebCore::isWhitespace): Moved from CompositeEditCommand.cpp.
- (WebCore::extentOfWhitespaceForRebalancingAt): Moved code from rebalanceWhitespaceAt into this helper
- function. Obtains the offset of the start and end of whitespace around a particular position.
- * editing/htmlediting.h:
-
-2010-02-25 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Anders Carlsson.
-
- https://bugs.webkit.org/show_bug.cgi?id=35406
- <rdar://problem/6945502> Make generic array methods work with JavaArray
-
- Test: java/array-sort.html
-
- Made RuntimeArray inherit from JSArray, keeping the promise given in ClassInfo.
-
- * bridge/runtime_array.cpp:
- (JSC::RuntimeArray::RuntimeArray):
- (JSC::RuntimeArray::~RuntimeArray):
- * bridge/runtime_array.h:
- (JSC::RuntimeArray::classInfo):
- (JSC::RuntimeArray::getConcreteArray):
-
-2010-02-25 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- Fixed a regression introduced in r44243, which made the assertion in checkListItems()
- ineffective.
-
- * dom/SelectElement.cpp:
- (WebCore::SelectElementData::checkListItems): Copy the items vector before recomputing it,
- then assert that the newly-computed vector is equal to the copy.
-
-2010-02-25 Dirk Schulze <krit@webkit.org>
-
- Reviewed by Nikolas Zimmermann.
-
- SVG's tspan is no member of SVGRenderBase, this can cause crashes on filters
- https://bugs.webkit.org/show_bug.cgi?id=35354
-
- This makes the base class RenderSVGInline of RenderSVGTSpan and RenderSVGInlineText
- dependent on SVGBaseRenderer.
- The SVG spec want as to use the object bounding box of the text root as the bounding box
- for text-childs. So we search for the text root and use it's bounding box, stroke rect and
- repaint rect for further calculations.
-
- Test: svg/filters/filter-on-tspan.svg
-
- * rendering/RenderSVGInline.cpp:
- (WebCore::RenderSVGInline::objectBoundingBox): Find the text root and give back it's bounding box.
- (WebCore::RenderSVGInline::strokeBoundingBox): same for stroke rect
- (WebCore::RenderSVGInline::repaintRectInLocalCoordinates): same for repaint rect
- * rendering/RenderSVGInline.h:
- (WebCore::RenderSVGInline::toSVGRenderBase): RenderSVGInline is part of SVGRenderBase now.
- * rendering/RenderSVGTSpan.h:
- (WebCore::RenderSVGTSpan::renderName): Removed bounding box code. Was just a hack for filters and maskers.
- * rendering/SVGRenderSupport.cpp:
- (WebCore::findTextRootObject): Search for the text root.
- * rendering/SVGRenderSupport.h:
- * svg/graphics/SVGPaintServerGradient.cpp: moved findTextRootObject to SVGRenderSupport
-
-2010-02-25 Dirk Schulze <krit@webkit.org>
-
- Reviewed by Nikolas Zimmermann.
-
- Use-element doesn't transform clipPath
- https://bugs.webkit.org/show_bug.cgi?id=35375
-
- If the use element is a child of clipPath, any settings on x, y or transform does not
- transform the clipPath it references.
- The use-element just misses this transformation in toClipPath.
-
- Test: svg/custom/use-on-clip-path-with-transformation.svg
-
- * platform/graphics/cairo/PathCairo.cpp: Gtk port translated the path to the wrong direction.
- (WebCore::Path::translate):
- * svg/SVGUseElement.cpp:
- (WebCore::SVGUseElement::toClipPath):
-
-2010-02-25 Jian Li <jianli@chromium.org>
-
- Reviewed by Dmitry Titov.
-
- File.type support.
- https://bugs.webkit.org/show_bug.cgi?id=35361
-
- Test: LayoutTests/editing/pasteboard/file-input-files-access.html
-
- * html/File.cpp:
- (WebCore::File::File):
- * html/File.h:
- (WebCore::File::type):
- * html/File.idl:
-
-2010-02-25 Alexander Pavlov <apavlov@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Javascript console should not attempt to scroll to end of console if console is not visible
-
- https://bugs.webkit.org/show_bug.cgi?id=22992
-
- * inspector/front-end/ConsoleView.js:
- (WebInspector.ConsoleView.prototype._scheduleScrollIntoView.scrollIntoView):
- (WebInspector.ConsoleView.prototype._scheduleScrollIntoView):
- (WebInspector.ConsoleView.prototype.addMessage):
-
-2010-02-25 Alexey Proskuryakov <ap@apple.com>
-
- Qt and Gtk build fixes.
-
- * GNUmakefile.am:
- * WebCore.pro:
- Added CRuntimeObject.{c,cpp}.
-
-2010-02-25 Alexey Proskuryakov <ap@apple.com>
-
- Windows build fix.
-
- * WebCore.vcproj/WebCore.vcproj: Added CRuntimeObject.{c,cpp}.
-
-2010-02-25 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Geoffrey Garen.
-
- https://bugs.webkit.org/show_bug.cgi?id=35394
- <rdar://problem/7685262> Make passing objects between Java and plug-ins work
-
- * WebCore.PluginHostProcess.exp: WebKit now subclasses RuntimeObject, so it needed more exports.
-
- * bridge/runtime_object.cpp:
- (JSC::Bindings::callRuntimeObject):
- (JSC::Bindings::callRuntimeConstructor):
- Assert that a runtime object is passed as function.
-
- * bridge/runtime_object.h: Moved RuntimeObject into Bindings namespace, matching other
- related classes.
-
- * bridge/jni/jni_jsobject.mm:
- (JavaJSObject::toString): Pass rootObject to convertValueToJValue(). It's not needed when
- constructing a string, but this function now takes it for the sake of Object.
- (JavaJSObject::convertValueToJObject): Check that object class is JavaRuntimeObject, not
- just RuntimeObject.
-
- * bridge/jni/jsc/JNIBridgeJSC.cpp:
- (JavaField::setValueToInstance): Pass rootObject to convertValueToJValue().
- (JavaArray::setValueAt): Ditto.
-
- * bridge/jni/jsc/JNIUtilityPrivate.h: convertValueToJValue() now takes a RootObject argument,
- because one is needed to gcProtect an object ghtat is wrapped into JSObject.
-
- * bridge/jni/jsc/JNIUtilityPrivate.cpp: (JSC::Bindings::convertValueToJValue): Convert
- JavaScript objects to Java JSObject ones. This was already happening in other code paths,
- which we should change to use common code.
-
- * bridge/jni/jsc/JavaInstanceJSC.cpp:
- (JavaInstance::newRuntimeObject): Create an appropriate RuntimeObject subclass,
- which is JavaRuntimeObject for Java.
- (JavaInstance::invokeMethod): Unwrap returned JavaObjects that contain JS objects.
-
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/objc/WebScriptObject.mm:
- (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
- * bridge/c/CRuntimeObject.cpp: Added.
- (JSC::Bindings::CRuntimeObject::CRuntimeObject):
- (JSC::Bindings::CRuntimeObject::~CRuntimeObject):
- (JSC::Bindings::CRuntimeObject::getInternalCInstance):
- * bridge/c/CRuntimeObject.h: Added.
- (JSC::Bindings::CRuntimeObject::classInfo):
- * bridge/c/c_instance.cpp:
- (JSC::Bindings::CInstance::newRuntimeObject):
- * bridge/c/c_instance.h:
- * bridge/c/c_utility.cpp:
- (JSC::Bindings::convertValueToNPVariant):
- * bridge/jni/jsc/JavaInstanceJSC.h:
- * bridge/jni/jsc/JavaRuntimeObject.cpp: Added.
- (JSC::Bindings::):
- (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):
- (JSC::Bindings::JavaRuntimeObject::~JavaRuntimeObject):
- (JSC::Bindings::JavaRuntimeObject::getInternalJavaInstance):
- * bridge/jni/jsc/JavaRuntimeObject.h: Added.
- (JSC::Bindings::JavaRuntimeObject::classInfo):
- * bridge/jsc/BridgeJSC.h:
- * bridge/objc/ObjCRuntimeObject.h: Added.
- (JSC::Bindings::ObjCRuntimeObject::classInfo):
- * bridge/objc/ObjCRuntimeObject.mm: Added.
- (JSC::Bindings::):
- (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
- (JSC::Bindings::ObjCRuntimeObject::~ObjCRuntimeObject):
- (JSC::Bindings::ObjCRuntimeObject::getInternalObjCInstance):
- * bridge/objc/objc_instance.h:
- * bridge/objc/objc_instance.mm:
- (ObjcInstance::newRuntimeObject):
- * bridge/objc/objc_runtime.mm:
- (JSC::Bindings::callObjCFallbackObject):
- * bridge/runtime_root.h:
- Added RuntimeObject subclasses for each instance type, and use them for type casting.
-
-2010-02-25 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Rubber-stamped by Xan Lopez.
-
- Adopt the same string as the one that is expected by
- fast/parser/fragment-parser.html for the description used by the
- <isindex> element.
-
- * platform/gtk/LocalizedStringsGtk.cpp:
- (WebCore::searchableIndexIntroduction):
-
-2010-02-25 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: evaluate-on-hover does not work on HTML files.
-
- https://bugs.webkit.org/show_bug.cgi?id=35378
-
- * inspector/front-end/SourceCSSTokenizer.re2js:
- * inspector/front-end/SourceHTMLTokenizer.js:
- (WebInspector.SourceHTMLTokenizer):
- (WebInspector.SourceHTMLTokenizer.prototype.set line):
- (WebInspector.SourceHTMLTokenizer.prototype._isExpectingAttribute):
- (WebInspector.SourceHTMLTokenizer.prototype._isExpectingAttributeValue):
- (WebInspector.SourceHTMLTokenizer.prototype._setExpectingAttribute):
- (WebInspector.SourceHTMLTokenizer.prototype._setExpectingAttributeValue):
- (WebInspector.SourceHTMLTokenizer.prototype._attrValueTokenType):
- (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
- * inspector/front-end/SourceHTMLTokenizer.re2js:
- * inspector/front-end/SourceJavaScriptTokenizer.js:
- (WebInspector.SourceJavaScriptTokenizer):
- * inspector/front-end/SourceJavaScriptTokenizer.re2js:
- * inspector/front-end/SourceTokenizer.js:
- (WebInspector.SourceTokenizer.prototype.set condition):
- (WebInspector.SourceTokenizer.prototype.get condition):
- (WebInspector.SourceTokenizer.prototype.get subTokenizer):
- (WebInspector.SourceTokenizer.prototype.getLexCondition):
- (WebInspector.SourceTokenizer.prototype.setLexCondition):
- * inspector/front-end/TextEditorHighlighter.js:
- (WebInspector.TextEditorHighlighter):
- (WebInspector.TextEditorHighlighter.prototype.set mimeType):
- (WebInspector.TextEditorHighlighter.prototype.highlight):
- (WebInspector.TextEditorHighlighter.prototype._highlightInChunks):
- (WebInspector.TextEditorHighlighter.prototype._highlightLines):
- (WebInspector.TextEditorHighlighter.prototype._highlightLine):
- * inspector/front-end/TextViewer.js:
- (WebInspector.TextViewer.prototype._paintLine):
-
-2010-02-25 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Simple style cleanups.
-
- * plugins/gtk/PluginViewGtk.cpp:
- (WebCore::plugRemovedCallback):
- (WebCore::plugAddedCallback):
- (WebCore::PluginView::platformStart):
+ * dom/PositionIterator.cpp:
+ (WebCore::PositionIterator::decrement):
-2010-02-25 Andreas Kling <andreas.kling@nokia.com>
+2010-05-25 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
- Optimize decoding of Latin-1 text by exploiting the fact that most of it will
- be ASCII-only data.
+ https://bugs.webkit.org/show_bug.cgi?id=39621
+ <rdar://problem/8009738> Extreme memory growth on DOM Hanoi test
- https://bugs.webkit.org/show_bug.cgi?id=35233
+ The largest cause of memory growth on this test were autoreleased DOMNode objects created
+ to make webView:formStateDidChangeForNode: delegate calls.
- * platform/text/TextCodecLatin1.cpp:
- (WebCore::TextCodecLatin1::decode):
+ * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
+ Don't call notifyFormStateChanged() - since the element starts with refcount 0, it's not
+ safe to call functions that are likely to create temporary wrappers (wrapper destructor
+ would bring refcount back to 0, and destroy HTMLTextAreaElement from within its constructor).
-2010-02-25 Pavel Feldman <pfeldman@chromium.org>
+2010-05-25 Kent Tamura <tkent@chromium.org>
Reviewed by Dimitri Glazkov.
- Web Inspector: make script lines count calculation lazy.
-
- https://bugs.webkit.org/show_bug.cgi?id=35392
-
- * inspector/front-end/Script.js:
- (WebInspector.Script):
- (WebInspector.Script.prototype.get linesCount):
- * inspector/front-end/ScriptsPanel.js:
- * inspector/front-end/SourceView.js:
- (WebInspector.SourceView.prototype._addBreakpoint):
-
-2010-02-25 James Choi <jchoi42@pha.jhu.edu>
-
- Reviewed by David Levin.
-
- Change hardcoded gcc paths to be Solaris friendly
- https://bugs.webkit.org/show_bug.cgi?id=35213
-
- * bindings/scripts/CodeGeneratorObjC.pm:
- * bindings/scripts/IDLParser.pm:
- * css/make-css-file-arrays.pl:
- * dom/make_names.pl:
-
-2010-02-25 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Workaround Java plugins not drawing themselves properly on first
- expose by doing a late size-allocate after 'plug-added' has been
- emitted on the embedding GtkSocket. It's unclear to me if this is
- a bug in our side or theirs, but this should be pretty safe and
- fixes the annoyance while we investigate it further.
-
- * plugins/gtk/PluginViewGtk.cpp:
- (WebCore::plugAddedCallback):
- (WebCore::PluginView::platformStart):
-
-2010-02-23 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- Add missing include guards
-
- * loader/CrossOriginPreflightResultCache.h:
- * loader/MainResourceLoader.h:
-
-2010-02-25 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Restrict the optimization flags for Symbian to release builds.
-
- * WebCore.pro:
-
-2010-02-25 Jarkko Sakkinen <jarkko.sakkinen@tieto.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Qt WebGL support
-
- Adds GraphicsContext3D QtWebKit implementation.
- https://bugs.webkit.org/show_bug.cgi?id=35153
-
- * WebCore.pri:
- * WebCore.pro:
- * platform/graphics/GraphicsContext3D.h:
- * platform/graphics/qt/GraphicsContext3DQt.cpp: Added.
- (WebCore::GraphicsContext3DInternal::isValid):
- (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
- (WebCore::GraphicsContext3DInternal::~GraphicsContext3DInternal):
- (WebCore::GraphicsContext3DInternal::getProcAddress):
- (WebCore::GraphicsContext3D::create):
- (WebCore::GraphicsContext3D::GraphicsContext3D):
- (WebCore::GraphicsContext3D::~GraphicsContext3D):
- (WebCore::GraphicsContext3D::platformGraphicsContext3D):
- (WebCore::GraphicsContext3D::platformTexture):
- (WebCore::GraphicsContext3D::makeContextCurrent):
- (WebCore::GraphicsContext3D::beginPaint):
- (WebCore::GraphicsContext3D::endPaint):
- (WebCore::GraphicsContext3D::reshape):
- (WebCore::GraphicsContext3D::activeTexture):
- (WebCore::GraphicsContext3D::attachShader):
- (WebCore::GraphicsContext3D::bindAttribLocation):
- (WebCore::GraphicsContext3D::bindBuffer):
- (WebCore::GraphicsContext3D::bindFramebuffer):
- (WebCore::GraphicsContext3D::bindRenderbuffer):
- (WebCore::GraphicsContext3D::bindTexture):
- (WebCore::GraphicsContext3D::blendColor):
- (WebCore::GraphicsContext3D::blendEquation):
- (WebCore::GraphicsContext3D::blendEquationSeparate):
- (WebCore::GraphicsContext3D::blendFunc):
- (WebCore::GraphicsContext3D::blendFuncSeparate):
- (WebCore::GraphicsContext3D::bufferData):
- (WebCore::GraphicsContext3D::bufferSubData):
- (WebCore::GraphicsContext3D::checkFramebufferStatus):
- (WebCore::GraphicsContext3D::clearColor):
- (WebCore::GraphicsContext3D::clear):
- (WebCore::GraphicsContext3D::clearDepth):
- (WebCore::GraphicsContext3D::clearStencil):
- (WebCore::GraphicsContext3D::colorMask):
- (WebCore::GraphicsContext3D::compileShader):
- (WebCore::GraphicsContext3D::copyTexImage2D):
- (WebCore::GraphicsContext3D::copyTexSubImage2D):
- (WebCore::GraphicsContext3D::cullFace):
- (WebCore::GraphicsContext3D::depthFunc):
- (WebCore::GraphicsContext3D::depthMask):
- (WebCore::GraphicsContext3D::depthRange):
- (WebCore::GraphicsContext3D::detachShader):
- (WebCore::GraphicsContext3D::disable):
- (WebCore::GraphicsContext3D::disableVertexAttribArray):
- (WebCore::GraphicsContext3D::drawArrays):
- (WebCore::GraphicsContext3D::drawElements):
- (WebCore::GraphicsContext3D::enable):
- (WebCore::GraphicsContext3D::enableVertexAttribArray):
- (WebCore::GraphicsContext3D::finish):
- (WebCore::GraphicsContext3D::flush):
- (WebCore::GraphicsContext3D::framebufferRenderbuffer):
- (WebCore::GraphicsContext3D::framebufferTexture2D):
- (WebCore::GraphicsContext3D::frontFace):
- (WebCore::GraphicsContext3D::generateMipmap):
- (WebCore::GraphicsContext3D::getActiveAttrib):
- (WebCore::GraphicsContext3D::getActiveUniform):
- (WebCore::GraphicsContext3D::getAttribLocation):
- (WebCore::GraphicsContext3D::getContextAttributes):
- (WebCore::GraphicsContext3D::getError):
- (WebCore::GraphicsContext3D::getString):
- (WebCore::GraphicsContext3D::hint):
- (WebCore::GraphicsContext3D::isBuffer):
- (WebCore::GraphicsContext3D::isEnabled):
- (WebCore::GraphicsContext3D::isFramebuffer):
- (WebCore::GraphicsContext3D::isProgram):
- (WebCore::GraphicsContext3D::isRenderbuffer):
- (WebCore::GraphicsContext3D::isShader):
- (WebCore::GraphicsContext3D::isTexture):
- (WebCore::GraphicsContext3D::lineWidth):
- (WebCore::GraphicsContext3D::linkProgram):
- (WebCore::GraphicsContext3D::pixelStorei):
- (WebCore::GraphicsContext3D::polygonOffset):
- (WebCore::GraphicsContext3D::readPixels):
- (WebCore::GraphicsContext3D::releaseShaderCompiler):
- (WebCore::GraphicsContext3D::renderbufferStorage):
- (WebCore::GraphicsContext3D::sampleCoverage):
- (WebCore::GraphicsContext3D::scissor):
- (WebCore::GraphicsContext3D::shaderSource):
- (WebCore::GraphicsContext3D::stencilFunc):
- (WebCore::GraphicsContext3D::stencilFuncSeparate):
- (WebCore::GraphicsContext3D::stencilMask):
- (WebCore::GraphicsContext3D::stencilMaskSeparate):
- (WebCore::GraphicsContext3D::stencilOp):
- (WebCore::GraphicsContext3D::stencilOpSeparate):
- (WebCore::GraphicsContext3D::texParameterf):
- (WebCore::GraphicsContext3D::texParameteri):
- (WebCore::GraphicsContext3D::uniform1f):
- (WebCore::GraphicsContext3D::uniform1fv):
- (WebCore::GraphicsContext3D::uniform2f):
- (WebCore::GraphicsContext3D::uniform2fv):
- (WebCore::GraphicsContext3D::uniform3f):
- (WebCore::GraphicsContext3D::uniform3fv):
- (WebCore::GraphicsContext3D::uniform4f):
- (WebCore::GraphicsContext3D::uniform4fv):
- (WebCore::GraphicsContext3D::uniform1i):
- (WebCore::GraphicsContext3D::uniform1iv):
- (WebCore::GraphicsContext3D::uniform2i):
- (WebCore::GraphicsContext3D::uniform2iv):
- (WebCore::GraphicsContext3D::uniform3i):
- (WebCore::GraphicsContext3D::uniform3iv):
- (WebCore::GraphicsContext3D::uniform4i):
- (WebCore::GraphicsContext3D::uniform4iv):
- (WebCore::GraphicsContext3D::uniformMatrix2fv):
- (WebCore::GraphicsContext3D::uniformMatrix3fv):
- (WebCore::GraphicsContext3D::uniformMatrix4fv):
- (WebCore::GraphicsContext3D::useProgram):
- (WebCore::GraphicsContext3D::validateProgram):
- (WebCore::GraphicsContext3D::vertexAttrib1f):
- (WebCore::GraphicsContext3D::vertexAttrib1fv):
- (WebCore::GraphicsContext3D::vertexAttrib2f):
- (WebCore::GraphicsContext3D::vertexAttrib2fv):
- (WebCore::GraphicsContext3D::vertexAttrib3f):
- (WebCore::GraphicsContext3D::vertexAttrib3fv):
- (WebCore::GraphicsContext3D::vertexAttrib4f):
- (WebCore::GraphicsContext3D::vertexAttrib4fv):
- (WebCore::GraphicsContext3D::vertexAttribPointer):
- (WebCore::GraphicsContext3D::viewport):
- (WebCore::GraphicsContext3D::getBooleanv):
- (WebCore::GraphicsContext3D::getBufferParameteriv):
- (WebCore::GraphicsContext3D::getFloatv):
- (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
- (WebCore::GraphicsContext3D::getIntegerv):
- (WebCore::GraphicsContext3D::getProgramiv):
- (WebCore::GraphicsContext3D::getProgramInfoLog):
- (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
- (WebCore::GraphicsContext3D::getShaderiv):
- (WebCore::GraphicsContext3D::getShaderInfoLog):
- (WebCore::GraphicsContext3D::getShaderSource):
- (WebCore::GraphicsContext3D::getTexParameterfv):
- (WebCore::GraphicsContext3D::getTexParameteriv):
- (WebCore::GraphicsContext3D::getUniformfv):
- (WebCore::GraphicsContext3D::getUniformiv):
- (WebCore::GraphicsContext3D::getUniformLocation):
- (WebCore::GraphicsContext3D::getVertexAttribfv):
- (WebCore::GraphicsContext3D::getVertexAttribiv):
- (WebCore::GraphicsContext3D::getVertexAttribOffset):
- (WebCore::GraphicsContext3D::texImage2D):
- (WebCore::GraphicsContext3D::texSubImage2D):
- (WebCore::GraphicsContext3D::createBuffer):
- (WebCore::GraphicsContext3D::createFramebuffer):
- (WebCore::GraphicsContext3D::createProgram):
- (WebCore::GraphicsContext3D::createRenderbuffer):
- (WebCore::GraphicsContext3D::createShader):
- (WebCore::GraphicsContext3D::createTexture):
- (WebCore::GraphicsContext3D::deleteBuffer):
- (WebCore::GraphicsContext3D::deleteFramebuffer):
- (WebCore::GraphicsContext3D::deleteProgram):
- (WebCore::GraphicsContext3D::deleteRenderbuffer):
- (WebCore::GraphicsContext3D::deleteShader):
- (WebCore::GraphicsContext3D::deleteTexture):
- (WebCore::GraphicsContext3D::sizeInBytes):
- (WebCore::GraphicsContext3D::synthesizeGLError):
- (WebCore::GraphicsContext3D::getImageData):
-
-2010-02-25 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Swap images for activate and deactivate breakpoints.
-
- https://bugs.webkit.org/show_bug.cgi?id=35383
-
- * WebCore.gypi:
- * inspector/front-end/Images/breakpointsActivateButtonGlyph.png: Renamed from WebCore/inspector/front-end/Images/deactivateBreakpointsButtonGlyph.png.
- * inspector/front-end/Images/breakpointsDeactivateButtonGlyph.png: Renamed from WebCore/inspector/front-end/Images/deactivateBreakpointsDisabledButtonGlyph.png.
- * inspector/front-end/WebKit.qrc:
- * inspector/front-end/inspector.css:
-
-2010-02-25 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- Go back on symlink resolution if we are loading the flash plugin,
- and the path contains /netscape/, following what Chromium does.
-
- Thanks to Evan Martin for the help on this!
-
- * plugins/gtk/PluginPackageGtk.cpp:
- (WebCore::PluginPackage::load):
-
-2010-02-25 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Scripts panel shows blank source when stopping on a breakpoint on refresh.
-
- https://bugs.webkit.org/show_bug.cgi?id=35232
-
- * inspector/front-end/Panel.js:
- (WebInspector.Panel.prototype.canShowSourceLine):
- (WebInspector.Panel.prototype.showSourceLine):
- * inspector/front-end/ResourcesPanel.js:
- (WebInspector.ResourcesPanel.prototype.canShowSourceLine):
- (WebInspector.ResourcesPanel.prototype.showSourceLine):
- * inspector/front-end/Script.js:
- (WebInspector.Script):
- * inspector/front-end/ScriptView.js:
- (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
- * inspector/front-end/ScriptsPanel.js:
- (WebInspector.ScriptsPanel.prototype.show):
- (WebInspector.ScriptsPanel.prototype.get searchableViews):
- (WebInspector.ScriptsPanel.prototype.addScript):
- (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
- (WebInspector.ScriptsPanel.prototype.addBreakpoint):
- (WebInspector.ScriptsPanel.prototype.removeBreakpoint):
- (WebInspector.ScriptsPanel.prototype.reset):
- (WebInspector.ScriptsPanel.prototype.canShowSourceLine):
- (WebInspector.ScriptsPanel.prototype.showSourceLine):
- (WebInspector.ScriptsPanel.prototype._scriptOrResourceForURLAndLine):
- (WebInspector.ScriptsPanel.prototype.showView):
- (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
- (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
- (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu.optionCompare):
- (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
- * inspector/front-end/SourceView.js:
- (WebInspector.SourceView.prototype._addBreakpoint):
- * inspector/front-end/inspector.js:
- (WebInspector.documentClick.followLink):
- (WebInspector.documentClick):
- (WebInspector._choosePanelToShowSourceLine):
- (WebInspector.canShowSourceLine):
- (WebInspector.showSourceLine):
-
-2010-02-25 Ben Murdoch <benm@google.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- The target element of a Touch should be the target where that touch originated, not where it is now.
- https://bugs.webkit.org/show_bug.cgi?id=34585
-
- Currently the target of a touch is set to the resulting node of the hit test where the touch currently
- is. This does not match the behavior of iPhone or Android. This patch uses a hashmap on the EventHandler
- to keep track of the target element when a touch is first started. This target is then used as the target
- for subsequent touches with the same id. This matches observed behavior on iPhone and Android.
-
- Tests:
- fast/events/touch/touch-target.html: Added.
- fast/events/touch/basic-single-touch-events.html: Updated.
-
- * page/EventHandler.cpp:
- (WebCore::EventHandler::handleTouchEvent): Store the originating target element of a touch in a hashmap
- so that we can reuse that target for future events caused by that touch. This matches observed behavior
- on iPhone and Android.
- * page/EventHandler.h: Add hashmap as a member.
- * platform/PlatformTouchPoint.h:
- (WebCore::PlatformTouchPoint::id): Store the touch point id as unsigned.
- * platform/qt/PlatformTouchPointQt.cpp:
- (WebCore::PlatformTouchPoint::PlatformTouchPoint): Cast platform touch id from signed to unsigned. Qt API
- docs state that it will always be >= 0.
-
-2010-02-24 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Simon Fraser.
- Patch by Antonio Gomes <tonikitoo@webkit.org>
-
- Add a convenient center() method to IntRect
- https://bugs.webkit.org/show_bug.cgi?id=35346
-
- As it is a convenience method, and implemention is
- based on FloatRect's one, patch does not provide a
- layout test.
-
- * platform/graphics/IntRect.h:
- (WebCore::IntRect::center):
-
-2010-02-25 Andrey Kosyakov <caseq@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Fake workers implementation that simulates workers using iframe and timer,
- needed to support workers debugging. Also, a facility to inject scripts into
- inspected page upon load.
- https://bugs.webkit.org/show_bug.cgi?id=35148
-
- * WebCore.gypi:
- * WebCore.vcproj/WebCore.vcproj:
- * inspector/InspectorBackend.cpp:
- (WebCore::InspectorBackend::addScriptToEvaluateOnLoad):
- (WebCore::InspectorBackend::removeAllScriptsToEvaluateOnLoad):
- * inspector/InspectorBackend.h:
- * inspector/InspectorBackend.idl:
- * inspector/InspectorController.cpp:
- (WebCore::InspectorController::didCommitLoad):
- (WebCore::InspectorController::addScriptToEvaluateOnLoad):
- (WebCore::InspectorController::removeAllScriptsToEvaluateOnLoad):
- * inspector/InspectorController.h:
- * inspector/front-end/InjectedFakeWorker.js: Added.
- (InjectedFakeWorker.Worker):
- (InjectedFakeWorker.FakeWorker):
- (InjectedFakeWorker.FakeWorker.prototype.postMessage):
- (InjectedFakeWorker.FakeWorker.prototype.terminate):
- (InjectedFakeWorker.FakeWorker.prototype._onmessageWrapper):
- (InjectedFakeWorker.FakeWorker.prototype._dispatchMessage):
- (InjectedFakeWorker.FakeWorker.prototype._handleException):
- (InjectedFakeWorker.FakeWorker.prototype._buildWorker):
- (InjectedFakeWorker.FakeWorker.prototype._setupWorkerContext.handler):
- (InjectedFakeWorker.FakeWorker.prototype._setupWorkerContext):
- (InjectedFakeWorker.FakeWorker.prototype._importScripts):
- (InjectedFakeWorker.FakeWorker.prototype._loadScript):
- (InjectedFakeWorker.URL):
- (InjectedFakeWorker.URL.prototype.urlRegEx.split):
- (InjectedFakeWorker.URL.prototype.mockLocation):
- (InjectedFakeWorker.URL.prototype.completeWith):
- (InjectedFakeWorker.URL.prototype.sameOrigin):
- (InjectedFakeWorker.DOMCoreException.formatError):
- (InjectedFakeWorker.DOMCoreException):
- (InjectedFakeWorker.noop):
- * inspector/front-end/InspectorBackendStub.js:
- (.WebInspector.InspectorBackendStub.prototype.setInjectedScriptSource):
- (.WebInspector.InspectorBackendStub.prototype.addScriptToEvaluateOnLoad):
- (.WebInspector.InspectorBackendStub.prototype.removeAllScriptsToEvaluateOnLoad):
- * inspector/front-end/WebKit.qrc:
- * inspector/front-end/inspector.html:
-
-2010-02-24 Nicholas Young <nicholas.young@nokia.com>
-
- Reviewed by Eric Carlson.
-
- Add mediaPlayerOwningDocument() to MediaPlayerClient.
- https://bugs.webkit.org/show_bug.cgi?id=35374
-
- No new tests. These are interface changes only.
-
- * html/HTMLMediaElement.cpp:
- (WebCore::HTMLMediaElement::mediaPlayerOwningDocument): Implementation for media element.
- * html/HTMLMediaElement.h:
- * platform/graphics/MediaPlayer.h:
- (WebCore::MediaPlayerClient::mediaPlayerOwningDocument): New virtual method.
-
-2010-02-24 Andreas Kling <andreas.kling@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Optimized Font::normalizeSpaces() by caching the String::characters()
- instead of repeatedly calling operator[]
-
- https://bugs.webkit.org/show_bug.cgi?id=35336
-
- * platform/graphics/Font.cpp:
- (WebCore::Font::normalizeSpaces):
-
-2010-02-24 Jungshik Shin <jshin@chromium.org>
-
- Reviewed by David Levin.
-
- [Chromium] Traditional Chinese Chrome on Windows should use PMingLiu instead of Simsun for Han characters
- https://bugs.webkit.org/show_bug.cgi?id=35319
-
- No visible change in the layout test.
-
- * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
- (WebCore::):
-
-2010-02-24 Anthony Ricaud <rik@webkit.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: Reduce the timer to show the eval popover
- https://bugs.webkit.org/show_bug.cgi?id=35344
-
- * inspector/front-end/SourceFrame.js:
- (WebInspector.SourceFrame.prototype._mouseMove):
-
-2010-02-24 Jay Campan <jcampan@google.com>
-
- Reviewed by David Levin.
-
- Don't show the autofill popup when the input text is disabled or read only.
-
- Test: manual-tests/chromium/no-autofill-on-readonly.html
-
- https://bugs.webkit.org/show_bug.cgi?id=35129
-
- * src/EditorClientImpl.cpp:
- (WebKit::EditorClientImpl::autofill):
- * manual-tests/chromium/no-autofill-on-readonly.html: Added.
-
-2010-02-24 Dominic Mazzoni <dmazzoni@chromium.org>
-
- Reviewed by Jeremy Orlow.
-
- Wraps includes of SVG headers so that it's possible to
- compile the V8 bindings with SVG disabled, e.g. 'enable_svg=0'.
- https://bugs.webkit.org/show_bug.cgi?id=35345
-
- No new tests.
-
- * bindings/v8/V8DOMWrapper.cpp:
- * bindings/v8/V8Proxy.cpp:
- * bindings/v8/custom/V8CSSValueCustom.cpp:
- * bindings/v8/custom/V8DocumentCustom.cpp:
- * bindings/v8/custom/V8ElementCustom.cpp:
- * bindings/v8/custom/V8EventCustom.cpp:
- * bindings/v8/custom/V8SVGElementCustom.cpp:
-
-2010-02-24 Maciej Stachowiak <mjs@apple.com>
-
- Unreviewed build fix.
-
- Fix gtk build.
-
- Include JSC headers as runtime/ instead of JavaScriptCore/
-
- * bindings/js/JSDOMWrapper.h:
- * bindings/js/ScriptWrappable.h:
-
-2010-02-24 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Cache JavaScript wrappers inline in DOM nodes
- https://bugs.webkit.org/show_bug.cgi?id=35226
-
- <rdar://problem/7664202>
-
- 7.4% speedup on Dromaeo DOM Core tests.
- 2.3% speedup on Hixie DOM Core tests.
-
- This fixes the following things from the last attempt:
- - Now builds in both debug and release and passes all tests
- - Properly use a WeakGCPtr, not just a raw pointer, in ScriptWrappable
- - Properly look in the appropriate per-document or per-world map
- - Added an assert that would have caught any of the problems I found
- - Handle clearing the inline cache properly in all cases
-
- * bindings/js/JSDOMBinding.cpp:
- (WebCore::cacheDOMObjectWrapper): Adjust for name changes.
- (WebCore::forgetDOMNode): Clear wrapper pointer.
- (WebCore::cacheDOMNodeWrapper): Cache inline too if caching for normal world.
- * bindings/js/JSDOMBinding.h:
- (WebCore::Document::getWrapperCache): Inlined.
- (WebCore::domObjectWrapperMapFor): Renamed to start with lowercase. Moved to header to inline.
- * bindings/js/JSDOMWrapper.h: Added.
- (WebCore::DOMObject::DOMObject): Factored this out of JSDOMBinding.h to avoid include
- cycle. I think the class should be renamed, I picked a forward-looking header name because
- we already have a DOMObject.h
- * bindings/js/JSNodeCustom.cpp:
- (WebCore::createWrapperInline): Renamed version of original createWrapper.
- (WebCore::createWrapper): Call createWrapperInline. Out-of-line version.
- (WebCore::toJSNewlyCreated): Call createWrapperInline instead of createWrapper.
- * bindings/js/JSNodeCustom.h: Added.
- (WebCore::getCachedDOMNodeWrapper): Moved from JSDOMBinding.cpp and moved here,
- so it could inline everywhere without creating an include cycle. Consider inline
- cache.
- (WebCore::toJS): Moved to header to inline.
- * bindings/js/ScriptWrappable.h:
- (WebCore::ScriptWrappable::ScriptWrappable): Implement this in the obvious
- way for JavaScriptCore. (Using a WeakGCPtr).
- (WebCore::ScriptWrappable::wrapper):
- (WebCore::ScriptWrappable::setWrapper):
- (WebCore::ScriptWrappable::clearWrapper):
- * bindings/scripts/CodeGeneratorJS.pm: Include CustomHeader heaaders
- in the header, not just the impl file, so they can add inlining.
- * dom/Node.idl: Add CustomHeader directive.
-
- Add new files to build.
-
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
-
-
-2010-02-24 Jochen Eisinger <jochen@chromium.org>
-
- Reviewed by Jeremy Orlow.
-
- Expose Database object of currently active task on the database thread
- https://bugs.webkit.org/show_bug.cgi?id=35341
-
- * storage/DatabaseThread.cpp:
- (WebCore::DatabaseThread::DatabaseThread):
- (WebCore::DatabaseThread::databaseThread):
- * storage/DatabaseThread.h:
- (WebCore::DatabaseThread::getDatabaseOfCurrentTask):
-
-2010-02-24 Nicholas Young <nicholas.young@nokia.com>
+ [DRT/Chromium] Enable 3D_CANVAS, FILTERS, METER_TAG and PROGRESS_TAG
+ https://bugs.webkit.org/show_bug.cgi?id=39652
- Reviewed by Eric Carlson.
+ * rendering/RenderTheme.cpp:
+ (WebCore::RenderTheme::paintMeter): Fix narrowPrecisionToFloat() usage.
- supportsMuting() should be an internal interface between MediaPlayer and MediaPlayerPrivate.
- https://bugs.webkit.org/show_bug.cgi?id=35327
+2010-05-25 Darin Adler <darin@apple.com>
- No new tests. Refactoring Only.
+ Sort ".exp" files with the sort tool.
+ This makes later merging easier.
- * html/HTMLMediaElement.cpp:
- (WebCore::HTMLMediaElement::setMuted): Do not check supportsMuting()
- (WebCore::HTMLMediaElement::updateVolume): Set volume and muted
- * platform/graphics/MediaPlayer.cpp:
- (WebCore::MediaPlayer::setVolume): Check supportsMuting()
- (WebCore::MediaPlayer::setMuted): Check supportsMuting()
- * platform/graphics/MediaPlayer.h: Remove supportsMuting()
+ These Mac-specific files should probably move into a subdirectory
+ at some point.
-2010-02-24 Adam Barth <abarth@webkit.org>
+ * WebCore.Inspector.exp: Sorted.
+ * WebCore.PluginHostProcess.exp: Removed blank line.
+ * WebCore.VideoProxy.exp: Sorted.
+ * WebCore.base.exp: Ditto.
- Reviewed by Darin Fisher.
-
- [Chromium API] Disambiguate allowJavaScript from didNotAllowScript
- https://bugs.webkit.org/show_bug.cgi?id=35205
-
- For clients that want to show a user interface element when JavaScript
- was blocked on a page, we need to disambiguate between querying the
- client for whether JavaScript is enabled from actually failing to
- execute some script.
-
- This patch adds a new FrameLoaderClient callback for when WebCore would
- like to execute JavaScript but fails to because JavaScript is disabled.
-
- This patch also touches every client of canExecuteScripts so they can
- indicate whether we should make this callback. I was hoping there was
- a better choke point, but my first two attempts were wrong in subtle
- ways. pkasting points out that this will be easy to screw up in the
- future, so it's better to make all the clients be explicit.
-
- * WebCore.PluginHostProcess.exp:
- * bindings/ScriptControllerBase.cpp:
- (WebCore::ScriptController::canExecuteScripts):
- (WebCore::ScriptController::executeScript):
- * bindings/js/JSEventListener.cpp:
- (WebCore::JSEventListener::handleEvent):
- * bindings/js/JSLazyEventListener.cpp:
- (WebCore::JSLazyEventListener::initializeJSFunction):
- * bindings/js/ScheduledAction.cpp:
- (WebCore::ScheduledAction::execute):
- * bindings/js/ScriptController.cpp:
- (WebCore::ScriptController::bindingRootObject):
- (WebCore::ScriptController::windowScriptNPObject):
- (WebCore::ScriptController::jsObjectForPluginElement):
- (WebCore::ScriptController::executeScriptInWorld):
- * bindings/js/ScriptController.h:
- (WebCore::):
- * bindings/js/ScriptControllerMac.mm:
- (WebCore::ScriptController::windowScriptObject):
- * bindings/js/ScriptDebugServer.cpp:
- (WebCore::ScriptDebugServer::setJavaScriptPaused):
- * bindings/js/ScriptEventListener.cpp:
- (WebCore::createAttributeEventListener):
- * bindings/js/ScriptState.cpp:
- (WebCore::scriptStateFromNode):
- * bindings/v8/ScriptController.cpp:
- (WebCore::ScriptController::windowScriptNPObject):
- (WebCore::ScriptController::createScriptObjectForPluginElement):
- * bindings/v8/ScriptController.h:
- (WebCore::):
- * bindings/v8/ScriptEventListener.cpp:
- (WebCore::createAttributeEventListener):
- * bindings/v8/V8Proxy.cpp:
- (WebCore::V8Proxy::retrieve):
- * dom/ScriptElement.cpp:
- (WebCore::ScriptElementData::evaluateScript):
- * dom/XMLTokenizerLibxml2.cpp:
- (WebCore::XMLTokenizer::startElementNs):
- * html/HTMLMediaElement.cpp:
- (WebCore::HTMLMediaElement::controls):
- * html/HTMLTokenizer.cpp:
- (WebCore::HTMLTokenizer::parseTag):
- (WebCore::HTMLTokenizer::processToken):
- * inspector/InspectorController.cpp:
- (WebCore::canPassNodeToJavaScript):
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::isProcessingUserGesture):
- (WebCore::FrameLoader::open):
- (WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds):
- (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
- * loader/FrameLoaderClient.h:
- (WebCore::FrameLoaderClient::didNotAllowScript):
-
-2010-02-24 Adam Barth <abarth@webkit.org>
+2010-05-25 Vangelis Kokkevis <vangelis@chromium.org>
Reviewed by Darin Fisher.
- Add call to FrameLoaderClient::allowPlugins everywhere arePluginsEnabled is called
- https://bugs.webkit.org/show_bug.cgi?id=34997
-
- If we want to let the FrameLoaderClient override arePluginsEnabled,
- then we need to call out to the FrameLoaderClient every time we read
- the setting.
-
- We don't have testing infrustructure for these changes, which is lame.
- I'm supposed to fix that in Bug 33991.
-
- * dom/DOMImplementation.cpp:
- (WebCore::DOMImplementation::createDocument):
- * loader/MainResourceLoader.cpp:
- (WebCore::MainResourceLoader::substituteMIMETypeFromPluginDatabase):
- * loader/PluginDocument.cpp:
- (WebCore::PluginTokenizer::writeRawData):
- * page/Page.cpp:
- (WebCore::Page::pluginData):
- * plugins/MimeType.cpp:
- (WebCore::MimeType::enabledPlugin):
-
-2010-02-24 James Robinson <jamesr@chromium.org>
-
- Reviewed by Dmitry Titov.
-
- Do not fire focus events while a modal dialog is up.
- https://bugs.webkit.org/show_bug.cgi?id=33962
-
- Modifies the FocusController to check the frame's page's defersLoading() flag before firing blur/focus events.
- This flag is set while a modal dialog (like a window.alert or window.confirm) is up. Firing the events causes
- assertion failures, since when the dialog is dismissed the PageGroupLoadDeferrer assumes that no script has run.
-
- Manual tests only as DumpRenderTree does not support modal dialogs
-
- * manual-tests/modal-dialog-blur-selfclose.html: Added.
- * manual-tests/modal-dialog-blur.html: Added.
- * page/FocusController.cpp:
- (WebCore::dispatchEventsOnWindowAndFocusedNode):
-
-2010-02-24 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Anders Carlsson.
-
- <rdar://problem/7018611> innerHTML applies meta/link/title tags from a detached html element
-
- Test: fast/parser/fragment-parser.html
-
- Ensure that fragment parsing has no side effects on the fragment’s owner
- document.
-
- * html/HTMLParser.cpp:
- (WebCore::HTMLParser::insertNode): Don’t call
- dispatchDocumentElementAvailable() for fragments.
- (WebCore::HTMLParser::handleError): Don’t copy attributes to the owner
- document’s <html> and <body> elements when a redundant <html> or <body>
- is encountered while parsing a fragment.
- (WebCore::HTMLParser::framesetCreateErrorCheck): Don’t change the owner
- document’s <body> element’s style when parsing a fragment.
- (WebCore::HTMLParser::createHead): Don’t attach the new <head> to the
- ownder document of a fragment.
-
-2010-02-24 David Levin <levin@chromium.org>
-
- Reviewed by Darin Adler.
-
- Need to create a CanvasSurface base class for HTMLCanvasElement.
- https://bugs.webkit.org/show_bug.cgi?id=35322
-
- This is an initial step in making the OffscreenCanvas object.
-
- No new functionality so no new tests.
-
- * GNUmakefile.am: Added CanvasSurface to the build.
- * WebCore.gypi: ditto
- * WebCore.pro: ditto
- * WebCore.vcproj/WebCore.vcproj: ditto
- * WebCore.xcodeproj/project.pbxproj: ditto
- * dom/CanvasSurface.cpp: Added.
- * dom/CanvasSurface.h: Added.
- * html/HTMLCanvasElement.h: Made HTMLCanvasElement inherit from CanvasSurface.
-
-2010-02-24 Peter Kasting <pkasting@google.com>
-
- Reviewed by Adam Barth.
-
- Fix regression in calculating an animated image's start time.
- https://bugs.webkit.org/show_bug.cgi?id=35115
-
- * platform/graphics/BitmapImage.cpp:
- (WebCore::BitmapImage::startAnimation):
-
-2010-02-24 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Simon Fraser.
-
- <rdar://problem/7682827> Text with :first-letter lingers after being removed
-
- Test: fast/css/first-letter-set-text.html
-
- * rendering/RenderTextFragment.cpp:
- (WebCore::RenderTextFragment::setTextInternal): Set this back as the
- text node’s renderer, as removing the first letter has resets the node’s
- renderer.
-
-2010-02-24 Ariya Hidayat <ariya.hidayat@gmail.com>
+ Removing the persistent GraphicsContext from LayerChromium to save on
+ memory and simplify code. Layers now create a temporary context, draw into
+ it, update the GL texture and discard the context.
+ https://bugs.webkit.org/show_bug.cgi?id=39640
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Faster cut-off for rectangle fill without shadow.
- https://bugs.webkit.org/show_bug.cgi?id=35337
-
- * platform/graphics/qt/GraphicsContextQt.cpp:
-
-2010-02-24 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by nobody, build fix.
-
- [Qt] Corrects build break of QtLauncher on Windows.
- The VERSION variable was not set anymore while building in trunk.
-
- * WebCore.pro:
-
-2010-02-24 Alexander Pavlov <apavlov@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: Activate/Deactivate breaks does not look consistent with rest of the toolbar.
-
- Fix style and add the new images to the related file sets.
- https://bugs.webkit.org/show_bug.cgi?id=35307
-
- * WebCore.gypi:
- * inspector/front-end/Images/deactivateBreakpointsButtonGlyph.png:
- * inspector/front-end/Images/deactivateBreakpointsDisabledButtonGlyph.png:
- * inspector/front-end/WebKit.qrc:
- * inspector/front-end/inspector.css:
-
-2010-02-24 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Get rid of an extra call to
- setNPWindowIfNeeded. updatePluginWidget already calls this for us
- if needed.
-
- * plugins/gtk/PluginViewGtk.cpp:
- (WebCore::PluginView::platformStart):
-
-2010-02-24 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Try to sanitize a bit the geometry management of plugins.
-
- Stop doing contradictory things in updatePluginWidget (we were at
- the same time pretending the geometry setting was delayed until
- ::paint and setting the geometry not once but twice) and just set
- it any time the windowRect or clipRect for the plugin has changed.
-
- This is closer to what the Mac port does, and fixes instances of
- the plugins not being drawn until the window is resized or
- scrolled. Other than that all manual and layout tests seems to
- still work.
-
- * plugins/gtk/PluginViewGtk.cpp:
- (WebCore::PluginView::updatePluginWidget):
- (WebCore::PluginView::setNPWindowIfNeeded):
-
-2010-02-23 Geoff Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Simplify animation lifetime handling. Previously we manually
- determined whether our base element was safe when we unregistered
- our listener, now we simply ensure that the base element itself
- registers and unregisters the animation listener.
-
- * svg/animation/SVGSMILElement.cpp:
- (WebCore::ConditionEventListener::create):
- (WebCore::ConditionEventListener::disconnectAnimation):
- (WebCore::ConditionEventListener::ConditionEventListener):
- (WebCore::ConditionEventListener::operator==):
- (WebCore::ConditionEventListener::handleEvent):
- (WebCore::SVGSMILElement::eventBaseFor):
- (WebCore::SVGSMILElement::connectConditions):
- (WebCore::SVGSMILElement::disconnectConditions):
- * svg/animation/SVGSMILElement.h:
-
-2010-02-23 Dmitry Titov <dimich@chromium.org>
-
- Reviewed by David Levin.
-
- Chromium: Use V8::TerminateExecution to actually terminate workers.
- https://bugs.webkit.org/show_bug.cgi?id=35137
-
- Test: existing fast/workers/stress-js-execution.html which is currently failing
- on Mac and Linux bots for Chromium.
-
- * bindings/v8/WorkerContextExecutionProxy.cpp:
- (WebCore::WorkerContextExecutionProxy::evaluate):
- * bindings/v8/WorkerScriptController.cpp:
- (WebCore::WorkerScriptController::forbidExecution):
-
-2010-02-23 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Simon Fraser.
-
- REGRESSION: WebKit crashes when deleting images on blogger.com (34957)
- <rdar://problem/7651935>
- https://bugs.webkit.org/show_bug.cgi?id=34957
-
- Fixing a regression introduced with revision 53085. Anchor elements should not be considered
- in editable content when calculating the position in the parent before the node.
-
- Test: editing/execCommand/delete-image-in-anchor.html
-
- * dom/Position.cpp:
- (WebCore::Position::getInlineBoxAndOffset):
-
-2010-02-23 Tony Chang <tony@chromium.org>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=34634
- Pasting a list into the middle of another list item should split the target
- list item into two separate list items. This matches the behavior in other
- browsers.
-
- Test: editing/pasteboard/paste-list-004.html
-
- * editing/ReplaceSelectionCommand.cpp:
- (WebCore::ReplaceSelectionCommand::insertAsListItems):
-
-2010-02-23 Brady Eidson <beidson@apple.com>
-
- Reviewed by Tim Hatcher and Pavel Feldman.
-
- Regression (r55107) - WebInspector docking is busted.
- https://bugs.webkit.org/show_bug.cgi?id=35274
-
- * inspector/InspectorController.cpp:
- (WebCore::InspectorController::canAttachWindow): Use the minimum height for this calculation,
- not the preferred height.
- (WebCore::InspectorController::attachWindow): attachWindow() shouldn't decide the policy, as it is
- often called partway through the show or dock procedure after some of the initial conditions have
- changed. Let the front-end itself and the InspectorClient's make the policy decision at the start
- of the show/dock operation.
-
- * inspector/InspectorFrontendHost.cpp:
- (WebCore::InspectorFrontendHost::canAttachWindow):
- * inspector/InspectorFrontendHost.h:
- * inspector/InspectorFrontendHost.idl:
-
- * inspector/front-end/inspector.js:
- (WebInspector.toggleAttach): Before attaching, ask the front-end-host if attaching is allowed.
+ * platform/graphics/chromium/GraphicsLayerChromium.cpp:
+ (WebCore::GraphicsLayerChromium::updateLayerDrawsContent):
+ * platform/graphics/chromium/LayerChromium.cpp:
+ (WebCore::LayerChromium::LayerChromium):
+ (WebCore::LayerChromium::~LayerChromium):
+ (WebCore::LayerChromium::setLayerRenderer):
+ (WebCore::LayerChromium::updateTextureContents):
+ (WebCore::LayerChromium::setContents):
+ (WebCore::LayerChromium::setBounds):
+ (WebCore::LayerChromium::setNeedsDisplay):
+ * platform/graphics/chromium/LayerChromium.h:
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::~LayerRendererChromium):
+ (WebCore::LayerRendererChromium::setRootLayerCanvasSize):
+ (WebCore::LayerRendererChromium::drawLayers):
+ (WebCore::LayerRendererChromium::assignTextureForLayer):
+ (WebCore::LayerRendererChromium::compositeLayersRecursive):
+ * platform/graphics/chromium/LayerRendererChromium.h:
+ (WebCore::LayerRendererChromium::rootLayerGraphicsContext):
-2010-02-23 Mark Rowe <mrowe@apple.com>
+2010-05-24 Kenneth Rohde Christiansen <kenneth@webkit.org>
- Reviewed by Geoff Garen.
+ Reviewed by Simon Hausmann.
- <http://webkit.org/b/35287> ImageSourceCG::frameIsCompleteAtIndex returns false for all frames until image has completed loading
+ [Qt] Make text filling work together with text stroke.
- CGImageSourceGetStatusAtIndex claims that all frames of a multi-frame image are incomplete when we've not yet received the
- complete data for an image that is using an incremental data source (<rdar://problem/7679174>). We work around this by
- special-casing all frames except the last in an image and treating them as complete if they are present and reported as
- being incomplete. We do this on the assumption that loading new data can only modify the existing last frame or append new
- frames. The last frame is only treated as being complete if the image source reports it as such. This ensures that it is
- truly the last frame of the image rather than just the last that we currently have data for.
+ When the text has stroke a new QPen was set, overriding the pen
+ set for text filling. This patch fixes that by storing the two
+ pens and using where appropriate.
- * platform/graphics/cg/ImageSourceCG.cpp:
- (WebCore::ImageSource::frameIsCompleteAtIndex):
+ * platform/graphics/qt/FontQt.cpp:
+ (WebCore::Font::drawComplexText):
-2010-02-23 Enrica Casucci <enrica@apple.com>
+2010-05-17 Antonio Gomes <tonikitoo@webkit.org>
Reviewed by Darin Adler.
- Crash in createContextualFragment when inserting a list in a non HTML document.
- <rdar://problem/7666670>
- https://bugs.webkit.org/show_bug.cgi?id=35305
-
- createFragmentFromMarkup did not handle correctly the case where documentElement is
- not an HTMLElement. The static cast to HTMLElement was causing createContextualFragment to
- crash.
-
- Test: editing/execCommand/insert-list-xml.xhtml
-
- * dom/Element.cpp:
- (WebCore::Element::createContextualFragment): Added.
- * dom/Element.h: Added createContextualFragment virtual function.
- * editing/markup.cpp:
- (WebCore::createFragmentFromMarkup): Removed static cast to HTMLElement.
- * html/HTMLElement.cpp:
- (WebCore::HTMLElement::createContextualFragment): Modified to perform only checks
- that are specific for an HTMLElement object. The rest of the logic has been moved to the
- corresponding method in the Element class.
-
-2010-02-23 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam Roben.
-
- WebCore should stop throwing away the CGImageSourceRef on Windows to improve GIF performance
- https://bugs.webkit.org/show_bug.cgi?id=35309
-
- * platform/graphics/cg/ImageSourceCG.cpp:
- (WebCore::ImageSource::clear):
-
-2010-02-23 Leandro Pereira <leandro@profusion.mobi>
-
- Reviewed by Gustavo Noronha Silva.
-
- Changes references of GOwnPtr to reflect their new place.
- http://webkit.org/b/35084
-
- * WebCore/platform/KURL.cpp
- * WebCore/platform/TextEncoding.cpp:
- * WebCore/platform/text/gtk/TextBreakIteratorGtk.cpp:
- * WebCore/platform/text/gtk/TextCodecGtk.cpp:
-
-2010-02-23 Brady Eidson <beidson@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- HTTP 307 after a 303 after a POST re-sends POST data from the original request.
- <rdar://problem/7390251> and https://bugs.webkit.org/show_bug.cgi?id=31410
-
- Test: http/tests/loading/307-after-303-after-post.html
+ Add an optional "starting node' parameter to scrollRecursively and scrollOverflow of EventHandler
+ https://bugs.webkit.org/show_bug.cgi?id=39217
- Remember the last HTTP method send out during a redirect chain for a resource handle:
- * platform/network/ResourceHandle.cpp:
- (WebCore::ResourceHandle::lastHTTPMethod):
- * platform/network/ResourceHandle.h:
- * platform/network/ResourceHandleInternal.h:
- (WebCore::ResourceHandleInternal::ResourceHandleInternal):
-
- Refer to the last HTTP method used instead of the original method:
- * platform/network/cf/ResourceHandleCFNet.cpp:
- (WebCore::willSendRequest):
- (WebCore::ResourceHandle::willSendRequest):
- * platform/network/mac/ResourceHandleMac.mm:
- (WebCore::ResourceHandle::willSendRequest):
- (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
-
-2010-02-23 Crystal Zhang <haizhang@rim.com>
-
- Unreviewed build fix.
-
- Fix build error when enable plugin proxy: 'toRenderEmbeddedObject' identifier not found.
- As RenderEmbeddedObject inherits RenderPartObject and 'toRenderEmbeddedObject' belongs
- to former one.
-
- * html/HTMLMediaElement.cpp:
-
-2010-02-23 Evan Martin <evan@chromium.org>
-
- Reviewed by Jeremy Orlow.
-
- [chromium] fix previous SVG-disabling patch
- https://bugs.webkit.org/show_bug.cgi?id=35298
-
- * WebCore.gypi: rename variable
- * WebCore.gyp/WebCore.gyp: actually use the variable
-
-2010-02-23 Michael Lotz <mmlr@mlotz.ch>
-
- Reviewed by David Levin.
-
- [Haiku] Fix conversion from BString to String
- https://bugs.webkit.org/show_bug.cgi?id=35082
-
- The previous patch to this file was broken (sorry). First of all,
- the conversion from UTF8 was accidentally removed. Second, for
- empty strings, we need to point the implementation at StringImpl::empty().
-
- Covered by existing tests.
-
- * platform/text/haiku/StringHaiku.cpp:
- (WebCore::String::String):
-
-2010-02-23 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Eric Carlson.
-
- [Qt] Prevent the media backend from handling non-audio or -video mime types
-
- * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
-
-2010-02-23 Evan Martin <evan@chromium.org>
-
- Reviewed by Jeremy Orlow.
-
- [chromium] Allow building without SVG
- https://bugs.webkit.org/show_bug.cgi?id=31522
-
- * WebCore.gyp/WebCore.gyp, WebCore.gypi: test enable_svg flag.
- * bindings/v8/custom/V8SVGDocumentCustom.cpp,
- bindings/v8/custom/V8SVGPathSegCustom.cpp: test ENABLE(SVG).
-
-2010-02-23 Leandro Pereira <leandro@profusion.mobi>
-
- Reviewed by Gustavo Noronha Silva.
-
- Fixes references to GOwnPtr and GRefPtr so the GTK+ port builds
- again.
- http://webkit.org/b/35084
-
- * WebCore/platform/gtk/DataObjectGtk.h:
- * WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
-
-2010-02-23 Ariya Hidayat <ariya.hidayat@gmail.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Faster cut-off for rectangle drawing without shadow.
- https://bugs.webkit.org/show_bug.cgi?id=35267
-
- * platform/graphics/qt/GraphicsContextQt.cpp:
- (WebCore::GraphicsContext::drawRect):
-
-2010-02-23 Steve Block <steveblock@google.com>
-
- Reviewed by Jeremy Orlow.
-
- Removes redundant Settings::setGeolocationEnabled and Settings::geolocationEnabled
- https://bugs.webkit.org/show_bug.cgi?id=35242
-
- No new tests, removing dead code only.
-
- * page/Settings.cpp:
- * page/Settings.h:
-
-2010-02-23 Ben Murdoch <benm@google.com>
-
- Reviewed by Eric Seidel.
-
- pageX/Y co-ordinates of TouchEvent should be 0,0
- https://bugs.webkit.org/show_bug.cgi?id=35239
-
- The co-ordinates attached to a touch event are not used for tracking touch motion, rather the co-ordinates attached to Touches within the touch event should be used. Set the co-ordinates on the event itself to 0 to avoid confusion and match observed iPhone behavior.
+ It would be usefull if scrollOverflow and scrollRecursively methods of EventHandler
+ could receive a parameter to specify where to start scrolling from. Currently they
+ start scrolling from either the current focused node or the node where mouse last
+ pressed on. Patch proposes an aditional starting point as an optional parameter.
+ Since it is optional, all call sites can remain as are, and if a Null node is passed
+ in, both methods work as previously.
* page/EventHandler.cpp:
- (WebCore::EventHandler::handleTouchEvent): Set the pageX/Y and screenX/Y co-ordinates attached to the touch event to 0,0 to match observed behavior on the iPhone.
- * page/EventHandler.h: Remove now unused members m_firstTouchScreenPos and m_firstTouchPagePos.
-
-2010-02-23 Stephan Aßmus <superstippi@gmx.de>
-
- Reviewed by Eric Seidel.
-
- [Haiku] Various improvements to EventHandlerHaiku.
- https://bugs.webkit.org/show_bug.cgi?id=34685
-
- Covered by existing tests.
-
- Fix the build by not including PlatformScrollBar.h.
-
- * page/haiku/EventHandlerHaiku.cpp:
- (WebCore::isKeyboardOptionTab):
- Use the correct keycode for tab keys.
- (WebCore::EventHandler::focusDocumentView):
- Use proper locking. In any case, Haiku doesn't append platform
- widgets to WebCore widgets. But if it did, this implementation
- would be correct.
- (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
- Implemented.
- (WebCore::EventHandler::eventActivatedView):
- Removed notImplemented() and added note.
- (WebCore::EventHandler::passMousePressEventToSubframe):
- Implemented.
- (WebCore::EventHandler::passMouseMoveEventToSubframe):
- Implemented.
- (WebCore::EventHandler::passMouseReleaseEventToSubframe):
- Implemented.
- (WebCore::EventHandler::accessKeyModifiers):
- Added note.
-
-2010-02-23 Tony Chang <tony@chromium.org>
-
- Not reviewed.
- Revert r55135 because the layout test is failing on all the bots.
- https://bugs.webkit.org/show_bug.cgi?id=34634
-
- * editing/ReplaceSelectionCommand.cpp:
- (WebCore::ReplaceSelectionCommand::insertAsListItems):
-
-2010-02-17 Steve Block <steveblock@google.com>
-
- Reviewed by Ariya Hidayat.
-
- Adds cache to store Geolocation positions between browser sessions.
- https://bugs.webkit.org/show_bug.cgi?id=34084
-
- This is required to fully implement the Geolocation maximumAge property.
- See Bug 30676.
-
- No new tests, will add tests for maximumAge once complete.
-
- * Android.mk: Modified. Added GeolocationPositionCache.cpp
- * GNUmakefile.am: Modified. Added GeolocationPositionCache.[cpp|h]
- * WebCore.gypi: Modified. Added GeolocationPositionCache.[cpp|h]
- * WebCore.pro: Modified. Added GeolocationPositionCache.[cpp|h]
- * WebCore.vcproj/WebCore.vcproj: Modified. Added GeolocationPositionCache.[cpp|h]
- * WebCore.xcodeproj/project.pbxproj: Modified. Added GeolocationPositionCache.[cpp|h]
- * page/GeolocationPositionCache.cpp: Added.
- (WebCore::GeolocationPositionCache::GeolocationPositionCache):
- (WebCore::GeolocationPositionCache::~GeolocationPositionCache):
- (WebCore::GeolocationPositionCache::setCachedPosition):
- (WebCore::GeolocationPositionCache::cachedPosition):
- (WebCore::GeolocationPositionCache::setDatabasePath):
- (WebCore::GeolocationPositionCache::readFromDB):
- (WebCore::GeolocationPositionCache::writeToDB):
- * page/GeolocationPositionCache.h: Added.
-
-2010-02-23 Yuta Kitamura <yutak@chromium.org>
-
- Reviewed by Dan Bernstein.
-
- Fix alignment of vertical-align: text-bottom inside an inline-block.
-
- This patch is based on a fix provided by Takahito Hirano.
-
- display: inline-block + vertical-align: text-bottom causes misalignment.
- https://bugs.webkit.org/show_bug.cgi?id=30846
-
- Test: fast/inline-block/inline-block-vertical-align-2.html
-
- * rendering/RenderBoxModelObject.cpp:
- (WebCore::RenderBoxModelObject::verticalPosition): Fixed vpos calculation.
- We cannot cut corners for inline blocks, since they may have their own
- text metrics.
-
-2010-02-23 Steve Block <steveblock@google.com>
-
- Reviewed by David Levin.
-
- Sets default values of V8 runtime enabler flags to match behavior with JSC
- https://bugs.webkit.org/show_bug.cgi?id=35095
-
- No new tests, modifies a Chromium feature only.
-
- * bindings/generic/RuntimeEnabledFeatures.cpp: Modified. Sets appcache and geolocation flag defaults to 'on'
- * storage/Database.cpp: Modified. Sets database flag default to 'on'.
-
-2010-02-23 Stephan Aßmus <superstippi@gmx.de>
-
- Reviewed by Eric Seidel.
-
- [Haiku] Fix various issues in keyboard event generation.
- https://bugs.webkit.org/show_bug.cgi?id=34685
-
- Covered by existing tests.
-
- Fixed backspace keycode.
- Fixed using the appropriate fields from the Haiku event for mapping
- to the VK_* codes and added mapping a great deal more codes.
- Added extraction of modifier key flags.
- Completed implementation of disambiguateKeyDownEvent()
- Implemented currentCapsLockState().
-
- * platform/haiku/PlatformKeyboardEventHaiku.cpp:
- (WebCore::keyIdentifierForHaikuKeyCode):
- (WebCore::windowsKeyCodeForKeyEvent):
- (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
- (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
- (WebCore::PlatformKeyboardEvent::currentCapsLockState):
-
-2010-02-23 Steve Block <steveblock@google.com>
+ (WebCore::EventHandler::scrollOverflow):
+ (WebCore::EventHandler::scrollRecursively):
+ * page/EventHandler.h:
- Reviewed by Darin Adler.
+2010-05-25 Yury Semikhatsky <yurys@chromium.org>
- Adds Client::cancelGeolocationPermissionRequestForFrame and ChromeClient::cancelGeolocationPermissionRequestForFrame
- https://bugs.webkit.org/show_bug.cgi?id=34962
+ Reviewed by Timothy Hatcher.
- These methods are required so that a Geolocation object can cancel an
- asynchronous permission request. This allows the chrome client to cancel
- any UI it is showing for the permission request.
+ Web Inspector: localize heap graph strings.
- No new tests, as this is for the purposes of browser UI only.
+ https://bugs.webkit.org/show_bug.cgi?id=39674
- * loader/EmptyClients.h: Modified
- (WebCore::EmptyChromeClient::cancelGeolocationPermissionRequestForFrame): Added
- * page/Chrome.cpp: Modified.
- (WebCore::Chrome::cancelGeolocationPermissionRequestForFrame): Added
- * page/Chrome.h: Modified.
- * page/ChromeClient.h: Modified.
- (WebCore::ChromeClient::cancelGeolocationPermissionRequestForFrame): Added
- * page/Geolocation.cpp: Modified.
- (WebCore::Geolocation::disconnectFrame): Modified. Call cancelGeolocationPermissionRequestForFrame
+ * English.lproj/localizedStrings.js:
-2010-02-23 Tony Chang <tony@chromium.org>
+2010-05-25 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
- https://bugs.webkit.org/show_bug.cgi?id=34634
- Pasting a list into the middle of another list item should split the target
- list item into two separate list items. This matches the behavior in other
- browsers.
+ Switch HTML parsing benchmark to use document.write instead of innerHTML
+ https://bugs.webkit.org/show_bug.cgi?id=39661
- Test: editing/pasteboard/paste-list-004.html
+ We'd like to exercise the main parsing pipeline instead of the fragment
+ parsing pipeline.
- * editing/ReplaceSelectionCommand.cpp:
- (WebCore::ReplaceSelectionCommand::insertAsListItems):
+ * benchmarks/parser/html-parser.html:
-2010-02-23 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+2010-05-25 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
Reviewed by Laszlo Gombos.
- [Qt] Correct build problems while building QtWebKit inside Qt.
- https://bugs.webkit.org/show_bug.cgi?id=34975
-
- * WebCore.pro: Change the condition !standalone_package to !QTDIR_build
-
-2010-02-23 Noam Rosenthal <noam.rosenthal@nokia.com>
+ [Qt] Running with accelerated compositing enabled sometimes result in a crash
+ https://bugs.webkit.org/show_bug.cgi?id=39609
- Reviewed by Ariya Hidayat.
-
- [Qt] Connect video with accelerated compositing
- https://bugs.webkit.org/show_bug.cgi?id=35276
-
- MediaControlPrivate and GraphicsLayer are patched together via
- a shared PlatformLayer (QGraphicsItem). This patch makes sure that the
- QGraphicsVideoItem from MediaControl becomes part of the scene
- associsated with GraphicsLayer
-
- Test: http://double.co.nz/video_test/test1.html with AC turned on
+ Check if we have a scene before applying the workaround for
+ the QGraphicsScene bug where opacity change doesn't always have
+ immediate effect.
* platform/graphics/qt/GraphicsLayerQt.cpp:
- (WebCore::GraphicsLayerQtImpl::): mediaLayer member
- (WebCore::GraphicsLayerQtImpl::opaqueArea): video is opaque
- (WebCore::GraphicsLayerQtImpl::paint): don't paint video
- (WebCore::GraphicsLayerQtImpl::flushChanges): flush mediaLayer
- (WebCore::GraphicsLayerQt::setContentsToMedia): notify
- * platform/graphics/qt/GraphicsLayerQt.h: reimp setContentsToMedia
- * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
- (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): m_compositing
- (WebCore::MediaPlayerPrivate::paint): don't paint if compositing
- (WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged):
- reimp from MediaPlayerPrivateInterface to support AC
- (WebCore::MediaPlayerPrivate::platformLayer): ditto
- * platform/graphics/qt/MediaPlayerPrivateQt.h:
- (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering): ditto
-
-2010-02-23 Stephan Aßmus <superstippi@gmx.de>
-
- Reviewed by Eric Seidel.
-
- Fix various issues in PlatformWheelEventHaiku.
- https://bugs.webkit.org/show_bug.cgi?id=34685
-
- Covered by existing tests.
-
- Fixed coding style violations.
- Synced extracting the correct coordinates with Haiku WebKit implementation.
- Added extracting modifier key flags.
-
- * platform/haiku/PlatformWheelEventHaiku.cpp:
- (WebCore::PlatformWheelEvent::PlatformWheelEvent):
-
-2010-02-23 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Eric Seidel.
-
- Build fix for PluginView
- https://bugs.webkit.org/show_bug.cgi?id=35230
-
- No new tests, build fix only.
-
- * plugins/PluginView.cpp:
- * plugins/PluginView.h:
- * plugins/PluginViewNone.cpp:
-
-2010-02-23 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Port ScriptController::createScriptInstanceForWidget
- https://bugs.webkit.org/show_bug.cgi?id=34413
-
- * bindings/js/ScriptControllerBrew.cpp: Added.
- (WebCore::ScriptController::createScriptInstanceForWidget):
-
-2010-02-23 José Millán Soto <jmillan@igalia.com>
-
- Reviewed by Eric Seidel.
-
- [Gtk] Webkit crashes when using orca
- https://bugs.webkit.org/show_bug.cgi?id=35169
-
- Made webkit_accessible_text_get_caret_offset check if end selection
- node is null.
-
- * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
- (webkit_accessible_text_get_caret_offset):
-
-2010-02-22 Stephan Aßmus <superstippi@gmx.de>
-
- Reviewed by Eric Seidel.
-
- [Haiku] Implemented PopupMenu support.
- https://bugs.webkit.org/show_bug.cgi?id=35078
-
- Covered by existing tests.
-
- The implementation is currently very simple: Added a PopupMenuHaiku
- class that derives from a native BPopUpMenu. It attaches a BHandler
- derivative to the BApplication (WebCore main thread) which receives
- the item invokation and menu hidden events and informs the PopupMenuClient
- accordingly.
-
- * platform/PopupMenu.h:
- Changed type of m_menu for Haiku.
- * platform/haiku/PopupMenuHaiku.cpp:
- (WebCore::PopupMenuHandler::PopupMenuHandler):
- (WebCore::PopupMenuHandler::MessageReceived):
- (WebCore::PopupMenuHaiku::PopupMenuHaiku):
- (WebCore::PopupMenuHaiku::~PopupMenuHaiku):
- (WebCore::PopupMenuHaiku::show):
- (WebCore::PopupMenuHaiku::hide):
- (WebCore::PopupMenuHaiku::Hide):
- (WebCore::PopupMenu::PopupMenu):
- (WebCore::PopupMenu::~PopupMenu):
- Removed bogus code.
- (WebCore::PopupMenu::show):
- Implemented using new PopupMenuHaiku class.
- (WebCore::PopupMenu::hide):
- Implemented using new PopupMenuHaiku class.
- (WebCore::PopupMenu::updateFromElement):
- Implemented.
- (WebCore::PopupMenu::itemWritingDirectionIsNatural):
- Implemented according to Gtk port.
-
-2010-02-22 Stephan Aßmus <superstippi@gmx.de>
-
- Reviewed by Eric Seidel.
-
- Fix various issues in PlatformMouseEventHaiku.
- https://bugs.webkit.org/show_bug.cgi?id=34685
-
- Covered by existing tests.
-
- Mapping Haiku button constants (bit field) to WebCore buttons was broken.
- Extracting event time was broken (supposed to be in seconds).
- Wrong coordinate was being extracted, needs to be content local.
- Added extracting modifier key flags.
-
- * platform/haiku/PlatformMouseEventHaiku.cpp:
- (WebCore::PlatformMouseEvent::PlatformMouseEvent):
-
-2010-02-22 Stephan Aßmus <superstippi@gmx.de>
-
- Reviewed by Eric Seidel.
-
- [Haiku] Implement creating and filling platform gradients.
- https://bugs.webkit.org/show_bug.cgi?id=34683
-
- Covered by existing tests.
-
- * platform/graphics/Gradient.h:
- Typedef PlatformGradient to BGradient
- * platform/graphics/haiku/GradientHaiku.cpp:
- (WebCore::Gradient::platformDestroy):
- Delete the cached BGradient object.
- (WebCore::Gradient::platformGradient):
- Create a BGradient object according to the type of Gradient.
- Return the cached object.
- (WebCore::Gradient::fill):
- use BView API to fill with the platform gradient.
-
-2010-02-22 Stephan Aßmus <superstippi@gmx.de>
-
- Reviewed by Eric Seidel.
-
- Build fix for debug builds of GlyphPageTreeNode.cpp
- https://bugs.webkit.org/show_bug.cgi?id=34528
-
- Covered by existing tests.
-
- * platform/graphics/GlyphPageTreeNode.cpp:
- include <stdio.h> since printf() is used if NDEBUG is not defined.
-
-2010-02-22 Nate Chapin <japhet@chromium.org>
-
- Unreviewed, Chromium build fix.
-
- Add special case in CodeGeneratorV8.pm for named getters for html plugin-related elements.
-
- CodeGeneratorV8.pm was relying on HasOverridingNameGetter to hint
- that a custom named getter was needed. That hint was removed in
- http://trac.webkit.org/changeset/55104.
-
- * bindings/scripts/CodeGeneratorV8.pm:
-
-2010-02-22 Alexey Proskuryakov <ap@apple.com>
-
- Rubber-stamped by Geoff Garen.
-
- Rename RuntimeObjectImp to RuntimeObject.
-
- * WebCore.PluginHostProcess.exp:
- * bindings/js/JSPluginElementFunctions.cpp:
- (WebCore::getRuntimeObject):
- (WebCore::runtimeObjectPropertyGetter):
- (WebCore::runtimeObjectCustomGetOwnPropertySlot):
- (WebCore::runtimeObjectCustomGetOwnPropertyDescriptor):
- (WebCore::runtimeObjectCustomPut):
- * bindings/objc/WebScriptObject.mm:
- (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
- * bridge/c/c_utility.cpp:
- (JSC::Bindings::convertValueToNPVariant):
- * bridge/jni/jni_jsobject.mm:
- (JavaJSObject::convertValueToJObject):
- * bridge/jni/jsc/JNIUtilityPrivate.cpp:
- (JSC::Bindings::convertValueToJValue):
- * bridge/jsc/BridgeJSC.cpp:
- (JSC::Bindings::Instance::createRuntimeObject):
- (JSC::Bindings::Instance::newRuntimeObject):
- * bridge/jsc/BridgeJSC.h:
- * bridge/objc/objc_runtime.mm:
- (JSC::Bindings::callObjCFallbackObject):
- * bridge/qt/qt_instance.cpp:
- (JSC::Bindings::QtRuntimeObject::markChildren):
- (JSC::Bindings::):
- (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
- (JSC::Bindings::QtInstance::getInstance):
- (JSC::Bindings::QtInstance::newRuntimeObject):
- * bridge/qt/qt_instance.h:
- * bridge/qt/qt_pixmapruntime.cpp:
- (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
- (JSC::Bindings::):
- (JSC::Bindings::QtPixmapInstance::variantFromObject):
- (JSC::Bindings::QtPixmapInstance::createRuntimeObject):
- * bridge/qt/qt_runtime.cpp:
- (JSC::Bindings::valueRealType):
- * bridge/runtime_method.cpp:
- (JSC::callRuntimeMethod):
- * bridge/runtime_object.cpp:
- (JSC::RuntimeObject::RuntimeObject):
- (JSC::RuntimeObject::~RuntimeObject):
- (JSC::RuntimeObject::invalidate):
- (JSC::RuntimeObject::fallbackObjectGetter):
- (JSC::RuntimeObject::fieldGetter):
- (JSC::RuntimeObject::methodGetter):
- (JSC::RuntimeObject::getOwnPropertySlot):
- (JSC::RuntimeObject::getOwnPropertyDescriptor):
- (JSC::RuntimeObject::put):
- (JSC::RuntimeObject::deleteProperty):
- (JSC::RuntimeObject::defaultValue):
- (JSC::callRuntimeObject):
- (JSC::RuntimeObject::getCallData):
- (JSC::callRuntimeConstructor):
- (JSC::RuntimeObject::getConstructData):
- (JSC::RuntimeObject::getOwnPropertyNames):
- (JSC::RuntimeObject::throwInvalidAccessError):
- * bridge/runtime_object.h:
- * bridge/runtime_root.cpp:
- (JSC::Bindings::RootObject::invalidate):
- (JSC::Bindings::RootObject::addRuntimeObject):
- (JSC::Bindings::RootObject::removeRuntimeObject):
- * bridge/runtime_root.h:
-
-2010-02-19 Peter Kasting <pkasting@google.com>
-
- Reviewed by Eric Seidel.
-
- Avoid recursion when trying to get the size of a PNG; it's unnecessary
- and in the worst case can lead to heap corruption.
- https://bugs.webkit.org/show_bug.cgi?id=35167
-
- Test: fast/images/bad-png.html
-
- * platform/image-decoders/png/PNGImageDecoder.cpp:
- (WebCore::PNGImageReader::decode):
-
-2010-02-22 Brady Eidson <beidson@apple.com>
-
- Reviewed by Tim Hatcher.
-
- Disable WebView docking to views that are too small.
- <rdar://problem/7248409> and https://bugs.webkit.org/show_bug.cgi?id=35254
-
- * WebCore.base.exp:
- * inspector/InspectorController.cpp:
- (WebCore::InspectorController::canAttachWindow): Provide a utility for WebKits to make a showWindow()
- decision based on if attachment would be allowed or not.
- (WebCore::InspectorController::attachWindow): Don't attach if the view is too small to attach to.
- * inspector/InspectorController.h:
-
-2010-02-22 Alexey Proskuryakov <ap@apple.com>
-
- Build fix.
-
- * WebCore.base.exp: Export Instance::newRuntimeObject, it's virtual!
-
-2010-02-22 Alexey Proskuryakov <ap@apple.com>
-
- Undo a small part of the previous commit.
-
- * bridge/runtime_method.cpp: (JSC::callRuntimeMethod): Let's keep the instance local
- variable as RefPtr for safety.
-
-2010-02-22 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=35260
- Eliminate __apple_runtime_object
-
- No change in functionality, so no tests.
-
- * WebCore.base.exp: Don't export Instance::newRuntimeObject, WebKit doesn't need it.
-
- * bindings/js/JSHTMLAppletElementCustom.cpp:
- * bindings/js/JSHTMLEmbedElementCustom.cpp:
- * bindings/js/JSHTMLObjectElementCustom.cpp:
- * html/HTMLAppletElement.idl:
- * html/HTMLEmbedElement.idl:
- * html/HTMLObjectElement.idl:
- These objects no longer need overriding name getters, as they no longer intercept the
- __apple_runtime_object property.
-
- * bindings/js/JSPluginElementFunctions.cpp:
- (WebCore::pluginInstance): This is no longer static. It was used for callPlugin() in
- this file, and now it's also used elsewhere when calling plug-in methods.
- (WebCore::runtimeObjectGetter): Removed. This function was only used by the intercepting
- name getters.
-
- * bindings/js/JSPluginElementFunctions.h: Export pluginInstance().
-
- * bindings/objc/WebScriptObject.mm:
- (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
- * bridge/runtime_method.cpp:
- (JSC::callRuntimeMethod):
- Take plug-in element's instance directly, without relying on fake attribute lookup.
- One change resulting from this is that RuntimeObjectImp may not be created in some cases -
- this code only needs an instance, but the old code had to pass the instance wrapped into
- RuntimeObjectImp.
-
-2010-02-22 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Hatcher.
-
- https://bugs.webkit.org/show_bug.cgi?id=35256
- HTMLSelectElement::setSelectedIndexByUser() can trigger unnecessary JS when there is no change to the selected index
-
- No new tests because this code path is not used for JS-initiated changes.
-
- * html/HTMLSelectElement.cpp:
- (WebCore::HTMLSelectElement::setSelectedIndexByUser):
- Bail out if the to-be-selected index matches the already-selected index.
-
-2010-02-22 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Reproducible crash in WebCore::nextLinePosition on Tweeteorites.com
- <rdar://problem/7615758>
- https://bugs.webkit.org/show_bug.cgi?id=35060
-
- Test: editing/selection/extend-byline-withfloat.html
-
- * editing/visible_units.cpp:
- (WebCore::previousLinePosition): Skip elements with zero height.
- (WebCore::nextLinePosition): Skip elements with zero height.
-
-2010-02-22 Nate Chapin <japhet@chromium.org>
-
- Unreviewed, Chromium build fix.
-
- * bindings/scripts/CodeGeneratorV8.pm: Compile break due to bad patch merge.
-
-2010-02-22 Nate Chapin <japhet@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [V8] Streamline V8 event listener code. Merge all the variants of
- V8DOMWrapper::getEventListner() into a single version and generate
- addEventListener() and removeEventListener() bindings for all objects
- except DOMWindow.
-
- https://bugs.webkit.org/show_bug.cgi?id=35245
-
- * Android.v8bindings.mk:
- * WebCore.gypi:
- * bindings/scripts/CodeGeneratorV8.pm:
- * bindings/v8/V8DOMWrapper.cpp:
- (WebCore::V8DOMWrapper::getEventListener):
- * bindings/v8/V8DOMWrapper.h:
- * bindings/v8/WorkerContextExecutionProxy.cpp:
- * bindings/v8/WorkerContextExecutionProxy.h:
- * bindings/v8/custom/V8AbstractWorkerCustom.cpp: Removed.
- * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp: Removed.
- * bindings/v8/custom/V8DOMWindowCustom.cpp:
- (WebCore::V8DOMWindow::addEventListenerCallback):
- (WebCore::V8DOMWindow::removeEventListenerCallback):
- * bindings/v8/custom/V8EventSourceCustom.cpp: Removed.
- * bindings/v8/custom/V8MessagePortCustom.cpp:
- * bindings/v8/custom/V8NodeCustom.cpp:
- * bindings/v8/custom/V8NotificationCenterCustom.cpp:
- * bindings/v8/custom/V8SVGElementInstanceCustom.cpp: Removed.
- * bindings/v8/custom/V8WebSocketCustom.cpp:
- * bindings/v8/custom/V8WorkerContextCustom.cpp:
- * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
- * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
- * dom/MessagePort.idl:
- * dom/Node.idl:
- * loader/appcache/DOMApplicationCache.idl:
- * notifications/Notification.idl:
- * page/EventSource.idl:
- * svg/SVGElementInstance.idl:
- * websockets/WebSocket.idl:
- * workers/AbstractWorker.idl:
- * workers/WorkerContext.idl:
- * xml/XMLHttpRequest.idl:
- * xml/XMLHttpRequestUpload.idl:
-
-2010-02-22 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Beth Dakin.
-
- AX: AXFocused is not writable like it should be on nodes
- https://bugs.webkit.org/show_bug.cgi?id=35186
-
- Test: platform/mac/accessibility/element-focus.html
-
- * accessibility/AccessibilityRenderObject.cpp:
- (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
-
-2010-02-22 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein, Darin Adler.
-
- Remove addScrolledContentOffset/subtractScrolledContentOffset
- https://bugs.webkit.org/show_bug.cgi?id=35225
-
- Remove RenderLayer's addScrolledContentOffset() and subtractScrolledContentOffset()
- methods, and instead use the existing scrolledContentOffset(), and use
- IntSize and IntPoint instead of lots of x, y variables.
-
- Added new IntPoint toPoint(const IntSize&) method as a convenience to convert a size to a point,
- which is needed in a few places.
-
- * page/EventHandler.cpp:
- (WebCore::EventHandler::handleDrag): Use the new toPoint() convenience.
- * platform/graphics/IntPoint.h:
- (WebCore::toPoint): New convenience method to convert an IntSize to an IntPoint.
- * rendering/LayoutState.cpp:
- (WebCore::LayoutState::LayoutState):
- * rendering/RenderBlock.cpp:
- (WebCore::RenderBlock::layoutBlock):
- (WebCore::RenderBlock::paintObject):
- (WebCore::RenderBlock::selectionGapRectsForRepaint):
- (WebCore::RenderBlock::nodeAtPoint):
- (WebCore::RenderBlock::offsetForContents):
- * rendering/RenderBoxModelObject.cpp:
- (WebCore::RenderBoxModelObject::paintFillLayerExtended):
- * rendering/RenderInline.cpp:
- (WebCore::RenderInline::clippedOverflowRectForRepaint):
- * rendering/RenderLayer.cpp:
- (WebCore::RenderLayer::updateLayerPosition):
- * rendering/RenderLayer.h:
- (WebCore::RenderLayer::size):
- * rendering/RenderObject.cpp:
- (WebCore::RenderObject::computeRectForRepaint):
- * rendering/TextControlInnerElements.cpp:
- (WebCore::RenderTextControlInnerBlock::positionForPoint):
-
-2009-02-22 Adam Langley <agl@google.com>
-
- Reviewed by Darin Fisher.
-
- fontconfig on Linux can change the render preferences on a per strike
- basis (a strike a combination of face and size). Because of this, we
- need to query fontconfig each time a new FontPlatformData is created
- for a new size.
-
- This patch adds support for querying this via ChromiumBridge.
-
- https://bugs.webkit.org/show_bug.cgi?id=33065
-
- * platform/chromium/ChromiumBridge.h: add getRenderStyleForStrike
- * platform/graphics/chromium/FontCacheLinux.cpp:
- (WebCore::FontCache::createFontPlatformData):
- * platform/graphics/chromium/FontCustomPlatformData.cpp:
- (WebCore::FontCustomPlatformData::fontPlatformData):
- * platform/graphics/chromium/FontPlatformDataLinux.cpp:
- (WebCore::FontPlatformData::FontPlatformData):
- (WebCore::FontPlatformData::operator=):
- (WebCore::FontPlatformData::setupPaint):
- (WebCore::FontPlatformData::queryStyle):
- add code to query fontconfig via ChromiumBridge
- * platform/graphics/chromium/FontPlatformDataLinux.h:
-
-2010-02-22 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Build fix for make distcheck.
-
- * GNUmakefile.am:
-
-2010-02-22 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Fix compiler warning "suggest parentheses around"
- https://bugs.webkit.org/show_bug.cgi?id=35197
-
- No new tests as there is no new functionality.
-
- * wml/WMLVariables.cpp:
- (WebCore::substituteVariableReferences):
-
-2010-02-22 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Xan Lopez.
-
- [Soup] loses information related to message flags when converting from/to Resource{Request,Response}
- https://bugs.webkit.org/show_bug.cgi?id=35093
-
- Store message flags in WebCore objects, and set them on the
- SoupMessage, when creating one from them.
-
- No behaviour change.
-
- * platform/network/soup/ResourceHandleSoup.cpp:
- (WebCore::fillResponseFromMessage):
- * platform/network/soup/ResourceRequest.h:
- (WebCore::ResourceRequest::soupMessageFlags):
- (WebCore::ResourceRequest::setSoupMessageFlags):
- * platform/network/soup/ResourceRequestSoup.cpp:
- (WebCore::ResourceRequest::toSoupMessage):
- (WebCore::ResourceRequest::updateFromSoupMessage):
- * platform/network/soup/ResourceResponse.h:
- (WebCore::ResourceResponse::soupMessageFlags):
- (WebCore::ResourceResponse::setSoupMessageFlags):
- * platform/network/soup/ResourceResponseSoup.cpp:
- (WebCore::ResourceResponse::toSoupMessage):
- (WebCore::ResourceResponse::updateFromSoupMessage):
-
-2010-02-22 Steve Block <steveblock@google.com>
-
- Reviewed by Nate Chapin.
-
- Shared worker types used in globalObjectPrototypeIsDOMWindow are not properly guarded
- https://bugs.webkit.org/show_bug.cgi?id=35238
-
- No new tests, build fix only.
-
- * bindings/v8/V8DOMWrapper.cpp:
- (WebCore::globalObjectPrototypeIsDOMWindow):
-
-2010-02-22 Steve Block <steveblock@google.com>
-
- Reviewed by Simon Fraser.
-
- Simplifies calculation of the transform in RenderLayer::paintLayer
- https://bugs.webkit.org/show_bug.cgi?id=35101
+ (WebCore::OpacityAnimationQt::applyFrame):
- No new tests, optimization only.
+2010-05-25 Yury Semikhatsky <yurys@chromium.org>
- * rendering/RenderLayer.cpp:
- (WebCore::RenderLayer::paintLayer):
-
-2010-02-22 Nicholas Young <nicholas.young@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Switching from Phonon to QtMultimedia Backend for Qt 4.7
-
- https://bugs.webkit.org/show_bug.cgi?id=34631
-
- No new tests. This patch only affects multimedia backend.
-
- * WebCore.pro: Build depends on Qt version.
- * css/mediaControlsQt.css: Updated media controls.
- * platform/graphics/MediaPlayer.cpp: Different backend included depending on Qt version.
- * platform/graphics/qt/MediaPlayerPrivateQt.cpp: Added new QtMultimedia Backend.
- (WebCore::MediaPlayerPrivate::create):
- (WebCore::MediaPlayerPrivate::registerMediaEngine):
- (WebCore::MediaPlayerPrivate::getSupportedTypes):
- (WebCore::MediaPlayerPrivate::supportsType):
- (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
- (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
- (WebCore::MediaPlayerPrivate::hasVideo):
- (WebCore::MediaPlayerPrivate::hasAudio):
- (WebCore::MediaPlayerPrivate::load):
- (WebCore::MediaPlayerPrivate::cancelLoad):
- (WebCore::MediaPlayerPrivate::play):
- (WebCore::MediaPlayerPrivate::pause):
- (WebCore::MediaPlayerPrivate::paused):
- (WebCore::MediaPlayerPrivate::seek):
- (WebCore::MediaPlayerPrivate::seeking):
- (WebCore::MediaPlayerPrivate::duration):
- (WebCore::MediaPlayerPrivate::currentTime):
- (WebCore::MediaPlayerPrivate::buffered):
- (WebCore::MediaPlayerPrivate::maxTimeSeekable):
- (WebCore::MediaPlayerPrivate::bytesLoaded):
- (WebCore::MediaPlayerPrivate::totalBytes):
- (WebCore::MediaPlayerPrivate::setRate):
- (WebCore::MediaPlayerPrivate::setVolume):
- (WebCore::MediaPlayerPrivate::supportsMuting):
- (WebCore::MediaPlayerPrivate::setMuted):
- (WebCore::MediaPlayerPrivate::networkState):
- (WebCore::MediaPlayerPrivate::readyState):
- (WebCore::MediaPlayerPrivate::setVisible):
- (WebCore::MediaPlayerPrivate::mediaStatusChanged):
- (WebCore::MediaPlayerPrivate::handleError):
- (WebCore::MediaPlayerPrivate::stateChanged):
- (WebCore::MediaPlayerPrivate::nativeSizeChanged):
- (WebCore::MediaPlayerPrivate::queuedSeekTimeout):
- (WebCore::MediaPlayerPrivate::seekTimeout):
- (WebCore::MediaPlayerPrivate::positionChanged):
- (WebCore::MediaPlayerPrivate::durationChanged):
- (WebCore::MediaPlayerPrivate::volumeChanged):
- (WebCore::MediaPlayerPrivate::mutedChanged):
- (WebCore::MediaPlayerPrivate::updateStates):
- (WebCore::MediaPlayerPrivate::setSize):
- (WebCore::MediaPlayerPrivate::naturalSize):
- (WebCore::MediaPlayerPrivate::paint):
- (WebCore::MediaPlayerPrivate::repaint):
- * platform/graphics/qt/MediaPlayerPrivateQt.h: Added new QtMultimedia Backend.
- (WebCore::MediaPlayerPrivate::isAvailable):
- (WebCore::MediaPlayerPrivate::supportsFullscreen):
- * platform/qt/RenderThemeQt.cpp:
- (WebCore::RenderThemeQt::mediaControlsBaselineOpacity): New method.
- (WebCore::RenderThemeQt::paintMediaBackground): Background depends on baseline opacity.
- (WebCore::RenderThemeQt::paintMediaMuteButton): Changed styling.
- (WebCore::RenderThemeQt::paintMediaCurrentTime): Added current time display.
- (WebCore::RenderThemeQt::formatMediaControlsCurrentTime): Added time formatting.
- (WebCore::RenderThemeQt::formatMediaControlsRemainingTime): Added time formatting.
- (WebCore::RenderThemeQt::paintMediaVolumeSliderTrack): Volume slider added.
- (WebCore::RenderThemeQt::paintMediaVolumeSliderThumb): Volume slider added.
- (WebCore::RenderThemeQt::paintMediaSliderTrack): Updated for QtMultimedia.
- (WebCore::RenderThemeQt::paintMediaSliderThumb): Dropped an unnecessary check.
- (WebCore::RenderThemeQt::adjustSliderThumbSize): Handle a missing case.
- * platform/qt/RenderThemeQt.h: Reimplemented a few more methods.
-
-2010-02-22 Alexander Pavlov <apavlov@chromium.org>
-
- Not reviewed: mac build fix
+ Unreviewed. Fix Chromium Mac Release build.
- * bindings/js/ScriptDebugServer.cpp:
- (WebCore::ScriptDebugServer::ScriptDebugServer):
+ * bindings/v8/ScriptDebugServer.cpp:
-2010-02-22 Alexander Pavlov <apavlov@chromium.org>
+2010-05-24 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
- Web Inspector: there should be a way to "deactivate" or "skip" all breakpoints while debugging.
- https://bugs.webkit.org/show_bug.cgi?id=33217
-
- * English.lproj/localizedStrings.js:
- * bindings/js/ScriptDebugServer.cpp:
- (WebCore::ScriptDebugServer::ScriptDebugServer):
- (WebCore::ScriptDebugServer::hasBreakpoint):
- (WebCore::ScriptDebugServer::setBreakpointsActivated):
- * bindings/js/ScriptDebugServer.h:
- * bindings/v8/ScriptDebugServer.h:
- (WebCore::ScriptDebugServer::setBreakpointsActivated):
- * inspector/InspectorBackend.cpp:
- (WebCore::InspectorBackend::activateBreakpoints):
- (WebCore::InspectorBackend::deactivateBreakpoints):
- * inspector/InspectorBackend.h:
- * inspector/InspectorBackend.idl:
- * inspector/front-end/Images/deactivateBreakpointsButtonGlyph.png: Added.
- * inspector/front-end/Images/deactivateBreakpointsDisabledButtonGlyph.png: Added.
- * inspector/front-end/InspectorBackendStub.js:
- (.WebInspector.InspectorBackendStub.prototype.activateBreakpoints):
- (.WebInspector.InspectorBackendStub.prototype.deactivateBreakpoints):
- * inspector/front-end/ScriptsPanel.js:
- (WebInspector.ScriptsPanel):
- (WebInspector.ScriptsPanel.prototype.get breakpointsActivated):
- (WebInspector.ScriptsPanel.prototype.addBreakpoint):
- (WebInspector.ScriptsPanel.prototype._stepOutClicked):
- (WebInspector.ScriptsPanel.prototype._toggleBreakpointsClicked):
- * inspector/front-end/inspector.css:
- * inspector/front-end/textViewer.css:
-
-2010-02-22 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Sam Weinig and Maciej Stachowiak.
-
- REGRESSION (r55039): Animation starts from near end when loaded over slow network
- <http://webkit.org/b/35222> / <rdar://problem/7673523>
-
- Roll out r55039 (related to <http://webkit.org/b/35115>) as it causes animated GIFs
- to skip intermediate frames when loading over a slower network.
-
- * platform/graphics/BitmapImage.cpp:
- (WebCore::BitmapImage::startAnimation):
-
-2010-02-22 Maciej Stachowiak <mjs@apple.com>
-
- Not reviewed, build fix.
-
- Revert the previous change.
-
-2010-02-21 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin Adler.
+ ScriptDebugServer is now implemented as DebugEventListener which means it doesn't
+ depend on v8 debugging protocol, instead it uses ExecState to collect debugging
+ info and pass it to the listeners.
- Cache JavaScript wrappers inline in DOM nodes
- https://bugs.webkit.org/show_bug.cgi?id=35226
- <rdar://problem/7664202>
+ New implementation of ScriptDebugServer uses methods provided by client to dispatch
+ its messages while JS is paused(previously the messages was dispatched in a callback
+ passed to v8 along with DebugEventHandler).
- 8.8% speedup on Dromaeo DOM Core tests.
- 3.3% speedup on Hixie DOM Core tests.
-
- * bindings/js/JSDOMBinding.cpp:
- (WebCore::forgetDOMNode): Clear wrapper pointer.
- (WebCore::cacheDOMNodeWrapper): Cache inline too if caching for normal world.
- * bindings/js/JSDOMBinding.h:
- (WebCore::DOMObjectWrapperMapFor):
- * bindings/js/JSDocumentCustom.cpp:
- (WebCore::toJS): Remove unneeded argument from getCachedDOMNodeWrapper.
- * bindings/js/JSNodeCustom.cpp:
- (WebCore::createWrapperInline): Renamed version of original createWrapper.
- (WebCore::createWrapper): Call createWrapperInline. Out-of-line version.
- (WebCore::toJSNewlyCreated): Call createWrapperInline instead of createWrapper.
- * bindings/js/JSNodeCustom.h: Added.
- (WebCore::getCachedDOMNodeWrapper): Moved here so it can be inlined.
- (WebCore::toJS): Moved here so it can be inlined.
- * bindings/js/ScriptWrappable.h:
- (WebCore::ScriptWrappable::ScriptWrappable): Implement this in the obvious
- way for JavaScriptCore.
- (WebCore::ScriptWrappable::wrapper):
- (WebCore::ScriptWrappable::setWrapper):
- (WebCore::ScriptWrappable::clearWrapper):
- * bindings/scripts/CodeGeneratorJS.pm: Include CustomHeader heaaders
- in the header, not just the impl file, so they can add inlining.
- * dom/Node.idl: Add CustomHeader directive.
-
- Add new files to build.
-
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
-
-2010-02-22 Pavel Feldman <pfeldman@chromium.org>
-
- Not reviewed: windows build fix.
-
-2010-02-21 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
+ https://bugs.webkit.org/show_bug.cgi?id=39594
- Web Inspector: stop on inline breakpoints on reload.
- - ScriptBreakpoint struct has been introduced and reused in InspectorController
- and debug server.
- - JavaScriptDebugServer was moved to bindings/js and renamed to ScriptDebugServer
- There were no changes to semantics, only some mechanical changes:
- - addBreakpoint and updateBreakpoint were merged into setBreakpoint
- - ScriptDebugServer now operates ScriptBreakpoint instances instead of
- BreakpointInfo.
- - It no longer allocates maps and breakpoint info in heap - all done on stack.
- - JavaScriptDebugListener is now ScriptDebugServer::Listener
- - Listener methods no longer have ExecState (was unused).
- - addListener/removeListener pair wuth no page argument removed (was unused).
- - InspectorController now binds sourceID to url and maintains a map of 'sticky'
- breakpoints. Whenever script is loaded and there is a sticky breakpoint url matching,
- breakpoint is being 'restored' synchronously in debug server and pushed to frontend.
- Front-end no longer stores map of sticky breakpoints.
- - setBreakpoint/removeBreakpoint/didParseSource trio handle this logic.
- - A bunch of if(USE_JSC/V8/other) forks removed.
- - InspectorFrontend now operates primitive types only, got rid of USE_JSC as well.
-
- https://bugs.webkit.org/show_bug.cgi?id=28799
-
- * GNUmakefile.am:
- * WebCore.base.exp:
- * WebCore.gypi:
- * WebCore.order:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/js/JSInjectedScriptHostCustom.cpp:
- (WebCore::JSInjectedScriptHost::currentCallFrame):
- (WebCore::JSInjectedScriptHost::isActivation):
* bindings/js/ScriptDebugServer.cpp:
- (WebCore::ScriptDebugServer::shared):
- (WebCore::ScriptDebugServer::ScriptDebugServer):
- (WebCore::ScriptDebugServer::~ScriptDebugServer):
- (WebCore::ScriptDebugServer::addListener):
- (WebCore::ScriptDebugServer::removeListener):
- (WebCore::ScriptDebugServer::pageCreated):
- (WebCore::ScriptDebugServer::hasListenersInterestedInPage):
- (WebCore::ScriptDebugServer::setBreakpoint):
- (WebCore::ScriptDebugServer::removeBreakpoint):
- (WebCore::ScriptDebugServer::hasBreakpoint):
- (WebCore::ScriptDebugServer::clearBreakpoints):
- (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
- (WebCore::ScriptDebugServer::pauseProgram):
- (WebCore::ScriptDebugServer::continueProgram):
- (WebCore::ScriptDebugServer::stepIntoStatement):
- (WebCore::ScriptDebugServer::stepOverStatement):
- (WebCore::ScriptDebugServer::stepOutOfFunction):
- (WebCore::ScriptDebugServer::currentCallFrame):
- (WebCore::ScriptDebugServer::currentCallFrameState):
- (WebCore::ScriptDebugServer::dispatchDidParseSource):
- (WebCore::ScriptDebugServer::dispatchFailedToParseSource):
- (WebCore::toPage):
- (WebCore::ScriptDebugServer::detach):
- (WebCore::ScriptDebugServer::sourceParsed):
- (WebCore::ScriptDebugServer::dispatchFunctionToListeners):
- (WebCore::ScriptDebugServer::setJavaScriptPaused):
+ (WebCore::ScriptDebugServer::dispatchDidPause):
+ (WebCore::ScriptDebugServer::dispatchDidContinue):
+ (WebCore::ScriptDebugServer::dispatchFunctionToListeners): Changed method signature to allow
+ invocation of ScriptDebugListener methods that have non-empty argument list.
(WebCore::ScriptDebugServer::pauseIfNeeded):
- (WebCore::ScriptDebugServer::callEvent):
- (WebCore::ScriptDebugServer::atStatement):
- (WebCore::ScriptDebugServer::returnEvent):
- (WebCore::ScriptDebugServer::exception):
- (WebCore::ScriptDebugServer::willExecuteProgram):
- (WebCore::ScriptDebugServer::didExecuteProgram):
- (WebCore::ScriptDebugServer::didReachBreakpoint):
- (WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon):
- (WebCore::ScriptDebugServer::recompileAllJSFunctions):
- (WebCore::ScriptDebugServer::didAddListener):
- (WebCore::ScriptDebugServer::didRemoveListener):
- (WebCore::ScriptDebugServer::didRemoveLastListener):
* bindings/js/ScriptDebugServer.h:
- (WebCore::ScriptDebugServer::Listener::~Listener):
- (WebCore::ScriptDebugServer::):
- (WebCore::ScriptDebugServer::pauseOnExceptionsState):
- (WebCore::ScriptDebugServer::hasListeners):
- (WebCore::ScriptDebugServer::hasGlobalListeners):
* bindings/v8/ScriptDebugServer.cpp:
- (WebCore::ScriptDebugServer::shared):
- * bindings/v8/ScriptDebugServer.h:
- (WebCore::ScriptDebugServer::Listener::~Listener):
+ (WebCore::retrieveFrame):
+ (WebCore::ScriptDebugServer::ScriptDebugServer):
(WebCore::ScriptDebugServer::addListener):
- (WebCore::ScriptDebugServer::removeListener):
- (WebCore::ScriptDebugServer::setBreakpoint):
- (WebCore::ScriptDebugServer::removeBreakpoint):
+ (WebCore::ScriptDebugServer::removeListener): Execution is resumed(nested message loop is terminated) when
+ corresponding debugger window closes.
(WebCore::ScriptDebugServer::clearBreakpoints):
- (WebCore::ScriptDebugServer::):
(WebCore::ScriptDebugServer::pauseOnExceptionsState):
(WebCore::ScriptDebugServer::setPauseOnExceptionsState):
- (WebCore::ScriptDebugServer::pauseProgram):
(WebCore::ScriptDebugServer::continueProgram):
(WebCore::ScriptDebugServer::stepIntoStatement):
(WebCore::ScriptDebugServer::stepOverStatement):
(WebCore::ScriptDebugServer::stepOutOfFunction):
- (WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon):
- (WebCore::ScriptDebugServer::recompileAllJSFunctions):
- (WebCore::ScriptDebugServer::currentCallFrameState):
- (WebCore::ScriptDebugServer::pageCreated):
- (WebCore::ScriptDebugServer::ScriptDebugServer):
- (WebCore::ScriptDebugServer::~ScriptDebugServer):
- * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
- (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
- (WebCore::V8InjectedScriptHost::isActivationCallback):
- * inspector/InjectedScriptHost.cpp:
- * inspector/InjectedScriptHost.h:
- * inspector/InjectedScriptHost.idl:
- * inspector/InspectorBackend.cpp:
- (WebCore::InspectorBackend::setBreakpoint):
- (WebCore::InspectorBackend::removeBreakpoint):
- (WebCore::InspectorBackend::pauseInDebugger):
- (WebCore::InspectorBackend::stepOverStatementInDebugger):
- (WebCore::InspectorBackend::stepIntoStatementInDebugger):
- (WebCore::InspectorBackend::stepOutOfFunctionInDebugger):
- (WebCore::InspectorBackend::pauseOnExceptionsState):
- (WebCore::InspectorBackend::setPauseOnExceptionsState):
- * inspector/InspectorBackend.h:
- * inspector/InspectorBackend.idl:
- * inspector/ScriptBreakpoint.h: Added.
- (WebCore::InspectorBreakpoint::InspectorBreakpoint):
+ (WebCore::ScriptDebugServer::v8DebugEventCallback):
+ (WebCore::ScriptDebugServer::handleV8DebugEvent):
+ (WebCore::ScriptDebugServer::didResume):
+ * bindings/v8/ScriptDebugServer.h:
+ (WebCore::ScriptDebugServer::ClientMessageLoop::~ClientMessageLoop):
+ (WebCore::ScriptDebugServer::setClientMessageLoop):
* inspector/InspectorController.cpp:
- (WebCore::InspectorController::InspectorController):
- (WebCore::InspectorController::setWindowVisible):
- (WebCore::InspectorController::scriptObjectReady):
- (WebCore::InspectorController::close):
- (WebCore::InspectorController::didCommitLoad):
- (WebCore::InspectorController::addProfile):
- (WebCore::InspectorController::startUserInitiatedProfiling):
- (WebCore::InspectorController::stopUserInitiatedProfiling):
- (WebCore::InspectorController::enableProfiler):
- (WebCore::InspectorController::disableProfiler):
- (WebCore::InspectorController::enableDebuggerFromFrontend):
- (WebCore::InspectorController::disableDebugger):
- (WebCore::InspectorController::resumeDebugger):
- (WebCore::InspectorController::setBreakpoint):
- (WebCore::InspectorController::removeBreakpoint):
- (WebCore::InspectorController::didParseSource):
- (WebCore::InspectorController::failedToParseSource):
(WebCore::InspectorController::didPause):
* inspector/InspectorController.h:
- * inspector/InspectorFrontend.cpp:
- (WebCore::InspectorFrontend::parsedScriptSource):
- (WebCore::InspectorFrontend::restoredBreakpoint):
- (WebCore::InspectorFrontend::failedToParseScriptSource):
- (WebCore::InspectorFrontend::resumedScript):
- * inspector/InspectorFrontend.h:
- * inspector/JavaScriptDebugListener.h: Removed.
- * inspector/JavaScriptDebugServer.cpp: Removed.
- * inspector/JavaScriptDebugServer.h: Removed.
- * inspector/front-end/Breakpoint.js:
- (WebInspector.Breakpoint.prototype.set condition):
- * inspector/front-end/BreakpointsSidebarPane.js:
- (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
- (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
- * inspector/front-end/InspectorBackendStub.js:
- (.WebInspector.InspectorBackendStub.prototype.addBreakpoint):
- * inspector/front-end/ResourcesPanel.js:
- (WebInspector.ResourcesPanel.prototype.sourceFrameForResource):
- * inspector/front-end/ScriptsPanel.js:
- (WebInspector.ScriptsPanel):
- (WebInspector.ScriptsPanel.prototype.addScript):
- (WebInspector.ScriptsPanel.prototype.addBreakpoint):
- (WebInspector.ScriptsPanel.prototype.removeBreakpoint):
- (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
- * inspector/front-end/inspector.js:
- (WebInspector.restoredBreakpoint):
- * page/Page.cpp:
- (WebCore::Page::Page):
- * platform/android/TemporaryLinkStubs.cpp:
-
-2010-02-21 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Make the UChar owned/ref-counted by StringImpl::CrossThreadRefCounted be const.
-
- * platform/text/StringImpl.cpp:
- (WebCore::StringImpl::sharedBuffer):
- * platform/text/StringImpl.h:
-
-2010-02-07 Yuzo Fujishima <yuzo@google.com>
-
- Reviewed by Eric Seidel.
-
- When page-break-{after,before} is set to always, force page breaks even for overflow-specified elements.
- RenderBlock::inRootBlockContext() was introduced by Changeset 5611. Although it is a reasonable criteria for choosing an optional page break location, it is not for a mandatory page break as specified by http://dev.w3.org/csswg/css3-page/#forced-pg-brk. The method is removed because it is not used anywhere else.
- Note: this patch makes page break work for overflow-specified elements. For tables and floated elements, more work is needed.
- https://bugs.webkit.org/show_bug.cgi?id=9526
-
- Test: printing/page-break-always-for-overflow.html
-
- * rendering/RenderBlock.cpp:
- (WebCore::RenderBlock::paintChildren):
- * rendering/RenderBlock.h:
-
-2010-02-21 Julien Chaffraix <jchaffraix@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Remove auto_ptr usage in WebCore.
- https://bugs.webkit.org/show_bug.cgi?id=35157
-
- The changes consists of:
-
- - Changing auto_ptr arguments or return types to PassOwnPtr.
-
- - Replacing local auto_ptr by OwnPtr.
-
- - Removing now unneeded <memory> inclusion.
-
- * css/CSSParser.cpp:
- (WebCore::CSSParser::addProperty):
- * loader/WorkerThreadableLoader.cpp:
- (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
- (WebCore::workerContextDidReceiveResponse):
- (WebCore::workerContextDidReceiveData):
- (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
- (WebCore::workerContextDidReceiveAuthenticationCancellation):
- * loader/WorkerThreadableLoader.h:
- * loader/icon/IconLoader.cpp:
- (WebCore::IconLoader::create):
- * loader/icon/IconLoader.h:
- * platform/ContextMenu.cpp:
- (WebCore::separatorItem):
- * platform/CrossThreadCopier.h:
- (WebCore::):
- * platform/network/HTTPHeaderMap.cpp:
- (WebCore::HTTPHeaderMap::copyData):
- (WebCore::HTTPHeaderMap::adopt):
- * platform/network/HTTPHeaderMap.h:
- * platform/network/ResourceRequestBase.cpp:
- (WebCore::ResourceRequestBase::adopt):
- (WebCore::ResourceRequestBase::copyData):
- * platform/network/ResourceRequestBase.h:
- * platform/network/ResourceResponseBase.cpp:
- (WebCore::ResourceResponseBase::adopt):
- (WebCore::ResourceResponseBase::copyData):
- * platform/network/ResourceResponseBase.h:
- * svg/SVGDocumentExtensions.cpp:
- (WebCore::SVGDocumentExtensions::removePendingResource):
- * svg/SVGDocumentExtensions.h:
- * svg/SVGElement.cpp:
- (WebCore::SVGElement::insertedIntoDocument):
- * workers/GenericWorkerTask.h:
- * workers/WorkerThread.cpp:
- (WebCore::WorkerThreadStartupData::create):
-
-2010-02-21 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- https://bugs.webkit.org/show_bug.cgi?id=22215
- Avoid calling absoluteClippedOverflowRect() so many times
+ * inspector/ScriptDebugListener.h: Changed didPause signature to explicitly pass ScriptState
+ where execution is paused.
- RenderLayer::updateLayerPositions() computes the clipped overflow rect
- and the outline bounds for repaint, and then calls repaintAfterLayoutIfNeeded()
- which can compute the same rects all over again. Avoid this by passing
- these two rects into repaintAfterLayoutIfNeeded() if known. This measurably
- reduces the time spent in updateLayerPositions() for some content.
-
- * rendering/RenderLayer.cpp:
- (WebCore::RenderLayer::updateLayerPositions):
- * rendering/RenderObject.cpp:
- (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
- * rendering/RenderObject.h:
-
-2010-02-20 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- https://bugs.webkit.org/show_bug.cgi?id=35202
- <rdar://problem/4856597> Calling Java method which accepts Object always passes a null argument
-
- * bridge/jni/jsc/JNIUtilityPrivate.cpp: (JSC::Bindings::convertValueToJValue): Add cases for
- other JS types.
-
-2010-02-20 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Darin Adler.
-
- Fix compiler warning "suggest parentheses around"
- https://bugs.webkit.org/show_bug.cgi?id=35197
-
- No new tests as there is no new functionality.
-
- * html/DateComponents.cpp:
- (WebCore::beforeGregorianStartDate):
- * plugins/PluginDatabase.cpp:
- (WebCore::PluginDatabase::findPlugin):
-
-2010-02-20 Noam Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] ENABLE_3D_RENDERING should be optional
- https://bugs.webkit.org/show_bug.cgi?id=35100
-
- No new tests: this is a build fix.
-
- * WebCore.pri: ENABLE_3D_RENDERING is now a proper feature test
-
-2010-02-20 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- https://bugs.webkit.org/show_bug.cgi?id=23742
- Applet methods can not return arrays to JS
-
- * bridge/jni/jsc/JNIBridgeJSC.cpp: (JavaArray::JavaArray): Don't accidentally zero out
- m_rootObject (that's how PassRefPtr works). Without m_rootObject, we crash quickly.
-
- * bridge/jni/jsc/JavaInstanceJSC.cpp: (JavaInstance::invokeMethod): Do handle returned arrays.
- Also, added an ifdef around code that's only needed on Tiger, and removed a comment saying
- it can be removed when "new" plugin ships. I doubt that anyone can remember what "new"
- could refer to back then.
-
-2010-02-20 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: re-creating view in ResourcesPanel confuses ScriptsPanel's visibleView logic.
-
- https://bugs.webkit.org/show_bug.cgi?id=35192
-
- * inspector/front-end/ResourcesPanel.js:
- (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
- * inspector/front-end/ScriptsPanel.js:
- (WebInspector.ScriptsPanel.prototype.show):
- (WebInspector.ScriptsPanel.prototype.viewRecreated):
-
-2010-02-20 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: need to highlight the evaluated expression used for popovers.
-
- https://bugs.webkit.org/show_bug.cgi?id=35126
-
- * inspector/front-end/SourceFrame.js:
- (WebInspector.SourceFrame.prototype._mouseMove):
- (WebInspector.SourceFrame.prototype._hidePopup):
- (WebInspector.SourceFrame.prototype._mouseHover):
- (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
- (WebInspector.SourceFrame.prototype._showPopup):
- * inspector/front-end/inspector.css:
-
-2010-02-20 Gustavo Noronha Silva <gns@gnome.org>
-
- Roll out 55047 because it causes layout, and API tests to fail
-
-2010-02-19 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- [Soup] loses information related to message flags when converting from/to Resource{Request,Response}
- https://bugs.webkit.org/show_bug.cgi?id=35093
-
- Refactor updating of ResourceResponse objects from soup message
- objects, to avoid code duplication.
-
- No behaviour change.
-
- * platform/network/soup/ResourceHandleSoup.cpp:
- (WebCore::fillResponseFromMessage):
- * platform/network/soup/ResourceResponseSoup.cpp:
- (WebCore::ResourceResponse::updateFromSoupMessage):
-
-2010-02-20 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- https://bugs.webkit.org/show_bug.cgi?id=35190
- Don't use system malloc in Java bindings
-
- * bridge/jni/jsc/JavaInstanceJSC.cpp: (JavaInstance::invokeMethod): Switched to WTF::Vector.
-
-2010-02-20 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- https://bugs.webkit.org/show_bug.cgi?id=9761
- LiveConnect string conversion fails for java.lang.Object
-
- Can't test Java in DRT (I wonder why).
-
- * bridge/jni/jsc/JNIUtilityPrivate.cpp: (JSC::Bindings::convertValueToJValue):
- Added the necessary conversion. Also, removed CONVERT_NULL_TO_EMPTY_STRING dead code.
-
-2010-02-19 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by David Levin.
-
- Add an ENABLE flag for sandboxed iframes to make it possible to disable it in releases
- https://bugs.webkit.org/show_bug.cgi?id=35147
-
- I made ENABLE(SANDBOX) only control the sandbox attribute itself;
- I did not ifdef the infrastructure to make sandboxing
- switchable. This is because the likely concerns about sandboxing
- are not stability of the infrastructure code, but rather the fact
- that the security model exposed to authors is still evolving.
-
- * Configurations/FeatureDefines.xcconfig:
- * GNUmakefile.am:
- * WebCore.pri:
- * html/HTMLIFrameElement.cpp:
- (WebCore::HTMLIFrameElement::parseMappedAttribute):
-
-2010-02-19 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- https://bugs.webkit.org/show_bug.cgi?id=35132
- <rdar://problem/7664353> Mouse cursor sometimes flickers over Flash content (35132)
-
- * page/EventHandler.cpp: (WebCore::EventHandler::handleMouseMoveEvent): Don't set mouse
- pointer when above a plug-in or applet to prevent flicker.
-
-2010-02-18 Peter Kasting <pkasting@google.com>
-
- Reviewed by Adam Barth.
-
- Fix regression in calculating an animated image's start time.
- https://bugs.webkit.org/show_bug.cgi?id=35115
-
- * platform/graphics/BitmapImage.cpp:
- (WebCore::BitmapImage::startAnimation):
-
-2010-02-19 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Geoffrey Garen.
-
- https://bugs.webkit.org/show_bug.cgi?id=35178
- LiveConnect code uses hand-rolled fprintf logging
-
- Changed to use LOG, LOG_ERROR and ASSERT.
-
- * platform/Logging.cpp:
- (WebCore::getChannelFromName):
- * platform/Logging.h:
- * platform/mac/LoggingMac.mm:
- (WebCore::InitializeLoggingChannelsIfNecessary):
- * platform/win/LoggingWin.cpp:
- (WebCore::InitializeLoggingChannelsIfNecessary):
- TextConversion channel was (almost) unused, renamed to LiveConnect.
-
- * platform/text/gtk/TextCodecGtk.cpp: (WebCore::TextCodecGtk::registerEncodingNames):
- The only use of this channel was in platform specific code, commandeered it for cross-platform
- needs.
-
- * bridge/jni/JNIBridge.cpp:
- * bridge/jni/JNIUtility.cpp:
- (JSC::Bindings::getJavaVM):
- (JSC::Bindings::getJNIEnv):
- (JSC::Bindings::getJNIField):
- * bridge/jni/JNIUtility.h:
- (JSC::Bindings::callJNIMethodV):
- (JSC::Bindings::callJNIStaticMethod):
- * bridge/jni/jni_jsobject.mm:
- (completedJavaScriptAccess):
- (dispatchToJavaScriptThread):
- (performJavaScriptAccess):
- (JavaJSObject::invoke):
- (JavaJSObject::call):
- (JavaJSObject::eval):
- (JavaJSObject::getMember):
- (JavaJSObject::setMember):
- (JavaJSObject::removeMember):
- (JavaJSObject::getSlot):
- (JavaJSObject::setSlot):
- (JavaJSObject::toString):
- (JavaJSObject::createNative):
- * bridge/jni/jsc/JNIBridgeJSC.cpp:
- (JavaField::valueFromInstance):
- (JavaField::setValueToInstance):
- * bridge/jni/jsc/JavaClassJSC.cpp:
- (JavaClass::JavaClass):
- * bridge/jni/jsc/JavaInstanceJSC.cpp:
- (JavaInstance::invokeMethod):
- (JObjectWrapper::JObjectWrapper):
- (JObjectWrapper::~JObjectWrapper):
-
-2010-02-19 Dirk Schulze <krit@webkit.org>
-
- Reviewed by Nikolas Zimmermann.
-
- RenderSVGResourceMasker causes an Assert on Wind builds during DRT
- https://bugs.webkit.org/show_bug.cgi?id=35182
-
- We remove the Assert for now and return earlier, if the HashMap of the Masker
- does not contain the RenderObject. The RenderObject is an identifiert to get
- a already calculated mask.
- A race condition during parsing can cause the invalidation call, before the mask
- got calculated (only during DRT on Win build bots).
- The real bug will be fixed with: https://bugs.webkit.org/show_bug.cgi?id=35181
-
- * rendering/RenderSVGResourceMasker.cpp:
- (WebCore::RenderSVGResourceMasker::invalidateClient):
-
-2010-02-18 Peter Kasting <pkasting@google.com>
-
- Reviewed by Darin Fisher.
-
- Make Pasteboard::writeImage() safe against NULL cachedImages, and clean
- up some code.
- https://bugs.webkit.org/show_bug.cgi?id=35136
-
- * loader/ImageLoader.cpp:
- (WebCore::ImageLoader::updateRenderer): Shorten some code.
- * page/DragController.cpp:
- (WebCore::getImage): Shorten some code.
- * platform/chromium/PasteboardChromium.cpp:
- (WebCore::Pasteboard::writeImage): NULL-check cachedImage().
- * platform/gtk/PasteboardGtk.cpp:
- (WebCore::Pasteboard::writeImage): NULL-check cachedImage().
- * platform/mac/PasteboardMac.mm:
- (WebCore::Pasteboard::writeImage): NULL-check cachedImage().
- * platform/qt/PasteboardQt.cpp:
- (WebCore::Pasteboard::writeImage): NULL-check cachedImage().
- * platform/win/PasteboardWin.cpp:
- (WebCore::Pasteboard::writeImage): NULL-check cachedImage().
-
-2010-02-19 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Rubberstamped by Noam Rosenthal, who wrote the original code.
-
- Make mouse wheel scrolling work when using the GraphicsLayer.
-
- * platform/graphics/qt/GraphicsLayerQt.cpp:
- (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
-
-2010-02-19 Nate Chapin <japhet@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [V8] Fix Worker crash regression in r54972
-
- https://bugs.webkit.org/show_bug.cgi?id=35166
-
- * bindings/v8/V8DOMWrapper.cpp:
- (WebCore::V8DOMWrapper::instantiateV8Object): Properly unwrap global objects when inside a WorkerContext.
-
-2010-02-19 Steve Block <steveblock@google.com>
-
- Not reviewed. Reverts r55020 which causes crashes in Chromium LayoutTests
-
- * bindings/generic/RuntimeEnabledFeatures.cpp:
- * storage/Database.cpp:
-
-2010-02-19 Steve Block <steveblock@google.com>
-
- Reviewed by David Levin.
-
- Sets default values of V8 runtime enabler flags to match behavior with JSC
- https://bugs.webkit.org/show_bug.cgi?id=35095
-
- No new tests, modifies a Chromium feature only.
-
- * bindings/generic/RuntimeEnabledFeatures.cpp: Modified. Sets appcache and geolocation flag defaults to 'on'
- * storage/Database.cpp: Modified. Sets database flag default to 'on'.
-
-2010-02-19 Alexander Pavlov <apavlov@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- WebInspector: Elements panel: Correctly show empty elements' ending tags
- for XML and HTML documents.
- https://bugs.webkit.org/show_bug.cgi?id=26315
-
- Test: inspector/elements-panel-xhtml-structure.xhtml
-
- * inspector/InspectorController.cpp:
- (WebCore::InspectorController::populateScriptObjects):
- * inspector/front-end/ElementsTreeOutline.js:
- (WebInspector.ElementsTreeOutline.prototype.set rootDOMNode):
- (WebInspector.ElementsTreeOutline.prototype.get isXMLMimeType):
- (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
- (WebInspector.ElementsTreeElement.prototype.onexpand):
- (WebInspector.ElementsTreeElement.prototype.oncollapse):
- (WebInspector.ElementsTreeElement.prototype.updateTitle.callback):
- (WebInspector.ElementsTreeElement.prototype.updateTitle):
- (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo):
-
-2010-02-19 Pavel Feldman <pfeldman@chromium.org>
-
- Not reviewed. Chromium build fix: reverting r54997 and r54998.
-
- * bindings/v8/custom/V8LocationCustom.cpp:
- (WebCore::V8Location::protocolAccessorSetter):
- * platform/KURLGoogle.cpp:
- (WebCore::KURL::setProtocol):
- (WebCore::KURL::isHierarchical):
-
-2010-02-17 Philippe Normand <pnormand@igalia.com>
+2010-05-25 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
- [GTK] RTP/RTSP streams playback support
- https://bugs.webkit.org/show_bug.cgi?id=33662
+ Clear attributes for each tag in the HTML5 parser
+ https://bugs.webkit.org/show_bug.cgi?id=39660
- Added live pipelines support in updateStates().
+ Yes, I did screw this up.
- * manual-tests/video-rtsp.html: Added.
- * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
- (WebCore::MediaPlayerPrivate::seek):
- (WebCore::MediaPlayerPrivate::updateStates):
+ * html/HTML5Token.h:
+ (WebCore::HTML5Token::beginStartTag):
+ (WebCore::HTML5Token::beginEndTag):
-2010-02-18 Yaar Schnitman <yaar@chromium.org>
+2010-05-25 Anders Bakken <agbakken@gmail.com>
Reviewed by Darin Adler.
- Normalize custom ctors for Image, Option, Audio
- https://bugs.webkit.org/show_bug.cgi?id=34782
-
- Test: fast/js/custom-constructors.html
-
- * bindings/js/JSAudioConstructor.cpp:
- (WebCore::JSAudioConstructor::JSAudioConstructor):
- (WebCore::constructAudio):
- * bindings/js/JSImageConstructor.cpp:
- (WebCore::constructImage):
- * bindings/js/JSOptionConstructor.cpp:
- (WebCore::constructHTMLOptionElement):
- * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
- (WebCore::v8HTMLAudioElementConstructorCallback):
- * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
- (WebCore::v8HTMLImageElementConstructorCallback):
- * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
- (WebCore::v8HTMLOptionElementConstructorCallback):
- * html/HTMLAudioElement.cpp:
- (WebCore::HTMLAudioElement::HTMLAudioElement):
- (WebCore::HTMLAudioElement::createForJSConstructor):
- * html/HTMLAudioElement.h:
- * html/HTMLImageElement.cpp:
- (WebCore::HTMLImageElement::createForJSConstructor):
- (WebCore::HTMLImageElement::mapToEntry):
- (WebCore::HTMLImageElement::createRenderer):
- (WebCore::HTMLImageElement::attach):
- (WebCore::HTMLImageElement::width):
- (WebCore::HTMLImageElement::height):
- (WebCore::HTMLImageElement::naturalHeight):
- * html/HTMLImageElement.h:
- * html/HTMLOptionElement.cpp:
- (WebCore::HTMLOptionElement::HTMLOptionElement):
- (WebCore::HTMLOptionElement::createForJSConstructor):
- (WebCore::HTMLOptionElement::ownerSelectElement):
- (WebCore::HTMLOptionElement::nonRendererRenderStyle):
- (WebCore::HTMLOptionElement::disabled):
- (WebCore::HTMLOptionElement::insertedIntoTree):
- * html/HTMLOptionElement.h:
-
-2010-02-18 Simon Fraser <simon.fraser@apple.com>
-
- No Review.
-
- Remove a couple of extraneous spaces that got added to the project file
- by hand-ending.
-
- * WebCore.xcodeproj/project.pbxproj:
-
-2010-02-18 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- <rdar://problem/7535894> Page contents missing from snapshot on Newsweek.com article
-
- Add logic to determine when painting via the software rendering path will give an equivalent
- result to the accelerated compositing presentation. This tests for the presence of 3D transforms
- via the existing RenderLayerCompositor::has3DContent() method.
-
- * WebCore.base.exp: Export FrameView's isSoftwareRenderable(), paintBehavior() and setPaintBehavior().
- * page/FrameView.h:
- * page/FrameView.cpp:
- (WebCore::FrameView::isSoftwareRenderable): New method.
- (WebCore::FrameView::paintBehavior): Make this non-inline so that we can reliably export it.
-
-2010-02-18 Dan Bernstein <mitz@apple.com>
-
- Reviewed by John Sullivan.
-
- <rdar://problem/7658811> Multiple style recalcs due to getComputedStyle() on “display: none;†element
- when there are pending style sheets
+ Remove warning for GCC 4.4.3
- Test: fast/css/getComputedStyle/pending-stylesheet.html
+ GCC suggest parentheses around && within ||
- When querying a property of a computed style declaration for a non-rendered element,
- CSSStyleSelector::styleForElement() was called, and if there were pending style sheet, it
- would behave as if the lack of renderer is due to FOUC suppression, and set a flag on
- the document causing it to recalculate style. On the next computed style property access,
- style would be recalculated for the document, but then the flag would get set again if the
- element did not have a renderer.
-
- * dom/Document.cpp:
- (WebCore::Document::styleForElementIgnoringPendingStylesheets): Added. Temporarily sets
- m_ignorePendingStylesheets around the call to CSSStyleSelector::styleForElement().
- * dom/Document.h:
* dom/Element.cpp:
- (WebCore::Element::computedStyle): Use Document::styleForElementIgnoringPendingStylesheets().
-
-2010-02-18 Dirk Schulze <krit@webkit.org>
-
- Reviewed by Nikolas Zimmermann.
+ (WebCore::Element::recalcStyle):
- Move SVGResources to Renderers, starting with Masker
- https://bugs.webkit.org/show_bug.cgi?id=35020
+2010-05-25 Xan Lopez <xlopez@igalia.com>
- We have rendering specific code in WebCore/svg/graphics. The goal is to move
- this code into suitable Renderers. This helps us to clean up the code and makes
- maintenance easier. It also makes it possible to remove rendering specific code
- from SVG*Elements into this renderers. So the Renderer contains everything that
- is needed to use the resource.
- RenderSVGResource will be the base class for all new resource render classes like
- RenderSVGResourceMasker, RenderSVGResourceClipper and the other resources.
+ Fix the GTK+ build, PluginInfoStore was removed.
- This patch starts moving SVGResourceMasker to RenderSVGResourceMasker.
- Another benefit is the much more useful result in DRT on using masker.
-
- * Android.mk:
* GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * rendering/RenderObject.cpp:
- (WebCore::RenderObject::toRenderSVGResource): Conversion to RenderSVGResource base class.
- * rendering/RenderObject.h:
- (WebCore::RenderObject::isSVGResource): Check if renderer is a resource.
- * rendering/RenderPath.cpp:
- * rendering/RenderSVGImage.cpp:
- (WebCore::RenderSVGImage::destroy): Renderer gets destroyed, unregister it from it's resources.
- * rendering/RenderSVGImage.h: Some code clean up according to the webkit style.
- (WebCore::RenderSVGImage::toSVGRenderBase):
- (WebCore::RenderSVGImage::renderName):
- (WebCore::RenderSVGImage::isSVGImage):
- (WebCore::RenderSVGImage::localToParentTransform):
- (WebCore::RenderSVGImage::strokeBoundingBox):
- (WebCore::RenderSVGImage::requiresLayer):
- (WebCore::RenderSVGImage::localTransform):
- * rendering/RenderSVGInlineText.h:
- (WebCore::RenderSVGInlineText::objectBoundingBox): Needed for SVGRenderTreeAsText
- * rendering/RenderSVGModelObject.cpp:
- (WebCore::RenderSVGModelObject::destroy): Renderer gets destroyed, unregister it from it's resources.
- * rendering/RenderSVGModelObject.h:
- * rendering/RenderSVGResource.h: Added.
- (WebCore::): Base class for all Resource renderers like masker, clipper and others.
- (WebCore::RenderSVGResource::RenderSVGResource):
- (WebCore::RenderSVGResource::cast):
- (WebCore::RenderSVGResource::toRenderSVGResource):
- (WebCore::RenderSVGResource::isSVGResource):
- (WebCore::RenderSVGResource::drawsContents):
- (WebCore::getRenderSVGResourceById):
- * rendering/RenderSVGResourceMasker.cpp: Added.
- (WebCore::RenderSVGResourceMasker::RenderSVGResourceMasker):
- (WebCore::RenderSVGResourceMasker::~RenderSVGResourceMasker):
- (WebCore::RenderSVGResourceMasker::invalidateClients): Status of masker changed, remove all clients.
- (WebCore::RenderSVGResourceMasker::invalidateClient): Status of an object changed, remove pending client.
- (WebCore::RenderSVGResourceMasker::applyResource): Apply masker to object.
- (WebCore::RenderSVGResourceMasker::resourceBoundingBox): boundingBox of the resource, depending on the object.
- (WebCore::RenderSVGResourceMasker::createMaskImage): Creates the mask image, the context gets clipped with.
- * rendering/RenderSVGResourceMasker.h: Added.
- (WebCore::MaskerData::MaskerData):
- (WebCore::RenderSVGResourceMasker::renderName):
- (WebCore::RenderSVGResourceMasker::maskUnits): Unit of mask for DRT.
- (WebCore::RenderSVGResourceMasker::maskContentUnits): Unit of childs from mask for DRT.
- (WebCore::RenderSVGResourceMasker::resourceType):
- * rendering/RenderSVGRoot.cpp:
- (WebCore::RenderSVGRoot::destroy): Renderer gets destroyed, unregister it from it's resources.
- * rendering/RenderSVGRoot.h:
- * rendering/RenderSVGText.cpp:
- (WebCore::RenderSVGText::destroy): dito.
- * rendering/RenderSVGText.h:
- * rendering/RenderTreeAsText.cpp:
- (WebCore::write):
- * rendering/SVGRenderSupport.cpp:
- (WebCore::SVGRenderBase::prepareToRenderSVGContent):
- (WebCore::SVGRenderBase::maskerBoundingBoxForRenderer):
- (WebCore::SVGRenderBase::deregisterFromResources): Unregister object from all it's resources after status changed.
- * rendering/SVGRenderSupport.h:
- (WebCore::SVGRenderBase::toSVGRenderBase):
- (WebCore::SVGRenderBase::strokeBoundingBox):
- (WebCore::SVGRenderBase::markerBoundingBox):
- * rendering/SVGRenderTreeAsText.cpp: Update TreeAsText to dump maskers correctly.
- (WebCore::operator<<):
- (WebCore::writeSVGResource):
- (WebCore::writeSVGContainer):
- (WebCore::writeSVGText):
- (WebCore::writeSVGInlineText):
- (WebCore::writeSVGImage):
- (WebCore::write):
- (WebCore::writeResourcesToObject):
- * rendering/SVGRenderTreeAsText.h:
- * svg/SVGMaskElement.cpp: Update Masker to use the new renderer.
- (WebCore::SVGMaskElement::svgAttributeChanged):
- (WebCore::SVGMaskElement::childrenChanged):
- (WebCore::SVGMaskElement::maskBoundingBox):
- (WebCore::SVGMaskElement::createRenderer):
- * svg/SVGMaskElement.h:
- * svg/SVGStyledElement.cpp: We need to tell the renderer to unregister object, after the status changed.
- (WebCore::SVGStyledElement::invalidateResources):
- (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain):
- * svg/SVGUnitTypes.h: Conversion of integer to SVGUnitType.
- (WebCore::toUnitType):
- * svg/graphics/SVGResource.h:
- (WebCore::):
- (WebCore::SVGResource::isMarker):
- * svg/graphics/SVGResourceMasker.cpp: Removed.
- * svg/graphics/SVGResourceMasker.h: Removed.
-
-2010-02-18 Dumitru Daniliuc <dumi@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Allow creating/dropping virtual tables when the module is FTS2.
-
- https://bugs.webkit.org/show_bug.cgi?id=34867
-
- * storage/DatabaseAuthorizer.cpp:
- (WebCore::DatabaseAuthorizer::createVTable):
- (WebCore::DatabaseAuthorizer::dropVTable):
-
-2010-02-18 Peter Kasting <pkasting@google.com>
-
- Not reviewed, Chromium build fix.
-
- r54963 had a typo in the WebCore.gypi change.
- https://bugs.webkit.org/show_bug.cgi?id=35003
-
- * WebCore.gypi:
-
-2010-02-18 Vangelis Kokkevis <vangelis@chromium.org>
-
- Reviewed by Simon Fraser.
-
- Changing forward declaration of TimingFunction in GraphicsLayer.h from
- class to struct to match its actual definition in TimingFunction.h
-
- https://bugs.webkit.org/show_bug.cgi?id=35069
-
-
- * platform/graphics/GraphicsLayer.h:
- Change forward declaration from: class TimingFunction to:
- struct TimingFunction
-
-2010-02-18 Noam Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Minor improvement to hybrid QPixmap
- https://bugs.webkit.org/show_bug.cgi?id=34507
- Instead of having toHTMLImageElement which creates a new element,
- assignToHTMLImageElement would set an existing HTML <img/> element to
- contain the native QPixmap/QImge.
- Also made some style fixes.
-
- Additions to existing tests: see WebKit/qt/tests
-
- * bridge/qt/qt_pixmapruntime.cpp:
- (JSC::Bindings::QtPixmapWidthField::valueFromInstance): style
- (JSC::Bindings::QtPixmapHeightField::valueFromInstance): style
- (JSC::Bindings::QtPixmapAssignToElementMethod::name): assignTo
- (JSC::Bindings::QtPixmapAssignToElementMethod::invoke): new function
- (JSC::Bindings::QtPixmapAssignToElementMethod::numParameters): 1
- (JSC::Bindings::QtPixmapToDataUrlMethod::invoke): style
- (JSC::Bindings::QtPixmapToStringMethod::invoke): style
- (JSC::Bindings::QtPixmapInstance::invokeMethod): style
- (JSC::Bindings::QtPixmapClass::methodsNamed): new func, removed old
- (JSC::Bindings::QtPixmapInstance::getPropertyNames): ditto
- (JSC::Bindings::QtPixmapInstance::defaultValue): style
- (JSC::Bindings::QtPixmapInstance::valueOf): style
- (JSC::Bindings::QtPixmapInstance::toPixmap): style
- (JSC::Bindings::QtPixmapInstance::variantFromObject): style
-
-2010-02-18 Peter Kasting <pkasting@google.com>
-
- Not reviewed, bustage fix.
-
- An extraneous line in r54839 broke GIF animation.
-
- * platform/image-decoders/gif/GIFImageReader.cpp:
- (GIFImageReader::read):
-
-2010-02-18 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Simon Fraser.
-
- <rdar://problem/7650652> REGRESSION: Selection painting issue in bug review textbox
- https://bugs.webkit.org/show_bug.cgi?id=34946
-
- Test: fast/repaint/selection-gap-overflow-scroll-2.html
-
- * rendering/RenderBlock.cpp:
- (WebCore::RenderBlock::paintSelection): localToContainerQuad() adjusts for
- overflow scroll, but RenderLayer::addBlockSelectionGapsBounds() takes
- non-scrolled coordinates, so account for that.
-
-2010-02-17 Dumitru Daniliuc <dumi@chromium.org>
-
- Reviewed by Darin Adler.
-
- Change the V8 and JSC SQLStatementErrorCallback to interpret
- 'undefined' return values as 'true', as required by the spec.
-
- https://bugs.webkit.org/show_bug.cgi?id=35048
-
- * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
- (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
- * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
- (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
- * bindings/v8/custom/V8CustomVoidCallback.cpp:
- (WebCore::invokeCallbackHelper):
- (WebCore::invokeCallback):
- (WebCore::invokeCallbackTreatUndefinedAsTrue):
- * bindings/v8/custom/V8CustomVoidCallback.h:
-
-2010-02-17 Ojan Vafai <ojan@chromium.org>
-
- Reviewed by Adam Barth.
-
- keyboard selection sometimes moves the wrong end of the selection for Win/Linux
- https://bugs.webkit.org/show_bug.cgi?id=35066
-
- On Windows/Linux keyboard based selections should always move the same
- end of the seleciton. On Mac, lineboundary and documentboundary changes
- move different ends of the selection depending on which direction your
- extending.
-
- Test: editing/selection/extend-after-mouse-selection.html
-
- * editing/SelectionController.cpp:
- (WebCore::SelectionController::positionForPlatform):
- (WebCore::SelectionController::startForPlatform):
- (WebCore::SelectionController::endForPlatform):
- (WebCore::SelectionController::modifyExtendingRight):
- (WebCore::SelectionController::modifyExtendingForward):
- (WebCore::SelectionController::modifyMovingForward):
- (WebCore::SelectionController::modifyExtendingBackward):
- (WebCore::SelectionController::modifyMovingBackward):
- * editing/SelectionController.h:
-
-2010-02-18 Timothy Hatcher <timothy@apple.com>
-
- Add "with" to the list of keywords to syntax highlight.
-
- http://webkit.org/b/35123
-
- Reviewed by Pavel Feldman.
-
- * inspector/front-end/SourceJavaScriptTokenizer.js:
- (WebInspector.SourceJavaScriptTokenizer): Add "width" to _keywords.
- * inspector/front-end/SourceJavaScriptTokenizer.re2js:
- (WebInspector.SourceJavaScriptTokenizer): Ditto.
-
-2010-02-17 Peter Kasting <pkasting@google.com>
-
- Reviewed by Adam Barth.
-
- Rework PNG-in-ICO decoding to copy the decoded framebuffer into the ICO
- decoder, making the logic less crazy and more like the other decoders.
- https://bugs.webkit.org/show_bug.cgi?id=28751
-
- * platform/image-decoders/ImageDecoder.cpp:
- (WebCore::RGBA32Buffer::operator=):
- * platform/image-decoders/ImageDecoder.h:
- (WebCore::RGBA32Buffer::RGBA32Buffer):
- * platform/image-decoders/ico/ICOImageDecoder.cpp:
- (WebCore::ICOImageDecoder::frameBufferAtIndex):
- (WebCore::ICOImageDecoder::decodeAtIndex):
- * platform/image-decoders/ico/ICOImageDecoder.h:
- * platform/image-decoders/qt/RGBA32BufferQt.cpp:
- (WebCore::RGBA32Buffer::operator=):
- * platform/image-decoders/skia/ImageDecoderSkia.cpp:
- (WebCore::RGBA32Buffer::operator=):
-
-2010-02-18 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: multiple popovers on screen at the same time.
-
- https://bugs.webkit.org/show_bug.cgi?id=35105
-
- * inspector/front-end/Popover.js:
- (WebInspector.Popover.prototype.show):
- (WebInspector.Popover.prototype.hide):
- * inspector/front-end/SourceFrame.js:
- (WebInspector.SourceFrame.prototype._showPopup):
-
-2010-02-18 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Expand Object.__proto__ properly.
-
- https://bugs.webkit.org/show_bug.cgi?id=35113
-
- * inspector/front-end/EventListenersSidebarPane.js:
- * inspector/front-end/InjectedScript.js:
- (injectedScriptConstructor):
- * inspector/front-end/ObjectProxy.js:
- (WebInspector.ObjectProxy):
- * inspector/front-end/PropertiesSidebarPane.js:
- (WebInspector.PropertiesSidebarPane.prototype.update.callback):
- * inspector/front-end/inspector.js:
- (WebInspector.log.logMessage):
- (WebInspector.log):
-
-2010-02-18 Nate Chapin <japhet@chromium.org>
-
- Reviewed by Adam Barth.
-
- [V8] Merge the DOMWindow and WorkerContext object wrapping code paths,
- and use a faster method of disambiguating between the types of contexts.
-
- https://bugs.webkit.org/show_bug.cgi?id=35009
-
- * bindings/scripts/CodeGeneratorV8.pm: Remove logic determining whether we need to
- handle the WorkerContext case.
- * bindings/v8/V8DOMWrapper.cpp:
- (WebCore::globalObjectPrototypeIsDOMWindow):
- (WebCore::V8DOMWrapper::instantiateV8Object): Merge instantiateV8Object paths.
- * bindings/v8/V8DOMWrapper.h:
-
-2010-02-12 Brett Wilson <brettw@chromium.org>
-
- Reviewed by Adam Barth.
-
- Update the Google-URL version of KURL and the V8 bindings to the new
- behavior of KURL.IsStandard.
-
- https://bugs.webkit.org/show_bug.cgi?id=34859
-
- This is covered by fast/dom/Window/invalid-protocol.html
-
- * bindings/v8/custom/V8LocationCustom.cpp:
- (WebCore::V8Location::protocolAccessorSetter):
- * platform/KURLGoogle.cpp:
- (WebCore::KURL::setProtocol):
- (WebCore::KURL::isHierarchical):
-
-2010-02-18 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Remove some duplication between PluginView and Widget methods, and
- move the setSelfVisible calls to the parent class.
-
- * platform/gtk/WidgetGtk.cpp:
- (WebCore::Widget::show):
- (WebCore::Widget::hide):
- * plugins/gtk/PluginViewGtk.cpp:
- (WebCore::PluginView::setFocus):
- (WebCore::PluginView::show):
- (WebCore::PluginView::hide):
-
-2010-02-18 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/7655195> Switch Leopard back to using CGShading to avoid CGGradient leaks
-
- Define USE_CG_SHADING on for Tiger and Leopard, and use it to toggle the methods
- used for Core Graphics gradient drawing.
- * platform/graphics/Gradient.h:
- * platform/graphics/cg/GradientCG.cpp:
- (WebCore::Gradient::platformDestroy):
- (WebCore::Gradient::paint):
+2010-05-25 Ada Chan <adachan@apple.com>
-2010-02-18 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: on-hover evaluation renders nodes and arrays as strings.
-
- https://bugs.webkit.org/show_bug.cgi?id=35103
-
- * inspector/front-end/SourceFrame.js:
- (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
-
-2010-02-18 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig.
-
- Particularly constructed WebFrames can try to access a null HistoryItem
- <rdar://problem/7638892> and https://bugs.webkit.org/show_bug.cgi?id=35063
-
- Test: fast/loader/api-test-new-window-data-load-base-url.html
-
- * loader/HistoryController.cpp:
- (WebCore::HistoryController::updateBackForwardListForFragmentScroll): We have a known case where a fragment scroll
- might take place with a null m_currentItem. updateBackForwardListClippedAtTarget() will either move m_currentItem
- to m_previousItem then create a new m_currentItem... or it will do nothing. So we either have both an m_currentItem
- and m_previousItem, or we have neither. In the case where we have no m_previousItem, return early.
-
-2010-02-18 Nate Chapin <japhet@chromium.org>
-
- Reviewed by Eric Seidel.
-
- [V8] Correctly handle the case where the event field on the
- global object is a v8::Object, but not a DOM wrapper.
-
- https://bugs.webkit.org/show_bug.cgi?id=34899
-
- Test: fast/dom/Window/window-event-override-no-crash.html
-
- * bindings/v8/ScriptController.cpp:
- (WebCore::ScriptController::processingUserGesture):
- * bindings/v8/V8DOMWrapper.cpp:
- (WebCore::V8DOMWrapper::isValidDOMObject):
- (WebCore::V8DOMWrapper::isWrapperOfType):
- * bindings/v8/V8DOMWrapper.h:
-
-2010-02-18 Pavel Feldman <pfeldman@chromium.org>
-
- Not reviewed, Qt build fix.
-
- * inspector/front-end/WebKit.qrc:
-
-2010-02-18 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Implement evaluate-on-hover for scripts panel.
-
- https://bugs.webkit.org/show_bug.cgi?id=35003
-
- * WebCore.gypi:
- * WebCore.vcproj/WebCore.vcproj:
- * inspector/front-end/Images/gearButtonGlyph.png: Added.
- * inspector/front-end/Images/popoverArrows.png: Added.
- * inspector/front-end/Images/popoverBackground.png: Added.
- * inspector/front-end/Images/thumbActiveHoriz.png: Added.
- * inspector/front-end/Images/thumbActiveVert.png: Added.
- * inspector/front-end/Images/thumbHoriz.png: Added.
- * inspector/front-end/Images/thumbHoverHoriz.png: Added.
- * inspector/front-end/Images/thumbHoverVert.png: Added.
- * inspector/front-end/Images/thumbVert.png: Added.
- * inspector/front-end/Images/trackHoriz.png: Added.
- * inspector/front-end/Images/trackVert.png: Added.
- * inspector/front-end/Popup.js:
- (WebInspector.Popup):
- (WebInspector.Popup.prototype.show):
- (WebInspector.Popup.prototype.hide):
- (WebInspector.Popup.prototype._positionElement):
- * inspector/front-end/SourceFrame.js:
- (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
- (WebInspector.SourceFrame.prototype._scroll):
- (WebInspector.SourceFrame.prototype._mouseDown):
- (WebInspector.SourceFrame.prototype._mouseUp):
- (WebInspector.SourceFrame.prototype._mouseMove):
- (WebInspector.SourceFrame.prototype._mouseOut):
- (WebInspector.SourceFrame.prototype._resetHoverTimer):
- (WebInspector.SourceFrame.prototype._hidePopup):
- (WebInspector.SourceFrame.prototype._mouseHover):
- (WebInspector.SourceFrame.prototype._showPopup.showTextPopup):
- (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
- (WebInspector.SourceFrame.prototype._showPopup.evaluateCallback):
- (WebInspector.SourceFrame.prototype._showPopup):
- (WebInspector.HoverPropertiesSection):
- (WebInspector.HoverPropertiesSection.prototype.update):
- * inspector/front-end/TextEditorHighlighter.js:
- (WebInspector.TextEditorHighlighter):
- (WebInspector.TextEditorHighlighter.prototype._lex):
- * inspector/front-end/TextViewer.js:
- (WebInspector.TextViewer.prototype._paintLine):
- * inspector/front-end/WebKit.qrc:
- * inspector/front-end/inspector.css:
- * inspector/front-end/inspector.html:
- * inspector/front-end/inspectorSyntaxHighlight.css:
- * inspector/front-end/popover.css: Added.
-
-2010-02-18 Ben Murdoch <benm@google.com>
-
- Reviewed by Jeremy Orlow.
-
- [v8] Complete upstreaming of V8 Touch Event bindings
- https://bugs.webkit.org/show_bug.cgi?id=35094
-
- No new tests required.
-
- * bindings/v8/V8Index.cpp: Add generated touch event headers.
-
-2010-02-18 Steve Block <steveblock@google.com>
-
- Reviewed by Jeremy Orlow.
-
- Updates Android V8 build to use DerivedSourcesAllInOne.cpp
- https://bugs.webkit.org/show_bug.cgi?id=35083
-
- No new tests, build fix only.
-
- * Android.derived.v8bindings.mk:
- * Android.v8bindings.mk:
-
-2010-02-18 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- fast/frames/iframe-reparenting.html crashing on GTK Debug bots
- https://bugs.webkit.org/show_bug.cgi?id=35081
-
- Check that the client is alive after every call to it, since any
- of them could cause the load to be cancelled, and the client to go
- away.
-
- This is much better than protecting a specific subclass of
- ResourceHandleClient (ResourceLoader), which makes us fail when
- any other client is used.
-
- Test: fast/frames/iframe-reparenting.html
-
- * platform/network/soup/ResourceHandleSoup.cpp:
- (WebCore::parseDataUrl):
-
-2010-02-18 Ben Murdoch <benm@google.com>
-
- Reviewed by Nate Chapin.
-
- [v8] [Android] V8 bindings for touch events are missing.
- https://bugs.webkit.org/show_bug.cgi?id=33795
-
- No new tests as this just enables touch events in V8. Existing touch tests suffice.
-
- * WebCore.gypi: Add Touch idl files.
- * bindings/scripts/CodeGeneratorV8.pm: Add TouchList to typeCanFailConversion map.
- * bindings/v8/DOMObjectsInclude.h: Add touch headers.
- * bindings/v8/DerivedSourcesAllInOne.cpp: Add touch generated bindings.
- * bindings/v8/V8Index.h: Add touch DOM object types.
- * bindings/v8/custom/V8EventCustom.cpp: Add conversion of event to touch event.
- * Android.derived.jscbindings.mk: Add the touch derived sources to the makefile.
- * Android.derived.v8bindings.mk: Add the touch derived sources to the makefile.
-
-2010-02-18 William Chan <willchan@chromium.org>
-
- Reviewed by Adam Barth.
-
- https://bugs.webkit.org/show_bug.cgi?id=35071
- Disable loader limiting of requests per host for the chromium port.
-
- No tests because we're only changing a constant.
-
- * platform/network/chromium/ResourceRequest.cpp:
- (WebCore::initializeMaximumHTTPConnectionCountPerHost):
-
-2010-02-18 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Eric Seidel.
-
- [Linux] Webkit incompatible with Java plugins
- https://bugs.webkit.org/show_bug.cgi?id=24912
-
- The NP Version supported by WebKit is at the moment hardcoded in
- PluginPackage.cpp (to 24), but not all backends actually implement
- the methods needed to claim this. Introduce a new method to be
- implemented by each backend where the maximum supported version
- can be specified, and set the GTK+ port NPVersion to 19. This
- fixes an instantaneous crasher in the Sun Java NPAPI plugin.
-
- * plugins/PluginPackage.cpp:
- (WebCore::PluginPackage::initializeBrowserFuncs):
- * plugins/PluginPackage.h:
- * plugins/gtk/PluginPackageGtk.cpp:
- (WebCore::PluginPackage::NPVersion):
- * plugins/mac/PluginPackageMac.cpp:
- (WebCore::PluginPackage::NPVersion):
- * plugins/qt/PluginPackageQt.cpp:
- (WebCore::PluginPackage::NPVersion):
- * plugins/symbian/PluginPackageSymbian.cpp:
- (WebCore::PluginPackage::NPVersion):
- * plugins/win/PluginPackageWin.cpp:
- (WebCore::PluginPackage::NPVersion):
-
-2010-02-17 Dmitry Titov <dimich@chromium.org>
-
- Reviewed by David Levin, Darin Fisher, Simon Hausmann.
-
- When a live iframe element is moved between pages, it still depends on the old page.
- https://bugs.webkit.org/show_bug.cgi?id=34382
-
- Test: fast/frames/iframe-reparenting-new-page.html
-
- * html/HTMLFrameElementBase.cpp:
- (WebCore::HTMLFrameElementBase::setName):
- Move the code setting the frame name into a separate function.
-
- (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
- (WebCore::HTMLFrameElementBase::updateOnReparenting):
- Called on the frame that was just re-parented and inserted into another Document.
- Simply invoke Frame::transferChildFrameToNewDocument(...);
-
- (WebCore::HTMLFrameElementBase::insertedIntoDocument):
- * html/HTMLFrameElementBase.h:
- * html/HTMLFrameOwnerElement.h:
- (WebCore::HTMLFrameOwnerElement::setName):
- Make this a virtual function, to be able to reach it via Frame::m_ownerElement.
-
- * loader/EmptyClients.h:
- (WebCore::EmptyFrameLoaderClient::adoptFrame):
- * loader/FrameLoaderClient.h:
- Add a new method, didTransferChildFrameToNewDocument().
- It compliments createFrame() in that a frame which was re-parented
- in DOM and potentially changes Page, should notify the WebKit
- implementation about potential ownership change.
- Many embedders assume that Page owns all the Frames, or at least
- all Frames are destroyed before 'their' Page is destroyed. Obviously, if Frame
- can be transferred to another Page, the embedders should be notified.
-
- * page/Frame.cpp:
- (WebCore::Frame::transferChildFrameToNewDocument):
- Added, makes actual adjustments for Frame - resets the Page,
- updates the frame tree and frame name, calls to FrameLoaderClient
- to update external objects and recurses into children.
- Can only be used on child frames.
-
- * page/Frame.h:
-
-2010-02-17 Tony Chang <tony@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Copying and pasting into a contenteditable area can create <div>s surrounded by <span>s
- https://bugs.webkit.org/show_bug.cgi?id=26937
-
- This happens because of a span added when we copy that is used to
- preserve styles. To avoid this, when we paste, make sure to apply
- the styles to the span's children and then remove the style span.
-
- This change is covered by existing layout tests.
-
- * editing/ReplaceSelectionCommand.cpp:
- (WebCore::ReplaceSelectionCommand::handleStyleSpans):
- (WebCore::ReplaceSelectionCommand::copyStyleToChildren):
- * editing/ReplaceSelectionCommand.h:
-
-2010-02-17 Tony Chang <tony@chromium.org>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=34914
- When pasting absolute font sizes into a content editable area with
- page zoom, adjust the font sizes to be the same after page zoom is
- applied.
-
- Test: editing/pasteboard/page-zoom.html
-
- * editing/ReplaceSelectionCommand.cpp:
- (WebCore::ReplaceSelectionCommand::negateStyleRulesThatAffectAppearance):
-
-2010-02-17 Tony Chang <tony@chromium.org>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=34737
- Copying styled list items then pasting into a list
- should work the same as copying unstyle list items:
- it shouldn't indent an extra level, but styles should
- be copied.
-
- Small cleanups to insertAsListItems to make variable names
- more descriptive.
-
- Test: editing/pasteboard/paste-list-003.html
-
- * editing/ReplaceSelectionCommand.cpp:
- (WebCore::ReplaceSelectionCommand::doApply):
- (WebCore::ReplaceSelectionCommand::insertAsListItems):
-
-2010-02-17 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Port PlatformKeyboardEvent
- https://bugs.webkit.org/show_bug.cgi?id=34794
-
- Retrieve the type, key code, text and modifiers from BREW's keyboard event.
-
- * platform/PlatformKeyboardEvent.h:
- * platform/brew/PlatformKeyboardEventBrew.cpp: Added.
- (WebCore::keyIdentifierForBrewKeyCode):
- (WebCore::windowsKeyCodeForKeyEvent):
- (WebCore::singleCharacterString):
- (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
- (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
- (WebCore::PlatformKeyboardEvent::currentCapsLockState):
-
-2010-02-17 Hayato Ito <hayato@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Support CSS page-break-inside with a value of 'avoid'.
-
- https://bugs.webkit.org/show_bug.cgi?id=34080
-
- Test: printing/page-break-inside.html
-
- * rendering/RenderBlock.cpp:
- (WebCore::RenderBlock::paintChildren):
-
-2010-02-17 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by Alexey Proskuryakov.
-
- WebSocket bufferedAmount should not be 0 when send after close.
- https://bugs.webkit.org/show_bug.cgi?id=34633
+ Reviewed by Steve Falkenburg.
- Fixed bug in webkit r54694. check m_client after it calls user
- callback, because user callback may call close(), which would
- call onclose event handler.
+ Add a base class for DOMTimer called SuspendableTimer which captures just the
+ basic functionality of TimerBase and ActiveDOMObject combined. It does not
+ contain functionality specific to scripting timers.
- Test: websocket/tests/bufferedAmount-after-close.html
-
- * websockets/ThreadableWebSocketChannelClientWrapper.h:
- (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
- * websockets/WebSocket.cpp:
- (WebCore::WebSocket::WebSocket):
- (WebCore::WebSocket::send):
- (WebCore::WebSocket::close):
- (WebCore::WebSocket::bufferedAmount):
- (WebCore::WebSocket::didConnect):
- (WebCore::WebSocket::didClose):
- * websockets/WebSocket.h:
- * websockets/WebSocketChannel.cpp:
- (WebCore::WebSocketChannel::WebSocketChannel):
- (WebCore::WebSocketChannel::send):
- (WebCore::WebSocketChannel::bufferedAmount):
- (WebCore::WebSocketChannel::didClose):
- (WebCore::WebSocketChannel::didReceiveData):
- * websockets/WebSocketChannel.h:
- * websockets/WebSocketChannelClient.h:
- (WebCore::WebSocketChannelClient::didClose):
- * websockets/WorkerThreadableWebSocketChannel.cpp:
- (WebCore::workerContextDidClose):
- (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
- * websockets/WorkerThreadableWebSocketChannel.h:
-
-2010-02-17 Yuzo Fujishima <yuzo@google.com>
-
- Reviewed by Eric Seidel.
-
- In diffing render styles, consider all pseudo style changes.
- Without this patch, only :before and :after are considered. This is the cause of the following bug.
- https://bugs.webkit.org/show_bug.cgi?id=32187
-
- Test: fast/css/first-letter-first-line-hover.html
-
- * dom/Node.cpp:
- (WebCore::Node::diff):
- * rendering/style/RenderStyle.cpp:
- (WebCore::RenderStyle::hasAnyPublicPseudoStyles):
- * rendering/style/RenderStyle.h:
- * rendering/style/RenderStyleConstants.h:
- (WebCore::):
-
-2010-02-17 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Add WebCore::prefetchDNS
- https://bugs.webkit.org/show_bug.cgi?id=34873
-
- DNS prefetching is not implemented because the maximum number
- of UDP sockets is quite small in most BREW devices.
-
- * platform/network/brew/DNSBrew.cpp: Added.
- (WebCore::prefetchDNS):
-
-2010-02-17 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Introduces new Icon loading interface in order to support
- asynchronous loading.
- https://bugs.webkit.org/show_bug.cgi?id=32054
-
- It's hard for Chromium port to load an icon inside
- Icon::createIconForFiles() because of sanbox and multi-process
- architecture. So this change adds a method to request an icon to
- Chrome class, and makes FileChooser receives an Icon instance
- asynchronously. Synchronous loading also works with the new interface.
-
- Because all ports don't have implementations of Chrome::iconForFiles()
- yet, FileChooser tries to load an Icon synchronously with
- Icon::createIconForFiles(), then tries to load an Icon asynchronously
- with Chrome::iconForFiles() if Icon::createIconForFiles() returns 0.
-
- The existing Icon::createIconForFiles() implementations should be
- moved to Chrome::iconForFiles(). We're going to remove
- Icon::createIconForFiles().
-
- * loader/EmptyClients.h:
- (WebCore::EmptyChromeClient::iconForFiles): Add an empty implementation.
- * page/Chrome.cpp:
- (WebCore::Chrome::iconForFiles): Delegate to ChromeClient::iconForFiles().
- * page/Chrome.h:
- * page/ChromeClient.h:
- (WebCore::ChromeClient::iconForFiles): Add a declaration as a pure virtual method.
- * platform/FileChooser.cpp:
- (WebCore::FileChooser::FileChooser): Use loadIcon().
- (WebCore::FileChooser::chooseFiles): ditto.
- (WebCore::FileChooser::loadIcon): Added.
- (WebCore::FileChooser::iconLoaded): Added.
- * platform/FileChooser.h: Add two methods to FileChooserClient; repaint() and iconForFiles().
- * platform/graphics/Icon.h: Add a FIXME comment.
- * platform/graphics/gtk/IconGtk.cpp: ditto.
- * platform/graphics/mac/IconMac.mm: ditto.
- * platform/graphics/qt/IconQt.cpp: ditto.
- * platform/graphics/win/IconWin.cpp: ditto.
- * rendering/RenderFileUploadControl.cpp:
- (WebCore::RenderFileUploadControl::iconForFiles): Delegate to Chrome::iconForFiles().
- (WebCore::RenderFileUploadControl::click): Use chrome().
- (WebCore::RenderFileUploadControl::chrome):
- * rendering/RenderFileUploadControl.h:
- (WebCore::RenderFileUploadControl::repaint):
-
-2010-02-17 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Darin Adler.
-
- Bug 35065: Delay between page loading and animated GIF playing
- <http://webkit.org/b/35065> / <rdar://problem/7109548>
-
- BitmapImage::startAnimation was adding the current frame duration to the desired start time
- of the frame for every time it was called. If the function then bailed out due to not having
- sufficient data to render the frame, this would lead to the desired start time of the frame
- being pushed out multiple times. On an animated GIF that took mulitple seconds to load this
- could happen many times for a single frame, resulting in the start time of the second frame
- of the animation being pushed out by as much as five seconds.
-
- * platform/graphics/BitmapImage.cpp:
- (WebCore::BitmapImage::startAnimation): Change the order of the code slightly so that the
- desired start time is only updated after determining that we have sufficient data to handle
- the next frame.
-
-2010-02-17 Stephan Aßmus <superstippi@gmx.de>
-
- Reviewed by Eric Seidel.
-
- Implemented homeDirectoryPath() and listDirectory() on the Haiku platform.
- https://bugs.webkit.org/show_bug.cgi?id=34687
-
- Covered by existing tests.
-
- * platform/haiku/FileSystemHaiku.cpp:
- (WebCore::homeDirectoryPath): Implemented
- (WebCore::listDirectory): Implemented
-
-2010-02-17 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Port userIdleTime
- https://bugs.webkit.org/show_bug.cgi?id=34259
-
- Return an arbitrarily high userIdleTime so that releasing pages from the page
- cache isn't postponed.
-
- * platform/brew/SystemTimeBrew.cpp: Added.
- (WebCore::userIdleTime):
-
-2010-02-17 Dirk Schulze <krit@webkit.org>
-
- Rolling out r54909. Breaks SL and Win.
-
-2010-02-17 Dumitru Daniliuc <dumi@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Fix Chromium's bindings for Database.transaction(): a 'null'
- callback should be treated as no callback.
-
- Test: storage/null-callbacks.html
-
- https://bugs.webkit.org/show_bug.cgi?id=35047
-
- * bindings/v8/custom/V8DatabaseCustom.cpp:
- (WebCore::createTransaction):
-
-2010-02-17 Dirk Schulze <krit@webkit.org>
-
- Reviewed by Nikolas Zimmermann.
-
- Move SVGResources to Renderers, starting with Masker
- https://bugs.webkit.org/show_bug.cgi?id=35020
-
- We have rendering specific code in WebCore/svg/graphics. The goal is to move
- this code into suitable Renderers. This helps us to clean up the code and makes
- maintenance easier. It also makes it possible to remove rendering specific code
- from SVG*Elements into this renderers. So the Renderer contains everything that
- is needed to use the resource.
- RenderSVGResource will be the base class for all new resource render classes like
- RenderSVGResourceMasker, RenderSVGResourceClipper and the other resources.
-
- This patch starts moving SVGResourceMasker to RenderSVGResourceMasker.
- Another benefit is the much more useful result in DRT on using masker.
+ SuspendableTimer is used in fixing https://bugs.webkit.org/show_bug.cgi?id=39651
* Android.mk:
+ * CMakeLists.txt:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
- * rendering/RenderObject.cpp:
- (WebCore::RenderObject::toRenderSVGResource): Conversion to RenderSVGResource base class.
- * rendering/RenderObject.h:
- (WebCore::RenderObject::isSVGResource): Check if renderer is a resource.
- * rendering/RenderPath.cpp:
- * rendering/RenderSVGImage.cpp:
- (WebCore::RenderSVGImage::destroy): Renderer gets destroyed, unregister it from it's resources.
- * rendering/RenderSVGImage.h: Some code clean up according to the webkit style.
- (WebCore::RenderSVGImage::toSVGRenderBase):
- (WebCore::RenderSVGImage::renderName):
- (WebCore::RenderSVGImage::isSVGImage):
- (WebCore::RenderSVGImage::localToParentTransform):
- (WebCore::RenderSVGImage::strokeBoundingBox):
- (WebCore::RenderSVGImage::requiresLayer):
- (WebCore::RenderSVGImage::localTransform):
- * rendering/RenderSVGInlineText.h:
- (WebCore::RenderSVGInlineText::objectBoundingBox): Needed for SVGRenderTreeAsText
- * rendering/RenderSVGModelObject.cpp:
- (WebCore::RenderSVGModelObject::destroy): Renderer gets destroyed, unregister it from it's resources.
- * rendering/RenderSVGModelObject.h:
- * rendering/RenderSVGResource.h: Added.
- (WebCore::): Base class for all Resource renderers like masker, clipper and others.
- (WebCore::RenderSVGResource::RenderSVGResource):
- (WebCore::RenderSVGResource::cast):
- (WebCore::RenderSVGResource::toRenderSVGResource):
- (WebCore::RenderSVGResource::isSVGResource):
- (WebCore::RenderSVGResource::drawsContents):
- (WebCore::getRenderSVGResourceById):
- * rendering/RenderSVGResourceMasker.cpp: Added.
- (WebCore::RenderSVGResourceMasker::RenderSVGResourceMasker):
- (WebCore::RenderSVGResourceMasker::~RenderSVGResourceMasker):
- (WebCore::RenderSVGResourceMasker::invalidateClients): Status of masker changed, remove all clients.
- (WebCore::RenderSVGResourceMasker::invalidateClient): Status of an object changed, remove pending client.
- (WebCore::RenderSVGResourceMasker::applyResource): Apply masker to object.
- (WebCore::RenderSVGResourceMasker::resourceBoundingBox): boundingBox of the resource, depending on the object.
- (WebCore::RenderSVGResourceMasker::createMaskImage): Creates the mask image, the context gets clipped with.
- * rendering/RenderSVGResourceMasker.h: Added.
- (WebCore::MaskerData::MaskerData):
- (WebCore::RenderSVGResourceMasker::renderName):
- (WebCore::RenderSVGResourceMasker::maskUnits): Unit of mask for DRT.
- (WebCore::RenderSVGResourceMasker::maskContentUnits): Unit of childs from mask for DRT.
- (WebCore::RenderSVGResourceMasker::resourceType):
- * rendering/RenderSVGRoot.cpp:
- (WebCore::RenderSVGRoot::destroy): Renderer gets destroyed, unregister it from it's resources.
- * rendering/RenderSVGRoot.h:
- * rendering/RenderSVGText.cpp:
- (WebCore::RenderSVGText::destroy): dito.
- * rendering/RenderSVGText.h:
- * rendering/RenderTreeAsText.cpp:
- (WebCore::write):
- * rendering/SVGRenderSupport.cpp:
- (WebCore::SVGRenderBase::prepareToRenderSVGContent):
- (WebCore::SVGRenderBase::maskerBoundingBoxForRenderer):
- (WebCore::SVGRenderBase::deregisterFromResources): Unregister object from all it's resources after status changed.
- * rendering/SVGRenderSupport.h:
- (WebCore::SVGRenderBase::toSVGRenderBase):
- (WebCore::SVGRenderBase::strokeBoundingBox):
- (WebCore::SVGRenderBase::markerBoundingBox):
- * rendering/SVGRenderTreeAsText.cpp: Update TreeAsText to dump maskers correctly.
- (WebCore::operator<<):
- (WebCore::writeSVGResource):
- (WebCore::writeSVGContainer):
- (WebCore::writeSVGText):
- (WebCore::writeSVGInlineText):
- (WebCore::writeSVGImage):
- (WebCore::write):
- (WebCore::writeResourcesToObject):
- * rendering/SVGRenderTreeAsText.h:
- * svg/SVGMaskElement.cpp: Update Masker to use the new renderer.
- (WebCore::SVGMaskElement::svgAttributeChanged):
- (WebCore::SVGMaskElement::childrenChanged):
- (WebCore::SVGMaskElement::maskBoundingBox):
- (WebCore::SVGMaskElement::createRenderer):
- * svg/SVGMaskElement.h:
- * svg/SVGStyledElement.cpp: We need to tell the renderer to unregister object, after the status changed.
- (WebCore::SVGStyledElement::invalidateResources):
- (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain):
- * svg/SVGUnitTypes.h: Conversion of integer to SVGUnitType.
- (WebCore::toUnitType):
- * svg/graphics/SVGResource.h:
- (WebCore::):
- (WebCore::SVGResource::isMarker):
- * svg/graphics/SVGResourceMasker.cpp: Removed.
- * svg/graphics/SVGResourceMasker.h: Removed.
-
-2010-02-17 Kenneth Russell <kbr@google.com>
-
- Reviewed by Oliver Hunt.
-
- Refactor texImage2D and texSubImage2D taking Image to use common code
- https://bugs.webkit.org/show_bug.cgi?id=34458
-
- Merged the Safari and Chromium code which extracts the data from
- Image objects into common entry points on GraphicsContext3D. This
- immediately fixes the following three problems:
- - Chromium not implementing texSubImage2D taking Image.
- - Safari not obeying the flipY parameter to texImage2D or
- texSubImage2D taking Image.
- - Safari not obeying the premultipyAlpha parameter to texImage2D
- or texSubImage2D taking Image.
- Added new test verifying the behavior of texImage2D and
- texSubImage2D and the flipY parameter. The premultiplyAlpha
- parameter can not be tested yet as the implementation is not yet
- spec compliant. This will be fixed in a follow-on bug.
-
- Ran all WebGL demos in demo repository on Safari and Chromium;
- textures are now the right way up in both browsers, and
- transparent textures in Particles demo now look correct in Safari.
-
- Test: fast/canvas/webgl/tex-image-and-sub-image-2d-with-image.html
-
- * WebCore.gyp/WebCore.gyp:
- * WebCore.gypi:
- * WebCore.xcodeproj/project.pbxproj:
- * platform/graphics/GraphicsContext3D.cpp: Added.
- (WebCore::GraphicsContext3D::extractImageData):
- (WebCore::GraphicsContext3D::processImageData):
- (WebCore::GraphicsContext3D::premultiplyAlpha):
- (WebCore::GraphicsContext3D::unmultiplyAlpha):
- * platform/graphics/GraphicsContext3D.h:
- (WebCore::GraphicsContext3D::):
- * platform/graphics/cg/GraphicsContext3DCG.cpp: Added.
- (WebCore::GraphicsContext3D::getImageData):
- * platform/graphics/mac/GraphicsContext3DMac.cpp:
- (WebCore::GraphicsContext3D::texImage2D):
- (WebCore::GraphicsContext3D::texSubImage2D):
- * platform/graphics/skia/GraphicsContext3DSkia.cpp: Added.
- (WebCore::GraphicsContext3D::getImageData):
-
-2010-02-17 Noam Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Ariya Hidayat.
-
- [Qt] GraphicsLayer: support perspective and 3D transforms
- https://bugs.webkit.org/show_bug.cgi?id=34960
-
- New tests: http://webkit.org/blog-files/3d-transforms/perspective-by-example.html
-
- * platform/graphics/qt/GraphicsLayerQt.cpp:
- (WebCore::GraphicsLayerQtImpl::updateTransform):
- (WebCore::GraphicsLayerQtImpl::setBaseTransform):
- (WebCore::GraphicsLayerQtImpl::computeTransform):
- (WebCore::GraphicsLayerQtImpl::flushChanges):
- (WebCore::TransformAnimationQt::~TransformAnimationQt):
-
-2010-02-17 Peter Kasting <pkasting@google.com>
-
- Unreviewed, build fix.
-
- Fix crashes due to an omitted line in r54839.
-
- * platform/image-decoders/png/PNGImageDecoder.cpp:
- (WebCore::decodingFailed):
-
-2010-02-17 Alok Priyadarshi <alokp@chromium.org>
-
- Reviewed by Ariya Hidayat.
-
- Bug 34900: Implement accelerated compositing for chromium.
- https://bugs.webkit.org/show_bug.cgi?id=34900
-
- Do not exclude files needed for accelerated compositing. In fact there is no need to exclude these files.
- These files are already guarded with WTF_USE_ACCELERATED_COMPOSITING flag.
-
- * WebCore.gyp/WebCore.gyp: Removed GraphicsLayer.cpp, RenderLayerBacking.cpp,
- and RenderLayerCompositor.cpp from excluded list.
-
-2010-02-17 Jian Li <jianli@chromium.org>
-
- Reviewed by Darin Fisher.
-
- [chromium] Remove the obsolete chromium interface for handling DownloadURL.
- https://bugs.webkit.org/show_bug.cgi?id=34982
-
- * platform/chromium/ChromiumDataObject.cpp:
- (WebCore::ChromiumDataObject::clear):
- (WebCore::ChromiumDataObject::hasData):
- (WebCore::ChromiumDataObject::ChromiumDataObject):
- * platform/chromium/ChromiumDataObject.h:
- * platform/chromium/ClipboardChromium.cpp:
- (WebCore::ClipboardChromium::setData):
-
-2010-02-17 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/7645569> REGRESSION (r51324): Incorrect marker rects for blocks that span multiple columns
-
- * manual-tests/match-marker-rects.html: Added.
- * rendering/InlineTextBox.cpp:
- (WebCore::InlineTextBox::paintTextMatchMarker): Use the text renderer rather
- than its ancestor block for the local-to-absolute transformation.
- (WebCore::InlineTextBox::computeRectForReplacementMarker): Ditto.
-
-2010-02-17 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- Does not send an Accept header for subresources, causing some sites to break
- https://bugs.webkit.org/show_bug.cgi?id=33242
-
- Set */* as the Accept header when downloading resources
- that did not set an Accept header. This behaviour is similar to
- the one adopted by Chromium.
-
- Test: http/tests/misc/image-checks-for-accept.html
-
- * platform/network/soup/ResourceHandleSoup.cpp:
- (WebCore::startHttp):
-
-2010-02-17 Marcus Bulach <bulach@chromium.org>
-
- Reviewed by Jeremy Orlow.
-
- Fixes initialization order of members for GeolocationServiceChromium.
- https://bugs.webkit.org/show_bug.cgi?id=35034
-
- * platform/chromium/GeolocationServiceChromium.cpp:
-
-2010-02-17 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- [Linux] Webkit incompatible with Java plugins
- https://bugs.webkit.org/show_bug.cgi?id=24912
-
- Resolve symlinks before trying to load plugins as modules, since
- GModule won't do it.
-
- Based on original work by Gustavo Noronha.
-
- * plugins/gtk/PluginPackageGtk.cpp:
- (WebCore::PluginPackage::load):
-
-2010-02-17 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- Protect the resource loader object from disappearing during
- parseDataUrl.
-
- Tested by testdownload API test.
-
- * platform/network/soup/ResourceHandleSoup.cpp:
- (WebCore::parseDataUrl):
-
-2010-02-17 Marcus Bulach <bulach@chromium.org>
-
- Reviewed by Jeremy Orlow.
-
- Implements GeolocationServices for Chromium.
- https://bugs.webkit.org/show_bug.cgi?id=32068
-
- This is part of implementing Geolocation framework for Chromium. Existing layout tests should pass.
-
- * WebCore.gypi:
- * page/Geolocation.h:
- * platform/GeolocationService.h:
-
-2010-02-17 Steve Block <steveblock@google.com>
-
- Reviewed by Ariya Hidayat.
-
- Adds missing platform and feature guards to V8 bindings
- https://bugs.webkit.org/show_bug.cgi?id=34987
-
- No new tests, build fix only.
-
- * bindings/v8/V8Proxy.cpp: Modified. Adds CHROMIUM guards and uses PlatformBridge in place of ChromiumBridge
- * bindings/v8/V8Proxy.h: Modified. Adds CHROMIUM guards and uses PlatformBridge in place of ChromiumBridge
- * bindings/v8/custom/V8DocumentCustom.cpp: Modified. Adds XPATH guards
-
-2010-02-17 Steve Block <steveblock@google.com>
-
- Reviewed by Ariya Hidayat.
-
- Include WebCore's npruntime.h for Android in V8 bindings
- https://bugs.webkit.org/show_bug.cgi?id=35002
-
- Currently, the V8 bindings include bindings/npruntime.h, which is a
- Chromium-specific file outside of the WebKit tree.
-
- No new tests, build fix only.
-
- * bindings/v8/NPV8Object.cpp:
- * bindings/v8/NPV8Object.h:
- * bindings/v8/V8NPObject.h:
- * bindings/v8/V8NPUtils.h:
- * bindings/v8/npruntime_impl.h:
- * bindings/v8/npruntime_priv.h:
-
-2010-01-07 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GStreamer] Should handle BUFFERING messages
- https://bugs.webkit.org/show_bug.cgi?id=30004
-
- Initial support for on-disk buffering of videos. This works only
- for Quicktime and flv though.
-
- * css/mediaControlsGtk.css:
- * platform/gtk/RenderThemeGtk.cpp:
- (WebCore::RenderThemeGtk::paintMediaSliderTrack): Draw the
- buffering status in the media controls.
- * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
- (WebCore::mediaPlayerPrivateMessageCallback): Defer buffering
- messages handling to processBufferingStats().
- (WebCore::bufferingTimeoutCallback): Closure called periodically
- during the on-disk buffering process.
- (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): New instance
- variables and create playbin2 here instead of doing it in load().
- (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): New instance
- variables.
- (WebCore::MediaPlayerPrivate::load): Simply set uri on playbin2
- instead of creating the pipeline and setting uri all together.
- (WebCore::MediaPlayerPrivate::processBufferingStats): Start a new
- timeout source if the player is starting on-disk buffering.
- (WebCore::MediaPlayerPrivate::queryBufferingStats): Method called
- 200ms during on-disk buffering to update the maxTimeLoaded and few
- other private variables.
- (WebCore::MediaPlayerPrivate::maxTimeSeekable):
- (WebCore::MediaPlayerPrivate::maxTimeLoaded):
- (WebCore::MediaPlayerPrivate::bytesLoaded): Fixed implementations
- regarding buffering.
- (WebCore::MediaPlayerPrivate::totalBytes): Improved logging.
- (WebCore::MediaPlayerPrivate::updateStates): Start playback if it
- was internally paused at beginning of on-disk buffering and set
- ready/network states depending on the state of the on-disk
- buffering process.
- (WebCore::MediaPlayerPrivate::didEnd): Emit durationChanged.
- (WebCore::MediaPlayerPrivate::setAutobuffer): Edit playbin2 flags
- property depending on autoBuffer value.
- (WebCore::MediaPlayerPrivate::createGSTPlayBin): Don't set uri
- there, it is now done in load().
- * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: New methods
- and instance variables.
-
-2010-02-16 Chris Evans <cevans@chromium.org>
-
- Reviewed by Adam Barth.
-
- Add a new setting which gives the option of assigning every file:///
- to its own unique domain.
-
- https://bugs.webkit.org/show_bug.cgi?id=34778
-
- Test: Pending in forthcoming separate change due to non-trivial
- dependencies.
-
- * dom/Document.cpp:
- (WebCore::Document::initSecurityContext): Place file:/// URI documents
- into their own unique domains if the new setting requires it.
- * page/Settings.h:
- * page/Settings.cpp:
- (WebCore::Settings::setAllowFileAccessFromFileURLs): Simple setter.
- * page/SecurityOrigin.h:
- * page/SecurityOrigin.cpp:
- (WebCore::SecurityOrigin::makeUnique): Add simple ability to force an
- origin to be considered unique.
-
-2010-02-16 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: drosera/demo.js not syntax highlighted correctly.
-
- https://bugs.webkit.org/show_bug.cgi?id=35008
-
- * inspector/front-end/SourceTokenizer.js:
- (WebInspector.SourceTokenizer.Registry):
- (WebInspector.SourceTokenizer.Registry.prototype.getTokenizer):
-
-2010-02-16 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: prefer smooth scrolling to instant highlight.
-
- https://bugs.webkit.org/show_bug.cgi?id=34978
-
- * inspector/front-end/TextViewer.js:
- (WebInspector.TextViewer):
- (WebInspector.TextViewer.prototype._scroll):
- (WebInspector.TextChunk):
- (WebInspector.TextChunk.prototype._createRow):
- * inspector/front-end/textViewer.css:
-
-2010-02-16 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Nikolas Zimmermann.
-
- SVG not rendered as background-image from data URI
- https://bugs.webkit.org/show_bug.cgi?id=33630
-
- When the background image is an SVG image, and it is smaller than the area
- it is supposed to fill, we were using renderSubTreeToImage to draw it.
- That call was not going through all the drawing phases, and so the SVG itself
- would not be drawn.
-
- Test: svg/css/background-image-svg.html
-
- * svg/graphics/SVGImage.cpp:
- (WebCore::SVGImage::nativeImageForCurrentFrame):
-
-2010-02-16 Bryan Yeung <bryeung@chromium.org>
-
- Reviewed by Nikolas Zimmermann.
-
- Remove the bounds on stroke width and miter for the skia platform.
- https://bugs.webkit.org/show_bug.cgi?id=34954
-
- Test: svg/custom/stroke-width-large.svg
-
- * platform/graphics/skia/PlatformContextSkia.cpp:
- (PlatformContextSkia::setupPaintForStroking):
-
-2010-02-16 MORITA Hajime <morrita@gmail.com>
-
- Reviewed by Nikolas Zimmermann.
-
- REGRESSION: SVG text disappaears after double click
- https://bugs.webkit.org/show_bug.cgi?id=34880
-
- Tests: svg/text/selection-doubleclick.svg
- svg/text/selection-tripleclick.svg
-
- * rendering/SVGRootInlineBox.cpp:
- (WebCore::SVGRootInlineBoxPaintWalker::mayHaveSelection):
- Use InlineTextBox::selectionStartEnd() instead of
- RenderObject::selectionStartEnd() because latter may span multiple
- comparing startPos and endPos is irrelevant in some cases.
- former selectionStartEnd() is for single line and comparing
- startPos and endPos will make sense.
-
-2010-02-16 Jessie Berlin <jberlin@webkit.org>
-
- Reviewed by Timothy Hatcher.
-
- Inspector should display Array lengths in the property lists.
- https://bugs.webkit.org/show_bug.cgi?id=20695
-
- * inspector/front-end/InjectedScript.js:
- (injectedScriptConstructor):
- For objects of type 'array' (which includes Arrays, NodeLists, and HTMLCollections), make the length of the object available via propertyLength on the proxy object.
- * inspector/front-end/ObjectPropertiesSection.js:
- (WebInspector.ObjectPropertyTreeElement.prototype.update):
- For properties that have propertyLength defined, append it to the displayed description.
-
-2010-02-16 Yusuke Sato <yusukes@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [Chromium] OpenType font with CFF glyphs is not handled correctly on Windows XP
- https://bugs.webkit.org/show_bug.cgi?id=34735
-
- Use 0xFFFF as invalidGlyph when fontData is a OpenType font with CFF glyphs.
-
- Test: fast/css/font-face-opentype.html
-
- * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
- (WebCore::fillBMPGlyphs):
-
-2010-02-16 Darin Adler <darin@apple.com>
-
- * page/MediaCanStartListener.h: Fixed license.
-
-2010-02-16 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- Generalize delayed plug-in start for background tabs for use for other media
- https://bugs.webkit.org/show_bug.cgi?id=34981
-
- Also did some simple cleanup of HTMLMediaElement to get ready to make it
- a client of the same mechanism.
-
- * WebCore.base.exp: Added Page::setCanStartMedia and resorted.
- * WebCore.xcodeproj/project.pbxproj: Added MediaCanStartListener.h.
-
- * html/HTMLAudioElement.h: Added an implementation of isVideo since that
- is now a pure virtual function in HTMLMediaElement. Also made tagPriority
- private.
-
- * html/HTMLMediaElement.h: Made it clearer that HTMLMediaElement is an
- abstract base class by making its constructor protected and making the
- isVideo function a pure virtual function.
-
- * page/Page.cpp:
- (WebCore::Page::Page): Updated for name change from m_canStartPlugins
- to m_canStartMedia.
- (WebCore::Page::addMediaCanStartListener): Renamed and added an assertion.
- (WebCore::Page::removeUnstartedMedia): Ditto.
- (WebCore::Page::setCanStartMedia): Renamed plugin to media and moved
- the code here from PageWin.cpp. The main change from the one in PageWin.cpp
- is that this function calls mediaCanStart rather than explicitly calling a
- combination of start and dispatchDidFailToStartPlugin on a PluginView.
-
- * page/Page.h: Re-sorted forward class declarations. Renamed the plugin
- starting functions to media starting names and changed types from
- PluginView to MediaCanStartListener.
-
- * page/MediaCanStartListener.h: Added.
-
- * page/win/PageWin.cpp: Moved setCanStartPlugins to the platform-independent
- Page.cpp file so it can be used for more than just Windows plug-ins.
-
- * plugins/PluginView.cpp: Sorted includes.
- (WebCore::PluginView::startOrAddToUnstartedList): Use addMediaCanStartListener.
- (WebCore::PluginView::mediaCanStart): Added. Called when the page decides that
- media can start. Contains the code that used to be in Page::setCanStartPlugins.
- (WebCore::PluginView::removeFromUnstartedListIfNecessary): Use
- removeMediaCanStartListener.
-
- * plugins/PluginView.h: Adopted MediaCanStartListener.
-
-2010-02-16 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- https://bugs.webkit.org/show_bug.cgi?id=34999
- Compositing layers inside overflow:scroll divs are not always updated on scrolling
-
- When RenderLayer::scrollToOffset() updates compositing layer positions, it needs
- to start updating at its stacking context rather than just its compositing ancestor.
- The stacking context is guaranteed to contain all descendants of the overflow
- layer, including those that are not direct descendants of the overflow layer in stacking
- (and therefore compositing) order.
-
- Test: compositing/overflow/scroll-ancestor-update.html
-
- * rendering/RenderLayer.cpp:
- (WebCore::RenderLayer::scrollToOffset):
-
-2010-02-16 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Simon Fraser.
-
- Allow FloatRect::center() to return fractional coordinates. It was
- mistakenly converting to integers.
-
- * platform/graphics/FloatRect.h:
- (WebCore::FloatRect::center):
-
-2010-02-16 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=34964
- Leaks tool reports false memory leaks due to Rope implementation.
-
- Renamed cUStringImpl::size() to UStringImpl::size()UStringImpl::length()
- (matches WebCore::StringImpl).
-
- * bridge/jni/jsc/JavaStringJSC.h:
- (JSC::Bindings::JavaStringImpl::length):
- * platform/text/AtomicString.cpp:
- (WebCore::AtomicString::add):
- (WebCore::AtomicString::find):
-
-2010-02-15 Jon Honeycutt <jhoneycutt@apple.com>
-
- <rdar://problem/7288853> Message about missing plugin does not specify
- the type or download link for download
-
- Reviewed by Mark Rowe.
-
- * plugins/PluginDatabase.cpp:
- (WebCore::PluginDatabase::findPlugin):
- Only update the mimeType out param if we find a plug-in for the file
- extension.
-
-2010-02-16 Simon Fraser <simon.fraser@apple.com>
-
- Build fix for Tiger.
-
- Add #if USE(ACCELERATED_COMPOSITING) around the call to mediaPlayerRenderingModeChanged().
-
- * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
- (WebCore::MediaPlayerPrivate::setUpVideoRendering):
-
-2010-02-16 Csaba Osztrogonác <ossy@webkit.org>
-
- Reviewed by Eric Carlson.
-
- Buildfix for r54826.
-
- HTMLMediaElement class defined by HTMLMediaElement.h in #if ENABLE(VIDEO) block,
- it should be in #if ENABLE(VIDEO) block in rendering/RenderLayerBacking.cpp too.
-
- * rendering/RenderLayerBacking.cpp: Missing #if ENABLE(VIDEO) guard added.
- (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
-
-2010-02-16 Julie Parent <jparent@chromium.org>
-
- Unreviewed: Chromium build fix.
-
- http://trac.webkit.org/changeset/54823 introduced an unused variable. Remove it.
-
- * platform/image-decoders/ImageDecoder.cpp:
- (WebCore::ImageDecoder::create):
-
-2010-02-16 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- Bug 34974: Leak of ScheduledAction during layout tests
- <https://bugs.webkit.org/show_bug.cgi?id=34974>
-
- ScheduledAction::create was returning a raw pointer which was threaded down through to an OwnPtr in DOMTimer.
- If any of the code paths in between hit an error case and returned early the raw pointer would be leaked. We
- can avoid this by passing it as a PassOwnPtr. This will ensure that the ScheduledAction is cleaned up should
- an error case be hit.
-
- * bindings/js/JSDOMWindowCustom.cpp:
- (WebCore::JSDOMWindow::setTimeout): Store the newly-created ScheduledAction in an OwnPtr and then hand it off
- as the function argument.
- (WebCore::JSDOMWindow::setInterval): Ditto.
- * bindings/js/JSWorkerContextCustom.cpp:
- (WebCore::JSWorkerContext::setTimeout): Ditto.
- (WebCore::JSWorkerContext::setInterval): Ditto.
- * bindings/js/ScheduledAction.cpp:
- (WebCore::ScheduledAction::create): Return a PassOwnPtr.
- * bindings/js/ScheduledAction.h:
* page/DOMTimer.cpp:
- (WebCore::DOMTimer::DOMTimer): Update argument type.
- (WebCore::DOMTimer::install): Ditto.
+ (WebCore::DOMTimer::DOMTimer):
+ (WebCore::DOMTimer::contextDestroyed):
+ (WebCore::DOMTimer::stop):
* page/DOMTimer.h:
- * page/DOMWindow.cpp:
- (WebCore::DOMWindow::setTimeout): Ditto.
- (WebCore::DOMWindow::setInterval): Ditto.
- * page/DOMWindow.h:
-
-2010-02-16 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Reviewed by David Hyatt.
-
- SVG units don't stay consistently sized on zoom
- https://bugs.webkit.org/show_bug.cgi?id=14004
-
- Large step towards making WebKit an usable SVG viewer.
-
- Make zooming into SVG documents work as expected, in both standalone and XHTML/SVG compound documents.
- SVG applies a global scale to the document, whereas CSS zooms all individual length units (on full-page-zoom).
- Scaling has to be avoided for all SVG specific CSS properties (already works) and for some selected CSS
- properties shared between CSS & SVG that explicitely need a different treatment in the context of SVG.
- To name a few: font-size, letter-spacing, etc. should stay invariant under zoom in SVG document fragments.
-
- Some new rules regarding zooming:
- - "Zoom text only" should never affect SVG documents, neither text nor content should zoom.
- This option doesn't make much sense for SVG, so it's wise to avoid side-effects and disable it.
- In compound documents the SVG would stay as-is and only text of surrounding XHTML content would zoom.
-
- - "Full page zoom" is the only zoom mode affecting SVG. (Panning only works in standalone documents.)
-
- Cover all mentioned cases above by a new set of layout tests.
-
- Tests: svg/zoom/page/absolute-sized-document-no-scrollbars.svg
- svg/zoom/page/absolute-sized-document-scrollbars.svg
- svg/zoom/page/relative-sized-document-scrollbars.svg
- svg/zoom/page/zoom-coords-viewattr-01-b.svg
- svg/zoom/page/zoom-foreignObject.svg
- svg/zoom/page/zoom-hixie-mixed-008.xml
- svg/zoom/page/zoom-hixie-mixed-009.xml
- svg/zoom/page/zoom-hixie-rendering-model-004.xhtml
- svg/zoom/page/zoom-svg-float-border-padding.xml
- svg/zoom/text/absolute-sized-document-no-scrollbars.svg
- svg/zoom/text/absolute-sized-document-scrollbars.svg
- svg/zoom/text/relative-sized-document-scrollbars.svg
- svg/zoom/text/zoom-coords-viewattr-01-b.svg
- svg/zoom/text/zoom-foreignObject.svg
- svg/zoom/text/zoom-hixie-mixed-008.xml
- svg/zoom/text/zoom-hixie-mixed-009.xml
- svg/zoom/text/zoom-hixie-rendering-model-004.xhtml
- svg/zoom/text/zoom-svg-float-border-padding.xml
-
- * css/CSSStyleSelector.cpp: Blacklist certain properties not to be zoomed for SVG elements.
- (WebCore::CSSStyleSelector::styleForDocument): Don't zoom font-sizes.
- (WebCore::CSSStyleSelector::applyProperty): Ditto (+ letter/word-spacing).
- (WebCore::CSSStyleSelector::setFontSize): Ditto.
- (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): Never apply text zoom to SVG.
- * css/CSSStyleSelector.h:
- * css/SVGCSSStyleSelector.cpp: -webkit-shadow + SVG was incorrectly respecting zoom factor.
- (WebCore::CSSStyleSelector::applySVGProperty):
- * page/Frame.cpp:
- (WebCore::Frame::shouldApplyTextZoom): Remove SVG special cases.
- (WebCore::Frame::shouldApplyPageZoom): Ditto.
- (WebCore::Frame::setZoomFactor): Don't force setZoomsTextOnly() - SVG now uses FPZ as well.
- * rendering/RenderSVGRoot.cpp:
- (WebCore::RenderSVGRoot::calcReplacedWidth): CSSPropertyWidth is explicitely not scaled by CSSStyleSelector, fix that for outermost <svg> elements.
- (WebCore::RenderSVGRoot::calcReplacedHeight): Ditto for CSSPropertyHeight.
- (WebCore::RenderSVGRoot::layout): Simplify & cleanup code, take advantage of new calcWidth/Height functionality, no need to scale anything here.
- (WebCore::RenderSVGRoot::paint): Use parentOriginToBorderBox() instead of duplicating code.
- (WebCore::RenderSVGRoot::calcViewport): Simplify code.
- (WebCore::RenderSVGRoot::localToBorderBoxTransform): Calculate viewBoxToViewTransformation() against unscaled width()/height() values.
- * rendering/RenderSVGRoot.h:
- * svg/SVGLength.cpp:
- (WebCore::SVGLength::PercentageOfViewport): Cleanup & document function.
- * svg/SVGSVGElement.cpp:
- (WebCore::SVGSVGElement::currentScale): Return pageZoomFactor(), not just the zoomFactor() - as we want to ignore text-only zoom.
- (WebCore::SVGSVGElement::setCurrentScale): Pass isTextOnly=false to setZoomFactor().
-
-2010-02-16 Julie Parent <jparent@chromium.org>
-
- Unreviewed: Chromium build fix.
-
- https://bugs.webkit.org/show_bug.cgi?id=34998
-
- Move include of JavaScriptProfile.h behind if (USE_JSC).
-
- * inspector/InspectorController.cpp:
-
-2010-02-16 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Geoffrey Garen and Kevin Decker.
-
- https://bugs.webkit.org/show_bug.cgi?id=34989
- <rdar://problem/7417965> Cursor disappears on scroll bars that are over plugin content
-
- * html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::defaultEventHandler): Added some
- comments about the way we pass events down to plug-ins.
-
-2010-02-16 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Eric Carlson.
-
- With hardware acceleration turned off, video frames never display if poster
- image is specified
- https://bugs.webkit.org/show_bug.cgi?id=34965
-
- HTMLVideoElement's m_shouldDisplayPosterImage was never updated after
- the movie supplied its first video frame, so the poster would continue to show.
-
- Fixed by calling updatePosterImage() from mediaPlayerRepaint(), which is called
- each time a new frame is available. updatePosterImage() is cheap.
-
- Also made updatePosterImage() virtual on HTMLMediaElement to avoid a number of
- ugly casts.
+ * page/SuspendableTimer.cpp: Added.
+ (WebCore::SuspendableTimer::SuspendableTimer):
+ (WebCore::SuspendableTimer::~SuspendableTimer):
+ (WebCore::SuspendableTimer::hasPendingActivity):
+ (WebCore::SuspendableTimer::stop):
+ (WebCore::SuspendableTimer::suspend):
+ (WebCore::SuspendableTimer::resume):
+ (WebCore::SuspendableTimer::canSuspend):
+ * page/SuspendableTimer.h: Added.
+
+2010-05-25 Justin Schuh <jschuh@chromium.org>
- Test: manual-tests/media-elements/video-replaces-poster.html
-
- * html/HTMLMediaElement.cpp:
- (WebCore::HTMLMediaElement::noneSupported): Call updatePosterImage() without video check.
- (WebCore::HTMLMediaElement::setNetworkState): Ditto.
- (WebCore::HTMLMediaElement::setReadyState): Ditto.
- (WebCore::HTMLMediaElement::mediaPlayerRepaint): Call udpatePosterImage().
- * html/HTMLMediaElement.h:
- (WebCore::HTMLMediaElement::updatePosterImage): Make this an empty virtual
- method on the base class.
- * html/HTMLVideoElement.h: Override updatePosterImage().
-
-2010-02-16 Simon Fraser <simon.fraser@apple.com>
-
- Build fix for platforms without ACCELERATED_COMPOSITING defined.
-
- mediaPlayerRenderingModeChanged() is only available when ACCELERATED_COMPOSITING is defined.
-
- * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
- (WebCore::MediaPlayerPrivate::setUpVideoRendering):
-
-2010-02-16 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Eric Carlson.
-
- Autoplaying video with poster doesn't reliably show up
- https://bugs.webkit.org/show_bug.cgi?id=34966
-
- A timing issue with compositing updates when replacing the poster image
- with the video could cause the video to not display.
-
- Fix by making video layer hook up more similar to WebGL etc, by having the
- video kick off a recalcStyle() via a SyntheticStyleChange. This requires
- vending a PlaformLayer* from the media player, up through the element.
-
- Test: media/video-replaces-poster.html
-
- * html/HTMLMediaElement.cpp:
- (WebCore::HTMLMediaElement::mediaPlayerRenderingModeChanged): Use setNeedsStyleRecalc()
- to kick off a compositing update.
-
- * html/HTMLMediaElement.h:
- (WebCore::HTMLMediaElement::platformLayer): Export the media engine's layer.
-
- * platform/graphics/MediaPlayer.cpp:
- (WebCore::NullMediaPlayerPrivate::platformLayer): Method to vend the media layer.
- (WebCore::MediaPlayer::platformLayer):
-
- * platform/graphics/MediaPlayer.h:
- (WebCore::MediaPlayerClient::mediaPlayerRenderingModeChanged): New client callback
- to indicate that the rendering mode changed. The element uses this to kick off a
- recalcStyle.
-
- * platform/graphics/MediaPlayerPrivate.h:
- (WebCore::MediaPlayerPrivateInterface::platformLayer): Method to vend the media layer.
- * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Ditto
- * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
- (WebCore::MediaPlayerPrivate::createQTMovieLayer): No longer parent the layer directly
- via setContentsToMedia().
- (WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged): Ditto.
- (WebCore::MediaPlayerPrivate::setUpVideoRendering): Tell the client that the
- rendering mode changed.
- (WebCore::MediaPlayerPrivate::platformLayer): Method to vend the media layer.
- * rendering/RenderLayerBacking.cpp:
- (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Call setContentsToMedia()
- here.
-
- * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: Add platformLayer().
- * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
- (WebCore::MediaPlayerPrivate::platformLayer): Method to vend the media layer.
- (WebCore::MediaPlayerPrivate::setUpVideoRendering): Call mediaPlayerRenderingModeChanged()
- (WebCore::MediaPlayerPrivate::createLayerForMovie): Don't parent the layer ourselves any more.
-
- * rendering/RenderVideo.h: videoGraphicsLayer() is no longer needed.
- * rendering/RenderVideo.cpp: Ditto.
-
-2010-02-12 Peter Kasting <pkasting@google.com>
-
- Reviewed by Adam Barth.
-
- Code cleanup in ImageDecoders; no functional change.
- https://bugs.webkit.org/show_bug.cgi?id=28751
-
- * Make code mostly comply with the style guide (switch indenting, use of
- "!" vs. "== 0", don't unnecessarily wrap lines, etc.)
- * Eliminate m_allDataReceived in ICO/BMP decoders since it's in the
- base ImageDecoder class
- * Remove some useless or wrong comments, add others
- * Wrap comments at 80 columns (most already were) for
- consistency/readability
- * Avoid casts by using correct variable types
- * Consistent naming of decode() function/args
- * Shorter code in some places
- * Make declaration and definition order match
-
- * platform/graphics/qt/ImageDecoderQt.cpp:
- (WebCore::ImageDecoderQt::frameCount):
- (WebCore::ImageDecoderQt::frameBufferAtIndex):
- (WebCore::ImageDecoderQt::forceLoadEverything):
- * platform/image-decoders/ImageDecoder.cpp:
- (WebCore::ImageDecoder::create):
- (WebCore::RGBA32Buffer::clear):
- (WebCore::RGBA32Buffer::setSize):
- * platform/image-decoders/ImageDecoder.h:
- (WebCore::RGBA32Buffer::):
- (WebCore::ImageDecoder::ImageDecoder):
- * platform/image-decoders/bmp/BMPImageDecoder.cpp:
- (WebCore::BMPImageDecoder::BMPImageDecoder):
- (WebCore::BMPImageDecoder::setData):
- (WebCore::BMPImageDecoder::isSizeAvailable):
- (WebCore::BMPImageDecoder::frameBufferAtIndex):
- (WebCore::BMPImageDecoder::decode):
- (WebCore::BMPImageDecoder::decodeHelper):
- (WebCore::BMPImageDecoder::processFileHeader):
- * platform/image-decoders/bmp/BMPImageDecoder.h:
- (WebCore::BMPImageDecoder::readUint32):
- * platform/image-decoders/bmp/BMPImageReader.cpp:
- (WebCore::BMPImageReader::BMPImageReader):
- (WebCore::BMPImageReader::decodeBMP):
- (WebCore::BMPImageReader::readInfoHeaderSize):
- (WebCore::BMPImageReader::processInfoHeader):
- (WebCore::BMPImageReader::readInfoHeader):
- (WebCore::BMPImageReader::isInfoHeaderValid):
- (WebCore::BMPImageReader::processBitmasks):
- (WebCore::BMPImageReader::processColorTable):
- (WebCore::BMPImageReader::processRLEData):
- (WebCore::BMPImageReader::processNonRLEData):
- * platform/image-decoders/bmp/BMPImageReader.h:
- (WebCore::BMPImageReader::readUint32):
- (WebCore::BMPImageReader::pastEndOfImage):
- (WebCore::BMPImageReader::readCurrentPixel):
- (WebCore::BMPImageReader::getComponent):
- (WebCore::BMPImageReader::getAlpha):
- (WebCore::BMPImageReader::setI):
- (WebCore::BMPImageReader::setRGBA):
- * platform/image-decoders/gif/GIFImageDecoder.cpp:
- (WebCore::GIFImageDecoder::GIFImageDecoder):
- (WebCore::GIFImageDecoder::setData):
- (WebCore::GIFImageDecoder::isSizeAvailable):
- (WebCore::GIFImageDecoder::frameCount):
- (WebCore::GIFImageDecoder::frameBufferAtIndex):
- (WebCore::GIFImageDecoder::clearFrameBufferCache):
- (WebCore::GIFImageDecoder::sizeNowAvailable):
- (WebCore::GIFImageDecoder::haveDecodedRow):
- (WebCore::GIFImageDecoder::frameComplete):
- (WebCore::GIFImageDecoder::decode):
- (WebCore::GIFImageDecoder::initFrameBuffer):
- * platform/image-decoders/gif/GIFImageDecoder.h:
- (WebCore::GIFImageDecoder::):
- (WebCore::GIFImageDecoder::filenameExtension):
- * platform/image-decoders/gif/GIFImageReader.cpp:
- (GIFImageReader::do_lzw):
- (GIFImageReader::read):
- * platform/image-decoders/gif/GIFImageReader.h:
- (GIFImageReader::~GIFImageReader):
- * platform/image-decoders/ico/ICOImageDecoder.cpp:
- (WebCore::ICOImageDecoder::ICOImageDecoder):
- (WebCore::ICOImageDecoder::~ICOImageDecoder):
- (WebCore::ICOImageDecoder::setData):
- (WebCore::ICOImageDecoder::isSizeAvailable):
- (WebCore::ICOImageDecoder::frameSizeAtIndex):
- (WebCore::ICOImageDecoder::frameCount):
- (WebCore::ICOImageDecoder::frameBufferAtIndex):
- (WebCore::ICOImageDecoder::compareEntries):
- (WebCore::ICOImageDecoder::setDataForPNGDecoderAtIndex):
- (WebCore::ICOImageDecoder::decode):
- (WebCore::ICOImageDecoder::decodeDirectory):
- (WebCore::ICOImageDecoder::decodeAtIndex):
- (WebCore::ICOImageDecoder::processDirectoryEntries):
- (WebCore::ICOImageDecoder::readDirectoryEntry):
- * platform/image-decoders/ico/ICOImageDecoder.h:
- (WebCore::ICOImageDecoder::readUint16):
- (WebCore::ICOImageDecoder::readUint32):
- * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
- (WebCore::):
- (WebCore::JPEGImageReader::JPEGImageReader):
- (WebCore::JPEGImageReader::skipBytes):
- (WebCore::JPEGImageReader::decode):
- (WebCore::error_exit):
- (WebCore::fill_input_buffer):
- (WebCore::term_source):
- (WebCore::JPEGImageDecoder::setData):
- (WebCore::JPEGImageDecoder::setSize):
- (WebCore::JPEGImageDecoder::frameBufferAtIndex):
- (WebCore::JPEGImageDecoder::jpegComplete):
- (WebCore::JPEGImageDecoder::decode):
- * platform/image-decoders/jpeg/JPEGImageDecoder.h:
- (WebCore::JPEGImageDecoder::filenameExtension):
- * platform/image-decoders/png/PNGImageDecoder.cpp:
- (WebCore::decodingFailed):
- (WebCore::decodingWarning):
- (WebCore::headerAvailable):
- (WebCore::rowAvailable):
- (WebCore::pngComplete):
- (WebCore::PNGImageReader::PNGImageReader):
- (WebCore::PNGImageReader::close):
- (WebCore::PNGImageReader::decode):
- (WebCore::PNGImageReader::createInterlaceBuffer):
- (WebCore::PNGImageDecoder::setData):
- (WebCore::PNGImageDecoder::frameBufferAtIndex):
- (WebCore::PNGImageDecoder::headerAvailable):
- (WebCore::PNGImageDecoder::rowAvailable):
- (WebCore::PNGImageDecoder::pngComplete):
- (WebCore::PNGImageDecoder::decode):
- * platform/image-decoders/png/PNGImageDecoder.h:
- (WebCore::PNGImageDecoder::filenameExtension):
- * platform/image-decoders/qt/RGBA32BufferQt.cpp:
- (WebCore::RGBA32Buffer::setDecodedImage):
-
-2010-02-16 Csaba Osztrogonác <ossy@webkit.org>
-
- [Qt] Unreviewed buildfix.
-
- * WebCore.pro: Missing backslash added.
-
-2010-02-16 Mikhail Naganov <mnaganov@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Move JSC-specific wrappers for Profile and ProfileNode to bindings/js.
-
- https://bugs.webkit.org/show_bug.cgi?id=34848
-
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/js/JavaScriptProfile.cpp: Added.
- (WebCore::profileCache):
- (WebCore::getTitleCallback):
- (WebCore::getHeadCallback):
- (WebCore::getUniqueIdCallback):
- (WebCore::focus):
- (WebCore::exclude):
- (WebCore::restoreAll):
- (WebCore::finalize):
- (WebCore::ProfileClass):
- (WebCore::toJS):
- * bindings/js/JavaScriptProfile.h: Added.
- * bindings/js/JavaScriptProfileNode.cpp: Added.
- (WebCore::profileNodeCache):
- (WebCore::getFunctionName):
- (WebCore::getURL):
- (WebCore::getLineNumber):
- (WebCore::getTotalTime):
- (WebCore::getSelfTime):
- (WebCore::getNumberOfCalls):
- (WebCore::getChildren):
- (WebCore::getVisible):
- (WebCore::getCallUID):
- (WebCore::finalize):
- (WebCore::ProfileNodeClass):
- (WebCore::toJS):
- * bindings/js/JavaScriptProfileNode.h: Added.
- * inspector/JavaScriptProfile.cpp: Removed.
- * inspector/JavaScriptProfile.h: Removed.
- * inspector/JavaScriptProfileNode.cpp: Removed.
- * inspector/JavaScriptProfileNode.h: Removed.
-
-2010-02-16 Alexander Pavlov <apavlov@chromium.org>
+ Reviewed by Nate Chapin.
- Reviewed by Pavel Feldman.
+ Remove custom bindings for Element.SetAttribute*
+ https://bugs.webkit.org/show_bug.cgi?id=39604
- Web Inspector: Elements Panel: Limit the number of initially loaded element children
- https://bugs.webkit.org/show_bug.cgi?id=34421
+ Custom bindings are no longer needed because origin checks were moved
+ out of the bindings by: http://trac.webkit.org/changeset/59866
- Test: inspector/elements-panel-limited-children.html
+ Behavior isn't changed and is covered by existing tests.
- * English.lproj/localizedStrings.js:
- * inspector/front-end/DOMAgent.js:
- (WebInspector.DOMNode.prototype._insertChild):
- * inspector/front-end/ElementsPanel.js:
- (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
- * inspector/front-end/ElementsTreeOutline.js:
- (WebInspector.ElementsTreeOutline.prototype.createTreeElementFor):
- (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
- (WebInspector.ElementsTreeElement):
- (WebInspector.ElementsTreeElement.prototype.get expandedChildrenLimit):
- (WebInspector.ElementsTreeElement.prototype.set expandedChildrenLimit):
- (WebInspector.ElementsTreeElement.prototype.get expandedChildCount):
- (WebInspector.ElementsTreeElement.prototype.showChild):
- (WebInspector.ElementsTreeElement.prototype.insertChildElement):
- (WebInspector.ElementsTreeElement.prototype.moveChild):
- (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
- (WebInspector.ElementsTreeElement.prototype._updateChildren):
- (WebInspector.ElementsTreeElement.prototype.adjustCollapsedRange):
- (WebInspector.ElementsTreeElement.prototype.handleLoadAllChildren):
- ():
- * inspector/front-end/inspector.css:
+ * bindings/js/JSElementCustom.cpp:
+ * bindings/v8/custom/V8ElementCustom.cpp:
+ * dom/Element.idl:
-2010-02-16 Ismail Donmez <ismail@namtrac.org>
+2010-05-25 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
- Fix compilation with inspector disabled.
- https://bugs.webkit.org/show_bug.cgi?id=32724
-
- * rendering/RenderLayerBacking.cpp:
- (WebCore::inspectorTimelineAgent):
-
-2010-02-16 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: turn off line wrapping in source view.
-
- https://bugs.webkit.org/show_bug.cgi?id=34935
+ Add memory graph to Timeline overview pane.
- * inspector/front-end/TextViewer.js:
- (WebInspector.TextViewer.prototype.markAndRevealRange):
- (WebInspector.TextViewer.prototype._paintLine):
- * inspector/front-end/textViewer.css:
- * inspector/front-end/utilities.js:
-
-2010-02-16 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: let search iterate over views in Resources
- and keep the view in Scripts.
-
- https://bugs.webkit.org/show_bug.cgi?id=34968
+ https://bugs.webkit.org/show_bug.cgi?id=37879
+ * inspector/front-end/Drawer.js:
+ (WebInspector.Drawer):
+ (WebInspector.Drawer.prototype.show.animationFinished):
+ (WebInspector.Drawer.prototype.show):
+ (WebInspector.Drawer.prototype.hide):
+ (WebInspector.Drawer.prototype.set currentPanelCounters):
* inspector/front-end/Panel.js:
- (WebInspector.Panel.prototype.jumpToNextSearchResult):
- (WebInspector.Panel.prototype.jumpToPreviousSearchResult):
- (WebInspector.Panel.prototype.showSourceLineForURL):
- (WebInspector.Panel.prototype.searchIteratesOverViews):
- * inspector/front-end/ResourcesPanel.js:
- (WebInspector.ResourcesPanel.prototype.get _resources):
- (WebInspector.ResourcesPanel.prototype.searchIteratesOverViews):
- * inspector/front-end/SourceView.js:
- (WebInspector.SourceView.prototype.showingLastSearchResult):
- * inspector/front-end/inspector.js:
- (WebInspector.documentKeyDown):
- (WebInspector.focusSearchField):
-
-2010-02-16 Noam Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Ariya Hidayat.
-
- [Qt] canvas clipping is buggy
- https://bugs.webkit.org/show_bug.cgi?id=32405
-
- Apparently the bug was in GraphicsContext::roundToDevicePixels, we
- didn't take unto accounts rotation, so the device pixels were rounded
- incorrectly. The new formula is a 1:1 copy from GraphicsContextCG so
- it should be rather safe
-
- Test: http://glimr.rubyforge.org/cake/canvas.html#Polaroids now looks right
-
- * platform/graphics/qt/GraphicsContextQt.cpp:
- (WebCore::GraphicsContext::roundToDevicePixels): Copy the formula from
- GraphicsContextCG
-
-2010-02-16 Yury Semikhatsky <yurys@chromium.org>
-
- Not Reviewed, build fix.
-
- * platform/graphics/FloatRect.h:
- (WebCore::FloatRect::center): make conversion from float to int explicit so that compiler
- doesn't complain about that.
-
-2010-02-15 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Simon Fraser.
-
- <rdar://problem/7645609> [webView selectionRect] API is broken for multicolumn layout
-
- Refine the fix for https://bugs.webkit.org/show_bug.cgi?id=34923 by using the center of
- a quad’s bounding box, rather than its top left, as the reference point passed to
- offsetFromContainer(). This ensures that if a sliver off the top of the selection rect is in
- one column, but most of it is on another column, the single rect we return will be for the
- second column.
-
- * platform/graphics/FloatRect.h:
- (WebCore::FloatRect::center): Added.
- * rendering/RenderObject.cpp:
- (WebCore::RenderObject::localToContainerQuad): Use the center instead of the top left.
-
-2010-02-15 MORITA Hajime <morrita@gmail.com>
-
- Reviewed by Nikolas Zimmermann.
-
- SVG text refactor: reduce paint specific callbacks on SVGTextChunkWalker
-
- https://bugs.webkit.org/show_bug.cgi?id=34831
-
- No new tests, no change of functionality.
-
- * rendering/SVGCharacterLayoutInfo.h:
- (WebCore::SVGTextChunkWalker::SVGTextChunkWalker):
- Removed setupBackground(), setupFill(), setupFillSelection(),
- setupStroke(), setupStrokeSelection(), setupForeground()
- and associated member variables.
-
- * rendering/SVGRootInlineBox.cpp:
- (WebCore::SVGRootInlineBoxPaintWalker::setupBackground):
- renamed from chunkSetupBackgroundCallback.
- (WebCore::SVGRootInlineBoxPaintWalker::setupFill):
- renamed from chunkSetupFillCallback.
- (WebCore::SVGRootInlineBoxPaintWalker::setupFillSelection):
- renamed from chunkSetupFillSelectionCallback.
- (WebCore::SVGRootInlineBoxPaintWalker::setupStroke):
- renamed from chunkSetupStrokeCallback.
- (WebCore::SVGRootInlineBoxPaintWalker::setupStrokeSelection):
- renamed from chunkSetupStrokeSelectionCallback.
- (WebCore::SVGRootInlineBoxPaintWalker::setupForeground):
- renamed from chunkSetupForegroundCallback.
- (WebCore::SVGRootInlineBoxPaintWalker::paintChunk):
- renamed from chunkPortionCallback.
- (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
- extracted from walkTextChunks.
- (WebCore::SVGRootInlineBox::paint):
- follow SVGTextChunkWalker change.
- (WebCore::SVGRootInlineBox::walkTextChunks):
- moved paint some specific code to SVGRootInlineBoxPaintWalker::chunkPortionCallback().
-
-2010-02-15 Dan Bernstein <mitz@apple.com>
-
- Try to fix the Chromium build.
-
- * rendering/RenderThemeChromiumMac.mm:
- (WebCore::RenderThemeChromiumMac::convertToPaintingRect):
-
-2010-02-14 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=33731
- Many false leaks in release builds due to PtrAndFlags
-
- PtrAndFlags has now been removed; remove forwarding header.
-
- * ForwardingHeaders/wtf/PtrAndFlags.h: Removed.
-
-2010-02-15 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Geoff Garen.
-
- Bug 34952 - String lengths in UString should be unsigned.
- This matches WebCore::StringImpl, and better unifies behaviour throughout JSC.
-
- * bindings/js/JSDOMWindowCustom.cpp:
- (WebCore::JSDOMWindow::atob):
- (WebCore::JSDOMWindow::btoa):
-
-2010-02-15 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- [GTK] Crashes when going back to a page that has data: URIs, with page cache enabled
- https://bugs.webkit.org/show_bug.cgi?id=34944
-
- Set the URL in the newly created response, when parsing data:
- URIs.
-
- Test: fast/harness/page-cache-crash-on-data-urls.html
-
- * platform/network/soup/ResourceHandleSoup.cpp:
- (WebCore::parseDataUrl):
-
-2010-02-15 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Simon Fraser.
-
- <rdar://problem/7647300> Incorrect client rects for blocks the span multiple columns and their descendants
- https://bugs.webkit.org/show_bug.cgi?id=34923
-
- Test: fast/multicol/client-rects.html
-
- In column layout, a different transform applies to different points in
- the block and its descendants, depending on their y coordinate within the
- block. offsetFromContainer() used to return the offset that applied to
- the origin. With this change, it returns the offset that applies to a
- given reference point. When mapping a quad from local to absolute
- coordinates, the top left of the quad’s bounding box is used as that
- reference point.
-
- * editing/SelectionController.cpp:
- (WebCore::SelectionController::layout): Pass the caret’s origin as the
- reference point to offsetFromContainer().
- * rendering/RenderBlock.cpp:
- (WebCore::RenderBlock::adjustForColumns): Adds the offset between the
- given point and its image under the column paint-time transform to the
- given offset. Used by offsetFromContainer() where it had previously used
- adjustRectForColumns(), which takes a rect and operates less efficiently.
- * rendering/RenderBlock.h:
- * rendering/RenderBox.cpp:
- (WebCore::RenderBox::mapLocalToContainer): Pass the transformed point as
- the reference point to offsetFromContainer().
- (WebCore::RenderBox::mapAbsoluteToLocalPoint): Pass a point to
- offsetFromContainer().
- (WebCore::RenderBox::offsetFromContainer): Use adjustForColumns() instead
- of adjustRectForColumns(), and use the reference point to get the right
- adjustment for the point of interest, instead of the origin, in case this
- box spans multiple columns.
- * rendering/RenderBox.h:
- * rendering/RenderInline.cpp:
- (WebCore::RenderInline::offsetFromContainer): Ditto. Actually apply the
- column offset to the computation, which previously this function didn’t
- do.
- (WebCore::RenderInline::mapLocalToContainer): Pass the transformed point
- as the reference point to offsetFromContainer().
- (WebCore::RenderInline::mapAbsoluteToLocalPoint): Pass a point to
- offsetFromContainer().
- * rendering/RenderInline.h:
- * rendering/RenderObject.cpp:
- (WebCore::RenderObject::mapLocalToContainer): Apply column adjustment,
- based on the reference point, to the transform if needed.
- (WebCore::RenderObject::localToContainerQuad): Initialize the
- TransformState with the top left corner of the quad’s bounding box. It
- is later used as the reference point when deciding on which column to
- base the calculations.
- (WebCore::RenderObject::offsetFromContainer): Adjust for columns.
- (WebCore::RenderObject::offsetFromAncestorContainer): Pass the origin
- as the reference point to offsetFromContainer().
- * rendering/RenderObject.h:
- (WebCore::RenderObject::adjustForColumns): Added.
- * rendering/RenderTableCell.cpp:
- (WebCore::RenderTableCell::offsetFromContainer): Pass the reference
- point through.
- * rendering/RenderTableCell.h:
- * rendering/RenderText.cpp:
- (WebCore::RenderText::absoluteRectsForRange): Map (the origin of) each
- rect to absolute coordinates individually.
- * rendering/RenderThemeMac.mm:
- (WebCore::RenderThemeMac::convertToPaintingRect): Pass a point to
- offsetFromContainer().
-
-2010-02-12 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Kevin Decker.
-
- <rdar://problem/7130641> Browser objects identity is not preserved by Safari
-
- Test: plugins/netscape-browser-object-identity.html
-
- * bridge/runtime_root.h: (JSC::Bindings::RootObject::addInvalidationCallback):
- RootObject can now call out during invalidation, making it possible for other code to know
- when this happens.
-
- * bridge/runtime_root.cpp:
- (JSC::Bindings::RootObject::InvalidationCallback::~InvalidationCallback): Empty destructor,
- in cpp file since it's virtual.
- (JSC::Bindings::RootObject::invalidate): Invoke invalidation callbacks.
-
- * bridge/NP_jsobject.cpp:
- (ObjectMap): Keep a JSObject->NPObject map for each RootObject. It somewhat cleaner to
- keep it outside RootObject, because (1) it is agnostic of what kinds of objects can wrap
- JSObject, and (2) out of process NPAPI implementation also keeps its corresponding map
- separately, due to supporting per-instance granularity (as opposed to per-RootObject here).
- (jsDeallocate): Remove the corresponding map entry.
- (_NPN_CreateScriptObject): Try to fetch existing object from the map, incrementing refcount.
-
-2010-02-15 Philippe Normand <pnormand@igalia.com>
-
- Rubber-stamped by Gustavo Noronha Silva.
-
- Removed redefine of LOG_VERBOSE. This should not have commited in
- the first place.
-
- * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
-
-2010-02-15 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: incorrect syntax highlighting as HTML in a script tag.
- We were preserving initial lexer state upon entering other tags while in <script>
- but were not doing it for <script tag itself. As a result, nested script
- tags were failing to highlight.
-
- https://bugs.webkit.org/show_bug.cgi?id=34934
-
- * inspector/front-end/SourceHTMLTokenizer.js:
- (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
- * inspector/front-end/SourceHTMLTokenizer.re2js:
-
-2010-02-15 Brady Eidson <beidson@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Add a progress-indicator logging channel to WebCore, and convert the old WebKit Logging
- messages over to WebCore-style.
-
- No new tests. (Logging changes only)
-
- * loader/ProgressTracker.cpp:
- (WebCore::ProgressTracker::progressStarted):
- (WebCore::ProgressTracker::progressCompleted):
- (WebCore::ProgressTracker::finalProgressComplete):
- (WebCore::ProgressTracker::incrementProgress):
-
- * platform/Logging.cpp:
- (WebCore::):
- (WebCore::getChannelFromName):
- * platform/Logging.h:
-
-2010-02-15 Noam Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] QtWebkit bridge: enable passing a QWebElement to a signal/slot/property
- https://bugs.webkit.org/show_bug.cgi?id=34901
-
- When a signal/slot/property is of type QWebElement, it can seamlessly
- connect with JS objects that hold a WebCore element.
-
- New tests, see WebKit/qt/ChangeLog
-
- * bridge/qt/qt_runtime.cpp:
- (JSC::Bindings::QtWebElementRuntime::create): A proxy to QWebElement
- constructor
- (JSC::Bindings::QtWebElementRuntime::get): A proxy to
- QWebElement::element
- (JSC::Bindings::convertValueToQVariant): handle QWebElement
- (JSC::Bindings::convertQVariantToValue): handle QWebElement
-
-2010-02-15 Pavel Feldman <pfeldman@chromium.org>
-
- Not reviewed, Chromium build fix (force conversion of property names to
- strings in Web Inspector's injected script).
-
- * inspector/front-end/InjectedScript.js:
- (injectedScriptConstructor):
-
-2010-02-15 Pavel Feldman <pfeldman@chromium.org>
-
- Not reviewed: touch InspectorController in order to kick win bot tests
- with new injected script contents.
-
- * inspector/InspectorController.cpp:
-
-2010-02-14 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: highlight actual search match in elements panel.
-
- https://bugs.webkit.org/show_bug.cgi?id=34251
-
- * inspector/front-end/ElementsPanel.js:
- (WebInspector.ElementsPanel.prototype.searchCanceled):
- (WebInspector.ElementsPanel.prototype.performSearch):
- (WebInspector.ElementsPanel.prototype.addNodesToSearchResult):
- (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult):
- (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult):
- (WebInspector.ElementsPanel.prototype._highlightCurrentSearchResult):
- (WebInspector.ElementsPanel.prototype._hideSearchHighlights):
- * inspector/front-end/InjectedScript.js:
- * inspector/front-end/SourceFrame.js:
- (WebInspector.SourceFrame.prototype.findSearchMatches):
- * inspector/front-end/TextViewer.js:
- (WebInspector.TextViewer.prototype._paintLine):
- * inspector/front-end/textViewer.css:
- * inspector/front-end/utilities.js:
-
-2010-02-14 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: XPathResult objects are not expanded in console.
-
- https://bugs.webkit.org/show_bug.cgi?id=34926
-
- * inspector/front-end/InjectedScript.js:
- (injectedScriptConstructor):
- * inspector/front-end/ObjectPropertiesSection.js:
- (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
- (WebInspector.ObjectPropertiesSection.CompareProperties):
- (WebInspector.ObjectPropertyTreeElement.prototype.update):
- * inspector/front-end/Section.js:
- (WebInspector.Section):
- * inspector/front-end/inspector.css:
-
-2010-02-10 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- [Gtk] wrong video aspect ratio
- https://bugs.webkit.org/show_bug.cgi?id=34790
-
- Fixed natural size calculation regarding pixel aspect ratio and
- display aspect ratio.
-
- Test: media/video-display-aspect-ratio.html
-
- * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
- (WebCore::greatestCommonDivisor):
- (WebCore::MediaPlayerPrivate::naturalSize):
-
-2010-02-14 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Adler.
-
- HTML5 iframe sandbox bypass of window.top.location navigation via <form target="_top">
- https://bugs.webkit.org/show_bug.cgi?id=33277
-
- submitForm wasn't respecting shouldAllowNavigation. Instead of calling
- the wrapper function, we need to call shouldAllowNavigation because we
- need to handle the "frame not found" case differently than the
- "navigation denied" case.
-
- Test: http/tests/security/sandboxed-iframe-form-top.html
-
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::submitForm):
-
-2010-02-14 Kent Tamura <tkent@chromium.org>
-
- No review. Touch RenderRuny*.cpp to fix Chromium/Windows build bot.
-
- * rendering/RenderRuby.cpp: Add a comment for #endf.
- * rendering/RenderRubyBase.cpp: Add a comment for #endf.
- * rendering/RenderRubyRun.cpp: Add a comment for #endf.
- * rendering/RenderRubyText.cpp: Add a comment for #endf.
-
-2010-02-13 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: cache created row, span and text elements
- in TextView to improve scroller performance on debug build.
-
- https://bugs.webkit.org/show_bug.cgi?id=34921
-
- * inspector/front-end/SourceFrame.js:
- (WebInspector.SourceFrame.prototype.set visible):
- * inspector/front-end/TextViewer.js:
- (WebInspector.TextViewer):
- (WebInspector.TextViewer.prototype.freeCachedElements):
- (WebInspector.TextViewer.prototype._buildChunks):
- (WebInspector.TextViewer.prototype._makeLineAChunk):
- (WebInspector.TextViewer.prototype._paintLine):
- (WebInspector.TextViewer.prototype._releaseLines):
- (WebInspector.TextViewer.prototype._appendSpan):
- (WebInspector.TextViewer.prototype._appendTextNode):
- (WebInspector.TextChunk):
- (WebInspector.TextChunk.prototype.set expanded):
- (WebInspector.TextChunk.prototype._lineNumberText):
- (WebInspector.TextChunk.prototype._createRow):
-
-2010-02-13 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Darin Adler.
-
- Refactor parsing/serialization functions in HTMLInputElement.
- https://bugs.webkit.org/show_bug.cgi?id=34852
-
- - Rename formStringToDouble() to parseToDoubleForNumberType()
- - Rename formStringToDateComponents() to parseToDateComponents()
- - Rename formStringFromDouble() to serializeForNumberType()
- - Add serializeForDateTimeTypes()
- The code is moved from setValueAsDate() and setDateValue().
- - Add serialize()
-
- parseToDouble() is the top-level function to parse a
- type-dependent string and return a double
- value. parseToDoubleForNumber() and parseToDateComponents()
- functions are helper functions for it. serialize() is the
- top-level function to serialize a double value to a type-dependent
- string, and serializeForNumberType() and
- serializeForDateTimeTypes() are helper functions for it.
-
- No tests because of no functional changes.
-
- * html/HTMLInputElement.cpp:
- (WebCore::HTMLInputElement::stepMismatch):
- (WebCore::HTMLInputElement::getAllowedValueStep):
- (WebCore::HTMLInputElement::parseToDouble):
- (WebCore::HTMLInputElement::valueAsDate):
- (WebCore::HTMLInputElement::setValueAsDate):
- (WebCore::HTMLInputElement::setValueAsNumber):
- (WebCore::HTMLInputElement::serializeForDateTimeTypes):
- (WebCore::HTMLInputElement::serialize):
- (WebCore::HTMLInputElement::serializeForNumberType):
- (WebCore::HTMLInputElement::parseToDoubleForNumberType):
- (WebCore::HTMLInputElement::parseToDateComponents):
- * html/HTMLInputElement.h:
- * html/ValidityState.cpp:
- (WebCore::ValidityState::typeMismatch):
- * rendering/RenderSlider.cpp:
- (WebCore::SliderRange::valueFromElement):
- (WebCore::RenderSlider::updateFromElement):
- (WebCore::RenderSlider::setValueForPosition):
-
-2010-01-05 Ojan Vafai <ojan@chromium.org>
-
- Reviewed by Dan Bernstein.
-
- Improve text control intrinsic widths.
- https://bugs.webkit.org/show_bug.cgi?id=25566
- https://bugs.webkit.org/show_bug.cgi?id=25581
- https://bugs.webkit.org/show_bug.cgi?id=25958
-
- For Mac fonts that have invalid avgCharWidth entries in the OS/2 table,
- fallback to the Safari 4- behavior of using the width of a zero. For other
- fonts, make Mac match Windows (and thus IE) metrics.
-
- Lucida Grande is hard-coded to match MS Shell Dlg for inputs and
- Courier New for textareas in order to match Safari Win, Firefox and, in
- some cases IE (IE uses different default fonts depending on encoding).
-
- The only case where we still don't match Windows is if no font-size is
- set. The default font-size for form controls on the Mac is smaller and
- thus text-control widths will be slightly smaller.
-
- No new tests. Covered by existing tests.
-
- * platform/graphics/mac/SimpleFontDataMac.mm:
- (WebCore::SimpleFontData::platformCharWidthInit):
- * rendering/RenderTextControl.cpp:
- (WebCore::):
- (WebCore::RenderTextControl::hasValidAvgCharWidth):
- (WebCore::RenderTextControl::getAvgCharWidth):
- (WebCore::RenderTextControl::calcPrefWidths):
- * rendering/RenderTextControl.h:
- (WebCore::RenderTextControl::scaleEmToUnits):
- * rendering/RenderTextControlMultiLine.cpp:
- (WebCore::RenderTextControlMultiLine::getAvgCharWidth):
- * rendering/RenderTextControlMultiLine.h:
- * rendering/RenderTextControlSingleLine.cpp:
- (WebCore::RenderTextControlSingleLine::getAvgCharWidth):
- (WebCore::RenderTextControlSingleLine::preferredContentWidth):
- * rendering/RenderTextControlSingleLine.h:
-
-2010-02-11 Ariya Hidayat <ariya.hidayat@gmail.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Unnecessary QBrush construction for doing a solid color stroke
- https://bugs.webkit.org/show_bug.cgi?id=34874
-
- Use the similar trick like in r54347, i.e. use the special brush for
- solid color to avoid expensive QBrush constructor.
-
- * platform/graphics/qt/GraphicsContextQt.cpp:
- (WebCore::GraphicsContext::setPlatformStrokeColor):
-
-2010-02-11 Darin Fisher <darin@chromium.org>
-
- Reviewed by Jeremy Orlow.
-
- Pass the Document along to the ChromiumBridge cookie methods.
-
- https://bugs.webkit.org/show_bug.cgi?id=34878
-
- * platform/chromium/ChromiumBridge.h:
- * platform/network/chromium/CookieJarChromium.cpp:
- (WebCore::setCookies):
- (WebCore::cookies):
- (WebCore::cookiesEnabled):
- (WebCore::getRawCookies):
- (WebCore::deleteCookie):
-
-2010-02-12 Eric Seidel <eric@webkit.org>
-
- No review, rolling out r54694.
- http://trac.webkit.org/changeset/54694
- https://bugs.webkit.org/show_bug.cgi?id=34633
-
- This appears to have caused crashes on the Leopard bot. See
- bug 34898.
-
- * websockets/ThreadableWebSocketChannelClientWrapper.h:
- (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
- * websockets/WebSocket.cpp:
- (WebCore::WebSocket::WebSocket):
- (WebCore::WebSocket::send):
- (WebCore::WebSocket::close):
- (WebCore::WebSocket::bufferedAmount):
- (WebCore::WebSocket::didConnect):
- (WebCore::WebSocket::didClose):
- * websockets/WebSocket.h:
- * websockets/WebSocketChannel.cpp:
- (WebCore::WebSocketChannel::WebSocketChannel):
- (WebCore::WebSocketChannel::send):
- (WebCore::WebSocketChannel::bufferedAmount):
- (WebCore::WebSocketChannel::didClose):
- * websockets/WebSocketChannel.h:
- * websockets/WebSocketChannelClient.h:
- (WebCore::WebSocketChannelClient::didClose):
- * websockets/WorkerThreadableWebSocketChannel.cpp:
- (WebCore::workerContextDidClose):
- (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
- * websockets/WorkerThreadableWebSocketChannel.h:
-
-2010-02-12 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Sam Weinig.
-
- Workers' EventListeners should be removed before JSGlobalData is destroyed
- https://bugs.webkit.org/show_bug.cgi?id=34903
-
- (Patch co-developed with Alexey Proskuryakov).
-
- Since http://trac.webkit.org/changeset/54460 the EventListeners registered by a
- worker thread are not removed until after the thread's JSGlobalData has been
- destroyed. This is slightly worrisome since the JSEventListener contains
- JSObject*s, which will be dangling once the heap is destroyed. The
- JSEventListeners may also reference the worker thread's normal world, which
- again it makes no sense to keep around after the JSGlobalData is freed.
-
- Remove all event listeners immediately prior to tearing down the JSGlobalData.
-
- https://bugs.webkit.org/show_bug.cgi?id=34728 addressed the symptoms of this
- problem, and it is probably cleaner to make the client data's normal world no
- longer be a member (since it is a ref-counted object), however they should be
- no requirement to 'detatch' - it makes no sense for anyone to be referencing
- the world after the JSGlobalData has gone away (the world's purpose is to hold
- wrapper objects in the JSGlobalData's heap). Keep the restructuring that makes
- the normal world no longer be a member, but remove the detach mechanism this
- patch added & replace with stronger ASSERTs.
-
- * bindings/js/JSDOMBinding.cpp:
- (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
- * bindings/js/JSDOMBinding.h:
- (WebCore::WebCoreJSClientData::~WebCoreJSClientData):
- * workers/WorkerThread.cpp:
- (WebCore::WorkerThreadShutdownStartTask::performTask):
-
-2010-02-12 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=33731
- Remove uses of PtrAndFlags from WebCore::StringImpl.
-
- These break the OS X Leaks tool. Use a bits stolen from the refCount to hold the
- 'InTable' and 'HasTerminatingNullCharacter' flags, along with the string type
- (fixes a leak where the string data is allocated at the address (this + 1), and is
- misinterpreted as being an internal buffer).
-
- * WebCore.base.exp:
- * platform/text/StringImpl.cpp:
- (WebCore::StringImpl::StringImpl):
- (WebCore::StringImpl::~StringImpl):
- (WebCore::StringImpl::create):
- (WebCore::StringImpl::createWithTerminatingNullCharacter):
- (WebCore::StringImpl::crossThreadString):
- (WebCore::StringImpl::sharedBuffer):
- * platform/text/StringImpl.h:
- (WebCore::StringImpl::):
- (WebCore::StringImpl::hasTerminatingNullCharacter):
- (WebCore::StringImpl::inTable):
- (WebCore::StringImpl::setInTable):
- (WebCore::StringImpl::ref):
- (WebCore::StringImpl::deref):
- (WebCore::StringImpl::hasOneRef):
- (WebCore::StringImpl::operator new):
- (WebCore::StringImpl::bufferOwnership):
- * storage/OriginUsageRecord.cpp:
- (WebCore::OriginUsageRecord::addDatabase):
- (WebCore::OriginUsageRecord::markDatabase):
-
-2010-02-12 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Reviewed by Dirk Schulze.
-
- Repaint bug on Text selection in foreignObject
- https://bugs.webkit.org/show_bug.cgi?id=16939
-
- Tests: svg/overflow/overflow-on-foreignObject.svg
- svg/text/foreignObject-text-clipping-bug.xml
-
- Selecting text contained in <foreignObject> leads to artefacts. Same for zooming/panning.
- RenderForeignObject contained old legacy code returning FloatRect() for repaintRectInLocalCoordinates,
- which is obviously wrong. Fixing that leads to even more problems, as the underlying RenderBlock
- did not reflect the x/y translation set on the <foreignObject>. This is problematic, as laying out
- positioned objects in the XHTML subtree depends on proper size/location values of the frameRect.
-
- Correctly clip on overflow="hidden". overflow="scroll" & friends are not yet supported, see lengthy
- comment in RenderSVGBlock why we either need RenderLayer for RenderForeignObject or need to rework
- overflow handling to avoid RenderLayer.
-
- SVGForeignObjectElement uses a hacky custom solution to synchronize CSS width/height properties with
- the SVG width/height attributes. Remove all of that code and just implement calcWidth/calcHeight in
- RenderForeignObject, grabbing the right values from SVGForeignObjectElement::width/height upon layout.
-
- * rendering/RenderForeignObject.cpp:
- (WebCore::RenderForeignObject::paint): Clip properly to the actual bounds of the foreignObject, respecting that x/y translation is handled by RenderBlock now.
- (WebCore::RenderForeignObject::clippedOverflowRectForRepaint): Added missing function, forward to SVGRenderBase just like all other SVG renderers.
- (WebCore::RenderForeignObject::computeRectForRepaint): Remove manual implementation, forward to SVGRenderBase.
- (WebCore::RenderForeignObject::localToParentTransform): Respect x/y translation here _after_ applying localTransform().
- (WebCore::RenderForeignObject::calcWidth): Override RenderBlock::calcWidth to grab width() from SVGForeignObjectElement.
- (WebCore::RenderForeignObject::calcHeight): Override RenderBlock::calcHeight to grab height() from SVGForeignObjectElement.
- (WebCore::RenderForeignObject::layout): Calculate viewport once and cache it. Push x/y location down to RenderBlock - analogous to RenderSVGText.
- (WebCore::RenderForeignObject::nodeAtFloatPoint): Adapt to x/y translation changes (map through localTransform, not localToParentTransform). Respect overflow clipping.
- (WebCore::RenderForeignObject::mapLocalToContainer): Set useTransforms=true, to avoid assertions when selecting text in foreign objects.
- * rendering/RenderForeignObject.h:
- (WebCore::RenderForeignObject::objectBoundingBox): Return cached m_viewport.
- (WebCore::RenderForeignObject::strokeBoundingBox): Ditto.
- (WebCore::RenderForeignObject::repaintRectInLocalCoordinates): Ditto.
- * rendering/RenderSVGBlock.cpp:
- (WebCore::RenderSVGBlock::setStyle): Cleanup code, move setHasOverflowClip() overrides in updateBoxModelInfoFromStyle where it belongs.
- (WebCore::RenderSVGBlock::updateBoxModelInfoFromStyle): Added to force setting setHasOverflowClip(false).
- * rendering/RenderSVGBlock.h:
- * svg/SVGForeignObjectElement.cpp: Kill a lot of custom code - it was just plain wrong to utilize CSS to push width/height information down to RenderBlock.
- (WebCore::SVGForeignObjectElement::svgAttributeChanged):
-
-2010-02-12 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Simon Fraser.
-
- <rdar://problem/7609268> REGRESSION (r50301): Problem selecting text in a Devanagari website
- https://bugs.webkit.org/show_bug.cgi?id=34865
-
- Test: fast/text/glyph-reordering.html
-
- * platform/graphics/mac/ComplexTextController.cpp:
- (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
- (WebCore::ComplexTextController::ComplexTextRun::setIsNonMonotonic): Added. Sets m_isMonotonic
- and populates m_glyphEndOffsets with the end offsets of each glyph’s corresponding character range.
- (WebCore::ComplexTextController::advance): For non-monotonic runs, use endOffsetAt() to get
- glyphs’ end offsets.
- (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Check for monotonicity and call
- setIsNonMonotonic() if needed.
- * platform/graphics/mac/ComplexTextController.h:
- (WebCore::ComplexTextController::ComplexTextRun::lastIndexAt): Added this getter.
- (WebCore::ComplexTextController::ComplexTextRun::isMonotonic): Ditto.
- * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
- (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Initialize m_isMonotonic.
- * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
- (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Ditto.
-
-2010-02-12 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by David Levin.
-
- https://bugs.webkit.org/show_bug.cgi?id=34866
- Leopard Debug Bot crashed on fast/forms/old-names.html
-
- * html/HTMLFormCollection.cpp: (WebCore::HTMLFormCollection::formCollectionInfo): Removed
- a misplaced checkConsistency() call. We are not looking at cache content at this point, and
- caches will be reset on next access.
-
-2010-02-12 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: restore highlighting animation, bring back
- keyboard navigation, beautify search results.
-
- https://bugs.webkit.org/show_bug.cgi?id=34853
-
- * inspector/front-end/TextViewer.js:
- (WebInspector.TextViewer):
- (WebInspector.TextViewer.prototype.highlightLine):
- * inspector/front-end/textViewer.css:
-
-2010-02-12 Anton Muhin <antonm@chromium.org>
-
- Reviewed by Adam Barth.
-
- [v8] handle to the document can only own Objects, not Values
- https://bugs.webkit.org/show_bug.cgi?id=34854
-
- * bindings/v8/V8DOMWindowShell.cpp:
- (WebCore::V8DOMWindowShell::updateDocumentWrapper):
- (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
- * bindings/v8/V8DOMWindowShell.h:
- * bindings/v8/custom/V8DocumentCustom.cpp:
- (WebCore::toV8):
-
-2010-02-12 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Holger Freyther.
-
- Replaced stray CRLF with LF.
-
- * wml/WMLInputElement.cpp:
- (WebCore::WMLInputElement::suggestedValue):
- * wml/WMLInputElement.h:
-
-2010-02-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Make qtlauncher and qgvlauncher use the generated headers
- path to make sure they are correctly generated.
-
- * WebCore.pro:
-
-2010-02-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Ensure relative paths in generated .pri files to ensure that
- a source package with pre-generated derived sources can be compiled.
-
- - Re-add a separate headers.pri file for WEBKIT_API_HEADERS
- - Rename the generated headers.pri to classheaders.pri to avoid
- confusion with the one generated by synqt since they don't have the
- same content.
- - Remove private headers list variable from classheaders.pri
- - Use $$PWD in classheaders.pri
- - Remove classheaders.pri from the installed files
-
- * WebCore.pro:
-
-2010-02-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Manually add support for the install target on Symbian.
-
- This is required to copy the headers over the ones in Qt.
-
- * WebCore.pro:
-
-2010-02-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Minor fixes on QtWebKit headers generation.
-
- - Adds QtWebKit to the generated headers destination path
- - Improve compatibility with MinGW
-
- * WebCore.pro:
-
-2010-02-11 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by Alexey Proskuryakov.
-
- WebSocket ignores HttpOnly cookies, but should use in Handshake.
- https://bugs.webkit.org/show_bug.cgi?id=34289
-
- Test: websocket/tests/cookies/httponly-cookie.pl
-
- * platform/CookieJar.h: add cookieRequestHeaderFieldValue()
- * platform/chromium/ChromiumBridge.h:
- * platform/haiku/CookieJarHaiku.cpp:
- (WebCore::cookieRequestHeaderFieldValue):
- * platform/mac/CookieJar.mm:
- (WebCore::cookies):
- (WebCore::cookieRequestHeaderFieldValue):
- * platform/network/android/CookieJarAndroid.cpp:
- (WebCore::cookieRequestHeaderFieldValue):
- * platform/network/chromium/CookieJarChromium.cpp:
- (WebCore::cookieRequestHeaderFieldValue):
- * platform/network/curl/CookieJarCurl.cpp:
- (WebCore::cookieRequestHeaderFieldValue):
- * platform/network/soup/CookieJarSoup.cpp:
- (WebCore::cookieRequestHeaderFieldValue):
- * platform/network/win/CookieJarCFNetWin.cpp:
- (WebCore::cookieRequestHeaderFieldValue):
- * platform/network/win/CookieJarWin.cpp:
- (WebCore::cookieRequestHeaderFieldValue):
- * platform/qt/CookieJarQt.cpp:
- (WebCore::cookieRequestHeaderFieldValue):
- * websockets/WebSocketHandshake.cpp:
- (WebCore::WebSocketHandshake::clientHandshakeMessage): use cookieRequestHeaderFieldValue() instead of cookies() to include HttpOnly cookies.
-
-2010-02-16 Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
- Reviewed by Gustavo Noronha Silva.
-
- Notify about size changes in the WebKit GStreamer source.
-
- https://bugs.webkit.org/show_bug.cgi?id=34881
-
- * platform/graphics/gtk/WebKitWebSourceGStreamer.cpp:
- (webkit_web_src_init):
- (StreamingClient::didReceiveResponse):
- * platform/graphics/gtk/WebKitWebSourceGStreamer.h:
- This makes sure that other GStreamer elements know about the
- size and on-disk buffering actually works.
- Only notify about size changes if gst-plugins-base before
- 0.10.27 is used, because from that version onwards this is
- automatically handled.
-
- If appsrc 0.10.27 or later is used, set the min-percent property
- to 20% to allow more time to pass between the need-data signal
- and starvation of the pipeline.
-
- Also reset the size when stopping the source and send EOS
- on seeking failures.
-
-2010-02-11 Ariya Hidayat <ariya.hidayat@gmail.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Use clipRegion instead of clipPath to save lots of CPU cycles.
-
- https://bugs.webkit.org/show_bug.cgi?id=32375
-
- * platform/graphics/qt/GraphicsContextQt.cpp:
- (WebCore::GraphicsContext::clipOut):
- (WebCore::GraphicsContext::clipOutEllipseInRect):
-
-2010-02-11 Yuzo Fujishima <yuzo@google.com>
-
- Reviewed by Shinichiro Hamaji.
-
- Rename underscored identifiers in WebCore/css/CSSParser.cpp.
- https://bugs.webkit.org/show_bug.cgi?id=34877
- Also fix whitespace erros that surface due to the above fix.
-
- This doesn't change the code logic. Hence no new tests are required.
-
- * css/CSSParser.cpp:
- (WebCore::CSSParser::parseValue):
-
-2010-02-11 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Focusing a resource in the inspector should default to content not header
- https://bugs.webkit.org/show_bug.cgi?id=34861
-
- * inspector/front-end/Settings.js:
- (WebInspector.Settings.prototype._load): changed initial default to content tab
-
-2010-02-11 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Editing Styles Cannot Tab Backwards from a New Style Item
- https://bugs.webkit.org/show_bug.cgi?id=34872
-
- * inspector/front-end/StylesSidebarPane.js:
- (WebInspector.StylePropertiesSection.prototype.update): triggers afterUpdate
- (WebInspector.StylePropertiesSection.prototype.afterUpdate): factored out _afterUpdate handling
-
-2010-02-11 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Reviewed by Eric Seidel.
-
- Add roundedIntSize() convenience method converting FloatSize to IntSize, just like roundedIntPoint() converting FloatPoint to IntPoint.
-
- * platform/graphics/FloatSize.h:
- (WebCore::roundedIntSize):
-
-2010-02-11 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Darin Adler.
-
- Fix two issues on maxLength.
- https://bugs.webkit.org/show_bug.cgi?id=34783
-
- - ValidityState.tooLong behavior was inconsistent with UIs of
- <input> and <textarea>. tooLong checked Unicode code point length
- though the UIs checks grapheme cluster length.
-
- - Setting HTMLTextAreaElement::value didn't update the dirty flag.
-
- * html/HTMLInputElement.cpp:
- (WebCore::HTMLInputElement::tooLong): Use numGraphemeClusters() instead of length().
- * html/HTMLTextAreaElement.cpp:
- Rename setValue() to setNonDirtyValue(), and introduce setValue()
- which calls setNonDirtyValue() and sets the dirty flag.
- (WebCore::HTMLTextAreaElement::childrenChanged):
- (WebCore::HTMLTextAreaElement::reset):
- (WebCore::HTMLTextAreaElement::setValue):
- (WebCore::HTMLTextAreaElement::setNonDirtyValue):
- (WebCore::HTMLTextAreaElement::setDefaultValue):
- (WebCore::HTMLTextAreaElement::tooLong): Use numGraphemeClusters() instead of length().
- * html/HTMLTextAreaElement.h:
-
-2010-02-11 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by Alexey Proskuryakov.
-
- WebSocket bufferedAmount should not be 0 when send after close.
- https://bugs.webkit.org/show_bug.cgi?id=34633
-
- Test: websocket/tests/bufferedAmount-after-close.html
-
- * websockets/ThreadableWebSocketChannelClientWrapper.h:
- (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
- * websockets/WebSocket.cpp:
- (WebCore::WebSocket::WebSocket):
- (WebCore::WebSocket::send):
- (WebCore::WebSocket::close):
- (WebCore::WebSocket::bufferedAmount):
- (WebCore::WebSocket::didConnect):
- (WebCore::WebSocket::didClose):
- * websockets/WebSocket.h:
- * websockets/WebSocketChannel.cpp:
- (WebCore::WebSocketChannel::WebSocketChannel):
- (WebCore::WebSocketChannel::send):
- (WebCore::WebSocketChannel::bufferedAmount):
- (WebCore::WebSocketChannel::didClose):
- * websockets/WebSocketChannel.h:
- * websockets/WebSocketChannelClient.h:
- (WebCore::WebSocketChannelClient::didClose):
- * websockets/WorkerThreadableWebSocketChannel.cpp:
- (WebCore::workerContextDidClose):
- (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
- * websockets/WorkerThreadableWebSocketChannel.h:
-
-2010-02-11 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by Alexey Proskuryakov.
-
- WebSocket in Worker failed to close
- https://bugs.webkit.org/show_bug.cgi?id=34785
-
- Tests: websocket/tests/workers/close-in-shared-worker.html
- websocket/tests/workers/close-in-worker.html
-
- * websockets/WorkerThreadableWebSocketChannel.cpp:
- (WebCore::WorkerThreadableWebSocketChannel::close):
-
-2010-02-11 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Add dummy Cursor
- https://bugs.webkit.org/show_bug.cgi?id=34672
-
- * platform/brew/CursorBrew.cpp: Added.
- (WebCore::Cursor::Cursor):
- (WebCore::Cursor::~Cursor):
- (WebCore::Cursor::operator=):
- (WebCore::dummyCursor):
- (WebCore::pointerCursor):
- (WebCore::crossCursor):
- (WebCore::handCursor):
- (WebCore::moveCursor):
- (WebCore::iBeamCursor):
- (WebCore::waitCursor):
- (WebCore::helpCursor):
- (WebCore::eastResizeCursor):
- (WebCore::northResizeCursor):
- (WebCore::northEastResizeCursor):
- (WebCore::northWestResizeCursor):
- (WebCore::southResizeCursor):
- (WebCore::southEastResizeCursor):
- (WebCore::southWestResizeCursor):
- (WebCore::westResizeCursor):
- (WebCore::northSouthResizeCursor):
- (WebCore::eastWestResizeCursor):
- (WebCore::northEastSouthWestResizeCursor):
- (WebCore::northWestSouthEastResizeCursor):
- (WebCore::columnResizeCursor):
- (WebCore::rowResizeCursor):
- (WebCore::verticalTextCursor):
- (WebCore::cellCursor):
- (WebCore::contextMenuCursor):
- (WebCore::noDropCursor):
- (WebCore::copyCursor):
- (WebCore::progressCursor):
- (WebCore::aliasCursor):
- (WebCore::noneCursor):
- (WebCore::notAllowedCursor):
- (WebCore::zoomInCursor):
- (WebCore::zoomOutCursor):
- (WebCore::middlePanningCursor):
- (WebCore::eastPanningCursor):
- (WebCore::northPanningCursor):
- (WebCore::northEastPanningCursor):
- (WebCore::northWestPanningCursor):
- (WebCore::southPanningCursor):
- (WebCore::southEastPanningCursor):
- (WebCore::southWestPanningCursor):
- (WebCore::westPanningCursor):
- (WebCore::grabCursor):
- (WebCore::grabbingCursor):
-
-2010-02-11 Nate Chapin <japhet@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [V8] Add back in a fast path for v8 object wrapping
- when it's not possible we're in a WorkerContext (the fast
- path is important for performance).
-
- https://bugs.webkit.org/show_bug.cgi?id=34805
-
- * bindings/scripts/CodeGeneratorV8.pm:
- * bindings/v8/V8DOMWrapper.cpp:
- (WebCore::V8DOMWrapper::instantiateV8ObjectInWorkerContext):
- (WebCore::V8DOMWrapper::instantiateV8Object):
- * bindings/v8/V8DOMWrapper.h:
-
-2010-02-11 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Reviewed by Dirk Schulze.
-
- Small cleanups in SVG render tree code.
- Centralize calls to inflateShadow(), in SVGRenderSupport::computeRectForRepaint,
- instead of spreading them around the subclasses. All classes should inherit
- protected from SVGRenderBase, made it consistent.
-
- Doesn't affect layout tests.
-
- * rendering/RenderSVGImage.cpp:
- (WebCore::RenderSVGImage::computeRectForRepaint):
- * rendering/RenderSVGImage.h:
- * rendering/RenderSVGModelObject.cpp:
- (WebCore::RenderSVGModelObject::computeRectForRepaint):
- * rendering/RenderSVGRoot.h:
- * rendering/RenderSVGText.cpp:
- (WebCore::RenderSVGText::computeRectForRepaint):
- (WebCore::RenderSVGText::layout):
- * rendering/SVGRenderSupport.cpp:
- (WebCore::SVGRenderBase::computeRectForRepaint):
- * rendering/SVGRootInlineBox.h:
-
-2010-02-11 David Hyatt <hyatt@apple.com>
-
- Reviewed by Dan Bernstein.
-
- https://bugs.webkit.org/show_bug.cgi?id=34857
- Move InlineIterator and BidiRun into new files so subclasses can access them.
-
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * rendering/BidiRun.cpp: Added.
- (WebCore::BidiRun::destroy):
- (WebCore::throw):
- (WebCore::BidiRun::operator delete):
- * rendering/BidiRun.h: Added.
- (WebCore::BidiRun::BidiRun):
- (WebCore::BidiRun::next):
- * rendering/InlineIterator.h: Added.
- (WebCore::InlineIterator::InlineIterator):
- (WebCore::operator==):
- (WebCore::operator!=):
- (WebCore::bidiNext):
- (WebCore::bidiFirst):
- (WebCore::InlineIterator::increment):
- (WebCore::InlineIterator::atEnd):
- (WebCore::InlineIterator::current):
- (WebCore::InlineIterator::direction):
- (WebCore::InlineBidiResolver::increment):
- (WebCore::InlineBidiResolver::appendRun):
- * rendering/RenderBlock.h:
- * rendering/RenderBlockLineLayout.cpp:
- (WebCore::RenderBlock::appendRunsForObject):
- (WebCore::RenderBlock::requiresLineBox):
-
-2010-02-11 Steve Block <steveblock@google.com>
-
- Reviewed by Dimitri Glazkov.
-
- Fixes CodeGeneratorV8.pm to include the header for the indexer type when using setCollectionIndexedGetter()
- https://bugs.webkit.org/show_bug.cgi?id=34836
-
- setCollectionIndexedGetter() uses getIndexedPropertyOfCollection(),
- which in turn uses toV8() with the indexer type, which is declared in
- the header for the indexer type.
-
- No new tests, build fix only.
-
- * bindings/scripts/CodeGeneratorV8.pm:
-
-2010-02-11 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: split source code into chunks in order to improve text
- viewer performance on large files.
-
- https://bugs.webkit.org/show_bug.cgi?id=34816
-
- This change brings back SourceFrame's canvas+style magic, restores line
- wrapping and makes things a lot like they used to be.
- It removes TextEditor for now and renames NativeTextViewer into TextViewer.
- TextViewer is no longer derived from TextEditor.
- This TextViewer is still based on TextEditorModel, no iframes are involved.
-
- Instead of creating div per line, TextViewer splits source code into 50 line
- chunks. Upon scroll event, visible chunks are sharded into lines and individual
- lines are highlighted. Whenever highlighted region gets outside of the visible
- area, highlight spans are thrown away and region is replaced with the original
- plain text chunk.
-
- Complex stuff:
- - Whenever there is a need to manipulate individual lines (add message bubble /
- set breakpoint / reveal / etc.), individual chunks for such lines are created.
- - There is also an implicit machinery that is maintaining selection when it
- goes beyond the visible area.
- - Search occurrences are implemented as artificial spans interweaving
- highlighting markup.
-
- * WebCore.gypi:
- * WebCore.vcproj/WebCore.vcproj:
- * inspector/front-end/NativeTextViewer.js: Removed.
- * inspector/front-end/ScriptView.js:
- (WebInspector.ScriptView):
- * inspector/front-end/Settings.js:
- * inspector/front-end/SourceFrame.js:
- (WebInspector.SourceFrame):
- (WebInspector.SourceFrame.prototype.set visible):
- (WebInspector.SourceFrame.prototype.set executionLine):
- (WebInspector.SourceFrame.prototype.revealLine):
- (WebInspector.SourceFrame.prototype.addBreakpoint):
- (WebInspector.SourceFrame.prototype.removeBreakpoint):
- (WebInspector.SourceFrame.prototype.addMessage):
- (WebInspector.SourceFrame.prototype.clearMessages):
- (WebInspector.SourceFrame.prototype.sizeToFitContentHeight):
- (WebInspector.SourceFrame.prototype.setContent):
- (WebInspector.SourceFrame.prototype.highlightLine):
- (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
- (WebInspector.SourceFrame.prototype.markAndRevealRange):
- (WebInspector.SourceFrame.prototype.clearMarkedRange):
- (WebInspector.SourceFrame.prototype._breakpointChanged):
- (WebInspector.SourceFrame.prototype._updateExecutionLine):
- (WebInspector.SourceFrame.prototype._addMessageToSource):
- (WebInspector.SourceFrame.prototype._addExistingBreakpointsToSource):
- (WebInspector.SourceFrame.prototype._addBreakpointToSource):
- (WebInspector.SourceFrame.prototype._removeBreakpointFromSource):
- (WebInspector.SourceFrame.prototype._mouseDown):
- (WebInspector.SourceFrame.prototype._editBreakpointCondition.committed):
- (WebInspector.SourceFrame.prototype._editBreakpointCondition.dismissed):
- (WebInspector.SourceFrame.prototype._editBreakpointCondition):
- (WebInspector.SourceFrame.prototype._showBreakpointConditionPopup):
- (WebInspector.SourceFrame.prototype._createConditionElement):
- (WebInspector.SourceFrame.prototype._keyDown):
- (WebInspector.SourceFrame.prototype.resize):
- (WebInspector.SourceFrame.prototype._drawProgramCounterInContext):
- (WebInspector.SourceFrame.prototype._drawProgramCounterImageIfNeeded):
- (WebInspector.SourceFrame.prototype._drawBreakpointImagesIfNeeded.drawBreakpoint):
- (WebInspector.SourceFrame.prototype._drawBreakpointImagesIfNeeded):
- * inspector/front-end/SourceView.js:
- (WebInspector.SourceView):
- (WebInspector.SourceView.prototype._removeBreakpoint):
- (WebInspector.SourceView.prototype.searchCanceled):
- (WebInspector.SourceView.prototype._jumpToSearchResult):
- * inspector/front-end/TextEditor.js: Removed.
- * inspector/front-end/TextViewer.js: Added.
- (WebInspector.TextViewer):
- (WebInspector.TextViewer.prototype.set mimeType):
- (WebInspector.TextViewer.prototype.get textModel):
- (WebInspector.TextViewer.prototype.revealLine):
- (WebInspector.TextViewer.prototype.addDecoration):
- (WebInspector.TextViewer.prototype.removeDecoration):
- (WebInspector.TextViewer.prototype.markAndRevealRange):
- (WebInspector.TextViewer.prototype.highlightLine):
- (WebInspector.TextViewer.prototype._textChanged):
- (WebInspector.TextViewer.prototype._createChunkRow):
- (WebInspector.TextViewer.prototype._makeLineAChunk):
- (WebInspector.TextViewer.prototype._indexChunks):
- (WebInspector.TextViewer.prototype._highlightChanged):
- (WebInspector.TextViewer.prototype._scroll):
- (WebInspector.TextViewer.prototype.setCoalescingUpdate):
- (WebInspector.TextViewer.prototype._repaintAll):
- (WebInspector.TextViewer.prototype._chunkForOffset):
- (WebInspector.TextViewer.prototype._chunkNumberForLine):
- (WebInspector.TextViewer.prototype._chunkStartLine):
- (WebInspector.TextViewer.prototype._restoreChunks):
- (WebInspector.TextViewer.prototype._repaint):
- (WebInspector.TextViewer.prototype._getSelection):
- (WebInspector.TextViewer.prototype._restoreSelection):
- (WebInspector.TextViewer.prototype._selectionToPosition):
- (WebInspector.TextViewer.prototype._createLineRow):
- (WebInspector.TextViewer.prototype._paintLine):
- (WebInspector.TextViewer.prototype._createSpan):
- (WebInspector.TextViewer.prototype._createLink):
- (WebInspector.TextViewer.prototype._rewriteHref):
- (WebInspector.TextViewer.prototype._markRange):
- (WebInspector.TextViewer.prototype._decimalDigits):
- (WebInspector.TextViewer.prototype.resize):
- * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/TimelineOverviewPane.js:
+ (WebInspector.TimelineOverviewPane):
+ (WebInspector.TimelineOverviewPane.prototype.showTimelines):
+ (WebInspector.TimelineOverviewPane.prototype.showMemoryGraph):
+ (WebInspector.TimelineOverviewPane.prototype._forAllRecords):
+ (WebInspector.TimelineOverviewPane.prototype.update):
+ (WebInspector.TimelineOverviewPane.prototype.updateMainViewWidth):
+ (WebInspector.TimelineOverviewPane.prototype._endWindowDragging):
+ (WebInspector.TimelineOverviewPane.prototype._createTimelineCategoryStatusBarCheckbox):
+ (WebInspector.HeapGraph):
+ (WebInspector.HeapGraph.prototype.get element):
+ (WebInspector.HeapGraph.prototype.get visible):
+ (WebInspector.HeapGraph.prototype.show):
+ (WebInspector.HeapGraph.prototype.hide):
+ (WebInspector.HeapGraph.prototype.setSize):
+ (WebInspector.HeapGraph.prototype.update):
+ (WebInspector.HeapGraph.prototype._clear):
+ (WebInspector.HeapGraph.prototype._drawScale):
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel):
+ (WebInspector.TimelinePanel.prototype.toolbarItemClass._createTopPane):
+ (WebInspector.TimelinePanel.prototype.get statusBarItems):
+ (WebInspector.TimelinePanel.prototype._timelinesOverviewItemSelected):
+ (WebInspector.TimelinePanel.prototype._memoryOverviewItemSelected):
+ (WebInspector.TimelinePanel.prototype.setSidebarWidth):
+ (WebInspector.TimelinePanel.prototype.show):
+ (WebInspector.TimelinePanel.prototype.hide):
* inspector/front-end/inspector.css:
+ (#counters):
+ (#timeline-overview-sidebar):
+ (.timeline-category-statusbar-item):
+ (.timeline-category-statusbar-item .timeline-category-checkbox):
+ (.timeline-category-statusbar-item .timeline-category-checkbox:checked):
+ (.timeline-category-statusbar-item.timeline-category-loading .timeline-category-checkbox):
+ (.timeline-category-statusbar-item.timeline-category-scripting .timeline-category-checkbox):
+ (.timeline-category-statusbar-item.timeline-category-rendering .timeline-category-checkbox):
+ (#timeline-overview-memory):
+ (.timeline-records-counter):
+ (#main-status-bar > .timeline-records-counter):
+ (#counters > .timeline-records-counter):
* inspector/front-end/inspector.html:
- * inspector/front-end/textEditor.css: Removed.
- * inspector/front-end/textViewer.css: Added.
* inspector/front-end/utilities.js:
- (Node.prototype.traverseNextTextNode):
- (Node.prototype.rangeBoundaryForOffset):
-
-2010-02-11 Csaba Osztrogonác <ossy@webkit.org>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] ENABLE_RUBY flag was restored by r54649, but default value wasn't added for Qt port.
- https://bugs.webkit.org/show_bug.cgi?id=34698
-
- * WebCore.pri: Add ENABLE_RUBY=1 as default setting.
-
-2010-02-11 Steve Block <steveblock@google.com>
-
- Reviewed by Jeremy Orlow.
-
- Updates Android V8 Makefile to generate Notifications and WebSockets headers required by V8DOMWrapper.cpp
- https://bugs.webkit.org/show_bug.cgi?id=34815
-
- No new tests, build fix only.
-
- * Android.derived.v8bindings.mk:
-
-2010-02-11 Steve Block <steveblock@google.com>
-
- Reviewed by Jeremy Orlow.
-
- Updates Android V8 Makefile to generate XPath header required by V8Proxy.cpp
- https://bugs.webkit.org/show_bug.cgi?id=34814
-
- No new tests, build fix only.
-
- * Android.derived.v8bindings.mk:
-
-2010-02-11 Steve Block <steveblock@google.com>
-
- Reviewed by Nate Chapin.
-
- Update Android V8 Makefile to generate Inspector headers required by V8 ScriptObject.cpp
- https://bugs.webkit.org/show_bug.cgi?id=34806
-
- No new tests, build fix only.
-
- * Android.derived.v8bindings.mk:
-
-2010-02-11 Steve Block <steveblock@google.com>
-
- Reviewed by David Levin.
-
- Guards SVG code in V8 bindings with ENABLE(SVG)
- https://bugs.webkit.org/show_bug.cgi?id=34812
-
- Also updates Android V8 Makefile to generate required SVG headers.
-
- No new tests, build fix only.
-
- * Android.derived.v8bindings.mk:
- * bindings/v8/custom/V8CSSValueCustom.cpp:
- (WebCore::toV8):
- * bindings/v8/custom/V8DocumentCustom.cpp:
- (WebCore::toV8):
- * bindings/v8/custom/V8ElementCustom.cpp:
- (WebCore::toV8):
-
-2010-02-08 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Cameron Zwarich.
-
- Restore ENABLE_RUBY flag so vendors can ship with Ruby disabled if they choose.
- https://bugs.webkit.org/show_bug.cgi?id=34698
-
- * Configurations/FeatureDefines.xcconfig:
- * DerivedSources.make:
- * GNUmakefile.am:
- * html/HTMLTagNames.in: Make the ruby-related tag names conditional.
- * rendering/RenderObject.cpp:
- (WebCore::RenderObject::createObject): ifdef the code that would create ruby elements.
- * rendering/RenderObject.h: ditto above
- * rendering/RenderRuby.cpp: ifdef this whole file
- * rendering/RenderRuby.h: ditto
- * rendering/RenderRubyBase.cpp: ditto
- * rendering/RenderRubyBase.h: ditto
- * rendering/RenderRubyRun.cpp: ditto
- * rendering/RenderRubyRun.h: ditto
- * rendering/RenderRubyText.cpp: ditto
- * rendering/RenderRubyText.h: ditto
-
-2010-02-11 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Darin Adler.
-
- Step attribute support for date&time types.
- https://bugs.webkit.org/show_bug.cgi?id=30847
-
- - Add implementation for ValidityState.stepMismatch, stepUp() and
- stepDown() for date, datetime, datetime-local, month, time, week types.
- - Fix string representation of DateComponents.
-
- Tests: fast/forms/ValidityState-stepMismatch.html
- fast/forms/input-stepup-stepdown.html
-
- * html/HTMLInputElement.cpp:
- - Change monthDefaultMaximum so that DateComponents::m_year doesn't overflow.
- (WebCore::HTMLInputElement::stepBase):
- (WebCore::HTMLInputElement::stepMismatch):
- (WebCore::HTMLInputElement::getStepParameters):
- (WebCore::HTMLInputElement::getAllowedValueStep):
- (WebCore::HTMLInputElement::applyStep):
- Renamed from applyStepForNumberOrRange(), and add support for other types.
- (WebCore::HTMLInputElement::stepUp): Rename applyStepForNumberOrRange().
- (WebCore::HTMLInputElement::stepDown): Rename applyStepForNumberOrRange().
- (WebCore::HTMLInputElement::setValueAsDate): Use setDateValue().
- (WebCore::HTMLInputElement::setDateValue):
- A helper function to make the best representation of DateComponents.
- (WebCore::HTMLInputElement::setValueAsNumber): Use setDateValue().
- * html/HTMLInputElement.h:
-
-2010-02-10 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- postMessage does not send ImageData
- https://bugs.webkit.org/show_bug.cgi?id=34825
-
- Implement serialisation of ImageData, and for testing reasons
- expose the ImageData constructor (which should already have
- been exposed).
-
- * bindings/js/SerializedScriptValue.cpp:
- (WebCore::SerializedImageData::create):
- (WebCore::SerializedImageData::width):
- (WebCore::SerializedImageData::height):
- (WebCore::SerializedImageData::data):
- (WebCore::SerializedImageData::SerializedImageData):
- (WebCore::SerializedScriptValueData::SerializedScriptValueData):
- (WebCore::SharedSerializedData::asImageData):
- (WebCore::SerializingTreeWalker::convertIfTerminal):
- (WebCore::DeserializingTreeWalker::convertIfTerminal):
- (WebCore::TeardownTreeWalker::convertIfTerminal):
- * bindings/js/SerializedScriptValue.h:
- (WebCore::SerializedScriptValueData::):
- (WebCore::SerializedScriptValueData::asImageData):
- * html/canvas/CanvasPixelArray.h:
- (WebCore::CanvasPixelArray::data):
- * page/DOMWindow.idl:
-
-2010-02-10 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Adler.
-
- Address last round of review comments on r53607
- https://bugs.webkit.org/show_bug.cgi?id=33940
-
- Mostly renaming and cleaning up.
-
- * css/CSSImportRule.cpp:
- (WebCore::CSSImportRule::insertedIntoParent):
- * css/CSSStyleSheet.h:
- (WebCore::CSSStyleSheet::create):
- (WebCore::CSSStyleSheet::createInline):
- * css/StyleBase.cpp:
- (WebCore::StyleBase::baseURL):
- * css/StyleSheet.cpp:
- (WebCore::StyleSheet::StyleSheet):
- * css/StyleSheet.h:
- (WebCore::StyleSheet::href):
- (WebCore::StyleSheet::setFinalURL):
- (WebCore::StyleSheet::finalURL):
- * dom/Document.cpp:
- (WebCore::Document::updateBaseURL):
- * dom/ProcessingInstruction.cpp:
- (WebCore::ProcessingInstruction::checkStyleSheet):
- * xml/XSLImportRule.cpp:
- (WebCore::XSLImportRule::loadSheet):
- * xml/XSLStyleSheet.h:
- (WebCore::XSLStyleSheet::create):
- (WebCore::XSLStyleSheet::createInline):
- * xml/XSLStyleSheetLibxslt.cpp:
- (WebCore::XSLStyleSheet::XSLStyleSheet):
- (WebCore::XSLStyleSheet::parseString):
- (WebCore::XSLStyleSheet::loadChildSheets):
- * xml/XSLStyleSheetQt.cpp:
- (WebCore::XSLStyleSheet::XSLStyleSheet):
-
-2010-02-10 Noam Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Ariya Hidayat.
-
- [Qt] GraphicsLayer: somtimes the item flickers at the end of an animation
- This is because we try to delete the animation when finished: that is
- unnecessary. WebCore manages the animation's lifecycle and makes sure
- to call the right function when the animation can be deleted.
-
- https://bugs.webkit.org/show_bug.cgi?id=34761
-
- No new tests.
-
- * platform/graphics/qt/GraphicsLayerQt.cpp:
- (WebCore::GraphicsLayerQt::addAnimation): No need to delete here
- (WebCore::GraphicsLayerQt::removeAnimationsForProperty): deleteLater
-
-2010-02-10 Kevin Ollivier <kevino@theolliviers.com>
-
- [wx] Build fix for wxMac/Cocoa.
-
- * platform/wx/wxcode/mac/carbon/fontprops.cpp: Removed.
- * platform/wx/wxcode/mac/carbon/fontprops.mm: Copied from WebCore/platform/wx/wxcode/mac/carbon/fontprops.cpp.
- * wscript:
-
-2010-02-10 Jon Honeycutt <jhoneycutt@apple.com>
-
- REGRESSION(24929): PDF page doesn't load in background tab
-
- Reviewed by Dan Bernstein.
-
- * plugins/PluginView.cpp:
- (WebCore::PluginView::startOrAddToUnstartedList):
- Only delay loading of the plug-in if we'll kick off our own load of the
- plug-in data later, in start().
+ ():
-2010-02-10 Enrica Casucci <enrica@apple.com>
+2010-05-25 Adam Barth <abarth@webkit.org>
- Reviewed by Simon Fraser.
+ Unreviewed. Fix typo pointed out by Maciej.
- Crash in WebKit!WebCore::RenderTextControlSingleLine::createInnerTextStyle doing anything in Safari after sitting on a page with 3D site
- <rdar://problem/7557201>
- https://bugs.webkit.org/show_bug.cgi?id=34823
-
- No tests added because the code is exercised by the existing tests.
-
- The root cause was the fact that we were not releasing a reference that was held by CA.
- In debug builds we had an assert in the destructor of WKCACFLayer.
-
- * platform/graphics/win/GraphicsLayerCACF.cpp:
- (WebCore::GraphicsLayerCACF::~GraphicsLayerCACF):
+ * html/HTML5Lexer.cpp:
+ (WebCore::HTMLNames::unconsumeCharacters):
+ (WebCore::HTML5Lexer::consumeEntity):
-2010-02-10 Kwang Yul Seo <skyul@company100.net>
+2010-05-25 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
- [BREWMP] Typedef DragImageRef
- https://bugs.webkit.org/show_bug.cgi?id=34791
-
- Use IImage* as it is the BREW's image type.
-
- * platform/DragImage.h:
-
-2010-02-10 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Simon Fraser and Darin Adler.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=34185 REGRESSION:
- Mask not invalidating
-
- SVGMaskElement is the only class that keeps a HashMap of canvas
- resources rather than just a pointer to a resource. This
- patch makes SVGMaskElement invalidate all of its resources in the
- HashMap instead of just one.
-
- * svg/SVGMaskElement.cpp:
- (WebCore::SVGMaskElement::svgAttributeChanged):
- (WebCore::SVGMaskElement::childrenChanged):
- (WebCore::SVGMaskElement::invalidateCanvasResources):
- * svg/SVGMaskElement.h:
- * svg/SVGStyledElement.cpp:
- (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain):
- (WebCore::SVGStyledElement::invalidateCanvasResources):
- * svg/SVGStyledElement.h:
-
-2010-02-10 Stephan Aßmus <superstippi@gmx.de>
-
- Reviewed by David Levin.
-
- Fixes to rect conversion and image rendering on Haiku
- https://bugs.webkit.org/show_bug.cgi?id=34684
-
- Covered by existing tests.
-
- The changes to the rect conversions are indeed correct. In Haiku (to stay
- compatibly with BeOS), a BRect specifies the left/top and bottom/right pixel
- *indices*, even though the values are floating point. So a rectangle covering
- just one pixel would be specified as BRect(0, 0, 0, 0). In WebCore and other
- frame works, such rectangles would be expressed as 0, 0, 1, 1. In WebCore, the
- width and height of rectangles refer to the distance between pixels, while on
- Haiku, a one pixel rect has indeed a width and height of 0, as confusing as
- that may be.
-
- The part of the patch that affects
- WebCore/platform/graphics/haiku/ImageHaiku.cpp also implements the drawing
- methods more correctly. Image observers are notified, and pattern drawing takes
- the "phase" into account which makes scrolled backgrounds render correctly.
- Transformations are still not supported, since the Haiku drawing backend itself
- does not yet support them.
-
- Use OwnPtr when creating the BBitmap to avoid future leaks with early returns.
-
- Convert the bitmap data to non pre-multiplied until Haiku supports drawing
- pre-multiplied bitmaps.
-
- * platform/graphics/haiku/FloatRectHaiku.cpp: Fixed conversion
- * platform/graphics/haiku/ImageHaiku.cpp:
- (WebCore::BitmapImage::draw): Fixed placement, notify observers
- (WebCore::Image::drawPattern): Implemented using "phase" to fix scrolling, notify observers
- * platform/graphics/haiku/IntRectHaiku.cpp: Fixed conversion
- * platform/image-decoders/haiku/ImageDecoderHaiku.cpp: Fixed conversion
-
-2010-02-10 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by David Levin.
-
- Clean up unused member var and initialization in Document
- https://bugs.webkit.org/show_bug.cgi?id=34820
-
- Remove unused m_secureForms member variable in Document.
-
- * dom/Document.cpp:
- (WebCore::Document::Document):
- * dom/Document.h:
+ Fix <noembed> and <plaintext> content models
+ https://bugs.webkit.org/show_bug.cgi?id=39653
-2010-02-10 Kevin Watters <kevinwatters@gmail.com>
+ PLAINTEXTState is my favorite lexer state. :)
- Reviewed by Kevin Ollivier.
+ * html/HTML5TreeBuilder.cpp:
+ (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
- [wx] Add Windows complex text support and Mac support for containsCharacters.
-
- https://bugs.webkit.org/show_bug.cgi?id=34759
-
- * platform/graphics/SimpleFontData.h:
- * platform/graphics/wx/FontPlatformData.h:
- (WebCore::FontPlatformData::roundsGlyphAdvances):
- * platform/graphics/wx/FontPlatformDataWx.cpp:
- (WebCore::FontPlatformData::useGDI):
- (WebCore::FontPlatformData::hfont):
- * platform/graphics/wx/FontWx.cpp:
- (WebCore::Font::canReturnFallbackFontsForComplexText):
- (WebCore::Font::selectionRectForComplexText):
- (WebCore::Font::drawComplexText):
- (WebCore::Font::floatWidthForComplexText):
- (WebCore::Font::offsetForPositionForComplexText):
- * platform/graphics/wx/SimpleFontDataWx.cpp:
- (WebCore::SimpleFontData::platformInit):
- (WebCore::SimpleFontData::platformDestroy):
- (WebCore::SimpleFontData::containsCharacters):
- (WebCore::SimpleFontData::platformWidthForGlyph):
- (WebCore::SimpleFontData::scriptFontProperties):
- (WebCore::SimpleFontData::initGDIFont):
- (WebCore::SimpleFontData::platformCommonDestroy):
- (WebCore::SimpleFontData::widthForGDIGlyph):
- * platform/wx/wxcode/fontprops.h:
- * platform/wx/wxcode/gtk/fontprops.cpp:
- (wxFontContainsCharacters):
- * platform/wx/wxcode/mac/carbon/fontprops.cpp:
- (wxFontContainsCharacters):
- * platform/wx/wxcode/win/fontprops.cpp:
- (wxFontContainsCharacters):
- * platform/wx/wxcode/win/non-kerned-drawing.cpp:
- (WebCore::drawTextWithSpacing):
- * wscript:
+2010-05-24 Adam Barth <abarth@webkit.org>
-2010-02-10 Kwang Yul Seo <skyul@company100.net>
Reviewed by Eric Seidel.
- [BREWMP] Add dummy Frame::dragImageForSelection
- https://bugs.webkit.org/show_bug.cgi?id=34792
-
- Add FrameBrew.cpp which contains a dummy implementation of
- Frame::dragImageForSelection.
-
- * page/brew/FrameBrew.cpp: Added.
- (WebCore::Frame::dragImageForSelection):
-
-2010-02-10 Kevin Ollivier <kevino@theolliviers.com>
-
- [wx] Build fix. Switch drawPattern to Image class like other platforms.
+ First cut at HTML5 entities
+ https://bugs.webkit.org/show_bug.cgi?id=39649
- * platform/graphics/BitmapImage.h:
- * platform/graphics/wx/ImageWx.cpp:
- (WebCore::Image::drawPattern):
-
-2010-02-10 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Darin Adler.
-
- Added CA_PRINT_TREE functionality to WKCACFLayer implementation
- https://bugs.webkit.org/show_bug.cgi?id=34779
+ There's still a bunch more work to do to get our entity parsing fully
+ up to spec. This patch contains the bulk of the implementation
+ however.
- I've tried to duplicate the look of the output on Mac, but
- it's not quite the same. It shows all the useful information though.
- It is enabled by setting the environment variable CA_PRINT_TREE=1
-
- * platform/graphics/win/WKCACFLayer.cpp:Implementation of printTree
- (WebCore::WKCACFLayer::isTransformLayer):
- Moved function to cpp file because it needs to use the function form
- of kCACFTransformLayer because the DLL is delay loaded, and that function
- can only be called from the cpp file.
- (WebCore::WKCACFLayer::sublayerAtIndex):
- (WebCore::printIndent):
- (WebCore::printTransform):
- (WebCore::WKCACFLayer::printTree):Prints from this layer down
- (WebCore::WKCACFLayer::printLayer):Prints this layer and recursively calls sublayers
- * platform/graphics/win/WKCACFLayer.h:
- * platform/graphics/win/WKCACFLayerRenderer.cpp:
- (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
- (WebCore::WKCACFLayerRenderer::createRenderer):Adds a name to the root layers
- (WebCore::WKCACFLayerRenderer::render):Calls printTree when CA_PRINT_TREE is 1
- * platform/graphics/win/WKCACFLayerRenderer.h:
-
-2010-02-10 Nate Chapin <japhet@chromium.org>
-
- Reviewed by Adam Barth.
-
- Change V8DOMWrapper::lookupDOMWrapper() and configureTemplate()
- to not use V8ClassIndex.
-
- https://bugs.webkit.org/show_bug.cgi?id=34768
-
- * bindings/scripts/CodeGeneratorV8.pm:
- * bindings/v8/V8Binding.cpp:
- * bindings/v8/V8Binding.h:
- * bindings/v8/V8DOMWindowShell.cpp:
- * bindings/v8/V8DOMWrapper.cpp:
- * bindings/v8/V8DOMWrapper.h:
- * bindings/v8/V8Proxy.cpp:
- * bindings/v8/WorkerContextExecutionProxy.cpp:
- * bindings/v8/custom/V8DOMWindowCustom.cpp:
- * bindings/v8/custom/V8LocationCustom.cpp:
- * bindings/v8/custom/V8MessageEventCustom.cpp:
-
-2010-02-10 Nate Chapin <japhet@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [V8] Handle the possibility that ScheduledAction::execute() may
- retrieve a null V8Proxy* even if not in a WorkerContext (e.g., if
- JS was disallowed).
-
- * bindings/v8/ScheduledAction.cpp:
- (WebCore::ScheduledAction::execute):
-
-2010-02-10 Kenneth Russell <kbr@google.com>
-
- Reviewed by Oliver Hunt.
-
- Remove automatic viewport resizing
- https://bugs.webkit.org/show_bug.cgi?id=34766
-
- Removed automatic viewport resizing per conclusions on the WebGL
- mailing list. Added test verifying new behavior and updated a
- couple of previous tests failing after this change.
-
- Test: fast/canvas/webgl/viewport-unchanged-upon-resize.html
+ The basics are covered by the existing html5lib tests. I'll add more
+ detailed tests in a followup patch.
- * platform/graphics/mac/GraphicsContext3DMac.cpp:
- (WebCore::GraphicsContext3D::reshape):
-
-2010-02-10 Ariya Hidayat <ariya.hidayat@gmail.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Implement image interpolation quality.
-
- https://bugs.webkit.org/show_bug.cgi?id=34629
-
- * platform/graphics/qt/GraphicsContextQt.cpp:
- (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
- (WebCore::GraphicsContext::setImageInterpolationQuality):
- (WebCore::GraphicsContext::imageInterpolationQuality):
-
-2010-02-10 Eric Seidel <eric@webkit.org>
-
- No review, Mac build fix.
-
- Crash in Flash at http://www.cctv.com/
- https://bugs.webkit.org/show_bug.cgi?id=34673
-
- * plugins/PluginViewNone.cpp:
- (WebCore::PluginView::getValueStatic):
-
-2010-02-10 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Xan Lopez.
-
- [GTK] Hits assertion on history back, with page cache enabled, in specific conditions
- https://bugs.webkit.org/show_bug.cgi?id=34773
-
- When unsetting the adjustments from a ScrollView, also disconnect
- them from the Scrollbars.
-
- Test: fast/frames/frame-crash-with-page-cache.html
-
- * platform/gtk/ScrollViewGtk.cpp:
- (WebCore::ScrollView::setGtkAdjustments):
- * platform/gtk/ScrollbarGtk.cpp:
- (ScrollbarGtk::~ScrollbarGtk):
- (ScrollbarGtk::detachAdjustment):
- * platform/gtk/ScrollbarGtk.h:
-
-2010-02-09 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Geoffrey Garen.
-
- https://bugs.webkit.org/show_bug.cgi?id=34490
- WebCore::ImageEventSender::dispatchPendingEvents() crashes in certain conditions
-
- Test: fast/images/destroyed-image-load-event.html
-
- * ForwardingHeaders/wtf/ValueCheck.h: Added.
-
- * loader/ImageLoader.cpp:
- (WTF::ValueCheck): Special case value check for ImageLoader - it's allocated inside elements,
- so check the owner instead.
- (WebCore::ImageEventSender::hasPendingEvents): Added a debugging aid for ImageLoader destructor.
- (WebCore::ImageLoader::~ImageLoader): Assert that we're not going to leave dangling pointers
- in ImageEventSender.
- (WebCore::ImageLoader::setImage): Cancel events that could be dispatched for the previous
- image. The only client using this method that I could find was DeleteButton, which doesn't
- care about load events for the new image, so I didn't add any code for firing those.
- (WebCore::ImageLoader::setLoadingImage): This method only existed to confuse readers -
- there wasn't any meaningful code shared (callers just undid most assignments made there).
- Merged the logic into callers.
- (WebCore::ImageLoader::updateFromElement): We're forgetting the old image, so forget its
- old events, too.
- (WebCore::ImageLoader::notifyFinished): This can be called from setImage(), in which case
- no one is going to dispatch the event "soon". So, don't queue it.
- (WebCore::ImageEventSender::dispatchPendingEvents): Call checkConsistency(). This didn't
- help catch this particuar bug, but seems like a useful check anyway.
-
- * loader/ImageLoader.h: Removed setLoadingImage().
-
-2010-02-10 Jon Honeycutt <jhoneycutt@apple.com>
-
- Mac build fix. Unreviewed.
-
- * WebCore.xcodeproj/project.pbxproj:
- Add PluginViewNone.cpp to the Mac project.
-
-2010-02-10 Adam Roben <aroben@apple.com>
-
- Optimize ImageBuffer::toDataURL's CG implementation
-
- There was some unused code that could have been removed in r31830 when
- this function was changed not to flip the CG image anymore.
-
- Fixes <http://webkit.org/b/34808> ImageBuffer::toDataURL allocates
- unnecessary memory under CoreGraphics
-
- Reviewed by Sam Weinig.
-
- * platform/graphics/cg/ImageBufferCG.cpp:
- (WebCore::ImageBuffer::toDataURL): Don't allocate an unused CGImageRef
- and buffer, and switch to the new overload of base64Encode that
- doesn't require us to copy all the image data into a Vector first.
-
- * platform/text/Base64.cpp:
- (WebCore::base64Encode):
- * platform/text/Base64.h:
- Added an overload that takes a raw data pointer and length, just like
- we have for base64Decode. The overload that takes a Vector as input
- just calls through to the new overload.
-
-2010-02-10 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Dave Hyatt.
-
- Complete the fix for <rdar://problem/7577604> Drag and Drop: background elements are bleeding through
- https://bugs.webkit.org/show_bug.cgi?id=34546
-
- * manual-tests/drag-image-table-part-decorations.html:
- * rendering/RenderTableCell.cpp:
- (WebCore::RenderTableCell::paint): Don’t paint collapsed borders if this object shouldn’t
- paint within the current painting root.
-
-2010-02-08 Jon Honeycutt <jhoneycutt@apple.com>
-
- <rdar://problem/7436875> Crash in Flash when visiting
- http://www.cctv.com/default.shtml (WER ID 819298200) [watson 2502260]
-
- Reviewed by Darin Adler.
+ * html/HTML5Lexer.cpp:
+ (WebCore::HTMLNames::legalEntityFor):
+ (WebCore::HTMLNames::isHexDigit):
+ (WebCore::HTMLNames::isAlphaNumeric):
+ (WebCore::HTMLNames::uncomsumeCharacters):
+ (WebCore::HTML5Lexer::consumeEntity):
+ (WebCore::HTML5Lexer::nextToken):
+ (WebCore::HTML5Lexer::haveBufferedCharacterToken):
+ * html/HTML5Lexer.h:
+ (WebCore::HTML5Lexer::):
+ * html/HTML5Tokenizer.cpp:
+ (WebCore::HTML5Tokenizer::write):
- Test: platform/win/plugins/plugin-delayed-destroy.html
-
- * bridge/NP_jsobject.cpp:
- (_NPN_Evaluate):
- If Flash calls this to evaluate a script that destroys the PluginView,
- we crash when returning to Flash code. Before evaluating the script,
- call PluginView::keepAlive() to hold a ref to this instance (and release
- it asynchronously).
-
- * plugins/PluginView.cpp:
- (WebCore::instanceMap):
- Return a map from the NPP to the PluginView.
- (WebCore::PluginView::~PluginView):
- Assert that the keep alive timer is not running; remove ourselves from
- the instance map.
- (WebCore::PluginView::performRequest):
- The parent Frame is now a RefPtr; use .get().
- (WebCore::PluginView::status):
- Ditto.
- (WebCore::PluginView::didReceiveResponse):
- Ditto.
- (WebCore::PluginView::PluginView):
- Add the view to the instance map.
- (WebCore::PluginView::lifeSupportTimerFired):
- Deref the PluginView.
- (WebCore::PluginView::keepAlive):
- Ref the PluginView, then start a time to release the reference
- asynchronously.
- (WebCore::PluginView::keepAlive):
- Find the PluginView in the map, and call its keepAlive() function.
-
- * plugins/PluginView.h:
- Made m_parentFrame a RefPtr, so that it will remain valid when the
- keep alive timer fires.
- (WebCore::PluginView::parentFrame):
- Use .get().
-
- * plugins/gtk/PluginViewGtk.cpp:
- (WebCore::PluginView::updatePluginWidget):
- Use .get().
- (WebCore::PluginView::handleKeyboardEvent):
- Use .get().
- (WebCore::PluginView::handleMouseEvent):
- Use .get().
-
- * plugins/PluginViewNone.cpp:
- (WebCore::PluginView::keepAlive):
- Stubbed.
-
-2010-02-10 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
+2010-05-24 Tasuku Suzuki <tasuku.suzuki@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
- Support frameset flattening
- https://bugs.webkit.org/show_bug.cgi?id=32717
-
- Add support for enabling/disabling FrameSet Flattening on the Mac port.
-
- * WebCore.base.exp:
-
-2010-02-10 Jeremy Orlow <jorlow@chromium.org>
-
- Revert 54599 because it breaks a lot of tests on Windows Chrome
-
- * inspector/front-end/DOMAgent.js:
- (WebInspector.DOMNode.prototype._insertChild):
- * inspector/front-end/ElementsPanel.js:
- (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
- * inspector/front-end/ElementsTreeOutline.js:
- (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
- (WebInspector.ElementsTreeElement):
- (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
- (WebInspector.ElementsTreeElement.prototype._updateChildren):
- ():
- * inspector/front-end/inspector.css:
-
-2010-02-10 Adam Roben <aroben@apple.com>
-
- Fix bad paths in WebCore.vcproj
-
- These were harmless in VS2005, but cause project conversion errors in
- VS2010 RC.
-
- Fixes <http://webkit.org/b/34801>.
-
- Reviewed by Dan Bernstein.
-
- * WebCore.vcproj/WebCore.vcproj: Removed leading "." from paths to
- JSHTMLFrameSetElement.{cpp,h}.
-
-2010-02-10 Julien Chaffraix <jchaffraix@webkit.org>
-
- Not reviewed (build fix).
-
- * platform/graphics/win/FontCacheWin.cpp:
- (WebCore::FontCache::getLastResortFallbackFont): Return a
- SimpleFontData here.
-
-2010-02-10 Julien Chaffraix <jchaffraix@pleyo.com>
-
- Reviewed by Eric Seidel.
-
- Bug 23287 - Avoid using FontPlatformData outside the FontCache
-
- No functional change, only refactored the code using FontPlatformData to use SimpleFontData.
-
- This change leaves the class FontCached as it needs some thoughts and more refactoring.
-
- * css/CSSFontFaceSource.cpp:
- (WebCore::CSSFontFaceSource::getFontData): Call getCachedFontData with the 2 parameters directly.
- * css/CSSFontSelector.cpp:
- (WebCore::fontDataForGenericFamily): Ditto.
- * platform/graphics/FontCache.cpp:
- (WebCore::FontCache::getCachedFontData): This method is meant to replace getCachedFontPlatformData
- that was moved in the private section of the class. It calls getCachedFontPlatformData and cache
- the returned FontPlatformData if it is not null.
- (WebCore::FontCache::getFontData): Updated to use the new getCachedFontData.
- * platform/graphics/FontCache.h: Updated several methods to return a SimpleFontData in lieu of a
- FontPlatformData. Moved some method in the private sections.
-
- * platform/graphics/chromium/FontCacheChromiumWin.cpp:
- (WebCore::FontCache::getSimilarFontPlatformData):
- (WebCore::FontCache::getLastResortFallbackFont):
- * platform/graphics/chromium/FontCacheLinux.cpp:
- (WebCore::FontCache::getSimilarFontPlatformData):
- (WebCore::FontCache::getLastResortFallbackFont):
- * platform/graphics/gtk/FontCacheGtk.cpp:
- (WebCore::FontCache::getSimilarFontPlatformData):
- (WebCore::FontCache::getLastResortFallbackFont):
- * platform/graphics/haiku/FontCacheHaiku.cpp:
- (WebCore::FontCache::getSimilarFontPlatformData):
- (WebCore::FontCache::getLastResortFallbackFont):
- * platform/graphics/qt/FontCacheQt.cpp:
- (WebCore::FontCache::getLastResortFallbackFont):
- * platform/graphics/win/FontCacheWin.cpp:
- (WebCore::FontCache::getSimilarFontPlatformData):
- (WebCore::FontCache::getLastResortFallbackFont):
- * platform/graphics/wince/FontCacheWince.cpp:
- * platform/graphics/wx/FontCacheWx.cpp:
- (WebCore::FontCache::getSimilarFontPlatformData):
- (WebCore::FontCache::getLastResortFallbackFont):
- Updated all the previous platform methods to return a SimpleFontData.
-
- * platform/graphics/mac/FontCacheMac.mm:
- (WebCore::FontCache::getSimilarFontPlatformData): Updated to return a SimpleFontData.
- (WebCore::FontCache::getLastResortFallbackFont): Ditto. Also refactored the code
- and moved a DEFINE_STATIC_LOCAL where it is needed.
-
-2010-02-10 Alexander Pavlov <apavlov@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: Elements Panel: Limit the number of initially loaded element children
- https://bugs.webkit.org/show_bug.cgi?id=34421
-
- Test: inspector/elements-panel-limited-children.html
-
- * English.lproj/localizedStrings.js:
- * inspector/front-end/DOMAgent.js:
- (WebInspector.DOMNode.prototype._insertChild):
- * inspector/front-end/ElementsPanel.js:
- (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
- * inspector/front-end/ElementsTreeOutline.js:
- (WebInspector.ElementsTreeOutline.prototype.createTreeElementFor):
- (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
- (WebInspector.ElementsTreeElement):
- (WebInspector.ElementsTreeElement.prototype.get expandedChildrenLimit):
- (WebInspector.ElementsTreeElement.prototype.set expandedChildrenLimit):
- (WebInspector.ElementsTreeElement.prototype.get expandedChildCount):
- (WebInspector.ElementsTreeElement.prototype.showChild):
- (WebInspector.ElementsTreeElement.prototype.insertChildElement):
- (WebInspector.ElementsTreeElement.prototype.moveChild):
- (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
- (WebInspector.ElementsTreeElement.prototype._updateChildren):
- (WebInspector.ElementsTreeElement.prototype.adjustCollapsedRange):
- (WebInspector.ElementsTreeElement.prototype.handleLoadAllChildren):
- ():
- * inspector/front-end/inspector.css:
-
-2010-02-10 Mikhail Naganov <mnaganov@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Remove several #if USE(JSC) branches. Introduce ScriptDebugServer class for
- making JavaScriptDebugServer engine-agnostic.
-
- https://bugs.webkit.org/show_bug.cgi?id=34795
-
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/js/JSBindingsAllInOne.cpp:
- * bindings/js/ScriptDebugServer.cpp: Added.
- (WebCore::ScriptDebugServer::recompileAllJSFunctions):
- (WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon):
- * bindings/js/ScriptDebugServer.h: Added.
- * bindings/v8/ScriptDebugServer.cpp: Added.
- (WebCore::ScriptDebugServer::recompileAllJSFunctions):
- (WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon):
- * bindings/v8/ScriptDebugServer.h: Added.
- * inspector/InspectorController.cpp:
- (WebCore::InspectorController::startUserInitiatedProfiling):
- (WebCore::InspectorController::enableProfiler):
- (WebCore::InspectorController::disableProfiler):
- * page/Console.cpp:
- (WebCore::Console::profile):
- (WebCore::Console::profileEnd):
-
-2009-10-06 Yongjun Zhang <yongjun.zhang@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Make JObjectWrapper::ref() and deref() public accessible to derefIfNull().
-
- Will be reverted when the following winscw compiler bug is fixed.
- https://xdabug001.ext.nokia.com/bugzilla/show_bug.cgi?id=9812
-
- https://bugs.webkit.org/show_bug.cgi?id=28054
-
- * bridge/jni/jsc/JavaInstanceJSC.h:
- * bridge/jni/v8/JavaInstanceV8.h:
-
-2010-02-10 Yaar Schnitman <yaar@chromium.org>
-
- Reviewed by Adam Barth.
-
- Simplified RuntimeEnabledFeatures and corresponding v8 generated code
- https://bugs.webkit.org/show_bug.cgi?id=34667
+ [Qt] Fix compilation with QT_NO_TEMPORARYFILE
+ https://bugs.webkit.org/show_bug.cgi?id=38324
- * WebCore.gypi:
- * bindings/generic/RuntimeEnabledFeatures.cpp: Added.
- (WebCore::RuntimeEnabledFeatures::audioEnabled):
- (WebCore::RuntimeEnabledFeatures::htmlMediaElementEnabled):
- (WebCore::RuntimeEnabledFeatures::htmlAudioElementEnabled):
- (WebCore::RuntimeEnabledFeatures::htmlVideoElementEnabled):
- (WebCore::RuntimeEnabledFeatures::mediaErrorEnabled):
- (WebCore::RuntimeEnabledFeatures::sharedWorkerEnabled):
- (WebCore::RuntimeEnabledFeatures::webSocketEnabled):
- (WebCore::RuntimeEnabledFeatures::openDatabaseEnabled):
- * bindings/generic/RuntimeEnabledFeatures.h: Added.
- (WebCore::RuntimeEnabledFeatures::setLocalStorageEnabled):
- (WebCore::RuntimeEnabledFeatures::localStorageEnabled):
- (WebCore::RuntimeEnabledFeatures::setSessionStorageEnabled):
- (WebCore::RuntimeEnabledFeatures::sessionStorageEnabled):
- (WebCore::RuntimeEnabledFeatures::setWebkitNotificationsEnabled):
- (WebCore::RuntimeEnabledFeatures::webkitNotificationsEnabled):
- (WebCore::RuntimeEnabledFeatures::setApplicationCacheEnabled):
- (WebCore::RuntimeEnabledFeatures::applicationCacheEnabled):
- (WebCore::RuntimeEnabledFeatures::setGeolocationEnabled):
- (WebCore::RuntimeEnabledFeatures::geolocationEnabled):
- (WebCore::RuntimeEnabledFeatures::setIndexedDBEnabled):
- (WebCore::RuntimeEnabledFeatures::indexedDBEnabled):
- (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
- * bindings/scripts/CodeGenerator.pm:
- * bindings/scripts/CodeGeneratorV8.pm:
- * bindings/v8/RuntimeEnabledFeatures.cpp: Removed.
- * bindings/v8/RuntimeEnabledFeatures.h: Removed.
- * bindings/v8/custom/V8DOMWindowCustom.cpp:
- * bindings/v8/custom/V8NavigatorCustom.cpp:
- * bindings/v8/custom/V8WorkerContextCustom.cpp:
+ * platform/qt/FileSystemQt.cpp:
+ (WebCore::openTemporaryFile):
-2010-02-09 Alexander Pavlov <apavlov@chromium.org>
+2010-05-24 Andrey Kosyakov <caseq@chromium.org>
- Reviewed by Pavel Feldman.
+ Reviewed by Yury Semikhatsky.
- Web Inspector: Add two basic categories for the Audits panel
- https://bugs.webkit.org/show_bug.cgi?id=32930
+ Fixed handling of bare '/' and '?' at console prompt.
+ https://bugs.webkit.org/show_bug.cgi?id=39585
- * WebCore.gypi:
- * WebCore.vcproj/WebCore.vcproj:
- * inspector/front-end/AuditCategories.js: Added.
- (WebInspector.AuditCategories.PagePerformance):
- (WebInspector.AuditCategories.PagePerformance.prototype.initialize):
- (WebInspector.AuditCategories.NetworkUtilization):
- (WebInspector.AuditCategories.NetworkUtilization.prototype.initialize):
- * inspector/front-end/AuditLauncherView.js:
- (WebInspector.AuditLauncherView.prototype.updateResourceTrackingState):
- (WebInspector.AuditLauncherView.prototype._createLauncherUI):
- (WebInspector.AuditLauncherView.prototype.show):
- * inspector/front-end/AuditRules.js: Added.
- (WebInspector.AuditRules.arrayAsUL):
- (WebInspector.AuditRules.getDomainToResourcesMap):
- (WebInspector.AuditRules.evaluateInTargetWindow):
- (WebInspector.AuditRules.GzipRule):
- (WebInspector.AuditRules.GzipRule.prototype.doRun):
- (WebInspector.AuditRules.GzipRule.prototype._isCompressed):
- (WebInspector.AuditRules.GzipRule.prototype._shouldCompress):
- (WebInspector.AuditRules.CombineExternalResourcesRule):
- (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
- (WebInspector.AuditRules.CombineJsResourcesRule):
- (WebInspector.AuditRules.CombineCssResourcesRule):
- (WebInspector.AuditRules.MinimizeDnsLookupsRule):
- (WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype.doRun):
- (WebInspector.AuditRules.ParallelizeDownloadRule):
- (WebInspector.AuditRules.ParallelizeDownloadRule.prototype.doRun):
- (WebInspector.AuditRules.UnusedCssRule):
- (WebInspector.AuditRules.UnusedCssRule.prototype._getUnusedStylesheetRatioMessage):
- (WebInspector.AuditRules.UnusedCssRule.prototype._getUnusedTotalRatioMessage):
- (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
- (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.routine):
- (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
- (WebInspector.AuditRules.CacheControlRule):
- (WebInspector.AuditRules.CacheControlRule.prototype.InfoCheck.1.FailCheck.0.WarningCheck.1.SevereCheck.2.doRun):
- (WebInspector.AuditRules.CacheControlRule.prototype.handleNonCacheableResources):
- (WebInspector.AuditRules.CacheControlRule.prototype._cacheableAndNonCacheableResources):
- (WebInspector.AuditRules.CacheControlRule.prototype.execCheck):
- (WebInspector.AuditRules.CacheControlRule.prototype.freshnessLifetimeGreaterThan):
- (WebInspector.AuditRules.CacheControlRule.prototype.responseHeader):
- (WebInspector.AuditRules.CacheControlRule.prototype.hasResponseHeader):
- (WebInspector.AuditRules.CacheControlRule.prototype.isCompressible):
- (WebInspector.AuditRules.CacheControlRule.prototype.isPubliclyCacheable):
- (WebInspector.AuditRules.CacheControlRule.prototype.responseHeaderMatch):
- (WebInspector.AuditRules.CacheControlRule.prototype.hasExplicitExpiration):
- (WebInspector.AuditRules.CacheControlRule.prototype._isExplicitlyNonCacheable):
- (WebInspector.AuditRules.CacheControlRule.prototype.isCacheableResource):
- (WebInspector.AuditRules.BrowserCacheControlRule):
- (WebInspector.AuditRules.BrowserCacheControlRule.prototype.handleNonCacheableResources):
- (WebInspector.AuditRules.BrowserCacheControlRule.prototype.runChecks):
- (WebInspector.AuditRules.BrowserCacheControlRule.prototype._missingExpirationCheck):
- (WebInspector.AuditRules.BrowserCacheControlRule.prototype._varyCheck):
- (WebInspector.AuditRules.BrowserCacheControlRule.prototype._oneMonthExpirationCheck):
- (WebInspector.AuditRules.BrowserCacheControlRule.prototype._oneYearExpirationCheck):
- (WebInspector.AuditRules.ProxyCacheControlRule):
- (WebInspector.AuditRules.ProxyCacheControlRule.prototype.runChecks):
- (WebInspector.AuditRules.ProxyCacheControlRule.prototype._questionMarkCheck):
- (WebInspector.AuditRules.ProxyCacheControlRule.prototype._publicCachingCheck):
- (WebInspector.AuditRules.ProxyCacheControlRule.prototype._setCookieCacheableCheck):
- (WebInspector.AuditRules.ImageDimensionsRule):
- (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
- (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.routine.hasDimension):
- (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.routine.hasWidth):
- (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.routine.hasHeight):
- (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.routine):
- (WebInspector.AuditRules.CssInHeadRule):
- (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
- (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.routine.allViews):
- (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.routine):
- (WebInspector.AuditRules.StylesScriptsOrderRule):
- (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
- (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.routine):
- (WebInspector.AuditRules.CookieRuleBase):
- (WebInspector.AuditRules.CookieRuleBase.prototype.doRun.resultCallback):
- (WebInspector.AuditRules.CookieRuleBase.prototype.doRun):
- (WebInspector.AuditRules.CookieRuleBase.prototype.mapResourceCookies):
- (WebInspector.AuditRules.CookieRuleBase.prototype._callbackForResourceCookiePairs):
- (WebInspector.AuditRules.CookieSizeRule):
- (WebInspector.AuditRules.CookieSizeRule.prototype._average):
- (WebInspector.AuditRules.CookieSizeRule.prototype._max):
- (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
- (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies.avgSizeSorter):
- (WebInspector.AuditRules.StaticCookielessRule):
- (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
- (WebInspector.AuditRules.StaticCookielessRule.prototype._collectorCallback):
- * inspector/front-end/AuditsPanel.js:
- (WebInspector.AuditsPanel.prototype._constructCategories):
- (WebInspector.AuditsPanel.prototype._reloadResources):
- (WebInspector.AuditsPanel.prototype.show):
- (WebInspector.AuditsPanel.prototype._updateLauncherViewControls):
- (WebInspector.AuditCategory):
- (WebInspector.AuditCategory.prototype.get id):
- (WebInspector.AuditCategory.prototype.get ruleCount):
- (WebInspector.AuditCategory.prototype.runRules):
- (WebInspector.AuditCategory.prototype._ensureInitialized):
- (WebInspector.AuditCategoryResult):
- * inspector/front-end/WebKit.qrc:
- * inspector/front-end/audits.css:
- * inspector/front-end/inspector.html:
* inspector/front-end/inspector.js:
- (WebInspector.loaded):
- (WebInspector.addPanelToolbarIcon):
(WebInspector.documentKeyDown):
-2010-02-10 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Adler.
-
- Freeze sandbox attributes on creation
- https://bugs.webkit.org/show_bug.cgi?id=34184
+2010-05-24 Andreas Kling <andreas.kling@nokia.com>
- This is how the spec works now.
-
- Test: fast/frames/sandboxed-iframe-forms-dynamic.html
-
- * bindings/ScriptControllerBase.cpp:
- (WebCore::ScriptController::canExecuteScripts):
- * bindings/generic/BindingDOMWindow.h:
- (WebCore::::createWindow):
- * bindings/js/JSDOMWindowCustom.cpp:
- (WebCore::createWindow):
- * dom/Document.cpp:
- * dom/Document.h:
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::submitForm):
- (WebCore::FrameLoader::requestObject):
- (WebCore::FrameLoader::shouldAllowNavigation):
- (WebCore::FrameLoader::updateSandboxFlags):
- * page/SecurityOrigin.cpp:
- * page/SecurityOrigin.h:
-
-2010-02-09 Ariya Hidayat <ariya.hidayat@gmail.com>
-
- Rubber-stamped by Kenneth Rohde Christiansen.
-
- [Qt] Remove old, outdated unused code block.
-
- * platform/graphics/qt/GraphicsContextQt.cpp:
-
-2010-02-09 Chris Guillory <ctguil@google.com>
-
- Reviewed by Darin Fisher.
-
- [Chromium] Notify ChromeClientChromium of state change notifications.
-
- https://bugs.webkit.org/show_bug.cgi?id=34464
-
- * accessibility/chromium/AXObjectCacheChromium.cpp:
- (WebCore::toChromeClientChromium):
- (WebCore::AXObjectCache::postPlatformNotification):
- * page/chromium/ChromeClientChromium.h:
-
-2010-02-09 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Adam Barth.
-
- [BREWMP] Port PlatformMouseEvent
- https://bugs.webkit.org/show_bug.cgi?id=34600
-
- Retrieve the event type, position, key modifiers, time stamp
- and click count from AEEEvent.
-
- * platform/PlatformMouseEvent.h:
- * platform/brew/PlatformMouseEventBrew.cpp: Added.
- (WebCore::PlatformMouseEvent::PlatformMouseEvent):
-
-2010-02-09 Avi Drissman <avi@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- [Chromium] RenderTheme does not draw focus rings on SL for checkboxes, radio buttons
- https://bugs.webkit.org/show_bug.cgi?id=34544
-
- Covered by layout tests when run on SL.
-
- * platform/chromium/ThemeChromiumMac.mm:
- (-[TCMVisibleView _focusRingVisibleRect]):
- (-[TCMVisibleView _focusRingClipAncestor]):
- (FocusIndicationFix::currentOSHasSetFocusRingStyleInBitmapBug):
- (FocusIndicationFix::swizzleFocusView):
- (FocusIndicationFix::ScopedFixer::ScopedFixer):
- (FocusIndicationFix::ScopedFixer::~ScopedFixer):
- (+[NSView TCMInterposing_focusView]):
- (WebCore::paintCheckbox):
- (WebCore::paintRadio):
- (WebCore::paintButton):
-
-2010-02-09 Anton Muhin <antonm@chromium.org>
-
- Reviewed by Nate Chapin.
-
- [v8] Check if returned wrapper is empty before operating on it.
- https://bugs.webkit.org/show_bug.cgi?id=34746
-
- * bindings/v8/custom/V8DocumentCustom.cpp:
- (WebCore::toV8):
- * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
- (WebCore::toV8):
- * bindings/v8/custom/V8SVGDocumentCustom.cpp:
- (WebCore::toV8):
-
-2010-02-09 Mikhail Naganov <mnaganov@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Continuing debugger and profiler unforking: narrow scope of JSC-specific ifdefs.
- Also, enable JAVASCRIPT_DEBUGGER explicitly in features, it appears to be required
- for really enabling it in V8 bindings generation.
-
- https://bugs.webkit.org/show_bug.cgi?id=34706
-
- * inspector/InjectedScriptHost.idl:
- * inspector/InspectorBackend.cpp:
- (WebCore::InspectorBackend::currentCallFrame):
- (WebCore::InspectorBackend::getProfile):
- * inspector/InspectorBackend.h:
- * inspector/InspectorBackend.idl:
- * inspector/InspectorController.cpp:
- (WebCore::InspectorController::InspectorController):
- (WebCore::InspectorController::addProfile):
- (WebCore::InspectorController::getProfile):
- (WebCore::InspectorController::startUserInitiatedProfiling):
- (WebCore::InspectorController::stopUserInitiatedProfiling):
- (WebCore::InspectorController::enableProfiler):
- (WebCore::InspectorController::disableProfiler):
- * inspector/InspectorController.h:
- * inspector/InspectorFrontend.cpp:
- (WebCore::InspectorFrontend::pausedScript):
- (WebCore::InspectorFrontend::resumedScript):
- (WebCore::InspectorFrontend::profilerWasEnabled):
- (WebCore::InspectorFrontend::profilerWasDisabled):
- (WebCore::InspectorFrontend::didGetProfile):
- * inspector/InspectorFrontend.h:
- * page/Console.idl:
-
-2010-02-09 Gavin Barraclough <barraclough@apple.com>
-
- Rubber Stamped by Geoff Garen.
-
- Rename StringBuilder::release && JSStringBuilder::releaseJSString
- to 'build()'.
-
- * bindings/js/ScriptString.h:
- (WebCore::ScriptString::operator+=):
-
-2010-02-09 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Anders Carlsson.
-
- <rdar://problem/7400160> Netscape plug-ins are not instantiated on property access if there are pending stylesheets
- https://bugs.webkit.org/show_bug.cgi?id=34776
-
- Tests: plugins/instance-available-before-stylesheets-loaded-object.html
- plugins/instance-available-before-stylesheets-loaded.html
-
- * html/HTMLEmbedElement.cpp:
- (WebCore::HTMLEmbedElement::renderWidgetForJSBindings): Call
- updateLayoutIgnorePendingStylesheets() before checking for a renderer.
- * html/HTMLObjectElement.cpp:
- (WebCore::HTMLObjectElement::renderWidgetForJSBindings): Ditto.
-
-2010-02-09 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Darin Adler.
-
- Problems navigating by caret in links whose text wraps onto
- subsequent lines.
- https://bugs.webkit.org/show_bug.cgi?id=25676
-
- We should not search ahead if we are not in the last element.
-
- * dom/Position.cpp:
-
-2010-02-09 Dirk Schulze <krit@webkit.org>
-
- Reviewed by Nikolas Zimmermann.
-
- More optimization for AffineTransform with SVG
- https://bugs.webkit.org/show_bug.cgi?id=34774
-
- Some optimizations to safe unnecessary summations and multiplications.
- Optimize AffineTransform to handle an identity or translation matrix
- more efficient.
- Added translationRight to avoid multiplications of matrices as much as
- possible.
-
- No tests added, no change of functionality.
-
- * platform/graphics/transforms/AffineTransform.cpp:
- (WebCore::AffineTransform::inverse):
- (WebCore::AffineTransform::translate):
- (WebCore::AffineTransform::translateRight):
- * platform/graphics/transforms/AffineTransform.h:
- * rendering/RenderForeignObject.cpp:
- (WebCore::RenderForeignObject::translationForAttributes):
- (WebCore::RenderForeignObject::localToParentTransform):
- * rendering/RenderForeignObject.h:
- * rendering/RenderSVGRoot.cpp:
- (WebCore::RenderSVGRoot::localToBorderBoxTransform):
- (WebCore::RenderSVGRoot::localToRepaintContainerTransform):
- (WebCore::RenderSVGRoot::localToParentTransform):
- * rendering/RenderSVGViewportContainer.cpp:
- (WebCore::RenderSVGViewportContainer::localToParentTransform):
- * rendering/SVGRootInlineBox.cpp:
- (WebCore::applyTextLengthCorrectionToTextChunk):
-
-2010-02-09 Dirk Schulze <krit@webkit.org>
-
- Reviewed by Nikolas Zimmermann.
-
- SVG patterns with some scale patternTransform are not displayed correctly for small elements
- https://bugs.webkit.org/show_bug.cgi?id=25484
-
- SVG Pattern size was clipped to the size of the target, if the pattern is bigger than the target. This
- causes problems, if the patternTransform scales the pattern. This patch deletes the clipping.
-
- Tests: svg/custom/pattern-excessive-malloc.svg
- svg/custom/pattern-size-bigger-than-target-size.svg
- svg/custom/pattern-skew-transformed.svg
-
- * svg/SVGPatternElement.cpp:
- (WebCore::SVGPatternElement::buildPattern):
-
-2010-02-09 Darin Adler <darin@apple.com>
-
- * rendering/RenderObject.cpp:
- (WebCore::RenderObject::styleDidChange): Fixed typo in comment.
-
-2010-02-09 MORITA Hajime <morrita@gmail.com>
-
- Reviewed by Nikolas Zimmermann.
-
- SVG selection text foreground colour does not respect user settings
- https://bugs.webkit.org/show_bug.cgi?id=15997
-
- Add two subphases SVGTextPaintSubphaseGlyphFillSelection and
- SVGTextPaintSubphaseGlyphStrokeSelection for painting selected
- text on SVG. Selected texts are painted with style from
- getCachedPseudoStyle() instead of style().
-
- Tests: svg/text/selection-styles.xhtml
-
- * rendering/SVGCharacterLayoutInfo.h:
- (WebCore::SVGTextChunkWalker::SVGTextChunkWalker):
- (WebCore::SVGTextChunkWalker::setupFillSelection):
- (WebCore::SVGTextChunkWalker::setupStrokeSelection):
- * rendering/SVGRootInlineBox.cpp:
- (WebCore::SVGRootInlineBoxPaintWalker::mayHaveSelection):
- (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupFillSelectionCallback):
- (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupStrokeSelectionCallback):
- (WebCore::SVGRootInlineBoxPaintWalker::activePaintServer):
- (WebCore::SVGRootInlineBox::paint):
- (WebCore::SVGRootInlineBox::walkTextChunks):
- * rendering/SVGInlineTextBox.h:
- (WebCore::):
- Add callback hooks and its implementation for handle new
- subphases.
-
- * rendering/SVGInlineTextBox.cpp:
- (WebCore::SVGInlineTextBox::chunkSelectionStartEnd):
- (WebCore::SVGInlineTextBox::paintCharacters):
- Split box text into selected part and non-selected part, and use
- separate subphases to paint them.
-
- * svg/SVGFont.cpp:
- (WebCore::SVGTextRunWalker::walk):
- Relax ASSERT() condition to accept a part of text.
-
- * svg/graphics/SVGPaintServer.cpp:
- (WebCore::applyStrokeStyleToContext):
- (WebCore::SVGPaintServer::setup):
- * svg/graphics/SVGPaintServer.h:
- * svg/graphics/SVGPaintServerGradient.cpp:
- (WebCore::SVGPaintServerGradient::setup):
- * svg/graphics/SVGPaintServerGradient.h:
- * svg/graphics/SVGPaintServerPattern.cpp:
- (WebCore::SVGPaintServerPattern::setup):
- * svg/graphics/SVGPaintServerPattern.h:
- * svg/graphics/SVGPaintServerSolid.cpp:
- (WebCore::SVGPaintServerSolid::setup):
- * svg/graphics/SVGPaintServerSolid.h:
- Change setup() signature to accept RenderStyle instead of always
- using RenderObject::style().
-
-2010-02-09 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Reviewed by Dirk Schulze.
-
- No scroll bars are displayed for standalone SVG image
- https://bugs.webkit.org/show_bug.cgi?id=11225
-
- Height and width defined for svg element are not honored
- https://bugs.webkit.org/show_bug.cgi?id=24033
-
- SVG file does not pan and has no scroll bars
- https://bugs.webkit.org/show_bug.cgi?id=24448
-
- Adapt to SVG 1.1 errata to change the overflow handling:
- Replace "svg { overflow: hidden }" by "svg:not(:root) { overflow: hidden }" to allow standalone SVG documents to contain scrolllbars.
- Agreed by SVG WG to make this the default behaviour, already implemented by Opera & FireFox (partial support).
-
- Add new tests in svg/overflow covering all special SVG css overflow handling rules on inner/outer svg elements.
-
- Tests: svg/overflow/overflow-on-inner-svg-element-defaults.svg
- svg/overflow/overflow-on-inner-svg-element.svg
- svg/overflow/overflow-on-outermost-svg-element-defaults.svg
- svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-1.svg
- svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-2.svg
- svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-3.svg
- svg/overflow/overflow-on-outermost-svg-element-in-xhtml-auto.xhtml
- svg/overflow/overflow-on-outermost-svg-element-in-xhtml-defaults.xhtml
- svg/overflow/overflow-on-outermost-svg-element-in-xhtml-hidden.xhtml
- svg/overflow/overflow-on-outermost-svg-element-in-xhtml-scroll.xhtml
- svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible.xhtml
-
- * css/svg.css: Change default <svg> overflow rule to only apply to inner <svg> elements.
- * page/FrameView.cpp:
- (WebCore::FrameView::layout): Only apply overflow rules for non-standalone SVG documents.
- * rendering/RenderSVGRoot.cpp: Remove all calls to isOverflowHidden - it's always the case for the outermost SVG element, see spec + errata.
- (WebCore::RenderSVGRoot::paint): Always clip to initial viewport size.
- (WebCore::RenderSVGRoot::computeRectForRepaint): Ditto.
- (WebCore::RenderSVGRoot::nodeAtPoint): Simplify.
- * rendering/RenderSVGViewportContainer.cpp:
- (WebCore::RenderSVGViewportContainer::applyViewportClip): Use isOverflowHidden() instead of a manual oveflow query and clip in float precision.
- * rendering/SVGRenderSupport.cpp:
- (WebCore::SVGRenderBase::isOverflowHidden): Simplify implementation, assure the function is not called anymore for RenderSVGRoot objects.
-
-2010-02-09 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Port KURL::fileSystemPath
- https://bugs.webkit.org/show_bug.cgi?id=34516
-
- Convert a file URL to a file path by prefixing
- AEEFS_HOME_DIR to access files relative to the current
- module directory in a case-sensitive manner.
-
- As IWeb "file:" engine opens files in BREW's application-relative
- file namespace, we follow the same policy here.
-
- * platform/brew/KURLBrew.cpp: Added.
- (WebCore::KURL::fileSystemPath):
-
-2010-02-09 Noam Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] the above website does not render properly when in compositing mode
- https://bugs.webkit.org/show_bug.cgi?id=34681
-
- http://media.24ways.org/2009/15/spinner-alt.html now renders correctly
-
- * platform/graphics/qt/GraphicsLayerQt.cpp:
- (WebCore::MaskEffectQt::MaskEffectQt): implement mask as
- QGraphicsEffect
- (WebCore::MaskEffectQt::draw): reimp
- (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl): init the effect
- (WebCore::GraphicsLayerQtImpl::paint): no need for drawContents
- (WebCore::GraphicsLayerQtImpl::flushChanges): make sure to update the
- mask layer, not just the actual children
-
-2010-02-09 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Laszlo Gombos.
-
- [BREWMP] Fix macro redefinition error in BREWMP simulator build.
- https://bugs.webkit.org/show_bug.cgi?id=34738
-
- Remove warning: 'FAR' macro redefinition.
-
- * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
-
-2010-02-07 Yuzo Fujishima <yuzo@google.com>
-
- Reviewed by Dan Bernstein.
-
- Fix the following bugs:
- https://bugs.webkit.org/show_bug.cgi?id=18926 - dt:after generate a line break. Boost documentation page renders poorly
- https://bugs.webkit.org/show_bug.cgi?id=7276 - Most W3C padding related tests fail
-
- Tests: fast/css/inline-element-line-break.html
- fast/css/pseudo-element-line-break.html
-
- findNextLineBreak() unconditionally allowed lines to break between elements when no other line breaking opportunity had been found,
- but that was unnecessary and led to incorrect layout. Disallow that kind of line breaks.
-
- * rendering/RenderBlockLineLayout.cpp:
- (WebCore::RenderBlock::findNextLineBreak):
-
-2010-02-09 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Darin Adler.
-
- Provide a way to get total number of pages to be printed
- https://bugs.webkit.org/show_bug.cgi?id=34699
-
- Test: printing/numberOfPages.html
-
- * WebCore.base.exp:
- * page/PrintContext.cpp:
- (WebCore::PrintContext::pageNumberForElement):
- (WebCore::PrintContext::numberOfPages):
- * page/PrintContext.h:
- (WebCore::PrintContext::pageRects):
-
-2010-02-08 Dominic Cooney <dominicc@google.com>
-
- Reviewed by Adam Barth.
-
- [V8] Move Element custom methods into generic bindings
-
- This patch moves the security checks in setAttribute,
- setAttributeNode, setAttributeNS and setAttributeNodeNS from
- V8ElementCustom into the generic bindings so that they can be
- reused in other bindings. This is in a similar vein to
- <https://bugs.webkit.org/attachment.cgi?id=45872>.
-
- https://bugs.webkit.org/show_bug.cgi?id=34554
-
- LayoutTests: None
-
- * WebCore.gypi:
- * bindings/generic/BindingElement.h: Added.
- (WebCore::::setAttribute):
- (WebCore::::setAttributeNode):
- (WebCore::::setAttributeNS):
- (WebCore::::setAttributeNodeNS):
- * bindings/v8/V8Binding.h:
- * bindings/v8/custom/V8ElementCustom.cpp:
- (WebCore::V8Element::setAttributeCallback):
- (WebCore::V8Element::setAttributeNodeCallback):
- (WebCore::V8Element::setAttributeNSCallback):
- (WebCore::V8Element::setAttributeNodeNSCallback):
-
-2010-02-08 Hayato Ito <hayato@chromium.org>
-
- Reviewed by Darin Adler.
-
- Schedule a loading request when there are many in-flight requests beyond
- the limit to avoid forever page loading.
-
- https://bugs.webkit.org/show_bug.cgi?id=31227
-
- Test: http/tests/loading/load-javascript-after-many-xhrs.html
-
- * loader/loader.cpp:
- (WebCore::Loader::Host::servePendingRequests):
-
-2010-02-08 David Levin <levin@chromium.org>
-
- Reviewed by Gavin Barraclough.
-
- REGRESSION (before r54472): Various tests in fast/workers are crashing on the buildbot.
- https://bugs.webkit.org/show_bug.cgi?id=34728
-
- The core part of the fix is to change WebCoreJSClientData::m_normalWorld
- from DOMWrapperWorld to RefPtr<DOMWrapperWorld> so that the DOMWrapperWorld
- is really ref counted.
-
- No new tests because current tests sufficiently cover this as evidenced as
- the buildbot crashes.
-
- * bindings/js/JSDOMBinding.cpp:
- (WebCore::DOMWrapperWorld::~DOMWrapperWorld): Made this robust to m_globalData
- being 0.
- * bindings/js/JSDOMBinding.h:
- (WebCore::DOMWrapperWorld::create): Made this class follow the standard
- create pattern for RefCounted classes.
- (WebCore::DOMWrapperWorld::detachFromGlobalData): Since this class can
- now outlive JSGlobalData, this method tells it to stop using its JSGlobalData.
- (WebCore::WebCoreJSClientData::WebCoreJSClientData): Adjusted due to
- m_normalWorld being a RefPtr.
- (WebCore::WebCoreJSClientData::~WebCoreJSClientData): Ditto (and added
- asserts for the FIXME).
- (WebCore::WebCoreJSClientData::normalWorld): Ditto.
- * bindings/js/ScriptController.cpp:
- (WebCore::IsolatedWorld::create): Made the constructor protected.
- (WebCore::IsolatedWorld::IsolatedWorld): Made the constructor protected, so
- that code would have to use the create method.
-
-2010-02-08 Kinuko Yasuda <kinuko@chromium.org>
-
- Reviewed by David Levin.
-
- Remove special utf-8 tag from Chromium cilpboard code because
- we now have the corresponding code in generic clipboard framework
- code in chromium (since it's needed by other places than in Web
- page rendering) and no longer need the separate workaround code in
- WebKit.
- https://bugs.webkit.org/show_bug.cgi?id=34567
-
- Test: (for regression) editing/pasteboard
-
- * platform/chromium/ClipboardChromium.cpp:
- (WebCore::ClipboardChromium::writeRange):
- * platform/chromium/PasteboardChromium.cpp:
- (WebCore::Pasteboard::writeSelection):
- (WebCore::Pasteboard::documentFragment):
-
-2010-02-08 Darin Adler <darin@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Crash due to layout not done in case involving removal of absolute positioning
- https://bugs.webkit.org/show_bug.cgi?id=34734
- rdar://problem/7588280
-
- Test: fast/dynamic/position-change-layout.html
-
- * rendering/RenderObject.cpp:
- (WebCore::RenderObject::styleDidChange): Call markContainingBlocksForLayout in
- a case where the object already needs layout, but might have a new containing
- block and so needs to mark the new containing block.
-
-2010-02-08 Charlie Reis <creis@chromium.org>
-
- Reviewed by Darin Adler.
-
- onbeforeunload not called at window close + frame or iframe focused
- https://bugs.webkit.org/show_bug.cgi?id=27481
-
- Chromium and WebKit on Windows will now fire beforeunload handlers
- even if an inner frame is focused.
-
- Layout tests aren't able to test this bug, since it requires closing
- the actual browser window, not calling window.close(). Instead,
- test with WebCore/manual-tests/onbeforeunload-focused-iframe.html.
-
- * manual-tests/onbeforeunload-focused-iframe.html: Added.
- * manual-tests/resources/focused-iframe.html: Added.
-
-2010-02-08 Alexey Proskuryakov <ap@apple.com>
-
- Addressing review feedback.
-
- * bridge/c/c_instance.h: Removed argument name.
-
-2010-02-08 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=34727
- Assertion crashes and freezes when plug-in property access results in an exception
-
- Test: plugins/netscape-plugin-property-access-exception.html
-
- * bridge/c/c_instance.h: Made moveGlobalExceptionToExecState public, since it also need to
- be called from CField.
-
- * bridge/c/c_runtime.cpp:
- (JSC::Bindings::CField::valueFromInstance): Call moveGlobalExceptionToExecState(). Without
- this, not only didn't we get exceptions, but we also got an assertion failure because of
- dangling global exception on next call into plug-in.
- (JSC::Bindings::CField::setValueToInstance): Ditto.
-
-2010-02-08 Dirk Schulze <krit@webkit.org>
-
- Unreviewed build fix of ChromiumWin.
-
- * platform/graphics/chromium/TransparencyWin.cpp:
- (WebCore::):
- (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer):
- (WebCore::TransparencyWin::setupTransformForKeepTransform):
- * platform/graphics/chromium/TransparencyWin.h:
- * rendering/RenderThemeChromiumWin.cpp:
- (WebCore::):
-
-2010-02-05 Dumitru Daniliuc <dumi@chromium.org>
-
- Reviewed by Jeremy Orlow.
-
- Adding a way to get the set of all open database handles pointing
- to a given database.
- https://bugs.webkit.org/show_bug.cgi?id=34619
-
- Sometimes we need to be able to close all handles to a database as
- soon as possible (to delete the DB file, for example).
-
- * storage/DatabaseTracker.cpp:
- (WebCore::DatabaseTracker::getOpenDatabases):
- * storage/DatabaseTracker.h:
- * storage/chromium/DatabaseTrackerChromium.cpp:
- (WebCore::DatabaseTracker::addOpenDatabase):
- (WebCore::DatabaseTracker::removeOpenDatabase):
- (WebCore::DatabaseTracker::getOpenDatabases):
-
-2010-02-08 Dirk Schulze <krit@webkit.org>
-
- Unreviewed windows build-fix.
-
- * page/win/FrameCGWin.cpp:
- (WebCore::drawRectIntoContext):
+ Reviewed by Sam Weinig.
-2010-02-08 Dirk Schulze <krit@webkit.org>
+ The 'prototype' property on generated Web IDL interfaces should be { DontDelete | ReadOnly }.
- Reviewed by Nikolas Zimmermann.
+ Spec link:
+ http://www.w3.org/TR/WebIDL/#interface-object
- Add back an AffineTransform class for use by SVG
- https://bugs.webkit.org/show_bug.cgi?id=33750
+ https://bugs.webkit.org/show_bug.cgi?id=39436
- This adds back AffineTransform. This saves additional 4% memory consumption
- on the 50k rects stress test: https://bugs.webkit.org/attachment.cgi?id=46721
- It also makes it possible to optimize the calculations internally of
- AffineTransform to the needs of 2D transformations (the second benefit for SVG,
- which uses transformations relative often at the moment.
- Everything that is 2D related (like images, patterns, gradients, fonts), uses
- AffineTransform now.
+ Test: fast/dom/prototype-property.html
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/js/JSSVGMatrixCustom.cpp:
- (WebCore::JSSVGMatrix::multiply):
- (WebCore::JSSVGMatrix::inverse):
- (WebCore::JSSVGMatrix::rotateFromVector):
- * bindings/js/JSSVGPODTypeWrapper.h:
* bindings/scripts/CodeGeneratorJS.pm:
- * bindings/scripts/CodeGeneratorObjC.pm:
- * bindings/scripts/CodeGeneratorV8.pm:
- * bindings/v8/V8Index.h:
- * bindings/v8/custom/V8SVGMatrixCustom.cpp:
- (WebCore::V8SVGMatrix::multiplyCallback):
- (WebCore::V8SVGMatrix::inverseCallback):
- (WebCore::V8SVGMatrix::rotateFromVectorCallback):
- * html/HTMLCanvasElement.cpp: Changed to AffineTransform now
- (WebCore::HTMLCanvasElement::baseTransform):
- * html/HTMLCanvasElement.h:
- * platform/graphics/FloatPoint.cpp:
- (WebCore::FloatPoint::matrixTransform):
- * platform/graphics/FloatPoint.h:
- * platform/graphics/GeneratedImage.cpp:
- (WebCore::GeneratedImage::drawPattern):
- * platform/graphics/GeneratedImage.h:
- * platform/graphics/Gradient.cpp:
- (WebCore::Gradient::setGradientSpaceTransform):
- (WebCore::Gradient::setPlatformGradientSpaceTransform):
- * platform/graphics/Gradient.h:
- (WebCore::Gradient::gradientSpaceTransform):
- * platform/graphics/GraphicsContext.h:
- * platform/graphics/Image.cpp:
- (WebCore::Image::drawTiled):
- * platform/graphics/Image.h:
- * platform/graphics/ImageBuffer.h:
- (WebCore::ImageBuffer::baseTransform):
- * platform/graphics/Path.h:
- * platform/graphics/Pattern.cpp:
- (WebCore::Pattern::setPatternSpaceTransform):
- * platform/graphics/Pattern.h:
- (WebCore::Pattern::create):
- (WebCore::Pattern::tileImage):
- * platform/graphics/cairo/FontCairo.cpp:
- (WebCore::Font::drawGlyphs):
- * platform/graphics/cairo/GraphicsContextCairo.cpp:
- (WebCore::setPlatformFill):
- (WebCore::setPlatformStroke):
- (WebCore::GraphicsContext::getCTM):
- * platform/graphics/cairo/ImageCairo.cpp:
- (WebCore::Image::drawPattern):
- * platform/graphics/cairo/PathCairo.cpp:
- * platform/graphics/cairo/PatternCairo.cpp:
- (WebCore::Pattern::createPlatformPattern):
- * platform/graphics/cg/GraphicsContextCG.cpp:
- (WebCore::GraphicsContext::getCTM):
- * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
- (WebCore::GraphicsContextPlatformPrivate::concatCTM):
- * platform/graphics/cg/ImageCG.cpp:
- (WebCore::Image::drawPattern):
- * platform/graphics/cg/PathCG.cpp:
- * platform/graphics/cg/PatternCG.cpp:
- (WebCore::Pattern::createPlatformPattern):
- * platform/graphics/haiku/GraphicsContextHaiku.cpp:
- (WebCore::GraphicsContext::getCTM):
- * platform/graphics/haiku/ImageHaiku.cpp:
- (WebCore::Image::drawPattern):
- * platform/graphics/haiku/PathHaiku.cpp:
- * platform/graphics/qt/FontQt.cpp:
- (WebCore::Font::drawComplexText):
- * platform/graphics/qt/GraphicsContextQt.cpp:
- (WebCore::GraphicsContext::getCTM):
- (WebCore::GraphicsContext::fillPath):
- (WebCore::GraphicsContext::strokePath):
- (WebCore::GraphicsContext::fillRect):
- * platform/graphics/qt/ImageQt.cpp:
- (WebCore::Image::drawPattern):
- * platform/graphics/qt/PathQt.cpp:
- * platform/graphics/qt/PatternQt.cpp:
- (WebCore::Pattern::createPlatformPattern):
- * platform/graphics/skia/GradientSkia.cpp:
- (WebCore::Gradient::setPlatformGradientSpaceTransform):
- * platform/graphics/skia/GraphicsContextSkia.cpp:
- (WebCore::GraphicsContext::getCTM):
- * platform/graphics/skia/ImageSkia.cpp:
- (WebCore::Image::drawPattern):
- * platform/graphics/skia/PathSkia.cpp:
- * platform/graphics/skia/PatternSkia.cpp:
- (WebCore::Pattern::platformPattern):
- * platform/graphics/skia/SkiaFontWin.cpp:
- (WebCore::windowsCanHandleTextDrawing):
- * platform/graphics/transforms/AffineTransform.cpp:
- (WebCore::AffineTransform::makeIdentity): needed by some parts of WebCore
- (WebCore::AffineTransform::scale): Didn't scale the complete matrix
- (WebCore::AffineTransform::translate): Didn't respect other transformations
- (WebCore::AffineTransform::shear): direct calculation, no extra multiply of matrices
- (WebCore::AffineTransform::map):
- (WebCore::AffineTransform::mapPoint):
- (WebCore::AffineTransform::mapRect):
- * platform/graphics/transforms/AffineTransform.h:
- (WebCore::AffineTransform::isIdentityOrTranslation):
- * platform/graphics/transforms/TransformationMatrix.cpp:
- (WebCore::TransformationMatrix::toAffineTransform):
- * platform/graphics/transforms/TransformationMatrix.h:
- * platform/graphics/win/FontCGWin.cpp:
- (WebCore::drawGDIGlyphs):
- * platform/graphics/win/GraphicsContextCGWin.cpp:
- * platform/graphics/win/GraphicsContextCairoWin.cpp:
- * platform/graphics/win/GraphicsContextWin.cpp:
- (WebCore::GraphicsContextPlatformPrivate::concatCTM):
- * platform/graphics/wince/FontWince.cpp:
- * platform/graphics/wince/GraphicsContextWince.cpp:
- (WebCore::GraphicsContextPlatformPrivate::concatCTM):
- (WebCore::GraphicsContext::fillPath):
- (WebCore::GraphicsContext::strokePath):
- (WebCore::GraphicsContext::getCTM):
- (WebCore::GraphicsContext::drawBitmapPattern):
- * platform/graphics/wince/ImageBufferWince.cpp:
- (WebCore::):
- (WebCore::BufferedImage::drawPattern):
- * platform/graphics/wince/PathWince.cpp:
- (WebCore::Path::transform):
- * platform/graphics/wince/PlatformPathWince.cpp:
- (WebCore::drawPolygons):
- (WebCore::PathPolygon::transform):
- (WebCore::PlatformPathElement::transform):
- (WebCore::PlatformPath::strokePath):
- (WebCore::PlatformPath::fillPath):
- (WebCore::PlatformPath::transform):
- * platform/graphics/wince/PlatformPathWince.h:
- (WebCore::):
- * platform/graphics/wx/GraphicsContextWx.cpp:
- (WebCore::GraphicsContext::getCTM):
- * platform/graphics/wx/ImageWx.cpp:
- (WebCore::BitmapImage::drawPattern):
- (WebCore::Image::drawPattern):
- * platform/graphics/wx/PathWx.cpp:
- * platform/gtk/RenderThemeGtk.cpp:
- (WebCore::paintMozillaGtkWidget):
- * plugins/win/PluginViewWin.cpp:
- (WebCore::PluginView::paintWindowedPluginIntoContext):
- * rendering/RenderBox.cpp:
- (WebCore::RenderBox::localTransform):
- * rendering/RenderBox.h:
- * rendering/RenderBoxModelObject.cpp:
- (WebCore::RenderBoxModelScaleData::RenderBoxModelScaleData):
- (WebCore::RenderBoxModelScaleData::transform):
- (WebCore::RenderBoxModelScaleData::setTransform):
- (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality):
- (WebCore::RenderBoxModelObject::paintBoxShadow):
- * rendering/RenderForeignObject.cpp:
- (WebCore::RenderForeignObject::translationForAttributes):
- (WebCore::RenderForeignObject::localToParentTransform):
- * rendering/RenderForeignObject.h:
- (WebCore::RenderForeignObject::localTransform):
- * rendering/RenderLayer.cpp:
- (WebCore::RenderLayer::paintLayer):
- * rendering/RenderObject.cpp:
- (WebCore::RenderObject::localTransform):
- (WebCore::RenderObject::localToParentTransform):
- (WebCore::RenderObject::absoluteTransform):
- * rendering/RenderObject.h:
- * rendering/RenderPath.cpp:
- (WebCore::RenderPath::localToParentTransform):
- (WebCore::RenderPath::localTransform):
- * rendering/RenderPath.h:
- * rendering/RenderSVGHiddenContainer.h:
- (WebCore::RenderSVGHiddenContainer::absoluteTransform):
- * rendering/RenderSVGImage.h:
- (WebCore::RenderSVGImage::localToParentTransform):
- (WebCore::RenderSVGImage::localTransform):
- * rendering/RenderSVGRoot.cpp:
- (WebCore::RenderSVGRoot::localToBorderBoxTransform):
- (WebCore::RenderSVGRoot::localToRepaintContainerTransform):
- (WebCore::RenderSVGRoot::localToParentTransform):
- (WebCore::RenderSVGRoot::absoluteTransform):
- (WebCore::RenderSVGRoot::localTransform):
- * rendering/RenderSVGRoot.h:
- * rendering/RenderSVGText.h:
- (WebCore::RenderSVGText::localToParentTransform):
- (WebCore::RenderSVGText::localTransform):
- * rendering/RenderSVGTransformableContainer.cpp:
- (WebCore::RenderSVGTransformableContainer::localToParentTransform):
- (WebCore::RenderSVGTransformableContainer::localTransform):
- (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
- * rendering/RenderSVGTransformableContainer.h:
- * rendering/RenderSVGViewportContainer.cpp:
- (WebCore::RenderSVGViewportContainer::markerBoundaries):
- (WebCore::RenderSVGViewportContainer::markerContentTransformation):
- (WebCore::RenderSVGViewportContainer::viewportTransform):
- (WebCore::RenderSVGViewportContainer::localToParentTransform):
- (WebCore::RenderSVGViewportContainer::absoluteTransform):
- * rendering/RenderSVGViewportContainer.h:
- * rendering/SVGCharacterLayoutInfo.cpp:
- (WebCore::SVGChar::characterTransform):
- * rendering/SVGCharacterLayoutInfo.h:
- (WebCore::SVGTextChunkWalker::operator()):
- * rendering/SVGInlineTextBox.cpp:
- (WebCore::SVGInlineTextBox::calculateGlyphBoundaries):
- (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback):
- (WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback):
- (WebCore::SVGInlineTextBox::paintCharacters):
- (WebCore::SVGInlineTextBox::paintDecoration):
- * rendering/SVGMarkerLayoutInfo.h:
- (WebCore::MarkerLayout::MarkerLayout):
- * rendering/SVGRenderSupport.cpp:
- (WebCore::applyTransformToPaintInfo):
- * rendering/SVGRenderSupport.h:
- * rendering/SVGRenderTreeAsText.cpp:
- (WebCore::operator<<):
- * rendering/SVGRenderTreeAsText.h:
- * rendering/SVGRootInlineBox.cpp:
- (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
- (WebCore::applyTextLengthCorrectionToTextChunk):
- (WebCore::SVGRootInlineBox::buildLayoutInformation):
- * rendering/TransformState.cpp:
- (WebCore::TransformState::applyTransform):
- * rendering/TransformState.h:
- * svg/GradientAttributes.h:
- (WebCore::GradientAttributes::gradientTransform):
- (WebCore::GradientAttributes::setGradientTransform):
- * svg/PatternAttributes.h:
- (WebCore::PatternAttributes::patternTransform):
- (WebCore::PatternAttributes::setPatternTransform):
- * svg/SVGAnimateMotionElement.cpp:
- (WebCore::SVGAnimateMotionElement::resetToBaseValue):
- (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
- (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
- * svg/SVGAnimateMotionElement.h:
- * svg/SVGAnimateTransformElement.cpp:
- * svg/SVGAnimateTransformElement.h:
- * svg/SVGElement.h:
- (WebCore::SVGElement::supplementalTransform):
- * svg/SVGFitToViewBox.cpp:
- (WebCore::SVGFitToViewBox::viewBoxToViewTransform):
- * svg/SVGFitToViewBox.h:
- * svg/SVGLocatable.cpp:
- (WebCore::SVGLocatable::getCTM):
- (WebCore::SVGLocatable::getScreenCTM):
- (WebCore::SVGLocatable::getTransformToElement):
- * svg/SVGLocatable.h:
- * svg/SVGMarkerElement.cpp:
- (WebCore::SVGMarkerElement::viewBoxToViewTransform):
- * svg/SVGMarkerElement.h:
- * svg/SVGMaskElement.cpp:
- (WebCore::SVGMaskElement::drawMaskerContent):
- * svg/SVGMatrix.idl:
- * svg/SVGPatternElement.cpp:
- (WebCore::SVGPatternElement::buildPattern):
- * svg/SVGPreserveAspectRatio.cpp:
- (WebCore::SVGPreserveAspectRatio::getCTM):
- * svg/SVGPreserveAspectRatio.h:
- * svg/SVGSVGElement.cpp:
- (WebCore::SVGSVGElement::viewport):
- (WebCore::SVGSVGElement::createSVGMatrix):
- (WebCore::SVGSVGElement::createSVGTransformFromMatrix):
- (WebCore::SVGSVGElement::getCTM):
- (WebCore::SVGSVGElement::getScreenCTM):
- (WebCore::SVGSVGElement::viewBoxToViewTransform):
- * svg/SVGSVGElement.h:
- * svg/SVGStyledLocatableElement.cpp:
- (WebCore::SVGStyledLocatableElement::getCTM):
- (WebCore::SVGStyledLocatableElement::getScreenCTM):
- * svg/SVGStyledLocatableElement.h:
- * svg/SVGStyledTransformableElement.cpp:
- (WebCore::SVGStyledTransformableElement::getCTM):
- (WebCore::SVGStyledTransformableElement::getScreenCTM):
- (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
- (WebCore::SVGStyledTransformableElement::supplementalTransform):
- * svg/SVGStyledTransformableElement.h:
- (WebCore::SVGStyledTransformableElement::isStyledTransformable):
- (WebCore::SVGStyledTransformableElement::toPathData):
- * svg/SVGTextContentElement.cpp:
- (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback):
- * svg/SVGTextElement.cpp:
- (WebCore::SVGTextElement::getScreenCTM):
- (WebCore::SVGTextElement::getCTM):
- (WebCore::SVGTextElement::animatedLocalTransform):
- (WebCore::SVGTextElement::supplementalTransform):
- * svg/SVGTextElement.h:
- * svg/SVGTextPathElement.cpp:
- * svg/SVGTransform.cpp:
- (SVGTransform::SVGTransform):
- (SVGTransform::matrix):
- (SVGTransform::setMatrix):
- * svg/SVGTransform.h:
- * svg/SVGTransformDistance.cpp:
- (WebCore::SVGTransformDistance::SVGTransformDistance):
- (WebCore::SVGTransformDistance::scaledDistance):
- (WebCore::SVGTransformDistance::isZero):
- * svg/SVGTransformDistance.h:
- * svg/SVGTransformList.cpp:
- (SVGTransformList::createSVGTransformFromMatrix):
- (SVGTransformList::concatenate):
- (SVGTransformList::valueAsString):
- * svg/SVGTransformList.h:
- * svg/SVGTransformable.cpp:
- (WebCore::SVGTransformable::getCTM):
- (WebCore::SVGTransformable::getScreenCTM):
- (WebCore::SVGTransformable::parseTransformValue):
- * svg/SVGTransformable.h:
- (WebCore::SVGTransformable::):
- * svg/graphics/SVGPaintServerGradient.cpp:
- (WebCore::SVGPaintServerGradient::gradientTransform):
- (WebCore::SVGPaintServerGradient::setGradientTransform):
- (WebCore::clipToTextMask):
- (WebCore::SVGPaintServerGradient::setup):
- * svg/graphics/SVGPaintServerGradient.h:
- * svg/graphics/SVGPaintServerPattern.cpp:
- (WebCore::SVGPaintServerPattern::patternTransform):
- (WebCore::SVGPaintServerPattern::setPatternTransform):
- (WebCore::SVGPaintServerPattern::setup):
- * svg/graphics/SVGPaintServerPattern.h:
- * svg/graphics/SVGResourceClipper.cpp:
- (WebCore::SVGResourceClipper::applyClip):
- * svg/graphics/SVGResourceMarker.cpp:
- (WebCore::SVGResourceMarker::markerTransformation):
- (WebCore::SVGResourceMarker::draw):
- * svg/graphics/SVGResourceMarker.h:
- * svg/graphics/filters/SVGFEImage.cpp:
- * svg/graphics/filters/SVGFETile.cpp:
- (WebCore::FETile::apply):
-
-2010-02-08 Stephen White <senorblanco@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Make an inline function containing a static var out-of-line. This is
- a workaround for Xcode 3.1 bug radar 7070016. We tripped on this in
- deviceRGBColorSpaceRef on the Chromium canaries. This is a proactive
- fix for the same problem in sRGBColorSpaceRef().
-
- https://bugs.webkit.org/show_bug.cgi?id=34663
-
- * platform/graphics/cg/GraphicsContextCG.cpp:
- (WebCore::sRGBColorSpaceRef):
- * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
-
-2010-02-08 Nate Chapin <japhet@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [V8] Unify the WorkerContext V8 object wrapping code with
- the standard V8 object wrapping code.
-
- https://bugs.webkit.org/show_bug.cgi?id=34658
-
- * bindings/scripts/CodeGeneratorV8.pm:
- * bindings/v8/V8DOMWrapper.cpp:
- (WebCore::V8DOMWrapper::instantiateV8Object):
- (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
- * bindings/v8/V8WorkerContextEventListener.cpp:
- (WebCore::V8WorkerContextEventListener::handleEvent):
- (WebCore::V8WorkerContextEventListener::getReceiverObject):
- * bindings/v8/WorkerContextExecutionProxy.cpp:
- * bindings/v8/WorkerContextExecutionProxy.h:
- * bindings/v8/custom/V8NotificationCenterCustom.cpp:
- (WebCore::V8NotificationCenter::createHTMLNotificationCallback):
- (WebCore::V8NotificationCenter::createNotificationCallback):
- * bindings/v8/custom/V8WorkerContextCustom.cpp:
- (WebCore::toV8):
-
-2010-02-08 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Darin Adler.
-
- Use fastStrDup instead of strdup
- https://bugs.webkit.org/show_bug.cgi?id=33943
-
- Replace strdup/free with fastStrDup/fastFree.
-
- * bridge/IdentifierRep.h:
- (WebCore::IdentifierRep::IdentifierRep):
- * bridge/jni/JNIBridge.cpp:
- (JavaMethod::~JavaMethod):
- (appendClassName):
- (JavaMethod::signature):
- * bridge/jni/jsc/JavaClassJSC.cpp:
- (JavaClass::JavaClass):
- (JavaClass::~JavaClass):
- * platform/network/curl/ResourceHandleCurl.cpp:
- (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
- * platform/network/curl/ResourceHandleManager.cpp:
- (WebCore::ResourceHandleManager::~ResourceHandleManager):
- (WebCore::ResourceHandleManager::setCookieJarFileName):
- (WebCore::ResourceHandleManager::initializeHandle):
- * plugins/PluginStream.cpp:
- (WebCore::PluginStream::~PluginStream):
- (WebCore::PluginStream::startStream):
- * xml/XSLTProcessorLibxslt.cpp:
- (WebCore::xsltParamArrayFromParameterMap):
- (WebCore::freeXsltParamArray):
-
-2010-02-08 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Fix Qt build on Windows.
-
- nmake fails to pick the right cpp file, so we have to
- rename the file to to a unique name.
-
- * WebCore.pro:
- * platform/graphics/qt/FontCustomPlatformDataQt.cpp: Renamed from WebCore/platform/graphics/qt/FontCustomPlatformData.cpp.
-
-2010-02-08 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Reviewed by Dirk Schulze.
-
- All SVG *-expected.txt files contain wrong results
- https://bugs.webkit.org/show_bug.cgi?id=34703
-
- Finally dump meaningful information for SVG layout tests.
- Use 'absoluteClippedOverflowRect' which goes through the same code paths used
- to actually calculate repaint rects etc - instead of the legacy CSS-unaware
- code path that mapped 'repaintRectInLocalCoordinates' through 'absoluteTransform'.
- Remove absoluteTransform() - a long standing TODO, finally not needed anymore.
-
- Despite SVGRenderTreeAsText, SVGPaintServerGradient was also using absoluteTransform().
- Rewrite the code in question, fixing svg/W3C-SVG-1.1/pserver-grad-08-b.svg alignment issues
- when scaling/panning text using gradient on stroke/fill. Affects some other gradient tests as well.
-
- As we're now dumping clipped overflow rects any problems with repaint rects will become
- immediate visible - it turns out we're not supporting the overflow rules on the outermost <svg>
- element properly (repaint rects and bounding boxes need to take special SVG overflow rules into account).
- Fixing that magically gives pixel-perfect clipped overflow rects for all types of shapes/text/containers.
-
- Note: This will break any overriden platform-specific SVG results, need to wait for build bots in order to update them.
-
- * rendering/RenderObject.cpp: Remove absoluteTransform() method, centralize overflow query code in SVGRenderSupport::isOverflowHidden().
- * rendering/RenderObject.h: Remove absoluteTransform() method.
- * rendering/RenderSVGHiddenContainer.h: Ditto.
- * rendering/RenderSVGRoot.cpp:
- (WebCore::RenderSVGRoot::paint): Use SVGRenderSupport::isOverflowHidden() to query SVG overflow mode.
- (WebCore::RenderSVGRoot::computeRectForRepaint): Respect SVG overflow rules here: clip repaintRect against overflow rect _before_ passing
- along to RenderBox. This is the key issue behind wrong absoluteClippedOverflowRect() values.
- (WebCore::RenderSVGRoot::nodeAtPoint): Use SVGRenderSupport::isOverflowHidden() to query SVG overflow mode.
- * rendering/RenderSVGRoot.h: Remove absoluteTransform(). Don't expose viewportSize() anymore.
- * rendering/RenderSVGText.cpp:
- (WebCore::RenderSVGText::strokeBoundingBox): Fix default stroke width to 1. This was the only wrong place -> fixes repaint rects for stroked text.
- * rendering/RenderSVGViewportContainer.cpp: Remove absoluteTransform() method.
- (WebCore::RenderSVGViewportContainer::pointIsInsideViewportClip): Use SVGRenderSupport::isOverflowHidden() to query SVG overflow mode.
- * rendering/RenderSVGViewportContainer.h: Remove absoluteTransform() method.
- * rendering/SVGRenderSupport.cpp: Refactored overflow queries in one place, centralizing SVG specific assumptions about overflowX/Y.
- (WebCore::SVGRenderBase::isOverflowHidden):
- * rendering/SVGRenderSupport.h:
- * rendering/SVGRenderTreeAsText.cpp: Dump absoluteClippedOverflowRect() instead of absoluteTransform().mapRect(repaintRectInLocalCoordinates()).
- (WebCore::writePositionAndStyle): Affects all layout tests dumping render trees.
- * svg/graphics/SVGPaintServerGradient.cpp: Rewrite Gradient on text fill/stroke support on Cg, to avoid using absoluteTransform().
- (WebCore::absoluteTransformForRenderer):
- (WebCore::createMaskAndSwapContextForTextGradient):
- (WebCore::clipToTextMask):
- (WebCore::SVGPaintServerGradient::setup):
-
-2010-02-07 Daniel Bates <dbates@webkit.org>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=34402
-
- Implements all of the numeric CSS3 list-style-types as per
- section 4.3 of the CSS3 Lists module <http://www.w3.org/TR/css3-lists/#numeric>.
-
- Test: fast/lists/w3-css3-list-styles-numeric.html
-
- * css/CSSPrimitiveValueMappings.h:
- (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
- * css/CSSValueKeywords.in:
- * inspector/front-end/SourceCSSTokenizer.re2js:
- * platform/text/CharacterNames.h: Added constant hyphenMinus.
- * rendering/RenderListMarker.cpp:
- (WebCore::): Defined enum SequenceType.
- (WebCore::toAlphabeticOrNumeric): Added.
- (WebCore::toAlphabetic): Modified to call WebCore::toAlphabeticOrNumeric.
- (WebCore::toNumeric): Added.
- (WebCore::listMarkerSuffix):
- (WebCore::listMarkerText):
- (WebCore::RenderListMarker::paint):
- (WebCore::RenderListMarker::calcPrefWidths):
- (WebCore::RenderListMarker::getRelativeMarkerRect):
- * rendering/style/RenderStyle.h:
- (WebCore::):
- * rendering/style/RenderStyleConstants.h: Added numeric list style types
- and fixed indent level for the enum values.
- (WebCore::):
-
-2010-02-07 Ismail Donmez <ismail@namtrac.org>
-
- Reviewed by Darin Adler.
-
- Include wtf/StringExtras.h for strdup definition, which
- is needed for WinCE.
-
- * bridge/IdentifierRep.h:
-
-2010-02-07 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Fragment-held Elements Not Shown in Inspector.
-
- https://bugs.webkit.org/show_bug.cgi?id=34680
-
- * inspector/InspectorDOMAgent.cpp:
- (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
- (WebCore::InspectorDOMAgent::buildObjectForNode):
- * inspector/front-end/ElementsTreeOutline.js:
- (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo):
-
-2010-02-07 Jian Li <jianli@chromium.org>
-
- Reviewed by Darin Fisher.
-
- [chromium] Change chromium interface to handle DownloadURL format.
- https://bugs.webkit.org/show_bug.cgi?id=34655
- * platform/chromium/ChromiumDataObject.cpp:
- (WebCore::ChromiumDataObject::clear):
- (WebCore::ChromiumDataObject::hasData):
- (WebCore::ChromiumDataObject::ChromiumDataObject):
- * platform/chromium/ChromiumDataObject.h:
- * platform/chromium/ClipboardChromium.cpp:
- (WebCore::ClipboardChromium::setData):
-
-2010-02-06 Dimitri Glazkov <dglazkov@chromium.org>
-
- No review, rolling out r54364.
- http://trac.webkit.org/changeset/54364
- https://bugs.webkit.org/show_bug.cgi?id=34464
-
- Introduced asserts in layout tests, needs more testing
- locally.
-
- * accessibility/chromium/AXObjectCacheChromium.cpp:
- (WebCore::AXObjectCache::postPlatformNotification):
- * page/chromium/ChromeClientChromium.h:
-
-2010-02-06 Dimitri Glazkov <dglazkov@chromium.org>
+2010-05-24 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
- Using inlines and function-level statics don't mix, according to gcc.
- https://bugs.webkit.org/show_bug.cgi?id=34663
+ Add RCDATA and RAWTEXT suport to the HTML5 parser
+ https://bugs.webkit.org/show_bug.cgi?id=39642
- De-inline deviceRGBColorSpaceRef to avoid gcc-bug landmines.
+ Adam Barth wrote half of this patch.
- It appears that the initialization check, generated by gcc doesn't account
- for a possibility that the function may be inlined, resulting in lazy
- initialization failure for more than one inlined instance of the function.
+ * html/HTML5TreeBuilder.cpp:
+ (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
- No behavior change, so no new tests.
+2010-05-24 Tony Chang <tony@chromium.org>
- * platform/graphics/cg/GraphicsContextCG.cpp:
- (WebCore::deviceRGBColorSpaceRef):
- * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
-
-2010-02-05 Geoffrey Garen <ggaren@apple.com>
+ Not reviewed, build fix.
- Reviewed by Dan Bernstein.
+ Fix the chromium compile due to pageZoomFactor refactoring.
- Added an ASSERT to catch an implausible but theoretically possible leak.
-
- In theory, if malloc allocated a UChar buffer directly after a StringImpl,
- the StringImpl might incorrecly assume that the UChar buffer was inline,
- and fail to delete it.
-
- This ASSERT is somewhat academic, since we don't use the same allocator
- in debug builds, but oh well.
-
- * platform/text/StringImpl.cpp:
- (WebCore::StringImpl::StringImpl):
- (WebCore::StringImpl::createUninitialized):
- * platform/text/StringImpl.h: Separated the inline buffer StringImpl
- constructor from the out-of-line buffer StringImpl constructor. Made
- the former ASSERT that its buffer was indeed inline, and the latter ASSERT
- that its buffer was indeed not inline.
+ * page/EventHandler.cpp:
+ (WebCore::pageZoomFactor):
-2010-02-05 Chris Marrin <cmarrin@apple.com>
+2010-05-24 Jer Noble <jer.noble@apple.com>
- Reviewed by Simon Fraser.
+ Reviewed by Eric Carlson.
- Fixed changed virtual function in GraphicsLayerCACF and call order issues
- https://bugs.webkit.org/show_bug.cgi?id=34348
+ HTML5 <video> tag performance worse than Flash
+ https://bugs.webkit.org/show_bug.cgi?id=39577
+ rdar://problem/7982458
- The correct virtual function in GraphicsLayerCACF is now being
- called. We also fixed an issue in QTMovieWin where the size
- of the movie was not being set correctly because the call order
- was changed.
+ Added attachments() back to QTPixelBuffer, as they are necessary for CAImageQueue.
- I also changed the order of a couple of calls in QTMovieWin to account
- for changed calling order from the logic above.
-
- * platform/graphics/win/GraphicsLayerCACF.cpp:Update to new virtual function API
- (WebCore::GraphicsLayerCACF::setContentsToMedia):
- (WebCore::GraphicsLayerCACF::updateContentsMedia):
- * platform/graphics/win/GraphicsLayerCACF.h:Update to new virtual function API
- (WebCore::GraphicsLayerCACF::):
- * platform/graphics/win/QTMovieWin.cpp:
- (QTMovieWinPrivate::cacheMovieScale):Fix a bug where ratio was computed wrong because it was using integer math
- (QTMovieWinPrivate::task):Compute movie scale before computing movie size so values are correct
- (QTMovieWinPrivate::setSize):Move movie size update to updateMovieSize()
- (QTMovieWinPrivate::updateMovieSize):Wrap size update in a new call so it can be used from multiple places
-
-2010-02-05 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Simon Fraser.
-
- Horizontal scrollbar works in reverse at milliondollarcu.be
- <rdar://problem/7556121>
- https://bugs.webkit.org/show_bug.cgi?id=33848
-
- Added a manual test.
-
- * manual-tests/win: Added.
- * manual-tests/win/horizontal-scroll-composited.html: Added.
- * platform/graphics/win/WKCACFLayerRenderer.cpp:
- (WebCore::WKCACFLayerRenderer::setScrollFrame):
- (WebCore::WKCACFLayerRenderer::setRootChildLayer):
-
-2010-02-05 Ryan Leavengood <leavengood@gmail.com>
-
- Reviewed by David Levin.
-
- Implementation of GlyphPage::fill() for Haiku port.
- https://bugs.webkit.org/show_bug.cgi?id=34527
-
- Covered by existing tests.
-
- * platform/graphics/haiku/GlyphPageTreeNodeHaiku.cpp
-
-2010-01-19 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Dave Hyatt.
-
- Implement flattening of framesets
- https://bugs.webkit.org/show_bug.cgi?id=32717
-
- The following patch, builds ontop of Antti Koivisto's frameset
- flattening code from the iPhone source, which itself is based on
- the old Nokia Series 60 source.
-
- Layout tests have been added to test the functionality and the original
- code which has then been fixed to make these pass, as well as support
- frameset grids.
-
- Tests: fast/frames/flattening/frameset-flattening-advanced.html
- fast/frames/flattening/frameset-flattening-grid.html
- fast/frames/flattening/frameset-flattening-simple.html
- fast/frames/flattening/frameset-flattening-subframe-resize.html
- fast/frames/flattening/frameset-flattening-subframesets.html
-
- * page/FrameView.cpp:
- (WebCore::FrameView::layout):
- (WebCore::FrameView::scheduleRelayout):
- * page/Settings.cpp:
- (WebCore::Settings::Settings):
- (WebCore::Settings::setFrameSetFlatteningEnabled):
- * page/Settings.h:
- (WebCore::Settings::frameSetFlatteningEnabled):
- * rendering/RenderFrame.cpp:
- (WebCore::RenderFrame::layoutWithFlattening):
- * rendering/RenderFrame.h:
- * rendering/RenderFrameSet.cpp:
- (WebCore::RenderFrameSet::layout):
- (WebCore::RenderFrameSet::positionFramesWithFlattening):
- (WebCore::RenderFrameSet::flattenFrameSet):
- (WebCore::RenderFrameSet::userResize):
- * rendering/RenderFrameSet.h:
-
-2010-02-05 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Changing display type of parent of input on focus causes input field to not receive key events
- https://bugs.webkit.org/show_bug.cgi?id=34620
- <rdar://problem/7584572>
+ WKCACFLayer contents()/setContents() now return/take a CFTypeRef instead of a CGImageRef, which allows
+ a CAImageQueueRef to be set as a layer's contents.
- When layout affects a text input, the RenderTextControl gets destroyed and
- recreated, which in turn makes a new innerTextElement. However, if the text field was
- focused, the VisibleSelection is left pointing to the old innerTextElement, so text
- input no longer works.
+ WKCAImageQueue is a simple C++ wrapper around the WebKitSystemInterface CAImageQueue functions.
- The fix is to call updateFocusAppearanceSoon() when attaching the input element,
- which will update the selection if necessary.
-
- Test: fast/forms/restore-selection-after-layout.html
-
- * dom/Document.h: Add a paramter to updateFocusAppearanceSoon() and a member variable,
- m_updateFocusAppearanceRestoresSelection, to store its value until the timer fires.
- * dom/Document.cpp:
- (WebCore::Document::Document): Initialize m_updateFocusAppearanceRestoresSelection
- (WebCore::Document::updateFocusAppearanceSoon): New restorePreviousSelection parameter.
- (WebCore::Document::updateFocusAppearanceTimerFired): Pass m_updateFocusAppearanceRestoresSelection down.
- * dom/Element.cpp:
- (WebCore::Element::attach): Call updateFocusAppearanceSoon() with false.
- * dom/Element.h: The updateFocusAppearanceSoonAfterAttach() was undefined.
- * html/HTMLInputElement.cpp:
- (WebCore::HTMLInputElement::attach): Call document()->updateFocusAppearanceSoon() with true.
-
-2010-02-05 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: simplify cookies view, introduce DataGrid::autoSizeColumns.
-
- https://bugs.webkit.org/show_bug.cgi?id=34646
-
- * inspector/front-end/CookieItemsView.js:
- (WebInspector.CookieItemsView):
- (WebInspector.CookieItemsView.prototype.show):
- (WebInspector.CookieItemsView.prototype._update):
- (WebInspector.CookieItemsView.prototype._updateWithCookies):
- (WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
- (WebInspector.CookieItemsView.prototype._createDataGrid):
- (WebInspector.CookieItemsView.prototype._populateDataGrid.expiresCompare):
- (WebInspector.CookieItemsView.prototype._populateDataGrid):
- (WebInspector.CookieItemsView.prototype._createSimpleDataGrid):
- (WebInspector.CookieItemsView.prototype._populateSimpleDataGrid):
- (WebInspector.CookieItemsView.prototype._deleteCookieCallback):
- (WebInspector.CookieItemsView.prototype._refreshButtonClicked):
- * inspector/front-end/DOMStorageItemsView.js:
- (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries):
- (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageEntries):
- * inspector/front-end/DataGrid.js:
- (WebInspector.DataGrid):
- (WebInspector.DataGrid.prototype.autoSizeColumns):
- * inspector/front-end/DatabaseQueryView.js:
- (WebInspector.DatabaseQueryView.prototype._queryFinished):
- * inspector/front-end/DatabaseTableView.js:
- (WebInspector.DatabaseTableView.prototype._queryFinished):
- * inspector/front-end/StoragePanel.js:
- (WebInspector.StoragePanel.prototype.dataGridForResult):
-
-2010-02-04 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: group cookies by frame, show total
- cookies size, allow sorting cookie table.
-
- https://bugs.webkit.org/show_bug.cgi?id=34617
-
- * English.lproj/localizedStrings.js:
- * inspector/InspectorController.cpp:
- (WebCore::InspectorController::deleteCookie):
- * inspector/front-end/CookieItemsView.js:
- (WebInspector.CookieItemsView):
- (WebInspector.CookieItemsView.prototype.update):
- (WebInspector.CookieItemsView.prototype._updateWithCookies):
- (WebInspector.CookieItemsView.prototype._cookiesForDomain):
- (WebInspector.CookieItemsView.prototype.dataGridForCookies):
- (WebInspector.CookieItemsView.prototype._createNodes):
- (WebInspector.CookieItemsView.prototype._sortData.localeCompare):
- (WebInspector.CookieItemsView.prototype._sortData.numberCompare):
- (WebInspector.CookieItemsView.prototype._sortData.expiresCompare):
- (WebInspector.CookieItemsView.prototype._sortData):
- * inspector/front-end/StoragePanel.js:
- (WebInspector.StoragePanel.prototype.showCookies):
- (WebInspector.CookieSidebarTreeElement):
- (WebInspector.CookieSidebarTreeElement.prototype.onselect):
- (WebInspector.CookieSidebarTreeElement.prototype.get subtitle):
- (WebInspector.CookieSidebarTreeElement.prototype.set subtitle):
- * inspector/front-end/inspector.js:
- (WebInspector.updateResource):
-
-2010-02-05 Maxime Simone <simon.maxime@gmail.com>
-
- Reviewed by David Levin.
-
- More robust conversion from BString to String for Haiku port.
- https://bugs.webkit.org/show_bug.cgi?id=34527
-
- Covered by existing tests.
-
- * platform/text/haiku/StringHaiku.cpp: Fixed include order, Improved coversion from BString.
-
-2010-02-05 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam Roben.
-
- Windows build fix.
-
- * WebCore.vcproj/WebCore.make:
-
-2010-02-05 Csaba Osztrogonác <ossy@webkit.org>
-
- Reviewed by Dirk Schulze.
- Rubber-stamped by Kenneth Rohde Christiansen.
-
- [Qt] Modifying SVG path dumping to equal to other ports
- https://bugs.webkit.org/show_bug.cgi?id=33784
-
- * platform/graphics/qt/PathQt.cpp:
- (WebCore::Path::debugString): Path dumping style is aproached to Mac.
-
-2010-02-05 Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
- Reviewed by Gustavo Noronha.
-
- Add a GStreamer HTTP/HTTPS source, using WebKit infrastructure
- https://bugs.webkit.org/show_bug.cgi?id=34317
-
- * GNUmakefile.am:
- * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
- (WebCore::mediaPlayerPrivateSourceChangedCallback):
- (WebCore::doGstInit):
- * platform/graphics/gtk/WebKitWebSourceGStreamer.cpp:
- * platform/graphics/gtk/WebKitWebSourceGStreamer.h:
- Add a GStreamer HTTP/HTTPS source, using the WebKit infrastructure.
- This makes sure that referer, cookies, authentication information
- and all kinds of other context are passed to GStreamer for websites
- like Vimeo or YouTube.
-
-2010-02-05 Nate Chapin <japhet@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [V8] Clean up code for getting a v8::FunctionTemplate.
+ MediaPlayerPrivateQuickTimeVisualContext will now use a CAImageQueue to display movie frames if
+ certain prerequisites are met (QuartzCore.dll and CoreVideo.dll version numbers must meet a certain
+ threshold defined in MediaPlayerPrivateQuickTimeVisualContext.cpp).
- https://bugs.webkit.org/show_bug.cgi?id=34606
-
- * bindings/scripts/CodeGeneratorV8.pm: Making GetTemplate() public
- * bindings/v8/V8Binding.cpp:
- (WebCore::configureTemplate):
- * bindings/v8/V8DOMWrapper.cpp: Remove getTemplate(), use V8ClassIndex::getTemplate() instead.
- (WebCore::V8DOMWrapper::getConstructor):
- (WebCore::V8DOMWrapper::instantiateV8Object):
- * bindings/v8/V8DOMWrapper.h:
- (WebCore::V8DOMWrapper::lookupDOMWrapper):
- * bindings/v8/V8Index.cpp: Remove duplicate caching of FunctionTemplates.
- (WebCore::V8ClassIndex::getTemplate):
- * bindings/v8/V8Index.h:
- * bindings/v8/WorkerContextExecutionProxy.cpp:
- (WebCore::WorkerContextExecutionProxy::toV8):
- * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
- (WebCore::v8HTMLAudioElementConstructorCallback):
- (WebCore::V8HTMLAudioElementConstructor::GetTemplate):
- * bindings/v8/custom/V8HTMLAudioElementConstructor.h:
- * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
- (WebCore::v8HTMLImageElementConstructorCallback):
- (WebCore::V8HTMLImageElementConstructor::GetTemplate):
- * bindings/v8/custom/V8HTMLImageElementConstructor.h:
- * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
- (WebCore::v8HTMLOptionElementConstructorCallback):
- (WebCore::V8HTMLOptionElementConstructor::GetTemplate):
- * bindings/v8/custom/V8HTMLOptionElementConstructor.h:
- * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
- (WebCore::createInjectedScriptHostV8Wrapper):
-
-2010-02-05 Siddharth Mathur <siddharth.mathur@nokia.com>
-
- Reviewed by Ariya Hidayat.
-
- [Qt] Build break in QtWebkit on Symbian
- https://bugs.webkit.org/show_bug.cgi?id=34597
-
- * plugins/PluginView.h:
-
-2010-02-05 Yury Semikhatsky <yurys@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- - Use SerializedScriptValue for passing data between injected script and
- inspector frontend.
- - Remove custom JSON implementation from the instpector utility script.
- - Make sure that only objects created in the same ScriptState can be values
- of ScriptObject/Array properties and arguments to ScriptFunctionCall. We don't
- want ScriptObjects to leak between contexts.
- - Use ScriptState of the 'this' object in ScriptFunctionCall instead of passing
- it as additional parameter.
-
- https://bugs.webkit.org/show_bug.cgi?id=33592
-
- * bindings/js/JSInjectedScriptHostCustom.cpp:
- (WebCore::JSInjectedScriptHost::reportDidDispatchOnInjectedScript):
- * bindings/js/ScriptArray.cpp:
- (WebCore::ScriptArray::set):
- * bindings/js/ScriptFunctionCall.cpp:
- (WebCore::ScriptFunctionCall::ScriptFunctionCall):
- (WebCore::ScriptFunctionCall::appendArgument):
- * bindings/js/ScriptFunctionCall.h:
- * bindings/js/ScriptObject.cpp:
- (WebCore::ScriptObject::set):
- * bindings/js/ScriptValue.cpp:
- (WebCore::ScriptValue::serialize):
- (WebCore::ScriptValue::deserialize):
- * bindings/js/ScriptValue.h:
- * bindings/v8/ScriptArray.cpp:
- (WebCore::ScriptArray::set):
- * bindings/v8/ScriptFunctionCall.cpp:
- (WebCore::ScriptFunctionCall::ScriptFunctionCall):
- (WebCore::ScriptFunctionCall::appendArgument):
- * bindings/v8/ScriptFunctionCall.h:
- * bindings/v8/ScriptObject.cpp:
- (WebCore::ScriptObject::set):
- * bindings/v8/ScriptState.h:
- * bindings/v8/ScriptValue.cpp:
- (WebCore::ScriptValue::serialize):
- (WebCore::deserialize):
- * bindings/v8/ScriptValue.h:
- * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
- (WebCore::V8InjectedScriptHost::reportDidDispatchOnInjectedScriptCallback):
- * inspector/InjectedScript.cpp:
- (WebCore::InjectedScript::dispatch):
- (WebCore::InjectedScript::callFrames):
- (WebCore::InjectedScript::wrapForConsole):
- (WebCore::InjectedScript::releaseWrapperObjectGroup):
- * inspector/InjectedScript.h:
- * inspector/InjectedScriptHost.cpp:
- (WebCore::InjectedScriptHost::reportDidDispatchOnInjectedScript):
- * inspector/InjectedScriptHost.h:
- * inspector/InjectedScriptHost.idl:
- * inspector/InspectorBackend.cpp:
- (WebCore::InspectorBackend::dispatchOnInjectedScript):
- * inspector/InspectorController.cpp:
- (WebCore::InspectorController::setFrontendProxyObject):
- (WebCore::InspectorController::didPause):
- (WebCore::InspectorController::didEvaluateForTestInFrontend):
- * inspector/InspectorFrontend.cpp:
- (WebCore::InspectorFrontend::InspectorFrontend):
- (WebCore::InspectorFrontend::newScriptArray):
- (WebCore::InspectorFrontend::newScriptObject):
- (WebCore::InspectorFrontend::populateFrontendSettings):
- (WebCore::InspectorFrontend::updateConsoleMessageExpiredCount):
- (WebCore::InspectorFrontend::addConsoleMessage):
- (WebCore::InspectorFrontend::updateConsoleMessageRepeatCount):
- (WebCore::InspectorFrontend::updateResource):
- (WebCore::InspectorFrontend::removeResource):
- (WebCore::InspectorFrontend::didGetResourceContent):
- (WebCore::InspectorFrontend::updateFocusedNode):
- (WebCore::InspectorFrontend::setAttachedWindow):
- (WebCore::InspectorFrontend::addRecordToTimeline):
- (WebCore::InspectorFrontend::parsedScriptSource):
- (WebCore::InspectorFrontend::failedToParseScriptSource):
- (WebCore::InspectorFrontend::addProfileHeader):
- (WebCore::InspectorFrontend::setRecordingProfile):
- (WebCore::InspectorFrontend::didGetProfileHeaders):
- (WebCore::InspectorFrontend::didGetProfile):
- (WebCore::InspectorFrontend::pausedScript):
- (WebCore::InspectorFrontend::setDocument):
- (WebCore::InspectorFrontend::setDetachedRoot):
- (WebCore::InspectorFrontend::setChildNodes):
- (WebCore::InspectorFrontend::childNodeCountUpdated):
- (WebCore::InspectorFrontend::childNodeInserted):
- (WebCore::InspectorFrontend::childNodeRemoved):
- (WebCore::InspectorFrontend::attributesUpdated):
- (WebCore::InspectorFrontend::didRemoveNode):
- (WebCore::InspectorFrontend::didGetChildNodes):
- (WebCore::InspectorFrontend::didApplyDomChange):
- (WebCore::InspectorFrontend::didGetEventListenersForNode):
- (WebCore::InspectorFrontend::didGetCookies):
- (WebCore::InspectorFrontend::didDispatchOnInjectedScript):
- (WebCore::InspectorFrontend::addDatabase):
- (WebCore::InspectorFrontend::selectDatabase):
- (WebCore::InspectorFrontend::didGetDatabaseTableNames):
- (WebCore::InspectorFrontend::addDOMStorage):
- (WebCore::InspectorFrontend::selectDOMStorage):
- (WebCore::InspectorFrontend::didGetDOMStorageEntries):
- (WebCore::InspectorFrontend::didSetDOMStorageItem):
- (WebCore::InspectorFrontend::didRemoveDOMStorageItem):
- (WebCore::InspectorFrontend::updateDOMStorage):
- (WebCore::InspectorFrontend::addNodesToSearchResult):
- (WebCore::InspectorFrontend::contextMenuItemSelected):
- (WebCore::InspectorFrontend::evaluateForTestInFrontend):
- (WebCore::InspectorFrontend::callSimpleFunction):
- * inspector/InspectorFrontend.h:
- (WebCore::InspectorFrontend::scriptState):
- * inspector/front-end/InjectedScript.js:
- (injectedScriptConstructor):
- (injectedScriptConstructor.):
- * inspector/front-end/InjectedScriptAccess.js:
- (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName.myCallback):
- (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName):
- (InjectedScriptAccess._installHandler):
- * inspector/front-end/inspector.js:
- (WebInspector.pausedScript):
- (WebInspector.addConsoleMessage):
-
-2010-02-05 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Generate convenience headers (QWebView, etc) using qmake
-
- In Qt this is done using syncqt, but we use a pro-file instead
- that generates makefile-rules for each of the extra headers.
-
- These extra headers are installed alongside the normal headers.
-
- * WebCore.pro: Use headers.pri based on DerivedSources instead
- of the one previously checked in in the source tree.
-
-2010-02-05 Mikhail Naganov <mnaganov@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Enable JAVASCRIPT_DEBUGGER in chromium port.
-
- https://bugs.webkit.org/show_bug.cgi?id=34638
-
- * page/Console.cpp:
- * page/Console.h:
- * page/Console.idl:
-
-2010-02-05 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Tab width for javascript source is 8, should be 4
-
- https://bugs.webkit.org/show_bug.cgi?id=31248
-
- * inspector/front-end/SourceFrame.js:
- (WebInspector.SourceFrame):
- * inspector/front-end/TextEditorModel.js:
- (WebInspector.TextEditorModel.prototype.set replaceTabsWithSpaces):
- (WebInspector.TextEditorModel.prototype._innerSetText):
- (WebInspector.TextEditorModel.prototype._replaceTabsIfNeeded):
+ * WebCore.vcproj/WebCore.vcproj:
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
+ * platform/graphics/win/QTPixelBuffer.cpp:
+ * platform/graphics/win/QTPixelBuffer.h:
+ * platform/graphics/win/WKCACFLayer.cpp:
+ * platform/graphics/win/WKCACFLayer.h:
+ * platform/graphics/win/WKCAImageQueue.cpp: Added.
+ * platform/graphics/win/WKCAImageQueue.h: Added.
-2010-02-05 Tony Chang <tony@chromium.org>
+2010-05-24 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
- https://bugs.webkit.org/show_bug.cgi?id=24872
- When pasting a list into another list should not indent another level.
- If the cursor is at the beginning of the line, it should insert the
- list items before the current list item. If the cursor is at the end
- of the line, it should insert the list items after the current list item.
-
- This matches Firefox and IE and makes the common activity of reordering a list
- work as expected.
-
- This also adds a small helper method (isListItem) to htmlediting.h.
-
- Test: editing/pasteboard/paste-list-002.html
-
- * editing/ReplaceSelectionCommand.cpp:
- (WebCore::ReplaceSelectionCommand::doApply):
- (WebCore::ReplaceSelectionCommand::insertAsListItems):
- * editing/ReplaceSelectionCommand.h:
- * editing/htmlediting.cpp:
- (WebCore::isListItem):
- (WebCore::appendedSublist):
- * editing/htmlediting.h:
-
-2010-02-04 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Timothy Hatcher.
-
- Build fix. Remove a symbol corresponding to an inline function from the linker export
- file to prevent a weak external failure.
-
- * WebCore.base.exp: Remove symbol.
- * WebCore.xcodeproj/project.pbxproj: Accommodate rename of script.
-
-2010-02-04 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Updated to use new WeakGCPtr::clear interface.
-
- * bindings/js/JSEventListener.cpp:
- * bindings/js/JSEventListener.h:
- (WebCore::JSEventListener::invalidateJSFunction):
-
-2010-02-04 Geoffrey Garen <ggaren@apple.com>
-
- Build fix: Added a forwarding header.
-
- * ForwardingHeaders/runtime/WeakGCPtr.h: Added.
-
-2010-02-04 Geoffrey Garen <ggaren@apple.com>
+ Teach the HTML5 parser how to lex escaped script data
+ https://bugs.webkit.org/show_bug.cgi?id=39630
- Reviewed by Alexey Proskuryakov and Darin Adler.
-
- REGRESSION (r52082): Missing event handlers on JQuery demo page (33383)
- https://bugs.webkit.org/show_bug.cgi?id=33383
- <rdar://problem/7559449>
-
- There were two bugs here:
-
- 1. A stale wrapper would invalidate a node's event listeners, even if
- the node had a fresh wrapper keeping it alive.
-
- The fix for this is for an event listener to keep a WeakGCPtr back-pointer
- to the wrapper it expects to mark it. The wrapper destructor checks this
- back-pointer, and only invalidates the event listener in the case of a match.
-
- 2. Conversely, a stale wrapper would not invalidate a node's event
- listeners soon enough, if its destructor didn't have a chance to run
- before an event fired on the node. (This can only happen in cases where
- we've made some other error and failed to mark a wrapper that was circuitously
- observable in the DOM. But we know we have edge case bugs like this, and
- we don't want them to be crashes.)
-
- The fix for this is to check the wrapper back-pointer before firing the
- event listener. As long as the the wrapper back-pointer is not null,
- it's safe to fire the listener.
-
- * ForwardingHeaders/runtime/WeakGCPtr.h: Added. Appease build gods.
-
- * bindings/js/JSAbstractWorkerCustom.cpp:
- (WebCore::JSAbstractWorker::addEventListener):
- (WebCore::JSAbstractWorker::removeEventListener):
- * bindings/js/JSDOMApplicationCacheCustom.cpp:
- (WebCore::JSDOMApplicationCache::addEventListener):
- (WebCore::JSDOMApplicationCache::removeEventListener):
- * bindings/js/JSDOMWindowCustom.cpp:
- (WebCore::JSDOMWindow::markChildren):
- (WebCore::JSDOMWindow::addEventListener):
- (WebCore::JSDOMWindow::removeEventListener): Updated to pass a wrapper
- to the JSEventListener constructor.
-
- * bindings/js/JSEventListener.cpp:
- (WebCore::JSEventListener::JSEventListener):
- (WebCore::JSEventListener::initializeJSFunction):
- (WebCore::JSEventListener::invalidateJSFunction):
- * bindings/js/JSEventListener.h:
- (WebCore::JSEventListener::create):
- (WebCore::JSEventListener::isolatedWorld):
- (WebCore::JSEventListener::wrapper):
- (WebCore::JSEventListener::setWrapper):
- (WebCore::JSEventListener::jsFunction):
- (WebCore::createJSAttributeEventListener): Implemented the back-pointer
- described above. Refactored the jsFunction() accessor to return 0 if
- the wrapper back-pointer is 0.
-
- * bindings/js/JSEventSourceCustom.cpp:
- (WebCore::JSEventSource::addEventListener):
- (WebCore::JSEventSource::removeEventListener):
- * bindings/js/JSLazyEventListener.cpp:
- (WebCore::JSLazyEventListener::JSLazyEventListener):
- (WebCore::JSLazyEventListener::initializeJSFunction):
- * bindings/js/JSLazyEventListener.h:
- (WebCore::JSLazyEventListener::create):
- * bindings/js/JSMessagePortCustom.cpp:
- (WebCore::JSMessagePort::markChildren):
- (WebCore::JSMessagePort::addEventListener):
- (WebCore::JSMessagePort::removeEventListener):
- * bindings/js/JSNodeCustom.cpp:
- (WebCore::JSNode::addEventListener):
- (WebCore::JSNode::removeEventListener):
- (WebCore::JSNode::markChildren):
- * bindings/js/JSSVGElementInstanceCustom.cpp:
- (WebCore::JSSVGElementInstance::addEventListener):
- (WebCore::JSSVGElementInstance::removeEventListener):
- * bindings/js/JSWebSocketCustom.cpp:
- (WebCore::JSWebSocket::addEventListener):
- (WebCore::JSWebSocket::removeEventListener):
- * bindings/js/JSWorkerContextCustom.cpp:
- (WebCore::JSWorkerContext::markChildren):
- (WebCore::JSWorkerContext::addEventListener):
- (WebCore::JSWorkerContext::removeEventListener):
- * bindings/js/JSXMLHttpRequestCustom.cpp:
- (WebCore::JSXMLHttpRequest::markChildren):
- (WebCore::JSXMLHttpRequest::addEventListener):
- (WebCore::JSXMLHttpRequest::removeEventListener):
- * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
- (WebCore::JSXMLHttpRequestUpload::markChildren):
- (WebCore::JSXMLHttpRequestUpload::addEventListener):
- (WebCore::JSXMLHttpRequestUpload::removeEventListener): Updated to pass a wrapper
- to the JSEventListener constructor.
-
-
- * bindings/js/ScriptEventListener.cpp:
- (WebCore::createAttributeEventListener): Updated to pass a wrapper
- to the JSEventListener constructor.
- (WebCore::getEventListenerHandlerBody): Updated for the fact that jsFunction()
- is no longer a virtual accessor on the EventHandler base class.
-
- * bindings/scripts/CodeGeneratorJS.pm: Updated for the fact that jsFunction()
- is no longer a virtual accessor on the EventHandler base class. Added a "JS"
- to invalidateEventListeners and markEventListeners to clarify that these
- actions are for JS event listeners only. Added a wrapper parameter to
- invalidateEventListeners for the back-pointer check explained above.
+ * html/HTML5Lexer.cpp:
+ (WebCore::HTMLNames::vectorEqualsString):
+ (WebCore::HTML5Lexer::nextToken):
+ (WebCore::HTML5Lexer::temporaryBufferIs):
+ (WebCore::HTML5Lexer::isAppropriateEndTag):
+ (WebCore::HTML5Lexer::maybeFlushBufferedEndTag):
+ (WebCore::HTML5Lexer::flushBufferedEndTag):
+ * html/HTML5Lexer.h:
- * dom/EventListener.h:
- (WebCore::EventListener::invalidateJSFunction): ditto
+2010-05-24 Eric Seidel <eric@webkit.org>
- * dom/EventTarget.h:
- (WebCore::EventTarget::markJSEventListeners):
- (WebCore::EventTarget::invalidateJSEventListeners): ditto
+ Unreviewed. Trick MSVC into ignoring our unused code for the moment.
-2010-02-04 Tony Chang <tony@chromium.org>
+ Prepare HTML5TreeBuilder for addition of new HTML5 parser code
+ https://bugs.webkit.org/show_bug.cgi?id=39623
- Reviewed by Eric Seidel.
+ * html/HTML5TreeBuilder.cpp:
+ (WebCore::HTML5TreeBuilder::constructTreeFromToken):
- https://bugs.webkit.org/show_bug.cgi?id=25002
- When inserting a new paragraph, avoid nesting empty divs. When
- pasting near the end of a paragraph, this prevents each paste
- command for getting nested one level deeper.
+2010-05-24 Darin Adler <darin@apple.com>
- Test: editing/inserting/paragraph-outside-nested-divs.html
+ Fix build on platforms with touch code enabled.
- * editing/InsertParagraphSeparatorCommand.cpp:
- (WebCore::highestVisuallyEquivalentDiv):
- (WebCore::InsertParagraphSeparatorCommand::doApply):
+ * page/EventHandler.cpp:
+ (WebCore::pageZoomFactor): Added.
+ (WebCore::EventHandler::handleTouchEvent): Use pageZoomFactor.
-2010-02-04 Dumitru Daniliuc <dumi@chromium.org>
+2010-05-24 Darin Adler <darin@apple.com>
Reviewed by Eric Seidel.
- 1. Fix a bug in SQLiteTransaction: do not assume that COMMIT always
- succeeds.
- 2. Jump straight to the transaction error callback when a
- statement fails in a way that makes sqlite automatically rollback
- the transaction.
- 3. Fix the code that handles the "quota reached" failure, as it is
- one of the failures that lead to an automatic transaction
- rollback.
-
- https://bugs.webkit.org/show_bug.cgi?id=34280
-
- * platform/sql/SQLiteDatabase.cpp:
- (WebCore::SQLiteDatabase::isAutoCommitOn):
- * platform/sql/SQLiteDatabase.h:
- * platform/sql/SQLiteTransaction.cpp:
- (WebCore::SQLiteTransaction::begin):
- (WebCore::SQLiteTransaction::commit):
- (WebCore::SQLiteTransaction::rollback):
- (WebCore::SQLiteTransaction::transactionWasRolledBackBySqlite):
- * platform/sql/SQLiteTransaction.h:
- * storage/SQLTransaction.cpp:
- (WebCore::SQLTransaction::SQLTransaction):
- (WebCore::SQLTransaction::runStatements):
- (WebCore::SQLTransaction::runCurrentStatement):
- (WebCore::SQLTransaction::handleCurrentStatementError):
- (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
-
-2010-02-04 Peter Kasting <pkasting@google.com>
-
- Not reviewed, rollback.
-
- Rollback r54387, it doesn't fix builds and Chromium doesn't want this behavior.
-
- * platform/chromium/ScrollbarThemeChromiumMac.h:
-
-2010-02-04 Stephen White <senorblanco@chromium.org>
-
- Unreviewed, build fix.
-
- Fix for Chromium/Mac after palindromic scrollbar change (54345).
-
- Covered by many layout tests.
-
- * platform/chromium/ScrollbarThemeChromiumMac.h:
- (WebCore::ScrollbarThemeChromiumMac::maxOverlapBetweenPages):
-
-2010-02-04 Clemmitt Sigler <cmsigler@gmail.com>
-
- Reviewed by David Levin.
-
- WebKitGTK doesn't build GtkLauncher when --enable-mathml is specified.
- Updated WebCore/GNUmakefile.am to include needed files in build.
-
- https://bugs.webkit.org/show_bug.cgi?id=34387
-
- No new tests.
-
- * GNUmakefile.am:
-
-2010-02-04 Stephan Aßmus <superstippi@gmx.de>
-
- Reviewed by David Levin.
-
- Misc coding style fixes in Haiku port code.
- https://bugs.webkit.org/show_bug.cgi?id=34527
-
- No tests needed.
-
- * platform/haiku/ContextMenuItemHaiku.cpp: Trailing white space, NULL -> 0
- * platform/haiku/DragImageHaiku.cpp: Trailing white space.
- * platform/haiku/FileChooserHaiku.cpp: Sorted headers.
- * platform/haiku/LocalizedStringsHaiku.cpp: Needed to include NotImplemented.h
-
-2010-02-04 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Csaba Osztrogonac.
-
- Fixed crash on QT introduced with the fix for
- https://bugs.webkit.org/show_bug.cgi?id=34609
-
- The test has been added with the original patch.
-
- * platform/qt/ClipboardQt.cpp:
- (WebCore::ClipboardQt::writePlainText): Added missing allocation of m_writeData.
-
-2010-02-04 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Xan Lopez.
-
- Conditionalize third party cookie policy for libsoup 2.29.90.
-
- * platform/network/soup/CookieJarSoup.cpp:
- (WebCore::setCookies):
- * platform/network/soup/DNSSoup.cpp:
- (WebCore::prefetchDNS):
- * platform/network/soup/ResourceHandleSoup.cpp:
- (WebCore::restartedCallback):
- (WebCore::startHttp):
- * platform/network/soup/ResourceRequestSoup.cpp:
- (WebCore::ResourceRequest::toSoupMessage):
- (WebCore::ResourceRequest::updateFromSoupMessage):
-
-2010-02-04 Christian Dywan <christian@twotoasts.de>
-
- Rubber-stamped by Gustavo Noronha Silva.
-
- Add ENABLE(VIDEO) guards around freeOwnedGPtr<GstElement> implementation.
-
- * platform/gtk/GOwnPtrGtk.cpp:
-
-2010-02-04 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
+ Move view-related functions from Frame to FrameView
+ https://bugs.webkit.org/show_bug.cgi?id=39366
- Assertion failure in CheckedRadioButtons::removeButton when using jQuery 1.4.1
- https://bugs.webkit.org/show_bug.cgi?id=34520
+ Refactoring only so adds no new tests.
- Test: fast/dom/HTMLInputElement/cloned-input-checked-state.html
+ * WebCore.base.exp: Updated.
- * dom/Element.cpp: (WebCore::Element::cloneElementWithoutChildren): Copy non-attribute
- properties before attributes. Otherwise, copying "checked" attribute would make the cloned
- node checked, unchecking original (they share a name, and are thus in the same radio group).
- We do want the original to be unchecked, but we also want to know its original state in
- HTMLInputElement::copyNonAttributeProperties().
-
- * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::copyNonAttributeProperties):
- Use setChecked instead of plain assignment to prevent m_checked getting out of sync with
- checkedRadioButtons. Also, copy field related to default checked state, so that m_checked
- won't be overridden when copying attributes.
-
-2010-02-04 Kevin Ollivier <kevino@theolliviers.com>
-
- [wx] Build fix after addition of Clipboard::writePlainText method.
-
- * platform/wx/ClipboardWx.cpp:
- (WebCore::ClipboardWx::writePlainText):
- * platform/wx/ClipboardWx.h:
-
-2010-02-04 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Oliver Hunt.
-
- REGRESSION: Dragging plain text into a styled text region does not acquire the correct style info.
- <rdar://problem/7595685>
- https://bugs.webkit.org/show_bug.cgi?id=34609
-
- Test: editing/pasteboard/drop-inputtext-acquires-style.html
-
- The dragging code did not distinguish the case of dragging the content of an input control
- as a special case. The markup placed in the pasteboard included the style information.
- I've modified the Clipboard class interface adding a new method writePlainText to match the
- behavior of the copy and cut commands and modified the drag code to detect the special case.
- I've modified all the platform specific implementations of the Clipboard class.
-
- * dom/Clipboard.h: Added writePlainText pure virtual function.
- * editing/Editor.cpp:
- (WebCore::Editor::cut): Renamed nodeIsTextFormControl to isNodeInTextFormControl.
- (WebCore::Editor::copy): Renamed nodeIsTextFormControl to isNodeInTextFormControl.
- * editing/htmlediting.cpp:
- (WebCore::isNodeInTextFormControl): Added, after removing the implementation with the old name
- in Editor.cpp
- * editing/htmlediting.h:
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::styleForDocument): Call zoom factor function
+ on FrameView.
+ (WebCore::CSSStyleSelector::applyProperty): Ditto.
+ (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): Ditto.
+ * dom/Document.cpp:
+ (WebCore::Document::elementFromPoint): Ditto.
+ (WebCore::Document::caretRangeFromPoint): Ditto.
+ * dom/MouseRelatedEvent.cpp:
+ (WebCore::contentsX): Ditto.
+ (WebCore::contentsY): Ditto.
+ (WebCore::pageZoomFactor): Added helper function.
+ (WebCore::MouseRelatedEvent::computePageLocation): Use helper.
+ (WebCore::MouseRelatedEvent::receivedTarget): Ditto.
+ * dom/Node.cpp:
+ (WebCore::Node::dispatchMouseEvent): Call zoom factor function on FrameView.
+ (WebCore::Node::dispatchWheelEvent): Ditto.
+ * dom/Touch.cpp:
+ (WebCore::contentsX): Call zoom factor function on FrameView.
+ (WebCore::contentsY): Ditto.
+ * html/HTMLBodyElement.cpp:
+ (WebCore::adjustForZoom): Ditto.
+ (WebCore::HTMLBodyElement::setScrollLeft): Ditto.
+ (WebCore::HTMLBodyElement::setScrollTop): Ditto.
+ * html/HTMLImageElement.cpp:
+ (WebCore::HTMLImageElement::width): Ditto.
+ (WebCore::HTMLImageElement::height): Ditto.
+ * loader/ImageDocument.cpp:
+ (WebCore::pageZoomFactor): Added helper function.
+ (WebCore::ImageTokenizer::finish): Use helper function
+ (WebCore::ImageDocument::scale): Ditto.
+ (WebCore::ImageDocument::resizeImageToFit): Ditto.
+ (WebCore::ImageDocument::imageChanged): Ditto.
+ (WebCore::ImageDocument::restoreImageSize): Ditto.
+ (WebCore::ImageDocument::imageFitsInWindow): Ditto.
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::innerHeight): Ditto.
+ (WebCore::DOMWindow::innerWidth): Ditto.
+ (WebCore::DOMWindow::scrollX): Ditto.
+ (WebCore::DOMWindow::scrollY): Ditto.
+ (WebCore::DOMWindow::scrollTo): Ditto.
* page/DragController.cpp:
- (WebCore::DragController::startDrag):
- * platform/Pasteboard.h:
- * platform/android/ClipboardAndroid.cpp:
- (WebCore::ClipboardAndroid::writePlainText): Added.
- * platform/android/ClipboardAndroid.h:
- * platform/chromium/ClipboardChromium.cpp:
- (WebCore::ClipboardChromium::writePlainText): Added.
- * platform/chromium/ClipboardChromium.h:
- * platform/gtk/ClipboardGtk.cpp:
- (WebCore::ClipboardGtk::writePlainText): Added.
- * platform/gtk/ClipboardGtk.h:
- * platform/haiku/ClipboardHaiku.cpp:
- (WebCore::ClipboardHaiku::writePlainText): Added.
- * platform/haiku/ClipboardHaiku.h:
- * platform/mac/ClipboardMac.h:
- * platform/mac/ClipboardMac.mm:
- (WebCore::ClipboardMac::writePlainText): Added.
- * platform/mac/PasteboardMac.mm:
- (WebCore::Pasteboard::writePlainText): Added helper function.
- * platform/qt/ClipboardQt.cpp:
- (WebCore::ClipboardQt::writePlainText): Added.
- * platform/qt/ClipboardQt.h:
- * platform/win/ClipboardWin.cpp:
- (WebCore::ClipboardWin::writePlainText): Added.
- * platform/win/ClipboardWin.h:
-
-2010-02-04 Steve Block <steveblock@google.com>
+ (WebCore::elementUnderMouse): Ditto.
- Reviewed by Nate Chapin.
+ * page/Frame.cpp:
+ (WebCore::Frame::Frame): Removed code to initialize m_zoomFactor.
+ * page/Frame.h: Moved functions to FrameView. Moved all #if to the left
+ margin to make the style consistent. Removed empty function
+ removeEditingStyleFromBodyElement.
- Fix bug in V8 convertNPVariantToJValue when converting float and double types
- https://bugs.webkit.org/show_bug.cgi?id=34593
+ * page/FrameView.cpp:
+ (WebCore::parentZoomFactor): Added helper function for constructor.
+ (WebCore::FrameView::FrameView): Added initialization of m_zoomFactor.
+ (WebCore::FrameView::shouldApplyTextZoom): Moved this here from Frame.
+ (WebCore::FrameView::shouldApplyPageZoom): Ditto.
+ (WebCore::FrameView::setZoomFactor): Ditto.
- No new tests, build fix only.
+ * page/FrameView.h: Added members moved here from Frame.
- * bridge/jni/v8/JNIUtilityPrivate.cpp: Modified.
- (JSC::Bindings::convertNPVariantToJValue): Modified. Use correct members of 'result' enum.
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::zoomFactor): Call FrameView instead of Frame.
+ * svg/SVGSVGElement.cpp:
+ (WebCore::SVGSVGElement::currentScale): Ditto.
+ (WebCore::SVGSVGElement::setCurrentScale): Ditto.
-2010-02-04 Chris Guillory <chris.guillory@google.com>
+2010-05-24 Jer Noble <jer.noble@apple.com>
- Reviewed by Darin Fisher.
+ No review; build fix only.
- [Chromium] Notify ChromeClientChromium of AccessibilityObject state
- change notifications.
+ Roll-out changes r60094, 60096-60097.
- https://bugs.webkit.org/show_bug.cgi?id=34464
-
- * accessibility/chromium/AXObjectCacheChromium.cpp:
- (WebCore::toChromeClientChromium):
- (WebCore::AXObjectCache::postPlatformNotification):
- * page/chromium/ChromeClientChromium.h:
-
-2010-02-04 Stephen White <senorblanco@chromium.org>
-
- Unreviewed, build fix for Chromium.
-
- Revert r54341 ("[v8] Remove clear method from DOM object maps"),
- since it causes the worker tests to fail on Chromium.
-
- * bindings/v8/DOMData.h:
- (WebCore::DOMData::removeObjectsFromWrapperMap):
- * bindings/v8/DOMDataStore.h:
- (WebCore::ChunkedTable::clear):
- (WebCore::ChunkedTable::clearEntries):
- (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::clear):
- (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::ChunkedTableTraits::clear):
- * bindings/v8/V8DOMMap.cpp:
- (WebCore::removeAllDOMObjectsInCurrentThreadHelper):
- (WebCore::removeAllDOMObjectsInCurrentThread):
- * bindings/v8/V8DOMMap.h:
- (WebCore::WeakReferenceMap::clear):
- * bindings/v8/WorkerScriptController.cpp:
- (WebCore::WorkerScriptController::~WorkerScriptController):
-
-2010-02-04 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- [GTK] Crashes when an invalid hostname is pre-fetched
- https://bugs.webkit.org/show_bug.cgi?id=34602
-
- * platform/network/soup/DNSSoup.cpp:
- (WebCore::prefetchDNS): NULL-check the SoupURI that is created
- from the hostname; that will happen for invalid hostnames.
-
-2010-02-04 José Millán Soto <jmillan@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [Gtk] webkitgtk crashed when Orca open
- https://bugs.webkit.org/show_bug.cgi?id=34463
-
- * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
- (textForObject):
- Checking if render objects are texts before calling toRenderText
-
-2010-02-04 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Set first party URI in all SoupMessages. This allows libsoup to
- implement a "no third party cookies" policy in case it wants
- to. Also start a non-JSC-specific, gtk-specific GOwnPtr module and
- use it for SoupURI.
-
- * platform/network/soup/CookieJarSoup.cpp:
- (WebCore::setCookies):
- * platform/network/soup/ResourceHandleSoup.cpp:
- (WebCore::restartedCallback):
- (WebCore::startHttp):
- * platform/network/soup/ResourceRequestSoup.cpp:
- (WebCore::ResourceRequest::toSoupMessage):
- (WebCore::ResourceRequest::updateFromSoupMessage):
-
-2010-02-04 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: group cookies by domains, not frame's domains.
-
- https://bugs.webkit.org/show_bug.cgi?id=34599
-
- * inspector/front-end/CookieItemsView.js:
- (WebInspector.CookieItemsView.prototype._cookiesForDomain):
- * inspector/front-end/inspector.js:
- (WebInspector.updateResource):
- (WebInspector._addCookieDomain):
-
-2010-02-04 Nate Chapin <japhet@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [V8] Delete V8CustomBinding.h and all references to V8Custom
-
- https://bugs.webkit.org/show_bug.cgi?id=32638
-
- * bindings/v8/NPV8Object.cpp:
- * bindings/v8/V8DOMWindowShell.h:
- * bindings/v8/V8NPObject.cpp:
- * bindings/v8/V8Utilities.cpp:
- * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
- * bindings/v8/custom/V8AttrCustom.cpp:
- * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
- * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
- * bindings/v8/custom/V8ClipboardCustom.cpp:
- * bindings/v8/custom/V8CoordinatesCustom.cpp:
- * bindings/v8/custom/V8CustomBinding.h: Removed.
- * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
- * bindings/v8/custom/V8DOMWindowCustom.cpp:
- * bindings/v8/custom/V8DataGridColumnListCustom.cpp:
- * bindings/v8/custom/V8DatabaseCustom.cpp:
- * bindings/v8/custom/V8ElementCustom.cpp:
- * bindings/v8/custom/V8EventSourceConstructor.cpp:
- * bindings/v8/custom/V8EventSourceCustom.cpp:
- * bindings/v8/custom/V8GeolocationCustom.cpp:
- * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
- * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
- (WebCore::v8HTMLAudioElementConstructorCallback):
- (WebCore::V8HTMLAudioElementConstructor::GetTemplate):
- * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
- * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp:
- * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
- * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
- * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
- (WebCore::v8HTMLImageElementConstructorCallback):
- (WebCore::V8HTMLImageElementConstructor::GetTemplate):
- * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
- * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
- (WebCore::v8HTMLOptionElementConstructorCallback):
- (WebCore::V8HTMLOptionElementConstructor::GetTemplate):
- * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
- * bindings/v8/custom/V8HistoryCustom.cpp:
- * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
- * bindings/v8/custom/V8LocationCustom.cpp:
- * bindings/v8/custom/V8MessagePortCustom.cpp:
- * bindings/v8/custom/V8NodeCustom.cpp:
- * bindings/v8/custom/V8NodeFilterCustom.cpp:
- * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
- * bindings/v8/custom/V8SQLTransactionCustom.cpp:
- * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
- * bindings/v8/custom/V8SVGLengthCustom.cpp:
- * bindings/v8/custom/V8SharedWorkerCustom.cpp:
- * bindings/v8/custom/V8StorageCustom.cpp:
- * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
- * bindings/v8/custom/V8WebGLArrayCustom.h:
- * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
- * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
- * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
- * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
- * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
- * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
- * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
- * bindings/v8/custom/V8WebKitPointConstructor.cpp:
- * bindings/v8/custom/V8WorkerContextCustom.cpp:
- * bindings/v8/custom/V8WorkerCustom.cpp:
- * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
- * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
- * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
-
-2010-02-04 Ariya Hidayat <ariya.hidayat@gmail.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Unnecessary QBrush construction for doing a solid fill
- https://bugs.webkit.org/show_bug.cgi?id=34559
-
- Use the similar trick like r37421, i.e. use the special brush for
- solid color to avoid creating QBrush again and again.
-
- * platform/graphics/qt/GraphicsContextQt.cpp:
- (WebCore::GraphicsContext::setPlatformFillColor):
-
-2010-02-04 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Simon Fraser.
-
- REGRESSION (r53718): When scrolling a tall window by page, the overlap between pages is too big
- https://bugs.webkit.org/show_bug.cgi?id=34371
-
- Allow ScrollbarTheme to cap the overlap between pages, and set a cap of
- 40 in ScrollbarThemeMac.
-
- * WebCore.base.exp: Export Scrollbar::maxOverlapBetweenPages().
- * editing/EditorCommand.cpp:
- (WebCore::verticalScrollDistance): Use Scrollbar methods instead of
- constants, and cap the scroll distance if needed.
- * platform/ScrollView.cpp:
- (WebCore::ScrollView::updateScrollbars): Ditto.
- (WebCore::ScrollView::wheelEvent): Ditto.
- * platform/Scrollbar.cpp:
- (WebCore::Scrollbar::maxOverlapBetweenPages): Added. Returns the
- value from the native scrollbar theme.
- * platform/Scrollbar.h: Replaced scroll amount constants with static methods.
- (WebCore::Scrollbar::pixelsPerLineStep): Replaces cScrollbarPixelsPerLineStep.
- (WebCore::Scrollbar::minFractionToStepWhenPaging): Replaces cFractionToStepWhenPaging.
- * platform/ScrollbarTheme.h:
- (WebCore::ScrollbarTheme::maxOverlapBetweenPages): A base implementation
- that returns the largest int.
- * platform/gtk/WheelEventGtk.cpp:
- (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use Scrollbar methods instead of
- constants.
- * platform/haiku/PlatformWheelEventHaiku.cpp:
- (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use Scrollbar methods instead of
- constants.
- * platform/mac/ScrollbarThemeMac.h:
- (WebCore::ScrollbarThemeMac::maxOverlapBetweenPages): An override
- that returns 40.
- * platform/mac/WheelEventMac.mm:
- (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use
- Scrollbar::pixelsPerLineStep() instead of cScrollbarPixelsPerLineStep.
- * platform/wx/MouseWheelEventWx.cpp:
- (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use Scrollbar methods instead of
- constants.
- * platform/wx/ScrollViewWx.cpp:
- (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents): Use Scrollbar
- methods instead of constants, and cap the scroll distance if needed.
- * rendering/RenderLayer.cpp:
- (WebCore::RenderLayer::updateScrollInfoAfterLayout): Ditto.
-
-2010-02-04 No'am Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Ariya Hidayat.
-
- [Qt] Tuning and optimizations to GraphicsLayerQt. Reduce unnecessary
- recaching, remove QTimer::singleShot and QPixmap::scaled, more
- accurate strategy of handling transform operation blends. Rotating a
- bordered-table, for example, now runs at 50FPS instead of 40FPS on Maemo5.
-
- https://bugs.webkit.org/show_bug.cgi?id=34062
-
- This is tested by https://bugs.webkit.org/show_bug.cgi?id=34450, fps measurements.
-
- * platform/graphics/qt/GraphicsLayerQt.cpp:
- (WebCore::GraphicsLayerQtImpl::flushChanges): Fine-tune caching
- (WebCore::TransformAnimationQt::TransformAnimationQt): transform bugs
- (WebCore::OpacityAnimationQt::updateState): style change
-
-2010-02-04 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Cookies for resources are not shown in storage panel.
-
- https://bugs.webkit.org/show_bug.cgi?id=34594
-
- * inspector/InspectorController.cpp:
- (WebCore::InspectorController::getCookies):
- * inspector/InspectorResource.cpp:
- (WebCore::InspectorResource::updateScriptObject):
- (WebCore::InspectorResource::cachedResource):
- * inspector/InspectorResource.h:
- (WebCore::InspectorResource::requestURL):
-
-2010-02-04 Anton Muhin <antonm@chromium.org>
-
- Reviewed by Adam Barth.
-
- [v8] Remove clear method from DOM object maps
- https://bugs.webkit.org/show_bug.cgi?id=34530
-
- No new tests. Should be covered by existent testing infrastructure.
-
- * bindings/v8/DOMData.h:
- * bindings/v8/DOMDataStore.h:
- * bindings/v8/V8DOMMap.cpp:
- * bindings/v8/V8DOMMap.h:
- * bindings/v8/WorkerScriptController.cpp:
- (WebCore::WorkerScriptController::~WorkerScriptController):
-
-2010-02-04 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Xan Lopez.
-
- [Gtk] Check if the renderer() exists in textForObject.
-
- This is fixing a crash in the textForObject method. It can
- happen when inspecting AtkObjects in the accerciser, then
- navigating to a new page and still inspecting the old tree.
-
- In this case the AccessibilityObjectWrapperAtk was still
- valid but the included renderer() was returning 0. Add a
- check for the accObject->renderer() before trying to use
- the result.
-
- * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
- (textForObject):
-
-2010-02-04 Yury Semikhatsky <yurys@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Provide strongly typed C++ interface for inspector's injected script.
-
- https://bugs.webkit.org/show_bug.cgi?id=33616
-
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/js/JSInjectedScriptHostCustom.cpp:
- (WebCore::InjectedScriptHost::injectedScriptFor):
- * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
- (WebCore::InjectedScriptHost::injectedScriptFor):
- * inspector/InjectedScript.cpp: Added.
- (WebCore::InjectedScript::InjectedScript):
- (WebCore::InjectedScript::dispatch):
- (WebCore::InjectedScript::callFrames):
- (WebCore::InjectedScript::wrapAndStringifyForConsole):
- (WebCore::InjectedScript::releaseWrapperObjectGroup):
- * inspector/InjectedScript.h: Added.
- (WebCore::InjectedScript::InjectedScript):
- (WebCore::InjectedScript::~InjectedScript):
- (WebCore::InjectedScript::hasNoValue):
- * inspector/InjectedScriptHost.cpp:
- (WebCore::InjectedScriptHost::injectedScriptForId):
- (WebCore::InjectedScriptHost::releaseWrapperObjectGroup):
- * inspector/InjectedScriptHost.h:
- * inspector/InspectorBackend.cpp:
- (WebCore::InspectorBackend::dispatchOnInjectedScript):
- * inspector/InspectorController.cpp:
- (WebCore::InspectorController::InspectorController):
- (WebCore::InspectorController::~InspectorController):
- (WebCore::InspectorController::inspectedPageDestroyed):
- (WebCore::InspectorController::windowScriptObjectAvailable):
- (WebCore::InspectorController::scriptObjectReady):
- (WebCore::InspectorController::setFrontendProxyObject):
- (WebCore::InspectorController::close):
- (WebCore::InspectorController::getProfile):
- (WebCore::InspectorController::enableDebugger):
- (WebCore::InspectorController::didPause):
- (WebCore::InspectorController::injectedScriptForNodeId):
- * inspector/InspectorController.h:
- (WebCore::InspectorController::frontendScriptState):
- * inspector/InspectorFrontend.cpp:
- (WebCore::InspectorFrontend::addConsoleMessage):
- * inspector/front-end/InjectedScript.js:
- (injectedScriptConstructor):
-
-2010-02-04 Philippe Normand <pnormand@igalia.com>
-
- Rubber stamped by Xan Lopez.
-
- Missing include, build fix after landing of patch from the bug 34435.
-
- * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
-
-2010-02-02 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- [Gtk] libsoup critical warning in media player http cookies injection code
- https://bugs.webkit.org/show_bug.cgi?id=34435
-
- Fixed the critical warning and refactored the
- User-Agent/Referer/cookies injection code, in that order. Previous
- order (cookies first) was wrong because if cookies injection could
- not be done neither the User-Agent nor Referer were injected. Also
- started a non-JSC-specific, gtk-specific GOwnPtr module.
-
- * GNUmakefile.am:
- * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
- (WebCore::mediaPlayerPrivateSourceChangedCallback):
- * platform/gtk/GOwnPtrGtk.cpp: Added.
- (WTF::SoupURI):
- (WTF::GstElement):
- * platform/gtk/GOwnPtrGtk.h: Added.
-
-2010-02-04 Mikhail Naganov <mnaganov@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Put JSC-specific debugger & profiler code under "USE(JSC)" defines.
- The plan is to enable "JAVASCRIPT_DEBUGGER" in Chromium and then
- make this code engine-agnostic.
-
- https://bugs.webkit.org/show_bug.cgi?id=34531
-
- * inspector/InjectedScriptHost.cpp:
- * inspector/InjectedScriptHost.h:
- * inspector/InspectorBackend.cpp:
- * inspector/InspectorBackend.h:
- * inspector/InspectorController.cpp:
- (WebCore::InspectorController::InspectorController):
- (WebCore::InspectorController::setWindowVisible):
- (WebCore::InspectorController::scriptObjectReady):
- (WebCore::InspectorController::close):
- (WebCore::InspectorController::didCommitLoad):
- * inspector/InspectorController.h:
- * inspector/InspectorFrontend.cpp:
- * inspector/InspectorFrontend.h:
- * inspector/JavaScriptCallFrame.cpp:
- * inspector/JavaScriptCallFrame.h:
- * inspector/JavaScriptDebugListener.h:
- * inspector/JavaScriptDebugServer.cpp:
- * inspector/JavaScriptDebugServer.h:
- * inspector/JavaScriptProfile.cpp:
- * inspector/JavaScriptProfile.h:
- * inspector/JavaScriptProfileNode.cpp:
- * inspector/JavaScriptProfileNode.h:
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
- * page/Page.cpp:
- (WebCore::Page::Page):
-
-2010-02-03 Nicholas Young <nicholas.young@nokia.com>
-
- Reviewed by Eric Carlson.
-
- Defer formatting of times displayed on media controls to the current theme.
- https://bugs.webkit.org/show_bug.cgi?id=34405
-
- No new tests needed. Refactoring Only.
-
- * rendering/MediaControlElements.cpp: Removed formatTime()
- (WebCore::MediaControlTimeDisplayElement::setCurrentValue): No longer sets inner text
- * rendering/MediaControlElements.h:
- * rendering/RenderMedia.cpp:
- (WebCore::RenderMedia::updateTimeDisplay): Asks the theme to format the time display elements
- * rendering/RenderTheme.cpp:
- (WebCore::RenderTheme::formatMediaControlsTime): new virtual method
- (WebCore::RenderTheme::formatMediaControlsCurrentTime): new virtual method
- (WebCore::RenderTheme::formatMediaControlsRemainingTime): new virtual method
- * rendering/RenderTheme.h:
-
-2010-02-03 Steve Falkenburg <sfalken@apple.com>
-
- Windows Debug_All build fix.
-
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
+ (WebCore::MediaPlayerPrivateQuickTimeVisualContext::load):
+ (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
+ (WebCore::MediaPlayerPrivateQuickTimeVisualContext::destroyLayerForMovie):
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
+ * platform/graphics/win/QTPixelBuffer.cpp:
+ * platform/graphics/win/QTPixelBuffer.h:
* platform/graphics/win/WKCACFLayer.cpp:
+ (WebCore::WKCACFLayer::printLayer):
+ * platform/graphics/win/WKCACFLayer.h:
+ (WebCore::WKCACFLayer::setContents):
+ (WebCore::WKCACFLayer::contents):
+ (WebCore::WKCACFLayer::speed):
+ (WebCore::WKCACFLayer::timeOffset):
+ * platform/graphics/win/WKCAImageQueue.cpp: Removed.
+ * platform/graphics/win/WKCAImageQueue.h: Removed.
-2010-02-03 Brady Eidson <beidson@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- REGRESSION (r51644): WebCore/manual-tests/linkjump-1.html fails
- <rdar://problem/7595694> and https://bugs.webkit.org/show_bug.cgi?id=34550
-
- Tests: fast/loader/document-with-fragment-url-1.html
- fast/loader/document-with-fragment-url-2.html
- fast/loader/document-with-fragment-url-3.html
- fast/loader/document-with-fragment-url-4.html
-
- * platform/KURL.cpp:
- (WebCore::KURL::init): When resolving new URL from an empty reference relative to an absolute URL,
- any fragment identifier from the absolute URL should be removed from the resulting resolution.
-
-2010-02-03 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Port TextBreakIteratorInternalICU
- https://bugs.webkit.org/show_bug.cgi?id=34515
-
- Port TextBreakIteratorInternalICU.
-
- * platform/text/brew/TextBreakIteratorInternalICUBrew.cpp: Added.
- (WebCore::currentSearchLocaleID):
- (WebCore::currentTextBreakLocaleID):
-
-2010-02-03 Adele Peterson <adele@apple.com>
-
- Reviewed by Simon Fraser.
-
- Fix for <rdar://problem/7594212>
- https://bugs.webkit.org/show_bug.cgi?id=34549 - CSS counters crash at http://www.w3.org/TR/css3-content/
- CrashTracer: [USER] 20 crashes in Safari at com.apple.WebCore: WebCore::CounterNode::insertAfter + 319
-
- Test: fast/css/counters/counter-before-selector-crash.html
+2010-05-24 Eric Seidel <eric@webkit.org>
- * rendering/RenderCounter.cpp: (WebCore::updateCounters): nil check.
+ Unreviewed. Add wtf/UnusedParam.h include to make Chromium happy.
-2010-02-03 Adele Peterson <adele@apple.com>
+ Chromium does not use a prefix header in order to support
+ distcc3. Other ports all do. The real fix is to remove
+ wtf/UnusedParam.h from the prefix header.
- Reviewed by Brady Eidson.
+ * html/HTML5TreeBuilder.cpp:
- Initialize the variable in the last checkin to false. I didn't realize DRT relies on this being false.
- So ports that want visited link tracking need to set that flag.
+2010-05-24 Jer Noble <jer.noble@apple.com>
- * page/PageGroup.cpp:
+ No review; build fix only.
-2010-02-03 Adele Peterson <adele@apple.com>
+ Second half of previous build fix, in which I add the include in the correct place.
- Reviewed by Brady Eidson.
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
- Fix for https://bugs.webkit.org/show_bug.cgi?id=34547
- static shouldTrackVisitedLinks is not initialized
+2010-05-24 Jer Noble <jer.noble@apple.com>
- For ports that don't call into WebKit to initialize this,
- we should initialize to true so they get the visited link behavior by default.
+ No review; build fix only.
- * page/PageGroup.cpp:
+ Include WKCAImageQueue.h outside the ACCELERATED_COMPOSITING check.
-2010-02-03 Dan Bernstein <mitz@apple.com>
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
- Reviewed by Simon Fraser.
+2010-05-24 Eric Seidel <eric@webkit.org>
- <rdar://problem/7577604> Drag and Drop: background elements are bleeding through
- https://bugs.webkit.org/show_bug.cgi?id=34546
+ Reviewed by Adam Barth.
- * manual-tests/drag-image-table-part-decorations.html: Added.
- * rendering/RenderFieldset.cpp:
- (WebCore::RenderFieldset::paintBoxDecorations): Bail out if this object shouldn’t
- paint within the current painting root.
- * rendering/RenderTable.cpp:
- (WebCore::RenderTable::paintBoxDecorations): Ditto.
- * rendering/RenderTableCell.cpp:
- (WebCore::RenderTableCell::paintBackgroundsBehindCell): Ditto.
- (WebCore::RenderTableCell::paintBoxDecorations): Ditto.
+ Prepare HTML5TreeBuilder for addition of new HTML5 parser code
+ https://bugs.webkit.org/show_bug.cgi?id=39623
-2010-02-03 Nate Chapin <japhet@chromium.org>
+ Before we start transcribing the parser, we need a place to put it.
- Unreviewed, Chromium mac build fix.
+ This also cleans up HTML5 token to not convert comment and character
+ data into AtomicStrings (which makes no sense).
- [V8] Remove unused V8Proxy* variable from generated wrapping code.
+ No functionality change, so no new tests.
- * bindings/scripts/CodeGeneratorV8.pm:
+ * html/HTML5Token.h:
+ (WebCore::HTML5Token::beginStartTag):
+ (WebCore::HTML5Token::beginEndTag):
+ (WebCore::HTML5Token::beginCharacter):
+ (WebCore::HTML5Token::beginComment):
+ (WebCore::HTML5Token::name):
+ (WebCore::HTML5Token::adoptDataAsStringImpl):
+ (WebCore::HTML5Token::characters):
+ (WebCore::HTML5Token::commentData):
+ (WebCore::HTML5Token::clearData):
+ * html/HTML5TreeBuilder.cpp:
+ (WebCore::convertToOldStyle):
+ (WebCore::HTML5TreeBuilder::constructTreeFromToken):
+ (WebCore::HTML5TreeBuilder::processToken):
+ * html/HTML5TreeBuilder.h:
-2010-02-03 Nate Chapin <japhet@chromium.org>
+2010-05-23 Jer Noble <jer.noble@apple.com>
- Reviewed by Dimitri Glazkov.
+ Reviewed by Eric Carlson.
- [V8] Use toV8() to wrap in the custom bindings, and remove
- the old wrapping code from V8DOMWrapper.
+ HTML5 <video> tag performance worse than Flash
+ https://bugs.webkit.org/show_bug.cgi?id=39577
+ rdar://problem/7982458
- https://bugs.webkit.org/show_bug.cgi?id=32563
-
- * bindings/scripts/CodeGeneratorV8.pm:
- * bindings/v8/ScriptController.cpp:
- * bindings/v8/ScriptObject.cpp:
- * bindings/v8/V8AbstractEventListener.cpp:
- * bindings/v8/V8Collection.h:
- * bindings/v8/V8DOMWindowShell.cpp:
- * bindings/v8/V8DOMWrapper.cpp:
- * bindings/v8/V8DOMWrapper.h:
- * bindings/v8/V8NodeFilterCondition.cpp:
- * bindings/v8/V8Proxy.cpp:
- * bindings/v8/WorkerContextExecutionProxy.h
- * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
- * bindings/v8/custom/V8CustomPositionCallback.cpp:
- * bindings/v8/custom/V8CustomPositionErrorCallback.cpp:
- * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
- * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
- * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
- * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
- * bindings/v8/custom/V8DOMWindowCustom.cpp:
- * bindings/v8/custom/V8DataGridColumnListCustom.cpp:
- * bindings/v8/custom/V8DocumentCustom.cpp:
- * bindings/v8/custom/V8DocumentLocationCustom.cpp:
- * bindings/v8/custom/V8ElementCustom.cpp:
- * bindings/v8/custom/V8EventCustom.cpp:
- * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
- * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
- * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
- * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
- * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
- * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
- * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
- * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
- * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
- * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
- * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
- * bindings/v8/custom/V8MessageChannelConstructor.cpp:
- * bindings/v8/custom/V8MessageEventCustom.cpp:
- * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
- * bindings/v8/custom/V8NodeIteratorCustom.cpp:
- * bindings/v8/custom/V8NodeListCustom.cpp:
- * bindings/v8/custom/V8NotificationCenterCustom.cpp:
- * bindings/v8/custom/V8SVGMatrixCustom.cpp:
- * bindings/v8/custom/V8StyleSheetListCustom.cpp:
- * bindings/v8/custom/V8TreeWalkerCustom.cpp:
- * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
- * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
-
-2010-02-03 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Fix drawing buttons in viewless WebKit.
-
- * platform/mac/ThemeMac.mm:
- (WebCore::paintButton): If there is no view, make sure to flip the
- context so that the button is drawn correctly.
-
-2010-02-03 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] WebSockets : Buffer the data in WebKit instead of QtNetwork
- https://bugs.webkit.org/show_bug.cgi?id=34425
-
- Reverting r54279, it was a misunderstanding.
-
- * platform/network/qt/SocketStreamHandlePrivate.h:
- * platform/network/qt/SocketStreamHandleQt.cpp:
- (WebCore::SocketStreamHandlePrivate::SocketStreamHandlePrivate):
- (WebCore::SocketStreamHandlePrivate::send):
- (WebCore::SocketStreamHandlePrivate::close):
-
-2010-02-03 Drew Wilson <atwilson@chromium.org>
-
- Reviewed by Alexey Proskuryakov.
-
- SharedWorkerScriptLoader should not be an ActiveDOMObject
- https://bugs.webkit.org/show_bug.cgi?id=34513
-
- Test: Existing tests suffice (fixes test downstream in Chrome).
-
- * workers/DefaultSharedWorkerRepository.cpp:
- (WebCore::SharedWorkerScriptLoader::SharedWorkerScriptLoader):
- Changed to no longer derive from ActiveDOMObject (handles its own refcounting).
- (WebCore::SharedWorkerScriptLoader::load):
- Now increments own refcount when a load is pending.
- (WebCore::SharedWorkerScriptLoader::notifyFinished):
- Changed to decrement refcount when load is complete.
- * workers/WorkerScriptLoaderClient.h:
- Documentation change about reliability of notifyFinished() when used from worker context.
-
-2010-02-03 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Inspector renders blank scripts on reloading the webpage.
-
- https://bugs.webkit.org/show_bug.cgi?id=34537
-
- * inspector/front-end/ResourcesPanel.js:
- (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
-
-2010-02-03 Yury Semikhatsky <yurys@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Provide strongly typed C++ interface for inspector's injected script.
-
- https://bugs.webkit.org/show_bug.cgi?id=33616
-
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/js/JSInjectedScriptHostCustom.cpp:
- (WebCore::InjectedScriptHost::injectedScriptFor):
- * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
- (WebCore::InjectedScriptHost::injectedScriptFor):
- * inspector/InjectedScript.cpp: Added.
- (WebCore::InjectedScript::InjectedScript):
- (WebCore::InjectedScript::dispatch):
- (WebCore::InjectedScript::callFrames):
- (WebCore::InjectedScript::wrapAndStringify):
- (WebCore::InjectedScript::releaseWrapperObjectGroup):
- * inspector/InjectedScript.h: Added.
- (WebCore::InjectedScript::InjectedScript):
- (WebCore::InjectedScript::~InjectedScript):
- (WebCore::InjectedScript::hasNoValue):
- * inspector/InjectedScriptHost.cpp:
- (WebCore::InjectedScriptHost::injectedScriptForId):
- (WebCore::InjectedScriptHost::releaseWrapperObjectGroup):
- * inspector/InjectedScriptHost.h:
- * inspector/InspectorBackend.cpp:
- (WebCore::InspectorBackend::dispatchOnInjectedScript):
- * inspector/InspectorController.cpp:
- (WebCore::InspectorController::InspectorController):
- (WebCore::InspectorController::~InspectorController):
- (WebCore::InspectorController::inspectedPageDestroyed):
- (WebCore::InspectorController::windowScriptObjectAvailable):
- (WebCore::InspectorController::scriptObjectReady):
- (WebCore::InspectorController::setFrontendProxyObject):
- (WebCore::InspectorController::close):
- (WebCore::InspectorController::getProfile):
- (WebCore::InspectorController::enableDebugger):
- (WebCore::InspectorController::didPause):
- (WebCore::InspectorController::injectedScriptForNodeId):
- * inspector/InspectorController.h:
- (WebCore::InspectorController::frontendScriptState):
- * inspector/InspectorFrontend.cpp:
- (WebCore::InspectorFrontend::addConsoleMessage):
-
-2010-02-03 Andras Becsi <abecsi@webkit.org>
-
- Unreviewed build fix.
-
- [Qt] Roll-out r54281 because it broke the build on the Qt Release bot.
-
- * platform/graphics/qt/GraphicsLayerQt.cpp:
- (WebCore::GraphicsLayerQtImpl::State::State):
- (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
- (WebCore::GraphicsLayerQtImpl::setBaseTransform):
- (WebCore::GraphicsLayerQtImpl::drawContents):
- (WebCore::GraphicsLayerQtImpl::notifyChange):
- (WebCore::GraphicsLayerQtImpl::flushChanges):
- (WebCore::GraphicsLayerQt::setNeedsDisplayInRect):
- (WebCore::applyTimingFunction):
- (WebCore::webkitAnimationToQtAnimationValue):
- (WebCore::AnimationQtBase::updateState):
- (WebCore::AnimationQt::updateCurrentTime):
- (WebCore::TransformAnimationQt::TransformAnimationQt):
- (WebCore::TransformAnimationQt::~TransformAnimationQt):
- (WebCore::TransformAnimationQt::applyFrame):
- (WebCore::TransformAnimationQt::updateState):
- (WebCore::OpacityAnimationQt::updateState):
- (WebCore::GraphicsLayerQt::pauseAnimation):
-
-2010-02-02 Bryan Yeung <bryeung@google.com>
-
- Reviewed by Darin Adler.
-
- Avoid using an invalidated KURL object in baseURI.
-
- https://bugs.webkit.org/show_bug.cgi?id=34492
-
- This change fixes baseURI for Chromium (where the KURL implementation
- does not allow invalid KURLs to carry relative paths). This is
- regression tested by
- LayoutTests/svg/W3C-SVG-1.1/struct-image-07-t.svg
-
- This is a re-application of this patch since it was mistakenly identified as
- the cause of a big chromium test regression and rolled out in r54264.
-
- * dom/Element.cpp:
- (WebCore::Element::baseURI):
-
-2010-02-02 Joel Stanley <joel@jms.id.au>
-
- Reviewed by David Levin.
-
- [Chromium] Make setCaretBlinkInterval static.
- https://bugs.webkit.org/show_bug.cgi?id=31704
-
- This is so it can be called from the newly exposed Chromium API setter
- method.
-
- * rendering/RenderThemeChromiumLinux.cpp:
- * rendering/RenderThemeChromiumLinux.h:
-
-2010-02-02 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] WebSockets : Buffer the data in WebKit instead of QtNetwork
- https://bugs.webkit.org/show_bug.cgi?id=34425
-
- Buffer the sent data in SocketStreamHandlePrivate instead of relying on
- the network layer to do it. This is more robust and more consistent with how
- Qt's HTTP stack works.
- Close the socket in SocketStreamHandlePrivate::close() regardless of its state.
-
- No new tests, since no new functionality is introduced.
-
- * platform/network/qt/SocketStreamHandlePrivate.h:
- * platform/network/qt/SocketStreamHandleQt.cpp:
- (WebCore::SocketStreamHandlePrivate::SocketStreamHandlePrivate):
- (WebCore::SocketStreamHandlePrivate::send):
- (WebCore::SocketStreamHandlePrivate::close):
- (WebCore::SocketStreamHandlePrivate::socketBytesWritten):
-
-2010-02-03 Shinichiro Hamaji <hamaji@chromium.org>
-
- Unreviewed revert of r54259 as it seems to break chromium's unit tests.
- The tests pass with r54257 but fail with r54260.
- As r54258 and r54260 don't touch code, I'm reverting this change.
-
- [V8] Generate toV8 conversion helpers, a la JSC bindings.
- https://bugs.webkit.org/show_bug.cgi?id=32563
-
- * bindings/v8/ScriptController.cpp:
- (WebCore::ScriptController::processingUserGesture):
- (WebCore::createScriptObject):
- (WebCore::ScriptController::createScriptObjectForPluginElement):
- * bindings/v8/ScriptObject.cpp:
- (WebCore::ScriptGlobalObject::set):
- * bindings/v8/V8AbstractEventListener.cpp:
- (WebCore::V8AbstractEventListener::handleEvent):
- * bindings/v8/V8Collection.h:
- (WebCore::getV8Object):
- (WebCore::toNativeCollection):
- (WebCore::getNamedPropertyOfCollection):
- (WebCore::collectionNamedPropertyGetter):
- (WebCore::getIndexedPropertyOfCollection):
- (WebCore::collectionIndexedPropertyGetter):
- (WebCore::nodeCollectionIndexedPropertyEnumerator):
- (WebCore::collectionIndexedPropertyEnumerator):
- (WebCore::collectionStringOrNullIndexedPropertyGetter):
- (WebCore::collectionStringIndexedPropertyGetter):
- (WebCore::setCollectionIndexedGetter):
- (WebCore::setCollectionNamedGetter):
- (WebCore::setCollectionStringOrNullIndexedGetter):
- (WebCore::setCollectionStringIndexedGetter):
- * bindings/v8/V8DOMWindowShell.cpp:
- (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
- * bindings/v8/V8DOMWrapper.cpp:
- (WebCore::downcastSVGPathSeg):
- (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object):
- (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
- (WebCore::V8DOMWrapper::convertToV8Object):
- (WebCore::V8DOMWrapper::instantiateV8Object):
- (WebCore::V8DOMWrapper::isDOMEventWrapper):
- (WebCore::V8DOMWrapper::htmlElementType):
- (WebCore::V8DOMWrapper::svgElementType):
- (WebCore::V8DOMWrapper::convertEventToV8Object):
- (WebCore::):
- (WebCore::V8DOMWrapper::convertDocumentToV8Object):
- (WebCore::V8DOMWrapper::convertNodeToV8Object):
- (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
- (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
- (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object):
- (WebCore::V8DOMWrapper::convertStyleSheetToV8Object):
- (WebCore::V8DOMWrapper::convertCSSValueToV8Object):
- (WebCore::V8DOMWrapper::convertCSSRuleToV8Object):
- (WebCore::V8DOMWrapper::convertWindowToV8Object):
- (WebCore::V8DOMWrapper::convertNamedNodeMapToV8Object):
- * bindings/v8/V8DOMWrapper.h:
- (WebCore::V8DOMWrapper::convertToV8Object):
- (WebCore::V8DOMWrapper::convertNodeToV8Object):
- (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
- (WebCore::V8DOMWrapper::convertEventToV8Object):
- (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
- (WebCore::V8DOMWrapper::instantiateV8Object):
- * bindings/v8/V8NodeFilterCondition.cpp:
- (WebCore::V8NodeFilterCondition::acceptNode):
- * bindings/v8/V8Proxy.cpp:
- (WebCore::V8Proxy::setDOMException):
- * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
- (WebCore::toV8Object):
- (WebCore::V8CanvasRenderingContext2D::createPatternCallback):
- * bindings/v8/custom/V8CustomPositionCallback.cpp:
- (WebCore::V8CustomPositionCallback::handleEvent):
- * bindings/v8/custom/V8CustomPositionErrorCallback.cpp:
- (WebCore::V8CustomPositionErrorCallback::handleEvent):
- * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
- (WebCore::V8CustomSQLStatementCallback::handleEvent):
- * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
- (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
- * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
- (WebCore::V8CustomSQLTransactionCallback::handleEvent):
- * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
- (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
- * bindings/v8/custom/V8DOMWindowCustom.cpp:
- (WebCore::V8DOMWindow::openCallback):
- (WebCore::V8DOMWindow::indexedPropertyGetter):
- (WebCore::V8DOMWindow::namedPropertyGetter):
- * bindings/v8/custom/V8DataGridColumnListCustom.cpp:
- (WebCore::NAMED_PROPERTY_GETTER):
- * bindings/v8/custom/V8DocumentCustom.cpp:
- (WebCore::V8Document::evaluateCallback):
- (WebCore::V8Document::getCSSCanvasContextCallback):
- (WebCore::V8Document::implementationAccessorGetter):
- * bindings/v8/custom/V8DocumentLocationCustom.cpp:
- (WebCore::V8Document::locationAccessorGetter):
- * bindings/v8/custom/V8ElementCustom.cpp:
- (WebCore::V8Element::setAttributeNodeCallback):
- (WebCore::V8Element::setAttributeNodeNSCallback):
- * bindings/v8/custom/V8EventCustom.cpp:
- (WebCore::V8Event::dataTransferAccessorGetter):
- (WebCore::V8Event::clipboardDataAccessorGetter):
- * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
- (WebCore::getNamedItems):
- (WebCore::getItem):
- (WebCore::V8HTMLAllCollection::callAsFunctionCallback):
- * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
- (WebCore::V8Custom::v8HTMLAudioElementConstructorCallback):
- * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
- (WebCore::V8HTMLCanvasElement::getContextCallback):
- * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
- (WebCore::getNamedItems):
- (WebCore::getItem):
- (WebCore::V8HTMLCollection::callAsFunctionCallback):
- * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
- (WebCore::V8HTMLDocument::namedPropertyGetter):
- (WebCore::V8HTMLDocument::allAccessorGetter):
- * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
- (WebCore::V8HTMLFormElement::indexedPropertyGetter):
- (WebCore::V8HTMLFormElement::namedPropertyGetter):
- * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
- (WebCore::V8HTMLFrameSetElement::namedPropertyGetter):
- * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
- (WebCore::V8Custom::v8HTMLImageElementConstructorCallback):
- * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
- (WebCore::V8HTMLOptionsCollection::indexedPropertyGetter):
- * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
- (WebCore::V8HTMLSelectElement::namedPropertyGetter):
- (WebCore::V8HTMLSelectElement::indexedPropertyGetter):
- * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
- (WebCore::createInjectedScript):
- (WebCore::V8InjectedScriptHost::nodeForIdCallback):
- (WebCore::V8InjectedScriptHost::databaseForIdCallback):
- * bindings/v8/custom/V8MessageChannelConstructor.cpp:
- (WebCore::V8MessageChannel::constructorCallback):
- * bindings/v8/custom/V8MessageEventCustom.cpp:
- (WebCore::V8MessageEvent::portsAccessorGetter):
- * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
- (WebCore::V8NamedNodeMap::indexedPropertyGetter):
- (WebCore::V8NamedNodeMap::namedPropertyGetter):
- * bindings/v8/custom/V8NodeIteratorCustom.cpp:
- (WebCore::toV8):
- * bindings/v8/custom/V8NodeListCustom.cpp:
- (WebCore::V8NodeList::namedPropertyGetter):
- (WebCore::V8NodeList::callAsFunctionCallback):
- * bindings/v8/custom/V8NotificationCenterCustom.cpp:
- (WebCore::V8NotificationCenter::createHTMLNotificationCallback):
- (WebCore::V8NotificationCenter::createNotificationCallback):
- * bindings/v8/custom/V8SVGMatrixCustom.cpp:
- (WebCore::V8SVGMatrix::multiplyCallback):
- (WebCore::V8SVGMatrix::inverseCallback):
- (WebCore::V8SVGMatrix::rotateFromVectorCallback):
- * bindings/v8/custom/V8StyleSheetListCustom.cpp:
- (WebCore::V8StyleSheetList::namedPropertyGetter):
- * bindings/v8/custom/V8TreeWalkerCustom.cpp:
- (WebCore::toV8Object):
- * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
- (WebCore::toV8Object):
- * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
- (WebCore::V8XSLTProcessor::transformToFragmentCallback):
- (WebCore::V8XSLTProcessor::transformToDocumentCallback):
-
-2010-02-03 Mikhail Naganov <mnaganov@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Start unforking debugger and profiler code.
-
- Remove custom implementation of Console.
- Add 'ScriptProfiler' and 'ScriptProfile' types.
- Start migration to engine-neutral types in InspectorController.
-
- https://bugs.webkit.org/show_bug.cgi?id=34481
-
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.xcodeproj/project.pbxproj:
- * bindings/js/JSBindingsAllInOne.cpp:
- * bindings/js/JSConsoleCustom.cpp:
- * bindings/js/ScriptProfile.h: Added.
- * bindings/js/ScriptProfiler.cpp: Added.
- (WebCore::ScriptProfiler::start):
- (WebCore::ScriptProfiler::stop):
- * bindings/js/ScriptProfiler.h: Added.
- * bindings/scripts/CodeGeneratorV8.pm:
- * bindings/v8/ScriptProfile.h: Added.
- (WebCore::ScriptProfile::create):
- (WebCore::ScriptProfile::~ScriptProfile):
- (WebCore::ScriptProfile::title):
- (WebCore::ScriptProfile::uid):
- (WebCore::ScriptProfile::ScriptProfile):
- * bindings/v8/ScriptProfiler.cpp: Added.
- (WebCore::ScriptProfiler::start):
- (WebCore::ScriptProfiler::stop):
- * bindings/v8/ScriptProfiler.h: Added.
- * bindings/v8/custom/V8ConsoleCustom.cpp: Removed.
- * inspector/InspectorController.cpp:
- (WebCore::InspectorController::endGroup):
- (WebCore::InspectorController::show):
- (WebCore::InspectorController::setDOMStorageItem):
- (WebCore::InspectorController::addProfile):
- (WebCore::InspectorController::addProfileFinishedMessageToConsole):
- (WebCore::InspectorController::addStartProfilingMessageToConsole):
- (WebCore::InspectorController::createProfileHeader):
- (WebCore::InspectorController::getCurrentUserInitiatedProfileName):
- (WebCore::InspectorController::startUserInitiatedProfiling):
- (WebCore::InspectorController::stopUserInitiatedProfiling):
- (WebCore::InspectorController::enableDebugger):
- (WebCore::InspectorController::specialPanelForJSName):
- * inspector/InspectorController.h:
- (WebCore::InspectorController::searchingForNodeInPage):
- * page/Console.cpp:
- (WebCore::Console::profile):
- (WebCore::Console::profileEnd):
- * page/Console.h:
- (WebCore::):
- (WebCore::Console::create):
- (WebCore::Console::profiles):
- * page/Console.idl:
-
-2010-02-02 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Darin Adler.
-
- Fix a bug that changes for some constraint attributes doesn't
- update validation CSS selectors.
- https://bugs.webkit.org/show_bug.cgi?id=31716
-
- - Rename HTMLFormControlElement::updateValidity() to setNeedsValidityCheck()
- - Introduce HTMLFormControlElement::setNeedsWillValidate()
- - Introduce HTMLFormControlElement::m_hasName to make willValidate()
- work in parseMappedAttribute().
- - We need to call setNeedsValidityCheck() when HTMLInputElement::step or
- HTMLTextAreaElement::maxLength is changed.
-
- * html/HTMLFormControlElement.cpp:
- (WebCore::HTMLFormControlElement::HTMLFormControlElement):
- (WebCore::HTMLFormControlElement::parseMappedAttribute):
- (WebCore::HTMLFormControlElement::insertedIntoTree):
- (WebCore::HTMLFormControlElement::removedFromTree):
- (WebCore::HTMLFormControlElement::formDestroyed):
- (WebCore::HTMLFormControlElement::willValidate): Avoids function calls.
- (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):
- (WebCore::HTMLFormControlElement::setNeedsValidityCheck):
- * html/HTMLFormControlElement.h:
- (WebCore::HTMLFormControlElement::disabled): Move the code from .cpp.
- * html/HTMLInputElement.cpp:
- (WebCore::HTMLInputElement::setInputType):
- (WebCore::HTMLInputElement::parseMappedAttribute):
- (WebCore::HTMLInputElement::setValue):
- (WebCore::HTMLInputElement::setValueFromRenderer):
- (WebCore::HTMLInputElement::setFileListFromRenderer):
- * html/HTMLTextAreaElement.cpp:
- (WebCore::HTMLTextAreaElement::parseMappedAttribute):
- (WebCore::HTMLTextAreaElement::setValue):
- * rendering/RenderTextControlMultiLine.cpp:
- (WebCore::RenderTextControlMultiLine::subtreeHasChanged):
-
-2010-02-02 Roland Steiner <rolandsteiner@chromium.org>
-
- Reviewed by Adele Peterson.
-
- Bug 34198 - Ruby text should not inherit line-height
- (https://bugs.webkit.org/show_bug.cgi?id=34198)
+ Added attachments() back to QTPixelBuffer, as they are necessary for CAImageQueue.
- Resetting line-height to 'normal' in the default UA style sheet.
- Adding layout-test to check for this.
-
- Test: fast/ruby/ruby-line-height.html
-
- * css/html.css:
-
-2010-02-02 James Robinson <jamesr@chromium.org>
-
- Reviewed by Dmitry Titov.
-
- Add a null check for image, which might be NULL if tileSize is empty
- https://bugs.webkit.org/show_bug.cgi?id=34510
-
- Test: fast/gradients/crash-on-1px-border.html
-
- * rendering/RenderBoxModelObject.cpp:
- (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality):
-
-2010-02-02 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Darin Adler.
-
- rangeOverflow/rangeUnderflow support for type=datetime, datetime-local,
- month, time and week
- https://bugs.webkit.org/show_bug.cgi?id=34483
-
- Tests: fast/forms/ValidityState-rangeOverflow.html
- fast/forms/ValidityState-rangeUnderflow.html
-
- * html/HTMLInputElement.cpp:
- Defines the hard limits for the types as double values.
- (WebCore::HTMLInputElement::rangeUnderflow): Supports the types.
- (WebCore::HTMLInputElement::rangeOverflow): Supports the types.
- (WebCore::HTMLInputElement::minimum): Supports the types.
- (WebCore::HTMLInputElement::maximum): Supports the types.
-
-2010-02-02 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by Alexey Proskuryakov.
-
- WebSocket set pending activity to avoid unexpected GC.
- https://bugs.webkit.org/show_bug.cgi?id=34014
-
- Test: websocket/tests/websocket-pending-activity.html
-
- * websockets/WebSocket.cpp:
- (WebCore::WebSocket::connect): set pending activity until it receives didClose.
- (WebCore::WebSocket::contextDestroyed): check socket is already closed.
- (WebCore::WebSocket::stop): close the connection and unset pending activity when it stops.
- (WebCore::WebSocket::didClose): unset pending activity.
- * websockets/WebSocket.h:
- * websockets/WebSocketChannel.cpp:
- (WebCore::WebSocketChannel::didReceiveData): protect this while it processes received data.
-
-2010-02-02 Gustavo Noronha Silva <gns@gnome.org>
-
- No review, rolling out r54261.
- http://trac.webkit.org/changeset/54261
- https://bugs.webkit.org/show_bug.cgi?id=34435
-
- Causes crashes on release builds
-
- * GNUmakefile.am:
- * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
- (WebCore::mediaPlayerPrivateSourceChangedCallback):
- * platform/gtk/GOwnPtrGtk.cpp: Removed.
- * platform/gtk/GOwnPtrGtk.h: Removed.
-
-2010-02-02 David Levin <levin@chromium.org>
-
- No review, rolling out r54245.
- http://trac.webkit.org/changeset/54245
- https://bugs.webkit.org/show_bug.cgi?id=34492
-
- This patch seems to have broken thousands of chromium tests on
- Windows (and since it was for chromium, I'm rolling it out).
-
- * dom/Element.cpp:
- (WebCore::Element::baseURI):
-
-2010-02-02 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Darin Adler.
-
- Copyright year updating for Windows version resources should be automatic
- https://bugs.webkit.org/show_bug.cgi?id=34503
-
- * WebCore.vcproj/QTMovieWin.rc:
-
-2010-02-02 Dimitri Glazkov <dglazkov@chromium.org>
-
- No review, rolling out r54257.
- http://trac.webkit.org/changeset/54257
- https://bugs.webkit.org/show_bug.cgi?id=34491
-
- [Chromium] broke thousands of Win tests and a few of Linux tests.
-
- * platform/graphics/skia/GraphicsContextSkia.cpp:
- (WebCore::GraphicsContext::beginTransparencyLayer):
- * platform/graphics/skia/PlatformContextSkia.cpp:
- (PlatformContextSkia::applyAntiAliasedClipPaths):
- * platform/graphics/skia/PlatformContextSkia.h:
-
-2010-02-02 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- [Gtk] libsoup critical warning in media player http cookies injection code
- https://bugs.webkit.org/show_bug.cgi?id=34435
-
- Fixed the critical warning and refactored the
- User-Agent/Referer/cookies injection code, in that order. Previous
- order (cookies first) was wrong because if cookies injection could
- not be done neither the User-Agent not Referer were injected. Also
- started a non-JSC-specific, gtk-specific GOwnPtr module.
-
- * GNUmakefile.am:
- * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
- (WebCore::mediaPlayerPrivateSourceChangedCallback):
- * platform/gtk/GOwnPtrGtk.cpp: Added.
- (WTF::SoupURI):
- (WTF::GstElement):
- * platform/gtk/GOwnPtrGtk.h: Added.
-
-2010-02-02 Nate Chapin <japhet@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [V8] Use toV8() to wrap in the custom bindings, and remove
- the old wrapping code from V8DOMWrapper.
+ WKCACFLayer contents()/setContents() now return/take a CFTypeRef instead of a CGImageRef, which allows
+ a CAImageQueueRef to be set as a layer's contents.
- https://bugs.webkit.org/show_bug.cgi?id=32563
-
- * bindings/v8/ScriptController.cpp:
- * bindings/v8/ScriptObject.cpp:
- * bindings/v8/V8AbstractEventListener.cpp:
- * bindings/v8/V8Collection.h:
- * bindings/v8/V8DOMWindowShell.cpp:
- * bindings/v8/V8DOMWrapper.cpp:
- * bindings/v8/V8DOMWrapper.h:
- * bindings/v8/V8NodeFilterCondition.cpp:
- * bindings/v8/V8Proxy.cpp:
- * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
- * bindings/v8/custom/V8CustomPositionCallback.cpp:
- * bindings/v8/custom/V8CustomPositionErrorCallback.cpp:
- * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
- * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
- * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
- * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
- * bindings/v8/custom/V8DOMWindowCustom.cpp:
- * bindings/v8/custom/V8DataGridColumnListCustom.cpp:
- * bindings/v8/custom/V8DocumentCustom.cpp:
- * bindings/v8/custom/V8DocumentLocationCustom.cpp:
- * bindings/v8/custom/V8ElementCustom.cpp:
- * bindings/v8/custom/V8EventCustom.cpp:
- * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
- * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
- * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
- * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
- * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
- * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
- * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
- * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
- * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
- * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
- * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
- * bindings/v8/custom/V8MessageChannelConstructor.cpp:
- * bindings/v8/custom/V8MessageEventCustom.cpp:
- * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
- * bindings/v8/custom/V8NodeIteratorCustom.cpp:
- * bindings/v8/custom/V8NodeListCustom.cpp:
- * bindings/v8/custom/V8NotificationCenterCustom.cpp:
- * bindings/v8/custom/V8SVGMatrixCustom.cpp:
- * bindings/v8/custom/V8StyleSheetListCustom.cpp:
- * bindings/v8/custom/V8TreeWalkerCustom.cpp:
- * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
- * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
-
-2010-02-02 Garret Kelly <gdk@chromium.org>
-
- Reviewed by David Levin.
-
- When using the Skia graphics context, the beginTransparencyLayer call
- currently creates a new layer, but does not keep the current
- compositing mode for use when merging the created layer back onto the
- rest of the context. This patch fixes that.
- https://bugs.webkit.org/show_bug.cgi?id=34491
-
- fast/backgrounds/svg-as-mask.html is affected by this change in Chromium,
- but not fixed. This is the first of a series of patches to fix it.
-
- * platform/graphics/skia/GraphicsContextSkia.cpp:
- (WebCore::GraphicsContext::beginTransparencyLayer):
- * platform/graphics/skia/PlatformContextSkia.cpp:
- (PlatformContextSkia::beginTransparencyLayer):
- * platform/graphics/skia/PlatformContextSkia.h:
-
-2010-02-02 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- Use WTF::getLocalTime instead of localtime_r in FTPDirectoryDocument
- https://bugs.webkit.org/show_bug.cgi?id=34409
-
- Platform guards for localtime_r are not needed because we already have
- WTF::getLocalTime which does the same thing.
-
- * loader/FTPDirectoryDocument.cpp:
- (WebCore::processFileDateString):
- * loader/FTPDirectoryParser.cpp:
- (WebCore::gmtimeQt):
-
-2010-02-02 Adam Roben <aroben@apple.com>
-
- Copy WebCore's bindings generation scripts to the PrivateHeaders
- directory on Mac
-
- This will allow other projects to use these scripts.
-
- Fixes <http://webkit.org/b/34498>.
-
- Reviewed by Mark Rowe.
-
- * WebCore.xcodeproj/project.pbxproj: Added the bindings generation
- scripst to the Copy Headers phase, and marked them as Private.
-
-2010-02-02 Adam Roben <aroben@apple.com>
-
- Copy WebCore's bindings generation scripts to a more sensible location
-
- Part of Bug 34496: Clean up WebCore's IDL/script copying
- <https://bugs.webkit.org/show_bug.cgi?id=34496>
-
- Reviewed by Steve Falkenburg.
-
- * WebCore.vcproj/WebCore.make:
- * WebCore.vcproj/WebCoreGenerated.vcproj:
- Instead of copying to obj/WebKit/DOMInterfaces, copy to obj/WebCore/scripts.
-
-2010-02-02 Adam Roben <aroben@apple.com>
-
- Rename the scripts used to copy WebCore's bindings generation scripts
-
- Part of Bug 34496: Clean up WebCore's IDL/script copying
- <https://bugs.webkit.org/show_bug.cgi?id=34496>
-
- Reviewed by Steve Falkenburg.
-
- * WebCore.vcproj/MigrateScripts: Renamed from WebCore/WebCore.vcproj/MigrateIDLAndScripts.
- * WebCore.vcproj/migrate-scripts.sh: Renamed from WebCore/WebCore.vcproj/migrate-idls.sh.
-
- * WebCore.vcproj/WebCoreGenerated.vcproj: Updated for renames.
-
-2010-02-02 Adam Roben <aroben@apple.com>
-
- Stop copying IDL files into $(WebKitOutputDir)
-
- No one uses these anymore (as of r52921).
-
- Part of Bug 34496: Clean up WebCore's IDL/script copying
- <https://bugs.webkit.org/show_bug.cgi?id=34496>
-
- Reviewed by Steve Falkenburg.
-
- * WebCore.vcproj/MigrateIDLAndScripts: Don't copy the IDL files
- anymore. Keep copying the scripts, though, since other projects
- (outside of the WebKit repository) do use those.
-
-2010-02-02 Bryan Yeung <bryeung@google.com>
-
- Reviewed by Darin Adler.
-
- Avoid using an invalidated KURL object in baseURI.
-
- https://bugs.webkit.org/show_bug.cgi?id=34492
-
- This change fixes baseURI for Chromium (where the KURL implementation
- does not allow invalid KURLs to carry relative paths). This is
- regression tested by
- LayoutTests/svg/W3C-SVG-1.1/struct-image-07-t.svg
-
- * dom/Element.cpp:
- (WebCore::Element::baseURI):
-
-2010-02-02 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=34076
- <rdar://problem/7594601> Crash in mangleme in WebCore::Element::getAttribute
-
- Test: fast/forms/misplaced-img-form-registration.html
-
- * html/HTMLFormElement.cpp:
- (WebCore::HTMLFormElement::registerImgElement): Assert that the same image isn't added
- to vector again.
- (WebCore::HTMLFormElement::removeImgElement): Similarly, assert that we're removing something
- that's actually registered.
-
- * html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::~HTMLImageElement): If parser fails
- to insert the image element, then there will be no removed from tree notification either,
- need to unregister right away.
-
-2010-02-02 Alexander Pavlov <apavlov@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: Eliminate some of the platform flavor-specific stylesheet selectors
-
- Extract OS version into WebInspector.platformFlavor
- https://bugs.webkit.org/show_bug.cgi?id=34469
-
- * inspector/front-end/InspectorBackendStub.js:
- * inspector/front-end/InspectorFrontendHostStub.js:
- (.WebInspector.InspectorFrontendHostStub.prototype.platform):
- * inspector/front-end/inspector.css:
- * inspector/front-end/inspector.js:
- (WebInspector.pendingDispatches.0.URLRegExp.i.get platform):
- (WebInspector.get platformFlavor):
- (WebInspector._detectPlatformFlavor):
- (WebInspector.loaded):
- (WebInspector.toolbarDragStart):
- (WebInspector.isMac):
-
-2010-02-02 Steve Block <steveblock@google.com>
-
- Reviewed by Ariya Hidayat.
-
- Adds utility functions for converting between JavaInstance and NPAPI types
- https://bugs.webkit.org/show_bug.cgi?id=34468
-
- This is required by Android for injecting objects into V8 JavaScript.
-
- No new tests, added utility functions only.
-
- * Android.v8bindings.mk: Modified. Added JavaNPObjectV8.cpp
- * bridge/jni/v8/JavaNPObjectV8.cpp: Added.
- (JSC::Bindings::AllocJavaNPObject):
- (JSC::Bindings::FreeJavaNPObject):
- (JSC::Bindings::):
- (JSC::Bindings::JavaInstanceToNPObject):
- (JSC::Bindings::ExtractJavaInstance):
- (JSC::Bindings::JavaNPObjectHasMethod):
- (JSC::Bindings::JavaNPObjectInvoke):
- (JSC::Bindings::JavaNPObjectHasProperty):
- (JSC::Bindings::JavaNPObjectGetProperty):
- * bridge/jni/v8/JavaNPObjectV8.h: Added.
-
-2010-02-02 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Ariya Hidayat.
-
- [Qt] Symbian plugins include a wrong header file for QPixmap
- https://bugs.webkit.org/show_bug.cgi?id=34475
-
- * plugins/symbian/PluginViewSymbian.cpp:
-
-2010-02-02 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: URLs are not syntax-higlighted as links in source view.
-
- This change enables linkifier in the NativeTextViewer. It adds
- "linkify" and "a_node" parse states into the highlighter in order
- to detect links and distinguish between resource and external ones.
- Contains drive-by fix for the webkit-html-* styles and moves them to the
- common location.
-
- https://bugs.webkit.org/show_bug.cgi?id=34364
-
- * inspector/front-end/NativeTextViewer.js:
- (WebInspector.NativeTextViewer):
- (WebInspector.NativeTextViewer.prototype._createSpan):
- (WebInspector.NativeTextViewer.prototype._createLink):
- (WebInspector.NativeTextViewer.prototype._rewriteHref):
- * inspector/front-end/SourceFrame.js:
- (WebInspector.SourceFrame.prototype.setContent):
- (WebInspector.SourceFrame.prototype._createEditorIfNeeded):
- * inspector/front-end/SourceHTMLTokenizer.js:
- (WebInspector.SourceHTMLTokenizer):
- (WebInspector.SourceHTMLTokenizer.prototype._isExpectingAttribute):
- (WebInspector.SourceHTMLTokenizer.prototype._isExpectingAttributeValue):
- (WebInspector.SourceHTMLTokenizer.prototype._setExpectingAttribute):
- (WebInspector.SourceHTMLTokenizer.prototype._setExpectingAttributeValue):
- (WebInspector.SourceHTMLTokenizer.prototype._stringToken):
- (WebInspector.SourceHTMLTokenizer.prototype._attrValueTokenType):
- (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
- * inspector/front-end/SourceHTMLTokenizer.re2js:
- * inspector/front-end/SourceView.js:
- (WebInspector.SourceView.prototype._contentLoaded):
- * inspector/front-end/TextEditorHighlighter.js:
- (WebInspector.TextEditorHighlighter):
- * inspector/front-end/inspector.css:
- * inspector/front-end/inspectorSyntaxHighlight.css:
-
-2010-02-02 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Ariya Hidayat.
-
- [Qt] Install libraries and headers in package builds
- https://bugs.webkit.org/show_bug.cgi?id=34325
-
- Add the QtWebKit libraries to the installable items, except on
- Symbian where the libraries are always linked in their final
- destination.
-
- Also include the headers generated by syncqt in the installation.
-
- * WebCore.pro:
-
-2010-02-02 Kavita Kanetkar <kkanetkar@chromium.org>
-
- Reviewed by Dmitry Titov.
-
- [V8] Raising an exception while setting timeout/interval from a detached frame
- https://bugs.webkit.org/show_bug.cgi?id=34453
- This fixes the issue/failing test mentioned in Chromium bug:
- http://code.google.com/p/chromium/issues/detail?id=32671
-
-
- * bindings/v8/custom/V8DOMWindowCustom.cpp:
- (WebCore::WindowSetTimeoutImpl):
-
-2010-02-02 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Port Screen
- https://bugs.webkit.org/show_bug.cgi?id=34299
-
- Get the screen size and depth from the main display bitmap.
-
- * platform/brew/ScreenBrew.cpp: Added.
- (WebCore::getDisplayInfo):
- (WebCore::screenRect):
- (WebCore::screenAvailableRect):
- (WebCore::screenDepth):
- (WebCore::screenDepthPerComponent):
- (WebCore::screenIsMonochrome):
-
-2010-02-02 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Port LocalizedStrings
- https://bugs.webkit.org/show_bug.cgi?id=34257
-
- Port LocalizedStrings to BREWMP.
-
- * platform/brew/LocalizedStringsBrew.cpp: Added.
- (WebCore::submitButtonDefaultLabel):
- (WebCore::inputElementAltText):
- (WebCore::resetButtonDefaultLabel):
- (WebCore::defaultLanguage):
- (WebCore::searchableIndexIntroduction):
- (WebCore::fileButtonChooseFileLabel):
- (WebCore::fileButtonNoFileSelectedLabel):
- (WebCore::contextMenuItemTagOpenLinkInNewWindow):
- (WebCore::contextMenuItemTagDownloadLinkToDisk):
- (WebCore::contextMenuItemTagCopyLinkToClipboard):
- (WebCore::contextMenuItemTagOpenImageInNewWindow):
- (WebCore::contextMenuItemTagDownloadImageToDisk):
- (WebCore::contextMenuItemTagCopyImageToClipboard):
- (WebCore::contextMenuItemTagOpenFrameInNewWindow):
- (WebCore::contextMenuItemTagCopy):
- (WebCore::contextMenuItemTagGoBack):
- (WebCore::contextMenuItemTagGoForward):
- (WebCore::contextMenuItemTagStop):
- (WebCore::contextMenuItemTagReload):
- (WebCore::contextMenuItemTagCut):
- (WebCore::contextMenuItemTagPaste):
- (WebCore::contextMenuItemTagNoGuessesFound):
- (WebCore::contextMenuItemTagIgnoreSpelling):
- (WebCore::contextMenuItemTagLearnSpelling):
- (WebCore::contextMenuItemTagSearchWeb):
- (WebCore::contextMenuItemTagLookUpInDictionary):
- (WebCore::contextMenuItemTagOpenLink):
- (WebCore::contextMenuItemTagIgnoreGrammar):
- (WebCore::contextMenuItemTagSpellingMenu):
- (WebCore::contextMenuItemTagShowSpellingPanel):
- (WebCore::contextMenuItemTagCheckSpelling):
- (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
- (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
- (WebCore::contextMenuItemTagFontMenu):
- (WebCore::contextMenuItemTagBold):
- (WebCore::contextMenuItemTagItalic):
- (WebCore::contextMenuItemTagUnderline):
- (WebCore::contextMenuItemTagOutline):
- (WebCore::contextMenuItemTagWritingDirectionMenu):
- (WebCore::contextMenuItemTagDefaultDirection):
- (WebCore::contextMenuItemTagLeftToRight):
- (WebCore::contextMenuItemTagRightToLeft):
- (WebCore::contextMenuItemTagInspectElement):
- (WebCore::searchMenuNoRecentSearchesText):
- (WebCore::searchMenuRecentSearchesText):
- (WebCore::searchMenuClearRecentSearchesText):
- (WebCore::unknownFileSizeText):
- (WebCore::AXWebAreaText):
- (WebCore::AXLinkText):
- (WebCore::AXListMarkerText):
- (WebCore::AXImageMapText):
- (WebCore::AXHeadingText):
- (WebCore::imageTitle):
- (WebCore::contextMenuItemTagTextDirectionMenu):
- (WebCore::AXButtonActionVerb):
- (WebCore::AXTextFieldActionVerb):
- (WebCore::AXRadioButtonActionVerb):
- (WebCore::AXCheckedCheckBoxActionVerb):
- (WebCore::AXUncheckedCheckBoxActionVerb):
- (WebCore::AXLinkActionVerb):
- (WebCore::AXMenuListPopupActionVerb):
- (WebCore::AXMenuListActionVerb):
- (WebCore::AXDefinitionListTermText):
- (WebCore::AXDefinitionListDefinitionText):
- (WebCore::validationMessageValueMissingText):
- (WebCore::validationMessageTypeMismatchText):
- (WebCore::validationMessagePatternMismatchText):
- (WebCore::validationMessageTooLongText):
- (WebCore::validationMessageRangeUnderflowText):
- (WebCore::validationMessageRangeOverflowText):
- (WebCore::validationMessageStepMismatchText):
-
-2010-02-02 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Port systemBeep
- https://bugs.webkit.org/show_bug.cgi?id=33601
-
- Implement systemBeep with IShell_Beep.
-
- * platform/brew/SoundBrew.cpp: Added.
- (WebCore::systemBeep):
-
-2010-02-02 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Eric Seidel.
-
- [Win] Utilize PrintContext to share the printing code with other ports
- https://bugs.webkit.org/show_bug.cgi?id=34312
-
- No new tests as this is just a small refactoring.
-
-2010-02-02 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Add conversions between IntPoint and AEEPoint
- https://bugs.webkit.org/show_bug.cgi?id=34194
-
- Make it easy to convert between IntPoint and AEEPoint.
-
- * platform/graphics/IntPoint.h:
- * platform/graphics/brew/IntPointBrew.cpp: Added.
- (WebCore::IntPoint::IntPoint):
- (WebCore::IntPoint::operator AEEPoint):
-
-2010-02-02 Steve Block <steveblock@google.com>
-
- Reviewed by Adam Barth.
-
- Adds virtual destructors for AbstractWeakReferenceMap and AbstractWeakReferenceMap::Visitor
- https://bugs.webkit.org/show_bug.cgi?id=34434
-
- No new tests, build fix only.
-
- * bindings/v8/V8DOMMap.h: Modified.
- (WebCore::AbstractWeakReferenceMap::~AbstractWeakReferenceMap): Added.
- (WebCore::AbstractWeakReferenceMap::Visitor::~Visitor): Added.
-
-2010-02-02 Avi Drissman <avi@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Sync up Chromium Mac render theme to Mac render theme
- https://bugs.webkit.org/show_bug.cgi?id=34340
-
- Covered by existing layout tests.
-
- * platform/chromium/ThemeChromiumMac.mm:
- (WebCore::updateStates):
- (WebCore::checkbox):
- (WebCore::paintCheckbox):
- (WebCore::radio):
- (WebCore::paintRadio):
- (WebCore::listButtonSizes):
- (WebCore::setupButtonCell):
- (WebCore::button):
- (WebCore::paintButton):
- (WebCore::ThemeChromiumMac::controlSize):
- (WebCore::ThemeChromiumMac::minimumControlSize):
- (WebCore::ThemeChromiumMac::controlBorder):
- (WebCore::ThemeChromiumMac::paint):
- * rendering/RenderThemeChromiumMac.h:
- * rendering/RenderThemeChromiumMac.mm:
- (-[WebCoreRenderThemeNotificationObserver initWithTheme:WebCore::]):
- (WebCore::convertNSColorToColor):
- (WebCore::RenderThemeChromiumMac::systemColor):
- (WebCore::RenderThemeChromiumMac::isControlStyled):
- (WebCore::RenderThemeChromiumMac::adjustRepaintRect):
- (WebCore::RenderThemeChromiumMac::convertToPaintingRect):
- (WebCore::RenderThemeChromiumMac::paintCapsLockIndicator):
- (WebCore::RenderThemeChromiumMac::paintMenuList):
- (WebCore::RenderThemeChromiumMac::paintMenuListButton):
- (WebCore::RenderThemeChromiumMac::adjustMenuListStyle):
- (WebCore::RenderThemeChromiumMac::adjustMenuListButtonStyle):
- (WebCore::RenderThemeChromiumMac::paintSliderTrack):
- (WebCore::RenderThemeChromiumMac::paintSliderThumb):
- (WebCore::RenderThemeChromiumMac::paintSearchField):
- (WebCore::RenderThemeChromiumMac::setSearchFieldSize):
- (WebCore::RenderThemeChromiumMac::adjustSearchFieldStyle):
- (WebCore::RenderThemeChromiumMac::paintSearchFieldResultsButton):
- (WebCore::RenderThemeChromiumMac::adjustSliderThumbSize):
- (WebCore::RenderThemeChromiumMac::popupButton):
- (WebCore::RenderThemeChromiumMac::sliderThumbHorizontal):
- (WebCore::RenderThemeChromiumMac::sliderThumbVertical):
-
-2010-02-02 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Port Logging
- https://bugs.webkit.org/show_bug.cgi?id=34300
-
- Log calls to notImplemented() by default.
-
- * platform/brew/LoggingBrew.cpp: Added.
- (WebCore::InitializeLoggingChannelsIfNecessary):
-
-2010-02-02 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Port FileChooser
- https://bugs.webkit.org/show_bug.cgi?id=34261
-
- Port FileChooser to BREWMP.
-
- * platform/brew/FileChooserBrew.cpp: Added.
- (WebCore::FileChooser::basenameForWidth):
-
-2010-02-01 Zoltan Horvath <zoltan@webkit.org>
-
- Reviewed by Darin Adler.
-
- Allow custom memory allocation control for IconDatabaseClient class
- https://bugs.webkit.org/show_bug.cgi?id=33252
-
- Inherits the following struct from Noncopyable because it is
- instantiated by 'new' and no need to be copyable:
-
- class name - instantiated at: WebCore/'location'
- class IconDatabaseClient - loader/icon/IconDatabase.cpp:89
-
- * loader/icon/IconDatabaseClient.h:
-
-2010-02-01 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Port MIMETypeRegistry
- https://bugs.webkit.org/show_bug.cgi?id=34220
-
- Port MIMETypeRegistry with an extension map as other ports do.
-
- * platform/brew: Added.
- * platform/brew/MIMETypeRegistryBrew.cpp: Added.
- (WebCore::):
- (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
-
-2010-02-01 Dmitry Titov <dimich@chromium.org>
-
- Not reviewed, revert r54194 that fails new test on Qt and Chromium.
- https://bugs.webkit.org/show_bug.cgi?id=34382
-
- * html/HTMLFrameElementBase.cpp:
- (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
- (WebCore::HTMLFrameElementBase::insertedIntoDocument):
- * html/HTMLFrameElementBase.h:
- * page/Frame.cpp:
- * page/Frame.h:
-
-2010-02-01 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Provide a way to get page number with layoutTestController
- https://bugs.webkit.org/show_bug.cgi?id=33840
-
- Test: printing/page-break-always.html
-
- * WebCore.base.exp:
- * WebCore.xcodeproj/project.pbxproj:
- * page/PrintContext.cpp:
- (WebCore::PrintContext::pageRect): Added a getter function.
- (WebCore::PrintContext::computePageRects): Move its logic into computePageRectsWithPageSize.
- (WebCore::PrintContext::computePageRectsWithPageSize): Factored out from computePageRects for pageNumberForElement.
- (WebCore::enclosingBoxModelObject): Added for pageNumberForElement.
- (WebCore::PrintContext::pageNumberForElement): Added for testing.
- * page/PrintContext.h:
-
-2010-02-01 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Add conversions between IntSize and AEESize
- https://bugs.webkit.org/show_bug.cgi?id=34197
-
- Make it easy to convert between IntSize and AEESize.
-
- * platform/graphics/IntSize.h:
- * platform/graphics/brew/IntSizeBrew.cpp: Added.
- (WebCore::IntSize::IntSize):
- (WebCore::IntSize::operator AEESize):
-
-2010-02-01 Stephen White <senorblanco@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Fix for Pattern transformations in Chromium/Skia. This required
- reworking Pattern a bit to be more like the Gradient implementation.
- In particular, it now holds an m_pattern reference to the
- platform-specific implementation, and passes along changes to the
- m_patternSpaceTransformation, in the same way that Gradient does for
- m_gradientSpaceTransformation. This is necessary since Skia creates the
- platform-specific pattern (SkShader) once, rather than recreating it
- on each draw.
- For platforms other than Skia, m_pattern is unused, they will
- continue to use the static createPlatformPattern(), and the new
- notification functions are stubbed out. Other platforms can switch to
- the new implementation if they so choose.
-
- https://bugs.webkit.org/show_bug.cgi?id=24534
-
- Covered by svg/custom/pattern-y-offset.svg,
- svg/custom/pattern-cycle-detection.svg, and many more.
-
- * platform/graphics/Pattern.cpp:
- (WebCore::Pattern::Pattern):
- Initializer for m_pattern.
- (WebCore::Pattern::~Pattern):
- call platformDestroy().
- (WebCore::Pattern::setPatternSpaceTransform):
- Pass along the transform via setPlatformPatternSpaceTransform().
- (WebCore::Pattern::platformDestroy):
- (WebCore::Pattern::setPlatformPatternSpaceTransform):
- Stub implementations for non-skia platforms.
- * platform/graphics/Pattern.h:
- * platform/graphics/skia/GraphicsContextSkia.cpp:
- (WebCore::GraphicsContext::setPlatformFillPattern):
- (WebCore::GraphicsContext::setPlatformStrokePattern):
- Call platformPattern() instead of static version.
- Since Pattern now owns its SkShader, no need to unref here.
- * platform/graphics/skia/PatternSkia.cpp:
- (WebCore::Pattern::platformDestroy):
- Unref the SkShader on destroy.
- (WebCore::Pattern::platformPattern):
- Create the platform pattern (SkShader) once, and cache it.
- (WebCore::Pattern::setPlatformPatternSpaceTransform):
- Set the shader's local matrix from the m_patternSpaceTransformation.
-
-2010-02-01 Daniel Bates <dbates@webkit.org>
-
- Reviewed by Adam Barth.
-
- https://bugs.webkit.org/show_bug.cgi?id=27312
-
- Implements support for full page blocking via the X-XSS-Protection header.
-
- Tests: http/tests/security/xssAuditor/full-block-base-href.html
- http/tests/security/xssAuditor/full-block-get-from-iframe.html
- http/tests/security/xssAuditor/full-block-iframe-javascript-url.html
- http/tests/security/xssAuditor/full-block-iframe-no-inherit.php
- http/tests/security/xssAuditor/full-block-javascript-link.html
- http/tests/security/xssAuditor/full-block-link-onclick.html
- http/tests/security/xssAuditor/full-block-object-tag.html
- http/tests/security/xssAuditor/full-block-post-from-iframe.html
- http/tests/security/xssAuditor/full-block-script-tag-with-source.html
- http/tests/security/xssAuditor/full-block-script-tag.html
- http/tests/security/xssAuditor/malformed-xss-protection-header.html
-
- * page/XSSAuditor.cpp:
- (WebCore::XSSAuditor::shouldFullPageBlockForXSSProtectionHeader): Added.
- (WebCore::XSSAuditor::findInRequest): Modified to call method
- XSSAuditor::shouldFullPageBlockForXSSProtectionHeader.
- * page/XSSAuditor.h: Defined method shouldFullPageBlockForXSSProtectionHeader
- and fixed misspelled words in large comment block.
-
-2010-02-01 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Eric Seidel.
-
- [BREWMP] Port SharedTimer with IShell_SetTimerEx.
- https://bugs.webkit.org/show_bug.cgi?id=33599
-
- As fireTime passed in setSharedTimerFireTime is the absolute time,
- we must calcalute the interval by subtracting currentTime() from
- fireTime and pass the result to ISHELL_SetTimerEx.
-
- * platform/brew/SharedTimerBrew.cpp: Added.
- (WebCore::invokeCallback):
- (WebCore::setSharedTimerFiredFunction):
- (WebCore::setSharedTimerFireTime):
- (WebCore::stopSharedTimer):
-
-2010-02-01 Shinichiro Hamaji <hamaji@chromium.org>
-
- [Chromium] Unreviewed attempt to fix the chromium build.
-
- Corresponding change: http://trac.webkit.org/changeset/54182
-
- * bindings/scripts/CodeGeneratorV8.pm:
- * bindings/v8/ScriptController.cpp:
- (WebCore::ScriptController::processingUserGesture):
- * bindings/v8/ScriptController.h:
-
-2010-02-01 Dmitry Titov <dimich@chromium.org>
-
- Reviewed by David Levin.
-
- When a live iframe element is moved between pages, it still depends on the old page.
- https://bugs.webkit.org/show_bug.cgi?id=34382
-
- Test: fast/frames/iframe-reparenting-new-page.html
-
- * html/HTMLFrameElementBase.cpp:
- (WebCore::HTMLFrameElementBase::setName):
- Move the code setting the frame name into a separate function.
-
- (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
- (WebCore::HTMLFrameElementBase::updateLiveFrame):
- Update frame tree, reset page in the contentFrame and re-set the name.
-
- (WebCore::HTMLFrameElementBase::insertedIntoDocument):
- * html/HTMLFrameElementBase.h:
-
- * page/Frame.cpp:
- (WebCore::Frame::setPage):
- * page/Frame.h: Add setPage method. It is only currently used when iframe is
- moved between pages (so the ASSERT(m_ownerElement).
-
-2010-02-01 Brady Eidson <beidson@apple.com>
-
- Reviewed by Tim Hatcher.
-
- Add common IRC ports to port blocking.
- <rdar://problem/7593895> and https://bugs.webkit.org/show_bug.cgi?id=34451
-
- * platform/KURL.cpp:
- (WebCore::portAllowed):
-
-2010-01-29 Jeremy Orlow <jorlow@chromium.org>
-
- Reviewed by Nate Chapin.
-
- [V8] Add compile time guards for IndexedDB custom functions
- https://bugs.webkit.org/show_bug.cgi?id=34368
-
- * bindings/v8/custom/V8IDBRequestCustom.cpp:
- * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp:
-
-2010-01-29 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Sam Weinig + Oliver Hunt.
-
- Bug 34346 - With JSC bindings, make processingUserGesture work with events in Isolated Worlds
-
- Change HTMLMediaElement methods that require checking whether the event is a user gesture to
- be passed a boolean. This may be passed from the JSC bindings (where we have an exec state),
- or read from the event. Add a Flag to the IDL to mark this information is required.
-
- * WebCore.Video.exp:
- * bindings/js/JSDOMBinding.cpp:
- (WebCore::processingUserGesture):
- * bindings/js/JSDOMWindowCustom.cpp:
- (WebCore::domWindowAllowPopUp):
- (WebCore::JSDOMWindow::open):
- (WebCore::JSDOMWindow::showModalDialog):
- * bindings/js/JSDocumentCustom.cpp:
- (WebCore::JSDocument::setLocation):
- * bindings/js/ScriptController.cpp:
- (WebCore::ScriptController::processingUserGesture):
- (WebCore::ScriptController::processingUserGestureEvent):
- (WebCore::ScriptController::anyPageIsProcessingUserGesture):
- * bindings/js/ScriptController.h:
- * bindings/scripts/CodeGeneratorJS.pm:
- * dom/Event.cpp:
- (WebCore::Event::isUserEvent):
- * dom/Event.h:
- * html/HTMLMediaElement.cpp:
- (WebCore::HTMLMediaElement::removedFromDocument):
- (WebCore::HTMLMediaElement::load):
- (WebCore::HTMLMediaElement::play):
- (WebCore::HTMLMediaElement::pause):
- (WebCore::HTMLMediaElement::beginScrubbing):
- (WebCore::HTMLMediaElement::documentDidBecomeActive):
- (WebCore::HTMLMediaElement::webkitEnterFullScreen):
- * html/HTMLMediaElement.h:
- * html/HTMLMediaElement.idl:
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::isProcessingUserGesture):
- * loader/MediaDocument.cpp:
- (WebCore::MediaDocument::defaultEventHandler):
- * page/DOMWindow.cpp:
- (WebCore::DOMWindow::allowPopUp):
- * rendering/MediaControlElements.cpp:
- (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
-
-2010-02-01 Andreas Kling <andreas.kling@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Use the fallback style on Maemo 5
-
- https://bugs.webkit.org/show_bug.cgi?id=34376
-
- * platform/qt/RenderThemeQt.cpp:
- (WebCore::RenderThemeQt::RenderThemeQt):
- (WebCore::RenderThemeQt::fallbackStyle):
- (WebCore::RenderThemeQt::qStyle):
- (WebCore::RenderThemeQt::setPaletteFromPageClientIfExists):
- * platform/qt/RenderThemeQt.h:
-
-2010-02-01 Kavita Kanetkar <kkanetkar@chromium.org>
-
- Reviewed by Nate Chapin.
-
- [V8] Making V8 generated classes' GetTemplate() function public
- https://bugs.webkit.org/show_bug.cgi?id=34026
-
- * bindings/scripts/CodeGeneratorV8.pm: Generated code need not depend on V8CustomBinding.h, made GetTemplate() signature public.
-
-2010-02-01 Steve Block <steveblock@google.com>
-
- Reviewed by Ariya Hidayat.
-
- Adds V8-specific JNI bridge classes
- https://bugs.webkit.org/show_bug.cgi?id=34166
-
- This is the V8 equivalent of bridge/jni/jsc/JNIBridgeJSC.
-
- No new tests, build fix only.
-
- * Android.v8bindings.mk: Modified. Added JNIBridge.cpp and JNIBridgeV8.cpp
- * bridge/Bridge.h: Modified. Added missing include for Noncopyable.h
- * bridge/jni/v8/JNIBridgeV8.cpp: Added.
- (JavaField::JavaField):
- * bridge/jni/v8/JNIBridgeV8.h: Added.
- (JSC::Bindings::JavaField::name):
- (JSC::Bindings::JavaField::type):
- (JSC::Bindings::JavaField::getJNIType):
-
-2010-02-01 Steve Block <steveblock@google.com>
-
- Reviewed by Ariya Hidayat.
-
- Adds V8-specific JNI utility functions.
- https://bugs.webkit.org/show_bug.cgi?id=33901
-
- This is the V8 equivalent of bridge/jni/jsc/JNIUtilityPrivate.
-
- No new tests, build fix only.
-
- * Android.v8bindings.mk: Modified. Add JNIUtilityPrivate.cpp
- * bridge/jni/v8/JNIUtilityPrivate.cpp: Added.
- (JSC::Bindings::convertNPVariantToJValue):
- (JSC::Bindings::convertJValueToNPVariant):
- * bridge/jni/v8/JNIUtilityPrivate.h: Added.
-
-2010-02-01 Steve Block <steveblock@google.com>
-
- Reviewed by Ariya Hidayat.
-
- Adds V8 version of JavaClass
- https://bugs.webkit.org/show_bug.cgi?id=33898
-
- This is the V8 equivalent of bridge/jni/jsc/JavaClassJSC
-
- No new tests, build fix only.
-
- * Android.v8bindings.mk: Modified. Added JavaClassV8.cpp
- * bridge/jni/v8/JavaClassV8.cpp: Added.
- (JavaClass::JavaClass):
- (JavaClass::~JavaClass):
- (JavaClass::methodsNamed):
- (JavaClass::fieldNamed):
- * bridge/jni/v8/JavaClassV8.h: Added.
-
-2010-02-01 Steve Block <steveblock@google.com>
-
- Reviewed by Ariya Hidayat.
-
- Adds V8 version of JavaInstance
- https://bugs.webkit.org/show_bug.cgi?id=33951
-
- This is the V8 equivalent of bridge/jni/jsc/JavaInstanceJSC.
- Also fixes a typo in a comment in JavaInstanceJSC.cpp.
-
- No new tests, build fix only.
-
- * Android.v8bindings.mk: Modified. Added JavaInstanceV8.cpp
- * bridge/jni/jsc/JavaInstanceJSC.cpp: Modified.
- (JavaInstance::invokeMethod): Modified. Fixed comment
- * bridge/jni/v8/JavaInstanceV8.cpp: Added.
- (JavaInstance::JavaInstance):
- (JavaInstance::~JavaInstance):
- (JavaInstance::getClass):
- (JavaInstance::invokeMethod):
- (JObjectWrapper::JObjectWrapper):
- (JObjectWrapper::~JObjectWrapper):
- * bridge/jni/v8/JavaInstanceV8.h: Added.
- (JSC::Bindings::JObjectWrapper::instance):
- (JSC::Bindings::JObjectWrapper::setInstance):
- (JSC::Bindings::JObjectWrapper::ref):
- (JSC::Bindings::JObjectWrapper::deref):
- (JSC::Bindings::JavaInstance::javaInstance):
- (JSC::Bindings::JavaInstance::begin):
- (JSC::Bindings::JavaInstance::end):
- (JSC::Bindings::JavaInstance::virtualBegin):
- (JSC::Bindings::JavaInstance::virtualEnd):
-
-2010-02-01 Dumitru Daniliuc <dumi@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Making sure that all in-progress transactions are rolled back on
- the database thread before they're destroyed. Otherwise,
- SQLiteTransaction's destructor will try to do a rollback and that
- would cause an assertion failure, if the object is not destroyed
- on the DB thread.
-
- https://bugs.webkit.org/show_bug.cgi?id=34152
-
- * platform/sql/SQLiteTransaction.cpp:
- (WebCore::SQLiteTransaction::stop):
- * storage/SQLTransaction.cpp:
- (WebCore::SQLTransaction::notifyDatabaseThreadIsShuttingDown):
- * storage/SQLTransaction.h:
- * storage/SQLTransactionCoordinator.cpp:
- (WebCore::SQLTransactionCoordinator::shutdown):
-
-2010-02-01 Sam Weinig <sam@webkit.org>
-
- Reviewed by Beth Dakin.
-
- Fix EXPERIMENTAL_SINGLE_VIEW_MODE build.
-
- * page/EventHandler.h:
- * page/mac/EventHandlerMac.mm:
- (WebCore::EventHandler::currentNSEvent):
- (WebCore::EventHandler::currentKeyboardEvent):
- (WebCore::EventHandler::mouseDown):
- (WebCore::EventHandler::mouseDragged):
- (WebCore::EventHandler::mouseUp):
- (WebCore::EventHandler::mouseMoved):
- (WebCore::EventHandler::keyEvent):
- (WebCore::EventHandler::wheelEvent):
- (WebCore::EventHandler::sendContextMenuEvent):
- (WebCore::EventHandler::eventMayStartDrag):
- (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking):
-
-2010-02-01 Nate Chapin <japhet@chromium.org>
-
- Unreviewed, Chromium build fix.
-
- Failed to properly add new files for http://trac.webkit.org/changeset/54150.
-
- * bindings/v8/custom/V8BarInfoCustom.cpp: Added.
- * bindings/v8/custom/V8CSSRuleCustom.cpp: Added.
- * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Added.
- * bindings/v8/custom/V8CSSValueCustom.cpp: Added.
- * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp: Added.
- * bindings/v8/custom/V8DOMSelectionCustom.cpp: Added.
- * bindings/v8/custom/V8HTMLElementCustom.cpp: Added.
- * bindings/v8/custom/V8SVGDocumentCustom.cpp: Added.
- * bindings/v8/custom/V8SVGElementCustom.cpp: Added.
- * bindings/v8/custom/V8SVGPathSegCustom.cpp: Added.
- * bindings/v8/custom/V8ScreenCustom.cpp: Added.
- * bindings/v8/custom/V8StyleSheetCustom.cpp: Added.
- * bindings/v8/custom/V8WebGLArrayCustom.cpp: Added.
-
-2010-01-27 Matt Perry <mpcomplete@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Add support for addUserScript to chromium port.
-
- * bindings/v8/ScriptController.cpp:
- (WebCore::ScriptController::evaluateInWorld):
- * bindings/v8/ScriptController.h:
-
-2010-02-01 Eric Carlson <eric.carlson@apple.com>
-
- Reviewed by Dan Bernstein.
-
- https://bugs.webkit.org/show_bug.cgi?id=34448
- <rdar://problem/7598130>
-
- RenderVideo::intrinsicSizeChanged infinite recursion
-
- * rendering/RenderImage.h:
- (WebCore::RenderImage::intrinsicSizeChanged): Make protected instead of private so it can
- be called by RenderVideo.
- * rendering/RenderVideo.cpp:
- (WebCore::RenderVideo::intrinsicSizeChanged): Call RenderMedia::intrinsicSizeChanged, not
- RenderVideo::intrinsicSizeChanged.
- (WebCore::RenderVideo::imageChanged): Call RenderMedia::imageChanged instead of
- RenderImage::imageChanged.
-
-2010-02-01 Nate Chapin <japhet@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [V8] Generate toV8() converter for most WebCore->V8 conversions,
- and defined custom converters in their respective V8<class>Custom.cpp.
-
- Old converters in V8DOMWrapper will be deleted in a later patch.
-
- https://bugs.webkit.org/show_bug.cgi?id=32563
-
- * Android.v8bindings.mk:
- * WebCore.gyp/WebCore.gyp:
- * WebCore.gypi:
- * bindings/scripts/CodeGeneratorV8.pm:
- * bindings/v8/V8Collection.h:
- * bindings/v8/V8DOMWrapper.cpp:
- * bindings/v8/V8DOMWrapper.h:
- * bindings/v8/V8Proxy.h:
- * bindings/v8/custom/V8BarInfoCustom.cpp: Added.
- * bindings/v8/custom/V8CSSRuleCustom.cpp: Added.
- * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Added.
- * bindings/v8/custom/V8CSSValueCustom.cpp: Added.
- * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp: Added.
- * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
- * bindings/v8/custom/V8ConsoleCustom.cpp:
- * bindings/v8/custom/V8DOMSelectionCustom.cpp: Added.
- * bindings/v8/custom/V8DOMWindowCustom.cpp:
- * bindings/v8/custom/V8DocumentCustom.cpp:
- * bindings/v8/custom/V8ElementCustom.cpp:
- * bindings/v8/custom/V8EventCustom.cpp:
- * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
- * bindings/v8/custom/V8HTMLElementCustom.cpp: Added.
- * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
- * bindings/v8/custom/V8HistoryCustom.cpp:
- * bindings/v8/custom/V8LocationCustom.cpp:
- * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
- * bindings/v8/custom/V8NavigatorCustom.cpp:
- * bindings/v8/custom/V8NodeCustom.cpp:
- * bindings/v8/custom/V8SVGDocumentCustom.cpp: Added.
- * bindings/v8/custom/V8SVGElementCustom.cpp: Added.
- * bindings/v8/custom/V8SVGPathSegCustom.cpp: Added.
- * bindings/v8/custom/V8ScreenCustom.cpp: Added.
- * bindings/v8/custom/V8StyleSheetCustom.cpp: Added.
- * bindings/v8/custom/V8TreeWalkerCustom.cpp:
- * bindings/v8/custom/V8WebGLArrayCustom.cpp: Added.
- * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
- * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
- * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
- * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
- * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
- * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
- * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
- * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
- * dom/make_names.pl: Add options to generate wrapper factory for V8 bindings.
-
-2010-02-01 Alexander Pavlov <apavlov@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: lazy-load textual resources to avoid UI hangup
- https://bugs.webkit.org/show_bug.cgi?id=34332
-
- * inspector/front-end/ResourceView.js:
- (WebInspector.ResourceView.prototype._innerSelectContentTab):
- * inspector/front-end/SourceView.js:
- (WebInspector.SourceView.prototype.show):
- (WebInspector.SourceView.prototype.contentTabSelected):
-
-2010-02-01 Brady Eidson <beidson@apple.com>
-
- Reviewed by Adele Peterson.
-
- Crash in Safari opening new tabs to "same page"
- <rdar://problem/7593857> and https://bugs.webkit.org/show_bug.cgi?id=34444
-
- Test: fast/loader/crash-copying-backforwardlist.html
-
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::loadItem): Null check currentItem().
-
- * page/Page.cpp:
- (WebCore::Page::goToItem): Ditto.
-
-2010-02-01 Kevin Watters <kevinwatters@gmail.com>
-
- Reviewed by Kevin Ollivier.
-
- [wx] Remove unused file that doesn't seem to belong to the port.
+ WKCAImageQueue is a simple C++ wrapper around the WebKitSystemInterface CAImageQueue functions.
- https://bugs.webkit.org/show_bug.cgi?id=34445
-
- * platform/wx/KeyEventWin.cpp: Removed.
-
-2010-02-01 Eric Carlson <eric.carlson@apple.com>
-
- Reviewed by Adele Peterson.
-
- Fullscreen API should be on HTMLVideoElement
- https://bugs.webkit.org/show_bug.cgi?id=34438
+ MediaPlayerPrivateQuickTimeVisualContext will now use a CAImageQueue to display movie frames if
+ certain prerequisites are met (QuartzCore.dll and CoreVideo.dll version numbers must meet a certain
+ threshold defined in MediaPlayerPrivateQuickTimeVisualContext.cpp).
- Move fullscreen DOM APIs from HTMLMediaElement to HTMLVideoElement.
-
- * html/HTMLMediaElement.cpp:
- * html/HTMLMediaElement.h:
- * html/HTMLMediaElement.idl:
- * html/HTMLVideoElement.cpp:
- (WebCore::HTMLVideoElement::paint): Removed outdated FIXME.
- (WebCore::HTMLVideoElement::paintCurrentFrameInContext): Ditto.
- (WebCore::HTMLVideoElement::webkitEnterFullScreen): Moved from HTMLMediaElement.
- (WebCore::HTMLVideoElement::webkitExitFullScreen): Ditto.
- (WebCore::HTMLVideoElement::webkitSupportsFullscreen): Ditto.
- (WebCore::HTMLVideoElement::webkitDisplayingFullscreen): Ditto.
- * html/HTMLVideoElement.h:
- * html/HTMLVideoElement.idl:
-
-2010-02-01 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Syntax highlighting in source view of
- Resources pane stops half-way.
-
- There were two problems here: (1) styles for html highlighter were not
- added into the css file (they used to be injected manually in the
- SourceFrame before). (2) 'Tag' needed to be lexer's state, not parser's.
- Otherwise unbalanced quotes in the text nodes were matching too match
- into the string tokens.
-
- https://bugs.webkit.org/show_bug.cgi?id=34359
-
- * inspector/front-end/NativeTextViewer.js:
- (WebInspector.NativeTextViewer.prototype._createLineDivs):
- (WebInspector.NativeTextViewer.prototype._lineHeight):
- (WebInspector.NativeTextViewer.prototype.initFontMetrics):
- * inspector/front-end/SourceFrame.js:
- (WebInspector.SourceFrame.prototype._createEditorIfNeeded):
- * inspector/front-end/SourceHTMLTokenizer.js:
- (WebInspector.SourceHTMLTokenizer):
- (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
- * inspector/front-end/SourceHTMLTokenizer.re2js:
- * inspector/front-end/TextEditor.js:
- (WebInspector.TextEditor.prototype.initFontMetrics):
- (WebInspector.TextEditor.prototype._registerShortcuts):
- * inspector/front-end/inspectorSyntaxHighlight.css:
-
-2010-02-01 Ben Murdoch <benm@google.com>
-
- Reviewed by Darin Adler.
-
- ScriptCallFrame's do not get line numbers/source id's if the caller is unkown.
- https://bugs.webkit.org/show_bug.cgi?id=34335
-
- * bindings/js/ScriptCallStack.cpp:
- (WebCore::ScriptCallStack::ScriptCallStack): If the caller is unknown, the line number and source information is still available so pass it to the ScriptCallFrame being constructed.
-
-2010-02-01 Dirk Schulze <krit@webkit.org>
-
- Reviewed by Simon Fraser.
-
- Add back an AffineTransform class for use by SVG
- https://bugs.webkit.org/show_bug.cgi?id=33750
-
- These are the first steps on reimplementing AffineTransform. Unlike
- the old affine code, this one is platform independent like TransformationMatrix.
- AffineTransform has the benefit, that it stores just 6 doubles instead of
- 16 in TransformationMatrix. The calculations of transformations are not that
- complex and can improve the memory usage and speed of SVG.
- AffineTransform can be used by HTML Canvas3D or SVG, since they are 2D related (at
- least for the moment).
- HTML Canvas is the first that makes use of the new AffineTransform. Next patches
- will introduce the affine code to SVG.
-
- No new tests. The new AffineTransformation code is tested by fast/canvas.
-
- * Android.mk:
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * html/canvas/CanvasRenderingContext2D.cpp:
- (WebCore::CanvasRenderingContext2D::scale):
- (WebCore::CanvasRenderingContext2D::rotate):
- (WebCore::CanvasRenderingContext2D::translate):
- (WebCore::CanvasRenderingContext2D::transform):
- (WebCore::CanvasRenderingContext2D::setTransform):
- (WebCore::CanvasRenderingContext2D::isPointInPath):
- (WebCore::CanvasRenderingContext2D::willDraw):
- * html/canvas/CanvasRenderingContext2D.h:
- * platform/graphics/GraphicsContext.h:
- * platform/graphics/Path.h:
- * platform/graphics/cairo/GraphicsContextCairo.cpp:
- (WebCore::GraphicsContext::getAffineCTM):
- (WebCore::GraphicsContext::concatCTM):
- * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
- (WebCore::GraphicsContextPlatformPrivate::concatCTM):
- * platform/graphics/cairo/PathCairo.cpp:
- (WebCore::Path::transform):
- * platform/graphics/cairo/TransformationMatrixCairo.cpp:
- (WebCore::AffineTransform::operator cairo_matrix_t):
- * platform/graphics/cg/GraphicsContextCG.cpp:
- (WebCore::GraphicsContext::concatCTM):
- (WebCore::GraphicsContext::getAffineCTM):
- * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
- (WebCore::GraphicsContextPlatformPrivate::concatCTM):
- * platform/graphics/cg/PathCG.cpp:
- (WebCore::Path::transform):
- * platform/graphics/cg/TransformationMatrixCG.cpp:
- (WebCore::AffineTransform::operator CGAffineTransform):
- * platform/graphics/haiku/GraphicsContextHaiku.cpp:
- (WebCore::GraphicsContext::getAffineCTM):
- (WebCore::GraphicsContext::concatCTM):
- * platform/graphics/haiku/PathHaiku.cpp:
- (WebCore::Path::transform):
- * platform/graphics/qt/GraphicsContextQt.cpp:
- (WebCore::GraphicsContext::getAffineCTM):
- (WebCore::GraphicsContext::concatCTM):
- * platform/graphics/qt/PathQt.cpp:
- (WebCore::Path::transform):
- * platform/graphics/qt/TransformationMatrixQt.cpp:
- (WebCore::AffineTransform::operator QTransform):
- * platform/graphics/skia/GraphicsContextSkia.cpp:
- (WebCore::GraphicsContext::concatCTM):
- (WebCore::GraphicsContext::getAffineCTM):
- * platform/graphics/skia/PathSkia.cpp:
- (WebCore::Path::transform):
- * platform/graphics/skia/TransformationMatrixSkia.cpp:
- (WebCore::AffineTransform::operator SkMatrix):
- * platform/graphics/transforms/AffineTransform.cpp: Added.
- (WebCore::affineTransformDecompose):
- (WebCore::affineTransformCompose):
- (WebCore::AffineTransform::AffineTransform):
- (WebCore::AffineTransform::reset):
- (WebCore::AffineTransform::setMatrix):
- (WebCore::AffineTransform::isIdentity):
- (WebCore::AffineTransform::det):
- (WebCore::AffineTransform::isInvertible):
- (WebCore::AffineTransform::inverse):
- (WebCore::AffineTransform::multiply):
- (WebCore::AffineTransform::multLeft):
- (WebCore::AffineTransform::rotate):
- (WebCore::AffineTransform::scale):
- (WebCore::AffineTransform::translate):
- (WebCore::AffineTransform::scaleNonUniform):
- (WebCore::AffineTransform::rotateFromVector):
- (WebCore::AffineTransform::flipX):
- (WebCore::AffineTransform::flipY):
- (WebCore::AffineTransform::shear):
- (WebCore::AffineTransform::skew):
- (WebCore::AffineTransform::skewX):
- (WebCore::AffineTransform::skewY):
- (WebCore::makeMapBetweenRects):
- (WebCore::AffineTransform::map):
- (WebCore::AffineTransform::mapPoint):
- (WebCore::AffineTransform::mapRect):
- (WebCore::AffineTransform::blend):
- (WebCore::AffineTransform::toTransformationMatrix):
- * platform/graphics/transforms/AffineTransform.h: Added.
- (WebCore::AffineTransform::a):
- (WebCore::AffineTransform::setA):
- (WebCore::AffineTransform::b):
- (WebCore::AffineTransform::setB):
- (WebCore::AffineTransform::c):
- (WebCore::AffineTransform::setC):
- (WebCore::AffineTransform::d):
- (WebCore::AffineTransform::setD):
- (WebCore::AffineTransform::e):
- (WebCore::AffineTransform::setE):
- (WebCore::AffineTransform::f):
- (WebCore::AffineTransform::setF):
- (WebCore::AffineTransform::operator== ):
- (WebCore::AffineTransform::operator!=):
- (WebCore::AffineTransform::operator*=):
- (WebCore::AffineTransform::operator*):
- (WebCore::AffineTransform::setMatrix):
- * platform/graphics/win/GraphicsContextWin.cpp:
- (WebCore::GraphicsContextPlatformPrivate::concatCTM):
- * platform/graphics/wince/GraphicsContextWince.cpp:
- (WebCore::GraphicsContext::concatCTM):
- (WebCore::GraphicsContext::getAffineCTM):
- * platform/graphics/wx/GraphicsContextWx.cpp:
- (WebCore::GraphicsContext::getAffineCTM):
- (WebCore::GraphicsContext::concatCTM):
- * platform/graphics/wx/PathWx.cpp:
- (WebCore::Path::transform):
- * platform/graphics/wx/TransformationMatrixWx.cpp:
- (WebCore::AffineTransform::operator wxGraphicsMatrix):
-
-2010-01-29 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Eric Carlson.
-
- [GTK] set playbin mute property depending on volume value
- https://bugs.webkit.org/show_bug.cgi?id=31586
-
- New API in MediaPlayer for mute control. 3 new methods are
- introduced:
-
- - bool supportsMuting() const;
- - bool muted() const;
- - void setMuted(bool);
-
- Platform MediaPlayer implementations can support it easily if the
- underlying sound daemon/API supports muting (eg. not only setting
- volume to 0) like PulseAudio for instance on Linux. At the moment
- the only player supporting this new API is the
- MediaPlayerPrivateGStreamer.
-
- * html/HTMLMediaElement.cpp:
- (WebCore::HTMLMediaElement::setMuted):
- (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged):
- (WebCore::HTMLMediaElement::mediaPlayerMuteChanged):
- * html/HTMLMediaElement.h:
- * platform/graphics/MediaPlayer.cpp:
- (WebCore::NullMediaPlayerPrivate::supportsMuting):
- (WebCore::NullMediaPlayerPrivate::setMuted):
- (WebCore::MediaPlayer::MediaPlayer):
- (WebCore::MediaPlayer::muted):
- (WebCore::MediaPlayer::supportsMuting):
- (WebCore::MediaPlayer::setMuted):
- (WebCore::MediaPlayer::volumeChanged):
- (WebCore::MediaPlayer::muteChanged):
- * platform/graphics/MediaPlayer.h:
- (WebCore::MediaPlayerClient::mediaPlayerMuteChanged):
- * platform/graphics/MediaPlayerPrivate.h:
- (WebCore::MediaPlayerPrivateInterface::supportsMuting):
- (WebCore::MediaPlayerPrivateInterface::setMuted):
- * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
- (WebCore::mediaPlayerPrivateVolumeChangedCallback):
- (WebCore::notifyVolumeIdleCallback):
- (WebCore::mediaPlayerPrivateMuteChangedCallback):
- (WebCore::notifyMuteIdleCallback):
- (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
- (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
- (WebCore::MediaPlayerPrivate::volumeChangedCallback):
- (WebCore::MediaPlayerPrivate::volumeChanged):
- (WebCore::MediaPlayerPrivate::supportsMuting):
- (WebCore::MediaPlayerPrivate::setMuted):
- (WebCore::MediaPlayerPrivate::muteChangedCallback):
- (WebCore::MediaPlayerPrivate::muteChanged):
- (WebCore::MediaPlayerPrivate::createGSTPlayBin):
- * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
-
-2010-02-01 Henry Haverinen <henry.haverinen@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Build without SSL support is broken
-
- Added missing #ifdefs for OpenSSL support and one null-pointer
- check for the socket.
-
- https://bugs.webkit.org/show_bug.cgi?id=34416
-
- * platform/network/qt/SocketStreamHandlePrivate.h:
- * platform/network/qt/SocketStreamHandleQt.cpp:
- (WebCore::SocketStreamHandlePrivate::SocketStreamHandlePrivate):
- (WebCore::SocketStreamHandlePrivate::send):
-
-2010-02-01 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Fix rest of the NativeTextViewer (line numbers,
- conditional breakpoints, selection).
-
- * inspector/front-end/NativeTextViewer.js:
- (WebInspector.NativeTextViewer):
- (WebInspector.NativeTextViewer.prototype._updatePreferredSize):
- (WebInspector.NativeTextViewer.prototype._registerMouseListeners):
- (WebInspector.NativeTextViewer.prototype._mouseDown):
- (WebInspector.NativeTextViewer.prototype._contextMenu):
- (WebInspector.NativeTextViewer.prototype._lineForMouseEvent):
- (WebInspector.NativeTextViewer.prototype._lineHeight):
- * inspector/front-end/TextEditor.js:
- (WebInspector.TextEditor):
- (WebInspector.TextEditor.prototype._registerMouseListeners):
- (WebInspector.TextEditor.prototype._offsetToLine):
- (WebInspector.TextEditor.prototype._lineHeight):
- (WebInspector.TextEditor.prototype.reveal):
- (WebInspector.TextEditor.prototype._paint):
- (WebInspector.TextEditor.prototype._updateDivDecorations):
- (WebInspector.TextEditor.prototype._paintSelection):
-
-2010-02-01 Steve Block <steveblock@google.com>
-
- Reviewed by Ariya Hidayat.
-
- Adds implementation of JavaString for V8.
- https://bugs.webkit.org/show_bug.cgi?id=33953
-
- No new tests, build fix only.
-
- * bridge/jni/JNIBridge.h: Modified. Include JavaStringV8.h for V8
- * bridge/jni/v8: Added.
- * bridge/jni/v8/JavaStringV8.h: Added.
- (JSC::Bindings::JavaStringImpl::init):
- (JSC::Bindings::JavaStringImpl::UTF8String):
- (JSC::Bindings::JavaStringImpl::uchars):
- (JSC::Bindings::JavaStringImpl::length):
-
-2010-02-01 Alex Milowski <alex@milowski.com>
-
- Reviewed by Darin Adler.
-
- Added compile time debug support for mathml layout (block boundary & baseline)
-
- * mathml/RenderMathMLBlock.cpp:
- (WebCore::RenderMathMLBlock::stretchToHeight):
- (WebCore::RenderMathMLBlock::paint):
- * mathml/RenderMathMLBlock.h:
-
-2010-02-01 Philippe Normand <pnormand@igalia.com>
-
- Rubber stamped by Xan Lopez.
-
- Fixed compilation warning about unsigned vs signed comparison.
-
- * plugins/gtk/PluginViewGtk.cpp:
- (WebCore::PluginView::paint):
-
-2010-01-31 Kent Tamura <tkent@chromium.org>
-
- Unreviewed. Revert r54112 and r54124 because of Windows build error.
-
- * Android.mk:
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * html/canvas/CanvasRenderingContext2D.cpp:
- (WebCore::CanvasRenderingContext2D::scale):
- (WebCore::CanvasRenderingContext2D::rotate):
- (WebCore::CanvasRenderingContext2D::translate):
- (WebCore::CanvasRenderingContext2D::transform):
- (WebCore::CanvasRenderingContext2D::setTransform):
- (WebCore::CanvasRenderingContext2D::isPointInPath):
- (WebCore::CanvasRenderingContext2D::willDraw):
- * html/canvas/CanvasRenderingContext2D.h:
- * platform/graphics/GraphicsContext.h:
- * platform/graphics/Path.h:
- * platform/graphics/cairo/GraphicsContextCairo.cpp:
- * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
- * platform/graphics/cairo/PathCairo.cpp:
- * platform/graphics/cairo/TransformationMatrixCairo.cpp:
- * platform/graphics/cg/GraphicsContextCG.cpp:
- * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
- * platform/graphics/cg/PathCG.cpp:
- * platform/graphics/cg/TransformationMatrixCG.cpp:
- * platform/graphics/haiku/GraphicsContextHaiku.cpp:
- * platform/graphics/haiku/PathHaiku.cpp:
- * platform/graphics/qt/GraphicsContextQt.cpp:
- * platform/graphics/qt/PathQt.cpp:
- * platform/graphics/qt/TransformationMatrixQt.cpp:
- * platform/graphics/skia/GraphicsContextSkia.cpp:
- * platform/graphics/skia/PathSkia.cpp:
- * platform/graphics/skia/TransformationMatrixSkia.cpp:
- * platform/graphics/transforms/AffineTransform.cpp: Removed.
- * platform/graphics/transforms/AffineTransform.h: Removed.
- * platform/graphics/wince/GraphicsContextWince.cpp:
- * platform/graphics/wx/GraphicsContextWx.cpp:
- * platform/graphics/wx/PathWx.cpp:
- * platform/graphics/wx/TransformationMatrixWx.cpp:
- (WebCore::TransformationMatrix::operator wxGraphicsMatrix):
-
-2010-01-31 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Darin Adler.
-
- Limit the scope of packing alignment to avoid MSVC C4103 warning.
- https://bugs.webkit.org/show_bug.cgi?id=34390
-
- Use pack(push, 16) and pack(pop) to limit the scope of packing
- alignment change.
-
- * bindings/js/JSSVGPODTypeWrapper.h:
-
-2010-01-31 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Darin Adler.
-
- Fix valueAsNumber calculation for type=month.
- https://bugs.webkit.org/show_bug.cgi?id=34304
-
- valueAsNumber calculation for type=month which was checked in as
- r53893 was the number of milliseconds since UNIX epoch, and it was
- wrong. The correct way is the number months since UNIX epoch.
-
- * html/DateComponents.cpp:
- (WebCore::DateComponents::setMonthsSinceEpoch):
- (WebCore::DateComponents::monthsSinceEpoch):
- * html/DateComponents.h: Declare setMonthsSinceEpoch() and monthsSinceEpoch().
- * html/HTMLInputElement.cpp:
- (WebCore::HTMLInputElement::parseToDouble):
- Switch to monthsSinceEpoch() for type=MONTH.
- (WebCore::HTMLInputElement::valueAsDate):
- Add code with millisecondsSinceEpoch() for MONTH because
- parseToDouble() changed its behavior.
- (WebCore::HTMLInputElement::setValueAsNumber):
- Use setMonthsSinceEpoch() for MONTH.
-
-2010-01-31 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: REGRESSION: Numbers in bubbles are vertically off-center
- https://bugs.webkit.org/show_bug.cgi?id=34398
-
- * inspector/front-end/inspector.css: Specify line-height: normal for
- ".console-message .bubble" and ".sidebar-tree-item .status .bubble".
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
+ * platform/graphics/win/QTPixelBuffer.cpp:
+ * platform/graphics/win/QTPixelBuffer.h:
+ * platform/graphics/win/WKCACFLayer.cpp:
+ * platform/graphics/win/WKCACFLayer.h:
+ * platform/graphics/win/WKCAImageQueue.cpp: Added.
+ * platform/graphics/win/WKCAImageQueue.h: Added.
-2010-01-28 Ojan Vafai <ojan@chromium.org>
+2010-05-24 Brady Eidson <beidson@apple.com>
Reviewed by Darin Adler.
- Implement CSSOM Range.getClientRects for collapsed selections
- https://bugs.webkit.org/show_bug.cgi?id=34239
-
- When getting the quads for a range on a text node, allow returning
- zero width quads. This leaves the case of collapsed selections inside
- elements still not fixed, but no worse.
+ Database origins aren't populated at launch (missing db in prefs sheet, possible other symptoms)
+ <rdar://problem/8013233> and https://bugs.webkit.org/show_bug.cgi?id=39486
- * rendering/InlineTextBox.cpp:
- (WebCore::InlineTextBox::selectionRect):
- * rendering/RenderText.cpp:
- (WebCore::RenderText::absoluteQuadsForRange):
+ Currently, a Tracker needs to know it's path before origins are populated. Testing databases and
+ related features is made very difficult with this regression, so instead of changing things in a
+ complicated way to make this not the case, I've added an "initialize Tracker with this path" function
+ that calls the DatabaseTracker constructor with the initial path.
-2010-01-31 Oliver Hunt <oliver@apple.com>
+ I checked the other platforms besides Mac and Win, and none of them seem to perform the
+ "initialize databases if necessary" step in their init routines, so this change shouldn't effect them.
- Reviewed by Simon Fraser.
+ No new tests. (API specific layout test in DRT is forthcoming)
- Animated scaling of background-image is too slow
- https://bugs.webkit.org/show_bug.cgi?id=33808
-
- Implement a version of the RenderImage animated scaling optimisation
- for background images. Due to the possibility of arbitrary transforms
- being applied to containing elements we explicitly check the current
- CTM of the context for scaling or rotation.
-
- * platform/graphics/GraphicsContext.cpp:
- (WebCore::GraphicsContext::drawTiledImage):
- * platform/graphics/GraphicsContext.h:
- * platform/graphics/transforms/TransformationMatrix.h:
- (WebCore::TransformationMatrix::isIdentityOrTranslation):
- * rendering/RenderBoxModelObject.cpp:
- (WebCore::RenderBoxModelScaleData::RenderBoxModelScaleData):
- (WebCore::RenderBoxModelScaleData::~RenderBoxModelScaleData):
- (WebCore::RenderBoxModelScaleData::hiqhQualityRepaintTimer):
- (WebCore::RenderBoxModelScaleData::size):
- (WebCore::RenderBoxModelScaleData::setSize):
- (WebCore::RenderBoxModelScaleData::lastPaintTime):
- (WebCore::RenderBoxModelScaleData::setLastPaintTime):
- (WebCore::RenderBoxModelScaleData::useLowQualityScale):
- (WebCore::RenderBoxModelScaleData::transform):
- (WebCore::RenderBoxModelScaleData::setTransform):
- (WebCore::RenderBoxModelScaleData::setUseLowQualityScale):
- (WebCore::RenderBoxModelScaleObserver::boxModelObjectDestroyed):
- (WebCore::RenderBoxModelScaleObserver::highQualityRepaintTimerFired):
- (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality):
- (WebCore::RenderBoxModelObject::highQualityRepaintTimerFired):
- (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
- (WebCore::RenderBoxModelObject::paintFillLayerExtended):
- * rendering/RenderBoxModelObject.h:
-
-2010-01-31 Dirk Schulze <krit@webkit.org>
-
- Reviewed by Simon Fraser.
-
- Add back an AffineTransform class for use by SVG
- https://bugs.webkit.org/show_bug.cgi?id=33750
-
- These are the first steps on reimplementing AffineTransform. Unlike
- the old affine code, this one is platform independent like TransformationMatrix.
- AffineTransform has the benefit, that it stores just 6 doubles instead of
- 16 in TransformationMatrix. The calculations of transformations are not that
- complex and can improve the memory usage and speed of SVG.
- AffineTransform can be used by HTML Canvas3D or SVG, since they are 2D related (at
- least for the moment).
- HTML Canvas is the first that makes use of the new AffineTransform. Next patches
- will introduce the affine code to SVG.
-
- No new tests. The new AffineTransformation code is tested by fast/canvas.
-
- * Android.mk:
- * GNUmakefile.am:
- * WebCore.gypi:
- * WebCore.pro:
- * WebCore.vcproj/WebCore.vcproj:
- * WebCore.xcodeproj/project.pbxproj:
- * html/canvas/CanvasRenderingContext2D.cpp:
- (WebCore::CanvasRenderingContext2D::scale):
- (WebCore::CanvasRenderingContext2D::rotate):
- (WebCore::CanvasRenderingContext2D::translate):
- (WebCore::CanvasRenderingContext2D::transform):
- (WebCore::CanvasRenderingContext2D::setTransform):
- (WebCore::CanvasRenderingContext2D::isPointInPath):
- (WebCore::CanvasRenderingContext2D::willDraw):
- * html/canvas/CanvasRenderingContext2D.h:
- * platform/graphics/GraphicsContext.h:
- * platform/graphics/Path.h:
- * platform/graphics/cairo/GraphicsContextCairo.cpp:
- (WebCore::GraphicsContext::getAffineCTM):
- (WebCore::GraphicsContext::concatCTM):
- * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
- (WebCore::GraphicsContextPlatformPrivate::concatCTM):
- * platform/graphics/cairo/PathCairo.cpp:
- (WebCore::Path::transform):
- * platform/graphics/cairo/TransformationMatrixCairo.cpp:
- (WebCore::AffineTransform::operator cairo_matrix_t):
- * platform/graphics/cg/GraphicsContextCG.cpp:
- (WebCore::GraphicsContext::concatCTM):
- (WebCore::GraphicsContext::getAffineCTM):
- * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
- (WebCore::GraphicsContextPlatformPrivate::concatCTM):
- * platform/graphics/cg/PathCG.cpp:
- (WebCore::Path::transform):
- * platform/graphics/cg/TransformationMatrixCG.cpp:
- (WebCore::AffineTransform::operator CGAffineTransform):
- * platform/graphics/haiku/GraphicsContextHaiku.cpp:
- (WebCore::GraphicsContext::getAffineCTM):
- (WebCore::GraphicsContext::concatCTM):
- * platform/graphics/haiku/PathHaiku.cpp:
- (WebCore::Path::transform):
- * platform/graphics/qt/GraphicsContextQt.cpp:
- (WebCore::GraphicsContext::getAffineCTM):
- (WebCore::GraphicsContext::concatCTM):
- * platform/graphics/qt/PathQt.cpp:
- (WebCore::Path::transform):
- * platform/graphics/qt/TransformationMatrixQt.cpp:
- (WebCore::AffineTransform::operator QTransform):
- * platform/graphics/skia/GraphicsContextSkia.cpp:
- (WebCore::GraphicsContext::getAffineCTM):
- * platform/graphics/skia/PathSkia.cpp:
- (WebCore::Path::transform):
- * platform/graphics/skia/TransformationMatrixSkia.cpp:
- (WebCore::AffineTransform::operator SkMatrix):
- * platform/graphics/transforms/AffineTransform.cpp: Added.
- (WebCore::affineTransformDecompose):
- (WebCore::affineTransformCompose):
- (WebCore::AffineTransform::AffineTransform):
- (WebCore::AffineTransform::reset):
- (WebCore::AffineTransform::setMatrix):
- (WebCore::AffineTransform::isIdentity):
- (WebCore::AffineTransform::det):
- (WebCore::AffineTransform::isInvertible):
- (WebCore::AffineTransform::inverse):
- (WebCore::AffineTransform::multiply):
- (WebCore::AffineTransform::multLeft):
- (WebCore::AffineTransform::rotate):
- (WebCore::AffineTransform::scale):
- (WebCore::AffineTransform::translate):
- (WebCore::AffineTransform::scaleNonUniform):
- (WebCore::AffineTransform::rotateFromVector):
- (WebCore::AffineTransform::flipX):
- (WebCore::AffineTransform::flipY):
- (WebCore::AffineTransform::shear):
- (WebCore::AffineTransform::skew):
- (WebCore::AffineTransform::skewX):
- (WebCore::AffineTransform::skewY):
- (WebCore::makeMapBetweenRects):
- (WebCore::AffineTransform::map):
- (WebCore::AffineTransform::mapPoint):
- (WebCore::AffineTransform::mapRect):
- (WebCore::AffineTransform::blend):
- * platform/graphics/transforms/AffineTransform.h: Added.
- (WebCore::AffineTransform::a):
- (WebCore::AffineTransform::setA):
- (WebCore::AffineTransform::b):
- (WebCore::AffineTransform::setB):
- (WebCore::AffineTransform::c):
- (WebCore::AffineTransform::setC):
- (WebCore::AffineTransform::d):
- (WebCore::AffineTransform::setD):
- (WebCore::AffineTransform::e):
- (WebCore::AffineTransform::setE):
- (WebCore::AffineTransform::f):
- (WebCore::AffineTransform::setF):
- (WebCore::AffineTransform::operator== ):
- (WebCore::AffineTransform::operator!=):
- (WebCore::AffineTransform::operator*=):
- (WebCore::AffineTransform::operator*):
- (WebCore::AffineTransform::setMatrix):
- * platform/graphics/wince/GraphicsContextWince.cpp:
- (WebCore::GraphicsContext::concatCTM):
- (WebCore::GraphicsContext::getAffineCTM):
- * platform/graphics/wx/GraphicsContextWx.cpp:
- (WebCore::GraphicsContext::getAffineCTM):
- (WebCore::GraphicsContext::concatCTM):
- * platform/graphics/wx/PathWx.cpp:
- (WebCore::Path::transform):
- * platform/graphics/wx/TransformationMatrixWx.cpp:
- (WebCore::AffineTransform::operator wxGraphicsMatrix):
-
-2010-01-31 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: [REGRESSION] Breakpoint source line is not displayed
- in the breakpoint manager.
-
- * inspector/front-end/SourceFrame.js:
- (WebInspector.SourceFrame.prototype._addBreakpointToSource):
-
-2010-01-31 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Introduce NativeTextViewer.
-
- This change handles rendering highlighted text, using browser's
- selection/drag/drop/click logic. Breakpoint decorations and
- program counter is working.
-
- Todo: line numbers are painted 'under' the text when scrolling
- horizontally, search is not yet implemented.
+ * WebCore.base.exp:
- https://bugs.webkit.org/show_bug.cgi?id=34391
+ * storage/DatabaseTracker.cpp:
+ (WebCore::DatabaseTracker::initializeTracker): Added to create the tracker with its initial path.
+ (WebCore::DatabaseTracker::tracker): Move the static tracker out so tracker() and initializeTracker()
+ can share it. Add a fallback to not change behavior of platforms that don't call the new
+ "initializeTracker()" method.
+ (WebCore::DatabaseTracker::DatabaseTracker): Changed to take the initial path as an argument.
+ * storage/DatabaseTracker.h:
- * WebCore.gypi:
- * WebCore.vcproj/WebCore.vcproj:
- * inspector/front-end/DivBasedTextViewer.js: Added.
- (WebInspector.DivBasedTextViewer):
- (WebInspector.DivBasedTextViewer.prototype._textChanged):
- (WebInspector.DivBasedTextViewer.prototype._createLineDivs):
- (WebInspector.DivBasedTextViewer.prototype._updatePreferredSize):
- (WebInspector.DivBasedTextViewer.prototype._scroll):
- (WebInspector.DivBasedTextViewer.prototype._registerMouseListeners):
- (WebInspector.DivBasedTextViewer.prototype._registerKeyboardListeners):
- (WebInspector.DivBasedTextViewer.prototype._registerClipboardListeners):
- (WebInspector.DivBasedTextViewer.prototype._paintSelection):
- (WebInspector.DivBasedTextViewer.prototype._positionDivDecoration):
- (WebInspector.DivBasedTextViewer.prototype._mouseDown):
- (WebInspector.DivBasedTextViewer.prototype._contextMenu):
- (WebInspector.DivBasedTextViewer.prototype._caretForMouseEvent):
- (WebInspector.DivBasedTextViewer.prototype._paintLine):
- (WebInspector.DivBasedTextViewer.prototype._createSpan):
- * inspector/front-end/Settings.js:
- * inspector/front-end/SourceFrame.js:
- (WebInspector.SourceFrame.prototype.clearMessages):
- (WebInspector.SourceFrame.prototype.sizeToFitContentHeight):
- (WebInspector.SourceFrame.prototype._createEditorIfNeeded):
- (WebInspector.SourceFrame.prototype._addMessageToSource):
- (WebInspector.SourceFrame.prototype.resize):
- * inspector/front-end/TextEditor.js:
- (WebInspector.TextEditor):
- (WebInspector.TextEditor.prototype.setDivDecoration):
- (WebInspector.TextEditor.prototype._registerMouseListeners):
- (WebInspector.TextEditor.prototype._registerKeyboardListeners):
- (WebInspector.TextEditor.prototype._registerClipboardListeners):
- (WebInspector.TextEditor.prototype.reveal):
- (WebInspector.TextEditor.prototype._textChanged):
- (WebInspector.TextEditor.prototype.revalidateDecorationsAndPaint):
- (WebInspector.TextEditor.prototype._updatePreferredSize):
- (WebInspector.TextEditor.prototype.resize):
- (WebInspector.TextEditor.prototype._paintLinesContinuation):
- (WebInspector.TextEditor.prototype._paintLine):
- (WebInspector.TextEditor.prototype._contextMenu):
- (WebInspector.TextEditor.prototype._caretForMouseEvent):
- (WebInspector.TextEditor.prototype._changeFont):
- * inspector/front-end/TextEditorHighlighter.js:
- (WebInspector.TextEditorHighlighter.prototype._lex):
- * inspector/front-end/WebKit.qrc:
- * inspector/front-end/inspector.html:
- * inspector/front-end/textEditor.css:
+ * storage/chromium/DatabaseTrackerChromium.cpp:
+ (WebCore::DatabaseTracker::tracker): Adapt to new c'tor.
+ (WebCore::DatabaseTracker::DatabaseTracker): Ditto.
-2010-01-31 Benjamin Poulain <benjamin.poulain@nokia.com>
+2010-05-24 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
- [Qt] Enable FAST_MOBILE_SCROLLING on Qt embedded platforms
- https://bugs.webkit.org/show_bug.cgi?id=34168
-
- Enable FAST_MOBILE_SCROLLING for Qt on Maemo 5, Linux embedded
- and Symbian
-
- * WebCore.pro:
-
-2010-01-31 Yury Semikhatsky <yurys@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Make ScriptState destructor protected since all non-empty
- ScriptStates are managed by GC. Remove obsolete constructor.
-
- https://bugs.webkit.org/show_bug.cgi?id=34266
+ Teach the HTML5 parser to lex DOCTYPEs
+ https://bugs.webkit.org/show_bug.cgi?id=39571
- * bindings/v8/ScriptState.cpp:
- * bindings/v8/ScriptState.h:
-
-2010-01-30 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Use CGGradient on Leopard and later, since it's faster than CGShading
- https://bugs.webkit.org/show_bug.cgi?id=34384
-
- Use CGGradient on Leopard and later, rather than CGShading, for
- performance.
-
- * platform/graphics/Gradient.h:
- * platform/graphics/Gradient.cpp:
- (WebCore::Gradient::sortStopsIfNecessary): Utility method to sort stops.
- Did not call this from getColor() to avoid overhead of a function call.
-
- * platform/graphics/cg/GradientCG.cpp:
- (WebCore::Gradient::platformDestroy): Use CGGradientRelease() post-Tiger.
- (WebCore::Gradient::platformGradient): Create and return a CGGradientRef post-Tiger.
- (WebCore::Gradient::fill): Call new paint() method.
- (WebCore::Gradient::paint): New convenence method that avoids testing
- isRadial() in a bunch of other places.
-
- * platform/graphics/cg/GraphicsContextCG.cpp:
- (WebCore::GraphicsContext::fillPath): Call the gradient's paint() method.
- (WebCore::GraphicsContext::strokePath): Ditto
- (WebCore::GraphicsContext::fillRect): Ditto
- (WebCore::GraphicsContext::strokeRect): Ditto
-
-2010-01-30 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Adele Peterson.
-
- Do color animations on premultiplied colors
- https://bugs.webkit.org/show_bug.cgi?id=34383
-
- Convert colors to premultiplied alpha before interpolating them,
- then convert the result back to non-premultiplied. This gives better
- results when animating from transparent colors.
-
- Test: transitions/color-transition-premultiplied.html
-
- * page/animation/AnimationBase.cpp:
- (WebCore::blendFunc):
-
-2010-01-30 Gustavo Noronha Silva <gns@gnome.org>
-
- Build fixes needed for make distcheck.
-
- * GNUmakefile.am:
-
-2010-01-29 Mark Rowe <mrowe@apple.com>
-
- Stop copying an IDL file in to the framework wrapper.
-
- * WebCore.xcodeproj/project.pbxproj:
-
-2010-01-29 Mark Rowe <mrowe@apple.com>
-
- Sort Xcode projects.
-
- * WebCore.xcodeproj/project.pbxproj:
+ * html/HTML5Lexer.cpp:
+ (WebCore::HTML5Lexer::nextToken):
+ * html/HTML5Lexer.h:
+ * html/HTML5Token.h:
+ (WebCore::HTML5Token::beginDOCTYPE):
+ (WebCore::HTML5Token::publicIdentifier):
+ (WebCore::HTML5Token::systemIdentifier):
+ (WebCore::HTML5Token::setPublicIdentifierToEmptyString):
+ (WebCore::HTML5Token::setSystemIdentifierToEmptyString):
+ (WebCore::HTML5Token::appendToPublicIdentifier):
+ (WebCore::HTML5Token::appendToSystemIdentifier):
+ (WebCore::HTML5Token::DoctypeData::DoctypeData):
+ * html/HTML5TreeBuilder.cpp:
+ (WebCore::convertToOldStyle):
+ (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
+ * platform/text/SegmentedString.h:
+ (WebCore::SegmentedString::lookAheadIgnoringCase):
+ (WebCore::SegmentedString::advanceAndASSERTIgnoringCase):
-== Rolled over to ChangeLog-2010-01-29 ==
+== Rolled over to ChangeLog-2010-05-24 ==
diff --git a/WebCore/ChangeLog-2010-05-24 b/WebCore/ChangeLog-2010-05-24
new file mode 100644
index 0000000..fa3def5
--- /dev/null
+++ b/WebCore/ChangeLog-2010-05-24
@@ -0,0 +1,55179 @@
+2010-05-18 Jaime Yap <jaimeyap@google.com>
+
+ Reviewed by Pavel Feldman.
+
+ Removes public callLocation API and utility context from ScriptCallStack.
+ Adds ability to grab the top 5 JavaScript stack frames for each timeline
+ record using new fast V8 stack trace API.
+ https://bugs.webkit.org/show_bug.cgi?id=37502
+
+ * bindings/js/ScriptCallStack.cpp:
+ (WebCore::ScriptCallStack::stackTrace):
+ * bindings/js/ScriptCallStack.h:
+ * bindings/v8/ScriptArray.h:
+ (WebCore::ScriptArray::ScriptArray):
+ * bindings/v8/ScriptCallStack.cpp:
+ (WebCore::ScriptCallStack::callLocation):
+ (WebCore::ScriptCallStack::stackTrace):
+ * bindings/v8/ScriptCallStack.h:
+ * inspector/TimelineRecordFactory.cpp:
+ (WebCore::TimelineRecordFactory::createGenericRecord):
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel.FormattedRecord):
+ (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
+ (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
+
+2010-05-24 Anders Carlsson <andersca@apple.com>
+
+ Try to fix build.
+
+ * plugins/npapi.cpp:
+ (NPN_ReloadPlugins):
+
+2010-05-24 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Get rid of PlugInInfoStore.
+ https://bugs.webkit.org/show_bug.cgi?id=39608
+
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/android/TemporaryLinkStubs.cpp:
+ * plugins/PluginInfoStore.cpp: Removed.
+ * plugins/PluginInfoStore.h: Removed.
+ * plugins/npapi.cpp:
+
+2010-05-24 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r60068.
+ http://trac.webkit.org/changeset/60068
+ https://bugs.webkit.org/show_bug.cgi?id=39600
+
+ "Causes fast/repaint/search-field-cancel to fail." (Requested
+ by jparent on #webkit).
+
+ * rendering/RenderObject.h:
+ (WebCore::objectIsRelayoutBoundary):
+
+2010-05-24 Jeremy Orlow <jorlow@chromium.org>
+
+ Unreviewed. Checked in merge error. :-(
+
+ * CMakeLists.txt:
+
+2010-05-24 Steve Block <steveblock@google.com>
+
+ Reviewed by Darin Adler.
+
+ Geolocation causes DOMWindow to leak if position requests are in progress when the page is navigated away
+ https://bugs.webkit.org/show_bug.cgi?id=39288
+
+ Test: fast/dom/Geolocation/ongoing-request-leak.html
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::stopLoading): Stop all Geolocation instances. This call is made after the unload event has fired, so no new Geolocation activity is possible.
+ * page/Geolocation.cpp:
+ (WebCore::Geolocation::stop): Removes all ongoing requests and stops the service.
+ (WebCore::Geolocation::disconnectFrame): Removed calls to stopUpdating() and stopTimers(), as this will already have been done in stop();
+ * page/Geolocation.h: Added stop() method.
+
+2010-05-24 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Kent Tamura.
+
+ Textarea shouldn't grow when you type.
+ https://bugs.webkit.org/show_bug.cgi?id=32077
+
+ <textarea> with percent-specified, height-related properties did
+ cause partial-layout rooted from the renderer, that resulted
+ different box height between full-layout and partial-layout. This
+ is because calcHeight() assumes that the layout calculation of the
+ RenderBlock's parent is ongoing. But this assumption is violated
+ when the RenderBlock is root of the layout calculation.
+
+ So we prevent such <textarea>'s RenderObjects from being layout
+ root.
+
+ Test: fast/forms/textarea-percentage-dimensions.html
+
+ * rendering/RenderObject.h:
+ (WebCore::objectIsRelayoutBoundary):
+
+2010-05-20 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Add DOMStringList idl, needed for IndexedDB and for HTML5 drag & drop
+ https://bugs.webkit.org/show_bug.cgi?id=39429
+
+ IndexedDB depends on DOMStringList.
+ http://dev.w3.org/2006/webapi/WebSimpleDB/#idl-def-IDBDatabase
+ It's currently specced here:
+ http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList
+
+ Existing tests cover the constructor. IndexedDB will also use this
+ soon (and thus add test coverage).
+
+ * Android.mk:
+ * Android.derived.jscbindings.mk:
+ * Android.derived.v8bindings.mk:
+ * CMakeLists.txt:
+ * DerivedSources.cpp:
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pri:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * dom/DOMStringList.h: Added.
+ (WebCore::DOMStringList::create):
+ (WebCore::DOMStringList::length):
+ (WebCore::DOMStringList::item):
+ (WebCore::DOMStringList::isEmpty):
+ (WebCore::DOMStringList::clear):
+ (WebCore::DOMStringList::append):
+ (WebCore::DOMStringList::DOMStringList):
+ * dom/DOMStringList.idl: Added.
+ * page/DOMWIndow.idl: Re-enabled constructor
+
+2010-05-23 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ 0x5C of EUC-JP is not Yen Sign but U+005C
+ https://bugs.webkit.org/show_bug.cgi?id=24906
+
+ Tests: editing/selection/find-yensign-and-backslash-with-japanese-fonts.html
+ fast/text/backslash-to-yen-sign-dynamic.html
+ fast/text/backslash-to-yen-sign.html
+
+ * GNUmakefile.am:
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.vcproj/WebCoreCommon.vsprops:
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/graphics/Font.cpp:
+ (WebCore::Font::Font):
+ (WebCore::Font::operator=):
+ * platform/graphics/Font.h:
+ (WebCore::Font::needsTranscoding):
+ * platform/text/CharacterNames.h:
+ * platform/text/transcoder/FontTranscoder.cpp: Added.
+ (WebCore::FontTranscoder::FontTranscoder):
+ (WebCore::FontTranscoder::converterType):
+ (WebCore::FontTranscoder::convert):
+ (WebCore::FontTranscoder::needsTranscoding):
+ (WebCore::fontTranscoder):
+ * platform/text/transcoder/FontTranscoder.h: Added.
+ (WebCore::FontTranscoder::):
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::updateNeedsTranscoding):
+ (WebCore::RenderText::styleDidChange):
+ (WebCore::RenderText::setTextInternal):
+
+2010-05-23 MORITA Hajime <morrita@google.com>
+
+ Unreviewed, rolling out r60060.
+ http://trac.webkit.org/changeset/60060
+ https://bugs.webkit.org/show_bug.cgi?id=32077
+
+ breaks chromium test
+
+ * rendering/RenderObject.h:
+ (WebCore::objectIsRelayoutBoundary):
+
+2010-05-23 Justin Schuh <jschuh@chromium.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Style cleanup for r56288
+ https://bugs.webkit.org/show_bug.cgi?id=39554
+
+ Cleaning up style from a previous patch. No tests needed because no
+ logic is changed.
+
+ * svg/SVGFEMorphologyElement.cpp:
+ (WebCore::SVGFEMorphologyElement::build):
+
+2010-05-23 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Kent Tamura.
+
+ Textarea shouldn't grow when you type.
+ https://bugs.webkit.org/show_bug.cgi?id=32077
+
+ <textarea> with percent-specified, height-related properties did
+ cause partial-layout rooted from the renderer, that resulted
+ different box height between full-layout and partial-layout. This
+ is because calcHeight() assumes that the layout calculation of the
+ RenderBlock's parent is ongoing. But this assumption is violated
+ when the RenderBlock is root of the layout calculation.
+
+ So we prevent such <textarea>'s RenderObjects from being layout
+ root.
+
+ Test: fast/forms/textarea-percentage-dimensions.html
+
+ * rendering/RenderObject.h:
+ (WebCore::objectIsRelayoutBoundary):
+
+2010-05-23 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=39575
+ Make JS DOMObject inherit from JSObjectWithGlobalObject instead of JSObject
+
+ - Changes JSDOMWindowShell to inherit from JSObject instead of
+ DOMObject since it doesn't ever go into any DOMObject tables.
+ In a separate change, we may want to make this inherit from
+ JSObjectWithGlobalObject since JSDOMWindowShell does store a
+ global object pointer.
+ - Change DOMObject to inherit from JSObjectWithGlobalObject
+ instead of JSObject. In this change I am keeping around
+ DOMObjectWithGlobalPointer, which now just uses the capabilities
+ of JSObjectWithGlobalObject instead of implementing them
+ itself. DOMObjectWithGlobalPointer will go away in a subsequent
+ patch.
+
+ * bindings/js/JSDOMBinding.h:
+ (WebCore::DOMObjectWithGlobalPointer::globalObject):
+ (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):
+ * bindings/js/JSDOMWindowShell.h:
+ * bindings/js/JSDOMWrapper.h:
+ (WebCore::DOMObject::DOMObject):
+
+2010-05-23 Eric Seidel <eric@webkit.org>
+
+ Unreviewed, just being a copy/paste monkey. Oook, eeek.
+
+ Add new HTML5TreeBuilder class to hold the tree builder section of the HTML5 parsing spec
+ https://bugs.webkit.org/show_bug.cgi?id=39572
+
+ Add HTML5TreeBuilder.* to each of WebKit's 85,324 build systems.
+
+ * Android.mk:
+ * CMakeLists.txt:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+
+2010-05-23 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Add new HTML5TreeBuilder class to hold the tree builder section of the HTML5 parsing spec
+ https://bugs.webkit.org/show_bug.cgi?id=39572
+
+ We've been working on the tokenization (lexing) section of the HTML5
+ spec until now and leaning on the old HTMLParser for tree building.
+ We need to start writing more of the tree building sections of the spec,
+ but to do that we need a place to put the new code.
+
+ This patch moves our old-to-new conversion hacks out of HTML5Tokenizer
+ (our Tokenizer.h implementation) and into HTML5TreeBuilder.
+ Follow-up patches will add new HTML5 tree building code to this file
+ and will allow us to switch between old and new parser/treebuilder
+ implementations.
+
+ No change in behavior, thus no new tests.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * html/HTML5Tokenizer.cpp:
+ (WebCore::HTML5Tokenizer::HTML5Tokenizer):
+ (WebCore::HTML5Tokenizer::write):
+ - Call the new HTML5TreeBuilder code.
+ * html/HTML5Tokenizer.h:
+ * html/HTML5TreeBuilder.cpp: Added.
+ * html/HTML5TreeBuilder.h: Added.
+
+2010-05-23 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=39574
+ Complete the merge of NamedMappedAttrMap into NamedNodeMap.
+
+ * Android.mk:
+ * CMakeLists.txt:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::canShareStyleWithElement):
+ (WebCore::CSSStyleSelector::styleForElement):
+ * dom/Element.cpp:
+ (WebCore::Element::createAttributeMap):
+ * dom/NamedMappedAttrMap.cpp: Removed.
+ * dom/NamedMappedAttrMap.h: Removed.
+ * dom/NamedNodeMap.cpp:
+ (WebCore::NamedNodeMap::setClass):
+ (WebCore::NamedNodeMap::declCount):
+ (WebCore::NamedNodeMap::mapsEquivalent):
+ (WebCore::NamedNodeMap::mappedMapsEquivalent):
+ * dom/NamedNodeMap.h:
+ (WebCore::NamedNodeMap::create):
+ (WebCore::NamedNodeMap::clearClass):
+ (WebCore::NamedNodeMap::classNames):
+ (WebCore::NamedNodeMap::hasMappedAttributes):
+ (WebCore::NamedNodeMap::declRemoved):
+ (WebCore::NamedNodeMap::declAdded):
+ (WebCore::NamedNodeMap::NamedNodeMap):
+ * dom/StyledElement.h:
+ (WebCore::StyledElement::mappedAttributes):
+ * html/HTML5Token.h:
+ * html/HTML5Tokenizer.cpp:
+ (WebCore::convertToOldStyle):
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::setInputType):
+ * html/HTMLParser.cpp:
+ (WebCore::HTMLParser::handleIsindex):
+ * html/HTMLTokenizer.cpp:
+ (WebCore::Token::addAttribute):
+ (WebCore::HTMLTokenizer::processToken):
+ * html/HTMLTokenizer.h:
+ * html/HTMLViewSourceDocument.cpp:
+ (WebCore::HTMLViewSourceDocument::createContainingTable):
+ (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
+ (WebCore::HTMLViewSourceDocument::addLine):
+ (WebCore::HTMLViewSourceDocument::addLink):
+
+2010-05-23 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Teach HTML5 parser how to lex comments correctly
+ https://bugs.webkit.org/show_bug.cgi?id=39537
+
+ Implement the non-bogus comment states for the lexer. There's more
+ work to do in some of these states (e.g., to handle doctype tokens and
+ bogus comments), but I'm trying to keep the patches small.
+
+ Tests: comments01.dat
+
+ * html/HTML5Lexer.cpp:
+ (WebCore::HTML5Lexer::nextToken):
+ * html/HTML5Lexer.h:
+ * html/HTML5Token.h:
+ (WebCore::HTML5Token::beginComment):
+ (WebCore::HTML5Token::appendToComment):
+ (WebCore::HTML5Token::data):
+ * html/HTML5Tokenizer.cpp:
+ (WebCore::convertToOldStyle):
+ * platform/text/SegmentedString.h:
+ (WebCore::SegmentedString::):
+ (WebCore::SegmentedString::peek):
+ - Occationally, the HTML5 parsing algorithm looks ahead in the
+ input stream. The implementation here is incomplete, but its
+ enough to run the current HTML5 parsing tests. I'll eventually
+ need to implement the slow case here.
+
+2010-05-23 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Make the html5lib parser tests run using the HTML5 parser
+ https://bugs.webkit.org/show_bug.cgi?id=39533
+
+ Turns out we're just one small tweak away from running the html5lib
+ tests. After this patch lands, we should be able to introduce tests
+ for every change to the HTML5 parser.
+
+ Test: html5lib/webkit-runner.html
+
+ * html/HTML5Lexer.cpp:
+ (WebCore::HTML5Lexer::nextToken):
+
+2010-05-23 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Make HTML5 parser parse <script>alert("<hi>");</script>
+ https://bugs.webkit.org/show_bug.cgi?id=39525
+
+ More progress towards getting the html5lib test harness running. We
+ need to parse script data in the ScriptDataState. The spec says the
+ parser should set the lexer's state to ScriptDataState, but we want to
+ keep using the existing parser for a while so I've added some temporary
+ logic to HTML5Tokenizer to set the state in the lexer.
+
+ To get this case running, I needed to flesh out a bunch of the
+ ScriptDataState logic. There's a bunch more to do, but this is a
+ start.
+
+ I'm not 100% happy with this patch, but it lets us execute a simplified
+ version of the test harness up to the point where it starts running the
+ first test.
+
+ * html/HTML5Lexer.cpp:
+ (WebCore::HTML5Lexer::nextToken):
+ (WebCore::HTML5Lexer::isAppropriateEndTag):
+ (WebCore::HTML5Lexer::emitCurrentTagToken):
+ * html/HTML5Lexer.h:
+ (WebCore::HTML5Lexer::setState):
+ * html/HTML5Token.h:
+ (WebCore::HTML5Token::beginEndTag):
+ (WebCore::HTML5Token::appendToCharacter):
+ (WebCore::HTML5Token::name):
+ * html/HTML5Tokenizer.cpp:
+ (WebCore::HTML5Tokenizer::write):
+
+2010-05-23 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Limit the number of tiles created for large tiled layers
+ https://bugs.webkit.org/show_bug.cgi?id=39522
+
+ I added an algorithm to limit the number of tiles created to 512.
+ It tried to limit them in only one dimension and if that's not
+ possible it limits them in both dimensions according to the
+ ratio of width to height. This has the effect of rendering
+ tiles starting from the upper-left, which is often the part
+ that is visible. So it both prevents crashing and tried to do
+ the best job it can of displaying what the author intended.
+
+ The test LayoutTests/compositing/geometry/huge-layers.html was
+ crashing before this fix. Now it works correctly.
+
+ * platform/graphics/win/WebTiledLayer.cpp:
+ (WebCore::WebTiledLayer::WebTiledLayer):
+ (WebCore::WebTiledLayer::setBounds):
+ (WebCore::WebTiledLayer::constrainedSize):
+ (WebCore::WebTiledLayer::updateTiles):
+ * platform/graphics/win/WebTiledLayer.h:
+
+2010-05-23 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Using Accelerated Composing the rocket back animation on http://www.the-art-of-web.com/css/css-animation/ works differently as when not using AC.
+ https://bugs.webkit.org/show_bug.cgi?id=39513
+
+ The value of GraphicsLayer->transform() needs to be changed during the animation, regardless of m_fillsForward.
+ m_fillsForward should only apply at the end of the animation. Based on previous patch by Kenneth Christiansen.
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::TransformAnimationQt::applyFrame):
+ (WebCore::OpacityAnimationQt::applyFrame):
+
+2010-05-23 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [Qt] GraphicsLayerQt: Coding style and comment fixes.
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::MaskEffectQt::MaskEffectQt):
+ (WebCore::MaskEffectQt::draw):
+ (WebCore::GraphicsLayerQtImpl::ContentData::ContentData):
+ (WebCore::GraphicsLayerQtImpl::State::State):
+ (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
+ (WebCore::GraphicsLayerQtImpl::~GraphicsLayerQtImpl):
+ (WebCore::GraphicsLayerQtImpl::rootLayer):
+ (WebCore::GraphicsLayerQtImpl::recache):
+ (WebCore::GraphicsLayerQtImpl::updateTransform):
+ (WebCore::GraphicsLayerQtImpl::opaqueArea):
+ (WebCore::GraphicsLayerQtImpl::flushChanges):
+ (WebCore::GraphicsLayerQtImpl::notifyAnimationStarted):
+ (WebCore::GraphicsLayerQt::setNeedsDisplayInRect):
+ (WebCore::GraphicsLayerQt::setContentsToImage):
+ (WebCore::applyTimingFunction):
+ (WebCore::AnimationQtBase::updateState):
+ (WebCore::AnimationQt::AnimationQt):
+ (WebCore::AnimationQt::updateCurrentTime):
+ (WebCore::TransformAnimationQt::applyFrame):
+ (WebCore::TransformAnimationQt::updateState):
+ (WebCore::OpacityAnimationQt::OpacityAnimationQt):
+ (WebCore::OpacityAnimationQt::applyFrame):
+ (WebCore::GraphicsLayerQt::addAnimation):
+ (WebCore::GraphicsLayerQt::removeAnimationsForProperty):
+ (WebCore::GraphicsLayerQt::removeAnimationsForKeyframes):
+ (WebCore::GraphicsLayerQt::pauseAnimation):
+ (WebCore::GraphicsLayerQt::suspendAnimations):
+ (WebCore::GraphicsLayerQt::resumeAnimations):
+ * platform/graphics/qt/GraphicsLayerQt.h:
+
+2010-05-23 Justin Schuh <jschuh@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Remove custom binding for Attr.value
+ https://bugs.webkit.org/show_bug.cgi?id=39499
+
+ Custom bindings are no longer needed because origin checks were moved
+ out of the bindings by: http://trac.webkit.org/changeset/59866
+
+ * Android.v8bindings.mk:
+ * WebCore.gypi:
+ * bindings/js/JSAttrCustom.cpp:
+ * bindings/v8/custom/V8AttrCustom.cpp: Removed.
+ * dom/Attr.idl:
+
+2010-05-23 Grace Kloba <klobag@gmail.com>
+
+ Reviewed by Nate Chapin.
+
+ Match the call of scheduleLocationChange() to its correct signature.
+ Fixes <http://webkit.org/b/39452>
+
+ The call of scheduleLocationChange() in generic and v8 bindings assuming the
+ fourth parameter is "usergesture". But it is actually the fifth parameter.
+
+ No new features. No new tests.
+
+ * bindings/generic/BindingDOMWindow.h:
+ (WebCore::::createWindow):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::V8DOMWindow::openCallback):
+
+2010-05-23 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Reduce copy/paste code in HTMLParser using some template functions
+ https://bugs.webkit.org/show_bug.cgi?id=39471
+
+ No functional changes, thus no tests.
+
+ * html/HTMLParser.cpp:
+ (WebCore::addTags):
+ - New function which takes a set an an array of QualifiedNames
+ and adds the localName().impl() to the set for each QualifiedName.
+ (WebCore::isTablePart):
+ (WebCore::isScopingTag):
+ (WebCore::mapTagToFunc):
+ (WebCore::mapTagsToFunc):
+ - New functions which take QualifiedNames and a function and map from the
+ localName().impl() to the function.
+ (WebCore::HTMLParser::getNode):
+ (WebCore::HTMLParser::isHeadingTag):
+ (WebCore::HTMLParser::isResidualStyleTag):
+ (WebCore::HTMLParser::isAffectedByResidualStyle):
+
+2010-05-22 Julie Parent <jparent@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ REGRESSION: xssAuditor tests failing in Chromium.
+ https://bugs.webkit.org/show_bug.cgi?id=39560
+
+ Follow up to r0014. Make if statement in V8 bindings match the one from jsc version.
+
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::evaluate):
+
+2010-05-22 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ REGRESSION(r59977): platform/mac/fast/AppleScript/001.html failure
+ https://bugs.webkit.org/show_bug.cgi?id=39531
+
+ Revert r59977 and r59943. These changes caused some exceptions to no longer be
+ reported in the inspector; I can't tell what they were originally trying to fix
+ so I am not sure how to fix them other than by reverting.
+
+ Covered by existing test platform/mac/fast/AppleScript/001.html, and
+ also added fast/dom/nested-script-exceptions.html to demonstrate the wider
+ consequences of the original change.
+
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::ScriptController):
+ (WebCore::ScriptController::evaluateInWorld):
+ * bindings/js/ScriptController.h:
+
+2010-05-22 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Add DragData
+ https://bugs.webkit.org/show_bug.cgi?id=39469
+
+ As BREW MP does not support dragging, add dummy implementation of DragData.
+
+ * platform/DragData.h:
+ * platform/brew/DragDataBrew.cpp: Added.
+ (WebCore::DragData::canSmartReplace):
+ (WebCore::DragData::containsColor):
+ (WebCore::DragData::containsPlainText):
+ (WebCore::DragData::asPlainText):
+ (WebCore::DragData::asColor):
+ (WebCore::DragData::createClipboard):
+ (WebCore::DragData::containsCompatibleContent):
+ (WebCore::DragData::containsURL):
+ (WebCore::DragData::asURL):
+ (WebCore::DragData::asFragment):
+ (WebCore::DragData::asFilenames):
+ (WebCore::DragData::containsFiles):
+
+2010-05-22 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Add dummy Icon
+ https://bugs.webkit.org/show_bug.cgi?id=39468
+
+ Add dummy implementation of Icon.
+
+ * platform/graphics/brew/IconBrew.cpp: Added.
+ (WebCore::Icon::~Icon):
+ (WebCore::Icon::createIconForFiles):
+ (WebCore::Icon::paint):
+
+2010-05-22 Justin Schuh <jschuh@chromium.org>
+
+ Reviewed by Nate Chapin.
+
+ Remove and simplify custom bindings for Node
+ https://bugs.webkit.org/show_bug.cgi?id=39467
+
+ Custom bindings for nodeValue and textContent are no longer needed,
+ and child manipulators are simplified because origin checks were moved
+ out of the bindings by: http://trac.webkit.org/changeset/59866
+
+ * bindings/js/JSNodeCustom.cpp:
+ (WebCore::JSNode::insertBefore):
+ (WebCore::JSNode::replaceChild):
+ (WebCore::JSNode::removeChild):
+ (WebCore::JSNode::appendChild):
+ * bindings/v8/custom/V8NodeCustom.cpp:
+ (WebCore::V8Node::insertBeforeCallback):
+ (WebCore::V8Node::replaceChildCallback):
+ (WebCore::V8Node::removeChildCallback):
+ (WebCore::V8Node::appendChildCallback):
+ * dom/Node.idl:
+
+2010-05-22 Justin Schuh <jschuh@chromium.org>
+
+ Reviewed by Nate Chapin.
+
+ Remove custom bindings for NamedNodeMap.setNamedItem and .setNamedItemNS
+ https://bugs.webkit.org/show_bug.cgi?id=39462
+
+ Custom bindings are no longer needed because origin checks were moved
+ out of the bindings by: http://trac.webkit.org/changeset/59866
+
+ Behavior isn't changed and is covered by existing tests.
+
+ * bindings/js/JSNamedNodeMapCustom.cpp:
+ * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
+ * dom/NamedNodeMap.idl:
+
+2010-05-22 Daniel Bates <dbates@rim.com>
+
+ No review, rolling out 60017.
+ http://trac.webkit.org/changeset/60017
+ https://bugs.webkit.org/show_bug.cgi?id=39339
+
+ Rolling out since this broke the build on the Windows and Qt bots.
+ Need to look into this some more.
+
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/ScriptControllerBase.h: Removed.
+ * bindings/js/ScriptController.h:
+ (WebCore::):
+ * bindings/v8/ScriptController.h:
+ (WebCore::):
+
+2010-05-22 Daniel Bates <dbates@rim.com>
+
+ Reviewed by Darin Adler.
+
+ Move enum ReasonForCallingCanExecuteScripts to header ScriptControllerBase.h
+ https://bugs.webkit.org/show_bug.cgi?id=39339
+
+ Moved the enum ReasonForCallingCanExecuteScripts and ShouldAllowXSS, which
+ was defined in both the JSC and V8 ScriptController.h file, into a shared
+ file called ScriptControllerBase.h.
+
+ No functionality was changed, so no new tests.
+
+ * GNUmakefile.am: Added file bindings/ScriptControllerBase.h.
+ * WebCore.gypi: Ditto.
+ * WebCore.pro: Ditto.
+ * WebCore.vcproj/WebCore.vcproj: Ditto.
+ * WebCore.xcodeproj/project.pbxproj: Ditto.
+ * bindings/ScriptControllerBase.h: Added.
+ (WebCore::):
+ * bindings/js/ScriptController.h: #include ScriptControllerBase.h
+ * bindings/v8/ScriptController.h: Ditto.
+
+2010-05-22 Yong Li <yoli@rim.com>
+
+ Reviewed by Darin Adler.
+
+ Fix a crash when XHTMLMP is enabled. The frame pointer in Document
+ ctor can be null.
+ https://bugs.webkit.org/show_bug.cgi?id=39448
+
+ No new tests because it is obvious and it must be reproduced with
+ XHTMLMP enabled.
+
+ * dom/Document.cpp:
+ (WebCore::Document::Document):
+
+2010-05-22 Daniel Bates <dbates@rim.com>
+
+ Reviewed by Adam Barth.
+
+ REGRESSION (r56295): Can't create a new wave on Google Wave
+ https://bugs.webkit.org/show_bug.cgi?id=39249
+
+ Instead of just using the source code portion of a JavaScript URL to
+ detect an XSS attack, we now include the JavaScript URL schema. This
+ reduces the chance of a false positive by providing additional context.
+
+ Test: http/tests/security/xssAuditor/javascript-link-safe.html
+
+ * WebCore.base.exp: Updated exported symbols as necessary.
+ * bindings/ScriptControllerBase.cpp:
+ (WebCore::ScriptController::executeScript): Added parameter shouldAllowXSS.
+ (WebCore::ScriptController::executeIfJavaScriptURL): Ditto.
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::evaluateInWorld): Ditto.
+ (WebCore::ScriptController::evaluate): Ditto.
+ (WebCore::ScriptController::executeScriptInWorld): Ditto.
+ * bindings/js/ScriptController.h: Added enum ShouldAllowXSS.
+ (WebCore::):
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::evaluate): Added parameter shouldAllowXSS.
+ * bindings/v8/ScriptController.h: Added enum ShouldAllowXSS.
+ (WebCore::):
+
+2010-05-22 Jeremy Moskovich <jeremy@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Document RenderObject::m_hasOverflowClip.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39425
+
+ No new functionality, so no new tests.
+
+ * rendering/RenderObject.h:
+
+2010-05-22 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Add DragController
+ https://bugs.webkit.org/show_bug.cgi?id=39400
+
+ Add DragController for BREW MP.
+
+ * page/brew/DragControllerBrew.cpp: Added.
+ (WebCore::DragController::isCopyKeyDown):
+ (WebCore::DragController::dragOperation):
+ (WebCore::DragController::maxDragImageSize):
+ (WebCore::DragController::cleanupAfterSystemDrag):
+
+2010-05-22 Leandro Pereira <leandro@profusion.mobi>
+
+ Reviewed by Eric Seidel.
+
+ [EFL] Build fix (update source code lists).
+ http://webkit.org/b/39235
+
+ * CMakeLists.txt:
+
+2010-05-22 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] webkit_web_view_drag_end should call EventHandler::dragSourceEndedAt
+ https://bugs.webkit.org/show_bug.cgi?id=39465
+
+ Added a helper function for converting a GDK action bitmask into a DragOperation bitmask.
+
+ No new tests as behavior has not changed.
+
+ * platform/gtk/ClipboardUtilitiesGtk.cpp:
+ (WebCore::gdkDragActionToDragOperation): Added.
+ * platform/gtk/ClipboardUtilitiesGtk.h:
+
+2010-05-22 Patrick Gansterer <paroga@paroga.com>
+
+ Reviewed by Eric Seidel.
+
+ [Qt] Cleanup SharedBuffer::createWithContentsOfFile
+ https://bugs.webkit.org/show_bug.cgi?id=38917
+
+ * platform/qt/SharedBufferQt.cpp:
+ (WebCore::SharedBuffer::createWithContentsOfFile):
+
+2010-05-22 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] WebKit/gtk/WebCoreSupport/DragClientGtk::startDrag should use the Clipboard::sourceOperation
+ https://bugs.webkit.org/show_bug.cgi?id=39459
+
+ Add ClipboardUtilitiesGtk, a container for GTK+/WebCore clipboard utility functions.
+ Initially add a function which converts a WebCore::DragOperation to a bitmask of
+ GdkDragActions.
+
+ No new tests, because behavior has not changed.
+
+ * GNUmakefile.am:
+ * platform/gtk/ClipboardUtilitiesGtk.cpp: Added.
+ (WebCore::dragOperationToGdkDragActions): Added.
+ * platform/gtk/ClipboardUtilitiesGtk.h: Added.
+
+2010-05-21 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Parse attributes with HTML5 lexer
+ https://bugs.webkit.org/show_bug.cgi?id=39520
+
+ This patch lets the HTML5 lexer parse attributes, as in
+ <div attr="foo"></div>. This patch is on the critical path to running
+ the html5lib tests.
+
+ * html/HTML5Lexer.cpp:
+ (WebCore::HTML5Lexer::nextToken):
+ * html/HTML5Lexer.h:
+ * html/HTML5Token.h:
+ (WebCore::HTML5Token::beginStartTag):
+ (WebCore::HTML5Token::beginEndTag):
+ (WebCore::HTML5Token::addNewAttribute):
+ (WebCore::HTML5Token::appendToAttributeName):
+ (WebCore::HTML5Token::appendToAttributeValue):
+ (WebCore::HTML5Token::attributes):
+ * html/HTML5Tokenizer.cpp:
+ (WebCore::convertToOldStyle):
+
+2010-05-21 Mark Rowe <mrowe@apple.com>
+
+ 60,000!
+
+ * ChangeLog: Point out revision 60,000.
+
+2010-05-21 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Preparation for support of column-span, which will be implemented using continuations. When a block splits an inline, a
+ continuation chain is created of the form inline -> anonymous block -> inline. The middle block is always anonymous. When a column-span
+ splits the blocks in a multi-column block, it will create a similar chain: block -> anonymous block -> block. Enclosing split elements
+ directly connect to their continuations, so their chains will look like inline -> inline or block -> block.
+
+ This patch changes the member variable in RenderBlock, m_inlineContinuation, to simply be m_continuation and loosens up the type on it
+ to RenderBoxModelObject. This reflects the fact that the continuation of the block can now be another block and isn't always simply an inline.
+
+ Some renames have been done for cleanup:
+ isInlineContinuation -> isInlineElementContinuation to emphasize that this is a split non-anonymous element.
+ inlineContinuation -> inlineElementContinuation, again to emphasize that the inline is not anonymous.
+
+ Some new methods have been added:
+ isBlockElementContinuation - just like isInlineElementContinuation but for split block elements.
+ blockElementContinuation - just like inlineElementContinuation but for split block elements.
+ virtualContinuation - A way to just walk an entire continuation chain of mixed types (blocks and inlines) using their common base class.
+ isAnonymousBlockContinuation - A method for asking if a RenderBlock is an anonymous block in the continuation chain (the guy in the middle).
+
+ Code that was specific to the anonymous blocks in a continuation chain has been patched to ask isAnonymousBlockContinuation, so that it won't
+ incorrectly apply to non-anonymous blocks in the future. Where possible, code that really didn't care about being an inline vs. a block has
+ been broadened so that it will work with block continuations as well.
+
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::lastChildConsideringContinuation):
+ (WebCore::startOfContinuations):
+ (WebCore::endOfContinuations):
+ (WebCore::childBeforeConsideringContinuations):
+ (WebCore::firstChildIsInlineContinuation):
+ (WebCore::AccessibilityRenderObject::nextSibling):
+ (WebCore::AccessibilityRenderObject::anchorElement):
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
+ (WebCore::InlineFlowBox::paint):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::RenderBlock):
+ (WebCore::RenderBlock::destroy):
+ (WebCore::RenderBlock::removeLeftoverAnonymousBlock):
+ (WebCore::RenderBlock::removeChild):
+ (WebCore::RenderBlock::paintObject):
+ (WebCore::RenderBlock::inlineElementContinuation):
+ (WebCore::RenderBlock::blockElementContinuation):
+ (WebCore::RenderBlock::addContinuationWithOutline):
+ (WebCore::RenderBlock::absoluteRects):
+ (WebCore::RenderBlock::absoluteQuads):
+ (WebCore::RenderBlock::rectWithOutlineForRepaint):
+ (WebCore::RenderBlock::hoverAncestor):
+ (WebCore::RenderBlock::updateDragState):
+ (WebCore::RenderBlock::outlineStyleForRepaint):
+ (WebCore::RenderBlock::updateHitTestResult):
+ (WebCore::RenderBlock::addFocusRingRects):
+ * rendering/RenderBlock.h:
+ (WebCore::RenderBlock::continuation):
+ (WebCore::RenderBlock::setContinuation):
+ (WebCore::RenderBlock::virtualContinuation):
+ (WebCore::RenderBlock::isAnonymousBlockContinuation):
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::inlineElementContinuation):
+ (WebCore::RenderInline::styleDidChange):
+ (WebCore::nextContinuation):
+ (WebCore::RenderInline::splitInlines):
+ (WebCore::RenderInline::positionForPoint):
+ (WebCore::RenderInline::updateHitTestResult):
+ * rendering/RenderInline.h:
+ (WebCore::RenderInline::setContinuation):
+ (WebCore::RenderInline::virtualContinuation):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::getTextDecorationColors):
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::isElementContinuation):
+ (WebCore::RenderObject::isInlineElementContinuation):
+ (WebCore::RenderObject::isBlockElementContinuation):
+ (WebCore::RenderObject::virtualContinuation):
+ * rendering/RenderObjectChildList.cpp:
+ (WebCore::RenderObjectChildList::updateBeforeAfterContent):
+ * rendering/RenderRubyBase.cpp:
+ (WebCore::RenderRubyBase::moveBlockChildren):
+
+2010-05-21 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Teach WebKit2 to build in the Production configuration.
+
+ * Configurations/WebCore.xcconfig: Pass -allowable_client to the linker in all configurations.
+
+2010-05-21 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Implement tiled compositing layers on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=39461
+
+ This adds a tiling implementation similar (from a GraphicsLayer standpoint)
+ to the one for Mac. But where Mac uses the existing CATiledLayer, I've had
+ to implement one. If a layer is greater then 2k x 2k, I split it into an
+ array of 512 x 512 tiles. These tiles are positioned in the correct place
+ for the TiledLayer's content. When setNeedsDisplay is called on the TiledLayer
+ the tiles' setNeedDisplay methods are called. Each tile clips and positions the
+ CGContext appropriately and then renders the layer.
+
+ I also got rid of all frame()/setFrame() API to reduce the number of calls to
+ override for tiling.
+
+ Much optimization is possible. Most significantly right now all tiles are
+ rendered whether visible or not. We need to only render tiles that are
+ currently visible.
+
+ Tests: compositing/huge-layer-add-remove-child.html
+ compositing/huge-layer-resize.html
+ compositing/huge-layer-with-layer-children-resize.html
+ compositing/huge-layer-with-layer-children.html
+ compositing/huge-layer.html
+
+ * WebCore.vcproj/WebCore.vcproj:
+ * platform/graphics/win/GraphicsLayerCACF.cpp: Added tiling code similar to GraphicsLayerCA
+ (WebCore::GraphicsLayerCACF::requiresTiledLayer):
+ (WebCore::GraphicsLayerCACF::swapFromOrToTiledLayer):
+ (WebCore::GraphicsLayerCACF::updateLayerSize):
+ (WebCore::GraphicsLayerCACF::updateLayerDrawsContent):
+ * platform/graphics/win/GraphicsLayerCACF.h:
+ * platform/graphics/win/WKCACFLayer.cpp: Made some methods virtual so WebTiledLayer can override.
+ Also added sublayer setting and manipulation methods needed for tiling
+ (WebCore::WKCACFLayer::addSublayer):
+ (WebCore::WKCACFLayer::internalInsertSublayer):
+ (WebCore::WKCACFLayer::insertSublayerAboveLayer):
+ (WebCore::WKCACFLayer::insertSublayerBelowLayer):
+ (WebCore::WKCACFLayer::replaceSublayer):
+ (WebCore::WKCACFLayer::internalSublayerCount):
+ (WebCore::WKCACFLayer::adoptSublayers):
+ (WebCore::WKCACFLayer::internalSublayerAtIndex):
+ (WebCore::WKCACFLayer::internalIndexOfSublayer):
+ (WebCore::WKCACFLayer::internalRemoveAllSublayers):
+ (WebCore::WKCACFLayer::internalSetSublayers):
+ (WebCore::WKCACFLayer::internalSetNeedsDisplay):
+ (WebCore::WKCACFLayer::printLayer):
+ * platform/graphics/win/WKCACFLayer.h:
+ (WebCore::WKCACFLayer::setNeedsDisplay):
+ (WebCore::WKCACFLayer::removeAllSublayers):
+ (WebCore::WKCACFLayer::setSublayers):
+ (WebCore::WKCACFLayer::insertSublayer):
+ (WebCore::WKCACFLayer::sublayerCount):
+ * platform/graphics/win/WKCACFLayerRenderer.cpp: Fix a crash exposed when tiling code is active
+ (WebCore::WKCACFLayerRenderer::createRenderer):
+ (WebCore::WKCACFLayerRenderer::destroyRenderer):
+ (WebCore::WKCACFLayerRenderer::resize):
+ * platform/graphics/win/WebLayer.cpp: Added. Split this out from GraphicsLayerCACF so it could be subclassed by WebTiledLayer
+ (WebCore::WebLayer::internalSetNeedsDisplay):
+ (WebCore::WebLayer::drawInContext):
+ * platform/graphics/win/WebLayer.h: Added.
+ (WebCore::WebLayer::create):
+ (WebCore::WebLayer::WebLayer):
+ * platform/graphics/win/WebTiledLayer.cpp: Added. Where all the tile construction and rendering is done
+ (WebCore::WebTiledLayer::tileDisplayCallback):
+ (WebCore::WebTiledLayer::create):
+ (WebCore::WebTiledLayer::WebTiledLayer):
+ (WebCore::WebTiledLayer::~WebTiledLayer):
+ (WebCore::WebTiledLayer::setBounds):
+ (WebCore::WebTiledLayer::internalSetNeedsDisplay):
+ (WebCore::WebTiledLayer::internalSublayerCount):
+ (WebCore::WebTiledLayer::internalRemoveAllSublayers):
+ (WebCore::WebTiledLayer::internalSetSublayers):
+ (WebCore::WebTiledLayer::internalInsertSublayer):
+ (WebCore::WebTiledLayer::internalSublayerAtIndex):
+ (WebCore::WebTiledLayer::internalIndexOfSublayer):
+ (WebCore::WebTiledLayer::addTile):
+ (WebCore::WebTiledLayer::removeTile):
+ (WebCore::WebTiledLayer::tileAtIndex):
+ (WebCore::WebTiledLayer::tileCount):
+ (WebCore::WebTiledLayer::updateTiles):
+ (WebCore::WebTiledLayer::drawTile):
+ * platform/graphics/win/WebTiledLayer.h: Added.
+
+2010-05-21 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fixed a typo in my last commit: Reset m_inEvaluateInWorld to
+ wasInEvaluateInWorld, rather than false, to avoid stomping the old value
+ when it's true.
+ https://bugs.webkit.org/show_bug.cgi?id=39518
+
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::evaluateInWorld):
+
+2010-05-21 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39516, back end support for column-span property.
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::):
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue):
+ * css/CSSPropertyNames.in:
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty):
+ * rendering/style/RenderStyle.h:
+ (WebCore::InheritedFlags::columnSpan):
+ (WebCore::InheritedFlags::setColumnSpan):
+ (WebCore::InheritedFlags::initialColumnSpan):
+ * rendering/style/StyleMultiColData.cpp:
+ (WebCore::StyleMultiColData::StyleMultiColData):
+ (WebCore::StyleMultiColData::operator==):
+ * rendering/style/StyleMultiColData.h:
+
+2010-05-21 Jer Noble <jer.noble@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Disable full-screen video on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=39506
+ rdar://problem/8012516
+
+ Disable full-screen video through MediaPlayerPrivateVisualContext since
+ we no longer use GWorlds and QuickTime's built in full-screen support.
+
+ Media layout tests updated with new expected results.
+
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
+ (WebCore::MediaPlayerPrivateQuickTimeVisualContext::supportsFullscreen):
+
+2010-05-21 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Avoid creating huge tiled layers with accelerated compositing
+ https://bugs.webkit.org/show_bug.cgi?id=39515
+
+ Constrain the size of huge composited layers, to avoid bad behavior. We only
+ need to do this if we detect that we need a tiled layer, since we'll make tiled
+ layers for elements over a certain size that need to draw already.
+
+ Constrain the size by attempting to shrink the longer dimension first.
+
+ Test: compositing/geometry/huge-layer.html
+
+ * platform/graphics/mac/GraphicsLayerCA.h:
+ * platform/graphics/mac/GraphicsLayerCA.mm:
+ (WebCore::GraphicsLayerCA::updateLayerPosition):
+ (WebCore::GraphicsLayerCA::updateLayerSize):
+ (WebCore::GraphicsLayerCA::constrainedSize):
+
+2010-05-21 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39420, :visited not working with background-color.
+
+ Make the RenderStyle color accessors private. This forces callers to use visitedDependentColor
+ instead (or to make the decision to become friends of the RenderStyle class in order to get access
+ to the real style information).
+
+ Modified history/self-is-visited.html to also test background colors.
+
+ * WebCore.base.exp:
+ * accessibility/AccessibilityTable.cpp:
+ (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
+ * accessibility/mac/AccessibilityObjectWrapper.mm:
+ (AXAttributeStringSetStyle):
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::CSSComputedStyleDeclaration::currentColorOrValidColor):
+ * css/CSSComputedStyleDeclaration.h:
+ * css/SVGCSSStyleSelector.cpp:
+ (WebCore::colorFromSVGColorCSSValue):
+ * editing/ApplyStyleCommand.cpp:
+ (WebCore::ApplyStyleCommand::editingStyleAtPosition):
+ (WebCore::prepareEditingStyleToApplyAt):
+ (WebCore::removeStylesAddedByNode):
+ (WebCore::fontColorChangesComputedStyle):
+ (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
+ * editing/ApplyStyleCommand.h:
+ (WebCore::):
+ * editing/CompositeEditCommand.cpp:
+ (WebCore::CompositeEditCommand::moveParagraphs):
+ (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
+ * editing/DeleteButtonController.cpp:
+ (WebCore::isDeletableElement):
+ * editing/DeleteSelectionCommand.cpp:
+ (WebCore::DeleteSelectionCommand::saveTypingStyleState):
+ * editing/InsertParagraphSeparatorCommand.cpp:
+ (WebCore::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion):
+ * editing/RemoveFormatCommand.cpp:
+ (WebCore::RemoveFormatCommand::doApply):
+ * editing/ReplaceSelectionCommand.cpp:
+ (WebCore::handleStyleSpansBeforeInsertion):
+ (WebCore::ReplaceSelectionCommand::handleStyleSpans):
+ (WebCore::ReplaceSelectionCommand::doApply):
+ * editing/SelectionController.cpp:
+ (WebCore::SelectionController::paintCaret):
+ * editing/markup.cpp:
+ (WebCore::createMarkup):
+ * page/animation/AnimationBase.cpp:
+ (WebCore::AnimationBase::ensurePropertyMap):
+ * page/animation/AnimationBase.h:
+ * page/mac/FrameMac.mm:
+ (WebCore::Frame::fontAttributesForSelectionStart):
+ * rendering/EllipsisBox.cpp:
+ (WebCore::EllipsisBox::paint):
+ (WebCore::EllipsisBox::paintSelection):
+ * rendering/InlineTextBox.cpp:
+ (WebCore::InlineTextBox::paint):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::styleDidChange):
+ (WebCore::RenderBox::paintRootBoxDecorations):
+ (WebCore::RenderBox::paintBoxDecorationsWithSize):
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::paintBoxShadow):
+ * rendering/RenderFieldset.cpp:
+ (WebCore::RenderFieldset::paintBoxDecorations):
+ * rendering/RenderFileUploadControl.cpp:
+ (WebCore::RenderFileUploadControl::paintObject):
+ * rendering/RenderFrameSet.cpp:
+ (WebCore::RenderFrameSet::paintColumnBorder):
+ (WebCore::RenderFrameSet::paintRowBorder):
+ * rendering/RenderImage.cpp:
+ (WebCore::RenderImage::paintReplaced):
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::rendererBackgroundColor):
+ * rendering/RenderLayerBacking.h:
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::paintItemForeground):
+ (WebCore::RenderListBox::paintItemBackground):
+ * rendering/RenderListMarker.cpp:
+ (WebCore::RenderListMarker::paint):
+ * rendering/RenderMenuList.cpp:
+ (WebCore::RenderMenuList::itemStyle):
+ (WebCore::RenderMenuList::itemBackgroundColor):
+ (WebCore::RenderMenuList::menuStyle):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::selectionBackgroundColor):
+ (WebCore::RenderObject::selectionForegroundColor):
+ * rendering/RenderSVGResource.cpp:
+ (WebCore::RenderSVGResource::adjustColorForPseudoRules):
+ (WebCore::RenderSVGResource::fillPaintingResource):
+ (WebCore::RenderSVGResource::strokePaintingResource):
+ * rendering/RenderSVGResource.h:
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::paintBoxDecorations):
+ * rendering/RenderTable.h:
+ (WebCore::RenderTable::bgColor):
+ * rendering/RenderTableCell.cpp:
+ (WebCore::RenderTableCell::paintBackgroundsBehindCell):
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::adjustInnerTextStyle):
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::menuStyle):
+ * rendering/RenderTheme.cpp:
+ (WebCore::RenderTheme::isControlStyled):
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::paintMenuListButton):
+ * rendering/RenderTreeAsText.cpp:
+ (WebCore::RenderTreeAsText::writeRenderObject):
+ (WebCore::write):
+ * rendering/RenderTreeAsText.h:
+ * rendering/SVGInlineTextBox.cpp:
+ (WebCore::SVGInlineTextBox::paintSelection):
+ * rendering/SVGRenderTreeAsText.cpp:
+ (WebCore::writeRenderSVGTextBox):
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::colorIncludingFallback):
+ (WebCore::RenderStyle::visitedDependentColor):
+ * rendering/style/RenderStyle.h:
+ (WebCore::):
+ (WebCore::InheritedFlags::hasBackground):
+ (WebCore::InheritedFlags::borderLeftStyle):
+ (WebCore::InheritedFlags::borderRightStyle):
+ (WebCore::InheritedFlags::borderTopStyle):
+ (WebCore::InheritedFlags::borderBottomStyle):
+ (WebCore::InheritedFlags::textShadow):
+ (WebCore::InheritedFlags::textStrokeWidth):
+ (WebCore::InheritedFlags::hasNormalColumnGap):
+ (WebCore::InheritedFlags::borderLeftColor):
+ (WebCore::InheritedFlags::borderRightColor):
+ (WebCore::InheritedFlags::borderTopColor):
+ (WebCore::InheritedFlags::borderBottomColor):
+ (WebCore::InheritedFlags::backgroundColor):
+ (WebCore::InheritedFlags::color):
+ (WebCore::InheritedFlags::columnRuleColor):
+ (WebCore::InheritedFlags::outlineColor):
+ (WebCore::InheritedFlags::textFillColor):
+ (WebCore::InheritedFlags::textStrokeColor):
+ * svg/SVGAnimationElement.cpp:
+ (WebCore::adjustForCurrentColor):
+
+2010-05-21 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix for <rdar://problem/8009118> Crash in WebCore::toAlphabetic()
+ while running MangleMe
+ -and corresponding-
+ https://bugs.webkit.org/show_bug.cgi?id=39508
+
+ The math was slightly off here, and we wound up trying to access an
+ array at index -1 in some cases. We need to decrement numberShadow
+ rather than subtracting one from the result of the modulo
+ operation.
+
+ * rendering/RenderListMarker.cpp:
+ (WebCore::toAlphabeticOrNumeric):
+
+2010-05-21 Oliver Hunt <oliver@apple.com>
+
+ Qt buildfix #2
+
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::convertQVariantToValue):
+ (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
+
+2010-05-21 Oliver Hunt <oliver@apple.com>
+
+ Qt buildfix #1
+
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
+ (JSC::Bindings::QtInstance::newRuntimeObject):
+ (JSC::Bindings::QtInstance::getMethod):
+ * bridge/qt/qt_pixmapruntime.cpp:
+ (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
+ (JSC::Bindings::QtPixmapInstance::getMethod):
+ (JSC::Bindings::QtPixmapInstance::createRuntimeObject):
+
+2010-05-21 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Fixed failure seen on buildbot (due to flaky test).
+
+ Don't report an exception in a nested script evaluation -- just pass the
+ exception on to our caller. Our caller can decide to report the exception,
+ if it fully propagates -- but we don't want to report an exception that's
+ going to get caught.
+
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::ScriptController):
+ (WebCore::ScriptController::evaluateInWorld):
+ * bindings/js/ScriptController.h:
+
+2010-05-21 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ All callable objects should have a global object reference
+ https://bugs.webkit.org/show_bug.cgi?id=39495
+
+ Update the bindings generator to give prototype objects a
+ global object. Update all the manually written JSObject
+ subclasses to pass a global object.
+
+ * ForwardingHeaders/runtime/JSObjectWithGlobalObject.h: Added.
+ * WebCore.PluginHostProcess.exp:
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::objectToStringFunctionGetter):
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::nonCachingStaticFunctionGetter):
+ * bindings/js/JSDOMWindowShell.cpp:
+ (WebCore::JSDOMWindowShell::setWindow):
+ * bindings/js/JSHistoryCustom.cpp:
+ (WebCore::nonCachingStaticBackFunctionGetter):
+ (WebCore::nonCachingStaticForwardFunctionGetter):
+ (WebCore::nonCachingStaticGoFunctionGetter):
+ * bindings/js/JSLocationCustom.cpp:
+ (WebCore::nonCachingStaticReplaceFunctionGetter):
+ (WebCore::nonCachingStaticReloadFunctionGetter):
+ (WebCore::nonCachingStaticAssignFunctionGetter):
+ * bindings/js/WorkerScriptController.cpp:
+ (WebCore::WorkerScriptController::initScript):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bridge/c/CRuntimeObject.cpp:
+ (JSC::Bindings::CRuntimeObject::CRuntimeObject):
+ * bridge/c/CRuntimeObject.h:
+ * bridge/c/c_instance.cpp:
+ (JSC::Bindings::CInstance::newRuntimeObject):
+ (JSC::Bindings::CRuntimeMethod::CRuntimeMethod):
+ (JSC::Bindings::CInstance::getMethod):
+ * bridge/jni/jsc/JavaInstanceJSC.cpp:
+ (JavaInstance::newRuntimeObject):
+ (JavaRuntimeMethod::JavaRuntimeMethod):
+ (JavaInstance::getMethod):
+ * bridge/jni/jsc/JavaRuntimeObject.cpp:
+ (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):
+ * bridge/jni/jsc/JavaRuntimeObject.h:
+ * bridge/jsc/BridgeJSC.cpp:
+ (JSC::Bindings::Instance::newRuntimeObject):
+ * bridge/objc/ObjCRuntimeObject.h:
+ * bridge/objc/ObjCRuntimeObject.mm:
+ (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
+ * bridge/objc/objc_class.mm:
+ (JSC::Bindings::ObjcClass::fallbackObject):
+ * bridge/objc/objc_instance.mm:
+ (ObjcInstance::newRuntimeObject):
+ (ObjCRuntimeMethod::ObjCRuntimeMethod):
+ (ObjcInstance::getMethod):
+ * bridge/objc/objc_runtime.h:
+ * bridge/objc/objc_runtime.mm:
+ (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
+ * bridge/runtime_method.cpp:
+ (JSC::RuntimeMethod::RuntimeMethod):
+ * bridge/runtime_method.h:
+ * bridge/runtime_object.cpp:
+ (JSC::Bindings::RuntimeObject::RuntimeObject):
+ * bridge/runtime_object.h:
+
+2010-05-21 Steve Block <steveblock@google.com>
+
+ Reviewed by Jeremy Orlow.
+
+ Add DeviceOrientation and DeviceOrientationClient
+ https://bugs.webkit.org/show_bug.cgi?id=39479
+
+ The page owns a DeviceOrientation object, which has a pointer to a
+ DeviceOrientationClient object provided by the embedder. The
+ DeviceOrientation object forwards requests to start listening to
+ orientation to the client, and when updates are available, fires a
+ DeviceOrientationEvent on the window object.
+
+ No new tests are possible at this time as the implementation is
+ incomplete. Future patches will add LayoutTestController methods
+ to provide mock orientation events to test this.
+
+ * Android.mk:
+ * CMakeLists.txt:
+ * GNUmakefile.am:
+ * WebCore.base.exp:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/DeviceOrientation.cpp: Added.
+ (WebCore::DeviceOrientation::DeviceOrientation):
+ (WebCore::DeviceOrientation::onDeviceOrientationChange):
+ * dom/DeviceOrientation.h: Added.
+ * dom/DeviceOrientationClient.h: Added.
+ (WebCore::DeviceOrientationClient::~DeviceOrientationClient):
+ * page/Page.cpp:
+ (WebCore::Page::Page):
+ * page/Page.h:
+ (WebCore::Page::deviceOrientation):
+ * svg/graphics/SVGImage.cpp:
+ (WebCore::SVGImage::dataChanged):
+
+2010-05-21 Tasuku Suzuki <tasuku.suzuki@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix compilation with QT_NO_GRAPHICSEFFECT
+ https://bugs.webkit.org/show_bug.cgi?id=38324
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::GraphicsLayerQtImpl::flushChanges):
+
+2010-05-21 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
+
+ Reviewed by Darin Fisher.
+
+ Fix the HistoryController::pushState.
+
+ It should be possible to call the pushState method from
+ the first page in a window.
+
+ history.pushState doesn't work for the first page in a window.
+ https://bugs.webkit.org/show_bug.cgi?id=39418
+
+ * loader/HistoryController.cpp:
+ (WebCore::HistoryController::pushState):
+
+2010-05-21 Victoria Kirst <vrk@google.com>
+
+ Reviewed by David Levin.
+
+ [chromium] Fix slider status when buffering
+ https://bugs.webkit.org/show_bug.cgi?id=39370
+ Adjusts the buffering bar to be aligned with the slider thumb.
+
+ No new tests. (Covered by existing layout tests.)
+
+ * rendering/RenderMediaControlsChromium.cpp:
+ (WebCore::paintMediaSlider):
+ Added logic to align the buffering bar with the thumb. Half of the
+ thumb image is transparent, so the buffer bar is adjusted to fill in
+ this gap.
+
+2010-05-21 Jesus Sanchez-Palencia <jesus@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Extra processesArguments() calls in Document::processViewport
+ https://bugs.webkit.org/show_bug.cgi?id=39358
+
+ The viewport arguments are only needed when there is a frame->page(),
+ therefore we don't need to always call processArguments().
+
+ * dom/Document.cpp:
+ (WebCore::Document::processViewport):
+
+2010-05-17 Philippe Normand <pnormand@igalia.com>
+
+ Reviewed by Eric Carlson.
+
+ [GStreamer] video painting support on mac port
+ https://bugs.webkit.org/show_bug.cgi?id=39206
+
+ ImageGStreamer support for mac port. A CG Image is created using
+ the GstBuffer data. It can then be painted by the gstreamer player.
+
+ * platform/graphics/gstreamer/ImageGStreamer.h:
+ * platform/graphics/gstreamer/ImageGStreamerCG.mm: Added.
+ (ImageGStreamer::createImage):
+ (ImageGStreamer::ImageGStreamer):
+ (ImageGStreamer::~ImageGStreamer):
+
+2010-05-21 Robin Cao <robin.cao@torchmobile.com.cn>
+
+ Reviewed by Eric Seidel.
+
+ animateTransform does not work on gradientTransform
+ https://bugs.webkit.org/show_bug.cgi?id=38115
+
+ Tests: svg/animations/animate-gradient-transform.html
+
+ * svg/SVGAnimateTransformElement.cpp:
+ (WebCore::SVGAnimateTransformElement::hasValidTarget): Check if the target element is gradient.
+ (WebCore::transformListFor): Ditto.
+ (WebCore::SVGAnimateTransformElement::resetToBaseValue): Ditto.
+ (WebCore::SVGAnimateTransformElement::applyResultsToTarget): Ditto.
+
+2010-05-21 Young Han Lee <joybro@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ Fix guard around DatabaseSync
+ https://bugs.webkit.org/show_bug.cgi?id=38897
+
+ * storage/DatabaseSync.cpp:
+
+2010-05-21 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] Prospective Qt/Mac build fix
+
+ My cpp is paranoid and doesn't like #if Q_WS_MAC:
+ error: #if with no expression
+
+ * page/qt/EventHandlerQt.cpp:
+
+2010-05-21 Lucas De Marchi <lucas.demarchi@profusion.mobi>
+
+ Reviewed by Eric Seidel.
+
+ [EFL] Update Localized Strings. Remove markers from strings
+ since we are not using them and they are only polluting output.
+ https://bugs.webkit.org/show_bug.cgi?id=39371
+
+ No new tests required.
+
+ * platform/efl/LocalizedStringsEfl.cpp:
+ (WebCore::contextMenuItemTagOpenLinkInNewWindow):
+ (WebCore::contextMenuItemTagDownloadLinkToDisk):
+ (WebCore::contextMenuItemTagCopyLinkToClipboard):
+ (WebCore::contextMenuItemTagOpenImageInNewWindow):
+ (WebCore::contextMenuItemTagDownloadImageToDisk):
+ (WebCore::contextMenuItemTagCopyImageToClipboard):
+ (WebCore::contextMenuItemTagOpenFrameInNewWindow):
+ (WebCore::contextMenuItemTagSelectAll):
+ (WebCore::contextMenuItemTagUnicode):
+ (WebCore::contextMenuItemTagInputMethods):
+ (WebCore::contextMenuItemTagGoBack):
+ (WebCore::contextMenuItemTagGoForward):
+ (WebCore::contextMenuItemTagReload):
+ (WebCore::contextMenuItemTagIgnoreSpelling):
+ (WebCore::contextMenuItemTagLearnSpelling):
+ (WebCore::contextMenuItemTagSearchWeb):
+ (WebCore::contextMenuItemTagLookUpInDictionary):
+ (WebCore::contextMenuItemTagOpenLink):
+ (WebCore::contextMenuItemTagIgnoreGrammar):
+ (WebCore::contextMenuItemTagSpellingMenu):
+ (WebCore::contextMenuItemTagCheckSpelling):
+ (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
+ (WebCore::contextMenuItemTagFontMenu):
+ (WebCore::contextMenuItemTagOutline):
+ (WebCore::contextMenuItemTagInspectElement):
+ (WebCore::searchMenuClearRecentSearchesText):
+ (WebCore::missingPluginText): Add missing message.
+ (WebCore::multipleFileUploadText):
+ (WebCore::crashedPluginText):
+
+2010-05-21 Lucas De Marchi <lucas.demarchi@profusion.mobi>
+
+ Reviewed by Eric Seidel.
+
+ [EF] Fix support for focus ring.
+ https://bugs.webkit.org/show_bug.cgi?id=39387
+
+ No new tests required.
+
+ * html/HTMLAnchorElement.cpp: Add EFL to #ifdef
+ (WebCore::HTMLAnchorElement::isMouseFocusable):
+
+2010-05-21 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Add missing localized string symbols.
+ https://bugs.webkit.org/show_bug.cgi?id=39394
+
+ Add missingPluginText and crashedPluginText.
+
+ * platform/brew/LocalizedStringsBrew.cpp:
+ (WebCore::missingPluginText):
+ (WebCore::crashedPluginText):
+
+2010-05-21 Steve Block <steveblock@google.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Calls to CallJNIMethodIDA() in JavaInstance::invokeMethod() are required on Android
+ https://bugs.webkit.org/show_bug.cgi?id=39426
+
+ This code path has always been used by Android, but was guarded with
+ BUILDING_ON_TIGER in http://trac.webkit.org/changeset/55054, thus
+ breaking the Android build.
+
+ No new tests, build fix only.
+
+ * bridge/jni/jsc/JavaInstanceJSC.cpp:
+ (JavaInstance::invokeMethod):
+
+2010-05-20 Tony Chang <tony@chromium.org>
+
+ Reviewed by Kent Tamura.
+
+ escape link text when copying or dragging links on win or chromium
+ https://bugs.webkit.org/show_bug.cgi?id=39413
+
+ * editing/markup.cpp:
+ (WebCore::urlToMarkup):
+ * editing/markup.h:
+ * platform/chromium/ClipboardUtilitiesChromium.cpp:
+ * platform/chromium/ClipboardUtilitiesChromium.h:
+ * platform/win/ClipboardUtilitiesWin.cpp:
+ * platform/win/ClipboardUtilitiesWin.h:
+
+2010-05-18 Philippe Normand <pnormand@igalia.com>
+
+ Reviewed by Eric Carlson.
+
+ [GStreamer] PlatformMedia support
+ https://bugs.webkit.org/show_bug.cgi?id=39300
+
+ Basic support for PlatformMedia in the gst player. The
+ PlatformMedia object contains a GStreamerGWorld object. That
+ object is empty for now. XOverlay features will be added later
+ on for easy review sake.
+
+ * GNUmakefile.am:
+ * platform/graphics/MediaPlayer.h:
+ (WebCore::PlatformMedia::):
+ * platform/graphics/gstreamer/GStreamerGWorld.cpp: Added.
+ (WebCore::GStreamerGWorld::createGWorld):
+ (WebCore::GStreamerGWorld::GStreamerGWorld):
+ (WebCore::GStreamerGWorld::~GStreamerGWorld):
+ * platform/graphics/gstreamer/GStreamerGWorld.h: Added.
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::MediaPlayerPrivateGStreamer::platformMedia):
+ (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
+
+2010-05-20 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Add dummy SSLKeyGenerator
+ https://bugs.webkit.org/show_bug.cgi?id=39403
+
+ Add dummy implementation of SSLKeyGenerator.
+
+ * platform/brew/SSLKeyGeneratorBrew.cpp: Added.
+ (WebCore::WebCore::getSupportedKeySizes):
+ (WebCore::WebCore::signedPublicKeyAndChallengeString):
+
+2010-05-20 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Dan Bernstein.
+
+ <rdar://problem/7848154> Remove the dependency on Foundation's private __COCOA_FORMAL_PROTOCOLS_2__ define.
+
+ * platform/mac/EmptyProtocolDefinitions.h:
+
+2010-05-20 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Add Editor
+ https://bugs.webkit.org/show_bug.cgi?id=39404
+
+ Implement Editor::newGeneralClipboard.
+
+ * editing/brew/EditorBrew.cpp: Added.
+ (WebCore::Editor::newGeneralClipboard):
+
+2010-05-20 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Avoid flushing CA layers when a layout is pending
+ https://bugs.webkit.org/show_bug.cgi?id=39463
+ <rdar://problem/7999463>
+
+ Avoid rendering the compositing layers to the screen if there's a layout pending,
+ since the layer tree not in a state that should be presented to the user.
+
+ This fixes flashes in some types of content that dynamically add and remove layers.
+
+ Do this by adding a WKCACFLayerRendererClient for WKCACFLayerRenderer, which it can
+ call through to ask whether now is a good time to render. If not, it schedules
+ another render soon.
+
+ * platform/graphics/win/WKCACFLayerRenderer.h:
+ (WebCore::WKCACFLayerRendererClient::~WKCACFLayerRendererClient):
+ * platform/graphics/win/WKCACFLayerRenderer.cpp:
+ (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable):
+ (WebCore::WKCACFLayerRenderer::create):
+ (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
+ (WebCore::WKCACFLayerRenderer::render):
+
+2010-05-20 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Don't include CoreFoundation.h when building for BREW MP
+ https://bugs.webkit.org/show_bug.cgi?id=39405
+
+ Add !defined(BUILDING_BREWMP__) guard for CoreFoundation.h.
+
+ * WebCorePrefix.h:
+
+2010-05-20 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Add ScrollTheme
+ https://bugs.webkit.org/show_bug.cgi?id=39406
+
+ As BREW MP always uses frame flattening, there is no need to render scorllbars.
+ Use the default scrollbar theme with thickness 0.
+
+ * platform/brew/ScrollbarThemeBrew.cpp: Added.
+ (WebCore::ScrollbarTheme::nativeTheme):
+ (WebCore::ScrollbarThemeBrew::~ScrollbarThemeBrew):
+ * platform/brew/ScrollbarThemeBrew.h: Added.
+
+2010-05-20 Jon Honeycutt <jhoneycutt@apple.com>
+
+ REGRESSION(r53637): DivX plug-in fails to start until window is resized
+ https://bugs.webkit.org/show_bug.cgi?id=39457
+ <rdar://problem/8006102>
+
+ Before r53637, we called Widget::move() (which caused us to call
+ NPP_SetWindow) before painting a plug-in. r53637 removed the call to
+ Widget::move(), and we end up never calling NPP_SetWindow for plug-ins
+ with the "DeferFirstSetWindowCall" quirk, including the DivX plug-in.
+
+ Reviewed by Simon Fraser.
+
+ * manual-tests/divx-plugin-fails-to-draw.html: Added.
+
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::PluginView):
+ Initialize new member to false.
+
+ * plugins/PluginView.h:
+ Added new member.
+
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::PluginView::paint):
+ Call setNPWindowRect() before painting to ensure that NPP_SetWindow gets
+ called.
+ (WebCore::PluginView::setNPWindowRect):
+ Set m_haveCalledSetWindow.
+
+2010-05-20 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ WebSocket handshake incompatible change in draft-hixie-thewebsocketprotocol-76
+ https://bugs.webkit.org/show_bug.cgi?id=35572
+
+ WebSocket opening handshake is changed. New protocol draft could be found at http://www.whatwg.org/specs/web-socket-protocol/
+ It requires https://bugs.webkit.org/show_bug.cgi?id=38034 to pass websocket tests.
+
+ * websockets/WebSocketHandshake.cpp:
+ (WebCore::extractResponseCode):
+ add lineLength parameter to return length of status line.
+ (WebCore::hostName): Added.
+ (WebCore::generateSecWebSocketKey): Added.
+ (WebCore::generateKey3): Added.
+ (WebCore::setChallengeNumber): Added.
+ (WebCore::generateChallengeResponseExpected): Added.
+ (WebCore::WebSocketHandshake::WebSocketHandshake):
+ generate challenge response key and expected data.
+ (WebCore::WebSocketHandshake::clientLocation):
+ use hostName.
+ (WebCore::WebSocketHandshake::clientHandshakeMessage):
+ changed for draft 76 spec.
+ (WebCore::WebSocketHandshake::clientHandshakeRequest):
+ (WebCore::WebSocketHandshake::readServerHandshake):
+ changed for draft 76 spec.
+ m_mode is managed in this method.
+ (WebCore::WebSocketHandshake::readHTTPHeaders):
+ change error log messages.
+ (WebCore::WebSocketHandshake::processHeaders):
+ chagned for draft 76 spec.
+ (WebCore::WebSocketHandshake::checkResponseHeaders):
+ return boolean whether response header is ok or not and not change m_mode in it.
+ * websockets/WebSocketHandshake.h:
+
+2010-05-20 Adam Roben <aroben@apple.com>
+
+ Stop leaking all CACFContexts
+
+ Fixes <http://webkit.org/b/39466> <rdar://problem/8007141>.
+
+ Reviewed by Simon Fraser.
+
+ * platform/graphics/win/WKCACFContextFlusher.cpp:
+ (WebCore::WKCACFContextFlusher::addContext): Only retain the context
+ when we first add it to the m_contexts set. Otherwise we'll retain the
+ same context multiple times, causing it to leak.
+
+2010-05-20 Young Han Lee <joybro@company100.net>
+
+ Reviewed by Darin Adler.
+
+ Create filenameFromString for all ports except GTK and EFL.
+ https://bugs.webkit.org/show_bug.cgi?id=39348
+
+ * platform/FileSystem.cpp: Added.
+ (WebCore::filenameFromString):
+ * platform/FileSystem.h:
+
+2010-05-20 Young Han Lee <joybro@company100.net>
+
+ Reviewed by Darin Adler.
+
+ Port SharedBuffer to POSIX.
+ https://bugs.webkit.org/show_bug.cgi?id=39283
+
+ * platform/posix/SharedBufferPOSIX.cpp: Added.
+ (WebCore::SharedBuffer::createWithContentsOfFile):
+
+2010-05-20 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Map RGBA4/RGB5_A1 to RGBA and RGB565 to RGB in RenderbufferStorage
+ https://bugs.webkit.org/show_bug.cgi?id=39077
+
+ * platform/graphics/mac/GraphicsContext3DMac.cpp:
+ (WebCore::GraphicsContext3D::renderbufferStorage): Mapping the enums.
+
+2010-05-20 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ <rdar://problem/8007953> Textarea using custom font appears blank
+
+ Test: fast/css/font-face-in-shadow-DOM.html
+
+ When a remote font is loaded, CSSFontSelector forces a style recalc, which replaces all
+ RenderSyles that have FontFallbackLists referencing the placeholder font with fresh
+ RenderStyles. However, it does not descend into shadow DOM trees, so those may end up with
+ styles that still reference the placeholder font.
+
+ The fix is to add RenderObject::requiresForcedStyleRecalcPropagation() and have it return
+ true from renderers that maintain shadow DOM trees or otherwise keep their own RenderStyles.
+
+ * dom/Element.cpp:
+ (WebCore::Element::recalcStyle): Check if forced style recalc needs to propagated.
+ * rendering/RenderButton.h:
+ (WebCore::RenderButton::requiresForcedStyleRecalcPropagation):
+ * rendering/RenderDataGrid.h:
+ (WebCore::RenderDataGrid::requiresForcedStyleRecalcPropagation):
+ * rendering/RenderFileUploadControl.h:
+ (WebCore::RenderFileUploadControl::requiresForcedStyleRecalcPropagation):
+ * rendering/RenderListItem.h:
+ (WebCore::RenderListItem::requiresForcedStyleRecalcPropagation):
+ * rendering/RenderMedia.h:
+ (WebCore::RenderMedia::requiresForcedStyleRecalcPropagation):
+ * rendering/RenderMenuList.h:
+ (WebCore::RenderMenuList::RenderMenuList::requiresForcedStyleRecalcPropagation):
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::requiresForcedStyleRecalcPropagation):
+ * rendering/RenderProgress.h:
+ (WebCore::RenderProgress::requiresForcedStyleRecalcPropagation):
+ * rendering/RenderSlider.h:
+ (WebCore::RenderSlider::requiresForcedStyleRecalcPropagation):
+ * rendering/RenderTextControl.h:
+ (WebCore::RenderTextControl::requiresForcedStyleRecalcPropagation):
+
+2010-05-20 Jer Noble <jer.noble@apple.com>
+
+ No review; build fix only.
+
+ When WTF_USE_ACCELERATED_COMPOSITING is turned off, MediaPlayerPrivateQuickTimeVisualContext.cpp
+ must include CoreGraphics/CGContext.h.
+
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
+
+2010-05-20 Jer Noble <jer.noble@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Video elements show no video on Windows machines that do not support accelerated compositing
+ https://bugs.webkit.org/show_bug.cgi?id=39446
+ rdar://problem/7999794
+
+ Implement the paint() method in MediaPlayerPrivateQuickTimeVisualContext. The visual context should
+ be set up in load() and torn down in the destructor (as opposed to setUpVideoRendering and
+ tearDownVideoRendering, which won't get called in a non-accelerated compositing case).
+
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
+ (WebCore::MediaPlayerPrivateQuickTimeVisualContext::~MediaPlayerPrivateQuickTimeVisualContext):
+ (WebCore::MediaPlayerPrivateQuickTimeVisualContext::load):
+ (WebCore::MediaPlayerPrivateQuickTimeVisualContext::paint):
+ (WebCore::MediaPlayerPrivateQuickTimeVisualContext::visualContextTimerFired):
+ (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
+ (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpVideoRendering):
+ (WebCore::MediaPlayerPrivateQuickTimeVisualContext::tearDownVideoRendering):
+
+2010-05-20 Abhishek Arya <inferno@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Added a method to check if the security origin can access
+ password manager.
+ https://bugs.webkit.org/show_bug.cgi?id=38916
+
+ * page/SecurityOrigin.h:
+ (WebCore::SecurityOrigin::canAccessPasswordManager):
+
+2010-05-20 Darin Adler <darin@apple.com>
+
+ Reviewed by Eric Seidel.
+
+ Fix warnings seen on the buildbots today
+ https://bugs.webkit.org/show_bug.cgi?id=39368
+
+ * loader/icon/IconDatabase.cpp:
+ (WebCore::IconDatabase::pruneUnretainedIcons): Use the type "long long" for
+ things being printed with "%lli". There is no guaranteed that int64_t is the
+ same thing as long long.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMousePressEvent): Added parentheses as suggested
+ by warnings in newer versions of GCC.
+
+ * platform/ContextMenu.cpp: Fix #if around the functions to match the #if
+ around the call sites to avoid unused function warning.
+
+ * platform/graphics/gtk/ImageGtk.cpp:
+ (WebCore::Image::loadPlatformResource): Use NULL to end a variable argument list
+ rather than 0. This is a case where the WebKit "use 0 instead of NULL" guideline
+ is incorrect and won't work properly.
+
+ * platform/win/SystemTimeWin.cpp:
+ (WebCore::userIdleTime): Removed unnecessary initialization of LASTINPUTINFO.
+
+ * platform/win/WebCoreInstanceHandle.h: Added property svn:eol-style.
+ Made functions inline instead of static. It's not correct to have functions with
+ internal linkage in a header file. Marking them inline makes more sense.
+
+ * plugins/win/PluginMessageThrottlerWin.cpp:
+ (WebCore::PluginMessageThrottlerWin::PluginMessageThrottlerWin): Reordered the
+ initializers to match the order of the data members from the class definition.
+
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::PluginView::paintIntoTransformedContext): Initialized all the fields
+ of WINDOWPOS. I know this goes against the traditions of Windows programming,
+ but it's correct and silences the warning. Also removed the unneeded separate
+ code path for non-WinCE platforms that translates only the corner of the window
+ rectangle; the WinCE version is correct for normal Windows as well. Not sure
+ why this wasn't caught when the code was originally checked in.
+
+2010-05-20 Justin Schuh <jschuh@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Moving frame.src checks out of the bindings
+ https://bugs.webkit.org/show_bug.cgi?id=37815
+
+ Moved JavaScript frame.src checks out of bindings and into
+ HTMLFrameElementBase. Added main thread state stack to JavaScriptCore
+ so ExecState is available inside core DOM. Updated affected bindings
+ (except for GObject, which will need to be updated to avoid origin
+ failures inside native code).
+
+ * Android.jscbindings.mk:
+ * CMakeLists.txt:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSBindingsAllInOne.cpp:
+ * bindings/js/JSCallbackData.cpp:
+ (WebCore::JSCallbackData::invokeCallback):
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::handleEvent):
+ * bindings/js/JSInjectedScriptHostCustom.cpp:
+ (WebCore::InjectedScriptHost::createInjectedScript):
+ * bindings/js/JSMainThreadExecState.cpp: Added.
+ * bindings/js/JSMainThreadExecState.h: Added.
+ (WebCore::JSMainThreadExecState::currentState):
+ (WebCore::JSMainThreadExecState::call):
+ (WebCore::JSMainThreadExecState::evaluate):
+ (WebCore::JSMainThreadExecState::JSMainThreadExecState):
+ (WebCore::JSMainThreadExecState::~JSMainThreadExecState):
+ (WebCore::JSMainThreadNullState::JSMainThreadNullState):
+ * bindings/js/ScheduledAction.cpp:
+ (WebCore::ScheduledAction::executeFunctionInContext):
+ (WebCore::ScheduledAction::execute):
+ * bindings/js/ScheduledAction.h:
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::evaluateInWorld):
+ (WebCore::ScriptController::canAccessFromCurrentOrigin):
+ * bindings/js/ScriptController.h:
+ * bindings/js/ScriptFunctionCall.cpp:
+ (WebCore::ScriptFunctionCall::call):
+ * bindings/objc/ObjCEventListener.mm:
+ * bindings/objc/WebScriptObject.mm:
+ (-[WebScriptObject callWebScriptMethod:withArguments:]):
+ (-[WebScriptObject evaluateWebScript:]):
+ * bindings/scripts/CodeGeneratorObjC.pm:
+ * bindings/scripts/test/ObjC/DOMTestCallback.mm:
+ (-[DOMTestCallback callbackWithClass1Param:]):
+ (-[DOMTestCallback callbackWithClass2Param:strArg:]):
+ (-[DOMTestCallback callbackWithNonBoolReturnType:]):
+ (-[DOMTestCallback customCallback:class6Param:]):
+ * bindings/scripts/test/ObjC/DOMTestInterface.mm:
+ * bindings/scripts/test/ObjC/DOMTestObj.mm:
+ (-[DOMTestObj readOnlyIntAttr]):
+ (-[DOMTestObj readOnlyStringAttr]):
+ (-[DOMTestObj readOnlyTestObjAttr]):
+ (-[DOMTestObj intAttr]):
+ (-[DOMTestObj setIntAttr:]):
+ (-[DOMTestObj longLongAttr]):
+ (-[DOMTestObj setLongLongAttr:]):
+ (-[DOMTestObj unsignedLongLongAttr]):
+ (-[DOMTestObj setUnsignedLongLongAttr:]):
+ (-[DOMTestObj stringAttr]):
+ (-[DOMTestObj setStringAttr:]):
+ (-[DOMTestObj testObjAttr]):
+ (-[DOMTestObj setTestObjAttr:]):
+ (-[DOMTestObj attrWithException]):
+ (-[DOMTestObj setAttrWithException:]):
+ (-[DOMTestObj attrWithSetterException]):
+ (-[DOMTestObj setAttrWithSetterException:]):
+ (-[DOMTestObj attrWithGetterException]):
+ (-[DOMTestObj setAttrWithGetterException:]):
+ (-[DOMTestObj customAttr]):
+ (-[DOMTestObj setCustomAttr:]):
+ (-[DOMTestObj scriptStringAttr]):
+ (-[DOMTestObj voidMethod]):
+ (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
+ (-[DOMTestObj intMethod]):
+ (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
+ (-[DOMTestObj objMethod]):
+ (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
+ (-[DOMTestObj methodThatRequiresAllArgs:objArg:]):
+ (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]):
+ (-[DOMTestObj serializedValue:]):
+ (-[DOMTestObj methodWithException]):
+ (-[DOMTestObj customMethod]):
+ (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
+ (-[DOMTestObj customArgsAndException:]):
+ (-[DOMTestObj addEventListener:listener:useCapture:]):
+ (-[DOMTestObj removeEventListener:listener:useCapture:]):
+ (-[DOMTestObj withDynamicFrame]):
+ (-[DOMTestObj withDynamicFrameAndArg:]):
+ (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
+ (-[DOMTestObj withDynamicFrameAndUserGesture:]):
+ (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
+ (-[DOMTestObj withScriptStateVoid]):
+ (-[DOMTestObj withScriptStateObj]):
+ (-[DOMTestObj withScriptStateVoidException]):
+ (-[DOMTestObj withScriptStateObjException]):
+ (-[DOMTestObj methodWithOptionalArg:]):
+ (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
+ (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::canAccessFromCurrentOrigin):
+ * bindings/v8/ScriptController.h:
+ * html/HTMLFrameElementBase.cpp:
+ (WebCore::HTMLFrameElementBase::isURLAllowed):
+
+2010-05-20 Adam Roben <aroben@apple.com>
+
+ Fix an HRGN leak in WKCACFLayerRenderer
+
+ Fixes <http://webkit.org/b/39312> <rdar://problem/7998728> REGRESSION
+ (r53686-r55990): Graphics corruption when watching video (affects
+ youtube.com)
+
+ Reviewed by Darin Adler.
+
+ * platform/graphics/win/WKCACFLayerRenderer.cpp:
+ (WebCore::getDirtyRects): Use an OwnPtr to hold the HRGN we allocate.
+ That way we don't have to remember to destroy it (as we were
+ forgetting to do) when we bail out of this function early.
+
+2010-05-20 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Nate Chapin.
+
+ [chromium] Provide a way to catch exceptions thrown while interacting
+ with a NPObject via WebBindings methods.
+ https://bugs.webkit.org/show_bug.cgi?id=39378
+
+ This change also includes a small bit of cleanup in V8NPObject and
+ friends. I moved code into the WebCore namespace where appropriate.
+
+ In _NPN_Invoke, I also moved the call to _NPN_Evaluate outside of the
+ context scope. I did this to avoid having nested ExceptionCatcher
+ objects, which is not strictly necessary, but it seemed cleaner.
+ _NPN_Evaluate already takes care of creating a context scope.
+
+ * bindings/v8/NPV8Object.cpp:
+ (WebCore::v8ObjectToNPObject):
+ (WebCore::npCreateV8ScriptObject):
+ (_NPN_Invoke):
+ (_NPN_InvokeDefault):
+ (_NPN_Evaluate):
+ (_NPN_EvaluateHelper):
+ (_NPN_GetProperty):
+ (_NPN_SetProperty):
+ (_NPN_RemoveProperty):
+ (_NPN_HasProperty):
+ (_NPN_HasMethod):
+ (_NPN_SetException):
+ (_NPN_Enumerate):
+ (_NPN_Construct):
+ * bindings/v8/NPV8Object.h:
+ * bindings/v8/V8NPObject.cpp:
+ * bindings/v8/V8NPObject.h:
+ * bindings/v8/V8NPUtils.cpp:
+ (WebCore::convertV8ObjectToNPVariant):
+ (WebCore::pushExceptionHandler):
+ (WebCore::popExceptionHandler):
+ (WebCore::ExceptionCatcher::ExceptionCatcher):
+ (WebCore::ExceptionCatcher::~ExceptionCatcher):
+ * bindings/v8/V8NPUtils.h:
+ * bindings/v8/npruntime.cpp:
+
+2010-05-20 Marcus Bulach <bulach@chromium.org>
+
+ Reviewed by Steve Block.
+
+ Ensure timers are stopped on Geolocation::disconnectFrame()
+ https://bugs.webkit.org/show_bug.cgi?id=39388
+
+ fast/dom/Geolocation/notimer-after-unload.html, plus it should be possible to re-enable Gtk LayoutTests.
+
+ * page/Geolocation.cpp:
+ (WebCore::Geolocation::disconnectFrame):
+
+2010-05-20 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Ensures styles are up-to-date before determining selection
+ https://bugs.webkit.org/show_bug.cgi?id=39389
+
+ This adds a call to document::updateStyleIfNeeded() to
+ Frame::notifyRendererOfSelectionChange(). Without this call, if there
+ is a pending style update that will detach part of the DOM and the
+ the selection is within that part of the DOM when
+ notifyRendererOfSeletionChange is called, the rootEditableElement
+ algorithm ends up walking through detached parts of the render tree.
+
+ Test: editing/selection/focus-and-display-none.html
+
+ * page/Frame.cpp:
+ (WebCore::Frame::notifyRendererOfSelectionChange):
+
+2010-05-20 Adam Roben <aroben@apple.com>
+
+ Remove code that fetched, but did nothing useful with, a CFDictionary
+ in MediaPlayerPrivateQuickTimeVisualContext
+
+ I also removed the code in QTPixelBuffer that vended the dictionary.
+
+ Fixes <http://webkit.org/b/39435> <rdar://problem/8009278>
+ QTPixelBuffer passes CFDictionaries across the DLL boundary, which can
+ lead to crashes
+
+ Reviewed by Darin Adler.
+
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
+ (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
+ Deleted code that fetched the attachments dictionary, which was never
+ used other than to pass it to CFRetain/CFRelease, which could be
+ enough to cause a crash due to incompatible copies of
+ CoreFoundation.dll.
+
+ * platform/graphics/win/QTMovieVisualContext.h: Added a now-needed
+ forward declaration.
+
+ * platform/graphics/win/QTPixelBuffer.cpp:
+ * platform/graphics/win/QTPixelBuffer.h:
+ Removed the now-unused attachments function.
+
+2010-05-20 Adam Roben <aroben@apple.com>
+
+ Fix a CFData leak in MediaPlayerPrivateQuickTimeVisualContext
+
+ Fixes <http://webkit.org/b/39432> <rdar://problem/8008992>
+
+ Reviewed by Ada Chan
+
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
+ (WebCore::QTCFDictionaryCreateWithDataCallback): Use a RetainPtr to
+ hold the CFData we allocate so it will get released when this function
+ is exited. Also pass kCFAllocatorNull as the bytes deallocator to
+ CFDataCreateWithBytesNoCopy so that CF doesn't try to deallocate the
+ bytes we pass to it.
+
+2010-05-20 Jian Li <jianli@chromium.org>
+
+ Reviewed by David Levin.
+
+ Rename GenericTask* to CrossThreadTask* in CrossThreadTask.h.
+ https://bugs.webkit.org/show_bug.cgi?id=39437
+
+ * dom/CrossThreadTask.h:
+ (WebCore::):
+ (WebCore::CrossThreadTask1::create):
+ (WebCore::CrossThreadTask1::CrossThreadTask1):
+ (WebCore::CrossThreadTask2::create):
+ (WebCore::CrossThreadTask2::CrossThreadTask2):
+ (WebCore::CrossThreadTask3::create):
+ (WebCore::CrossThreadTask3::CrossThreadTask3):
+ (WebCore::CrossThreadTask4::create):
+ (WebCore::CrossThreadTask4::CrossThreadTask4):
+ (WebCore::CrossThreadTask5::create):
+ (WebCore::CrossThreadTask5::CrossThreadTask5):
+ (WebCore::CrossThreadTask6::create):
+ (WebCore::CrossThreadTask6::CrossThreadTask6):
+ (WebCore::CrossThreadTask7::create):
+ (WebCore::CrossThreadTask7::CrossThreadTask7):
+ (WebCore::CrossThreadTask8::create):
+ (WebCore::CrossThreadTask8::CrossThreadTask8):
+ (WebCore::createCallbackTask):
+
+2010-05-20 Jian Li <jianli@chromium.org>
+
+ Reviewed by David Levin.
+
+ Rename GenericWorkerTask.h to CrossThreadTask.h and move it to dom directory.
+ https://bugs.webkit.org/show_bug.cgi?id=39135
+
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/CrossThreadTask.h: Renamed from WebCore/workers/GenericWorkerTask.h.
+ * html/FileStreamProxy.cpp:
+ * loader/WorkerThreadableLoader.cpp:
+ * websockets/WorkerThreadableWebSocketChannel.cpp:
+ * workers/DefaultSharedWorkerRepository.cpp:
+ * workers/WorkerMessagingProxy.cpp:
+ * workers/WorkerScriptLoader.cpp:
+
+2010-05-20 Adele Peterson <adele@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Remove the Safari welcome page site-specific quirk, since its no longer needed.
+
+ * css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::cssRules):
+
+2010-05-20 Steve Block <steveblock@google.com>
+
+ Reviewed by Jeremy Orlow.
+
+ Provide bindings for DeviceOrientation
+ https://bugs.webkit.org/show_bug.cgi?id=39210
+
+ Tests: fast/dom/DeviceOrientation/window-property.html
+ fast/dom/Window/window-properties-on-device-orientation.html
+
+ Adds bindings for DeviceOrientation as defined in
+ http://dev.w3.org/geo/api/spec-source-orientation.html
+ This is guarded by ENABLE(DEVICE_ORIENTATION) which is currently disabled on
+ all platforms but Android.
+
+ * Android.derived.jscbindings.mk:
+ * Android.derived.v8bindings.mk:
+ * Android.mk:
+ * Configurations/FeatureDefines.xcconfig:
+ * DerivedSources.cpp:
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pri:
+ * WebCore.pro:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSEventCustom.cpp:
+ (WebCore::toJS):
+ * bindings/v8/custom/V8EventCustom.cpp:
+ (WebCore::toV8):
+ * dom/DeviceOrientationEvent.cpp: Added.
+ (WebCore::DeviceOrientationEvent::DeviceOrientationEvent):
+ (WebCore::DeviceOrientationEvent::initDeviceOrientationEvent):
+ * dom/DeviceOrientationEvent.h: Added.
+ (WebCore::DeviceOrientationEvent::create):
+ (WebCore::DeviceOrientationEvent::alpha):
+ (WebCore::DeviceOrientationEvent::beta):
+ (WebCore::DeviceOrientationEvent::gamma):
+ (WebCore::DeviceOrientationEvent::isDeviceOrientationEvent):
+ * dom/DeviceOrientationEvent.idl: Added.
+ * dom/Event.cpp:
+ (WebCore::Event::isDeviceOrientationEvent):
+ * dom/Event.h:
+ * dom/EventNames.h:
+ * page/DOMWindow.h:
+ * page/DOMWindow.idl:
+
+2010-05-20 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Rubberstamped by Antti Koivisto.
+
+ Use 0.15 as text drag delay when Q_WS_MAC is defined, which is
+ consistent with the Mac OS X platform.
+
+ * page/qt/EventHandlerQt.cpp:
+
+2010-05-19 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ Fix painting when using clipToImageBuffer()
+
+ When we apply the transform of the parent painter to the painter of
+ the transparency layer, we adopt its coordinate system, thus offset
+ should not be in page coordinates, but in the coordinate system of
+ the parent painter.
+
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::TransparencyLayer::TransparencyLayer):
+
+2010-05-20 Adam Langley <agl@chromium.org>
+
+ Reviewed by David Levin.
+
+ [chromium] Avoid crash when msttcorefonts aren't provided
+
+ https://bugs.webkit.org/show_bug.cgi?id=39015
+ http://code.google.com/p/chromium/issues/detail?id=43831
+
+ * platform/graphics/chromium/FontCacheLinux.cpp:
+ (WebCore::FontCache::createFontPlatformData):
+
+2010-05-20 Zoltan Herczeg <zherczeg@webkit.org>
+
+ Reviewed by Dirk Schulze.
+
+ Fix a crash caused by feLigthing::apply()
+ https://bugs.webkit.org/show_bug.cgi?id=39004
+
+ Make FELighting::apply() similar to other filters' applies
+ to avoid an assertion fail in putUnmultipliedImageData(),
+ when effectDrawingRect has negative location (x or y is less than 0).
+
+ Test: svg/filters/feLighting-crash.svg
+
+ * svg/graphics/filters/SVGFELighting.cpp:
+ (WebCore::FELighting::apply):
+
+2010-05-20 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Modified FrameLoader::urlSelected() to accept a KURL instead of a
+ ResourceRequest.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39320
+
+ Since ResourceRequest has non-explicit single-parameter constructors for
+ String and KURL, urlSelected() previously accepted any of String, KURL,
+ and ResourceRequest. This revision changes urlSelected() to accept only
+ a KURL to make the API tighter and easier to refactor.
+
+ No new functionality, so no new tests.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::urlSelected):
+ - Changed the public overload to accept a KURL instead of a ResourceRequest.
+ * loader/FrameLoader.h:
+ - Changed the public overload to accept a KURL instead of a ResourceRequest.
+ * wml/WMLAElement.cpp:
+ (WebCore::WMLAElement::defaultEventHandler):
+ - Updated the call to urlSelected().
+
+2010-05-20 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Kent Tamura.
+
+ 2x execCommand ReadAV@NULL
+ https://bugs.webkit.org/show_bug.cgi?id=35791
+
+ In applyBlockStyle(), a node which is referred from
+ nextParagraphStart sometimes removed from the document and goes
+ orphan, and that causes an assertion failed. This is because
+ moveParagraphs() replaces the node with a new one with some new
+ styles applied. So we re-compute nextParagraphStart in that case.
+
+ Test: editing/execCommand/35791.html
+
+ * dom/Position.h:
+ (WebCore::Position::isOrphan):
+ * editing/ApplyStyleCommand.cpp:
+ (WebCore::ApplyStyleCommand::applyBlockStyle):
+ * editing/VisiblePosition.h:
+ (WebCore::VisiblePosition::isOrphan):
+
+2010-05-20 Steve Block <steveblock@google.com>
+
+ Reviewed by Eric Seidel.
+
+ PluginView contains JSC-specific code
+ https://bugs.webkit.org/show_bug.cgi?id=38907
+
+ Build fix only, no new tests.
+
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::start):
+ (WebCore::PluginView::stop):
+ (WebCore::PluginView::performRequest):
+ * plugins/PluginView.h:
+
+2010-05-17 Philippe Normand <pnormand@igalia.com>
+
+ Reviewed by Eric Seidel.
+
+ [GStreamer] enable gst support if USE_GSTREAMER macro is defined
+ https://bugs.webkit.org/show_bug.cgi?id=39205
+
+ Include gstreamer private player in the build when the
+ USE_GSTREAMER macro is enabled.
+
+ * platform/graphics/MediaPlayer.cpp:
+ (WebCore::installedMediaEngines):
+
+2010-05-19 Vangelis Kokkevis <vangelis@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Implementing hardware accelerated compositing of layers for Chromium.
+ Completely removed the existing software compositing path to replace
+ it with code implemented using OpenGL.
+ https://bugs.webkit.org/show_bug.cgi?id=38783
+
+ Tests: Covered by existing compositing tests.
+
+ * WebCore.gyp/WebCore.gyp:
+ * platform/graphics/chromium/GraphicsLayerChromium.cpp:
+ (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
+ (WebCore::GraphicsLayerChromium::updateLayerDrawsContent):
+ (WebCore::GraphicsLayerChromium::updateContentsRect):
+ * platform/graphics/chromium/LayerChromium.cpp:
+ (WebCore::LayerChromium::LayerChromium):
+ (WebCore::LayerChromium::~LayerChromium):
+ (WebCore::LayerChromium::updateGraphicsContext):
+ (WebCore::LayerChromium::drawsContentUpdated):
+ (WebCore::LayerChromium::updateContents):
+ (WebCore::LayerChromium::setContents):
+ (WebCore::LayerChromium::setBackingStoreSize):
+ (WebCore::LayerChromium::setBounds):
+ (WebCore::LayerChromium::setNeedsDisplay):
+ * platform/graphics/chromium/LayerChromium.h:
+ (WebCore::LayerChromium::contentsDirty):
+ (WebCore::LayerChromium::drawsContent):
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::):
+ (WebCore::checkGLError):
+ (WebCore::loadShader):
+ (WebCore::loadShaderProgram):
+ (WebCore::toGLMatrix):
+ (WebCore::orthoMatrix):
+ (WebCore::createLayerTexture):
+ (WebCore::LayerRendererChromium::create):
+ (WebCore::LayerRendererChromium::LayerRendererChromium):
+ (WebCore::LayerRendererChromium::~LayerRendererChromium):
+ (WebCore::LayerRendererChromium::drawTexturedQuad):
+ (WebCore::LayerRendererChromium::drawLayers):
+ (WebCore::LayerRendererChromium::getTextureId):
+ (WebCore::LayerRendererChromium::assignTextureForLayer):
+ (WebCore::LayerRendererChromium::freeLayerTexture):
+ (WebCore::LayerRendererChromium::drawDebugBorder):
+ (WebCore::LayerRendererChromium::isLayerVisible):
+ (WebCore::LayerRendererChromium::compositeLayersRecursive):
+ (WebCore::LayerRendererChromium::makeContextCurrent):
+ (WebCore::LayerRendererChromium::initGL):
+ (WebCore::LayerRendererChromium::bindCommonAttribLocation):
+ (WebCore::LayerRendererChromium::initializeSharedGLObjects):
+ * platform/graphics/chromium/LayerRendererChromium.h:
+ (WebCore::LayerRendererChromium::):
+
+2010-05-19 Andrey Kosyakov <caseq@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Maintain focus on help screen while it's active.
+ https://bugs.webkit.org/show_bug.cgi?id=39237
+
+ * inspector/front-end/HelpScreen.js:
+ (WebInspector.HelpScreen):
+ (WebInspector.HelpScreen.prototype.show):
+ (WebInspector.HelpScreen.prototype._hide):
+ (WebInspector.HelpScreen.prototype._onBlur):
+
+2010-05-19 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Crash fix in the HistoryController.
+
+ The problem was casued by a documented feature of the QWebFrame::setHtml().
+ The method doesn't affect a browsing history (doesn't create a HistoryItem instance), so
+ m_currentItem and m_previousItem are not set.
+
+ A null check was added.
+
+ [Qt] The QWebPage crashes on history.pushState().
+ https://bugs.webkit.org/show_bug.cgi?id=38840
+
+ * loader/HistoryController.cpp:
+ (WebCore::HistoryController::pushState):
+ (WebCore::HistoryController::replaceState):
+
+2010-05-19 Darin Fisher <darin@chromium.org>
+
+ Revert r59790 due to failing Chromium npruntime tests.
+
+ * bindings/v8/NPV8Object.cpp:
+ (v8ObjectToNPObject):
+ (npCreateV8ScriptObject):
+ (_NPN_Invoke):
+ (_NPN_InvokeDefault):
+ (_NPN_Evaluate):
+ (_NPN_EvaluateHelper):
+ (_NPN_GetProperty):
+ (_NPN_SetProperty):
+ (_NPN_RemoveProperty):
+ (_NPN_HasProperty):
+ (_NPN_HasMethod):
+ (_NPN_SetException):
+ (_NPN_Enumerate):
+ (_NPN_Construct):
+ * bindings/v8/NPV8Object.h:
+ * bindings/v8/V8NPObject.cpp:
+ (forgetV8ObjectForNPObject):
+ * bindings/v8/V8NPObject.h:
+ * bindings/v8/V8NPUtils.cpp:
+ (convertV8ObjectToNPVariant):
+ (getStringIdentifier):
+ * bindings/v8/V8NPUtils.h:
+ * bindings/v8/npruntime.cpp:
+
+2010-05-19 Gavin Barraclough <barraclough@apple.com>
+
+ Rubber Stamped by Sam Weinig.
+
+ JSFunctions are no longer a subclass of InternalFunction.
+
+ * bindings/js/ScriptCallStack.cpp:
+ (WebCore::ScriptCallStack::ScriptCallStack):
+ (WebCore::ScriptCallStack::initialize):
+ * bindings/js/ScriptCallStack.h:
+
+2010-05-19 Jian Li <jianli@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Refactor text encoding detection logic in FileReader.
+ https://bugs.webkit.org/show_bug.cgi?id=39131
+
+ Changed FileReader::convertToText to call TextResourceDecoder::decode to
+ detect the encoding from BOM and decode the text. Though the File API
+ spec says that the supplied encoding should be used if it is valid, we
+ choose to ignore this requirement in order to be consistent with how
+ WebKit decodes the web content: always has the BOM override the provided
+ encoding.
+
+ * html/FileReader.cpp:
+ (WebCore::FileReader::convertToText):
+ * html/FileReader.h:
+
+2010-05-19 Abhishek Arya <inferno@chromium.org>
+
+ Reviewed by David Hyatt.
+
+ Check that the node is a text node before doing a static cast
+ to a Text class pointer.
+ https://bugs.webkit.org/show_bug.cgi?id=38626
+
+ Test: fast/text/text-transform-nontext-node-crash.xhtml
+
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::originalText):
+ * rendering/RenderTextFragment.cpp:
+ (WebCore::RenderTextFragment::originalText):
+ (WebCore::RenderTextFragment::previousCharacter):
+
+2010-05-19 Yaar Schnitman <yaar@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Fixed warnings by JSC overloads changes. Also updated the binding reference files for JSC.
+ https://bugs.webkit.org/show_bug.cgi?id=39390
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bindings/scripts/test/JS/JSTestInterface.cpp:
+ (WebCore::):
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore::):
+
+2010-05-19 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Nate Chapin.
+
+ [chromium] Provide a way to catch exceptions thrown while interacting
+ with a NPObject via WebBindings methods.
+ https://bugs.webkit.org/show_bug.cgi?id=39378
+
+ This change also includes a small bit of cleanup in V8NPObject and
+ friends. I moved code into the WebCore namespace where appropriate.
+
+ In _NPN_Invoke, I also moved the call to _NPN_Evaluate outside of the
+ context scope. I did this to avoid having nested ExceptionCatcher
+ objects, which is not strictly necessary, but it seemed cleaner.
+ _NPN_Evaluate already takes care of creating a context scope.
+
+ * bindings/v8/NPV8Object.cpp:
+ (WebCore::v8ObjectToNPObject):
+ (WebCore::npCreateV8ScriptObject):
+ (_NPN_Invoke):
+ (_NPN_InvokeDefault):
+ (_NPN_Evaluate):
+ (_NPN_EvaluateHelper):
+ (_NPN_GetProperty):
+ (_NPN_SetProperty):
+ (_NPN_RemoveProperty):
+ (_NPN_HasProperty):
+ (_NPN_HasMethod):
+ (_NPN_SetException):
+ (_NPN_Enumerate):
+ (_NPN_Construct):
+ * bindings/v8/NPV8Object.h:
+ * bindings/v8/V8NPObject.cpp:
+ * bindings/v8/V8NPObject.h:
+ * bindings/v8/V8NPUtils.cpp:
+ (WebCore::convertV8ObjectToNPVariant):
+ (WebCore::pushExceptionHandler):
+ (WebCore::popExceptionHandler):
+ (WebCore::ExceptionCatcher::~ExceptionCatcher):
+ * bindings/v8/V8NPUtils.h:
+ * bindings/v8/npruntime.cpp:
+
+2010-05-19 Yaar Schnitman <yaar@chromium.org>
+
+ Unreviewed, rolling out r59769.
+ http://trac.webkit.org/changeset/59769
+ https://bugs.webkit.org/show_bug.cgi?id=37815
+
+ Broke GTK again
+
+ * Android.jscbindings.mk:
+ * CMakeLists.txt:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSBindingsAllInOne.cpp:
+ * bindings/js/JSCallbackData.cpp:
+ (WebCore::JSCallbackData::invokeCallback):
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::handleEvent):
+ * bindings/js/JSInjectedScriptHostCustom.cpp:
+ (WebCore::InjectedScriptHost::createInjectedScript):
+ * bindings/js/JSMainThreadExecState.cpp: Removed.
+ * bindings/js/JSMainThreadExecState.h: Removed.
+ * bindings/js/ScheduledAction.cpp:
+ (WebCore::ScheduledAction::executeFunctionInContext):
+ (WebCore::ScheduledAction::execute):
+ * bindings/js/ScheduledAction.h:
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::evaluateInWorld):
+ * bindings/js/ScriptController.h:
+ * bindings/js/ScriptFunctionCall.cpp:
+ (WebCore::ScriptFunctionCall::call):
+ * bindings/objc/ObjCEventListener.mm:
+ * bindings/objc/WebScriptObject.mm:
+ (-[WebScriptObject callWebScriptMethod:withArguments:]):
+ (-[WebScriptObject evaluateWebScript:]):
+ * bindings/scripts/CodeGeneratorObjC.pm:
+ * bindings/scripts/test/ObjC/DOMTestCallback.mm:
+ (-[DOMTestCallback callbackWithClass1Param:]):
+ (-[DOMTestCallback callbackWithClass2Param:strArg:]):
+ (-[DOMTestCallback callbackWithNonBoolReturnType:]):
+ (-[DOMTestCallback customCallback:class6Param:]):
+ * bindings/scripts/test/ObjC/DOMTestInterface.mm:
+ * bindings/scripts/test/ObjC/DOMTestObj.mm:
+ (-[DOMTestObj readOnlyIntAttr]):
+ (-[DOMTestObj readOnlyStringAttr]):
+ (-[DOMTestObj readOnlyTestObjAttr]):
+ (-[DOMTestObj intAttr]):
+ (-[DOMTestObj setIntAttr:]):
+ (-[DOMTestObj longLongAttr]):
+ (-[DOMTestObj setLongLongAttr:]):
+ (-[DOMTestObj unsignedLongLongAttr]):
+ (-[DOMTestObj setUnsignedLongLongAttr:]):
+ (-[DOMTestObj stringAttr]):
+ (-[DOMTestObj setStringAttr:]):
+ (-[DOMTestObj testObjAttr]):
+ (-[DOMTestObj setTestObjAttr:]):
+ (-[DOMTestObj attrWithException]):
+ (-[DOMTestObj setAttrWithException:]):
+ (-[DOMTestObj attrWithSetterException]):
+ (-[DOMTestObj setAttrWithSetterException:]):
+ (-[DOMTestObj attrWithGetterException]):
+ (-[DOMTestObj setAttrWithGetterException:]):
+ (-[DOMTestObj customAttr]):
+ (-[DOMTestObj setCustomAttr:]):
+ (-[DOMTestObj scriptStringAttr]):
+ (-[DOMTestObj voidMethod]):
+ (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
+ (-[DOMTestObj intMethod]):
+ (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
+ (-[DOMTestObj objMethod]):
+ (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
+ (-[DOMTestObj methodThatRequiresAllArgs:objArg:]):
+ (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]):
+ (-[DOMTestObj serializedValue:]):
+ (-[DOMTestObj methodWithException]):
+ (-[DOMTestObj customMethod]):
+ (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
+ (-[DOMTestObj customArgsAndException:]):
+ (-[DOMTestObj addEventListener:listener:useCapture:]):
+ (-[DOMTestObj removeEventListener:listener:useCapture:]):
+ (-[DOMTestObj withDynamicFrame]):
+ (-[DOMTestObj withDynamicFrameAndArg:]):
+ (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
+ (-[DOMTestObj withDynamicFrameAndUserGesture:]):
+ (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
+ (-[DOMTestObj withScriptStateVoid]):
+ (-[DOMTestObj withScriptStateObj]):
+ (-[DOMTestObj withScriptStateVoidException]):
+ (-[DOMTestObj withScriptStateObjException]):
+ (-[DOMTestObj methodWithOptionalArg:]):
+ (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
+ (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
+ * bindings/v8/ScriptController.cpp:
+ * bindings/v8/ScriptController.h:
+ * html/HTMLFrameElementBase.cpp:
+ (WebCore::HTMLFrameElementBase::isURLAllowed):
+
+2010-05-19 Dirk Pranke <dpranke@chromium.org>
+
+ Try again to roll out r58675.
+
+ * notifications/Notification.h:
+ * notifications/Notification.idl:
+
+2010-05-19 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ REGRESSION (r59385) crash destroying inline renderers
+ https://bugs.webkit.org/show_bug.cgi?id=39143
+ <rdar://problem/8003662>
+
+ The goal of r59385 was to make sure that the layout of block after all its children had been removed produced the identical result
+ as the one of a newly created empty block. In order to do so, we had to make sure that the m_inlineChildren flag was reset to true when
+ the block had no children (as it is upon creation).
+ I discovered that, by doing that for anonymous blocks it leads removeChild to conclude that the anonymous children can be removed,
+ without considering that the anonymous block could be part of a continuation chain. For this reason, when RenderInline::destroy()
+ tries to remove the continuations we are effectively deleting a renderer that had been deleted already.
+
+ Test: fast/inline-block/anonymous-block-crash.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::layoutBlock): resetting the flag m_inlineChildren only for non anonymous blocks otherwise we incurr in
+ a double deletion of the renderer that causes the crash.
+
+2010-05-19 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r59782.
+ http://trac.webkit.org/changeset/59782
+ https://bugs.webkit.org/show_bug.cgi?id=39379
+
+ broke DRT build (Requested by dpranke on #webkit).
+
+ * notifications/Notification.h:
+ (WebCore::Notification::dir):
+ (WebCore::Notification::setDir):
+ (WebCore::Notification::replaceId):
+ (WebCore::Notification::setReplaceId):
+ * notifications/Notification.idl:
+
+2010-05-18 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21049, opacity and position:relative fail in multi-column layouts.
+
+ Make layers split painting across columns just as normal flow content does. This is actually very
+ challenging, since intermediate multicol layers can exist between a child that has to be split and
+ its enclosing stacking context.
+
+ In order to properly paginate layers, a bit is set on all pagination roots, i.e., layers that will get
+ split and thus split any descendant layers that they are also responsible for painting. For a paginated
+ root, we walk up the layer hierarchy and collect all intermediate multicol blocks between the child
+ and the enclosing stacking context.
+
+ We then recur from the outside in, applying clipping and translation as we break up the layer into strips.
+
+ Composited layers remain unsplittable and have a hacked offset still in order to be placed in the right
+ column.
+
+ Painting and hit testing of columns has been simplified in all of the functions to use the x position of
+ the column rect instead of trying to increment an x offset by adding in widths and column gaps. This
+ makes those functions directionality-independent (and the LTR/RTL code paths are now the same).
+
+ Fix repainting of columns as well to make sure rects are split across columns only after relative position
+ and transforms have been applied.
+
+ Added fast/multicol/layers-split-across-columns.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::paintColumnContents):
+ (WebCore::RenderBlock::adjustRectForColumns):
+ (WebCore::RenderBlock::adjustForColumns):
+ * rendering/RenderBlock.h:
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::computeRectForRepaint):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::RenderLayer):
+ (WebCore::RenderLayer::updateLayerPositions):
+ (WebCore::RenderLayer::updatePagination):
+ (WebCore::RenderLayer::updateLayerPosition):
+ (WebCore::RenderLayer::paintLayer):
+ (WebCore::RenderLayer::paintList):
+ (WebCore::RenderLayer::paintPaginatedChildLayer):
+ (WebCore::RenderLayer::paintChildLayerIntoColumns):
+ (WebCore::RenderLayer::hitTestLayer):
+ (WebCore::RenderLayer::hitTestList):
+ (WebCore::RenderLayer::hitTestPaginatedChildLayer):
+ (WebCore::RenderLayer::hitTestChildLayerColumns):
+ * rendering/RenderLayer.h:
+ (WebCore::RenderLayer::):
+ (WebCore::RenderLayer::isPaginated):
+
+2010-05-18 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Attempt to revert r58765 to see if it was causing a performance
+ regression.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39328
+
+ * notifications/Notification.h:
+ * notifications/Notification.idl:
+
+2010-05-19 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ [wx] Ensure m_nsFont is initialized properly, and tweak fallback font handling
+ to handle more cases.
+ https://bugs.webkit.org/show_bug.cgi?id=39365
+
+ * platform/graphics/wx/FontCacheWx.cpp:
+ (WebCore::FontCache::getFontDataForCharacters):
+ (WebCore::FontCache::getSimilarFontPlatformData):
+ (WebCore::FontCache::getLastResortFallbackFont):
+ * platform/graphics/wx/FontPlatformDataWx.cpp:
+ (WebCore::FontPlatformData::FontPlatformData):
+
+2010-05-19 Marcus Bulach <bulach@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Fixes Windows Qt Release post r59772.
+ https://bugs.webkit.org/show_bug.cgi?id=39369
+
+ * platform/GeolocationService.cpp:
+
+2010-05-19 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Add support for handling basic <script> tags in the HTML5 Parser
+ https://bugs.webkit.org/show_bug.cgi?id=39350
+
+ WebKit currently executes scripts from HTMLTokenizer in one giagantic
+ hack. HTML 5 requires that we execute scripts from the tree-builders/parser.
+
+ It will take me a while to re-factor enough of HTMLTokenizer to be able to
+ move the script execution logic without breaking things. In the interest
+ of allowing Adam to continue improving the HTML 5 lexer I've added this
+ very basic (and very incomplete) <script> support to the HTML 5 parser code
+ path so the he can run the HTML5 parser test suite.
+
+ <script> support is tested by most of the layout tests.
+
+ * dom/ScriptElement.cpp:
+ (WebCore::useHTML5Parser):
+ (WebCore::ScriptElement::finishParsingChildren):
+
+2010-05-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Move member variables from NamedMappedAttrMap to its base class NamedNodeMap
+ https://bugs.webkit.org/show_bug.cgi?id=39367
+ <rdar://problem/8003304>
+
+ This lets us get rid of the vtable pointer in NamedNodeMap which saves 8 bytes, and also allows us to
+ fit the m_mappedAttributeCount unsigned int in the RefCounted padding (in 64-bit).
+
+ The net result is that we shrink the NamedMappedAttrMap size by 16 bytes, while keeping the size of NamedNodeMap the same.
+
+ * dom/Element.cpp:
+ (WebCore::Element::createAttributeMap):
+ * dom/Element.h:
+ * dom/NamedMappedAttrMap.cpp:
+ * dom/NamedMappedAttrMap.h:
+ (WebCore::NamedMappedAttrMap::NamedMappedAttrMap):
+ * dom/NamedNodeMap.cpp:
+ (WebCore::NamedNodeMap::clearAttributes):
+ * dom/NamedNodeMap.h:
+ (WebCore::NamedNodeMap::NamedNodeMap):
+ * dom/Node.cpp:
+ (WebCore::Node::dumpStatistics):
+ * dom/StyledElement.cpp:
+ * dom/StyledElement.h:
+
+2010-05-19 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Use ASSERT_UNUSED instead of UNUSED_PARAM.
+
+ * dom/Attribute.cpp:
+ (WebCore::Attribute::unbindAttr):
+
+2010-05-19 Sam Weinig <sam@webkit.org>
+
+ Rubber-stamped by Anders Carlsson.
+
+ Complete the merge of MappedAttribute and Attribute.
+
+ Files elided for brevity.
+
+2010-05-19 Marcus Bulach <bulach@chromium.org>
+
+ Reviewed by Steve Block.
+
+ [chromium] Adds supports for layout tests using GeolocationServiceMock.
+ https://bugs.webkit.org/show_bug.cgi?id=39081
+
+ Allows injection of GeolocationServiceMock factory.
+
+ Tests: existing fast/dom/Geolocation/*
+
+ * platform/GeolocationService.cpp:
+ (WebCore::GeolocationService::useMock):
+ (WebCore::GeolocationService::useMockFactory):
+ * platform/GeolocationService.h:
+ * platform/chromium/GeolocationServiceChromium.cpp:
+ (WebCore::GeolocationServiceChromium::GeolocationServiceChromium):
+
+2010-05-19 Justin Schuh <jschuh@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Moving frame.src checks out of the bindings
+ https://bugs.webkit.org/show_bug.cgi?id=37815
+
+ Moved JavaScript frame.src checks out of bindings and into
+ HTMLFrameElementBase. Added main thread state stack to JavaScriptCore
+ so ExecState is available inside core DOM. Updated affected bindings
+ (except for GObject, which will need to be updated to avoid origin
+ failures inside native code).
+
+ * Android.jscbindings.mk:
+ * CMakeLists.txt:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSBindingsAllInOne.cpp:
+ * bindings/js/JSCallbackData.cpp:
+ (WebCore::JSCallbackData::invokeCallback):
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::handleEvent):
+ * bindings/js/JSInjectedScriptHostCustom.cpp:
+ (WebCore::InjectedScriptHost::createInjectedScript):
+ * bindings/js/JSMainThreadExecState.cpp: Added.
+ * bindings/js/JSMainThreadExecState.h: Added.
+ (WebCore::JSMainThreadExecState::currentState):
+ (WebCore::JSMainThreadExecState::call):
+ (WebCore::JSMainThreadExecState::evaluate):
+ (WebCore::JSMainThreadExecState::JSMainThreadExecState):
+ (WebCore::JSMainThreadExecState::~JSMainThreadExecState):
+ (WebCore::JSMainThreadNullState::JSMainThreadNullState):
+ * bindings/js/ScheduledAction.cpp:
+ (WebCore::ScheduledAction::executeFunctionInContext):
+ (WebCore::ScheduledAction::execute):
+ * bindings/js/ScheduledAction.h:
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::evaluateInWorld):
+ (WebCore::ScriptController::canAccessFromCurrentOrigin):
+ * bindings/js/ScriptController.h:
+ * bindings/js/ScriptFunctionCall.cpp:
+ (WebCore::ScriptFunctionCall::call):
+ * bindings/objc/ObjCEventListener.mm:
+ * bindings/objc/WebScriptObject.mm:
+ (-[WebScriptObject callWebScriptMethod:withArguments:]):
+ (-[WebScriptObject evaluateWebScript:]):
+ * bindings/scripts/CodeGeneratorObjC.pm:
+ * bindings/scripts/test/ObjC/DOMTestCallback.mm:
+ (-[DOMTestCallback callbackWithClass1Param:]):
+ (-[DOMTestCallback callbackWithClass2Param:strArg:]):
+ (-[DOMTestCallback callbackWithNonBoolReturnType:]):
+ (-[DOMTestCallback customCallback:class6Param:]):
+ * bindings/scripts/test/ObjC/DOMTestInterface.mm:
+ * bindings/scripts/test/ObjC/DOMTestObj.mm:
+ (-[DOMTestObj readOnlyIntAttr]):
+ (-[DOMTestObj readOnlyStringAttr]):
+ (-[DOMTestObj readOnlyTestObjAttr]):
+ (-[DOMTestObj intAttr]):
+ (-[DOMTestObj setIntAttr:]):
+ (-[DOMTestObj longLongAttr]):
+ (-[DOMTestObj setLongLongAttr:]):
+ (-[DOMTestObj unsignedLongLongAttr]):
+ (-[DOMTestObj setUnsignedLongLongAttr:]):
+ (-[DOMTestObj stringAttr]):
+ (-[DOMTestObj setStringAttr:]):
+ (-[DOMTestObj testObjAttr]):
+ (-[DOMTestObj setTestObjAttr:]):
+ (-[DOMTestObj attrWithException]):
+ (-[DOMTestObj setAttrWithException:]):
+ (-[DOMTestObj attrWithSetterException]):
+ (-[DOMTestObj setAttrWithSetterException:]):
+ (-[DOMTestObj attrWithGetterException]):
+ (-[DOMTestObj setAttrWithGetterException:]):
+ (-[DOMTestObj customAttr]):
+ (-[DOMTestObj setCustomAttr:]):
+ (-[DOMTestObj scriptStringAttr]):
+ (-[DOMTestObj voidMethod]):
+ (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
+ (-[DOMTestObj intMethod]):
+ (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
+ (-[DOMTestObj objMethod]):
+ (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
+ (-[DOMTestObj methodThatRequiresAllArgs:objArg:]):
+ (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]):
+ (-[DOMTestObj serializedValue:]):
+ (-[DOMTestObj methodWithException]):
+ (-[DOMTestObj customMethod]):
+ (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
+ (-[DOMTestObj customArgsAndException:]):
+ (-[DOMTestObj addEventListener:listener:useCapture:]):
+ (-[DOMTestObj removeEventListener:listener:useCapture:]):
+ (-[DOMTestObj withDynamicFrame]):
+ (-[DOMTestObj withDynamicFrameAndArg:]):
+ (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
+ (-[DOMTestObj withDynamicFrameAndUserGesture:]):
+ (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
+ (-[DOMTestObj withScriptStateVoid]):
+ (-[DOMTestObj withScriptStateObj]):
+ (-[DOMTestObj withScriptStateVoidException]):
+ (-[DOMTestObj withScriptStateObjException]):
+ (-[DOMTestObj methodWithOptionalArg:]):
+ (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
+ (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::canAccessFromCurrentOrigin):
+ * bindings/v8/ScriptController.h:
+ * html/HTMLFrameElementBase.cpp:
+ (WebCore::HTMLFrameElementBase::isURLAllowed):
+
+2010-05-19 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ CanvasRenderingContext2D's property getters that return colors should
+ serialize them in accordance with the HTML5 spec (4.8.11.1.4)
+ Setters should ignore invalid colors.
+
+ Also, shadowColor should initially be transparent black (4.8.11.1.6)
+
+ https://bugs.webkit.org/show_bug.cgi?id=38845
+
+ Refactored CanvasStyle to store an RGBA32 instead of RGBA components and/or the color string.
+
+ Spec links:
+ http://www.whatwg.org/specs/web-apps/current-work/#serialization-of-a-color
+ http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-shadowcolor
+
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::State::State):
+ (WebCore::CanvasRenderingContext2D::shadowColor):
+ (WebCore::CanvasRenderingContext2D::setShadowColor):
+ (WebCore::CanvasRenderingContext2D::setShadow):
+ (WebCore::CanvasRenderingContext2D::clearShadow):
+ (WebCore::CanvasRenderingContext2D::applyShadow):
+ * html/canvas/CanvasRenderingContext2D.h:
+ * html/canvas/CanvasStyle.cpp:
+ (WebCore::CanvasStyle::CanvasStyle):
+ (WebCore::CanvasStyle::create):
+ (WebCore::CanvasStyle::applyStrokeColor):
+ (WebCore::CanvasStyle::applyFillColor):
+ * html/canvas/CanvasStyle.h:
+ (WebCore::CanvasStyle::create):
+ (WebCore::CanvasStyle::color):
+ (WebCore::CanvasStyle::):
+ (WebCore::CanvasStyle::CMYKAValues::CMYKAValues):
+ * platform/graphics/Color.cpp:
+ (WebCore::Color::serialized):
+ * platform/graphics/Color.h:
+
+2010-05-19 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] REGRESSION: CoolClock isn't rendered properly
+
+ https://bugs.webkit.org/show_bug.cgi?id=38526
+
+ CanvasRenderingContext2D's arc() should connect to the previous point
+ with a straight line (HTML5 spec 4.8.11.1.8), but if the path is empty
+ to begin with, we don't want a line back to (0,0)
+ This also fixes the rendering artifact discussed in bug 36226.
+
+ Spec link:
+ http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-arc
+
+ Test: fast/canvas/canvas-arc-connecting-line.html
+
+ * platform/graphics/qt/PathQt.cpp:
+ (WebCore::Path::addArc):
+
+2010-05-19 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Jeremy Orlow.
+
+ Fix whitespace for the bug 38906
+ https://bugs.webkit.org/show_bug.cgi?id=39351
+
+ No new tests required (no code change).
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::~CSSParser):
+ (WebCore::CSSParser::setupParser):
+ (WebCore::CSSParser::parseSheet):
+ (WebCore::CSSParser::parseValue):
+ (WebCore::CSSParser::parseSelector):
+ (WebCore::unitFromString):
+ (WebCore::CSSParser::checkForOrphanedUnits):
+ (WebCore::CSSParser::parseWCSSInputProperty):
+ (WebCore::CSSParser::parseFillShorthand):
+ (WebCore::CSSParser::parseAnimationShorthand):
+ (WebCore::CSSParser::parseTransitionShorthand):
+ (WebCore::CSSParser::parseShorthand):
+ (WebCore::CSSParser::parse4Values):
+ (WebCore::CSSParser::parseAttr):
+ (WebCore::CSSParser::parseFillPositionXY):
+ (WebCore::CSSParser::parseFillPosition):
+ (WebCore::CSSParser::parseFillRepeat):
+ (WebCore::CSSParser::parseFillProperty):
+ (WebCore::CSSParser::parseAnimationTimingFunction):
+ (WebCore::CSSParser::parseAnimationProperty):
+ (WebCore::CSSParser::parseDashboardRegions):
+ (WebCore::CSSParser::parseCounterContent):
+ (WebCore::CSSParser::parseShape):
+ (WebCore::CSSParser::parseFont):
+ (WebCore::CSSParser::parseFontFamily):
+ (WebCore::CSSParser::parseFontFaceSrc):
+ (WebCore::parseInt):
+ (WebCore::CSSParser::parseColor):
+ (WebCore::CSSParser::parseShadow):
+ (WebCore::CSSParser::parseReflect):
+ (WebCore::BorderImageParseContext::commitNumber):
+ (WebCore::BorderImageParseContext::commitBorderImage):
+ (WebCore::CSSParser::parseBorderImage):
+ (WebCore::CSSParser::parseCounter):
+ (WebCore::parseGradientPoint):
+ (WebCore::parseGradientColorStop):
+ (WebCore::CSSParser::parseGradient):
+ (WebCore::CSSParser::parseCanvas):
+ (WebCore::CSSParser::parseTransform):
+ (WebCore::CSSParser::parseTransformOrigin):
+ (WebCore::CSSParser::parsePerspectiveOrigin):
+ (WebCore::CSSParser::text):
+ (WebCore::CSSParser::createRuleList):
+ (WebCore::CSSParser::createVariablesRule):
+ (WebCore::CSSParser::parseVariable):
+ (WebCore::CSSParser::parsePropertyWithResolvedVariables):
+ (WebCore::CSSParser::checkForVariables):
+ (WebCore::CSSParser::createKeyframeRule):
+ * css/CSSParser.h:
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::setFrontend):
+ (WebCore::InspectorController::show):
+ (WebCore::InspectorController::unbindAllResources):
+ (WebCore::InspectorController::didCommitLoad):
+ (WebCore::InspectorController::scriptImported):
+ (WebCore::InspectorController::getCurrentUserInitiatedProfileName):
+ (WebCore::InspectorController::removeBreakpoint):
+ (WebCore::drawOutlinedQuad):
+ (WebCore::InspectorController::stopTiming):
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::didRemoveDOMNode):
+ (WebCore::InspectorDOMAgent::getStyles):
+ (WebCore::InspectorDOMAgent::applyStyleText):
+
+2010-05-19 Steve Block <steveblock@google.com>
+
+ Reviewed by Nate Chapin.
+
+ V8 code generator does not add ENABLE guards around attribute getters and setters
+ https://bugs.webkit.org/show_bug.cgi?id=39222
+
+ No new tests, build fix only.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+
+2010-05-19 Jeremy Orlow <jorlow@chromium.org>
+
+ Unreviewed build fix for Chromium.
+
+ * storage/IndexedDatabaseImpl.cpp:
+
+2010-05-17 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Hook Chromium's WebIndexedDatabaseImpl up to IndexedDatabaseImpl
+ https://bugs.webkit.org/show_bug.cgi?id=39216
+
+ All of these functions are supposed to be passing around the origin since
+ the caller of IndexedDatabaseImpl might not be able to pass in a Frame*
+ object. I tried to fix this in an ealier patch, but obviously messed up.
+
+ Also change passing security origin strings to passing SecurityOrigin
+ objects.
+
+ No behavior change because Chromium was emulating the old behavior before
+ even though the code wasn't properly hooked up.
+
+ * storage/IndexedDatabase.h:
+ * storage/IndexedDatabaseImpl.cpp:
+ (WebCore::IndexedDatabaseImpl::open):
+ * storage/IndexedDatabaseImpl.h:
+ * storage/IndexedDatabaseRequest.cpp:
+ (WebCore::IndexedDatabaseRequest::open):
+
+2010-05-19 Ben Murdoch <benm@google.com>
+
+ Reviewed by Darin Adler.
+
+ Touch events are marked DontEnum in DOMWindow.idl
+ https://bugs.webkit.org/show_bug.cgi?id=39118
+
+ Touch events are the only attribute event listeners on the
+ window object that are marked DontEnum. For consistency allow
+ them to be enumerated.
+
+ * page/DOMWindow.idl: Remove DontEnum from touchcancel, touchend,
+ touchstart and touchmove attributes.
+
+2010-05-19 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] Fix build warning
+
+ NamedAttrMap.h has been renamed to NamedNodeMap.h
+
+ * WebCore.pro:
+
+2010-05-19 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Add an HTML parsing benchmark
+ https://bugs.webkit.org/show_bug.cgi?id=39338
+
+ This benchmark parses the HTML5 specification 10 times and
+ reports how long it takes. It does this 21 times, discarding
+ the first warm-up run, and then prints the average time and
+ standard deviation.
+
+ Sharking the benchmark correctly shows over 60% of the time spent under HTMLTokenizer::write().
+ The numbers from the benchmark are rather consistent. On my
+ Mac Book Pro, I consistently see standard deviations < 2% of total time.
+
+ * benchmarks/parser/html-parser.html: Added.
+ * benchmarks/parser/resources/html5.html: Added.
+
+2010-05-18 Yuzo Fujishima <yuzo@google.com>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Make CSS Parser properly handle only-for-pages pseudo-classes.
+
+ A new Match category, PagePseudoClass, is introduced to distinguish
+ only-for-pages pseudo-classes from others. A new symbol, pseudo_page,
+ is introduced to handle them separately.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38731
+
+ * css/CSSGrammar.y:
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::createMarginAtRule):
+ * css/CSSParser.h:
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::extractPseudoType):
+ (WebCore::CSSSelector::selectorText):
+ * css/CSSSelector.h:
+ (WebCore::CSSSelector::):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
+
+2010-05-19 Adam Barth <abarth@webkit.org>
+
+ Reviewed by David Hyatt.
+
+ Change the API of nextToken to distinguish between emitting a token and just running out of input
+ https://bugs.webkit.org/show_bug.cgi?id=39349
+
+ I'm not sure there's a functional difference with this patch yet, but
+ as discussed with Eric, we need this to handle attributes.
+
+ * html/HTML5Lexer.cpp:
+ (WebCore::HTML5Lexer::reset):
+ (WebCore::HTML5Lexer::nextToken):
+ * html/HTML5Lexer.h:
+ * html/HTML5Token.h:
+ (WebCore::HTML5Token::HTML5Token):
+ (WebCore::HTML5Token::clear):
+ (WebCore::HTML5Token::beginStartTag):
+ (WebCore::HTML5Token::beginEndTag):
+ (WebCore::HTML5Token::beginCharacter):
+ * html/HTML5Tokenizer.cpp:
+ (WebCore::HTML5Tokenizer::write):
+
+2010-05-18 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Refactor HTMLTokenizer::write to make it more readable and split out the lexer bits from flow control bits
+ https://bugs.webkit.org/show_bug.cgi?id=39318
+
+ No functional changes, only moving code into smaller functions.
+
+ This code is already covered by numerous layout tests.
+
+ HTML parsing benchmark shows this to be a wash.
+
+ * dom/Tokenizer.h:
+ * html/HTMLTokenizer.cpp:
+ (WebCore::HTMLTokenizer::advance):
+ - New funtion to encapulate code which will move into HTMLLexer eventually.
+ - Use ALWAYS_INLINE to make sure compilers inline this large
+ function (otherwise this patch is a regression).
+ (WebCore::HTMLTokenizer::willWriteHTML):
+ - New function to handle calling any pre-write delegates.
+ (WebCore::HTMLTokenizer::didWriteHTML):
+ - New function to handle calling any post-write delegates.
+ (WebCore::HTMLTokenizer::write):
+ - Call the new functions.
+ * html/HTMLTokenizer.h:
+
+2010-05-18 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Make the HTML5 parser correctly parse <div>Hello</div>
+ https://bugs.webkit.org/show_bug.cgi?id=39345
+
+ Again, this patch is covered by a large number of LayoutTests.
+
+ * html/HTML5Lexer.cpp:
+ (WebCore::HTML5Lexer::HTML5Lexer):
+ (WebCore::HTML5Lexer::reset):
+ (WebCore::HTML5Lexer::nextToken):
+ (WebCore::HTML5Lexer::emitCommentToken):
+ (WebCore::HTML5Lexer::emitCharacter):
+ (WebCore::HTML5Lexer::emitCurrentTagToken):
+ * html/HTML5Lexer.h:
+ * html/HTML5Token.h:
+ (WebCore::HTML5Token::beginCharacter):
+ (WebCore::HTML5Token::appendToCharacter):
+ (WebCore::HTML5Token::characters):
+ * html/HTML5Tokenizer.cpp:
+ (WebCore::convertToOldStyle):
+
+2010-05-18 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Make the HTML5 parser actually parse <div></div>
+ https://bugs.webkit.org/show_bug.cgi?id=39342
+
+ This patch is covered by every LayoutTest. Yes. All of them. :)
+
+ * html/HTML5Lexer.cpp:
+ (WebCore::toLowerCase):
+ (WebCore::HTML5Lexer::HTML5Lexer):
+ (WebCore::HTML5Lexer::nextToken):
+ (WebCore::HTML5Lexer::emitCharacter):
+ * html/HTML5Lexer.h:
+ * html/HTML5Token.h:
+ (WebCore::HTML5Token::HTML5Token):
+ (WebCore::HTML5Token::beginStartTag):
+ (WebCore::HTML5Token::beginEndTag):
+ (WebCore::HTML5Token::appendToName):
+ (WebCore::HTML5Token::type):
+ (WebCore::HTML5Token::name):
+ (WebCore::HTML5Token::selfClosing):
+ (WebCore::HTML5Token::attrs):
+ * html/HTML5Tokenizer.cpp:
+ (WebCore::convertToOldStyle):
+ (WebCore::HTML5Tokenizer::write):
+
+2010-05-18 Tony Chang <tony@chromium.org>
+
+ Reviewed by Ojan Vafai.
+
+ REGRESSION: crash in WebCore::CompositeEditCommand::splitTreeToNode when indenting in an empty li
+ https://bugs.webkit.org/show_bug.cgi?id=38232
+
+ Test: editing/execCommand/crash-indenting-list-item.html
+
+ * editing/IndentOutdentCommand.cpp:
+ (WebCore::IndentOutdentCommand::tryIndentingAsListItem):
+ (WebCore::IndentOutdentCommand::indentIntoBlockquote):
+
+2010-05-18 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ ':optional' pseudo selector should not be applied to <keygen> and <progress>
+ https://bugs.webkit.org/show_bug.cgi?id=39292
+
+ Test: fast/css/pseudo-required-optional-unapplied.html
+
+ * html/HTMLKeygenElement.h:
+ (WebCore::HTMLKeygenElement::isOptionalFormControl):
+ Add isOptionalFormControl() returning false.
+ HTMLKeygenElement inherits HTMLSelectElement, which should return true
+ for isOptionalFormControl(). However, <keygen> is not :optional
+ according to the standard.
+ * html/HTMLProgressElement.h:
+ Remove isOptionalFormControl().
+
+2010-05-18 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Implement the DOCTYPE states for the HTML5 lexer
+ https://bugs.webkit.org/show_bug.cgi?id=39335
+
+ * html/HTML5Lexer.cpp:
+ (WebCore::HTML5Lexer::nextToken):
+ (WebCore::emitCurrentDoctypeToken):
+ * html/HTML5Lexer.h:
+
+2010-05-18 Tony Chang <tony@chromium.org>
+
+ Reviewed by Ojan Vafai.
+
+ [chromium] ignore IME events if the keydown event was prevented
+ https://bugs.webkit.org/show_bug.cgi?id=37692
+
+ A manual test to verify the IME behavior since the existing methods of
+ textInputController test at a lower level than the fix.
+
+ * manual-tests/ime-keydown-preventdefault.html: Added.
+
+2010-05-18 Sam Weinig <sam@webkit.org>
+
+ Fix the build for platforms that don't always include UnusedParam.h
+
+ * dom/Attribute.cpp:
+
+2010-05-18 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Kent Tamura.
+
+ [Chromium] Windows: Determinate progress bar should have glossy overlay
+ https://bugs.webkit.org/show_bug.cgi?id=39269
+
+ - Moved animation code from RenderThemeChromiumWin to chromium tree
+ because it should be behind the theme implementation, which lives
+ in chromium tree.
+ - Passed current time to the bridge, which will be used to compute
+ the state of the theme animation.
+
+ No new tests, animation effect can be confirmed only manually.
+
+ * platform/chromium/ChromiumBridge.h:
+ * rendering/RenderProgress.h:
+ (WebCore::RenderProgress::animationStartTime): Added.
+ * rendering/RenderThemeChromiumWin.cpp:
+ (WebCore::RenderThemeChromiumWin::animationDurationForProgressBar):
+ (WebCore::RenderThemeChromiumWin::paintProgressBar):
+
+2010-05-18 Sam Weinig <sam@webkit.org>
+
+ Fix release build.
+
+ * dom/Attribute.cpp:
+ (WebCore::Attribute::unbindAttr):
+
+2010-05-18 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Move Attr pointer from Attribute to a global HashMap.
+ https://bugs.webkit.org/show_bug.cgi?id=39337
+ <rdar://problem/8001168>
+
+ Shaves another word off of Attribute.
+
+ * dom/Attr.cpp:
+ (WebCore::Attr::Attr):
+ (WebCore::Attr::~Attr):
+ * dom/Attribute.cpp:
+ (WebCore::attributeAttrMap):
+ (WebCore::Attribute::attr):
+ (WebCore::Attribute::createAttrIfNeeded):
+ (WebCore::Attribute::bindAttr):
+ (WebCore::Attribute::unbindAttr):
+ * dom/Attribute.h:
+ (WebCore::Attribute::Attribute):
+
+2010-05-18 Jakob Petsovits <jpetsovits@rim.com>
+
+ Unreviewed, forgot to svn add source file in r59619.
+ http://trac.webkit.org/changeset/59619
+
+ * platform/image-decoders/openvg: Added.
+ * platform/image-decoders/openvg/ImageDecoderOpenVG.cpp: Added.
+ (WebCore::RGBA32Buffer::asNewNativeImage):
+
+2010-05-18 Yaar Schnitman <yaar@chromium.org>
+
+ Unreviewed, rolling out r59693.
+ http://trac.webkit.org/changeset/59693
+ https://bugs.webkit.org/show_bug.cgi?id=37815
+
+ Broke GTK Release
+
+ * Android.jscbindings.mk:
+ * CMakeLists.txt:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSBindingsAllInOne.cpp:
+ * bindings/js/JSCallbackData.cpp:
+ (WebCore::JSCallbackData::invokeCallback):
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::handleEvent):
+ * bindings/js/JSInjectedScriptHostCustom.cpp:
+ (WebCore::InjectedScriptHost::createInjectedScript):
+ * bindings/js/JSMainThreadExecState.cpp: Removed.
+ * bindings/js/JSMainThreadExecState.h: Removed.
+ * bindings/js/ScheduledAction.cpp:
+ (WebCore::ScheduledAction::executeFunctionInContext):
+ (WebCore::ScheduledAction::execute):
+ * bindings/js/ScheduledAction.h:
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::evaluateInWorld):
+ * bindings/js/ScriptController.h:
+ * bindings/js/ScriptFunctionCall.cpp:
+ (WebCore::ScriptFunctionCall::call):
+ * bindings/objc/ObjCEventListener.mm:
+ * bindings/objc/WebScriptObject.mm:
+ (-[WebScriptObject callWebScriptMethod:withArguments:]):
+ (-[WebScriptObject evaluateWebScript:]):
+ * bindings/scripts/CodeGeneratorObjC.pm:
+ * bindings/scripts/test/ObjC/DOMTestCallback.mm:
+ (-[DOMTestCallback callbackWithClass1Param:]):
+ (-[DOMTestCallback callbackWithClass2Param:strArg:]):
+ (-[DOMTestCallback callbackWithNonBoolReturnType:]):
+ (-[DOMTestCallback customCallback:class6Param:]):
+ * bindings/scripts/test/ObjC/DOMTestInterface.mm:
+ * bindings/scripts/test/ObjC/DOMTestObj.mm:
+ (-[DOMTestObj readOnlyIntAttr]):
+ (-[DOMTestObj readOnlyStringAttr]):
+ (-[DOMTestObj readOnlyTestObjAttr]):
+ (-[DOMTestObj intAttr]):
+ (-[DOMTestObj setIntAttr:]):
+ (-[DOMTestObj longLongAttr]):
+ (-[DOMTestObj setLongLongAttr:]):
+ (-[DOMTestObj unsignedLongLongAttr]):
+ (-[DOMTestObj setUnsignedLongLongAttr:]):
+ (-[DOMTestObj stringAttr]):
+ (-[DOMTestObj setStringAttr:]):
+ (-[DOMTestObj testObjAttr]):
+ (-[DOMTestObj setTestObjAttr:]):
+ (-[DOMTestObj attrWithException]):
+ (-[DOMTestObj setAttrWithException:]):
+ (-[DOMTestObj attrWithSetterException]):
+ (-[DOMTestObj setAttrWithSetterException:]):
+ (-[DOMTestObj attrWithGetterException]):
+ (-[DOMTestObj setAttrWithGetterException:]):
+ (-[DOMTestObj customAttr]):
+ (-[DOMTestObj setCustomAttr:]):
+ (-[DOMTestObj scriptStringAttr]):
+ (-[DOMTestObj voidMethod]):
+ (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
+ (-[DOMTestObj intMethod]):
+ (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
+ (-[DOMTestObj objMethod]):
+ (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
+ (-[DOMTestObj methodThatRequiresAllArgs:objArg:]):
+ (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]):
+ (-[DOMTestObj serializedValue:]):
+ (-[DOMTestObj methodWithException]):
+ (-[DOMTestObj customMethod]):
+ (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
+ (-[DOMTestObj customArgsAndException:]):
+ (-[DOMTestObj addEventListener:listener:useCapture:]):
+ (-[DOMTestObj removeEventListener:listener:useCapture:]):
+ (-[DOMTestObj withDynamicFrame]):
+ (-[DOMTestObj withDynamicFrameAndArg:]):
+ (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
+ (-[DOMTestObj withDynamicFrameAndUserGesture:]):
+ (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
+ (-[DOMTestObj withScriptStateVoid]):
+ (-[DOMTestObj withScriptStateObj]):
+ (-[DOMTestObj withScriptStateVoidException]):
+ (-[DOMTestObj withScriptStateObjException]):
+ (-[DOMTestObj methodWithOptionalArg:]):
+ (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
+ (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
+ * bindings/v8/ScriptController.cpp:
+ * bindings/v8/ScriptController.h:
+ * html/HTMLFrameElementBase.cpp:
+ (WebCore::HTMLFrameElementBase::isURLAllowed):
+
+2010-05-18 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Implement comment states for HTML5 lexer
+ https://bugs.webkit.org/show_bug.cgi?id=39334
+
+ * html/HTML5Lexer.cpp:
+ (WebCore::HTML5Lexer::nextToken):
+
+2010-05-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Move all member variables from MappedAttribute to Attribute.
+ https://bugs.webkit.org/show_bug.cgi?id=39336
+ <rdar://problem/8000853>
+
+ This saves one word because we no longer have any virtual member functions in Attribute, and
+ thus no vtable pointer.
+
+ I plan to remove MappedAttribute altogether in a subsequent commit.
+
+ * Android.mk:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::styleForElement):
+ * dom/Attribute.cpp:
+ (WebCore::Attribute::clone):
+ * dom/Attribute.h:
+ (WebCore::Attribute::create):
+ (WebCore::Attribute::style):
+ (WebCore::Attribute::decl):
+ (WebCore::Attribute::setDecl):
+ (WebCore::Attribute::isMappedAttribute):
+ (WebCore::Attribute::Attribute):
+ * dom/MappedAttribute.cpp: Removed.
+ * dom/MappedAttribute.h:
+ (WebCore::MappedAttribute::create):
+ (WebCore::MappedAttribute::MappedAttribute):
+ (WebCore::toMappedAttribute):
+ * dom/NamedMappedAttrMap.cpp:
+ (WebCore::NamedMappedAttrMap::declCount):
+ (WebCore::NamedMappedAttrMap::mapsEquivalent):
+ * dom/StyledElement.cpp:
+ (WebCore::StyledElement::attributeChanged):
+ * svg/SVGSVGElement.cpp:
+ (WebCore::updateCSSForAttribute):
+ * svg/SVGStyledElement.cpp:
+ (WebCore::SVGStyledElement::getPresentationAttribute):
+
+2010-05-18 Tony Chang <tony@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24943
+ Command-B and Command-I do not generate keydown events in contentEditable regions.
+
+ * manual-tests/style-keypress-events.html: Added.
+
+2010-05-18 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Add more state to the HTML5 lexer
+ https://bugs.webkit.org/show_bug.cgi?id=39333
+
+ This code is just transliteration from the spec.
+
+ * html/HTML5Lexer.cpp:
+ (WebCore::HTML5Lexer::HTML5Lexer):
+ (WebCore::HTML5Lexer::nextToken):
+ * html/HTML5Lexer.h:
+
+2010-05-18 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Implement two more lexer states
+ https://bugs.webkit.org/show_bug.cgi?id=39298
+
+ No tests because Eric is still working on wiring up the lexer to the
+ test harness.
+
+ * html/HTML5Lexer.cpp:
+ (WebCore::HTML5Lexer::nextToken):
+ (WebCore::HTML5Lexer::emitParseError):
+ (WebCore::HTML5Lexer::emitCurrentTagToken):
+ * html/HTML5Lexer.h:
+
+2010-05-18 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Repro crash with many Google image search results
+ <rdar://problem/7685669> and https://bugs.webkit.org/show_bug.cgi?id=39323
+
+ When an iframe has a plugin resource as its src, that case bypassed the plugin sandboxing checks and continued to load
+ the data for the plugin resource. It handed that data off to a nonexistent Widget, causing a null deref and the crash.
+
+ By replacing PluginDocuments in sandboxes iframes with a new "SinkDocument" that just acts as a data sink, we prevent the
+ crash and also prevent actually loading the plugin binaries.
+
+ I filed https://bugs.webkit.org/show_bug.cgi?id=39330 to follow up and let us cancel the load as soon as we know we should.
+
+ Test: fast/loader/sandboxed-plugin-crash.html
+
+ * CMakeLists.txt:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+
+ * loader/DocumentWriter.cpp:
+ (WebCore::DocumentWriter::begin): If the created document is a PluginDocument and the plugin sandbox flag is set,
+ replace it with a SinkDocument.
+
+ * loader/PluginDocument.h:
+ (WebCore::PluginDocument::isPluginDocument): Make public (it was already public at the Document.h level).
+
+ Add a simple document/tokenizer pair that simply presents a blank HTML document and acts as a data sink for whatever
+ data is handed to it:
+ * loader/SinkDocument.cpp: Added.
+ (WebCore::SinkTokenizer::SinkTokenizer):
+ (WebCore::SinkTokenizer::write):
+ (WebCore::SinkTokenizer::isWaitingForScripts):
+ (WebCore::SinkTokenizer::wantsRawData):
+ (WebCore::SinkTokenizer::writeRawData):
+ (WebCore::SinkTokenizer::stopParsing):
+ (WebCore::SinkTokenizer::finish):
+ (WebCore::SinkDocument::SinkDocument):
+ (WebCore::SinkDocument::createTokenizer):
+ * loader/SinkDocument.h: Added.
+ (WebCore::SinkDocument::create):
+
+2010-05-18 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39321
+ Reduce the size of ListHashSets used by Document
+ <rdar://problem/7999388>
+
+ Reduce Membuster peak memory usage by ~450K by reducing the pool sizes
+ of the ListHashSets used by Document.
+
+ * dom/Document.cpp:
+ (WebCore::Document::addStyleSheetCandidateNode):
+ (WebCore::Document::recalcStyleSelector):
+ * dom/Document.h:
+
+2010-05-18 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Rubberstamped by Simon Hausmann.
+
+ Return null when creating an ImageBuffer failed, due to for
+ instance a nulled pixmap.
+
+ * platform/graphics/qt/ImageBufferQt.cpp:
+ (WebCore::ImageBufferData::ImageBufferData):
+ (WebCore::ImageBuffer::ImageBuffer):
+
+2010-05-18 Jian Li <jianli@chromium.org>
+
+ Reviewed by Dmitry Titov.
+
+ Fix bug 39285: fast/files/file-reader.html is timing out on all mac bots.
+ https://bugs.webkit.org/show_bug.cgi?id=39285
+
+ The timeout is caused by 59659 that changed the GC timer to 0 and thus
+ triggered a bug in FileReader code. The fix is to add more states so
+ that hasPendingActivity() can do the check correctly.
+
+ * html/FileReader.cpp:
+ (WebCore::FileReader::FileReader):
+ (WebCore::FileReader::hasPendingActivity):
+ (WebCore::FileReader::readInternal):
+ (WebCore::FileReader::terminate):
+ (WebCore::FileReader::didStart):
+ (WebCore::FileReader::didGetSize):
+ (WebCore::FileReader::didRead):
+ (WebCore::FileReader::didFinish):
+ (WebCore::FileReader::didFail):
+ (WebCore::FileReader::readyState):
+ (WebCore::FileReader::result):
+ * html/FileReader.h:
+ (WebCore::FileReader::):
+
+2010-05-18 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Clean up GraphicsLayer naming code
+ https://bugs.webkit.org/show_bug.cgi?id=39316
+
+ Move code that generates a name for the GraphicsLayer (used in debug builds only) into
+ a new nameForLayer() method. Use it when naming the foreground layer.
+
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::createGraphicsLayer):
+ (WebCore::RenderLayerBacking::updateForegroundLayer):
+ (WebCore::RenderLayerBacking::nameForLayer):
+ * rendering/RenderLayerBacking.h:
+
+2010-05-18 Justin Schuh <jschuh@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Moving frame.src checks out of the bindings
+ https://bugs.webkit.org/show_bug.cgi?id=37815
+
+ Moved JavaScript frame.src checks out of bindings and into
+ HTMLFrameElementBase. Added main thread state stack to JavaScriptCore
+ so ExecState is available inside core DOM. Updated affected bindings
+ (except for GObject, which will need to be updated to avoid origin
+ failures inside native code).
+
+ * Android.jscbindings.mk:
+ * CMakeLists.txt:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSBindingsAllInOne.cpp:
+ * bindings/js/JSCallbackData.cpp:
+ (WebCore::JSCallbackData::invokeCallback):
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::handleEvent):
+ * bindings/js/JSInjectedScriptHostCustom.cpp:
+ (WebCore::InjectedScriptHost::createInjectedScript):
+ * bindings/js/JSMainThreadExecState.cpp: Added.
+ * bindings/js/JSMainThreadExecState.h: Added.
+ (WebCore::JSMainThreadExecState::currentState):
+ (WebCore::JSMainThreadExecState::call):
+ (WebCore::JSMainThreadExecState::evaluate):
+ (WebCore::JSMainThreadExecState::JSMainThreadExecState):
+ (WebCore::JSMainThreadExecState::~JSMainThreadExecState):
+ (WebCore::JSMainThreadNullState::JSMainThreadNullState):
+ * bindings/js/ScheduledAction.cpp:
+ (WebCore::ScheduledAction::executeFunctionInContext):
+ (WebCore::ScheduledAction::execute):
+ * bindings/js/ScheduledAction.h:
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::evaluateInWorld):
+ (WebCore::ScriptController::canAccessFromCurrentOrigin):
+ * bindings/js/ScriptController.h:
+ * bindings/js/ScriptFunctionCall.cpp:
+ (WebCore::ScriptFunctionCall::call):
+ * bindings/objc/ObjCEventListener.mm:
+ * bindings/objc/WebScriptObject.mm:
+ (-[WebScriptObject callWebScriptMethod:withArguments:]):
+ (-[WebScriptObject evaluateWebScript:]):
+ * bindings/scripts/CodeGeneratorObjC.pm:
+ * bindings/scripts/test/ObjC/DOMTestCallback.mm:
+ (-[DOMTestCallback callbackWithClass1Param:]):
+ (-[DOMTestCallback callbackWithClass2Param:strArg:]):
+ (-[DOMTestCallback callbackWithNonBoolReturnType:]):
+ (-[DOMTestCallback customCallback:class6Param:]):
+ * bindings/scripts/test/ObjC/DOMTestInterface.mm:
+ * bindings/scripts/test/ObjC/DOMTestObj.mm:
+ (-[DOMTestObj readOnlyIntAttr]):
+ (-[DOMTestObj readOnlyStringAttr]):
+ (-[DOMTestObj readOnlyTestObjAttr]):
+ (-[DOMTestObj intAttr]):
+ (-[DOMTestObj setIntAttr:]):
+ (-[DOMTestObj longLongAttr]):
+ (-[DOMTestObj setLongLongAttr:]):
+ (-[DOMTestObj unsignedLongLongAttr]):
+ (-[DOMTestObj setUnsignedLongLongAttr:]):
+ (-[DOMTestObj stringAttr]):
+ (-[DOMTestObj setStringAttr:]):
+ (-[DOMTestObj testObjAttr]):
+ (-[DOMTestObj setTestObjAttr:]):
+ (-[DOMTestObj attrWithException]):
+ (-[DOMTestObj setAttrWithException:]):
+ (-[DOMTestObj attrWithSetterException]):
+ (-[DOMTestObj setAttrWithSetterException:]):
+ (-[DOMTestObj attrWithGetterException]):
+ (-[DOMTestObj setAttrWithGetterException:]):
+ (-[DOMTestObj customAttr]):
+ (-[DOMTestObj setCustomAttr:]):
+ (-[DOMTestObj scriptStringAttr]):
+ (-[DOMTestObj voidMethod]):
+ (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
+ (-[DOMTestObj intMethod]):
+ (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
+ (-[DOMTestObj objMethod]):
+ (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
+ (-[DOMTestObj methodThatRequiresAllArgs:objArg:]):
+ (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]):
+ (-[DOMTestObj serializedValue:]):
+ (-[DOMTestObj methodWithException]):
+ (-[DOMTestObj customMethod]):
+ (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
+ (-[DOMTestObj customArgsAndException:]):
+ (-[DOMTestObj addEventListener:listener:useCapture:]):
+ (-[DOMTestObj removeEventListener:listener:useCapture:]):
+ (-[DOMTestObj withDynamicFrame]):
+ (-[DOMTestObj withDynamicFrameAndArg:]):
+ (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
+ (-[DOMTestObj withDynamicFrameAndUserGesture:]):
+ (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
+ (-[DOMTestObj withScriptStateVoid]):
+ (-[DOMTestObj withScriptStateObj]):
+ (-[DOMTestObj withScriptStateVoidException]):
+ (-[DOMTestObj withScriptStateObjException]):
+ (-[DOMTestObj methodWithOptionalArg:]):
+ (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
+ (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::canAccessFromCurrentOrigin):
+ * bindings/v8/ScriptController.h:
+ * html/HTMLFrameElementBase.cpp:
+ (WebCore::HTMLFrameElementBase::isURLAllowed):
+
+2010-05-18 Drew Wilson <atwilson@chromium.org>
+
+ Unreviewed: Speculative build fix for Chromium win.
+
+ * platform/graphics/skia/SkiaFontWin.cpp: Properly set inlineCapacity.
+
+2010-05-18 Drew Wilson <atwilson@chromium.org>
+
+ Unreviewed fix for Chromium build break.
+
+ * platform/graphics/skia/SkiaFontWin.cpp: Now set inlineCapacity param.
+
+2010-05-18 Daniel Cheng <dcheng@chromium.org>
+
+ Reviewed by Darin Adler, Jian Li.
+
+ DragData::asURL() shouldn't do file validity checks
+ https://bugs.webkit.org/show_bug.cgi?id=38711
+
+ There's no point to trying to make sure the file is valid in
+ DragData::asURL(). It's better to ask for forgiveness than to ask for
+ permission, since asking for permission is prone to race conditions
+ and results in unnecessary I/O. Consumers of this function either:
+ - need to verify the file exists themselves (e.g. the loader)
+ - don't care about file validity (rich text drag-and-drop)
+
+ * platform/chromium/DragDataChromium.cpp:
+ (WebCore::DragData::asURL):
+
+2010-05-18 Timothy Hatcher <timothy@apple.com>
+
+ Fix a handful of various localization issues in the Web Inspector.
+
+ * Localize strings that where not localized.
+ * Make WebInspector.UIString work without bind.
+ * Always pass WebInspector.UIString to Number.secondsToString and Number.bytesToString.
+ * Never pass a variable to WebInspector.UIString, since that prevents auto-generation.
+ * Use an ellipsis instead of three periods.
+
+ https://webkit.org/b/39303
+ rdar://problem/7997101
+
+ Reviewed by Adam Roben.
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/AuditRules.js:
+ (WebInspector.AuditRules.GzipRule.prototype.doRun):
+ (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
+ (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
+ * inspector/front-end/ConsoleView.js:
+ (WebInspector.ConsoleView):
+ * inspector/front-end/ImageView.js:
+ (WebInspector.ImageView.prototype.contentTabSelected):
+ * inspector/front-end/ProfileDataGridTree.js:
+ (WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds):
+ (WebInspector.ProfileDataGridNode.prototype.get data):
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourceTimeCalculator.prototype.formatValue):
+ (WebInspector.ResourceTransferTimeCalculator.prototype.formatValue):
+ (WebInspector.ResourceTransferDurationCalculator.prototype.formatValue):
+ (WebInspector.ResourceTransferSizeCalculator.prototype.formatValue):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._registerShortcuts):
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype._contextMenu):
+ * inspector/front-end/TimelineOverviewPane.js:
+ (WebInspector.TimelineOverviewCalculator):
+ (WebInspector.TimelineOverviewCalculator.prototype.formatValue):
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel):
+ (WebInspector.TimelineCalculator):
+ (WebInspector.TimelineCalculator.prototype.formatValue):
+ (WebInspector.TimelinePanel.FormattedRecord.prototype._generateAggregatedInfo):
+ (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
+ (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
+ (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendTextRow):
+ (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendElementRow):
+ * inspector/front-end/inspector.js:
+ (WebInspector.loaded):
+ (WebInspector.setRecordingProfile):
+ (WebInspector.UIString):
+
+2010-05-18 Sam Weinig <sam@webkit.org>
+
+ Another attempt to fix the build.
+
+ * css/CSSCursorImageValue.cpp:
+
+2010-05-18 Adam Roben <aroben@apple.com>
+
+ Make accelerated compositing work on machines that don't support
+ hardware vertex processing
+
+ Fixes <http://webkit.org/b/39299> <rdar://problem/7997692> Accelerated
+ compositing on Windows doesn't work on machines that don't support
+ hardware vertex processing, but should
+
+ Reviewed by Eric Carlson.
+
+ * platform/graphics/win/WKCACFLayerRenderer.cpp:
+ (WebCore::WKCACFLayerRenderer::createRenderer): Query the device
+ capabilities to decide whether to request hardware or software vertex
+ processing.
+
+2010-05-18 Adam Roben <aroben@apple.com>
+
+ Make WKCACFLayerRenderer robust against temporary failure of
+ Direct3DCreate9 and IDirect3D9::CreateDevice
+
+ For a short time after waking from sleep, Direct3DCreate9() will
+ return an IDirect3D9 for which IDirect3D9::CreateDevice will always
+ fail. Also during this time period, IDirect3D9::CreateDevice
+ will fail even for non-bad IDirect3D9s. (It will later start
+ succeeding.) WKCACFLayerRenderer now works around this behavior by
+ detecting when it might be in this situation and calling these
+ functions again later.
+
+ Fixes <http://webkit.org/b/39297> <rdar://problem/7997431> WebView
+ doesn't repaint until page reloads when page using hardware
+ acceleration loads just after waking from sleep
+
+ Reviewed by John Sullivan.
+
+ * manual-tests/crash-and-no-repaint-after-wake-from-sleep.html:
+ Renamed from WebCore/manual-tests/crash-after-wake-from-sleep.html.
+ Modified to also include instructions for reproducing this bug.
+
+ * platform/graphics/win/WKCACFLayerRenderer.cpp:
+ (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Replaced
+ m_triedToCreateD3DRenderer with m_mightBeAbleToCreateDeviceLater. The
+ new member is initialized to true, since we haven't even tried to
+ create a device once yet.
+ (WebCore::WKCACFLayerRenderer::createRenderer): If we already have a
+ D3D device, or we don't have one and are sure that we won't be able to
+ create one later, just return the previously-created device, if any.
+ We assume that we won't be able to create a device later if this
+ function fails, unless the function fails due to CreateDevice failing.
+ As noted above, CreateDevice will sometimes temporarily fail and then
+ later start working again. When CreateDevice fails, we also assume
+ that we might have a bad IDirect3D9, so we get rid of the one we have
+ so a new (and hopefully non-bad) one will be allocated later.
+ (WebCore::WKCACFLayerRenderer::destroyRenderer): Reset
+ m_mightBeAbleToCreateDeviceLater to true, since we no longer have a
+ device.
+ (WebCore::WKCACFLayerRenderer::paint): Before trying to paint, try to
+ create our D3D device and renderer. If this fails, we bail out, but if
+ we think we might be able to create a device later we schedule another
+ paint (via renderSoon()) so that we'll try again soon.
+
+ * platform/graphics/win/WKCACFLayerRenderer.h: Replaced
+ m_triedToCreateD3DRenderer with m_mightBeAbleToCreateDeviceLater.
+
+2010-05-18 Adam Roben <aroben@apple.com>
+
+ Fix a crash when a page that uses accelerated compositing loads soon
+ after the computer wakes from sleep
+
+ The set-up:
+
+ For a short time after waking from sleep, IDirect3D9::CreateDevice
+ will fail. This caused WKCACFLayerRenderer::createRenderer to fail,
+ and meant that WKCACFLayerRenderer never allocated a root layer.
+ WebView wouldn't notice that createRenderer failed, and would go ahead
+ and try to use the root layer anyway, resulting in a crash.
+
+ The fix:
+
+ We now allocate the root layer (and all the other members of
+ WKCACFLayerRenderer that aren't dependent on having an
+ IDirect3DDevice9) in WKCACFLayerRenderer's constructor. This way the
+ layers will always be present, even when creating the D3D device
+ fails.
+
+ There are two remaining problems:
+ 1) This results in slightly more memory usage in the case where
+ CreateDevice fails.
+ 2) Once we get into this bad state, the WebView doesn't repaint
+ until we navigate somewhere else.
+
+ (2) is covered by
+ <http://webkit.org/b/39297>/<rdar://problem/7997431>. We'll fix it by
+ retrying CreateDevice later in hopes that it will succeed after more
+ time has passed. This will in turn fix (1). (We should never end up in
+ a case where CreateDevice fails forever because we already did some
+ preliminary checks in acceleratedCompositingAvailable().)
+
+ Fixes <http://webkit.org/b/39295> <rdar://problem/7971319> Crash
+ (preceded by assertion) in WKCACFLayerRenderer::setNeedsDisplay when
+ computer wakes from sleep on particular page
+
+ Reviewed by John Sullivan.
+
+ * manual-tests/crash-after-wake-from-sleep.html: Added. This
+ is the Poster Circle demo from webkit.org/blog, but modified to
+ automatically reload every 5 seconds and with instructions to put the
+ computer to sleep and wake it up again.
+
+ * platform/graphics/win/WKCACFLayerRenderer.cpp:
+ (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Moved code to
+ initialize m_context, m_renderContext, and m_*Layer here...
+ (WebCore::WKCACFLayerRenderer::createRenderer): ...from here.
+
+2010-05-18 Adam Roben <aroben@apple.com>
+
+ Remove an unused member variable from WKCACFLayerRenderer
+
+ Rubber-stamped by Ada Chan.
+
+ * platform/graphics/win/WKCACFLayerRenderer.h: Removed m_viewLayer,
+ which is unused.
+
+2010-05-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Allocate the m_preloads list hash set dynamically and free it when done.
+ https://bugs.webkit.org/show_bug.cgi?id=39309
+ <rdar://problem/7998495>
+
+ This saves about 6000 bytes on a fully loaded document.
+
+ * loader/DocLoader.cpp:
+ (WebCore::DocLoader::requestPreload):
+ (WebCore::DocLoader::clearPreloads):
+ * loader/DocLoader.h:
+
+2010-05-18 Anders Carlsson <andersca@apple.com>
+
+ Revert unintended indentation and unnecessary nested name specifier.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::clipOutPositionedObjects):
+ (WebCore::RenderBlock::insertPositionedObject):
+
+2010-05-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add an inlineCapacity template parameter to ListHashSet and use it to shrink the positioned object list hash set.
+ https://bugs.webkit.org/show_bug.cgi?id=39304
+ <rdar://problem/7998366>
+
+ Set the inlineCapacity for the positionedObjects ListHashSet to 4 instead of 256. Since a RenderBlock usually has
+ few positioned objects, this saves memory.
+
+ * WebCore.base.exp:
+ * rendering/RenderBlock.cpp:
+ (WebCore::clipOutPositionedObjects):
+ (WebCore::RenderBlock::insertPositionedObject):
+ * rendering/RenderBlock.h:
+ (WebCore::RenderBlock::positionedObjects):
+
+2010-05-17 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39258
+ Remove NamedAttrMap residual gunk
+
+ Replace NamedAttrMap.h/cpp with NamedNodeMap.h/cpp which was the class
+ it contained.
+
+ * CMakeLists.txt:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/v8/custom/V8NamedNodesCollection.cpp:
+ * dom/NamedAttrMap.cpp: Removed.
+ * dom/NamedAttrMap.h: Removed.
+ * dom/NamedNodeMap.cpp: Copied from dom/NamedAttrMap.cpp.
+ * dom/NamedNodeMap.h: Replaced with dom/NamedAttrMap.h.
+ * editing/ReplaceNodeWithSpanCommand.cpp:
+ * platform/chromium/ClipboardChromium.cpp:
+
+2010-05-18 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Eric Carlson.
+
+ <rdar://problem/7993468> REGRESSION (r58586): Audio doesn't play on first click of play button at NPR.org
+
+ NPR swallows the first mouse click on the play button, calls load() on the element, then waits for the
+ canplay event to come in before calling play itself.
+
+ After the site specific hack added in r58586, we disallowed play() from within the canplay event handler.
+ By tracking whether a load() was triggered by a user gesture, we can differentiate between the original
+ canplay event that we meant to ignore and the one resulting from the first mouse click which we want to honor.
+
+ No new tests. (Currently no way to test such site specific hack behavior)
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::HTMLMediaElement):
+ (WebCore::HTMLMediaElement::load): Set the m_loadInitiatedByUserGesture flag
+ (WebCore::HTMLMediaElement::play): Only apply the site specific hack if the load wasn't initiated by a user gesture.
+ * html/HTMLMediaElement.h:
+
+2010-05-18 Jakob Petsovits <jpetsovits@rim.com>
+
+ Reviewed by Dirk Schulze.
+
+ [OpenVG] Fix stupid build errors from the OpenVG Path commit
+ https://bugs.webkit.org/show_bug.cgi?id=39228
+
+ * platform/graphics/openvg/PainterOpenVG.cpp:
+ (WebCore::PainterOpenVG::clipPath):
+ * platform/graphics/openvg/PathOpenVG.cpp:
+ (WebCore::Path::transform):
+
+2010-05-18 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Refactored FrameLoader::isDocumentSandboxed() from a private member function
+ to a static, non-member, non-friend function.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39157
+
+ Making this function non-private lets us make FrameLoader::createWindow()
+ a non-member function in a subsequent patch. We also made it non-member
+ rather than member to increase encapsulation and limit the number of
+ public functions with access to private FrameLoader data.
+
+ No new functionality, so no new tests.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::isDocumentSandboxed):
+ - Moved this function from a private member function of FrameLoader
+ to a static, non-member, non-friend function.
+ (WebCore::FrameLoader::createWindow):
+ - Updated the call to isDocumentSandboxed().
+ (WebCore::FrameLoader::submitForm):
+ - Updated the call to isDocumentSandboxed().
+ (WebCore::FrameLoader::requestObject):
+ - Updated the call to isDocumentSandboxed().
+ (WebCore::FrameLoader::shouldAllowNavigation):
+ - Updated the call to isDocumentSandboxed().
+ * loader/FrameLoader.h:
+ - Removed isDocumentSandboxed() and added a FIXME to move
+ createWindow() out of the FrameLoader class.
+
+2010-05-08 Robert Hogan <robert@roberthogan.net>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix http/tests/xmlhttprequest/cross-origin-no-authorization.html
+ and http/tests/xmlhttprequest/cross-origin-authorization.html
+
+ QHttpNetworkRequest adds Authorization and Cookie headers to XHRs
+ without knowing if this is valid behaviour or not. In order to allow
+ Qt to decide whether Cookie/Authorization headers should be added
+ to an XHR QtWebKit needs to use an attribute added to QNetworkRequest.
+ These new attributes are: QNetworkRequest::CookieLoadControlAttribute,
+ QNetworkRequest::CookieSaveControlAttribute,and
+ QNetworkRequest::AuthenticationReuseControlAttribute.
+
+ QtWebKit will set QNetworkRequest::AuthenticationReuseControlAttribute to false
+ unless withCredentials is set to true in the XHR.
+
+ QtWebkit will set CookieLoad/SaveControlAttribute to false unless withCredentials
+ is set to true in the XHR.
+
+ Qt will pass the values onto QHttpNetworkRequest and this will permit
+ the Qt network access processing to decide whether or not to add either
+ or both of the Cookie/Authorisation headers, and whether to save cookies
+ returned from such requests. By default the attribute
+ will always be true so unless QtWebKit sets it to false normal
+ header processing is unaffected.
+
+ The Qt part of these changes was merged at: http://gitorious.org/qt/qt/merge_requests/592
+
+ https://bugs.webkit.org/show_bug.cgi?id=32967
+
+ * platform/network/qt/ResourceRequestQt.cpp:
+ (WebCore::ResourceRequest::toNetworkRequest):
+
+2010-05-18 Zoltan Herczeg <zherczeg@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Implementing clipToImageBuffer for Qt port.
+ https://bugs.webkit.org/show_bug.cgi?id=24289
+
+ The implementation combines pixmap layers and destinationIn
+ composition mode.
+
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::TransparencyLayer::TransparencyLayer):
+ (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
+ (WebCore::GraphicsContext::savePlatformState):
+ (WebCore::GraphicsContext::restorePlatformState):
+ (WebCore::GraphicsContext::inTransparencyLayer):
+ (WebCore::GraphicsContext::beginTransparencyLayer):
+ (WebCore::GraphicsContext::endTransparencyLayer):
+ (WebCore::GraphicsContext::clipToImageBuffer):
+
+2010-05-18 Eric Seidel <eric@webkit.org>
+
+ Unreviewed build fix.
+
+ Make it possible to enable the new HTML5Tokenizer for testing
+ https://bugs.webkit.org/show_bug.cgi?id=39275
+
+ * WebCore.gypi:
+ - Fix HTMLLexer.* -> HTML5Lexer.*
+ * WebCore.vcproj/WebCore.vcproj:
+ - Add HTML5Lexer and HTML5Tokenizer to project.
+
+2010-05-18 Eric Seidel <eric@webkit.org>
+
+ Unreviewed build fix.
+
+ Make it possible to enable the new HTML5Tokenizer for testing
+ https://bugs.webkit.org/show_bug.cgi?id=39275
+
+ * dom/NamedAttrMap.cpp:
+ (WebCore::NamedNodeMap::setNamedItemNS):
+ - Move this to the .cpp file so as to avoid needing to include "Node.h" in the header.
+ * dom/NamedAttrMap.h:
+ * html/HTML5Token.h:
+ - Remove #include "String.h" which was wrong. Adam meant "PlatformString.h"
+ - Remove unneeded #include "Node.h", it was only needed because
+ NamedAttrMap.h was incorrectly depending on Node.h but not
+ including it. It didn't actually need Node.h except for one
+ inlined method setNamedItemNS, so I moved setNamedItemNS into
+ the .cpp to get rid of the Node.h requirement.
+
+2010-05-18 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Make it possible to enable the new HTML5Tokenizer for testing
+ https://bugs.webkit.org/show_bug.cgi?id=39275
+
+ I added html5ParserEnabled to Settings so that we can enable/disable
+ the HTML5 parser for testing.
+
+ I also ripped out a bunch of dead code from HTML5Lexer.
+
+ I had to add HTML5Lexer/HTML5Tokenizer to all build systems so that
+ the build wouldn't fail now that we reference these classes from HTMLDocument.
+
+ * Android.mk:
+ * CMakeLists.txt:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.xcodeproj/project.pbxproj:
+ * html/HTML5Lexer.cpp:
+ (WebCore::HTML5Lexer::reset):
+ (WebCore::isWhitespace):
+ (WebCore::HTML5Lexer::nextToken):
+ * html/HTML5Lexer.h:
+ * html/HTML5Tokenizer.cpp: Added.
+ (WebCore::HTML5Tokenizer::HTML5Tokenizer):
+ (WebCore::HTML5Tokenizer::~HTML5Tokenizer):
+ (WebCore::HTML5Tokenizer::begin):
+ (WebCore::HTML5Tokenizer::write):
+ (WebCore::HTML5Tokenizer::end):
+ (WebCore::HTML5Tokenizer::finish):
+ (WebCore::HTML5Tokenizer::isWaitingForScripts):
+ * html/HTML5Tokenizer.h: Added.
+ * html/HTMLDocument.cpp:
+ (WebCore::HTMLDocument::createTokenizer):
+ * html/HTMLTokenizer.h:
+ * html/HTMLViewSourceDocument.cpp:
+ (WebCore::HTMLViewSourceDocument::createTokenizer):
+ * page/Settings.cpp:
+ (WebCore::Settings::Settings):
+ * page/Settings.h:
+ (WebCore::Settings::setHTML5ParserEnabled):
+ (WebCore::Settings::html5ParserEnabled):
+
+2010-05-18 Maciej Stachowiak <mjs@apple.com>
+
+ Not reviewed, build fix.
+
+ Attempt to fix build for v8 bindings (untested).
+
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::clearWindowShell):
+ * bindings/v8/ScriptController.h:
+
+2010-05-17 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ GC more promptly when navigating to a new inner window, but not at all when it went in the page cache
+ https://bugs.webkit.org/show_bug.cgi?id=39254
+ <rdar://problem/7996370>
+
+ ~1% PLT speedup
+ ~4% iBench HTML speedup
+
+ * bindings/js/GCController.cpp:
+ (WebCore::GCController::garbageCollectSoon): Change back to a 0 delay timer instead of
+ 0.5 second.
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::clearWindowShell): Add a new boolean parameter. Don't
+ garbageColectSoon if the page is going into the page cache.
+ * bindings/js/ScriptController.h: Prototype change for above.
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::clear): Indicate when the page is going into the page cache.
+
+2010-05-18 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Add an HTML5Token
+ https://bugs.webkit.org/show_bug.cgi?id=39274
+
+ The token object is an ugly fake union, but I'm sure sure there's a
+ better way... Eric needs this to provide output for the test harness.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * html/HTML5Lexer.cpp:
+ (WebCore::HTML5Lexer::HTML5Lexer):
+ (WebCore::HTML5Lexer::write):
+ (WebCore::HTML5Lexer::emitCharacter):
+ * html/HTML5Lexer.h:
+ * html/HTML5Token.h: Added.
+ (WebCore::HTML5Token::):
+ (WebCore::HTML5Token::HTML5Token):
+ (WebCore::HTML5Token::setToCharacter):
+
+2010-05-18 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Implement ScriptData states for HTML5Lexer
+ https://bugs.webkit.org/show_bug.cgi?id=39273
+
+ This patch implements more of the lexer states according to the HTML5
+ specification. Currently, this code is compiled by not tested. We're
+ working on bringing up a test harness in parallel with transliterating
+ the spec into code.
+
+ * html/HTML5Lexer.cpp:
+ (WebCore::HTML5Lexer::tokenize):
+ (WebCore::HTML5Lexer::temporaryBufferIs):
+ * html/HTML5Lexer.h:
+ (WebCore::HTML5Lexer::):
+
+2010-05-17 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Rename HTML5Tokenzier to HTML5Lexer so that we can add a new HTML5Tokenizer which implements Tokenizer
+ https://bugs.webkit.org/show_bug.cgi?id=39272
+
+ Strictly a rename, no functionality change.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * html/HTML5Lexer.cpp: Added.
+ * html/HTML5Lexer.h: Added.
+ * html/HTML5Tokenizer.cpp: Removed.
+ * html/HTML5Tokenizer.h: Removed.
+
+2010-05-17 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r59652.
+ http://trac.webkit.org/changeset/59652
+ https://bugs.webkit.org/show_bug.cgi?id=39268
+
+ file-input-files-access test is broken on Mac (Requested by
+ dcheng on #webkit).
+
+ * platform/chromium/DragDataChromium.cpp:
+ (WebCore::DragData::asURL):
+
+2010-05-17 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Implement RAWTEXT tokenizer states
+ https://bugs.webkit.org/show_bug.cgi?id=39267
+
+ More tokenizer states. There's a bunch of functionality notImplemented
+ that we'll come back to.
+
+ * html/HTML5Tokenizer.cpp:
+ (WebCore::HTML5Tokenizer::tokenize):
+ * html/HTML5Tokenizer.h:
+
+2010-05-17 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Implement more parser states in HTML5Tokenizer
+ https://bugs.webkit.org/show_bug.cgi?id=39265
+
+ This patch implements some easy states. I'll come back and do the
+ harder states later.
+
+ * html/HTML5Tokenizer.cpp:
+ (WebCore::HTML5Tokenizer::tokenize):
+ (WebCore::HTML5Tokenizer::emitParseError):
+ * html/HTML5Tokenizer.h:
+
+2010-05-17 Daniel Cheng <dcheng@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ DragData::asURL() shouldn't do file validity checks
+ https://bugs.webkit.org/show_bug.cgi?id=38711
+
+ There's no point to trying to make sure the file is valid in
+ DragData::asURL(). It's better to ask for forgiveness than to ask for
+ permission, since asking for permission is prone to race conditions
+ and results in unnecessary I/O. Consumers of this function either:
+ - need to verify the file exists themselves (e.g. the loader)
+ - don't care about file validity (rich text drag-and-drop)
+
+ * platform/chromium/DragDataChromium.cpp:
+ (WebCore::DragData::asURL):
+
+2010-05-17 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Update states in HTML5Tokenizer to match HTML5 spec
+ https://bugs.webkit.org/show_bug.cgi?id=39264
+
+ I've also implemented the DataState. More states to follow.
+
+ * html/HTML5Tokenizer.cpp:
+ (WebCore::HTML5Tokenizer::reset):
+ (WebCore::HTML5Tokenizer::tokenize):
+ * html/HTML5Tokenizer.h:
+ (WebCore::HTML5Tokenizer::):
+
+2010-05-17 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ ':valid' CSS selector should not be applied to some form controls
+ https://bugs.webkit.org/show_bug.cgi?id=39162
+
+ * html/HTMLElement.cpp:
+ (WebCore::inlineTagList): Always includes progressTag. This change is
+ needed in a case of no ENABLE_PROGRESS_TAG. Without this change and
+ ENABLE_PROGRESS_TAG, <progress> tags disappear.
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::recalcWillValidate):
+ Return false for SUBMIT and IMAGE.
+ * html/HTMLProgressElement.h:
+ (WebCore::HTMLProgressElement::recalcWillValidate):
+ Return false. This change is needed in a case of ENABLE_PROGRESS_TAG.
+
+2010-05-17 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Remove load-related code from HTML5Tokenizer
+ https://bugs.webkit.org/show_bug.cgi?id=39263
+
+ This code is related to reloading resources and not to tokenizing. In
+ the PreloadScanner, these concerns are coupled, but we want to decouple
+ them.
+
+ * html/HTML5Tokenizer.cpp:
+ (WebCore::HTML5Tokenizer::HTML5Tokenizer):
+ (WebCore::HTML5Tokenizer::~HTML5Tokenizer):
+ (WebCore::HTML5Tokenizer::begin):
+ (WebCore::HTML5Tokenizer::end):
+ (WebCore::HTML5Tokenizer::reset):
+ (WebCore::HTML5Tokenizer::write):
+ (WebCore::HTML5Tokenizer::consumeEntity):
+ (WebCore::HTML5Tokenizer::tokenize):
+ (WebCore::HTML5Tokenizer::processAttribute):
+ (WebCore::HTML5Tokenizer::emitCharacter):
+ (WebCore::HTML5Tokenizer::emitTag):
+ * html/HTML5Tokenizer.h:
+
+2010-05-17 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Add HTML5Tokenizer to the build system on Mac
+ https://bugs.webkit.org/show_bug.cgi?id=39262
+
+ This file will be easier to work with if we're actually compiling it.
+ Hopefully we'll get this wired into the PreloadScanner soon. Once we
+ start actually calling the code, we'll add it to the build system on
+ other platforms.
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+2010-05-17 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Copy PreloadScanner.* to HTML5Tokenizer.* to start work on the new HTML5 Tokenizer
+ https://bugs.webkit.org/show_bug.cgi?id=39261
+
+ * html/HTML5Tokenizer.cpp: Rename PreloadScanner to HTML5Tokenizer.
+ * html/HTML5Tokenizer.h: ditto.
+
+2010-05-17 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Copy PreloadScanner.* to HTML5Tokenizer.* to start work on the new HTML5 Tokenizer
+ https://bugs.webkit.org/show_bug.cgi?id=39261
+
+ This time copy the cpp from the right file.
+
+ * html/HTML5Tokenizer.cpp: Copied from WebCore/html/PreloadScanner.cpp.
+
+2010-05-17 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Copy PreloadScanner.* to HTML5Tokenizer.* to start work on the new HTML5 Tokenizer
+ https://bugs.webkit.org/show_bug.cgi?id=39261
+
+ * html/HTML5Tokenizer.cpp: Copied from WebCore/html/PreloadScanner.h.
+ * html/HTML5Tokenizer.h: Copied from WebCore/html/PreloadScanner.h.
+
+2010-05-17 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Kent Tamura.
+
+ [Chromium] Windows: Speed of indeterminate progress bar should be constant
+ https://bugs.webkit.org/show_bug.cgi?id=39211
+
+ No new tests, animation effect can be confirmed only manually.
+
+ * rendering/RenderThemeChromiumWin.cpp:
+ (WebCore::RenderThemeChromiumWin::animationDurationForProgressBar):
+ (WebCore::RenderThemeChromiumWin::paintProgressBar):
+
+2010-05-17 Drew Wilson <atwilson@chromium.org>
+
+ Unreviewed build fix for Qt and Chromium.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39147
+
+ * page/Frame.h: Now includes CSSMutableStyleDeclaration.h.
+
+2010-05-17 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Remove unused member member from Document
+ https://bugs.webkit.org/show_bug.cgi?id=39251
+
+ Remove m_associatedHistoryItems from Document; it is never used.
+
+ * dom/Document.h:
+
+2010-05-17 Darin Adler <darin@apple.com>
+
+ Fix Qt build.
+
+ * page/Frame.cpp:
+ (WebCore::Frame::setTypingStyle): Move back to make non-inline.
+ * page/Frame.h: Removed inline version of setTypingStyle.
+
+2010-05-14 Darin Adler <darin@apple.com>
+
+ Reviewed by Brady Eidson.
+
+ Frame has many trivial member functions that should be inlined
+ https://bugs.webkit.org/show_bug.cgi?id=39147
+
+ * WebCore.base.exp: Export the functions that are now inlined.
+
+ * page/Frame.cpp:
+ (WebCore::Frame::removeEditingStyleFromBodyElement):
+ Removed the body of this function.
+
+ * page/Frame.h:
+ (WebCore::Frame::init): Moved here from .cpp.
+ (WebCore::Frame::loader): Ditto.
+ (WebCore::Frame::redirectScheduler): Ditto.
+ (WebCore::Frame::view): Ditto.
+ (WebCore::Frame::script): Ditto.
+ (WebCore::Frame::document): Ditto.
+ (WebCore::Frame::selection): Ditto.
+ (WebCore::Frame::editor): Ditto.
+ (WebCore::Frame::animation): Ditto.
+ (WebCore::Frame::mark): Ditto.
+ (WebCore::Frame::setMark): Ditto.
+ (WebCore::Frame::zoomFactor): Ditto.
+ (WebCore::Frame::jsStatusBarText): Ditto.
+ (WebCore::Frame::jsDefaultStatusBarText): Ditto.
+ (WebCore::Frame::needsReapplyStyles): Ditto.
+ (WebCore::Frame::typingStyle): Ditto.
+ (WebCore::Frame::setTypingStyle): Ditto.
+ (WebCore::Frame::clearTypingStyle): Ditto.
+ (WebCore::Frame::ownerElement): Ditto.
+ (WebCore::Frame::isDisconnected): Ditto.
+ (WebCore::Frame::setIsDisconnected): Ditto.
+ (WebCore::Frame::excludeFromTextSearch): Ditto.
+ (WebCore::Frame::setExcludeFromTextSearch): Ditto.
+ (WebCore::Frame::inViewSourceMode): Ditto.
+ (WebCore::Frame::setInViewSourceMode): Ditto.
+ (WebCore::Frame::markedTextMatchesAreHighlighted): Ditto.
+ (WebCore::Frame::tree): Ditto.
+ (WebCore::Frame::page): Ditto.
+ (WebCore::Frame::detachFromPage): Ditto.
+ (WebCore::Frame::eventHandler): Ditto.
+ (WebCore::Frame::shouldClose): Ditto.
+
+2010-05-17 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39247
+ <rdar://problem/7994707>
+ Move rarely used data members to the rare structures, thus saving memory.
+
+ Move rarely used member variables from StyleInheritedData and StyleVisualData to
+ StyleRareInheritedData and StyleRareNonInheritedData, namely:
+
+ indent, cursorData, m_effectiveZoom, widows and orphans move from StyleInheritedData to StyleRareInheritedData.
+ m_counterIncrement and m_counterReset move from StyleVisualData to StyleRareNonInheritedData.
+
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::diff):
+ (WebCore::RenderStyle::addCursor):
+ (WebCore::RenderStyle::setCursorList):
+ (WebCore::RenderStyle::clearCursorList):
+ * rendering/style/RenderStyle.h:
+ (WebCore::InheritedFlags::textIndent):
+ (WebCore::InheritedFlags::effectiveZoom):
+ (WebCore::InheritedFlags::counterIncrement):
+ (WebCore::InheritedFlags::counterReset):
+ (WebCore::InheritedFlags::cursors):
+ (WebCore::InheritedFlags::widows):
+ (WebCore::InheritedFlags::orphans):
+ (WebCore::InheritedFlags::setTextIndent):
+ (WebCore::InheritedFlags::setEffectiveZoom):
+ (WebCore::InheritedFlags::setCounterIncrement):
+ (WebCore::InheritedFlags::setCounterReset):
+ (WebCore::InheritedFlags::setWidows):
+ (WebCore::InheritedFlags::setOrphans):
+ * rendering/style/StyleInheritedData.cpp:
+ (WebCore::StyleInheritedData::StyleInheritedData):
+ (WebCore::StyleInheritedData::operator==):
+ * rendering/style/StyleInheritedData.h:
+ * rendering/style/StyleRareInheritedData.cpp:
+ (WebCore::StyleRareInheritedData::StyleRareInheritedData):
+ (WebCore::cursorDataEquivalent):
+ (WebCore::StyleRareInheritedData::operator==):
+ * rendering/style/StyleRareInheritedData.h:
+ * rendering/style/StyleRareNonInheritedData.cpp:
+ (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
+ (WebCore::StyleRareNonInheritedData::operator==):
+ * rendering/style/StyleRareNonInheritedData.h:
+ * rendering/style/StyleVisualData.cpp:
+ (WebCore::StyleVisualData::StyleVisualData):
+ * rendering/style/StyleVisualData.h:
+ (WebCore::StyleVisualData::operator==):
+
+2010-05-17 Robert Hogan <robert@webkit.org>
+
+ Rubber-stamped by Eric Seidel.
+
+ Fix --no-svg build.
+
+ I have no idea where the SVG-dependent include of this file is hidden, but
+ it is probably better to include it explicitly anyway like V8WorkerContextCustom.cpp.
+
+ * bindings/js/JSWorkerContextCustom.cpp:
+
+2010-05-17 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39231
+
+ Fix failures in the RTL portion of fast/multicol/layers-in-multicol.html. Make sure block children of RTL blocks are positioned using
+ the reduced column width instead of the total content width.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::determineHorizontalPosition):
+ (WebCore::RenderBlock::nodeAtPoint):
+ (WebCore::RenderBlock::hitTestContents):
+ (WebCore::RenderBlock::adjustForColumns):
+
+2010-05-17 Jakob Petsovits <jpetsovits@rim.com>
+
+ Reviewed by George Staikos.
+
+ [OpenVG] Add support for decoding and drawing images
+ https://bugs.webkit.org/show_bug.cgi?id=36072
+
+ OpenVG has a maximum image size (how large is
+ specific to the OpenVG implementation), so this
+ requires us to store them as separate image tiles.
+
+ Image decoding and initial drawing code by
+ Adam Treat <atreat@rim.com>. Image decoder
+ downsampling support by Yong Li <yoli@rim.com>.
+
+ * platform/graphics/ImageSource.h:
+ * platform/graphics/openvg/ImageOpenVG.cpp: Added.
+ (WebCore::FrameData::clear):
+ (WebCore::BitmapImage::BitmapImage):
+ (WebCore::BitmapImage::checkForSolidColor):
+ (WebCore::BitmapImage::initPlatformData):
+ (WebCore::BitmapImage::invalidatePlatformData):
+ (WebCore::adjustSourceRectForDownSampling):
+ (WebCore::BitmapImage::draw):
+ (WebCore::Image::drawPattern):
+ (WebCore::Image::loadPlatformResource):
+ * platform/graphics/openvg/PainterOpenVG.cpp:
+ (WebCore::PainterOpenVG::drawImage):
+ (WebCore::PainterOpenVG::asNewNativeImage):
+ * platform/graphics/openvg/PainterOpenVG.h:
+ * platform/graphics/openvg/TiledImageOpenVG.cpp: Added.
+ (WebCore::TiledImageOpenVG::TiledImageOpenVG):
+ (WebCore::TiledImageOpenVG::operator=):
+ (WebCore::TiledImageOpenVG::~TiledImageOpenVG):
+ (WebCore::TiledImageOpenVG::numTiles):
+ (WebCore::TiledImageOpenVG::numColumns):
+ (WebCore::TiledImageOpenVG::numRows):
+ (WebCore::TiledImageOpenVG::setTile):
+ (WebCore::TiledImageOpenVG::tilesInRect):
+ (WebCore::TiledImageOpenVG::tile):
+ (WebCore::TiledImageOpenVG::tileRect):
+ (WebCore::TiledImageOpenVG::detachTiles):
+ (WebCore::TiledImageOpenVG::destroyTiles):
+ * platform/graphics/openvg/TiledImageOpenVG.h: Added.
+ (WebCore::TiledImageOpenVG::size):
+ (WebCore::TiledImageOpenVG::maxTileSize):
+ * platform/graphics/openvg/VGUtils.cpp:
+ (WebCore::VGUtils::bytesForImage):
+ (WebCore::VGUtils::bytesForImageScanline):
+ (WebCore::VGUtils::imageFormatBitsPerPixel):
+ (WebCore::VGUtils::endianAwareImageFormat):
+ * platform/graphics/openvg/VGUtils.h:
+ * platform/image-decoders/openvg/ImageDecoderOpenVG.cpp: Added.
+ (WebCore::RGBA32Buffer::asNewNativeImage):
+
+2010-05-17 Yaar Schnitman <yaar@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Fix JSC's generation of 'Optional' arguments. When a single 'Optional' extended attribute precedes multiple method arguments, all of these arguments are optional as a group (either all or non must be specified). This fix, which makes JSC compliant with V8 and with the Web IDL specs, is pretty harmless, since Optional is currently not being used anywhere in JSC, but it blocks further work on overloads.
+ https://bugs.webkit.org/show_bug.cgi?id=39227
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
+
+2010-05-16 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39192
+ Remove unused PERFECT_HASH code CodeGeneratorJS.
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+
+2010-05-17 Jeremy Moskovich <jeremy@chromium.org>
+
+ Reviewed by Jeremy Orlow.
+
+ Remove debug code that was introduced to help narrow down the
+ source of a crash.
+ https://bugs.webkit.org/show_bug.cgi?id=36426
+
+ No change in behavior, so no new tests.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::finishedLoadingDocument):
+
+2010-05-17 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Bring CanvasRenderingContext2D's createImageData() in line with HTML5 spec
+ Added createImageData(ImageData) which returns a new ImageData with the same size as the one passed.
+ Changed createImageData(width, height) to use the absolute values of width and height.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39189
+
+ Spec link:
+ http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-createimagedata
+
+ Test: fast/canvas/canvas-createImageData.html
+
+ * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
+ (WebCore::JSCanvasRenderingContext2D::createImageData):
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::createImageData):
+ * html/canvas/CanvasRenderingContext2D.h:
+ * html/canvas/CanvasRenderingContext2D.idl:
+
+2010-05-17 Antti Koivisto <koivisto@iki.fi>
+
+ This was missing from previous commit.
+
+ * platform/qt/QWebPageClient.h:
+ (QWebPageClient::graphicsItemVisibleRect):
+
+2010-05-17 Antti Koivisto <koivisto@iki.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39218
+ [Qt] Tiled backing store tiles sometimes flicker when exiting a zoom animation
+
+ Tiles sometimes flicker when exiting a zoom animation. This happens as a result
+ of the visible rectangle being momentarily out of sync.
+
+ Instead of updating the visible rect by explicitly setting it, pull it through
+ the client and recompute in the WebKit level.
+
+ * page/ChromeClient.h:
+ (WebCore::ChromeClient::visibleRectForTiledBackingStore):
+ * page/Frame.cpp:
+ (WebCore::Frame::tiledBackingStoreVisibleRect):
+ * page/Frame.h:
+ * platform/graphics/TiledBackingStore.cpp:
+ (WebCore::TiledBackingStore::checkVisibleRectChanged):
+ (WebCore::TiledBackingStore::createTiles):
+ * platform/graphics/TiledBackingStore.h:
+ * platform/graphics/TiledBackingStoreClient.h:
+
+2010-05-15 Adam Roben <aroben@apple.com>
+
+ Periodically try to reset a lost IDirect3DDevice9 until we succeed
+
+ This is how MSDN says we must respond to a lost device (see
+ <http://msdn.microsoft.com/en-us/library/bb174714(v=VS.85).aspx>).
+
+ Only testable by a manual test, unfortunately.
+
+ Fixes <rdar://problem/7986906> <http://webkit.org/b/39139> Pages that
+ use hardware acceleration don't repaint after waking computer from
+ sleep
+
+ Reviewed by John Sullivan.
+
+ * manual-tests/no-repaint-after-wake-from-sleep.html: Added. This is
+ the Poster Circle demo from webkit.org/blog, but with instructions for
+ putting the computer to sleep and waking it up again.
+
+ * platform/graphics/win/WKCACFLayerRenderer.cpp:
+ (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Initialize new
+ member that tells us whether we need to try to reset the device before
+ rendering.
+ (WebCore::WKCACFLayerRenderer::resize): Changed to tell resetDevice
+ the reason why the device needs to be reset (which is because the
+ window's size has changed).
+ (WebCore::WKCACFLayerRenderer::render): Before we do anything else,
+ check if we need to reset the device before rendering. If we do, try
+ to reset it. If that fails, bail out and set a timer to try again
+ later. If we discover that the device is lost when calling
+ IDirect3DDevice9::Present and resetting the device fails, bail out and
+ set a timer to try again later.
+ (WebCore::WKCACFLayerRenderer::resetDevice): Changed to return a
+ boolean indicating whether resetting succeeded or not. Added a
+ ResetReason parameter so callers can specify whey the device needs to
+ be reset. Before trying to do anything, we call
+ IDirect3DDevice9::TestCooperativeLevel to find out whether the device
+ can be reset currently. If it can't, we set a flag to tell ourselves
+ that the device must be reset before we next render, and indicate to
+ the caller that the reset failed. If we thought the device was lost
+ but it turns out not to be, we don't have to do anything and can tell
+ the caller that the reset succeeded. Otherwise we go ahead and reset
+ the device as before, and indicate to the caller that the reset
+ succeeded.
+
+ * platform/graphics/win/WKCACFLayerRenderer.h: Changed resetDevice to
+ return a boolean and take a ResetReason parameter. Added a comment
+ about when and why this function should be called. And added
+ m_mustResetLostDeviceBeforeRendering.
+
+2010-05-15 Adam Roben <aroben@apple.com>
+
+ Call CARenderOGLPurge whenever we call IDirect3DDevice9::Reset
+
+ MSDN says that all resoures allocated with D3DPOOL_DEFAULT must be
+ destroyed before calling IDirect3DDevice9::Reset. The only way to
+ guarantee this with Core Animation is to call CARenderOGLPurge.
+
+ Unfortunately this isn't testable at the moment, as we don't use any
+ features of Core Animation (e.g., mask layers) that actually make this
+ required. But it seems like a good idea to fix the code now so that
+ if/when we do start using those features we won't run into problems.
+
+ Fixes <http://webkit.org/b/39159> WKCACFLayerRenderer::resetDevice
+ might fail due to failing to destroy all D3DPOOL_DEFAULT resources
+
+ Reviewed by John Sullivan.
+
+ * platform/graphics/win/WKCACFLayerRenderer.cpp:
+ (WebCore::WKCACFLayerRenderer::render): Moved the call to
+ CARenderOGLPurge from here...
+ (WebCore::WKCACFLayerRenderer::resetDevice): ...to here, so that it
+ will be called whenever we reset the device (e.g., when resizing the
+ window).
+
+2010-05-17 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Rubber-stamped by Xan Lopez.
+
+ Build fix. Remove bashism from build system.
+
+ * GNUmakefile.am:
+
+2010-05-17 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r59483.
+ http://trac.webkit.org/changeset/59483
+ https://bugs.webkit.org/show_bug.cgi?id=39215
+
+ "page_cycler_intl1 regression on Linux" (Requested by yurys on
+ #webkit).
+
+ * platform/chromium/ChromiumBridge.h:
+ * platform/graphics/chromium/FontCacheLinux.cpp:
+ (WebCore::FontCache::getFontDataForCharacters):
+
+2010-05-17 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Laszlo Gombos.
+
+ REGRESSION(59563): [Qt] JSValue QtClass::fallbackObject can be optimized
+
+ Patch declared a variable index, which shadowed an earlier declared
+ variable.
+
+ * bridge/qt/qt_class.cpp:
+ (JSC::Bindings::QtClass::fallbackObject):
+
+2010-05-14 Andrei Popescu <andreip@google.com>
+
+ Reviewed by Jeremy Orlow.
+
+ IDBRequest is not a proper ActiveDomObject
+ https://bugs.webkit.org/show_bug.cgi?id=39001
+
+ Add IDBRequest interface to the IsActiveDomType
+ routine of the CodeGeneratorV8.pm.
+
+ Rename IDBRequest::m_stopped to m_suspended and reset
+ the flag when resume() is called.
+
+ No new tests, Indexed Database isn't yet testable.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * storage/IDBRequest.cpp:
+ (WebCore::IDBRequest::suspend):
+ (WebCore::IDBRequest::resume):
+ (WebCore::IDBRequest::timerFired):
+ (WebCore::IDBRequest::onEventCommon):
+ * storage/IDBRequest.h:
+
+2010-05-17 Xan Lopez <xlopez@igalia.com>
+
+ Do not include the indexed database headers if the feature is not
+ enabled. Should fix the build in GTK+.
+
+ * bindings/js/JSEventCustom.cpp:
+
+2010-05-17 Xan Lopez <xlopez@igalia.com>
+
+ Try to fix GTK+ build.
+
+ * GNUmakefile.am:
+
+2010-05-14 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Nate Chapin.
+
+ Finish up IndexedDB events
+ https://bugs.webkit.org/show_bug.cgi?id=39117
+
+ Implement the indexed database event interfaces as proposed by Mozilla.
+ Refactor the run time type detection code that was in IDBRequest into its own
+ class named IDBAny. Use this new class within the new event classes and
+ IDBResults.
+
+ Test: storage/indexeddb/basics.html
+
+ * DerivedSources.cpp:
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+ * WebCore.pri:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSEventCustom.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSEventTarget.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSIDBAnyCustom.cpp: Added.
+ (WebCore::toJS):
+ * bindings/js/JSIDBRequestCustom.cpp: Removed.
+ * bindings/v8/custom/V8EventCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8IDBAnyCustom.cpp: Added.
+ (WebCore::toV8):
+ * bindings/v8/custom/V8IDBRequestCustom.cpp: Removed.
+ * dom/Event.cpp:
+ (WebCore::Event::isIDBErrorEvent):
+ (WebCore::Event::isIDBSuccessEvent):
+ * dom/Event.h:
+ * storage/IDBAny.cpp: Added.
+ (WebCore::IDBAny::create):
+ (WebCore::IDBAny::IDBAny):
+ (WebCore::IDBAny::~IDBAny):
+ (WebCore::IDBAny::idbDatabaseRequest):
+ (WebCore::IDBAny::indexedDatabaseRequest):
+ (WebCore::IDBAny::serializedScriptValue):
+ (WebCore::IDBAny::set):
+ * storage/IDBAny.h: Added.
+ (WebCore::IDBAny::):
+ (WebCore::IDBAny::type):
+ * storage/IDBAny.idl: Added.
+ * storage/IDBErrorEvent.cpp: Added.
+ (WebCore::IDBErrorEvent::create):
+ (WebCore::IDBErrorEvent::IDBErrorEvent):
+ (WebCore::IDBErrorEvent::~IDBErrorEvent):
+ * storage/IDBErrorEvent.h: Added.
+ (WebCore::IDBErrorEvent::code):
+ (WebCore::IDBErrorEvent::message):
+ (WebCore::IDBErrorEvent::isIDBErrorEvent):
+ * storage/IDBErrorEvent.idl: Added.
+ * storage/IDBEvent.cpp: Added.
+ (WebCore::IDBEvent::IDBEvent):
+ (WebCore::IDBEvent::~IDBEvent):
+ (WebCore::IDBEvent::source):
+ * storage/IDBEvent.h: Added.
+ * storage/IDBEvent.idl: Added.
+ * storage/IDBRequest.cpp:
+ (WebCore::IDBRequest::IDBRequest):
+ (WebCore::IDBRequest::onSuccess):
+ (WebCore::IDBRequest::timerFired):
+ (WebCore::IDBRequest::onEventCommon):
+ * storage/IDBRequest.h:
+ (WebCore::IDBRequest::create):
+ (WebCore::IDBRequest::result):
+ * storage/IDBRequest.idl:
+ * storage/IDBSuccessEvent.cpp: Added.
+ (WebCore::IDBSuccessEvent::create):
+ (WebCore::IDBSuccessEvent::IDBSuccessEvent):
+ (WebCore::IDBSuccessEvent::~IDBSuccessEvent):
+ (WebCore::IDBSuccessEvent::result):
+ * storage/IDBSuccessEvent.h: Added.
+ (WebCore::IDBSuccessEvent::isIDBSuccessEvent):
+ * storage/IDBSuccessEvent.idl: Added.
+ * storage/IndexedDatabaseImpl.cpp:
+ (WebCore::IndexedDatabaseImpl::open):
+ * storage/IndexedDatabaseRequest.cpp:
+ (WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest):
+ (WebCore::IndexedDatabaseRequest::open):
+ * storage/IndexedDatabaseRequest.h:
+
+2010-05-16 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Unreviewed.
+
+ Removed the stray equals sign from the reviewer's name in the
+ "Reviewed by" line of the ChangeLog entry for r59596:
+
+ http://trac.webkit.org/changeset/59596
+
+2010-05-16 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Refactored FrameLoader::changeLocation() and urlSelected() to share more code.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38827
+
+ No change in behavior, so no new tests.
+
+ * bindings/ScriptControllerBase.cpp:
+ (WebCore::ScriptController::executeIfJavaScriptURL):
+ - Changed a parameter from boolean to the ShouldReplaceDocumentIfJavaScriptURL enum.
+ * bindings/js/ScriptController.h:
+ - Changed a parameter from boolean to the ShouldReplaceDocumentIfJavaScriptURL enum.
+ * bindings/v8/ScriptController.h:
+ - Changed a parameter from boolean to the ShouldReplaceDocumentIfJavaScriptURL enum.
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::changeLocation):
+ - Changed to call the new private overload of urlSelected().
+ (WebCore::FrameLoader::urlSelected):
+ - Added a private overload of urlSelected().
+ - Changed the public urlSelected() to call the private overload.
+ (WebCore::FrameLoader::submitForm):
+ * loader/FrameLoader.h:
+ - Added a private overload of urlSelected().
+ * loader/FrameLoaderTypes.h:
+ - Added a ShouldReplaceDocumentIfJavaScriptURL enum.
+
+2010-05-16 Daniel Bates <dbates@rim.com>
+
+ Reviewed by David Hyatt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39196
+
+ Rollout changeset 59274 <http://trac.webkit.org/changeset/59274>.
+
+ Prepared on behalf of David Hyatt.
+
+ "Not worth the memory use." Just roll this out.
+
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * editing/visible_units.cpp:
+ (WebCore::previousLinePosition):
+ (WebCore::nextLinePosition):
+ * rendering/EllipsisBox.cpp:
+ (WebCore::EllipsisBox::paint):
+ (WebCore::EllipsisBox::selectionRect):
+ (WebCore::EllipsisBox::paintSelection):
+ (WebCore::EllipsisBox::nodeAtPoint):
+ * rendering/EllipsisBox.h:
+ (WebCore::EllipsisBox::EllipsisBox):
+ (WebCore::EllipsisBox::height):
+ * rendering/InlineBox.cpp:
+ (WebCore::InlineBox::height):
+ (WebCore::InlineBox::adjustPosition):
+ (WebCore::InlineBox::canAccommodateEllipsis):
+ * rendering/InlineBox.h:
+ (WebCore::InlineBox::InlineBox):
+ (WebCore::InlineBox::isInlineBox):
+ (WebCore::InlineBox::hasVirtualHeight):
+ (WebCore::InlineBox::setHasVirtualHeight):
+ (WebCore::InlineBox::virtualHeight):
+ (WebCore::InlineBox::setWidth):
+ (WebCore::InlineBox::width):
+ (WebCore::InlineBox::setX):
+ (WebCore::InlineBox::x):
+ (WebCore::InlineBox::setY):
+ (WebCore::InlineBox::y):
+ (WebCore::InlineBox::baselinePosition):
+ (WebCore::InlineBox::lineHeight):
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::placeBoxesVertically):
+ (WebCore::InlineFlowBox::computeVerticalOverflow):
+ (WebCore::InlineFlowBox::nodeAtPoint):
+ (WebCore::InlineFlowBox::paintBoxDecorations):
+ (WebCore::InlineFlowBox::paintMask):
+ (WebCore::InlineFlowBox::paintTextDecorations):
+ * rendering/InlineFlowBox.h:
+ (WebCore::InlineFlowBox::visibleOverflowRect):
+ (WebCore::InlineFlowBox::topLayoutOverflow):
+ (WebCore::InlineFlowBox::bottomLayoutOverflow):
+ (WebCore::InlineFlowBox::leftLayoutOverflow):
+ (WebCore::InlineFlowBox::rightLayoutOverflow):
+ (WebCore::InlineFlowBox::layoutOverflowRect):
+ (WebCore::InlineFlowBox::topVisualOverflow):
+ (WebCore::InlineFlowBox::bottomVisualOverflow):
+ (WebCore::InlineFlowBox::leftVisualOverflow):
+ (WebCore::InlineFlowBox::rightVisualOverflow):
+ (WebCore::InlineFlowBox::visualOverflowRect):
+ (WebCore::InlineFlowBox::setHorizontalOverflowPositions):
+ (WebCore::InlineFlowBox::setVerticalOverflowPositions):
+ * rendering/InlineTextBox.cpp:
+ (WebCore::InlineTextBox::selectionRect):
+ (WebCore::InlineTextBox::placeEllipsisBox):
+ (WebCore::InlineTextBox::nodeAtPoint):
+ (WebCore::InlineTextBox::paint):
+ (WebCore::InlineTextBox::paintSelection):
+ (WebCore::InlineTextBox::paintCompositionBackground):
+ (WebCore::InlineTextBox::paintDecoration):
+ (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
+ (WebCore::InlineTextBox::paintTextMatchMarker):
+ (WebCore::InlineTextBox::computeRectForReplacementMarker):
+ (WebCore::InlineTextBox::paintCompositionUnderline):
+ (WebCore::InlineTextBox::offsetForPosition):
+ (WebCore::InlineTextBox::positionForOffset):
+ * rendering/InlineTextBox.h:
+ (WebCore::InlineTextBox::setSpaceAdd):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::positionForPointWithInlineChildren):
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::computeVerticalPositionsForLine):
+ (WebCore::RenderBlock::layoutInlineChildren):
+ * rendering/RenderSVGInline.cpp:
+ (WebCore::RenderSVGInline::createInlineFlowBox):
+ * rendering/RenderSVGInlineText.cpp:
+ (WebCore::RenderSVGInlineText::createTextBox):
+ * rendering/RenderSVGText.cpp:
+ (WebCore::RenderSVGText::createRootInlineBox):
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::positionForPoint):
+ (WebCore::RenderText::firstRunX):
+ (WebCore::RenderText::firstRunY):
+ * rendering/RenderTreeAsText.cpp:
+ (WebCore::writeTextRun):
+ * rendering/RootInlineBox.cpp:
+ (WebCore::RootInlineBox::placeEllipsis):
+ (WebCore::RootInlineBox::addHighlightOverflow):
+ (WebCore::RootInlineBox::closestLeafChildForXPos):
+ * rendering/SVGInlineFlowBox.h:
+ (WebCore::SVGInlineFlowBox::SVGInlineFlowBox):
+ (WebCore::SVGInlineFlowBox::virtualHeight):
+ (WebCore::SVGInlineFlowBox::setHeight):
+ * rendering/SVGInlineTextBox.h:
+ (WebCore::SVGInlineTextBox::virtualHeight):
+ (WebCore::SVGInlineTextBox::setHeight):
+ (WebCore::SVGInlineTextBox::selectionTop):
+ (WebCore::SVGInlineTextBox::selectionHeight):
+ * rendering/SVGRootInlineBox.h:
+ (WebCore::SVGRootInlineBox::SVGRootInlineBox):
+ (WebCore::SVGRootInlineBox::virtualHeight):
+ (WebCore::SVGRootInlineBox::setHeight):
+ * rendering/TrailingFloatsRootInlineBox.h: Added.
+ (WebCore::TrailingFloatsRootInlineBox::TrailingFloatsRootInlineBox):
+ (WebCore::TrailingFloatsRootInlineBox::virtualHeight):
+
+2010-05-13 Tony Chang <tony@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION: Crash by pasting to a textarea with white-space:nowrap
+ https://bugs.webkit.org/show_bug.cgi?id=38992
+
+ Test: editing/pasteboard/paste-plaintext-nowrap.html
+
+ * editing/InsertParagraphSeparatorCommand.cpp:
+ (WebCore::highestVisuallyEquivalentDivBelowRoot):
+ (WebCore::InsertParagraphSeparatorCommand::doApply):
+
+2010-05-16 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39194
+
+ Fix all of the multi-column painting and hit testing functions to properly account for RTL directionality.
+
+ Added fast/multicol/column-count-with-rules.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::paintColumnRules):
+ (WebCore::RenderBlock::paintColumnContents):
+ (WebCore::RenderBlock::hitTestColumns):
+ (WebCore::RenderBlock::adjustRectForColumns):
+
+2010-05-16 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ Fix SVG test failures after r59588.
+
+ Updated SVG InlineBox virtual method overrides to match HTML ones. Removed
+ SVGInlineFlowBox::verticallyAlignBoxes() since InlineFlowBox no longer declares
+ verticallyAlignBoxes().
+
+ * rendering/SVGInlineFlowBox.cpp:
+ (WebCore::SVGInlineFlowBox::placeBoxesHorizontally):
+ * rendering/SVGInlineFlowBox.h:
+ * rendering/SVGRootInlineBox.cpp:
+ (WebCore::SVGRootInlineBox::placeBoxesHorizontally):
+ (WebCore::SVGRootInlineBox::verticallyAlignBoxes):
+ * rendering/SVGRootInlineBox.h:
+
+2010-05-16 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Move transient glyph overflow and fallback font data from a global to the stack
+ https://bugs.webkit.org/show_bug.cgi?id=39050
+
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::placeBoxesHorizontally): Added a GlyphOverflowAndFallbackFontsMap
+ parameter. Read glyph overflow from the map.
+ (WebCore::InlineFlowBox::computeLogicalBoxHeights): Added a GlyphOverflowAndFallbackFontsMap
+ parameter. Read fallback fonts from the map.
+ (WebCore::InlineFlowBox::computeVerticalOverflow): Added a GlyphOverflowAndFallbackFontsMap
+ parameter. Read glyph overflow from the map.
+ * rendering/InlineFlowBox.h:
+ * rendering/InlineTextBox.cpp: Removed setFallbackFonts(), fallbackFonts(), setGlyphOverflow(),
+ and glyphOverflow(). Removed s_glyphOverflowAndFallbackFontsMap.
+ * rendering/InlineTextBox.h:
+ * rendering/RenderBlock.h:
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added a GlyphOverflowAndFallbackFontsMap
+ parameter. Write fallback fonts and glyph overflow into the map.
+ (WebCore::RenderBlock::computeVerticalPositionsForLine): Added a GlyphOverflowAndFallbackFontsMap
+ parameter. Pass it down to verticallyAlignBoxes().
+ (WebCore::RenderBlock::layoutInlineChildren): Create a GlyphOverflowAndFallbackFontsMap on the
+ stack and pass it down to computeHorizontalPositionsForLine(), computeVerticalPositionsForLine(),
+ and verticallyAlignBoxes().
+ * rendering/RootInlineBox.cpp:
+ (WebCore::RootInlineBox::verticallyAlignBoxes): Added a GlyphOverflowAndFallbackFontsMap parameter.
+ Pass it down to computeLogicalBoxHeights() and computeVerticalOverflow().
+ * rendering/RootInlineBox.h:
+ * rendering/SVGRootInlineBox.cpp:
+ (WebCore::SVGRootInlineBox::layoutInlineBoxes): Updated.
+
+2010-05-12 Tony Chang <tony@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Spellcheck disabling does not disable context menu
+ https://bugs.webkit.org/show_bug.cgi?id=25639
+
+ Test: editing/spelling/context-menu-suggestions.html
+
+ * platform/ContextMenu.cpp:
+ (WebCore::ContextMenu::populate):
+
+2010-05-16 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39190
+ Shave a word off of GlyphPageTreeNode
+ <rdar://problem/7990428>
+
+ * platform/graphics/GlyphPageTreeNode.h:
+ (WebCore::GlyphPageTreeNode::GlyphPageTreeNode):
+
+2010-05-16 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Properly handle invalid arguments to CanvasRenderingContext2D's getImageData() and putImageData().
+ Both should throw NOT_SUPPORTED_ERR when called with nonfinite arguments.
+ getImageData() should throw INDEX_SIZE_ERR if either width or height is 0.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39175
+
+ Spec link:
+ http://www.whatwg.org/specs/web-apps/current-work/#pixel-manipulation
+
+ Test: fast/canvas/canvas-getImageData-invalid.html
+
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::createImageData):
+ (WebCore::CanvasRenderingContext2D::getImageData):
+ (WebCore::CanvasRenderingContext2D::putImageData):
+
+2010-05-16 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Canvas's toDataURL() should be case insensitive wrt the mimeType argument.
+ https://bugs.webkit.org/show_bug.cgi?id=39153
+
+ Spec link:
+ http://www.whatwg.org/specs/web-apps/current-work/#dom-canvas-todataurl
+
+ Test: fast/canvas/canvas-toDataURL-case-insensitive-mimetype.html
+
+ * dom/CanvasSurface.cpp:
+ (WebCore::CanvasSurface::toDataURL):
+
+2010-05-16 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Shrink SimpleFontData
+ https://bugs.webkit.org/show_bug.cgi?id=39179
+
+ Change SimpleFontData to have a pointer to the m_glyphToBoundsMap,
+ and to allocate this lazily. This reduces the size of the class from
+ 5632 to 1536 bytes.
+
+ * platform/graphics/SimpleFontData.h:
+ (WebCore::SimpleFontData::boundsForGlyph):
+
+2010-05-15 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Reduce the size of CachedResource
+ https://bugs.webkit.org/show_bug.cgi?id=39171
+
+ Make protected data members of CachedResource private, to allow for
+ easier rearrangement, and hide the fact that enums are in bitfields.
+
+ Rearrange the data members of CachedResource to save 32 bytes per instance
+ in 64-bit. Also modernized the constructor code.
+
+ * loader/CachedCSSStyleSheet.cpp:
+ (WebCore::CachedCSSStyleSheet::didAddClient):
+ (WebCore::CachedCSSStyleSheet::data):
+ (WebCore::CachedCSSStyleSheet::checkNotify):
+ (WebCore::CachedCSSStyleSheet::error):
+ * loader/CachedFont.cpp:
+ (WebCore::CachedFont::load):
+ (WebCore::CachedFont::didAddClient):
+ (WebCore::CachedFont::data):
+ (WebCore::CachedFont::ensureCustomFontData):
+ (WebCore::CachedFont::ensureSVGFontData):
+ (WebCore::CachedFont::checkNotify):
+ (WebCore::CachedFont::error):
+ * loader/CachedImage.cpp:
+ (WebCore::CachedImage::CachedImage):
+ (WebCore::CachedImage::load):
+ (WebCore::CachedImage::didAddClient):
+ (WebCore::CachedImage::allClientsRemoved):
+ (WebCore::CachedImage::image):
+ (WebCore::CachedImage::data):
+ (WebCore::CachedImage::error):
+ (WebCore::CachedImage::checkNotify):
+ (WebCore::CachedImage::destroyDecodedData):
+ * loader/CachedImage.h:
+ (WebCore::CachedImage::stillNeedsLoad):
+ * loader/CachedResource.cpp:
+ (WebCore::CachedResource::CachedResource):
+ * loader/CachedResource.h:
+ (WebCore::CachedResource::type):
+ (WebCore::CachedResource::preloadResult):
+ (WebCore::CachedResource::status):
+ (WebCore::CachedResource::setStatus):
+ (WebCore::CachedResource::isLoaded):
+ (WebCore::CachedResource::isLoading):
+ (WebCore::CachedResource::setErrorOccurred):
+ * loader/CachedScript.cpp:
+ (WebCore::CachedScript::didAddClient):
+ (WebCore::CachedScript::data):
+ (WebCore::CachedScript::checkNotify):
+ (WebCore::CachedScript::error):
+ * loader/CachedXSLStyleSheet.cpp:
+ (WebCore::CachedXSLStyleSheet::didAddClient):
+ (WebCore::CachedXSLStyleSheet::data):
+ (WebCore::CachedXSLStyleSheet::checkNotify):
+ (WebCore::CachedXSLStyleSheet::error):
+
+2010-05-16 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r59574.
+ http://trac.webkit.org/changeset/59574
+ https://bugs.webkit.org/show_bug.cgi?id=39176
+
+ Supposedly broke cr-win, but the errors seems somewhat
+ unrelated (Requested by abarth on #webkit).
+
+ * platform/network/chromium/ResourceResponse.h:
+ (WebCore::ResourceResponse::ResourceResponse):
+ (WebCore::ResourceResponse::setSecurityInfo):
+ (WebCore::ResourceResponse::isContentFiltered):
+ (WebCore::ResourceResponse::setIsContentFiltered):
+ (WebCore::ResourceResponse::setAppCacheID):
+ (WebCore::ResourceResponse::setAppCacheManifestURL):
+ (WebCore::ResourceResponse::setWasFetchedViaSPDY):
+ (WebCore::ResourceResponse::setIsMultipartPayload):
+ (WebCore::ResourceResponse::setResponseTime):
+
+2010-05-16 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Scalar types allocated on the heap due to misuse of DEFINE_STATIC_LOCAL
+ https://bugs.webkit.org/show_bug.cgi?id=39086
+
+ Use global variables directly.
+
+ * bindings/v8/ScriptCallStack.cpp:
+ (WebCore::ScriptCallStack::createUtilityContext):
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::wheelEvent):
+ * platform/graphics/mac/ComplexTextController.cpp:
+ (WebCore::shouldUseATSUIAPI):
+
+2010-05-16 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Canvas's getContext() must return null when called with an invalid/unsupported parameter.
+ (HTML5 spec 4.8.11): http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#dom-canvas-getcontext
+
+ https://bugs.webkit.org/show_bug.cgi?id=39150
+
+ Test: fast/canvas/canvas-getContext-invalid.html
+
+ * bindings/js/JSHTMLCanvasElementCustom.cpp:
+ (WebCore::JSHTMLCanvasElement::getContext):
+ * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
+ (WebCore::V8HTMLCanvasElement::getContextCallback):
+
+2010-05-15 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r59565.
+ http://trac.webkit.org/changeset/59565
+ https://bugs.webkit.org/show_bug.cgi?id=39173
+
+ Broke GTK (Requested by abarth on #webkit).
+
+ * dom/CanvasSurface.cpp:
+ (WebCore::CanvasSurface::toDataURL):
+
+2010-05-15 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Canvas's toDataURL() should be case insensitive wrt the mimeType argument.
+ https://bugs.webkit.org/show_bug.cgi?id=39153
+
+ Spec link:
+ http://www.whatwg.org/specs/web-apps/current-work/#dom-canvas-todataurl
+
+ Test: fast/canvas/canvas-toDataURL-case-insensitive-mimetype.html
+
+ * dom/CanvasSurface.cpp:
+ (WebCore::CanvasSurface::toDataURL):
+
+2010-05-15 Anders Bakken <agbakken@gmail.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ QObject::objectName() returns a QString and QtField::name()
+ creates a temporary QByteArray object and returns constData() from it.
+ This is not safe.
+
+ This patch changes the signature of the function to return a
+ QByteArray instead of const char *.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39010
+
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtInstance::getPropertyNames):
+ (JSC::Bindings::QtField::name):
+ * bridge/qt/qt_runtime.h:
+
+2010-05-15 Anders Bakken <agbakken@gmail.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Don't unnecessarily copy data when searching for methods in QtClass.
+
+ [Qt] JSValue QtClass::fallbackObject can be optimized
+ https://bugs.webkit.org/show_bug.cgi?id=37684
+
+ * bridge/qt/qt_class.cpp:
+ (JSC::Bindings::QtClass::fallbackObject):
+
+2010-05-15 Anders Bakken <agbakken@gmail.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Identifier::ascii() is not threadsafe and shouldn't be used for
+ converting to and from QString/QByteArray.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39009
+
+ * bridge/qt/qt_class.cpp:
+ (JSC::Bindings::QtClass::fallbackObject):
+ (JSC::Bindings::QtClass::fieldNamed):
+
+2010-05-15 Chang Shu <chang.shu@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Based on the spec and Philip Taylor's test suite, createImageData() should throw
+ an INDEX_SIZE_ERR exception if either the sw or sh arguments are zero.
+ The link to the spec:
+ http://philip.html5.org/tests/canvas/suite/tests/spec.html#testrefs.2d.imageData.getcreate.zero
+
+ https://bugs.webkit.org/show_bug.cgi?id=39166
+
+ The complete test suite is in the process of checking in.
+ https://bugs.webkit.org/show_bug.cgi?id=20553
+
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::createImageData):
+
+2010-05-15 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ XMLHttpRequest.getResponseHeader doesn't need to be custom
+ https://bugs.webkit.org/show_bug.cgi?id=39125
+
+ I don't see any reason this method needs to be custom. No new tests
+ because there's no behavior change.
+
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
+ * xml/XMLHttpRequest.idl:
+
+2010-05-15 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ XMLHttpRequest.setRequestHeader shouldn't be custom
+ https://bugs.webkit.org/show_bug.cgi?id=39124
+
+ I don't see any reason why this method needs to be custom. No tests
+ because no behavior change.
+
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
+ (webkit_dom_test_obj_method_that_requires_all_args):
+ (webkit_dom_test_obj_method_that_requires_all_args_and_throws):
+ * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore::):
+ (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
+ (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
+ * bindings/scripts/test/JS/JSTestObj.h:
+ * bindings/scripts/test/ObjC/DOMTestObj.h:
+ * bindings/scripts/test/ObjC/DOMTestObj.mm:
+ (-[DOMTestObj methodThatRequiresAllArgs:objArg:]):
+ (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]):
+ * bindings/scripts/test/TestObj.idl:
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::TestObjInternal::methodThatRequiresAllArgsCallback):
+ (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):
+ (WebCore::ConfigureV8TestObjTemplate):
+ * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
+ * xml/XMLHttpRequest.idl:
+
+2010-05-14 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39048
+ <rdar://problem/7978384> REGRESSION (r55802): XML errors on Google maps ("Entity 'nbsp' not
+ defined") with JavaScript disabled
+
+ Google Maps goes into mobile mode if JavaScript is disabled for some reason, and sends XHTML
+ content with XHTML Mobile DOCTYPE. We want to handle it whether XHTMLMP is enabled or not.
+
+ Test: fast/doctypes/xhtml-with-xhtmlmp-doctype.xhtml
+
+ * dom/XMLTokenizerLibxml2.cpp: (WebCore::externalSubsetHandler): Restore pre-55802 behavior
+ for builds that don't have XHTMLMP enabled. Given that r55802 negated the condition without
+ breaking XHTMLMP, this line is actually always needed.
+
+2010-05-15 Vangelis Kokkevis <vangelis@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Fixing LayerChromium hierarchy updates where due to mixed ownership
+ handling, sublayer updates didn't always properly update parent-to-child
+ and child-to-parent pointers in sync.
+ https://bugs.webkit.org/show_bug.cgi?id=39138
+
+ * platform/graphics/chromium/LayerChromium.cpp:
+ (WebCore::LayerChromium::~LayerChromium):
+ (WebCore::LayerChromium::setNeedsCommit): Typo fix.
+ (WebCore::LayerChromium::insertSublayer):
+ (WebCore::LayerChromium::removeFromSuperlayer):
+ (WebCore::LayerChromium::removeSublayer):
+ (WebCore::LayerChromium::replaceSublayer):
+ (WebCore::LayerChromium::removeAllSublayers):
+ (WebCore::LayerChromium::setSublayers):
+ * platform/graphics/chromium/LayerChromium.h:
+ (WebCore::LayerChromium::setSuperlayer):
+
+2010-05-15 Andrey Kosyakov <caseq@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Got rid of absolute positioning in favor of flex boxes where possible.
+ Added shadow for help window.
+ Changed window style names to more comprehensible.
+ https://bugs.webkit.org/show_bug.cgi?id=39120
+
+ * inspector/front-end/HelpScreen.js:
+ (WebInspector.HelpScreen):
+ * inspector/front-end/helpScreen.css:
+ (.help-window-outer):
+ (body.attached .help-window-outer):
+ (.help-window-main):
+ (body.attached .help-window-main):
+ (.help-window-caption):
+ (body.attached .help-window-caption):
+ (.help-window-title):
+ (.help-scrollable):
+ (.help-close-button):
+ (body.platform-mac .help-close-button):
+ (body:not(.platform-mac) .help-close-button):
+
+2010-05-15 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r59549.
+ http://trac.webkit.org/changeset/59549
+ https://bugs.webkit.org/show_bug.cgi?id=39167
+
+ Broke Chromium build (Requested by abarth on #webkit).
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * storage/IDBRequest.cpp:
+ (WebCore::IDBRequest::suspend):
+ (WebCore::IDBRequest::resume):
+ (WebCore::IDBRequest::timerFired):
+ (WebCore::IDBRequest::onEventCommon):
+ * storage/IDBRequest.h:
+
+2010-05-15 Vangelis Kokkevis <vangelis@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Adding code path for composited layers (LayerChromium) containing only
+ an Image element.
+ https://bugs.webkit.org/show_bug.cgi?id=39142
+
+ No new tests, covered under the existing tests for composited layers.
+
+ * platform/graphics/chromium/GraphicsLayerChromium.cpp:
+ (WebCore::GraphicsLayerChromium::setContentsToImage):
+ (WebCore::GraphicsLayerChromium::updateContentsImage):
+ * platform/graphics/chromium/GraphicsLayerChromium.h:
+ * platform/graphics/chromium/LayerChromium.cpp:
+ (WebCore::LayerChromium::LayerChromium):
+ (WebCore::LayerChromium::setContents):
+ * platform/graphics/chromium/LayerChromium.h:
+ (WebCore::LayerChromium::contents):
+
+2010-05-15 Andrei Popescu <andreip@google.com>
+
+ Reviewed by Jeremy Orlow.
+
+ IDBRequest is not a proper ActiveDomObject
+ https://bugs.webkit.org/show_bug.cgi?id=39001
+
+ Add IDBRequest interface to the IsActiveDomType
+ routine of the CodeGeneratorV8.pm.
+
+ Rename IDBRequest::m_stopped to m_suspended and reset
+ the flag when resume() is called.
+
+ No new tests, Indexed Database isn't yet testable.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * storage/IDBRequest.cpp:
+ (WebCore::IDBRequest::suspend):
+ (WebCore::IDBRequest::resume):
+ (WebCore::IDBRequest::timerFired):
+ (WebCore::IDBRequest::onEventCommon):
+ * storage/IDBRequest.h:
+
+2010-05-15 Andrei Bucur <abucur@adobe.com>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ Functions using the cairo_pattern_t object returned by
+ Pattern::createPlatformPattern sould destroy it after the painting
+ operation. Failing to do so causes memory leaks.
+
+ Test: No test was added because the patch adds no new functionality.
+ It just completes the normal life cycle of a cairo_pattern_t object.
+
+ * platform/graphics/cairo/FontCairo.cpp:
+ (WebCore::Font::drawGlyphs):
+ * platform/graphics/cairo/GraphicsContextCairo.cpp:
+ (WebCore::setPlatformFill):
+ (WebCore::setPlatformStroke):
+
+2010-05-15 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by Kent Tamura.
+
+ Initial support for HTMLMeterElement
+ https://bugs.webkit.org/show_bug.cgi?id=38140
+
+ This patch adds support for HTMLMeterElement, including default rendering
+ of the meter element. That is because some platforms do not have a native gauge.
+ The feature is turned on only for the Qt platform.
+
+ Tests: fast/dom/HTMLMeterElement/meter-element.html
+ fast/dom/HTMLMeterElement/set-meter-properties.html
+
+ * DerivedSources.cpp:
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pri:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * css/CSSPrimitiveValueMappings.h:
+ (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
+ * css/CSSValueKeywords.in:
+ * css/html.css:
+ (meter):
+ (meter::-webkit-meter):
+ * html/HTMLAttributeNames.in:
+ * html/HTMLElement.cpp:
+ (WebCore::inlineTagList):
+ * html/HTMLElementsAllInOne.cpp:
+ * html/HTMLMeterElement.cpp: Added.
+ (WebCore::HTMLMeterElement::HTMLMeterElement):
+ (WebCore::HTMLMeterElement::create):
+ (WebCore::HTMLMeterElement::createRenderer):
+ (WebCore::HTMLMeterElement::formControlType):
+ (WebCore::HTMLMeterElement::parseMappedAttribute):
+ (WebCore::HTMLMeterElement::min):
+ (WebCore::HTMLMeterElement::setMin):
+ (WebCore::HTMLMeterElement::max):
+ (WebCore::HTMLMeterElement::setMax):
+ (WebCore::HTMLMeterElement::value):
+ (WebCore::HTMLMeterElement::setValue):
+ (WebCore::HTMLMeterElement::low):
+ (WebCore::HTMLMeterElement::setLow):
+ (WebCore::HTMLMeterElement::high):
+ (WebCore::HTMLMeterElement::setHigh):
+ (WebCore::HTMLMeterElement::optimum):
+ (WebCore::HTMLMeterElement::setOptimum):
+ * html/HTMLMeterElement.h: Added.
+ (WebCore::HTMLMeterElement::recalcWillValidate):
+ * html/HTMLMeterElement.idl: Added.
+ * html/HTMLTagNames.in:
+ * page/DOMWindow.idl:
+ * platform/ThemeTypes.h:
+ * rendering/RenderMeter.cpp: Added.
+ (WebCore::RenderMeter::RenderMeter):
+ (WebCore::RenderMeter::layout):
+ (WebCore::RenderMeter::updateFromElement):
+ * rendering/RenderMeter.h: Added.
+ (WebCore::RenderMeter::renderName):
+ (WebCore::RenderMeter::isMeter):
+ (WebCore::toRenderMeter):
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::isMeter):
+ * rendering/RenderTheme.cpp:
+ (WebCore::RenderTheme::adjustStyle):
+ (WebCore::RenderTheme::paint):
+ (WebCore::RenderTheme::paintBorderOnly):
+ (WebCore::RenderTheme::paintDecorations):
+ (WebCore::RenderTheme::adjustMeterStyle):
+ (WebCore::RenderTheme::paintMeter):
+ * rendering/RenderTheme.h:
+
+2010-05-15 Eric Uhrhane <ericu@chromium.org>
+
+ Reviewed by Dmitry Titov.
+
+ Add bindings for async DB API in Workers.
+ https://bugs.webkit.org/show_bug.cgi?id=34992
+
+ Tests: storage/change-version-handle-reuse-worker.html
+ storage/execute-sql-args-worker.html
+
+ * bindings/js/JSWorkerContextCustom.cpp: Add openDatabase binding.
+ (WebCore::JSWorkerContext::openDatabase):
+
+ * bindings/v8/custom/V8WorkerContextCustom.cpp: Add openDatabase stub; Chromium will need work both in V8 and in the browser process before we can turn this on there.
+ (WebCore::V8WorkerContext::openDatabaseCallback):
+
+ Add NoStaticTables flags to all objects now shared with workers.
+ * storage/Database.idl:
+ * storage/SQLError.idl:
+ * storage/SQLResultSet.idl:
+ * storage/SQLResultSetRowList.idl:
+ * storage/SQLTransaction.idl:
+
+ * workers/WorkerContext.h: Add databaseExceededQuota.
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::databaseExceededQuota): Add stub implementation for testing; you just get 5MB for now.
+ (WebCore::WorkerContext::openDatabase): Remove invalid assertion.
+
+ Add the IDL for the call to openDatabase.
+ * workers/WorkerContext.idl:
+
+2010-05-15 Leandro Pereira <leandro@profusion.mobi>
+
+ Reviewed by Adam Treat.
+
+ [EFL] Add build system for the EFL port.
+ http://webkit.org/b/37945
+
+ * CMakeLists.txt: Added.
+ * CMakeListsEfl.txt: Added.
+ * config.h: Add conditional to look for cmakeconfig.h.
+
+2010-05-15 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Clipboard.setData doesn't need to be custom
+ https://bugs.webkit.org/show_bug.cgi?id=39133
+
+ The implementation of the custom binding for this function was a bit
+ different than its declaration in the IDL file. I've updated the IDL
+ to match the implementation, but we probably should check whether our
+ behavior is correct with respect to the specification.
+
+ No tests because I've maintained our current behavior.
+
+ * bindings/js/JSClipboardCustom.cpp:
+ * bindings/v8/custom/V8ClipboardCustom.cpp:
+ * dom/Clipboard.idl:
+
+2010-05-15 Yaar Schnitman <yaar@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ V8 overload support ported to JSC. Unforking of overloaded declarations in WebGL & Canvas will be done in subsequent patches.
+ https://bugs.webkit.org/show_bug.cgi?id=38920
+
+ Note that JSTestCallback.cpp/h include minor irrelevant changes too since somebody forgot to update them after changing the JS generator.
+
+ * bindings/scripts/CodeGenerator.pm:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/scripts/test/JS/JSTestCallback.cpp:
+ (WebCore::JSTestCallback::JSTestCallback):
+ (WebCore::JSTestCallback::~JSTestCallback):
+ * bindings/scripts/test/JS/JSTestCallback.h:
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore::):
+ (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
+ (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
+ (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
+ (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
+ (WebCore::testObjPrototypeFunctionOverloadedMethod):
+ * bindings/scripts/test/JS/JSTestObj.h:
+ * bindings/scripts/test/TestObj.idl:
+
+2010-05-15 Joanmarie Diggs <joanmarie.diggs@gmail.com>
+
+ Reviewed by Xan Lopez.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30500
+ [Gtk] Find a way for WebKit to "announce" itself so that ATs can readily distinguish it from true Gtk/Gail
+
+ The "announcement" is now made in the form of an object attribute
+ associated with the AtkObject.
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (webkit_accessible_get_attributes):
+
+2010-05-15 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Show a console message when X-Frame-Options blocks a load
+ https://bugs.webkit.org/show_bug.cgi?id=39087
+
+ The blank page confuses people when X-Frame-Options blocks a load. The
+ console message should at least give them a hint as to what's going on.
+
+ * dom/Document.cpp:
+ (WebCore::Document::processHttpEquiv):
+
+2010-05-15 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Geoffrey Garen.
+
+ WebInspector: JSC Should provide heap size info for Timeline panel.
+ https://bugs.webkit.org/show_bug.cgi?id=38420
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/ScriptGCEvent.cpp: Added.
+ (WebCore::ScriptGCEvent::getHeapSize):
+ * bindings/js/ScriptGCEvent.h:
+
+2010-05-15 Dave Tapuska <dtapuska@rim.com>
+
+ Reviewed by Darin Adler.
+
+ Fix alignment faults on ARMv5TE architectures.
+
+ In debug mode the RenderAreaDebugHeader was 12 bytes which
+ caused an alignment failure for RenderObjects because they
+ would start on a 4 byte boundary. Align the RenderArenaDebugHeader
+ using the ARENA_ALIGN macro.
+
+ In NDEBUG mode the RenderArena objects come from a pool which
+ has 4 byte alignment. Allow the alignment to be based on the
+ AllocAlignmentInteger. This define will be activated for ARMv5TE.
+
+ https://bugs.webkit.org/show_bug.cgi?id=19946
+
+2010-05-14 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ XMLHttpRequest.overrideMimeType doesn't need to be custom
+ https://bugs.webkit.org/show_bug.cgi?id=39127
+
+ I don't see any reason why this method should be custom. No tests
+ because no behavior change.
+
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
+ * xml/XMLHttpRequest.idl:
+
+2010-05-14 Adele Peterson <adele@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=39095
+ <rdar://problem/7984158> REGRESSION (r53085): Infinite recursion in Position::getInlineBoxAndOffset when changing writing direction to right-to-left
+
+ Test: editing/selection/applystyle-to-inline-inside-block.html
+
+ * dom/Position.cpp: (WebCore::Position::getInlineBoxAndOffset): Now that this function correctly goes in and out of editable areas by calling
+ downstreamIgnoringEditingBoundaries and upstreamIgnoringEditingBoundaries for blocks (added in r58665), we no longer need a special case to
+ jump out to the parent when we hit an inline (which was added in r53085 when this issue was introduced).
+
+2010-05-14 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Hopefully a last fix for the build. Call -mkdir instead of mkdir, so we don't bail if the mkdir call fails. Additionally,
+ use the %Env% syntax instead of $(Env), which is what we need if we are referring to Windows environment variables instead
+ of nmake variables.
+
+ * WebCore.vcproj/WebCore.make:
+
+2010-05-14 Stephanie Lewis <slewis@apple.com>
+
+ Rubber-stamped by Mark Rowe.
+
+ Update order files.
+
+ * WebCore.order:
+
+2010-05-14 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39137
+
+ Make RenderLayers position properly inside multicolumn layout.
+
+ (1) Create RenderLayers when column properties are specified. This allows descendant layers to easily
+ know they are inside a multicolumn layout when positioning.
+
+ (2) Patch updateLayerPosition to offset the layer into the first column that contains the layer. Splitting
+ of a layer across columns still does not work, but the layer will now at least appear in the first column in
+ which it occurs.
+
+ (3) Fix pagination bugs caused by the fact that visual overflow doesn't propagate up the line box tree when layers
+ are involved. Make sure to use lineTop and lineBottom in this case (it's not perfect, but it gets most cases
+ working properly). With this change elements like <video> will paginate properly and not get split across pages.
+
+ (4) Make column repainting and layer positioning work with RTL columns by fixing adjustForColumns to
+ account for RTL.
+
+ (5) Fix RTL pagination by making sure the column pagination rects are the content width of the whole block and not just
+ the width of one column.
+
+ Added fast/multicol/layers-in-multicol.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::layoutColumns):
+ (WebCore::RenderBlock::adjustForColumns):
+ * rendering/RenderBox.h:
+ (WebCore::RenderBox::locationOffset):
+ * rendering/RenderBoxModelObject.h:
+ (WebCore::RenderBoxModelObject::requiresLayer):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateLayerPosition):
+ (WebCore::RenderLayer::convertToLayerCoords):
+ (WebCore::RenderLayer::shouldBeNormalFlowOnly):
+ * rendering/RenderLineBoxList.cpp:
+ (WebCore::RenderLineBoxList::paint):
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::RenderView):
+ * rendering/RenderView.h:
+ (WebCore::RenderView::requiresLayer):
+ * rendering/style/RenderStyle.h:
+ (WebCore::InheritedFlags::specifiesColumns):
+
+2010-05-14 Leon Clarke <leonclarke@google.com>
+
+ Reviewed by Steve Block.
+
+ Refactor signature of tokenizeRelAttribute and the variables it refers to so that new features don't keep changing the signature, and make m_disabledState into an enum.
+ https://bugs.webkit.org/show_bug.cgi?id=38900
+
+ No new tests. Refactoring only.
+
+ * html/HTMLLinkElement.cpp:
+ (WebCore::HTMLLinkElement::HTMLLinkElement):
+ (WebCore::HTMLLinkElement::setDisabledState):
+ (WebCore::HTMLLinkElement::parseMappedAttribute):
+ (WebCore::HTMLLinkElement::tokenizeRelAttribute):
+ (WebCore::HTMLLinkElement::process):
+ (WebCore::HTMLLinkElement::addSubresourceAttributeURLs):
+ * html/HTMLLinkElement.h:
+ (WebCore::HTMLLinkElement::RelAttribute::RelAttribute):
+ (WebCore::HTMLLinkElement::isAlternate):
+ (WebCore::HTMLLinkElement::isDisabled):
+ (WebCore::HTMLLinkElement::isEnabledViaScript):
+ (WebCore::HTMLLinkElement::isIcon):
+ (WebCore::HTMLLinkElement::):
+ * html/PreloadScanner.cpp:
+ (WebCore::PreloadScanner::processAttribute):
+
+2010-05-14 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] GraphicsLayer caches directly composited images
+ https://bugs.webkit.org/show_bug.cgi?id=38444
+
+ Directly-composited images and solid fills shouldn't be cached, as that cache
+ is never used (see GraphicsLayerQtImpl::paint). Cache is only relevant for HTML content,
+ but we were missing that test.
+ The fix makes sure we only cache HTML content.
+
+ No new tests: this is a minor optimization.
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::GraphicsLayerQtImpl::flushChanges):
+
+2010-05-14 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Build fix. Had the environment variables wrong for source and destination of the copy operation
+ that was added.
+
+ * WebCore.vcproj/WebCore.make:
+
+2010-05-14 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Remove custom bindings for HTMLInputElement
+ https://bugs.webkit.org/show_bug.cgi?id=38344
+
+ Fix a bug in the TestObj.idl file and update expected results. This
+ was originally part of a larger change reviewed by Eric, but I'm
+ landing it separately to help me understand the more interesting bits
+ of the patch clearly.
+
+ * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
+ (webkit_dom_test_obj_get_attr_with_setter_exception):
+ (webkit_dom_test_obj_set_attr_with_setter_exception):
+ (webkit_dom_test_obj_set_attr_with_getter_exception):
+ (webkit_dom_test_obj_set_property):
+ (webkit_dom_test_obj_get_property):
+ * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore::jsTestObjAttrWithSetterException):
+ (WebCore::setJSTestObjAttrWithSetterException):
+ (WebCore::setJSTestObjAttrWithGetterException):
+ * bindings/scripts/test/ObjC/DOMTestObj.mm:
+ (-[DOMTestObj attrWithSetterException]):
+ (-[DOMTestObj setAttrWithSetterException:]):
+ (-[DOMTestObj setAttrWithGetterException:]):
+ * bindings/scripts/test/TestObj.idl:
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::TestObjInternal::attrWithSetterExceptionAttrGetter):
+ (WebCore::TestObjInternal::attrWithSetterExceptionAttrSetter):
+ (WebCore::TestObjInternal::attrWithGetterExceptionAttrSetter):
+
+2010-05-14 Kenneth Russell <kbr@google.com>
+
+ Reviewed by Darin Adler.
+
+ Rename WebGLArray types to TypedArray types
+ https://bugs.webkit.org/show_bug.cgi?id=39091
+
+ Extended functionality of do-webcore-rename script and used it to
+ rename the WebGLArray types to the TypedArray naming convention.
+ The only source files which were touched by hand, and which are
+ being manually reviewed, are:
+ WebCore/page/DOMWindow.idl
+ WebCore/bindings/generic/RuntimeEnabledFeatures.h (script's changes undone)
+ WebKit/WebCore/bindings/js/JSDOMWindowCustom.cpp
+ WebKit/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp
+ These only needed to be touched to update the aliases between the
+ WebGLArray and TypedArray names introduced in bug 39036. (It was
+ not feasible to have do-webcore-rename handle this as it would
+ introduce circular renamings.) These aliases will be removed in
+ roughly a month once existing WebGL content has been updated.
+
+ No new tests; covered under existing WebGL tests. Updated
+ constructed-objects-prototypes and prototype-inheritance-2 tests.
+ Ran all layout tests in Safari and all WebGL tests in Chromium.
+
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pri:
+ * WebCore.pro:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSArrayBufferConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLArrayBufferConstructor.cpp.
+ (WebCore::):
+ (WebCore::JSArrayBufferConstructor::JSArrayBufferConstructor):
+ (WebCore::constructCanvasArrayBuffer):
+ (WebCore::JSArrayBufferConstructor::getConstructData):
+ * bindings/js/JSArrayBufferConstructor.h: Copied from WebCore/bindings/js/JSWebGLArrayBufferConstructor.h.
+ (WebCore::construct):
+ * bindings/js/JSArrayBufferViewCustom.cpp: Copied from WebCore/bindings/js/JSWebGLArrayCustom.cpp.
+ (WebCore::toJS):
+ (WebCore::JSArrayBufferView::slice):
+ * bindings/js/JSArrayBufferViewHelper.h: Copied from WebCore/bindings/js/JSWebGLArrayHelper.h.
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::arrayBuffer):
+ (WebCore::JSDOMWindow::int8Array):
+ (WebCore::JSDOMWindow::uint8Array):
+ (WebCore::JSDOMWindow::int32Array):
+ (WebCore::JSDOMWindow::uint32Array):
+ (WebCore::JSDOMWindow::int16Array):
+ (WebCore::JSDOMWindow::uint16Array):
+ (WebCore::JSDOMWindow::floatArray):
+ (WebCore::JSDOMWindow::webGLArrayBuffer):
+ (WebCore::JSDOMWindow::webGLByteArray):
+ (WebCore::JSDOMWindow::webGLUnsignedByteArray):
+ (WebCore::JSDOMWindow::webGLIntArray):
+ (WebCore::JSDOMWindow::webGLUnsignedIntArray):
+ (WebCore::JSDOMWindow::webGLShortArray):
+ (WebCore::JSDOMWindow::webGLUnsignedShortArray):
+ (WebCore::JSDOMWindow::webGLFloatArray):
+ * bindings/js/JSFloatArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLFloatArrayConstructor.cpp.
+ (WebCore::):
+ (WebCore::JSFloatArrayConstructor::JSFloatArrayConstructor):
+ (WebCore::constructCanvasFloatArray):
+ (WebCore::JSFloatArrayConstructor::getConstructData):
+ * bindings/js/JSFloatArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLFloatArrayConstructor.h.
+ * bindings/js/JSFloatArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLFloatArrayCustom.cpp.
+ (WebCore::JSFloatArray::indexSetter):
+ (WebCore::toJS):
+ (WebCore::JSFloatArray::set):
+ * bindings/js/JSInt16ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLShortArrayConstructor.cpp.
+ (WebCore::):
+ (WebCore::JSInt16ArrayConstructor::JSInt16ArrayConstructor):
+ (WebCore::constructCanvasShortArray):
+ (WebCore::JSInt16ArrayConstructor::getConstructData):
+ * bindings/js/JSInt16ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLShortArrayConstructor.h.
+ * bindings/js/JSInt16ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLShortArrayCustom.cpp.
+ (WebCore::JSInt16Array::indexSetter):
+ (WebCore::toJS):
+ (WebCore::JSInt16Array::set):
+ * bindings/js/JSInt32ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLIntArrayConstructor.cpp.
+ (WebCore::):
+ (WebCore::JSInt32ArrayConstructor::JSInt32ArrayConstructor):
+ (WebCore::constructCanvasIntArray):
+ (WebCore::JSInt32ArrayConstructor::getConstructData):
+ * bindings/js/JSInt32ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLIntArrayConstructor.h.
+ * bindings/js/JSInt32ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLIntArrayCustom.cpp.
+ (WebCore::JSInt32Array::indexSetter):
+ (WebCore::toJS):
+ (WebCore::JSInt32Array::set):
+ * bindings/js/JSInt8ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLByteArrayConstructor.cpp.
+ (WebCore::):
+ (WebCore::JSInt8ArrayConstructor::JSInt8ArrayConstructor):
+ (WebCore::constructCanvasByteArray):
+ (WebCore::JSInt8ArrayConstructor::getConstructData):
+ * bindings/js/JSInt8ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLByteArrayConstructor.h.
+ * bindings/js/JSInt8ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLByteArrayCustom.cpp.
+ (WebCore::JSInt8Array::indexSetter):
+ (WebCore::toJS):
+ (WebCore::JSInt8Array::set):
+ * bindings/js/JSUint16ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedShortArrayConstructor.cpp.
+ (WebCore::):
+ (WebCore::JSUint16ArrayConstructor::JSUint16ArrayConstructor):
+ (WebCore::constructCanvasUnsignedShortArray):
+ (WebCore::JSUint16ArrayConstructor::getConstructData):
+ * bindings/js/JSUint16ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLUnsignedShortArrayConstructor.h.
+ * bindings/js/JSUint16ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedShortArrayCustom.cpp.
+ (WebCore::JSUint16Array::indexSetter):
+ (WebCore::toJS):
+ (WebCore::JSUint16Array::set):
+ * bindings/js/JSUint32ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedIntArrayConstructor.cpp.
+ (WebCore::):
+ (WebCore::JSUint32ArrayConstructor::JSUint32ArrayConstructor):
+ (WebCore::constructCanvasUnsignedIntArray):
+ (WebCore::JSUint32ArrayConstructor::getConstructData):
+ * bindings/js/JSUint32ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLUnsignedIntArrayConstructor.h.
+ * bindings/js/JSUint32ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedIntArrayCustom.cpp.
+ (WebCore::JSUint32Array::indexSetter):
+ (WebCore::toJS):
+ (WebCore::JSUint32Array::set):
+ * bindings/js/JSUint8ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedByteArrayConstructor.cpp.
+ (WebCore::):
+ (WebCore::JSUint8ArrayConstructor::JSUint8ArrayConstructor):
+ (WebCore::constructCanvasUnsignedByteArray):
+ (WebCore::JSUint8ArrayConstructor::getConstructData):
+ * bindings/js/JSUint8ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLUnsignedByteArrayConstructor.h.
+ * bindings/js/JSUint8ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedByteArrayCustom.cpp.
+ (WebCore::JSUint8Array::indexSetter):
+ (WebCore::toJS):
+ (WebCore::JSUint8Array::set):
+ * bindings/js/JSWebGLArrayBufferConstructor.cpp: Removed.
+ * bindings/js/JSWebGLArrayBufferConstructor.h: Removed.
+ * bindings/js/JSWebGLArrayCustom.cpp: Removed.
+ * bindings/js/JSWebGLArrayHelper.h: Removed.
+ * bindings/js/JSWebGLByteArrayConstructor.cpp: Removed.
+ * bindings/js/JSWebGLByteArrayConstructor.h: Removed.
+ * bindings/js/JSWebGLByteArrayCustom.cpp: Removed.
+ * bindings/js/JSWebGLFloatArrayConstructor.cpp: Removed.
+ * bindings/js/JSWebGLFloatArrayConstructor.h: Removed.
+ * bindings/js/JSWebGLFloatArrayCustom.cpp: Removed.
+ * bindings/js/JSWebGLIntArrayConstructor.cpp: Removed.
+ * bindings/js/JSWebGLIntArrayConstructor.h: Removed.
+ * bindings/js/JSWebGLIntArrayCustom.cpp: Removed.
+ * bindings/js/JSWebGLRenderingContextCustom.cpp:
+ (WebCore::JSWebGLRenderingContext::bufferData):
+ (WebCore::JSWebGLRenderingContext::bufferSubData):
+ (WebCore::JSWebGLRenderingContext::texImage2D):
+ (WebCore::JSWebGLRenderingContext::texSubImage2D):
+ (WebCore::dataFunctionf):
+ (WebCore::dataFunctioni):
+ (WebCore::dataFunctionMatrix):
+ * bindings/js/JSWebGLShortArrayConstructor.cpp: Removed.
+ * bindings/js/JSWebGLShortArrayConstructor.h: Removed.
+ * bindings/js/JSWebGLShortArrayCustom.cpp: Removed.
+ * bindings/js/JSWebGLUnsignedByteArrayConstructor.cpp: Removed.
+ * bindings/js/JSWebGLUnsignedByteArrayConstructor.h: Removed.
+ * bindings/js/JSWebGLUnsignedByteArrayCustom.cpp: Removed.
+ * bindings/js/JSWebGLUnsignedIntArrayConstructor.cpp: Removed.
+ * bindings/js/JSWebGLUnsignedIntArrayConstructor.h: Removed.
+ * bindings/js/JSWebGLUnsignedIntArrayCustom.cpp: Removed.
+ * bindings/js/JSWebGLUnsignedShortArrayConstructor.cpp: Removed.
+ * bindings/js/JSWebGLUnsignedShortArrayConstructor.h: Removed.
+ * bindings/js/JSWebGLUnsignedShortArrayCustom.cpp: Removed.
+ * bindings/v8/V8DOMWrapper.cpp:
+ * bindings/v8/custom/V8ArrayBufferCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLArrayBufferCustom.cpp.
+ (WebCore::V8ArrayBuffer::constructorCallback):
+ * bindings/v8/custom/V8ArrayBufferViewCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLArrayCustom.cpp.
+ (WebCore::toV8):
+ (WebCore::V8ArrayBufferView::sliceCallback):
+ * bindings/v8/custom/V8ArrayBufferViewCustom.h: Copied from WebCore/bindings/v8/custom/V8WebGLArrayCustom.h.
+ (WebCore::constructWebGLArray):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::V8DOMWindow::WebGLArrayBufferAccessorGetter):
+ (WebCore::V8DOMWindow::WebGLByteArrayAccessorGetter):
+ (WebCore::V8DOMWindow::WebGLUnsignedByteArrayAccessorGetter):
+ (WebCore::V8DOMWindow::WebGLShortArrayAccessorGetter):
+ (WebCore::V8DOMWindow::WebGLUnsignedShortArrayAccessorGetter):
+ (WebCore::V8DOMWindow::WebGLIntArrayAccessorGetter):
+ (WebCore::V8DOMWindow::WebGLUnsignedIntArrayAccessorGetter):
+ (WebCore::V8DOMWindow::WebGLFloatArrayAccessorGetter):
+ * bindings/v8/custom/V8FloatArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLFloatArrayCustom.cpp.
+ (WebCore::V8FloatArray::constructorCallback):
+ (WebCore::V8FloatArray::setCallback):
+ (WebCore::toV8):
+ * bindings/v8/custom/V8Int16ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLShortArrayCustom.cpp.
+ (WebCore::V8Int16Array::constructorCallback):
+ (WebCore::V8Int16Array::setCallback):
+ (WebCore::toV8):
+ * bindings/v8/custom/V8Int32ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLIntArrayCustom.cpp.
+ (WebCore::V8Int32Array::constructorCallback):
+ (WebCore::V8Int32Array::setCallback):
+ (WebCore::toV8):
+ * bindings/v8/custom/V8Int8ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLByteArrayCustom.cpp.
+ (WebCore::V8Int8Array::constructorCallback):
+ (WebCore::V8Int8Array::setCallback):
+ (WebCore::toV8):
+ * bindings/v8/custom/V8Uint16ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp.
+ (WebCore::V8Uint16Array::constructorCallback):
+ (WebCore::V8Uint16Array::setCallback):
+ (WebCore::toV8):
+ * bindings/v8/custom/V8Uint32ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp.
+ (WebCore::V8Uint32Array::constructorCallback):
+ (WebCore::V8Uint32Array::setCallback):
+ (WebCore::toV8):
+ * bindings/v8/custom/V8Uint8ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp.
+ (WebCore::V8Uint8Array::constructorCallback):
+ (WebCore::V8Uint8Array::setCallback):
+ (WebCore::toV8):
+ * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp: Removed.
+ * bindings/v8/custom/V8WebGLArrayCustom.cpp: Removed.
+ * bindings/v8/custom/V8WebGLArrayCustom.h: Removed.
+ * bindings/v8/custom/V8WebGLByteArrayCustom.cpp: Removed.
+ * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp: Removed.
+ * bindings/v8/custom/V8WebGLIntArrayCustom.cpp: Removed.
+ * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
+ (WebCore::vertexAttribAndUniformHelperf):
+ (WebCore::uniformHelperi):
+ (WebCore::uniformMatrixHelper):
+ * bindings/v8/custom/V8WebGLShortArrayCustom.cpp: Removed.
+ * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp: Removed.
+ * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp: Removed.
+ * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp: Removed.
+ * html/canvas/ArrayBuffer.cpp: Copied from WebCore/html/canvas/WebGLArrayBuffer.cpp.
+ (WebCore::ArrayBuffer::create):
+ (WebCore::ArrayBuffer::ArrayBuffer):
+ (WebCore::ArrayBuffer::data):
+ (WebCore::ArrayBuffer::byteLength):
+ (WebCore::ArrayBuffer::~ArrayBuffer):
+ (WebCore::ArrayBuffer::tryAllocate):
+ * html/canvas/ArrayBuffer.h: Copied from WebCore/html/canvas/WebGLArrayBuffer.h.
+ * html/canvas/ArrayBuffer.idl: Copied from WebCore/html/canvas/WebGLArrayBuffer.idl.
+ * html/canvas/ArrayBufferView.cpp: Copied from WebCore/html/canvas/WebGLArray.cpp.
+ (WebCore::ArrayBufferView::ArrayBufferView):
+ (WebCore::ArrayBufferView::~ArrayBufferView):
+ (WebCore::ArrayBufferView::setImpl):
+ (WebCore::ArrayBufferView::calculateOffsetAndLength):
+ * html/canvas/ArrayBufferView.h: Copied from WebCore/html/canvas/WebGLArray.h.
+ (WebCore::ArrayBufferView::buffer):
+ (WebCore::ArrayBufferView::verifySubRange):
+ (WebCore::ArrayBufferView::clampOffsetAndNumElements):
+ * html/canvas/ArrayBufferView.idl: Copied from WebCore/html/canvas/WebGLArray.idl.
+ * html/canvas/FloatArray.cpp: Copied from WebCore/html/canvas/WebGLFloatArray.cpp.
+ (WebCore::FloatArray::create):
+ (WebCore::FloatArray::FloatArray):
+ (WebCore::FloatArray::slice):
+ * html/canvas/FloatArray.h: Copied from WebCore/html/canvas/WebGLFloatArray.h.
+ (WebCore::FloatArray::set):
+ (WebCore::FloatArray::item):
+ * html/canvas/FloatArray.idl: Copied from WebCore/html/canvas/WebGLFloatArray.idl.
+ * html/canvas/Int16Array.cpp: Copied from WebCore/html/canvas/WebGLShortArray.cpp.
+ (WebCore::Int16Array::create):
+ (WebCore::Int16Array::Int16Array):
+ (WebCore::Int16Array::slice):
+ * html/canvas/Int16Array.h: Copied from WebCore/html/canvas/WebGLShortArray.h.
+ * html/canvas/Int16Array.idl: Copied from WebCore/html/canvas/WebGLShortArray.idl.
+ * html/canvas/Int32Array.cpp: Copied from WebCore/html/canvas/WebGLIntArray.cpp.
+ (WebCore::Int32Array::create):
+ (WebCore::Int32Array::Int32Array):
+ (WebCore::Int32Array::slice):
+ * html/canvas/Int32Array.h: Copied from WebCore/html/canvas/WebGLIntArray.h.
+ * html/canvas/Int32Array.idl: Copied from WebCore/html/canvas/WebGLIntArray.idl.
+ * html/canvas/Int8Array.cpp: Copied from WebCore/html/canvas/WebGLByteArray.cpp.
+ (WebCore::Int8Array::create):
+ (WebCore::Int8Array::Int8Array):
+ (WebCore::Int8Array::slice):
+ * html/canvas/Int8Array.h: Copied from WebCore/html/canvas/WebGLByteArray.h.
+ * html/canvas/Int8Array.idl: Copied from WebCore/html/canvas/WebGLByteArray.idl.
+ * html/canvas/IntegralTypedArrayBase.h: Copied from WebCore/html/canvas/WebGLIntegralTypedArrayBase.h.
+ (WebCore::IntegralTypedArrayBase::set):
+ (WebCore::IntegralTypedArrayBase::item):
+ (WebCore::IntegralTypedArrayBase::IntegralTypedArrayBase):
+ * html/canvas/TypedArrayBase.h: Copied from WebCore/html/canvas/WebGLTypedArrayBase.h.
+ (WebCore::TypedArrayBase::set):
+ (WebCore::TypedArrayBase::TypedArrayBase):
+ (WebCore::TypedArrayBase::create):
+ * html/canvas/Uint16Array.cpp: Copied from WebCore/html/canvas/WebGLUnsignedShortArray.cpp.
+ (WebCore::Uint16Array::create):
+ (WebCore::Uint16Array::Uint16Array):
+ (WebCore::Uint16Array::slice):
+ * html/canvas/Uint16Array.h: Copied from WebCore/html/canvas/WebGLUnsignedShortArray.h.
+ * html/canvas/Uint16Array.idl: Copied from WebCore/html/canvas/WebGLUnsignedShortArray.idl.
+ * html/canvas/Uint32Array.cpp: Copied from WebCore/html/canvas/WebGLUnsignedIntArray.cpp.
+ (WebCore::Uint32Array::create):
+ (WebCore::Uint32Array::Uint32Array):
+ (WebCore::Uint32Array::slice):
+ * html/canvas/Uint32Array.h: Copied from WebCore/html/canvas/WebGLUnsignedIntArray.h.
+ * html/canvas/Uint32Array.idl: Copied from WebCore/html/canvas/WebGLUnsignedIntArray.idl.
+ * html/canvas/Uint8Array.cpp: Copied from WebCore/html/canvas/WebGLUnsignedByteArray.cpp.
+ (WebCore::Uint8Array::create):
+ (WebCore::Uint8Array::Uint8Array):
+ (WebCore::Uint8Array::slice):
+ * html/canvas/Uint8Array.h: Copied from WebCore/html/canvas/WebGLUnsignedByteArray.h.
+ * html/canvas/Uint8Array.idl: Copied from WebCore/html/canvas/WebGLUnsignedByteArray.idl.
+ * html/canvas/WebGLArray.cpp: Removed.
+ * html/canvas/WebGLArray.h: Removed.
+ * html/canvas/WebGLArray.idl: Removed.
+ * html/canvas/WebGLArrayBuffer.cpp: Removed.
+ * html/canvas/WebGLArrayBuffer.h: Removed.
+ * html/canvas/WebGLArrayBuffer.idl: Removed.
+ * html/canvas/WebGLBuffer.cpp:
+ (WebCore::WebGLBuffer::associateBufferData):
+ (WebCore::WebGLBuffer::associateBufferSubData):
+ * html/canvas/WebGLBuffer.h:
+ (WebCore::WebGLBuffer::elementArrayBuffer):
+ * html/canvas/WebGLByteArray.cpp: Removed.
+ * html/canvas/WebGLByteArray.h: Removed.
+ * html/canvas/WebGLByteArray.idl: Removed.
+ * html/canvas/WebGLFloatArray.cpp: Removed.
+ * html/canvas/WebGLFloatArray.h: Removed.
+ * html/canvas/WebGLFloatArray.idl: Removed.
+ * html/canvas/WebGLGetInfo.cpp:
+ (WebCore::WebGLGetInfo::WebGLGetInfo):
+ (WebCore::WebGLGetInfo::getWebGLFloatArray):
+ (WebCore::WebGLGetInfo::getWebGLIntArray):
+ (WebCore::WebGLGetInfo::getWebGLUnsignedByteArray):
+ * html/canvas/WebGLGetInfo.h:
+ * html/canvas/WebGLIntArray.cpp: Removed.
+ * html/canvas/WebGLIntArray.h: Removed.
+ * html/canvas/WebGLIntArray.idl: Removed.
+ * html/canvas/WebGLIntegralTypedArrayBase.h: Removed.
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore::WebGLRenderingContext::bufferData):
+ (WebCore::WebGLRenderingContext::bufferSubData):
+ (WebCore::WebGLRenderingContext::getUniform):
+ (WebCore::WebGLRenderingContext::getVertexAttrib):
+ (WebCore::WebGLRenderingContext::readPixels):
+ (WebCore::WebGLRenderingContext::texImage2D):
+ (WebCore::WebGLRenderingContext::texSubImage2D):
+ (WebCore::WebGLRenderingContext::uniform1fv):
+ (WebCore::WebGLRenderingContext::uniform1iv):
+ (WebCore::WebGLRenderingContext::uniform2fv):
+ (WebCore::WebGLRenderingContext::uniform2iv):
+ (WebCore::WebGLRenderingContext::uniform3fv):
+ (WebCore::WebGLRenderingContext::uniform3iv):
+ (WebCore::WebGLRenderingContext::uniform4fv):
+ (WebCore::WebGLRenderingContext::uniform4iv):
+ (WebCore::WebGLRenderingContext::uniformMatrix2fv):
+ (WebCore::WebGLRenderingContext::uniformMatrix3fv):
+ (WebCore::WebGLRenderingContext::uniformMatrix4fv):
+ (WebCore::WebGLRenderingContext::vertexAttrib1fv):
+ (WebCore::WebGLRenderingContext::vertexAttrib2fv):
+ (WebCore::WebGLRenderingContext::vertexAttrib3fv):
+ (WebCore::WebGLRenderingContext::vertexAttrib4fv):
+ (WebCore::WebGLRenderingContext::getWebGLFloatArrayParameter):
+ (WebCore::WebGLRenderingContext::getWebGLIntArrayParameter):
+ (WebCore::WebGLRenderingContext::getWebGLUnsignedByteArrayParameter):
+ * html/canvas/WebGLRenderingContext.h:
+ * html/canvas/WebGLRenderingContext.idl:
+ * html/canvas/WebGLShortArray.cpp: Removed.
+ * html/canvas/WebGLShortArray.h: Removed.
+ * html/canvas/WebGLShortArray.idl: Removed.
+ * html/canvas/WebGLTypedArrayBase.h: Removed.
+ * html/canvas/WebGLUnsignedByteArray.cpp: Removed.
+ * html/canvas/WebGLUnsignedByteArray.h: Removed.
+ * html/canvas/WebGLUnsignedByteArray.idl: Removed.
+ * html/canvas/WebGLUnsignedIntArray.cpp: Removed.
+ * html/canvas/WebGLUnsignedIntArray.h: Removed.
+ * html/canvas/WebGLUnsignedIntArray.idl: Removed.
+ * html/canvas/WebGLUnsignedShortArray.cpp: Removed.
+ * html/canvas/WebGLUnsignedShortArray.h: Removed.
+ * html/canvas/WebGLUnsignedShortArray.idl: Removed.
+ * page/DOMWindow.idl:
+ * platform/graphics/GraphicsContext3D.h:
+ * platform/graphics/mac/GraphicsContext3DMac.cpp:
+ (WebCore::GraphicsContext3D::bufferData):
+ (WebCore::GraphicsContext3D::bufferSubData):
+ * platform/graphics/qt/GraphicsContext3DQt.cpp:
+ (WebCore::GraphicsContext3D::bufferData):
+ (WebCore::GraphicsContext3D::bufferSubData):
+
+2010-05-14 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/7985864> Connection properties dictionary should use standard callbacks for keys, values
+ https://bugs.webkit.org/show_bug.cgi?id=39132
+
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::createConnectionProperties):
+
+2010-05-14 Abhishek Arya <inferno@chromium.org>
+
+ Reviewed by David Hyatt.
+
+ Move the m_width(Length) and m_columns(RenderTable::ColumnStruct)
+ vector out-of-bounds check out of the ASSERT into the main code.
+ https://bugs.webkit.org/show_bug.cgi?id=38261
+
+ Test: fast/table/fixed-table-layout-large-colspan-crash.html
+
+ * rendering/FixedTableLayout.cpp:
+ (WebCore::FixedTableLayout::calcWidthArray):
+
+2010-05-14 Eric Seidel <eric@webkit.org>
+
+ Unreviewed, rolling out r59489.
+ http://trac.webkit.org/changeset/59489
+ https://bugs.webkit.org/show_bug.cgi?id=37815
+
+ abarth broke the known universe and then some.
+
+ * Android.jscbindings.mk:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSBindingsAllInOne.cpp:
+ * bindings/js/JSCallbackData.cpp:
+ (WebCore::JSCallbackData::invokeCallback):
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::handleEvent):
+ * bindings/js/JSInjectedScriptHostCustom.cpp:
+ (WebCore::InjectedScriptHost::createInjectedScript):
+ * bindings/js/ScheduledAction.cpp:
+ (WebCore::ScheduledAction::executeFunctionInContext):
+ (WebCore::ScheduledAction::execute):
+ * bindings/js/ScheduledAction.h:
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::evaluateInWorld):
+ * bindings/js/ScriptController.h:
+ * bindings/js/ScriptFunctionCall.cpp:
+ (WebCore::ScriptFunctionCall::call):
+ * bindings/objc/ObjCEventListener.mm:
+ (WebCore::ObjCEventListener::handleEvent):
+ * bindings/objc/WebScriptObject.mm:
+ (-[WebScriptObject callWebScriptMethod:withArguments:]):
+ (-[WebScriptObject evaluateWebScript:]):
+ * bindings/scripts/CodeGeneratorObjC.pm:
+ * bindings/scripts/test/ObjC/DOMTestCallback.mm:
+ (-[DOMTestCallback callbackWithClass1Param:]):
+ (-[DOMTestCallback callbackWithClass2Param:strArg:]):
+ (-[DOMTestCallback callbackWithNonBoolReturnType:]):
+ (-[DOMTestCallback customCallback:class6Param:]):
+ * bindings/scripts/test/ObjC/DOMTestInterface.mm:
+ * bindings/scripts/test/ObjC/DOMTestObj.mm:
+ (-[DOMTestObj readOnlyIntAttr]):
+ (-[DOMTestObj readOnlyStringAttr]):
+ (-[DOMTestObj readOnlyTestObjAttr]):
+ (-[DOMTestObj intAttr]):
+ (-[DOMTestObj setIntAttr:]):
+ (-[DOMTestObj longLongAttr]):
+ (-[DOMTestObj setLongLongAttr:]):
+ (-[DOMTestObj unsignedLongLongAttr]):
+ (-[DOMTestObj setUnsignedLongLongAttr:]):
+ (-[DOMTestObj stringAttr]):
+ (-[DOMTestObj setStringAttr:]):
+ (-[DOMTestObj testObjAttr]):
+ (-[DOMTestObj setTestObjAttr:]):
+ (-[DOMTestObj attrWithException]):
+ (-[DOMTestObj setAttrWithException:]):
+ (-[DOMTestObj attrWithSetterException]):
+ (-[DOMTestObj setAttrWithSetterException:]):
+ (-[DOMTestObj attrWithGetterException]):
+ (-[DOMTestObj setAttrWithGetterException:]):
+ (-[DOMTestObj customAttr]):
+ (-[DOMTestObj setCustomAttr:]):
+ (-[DOMTestObj scriptStringAttr]):
+ (-[DOMTestObj voidMethod]):
+ (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
+ (-[DOMTestObj intMethod]):
+ (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
+ (-[DOMTestObj objMethod]):
+ (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
+ (-[DOMTestObj serializedValue:]):
+ (-[DOMTestObj methodWithException]):
+ (-[DOMTestObj customMethod]):
+ (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
+ (-[DOMTestObj customArgsAndException:]):
+ (-[DOMTestObj addEventListener:listener:useCapture:]):
+ (-[DOMTestObj removeEventListener:listener:useCapture:]):
+ (-[DOMTestObj withDynamicFrame]):
+ (-[DOMTestObj withDynamicFrameAndArg:]):
+ (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
+ (-[DOMTestObj withDynamicFrameAndUserGesture:]):
+ (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
+ (-[DOMTestObj withScriptStateVoid]):
+ (-[DOMTestObj withScriptStateObj]):
+ (-[DOMTestObj withScriptStateVoidException]):
+ (-[DOMTestObj withScriptStateObjException]):
+ (-[DOMTestObj methodWithOptionalArg:]):
+ (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
+ (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
+ * bindings/v8/ScriptController.cpp:
+ * bindings/v8/ScriptController.h:
+ * html/HTMLFrameElementBase.cpp:
+ (WebCore::HTMLFrameElementBase::isURLAllowed):
+
+2010-05-14 Justin Schuh <jschuh@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Moving frame.src checks out of the bindings
+ https://bugs.webkit.org/show_bug.cgi?id=37815
+
+ Moved JavaScript frame.src checks out of bindings and into
+ HTMLFrameElementBase. Added main thread state stack to JavaScriptCore
+ so ExecState is available inside core DOM. Updated affected bindings
+ (except for GObject, which will need to be updated to avoid origin
+ failures inside native code).
+
+ * Android.jscbindings.mk:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSBindingsAllInOne.cpp:
+ * bindings/js/JSCallbackData.cpp:
+ (WebCore::JSCallbackData::invokeCallback):
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::handleEvent):
+ * bindings/js/JSInjectedScriptHostCustom.cpp:
+ (WebCore::InjectedScriptHost::createInjectedScript):
+ * bindings/js/ScheduledAction.cpp:
+ (WebCore::ScheduledAction::executeFunctionInContext):
+ (WebCore::ScheduledAction::execute):
+ * bindings/js/ScheduledAction.h:
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::evaluateInWorld):
+ (WebCore::ScriptController::canAccessFromCurrentOrigin):
+ * bindings/js/ScriptController.h:
+ * bindings/js/ScriptFunctionCall.cpp:
+ (WebCore::ScriptFunctionCall::call):
+ * bindings/objc/ObjCEventListener.mm:
+ (WebCore::ObjCEventListener::handleEvent):
+ * bindings/objc/WebScriptObject.mm:
+ (-[WebScriptObject callWebScriptMethod:withArguments:]):
+ (-[WebScriptObject evaluateWebScript:]):
+ * bindings/scripts/CodeGeneratorObjC.pm:
+ * bindings/scripts/test/ObjC/DOMTestCallback.mm:
+ (-[DOMTestCallback callbackWithClass1Param:]):
+ (-[DOMTestCallback callbackWithClass2Param:strArg:]):
+ (-[DOMTestCallback callbackWithNonBoolReturnType:]):
+ (-[DOMTestCallback customCallback:class6Param:]):
+ * bindings/scripts/test/ObjC/DOMTestInterface.mm:
+ * bindings/scripts/test/ObjC/DOMTestObj.mm:
+ (-[DOMTestObj readOnlyIntAttr]):
+ (-[DOMTestObj readOnlyStringAttr]):
+ (-[DOMTestObj readOnlyTestObjAttr]):
+ (-[DOMTestObj intAttr]):
+ (-[DOMTestObj setIntAttr:]):
+ (-[DOMTestObj longLongAttr]):
+ (-[DOMTestObj setLongLongAttr:]):
+ (-[DOMTestObj unsignedLongLongAttr]):
+ (-[DOMTestObj setUnsignedLongLongAttr:]):
+ (-[DOMTestObj stringAttr]):
+ (-[DOMTestObj setStringAttr:]):
+ (-[DOMTestObj testObjAttr]):
+ (-[DOMTestObj setTestObjAttr:]):
+ (-[DOMTestObj attrWithException]):
+ (-[DOMTestObj setAttrWithException:]):
+ (-[DOMTestObj attrWithSetterException]):
+ (-[DOMTestObj setAttrWithSetterException:]):
+ (-[DOMTestObj attrWithGetterException]):
+ (-[DOMTestObj setAttrWithGetterException:]):
+ (-[DOMTestObj customAttr]):
+ (-[DOMTestObj setCustomAttr:]):
+ (-[DOMTestObj scriptStringAttr]):
+ (-[DOMTestObj voidMethod]):
+ (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
+ (-[DOMTestObj intMethod]):
+ (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
+ (-[DOMTestObj objMethod]):
+ (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
+ (-[DOMTestObj serializedValue:]):
+ (-[DOMTestObj methodWithException]):
+ (-[DOMTestObj customMethod]):
+ (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
+ (-[DOMTestObj customArgsAndException:]):
+ (-[DOMTestObj addEventListener:listener:useCapture:]):
+ (-[DOMTestObj removeEventListener:listener:useCapture:]):
+ (-[DOMTestObj withDynamicFrame]):
+ (-[DOMTestObj withDynamicFrameAndArg:]):
+ (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
+ (-[DOMTestObj withDynamicFrameAndUserGesture:]):
+ (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
+ (-[DOMTestObj withScriptStateVoid]):
+ (-[DOMTestObj withScriptStateObj]):
+ (-[DOMTestObj withScriptStateVoidException]):
+ (-[DOMTestObj withScriptStateObjException]):
+ (-[DOMTestObj methodWithOptionalArg:]):
+ (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
+ (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::canAccessFromCurrentOrigin):
+ * bindings/v8/ScriptController.h:
+ * html/HTMLFrameElementBase.cpp:
+ (WebCore::HTMLFrameElementBase::isURLAllowed):
+
+2010-05-14 Sergey Ulanov <sergeyu@chromium.org>
+
+ Reviewed by Dmitry Titov and Brett Wilson.
+
+ Adding resized image caching for Skia.
+ https://bugs.webkit.org/show_bug.cgi?id=39085
+
+ Tests: HTML5 video on YouTube.
+
+ * platform/graphics/skia/ImageSkia.cpp:
+ (WebCore::Image::drawPattern): Use bitmap->resizedBitmap() to cache resized image when possible.
+
+2010-05-14 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Brady Eidson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39008
+ <rdar://problem/7976142> REGRESSION (r58950): Webkit crashes on clicking back button when in Hotmail
+
+ Test: fast/parser/tokenizer-close-during-document-write.html
+
+ * dom/Document.cpp: (WebCore::Document::write): Check that the tokenizer is still around
+ after calling write(). It can become null (as it happens in regression test), and I don't
+ see any guarantee that it would never be replaced with a different one (but I can't make a
+ test for that).
+
+2010-05-14 Jian Li <jianli@chromium.org>
+
+ Rubber-stamped by Dmitry Titov.
+
+ Fix the code indentation inside a namespace to be consistent with the
+ style guide.
+
+ * workers/GenericWorkerTask.h:
+
+2010-05-14 Jian Li <jianli@chromium.org>
+
+ Reviewed by Dmitry Titov.
+
+ Remove the ENABLE(WORKERS) guard from GenericWorkerTask.h and rename
+ all occurrences of GenericWorkerTask* to GenericTask* in this file.
+ https://bugs.webkit.org/show_bug.cgi?id=39129
+
+ I will have another patch to rename the file and move it to the right
+ place.
+
+ * workers/GenericWorkerTask.h:
+ (WebCore::):
+ (WebCore::GenericTask1::create):
+ (WebCore::GenericTask1::GenericTask1):
+ (WebCore::GenericTask2::create):
+ (WebCore::GenericTask2::GenericTask2):
+ (WebCore::GenericTask3::create):
+ (WebCore::GenericTask3::GenericTask3):
+ (WebCore::GenericTask4::create):
+ (WebCore::GenericTask4::GenericTask4):
+ (WebCore::GenericTask5::create):
+ (WebCore::GenericTask5::GenericTask5):
+ (WebCore::GenericTask6::create):
+ (WebCore::GenericTask6::GenericTask6):
+ (WebCore::GenericTask7::create):
+ (WebCore::GenericTask7::GenericTask7):
+ (WebCore::GenericTask8::create):
+ (WebCore::GenericTask8::GenericTask8):
+ (WebCore::createCallbackTask):
+
+2010-05-14 Evan Martin <evan@chromium.org>
+
+ Reviewed by David Levin.
+
+ [chromium] don't call fontconfig twice in complex text path
+ https://bugs.webkit.org/show_bug.cgi?id=38701
+
+ Previously getFontDataForCharacters would call fontconfig once to
+ resolve a font name, then pass that name to getCachedFontPlatformData
+ to load the font. This would be two trips through fontconfig (including
+ IPCs). With this change, we completely load the font in the first pass.
+
+ This patch is actually the same code as in r58341, which was reverted
+ because of a performance problem; a performance improvement has now
+ been committed, and with that change in place this change improves
+ the Chromium intl2 page cycler performance by another 5%.
+
+ See also https://bugs.webkit.org/show_bug.cgi?id=37904 .
+
+ Test: fast/text/international/bold-bengali.html
+ (Was checked in as part of the first attempt at this change, continues
+ to pass after this change.)
+
+ * platform/chromium/ChromiumBridge.h:
+ * platform/graphics/chromium/FontCacheLinux.cpp:
+ (WebCore::FontCache::getFontDataForCharacters):
+
+2010-05-14 Young Han Lee <joybro@company100.net>
+
+ Reviewed by Darin Adler.
+
+ Don't include RetainPtr.h unless PLATFORM(CF) is set.
+ The RetainPtr is only used for CF platform in this class.
+ https://bugs.webkit.org/show_bug.cgi?id=39043
+
+ No new tests, there is no new functionality.
+
+ * platform/network/curl/ResourceHandleManager.cpp:
+
+2010-05-14 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Build fix, we need to copy over the files in $(WebKitOutputDir)/include/JavaScriptCore/private before
+ WebCore builds. This is because we are building a couple WTF files in WebCore and JavaScriptCore.
+
+ * WebCore.vcproj/WebCore.make:
+
+2010-05-14 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Unreviewed. Attempt to fix chromium's memory bot error.
+
+ More :visited link optimizations to reduce memory usage
+ https://bugs.webkit.org/show_bug.cgi?id=39084
+
+ The original change (r59386) adds check for m_element in initElement.
+ As don't initialize m_element in the constructor of CSSStyleSelector,
+ valgrind complains.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::CSSStyleSelector):
+
+2010-05-14 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ CSSParser::parseColor() shouldn't alter 'color' unless passed a valid color string.
+ https://bugs.webkit.org/show_bug.cgi?id=39031
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseColor):
+ * editing/ApplyStyleCommand.cpp:
+ (WebCore::StyleChange::extractTextStyles): Don't depend on old behavior.
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::setShadow): Remove dead code.
+
+2010-05-14 Jens Alfke <snej@chromium.org>
+
+ Reviewed by John Sullivan.
+
+ Don't clear yellow autofill highlight from text fields until the user edits them.
+ https://bugs.webkit.org/show_bug.cgi?id=39032
+ No new tests (Couldn't find any autofill tests. The flag doesn't seem to be exposed to JS.)
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::handleFocusEvent): Don't clear the autofilled flag.
+ (WebCore::HTMLInputElement::setValueFromRenderer): Clear the autofilled flag.
+
+2010-05-14 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Must implement OpenGL ES 2.0 semantics for NPOT textures
+ https://bugs.webkit.org/show_bug.cgi?id=33805
+
+ Test: fast/canvas/webgl/texture-npot.html
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore::WebGLRenderingContext::WebGLRenderingContext): Create black 1x1 textures.
+ (WebCore::WebGLRenderingContext::bindTexture): Set texture dimensionality.
+ (WebCore::WebGLRenderingContext::copyTexImage2D): Error check, set texture size.
+ (WebCore::WebGLRenderingContext::drawArrays): Bind to black textures if needed.
+ (WebCore::WebGLRenderingContext::drawElements): Bind to black textures if needed.
+ (WebCore::WebGLRenderingContext::generateMipmap): Error check.
+ (WebCore::WebGLRenderingContext::texImage2DBase): Error check, set texture size.
+ (WebCore::WebGLRenderingContext::texParameterf): Set texture parameter.
+ (WebCore::WebGLRenderingContext::texParameteri): Ditto.
+ (WebCore::WebGLRenderingContext::handleNPOTTextures): Bind to black textures if needed before draw, and bind back to original textures after draw.
+ * html/canvas/WebGLRenderingContext.h: Add black 1x1 textures.
+ * html/canvas/WebGLTexture.cpp: Add support to track NPOT textures.
+ (WebCore::WebGLTexture::createBlackTexture1x1): Create a black 1x1 texture.
+ (WebCore::WebGLTexture::WebGLTexture): Initialize parameters and states.
+ (WebCore::WebGLTexture::setDimensionality): Set dimensionality.
+ (WebCore::WebGLTexture::setParameteri): Set parameter.
+ (WebCore::WebGLTexture::setParameterf): Ditto.
+ (WebCore::WebGLTexture::setSize): Set level 0 texture size.
+ (WebCore::WebGLTexture::isNPOT): Whether the texture is NPOT.
+ (WebCore::WebGLTexture::updateNPOTStates): Calculate NPOT and NeedToUseBlackTexture states.
+ * html/canvas/WebGLTexture.h: Add support to track NPOT textures.
+ (WebCore::WebGLTexture::isNPOT):
+ (WebCore::WebGLTexture::needToUseBlackTexture):
+
+2010-05-14 Andrey Kosyakov <caseq@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: add help on keyboard shortcuts (take 2).
+
+ https://bugs.webkit.org/show_bug.cgi?id=38667
+
+ * English.lproj/localizedStrings.js:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/front-end/CallStackSidebarPane.js:
+ (WebInspector.CallStackSidebarPane):
+ (WebInspector.CallStackSidebarPane.prototype._placardSelected):
+ (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
+ * inspector/front-end/ConsoleView.js:
+ (WebInspector.ConsoleView):
+ (WebInspector.ConsoleView.prototype._registerShortcuts):
+ * inspector/front-end/ElementsPanel.js:
+ (WebInspector.ElementsPanel):
+ (WebInspector.ElementsPanel.prototype._registerShortcuts):
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeOutline.prototype._keyDown):
+ * inspector/front-end/HelpScreen.js: Added.
+ * inspector/front-end/KeyboardShortcut.js:
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype.elementsToRestoreScrollPositionsFor):
+ (WebInspector.ScriptsPanel.prototype._registerShortcuts):
+ * inspector/front-end/ShortcutsHelp.js: Added.
+ * inspector/front-end/SidebarPane.js:
+ (WebInspector.SidebarPane.prototype._onTitleKeyDown):
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylesSidebarPane.prototype.removeSection):
+ (WebInspector.StylesSidebarPane.prototype.registerShortcuts):
+ * inspector/front-end/TextViewer.js:
+ (WebInspector.TextViewer.prototype._handleKeyDown):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/helpScreen.css: Added.
+
+2010-05-14 Tony Gentilcore <tonyg@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [chromium] Update chromium port to send/receive cached metadata
+ https://bugs.webkit.org/show_bug.cgi?id=38665
+
+ No new tests because no new functionality.
+
+ * platform/chromium/ChromiumBridge.h:
+ * platform/network/chromium/ResourceResponse.h:
+ (WebCore::ResourceResponse::ResourceResponse):
+ (WebCore::ResourceResponse::responseTime):
+ (WebCore::ResourceResponse::setResponseTime):
+
+2010-05-14 Chris Evans <cevans@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Chromium-specific fix to prevent zombie infobars.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38948
+
+ * bindings/v8/ScriptController.cpp
+ (WebCore::ScriptController::processingUserGesture):
+ Require a more definite "no" signal.
+ * loader/RedirectScheduler.cpp:
+ (WebCore::ScheduledFormSubmission::fire):
+ Use a very strong yes / no signal; no need for "possible" here.
+ * dom/UserGestureIndicator.h:
+ * dom/UserGestureIndicator.cpp:
+ Adapt to tri-state: definitely yes; definitely no; not sure.
+
+2010-05-14 Aaron Kennedy <tffeeb@gmail.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] JavaScript unable to invoke methods declared in QML
+ https://bugs.webkit.org/show_bug.cgi?id=38949
+
+ JavaScript code executed by webkit cannot call into QML declared
+ methods, as it does not check for dynamic meta objects.
+
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtInstance::stringValue): Use QMetaObject::metacall.
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::QtRuntimeMetaMethod::call): Ditto.
+
+2010-05-14 Ben Murdoch <benm@google.com>
+
+ Reviewed by Darin Fisher.
+
+ Touch events are disabled by default when using V8.
+ https://bugs.webkit.org/show_bug.cgi?id=38990
+
+ Touch events are protected by a compile time guard, so it's safe to
+ assume that the runtime flag should be enabled by default when this
+ guard is present.
+
+ No new tests, build fix for Android.
+
+ * bindings/generic/RuntimeEnabledFeatures.cpp: enable touch events by default.
+
+2010-05-14 George Wright <gwright@rim.com>
+
+ Reviewed by George Staikos.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38909
+
+ Update JSDataGridColumnListCustom.cpp to call identifierToAtomicString()
+ on the property name.
+
+ * bindings/js/JSDataGridColumnListCustom.cpp:
+ (WebCore::JSDataGridColumnList::canGetItemsForName):
+ (WebCore::JSDataGridColumnList::nameGetter):
+
+2010-05-14 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Ignore invalid values for various CanvasRenderingContext2D properties
+ (lineWidth, miterLimit, shadowOffsetX, shadowOffsetY and shadowBlur)
+
+ https://bugs.webkit.org/show_bug.cgi?id=38841
+
+ Test: fast/canvas/canvas-invalid-values.html
+
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::setLineWidth):
+ (WebCore::CanvasRenderingContext2D::setMiterLimit):
+ (WebCore::CanvasRenderingContext2D::setShadowOffsetX):
+ (WebCore::CanvasRenderingContext2D::setShadowOffsetY):
+ (WebCore::CanvasRenderingContext2D::setShadowBlur):
+
+2010-05-13 Timothy Hatcher <timothy@apple.com>
+
+ Expose WebCore::reportException and WebCore::toJSDOMWindow symbols.
+
+ Reviewed by Sam Weinig.
+
+ * WebCore.base.exp: Expose reportException and toJSDOMWindow.
+
+2010-05-13 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Clearing Breakpoints Too Often
+ https://bugs.webkit.org/show_bug.cgi?id=39094
+
+ Minor resets should preserve both workers and breakpoints.
+
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype.reset):
+
+2010-05-13 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ iframes in compositing layers don't redraw correctly on scrolling
+ https://bugs.webkit.org/show_bug.cgi?id=39096
+
+ When an iframe ends up in a compositing layer (that is painting to its backing store), we need
+ to turn off blitting on scrolling. RenderView::paintBoxDecorations() already has code to do this
+ for transformed frames, so do the same thing when the frame is enclosed in a compositing layer.
+
+ Test: compositing/iframes/iframe-copy-on-scroll.html
+
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::paintBoxDecorations):
+
+2010-05-13 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ Fix scrolling in composited iframes
+ https://bugs.webkit.org/show_bug.cgi?id=39088
+ <rdar://problem/7980099>
+
+ When propagating compositing out of iframes, we have to update the position of the iframe content
+ layers on scrolling.
+
+ Test: compositing/iframes/scrolling-iframe.html
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::scrollPositionChanged): Call updateContentLayerScrollPosition() when scrolling.
+
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Renamed setRootPlatformLayerClippingBox() to updateContentLayerOffset().
+
+ * rendering/RenderLayerCompositor.h:
+ * rendering/RenderLayerCompositor.cpp: Rename m_clippingLayer to m_clipLayer to go better with m_scrollLayer.
+ (WebCore::RenderLayerCompositor::updateContentLayerOffset): Renamed from setRootPlatformLayerClippingBox().
+ Set the size of the clipping layer from the FrameView now, so that scrollbars are not clipped out.
+ Update the scroll layer position too.
+ (WebCore::RenderLayerCompositor::updateContentLayerScrollPosition): Set the position of the scroll layer
+ when the ScrollView is scrolled.
+ (WebCore::RenderLayerCompositor::rootPlatformLayer): m_clippingLayer rename.
+ (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): m_clippingLayer rename. Also create m_scrollLayer at
+ the same time as the clip layer, and clean it up as necessary.
+ (WebCore::RenderLayerCompositor::destroyRootPlatformLayer): m_clippingLayer rename, and clean up the m_scrollLayer too.
+ (WebCore::RenderLayerCompositor::detachRootPlatformLayer): m_clippingLayer rename
+
+2010-05-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Follow up to:
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=38221
+ Memory issues due to the changes in 36556 (increased CSSPrimitiveValue size).
+ Part of <rdar://problem/7921275>
+
+ Fix failing tests on Leopard.
+
+ Initialize m_hasCachedCSSText in CSSPrimitiveValue::init methods.
+
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::CSSPrimitiveValue::init):
+ (WebCore::CSSPrimitiveValue::cssText): Add extra assertion.
+
+2010-05-13 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Can't submit a form with <input type=checkbox required>
+ https://bugs.webkit.org/show_bug.cgi?id=39065
+
+ Test: fast/forms/interactive-validation-required-checkbox.html
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::setChecked):
+ Update the validity cache when a checkbox state is changed.
+
+2010-05-13 Kenneth Russell <kbr@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Alias WebGLArray type names to TypedArray type names
+ https://bugs.webkit.org/show_bug.cgi?id=39036
+
+ Exposed the existing WebGL<T>Array constructor functions on the
+ DOMWindow under the naming convention in the TypedArray spec. The
+ implementations will be renamed in a subsequent bug, and the
+ aliases to the WebGL<T>Array type names eventually removed. Ran
+ all layout tests (including WebGL) in Safari, and WebGL tests in
+ Chromium.
+
+ Test: revised array-unit-tests.html to test both type names.
+ Revised global prototype and constructor tests to ignore new types.
+
+ * bindings/generic/RuntimeEnabledFeatures.h:
+ (WebCore::RuntimeEnabledFeatures::arrayBufferEnabled):
+ (WebCore::RuntimeEnabledFeatures::int8ArrayEnabled):
+ (WebCore::RuntimeEnabledFeatures::uint8ArrayEnabled):
+ (WebCore::RuntimeEnabledFeatures::int16ArrayEnabled):
+ (WebCore::RuntimeEnabledFeatures::uint16ArrayEnabled):
+ (WebCore::RuntimeEnabledFeatures::int32ArrayEnabled):
+ (WebCore::RuntimeEnabledFeatures::uint32ArrayEnabled):
+ (WebCore::RuntimeEnabledFeatures::floatArrayEnabled):
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::arrayBuffer):
+ (WebCore::JSDOMWindow::int8Array):
+ (WebCore::JSDOMWindow::uint8Array):
+ (WebCore::JSDOMWindow::int32Array):
+ (WebCore::JSDOMWindow::uint32Array):
+ (WebCore::JSDOMWindow::int16Array):
+ (WebCore::JSDOMWindow::uint16Array):
+ (WebCore::JSDOMWindow::floatArray):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::V8DOMWindow::ArrayBufferAccessorGetter):
+ (WebCore::V8DOMWindow::Int8ArrayAccessorGetter):
+ (WebCore::V8DOMWindow::Uint8ArrayAccessorGetter):
+ (WebCore::V8DOMWindow::Int16ArrayAccessorGetter):
+ (WebCore::V8DOMWindow::Uint16ArrayAccessorGetter):
+ (WebCore::V8DOMWindow::Int32ArrayAccessorGetter):
+ (WebCore::V8DOMWindow::Uint32ArrayAccessorGetter):
+ (WebCore::V8DOMWindow::FloatArrayAccessorGetter):
+ * page/DOMWindow.idl:
+
+2010-05-13 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39084
+
+ Improve :visited style resolution to reduce its memory footprint and to make some speed adjustments and
+ simplifications.
+
+ (1) Tie the caching of link state on CSSStyleSelector to the element. Just clear out the element when
+ style resolution finishes for the unvisited case to avoid caching across external calls. The internal
+ calls share the cache just fine by doing this.
+
+ (2) Delete the RenderStyle if the link is unvisited. This shouldn't take long enough to make us vulnerable
+ to timing attacks, and it makes sure the overall footprint stays the way it used to be for unvisited links.
+
+ (3) Limit the set of properties that can be applied to :visited links to only the colors it supports. This
+ stops images from being loadable from :visited rules.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::init):
+ (WebCore::CSSStyleSelector::SelectorChecker::determineLinkState):
+ (WebCore::CSSStyleSelector::initElement):
+ (WebCore::CSSStyleSelector::canShareStyleWithElement):
+ (WebCore::CSSStyleSelector::styleForElement):
+ (WebCore::CSSStyleSelector::pseudoStyleForElement):
+ (WebCore::isValidVisitedLinkProperty):
+ (WebCore::CSSStyleSelector::applyProperty):
+ * css/CSSStyleSelector.h:
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::colorIncludingFallback):
+
+2010-05-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=38221
+ Memory issues due to the changes in 36556 (increased CSSPrimitiveValue size).
+ Part of <rdar://problem/7921275>
+
+ - Use an external cache to speedup cssText for CSSPrimitiveValue instead
+ of an extra member variable.
+
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::cssTextCache):
+ (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
+ (WebCore::CSSPrimitiveValue::cleanup):
+ (WebCore::CSSPrimitiveValue::cssText):
+ * css/CSSPrimitiveValue.h:
+ (WebCore::CSSPrimitiveValue::):
+ * css/CSSPrimitiveValueMappings.h:
+ (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
+
+2010-05-13 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ Adding block elements to a block and removing them changes the height of the element.
+ https://bugs.webkit.org/show_bug.cgi?id=38874
+
+ The initial height of an empty editable block is different from the height of the same block after we add block elements
+ and remove them.
+
+ Test: editing/deleting/delete-block-contents-004.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::layoutBlock): resetting m_childrenInline flag to true when layout a block with no children.
+
+2010-05-13 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Repro crash at www.sears.com (infinite recursion in beforeunload handler)
+ <rdar://problem/7965182> and https://bugs.webkit.org/show_bug.cgi?id=38928
+
+ Test: fast/loader/recursive-before-unload-crash.html
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::shouldClose): Copied from Frame, with the pageDismissal flag set.
+ * loader/FrameLoader.h:
+
+ * page/Frame.cpp:
+ (WebCore::Frame::shouldClose): Forward to the new FrameLoader::shouldClose().
+ * page/Frame.h:
+ (WebCore::Frame::existingDOMWindow):
+
+2010-05-13 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r59376.
+ http://trac.webkit.org/changeset/59376
+ https://bugs.webkit.org/show_bug.cgi?id=39080
+
+ Broke window prototype tests (Requested by jamesr on #webkit).
+
+ * bindings/generic/RuntimeEnabledFeatures.h:
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::webGLFloatArray):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ * page/DOMWindow.idl:
+
+2010-05-13 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: A disabled style property cannot be deleted.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39057
+
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::applyStyleText):
+
+2010-05-12 Kenneth Russell <kbr@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Alias WebGLArray type names to TypedArray type names
+ https://bugs.webkit.org/show_bug.cgi?id=39036
+
+ Exposed the existing WebGL<T>Array constructor functions on the
+ DOMWindow under the naming convention in the TypedArray spec. The
+ implementations will be renamed in a subsequent bug, and the
+ aliases to the WebGL<T>Array type names eventually removed. Ran
+ all WebGL layout tests in Safari and Chromium.
+
+ Test: revised array-unit-tests.html to test both type names.
+
+ * bindings/generic/RuntimeEnabledFeatures.h:
+ (WebCore::RuntimeEnabledFeatures::arrayBufferEnabled):
+ (WebCore::RuntimeEnabledFeatures::int8ArrayEnabled):
+ (WebCore::RuntimeEnabledFeatures::uint8ArrayEnabled):
+ (WebCore::RuntimeEnabledFeatures::int16ArrayEnabled):
+ (WebCore::RuntimeEnabledFeatures::uint16ArrayEnabled):
+ (WebCore::RuntimeEnabledFeatures::int32ArrayEnabled):
+ (WebCore::RuntimeEnabledFeatures::uint32ArrayEnabled):
+ (WebCore::RuntimeEnabledFeatures::floatArrayEnabled):
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::arrayBuffer):
+ (WebCore::JSDOMWindow::int8Array):
+ (WebCore::JSDOMWindow::uint8Array):
+ (WebCore::JSDOMWindow::int32Array):
+ (WebCore::JSDOMWindow::uint32Array):
+ (WebCore::JSDOMWindow::int16Array):
+ (WebCore::JSDOMWindow::uint16Array):
+ (WebCore::JSDOMWindow::floatArray):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::V8DOMWindow::ArrayBufferAccessorGetter):
+ (WebCore::V8DOMWindow::Int8ArrayAccessorGetter):
+ (WebCore::V8DOMWindow::Uint8ArrayAccessorGetter):
+ (WebCore::V8DOMWindow::Int16ArrayAccessorGetter):
+ (WebCore::V8DOMWindow::Uint16ArrayAccessorGetter):
+ (WebCore::V8DOMWindow::Int32ArrayAccessorGetter):
+ (WebCore::V8DOMWindow::Uint32ArrayAccessorGetter):
+ (WebCore::V8DOMWindow::FloatArrayAccessorGetter):
+ * page/DOMWindow.idl:
+
+2010-05-13 Brady Eidson <beidson@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Part of <rdar://problem/7965182> and https://bugs.webkit.org/show_bug.cgi?id=38928
+
+ No new tests. (No change in behavior)
+
+ m_unloadEventBeingDispatched was already overloaded to include both unload and pagehide events.
+ In general, these are "page dismissal" events, and might also include beforeunload, so let's rename
+ the flag!
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::FrameLoader):
+ (WebCore::FrameLoader::stopLoading):
+ (WebCore::FrameLoader::loadURL):
+ (WebCore::FrameLoader::loadWithDocumentLoader):
+ (WebCore::FrameLoader::stopAllLoaders):
+ (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
+ (WebCore::FrameLoader::pageHidden):
+ * loader/FrameLoader.h:
+
+2010-05-13 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Event Markers should be hidden in Resource's "Size" Graph
+ https://bugs.webkit.org/show_bug.cgi?id=39074
+
+ Added Show / Hide event dividers functionality to the timeline grid,
+ and included delegation functions in AbstractTimelinePanel.
+
+ * inspector/front-end/AbstractTimelinePanel.js: delegate to the inner grid
+ (WebInspector.AbstractTimelinePanel.prototype.hideEventDividers):
+ (WebInspector.AbstractTimelinePanel.prototype.showEventDividers):
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype.populateSidebar): save a reference to the size graph item to know when its selected
+ (WebInspector.ResourcesPanel.prototype._graphSelected): if the size graph is selected hide the dividers, otherwise show them
+ * inspector/front-end/TimelineGrid.js:
+ (WebInspector.TimelineGrid.prototype.hideEventDividers): set the container to display: none
+ (WebInspector.TimelineGrid.prototype.showEventDividers): set the container to display: block
+
+2010-05-13 Chang Shu <chang.shu@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Based on the spec and Philip Taylor's test suite, strokeStyle and fillStyle attributes
+ must initially have the string value #000000.
+ The link to the spec:
+ http://philip.html5.org/tests/canvas/suite/tests/spec.html#testrefs.2d.colours.default
+
+ https://bugs.webkit.org/show_bug.cgi?id=39068
+
+ The complete test suite is in the process of checking in.
+ https://bugs.webkit.org/show_bug.cgi?id=20553
+
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::State::State):
+
+2010-05-13 Yury Semikhatsky <yurys@chromium.org>
+
+ Unreviewed, rolling out r59360.
+ http://trac.webkit.org/changeset/59360
+ https://bugs.webkit.org/show_bug.cgi?id=38667
+
+ It broke Chromium Win build
+
+ * English.lproj/localizedStrings.js:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/front-end/CallStackSidebarPane.js:
+ (WebInspector.CallStackSidebarPane):
+ (WebInspector.CallStackSidebarPane.prototype._placardSelected):
+ * inspector/front-end/ConsoleView.js:
+ (WebInspector.ConsoleView):
+ * inspector/front-end/ElementsPanel.js:
+ (WebInspector.ElementsPanel):
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeOutline.prototype._keyDown):
+ * inspector/front-end/HelpScreen.js: Removed.
+ * inspector/front-end/KeyboardShortcut.js:
+ (WebInspector.KeyboardShortcut._makeKeyFromCodeAndModifiers):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel):
+ (WebInspector.ScriptsPanel.prototype.elementsToRestoreScrollPositionsFor):
+ * inspector/front-end/ShortcutsHelp.js: Removed.
+ * inspector/front-end/SidebarPane.js:
+ (WebInspector.SidebarPane.prototype._onTitleKeyDown):
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylesSidebarPane.prototype.removeSection):
+ * inspector/front-end/TextViewer.js:
+ (WebInspector.TextViewer.prototype._handleKeyDown):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/helpScreen.css: Removed.
+ * inspector/front-end/inspector.html:
+ * inspector/front-end/inspector.js:
+ (WebInspector.loaded):
+ (WebInspector.documentKeyDown):
+ (WebInspector._searchKeyDown):
+ (WebInspector.startEditing.keyDownEventListener):
+ (WebInspector.startEditing):
+ * inspector/front-end/utilities.js:
+
+2010-05-13 Antti Koivisto <koivisto@iki.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39063
+ [Qt] Tiled backing store checker pattern does not paint correctly when scaling factor is not 1
+
+ Use the dirty rect that has been adjusted for scaling instead of the original one.
+
+ * platform/graphics/TiledBackingStore.cpp:
+ (WebCore::TiledBackingStore::paint):
+
+2010-05-13 Chang Shu <chang.shu@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Based on Philip Taylor's test suite, resetting the canvas
+ state resets the current path.
+ https://bugs.webkit.org/show_bug.cgi?id=38934
+
+ The complete test suite is in the process of checking in.
+ https://bugs.webkit.org/show_bug.cgi?id=20553
+
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::reset):
+
+2010-05-13 Andrey Kosyakov <caseq@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Added help screen with keyboard shortcuts.
+ https://bugs.webkit.org/show_bug.cgi?id=38667
+
+ * English.lproj/localizedStrings.js:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/front-end/CallStackSidebarPane.js:
+ (WebInspector.CallStackSidebarPane):
+ (WebInspector.CallStackSidebarPane.prototype._placardSelected):
+ (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
+ * inspector/front-end/ConsoleView.js:
+ (WebInspector.ConsoleView):
+ (WebInspector.ConsoleView.prototype._registerShortcuts):
+ * inspector/front-end/ElementsPanel.js:
+ (WebInspector.ElementsPanel):
+ (WebInspector.ElementsPanel.prototype._registerShortcuts):
+ * inspector/front-end/HelpScreen.js: Added.
+ * inspector/front-end/KeyboardShortcut.js:
+ (WebInspector.KeyboardShortcut.makeDescriptor):
+ (WebInspector.KeyboardShortcut.shortcutToString):
+ (WebInspector.KeyboardShortcut._modifiersToString):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel):
+ (WebInspector.ScriptsPanel.prototype.elementsToRestoreScrollPositionsFor):
+ (WebInspector.ScriptsPanel.prototype._registerShortcuts):
+ * inspector/front-end/ShortcutsHelp.js: Added.
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylesSidebarPane.prototype.removeSection):
+ (WebInspector.StylesSidebarPane.prototype.registerShortcuts):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/helpScreen.css: Added.
+
+2010-05-13 Yoshiki Hayashi <yhayashi@google.com>
+
+ Reviewed by Darin Adler.
+
+ Fix a bug in handleRunInChild where only the first child run-in block
+ is inserted because removeChildNode clears next sibling.
+ https://bugs.webkit.org/show_bug.cgi?id=25047
+
+ Test: fast/css/run-in-children.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::handleRunInChild):
+
+2010-05-13 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ In case there is no expose event we render the theme in a pixmap
+ and copy it to the cairo context. This is slow but it is used just
+ in case we are printing nowadays.
+
+ [GTK] Theme does not render when printing
+ https://bugs.webkit.org/show_bug.cgi?id=38896
+
+ * platform/gtk/RenderThemeGtk.cpp:
+ (WebCore::paintMozillaGtkWidget):
+
+2010-05-12 Yuzo Fujishima <yuzo@google.com>
+
+ Reviewed by Darin Adler.
+
+ Fix Bug 35014 - Modifying UA rules from page JS crashes
+ Added a NULL check.
+ https://bugs.webkit.org/show_bug.cgi?id=35014
+
+ Test: fast/css/modify-ua-rules-from-javascript.html
+
+ * css/CSSMutableStyleDeclaration.cpp:
+ (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
+
+2010-05-12 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Add the parent class for Database and DatabaseSync.
+ https://bugs.webkit.org/show_bug.cgi?id=39041
+
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * storage/AbstractDatabase.cpp: Added.
+ * storage/AbstractDatabase.h: Added.
+
+2010-05-12 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] GraphicsLayer: depth-test causes flicker in certain situations
+
+ This patch removes the simplistic 2D depth test as it leads to flickering side effects.
+ https://bugs.webkit.org/show_bug.cgi?id=38370
+
+ Tested by http://webkit.org/blog-files/3d-transforms/morphing-cubes.html
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::GraphicsLayerQtImpl::updateTransform):
+
+2010-05-12 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Fix layer dump to avoid spurious platform differences
+ https://bugs.webkit.org/show_bug.cgi?id=39045
+
+ Only dump the children transform on layers that are not the root layer.
+ The children transform on the root layer is used on Leopard to implement
+ geometry flipping, so avoid this supurious difference in test output.
+
+ * platform/graphics/GraphicsLayer.cpp:
+ (WebCore::GraphicsLayer::dumpProperties):
+
+2010-05-12 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r59270.
+ http://trac.webkit.org/changeset/59270
+ https://bugs.webkit.org/show_bug.cgi?id=39044
+
+ Caused a crash on some pages - bug 39042 (Requested by smfr on
+ #webkit).
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::removeChild):
+
+2010-05-12 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by David Hyatt.
+
+ Composited plug-ins can cause missed painting
+ https://bugs.webkit.org/show_bug.cgi?id=39033
+ <rdar://problem/7972478>
+
+ Fixed missed painting (and assertions in debug builds) related to compositing
+ propagating out of iframes that contain plug-ins.
+
+ When an iframe enters or leaves compositing mode, RenderLayerCompositor uses
+ setNeedsStyleRecalc(SyntheticStyleChange) to trigger the parent document to re-evaluate
+ whether the iframe itself should be composited. However, for iframes containing plug-ins,
+ this can happen at inappropriate times. For example, when a browser tab is brought frontmost,
+ plug-ins are instantiated for the first time (via -viewDidMoveToWindow), which triggers a
+ setNeedsStyleRecalc() on the object element. Soon after, the -viewWillDraw machinery
+ does layout from the top down. During layout of the iframe, the iframe enters compositing mode,
+ and does a setNeedsStyleRecalc() on the iframe element in its parent document. This leaves the
+ FrameView as needsLayout(), so the FrameView::paintContents() asserts and bails.
+
+ The fix is to avoid doing a setNeedsStyleRecalc() on the root while inside a recalcStyle on
+ the iframe. We do this by switching the iframe into compositing mode eagerly as soon as we know
+ the plug-in needs it.
+
+ A secondary fix is to ensure that if a document has composited iframes, when that document becomes
+ composited, we connect compositing layers between the iframes and the parent document.
+
+ Tests: compositing/iframes/connect-compositing-iframe-delayed.html
+ compositing/iframes/iframe-src-change.html
+
+ * WebCore.base.exp: Export FrameView::enterCompositingMode()
+
+ * page/FrameView.h: New method, enterCompositingMode(), that we can call from WebKit plug-in code.
+ * page/FrameView.cpp:
+ (WebCore::FrameView::enterCompositingMode):
+
+ * rendering/RenderLayerCompositor.h:
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::enableCompositingMode): When we switch into compositing mode, we
+ force a style recaclc on any iframes to get them into compositing layers, so they can hook up
+ with their content layers if necessary.
+ (WebCore::RenderLayerCompositor::didMoveOnscreen): Only call attachRootPlatformLayer() if we really need to.
+ (WebCore::RenderLayerCompositor::willMoveOffscreen): Only call detachRootPlatformLayer() if we really need to.
+ (WebCore::RenderLayerCompositor::detachRootPlatformLayer): Whitespace.
+ (WebCore::RenderLayerCompositor::notifyIFramesOfCompositingChange): Fetch iframe elements, and send a
+ synthetic style recalc on them.
+
+2010-05-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Shrink the size of FillLayer by moving a member variable.
+ https://bugs.webkit.org/show_bug.cgi?id=39035
+
+ * rendering/style/FillLayer.cpp:
+ (WebCore::FillLayer::FillLayer):
+ * rendering/style/FillLayer.h:
+
+2010-05-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ A bunch of nice micro-optimizations for ~1% speedup on PLT.
+ - Add fastGetAttribute. The same as getAttribute except can only be
+ called when it is known not to be style attribute or one of the SVG
+ animatable attributes.
+ - Inline some functions from Font.
+ - Return the same string from deprecatedParseURL if there is nothing
+ to strip.
+ - Use a member variable instead of a virtual function to determine
+ whether a ScheduledNavigation is a location change.
+
+ * WebCore.base.exp:
+ * css/CSSHelper.cpp:
+ (WebCore::deprecatedParseURL):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::linkAttribute):
+ (WebCore::CSSStyleSelector::canShareStyleWithElement):
+ (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
+ * dom/Element.cpp:
+ (WebCore::Element::getAttribute):
+ * dom/Element.h:
+ (WebCore::Element::fastHasAttribute):
+ (WebCore::Element::fastGetAttribute):
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::HTMLFormControlElement::formControlName):
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::value):
+ * loader/RedirectScheduler.cpp:
+ (WebCore::ScheduledNavigation::ScheduledNavigation):
+ (WebCore::ScheduledNavigation::isLocationChange):
+ (WebCore::ScheduledURLNavigation::ScheduledURLNavigation):
+ (WebCore::ScheduledRedirect::ScheduledRedirect):
+ (WebCore::ScheduledLocationChange::ScheduledLocationChange):
+ (WebCore::ScheduledRefresh::ScheduledRefresh):
+ (WebCore::ScheduledHistoryNavigation::ScheduledHistoryNavigation):
+ (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
+ (WebCore::RedirectScheduler::locationChangePending):
+ * platform/graphics/Font.cpp:
+ * platform/graphics/Font.h:
+ (WebCore::Font::~Font):
+ (WebCore::Font::primaryFont):
+ (WebCore::Font::fontDataAt):
+ (WebCore::Font::fontDataForCharacters):
+ (WebCore::Font::isFixedPitch):
+ (WebCore::Font::fontSelector):
+ * platform/graphics/FontFallbackList.h:
+ * rendering/RenderImage.cpp:
+ (WebCore::RenderImage::imageMap):
+
+2010-05-12 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Make InlineBoxes use an IntRect for dimensions, and eliminate the dynamic computation of height() every time.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * editing/visible_units.cpp:
+ (WebCore::previousLinePosition):
+ (WebCore::nextLinePosition):
+ * rendering/EllipsisBox.cpp:
+ (WebCore::EllipsisBox::paint):
+ (WebCore::EllipsisBox::selectionRect):
+ (WebCore::EllipsisBox::paintSelection):
+ (WebCore::EllipsisBox::nodeAtPoint):
+ * rendering/EllipsisBox.h:
+ (WebCore::EllipsisBox::EllipsisBox):
+ * rendering/InlineBox.cpp:
+ (WebCore::InlineBox::adjustPosition):
+ (WebCore::InlineBox::canAccommodateEllipsis):
+ * rendering/InlineBox.h:
+ (WebCore::InlineBox::InlineBox):
+ (WebCore::InlineBox::isSVGRootInlineBox):
+ (WebCore::InlineBox::x):
+ (WebCore::InlineBox::y):
+ (WebCore::InlineBox::width):
+ (WebCore::InlineBox::height):
+ (WebCore::InlineBox::bottom):
+ (WebCore::InlineBox::right):
+ (WebCore::InlineBox::setX):
+ (WebCore::InlineBox::setY):
+ (WebCore::InlineBox::setWidth):
+ (WebCore::InlineBox::setHeight):
+ (WebCore::InlineBox::location):
+ (WebCore::InlineBox::size):
+ (WebCore::InlineBox::setLocation):
+ (WebCore::InlineBox::setSize):
+ (WebCore::InlineBox::move):
+ (WebCore::InlineBox::frameRect):
+ (WebCore::InlineBox::setFrameRect):
+ (WebCore::InlineBox::baselinePosition):
+ (WebCore::InlineBox::lineHeight):
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::placeBoxesVertically):
+ (WebCore::InlineFlowBox::computeVerticalOverflow):
+ (WebCore::InlineFlowBox::nodeAtPoint):
+ (WebCore::InlineFlowBox::paintBoxDecorations):
+ (WebCore::InlineFlowBox::paintMask):
+ (WebCore::InlineFlowBox::paintTextDecorations):
+ * rendering/InlineFlowBox.h:
+ (WebCore::InlineFlowBox::visibleOverflowRect):
+ (WebCore::InlineFlowBox::topLayoutOverflow):
+ (WebCore::InlineFlowBox::bottomLayoutOverflow):
+ (WebCore::InlineFlowBox::leftLayoutOverflow):
+ (WebCore::InlineFlowBox::rightLayoutOverflow):
+ (WebCore::InlineFlowBox::layoutOverflowRect):
+ (WebCore::InlineFlowBox::topVisualOverflow):
+ (WebCore::InlineFlowBox::bottomVisualOverflow):
+ (WebCore::InlineFlowBox::leftVisualOverflow):
+ (WebCore::InlineFlowBox::rightVisualOverflow):
+ (WebCore::InlineFlowBox::visualOverflowRect):
+ (WebCore::InlineFlowBox::setHorizontalOverflowPositions):
+ (WebCore::InlineFlowBox::setVerticalOverflowPositions):
+ * rendering/InlineTextBox.cpp:
+ (WebCore::InlineTextBox::selectionRect):
+ (WebCore::InlineTextBox::placeEllipsisBox):
+ (WebCore::InlineTextBox::nodeAtPoint):
+ (WebCore::InlineTextBox::paint):
+ (WebCore::InlineTextBox::paintSelection):
+ (WebCore::InlineTextBox::paintCompositionBackground):
+ (WebCore::InlineTextBox::paintDecoration):
+ (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
+ (WebCore::InlineTextBox::paintTextMatchMarker):
+ (WebCore::InlineTextBox::computeRectForReplacementMarker):
+ (WebCore::InlineTextBox::paintCompositionUnderline):
+ (WebCore::InlineTextBox::offsetForPosition):
+ (WebCore::InlineTextBox::positionForOffset):
+ * rendering/InlineTextBox.h:
+ (WebCore::InlineTextBox::setSpaceAdd):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::positionForPointWithInlineChildren):
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::computeVerticalPositionsForLine):
+ (WebCore::RenderBlock::layoutInlineChildren):
+ * rendering/RenderSVGInline.cpp:
+ (WebCore::RenderSVGInline::createInlineFlowBox):
+ * rendering/RenderSVGInlineText.cpp:
+ (WebCore::RenderSVGInlineText::createTextBox):
+ * rendering/RenderSVGText.cpp:
+ (WebCore::RenderSVGText::createRootInlineBox):
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::positionForPoint):
+ (WebCore::RenderText::firstRunX):
+ (WebCore::RenderText::firstRunY):
+ * rendering/RenderTreeAsText.cpp:
+ (WebCore::writeTextRun):
+ * rendering/RootInlineBox.cpp:
+ (WebCore::RootInlineBox::placeEllipsis):
+ (WebCore::RootInlineBox::addHighlightOverflow):
+ (WebCore::RootInlineBox::closestLeafChildForXPos):
+ * rendering/SVGInlineFlowBox.h:
+ (WebCore::SVGInlineFlowBox::SVGInlineFlowBox):
+ * rendering/SVGInlineTextBox.h:
+ (WebCore::SVGInlineTextBox::selectionTop):
+ (WebCore::SVGInlineTextBox::selectionHeight):
+ * rendering/SVGRootInlineBox.h:
+ (WebCore::SVGRootInlineBox::SVGRootInlineBox):
+ (WebCore::SVGRootInlineBox::isSVGRootInlineBox):
+ * rendering/TrailingFloatsRootInlineBox.h: Removed.
+
+2010-05-12 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Removing the unnecessary dirfd parameter.
+ https://bugs.webkit.org/show_bug.cgi?id=38869
+
+ * platform/chromium/ChromiumBridge.h:
+ * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
+
+2010-05-12 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ Adding block elements to a block and removing them changes the height of the element.
+ https://bugs.webkit.org/show_bug.cgi?id=38874
+
+ The initial height of an empty editable block is different from the height of the same block after we add block elements
+ and remove them.
+
+ Test: editing/deleting/delete-block-contents-004.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::removeChild): m_childrenInline was set to true only when the Renderer is created
+ and never reset to true when all the block elements contained are removed.
+
+2010-05-11 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Do not check if a database needs to be vacuumed after a read-only transaction.
+ https://bugs.webkit.org/show_bug.cgi?id=38972
+
+ * storage/SQLTransaction.cpp:
+ (WebCore::SQLTransaction::postflightAndCommit):
+
+2010-05-12 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Detect debug mode consistently
+ https://bugs.webkit.org/show_bug.cgi?id=38863
+
+ No new tests as there is no new functionality.
+
+ * WebCore.pro:
+
+2010-05-12 James Robinson <jamesr@chromium.org>
+
+ Patch by Dan Bernstein.
+
+ Reviewed by David Hyatt.
+
+ Fix marking the layout root's parent as needing layout
+ https://bugs.webkit.org/show_bug.cgi?id=37760
+
+ If an element gets marked as needing layout due to the recalcStyle()
+ call in FrameView::layout(), the m_layoutSchedulingEnabled flag will
+ be set to false. It's possible at this point that a parent of the
+ existing FrameView::m_layoutRoot will be marked as needing layout.
+
+ This patch updates FrameView::scheduleRelayoutOfSubtree to account
+ for this case.
+
+ Manual test only due to subtle timing issues.
+
+ * manual-tests/layoutroot_detach.xml: Added.
+ * page/FrameView.cpp:
+ (WebCore::FrameView::scheduleRelayoutOfSubtree):
+
+2010-05-12 Eric Seidel <eric@webkit.org>
+
+ Unreviewed, rolling out r59245.
+ http://trac.webkit.org/changeset/59245
+ https://bugs.webkit.org/show_bug.cgi?id=38874
+
+ Broke at least one test on multiple platforms
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::removeChild):
+
+2010-05-12 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38752
+ Strange behaviour after js insertion into a page pointing directly to an object (image, swf, etc)
+
+ Test: fast/images/extra-image-in-image-document.html
+
+ * loader/ImageLoader.cpp: (WebCore::ImageLoader::updateFromElement): Reset setAutoLoadImages
+ after manually feeding an image - there may be more coming.
+
+2010-05-12 yael aharon <yael.aharon@nokia.com>
+
+ Reviewed by Dan Bernstein.
+
+ HTMLLabelElement::control() should return HTMLFormControlElement, not HTMLElement
+ https://bugs.webkit.org/show_bug.cgi?id=38991
+
+ No new tests since no new functionality was introduced.
+
+ * html/HTMLLabelElement.cpp:
+ (WebCore::HTMLLabelElement::control):
+ * html/HTMLLabelElement.h:
+
+2010-05-12 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38891
+
+ First-letter had a number of bugs that were exposed by my attempt to optimize the setting of styles when updating first-letter.
+ The code that drills down to find the first-letter child stopped if it hit an element that didn't need layout. This means it could
+ return random incorrect results (and cause the first-letter object to not be found).
+
+ In addition when the first-letter was floated/positioned, the text child was not correctly returned, but the container itself was
+ returned instead.
+
+ Finally, the updating code was leaving the box that wrapped the first letter text with a stale style. The old code happened to work because
+ it made new styles for the text elements instead of using the enclosing box style. The regression was caused by my change to make the
+ text children simply share style with their parent (thus making the bug that the parent had the wrong style become more prominent).
+
+ No new tests, since there's a timing component to reproducing the issue.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::updateFirstLetter):
+
+2010-05-12 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ Adding block elements to a block and removing them changes the height of the element.
+ https://bugs.webkit.org/show_bug.cgi?id=38874
+
+ The initial height of an empty editable block is different from the height of the same block after we add block elements
+ and remove them.
+
+ Test: editing/deleting/delete-block-contents-004.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::removeChild): m_childrenInline was set to true only when the Renderer is created
+ and never reset to true when all the block elements contained are removed.
+
+2010-05-12 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: disabling style property on container breaks styles inspection for given node.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39005
+
+ Tests: inspector/styles-disable-inherited.html
+ inspector/styles-disable-then-enable.html
+
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylesSidebarPane.prototype._containsInherited):
+ (WebInspector.StylesSidebarPane.prototype._arrayContainsInheritedProperty):
+
+2010-05-12 Abhishek Arya <inferno@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ HTML Entity Escape the contents of a textarea node when accessed
+ via the innerHTML and outerHTML node properties.
+ https://bugs.webkit.org/show_bug.cgi?id=38922
+
+ Test: fast/innerHTML/innerHTML-special-elements.html
+
+ * editing/markup.cpp:
+ (WebCore::appendStartMarkup):
+
+2010-05-12 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=38871 REGRESSION:
+ Crash clicking background NPR tab after few minutes of sitting idle
+ -and corresponding-
+ <rdar://problem/7941504>
+
+ Move m_mediaCanStartListeners HashSet to Document away from Page.
+ * dom/Document.cpp:
+ (WebCore::Document::Document):
+ (WebCore::Document::addMediaCanStartListener):
+ (WebCore::Document::removeMediaCanStartListener):
+ (WebCore::Document::takeAnyMediaCanStartListener):
+ * dom/Document.h:
+ * page/Page.cpp:
+ (WebCore::Page::takeAnyMediaCanStartListener):
+ * page/Page.h:
+ (WebCore::Page::canStartMedia):
+
+2010-05-11 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ WebInspector: Sometimes ResourceRequest records aren't connected to the initiator.
+ https://bugs.webkit.org/show_bug.cgi?id=38925
+
+ * inspector/InspectorTimelineAgent.cpp:
+ (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
+ * inspector/InspectorTimelineAgent.h:
+ (WebCore::):
+ * inspector/TimelineRecordFactory.cpp:
+ (WebCore::TimelineRecordFactory::createScheduleResourceRequestData):
+ * inspector/TimelineRecordFactory.h:
+ * inspector/front-end/TimelineAgent.js:
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel):
+ (WebInspector.TimelinePanel.prototype.get _recordStyles):
+ (WebInspector.TimelinePanel.prototype._findParentRecord):
+ (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
+ (WebInspector.TimelinePanel.prototype._clearPanel):
+ (WebInspector.TimelinePanel.FormattedRecord):
+ (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
+ (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
+ * loader/loader.cpp:
+ (WebCore::Loader::load):
+
+2010-05-12 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ placeholder text should be stripped from line breaks
+ https://bugs.webkit.org/show_bug.cgi?id=36291
+
+ According to http://dev.w3.org/html5/spec/forms.html#attr-input-placeholder ,
+ we need to remove CR and LF from the placeholder attribute values.
+ Introduce HTMLTextFormControlElement::strippedPlaceholder(), which
+ returns stripped value, and replace getAttribute(placeholderAttr) with it.
+
+ Test: fast/forms/placeholder-stripped.html
+
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::HTMLTextFormControlElement::strippedPlaceholder):
+ (WebCore::HTMLTextFormControlElement::isPlaceholderEmpty):
+ (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
+ Use strippedPlaceholder().
+ * html/HTMLFormControlElement.h:
+ * platform/text/CharacterNames.h: Add carriageReturn.
+ * rendering/RenderTextControlMultiLine.cpp:
+ (WebCore::RenderTextControlMultiLine::updateFromElement):
+ Use strippedPlaceholder().
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::updateFromElement):
+ Use strippedPlaceholder().
+
+2010-05-10 Rodrigo Belem <rodrigo.belem@openbossa.org>
+
+ Reviewed by Kenneth Christiansen , Simon Hausmann and Gustavo Noronha.
+
+ [Qt, Gtk] Allows build-webkit script to receive an install prefix as parameter
+ https://bugs.webkit.org/show_bug.cgi?id=26224
+
+ This patch adds the ability, in the QtWebkit build system, to change
+ the installation path.
+
+ * WebCore.pro:
+
+2010-05-12 Jer Noble <jer.noble@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 38689: #34005 will break fullscreen video playback
+ https://bugs.webkit.org/show_bug.cgi?id=38689
+
+ The PlatformMedia struct now contains a type field indicating which type
+ it contains. The struct now contains a union of all possible return types,
+ allowing the type of media returned by MediaPlayerPrivate instances to be
+ determined at runtime.
+
+ * platform/graphics/MediaPlayer.h:
+ (WebCore::PlatformMedia::):
+ (WebCore::):
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivate::platformMedia):
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
+ (WebCore::MediaPlayerPrivateQuickTimeVisualContext::platformMedia):
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
+ (WebCore::MediaPlayerPrivate::platformMedia):
+
+2010-05-12 Young Han Lee <joybro@company100.net>
+
+ Reviewed by Darin Adler.
+
+ Add missing ENABLE(SVG) guards.
+ https://bugs.webkit.org/show_bug.cgi?id=38892
+
+ * rendering/RenderSVGResourceClipper.cpp:
+ * rendering/RenderSVGResourceMarker.cpp:
+ * rendering/RenderSVGResourceMasker.cpp:
+
+2010-05-12 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: align sidebar checkboxes on windows.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38986
+
+ * inspector/front-end/StylesSidebarPane.js:
+ * inspector/front-end/inspector.css:
+ (.sidebar-pane-subtitle):
+ (body.platform-windows .sidebar-pane-subtitle):
+
+2010-05-10 yael aharon <yael.aharon@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Support control attribute of HTMLLabelElement
+ https://bugs.webkit.org/show_bug.cgi?id=38688
+
+ Added support for the control attribute of HTMLLabelElement and changed the logic of determining
+ which control is associated with the label to conform to HTML5 spec.
+ Added a manual test for testing the logic of selecting the control to get focused, activated or hovered
+ when the label gets focused, activated or is hovered.
+
+ Test: fast/dom/HTMLLabelElement/click-label.html
+ Test: fast/dom/HTMLLabelElement/focus-label.html
+ Test: fast/dom/HTMLLabelElement/label-control.html
+
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::labelForElement):
+ (WebCore::AccessibilityRenderObject::correspondingControlForLabelElement):
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::HTMLFormControlElement::isLabelable):
+ * html/HTMLFormControlElement.h:
+ * html/HTMLLabelElement.cpp:
+ (WebCore::nodeAsLabelableFormControl):
+ (WebCore::HTMLLabelElement::control):
+ (WebCore::HTMLLabelElement::setActive):
+ (WebCore::HTMLLabelElement::setHovered):
+ (WebCore::HTMLLabelElement::defaultEventHandler):
+ (WebCore::HTMLLabelElement::focus):
+ (WebCore::HTMLLabelElement::accessKeyAction):
+ * html/HTMLLabelElement.h:
+ * html/HTMLLabelElement.idl:
+ * manual-tests/dom/form-control-for-label.html: Added.
+
+2010-05-12 Steve Block <steveblock@google.com>
+
+ Reviewed by David Levin.
+
+ Android's writeToFile() is buggy
+ https://bugs.webkit.org/show_bug.cgi?id=38908
+
+ No new tests, build fix only.
+
+ * platform/android/FileSystemAndroid.cpp: Remove Android's version of writeToFile().
+ * platform/posix/FileSystemPOSIX.cpp: Use POSIX version of writeToFile() on Android.
+ (WebCore::writeToFile):
+
+2010-05-10 Philippe Normand <pnormand@igalia.com>
+
+ Reviewed by David Levin.
+
+ [GStreamer] incoherent #ifdef in GOwnPtrGStreamer.h
+ https://bugs.webkit.org/show_bug.cgi?id=38839
+
+ Fixed #ifdef/curly braces coherence.
+
+ * platform/graphics/gstreamer/GOwnPtrGStreamer.cpp:
+ (WTF::GstElement):
+
+2010-05-10 Philippe Normand <pnormand@igalia.com>
+
+ Reviewed by Dirk Schulze.
+
+ [GStreamer] un-needed cairo.h include
+ https://bugs.webkit.org/show_bug.cgi?id=38837
+
+ Cairo not used in the sink anymore. So it's not needed to include
+ the header.
+
+ * platform/graphics/gstreamer/VideoSinkGStreamer.h:
+
+2010-05-12 Zoltan Herczeg <zherczeg@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ Build fix for Windows and Chromium builds.
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * svg/graphics/filters/SVGFELighting.cpp:
+ (WebCore::FELighting::LightingData::upLeftPixelValue):
+ (WebCore::FELighting::LightingData::upPixelValue):
+ (WebCore::FELighting::LightingData::upRightPixelValue):
+ (WebCore::FELighting::LightingData::leftPixelValue):
+ (WebCore::FELighting::LightingData::centerPixelValue):
+ (WebCore::FELighting::LightingData::rightPixelValue):
+ (WebCore::FELighting::LightingData::downLeftPixelValue):
+ (WebCore::FELighting::LightingData::downPixelValue):
+ (WebCore::FELighting::LightingData::downRightPixelValue):
+ (WebCore::FELighting::setPixel):
+
+2010-05-12 Zoltan Herczeg <zherczeg@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ Implementing SVG filters: feDiffuseLighting and feSpecularLighting
+ https://bugs.webkit.org/show_bug.cgi?id=32197
+ https://bugs.webkit.org/show_bug.cgi?id=32199
+
+ The patch implements the SVG filters feDiffuseLighting and
+ feSpecularLighting including the impementation of their possible
+ light sources according to the Scalable Vector Graphics (SVG)
+ 1.1 Specification. Only two features are missing: supporting images
+ with height or width set to 1, and kernelUnitLength other than (1,1).
+ Since the two lighting filters have a similar body, a common base
+ class called FELighting is introduced, and contains the code for
+ both filters. The implementation employs single precision floating
+ point arithmetic (fixed precision integer arithmetic seemed too difficult).
+
+ Indentation is removed of the modified header files in svg/graphics/filters
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/graphics/FloatPoint3D.cpp:
+ * platform/graphics/FloatPoint3D.h:
+ (WebCore::FloatPoint3D::FloatPoint3D): constructors changed to inline
+ (WebCore::operator*): dot product
+ * svg/SVGFESpotLightElement.cpp:
+ (WebCore::SVGFESpotLightElement::lightSource):
+ * svg/graphics/filters/SVGDistantLightSource.h:
+ (WebCore::DistantLightSource::create):
+ (WebCore::DistantLightSource::azimuth):
+ (WebCore::DistantLightSource::elevation):
+ (WebCore::DistantLightSource::DistantLightSource):
+ * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
+ (WebCore::FEDiffuseLighting::FEDiffuseLighting):
+ (WebCore::FEDiffuseLighting::create):
+ * svg/graphics/filters/SVGFEDiffuseLighting.h:
+ * svg/graphics/filters/SVGFELighting.cpp: Added.
+ (WebCore::FELighting::FELighting):
+ (WebCore::FELighting::LightingData::upLeftPixelValue):
+ (WebCore::FELighting::LightingData::upPixelValue):
+ (WebCore::FELighting::LightingData::upRightPixelValue):
+ (WebCore::FELighting::LightingData::leftPixelValue):
+ (WebCore::FELighting::LightingData::centerPixelValue):
+ (WebCore::FELighting::LightingData::rightPixelValue):
+ (WebCore::FELighting::LightingData::downLeftPixelValue):
+ (WebCore::FELighting::LightingData::downPixelValue):
+ (WebCore::FELighting::LightingData::downRightPixelValue):
+ (WebCore::FELighting::setPixel):
+ (WebCore::FELighting::drawLighting):
+ (WebCore::FELighting::apply):
+ * svg/graphics/filters/SVGFELighting.h: Added.
+ (WebCore::FELighting::uniteChildEffectSubregions):
+ (WebCore::FELighting::):
+ * svg/graphics/filters/SVGFESpecularLighting.cpp:
+ (WebCore::FESpecularLighting::FESpecularLighting):
+ (WebCore::FESpecularLighting::create):
+ * svg/graphics/filters/SVGFESpecularLighting.h:
+ * svg/graphics/filters/SVGLightSource.cpp:
+ (WebCore::PointLightSource::initPaintingData):
+ (WebCore::PointLightSource::updatePaintingData):
+ (WebCore::SpotLightSource::initPaintingData):
+ (WebCore::SpotLightSource::updatePaintingData):
+ (WebCore::DistantLightSource::initPaintingData):
+ (WebCore::DistantLightSource::updatePaintingData):
+ * svg/graphics/filters/SVGLightSource.h:
+ (WebCore::):
+ (WebCore::LightSource::LightSource):
+ (WebCore::LightSource::~LightSource):
+ (WebCore::LightSource::type):
+ * svg/graphics/filters/SVGPointLightSource.h:
+ (WebCore::PointLightSource::create):
+ (WebCore::PointLightSource::position):
+ (WebCore::PointLightSource::PointLightSource):
+ * svg/graphics/filters/SVGSpotLightSource.h:
+ (WebCore::SpotLightSource::create):
+ (WebCore::SpotLightSource::position):
+ (WebCore::SpotLightSource::direction):
+ (WebCore::SpotLightSource::specularExponent):
+ (WebCore::SpotLightSource::limitingConeAngle):
+ (WebCore::SpotLightSource::SpotLightSource):
+
+2010-05-12 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Nikolas Zimmermann.
+
+ Add missing AM_V_GEN directives to generation rules so that they
+ remain silent when requested.
+
+ * GNUmakefile.am:
+
+2010-05-12 Lucas De Marchi <lucas.demarchi@profusion.mobi>
+
+ Reviewed by Jeremy Orlow.
+
+ [EFL] It does not make sense to use ScrollbarEfl::ScrollbarEfl, so
+ use ScrollbarEfl (GCC 4.5 seems to be pickier about this). Revision 59030
+ fixed cases for RenderThemeEfl, but missed this for ScrollbarEfl.
+ http://webkit.org/b/38904
+
+ No new tests required.
+
+ * platform/efl/ScrollbarEfl.cpp:
+ (scrollbarEflEdjeMessage):
+
+2010-05-12 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Kent Tamura.
+
+ [Chromium] Support HTML5 <progress> element on Windows.
+ https://bugs.webkit.org/show_bug.cgi?id=37308
+
+ Extended ChromiumBridge to handle progress bar painting,
+ and added delegations to it.
+
+ No new tests. Test cases should be shared with existing ones for
+ progress element. Expectaions will be added after PROGRESS_TAG is
+ enabled on Chromium tree.
+
+ * platform/chromium/ChromiumBridge.h:
+ * rendering/RenderProgress.cpp:
+ (WebCore::RenderProgress::animationProgress):
+ (WebCore::RenderProgress::isDeterminate):
+ * rendering/RenderProgress.h:
+ (WebCore::RenderProgress::position):
+ * rendering/RenderThemeChromiumWin.cpp:
+ (WebCore::RenderThemeChromiumWin::animationRepeatIntervalForProgressBar):
+ (WebCore::RenderThemeChromiumWin::animationDurationForProgressBar):
+ (WebCore::RenderThemeChromiumWin::adjustProgressBarStyle):
+ (WebCore::RenderThemeChromiumWin::paintProgressBar):
+ * rendering/RenderThemeChromiumWin.h:
+
+2010-05-12 Marcus Bulach <bulach@chromium.org>
+
+ Reviewed by Steve Block.
+
+ Removes Geolocation::setPosition and uses positionChanged() to capture lastPosition().
+ This brings CLIENT_BASED_GEOLOCATION more inline with the non-client based.
+ https://bugs.webkit.org/show_bug.cgi?id=38195
+
+ * page/Geolocation.cpp:
+ (WebCore::Geolocation::lastPosition):
+ (WebCore::Geolocation::requestPermission):
+ (WebCore::Geolocation::positionChangedInternal):
+ (WebCore::Geolocation::positionChanged):
+ (WebCore::Geolocation::geolocationServicePositionChanged):
+ * page/Geolocation.h:
+ * page/GeolocationController.cpp:
+ (WebCore::GeolocationController::positionChanged):
+ (WebCore::GeolocationController::lastPosition):
+ * page/GeolocationController.h:
+
+2010-05-12 Marcus Bulach <bulach@chromium.org>
+
+ Reviewed by Steve Block.
+
+ Attaches the geolocation bridge later on startUpdating().
+ This prevents a page requesting permission when it has just accessed navigator.geolocation (without calling navigator.geolocation.getCurrentPosition/watchPosition).
+ Note: when Geolocation::haveSuitableCachedPosition(), WebGeolocationServiceBridgeImpl::startUpdating() is not called,
+ so we attach the bridge if needed at requestGeolocationPermissionForFrame().
+ https://bugs.webkit.org/show_bug.cgi?id=38323
+ http://crbug.com/42789
+
+ * platform/chromium/GeolocationServiceChromium.h:
+
+2010-05-12 Robin Qiu <robin.qiu@torchmobile.com.cn>
+
+ Reviewed by Dirk Schulze.
+
+ Fix a bug in SVGPathSegList::getPathSegAtLength().
+ This bug is just a misktake: almost all of the code is OK, but the
+ parameter is not used at all, therefore, this function always returns
+ "1".
+ And make a modification to return the last path segment if the distance
+ exceeds the actual path length.
+ https://bugs.webkit.org/show_bug.cgi?id=37515
+
+ Test: svg/dom/svgpath-getPathSegAtLength.html
+
+ * svg/SVGPathSegList.cpp:
+ (WebCore::SVGPathSegList::getPathSegAtLength):
+
+2010-05-11 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38976, fast/css/pseudo-cache-stale.html has incorrect results.
+
+ Make sure to trigger a relayout of any objects whose first-line styles change dynamically.
+
+ * dom/Element.cpp:
+ (WebCore::Element::pseudoStyleCacheIsInvalid):
+
+2010-05-11 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Shorthand Properties Getting Deleted When Editing
+ https://bugs.webkit.org/show_bug.cgi?id=38958
+
+ * inspector/front-end/DOMAgent.js:
+ (WebInspector.CSSStyleDeclaration.prototype.styleTextWithShorthands): was getting regular values instead of shorthand values
+
+2010-05-11 Tony Chang <tony@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [chromium] Remove subframe scrollbar routing (r58937)
+ https://bugs.webkit.org/show_bug.cgi?id=38894
+
+ * page/chromium/EventHandlerChromium.cpp:
+ (WebCore::EventHandler::passMousePressEventToSubframe):
+
+2010-05-11 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Body not redrawn, and filled with garbage on some composited pages
+ https://bugs.webkit.org/show_bug.cgi?id=38951
+ <rdar://problem/7891548>
+
+ When the root layer becomes composited (for example, because a negative z-index
+ descendant in its stacking context becomes composited), then it has to be made
+ large enough to fill the viewport, because the page background draws into it.
+
+ Test: compositing/geometry/composited-html-size.html
+
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::calculateCompositedBounds):
+
+2010-05-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38961
+ Move some member variables around to reduce class sizes.
+
+ If a class inherits (directly or indirectly) from FastAllocBase, we don't want the first member variable
+ of that class to also inherit (directly or indirectly) from FastAllocBase as this will add padding to the class
+ and thus increasing its size.
+
+ * css/CSSParserValues.h:
+ * css/CSSSelector.h:
+ (WebCore::CSSSelector::CSSSelector):
+ (WebCore::CSSSelector::RareData::RareData):
+ * platform/graphics/FontCache.cpp:
+ (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
+
+2010-05-11 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Adding a function needed by the V8 code generator to turn on/off
+ the binding for WorkerContext::openDatabaseSync().
+ https://bugs.webkit.org/show_bug.cgi?id=38960
+
+ * bindings/generic/RuntimeEnabledFeatures.cpp:
+ (WebCore::RuntimeEnabledFeatures::openDatabaseSyncEnabled):
+ * bindings/generic/RuntimeEnabledFeatures.h:
+
+2010-05-11 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Dirk Schulze.
+
+ CSS SVG font doesn't recognize URL without element reference
+ https://bugs.webkit.org/show_bug.cgi?id=37144
+
+ CachedFont::getSVGFontById() did assume that element reference (ID) is given.
+ So fixed to handle an empty or missing element reference. In which case,
+ the first font element is returned if available.
+
+ Test: svg/custom/svg-fonts-with-no-element-reference.html
+
+ * loader/CachedFont.cpp:
+ (WebCore::CachedFont::getSVGFontById):
+
+2010-05-11 Jer Noble <jer.noble@apple.com>
+
+ No Review.
+
+ Fix the Windows Debug Build: the correct VCProj variable to use when linking against
+ JavaScriptCore is $(WebKitDLLConfigSuffix), not $(WebKitConfigSuffix), which expands
+ to an empty string rather than "_debug".
+
+ * WebCore.vcproj/QTMovieWin.vcproj:
+
+2010-05-11 Jer Noble <jer.noble@apple.com>
+
+ Darin Adler.
+
+ 19 media tests are crashing on Windows Release
+ https://bugs.webkit.org/show_bug.cgi?id=38950
+ rdar://problem/7971658
+
+ Link against JavaScriptCore.lib instead of WTF.lib, so the free and malloc used by
+ QTMovieWin is always the free and malloc in JavaScriptCore.dll.
+
+ * WebCore.vcproj/QTMovieWin.vcproj:
+
+2010-05-11 Darin Adler <darin@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ Another refactoring patch in preparation for a fix to
+ https://bugs.webkit.org/show_bug.cgi?id=38871
+ REGRESSION: Crash clicking background NPR tab after few minutes of sitting idle
+
+ * dom/Document.cpp:
+ (WebCore::Document::addMediaCanStartListener): Added.
+ (WebCore::Document::removeMediaCanStartListener): Added.
+
+ * dom/Document.h: Added add/removeMediaCanStartListener.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::~HTMLMediaElement): Call removeMediaCanStartListener
+ on the document instead of the page.
+ (WebCore::HTMLMediaElement::willMoveToNewOwnerDocument): Call
+ removeMediaCanStartListener on the current document.
+ (WebCore::HTMLMediaElement::didMoveToNewOwnerDocument): Call
+ addMediaCanStartListener on the new document.
+ (WebCore::HTMLMediaElement::loadInternal): Call addMediaCanStartListener
+ on the document instead of the page.
+
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::startOrAddToUnstartedList): Call addMediaCanStartListener
+ on the document instead of the page.
+ (WebCore::PluginView::~PluginView): Call removeMediaCanStartListener
+ on the document instead of the page, and do it in line instead of calling
+ a function.
+
+ * plugins/PluginView.h: Removed unused removeFromUnstartedListIfNecessary.
+
+2010-05-11 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Steve Falkenburg and Jon Honeycutt.
+ Patch by Gavin Barraclough.
+
+ REGRESSION (r57900-57919): 3% PLT Regression from moving strings into WTF.
+ https://bugs.webkit.org/show_bug.cgi?id=38930
+ <rdar://problem/7937188>
+
+ Add the WTF strings into the WebCore vcproj, from their copied location in $(WebKitOutputDir).
+
+ No new tests because no change in behavior.
+
+ * WebCore.vcproj/WebCore.vcproj:
+
+2010-05-11 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Small re-factoring patch in preparation for fixing https://
+ bugs.webkit.org/show_bug.cgi?id=38871 REGRESSION: Crash clicking
+ background NPR tab after few minutes of sitting idle
+
+ * page/Page.cpp:
+ (WebCore::Page::takeAnyMediaCanStartListener):
+ (WebCore::Page::setCanStartMedia):
+ * page/Page.h:
+
+2010-05-11 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Brady Eidson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37989
+ Safari (still) doesn't always send basic credentials preemptively
+
+ Test: http/tests/xmlhttprequest/basic-auth-default.html
+
+ After fetching credentials from WebCore storage, put them back right away. This will add
+ default credentials for the directory, since this may be the first time we learn about its
+ associated protection space.
+
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
+ (WebCore::WebCoreSynchronousLoader::didReceiveChallenge):
+ * platform/network/mac/ResourceHandleMac.mm:
+ (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
+ (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]):
+
+2010-05-11 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ [wx] Create an NSFont on Mac builds that do not have built-in methods to do so.
+ https://bugs.webkit.org/show_bug.cgi?id=38931
+
+ * platform/graphics/wx/FontPlatformData.h:
+ (WebCore::FontPlatformData::nsFont):
+ * platform/graphics/wx/FontPlatformDataWxMac.mm:
+ (DegToRad):
+ (OSXCreateNSFont):
+ (WebCore::FontPlatformData::cacheNSFont):
+ * platform/graphics/wx/SimpleFontDataWx.cpp:
+ (WebCore::SimpleFontData::platformWidthForGlyph):
+
+2010-05-11 Avi Drissman <avi@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [Chromium] Pipe RTL info into WebPopupMenuInfo
+ https://bugs.webkit.org/show_bug.cgi?id=38749
+
+ * platform/chromium/PopupMenuChromium.cpp:
+ (WebCore::PopupContainer::menuStyle):
+ * platform/chromium/PopupMenuChromium.h:
+
+2010-05-11 Mark Rowe <mrowe@apple.com>
+
+ Fix the world.
+
+ In r59162 a change was made to WebCore's FeatureDefines.xcconfig that enabled FILE_READER and FILE_WRITER.
+ The author and reviewer of that patch ignored the carefully-worded warning at the top of that file asking
+ that changes to the file be kept in sync across JavaScriptCore, WebCore and WebKit, as well as being kept
+ in sync with build-webkit. This led to WebCore and WebKit having different views of Document's vtable
+ and results in crashes in Safari shortly after launch when virtual function calls resulted in the wrong
+ function in WebCore being called.
+
+ We fix this by bringing the FeatureDefines.xcconfig files in to sync. Based on the ChangeLog message and
+ other changes in r59162 it appears that enabling FILE_WRITER was unintentional so that particular change
+ has been reverted.
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2010-05-11 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION(r58520): Implicit submission on forms with button type="submit" no longer works
+ https://bugs.webkit.org/show_bug.cgi?id=38913
+
+ * Widened the check for a successful submit button to include all HTMLFormControlElements.
+ * Clarified implicit submission code by:
+ - introducing HTMLFormControlElement::canTriggerImplicitSubmission flag,
+ - getting rid of static casting and checking for tag names.
+
+ * html/HTMLFormControlElement.h:
+ (WebCore::HTMLFormControlElement::canTriggerImplicitSubmission): Added.
+ * html/HTMLFormElement.cpp:
+ (WebCore::HTMLFormElement::submitImplicitly): Renamed parameters for clarity, refactored code
+ to use canTriggerImplicitSubmission.
+ * html/HTMLFormElement.h: Renamed parameter for clarity.
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::defaultEventHandler): Used canTriggerImplicitSubmission()
+ instead of isTextField() for clarity.
+ * html/HTMLInputElement.h:
+ (WebCore::HTMLInputElement::canTriggerImplicitSubmission): Added.
+ * html/HTMLIsIndexElement.h:
+ (WebCore::HTMLIsIndexElement::canTriggerImplicitSubmission): Added.
+
+2010-05-11 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r59171.
+ http://trac.webkit.org/changeset/59171
+ https://bugs.webkit.org/show_bug.cgi?id=38933
+
+ "Broke the world" (Requested by bweinstein on #webkit).
+
+ * WebCore.vcproj/WebCore.vcproj:
+
+2010-05-11 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Steve Falkenburg.
+ Patch by Gavin Barraclough.
+
+ REGRESSION (r57900-57919): 3% PLT Regression from moving strings into WTF.
+ https://bugs.webkit.org/show_bug.cgi?id=38930
+ <rdar://problem/7937188>
+
+ Add the WTF strings into the WebCore vcproj, from their copied location in $(WebKitOutputDir).
+
+ No new tests because no change in behavior.
+
+ * WebCore.vcproj/WebCore.vcproj:
+
+2010-05-11 Jian Li <jianli@chromium.org>
+
+ Unreviewed. Fix compiling erron on snow leopard.
+
+ * html/FileThreadTask.h:
+ (WebCore::createFileThreadTask):
+
+2010-05-11 Jian Li <jianli@chromium.org>
+
+ Reviewed by Dmitry Titov.
+
+ Expose FileReader interface.
+ https://bugs.webkit.org/show_bug.cgi?id=38609
+
+ Test: fast/files/file-reader.html
+
+ * Configurations/FeatureDefines.xcconfig:
+ * DerivedSources.cpp:
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pri:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSEventTarget.cpp:
+ (WebCore::toJS):
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
+ * html/FileError.idl:
+ * html/FileReader.idl: Added.
+ * page/DOMWindow.idl:
+
+2010-05-11 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ [gtk] critical warning in soup_message_set_first_party() when cancelling a navigation
+ https://bugs.webkit.org/show_bug.cgi?id=38653
+
+ Check if willSendRequest cancelled the request before setting the
+ first party for the cookies in the message, otherwise we'll get a
+ critical warning.
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::restartedCallback):
+
+2010-05-11 Jer Noble <jer.noble@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ REGRESSION (r59001): 11 media tests are failing on Windows (38847)
+ rdar://problem/7962997
+ https://bugs.webkit.org/show_bug.cgi?id=38847
+
+ QTMovieWin was too much refactored; the cacheMovieScale() function should have
+ been left in QTMovie (instead of being moved into QTMovieGWorld). This fixes the
+ video-size-intrinsic-scale test.
+
+ QTMovieTask::updateTaskTimer() was ignoring the maxInterval parameter unless
+ QTGetTimeUntilNextTask() returned an error, which caused the next timer to be
+ scheduled for extremely far in the future, breaking some of the layout tests.
+
+ QTMovieTask::fireTaskClients() now makes a local copy of the task list before
+ calling clients, in case one of them removes themselves from the task list and
+ invalidates our iterating pointer.
+
+ * platform/graphics/win/QTMovie.cpp:
+ (QTMoviePrivate::task):
+ (QTMoviePrivate::createMovieController):
+ (QTMoviePrivate::cacheMovieScale):
+ * platform/graphics/win/QTMovieGWorld.cpp:
+ (QTMovieGWorldPrivate::movieLoadStateChanged):
+ * platform/graphics/win/QTMovieTask.cpp:
+ (QTMovieTask::updateTaskTimer):
+ (QTMovieTask::fireTaskClients):
+
+2010-05-11 Patrick Gansterer <paroga@paroga.com>
+
+ Reviewed by Adam Roben.
+
+ Port SharedBuffer to WinCE.
+ https://bugs.webkit.org/show_bug.cgi?id=37222
+
+ Use only functions which are available on Win32 and WinCE.
+
+ * platform/win/SharedBufferWin.cpp:
+ (WebCore::SharedBuffer::createWithContentsOfFile):
+
+2010-05-11 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] fast/text/find-hidden-text.html
+ https://bugs.webkit.org/show_bug.cgi?id=32922
+
+ Use the real page step for populating the QStyleOption otherwhise
+ the size can be negative, which can break the QStyle used.
+
+ * platform/qt/ScrollbarThemeQt.cpp:
+ (WebCore::styleOptionSlider):
+
+2010-05-11 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: make styles rendering more user-friendly.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36747
+
+ * inspector/front-end/ElementsPanel.js:
+ (WebInspector.ElementsPanel):
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylesSidebarPane.prototype._update):
+ (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
+ (WebInspector.ComputedStyleSidebarPane):
+ (WebInspector.StylePropertiesSection):
+ (WebInspector.StylePropertiesSection.prototype.collapse):
+ (WebInspector.StylePropertiesSection.prototype.startEditingSelector):
+ * inspector/front-end/inspector.css:
+ (#elements-content):
+ (#elements-sidebar):
+ (.styles-sidebar-separator):
+ (.styles-section):
+ (.styles-section .header):
+ (.styles-section .header .title):
+ (.styles-section .header .subtitle):
+ (.styles-section .header .subtitle a):
+ (.styles-section .properties):
+ (.styles-section.no-affect .properties li):
+ (.styles-section.no-affect .properties li.editing):
+ (.styles-section.expanded .properties):
+ (.styles-section .properties li):
+ (.styles-section .properties li.parent):
+ (.styles-section .properties ol):
+ (.styles-section .properties ol.expanded):
+ (.styles-section .properties li.parent::before):
+ (.styles-section .properties li.parent.expanded::before):
+ (.styles-section .properties li .info):
+ (.styles-section:hover .properties .enabled-button):
+ (.styles-section .properties li.disabled .enabled-button):
+ (.styles-section .properties .enabled-button):
+ (.styles-section .properties .overloaded, .styles-section .properties .disabled):
+ (.styles-section.computed-style .properties .disabled):
+ (.styles-section .properties .implicit, .styles-section .properties .inherited):
+ (.styles-section .properties .inherited):
+ (.styles-section.show-inherited .properties .inherited):
+
+2010-05-11 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Reviewed by Dirk Schulze.
+
+ Move buildLayoutInformationForTextBox() from SVGRootInlineBox in SVGInlineTextBox where it belongs
+ https://bugs.webkit.org/show_bug.cgi?id=38799
+
+ Cleanup SVGRootInlineBox/SVGInlineTextBox. Move buildLayoutInformationForTextBox to SVGInlineTextBox.
+ Move lots of helper methods into new SVGTextLayoutUtilities class. Adapted all callsites.
+
+ Fixed bug in kerning handling, hkern was applyable to vertical text as well. Covered by two new tests.
+
+ Tests: svg/text/text-hkern-on-vertical-text.svg
+ svg/text/text-vkern-on-horizontal-text.svg
+
+ * Android.mk: Add SVGTextLayoutUtilities.cpp/h to build.
+ * GNUmakefile.am: Ditto.
+ * WebCore.gypi: Ditto.
+ * WebCore.pro: Ditto.
+ * WebCore.vcproj/WebCore.vcproj: Ditto.
+ * WebCore.xcodeproj/project.pbxproj: Ditto.
+ * rendering/SVGInlineTextBox.cpp:
+ (WebCore::SVGInlineTextBox::calculateGlyphWidth): Use textRenderer()->characters() instead of textRenderer()->text()->characters() as shortcut.
+ (WebCore::SVGInlineTextBox::svgCharacterHitsPosition): Fix style issue, no else if after a return branch.
+ (WebCore::SVGInlineTextBox::paintSelection): Use !color.alpha() instead of color.alpha() == 0.
+ (WebCore::SVGInlineTextBox::buildLayoutInformation): Moved from SVGRootInlineBox::buildLayoutInformationForTextBox.
+ * rendering/SVGInlineTextBox.h: Fix indention.
+ (WebCore::SVGInlineTextBox::selectionTop): Inlined.
+ (WebCore::SVGInlineTextBox::selectionHeight): Inlined.
+ * rendering/SVGRenderTreeAsText.cpp: Include SVGTextLayoutUtilities.h
+ * rendering/SVGRootInlineBox.cpp: Move almost all static text layout helper functions in SVGTextLayoutUtilities
+ (WebCore::calculateTextLengthCorrectionForTextChunk): Fixed style issue in long if conditions spanning multiple lines.
+ (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation): Use different topLeftPositionOfCharacterRange() taking start/end iterators.
+ (WebCore::SVGRootInlineBox::buildLayoutInformation): Use the moved SVGInlineTextBox::buildLayoutInformation() method.
+ (WebCore::SVGRootInlineBox::buildTextChunks): Fixed small style issue, remove unneeded parenthesis.
+ (WebCore::SVGRootInlineBox::layoutTextChunks): Fix style issue in debugging code.
+ * rendering/SVGRootInlineBox.h: Rename 'LastGlyphInfo' to 'SVGLastGlyphInfo' and move to SVGTextLayoutUtilities.
+ (WebCore::SVGRootInlineBox::svgTextChunks): Inlined for speed.
+ * rendering/SVGTextLayoutUtilities.cpp: Added.
+ (WebCore::isVerticalWritingMode):
+ (WebCore::dominantBaselineToShift):
+ (WebCore::alignmentBaselineToShift):
+ (WebCore::glyphOrientationToAngle):
+ (WebCore::glyphOrientationIsMultiplyOf180Degrees):
+ (WebCore::applyGlyphAdvanceAndShiftRespectingOrientation):
+ (WebCore::topLeftPositionOfCharacterRange):
+ (WebCore::cummulatedWidthOfInlineBoxCharacterRange):
+ (WebCore::cummulatedHeightOfInlineBoxCharacterRange):
+ (WebCore::svgTextRunForInlineTextBox):
+ (WebCore::calculateCSSKerning):
+ (WebCore::applySVGKerning):
+ * rendering/SVGTextLayoutUtilities.h: Added.
+ (WebCore::):
+ (WebCore::SVGTextPaintInfo::SVGTextPaintInfo):
+ (WebCore::SVGLastGlyphInfo::SVGLastGlyphInfo):
+
+2010-05-11 Zoltan Herczeg <zherczeg@webkit.org>
+
+ Reviewed by Dirk Schulze.
+
+ RenderSVGImage::imageChanged should invalidate the SVG filter cache
+ https://bugs.webkit.org/show_bug.cgi?id=38838
+
+ Test: svg/filters/filteredImage.svg
+
+ * rendering/RenderSVGImage.cpp:
+ (WebCore::RenderSVGImage::imageChanged):
+
+2010-05-10 Simon Fraser <simon.fraser@apple.com>
+
+ Fix asserting GTK build.
+
+ r59137 changed the behavior of RenderObject::repaintUsingContainer(). I mistakenly
+ thought that non-compositing builds would always pass a 0 repaintContainer, but
+ actually the RenderView is passed in this case. So use this to repaint if
+ ACCELERATED_COMPOSITING is turned off.
+
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::repaintUsingContainer):
+
+2010-05-10 Simon Fraser <simon.fraser@apple.com>
+
+ Fix warning on Windows about unreachable code.
+
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame):
+
+2010-05-10 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Anders Carlsson
+
+ Allow compositing layers to be connected across iframe boundaries on Mac
+ https://bugs.webkit.org/show_bug.cgi?id=38856
+
+ RenderObject::repaintUsingContainer() incorrectly did a view-based
+ repaint if the repaint container was the RenderView. Instead, we need
+ to check to see if the RenderView's layer is composited, and, if so,
+ whether it's painting into the window or not. This can occur when iframes
+ are composited.
+
+ The bug is timing-sensitive, involving compositing in iframes, and I was not able to
+ concoct a good testcase.
+
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::repaintUsingContainer):
+
+2010-05-10 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Anders Carlsson
+
+ Allow compositing layers to be connected across iframe boundaries on Mac
+ https://bugs.webkit.org/show_bug.cgi?id=38856
+
+ Changes to allow compositing layers for iframes to switch between being hosted
+ by the iframe's layer-backed NSView, and parented in the GraphicsLayer tree of the
+ enclosing document.
+
+ Tests: compositing/iframes/connect-compositing-iframe.html
+ compositing/iframes/connect-compositing-iframe2.html
+ compositing/iframes/connect-compositing-iframe3.html
+
+ * page/FrameView.h:
+ * page/FrameView.cpp:
+ (WebCore::FrameView::hasCompositedContent): New convenience method.
+ (WebCore::FrameView::setIsOverlapped): If we're composited, poke the owner document in case it
+ wants to re-evaluate compositing decisions.
+ (WebCore::FrameView::isOverlapped): Just expose the existing flag.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::shouldBeNormalFlowOnly):
+ (WebCore::RenderLayer::isSelfPaintingLayer):
+
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): If this is an iframe, we need
+ to ensure that the layers for the iframe content are hooked up.
+ (WebCore::RenderLayerBacking::updateDrawsContent): When an iframe toggles between different
+ attachments, the 'drawsContent' behavior of its root layer changes, so needs to be updated.
+
+ * rendering/RenderLayerCompositor.h:
+ (WebCore::RenderLayerCompositor::updateCompositingLayers): Call destroyRootPlatformLayer()
+ instead of detachRootPlatformLayer() and manually zeroing out the OwnPtrs.
+ (WebCore::RenderLayerCompositor::updateBacking): If a RenderIFrame changes compositing mode,
+ we need to ensure that its content compositor attachment is updated.
+ (WebCore::RenderLayerCompositor::repaintOnCompositingChange): The existing code had a bug
+ that caused repaints for RenderViews (which have no parent) to bail. We only want to bail
+ for non-RenderViews that are not attached.
+ (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Factored the iframe-connecting
+ code into a new method, parentIFrameContentLayers().
+ (WebCore::RenderLayerCompositor::parentIFrameContentLayers): New method to share the code that hooks
+ up the iframe's compositing layers to the parent.
+ (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame): Add logic to propagate
+ compositing out of iframes on Mac in two situations: 1) when the FrameView is overlapped, and 2)
+ if the parent document is already composited.
+ (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Clean up the logic here to better deal
+ with dynamic changes of the attachment type.
+ (WebCore::RenderLayerCompositor::destroyRootPlatformLayer): Clean up and null out the clipping layer here.
+ (WebCore::RenderLayerCompositor::attachRootPlatformLayer): Call rootLayerAttachmentChanged().
+ (WebCore::RenderLayerCompositor::detachRootPlatformLayer): Ditto. Also unparent the clipping and platform layers.
+ (WebCore::RenderLayerCompositor::updateRootLayerAttachment): Call ensureRootPlatformLayer() to re-evaluate
+ the layer attachment.
+ (WebCore::RenderLayerCompositor::rootLayerAttachmentChanged): We need to update the drawsContent() status
+ of the RenderView's layer's backing, because it changes depending on the attachment.
+
+ * rendering/RenderWidget.cpp:
+ (WebCore::RenderWidget::paint): Do overlap testing if the frameView can do fast repaints (as before),
+ but also now when the frameView has composited content.
+
+2010-05-10 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Anders Carlsson
+
+ Allow compositing layers to be connected across iframe boundaries on Mac
+ https://bugs.webkit.org/show_bug.cgi?id=38856
+
+ Rename the static shouldPropagateCompositingToIFrameParent() to shouldPropagateCompositingToEnclosingIFrame(),
+ to pave the way for runtime switches in the propagation behavior. We have to make sure we call it on
+ the correct RenderLayerCompositor (that belonging to the iframe's content document).
+
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::paintingGoesToWindow): Now that we know the root layer attachment, we
+ can simplify this method.
+
+ * rendering/RenderLayerCompositor.h:
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::enableCompositingMode): No need for the setNeedsStyleRecalc()
+ here, because the ensureRootPlatformLayer() or destroyRootPlatformLayer() will have already done it.
+
+ (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Use the root layer attachment to determine
+ whether to parent the iframe's layers.
+
+ (WebCore::RenderLayerCompositor::didMoveOnscreen): Method name change.
+ (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame): Name change.
+ (WebCore::RenderLayerCompositor::requiresCompositingForIFrame): We need to consult the iframe contents
+ document's compositor to ask whether propagation is appropriate.
+ (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Name change.
+
+2010-05-10 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Anders Carlsson
+
+ Allow compositing layers to be connected across iframe boundaries on Mac
+ https://bugs.webkit.org/show_bug.cgi?id=38856
+
+ Use an enum for the type of root layer attachment on a RenderLayerCompositor, so we can
+ determine if the attachment is via the ChromeClient, via an enclosing iframe, or unattached.
+
+ * rendering/RenderLayerCompositor.h: New RootLayerAttachment enum.
+ (WebCore::RenderLayerCompositor::rootLayerAttachment): getter for the current attachment.
+
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::RenderLayerCompositor): Init m_rootLayerAttachment.
+ (WebCore::RenderLayerCompositor::~RenderLayerCompositor): Assert that is unattached.
+ (WebCore::RenderLayerCompositor::updateCompositingLayers): Call destroyRootPlatformLayer instead of willMoveOffscreen,
+ when there are no layers left. Also clear out the clipping layer.
+ (WebCore::RenderLayerCompositor::didMoveOnscreen): Call attachRootPlatformLayer.
+ (WebCore::RenderLayerCompositor::willMoveOffscreen): Call ensureRootPlatformLayer with the appropriate attachment.
+ (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Only create the m_rootPlatformLayer if we don't have one
+ already, but be sure to always set the root layer geometry orientation. Also only create the
+ m_clippingLayer if we need to.
+ (WebCore::RenderLayerCompositor::destroyRootPlatformLayer): Call detachRootPlatformLayer().
+ (WebCore::RenderLayerCompositor::attachRootPlatformLayer): Code moved from didMoveOnscreen, but switching on
+ attachment.
+ (WebCore::RenderLayerCompositor::detachRootPlatformLayer): Code moved from willMoveOffscreen, but switching on
+ attachment.
+
+2010-05-10 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Anders Carlsson
+
+ Allow compositing layers to be connected across iframe boundaries on Mac
+ https://bugs.webkit.org/show_bug.cgi?id=38856
+
+ Clean up the geometry logic when propagating compositing out of iframes.
+
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::updateRootLayerPosition): Geometry on m_rootPlatformLayer no longer
+ needs to be special when there's a clipping layer.
+
+ (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Don't set the clipping layer to have
+ flipped geometry ever, and only set the root layer to have flipped geometry if it is not
+ being hosted in an iframe. Also no need to set a custom anchor point on the clipping layer.
+
+2010-05-10 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Anders Carlsson
+
+ Allow compositing layers to be connected across iframe boundaries on Mac
+ https://bugs.webkit.org/show_bug.cgi?id=38856
+
+ Clean up some methods related to composited iframes. No behavioral changes.
+
+ * rendering/RenderLayerBacking.h: Move innerRenderLayerCompositor() to be a static method:
+ RenderLayerCompositor::iframeContentsCompositor().
+ * rendering/RenderLayerBacking.cpp: Remove innerRenderLayerCompositor().
+ (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Call iframeContentsCompositor().
+
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::enableCompositingMode): Call enclosingIFrameElement()
+ (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): iframeContentsCompositor() is now a static method in this class.
+ Also check that the iframe contents are in compositing mode (slightly clearer than relying on rootPlatformLayer() returning
+ null).
+ (WebCore::RenderLayerCompositor::iframeContentsCompositor): Moved from RenderLayerBacking.
+ (WebCore::RenderLayerCompositor::didMoveOnscreen): Use enclosingIFrameElement() method.
+ (WebCore::RenderLayerCompositor::willMoveOffscreen): Ditto.
+ (WebCore::RenderLayerCompositor::enclosingIFrameElement): New method.
+ (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Call enclosingIFrameElement().
+ * rendering/RenderLayerCompositor.h: New method, iframeContentsCompositor().
+
+2010-05-10 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Brady Eidson.
+
+ Cleaning up and fixing the existing JSC DB bindings.
+ https://bugs.webkit.org/show_bug.cgi?id=34994
+
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::openDatabase):
+ * bindings/js/JSDatabaseCustom.cpp:
+ (WebCore::JSDatabase::changeVersion):
+ (WebCore::createTransaction):
+ (WebCore::JSDatabase::transaction):
+ (WebCore::JSDatabase::readTransaction):
+ * bindings/js/JSSQLTransactionCustom.cpp:
+ (WebCore::JSSQLTransaction::executeSql):
+
+2010-05-10 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ WebSocket needs to suspend/resume as Active DOM object.
+ https://bugs.webkit.org/show_bug.cgi?id=38171
+
+ Implement suspend()/resume() in WebSocket and WebSocketChannel.
+ While WebSocketChannel is suspended, it only adds received data in m_buffer
+ or record the handle was closed, and report no event to WebSocket.
+ When resumed, it will process buffer or handle closing.
+ Since suspend/resume would be called while processing JavaScript event handler (e.g. before/after alert()), WebSocketChannel method that would fire an event need to be reentrant.
+ So, WebSocketChannel::processBuffer() call WebSocket to fire an event at most once and skips buffer before the calling,
+ so that next call of processBuffer() would process the next frame.
+
+ * websockets/ThreadableWebSocketChannel.h:
+ * websockets/ThreadableWebSocketChannelClientWrapper.h:
+ (WebCore::ThreadableWebSocketChannelClientWrapper::didConnect):
+ Mark channel is opened, and process pending events if not suspended.
+ (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage):
+ Push message back in pending queue, and process pending events if not suspended.
+ (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
+ Mark channel is closed, and process pending events if not suspended.
+ (WebCore::ThreadableWebSocketChannelClientWrapper::suspend):
+ Mark suspended.
+ (WebCore::ThreadableWebSocketChannelClientWrapper::resume):
+ Unmark suspended, and process pending events.
+ (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
+ (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingEvents):
+ * websockets/WebSocket.cpp:
+ (WebCore::WebSocket::canSuspend):
+ (WebCore::WebSocket::suspend):
+ (WebCore::WebSocket::resume):
+ (WebCore::WebSocket::didClose):
+ * websockets/WebSocket.h:
+ * websockets/WebSocketChannel.cpp:
+ (WebCore::WebSocketChannel::WebSocketChannel):
+ (WebCore::WebSocketChannel::connect):
+ (WebCore::WebSocketChannel::send):
+ (WebCore::WebSocketChannel::bufferedAmount):
+ (WebCore::WebSocketChannel::close):
+ (WebCore::WebSocketChannel::suspend):
+ (WebCore::WebSocketChannel::resume):
+ When resumed, it will process buffer and
+ handle closing if handle was already closed while suspended.
+ (WebCore::WebSocketChannel::didClose):
+ If suspended, record unhandled bufferedAmount and set m_closed true, so that closing will be processed when resumed.
+ (WebCore::WebSocketChannel::didReceiveData):
+ Add received data in buffer and process buffer while it is not suspended.
+ (WebCore::WebSocketChannel::processBuffer):
+ Process handshake header or one frame message.
+ Return true if there are more data to be processed.
+ Return false otherwise (e.g. incomplete handshake header or incomplete frame).
+ * websockets/WebSocketChannel.h:
+ * websockets/WorkerThreadableWebSocketChannel.cpp:
+ (WebCore::WorkerThreadableWebSocketChannel::suspend):
+ (WebCore::WorkerThreadableWebSocketChannel::resume):
+ (WebCore::WorkerThreadableWebSocketChannel::Peer::suspend):
+ (WebCore::WorkerThreadableWebSocketChannel::Peer::resume):
+ (WebCore::WorkerThreadableWebSocketChannel::mainThreadSuspend):
+ (WebCore::WorkerThreadableWebSocketChannel::Bridge::suspend):
+ (WebCore::WorkerThreadableWebSocketChannel::mainThreadResume):
+ (WebCore::WorkerThreadableWebSocketChannel::Bridge::resume):
+ * websockets/WorkerThreadableWebSocketChannel.h:
+
+2010-05-07 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Brady Eidson.
+
+ Implement the JSC bindings for the sync DB API.
+ https://bugs.webkit.org/show_bug.cgi?id=34994
+
+ * bindings/js/JSDatabaseSyncCustom.cpp:
+ (WebCore::JSDatabaseSync::changeVersion):
+ (WebCore::createTransaction):
+ * bindings/js/JSSQLTransactionSyncCustom.cpp:
+ (WebCore::JSSQLTransactionSync::executeSql):
+
+2010-05-10 Dean Jackson <dino@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36566
+ The animation-fill-mode property was missing from
+ a few places where the animation shorthand is set up.
+
+ Test: animations/animation-shorthand-removed.html
+
+ * css/CSSMutableStyleDeclaration.cpp:
+ (WebCore::CSSMutableStyleDeclaration::getPropertyValue): Make sure
+ animation-fill-mode is included in the animation shorthand
+ * css/CSSPropertyLonghand.cpp:
+ (WebCore::initShorthandMap):
+
+2010-05-10 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=38583
+ <rdar://problem/7948784> Crash in Element::normalizeAttributes.
+
+ Test: fast/dom/Element/normalize-crash.html
+
+ * dom/Element.cpp:
+ (WebCore::Element::normalizeAttributes): Copy attributes to a vector
+ before iterating.
+ * dom/NamedAttrMap.cpp:
+ (WebCore::NamedNodeMap::copyAttributesToVector): Added.
+ * dom/NamedAttrMap.h:
+
+2010-05-10 Jian Li <jianli@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ [V8] Fix V8 code generator script to generate the correct code for
+ converting ScriptString.
+ https://bugs.webkit.org/show_bug.cgi?id=38873
+
+ Updated the bindings test result. Note that the result is also updated
+ to reflect other script generator changes not introduced by this patch.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/scripts/test/JS/JSTestCallback.cpp:
+ (WebCore::JSTestCallback::JSTestCallback):
+ (WebCore::JSTestCallback::~JSTestCallback):
+ * bindings/scripts/test/JS/JSTestCallback.h:
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::TestObjInternal::scriptStringAttrAttrGetter):
+
+2010-05-10 Mark Rowe <mrowe@apple.com>
+
+ Fix the 32-bit WebKit2 build.
+
+ * WebCore.base.exp:
+
+2010-05-07 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Crash closing window containing Flash plug-in
+ https://bugs.webkit.org/show_bug.cgi?id=38797
+ <rdar://problem/7935266>
+
+ Reviewed by Eric Seidel.
+
+ Test: plugins/geturlnotify-during-document-teardown.html
+
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::load):
+ Null check the DocumentLoader; it's possible for this to be null while
+ the Document is being torn down and before the plug-in is destroyed.
+
+2010-05-10 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Based on a patch by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=28697
+ <rdar://problem/7946578> WebKit crash on WebCore::Node::nodeIndex()
+
+ It's not OK to call ContainerNode::willRemoveChild() in a loop, because Range code assumes
+ that it can adjust start and end position to any node except for the one being removed -
+ so these notifications cannot be batched.
+
+ Test: fast/dom/Range/remove-all-children-crash.html
+
+ * dom/ContainerNode.cpp:
+ (WebCore::willRemoveChild): Removed unused ExceptionCode.
+ (WebCore::willRemoveChildren): New function, used in removeChildren() case.
+ (WebCore::ContainerNode::removeChild): ExceptionCode return was always 0, don't bother with it.
+ (WebCore::ContainerNode::removeChildren): Call willRemoveChildrenFromNode.
+ (WebCore::dispatchChildRemovalEvents): Moved some logic out into willRemoveChildrenFromNode
+ and willRemoveChild.
+
+ * dom/Document.cpp:
+ (WebCore::Document::nodeChildrenWillBeRemoved): New function, used in removeChildren() case.
+
+ * dom/Document.h:
+ (WebCore::Document::nodeChildrenWillBeRemoved): New function, used in removeChildren() case.
+
+ * dom/Range.h:
+ * dom/Range.cpp:
+ (WebCore::boundaryNodeChildrenWillBeRemoved): New function, used in removeChildren() case.
+ (WebCore::Range::nodeChildrenWillBeRemoved): Ditto.
+
+2010-05-10 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Implement the V8 bindings for the sync DB API.
+ https://bugs.webkit.org.show_bug.cgi?id=34994
+
+ * bindings/v8/custom/V8DatabaseSyncCustom.cpp:
+ (WebCore::V8DatabaseSync::changeVersionCallback):
+ (WebCore::createTransaction):
+ * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
+ (WebCore::V8SQLTransactionSync::executeSqlCallback):
+ * bindings/v8/custom/V8WorkerContextCustom.cpp:
+ (WebCore::V8WorkerContextCustom::openDatabaseSyncCallback):
+
+2010-05-10 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Clean up and fix the existing V8 DB bindings.
+ https://bugs.webkit.org/show_bug.cgi?id=34994
+
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::V8DOMWindow::openDatabaseCallback):
+ * bindings/v8/custom/V8DatabaseCustom.cpp:
+ (WebCore::V8Database::changeVersionCallback):
+ (WebCore::createTransaction):
+ * bindings/v8/custom/V8SQLTransactionCustom.cpp:
+ (WebCore::V8SQLTransaction::executeSqlCallback):
+
+2010-05-10 Kevin Ollivier <kevino@theolliviers.com>
+
+ [wx] Build fix for wx 2.8 after complex text changes.
+
+ * platform/graphics/wx/FontPlatformDataWxMac.mm:
+ (WebCore::FontPlatformData::nsFont):
+ * platform/graphics/wx/SimpleFontDataWx.cpp:
+ (WebCore::SimpleFontData::platformWidthForGlyph):
+
+2010-05-10 John Gregg <johnnyg@google.com>
+
+ [chromium] Try to fix the chromium build after r59085 by
+ including MathExtras.h before using isnan().
+ https://bugs.webkit.org/show_bug.cgi?id=38860
+
+ * html/canvas/WebGLIntegralTypedArrayBase.h:
+
+2010-05-10 Kevin Ollivier <kevino@theolliviers.com>
+
+ [wx] Build fix for wx trunk after complex text changes.
+
+ * platform/graphics/wx/FontPlatformDataWx.cpp:
+ (WebCore::FontPlatformData::FontPlatformData):
+
+2010-05-10 Tony Gentilcore <tonyg@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Provide mechanism to cache metadata for a resource
+ https://bugs.webkit.org/show_bug.cgi?id=37874
+
+ No new tests because no new functionality.
+
+ * WebCore.gypi:
+ * loader/CachedMetadata.h: Added.
+ (WebCore::CachedMetadata::create):
+ (WebCore::CachedMetadata::deserialize):
+ (WebCore::CachedMetadata::serialize):
+ (WebCore::CachedMetadata::~CachedMetadata):
+ (WebCore::CachedMetadata::dataTypeID):
+ (WebCore::CachedMetadata::data):
+ (WebCore::CachedMetadata::size):
+ (WebCore::CachedMetadata::readUnsigned):
+ (WebCore::CachedMetadata::appendUnsigned):
+ (WebCore::CachedMetadata::CachedMetadata):
+ * loader/CachedResource.cpp:
+ (WebCore::CachedResource::setSerializedCachedMetadata):
+ (WebCore::CachedResource::setCachedMetadata):
+ (WebCore::CachedResource::cachedMetadata):
+ * loader/CachedResource.h:
+ * loader/ResourceLoader.h:
+ (WebCore::ResourceLoader::didReceiveCachedMetadata):
+ * loader/SubresourceLoader.cpp:
+ (WebCore::SubresourceLoader::didReceiveCachedMetadata):
+ * loader/SubresourceLoader.h:
+ * loader/SubresourceLoaderClient.h:
+ (WebCore::SubresourceLoaderClient::didReceiveCachedMetadata):
+ * loader/loader.cpp:
+ (WebCore::Loader::Host::didReceiveCachedMetadata):
+ * loader/loader.h:
+ * platform/network/ResourceHandle.cpp:
+ (WebCore::ResourceHandle::cacheMetadata):
+ * platform/network/ResourceHandle.h:
+ * platform/network/ResourceHandleClient.h:
+ (WebCore::ResourceHandleClient::didReceiveCachedMetadata):
+
+2010-05-09 Kenneth Russell <kbr@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Refactor WebGLArray types to share more code
+ https://bugs.webkit.org/show_bug.cgi?id=37712
+
+ Refactored WebGLArray types for maximal code sharing. Added
+ WebGLTypedArrayBase and WebGLIntegralTypedArrayBase template
+ superclasses. Changed overridden virtuals to have minimal
+ visibility (private instead of public). Fixed const correctness of
+ a few methods. There are no changes to the public APIs of the
+ WebGLArray classes; the JavaScript bindings are unchanged.
+
+ No new tests; existing tests cover this functionality. Ran all
+ WebGL layout tests in Safari and Chromium on Mac OS X.
+
+ * WebCore.gypi:
+ * WebCore.xcodeproj/project.pbxproj:
+ * html/canvas/WebGLArray.h:
+ (WebCore::WebGLArray::buffer):
+ (WebCore::WebGLArray::baseAddress):
+ (WebCore::WebGLArray::byteOffset):
+ * html/canvas/WebGLByteArray.cpp:
+ (WebCore::WebGLByteArray::create):
+ (WebCore::WebGLByteArray::WebGLByteArray):
+ (WebCore::WebGLByteArray::slice):
+ * html/canvas/WebGLByteArray.h:
+ (WebCore::WebGLByteArray::isByteArray):
+ * html/canvas/WebGLFloatArray.cpp:
+ (WebCore::WebGLFloatArray::create):
+ (WebCore::WebGLFloatArray::WebGLFloatArray):
+ (WebCore::WebGLFloatArray::slice):
+ * html/canvas/WebGLFloatArray.h:
+ (WebCore::WebGLFloatArray::set):
+ (WebCore::WebGLFloatArray::item):
+ (WebCore::WebGLFloatArray::isFloatArray):
+ * html/canvas/WebGLIntArray.cpp:
+ (WebCore::WebGLIntArray::create):
+ (WebCore::WebGLIntArray::WebGLIntArray):
+ (WebCore::WebGLIntArray::slice):
+ * html/canvas/WebGLIntArray.h:
+ (WebCore::WebGLIntArray::isIntArray):
+ * html/canvas/WebGLIntegralTypedArrayBase.h: Added.
+ (WebCore::WebGLIntegralTypedArrayBase::set):
+ (WebCore::WebGLIntegralTypedArrayBase::item):
+ (WebCore::WebGLIntegralTypedArrayBase::WebGLIntegralTypedArrayBase):
+ * html/canvas/WebGLShortArray.cpp:
+ (WebCore::WebGLShortArray::create):
+ (WebCore::WebGLShortArray::WebGLShortArray):
+ (WebCore::WebGLShortArray::slice):
+ * html/canvas/WebGLShortArray.h:
+ (WebCore::WebGLShortArray::isShortArray):
+ * html/canvas/WebGLTypedArrayBase.h: Added.
+ (WebCore::WebGLTypedArrayBase::data):
+ (WebCore::WebGLTypedArrayBase::set):
+ (WebCore::WebGLTypedArrayBase::length):
+ (WebCore::WebGLTypedArrayBase::WebGLTypedArrayBase):
+ (WebCore::WebGLTypedArrayBase::create):
+ (WebCore::WebGLTypedArrayBase::sliceImpl):
+ (WebCore::WebGLTypedArrayBase::byteLength):
+ * html/canvas/WebGLUnsignedByteArray.cpp:
+ (WebCore::WebGLUnsignedByteArray::create):
+ (WebCore::WebGLUnsignedByteArray::WebGLUnsignedByteArray):
+ (WebCore::WebGLUnsignedByteArray::slice):
+ * html/canvas/WebGLUnsignedByteArray.h:
+ (WebCore::WebGLUnsignedByteArray::isUnsignedByteArray):
+ * html/canvas/WebGLUnsignedIntArray.cpp:
+ (WebCore::WebGLUnsignedIntArray::create):
+ (WebCore::WebGLUnsignedIntArray::WebGLUnsignedIntArray):
+ (WebCore::WebGLUnsignedIntArray::slice):
+ * html/canvas/WebGLUnsignedIntArray.h:
+ (WebCore::WebGLUnsignedIntArray::isUnsignedIntArray):
+ * html/canvas/WebGLUnsignedShortArray.cpp:
+ (WebCore::WebGLUnsignedShortArray::create):
+ (WebCore::WebGLUnsignedShortArray::WebGLUnsignedShortArray):
+ (WebCore::WebGLUnsignedShortArray::slice):
+ * html/canvas/WebGLUnsignedShortArray.h:
+ (WebCore::WebGLUnsignedShortArray::isUnsignedShortArray):
+
+2010-05-10 Kenneth Russell <kbr@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Refactor WebGLArray types to share more code
+ https://bugs.webkit.org/show_bug.cgi?id=37712
+
+ Refactored WebGLArray types for maximal code sharing. Added
+ WebGLTypedArrayBase and WebGLIntegralTypedArrayBase template
+ superclasses. Changed overridden virtuals to have minimal
+ visibility (private instead of public). Fixed const correctness of
+ a few methods. There are no changes to the public APIs of the
+ WebGLArray classes; the JavaScript bindings are unchanged.
+
+ No new tests; existing tests cover this functionality. Ran all
+ WebGL layout tests in Safari and Chromium on Mac OS X.
+
+ * WebCore.gypi:
+ * WebCore.xcodeproj/project.pbxproj:
+ * html/canvas/WebGLArray.h:
+ (WebCore::WebGLArray::buffer):
+ (WebCore::WebGLArray::baseAddress):
+ (WebCore::WebGLArray::byteOffset):
+ * html/canvas/WebGLByteArray.cpp:
+ (WebCore::WebGLByteArray::create):
+ (WebCore::WebGLByteArray::WebGLByteArray):
+ (WebCore::WebGLByteArray::slice):
+ * html/canvas/WebGLByteArray.h:
+ (WebCore::WebGLByteArray::isByteArray):
+ * html/canvas/WebGLFloatArray.cpp:
+ (WebCore::WebGLFloatArray::create):
+ (WebCore::WebGLFloatArray::WebGLFloatArray):
+ (WebCore::WebGLFloatArray::slice):
+ * html/canvas/WebGLFloatArray.h:
+ (WebCore::WebGLFloatArray::set):
+ (WebCore::WebGLFloatArray::item):
+ (WebCore::WebGLFloatArray::isFloatArray):
+ * html/canvas/WebGLIntArray.cpp:
+ (WebCore::WebGLIntArray::create):
+ (WebCore::WebGLIntArray::WebGLIntArray):
+ (WebCore::WebGLIntArray::slice):
+ * html/canvas/WebGLIntArray.h:
+ (WebCore::WebGLIntArray::isIntArray):
+ * html/canvas/WebGLIntegralTypedArrayBase.h: Added.
+ (WebCore::WebGLIntegralTypedArrayBase::set):
+ (WebCore::WebGLIntegralTypedArrayBase::item):
+ (WebCore::WebGLIntegralTypedArrayBase::WebGLIntegralTypedArrayBase):
+ * html/canvas/WebGLShortArray.cpp:
+ (WebCore::WebGLShortArray::create):
+ (WebCore::WebGLShortArray::WebGLShortArray):
+ (WebCore::WebGLShortArray::slice):
+ * html/canvas/WebGLShortArray.h:
+ (WebCore::WebGLShortArray::isShortArray):
+ * html/canvas/WebGLTypedArrayBase.h: Added.
+ (WebCore::WebGLTypedArrayBase::data):
+ (WebCore::WebGLTypedArrayBase::set):
+ (WebCore::WebGLTypedArrayBase::length):
+ (WebCore::WebGLTypedArrayBase::WebGLTypedArrayBase):
+ (WebCore::WebGLTypedArrayBase::create):
+ (WebCore::WebGLTypedArrayBase::sliceImpl):
+ (WebCore::WebGLTypedArrayBase::byteLength):
+ * html/canvas/WebGLUnsignedByteArray.cpp:
+ (WebCore::WebGLUnsignedByteArray::create):
+ (WebCore::WebGLUnsignedByteArray::WebGLUnsignedByteArray):
+ (WebCore::WebGLUnsignedByteArray::slice):
+ * html/canvas/WebGLUnsignedByteArray.h:
+ (WebCore::WebGLUnsignedByteArray::isUnsignedByteArray):
+ * html/canvas/WebGLUnsignedIntArray.cpp:
+ (WebCore::WebGLUnsignedIntArray::create):
+ (WebCore::WebGLUnsignedIntArray::WebGLUnsignedIntArray):
+ (WebCore::WebGLUnsignedIntArray::slice):
+ * html/canvas/WebGLUnsignedIntArray.h:
+ (WebCore::WebGLUnsignedIntArray::isUnsignedIntArray):
+ * html/canvas/WebGLUnsignedShortArray.cpp:
+ (WebCore::WebGLUnsignedShortArray::create):
+ (WebCore::WebGLUnsignedShortArray::WebGLUnsignedShortArray):
+ (WebCore::WebGLUnsignedShortArray::slice):
+ * html/canvas/WebGLUnsignedShortArray.h:
+ (WebCore::WebGLUnsignedShortArray::isUnsignedShortArray):
+
+2010-05-10 Brent Fulgham <bfulgham@webkit.org>
+
+ Build fix, not reviewed.
+
+ Correct post-build copy command for WinCairo port to make sure
+ cairo headers are available for WebKit.dll build.
+
+ * WebCore.vcproj/WebCore.vcproj:
+
+2010-05-10 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ Further optimization for SVG's repaintRect calculation
+ https://bugs.webkit.org/show_bug.cgi?id=38820
+
+ This is a further optimization to get smaller repaintRects on SVG objects
+ in combination with masker or clipper resources.
+ Masker takes the unite of all stroke boundaries of it's childs.
+ Both, clipper and masker, store this union to avoid multiple calls of the childs
+ and the unite calculations now.
+ The unite rect can be transformed to any targets objectBoundingBox, if the content
+ unit of the resource is set to objectBoundingBoxMode.
+ This speeds up the use of resources with multiple target objects.
+
+ No behavior changes, the smaller repaintRects cause updates for DRT results.
+
+ * rendering/RenderSVGResource.h:
+ * rendering/RenderSVGResourceClipper.cpp:
+ (WebCore::RenderSVGResourceClipper::invalidateClients):
+ (WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect):
+ (WebCore::RenderSVGResourceClipper::resourceBoundingBox):
+ * rendering/RenderSVGResourceClipper.h:
+ * rendering/RenderSVGResourceFilter.cpp:
+ (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
+ * rendering/RenderSVGResourceFilter.h:
+ * rendering/RenderSVGResourceGradient.h:
+ (WebCore::RenderSVGResourceGradient::resourceBoundingBox):
+ * rendering/RenderSVGResourceMarker.h:
+ (WebCore::RenderSVGResourceMarker::resourceBoundingBox):
+ * rendering/RenderSVGResourceMasker.cpp:
+ (WebCore::RenderSVGResourceMasker::invalidateClients):
+ (WebCore::RenderSVGResourceMasker::createMaskImage):
+ (WebCore::RenderSVGResourceMasker::calculateMaskContentRepaintRect):
+ (WebCore::RenderSVGResourceMasker::resourceBoundingBox):
+ * rendering/RenderSVGResourceMasker.h:
+ * rendering/RenderSVGResourcePattern.h:
+ (WebCore::RenderSVGResourcePattern::resourceBoundingBox):
+ * rendering/RenderSVGResourceSolidColor.h:
+ (WebCore::RenderSVGResourceSolidColor::resourceBoundingBox):
+
+2010-05-11 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ WebInspector: Cosmetic changes.
+ 1) Inner Function Call event of Timer Fire should be merged into parent even if it is not the only child.
+ 2) Standard tooltips for resource links are clashing with Popover.
+ 3) Recalculate Style caller info are duplicating in Details Popover (Caller and Details rows).
+ https://bugs.webkit.org/show_bug.cgi?id=38732
+
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
+ (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
+ (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
+ * inspector/front-end/inspector.js:
+ (WebInspector.linkifyURLAsNode):
+
+2010-05-10 Csaba Osztrogonác <ossy@webkit.org>
+
+ Rubber-stamped by Simon Hausmann.
+
+ [Qt] Roll-out r59020 and r59021, because the Qt part of these changes
+ haven't been landed in Qt trunk yet. Should be rolled-in again after the merge.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32967
+
+ * platform/network/qt/ResourceRequestQt.cpp:
+ (WebCore::ResourceRequest::toNetworkRequest):
+
+2010-05-10 Markus Goetz <Markus.Goetz@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Qt after 4.6.3 has its integrated DNS cache. Therefore some
+ code is not necessary anymore.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38834
+
+ * platform/network/qt/DnsPrefetchHelper.h:
+ (WebCore::DnsPrefetchHelper::lookup):
+ (WebCore::DnsPrefetchHelper::lookedUp):
+
+2010-05-10 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Asserted that Node::setDocument() is not being used to change
+ the document of a node.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38821
+
+ * dom/Node.cpp:
+ (WebCore::Node::setDocument):
+ Added an ASSERT at the beginning of the function.
+ * dom/Node.h:
+ Documented that Node::setDocument() should not be used to change the
+ document of a node until after the node has been removed from its
+ prior document.
+
+2010-05-10 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ SVG FilterEffects need more detailed DRT information
+ https://bugs.webkit.org/show_bug.cgi?id=38683
+
+ All SVG Filter effects get dumped now. The structure of the DRT output
+ changed. The last effect is shown first, followed by the previous effects.
+
+ No changed behaior, so no new test added.
+
+ * platform/graphics/filters/FEBlend.cpp:
+ (WebCore::operator<<):
+ (WebCore::FEBlend::externalRepresentation):
+ * platform/graphics/filters/FEBlend.h:
+ * platform/graphics/filters/FEColorMatrix.cpp:
+ (WebCore::operator<<):
+ (WebCore::FEColorMatrix::externalRepresentation):
+ * platform/graphics/filters/FEColorMatrix.h:
+ * platform/graphics/filters/FEComponentTransfer.cpp:
+ (WebCore::operator<<):
+ (WebCore::FEComponentTransfer::externalRepresentation):
+ * platform/graphics/filters/FEComponentTransfer.h:
+ * platform/graphics/filters/FEComposite.cpp:
+ (WebCore::operator<<):
+ (WebCore::FEComposite::externalRepresentation):
+ * platform/graphics/filters/FEComposite.h:
+ (WebCore::):
+ (WebCore::FEComposite::uniteChildEffectSubregions):
+ * platform/graphics/filters/FEGaussianBlur.cpp:
+ (WebCore::FEGaussianBlur::externalRepresentation):
+ * platform/graphics/filters/FEGaussianBlur.h:
+ (WebCore::FEGaussianBlur::uniteChildEffectSubregions):
+ * platform/graphics/filters/FilterEffect.cpp:
+ (WebCore::FilterEffect::externalRepresentation):
+ * platform/graphics/filters/FilterEffect.h:
+ * platform/graphics/filters/SourceAlpha.cpp:
+ (WebCore::SourceAlpha::externalRepresentation):
+ * platform/graphics/filters/SourceAlpha.h:
+ * platform/graphics/filters/SourceGraphic.cpp:
+ (WebCore::SourceGraphic::externalRepresentation):
+ * platform/graphics/filters/SourceGraphic.h:
+ * rendering/RenderTreeAsText.cpp:
+ (WebCore::writeIndent):
+ * rendering/RenderTreeAsText.h:
+ * rendering/SVGRenderTreeAsText.cpp:
+ (WebCore::writeSVGResourceContainer):
+ * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
+ (WebCore::operator<<):
+ (WebCore::FEConvolveMatrix::externalRepresentation):
+ * svg/graphics/filters/SVGFEConvolveMatrix.h:
+ * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
+ (WebCore::FEDiffuseLighting::externalRepresentation):
+ * svg/graphics/filters/SVGFEDiffuseLighting.h:
+ * svg/graphics/filters/SVGFEDisplacementMap.cpp:
+ (WebCore::operator<<):
+ (WebCore::FEDisplacementMap::externalRepresentation):
+ * svg/graphics/filters/SVGFEDisplacementMap.h:
+ * svg/graphics/filters/SVGFEFlood.cpp:
+ (WebCore::FEFlood::externalRepresentation):
+ * svg/graphics/filters/SVGFEFlood.h:
+ * svg/graphics/filters/SVGFEImage.cpp:
+ (WebCore::FEImage::externalRepresentation):
+ * svg/graphics/filters/SVGFEImage.h:
+ * svg/graphics/filters/SVGFEMerge.cpp:
+ (WebCore::FEMerge::externalRepresentation):
+ * svg/graphics/filters/SVGFEMerge.h:
+ * svg/graphics/filters/SVGFEMorphology.cpp:
+ (WebCore::operator<<):
+ (WebCore::FEMorphology::externalRepresentation):
+ * svg/graphics/filters/SVGFEMorphology.h:
+ * svg/graphics/filters/SVGFEOffset.cpp:
+ (WebCore::FEOffset::externalRepresentation):
+ * svg/graphics/filters/SVGFEOffset.h:
+ * svg/graphics/filters/SVGFESpecularLighting.cpp:
+ (WebCore::FESpecularLighting::externalRepresentation):
+ * svg/graphics/filters/SVGFESpecularLighting.h:
+ * svg/graphics/filters/SVGFETile.cpp:
+ (WebCore::FETile::externalRepresentation):
+ * svg/graphics/filters/SVGFETile.h:
+ * svg/graphics/filters/SVGFETurbulence.cpp:
+ (WebCore::operator<<):
+ (WebCore::FETurbulence::externalRepresentation):
+ * svg/graphics/filters/SVGFETurbulence.h:
+
+2010-05-10 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Nate Chapin.
+
+ Change IndexedDB to use events instead of callbacks
+ https://bugs.webkit.org/show_bug.cgi?id=38594
+
+ Switch IndexedDB over to an event based model to match what
+ Mozilla (and probably MS?) are doing. This also gets rid of
+ a lot of template mess at the expense of a little extra boiler
+ plate code (for each type that IDBResult.result could be).
+
+ This change also introduces JSC bindings that match the level of
+ functionality the V8 bindings have.
+
+ Still not testable, but that shoudl change shortly.
+
+ * DerivedSources.cpp:
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pri:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSEventCustom.cpp:
+ * bindings/js/JSIDBRequestCustom.cpp: Added.
+ (WebCore::JSIDBRequest::result):
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
+ * bindings/v8/custom/V8CustomIDBCallbacks.h: Removed.
+ * bindings/v8/custom/V8IDBRequestCustom.cpp: Added.
+ (WebCore::V8IDBRequest::resultAccessorGetter):
+ * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp: Removed.
+ * dom/EventTarget.cpp:
+ (WebCore::EventTarget::toIDBRequest):
+ * dom/EventTarget.h:
+ * storage/IDBCallbacks.h:
+ * storage/IDBDatabaseRequest.h:
+ (WebCore::IDBDatabaseRequest::createObjectStore):
+ * storage/IDBRequest.cpp: Added.
+ (WebCore::IDBRequest::IDBRequest):
+ (WebCore::IDBRequest::~IDBRequest):
+ (WebCore::IDBRequest::idbDatabaseResult):
+ (WebCore::IDBRequest::serializedScriptValueResult):
+ (WebCore::IDBRequest::onError):
+ (WebCore::IDBRequest::onSuccess):
+ (WebCore::IDBRequest::abort):
+ (WebCore::IDBRequest::scriptExecutionContext):
+ (WebCore::IDBRequest::stop):
+ (WebCore::IDBRequest::suspend):
+ (WebCore::IDBRequest::resume):
+ (WebCore::IDBRequest::eventTargetData):
+ (WebCore::IDBRequest::ensureEventTargetData):
+ (WebCore::IDBRequest::timerFired):
+ (WebCore::IDBRequest::onEventCommon):
+ * storage/IDBRequest.h: Added.
+ (WebCore::IDBRequest::create):
+ (WebCore::IDBRequest::):
+ (WebCore::IDBRequest::resultType):
+ (WebCore::IDBRequest::readyState):
+ (WebCore::IDBRequest::error):
+ (WebCore::IDBRequest::toIDBRequest):
+ (WebCore::IDBRequest::refEventTarget):
+ (WebCore::IDBRequest::derefEventTarget):
+ * storage/IDBRequest.idl: Added.
+ * storage/IndexedDatabase.h:
+ * storage/IndexedDatabaseImpl.cpp:
+ (WebCore::IndexedDatabaseImpl::open):
+ * storage/IndexedDatabaseImpl.h:
+ * storage/IndexedDatabaseRequest.cpp:
+ (WebCore::IndexedDatabaseRequest::open):
+ * storage/IndexedDatabaseRequest.h:
+ * storage/IndexedDatabaseRequest.idl:
+
+2010-05-10 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Not reviewed: rollback the commit r59062
+
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
+ (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
+ (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
+ * inspector/front-end/inspector.js:
+ (WebInspector.linkifyURLAsNode):
+
+2010-05-10 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ WebInspector: Cosmetic changes.
+ 1) Inner Function Call event of Timer Fire should be merged into parent even if it is not the only child.
+ 2) Standard tooltips for resource links are clashing with Popover.
+ 3) Recalculate Style caller info are duplicating in Details Popover (Caller and Details rows).
+ https://bugs.webkit.org/show_bug.cgi?id=38732
+
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
+ (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
+ (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
+ * inspector/front-end/inspector.js:
+ (WebInspector.linkifyURLAsNode):
+
+2010-05-08 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ WebInspector: If some record is not in visible area then it's expand element also is not
+ visible even if it has children in visible area.
+ https://bugs.webkit.org/show_bug.cgi?id=38643
+
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel):
+ (WebInspector.TimelinePanel.prototype._refreshRecords):
+
+2010-05-07 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=38557
+ r58526 introduced a ~30% regression on Dromaeo JS lib
+
+ This fix does two things.
+ - Don't use QualifiedName as the key to a HashMap, use a
+ RefPtr<QualifiedNameImpl> instead. We should remove the HashTraits for
+ QualifiedName and that will happen in a follow up patch.
+ - Only mark cached NodeLists on Documents instead of all Nodes. This is
+ okay since the marking of NodeLists is an optimization to keep NodeList
+ wrappers alive and is not mandated by any spec.
+
+ * bindings/js/JSDocumentCustom.cpp:
+ (WebCore::JSDocument::markChildren):
+ * bindings/js/JSNodeCustom.cpp:
+ (WebCore::JSNode::markChildren):
+ * dom/Node.cpp:
+ (WebCore::Node::removeCachedTagNodeList):
+ (WebCore::Node::getElementsByTagNameNS):
+ * dom/NodeRareData.h:
+
+2010-05-08 Antonio Gomes <tonikitoo@webkit.org>
+
+ Unreviewed attempt to fix Windows build.
+
+ * page/SpatialNavigation.h:
+ (WebCore::fudgeFactor):
+
+2010-05-03 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Kenneth Christiansen.
+
+ Spatial Navigation: create a getter for the "fudgeFactor"
+ https://bugs.webkit.org/show_bug.cgi?id=38488
+
+ A couple of places in the Spatial Navigation code make use of a "fudge factor"
+ to improve precision by working around outline focus metrics and such. Patch adds
+ a helper method for unify getter operations of this value, instead of having it
+ declared locally in the various methods it is used.
+
+ No behaviour change.
+
+ * page/SpatialNavigation.cpp:
+ (WebCore::scrollIntoView):
+ (WebCore::deflateIfOverlapped):
+ * page/SpatialNavigation.h:
+ (WebCore::fudgeFactor):
+
+2010-05-08 Stuart Morgan <stuartmorgan@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Change the npapi.h header guards to match the npapi-headers repository
+ copy.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38666
+
+ * bridge/npapi.h:
+
+2010-05-08 Stuart Morgan <stuartmorgan@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Resolve most of the whitespace/comment/order differences in npapi.h
+ and npruntime.h relative to the npapi-headers repository versions.
+ No changes to the substance of the code.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38666
+
+ * bridge/npapi.h:
+ (_NPPrint::):
+ (_NPCocoaEvent::):
+ * bridge/npruntime.h:
+
+2010-05-08 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Fix guard around IndexedDatabase
+ https://bugs.webkit.org/show_bug.cgi?id=38710
+
+ No new tests, there is no new functionality.
+
+ * page/PageGroup.h:
+
+2010-05-08 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Platform plugin
+ https://bugs.webkit.org/show_bug.cgi?id=38438
+
+ Select popups delegate private API. To provide select popup delegates
+ a plugin that implements QWebKitPlatformPlugin must be found
+ in QCoreApplication::libraryPaths.
+
+ * WebCore.pro:
+
+2010-05-08 Leandro Pereira <leandro@profusion.mobi>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ [EFL] It does not make sense to use RenderThemeEfl::RenderThemeEfl, so
+ use RenderThemeEfl (GCC 4.5 seems to be pickier about this).
+ http://webkit.org/b/38770
+
+ * platform/efl/RenderThemeEfl.cpp:
+ (WebCore::renderThemeEflColorClassSelectionActive):
+ (WebCore::renderThemeEflColorClassSelectionInactive):
+ (WebCore::renderThemeEflColorClassFocusRing):
+ (WebCore::renderThemeEflColorClassButtonText):
+ (WebCore::renderThemeEflColorClassComboText):
+ (WebCore::renderThemeEflColorClassEntryText):
+ (WebCore::renderThemeEflColorClassSearchText):
+ (WebCore::RenderThemeEfl::adjustCheckboxStyle):
+ (WebCore::RenderThemeEfl::adjustRadioStyle):
+ (WebCore::RenderThemeEfl::adjustButtonStyle):
+ (WebCore::RenderThemeEfl::adjustMenuListStyle):
+ (WebCore::RenderThemeEfl::adjustTextFieldStyle):
+ (WebCore::RenderThemeEfl::adjustSearchFieldDecorationStyle):
+ (WebCore::RenderThemeEfl::adjustSearchFieldResultsButtonStyle):
+ (WebCore::RenderThemeEfl::adjustSearchFieldResultsDecorationStyle):
+ (WebCore::RenderThemeEfl::adjustSearchFieldCancelButtonStyle):
+ (WebCore::RenderThemeEfl::adjustSearchFieldStyle):
+
+2010-05-08 Leandro Pereira <leandro@profusion.mobi>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ ResourceHandleSoup should depend only on GLib, not on GTK+.
+ http://webkit.org/b/38763
+
+ * platform/network/soup/ResourceHandleSoup.cpp: Include glib.h
+ instead of gtk/gtk.h.
+
+2010-05-08 Eric Seidel <eric@webkit.org>
+
+ Unreviewed, rolling out r59023.
+ http://trac.webkit.org/changeset/59023
+ https://bugs.webkit.org/show_bug.cgi?id=37874
+
+ Caused Chromium Windows build to fail to link.
+
+ * WebCore.gypi:
+ * loader/CachedMetadata.h: Removed.
+ * loader/CachedResource.cpp:
+ * loader/CachedResource.h:
+ * loader/ResourceLoader.h:
+ * loader/SubresourceLoader.cpp:
+ * loader/SubresourceLoader.h:
+ * loader/SubresourceLoaderClient.h:
+ * loader/loader.cpp:
+ * loader/loader.h:
+ * platform/network/ResourceHandle.cpp:
+ * platform/network/ResourceHandle.h:
+ * platform/network/ResourceHandleClient.h:
+
+2010-05-08 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ WebInspector: Autocompletion in console is not usable because it is not add to the entered text the common prefix of suggestions.
+ As example if you entered $0.getE then getElementByClassName will be suggested as gray text.
+ If you press tab then getElementByClassName be suggested again and lementByClassName becomes selected as black text with selection background.
+ Really after pressing the TAB the next suggestion should be selected (getElementByTagName) and only flexible part of suggestions should be selected.
+ In this case it should be TagName because getElementBy is the common part for all getE prefix suggestions.
+ https://bugs.webkit.org/show_bug.cgi?id=38753
+
+ * inspector/front-end/TextPrompt.js:
+ (WebInspector.TextPrompt.prototype._completionsReady):
+
+2010-05-08 Tony Gentilcore <tonyg@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Provide mechanism to store cached metadata on a CachedResource.
+ https://bugs.webkit.org/show_bug.cgi?id=37874
+
+ No new tests because no new functionality.
+
+ * WebCore.gypi:
+ * loader/CachedMetadata.h: Added.
+ (WebCore::CachedMetadata::~CachedMetadata):
+ (WebCore::CachedMetadata::data):
+ (WebCore::CachedMetadata::size):
+ (WebCore::CachedMetadata::create):
+ (WebCore::CachedMetadata::deserialize):
+ (WebCore::CachedMetadata::serialize):
+ (WebCore::CachedMetadata::dataTypeID):
+ (WebCore::CachedMetadata::readUnsigned):
+ (WebCore::CachedMetadata::appendUnsigned):
+ (WebCore::CachedMetadata::CachedMetadata):
+ * loader/CachedResource.cpp:
+ (WebCore::CachedResource::setSerializedCachedMetadata):
+ (WebCore::CachedResource::setCachedMetadata):
+ (WebCore::CachedResource::cachedMetadata):
+ * loader/CachedResource.h:
+ * loader/ResourceLoader.h:
+ (WebCore::ResourceLoader::didReceiveCachedMetadata):
+ * loader/SubresourceLoader.cpp:
+ (WebCore::SubresourceLoader::didReceiveCachedMetadata):
+ * loader/SubresourceLoader.h:
+ * loader/SubresourceLoaderClient.h:
+ (WebCore::SubresourceLoaderClient::didReceiveCachedMetadata):
+ * loader/loader.cpp:
+ (WebCore::Loader::Host::didReceiveCachedMetadata):
+ * loader/loader.h:
+ * platform/network/ResourceHandle.cpp:
+ (WebCore::ResourceHandle::cacheMetadata):
+ * platform/network/ResourceHandle.h:
+ * platform/network/ResourceHandleClient.h:
+ (WebCore::ResourceHandleClient::didReceiveCachedMetadata):
+
+2010-05-08 Michael Nordman <michaeln@google.com>
+
+ Reviewed by Dmitry Titov.
+
+ Have WorkerScriptLoader provide access to the ResourceResponse for the loaded script
+ through the WorkerScriptLoaderClient interface.
+ https://bugs.webkit.org/show_bug.cgi?id=38605
+
+ No new tests. There are no script visible changes.
+
+ * workers/WorkerScriptLoader.cpp: Call the client with the response.
+ (WebCore::WorkerScriptLoader::didReceiveResponse):
+ * workers/WorkerScriptLoaderClient.h: Define a new method to receive the response.
+ (WebCore::WorkerScriptLoaderClient::didReceiveResponse):
+
+2010-05-08 Robert Hogan <robert@roberthogan.net>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix http/tests/xmlhttprequest/cross-origin-no-authorization.html
+ and http/tests/xmlhttprequest/cross-origin-authorization.html
+
+ QHttpNetworkRequest adds Authorization and Cookie headers to XHRs
+ without knowing if this is valid behaviour or not. In order to allow
+ Qt to decide whether Cookie/Authorization headers should be added
+ to an XHR QtWebKit needs to use an attribute added to QNetworkRequest.
+ These new attributes are: QNetworkRequest::CookieLoadControlAttribute,
+ QNetworkRequest::CookieSaveControlAttribute,and
+ QNetworkRequest::AuthenticationReuseControlAttribute.
+
+ QtWebKit will set QNetworkRequest::AuthenticationReuseControlAttribute to false
+ unless withCredentials is set to true in the XHR.
+
+ QtWebkit will set CookieLoad/SaveControlAttribute to false unless withCredentials
+ is set to true in the XHR.
+
+ Qt will pass the values onto QHttpNetworkRequest and this will permit
+ the Qt network access processing to decide whether or not to add either
+ or both of the Cookie/Authorisation headers, and whether to save cookies
+ returned from such requests. By default the attribute
+ will always be true so unless QtWebKit sets it to false normal
+ header processing is unaffected.
+
+ The Qt part of these changes was merged at: http://gitorious.org/qt/qt/merge_requests/592
+
+ https://bugs.webkit.org/show_bug.cgi?id=32967
+
+ * platform/network/qt/ResourceRequestQt.cpp:
+ (WebCore::ResourceRequest::toNetworkRequest):
+
+2010-05-08 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ WebInsector: Record expand UI element should be extracted from TimelineRecordGraphRow as separate class for future reuse.
+ https://bugs.webkit.org/show_bug.cgi?id=38726
+
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel):
+ (WebInspector.TimelinePanel.prototype._refreshRecords):
+ (WebInspector.TimelineRecordGraphRow):
+ (WebInspector.TimelineRecordGraphRow.prototype.update):
+ (WebInspector.TimelineExpandableElement):
+ (WebInspector.TimelineExpandableElement.prototype._update):
+ (WebInspector.TimelineExpandableElement.prototype._dispose):
+
+2010-05-05 Robert Hogan <robert@webkit.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ [Qt] Fix encoding of status message in Plugin API
+
+ https://bugs.webkit.org/show_bug.cgi?id=35144
+
+ Spotted by Alexey Proskuryakov.
+
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::status):
+
+2010-05-08 Dirk Schulze <krit@webkit.org>
+
+ Unreviewed win build fix.
+
+ JS bindings were missing in DerivedSources.cpp
+
+ * DerivedSources.cpp:
+
+2010-05-08 Dirk Schulze <krit@webkit.org>
+
+ Uneviewed fix of Win bot
+
+ Added JS bindings to Win build system.
+
+ * WebCore.vcproj/WebCore.vcproj:
+
+2010-05-08 Dirk Schulze <krit@webkit.org>
+
+ Unreviewed try to fix Win bot.
+
+ SVGFont's VKern implementation missing
+ https://bugs.webkit.org/show_bug.cgi?id=38663
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+
+2010-05-08 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ SVGFont's VKern implementation missing
+ https://bugs.webkit.org/show_bug.cgi?id=38663
+
+ Implementation of vkern, needed by SVGFont. Also added DOM and JS bindings
+ for vkern and hkern. Made some clean-up in SVGParserUtilities and SVGFontElement.
+ SVGHKernElement and SVGVKernElement share most of the code now.
+
+ Test: svg/text/text-vkern.svg
+
+ * Android.derived.jscbindings.mk:
+ * Android.derived.v8bindings.mk:
+ * Android.mk:
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+ * WebCore.pri:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * page/DOMWindow.idl:
+ * rendering/SVGRootInlineBox.cpp:
+ (WebCore::applySVGKerning):
+ (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
+ * svg/SVGAllInOne.cpp:
+ * svg/SVGFontElement.cpp:
+ (WebCore::SVGFontElement::invalidateGlyphCache):
+ (WebCore::SVGFontElement::ensureGlyphCache):
+ (WebCore::matches):
+ (WebCore::kerningForPairOfStringsAndGlyphs):
+ (WebCore::SVGFontElement::horizontalKerningForPairOfStringsAndGlyphs):
+ (WebCore::SVGFontElement::verticalKerningForPairOfStringsAndGlyphs):
+ * svg/SVGFontElement.h:
+ (WebCore::SVGKerningPair::SVGKerningPair):
+ (WebCore::SVGFontElement::rendererIsNeeded):
+ * svg/SVGHKernElement.cpp:
+ (WebCore::SVGHKernElement::buildHorizontalKerningPair):
+ * svg/SVGHKernElement.h:
+ * svg/SVGParserUtilities.cpp:
+ (WebCore::parseGlyphName):
+ (WebCore::parseKerningUnicodeString):
+ * svg/SVGParserUtilities.h:
+ * svg/SVGVKernElement.cpp: Added.
+ (WebCore::SVGVKernElement::SVGVKernElement):
+ (WebCore::SVGVKernElement::~SVGVKernElement):
+ (WebCore::SVGVKernElement::insertedIntoDocument):
+ (WebCore::SVGVKernElement::removedFromDocument):
+ (WebCore::SVGVKernElement::buildVerticalKerningPair):
+ * svg/SVGVKernElement.h: Added.
+ (WebCore::SVGVKernElement::rendererIsNeeded):
+ * svg/SVGVKernElement.idl: Added.
+ * svg/svgtags.in:
+
+2010-05-08 Jer Noble <jer.noble@apple.com>
+
+ Unreviewed, just fixing windows build.
+
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h: Add #if USE(ACCELERATED_COMPOSITING) guards around GraphicsLayer areas of the code. Include GraphicsLayer.h directly.
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: As above.
+ * platform/graphics/win/QTMovieVisualContext.cpp: Remove the #include of d3d9types.h.
+
+2010-05-08 Eric Seidel <eric@webkit.org>
+
+ Unreviewed, just reverting commit.
+
+ REGRESSION(59000): r59000 contained all sorts of changes it should not have, needs revert.
+ https://bugs.webkit.org/show_bug.cgi?id=38798
+
+ Test: fast/js/global-resolve-through-eval.html
+
+ * bindings/js/JSCallbackData.h:
+ (WebCore::JSCallbackData::JSCallbackData):
+ (WebCore::JSCallbackData::~JSCallbackData):
+ (WebCore::DeleteCallbackDataTask::create):
+ (WebCore::DeleteCallbackDataTask::performTask):
+ (WebCore::DeleteCallbackDataTask::isCleanupTask):
+ (WebCore::DeleteCallbackDataTask::DeleteCallbackDataTask):
+ * bindings/js/JSCustomVoidCallback.cpp:
+ (WebCore::JSCustomVoidCallback::JSCustomVoidCallback):
+ (WebCore::JSCustomVoidCallback::~JSCustomVoidCallback):
+ * bindings/js/JSCustomVoidCallback.h:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bindings/scripts/test/JS/JSTestInterface.cpp:
+ (WebCore::):
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore::):
+ * workers/WorkerThread.cpp:
+ (WebCore::WorkerThreadShutdownFinishTask::performTask):
+ (WebCore::WorkerThreadShutdownStartTask::performTask):
+
+2010-05-07 Zoltan Herczeg <zherczeg@webkit.org>
+
+ Reviewed by Dirk Schulze
+
+ Fixed the inverse function of f(x) = ((x + 0.055) / 1.055) ^ 2.4
+ https://bugs.webkit.org/show_bug.cgi?id=38735
+
+ It is ((x ^ (1 / 2.4)) * 1.055) - 0.055
+
+ Chromium pixel tests cover the issue.
+
+ * platform/graphics/ImageBuffer.cpp:
+ (WebCore::ImageBuffer::transformColorSpace):
+
+2010-05-04 Jer Noble <jer.noble@apple.com>
+
+ Reviewed by Eric Carlson
+
+ Safari pegs CPU and drops tons of frames using HTML5 Vimeo player
+ <https://bugs.webkit.org/show_bug.cgi?id=34005>
+ <rdar://problem/7569713>
+
+ The original functionality of QTMovieWin has been split between QTMovieGWorld,
+ and a new class: QTMovie. QTMovie contains all the "controller" parts (changing
+ the rate, seeking, etc) while QTMovieGWorld retains all the drawing code. QTMovieGWorld
+ now takes a QTMovie, and as such QTMovie is now retainable. QTMovieGWorld registers
+ itself as a client of QTMovie, so that it can receive load-state notifications,
+ and thus QTMovie must now support multiple clients. Movie tasking timer support
+ has been moved into its own class (QTMovieTask) and will be addressed in a future
+ patch. Most of the functions listed below only changed so much as their class name changed.
+
+ * platform/graphics/win/QTMovie.cpp: Copied from WebCore/platform/graphics/win/QTMovieWin.cpp.
+ (QTMoviePrivate::QTMoviePrivate):
+ (QTMoviePrivate::~QTMoviePrivate):
+ (QTMoviePrivate::startTask):
+ (QTMoviePrivate::endTask):
+ (QTMoviePrivate::task):
+ (QTMoviePrivate::createMovieController):
+ (QTMovie::QTMovie):
+ (QTMovie::~QTMovie):
+ (QTMovie::addClient):
+ (QTMovie::removeClient):
+ (QTMovie::play):
+ (QTMovie::pause):
+ (QTMovie::rate):
+ (QTMovie::setRate):
+ (QTMovie::duration):
+ (QTMovie::currentTime):
+ (QTMovie::setCurrentTime):
+ (QTMovie::setVolume):
+ (QTMovie::setPreservesPitch):
+ (QTMovie::dataSize):
+ (QTMovie::maxTimeLoaded):
+ (QTMovie::loadState):
+ (QTMovie::getNaturalSize):
+ (QTMovie::load):
+ (QTMovie::disableUnsupportedTracks):
+ (QTMovie::isDisabled):
+ (QTMovie::setDisabled):
+ (QTMovie::hasVideo):
+ (QTMovie::hasAudio):
+ (QTMovie::hasClosedCaptions):
+ (QTMovie::setClosedCaptionsVisible):
+ (QTMovie::countSupportedTypes):
+ (QTMovie::getSupportedType):
+ (QTMovie::initializeQuickTime):
+ (QTMovie::getMovieHandle):
+ * platform/graphics/win/QTMovie.h: Copied from WebCore/platform/graphics/win/QTMovieWin.h.
+ * platform/graphics/win/QTMovieGWorld.cpp: Copied from WebCore/platform/graphics/win/QTMovieWin.cpp.
+ (QTMovieGWorldPrivate::QTMovieGWorldPrivate):
+ (QTMovieGWorldPrivate::~QTMovieGWorldPrivate):
+ (QTMovieGWorldPrivate::cacheMovieScale):
+ (movieDrawingCompleteProc):
+ (QTMovieGWorldPrivate::registerDrawingCallback):
+ (QTMovieGWorldPrivate::unregisterDrawingCallback):
+ (QTMovieGWorldPrivate::drawingComplete):
+ (QTMovieGWorldPrivate::updateGWorld):
+ (QTMovieGWorldPrivate::createGWorld):
+ (QTMovieGWorldPrivate::clearGWorld):
+ (QTMovieGWorldPrivate::setSize):
+ (QTMovieGWorldPrivate::updateMovieSize):
+ (QTMovieGWorldPrivate::deleteGWorld):
+ (QTMovieGWorldPrivate::movieEnded):
+ (QTMovieGWorldPrivate::movieLoadStateChanged):
+ (QTMovieGWorldPrivate::movieTimeChanged):
+ (QTMovieGWorld::QTMovieGWorld):
+ (QTMovieGWorld::~QTMovieGWorld):
+ (QTMovieGWorld::setSize):
+ (QTMovieGWorld::setVisible):
+ (QTMovieGWorld::getCurrentFrameInfo):
+ (QTMovieGWorld::paint):
+ (QTMovieGWorld::setDisabled):
+ (QTMovieGWorld::isDisabled):
+ (QTMovieGWorld::fullscreenWndProc):
+ (QTMovieGWorld::enterFullscreen):
+ (QTMovieGWorld::exitFullscreen):
+ (QTMovieGWorld::setMovie):
+ (QTMovieGWorld::movie):
+ * platform/graphics/win/QTMovieGWorld.h: Copied from WebCore/platform/graphics/win/QTMovieWin.h.
+ * platform/graphics/win/QTMovieTask.cpp: Added.
+ (QTMovieTask::QTMovieTask):
+ (QTMovieTask::~QTMovieTask):
+ (QTMovieTask::sharedTask):
+ (QTMovieTask::updateTaskTimer):
+ (QTMovieTask::fireTaskClients):
+ (QTMovieTask::addTaskClient):
+ (QTMovieTask::removeTaskClient):
+ (QTMovieTask::setTaskTimerFuncs):
+ * platform/graphics/win/QTMovieTask.h: Added.
+
+2010-05-04 Jer Noble <jer.noble@apple.com>
+
+ Reviewed by Eric Carlson
+
+ Safari pegs CPU and drops tons of frames using HTML5 Vimeo player
+ <https://bugs.webkit.org/show_bug.cgi?id=34005>
+ <rdar://problem/7569713>
+
+ MediaPlayerPrivateQuickTimeVisualContext has been added as a
+ supported MediaPlayer implementation. MediaPlayerPrivateQuickTimeWin
+ has been left as a fallback MediaPlayer implementation for those media
+ types which do not support visual contexts (currently, none).
+
+ * platform/graphics/MediaPlayer.cpp:
+ (WebCore::installedMediaEngines):
+
+2010-05-04 Jer Noble <jer.noble@apple.com>
+
+ Reviewed by Maciej Stachowiak
+
+ Safari pegs CPU and drops tons of frames using HTML5 Vimeo player
+ <https://bugs.webkit.org/show_bug.cgi?id=34005>
+ <rdar://problem/7569713>
+
+ MediaPlayerPrivateTaskTimer has been broken out from MediaPlayerPrivateQuickTimeWin::TaskTimer
+ so that multiple clients can share its implementation. It works with the new
+ QTMovieTaskTimer to provide timer support to QTMovieTaskTimer clients.
+
+ * platform/graphics/win/MediaPlayerPrivateTaskTimer.cpp: Added.
+ (WebCore::MediaPlayerPrivateTaskTimer::initialize):
+ (WebCore::MediaPlayerPrivateTaskTimer::setDelay):
+ (WebCore::MediaPlayerPrivateTaskTimer::stopTaskTimer):
+ (WebCore::MediaPlayerPrivateTaskTimer::fired):
+ * platform/graphics/win/MediaPlayerPrivateTaskTimer.h: Added.
+
+2010-05-04 Jer Noble <jer.noble@apple.com>
+
+ Reviewed by Eric Carlson
+
+ Safari pegs CPU and drops tons of frames using HTML5 Vimeo player
+ <https://bugs.webkit.org/show_bug.cgi?id=34005>
+ <rdar://problem/7569713>
+
+ MediaPlayerPrivateQuickTimeVisualContext is a new MediaPlayerPrivate implementation
+ which uses QTMovieVisualContext instead of QTMovieWin to render video frames. Much
+ like MediaPlayerPrivateQuickTimeWin, MPPQTVisualContext breaks out QTMovie and
+ QTMovieVisualContext, and uses the newly shared MediaPlayerPrivateTaskTimer. It also
+ uses aggregation (in the form of friend classes) instead of multiple inheritence
+ to implement its various client callbacks, so as not to expose its own clients to
+ the QTMovie classes.
+
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: Copied from WebCore/platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp.
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h: Copied from WebCore/platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h.
+
+2010-05-04 Jer Noble <jer.noble@apple.com>
+
+ Reviewed by Maciej Stachowiak
+
+ Safari pegs CPU and drops tons of frames using HTML5 Vimeo player
+ <https://bugs.webkit.org/show_bug.cgi?id=34005>
+ <rdar://problem/7569713>
+
+ MediaPlayerPrivateQuickTimeWin has been modified to support the new bifurcated
+ QTMovie/QTMovieWin classes. It's private TaskTimer class has been broken out
+ into a new top-level class (MediaPlayerPrivateTaskTimer) which will be addressed
+ in a future patch.
+
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
+ (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
+ (WebCore::MediaPlayerPrivate::load):
+ (WebCore::MediaPlayerPrivate::paused):
+ (WebCore::MediaPlayerPrivate::setSize):
+ (WebCore::MediaPlayerPrivate::setVisible):
+ (WebCore::MediaPlayerPrivate::paint):
+ (WebCore::mimeTypeCache):
+ (WebCore::MediaPlayerPrivate::isAvailable):
+ (WebCore::MediaPlayerPrivate::movieEnded):
+ (WebCore::MediaPlayerPrivate::movieLoadStateChanged):
+ (WebCore::MediaPlayerPrivate::movieTimeChanged):
+ (WebCore::MediaPlayerPrivate::movieNewImageAvailable):
+ (WebCore::MediaPlayerPrivate::paintContents):
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
+
+2010-05-04 Jer Noble <jer.noble@apple.com>
+
+ Reviewed by Anders Carlsson
+
+ Safari pegs CPU and drops tons of frames using HTML5 Vimeo player
+ <https://bugs.webkit.org/show_bug.cgi?id=34005>
+ <rdar://problem/7569713>
+
+ QTCFDictionary defines functions which help serialize and unserialize
+ CFDictionaries. This is necessary because QuickTime links against a
+ non-debug CoreFoundation in our debug build, and passing non-debug
+ CFDictionaries to a debug CF will cause a crash.
+
+ QTMovieTask is a new class containing the tasking functionality broken
+ out from QTMovieWin. This is necessary now that the tasking
+ functionality is needed in multiple files/classes.
+
+ QTPixelBuffer is a C++ wrapper for CVPixelBuffers, necessary because
+ like the CF case above, QuickTime has its own implementation of CoreVideo
+ and its CV types cannot be used with the AAS version of CoreVideo.
+
+ QTMovieVisualContext is the new drawing implementation, parallel to
+ QTMovieWin. It currently uses a software rendering path, but can be
+ extended in the future to support hardware rendering.
+
+ * platform/graphics/win/QTCFDictionary.cpp: Added.
+ * platform/graphics/win/QTCFDictionary.h: Added.
+ * platform/graphics/win/QTMovieTask.cpp: Added.
+ * platform/graphics/win/QTMovieTask.h: Added.
+ * platform/graphics/win/QTMovieVisualContext.cpp: Added.
+ * platform/graphics/win/QTMovieVisualContext.h: Added.
+ * platform/graphics/win/QTPixelBuffer.cpp: Added.
+ * platform/graphics/win/QTPixelBuffer.h: Added.
+
+2010-05-07 Eric Uhrhane <ericu@chromium.org>
+
+ Reviewed by Dmitry Titov.
+
+ JSCallbackData is deleted on the Main thread, not the Context thread.
+ https://bugs.webkit.org/show_bug.cgi?id=38623
+
+ No new tests; you'll only see a problem after the worker-access-to-DB
+ code goes in. Without this fix, the GTK bots assert, but it's
+ timing-sensitive and not truly platform-specific.
+
+ * bindings/js/JSCallbackData.h:
+ (WebCore::JSCallbackData::JSCallbackData):
+ (WebCore::JSCallbackData::~JSCallbackData):
+ Store the allocating thread, then assert that we're on it at deletion.
+
+ (WebCore::DeleteCallbackDataTask):
+ This is the task that can get posted to the context thread for cleanup.
+
+ * bindings/js/JSCustomVoidCallback.cpp:
+ * bindings/js/JSCustomVoidCallback.h:
+ This callback isn't autogenerated, so we have to do the cleanup manually.
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ Add the proper cleanup to all autogenerated callbacks.
+
+ * workers/WorkerThread.cpp:
+ (WebCore::WorkerThreadShutdownFinishTask::performTask):
+ (WebCore::WorkerThreadShutdownStartTask::performTask):
+ WorkerContext::clearScript can't be called until the posted deletion tasks have completed; move the call from shutdown start to shutdown finish.
+
+2010-05-07 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Fix JSC binding generation to match webkit style
+ https://bugs.webkit.org/show_bug.cgi?id=38173
+
+ Add spaces around "|" to match webkit style.
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+
+2010-05-07 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Brady Eidson.
+
+ Adding the IDL files for the sync DB API and the stubs for the JS and V8 bindings.
+ https://bugs.webkit.org/show_bug.cgi?id=34994
+
+ * DerivedSources.cpp:
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pri:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSBindingsAllInOne.cpp:
+ * bindings/js/JSDatabaseSyncCustom.cpp: Added.
+ (WebCore::JSDatabaseSync::changeVersion):
+ (WebCore::createTransaction):
+ (WebCore::JSDatabaseSync::transaction):
+ (WebCore::JSDatabaseSync::readTransaction):
+ * bindings/js/JSSQLTransactionSyncCustom.cpp: Added.
+ (WebCore::JSSQLTransactionSync::executeSql):
+ * bindings/js/JSWorkerContextCustom.cpp:
+ (WebCore::JSWorkerContext::openDatabaseSync):
+ * bindings/v8/custom/V8BindingMacros.h: Added.
+ * bindings/v8/custom/V8DatabaseSyncCustom.cpp: Added.
+ (WebCore::V8DatabaseSync::changeVersionCallback):
+ (WebCore::createTransaction):
+ (WebCore::V8DatabaseSync::transactionCallback):
+ (WebCore::V8DatabaseSync::readTransactionCallback):
+ * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp: Added.
+ (WebCore::V8SQLTransactionSync::executeSqlCallback):
+ * bindings/v8/custom/V8WorkerContextCustom.cpp:
+ (WebCore::V8WorkerContext::openDatabaseSyncCallback):
+ * storage/Database.idl:
+ * storage/DatabaseCallback.h:
+ * storage/DatabaseCallback.idl:
+ * storage/DatabaseSync.cpp:
+ (WebCore::DatabaseSync::changeVersion):
+ (WebCore::DatabaseSync::transaction):
+ * storage/DatabaseSync.h:
+ * storage/DatabaseSync.idl: Added.
+ * storage/SQLError.idl:
+ * storage/SQLResultSet.idl:
+ * storage/SQLResultSetRowList.idl:
+ * storage/SQLTransaction.idl:
+ * storage/SQLTransactionSync.idl: Added.
+ * storage/SQLTransactionSyncCallback.h:
+ * storage/SQLTransactionSyncCallback.idl: Added.
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::openDatabaseSync):
+ * workers/WorkerContext.h:
+ * workers/WorkerContext.idl:
+
+2010-05-07 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Fix for <rdar://problem/7956972> REGRESSION: Can't focus and type
+ in GMail due to bad repainting
+ -and corresponding-
+ https://bugs.webkit.org/show_bug.cgi?id=38782
+
+ This patch reverts back to pre-r58797 behavior when
+ shouldPropagateCompositingToIFrameParent() is false.
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::paintingGoesToWindow):
+
+2010-05-07 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r58963.
+ http://trac.webkit.org/changeset/58963
+ https://bugs.webkit.org/show_bug.cgi?id=38773
+
+ Broke Chromium layout tests. (Requested by dcheng on #webkit).
+
+ * platform/chromium/DragDataChromium.cpp:
+ (WebCore::DragData::asURL):
+
+2010-05-07 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38769
+ ClipboardGtk should write the URL label in the text portion of the DataObject
+
+ No tests as this code path is currently unused in the GTK+ port.
+
+ * platform/gtk/ClipboardGtk.cpp:
+ (WebCore::ClipboardGtk::writeURL): Write the label to the text portion of the DataObject, instead of the URL.
+
+2010-05-07 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Reviewed by Dirk Schulze.
+
+ RenderSVGResourceClipper assigns a temporary mutated RenderStyle but does not correctly preserve the old style
+ https://bugs.webkit.org/show_bug.cgi?id=38767
+
+ Fix small logic error leading to a problem in RenderSVGResourceClipper. It assigns a new temporary RenderStyle
+ to the target object, but fails to reset it correctly to the old style. Fixes all svg/clip-path errors on the windows bots.
+
+ * rendering/RenderSVGResourceClipper.cpp:
+ (WebCore::RenderSVGResourceClipper::createClipData):
+
+2010-05-07 Daniel Cheng <dcheng@chromium.org>
+
+ Reviewed by Jian Li.
+
+ [chromium] DragDataChromium::asURL() shouldn't do file validity checks
+ https://bugs.webkit.org/show_bug.cgi?id=38711
+
+ The renderer is sandboxed in Chromium, so these calls will give us no
+ meaningful information. The loader will do the right thing if we pass
+ it a file URL that points to an invalid file.
+
+ No new tests.
+
+ * platform/chromium/DragDataChromium.cpp:
+ (WebCore::DragData::asURL):
+
+2010-05-07 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Fix debug-only render tree output to show object addresses in hex.
+
+ * rendering/RenderTreeAsText.cpp:
+ (WebCore::writeRenderObject):
+ (WebCore::write):
+
+2010-05-07 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38546
+ Node.focus() fails to move focus from subframe properly
+
+ Test: fast/frames/take-focus-from-iframe.html
+
+ * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::setFocus): Don't clear
+ focus if this frame doesn't have it. This can happen if page's and HTMLFrameElement's ideas
+ of focused frame get out of sync temporarily.
+
+2010-05-07 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Reviewed by Dirk Schulze.
+
+ svg/custom/use-instanceRoot-as-event-target.xhtml crashes randomly
+ https://bugs.webkit.org/show_bug.cgi?id=37798
+
+ When creating JSEventListeners through attributes (onclick, etc..) or add/removeEventListener
+ calls on a SVGElementInstance, do NOT pass the element instance itself as JS wrapper object
+ but the correspondingElement(). SVGElementInstance redirects all event listener registrations
+ to the correspondingElement(), as they share an event listener list, per SVG spec. The old
+ code was very dangerous, leading to random assertions, when garbage collection teared down
+ the JSSVGElementInstance and event listeners fired, whose listeners were registered with
+ it, but residing in the correspondingElement() event listener list.
+
+ Removes the need for CustomToJS code for JSSVGElementInstance, which was wrong anyways. We hoped
+ to keep the event listeers alive by just creating a js wrapper of the correspondingElement(), that
+ could only work as long as garbage collection didn't tear it down, just luck. Also remove the
+ CustomPushEventHandlerScope marker, as it is only used for JSLazyEventListeners and only works
+ for JSNode derived objects, it was a no-op for SVGElementInstance, thus removed it.
+
+ Should fix all random crashes/assertions seen with svg/custom/use-instanceRoot-as-event-target.xhtml
+ See bug report for a detailed crash analysis.
+
+ * bindings/js/JSSVGElementInstanceCustom.cpp: Remove custom toJS()/pushEventHandlerScope() handling, not necessary anymore.
+ (WebCore::JSSVGElementInstance::markChildren):
+ * bindings/scripts/CodeGeneratorJS.pm: For JSSVGElementInstance pass the correspondingElement() as JS wrapper object, not itself.
+ * svg/SVGElementInstance.cpp:
+ (WebCore::SVGElementInstance::invalidateAllInstancesOfElement): Be sure to trigger a style update here, so dirty shadow trees for <use> get rebuild. Otherwhise DOM may be out-of-sync.
+ (WebCore::SVGElementInstance::eventTargetData): Add ASSERT_NOT_REACHED(), all event listener calls are forwarded to the correspondingElement().
+ (WebCore::SVGElementInstance::ensureEventTargetData): Ditto.
+ * svg/SVGElementInstance.idl: Remove CustomToJS, CustomPushEventHandlerScope markers.
+
+2010-05-06 Kenneth Russell <kbr@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ WebCore::WebGLUnsignedIntArrayInternal::getCallback ReadAV@Arbitrary (deef89ee3d0345edebeaf13cf974c47c)
+ https://bugs.webkit.org/show_bug.cgi?id=38039
+
+ Web IDL now allows indexed getters and setters to be unnamed. Per
+ discussion in WebGL working group and recent update to spec,
+ removed the buggy get() and single-element set() methods from the
+ JavaScript bindings to the WebGL array types. Refactored set()
+ implementation in JSC bindings to share more code and modified V8
+ binding to look more like it. Added unit tests for indexed getter
+ with out-of-range indices and verifying removal of get and
+ single-element set methods. Updated existing WebGL array tests.
+
+ Tests: fast/canvas/webgl/array-get-and-set-method-removal.html
+ fast/canvas/webgl/array-get-out-of-bounds.html
+
+ * bindings/js/JSWebGLArrayHelper.h:
+ (WebCore::setWebGLArrayHelper):
+ * bindings/js/JSWebGLByteArrayCustom.cpp:
+ (WebCore::JSWebGLByteArray::set):
+ * bindings/js/JSWebGLFloatArrayCustom.cpp:
+ (WebCore::JSWebGLFloatArray::set):
+ * bindings/js/JSWebGLIntArrayCustom.cpp:
+ (WebCore::JSWebGLIntArray::set):
+ * bindings/js/JSWebGLShortArrayCustom.cpp:
+ (WebCore::JSWebGLShortArray::set):
+ * bindings/js/JSWebGLUnsignedByteArrayCustom.cpp:
+ (WebCore::JSWebGLUnsignedByteArray::set):
+ * bindings/js/JSWebGLUnsignedIntArrayCustom.cpp:
+ (WebCore::JSWebGLUnsignedIntArray::set):
+ * bindings/js/JSWebGLUnsignedShortArrayCustom.cpp:
+ (WebCore::JSWebGLUnsignedShortArray::set):
+ * bindings/v8/custom/V8WebGLArrayCustom.h:
+ (WebCore::setWebGLArrayHelper):
+ * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
+ (WebCore::V8WebGLByteArray::setCallback):
+ * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
+ (WebCore::V8WebGLFloatArray::setCallback):
+ * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
+ (WebCore::V8WebGLIntArray::setCallback):
+ * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
+ (WebCore::V8WebGLShortArray::setCallback):
+ * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
+ (WebCore::V8WebGLUnsignedByteArray::setCallback):
+ * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
+ (WebCore::V8WebGLUnsignedIntArray::setCallback):
+ * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
+ (WebCore::V8WebGLUnsignedShortArray::setCallback):
+ * html/canvas/WebGLByteArray.h:
+ * html/canvas/WebGLByteArray.idl:
+ * html/canvas/WebGLFloatArray.h:
+ * html/canvas/WebGLFloatArray.idl:
+ * html/canvas/WebGLIntArray.h:
+ * html/canvas/WebGLIntArray.idl:
+ * html/canvas/WebGLShortArray.h:
+ * html/canvas/WebGLShortArray.idl:
+ * html/canvas/WebGLUnsignedByteArray.h:
+ * html/canvas/WebGLUnsignedByteArray.idl:
+ * html/canvas/WebGLUnsignedIntArray.h:
+ * html/canvas/WebGLUnsignedIntArray.idl:
+ * html/canvas/WebGLUnsignedShortArray.h:
+ * html/canvas/WebGLUnsignedShortArray.idl:
+
+2010-05-07 Pavel Feldman <pfeldman@chromium.org>
+
+ Not reviewed: chromium dev tools tests fix.
+ Add a more strict check prior to accessing constructor property in
+ Web Inspector frontend.
+
+ * inspector/front-end/InjectedScript.js:
+ (injectedScriptConstructor):
+
+2010-05-07 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Joseph Pecoraro.
+
+ Web Inspector: On Linux/Windows panel history is
+ traversed while iterating over words in text prompt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38740
+
+ * inspector/front-end/TextPrompt.js:
+ (WebInspector.TextPrompt):
+ * inspector/front-end/inspector.js:
+ (WebInspector.documentKeyDown):
+
+2010-05-07 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: come up with InjectedScript._className that works for both JSC and V8.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38755
+
+ * inspector/front-end/InjectedScript.js:
+ (injectedScriptConstructor):
+
+2010-05-07 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ document.write is not synchronous after page load
+ https://bugs.webkit.org/show_bug.cgi?id=38146
+
+ If there are no pending scripts, a document.write call should be
+ synchronous. This matches other browsers and the HTML5 spec. Forcing
+ the tokenizer to be synchronous in Document::write does not affect
+ external scripts written by the write call. This should only change
+ behavior of document.write after the page is done loading.
+
+ Difficult to test reliably due to HTMLTokenizing relying on processing time.
+ I made a manual test because the test requires processing very large strings
+ synchronously and therefore can take some time.
+
+ Test: WebCore/manual-tests/dom/document-write-synchronous-after-page-load.html
+
+ * dom/Document.cpp:
+ (WebCore::SynchronousHTMLTokenizerGuard::SynchronousHTMLTokenizerGuard): if the provided tokenizer is an HTMLTokenizer make it synchronous
+ (WebCore::SynchronousHTMLTokenizerGuard::~SynchronousHTMLTokenizerGuard): if the provided tokenizer was an HTMLTokenizer return its synchronous state
+ (WebCore::Document::write): temporarily set the tokenizer to synchronous during document.write
+ * dom/Tokenizer.h:
+ (WebCore::Tokenizer::asHTMLTokenizer): default implementation returns 0, to be overridden by HTMLTokenizer
+ * html/HTMLTokenizer.h: allow access to to the force synchronous state
+ (WebCore::HTMLTokenizer::forceSynchronous): accessor
+ (WebCore::HTMLTokenizer::asHTMLTokenizer): override the default to return itself
+ * manual-tests/dom/document-write-synchronous-after-page-load.html: Added.
+
+2010-05-07 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix rendering of -webkit-user-select: none
+
+ -webkit-user-select: none is implemented by filling
+ the area with an invalid default-constructed Color.
+ In most ports passing an invalid color down to the
+ graphics backend seems to produce transparent fills.
+
+ In Qt the behavior of painting with an invalid QColor
+ is undefined, and in practice it results in painting
+ black opaque areas.
+
+ One way to fix this would be to use Qt::transparent
+ when converting an undefined Color to a QColor, but
+ Qt does not have short circuits for fully transparent
+ painting, and we actually end up in slow code paths
+ due to the transparency. So, we're better of doing the
+ short circuit in WebKit.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38523
+
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+
+2010-05-07 Ben Murdoch <benm@google.com>
+
+ Reviewed by Darin Adler.
+
+ Potential crash in EventHandler::handleTouchEvent
+ https://bugs.webkit.org/show_bug.cgi?id=38646
+
+ Fix a ref counting bug that can cause a crash if the m_originatingouchPointTargets
+ hashmap holds the last ref to an EventTarget when the user lifts their finger.
+
+ This is very hard to reproduce in a consistent way and clearly a
+ simple logic error in the code, therefore no new tests.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleTouchEvent): Don't let the RefPtr we get back from
+ the hasmap go out of scope so soon as it could delete the wrapped ptr if the
+ hashmap held the last ref (and we use the raw ptr that the RefPtr
+ wraps later in the WebCore::Touch constructor).
+
+2010-05-07 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Rubber-stamped by Kenneth Rohde Christiansen.
+
+ [GTK] Fails to build on GTK+ < 2.14
+ https://bugs.webkit.org/show_bug.cgi?id=38746
+
+ Build fix only. Do basically the same as gtk_adjustment_configure
+ would do if we are bellow GTK+ 2.14.
+
+ * platform/gtk/ScrollViewGtk.cpp:
+ (WebCore::AdjustmentConfigure):
+
+2010-05-07 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Rubber-stamped by Xan Lopez.
+
+ Crash with MgOpenModerna font, with non-UTF-8 character
+ https://bugs.webkit.org/show_bug.cgi?id=37795
+
+ NULL-check the font platform data, for now, to avoid the crash.
+
+ Could not yet figure out a way to get a test written that does not
+ involve adding the font to the tree, but there are doubts about
+ licensing.
+
+ * platform/graphics/cairo/FontCacheCairo.cpp:
+ (WebCore::FontCache::getFontDataForCharacters):
+
+2010-05-07 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Eric Seidel.
+
+ [Chromium] RenderThemeChromiumMac.mm should share the code with RenderThemeMac.mm
+ https://bugs.webkit.org/show_bug.cgi?id=37204
+
+ Made RenderThemeChromiumMac subclass of RenderThemeMac, instead of RenderTheme.
+ Added some method to RenderThemeMac for overriding on RenderThemeChromiumMac.
+
+ No new tests; Should have no behavioural change.
+
+ * WebCore.gyp/WebCore.gyp:
+ * rendering/RenderThemeChromiumMac.h:
+ * rendering/RenderThemeChromiumMac.mm:
+ (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
+ (WebCore::RenderThemeChromiumMac::documentViewFor):
+ (WebCore::RenderThemeChromiumMac::adjustMediaSliderThumbSize):
+ (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderTrack):
+ (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderThumb):
+ * rendering/RenderThemeMac.h:
+ (WebCore::RenderThemeMac::updateActiveState): Added for overriding
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::usesTestModeFocusRingColor): Added for overriding
+ (WebCore::RenderThemeMac::documentViewFor): Added for overriding
+ (WebCore::RenderThemeMac::paintMenuList):
+ (WebCore::RenderThemeMac::setPopupButtonCellState):
+ (WebCore::RenderThemeMac::paintSliderThumb):
+ (WebCore::RenderThemeMac::paintSearchField):
+ (WebCore::RenderThemeMac::setSearchCellState):
+ (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
+ (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
+ (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
+ (WebCore::RenderThemeMac::adjustSliderThumbSize):
+ (WebCore::RenderThemeMac::adjustMediaSliderThumbSize): Added for overriding
+ (WebCore::RenderThemeMac::extraMediaControlsStyleSheet):
+
+2010-05-06 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ JavaScriptCore/wtf/RandomNumber.h should provide using WTF::*
+ https://bugs.webkit.org/show_bug.cgi?id=38719
+
+ * platform/graphics/wince/FontCustomPlatformData.cpp:
+ (WebCore::createUniqueFontName):
+ Remove WTF:: prefix from randomNumber()
+ * platform/network/FormDataBuilder.cpp:
+ (WebCore::FormDataBuilder::generateUniqueBoundaryString):
+ Ditto.
+
+2010-04-27 Tony Chang <tony@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ [chromium] clicking a scrollbar in an iframe shouldn't lose the selection
+ https://bugs.webkit.org/show_bug.cgi?id=38189
+
+ Test: fast/events/mousedown-in-subframe-scrollbar.html
+
+ * page/chromium/EventHandlerChromium.cpp:
+ (WebCore::EventHandler::passMousePressEventToSubframe): If clicking on
+ a scrollbar, pass the event directly to the scrollbar. This matches
+ mac which passes the event to the NSScroller.
+
+2010-05-06 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Compositing layers that are clipped out by an overflow:scroll parent fail to get created on reveal
+ https://bugs.webkit.org/show_bug.cgi?id=38712
+
+ When compositing layer creation is testing layer overlap, we need to re-run the
+ algorithm when an overflow:scroll element scrolls, to create new layers for revealed
+ elements.
+
+ Test: compositing/layer-creation/overflow-scroll-overlap.html
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::scrollToOffset): First, move the compositing updates
+ until after the call to updateWidgetPositions(), so that this order is similar
+ to what we done when a FrameView scrolls. This change has no known side effects.
+ Second, if compositingConsultsOverlap() is true, we need to actually do a
+ compositing layer update to compute whether revealed/hidden layers should
+ be created/destroyed.
+
+2010-05-06 Maciej Stachowiak <mjs@apple.com>
+
+ Not reviewed, build fix.
+
+ Try again - with quotes this time. *facepalm*
+
+ * dom/Notation.cpp:
+
+2010-05-06 Maciej Stachowiak <mjs@apple.com>
+
+ Not reviewed, build fix.
+
+ Speculative fix for Qt and Gtk.
+
+ * dom/Notation.cpp:
+
+2010-05-06 Maciej Stachowiak <mjs@apple.com>
+
+ Not reviewed, build fix.
+
+ Fix an assert that I failed to update in my earlier change.
+
+ * dom/CharacterData.h:
+ (WebCore::CharacterData::CharacterData):
+
+2010-05-06 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38697
+ REGRESSION (r58299): Replying on reddit.com no longer works
+
+ * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Don't recognize :first,
+ :left and :right. The aren't allowed in all contexts, and properly implementing them is out
+ of scope for this regression fix.
+
+2010-05-06 Jian Li <jianli@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Improve code generator scripts to support converting ScriptString.
+ https://bugs.webkit.org/show_bug.cgi?id=38699
+
+ Change both JSC and V8 generators to introduce "ConvertScriptString"
+ attribute to allow converting from ScriptString. Also updated the
+ bindings test result.
+
+ These changes are necessary in order to avoid adding custom binding codes
+ when we add the FileReader interface.
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
+ (webkit_dom_test_obj_get_script_string_attr):
+ (webkit_dom_test_obj_get_property):
+ (webkit_dom_test_obj_class_init):
+ * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore::):
+ (WebCore::jsTestObjScriptStringAttr):
+ * bindings/scripts/test/JS/JSTestObj.h:
+ * bindings/scripts/test/ObjC/DOMTestObj.h:
+ * bindings/scripts/test/ObjC/DOMTestObj.mm:
+ (-[DOMTestObj scriptStringAttr]):
+ * bindings/scripts/test/TestObj.idl:
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::TestObjInternal::scriptStringAttrAttrGetter):
+ (WebCore::):
+
+2010-05-06 Jian Li <jianli@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Improve code generator scripts to pass additional ScriptExecutionContext
+ argument to the constructor.
+ https://bugs.webkit.org/show_bug.cgi?id=38687
+
+ Change both JSC and V8 generators to introduce "CallWith=ScriptExecutionContext"
+ attribute to allow passing the additional ScriptExecutionContext argument to
+ the constructor. Also add another test IDL file to test interface-level
+ features.
+
+ These changes are necessary in order to avoid adding custom binding codes
+ when we add the FileReader interface.
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: Added.
+ * bindings/scripts/test/GObject/WebKitDOMTestInterface.h: Added.
+ * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h: Added.
+ * bindings/scripts/test/JS/JSTestInterface.cpp: Added.
+ * bindings/scripts/test/JS/JSTestInterface.h: Added.
+ * bindings/scripts/test/ObjC/DOMTestInterface.h: Added.
+ * bindings/scripts/test/ObjC/DOMTestInterface.mm: Added.
+ * bindings/scripts/test/ObjC/DOMTestInterfaceInternal.h: Added.
+ * bindings/scripts/test/TestInterface.idl: Added.
+ * bindings/scripts/test/V8/V8TestInterface.cpp: Added.
+ * bindings/scripts/test/V8/V8TestInterface.h: Added.
+ * bindings/v8/V8Proxy.h:
+ (WebCore::V8Proxy::constructDOMObjectWithScriptExecutionContext):
+
+2010-05-06 Maciej Stachowiak <mjs@apple.com>
+
+ Build fix, not reviewed.
+
+ Speculative Windows and Debug build fixes for the last change.
+
+ * dom/Node.h:
+ (WebCore::Node::inDocument):
+ (WebCore::Node::setFlag):
+
+2010-05-06 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Fix warnings emitted by gcc 4.4.1 on linux in chromium-specific platform graphics files.
+ https://bugs.webkit.org/show_bug.cgi?id=38158
+
+ Fixes:
+ - replace NULL with 0
+ - remove unusued locals
+ - add parens around ambiguous looking compound predicates like (a || b && c)
+
+ This also adds a check for x >= 0 to FontLinux.cpp's in this statement:
+ if (x < walker.width())
+ This is more documentation than anything else since walker.width() returns
+ an unsigned the current behavior is that x is promoted to unsigned and as
+ long as x + walker.width() is less than 2^31 all negative values of x
+ end up wrapping around and not being < walker.width(). This behavior is
+ tested by fast/text/international/khmer-selection.html
+
+ * platform/graphics/chromium/FontLinux.cpp:
+ (WebCore::adjustTextRenderMode):
+ (WebCore::TextRunWalker::TextRunWalker):
+ (WebCore::TextRunWalker::length):
+ (WebCore::TextRunWalker::width):
+ (WebCore::TextRunWalker::getTextRun):
+ (WebCore::TextRunWalker::getNormalizedTextRun):
+ (WebCore::Font::offsetForPositionForComplexText):
+ * platform/graphics/chromium/FontPlatformDataLinux.cpp:
+ (WebCore::FontPlatformData::setupPaint):
+ * platform/graphics/chromium/HarfbuzzSkia.cpp:
+ (WebCore::getOutlinePoint):
+ * platform/graphics/skia/GraphicsContext3DSkia.cpp:
+ (WebCore::GraphicsContext3D::getImageData):
+ * platform/graphics/skia/GraphicsContextSkia.cpp:
+ (WebCore::isCoordinateSkiaSafe):
+ (WebCore::GraphicsContext::fillRect):
+ (WebCore::GraphicsContext::strokePath):
+ (WebCore::GraphicsContext::strokeRect):
+
+2010-05-06 Ada Chan <adachan@apple.com>
+
+ Reviewed by David Kilzer.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38695
+
+ Check the result from widget() for NULL before accessing it.
+
+ * rendering/RenderIFrame.cpp:
+ (WebCore::RenderIFrame::calcHeight):
+ (WebCore::RenderIFrame::calcWidth):
+
+2010-05-06 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Darin Adler.
+
+ further fixes towards REGRESSION (r57292): 1% PLT regression from visited link information leak fix
+ https://bugs.webkit.org/show_bug.cgi?id=38682
+ <rdar://problem/7859794>
+
+ Looks like a 1-2% speedup on PLT.
+
+ - Reorder CSS properties.
+ - Remove short circuit tag check in matchRulesForList which costs more than it saves.
+ - Inline initForStyleResolve.
+ - Optimize applyDeclarations to avoid switch and take fewer branches in the inner loop.
+
+ - Change the way Node handles flags - replace bitfield with a uint32_t and explicit masking,
+ to make it cheaper to initialize the bits and give faster access.
+ - Added new Node flags to check for isStyledElement, isHTMLElement, isSVGElement, isComment,
+ and devirtualize those methods.
+ - Inline constructors for Node, Element, Text, CharacterData, StyledElement, etc since
+ they are very simple and lots of nodes get constructed.
+
+ * css/CSSPropertyNames.in: Move a few of the properties up front so we can check for them
+ with < instead of switch statements
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::matchRulesForList): Remove unnecessary preflight check
+ for tag match before checking selector. This check very rarely short circuits anything,
+ since most rules with a tag end up in the appropriate tag bucket. So doing the check
+ cost more time than the time saved.
+ (WebCore::CSSStyleSelector::initForStyleResolve): Inline. Create RenderStyle in a better way.
+ (WebCore::CSSStyleSelector::applyDeclarations): Get rid of switch statement and use <= to
+ check for the high priority properties. Convert to template to avoid checking "applyFirst"
+ each time through the loop.
+ (WebCore::CSSStyleSelector::styleForElement): Adjust for new applyDeclarations() signature.
+ (WebCore::CSSStyleSelector::keyframeStylesForAnimation): ditto
+ (WebCore::CSSStyleSelector::pseudoStyleForElement): ditto
+ * css/CSSStyleSelector.h: Adjust for new applyDeclarations() signature.
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::RenderStyle): Inline constructor.
+ * rendering/style/RenderStyle.h: Make constructor private so it can be inline.
+ * dom/Node.h:
+ (WebCore::): See high-level description of changes above. Redid the
+ way boolean flags work.
+ (WebCore::Node::isElementNode):
+ (WebCore::Node::isContainerNode):
+ (WebCore::Node::isTextNode):
+ (WebCore::Node::isHTMLElement):
+ (WebCore::Node::isSVGElement):
+ (WebCore::Node::isStyledElement):
+ (WebCore::Node::isCommentNode):
+ (WebCore::Node::hasID):
+ (WebCore::Node::hasClass):
+ (WebCore::Node::active):
+ (WebCore::Node::inActiveChain):
+ (WebCore::Node::inDetach):
+ (WebCore::Node::hovered):
+ (WebCore::Node::attached):
+ (WebCore::Node::setAttached):
+ (WebCore::Node::needsStyleRecalc):
+ (WebCore::Node::styleChangeType):
+ (WebCore::Node::childNeedsStyleRecalc):
+ (WebCore::Node::isLink):
+ (WebCore::Node::setHasID):
+ (WebCore::Node::setHasClass):
+ (WebCore::Node::setChildNeedsStyleRecalc):
+ (WebCore::Node::clearChildNeedsStyleRecalc):
+ (WebCore::Node::setInDocument):
+ (WebCore::Node::clearInDocument):
+ (WebCore::Node::setInActiveChain):
+ (WebCore::Node::clearInActiveChain):
+ (WebCore::Node::setIsLink):
+ (WebCore::Node::clearIsLink):
+ (WebCore::Node::setActive):
+ (WebCore::Node::setHovered):
+ (WebCore::Node::inDocument):
+ (WebCore::Node::):
+ (WebCore::Node::getFlag):
+ (WebCore::Node::setFlag):
+ (WebCore::Node::clearFlag):
+ (WebCore::Node::hasRareData):
+ (WebCore::Node::isParsingChildrenFinished):
+ (WebCore::Node::setIsParsingChildrenFinished):
+ (WebCore::Node::clearIsParsingChildrenFinished):
+ (WebCore::Node::isStyleAttributeValid):
+ (WebCore::Node::setIsStyleAttributeValid):
+ (WebCore::Node::clearIsStyleAttributeValid):
+ (WebCore::Node::isSynchronizingStyleAttribute):
+ (WebCore::Node::setIsSynchronizingStyleAttribute):
+ (WebCore::Node::clearIsSynchronizingStyleAttribute):
+ (WebCore::Node::areSVGAttributesValid):
+ (WebCore::Node::setAreSVGAttributesValid):
+ (WebCore::Node::clearAreSVGAttributesValid):
+ (WebCore::Node::isSynchronizingSVGAttributes):
+ (WebCore::Node::setIsSynchronizingSVGAttributes):
+ (WebCore::Node::clearIsSynchronizingSVGAttributes):
+ (WebCore::Node::hasRareSVGData):
+ (WebCore::Node::setHasRareSVGData):
+ (WebCore::Node::clearHasRareSVGData):
+ (WebCore::Node::initialRefCount):
+ * dom/Node.cpp:
+ (WebCore::Node::trackForDebugging): Adjusted for changes in
+ flag handling.
+ (WebCore::Node::ensureRareData): ditto
+ (WebCore::Node::setStyleChange): ditto
+ (WebCore::Node::setNeedsStyleRecalc): ditto
+ (WebCore::Node::lazyAttach): ditto
+ (WebCore::Node::attach): ditto
+ (WebCore::Node::detach): ditto
+ (WebCore::Node::insertedIntoDocument): ditto
+ (WebCore::Node::removedFromDocument): ditto
+ * dom/CharacterData.cpp:
+ * dom/CharacterData.h:
+ (WebCore::CharacterData::CharacterData): Inline the constructor (moved from .cpp)
+ * dom/Comment.cpp:
+ (WebCore::Comment::Comment): Tell the base class that we're a comment.
+ * dom/Comment.h: Remove isCommentNode override.
+ * dom/ContainerNode.cpp:
+ (WebCore::ContainerNode::detach): Adjusted for changes in flag
+ handling.
+ (WebCore::ContainerNode::removedFromDocument): ditto
+ * dom/Document.cpp:
+ (WebCore::Document::Document): Adjusted for changes in flag handling.
+ (WebCore::Document::recalcStyle): ditto
+ (WebCore::Document::setFocusedNode): ditto
+ * dom/Document.h:
+ (WebCore::Node::Node): Inline the Node constructor - goes here
+ because it uses Document.
+ * dom/DocumentFragment.cpp: include Document.h due to above change
+ * dom/EditingText.cpp: ditto
+ * dom/EntityReference.cpp: ditto
+ * dom/Element.cpp:
+ (WebCore::Element::getAttribute): Adjusted for changes in flag
+ handling.
+ (WebCore::Element::setAttribute): ditto
+ (WebCore::Element::hasAttributes): ditto
+ (WebCore::Element::recalcStyle): ditto
+ (WebCore::Element::finishParsingChildren): ditto
+ * dom/Element.h:
+ (WebCore::Element::Element): Inline (moved from .cpp)
+ (WebCore::Element::isFinishedParsingChildren):
+ (WebCore::Element::beginParsingChildren):
+ (WebCore::Element::attributes): Adjusted for changes in flag
+ handling.
+ * dom/StyledElement.cpp:
+ (WebCore::StyledElement::updateStyleAttribute): Adjust for
+ changes to flag handling.
+ (WebCore::StyledElement::mapToEntry): ditto
+ (WebCore::StyledElement::parseMappedAttribute): ditto
+ (WebCore::StyledElement::copyNonAttributeProperties): ditto
+ * dom/StyledElement.h:
+ (WebCore::StyledElement::StyledElement): Inline (moved from.cpp)
+ (WebCore::StyledElement::invalidateStyleAttribute): Adjust for
+ changes in flag handling.
+ * dom/Text.h:
+ (WebCore::Text::Text): Inline (moved from .cpp)
+ * dom/Text.cpp:
+ * html/HTMLAnchorElement.cpp:
+ (WebCore::HTMLAnchorElement::HTMLAnchorElement): Adjust for changes in
+ flag handling.
+ (WebCore::HTMLAnchorElement::parseMappedAttribute): ditto
+ * html/HTMLElement.cpp:
+ (WebCore::HTMLElement::create): Tell base class we're an HTML element.
+ * html/HTMLElement.h: ditto above; remove isHTMLElement override.
+ * html/HTMLFormControlElement.h: Tell base class we're an HTML element.
+ * html/HTMLFrameOwnerElement.cpp:
+ (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement): ditto
+ * html/HTMLProgressElement.cpp:
+ (WebCore::HTMLProgressElement::HTMLProgressElement): ditto
+ * mathml/MathMLElement.cpp:
+ (WebCore::MathMLElement::MathMLElement): Tell base class we're a styled
+ element.
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
+ Adjust for changes in flag handling.
+ (WebCore::MediaControlElement::MediaControlElement): ditto
+ (WebCore::MediaControlInputElement::MediaControlInputElement): ditto
+ * rendering/RenderFileUploadControl.cpp:
+ (WebCore::RenderFileUploadControl::updateFromElement): ditto
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateHoverActiveState): ditto
+ * rendering/RenderProgress.cpp:
+ (WebCore::RenderProgress::updateValuePartState): ditto
+ * rendering/RenderSlider.cpp:
+ (WebCore::RenderSlider::updateFromElement): ditto
+ * rendering/SVGShadowTreeElements.cpp:
+ (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement): ditto
+ * rendering/TextControlInnerElements.cpp:
+ (WebCore::TextControlInnerElement::attachInnerElement): ditto
+ * svg/SVGAnimatedProperty.h:
+ (WebCore::SVGAnimatedPropertyTearOff::setBaseVal): ditto
+ (WebCore::SVGAnimatedPropertyTearOff::setAnimVal): ditto
+ * svg/SVGElement.cpp:
+ (WebCore::SVGElement::SVGElement): Tell base class we're
+ an svg element.
+ (WebCore::SVGElement::ensureRareSVGData): Adjust for flag handling
+ changes.
+ (WebCore::SVGElement::updateAnimatedSVGAttribute): ditto
+ * svg/SVGElement.h:
+ (WebCore::SVGElement::invalidateSVGAttributes): ditto
+ * svg/SVGPolyElement.cpp:
+ (WebCore::SVGPolyElement::svgAttributeChanged): ditto
+ * wml/WMLAnchorElement.cpp:
+ (WebCore::WMLAnchorElement::WMLAnchorElement): ditto
+ * wml/WMLElement.cpp:
+ (WebCore::WMLElement::WMLElement): Tell base class we're a styled
+ element.
+
+2010-05-06 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Fix indent. Sorry, my OCD was acting up.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMouseReleaseEvent):
+
+2010-05-06 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Joseph Pecoraro.
+
+ Web Inspector: store selected Headers / Content tab on explicit switch and/or explicit navigate only.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38660
+
+ * inspector/front-end/ResourceView.js:
+ (WebInspector.ResourceView):
+ (WebInspector.ResourceView.prototype._selectHeadersTab):
+ (WebInspector.ResourceView.prototype.selectContentTab):
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype.showResource):
+
+2010-05-06 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Rubber-stamped by Simon Hausmann.
+
+ [Qt] use QT_MOBILE_THEME in Symbian
+ https://bugs.webkit.org/show_bug.cgi?id=38440
+
+ Putting QT_MOBILE_THEME into use for Symbian.
+
+ * WebCore.pro:
+
+2010-05-06 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Unreviewed, build fix WinCE for QtWebKit.
+
+ [Qt] Compilation with Plugins disabled is broken
+ https://bugs.webkit.org/show_bug.cgi?id=31407
+
+ Rename platform/qt/TemporaryLinkStubs.cpp to avoid name collition on
+ Windows.
+
+ Thanks for Ismail "cartman" Donmez for help.
+
+ No new tests, as there is no new functionality.
+
+ * WebCore.gypi:
+ * WebCore.pro:
+ * platform/qt/TemporaryLinkStubs.cpp: Removed.
+ * platform/qt/TemporaryLinkStubsQt.cpp: Copied from WebCore/platform/qt/TemporaryLinkStubs.cpp.
+
+2010-05-06 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] REGRESSION: Loading of external CSS and JS files over network fails in some cases
+ https://bugs.webkit.org/show_bug.cgi?id=36755
+
+ Enable the direct connection between QtNetwork and QtWebKit only for Qt versions
+ greater than 4.6.2, due to a bug in Qt that's been fixed after 4.6.2.
+
+ * platform/network/qt/QNetworkReplyHandler.cpp:
+
+2010-05-06 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Xan Lopez.
+
+ Rework where we get page step and line step from, so we do not
+ depend on scrollbars existing. Caught by API test I forgot to run.
+
+ * platform/gtk/ScrollViewGtk.cpp:
+ (WebCore::ScrollView::setGtkAdjustments):
+
+2010-05-06 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] Adjustment resetting uses wrong values, and misses page_size and steps
+ https://bugs.webkit.org/show_bug.cgi?id=38657
+
+ Fix resetting adjustment values. In the page cache case, we were
+ confusing page_size and upper, leading to stray scrollbars
+ sometimes.
+
+ * platform/gtk/ScrollViewGtk.cpp:
+ (WebCore::ScrollView::setGtkAdjustments):
+
+2010-05-06 Darin Adler <darin@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ Page::setCanStartMedia does not properly handle the case where a media listener is removed
+ https://bugs.webkit.org/show_bug.cgi?id=38602
+
+ We can't find any real case where this causes a crash at this time, but
+ we want to harden the code anyway. Thus there are no new regression tests.
+
+ * page/Page.cpp:
+ (WebCore::Page::removeMediaCanStartListener): Removed incorrect assertion.
+ (WebCore::Page::setCanStartMedia): Change algorithm so we notify listeners
+ one at a time and don't notify any listener that has already been removed
+ from the set.
+
+2010-05-05 Ojan Vafai <ojan@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ shift+click on an existing selection doesn't work right
+ https://bugs.webkit.org/show_bug.cgi?id=36542
+
+ NSTextView behavior is to move the end of the selection
+ closest to the shift-click. Win/Linux behavior is to always
+ move the focus end of the selection.
+
+ Test: editing/selection/shift-click.html
+
+ * page/EventHandler.cpp:
+ (WebCore::textDistance):
+ (WebCore::EventHandler::handleMousePressEventSingleClick):
+
+2010-05-06 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: implement panels history traversal on Cmd+Left/Right.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38649
+
+ * inspector/front-end/inspector.js:
+ (WebInspector.set currentPanel):
+ (WebInspector.loaded):
+ (WebInspector.documentKeyDown):
+ (WebInspector.PanelHistory):
+ (WebInspector.PanelHistory.prototype.canGoBack):
+ (WebInspector.PanelHistory.prototype.goBack):
+ (WebInspector.PanelHistory.prototype.canGoForward):
+ (WebInspector.PanelHistory.prototype.goForward):
+ (WebInspector.PanelHistory.prototype.setPanel):
+
+2010-05-03 Evan Martin <evan@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ [chromium] use glyphDataForCharacter so we hit the glyphdata cache
+ https://bugs.webkit.org/show_bug.cgi?id=38500
+
+ Calling fontDataForCharacters() while rendering text is expensive.
+ Examining the relevant Mac code in WebKit revealed that calling the
+ similarly-named glyphDataForCharacters() results in caching the font
+ data on a per-glyph basis.
+
+ Since we now choose a font based on the first character in a run, we
+ need to be careful that all the glyphs within the run use the same font.
+ This is also similar to the WebKit Mac code. We need to remove all of
+ the script run bits eventually and this is a step in that direction.
+
+ Tests: fast/text/international/danda-space.html spacing changes slightly
+ (now matches Firefox better) and fast/text/international/thai-baht-space.html
+ now picks the correct (serif) font for the digits.
+
+ * platform/graphics/chromium/FontLinux.cpp:
+ (WebCore::TextRunWalker::nextScriptRun):
+ (WebCore::TextRunWalker::setupFontForScriptRun):
+
+2010-05-06 Martin Robinson <mrobinson@webkit.org>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ [GTK] Enable DOM clipboard and drag-and-drop access
+ https://bugs.webkit.org/show_bug.cgi?id=30623
+
+ Convert dragging portion of drag-and-drop to use DataObjectGtk.
+
+ No new tests, because functionality has not changed.
+
+ * page/gtk/EventHandlerGtk.cpp:
+ (WebCore::EventHandler::createDraggingClipboard): Pass the DataObjectGtk as a parameter here.
+ * platform/gtk/ClipboardGtk.h:
+ (WebCore::ClipboardGtk::create): Take the DataObject as a parameter instead of creating it here.
+ (WebCore::ClipboardGtk::helper): Added.
+ (WebCore::ClipboardGtk::dataObject): Added.
+ * platform/gtk/PasteboardHelper.h: Make targetListForDataObject a public method.
+
+2010-05-06 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Do not show content tab for resources
+ not supporting content preview.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38635
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/FontView.js:
+ (WebInspector.FontView.prototype.hasContentTab):
+ * inspector/front-end/ImageView.js:
+ (WebInspector.ImageView.prototype.hasContentTab):
+ * inspector/front-end/ResourceView.js:
+ (WebInspector.ResourceView):
+ (WebInspector.ResourceView.prototype._selectTab):
+ (WebInspector.ResourceView.prototype.hasContentTab):
+ * inspector/front-end/SourceView.js:
+ (WebInspector.SourceView.prototype.hasContentTab):
+
+2010-05-06 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Kenneth Christiansen.
+
+ Spatial Navigation: adapt the logic of {deep}findFocusableNodeInDirection to do traversal starting from Node* not Document*
+ https://bugs.webkit.org/show_bug.cgi?id=37803
+
+ Instead of receiving a Document pointer as incoming parameter, patch modifies
+ findFocusableNodeInDirection and deepFindFocusableNodeInDirection methods to
+ receive a Node pointer as start for content traversal.
+ This way we can make good use of deepFindFocusableNodeInDirection to traverse
+ other scrollable container like scrollable div's, and not only frames or iframes.
+
+ Patch also makes use of 'while' instead of 'for' to loop control, that gives move
+ flexibility to the incremental step: e.g. if a scrollable div was processed, the incremental
+ step in the loop does not have to do node->traverseNextNode() but node->traverseNextSibling().
+
+ No behavior change. It is a preparation for supporting scrollable containers in Spatial
+ Navigation.
+
+ * page/FocusController.cpp:
+ (WebCore::FocusController::advanceFocusDirectionally):
+ (WebCore::FocusController::findFocusableNodeInDirection):
+ (WebCore::FocusController::deepFindFocusableNodeInDirection):
+ * page/FocusController.h:
+
+2010-05-06 Csaba Osztrogonác <ossy@webkit.org>
+
+ Unreviewed WinCE buildfix after r58842.
+ Preprocessor doesn't understand "true", changed to "1"
+
+ * platform/graphics/MediaPlayer.cpp:
+
+2010-05-06 Mikhail Naganov <mnaganov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Temporarily disable 'console.profiles' until we can distinguish
+ functions from different frames
+
+ https://bugs.webkit.org/show_bug.cgi?id=38638
+
+ * bindings/v8/custom/V8ConsoleCustom.cpp:
+ (WebCore::V8Console::profilesAccessorGetter):
+
+2010-05-06 Steve Block <steveblock@google.com>
+
+ Reviewed by Eric Seidel.
+
+ MAC_JAVA_BRIDGE should be renamed JAVA_BRIDGE
+ https://bugs.webkit.org/show_bug.cgi?id=38544
+
+ No new tests, build fix only.
+
+ * DerivedSources.make:
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::ScriptController):
+ * bindings/js/ScriptController.h:
+ * bindings/js/ScriptControllerMac.mm:
+ (WebCore::ScriptController::createScriptInstanceForWidget):
+ * bridge/jni/JNIBridge.cpp:
+ * bridge/jni/JNIBridge.h:
+ * bridge/jni/JNIUtility.cpp:
+ * bridge/jni/JNIUtility.h:
+ * bridge/jni/jni_jsobject.h:
+ * bridge/jni/jni_jsobject.mm:
+ * bridge/jni/jni_objc.mm:
+ * bridge/jni/jsc/JNIBridgeJSC.cpp:
+ * bridge/jni/jsc/JNIBridgeJSC.h:
+ * bridge/jni/jsc/JNIUtilityPrivate.cpp:
+ * bridge/jni/jsc/JNIUtilityPrivate.h:
+ * bridge/jni/jsc/JavaClassJSC.cpp:
+ * bridge/jni/jsc/JavaClassJSC.h:
+ * bridge/jni/jsc/JavaInstanceJSC.cpp:
+ * bridge/jni/jsc/JavaInstanceJSC.h:
+ * loader/FrameLoaderClient.h:
+
+2010-05-05 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ Fixed the gobject introspection compilation with the new DOM
+ bindings, we needed to add DOM objects.
+
+ * GNUmakefile.am:
+
+2010-05-06 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ drop support for sessionStorage in sandbox iframes
+ https://bugs.webkit.org/show_bug.cgi?id=38151
+
+ This patch causes us to throw a security exception when a sandboxed
+ iframe attempts to access sessionStorage, matching our behavior for
+ localStorage. The letter of the spec asks us to create a separate
+ storage area for each unique origin. We might want to do that in a
+ future patch, but throwing a security error seems like a safe move now.
+
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::sessionStorage):
+ (WebCore::DOMWindow::localStorage):
+ * page/DOMWindow.h:
+ * page/DOMWindow.idl:
+ * page/SecurityOrigin.h:
+ (WebCore::SecurityOrigin::canAccessSessionStorage):
+ * storage/StorageEventDispatcher.cpp:
+ (WebCore::StorageEventDispatcher::dispatch):
+
+2010-05-06 Andy Estes <aestes@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Allow forms submitting to target="_blank" to open popups if the submission
+ originated from a user gesture.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37335
+ <rdar://problem/7884980>
+
+ Test: fast/events/popup-allowed-from-gesture-initiated-form-submit.html
+
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::processingUserGesture): If no DOM event is
+ being processed, consult UserGestureIndicator to determine return value.
+ * bindings/js/ScriptController.h: Moved the logic of processingUserGestureEvent()
+ into processingUserGesture().
+
+2010-05-06 Xan Lopez <xlopez@igalia.com>
+
+ Rubber-stamped by Eric Seidel.
+
+ [GTK] Refactor GenerateProperties in CodeGenerationGObject.pm
+ https://bugs.webkit.org/show_bug.cgi?id=38577
+
+ Thinko caught while refactoring, $custom variable was not
+ initialized.
+
+ * bindings/scripts/CodeGeneratorGObject.pm:
+ * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
+ (webkit_dom_test_obj_set_property):
+ (webkit_dom_test_obj_get_property):
+ (webkit_dom_test_obj_class_init):
+
+2010-05-06 Xan Lopez <xlopez@igalia.com>
+
+ Rubber-stamped by Eric Seidel.
+
+ [GTK] Refactor GenerateProperties in CodeGenerationGObject.pm
+ https://bugs.webkit.org/show_bug.cgi?id=38577
+
+ Refactor GenerateProperty out of GenerateProperties. This is in
+ preparation for EventListeren attributes, which won't generate
+ normal GObject properties.
+
+ * bindings/scripts/CodeGeneratorGObject.pm:
+
+2010-05-06 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Joseph Pecoraro.
+
+ Web Inspector: follow up to linkify event listeners.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38257
+
+ * bindings/js/ScriptEventListener.cpp:
+ (WebCore::eventListenerHandlerLocation):
+ * bindings/v8/ScriptEventListener.cpp:
+ (WebCore::eventListenerHandlerLocation):
+ * inspector/front-end/ElementsPanel.js:
+ (WebInspector.ElementsPanel.prototype.linkifyNodeReference):
+ * inspector/front-end/EventListenersSidebarPane.js:
+
+2010-05-05 Charles Wei <charles.wei@torchmobile.com.cn>
+
+ Reviewed by George Staikos
+
+ https://bugs.webkit.org/show_bug.cgi?id=37848
+ This patch adds WCSS -wap-input-format and -wap-input-required support to WebKit
+
+ Tests: fast/wcss/wap-input-format.xhtml
+ fast/wcss/wap-input-required.xhtml
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue):
+ (WebCore::CSSParser::parseWCSSInputProperty):
+ * css/CSSParser.h:
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty):
+ * css/WCSSPropertyNames.in:
+ * dom/InputElement.cpp:
+ (WebCore::InputElement::sanitizeValue):
+ (WebCore::InputElement::handleBeforeTextInsertedEvent):
+ (WebCore::InputElementData::InputElementData):
+ (WebCore::formatCodes):
+ (WebCore::cursorPositionToMaskIndex):
+ (WebCore::InputElement::isConformToInputMask):
+ (WebCore::InputElement::validateInputMask):
+ * dom/InputElement.h:
+ (WebCore::InputElementData::inputFormatMask):
+ (WebCore::InputElementData::setInputFormatMask):
+ (WebCore::InputElementData::maxInputCharsAllowed):
+ (WebCore::InputElementData::setMaxInputCharsAllowed):
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::setWapInputFormat):
+ * html/HTMLInputElement.h:
+ (WebCore::HTMLInputElement::data):
+ * wml/WMLInputElement.h:
+ (WebCore::WMLInputElement::data):
+
+2010-05-05 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38150
+ Refactoring: webkitEditableContentChangedEvent should be handled by the owner of appropriate the renderer.
+
+ Moved a part of code chunk in HTMLFormControlElementWithState::defaultEventHandler()
+ which accesses the renderer from foreign node,
+ to TextControlInnerTextElement::defaultEventHandler() which owns the renderer.
+
+ No new tests. No behavioral change.
+
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::HTMLFormControlElementWithState::defaultEventHandler):
+ * html/HTMLFormControlElement.h:
+ * html/HTMLInputElement.h:
+ * html/HTMLTextAreaElement.h:
+ * rendering/TextControlInnerElements.cpp:
+ (WebCore::TextControlInnerTextElement::defaultEventHandler):
+
+2010-05-05 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Line Numbers should be Aligned with the Source Code Line
+ https://bugs.webkit.org/show_bug.cgi?id=38593
+
+ If there is a message bubble, such as an error message, in a source view
+ the line number should be in line with the source code line, not centered
+ between the source and bubble.
+
+ * inspector/front-end/textViewer.css:
+ (.webkit-line-number): added vertical-align: top
+
+2010-05-05 Dan Bernstein <mitz@apple.com>
+
+ Fix the decelerated compositing build.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::isEnclosedInCompositingLayer):
+ * page/FrameView.h:
+
+2010-05-05 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 38604 - workers-gc2 crashing on Qt
+
+ This appears to be due to a couple of issues.
+ (1) When the atomic string table is deleted it does not clear the 'inTable' bit
+ on AtomicStrings - it implicitly assumes that all AtomicStrings have already
+ been deleted at this point (otherwise they will crash in their destructor when
+ they try to remove themselves from the atomic string table).
+ (2) We don't fix the ordering in which WTF::WTFThreadData and
+ WebCore::ThreadGlobalData are destructed.
+
+ We should make sure that ThreadGlobalData is cleaned up before worker threads
+ terminate and WTF::WTFThreadData is destroyed, and we should clear the inTable
+ bit of members on atomic string table destruction.
+
+ WTF changes (fix issue 2, above) - clean up the thread data on worker termination.
+
+ * platform/ThreadGlobalData.cpp:
+ (WebCore::ThreadGlobalData::~ThreadGlobalData):
+ (WebCore::ThreadGlobalData::destroy):
+ * platform/ThreadGlobalData.h:
+ * workers/WorkerThread.cpp:
+ (WebCore::WorkerThread::workerThread):
+
+2010-05-05 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <rdar://problem/7932072> Iframes in composited layers don’t repaint correctly (affects Yahoo! Mail with Flash Player 10.1)
+ https://bugs.webkit.org/show_bug.cgi?id=38427
+
+ Test: compositing/iframes/iframe-in-composited-layer.html
+
+ * WebCore.base.exp: Export FrameView::isEnclosedInCompositingLayer().
+ * page/FrameView.cpp:
+ (WebCore::FrameView::isEnclosedInCompositingLayer): Added this predicate.
+ * page/FrameView.h:
+
+2010-05-05 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Got composited iframes showing up on Mac again
+ https://bugs.webkit.org/show_bug.cgi?id=38565
+
+ This was broken by http://trac.webkit.org/changeset/58798. That
+ change connected iframes through the parent document to the root
+ of the layer tree. That is correct for Windows, but not for Mac.
+ So the places where the linkage is made were wrapped in
+ shouldPropagateCompositingToIFrameParent() calls, which is
+ always false for Mac.
+
+ Test: compositing/iframes/composited-iframe-alignment.html
+
+ * rendering/RenderLayerCompositor.cpp:Avoid doing composited iframe linkage on Mac
+ (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
+ (WebCore::RenderLayerCompositor::didMoveOnscreen):
+ (WebCore::RenderLayerCompositor::willMoveOffscreen):
+ (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
+
+2010-05-05 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38260
+ <rdar://problem/7917548> Fix whitespace removing in deprecatedParseURL().
+
+ Broken all the way since r4 (yes, that's a revision number).
+
+ Test: http/tests/security/xss-DENIED-javascript-with-spaces.html
+
+ * css/CSSHelper.cpp: (WebCore::deprecatedParseURL): Fixed loop conditions for remaining length.
+
+2010-05-05 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ Many AXUnknown showing up in the hierarchy
+ https://bugs.webkit.org/show_bug.cgi?id=38607
+
+ The RenderTableSection should not be an accessible element.
+
+ Test: platform/mac/accessibility/parent-of-table-row-is-table.html
+
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
+
+2010-05-05 Csaba Osztrogonác <ossy@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt]Disable Qt Multimedia backend for HTML 5 Audio and Video elements
+ Fall back to the Phonon backend until the release situation has been cleared up.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38612
+
+ Buildfix for QT_VERSION >= 0x040700 after r58810.
+
+ * platform/graphics/MediaPlayer.cpp:
+
+2010-05-05 Jian Li <jianli@chromium.org>
+
+ Reviewed by David Levin.
+
+ XMLHttpRequestUpload events do not fire when sending a raw file or FormData object.
+ https://bugs.webkit.org/show_bug.cgi?id=37771
+
+ Test: http/tests/local/formdata/upload-events.html
+
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::createRequest):
+
+2010-05-05 Csaba Osztrogonác <ossy@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Qt port should use its own QUuid class to create UUID string.
+ https://bugs.webkit.org/show_bug.cgi?id=38581
+
+ * platform/UUID.cpp:
+ (WebCore::createCanonicalUUIDString): Added PLATFORM(QT) case.
+
+2010-05-05 Alexey Proskuryakov <ap@apple.com>
+
+ Roll out r58830 for breaking tests.
+
+ Was: https://bugs.webkit.org/show_bug.cgi?id=38546
+ Node.focus() fails to move focus from subframe properly
+
+ * html/HTMLFrameElementBase.cpp:
+ (WebCore::HTMLFrameElementBase::setFocus):
+
+2010-05-05 Jian Li <jianli@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Implement FileReader class.
+ https://bugs.webkit.org/show_bug.cgi?id=38157
+
+ This patch only contains the implementation of FileReader class as defined
+ in the File API spec: http://www.w3.org/TR/file-upload/#dfn-filereader.
+
+ New test will be added when a IDL is exposed and the FILE_READER is turned
+ on.
+
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/EventNames.h:
+ * dom/EventTarget.cpp:
+ (WebCore::EventTarget::toFileReader):
+ * dom/EventTarget.h:
+ * html/FileError.h:
+ (WebCore::FileError::FileError):
+ * html/FileReader.cpp: Added.
+ * html/FileReader.h: Added.
+ * html/FileStream.cpp:
+ (WebCore::FileStream::FileStream):
+ (WebCore::FileStream::openForRead):
+ (WebCore::FileStream::close):
+ (WebCore::FileStream::read):
+ * html/FileStream.h:
+
+2010-05-05 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ REGRESSION(r57969) Image decoder is repeatedly destroyed/created in CoreGraphics-based Windows WebKit
+ https://bugs.webkit.org/show_bug.cgi?id=38595
+
+ * platform/graphics/cg/ImageSourceCG.cpp:
+ (WebCore::ImageSource::setData):
+
+2010-05-05 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38546
+ Node.focus() fails to move focus from subframe properly
+
+ Test: fast/frames/take-focus-from-iframe.html
+
+ * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::setFocus): Don't clear
+ focus if this frame doesn't have it. This can happen if page's and HTMLFrameElement's ideas
+ of focused frame get out of sync temporarily.
+
+2010-05-05 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26824
+ <rdar://problem/7018610> EventHandler can operate on a wrong frame if focus changes during
+ keyboard event dispatch.
+
+ EventHandler object is tied to a frame, so it's wrong for it to continue processing a keyboard
+ event if focused frame changes between keydown and keypress.
+
+ * manual-tests/focus-change-between-key-events.html: Added.
+
+ * page/EventHandler.cpp: (WebCore::EventHandler::keyEvent): Bail out early if focused frame
+ changes while dispatching keydown. Also made similar changes for Windows to maintain matching
+ behavior, even though EventHandler was re-entered anyway due to WM_KEYDOWN and WM_CHAR being
+ separate events.
+
+2010-05-05 Steve Block <steveblock@google.com>
+
+ Reviewed by Adam Barth.
+
+ MediaError.h is missing PassRefPtr.h include
+ https://bugs.webkit.org/show_bug.cgi?id=38575
+
+ No new tests, build fix only.
+
+ * html/MediaError.h:
+
+2010-05-05 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Audits panel: Resource counters get reset when switching panels while reloading page
+ https://bugs.webkit.org/show_bug.cgi?id=38579
+
+ * inspector/front-end/AuditLauncherView.js:
+ (WebInspector.AuditLauncherView.prototype.updateResourceTrackingState):
+ (WebInspector.AuditLauncherView.prototype._updateResourceProgress):
+
+2010-05-05 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Joseph Pecoraro.
+
+ Web Inspector: Doubleclick on line number should not trigger source editing.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38588
+
+ * inspector/front-end/TextViewer.js:
+ (WebInspector.TextViewer.prototype._handleDoubleClick):
+
+2010-05-05 Martin Robinson <mrobinson@webkit.org>
+
+ Reviewed by Gustavo Noronha.
+
+ [GTK] Enable DOM clipboard and drag-and-drop access
+ https://bugs.webkit.org/show_bug.cgi?id=30623
+
+ Add support in the PasteboardHelper for images, in preparation for drag-and-drop data.
+
+ No new tests as functionality has not changed.
+
+ * platform/gtk/PasteboardHelper.cpp:
+ (WebCore::PasteboardHelper::fillSelectionData): Add support for images here.
+ (WebCore::PasteboardHelper::targetListForDataObject): Add support for images here.
+
+2010-05-05 Stuart Morgan <stuartmorgan@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Add a "focused" parameter to Widget::setFocus, and updates Document
+ so that Widget is informed of focus loss as well as focus gain.
+ Changes all existing setFocus implementations so that they ignore
+ the 'false' case, so no behavior is changed until individual
+ platforms are updated to handle the new case (if they want to).
+
+ https://bugs.webkit.org/show_bug.cgi?id=37961
+
+ * dom/Document.cpp:
+ (WebCore::Document::setFocusedNode):
+ * platform/Widget.h:
+ * platform/android/WidgetAndroid.cpp:
+ (WebCore::Widget::setFocus):
+ * platform/chromium/WidgetChromium.cpp:
+ (WebCore::Widget::setFocus):
+ * platform/efl/WidgetEfl.cpp:
+ (WebCore::Widget::setFocus):
+ * platform/gtk/WidgetGtk.cpp:
+ (WebCore::Widget::setFocus):
+ * platform/haiku/WidgetHaiku.cpp:
+ (WebCore::Widget::setFocus):
+ * platform/mac/WidgetMac.mm:
+ (WebCore::Widget::setFocus):
+ * platform/qt/WidgetQt.cpp:
+ (WebCore::Widget::setFocus):
+ * platform/win/WidgetWin.cpp:
+ (WebCore::Widget::setFocus):
+ * platform/wx/WidgetWx.cpp:
+ (WebCore::Widget::setFocus):
+ * plugins/PluginView.h:
+ * plugins/PluginViewNone.cpp:
+ (WebCore::PluginView::setFocus):
+ * plugins/gtk/PluginViewGtk.cpp:
+ (WebCore::PluginView::setFocus):
+ * plugins/mac/PluginViewMac.cpp:
+ (WebCore::PluginView::setFocus):
+ * plugins/qt/PluginViewQt.cpp:
+ (WebCore::PluginView::setFocus):
+ * plugins/symbian/PluginViewSymbian.cpp:
+ (WebCore::PluginView::setFocus):
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::PluginView::setFocus):
+
+2010-05-05 Steve Block <steveblock@google.com>
+
+ Reviewed by Pavel Feldman.
+
+ Move V8 ScriptDebugServer::topStackFrame() to ScriptCallStack
+ https://bugs.webkit.org/show_bug.cgi?id=38531
+
+ ScriptCallStack::create() uses ScriptDebugServer::topStackFrame(), but ScriptDebugServer
+ is guarded with ENABLE(JAVASCRIPT_DEBUGGER). This prevents ScriptCallStack from being
+ built on platforms that do not define ENABLE(JAVASCRIPT_DEBUGGER).
+
+ No new tests, build fix only.
+
+ * bindings/v8/ScriptCallStack.cpp:
+ (WebCore::ScriptCallStack::callLocation):
+ (WebCore::ScriptCallStack::createUtilityContext): Helper for topStackFrame, moved from ScriptDebugServer
+ (WebCore::ScriptCallStack::topStackFrame): Moved from ScriptDebugServer
+ * bindings/v8/ScriptCallStack.h:
+ (WebCore::ScriptCallStack::utilityContext): Helper for topStackFrame, moved from ScriptDebugServer
+ * bindings/v8/ScriptDebugServer.cpp:
+ * bindings/v8/ScriptDebugServer.h:
+
+2010-05-05 Csaba Osztrogonác <ossy@webkit.org>
+
+ Rubber-stamped by Simon Hausmann.
+
+ [Qt] REGRESSION(r56869): WinCE build is broken
+ https://bugs.webkit.org/show_bug.cgi?id=36929
+
+ * WebCore.pro: LIBS += -lOle32 added.
+
+2010-05-05 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Disable Qt Multimedia backend for HTML 5 Audio and Video elements
+
+ Fall back to the Phonon backend until the release situation has been cleared up.
+
+ * WebCore.pro:
+
+2010-05-05 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ WebInspector: Clickable links to resources should be used as 'details' part for the all suitable kinds of records.
+ https://bugs.webkit.org/show_bug.cgi?id=38542
+
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
+ (WebInspector.TimelineRecordListRow):
+ (WebInspector.TimelineRecordListRow.prototype.update):
+ (WebInspector.TimelinePanel.FormattedRecord):
+ (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
+ (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
+ (WebInspector.TimelinePanel.PopupContentHelper):
+ (WebInspector.TimelinePanel.PopupContentHelper.prototype._createCell):
+ (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendTextRow):
+ (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendElementRow):
+ (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendLinkRow):
+
+2010-05-05 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Not reviewed. Add missing files generated by "run-bindings-test", after the DOMTestCallback.idl addition.
+
+ * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp: Added.
+ (WebKit::kit):
+ (webkit_dom_test_callback_callback_with_class1param):
+ (webkit_dom_test_callback_callback_with_class2param):
+ (webkit_dom_test_callback_callback_with_non_bool_return_type):
+ (WebKit::wrapTestCallback):
+ (WebKit::core):
+ (webkit_dom_test_callback_finalize):
+ (webkit_dom_test_callback_set_property):
+ (webkit_dom_test_callback_get_property):
+ (webkit_dom_test_callback_class_init):
+ (webkit_dom_test_callback_init):
+ * bindings/scripts/test/GObject/WebKitDOMTestCallback.h: Added.
+ * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h: Added.
+ * bindings/scripts/test/ObjC/DOMTestCallback.h: Added.
+ * bindings/scripts/test/ObjC/DOMTestCallback.mm: Added.
+ (-[DOMTestCallback dealloc]):
+ (-[DOMTestCallback finalize]):
+ (-[DOMTestCallback callbackWithClass1Param:]):
+ (-[DOMTestCallback callbackWithClass2Param:strArg:]):
+ (-[DOMTestCallback callbackWithNonBoolReturnType:]):
+ (-[DOMTestCallback customCallback:class6Param:]):
+ (core):
+ (kit):
+ * bindings/scripts/test/ObjC/DOMTestCallbackInternal.h: Added.
+
+2010-05-05 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: FontView needs Cleanup
+ https://bugs.webkit.org/show_bug.cgi?id=38567
+
+ FontView was missing some of the newer practices for initialization
+ that other Resource Views had. Also its width calculations could
+ result in a single character wrapping. This is general cleanup.
+
+ * inspector/front-end/FontView.js:
+ (WebInspector.FontView): move initialization into contentTabSelected
+ (WebInspector.FontView.prototype.contentTabSelected): handle initialization like other Resource Views
+ (WebInspector.FontView.prototype.updateFontPreviewSize): use a narrower width to prevent text from widowing
+
+2010-05-05 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ SVG hit testing is *way* too slow
+ https://bugs.webkit.org/show_bug.cgi?id=19312
+
+ Use the cached stroke and fill boundaries in RenderPath as a heuristik to
+ speed up SVG's hit testing.
+
+ No new tests added.
+
+ * rendering/RenderPath.cpp:
+ (WebCore::RenderPath::fillContains):
+ (WebCore::RenderPath::strokeContains):
+
+2010-05-04 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Auto-generate all Database callbacks.
+ https://bugs.webkit.org/show_bug.cgi?id=38503
+
+ * DerivedSources.cpp:
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pri:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSBindingsAllInOne.cpp:
+ * bindings/js/JSCustomSQLStatementCallback.cpp: Removed.
+ * bindings/js/JSCustomSQLStatementCallback.h: Removed.
+ * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
+ (WebCore::JSSQLStatementErrorCallback::handleEvent):
+ * bindings/js/JSCustomSQLStatementErrorCallback.h: Removed.
+ * bindings/js/JSCustomSQLTransactionCallback.cpp: Removed.
+ * bindings/js/JSCustomSQLTransactionCallback.h: Removed.
+ * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: Removed.
+ * bindings/js/JSCustomSQLTransactionErrorCallback.h: Removed.
+ * bindings/js/JSDatabaseCallback.cpp: Removed.
+ * bindings/js/JSDatabaseCallback.h: Removed.
+ * bindings/js/JSDatabaseCustom.cpp:
+ (WebCore::JSDatabase::changeVersion):
+ (WebCore::createTransaction):
+ * bindings/js/JSSQLTransactionCustom.cpp:
+ (WebCore::JSSQLTransaction::executeSql):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bindings/scripts/test/JS/JSTestCallback.cpp:
+ * bindings/v8/custom/V8CustomSQLStatementCallback.cpp: Removed.
+ * bindings/v8/custom/V8CustomSQLStatementCallback.h: Removed.
+ * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
+ (WebCore::V8SQLStatementErrorCallback::handleEvent):
+ * bindings/v8/custom/V8CustomSQLStatementErrorCallback.h: Removed.
+ * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp: Removed.
+ * bindings/v8/custom/V8CustomSQLTransactionCallback.h: Removed.
+ * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp: Removed.
+ * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.h: Removed.
+ * bindings/v8/custom/V8DatabaseCallback.cpp: Removed.
+ * bindings/v8/custom/V8DatabaseCallback.h: Removed.
+ * bindings/v8/custom/V8DatabaseCustom.cpp:
+ (WebCore::V8Database::changeVersionCallback):
+ (WebCore::createTransaction):
+ * bindings/v8/custom/V8SQLTransactionCustom.cpp:
+ (WebCore::V8SQLTransaction::executeSqlCallback):
+ * storage/DatabaseCallback.h:
+ * storage/DatabaseCallback.idl: Added.
+ * storage/SQLStatement.cpp:
+ (WebCore::SQLStatement::performCallback):
+ * storage/SQLStatementCallback.h:
+ * storage/SQLStatementCallback.idl: Added.
+ * storage/SQLStatementErrorCallback.idl: Added.
+ * storage/SQLTransaction.cpp:
+ (WebCore::SQLTransaction::deliverTransactionCallback):
+ * storage/SQLTransactionCallback.h:
+ * storage/SQLTransactionCallback.idl: Added.
+ * storage/SQLTransactionErrorCallback.h:
+ * storage/SQLTransactionErrorCallback.idl: Added.
+
+2010-05-04 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Made composited iframes work on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=32446
+
+ This completes the work in http://trac.webkit.org/changeset/57919
+ to create compositing layers in the parent document when an iframe has
+ a compositing layer. The parent document has a layer for the iframe
+ element and builds a layer tree to the page root. The layer tree for the
+ iframe document is then parented to the iframe element's GraphicsLayer.
+
+ The RenderLayerCompositor for the iframe document (which owns the
+ root of the layer tree) now has a clippingLayer which is the
+ parent of the layer tree root so it can be clipped to the parent
+ iframe's bounds, taking into account borders, padding, etc. in
+ the parent iframe element.
+
+ I also got rid of a no longer used function: RenderLayerCompositor::parentInRootLayer
+
+ Test: compositing/iframes/composited-parent-iframe.html
+
+ * rendering/RenderLayerBacking.cpp:Make calls to RenderLayerCompositor to set the clipping bounds for iframe content
+ * rendering/RenderLayerCompositor.cpp:Hook the iframe content to the parent iframe element
+ * rendering/RenderLayerCompositor.h:
+
+2010-05-03 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38497
+ <rdar://problem/7759438> Make sure that http URLs always have a host in SecurityOrigin
+
+ This is a hardening fix, and behavior really depends on what an underlying networking layer
+ does. So, no test.
+
+ * page/SecurityOrigin.cpp:
+ (WebCore::schemeRequiresAuthority): List schemes that need an authority for successful loading.
+ (WebCore::SecurityOrigin::SecurityOrigin): Never let e.g. http origins with empty authorities
+ have the same security origin.
+
+2010-05-04 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ getFramebufferAttachmentParameter should return the original WebGLTexture/WebGLRenderbuffer instead of creating new ones sharing names.
+ https://bugs.webkit.org/show_bug.cgi?id=38236
+
+ * html/canvas/CanvasObject.h: Add type check functions.
+ (WebCore::CanvasObject::isBuffer):
+ (WebCore::CanvasObject::isFramebuffer):
+ (WebCore::CanvasObject::isProgram):
+ (WebCore::CanvasObject::isRenderbuffer):
+ (WebCore::CanvasObject::isShader):
+ (WebCore::CanvasObject::isTexture):
+ * html/canvas/WebGLBuffer.h: Add type check functions.
+ (WebCore::WebGLBuffer::isBuffer):
+ * html/canvas/WebGLFramebuffer.h: Add type check functions.
+ (WebCore::WebGLFramebuffer::isFramebuffer):
+ * html/canvas/WebGLProgram.h: Add type check functions.
+ (WebCore::WebGLProgram::isProgram):
+ * html/canvas/WebGLRenderbuffer.cpp: remove constructor using existing name.
+ * html/canvas/WebGLRenderbuffer.h: Add type check functions; remove constructor using existing name.
+ (WebCore::WebGLRenderbuffer::isRenderbuffer):
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): Return original Texture/Renderbuffer instead of creating new ones.
+ (WebCore::WebGLRenderingContext::findTexture): Find a WebGLTexture using a name.
+ (WebCore::WebGLRenderingContext::findRenderbuffer): Find a WebGLRenderbuffer using a name.
+ * html/canvas/WebGLRenderingContext.h: Add find* functions.
+ * html/canvas/WebGLShader.h: Add type check functions.
+ (WebCore::WebGLShader::isShader):
+ * html/canvas/WebGLTexture.cpp: remove constructor using existing name.
+ * html/canvas/WebGLTexture.h: Add type check functions; remove constructor using existing name.
+ (WebCore::WebGLTexture::isTexture):
+
+2010-05-04 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] QT_MOBILE_THEME compile time flag
+ https://bugs.webkit.org/show_bug.cgi?id=38439
+
+ Replacing preprocessor conditional used in RenderThemeQt from Q_WS_MAEMO_5 to
+ USE(QT_MOBILE_THEME).
+
+ * WebCore.pro:
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::RenderThemeQt::RenderThemeQt):
+ (WebCore::RenderThemeQt::qStyle):
+ (WebCore::RenderThemeQt::extraDefaultStyleSheet):
+ (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
+ (WebCore::RenderThemeQt::setPaletteFromPageClientIfExists):
+ * platform/qt/RenderThemeQt.h:
+
+2010-05-04 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ SVG fonts trigger GlyphPage::fill with null font
+ https://bugs.webkit.org/show_bug.cgi?id=38530
+
+ SVG fonts do not use the glyph page cache. This change detects when
+ attempting to fill a GlyphPage with an SVG font and indicates that
+ the glyphs were not available.
+
+ * platform/graphics/GlyphPageTreeNode.cpp:
+ (WebCore::fill): helper method which handles attempts to fill a GlyphPage with SVG or non-SVG fonts
+ (WebCore::GlyphPageTreeNode::initializePage): use the helper where appropriate
+
+2010-05-04 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by David Levin (and unofficially by Enrica Casucci).
+
+ REGRESSION(r54368): Text drag-and-drop from input/textarea doesn't work
+ if the text is like a URL
+ https://bugs.webkit.org/show_bug.cgi?id=38374
+
+ Since r54368, documentFragmentFromDragData() creates an <a> element
+ with no anchor text for URL-like text dragged from input/textarea
+ element. If such text is dropped to input/textarea element, the text
+ is not inserted.
+ To fix this problem, use the original text or the URL as an anchor
+ text.
+
+ Test: editing/pasteboard/drag-drop-url-text.html
+
+ * page/DragController.cpp:
+ (WebCore::documentFragmentFromDragData):
+
+2010-05-04 Steve Block <steveblock@google.com>
+
+ Reviewed by Darin Adler.
+
+ JavaInstanceJSC.cpp and JNIUtilityPrivate.cpp need to include jni_jsobject.h for jlong_to_pt() and ptr_to_jlong()
+ https://bugs.webkit.org/show_bug.cgi?id=38525
+
+ No new tests, build fix only.
+
+ * bridge/jni/jni_jsobject.h: Guard Mac-specific code with PLATFORM(MAC)
+ * bridge/jni/jsc/JNIUtilityPrivate.cpp: Include jni_jsobject.h
+ * bridge/jni/jsc/JavaInstanceJSC.cpp: Include jni_jsobject.h
+
+2010-05-04 Steve Block <steveblock@google.com>
+
+ Reviewed by Darin Adler.
+
+ New FileSystemPOSIX functions cause linker errors on Android
+ https://bugs.webkit.org/show_bug.cgi?id=38521
+
+ No new tests, build fix only.
+
+ * platform/android/FileSystemAndroid.cpp: Remove closeFile, which is provided in FileSystemPOSIX.cpp
+ * platform/posix/FileSystemPOSIX.cpp: Guard writeToFile with !PLATFORM(ANDROID)
+
+2010-05-04 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: restore main and sidebar scroller positions
+ when switching between panels.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38522
+
+ * inspector/front-end/ElementsPanel.js:
+ (WebInspector.ElementsPanel.prototype.elementsToRestoreScrollPositionsFor):
+ * inspector/front-end/Panel.js:
+ (WebInspector.Panel.prototype.show):
+ (WebInspector.Panel.prototype.hide):
+ (WebInspector.Panel.prototype.elementsToRestoreScrollPositionsFor):
+ (WebInspector.Panel.prototype._storeScrollPositions):
+ (WebInspector.Panel.prototype._restoreScrollPositions):
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype.elementsToRestoreScrollPositionsFor):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype.elementsToRestoreScrollPositionsFor):
+
+2010-05-04 Steven Lai <steven_lai@asia.apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37900
+ <rdar://problem/7806164> cloneNode() does not preserve z-index with more than six digits
+
+ Tests: fast/dom/HTMLInputElement/clone-input-checked.html
+ fast/dom/clone-node-z-index.html
+
+ * dom/Element.cpp: undid the order change of calling copyNonAttributeProperties() before setAttributes()
+ (WebCore::Element::cloneElementWithoutChildren): uncheck the previous radio button in the same radio button group only when the checked radio box is appended to the dom tree
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::updateCheckedRadioButtons):
+ (WebCore::HTMLInputElement::attach):
+ (WebCore::HTMLInputElement::setChecked):
+ * html/HTMLInputElement.h:
+
+2010-04-29 John Gregg <johnnyg@google.com>
+
+ Reviewed by Dmitry Titov.
+
+ notifications should have dir and replaceId attributes.
+ Note that tests are only enabled in Chromium, skipped elsewhere
+ since notifications aren't implemented.
+ https://bugs.webkit.org/show_bug.cgi?id=38336
+
+ Tests: fast/notifications/notifications-replace.html
+ fast/notifications/notifications-rtl.html
+
+ * notifications/Notification.h:
+ (WebCore::Notification::dir):
+ (WebCore::Notification::setDir):
+ (WebCore::Notification::replaceId):
+ (WebCore::Notification::setReplaceId):
+ * notifications/Notification.idl:
+
+2010-05-04 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ Fixed error defining the float/double minimum in the object
+ properties, the smallest value of a float/double is
+ -G_MAXDOUBLE/-G_MAXFLOAT.
+
+ * bindings/scripts/CodeGeneratorGObject.pm:
+
+2010-05-03 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ REGRESSION: Text clipped in absolutely positioned search inputs
+ https://bugs.webkit.org/show_bug.cgi?id=38468
+
+ Previously I incorrectly added x() and y() to the tx and ty positioning.
+ This clips a search input like a text input, respecting the vertically
+ centered text.
+
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::layout): only the Y changes, so change setLocation to setY
+ (WebCore::RenderTextControlSingleLine::controlClipRect):
+
+2010-05-04 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: REGRESSION: Up/Down, PgUp/PgDown keys do not change numeric style properties
+ https://bugs.webkit.org/show_bug.cgi?id=38516
+
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylePropertyTreeElement.prototype):
+
+2010-05-04 Ben Murdoch <benm@google.com>
+
+ Reviewed by Simon Hausmann.
+
+ Crash in handleTouchEvent: using dangling node ptrs in hashmap
+ https://bugs.webkit.org/show_bug.cgi?id=38514
+
+ When navigating away from a page, if you have your finger still
+ pressed and then lift it on the new page we see a crash if the
+ node got deleted as we still have a dangling pointer in the
+ m_originatingTouchPointTargets hashmap and try to use it as the
+ receiver to dispatch a touchend event.
+
+ Test: fast/events/touch/touch-stale-node-crash.html
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::clear): Clear the hashmap of touch targets.
+
+2010-05-04 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Drawer Misbehaving when Docking / Undocking in Console Panel
+ https://bugs.webkit.org/show_bug.cgi?id=38510
+
+ * inspector/front-end/inspector.js:
+ (WebInspector.set attached): resize the drawer after docking/undocking
+
+2010-05-04 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Unreviewed, build fix for Symbian.
+
+ [Symbian] Build fix after r58598.
+
+ Use C99 integer types for the Symbian plugin
+ implementation.
+
+ No new tests, as there is no new functionality.
+
+ * plugins/symbian/PluginPackageSymbian.cpp:
+ (WebCore::PluginPackage::NPVersion):
+ * plugins/symbian/PluginViewSymbian.cpp:
+ (WebCore::PluginView::handlePostReadFile):
+
+2010-05-04 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Reviewed by Dirk Schulze.
+
+ Split SVGCharacterLayoutInfo in smaller pieces
+ https://bugs.webkit.org/show_bug.cgi?id=38513
+
+ Split SVGCharacterLayoutInfo into SVGCharacterLayoutInfo/SVGCharacterData and SVGTextChunkLayoutInfo.
+ This is a preparation for more work in the text area.
+
+ * Android.mk: Add SVGCharacterData.(cpp|h) and SVGTextChunkLayoutInfo.h to build.
+ * GNUmakefile.am: Ditto.
+ * WebCore.gypi: Ditto.
+ * WebCore.pro: Ditto
+ * WebCore.vcproj/WebCore.vcproj: Ditto.
+ * WebCore.xcodeproj/project.pbxproj: Ditto.
+ * rendering/SVGCharacterData.cpp: Copied from rendering/SVGCharacterLayoutInfo.cpp.
+ * rendering/SVGCharacterData.h: Copied from rendering/SVGCharacterLayoutInfo.h.
+ (WebCore::SVGChar::SVGChar):
+ * rendering/SVGCharacterLayoutInfo.cpp:
+ (WebCore::SVGCharacterLayoutInfo::isInitialLayout): Introduced new helper function to share code between addLayoutInformation/addStackContent.
+ (WebCore::SVGCharacterLayoutInfo::addLayoutInformation): Use new helper function.
+ (WebCore::SVGCharacterLayoutInfo::addStackContent): Ditto
+ * rendering/SVGCharacterLayoutInfo.h:
+ * rendering/SVGRootInlineBox.h: Include new files.
+ * rendering/SVGTextChunkLayoutInfo.h: Copied from rendering/SVGCharacterLayoutInfo.h.
+
+2010-05-04 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Holger Freyther.
+
+ [GTK] GObject DOM bindings
+ https://bugs.webkit.org/show_bug.cgi?id=33590
+
+ Use helper functions from CodeGenerator.pm to figure out whether a
+ type is "fundamental" or not (basically whether it's anything
+ other than a string or a non-pointer type).
+
+ * bindings/scripts/CodeGeneratorGObject.pm:
+
+2010-04-30 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: REGRESSION: Disabled style properties are absent in Styles sidebar after WebInspector is re-opened
+ https://bugs.webkit.org/show_bug.cgi?id=38255
+
+ Moved stylesheet-related mappings into a separate object stored
+ in InspectorController rather than InspectorDOMAgent (which gets reset
+ on every frontend [dis]connect).
+
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * inspector/InspectorCSSStore.cpp: Added.
+ (WebCore::InspectorCSSStore::InspectorCSSStore):
+ (WebCore::InspectorCSSStore::~InspectorCSSStore):
+ (WebCore::InspectorCSSStore::reset):
+ * inspector/InspectorCSSStore.h: Added.
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::InspectorController):
+ (WebCore::InspectorController::setFrontend):
+ (WebCore::InspectorController::didCommitLoad):
+ * inspector/InspectorController.h:
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::InspectorDOMAgent):
+ (WebCore::InspectorDOMAgent::discardBindings):
+ (WebCore::InspectorDOMAgent::applyStyleText):
+ (WebCore::InspectorDOMAgent::setStyleText):
+ (WebCore::InspectorDOMAgent::setStyleProperty):
+ (WebCore::InspectorDOMAgent::toggleStyleEnabled):
+ (WebCore::InspectorDOMAgent::setRuleSelector):
+ (WebCore::InspectorDOMAgent::addRule):
+ (WebCore::InspectorDOMAgent::bindStyle):
+ (WebCore::InspectorDOMAgent::bindRule):
+ (WebCore::InspectorDOMAgent::buildObjectForStyle):
+ (WebCore::InspectorDOMAgent::buildObjectForRule):
+ * inspector/InspectorDOMAgent.h:
+ (WebCore::InspectorDOMAgent::create):
+ (WebCore::InspectorDOMAgent::cssStore):
+
+2010-05-04 Mikhail Naganov <mnaganov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Display "Recording..." item when recording an user-initiated CPU profile.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38043
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/ProfilesPanel.js:
+ (WebInspector.ProfilesPanel.prototype.addProfileHeader):
+ (WebInspector.ProfilesPanel.prototype.removeProfileHeader):
+ (WebInspector.ProfilesPanel.prototype.showProfile):
+ * inspector/front-end/inspector.js:
+ (WebInspector.setRecordingProfile):
+
+2010-05-04 Tucker Jay <jay.tucker@nokia.com>
+
+ Reviewed by Holger Freyther.
+
+ Animated GIF images does not animate 10x as expected by default.
+ https://bugs.webkit.org/show_bug.cgi?id=36818
+
+ Added test case to existing manual test to test the
+ fixed functionality.
+
+ * manual-tests/qt/qt-10loop-anim.gif: Added.
+ * manual-tests/qt/qt-gif-test.html:
+ * platform/graphics/qt/ImageDecoderQt.cpp:
+ (WebCore::ImageDecoderQt::repetitionCount):
+
+2010-05-04 Dirk Schulze <krit@webkit.org>
+
+ Unreviewed sort of XCodes project file.
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+2010-05-03 Steven Lai <steven_lai@asia.apple.com>
+
+ Reviewed by Brady Eidson.
+
+ Reverted hashchange() event back to async.
+ (This change does not update HashChangeEvent to its new proposed interface)
+ https://bugs.webkit.org/show_bug.cgi?id=36201
+ rdar://problem/7780794
+ rdar://problem/7761278 (partial fix)
+
+ Tests: fast/loader/hashchange-event-async.html
+
+ * dom/Document.cpp: reverted hashchange() event back to async
+ (WebCore::Document::enqueueHashchangeEvent):
+
+2010-05-03 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Rubber-stamped by Xan Lopez.
+
+ [Cairo,WX] Stop leaking a FontPlatformData.
+ https://bugs.webkit.org/show_bug.cgi?id=37500
+
+ Stephan Aßmus pointed out that the pango font backend
+ is leaking memory and fixed it. The WX font backend
+ and the Cairo/Fontconfig backend have the same snippet
+ of code and are leaking memory as well. This commit is
+ fixing that.
+
+ * platform/graphics/cairo/SimpleFontDataCairo.cpp:
+ (WebCore::SimpleFontData::smallCapsFontData):
+ * platform/graphics/wx/SimpleFontDataWx.cpp:
+ (WebCore::SimpleFontData::smallCapsFontData):
+
+2010-05-03 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Clean up a few compiler warnings
+ https://bugs.webkit.org/show_bug.cgi?id=38073
+
+ * html/TextMetrics.h:
+ (WebCore::TextMetrics::width):
+ * rendering/style/StyleRareInheritedData.h:
+ * rendering/style/StyleRareNonInheritedData.h:
+
+2010-05-02 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Add the ability to auto-generate callbacks to all code generators.
+ https://bugs.webkit.org/show_bug.cgi?id=38414
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/scripts/test/JS/JSTestCallback.cpp: Added.
+ (WebCore::JSTestCallback::JSTestCallback):
+ (WebCore::JSTestCallback::~JSTestCallback):
+ (WebCore::JSTestCallback::callbackWithClass1Param):
+ (WebCore::JSTestCallback::callbackWithClass2Param):
+ * bindings/scripts/test/JS/JSTestCallback.h: Added.
+ (WebCore::JSTestCallback::create):
+ * bindings/scripts/test/V8/JSTestCallback.cpp: Added.
+ (WebCore::V8TestCallback::V8TestCallback):
+ (WebCore::V8TestCallback::~V8TestCallback):
+ (WebCore::V8TestCallback::callbackWithClass1Param):
+ (WebCore::V8TestCallback::callbackWithClass2Param):
+ * bindings/scripts/test/V8/V8TestCallback.h: Added.
+ (WebCore::V8TestCallback::create):
+ * bindings/scripts/test/TestCallback.idl: Added.
+
+2010-05-03 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ [wx] Build and use Mac's ComplexTextController to support complex text in wx.
+ https://bugs.webkit.org/show_bug.cgi?id=38482
+
+ * platform/graphics/FloatSize.h:
+ * platform/graphics/GlyphBuffer.h:
+ (WebCore::GlyphBuffer::advanceAt):
+ (WebCore::GlyphBuffer::add):
+ * platform/graphics/SimpleFontData.h:
+ (WebCore::SimpleFontData::getNSFont):
+ * platform/graphics/mac/ComplexTextController.cpp:
+ * platform/graphics/mac/ComplexTextController.h:
+ * platform/graphics/wx/FontCacheWx.cpp:
+ (WebCore::FontCache::getFontDataForCharacters):
+ (WebCore::FontCache::getLastResortFallbackFont):
+ * platform/graphics/wx/FontPlatformData.h:
+ (toCTFontRef):
+ (WebCore::FontPlatformData::FontPlatformData):
+ (WebCore::FontPlatformData::allowsLigatures):
+ * platform/graphics/wx/FontPlatformDataWx.cpp:
+ (WebCore::FontPlatformData::FontPlatformData):
+ (WebCore::FontPlatformData::cgFont):
+ * platform/graphics/wx/FontPlatformDataWxMac.mm: Added.
+ (WebCore::FontPlatformData::nsFont):
+ (WebCore::FontPlatformData::cacheNSFont):
+ * platform/graphics/wx/FontWx.cpp:
+ (WebCore::Font::canReturnFallbackFontsForComplexText):
+ (WebCore::Font::selectionRectForComplexText):
+ (WebCore::Font::drawComplexText):
+ (WebCore::Font::floatWidthForComplexText):
+ (WebCore::Font::offsetForPositionForComplexText):
+ * platform/graphics/wx/SimpleFontDataWx.cpp:
+ (WebCore::SimpleFontData::platformInit):
+ (WebCore::SimpleFontData::containsCharacters):
+ (WebCore::SimpleFontData::platformWidthForGlyph):
+ * platform/wx/wxcode/fontprops.h:
+ * platform/wx/wxcode/mac/carbon/fontprops.mm:
+ (wxFontContainsCharacters):
+ (GetTextExtent):
+ * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
+ (WebCore::drawTextWithSpacing):
+ * platform/wx/wxcode/win/fontprops.cpp:
+ (wxFontContainsCharacters):
+ * wscript:
+
+2010-05-03 Abhishek Arya <inferno@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Add support for controlling clipboard access from javascript.
+ Clipboard access from javascript is disabled by default.
+ https://bugs.webkit.org/show_bug.cgi?id=27751
+
+ Test: editing/execCommand/clipboard-access.html
+
+ * WebCore.base.exp:
+ * editing/EditorCommand.cpp:
+ (WebCore::supportedCopyCut):
+ (WebCore::supportedPaste):
+ (WebCore::createCommandMap):
+ * page/Settings.cpp:
+ (WebCore::Settings::Settings):
+ (WebCore::Settings::setJavaScriptCanAccessClipboard):
+ * page/Settings.h:
+ (WebCore::Settings::javaScriptCanAccessClipboard):
+
+2010-05-03 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38285
+ <rdar://problem/7903453> REGRESSION: Javascript command window.open does not work in empty tab
+
+ Cannot be tested, because new windows created in DRT always have an opener, and thus inherit
+ its security origin. Only new windows and tabs created by browser chrome had this problem.
+
+ * loader/FrameLoader.cpp: (WebCore::FrameLoader::init): Moved updateSandboxFlags() call to
+ the beginning, so that an initial document would get correct flags.
+
+2010-05-03 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ WebGL compile issue.
+ Added ExceptionCode.h to JSWebGLArrayBufferConstructor.cpp, for some reason it was missing.
+ https://bugs.webkit.org/show_bug.cgi?id=38453
+
+ No new tests: compile fix.
+
+ * bindings/js/JSWebGLArrayBufferConstructor.cpp:
+
+2010-05-03 Eric Seidel <eric@webkit.org>
+
+ Unreviewed, rolling out r58685.
+ http://trac.webkit.org/changeset/58685
+ https://bugs.webkit.org/show_bug.cgi?id=38461
+
+ Broke a test on Gtk
+
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::MediaPlayerPrivateGStreamer::updateStates):
+
+2010-05-03 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Use HTML5 number parsing in HTMLProgressElement
+ https://bugs.webkit.org/show_bug.cgi?id=38434
+
+ Use parseToDoubleForNumberType instead of toDouble.
+ Throw an exception when the number is NaN or Infinity.
+
+ * html/HTMLProgressElement.cpp:
+ (WebCore::HTMLProgressElement::value):
+ (WebCore::HTMLProgressElement::setValue):
+ (WebCore::HTMLProgressElement::max):
+ (WebCore::HTMLProgressElement::setMax):
+ * html/HTMLProgressElement.h:
+ * html/HTMLProgressElement.idl:
+
+2010-05-03 Jens Alfke <snej@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [chromium] Add "willSendSubmitEvent" hook to WebFrameClient and FrameLoaderClient
+ https://bugs.webkit.org/show_bug.cgi?id=38397
+
+ No tests (functionality is exposed only through native WebKit API.)
+
+ * html/HTMLFormElement.cpp:
+ (WebCore::HTMLFormElement::prepareSubmit): Call frame loader's dispatchWillSendSubmitEvent
+ * loader/EmptyClients.h:
+ * loader/FrameLoaderClient.h:
+ (WebCore::FrameLoaderClient::dispatchWillSendSubmitEvent): New empty method
+
+2010-05-03 Philippe Normand <pnormand@igalia.com>
+
+ Reviewed by Eric Carlson.
+
+ [GStreamer] forgotten call to durationChanged in updateStates()
+ https://bugs.webkit.org/show_bug.cgi?id=38461
+
+ Notify MediaPlayer if duration is known after playback started.
+
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::MediaPlayerPrivateGStreamer::updateStates):
+
+2010-05-03 Ryuan Choi <ryuan.choi@gmail.com>
+
+ Reviewed by Darin Adler.
+
+ fixing build break due to clearWatch() when Geolocation feature is
+ disabled.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38091
+
+ no test because this is a build fix only
+
+ * page/Geolocation.cpp:
+ (WebCore::Geolocation::clearWatch):
+
+2010-05-03 Stephan Aßmus <superstippi@gmx.de>
+
+ Reviewed by Holger Freyther.
+
+ [Gtk] Fix leaking the FontPlatformData instance used to create the the
+ small caps font data.
+ https://bugs.webkit.org/show_bug.cgi?id=37500
+
+ No new tests needed.
+
+ * platform/graphics/gtk/SimpleFontDataPango.cpp:
+ (WebCore::SimpleFontData::smallCapsFontData):
+ - Use a stack allocated FontPlatformData instead of a heap allocated
+ one that is never freed.
+
+2010-05-03 Jarkko Sakkinen <jarkko.j.sakkinen@gmail.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] GraphicsLayer: support webGL
+ https://bugs.webkit.org/show_bug.cgi?id=35388
+
+ Added support GraphicsContext3D to GraphicsLayer.
+ Added paint method to GraphicsContext3D for Qt platform that
+ uses drawTexture() when QGLWidget is used as viewport of
+ QGraphicsWebView.
+ Fine-tuned texture and handling and image to texture conversion to
+ work also when drawTexture() blitting is used.
+
+ * platform/graphics/GraphicsContext3D.h:
+ * platform/graphics/qt/GraphicsContext3DQt.cpp:
+ (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
+ (WebCore::GraphicsContext3D::beginPaint):
+ (WebCore::GraphicsContext3D::paint):
+ (WebCore::GraphicsContext3D::texImage2D):
+ (WebCore::GraphicsContext3D::texSubImage2D):
+ (WebCore::GraphicsContext3D::getImageData):
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::GraphicsLayerQtImpl::):
+ (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
+ (WebCore::GraphicsLayerQtImpl::paint):
+ (WebCore::GraphicsLayerQtImpl::flushChanges):
+ (WebCore::GraphicsLayerQt::setContentsToGraphicsContext3D):
+ (WebCore::GraphicsLayerQt::setGraphicsContext3DNeedsDisplay):
+ * platform/graphics/qt/GraphicsLayerQt.h:
+
+2010-05-03 Janne Koskinen <janne.p.koskinen@digia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix qtlibraryinfix not to contain space
+
+ List catenation with += adds whitespace cutting the infix
+ from the final target.
+
+ * WebCore.pro:
+
+2010-05-03 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix rendering of <button> elements on Mac OS X
+
+ The <button> element has ButtonPart appearance, not PushButton part,
+ so we have to include ButtonPart when we decide if we should draw the
+ button as raised on Mac OS X.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38458
+
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::RenderThemeQt::initializeCommonQStyleOptions):
+
+2010-04-30 Philippe Normand <pnormand@igalia.com>
+
+ Reviewed by Eric Seidel.
+
+ [GStreamer] endless loop after playback ended
+ https://bugs.webkit.org/show_bug.cgi?id=38384
+
+ At playback end ensure duration() will return a valid duration if
+ we managed to calculate it based on current position.
+
+ Test: media/video-duration-known-after-eos.html
+
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::MediaPlayerPrivateGStreamer::didEnd):
+
+2010-05-03 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ [Qt] Fix build break on Mac OS X
+
+ * plugins/mac/PluginPackageMac.cpp: Use correct type
+ * WebCore.pro: Remove duplicate symbol, we now have a Qt implementation
+
+2010-05-03 Thomas Zander <t.zander@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix library infix usage when compiling inside of Qt
+
+ Don't apply the infix when building inside Qt, as that's done through the
+ inclusion of qbase.pri.
+
+ * WebCore.pro:
+
+2010-05-02 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Another case of <rdar://problem/7552959> REGRESSION: Infinite recursion in Position::getInlineBoxAndOffset()
+ https://bugs.webkit.org/show_bug.cgi?id=38445
+
+ Test: editing/selection/mixed-editability-11.html
+
+ * dom/Position.cpp:
+ (WebCore::downstreamIgnoringEditingBoundaries): Added. Returns the furthest visually equivalent
+ position downstream, crossing any editability boundaries.
+ (WebCore::upstreamIgnoringEditingBoundaries): Similarly for upstream.
+ (WebCore::Position::getInlineBoxAndOffset): Changed the logic for finding an inline box for positions
+ whose node is a block flow. Instead of traversing the DOM, advance downstream or upstream as far as
+ possible, crossing any editability boudaries. Infinite recursion is avoided by advancing all the way
+ and checking that the new position is different from the starting position. Also replaced the specific
+ test for buttons with the generic and more comprehensive canHaveChildrenForEditing().
+
+2010-05-02 Tasuku Suzuki <tasuku.suzuki@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix compilation with QT_NO_BEARERMANAGEMENT
+ https://bugs.webkit.org/show_bug.cgi?id=38324
+
+ * platform/network/NetworkStateNotifier.h:
+ * platform/network/qt/NetworkStateNotifierQt.cpp:
+
+2010-04-29 Janne Koskinen <janne.p.koskinen@digia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] QtWebKit versioning added
+ https://bugs.webkit.org/show_bug.cgi?id=37207
+
+ QtWebkit releases separated from Qt release cycle.
+
+ * WebCore.pro:
+
+2010-05-02 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Old Style trimWhitespace() should be trim()
+ https://bugs.webkit.org/show_bug.cgi?id=38441
+
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame):
+
+2010-05-02 Tasuku Suzuki <tasuku.suzuki@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix compilation with QT_NO_LINEEDIT
+ https://bugs.webkit.org/show_bug.cgi?id=38324
+
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::RenderThemeQt::~RenderThemeQt):
+ (WebCore::RenderThemeQt::findFrameLineWidth):
+
+2010-05-02 Pavel Feldman <pfeldman@chromium.org>
+
+ Not reviewed: Touch inspector controller to kick windows tests.
+
+ * inspector/InspectorController.cpp:
+
+2010-05-02 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: IMG nodes are being added to the DOM tree late, sometimes hiding the revealed element.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38432
+
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeOutline.prototype._onmousemove):
+ (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
+ (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
+ (WebInspector.ElementsTreeElement.prototype.updateTitle):
+ (WebInspector.ElementsTreeElement.prototype._attributeHTML):
+ ():
+
+2010-05-02 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ SVG hkern implementation incomplete
+ https://bugs.webkit.org/show_bug.cgi?id=38407
+
+ Test: svg/text/text-hkern.svg
+
+ The current SVG hkern implementation is incomplete and partly wrong. We pass the ACID3 test
+ by accident.
+ The new implementation supports all glyph and unicode combinations that are allowed by the Spec
+ and fixes various of bugs. The parser moved from SVGFontElement to the general parsing code in
+ SVGParserUtilities.
+ Some clean-up makes the code more readable and reuseable for the upcoming vkern implementation.
+ hkern support for text on path is missing and will be added by a following patch.
+ Unicode strings of hkern elements are just parsed once and not on every glyph again anymore.
+
+ * rendering/SVGRootInlineBox.cpp:
+ (WebCore::calculateCSSKerning):
+ (WebCore::applySVGKerning):
+ (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
+ * svg/SVGFontElement.cpp:
+ (WebCore::stringMatchesUnicodeRange):
+ (WebCore::stringMatchesGlyphName):
+ (WebCore::matches):
+ (WebCore::SVGFontElement::getHorizontalKerningPairForStringsAndGlyphs):
+ * svg/SVGFontElement.h:
+ * svg/SVGHKernElement.cpp:
+ (WebCore::SVGHKernElement::buildHorizontalKerningPair):
+ * svg/SVGHKernElement.h:
+ * svg/SVGParserUtilities.cpp:
+ (WebCore::parseGlyphName):
+ (WebCore::parseUnicodeRange):
+ (WebCore::parseKerningUnicodeString):
+ * svg/SVGParserUtilities.h:
+
+2010-05-02 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: debugger shortcuts are processed twice if source frame has focus.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38431
+
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame):
+ (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
+
+2010-05-02 Jarkko Sakkinen <jarkko.j.sakkinen@gmail.com>
+
+ Reviewed by Eric Seidel.
+
+ [Qt] Build error in GraphicsContext3DQt.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=38382
+
+ Removed duplicate implementation of isGLES2Compliant from
+ GraphicsContext3DQt.cpp. Removed deprecated API stuff for
+ texImage2D/texSubImage2D.
+ * platform/graphics/qt/GraphicsContext3DQt.cpp:
+
+2010-05-02 Garret Kelly <gdk@chromium.org>
+
+ Reviewed by David Levin.
+
+ Make the Touch RuntimeEnabledFeature disabled by default.
+ https://bugs.webkit.org/show_bug.cgi?id=38392
+
+ * bindings/generic/RuntimeEnabledFeatures.cpp: Disable the Touch feature by default.
+
+2010-05-02 Michael Nordman <michaeln@google.com>
+
+ Reviewed by Dmitry Titov.
+
+ Define two new ResourceRequestBase TargetTypes for worker and shared worker
+ main resources. Use the new target types where appropiate. Add logic to marshal
+ the target type specified by requests initiated on a background worker thread.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38295
+
+ No new tests. This doesn't have script visible artifacts.
+
+ * platform/network/ResourceRequestBase.cpp: marshal the values
+ (WebCore::ResourceRequestBase::adopt):
+ (WebCore::ResourceRequestBase::copyData):
+ * platform/network/ResourceRequestBase.h: define the types
+ (WebCore::ResourceRequestBase::):
+ * workers/DefaultSharedWorkerRepository.cpp: use TargetIsSharedWorker
+ (WebCore::SharedWorkerScriptLoader::load):
+ * workers/Worker.cpp: use TargetIsWorker
+ (WebCore::Worker::Worker):
+ * workers/WorkerContext.cpp: use TargetIsScript for importScripts
+ (WebCore::WorkerContext::importScripts):
+ * workers/WorkerScriptLoader.cpp: add a data member for the target type
+ (WebCore::WorkerScriptLoader::WorkerScriptLoader):
+ (WebCore::WorkerScriptLoader::createResourceRequest):
+ * workers/WorkerScriptLoader.h:
+
+2010-05-02 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Adele Peterson.
+
+ Webkit doesn't compile with 3D-canvas enabled and video disabled
+ https://bugs.webkit.org/show_bug.cgi?id=38297
+
+ Added a #ifdef ENABLE(VIDEO) to WebGL code
+
+ No new tests: compile fix.
+
+ * bindings/js/JSWebGLRenderingContextCustom.cpp:
+ (WebCore::JSWebGLRenderingContext::texImage2D):
+ (WebCore::JSWebGLRenderingContext::texSubImage2D):
+
+2010-05-01 Evan Stade <estade@chromium.org>
+
+ Reviewed by David Levin.
+
+ [chromium] Skia needs to fade DragImages
+ https://bugs.webkit.org/show_bug.cgi?id=38008
+
+ tested by DragImageTest
+
+ * platform/chromium/DragImageChromiumSkia.cpp:
+ (WebCore::dissolveDragImageToFraction):implement
+ (WebCore::createDragImageFromImage):deep copy instead of shallow
+
+2010-05-01 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ REGRESSION (r58273): Visited links do not change color immediately when Cmd-clicked
+ https://bugs.webkit.org/show_bug.cgi?id=38422
+ <rdar://problem/7921778>
+
+ Tests:
+ manual-tests/visited-link-new-window.html
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::initElement): Only cache the visited link state
+ when invoked as part of a helper call to styleForElement or pseudoStyleForElement,
+ to avoid caching the visited link state beyond the scope of a single style lookup.
+ (WebCore::CSSStyleSelector::styleForElement): Adjust for above change.
+ (WebCore::CSSStyleSelector::pseudoStyleForElement): Adjust for above change.
+ * css/CSSStyleSelector.h:
+ (WebCore::CSSStyleSelector::styleForElement): Change so "visited link helper mode"
+ can't accidentally be called from outside CSSStyleSelector itself.
+ (WebCore::CSSStyleSelector::pseudoStyleForElement): ditto
+ * manual-tests/visited-link-new-window.html: Added. I could not figure out any way
+ to make an automated test that supports visited link coloring.
+
+2010-05-01 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Move number parsing code out of HTMLInputElement.
+ https://bugs.webkit.org/show_bug.cgi?id=38203
+
+ The numebr parsing code follows HTML5 parsing rules and should be available outside of HTMLInputElement.
+ No new tests as no new functionality was introduced.
+
+ * html/HTMLInputElement.cpp:
+ * html/HTMLInputElement.h:
+ * html/HTMLParser.cpp:
+ (WebCore::serializeForNumberType):
+ (WebCore::parseToDoubleForNumberType):
+ * html/HTMLParser.h:
+ * html/StepRange.cpp:
+ (WebCore::StepRange::clampValue):
+ (WebCore::StepRange::valueFromElement):
+ * html/ValidityState.cpp:
+ (WebCore::ValidityState::typeMismatch):
+ * rendering/RenderSlider.cpp:
+ (WebCore::RenderSlider::setValueForPosition):
+
+2010-05-01 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Oliver Hunt.
+
+ [GTK] GObject DOM bindings
+ https://bugs.webkit.org/show_bug.cgi?id=33590
+
+ Unify more logic to skip functions into SkipFunction, and
+ whitelist the two [Custom] methods in HTMLCollection.idl.
+
+ * bindings/scripts/CodeGeneratorGObject.pm:
+
+2010-05-01 Robert Hogan <robert@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Add smart paste support
+
+ https://bugs.webkit.org/show_bug.cgi?id=38136
+
+ * WebCore.pro:
+ * editing/qt/SmartReplaceQt.cpp: Added.
+ (WebCore::isCharacterSmartReplaceExempt):
+ * platform/qt/PasteboardQt.cpp:
+ (WebCore::Pasteboard::writeSelection):
+ (WebCore::Pasteboard::canSmartReplace):
+
+2010-04-30 Yoshiki Hayashi <yhayashi@google.com>
+
+ Reviewed by Shinichiro Hamaji.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38249
+
+ Fixes an issue where border height and padding height are ignored when computing vertically shrinking flexbox's height.
+
+ Test: fast/flexbox/child-flexing.html
+
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::allowedChildFlex):
+
+2010-04-30 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Add layoutTestController.setPrinting()
+ https://bugs.webkit.org/show_bug.cgi?id=37203
+
+ Use the renderer's width insteead of screen's width as the width of
+ a screen depends on machines.
+
+ * rendering/RenderTreeAsText.cpp:
+ (WebCore::externalRepresentation):
+
+2010-04-30 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Missing INSPECTOR Guard in Console::lastWMLErrorMessage
+ https://bugs.webkit.org/show_bug.cgi?id=38366
+
+ Console::lastWMLErrorMessage is only available if WML is enabled, however
+ its implementation only makes sense as long as INSPECTOR is enabled
+ as well. So this adds the ENABLE(INSPECTOR) guard in the function. A
+ browser without ENABLE(INSPECTOR) will always get an empty result.
+
+ * page/Console.cpp:
+
+2010-04-28 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ REGRESSION(r58313): Regression evident in pixel tests: the search icon is always clipped at the bottom.
+ https://bugs.webkit.org/show_bug.cgi?id=38253
+
+ Test: fast/css/input-search-padding.html
+
+ An <input type="search"> contains an inner block, which is explicitly
+ centered in RenderTextControlSingleLine based on the height of the element.
+ However, the clipping rect was not using the set location, and instead
+ calculated off of the top border and padding alone. This also vertically
+ centers the Caps Lock indicator.
+
+ * rendering/RenderTextControl.cpp: moved controlClipRect implementation to RenderTextControlSingleLine
+ * rendering/RenderTextControl.h: allow a subclass implementation of controlClipRect, removed redundant hasControlClip implementation, and moved controlClipRect
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::paint): vertically center the Caps Lock indicator
+ (WebCore::RenderTextControlSingleLine::controlClipRect): use the set location of the anonymous inner block instead
+ * rendering/RenderTextControlSingleLine.h: allow for an implementation of controlClipRect for <input type="search">
+
+2010-04-30 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Caret may fail to blink if a focus handler brings up a modal dialog
+ https://bugs.webkit.org/show_bug.cgi?id=38372
+
+ Reviewed by Darin Adler.
+
+ * manual-tests/onfocus-alert-blinking-caret.html: Added.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMousePressEvent):
+ Moved the call to setCaretBlinkingSuspended() from here...
+ (WebCore::EventHandler::handleMousePressEvent):
+ ... to here. This makes us suspend caret blinking before dispatching the
+ mouse down event. If dispatching the mouse down event allows the message
+ loop to run, we want mouse up events received in that message loop to be
+ able to resume caret blinking.
+ (WebCore::EventHandler::lostMouseCapture):
+ We've lost mouse capture and won't be notified of mouse up events;
+ resume caret blinking.
+
+ * page/EventHandler.h:
+ Declare lostMouseCapture().
+
+2010-04-30 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Unreviewed, build fix.
+
+ [Chromium] Added a simple IdentifierRep struct and removed dependency on
+ IdentifierRep.h.
+
+ * bindings/v8/V8NPObject.cpp: Added simple IdentifierRep struct.
+
+2010-04-30 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Unreviewed, build fix.
+
+ [Chromium] Remove bridge/ from include paths.
+
+ * WebCore.gyp/WebCore.gyp: Removed bridge/ from include path.
+
+2010-04-30 Abhishek Arya <inferno@chromium.org>
+
+ Reviewed by David Kilzer.
+
+ Convert m_documentUnderMouse, m_dragInitiator to RefPtr.
+ Eliminated unused m_dragInitiator accessor to prevent dereferencing.
+ https://bugs.webkit.org/show_bug.cgi?id=37618
+
+ Test: editing/pasteboard/drag-drop-iframe-refresh-crash.html
+
+ * page/DragController.cpp:
+ (WebCore::DragController::tryDocumentDrag):
+ (WebCore::DragController::concludeEditDrag):
+ * page/DragController.h:
+ (WebCore::DragController::draggingImageURL):
+ (WebCore::DragController::documentUnderMouse):
+
+2010-04-29 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Simon Fraser.
+
+ Calls FrameView::scrollPositionChanged whenever a ScrollView is scrolled
+ https://bugs.webkit.org/show_bug.cgi?id=38286
+
+ When a ScrollView's scroll position is changed, we have to call
+ FrameView::scrollPositionChanged to generate repaint invalidation for
+ fixed position elements. This ends up getting called indirectly when
+ the ScrollView has a platformWidget through the port layer
+ (see WebHTMLView.mm's _frameOrBoundsChanged method for how the mac
+ port does it) but not when there is no platformWidget.
+
+ This is tested by the fast/repaint/fixed-* tests when run in pixel
+ mode.
+
+ Test: fast/repaint/fixed-move-after-keyboard-scroll.html
+
+ * page/FrameView.h:
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::valueChanged):
+ * platform/ScrollView.h:
+ (WebCore::ScrollView::scrollPositionChanged):
+
+2010-04-30 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Use C99 integer types in more places.
+
+ * manual-tests/NPN_Invoke/main.c:
+ (NPP_New):
+ (NPP_NewStream):
+ (NPP_WriteReady):
+ (NPP_Write):
+ (NPP_HandleEvent):
+ (functionPointerForTVector):
+ * plugins/mac/PluginViewMac.cpp:
+ (WebCore::PluginView::platformGetValueStatic):
+ (WebCore::PluginView::handlePostReadFile):
+
+2010-04-30 Darin Adler <darin@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Remove unused scrollRectIntoViewRecursively function
+ https://bugs.webkit.org/show_bug.cgi?id=38403
+
+ * page/Chrome.cpp:
+ (WebCore::Chrome::scrollRectIntoView): Moved comment here that was previously
+ in the scrollRectIntoViewRecursively function.
+
+ * platform/ScrollView.cpp: Get rid scrollRectIntoViewRecursively.
+ * platform/ScrollView.h: Ditto. Fix comment that refers to the two functions.
+ Also correct all uses of the term "method" to use the C++ term "function" and
+ got rid of double spaces after periods.
+
+2010-04-30 Anders Carlsson <andersca@apple.com>
+
+ Another Qt build fix.
+
+ * plugins/qt/PluginViewQt.cpp:
+ (WebCore::PluginView::platformGetValueStatic):
+
+2010-04-30 Anders Carlsson <andersca@apple.com>
+
+ Add back TRUE, FALSE and NULL macros. They were not meant to be removed!
+
+ * bridge/npapi.h:
+
+2010-04-30 Anders Carlsson <andersca@apple.com>
+
+ Try to fix the Qt build this time.
+
+ * plugins/qt/PluginPackageQt.cpp:
+ (WebCore::staticPluginQuirkRequiresGtkToolKit_NPN_GetValue):
+ (WebCore::PluginPackage::NPVersion):
+
+2010-04-30 Anders Carlsson <andersca@apple.com>
+
+ Yet another build fix.
+
+ * plugins/gtk/PluginPackageGtk.cpp:
+ (WebCore::PluginPackage::NPVersion):
+
+2010-04-30 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * bridge/npapi.h:
+
+2010-04-30 Jian Li <jianli@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [chromium] Add WebFileSystem interface and hook up with all FileSystem methods.
+ https://bugs.webkit.org/show_bug.cgi?id=38228
+
+ * platform/chromium/ChromiumBridge.h:
+ * platform/chromium/FileSystemChromium.cpp:
+ (WebCore::openFile):
+ (WebCore::closeFile):
+ (WebCore::seekFile):
+ (WebCore::truncateFile):
+ (WebCore::readFromFile):
+ (WebCore::writeToFile):
+
+2010-04-30 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Final part of
+
+ https://bugs.webkit.org/show_bug.cgi?id=20784
+ move npapi.h to C99 integer types
+
+ * bridge/npapi.h:
+ Remove the old types.
+
+2010-04-30 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r58569.
+ http://trac.webkit.org/changeset/58569
+ https://bugs.webkit.org/show_bug.cgi?id=38399
+
+ This broke the GTK bots due to bad GC behavior (Requested by
+ ericu on #webkit).
+
+ * bindings/js/JSWorkerContextCustom.cpp:
+ * bindings/v8/custom/V8WorkerContextCustom.cpp:
+ * storage/Database.idl:
+ * storage/SQLError.idl:
+ * storage/SQLResultSet.idl:
+ * storage/SQLResultSetRowList.idl:
+ * storage/SQLTransaction.idl:
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::openDatabase):
+ * workers/WorkerContext.h:
+ (WebCore::WorkerContext::databaseExceededQuota):
+ * workers/WorkerContext.idl:
+
+2010-04-30 Anders Carlsson <andersca@apple.com>
+
+ Fix GTK+ build.
+
+ * plugins/gtk/PluginViewGtk.cpp:
+ (WebCore::PluginView::handlePostReadFile):
+ (WebCore::PluginView::platformGetValueStatic):
+
+2010-04-30 Anders Carlsson <andersca@apple.com>
+
+ Fix Qt build.
+
+ * plugins/qt/PluginViewQt.cpp:
+ (WebCore::PluginView::handlePostReadFile):
+ (WebCore::PluginView::platformGetValue):
+
+2010-04-30 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Timothy Hatcher.
+
+ Next step towards fixing
+
+ https://bugs.webkit.org/show_bug.cgi?id=20784
+ move npapi.h to C99 integer types
+
+ Use the C99 types everywhere. The "old" types are still around but will be removed
+ in a subsequent commit.
+
+ * bridge/npapi.h:
+ (_NPCocoaEvent::):
+ * plugins/PluginPackage.h:
+ * plugins/PluginStream.cpp:
+ (WebCore::PluginStream::deliverData):
+ * plugins/PluginStream.h:
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::postURLNotify):
+ (WebCore::PluginView::postURL):
+ (WebCore::PluginView::write):
+ (WebCore::PluginView::handlePost):
+ * plugins/PluginView.h:
+ * plugins/PluginViewNone.cpp:
+ (WebCore::PluginView::handlePostReadFile):
+ * plugins/npapi.cpp:
+ (NPN_MemAlloc):
+ (NPN_MemFlush):
+ (NPN_PostURLNotify):
+ (NPN_PostURL):
+ (NPN_Write):
+ * plugins/npfunctions.h:
+ * plugins/win/PluginPackageWin.cpp:
+ (WebCore::PluginPackage::NPVersion):
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::PluginView::handlePostReadFile):
+
+2010-04-30 Peter Kasting <pkasting@google.com>
+
+ Reviewed by David Levin.
+
+ Make all image decoders set the "failed" bit if an image could not be
+ completely decoded, but no more data is coming. The ICO and BMP
+ decoders already did this.
+ https://bugs.webkit.org/show_bug.cgi?id=35411
+
+ "Failed" does not cause the image to not be displayed, it simply causes
+ us to not bother to try to decode again if future requests are made, and
+ for some decoders, lets the decoder clean up some of its temporary
+ objects.
+
+ No layout tests because this does not change the visible output of decoding in any way.
+
+ * platform/image-decoders/gif/GIFImageDecoder.cpp:
+ (WebCore::GIFImageDecoder::frameComplete): Return whether the frame could be marked as complete.
+ (WebCore::GIFImageDecoder::decode): Fail if read() needs more data (and thus returns false) and no more is coming.
+ * platform/image-decoders/gif/GIFImageDecoder.h:
+ * platform/image-decoders/gif/GIFImageReader.cpp:
+ (GIFImageReader::do_lzw): Instead of returning true for buffer underrun and false for failure, return false for both and set the failure flag on failure.
+ (GIFImageReader::read): Ditto.
+ * platform/image-decoders/gif/GIFImageReader.h:
+ * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
+ (WebCore::):
+ (WebCore::JPEGImageReader::decode): See do_lzw() comment above.
+ (WebCore::JPEGImageDecoder::decode): Fail if decode() needs more data (and thus returns false) and no more is coming.
+ * platform/image-decoders/jpeg/JPEGImageDecoder.h:
+ * platform/image-decoders/png/PNGImageDecoder.cpp:
+ (WebCore::PNGImageReader::decode): Return true for decode success, false for buffer underrun or decode failure, and set the failure flag on decode failure.
+ (WebCore::PNGImageDecoder::decode): See JPEGImageDecoder::decode() comment above.
+ * platform/image-decoders/png/PNGImageDecoder.h:
+
+2010-04-30 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Eric Carlson.
+
+ <rdar://problem/7902467> - Audio plays upon loading of npr.org but shouldn't
+
+ No new tests. (Currently no way to test such site specific hack behavior)
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::HTMLMediaElement):
+ (WebCore::HTMLMediaElement::asyncEventTimerFired): If the event to be dispatched is the canplay
+ event, wrap the dispatch with m_dispatchingCanPlayEvent set.
+ (WebCore::HTMLMediaElement::play): If m_dispatchingCanPlayEvent is true and the site is npr.org,
+ don't perform the play().
+ * html/HTMLMediaElement.h: Add m_dispatchingCanPlayEvent member.
+
+2010-04-30 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ Part of <rdar://problem/6649734> Text repainting does not account for glyphs which draw outside the typographic bounds of the font
+ https://bugs.webkit.org/show_bug.cgi?id=6274
+
+ Account for glyph overflow of characters in the range U+1E00..U+2000, but without sending them
+ through the complex text code path. Instead, introduce a variant of the fast path that tracks
+ glyph overflow.
+
+ * platform/graphics/Font.cpp:
+ (WebCore::Font::drawText): Use codePath().
+ (WebCore::Font::floatWidth): Use codePath(). Pass the GlyphOverflow pointer through to
+ floatWidthForSimpleText() if the code path is SimpleWithGlyphOverflow.
+ (WebCore::Font::selectionRectForText): Use codePath().
+ (WebCore::Font::offsetForPosition): Ditto.
+ * platform/graphics/Font.h: Replaced canUseGlyphCache() with codePath(). Added a GlyphOverflow
+ parameter to floatWidthForSimpleText().
+ * platform/graphics/FontFastPath.cpp:
+ Removed ROMAN_AND_GREEK_DIACRITICS_CAN_USE_GLYPH_CACHE.
+ (WebCore::Font::codePath): Renamed canUseGlyphCache() to this. Where it used to return false,
+ it now returns Complex. Where it used to return true, it now returns Simple, except for
+ the range U+1E00..U+2000, where it now returns SimpleWithGlyphOverflow.
+ (WebCore::Font::floatWidthForSimpleText): Added a GlyphOverflow parameter. If not 0, have the
+ width iterator account for glyph bounds, then update the GlyphOverflow accordingly.
+ * platform/graphics/WidthIterator.cpp:
+ (WebCore::WidthIterator::WidthIterator): Added boolean parameter telling the width iterator
+ whether to account for glyph bounds. Initialize m_accountForGlyphBounds accordingly. Initialize
+ m_maxGlyphBoundingBoxY, m_minGlyphBoundingBoxY, m_firstGlyphOverflow and m_lastGlyphOverflow.
+ (WebCore::WidthIterator::advance): If accounting for glyph bounds, update the above member variables.
+ * platform/graphics/WidthIterator.h:
+ (WebCore::WidthIterator::maxGlyphBoundingBoxY): Added this accessor.
+ (WebCore::WidthIterator::minGlyphBoundingBoxY): Ditto.
+ (WebCore::WidthIterator::firstGlyphOverflow): Ditto.
+ (WebCore::WidthIterator::lastGlyphOverflow): Ditto.
+
+2010-04-30 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Reversed the order of the CSSMatrix.multiply method
+ https://bugs.webkit.org/show_bug.cgi?id=38337
+
+ Test: transforms/svg-vs-css.xhtml
+
+ * css/WebKitCSSMatrix.cpp:
+ (WebCore::WebKitCSSMatrix::multiply):
+ * platform/graphics/transforms/TransformationMatrix.cpp:
+
+2010-04-30 Kevin Ollivier <kevino@theolliviers.com>
+
+ Unreviewed. Attempt to fix the Chromium Mac build after the last commit.
+
+ * WebCore.gypi:
+
+2010-04-30 Kevin Ollivier <kevino@theolliviers.com>
+
+ Reviewed by Dan Bernstein.
+
+ Allow other ports to compile ATSUI and CoreText functions in SimpleFontData for Mac.
+ https://bugs.webkit.org/show_bug.cgi?id=38334
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/graphics/mac/SimpleFontDataATSUI.mm: Copied from WebCore/platform/graphics/mac/SimpleFontDataMac.mm.
+ * platform/graphics/mac/SimpleFontDataCoreText.cpp: Copied from WebCore/platform/graphics/mac/SimpleFontDataMac.mm.
+ * platform/graphics/mac/SimpleFontDataMac.mm:
+
+2010-04-30 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Simon Fraser.
+
+ SHOULD NEVER BE REACHED assertion loading forbes.com
+ https://bugs.webkit.org/show_bug.cgi?id=38272
+
+ Ignore page media related pseudo classes.
+
+ Test: printing/pseudo-class-outside-page.html
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
+
+2010-04-30 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Unreviewed, build fix.
+
+ Fix compiler warning "suggest parentheses around"
+
+ No new tests as there is no new functionality.
+
+ * svg/SVGAnimateElement.cpp:
+ (WebCore::SVGAnimateElement::calculateFromAndToValues):
+
+2010-04-30 Kent Tamura <tkent@chromium.org>
+
+ Unreviewed. Regression fix.
+
+ Revert a part of r58564 to be compatible with prior behavior
+ https://bugs.webkit.org/show_bug.cgi?id=38383
+
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::forwardEvent):
+ r58564 made a region check for the cancel button stricter, but it
+ made some tests failing on Chromium. So, relax the check again.
+
+2010-04-29 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Change StorageEvent.uri to StorageEvent.url to match the spec
+ https://bugs.webkit.org/show_bug.cgi?id=38331
+
+ As I mentioned in http://www.mail-archive.com/public-webapps@w3.org/msg08495.html
+ WebKit is the only one who places the document's URL in a 'uri' property
+ rather than a 'url' property. Even though we've shipped several versions of
+ browsers with the old name, we probably should change this to comply with the
+ spec.
+
+ This stuff is covered by existing tests.
+
+ * storage/StorageEvent.cpp:
+ (WebCore::StorageEvent::create):
+ (WebCore::StorageEvent::StorageEvent):
+ (WebCore::StorageEvent::initStorageEvent):
+ * storage/StorageEvent.h:
+ (WebCore::StorageEvent::url):
+ * storage/StorageEvent.idl:
+
+2010-04-30 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Reviewed by Dirk Schulze.
+
+ REGRESSION: RenderPath does not handle repaints correctly anymore if bounds changed
+ https://bugs.webkit.org/show_bug.cgi?id=38385
+
+ The last SVG performance patch broke repainting if bounds of a RenderPath get smaller.
+ It would only repaint the smaller part, not the original larger bounds.
+
+ Remove all lazy calculation of the repaint rects, instead calculate object/strokeBoundingBox and repaintRectInLocalCoordinates
+ once in layout - after LayoutRepainter grabbed the initial bounds, before calling repaintAfterLayout(). We can now inline
+ all these functions, and save a lot of m_path.isEmpty() checks, which are expensive. No need to store a seperated markerBoundingBox(),
+ combine with strokeBoundingBox() -> save one FloatRect per RenderPath. Move strokeBoundingBox() from SVGRenderBase to RenderObject,
+ right next to objectBoundingBox() - to save unnecessary toSVGRenderBase() calls. Completly remove this method.
+
+ Overall this is a regression fix, a performance improvement and saves memory. Something for everyone.
+
+ Tests: svg/custom/repaint-stroke-width-changes.svg
+
+ * rendering/RenderObject.cpp: Added strokeBoundingBox() here, to avoid the toSVGRenderBase() dance.
+ (WebCore::RenderObject::strokeBoundingBox):
+ * rendering/RenderObject.h: Ditto.
+ * rendering/RenderPath.cpp:
+ (WebCore::RenderPath::RenderPath):
+ (WebCore::RenderPath::layout): Fix regression, do repainting correctly, by recalculating the boundaries, if needed, instead of nulling them.
+ (WebCore::RenderPath::paint): Cache SVGRenderStyle in local variable, remove no longer valid FIXME.
+ (WebCore::RenderPath::calculateMarkerBoundsIfNeeded): Return a FloatRect, to avoid having to store the marker bounding box seperated.
+ (WebCore::RenderPath::styleWillChange): Mark boundaries as dirty.
+ (WebCore::RenderPath::updateCachedBoundaries): New function to (re-)calculate all cached boundaries, only called from layout().
+ * rendering/RenderPath.h: Rename cached rect variables to have more sensible names.
+ (WebCore::RenderPath::objectBoundingBox): Inlined, just returns the cached value - no more lazy creation. Huge speedup as this is hot code.
+ (WebCore::RenderPath::strokeBoundingBox): Ditto.
+ (WebCore::RenderPath::repaintRectInLocalCoordinates): Ditto.
+ * rendering/RenderSVGBlock.h: Remove toSVGRenderBase() method.
+ * rendering/RenderSVGImage.h: Ditto.
+ * rendering/RenderSVGInline.cpp: No need to call toSVGRenderBase() just to get the strokeBoundingBox(). Unifies code to retrieve bounding boxes.
+ (WebCore::RenderSVGInline::strokeBoundingBox):
+ * rendering/RenderSVGInline.h: Remove toSVGRenderBase() method.
+ * rendering/RenderSVGModelObject.h: Ditto.
+ * rendering/RenderSVGResourceFilter.cpp: No need to call toSVGRenderBase() anymore, just grab the strokeBoundingBox() from the RenderObject.
+ (WebCore::RenderSVGResourceFilter::applyResource):
+ * rendering/RenderSVGText.h: Remove toSVGRenderBase() method.
+ * rendering/SVGRenderSupport.h: Ditto. Remove markerBoundingBox() method, now combined with strokeBoundingBox().
+ (WebCore::SVGRenderBase::strokeBoundingBox):
+ * rendering/SVGRootInlineBox.h: Remove toSVGRenderBase() method.
+ * rendering/style/SVGRenderStyle.h: Add hasMarkers() helper method, to avoid doing unnecessary work in RenderPath.
+ (WebCore::SVGRenderStyle::hasMarkers):
+
+2010-04-30 Eric Uhrhane <ericu@chromium.org>
+
+ Reviewed by Dmitry Titov.
+
+ Add bindings for async DB API in Workers.
+ https://bugs.webkit.org/show_bug.cgi?id=34992
+
+ Tests: storage/change-version-handle-reuse-worker.html
+ storage/execute-sql-args-worker.html
+
+ * bindings/js/JSWorkerContextCustom.cpp: Add openDatabase binding.
+ (WebCore::JSWorkerContext::openDatabase):
+
+ * bindings/v8/custom/V8WorkerContextCustom.cpp: Add openDatabase stub; Chromium will need work both in V8 and in the browser process before we can turn this on there.
+ (WebCore::V8WorkerContext::openDatabaseCallback):
+
+ Add NoStaticTables flags to all objects now shared with workers.
+ * storage/Database.idl:
+ * storage/SQLError.idl:
+ * storage/SQLResultSet.idl:
+ * storage/SQLResultSetRowList.idl:
+ * storage/SQLTransaction.idl:
+
+ * workers/WorkerContext.h: Add databaseExceededQuota.
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::databaseExceededQuota): Add stub implementation for testing; you just get 5MB for now.
+ (WebCore::WorkerContext::openDatabase): Remove invalid assertion.
+
+ Add the IDL for the call to openDatabase.
+ * workers/WorkerContext.idl:
+
+2010-04-30 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Unnecessary PrintContext::end() calls
+ https://bugs.webkit.org/show_bug.cgi?id=38247
+
+ Refactoring only, so no new tests.
+
+ * page/PrintContext.cpp:
+ (WebCore::PrintContext::pageNumberForElement):
+ (WebCore::PrintContext::numberOfPages):
+
+2010-04-30 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Adele Peterson.
+
+ Implement interactive behavior of spin buttons.
+ https://bugs.webkit.org/show_bug.cgi?id=35686
+
+ Introduce SpinButtonElement. It is a shadow element class for
+ spin buttons. If the upper side of the element is clicked, calls
+ HTMLInputElement::stepUpFromRenderer(1). If the lower button is
+ clicked, calls HTMLInputElement::stepUpFromRenderer(-1).
+
+ SpinButtonElement tracks the mouse pointer position, and
+ RenderTheme sets ControlStates::SpinUpState if the pointer is on
+ the upper side.
+
+ Test: platform/mac/fast/forms/input-number-click.html
+
+ * dom/Element.h:
+ (WebCore::Element::isSpinButtonElement):
+ * editing/VisibleSelection.cpp:
+ (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
+ Remove an assertion. lastEditablePositionBeforePositionInRoot() can
+ return null in a case that m_end is at a shadow element (a spin button)
+ and baseRoot is another shadow element (inner text block) in the same
+ node (an INPUT element).
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::stepUpFromRenderer):
+ * html/HTMLInputElement.h:
+ (WebCore::HTMLInputElement::hasSpinButton):
+ Add types supporting step attribute except RANGE.
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::nodeAtPoint):
+ (WebCore::RenderTextControlSingleLine::forwardEvent):
+ (WebCore::RenderTextControlSingleLine::preferredContentWidth):
+ (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
+ * rendering/RenderTextControlSingleLine.h:
+ * rendering/RenderTheme.cpp:
+ (WebCore::RenderTheme::controlStatesForRenderer):
+ (WebCore::RenderTheme::isSpinUpButtonPartPressed):
+ (WebCore::RenderTheme::isSpinUpButtonPartHovered):
+ * rendering/RenderTheme.h:
+ * rendering/TextControlInnerElements.cpp:
+ (WebCore::SpinButtonElement::SpinButtonElement):
+ (WebCore::SpinButtonElement::defaultEventHandler):
+ * rendering/TextControlInnerElements.h:
+ (WebCore::SpinButtonElement::isSpinButtonElement):
+ (WebCore::SpinButtonElement::isEnabledFormControl):
+ (WebCore::SpinButtonElement::onUpButton):
+
+2010-04-30 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Enable DOMWindow constructor for HTMLProgressElement
+ https://bugs.webkit.org/show_bug.cgi?id=38333
+
+ Add ENABLE_PROGRESS_TAG to FEATURES_DEFINES_JAVASCRIPT.
+
+ * WebCore.pri:
+
+2010-04-30 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Adele Peterson.
+
+ Mac implementation of outer-spin-button appearance, and anonymous
+ element generation for <input type=number>.
+ https://bugs.webkit.org/show_bug.cgi?id=32813
+
+ The implementation uses NSStepperCell. Like the other Mac
+ controls, it has only three candidates for sizes.
+
+ The editable block of an input element is shrunk, and the
+ anonymous block for a spin button is put on the right of the
+ editable block.
+
+ Tests: platform/mac/fast/forms/input-appearance-spinbutton-size.html
+ platform/mac/fast/forms/input-appearance-spinbutton.html
+
+ * dom/Element.cpp:
+ (WebCore::Element::pseudoStyleCacheIsInvalid):
+ * dom/InputElement.h:
+ (WebCore::InputElement::hasSpinButton):
+ * html/HTMLInputElement.h:
+ (WebCore::HTMLInputElement::hasSpinButton): Return true for NUMBER type.
+ * platform/mac/ThemeMac.mm:
+ (WebCore::sizeFromNSControlSize): Split the main part of sizeFromFont()
+ to this in order to use stepperControlSizeForFont() instead of
+ controlSizeForFont().
+ (WebCore::sizeFromFont): Just calls sizeFromNSControlSize() with
+ sizeFromFont(). No behavior changes.
+ (WebCore::stepperSizes): Returns sizes for mini, small, and regular.
+ (WebCore::stepperControlSizeForFont):
+ Dedicated version of controlSizeForFont().
+ (WebCore::stepper): Returns NSStepperCell object with specified settings.
+ (WebCore::paintStepper):
+ (WebCore::ThemeMac::controlSize): Support for OuterSpinButton.
+ (WebCore::ThemeMac::minimumControlSize): ditto.
+ (WebCore::ThemeMac::inflateControlPaintRect): ditto.
+ (WebCore::ThemeMac::paint): ditto.
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::paintBoxDecorations):
+ Move the content to paintBoxDecorationsWithSize().
+ (WebCore::RenderBox::paintBoxDecorationsWithSize):
+ * rendering/RenderBox.h: Declare paintBoxDecorationsWithSize().
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
+ (WebCore::RenderTextControlSingleLine::paintBoxDecorations):
+ Call paintBoxDecorationsWithSize() with smaller width by decorationWidthRight().
+ (WebCore::RenderTextControlSingleLine::addFocusRingRects):
+ Add a rectangle of which width is smaller by decorationWidthRight().
+ (WebCore::RenderTextControlSingleLine::layout):
+ Adjust m_outerSpinButton position.
+ (WebCore::RenderTextControlSingleLine::styleDidChange):
+ (WebCore::RenderTextControlSingleLine::textBlockWidth):
+ (WebCore::RenderTextControlSingleLine::decorationWidthRight):
+ (WebCore::RenderTextControlSingleLine::preferredDecorationWidthRight):
+ (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
+ Creates an element for m_outerSpinButton if it is needed.
+ (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
+ (WebCore::RenderTextControlSingleLine::createOuterSpinButtonStyle):
+ * rendering/RenderTextControlSingleLine.h: Declare new methods and m_outerSpinButton.
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::adjustRepaintRect): Support for OuterSpinButton.
+
+2010-04-29 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Update JSC CodeGenerator baseline. Not sure how I missed
+ this one earlier.
+
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore::jsTestObjPrototypeFunctionSerializedValue):
+
+2010-04-29 Justin Garcia <justin.garcia@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ Need to updateLayout after typing commands too
+ https://bugs.webkit.org/show_bug.cgi?id=38352
+
+ Replaced !m_parent checks in EditCommand.cpp by the more descriptive isTopLevelCommand().
+ Move the post editing operation updateLayout() call to {un,re}appliedEditing so that text insertions,
+ which don't go through EditCommand::{un,re}apply() can benefit from it too. No test case possible
+ since most platforms have a layout performed as a side effect of post operation selection code.
+
+ * editing/EditCommand.cpp:
+ (WebCore::EditCommand::apply):
+ (WebCore::EditCommand::unapply):
+ (WebCore::EditCommand::reapply):
+ * editing/EditCommand.h:
+ (WebCore::EditCommand::isTopLevelCommand):
+ * editing/Editor.cpp:
+ (WebCore::Editor::appliedEditing):
+ (WebCore::Editor::unappliedEditing):
+ (WebCore::Editor::reappliedEditing):
+
+2010-04-29 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <rdar://problem/7918086> REGRESSION (r57820): Controller is not displayed in window when opening a MP3 file in browser window
+ https://bugs.webkit.org/show_bug.cgi?id=38350
+
+ Tests: media/audio-only-video-intrinsic-size.html
+ media/media-document-audio-size.html
+
+ * rendering/RenderVideo.cpp:
+ (WebCore::RenderVideo::RenderVideo): Until metadata is available, ignore the natural size
+ reported by the player.
+ (WebCore::RenderVideo::videoSizeChanged): Respect a natural size of zero if reported by the
+ player, except in standalone media documents.
+
+2010-04-29 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ First part of
+ https://bugs.webkit.org/show_bug.cgi?id=20784
+ move npapi.h to C99 integer types.
+
+ Add nptypes.h to the build.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * bridge/npapi.h:
+ * bridge/npruntime.h:
+ * bridge/nptypes.h: Added.
+
+2010-04-29 Xan Lopez <xlopez@igalia.com>
+
+ Rubber-stamped by Adam Barth.
+
+ Update GObject bindings test results. We are actually moving
+ backwards here, but we'll update them again when we figure out
+ what broke.
+
+ * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
+ (webkit_dom_test_obj_set_property):
+ (webkit_dom_test_obj_get_property):
+
+2010-04-29 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=38277
+ MiniBrowser: -[WebCoreFlippedView currentEditor]: unrecognized selector
+
+ * platform/mac/ThemeMac.mm:
+ (-[WebCoreFlippedView currentEditor]): Added currentEditor nil implementation.
+
+2010-04-29 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ CodeGeneratorJS.pm should be consistent about castedThis versus castedThisObj
+ https://bugs.webkit.org/show_bug.cgi?id=38338
+
+ Currently CodeGeneratorJS.pm uses castThis for methods and
+ castedThisObj for attributes. This inconsistency makes it difficult to
+ factor common code genereration code into methods shared by both kinds
+ of bindings. This match aligns the names so that a future patch (e.g.,
+ in https://bugs.webkit.org/show_bug.cgi?id=38313) can reduce copy/paste
+ code.
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore::setJSTestObjIntAttr):
+ (WebCore::setJSTestObjLongLongAttr):
+ (WebCore::setJSTestObjUnsignedLongLongAttr):
+ (WebCore::setJSTestObjStringAttr):
+ (WebCore::setJSTestObjTestObjAttr):
+ (WebCore::setJSTestObjAttrWithException):
+ (WebCore::setJSTestObjAttrWithSetterException):
+ (WebCore::setJSTestObjAttrWithGetterException):
+ (WebCore::jsTestObjPrototypeFunctionVoidMethod):
+ (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
+ (WebCore::jsTestObjPrototypeFunctionIntMethod):
+ (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
+ (WebCore::jsTestObjPrototypeFunctionObjMethod):
+ (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithException):
+ (WebCore::jsTestObjPrototypeFunctionCustomMethod):
+ (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
+ (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
+ (WebCore::jsTestObjPrototypeFunctionAddEventListener):
+ (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
+ (WebCore::jsTestObjPrototypeFunctionWithDynamicFrame):
+ (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
+ (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
+ (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
+ (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
+ (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
+ (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
+ (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
+ (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
+
+2010-04-29 Gustavo Noronha Silva <gustavo.noronhaollabora.co.uk>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] pointerCursor should use the default cursor set for the window, not GDK_LEFT_PTR
+ https://bugs.webkit.org/show_bug.cgi?id=36963
+
+ Use the default cursor instead of hard-coding left pointer.
+
+ * platform/gtk/CursorGtk.cpp:
+ (WebCore::Cursor::Cursor):
+ (WebCore::pointerCursor):
+
+2010-04-29 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ WebInspector: If Timeline panel is in recording mode and is not visible and has received
+ new events then these events do not appear in the panel when the panel becomes visible.
+ Timeline popup may appear in the upper left window corner when you switch to another panel.
+ https://bugs.webkit.org/show_bug.cgi?id=38322
+
+ * inspector/front-end/Popover.js:
+ (WebInspector.PopoverHelper.prototype._mouseMove.doHide):
+ (WebInspector.PopoverHelper.prototype._mouseMove):
+ (WebInspector.PopoverHelper.prototype.hidePopup):
+ (WebInspector.PopoverHelper.prototype._hidePopup):
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel.prototype.show):
+ (WebInspector.TimelinePanel.prototype._scheduleRefresh):
+ (WebInspector.TimelinePanel.prototype._refresh):
+
+2010-04-29 Anton Muhin <antonm@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Let's cache nodelists instead of DynamicNodeList::Caches
+ https://bugs.webkit.org/show_bug.cgi?id=33696
+
+ Test: fast/dom/Element/node-list-identity.html
+
+ * bindings/js/JSNodeCustom.cpp:
+ (WebCore::JSNode::markChildren): Mark all cached node lists as well
+ * dom/ClassNodeList.cpp:
+ (WebCore::ClassNodeList::ClassNodeList): Don't need DynamicNodeList::Caches argument any more
+ (WebCore::ClassNodeList::~ClassNodeList): Remove from the cache
+ * dom/ClassNodeList.h: Added a field with original class names to be used as a key for removal from the cache
+ (WebCore::ClassNodeList::create): Don't need DynamicNodeList::Caches argument any more
+ * dom/NameNodeList.cpp:
+ (WebCore::NameNodeList::NameNodeList): Don't need DynamicNodeList::Caches argument any more
+ (WebCore::NameNodeList::~NameNodeList): Remove from the cache
+ * dom/NameNodeList.h:
+ (WebCore::NameNodeList::create): Don't need DynamicNodeList::Caches argument any more
+ * dom/Node.cpp:
+ (WebCore::Node::removeCachedClassNodeList): Remove ClassNodeList from the cache
+ (WebCore::Node::removeCachedNameNodeList): Remove NameNodeList from the cache
+ (WebCore::Node::removeCachedTagNodeList): Remove TagNodeList from the cache
+ (WebCore::Node::getElementsByTagNameNS): Switch to caching node lists themselves, not the data
+ (WebCore::Node::getElementsByName): Switch to caching node lists themselves, not the data
+ (WebCore::Node::getElementsByClassName): Switch to caching node lists themselves, not the data
+ (WebCore::NodeListsNodeData::invalidateCaches): Switch to caching node lists themselves, not the data
+ (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes): Switch to caching node lists themselves, not the data
+ (WebCore::NodeListsNodeData::isEmpty): Switch to caching node lists themselves, not the data
+ (WebCore::markNodeLists): Helper to mark all the node lists in the cache
+ (WebCore::Node::markCachedNodeListsSlow): Mark all the cached node lists if any could be present
+ * dom/Node.h:
+ (WebCore::Node::markCachedNodeLists): Fast-path marking of cached node lists---bails out if there is no rare data
+ * dom/NodeRareData.h: Changed type of caches to hold raw pointers to node lists, not RefPtr's to data
+ * dom/TagNodeList.cpp:
+ (WebCore::TagNodeList::TagNodeList): Don't need DynamicNodeList::Caches argument any more
+ (WebCore::TagNodeList::~TagNodeList): Remove from the cache
+ * dom/TagNodeList.h:
+ (WebCore::TagNodeList::create): Don't need DynamicNodeList::Caches argument any more
+
+2010-04-29 Mikhail Naganov <mnaganov@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ [Chromium] Update ScriptProfileNode to retrieve execution time in milliseconds.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38330
+
+ * bindings/v8/ScriptProfileNode.cpp:
+ (WebCore::ScriptProfileNode::totalTime):
+ (WebCore::ScriptProfileNode::selfTime):
+
+2010-04-28 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ A form without a submit button unexpectedly performs its action when Return is pressed
+ https://bugs.webkit.org/show_bug.cgi?id=9756
+
+ Implemented implicit form submission algorithm as defined in HTML5 spec:
+ http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#implicit-submission,
+ falling back to match IE's behavior in the edge cases.
+
+ The underlying rules are:
+
+ * If the form has no enabled submit buttons, submit if Enter/Return is pressed on the only single-line text field.
+
+ * Otherwise, submit form using first enabled submit button if Enter/Return is pressed on a field
+ that's not a textarea or a select.
+
+ Test: fast/forms/implicit-submission.html
+
+ * dom/SelectElement.cpp:
+ (WebCore::SelectElement::menuListDefaultEventHandler): Ripped out implicit submission for select elements.
+ (WebCore::SelectElement::listBoxDefaultEventHandler): Ditto.
+ (WebCore::SelectElement::defaultEventHandler): Ditto.
+ * dom/SelectElement.h: Ditto.
+ (WebCore::HTMLFormElement::submitImplicitly): Renamed submitClick to submitImplicitly to better match HTML5 spec
+ language, changed the logic to match the rules above.
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::defaultEventHandler): Reamed clickDefaultButton to implicitSubmission to better match
+ HTML5 spec language, made radio element to trigger implicit submission.
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::defaultEventHandler): Removed passing of form() as parameter, because it's no longer
+ necessary.
+
+2010-04-29 Paweł Hajdan, Jr. <phajdan.jr@chromium.org>
+
+ Reviewed by Jeremy Orlow.
+
+ Fix building with libpng-1.4.
+ https://bugs.webkit.org/show_bug.cgi?id=33287
+
+ No new tests (no behavior change).
+
+ Original patch by John Bowler <jbowler@acm.org>
+
+ * platform/image-encoders/skia/PNGImageEncoder.cpp:
+ (WebCore::PNGImageEncoder::encode):
+
+2010-04-29 Adam Langley <agl@chromium.org>
+
+ Reviewed by David Levin.
+
+ This patch adds support for WOFF in Chromium. Since Chromium
+ already transcodes all OpenType files for security reasons we
+ are adding WOFF support into the transcoder.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38217
+
+ * css/CSSFontFaceSrcValue.cpp:
+ (WebCore::CSSFontFaceSrcValue::isSupportedFormat):
+ Recognise "woff" as a font-face format value (guarded by
+ ENABLE(OPENTYPE_SANITIZER) at this point)
+ * platform/graphics/opentype/OpenTypeSanitizer.cpp:
+ (WebCore::OpenTypeSanitizer::sanitize):
+ Change so that the transcoded font can be larger than the original.
+ (WOFF files are compressed, so the transcoded TTF is typically
+ larger.)
+
+2010-04-29 Alex Milowski <alex@milowski.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Updates to the Qt build to enable building MathML support.
+
+ * WebCore.pri:
+ * WebCore.pro:
+
+2010-04-29 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ [GTK] GObject DOM bindings
+ https://bugs.webkit.org/show_bug.cgi?id=33590
+
+ Do not generate unneeded boilerplate in {get,set}_property methods
+ when there are no properties to generate code for. This gets rid
+ of lots of compiler warnings.
+
+ * bindings/scripts/CodeGeneratorGObject.pm:
+
+2010-04-29 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Speed up text layouting
+ https://bugs.webkit.org/show_bug.cgi?id=31719
+
+ Use QFontMetrics::width() for the text width calculation instead
+ of QTextLayout. This avoids expensive bearing calculations and the
+ line breaking code.
+
+ * platform/graphics/qt/FontQt.cpp:
+ (WebCore::Font::floatWidthForComplexText):
+
+2010-04-29 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Simon Hausmann.
+
+ [WINCE] Export g_stackBase with JS_EXPORTDATA
+ https://bugs.webkit.org/show_bug.cgi?id=37437
+
+ Declare g_stackBase with JS_EXPORTDATA as it is imported from JavaScriptCore.
+
+ * platform/wince/SharedTimerWince.cpp:
+
+2010-04-29 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Remove custom bindings for PopStateEvent.initPopStateEvent
+ https://bugs.webkit.org/show_bug.cgi?id=38311
+
+ Our code generation of SerializedScriptValue was slightly buggy, but
+ it's easy to fix. Notice that the conversion to an atomic string is
+ handled by the C++ type system and doesn't require logic in the code
+ generator.
+
+ * bindings/js/JSPopStateEventCustom.cpp:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
+ (webkit_dom_test_obj_serialized_value):
+ * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore::):
+ (WebCore::jsTestObjPrototypeFunctionSerializedValue):
+ * bindings/scripts/test/JS/JSTestObj.h:
+ * bindings/scripts/test/ObjC/DOMTestObj.h:
+ * bindings/scripts/test/ObjC/DOMTestObj.mm:
+ (-[DOMTestObj serializedValue:]):
+ * bindings/scripts/test/TestObj.idl:
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::TestObjInternal::serializedValueCallback):
+ (WebCore::ConfigureV8TestObjTemplate):
+ * bindings/v8/custom/V8PopStateEventCustom.cpp:
+ * dom/PopStateEvent.idl:
+
+2010-04-29 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Fix a bug that selection drag-and-drop doesn't work for input/textarea.
+ https://bugs.webkit.org/show_bug.cgi?id=38175
+
+ The code supposed the selected region was in the destination text
+ field. It is not true in a case of drag-and-drop.
+
+ Test: editing/pasteboard/drag-drop-input-textarea.html
+
+ * dom/InputElement.cpp:
+ (WebCore::InputElement::handleBeforeTextInsertedEvent):
+ * html/HTMLTextAreaElement.cpp:
+ (WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent):
+
+2010-04-29 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Remove custom bindings for NodeFilter.acceptNode
+ https://bugs.webkit.org/show_bug.cgi?id=38309
+
+ This "custom" code was just an instance of the CallWith=ScriptState
+ pattern. Also, it looks like V8 just had a garbage implemenation that
+ did nothing.
+
+ * WebCore.gypi:
+ * bindings/js/JSNodeFilterCustom.cpp:
+ * bindings/v8/custom/V8NodeFilterCustom.cpp: Removed.
+ * dom/NodeFilter.idl:
+
+2010-04-29 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] QtWebkit doesn't link with 3D canvas
+ https://bugs.webkit.org/show_bug.cgi?id=38299
+
+ Added implementation for GraphicsContext3D::isGLES2Compliant, which returns the correct value based on a Qt #define.
+
+ No new tests: build fix
+
+ * platform/graphics/qt/GraphicsContext3DQt.cpp:
+ (WebCore::GraphicsContext3D::isGLES2Compliant):
+
+2010-04-29 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] REGRESSION(r57638): tst_qwebframe::objectDeleted() fails
+ https://bugs.webkit.org/show_bug.cgi?id=38316
+
+ Accessing properties of a deleted objects doesn't throw an exception
+ anymore.
+
+ Continue to expose the QObject class wrapper for objects that
+ previously existed but don't exist anymore. QtClass is safe to
+ use with a deleted QObject.
+
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtInstance::getClass): Return null only if m_class
+ doesn't exist yet and there's no m_object.
+
+2010-04-29 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Reverse animations don't work in some use cases
+ https://bugs.webkit.org/show_bug.cgi?id=38075
+
+ This was due to a code path special-casing reverse animations, that became obselete when we aligned our animation code
+ with the CA implementation. That special case code path is now a bug - and this patch removes it.
+
+ http://staff.washington.edu/fmf/2009/03/25/iphone-3d-css-transformations/ now runs the reverse
+ animation correctly.
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::TransformAnimationQt::applyFrame):
+
+2010-04-29 Jan Hanssen <jhanssen@codeaurora.org>
+
+ Reviewed by Adam Barth.
+
+ HTMLOptionElement::ownerSelectElement() needs to consider keygen elements
+ https://bugs.webkit.org/show_bug.cgi?id=26016
+
+ Patch written by Grace Kloba <klobag@gmail.com>, test fixed by me.
+
+ Test: fast/dom/HTMLKeygenElement/keygen-option-select.html
+
+ * html/HTMLOptionElement.cpp:
+ (WebCore::HTMLOptionElement::ownerSelectElement):
+ Make HTMLOptionElement::ownerSelectElement() consider the keygen element in addition to the current select element.
+
+2010-04-29 Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
+
+ Reviewed by Eric Seidel.
+
+ Add EFL-specific code to Widget.h and move the empty
+ frameRectsChanged() definition to Widget.cpp, since the EFL port
+ needs to override that.
+ http://webkit.org/b/36317
+
+ No new tests required.
+
+ * WebCore.base.exp:
+ * platform/Widget.cpp:
+ (WebCore::Widget::frameRectsChanged):
+ * platform/Widget.h:
+
+2010-04-29 Jarkko Sakkinen <jarkko.j.sakkinen@gmail.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] GraphicsContext3DQt.cpp does not implement isGLES2Compliant()
+ https://bugs.webkit.org/show_bug.cgi?id=38216
+
+ * platform/graphics/qt/GraphicsContext3DQt.cpp:
+ (WebCore::GraphicsContext3D::isGLES2Compliant):
+
+2010-04-29 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Remove the unnecessary texImage2D function with Image as input in GraphicsContext3D
+ https://bugs.webkit.org/show_bug.cgi?id=38235
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore::WebGLRenderingContext::texImage2D): Add extractImageData; add a common entry point for texImage2D with image input.
+ (WebCore::WebGLRenderingContext::texImage2DBase): Add this function as the common entry point for texImage2D.
+ (WebCore::WebGLRenderingContext::texSubImage2D): Add extractImageData; add a common entry point for texSubImage2D with image input.
+ (WebCore::WebGLRenderingContext::texSubImage2DBase): Add this function as the common entry point for texSubImage2D.
+ * html/canvas/WebGLRenderingContext.h: Add tex*Image{Base/Image} function declaration.
+ * platform/graphics/GraphicsContext3D.h: Remove tex*Image declaration with Image input.
+ * platform/graphics/mac/GraphicsContext3DMac.cpp: Remove tex*Image implementation with Image input.
+ (WebCore::GraphicsContext3D::texImage2D):
+ (WebCore::GraphicsContext3D::texSubImage2D):
+
+2010-04-29 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] GraphicsLayer: flicker when starting an animation before the previous one ended.
+ https://bugs.webkit.org/show_bug.cgi?id=38076
+
+ This was due to the cude in the removeAnimations functions, which called deleteLater() without stopping the
+ animation synchronously. The delay between the call to that function and the actual call to the animation's destructor
+ is when the flicker occured. We fix this by calling stop() synchronously, and making sure that the value is reverted
+ upon stop (updateState) and not upon the object's destruction.
+
+ http://staff.washington.edu/fmf/2009/03/25/iphone-3d-css-transformations/ now doesn't flicker when
+ the animation is toggled frequently.
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::TransformAnimationQt::~TransformAnimationQt):
+ (WebCore::TransformAnimationQt::applyFrame):
+ (WebCore::TransformAnimationQt::updateState):
+ (WebCore::OpacityAnimationQt::~OpacityAnimationQt):
+ (WebCore::OpacityAnimationQt::updateState):
+ (WebCore::GraphicsLayerQt::removeAnimationsForProperty):
+ (WebCore::GraphicsLayerQt::removeAnimationsForKeyframes):
+
+2010-04-28 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Simon Fraser.
+
+ Media queries empty values
+ https://bugs.webkit.org/show_bug.cgi?id=38116
+
+ Adding isValid() method to MediaQueryExp to make it possible to differentiate
+ between queries with empty values and queries with invalid values.
+
+ Test: fast/media/media-query-invalid-value.html
+
+ * css/MediaQueryEvaluator.cpp:
+ (WebCore::MediaQueryEvaluator::eval):
+ * css/MediaQueryExp.cpp:
+ (WebCore::MediaQueryExp::MediaQueryExp):
+ * css/MediaQueryExp.h:
+ (WebCore::MediaQueryExp::isValid):
+
+2010-04-28 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: Allow editing script resources when resource tracking is enabled.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38269
+
+ * inspector/front-end/ScriptView.js:
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype.canEditScripts):
+ (WebInspector.ScriptsPanel.prototype.editScriptSource):
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype.get textModel):
+ * inspector/front-end/SourceView.js:
+ (WebInspector.SourceView):
+ (WebInspector.SourceView.prototype._addBreakpoint):
+ (WebInspector.SourceView.prototype._editLine):
+ (WebInspector.SourceView.prototype._editLineComplete):
+ (WebInspector.SourceView.prototype._sourceIDForLine):
+
+2010-04-25 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Clicking a scrollbar blurs the currently focused element
+ https://bugs.webkit.org/show_bug.cgi?id=16809
+
+ WebKit ports that do not use native (platform) widgets for rendering the scrollbars
+ are currently mismatching a common behaviour of other browser vendors (including
+ Firefox and Opera): clicking on a frame scrollbar *should not* steal focus from content.
+ WebKit browsers based ports that do use WebCore for handling scrollbars, like QtWebKit for
+ instance, can observe the opposite behaviour.
+
+ Patch fixes this behaviour by checking if current MouseDown event targets a frame scrollbar.
+ If that is the case, it bails out and do not change focus behavior at all.
+
+ It is important to note that the given way this is implemented by this patch, non-frame
+ scrollbars (e.g. a vertical scrollbar of an overflowed textareas or divs) will keep working
+ in the same way as it works currently.
+
+ Tests: scrollbars/scrollbar-click-does-not-blur-content.html
+ scrollbars/scrollbar-iframe-click-does-not-blur-content.html
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::dispatchMouseEvent):
+
+2010-04-28 Dan Bernstein <mitz@apple.com>
+
+ Rubber-stamped by Maciej Stachowiak.
+
+ Try to fix test failures seen on the Leopard build bot after r58467
+
+ * platform/graphics/SimpleFontData.cpp:
+ (WebCore::SimpleFontData::platformGlyphInit): Initialize m_zeroWidthSpaceGlyph before
+ calling widthForGlyph(), as the latter uses the former.
+
+2010-04-28 Martin Robinson <mrobinson@webkit.org>
+
+ Reviewed by Gustavo Noronha.
+
+ [GTK] Enable DOM clipboard and drag-and-drop access
+ https://bugs.webkit.org/show_bug.cgi?id=30623
+
+ Make ClipboardGtk a "live" DataTransfer object, able to modify
+ the clipboard when setData(...) is called.
+
+ * platform/gtk/ClipboardGtk.cpp:
+ (WebCore::Editor::newGeneralClipboard): Pass the GtkClipboard into the factory method.
+ (WebCore::ClipboardGtk::ClipboardGtk): Create two separate constructors, one for DnD data and one for clipboard data.
+ (WebCore::dataObjectTypeFromHTMLClipboardType): Added.
+ (WebCore::ClipboardGtk::clearData): Clear the member DataObject, optionally write the clipboard.
+ (WebCore::ClipboardGtk::clearAllData): Ditto.
+ (WebCore::joinURIList): Added.
+ (WebCore::ClipboardGtk::getData): Get the data from the clipboard, if possible.
+ (WebCore::ClipboardGtk::setData): Write data to the DataObject and maybe the clipboard.
+ (WebCore::ClipboardGtk::types): Read the clipboard/DataObject to find applicable types.
+ (WebCore::ClipboardGtk::files): Read the clipboard/DataObject to find the files.
+ (WebCore::ClipboardGtk::writeURL): Write to the DataObject and maybe the clipboard.
+ (WebCore::ClipboardGtk::writeRange): Ditto.
+ (WebCore::ClipboardGtk::writePlainText): Ditto.
+ (WebCore::ClipboardGtk::hasData): Query the clipboard/DataObject.
+ * platform/gtk/ClipboardGtk.h:
+ (WebCore::ClipboardGtk::create): Added one factory for pasteboard-backed DataObjects and one for DnD-backed objects.
+ * platform/gtk/DataObjectGtk.cpp:
+ (WebCore::replaceNonBreakingSpaceWithSpace): Added this helper function to clean &nbsp; from plain text.
+ (WebCore::DataObjectGtk::markup): Actually return the range if it's set.
+ (WebCore::DataObjectGtk::setText): Clean &nbsp; from plain text.
+ (WebCore::DataObjectGtk::clearText): Added.
+ (WebCore::DataObjectGtk::clearMarkup): Added.
+ * platform/gtk/DataObjectGtk.h:
+ (WebCore::DataObjectGtk::clearURIList): Added.
+ (WebCore::DataObjectGtk::clearImage): Added.
+ * platform/gtk/PasteboardHelper.cpp:
+ (WebCore::PasteboardHelper::initializeTargetList): Added target ID's for URI list and Netscape URL targets.
+ (WebCore::urisToKURLVector): Added.
+ (WebCore::PasteboardHelper::getClipboardContents): Added.
+ (WebCore::PasteboardHelper::fillSelectionData): Added logic for URI lists and Netscape URLs.
+ (WebCore::PasteboardHelper::targetListForDataObject): Ditto.
+ * platform/gtk/PasteboardHelper.h: Added default argument to writeClipboardContents and new method.
+
+2010-04-28 Martin Robinson <mrobinson@webkit.org>
+
+ Reviewed by Gustavo Noronha.
+
+ [GTK] Enable DOM clipboard and drag-and-drop access
+ https://bugs.webkit.org/show_bug.cgi?id=30623
+
+ Use the length of the UTF-8 markup data in bytes when filling GtkSelectionData.
+
+ No new tests, because pasteboard DataTransfer tests will be enabled
+ with the completion of the GTK+ DataTransfer object.
+
+ * platform/gtk/PasteboardGtk.cpp:
+ (WebCore::clipboard_get_contents_cb): Use strlen here instead of g_utf8_strlen.
+
+2010-04-28 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ More of <rdar://problem/7855777> REGRESSION: Memory usage increase caused by storing glyph bounds in GlyphMetricsMap
+ https://bugs.webkit.org/show_bug.cgi?id=37936
+
+ Assigning zero width and empty bounds to the ZERO WIDTH SPACE glyph often allocates a width map
+ page and a bounds map page for the glyph, each of which pages contains 255 unused entries. Save
+ this space by not storing the zero width and empty bounds in the metrics maps.
+
+ * platform/graphics/SimpleFontData.cpp:
+ (WebCore::SimpleFontData::SimpleFontData): Initialize m_zeroWidthSpaceGlyph.
+ (WebCore::SimpleFontData::platformGlyphInit): Set m_zeroWidthSpaceGlyph. Don’t create entries
+ for the ZERO WIDTH SPACE glyph in the width map and in the bounds map.
+ * platform/graphics/SimpleFontData.h:
+ (WebCore::SimpleFontData::boundsForGlyph): Return empty bounds for the ZERO WIDTH SPACE glyph
+ without consulting the bounds map.
+ (WebCore::SimpleFontData::widthForGlyph): Return zero for the ZERO WIDTH SPACE glyph without
+ consulting the width map.
+
+2010-04-28 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ <rdar://problem/7847573> Safari welcome page logs JavaScript exception during page load
+
+ The Safari welcome page runs afoul of the same-origin restriction on access to stylesheet rules
+ that was added to address <https://bugs.webkit.org/show_bug.cgi?id=20527>. To work around this we're
+ adding a temporary site-specific quirk that relaxes this restriction for the particular cross-origin
+ access that occurs on the Safari welcome page.
+
+ * css/CSSStyleSheet.cpp:
+ (WebCore::CSSStyleSheet::cssRules):
+
+2010-04-28 Mike Thole <mthole@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Add separate exports file for symbols dependent on WTF_USE_PROTECTION_SPACE_AUTH_CALLBACK.
+
+ * DerivedSources.make: Updated for WebCore.ProtectionSpaceAuthCallback.exp.
+ * WebCore.ProtectionSpaceAuthCallback.exp: Added.
+ * WebCore.xcodeproj/project.pbxproj:
+
+2010-04-28 Evan Martin <evan@chromium.org>
+
+ Reviewed by David Levin.
+
+ [chromium] revert getFontDataForCharacters change in r58341
+ https://bugs.webkit.org/show_bug.cgi?id=38288
+
+ It caused a performance regression.
+
+ * platform/chromium/ChromiumBridge.h:
+ * platform/graphics/chromium/FontCacheLinux.cpp:
+ (WebCore::FontCache::getFontDataForCharacters):
+
+2010-04-28 Eric Seidel <eric@webkit.org>
+
+ Unreviewed, rolling out r58441.
+ http://trac.webkit.org/changeset/58441
+ https://bugs.webkit.org/show_bug.cgi?id=37618
+
+ Broke 3 test on Qt.
+
+ * page/DragController.cpp:
+ (WebCore::DragController::tryDocumentDrag):
+ (WebCore::DragController::concludeEditDrag):
+ * page/DragController.h:
+ (WebCore::DragController::setDragInitiator):
+ (WebCore::DragController::dragInitiator):
+ (WebCore::DragController::documentUnderMouse):
+
+2010-04-28 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Remove some obsolete scrolling code
+ https://bugs.webkit.org/show_bug.cgi?id=38293
+
+ * page/Chrome.cpp:
+ (WebCore::Chrome::scrollRectIntoView): Removed ScrollView* argument.
+ * page/Chrome.h: Made scrollRectIntoView non-virtual, and removed ScrollView* argument.
+
+ * page/FrameView.cpp: Removed scrollRectIntoViewRecursively.
+ * page/FrameView.h: Removed scrollRectIntoViewRecursively and made
+ setScrollPosition non-virtual, since there is no class derived from
+ this class, and ScrollView's setScrollPosition is non-virtual.
+
+ * platform/HostWindow.h: Removed scrollRectIntoView.
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::scrollRectIntoViewRecursively): Updated comment
+ since I was able to do most of the tasks listed here.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::scrollRectToVisible): Removed 0 passed for
+ ScrollView* argument to Chrome::scrollRectIntoView.
+
+2010-04-28 Mike Thole <mthole@apple.com>
+
+ Reviewed by David Kilzer.
+
+ Add canAuthenticateAgainstProtectionSpace() to frame loader so that a protection space
+ can be inspected before attempting to authenticate against it
+ https://bugs.webkit.org/show_bug.cgi?id=38271
+
+ * loader/EmptyClients.h:
+ (WebCore::EmptyFrameLoaderClient::canAuthenticateAgainstProtectionSpace): Added.
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::canAuthenticateAgainstProtectionSpace): Added.
+ * loader/FrameLoader.h:
+ * loader/FrameLoaderClient.h:
+ * loader/ResourceLoader.cpp:
+ (WebCore::ResourceLoader::canAuthenticateAgainstProtectionSpace): Added.
+ * loader/ResourceLoader.h:
+ (WebCore::ResourceLoader::canAuthenticateAgainstProtectionSpace): Added.
+ * platform/network/ProtectionSpace.h:
+ (WebCore::):
+ * platform/network/ResourceHandle.h:
+ * platform/network/ResourceHandleClient.h:
+ (WebCore::ResourceHandleClient::canAuthenticateAgainstProtectionSpace): Added.
+ * platform/network/mac/AuthenticationMac.mm:
+ (WebCore::mac):
+ Add cases for case ProtectionSpaceAuthenticationSchemeServerTrustEvaluationRequested and
+ ProtectionSpaceAuthenticationSchemeClientCertificateRequested. Guarded with the
+ #if USE(PROTECTION_SPACE_AUTH_CALLBACK) as the new NSURLProtectionSpace constants don't
+ exist prior to Mac OS X 10.6.
+ (WebCore::core): Ditto.
+ * platform/network/mac/ResourceHandleMac.mm:
+ (WebCore::ResourceHandle::canAuthenticateAgainstProtectionSpace): Added.
+ (-[WebCoreResourceHandleAsDelegate connection:canAuthenticateAgainstProtectionSpace:]): Added.
+
+2010-04-28 Abhishek Arya <inferno@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Convert m_documentUnderMouse, m_dragInitiator to RefPtr.
+ Eliminated unused m_dragInitiator accessor to prevent dereferencing.
+ https://bugs.webkit.org/show_bug.cgi?id=37618
+
+ Test: editing/pasteboard/drag-drop-iframe-refresh-crash.html
+
+ * page/DragController.cpp:
+ (WebCore::DragController::tryDocumentDrag):
+ (WebCore::DragController::concludeEditDrag):
+ * page/DragController.h:
+ (WebCore::DragController::draggingImageURL):
+ (WebCore::DragController::documentUnderMouse):
+
+2010-04-28 Dumitru Daniliuc <dumi@chromium.org>
+
+ Unreviewed, fixing a build problem introduced by the previous patch.
+
+ * storage/DatabaseSync.cpp:
+ (WebCore::DatabaseSync::openDatabaseSync):
+
+2010-04-23 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Jeremy Orlow.
+
+ Adding some required classes for the sync WebSQLDatabases API.
+ https://bugs.webkit.org/show_bug.cgi?id=34994
+
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * storage/DatabaseSync.cpp: Added.
+ (WebCore::DatabaseSync::databaseInfoTableName):
+ (WebCore::DatabaseSync::setIsAvailable):
+ (WebCore::DatabaseSync::isAvailable):
+ (WebCore::DatabaseSync::openDatabaseSync):
+ (WebCore::DatabaseSync::DatabaseSync):
+ (WebCore::DatabaseSync::~DatabaseSync):
+ (WebCore::DatabaseSync::version):
+ (WebCore::DatabaseSync::changeVersion):
+ (WebCore::DatabaseSync::transaction):
+ * storage/DatabaseSync.h: Added.
+ (WebCore::DatabaseSync::databaseDebugName):
+ * storage/SQLTransactionSync.cpp: Added.
+ (WebCore::SQLTransactionSync::create):
+ (WebCore::SQLTransactionSync::SQLTransactionSync):
+ (WebCore::SQLTransactionSync::~SQLTransactionSync):
+ (WebCore::SQLTransactionSync::executeSQL):
+ * storage/SQLTransactionSync.h: Added.
+ (WebCore::SQLTransactionSync::database):
+ (WebCore::SQLTransactionSync::isReadOnly):
+ * storage/SQLTransactionSyncCallback.h: Added.
+ (WebCore::SQLTransactionSyncCallback::~SQLTransactionSyncCallback):
+
+2010-04-28 İsmail Dönmez <ismail@namtrac.org>
+
+ Reviewed by Simon Hausmann.
+
+ Fix compilation with QT_NO_CURSOR defined.
+
+ * platform/qt/QWebPageClient.h:
+ (QWebPageClient::resetCursor):
+ (QWebPageClient::setCursor):
+
+2010-04-28 Abhishek Arya <inferno@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Added a check to make sure that resources from a different https origin are not cached.
+ https://bugs.webkit.org/show_bug.cgi?id=33456
+
+ Test: http/tests/appcache/different-https-origin-resource-main.html
+
+ * loader/appcache/ManifestParser.cpp:
+ (WebCore::parseManifest):
+
+2010-04-28 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Only set -allowable_client WebKit2 for engineering builds on SnowLeopard
+ and later.
+
+ * Configurations/WebCore.xcconfig:
+
+2010-04-28 Darin Adler <darin@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ REGRESSION: Autoscroll does not work in Mail messages
+ https://bugs.webkit.org/show_bug.cgi?id=38267
+ rdar://problem/7559799
+
+ Still haven't figured out a good way to test this with DumpRenderTree
+ or with Safari. Testing has to be done with Mail for now.
+
+ The machinery to make autoscrolling work on Mac OS X when a WebView is embedded in another
+ view had gotten broken in multiple ways. For some reason, a combination of bugs made it
+ partly work until around r48064. This brings it back.
+
+ There were three problems:
+
+ 1) Code in EventHandler decided there was nothing to scroll, so didn't start
+ the autoscroll timer.
+ 2) The wrong rectangle was passed to Chrome::scrollRectIntoView.
+ 3) The Mac WebKit implementation of ChromeClient::scrollRectIntoView did incorrect
+ coordinate conversion.
+
+ I verified that none of these have any effect on regression tests, or behavior in
+ web browsers, or behavior on platforms other than Mac.
+
+ * page/EventHandler.cpp:
+ (WebCore::canAutoscroll): Added. Returns true for boxes that can scroll directly
+ and for the top level box of the top frame.
+ (WebCore::EventHandler::handleMouseDraggedEvent): Use canAutoscroll.
+ (WebCore::EventHandler::updateAutoscrollRenderer): Ditto.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::scrollToAnchor): Fixed comment.
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::scrollRectIntoViewRecursively): Put ASSERT_NOT_REACHED into this
+ now-unused function along with some comments about removing some obsolete code.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::scrollRectToVisible): Removed call to scrollRectIntoViewRecursively
+ since from the WebKit point of view this is the topmost scroll view anyway. Instead call
+ setScrollPosition. Moved the code to call Chrome::scrollRectIntoView here since it needs
+ to use a different rectangle anyway.
+
+2010-04-21 Ojan Vafai <ojan@chromium.org>
+
+ Reviewed by Adele Peterson.
+
+ http://trac.webkit.org/changeset/57215 caused perf/memory regressions
+ https://bugs.webkit.org/show_bug.cgi?id=37292
+
+ #if out the canUseGlyphCache Changes from r57215 as they caused a
+ 8% perf regression on Chromium's international page load tests so that
+ the perf regression can be fixed properly without being left in the tree.
+
+ * platform/graphics/FontFastPath.cpp:
+ (WebCore::Font::canUseGlyphCache):
+
+2010-04-28 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix for <rdar://problem/7474349>
+
+ Add a synchronous display mechanism for WKCACFLayerRenderer.
+
+ * platform/graphics/win/WKCACFLayerRenderer.cpp:
+ (WebCore::WKCACFLayerRenderer::setRootContentsAndDisplay): This is
+ just like setRootContents(), but it calls paint() instead of
+ renderSoon().
+ * platform/graphics/win/WKCACFLayerRenderer.h:
+
+2010-04-28 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by Geoffrey Garen.
+
+ REGRESSION: fast/workers/wrapper-map-gc.html crashes on Snow Leopard Release Bot
+ https://bugs.webkit.org/show_bug.cgi?id=37554
+
+ The flaky fast/workers/wrapper-map-gc.html will stop being flaky.
+
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::handleEvent):
+ check if JS execution was terminated, as in cases of Worker.terminate() or WorkerGlobalScope.close().
+ * bindings/js/JSWorkerContextBase.cpp:
+ (WebCore::toJS): ASSERT the value of workerContextWrapper, it should never be 0.
+ * bindings/js/WorkerScriptController.h:
+ (WebCore::WorkerScriptController::workerContextWrapper): remove returning 0 if JS execution was forbidden.
+ (WebCore::WorkerScriptController::isExecutionForbidden):
+ * bindings/v8/WorkerScriptController.h:
+ (WebCore::WorkerScriptController::isExecutionForbidden):
+
+ Add ScriptExecutionContext::isJSExecutionTerminated(), it is always 'false' for Document
+ and 'true' for WorkerContext when script is terminated.
+ * dom/ScriptExecutionContext.h:
+ * dom/Document.h:
+ (WebCore::Document::isJSExecutionTerminated):
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::isJSExecutionTerminated):
+ * workers/WorkerContext.h:
+
+2010-04-28 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ WebInspector: Multiple Main Resource Content Loaded marks appear in Resource panel.
+ https://bugs.webkit.org/show_bug.cgi?id=38270
+
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype.updateGraphDividersIfNeeded):
+
+2010-04-28 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ WebInspector: Timeline: We can have precise urls in the EvaluateScript records.
+ https://bugs.webkit.org/show_bug.cgi?id=38264
+
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
+ (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
+
+2010-04-28 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Linkify node and function in the event listeners panel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38251
+
+ * bindings/js/ScriptEventListener.cpp:
+ (WebCore::eventListenerHandlerBody):
+ (WebCore::eventListenerHandlerLocation):
+ * bindings/js/ScriptEventListener.h:
+ * bindings/v8/ScriptEventListener.cpp:
+ (WebCore::eventListenerHandlerBody):
+ (WebCore::eventListenerHandlerLocation):
+ * bindings/v8/ScriptEventListener.h:
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::buildObjectForEventListener):
+ * inspector/front-end/ElementsPanel.js:
+ (WebInspector.ElementsPanel.prototype.linkifyNodeReference):
+ (WebInspector.ElementsPanel.prototype.linkifyNodeReference.preventDefault):
+ * inspector/front-end/EventListenersSidebarPane.js:
+ (WebInspector.EventListenersSidebarPane.prototype.update.callback):
+ (WebInspector.EventListenersSidebarPane.prototype.update):
+ ():
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
+ * inspector/front-end/inspector.css:
+ (.node-link):
+
+2010-04-28 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ [XHR] Cross-Origin synchronous request with credential raises NETWORK_ERR
+ https://bugs.webkit.org/show_bug.cgi?id=37781
+ <rdar://problem/7905150>
+
+ Tests: http/tests/xmlhttprequest/access-control-preflight-credential-async.html
+ http/tests/xmlhttprequest/access-control-preflight-credential-sync.html
+
+ Rolling the patch in as I could not reproduce Qt results locally.
+
+ * loader/DocumentThreadableLoader.cpp:
+ (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Now we remove the
+ credential from the request here to avoid forgetting to do so in the different code path.
+ (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest): Just add the
+ "Origin" header.
+ (WebCore::DocumentThreadableLoader::loadRequest): Check here the the credential have
+ been removed so that we don't leak them. Also tweaked a comment to make it clear that
+ the URL check has issue when credential is involved.
+
+2010-04-28 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] GraphicsLayer: preserves-3d and backface visibility
+ https://bugs.webkit.org/show_bug.cgi?id=35312
+
+ Implement preserves-3d by maintaining the 3D transformation heirarchy inside GraphicsLayerQt, and extrapolating
+ the relative QTransform. When the extrapolation fails (un-invertible matrix) we ignore the transformation change.
+
+ WebKitSite/blog-files/3d-transforms test now work with Qt.
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::GraphicsLayerQtImpl::updateTransform):
+ (WebCore::GraphicsLayerQtImpl::opaqueArea):
+ (WebCore::GraphicsLayerQtImpl::boundingRect):
+ (WebCore::GraphicsLayerQtImpl::paint):
+ (WebCore::GraphicsLayerQtImpl::flushChanges):
+
+2010-04-28 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: View frame selector for Timeline overview panel is redesigned a bit.
+ Now it is possible to adjust view frame by resizer bars and by click-n-drag in overview pane.
+ https://bugs.webkit.org/show_bug.cgi?id=38251
+
+ * inspector/front-end/TimelineOverviewPane.js:
+ (WebInspector.TimelineOverviewPane):
+ (WebInspector.TimelineOverviewPane.prototype.reset):
+ (WebInspector.TimelineOverviewPane.prototype._dragWindow):
+ (WebInspector.TimelineOverviewPane.prototype._windowSelectorDragging):
+ (WebInspector.TimelineOverviewPane.prototype._endWindowSelectorDragging):
+ (WebInspector.TimelineOverviewPane.prototype._resizeWindowLeft):
+ (WebInspector.TimelineOverviewPane.prototype._resizeWindowRight):
+ (WebInspector.TimelineOverviewPane.prototype._setWindowPosition):
+ (WebInspector.TimelinePanel.WindowSelector):
+ (WebInspector.TimelinePanel.WindowSelector.prototype._createSelectorElement):
+ (WebInspector.TimelinePanel.WindowSelector.prototype._close):
+ (WebInspector.TimelinePanel.WindowSelector.prototype._updatePosition):
+ * inspector/front-end/inspector.css:
+ (#timeline-overview-grid):
+ (.timeline-window-selector):
+ (#timeline-overview-window):
+ (.timeline-overview-dividers-background):
+ (.timeline-overview-window-rulers):
+ (.timeline-window-resizer):
+
+2010-04-28 Marcus Bulach <bulach@chromium.org>
+
+ Reviewed by Jeremy Orlow.
+
+ Reverts 58340 (https://bugs.webkit.org/show_bug.cgi?id=38158) due to regression on fast/text/international/khmer-selection.html
+ https://bugs.webkit.org/show_bug.cgi?id=38254
+
+ * platform/graphics/chromium/FontLinux.cpp:
+ (WebCore::adjustTextRenderMode):
+ (WebCore::TextRunWalker::getTextRun):
+ (WebCore::TextRunWalker::getNormalizedTextRun):
+ (WebCore::TextRunWalker::setGlyphXPositions):
+ (WebCore::glyphIndexForXPositionInScriptRun):
+ (WebCore::Font::offsetForPositionForComplexText):
+ (WebCore::Font::selectionRectForComplexText):
+ * platform/graphics/chromium/FontPlatformDataLinux.cpp:
+ (WebCore::FontPlatformData::setupPaint):
+ * platform/graphics/chromium/HarfbuzzSkia.cpp:
+ (WebCore::getOutlinePoint):
+ * platform/graphics/skia/GraphicsContext3DSkia.cpp:
+ (WebCore::GraphicsContext3D::getImageData):
+ * platform/graphics/skia/GraphicsContextSkia.cpp:
+ (WebCore::isCoordinateSkiaSafe):
+ (WebCore::GraphicsContext::fillRect):
+ (WebCore::GraphicsContext::strokePath):
+ (WebCore::GraphicsContext::strokeRect):
+
+2010-04-28 Andrey Kosyakov <caseq@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Log error message to inspector console if a resource fails to load.
+ Disable checking of mime-type consistency for failed resources.
+ https://bugs.webkit.org/show_bug.cgi?id=37215
+
+ Test: http/tests/inspector/console-resource-errors.html
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::didReceiveResponse):
+ (WebCore::InspectorController::didFailLoading):
+ * inspector/front-end/Resource.js:
+ (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
+
+2010-04-28 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Support pause on exceptions in v8 implementation of ScriptDebugServer.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38205
+
+ * bindings/v8/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::addListener):
+ (WebCore::ScriptDebugServer::pauseOnExceptionsState):
+ (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
+ (WebCore::ScriptDebugServer::currentCallFrame):
+ (WebCore::ScriptDebugServer::handleV8DebugMessage):
+ (WebCore::ScriptDebugServer::dispatchDidParseSource):
+ * bindings/v8/ScriptDebugServer.h:
+
+2010-04-28 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r58313.
+ http://trac.webkit.org/changeset/58313
+ https://bugs.webkit.org/show_bug.cgi?id=38253
+
+ Regression evident in pixel tests: the search icon is always
+ clipped at the bottom. (Requested by jorlow on #webkit).
+
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::controlClipRect):
+ * rendering/RenderTextControl.h:
+ (WebCore::RenderTextControl::hasControlClip):
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::paint):
+ * rendering/RenderTextControlSingleLine.h:
+
+2010-04-28 Justin McPherson <justin.mcpherson@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix detection of Qt 4.7's multimedia libraries
+
+ QtMultimedia has been split into an additional media services library, which
+ we're using. mediaservices depends on multimedia.
+
+ * WebCore.pro:
+
+2010-04-28 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Unreviewed attempt to fix the chromium build.
+
+ Add layoutTestController.setPrinting()
+ https://bugs.webkit.org/show_bug.cgi?id=37203
+
+ * rendering/RenderTreeAsText.cpp:
+
+2010-04-27 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Darin Adler and Eric Seidel.
+
+ Add layoutTestController.setPrinting()
+ https://bugs.webkit.org/show_bug.cgi?id=37203
+
+ Added RenderAsTextPrintingMode as a behavior of externalRepresentation.
+
+ Now ~PrintContext() calls end() automatically.
+
+ * page/PrintContext.cpp:
+ (WebCore::PrintContext::~PrintContext):
+ * rendering/RenderTreeAsText.cpp:
+ (WebCore::externalRepresentation):
+ * rendering/RenderTreeAsText.h:
+ (WebCore::):
+
+2010-04-27 Yuzo Fujishima <yuzo@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Enhance CSS parser for Paged Media (Iteration 4)
+ Implement page property parsing as specified at http://dev.w3.org/csswg/css3-page/#using-named-pages.
+ https://bugs.webkit.org/show_bug.cgi?id=35853
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue):
+ (WebCore::CSSParser::parsePage):
+ * css/CSSParser.h:
+
+2010-04-27 Yuzo Fujishima <yuzo@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Enhance CSS parser for Paged Media (Iteration 3)
+ Implement size parameter parsing for Paged Media.
+ https://bugs.webkit.org/show_bug.cgi?id=35851
+
+ I believe size property hasn't been used so far because (1) it hasn't been properly parsed and
+ (2) a comment in CSSComputedStyleDeclaration::getPropertyCSSValue says so.
+ Changing the way of parsing it should not cause any regressions -- no existing tests fail because of this change.
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue):
+ (WebCore::CSSParser::parseSize):
+ (WebCore::CSSParser::parseSizeParameter):
+ * css/CSSParser.h:
+ (WebCore::CSSParser::):
+ * css/CSSValueKeywords.in:
+
+2010-04-27 Yuzo Fujishima <yuzo@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Enhance CSS parser for Paged Media (Iteration 2)
+ Parse and hold paged media rules in CSSStyleSelector.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35782
+
+ Test: printing/page-rule-css-text.html
+
+ * css/CSSGrammar.y:
+ * css/CSSPageRule.cpp:
+ (WebCore::CSSPageRule::CSSPageRule):
+ (WebCore::CSSPageRule::selectorText):
+ * css/CSSPageRule.h:
+ (WebCore::CSSPageRule::create):
+ (WebCore::CSSPageRule::isPageRule):
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::createPageRule):
+ * css/CSSStyleRule.h:
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSRuleSet::getPageRules):
+ (WebCore::CSSRuleSet::CSSRuleSet):
+ (WebCore::CSSRuleSet::~CSSRuleSet):
+ (WebCore::CSSRuleSet::addPageRule):
+ (WebCore::CSSRuleSet::addRulesFromSheet):
+ * css/CSSStyleSelector.h:
+ * css/StyleBase.h:
+ (WebCore::StyleBase::isPageRule):
+
+2010-04-27 Daniel Bates <dbates@rim.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37686
+
+ Fixes an issue where the canvas method strokeRect will stroke a
+ rectangle whose dimensions are 0 when lineWidth > 1.
+
+ As per the definition of strokeRect in the HTML Canvas 2D Context
+ spec. <http://www.w3.org/TR/2dcontext/#dom-context-2d-strokerect>,
+ this method should have no effect when both the height and width
+ are zero.
+
+ Tests: fast/canvas/canvas-clearRect.html
+ fast/canvas/canvas-fillRect.html
+
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::validateRectForCanvas): Return false if height, width == 0.
+
+2010-04-27 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Remove obsolete custom bindings file
+ https://bugs.webkit.org/show_bug.cgi?id=38223
+
+ We don't need these files anymore because they are empty.
+
+ * Android.jscbindings.mk:
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSAbstractWorkerCustom.cpp: Removed.
+ * bindings/js/JSBindingsAllInOne.cpp:
+ * bindings/js/JSDocumentFragmentCustom.cpp: Removed.
+ * bindings/js/JSEventSourceCustom.cpp: Removed.
+
+2010-04-27 Daniel Cheng <dcheng@chromium.org>
+
+ Reviewed by Jian Li.
+
+ [Chromium] Filter out URLs with a file scheme from text/uri-list when dragging.
+ https://bugs.webkit.org/show_bug.cgi?id=38227
+
+ Unfortunately, the simple fix of not populating the drag data with file URLs doesn't work
+ since the default drop handling uses the drag data URL to navigate to dropped files/URLs.
+ For now, we hack around the problem in the Chromium platform, but the proper long term
+ solution is to change DragController::performDrag to check dragData::asFilenames().
+
+ No new tests.
+
+ * platform/chromium/ClipboardChromium.cpp:
+ (WebCore::ClipboardChromium::getData):
+ (WebCore::ClipboardChromium::types):
+
+2010-04-27 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by the inimitable Dan Bernstein.
+
+ SVG as background image renders incorrectly after zooming
+ https://bugs.webkit.org/show_bug.cgi?id=38215
+
+ When doing a partial redraw of an SVGImage used as a CSS background
+ image, we're limited to drawing the entire Frame, clipped to the dirty rect.
+ Because of this, we need to fix up the CTM so that the origin is at the
+ top left of the unclipped image, rather than the top left of the
+ portion being redrawn.
+
+ Test: fast/images/svg-background-partial-redraw.html
+
+ * svg/graphics/SVGImage.cpp:
+ (WebCore::SVGImage::draw):
+
+2010-04-27 Yuzo Fujishima <yuzo@google.com>
+
+ Reviewed by David Hyatt.
+
+ Retry of: Enhance CSS parser for Paged Media (Iteration 1)
+
+ In this change, the grammar is extended and skeletal methods for creating page rules and margin at-rules are defined.
+ The contents of the methods should be implemented by other changes.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35329
+
+ Test: fast/css/parsing-page-rule.html
+
+ * css/CSSGrammar.y:
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::CSSParser):
+ (WebCore::CSSParser::clearProperties):
+ (WebCore::CSSParser::createPageRule):
+ (WebCore::CSSParser::createMarginAtRule):
+ (WebCore::CSSParser::startDeclarationsForMarginBox):
+ (WebCore::CSSParser::endDeclarationsForMarginBox):
+ * css/CSSParser.h:
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::pseudoId):
+ (WebCore::nameToPseudoTypeMap):
+ (WebCore::CSSSelector::extractPseudoType):
+ * css/CSSSelector.h:
+ (WebCore::CSSSelector::):
+ * css/tokenizer.flex:
+
+2010-04-27 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Unreviewed, rolling out my changes as it rendered the Qt bot unreliable.
+
+ * loader/DocumentThreadableLoader.cpp:
+ (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
+ (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
+ (WebCore::DocumentThreadableLoader::loadRequest):
+
+2010-04-27 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ [XHR] Cross-Origin synchronous request with credential raises NETWORK_ERR
+ https://bugs.webkit.org/show_bug.cgi?id=37781
+ <rdar://problem/7905150>
+
+ Tests: http/tests/xmlhttprequest/access-control-preflight-credential-async.html
+ http/tests/xmlhttprequest/access-control-preflight-credential-sync.html
+
+ * loader/DocumentThreadableLoader.cpp:
+ (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Now we remove the
+ credential from the request here to avoid forgetting to do so in the different code path.
+ (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest): Just add the
+ "Origin" header.
+ (WebCore::DocumentThreadableLoader::loadRequest): Check here the the credential have
+ been removed so that we don't leak them. Also tweaked a comment to make it clear that
+ the URL check has issue when credential is involved.
+
+2010-04-27 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=38238
+ Allow both WebKit and WebKit2 to link to the same WebCore.framework
+
+ * Configurations/WebCore.xcconfig: Use -allowable_client WebKit2 to add
+ WebKit2 to the list of frameworks that can link directly to WebCore. It
+ is not necessary for it to be an umbrella since we don't need to reexport
+ any symbols.
+
+2010-04-27 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by David Levin.
+
+ Turn on AUTO_VACUUM = INCREMENTAL for all HTML5 databases.
+ https://bugs.webkit.org/show_bug.cgi?id=38191
+
+ Vacuum all databases when the number of free pages is at least 10%
+ of the number of total pages. Also, add a guard against a bug that
+ was fixed in SQLite only starting with version 3.6.16.
+
+ * platform/sql/SQLiteDatabase.cpp:
+ (WebCore::SQLiteDatabase::maximumSize):
+ (WebCore::SQLiteDatabase::freeSpaceSize):
+ (WebCore::SQLiteDatabase::totalSize):
+ (WebCore::SQLiteDatabase::runIncrementalVacuumCommand):
+ (WebCore::SQLiteDatabase::turnOnIncrementalAutoVacuum):
+ * platform/sql/SQLiteDatabase.h:
+ (WebCore::SQLiteDatabase::):
+ * platform/sql/SQLiteStatement.cpp:
+ (WebCore::SQLiteStatement::prepare):
+ (WebCore::SQLiteStatement::step):
+ * storage/Database.cpp:
+ (WebCore::Database::performOpenAndVerify):
+ (WebCore::Database::incrementalVacuumIfNeeded):
+ * storage/Database.h:
+ * storage/SQLTransaction.cpp:
+ (WebCore::SQLTransaction::postflightAndCommit):
+
+2010-04-27 Garret Kelly <gdk@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Turn all of the touch event handlers into RuntimeEnabledFeatures, and
+ modify the createEvent methond on Document so that it won't create a
+ TouchEvent if the feature is disabled.
+ https://bugs.webkit.org/show_bug.cgi?id=37485
+
+ * bindings/generic/RuntimeEnabledFeatures.cpp:
+ * bindings/generic/RuntimeEnabledFeatures.h:
+ (WebCore::RuntimeEnabledFeatures::touchEnabled):
+ (WebCore::RuntimeEnabledFeatures::setTouchEnabled):
+ (WebCore::RuntimeEnabledFeatures::ontouchstartEnabled):
+ (WebCore::RuntimeEnabledFeatures::ontouchmoveEnabled):
+ (WebCore::RuntimeEnabledFeatures::ontouchendEnabled):
+ (WebCore::RuntimeEnabledFeatures::ontouchcancelEnabled):
+ * dom/Document.cpp:
+ (WebCore::Document::createEvent):
+ * dom/Document.idl:
+ * dom/Element.idl:
+ * page/DOMWindow.idl:
+
+2010-04-27 Jens Alfke <snej@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [Chromium] Add some notifications and an accessor to WebKit API
+ https://bugs.webkit.org/show_bug.cgi?id=37625
+
+ * dom/Node.cpp:
+ (WebCore::Node::hasNonEmptyBoundingBox): New method.
+ * dom/Node.h:
+ * html/HTMLAnchorElement.cpp:
+ (WebCore::HTMLAnchorElement::isKeyboardFocusable): Moved part of method into new Node method
+
+2010-04-27 Jochen Eisinger <jochen@chromium.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Fix gyp build on Mac OS X with enable_svg=0.
+ https://bugs.webkit.org/show_bug.cgi?id=38192
+
+ * WebCore.gyp/WebCore.gyp: Only generate SVG symbols if enable_svg!=0.
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Add missing unimplemented CSS properties to switch statement.
+
+2010-04-27 Kinuko Yasuda <kinuko@chromium.org>
+
+ Reviewed by Jian Li.
+
+ [V8] Handle OR ('|') conditional in action_derivedsourcesallinone.py
+ https://bugs.webkit.org/show_bug.cgi?id=38207
+
+ No new tests.
+
+ * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
+
+2010-04-27 François Sausset <sausset@gmail.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Implementation of the MathML mroot & msqrt elements.
+ https://bugs.webkit.org/show_bug.cgi?id=37044
+
+ Test: mathml/presentation/roots.xhtml
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * css/mathml.css:
+ (mroot):
+ (mroot > * + *):
+ (mroot > * + mrow, mroot > * + mfenced):
+ * mathml/MathMLInlineContainerElement.cpp:
+ (WebCore::MathMLInlineContainerElement::createRenderer):
+ * mathml/RenderMathMLRoot.cpp: Added.
+ (WebCore::RenderMathMLRoot::RenderMathMLRoot):
+ (WebCore::RenderMathMLRoot::addChild):
+ (WebCore::RenderMathMLRoot::paint):
+ (WebCore::RenderMathMLRoot::layout):
+ * mathml/RenderMathMLRoot.h: Added.
+ * mathml/RenderMathMLSquareRoot.cpp: Added.
+ (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot):
+ (WebCore::RenderMathMLSquareRoot::paint):
+ (WebCore::RenderMathMLSquareRoot::layout):
+ * mathml/RenderMathMLSquareRoot.h: Added.
+
+2010-04-27 Darin Adler <darin@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ I noticed an unused forwarding header.
+
+ * ForwardingHeaders/runtime/PropertyMap.h: Removed.
+
+2010-04-27 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Fix gcc 4.4.1 warnings on Linux in the chromium V8 bindings code.
+ https://bugs.webkit.org/show_bug.cgi?id=38153
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::callFunction):
+
+2010-04-27 Eric Seidel <eric@webkit.org>
+
+ Unreviewed, rolling out r58318.
+ http://trac.webkit.org/changeset/58318
+ https://bugs.webkit.org/show_bug.cgi?id=37215
+
+ Broke test on Tiger. Might just need updated results,
+ unclear.
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::didReceiveResponse):
+ (WebCore::InspectorController::didFailLoading):
+ * inspector/front-end/Resource.js:
+ (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
+
+2010-04-27 Evan Martin <evan@chromium.org>
+
+ Reviewed by David Levin.
+
+ [chromium] bold bengali text not rendered properly on Linux
+ https://bugs.webkit.org/show_bug.cgi?id=37904
+
+ We must let Skia do font fallback, rather than picking a font name
+ then handing that to Skia. For example, if we have Bengali text and
+ choose FreeSans + fake bold, and then later reuse the name, Skia will
+ helpfully use FreeSansBold (which doesn't cover Bengali).
+
+ Test: fast/text/international/bold-bengali.html
+
+ * platform/graphics/chromium/FontCacheLinux.cpp:
+ (WebCore::FontCache::getFontDataForCharacters):
+
+2010-04-27 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Fix warnings emitted by gcc 4.4.1 on linux in chromium-specific platform graphics files.
+ https://bugs.webkit.org/show_bug.cgi?id=38158
+
+ Most of the issues are signed/unsigned mismatches, but there are a few unusued variables
+ and functions mixed in.
+
+ * platform/graphics/chromium/FontLinux.cpp:
+ (WebCore::adjustTextRenderMode):
+ (WebCore::TextRunWalker::getTextRun):
+ (WebCore::TextRunWalker::getNormalizedTextRun):
+ (WebCore::TextRunWalker::setGlyphXPositions):
+ (WebCore::glyphIndexForXPositionInScriptRun):
+ (WebCore::Font::offsetForPositionForComplexText):
+ (WebCore::Font::selectionRectForComplexText):
+ * platform/graphics/chromium/FontPlatformDataLinux.cpp:
+ (WebCore::FontPlatformData::setupPaint):
+ * platform/graphics/chromium/HarfbuzzSkia.cpp:
+ (WebCore::getOutlinePoint):
+ * platform/graphics/skia/GraphicsContext3DSkia.cpp:
+ (WebCore::GraphicsContext3D::getImageData):
+ * platform/graphics/skia/GraphicsContextSkia.cpp:
+ (WebCore::isCoordinateSkiaSafe):
+ (WebCore::GraphicsContext::fillRect):
+ (WebCore::GraphicsContext::strokePath):
+ (WebCore::GraphicsContext::strokeRect):
+
+2010-04-27 Jian Li <jianli@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Sending a package file using FormData crashes WebKit on Mac.
+ https://bugs.webkit.org/show_bug.cgi?id=37882
+
+ Can't add a layout test because DRT does not support generating the file name.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::submitForm):
+ (WebCore::FrameLoader::navigateToDifferentDocument):
+ * platform/network/FormData.cpp:
+ (WebCore::FormData::appendDOMFormData):
+ * platform/network/FormData.h:
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::send):
+
+2010-04-27 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Remove custom NodeIterator bindings
+ https://bugs.webkit.org/show_bug.cgi?id=38188
+
+ Another example of CallWith=ScriptState. This case shows us the right
+ way to handle the interaction with exception codes.
+
+ In my previous patch, I put the exception code handling after the
+ ScriptState exception handling. It turns out this was a mistake
+ (although a harmless one at the time because no IDL caused us to
+ generate that code). Now that we're generating both kinds of exception
+ handling, we need to generate them in the right order.
+
+ * WebCore.gypi:
+ * bindings/js/JSNodeIteratorCustom.cpp:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
+ (webkit_dom_test_obj_with_script_state_void_exception):
+ (webkit_dom_test_obj_with_script_state_obj_exception):
+ * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore::):
+ (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
+ (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
+ * bindings/scripts/test/JS/JSTestObj.h:
+ * bindings/scripts/test/ObjC/DOMTestObj.h:
+ * bindings/scripts/test/ObjC/DOMTestObj.mm:
+ (-[DOMTestObj withScriptStateVoidException]):
+ (-[DOMTestObj withScriptStateObjException]):
+ * bindings/scripts/test/TestObj.idl:
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::TestObjInternal::withScriptStateVoidCallback):
+ (WebCore::TestObjInternal::withScriptStateObjCallback):
+ (WebCore::TestObjInternal::withScriptStateVoidExceptionCallback):
+ (WebCore::TestObjInternal::withScriptStateObjExceptionCallback):
+ (WebCore::):
+ * bindings/v8/custom/V8NodeIteratorCustom.cpp: Removed.
+ * dom/NodeIterator.idl:
+
+2010-04-27 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Remove copy/paste addEventListener "custom" bindings via code generation
+ https://bugs.webkit.org/show_bug.cgi?id=38210
+
+ It's somewhat lame to special case addEventListener and
+ removeEventListener in the code generator, but it saves a large amount
+ of boilerplate "custom" bindings code.
+
+ Idea shamelessly stolen from the V8 code generator.
+
+ This patch points to some good refactoring opportunities in
+ CodeGeneratorJS.pm, but I'm going to hold off on those for a future
+ patch. By generating test coverage for the code generator, we make
+ these future refactorings easier.
+
+ * bindings/js/JSAbstractWorkerCustom.cpp:
+ * bindings/js/JSDOMApplicationCacheCustom.cpp:
+ * bindings/js/JSDesktopNotificationsCustom.cpp:
+ * bindings/js/JSEventSourceCustom.cpp:
+ * bindings/js/JSMessagePortCustom.cpp:
+ * bindings/js/JSNodeCustom.cpp:
+ * bindings/js/JSSVGElementInstanceCustom.cpp:
+ * bindings/js/JSWebSocketCustom.cpp:
+ * bindings/js/JSWorkerContextCustom.cpp:
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
+ * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore::):
+ (WebCore::jsTestObjPrototypeFunctionAddEventListener):
+ (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
+ * bindings/scripts/test/JS/JSTestObj.h:
+ * bindings/scripts/test/ObjC/DOMTestObj.h:
+ * bindings/scripts/test/ObjC/DOMTestObj.mm:
+ (-[DOMTestObj addEventListener:listener:useCapture:]):
+ (-[DOMTestObj removeEventListener:listener:useCapture:]):
+ * bindings/scripts/test/TestObj.idl:
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::TestObjInternal::addEventListenerCallback):
+ (WebCore::TestObjInternal::removeEventListenerCallback):
+ (WebCore::):
+ * dom/MessagePort.idl:
+ * dom/Node.idl:
+ * loader/appcache/DOMApplicationCache.idl:
+ * notifications/Notification.idl:
+ * page/EventSource.idl:
+ * svg/SVGElementInstance.idl:
+ * websockets/WebSocket.idl:
+ * workers/AbstractWorker.idl:
+ * workers/WorkerContext.idl:
+ * xml/XMLHttpRequest.idl:
+ * xml/XMLHttpRequestUpload.idl:
+
+2010-04-27 Sam Weinig <sam@webkit.org>
+
+ Rubber-stamped by Beth Dakin.
+
+ Remove now unnecessary EXPERIMENTAL_SINGLE_VIEW_MODE #define.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::EventHandler):
+ (WebCore::EventHandler::clearDragState):
+ * page/EventHandler.h:
+ * page/mac/DragControllerMac.mm:
+ * page/mac/EventHandlerMac.mm:
+ * platform/mac/PopupMenuMac.mm:
+
+2010-04-27 Ben Murdoch <benm@google.com>
+
+ Reviewed by Simon Hausmann.
+
+ The TouchStationary state of WebCore::PlatformTouchPoint is not handled inside the touch event handler.
+ https://bugs.webkit.org/show_bug.cgi?id=37609
+
+ No new tests required, only updating documentation.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleTouchEvent): Improve the documentation for handling
+ the TouchStationary state as a result of discussions in bug 37609.
+
+2010-04-27 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler, Maciej Stachowiak.
+
+ REGRESSION (r57919): Some pages opened in background tabs don't render the first time you activate their tab
+ https://bugs.webkit.org/show_bug.cgi?id=38183
+
+ Rather than sprinkle PLATFORM #ifdefs around, add a new method,
+ RenderLayerCompositor::shouldPropagateCompositingToIFrameParent(), that indicates whether
+ an iframe with composited content should trigger compositing mode in the enclosing document
+ (a behavior that differs between platforms).
+
+ Use this new method to determine whether to trigger a style recalc in the parent document
+ when an iframe becomes composited.
+
+ Move the code formerly in RenderView::compositingStateChanged() into RenderLayerCompositor().
+
+ * manual-tests/compositing/accel-comp-iframe-tab-repaint.html: Added.
+ * manual-tests/compositing/resources/flash-frame.html: Added.
+ * manual-tests/compositing/resources/tab-repaint-part-2.html: Added.
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::enableCompositingMode):
+ (WebCore::RenderLayerCompositor::shouldPropagateCompositingToIFrameParent):
+ (WebCore::RenderLayerCompositor::requiresCompositingForIFrame):
+ * rendering/RenderLayerCompositor.h:
+ * rendering/RenderView.cpp:
+ * rendering/RenderView.h:
+
+2010-04-27 Andrey Kosyakov <caseq@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Log error message to inspector console if a resource fails to load.
+ Disable checking of mime-type consistency for failed resources.
+ https://bugs.webkit.org/show_bug.cgi?id=37215
+
+ Test: http/tests/inspector/console-resource-errors.html
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::didReceiveResponse):
+ (WebCore::InspectorController::didFailLoading):
+ * inspector/front-end/Resource.js:
+ (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
+
+2010-04-27 Vitaly Repeshko <vitalyr@chromium.org>
+
+ Reviewed by Nate Chapin.
+
+ [V8] Fix XHR memory leak in GC controller.
+ https://bugs.webkit.org/show_bug.cgi?id=38202
+
+ http://trac.webkit.org/changeset/55798 simplified processing of
+ active DOM objects but introduced a subtle bug in garbage
+ collection of XHRs. ActiveDOMObject is not a direct base class of
+ XHR and so upcasting changes pointer identity and breaks DOM
+ maps. This leads to forever live persistent handles to XHR that
+ had pending activity while V8 GC happened.
+
+ * bindings/v8/V8GCController.cpp:
+ (WebCore::GCEpilogueVisitor::visitDOMWrapper):
+
+2010-04-27 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Regenerate reference bindings code generator output.
+
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::TestObjInternal::withScriptStateVoidCallback):
+ (WebCore::TestObjInternal::withScriptStateObjCallback):
+
+2010-04-27 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ <input type="search"> with uneven padding causes text clipping
+ https://bugs.webkit.org/show_bug.cgi?id=38160
+
+ Test: fast/css/input-search-padding.html
+
+ An <input type="search"> contains an inner block, which is explicitly
+ centered in RenderTextControlSingleLine based on the height of the element.
+ However, the clipping rect was not using the set location, and instead
+ calculated off of the top border and padding alone. This also vertically
+ centers the Caps Lock indicator.
+
+ * rendering/RenderTextControl.cpp: moved controlClipRect implementation to RenderTextControlSingleLine
+ * rendering/RenderTextControl.h: allow a subclass implementation of controlClipRect, removed redundant hasControlClip implementation, and moved controlClipRect
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::paint): vertically center the Caps Lock indicator
+ (WebCore::RenderTextControlSingleLine::controlClipRect): use the set location of the anonymous inner block instead
+ * rendering/RenderTextControlSingleLine.h: allow for an implementation of controlClipRect for <input type="search">
+
+2010-04-27 Thomas Zander <t.zander@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix linking on Symbian on Linux using the Makefile based mkspec.
+
+ Disable thumb mode due to library size limitations, just like it's done
+ for the sbs/sbsv2 based build system.
+
+ * WebCore.pro:
+
+2010-04-21 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Make sure WebKit is not compiled using C++0x.
+ https://bugs.webkit.org/show_bug.cgi?id=37867
+
+ As the rest of Qt compiles in the C++0x mode, people might start
+ compiling it in this mode. WebKit don't support this yet.
+
+ Patch by Thiago Macieira <thiago.macieira@nokia.com>
+
+ * WebCore.pro:
+
+2010-04-27 Jeremy Orlow <jorlow@chromium.org>
+
+ Unreviewed build fix.
+
+ Revert 58274 and 58269 (WebSQLDatabase changes)
+ https://bugs.webkit.org/show_bug.cgi?id=38191
+
+ Chromium bots are hitting ASSERTS when running layout tests.
+
+ * platform/sql/SQLiteDatabase.cpp:
+ (WebCore::SQLiteDatabase::maximumSize):
+ (WebCore::SQLiteDatabase::freeSpaceSize):
+ * platform/sql/SQLiteDatabase.h:
+ * platform/sql/SQLiteStatement.cpp:
+ (WebCore::SQLiteStatement::prepare):
+ * storage/Database.cpp:
+ (WebCore::Database::performOpenAndVerify):
+ * storage/Database.h:
+ * storage/SQLTransaction.cpp:
+ (WebCore::SQLTransaction::postflightAndCommit):
+
+2010-04-27 Yuzo Fujishima <yuzo@google.com>
+
+ Unreviewed, fix build breakage by reverting r58299.
+
+ * css/CSSGrammar.y:
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::CSSParser):
+ (WebCore::CSSParser::clearProperties):
+ * css/CSSParser.h:
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::pseudoId):
+ (WebCore::nameToPseudoTypeMap):
+ (WebCore::CSSSelector::extractPseudoType):
+ * css/CSSSelector.h:
+ (WebCore::CSSSelector::):
+ * css/tokenizer.flex:
+
+2010-04-27 Yuzo Fujishima <yuzo@google.com>
+
+ Reviewed by Shinichiro Hamaji.
+
+ WebCore::CSSSelector::RareData::parseNth doesn't check whether the search for '-' in the argument was successful.
+ This results in incorrect parsing.
+ For example, '3n' is parsed as if it were '3n-3'. The code has been working OK just accidentally.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37787
+
+ No new tests are added because the original behavior is accidentally OK.
+
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::RareData::parseNth):
+
+2010-04-27 Yuzo Fujishima <yuzo@google.com>
+
+ Reviewed by David Hyatt.
+
+ Enhance CSS parser for Paged Media (Iteration 1)
+
+ In this change, the grammar is extended and skeletal methods for creating page rules and margin at-rules are defined.
+ The contents of the methods should be implemented by other changes.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35329
+
+ Test: fast/css/parsing-page-rule.html
+
+ * css/CSSGrammar.y:
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::CSSParser):
+ (WebCore::CSSParser::clearProperties):
+ (WebCore::CSSParser::lex):
+ (WebCore::CSSParser::text):
+ (WebCore::CSSParser::createPageRule):
+ (WebCore::CSSParser::createMarginAtRule):
+ (WebCore::CSSParser::startDeclarationsForMarginBox):
+ (WebCore::CSSParser::endDeclarationsForMarginBox):
+ * css/CSSParser.h:
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::extractPseudoType):
+ * css/CSSSelector.h:
+ (WebCore::CSSSelector::):
+ * css/tokenizer.flex:
+
+2010-04-27 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Remove custom bindings for TreeWalker
+ https://bugs.webkit.org/show_bug.cgi?id=38182
+
+ This custom code is just CallWith=ScriptState.
+
+ * WebCore.gypi:
+ * bindings/js/JSTreeWalkerCustom.cpp:
+ (WebCore::JSTreeWalker::markChildren):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/scripts/test/TestObj.idl:
+ * bindings/v8/custom/V8TreeWalkerCustom.cpp: Removed.
+ * dom/TreeWalker.idl:
+
+2010-04-27 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Move code out of GenerateImplementation to make it more smaller
+ https://bugs.webkit.org/show_bug.cgi?id=38176
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ - Move some code into a new GenerateAttributesHashTable method.
+
+2010-04-26 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Add CallWith=DynamicFrame to CodeGenerator
+ https://bugs.webkit.org/show_bug.cgi?id=38174
+
+ I've only used this in one instance, but this is infrastructure that I
+ think will help remove a bunch of custom bindings code. Also, added a
+ few tests of tricky argument cases.
+
+ * bindings/js/JSHTMLFormElementCustom.cpp:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
+ (webkit_dom_test_obj_with_dynamic_frame):
+ (webkit_dom_test_obj_with_dynamic_frame_and_arg):
+ (webkit_dom_test_obj_with_dynamic_frame_and_optional_arg):
+ (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture):
+ (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture_asad):
+ * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore::):
+ (WebCore::jsTestObjPrototypeFunctionWithDynamicFrame):
+ (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
+ (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
+ (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
+ (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
+ * bindings/scripts/test/JS/JSTestObj.h:
+ * bindings/scripts/test/ObjC/DOMTestObj.h:
+ * bindings/scripts/test/ObjC/DOMTestObj.mm:
+ (-[DOMTestObj withDynamicFrame]):
+ (-[DOMTestObj withDynamicFrameAndArg:]):
+ (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
+ (-[DOMTestObj withDynamicFrameAndUserGesture:]):
+ (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
+ * bindings/scripts/test/TestObj.idl:
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::TestObjInternal::withDynamicFrameCallback):
+ (WebCore::TestObjInternal::withDynamicFrameAndArgCallback):
+ (WebCore::TestObjInternal::withDynamicFrameAndOptionalArgCallback):
+ (WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback):
+ (WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback):
+ (WebCore::):
+ * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
+ * html/HTMLFormElement.idl:
+
+2010-04-26 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Update comment to better reflect reality.
+
+ * bindings/scripts/test/TestObj.idl:
+
+2010-04-26 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Add ObjC and GObject to run-bindings-test
+ https://bugs.webkit.org/show_bug.cgi?id=38168
+
+ Added expected results.
+
+ * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Added.
+ (WebKit::kit):
+ (webkit_dom_test_obj_void_method):
+ (webkit_dom_test_obj_void_method_with_args):
+ (webkit_dom_test_obj_int_method):
+ (webkit_dom_test_obj_int_method_with_args):
+ (webkit_dom_test_obj_obj_method):
+ (webkit_dom_test_obj_obj_method_with_args):
+ (webkit_dom_test_obj_method_with_exception):
+ (webkit_dom_test_obj_method_with_optional_arg):
+ (webkit_dom_test_obj_method_with_non_optional_arg_and_optional_arg):
+ (webkit_dom_test_obj_method_with_non_optional_arg_and_two_optional_args):
+ (webkit_dom_test_obj_get_read_only_int_attr):
+ (webkit_dom_test_obj_get_read_only_string_attr):
+ (webkit_dom_test_obj_get_read_only_test_obj_attr):
+ (webkit_dom_test_obj_get_int_attr):
+ (webkit_dom_test_obj_set_int_attr):
+ (webkit_dom_test_obj_get_string_attr):
+ (webkit_dom_test_obj_set_string_attr):
+ (webkit_dom_test_obj_get_test_obj_attr):
+ (webkit_dom_test_obj_set_test_obj_attr):
+ (webkit_dom_test_obj_get_attr_with_exception):
+ (webkit_dom_test_obj_set_attr_with_exception):
+ (webkit_dom_test_obj_get_attr_with_setter_exception):
+ (webkit_dom_test_obj_set_attr_with_setter_exception):
+ (webkit_dom_test_obj_get_attr_with_getter_exception):
+ (webkit_dom_test_obj_set_attr_with_getter_exception):
+ (WebKit::wrapTestObj):
+ (WebKit::core):
+ (webkit_dom_test_obj_finalize):
+ (webkit_dom_test_obj_set_property):
+ (webkit_dom_test_obj_get_property):
+ (webkit_dom_test_obj_class_init):
+ (webkit_dom_test_obj_init):
+ * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Added.
+ * bindings/scripts/test/GObject/WebKitDOMTestObjPrivate.h: Added.
+ * bindings/scripts/test/ObjC/DOMTestObj.h: Added.
+ * bindings/scripts/test/ObjC/DOMTestObj.mm: Added.
+ (-[DOMTestObj dealloc]):
+ (-[DOMTestObj finalize]):
+ (-[DOMTestObj readOnlyIntAttr]):
+ (-[DOMTestObj readOnlyStringAttr]):
+ (-[DOMTestObj readOnlyTestObjAttr]):
+ (-[DOMTestObj intAttr]):
+ (-[DOMTestObj setIntAttr:]):
+ (-[DOMTestObj stringAttr]):
+ (-[DOMTestObj setStringAttr:]):
+ (-[DOMTestObj testObjAttr]):
+ (-[DOMTestObj setTestObjAttr:]):
+ (-[DOMTestObj attrWithException]):
+ (-[DOMTestObj setAttrWithException:]):
+ (-[DOMTestObj attrWithSetterException]):
+ (-[DOMTestObj setAttrWithSetterException:]):
+ (-[DOMTestObj attrWithGetterException]):
+ (-[DOMTestObj setAttrWithGetterException:]):
+ (-[DOMTestObj customAttr]):
+ (-[DOMTestObj setCustomAttr:]):
+ (-[DOMTestObj voidMethod]):
+ (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
+ (-[DOMTestObj intMethod]):
+ (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
+ (-[DOMTestObj objMethod]):
+ (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
+ (-[DOMTestObj methodWithException]):
+ (-[DOMTestObj customMethod]):
+ (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
+ (-[DOMTestObj methodWithOptionalArg:]):
+ (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
+ (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
+ (core):
+ (kit):
+ * bindings/scripts/test/ObjC/DOMTestObjInternal.h: Added.
+
+2010-04-26 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Add testing infrastructure for JSC bindings generator
+ https://bugs.webkit.org/show_bug.cgi?id=38167
+
+ This required moving the test files around a bit more.
+
+ * bindings/scripts/test/JS/JSTestObj.cpp: Added.
+ (WebCore::):
+ (WebCore::JSTestObjConstructor::JSTestObjConstructor):
+ (WebCore::JSTestObjConstructor::classInfo):
+ (WebCore::JSTestObjConstructor::createStructure):
+ (WebCore::JSTestObjConstructor::getOwnPropertySlot):
+ (WebCore::JSTestObjConstructor::getOwnPropertyDescriptor):
+ (WebCore::JSTestObjPrototype::self):
+ (WebCore::JSTestObjPrototype::getOwnPropertySlot):
+ (WebCore::JSTestObjPrototype::getOwnPropertyDescriptor):
+ (WebCore::JSTestObj::JSTestObj):
+ (WebCore::JSTestObj::~JSTestObj):
+ (WebCore::JSTestObj::createPrototype):
+ (WebCore::JSTestObj::getOwnPropertySlot):
+ (WebCore::JSTestObj::getOwnPropertyDescriptor):
+ (WebCore::jsTestObjReadOnlyIntAttr):
+ (WebCore::jsTestObjReadOnlyStringAttr):
+ (WebCore::jsTestObjReadOnlyTestObjAttr):
+ (WebCore::jsTestObjIntAttr):
+ (WebCore::jsTestObjStringAttr):
+ (WebCore::jsTestObjTestObjAttr):
+ (WebCore::jsTestObjAttrWithException):
+ (WebCore::jsTestObjAttrWithSetterException):
+ (WebCore::jsTestObjAttrWithGetterException):
+ (WebCore::jsTestObjCustomAttr):
+ (WebCore::jsTestObjConstructor):
+ (WebCore::JSTestObj::put):
+ (WebCore::setJSTestObjIntAttr):
+ (WebCore::setJSTestObjStringAttr):
+ (WebCore::setJSTestObjTestObjAttr):
+ (WebCore::setJSTestObjAttrWithException):
+ (WebCore::setJSTestObjAttrWithSetterException):
+ (WebCore::setJSTestObjAttrWithGetterException):
+ (WebCore::setJSTestObjCustomAttr):
+ (WebCore::JSTestObj::getConstructor):
+ (WebCore::jsTestObjPrototypeFunctionVoidMethod):
+ (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
+ (WebCore::jsTestObjPrototypeFunctionIntMethod):
+ (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
+ (WebCore::jsTestObjPrototypeFunctionObjMethod):
+ (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithException):
+ (WebCore::jsTestObjPrototypeFunctionCustomMethod):
+ (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
+ (WebCore::toJS):
+ (WebCore::toTestObj):
+ * bindings/scripts/test/JS/JSTestObj.h: Added.
+ (WebCore::JSTestObj::classInfo):
+ (WebCore::JSTestObj::createStructure):
+ (WebCore::JSTestObj::impl):
+ (WebCore::JSTestObjPrototype::classInfo):
+ (WebCore::JSTestObjPrototype::createStructure):
+ (WebCore::JSTestObjPrototype::JSTestObjPrototype):
+ * bindings/scripts/test/TestObj.idl:
+ * bindings/scripts/test/V8/V8TestObj.cpp: Renamed from WebCore/bindings/scripts/test/V8TestObj.cpp.
+ (WebCore::):
+ (WebCore::TestObjInternal::V8_USE):
+ (WebCore::TestObjInternal::readOnlyIntAttrAttrGetter):
+ (WebCore::TestObjInternal::readOnlyStringAttrAttrGetter):
+ (WebCore::TestObjInternal::readOnlyTestObjAttrAttrGetter):
+ (WebCore::TestObjInternal::intAttrAttrGetter):
+ (WebCore::TestObjInternal::intAttrAttrSetter):
+ (WebCore::TestObjInternal::stringAttrAttrGetter):
+ (WebCore::TestObjInternal::stringAttrAttrSetter):
+ (WebCore::TestObjInternal::testObjAttrAttrGetter):
+ (WebCore::TestObjInternal::testObjAttrAttrSetter):
+ (WebCore::TestObjInternal::attrWithExceptionAttrGetter):
+ (WebCore::TestObjInternal::attrWithExceptionAttrSetter):
+ (WebCore::TestObjInternal::attrWithSetterExceptionAttrGetter):
+ (WebCore::TestObjInternal::attrWithSetterExceptionAttrSetter):
+ (WebCore::TestObjInternal::attrWithGetterExceptionAttrGetter):
+ (WebCore::TestObjInternal::attrWithGetterExceptionAttrSetter):
+ (WebCore::TestObjInternal::voidMethodCallback):
+ (WebCore::TestObjInternal::voidMethodWithArgsCallback):
+ (WebCore::TestObjInternal::intMethodCallback):
+ (WebCore::TestObjInternal::intMethodWithArgsCallback):
+ (WebCore::TestObjInternal::objMethodCallback):
+ (WebCore::TestObjInternal::objMethodWithArgsCallback):
+ (WebCore::TestObjInternal::methodWithExceptionCallback):
+ (WebCore::TestObjInternal::methodWithOptionalArgCallback):
+ (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
+ (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
+ (WebCore::TestObjInternal::overloadedMethod1Callback):
+ (WebCore::TestObjInternal::overloadedMethod2Callback):
+ (WebCore::TestObjInternal::overloadedMethod3Callback):
+ (WebCore::TestObjInternal::overloadedMethod4Callback):
+ (WebCore::TestObjInternal::overloadedMethodCallback):
+ (WebCore::ConfigureV8TestObjTemplate):
+ (WebCore::V8TestObj::GetRawTemplate):
+ (WebCore::V8TestObj::GetTemplate):
+ (WebCore::V8TestObj::toNative):
+ (WebCore::V8TestObj::HasInstance):
+ (WebCore::V8TestObj::wrap):
+ (WebCore::toV8):
+ (WebCore::V8TestObj::derefObject):
+ * bindings/scripts/test/V8/V8TestObj.h: Renamed from WebCore/bindings/scripts/test/V8TestObj.h.
+
+2010-04-26 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Need to support more efficient dispatch of lightweight builtins
+ https://bugs.webkit.org/show_bug.cgi?id=38155
+
+ Update bindings generation to include new thunk generator field
+ in the property map hash tables.
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+
+2010-04-26 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Move bindings test directory into the scripts directory
+ https://bugs.webkit.org/show_bug.cgi?id=38161
+
+ This test is really of the bindings scripts not of the bindings
+ themselves. By moving the files into the scripts directory, we'll be
+ able to test JSC as well.
+
+ * bindings/scripts/test/TestObj.idl: Renamed from WebCore/bindings/v8/test/TestObj.idl.
+ * bindings/scripts/test/V8TestObj.cpp: Renamed from WebCore/bindings/v8/test/V8TestObj.cpp.
+ (WebCore::):
+ (WebCore::TestObjInternal::V8_USE):
+ (WebCore::TestObjInternal::readOnlyIntAttrAttrGetter):
+ (WebCore::TestObjInternal::readOnlyStringAttrAttrGetter):
+ (WebCore::TestObjInternal::readOnlyTestObjAttrAttrGetter):
+ (WebCore::TestObjInternal::intAttrAttrGetter):
+ (WebCore::TestObjInternal::intAttrAttrSetter):
+ (WebCore::TestObjInternal::stringAttrAttrGetter):
+ (WebCore::TestObjInternal::stringAttrAttrSetter):
+ (WebCore::TestObjInternal::testObjAttrAttrGetter):
+ (WebCore::TestObjInternal::testObjAttrAttrSetter):
+ (WebCore::TestObjInternal::attrWithExceptionAttrGetter):
+ (WebCore::TestObjInternal::attrWithExceptionAttrSetter):
+ (WebCore::TestObjInternal::attrWithSetterExceptionAttrGetter):
+ (WebCore::TestObjInternal::attrWithSetterExceptionAttrSetter):
+ (WebCore::TestObjInternal::attrWithGetterExceptionAttrGetter):
+ (WebCore::TestObjInternal::attrWithGetterExceptionAttrSetter):
+ (WebCore::TestObjInternal::voidMethodCallback):
+ (WebCore::TestObjInternal::voidMethodWithArgsCallback):
+ (WebCore::TestObjInternal::intMethodCallback):
+ (WebCore::TestObjInternal::intMethodWithArgsCallback):
+ (WebCore::TestObjInternal::objMethodCallback):
+ (WebCore::TestObjInternal::objMethodWithArgsCallback):
+ (WebCore::TestObjInternal::methodWithExceptionCallback):
+ (WebCore::TestObjInternal::methodWithOptionalArgCallback):
+ (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
+ (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
+ (WebCore::TestObjInternal::overloadedMethod1Callback):
+ (WebCore::TestObjInternal::overloadedMethod2Callback):
+ (WebCore::TestObjInternal::overloadedMethod3Callback):
+ (WebCore::TestObjInternal::overloadedMethod4Callback):
+ (WebCore::TestObjInternal::overloadedMethodCallback):
+ (WebCore::ConfigureV8TestObjTemplate):
+ (WebCore::V8TestObj::GetRawTemplate):
+ (WebCore::V8TestObj::GetTemplate):
+ (WebCore::V8TestObj::toNative):
+ (WebCore::V8TestObj::HasInstance):
+ (WebCore::V8TestObj::wrap):
+ (WebCore::toV8):
+ (WebCore::V8TestObj::derefObject):
+ * bindings/scripts/test/V8TestObj.h: Renamed from WebCore/bindings/v8/test/V8TestObj.h.
+
+2010-04-26 Daniel Cheng <dcheng@chromium.org>
+
+ Reviewed by Jian Li.
+
+ [chromium] Fix ChromiumDataObject::setURL to not populate its internal URL list with empty URLs.
+ https://bugs.webkit.org/show_bug.cgi?id=38159
+
+ No new tests.
+
+ * platform/chromium/ChromiumDataObject.h:
+ (WebCore::ChromiumDataObject::setURL):
+
+2010-04-26 Daniel Cheng <dcheng@chromium.org>
+
+ Reviewed by Jian Li.
+
+ [Chromium] Don't make file paths available in text/uri-list when dragging files.
+ https://bugs.webkit.org/show_bug.cgi?id=25882
+
+ Test will be checked in with WebCore/platform/mac fix.
+
+ * platform/chromium/ClipboardChromium.cpp:
+ (WebCore::ClipboardChromium::getData):
+ (WebCore::ClipboardChromium::types):
+
+2010-04-26 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION (r57292): 1.5% page load speed regression from visited link information leak fix
+ https://bugs.webkit.org/show_bug.cgi?id=38131
+
+ I did a number of separate optimizations which speed up style
+ resolution enough to more than make up for the regression. This
+ measures as a total PLT speedup of somewhere between 1.5% and
+ 3.7%.
+
+ Optimizations done:
+ - Cache determineLinkState results, to avoid the need to repeatedly compute
+ the visited link hash for the same element. This directly addresses much
+ of the slowdown, since all elements get their style computed twice now.
+ - Added a fast way to get the length of a CSSMutableStyleDeclaration, and use
+ in CSSStyleSelector::matchRulesForList, since it was hot there.
+ - Hoist some loop invariant code that's not detected by the compiler out of the
+ main loop in matchRulesForList
+ - inline CSSStyleSelector::initElement and locateSharedStyle,
+ since there is only one call site in each case
+ - Inline the common non-line fast case of determineLinkState, and split the rest into
+ out-of-line determineLinkStateSlowCase.
+ - Added inline versions of the functions called by
+ visitedLinkHash (the version called by determineLinkState).
+
+ * css/CSSMutableStyleDeclaration.cpp:
+ (WebCore::CSSMutableStyleDeclaration::length): Implemented in terms of new
+ inline nonvirtual mutableLength().
+ * css/CSSMutableStyleDeclaration.h:
+ (WebCore::CSSMutableStyleDeclaration::mutableLength): Added new nonvirtual
+ inline way to get the length if you know you have a mutable style decl.
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::init): Clear cached link state.
+ (WebCore::CSSStyleSelector::matchRulesForList): hoist some code out of the main
+ loop and get style decl length more efficiently.
+ (WebCore::CSSStyleSelector::initElement): inline (only one call site)
+ (WebCore::CSSStyleSelector::SelectorChecker::determineLinkState): Inline fast
+ case, call slow case.
+ (WebCore::CSSStyleSelector::SelectorChecker::determineLinkStateSlowCase): Split
+ most of the above function into this slow case helper.
+ (WebCore::CSSStyleSelector::canShareStyleWithElement): Use the cache-enabled
+ way to get the current link state.
+ (WebCore::CSSStyleSelector::locateSharedStyle): inline
+ (WebCore::CSSStyleSelector::styleForElement): Use the cache-enabled way
+ to get the current link state.
+ * css/CSSStyleSelector.h:
+ (WebCore::CSSStyleSelector::currentElementLinkState): inline way to
+ get link state for the current element; manages the cache
+ * platform/LinkHash.cpp:
+ (WebCore::visitedLinkHashInline): inline version of below function
+ (WebCore::visitedLinkHash): call the inline version
+ (WebCore::visitedURLInline): inline version of below function
+ (WebCore::visitedURL): call the inline version
+ (WebCore::visitedURL): call inline versions of above two functions
+
+2010-04-26 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Remove last use of WEB_THREAD.
+
+ * platform/mac/WebCoreObjCExtras.mm:
+ (WebCoreObjCScheduleDeallocateOnMainThread): This can always use
+ isMainThread().
+
+2010-04-26 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Turn on AUTO_VACUUM = INCREMENTAL for all HTML5 databases, and
+ vacuum all databases when the number of free pages is at least 10%
+ of the number of total pages. Also, adding a guard against a bug
+ that was fixed in SQLite only starting with version 3.6.16.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36251
+
+ * platform/sql/SQLiteDatabase.cpp:
+ (WebCore::SQLiteDatabase::totalSize):
+ (WebCore::SQLiteDatabase::runIncrementalVacuumCommand):
+ (WebCore::SQLiteDatabase::turnOnIncrementalAutoVacuum):
+ * platform/sql/SQLiteDatabase.h:
+ * platform/sql/SQLiteStatement.cpp:
+ (WebCore::SQLiteStatement::prepare):
+ * storage/Database.cpp:
+ (WebCore::Database::performOpenAndVerify):
+ (WebCore::Database::incrementalVacuumIfNeeded):
+ * storage/Database.h:
+ * storage/SQLTransaction.cpp:
+ (WebCore::SQLTransaction::postflightAndCommit):
+
+2010-04-26 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/7766413>
+
+ Fixed a crash seen when using the JavaScriptCore API with WebKit.
+
+ No layout test because DumpRenderTree doesn't use the JavaScriptCore API
+ in this way.
+
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::JSEventListener): Don't assign 0 to a WeakGCPtr.
+ JavaScriptCore no longer allows this.
+
+ * bindings/js/ScriptWrappable.h:
+ (WebCore::ScriptWrappable::setWrapper): No need to initialize a WeakGCPtr
+ to 0, or ASSERT a non-0 value before assigning to a WeakGCPtr -- both are
+ default behaviors.
+
+2010-04-25 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=38097
+ Disentangle initializing the main thread from initializing threading
+
+ * WebCore.xcodeproj/project.pbxproj: Sort files.
+
+ * accessibility/mac/AccessibilityObjectWrapper.mm: Remove unnessary
+ +initialize method. The AccessibilityObjectWrapper has no data members
+ that need to be derefed, so it does not need to be finalized on the main
+ thread.
+
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::initializeThreading): Add call to initializeMainThread.
+ * bindings/objc/WebScriptObject.mm:
+ (+[WebScriptObject initialize]): Add call to initializeMainThreadToProcessMainThread.
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::initializeThreading): Add call to initializeMainThread.
+ * platform/mac/SharedBufferMac.mm:
+ (+[WebCoreSharedBufferData initialize]): Add call to initializeMainThreadToProcessMainThread.
+
+2010-04-26 Yongjun Zhang <yongjun_zhang@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38128
+ Don't add empty credential to CredentialStorage.
+
+ An empty credential is currently regarded as a invalid login because it means a missing value in
+ protectionSpaceToCredentialMap. This change makes it consistent with current WebCore's behavior
+ by ignoring empty credentials.
+
+ No new tests added since this only affects credential entered by user from credential dialog,
+ which is not testable in DRT.
+
+ * platform/network/mac/ResourceHandleMac.mm:
+ (WebCore::ResourceHandle::receivedCredential):
+
+2010-04-26 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Clean-up WebCore.pro after now that JavaScriptCore is built separately
+ https://bugs.webkit.org/show_bug.cgi?id=38123
+
+ HAVE_STDINT_H, and HAVE_PTHREAD_NP_H no longer needs to be defined
+ for QtWebKit as JavaScriptCore is built separately. These defines are only
+ used by JavaScriptCore and for JavaScriptCore these are already
+ properly defined in JavaScriptCore/config.h.
+
+ No new tests, no new functionality.
+
+ * WebCore.pro:
+
+2010-04-26 Roman Gershman <romange@google.com>
+
+ Reviewed by Adam Barth.
+
+ [Chromium] Font size in suggestions popup menu should be correlated with the font size of its text field.
+ The following manual test checks for desired behavior.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37977
+
+ * manual-tests/chromium/suggestions-popup-font-change.html: Added.
+
+2010-04-26 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ View modes names in CSSValueKeywords.in
+ https://bugs.webkit.org/show_bug.cgi?id=38125
+
+ View mode names has changed in previous patch but CSSValueKeywords.in file was
+ not updated.
+
+ * css/CSSValueKeywords.in:
+
+2010-04-26 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Fix compilation with RVCT 4
+ https://bugs.webkit.org/show_bug.cgi?id=37727
+
+ Swap extern and declspec to fix visibility of symbol imported from QtGui.
+
+ * page/qt/EventHandlerQt.cpp:
+
+2010-04-26 Ruben Van Boxem <vanboxem.ruben@gmail.com>
+
+ Reviewed by Adam Roben.
+
+ Fixes for Win64 compilation under gcc (mingw-w64)
+
+ * WebCore/bridge/npapi.h: for win64 compatibility, mirroring mozilla-central, see Mozilla bug 560298
+ * WebCore/platform/Arena.h: uword is used to cast from pointers here. unsigned long is 32-bit on Windows (but 64-bit on mac), and too small to hold a pointer. uintptr_t is 32-bit on 32-bit systems (mac, linux and windows) and 64-bit on all 64-bit systems
+ * WebCore/platform/graphics/transforms/TransformationMatrix.h: let mingw-w64/w32 use MSVC codepath
+ * WebCore/platform/text/TextStream.cpp: let mingw-w64 use MSVC codepath
+ * WebCore/platform/text/TextStream.h: let mingw-w64 use MSVC codepath
+ * WebCore/plugins/PluginView.cpp: fix pointer casts on WIN64 and let mingw-w64 use MSVC codepath
+ * WebCore/plugins/win/PluginViewWin.cpp: fix pointer casts on WIN64
+
+2010-04-26 Markus Goetz <Markus.Goetz@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] HTTP pipelining efficiency increase
+ https://bugs.webkit.org/show_bug.cgi?id=38062
+
+ Increase number of network requests that are fed into
+ QNetworkAccessManager.
+
+ * platform/network/qt/ResourceRequestQt.cpp:
+ (WebCore::initializeMaximumHTTPConnectionCountPerHost):
+
+2010-04-26 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: undefined shows up on inspector.
+ https://bugs.webkit.org/show_bug.cgi?id=38120
+
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype.hide):
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype.set visible):
+
+2010-04-26 Bruno Schmidt <bruno.schmidt@gmail.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Exposing an QVariantMap containing QObjectStar to Javascript
+ causes Segmentation Fault
+ https://bugs.webkit.org/show_bug.cgi?id=34729
+
+ If an QVariantMap containing QObjectStar is added to the to QtWebkit
+ Javascript, it's use causes Segmentation Fault.
+ It happens because, in the case QMetaType::QVariantMap, the "root"
+ object that is inside of a PassRefPtr is passed recursively inside a
+ loop to recover the content of the map, but the PassRefPtr semantics
+ prohibit its use inside a loop, so the "root" object mus be passed
+ using the method "PassRefPtr::get" in order to keep the current
+ reference.
+
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::convertValueToQVariant):
+ (JSC::Bindings::convertQVariantToValue): change to root.get()
+
+2010-04-26 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: Render clip in summary bar using "arc", not "quadraticCurveTo".
+
+ https://bugs.webkit.org/show_bug.cgi?id=38107
+
+ * inspector/front-end/SummaryBar.js:
+ (WebInspector.SummaryBar.prototype._drawSummaryGraph.drawPill):
+ (WebInspector.SummaryBar.prototype._drawSummaryGraph):
+
+2010-04-26 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Fix compilation against Qt 4.7
+
+ Some QtMultimedia things have been moved into QtMediaServices
+ https://bugs.webkit.org/show_bug.cgi?id=38111
+
+ * WebCore.pro:
+ * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
+ (WebCore::MediaPlayerPrivate::supportsType):
+ (WebCore::MediaPlayerPrivate::totalBytes):
+
+2010-04-26 Zoltan Herczeg <zherczeg@webkit.org>
+
+ Reviewed by Dirk Schulze.
+
+ Call setStrokeStyle in applyStrokeStyleToContext
+ https://bugs.webkit.org/show_bug.cgi?id=37849
+
+ Not all platforms set the stroke style to solid if they
+ get an empty line dash array. Some just ignore the operation.
+
+ * rendering/SVGRenderSupport.cpp:
+ (WebCore::applyStrokeStyleToContext):
+
+2010-04-23 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ WebInspector: Aggregated stats of time spent in children records should be visible
+ in the popup panel of parent record. Crash in pushGCEventRecord also was fixed.
+ https://bugs.webkit.org/show_bug.cgi?id=37820
+
+ * English.lproj/localizedStrings.js:
+ * inspector/InspectorTimelineAgent.cpp:
+ (WebCore::InspectorTimelineAgent::pushGCEventRecords):
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
+ (WebInspector.TimelinePanel.prototype._createRootRecord):
+ (WebInspector.TimelinePanel.prototype._showPopover):
+ (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages):
+ (WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
+ (WebInspector.TimelineRecordGraphRow):
+ (WebInspector.TimelineRecordGraphRow.prototype.update):
+ (WebInspector.TimelinePanel.FormattedRecord):
+ (WebInspector.TimelinePanel.FormattedRecord.prototype._generateAggregatedInfo):
+ (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
+ (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
+ (WebInspector.TimelinePanel.FormattedRecord.prototype._calculateAggregatedStats):
+ * inspector/front-end/inspector.css:
+ (.timeline-graph-bar.with-children):
+ (.timeline-graph-bar.cpu):
+ (.timeline-aggregated-category):
+ (.timeline-loading):
+ (.timeline-scripting):
+ (.timeline-rendering):
+ (.popover .timeline-aggregated-category.timeline-loading):
+ (.timeline-details-title):
+
+2010-04-25 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ WebKit crashes with deeply nested divs
+ https://bugs.webkit.org/show_bug.cgi?id=18282
+
+ The HTML parser caps a tree depth by MAX_DOM_TREE_DEPTH defined in
+ TreeDepthLimit.h. This is performance-efficient, but does not work for
+ DOM operations such as Node.appendChild().
+
+ Test: fast/parser/element-nesting-cap.html
+
+ * dom/Node.h:
+ * dom/XMLTokenizer.cpp:
+ (WebCore::XMLTokenizer::pushCurrentNode):
+ * html/HTMLParser.cpp:
+
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/TreeDepthLimit.h:
+ Added. Define MAX_DOM_TREE_DEPTH. The default value is 5000.
+ * dom/XMLTokenizer.cpp: Use maxDOMTreeDepth.
+ (WebCore::XMLTokenizer::pushCurrentNode):
+ * html/HTMLParser.cpp:
+ Introduce m_treeDepth, which counts the depth of the tree.
+ Unlike m_blocksInStack, it contains the number of non-block nodes.
+ (WebCore::HTMLParser::HTMLParser):
+ (WebCore::HTMLParser::reset):
+ (WebCore::HTMLParser::limitDepth):
+ Renamed from limitBlockDepth. Add check for m_nodeDepth.
+ (WebCore::HTMLParser::insertNodeAfterLimitDepth):
+ Renamed from insertNodeAfterLimitBlockDepth.
+ (WebCore::HTMLParser::parseToken):
+ (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
+ (WebCore::HTMLParser::pushBlock):
+ (WebCore::HTMLParser::popOneBlockCommon):
+ (WebCore::HTMLParser::freeBlock):
+ * html/HTMLParser.h:
+
+2010-04-25 Andrey Kosyakov <caseq@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Get context properly when event handler was created on
+ the main world.
+ https://bugs.webkit.org/show_bug.cgi?id=37947
+
+ Test: http/tests/security/isolatedWorld/dispatchEvent.html
+
+ * bindings/v8/WorldContextHandle.cpp:
+ (WebCore::WorldContextHandle::adjustedContext):
+
+2010-04-25 yael aharon <yael.aharon@nokia.com>
+
+ Reviewed by Adele Peterson.
+
+ Allow styling of HTMLProgressElement.
+ https://bugs.webkit.org/show_bug.cgi?id=37901
+
+ Added a new pseudo element to represent the value portion of the progress element.
+ Web developers can style this pseudo element separate from the rest of the progress element.
+
+ Test: fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element.html
+
+ * css/CSSPrimitiveValueMappings.h:
+ (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::pseudoId):
+ (WebCore::nameToPseudoTypeMap):
+ (WebCore::CSSSelector::extractPseudoType):
+ * css/CSSSelector.h:
+ * css/CSSValueKeywords.in:
+ * platform/ThemeTypes.h:
+ * rendering/RenderProgress.cpp:
+ (WebCore::ProgressValueElement::isShadowNode):
+ (WebCore::ProgressValueElement::shadowParentNode):
+ (WebCore::ProgressValueElement::ProgressValueElement):
+ (WebCore::RenderProgress::RenderProgress):
+ (WebCore::RenderProgress::~RenderProgress):
+ (WebCore::RenderProgress::layout):
+ (WebCore::RenderProgress::styleDidChange):
+ (WebCore::RenderProgress::updateFromElement):
+ (WebCore::RenderProgress::updateValuePartState):
+ (WebCore::RenderProgress::createStyleForValuePart):
+ (WebCore::RenderProgress::updateAnimationState):
+ * rendering/RenderTheme.cpp:
+ (WebCore::RenderTheme::isControlStyled):
+ * rendering/RenderProgress.h:
+ * rendering/style/RenderStyleConstants.h:
+
+2010-04-24 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Don't propagate compositing out of iframes on Mac
+ https://bugs.webkit.org/show_bug.cgi?id=38072
+
+ Propagating compositing out of iframes caused too many regressions on Mac,
+ so only do it for other platforms that may need to hook compositing layers
+ together across iframe boundaries.
+
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::requiresCompositingForIFrame):
+
+2010-04-24 Anton Muhin <antonm@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Allow to construct HashTraits<WebCore::QualifiedName>::constructDeletedValue
+
+ Former implementation attempted to use AtomicString(HashTableDeletedValue)
+ however those values cannot be used that way: one cannot construct
+ QualifiedNameImpl out of such AtomicString as we'll try to lookup this string
+ in the table, for example.
+ https://bugs.webkit.org/show_bug.cgi?id=37722
+
+ * dom/QualifiedName.cpp:
+ (WebCore::QualifiedName::deref): check that hash table deleted values never derefed
+ * dom/QualifiedName.h:
+ (WebCore::QualifiedName::QualifiedName): add a constructor to create hash table deleted values
+ (WebCore::QualifiedName::isHashTableDeletedValue): add a check if given instance is hash table deleted value
+ (WTF::):
+
+2010-04-24 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ protocolHostAndPortEquals host check makes a wrong assumption
+ https://bugs.webkit.org/show_bug.cgi?id=37777
+
+ The host check assumed that both host started at the same position. This is true
+ if both URL are the same but sometimes one has credential and the other does not.
+ In this case, the method would compare invalid positions.
+
+ Test: http/tests/appcache/credential-url.html
+
+ * platform/KURL.cpp:
+ (WebCore::protocolHostAndPortAreEqual):
+ * platform/KURLGoogle.cpp:
+ (WebCore::protocolHostAndPortAreEqual):
+ Fix the host check to take both URL's credential into account.
+
+2010-04-24 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Not reviewed. Fix linkage on several bots (no idea, why it worked in a from-scratch rebuild on Leopard on my machine!) -> include NodeRenderStyle.h
+ Having to include NodeRenderStyle.h just to pull in the renderStyle() is a crazy concept, but I see what it tries to avoid (including RenderObject.h in Node.h)
+
+ * rendering/SVGRenderSupport.cpp:
+
+2010-04-24 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Not reviewed. Fix release builds, wrap resourceMode assertion in NDEBUG blocks, use UNUSED_PARAM() otherwhise.
+
+ * rendering/RenderSVGResourceClipper.cpp:
+ (WebCore::RenderSVGResourceClipper::applyResource):
+ * rendering/RenderSVGResourceFilter.cpp:
+ (WebCore::RenderSVGResourceFilter::applyResource):
+ (WebCore::RenderSVGResourceFilter::postApplyResource):
+ * rendering/RenderSVGResourceMasker.cpp:
+ (WebCore::RenderSVGResourceMasker::applyResource):
+
+2010-04-24 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Reviewed by Dirk Schulze.
+
+ SVGPaintServer needs to be converted to the new RenderSVGResource* system
+ https://bugs.webkit.org/show_bug.cgi?id=37986
+
+ Huge speedup for SVG painting using paint servers (gradient/patterns). Cache underlying
+ WebCore::Gradient/Pattern datastructures, do not rebuild them on every painting. This marks
+ the finish of the SVGResource -> RenderSVGResource transition.
+
+ Outline of same key changes:
+ - RenderSVGResource is an abstract base class now, and the previous class is now named RenderSVGResourceContainer
+ All resources except RenderSVGResourceSolidColor now inherit from RenderSVGResourceContainer, as they are all
+ associated with a SVG*Element class. RenderSVGResourceSolidColor inherits from RenderSVGResource, and is not
+ associated with any SVG*Element class. RenderSVGResourceSolidColor is not a render tree object, despite its name.
+ The reason for that is consistency with all other painting resources.
+ - RenderSVGResourceSolidColor does not live in the render tree, and exists only as static object, which is shared
+ and always used when filling/stroking with solid colors - just like the old SVGPaintServerSolid.
+ - RenderSVGResourceGradient/RenderSVGResourcePattern now store the underlying WebCore::Gradient/Pattern object
+ instead of rebuilding it everytime we're asked to paint -> this is the main difference with the old concept, leading
+ to much faster speed.
+ - SVGResource has vanished. All resources (clipper/filter/marker/masker/gradient/pattern) now share the same codepaths
+ to handle updates and client invalidation - which is a huge benefit, and makes the code easier to understand.
+
+ * Android.mk: Remove svg/graphics/SVGResource*, svg/graphics/SVGPaintServer.h from build.
+ * GNUmakefile.am: Ditto.
+ * WebCore.gypi: Ditto.
+ * WebCore.pro: Ditto.
+ * WebCore.vcproj/WebCore.vcproj: Ditto.
+ * WebCore.xcodeproj/project.pbxproj: Ditto.
+ * platform/graphics/Gradient.cpp: Add addColorStop() method taking a ColorStop const-reference.
+ (WebCore::Gradient::addColorStop):
+ * platform/graphics/Gradient.h: Ditto.
+ * platform/graphics/TextRun.h: Rename SVGPaintServer to RenderSVGResource
+ (WebCore::TextRun::TextRun):
+ (WebCore::TextRun::activePaintingResource): Renamed from activePaintServer.
+ (WebCore::TextRun::setActivePaintingResource): Renamed from setActivePaintServer.
+ * platform/graphics/win/GraphicsContextWin.cpp: Remove references to SVGResourceImage, which was removed a long time ago.
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::toRenderSVGResourceContainer): Renamed from toRenderSVGResource().
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::isSVGGradientStop): Added.
+ (WebCore::RenderObject::isSVGResourceContainer): Renamed from isSVGResource().
+ * rendering/RenderPath.cpp: Utilize RenderSVGResource::fill/strokePaintingResource to request paint servers, instead of SVGPaintServer.
+ (WebCore::RenderPath::fillContains): Adapt to new concept.
+ (WebCore::RenderPath::strokeContains): Ditto.
+ (WebCore::fillAndStrokePath): Ditto.
+ (WebCore::RenderPath::paint): Ditto.
+ * rendering/RenderSVGGradientStop.cpp:
+ (WebCore::RenderSVGGradientStop::styleDidChange): Ditto.
+ * rendering/RenderSVGGradientStop.h: Fixed indention.
+ * rendering/RenderSVGResource.cpp: Refactored old SVGPaintServer code to request fill/stroke painting resources, splitted up in several methods to aid readability.
+ (WebCore::registerPendingResource):
+ (WebCore::adjustColorForPseudoRules):
+ (WebCore::RenderSVGResource::fillPaintingResource):
+ (WebCore::RenderSVGResource::strokePaintingResource):
+ (WebCore::RenderSVGResource::sharedSolidPaintingResource):
+ (WebCore::RenderSVGResource::markForLayoutAndResourceInvalidation):
+ * rendering/RenderSVGResource.h: Make RenderSVGResource an abstract base class, see above for the reasoning.
+ (WebCore::RenderSVGResource::RenderSVGResource):
+ (WebCore::RenderSVGResource::~RenderSVGResource):
+ (WebCore::RenderSVGResource::postApplyResource):
+ * rendering/RenderSVGResourceClipper.cpp: Inherit from RenderSVGResourceContainer instead of RenderSVGResource.
+ (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper):
+ (WebCore::RenderSVGResourceClipper::invalidateClient):
+ (WebCore::RenderSVGResourceClipper::applyResource): Adapt to signature changes (add RenderStyle* and resource mode parameters)
+ (WebCore::RenderSVGResourceClipper::applyClippingToContext):
+ * rendering/RenderSVGResourceClipper.h:
+ * rendering/RenderSVGResourceContainer.h: Added. Renamed from RenderSVGResource. Now inherits from RenderSVGHiddenContainer and RenderSVGResource.
+ (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer):
+ (WebCore::RenderSVGResourceContainer::~RenderSVGResourceContainer):
+ (WebCore::RenderSVGResourceContainer::idChanged):
+ (WebCore::RenderSVGResourceContainer::isSVGResourceContainer):
+ (WebCore::RenderSVGResourceContainer::drawsContents):
+ (WebCore::RenderSVGResourceContainer::toRenderSVGResourceContainer):
+ (WebCore::getRenderSVGResourceContainerById):
+ (WebCore::getRenderSVGResourceById):
+ * rendering/RenderSVGResourceFilter.cpp: Inherit from RenderSVGResourceContainer instead of RenderSVGResource.
+ (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter):
+ (WebCore::RenderSVGResourceFilter::invalidateClient):
+ (WebCore::RenderSVGResourceFilter::applyResource): Adapt to signature changes (add RenderStyle* and resource mode parameters)
+ (WebCore::RenderSVGResourceFilter::postApplyResource):
+ * rendering/RenderSVGResourceFilter.h:
+ * rendering/RenderSVGResourceGradient.cpp: Moved from SVGPaintServerGradient, cleaned up and refactored.
+ (WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient):
+ (WebCore::RenderSVGResourceGradient::~RenderSVGResourceGradient):
+ (WebCore::RenderSVGResourceGradient::invalidateClients):
+ (WebCore::RenderSVGResourceGradient::invalidateClient):
+ (WebCore::createMaskAndSwapContextForTextGradient):
+ (WebCore::clipToTextMask):
+ (WebCore::RenderSVGResourceGradient::applyResource):
+ * rendering/RenderSVGResourceGradient.h:
+ (WebCore::RenderSVGResourceGradient::resourceBoundingBox):
+ * rendering/RenderSVGResourceLinearGradient.cpp: Moved from SVGPaintServerLinearGradient, cleaned up and refactored.
+ (WebCore::RenderSVGResourceLinearGradient::RenderSVGResourceLinearGradient):
+ (WebCore::RenderSVGResourceLinearGradient::~RenderSVGResourceLinearGradient):
+ (WebCore::RenderSVGResourceLinearGradient::buildGradient):
+ * rendering/RenderSVGResourceLinearGradient.h:
+ (WebCore::RenderSVGResourceLinearGradient::renderName):
+ (WebCore::RenderSVGResourceLinearGradient::resourceType):
+ * rendering/RenderSVGResourceMarker.cpp: Inherit from RenderSVGResourceContainer instead of RenderSVGResource.
+ (WebCore::RenderSVGResourceMarker::RenderSVGResourceMarker):
+ (WebCore::RenderSVGResourceMarker::invalidateClient):
+ * rendering/RenderSVGResourceMarker.h:
+ (WebCore::RenderSVGResourceMarker::applyResource):
+ * rendering/RenderSVGResourceMasker.cpp: Inherit from RenderSVGResourceContainer instead of RenderSVGResource.
+ (WebCore::RenderSVGResourceMasker::RenderSVGResourceMasker):
+ (WebCore::RenderSVGResourceMasker::invalidateClient):
+ (WebCore::RenderSVGResourceMasker::applyResource):
+ * rendering/RenderSVGResourceMasker.h:
+ (WebCore::MaskerData::MaskerData):
+ * rendering/RenderSVGResourcePattern.cpp: Moved from SVGPaintServerPattern, cleaned up and refactored.
+ (WebCore::RenderSVGResourcePattern::RenderSVGResourcePattern):
+ (WebCore::RenderSVGResourcePattern::~RenderSVGResourcePattern):
+ (WebCore::RenderSVGResourcePattern::invalidateClients):
+ (WebCore::RenderSVGResourcePattern::invalidateClient):
+ (WebCore::RenderSVGResourcePattern::applyResource):
+ (WebCore::RenderSVGResourcePattern::postApplyResource):
+ (WebCore::calculatePatternBoundaries):
+ (WebCore::RenderSVGResourcePattern::calculatePatternBoundariesIncludingOverflow):
+ (WebCore::RenderSVGResourcePattern::createTileImage):
+ (WebCore::RenderSVGResourcePattern::buildPattern):
+ * rendering/RenderSVGResourcePattern.h:
+ (WebCore::RenderSVGResourcePattern::renderName):
+ (WebCore::RenderSVGResourcePattern::resourceBoundingBox):
+ (WebCore::RenderSVGResourcePattern::resourceType):
+ * rendering/RenderSVGResourceRadialGradient.cpp: Moved from SVGPaintServerRadialGradient, cleaned up and refactored.
+ (WebCore::RenderSVGResourceRadialGradient::RenderSVGResourceRadialGradient):
+ (WebCore::RenderSVGResourceRadialGradient::~RenderSVGResourceRadialGradient):
+ (WebCore::RenderSVGResourceRadialGradient::buildGradient):
+ * rendering/RenderSVGResourceRadialGradient.h:
+ (WebCore::RenderSVGResourceRadialGradient::renderName):
+ (WebCore::RenderSVGResourceRadialGradient::resourceType):
+ * rendering/RenderSVGResourceSolidColor.cpp: Moved from SVGPaintServerSolid, cleaned up and refactored.
+ (WebCore::RenderSVGResourceSolidColor::RenderSVGResourceSolidColor):
+ (WebCore::RenderSVGResourceSolidColor::~RenderSVGResourceSolidColor):
+ (WebCore::RenderSVGResourceSolidColor::applyResource):
+ (WebCore::RenderSVGResourceSolidColor::postApplyResource):
+ * rendering/RenderSVGResourceSolidColor.h:
+ (WebCore::RenderSVGResourceSolidColor::invalidateClients):
+ (WebCore::RenderSVGResourceSolidColor::invalidateClient):
+ (WebCore::RenderSVGResourceSolidColor::resourceBoundingBox):
+ (WebCore::RenderSVGResourceSolidColor::resourceType):
+ (WebCore::RenderSVGResourceSolidColor::color):
+ (WebCore::RenderSVGResourceSolidColor::setColor):
+ * rendering/RenderSVGText.cpp:
+ (WebCore::RenderSVGText::paint): Early exit if painting is disabled.
+ * rendering/RenderTreeAsText.cpp:
+ (WebCore::write): Add RenderSVGGradientStop dumping.
+ (WebCore::externalRepresentation): Remove SVGResource dumping.
+ * rendering/SVGInlineTextBox.cpp: Adapt to SVGPaintServer changes (paint server request).
+ (WebCore::SVGInlineTextBox::paintCharacters):
+ (WebCore::SVGInlineTextBox::paintDecoration):
+ * rendering/SVGInlineTextBox.h: Ditto.
+ (WebCore::SVGTextPaintInfo::SVGTextPaintInfo):
+ * rendering/SVGRenderSupport.cpp: Ditto.
+ (WebCore::SVGRenderBase::prepareToRenderSVGContent):
+ (WebCore::SVGRenderBase::finishRenderSVGContent):
+ (WebCore::invalidatePaintingResource):
+ (WebCore::deregisterFromResources):
+ (WebCore::dashArrayFromRenderingStyle): Moved here from SVGPaintServer.
+ (WebCore::applyStrokeStyleToContext): Ditto.
+ * rendering/SVGRenderSupport.h:
+ * rendering/SVGRenderTreeAsText.cpp: Add new gradient/pattern dumping code. Stops are now properly dumped as well!
+ (WebCore::operator<<):
+ (WebCore::writeSVGPaintingResource):
+ (WebCore::writeStyle):
+ (WebCore::boundingBoxModeString):
+ (WebCore::writeCommonGradientProperties):
+ (WebCore::writeSVGResourceContainer):
+ (WebCore::writeSVGGradientStop):
+ * rendering/SVGRenderTreeAsText.h:
+ * rendering/SVGRootInlineBox.cpp: Adapt to SVGPaintServer changes (paint server request).
+ (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker):
+ (WebCore::SVGRootInlineBoxPaintWalker::~SVGRootInlineBoxPaintWalker):
+ (WebCore::SVGRootInlineBoxPaintWalker::teardownFillPaintServer):
+ (WebCore::SVGRootInlineBoxPaintWalker::teardownStrokePaintServer):
+ (WebCore::SVGRootInlineBoxPaintWalker::setupBackground):
+ (WebCore::SVGRootInlineBoxPaintWalker::setupFill):
+ (WebCore::SVGRootInlineBoxPaintWalker::setupFillSelection):
+ (WebCore::SVGRootInlineBoxPaintWalker::setupStroke):
+ (WebCore::SVGRootInlineBoxPaintWalker::setupStrokeSelection):
+ (WebCore::SVGRootInlineBoxPaintWalker::setupForeground):
+ (WebCore::SVGRootInlineBoxPaintWalker::activePaintingResource):
+ (WebCore::SVGRootInlineBoxPaintWalker::paintChunk):
+ * svg/GradientAttributes.h: Remove SVGGradientStop, use Gradient::ColorStop vector. Cleanup.
+ (WebCore::GradientAttributes::stops):
+ (WebCore::GradientAttributes::setStops):
+ * svg/LinearGradientAttributes.h: Move ENABLE(SVG) guard to correct location.
+ * svg/PatternAttributes.h: Add missing includes and class forwards.
+ * svg/RadialGradientAttributes.h: Move ENABLE(SVG) guard to correct location.
+ * svg/SVGClipPathElement.cpp: Rename invalidateCanvasResources() to invalidateResourceClients().
+ (WebCore::SVGClipPathElement::svgAttributeChanged):
+ (WebCore::SVGClipPathElement::childrenChanged): Only call invalidateResourceClients() when !changedByParser is set.
+ * svg/SVGClipPathElement.h:
+ * svg/SVGDocumentExtensions.cpp: Change HashMaps to hash AtomicStrings instead of Strings. Rename RenderSVGResource to RenderSVGResourceContainer.
+ (WebCore::SVGDocumentExtensions::addResource):
+ (WebCore::SVGDocumentExtensions::removeResource):
+ (WebCore::SVGDocumentExtensions::resourceById):
+ (WebCore::SVGDocumentExtensions::addPendingResource):
+ * svg/SVGDocumentExtensions.h:
+ * svg/SVGElement.cpp:
+ (WebCore::SVGElement::insertedIntoDocument): Remove reference to SVGResource::invalidateClients(), handled differently now.
+ (WebCore::SVGElement::updateAnimatedSVGAttribute): Change assertion, that is incorrect now.
+ * svg/SVGElement.h: Make updateAnimatedSVGAttribute() public.
+ * svg/SVGFont.cpp: Adapt to SVGPaintServer changes (paint server request).
+ (WebCore::Font::drawTextUsingSVGFont):
+ * svg/SVGGElement.cpp: If style()->display() is NONE, create a RenderSVGHiddenContainer, removing hacks in SVGStopElement for pservers-grad-19-b.svg (yes, SVG is crazy.)
+ (WebCore::SVGGElement::createRenderer):
+ * svg/SVGGElement.h: Remove childrenChanged() method which _always_ called renderer->setNeedsLayout(true), which is completly wrong and unnecessary.
+ (WebCore::SVGGElement::rendererIsNeeded): Always return true.
+ * svg/SVGGradientElement.cpp: Adapt to new RenderSVGResourceGradient code.
+ (WebCore::SVGGradientElement::svgAttributeChanged):
+ (WebCore::SVGGradientElement::childrenChanged): Only call invalidateResourceClients() when !changedByParser is set.
+ (WebCore::SVGGradientElement::buildStops):
+ * svg/SVGGradientElement.h:
+ * svg/SVGLinearGradientElement.cpp: Adapt to new RenderSVGResourceLinearGradient code.
+ (WebCore::SVGLinearGradientElement::svgAttributeChanged):
+ (WebCore::SVGLinearGradientElement::createRenderer):
+ (WebCore::SVGLinearGradientElement::collectGradientProperties):
+ (WebCore::SVGLinearGradientElement::calculateStartEndPoints):
+ * svg/SVGLinearGradientElement.h:
+ * svg/SVGMarkerElement.cpp: Rename invalidateCanvasResources() to invalidateResourceClients().
+ (WebCore::SVGMarkerElement::svgAttributeChanged):
+ (WebCore::SVGMarkerElement::childrenChanged): Only call invalidateResourceClients() when !changedByParser is set.
+ (WebCore::SVGMarkerElement::setOrientToAuto):
+ (WebCore::SVGMarkerElement::setOrientToAngle):
+ * svg/SVGMaskElement.cpp: Rename invalidateCanvasResources() to invalidateResourceClients().
+ (WebCore::SVGMaskElement::svgAttributeChanged):
+ (WebCore::SVGMaskElement::childrenChanged): Only call invalidateResourceClients() when !changedByParser is set.
+ * svg/SVGPatternElement.cpp: Rename invalidateCanvasResources() to invalidateResourceClients().
+ (WebCore::SVGPatternElement::svgAttributeChanged):
+ (WebCore::SVGPatternElement::childrenChanged): Only call invalidateResourceClients() when !changedByParser is set.
+ (WebCore::SVGPatternElement::createRenderer):
+ * svg/SVGPatternElement.h:
+ * svg/SVGPolyElement.h: Remove unneded rendererIsNeeded() override.
+ * svg/SVGRadialGradientElement.cpp: Adapt to new RenderSVGResourceRadialGradient code.
+ (WebCore::SVGRadialGradientElement::svgAttributeChanged):
+ (WebCore::SVGRadialGradientElement::createRenderer):
+ (WebCore::SVGRadialGradientElement::collectGradientProperties):
+ (WebCore::SVGRadialGradientElement::calculateFocalCenterPointsAndRadius):
+ * svg/SVGRadialGradientElement.h:
+ * svg/SVGStopElement.cpp: Clean up code, moved stop color calculation from SVGGradientElement to here, where it belongs.
+ (WebCore::SVGStopElement::parseMappedAttribute):
+ (WebCore::SVGStopElement::stopColorIncludingOpacity):
+ * svg/SVGStopElement.h:
+ * svg/SVGStyledElement.cpp:
+ (WebCore::SVGStyledElement::~SVGStyledElement):
+ (WebCore::SVGStyledElement::svgAttributeChanged): Only invalidateResourcesInAncestorChain()/deregisterFromResources() when we're not parsing.
+ (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain): Early exit if we find a parent resources, there is no resource nesting.
+ (WebCore::SVGStyledElement::invalidateResourceClients): Renamed from invalidateCanvasResources()
+ (WebCore::SVGStyledElement::childrenChanged): Only invalidate SVGElementInstances when !changedByParser is set.
+ * svg/SVGStyledElement.h: Remove canvasResource() logic, remove detach() method.
+ * svg/SVGTextPathElement.h:
+ * svg/graphics/SVGPaintServer.h: Removed.
+ * svg/graphics/SVGResource.cpp: Removed.
+ * svg/graphics/SVGResource.h: Removed.
+
+2010-04-23 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Darin Fisher.
+
+ Add isGLES2Compliant to GraphicsContext3D: make the method const.
+ https://bugs.webkit.org/show_bug.cgi?id=37872
+
+ * platform/graphics/GraphicsContext3D.h: Make isGLES2Compliant() const.
+ * platform/graphics/mac/GraphicsContext3DMac.cpp: Ditto.
+ (WebCore::GraphicsContext3D::isGLES2Compliant):
+
+2010-04-23 Qi Zhang <qi.2.zhang@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] LayoutTests/fast/canvas/pointInPath.html passed, actually it failed
+ https://bugs.webkit.org/show_bug.cgi?id=37276
+
+ QPainterPath::contains doesn't count the point on the bound.
+
+ * platform/graphics/qt/PathQt.cpp:
+ (WebCore::isPointOnPathBorder):
+ (WebCore::Path::contains):
+
+2010-04-23 Sam Weinig <sam@webkit.org>
+
+ Reviewed by David Levin.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=38060
+ Split up Threading.h
+
+ Add necessary forwarding headers.
+
+ * ForwardingHeaders/wtf/Atomics.h: Added.
+ * ForwardingHeaders/wtf/ThreadSafeShared.h: Added.
+ * ForwardingHeaders/wtf/ThreadingPrimitives.h: Added.
+
+2010-04-23 Rafael Weinstein <rafaelw@grafaelw.sfo.corp.google.com>
+
+ Reviewed by Darin Fisher.
+
+ This patch adds a vector of additionalFeatures to WindowFeatures
+ and populates it with any feature strings that evaluate to "yes"
+ and aren't directly observed in WindowFeatures. This allows
+ clients to capture experimental window features.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38013
+
+ * page/WindowFeatures.cpp:
+ (WebCore::WindowFeatures::setWindowFeature):
+ * page/WindowFeatures.h:
+
+2010-04-23 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <rdar://problem/7898436> :after content is duplicated
+
+ Test: fast/css-generated-content/after-duplicated-after-split.html
+
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::splitInlines): Pass the correct owner of the child list.
+
+2010-04-23 Adele Peterson <adele@apple.com>
+
+ Fixing the Tiger build for real.
+
+ * platform/graphics/mac/SimpleFontDataMac.mm:
+
+2010-04-23 Adele Peterson <adele@apple.com>
+
+ Fixing the Tiger build.
+
+ * platform/graphics/mac/SimpleFontDataMac.mm:
+ (WebCore::SimpleFontData::platformBoundsForGlyph):
+
+2010-04-23 Jian Li <jianli@chromium.org>
+
+ Reviewed by Dmitry Titov.
+
+ Add FileError for File API.
+ https://bugs.webkit.org/show_bug.cgi?id=37840
+
+ The test will be added when implementing FileReader and FilerWriter.
+
+ * Android.derived.jscbindings.mk:
+ * Android.derived.v8bindings.mk:
+ * DerivedSources.cpp:
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pri:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/ExceptionCode.h:
+ (WebCore::):
+ * html/FileError.h: Added.
+ * html/FileError.idl: Added.
+ * page/DOMWindow.idl:
+
+2010-04-23 Jian Li <jianli@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Improve code generator scripts to handle OR ('|') condition in the
+ extended attributes.
+ https://bugs.webkit.org/show_bug.cgi?id=37998
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bindings/scripts/CodeGeneratorObjC.pm:
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/scripts/IDLStructure.pm:
+
+2010-04-23 Adele Peterson <adele@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Fix for <rdar://problem/7855777> REGRESSION: Memory usage increase caused by storing glyph bounds in GlyphMetricsMap
+ https://bugs.webkit.org/show_bug.cgi?id=37936
+
+ This change breaks the GlyphMetricsMap into two maps - one for width and one for bounds, so that we don't store
+ a FloatRect for the glyph bounds unless we need to.
+
+ Covered by existing tests. This should not cause any change in functionality.
+
+ Updated for removal of GlyphMetricsMap.cpp
+ * Android.mk:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+
+ Made GlyphMetricsMap a template, so it can be used for separate width and bounds maps.
+ * platform/graphics/GlyphMetricsMap.cpp: Removed.
+ * platform/graphics/GlyphMetricsMap.h:
+ (WebCore::GlyphMetricsMap::metricsForGlyph):
+ (WebCore::GlyphMetricsMap::setMetricsForGlyph):
+ (WebCore::GlyphMetricsMap::GlyphMetricsPage::metricsForGlyph):
+ (WebCore::GlyphMetricsMap::GlyphMetricsPage::setMetricsForGlyph):
+ (WebCore::GlyphMetricsMap::GlyphMetricsPage::setMetricsForIndex):
+ (WebCore::::unknownMetrics):
+ (WebCore::::locatePageSlowCase):
+
+ * platform/graphics/mac/ComplexTextController.cpp: (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
+ Call boundsForGlyph instead of metricsForGlyph.
+ * platform/graphics/win/UniscribeController.cpp: (WebCore::UniscribeController::shapeAndPlaceItem):
+ ditto.
+ * platform/graphics/SimpleFontData.cpp: (WebCore::SimpleFontData::platformGlyphInit):
+ Call setMetricsForGlyph for both glyph maps.
+
+ Break getters and setters for metricsForGlyph into widthForGlyph and boundsForGlyph, maintaining present behavior.
+ * platform/graphics/SimpleFontData.h:
+ (WebCore::):
+ (WebCore::SimpleFontData::boundsForGlyph):
+ (WebCore::SimpleFontData::widthForGlyph):
+ * platform/graphics/cairo/SimpleFontDataCairo.cpp:
+ (WebCore::SimpleFontData::platformBoundsForGlyph):
+ (WebCore::SimpleFontData::platformWidthForGlyph):
+ * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
+ (WebCore::SimpleFontData::platformBoundsForGlyph):
+ (WebCore::SimpleFontData::platformWidthForGlyph):
+ * platform/graphics/chromium/SimpleFontDataLinux.cpp:
+ (WebCore::SimpleFontData::platformBoundsForGlyph):
+ (WebCore::SimpleFontData::platformWidthForGlyph):
+ * platform/graphics/gtk/SimpleFontDataPango.cpp:
+ (WebCore::SimpleFontData::platformBoundsForGlyph):
+ (WebCore::SimpleFontData::platformWidthForGlyph):
+ * platform/graphics/mac/SimpleFontDataMac.mm:
+ (WebCore::SimpleFontData::platformBoundsForGlyph):
+ (WebCore::SimpleFontData::platformWidthForGlyph):
+ * platform/graphics/win/SimpleFontDataCGWin.cpp:
+ (WebCore::SimpleFontData::platformBoundsForGlyph):
+ (WebCore::SimpleFontData::platformWidthForGlyph):
+ * platform/graphics/win/SimpleFontDataCairoWin.cpp:
+ (WebCore::SimpleFontData::platformBoundsForGlyph):
+ * platform/graphics/win/SimpleFontDataWin.cpp:
+ (WebCore::SimpleFontData::boundsForGDIGlyph):
+ (WebCore::SimpleFontData::widthForGDIGlyph):
+ * platform/graphics/wince/SimpleFontDataWince.cpp:
+ (WebCore::SimpleFontData::platformBoundsForGlyph):
+ * platform/graphics/wx/SimpleFontDataWx.cpp:
+ (WebCore::SimpleFontData::platformBoundsForGlyph):
+ (WebCore::SimpleFontData::platformWidthForGlyph):
+
+2010-04-23 Xiaomei Ji <xji@chromium.org>
+
+ Reviewed by Dan Bernstein and Darin Adler
+
+ Fix issue "caret does not paint after type in characters in right
+ aligned div or after delete all characters in RTL div or
+ 0px right padding RTL textarea"
+ https://bugs.webkit.org/show_bug.cgi?id=25319
+
+ Test: editing/inserting/caret-position.html
+
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::localCaretRect):
+
+2010-04-23 No'am Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] [Performance] GraphicsLayer: constructing the layers takes too long
+ https://bugs.webkit.org/show_bug.cgi?id=36365
+
+ The issue came from using QGraphicsView's cache as is. The problem is that
+ several code-paths require re-rendering of the item, but not re-rendering
+ of the web content into the cache.
+
+ The way to solve it is by having GraphicsLayerQt manage the cache directly
+ via QPixmapCache, instead of using QGraphicsItem cache modes.
+
+ FPS measurement shows significant improvement (20FPS before, 40FPS after)
+ on several use-cases, including blog-files/leaves on a desktop environment.
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
+ (WebCore::GraphicsLayerQtImpl::recache):
+ (WebCore::GraphicsLayerQtImpl::paint):
+ (WebCore::GraphicsLayerQtImpl::flushChanges):
+
+2010-04-23 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Avoid marking symbols as dllexport in chromium win builds
+ https://bugs.webkit.org/show_bug.cgi?id=38058
+
+ No new tests.
+
+ * config.h:
+
+2010-04-23 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Nikolas Zimmermann.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37187
+ SVG <use href="foo"> is interpreted as <use href="#foo">
+
+ getTarget() did return url parameter as is if doesn't have
+ fragment identifier. So fixed to return empty string in such case
+ because we need to distinguish "yyy.html" from "xxx.svg#yyy.html".
+
+ Test: svg/custom/broken-internal-references.svg
+
+ * svg/SVGElement.cpp:
+ (WebCore::SVGElement::insertedIntoDocument):
+ * svg/SVGURIReference.cpp:
+ (WebCore::SVGURIReference::getTarget):
+
+2010-04-23 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ ASSERT(willBeComposited == needsToBeComposited(layer)); on gmail.com
+ https://bugs.webkit.org/show_bug.cgi?id=38066
+
+ When a layer goes into compositing mode because it has a negative z-index child that is going
+ into compositing mode, then set willBeComposited to true. Also add another assertion to catch
+ any other cases where the state of willBeComposited is mismanaged.
+
+ Test: compositing/composited-negative-zindex-child.html
+
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::computeCompositingRequirements):
+
+2010-04-23 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ When webkitAnimationEnd event fires, on-screen rendering should show the last frame of animation
+ https://bugs.webkit.org/show_bug.cgi?id=37955
+
+ After r37484, animation and transition end events were fired on a timer, after the animation/transition
+ ended. This opened up one event loop cycle in which the non-animating state of the element was visible
+ before the event fired, resulting in flashes in content that reset style from the event handler.
+
+ Fix by firing these events in the same event cycle as the animation end, once all animations
+ have been updated. This also required moving the place that start animations are fixed until
+ a later state in the state machine, so that animations have their start time set at the point
+ the event is fired (to avoid an assertion when using the freeze API in DRT).
+
+ Not testable, since the flash is very transitory and cannot be captured in a pixel test.
+
+ * page/animation/AnimationBase.cpp:
+ (WebCore::AnimationBase::updateStateMachine): Move the firing of 'start' events into the state
+ where the start time is known.
+ * page/animation/AnimationControllerPrivate.h:
+ * page/animation/AnimationController.cpp:
+ (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired): Call the new fireEventsAndUpdateStyle()
+ method.
+ (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle): New method to share code that used to be in
+ updateStyleIfNeededDispatcherFired().
+ (WebCore::AnimationControllerPrivate::animationTimerFired): Call fireEventsAndUpdateStyle() once we've
+ processed all animations.
+
+2010-04-23 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ CompositeAnimation::updateKeyframeAnimations() can make a KeyframeAnimation for animation "none"
+ https://bugs.webkit.org/show_bug.cgi?id=38017
+
+ Check to see if the animation name is "none", and don't fire off a keyframe animation in
+ that case.
+
+ * page/animation/CompositeAnimation.cpp:
+ (WebCore::CompositeAnimation::updateKeyframeAnimations):
+
+2010-04-23 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Disable Netscape plugin support for minimal configuration
+ https://bugs.webkit.org/show_bug.cgi?id=38026
+
+ No new tests, as there is no new functionality.
+
+ * WebCore.pri:
+
+2010-04-23 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Need borderAndPadding(Width|Height)
+ https://bugs.webkit.org/show_bug.cgi?id=38046
+
+ Refactoring only, so no new tests.
+
+ * rendering/InlineBox.cpp:
+ (WebCore::InlineBox::height):
+ * rendering/RenderApplet.cpp:
+ (WebCore::RenderApplet::createWidgetIfNecessary):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::isSelfCollapsingBlock):
+ (WebCore::RenderBlock::calcPrefWidths):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::calcBorderBoxWidth):
+ (WebCore::RenderBox::calcBorderBoxHeight):
+ (WebCore::RenderBox::calcContentBoxWidth):
+ (WebCore::RenderBox::calcContentBoxHeight):
+ (WebCore::RenderBox::calcWidth):
+ (WebCore::RenderBox::calcHeight):
+ (WebCore::RenderBox::calcPercentageHeight):
+ (WebCore::RenderBox::calcReplacedHeightUsing):
+ (WebCore::RenderBox::availableHeightUsing):
+ (WebCore::RenderBox::calcAbsoluteHorizontal):
+ (WebCore::RenderBox::calcAbsoluteVertical):
+ (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
+ (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
+ (WebCore::RenderBox::positionForPoint):
+ * rendering/RenderBoxModelObject.h:
+ (WebCore::RenderBoxModelObject::borderAndPaddingHeight):
+ (WebCore::RenderBoxModelObject::borderAndPaddingWidth):
+ * rendering/RenderDataGrid.cpp:
+ (WebCore::RenderDataGrid::calcPrefWidths):
+ * rendering/RenderFieldset.cpp:
+ (WebCore::RenderFieldset::calcPrefWidths):
+ * rendering/RenderFileUploadControl.cpp:
+ (WebCore::RenderFileUploadControl::calcPrefWidths):
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::calcPrefWidths):
+ (WebCore::RenderFlexibleBox::allowedChildFlex):
+ * rendering/RenderImage.cpp:
+ (WebCore::RenderImage::calcPrefWidths):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::resize):
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::calcPrefWidths):
+ (WebCore::RenderListBox::calcHeight):
+ * rendering/RenderMenuList.cpp:
+ (WebCore::RenderMenuList::calcPrefWidths):
+ * rendering/RenderReplaced.cpp:
+ (WebCore::RenderReplaced::calcPrefWidths):
+ * rendering/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::calcPrefWidths):
+ * rendering/RenderSlider.cpp:
+ (WebCore::RenderSlider::calcPrefWidths):
+ (WebCore::RenderSlider::layout):
+ * rendering/RenderTableCell.cpp:
+ (WebCore::RenderTableCell::styleOrColWidth):
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::textBlockHeight):
+ (WebCore::RenderTextControl::textBlockWidth):
+ (WebCore::RenderTextControl::calcHeight):
+ (WebCore::RenderTextControl::calcPrefWidths):
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::layout):
+ * rendering/RenderWidget.cpp:
+ (WebCore::RenderWidget::updateWidgetPosition):
+
+2010-04-23 David Kilzer <ddkilzer@apple.com>
+
+ Size mismatch between format string and argument in dumpTextEncodingNameMap()
+
+ Reviewed by Darin Adler.
+
+ See Bug 38030 and r58157.
+
+ * platform/text/TextEncodingRegistry.cpp:
+ (WebCore::dumpTextEncodingNameMap): Assigned
+ textEncodingNameMap->size() to an unsigned variable before using
+ it in the fprintf() statement.
+
+2010-04-23 David Kilzer <ddkilzer@apple.com>
+
+ BUILD FIX: Attempt to fix Windows build after Bug 36187 landed in r58168
+
+ * DerivedSources.cpp: Changed include of JSMedia.cpp to
+ JSStyleMedia.cpp.
+
+2010-04-23 David Kilzer <ddkilzer@apple.com>
+
+ BUILD FIX: Fix Mac build after Bug 36187 landed in r58168
+
+ * WebCore.xcodeproj/project.pbxproj: Renamed DOMMedia.h,
+ DOMMedia.mm, DOMMediaInternal.h to DOMStyleMedia.h,
+ DOMStyleMedia.mm, DOMStyleMediaInternal.h.
+
+2010-04-23 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Unreviewed build fix.
+
+ Change Media to StyleMedia
+
+ * DerivedSources.make:
+
+2010-04-23 Xan Lopez <xlopez@igalia.com>
+
+ Try to fix the GTK+ bots.
+
+ * GNUmakefile.am:
+
+2010-04-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Laszlo Gombos.
+
+ Rename window.media to window.styleMedia
+ https://bugs.webkit.org/show_bug.cgi?id=36187
+
+ Rename the interface Media to StyleMedia as required by the
+ new CSSOM View spec.
+
+ * Android.derived.jscbindings.mk:
+ * Android.derived.v8bindings.mk:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pri:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * css/Media.cpp: Removed.
+ * css/Media.h: Removed.
+ * css/Media.idl: Removed.
+ * css/StyleMedia.cpp: Added.
+ (WebCore::StyleMedia::StyleMedia):
+ (WebCore::StyleMedia::type):
+ (WebCore::StyleMedia::matchMedium):
+ * css/StyleMedia.h: Added.
+ (WebCore::StyleMedia::create):
+ (WebCore::StyleMedia::disconnectFrame):
+ * css/StyleMedia.idl: Added.
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::styleMedia):
+ * page/DOMWindow.h:
+ (WebCore::DOMWindow::optionalMedia):
+ * page/DOMWindow.idl:
+
+2010-04-23 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: provide JSC implementation for scopeType method on
+ call frame and use same jsvascript code for JSC and v8 when collecting
+ scope chain data.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37663
+
+ * bindings/js/JSInjectedScriptHostCustom.cpp:
+ (WebCore::JSInjectedScriptHost::currentCallFrame):
+ * bindings/js/JSJavaScriptCallFrameCustom.cpp:
+ (WebCore::JSJavaScriptCallFrame::scopeType):
+ * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
+ (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
+ * inspector/InjectedScriptHost.idl:
+ * inspector/front-end/InjectedScript.js:
+ (injectedScriptConstructor.):
+
+2010-04-23 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Audits (Image Dimensions): full image URLs are prefixed with the hosting page name
+ https://bugs.webkit.org/show_bug.cgi?id=37988
+
+ * inspector/front-end/AuditRules.js:
+ (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
+
+2010-04-23 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ WebInspector: Flaky Inspector tests.
+ https://bugs.webkit.org/show_bug.cgi?id=36217
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::didCommitLoad):
+
+2010-04-23 Yaar Schnitman <yaar@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Auto-generate WebGLRenderingContext overloads in V8
+ https://bugs.webkit.org/show_bug.cgi?id=37818
+
+ * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
+ * html/canvas/WebGLRenderingContext.cpp: Added missing overloads for the following:.
+ (WebCore::WebGLRenderingContext::texImage2D)
+ (WebCore::WebGLRenderingContext::texSubImage2D)
+ * html/canvas/WebGLRenderingContext.h: Added missing overloads.
+ * html/canvas/WebGLRenderingContext.idl: IDL definition of overloads.
+
+2010-04-23 Jeff Schiller <codedread@gmail.com>
+
+ Reviewed by Nikolas Zimmermann.
+
+ Display tooltips when hovering over SVG elements, Bug 16854
+ https://bugs.webkit.org/show_bug.cgi?id=16854
+
+ Manual test added for verifying tooltips.
+
+ * manual-tests/svg-tooltip.svg: Added.
+ * svg/SVGAElement.cpp:
+ (WebCore::SVGAElement::title): xlink:title takes precedence, otherwise SVGStyledElement::title() is used
+ * svg/SVGStyledElement.cpp:
+ (WebCore::SVGStyledElement::title): checks for a shadow parent and uses that title, otherwise uses the content's title
+ * svg/SVGStyledElement.h: add title() method declaration
+
+2010-04-23 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/38032> No need to content sniff 304 responses
+ <rdar://problem/7891726>
+
+ Reviewed by Brady Eidson.
+
+ * platform/network/mac/ResourceHandleMac.mm:
+ (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
+ No need to adjust the MIME type on 304 responses since they're
+ only used to determine if the resource needs to be refetched.
+
+2010-04-23 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/38030> Add WebCore::dumpTextEncodingNameMap() to dump text encoding map on debug builds
+
+ Reviewed by Alexey Proskuryakov.
+
+ * platform/text/TextEncodingRegistry.cpp:
+ (WebCore::dumpTextEncodingNameMap): Added.
+ * platform/text/TextEncodingRegistry.h:
+ (WebCore::dumpTextEncodingNameMap): Added declaration.
+
+2010-04-22 Tony Chang <tony@chromium.org>
+
+ Reviewed by Dan Bernstein.
+
+ Crash in WebCore::TextIterator::handleTextNode() encountered in Google rich-text products
+ https://bugs.webkit.org/show_bug.cgi?id=37950
+
+ Test: editing/text-iterator/rtl-selection-crash.html
+
+ * editing/TextIterator.cpp:
+ (WebCore::TextIterator::handleTextNode):
+
+2010-04-22 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Dan Bernstein and Beth Dakin.
+
+ Links around blocks (e.g. divs) results in too many VoiceOver call outs
+ https://bugs.webkit.org/show_bug.cgi?id=37079
+ <rdar://problem/7234118>
+
+ The basic change is to modify the AccessibilityRenderObject tree
+ traversal methods to account for inline continuations in the
+ render tree and make the accessibility tree look as if
+ continuations didn't exist - the same as if CSS blocks could just
+ sit in CSS inlines. This is slightly tricky code but creates a
+ much saner accessibility tree.
+
+ Tests: accessibility/image-link-inline-cont.html
+ accessibility/image-link.html
+ accessibility/inline-continuations.html
+
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::isInlineWithContinuation): Helper function for traversal functions to use in accounting for continuations.
+ (WebCore::firstChildInContinuation): ditto
+ (WebCore::firstChildConsideringContinuation): ditto
+ (WebCore::lastChildConsideringContinuation): ditto
+ (WebCore::startOfContinuations): ditto
+ (WebCore::endOfContinuations): ditto
+ (WebCore::childBeforeConsideringContinuations): ditto
+ (WebCore::firstChildIsInlineContinuation): ditto
+ (WebCore::lastChildHasContinuation): ditto
+ (WebCore::AccessibilityRenderObject::firstChild): Account for inline continuations.
+ (WebCore::AccessibilityRenderObject::lastChild): ditto
+ (WebCore::AccessibilityRenderObject::previousSibling): Account for inline continuations
+ and their anonymous block parents.
+ (WebCore::AccessibilityRenderObject::nextSibling): ditto
+ (WebCore::AccessibilityRenderObject::parentObjectIfExists): Account for inline continuations.
+ (WebCore::AccessibilityRenderObject::parentObject): Account for inline continuations.
+ * rendering/RenderInline.h: Make RenderInline::inlineContinuation public.
+
+2010-04-22 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION: TextIterator may use freed memory
+ https://bugs.webkit.org/show_bug.cgi?id=37973
+
+ Added TextIterator::m_text to hold the returned String.
+
+ No new tests because there are no behavior change, but
+ copy-backslash-with-euc.html on chromium-win should test this.
+
+ * editing/TextIterator.cpp:
+ (WebCore::TextIterator::emitText):
+ * editing/TextIterator.h:
+
+2010-04-22 Michael Forney <mforney@mforney.org>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37761
+
+ Only include JSDatabase.h and JSDatabaseCallback.h when database is
+ enabled. This partially fixes building with --disable-database.
+
+ * bindings/js/JSDOMWindowCustom.cpp: Add a check for database around
+ database-related headers.
+
+2010-04-22 Ray Rischpater <Raymond.Rischpater@Nokia.com>
+
+ Reviewed by Darin Adler.
+
+ In HTMLInputElement.cpp, shouldUseInputMethod does not return true for
+ some text input types (TELEPHONE, NUMBER, URL, and EMAIL). Addressed
+ this by changing shouldUseInputMethod to use internal methods to
+ check that the field is a text field that isn't a password field.
+
+ No new tests.
+
+ Fixes <https://bugs.webkit.org/show_bug.cgi?id=37719>
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::shouldUseInputMethod):
+
+2010-04-22 Yaar Schnitman <yaar@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Integrate v8 testing utility with webkit tests
+ https://bugs.webkit.org/show_bug.cgi?id=37731
+
+ * bindings/v8/test/run_tests.py: Removed.
+
+2010-04-22 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Darin Fisher.
+
+ Add isGLES2Compliant to GraphicsContext3D
+ https://bugs.webkit.org/show_bug.cgi?id=37872
+
+ * html/canvas/WebGLRenderingContext.cpp: Add isGLES2Compliant().
+ (WebCore::WebGLRenderingContext::isGLES2Compliant):
+ * html/canvas/WebGLRenderingContext.h: Ditto.
+ * platform/graphics/GraphicsContext3D.h: Ditto.
+ * platform/graphics/mac/GraphicsContext3DMac.cpp: Ditto.
+ (WebCore::GraphicsContext3D::isGLES2Compliant):
+
+2010-04-22 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ MD5 is required for WebSocket new protocol implementation
+ https://bugs.webkit.org/show_bug.cgi?id=37913
+
+ * ForwardingHeaders/wtf/MD5.h: Added.
+
+2010-04-22 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38012
+ REGRESSION: Ctrl- and Option- shortcuts get wrong keyCode on non-QWERTY keyboard
+
+ * platform/mac/KeyEventMac.mm: (WebCore::windowsKeyCodeForKeyEvent): Also look at unmodified
+ characters, to avoid falling through to virtual key code lookup for Roman characters.
+
+2010-04-22 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Fix the MSVC 64bit build.
+ https://bugs.webkit.org/show_bug.cgi?id=37980
+
+ * platform/text/TextStream.cpp:
+ * platform/text/TextStream.h:
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::PluginView::platformStart):
+
+2010-04-22 Dave Moore <davemoore@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Added notification when the favicons for a page are changed
+ from a script.
+ The Document object will notify the frame loader, which will
+ notify the client. Implementations of FrameLoaderClient will
+ have to add one method; dispatchDidChangeIcons().
+
+ https://bugs.webkit.org/show_bug.cgi?id=33812
+
+ Test: fast/dom/icon-url-property.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::setIconURL):
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::setIconURL):
+ * loader/DocumentLoader.h:
+ (WebCore::DocumentLoader::iconURL):
+ * loader/EmptyClients.h:
+ (WebCore::EmptyFrameLoaderClient::dispatchDidChangeIcons):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::setIconURL):
+ (WebCore::FrameLoader::didChangeIcons):
+ * loader/FrameLoader.h:
+ * loader/FrameLoaderClient.h:
+
+2010-04-22 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ [GTK] GObject DOM bindings
+ https://bugs.webkit.org/show_bug.cgi?id=33590
+
+ Extend the bindings to cover most of Document.idl
+
+ * GNUmakefile.am:
+ * bindings/gobject/WebKitDOMBinding.cpp:
+ (WebKit::createWrapper):
+ (WebKit::kit):
+ * bindings/gobject/WebKitDOMBinding.h:
+ * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp: Added.
+ (WebKit::createAnchorWrapper):
+ (WebKit::createAppletWrapper):
+ (WebKit::createAreaWrapper):
+ (WebKit::createBaseWrapper):
+ (WebKit::createBaseFontWrapper):
+ (WebKit::createBlockquoteWrapper):
+ (WebKit::createBodyWrapper):
+ (WebKit::createBRWrapper):
+ (WebKit::createButtonWrapper):
+ (WebKit::createCanvasWrapper):
+ (WebKit::createTableCaptionWrapper):
+ (WebKit::createTableColWrapper):
+ (WebKit::createModWrapper):
+ (WebKit::createDirectoryWrapper):
+ (WebKit::createDivWrapper):
+ (WebKit::createDListWrapper):
+ (WebKit::createEmbedWrapper):
+ (WebKit::createFieldSetWrapper):
+ (WebKit::createFontWrapper):
+ (WebKit::createFormWrapper):
+ (WebKit::createFrameWrapper):
+ (WebKit::createFrameSetWrapper):
+ (WebKit::createHeadingWrapper):
+ (WebKit::createHeadWrapper):
+ (WebKit::createHRWrapper):
+ (WebKit::createHtmlWrapper):
+ (WebKit::createIFrameWrapper):
+ (WebKit::createImageWrapper):
+ (WebKit::createInputWrapper):
+ (WebKit::createIsIndexWrapper):
+ (WebKit::createLabelWrapper):
+ (WebKit::createLegendWrapper):
+ (WebKit::createLIWrapper):
+ (WebKit::createLinkWrapper):
+ (WebKit::createMapWrapper):
+ (WebKit::createMarqueeWrapper):
+ (WebKit::createMenuWrapper):
+ (WebKit::createMetaWrapper):
+ (WebKit::createObjectWrapper):
+ (WebKit::createOListWrapper):
+ (WebKit::createOptGroupWrapper):
+ (WebKit::createOptionWrapper):
+ (WebKit::createParagraphWrapper):
+ (WebKit::createParamWrapper):
+ (WebKit::createPreWrapper):
+ (WebKit::createQuoteWrapper):
+ (WebKit::createScriptWrapper):
+ (WebKit::createSelectWrapper):
+ (WebKit::createStyleWrapper):
+ (WebKit::createTableWrapper):
+ (WebKit::createTableSectionWrapper):
+ (WebKit::createTableCellWrapper):
+ (WebKit::createTextAreaWrapper):
+ (WebKit::createTitleWrapper):
+ (WebKit::createTableRowWrapper):
+ (WebKit::createUListWrapper):
+ (WebKit::createHTMLElementWrapper):
+ * bindings/gobject/WebKitHTMLElementWrapperFactory.h: Added.
+ * bindings/scripts/CodeGeneratorGObject.pm:
+ * dom/Node.idl:
+
+2010-04-22 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Do not pause movie when readyState drops below HAVE_FUTURE_DATA
+ https://bugs.webkit.org/show_bug.cgi?id=37991
+ <rdar://problem/7893937>
+
+ No new tests, we don't have infrastructure in DRT to test with streamed
+ movies.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_readyStateMaximum.
+ (WebCore::HTMLMediaElement::prepareForLoad): Reset m_readyStateMaximum.
+ (WebCore::HTMLMediaElement::setReadyState): Maintain m_readyStateMaximum.
+ (WebCore::HTMLMediaElement::potentiallyPlaying): Also return true if the readyState was
+ previously >= HAVE_FUTURE_DATA.
+ * html/HTMLMediaElement.h:
+
+2010-04-22 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Regression: framebufferRenderbuffer crashes with null renderBuffer
+ https://bugs.webkit.org/show_bug.cgi?id=37963
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore::WebGLRenderingContext::framebufferRenderbuffer): Dealing with null renderbuffer input.
+
+2010-04-22 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Emulate GL_IMPLEMENTATION_COLOR_READ_FORMAT/TYPE for glGet
+ https://bugs.webkit.org/show_bug.cgi?id=37281
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore::WebGLRenderingContext::WebGLRenderingContext): Remove error check because two enums are supported now.
+ (WebCore::WebGLRenderingContext::getParameter): Add two enums.
+ (WebCore::WebGLRenderingContext::readPixels): Fix a tiny bug.
+ * platform/graphics/mac/GraphicsContext3DMac.cpp:
+ (WebCore::GraphicsContext3D::getIntegerv): Emulate two enums.
+
+2010-04-22 Diego Escalante Urrelo <descalante@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] Mute/unmute button on <video> elements are backwards
+ https://bugs.webkit.org/show_bug.cgi?id=33967
+
+ Fix mute/unmute buttons icons-action relation and explain why their
+ variable names and corresponding icons seem to be misleading but are
+ actually right. Original patch by Mike Hommey.
+
+ * platform/gtk/RenderThemeGtk.cpp:
+ (WebCore::RenderThemeGtk::initMediaStyling):
+
+2010-04-22 Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
+
+ Reviewed by Eric Seidel.
+
+ Fix build if NPAPI support is disabled
+ https://bugs.webkit.org/show_bug.cgi?id=36621
+
+ No new tests, this is a build fix.
+ Re-submit r58043 with fix for EFL.
+
+ * plugins/PluginViewNone.cpp:
+
+2010-04-22 Diego Escalante Urrelo <descalante@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ [Gtk] Evaluate and create tests for all the AtkRole's implemented by
+ WebKitGtk
+ https://bugs.webkit.org/show_bug.cgi?id=34449
+
+ Implement ATK_ROLE_COMBO_BOX.
+
+ * accessibility/gtk/AccessibilityObjectAtk.cpp:
+ (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (atkRole):
+
+2010-04-22 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Reviewed by Dirk Schulze.
+
+ SVGPaintServer needs to be converted to the new RenderSVGResource* system
+ https://bugs.webkit.org/show_bug.cgi?id=37986
+
+ No functional changes, just move the SVGPaintServer* classes from svg/graphics/ to rendering/, the new location for the RenderSVGResource* classes.
+ This is a preparation for the real patch which follows soon.
+
+ * Android.mk: Rename files and move to the right location.
+ * GNUmakefile.am: Ditto.
+ * WebCore.gypi: Ditto.
+ * WebCore.pro: Ditto.
+ * WebCore.vcproj/WebCore.vcproj: Ditto.
+ * WebCore.xcodeproj/project.pbxproj: Ditto.
+ * rendering/RenderSVGResource.cpp: Copied from svg/graphics/SVGPaintServer.cpp.
+ * rendering/RenderSVGResourceGradient.cpp: Copied from svg/graphics/SVGPaintServerGradient.cpp.
+ * rendering/RenderSVGResourceGradient.h: Copied from svg/graphics/SVGPaintServerGradient.h.
+ * rendering/RenderSVGResourceLinearGradient.cpp: Copied from svg/graphics/SVGPaintServerLinearGradient.cpp.
+ * rendering/RenderSVGResourceLinearGradient.h: Copied from svg/graphics/SVGPaintServerLinearGradient.h.
+ * rendering/RenderSVGResourcePattern.cpp: Copied from svg/graphics/SVGPaintServerPattern.cpp.
+ * rendering/RenderSVGResourcePattern.h: Copied from svg/graphics/SVGPaintServerPattern.h.
+ * rendering/RenderSVGResourceRadialGradient.cpp: Copied from svg/graphics/SVGPaintServerRadialGradient.cpp.
+ * rendering/RenderSVGResourceRadialGradient.h: Copied from svg/graphics/SVGPaintServerRadialGradient.h.
+ * rendering/RenderSVGResourceSolidColor.cpp: Copied from svg/graphics/SVGPaintServerSolid.cpp.
+ * rendering/RenderSVGResourceSolidColor.h: Copied from svg/graphics/SVGPaintServerSolid.h.
+ * rendering/SVGRenderTreeAsText.cpp: Change include file names.
+ * svg/SVGFont.cpp: Ditto.
+ * svg/SVGGradientElement.cpp: Ditto.
+ * svg/SVGGradientElement.h: Ditto.
+ * svg/SVGLinearGradientElement.cpp: Ditto.
+ * svg/SVGPatternElement.cpp: Ditto.
+ * svg/SVGPatternElement.h: Ditto.
+ * svg/SVGRadialGradientElement.cpp: Ditto.
+ * svg/graphics/SVGPaintServer.cpp: Removed.
+ * svg/graphics/SVGPaintServerGradient.cpp: Removed.
+ * svg/graphics/SVGPaintServerGradient.h: Removed.
+ * svg/graphics/SVGPaintServerLinearGradient.cpp: Removed.
+ * svg/graphics/SVGPaintServerLinearGradient.h: Removed.
+ * svg/graphics/SVGPaintServerPattern.cpp: Removed.
+ * svg/graphics/SVGPaintServerPattern.h: Removed.
+ * svg/graphics/SVGPaintServerRadialGradient.cpp: Removed.
+ * svg/graphics/SVGPaintServerRadialGradient.h: Removed.
+ * svg/graphics/SVGPaintServerSolid.cpp: Removed.
+ * svg/graphics/SVGPaintServerSolid.h: Removed.
+ * svg/graphics/SVGResourceListener.h: Removed.
+
+2010-04-22 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Hide the OpenGL and QtMultimedia dependencies from syncqt.
+
+ This prevents the dependent headers from being included by
+ qt/include/QtWebKit/QtWebKit
+
+ * WebCore.pro:
+
+2010-04-22 Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
+
+ Reviewed by Adam Roben.
+
+ EFL does not support PluginDatabase yet.
+ http://webkit.org/b/37854
+
+ No behavior changes, so no new tests were added.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::defaultObjectContentType):
+
+2010-04-22 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: Timeline scrolling speed is slow if it has more than 1k timeline marks.
+ https://bugs.webkit.org/show_bug.cgi?id=37924
+
+ * inspector/front-end/TimelineGrid.js:
+ (WebInspector.TimelineGrid.prototype.updateDividers):
+ (WebInspector.TimelineGrid.prototype.addEventDividers):
+ * inspector/front-end/TimelineOverviewPane.js:
+ (WebInspector.TimelineOverviewPane.prototype.updateEventDividers):
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel.prototype._updateEventDividers):
+ (WebInspector.TimelinePanel.prototype._refresh):
+
+2010-04-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ Rename window.media to window.styleMedia
+ https://bugs.webkit.org/show_bug.cgi?id=36187
+
+ It has been defined that the AbstractView media extension
+ defined in the CSSOM View spec should be renamed to styleMedia.
+ This patch does that and updates the current layout tests
+ making use of it.
+
+ * page/AbstractView.idl:
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::styleMedia):
+ * page/DOMWindow.h:
+ * page/DOMWindow.idl:
+
+2010-04-22 Anton Muhin <antonm@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ [v8] Do not pass empty handle into SetHiddenValue which would crash.
+ https://bugs.webkit.org/show_bug.cgi?id=37801
+
+ * bindings/v8/V8AbstractEventListener.cpp:
+ (WebCore::V8AbstractEventListener::handleEvent): add couple of asserts to check for unexpected paths
+ (WebCore::V8AbstractEventListener::invokeEventHandler): bail out of jsEvent is empty handle
+
+2010-04-22 Stephan Aßmus <superstippi@gmx.de>
+
+ Reviewed by David Levin.
+
+ [Haiku] Implement ImageBuffer support
+ https://bugs.webkit.org/show_bug.cgi?id=35288
+
+ Covered by existing tests.
+
+ Complete implementation of ImageBuffer for Haiku. Uses StillImage
+ class to export a WebCore::Image and associated GraphicsContext
+ to perform arbitrary drawing in the offscreen BBitmap buffer.
+
+ * platform/graphics/haiku/ImageBufferData.h:
+ * platform/graphics/haiku/ImageBufferHaiku.cpp,
+ (WebCore::ImageBufferData::ImageBufferData),
+ (WebCore::ImageBufferData::~ImageBufferData),
+ (WebCore::ImageBuffer::ImageBuffer),
+ (WebCore::ImageBuffer::~ImageBuffer),
+ (WebCore::ImageBuffer::context),
+ (WebCore::ImageBuffer::image):
+ Implementation uses offscreen BBitmap and BView, wraps StillImage
+ around those to provide WebCore::Image interface.
+ (WebCore::ImageBuffer::platformTransformColorSpace):
+ (WebCore::convertFromData):
+ Method just performs BGRA <-> RGBA conversion.
+ (WebCore::convertFromInternalData):
+ Method just performs BGRA <-> RGBA conversion and handles
+ pre-multiplying the color values if requested.
+ (WebCore::convertToInternalData):
+ Method just performs BGRA <-> RGBA conversion and handles
+ de.multiplying the color values if requested.
+ (WebCore::getImageData):
+ Common code for the next two methods.
+ (WebCore::ImageBuffer::getUnmultipliedImageData),
+ (WebCore::ImageBuffer::getPremultipliedImageData):
+ Implemented.
+ (WebCore::putImageData):
+ Common code for the next two methods.
+ (WebCore::ImageBuffer::putUnmultipliedImageData),
+ (WebCore::ImageBuffer::putPremultipliedImageData):
+ Implemented.
+ (WebCore::ImageBuffer::toDataURL):
+ Uses Haiku "Translation Kit" to convert image data to data
+ of the requested mime type.
+
+2010-04-22 Adam Barth <abarth@webkit.org>
+
+ Unreviewed, rolling out r58069.
+ http://trac.webkit.org/changeset/58069
+ https://bugs.webkit.org/show_bug.cgi?id=27751
+
+ Broke compile on Windows.
+
+ * WebCore.base.exp:
+ * editing/EditorCommand.cpp:
+ (WebCore::supportedPaste):
+ (WebCore::createCommandMap):
+ * page/Settings.cpp:
+ (WebCore::Settings::Settings):
+ * page/Settings.h:
+
+2010-04-22 Abhishek Arya <inferno@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Add support for controlling clipboard access from javascript.
+ Clipboard access from javascript is disabled by default.
+ https://bugs.webkit.org/show_bug.cgi?id=27751
+
+ Test: editing/execCommand/clipboard-access.html
+
+ * WebCore.base.exp:
+ * editing/EditorCommand.cpp:
+ (WebCore::supportedCopyCut):
+ (WebCore::supportedPaste):
+ (WebCore::createCommandMap):
+ * page/Settings.cpp:
+ (WebCore::Settings::Settings):
+ (WebCore::Settings::setJavaScriptCanAccessClipboard):
+ * page/Settings.h:
+ (WebCore::Settings::javaScriptCanAccessClipboard):
+
+2010-04-22 Stephan Aßmus <superstippi@gmx.de>
+
+ Reviewed by David Levin.
+
+ [Haiku] Improve SimpleFontDataHaiku
+ https://bugs.webkit.org/show_bug.cgi?id=37411
+
+ Covered by existing tests.
+
+ * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
+ - Cleaned up includes
+ - Removed prototype "charUnicodeToUTF8HACK"
+ (WebCore::SimpleFontData::platformInit):
+ - Use const BFont pointer
+ (WebCore::SimpleFontData::smallCapsFontData):
+ - "fontPlatformData" was leaked. It is only
+ used as the key for the font cache lookup.
+ (WebCore::SimpleFontData::platformMetricsForGlyph):
+ - Use existing WebCore encoding infrastructure
+ instead of adding a hack for Haiku.
+
+2010-04-21 Steve Block <steveblock@google.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Replace Geolocation::suspend()/resume() which are required by Android.
+ https://bugs.webkit.org/show_bug.cgi?id=37942
+
+ These methods were removed in Bug 36255.
+
+ Build fix only, no new tests.
+
+ * page/Geolocation.cpp:
+ (WebCore::Geolocation::suspend):
+ (WebCore::Geolocation::resume):
+ * page/Geolocation.h:
+
+2010-04-21 Ray Rischpater <Raymond.Rischpater@Nokia.com>
+
+ In HTMLInputElement.cpp there are numerous style
+ violations.
+
+ This patch includes style changes to fix existing style
+ deviations in this file.
+
+ Rubber stamped by Darin Adler.
+
+ Fixes <https://bugs.webkit.org/show_bug.cgi?id=37881>
+
+ * html/HTMLInputElement.cpp:
+
+2010-04-21 Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
+
+ Reviewed by Adam Roben.
+
+ Add missing EFL WebCore file.
+ http://webkit.org/b/37854
+
+ No behavior changes, so no new tests were added.
+
+ * bindings/js/ScriptControllerEfl.cpp: Added.
+ (WebCore::ScriptController::createScriptInstanceForWidget):
+
+2010-04-21 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Printing Core Animation-based plug-ins is broken
+ https://bugs.webkit.org/show_bug.cgi?id=37967
+
+ When we do a "flattening" paint because of printing, we need to stash
+ the flattening flag in the FrameView's m_paintBehavior, because
+ WebBaseNetscapePluginView needs to find it there to decide whether
+ to grab a bitmap for printing, for CA plug-ins.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::paintContents):
+
+2010-04-21 François Sausset <sausset@gmail.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Fix to take into account a change made in "StringImpl".
+ https://bugs.webkit.org/show_bug.cgi?id=37763
+
+ * mathml/RenderMathMLOperator.cpp:
+ (WebCore::RenderMathMLOperator::updateFromElement):
+
+2010-04-21 Andy Estes <aestes@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Create a template for creating reference-counted Windows GDI handles.
+ Refactor RefCountedHFONT to use this template.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37952
+
+ No change in behavior.
+
+ * WebCore.vcproj/WebCore.vcproj: Add RefCountedHFONT.h
+ * platform/graphics/cairo/FontPlatformData.h:
+ (WebCore::FontPlatformData::hfont): Refactor to return m_hfont->handle() instead of m_hfont->hfont().
+ * platform/graphics/cg/FontPlatformData.h:
+ (WebCore::FontPlatformData::hfont): Same.
+ * platform/graphics/win/FontPlatformDataCGWin.cpp:
+ (WebCore::FontPlatformData::FontPlatformData): Instantiate m_hfont with a RefCountedGDIHandle<HFONT>.
+ * platform/graphics/win/FontPlatformDataWin.cpp:
+ (WebCore::FontPlatformData::FontPlatformData): Same.
+ * platform/graphics/win/RefCountedGDIHandle.h: Added. Interface is identical to RefCountedHFONT with exception of renaming hfont() to handle().
+ (WebCore::RefCountedGDIHandle::create):
+ (WebCore::RefCountedGDIHandle::createDeleted):
+ (WebCore::RefCountedGDIHandle::~RefCountedGDIHandle):
+ (WebCore::RefCountedGDIHandle::handle): Return the GDI handle.
+ (WebCore::RefCountedGDIHandle::hash):
+ (WebCore::RefCountedGDIHandle::RefCountedGDIHandle):
+ * platform/graphics/win/RefCountedHFONT.h: Removed.
+
+2010-04-21 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Fix build if NPAPI support is disabled
+ https://bugs.webkit.org/show_bug.cgi?id=36621
+
+ No new tests, this is a build fix.
+ Re-submit r56585 with fix for Chromium.
+
+ * plugins/PluginView.cpp: Guard getValueStatic() with
+ NETSCAPE_PLUGIN_API
+ (WebCore::PluginView::getValue):
+ * plugins/PluginView.h: Guard getValue() with NETSCAPE_PLUGIN_API
+ * plugins/PluginViewNone.cpp: Guard platformGetValue() and
+ platformGetValueStatic with NETSCAPE_PLUGIN_API;
+ Guard privateBrowsingStateChanged() and setJavaScriptPaused() with
+ PLATFORM(MAC) or PLATFORM(CHROMIUM)
+
+2010-04-21 David Yonge-Mallo <davinci@chromium.org>
+
+ Reviewed by Dan Bernstein.
+
+ ZWNJ - Display non-printing, invisible character
+ https://bugs.webkit.org/show_bug.cgi?id=16131
+
+ Fix the (non)display of glyphs for ZWJ and ZWNJ in simple font code path.
+
+ Tests: fast/text/format-control.html
+ fast/text/zero-width-characters.html
+
+ * platform/graphics/Font.h:
+ (WebCore::Font::operator!=):
+ (WebCore::Font::treatAsZeroWidthSpace): treat ZWNJ and ZWJ as ZWSP.
+ * platform/graphics/GlyphPageTreeNode.cpp:
+ (WebCore::GlyphPageTreeNode::initializePage): added ZWNJ and ZWJ.
+ * platform/text/CharacterNames.h: added ZWNJ and ZWJ.
+
+2010-04-21 Charles Wei <charles.wei@torchmobile.com.cn>
+
+ Reviewed by George Staikos.
+
+ Fix webkit build problem when xhtmlmp enabled, which is introduced by revision 57927, for
+ bug fix of 37175 , which seperates DocumentWriter from FrameLoader
+ https://bugs.webkit.org/show_bug.cgi?id=37915
+
+ No new tests since this only fixes the build problem.
+
+ * dom/Document.cpp:
+ (WebCore::Document::isXHTMLMPDocument):
+
+2010-04-21 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Call sites of TextIterator constructor are difficult to read
+ https://bugs.webkit.org/show_bug.cgi?id=37909
+
+ Now we use enum parameters instead of boolean parameters and
+ boolean version of constructors are eliminated.
+
+ This change also changes the names of boolean members so they are
+ now third person singular.
+
+ No new tests because this is just a refactoring.
+
+ * WebCore.base.exp:
+ * editing/TextIterator.cpp:
+ (WebCore::TextIterator::TextIterator):
+ (WebCore::TextIterator::advance):
+ (WebCore::TextIterator::handleReplacedElement):
+ (WebCore::TextIterator::shouldRepresentNodeOffsetZero):
+ (WebCore::TextIterator::shouldEmitSpaceBeforeAndAfterNode):
+ (WebCore::TextIterator::handleNonTextNode):
+ (WebCore::TextIterator::exitNode):
+ (WebCore::TextIterator::emitCharacter):
+ (WebCore::TextIterator::emitText):
+ (WebCore::CharacterIterator::CharacterIterator):
+ (WebCore::TextIterator::rangeLength):
+ (WebCore::TextIterator::rangeFromLocationAndLength):
+ (WebCore::findPlainText):
+ * editing/TextIterator.h:
+ (WebCore::):
+ * editing/VisibleSelection.cpp:
+ (WebCore::VisibleSelection::appendTrailingWhitespace):
+ * editing/visible_units.cpp:
+ (WebCore::nextBoundary):
+
+2010-04-21 Jesus Sanchez-Palencia <jesus@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add PageClientQt files.
+
+ [Qt] PageClientQt specific implementation for QWidget
+ https://bugs.webkit.org/show_bug.cgi?id=37858
+
+ * WebCore.pro:
+
+2010-04-21 Diego Escalante Urrelo <descalante@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ [Gtk] Evaluate and create tests for all the AtkRole's implemented by
+ WebKitGtk
+ https://bugs.webkit.org/show_bug.cgi?id=34449
+
+ Implement ATK_ROLE_SEPARATOR.
+
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
+ * accessibility/gtk/AccessibilityObjectAtk.cpp:
+ (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
+
+2010-04-21 David Leong <david.leong@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Symbian apps crash on exit due to a bad qObject_cast.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37303
+
+ Added check for NULL to avoid the crash. Reworked to fix memory leak
+
+ * plugins/symbian/PluginViewSymbian.cpp:
+ (WebCore::PluginView::platformDestroy):
+
+2009-04-21 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ aria-liveregion-notifications.html fails on leopard release bot
+ https://bugs.webkit.org/show_bug.cgi?id=37112
+
+ Change the method that DRT uses to monitor AX notifications so that its robust
+ by just sending out NSNotification that can be listened to by anyone, instead
+ of keeping a static function pointer around.
+
+ This change is aimed to avoid flakiness seen in DRT when the notification handlers
+ are not being called at the appropriate time.
+
+ Tests: platform/mac/accessibility/aria-liveregions-addedelement.html
+ platform/mac/accessibility/aria-liveregions-changedalt.html
+ platform/mac/accessibility/aria-liveregions-changedtext.html
+ platform/mac/accessibility/aria-liveregions-removedelement.html
+
+ * accessibility/mac/AccessibilityObjectWrapper.h:
+ * accessibility/mac/AccessibilityObjectWrapper.mm:
+ (-[AccessibilityObjectWrapper accessibilitySetShouldRepostNotifications:]):
+ (-[AccessibilityObjectWrapper accessibilityPostedNotification:]):
+
+2010-04-21 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (Leopard build fix).
+ Remove old exports.
+
+ * WebCore.base.exp:
+
+2010-04-21 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 37949 - Do no copy strings into a shared buffer when converting UStrings to Strings
+ UString and String now have the same internal representation; Just re-wrap the internal impl.
+
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::jsStringSlowCase):
+ * bindings/js/JSDOMBinding.h:
+ (WebCore::ustringToString):
+ (WebCore::stringToUString):
+ (WebCore::identifierToString):
+ (WebCore::ustringToAtomicString):
+ (WebCore::identifierToAtomicString):
+
+2010-04-21 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Eric Carlson.
+
+ <rdar://problem/7313430> Many crashes in Safari inside Flip4Mac below -[NSAlert didEndAlert:returnCode:contextInfo:]
+
+ A manual test case is required here as the Flip4Mac plug-in displays an alert, and some manual tweaking of the plug-in's
+ preference file on disk is often required to reproduce the bug.
+
+ * manual-tests/plugins/flip4mac-update-alert-over-navigation.html: Added.
+
+2010-04-21 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ <rdar://problem/7856151> REGRESSION: NPP_Destroy is not called when page navigates when plug-in is displaying modal dialog
+
+ This is a manual test case as I was not able to construct an automated test that reproduced the same issue without displaying
+ a modal dialog on-screen.
+
+ * manual-tests/plugins/timeout-dialog-displayed-over-navigation.html: Added.
+ * manual-tests/plugins/timeout-dialog-displayed-over-navigation.swf: Added.
+
+2010-04-21 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=37937
+ Wean JavaScriptCore off calls to isMainThread()
+
+ No change in behavior.
+
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::JSDOMWindowBase::commonJSGlobalData):
+ Explicitly set a large stack type for the common JSGlobalData and
+ set the currently running thread as the exclusive thread for its
+ execution.
+
+ * bindings/js/WorkerScriptController.cpp:
+ (WebCore::WorkerScriptController::WorkerScriptController):
+ Explicitly set a small stack type for the workers JSGlobalData.
+
+2010-04-21 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (Qt build fix).
+
+ * WebCore.gypi:
+ * WebCore.pro:
+ * platform/text/qt/StringQt.cpp: Removed.
+
+2010-04-20 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt, Darin Adler.
+
+ Bug 37906 - Remove JSC::UStringImpl; unify with StringImpl.
+ Add include for StringHash.h.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * bridge/c/c_class.cpp:
+
+2010-04-21 Alexey Proskuryakov <ap@apple.com>
+
+ Tiger build fix.
+
+ * platform/network/mac/ResourceHandleMac.mm:
+ (WebCore::createNSURLConnection): Fixed a typo, named an argument.
+ (WebCore::ResourceHandle::start): Moved shouldUseCredentialStorage out of #if, since it's
+ now passed to createNSURLConneciton() on all platforms (and then ignored on Tiger).
+
+2010-04-21 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Windows build fix.
+
+ * platform/network/cf/ResourceHandleCFNet.cpp: Declare CFURLConnectionCreateWithProperties
+ for now, as it's mistakenly missing from WebKitSupportLibrary headers.
+
+2010-04-21 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION(r57292): Safari/Win and Chromium/Win no longer pass the acid3 test.
+ https://bugs.webkit.org/show_bug.cgi?id=37902
+
+ The issue is due to MSVC creating enums as signed. The fix is to store the value
+ as unsigned.
+
+ Test: http://acid3.acidtests.org/
+
+ * rendering/style/RenderStyle.h:
+ (WebCore::InheritedFlags): Changed type of _insideLink to unsigned.
+
+2010-04-21 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Brady Eidson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37933
+ <rdar://problem/7719540> XMLHttpRequest.withCredentials should be better enforced.
+
+ Test: http/tests/xmlhttprequest/cross-origin-authorization-with-embedder.html
+
+ This improves integration between ResourceHandle and Apple networking libraries.
+
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::createConnectionProperties): A new helper for creating connection properties dictionary.
+ (WebCore::ResourceHandle::start): Pass connection properties.
+ (WebCore::WebCoreSynchronousLoader::load): Ditto.
+
+ * platform/network/mac/ResourceHandleMac.mm:
+ (WebCore::createNSURLConnection): Factor out OS version dependent code for creating
+ NSURLConnection. Tell NSURLConnection about credential policy upfront.
+ (WebCore::ResourceHandle::start): Use the new function.
+ (+[WebCoreSynchronousLoader loadRequest:allowStoredCredentials:returningResponse:error:]): Ditto.
+
+2010-04-21 Xiaomei Ji <xji@chromium.org>
+
+ Reviewed by Dimitri Glazkov
+
+ This patch fixes [chromium] RTL <select> dropdown box expands to right
+ instead of left.
+ https://bugs.webkit.org/show_bug.cgi?id=37232
+
+ No automatic test is possible.
+
+ * manual-tests/select_dropdown_box_alignment.html: Added.
+ * platform/chromium/PopupMenuChromium.cpp:
+ (WebCore::PopupContainer::layout): Adjust the x-axis of dropdown box
+ for RTL.
+
+2010-04-21 anton muhin <antonm@google.com>
+
+ Reviewed by Adam Barth.
+
+ [v8] Bail out if fetching of Object.prototype fails.
+ https://bugs.webkit.org/show_bug.cgi?id=37661
+
+ If for any reason we failed to fetch Object.prototype, context cannot
+ be properly initialized and we bail out.
+
+ * bindings/v8/V8DOMWindowShell.cpp:
+ (WebCore::V8DOMWindowShell::initContextIfNeeded): bail out if installHiddenObjectPrototype failed
+ (WebCore::V8DOMWindowShell::installHiddenObjectPrototype): bail out if failed to fetch Object.prototype
+ * bindings/v8/V8DOMWindowShell.h: return false if installHiddenObjectPrototype failed
+
+2010-04-21 Timothy Hatcher <timothy@apple.com>
+
+ Make UserContentURLPattern correctly check for subdomains and the URL
+ has the same suffix as the pattern. Also improve the parsing of the host.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37357
+
+ Reviewed by Darin Adler.
+
+ * page/UserContentURLPattern.cpp:
+ (WebCore::UserContentURLPattern::parse): Simplify the subdomain pattern parsing to
+ simply check for "*" only or a "*." prefix and then do a substring.
+ (WebCore::UserContentURLPattern::matchesHost): Check that the host has a "." in the
+ position before the suffix to ensure it a subdomain and not just a suffix match.
+
+2010-04-21 Xan Lopez <xlopez@igalia.com>
+
+ Try to fix compilation on GTK+ debug bots.
+
+ * bindings/gobject/WebKitDOMBinding.cpp:
+ (WebKit::createWrapper):
+
+2010-04-21 Jakub Wieczorek <jwieczorek@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ List item markers are not always updated after changes in the DOM.
+ https://bugs.webkit.org/show_bug.cgi?id=37060
+
+ In particular, they would not be updated when adding/removing an item
+ that is not a direct child of the list element.
+
+ Tests: fast/lists/ol-nested-items-dynamic-insert.html
+ fast/lists/ol-nested-items-dynamic-remove.html
+ fast/lists/ol-nested-items.html
+ fast/lists/ol-nested-list-dynamic-insert.html
+ fast/lists/ol-nested-list-dynamic-remove.html
+ fast/lists/ol-nested-list.html
+
+ * rendering/RenderListItem.cpp:
+ (WebCore::updateListMarkerNumbers): Change it to traverse the whole subtree of a list, not only siblings of an item.
+ * rendering/RenderListItem.h:
+ * rendering/RenderObject.cpp: Move the updateListMarkerNumbers function to RenderListItem.cpp.
+ (WebCore::RenderObject::addChild): Move the code updating list markers to RenderObjectChildList for consistency.
+ * rendering/RenderObjectChildList.cpp: Move the updateListMarkerNumbers function to RenderListItem.cpp.
+ (WebCore::RenderObjectChildList::removeChildNode): Pass the actual node being removed, not the next sibling.
+ (WebCore::RenderObjectChildList::appendChildNode): Pass the actual node being added, not the next sibling.
+ (WebCore::RenderObjectChildList::insertChildNode): Pass the actual node being added, not the next sibling.
+ * rendering/RenderTreeAsText.cpp:
+ (WebCore::markerTextForListItem):
+
+2010-04-21 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Adam Barth.
+
+ [GTK] GObject DOM bindings
+ https://bugs.webkit.org/show_bug.cgi?id=33590
+
+ Initial version of the GObject DOM bindings.
+
+ Only bindings for Node.idl and a few of its dependencies are
+ provided, without public API to access them at the
+ moment. References to the Document interfaces and to
+ EventListeners in Node.idl are ignored for GObject to make the
+ initial patch as small as possible, but will be enabled in a
+ follow-up patch.
+
+ * GNUmakefile.am:
+ * bindings/gobject/ConvertToUTF8String.cpp: Added.
+ (convertToUTF8String):
+ * bindings/gobject/ConvertToUTF8String.h: Added.
+ * bindings/gobject/WebKitDOMBinding.cpp: Added.
+ (WebKit::domObjects):
+ (WebKit::DOMObjectCache::get):
+ (WebKit::DOMObjectCache::put):
+ (WebKit::DOMObjectCache::forget):
+ (WebKit::createWrapper):
+ (WebKit::kit):
+ * bindings/gobject/WebKitDOMBinding.h: Added.
+ * bindings/gobject/WebKitDOMObject.cpp: Added.
+ (webkit_dom_object_init):
+ (webkit_dom_object_class_init):
+ * bindings/gobject/WebKitDOMObject.h: Added.
+ * bindings/scripts/CodeGeneratorGObject.pm: Added.
+ * bindings/scripts/gobject-generate-headers.pl: Added.
+ * dom/Node.idl:
+
+2010-04-21 Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
+
+ Reviewed by Xan Lopez.
+
+ Wrong header being included in FontPlatformDataCairo.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=37829
+
+ No behavior changes, so no new tests were added.
+
+ * platform/graphics/cairo/FontPlatformDataCairo.cpp:
+
+2010-04-21 Adam Roben <aroben@apple.com>
+
+ Fix leaks of FilterData/SVGFilterBuilder in RenderSVGResourceFilter
+
+ Fixes <http://webkit.org/b/37922>.
+
+ Reviewed by Dave Hyatt.
+
+ * rendering/RenderSVGResourceFilter.cpp:
+ (WebCore::RenderSVGResourceFilter::applyResource): Use an OwnPtr to
+ hold the heap-allocated FilterData object, so that we won't leak it
+ when we bail out of this function on error.
+
+2010-04-21 Zoltan Herczeg <zherczeg@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] startAnimation() is not needed to preceede nativeImageForCurrentFrame()
+ https://bugs.webkit.org/show_bug.cgi?id=37844
+
+ nativeImageForCurrentFrame() resets the m_decoder parameter under Qt,
+ which is required by startAnimation() to detect frame and repetition counts.
+ Hence, Image::drawTiled cannot start animations under Qt:
+ <html><body background="animated.gif"></body></html> does not work
+
+ * platform/graphics/qt/ImageDecoderQt.cpp:
+ (WebCore::ImageDecoderQt::internalHandleCurrentImage):
+
+2010-04-21 Benjamin Poulain <ikipou@gmail.com>
+
+ Reviewed by Simon Fraser.
+
+ Update of fixed elements is not made correctly when the page has been scrolled
+ https://bugs.webkit.org/show_bug.cgi?id=36783
+
+ When a fixed element was updated, the old geometry was not repainted correctly
+ because the repaint rect was cached during the layout and not updated when
+ scrolling.
+
+ The rect is now updated while scrolling so the region updated correspond to the
+ region of the element on the screen.
+
+ The method RenderLayer::updateRepaintRectsAfterScroll() updates
+ the repaint rect of all fixed tree after scroll.
+
+ Tests: fast/repaint/fixed-child-move-after-scroll.html
+ fast/repaint/fixed-child-of-fixed-move-after-scroll.html
+ fast/repaint/fixed-child-of-transformed-move-after-scroll.html
+ fast/repaint/fixed-move-after-scroll.html
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::scrollPositionChanged):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateRepaintRectsAfterScroll):
+ * rendering/RenderLayer.h:
+
+2010-04-21 Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
+
+ Reviewed by Adam Roben.
+
+ Update EFL port to match recent API changes.
+ http://webkit.org/b/37853
+
+ No behavior changes, so no new tests were added.
+
+ * platform/efl/FileSystemEfl.cpp:
+ * platform/efl/LocalizedStringsEfl.cpp:
+ (WebCore::missingPluginText):
+ (WebCore::crashedPluginText):
+ * platform/efl/MIMETypeRegistryEfl.cpp:
+ (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
+ * platform/graphics/efl/ImageEfl.cpp:
+
+2010-04-21 Avi Drissman <avi@chromium.org>
+
+ Reviewed by Simon Fraser.
+
+ JPG images fail to print in Chromium
+ https://bugs.webkit.org/show_bug.cgi?id=37796
+
+ Image sources of JPG data with final=false fail to draw into PDF contexts even if later updated (<rdar://problem/7874035>). Therefore, destroy and re-create the image source when the final data arrives.
+
+ * platform/graphics/cg/ImageSourceCG.cpp:
+ (WebCore::ImageSource::setData):
+
+2010-04-21 Marcus Bulach <bulach@chromium.org>
+
+ Reviewed by Nate Chapin.
+
+ EventSource needs to be marked as an ActiveDomType.
+ https://bugs.webkit.org/show_bug.cgi?id=37857
+ Existing layout tests (fast/eventsource and http/tests/eventsource/) should pass when compiling with eventsource enabled.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/V8DOMWrapper.cpp:
+ * bindings/v8/custom/V8EventSourceConstructor.cpp:
+ (WebCore::V8EventSource::constructorCallback):
+
+2010-04-21 Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
+
+ Reviewed by Nikolas Zimmermann.
+
+ Add missing includes to platform/posix/FileSystemPOSIX.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=37861
+
+ No behavior changes, so no new tests were added.
+
+ * platform/posix/FileSystemPOSIX.cpp:
+
+2010-04-21 No'am Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Simon Fraser.
+
+ [Qt] Fix or remove the runtime flag for accelerated compositing.
+
+ This adds a way for a chrome client to disallow layers from becoming composited,
+ even if the settings enable accelerated compositing. This is necessary for platforms
+ where different views can be applied with the same settings to the same page.
+
+ We enable an API through ChromeClient to ask the chrome-client whether or not
+ it can render composited layers, which is taken into account when the compositor
+ decides whether or not to start compositing.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37313
+
+ Pages under LayoutTests/compositing now work under QWebView, even when
+ QWebSettings::AcceleratedCompositingEnabled is on.
+
+ * page/ChromeClient.h:
+ (WebCore::ChromeClient::allowsAcceleratedCompositing):
+ * platform/qt/QWebPageClient.h:
+ (QWebPageClient::allowsAcceleratedCompositing):
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::canBeComposited):
+
+2010-04-21 Ryosuke Niwa <rniwa@webkit.org>
+
+ No review. Spurious whitespace was removed from project file.
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+2010-04-20 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [Qt] Build fix: warning on L933 of CompositeEditCommand.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=37912
+
+ Replaced the ternary operator by an if statement because GCC was confused by the use of
+ ternary operator and producing warnings on Qt builds.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * editing/CompositeEditCommand.cpp:
+ (WebCore::CompositeEditCommand::moveParagraphs):
+
+2010-04-20 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Justin Garcia.
+
+ Nested <ul>s are mishandled when converted to <ol> using execCommand('insertorderedlist')
+ https://bugs.webkit.org/show_bug.cgi?id=19539
+
+ Fixes a bug where two consecutive lists are not merged if they have been converted
+ from ordered/unordered lists inside another list.
+
+ The bug was caused by InsertListCommand::doApply where it did not merge a newly inserted
+ list element and its neighbors. This patch adds code to doApply so that after inserting
+ the list element, it updates previousList and nextList to the outermost list elements around
+ insertionPos under the same enclosing list. Because the next and the previous list elements
+ are not necessarily visually next to the newly inserted element before moveParagraph moves
+ the paragraph into the new list element, doApply merges lists after moveParagraph is called.
+
+ Test: editing/execCommand/insert-lists-inside-another-list.html
+
+ * editing/InsertListCommand.cpp:
+ (WebCore::InsertListCommand::doApply): Modified as described above
+ * editing/htmlediting.cpp:
+ (WebCore::outermostEnclosingList): Added rootNode. Returns the outermost list element,
+ which is a descendent of rootNode.
+ * editing/htmlediting.h:
+
+2010-04-20 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37776
+ <rdar://problem/7877716> REGRESSION: When using dvorak, keydown/keyup reports qwerty keyCodes
+
+ * platform/cocoa/KeyEventCocoa.mm: (WebCore::windowsKeyCodeForCharCode): Re-added mapping
+ for Roman letters and punctuation.
+
+ * platform/mac/KeyEventMac.mm: (WebCore::windowsKeyCodeForKeyEvent): Improved approximation
+ of IE behavior. Keyboard layouts that change location of Roman letters (like AZERTY or Dvorak)
+ also switch their keycodes. Also, restored Safari 4 behavior for punctuation. It's difficult
+ to match Windows for punctuation exactly, because keyboard layouts make arbitrary changes
+ to their keycodes.
+
+2010-04-20 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Darin Adler and Alexey Proskuryakov.
+
+ A backslash in EUC-JP becomes to a yen sign when it is copied
+ https://bugs.webkit.org/show_bug.cgi?id=36419
+
+ Tests: editing/execCommand/transpose-backslash-with-euc.html
+ editing/pasteboard/copy-backslash-with-euc.html
+
+ * editing/Editor.cpp: Remove an unnecessary displayStringModifiedByEncoding calls.
+ (WebCore::Editor::addToKillRing):
+ * editing/TextIterator.cpp: TextIterator can use RenderText::textWithoutTranscoding and now plainText() uses this version
+ (WebCore::TextIterator::TextIterator):
+ (WebCore::TextIterator::init):
+ (WebCore::TextIterator::emitText):
+ (WebCore::plainTextToMallocAllocatedBuffer):
+ * editing/TextIterator.h:
+ (WebCore::):
+ * platform/mac/PasteboardMac.mm: Remove an unnecessary displayStringModifiedByEncoding call.
+ (WebCore::Pasteboard::writeSelection):
+ * platform/text/TextEncoding.h: Make backslashAsCurrencySymbol public.
+ * rendering/RenderText.cpp: Add RenderText::textWithoutTranscoding
+ (WebCore::RenderText::RenderText):
+ (WebCore::RenderText::updateNeedsTranscoding):
+ (WebCore::RenderText::styleDidChange):
+ (WebCore::isInlineFlowOrEmptyText):
+ (WebCore::RenderText::previousCharacter):
+ (WebCore::RenderText::setTextInternal):
+ (WebCore::RenderText::textWithoutTranscoding):
+ (WebCore::RenderText::transformText):
+ * rendering/RenderText.h:
+ * rendering/RenderTextControl.cpp: Remove an unnecessary displayStringModifiedByEncoding call.
+ (WebCore::RenderTextControl::setInnerTextValue):
+ (WebCore::RenderTextControl::finishText):
+ * rendering/RenderTextFragment.cpp:
+ (WebCore::RenderTextFragment::previousCharacter):
+ * rendering/RenderTextFragment.h:
+
+2010-04-20 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37367
+
+ Fix style violations in code generated by CodeGeneratorV8.pm.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/test/V8TestObj.cpp:
+ * bindings/v8/test/V8TestObj.h:
+
+2010-04-20 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r57924.
+ http://trac.webkit.org/changeset/57924
+ https://bugs.webkit.org/show_bug.cgi?id=37898
+
+ It broke 3-4 test on all bot (Requested by Ossy on #webkit).
+
+ * page/AbstractView.idl:
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::media):
+ * page/DOMWindow.h:
+ * page/DOMWindow.idl:
+
+2010-04-20 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Bug 37895 - Share common code from UStringImplBase with StringImpl
+ Add forwarding header.
+
+ * ForwardingHeaders/wtf/text/StringImplBase.h: Added.
+
+2010-04-20 Adam Barth <abarth@webkit.org>
+
+ Unreviewed build fix fro Chromium.
+
+ * loader/DocumentWriter.cpp:
+
+2010-04-20 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Support live edit while on a breakpoint, preserve breakpoints when adding new lines.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37820
+
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype.editScriptLine.mycallback):
+ (WebInspector.ScriptsPanel.prototype.editScriptLine):
+ * inspector/front-end/TextViewer.js:
+ (WebInspector.TextViewer.prototype._handleDoubleClick):
+ (WebInspector.TextViewer.prototype._cancelEditingLine):
+
+2010-04-20 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Factor DocumentWriter out of FrameLoader
+ https://bugs.webkit.org/show_bug.cgi?id=37175
+
+ This patch separates the begin/write/end cycle of decoding network
+ bytes and putting them into a document from the rest of the loading
+ machinery. The code and state required to write bytes into a document
+ doesn't interact very much with the rest of the loading machinery.
+
+ No tests because there is no behavior change (hopefully!).
+
+ * Android.mk:
+ * GNUmakefile.am:
+ * WebCore.base.exp:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/ScriptControllerBase.cpp:
+ (WebCore::ScriptController::executeIfJavaScriptURL):
+ * dom/Document.cpp:
+ (WebCore::Document::close):
+ * dom/ProcessingInstruction.cpp:
+ (WebCore::ProcessingInstruction::checkStyleSheet):
+ * dom/ScriptElement.cpp:
+ (WebCore::ScriptElementData::scriptCharset):
+ * html/HTMLLinkElement.cpp:
+ (WebCore::HTMLLinkElement::process):
+ * loader/DocLoader.cpp:
+ (WebCore::DocLoader::requestPreload):
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::finishedLoading):
+ (WebCore::DocumentLoader::setupForReplaceByMIMEType):
+ * loader/DocumentWriter.cpp: Added.
+ * loader/DocumentWriter.h: Added.
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::FrameLoader):
+ (WebCore::FrameLoader::init):
+ (WebCore::FrameLoader::clear):
+ (WebCore::FrameLoader::receivedFirstData):
+ (WebCore::FrameLoader::setURL):
+ (WebCore::FrameLoader::didBeginDocument):
+ (WebCore::FrameLoader::didEndDocument):
+ (WebCore::FrameLoader::willSetEncoding):
+ (WebCore::FrameLoader::addData):
+ (WebCore::FrameLoader::transitionToCommitted):
+ (WebCore::FrameLoader::open):
+ (WebCore::FrameLoader::finishedLoadingDocument):
+ (WebCore::FrameLoader::addExtraFieldsToRequest):
+ * loader/FrameLoader.h:
+ (WebCore::FrameLoader::writer):
+ (WebCore::FrameLoader::isDisplayingInitialEmptyDocument):
+ * loader/MediaDocument.cpp:
+ (WebCore::MediaDocument::replaceMediaElementTimerFired):
+ * loader/PluginDocument.cpp:
+ (WebCore::PluginTokenizer::createDocumentStructure):
+ * platform/network/FormDataBuilder.cpp:
+ (WebCore::FormDataBuilder::dataEncoding):
+ * svg/graphics/SVGImage.cpp:
+ (WebCore::SVGImage::dataChanged):
+
+2010-04-20 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ Rename window.media to window.styleMedia
+ https://bugs.webkit.org/show_bug.cgi?id=36187
+
+ It has been defined that the AbstractView media extension
+ defined in the CSSOM View spec should be renamed to styleMedia.
+ This patch does that and updates the current layout tests
+ making use of it.
+
+ * page/AbstractView.idl:
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::styleMedia):
+ * page/DOMWindow.h:
+ * page/DOMWindow.idl:
+
+2010-04-20 Timothy Hatcher <timothy@apple.com>
+
+ Fix matching of "file:///*" patterns by not trying to compare the host. The host is
+ irrelevant for file URLs.
+
+ Also fix comparisons to be case insensitive.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37889
+
+ Reviewed by Dave Hyatt.
+
+ * page/UserContentURLPattern.cpp:
+ (WebCore::UserContentURLPattern::parse): Use equalIgnoringCase when comparing for "file" schemes.
+ (WebCore::UserContentURLPattern::matches): Use equalIgnoringCase when comparing schemes. Only call
+ matchesHost if the scheme isn't "file".
+ (WebCore::UserContentURLPattern::matchesHost): Call equalIgnoringCase when comparing hosts. The endsWith
+ was already doing a case-insensitive compare, so existing tests worked though this path.
+
+2010-04-20 Justin Schuh <jschuh@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Invalid cast due to <video> inside <foreignObject> inside <svg> inside <img>
+ https://bugs.webkit.org/show_bug.cgi?id=37331
+
+ Added a setting to enable/disable media per-page and have the SVGImage
+ disable media for its dummy page. Also found and fixed a related bad
+ cast in the V8 bindings (JSC had a custom wrapper for this already).
+
+ Tests: media/svg-as-image-with-media-blocked.html
+
+ * dom/make_names.pl: Added media enabled check and V8 cast wrapper
+ * page/Settings.cpp: Added m_isMediaEnabled (defaults to true)
+ (WebCore::Settings::Settings):
+ (WebCore::Settings::setMediaEnabled):
+ * page/Settings.h:
+ (WebCore::Settings::isMediaEnabled):
+ * svg/graphics/SVGImage.cpp: Disables media in dummy page
+ (WebCore::SVGImage::dataChanged):
+
+2010-04-19 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ Spatial Navigation: at @updateFocusCandidateIfCloser make an assignment shortcut when FocusCandidate is null
+ https://bugs.webkit.org/show_bug.cgi?id=37802
+
+ In updateFocusCandidateIfCloser method, we do all bail out checks in the begining of
+ the method body. If after those bail out checks, no "best FocusCandidate" has been taken
+ yet (i.e. focusCandidate.isNull() == true), we can safely take the current candidate,
+ and exit earlier.
+
+ No behavior change, it is just a safe assignment shortcut.
+
+ * page/FocusController.cpp:
+ (WebCore::updateFocusCandidateIfCloser):
+
+2010-04-20 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Hook compositing layers together across iframes
+ https://bugs.webkit.org/show_bug.cgi?id=37878
+
+ First step: if an iframe's document goes into compositing mode, also throw the parent
+ document into compositing mode (all the way up to the root). This is required both
+ to preserve layering (since parent document content can obscure iframe content),
+ and so that we can eventually hook the layer trees together.
+
+ Test: compositing/iframes/composited-iframe.html
+
+ * rendering/RenderIFrame.h:
+ * rendering/RenderIFrame.cpp:
+ (WebCore::RenderIFrame::requiresLayer): In order to make an iframe composited, it also has to have
+ a RenderLayer, so must return |true| from requiresLayer().
+ (WebCore::RenderIFrame::requiresAcceleratedCompositing): Returns true if the content document
+ is in compositing mode.
+ (WebCore::RenderIFrame::isRenderIFrame): Required so that RenderLayerCompositor can check
+ if a renderer is an iframe.
+ (WebCore::toRenderIFrame): Required so that RenderLayerCompositor can cast to a RenderIFrame.
+
+ * rendering/RenderLayerCompositor.h:
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::enableCompositingMode): Call out to the RenderView when
+ the compositing mode changes, so that the parent document can update its compositing status.
+ (WebCore::RenderLayerCompositor::requiresCompositingLayer): Call requiresCompositingForIFrame().
+ (WebCore::RenderLayerCompositor::requiresCompositingForIFrame): Check to see if the iframe
+ wants to be composited.
+
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::isRenderIFrame): Base class returns false.
+
+ * rendering/RenderView.h:
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::compositingStateChanged): New method that allows an iframe to notify
+ its parent document that a recalcStyle is required, to update compositing state.
+
+2010-04-20 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (build fix).
+ Speculative tiger build fix.
+
+ * WebCore.NPAPI.exp:
+ * WebCore.PluginHostProcess.exp:
+ * WebCore.base.exp:
+
+2010-04-20 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: add basic script editing capabilities to the front-end.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37875
+
+ * bindings/js/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::setBreakpoint):
+ (WebCore::ScriptDebugServer::removeBreakpoint):
+ * inspector/front-end/ScriptView.js:
+ (WebInspector.ScriptView):
+ (WebInspector.ScriptView.prototype._editLine):
+ (WebInspector.ScriptView.prototype._editLineComplete):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
+ (WebInspector.ScriptsPanel.prototype.canEditScripts):
+ (WebInspector.ScriptsPanel.prototype.editScriptLine):
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame):
+ (WebInspector.SourceFrame.prototype.updateContent):
+ (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
+ * inspector/front-end/TextEditorHighlighter.js:
+ (WebInspector.TextEditorHighlighter):
+ (WebInspector.TextEditorHighlighter.prototype.reset):
+ * inspector/front-end/TextEditorModel.js:
+ (WebInspector.TextEditorModel.prototype.copyRange):
+ * inspector/front-end/TextViewer.js:
+ (WebInspector.TextViewer):
+ (WebInspector.TextViewer.prototype.set editCallback):
+ (WebInspector.TextViewer.prototype._buildChunks):
+ (WebInspector.TextViewer.prototype._handleKeyDown):
+ (WebInspector.TextViewer.prototype._handleDoubleClick):
+ (WebInspector.TextViewer.prototype._commitEditingLine):
+ (WebInspector.TextViewer.prototype._cancelEditingLine):
+ * inspector/front-end/inspector.js:
+ (WebInspector.documentKeyDown):
+ (WebInspector.log.logMessage):
+ (WebInspector.log):
+ (WebInspector.isEditingAnyField):
+ (WebInspector.startEditing.cleanUpAfterEditing):
+
+2010-04-20 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Add forwarding header.
+
+ * ForwardingHeaders/runtime/RopeImpl.h: Added.
+
+2010-04-20 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Bug 37828 - Move WebCore's String classes to WTF
+
+ Move these classes up to WTF so they are available to all clients of WTF (in
+ particular JSC).
+
+ As a first patch, making the most minimal change possible, since this patch
+ could easily grow rather large since we'll have to change every class forward
+ declaration ( e.g. every "namespace WebCore { class String; }" much change to
+ "namespace WTF { class String; }").
+
+ Moving the files, but leaving the classes logically in the WebCore namespace -
+ which is technically a layering violation - I'll come back and fix this up in a
+ subsequent patch.
+
+ * Android.mk:
+ * ForwardingHeaders/wtf/StaticConstructors.h: Added.
+ * ForwardingHeaders/wtf/text/AtomicString.h: Added.
+ * ForwardingHeaders/wtf/text/AtomicStringImpl.h: Added.
+ * ForwardingHeaders/wtf/text/StringBuffer.h: Added.
+ * ForwardingHeaders/wtf/text/StringHash.h: Added.
+ * ForwardingHeaders/wtf/text/StringImpl.h: Added.
+ * ForwardingHeaders/wtf/text/WTFString.h: Added.
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * css/MediaFeatureNames.cpp:
+ * dom/QualifiedName.cpp:
+ * dom/make_names.pl:
+ * platform/StaticConstructors.h: Removed.
+ * platform/text/AtomicString.cpp: Removed.
+ * platform/text/AtomicString.h:
+ * platform/text/AtomicStringImpl.h:
+ * platform/text/PlatformString.h:
+ * platform/text/String.cpp:
+ * platform/text/StringHash.h:
+ * platform/text/StringImpl.cpp: Removed.
+ * platform/text/StringImpl.h:
+
+2010-04-20 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Change a parameter type of chooseIconForFiles()
+ https://bugs.webkit.org/show_bug.cgi?id=37504
+
+ Change PassRefPtr<FileChooser> parameter of chooseIconForFiles()
+ to FileChooser*. Though an implementation of chooseIconForFiles()
+ might have ownership of the FileChooser instance, we don't need to
+ use PassRefPtr<> in this case.
+
+ * loader/EmptyClients.h:
+ (WebCore::EmptyChromeClient::chooseIconForFiles):
+ * page/Chrome.cpp:
+ (WebCore::Chrome::chooseIconForFiles):
+ * page/Chrome.h:
+ * page/ChromeClient.h:
+
+2010-04-20 Diego Escalante Urrelo <descalante@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ [Gtk] Evaluate and create tests for all the AtkRole's implemented by
+ WebKitGtk
+ https://bugs.webkit.org/show_bug.cgi?id=34449
+
+ Implement ATK_ROLE_FORM.
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (webkit_accessible_get_role):
+
+2010-04-20 Martin Robinson <mrobinson@webkit.org>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ [GTK] Enable DOM clipboard and drag-and-drop access
+ https://bugs.webkit.org/show_bug.cgi?id=30623
+
+ Move most of the PasteboardHelper logic into WebCore. This helps
+ prepare for WebKit2 and leads to a clearer separation of concerns
+ between the WebKit and WebCore layers.
+
+ No new tests as functionality has not changed.
+
+ * GNUmakefile.am: Add PastboardHelper.cpp to list of sources.
+ * platform/Pasteboard.h: Added a getter for the PasteboardHelper and made the member private.
+ * platform/gtk/PasteboardGtk.cpp: Update PasteboardHelper method calls to use new naming.
+ (WebCore::clipboard_get_contents_cb): Ditto.
+ (WebCore::Pasteboard::helper): Added, member is now private.
+ (WebCore::Pasteboard::writeURL): Ditto.
+ (WebCore::Pasteboard::documentFragment): Update to reflect method renaming.
+ (WebCore::Pasteboard::plainText): Ditto.
+ * platform/gtk/PasteboardHelper.cpp: Added.
+ (WebCore::PasteboardHelper::PasteboardHelper): Added.
+ (WebCore::PasteboardHelper::~PasteboardHelper): Added.
+ (WebCore::PasteboardHelper::initializeTargetList): Added, originally from WebKit.
+ (WebCore::widgetFromFrame): Added helper function.
+ (WebCore::PasteboardHelper::getCurrentClipboard): Added, originally from WebKit.
+ (WebCore::PasteboardHelper::getClipboard): Ditto.
+ (WebCore::PasteboardHelper::getPrimarySelectionClipboard): Ditto.
+ (WebCore::PasteboardHelper::targetList): Ditto.
+ (WebCore::PasteboardHelper::fillSelectionData): Ditto.
+ (WebCore::PasteboardHelper::targetListForDataObject): Ditto.
+ (WebCore::getClipboardContentsCallback): Ditto.
+ (WebCore::clearClipboardContentsCallback): Ditto.
+ (WebCore::PasteboardHelper::writeClipboardContents): Ditto.
+ * platform/gtk/PasteboardHelper.h: Moved methods from WebKit to WebCore.
+
+2010-04-20 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ backgroundColor is oddly indented in layer tree dump
+ https://bugs.webkit.org/show_bug.cgi?id=37885
+
+ The writeIndent() was mistakenly outside the LayerTreeAsTextDebug clause, causing indents
+ to be written twice.
+
+ * platform/graphics/GraphicsLayer.cpp:
+ (WebCore::GraphicsLayer::dumpProperties):
+
+2010-04-20 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject
+ https://bugs.webkit.org/show_bug.cgi?id=37741
+
+ RenderPartObject is a useless intermediate class between RenderPart and
+ RenderEmbeddedObject, and we can now remove it. Its only method, viewCleared(),
+ applies to objects and embeds when the content is a FrameView, so can move
+ to RenderEmbeddedObject.
+
+ * Android.mk:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * rendering/RenderEmbeddedObject.cpp:
+ (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
+ (WebCore::RenderEmbeddedObject::requiresLayer):
+ (WebCore::RenderEmbeddedObject::paint):
+ (WebCore::RenderEmbeddedObject::viewCleared):
+ * rendering/RenderEmbeddedObject.h:
+ * rendering/RenderFrameBase.h:
+ * rendering/RenderPart.cpp:
+ (WebCore::RenderPart::RenderPart):
+ * rendering/RenderPart.h:
+ * rendering/RenderPartObject.cpp: Removed.
+ * rendering/RenderPartObject.h: Removed.
+
+2010-04-20 Robin Cao <robin.webkit@gmail.com>
+
+ Reviewed by Dirk Schulze.
+
+ SVG no AnimateColor for stroke or fill if they are set to none on target.
+ https://bugs.webkit.org/show_bug.cgi?id=36718
+
+ SVGAnimateElement::resetToBaseValue reset 'm_propertyType' in the process of animation.
+ This will cause problems when attributes 'fill' and 'stroke' have the value 'none', because in this case
+ the property type determined by base value may be different from the one determined by 'fromTo' values.
+
+ No new tests. The test suite in svg/animation is not working for target element with attribute 'fill' set to 'none'.
+ Now animateColor on target element with attributes 'fill' and 'stroke' set to 'none' is possible.
+
+ * svg/SVGAnimateElement.cpp:
+ (WebCore::SVGAnimateElement::calculateFromAndToValues):
+ (WebCore::SVGAnimateElement::resetToBaseValue):
+
+2010-04-20 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r57892.
+ http://trac.webkit.org/changeset/57892
+ https://bugs.webkit.org/show_bug.cgi?id=37864
+
+ Caused an assertion in Mac builds (Requested by smfr on
+ #webkit).
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * editing/Editor.cpp:
+ (WebCore::Editor::insideVisibleArea):
+ * page/Frame.cpp:
+ (WebCore::Frame::ownerRenderer):
+ * page/Frame.h:
+ * page/FrameView.cpp:
+ (WebCore::FrameView::~FrameView):
+ (WebCore::FrameView::clear):
+ (WebCore::FrameView::invalidateRect):
+ (WebCore::FrameView::createScrollbar):
+ * rendering/RenderFrameBase.h:
+ * rendering/RenderObject.h:
+
+2010-04-20 Jakub Wieczorek <jwieczorek@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ RenderListItem: change enclosingList() to only traverse the render tree.
+ https://bugs.webkit.org/show_bug.cgi?id=37319
+
+ This makes the function safe to use for items with nodes that are detached from
+ the DOM tree and simplifies the code quite a bit.
+
+ Covered by existing tests.
+
+ * rendering/RenderListItem.cpp:
+ (WebCore::enclosingList):
+ (WebCore::previousListItem):
+ (WebCore::RenderListItem::explicitValueChanged):
+
+2010-04-20 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject
+ https://bugs.webkit.org/show_bug.cgi?id=37741
+
+ Make Frame::ownerRenderer() return a RenderFrameBase* rather than a
+ RenderPart*, and add the necessary toRenderFrameBase() and isRenderFrameBase().
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * editing/Editor.cpp:
+ (WebCore::Editor::insideVisibleArea):
+ * page/Frame.cpp:
+ (WebCore::Frame::ownerRenderer):
+ * page/Frame.h:
+ * page/FrameView.cpp:
+ (WebCore::FrameView::~FrameView):
+ (WebCore::FrameView::clear):
+ (WebCore::FrameView::invalidateRect):
+ (WebCore::FrameView::createScrollbar):
+ * rendering/RenderFrameBase.h:
+ (WebCore::RenderFrameBase::isRenderFrameBase):
+ (WebCore::toRenderFrameBase):
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::isRenderFrameBase):
+
+2010-04-20 Jay Civelli <jcivelli@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [chromium] Pressing tab now closes the select popup as it should.
+ https://bugs.webkit.org/show_bug.cgi?id=37721
+
+ * platform/chromium/PopupMenuChromium.cpp:
+ (WebCore::PopupListBox::handleKeyEvent):
+
+2010-04-20 Yaar Schnitman <yaar@chromium.org>
+
+ Reviewed by Nate Chapin.
+
+ Null value should be legit value for wrapped types. This requires some cleanup in canvas which was missing built-in null argument checks;
+ https://bugs.webkit.org/show_bug.cgi?id=37810
+
+ * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
+ (WebCore::JSCanvasRenderingContext2D::drawImage): Passes ec to drawImage(3) too
+ * bindings/scripts/CodeGeneratorV8.pm: A null value is now legit value for wrapped types.
+ * bindings/v8/test/V8TestObj.cpp:
+ (WebCore::TestObjInternal::overloadedMethodCallback):
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::drawImage): Added null checks.
+ (WebCore::CanvasRenderingContext2D::createPattern): Added null checks.
+ * html/canvas/CanvasRenderingContext2D.h: Added needed raises "DOMException".
+ * html/canvas/CanvasRenderingContext2D.idl: Added needed raises "DOMException".
+
+2010-04-20 Evan Stade <estade@chromium.org>
+
+ Reviewed by David Levin.
+
+ [chromium] crash when dragging images
+ https://bugs.webkit.org/show_bug.cgi?id=37715
+
+ NULL check the return value of nativeImageForCurrentFrame(),
+ and NULL check Image just for good measure.
+
+ Tested by new DragImageTest unit test.
+
+ * platform/chromium/DragImageChromiumSkia.cpp:
+ (WebCore::createDragImageFromImage):
+
+2010-04-20 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ SVGResourceFilter needs to be moved to under Renderers
+ https://bugs.webkit.org/show_bug.cgi?id=35320
+
+ This patch adds a renderer for SVGFilterElement. SVGFilterElement is now independent
+ from the SVGResources.
+ A clean-up solves the dependencies between SVGFilterElement, the filter primitives
+ and SVGResources. This shall make the filter code more readable and better maintable.
+ The Filter primitives get dumped now, as long as they have externalRepresentation
+ implemented.
+
+ No behavior changes, so no new tests were added.
+
+ * Android.mk:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * rendering/RenderPath.cpp:
+ (WebCore::RenderPath::paint):
+ * rendering/RenderSVGContainer.cpp:
+ (WebCore::RenderSVGContainer::selfWillPaint):
+ (WebCore::RenderSVGContainer::paint):
+ * rendering/RenderSVGImage.cpp:
+ (WebCore::RenderSVGImage::paint):
+ * rendering/RenderSVGResource.h:
+ (WebCore::):
+ (WebCore::RenderSVGResource::postApplyResource):
+ * rendering/RenderSVGResourceClipper.cpp:
+ (WebCore::RenderSVGResourceClipper::applyResource):
+ * rendering/RenderSVGResourceClipper.h:
+ * rendering/RenderSVGResourceFilter.cpp: Added.
+ (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter):
+ (WebCore::RenderSVGResourceFilter::~RenderSVGResourceFilter):
+ (WebCore::RenderSVGResourceFilter::invalidateClients):
+ (WebCore::RenderSVGResourceFilter::invalidateClient):
+ (WebCore::RenderSVGResourceFilter::buildPrimitives):
+ (WebCore::RenderSVGResourceFilter::fitsInMaximumImageSize):
+ (WebCore::RenderSVGResourceFilter::applyResource):
+ (WebCore::RenderSVGResourceFilter::postApplyResource):
+ (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
+ * rendering/RenderSVGResourceFilter.h: Added.
+ (WebCore::FilterData::FilterData):
+ (WebCore::RenderSVGResourceFilter::renderName):
+ (WebCore::RenderSVGResourceFilter::filterUnits):
+ (WebCore::RenderSVGResourceFilter::primitiveUnits):
+ (WebCore::RenderSVGResourceFilter::resourceType):
+ * rendering/RenderSVGResourceMarker.h:
+ (WebCore::RenderSVGResourceMarker::applyResource):
+ * rendering/RenderSVGResourceMasker.cpp:
+ (WebCore::RenderSVGResourceMasker::applyResource):
+ * rendering/RenderSVGResourceMasker.h:
+ * rendering/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::selfWillPaint):
+ (WebCore::RenderSVGRoot::paint):
+ * rendering/RenderSVGText.cpp:
+ * rendering/SVGRenderSupport.cpp:
+ (WebCore::SVGRenderBase::prepareToRenderSVGContent):
+ (WebCore::SVGRenderBase::finishRenderSVGContent):
+ (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
+ (WebCore::deregisterFromResources):
+ * rendering/SVGRenderSupport.h:
+ * rendering/SVGRenderTreeAsText.cpp:
+ (WebCore::writeStyle):
+ (WebCore::writeSVGResource):
+ (WebCore::writeResources):
+ (WebCore::writeRenderResources):
+ * rendering/SVGRootInlineBox.cpp:
+ (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker):
+ (WebCore::SVGRootInlineBox::paint):
+ * svg/SVGFEBlendElement.cpp:
+ (WebCore::SVGFEBlendElement::build):
+ * svg/SVGFEBlendElement.h:
+ * svg/SVGFEColorMatrixElement.cpp:
+ (WebCore::SVGFEColorMatrixElement::build):
+ * svg/SVGFEColorMatrixElement.h:
+ * svg/SVGFEComponentTransferElement.cpp:
+ (WebCore::SVGFEComponentTransferElement::build):
+ * svg/SVGFEComponentTransferElement.h:
+ * svg/SVGFECompositeElement.cpp:
+ (WebCore::SVGFECompositeElement::build):
+ * svg/SVGFECompositeElement.h:
+ * svg/SVGFEDiffuseLightingElement.cpp:
+ (WebCore::SVGFEDiffuseLightingElement::build):
+ * svg/SVGFEDiffuseLightingElement.h:
+ * svg/SVGFEDisplacementMapElement.cpp:
+ (WebCore::SVGFEDisplacementMapElement::build):
+ * svg/SVGFEDisplacementMapElement.h:
+ * svg/SVGFEFloodElement.cpp:
+ (WebCore::SVGFEFloodElement::build):
+ * svg/SVGFEFloodElement.h:
+ * svg/SVGFEGaussianBlurElement.cpp:
+ (WebCore::SVGFEGaussianBlurElement::build):
+ * svg/SVGFEGaussianBlurElement.h:
+ * svg/SVGFEImageElement.cpp:
+ (WebCore::SVGFEImageElement::build):
+ * svg/SVGFEImageElement.h:
+ * svg/SVGFEMergeElement.cpp:
+ (WebCore::SVGFEMergeElement::build):
+ * svg/SVGFEMergeElement.h:
+ * svg/SVGFEMorphologyElement.cpp:
+ (WebCore::SVGFEMorphologyElement::build):
+ * svg/SVGFEMorphologyElement.h:
+ * svg/SVGFEOffsetElement.cpp:
+ (WebCore::SVGFEOffsetElement::build):
+ * svg/SVGFEOffsetElement.h:
+ * svg/SVGFESpecularLightingElement.cpp:
+ (WebCore::SVGFESpecularLightingElement::build):
+ * svg/SVGFESpecularLightingElement.h:
+ * svg/SVGFETileElement.cpp:
+ (WebCore::SVGFETileElement::build):
+ * svg/SVGFETileElement.h:
+ * svg/SVGFETurbulenceElement.cpp:
+ (WebCore::SVGFETurbulenceElement::build):
+ * svg/SVGFETurbulenceElement.h:
+ (WebCore::):
+ * svg/SVGFilterElement.cpp:
+ (WebCore::SVGFilterElement::createRenderer):
+ * svg/SVGFilterElement.h:
+ * svg/SVGFilterPrimitiveStandardAttributes.cpp:
+ (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
+ * svg/SVGFilterPrimitiveStandardAttributes.h:
+ (WebCore::SVGFilterPrimitiveStandardAttributes::isFilterEffect):
+ (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
+ * svg/SVGStyledElement.cpp:
+ (WebCore::SVGStyledElement::invalidateResources):
+ * svg/graphics/SVGResource.cpp:
+ * svg/graphics/SVGResource.h:
+ (WebCore::):
+ (WebCore::SVGResource::isPaintServer):
+ * svg/graphics/SVGResourceFilter.cpp: Removed.
+ * svg/graphics/SVGResourceFilter.h: Removed.
+ * svg/graphics/filters/SVGFEDisplacementMap.cpp:
+ (WebCore::FEDisplacementMap::externalRepresentation):
+ * svg/graphics/filters/SVGFilterBuilder.h:
+ (WebCore::SVGFilterBuilder::namedEffects):
+
+2010-04-20 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r57880.
+ http://trac.webkit.org/changeset/57880
+ https://bugs.webkit.org/show_bug.cgi?id=37846
+
+ Broke several bots, FEDisplacmentMap dumps includes pointers,
+ no one noticed. Dirk will upload a new patch later. (Requested
+ by WildFox on #webkit).
+
+ * Android.mk:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * rendering/RenderPath.cpp:
+ (WebCore::RenderPath::paint):
+ * rendering/RenderSVGContainer.cpp:
+ (WebCore::RenderSVGContainer::selfWillPaint):
+ (WebCore::RenderSVGContainer::paint):
+ * rendering/RenderSVGImage.cpp:
+ (WebCore::RenderSVGImage::paint):
+ * rendering/RenderSVGResource.h:
+ (WebCore::):
+ * rendering/RenderSVGResourceClipper.cpp:
+ (WebCore::RenderSVGResourceClipper::applyResource):
+ * rendering/RenderSVGResourceClipper.h:
+ * rendering/RenderSVGResourceFilter.cpp: Removed.
+ * rendering/RenderSVGResourceFilter.h: Removed.
+ * rendering/RenderSVGResourceMarker.h:
+ (WebCore::RenderSVGResourceMarker::applyResource):
+ * rendering/RenderSVGResourceMasker.cpp:
+ (WebCore::RenderSVGResourceMasker::applyResource):
+ * rendering/RenderSVGResourceMasker.h:
+ * rendering/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::selfWillPaint):
+ (WebCore::RenderSVGRoot::paint):
+ * rendering/RenderSVGText.cpp:
+ * rendering/SVGRenderSupport.cpp:
+ (WebCore::SVGRenderBase::prepareToRenderSVGContent):
+ (WebCore::SVGRenderBase::finishRenderSVGContent):
+ (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
+ (WebCore::deregisterFromResources):
+ * rendering/SVGRenderSupport.h:
+ * rendering/SVGRenderTreeAsText.cpp:
+ (WebCore::writeStyle):
+ (WebCore::writeSVGResource):
+ (WebCore::writeResources):
+ (WebCore::writeRenderResources):
+ * rendering/SVGRootInlineBox.cpp:
+ (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker):
+ (WebCore::SVGRootInlineBox::paint):
+ * svg/SVGFEBlendElement.cpp:
+ (WebCore::SVGFEBlendElement::build):
+ * svg/SVGFEBlendElement.h:
+ * svg/SVGFEColorMatrixElement.cpp:
+ (WebCore::SVGFEColorMatrixElement::build):
+ * svg/SVGFEColorMatrixElement.h:
+ * svg/SVGFEComponentTransferElement.cpp:
+ (WebCore::SVGFEComponentTransferElement::build):
+ * svg/SVGFEComponentTransferElement.h:
+ * svg/SVGFECompositeElement.cpp:
+ (WebCore::SVGFECompositeElement::build):
+ * svg/SVGFECompositeElement.h:
+ * svg/SVGFEDiffuseLightingElement.cpp:
+ (WebCore::SVGFEDiffuseLightingElement::build):
+ * svg/SVGFEDiffuseLightingElement.h:
+ * svg/SVGFEDisplacementMapElement.cpp:
+ (WebCore::SVGFEDisplacementMapElement::build):
+ * svg/SVGFEDisplacementMapElement.h:
+ * svg/SVGFEFloodElement.cpp:
+ (WebCore::SVGFEFloodElement::build):
+ * svg/SVGFEFloodElement.h:
+ * svg/SVGFEGaussianBlurElement.cpp:
+ (WebCore::SVGFEGaussianBlurElement::build):
+ * svg/SVGFEGaussianBlurElement.h:
+ * svg/SVGFEImageElement.cpp:
+ (WebCore::SVGFEImageElement::build):
+ * svg/SVGFEImageElement.h:
+ * svg/SVGFEMergeElement.cpp:
+ (WebCore::SVGFEMergeElement::build):
+ * svg/SVGFEMergeElement.h:
+ * svg/SVGFEMorphologyElement.cpp:
+ (WebCore::SVGFEMorphologyElement::build):
+ * svg/SVGFEMorphologyElement.h:
+ * svg/SVGFEOffsetElement.cpp:
+ (WebCore::SVGFEOffsetElement::build):
+ * svg/SVGFEOffsetElement.h:
+ * svg/SVGFESpecularLightingElement.cpp:
+ (WebCore::SVGFESpecularLightingElement::build):
+ * svg/SVGFESpecularLightingElement.h:
+ * svg/SVGFETileElement.cpp:
+ (WebCore::SVGFETileElement::build):
+ * svg/SVGFETileElement.h:
+ * svg/SVGFETurbulenceElement.cpp:
+ (WebCore::SVGFETurbulenceElement::build):
+ * svg/SVGFETurbulenceElement.h:
+ (WebCore::):
+ * svg/SVGFilterElement.cpp:
+ (WebCore::SVGFilterElement::buildFilter):
+ (WebCore::SVGFilterElement::canvasResource):
+ * svg/SVGFilterElement.h:
+ (WebCore::SVGFilterElement::rendererIsNeeded):
+ * svg/SVGFilterPrimitiveStandardAttributes.cpp:
+ (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
+ * svg/SVGFilterPrimitiveStandardAttributes.h:
+ (WebCore::SVGFilterPrimitiveStandardAttributes::isFilterEffect):
+ (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
+ * svg/SVGStyledElement.cpp:
+ (WebCore::SVGStyledElement::invalidateResources):
+ * svg/graphics/SVGResource.cpp:
+ * svg/graphics/SVGResource.h:
+ (WebCore::):
+ (WebCore::SVGResource::isFilter):
+ * svg/graphics/SVGResourceFilter.cpp: Added.
+ (WebCore::SVGResourceFilter::SVGResourceFilter):
+ (WebCore::SVGResourceFilter::~SVGResourceFilter):
+ (WebCore::SVGResourceFilter::filterBoundingBox):
+ (WebCore::shouldProcessFilter):
+ (WebCore::SVGResourceFilter::addFilterEffect):
+ (WebCore::SVGResourceFilter::fitsInMaximumImageSize):
+ (WebCore::SVGResourceFilter::prepareFilter):
+ (WebCore::SVGResourceFilter::applyFilter):
+ (WebCore::SVGResourceFilter::externalRepresentation):
+ (WebCore::getFilterById):
+ * svg/graphics/SVGResourceFilter.h: Added.
+ (WebCore::SVGResourceFilter::create):
+ (WebCore::SVGResourceFilter::resourceType):
+ (WebCore::SVGResourceFilter::setFilterResolution):
+ (WebCore::SVGResourceFilter::setHasFilterResolution):
+ (WebCore::SVGResourceFilter::filterBoundingBoxMode):
+ (WebCore::SVGResourceFilter::setFilterBoundingBoxMode):
+ (WebCore::SVGResourceFilter::effectBoundingBoxMode):
+ (WebCore::SVGResourceFilter::setEffectBoundingBoxMode):
+ (WebCore::SVGResourceFilter::filterRect):
+ (WebCore::SVGResourceFilter::setFilterRect):
+ (WebCore::SVGResourceFilter::scaleX):
+ (WebCore::SVGResourceFilter::scaleY):
+ (WebCore::SVGResourceFilter::setFilterBoundingBox):
+ (WebCore::SVGResourceFilter::builder):
+ * svg/graphics/filters/SVGFilterBuilder.h:
+
+2010-04-20 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ SVGResourceFilter needs to be moved to under Renderers
+ https://bugs.webkit.org/show_bug.cgi?id=35320
+
+ This patch adds a renderer for SVGFilterElement. SVGFilterElement is now independent
+ from the SVGResources.
+ A clean-up solves the dependencies between SVGFilterElement, the filter primitives
+ and SVGResources. This shall make the filter code more readable and better maintable.
+ The Filter primitives get dumped now, as long as they have externalRepresentation
+ implemented.
+
+ No behavior changes, so no new tests were added.
+
+ * Android.mk:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * rendering/RenderPath.cpp:
+ (WebCore::RenderPath::paint):
+ * rendering/RenderSVGContainer.cpp:
+ (WebCore::RenderSVGContainer::selfWillPaint):
+ (WebCore::RenderSVGContainer::paint):
+ * rendering/RenderSVGImage.cpp:
+ (WebCore::RenderSVGImage::paint):
+ * rendering/RenderSVGResource.h:
+ (WebCore::):
+ * rendering/RenderSVGResourceClipper.cpp:
+ (WebCore::RenderSVGResourceClipper::applyResource):
+ * rendering/RenderSVGResourceClipper.h:
+ * rendering/RenderSVGResourceFilter.cpp: Added.
+ (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter):
+ (WebCore::RenderSVGResourceFilter::~RenderSVGResourceFilter):
+ (WebCore::RenderSVGResourceFilter::invalidateClients):
+ (WebCore::RenderSVGResourceFilter::invalidateClient):
+ (WebCore::RenderSVGResourceFilter::buildPrimitives):
+ (WebCore::RenderSVGResourceFilter::fitsInMaximumImageSize):
+ (WebCore::RenderSVGResourceFilter::applyResource):
+ (WebCore::RenderSVGResourceFilter::postApplyResource):
+ (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
+ * rendering/RenderSVGResourceFilter.h: Added.
+ (WebCore::FilterData::FilterData):
+ (WebCore::RenderSVGResourceFilter::renderName):
+ (WebCore::RenderSVGResourceFilter::filterUnits):
+ (WebCore::RenderSVGResourceFilter::primitiveUnits):
+ (WebCore::RenderSVGResourceFilter::resourceType):
+ * rendering/RenderSVGResourceMarker.h:
+ (WebCore::RenderSVGResourceMarker::applyResource):
+ * rendering/RenderSVGResourceMasker.cpp:
+ (WebCore::RenderSVGResourceMasker::applyResource):
+ * rendering/RenderSVGResourceMasker.h:
+ * rendering/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::selfWillPaint):
+ (WebCore::RenderSVGRoot::paint):
+ * rendering/RenderSVGText.cpp:
+ * rendering/SVGRenderSupport.cpp:
+ (WebCore::SVGRenderBase::prepareToRenderSVGContent):
+ (WebCore::SVGRenderBase::finishRenderSVGContent):
+ (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
+ (WebCore::deregisterFromResources):
+ * rendering/SVGRenderSupport.h:
+ * rendering/SVGRenderTreeAsText.cpp:
+ (WebCore::writeStyle):
+ (WebCore::writeSVGResource):
+ (WebCore::writeResources):
+ (WebCore::writeRenderResources):
+ * rendering/SVGRootInlineBox.cpp:
+ (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker):
+ (WebCore::SVGRootInlineBox::paint):
+ * svg/SVGFEBlendElement.cpp:
+ (WebCore::SVGFEBlendElement::build):
+ * svg/SVGFEBlendElement.h:
+ * svg/SVGFEColorMatrixElement.cpp:
+ (WebCore::SVGFEColorMatrixElement::build):
+ * svg/SVGFEColorMatrixElement.h:
+ * svg/SVGFEComponentTransferElement.cpp:
+ (WebCore::SVGFEComponentTransferElement::build):
+ * svg/SVGFEComponentTransferElement.h:
+ * svg/SVGFECompositeElement.cpp:
+ (WebCore::SVGFECompositeElement::build):
+ * svg/SVGFECompositeElement.h:
+ * svg/SVGFEDiffuseLightingElement.cpp:
+ (WebCore::SVGFEDiffuseLightingElement::build):
+ * svg/SVGFEDiffuseLightingElement.h:
+ * svg/SVGFEDisplacementMapElement.cpp:
+ (WebCore::SVGFEDisplacementMapElement::build):
+ * svg/SVGFEDisplacementMapElement.h:
+ * svg/SVGFEFloodElement.cpp:
+ (WebCore::SVGFEFloodElement::build):
+ * svg/SVGFEFloodElement.h:
+ * svg/SVGFEGaussianBlurElement.cpp:
+ (WebCore::SVGFEGaussianBlurElement::build):
+ * svg/SVGFEGaussianBlurElement.h:
+ * svg/SVGFEImageElement.cpp:
+ (WebCore::SVGFEImageElement::build):
+ * svg/SVGFEImageElement.h:
+ * svg/SVGFEMergeElement.cpp:
+ (WebCore::SVGFEMergeElement::build):
+ * svg/SVGFEMergeElement.h:
+ * svg/SVGFEMorphologyElement.cpp:
+ (WebCore::SVGFEMorphologyElement::build):
+ * svg/SVGFEMorphologyElement.h:
+ * svg/SVGFEOffsetElement.cpp:
+ (WebCore::SVGFEOffsetElement::build):
+ * svg/SVGFEOffsetElement.h:
+ * svg/SVGFESpecularLightingElement.cpp:
+ (WebCore::SVGFESpecularLightingElement::build):
+ * svg/SVGFESpecularLightingElement.h:
+ * svg/SVGFETileElement.cpp:
+ (WebCore::SVGFETileElement::build):
+ * svg/SVGFETileElement.h:
+ * svg/SVGFETurbulenceElement.cpp:
+ (WebCore::SVGFETurbulenceElement::build):
+ * svg/SVGFETurbulenceElement.h:
+ (WebCore::):
+ * svg/SVGFilterElement.cpp:
+ (WebCore::SVGFilterElement::createRenderer):
+ * svg/SVGFilterElement.h:
+ * svg/SVGFilterPrimitiveStandardAttributes.cpp:
+ (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
+ * svg/SVGFilterPrimitiveStandardAttributes.h:
+ (WebCore::SVGFilterPrimitiveStandardAttributes::isFilterEffect):
+ (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
+ * svg/SVGStyledElement.cpp:
+ (WebCore::SVGStyledElement::invalidateResources):
+ * svg/graphics/SVGResource.cpp:
+ * svg/graphics/SVGResource.h:
+ (WebCore::):
+ (WebCore::SVGResource::isPaintServer):
+ * svg/graphics/SVGResourceFilter.cpp: Removed.
+ * svg/graphics/SVGResourceFilter.h: Removed.
+ * svg/graphics/filters/SVGFilterBuilder.h:
+ (WebCore::SVGFilterBuilder::namedEffects):
+
+2010-04-20 Gavin Barraclough <barraclough@apple.com>
+
+ Rubber stamped by Maciej Stachowiak (relanding r57829).
+ Added missing JS_EXPORTDATA
+
+ * ForwardingHeaders/wtf/WTFThreadData.h: Copied from WebCore/ForwardingHeaders/wtf/WTFThreadData.h.
+ * platform/ThreadGlobalData.cpp:
+ (WebCore::ThreadGlobalData::ThreadGlobalData):
+ (WebCore::ThreadGlobalData::~ThreadGlobalData):
+ * platform/ThreadGlobalData.h:
+ (WebCore::ThreadGlobalData::eventNames):
+ * platform/text/AtomicString.cpp:
+ (WebCore::AtomicStringTable::create):
+ (WebCore::AtomicStringTable::table):
+ (WebCore::AtomicStringTable::destroy):
+ (WebCore::stringTable):
+
+2010-04-20 No'am Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Antti Koivisto.
+
+ [Qt] GraphicsLayer: support fill-modes
+ https://bugs.webkit.org/show_bug.cgi?id=36216
+ Implement the CSS-animation "fill mode" concept in GraphicsLayerQt. The concept
+ enables a key-frame animation to go to the animation's starting point before the delay,
+ and/or to stay at the animation's ending point after its ended, without reverting to the default
+ value.
+ We do that by manually setting the value to keyframe-0 before the delay if fill-mode is backwards/both,
+ and manually modifying the default value to the animated value as we animate, with fill-mode forwards/both.
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::AnimationQtBase::AnimationQtBase):
+ (WebCore::TransformAnimationQt::~TransformAnimationQt):
+ (WebCore::TransformAnimationQt::applyFrame):
+ (WebCore::GraphicsLayerQt::addAnimation):
+
+2010-04-19 Leandro Pereira <leandro@profusion.mobi>
+
+ Reviewed by David Hyatt.
+
+ Add missing dummy implementations in PluginPackageNone and PluginViewNone.
+ http://webkit.org/b/37478
+
+ * plugins/PluginPackageNone.cpp:
+ (WebCore::PluginPackage::NPVersion): Add dummy implementation.
+ * plugins/PluginViewNone.cpp:
+ (WebCore::PluginView::handleFocusInEvent): Add dummy implementation.
+ (WebCore::PluginView::handleFocusOutEvent): Add dummy implementation.
+
+2010-04-19 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject
+ https://bugs.webkit.org/show_bug.cgi?id=37741
+
+ Move m_hasFallbackContent from RenderPart to RenderEmbeddedObject,
+ since it's only used for <object> fallback.
+
+ * rendering/RenderEmbeddedObject.cpp:
+ (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
+ * rendering/RenderEmbeddedObject.h:
+ (WebCore::RenderEmbeddedObject::hasFallbackContent):
+ * rendering/RenderPart.cpp:
+ (WebCore::RenderPart::RenderPart):
+ * rendering/RenderPart.h:
+
+2010-04-19 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject
+ https://bugs.webkit.org/show_bug.cgi?id=37741
+
+ Add a new renderer for iframes, named RenderIFrame. Add a new shared base class
+ between this and RenderFrame, called RenderFrameBase (following the existing HTMLFrameElementBase),
+ and move code from RenderPart and RenderPartObject into these new classes.
+
+ There should be no functionality difference with this change, so no new tests.
+
+ Fixing up renderer names in the layout tests will be done in a later pass.
+
+ Fix build systems to include the new files.
+
+ * Android.mk:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * html/HTMLIFrameElement.cpp:
+ (WebCore::HTMLIFrameElement::createRenderer):
+ * rendering/RenderEmbeddedObject.h:
+ * rendering/RenderFrame.cpp:
+ (WebCore::RenderFrame::RenderFrame):
+ * rendering/RenderFrame.h:
+ * rendering/RenderFrameBase.cpp: Added.
+ (WebCore::RenderFrameBase::RenderFrameBase):
+ (WebCore::RenderFrameBase::layoutWithFlattening):
+ * rendering/RenderFrameBase.h: Added.
+ * rendering/RenderIFrame.cpp: Added.
+ (WebCore::RenderIFrame::RenderIFrame):
+ (WebCore::RenderIFrame::calcHeight):
+ (WebCore::RenderIFrame::calcWidth):
+ (WebCore::RenderIFrame::flattenFrame):
+ (WebCore::RenderIFrame::layout):
+ * rendering/RenderIFrame.h: Added.
+ (WebCore::RenderIFrame::renderName):
+ * rendering/RenderPart.cpp:
+ * rendering/RenderPart.h:
+ * rendering/RenderPartObject.cpp:
+ * rendering/RenderPartObject.h:
+
+2010-04-19 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Bindings clean-up.
+ https://bugs.webkit.org/show_bug.cgi?id=37833
+
+ Move some WebSQLDatabases logic out of the bindings into
+ DOMWindow.cpp where it should be.
+
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::openDatabase):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::V8DOMWindow::openDatabaseCallback):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::openDatabase):
+
+2010-04-19 Kevin Ollivier <kevino@theolliviers.com>
+
+ Fix the Mac builders for now by restoring the keepAlive function.
+
+ * plugins/PluginViewNone.cpp:
+ (WebCore::PluginView::keepAlive):
+
+2010-04-19 Kevin Ollivier <kevino@theolliviers.com>
+
+ [wx] Build fix, remove a method that has been moved to PluginView.cpp.
+
+ * plugins/PluginViewNone.cpp:
+
+2010-04-19 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (rolling out r57829).
+ This broke windows.
+
+ * ForwardingHeaders/wtf/WTFThreadData.h: Removed.
+ * platform/ThreadGlobalData.cpp:
+ (WebCore::ThreadGlobalData::ThreadGlobalData):
+ (WebCore::ThreadGlobalData::~ThreadGlobalData):
+ * platform/ThreadGlobalData.h:
+ (WebCore::ThreadGlobalData::atomicStringTable):
+ * platform/text/AtomicString.cpp:
+ (WebCore::stringTable):
+
+2010-04-19 Mark Rowe <mrowe@apple.com>
+
+ Build fix.
+
+ * platform/graphics/mac/GraphicsContext3DMac.cpp:
+
+2010-04-19 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ AX: aria-haspopup needs to be exposed
+ https://bugs.webkit.org/show_bug.cgi?id=37808
+
+ Test: platform/mac/accessibility/element-haspopup.html
+
+ * accessibility/AccessibilityObject.h:
+ (WebCore::AccessibilityObject::ariaHasPopup):
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::ariaHasPopup):
+ (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
+ * accessibility/AccessibilityRenderObject.h:
+ * accessibility/mac/AccessibilityObjectWrapper.mm:
+ (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
+ (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
+
+2010-04-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix a crash when rendering <select> elements with WebKit2.
+
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::paintMenuList):
+ Set the current NSGraphicsContext before calling out to AppKit, otherwise the current graphics context
+ could point to a CGContext whose memory has been freed.
+
+2010-04-08 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Manipulating document fragment members while adding it to tree may result in loss of tree integrity.
+ https://bugs.webkit.org/show_bug.cgi?id=36031
+
+ Changes the logic of appending/inserting document fragment to first stashing all of its children
+ to a vector, then processing the vector. This avoids ghastliness that would be caused by mutation
+ events mucking with the document fragment while it's being appended/inserted.
+
+ Test: fast/dom/Node/fragment-mutation.html
+
+ * dom/ContainerNode.cpp:
+ (WebCore::targetNodes): Added method to populate a vector of nodes (targets) to be used in
+ inserting/appending operation.
+ (WebCore::ContainerNode::insertBefore): Changed to use vector-based iteration.
+ (WebCore::ContainerNode::appendChild): Ditto.
+ * dom/Node.cpp:
+ (WebCore::Node::checkReplaceChild): Cleaned up comments.
+ (WebCore::Node::checkAddChild): Ditto.
+
+2010-04-19 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Fix regression introduced in r57820.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::loadNextSourceChild): Create a new MediaPlayer instead of
+ just setting a URL on the one used for the previous <source> element. This restores
+ the behavior prior to the changes for https://bugs.webkit.org/show_bug.cgi?id=37728.
+
+2010-04-19 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37745
+ Move string uniquing tables to (new) WTFThreadData class.
+
+ Remove AtomicString's dependency on ThreadGlobalData so that we can move
+ WebCore's string classes up to WTF.
+
+ * ForwardingHeaders/wtf/WTFThreadData.h: Added.
+ * platform/ThreadGlobalData.cpp: Remove m_atomicStringTable, all wtfThreadData() to ensure threadsafely initialized.
+ (WebCore::ThreadGlobalData::ThreadGlobalData):
+ (WebCore::ThreadGlobalData::~ThreadGlobalData):
+ * platform/ThreadGlobalData.h: Remove m_atomicStringTable.
+ (WebCore::ThreadGlobalData::eventNames):
+ * platform/text/AtomicString.cpp:
+ (WebCore::AtomicStringTable::create):
+ (WebCore::AtomicStringTable::table):
+ (WebCore::AtomicStringTable::destroy):
+ (WebCore::stringTable): Access the AtomicStringTable on wtfThreadData() rather then threadGlobalData().
+
+2010-04-19 Ada Chan <adachan@apple.com>
+
+ Build fix: wrap Settings::setLocalStorageQuota() and Settings::setSessionStorageQuota()
+ in #if ENABLE(DOM_STORAGE).
+
+ * page/Settings.cpp:
+ (WebCore::Settings::Settings):
+ * page/Settings.h:
+
+2010-04-19 Dave Moore <davemoore@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Added notification when the favicons for a page are changed
+ from a script.
+ The Document object will notify the frame loader, which will
+ notify the client. Implementations of FrameLoaderClient will
+ have to add one method; dispatchDidChangeIcons().
+
+ https://bugs.webkit.org/show_bug.cgi?id=33812
+
+ Test: fast/dom/icon-url-property.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::setIconURL):
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::setIconURL):
+ * loader/DocumentLoader.h:
+ (WebCore::DocumentLoader::iconURL):
+ * loader/EmptyClients.h:
+ (WebCore::EmptyFrameLoaderClient::dispatchDidChangeIcons):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::setIconURL):
+ (WebCore::FrameLoader::didChangeIcons):
+ * loader/FrameLoader.h:
+ * loader/FrameLoaderClient.h:
+
+2010-04-19 Ada Chan <adachan@apple.com>
+
+ Reviewed by Jeremy Orlow.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37717
+ Allow clients concerned with memory consumption to set a quota on session storage
+ since the memory used won't be released until the Page is destroyed.
+ The default is noQuota, which matches the current behavior.
+
+ * WebCore.base.exp: Export Settings::setSessionStorageQuota().
+ * page/Page.cpp:
+ (WebCore::Page::sessionStorage):
+ * page/Settings.cpp:
+ (WebCore::Settings::Settings):
+ (WebCore::Settings::setSessionStorageQuota):
+ * page/Settings.h:
+ (WebCore::Settings::sessionStorageQuota):
+ * storage/StorageNamespace.cpp:
+ (WebCore::StorageNamespace::sessionStorageNamespace):
+ * storage/StorageNamespace.h:
+ * storage/StorageNamespaceImpl.cpp:
+ (WebCore::StorageNamespaceImpl::sessionStorageNamespace):
+ * storage/StorageNamespaceImpl.h:
+
+2010-04-19 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Setting media element 'src' attribute should trigger immediate load
+ https://bugs.webkit.org/show_bug.cgi?id=37728
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::attributeChanged): Schedule load every time 'src' attribute
+ changes unless it is missing.
+ (WebCore::HTMLMediaElement::prepareForLoad): Include steps 3 to 6 from loadInternal.
+ (WebCore::HTMLMediaElement::loadInternal): Steps 3 to 6 are now in prepareForLoad.
+ (WebCore::HTMLMediaElement::loadResource): MediaPlayer is now allocated in prepareForLoad
+ so the previously loading file, if any, is cancelled there.
+
+2010-04-19 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix compilation against namespaced Qt.
+
+ * platform/graphics/GraphicsLayer.h:
+ * platform/graphics/Tile.h:
+ * platform/graphics/qt/MediaPlayerPrivateQt.h:
+ * platform/network/qt/NetworkStateNotifierPrivate.h:
+
+2010-04-19 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Destroy SharedTimerQt before destruction of QCoreApplication.
+
+ To avoid unsafe situations caused by running WebCore code (through firing timers) when destruction of QCoreApplication
+ has been started, we should explicitly destroy the SharedTimerQt instance on application exit.
+ We can achieve that through installing a self-destroying slot for the QCoreApplication::aboutToQuit() signal
+ into the SharedTimerQt instance.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36832
+
+ No functional change so no new tests.
+
+ * platform/qt/SharedTimerQt.cpp:
+ (WebCore::SharedTimerQt::SharedTimerQt):
+ (WebCore::SharedTimerQt::destroy):
+ (WebCore::SharedTimerQt::inst):
+
+2010-04-19 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Make the fix for <rdar://problem/7873647> from r57759 more robust.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateHoverActiveState): Use RefPtrs for the Nodes.
+
+2010-04-19 Yury Semikhatsky <yurys@chromium.org>
+
+ Unreviewed. Chromium build fix.
+
+ * bindings/v8/JavaScriptCallFrame.h:
+
+2010-04-19 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: implement JavaScriptCallFrame that works for v8.
+ Implementing this binding for v8 allows to make evaluations on
+ call frames and protects access to the debugger context from
+ inspected context.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37755
+
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+ * bindings/js/JSJavaScriptCallFrameCustom.cpp:
+ (WebCore::JSJavaScriptCallFrame::scopeType):
+ * bindings/v8/JavaScriptCallFrame.cpp: Added.
+ (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
+ (WebCore::JavaScriptCallFrame::~JavaScriptCallFrame):
+ (WebCore::JavaScriptCallFrame::caller):
+ (WebCore::JavaScriptCallFrame::sourceID):
+ (WebCore::JavaScriptCallFrame::line):
+ (WebCore::JavaScriptCallFrame::functionName):
+ (WebCore::JavaScriptCallFrame::scopeChain):
+ (WebCore::JavaScriptCallFrame::scopeType):
+ (WebCore::JavaScriptCallFrame::thisObject):
+ (WebCore::JavaScriptCallFrame::evaluate):
+ * bindings/v8/JavaScriptCallFrame.h: Added.
+ (WebCore::JavaScriptCallFrame::create):
+ * bindings/v8/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::currentCallFrame):
+ * bindings/v8/ScriptDebugServer.h:
+ * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
+ (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
+ * bindings/v8/custom/V8JavaScriptCallFrameCustom.cpp: Added.
+ (WebCore::V8JavaScriptCallFrame::evaluateCallback):
+ (WebCore::V8JavaScriptCallFrame::scopeChainAccessorGetter):
+ (WebCore::V8JavaScriptCallFrame::scopeTypeCallback):
+ (WebCore::V8JavaScriptCallFrame::thisObjectAccessorGetter):
+ (WebCore::V8JavaScriptCallFrame::typeAccessorGetter):
+ * inspector/JavaScriptCallFrame.idl:
+ * inspector/front-end/InjectedScript.js:
+ (injectedScriptConstructor.):
+
+2010-04-19 Jessie Berlin <jberlin@webkit.org>
+
+ Rubber Stamped by Adam Roben
+
+ Chromium Release Build Fix.
+
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::pseudoId):
+ In the case where the DATALIST is not enabled, fall through to NOPSEUDO instead of omitting PseudoInputListButton entirely from the switch.
+
+2010-04-19 Jessie Berlin <jberlin@webkit.org>
+
+ Reviewed by Dave Hyatt.
+
+ First steps towards fixing bug 24021 - pseudo-element styles not accessible / retrievable via DOM methods.
+ https://bugs.webkit.org/show_bug.cgi?id=24021
+
+ Allows access to the computed styles for the pseudo-elements through the second argument to getComputedStyle.
+ This approach does not provide the correct values for 'length' properties and does not work for the ':selection' pseudo-element and will instead return results similiar to those returned by Firefox. This approach also requires waiting until at least one iteration of a hardware accelerated composited animation to return the correct values for the "opacity" and "transform" properties of a pseudo-element associated with the element being animated.
+ Those values need to be retrieved from the renderer for the pseudo-element as opposed to the cached RenderStyle for the element on which the pseudo-element is defined, which is further complicated by the fact that not all elements have renderers.
+
+ Test: fast/css/getComputedStyle/getComputedStyle-with-pseudo-element.html
+
+ * WebCore.base.exp:
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::CSSComputedStyleDeclaration::CSSComputedStyleDeclaration):
+ Parse the and store the pseudo-element specifier from the string provided by the user.
+ (WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword):
+ Get the computed style for the pseudo-element if it has been specified.
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ Get the computed style for the pseudo-element if it has been specified, with a FIXME noting that the values returned for the "opacity" and "transform" properties of a pseudo-element associated with an element being animated and using hardware accelerated compositing will not be correct until after the first iteration of the animation.
+ (WebCore::CSSComputedStyleDeclaration::length):
+ Get the computed style for the pseudo-element if it has been specified.
+ (WebCore::CSSComputedStyleDeclaration::cssPropertyMatches):
+ Ditto.
+ * css/CSSComputedStyleDeclaration.h:
+ (WebCore::computedStyle):
+ Take into consideration the pseudo-element.
+
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::pseudoId):
+ Return the PseudoId that corresponds to the given PseudoType. If there is no corresponding PseudoId, returns NOPSEUDO.
+ (WebCore::nameToPseudoTypeMap):
+ Create and return the mapping between string names and PseudoTypes.
+ (WebCore::CSSSelector::parsePseudoType):
+ Parse and the given string into a PseudoType.
+ (WebCore::CSSSelector::extractPseudoType):
+ Refactored to use parsePseudoType.
+ * css/CSSSelector.h:
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
+ Refactored to use pseudoId.
+
+ * dom/Element.cpp:
+ (WebCore::Element::computedStyle):
+ If the pseudo-element is specified, then return the cached RenderStyle for that PseudoId. Added a FIXME to find the actual renders of the pseudo-elements instead of just the cached RenderStyle of the RenderStyle for the associated element.
+ * dom/Element.h:
+ (WebCore::Element::virtualComputedStyle):
+ Because Element::computedStyle is used so often, don't make it virtual. Instead, provide a virtualComputedStyle method in the Node.h class andmake computedStyle non-virtual. That way the Element version and the Node version of computedStyle will have the same name and look the same at the call site, but the Element version will be more efficient.
+
+ * dom/Node.h:
+ (WebCore::Node::computedStyle):
+ Ditto.
+ * dom/Node.cpp:
+ (WebCore::Node::virtualComputedStyle):
+ Get the computed style for the pseudo-element if it has been specified.
+
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::getComputedStyle):
+ Ditto.
+
+2010-04-18 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] Fix JavaScriptCore's include path for WinCE builds
+
+ https://bugs.webkit.org/show_bug.cgi?id=36751
+
+ * WebCore.pro:
+
+2010-04-17 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37720
+ <rdar://problem/7873752> HTMLFrameSetElement-window-eventListener-attributes.html sometimes
+ crashes on SnowLeopard Release
+
+ Tests:
+ * fast/dom/Window/HTMLBodyElement-window-eventListener-attributes.html:
+ * fast/dom/Window/HTMLFrameSetElement-window-eventListener-attributes.html:
+
+ * bindings/scripts/CodeGeneratorJS.pm: Use global object as a wrapper for window event
+ listeners set via document.body. The body wrapper can go away if nothing else references it.
+
+ * html/HTMLBodyElement.idl: Override listeners that exist on Element with custom implementations,
+ because we need to use window object as a wrapper, not the element. Marked all window event
+ listeners as such for code generator.
+
+ * html/HTMLFrameSetElement.idl: Ditto.
+
+2010-04-17 Juan C. Montemayor <jmonte03@cs.tufts.edu>
+
+ Reviewed by Joseph Pecoraro.
+
+ Databases pane doesn't recognize table creation/deletion
+ https://bugs.webkit.org/show_bug.cgi?id=20219
+
+ * inspector/front-end/DatabaseQueryView.js:
+ (WebInspector.DatabaseQueryView.prototype._queryFinished):
+
+2010-04-17 Yaar Schnitman <yaar@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Auto-generate V8 bindings for canvas.* overloads
+ https://bugs.webkit.org/show_bug.cgi?id=37453
+
+ * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: Deleted custom code that is now auto-generated.
+ * bindings/scripts/CodeGeneratorV8.pm: Not generating custom signatures for overloaded methods and accepting Object as a string input.
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::drawImage): Added missing 9-arguments overloads for drawImage.
+ * html/canvas/CanvasRenderingContext2D.h:
+ * html/canvas/CanvasRenderingContext2D.idl: Overloaded methods defined (V8 only).
+
+2010-04-17 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: move JavaScriptCallFrame.{h,cpp} to WebCore/bindings/js
+
+ https://bugs.webkit.org/show_bug.cgi?id=37740
+
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSBindingsAllInOne.cpp:
+ * bindings/js/JavaScriptCallFrame.cpp: Renamed from WebCore/inspector/JavaScriptCallFrame.cpp.
+ (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
+ (WebCore::JavaScriptCallFrame::caller):
+ (WebCore::JavaScriptCallFrame::scopeChain):
+ (WebCore::JavaScriptCallFrame::dynamicGlobalObject):
+ (WebCore::JavaScriptCallFrame::functionName):
+ (WebCore::JavaScriptCallFrame::type):
+ (WebCore::JavaScriptCallFrame::thisObject):
+ (WebCore::JavaScriptCallFrame::evaluate):
+ * bindings/js/JavaScriptCallFrame.h: Renamed from WebCore/inspector/JavaScriptCallFrame.h.
+ (WebCore::JavaScriptCallFrame::create):
+ (WebCore::JavaScriptCallFrame::invalidate):
+ (WebCore::JavaScriptCallFrame::isValid):
+ (WebCore::JavaScriptCallFrame::sourceID):
+ (WebCore::JavaScriptCallFrame::line):
+ (WebCore::JavaScriptCallFrame::update):
+ * inspector/InjectedScriptHost.h:
+ * inspector/InspectorController.h:
+
+2010-04-17 Vangelis Kokkevis <vangelis@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Adding definition of GLES2Context class.
+ https://bugs.webkit.org/show_bug.cgi?id=37541
+
+ No new functionality implemented yet, no tests.
+
+ * WebCore.gypi: Added GLES2Context.h
+ * platform/chromium/GLES2Context.h: Added.
+
+2010-04-17 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Crash while handling SVG font in the wrong namespace imported with @font-face
+ https://bugs.webkit.org/show_bug.cgi?id=18862
+
+ Test: fast/invalid/invalidSVGFont.html
+
+ * loader/CachedFont.cpp:
+ (WebCore::CachedFont::getSVGFontById): Make sure we really get an SVGFontElement by using
+ getElementsByNameNS: the element factory chooses which element to create based on both
+ localName and namespace.
+
+2010-04-16 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r57770.
+ http://trac.webkit.org/changeset/57770
+ https://bugs.webkit.org/show_bug.cgi?id=37746
+
+ 8 test cases crashed (Requested by Ossy on #webkit).
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::AnimationQtBase::AnimationQtBase):
+ (WebCore::TransformAnimationQt::~TransformAnimationQt):
+ (WebCore::TransformAnimationQt::applyFrame):
+ (WebCore::OpacityAnimationQt::applyFrame):
+ (WebCore::GraphicsLayerQt::addAnimation):
+
+2010-04-16 Daniel Bates <dbates@rim.com>
+
+ Reviewed by Adam Treat.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36312
+
+ Adds support for the viewport meta tag. The code is largely derived in whole
+ or in part from the WebCore-528.15 source published as part of the iPhone 3.1.3
+ source code <http://www.opensource.apple.com/source/WebCore/WebCore-528.15/>.
+
+ * Android.mk: Added file ViewportArguments.cpp.
+ * GNUmakefile.am: Added files ViewportArguments.cpp and ViewportArguments.h.
+ * WebCore.gypi: Ditto.
+ * WebCore.pro: Ditto.
+ * WebCore.vcproj/WebCore.vcproj: Ditto.
+ * WebCore.xcodeproj/project.pbxproj: Ditto.
+ * dom/Document.cpp:
+ (WebCore::isSeparator): Added.
+ (WebCore::Document::processArguments): Added.
+ (WebCore::Document::processViewport): Added.
+ * dom/Document.h:
+ * dom/ViewportArguments.cpp: Added.
+ (WebCore::setViewportFeature):
+ (WebCore::viewportErrorMessageTemplate):
+ (WebCore::viewportErrorMessageLevel):
+ (WebCore::reportViewportWarning):
+ * dom/ViewportArguments.h: Added.
+ (WebCore::):
+ (WebCore::ViewportArguments::):
+ (WebCore::ViewportArguments::ViewportArguments):
+ (WebCore::ViewportArguments::hasCustomArgument):
+ * html/HTMLMetaElement.cpp:
+ (WebCore::HTMLMetaElement::process): Modified to call Document::processViewport.
+ * page/ChromeClient.h:
+ (WebCore::ChromeClient::didReceiveViewportArguments): Added.
+
+2010-04-16 No'am Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Antti Koivisto.
+
+ [Qt] GraphicsLayer: support fill-modes
+ https://bugs.webkit.org/show_bug.cgi?id=36216
+ Implement the CSS-animation "fill mode" concept in GraphicsLayerQt. The concept
+ enables a key-frame animation to go to the animation's starting point before the delay,
+ and/or to stay at the animation's ending point after its ended, without reverting to the default
+ value.
+ We do that by manually setting the value to keyframe-0 before the delay if fill-mode is backwards/both,
+ and manually modifying the default value to the animated value as we animate, with fill-mode forwards/both.
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::AnimationQtBase::AnimationQtBase):
+ (WebCore::TransformAnimationQt::~TransformAnimationQt):
+ (WebCore::TransformAnimationQt::applyFrame):
+ (WebCore::GraphicsLayerQt::addAnimation):
+
+2010-04-16 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (arm build fix).
+
+ * bindings/js/JSDesktopNotificationsCustom.cpp:
+ (WebCore::JSNotification::addEventListener):
+ (WebCore::JSNotification::removeEventListener):
+
+2010-04-16 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ [v8] In Workers, script errors right after close() are not delivered to the Worker.onerror.
+ https://bugs.webkit.org/show_bug.cgi?id=37691
+
+ Existing worker-close.html will now work in Chromium.
+
+ * bindings/v8/V8Utilities.cpp:
+ (WebCore::getScriptExecutionContext): Stop using proxy() to just retrieve WorkerContext which should be always available.
+ * bindings/v8/WorkerContextExecutionProxy.h: removed workerContext() accessor which moved to WorkerScriptController.
+ * bindings/v8/WorkerScriptController.h:
+ (WebCore::WorkerScriptController::workerContext): Added, to be able to pull WorkerContext out from the controller.
+
+2010-04-16 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37735
+ Remove JSC specific code from WebCore::AtomicString
+
+ Add generic constructor/add/find methods that take a UChar* & length, along
+ with a known existing hash for the string.
+ This removes the remaining JSC specific code from platform/text.
+
+ * bindings/js/JSAbstractWorkerCustom.cpp:
+ (WebCore::JSAbstractWorker::addEventListener):
+ (WebCore::JSAbstractWorker::removeEventListener):
+ * bindings/js/JSDOMApplicationCacheCustom.cpp:
+ (WebCore::JSDOMApplicationCache::addEventListener):
+ (WebCore::JSDOMApplicationCache::removeEventListener):
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::ustringToAtomicString):
+ (WebCore::identifierToAtomicString):
+ (WebCore::findAtomicString):
+ * bindings/js/JSDOMBinding.h:
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::childFrameGetter):
+ (WebCore::JSDOMWindow::getOwnPropertySlot):
+ (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
+ (WebCore::JSDOMWindow::open):
+ (WebCore::JSDOMWindow::addEventListener):
+ (WebCore::JSDOMWindow::removeEventListener):
+ * bindings/js/JSElementCustom.cpp:
+ (WebCore::JSElement::setAttribute):
+ (WebCore::JSElement::setAttributeNS):
+ * bindings/js/JSEventSourceCustom.cpp:
+ (WebCore::JSEventSource::addEventListener):
+ (WebCore::JSEventSource::removeEventListener):
+ * bindings/js/JSHTMLAllCollectionCustom.cpp:
+ (WebCore::getNamedItems):
+ (WebCore::JSHTMLAllCollection::canGetItemsForName):
+ * bindings/js/JSHTMLCollectionCustom.cpp:
+ (WebCore::getNamedItems):
+ (WebCore::JSHTMLCollection::canGetItemsForName):
+ * bindings/js/JSHTMLDocumentCustom.cpp:
+ (WebCore::JSHTMLDocument::canGetItemsForName):
+ * bindings/js/JSHTMLFormElementCustom.cpp:
+ (WebCore::JSHTMLFormElement::canGetItemsForName):
+ (WebCore::JSHTMLFormElement::nameGetter):
+ * bindings/js/JSHTMLFrameSetElementCustom.cpp:
+ (WebCore::JSHTMLFrameSetElement::canGetItemsForName):
+ (WebCore::JSHTMLFrameSetElement::nameGetter):
+ * bindings/js/JSMessageEventCustom.cpp:
+ (WebCore::JSMessageEvent::initMessageEvent):
+ * bindings/js/JSMessagePortCustom.cpp:
+ (WebCore::JSMessagePort::addEventListener):
+ (WebCore::JSMessagePort::removeEventListener):
+ * bindings/js/JSMimeTypeArrayCustom.cpp:
+ (WebCore::JSMimeTypeArray::canGetItemsForName):
+ (WebCore::JSMimeTypeArray::nameGetter):
+ * bindings/js/JSNodeCustom.cpp:
+ (WebCore::JSNode::addEventListener):
+ (WebCore::JSNode::removeEventListener):
+ * bindings/js/JSNodeListCustom.cpp:
+ (WebCore::JSNodeList::canGetItemsForName):
+ (WebCore::JSNodeList::nameGetter):
+ * bindings/js/JSPluginArrayCustom.cpp:
+ (WebCore::JSPluginArray::canGetItemsForName):
+ (WebCore::JSPluginArray::nameGetter):
+ * bindings/js/JSPluginCustom.cpp:
+ (WebCore::JSPlugin::canGetItemsForName):
+ (WebCore::JSPlugin::nameGetter):
+ * bindings/js/JSPopStateEventCustom.cpp:
+ (WebCore::JSPopStateEvent::initPopStateEvent):
+ * bindings/js/JSSVGElementInstanceCustom.cpp:
+ (WebCore::JSSVGElementInstance::addEventListener):
+ (WebCore::JSSVGElementInstance::removeEventListener):
+ * bindings/js/JSWebSocketCustom.cpp:
+ (WebCore::JSWebSocket::addEventListener):
+ (WebCore::JSWebSocket::removeEventListener):
+ * bindings/js/JSWorkerContextCustom.cpp:
+ (WebCore::JSWorkerContext::addEventListener):
+ (WebCore::JSWorkerContext::removeEventListener):
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ (WebCore::JSXMLHttpRequest::setRequestHeader):
+ (WebCore::JSXMLHttpRequest::getResponseHeader):
+ (WebCore::JSXMLHttpRequest::addEventListener):
+ (WebCore::JSXMLHttpRequest::removeEventListener):
+ * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
+ (WebCore::JSXMLHttpRequestUpload::addEventListener):
+ (WebCore::JSXMLHttpRequestUpload::removeEventListener):
+ * platform/text/AtomicString.cpp:
+ (WebCore::AtomicString::add):
+ (WebCore::AtomicString::find):
+ * platform/text/AtomicString.h:
+ (WebCore::AtomicString::AtomicString):
+
+2010-04-16 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ WebSocket crash when it receives bad header.
+ https://bugs.webkit.org/show_bug.cgi?id=37682
+
+ If name or value is not valid UTF-8, nameStr or valueStr would be
+ null string, so crashed in headers->add(nameStr, valueStr).
+ Check both nameStr and valueStr are not null string.
+ Otherwise handshake will fail.
+
+ Test: websocket/tests/bad-handshake-crash.html
+
+ * websockets/WebSocketHandshake.cpp:
+ (WebCore::WebSocketHandshake::readHTTPHeaders): check nameStr and valueStr are not null string.
+
+2010-04-16 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <rdar://problem/7873647> Crash when updating hover state
+
+ Test: fast/dynamic/hover-style-recalc-crash.html
+
+ Updating the hover state of an element caused the document to need style
+ recalc, and then updating the hover state of a link caused style recalc,
+ which changed the render tree while updateHoverActiveState() was iterating
+ over it, leading to a crash.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateHoverActiveState): Collect the nodes to be
+ updated into vectors, then update their active and hover states.
+
+2010-04-16 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Make Safari correctly allocate 5MB of DB storage to all new
+ origins.
+ https://bugs.webkit.org/show_bug.cgi?id=36671
+
+ Eric fixed the same problem in
+ DatabaseTracker::fullPathForDatabaseNoLock() in r57128, but forgot
+ to fix it in DatabaseTracker::detailsForNameAndOrigin() too.
+
+ * storage/DatabaseTracker.cpp:
+ (WebCore::DatabaseTracker::detailsForNameAndOrigin):
+
+2010-04-16 Kinuko Yasuda <kinuko@chromium.org>
+
+ Reviewed by Jian Li.
+
+ Implement FileStreamProxy that calls FileStream methods on FileThread for FileAPI
+ https://bugs.webkit.org/show_bug.cgi?id=37218
+
+ No new tests; tests will be added when we add upper layer implementations.
+
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * html/FileStream.cpp:
+ (WebCore::FileStream::stop):
+ * html/FileStream.h:
+ * html/FileStreamClient.h:
+ (WebCore::FileStreamClient::didStop):
+ * html/FileStreamProxy.cpp: Added
+ * html/FileStreamProxy.h: Added
+ * html/FileThreadTask.h: Added
+
+2010-04-16 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Bug 37730 - Remove JSC::UString dependencies from WebCore::StringImpl
+ (Following on from bug #37675).
+
+ Remove ustring() method, and constructor passed a UString.
+
+ * WebCore.base.exp:
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::stringimplToUString):
+ (WebCore::jsStringSlowCase):
+ (WebCore::ustringToString):
+ (WebCore::stringToUString):
+ (WebCore::identifierToString):
+ * bindings/js/JSDOMBinding.h:
+ (WebCore::jsString):
+ * platform/text/AtomicString.cpp:
+ (WebCore::AtomicString::operator UString):
+ * platform/text/StringImpl.cpp:
+ (WebCore::StringImpl::create):
+ * platform/text/StringImpl.h:
+
+2010-04-16 Jarkko Sakkinen <jarkko.j.sakkinen@gmail.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] WebGL is not visible when QGLWidget viewport is used
+ https://bugs.webkit.org/show_bug.cgi?id=37070
+
+ Added HostWindow parameter to the constructor of GraphicsContext3D.
+ Shared OpenGL context is initialized with parent QGLWidget.
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore::WebGLRenderingContext::create):
+ * platform/graphics/GraphicsContext3D.h:
+ * platform/graphics/mac/GraphicsContext3DMac.cpp:
+ (WebCore::GraphicsContext3D::create):
+ (WebCore::GraphicsContext3D::GraphicsContext3D):
+ * platform/graphics/qt/GraphicsContext3DQt.cpp:
+ (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
+ (WebCore::GraphicsContext3DInternal::~GraphicsContext3DInternal):
+ (WebCore::GraphicsContext3DInternal::getOwnerGLWidget):
+ (WebCore::GraphicsContext3D::create):
+ (WebCore::GraphicsContext3D::GraphicsContext3D):
+
+2010-04-16 Jarkko Sakkinen <jarkko.j.sakkinen@gmail.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] WebKit compilation fails with --3d-canvas
+ https://bugs.webkit.org/show_bug.cgi?id=37699
+
+ API for readPixels() has been changed.
+
+ * platform/graphics/qt/GraphicsContext3DQt.cpp:
+ (WebCore::GraphicsContext3D::readPixels):
+
+2010-04-16 No'am Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Antti Koivisto.
+
+ [Qt]QtLauncher crash on page with CSS 3D transform
+ https://bugs.webkit.org/show_bug.cgi?id=36859
+
+ Added a neccessary null-pointer check, lack of which created the crash circumstances.
+
+ Tested by http://css-vfx.googlecode.com/svn/trunk/snowstack/snowstack.html
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::GraphicsLayerQtImpl::flushChanges):
+
+2010-04-16 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Make sure to update the current graphics context when calling out to AppKit.
+
+ * platform/mac/ThemeMac.mm:
+ (WebCore::paintCheckbox):
+ (WebCore::paintRadio):
+
+2010-04-15 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam Weinig & Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37675
+ Remove casts/constructors to/from JSC::UString type from WebCore::String
+
+ WebCore's strings should not know about JSC::UString, this should be abstracted
+ away in the bindings. Add explicit conversion methods rather than relying on
+ overloaded cast operators / constructors being implicitly called.
+
+ This patch only changes the class String, once this has landed StringImpl, and
+ hopefully AtomicString too, should follow suit.
+
+ This patch adds:
+ WebCore::identifierToString
+ WebCore::ustringToString
+ WebCore::stringToUString
+
+ - to JSDOMBindings.h, and updates code to call these methods.
+
+ * WebCore.base.exp:
+ * WebCore.order:
+ * bindings/js/CachedScriptSourceProvider.h:
+ (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
+ * bindings/js/JSAudioConstructor.cpp:
+ (WebCore::constructAudio):
+ * bindings/js/JSCSSStyleDeclarationCustom.cpp:
+ (WebCore::JSCSSStyleDeclaration::nameGetter):
+ * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
+ (WebCore::toHTMLCanvasStyle):
+ (WebCore::JSCanvasRenderingContext2D::setFillColor):
+ (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
+ (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
+ (WebCore::JSCanvasRenderingContext2D::setShadow):
+ (WebCore::JSCanvasRenderingContext2D::fillText):
+ (WebCore::JSCanvasRenderingContext2D::strokeText):
+ * bindings/js/JSClipboardCustom.cpp:
+ (WebCore::JSClipboard::types):
+ (WebCore::JSClipboard::clearData):
+ (WebCore::JSClipboard::getData):
+ (WebCore::JSClipboard::setData):
+ * bindings/js/JSCustomXPathNSResolver.cpp:
+ (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::identifierToString):
+ (WebCore::ustringToString):
+ (WebCore::stringToUString):
+ (WebCore::valueToStringWithNullCheck):
+ (WebCore::valueToStringWithUndefinedOrNullCheck):
+ (WebCore::reportException):
+ * bindings/js/JSDOMBinding.h:
+ * bindings/js/JSDOMFormDataCustom.cpp:
+ (WebCore::JSDOMFormData::append):
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::namedItemGetter):
+ (WebCore::JSDOMWindow::setLocation):
+ (WebCore::JSDOMWindow::openDatabase):
+ * bindings/js/JSDatabaseCustom.cpp:
+ (WebCore::JSDatabase::changeVersion):
+ * bindings/js/JSDocumentCustom.cpp:
+ (WebCore::JSDocument::setLocation):
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::handleEvent):
+ * bindings/js/JSEventSourceConstructor.cpp:
+ (WebCore::constructEventSource):
+ * bindings/js/JSHTMLAllCollectionCustom.cpp:
+ (WebCore::callHTMLAllCollection):
+ * bindings/js/JSHTMLCanvasElementCustom.cpp:
+ (WebCore::JSHTMLCanvasElement::getContext):
+ * bindings/js/JSHTMLCollectionCustom.cpp:
+ (WebCore::callHTMLCollection):
+ * bindings/js/JSHTMLDocumentCustom.cpp:
+ (WebCore::JSHTMLDocument::nameGetter):
+ (WebCore::documentWrite):
+ * bindings/js/JSInjectedScriptHostCustom.cpp:
+ (WebCore::InjectedScriptHost::createInjectedScript):
+ * bindings/js/JSInspectorFrontendHostCustom.cpp:
+ (WebCore::JSInspectorFrontendHost::showContextMenu):
+ * bindings/js/JSLazyEventListener.cpp:
+ (WebCore::JSLazyEventListener::initializeJSFunction):
+ * bindings/js/JSLocationCustom.cpp:
+ (WebCore::JSLocation::setHref):
+ (WebCore::JSLocation::setProtocol):
+ (WebCore::JSLocation::setHost):
+ (WebCore::JSLocation::setHostname):
+ (WebCore::JSLocation::setPathname):
+ (WebCore::JSLocation::setSearch):
+ (WebCore::JSLocation::setHash):
+ (WebCore::JSLocation::replace):
+ (WebCore::JSLocation::assign):
+ * bindings/js/JSMessageEventCustom.cpp:
+ (WebCore::JSMessageEvent::initMessageEvent):
+ * bindings/js/JSNamedNodeMapCustom.cpp:
+ (WebCore::JSNamedNodeMap::canGetItemsForName):
+ (WebCore::JSNamedNodeMap::nameGetter):
+ * bindings/js/JSOptionConstructor.cpp:
+ (WebCore::constructHTMLOptionElement):
+ * bindings/js/JSSQLResultSetRowListCustom.cpp:
+ (WebCore::JSSQLResultSetRowList::item):
+ * bindings/js/JSSQLTransactionCustom.cpp:
+ (WebCore::JSSQLTransaction::executeSql):
+ * bindings/js/JSSharedWorkerConstructor.cpp:
+ (WebCore::constructSharedWorker):
+ * bindings/js/JSStorageCustom.cpp:
+ (WebCore::JSStorage::canGetItemsForName):
+ (WebCore::JSStorage::nameGetter):
+ (WebCore::JSStorage::deleteProperty):
+ (WebCore::JSStorage::getOwnPropertyNames):
+ (WebCore::JSStorage::putDelegate):
+ * bindings/js/JSStyleSheetListCustom.cpp:
+ (WebCore::JSStyleSheetList::canGetItemsForName):
+ (WebCore::JSStyleSheetList::nameGetter):
+ * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
+ (WebCore::constructWebKitCSSMatrix):
+ * bindings/js/JSWebSocketConstructor.cpp:
+ (WebCore::constructWebSocket):
+ * bindings/js/JSWebSocketCustom.cpp:
+ (WebCore::JSWebSocket::send):
+ * bindings/js/JSWorkerConstructor.cpp:
+ (WebCore::constructWorker):
+ * bindings/js/JSWorkerContextCustom.cpp:
+ (WebCore::JSWorkerContext::importScripts):
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ (WebCore::JSXMLHttpRequest::open):
+ (WebCore::JSXMLHttpRequest::setRequestHeader):
+ (WebCore::JSXMLHttpRequest::send):
+ (WebCore::JSXMLHttpRequest::overrideMimeType):
+ * bindings/js/JSXSLTProcessorCustom.cpp:
+ (WebCore::JSXSLTProcessor::setParameter):
+ (WebCore::JSXSLTProcessor::getParameter):
+ (WebCore::JSXSLTProcessor::removeParameter):
+ * bindings/js/ScheduledAction.cpp:
+ (WebCore::ScheduledAction::create):
+ * bindings/js/ScriptCallFrame.cpp:
+ (WebCore::ScriptCallFrame::ScriptCallFrame):
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::evaluateInWorld):
+ * bindings/js/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::hasBreakpoint):
+ (WebCore::ScriptDebugServer::dispatchDidParseSource):
+ (WebCore::ScriptDebugServer::dispatchFailedToParseSource):
+ (WebCore::ScriptDebugServer::sourceParsed):
+ * bindings/js/ScriptEventListener.cpp:
+ (WebCore::getEventListenerHandlerBody):
+ * bindings/js/ScriptFunctionCall.cpp:
+ (WebCore::ScriptFunctionCall::appendArgument):
+ (WebCore::ScriptFunctionCall::call):
+ (WebCore::ScriptFunctionCall::construct):
+ * bindings/js/ScriptObject.cpp:
+ (WebCore::ScriptObject::set):
+ * bindings/js/ScriptProfiler.cpp:
+ (WebCore::ScriptProfiler::start):
+ (WebCore::ScriptProfiler::stop):
+ * bindings/js/ScriptString.h:
+ (WebCore::ScriptString::operator String):
+ (WebCore::ScriptString::ustring):
+ (WebCore::ScriptString::operator+=):
+ * bindings/js/ScriptValue.cpp:
+ (WebCore::ScriptValue::getString):
+ * bindings/js/ScriptValue.h:
+ (WebCore::ScriptValue::toString):
+ * bindings/js/SerializedScriptValue.cpp:
+ (WebCore::SerializedObject::set):
+ (WebCore::SerializingTreeWalker::convertIfTerminal):
+ (WebCore::DeserializingTreeWalker::putProperty):
+ * bindings/js/StringSourceProvider.h:
+ (WebCore::StringSourceProvider::StringSourceProvider):
+ * bindings/objc/WebScriptObject.mm:
+ (-[WebScriptObject callWebScriptMethod:withArguments:]):
+ (-[WebScriptObject setValue:forKey:]):
+ (-[WebScriptObject valueForKey:]):
+ (-[WebScriptObject removeWebScriptKey:]):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bridge/IdentifierRep.cpp:
+ (WebCore::IdentifierRep::get):
+ * bridge/c/c_utility.cpp:
+ (JSC::Bindings::identifierFromNPIdentifier):
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::scriptImported):
+ (WebCore::InspectorController::addProfileFinishedMessageToConsole):
+ (WebCore::InspectorController::createProfileHeader):
+ * inspector/InspectorResource.cpp:
+ (WebCore::InspectorResource::sourceString):
+ * inspector/JavaScriptCallFrame.cpp:
+ (WebCore::JavaScriptCallFrame::functionName):
+ * platform/KURL.h:
+ (WebCore::KURL::operator const String&):
+ * platform/text/AtomicString.cpp:
+ (WebCore::AtomicString::operator UString):
+ * platform/text/AtomicString.h:
+ * platform/text/PlatformString.h:
+ * platform/text/String.cpp:
+
+2010-04-16 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by David Hyatt.
+
+ Always pass a view to the AppKit drawing functions.
+ https://bugs.webkit.org/show_bug.cgi?id=37724
+
+ * platform/mac/ThemeMac.mm:
+ (WebCore::paintCheckbox):
+ (WebCore::paintRadio):
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::paintMenuList):
+ (WebCore::RenderThemeMac::paintSliderThumb):
+ (WebCore::RenderThemeMac::paintSearchField):
+ (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
+ (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
+ (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
+
+2010-04-16 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37718
+ Safari crashes with certain JavaScript charCode events in EventHandler::needsKeyboardEventDisambiguationQuirks
+
+ Test: fast/events/recorded-keydown-event.html
+
+ * dom/KeyboardEvent.cpp: (WebCore::KeyboardEvent::charCode): Check if the view (window) is
+ frameless.
+
+2010-04-16 Jian Li <jianli@chromium.org>
+
+ Reviewed by Dmitry Titov.
+
+ Update FormDataList to fix style violations in old code.
+ https://bugs.webkit.org/show_bug.cgi?id=37689
+
+ * html/FormDataList.h:
+ (WebCore::FormDataList::appendData):
+ (WebCore::FormDataList::appendBlob):
+
+2010-04-16 Anders Carlsson <andersca@apple.com>
+
+ Fix WebKit2 build.
+
+ * WebCore.base.exp:
+
+2010-04-16 Jay Civelli <jcivelli@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [chromium] Fix Mac build.
+ https://bugs.webkit.org/show_bug.cgi?id=37436
+
+ * platform/chromium/PopupMenuChromium.h:
+
+2010-04-16 Jay Civelli <jcivelli@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [chromium] Select popups would assert when destroyed.
+ https://bugs.webkit.org/show_bug.cgi?id=37436
+
+
+ * platform/chromium/PopupMenuChromium.cpp:
+ (WebCore::PopupContainer::PopupContainer):
+ (WebCore::PopupContainer::showPopup):
+ (WebCore::PopupContainer::notifyPopupHidden):
+ * platform/chromium/PopupMenuChromium.h:
+
+2010-04-16 Antonio Gomes <tonikitoo@webkit.org>
+
+ Unreviewed QtWebKit (with Qt 4.7) build fix.
+
+ Bug 37683 moved code from FontQt.cpp to FontPlatformDataQt.cpp but did not
+ renamed the variable used.
+
+ * platform/graphics/qt/FontPlatformDataQt.cpp:
+ (WebCore::FontPlatformData::FontPlatformData):
+
+2010-04-16 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Make GraphicsLayerQt always use ItemCoordinateCache, and remove ItemUsesExtendedStyleOption.
+ This aligns our implementation with the Safari implementation - layers are always uploaded
+ to textures in item units, and WebCore is responsible for the heuristics.
+
+ [Qt] GraphicsLayer: performance optimizations
+ https://bugs.webkit.org/show_bug.cgi?id=35393
+
+ No new tests. Still no FPS benchmarks available (on any platform)
+ but animations are noticably better.
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
+ (WebCore::GraphicsLayerQtImpl::paint):
+ (WebCore::GraphicsLayerQtImpl::flushChanges):
+ (WebCore::TransformAnimationQt::updateState):
+
+2010-04-16 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] WebCore::Font::font() causes a QFont detach
+ https://bugs.webkit.org/show_bug.cgi?id=37683
+
+ Moved the setStyleStrategy call to FontPlatformData
+ to avoid the detach.
+
+ Thanks to Holger for spotting this.
+
+ * platform/graphics/qt/FontPlatformDataQt.cpp:
+ (WebCore::FontPlatformData::FontPlatformData):
+ * platform/graphics/qt/FontQt.cpp:
+ (WebCore::Font::font):
+
+2010-04-15 Matt Perry <mpcomplete@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Remove the check for the main frame's scheme when deciding which
+ v8 extensions to add to a script context. Instead, Chromium will
+ handle that check elsewhere to allow finer-grained control over
+ what APIs we expose to web pages.
+ https://bugs.webkit.org/show_bug.cgi?id=37681
+
+ * bindings/v8/V8DOMWindowShell.cpp:
+ (WebCore::V8DOMWindowShell::createNewContext):
+
+2010-04-15 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Antti Koivisto.
+
+ No default selection for <select multiple> menu lists.
+ https://bugs.webkit.org/show_bug.cgi?id=37530
+
+ Manual test: manual-tests/no-listbox-rendering.html
+
+ For menu lists, if the selection is not indicated by the html file, the first <option> will be
+ selected after loading the page or reseting the form. On the other hand listboxes may have no
+ element selected after loading the page or reseting the form.
+
+ When NO_LISTBOX_RENDERING is enabled listboxes becomes menu lists. Those <select multiple>
+ that did not have selected elements, now being menu lists, will have the first <option>
+ selected. That is the behavior difference that this patch corrects.
+
+ When NO_LISTBOX_RENDERING is enabled usesMenuList() always returns true then usesMenuList() cannot
+ be used to decide about initial selection of the elements. This patch replaces (usesMenuLists())
+ by (!multiple && size <= 1) where initial selection is considered.
+
+ * dom/SelectElement.cpp:
+ (WebCore::SelectElement::recalcListItems):
+ (WebCore::SelectElement::reset):
+ * manual-tests/no-listbox-rendering.html: Added.
+
+2010-04-15 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Index validation code validates too many vertex attributes
+ https://bugs.webkit.org/show_bug.cgi?id=31892
+
+ * html/canvas/WebGLProgram.cpp:
+ (WebCore::WebGLProgram::cacheActiveAttribLocations): Cache active attribute locations for a program at linkProgram time.
+ (WebCore::WebGLProgram::getActiveAttribLocation): Get the cached attribute location.
+ (WebCore::WebGLProgram::numActiveAttribLocations): Get the number of cached attribute locations.
+ * html/canvas/WebGLProgram.h: Add attribute locations member.
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore::WebGLRenderingContext::validateRenderingState): Add logic not to validate those attributes that do not belong to the current program.
+ (WebCore::WebGLRenderingContext::linkProgram): Call cacheActiveAttribLocations().
+
+2010-04-16 Adam Roben <aroben@apple.com>
+
+ Don't assert when soft-linked libraries can't be found
+
+ In some situations (e.g., when using SOFT_LINK_OPTIONAL), we expect soft-link libraries not
+ to be able to be found in all cases. So we shouldn't assert that they're always found.
+
+ Reviewed by Sam Weinig.
+
+ * platform/win/SoftLinking.h:
+ (SOFT_LINK): Don't assert when LoadLibrary fails.
+
+2010-04-15 Dmitry Titov <dimich@chromium.org>
+
+ Unreviewed, rolling out r57688.
+ http://trac.webkit.org/changeset/57688
+ https://bugs.webkit.org/show_bug.cgi?id=34992
+
+ Makes fast/workers/dedicated-worker-lifecycle.html crashing on all GTK bots
+
+ * bindings/js/JSWorkerContextCustom.cpp:
+ * bindings/v8/custom/V8WorkerContextCustom.cpp:
+ * storage/Database.idl:
+ * storage/SQLError.idl:
+ * storage/SQLResultSet.idl:
+ * storage/SQLResultSetRowList.idl:
+ * storage/SQLTransaction.idl:
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::openDatabase):
+ * workers/WorkerContext.h:
+ (WebCore::WorkerContext::databaseExceededQuota):
+ * workers/WorkerContext.idl:
+
+2010-04-15 Yury Semikhatsky <yurys@google.com>
+
+ Reviewed by Pavel Feldman.
+
+ Support basic debugging capabilities including step in/over/out in v8
+ implementation of ScriptDebugServer.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37604
+
+ * bindings/js/JSInjectedScriptHostCustom.cpp:
+ (WebCore::InjectedScriptHost::createInjectedScript):
+ * bindings/v8/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::ScriptDebugServer):
+ (WebCore::ScriptDebugServer::setDebuggerScriptSource):
+ (WebCore::ScriptDebugServer::addListener):
+ (WebCore::ScriptDebugServer::removeListener):
+ (WebCore::ScriptDebugServer::setBreakpoint):
+ (WebCore::ScriptDebugServer::removeBreakpoint):
+ (WebCore::ScriptDebugServer::clearBreakpoints):
+ (WebCore::ScriptDebugServer::setBreakpointsActivated):
+ (WebCore::ScriptDebugServer::continueProgram):
+ (WebCore::ScriptDebugServer::stepIntoStatement):
+ (WebCore::ScriptDebugServer::stepOverStatement):
+ (WebCore::ScriptDebugServer::stepOutOfFunction):
+ (WebCore::ScriptDebugServer::currentCallFrameState):
+ (WebCore::ScriptDebugServer::currentCallFrameV8):
+ (WebCore::ScriptDebugServer::onV8DebugMessage):
+ (WebCore::ScriptDebugServer::onV8DebugHostDispatch):
+ (WebCore::ScriptDebugServer::handleV8DebugHostDispatch):
+ (WebCore::ScriptDebugServer::handleV8DebugMessage):
+ (WebCore::ScriptDebugServer::dispatchDidParseSource):
+ (WebCore::ScriptDebugServer::ensureDebuggerScriptCompiled):
+ (WebCore::ScriptDebugServer::didResume):
+ * bindings/v8/ScriptDebugServer.h:
+ (WebCore::ScriptDebugServer::pauseOnExceptionsState):
+ (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
+ (WebCore::ScriptDebugServer::setMessageLoopDispatchHandler):
+ * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
+ (WebCore::InjectedScriptHost::createInjectedScript):
+ (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
+ (WebCore::V8InjectedScriptHost::isActivationCallback):
+ * inspector/front-end/InjectedScript.js:
+ (injectedScriptConstructor):
+ (injectedScriptConstructor.):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel):
+
+2010-04-15 Jian Li <jianli@chromium.org>
+
+ Reviewed by Dmitry Titov.
+
+ Support using FormData to send a sliced file via XHR.
+ https://bugs.webkit.org/show_bug.cgi?id=36678
+
+ Tests: http/tests/local/formdata/send-form-data-with-sliced-file.html
+
+ * html/Blob.h:
+ (WebCore::Blob::isFile):
+ * html/DOMFormData.cpp:
+ (WebCore::DOMFormData::append):
+ * html/File.h:
+ (WebCore::File::isFile):
+ * html/FormDataList.h:
+ (WebCore::FormDataList::appendBlob):
+ (WebCore::FormDataList::Item::Item):
+ (WebCore::FormDataList::Item::blob):
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::appendFormData):
+ * platform/network/FormData.cpp:
+ (WebCore::FormData::appendDOMFormData):
+ * platform/network/mac/FormDataStreamMac.mm:
+ (WebCore::closeCurrentStream):
+
+2010-04-15 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Must enable GL_VERTEX_PROGRAM_POINT_SIZE during initialization
+ https://bugs.webkit.org/show_bug.cgi?id=37178
+
+ Test: fast/canvas/webgl/point-size.html
+
+ * platform/graphics/mac/GraphicsContext3DMac.cpp: Enable GL_VERTEX_PROGRAM_POINT_SIZE during initialization.
+ (WebCore::GraphicsContext3D::GraphicsContext3D):
+
+2010-04-15 Eric Uhrhane <ericu@chromium.org>
+
+ Reviewed by Dmitry Titov.
+
+ Add bindings for async DB API in Workers.
+ https://bugs.webkit.org/show_bug.cgi?id=34992
+
+ Tests: storage/change-version-handle-reuse-worker.html
+ storage/execute-sql-args-worker.html
+
+ * bindings/js/JSWorkerContextCustom.cpp: Add openDatabase binding.
+ (WebCore::JSWorkerContext::openDatabase):
+
+ * bindings/v8/custom/V8WorkerContextCustom.cpp: Add openDatabase stub; Chromium will need work both in V8 and in the browser process before we can turn this on there.
+ (WebCore::V8WorkerContext::openDatabaseCallback):
+
+ Add NoStaticTables flags to all objects now shared with workers.
+ * storage/Database.idl:
+ * storage/SQLError.idl:
+ * storage/SQLResultSet.idl:
+ * storage/SQLResultSetRowList.idl:
+ * storage/SQLTransaction.idl:
+
+ * workers/WorkerContext.h: Add databaseExceededQuota.
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::databaseExceededQuota): Add stub implementation for testing; you just get 5MB for now.
+ (WebCore::WorkerContext::openDatabase): Remove invalid assertion.
+
+ Add the IDL for the call to openDatabase.
+ * workers/WorkerContext.idl:
+
+2010-04-15 Nicolas Weber <thakis@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Fix drag image thumbnails for indexed images.
+ https://bugs.webkit.org/show_bug.cgi?id=37621
+
+ * platform/chromium/DragImageChromiumMac.cpp:
+ (WebCore::scaleDragImage): Always use RGB color space.
+ (WebCore::dissolveDragImageToFraction): Always use RGB color space.
+
+2010-04-15 Adam Roben <aroben@apple.com>
+
+ Expose UserContentURLPattern as WebKit SPI
+
+ Fixes <http://webkit.org/b/37354>.
+
+ Reviewed by Tim Hatcher.
+
+ * WebCore.base.exp: Export UserContentURLPattern::parse, and sorted
+ the file.
+
+ * WebCore.xcodeproj/project.pbxproj: Marked UserContentURLPattern.h as
+ "Private".
+
+ * page/UserContentURLPattern.h:
+ (WebCore::UserContentURLPattern::UserContentURLPattern): Added a
+ default constructor.
+ (WebCore::UserContentURLPattern::isValid): Added this getter.
+
+2010-04-15 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ AXHelp is being appended from ancestors incorrectly
+ https://bugs.webkit.org/show_bug.cgi?id=37659
+
+ Test: platform/mac/accessibility/unexpected-help-text.html
+
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::helpText):
+
+2010-04-15 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37669, REGRESSION: visited styles don't work right when only the visited path specifies
+ a pseudoelement.
+
+ Rework the pseudo cache on RenderStyles to support nesting, i.e., a pseudo hanging off a pseudo. The existing model gets
+ confused by this concept, since it relies on a singly linked list of chained pseudo styles (instead of a Vector owned by a primary
+ style). I changed the style cache to be a Vector instead.
+
+ Reworked both styleForElement and pseudoStyleForElement to resolve visited styles first, since in the pseudoStyleForElement case
+ you need to do this in order to know to allocate an unvisited pseudo style even if one shouldn't normally exist.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::styleForElement):
+ (WebCore::CSSStyleSelector::pseudoStyleForElement):
+ * dom/Element.cpp:
+ (WebCore::Element::pseudoStyleCacheIsInvalid):
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::getCachedPseudoStyle):
+ (WebCore::RenderStyle::addCachedPseudoStyle):
+ * rendering/style/RenderStyle.h:
+ (WebCore::):
+ (WebCore::InheritedFlags::cachedPseudoStyles):
+
+2010-04-15 Albert J. Wong <ajwong@chromium.org>
+
+ Unreviewed, rolling out r57660.
+ http://trac.webkit.org/changeset/57660
+ https://bugs.webkit.org/show_bug.cgi?id=37604
+
+ Broke a large number of inspector layout tests in chromium.
+
+ * bindings/js/JSInjectedScriptHostCustom.cpp:
+ (WebCore::InjectedScriptHost::createInjectedScript):
+ * bindings/v8/ScriptDebugServer.cpp:
+ * bindings/v8/ScriptDebugServer.h:
+ (WebCore::ScriptDebugServer::addListener):
+ (WebCore::ScriptDebugServer::removeListener):
+ (WebCore::ScriptDebugServer::setBreakpoint):
+ (WebCore::ScriptDebugServer::removeBreakpoint):
+ (WebCore::ScriptDebugServer::clearBreakpoints):
+ (WebCore::ScriptDebugServer::setBreakpointsActivated):
+ (WebCore::ScriptDebugServer::pauseOnExceptionsState):
+ (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
+ (WebCore::ScriptDebugServer::continueProgram):
+ (WebCore::ScriptDebugServer::stepIntoStatement):
+ (WebCore::ScriptDebugServer::stepOverStatement):
+ (WebCore::ScriptDebugServer::stepOutOfFunction):
+ (WebCore::ScriptDebugServer::currentCallFrameState):
+ (WebCore::ScriptDebugServer::ScriptDebugServer):
+ * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
+ (WebCore::InjectedScriptHost::createInjectedScript):
+ (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
+ (WebCore::V8InjectedScriptHost::isActivationCallback):
+ * inspector/front-end/InjectedScript.js:
+ (injectedScriptConstructor):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel):
+
+2010-04-14 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ DatabaseTracker refactoring: remove the dependency on
+ OriginQuotaManager from DatabaseTracker.h
+ https://bugs.webkit.org/show_bug.cgi?id=31482
+
+ * storage/DatabaseTracker.cpp:
+ (WebCore::DatabaseTracker::DatabaseTracker):
+ (WebCore::DatabaseTracker::~DatabaseTracker):
+ (WebCore::DatabaseTracker::canEstablishDatabase):
+ (WebCore::DatabaseTracker::hasEntryForOrigin):
+ (WebCore::DatabaseTracker::getMaxSizeForDatabase):
+ (WebCore::DatabaseTracker::databaseChanged):
+ (WebCore::DatabaseTracker::fullPathForDatabaseNoLock):
+ (WebCore::DatabaseTracker::fullPathForDatabase):
+ (WebCore::DatabaseTracker::populateOrigins):
+ (WebCore::DatabaseTracker::origins):
+ (WebCore::DatabaseTracker::databaseNamesForOrigin):
+ (WebCore::DatabaseTracker::addOpenDatabase):
+ (WebCore::DatabaseTracker::removeOpenDatabase):
+ (WebCore::DatabaseTracker::usageForOriginNoLock):
+ (WebCore::DatabaseTracker::usageForOrigin):
+ (WebCore::DatabaseTracker::quotaForOrigin):
+ (WebCore::DatabaseTracker::setQuota):
+ (WebCore::DatabaseTracker::deleteOrigin):
+ (WebCore::DatabaseTracker::deleteDatabase):
+ (WebCore::DatabaseTracker::deleteDatabaseFile):
+ * storage/DatabaseTracker.h:
+ * storage/SQLTransactionClient.cpp:
+ (WebCore::SQLTransactionClient::didExecuteStatement):
+
+2010-04-15 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Adam Barth.
+
+ Several tests in fast/canvas/webgl/ failed randomly on Leopard Commit Bot
+ This fixes an uninitialized variable bug and restores a glFinish call that used to be present.
+ https://bugs.webkit.org/show_bug.cgi?id=36908
+
+ * platform/graphics/mac/GraphicsContext3DMac.cpp:
+ (WebCore::GraphicsContext3D::GraphicsContext3D): Initialize width/height to 0/0.
+ (WebCore::GraphicsContext3D::prepareTexture): Restore glFinish() in every path.
+
+2010-04-14 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ Spatial Navigation: make hasOffscreenRect() to earlier return 'true' if absoluteClippedOverflowRect() gives an empty rect
+ https://bugs.webkit.org/show_bug.cgi?id=37635
+
+ absoluteClippedOverflowRect method of RenderObject does return an empty IntRect for offscreen nodes.
+ So hasOffscreenRect method (SpatialNavigation.cpp) can safily bail out earlier in such cases.
+
+ * page/SpatialNavigation.cpp:
+ (WebCore::hasOffscreenRect):
+
+2010-04-14 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ Spatial Navigation: remove unnecessery assignment in updateFocusCandidateIfCloser method
+ https://bugs.webkit.org/show_bug.cgi?id=37634
+
+ This assignment line is not longer needed after r57061, bug that refactored all
+ assignment logic to happen lines below in the method.
+
+ * page/FocusController.cpp:
+ (WebCore::updateFocusCandidateIfCloser):
+
+2010-04-15 Yury Semikhatsky <yurys@google.com>
+
+ Reviewed by Pavel Feldman.
+
+ Support basic debugging capabilities including step in/over/out in v8
+ implementation of ScriptDebugServer.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37604
+
+ * bindings/js/JSInjectedScriptHostCustom.cpp:
+ (WebCore::InjectedScriptHost::createInjectedScript):
+ * bindings/v8/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::ScriptDebugServer):
+ (WebCore::ScriptDebugServer::setDebuggerScriptSource):
+ (WebCore::ScriptDebugServer::addListener):
+ (WebCore::ScriptDebugServer::removeListener):
+ (WebCore::ScriptDebugServer::setBreakpoint):
+ (WebCore::ScriptDebugServer::removeBreakpoint):
+ (WebCore::ScriptDebugServer::clearBreakpoints):
+ (WebCore::ScriptDebugServer::setBreakpointsActivated):
+ (WebCore::ScriptDebugServer::continueProgram):
+ (WebCore::ScriptDebugServer::stepIntoStatement):
+ (WebCore::ScriptDebugServer::stepOverStatement):
+ (WebCore::ScriptDebugServer::stepOutOfFunction):
+ (WebCore::ScriptDebugServer::currentCallFrameState):
+ (WebCore::ScriptDebugServer::currentCallFrameV8):
+ (WebCore::ScriptDebugServer::onV8DebugMessage):
+ (WebCore::ScriptDebugServer::onV8DebugHostDispatch):
+ (WebCore::ScriptDebugServer::handleV8DebugHostDispatch):
+ (WebCore::ScriptDebugServer::handleV8DebugMessage):
+ (WebCore::ScriptDebugServer::dispatchDidParseSource):
+ (WebCore::ScriptDebugServer::ensureDebuggerScriptCompiled):
+ (WebCore::ScriptDebugServer::didResume):
+ * bindings/v8/ScriptDebugServer.h:
+ (WebCore::ScriptDebugServer::pauseOnExceptionsState):
+ (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
+ (WebCore::ScriptDebugServer::setMessageLoopDispatchHandler):
+ * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
+ (WebCore::InjectedScriptHost::createInjectedScript):
+ (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
+ (WebCore::V8InjectedScriptHost::isActivationCallback):
+ * inspector/front-end/InjectedScript.js:
+ (injectedScriptConstructor):
+ (injectedScriptConstructor.):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel):
+
+2010-04-15 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Reviewed by Beth Dakin.
+
+ RenderSVGResource <-> id mapping should be cached
+ https://bugs.webkit.org/show_bug.cgi?id=37575
+
+ Test: svg/custom/clip-path-id-changes.svg
+
+ * rendering/RenderSVGResource.h:
+ (WebCore::RenderSVGResource::RenderSVGResource):
+ (WebCore::RenderSVGResource::~RenderSVGResource):
+ (WebCore::RenderSVGResource::idChanged):
+ (WebCore::getRenderSVGResourceById):
+ * svg/SVGDocumentExtensions.cpp:
+ (WebCore::SVGDocumentExtensions::addResource):
+ (WebCore::SVGDocumentExtensions::removeResource):
+ (WebCore::SVGDocumentExtensions::resourceById):
+ * svg/SVGDocumentExtensions.h:
+ * svg/SVGStyledElement.cpp:
+ (WebCore::SVGStyledElement::svgAttributeChanged):
+
+2010-04-15 Justin Schuh <jschuh@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ LayoutTest breakage in V8 bindings after r57627
+ https://bugs.webkit.org/show_bug.cgi?id=37660
+
+ Fixes breakage of the following tests due to an error in V8 bindings for
+ NamedNodeMap:
+ hc_namednodemapinuseattributeerr.html
+ hc_namednodemapsetnameditemreturnvalue.html
+ hc_namednodemapwrongdocumenterr.html
+ hc_namednodemapinvalidtype1.html
+ NamedNodeMap-setNamedItem-crash.html
+
+ * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
+ (WebCore::V8NamedNodeMap::setNamedItemNSCallback):
+ (WebCore::V8NamedNodeMap::setNamedItemCallback):
+
+2010-04-15 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37567, :first-letter inside a :visited link is wrong color. Make sure
+ that the pseudo style caching allows visited link styles to hang off other pseudo styles.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::updateFirstLetter):
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::getCachedPseudoStyle):
+
+2010-04-15 Ben Murdoch <benm@google.com>
+
+ Unreviewed, rolling out r57652.
+ http://trac.webkit.org/changeset/57652
+ https://bugs.webkit.org/show_bug.cgi?id=37609
+
+ Caused a build break on Chromium Mac and Layout Test fail on
+ Qt
+
+ * platform/PlatformTouchPoint.h:
+ (WebCore::PlatformTouchPoint::):
+ * platform/qt/PlatformTouchPointQt.cpp:
+ (WebCore::PlatformTouchPoint::PlatformTouchPoint):
+
+2010-04-15 Yaar Schnitman <yaar@chromium.org>
+
+ Reviewed by Nate Chapin.
+
+ Overloads auto-generation in V8
+ https://bugs.webkit.org/show_bug.cgi?id=37373
+
+ This will be used by XHR.send/open, Canvas.*, WebGL.* methods that are currently custom. When more than a single overload exists for a method, the correct overload is chosen based on the total number of arguments passed as well as the values passed to non-primitive arguments.
+
+ Overload dispatch order depends on the order the functions are defined in the IDL. Overloads must be specified from the most precise (overloads with wrapper type arguments) to the least precise (overloads with only primitive type arguments).
+
+ * bindings/scripts/CodeGeneratorV8.pm: Identify and output overloads callbacks and dispatch code.
+ * bindings/v8/test/TestObj.idl: Overloads sample.
+ * bindings/v8/test/V8TestObj.cpp: Output change.
+
+2010-04-15 Ben Murdoch <benm@google.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ The TouchStationary state of WebCore::PlatformTouchPoint
+ is not handled inside the touch event handler.
+ https://bugs.webkit.org/show_bug.cgi?id=37609
+
+ After discussions at the WebKit contributors meeting, we decided
+ that this is a currently unused state without a good future use
+ case in the Touch API and thus decided to remove it. This patch
+ actions that decision.
+
+ As the TouchStationary state is not handled in the EventHandler,
+ there is no change in functionality so no new tests are required.
+
+ * platform/PlatformTouchPoint.h:
+ (WebCore::PlatformTouchPoint::): Remove TouchStationary.
+ * platform/qt/PlatformTouchPointQt.cpp:
+ (WebCore::PlatformTouchPoint::PlatformTouchPoint): Remove TouchStationary.
+
+2010-04-15 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Use a lower-overhead mechanism for plug-in message throttling
+ https://bugs.webkit.org/show_bug.cgi?id=37642
+ <rdar://problem/7418285> Very high CPU usage idling in gmail under Windows 7 (plug-in related)
+
+ GMail has an instance of Flash that loads on the main mail page.
+ This Flash content sends us a constant stream of WM_USER+1 messsages.
+
+ There was already code in PluginMessageThrottlerWin to queue and process these
+ excess WM_USER+1 messages from Flash. Unfortunately, there were a couple of
+ problems with this code:
+
+ - The timer used to process the excess messages had a very low timeout (1ms).
+ Chrome uses a value of 5ms for this delay, and doesn't use excess CPU here,
+ while still maintaining good Flash frame rate.
+
+ - The overhead involved in generating a constant stream of 5ms timers still swamped
+ the CPU, resulting in continued high CPU utilization.
+
+ To fix this, I changed the throttling code to:
+
+ - Process a queued WM_USER+1 message directly if none has been processed in 5ms.
+ This allows us to avoid the overhead of a timer.
+
+ - Process remaining delayed WM_USER+1 messages on a 16ms timer.
+
+ This reduces our CPU utilization idling in GMail from ~20% to ~2-3% on my system.
+ I also verified the frame rate for Flash content wasn't reduced with this change.
+
+ * plugins/win/PluginMessageThrottlerWin.cpp:
+ (WebCore::PluginMessageThrottlerWin::PluginMessageThrottlerWin): Initialize m_lastMessageTime.
+ (WebCore::PluginMessageThrottlerWin::appendMessage): Process a queued message directly if >5ms have passed.
+ (WebCore::PluginMessageThrottlerWin::processQueuedMessage): Split out from messageThrottleTimerFired.
+ (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired): Call through to processQueuedMessage.
+ * plugins/win/PluginMessageThrottlerWin.h: Add processQueuedMessage, m_lastMessageTime.
+
+2010-04-15 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by David Levin.
+
+ LEAK: in ThreadableWebSocketChannel::create()
+ https://bugs.webkit.org/show_bug.cgi?id=37584
+
+ No new tests because this change just fixes a leak.
+
+ * websockets/WorkerThreadableWebSocketChannel.cpp:
+ (WebCore::WorkerThreadableWebSocketChannel::WorkerThreadableWebSocketChannel):
+ * websockets/WorkerThreadableWebSocketChannel.h:
+ (WebCore::WorkerThreadableWebSocketChannel::Bridge::create):
+
+2010-04-15 Gyuyoung Kim <gyuyoung.kim@samsung.com>
+
+ Reviewed by Eric Seidel.
+
+ Duplicated patches related to wml were pushed to trunk. So, one of
+ the patches should be reverted.
+ https://bugs.webkit.org/show_bug.cgi?id=37542
+
+ * wml/WMLOptionElement.h:
+ * wml/WMLSelectElement.h:
+
+2010-04-15 Bruno Schmidt <bruno.schmidt@gmail.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Null QObjects properties cause Segmentation Fault
+ https://bugs.webkit.org/show_bug.cgi?id=34730
+
+ QObjects exported to the QWebkit javascript with properties that are
+ a null "QObject*" cause Segmentation Fault.
+
+ If an QObject is added to the javascript context and it contains
+ properties of the type QObject* with NULL value, calling the property
+ causes Segmentation Fault.
+ So now the code below properly checks for null pointers:
+
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtInstance::getClass): may return NULL
+ (JSC::Bindings::QtInstance::getMethod): may return jsNull()
+ (JSC::Bindings::QtInstance::stringValue): may return jsNull()
+ (JSC::Bindings::QtInstance::booleanValue): may return false
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::convertValueToQVariant):
+ (JSC::Bindings::convertQVariantToValue): May return jsNull on QObjectStar
+
+2010-04-14 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Repaint of fixed, transformed element is broken
+ https://bugs.webkit.org/show_bug.cgi?id=37637
+
+ RenderBox::computeRectForRepaint() failed to set the 'fixed' flag correctly
+ for elements that had both fixed position and a transform. If the element has
+ a transform, 'fixed' should only remain true if the element itself is fixed
+ position.
+
+ Also cache style()->position() in a local variable for performance.
+
+ Test: fast/repaint/fixed-tranformed.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::computeRectForRepaint):
+
+2010-04-14 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Changing view mode names due to specification changes
+ https://bugs.webkit.org/show_bug.cgi?id=37615
+
+ test: fast/media/media-feature-wgt-view-mode.html
+
+ specification: http://dev.w3.org/2006/waf/widgets-vmmf/
+
+ * css/MediaQueryEvaluator.cpp:
+ (WebCore::view_modeMediaFeatureEval):
+ * page/ChromeClient.h:
+ (WebCore::ChromeClient::isWindowed):
+ (WebCore::ChromeClient::isMaximized):
+ (WebCore::ChromeClient::isMinimized):
+
+2010-04-14 Adam Barth <abarth@webkit.org>
+
+ Unreviewed attempt to fix Qt build.
+
+ * bindings/js/JSNodeCustom.cpp:
+
+2010-04-14 Justin Schuh <jschuh@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Javascript URL can be set as iframe.src via multiple DOM aliases
+ https://bugs.webkit.org/show_bug.cgi?id=37031
+
+ Moved frame/iframe checks from Attr to Node on inherited members.
+ Node child manipulation methods now return NOT_SUPPORTED_ERR if used
+ on a frame/iframe src attribute.
+ NamedNodeMap set methods now perform frame/iframe src checks.
+ Moved allowSettingSrcToJavascriptURL static helper function from
+ JSElementCustom.cpp to exported function in JSDOMBinding.h.
+
+ * bindings/js/JSAttrCustom.cpp:
+ (WebCore::JSAttr::setValue):
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::allowSettingSrcToJavascriptURL):
+ * bindings/js/JSDOMBinding.h:
+ * bindings/js/JSElementCustom.cpp:
+ * bindings/js/JSNamedNodeMapCustom.cpp:
+ (WebCore::JSNamedNodeMap::setNamedItem):
+ (WebCore::JSNamedNodeMap::setNamedItemNS):
+ * bindings/js/JSNodeCustom.cpp:
+ (WebCore::isAttrFrameSrc):
+ (WebCore::JSNode::setNodeValue):
+ (WebCore::JSNode::setTextContent):
+ (WebCore::JSNode::insertBefore):
+ (WebCore::JSNode::replaceChild):
+ (WebCore::JSNode::removeChild):
+ (WebCore::JSNode::appendChild):
+ * bindings/v8/custom/V8AttrCustom.cpp:
+ * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
+ (WebCore::V8NamedNodeMap::setNamedItemNSCallback):
+ (WebCore::V8NamedNodeMap::setNamedItemCallback):
+ (WebCore::toV8):
+ * bindings/v8/custom/V8NodeCustom.cpp:
+ (WebCore::isFrameSrc):
+ (WebCore::V8Node::textContentAccessorSetter):
+ (WebCore::V8Node::nodeValueAccessorSetter):
+ (WebCore::V8Node::insertBeforeCallback):
+ (WebCore::V8Node::replaceChildCallback):
+ (WebCore::V8Node::removeChildCallback):
+ (WebCore::V8Node::appendChildCallback):
+ * dom/Attr.idl:
+ * dom/NamedNodeMap.idl:
+ * dom/Node.idl:
+
+2010-04-14 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ We have to check if the resource handler is cancelled before
+ checking the client, other case it could crash.
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::parseDataUrl):
+
+2010-04-14 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r57609.
+ http://trac.webkit.org/changeset/57609
+ https://bugs.webkit.org/show_bug.cgi?id=37614
+
+ "Broke multiple builders. Probably needs new test results,
+ but may be an Inspector bug." (Requested by eseidel on
+ #webkit).
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::didReceiveResponse):
+ (WebCore::InspectorController::didFailLoading):
+ * inspector/front-end/Resource.js:
+ (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
+
+2010-04-14 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Don't cache SimpleFontData* in getLastResortFallbackFont. The cached entry may be invalidated.
+ https://bugs.webkit.org/show_bug.cgi?id=37599
+
+ * platform/graphics/win/FontCacheWin.cpp:
+ (WebCore::fontDataFromDescriptionAndLogFont):
+ (WebCore::FontCache::getLastResortFallbackFont):
+
+2010-04-14 Andrey Kosyakov <caseq@chromium.ru>
+
+ Reviewed by Timothy Hatcher.
+
+ Log error message to inspector console if a resource fails to load.
+ Disable checking of mime-type consistency for failed resources.
+ https://bugs.webkit.org/show_bug.cgi?id=37215
+
+ Test: inspector/console-resource-errors.html
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::didReceiveResponse):
+ (WebCore::InspectorController::didFailLoading):
+ * inspector/front-end/Resource.js:
+ (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
+
+2010-04-14 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r57599.
+ http://trac.webkit.org/changeset/57599
+ https://bugs.webkit.org/show_bug.cgi?id=37605
+
+ "Broke Chromium build" (Requested by dglazkov on #webkit).
+
+ * platform/chromium/PopupMenuChromium.cpp:
+ (WebCore::PopupContainer::PopupContainer):
+ (WebCore::PopupContainer::showPopup):
+ (WebCore::PopupContainer::notifyPopupHidden):
+ * platform/chromium/PopupMenuChromium.h:
+
+2010-04-14 Aaron Boodman <aa@chromium.org>
+
+ Reviewed by David Levin.
+
+ Support relative URLs for notifications on Chromium. They weren't working previously because WebCore was inserting
+ the relative URL into a KURL instance, but when KURL is backed by GURL as it is on Chromium, relative URLs are
+ unsupported. Fixed by resolving the relative URL first.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36623
+
+ Adding tests for this is difficult because we don't currently have DRT support for notifications on Mac, only Windows.
+
+ * notifications/Notification.cpp:
+ (WebCore::Notification::Notification): Accept resolved KURL instead of relative string.
+ * notifications/Notification.h:
+ (WebCore::Notification::create): Ditto.
+ (WebCore::Notification::iconURL): Return resolved KURL instead of relative string.
+ * notifications/NotificationCenter.h:
+ (WebCore::NotificationCenter::createHTMLNotification): Immediately resolve URL instead of passing off relative string.
+ (WebCore::NotificationCenter::createNotification): Ditto.
+ * notifications/NotificationContents.h:
+ (WebCore::NotificationContents::NotificationContents): Accept resolved KURL instead of relative string.
+ (WebCore::NotificationContents::icon): Return resolved URL.
+
+2010-04-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add ThemeMac::ensuredView and get rid of a workaround in ThemeMac::paintButton.
+ https://bugs.webkit.org/show_bug.cgi?id=37601
+
+ * platform/mac/ThemeMac.h:
+ * platform/mac/ThemeMac.mm:
+ (-[WebCoreFlippedView isFlipped]):
+ (WebCore::paintButton):
+ (WebCore::ThemeMac::ensuredView):
+
+2010-04-14 Jay Civelli <jcivelli@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [chromium] Select popups would assert when destroyed.
+ https://bugs.webkit.org/show_bug.cgi?id=37436
+
+ * platform/chromium/PopupMenuChromium.cpp:
+ (WebCore::PopupContainer::PopupContainer):
+ (WebCore::PopupContainer::showPopup):
+ (WebCore::PopupContainer::notifyPopupHidden):
+ * platform/chromium/PopupMenuChromium.h:
+
+
+2010-04-14 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Jian Li.
+
+ Remove an incorrect ASSERT in UniscribeHelper::draw().
+ https://bugs.webkit.org/show_bug.cgi?id=37533
+
+ * platform/graphics/chromium/UniscribeHelper.cpp:
+ (WebCore::UniscribeHelper::draw):
+
+2010-04-14 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: readline shortcuts don't work in Chromium.
+
+ * inspector/front-end/TextPrompt.js:
+ (WebInspector.TextPrompt.prototype._onKeyDown):
+ (WebInspector.TextPrompt.prototype._moveCaretToStartOfPrompt):
+
+2010-04-14 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Console: Shift-Tab does not cycle autocompletions in the reverse order
+ https://bugs.webkit.org/show_bug.cgi?id=37582
+
+ * inspector/front-end/TextPrompt.js:
+ (WebInspector.TextPrompt.prototype.complete):
+ (WebInspector.TextPrompt.prototype._completionsReady):
+ (WebInspector.TextPrompt.prototype._tabKeyPressed):
+
+2010-04-14 Jeff Schiller <codedread@gmail.com>
+
+ Reviewed by Dirk Schulze.
+
+ Render SVG Paths up to first error, bug 37413: https://bugs.webkit.org/show_bug.cgi?id=37413
+
+ * svg/SVGParserUtilities.cpp:
+ (WebCore::SVGPathSegListBuilder::build):
+
+2010-04-14 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Joseph Pecoraro.
+
+ Web Inspector: Ctrl-L (Clear History) does nothing on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=37579
+
+ * inspector/front-end/ConsoleView.js:
+ (WebInspector.ConsoleView):
+
+2010-04-14 Anton Muhin <antonm@chromium.org>
+
+ Not review, build fix.
+
+ Add <limits.h> include to bring UINT_MAX.
+
+ * html/canvas/WebGLArray.h:
+
+2010-04-14 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Not reviewed. Attempt to unbreak build - NodeRenderStyle.h is an _interessting_ concept...
+
+ * rendering/style/SVGRenderStyle.cpp: Include 'NodeRenderStyle.h'
+
+2010-04-14 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Reviewed by Dirk Schulze.
+
+ SVGRenderStyle/SVGRenderStyleDefs needs a cleanup
+ https://bugs.webkit.org/show_bug.cgi?id=37568
+
+ Cleanup SVGRenderStyle / SVGRenderStyleDefs:
+ - use copy constructors in initialization list to initialize members, instead of assignment operators in the body
+ - fix style issues (misplaced references, abbrevations)
+ - merge StyleClipData/StyleMaskData to save memory, rename it StyleResourceData
+ - move filter property in StyleResourceData
+ - rename StyleMarkerData to StyleInheritedResourceData to highlight the difference to StyleResourceData
+ - unify naming schemes for all resources (filter/clipper/masker/markers)
+ - clipPath() -> clipperResource()
+ - maskElement() -> maskerResource()
+ - startMarker() -> markerStartResource()
+ - midMarker() -> markerMidResource()
+ - endMarker() -> markerEndResource()
+ - filter() -> filterResource()
+
+ Adapt all callsites to the renames above.
+ No new tests, as this doesn't affect anything except memory overhead.
+
+ * css/SVGCSSComputedStyleDeclaration.cpp:
+ (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
+ * css/SVGCSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applySVGProperty):
+ * rendering/RenderPath.cpp:
+ (WebCore::RenderPath::calculateMarkerBoundsIfNeeded):
+ * rendering/RenderSVGContainer.cpp:
+ (WebCore::RenderSVGContainer::selfWillPaint):
+ * rendering/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::selfWillPaint):
+ * rendering/SVGRenderSupport.cpp:
+ (WebCore::SVGRenderBase::prepareToRenderSVGContent):
+ (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
+ (WebCore::SVGRenderBase::clipperBoundingBoxForRenderer):
+ (WebCore::SVGRenderBase::maskerBoundingBoxForRenderer):
+ (WebCore::deregisterFromResources):
+ * rendering/SVGRenderTreeAsText.cpp:
+ (WebCore::writeStyle):
+ (WebCore::writeResources):
+ * rendering/style/SVGRenderStyle.cpp:
+ (WebCore::SVGRenderStyle::SVGRenderStyle):
+ (WebCore::SVGRenderStyle::operator==):
+ (WebCore::SVGRenderStyle::inheritedNotEqual):
+ (WebCore::SVGRenderStyle::inheritFrom):
+ * rendering/style/SVGRenderStyle.h:
+ * rendering/style/SVGRenderStyleDefs.cpp:
+ (WebCore::StyleFillData::StyleFillData):
+ (WebCore::StyleFillData::operator==):
+ (WebCore::StyleStrokeData::StyleStrokeData):
+ (WebCore::StyleStrokeData::operator==):
+ (WebCore::StyleStopData::StyleStopData):
+ (WebCore::StyleStopData::operator==):
+ (WebCore::StyleTextData::StyleTextData):
+ (WebCore::StyleMiscData::StyleMiscData):
+ (WebCore::StyleMiscData::operator==):
+ (WebCore::StyleShadowSVGData::StyleShadowSVGData):
+ (WebCore::StyleShadowSVGData::operator==):
+ (WebCore::StyleResourceData::StyleResourceData):
+ (WebCore::StyleResourceData::operator==):
+ (WebCore::StyleInheritedResourceData::StyleInheritedResourceData):
+ (WebCore::StyleInheritedResourceData::operator==):
+ * rendering/style/SVGRenderStyleDefs.h:
+ (WebCore::StyleFillData::operator!=):
+ (WebCore::StyleStopData::operator!=):
+ (WebCore::StyleMiscData::create):
+ (WebCore::StyleMiscData::copy):
+ (WebCore::StyleMiscData::operator!=):
+ (WebCore::StyleShadowSVGData::create):
+ (WebCore::StyleShadowSVGData::copy):
+ (WebCore::StyleShadowSVGData::operator!=):
+ (WebCore::StyleResourceData::create):
+ (WebCore::StyleResourceData::copy):
+ (WebCore::StyleResourceData::operator!=):
+ (WebCore::StyleInheritedResourceData::create):
+ (WebCore::StyleInheritedResourceData::copy):
+ (WebCore::StyleInheritedResourceData::operator!=):
+ * svg/SVGDocumentExtensions.cpp:
+ (WebCore::SVGDocumentExtensions::addResource):
+ (WebCore::SVGDocumentExtensions::removeResource):
+ * svg/SVGDocumentExtensions.h:
+ * svg/SVGStyledElement.cpp:
+ (WebCore::SVGStyledElement::invalidateResources):
+
+2010-04-14 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ readPixels must take PACK_ALIGNMENT into account
+ https://bugs.webkit.org/show_bug.cgi?id=34718
+
+ Test: fast/canvas/webgl/read-pixels.html
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore::WebGLRenderingContext::WebGLRenderingContext): Init members to support pack_alignment.
+ (WebCore::WebGLRenderingContext::pixelStorei): Save pack/unpack_alignment.
+ (WebCore::WebGLRenderingContext::readPixels): Validate enum and deal with pack_alignment.
+ * html/canvas/WebGLRenderingContext.h: Add members to support pack_alignment.
+ * platform/graphics/GraphicsContext3D.h: Refactor readPixels.
+ * platform/graphics/mac/GraphicsContext3DMac.cpp:
+ (WebCore::GraphicsContext3D::readPixels): Move array allocation and alpha fix to WebGLRenderingContext; flush before read pixels.
+
+2010-04-13 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ REGRESSION(r57511): many new graphics / svg related leaks
+ https://bugs.webkit.org/show_bug.cgi?id=37527
+
+ The content of a HashMap was not correctly deleted. Fixed this
+ in the DTor and in invalidateClient of RenderSVGResourceClipper.
+
+ * rendering/RenderSVGResourceClipper.cpp:
+ (WebCore::RenderSVGResourceClipper::~RenderSVGResourceClipper):
+ (WebCore::RenderSVGResourceClipper::invalidateClient):
+
+2010-04-13 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Oliver Hunt.
+
+ Fix a potential integer overflow in WebGL*Array::slice()
+ https://bugs.webkit.org/show_bug.cgi?id=37466
+
+ * html/canvas/WebGLArray.h:
+ (WebCore::WebGLArray::clampOffsetAndNumElements): Input parameter "offset"'s semantic changed from in bytes from buffer to in elements from array view; calculate offset in bytes from buffer inside the function, avoiding overflow.
+ * html/canvas/WebGLByteArray.cpp:
+ (WebCore::WebGLByteArray::slice): Changed according to new semantic of WebCore::WebGLArray::clampOffsetAndNumElements.
+ * html/canvas/WebGLFloatArray.cpp:
+ (WebCore::WebGLFloatArray::slice): Ditto.
+ * html/canvas/WebGLIntArray.cpp:
+ (WebCore::WebGLIntArray::slice): Ditto.
+ * html/canvas/WebGLShortArray.cpp:
+ (WebCore::WebGLShortArray::slice): Ditto.
+ * html/canvas/WebGLUnsignedByteArray.cpp:
+ (WebCore::WebGLUnsignedByteArray::slice): Ditto.
+ * html/canvas/WebGLUnsignedIntArray.cpp:
+ (WebCore::WebGLUnsignedIntArray::slice): Ditto.
+ * html/canvas/WebGLUnsignedShortArray.cpp:
+ (WebCore::WebGLUnsignedShortArray::slice): Ditto.
+
+2010-04-13 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Brady Eidson.
+
+ If the browsing context's session history contains only one Document,
+ and that was the about:blank Document created when the browsing context
+ was created, then the navigation must be done with replacement enabled.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37126
+
+ Tests: fast/loader/frame-location-change-not-added-to-history.html
+ fast/loader/frame-src-change-not-added-to-history.html
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::clientRedirected):
+ (WebCore::FrameLoader::findFrameForNavigation):
+ * loader/HistoryController.cpp:
+ (WebCore::HistoryController::currentItemShouldBeReplaced):
+ * loader/HistoryController.h:
+
+2010-04-13 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Separated a DOMWrapperWorld's behavior of keeping wrappers alive from
+ its own lifetime, so a DOMWrapperWorld's controller can throw away
+ its wrappers even before its refcount reaches 0.
+
+ * WebCore.base.exp:
+ * bindings/js/DOMWrapperWorld.cpp:
+ (WebCore::DOMWrapperWorld::DOMWrapperWorld):
+ (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
+ (WebCore::DOMWrapperWorld::registerWorld):
+ (WebCore::DOMWrapperWorld::unregisterWorld):
+ * bindings/js/DOMWrapperWorld.h: Factored out DOMWrapperWorld registration
+ and unregistration into helper functions, so unregistering could be done manually.
+
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::destroyWindowShell): Added an ASSERT to match
+ similar code.
+
+2010-04-13 Chang Shu <chang.shu@nokia.com>
+
+ Reviewed by Darin Fisher.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34653
+
+ Based on W3C spec and Firefox behavior, while invoking XHR Send with parameter
+ as String, the charset in Content-Type should be forced to set to UTF-8.
+
+ Test: http/tests/xmlhttprequest/request-encoding2.html
+
+ * platform/network/HTTPParsers.cpp:
+ (WebCore::extractCharsetFromMediaType):
+ (WebCore::findCharsetInMediaType):
+ * platform/network/HTTPParsers.h:
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::setCharsetInMediaType):
+ (WebCore::XMLHttpRequest::send):
+
+2010-04-12 Timothy Hatcher <timothy@apple.com>
+
+ SecurityOrigin needs a way to remove individual OriginAccessEntries
+ https://bugs.webkit.org/show_bug.cgi?id=37449
+
+ Test: http/tests/xmlhttprequest/origin-whitelisting-removal.html
+
+ Reviewed by Dave Hyatt.
+
+ * WebCore.base.exp: Added SecurityOrigin::removeOriginAccessWhitelistEntry.
+ * page/OriginAccessEntry.h:
+ (WebCore::OriginAccessEntry::protocol): Added. Returns m_protocol.
+ (WebCore::OriginAccessEntry::host): Added. Returns m_host.
+ (WebCore::OriginAccessEntry::subdomainSettings): Added. Returns m_subdomainSettings.
+ (WebCore::operator==): Added. Compares OriginAccessEntry.
+ (WebCore::operator!=): Ditto.
+ * page/SecurityOrigin.cpp:
+ (WebCore::SecurityOrigin::addOriginAccessWhitelistEntry): Use the add method to prevent a
+ second hash lookup.
+ (WebCore::SecurityOrigin::removeOriginAccessWhitelistEntry): Added. Find a matching
+ OriginAccessEntry and remove it.
+ * page/SecurityOrigin.h: Added removeOriginAccessWhitelistEntry.
+
+2010-04-13 Timothy Hatcher <timothy@apple.com>
+
+ Rename SecurityOrigin::whiteListAccessFromOrigin to addOriginAccessWhitelistEntry.
+ And SecurityOrigin::resetOriginAccessWhiteLists to resetOriginAccessWhitelists.
+
+ SecurityOrigin needs a way to remove individual OriginAccessEntries
+ https://bugs.webkit.org/show_bug.cgi?id=37449
+
+ Reviewed by Dave Hyatt.
+
+ * WebCore.base.exp:
+ * page/SecurityOrigin.cpp:
+ (WebCore::SecurityOrigin::addOriginAccessWhitelistEntry):
+ (WebCore::SecurityOrigin::resetOriginAccessWhitelists):
+ * page/SecurityOrigin.h:
+
+2010-04-13 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Tidied up some more DOMWrapperWorld lifetime issues.
+
+ Made DOMWrapperWorld aware of its JSDOMWindowShells, so it can clear them.
+
+ * bindings/js/DOMWrapperWorld.cpp:
+ (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
+ * bindings/js/DOMWrapperWorld.h:
+ (WebCore::DOMWrapperWorld::didCreateWindowShell):
+ (WebCore::DOMWrapperWorld::didDestroyWindowShell): Functionality for
+ tracking window shells that reference a given DOMWrapperWorld.
+
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::~ScriptController):
+ (WebCore::ScriptController::destroyWindowShell):
+ (WebCore::ScriptController::createWindowShell):
+ (WebCore::ScriptController::clearWindowShell):
+ (WebCore::ScriptController::initScript):
+ * bindings/js/ScriptController.h: Refactored to update a DOMWrapperWorld
+ when adding or removing a JSDOMWindowShell.
+
+ * dom/Document.cpp:
+ (WebCore::Document::destroyAllWrapperCaches): Changed to use isEmpty(),
+ which is slightly faster and simpler than iterator comparison.
+
+2010-04-13 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Make all HTML5 DB callbacks run in the correct context.
+ https://bugs.webkit.org/show_bug.cgi?id=27698
+
+ Tests: storage/statement-error-callback-isolated-world.html
+ storage/statement-success-callback-isolated-world.html
+ storage/transaction-callback-isolated-world.html
+ storage/transaction-error-callback-isolated-world.html
+
+ * bindings/js/JSCustomSQLStatementCallback.cpp:
+ (WebCore::JSCustomSQLStatementCallback::JSCustomSQLStatementCallback):
+ (WebCore::JSCustomSQLStatementCallback::handleEvent):
+ * bindings/js/JSCustomSQLStatementCallback.h:
+ * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
+ (WebCore::JSCustomSQLStatementErrorCallback::JSCustomSQLStatementErrorCallback):
+ (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
+ * bindings/js/JSCustomSQLStatementErrorCallback.h:
+ * bindings/js/JSCustomSQLTransactionCallback.cpp:
+ (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
+ (WebCore::JSCustomSQLTransactionCallback::handleEvent):
+ * bindings/js/JSCustomSQLTransactionCallback.h:
+ * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
+ (WebCore::JSCustomSQLTransactionErrorCallback::JSCustomSQLTransactionErrorCallback):
+ (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
+ * bindings/js/JSCustomSQLTransactionErrorCallback.h:
+ * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
+ (WebCore::V8CustomSQLStatementCallback::V8CustomSQLStatementCallback):
+ (WebCore::V8CustomSQLStatementCallback::handleEvent):
+ * bindings/v8/custom/V8CustomSQLStatementCallback.h:
+ * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
+ (WebCore::V8CustomSQLStatementErrorCallback::V8CustomSQLStatementErrorCallback):
+ (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
+ * bindings/v8/custom/V8CustomSQLStatementErrorCallback.h:
+ * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
+ (WebCore::V8CustomSQLTransactionCallback::V8CustomSQLTransactionCallback):
+ (WebCore::V8CustomSQLTransactionCallback::handleEvent):
+ * bindings/v8/custom/V8CustomSQLTransactionCallback.h:
+ * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
+ (WebCore::V8CustomSQLTransactionErrorCallback::V8CustomSQLTransactionErrorCallback):
+ (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
+ * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.h:
+ * storage/SQLStatement.cpp:
+ (WebCore::SQLStatement::performCallback):
+ * storage/SQLStatementCallback.h:
+ * storage/SQLStatementErrorCallback.h:
+ * storage/SQLTransaction.cpp:
+ (WebCore::SQLTransaction::deliverTransactionCallback):
+ (WebCore::SQLTransaction::deliverTransactionErrorCallback):
+ * storage/SQLTransactionCallback.h:
+ * storage/SQLTransactionErrorCallback.h:
+ (WebCore::SQLTransactionErrorCallback::~SQLTransactionErrorCallback):
+
+2010-04-13 Mikhail Naganov <mnaganov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Fix search behavior in Profiles tab.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37498
+
+ * inspector/front-end/ProfileView.js:
+ (WebInspector.CPUProfileView.profileCallback):
+ (WebInspector.CPUProfileView):
+
+2010-04-13 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37513, clean up StyleBoxData and the RenderStyle variable that uses it.
+
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::RenderStyle):
+ (WebCore::RenderStyle::operator==):
+ (WebCore::RenderStyle::diff):
+ * rendering/style/RenderStyle.h:
+ (WebCore::):
+ (WebCore::InheritedFlags::width):
+ (WebCore::InheritedFlags::height):
+ (WebCore::InheritedFlags::minWidth):
+ (WebCore::InheritedFlags::maxWidth):
+ (WebCore::InheritedFlags::minHeight):
+ (WebCore::InheritedFlags::maxHeight):
+ (WebCore::InheritedFlags::verticalAlignLength):
+ (WebCore::InheritedFlags::boxSizing):
+ (WebCore::InheritedFlags::setWidth):
+ (WebCore::InheritedFlags::setHeight):
+ (WebCore::InheritedFlags::setMinWidth):
+ (WebCore::InheritedFlags::setMaxWidth):
+ (WebCore::InheritedFlags::setMinHeight):
+ (WebCore::InheritedFlags::setMaxHeight):
+ (WebCore::InheritedFlags::setVerticalAlignLength):
+ (WebCore::InheritedFlags::hasAutoZIndex):
+ (WebCore::InheritedFlags::setHasAutoZIndex):
+ (WebCore::InheritedFlags::zIndex):
+ (WebCore::InheritedFlags::setZIndex):
+ (WebCore::InheritedFlags::setBoxSizing):
+ * rendering/style/StyleBoxData.cpp:
+ (WebCore::StyleBoxData::StyleBoxData):
+ (WebCore::StyleBoxData::operator==):
+ * rendering/style/StyleBoxData.h:
+ (WebCore::StyleBoxData::width):
+ (WebCore::StyleBoxData::height):
+ (WebCore::StyleBoxData::minWidth):
+ (WebCore::StyleBoxData::minHeight):
+ (WebCore::StyleBoxData::maxWidth):
+ (WebCore::StyleBoxData::maxHeight):
+ (WebCore::StyleBoxData::verticalAlign):
+ (WebCore::StyleBoxData::zIndex):
+ (WebCore::StyleBoxData::hasAutoZIndex):
+ (WebCore::StyleBoxData::boxSizing):
+
+2010-04-12 yael aharon <yael.aharon@nokia.com>
+
+ Reviewed by Tor Arne Vestbo.
+
+ Minor fix to pass RenderProgress instead of RenderObject
+ https://bugs.webkit.org/show_bug.cgi?id=37481
+
+ * accessibility/AXObjectCache.cpp:
+ (WebCore::AXObjectCache::getOrCreate):
+ * accessibility/AccessibilityProgressIndicator.cpp:
+ (WebCore::AccessibilityProgressIndicator::AccessibilityProgressIndicator):
+ (WebCore::AccessibilityProgressIndicator::create):
+ * accessibility/AccessibilityProgressIndicator.h:
+
+2010-04-13 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37510, clean up StyleBackgroundData
+
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::RenderStyle):
+ (WebCore::RenderStyle::operator==):
+ (WebCore::RenderStyle::diff):
+ * rendering/style/RenderStyle.h:
+ (WebCore::):
+ (WebCore::InheritedFlags::hasBackground):
+ (WebCore::InheritedFlags::hasBackgroundImage):
+ (WebCore::InheritedFlags::hasFixedBackgroundImage):
+ (WebCore::InheritedFlags::outlineWidth):
+ (WebCore::InheritedFlags::outlineStyle):
+ (WebCore::InheritedFlags::outlineStyleIsAuto):
+ (WebCore::InheritedFlags::outlineColor):
+ (WebCore::InheritedFlags::backgroundColor):
+ (WebCore::InheritedFlags::backgroundImage):
+ (WebCore::InheritedFlags::backgroundRepeatX):
+ (WebCore::InheritedFlags::backgroundRepeatY):
+ (WebCore::InheritedFlags::backgroundComposite):
+ (WebCore::InheritedFlags::backgroundAttachment):
+ (WebCore::InheritedFlags::backgroundClip):
+ (WebCore::InheritedFlags::backgroundOrigin):
+ (WebCore::InheritedFlags::backgroundXPosition):
+ (WebCore::InheritedFlags::backgroundYPosition):
+ (WebCore::InheritedFlags::backgroundSizeType):
+ (WebCore::InheritedFlags::backgroundSizeLength):
+ (WebCore::InheritedFlags::accessBackgroundLayers):
+ (WebCore::InheritedFlags::backgroundLayers):
+ (WebCore::InheritedFlags::outlineOffset):
+ (WebCore::InheritedFlags::resetOutline):
+ (WebCore::InheritedFlags::setBackgroundColor):
+ (WebCore::InheritedFlags::setBackgroundXPosition):
+ (WebCore::InheritedFlags::setBackgroundYPosition):
+ (WebCore::InheritedFlags::setBackgroundSize):
+ (WebCore::InheritedFlags::setBackgroundSizeLength):
+ (WebCore::InheritedFlags::setOutlineWidth):
+ (WebCore::InheritedFlags::setOutlineStyle):
+ (WebCore::InheritedFlags::setOutlineColor):
+ (WebCore::InheritedFlags::clearBackgroundLayers):
+ (WebCore::InheritedFlags::inheritBackgroundLayers):
+ (WebCore::InheritedFlags::setOutlineOffset):
+ * rendering/style/StyleBackgroundData.h:
+ (WebCore::StyleBackgroundData::background):
+ (WebCore::StyleBackgroundData::color):
+ (WebCore::StyleBackgroundData::outline):
+
+2010-04-13 Stephan Aßmus <superstippi@gmx.de>
+
+ Reviewed by David Levin.
+
+ [Haiku] Use the system clipboard instead of a private clipboard.
+ Fix various problems in the previous implementation.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37421
+
+ No new tests needed.
+
+ * platform/haiku/PasteboardHaiku.cpp:
+ (WebCore::Pasteboard::~Pasteboard):
+ (WebCore::Pasteboard::generalPasteboard):
+ - Don't leak the pasteboard at program exit.
+ (WebCore::AutoClipboardLocker::AutoClipboardLocker):
+ (WebCore::AutoClipboardLocker::~AutoClipboardLocker):
+ (WebCore::AutoClipboardLocker::isLocked):
+ - helper class for locking a BClipboard.
+ (WebCore::Pasteboard::writeSelection):
+ - Use AddData(B_MIME_TYPE) as required by clipboard protocol.
+ - Make sure we don't end up with unwanted UTF-8 characters for
+ regular line breaks.
+ (WebCore::Pasteboard::writePlainText):
+ - Use AddData(B_MIME_TYPE) as required by clipboard protocol.
+ (WebCore::Pasteboard::plainText):
+ - Use FindData(B_MIME_TYPE) as required by clipboard protocol.
+ (WebCore::Pasteboard::documentFragment):
+ - Implemented.
+ (WebCore::Pasteboard::writeURL):
+ - Needs to use AddData(B_MIME_TYPE) instead of AddString().
+ (WebCore::Pasteboard::clear):
+
+2010-04-13 Stephan Aßmus <superstippi@gmx.de>
+
+ Reviewed by David Levin.
+
+ [Haiku] Fix bridging Widget to native top-level BView.
+ https://bugs.webkit.org/show_bug.cgi?id=37419
+
+ In the Haiku port, there is no mapping between native widgets
+ and WebCore Widget instances. There is only a top-level BView
+ which renders a web page into a bitmap. For certain WebCore widget
+ functionality, we need to access this BView, like for setting the
+ current cursor or forcing focus. On the other hand, setting a
+ platform widget pointer on Widget results into completely different
+ behavior, like ScrollView tries to forward everything instead of
+ handling stuff itself. To make this work, the pointer to a "top-level"
+ BView is stored in every Widget for the Haiku port.
+
+ No new tests needed.
+
+ * platform/Widget.h:
+ - Added the m_topLevelPlatformWidget member for the Haiku platform.
+ (WebCore::Widget::setPlatformWidget):
+ (WebCore::Widget::topLevelPlatformWidget):
+ (WebCore::Widget::setTopLevelPlatformWidget):
+ * platform/haiku/WidgetHaiku.cpp:
+ (WebCore::AutoPlatformWidgetLocker::AutoPlatformWidgetLocker):
+ (WebCore::AutoPlatformWidgetLocker::~AutoPlatformWidgetLocker):
+ (WebCore::AutoPlatformWidgetLocker::isLocked):
+ - helper class for locking the BView looper thread with a timeout
+ (WebCore::Widget::Widget):
+ (WebCore::Widget::setFocus):
+ - Make sure the top-level view receives keyboard input.
+ (WebCore::Widget::setCursor):
+ - Set the cursor on the top-level view.
+ (WebCore::Widget::show):
+ (WebCore::Widget::hide):
+ - Don't show/hide the top-level view, but make the code correct
+ for whenever we would map an individual BView per Widget.
+ - Use setSelfVisible() and isParentVisible() like in other ports.
+
+2010-04-13 Jeremy Moskovich <jeremy@chromium.org>
+
+ Reviewed by David Levin.
+
+ Add some diagnostics to try to track down cause of crash in ArchiveFactory::isArchiveMimeType().
+
+ https://bugs.webkit.org/show_bug.cgi?id=36426
+
+ No new tests as there is no new functionality.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::finishedLoadingDocument): Make copy of mimeType string to isolate crash.
+
+2010-04-13 Abhishek Arya <inferno@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Add a null ptr check for m_popupClient.
+
+ * platform/chromium/PopupMenuChromium.cpp:
+ (WebCore::PopupListBox::abandon): Add a null ptr check
+
+2010-04-13 Stephan Aßmus <superstippi@gmx.de>
+
+ Reviewed by David Levin.
+
+ [Haiku] Use the system's default font family as last fall back font.
+ https://bugs.webkit.org/show_bug.cgi?id=37501
+
+ No new tests needed.
+
+ * platform/graphics/haiku/FontCacheHaiku.cpp:
+ (WebCore::FontCache::getLastResortFallbackFont):
+ - Use the system's default font family (from be_plain_font global).
+
+2010-04-13 Eskil Blomfeldt <eblomfel@trolltech.com>, Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Use integer pixel metric QFont API to fix rounding errors in text rendering on the Mac
+ https://bugs.webkit.org/show_bug.cgi?id=36532
+
+ * platform/graphics/qt/FontQt.cpp:
+ (WebCore::Font::floatWidthForComplexText):
+ (WebCore::Font::font):
+
+2010-04-13 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Cannot effectively delete properties in the Styles sidebar pane
+ https://bugs.webkit.org/show_bug.cgi?id=37499
+
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::applyStyleText):
+
+2010-04-13 Stephan Aßmus <superstippi@gmx.de>
+
+ Reviewed by David Levin.
+
+ Use the Haiku MIME type data base as a fall back for unknown file extensions.
+ https://bugs.webkit.org/show_bug.cgi?id=34686
+
+ Covered by existing tests.
+
+ * platform/haiku/MIMETypeRegistryHaiku.cpp:
+ (WebCore::):
+ - fixed coding style issues
+ (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
+ - fall back to the system MIME database for unknown types.
+ - return empty String as last resort, this is used
+ elsewhere as indicator for unknown types.
+
+2010-04-13 Stephan Aßmus <superstippi@gmx.de>
+
+ Reviewed by David Levin.
+
+ [Haiku] Use all the new system cursors available in recent Haiku revisions.
+ <https://bugs.webkit.org/show_bug.cgi?id=37385>
+
+ Covered by existing tests.
+
+ * platform/haiku/CursorHaiku.cpp:
+ (WebCore::Cursor::Cursor):
+ (WebCore::Cursor::~Cursor):
+ (WebCore::Cursor::operator=):
+ - Adapted to maintain an owned BCursor instance.
+ (WebCore::createCursorByID):
+ - helper function to create a Cursor instance by BCursorID constant.
+ (WebCore::pointerCursor):
+ - NULL BCursor triggers using the system cursor.
+ (WebCore::moveCursor):
+ (WebCore::crossCursor):
+ (WebCore::handCursor):
+ (WebCore::iBeamCursor):
+ (WebCore::waitCursor):
+ (WebCore::helpCursor):
+ (WebCore::eastResizeCursor):
+ (WebCore::northResizeCursor):
+ (WebCore::northEastResizeCursor):
+ (WebCore::northWestResizeCursor):
+ (WebCore::southResizeCursor):
+ (WebCore::southEastResizeCursor):
+ (WebCore::southWestResizeCursor):
+ (WebCore::westResizeCursor):
+ (WebCore::northSouthResizeCursor):
+ (WebCore::eastWestResizeCursor):
+ (WebCore::northEastSouthWestResizeCursor):
+ (WebCore::northWestSouthEastResizeCursor):
+ (WebCore::columnResizeCursor):
+ (WebCore::rowResizeCursor):
+ (WebCore::verticalTextCursor):
+ (WebCore::cellCursor):
+ (WebCore::contextMenuCursor):
+ (WebCore::noDropCursor):
+ (WebCore::copyCursor):
+ (WebCore::progressCursor):
+ (WebCore::aliasCursor):
+ (WebCore::noneCursor):
+ (WebCore::notAllowedCursor):
+ (WebCore::zoomInCursor):
+ (WebCore::zoomOutCursor):
+ (WebCore::grabCursor):
+ (WebCore::grabbingCursor):
+ - Use the new system cursors.
+
+2010-04-13 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ <clipPath> doesn't correctly handle <text> elements
+ https://bugs.webkit.org/show_bug.cgi?id=12571
+
+ Adds support for text elements as clipPath, heterogenous clip rules, as well
+ as clipping of clipPath.
+ A fast code path let platforms clip simple shapes directly. All other variants
+ are drawn to a seperate ImageBuffer, which is used as a mask. This happens the same
+ way we like we do it on SVG Masking. This needs temporary changes to the RenderStyle
+ of clipPath childs. Values like stroke, resources, opacity have to be ignored.
+
+ Tests: svg/clip-path/clip-path-child-clipped.svg
+ svg/clip-path/clip-path-childs-clipped.svg
+ svg/clip-path/clip-path-clipped-evenodd-twice.svg
+ svg/clip-path/clip-path-clipped-no-content.svg
+ svg/clip-path/clip-path-clipped-nonzero.svg
+ svg/clip-path/clip-path-clipped.svg
+ svg/clip-path/clip-path-evenodd-nonzero.svg
+ svg/clip-path/clip-path-evenodd.svg
+ svg/clip-path/clip-path-nonzero-evenodd.svg
+ svg/clip-path/clip-path-nonzero.svg
+ svg/clip-path/clip-path-objectBoundingBox.svg
+ svg/clip-path/clip-path-on-clipped-use.svg
+ svg/clip-path/clip-path-on-g-and-child.svg
+ svg/clip-path/clip-path-on-g.svg
+ svg/clip-path/clip-path-on-svg-and-child.svg
+ svg/clip-path/clip-path-on-svg.svg
+ svg/clip-path/clip-path-recursive-call-by-child.svg
+ svg/clip-path/clip-path-recursive-call.svg
+ svg/clip-path/clip-path-text-and-shape.svg
+ svg/clip-path/clip-path-text-and-stroke.svg
+ svg/clip-path/clip-path-text.svg
+ svg/clip-path/clip-path-use-as-child.svg
+ svg/clip-path/clip-path-use-as-child2.svg
+ svg/clip-path/clip-path-use-as-child3.svg
+ svg/clip-path/clip-path-use-as-child4.svg
+ svg/clip-path/clip-path-use-as-child5.svg
+ svg/clip-path/clip-path-userSpaceOnUse.svg
+ svg/clip-path/clip-path-with-container.svg
+ svg/clip-path/clip-path-with-different-unittypes.svg
+ svg/clip-path/clip-path-with-different-unittypes2.svg
+ svg/clip-path/clip-path-with-invisibile-child.svg
+ svg/clip-path/clip-path-with-text-clipped.svg
+
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::isSVGShadowTreeRootContainer): identify use-element renderer
+ * rendering/RenderSVGResourceClipper.cpp:
+ (WebCore::RenderSVGResourceClipper::invalidateClients):
+ (WebCore::RenderSVGResourceClipper::invalidateClient):
+ (WebCore::RenderSVGResourceClipper::applyResource):
+ (WebCore::RenderSVGResourceClipper::pathOnlyClipping): direct clipping for simple shapes
+ (WebCore::RenderSVGResourceClipper::applyClippingToContext): direct clipping or maskImage?
+ (WebCore::RenderSVGResourceClipper::createClipData): creates maskImage for clipping
+ (WebCore::RenderSVGResourceClipper::resourceBoundingBox):
+ * rendering/RenderSVGResourceClipper.h:
+ * rendering/RenderSVGShadowTreeRootContainer.h: identify use-Element by renderer
+ (WebCore::RenderSVGShadowTreeRootContainer::isSVGShadowTreeRootContainer):
+ * rendering/SVGRenderSupport.cpp:
+ (WebCore::renderSubtreeToImage): hack to get texts working on clipping (masks and pattern)
+ * svg/SVGUseElement.cpp:
+ (WebCore::SVGUseElement::rendererClipChild): get renderer of referenced object
+ * svg/SVGUseElement.h:
+
+2010-04-13 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Reviewed by Dirk Schulze.
+
+ SVG renderers should track transform/path changes, instead of pulling every time from SVG DOM
+ https://bugs.webkit.org/show_bug.cgi?id=15389
+
+ RenderPath caches repaint rectangles (fill/stroke bbox etc.) though this caching
+ was effectively useless because every layout() call caused them to be reset to empty rects.
+ Furthermore RenderPath::layout() queried the SVG DOM upon every invocation to retrieve
+ the Path object, instead of only doing it when necessary. Even the TransformationMatrix
+ was polled everytime from the SVG DOM.
+
+ Move the knownledge wheter we need to update path/transform into the render tree and
+ only update when necessary. This should result in a huge performance increase, with
+ the drawback of adding slightly more memory, because we need to add booleans indicating
+ the status of path/transform (is dirty?).
+
+ Doesn't affect any tests, only performance.
+
+ * rendering/RenderForeignObject.cpp:
+ (WebCore::RenderForeignObject::RenderForeignObject):
+ (WebCore::RenderForeignObject::layout):
+ * rendering/RenderForeignObject.h:
+ (WebCore::RenderForeignObject::setNeedsTransformUpdate):
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::setNeedsTransformUpdate):
+ (WebCore::RenderObject::setNeedsBoundariesUpdate):
+ * rendering/RenderPath.cpp:
+ (WebCore::RenderPath::RenderPath):
+ (WebCore::RenderPath::layout):
+ (WebCore::RenderPath::invalidateCachedBoundaries):
+ (WebCore::RenderPath::styleWillChange):
+ * rendering/RenderPath.h:
+ (WebCore::RenderPath::setNeedsBoundariesUpdate):
+ (WebCore::RenderPath::setNeedsPathUpdate):
+ (WebCore::RenderPath::setNeedsTransformUpdate):
+ (WebCore::RenderPath::localToParentTransform):
+ (WebCore::RenderPath::localTransform):
+ * rendering/RenderSVGImage.cpp:
+ (WebCore::RenderSVGImage::RenderSVGImage):
+ (WebCore::RenderSVGImage::layout):
+ * rendering/RenderSVGImage.h:
+ (WebCore::RenderSVGImage::setNeedsTransformUpdate):
+ * rendering/RenderSVGResourceClipper.cpp:
+ (WebCore::RenderSVGResourceClipper::invalidateClients):
+ * rendering/RenderSVGResourceMarker.cpp:
+ (WebCore::RenderSVGResourceMarker::invalidateClients):
+ * rendering/RenderSVGResourceMasker.cpp:
+ (WebCore::RenderSVGResourceMasker::invalidateClients):
+ * rendering/RenderSVGText.cpp:
+ (WebCore::RenderSVGText::RenderSVGText):
+ (WebCore::RenderSVGText::layout):
+ * rendering/RenderSVGText.h:
+ (WebCore::RenderSVGText::setNeedsTransformUpdate):
+ * rendering/RenderSVGTransformableContainer.cpp:
+ (WebCore::RenderSVGTransformableContainer::RenderSVGTransformableContainer):
+ (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
+ * rendering/RenderSVGTransformableContainer.h:
+ (WebCore::RenderSVGTransformableContainer::localToParentTransform):
+ (WebCore::RenderSVGTransformableContainer::setNeedsTransformUpdate):
+ (WebCore::RenderSVGTransformableContainer::localTransform):
+ * svg/SVGAnimateMotionElement.cpp:
+ (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
+ (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
+ * svg/SVGAnimateTransformElement.cpp:
+ (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
+ * svg/SVGCircleElement.cpp:
+ (WebCore::SVGCircleElement::svgAttributeChanged):
+ * svg/SVGEllipseElement.cpp:
+ (WebCore::SVGEllipseElement::svgAttributeChanged):
+ * svg/SVGForeignObjectElement.cpp:
+ (WebCore::SVGForeignObjectElement::svgAttributeChanged):
+ * svg/SVGGElement.cpp:
+ (WebCore::SVGGElement::svgAttributeChanged):
+ * svg/SVGImageElement.cpp:
+ (WebCore::SVGImageElement::svgAttributeChanged):
+ * svg/SVGLineElement.cpp:
+ (WebCore::SVGLineElement::svgAttributeChanged):
+ * svg/SVGPathElement.cpp:
+ (WebCore::SVGPathElement::svgAttributeChanged):
+ * svg/SVGPolyElement.cpp:
+ (WebCore::SVGPolyElement::svgAttributeChanged):
+ * svg/SVGRectElement.cpp:
+ (WebCore::SVGRectElement::svgAttributeChanged):
+ * svg/SVGTextElement.cpp:
+ (WebCore::SVGTextElement::svgAttributeChanged):
+ * svg/SVGUseElement.cpp:
+ (WebCore::SVGUseElement::svgAttributeChanged):
+
+2010-04-13 Mikhail Naganov <mnaganov@chromium.org>
+
+ Unreviewed Qt build fix: add new .idl files to WebCore.pri
+
+ * WebCore.pri:
+
+2010-04-12 Mikhail Naganov <mnaganov@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Replace hand-written JavaScriptProfile* bindings with idl-based, and
+ in Chromium port, bind them to the new V8's profiler API that is
+ aligned with JSC.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37448
+
+ * DerivedSources.cpp:
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSBindingsAllInOne.cpp:
+ * bindings/js/JSConsoleCustom.cpp:
+ * bindings/js/JSScriptProfileNodeCustom.cpp: Added.
+ (WebCore::JSScriptProfileNode::callUID):
+ (WebCore::JSScriptProfileNode::children):
+ * bindings/js/JavaScriptProfile.cpp: Removed.
+ * bindings/js/JavaScriptProfile.h: Removed.
+ * bindings/js/JavaScriptProfileNode.cpp: Removed.
+ * bindings/js/JavaScriptProfileNode.h: Removed.
+ * bindings/js/ScriptProfileNode.h: Added.
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/ScriptProfile.cpp: Added.
+ (WebCore::ScriptProfile::title):
+ (WebCore::ScriptProfile::uid):
+ (WebCore::ScriptProfile::head):
+ * bindings/v8/ScriptProfile.h:
+ (WebCore::ScriptProfile::create):
+ (WebCore::ScriptProfile::ScriptProfile):
+ * bindings/v8/ScriptProfileNode.cpp: Added.
+ (WebCore::ScriptProfileNode::functionName):
+ (WebCore::ScriptProfileNode::url):
+ (WebCore::ScriptProfileNode::lineNumber):
+ (WebCore::ScriptProfileNode::totalTime):
+ (WebCore::ScriptProfileNode::selfTime):
+ (WebCore::ScriptProfileNode::numberOfCalls):
+ (WebCore::ScriptProfileNode::children):
+ (WebCore::ScriptProfileNode::visible):
+ (WebCore::ScriptProfileNode::callUID):
+ * bindings/v8/ScriptProfileNode.h: Added.
+ (WebCore::ScriptProfileNode::create):
+ (WebCore::ScriptProfileNode::~ScriptProfileNode):
+ (WebCore::ScriptProfileNode::ScriptProfileNode):
+ * bindings/v8/ScriptProfiler.cpp:
+ (WebCore::ScriptProfiler::start):
+ (WebCore::ScriptProfiler::stop):
+ * bindings/v8/custom/V8ConsoleCustom.cpp: Added.
+ (WebCore::V8Console::profilesAccessorGetter):
+ * bindings/v8/custom/V8ScriptProfileCustom.cpp: Added.
+ (WebCore::toV8):
+ * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp: Added.
+ (WebCore::V8ScriptProfileNode::childrenAccessorGetter):
+ (WebCore::V8ScriptProfileNode::callUIDAccessorGetter):
+ (WebCore::toV8):
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::getProfile):
+ * inspector/ScriptProfile.idl: Added.
+ * inspector/ScriptProfileNode.idl: Added.
+ * inspector/front-end/InspectorBackendStub.js:
+ (.WebInspector.InspectorBackendStub.prototype.getProfile):
+ * inspector/front-end/ProfilesPanel.js:
+ (WebInspector.ProfilesPanel.prototype.populateInterface):
+ (WebInspector.ProfilesPanel.prototype.profilerWasEnabled):
+ * page/Console.idl:
+ * platform/android/TemporaryLinkStubs.cpp:
+
+2010-04-12 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ Spatial Navigation: make renderRectRelativeToRootDocument method to fallback to getRect() of Element when needed
+ https://bugs.webkit.org/show_bug.cgi?id=37461
+
+ getRect() of Element can be used instead of absoluteClippedOverflowRect of RenderObject when
+ the node is currently offscreen in an scroll overflowed content.
+
+ Test: fast/events/spatial-navigation/snav-simple-content-overflow.html
+
+ * page/SpatialNavigation.cpp:
+ (WebCore::renderRectRelativeToRootDocument):
+
+2010-04-12 Antonio Gomes <tonikitoo@webkit.org>
+
+ Unreviewed style fix.
+
+ * page/FocusController.cpp:
+ (WebCore::updateFocusCandidateIfCloser):
+
+2010-04-08 yael aharon <yael.aharon@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Accessibility support for progress element
+ https://bugs.webkit.org/show_bug.cgi?id=37275
+
+ Implement AccessibilityProgressIndicator to hook up progress element to accessibility framework.
+
+ Test: platform/mac/accessibility/progressbar.html
+
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * accessibility/AXObjectCache.cpp:
+ (WebCore::AXObjectCache::getOrCreate):
+ * accessibility/AccessibilityProgressIndicator.cpp: Added.
+ (WebCore::AccessibilityProgressIndicator::AccessibilityProgressIndicator):
+ (WebCore::AccessibilityProgressIndicator::create):
+ (WebCore::AccessibilityProgressIndicator::accessibilityIsIgnored):
+ (WebCore::AccessibilityProgressIndicator::valueForRange):
+ (WebCore::AccessibilityProgressIndicator::maxValueForRange):
+ (WebCore::AccessibilityProgressIndicator::minValueForRange):
+ (WebCore::AccessibilityProgressIndicator::element):
+ * accessibility/AccessibilityProgressIndicator.h: Added.
+ (WebCore::AccessibilityProgressIndicator::roleValue):
+ (WebCore::AccessibilityProgressIndicator::isProgressIndicator):
+ * rendering/RenderProgress.cpp:
+ (WebCore::RenderProgress::updateFromElement):
+ (WebCore::RenderProgress::progressElement):
+ * rendering/RenderProgress.h:
+
+2010-04-12 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Throwing a SECURITY_ERR when openDatabase() cannot open a database
+ for whatever reason, as required by the spec.
+ https://bugs.webkit.org/show_bug.cgi?id=33916
+
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::openDatabase):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::V8DOMWindow::openDatabaseCallback):
+
+2010-04-12 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ WebKit should have more robust last-chance font fallback on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=37473
+ <rdar://problem/7789438> Crash in FontFallbackList::determinePitch
+ <rdar://problem/7233762> Crash in FontFallbackList::fontDataAt
+
+ Look harder for a suitable last-resort font. Previously, we checked for
+ "Times New Roman" followed by DEFAULT_GUI_FONT.
+
+ We now look for:
+ - Typically installed Unicode-capable fonts, in order of coverage
+ - DEFAULT_GUI_FONT
+ - SPI_GETNONCLIENTMETRICS fonts
+
+ * platform/graphics/win/FontCacheWin.cpp:
+ (WebCore::FontCache::fontDataFromDescriptionAndLogFont):
+ (WebCore::FontCache::getLastResortFallbackFont):
+
+2010-04-12 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37469, clean up ShadowData to be encapsulated properly.
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::CSSComputedStyleDeclaration::valueForShadow):
+ * page/animation/AnimationBase.cpp:
+ (WebCore::blendFunc):
+ (WebCore::PropertyWrapperShadow::PropertyWrapperShadow):
+ (WebCore::PropertyWrapperShadow::equals):
+ (WebCore::PropertyWrapperShadow::blend):
+ * page/mac/FrameMac.mm:
+ (WebCore::Frame::fontAttributesForSelectionStart):
+ * rendering/EllipsisBox.cpp:
+ (WebCore::EllipsisBox::paint):
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::placeBoxesHorizontally):
+ (WebCore::InlineFlowBox::computeVerticalOverflow):
+ (WebCore::InlineFlowBox::paintTextDecorations):
+ * rendering/InlineTextBox.cpp:
+ (WebCore::paintTextWithShadows):
+ (WebCore::InlineTextBox::paint):
+ (WebCore::InlineTextBox::paintDecoration):
+ * rendering/InlineTextBox.h:
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::paintBoxShadow):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::calculateRects):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::adjustRectForOutlineAndShadow):
+ * rendering/SVGInlineTextBox.cpp:
+ (WebCore::SVGInlineTextBox::paintCharacters):
+ * rendering/SVGRenderSupport.cpp:
+ (WebCore::SVGRenderBase::prepareToRenderSVGContent):
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::setTextShadow):
+ (WebCore::RenderStyle::setBoxShadow):
+ (WebCore::RenderStyle::getBoxShadowExtent):
+ (WebCore::RenderStyle::getBoxShadowHorizontalExtent):
+ (WebCore::RenderStyle::getBoxShadowVerticalExtent):
+ * rendering/style/RenderStyle.h:
+ (WebCore::InheritedFlags::textShadow):
+ (WebCore::InheritedFlags::boxShadow):
+ * rendering/style/SVGRenderStyle.cpp:
+ (WebCore::getSVGShadowExtent):
+ * rendering/style/ShadowData.cpp:
+ (WebCore::ShadowData::ShadowData):
+ (WebCore::ShadowData::operator==):
+ * rendering/style/ShadowData.h:
+ (WebCore::ShadowData::ShadowData):
+ (WebCore::ShadowData::~ShadowData):
+ (WebCore::ShadowData::x):
+ (WebCore::ShadowData::y):
+ (WebCore::ShadowData::blur):
+ (WebCore::ShadowData::spread):
+ (WebCore::ShadowData::style):
+ (WebCore::ShadowData::color):
+ (WebCore::ShadowData::next):
+ (WebCore::ShadowData::setNext):
+
+2010-04-12 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37463, clean up NinePieceImage.
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::valueForNinePieceImage):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::mapNinePieceImage):
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::paintNinePieceImage):
+ * rendering/style/NinePieceImage.h:
+ (WebCore::NinePieceImage::setImage):
+ (WebCore::NinePieceImage::slices):
+ (WebCore::NinePieceImage::setSlices):
+ (WebCore::NinePieceImage::setHorizontalRule):
+ (WebCore::NinePieceImage::verticalRule):
+ (WebCore::NinePieceImage::setVerticalRule):
+
+2010-04-12 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37455, :visited doesn't work with multiple classes/ids.
+
+ Added fast/history/multiple-classes-visited.html.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
+
+2010-04-12 Dirk Schulze <krit@webkit.org>
+
+ Unreviewed build fix.
+
+ Make comma/whitespace around arc flags optional in SVG path syntax
+ https://bugs.webkit.org/show_bug.cgi?id=37431
+
+ Fix the SL build.
+
+ * svg/SVGParserUtilities.cpp:
+ (WebCore::parseArcFlag):
+
+2010-04-12 Jeff Schiller <codedread@gmail.com>
+
+ Reviewed by Dirk Schulze.
+
+ Make comma/whitespace around arc flags optional in SVG path syntax and ensure flags are
+ either 0 or 1: https://bugs.webkit.org/show_bug.cgi?id=37431
+
+ * svg/SVGParserUtilities.cpp:
+ (WebCore::parseArcFlag): function to read in a 0 or 1 for largeArcFlag and sweepFlag
+ (WebCore::SVGPathParser::parseSVG): modify/simplify arc parsing by using parseArcFlag()
+
+2010-04-11 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r57468.
+ http://trac.webkit.org/changeset/57468
+ https://bugs.webkit.org/show_bug.cgi?id=37433
+
+ Broke the world... Must have applied the patch wrong
+ (Requested by abarth on #webkit).
+
+ * Android.mk:
+ * GNUmakefile.am:
+ * WebCore.base.exp:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/ScriptControllerBase.cpp:
+ (WebCore::ScriptController::executeIfJavaScriptURL):
+ * dom/Document.cpp:
+ (WebCore::Document::close):
+ * dom/ProcessingInstruction.cpp:
+ (WebCore::ProcessingInstruction::checkStyleSheet):
+ * dom/ScriptElement.cpp:
+ (WebCore::ScriptElementData::scriptCharset):
+ * html/HTMLLinkElement.cpp:
+ (WebCore::HTMLLinkElement::process):
+ * loader/DocLoader.cpp:
+ (WebCore::DocLoader::requestPreload):
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::finishedLoading):
+ (WebCore::DocumentLoader::setupForReplaceByMIMEType):
+ * loader/DocumentWriter.cpp: Removed.
+ * loader/DocumentWriter.h: Removed.
+ * loader/FrameLoader.cpp:
+ (WebCore::canReferToParentFrameEncoding):
+ (WebCore::FrameLoader::FrameLoader):
+ (WebCore::FrameLoader::init):
+ (WebCore::FrameLoader::replaceDocument):
+ (WebCore::FrameLoader::clear):
+ (WebCore::FrameLoader::receivedFirstData):
+ (WebCore::FrameLoader::responseMIMEType):
+ (WebCore::FrameLoader::setResponseMIMEType):
+ (WebCore::FrameLoader::begin):
+ (WebCore::FrameLoader::write):
+ (WebCore::FrameLoader::end):
+ (WebCore::FrameLoader::endIfNotLoadingMainResource):
+ (WebCore::FrameLoader::encoding):
+ (WebCore::FrameLoader::setEncoding):
+ (WebCore::FrameLoader::addData):
+ (WebCore::FrameLoader::transitionToCommitted):
+ (WebCore::FrameLoader::open):
+ (WebCore::FrameLoader::finishedLoadingDocument):
+ (WebCore::FrameLoader::addExtraFieldsToRequest):
+ * loader/FrameLoader.h:
+ * loader/MediaDocument.cpp:
+ (WebCore::MediaDocument::replaceMediaElementTimerFired):
+ * loader/PluginDocument.cpp:
+ (WebCore::PluginTokenizer::createDocumentStructure):
+ * platform/network/FormDataBuilder.cpp:
+ (WebCore::FormDataBuilder::dataEncoding):
+ * svg/graphics/SVGImage.cpp:
+ (WebCore::SVGImage::dataChanged):
+
+2010-04-11 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Factor DocumentWriter out of FrameLoader
+ https://bugs.webkit.org/show_bug.cgi?id=37175
+
+ This patch separates the begin/write/end cycle of decoding network
+ bytes and putting them into a document from the rest of the loading
+ machinery. The code and state required to write bytes into a document
+ doesn't interact very much with the rest of the loading machinery.
+
+ No tests because there is no behavior change (hopefully!).
+
+ * Android.mk:
+ * GNUmakefile.am:
+ * WebCore.base.exp:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/ScriptControllerBase.cpp:
+ (WebCore::ScriptController::executeIfJavaScriptURL):
+ * dom/Document.cpp:
+ (WebCore::Document::close):
+ * dom/ProcessingInstruction.cpp:
+ (WebCore::ProcessingInstruction::checkStyleSheet):
+ * dom/ScriptElement.cpp:
+ (WebCore::ScriptElementData::scriptCharset):
+ * html/HTMLLinkElement.cpp:
+ (WebCore::HTMLLinkElement::process):
+ * loader/DocLoader.cpp:
+ (WebCore::DocLoader::requestPreload):
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::finishedLoading):
+ (WebCore::DocumentLoader::setupForReplaceByMIMEType):
+ * loader/DocumentWriter.cpp: Added.
+ * loader/DocumentWriter.h: Added.
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::FrameLoader):
+ (WebCore::FrameLoader::init):
+ (WebCore::FrameLoader::clear):
+ (WebCore::FrameLoader::receivedFirstData):
+ (WebCore::FrameLoader::setURL):
+ (WebCore::FrameLoader::didBeginDocument):
+ (WebCore::FrameLoader::didEndDocument):
+ (WebCore::FrameLoader::willSetEncoding):
+ (WebCore::FrameLoader::addData):
+ (WebCore::FrameLoader::transitionToCommitted):
+ (WebCore::FrameLoader::open):
+ (WebCore::FrameLoader::finishedLoadingDocument):
+ (WebCore::FrameLoader::addExtraFieldsToRequest):
+ * loader/FrameLoader.h:
+ (WebCore::FrameLoader::writer):
+ (WebCore::FrameLoader::isDisplayingInitialEmptyDocument):
+ * loader/MediaDocument.cpp:
+ (WebCore::MediaDocument::replaceMediaElementTimerFired):
+ * loader/PluginDocument.cpp:
+ (WebCore::PluginTokenizer::createDocumentStructure):
+ * platform/network/FormDataBuilder.cpp:
+ (WebCore::FormDataBuilder::dataEncoding):
+ * svg/graphics/SVGImage.cpp:
+ (WebCore::SVGImage::dataChanged):
+
+2010-04-07 Tony Chang <tony@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ [chromium] implement getData('text/html') for paste and drop events
+ https://bugs.webkit.org/show_bug.cgi?id=37193
+
+ Tests: editing/pasteboard/onpaste-text-html.html
+ fast/events/ondrop-text-html.html
+
+ * platform/chromium/ClipboardChromium.cpp:
+ (WebCore::):
+ (WebCore::clipboardTypeFromMIMEType): add html type
+ (WebCore::ClipboardChromium::clearData): implement clear text/html
+ (WebCore::ClipboardChromium::getData): implement get text/html (similar to text/plain)
+ (WebCore::ClipboardChromium::setData): implement set text/html
+
+2010-04-10 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Rename m_forceSandboxFlags to m_forcedSandoxFlags, as
+ requested by Darin Adler.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::FrameLoader):
+ (WebCore::FrameLoader::updateSandboxFlags):
+ * loader/FrameLoader.h:
+ (WebCore::FrameLoader::setForcedSandboxFlags):
+ * svg/graphics/SVGImage.cpp:
+ (WebCore::SVGImage::dataChanged):
+
+2010-04-10 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ <rdar://problem/7845305> Further adoption of formal protocols for delegates.
+
+ Move EmptyProtocolDefinitions.h down in to WebCore, and add the new protocols. Adopt the protocols in the appropriate places.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/mac/EmptyProtocolDefinitions.h: Renamed from WebKit/mac/Misc/EmptyProtocolDefinitions.h.
+ * platform/network/mac/ResourceHandleMac.mm:
+
+2010-04-10 Chris Evans <cevans@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Defense in depth: make sure an SVG document in the <img> context has
+ a unique origin.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37392
+
+ * svg/graphics/SVGImage.cpp:
+ (WebCore::SVGImage::dataChanged):
+ Force the temporary rendering context into a unique origin.
+ * loader/FrameLoader.h:
+ (WebCore::FrameLoader::setForceSandboxFlags):
+ Support for setting sandbox flags that will always be applied.
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::updateSandboxFlags):
+ Always apply any forced flags.
+
+2010-04-10 Vangelis Kokkevis <vangelis@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Moving files associated with the GPU compositor from platform/graphics/skia to platform/graphics/chromium. Class
+ rename was done in a previous CL, this CL does the file move and rename.
+ https://bugs.webkit.org/show_bug.cgi?id=37231
+
+ No new functionality, no new tests.
+
+ * WebCore.gypi:
+ * platform/graphics/chromium/GraphicsLayerChromium.cpp: Copied from WebCore/platform/graphics/skia/GraphicsLayerSkia.cpp.
+ * platform/graphics/chromium/GraphicsLayerChromium.h: Copied from WebCore/platform/graphics/skia/GraphicsLayerSkia.h.
+ * platform/graphics/chromium/LayerChromium.cpp: Copied from WebCore/platform/graphics/skia/LayerSkia.cpp.
+ * platform/graphics/chromium/LayerChromium.h: Copied from WebCore/platform/graphics/skia/LayerSkia.h.
+ * platform/graphics/chromium/LayerRendererChromium.cpp: Copied from WebCore/platform/graphics/skia/LayerRendererSkia.cpp.
+ * platform/graphics/chromium/LayerRendererChromium.h: Copied from WebCore/platform/graphics/skia/LayerRendererSkia.h.
+ * platform/graphics/skia/GraphicsLayerSkia.cpp: Removed.
+ * platform/graphics/skia/GraphicsLayerSkia.h: Removed.
+ * platform/graphics/skia/LayerRendererSkia.cpp: Removed.
+ * platform/graphics/skia/LayerRendererSkia.h: Removed.
+ * platform/graphics/skia/LayerSkia.cpp: Removed.
+ * platform/graphics/skia/LayerSkia.h: Removed.
+
+2010-04-10 Robert Hogan <robert@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Refactor Qt DRT support in QtWebKit
+
+ https://bugs.webkit.org/show_bug.cgi?id=35844
+
+ * WebCore.pro: Add DumpRenderTreeSupportQt.cpp
+
+2010-04-10 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by David Kilzer.
+
+ Missing CONTEXT_MENUS Guards
+ https://bugs.webkit.org/show_bug.cgi?id=37398
+
+ Added missing ENABLE(CONTEXT_MENUS) guards.
+
+ * bindings/js/JSInspectorFrontendHostCustom.cpp:
+ (WebCore::JSInspectorFrontendHost::showContextMenu):
+ * inspector/InspectorFrontendHost.cpp:
+ (WebCore::InspectorFrontendHost::InspectorFrontendHost):
+ (WebCore::InspectorFrontendHost::disconnectClient):
+ * inspector/InspectorFrontendHost.h:
+
+2010-04-10 Stephan Aßmus <superstippi@gmx.de>
+
+ Reviewed by Eric Seidel.
+
+ [Haiku] Fix crash in Gradient::fill()
+ https://bugs.webkit.org/show_bug.cgi?id=37386
+
+ Covered by existing tests.
+
+ * platform/graphics/haiku/GradientHaiku.cpp:
+ (WebCore::Gradient::fill):
+ - Make sure the platform gradient is already cached before
+ dereferencing its pointer.
+
+2010-04-10 Stephan Aßmus <superstippi@gmx.de>
+
+ Reviewed by Eric Seidel.
+
+ [Haiku] Fix build of ImageHaiku.cpp
+ <https://bugs.webkit.org/show_bug.cgi?id=37384>
+
+ No new tests needed.
+
+ * platform/graphics/haiku/ImageHaiku.cpp:
+ (WebCore::Image::drawPattern):
+ - include SharedBuffer.h
+ - changed parameter name to be in line with other ports,
+ the code I landed in an earlier commit was already using
+ this name.
+
+2010-04-10 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Implement Desktop Notifications API for QtWebKit
+ https://bugs.webkit.org/show_bug.cgi?id=35503
+
+ No new tests enabled as notification DRT tests are
+ disabled at the moment.
+
+ * WebCore.pri: Add files to the build system and turn
+ on the feature by default.
+
+ * WebCore.pro: Add files to the build system
+
+ * bindings/js/JSDesktopNotificationsCustom.cpp:
+ (WebCore::JSNotificationCenter::requestPermission):
+ (WebCore::JSNotification::addEventListener):
+ (WebCore::JSNotification::removeEventListener):
+ Fix build regresssion.
+
+2010-04-09 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Joseph Pecoraro.
+
+ Web Inspector: Console with two recursive arrays causes infinite loop trying to display.
+ https://bugs.webkit.org/show_bug.cgi?id=37133
+
+ * inspector/front-end/ConsoleView.js:
+ (WebInspector.ConsoleView.prototype._printArray):
+ (WebInspector.ConsoleView.prototype._formatAsArrayEntry):
+ * inspector/front-end/InjectedScript.js:
+ (injectedScriptConstructor):
+
+2010-04-09 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Eric Seidel.
+
+ [wx] Basic implementation of SVG support for wx port.
+
+ * css/CSSFontFaceSource.cpp:
+ * platform/graphics/wx/FontPlatformData.h:
+ (WebCore::FontPlatformData::FontPlatformData):
+ (WebCore::FontPlatformData::size):
+ * platform/graphics/wx/FontPlatformDataWx.cpp:
+ (WebCore::FontPlatformData::FontPlatformData):
+ * platform/graphics/wx/GraphicsContextWx.cpp:
+ (WebCore::GraphicsContext::GraphicsContext):
+ (WebCore::GraphicsContext::clipPath):
+ (WebCore::GraphicsContext::getCTM):
+ (WebCore::GraphicsContext::beginPath):
+ (WebCore::GraphicsContext::addPath):
+ (WebCore::GraphicsContext::concatCTM):
+ (WebCore::GraphicsContext::fillPath):
+ (WebCore::GraphicsContext::strokePath):
+ (WebCore::GraphicsContext::setLineDash):
+ * platform/graphics/wx/ImageBufferWx.cpp:
+ (WebCore::ImageBuffer::platformTransformColorSpace):
+ * platform/graphics/wx/PathWx.cpp:
+ (WebCore::Path::strokeContains):
+ (WebCore::Path::debugString):
+ (WebCore::Path::operator=):
+ (WebCore::Path::isEmpty):
+ * rendering/RenderSVGResourceMasker.cpp:
+ * wscript:
+
+2010-04-09 Evan Martin <evan@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ StorageEvent destructor should be in StorageEvent.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=37356
+
+ Because Storage is forward-declared in StorageEvent.h, we need to define
+ the StorageEvent destructor in the .cpp file so that the RefPtr<Storage>
+ destructor has a complete type for Storage.
+
+ * storage/StorageEvent.cpp:
+ (WebCore::StorageEvent::~StorageEvent):
+ * storage/StorageEvent.h:
+
+2010-04-09 Young Han Lee <joybro@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [WINCE] Add forwarding header for UnicodeWince.h
+ https://bugs.webkit.org/show_bug.cgi?id=37224
+
+ * ForwardingHeaders/wtf/unicode/wince/UnicodeWince.h: Added.
+
+2010-04-09 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam "R the K!" Weinig.
+
+ Tidied up some more DOMWrapperWorld lifetime issues.
+
+ * bindings/js/DOMWrapperWorld.cpp:
+ (WebCore::DOMWrapperWorld::~DOMWrapperWorld): Notify the document that
+ we're going away instead of deleting its data, since deleting other
+ objects' data is error-prone and, more importantly, rude.
+
+ * bindings/js/DOMWrapperWorld.h:
+ (WebCore::DOMWrapperWorld::didCreateWrapperCache):
+ (WebCore::DOMWrapperWorld::didDestroyWrapperCache): A few renames for
+ clarity.
+
+ * bindings/js/JSDOMBinding.cpp:
+ * bindings/js/JSDOMBinding.h: Converted forgetAllDOMNodesForDocument
+ to a Document member function, for the same reason.
+
+ * dom/Document.cpp:
+ (WebCore::Document::~Document):
+ (WebCore::Document::createWrapperCache):
+ (WebCore::Document::destroyWrapperCache):
+ (WebCore::Document::destroyAllWrapperCaches):
+ * dom/Document.h: Added a destroyWrapperCache function to balance
+ createWrapperCache, so it's clear who allocates and deletes these wrapper
+ caches.
+
+2010-04-09 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Fixed bug where animation time was not updated when dynamically loading a style sheet
+ https://bugs.webkit.org/show_bug.cgi?id=37352
+
+ A dynamically loaded style sheet kicks off its own styleRecalc cycle. This was not
+ bracketed with a beginAnimationUpdate/endAnimationUpdate which wasn't resetting the
+ animation time. In some time-dependent cases this was causing a negative elapsedTime
+ to be sent to the keyframe animator. This is an invalid case which destroys the
+ animation prematurely. I not only added the brackets, but I also added an assert
+ and protection for when the elapsedTime comes up negative.
+
+ Test: animations/dynamic-stylesheet-loading.html
+
+ * dom/Document.cpp: Added brackets
+ (WebCore::Document::updateStyleSelector):
+ * page/animation/KeyframeAnimation.cpp: Added assert and protection
+ (WebCore::KeyframeAnimation::getKeyframeAnimationInterval):
+
+2010-04-09 Jaime Yap <jaimeyap@google.com>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Fixes "wrong parent" for GCEvents that come at the end of a
+ timeline record node.
+ https://bugs.webkit.org/show_bug.cgi?id=37340
+
+ * inspector/InspectorTimelineAgent.cpp:
+ (WebCore::InspectorTimelineAgent::didInstallTimer):
+ (WebCore::InspectorTimelineAgent::didRemoveTimer):
+ (WebCore::InspectorTimelineAgent::didMarkTimeline):
+ (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
+ (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
+ (WebCore::InspectorTimelineAgent::addRecordToTimeline):
+ (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
+
+2010-04-09 Abhishek Arya <inferno@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Prevent HTTP responses served with JSON content type from being rendered as HTML.
+
+ Test: http/tests/security/xss-DENIED-mime-type-execute-as-html.html
+
+ * dom/DOMImplementation.cpp:
+ (WebCore::DOMImplementation::isTextMIMEType): Render application/json as text/plain.
+ * platform/MIMETypeRegistry.cpp:
+ (WebCore::initializeSupportedNonImageMimeTypes): Add a compile assert to prevent addition of new mime types in non-image types.
+
+2010-04-09 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Prevent wrong use of PrintContext
+ https://bugs.webkit.org/show_bug.cgi?id=37194
+
+ No new tests because this doesn't change the behavior.
+
+ * page/PrintContext.cpp:
+ (WebCore::PrintContext::PrintContext):
+ (WebCore::PrintContext::~PrintContext):
+ (WebCore::PrintContext::begin):
+ (WebCore::PrintContext::end):
+ * page/PrintContext.h:
+
+2010-04-09 Vitaly Repeshko <vitalyr@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [V8] SerializedScriptValue value doesn't follow the spec for DOM objects and files
+ https://bugs.webkit.org/show_bug.cgi?id=37094
+
+ This patch adds support for file-related types.
+
+ * bindings/v8/SerializedScriptValue.cpp:
+ (WebCore::):
+ (WebCore::Writer::writeString):
+ (WebCore::Writer::writeWebCoreString):
+ (WebCore::Writer::writeBlob):
+ (WebCore::Writer::writeFile):
+ (WebCore::Writer::writeFileList):
+ (WebCore::Writer::doWriteString):
+ (WebCore::Writer::doWriteWebCoreString):
+ (WebCore::Serializer::writeBlob):
+ (WebCore::Serializer::writeFile):
+ (WebCore::Serializer::writeFileList):
+ (WebCore::Serializer::doSerialize):
+ (WebCore::Reader::read):
+ (WebCore::Reader::readWebCoreString):
+ (WebCore::Reader::readBlob):
+ (WebCore::Reader::readFile):
+ (WebCore::Reader::readFileList):
+ (WebCore::SerializedScriptValue::SerializedScriptValue):
+
+2010-04-09 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Cameron Zwarich.
+
+ Tidied up some DOMWrapperWorld lifetime issues.
+
+ * bindings/js/DOMWrapperWorld.cpp:
+ (WebCore::DOMWrapperWorld::DOMWrapperWorld): Made DOMWrapperWorld wholly
+ responsible for managing its presence in WebCoreJSClientData's world set.
+ This is simpler and more encapsulated than making its clients sometimes
+ responsible for managing that set and sometimes not.
+
+ * bindings/js/DOMWrapperWorld.h:
+ (WebCore::DOMWrapperWorld::create): Made isNormal default to false,
+ removing one of the reasons for the IsolatedWorld class to exist, so I
+ could remove that class.
+
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::JSDOMWindowBase::commonJSGlobalData): Used the work-around below.
+
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::createWorld): Nixed IsolatedWorld, which is
+ now superfluous.
+
+ * bindings/js/WebCoreJSClientData.h:
+ (WebCore::initNormalWorldClientData): Added a work-around for the fact
+ that WebCoreJSClientData must be set as globalData->clientData before
+ the DOMWrapperWorld constructor runs. This removed the other reason
+ for the IsolatedWorld class to exist, so I could remove that class.
+
+2010-04-09 Yaar Schnitman <yaar@chromium.org>
+
+ Reviewed by Nate Chapin.
+
+ Testing utility for CodeGeneratorV8.pm
+ https://bugs.webkit.org/show_bug.cgi?id=37286
+
+ * bindings/v8/test: Added.
+ * bindings/v8/test/TestObj.idl: Contains basic IDL definitions for testing purposes.
+ * bindings/v8/test/V8TestObj.cpp: Expected output.
+ * bindings/v8/test/V8TestObj.h: Expected output.
+ * bindings/v8/test/run_tests.py: Tool for generating the above h/cpp files from the idl file.
+
+2010-04-09 Darin Adler <darin@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37370
+ Division by 0 in RenderBoxModelObject::calculateFillTileSize
+
+ Test: fast/backgrounds/background-fill-zero-area-crash.html
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::calculateFillTileSize): Added checks for
+ zero before doing division. These come up when the area to fill is zero.
+
+2010-04-09 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24572
+ XMLHttpRequest.statusText returns always "OK" on Mac
+
+ Covered by existing tests, which now pass.
+
+ * WebCore.base.exp:
+ * platform/mac/WebCoreSystemInterface.h:
+ * platform/mac/WebCoreSystemInterface.mm:
+ Added a WebKitSystemInterface method to fetch status line.
+
+ * platform/network/HTTPParsers.cpp: (WebCore::extractReasonPhraseFromHTTPStatusLine):
+ * platform/network/HTTPParsers.h:
+ * platform/network/cf/ResourceResponseCFNet.cpp: (WebCore::ResourceResponse::platformLazyInit):
+ Moved code for parsing status line to HTTPHeaders, as it's used for both Mac and CF now.
+
+ * platform/network/mac/ResourceResponseMac.mm: (WebCore::ResourceResponse::platformLazyInit):
+ Use the actual reason phrase when available, and "OK" otherwise. Synthesizing a reson when
+ there isn't one is misleading, so we'll stick to our old broken behavior on Tiger, rather than
+ introduce a new broken one.
+
+2010-04-09 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37361, clean up FillLayer.
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ * rendering/style/FillLayer.h:
+ (WebCore::FillLayer::sizeType):
+ * rendering/style/RenderStyle.h:
+ (WebCore::InheritedFlags::backgroundImage):
+ (WebCore::InheritedFlags::backgroundRepeatX):
+ (WebCore::InheritedFlags::backgroundRepeatY):
+ (WebCore::InheritedFlags::backgroundComposite):
+ (WebCore::InheritedFlags::backgroundAttachment):
+ (WebCore::InheritedFlags::backgroundClip):
+ (WebCore::InheritedFlags::backgroundOrigin):
+ (WebCore::InheritedFlags::backgroundXPosition):
+ (WebCore::InheritedFlags::backgroundYPosition):
+ (WebCore::InheritedFlags::backgroundSizeType):
+ (WebCore::InheritedFlags::backgroundSizeLength):
+ (WebCore::InheritedFlags::maskImage):
+ (WebCore::InheritedFlags::maskRepeatX):
+ (WebCore::InheritedFlags::maskRepeatY):
+ (WebCore::InheritedFlags::maskComposite):
+ (WebCore::InheritedFlags::maskAttachment):
+ (WebCore::InheritedFlags::maskClip):
+ (WebCore::InheritedFlags::maskOrigin):
+ (WebCore::InheritedFlags::maskXPosition):
+ (WebCore::InheritedFlags::maskYPosition):
+ (WebCore::InheritedFlags::maskSizeType):
+ (WebCore::InheritedFlags::maskSizeLength):
+
+2010-04-09 Sam Weinig <sam@webkit.org>
+
+ Add another missing export to fix the build.
+
+ * WebCore.base.exp:
+
+2010-04-09 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Adam Roben.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37353, clean up cursors used by RenderStyles.
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::selectCursor):
+ * rendering/style/CursorData.h:
+ (WebCore::CursorData::CursorData):
+ (WebCore::CursorData::operator==):
+ (WebCore::CursorData::image):
+ (WebCore::CursorData::hotSpot):
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::addCursor):
+
+2010-04-09 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Adam Roben.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37349, RenderStyle cleanup. Working from the outside in to
+ bring some style consistency to RenderStyle and its associated classes. This patch cleans up the
+ border and outline classes.
+
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::calcBorderLeft):
+ (WebCore::RenderTable::calcBorderRight):
+ (WebCore::RenderTable::outerBorderTop):
+ (WebCore::RenderTable::outerBorderBottom):
+ (WebCore::RenderTable::outerBorderLeft):
+ (WebCore::RenderTable::outerBorderRight):
+ * rendering/RenderTableCell.cpp:
+ (WebCore::compareBorders):
+ * rendering/RenderTableSection.cpp:
+ (WebCore::RenderTableSection::calcOuterBorderTop):
+ (WebCore::RenderTableSection::calcOuterBorderBottom):
+ (WebCore::RenderTableSection::calcOuterBorderLeft):
+ (WebCore::RenderTableSection::calcOuterBorderRight):
+ * rendering/style/BorderData.h:
+ (WebCore::BorderData::hasBorder):
+ (WebCore::BorderData::hasBorderRadius):
+ (WebCore::BorderData::borderLeftWidth):
+ (WebCore::BorderData::borderRightWidth):
+ (WebCore::BorderData::borderTopWidth):
+ (WebCore::BorderData::borderBottomWidth):
+ (WebCore::BorderData::operator==):
+ (WebCore::BorderData::left):
+ (WebCore::BorderData::right):
+ (WebCore::BorderData::top):
+ (WebCore::BorderData::bottom):
+ (WebCore::BorderData::image):
+ (WebCore::BorderData::topLeft):
+ (WebCore::BorderData::topRight):
+ (WebCore::BorderData::bottomLeft):
+ (WebCore::BorderData::bottomRight):
+ * rendering/style/BorderValue.h:
+ (WebCore::BorderValue::BorderValue):
+ (WebCore::BorderValue::nonZero):
+ (WebCore::BorderValue::isTransparent):
+ (WebCore::BorderValue::operator==):
+ (WebCore::BorderValue::color):
+ (WebCore::BorderValue::width):
+ (WebCore::BorderValue::style):
+ * rendering/style/CollapsedBorderValue.h:
+ (WebCore::CollapsedBorderValue::CollapsedBorderValue):
+ (WebCore::CollapsedBorderValue::width):
+ (WebCore::CollapsedBorderValue::style):
+ (WebCore::CollapsedBorderValue::exists):
+ (WebCore::CollapsedBorderValue::color):
+ (WebCore::CollapsedBorderValue::isTransparent):
+ (WebCore::CollapsedBorderValue::precedence):
+ (WebCore::CollapsedBorderValue::operator==):
+ * rendering/style/OutlineValue.h:
+ (WebCore::OutlineValue::OutlineValue):
+ (WebCore::OutlineValue::operator==):
+ (WebCore::OutlineValue::offset):
+ (WebCore::OutlineValue::isAuto):
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::getBorderRadiiForRect):
+ * rendering/style/RenderStyle.h:
+ (WebCore::InheritedFlags::borderLeft):
+ (WebCore::InheritedFlags::borderRight):
+ (WebCore::InheritedFlags::borderTop):
+ (WebCore::InheritedFlags::borderBottom):
+ (WebCore::InheritedFlags::borderImage):
+ (WebCore::InheritedFlags::borderTopLeftRadius):
+ (WebCore::InheritedFlags::borderTopRightRadius):
+ (WebCore::InheritedFlags::borderBottomLeftRadius):
+ (WebCore::InheritedFlags::borderBottomRightRadius):
+ (WebCore::InheritedFlags::borderLeftStyle):
+ (WebCore::InheritedFlags::borderLeftColor):
+ (WebCore::InheritedFlags::borderLeftIsTransparent):
+ (WebCore::InheritedFlags::borderRightStyle):
+ (WebCore::InheritedFlags::borderRightColor):
+ (WebCore::InheritedFlags::borderRightIsTransparent):
+ (WebCore::InheritedFlags::borderTopStyle):
+ (WebCore::InheritedFlags::borderTopColor):
+ (WebCore::InheritedFlags::borderTopIsTransparent):
+ (WebCore::InheritedFlags::borderBottomStyle):
+ (WebCore::InheritedFlags::borderBottomColor):
+ (WebCore::InheritedFlags::borderBottomIsTransparent):
+ (WebCore::InheritedFlags::outlineWidth):
+ (WebCore::InheritedFlags::outlineStyleIsAuto):
+ (WebCore::InheritedFlags::outlineColor):
+ (WebCore::InheritedFlags::outlineOffset):
+ (WebCore::InheritedFlags::columnRuleColor):
+ (WebCore::InheritedFlags::resetBorderTop):
+ (WebCore::InheritedFlags::resetBorderRight):
+ (WebCore::InheritedFlags::resetBorderBottom):
+ (WebCore::InheritedFlags::resetBorderLeft):
+ (WebCore::InheritedFlags::resetBorderImage):
+ (WebCore::InheritedFlags::resetBorderTopLeftRadius):
+ (WebCore::InheritedFlags::resetBorderTopRightRadius):
+ (WebCore::InheritedFlags::resetBorderBottomLeftRadius):
+ (WebCore::InheritedFlags::resetBorderBottomRightRadius):
+ (WebCore::InheritedFlags::setBorderImage):
+ (WebCore::InheritedFlags::setBorderTopLeftRadius):
+ (WebCore::InheritedFlags::setBorderTopRightRadius):
+ (WebCore::InheritedFlags::setBorderBottomLeftRadius):
+ (WebCore::InheritedFlags::setBorderBottomRightRadius):
+ (WebCore::InheritedFlags::setBorderLeftWidth):
+ (WebCore::InheritedFlags::setBorderLeftStyle):
+ (WebCore::InheritedFlags::setBorderLeftColor):
+ (WebCore::InheritedFlags::setBorderRightWidth):
+ (WebCore::InheritedFlags::setBorderRightStyle):
+ (WebCore::InheritedFlags::setBorderRightColor):
+ (WebCore::InheritedFlags::setBorderTopWidth):
+ (WebCore::InheritedFlags::setBorderTopStyle):
+ (WebCore::InheritedFlags::setBorderTopColor):
+ (WebCore::InheritedFlags::setBorderBottomWidth):
+ (WebCore::InheritedFlags::setBorderBottomStyle):
+ (WebCore::InheritedFlags::setBorderBottomColor):
+ (WebCore::InheritedFlags::setOutlineWidth):
+ (WebCore::InheritedFlags::setOutlineStyle):
+ (WebCore::InheritedFlags::setOutlineColor):
+ (WebCore::InheritedFlags::setOutlineOffset):
+ (WebCore::InheritedFlags::setColumnRuleColor):
+ (WebCore::InheritedFlags::setColumnRuleWidth):
+ * rendering/style/StyleMultiColData.h:
+ (WebCore::StyleMultiColData::ruleWidth):
+
+2010-04-09 Andrey Kosyakov <caseq@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Fixed ResourceError::failingURL() and ResourceResponse::httpStatusText()
+ to return meaningful values.
+ https://bugs.webkit.org/show_bug.cgi?id=37274
+
+ * platform/network/mac/ResourceErrorMac.mm:
+ (WebCore::ResourceError::platformLazyInit):
+ * platform/network/mac/ResourceResponseMac.mm:
+ (WebCore::ResourceResponse::platformLazyInit):
+
+2010-04-09 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Move the IDB::open ExceptionCode paramter to be last
+ https://bugs.webkit.org/show_bug.cgi?id=37277
+
+ Move the ExceptionCode paramter to the last position in
+ IndexedDatabaseRequest::open and friends. It should definitely
+ go after the callbacks to keep the parameters that come directly
+ from javascript together. And having output parameters appear
+ last is done often in the code base, so it makes sense to push
+ it past the Frame* param as well.
+
+ No functional change.
+
+ * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp:
+ (WebCore::V8IndexedDatabaseRequest::openCallback):
+ * storage/IndexedDatabase.h:
+ * storage/IndexedDatabaseImpl.cpp:
+ (WebCore::IndexedDatabaseImpl::open):
+ * storage/IndexedDatabaseImpl.h:
+ * storage/IndexedDatabaseRequest.cpp:
+ (WebCore::IndexedDatabaseRequest::open):
+ * storage/IndexedDatabaseRequest.h:
+
+2010-04-09 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ WebCore: WorkerGlobalScope.close() should let the currently running script complete execution, then terminate the worker.
+ https://bugs.webkit.org/show_bug.cgi?id=37053
+
+ Test: fast/workers/worker-close-more.html
+
+ * bindings/js/WorkerScriptController.cpp:
+ (WebCore::WorkerScriptController::forbidExecution):
+ (WebCore::WorkerScriptController::):
+ * bindings/v8/WorkerScriptController.cpp:
+ (WebCore::WorkerScriptController::forbidExecution):
+ * bindings/v8/WorkerScriptController.h:
+ (WebCore::WorkerScriptController::):
+ Added option parameter to forbidExecution (both JCS and V8 versions) that specifies whether currently running
+ script should be immediately terminated or left executed until the end.
+
+ * bindings/js/WorkerScriptController.h:
+ (WebCore::WorkerScriptController::workerContextWrapper):
+ This method now can return 0 instead of context if the further execution of JS is forbidden. Since any JS execution requires
+ fetching JS global object first, returning 0 here is a good way to prevent re-entry into JS once worker started termination.
+ V8 version does similar thing already in WorkerScriptController::proxy().
+
+ * workers/DedicatedWorkerContext.cpp:
+ (WebCore::DedicatedWorkerContext::postMessage):
+ Removed check that immediately disables postMessage from WorkerContext after close().
+
+ * workers/WorkerContext.cpp:
+ (WebCore::CloseWorkerContextTask::create):
+ (WebCore::CloseWorkerContextTask::performTask):
+ (WebCore::CloseWorkerContextTask::isCleanupTask):
+ (WebCore::WorkerContext::close):
+ Use new forbidExecution(LetRunningScriptFinish) to avoid termination of script until it executes and exits.
+ Post a task to actually terminate the worker once the currently executing JS fragment exits.
+
+ * workers/WorkerThread.cpp:
+ (WebCore::WorkerThread::workerThread):
+ (WebCore::WorkerThread::stop):
+ Use new forbidExecution(TerminateRunningScript) to immediately terminate the JS.
+
+2010-04-09 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Implement interactive validation for forms.
+ https://bugs.webkit.org/show_bug.cgi?id=34930
+
+ - HTMLFormControlElement::checkValidity() supports unhandled invalid control list
+ - HTMLFormElement::validateInteractively() called from prepareSubmit()
+ prevents the submission if neither noValidate nor formNoValidate is
+ specified, and focuses on the first invalid control of which "invalid"
+ event is not canceled.
+
+ Tests: fast/forms/checkValidity-cancel.html
+ fast/forms/interactive-validation-cancel.html
+ fast/forms/interactive-validation-formnovalidate.html
+ fast/forms/interactive-validation-novalidate.html
+ fast/forms/interactive-validation-prevented.html
+ fast/forms/interactive-validation-remove-node-in-handler.html
+
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::HTMLFormControlElement::checkValidity):
+ If the control is invalid and the "invalid" is not canceled,
+ push the control to the specified vector.
+ * html/HTMLFormControlElement.h:
+ * html/HTMLFormElement.cpp:
+ (WebCore::HTMLFormElement::validateInteractively):
+ The main part of the interactive validation.
+ (WebCore::HTMLFormElement::prepareSubmit):
+ Calls validateInteractively().
+ (WebCore::HTMLFormElement::checkValidity):
+ Uses collectUnhandledInvalidControls().
+ (WebCore::HTMLFormElement::collectUnhandledInvalidControls):
+ * html/HTMLFormElement.h:
+
+2010-04-09 Sam Weinig <sam@webkit.org>
+
+ Fix the mac WebKit2 build.
+
+ * WebCore.base.exp:
+
+2010-04-08 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37181
+ <rdar://problem/7835374> REGRESSION (r54400): Hangs when doing AJAX update with large amount of data
+
+ Test: fast/events/gc-freeze-with-attribute-listeners.html
+
+ The problem was that we were creating JS wrappers for nodes with attribute event listeners,
+ and GC is very slow if there are nodes with wrappers in a detached tree whose root does not
+ have a wrapper.
+
+ * bindings/js/ScriptEventListener.cpp: (WebCore::createAttributeEventListener): Don't create
+ wrappers for attribute event listeners - if there is a node, JSLazyEventListener::initializeJSFunction()
+ will create one.
+
+ * bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::markChildren): Added a FIXME about the problem
+ we are stepping around now.
+
+2010-04-09 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ WebGtk GLib-CRITICAL Segmentation fault
+ https://bugs.webkit.org/show_bug.cgi?id=34937
+
+ Do not crash if a plugin does not return anything in
+ NP_GetMIMEDescription. This can happen, and other ports gracefully
+ handle the situation.
+
+ * plugins/gtk/PluginPackageGtk.cpp:
+ (WebCore::PluginPackage::fetchInfo):
+
+2010-04-09 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: Cannot select elements within iframes with the magnifying glass.
+
+ https://bugs.webkit.org/show_bug.cgi?id=31732
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::inspect):
+ (WebCore::InspectorController::handleMousePress):
+ * inspector/InspectorController.h:
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMousePressEvent):
+
+2010-04-09 Tasuku Suzuki <tasuku.suzuki@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt]Fix compile error with QT_NO_PROPERTIES
+ https://bugs.webkit.org/show_bug.cgi?id=36526
+
+ Disable dynamic properties when QT_NO_PROPERTIES is defined.
+
+ * bridge/qt/qt_class.cpp:
+ (JSC::Bindings::QtClass::fieldNamed):
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtInstance::getPropertyNames):
+ (JSC::Bindings::QtField::name):
+ (JSC::Bindings::QtField::valueFromInstance):
+ (JSC::Bindings::QtField::setValueToInstance):
+ * bridge/qt/qt_runtime.h:
+ (JSC::Bindings::QtField::):
+
+2010-04-09 David Leong <david.leong@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Symbian apps crash on exit due to a bad qObject_cast.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37303
+
+ Added check for NULL to avoid the crash.
+
+ * plugins/symbian/PluginViewSymbian.cpp:
+ (WebCore::PluginView::platformDestroy):
+
+2010-04-09 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ <http://webkit.org/b/37326> IDL files are being copied in to the WebCore framework again
+
+ * WebCore.xcodeproj/project.pbxproj: Wire up the script. Remove the three inappropriate
+ files from the Copy Bundle Resources build phase.
+
+2010-04-09 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Darin Fisher.
+
+ Passing null WebGLObjects should synthesize INVALID_VALUE error
+ https://bugs.webkit.org/show_bug.cgi?id=37047
+
+ * html/canvas/WebGLRenderingContext.cpp: Synthesize INVALID_VALUE error when input object is 0.
+ (WebCore::WebGLRenderingContext::bindAttribLocation):
+ (WebCore::WebGLRenderingContext::compileShader):
+ (WebCore::WebGLRenderingContext::detachShader):
+ (WebCore::WebGLRenderingContext::validateWebGLObject):
+ (WebCore::WebGLRenderingContext::getActiveAttrib):
+ (WebCore::WebGLRenderingContext::getActiveUniform):
+ (WebCore::WebGLRenderingContext::getProgramParameter):
+ (WebCore::WebGLRenderingContext::getProgramInfoLog):
+ (WebCore::WebGLRenderingContext::getShaderParameter):
+ (WebCore::WebGLRenderingContext::getShaderInfoLog):
+ (WebCore::WebGLRenderingContext::getShaderSource):
+ (WebCore::WebGLRenderingContext::getUniform):
+ (WebCore::WebGLRenderingContext::getUniformLocation):
+ (WebCore::WebGLRenderingContext::linkProgram):
+ (WebCore::WebGLRenderingContext::shaderSource):
+ * html/canvas/WebGLRenderingContext.h: Add helper function to validate webgl object input parameters.
+
+2010-04-09 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Must resolve multisampled back buffer during copyTexImage2D and copyTexSubImage2D
+ https://bugs.webkit.org/show_bug.cgi?id=37174
+
+ Test: fast/canvas/webgl/copy-tex-image-and-sub-image-2d.html
+
+ * platform/graphics/mac/GraphicsContext3DMac.cpp: resolve multisampled back buffer during copyTexImage2D and copyTexSubImage2D.
+ (WebCore::GraphicsContext3D::copyTexImage2D):
+ (WebCore::GraphicsContext3D::copyTexSubImage2D):
+
+2010-04-09 Evan Stade <estade@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [chromium] <select> dropdowns don't die when an item is selected
+ https://bugs.webkit.org/show_bug.cgi?id=37243
+
+ * platform/chromium/PopupMenuChromium.cpp:
+ (WebCore::PopupContainer::hidePopup):
+ (WebCore::PopupContainer::notifyPopupHidden):
+ (WebCore::PopupListBox::hidePopup): inform container that popup is closing
+ * platform/chromium/PopupMenuChromium.h:
+
+2010-04-09 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix crashes with package builds in release
+
+ * WebCore.pro: Don't add NDEBUG to the defines here, add it from JavaScriptCore.pri
+
+2010-04-09 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ Remove "all" value from the view-mode media feature (as agreed on
+ 1-Apr-2010) in the Widgets voice conf.
+
+ * css/CSSValueKeywords.in:
+ * css/MediaQueryEvaluator.cpp:
+ (WebCore::view_modeMediaFeatureEval):
+
+2010-04-09 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r57286.
+ http://trac.webkit.org/changeset/57286
+ https://bugs.webkit.org/show_bug.cgi?id=37312
+
+ "Caused intermittent test failures on all Mac bots."
+ (Requested by eseidel on #webkit).
+
+ * storage/DatabaseTracker.cpp:
+ (WebCore::DatabaseTracker::originQuotaManagerNoLock):
+ (WebCore::DatabaseTracker::originQuotaManager):
+ (WebCore::DatabaseTracker::DatabaseTracker):
+ (WebCore::DatabaseTracker::canEstablishDatabase):
+ (WebCore::DatabaseTracker::hasEntryForOrigin):
+ (WebCore::DatabaseTracker::getMaxSizeForDatabase):
+ (WebCore::DatabaseTracker::fullPathForDatabaseNoLock):
+ (WebCore::DatabaseTracker::fullPathForDatabase):
+ (WebCore::DatabaseTracker::populateOrigins):
+ (WebCore::DatabaseTracker::origins):
+ (WebCore::DatabaseTracker::databaseNamesForOrigin):
+ (WebCore::DatabaseTracker::addOpenDatabase):
+ (WebCore::DatabaseTracker::removeOpenDatabase):
+ (WebCore::DatabaseTracker::usageForOriginNoLock):
+ (WebCore::DatabaseTracker::usageForOrigin):
+ (WebCore::DatabaseTracker::quotaForOrigin):
+ (WebCore::DatabaseTracker::setQuota):
+ (WebCore::DatabaseTracker::deleteOrigin):
+ (WebCore::DatabaseTracker::deleteDatabase):
+ (WebCore::DatabaseTracker::deleteDatabaseFile):
+ * storage/DatabaseTracker.h:
+ * storage/SQLTransactionClient.cpp:
+ (WebCore::SQLTransactionClient::didExecuteStatement):
+
+2010-04-09 Andras Becsi <abecsi@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] User agent style sheets are crippled by moc -E in make-css-file-arrays.pl
+ https://bugs.webkit.org/show_bug.cgi?id=37296
+
+ Do not use moc to preprocess user agent style sheets because it removes at-symbols
+ and hexadecimal colours from declarations.
+ Remove unneeded preprocessor usage from make-css-file-arrays.pl since the script
+ processes default css files using regular expressions therefore preprocessing is redundant.
+
+ * WebCore.pri: remove --preprocessor usage
+ * css/make-css-file-arrays.pl: remove gcc dependency
+
+2010-04-08 Chris Evans <cevans@chromium.org>
+
+ Reviewed by Sam Weinig.
+
+ Use the new UserGestureIndictor for _blank POST requests.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34541
+
+ Test: fast/events/popup-blocked-to-post-blank.html
+
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::processingUserGesture):
+ Use UserGestureIndicator in more cases.
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler):
+ Impact from UserGestureIndicator API change.
+ (WebCore::FrameLoader::submitForm):
+ Block the load immediately if popups are not allowed and it would
+ open a new window.
+ * loader/RedirectScheduler.cpp:
+ (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
+ Note the UserGestureIndicator status at the time of submission.
+ (WebCore::ScheduledFormSubmission::fire):
+ Use the stored UserGestureIndicator status in the asynchronous
+ callback.
+ * dom/UserGestureIndicator.h:
+ * dom/UserGestureIndicator.cpp:
+ (WebCore::UserGestureIndicator::UserGestureIndicator):
+ Add ability to store a negative indication.
+
+2010-03-29 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ Spatial Navigation: proper handle negative x or y coordinates
+ https://bugs.webkit.org/show_bug.cgi?id=36773
+
+ In Spatial Navigation logic, during rect acquisition in renderRectRelativeToRootDocument,
+ sometimes negative x() or y() values are got, and the current algorithm bails out in
+ any of such cases.
+
+ However, when a node is in a scrollable content (content overflow <div>) and
+ this scrollable container scrolled up, element gets offscreen, and gets negative values
+ for y(), for example. In such cases, they are still valid to be used in Spatial Navigation
+ logic.
+
+ Test: fast/events/spatial-navigation/snav-offscreen-content.html
+
+ * page/SpatialNavigation.cpp:
+ (WebCore::distanceDataForNode):
+ (WebCore::checkNegativeCoordsForNode):
+
+2010-04-08 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Create the creation callback is the current world.
+ https://bugs.webkit.org/show_bug.cgi?id=37290
+
+ * bindings/js/JSDatabaseCallback.cpp:
+ (WebCore::JSDatabaseCallback::JSDatabaseCallback):
+
+2010-04-08 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Followup optimization to bug 24300, don't leak history info via CSS :visited. If a Web
+ site uses document colors that are the same for link and vlink in HTML and also doesn't
+ specify any :link or :visited rules, then don't waste time resolving visited styles.
+
+ There is a further optimization that could be done to detect when :link and :visited are
+ used together in the same rule to specify a color, and this is how most sites turn off
+ visited link colors, but this fix doesn't address that. It just restores the optimization
+ that existed prior to the patch in 24300 landing.
+
+ * css/CSSGrammar.y:
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::styleForElement):
+ * dom/Document.cpp:
+ (WebCore::Document::Document):
+ * dom/Document.h:
+ (WebCore::Document::usesLinkRules):
+ (WebCore::Document::setUsesLinkRules):
+
+2010-04-08 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Caught by pixel tests. I missed patching the borderRightColor() call for fieldset border painting so the
+ border stopped showing up.
+
+ * rendering/RenderFieldset.cpp:
+ (WebCore::RenderFieldset::paintBorderMinusLegend):
+
+2010-04-07 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24300, don't leak history info via CSS :visited.
+
+ This patch implements the policy described by David Baron here:
+
+ http://dbaron.org/mozilla/visited-privacy
+
+ Added new tests in fast/history.
+
+ * WebCore.base.exp:
+ Expose functions needed for the WebKit SPI used by layout tests.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::isVisited):
+ Make sure accessibility objects still return visited information.
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::CSSComputedStyleDeclaration::CSSComputedStyleDeclaration):
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ * css/CSSComputedStyleDeclaration.h:
+ (WebCore::computedStyle):
+ Add a boolean to computed style declarations that - if set - causes the computed style
+ to still return :visited information. For normal Web pages, this will be false. It is set
+ to true for the Web Inspector and by the WebKit SPI used by the layout tests.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::initElement):
+ (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
+ (WebCore::CSSStyleSelector::SelectorChecker::determineLinkState):
+ (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
+ (WebCore::CSSStyleSelector::canShareStyleWithElement):
+ (WebCore::CSSStyleSelector::styleForElement):
+ (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
+ (WebCore::CSSStyleSelector::pseudoStyleForElement):
+ (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
+ (WebCore::CSSStyleSelector::checkSelector):
+ (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
+ (WebCore::CSSStyleSelector::applyPropertyToStyle):
+ (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
+ * css/CSSStyleSelector.h:
+ Rework the style selector to resolve two styles instead of one. The first forces the link to
+ be unvisited, and the second forces the link to be visited. The real state of the link is
+ cached on the principal (unvisited) style. The visited style hangs off the principal style
+ as a pseudo style (VISITED_LINK).
+
+ * dom/Element.cpp:
+ (WebCore::Element::pseudoStyleCacheIsInvalid):
+ Make sure to deal with the VISITED_LINK pseudo to know when only :visited style info changed.
+
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::getStyles):
+ Let the Web Inspector see :visited computed styles by default.
+
+ * platform/LinkHash.cpp:
+ (WebCore::visitedURL):
+ Fix an issue where <a href=""> is not hashed properly to the document's base URI, so it wasn't
+ correctly reported as :visited.
+
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::paintBoxDecorations):
+ (WebCore::InlineFlowBox::paintTextDecorations):
+ * rendering/InlineTextBox.cpp:
+ (WebCore::InlineTextBox::paint):
+ (WebCore::InlineTextBox::paintSelection):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::paintColumnRules):
+ (WebCore::RenderBlock::paintObject):
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::paintBorder):
+ * rendering/RenderFieldset.cpp:
+ (WebCore::RenderFieldset::paintBorderMinusLegend):
+ * rendering/RenderImage.cpp:
+ (WebCore::RenderImage::paintFocusRings):
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::paintOutline):
+ (WebCore::RenderInline::paintOutlineForLine):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::drawLineForBoxSide):
+ (WebCore::RenderObject::drawArcForBoxSide):
+ (WebCore::RenderObject::paintOutline):
+ (WebCore::decorationColor):
+ (WebCore::RenderObject::getTextDecorationColors):
+ * rendering/RenderObject.h:
+ * rendering/RenderPath.cpp:
+ (WebCore::RenderPath::paint):
+ * rendering/RenderReplaced.cpp:
+ (WebCore::RenderReplaced::paint):
+ * rendering/RenderSVGContainer.cpp:
+ (WebCore::RenderSVGContainer::paint):
+ * rendering/RenderSVGImage.cpp:
+ (WebCore::RenderSVGImage::paint):
+ * rendering/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::paint):
+ * rendering/RenderTableCell.cpp:
+ (WebCore::RenderTableCell::collapsedLeftBorder):
+ (WebCore::RenderTableCell::collapsedRightBorder):
+ (WebCore::RenderTableCell::collapsedTopBorder):
+ (WebCore::RenderTableCell::collapsedBottomBorder):
+ (WebCore::RenderTableCell::paintCollapsedBorder):
+ * rendering/style/CollapsedBorderValue.h:
+ (WebCore::CollapsedBorderValue::CollapsedBorderValue):
+ (WebCore::CollapsedBorderValue::color):
+ (WebCore::CollapsedBorderValue::operator==):
+ Patch painting code to fetch visitedDependentColors from the RenderStyle. Properties that
+ are honored include background-color, color, border colors, outline color, column rules,
+ and fill and stroke (both SVG and our custom versions).
+
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::RenderStyle):
+ (WebCore::RenderStyle::diff):
+ (WebCore::borderStyleForColorProperty):
+ (WebCore::colorIncludingFallback):
+ (WebCore::RenderStyle::visitedDependentColor):
+ * rendering/style/RenderStyle.h:
+ (WebCore::):
+ (WebCore::InheritedFlags::NonInheritedFlags::operator==):
+ (WebCore::InheritedFlags::setBitDefaults):
+ (WebCore::InheritedFlags::insideLink):
+ (WebCore::InheritedFlags::isLink):
+ (WebCore::InheritedFlags::setInsideLink):
+ (WebCore::InheritedFlags::setIsLink):
+ * rendering/style/RenderStyleConstants.h:
+ Change how link information is stored. The noninherited flags now have a bit set for if you're a link
+ or not. The inherited flags now cache whether you're inside a visited or unvisited link (or no link at
+ all).
+
+ (WebCore::):
+ * svg/graphics/SVGPaintServer.cpp:
+ (WebCore::SVGPaintServer::fillPaintServer):
+ (WebCore::SVGPaintServer::strokePaintServer):
+ Patch SVG fill/stroke painting to honor :visited.
+
+2010-04-08 Benjamin Otte <otte@gnome.org>
+
+ Reviewed by Gustavo Noronha.
+
+ Fix build with MathML enabled.
+
+ * GNUmakefile.am:
+
+2010-04-08 Daniel Bates <dbates@rim.com>
+
+ No review, rolling out 56655.
+ http://trac.webkit.org/changeset/56655
+ https://bugs.webkit.org/show_bug.cgi?id=9268
+
+ Rolling out the change committed in change set 56655
+ because it caused a regression in some of the mozilla
+ and mozilla expected failure test cases, such as:
+ tables/mozilla/marvin/backgr_simple-table-row.html, and
+ tables/mozilla/marvin/backgr_simple-table-row-group.html.
+
+ We need to look into this issue some more.
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::paintFillLayerExtended):
+ (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
+ * rendering/RenderBoxModelObject.h:
+ * rendering/RenderObject.h:
+ * rendering/RenderTableCell.cpp:
+ * rendering/RenderTableCell.h:
+
+2010-03-30 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Refactor DatabaseTracker, part 1: Remove the dependency on
+ OriginQuotaManager from DatabaseTracker.h.
+
+ https://bugs.webkit.org/show_bug.cgi?id=31482
+
+ * storage/DatabaseTracker.cpp:
+ (originQuotaManager):
+ (WebCore::DatabaseTracker::DatabaseTracker):
+ (WebCore::DatabaseTracker::canEstablishDatabase):
+ (WebCore::DatabaseTracker::hasEntryForOrigin):
+ (WebCore::DatabaseTracker::getMaxSizeForDatabase):
+ (WebCore::DatabaseTracker::databaseChanged):
+ (WebCore::DatabaseTracker::fullPathForDatabaseNoLock):
+ (WebCore::DatabaseTracker::fullPathForDatabase):
+ (WebCore::DatabaseTracker::populateOrigins):
+ (WebCore::DatabaseTracker::origins):
+ (WebCore::DatabaseTracker::databaseNamesForOrigin):
+ (WebCore::DatabaseTracker::removeOpenDatabase):
+ (WebCore::DatabaseTracker::usageForOriginNoLock):
+ (WebCore::DatabaseTracker::usageForOrigin):
+ (WebCore::DatabaseTracker::quotaForOrigin):
+ (WebCore::DatabaseTracker::setQuota):
+ (WebCore::DatabaseTracker::deleteOrigin):
+ (WebCore::DatabaseTracker::deleteDatabase):
+ (WebCore::DatabaseTracker::deleteDatabaseFile):
+ * storage/DatabaseTracker.h:
+ * storage/SQLTransactionClient.cpp:
+ (WebCore::SQLTransactionClient::didExecuteStatement):
+
+2010-04-08 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Simon Hausmann.
+
+ [WINCE] Replace max with std::max
+ https://bugs.webkit.org/show_bug.cgi?id=37201
+
+ std::max is preferred.
+
+ * platform/wince/FileSystemWince.cpp:
+ (WebCore::makeAllDirectories):
+ (WebCore::pathGetFileName):
+
+2010-04-08 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Laszlo Gombos.
+
+ [EFL] Move AccessibilityObjectEfl.cpp from page to accessibility
+ https://bugs.webkit.org/show_bug.cgi?id=36405
+
+ * accessibility/efl/AccessibilityObjectEfl.cpp: Renamed from WebCore/page/efl/AccessibilityObjectEfl.cpp.
+ (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
+
+2010-04-08 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: Render Load, DOM Content and MarkTimeline event dividers on Timeline panel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37267
+
+ * English.lproj/localizedStrings.js:
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::mainResourceFiredDOMContentEvent):
+ (WebCore::InspectorController::mainResourceFiredLoadEvent):
+ * inspector/InspectorController.h:
+ * inspector/InspectorTimelineAgent.cpp:
+ (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
+ (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
+ * inspector/InspectorTimelineAgent.h:
+ (WebCore::):
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype.updateGraphDividersIfNeeded):
+ * inspector/front-end/TimelineAgent.js:
+ * inspector/front-end/TimelineGrid.js:
+ (WebInspector.TimelineGrid.prototype.removeEventDividers):
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel):
+ (WebInspector.TimelinePanel.prototype.get _recordStyles):
+ (WebInspector.TimelinePanel.prototype._updateMarks):
+ (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
+ (WebInspector.TimelinePanel.prototype._clearPanel):
+ (WebInspector.TimelinePanel.prototype._refresh):
+ (WebInspector.TimelinePanel.prototype._refreshRecords):
+ (WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
+ (WebInspector.TimelineRecordGraphRow.prototype.update):
+ * inspector/front-end/inspector.css:
+ (.resources-event-divider):
+ (.resources-red-divider):
+ (.resources-blue-divider):
+ (.resources-orange-divider):
+
+2010-04-01 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by David Hyatt.
+
+ [Qt] REGRESSION:(r50665) QWebFrame::setScrollBarPolicy(Qt::Vertical,Qt::ScrollBarAlwaysOff) has no effect.
+ https://bugs.webkit.org/show_bug.cgi?id=29431
+
+ Test: fast/overflow/scrollbar-restored-and-then-locked.html
+
+ Patch introduces a lock scrollbars concept to ScrollView, as in WebDynamicScrollBarsView.mm/h
+ on WebKit/mac. It is needed because in QtWebKit, we have Api for setting both vertical and
+ horizontal scrollbars on/off/auto. When it is set to off, for example, it should remain
+ as such, unless unset.
+
+ For the locking concept, optional 'lock' parameters were added to setScrollbarModes,
+ setHorizontalScrollbarMode and setVerticalScrollbarMode methods of ScrollView. As these
+ are all optional, any previous code calling them do not need modification.
+
+ Two optional parameters were also added to Frame's createView method, for horizontal and vertical
+ lock state persistence cross page loads.
+
+ * page/Frame.cpp:
+ (WebCore::Frame::createView):
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::ScrollView):
+ (WebCore::ScrollView::setScrollbarModes):
+ (WebCore::ScrollView::setHorizontalScrollbarMode):
+ (WebCore::ScrollView::setVerticalScrollbarMode):
+ * platform/ScrollView.h:
+ (WebCore::ScrollView::setHorizontalScrollbarLock):
+ (WebCore::ScrollView::isHorizontalScrollbarLocked):
+ (WebCore::ScrollView::setVerticalScrollbarLock):
+ (WebCore::ScrollView::isVerticalScrollbarLocked):
+ (WebCore::ScrollView::setScrollingModesLocked):
+
+2010-04-08 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Correctly save number of properties when object being serialized
+ have properties in its prorotype.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37263
+
+ * bindings/v8/SerializedScriptValue.cpp:
+ (WebCore::ZigZag::Serializer::AbstractObjectState::AbstractObjectState):
+ (WebCore::ZigZag::Serializer::AbstractObjectState::advance):
+
+2010-04-08 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ IDB callbacks should fire asynchronously
+ https://bugs.webkit.org/show_bug.cgi?id=37265
+
+ Fix the firing behavior of the callbacks to not be synchronous.
+
+ There's still a major bug that I'm trying to track down that is keeping
+ us from testing this stuff. Promise lots of tests ASAP.
+
+ * bindings/v8/custom/V8CustomIDBCallbacks.h:
+ (WebCore::V8CustomIDBCallbacks::onSuccessAsync):
+ (WebCore::V8CustomIDBCallbacks::onErrorAsync):
+ * storage/IDBCallbacks.h:
+ (WebCore::IDBCallbacks::IDBCallbacks):
+ (WebCore::IDBCallbacks::onSuccess):
+ (WebCore::IDBCallbacks::onError):
+ (WebCore::IDBCallbacks::timerFired):
+ * storage/IndexedDatabaseRequest.cpp:
+
+2010-04-08 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ willValidate doesn't need to check existence of a form element and a name attribute.
+ https://bugs.webkit.org/show_bug.cgi?id=34733
+
+ Remove checks against m_form and m_hasName in
+ HTMLFormControlElement::willValidate(), and remove the code to
+ track their updates.
+
+ Test: fast/forms/willvalidate.html
+
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::HTMLFormControlElement::HTMLFormControlElement):
+ (WebCore::HTMLFormControlElement::parseMappedAttribute):
+ (WebCore::HTMLFormControlElement::insertedIntoTree):
+ (WebCore::HTMLFormControlElement::removedFromTree):
+ (WebCore::HTMLFormControlElement::recalcWillValidate):
+ (WebCore::HTMLFormControlElement::willValidate):
+ (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):
+ * html/HTMLFormControlElement.h:
+ (WebCore::HTMLFormControlElement::formDestroyed):
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::setInputType):
+ setNeedsWillValidateCheck() should be called before
+ setAttribute(valueAttr, ...) is called.
+
+2010-04-08 Young Han Lee <joybro@company100.net>
+
+ Reviewed by Simon Hausmann.
+
+ [WINCE] Add missing headers
+ https://bugs.webkit.org/show_bug.cgi?id=37199
+
+ Include missing headers.
+
+ * platform/graphics/wince/FontCustomPlatformData.cpp:
+ * platform/graphics/wince/FontPlatformData.cpp:
+ * platform/graphics/wince/GraphicsContextWince.cpp:
+ * platform/graphics/wince/ImageBufferWince.cpp:
+ * platform/graphics/wince/PlatformPathWince.h:
+ * platform/wince/FileSystemWince.cpp:
+
+2010-04-08 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Simon Hausmann.
+
+ [WINCE] Use WebCore::instanceHandle()
+ https://bugs.webkit.org/show_bug.cgi?id=37202
+
+ Page::instanceHandle() is moved to WebCore::instanceHandle().
+
+ * platform/wince/PasteboardWince.cpp:
+ (WebCore::Pasteboard::Pasteboard):
+ * platform/wince/SharedTimerWince.cpp:
+ (WebCore::initializeOffScreenTimerWindow):
+
+2010-04-08 Vitaly Repeshko <vitalyr@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [V8] Fix crash in NodeFilterCondition in detached iframe
+ https://bugs.webkit.org/show_bug.cgi?id=37234
+
+ Test: fast/dom/node-filter-detached-iframe-crash.html
+
+ * bindings/v8/V8NodeFilterCondition.cpp:
+ (WebCore::V8NodeFilterCondition::acceptNode): Switched to using
+ callFunctionWithoutFrame.
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::callFunctionWithoutFrame): Added a function to
+ call V8 with no current frame.
+ * bindings/v8/V8Proxy.h:
+
+2010-04-08 Jarkko Sakkinen <jarkko.sakkinen@tieto.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Remove shaderSource manipulation from GraphicsContext3DQt.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=37226
+
+ * platform/graphics/qt/GraphicsContext3DQt.cpp:
+ (WebCore::GraphicsContext3D::shaderSource):
+
+2010-04-08 Chris Evans <cevans@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Sanity: apply a max node depth to XML parsing.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37247
+
+ Test: fast/images/svg-nested.html
+
+ * dom/XMLTokenizer.cpp:
+ (WebCore::XMLTokenizer::pushCurrentNode):
+ Error out the parse upon a really large node depth.
+
+2010-04-07 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Jeremy Orlow.
+
+ Fix Chromium's HTML5 DB support in --single-process mode.
+ https://bugs.webkit.org/show_bug.cgi?id=37186.
+
+ Always register and use Chromium's SQLite VFS for
+ WebSQLDatabases. Keep using the default VFS in all other
+ cases. This change should allow Chromium to support
+ WebSQLDatabases in --single-process mode.
+
+ Also, cleaning up a bit SQLiteFileSystemChromium and getting rid
+ of the SQLITE_OPEN_FULLMUTEX flag: we use sqlite DB handles only
+ on the DB thread, so we don't need multi-threaded support.
+
+ * platform/sql/SQLiteDatabase.cpp:
+ (WebCore::SQLiteDatabase::open):
+ * platform/sql/SQLiteDatabase.h:
+ * platform/sql/SQLiteFileSystem.cpp:
+ (WebCore::SQLiteFileSystem::openDatabase):
+ * platform/sql/SQLiteFileSystem.h:
+ * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
+ (WebCore::SQLiteFileSystem::openDatabase):
+ * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
+ (WebCore::SQLiteFileSystem::registerSQLiteVFS):
+ * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
+ (WebCore::SQLiteFileSystem::registerSQLiteVFS):
+ * storage/Database.cpp:
+ (WebCore::Database::performOpenAndVerify):
+
+2010-04-07 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Steve Falkenburg.
+
+ Remove QuartzCoreInterface from the build
+
+ No longer needed since QuartzCore.dll is now included in the latest Safari release (4.0.5).
+ This gets rid of all the function shims from the clients of QuartzCore.dll.
+
+ * platform/graphics/win/GraphicsLayerCACF.cpp:
+ (WebCore::GraphicsLayerCACF::updateLayerPreserves3D):
+ * platform/graphics/win/WKCACFLayer.cpp:
+ (WebCore::toCACFLayerType):
+ (WebCore::toCACFContentsGravityType):
+ (WebCore::fromCACFContentsGravityType):
+ (WebCore::toCACFFilterType):
+ (WebCore::fromCACFFilterType):
+ (WebCore::WKCACFLayer::isTransformLayer):
+ * platform/graphics/win/WKCACFLayerRenderer.cpp:
+ (WebCore::WKCACFLayerRenderer::createRenderer):
+
+2010-04-07 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r57178.
+ http://trac.webkit.org/changeset/57178
+ https://bugs.webkit.org/show_bug.cgi?id=37240
+
+ Caused chromium browser_test and ui_test regressions
+ (Requested by ojan on #webkit).
+
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::processingUserGesture):
+
+2010-04-07 Jian Li <jianli@chromium.org>
+
+ Reviewed by Adam Barth and Dmitry Titov.
+
+ Add the comment and assert that we're generating version 4 random number
+ based UUIDs.
+ https://bugs.webkit.org/show_bug.cgi?id=36472
+
+ * platform/UUID.cpp:
+ (WebCore::createCanonicalUUIDString):
+ * platform/UUID.h:
+
+2010-04-07 Erik Arvidsson <arv@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Allow white listing access from origin to local origin.
+ https://bugs.webkit.org/show_bug.cgi?id=37228
+
+ This makes it possible to load a local resource from a non local
+ origin if the access has previously been white listed by calling
+ SecurityOrigin::whiteListAccessFromOrigin.
+
+ Test: http/tests/security/local-image-from-remote-whitelisted.html
+
+ * page/OriginAccessEntry.cpp:
+ (WebCore::OriginAccessEntry::OriginAccessEntry): Removed assert that only the http and https protocol are valid.
+ * page/SecurityOrigin.cpp:
+ (WebCore::SecurityOrigin::canRequest): Use isAccessWhiteListed
+ (WebCore::SecurityOrigin::isAccessWhiteListed): Extracted code that goes through the originAccessMap to do the origin matching.
+ (WebCore::SecurityOrigin::canLoad): Check if access has been white listed.
+ * page/SecurityOrigin.h: Add private function isAccessWhiteListed
+
+2010-04-07 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Darin Adler.
+
+ Adding static method zero() to classes IntPoint and FloatPoint.
+ https://bugs.webkit.org/show_bug.cgi?id=37220
+
+ Adding static method zero() to classes IntPoint and FloatPoint as suggested by Darin Adler.
+
+ * platform/graphics/FloatPoint.h:
+ (WebCore::FloatPoint::zero):
+ * platform/graphics/IntPoint.h:
+ (WebCore::IntPoint::zero):
+ (WebCore::IntPoint::clampNegativeToZero):
+
+2010-04-07 Alexey Proskuryakov <ap@apple.com>
+
+ * platform/network/mac/AuthenticationMac.mm: Fix a typo in comment.
+
+2010-04-07 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37230
+ <rdar://problem/7813115> REGRESSION (4.0.5): Safari asks for credentials all the time when
+ authenticating to Windows IIS Server
+
+ * platform/network/ProtectionSpace.h: (WebCore::ProtectionSpaceAuthenticationScheme): Added
+ a constant for ProtectionSpaceAuthenticationSchemeUnknown.
+
+ * platform/network/cf/AuthenticationCF.cpp: (WebCore::core):
+ * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::authenticationSchemeFromAuthenticationMethod):
+ Return ProtectionSpaceAuthenticationSchemeUnknown for unknown scheme.
+
+ * platform/network/mac/AuthenticationMac.mm:
+ (WebCore::mac): Support NTLM on systems older than 10.6. We actually get this string from
+ NSURLConnection, even though there was no public constant.
+ (WebCore::core): Return ProtectionSpaceAuthenticationSchemeUnknown for unknown scheme.
+
+2010-04-07 Jaime Yap <jaimeyap@google.com>
+
+ Reviewed by Pavel Feldman.
+
+ Adds the ability to get the function symbol name when looking up the call location
+ for records sent by the InspectorTimelineAgent.
+ https://bugs.webkit.org/show_bug.cgi?id=36839
+
+ No new tests.
+
+ * bindings/js/ScriptCallStack.cpp:
+ (WebCore::ScriptCallStack::callLocation):
+ * bindings/js/ScriptCallStack.h:
+ * bindings/v8/ScriptCallStack.cpp:
+ (WebCore::ScriptCallStack::create):
+ (WebCore::ScriptCallStack::callLocation):
+ (WebCore::ScriptCallStack::ScriptCallStack):
+ * bindings/v8/ScriptCallStack.h:
+ * bindings/v8/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::createUtilityContext):
+ (WebCore::ScriptDebugServer::topStackFrame):
+ * bindings/v8/ScriptDebugServer.h:
+ (WebCore::ScriptDebugServer::utilityContext):
+ * bindings/v8/V8Proxy.cpp:
+ * bindings/v8/V8Proxy.h:
+ * inspector/TimelineRecordFactory.cpp:
+ (WebCore::TimelineRecordFactory::createGenericRecord):
+
+2010-04-07 Jay Civelli <jcivelli@chromium.org>
+
+ Reviewed by Jian Li.
+
+ [chromium] Fixing a NULL pointer being dereferenced in some cases.
+ https://bugs.webkit.org/show_bug.cgi?id=37141
+
+ Test: platform/chromium/fast/forms/search-popup-crasher.html
+
+ * platform/chromium/PopupMenuChromium.cpp:
+ (WebCore::PopupMenu::~PopupMenu):
+
+2010-04-07 Kinuko Yasuda <kinuko@chromium.org>
+
+ Reviewed by Jian Li.
+
+ Add skeleton FileStream module for providing sync file operations for FileAPI
+ https://bugs.webkit.org/show_bug.cgi?id=37217
+
+ For now the module just defines an interface and is almost empty.
+ Implementation will be added.
+
+ No new tests; will be added when we have complete implementation.
+
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * html/FileStream.cpp: Added.
+ * html/FileStream.h: Added.
+ * html/FileStreamClient.h: Added.
+ * html/FileThread.cpp:
+ (WebCore::SameFilePredicate::SameFilePredicate):
+ (WebCore::SameFilePredicate::operator()):
+ (WebCore::FileThread::unscheduleTasks):
+ * html/FileThread.h:
+ (WebCore::FileThread::Task::stream):
+ (WebCore::FileThread::Task::Task):
+
+2010-04-07 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Remove some unnecessary uses of commonJSGlobalData
+ https://bugs.webkit.org/show_bug.cgi?id=37229
+
+ Pass the ExecState down to identifierFromNPIdentifier and update call sites
+
+ * bridge/NP_jsobject.cpp:
+ (_NPN_Invoke):
+ (_NPN_GetProperty):
+ (_NPN_SetProperty):
+ (_NPN_RemoveProperty):
+ (_NPN_HasProperty):
+ (_NPN_HasMethod):
+ * bridge/c/c_instance.cpp:
+ (JSC::Bindings::CInstance::getPropertyNames):
+ * bridge/c/c_utility.cpp:
+ (JSC::Bindings::identifierFromNPIdentifier):
+ * bridge/c/c_utility.h:
+
+2010-04-07 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Poor rendering on lala.com with frame flattening
+ https://bugs.webkit.org/show_bug.cgi?id=37164
+
+ Do not flatten offscreen iframes.
+
+ Test: fast/frames/flattening/iframe-flattening-offscreen.html
+
+ * rendering/RenderPartObject.cpp:
+ (WebCore::RenderPartObject::flattenFrame):
+ * rendering/RenderPartObject.h:
+
+2010-04-07 Abhishek Arya <inferno@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ [V8] Add a missing check for constructor call in WebKitPointConstructor.
+ https://bugs.webkit.org/show_bug.cgi?id=37210
+
+ Test: fast/constructors/constructor-as-function-crash.html
+
+ * bindings/v8/custom/V8WebKitPointConstructor.cpp:
+ (WebCore::V8WebKitPoint::constructorCallback): Added a check for constructor call.
+
+2010-04-07 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37219
+
+ This change disables text caret for the iPhone platflorm.
+ Added UNUSED_PARAM to build when ENABLE_TEXT_CARET is 0.
+
+ * editing/SelectionController.cpp:
+ (WebCore::SelectionController::recomputeCaretRect):
+ (WebCore::SelectionController::paintCaret):
+ * page/Frame.cpp:
+ (WebCore::Frame::paintDragCaret):
+
+2010-04-07 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ Text repainting does not account for glyphs which draw outside the typographic bounds of the font (6274).
+ <rdar://problem/6649734>
+ <https://bugs.webkit.org/show_bug.cgi?id=6274>
+
+ In order to be able to handle successfully this case, it is necessary to change the glyph width cache to store
+ the bounding box for the glyph instead of the simply caching the glyph width.
+ Retrieving the bounding box for the glyph is expensive, therefore we do it only
+ when we are rendering text using the complex text path to minimize the performance impact.
+ To support characters with stacked diacritics, the method canUseGlyphCache has been modified to
+ return false for the range of characters with stacked diacritics.
+ The glyph cache has been also updated to allow storing the glyph bounding box together with the
+ horizontal width. The bounding box is populated only for complex text.
+
+ The original version of this patch has been written by Dan Bernstein.
+
+ Test: fast/repaint/stacked-diacritics.html
+
+ * Android.mk: File name change.
+ * GNUmakefile.am: File name change.
+ * WebCore.base.exp: Added parameter in exported function.
+ * WebCore.gypi: File name change.
+ * WebCore.vcproj/WebCore.vcproj: File name change.
+ * WebCore.xcodeproj/project.pbxproj: File name change.
+ * platform/graphics/Font.cpp:
+ (WebCore::Font::floatWidth): Added glyphOverflow parameter.
+ * platform/graphics/Font.h:
+ (WebCore::GlyphOverflow::GlyphOverflow): Added.
+ (WebCore::Font::width): Added glyphOverflow parameter.
+ * platform/graphics/FontFastPath.cpp:
+ (WebCore::Font::canUseGlyphCache): Modified to render characters with stacked diacritics with complex text path.
+ * platform/graphics/GlyphMetricsMap.cpp: Copied from WebCore/platform/graphics/GlyphWidthMap.cpp.
+ (WebCore::GlyphMetricsMap::locatePageSlowCase): Class name changed to reflect new semantics.
+ * platform/graphics/GlyphMetricsMap.h: Copied from WebCore/platform/graphics/GlyphWidthMap.h.
+ (WebCore::GlyphMetricsMap::GlyphMetricsMap):
+ (WebCore::GlyphMetricsMap::~GlyphMetricsMap):
+ (WebCore::GlyphMetricsMap::metricsForGlyph):
+ (WebCore::GlyphMetricsMap::widthForGlyph):
+ (WebCore::GlyphMetricsMap::setMetricsForGlyph):
+ (WebCore::GlyphMetricsMap::GlyphMetricsPage::metricsForGlyph):
+ (WebCore::GlyphMetricsMap::GlyphMetricsPage::setMetricsForGlyph):
+ (WebCore::GlyphMetricsMap::GlyphMetricsPage::setMetricsForIndex):
+ (WebCore::GlyphMetricsMap::locatePage):
+ * platform/graphics/GlyphWidthMap.cpp: Removed.
+ * platform/graphics/GlyphWidthMap.h: Removed.
+ * platform/graphics/SimpleFontData.cpp:
+ (WebCore::SimpleFontData::platformGlyphInit):
+ * platform/graphics/SimpleFontData.h:
+ (WebCore::):
+ (WebCore::SimpleFontData::widthForGlyph):
+ (WebCore::SimpleFontData::metricsForGlyph):
+ * platform/graphics/cairo/SimpleFontDataCairo.cpp:
+ (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
+ * platform/graphics/chromium/FontChromiumWin.cpp:
+ (WebCore::Font::floatWidthForComplexText): Added parameter.
+ * platform/graphics/chromium/FontLinux.cpp:
+ (WebCore::Font::floatWidthForComplexText): Added parameter.
+ * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
+ (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
+ * platform/graphics/chromium/SimpleFontDataLinux.cpp:
+ (WebCore::SimpleFontData::platformWidthForGlyph): Name and signature vachange
+ * platform/graphics/efl/FontEfl.cpp:
+ (WebCore::Font::floatWidthForComplexText): Name and signature change.
+ * platform/graphics/gtk/SimpleFontDataPango.cpp:
+ (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
+ * platform/graphics/haiku/FontHaiku.cpp:
+ (WebCore::Font::floatWidthForComplexText): Added parameter.
+ * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
+ (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
+ * platform/graphics/mac/ComplexTextController.cpp:
+ (WebCore::ComplexTextController::ComplexTextController):
+ (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
+ * platform/graphics/mac/ComplexTextController.h:
+ (WebCore::ComplexTextController::minGlyphBoundingBoxX):
+ (WebCore::ComplexTextController::maxGlyphBoundingBoxX):
+ (WebCore::ComplexTextController::minGlyphBoundingBoxY):
+ (WebCore::ComplexTextController::maxGlyphBoundingBoxY):
+ * platform/graphics/mac/FontComplexTextMac.cpp:
+ (WebCore::Font::floatWidthForComplexText): Added paramter.
+ * platform/graphics/mac/SimpleFontDataMac.mm:
+ (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
+ * platform/graphics/qt/FontQt.cpp:
+ (WebCore::Font::floatWidthForComplexText): Added paramter.
+ * platform/graphics/win/FontWin.cpp:
+ (WebCore::Font::floatWidthForComplexText): Added parameter.
+ * platform/graphics/win/SimpleFontDataCGWin.cpp:
+ (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
+ * platform/graphics/win/SimpleFontDataWin.cpp:
+ (WebCore::SimpleFontData::metricsForGDIGlyph):
+ * platform/graphics/win/UniscribeController.cpp:
+ (WebCore::UniscribeController::UniscribeController):
+ (WebCore::UniscribeController::shapeAndPlaceItem):
+ * platform/graphics/win/UniscribeController.h:
+ (WebCore::UniscribeController::minGlyphBoundingBoxX):
+ (WebCore::UniscribeController::maxGlyphBoundingBoxX):
+ (WebCore::UniscribeController::minGlyphBoundingBoxY):
+ (WebCore::UniscribeController::maxGlyphBoundingBoxY):
+ * platform/graphics/wince/FontWince.cpp:
+ (WebCore::Font::floatWidthForComplexText): Added parameter.
+ * platform/graphics/wx/FontWx.cpp:
+ (WebCore::Font::floatWidthForComplexText): Added parameter.
+ * platform/graphics/wx/SimpleFontDataWx.cpp:
+ (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::placeBoxesHorizontally):
+ (WebCore::InlineFlowBox::computeLogicalBoxHeights):
+ (WebCore::InlineFlowBox::computeVerticalOverflow):
+ * rendering/InlineTextBox.cpp:
+ (WebCore::InlineTextBox::setFallbackFonts):
+ (WebCore::InlineTextBox::fallbackFonts):
+ (WebCore::InlineTextBox::setGlyphOverflow):
+ (WebCore::InlineTextBox::glyphOverflow):
+ * rendering/InlineTextBox.h:
+ (WebCore::InlineTextBox::clearGlyphOverflowAndFallbackFontMap): Added.
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::computeHorizontalPositionsForLine):
+ (WebCore::RenderBlock::layoutInlineChildren):
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::RenderText):
+ (WebCore::RenderText::styleDidChange):
+ (WebCore::RenderText::widthFromCache):
+ (WebCore::RenderText::trimmedPrefWidths):
+ (WebCore::RenderText::calcPrefWidths):
+ (WebCore::RenderText::setText):
+ (WebCore::RenderText::width):
+ * rendering/RenderText.h:
+
+2010-04-07 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Fix incorrect white-space in WebGLRenderingContext.idl
+ https://bugs.webkit.org/show_bug.cgi?id=31339
+
+ * html/canvas/WebGLRenderingContext.idl: Remove offending extra whitespace.
+
+2010-04-07 Rodrigo Belem <rodrigo.belem@openbossa.org>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] The build system is not installing the generated headers (QGraphicsWebView, QWebDatabase, etc)
+ https://bugs.webkit.org/show_bug.cgi?id=37173
+
+ This patch sets the correct path to the classheaders.pri and then
+ fixes the installation of the generated headers.
+
+ * WebCore.pro:
+
+2010-04-05 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Kenneth Christiansen.
+
+ Spatial Navigation: bail out as soon as algorithm finds a focus candidate is not applicable
+ https://bugs.webkit.org/show_bug.cgi?id=37135
+
+ It happens, for example, when distanceDataForNode assigns numeric_limits<long long> to
+ current focus candidate's. It means that current candidate is not in direction, or not
+ a valid target node.
+
+ * page/FocusController.cpp:
+ (WebCore::FocusController::findFocusableNodeInDirection):
+
+2010-04-07 Andrey Kosyakov <caseq@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Removed inspector methods from ScriptExecutionContext and derived classes.
+ Removed MessageDestination parameter from console-related calls (we now always
+ log to the same destination(s)).
+ Removed redundant FrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest()
+ https://bugs.webkit.org/show_bug.cgi?id=36949
+
+ * dom/Document.cpp:
+ (WebCore::Document::reportException):
+ (WebCore::Document::addMessage):
+ * dom/Document.h:
+ * dom/ScriptExecutionContext.h:
+ * loader/EmptyClients.h:
+ (WebCore::EmptyFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
+ * loader/FrameLoaderClient.h:
+ * loader/ResourceLoadNotifier.cpp:
+ * loader/ResourceLoadNotifier.h:
+ * websockets/WebSocket.cpp:
+ (WebCore::WebSocket::connect):
+ * websockets/WebSocketChannel.cpp:
+ (WebCore::WebSocketChannel::didOpen):
+ (WebCore::WebSocketChannel::appendToBuffer):
+ * websockets/WebSocketHandshake.cpp:
+ (WebCore::WebSocketHandshake::readServerHandshake):
+ (WebCore::WebSocketHandshake::readHTTPHeaders):
+ (WebCore::WebSocketHandshake::checkResponseHeaders):
+ * workers/DefaultSharedWorkerRepository.cpp:
+ (WebCore::postConsoleMessageTask):
+ (WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject):
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::importScripts):
+ (WebCore::WorkerContext::addMessage):
+ * workers/WorkerContext.h:
+ * workers/WorkerMessagingProxy.cpp:
+ (WebCore::postConsoleMessageTask):
+ (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
+ * workers/WorkerMessagingProxy.h:
+ * workers/WorkerReportingProxy.h:
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::reportUnsafeUsage):
+ (WebCore::XMLHttpRequest::didFinishLoading):
+
+2010-04-07 Dawit Alemayehu <adawit@kde.org>
+
+ Reviewed by Simon Hausmann.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36827
+
+ Replaced the 'shouldTreatAsAttachment' function with a more generic
+ function that returns the content disposition type.
+
+ See comments 39-42 in https://bugs.webkit.org/show_bug.cgi?id=36395
+
+ * platform/network/HTTPParsers.cpp:
+ (WebCore::contentDispositionType):
+ * platform/network/HTTPParsers.h:
+ (WebCore::):
+
+2010-04-07 Vitaly Repeshko <vitalyr@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ [V8] Throw exception in SerializedScriptValue on input errors
+ https://bugs.webkit.org/show_bug.cgi?id=37160
+
+ When cycles are detected SerializedScriptValue should throw
+ NOT_SUPPORTED_ERR. See
+ http://www.whatwg.org/specs/web-apps/2009-10-27/multipage/urls.html#structured-clone
+
+ * bindings/scripts/CodeGeneratorV8.pm: Custom processing for
+ function arguments of type SerializedScriptValue.
+
+ * bindings/v8/SerializedScriptValue.cpp:
+ (WebCore::SerializedScriptValue::SerializedScriptValue):
+ * bindings/v8/SerializedScriptValue.h:
+ (WebCore::SerializedScriptValue::create): Added a constructor
+ function with an extra paratemer to check whether an exception was
+ thrown.
+
+ SerializedScriptValue::create callers updated to check for
+ exceptions:
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::V8DOMWindow::postMessageCallback):
+ * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
+ (WebCore::V8DedicatedWorkerContext::postMessageCallback):
+ * bindings/v8/custom/V8HistoryCustom.cpp:
+ (WebCore::V8History::pushStateCallback):
+ (WebCore::V8History::replaceStateCallback):
+ * bindings/v8/custom/V8MessagePortCustom.cpp:
+ (WebCore::V8MessagePort::postMessageCallback):
+ * bindings/v8/custom/V8PopStateEventCustom.cpp:
+ (WebCore::V8PopStateEvent::initPopStateEventCallback):
+ * bindings/v8/custom/V8WorkerCustom.cpp:
+ (WebCore::V8Worker::postMessageCallback):
+
+2010-04-07 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Provide a placeholder for resources with no content available
+ https://bugs.webkit.org/show_bug.cgi?id=37142
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/ImageView.js:
+ (WebInspector.ImageView):
+ (WebInspector.ImageView.prototype.contentTabSelected):
+ * inspector/front-end/ResourceView.js:
+ (WebInspector.ResourceView.prototype._innerSelectContentTab):
+ (WebInspector.ResourceView.prototype.contentTabSelected):
+ * inspector/front-end/inspector.css:
+ (.resource-content-unavailable):
+
+2010-04-07 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36750
+
+ [Qt] Package build without touch support is broken
+
+ Use the conditional attribute instead of #ifdefs in the idl file for the
+ touch specific properties, to make the generated files compile with and
+ without the touch events enabled.
+
+ * dom/Document.idl: Use conditional instead of #ifdef.
+ * dom/Element.idl: Ditto.
+ * page/DOMWindow.idl: Ditto.
+
+2010-04-07 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Holger Freyther.
+
+ Add the touch event related IDL files to the idl generation, so that
+ they can be safely included from generated JS bindings files. The
+ generated files have #ifdef feature guards.
+
+ * DerivedSources.cpp:
+ * DerivedSources.make:
+ * GNUmakefile.am:
+
+2010-04-06 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ V8CustomIDBCallbacks<> should not hold a reference to the frame
+ https://bugs.webkit.org/show_bug.cgi?id=37154
+
+ Don't hold on to a Frame reference.
+ Instead, be an ActiveDOMObject and use scriptExecutionContext()
+ to get the v8 context.
+ Factor the guts of onSuccess and onError out.
+
+ Doesn't work enough to test yet.
+
+ * bindings/v8/custom/V8CustomIDBCallbacks.h:
+ (WebCore::V8CustomIDBCallbacks::create):
+ (WebCore::V8CustomIDBCallbacks::onSuccess):
+ (WebCore::V8CustomIDBCallbacks::onError):
+ (WebCore::V8CustomIDBCallbacks::V8CustomIDBCallbacks):
+ (WebCore::V8CustomIDBCallbacks::onEvent):
+ * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp:
+ (WebCore::V8IndexedDatabaseRequest::openCallback):
+ * storage/IDBCallbacks.h:
+ (WebCore::IDBCallbacks::IDBCallbacks):
+
+2010-04-07 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r57196.
+ http://trac.webkit.org/changeset/57196
+ https://bugs.webkit.org/show_bug.cgi?id=37196
+
+ Multiple layout test failures on Chromium (Requested by yurys
+ on #webkit).
+
+ * bindings/js/ScriptCallStack.cpp:
+ (WebCore::ScriptCallStack::callLocation):
+ * bindings/js/ScriptCallStack.h:
+ * bindings/v8/ScriptCallStack.cpp:
+ (WebCore::ScriptCallStack::create):
+ (WebCore::ScriptCallStack::callLocation):
+ (WebCore::ScriptCallStack::ScriptCallStack):
+ * bindings/v8/ScriptCallStack.h:
+ * bindings/v8/ScriptDebugServer.cpp:
+ * bindings/v8/ScriptDebugServer.h:
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::createUtilityContext):
+ (WebCore::V8Proxy::sourceLineNumber):
+ (WebCore::V8Proxy::sourceName):
+ * bindings/v8/V8Proxy.h:
+ (WebCore::V8Proxy::utilityContext):
+ * inspector/TimelineRecordFactory.cpp:
+ (WebCore::TimelineRecordFactory::createGenericRecord):
+
+2010-04-07 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Unreviewed, rolling out r57199.
+ http://trac.webkit.org/changeset/57199
+ https://bugs.webkit.org/show_bug.cgi?id=36750
+
+ Breaks non-touch enabled build
+
+ * dom/Document.idl:
+ * dom/Element.idl:
+ * page/DOMWindow.idl:
+
+2010-04-07 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36750
+
+ [Qt] Package build without touch support is broken
+
+ Use the conditional attribute instead of #ifdefs in the idl file for the
+ touch specific properties, to make the generated files compile with and
+ without the touch events enabled.
+
+ * dom/Document.idl: Use conditional instead of #ifdef.
+ * dom/Element.idl: Ditto.
+ * page/DOMWindow.idl: Ditto.
+
+2010-04-07 Jaime Yap <jaimeyap@google.com>
+
+ Reviewed by Yury Semikhatsky.
+
+ Adds the ability to get the function symbol name when looking up the call location
+ for records sent by the InspectorTimelineAgent.
+ https://bugs.webkit.org/show_bug.cgi?id=36839
+
+ No new tests.
+
+ * bindings/js/ScriptCallStack.cpp:
+ (WebCore::ScriptCallStack::callLocation):
+ * bindings/js/ScriptCallStack.h:
+ * bindings/v8/ScriptCallStack.cpp:
+ (WebCore::ScriptCallStack::create):
+ (WebCore::ScriptCallStack::callLocation):
+ (WebCore::ScriptCallStack::ScriptCallStack):
+ * bindings/v8/ScriptCallStack.h:
+ * bindings/v8/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::createUtilityContext):
+ (WebCore::ScriptDebugServer::lastCallFrame):
+ * bindings/v8/ScriptDebugServer.h:
+ (WebCore::ScriptDebugServer::utilityContext):
+ * bindings/v8/V8Proxy.cpp:
+ * bindings/v8/V8Proxy.h:
+ * inspector/TimelineRecordFactory.cpp:
+ (WebCore::TimelineRecordFactory::createGenericRecord):
+
+2010-04-06 Greg Bolsinga <bolsinga@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37188
+ WebCore::page::Geolocation::m_shouldClearCache is not used.
+
+ * page/Geolocation.cpp:
+ (WebCore::Geolocation::Geolocation): Remove m_shouldClearCache.
+ * page/Geolocation.h:
+ (WebCore::Geolocation::): Ditto.
+
+2010-04-06 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ Remove obsolete MOBILE flag
+ https://bugs.webkit.org/show_bug.cgi?id=37125
+
+ The MOBILE flag is no longer used by any of the ports.
+ The flag use to control some tokenizer defaults that
+ can be changed runtime.
+
+ No new tests as there is no new functionality.
+
+ * config.h:
+ * html/HTMLTokenizer.cpp:
+
+2010-04-06 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ REGRESSION: Worker termination via JS timeout may cause worker tests like fast/workers/worker-terminate.html fail.
+ https://bugs.webkit.org/show_bug.cgi?id=36646
+
+ Cause the worker code to swallow termination exceptions because these
+ need not be reported to the user because they are an implementation
+ detail of how we terminate worker execution.
+
+ Test: fast/workers/worker-terminate-forever.html
+
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::reportException):
+ - Refuse to report termination exceptions to the user because they
+ are an implementation detail.
+ * bindings/js/WorkerScriptController.cpp:
+ (WebCore::WorkerScriptController::forbidExecution):
+ - Instead of using timeouts to stop run away workers, use our fancy
+ new Terminator object.
+
+2010-04-06 Kinuko Yasuda <kinuko@chromium.org>
+
+ Reviewed by Jian Li.
+
+ Add basic FileSystem operations for FileReader/FileWriter support for POSIX (incl. Mac)
+ https://bugs.webkit.org/show_bug.cgi?id=36938
+
+ No new tests; will be added when we implement upper layers.
+
+ * platform/FileSystem.h:
+ (WebCore::):
+ * platform/posix/FileSystemPOSIX.cpp:
+ (WebCore::openFile):
+ (WebCore::closeFile):
+ (WebCore::seekFile):
+ (WebCore::truncateFile):
+ (WebCore::writeToFile):
+ (WebCore::readFromFile):
+
+2010-04-06 Nicolas Weber <thakis@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Implement DragImage functionality for chromium/mac.
+ https://bugs.webkit.org/show_bug.cgi?id=37069
+
+ * page/chromium/DragControllerChromium.cpp:
+ (WebCore::DragController::maxDragImageSize):
+ Use a max size of 400x400 on OS X.
+ * platform/chromium/DragImageChromiumMac.cpp:
+ (WebCore::dragImageSize): Implement.
+ (WebCore::deleteDragImage): Implement.
+ (WebCore::scaleDragImage): Implement.
+ (WebCore::dissolveDragImageToFraction): Implement.
+ (WebCore::createDragImageFromImage): Implement.
+ * platform/chromium/DragImageRef.h:
+ Use CGImageRefs as DragImageRef on OS X.
+
+2010-04-06 Chris Evans <cevans@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Use the new UserGestureIndictor to process javascript:window.open()
+
+ https://bugs.webkit.org/show_bug.cgi?id=37138
+
+ * bindings/v8/ScriptController.cpp
+ (WebCore::ScriptController::processingUserGesture):
+ Use the new UserGestureIndicator when processing a
+ javascript:window.open()
+
+2010-04-06 Vangelis Kokkevis <vangelis@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Renaming Graphics Layer related classes used by Chromium from *Skia to *Chromium and replacing wherever possible Skia-specific
+ data types with WebCore equivalents. The source files will be renamed accordingly and moved out of platform/graphics/skia
+ in a subsequent CL.
+ https://bugs.webkit.org/show_bug.cgi?id=37116
+
+ No new functionality so no new tests.
+
+ * platform/graphics/GraphicsLayer.h:
+ * platform/graphics/skia/GraphicsLayerSkia.cpp:
+ (WebCore::setLayerBorderColor):
+ (WebCore::clearBorderColor):
+ (WebCore::setLayerBackgroundColor):
+ (WebCore::clearLayerBackgroundColor):
+ (WebCore::GraphicsLayer::create):
+ (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
+ (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
+ (WebCore::GraphicsLayerChromium::setName):
+ (WebCore::GraphicsLayerChromium::nativeLayer):
+ (WebCore::GraphicsLayerChromium::setChildren):
+ (WebCore::GraphicsLayerChromium::addChild):
+ (WebCore::GraphicsLayerChromium::addChildAtIndex):
+ (WebCore::GraphicsLayerChromium::addChildBelow):
+ (WebCore::GraphicsLayerChromium::addChildAbove):
+ (WebCore::GraphicsLayerChromium::replaceChild):
+ (WebCore::GraphicsLayerChromium::removeFromParent):
+ (WebCore::GraphicsLayerChromium::setPosition):
+ (WebCore::GraphicsLayerChromium::setAnchorPoint):
+ (WebCore::GraphicsLayerChromium::setSize):
+ (WebCore::GraphicsLayerChromium::setTransform):
+ (WebCore::GraphicsLayerChromium::setChildrenTransform):
+ (WebCore::GraphicsLayerChromium::setPreserves3D):
+ (WebCore::GraphicsLayerChromium::setMasksToBounds):
+ (WebCore::GraphicsLayerChromium::setDrawsContent):
+ (WebCore::GraphicsLayerChromium::setBackgroundColor):
+ (WebCore::GraphicsLayerChromium::clearBackgroundColor):
+ (WebCore::GraphicsLayerChromium::setContentsOpaque):
+ (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
+ (WebCore::GraphicsLayerChromium::setOpacity):
+ (WebCore::GraphicsLayerChromium::setNeedsDisplay):
+ (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
+ (WebCore::GraphicsLayerChromium::setContentsRect):
+ (WebCore::GraphicsLayerChromium::setContentsToImage):
+ (WebCore::GraphicsLayerChromium::setContentsToVideo):
+ (WebCore::GraphicsLayerChromium::setGeometryOrientation):
+ (WebCore::GraphicsLayerChromium::hostLayerForSublayers):
+ (WebCore::GraphicsLayerChromium::layerForSuperlayer):
+ (WebCore::GraphicsLayerChromium::platformLayer):
+ (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
+ (WebCore::GraphicsLayerChromium::setDebugBorder):
+ (WebCore::GraphicsLayerChromium::updateSublayerList):
+ (WebCore::GraphicsLayerChromium::updateLayerPosition):
+ (WebCore::GraphicsLayerChromium::updateLayerSize):
+ (WebCore::GraphicsLayerChromium::updateAnchorPoint):
+ (WebCore::GraphicsLayerChromium::updateTransform):
+ (WebCore::GraphicsLayerChromium::updateChildrenTransform):
+ (WebCore::GraphicsLayerChromium::updateMasksToBounds):
+ (WebCore::GraphicsLayerChromium::updateContentsOpaque):
+ (WebCore::GraphicsLayerChromium::updateBackfaceVisibility):
+ (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
+ (WebCore::GraphicsLayerChromium::updateLayerDrawsContent):
+ (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
+ (WebCore::GraphicsLayerChromium::updateContentsImage):
+ (WebCore::GraphicsLayerChromium::updateContentsVideo):
+ (WebCore::GraphicsLayerChromium::updateContentsRect):
+ (WebCore::GraphicsLayerChromium::updateGeometryOrientation):
+ (WebCore::GraphicsLayerChromium::setupContentsLayer):
+ (WebCore::GraphicsLayerChromium::updateOpacityOnLayer):
+ * platform/graphics/skia/GraphicsLayerSkia.h:
+ (WebCore::GraphicsLayerChromium::primaryLayer):
+ (WebCore::GraphicsLayerChromium::contentsLayer):
+ * platform/graphics/skia/LayerRendererSkia.cpp:
+ (WebCore::LayerRendererChromium::create):
+ (WebCore::LayerRendererChromium::LayerRendererChromium):
+ (WebCore::LayerRendererChromium::~LayerRendererChromium):
+ (WebCore::LayerRendererChromium::updateLayerContents):
+ (WebCore::LayerRendererChromium::drawLayersInCanvas):
+ (WebCore::LayerRendererChromium::drawLayerInCanvasRecursive):
+ (WebCore::LayerRendererChromium::updateLayerContentsRecursive):
+ * platform/graphics/skia/LayerRendererSkia.h:
+ (WebCore::LayerRendererChromium::setRootLayer):
+ (WebCore::LayerRendererChromium::rootLayer):
+ * platform/graphics/skia/LayerSkia.cpp:
+ (WebCore::LayerChromium::create):
+ (WebCore::LayerChromium::LayerChromium):
+ (WebCore::LayerChromium::~LayerChromium):
+ (WebCore::LayerChromium::updateGraphicsContext):
+ (WebCore::LayerChromium::updateContents):
+ (WebCore::LayerChromium::drawDebugBorder):
+ (WebCore::LayerChromium::setNeedsCommit):
+ (WebCore::LayerChromium::addSublayer):
+ (WebCore::LayerChromium::insertSublayer):
+ (WebCore::LayerChromium::removeFromSuperlayer):
+ (WebCore::LayerChromium::removeSublayer):
+ (WebCore::LayerChromium::indexOfSublayer):
+ (WebCore::LayerChromium::setBackingStoreRect):
+ (WebCore::LayerChromium::setBounds):
+ (WebCore::LayerChromium::setFrame):
+ (WebCore::LayerChromium::rootLayer):
+ (WebCore::LayerChromium::removeAllSublayers):
+ (WebCore::LayerChromium::setSublayers):
+ (WebCore::LayerChromium::setSuperlayer):
+ (WebCore::LayerChromium::superlayer):
+ (WebCore::LayerChromium::setNeedsDisplay):
+ * platform/graphics/skia/LayerSkia.h:
+ (WebCore::LayerChromium::setAnchorPoint):
+ (WebCore::LayerChromium::anchorPoint):
+ (WebCore::LayerChromium::borderWidth):
+ (WebCore::LayerChromium::bounds):
+ (WebCore::LayerChromium::frame):
+ (WebCore::LayerChromium::setPosition):
+ (WebCore::LayerChromium::position):
+ (WebCore::LayerChromium::zPosition):
+ (WebCore::LayerChromium::getSublayers):
+ (WebCore::LayerChromium::setSublayerTransform):
+ (WebCore::LayerChromium::sublayerTransform):
+ (WebCore::LayerChromium::setTransform):
+ (WebCore::LayerChromium::transform):
+
+2010-04-06 Jarkko Sakkinen <jarkko.j.sakkinen@gmail.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] WebKit does not build on Windows with --3d-canvas
+ https://bugs.webkit.org/show_bug.cgi?id=37026
+
+ * platform/graphics/GraphicsContext3D.h:
+ * platform/graphics/qt/GraphicsContext3DQt.cpp:
+ (WebCore::GraphicsContext3D::getActiveAttrib):
+ (WebCore::GraphicsContext3D::getActiveUniform):
+
+2010-04-06 Abhinav Mithal <abhinav.mithal@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] npapi header leaves XP_WIN flag defined even when __SYMBIAN32__ flag is found
+ https://bugs.webkit.org/show_bug.cgi?id=34614
+
+ Do not define XP_WIN if WebKit is compiled for Symbian.
+
+ No new tests as there is no new functionality.
+
+ * bridge/npapi.h:
+
+2010-04-06 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ aria-label doesn't work on image map area
+ https://bugs.webkit.org/show_bug.cgi?id=36977
+
+ Test: platform/mac/accessibility/area-with-aria-label.html
+
+ * accessibility/AccessibilityImageMapLink.cpp:
+ (WebCore::AccessibilityImageMapLink::accessibilityDescription):
+
+2010-04-06 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Simon Fraser.
+
+ Reverts the incorrect fixed position fastpath scrolling logic
+ https://bugs.webkit.org/show_bug.cgi?id=33150
+
+ This code does not properly handle overflow or transforms on fixed
+ position elements, causing repaint bugs on scroll.
+
+ No new tests.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::addFixedObject):
+ (WebCore::FrameView::removeFixedObject):
+ * page/FrameView.h:
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::scrollContents):
+ * platform/ScrollView.h:
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::styleWillChange):
+
+2010-04-06 Kevin Ollivier <kevino@theolliviers.com>
+
+ [wx] Build fix for wxMac / Cocoa on wx trunk.
+
+ * platform/wx/wxcode/mac/carbon/fontprops.mm:
+ (wxFontContainsCharacters):
+
+2010-04-06 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ JS code generator does not support feature conditional attributes that are writable
+ https://bugs.webkit.org/show_bug.cgi?id=37149
+
+ Write out the feature #ifdef not only for the getter, but also for the setter
+ function.
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+
+2010-04-06 Evan Stade <estade@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [chromium] need DragImage implementation
+ https://bugs.webkit.org/show_bug.cgi?id=35811
+
+ Use the DragImageRef that the DragController passes to us.
+
+ This was previously committed but rolled back for breaking layout
+ tests. The fix is on the WebKit/chromium side.
+
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+ * platform/chromium/DragImageChromium.cpp: Removed.
+ * platform/chromium/DragImageChromiumMac.cpp: Added.
+ (WebCore::dragImageSize):
+ (WebCore::deleteDragImage):
+ (WebCore::scaleDragImage):
+ (WebCore::dissolveDragImageToFraction):
+ (WebCore::createDragImageFromImage):
+ (WebCore::createDragImageIconForCachedImage):
+ * platform/chromium/DragImageChromiumSkia.cpp: Added.
+ (WebCore::dragImageSize):
+ (WebCore::deleteDragImage):
+ (WebCore::scaleDragImage):
+ (WebCore::dissolveDragImageToFraction):
+ (WebCore::createDragImageFromImage):
+ (WebCore::createDragImageIconForCachedImage):
+ * platform/chromium/DragImageRef.h:
+
+2010-04-01 Yuzo Fujishima <yuzo@google.com>
+
+ Reviewed by Darin Adler.
+
+ Fix bug: CSS3 :not selector with ID simple selector sequence test fails
+ As per http://www.w3.org/TR/css3-selectors/#negation, :not(X) takes a simple selector as an argument.
+ WebKit was accepting a simple selector *sequence*.
+ This patch adds WebCore::CSSSelector::isSimple which judges if the selector is simple.
+ The method is used in CSSGrammar.y to decide whether to accept the selector as the argument of :not().
+ https://bugs.webkit.org/show_bug.cgi?id=36276
+
+ Test: fast/css/invalid-not-with-simple-selector-sequence.html
+
+ * css/CSSGrammar.y:
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::isSimple):
+ * css/CSSSelector.h:
+
+2010-04-06 Andy Estes <aestes@apple.com>
+
+ Rubber-stamped by Dan Bernstein.
+
+ Remove non-ASCII characters from license headers to fix build errors on
+ Japanese Windows.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37008
+
+ * dom/UserGestureIndicator.cpp:
+ * dom/UserGestureIndicator.h:
+
+2010-04-06 Andrei Popescu <andreip@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ [V8][Android] PageCache crashes when JavaScript is disabled
+ https://bugs.webkit.org/show_bug.cgi?id=37150
+
+ This patch ensures that saving and restoration of the script
+ state only happens when JS is enabled and each frame has a
+ non-null context.
+
+ No new tests: existing tests show the feature is working
+ when JS is enabled. When JS is disabled, manual testing
+ is required.
+
+ * bindings/v8/ScriptCachedFrameData.cpp:
+ (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
+ (WebCore::ScriptCachedFrameData::restore):
+
+2010-04-06 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Unreviewed build fix.
+
+ Web Inspector: missed files were added.
+
+
+ * GNUmakefile.am:
+ * bindings/js/ScriptGCEvent.h: Added.
+ (WebCore::ScriptGCEvent::addEventListener):
+ (WebCore::ScriptGCEvent::removeEventListener):
+ (WebCore::ScriptGCEvent::getHeapSize):
+ * bindings/v8/ScriptGCEvent.cpp: Added.
+ (WebCore::ScriptGCEvent::addEventListener):
+ (WebCore::ScriptGCEvent::removeEventListener):
+ (WebCore::ScriptGCEvent::getHeapSize):
+ (WebCore::ScriptGCEvent::getUsedHeapSize):
+ (WebCore::ScriptGCEvent::gcPrologueCallback):
+ (WebCore::ScriptGCEvent::gcEpilogueCallback):
+ * bindings/v8/ScriptGCEvent.h: Added.
+ * inspector/ScriptGCEventListener.h: Added.
+ (WebCore::ScriptGCEventListener::~ScriptGCEventListener):
+
+2010-04-06 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: The JS code can be not optimal from memory usage point of view.
+ As example it can generate a lot of temp objects and GC will spend significant time to collect these objects.
+ GC event will show us these moments. Also each event can show us how much memory is in use.
+ https://bugs.webkit.org/show_bug.cgi?id=37025
+
+ * WebCore.gypi:
+ * WebCore.pro:
+ * inspector/InspectorTimelineAgent.cpp:
+ (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
+ (WebCore::InspectorTimelineAgent::pushGCEventRecords):
+ (WebCore::InspectorTimelineAgent::didGC):
+ (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
+ (WebCore::InspectorTimelineAgent::didInstallTimer):
+ (WebCore::InspectorTimelineAgent::didRemoveTimer):
+ (WebCore::InspectorTimelineAgent::willSendResourceRequest):
+ (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
+ (WebCore::InspectorTimelineAgent::didMarkTimeline):
+ (WebCore::InspectorTimelineAgent::addRecordToTimeline):
+ (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
+ (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
+ (WebCore::InspectorTimelineAgent::pushCurrentRecord):
+ * inspector/InspectorTimelineAgent.h:
+ (WebCore::):
+ (WebCore::InspectorTimelineAgent::instanceCount):
+ (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
+ (WebCore::InspectorTimelineAgent::GCEvent::GCEvent):
+ * inspector/TimelineRecordFactory.cpp:
+ (WebCore::TimelineRecordFactory::createGCEventData):
+ * inspector/TimelineRecordFactory.h:
+ * inspector/front-end/Popover.js:
+ (WebInspector.PopoverHelper.prototype._mouseHover):
+ * inspector/front-end/TimelineAgent.js:
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel.prototype.get _recordStyles):
+ (WebInspector.TimelinePanel.FormattedRecord):
+ (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
+ (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
+
+2010-04-05 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Laszlo Gombos.
+
+ Remove unused DIRECTIONAL_PAD_NAVIGATION
+ https://bugs.webkit.org/show_bug.cgi?id=37134
+
+ Android browser was planning to have a "directional pad navigation" available on
+ trunk, guarded by a build flag named DIRECTIONAL_PAD_NAVIGATION, but according to
+ https://bugs.webkit.org/show_bug.cgi?id=23145#c3 , the plan was dropped.
+
+ However bug 23163 landed some code relying on the build flag supposedly to be added,
+ and is now dead code in trunk.
+
+ * dom/Element.cpp:
+ (WebCore::Element::updateFocusAppearance):
+
+2010-04-06 Mattias Nissler <mnissler@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Rework inspector docking to issue a request call from the frontend
+ whenever the user triggers to (un)dock the inspector window. Doing so
+ enables InspectorFrontendHost implementations to asynchronously decide
+ whether the window is docked or not. The old canAttachWindow() is not
+ required anymore, remove it.
+ https://bugs.webkit.org/show_bug.cgi?id=36944
+
+ * inspector/InspectorFrontendClient.h:
+ * inspector/InspectorFrontendClientLocal.cpp:
+ (WebCore::InspectorFrontendClientLocal::requestAttachWindow):
+ * inspector/InspectorFrontendClientLocal.h:
+ * inspector/InspectorFrontendHost.cpp:
+ (WebCore::InspectorFrontendHost::requestAttachWindow):
+ * inspector/InspectorFrontendHost.h:
+ * inspector/InspectorFrontendHost.idl:
+ * inspector/front-end/inspector.js:
+ (WebInspector.toggleAttach):
+
+2010-04-06 Vitaly Repeshko <vitalyr@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ [V8] Extend the set of types supported by SerializedScriptValue
+ https://bugs.webkit.org/show_bug.cgi?id=37052
+
+ New types include sparse arrays, Uint32, Date, and ImageData.
+
+ Serialization process became more flexible. A state can either
+ directly write primitive values (instead of returning them like
+ iterator) or construct a new state for serializing complex values
+ that will return to the current state when done.
+
+ Deserialization process now avoids exposing the tags using a set
+ of factory functions for complex objects instead.
+
+ Internal buffer type changed to uint8_t to be independent of
+ whether char is signed or not.
+
+ * bindings/v8/SerializedScriptValue.cpp:
+ (WebCore::):
+ (WebCore::Writer::Writer):
+ (WebCore::Writer::writeString):
+ (WebCore::Writer::writeUint32):
+ (WebCore::Writer::writeDate):
+ (WebCore::Writer::writeNumber):
+ (WebCore::Writer::writeImageData):
+ (WebCore::Writer::writeArray):
+ (WebCore::Writer::writeObject):
+ (WebCore::Writer::writeSparseArray):
+ (WebCore::Writer::doWriteUint32):
+ (WebCore::Writer::doWriteNumber):
+ (WebCore::Writer::append):
+ (WebCore::Writer::fillHole):
+ (WebCore::Writer::byteAt):
+ (WebCore::Serializer::Serializer):
+ (WebCore::Serializer::serialize):
+ (WebCore::Serializer::writeArray):
+ (WebCore::Serializer::writeObject):
+ (WebCore::Serializer::writeSparseArray):
+ (WebCore::Serializer::StateBase::StateBase):
+ (WebCore::Serializer::ErrorState::ErrorState):
+ (WebCore::Serializer::ErrorState::advance):
+ (WebCore::Serializer::State::composite):
+ (WebCore::Serializer::State::State):
+ (WebCore::Serializer::ArrayState::ArrayState):
+ (WebCore::Serializer::ArrayState::advance):
+ (WebCore::Serializer::AbstractObjectState::AbstractObjectState):
+ (WebCore::Serializer::AbstractObjectState::advance):
+ (WebCore::Serializer::ObjectState::ObjectState):
+ (WebCore::Serializer::ObjectState::objectDone):
+ (WebCore::Serializer::SparseArrayState::SparseArrayState):
+ (WebCore::Serializer::SparseArrayState::objectDone):
+ (WebCore::Serializer::push):
+ (WebCore::Serializer::pop):
+ (WebCore::Serializer::handleError):
+ (WebCore::Serializer::checkComposite):
+ (WebCore::Serializer::writeString):
+ (WebCore::Serializer::writeImageData):
+ (WebCore::Serializer::newArrayState):
+ (WebCore::Serializer::newObjectState):
+ (WebCore::Serializer::doSerialize):
+ (WebCore::Reader::Reader):
+ (WebCore::Reader::read):
+ (WebCore::Reader::readString):
+ (WebCore::Reader::readUint32):
+ (WebCore::Reader::readDate):
+ (WebCore::Reader::readNumber):
+ (WebCore::Reader::readImageData):
+ (WebCore::Reader::doReadUint32):
+ (WebCore::Reader::doReadNumber):
+ (WebCore::Deserializer::Deserializer):
+ (WebCore::Deserializer::createArray):
+ (WebCore::Deserializer::createObject):
+ (WebCore::Deserializer::createSparseArray):
+ (WebCore::Deserializer::initializeObject):
+ (WebCore::Deserializer::doDeserialize):
+ (WebCore::Deserializer::stackDepth):
+ (WebCore::SerializedScriptValue::deserialize):
+
+2010-04-06 Csaba Osztrogonác <ossy@webkit.org>
+
+ Unreviewed buildfix for --minimal build.
+ Buildfix after r57134. Add ENABLE(WORKERS) guard.
+
+ original bug: https://bugs.webkit.org/show_bug.cgi?id=36375
+
+ * bindings/js/JSWorkerContextErrorHandler.cpp:
+
+2010-04-06 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ SVG/SMIL parse failure on attribute keySplines
+ https://bugs.webkit.org/show_bug.cgi?id=37071
+
+ Test: svg/animations/animate-keySplines.html
+
+ The String in 'keySplines' can have multiple spaces between numbers
+ and delimiters. The parsing code is inspired by SVGParserUtilities
+ and respects this.
+
+ * svg/SVGAnimationElement.cpp:
+ (WebCore::parseKeySplines):
+
+2010-04-06 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Refactored error reporting mechanizm on Worker Global Objects.
+ Unlike other event listeners which accept single argument(Event)
+ onerror handler on worker global object should be a function
+ accepting three arguments. This error reporting was implementedas
+ EventListener::reportError method which had custom implementations
+ for v8 and JSC. This patch removes EventListener::reportError and
+ moves its functionality into custom bindings(V8WorkerContextErrorHandler
+ and JSWorkerContextErrorHandler) that implement EventListener inerface
+ for the onerror handler.
+
+ This patch also makes uncaught exceptions that happen in the onerror
+ listener be reported to the Worker's onerror handler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36375
+
+ * Android.jscbindings.mk:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSBindingsAllInOne.cpp:
+ * bindings/js/JSEventListener.cpp:
+ * bindings/js/JSEventListener.h:
+ * bindings/js/JSWorkerContextErrorHandler.cpp: Added.
+ (WebCore::JSWorkerContextErrorHandler::JSWorkerContextErrorHandler):
+ (WebCore::JSWorkerContextErrorHandler::~JSWorkerContextErrorHandler):
+ (WebCore::JSWorkerContextErrorHandler::handleEvent):
+ * bindings/js/JSWorkerContextErrorHandler.h: Added.
+ (WebCore::JSWorkerContextErrorHandler::create):
+ (WebCore::createJSWorkerContextErrorHandler):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/V8WorkerContextErrorHandler.cpp: Added.
+ (WebCore::V8WorkerContextErrorHandler::V8WorkerContextErrorHandler):
+ (WebCore::V8WorkerContextErrorHandler::callListenerFunction):
+ * bindings/v8/V8WorkerContextErrorHandler.h: Added.
+ (WebCore::V8WorkerContextErrorHandler::create):
+ * bindings/v8/V8WorkerContextEventListener.cpp:
+ * bindings/v8/V8WorkerContextEventListener.h:
+ * dom/EventListener.h:
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::WorkerContext):
+ (WebCore::WorkerContext::reportException):
+ * workers/WorkerContext.h:
+
+2010-04-06 Pavel Feldman <pfeldman@chromium.org>
+
+ Not reviewed: reverting v8 change at r57079 for crashing Chromium layout tests.
+
+2010-04-05 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Darin Adler.
+
+ RenderProgress.cpp is missing CurrentTime.h
+ https://bugs.webkit.org/show_bug.cgi?id=37080
+
+ No new tests. just fixed compilation error.
+
+ * rendering/RenderProgress.cpp:
+
+
+2010-04-05 Eric Uhrhane <ericu@chromium.org>
+
+ Reviewed by Brady Eidson.
+
+ window.openDatabase() always fails for new databases when using WebKit nightly with Safari 4.0.5
+ https://bugs.webkit.org/show_bug.cgi?id=36671
+
+ The previous "fix" I mistakenly compared hashes, an improvement over comparing pointers, but still not right.
+
+ No new tests.
+
+ * storage/DatabaseTracker.cpp:
+ (WebCore::DatabaseTracker::fullPathForDatabaseNoLock): Use SecurityOrigin::equal to compare instead of SecurityOriginHash.
+
+2010-04-05 Anthony Ricaud <rik@webkit.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Audits launcher view is unusable with a small height window
+ https://bugs.webkit.org/show_bug.cgi?id=37109
+
+ Use flex box instead of absolute positioning to avoid overlapping elements.
+
+ * inspector/front-end/AuditLauncherView.js:
+ (WebInspector.AuditLauncherView.prototype._createLauncherUI):
+ * inspector/front-end/audits.css:
+ (.audit-launcher-view .audit-launcher-view-content):
+ (.audit-launcher-view div.button-container):
+ (.audit-launcher-view .flexible-space):
+
+2010-04-05 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Maemo5 theme - wrong spelling
+ https://bugs.webkit.org/show_bug.cgi?id=37110
+
+ Correcting wrong spelling in RenderThemeQt.cpp.
+
+ * platform/qt/RenderThemeQt.cpp:
+
+2010-04-05 Leandro Pereira <leandro@profusion.mobi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add EFL-specific code to platform/Platform*Event.h.
+ http://webkit.org/b/36309
+
+ * platform/PlatformWheelEvent.h:
+ * platform/PlatformMouseEvent.h:
+ * platform/PlatformKeyboardEvent.h:
+
+2010-04-05 Leandro Pereira <leandro@profusion.mobi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add EFL-specific code to platform/graphics/*.h.
+ http://webkit.org/b/36308
+
+ * platform/graphics/Icon.h:
+ * platform/graphics/IntRect.h:
+ * platform/graphics/FloatRect.h:
+ * platform/graphics/IntPoint.h:
+
+2010-04-05 Robert Hogan <robert@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Fix infinite redirection loop in QNetworkReplyHandler
+
+ Put a maximum on consecutive redirections so we don't have to
+ worry about whether it's the same url or not.
+
+ Tolerate up to 10 consecutive redirections, anything beyond
+ that is considered a potentially infinite recursion in the
+ redirection requests. This is the same behaviour as Firefox.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37097
+
+ * platform/network/qt/QNetworkReplyHandler.cpp:
+ (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
+ (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
+ * platform/network/qt/QNetworkReplyHandler.h:
+
+2010-04-05 Dimitri Glazkov <dglazkov@chromium.org> and James Robinson <jamesr@chromium.org>
+
+ Reviewed by Darin Adler and Dimitri Glazkov.
+
+ Style update done due to mutation event dispatching in textarea can be
+ used to corrupt the render tree.
+ https://bugs.webkit.org/show_bug.cgi?id=36864
+
+ Tests: fast/forms/select-change-listbox-to-popup-roundtrip.html
+ fast/forms/select-change-popup-to-listbox-roundtrip.html
+ fast/forms/textarea-and-mutation-events.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::finishedParsing): Added updateStyleIfNeeded()
+ call to ensure that object loads start before firing window load.
+ * dom/Node.cpp:
+ (WebCore::Node::dispatchGenericEvent): Removed invocation of
+ Document::updateStyleForAllDocuments
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::parseMappedAttribute): Added explicit
+ recalc to ensure accuracy of representation, especially for
+ menuList/listBox switches.
+
+2010-04-05 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Laszlo Gombos.
+
+ Cleaned up spatial-navigation-test-cases.html by removing the wrongly
+ used <frameset> tag.
+
+ Patch also adds a manual-test specifically to test Spatial Navigation with framesets.
+
+ * manual-tests/spatial-navigation/frameset.html: Added.
+ * manual-tests/spatial-navigation/spatial-navigation-test-cases.html:
+
+2010-04-05 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ Roll out r56989 as it introduced crashes in Mail.
+ <http://webkit.org/b/37115> / <rdar://problem/7829331>
+
+ * dom/Position.cpp:
+ (WebCore::Position::isCandidate):
+ * dom/PositionIterator.cpp:
+ (WebCore::PositionIterator::isCandidate):
+
+2010-04-05 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Images must re-load when an image-holding element moves into a new document
+ https://bugs.webkit.org/show_bug.cgi?id=37127
+
+ Test: fast/images/move-image-to-new-document.html
+
+ * html/HTMLImageElement.cpp:
+ (WebCore::HTMLImageElement::willMoveToNewOwnerDocument): Call ImageLoader's
+ elementWillMoveToNewOwnerDocument function.
+ * html/HTMLImageElement.h: Added willMoveToNewOwnerDocument.
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::willMoveToNewOwnerDocument): Ditto.
+ * html/HTMLPlugInImageElement.cpp:
+ (WebCore::HTMLPlugInImageElement::willMoveToNewOwnerDocument): Ditto.
+ * html/HTMLPlugInImageElement.h: Ditto.
+ * html/HTMLVideoElement.cpp:
+ (WebCore::HTMLVideoElement::willMoveToNewOwnerDocument): Ditto.
+ * html/HTMLVideoElement.h: Ditto.
+ * svg/SVGImageElement.cpp:
+ (WebCore::SVGImageElement::willMoveToNewOwnerDocument): Ditto.
+ * svg/SVGImageElement.h: Ditto.
+
+ * html/HTMLMediaElement.h: Made willMoveToNewOwnerDocument protected
+ so it can be called by HTMLVideoElement.cpp.
+
+ * loader/ImageLoader.cpp:
+ (WebCore::ImageLoader::elementWillMoveToNewOwnerDocument): Added.
+ Resets the loader by clearing out the cached image.
+ * loader/ImageLoader.h: Added it.
+
+2010-04-05 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Symbian] Consolidate Symbian WINSCW environment configuration
+ https://bugs.webkit.org/show_bug.cgi?id=37100
+
+ Move the "undefinition" of WIN32 and _WIN32 from WebCore/config.h
+ to JavaScriptCore/wtf/Platform.h as it is not specific to WebCore.
+
+ No new tests as there is no new functionality.
+
+ * config.h:
+
+2010-04-05 Leandro Pereira <leandro@profusion.mobi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add missing ClipboardEfl.h to platform/efl.
+ http://webkit.org/b/36242
+
+ * platform/efl/ClipboardEfl.h: Added.
+
+2010-04-05 Yuta Kitamura <yutak@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Escape control characters in CSS string value when it is serialilzed.
+
+ When WebKit serializes a CSS string value that contains binary characters
+ ('\0\1\2' for example), it did not escape these characters. As a result,
+ users got (invisible) control characters through scripts. This change fixes
+ this issue.
+
+ As a side effect, two separate codes for escaping CSS strings are merged, and
+ become a public function (quoteCSSString).
+
+ CSS string value is not correctly serialized when it contains binary characters
+ https://bugs.webkit.org/show_bug.cgi?id=28938
+
+ Test: fast/css/string-quote-binary.html
+
+ * css/CSSParser.cpp:
+ (WebCore::isCSSTokenizerIdentifier):
+ (WebCore::isCSSTokenizerURL):
+ (WebCore::quoteCSSString):
+ (WebCore::quoteCSSStringIfNeeded):
+ (WebCore::quoteCSSURLIfNeeded):
+ * css/CSSParser.h:
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::CSSPrimitiveValue::cssText):
+ * css/FontFamilyValue.cpp:
+ (WebCore::FontFamilyValue::cssText):
+
+2010-04-05 John Gregg <johnnyg@google.com>
+
+ Reviewed by Darin Adler.
+
+ Notifications should not resolve an empty icon parameter as a relative URL
+ https://bugs.webkit.org/show_bug.cgi?id=36862
+
+ * notifications/Notification.cpp:
+ (WebCore::Notification::Notification):
+
+2010-04-05 Darin Adler <darin@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Removed some unneeded type casts.
+
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::CSSPrimitiveValue::cssText): Removed an unneeded cast.
+ * page/Location.cpp:
+ (WebCore::Location::host): Removed unneeded parentheses and cast.
+ (WebCore::Location::port): Ditto.
+ * platform/KURLGoogle.cpp:
+ (WebCore::KURL::setPort): Ditto.
+ * workers/WorkerLocation.cpp:
+ (WebCore::WorkerLocation::host): Ditto.
+ (WebCore::WorkerLocation::port): Ditto.
+
+2010-04-05 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r57081.
+ http://trac.webkit.org/changeset/57081
+ https://bugs.webkit.org/show_bug.cgi?id=37121
+
+ We think it triggered two tests to fail on Tiger because of
+ race conditions (Requested by abarth on #webkit).
+
+ * dom/Node.cpp:
+ (WebCore::Node::dispatchGenericEvent):
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::parseMappedAttribute):
+
+2010-04-05 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ ASSERT close()ing the same StorageAreaImpl twice when using multiple PageGroups
+ <rdar://problem/7828420> and https://bugs.webkit.org/show_bug.cgi?id=37120
+
+ No new tests. (No behavior change)
+
+ * storage/StorageNamespaceImpl.cpp:
+ (WebCore::StorageNamespaceImpl::close): Change this invalid ASSERT to an early return.
+
+2010-04-05 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r57030.
+ http://trac.webkit.org/changeset/57030
+ https://bugs.webkit.org/show_bug.cgi?id=37114
+
+ Regressed fast/repaint/line-flow-with-floats-9 pixel tests in
+ chromium port (Requested by jamesr on #webkit).
+
+ * rendering/RenderBlock.h:
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::layoutInlineChildren):
+
+2010-04-05 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37111
+ <rdar://problem/7790327> Draw replacement text when plug-in host crashes
+
+ * page/mac/WebCoreViewFactory.h:
+ * platform/LocalizedStrings.h:
+ * platform/mac/LocalizedStringsMac.mm:
+ * platform/gtk/LocalizedStringsGtk.cpp:
+ * platform/qt/Localizations.cpp:
+ * platform/wx/LocalizedStringsWx.cpp:
+ Added a localizable string for plug-in failure (only used on Mac at the moment).
+
+ * WebCore.xcodeproj/project.pbxproj: Made RenderEmbeddedObject.h (and dependencies) private,
+ since it's now used from WebKit.
+
+ * rendering/RenderEmbeddedObject.cpp:
+ (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):m Removed m_showsMissingPluginIndicator
+ initializer.
+ (WebCore::RenderEmbeddedObject::updateWidget): Check m_replacementText instead of the removed
+ m_showsMissingPluginIndicator.
+ (WebCore::RenderEmbeddedObject::setShowsMissingPluginIndicator): Load m_replacementText.
+ (WebCore::RenderEmbeddedObject::setShowsCrashedPluginIndicator): Ditto.
+ (WebCore::RenderEmbeddedObject::paint): Check m_replacementText instead of the removed
+ m_showsMissingPluginIndicator.
+ (WebCore::RenderEmbeddedObject::paintReplaced): Draw arbitrary text from m_replacementText
+ insted of just "Missing Plug-in". Renamed constants and variables accordingly.
+
+ * rendering/RenderEmbeddedObject.h: Changed boolean for missing plug-in to a String holding
+ actual replacement text.
+
+ * loader/FrameLoader.cpp: (WebCore::FrameLoader::loadPlugin): Adapted for the change in
+ setShowsMissingPluginIndicator(), which no longer takes an argument.
+
+ * WebCore/WebCore.base.exp: Exported RenderEmbeddedObject::setShowsCrashedPluginIndicator().
+
+2010-04-05 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 37040 - AX: need to send selected children change notification when aria-selected changed
+ https://bugs.webkit.org/show_bug.cgi?id=37040
+
+ When aria-selected is changed in the DOM, it will trigger a selected children change notification.
+
+ Test: platform/mac/accessibility/aria-listbox-selectedchildren-change.html
+
+ * accessibility/AXObjectCache.cpp:
+ (WebCore::AXObjectCache::selectedChildrenChanged):
+ * accessibility/AXObjectCache.h:
+ * accessibility/AccessibilityMediaControls.cpp:
+ (WebCore::AccessibilityMediaControl::controlType):
+ Remove extra whitespace before comment (webkit-style).
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::observableObject):
+ Allowed a listBox to be an observable object.
+ (WebCore::AccessibilityRenderObject::ariaRoleHasPresentationalChildren):
+ (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
+ Updated and streamlined existing code.
+ * dom/Element.cpp:
+ (WebCore::Element::updateAfterAttributeChanged):
+
+2010-04-05 Adam Treat <atreat@rim.com>
+
+ Reviewed by Darin Adler.
+
+ Fix regression in pixel test for animated svg background images.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37027
+
+ * svg/graphics/SVGImage.cpp:
+ (WebCore::SVGImageChromeClient::invalidateContentsAndWindow):
+
+2010-04-05 Robert Hogan <robert@webkit.org>
+
+ Reviewed by Kenneth Rohde-Christiansen.
+
+ [Qt] Fix infinite redirection loop in QNetworkReplyHandler
+
+ Qt enters an infinite loop if a redirect response redirects to itself.
+
+ Fixes http/tests/xmlhttprequest/connection-error-sync.html
+
+ https://bugs.webkit.org/show_bug.cgi?id=37097
+
+ * platform/network/qt/QNetworkReplyHandler.cpp:
+ (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
+
+2010-04-05 Yury Semikhatsky <yurys@chromium.org>
+
+ Unreviewed, revert r57078.
+
+ * Android.jscbindings.mk:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::reportError):
+ * bindings/js/JSEventListener.h:
+ * bindings/js/JSWorkerContextErrorHandler.cpp: Removed.
+ * bindings/js/JSWorkerContextErrorHandler.h: Removed.
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/V8WorkerContextErrorHandler.cpp: Removed.
+ * bindings/v8/V8WorkerContextErrorHandler.h: Removed.
+ * bindings/v8/V8WorkerContextEventListener.cpp:
+ (WebCore::V8WorkerContextEventListener::reportError):
+ * bindings/v8/V8WorkerContextEventListener.h:
+ * dom/EventListener.h:
+ (WebCore::EventListener::reportError):
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::WorkerContext):
+ (WebCore::WorkerContext::reportException):
+ * workers/WorkerContext.h:
+
+2010-04-05 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Style update done due to mutation event dispatching in textarea can be
+ used to corrupt the render tree.
+ https://bugs.webkit.org/show_bug.cgi?id=36864
+
+ Tests: fast/forms/select-change-listbox-to-popup-roundtrip.html
+ fast/forms/select-change-popup-to-listbox-roundtrip.html
+ fast/forms/textarea-and-mutation-events.html
+
+ * dom/Node.cpp:
+ (WebCore::Node::dispatchGenericEvent): Removed invocation of
+ Document::updateStyleForAllDocuments
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::parseMappedAttribute): Added explicit
+ recalc to ensure accuracy of representation, especially for
+ menuList/listBox switches.
+
+2010-04-01 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Dave Hyatt.
+
+ iframe flattening doesn't flatten
+ https://bugs.webkit.org/show_bug.cgi?id=36798
+
+ Fixed to the iframe flattening code so that the iframes on
+ http://www.samisite.com/test-csb2nf/id43.htm are actually
+ flattened.
+
+ Covered by current tests.
+
+ * page/FrameView.cpp: Propagate contents changes of iframes
+ and subframes in framesets to the parent so that it is relayouted
+ (WebCore::FrameView::setContentsSize):
+ (WebCore::FrameView::adjustViewSize):
+ (WebCore::FrameView::scheduleRelayout):
+ * rendering/RenderPart.cpp: HTMLIFrameElement do not inherit from
+ HTMLFrameElement, but HTMLFrameElementBase, correct cast. Correct
+ the use of inset border values. Avoid a sometimes unnecessary
+ relayout.
+ (WebCore::RenderPart::layoutWithFlattening):
+ * rendering/RenderPartObject.cpp: Make the calcHeight and calcWidth
+ return the right values, considering scrolling and fixed width/height
+ (WebCore::RenderPartObject::flattenFrame):
+ (WebCore::RenderPartObject::calcHeight):
+ (WebCore::RenderPartObject::calcWidth):
+ (WebCore::RenderPartObject::layout):
+
+2010-04-05 Vitaly Repeshko <vitalyr@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ [V8] Extend the set of types supported by SerializedScriptValue
+ https://bugs.webkit.org/show_bug.cgi?id=37052
+
+ New types include sparse arrays, Uint32, Date, and ImageData.
+
+ Serialization process became more flexible. A state can either
+ directly write primitive values (instead of returning them like
+ iterator) or construct a new state for serializing complex values
+ that will return to the current state when done.
+
+ Deserialization process now avoids exposing the tags using a set
+ of factory functions for complex objects instead.
+
+ Internal buffer type changed to uint8_t to be independent of
+ whether char is signed or not.
+
+ * bindings/v8/SerializedScriptValue.cpp:
+ (WebCore::):
+ (WebCore::Writer::Writer):
+ (WebCore::Writer::writeString):
+ (WebCore::Writer::writeUint32):
+ (WebCore::Writer::writeDate):
+ (WebCore::Writer::writeNumber):
+ (WebCore::Writer::writeImageData):
+ (WebCore::Writer::writeArray):
+ (WebCore::Writer::writeObject):
+ (WebCore::Writer::writeSparseArray):
+ (WebCore::Writer::doWriteUint32):
+ (WebCore::Writer::doWriteNumber):
+ (WebCore::Writer::append):
+ (WebCore::Writer::fillHole):
+ (WebCore::Writer::byteAt):
+ (WebCore::Serializer::Serializer):
+ (WebCore::Serializer::serialize):
+ (WebCore::Serializer::writeArray):
+ (WebCore::Serializer::writeObject):
+ (WebCore::Serializer::writeSparseArray):
+ (WebCore::Serializer::StateBase::StateBase):
+ (WebCore::Serializer::ErrorState::ErrorState):
+ (WebCore::Serializer::ErrorState::advance):
+ (WebCore::Serializer::State::composite):
+ (WebCore::Serializer::State::State):
+ (WebCore::Serializer::ArrayState::ArrayState):
+ (WebCore::Serializer::ArrayState::advance):
+ (WebCore::Serializer::AbstractObjectState::AbstractObjectState):
+ (WebCore::Serializer::AbstractObjectState::advance):
+ (WebCore::Serializer::ObjectState::ObjectState):
+ (WebCore::Serializer::ObjectState::objectDone):
+ (WebCore::Serializer::SparseArrayState::SparseArrayState):
+ (WebCore::Serializer::SparseArrayState::objectDone):
+ (WebCore::Serializer::push):
+ (WebCore::Serializer::pop):
+ (WebCore::Serializer::handleError):
+ (WebCore::Serializer::checkComposite):
+ (WebCore::Serializer::writeString):
+ (WebCore::Serializer::writeImageData):
+ (WebCore::Serializer::newArrayState):
+ (WebCore::Serializer::newObjectState):
+ (WebCore::Serializer::doSerialize):
+ (WebCore::Reader::Reader):
+ (WebCore::Reader::read):
+ (WebCore::Reader::readString):
+ (WebCore::Reader::readUint32):
+ (WebCore::Reader::readDate):
+ (WebCore::Reader::readNumber):
+ (WebCore::Reader::readImageData):
+ (WebCore::Reader::doReadUint32):
+ (WebCore::Reader::doReadNumber):
+ (WebCore::Deserializer::Deserializer):
+ (WebCore::Deserializer::createArray):
+ (WebCore::Deserializer::createObject):
+ (WebCore::Deserializer::createSparseArray):
+ (WebCore::Deserializer::initializeObject):
+ (WebCore::Deserializer::doDeserialize):
+ (WebCore::Deserializer::stackDepth):
+ (WebCore::SerializedScriptValue::deserialize):
+
+2010-04-05 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Refactored error reporting mechanizm on Worker Global Objects.
+ Unlike other event listeners which accept single argument(Event)
+ onerror handler on worker global object should be a function
+ accepting three arguments. This error reporting was implementedas
+ EventListener::reportError method which had custom implementations
+ for v8 and JSC. This patch removes EventListener::reportError and
+ moves its functionality into custom bindings(V8WorkerContextErrorHandler
+ and JSWorkerContextErrorHandler) that implement EventListener inerface
+ for the onerror handler.
+
+ This patch also makes uncaught exceptions that happen in the onerror
+ listener be reported to the Worker's onerror handler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36375
+
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSEventListener.cpp:
+ * bindings/js/JSEventListener.h:
+ * bindings/js/JSWorkerContextErrorHandler.cpp: Added.
+ (WebCore::JSWorkerContextErrorHandler::JSWorkerContextErrorHandler):
+ (WebCore::JSWorkerContextErrorHandler::~JSWorkerContextErrorHandler):
+ (WebCore::JSWorkerContextErrorHandler::handleEvent):
+ * bindings/js/JSWorkerContextErrorHandler.h: Added.
+ (WebCore::JSWorkerContextErrorHandler::create):
+ (WebCore::createJSWorkerContextErrorHandler):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/V8WorkerContextErrorHandler.cpp: Added.
+ (WebCore::V8WorkerContextErrorHandler::V8WorkerContextErrorHandler):
+ (WebCore::V8WorkerContextErrorHandler::callListenerFunction):
+ * bindings/v8/V8WorkerContextErrorHandler.h: Added.
+ (WebCore::V8WorkerContextErrorHandler::create):
+ * bindings/v8/V8WorkerContextEventListener.cpp:
+ * bindings/v8/V8WorkerContextEventListener.h:
+ * dom/EventListener.h: Removed reportError method that was used only for reporting worker errors.
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::WorkerContext):
+ (WebCore::WorkerContext::reportException):
+ * workers/WorkerContext.h:
+
+2010-04-05 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Fix some "explicit braces to avoid ambiguous 'else'" warnings
+ https://bugs.webkit.org/show_bug.cgi?id=37088
+
+ * dom/Node.cpp:
+ (WebCore::Node::dispatchGenericEvent):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::dispatchEvent):
+
+2010-04-05 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Consolidate the definition of SKIP_STATIC_CONSTRUCTORS_ON_GCC
+
+ Instead of defining and undefining it later, let's not
+ define SKIP_STATIC_CONSTRUCTORS_ON_GCC for WINSCW.
+
+ No new tests as there is no new functionality.
+
+ * config.h:
+
+2010-04-05 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] [Symbian] Remove obsolete build flags for Symbian
+ https://bugs.webkit.org/show_bug.cgi?id=37083
+
+ Symbian port of QtWebKit port does not use icu, so it does
+ not need U_HAVE_* defines.
+
+ Symbian now has inttypes.h as part of OpenC.
+
+ stdio.h, limits.h and MathExtras.h are already included in
+ more appropriate locations.
+
+ No new tests as there is no new functionality.
+
+ * config.h:
+
+2010-04-05 Pavel Feldman <pfeldman@chromium.org>
+
+ Not reviewed: chromium build fix.
+
+ * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
+ (WebCore::V8InspectorFrontendHost::platformCallback):
+ (WebCore::V8InspectorFrontendHost::portCallback):
+
+2010-04-05 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: [REGRESSION] platform detection in Chromium
+ has regressed to unknown.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37081
+
+ * bindings/js/JSInspectorFrontendHostCustom.cpp:
+ (WebCore::JSInspectorFrontendHost::platform):
+ (WebCore::JSInspectorFrontendHost::port):
+ * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
+ (WebCore::V8InspectorFrontendHost::platform):
+ (WebCore::V8InspectorFrontendHost::port):
+ * inspector/InspectorFrontendHost.cpp:
+ * inspector/InspectorFrontendHost.h:
+ * inspector/InspectorFrontendHost.idl:
+
+2010-04-05 Andrey Kosyakov <caseq@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Remove logging of successful XHR and worker's importScript()
+ to inspector console
+ https://bugs.webkit.org/show_bug.cgi?id=37078
+
+ * bindings/js/JSWorkerContextCustom.cpp:
+ (WebCore::JSWorkerContext::importScripts):
+ * bindings/v8/custom/V8WorkerContextCustom.cpp:
+ (WebCore::V8WorkerContext::importScriptsCallback):
+ * workers/DedicatedWorkerContext.cpp:
+ (WebCore::DedicatedWorkerContext::importScripts):
+ * workers/DedicatedWorkerContext.h:
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::importScripts):
+ * workers/WorkerContext.h:
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::didFinishLoading):
+
+2010-04-04 Pavel Feldman <pfeldman@chromium.org>
+
+ Not reviewed. Rolling out chromium changes r57028 and r57032
+ for breaking chromium layout tests.
+
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+ * platform/chromium/DragImageChromium.cpp: Added.
+ (WebCore::dragImageSize):
+ (WebCore::deleteDragImage):
+ (WebCore::scaleDragImage):
+ (WebCore::dissolveDragImageToFraction):
+ (WebCore::createDragImageFromImage):
+ (WebCore::createDragImageIconForCachedImage):
+ * platform/chromium/DragImageChromiumMac.cpp: Removed.
+ * platform/chromium/DragImageChromiumSkia.cpp: Removed.
+ * platform/chromium/DragImageRef.h:
+
+2010-03-29 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Simon Fraser.
+ Patch by Antonio Gomes <tonikitoo@webkit.org>
+
+ Spatial Navigation: Initial code simplification in FocusController.cpp and SpatialNavigation.cpp
+
+ WebCore::distanceInDirection method was handling much of the logic not
+ strictly only related to the distance between nodes acquisition. This
+ method was simplified and renamed to 'WebCore::distanceDataForNode'.
+ The latter is now responsible for only getting the distance and alignment
+ data, while all assignement logic previously in distanceInDirection method
+ was moved place to updateFocusCandidateIfCloser.
+
+ Parent document distance and alignment acquisitions, in turn, have also
+ changed location: they are both got from deepFindFocusableNodeInDirection,
+ and passed in a recursive call to findFocusableNodeInDirection via the
+ candidateParent variable (optional parameter). In addition, the need for
+ the 'focusCandidateCopy' variable in deepFindFocusableNodeInDirection method
+ was removed, making the code much cleaner.
+
+ No behaviour change at this point. Mostly moving code around to the place
+ where it should live in.
+
+ * page/FocusController.cpp:
+ (WebCore::FocusController::advanceFocusDirectionally):
+ (WebCore::updateFocusCandidateIfCloser):
+ (WebCore::FocusController::findFocusableNodeInDirection):
+ (WebCore::FocusController::deepFindFocusableNodeInDirection):
+ * page/FocusController.h:
+ * page/SpatialNavigation.cpp:
+ (WebCore::distanceDataForNode):
+ (WebCore::renderRectRelativeToRootDocument):
+ * page/SpatialNavigation.h:
+
+2010-04-04 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: In the inherited styles, do not render non-inherited properties as overriden.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37072
+
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
+
+2010-04-03 yael aharon <yael.aharon@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Enable HTMLProgressElement for Safari on OSX
+ https://bugs.webkit.org/show_bug.cgi?id=36961
+
+ * Configurations/FeatureDefines.xcconfig:
+ * WebCore.xcodeproj/project.pbxproj:
+ * rendering/RenderThemeMac.h:
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::animationRepeatIntervalForProgressBar):
+ (WebCore::RenderThemeMac::animationDurationForProgressBar):
+ (WebCore::RenderThemeMac::adjustProgressBarStyle):
+ (WebCore::RenderThemeMac::paintProgressBar):
+
+2010-04-03 Jakub Wieczorek <jwieczorek@webkit.org>
+
+ Unreviewed.
+
+ Fix debug build with GCC >= 4.3.
+
+ * platform/graphics/GraphicsLayer.cpp: Include stdio.h explicitly.
+
+2010-04-03 Kenneth Russell <kbr@google.com>
+
+ Reviewed by Darin Fisher.
+
+ Inconsistent failure modes from uniform[Matrix]* with null WebGLUniformLocation
+ https://bugs.webkit.org/show_bug.cgi?id=36574
+
+ Fixed bugs in JavaScript bindings for uniform[Matrix]* entry
+ points causing them to throw exceptions rather than synthesize GL
+ errors. Fixed the implementations to synthesize INVALID_VALUE
+ rather than INVALID_OPERATION to comply to the WebGL spec. Updated
+ uniform-location-expected.txt to incorporate the correct error.
+ Tested in Safari and Chromium.
+
+ Test: fast/canvas/webgl/null-uniform-location.html
+
+ * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
+ (WebCore::V8WebGLRenderingContext::getUniformCallback):
+ (WebCore::vertexAttribAndUniformHelperf):
+ (WebCore::uniformHelperi):
+ (WebCore::uniformMatrixHelper):
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore::WebGLRenderingContext::uniform1f):
+ (WebCore::WebGLRenderingContext::uniform1fv):
+ (WebCore::WebGLRenderingContext::uniform1i):
+ (WebCore::WebGLRenderingContext::uniform1iv):
+ (WebCore::WebGLRenderingContext::uniform2f):
+ (WebCore::WebGLRenderingContext::uniform2fv):
+ (WebCore::WebGLRenderingContext::uniform2i):
+ (WebCore::WebGLRenderingContext::uniform2iv):
+ (WebCore::WebGLRenderingContext::uniform3f):
+ (WebCore::WebGLRenderingContext::uniform3fv):
+ (WebCore::WebGLRenderingContext::uniform3i):
+ (WebCore::WebGLRenderingContext::uniform3iv):
+ (WebCore::WebGLRenderingContext::uniform4f):
+ (WebCore::WebGLRenderingContext::uniform4fv):
+ (WebCore::WebGLRenderingContext::uniform4i):
+ (WebCore::WebGLRenderingContext::uniform4iv):
+ (WebCore::WebGLRenderingContext::uniformMatrix2fv):
+ (WebCore::WebGLRenderingContext::uniformMatrix3fv):
+ (WebCore::WebGLRenderingContext::uniformMatrix4fv):
+
+2010-04-02 Andy Estes <aestes@apple.com>
+
+ Reviewed by Adam Barth.
+
+ The previous mechanism for testing whether an event was due to a user
+ gesture only checked the event type, not the source of the event. This
+ allowed scripts to defeat popup blocking by programatically emitting
+ certain types of events.
+
+ Change the user gesture detection to check for a flag that is only set
+ when the event in question was generated through the platform and not
+ through the DOM.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37008
+
+ Tests: fast/events/popup-allowed-from-gesture-initiated-event.html
+ fast/events/popup-blocked-from-fake-button-click.html
+ fast/events/popup-blocked-from-fake-focus.html
+
+ * Android.mk: Add UserGestureIndicator.{cpp, h}.
+ * GNUmakefile.am: Same.
+ * WebCore.gypi: Same.
+ * WebCore.pro: Same.
+ * WebCore.vcproj/WebCore.vcproj: Same.
+ * WebCore.xcodeproj/project.pbxproj: Same.
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::processingUserGesture): Check the value of
+ UserGesureIndicator::processingUserGesture().
+ * dom/Document.cpp:
+ (WebCore::Document::createEvent): Remove call to
+ Event::setCreatedByDOM().
+ * dom/Event.cpp:
+ (WebCore::Event::Event): Remove initializers for m_createdByDOM.
+ (WebCore::Event::fromUserGesture): Check the value of
+ UserGestureIndicator::processingUserGesture().
+ * dom/Event.h: Remove m_createdByDOM.
+ * dom/UserGestureIndicator.cpp: Added.
+ (WebCore::UserGestureIndicator::UserGestureIndicator): Save the previous
+ value of s_processingUserGesture before setting it to true.
+ (WebCore::UserGestureIndicator::~UserGestureIndicator): Restore
+ s_processingUserGesture to its previous value.
+ * dom/UserGestureIndicator.h: Added.
+ (WebCore::UserGestureIndicator::processingUserGesture): Return the value
+ of s_processingUserGesture.
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMousePressEvent): Instantiate a
+ UserGestureIndicator object on the stack to indicate a user gesture is
+ being processed.
+ (WebCore::EventHandler::handleMouseDoubleClickEvent): Same.
+ (WebCore::EventHandler::handleMouseReleaseEvent): Same.
+ (WebCore::EventHandler::keyEvent): Same.
+ (WebCore::EventHandler::handleTouchEvent): Same.
+
+2010-04-02 Justin Schuh <jschuh@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ XHR allows arbitrary XSRF across domains
+ https://bugs.webkit.org/show_bug.cgi?id=36843
+
+ Added a one-line change to prevent bypassing the XDC check on
+ synchronous preflighted requests. Added layout tests to cover
+ variations of this problem.
+
+ Tests: http/tests/xmlhttprequest/access-control-preflight-async-header-denied.html
+ http/tests/xmlhttprequest/access-control-preflight-async-method-denied.html
+ http/tests/xmlhttprequest/access-control-preflight-sync-header-denied.html
+ http/tests/xmlhttprequest/access-control-preflight-sync-method-denied.html
+
+ * loader/DocumentThreadableLoader.cpp:
+ (WebCore::DocumentThreadableLoader::preflightFailure):
+
+2010-04-02 Nayan Kumar K <nayankk@gmail.com>
+
+ Reviewed by Eric Seidel.
+
+ Fix for WML enabled build failure.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36648
+
+ * wml/WMLOptionElement.cpp:
+ (WebCore::WMLOptionElement::disabled):
+ * wml/WMLOptionElement.h:
+ * wml/WMLSelectElement.cpp:
+ (WebCore::WMLSelectElement::listBoxSelectItem):
+ * wml/WMLSelectElement.h:
+
+2010-04-02 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37011
+ Position::primaryDirection() should not use its own accessor.
+
+ No new tests. This is small clenaup with no behaviour change.
+
+ * dom/Position.cpp:
+ (WebCore::Position::primaryDirection):
+
+2010-04-02 Eric Uhrhane <ericu@chromium.org>
+
+ Reviewed by Brady Eidson.
+
+ window.openDatabase() always fails for new databases when using WebKit nightly with Safari 4.0.5. This is caused by a SecurityOrigin pointer comparison that I should have switched to be a hash comparison in r56293 [bug 34991].
+ https://bugs.webkit.org/show_bug.cgi?id=36671
+
+ No new tests. Requires testing on Safari on Windows.
+
+ * storage/DatabaseTracker.cpp:
+ (WebCore::DatabaseTracker::fullPathForDatabaseNoLock): Convert a pointer comparison to use SecurityOriginHash::hash() instead, and move it to the end of the clause for speed in the easy-out case.
+
+2010-04-02 Michael Nordman <michaeln@google.com>
+
+ Reviewed by Nate Chapin.
+
+ Set the close policy used by the DatabaseCloseTask in a constructor argument
+ instead of hard coding it.
+ https://bugs.webkit.org/show_bug.cgi?id=37037
+
+ No new tests, new new functionality.
+
+ * storage/Database.cpp: This callsite passes in DoNotRemoveFromDatabaseContext to retain its current behavior.
+ (WebCore::Database::markAsDeletedAndClose):
+ * storage/DatabaseTask.cpp:
+ (WebCore::DatabaseCloseTask::DatabaseCloseTask):
+ (WebCore::DatabaseCloseTask::doPerformTask):
+ * storage/DatabaseTask.h:
+ (WebCore::DatabaseCloseTask::create):
+
+2010-04-02 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Simon Fraser.
+
+ Remove an ASSERT that sometimes flakes due to time dependent animations
+ https://bugs.webkit.org/show_bug.cgi?id=37048
+
+ The outline repaint rectangle for a layer might change between two calls
+ if there are animations involved, even if nothing in the DOM has actually
+ changed between the calls.
+
+ No change in behavior, no new tests.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateLayerPositions):
+
+2010-04-02 Evan Stade <estade@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ [chromium] need DragImage implementation
+ https://bugs.webkit.org/show_bug.cgi?id=35811
+
+ Add two files that failed to get added in my previous patch.
+
+ * platform/chromium/DragImageChromiumMac.cpp: Added.
+ (WebCore::dragImageSize):
+ (WebCore::deleteDragImage):
+ (WebCore::scaleDragImage):
+ (WebCore::dissolveDragImageToFraction):
+ (WebCore::createDragImageFromImage):
+ (WebCore::createDragImageIconForCachedImage):
+ * platform/chromium/DragImageChromiumSkia.cpp: Added.
+ (WebCore::dragImageSize):
+ (WebCore::deleteDragImage):
+ (WebCore::scaleDragImage):
+ (WebCore::dissolveDragImageToFraction):
+ (WebCore::createDragImageFromImage):
+ (WebCore::createDragImageIconForCachedImage):
+
+2010-04-02 Jer Noble <jer.noble@apple.com>
+
+ Reviewed by Eric Carlson.
+
+ Configure multi-language movies: when QuickTime has sufficiently loaded
+ the movie, call into wkQTMovieSelectPreferredAlternates to select the
+ movie's alternate tracks according to the user's language preferences.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36624
+
+ * WebCore.base.exp:
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivate::updateStates): If the movie is sufficiently loaded,
+ call wkQTMovieSelectPreferredAlternates to set up the alternate tracks.
+ * platform/mac/WebCoreSystemInterface.h: Declare WKQTMovieSelectPreferredAlternates.
+ * platform/mac/WebCoreSystemInterface.mm: Add WKQTMovieSelectPreferredAlternates.
+
+2010-04-02 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Splits RenderBlock::layoutInline into smaller functions
+ https://bugs.webkit.org/show_bug.cgi?id=36921
+
+ RenderBlock::layoutInlineChildren is 351 lines long and very difficult
+ to comprehend or edit safely. This patch splits it up into a few
+ slightly smaller functions. Most of the code is now in the 241 line
+ layoutRunsAndFloats() which is a slight improvement.
+
+ Perf neutral on the page cyclers. This doesn't introduce any function
+ calls into the hottest layout paths inside layoutRunsAndFloats and
+ findNextLineBreak.
+
+ No change in behavior, no new tests.
+
+ * rendering/RenderBlock.h:
+ (WebCore::RenderBlock::FloatWithRect::FloatWithRect):
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::layoutReplacedElements):
+ (WebCore::RenderBlock::createLineBoxesForResolver):
+ (WebCore::RenderBlock::layoutRunsAndFloats):
+ (WebCore::RenderBlock::layoutInlineChildren):
+
+2010-04-02 Evan Stade <estade@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ [chromium] need DragImage implementation
+ https://bugs.webkit.org/show_bug.cgi?id=35811
+
+ Basic implementation using SkBitmap. Transformations are not supported
+ yet. No implementation for mac.
+
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+ * platform/chromium/DragImageChromium.cpp:
+ * platform/chromium/DragImageRef.h:
+
+2010-04-02 Evan Martin <evan@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ [chromium] font fallback for generic fonts picks wrong font
+ https://bugs.webkit.org/show_bug.cgi?id=37033
+
+ When a page specifies the generic "monospace" font and the user's
+ browser-configured monospace font doesn't exist, we previously relied
+ on getLastResortFallbackFont to eventually pick a monospace font for us.
+
+ But that doesn't quite work: WebKit first falls back to the user's
+ "preferred standard font" before hitting the last resort code path.
+ So if the above conditions hold but this font exists, we'll end up
+ never hitting the last resort codepath.
+
+ The fix is to allow OS-level font fallback when first attempting to
+ resolve monospace. The existing code tried to do this, but the logic
+ was wrong. We would eventually fall back to the correct font anyway
+ so we didn't notice the logic was wrong.
+
+ This code is all handling cases where particular fonts aren't installed,
+ so I can't think of a way to test it; existing tests should still pass.
+
+ * platform/graphics/chromium/FontCacheLinux.cpp:
+ (WebCore::FontCache::createFontPlatformData):
+
+2010-04-02 Andrew Scherkus <scherkus@chromium.org>
+
+ Reviewed by Eric Carlson and Eric Seidel.
+
+ Don't stop the playback event timer when media resource loading has suspended.
+ https://bugs.webkit.org/show_bug.cgi?id=37003
+
+ When a user agent decides to suspend media resource loading and enters the
+ NETWORK_IDLE state we are supposed to only stop the progress event timer but
+ keep the playback timer running.
+
+ Test: http/tests/media/video-play-suspend.html
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::setNetworkState): Only stop the progress event timer.
+
+2010-04-02 Darin Adler <darin@apple.com>
+
+ Fix mispelling that broke the build.
+
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ * html/canvas/CanvasRenderingContext2D.h:
+ Dashbard -> Dashboard.
+
+2010-04-02 David Levin <levin@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ (non-generated) code should only use CanvasRenderingContext::canvas as a CanvasSurface.
+ https://bugs.webkit.org/show_bug.cgi?id=36906
+
+ * dom/CanvasSurface.cpp: Added methods for items that depended on
+ CanvasRenderingContext::canvas() being an HTMLElement(), so that this usage
+ can be dealt with in one place.
+ (WebCore::CanvasSurface::securityOrigin): Only used by methods that are
+ only run in the document context.
+ (WebCore::CanvasSurface::renderBox): Will likely return 0 in a worker context.
+ (WebCore::CanvasSurface::computedStyle): Used by setFont. Return value is TBD for
+ the worker context.
+ (WebCore::CanvasSurface::styleSelector): Ditto.
+ * dom/CanvasSurface.h:
+ * html/HTMLCanvasElement.cpp:
+ (WebCore::HTMLCanvasElement::getContext): Passing in information into
+ the CanvasRenderingContext2D constructor to eliminate some uses of document
+ inside of the CanvasRenderingContext2D class.
+ * html/HTMLCanvasElement.h:
+ (WebCore::HTMLCanvasElement::renderBox): Added to disambiguate between the
+ two parent class versions of the method.
+ (WebCore::HTMLCanvasElement::computedStyle): Ditto.
+ * html/canvas/CanvasRenderingContext2D.cpp: All of these changes are about
+ removing document usage either by using a bool that is set in the constructor or
+ by calling one of the new methods added to CanvasSurface.
+ (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
+ (WebCore::CanvasRenderingContext2D::clearPathForDashboardBackwardCompatibilityMode):
+ (WebCore::CanvasRenderingContext2D::checkOrigin):
+ (WebCore::CanvasRenderingContext2D::prepareGradientForDashboard):
+ (WebCore::CanvasRenderingContext2D::createPattern):
+ (WebCore::CanvasRenderingContext2D::setFont):
+ (WebCore::CanvasRenderingContext2D::drawTextInternal):
+ * html/canvas/CanvasRenderingContext2D.h:
+ * html/canvas/WebGLRenderingContext.cpp: Removed some duplicate includes.
+ (WebCore::WebGLRenderingContext::markContextChanged): Reduced calls to renderBox
+ as it may become slightly more expensive in the future.
+ (WebCore::WebGLRenderingContext::reshape): Ditto.
+
+2010-04-02 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Implement and test new framebuffer object attachment behavior.
+ https://bugs.webkit.org/show_bug.cgi?id=35611
+
+ Test: fast/canvas/webgl/framebuffer-object-attachment.html
+
+ * html/canvas/WebGLFramebuffer.cpp: Keep track of attached stencil/depth renderbuffers in WebGLFramebuffer.
+ (WebCore::WebGLFramebuffer::WebGLFramebuffer):
+ (WebCore::WebGLFramebuffer::setIsAttached):
+ * html/canvas/WebGLFramebuffer.h: Ditto.
+ (WebCore::WebGLFramebuffer::isDepthAttached):
+ (WebCore::WebGLFramebuffer::isStencilAttached):
+ (WebCore::WebGLFramebuffer::isDepthStencilAttached):
+ * html/canvas/WebGLRenderbuffer.cpp: Keep track of internalformat.
+ (WebCore::WebGLRenderbuffer::WebGLRenderbuffer):
+ * html/canvas/WebGLRenderbuffer.h: Ditto.
+ (WebCore::WebGLRenderbuffer::setInternalformat):
+ (WebCore::WebGLRenderbuffer::getInternalformat):
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore::WebGLRenderingContext::framebufferRenderbuffer): Detect stencil/depth buffer conflicts.
+ (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): Handling DEPTH_STENCIL case.
+ (WebCore::WebGLRenderingContext::getRenderbufferParameter): Get correct WebGL internalformat.
+ (WebCore::WebGLRenderingContext::renderbufferStorage): Detect illegal enums.
+ * html/canvas/WebGLRenderingContext.idl: Add DEPTH_STENCIL enums.
+ * platform/graphics/GraphicsContext3D.h: Add DEPTH_STENCIL enums.
+ (WebCore::GraphicsContext3D::):
+ * platform/graphics/mac/GraphicsContext3DMac.cpp: Map to correct DEPTH_STENCIL format.
+ (WebCore::GraphicsContext3D::framebufferRenderbuffer):
+ (WebCore::GraphicsContext3D::renderbufferStorage):
+ (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
+
+2010-04-02 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Form control state shouldn't be restored for hidden inputs.
+ https://bugs.webkit.org/show_bug.cgi?id=26241
+
+ To fix this issue, we don't save values if it is not changed from
+ the default value.
+
+ Updating the value IDL attribute of some controls such as
+ type=hidden also updates the value content attribute, and it's
+ impossible to distinguish the initial value and the current
+ value. The values of such controls are not saved. It won't be a
+ problem because we want to save and restore user-edited values.
+
+ Test: fast/forms/state-restore-to-non-edited-controls.html
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::saveFormControlState):
+ Do not save the value if it is same as the default value.
+ * html/HTMLTextAreaElement.cpp:
+ (WebCore::HTMLTextAreaElement::saveFormControlState): ditto.
+
+2010-04-02 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Forms with autocomplete=off should not consume saved state
+ https://bugs.webkit.org/show_bug.cgi?id=36762
+
+ Introduce Element::shouldSaveAndRestoreFormControlState() to check
+ if we should save and restore control state.
+
+ Test: fast/forms/state-restore-to-non-autocomplete-form.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::formElementsState): Check shouldSaveAndRestoreFormControlState().
+ * dom/Element.h:
+ (WebCore::Element::shouldSaveAndRestoreFormControlState): Added. It just returns true.
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::HTMLFormControlElementWithState::autoComplete):
+ Added. It return autocomplete state of the form.
+ (WebCore::HTMLFormControlElementWithState::shouldSaveAndRestoreFormControlState):
+ Added. It returns the result of autoComplete().
+ (WebCore::HTMLFormControlElementWithState::finishParsingChildren):
+ Do not restore state if shouldSaveAndRestoreFormControlState() is false.
+ * html/HTMLFormControlElement.h: Declare autoComplete() and overriding methods.
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::autoComplete):
+ Reduce code by using autoComplete() of the parent class.
+ (WebCore::HTMLInputElement::saveFormControlState):
+ Remove the autoComplete() check. Document::formElementsState() does equivalent check.
+
+2010-04-02 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Very bad scrolling-performance with the Trackpad at http://www.apple.com/ipad/app-store/
+ https://bugs.webkit.org/show_bug.cgi?id=36978
+
+ When we update compositing layers (which can happen on scrolling, when there are fixed position elements
+ on the page), we can end up redundantly setting images as layer contents if we have to color-correct
+ the image. This is because we call CGImageCreateCopyWithColorSpace(), which hands back a new image
+ every time.
+
+ Avoid this by storing a reference to the original uncorrected image, which is used to then
+ avoid work if the image does not change.
+
+ * platform/graphics/mac/GraphicsLayerCA.h:
+ * platform/graphics/mac/GraphicsLayerCA.mm:
+ (WebCore::GraphicsLayerCA::setContentsToImage):
+
+2010-04-02 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Avoid doing work in FrameView::scrollPositionChanged() if there are no fixed position elements
+ https://bugs.webkit.org/show_bug.cgi?id=36994
+
+ r55890 added knowledge to FrameView about whether it contains any fixed-position elements. We can
+ use this to avoid updating widget positions, and compositing layer positions when possible.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::scrollPositionChanged):
+ * page/FrameView.h:
+ (WebCore::FrameView::hasFixedObjects):
+
+2010-04-02 Nate Chapin <japhet@chromium.org>
+
+ Rubber-stamped by Dimitri Glazkov.
+
+ http://trac.webkit.org/changeset/57004 caused
+ fast/dom/console-log-stack-overflow.html to fail for Chromium.
+ Add check for empty wrappers before using them to create a hidden reference.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+
+2010-04-01 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [V8] Generalize (and generate!) the creation of hidden references
+ between JS wrappers.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36777
+
+ * Android.v8bindings.mk:
+ * WebCore.gypi:
+ * bindings/scripts/CodeGeneratorV8.pm: Generate calls to setHiddenReference() in
+ attribute getters.
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::setHiddenReference): Split common logic out of hidden setHiddenWindowReference
+ (WebCore::V8DOMWrapper::setHiddenWindowReference): Now contains logic specific to putting a
+ hidden reference on a global object.
+ (WebCore::globalObjectPrototypeIsDOMWindow): Be more thorough in the COMPILE_ASSERTs.
+ (WebCore::V8DOMWrapper::convertEventTargetToV8Object): Cleanup: Remove a duplicate if statement.
+ * bindings/v8/V8DOMWrapper.h:
+ * bindings/v8/WrapperTypeInfo.h:
+ * bindings/v8/custom/V8BarInfoCustom.cpp: Removed.
+ * bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8DOMSelectionCustom.cpp: Removed.
+ * bindings/v8/custom/V8HistoryCustom.cpp:
+ * bindings/v8/custom/V8LocationCustom.cpp:
+ * bindings/v8/custom/V8MessageChannelConstructor.cpp:
+ (WebCore::V8MessageChannel::constructorCallback):
+ * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8NavigatorCustom.cpp: Removed.
+ * bindings/v8/custom/V8ScreenCustom.cpp: Removed.
+ * bindings/v8/custom/V8StyleSheetCustom.cpp:
+ (WebCore::toV8):
+ * loader/appcache/DOMApplicationCache.h:
+ (WebCore::DOMApplicationCache::frame): Add frame() accessor.
+
+
+2010-04-01 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: start editing DOM and styles on click-and-pause.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36965
+
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeElement.prototype.onattach):
+ (WebInspector.ElementsTreeElement.prototype.selectOnMouseDown):
+ (WebInspector.ElementsTreeElement.prototype.ondblclick):
+ (WebInspector.ElementsTreeElement.prototype._handleClickAndPause):
+ (WebInspector.ElementsTreeElement.prototype._startEditingTarget):
+ (WebInspector.ElementsTreeElement.prototype._startEditingAttribute):
+ (WebInspector.ElementsTreeElement.prototype._startEditingTextNode):
+ (WebInspector.ElementsTreeElement.prototype._startEditingTagName):
+ (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML):
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceDoubleClick):
+ (WebInspector.StylePropertiesSection.prototype._handleSelectorClick):
+ (WebInspector.StylePropertiesSection.prototype._handleSelectorClickAndPause):
+ (WebInspector.StylePropertiesSection.prototype._handleSelectorDoubleClick):
+ (WebInspector.StylePropertiesSection.prototype._startEditingOnMouseEvent):
+ (WebInspector.StylePropertyTreeElement.prototype.onattach):
+ (WebInspector.StylePropertyTreeElement.prototype):
+ * inspector/front-end/inspector.css:
+ * inspector/front-end/inspector.js:
+ * inspector/front-end/treeoutline.js:
+ (TreeElement.prototype._attach):
+ (TreeElement.treeElementMouseDown):
+ (TreeElement.prototype.selectOnMouseDown):
+
+2010-04-02 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Unreviewed build fix when building --no-svg.
+
+ Build fix after r56941. Add ENABLE(SVG) guard.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateLayerPositions):
+
+2010-04-02 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Implement InspectorFrontendHost::showContextMenu for Chromium.
+
+ Move inspector frontend context menu code from InspectorFrontendClient to InspectorFrontendHost as it's platform independent.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36817
+
+ * WebCore.Inspector.exp:
+ * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
+ (WebCore::V8InspectorFrontendHost::showContextMenuCallback):
+ * inspector/InspectorFrontendClient.h:
+ * inspector/InspectorFrontendClientLocal.cpp:
+ (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
+ (WebCore::InspectorFrontendClientLocal::~InspectorFrontendClientLocal):
+ (WebCore::InspectorFrontendClientLocal::windowObjectCleared):
+ * inspector/InspectorFrontendClientLocal.h:
+ * inspector/InspectorFrontendHost.cpp:
+ (WebCore::FrontendMenuProvider::create):
+ (WebCore::FrontendMenuProvider::disconnect):
+ (WebCore::FrontendMenuProvider::FrontendMenuProvider):
+ (WebCore::FrontendMenuProvider::~FrontendMenuProvider):
+ (WebCore::FrontendMenuProvider::populateContextMenu):
+ (WebCore::FrontendMenuProvider::contextMenuItemSelected):
+ (WebCore::FrontendMenuProvider::contextMenuCleared):
+ (WebCore::InspectorFrontendHost::InspectorFrontendHost):
+ (WebCore::InspectorFrontendHost::disconnectClient):
+ (WebCore::InspectorFrontendHost::showContextMenu):
+ * inspector/InspectorFrontendHost.h:
+ (WebCore::InspectorFrontendHost::create):
+
+2010-04-02 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ WebInspector: Timeline Overview pane should support short records filtering.
+ https://bugs.webkit.org/show_bug.cgi?id=37020
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/TimelineOverviewPane.js:
+ (WebInspector.TimelineOverviewPane.prototype.update.markTimeline):
+ (WebInspector.TimelineOverviewPane.prototype.update):
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel):
+ (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
+ (WebInspector.TimelinePanel.prototype._toggleFilterButtonClicked):
+ (WebInspector.TimelinePanel.prototype._refresh):
+ (WebInspector.TimelinePanel.prototype._addToRecordsWindow):
+ (WebInspector.TimelinePanel.FormattedRecord.prototype.isLong):
+
+2010-04-02 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ Accept XHTML-MP content type as XHTML content
+ https://bugs.webkit.org/show_bug.cgi?id=34262
+
+ Enable processing XHTML-MP mime type as an XHTML document
+ even if XHTML-MP support is not enabled.
+
+ * platform/MIMETypeRegistry.cpp:
+ (WebCore::initializeSupportedNonImageMimeTypes):
+
+2010-04-02 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ Make XSSAuditor go fast with large POST data
+ https://bugs.webkit.org/show_bug.cgi?id=36694
+
+ There were two things slowing down this bechmark:
+
+ 1) Searching the large POST data for each inline event handler. To
+ make this faster, we now use a suffix tree to fast-reject strings
+ that don't appear as substrings of the POST data.
+
+ 2) The next largest cost was flattening the form data into a string.
+ To make this fater, we now use the form data object itself as a key
+ and only flatten once.
+
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * page/XSSAuditor.cpp:
+ (WebCore::XSSAuditor::CachingURLCanonicalizer::canonicalizeURL):
+ (WebCore::XSSAuditor::CachingURLCanonicalizer::clear):
+ (WebCore::XSSAuditor::XSSAuditor):
+ (WebCore::XSSAuditor::findInRequest):
+ * page/XSSAuditor.h:
+ (WebCore::XSSAuditor::CachingURLCanonicalizer::CachingURLCanonicalizer):
+ (WebCore::XSSAuditor::CachingURLCanonicalizer::generation):
+ * platform/text/SuffixTree.h: Added.
+ (WebCore::UnicodeCodebook::codeWord):
+ (WebCore::UnicodeCodebook::):
+ (WebCore::ASCIICodebook::codeWord):
+ (WebCore::ASCIICodebook::):
+ (WebCore::SuffixTree::SuffixTree):
+ (WebCore::SuffixTree::mightContain):
+ (WebCore::SuffixTree::Node::Node):
+ (WebCore::SuffixTree::Node::~Node):
+ (WebCore::SuffixTree::Node::at):
+ (WebCore::SuffixTree::build):
+
+2010-04-02 Roland Steiner <rolandsteiner@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Bug 36741 - Duplicate, slightly divergent implementation of Position[Iterator]::isCandidate()
+ https://bugs.webkit.org/show_bug.cgi?id=36741
+
+ Patch: change Position::isCandididate() to call the PositionIterator::isCandidate() version.
+ Update PositionIterator::isCandidate() to mirror Position::isCandidate().
+
+ Rationale: PositionIterator::isCandidate() is called in a tight loop within
+ next/previousCandidate(). Also, creation of a PositionIterator from a Position
+ is cheaper than vice-versa.
+
+ Tests: ran all tests in 'editing'.
+
+ * dom/Position.cpp:
+ (WebCore::Position::isCandidate):
+ * dom/PositionIterator.cpp:
+ (WebCore::PositionIterator::isCandidate):
+
+2010-04-02 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Database code falsely returns errors due to errant pointer check
+ https://bugs.webkit.org/show_bug.cgi?id=37014
+
+ r56943 introduced a check to see if there were any unprocessed
+ SQL commands after calling sqlite3_prepare16_v2.
+
+ Accessing the remaining data via pointer wasn't possible since
+ the query string is deallocated immediately after the
+ query runs. The String returned from strippedWhiteSpace
+ goes out of scope at that point.
+
+ Fix is to store the strippedWhiteSpace in a temporary String
+ so we can access it via character ptr later in the function.
+
+ * platform/sql/SQLiteStatement.cpp:
+ (WebCore::SQLiteStatement::prepare):
+
+2010-04-01 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Darin Adler.
+
+ setting document.title doesn't change document.title value
+ https://bugs.webkit.org/show_bug.cgi?id=36802
+
+ An entity of "value" argument on HTMLTitleElement::setTitle() could be
+ Document::m_title and be changed during HTMLTitleElement::setText().
+ Fix copying the argument to keep the original value.
+
+ Test: fast/dom/Document/title-with-multiple-children.html
+
+ * html/HTMLTitleElement.cpp:
+ (WebCore::HTMLTitleElement::setText):
+
+2010-04-01 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Maemo5 theme - <select multiple> custom rendering
+ https://bugs.webkit.org/show_bug.cgi?id=36369
+
+ Customizing rendering of <select multiple> elements in Maemo5.
+
+ * platform/qt/Maemo5Webstyle.cpp:
+ (Maemo5WebStyle::drawMultipleComboButton):
+ (Maemo5WebStyle::drawSimpleComboButton):
+ (Maemo5WebStyle::getButtonImageSize):
+ (Maemo5WebStyle::findComboButton):
+ (Maemo5WebStyle::drawComplexControl):
+ * platform/qt/Maemo5Webstyle.h:
+
+2010-04-01 Kinuko Yasuda <kinuko@chromium.org>
+
+ Reviewed by Dmitry Titov.
+
+ Add FileThread for async file operation support in FileReader and FileWriter
+ https://bugs.webkit.org/show_bug.cgi?id=36896
+
+ Add FileThread for async file operation support for FileReader and
+ FileWriter. The patch also adds ENABLE_FILE_READER or
+ ENABLE_FILE_WRITER build flags/defines. Both flags are disabled
+ by default.
+
+ No new tests, will add ones when after adding modules which use the thread.
+
+ * Configurations/FeatureDefines.xcconfig:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/ScriptExecutionContext.cpp:
+ (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
+ (WebCore::ScriptExecutionContext::fileThread):
+ * dom/ScriptExecutionContext.h:
+ * html/FileThread.cpp: Added.
+ (WebCore::FileThread::FileThread):
+ (WebCore::FileThread::~FileThread):
+ (WebCore::FileThread::start):
+ (WebCore::FileThread::stop):
+ (WebCore::FileThread::postTask):
+ (WebCore::SameFilePredicate::SameFilePredicate):
+ (WebCore::SameFilePredicate::operator()):
+ (WebCore::FileThread::removeTask):
+ (WebCore::FileThread::fileThreadStart):
+ (WebCore::FileThread::runLoop):
+ * html/FileThread.h: Added.
+ (WebCore::FileThread::create):
+ (WebCore::FileThread::Task::Task):
+ (WebCore::FileThread::Task::~Task):
+ (WebCore::FileThread::Task::fileHandle):
+ * platform/Logging.cpp:
+ (WebCore::):
+ (WebCore::getChannelFromName):
+ * platform/Logging.h:
+
+2010-04-01 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed. Rollout of http://trac.webkit.org/changeset/56930
+ https://bugs.webkit.org/show_bug.cgi?id=36977
+
+ * accessibility/AccessibilityImageMapLink.cpp:
+ (WebCore::AccessibilityImageMapLink::accessibilityDescription):
+
+2010-04-01 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Darin Adler.
+
+ WebCore::Document::updateLayoutIgnorePendingStylesheets NULL pointer
+ https://bugs.webkit.org/show_bug.cgi?id=31680
+ Ownerless nodes leads a crash on DOMSelection APIs
+ https://bugs.webkit.org/show_bug.cgi?id=36800
+
+ Added guards nodes from foreign documents to DOMSelection APIs.
+
+ Tests: editing/selection/DOMSelection-DocumentType.html
+ editing/selection/DOMSelection-crossing-document.html
+
+ * editing/VisiblePosition.cpp:
+ (WebCore::VisiblePosition::canonicalPosition):
+ * page/DOMSelection.cpp:
+ (WebCore::DOMSelection::collapse):
+ (WebCore::DOMSelection::setBaseAndExtent):
+ (WebCore::DOMSelection::setPosition):
+ (WebCore::DOMSelection::extend):
+ (WebCore::DOMSelection::containsNode):
+ (WebCore::DOMSelection::isValidForPosition):
+ * page/DOMSelection.h:
+
+2010-04-01 Chris Evans <cevans@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Fix a NULL pointer crash if @import fails to load a stylesheet.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36804
+
+ Test: fast/xsl/xslt-bad-import-uri.html
+
+ * xml/XSLStyleSheetLibxslt.cpp:
+ (WebCore::XSLStyleSheet::parseString):
+ Handle an empty string gracefully. An empty string has a NULL
+ buffer, which we pass in to xmlCreateMemoryParserCtxt(). It returns
+ NULL if it is passed a NULL buffer.
+ In the top-level XSL case, the current code does not crash "by luck"
+ because the other APIs used can handle a NULL argument. In the
+ @import case, additional code runs which will deference the NULL.
+
+2010-04-01 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36854
+ <rdar://problem/7811668> REGRESSION (r47291): Body from cross origin preflight response
+ is prepended to the actual response body
+
+ Tests: http/tests/xmlhttprequest/access-control-response-with-body-sync.html
+ http/tests/xmlhttprequest/access-control-response-with-body.html
+
+ * loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::didReceiveData):
+ Don't send data to the client when handling a preflight request.
+
+2010-04-01 Ada Chan <adachan@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Change DatabaseTracker::deleteOrigin() to return true if there are no errors in deleting the origin.
+ Ditto for DatabaseTracker::deleteDatabase().
+
+ https://bugs.webkit.org/show_bug.cgi?id=36988
+
+ * storage/DatabaseTracker.cpp:
+ (WebCore::DatabaseTracker::deleteOrigin):
+ (WebCore::DatabaseTracker::deleteDatabase):
+ * storage/DatabaseTracker.h:
+
+2010-04-01 Simon Fraser <simon.fraser@apple.com>
+
+ No review.
+
+ Remove some casts that I indended to remove before committing r56948.
+
+ * rendering/RenderTreeAsText.cpp:
+ (WebCore::writeRenderObject):
+ (WebCore::write):
+
+2010-04-01 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Assertion failure (willBeComposited == needsToBeComposited(layer)) in
+ RenderLayerCompositor::computeCompositingRequirements() on hulu.com
+ https://bugs.webkit.org/show_bug.cgi?id=36516
+
+ Fix assertions added in r56017. That changed replaced calls to needsToBeComposited()
+ with use of the local 'willBeComposited' variable, but that fails to take into
+ account the fact that needsToBeComposited() also tests layer->isSelfPaintingLayer().
+
+ Fix by adding a canBeComposited() method that we call before testing
+ whether the layer should go into compositing mode.
+
+ Test: compositing/self-painting-layers2.html
+
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::calculateCompositedBounds): Repace use of isSelfPaintingLayer()
+ with a call to canBeComposited().
+ (WebCore::RenderLayerCompositor::computeCompositingRequirements): Call canBeComposited() to ensure
+ that we only toggle 'willBeComposited' for layers that can.
+ (WebCore::RenderLayerCompositor::needsToBeComposited): Call canBeComposited().
+ (WebCore::RenderLayerCompositor::canBeComposited): Test if compositing is enabled, and whether
+ the layer is self-painting.
+ * rendering/RenderLayerCompositor.h: Add canBeComposited().
+
+2010-04-01 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36980
+ Add object addresses to debug showLayerTree() output.
+
+ Add the ability to print RenderLayer and RenderObject addresses in the showLayerTree()
+ output.
+
+ * platform/text/TextStream.cpp:
+ (WebCore::TextStream::operator<<):
+ * platform/text/TextStream.h:
+ * rendering/RenderLayer.cpp:
+ (showLayerTree):
+ * rendering/RenderTreeAsText.cpp:
+ (WebCore::writeRenderObject):
+ (WebCore::write):
+ * rendering/RenderTreeAsText.h:
+
+2010-03-29 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Changing SQLiteStatement::prepare() to return an error when it's
+ given a string that has more than one statement in it. Currently,
+ everything past the first statement is silently ignored.
+
+ Test: storage/executesql-accepts-only-one-statement.html
+
+ * platform/sql/SQLiteStatement.cpp:
+ (WebCore::SQLiteStatement::prepare):
+
+2010-04-01 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Simon Fraser.
+
+ Keeps a transient optimistic offset to the root in RenderLayer::updateLayerPositions
+ https://bugs.webkit.org/show_bug.cgi?id=33520
+
+ RenderLayer::updateLayerPositions() makes a recursive walk through all RenderLayers and updates the repaint rectangles on each.
+ These rectangles have to be calculated in the repaint container's coordinates using RenderObject::mapLocalToContainer to walk
+ up to the repaint container. This patch keeps track of the offset to the root and uses that offset instead of walking back up to
+ the root every time.
+
+ Tests: fast/layers/nested-layers-1.html
+ fast/layers/nested-layers-2.html
+ fast/layers/nested-layers-3.html
+ fast/layers/nested-layers-4.html
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::layout):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::outlineBoundsForRepaint):
+ * rendering/RenderBox.h:
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateLayerPositions):
+ * rendering/RenderLayer.h:
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::outlineBoundsForRepaint):
+ * rendering/RenderSVGModelObject.cpp:
+ (WebCore::RenderSVGModelObject::outlineBoundsForRepaint):
+ * rendering/RenderSVGModelObject.h:
+
+2010-04-01 Daniel Bates <dbates@rim.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36901
+
+ Removed functions Range::operator == and Range::operator != as they
+ were using C++ code that was not sound and hence may have undefined
+ behavior.
+
+ Test case: manual-tests/crash-on-find-with-no-selection.html
+
+ * dom/Range.cpp:
+ (WebCore::areRangesEqual): Added.
+ * dom/Range.h:
+ * editing/markup.cpp:
+ (WebCore::createMarkup): Modified to call WebCore::areRangesEqual.
+ * manual-tests/crash-on-find-with-no-selection.html: Added.
+ * page/Frame.cpp:
+ (WebCore::Frame::findString): Modified to call WebCore::areRangesEqual.
+
+2010-04-01 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Synchronous rendering when setting form control values slows down JavaScript
+ https://bugs.webkit.org/show_bug.cgi?id=36967
+
+ This patch basically reverts http://trac.webkit.org/changeset/19006.
+
+ Dan asked me to investigate why 19006 is no longer needed. I have two answers:
+
+ (1) I was also able to remove the synchronous call to updateFromElement().
+ That call was the proximate cause of the crash that 19006 fixed.
+
+ (2) updateFromElement() no longer calls HTMLElement::setInnerText()
+ in the way that it used to. (However, it doesn't seem prudent to
+ rely on this happy coincidence.)
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::setValue): Simplified some logic here. Moved
+ setNeedsValidityCheck() outside of individual 'if' clauses, since they all
+ called it.
+
+ Removed call to updateStyleIfNeeded(), which does rendering synchronously,
+ since that was the performance problem. (setNeedsStyleRecalc() ensures
+ that rendering will happen asynchronously.) Also removed comment about
+ ordering dangers introduced by updateStyleIfNeeded().
+
+ Removed call to updateFromElement(), since it's dangerous and also a minor
+ performance problem. (setNeedsStyleRecalc() ensures that updateFromElement()
+ will happen asynchronously, too.)
+
+ * html/HTMLTextAreaElement.cpp:
+ (WebCore::HTMLTextAreaElement::setNonDirtyValue): Ditto. Here, I had to
+ add a call to setNeedsStyleRecalc(), since there wasn't one before.
+
+2010-04-01 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Sometimes js code can detach page from it's frame and in that case
+ Dispatch Events will stay in the TimelineAgent's events stack. Only immediate events will
+ appear at frontend.
+ https://bugs.webkit.org/show_bug.cgi?id=36890
+
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::callFunction):
+ * dom/Node.cpp:
+ (WebCore::Node::dispatchGenericEvent):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::dispatchEvent):
+
+2010-04-01 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ Bug 36977 - aria-label doesn't work on image map area
+ https://bugs.webkit.org/show_bug.cgi?id=36977
+
+ Test: platform/mac/accessibility/area-with-aria-label.html
+
+ * accessibility/AccessibilityImageMapLink.cpp:
+ (WebCore::AccessibilityImageMapLink::accessibilityDescription):
+
+2010-04-01 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Assertion failure: !repaintContainer || repaintContainer == this
+ https://bugs.webkit.org/show_bug.cgi?id=36672
+
+ RenderText's implementation of clippedOverflowRectForRepaint() uses containingBlock()
+ to get the renderer to use for computing the repaint rect. However, the renderer returned
+ by containingBlock() may be an ancestor of the repaintContainer, and containingBlock()
+ doesn't have the 'repaintContainerSkipped' logic that container() has.
+
+ So in this case, check to see whether repaintContainer is actually a descendant of the
+ containing block, and in that case just repaint the entire repaintContainer.
+
+ Test: compositing/repaint/inline-repaint-container.html
+
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::clippedOverflowRectForRepaint):
+
+2010-04-01 Csaba Osztrogonác <ossy@webkit.org>
+
+ Reviewed by Jian Li.
+
+ [Qt] REGRESSION(r56869): Windows build is broken
+ https://bugs.webkit.org/show_bug.cgi?id=36929
+
+ * WebCore.pro: LIBS += -lOle32 added.
+ * platform/UUID.cpp: Define ARRAYSIZE macro if it isn't defined before.
+
+2010-04-01 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ Bug 36968 - 1 crash in Safari at com.apple.WebCore: WebCore::Element::getAttribute const
+ https://bugs.webkit.org/show_bug.cgi?id=36968
+
+ Test: accessibility/crash-with-noelement-selectbox.html
+
+ When a <select> element had no options, the selectedIndex == -1 and that was being
+ used to index into an empty array.
+
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::stringValue):
+
+2010-04-01 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Shinichiro Hamaji.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36948
+ Refactoring: Position::primaryDirection() should be extracted.
+
+ No new tests. No functinal change.
+
+ * dom/Position.cpp:
+ (WebCore::Position::getInlineBoxAndOffset):
+ (WebCore::Position::primaryDirection): Added
+ * dom/Position.h:
+ * editing/VisiblePosition.cpp:
+ (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
+ (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
+
+2010-04-01 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Audits: fix parsing of injected script-evaluated result for CssInHeadRule
+ https://bugs.webkit.org/show_bug.cgi?id=36952
+
+ * inspector/front-end/AuditRules.js:
+ (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
+
+2010-03-31 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Nate Chapin.
+
+ Misc IndexedDatabase cleanup
+ https://bugs.webkit.org/show_bug.cgi?id=36889
+
+ No functional changes.
+
+ * bindings/v8/custom/V8CustomIDBCallbacks.h:
+ (WebCore::V8CustomIDBCallbacks::onSuccess):
+ (WebCore::V8CustomIDBCallbacks::onError):
+ (WebCore::V8CustomIDBCallbacks::V8CustomIDBCallbacks):
+ Get rid of 2 largely redundant bools
+
+ * storage/IndexedDatabase.h:
+ * storage/IndexedDatabaseImpl.cpp:
+ (WebCore::IndexedDatabaseImpl::open):
+ * storage/IndexedDatabaseImpl.h:
+ * storage/IndexedDatabaseRequest.cpp:
+ (WebCore::IndexedDatabaseRequest::open):
+ * storage/IndexedDatabaseRequest.h:
+ Plumb the Frame* and style cleanups.
+
+2010-03-31 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Reviewed by Dirk Schulze.
+
+ REGRESSION: document.documentElement.getScreenCTM() returns incorrect matrix.
+ https://bugs.webkit.org/show_bug.cgi?id=27183
+
+ Rewrite getCTM() / getScreenCTM() handling in an iterative way, fixing all known problems/limitations.
+ The bug mentioned above is actually not a regression, getScreenCTM() only worked before, because we
+ did not handle non-SVG CSS box parents properly. When support was added to handle those cases, the
+ getScreenCTM() handling was completly off, causing a lot of trouble in real-life SVG applications (carto.net for instance)
+
+ Tests: svg/custom/svgsvgelement-ctm.xhtml (fixed typo, missing unit identifier in CSS 'height' property, leading to incorrect results)
+ svg/custom/svgsvgelement-ctm2.xhtml
+ svg/custom/svgsvgelement-ctm3.xhtml
+ svg/custom/svgsvgelement-ctm4.xhtml
+ svg/custom/svgsvgelement-ctm5.xhtml
+
+ * svg/SVGLocatable.cpp:
+ (WebCore::SVGLocatable::getBBox):
+ (WebCore::SVGLocatable::computeCTM):
+ * svg/SVGLocatable.h:
+ (WebCore::SVGLocatable::localCoordinateSpaceTransform):
+ * svg/SVGSVGElement.cpp:
+ (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
+ (WebCore::SVGSVGElement::createRenderer):
+ * svg/SVGSVGElement.h:
+ * svg/SVGStyledElement.cpp:
+ (WebCore::SVGStyledElement::localCoordinateSpaceTransform):
+ * svg/SVGStyledElement.h:
+ * svg/SVGStyledLocatableElement.cpp:
+ (WebCore::SVGStyledLocatableElement::getCTM):
+ (WebCore::SVGStyledLocatableElement::getScreenCTM):
+ * svg/SVGStyledLocatableElement.h:
+ (WebCore::SVGStyledLocatableElement::localCoordinateSpaceTransform):
+ * svg/SVGStyledTransformableElement.cpp:
+ (WebCore::SVGStyledTransformableElement::getCTM):
+ (WebCore::SVGStyledTransformableElement::getScreenCTM):
+ * svg/SVGStyledTransformableElement.h:
+ (WebCore::SVGStyledTransformableElement::localCoordinateSpaceTransform):
+ * svg/SVGTextElement.cpp:
+ (WebCore::SVGTextElement::getCTM):
+ (WebCore::SVGTextElement::getScreenCTM):
+ * svg/SVGTextElement.h:
+ (WebCore::SVGTextElement::localCoordinateSpaceTransform):
+ * svg/SVGTransformable.cpp:
+ (WebCore::SVGTransformable::SVGTransformable):
+ * svg/SVGTransformable.h:
+ (WebCore::SVGTransformable::localCoordinateSpaceTransform):
+
+2010-04-01 Vitaly Repeshko <vitalyr@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [V8] Quick fix for failure in SerializedScriptValue
+ https://bugs.webkit.org/show_bug.cgi?id=36943
+
+ This allows the web worker layout tests to pass again.
+
+ * bindings/v8/SerializedScriptValue.h:
+ (WebCore::SerializedScriptValue::deserializeAndSetProperty):
+
+2010-03-31 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Darin Adler.
+
+ Crash when writing into a detached TITLE element
+ https://bugs.webkit.org/show_bug.cgi?id=25567
+
+ Document::setTitle() invoked HTMLTitleElement::setText(), which
+ contains DOM tree modification, even when setTitle() is called
+ from HTMLTitleElement::childrenChanged(). Fix to skip setText()
+ when setTitle() is called childrenChanged() to avoid cascading
+ DOM mutations between Document and HTMLTitleElement.
+
+ Test: fast/dom/title-content-write-set.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::setTitle):
+
+2010-04-01 Roland Steiner <rolandsteiner@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Bug 36803 - 'Inline-table' workaround for <ruby> broken with ruby support
+ https://bugs.webkit.org/show_bug.cgi?id=36803
+
+ Don't use ruby rendering if the underlying 'display' property has been
+ changed into a value other than 'inline' or 'block' (such as 'inline-table').
+
+ Test: fast/ruby/ruby-inline-table.html
+
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::createObject):
+
+2010-03-31 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Crash submitting display:none textarea in a form
+ https://bugs.webkit.org/show_bug.cgi?id=36905
+
+ Test: fast/forms/textarea-submit-crash.html
+
+ * html/HTMLTextAreaElement.cpp:
+ (WebCore::HTMLTextAreaElement::appendFormData): Do update layout before
+ asking our renderer for its text, since we can't rely on our renderer's
+ text if layout is needed.
+
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::textWithHardLineBreaks): Don't update layout
+ while being asked for our text, since doing so may delete us, causing a crash.
+
+2010-03-31 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 36845 - AX: need a way to set the label of a AXWebArea through WebKit
+ https://bugs.webkit.org/show_bug.cgi?id=36845
+
+ Provide a way through WebKit to set an accessible label that describes the web area.
+
+ Test: platform/mac/accessibility/html-with-aria-label.html
+
+ * accessibility/AccessibilityObject.h:
+ (WebCore::AccessibilityObject::setAccessibleName):
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::accessibilityDescription):
+ (WebCore::AccessibilityRenderObject::setAccessibleName):
+ * accessibility/AccessibilityRenderObject.h:
+
+2010-03-31 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <http://webkit.org/b/36878> REGRESSION: Trailing colon on hostnames (with no port specified) causes "Not allowed to use restricted network port"
+
+ * platform/KURL.cpp:
+ (WebCore::KURL::port): Explicitly handle the case of a colon being present in the URL after the host name but with
+ no port number before the path. This is handled in the same manner as the colon and port being omitted completely.
+
+2010-03-31 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Remove dependency on TextBreakIterator from StringImpl.cpp,
+ and from member methods of String.
+
+ Make 'numGraphemeClusters' & 'numCharactersInGraphemeClusters'
+ global function defined in PlatformString.h, rather than
+ member methods on String (these can be implemented purely
+ using the characters() and length() public interface),
+ and make 'makeCapitalized' a static function in RenderText.cpp.
+
+ * dom/InputElement.cpp:
+ (WebCore::InputElement::sanitizeUserInputValue):
+ (WebCore::InputElement::handleBeforeTextInsertedEvent):
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::tooLong):
+ * html/HTMLTextAreaElement.cpp:
+ (WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent):
+ (WebCore::HTMLTextAreaElement::sanitizeUserInputValue):
+ (WebCore::HTMLTextAreaElement::tooLong):
+ * platform/text/PlatformString.h:
+ (WebCore::String::makeSecure):
+ * platform/text/String.cpp:
+ (WebCore::numGraphemeClusters):
+ (WebCore::numCharactersInGraphemeClusters):
+ * platform/text/StringImpl.cpp:
+ * platform/text/StringImpl.h:
+ * rendering/RenderText.cpp:
+ (WebCore::makeCapitalized):
+ (WebCore::RenderText::setTextInternal):
+
+2010-03-31 Vitaly Repeshko <vitalyr@chromium.org>
+
+ Reviewed by David Levin.
+
+ [V8] SerializedScriptValue must be deserialized only once and in the right context
+ https://bugs.webkit.org/show_bug.cgi?id=36892
+
+ See also https://bugs.webkit.org/show_bug.cgi?id=34227 for the
+ corresponding JSC change.
+
+ General idea: SerializedScriptValue must be deserialized only once
+ and in the context of the intended MessageEvent recepient. The
+ approach we take for now is to eagerly deserialize when a
+ JavaScript wrapper for MessageEvent is created.
+
+ A better fix would be to keep a reference to the context in
+ MessageEvent and use it when lazily deserializing. It's harder to
+ do since the API doesn't have a clean method to have such a reference.
+
+ Tested by fast/dom/Window/window-postmessage-clone-frames.html. This
+ test still fails but only for the types which we can't serialize yet.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/SerializedScriptValue.h:
+ (WebCore::SerializedScriptValue::deserializeAndSetProperty):
+ * bindings/v8/custom/V8MessageEventCustom.cpp:
+ (WebCore::V8MessageEvent::initMessageEventCallback):
+
+2010-03-31 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Fisher.
+
+ Cleanup RedirectScheduler
+ https://bugs.webkit.org/show_bug.cgi?id=36874
+
+ Removed the nutty ScheduledRedirection struct in favor of a hierarchy
+ of classes to represent the various kinds of scheduled redirects.
+ Doing this lets us get rid of the pseudo RTTI switch statements on
+ "type" in favour of calling virtual functions.
+
+ No new tests because this change should be API identical with the
+ existing RedirectScheduler.
+
+ * loader/RedirectScheduler.cpp:
+ (WebCore::ScheduledNavigation::ScheduledNavigation):
+ (WebCore::ScheduledNavigation::~ScheduledNavigation):
+ (WebCore::ScheduledNavigation::isLocationChange):
+ (WebCore::ScheduledNavigation::shouldStartTimer):
+ (WebCore::ScheduledNavigation::didStartTimer):
+ (WebCore::ScheduledNavigation::didStopTimer):
+ (WebCore::ScheduledNavigation::delay):
+ (WebCore::ScheduledNavigation::lockHistory):
+ (WebCore::ScheduledNavigation::lockBackForwardList):
+ (WebCore::ScheduledNavigation::wasDuringLoad):
+ (WebCore::ScheduledURLNavigation::ScheduledURLNavigation):
+ (WebCore::ScheduledURLNavigation::fire):
+ (WebCore::ScheduledURLNavigation::didStartTimer):
+ (WebCore::ScheduledURLNavigation::didStopTimer):
+ (WebCore::ScheduledURLNavigation::url):
+ (WebCore::ScheduledURLNavigation::referrer):
+ (WebCore::ScheduledURLNavigation::wasUserGesture):
+ (WebCore::ScheduledRedirect::ScheduledRedirect):
+ (WebCore::ScheduledRedirect::isLocationChange):
+ (WebCore::ScheduledRedirect::shouldStartTimer):
+ (WebCore::ScheduledLocationChange::ScheduledLocationChange):
+ (WebCore::ScheduledRefresh::ScheduledRefresh):
+ (WebCore::ScheduledRefresh::fire):
+ (WebCore::ScheduledHistoryNavigation::ScheduledHistoryNavigation):
+ (WebCore::ScheduledHistoryNavigation::fire):
+ (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
+ (WebCore::ScheduledFormSubmission::fire):
+ (WebCore::RedirectScheduler::redirectScheduledDuringLoad):
+ (WebCore::RedirectScheduler::clear):
+ (WebCore::RedirectScheduler::scheduleRedirect):
+ (WebCore::RedirectScheduler::mustLockBackForwardList):
+ (WebCore::RedirectScheduler::scheduleLocationChange):
+ (WebCore::RedirectScheduler::scheduleFormSubmission):
+ (WebCore::RedirectScheduler::scheduleRefresh):
+ (WebCore::RedirectScheduler::locationChangePending):
+ (WebCore::RedirectScheduler::scheduleHistoryNavigation):
+ (WebCore::RedirectScheduler::timerFired):
+ (WebCore::RedirectScheduler::schedule):
+ (WebCore::RedirectScheduler::startTimer):
+ (WebCore::RedirectScheduler::cancel):
+ * loader/RedirectScheduler.h:
+
+2010-03-31 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Darin Fisher.
+
+ Hook up WebGLContextAttributes to OpenGL context creation code
+ https://bugs.webkit.org/show_bug.cgi?id=33416
+
+ Test: fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias.html
+
+ * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: Fix an index bug.
+ (WebCore::V8HTMLCanvasElement::getContextCallback):
+ * platform/graphics/GraphicsContext3D.h: Add members/functions for multisampling/stencil buffer purpose.
+ * platform/graphics/mac/Canvas3DLayer.h: Add GraphicsContext3D as a member of Canvas3DLayer.
+ * platform/graphics/mac/Canvas3DLayer.mm: Add multisampling support.
+ (-[Canvas3DLayer drawInCGLContext:pixelFormat:forLayerTime:displayTime:]):
+ * platform/graphics/mac/GraphicsContext3DMac.cpp: Hook up WebGLContextAttributes to OpenGL context creation code for Mac.
+ (WebCore::GraphicsContext3D::GraphicsContext3D):
+ (WebCore::GraphicsContext3D::~GraphicsContext3D):
+ (WebCore::GraphicsContext3D::validateAttributes):
+ (WebCore::GraphicsContext3D::reshape):
+ (WebCore::GraphicsContext3D::prepareTexture):
+ (WebCore::GraphicsContext3D::bindFramebuffer):
+ (WebCore::GraphicsContext3D::readPixels):
+ * platform/graphics/mac/GraphicsLayerCA.mm: Adjust to modified Canvas3DLayer init call.
+ (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D):
+
+2010-03-31 Jian Li <jianli@chromium.org>
+
+ Reviewed by Dmitry Titov.
+
+ Add support to create UUID string.
+ https://bugs.webkit.org/show_bug.cgi?id=36472
+
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/UUID.cpp: Added.
+ (WebCore::createCanonicalUUIDString):
+ * platform/UUID.h: Added.
+
+2010-03-31 Darin Adler <darin@apple.com>
+
+ * rendering/RenderThemeChromiumWin.h: Fix inconsistent line endings.
+
+2010-03-31 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Maemo5 theme - form controls style
+ https://bugs.webkit.org/show_bug.cgi?id=36370
+
+ Adjusting Mameo5 form elements rendering.
+
+ * WebCore.pri:
+ * WebCore.pro:
+ * css/themeQtMaemo5.css: Added.
+ (select):
+ (select:disabled):
+ (select:active):
+ (select:active:disabled):
+ (textarea):
+ (textarea:disabled):
+ (textarea:active):
+ * platform/qt/Maemo5Webstyle.cpp: Added.
+ (Maemo5WebStyle::Maemo5WebStyle):
+ (drawRectangularControlBackgorund):
+ (Maemo5WebStyle::drawChecker):
+ (Maemo5WebStyle::findChecker):
+ (Maemo5WebStyle::drawRadio):
+ (Maemo5WebStyle::findRadio):
+ (Maemo5WebStyle::drawControl):
+ (Maemo5WebStyle::drawComplexControl):
+ * platform/qt/Maemo5Webstyle.h: Added.
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::RenderThemeQt::RenderThemeQt):
+ (WebCore::RenderThemeQt::isControlStyled):
+ (WebCore::RenderThemeQt::popupInternalPaddingBottom):
+ (WebCore::RenderThemeQt::extraDefaultStyleSheet):
+ (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
+ * platform/qt/RenderThemeQt.h:
+
+2010-03-31 Alexey Proskuryakov <ap@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=36897
+ <rdar://problem/7804018> REGRESSION (r56429): Flash ads are clipped when main page is scrolled (boxofficemojo.com)
+
+ Addressing additional review comments.
+
+ * rendering/RenderWidget.cpp: Removed an unneeded include.
+ * rendering/RenderWidget.h: Reworded the new comment.
+
+2010-03-31 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36897
+ <rdar://problem/7804018> REGRESSION (r56429): Flash ads are clipped when main page is scrolled (boxofficemojo.com)
+
+ * manual-tests/plugin-in-iframe-scroll.html: Added.
+ * manual-tests/resources/plugin-in-iframe-scroll-iframe.html: Added.
+
+ * rendering/RenderWidget.cpp:
+ (WebCore::RenderWidget::setWidgetGeometry): This method isn't called when an iframe containing
+ the widget moves, so we should store a value that is not dependent on current scroll offset.
+ (WebCore::RenderWidget::windowClipRect): Apply scroll offset and window clip now.
+
+ * rendering/RenderWidget.h: Renamed m_windowClipRect to m_clipRect, because it is no longer
+ in window coordinates.
+
+ * WebCore.base.exp: Export RenderWidget::windowClipRect(), since it's no longer inline.
+
+2010-03-31 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Unreviewed crash fix.
+
+ Crash with frame flattening on after r56854
+ https://bugs.webkit.org/show_bug.cgi?id=36894
+
+ Solution tested by Greg Bolsinga, thanks.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::avoidScrollbarCreation):
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::setHasHorizontalScrollbar):
+ (WebCore::ScrollView::setHasVerticalScrollbar):
+
+2010-03-31 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Antti Koivisto.
+
+ iframe flattening doesn't flatten
+ https://bugs.webkit.org/show_bug.cgi?id=36798
+
+ Do not draw scrollbars for subframes when frame flattening is
+ enabled. Implemented using a virtual method in ScrollView as
+ suggested by Dave Hyatt.
+
+ Do not suppress scrollbars as that is wrong according to
+ Dave Hyatt.
+
+ Covered by current tests.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::avoidScrollbarCreation):
+ * page/FrameView.h:
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::setHasHorizontalScrollbar):
+ (WebCore::ScrollView::setHasVerticalScrollbar):
+ * platform/ScrollView.h:
+ (WebCore::ScrollView::avoidScrollbarCreation):
+ * rendering/RenderPart.cpp:
+ (WebCore::RenderPart::layoutWithFlattening):
+
+2010-03-30 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Antti Koivisto.
+
+ iframe flattening doesn't flatten
+ https://bugs.webkit.org/show_bug.cgi?id=36798
+
+ Fix wrongly reversing logic in frame flattening check.
+
+ Tests:
+ fast/frames/flattening/iframe-flattening-fixed-height.html
+ fast/frames/flattening/iframe-flattening-fixed-width.html
+ fast/frames/flattening/iframe-flattening-fixed-width-and-height.html
+ fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling.html
+
+ * rendering/RenderPartObject.cpp:
+ (WebCore::RenderPartObject::flattenFrame):
+
+2010-03-31 Marcus Bulach <bulach@chromium.org>
+
+ Reviewed by Jeremy Orlow.
+
+ Implements cancelGeolocationPermissionRequestForFrame.
+ Similar to requestGeolocationPermissionForFrame(), passes Geolocation* to cancelGeolocationPermissionRequestForFrame(),
+ so that the embedder can identify which Geolocation object is cancelling the pending permission request.
+ Calls cancelGeolocationPermissionRequestForFrame() before stopUpdating() so it better matches the startUpdating() / requestPermission() flow.
+ https://bugs.webkit.org/show_bug.cgi?id=35031
+
+ * loader/EmptyClients.h:
+ (WebCore::EmptyChromeClient::cancelGeolocationPermissionRequestForFrame):
+ * page/Chrome.cpp:
+ (WebCore::Chrome::cancelGeolocationPermissionRequestForFrame):
+ * page/Chrome.h:
+ * page/ChromeClient.h:
+ * page/Geolocation.cpp:
+ (WebCore::Geolocation::disconnectFrame):
+
+2010-03-31 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by Antti Koivisto.
+
+ Add animation to progress element
+ https://bugs.webkit.org/show_bug.cgi?id=36664
+
+ Add a timer to control the animation. The timer is started after painting
+ or a state change in the progress bar, to prevent animation from running
+ when the progress bar is not visible.
+
+ * html/HTMLProgressElement.cpp:
+ (WebCore::HTMLProgressElement::createRenderer):
+ * manual-tests/dom: Added.
+ * manual-tests/dom/progressbar.html: Added.
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::RenderThemeQt::animationRepeatIntervalForProgressBar):
+ (WebCore::RenderThemeQt::animationDurationForProgressBar):
+ (WebCore::RenderThemeQt::paintProgressBar):
+ * platform/qt/RenderThemeQt.h:
+ * rendering/RenderProgress.cpp:
+ (WebCore::RenderProgress::RenderProgress):
+ (WebCore::RenderProgress::layout):
+ (WebCore::RenderProgress::updateFromElement):
+ (WebCore::RenderProgress::animationProgress):
+ (WebCore::RenderProgress::animationTimerFired):
+ (WebCore::RenderProgress::paint):
+ (WebCore::RenderProgress::updateAnimationState):
+ * rendering/RenderProgress.h:
+ * rendering/RenderTheme.cpp:
+ (WebCore::RenderTheme::animationRepeatIntervalForProgressBar):
+ (WebCore::RenderTheme::animationDurationForProgressBar):
+ * rendering/RenderTheme.h:
+
+2010-03-31 Pavel Feldman <pfeldman@chromium.org>
+
+ Not reviewed. Rolling out r56829 since it broke chromium layout tests.
+
+ [REGRESSION] Inspector tests started crashing since r56829
+ https://bugs.webkit.org/show_bug.cgi?id=36888
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/V8Utilities.cpp:
+ * bindings/v8/V8Utilities.h:
+ * loader/FrameLoaderClient.h:
+
+2010-03-31 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: creating new style bugfixing.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36884
+
+ - InspectorDOMAgent should clear internal state upon reset (we are re-using
+ single dom agent instance throughout entire inspector controller lifetime)
+ - Brought back blank style 'refresh' processing logic - remove it by mistake earlier
+ - Blocked couple of click handlers so that double-click to edit was not
+ expanding / collapsing the pane
+ - There is no need to reach out for matched rules upon 'refresh' update -
+ getting computed style is sufficient.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::matchRulesForList):
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::discardBindings):
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylesSidebarPane.prototype.update.getStylesCallback):
+ (WebInspector.StylesSidebarPane.prototype.update.getComputedStyleCallback):
+ (WebInspector.StylesSidebarPane.prototype.update):
+ (WebInspector.StylesSidebarPane.prototype._refreshUpdate):
+ (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
+ (WebInspector.StylesSidebarPane.prototype._refreshStyleRules):
+ (WebInspector.StylesSidebarPane.prototype.addBlankSection):
+ (WebInspector.StylePropertiesSection.prototype._dblclickEmptySpace):
+ (WebInspector.StylePropertiesSection.prototype._clickSelector):
+
+2010-03-31 Yury Semikhatsky <yurys@chromium.org>
+
+ Unreviewed. Chromium build fix: create missing v8::HandleScope.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36828
+
+ * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
+ (WebCore::InjectedScriptHost::canAccessInspectedWindow):
+
+2010-03-31 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Check that injected script can still access inspected window object when wrapping console object. When the window cannot be access serialize objects as strings. Also don't call InjectedScript.dispatch if the window cannot be accessed (due to frame navigation).
+
+ https://bugs.webkit.org/show_bug.cgi?id=36828
+
+ * bindings/js/JSInjectedScriptHostCustom.cpp:
+ (WebCore::InjectedScriptHost::canAccessInspectedWindow):
+ * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
+ (WebCore::InjectedScriptHost::canAccessInspectedWindow):
+ * inspector/InjectedScript.cpp:
+ (WebCore::InjectedScript::wrapForConsole):
+ * inspector/InjectedScriptHost.h:
+ * inspector/front-end/InjectedScript.js:
+ (injectedScriptConstructor):
+
+2010-03-31 Mattias Nissler <mnissler@google.com>
+
+ Reviewed by Pavel Feldman.
+
+ Allow generic resource URLs for cookie handling in the inspector. This
+ enables display of all cookies, not only those that are associated
+ with resources accessed through http, https or file.
+ https://bugs.webkit.org/show_bug.cgi?id=36877
+
+ * inspector/front-end/CookieItemsView.js:
+ (WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
+ * inspector/front-end/DOMAgent.js:
+ (WebInspector.Cookies.cookieMatchesResourceURL):
+ * inspector/front-end/inspector.js:
+ (WebInspector.updateResource):
+
+2010-03-30 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Nate Chapin.
+
+ IndexedDB: Finish hooking up bindings for IndexedDatabaseRequest
+ https://bugs.webkit.org/show_bug.cgi?id=36830
+
+ Still not enough hooked up to test. Soon!
+
+ * WebCore.gypi:
+ * bindings/v8/custom/V8CustomIDBCallback.h: Removed.
+ * bindings/v8/custom/V8CustomIDBCallbacks.h: Added.
+ (WebCore::V8CustomIDBCallbacks::create):
+ (WebCore::V8CustomIDBCallbacks::~V8CustomIDBCallbacks):
+ (WebCore::V8CustomIDBCallbacks::onSuccess):
+ (WebCore::V8CustomIDBCallbacks::onError):
+ (WebCore::V8CustomIDBCallbacks::V8CustomIDBCallbacks):
+ * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp:
+ (WebCore::V8IndexedDatabaseRequest::openCallback):
+ * storage/IDBDatabaseRequest.cpp: Added.
+ (WebCore::IDBDatabaseRequest::IDBDatabaseRequest):
+ (WebCore::IDBDatabaseRequest::~IDBDatabaseRequest):
+ * storage/IDBDatabaseRequest.h:
+ (WebCore::IDBDatabaseRequest::create):
+ * storage/IndexedDatabaseRequest.cpp:
+ (WebCore::IndexedDatabaseRequest::open):
+ * storage/IndexedDatabaseRequest.h:
+
+2010-03-31 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Darin Fisher.
+
+ Implement memmove behavior for WebGLArray set()
+ https://bugs.webkit.org/show_bug.cgi?id=35619
+
+ New test cases are added to fast/canvas/webgl/array-setters.html.
+
+ * html/canvas/WebGLArray.cpp: Use memmove instead of memcpy; with memmove, copying takes place as if an intermediate buffer was used, allowing the destination and source to overlap.
+ (WebCore::WebGLArray::setImpl):
+
+2010-03-31 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ tryLayoutDoingPositionedMovementOnly does not have to be in RenderObject or be virtual
+ https://bugs.webkit.org/show_bug.cgi?id=36810
+
+ Move tryLayoutDoingPositionedMovementOnly as a regular method of RenderBox
+
+ * rendering/RenderBox.h:
+ (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly):
+ * rendering/RenderObject.h:
+
+2010-03-31 John Gregg <johnnyg@google.com>
+
+ Reviewed by Darin Fisher.
+
+ [chromium] add logging of cross-frame property accesses for site isolation
+ https://bugs.webkit.org/show_bug.cgi?id=35773
+
+ No new tests as no new functionality.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/V8Utilities.cpp:
+ (WebCore::logPropertyAccess):
+ * bindings/v8/V8Utilities.h:
+ * loader/FrameLoaderClient.h:
+ (WebCore::FrameLoaderClient::logCrossFramePropertyAccess):
+
+2010-03-30 Gavin Barraclough <barraclough@apple.com>
+
+ Rubber stamped by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36866
+ Move CString to WTF
+
+ * Android.mk:
+ * ForwardingHeaders/wtf/text: Added.
+ * ForwardingHeaders/wtf/text/CString.h: Added.
+ * GNUmakefile.am:
+ * WebCore.base.exp:
+ * WebCore.gypi:
+ * WebCore.order:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ * bindings/js/JSDOMWindowBase.cpp:
+ * bindings/js/ScheduledAction.cpp:
+ * bindings/js/ScriptController.cpp:
+ * bindings/v8/ScriptController.cpp:
+ * bindings/v8/V8Binding.cpp:
+ * bindings/v8/V8DOMWindowShell.cpp:
+ * bridge/jni/JNIBridge.cpp:
+ * bridge/jni/v8/JavaStringV8.h:
+ (JSC::Bindings::JavaStringImpl::init):
+ * css/CSSParser.cpp:
+ * dom/CharacterData.cpp:
+ * dom/Document.cpp:
+ * dom/Element.cpp:
+ * dom/Node.cpp:
+ * dom/Position.cpp:
+ * dom/Range.cpp:
+ * dom/Text.cpp:
+ * dom/XMLTokenizer.cpp:
+ * dom/XMLTokenizerLibxml2.cpp:
+ * dom/XMLTokenizerQt.cpp:
+ * editing/SelectionController.cpp:
+ * editing/VisiblePosition.cpp:
+ * editing/VisibleSelection.cpp:
+ * history/CachedFrame.cpp:
+ * history/HistoryItem.cpp:
+ * history/qt/HistoryItemQt.cpp:
+ * html/FormDataList.h:
+ (WebCore::FormDataList::appendData):
+ (WebCore::FormDataList::Item::Item):
+ (WebCore::FormDataList::Item::data):
+ * html/HTMLDocument.cpp:
+ * html/PreloadScanner.cpp:
+ * inspector/InspectorController.cpp:
+ * inspector/InspectorDOMAgent.cpp:
+ * loader/DocLoader.cpp:
+ * loader/FTPDirectoryDocument.cpp:
+ * loader/FrameLoader.cpp:
+ * loader/HistoryController.cpp:
+ * loader/ProgressTracker.cpp:
+ * loader/appcache/ApplicationCacheStorage.cpp:
+ * loader/archive/cf/LegacyWebArchive.cpp:
+ * loader/icon/wince/IconDatabaseWince.cpp:
+ * loader/loader.cpp:
+ * page/Console.cpp:
+ * page/DOMWindow.cpp:
+ * page/SecurityOrigin.cpp:
+ * page/XSSAuditor.cpp:
+ * page/animation/AnimationBase.cpp:
+ * platform/ContextMenu.cpp:
+ * platform/FileSystem.h:
+ * platform/KURL.cpp:
+ * platform/KURLGoogle.cpp:
+ * platform/KURLGooglePrivate.h:
+ * platform/Pasteboard.h:
+ * platform/android/FileSystemAndroid.cpp:
+ * platform/android/TemporaryLinkStubs.cpp:
+ * platform/brew/KURLBrew.cpp:
+ * platform/cf/FileSystemCF.cpp:
+ * platform/chromium/MIMETypeRegistryChromium.cpp:
+ * platform/efl/FileSystemEfl.cpp:
+ * platform/efl/PasteboardEfl.cpp:
+ * platform/efl/PlatformKeyboardEventEfl.cpp:
+ * platform/efl/PlatformScreenEfl.cpp:
+ * platform/efl/RenderThemeEfl.cpp:
+ * platform/efl/ScrollbarEfl.cpp:
+ * platform/efl/SharedBufferEfl.cpp:
+ * platform/efl/WidgetEfl.cpp:
+ * platform/graphics/GlyphPageTreeNode.cpp:
+ * platform/graphics/cairo/FontPlatformDataCairo.cpp:
+ * platform/graphics/cg/ImageBufferCG.cpp:
+ * platform/graphics/chromium/FontCacheLinux.cpp:
+ * platform/graphics/chromium/FontPlatformDataLinux.h:
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+ * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
+ * platform/graphics/gtk/FontPlatformDataPango.cpp:
+ * platform/graphics/gtk/IconGtk.cpp:
+ * platform/graphics/gtk/ImageGtk.cpp:
+ * platform/graphics/haiku/GraphicsContextHaiku.cpp:
+ * platform/graphics/mac/GraphicsContext3DMac.cpp:
+ * platform/graphics/mac/GraphicsLayerCA.mm:
+ * platform/graphics/qt/GraphicsContext3DQt.cpp:
+ * platform/graphics/qt/ImageBufferQt.cpp:
+ * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
+ * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
+ * platform/graphics/skia/GraphicsLayerSkia.cpp:
+ * platform/graphics/win/GraphicsLayerCACF.cpp:
+ * platform/graphics/win/WKCACFLayer.cpp:
+ * platform/graphics/wx/FontPlatformData.h:
+ * platform/gtk/ClipboardGtk.cpp:
+ * platform/gtk/ContextMenuItemGtk.cpp:
+ * platform/gtk/DataObjectGtk.h:
+ * platform/gtk/FileChooserGtk.cpp:
+ * platform/gtk/FileSystemGtk.cpp:
+ * platform/gtk/GeolocationServiceGtk.cpp:
+ * platform/gtk/KURLGtk.cpp:
+ * platform/gtk/Language.cpp:
+ * platform/gtk/LocalizedStringsGtk.cpp:
+ * platform/gtk/PasteboardGtk.cpp:
+ * platform/gtk/PopupMenuGtk.cpp:
+ * platform/gtk/RenderThemeGtk.cpp:
+ * platform/gtk/SharedBufferGtk.cpp:
+ * platform/haiku/FileSystemHaiku.cpp:
+ * platform/haiku/PlatformKeyboardEventHaiku.cpp:
+ * platform/network/CredentialStorage.cpp:
+ * platform/network/FormData.cpp:
+ * platform/network/FormData.h:
+ * platform/network/FormDataBuilder.cpp:
+ * platform/network/FormDataBuilder.h:
+ * platform/network/HTTPParsers.cpp:
+ * platform/network/android/ResourceHandleAndroid.cpp:
+ * platform/network/cf/FormDataStreamCFNet.cpp:
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ * platform/network/chromium/ResourceResponse.h:
+ * platform/network/curl/FormDataStreamCurl.cpp:
+ * platform/network/curl/ResourceHandleManager.cpp:
+ * platform/network/curl/ResourceHandleManager.h:
+ * platform/network/mac/FormDataStreamMac.mm:
+ * platform/network/mac/ResourceHandleMac.mm:
+ * platform/network/qt/QNetworkReplyHandler.cpp:
+ * platform/network/soup/CookieJarSoup.cpp:
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ * platform/network/soup/ResourceRequestSoup.cpp:
+ * platform/network/soup/ResourceResponseSoup.cpp:
+ * platform/network/win/ResourceHandleWin.cpp:
+ * platform/posix/FileSystemPOSIX.cpp:
+ * platform/qt/FileSystemQt.cpp:
+ * platform/qt/KURLQt.cpp:
+ * platform/qt/TemporaryLinkStubs.cpp:
+ * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
+ * platform/text/CString.cpp: Removed.
+ * platform/text/CString.h: Removed.
+ * platform/text/PlatformString.h:
+ * platform/text/String.cpp:
+ * platform/text/StringImpl.cpp:
+ * platform/text/TextCodec.h:
+ * platform/text/TextCodecICU.cpp:
+ * platform/text/TextCodecLatin1.cpp:
+ * platform/text/TextCodecUTF16.cpp:
+ * platform/text/TextCodecUserDefined.cpp:
+ * platform/text/TextEncoding.cpp:
+ * platform/text/TextEncoding.h:
+ * platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp:
+ * platform/text/gtk/TextCodecGtk.cpp:
+ * platform/text/haiku/StringHaiku.cpp:
+ * platform/text/mac/TextCodecMac.cpp:
+ * platform/text/qt/TextCodecQt.cpp:
+ * platform/text/wx/StringWx.cpp:
+ * platform/win/ClipboardUtilitiesWin.cpp:
+ * platform/win/ClipboardWin.cpp:
+ * platform/win/ContextMenuItemWin.cpp:
+ * platform/win/ContextMenuWin.cpp:
+ * platform/win/FileSystemWin.cpp:
+ * platform/win/GDIObjectCounter.cpp:
+ * platform/win/Language.cpp:
+ * platform/win/PasteboardWin.cpp:
+ * platform/wince/FileSystemWince.cpp:
+ * platform/wince/KeygenWince.cpp:
+ * platform/wince/PasteboardWince.cpp:
+ * platform/wx/FileSystemWx.cpp:
+ * platform/wx/LoggingWx.cpp:
+ * plugins/PluginDebug.h:
+ * plugins/PluginPackage.cpp:
+ * plugins/PluginStream.cpp:
+ * plugins/PluginStream.h:
+ * plugins/PluginView.h:
+ * plugins/gtk/PluginPackageGtk.cpp:
+ * plugins/mac/PluginPackageMac.cpp:
+ * plugins/qt/PluginPackageQt.cpp:
+ * plugins/symbian/PluginPackageSymbian.cpp:
+ * plugins/win/PluginPackageWin.cpp:
+ * rendering/RenderLayer.cpp:
+ * rendering/RenderLayerCompositor.cpp:
+ * rendering/RenderTreeAsText.cpp:
+ * storage/Database.cpp:
+ * storage/SQLTransactionCoordinator.cpp:
+ * storage/SQLTransactionCoordinator.h:
+ * storage/StorageAreaSync.cpp:
+ * storage/StorageSyncManager.cpp:
+ * storage/chromium/DatabaseTrackerChromium.cpp:
+ * storage/chromium/QuotaTracker.cpp:
+ * storage/chromium/QuotaTracker.h:
+ * svg/SVGFontFaceElement.cpp:
+ * svg/SVGStyledElement.cpp:
+ * svg/SVGUseElement.cpp:
+ * websockets/WebSocket.cpp:
+ * websockets/WebSocketChannel.cpp:
+ * websockets/WebSocketHandshake.cpp:
+ * wml/WMLErrorHandling.cpp:
+ * wml/WMLGoElement.cpp:
+ * wml/WMLPageState.cpp:
+ * wml/WMLPostfieldElement.cpp:
+ * wml/WMLSelectElement.cpp:
+ * xml/XMLHttpRequest.cpp:
+ * xml/XSLStyleSheetLibxslt.cpp:
+ * xml/XSLTProcessorLibxslt.cpp:
+
+2010-03-30 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Brady Eidson.
+
+ REGRESSION (r56439) - Crash when a renderer for a file upload control
+ with a selected file is recreated
+ https://bugs.webkit.org/show_bug.cgi?id=36723
+
+ RenderFileUploadControl::chooseIconForFiles was called before
+ m_fileChooser was initialized.
+
+ * platform/FileChooser.cpp:
+ (WebCore::FileChooser::FileChooser): Introduce m_isInitializing flag to
+ avoid FileChooserClient::repaint() call.
+ (WebCore::FileChooser::loadIcon):
+ (WebCore::FileChooser::iconLoaded):
+ * platform/FileChooser.h: Add a FielChooser parameter to
+ FileChooserClient::chooseIconForFiles().
+ * rendering/RenderFileUploadControl.cpp:
+ (WebCore::RenderFileUploadControl::chooseIconForFiles):
+ (WebCore::RenderFileUploadControl::paintObject): Add an assertion.
+ * rendering/RenderFileUploadControl.h:
+
+2010-03-30 Stanislav Paltis <Stanislav.Paltis@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] qmake/symbian build failure
+ https://bugs.webkit.org/show_bug.cgi?id=36745
+
+ Fix build break in Symbian build introduced in r56714,
+ by modifying comment escape character from ";" to "#".
+
+ * WebCore.pro:
+
+2010-03-30 Kevin Ollivier <kevino@theolliviers.com>
+
+ [wx] Build fix after new localized string addition.
+
+ * platform/wx/LocalizedStringsWx.cpp:
+ (WebCore::missingPluginText):
+
+2010-03-30 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add missing export.
+
+ * WebCore.base.exp:
+
+2010-03-30 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Incorrect insertion position after typing THAI CHARACTER SARA AM = 0E33.
+ <rdar://problem/7810749>
+ https://bugs.webkit.org/show_bug.cgi?id=36858
+
+ Test: fast/text/multiglyph-characters.html
+
+ Characters with multiple glyph were not supported correctly.
+ Computing the advance width was producing a division by zero.
+
+ * platform/graphics/mac/ComplexTextController.cpp:
+ (WebCore::ComplexTextController::advance):
+
+2010-03-30 Chris Evans <cevans@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Taint the canvas if an SVG-derived pattern is rendered into it.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36838
+
+ Test: fast/canvas/svg-taint.html
+
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::createPattern):
+ Take into account the image's hasSingleSecurityOrigin() property.
+
+2010-03-30 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36616
+ Dvorak-Qwerty keyboard layout gives unexpected results in javascript keydown
+
+ https://bugs.webkit.org/show_bug.cgi?id=36797
+ For non-Roman layouts, keydown Event.keyCode is always 0
+
+ * platform/cocoa/KeyEventCocoa.mm:
+ (WebCore::windowsKeyCodeForKeyCode): This is now the primary function for determining
+ Windows key code - there is no reason to round trip a virtual key code via character code to
+ get Windows virtual key code, and this can't work for non-Roman alphabets.
+ (WebCore::windowsKeyCodeForCharCode): Removed keys that are now handled in windowsKeyCodeForKeyCode(),
+ only keeping those for which we don't have known key codes (yet?).
+
+ * platform/mac/KeyEventMac.mm: (WebCore::windowsKeyCodeForKeyEvent): Added comments.
+
+2010-03-30 Marcus Bulach <bulach@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Rename / tidy up Geolocation bridge
+ Uses Geoposition instead of individual params for setLastPosition.
+ https://bugs.webkit.org/show_bug.cgi?id=36535
+
+ * platform/chromium/GeolocationServiceChromium.cpp:
+ (WebCore::GeolocationServiceChromium::GeolocationServiceChromium):
+ (WebCore::GeolocationServiceChromium::setIsAllowed):
+ (WebCore::GeolocationServiceChromium::setLastPosition):
+ * platform/chromium/GeolocationServiceChromium.h:
+
+2010-03-30 Adam Langley <agl@chromium.org>
+
+ Reviewed by David Levin.
+
+ [chromium] linux: prefer the "hinting" fontconfig preference.
+
+ fontconfig can give contradictory hinting information, setting
+ "hinting" to zero and "hintstyle" to non-zero. In this case we
+ should take the "hinting" preference.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36602
+
+ * platform/graphics/chromium/FontPlatformDataLinux.cpp:
+ (WebCore::FontPlatformData::setupPaint):
+
+2010-03-30 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Copying from the Content tab in Resources includes line numbers.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35104
+
+ * inspector/front-end/TextViewer.js:
+ (WebInspector.TextViewer):
+ (WebInspector.TextViewer.prototype._beforeCopy):
+ (WebInspector.TextViewer.prototype._copy):
+
+2010-03-30 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Do not send empty matching rules for pseudo elements to frontend.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36834
+
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::buildArrayForPseudoElements):
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylesSidebarPane.prototype._update):
+
+2010-03-30 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ Cannot animate "points" attribute for <svg:polygon>
+ https://bugs.webkit.org/show_bug.cgi?id=21371
+
+ Add animation support for 'points' on polygons in SVG.
+
+ Test: svg/animations/animate-points.html
+
+ * svg/SVGAnimateElement.cpp:
+ (WebCore::SVGAnimateElement::determinePropertyType):
+ (WebCore::SVGAnimateElement::calculateAnimatedValue):
+ (WebCore::SVGAnimateElement::calculateFromAndToValues):
+ (WebCore::SVGAnimateElement::resetToBaseValue):
+ (WebCore::SVGAnimateElement::applyResultsToTarget):
+ * svg/SVGAnimateElement.h:
+ (WebCore::SVGAnimateElement::): added PropertyType PointsProperty
+ * svg/SVGPointList.cpp:
+ (WebCore::blendFunc):
+ (WebCore::SVGPointList::createAnimated): calculates animated PointList
+ * svg/SVGPointList.h:
+
+2010-03-30 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Audits: bad CSS selector results in exception inside evaluated code
+ https://bugs.webkit.org/show_bug.cgi?id=36821
+
+ * inspector/front-end/AuditRules.js:
+ (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.routine):
+ (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
+
+2010-03-29 Janne Koskinen <janne.p.koskinen@digia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Package build fixes for Symbian
+
+ * enable building standalone QtWebkit for Symbian using qtlibinfix configuration option
+
+ qtlibinfix adds possibility having multiple versions of Qt in Symbian devices.
+ Fix also allows unfrozen DLL exports during development.
+
+ * Removed heap size configuration. DLLs don't have a heap.
+
+ * Removed enforcement to def files for package builds. Instead inherit the setting from
+ Qt's qconfig.pri whether to use def files or not. It's still possible to override this
+ also at qmake time by passing CONFIG+=def_files.
+
+ * WebCore.pro:
+
+2010-03-30 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Title for show/hide short records button was adjusted.
+ Some unused code was removed.
+ https://bugs.webkit.org/show_bug.cgi?id=36823
+
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
+ (WebInspector.TimelinePanel.prototype._toggleFilterButtonClicked):
+ (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
+
+2010-03-30 Adam Roben <aroben@apple.com>
+
+ Enable extra Direct3D debugging information in Debug builds
+
+ This makes it easier to track down memory leaks and misuses of the D3D
+ APIs in Debug builds.
+
+ Fixes <http://webkit.org/b/36820>
+
+ Reviewed by John Sullivan.
+
+ * platform/graphics/win/WKCACFLayerRenderer.cpp: Define D3D_DEBUG_INFO
+ in Debug builds before #including d3d9.h so that extra D3D debugging
+ information will be enabled.
+
+2010-03-30 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Maemo5 theme - QtMaemoWebPopup class
+ https://bugs.webkit.org/show_bug.cgi?id=36790
+
+ Moving maemo5 theme related code from WebCore.pri to WebCore.pro and adding
+ new maemo menu lists popup class source and header to the project.
+
+ The code was in .pri file because of a theme css that was conditionally included.
+ As the css file is been included unconditionally there is no need to this
+ code to be kept in webcore.pri.
+
+ * WebCore.pri:
+ * WebCore.pro:
+
+2010-03-30 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by David Kilzer.
+
+ Guard Geolocation files with ENABLE_GEOLOCATION
+ https://bugs.webkit.org/show_bug.cgi?id=25756
+
+ The intent is to guard the Geolocation implementation files
+ and minimize the impact on on clients/call sites.
+
+ * DerivedSources.make:
+ * WebCore.Geolocation.exp: Added. Exported interfaces if GEOLOCATION
+ is enabled.
+ * WebCore.base.exp:
+ * bindings/js/JSCustomPositionCallback.cpp:
+ * bindings/js/JSCustomPositionErrorCallback.cpp:
+ * bindings/js/JSGeolocationCustom.cpp:
+ * page/Geolocation.cpp:
+ (WebCore::Geolocation::disconnectFrame): Stub implementation if
+ GEOLOCATION is turned off.
+ (WebCore::Geolocation::Geolocation): Ditto.
+ (WebCore::Geolocation::~Geolocation): Ditto.
+ (WebCore::Geolocation::setIsAllowed): Ditto.
+ * page/Geolocation.h:
+ * page/Geolocation.idl:
+ * page/GeolocationPositionCache.cpp:
+ * page/Geoposition.idl:
+ * page/PositionError.idl:
+ * platform/GeolocationService.cpp:
+ * platform/mock/GeolocationServiceMock.cpp:
+
+2010-03-30 Andrey Kosyakov <caseq@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Support EventTarget interface in fake workers (both for Worker object
+ and WorkerContext). Use MessagePort to implement message passing to
+ support passing ports in PostMessage.
+ https://bugs.webkit.org/show_bug.cgi?id=36763
+
+ * inspector/front-end/InjectedFakeWorker.js:
+ (InjectedFakeWorker.Worker.onmessageGetter):
+ (InjectedFakeWorker.Worker.onmessageSetter):
+ (InjectedFakeWorker.Worker):
+ (InjectedFakeWorker.FakeWorker):
+ (InjectedFakeWorker.FakeWorker.prototype.postMessage):
+ (InjectedFakeWorker.FakeWorker.prototype.terminate):
+ (InjectedFakeWorker.FakeWorker.prototype._onWorkerFrameLoaded):
+ (InjectedFakeWorker.FakeWorker.prototype._setupWorkerContext.onmessageGetter):
+ (InjectedFakeWorker.FakeWorker.prototype._setupWorkerContext.onmessageSetter):
+ (InjectedFakeWorker.FakeWorker.prototype._setupWorkerContext):
+ (InjectedFakeWorker.FakeWorker.prototype._addEventListener):
+ (InjectedFakeWorker.FakeWorker.prototype._removeEventListener):
+ (InjectedFakeWorker.FakeWorker.prototype._callbackWrapper):
+ (InjectedFakeWorker.FakeWorker.prototype._handleException):
+
+2010-03-30 Kristian Monsen <kristianm@google.com>
+
+ Reviewed by David Levin.
+
+ [v8] Add if ENABLE guard for Worker specific code.
+ https://bugs.webkit.org/show_bug.cgi?id=36597
+
+ Build fix only, no new tests.
+
+ * bindings/v8/V8DOMWrapper.h:
+
+2010-03-29 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ More IndexedDB work
+ https://bugs.webkit.org/show_bug.cgi?id=36770
+
+ Add the "singleton" IndexedDatabase object to PageGroup
+ IndexedDatabase now has a create() method since PageGroup can own the instance (at least for now)
+ Rip out the IDBRequest stuff (now obsolete).
+ DOMWindow now can instantiate indexedDatabase objects on demand.
+
+ New layout tests starting with the next patch (which should make indexedDB.open() "work").
+
+ * WebCore.gypi:
+ * bindings/v8/custom/V8IDBRequestCustom.cpp: Removed.
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::indexedDB):
+ * page/DOMWindow.h:
+ * page/PageGroup.cpp:
+ (WebCore::PageGroup::indexedDatabase):
+ * page/PageGroup.h:
+ * storage/IDBDatabase.cpp:
+ * storage/IDBDatabaseRequest.h:
+ (WebCore::IDBDatabaseRequest::createObjectStore):
+ * storage/IDBDatabaseRequest.idl:
+ * storage/IDBRequest.cpp: Removed.
+ * storage/IDBRequest.h: Removed.
+ * storage/IDBRequest.idl: Removed.
+ * storage/IndexedDatabase.cpp:
+ (WebCore::IndexedDatabase::create):
+ * storage/IndexedDatabase.h:
+ * storage/IndexedDatabaseImpl.cpp:
+ (WebCore::IndexedDatabaseImpl::create):
+ (WebCore::IndexedDatabaseImpl::IndexedDatabaseImpl):
+ (WebCore::IndexedDatabaseImpl::~IndexedDatabaseImpl):
+ * storage/IndexedDatabaseImpl.h:
+ * storage/IndexedDatabaseRequest.cpp:
+ (WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest):
+ * storage/IndexedDatabaseRequest.h:
+ (WebCore::IndexedDatabaseRequest::create):
+ * storage/IndexedDatabaseRequest.idl:
+ * storage/chromium/IndexedDatabase.cpp:
+ (WebCore::IndexedDatabase::create):
+
+2010-03-30 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ SVG Glyph transformations wrong on use of SVGFont
+ https://bugs.webkit.org/show_bug.cgi?id=36731
+
+ Kerning on SVGFonts should be applied to the userSpace of the current Char
+ and not to the userSpace of the viewport. This means scaling the kerning
+ to match the current userSpace.
+
+ Test: svg/custom/glyph-transformation-with-hkern.svg
+
+ * rendering/SVGRootInlineBox.cpp:
+ (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
+
+2010-03-30 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ SVG Animation doesn't respect 'currentColor'
+ https://bugs.webkit.org/show_bug.cgi?id=36695
+
+ Test: svg/custom/animation-currentColor.svg
+
+ SVG Animation can't handle currentColor at the moment. This patch catches the
+ color value of the target element and replaces 'currentColor' with it's color string.
+
+ * svg/SVGAnimationElement.cpp:
+ (WebCore::adjustForCurrentColor):
+ (WebCore::SVGAnimationElement::startedActiveInterval):
+
+2010-03-30 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Visible/captured records counter should be implemented in Timeline panel.
+ https://bugs.webkit.org/show_bug.cgi?id=36708
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel.prototype.get statusBarItems):
+ (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
+ (WebInspector.TimelinePanel.prototype._updateRecordsCounter):
+ (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
+ (WebInspector.TimelinePanel.prototype._createRootRecord):
+ (WebInspector.TimelinePanel.prototype._refresh):
+ (WebInspector.TimelinePanel.prototype._filterRecords):
+ * inspector/front-end/inspector.css:
+ (.timeline-records-counter):
+
+2010-03-30 Philippe Normand <pnormand@igalia.com>
+
+ [GStreamer] define static variables with DEFINE_STATIC_LOCAL macro
+ https://bugs.webkit.org/show_bug.cgi?id=36653
+
+ Unreviewed, don't define the bool variable with
+ DEFINE_STATIC_LOCAL, it makes sense only for objects which have a
+ destructor. Thanks to Dan Bernstein for spotting this.
+
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::mimeTypeCache):
+
+2010-03-29 Gyuyoung Kim <gyuyoung.kim@samsung.com>
+
+ Reviewed by Eric Seidel.
+
+ There is a build break due to the disabled() when wml feature is
+ enabled. This break comes from the Bug 35056 - Disabled menu options
+ are still submitted.(https://bugs.webkit.org/show_bug.cgi?id=35056)
+ The WMLOptionElement.h needs to define the disabled() as well.
+ And, there is an additional break due to Bug 36177 - Multiselect Popup
+ - Listbox click simulation. (https://bugs.webkit.org/show_bug.cgi?id=36177)
+ virtual void listBoxSelectItem() should be added to WMLSelectElement.h as well.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36698
+
+ * wml/WMLOptionElement.h:
+ (WebCore::WMLOptionElement::disabled):
+ * wml/WMLSelectElement.h:
+ (WebCore::WMLSelectElement::listBoxSelectItem):
+
+2010-03-29 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by David Hyatt.
+
+ No vertical scrollbar after the CSS class change
+ https://bugs.webkit.org/show_bug.cgi?id=36461
+
+ Don't suppress scrollbar change for non-first layouts.
+ In the first layout, the scrollbar change will happen in later
+ adjustViewSize() call, but in other layouts, adjustViewSize() may
+ not be called when the size of contents doesn't change.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::layout):
+
+2010-03-29 Chris Evans <cevans@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Don't use unique domains for file:// separation: it breaks local
+ databases, and access to your own same-origin iframes. Instead, use
+ path-based access checks.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36692
+
+ Test: fast/xmlhttprequest/xmlhttprequest-no-file-access.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::initSecurityContext): renamed API.
+ * page/SecurityOrigin.h:
+ * page/SecurityOrigin.cpp:
+ (WebCore::SecurityOrigin::SecurityOrigin):
+ Initialize new flag. Take note of file:// path.
+ Copy new fields in copy constructor.
+ (WebCore::SecurityOrigin::canAccess):
+ Take into account path-based origin separation for file://
+ (WebCore::SecurityOrigin::enforceFilePathSeparation):
+ New method to enable file:// path origin separation.
+ (WebCore::SecurityOrigin::toString):
+ Return a null domain for an isolated file origin.
+ (WebCore::SecurityOrigin::isSameSchemeHostPort):
+ Take into account path-based origin separation for file://
+ (WebCore::SecurityOrigin::passesFileCheck):
+ Abstraction of common logic for file:// access checks.
+
+2010-03-29 Rafael Weinstein <rafaelw@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Change NotificationPresenter::checkPermission() to take the source frames full KURL,
+ rather than its SecurityOrigin. This will aid chromium in having more fine grained
+ permissions to control notification spam.
+
+ * notifications/Notification.cpp:
+ (WebCore::Notification::Notification):
+ * notifications/NotificationCenter.cpp:
+ (WebCore::NotificationCenter::checkPermission):
+ * notifications/NotificationPresenter.h:
+
+2010-03-29 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Multiselect - Adding method itemIsSelected() to QtAbstractWebPopup
+ https://bugs.webkit.org/show_bug.cgi?id=36769
+
+ Adding method itemIsSelected() to QtAbstractWebPopup.
+
+ * platform/qt/QtAbstractWebPopup.h:
+ (WebCore::QtAbstractWebPopup::itemIsSelected):
+
+2010-03-29 Dawit Alemayehu <adawit@kde.org>
+
+ Reviewed by Simon Hausmann.
+
+ Added a function, WebCore::shouldTreatAsAttachment, to HTTPParsers.*
+
+ https://bugs.webkit.org/show_bug.cgi?id=36395
+
+ This function, which was moved from WebKit/chromium/src/FrameClientImpl.cpp,
+ is used to check whether or not a request is supposed to be rendered or
+ simply downloaded based on the "Content-Disposition" header sent by the
+ web server. The intent of code refactoring is to avoid code duplication
+ so that this piece of code can be used by other implementations such as
+ QtWebKit.
+
+ * platform/network/HTTPParsers.cpp:
+ (WebCore::shouldTreatAsAttachment):
+ * platform/network/HTTPParsers.h:
+
+2010-03-29 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ Bug 36735 - Live regions don't send out notifications when the element changing is the live region
+ https://bugs.webkit.org/show_bug.cgi?id=36735
+
+ Test: platform/mac/accessibility/aria-liveregion-on-image.html
+
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::contentChanged):
+
+2010-03-29 Stephen White <senorblanco@chromium.org>
+
+ Reviewed by Dave Hyatt.
+
+ In order to speed up multiple calls to CSSPrimitiveValue::cssText(),
+ this CL caches the String result. When m_value is changed, the
+ cached string is cleared. This gives a good speedup on benchmarks
+ which do a lot of CSS property gets, such as Peacekeeper.
+ The processing cost should be negligible, since the strings are
+ refcounted. The memory cost is an additional 4 bytes per
+ CSSPrimitiveValue, and the extended lifetime of the computed string
+ (potentially, the same as the lifetime of the CSSPrimitiveValue).
+
+ https://bugs.webkit.org/show_bug.cgi?id=36556
+
+ Covered by fast/css/cssText-cache.html, and more.
+
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
+ (WebCore::CSSPrimitiveValue::cleanup):
+ (WebCore::CSSPrimitiveValue::cssText):
+ * css/CSSPrimitiveValue.h:
+
+2010-03-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ Add support for Widgets 1.0: View Mode Media Feature
+ https://bugs.webkit.org/show_bug.cgi?id=35446
+
+ When enabling Web Widgets, add support for the view-mode media
+ feature (http://www.w3.org/TR/widgets-vmmf/).
+
+ Test: fast/media/media-feature-wgt-view-mode.html
+
+ * css/CSSValueKeywords.in:
+ * css/MediaFeatureNames.h:
+ * css/MediaQueryEvaluator.cpp:
+ (WebCore::view_modeMediaFeatureEval):
+ * page/ChromeClient.h:
+ (WebCore::ChromeClient::isDocked):
+ (WebCore::ChromeClient::isFloating):
+ (WebCore::ChromeClient::isApplication):
+ (WebCore::ChromeClient::isFullscreen):
+
+2010-03-29 Kenneth Russell <kbr@google.com>
+
+ Reviewed by Darin Fisher.
+
+ Eliminate use of GL_BGRA in GraphicsContext3DSkia.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=36737
+
+ No new tests; ran WebGL demos in Chromium on Windows to verify fix.
+
+ * platform/graphics/skia/GraphicsContext3DSkia.cpp:
+ (WebCore::GraphicsContext3D::getImageData):
+
+2010-03-29 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Cover the Audits panel with tests
+ https://bugs.webkit.org/show_bug.cgi?id=36613
+
+ Sort results, add a few drive-by fixes and refactorings to improve testability.
+
+ Test: inspector/audits-panel-functional.html
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/AuditResultView.js:
+ (WebInspector.AuditResultView):
+ (WebInspector.AuditCategoryResultPane.ruleSorter):
+ (WebInspector.AuditCategoryResultPane):
+ * inspector/front-end/AuditRules.js:
+ (WebInspector.AuditRules.GzipRule.prototype.doRun):
+ (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
+ (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
+ (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
+ (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
+ (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
+ * inspector/front-end/AuditsPanel.js:
+ (WebInspector.AuditRuleResult.linkifyDisplayName):
+ (WebInspector.AuditRuleResult.resourceDomain):
+ (WebInspector.AuditRuleResult.prototype.addURL):
+ * inspector/front-end/inspector.js:
+ (WebInspector.displayNameForURL):
+
+2010-03-29 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by nobody, build fix.
+
+ [Qt] Fix build break introduced in r56724.
+
+ * WebCore.pro:
+
+2010-03-29 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector should highlight when clicking a node's closing tag
+ https://bugs.webkit.org/show_bug.cgi?id=16258
+
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeOutline.prototype.set suppressRevealAndSelect):
+ (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
+ (WebInspector.ElementsTreeOutline.prototype._keyDown):
+ (WebInspector.ElementsTreeOutline.prototype._onmousemove):
+ (WebInspector.ElementsTreeElement):
+ (WebInspector.ElementsTreeElement.prototype.showChild):
+ (WebInspector.ElementsTreeElement.prototype.onpopulate):
+ (WebInspector.ElementsTreeElement.prototype.updateChildren):
+ (WebInspector.ElementsTreeElement.prototype.insertChildElement):
+ (WebInspector.ElementsTreeElement.prototype.moveChild):
+ (WebInspector.ElementsTreeElement.prototype._updateChildren):
+ (WebInspector.ElementsTreeElement.prototype.onexpand):
+ (WebInspector.ElementsTreeElement.prototype.oncollapse):
+ (WebInspector.ElementsTreeElement.prototype.onselect):
+ (WebInspector.ElementsTreeElement.prototype.ondblclick):
+ ():
+
+2010-03-29 Marcus Bulach <bulach@chromium.org>
+
+ Reviewed by Jeremy Orlow.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36315
+
+ Remove obsolete Geolocation::m_currentPosition
+ (follow up on https://bugs.webkit.org/show_bug.cgi?id=30676)
+
+ * page/Geolocation.cpp:
+ (WebCore::Geolocation::positionChanged):
+ (WebCore::Geolocation::makeSuccessCallbacks):
+ * page/Geolocation.h:
+ * platform/chromium/GeolocationServiceChromium.cpp:
+ (WebCore::GeolocationServiceChromium::GeolocationServiceChromium):
+
+2010-03-29 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Do not generate INSTALLS for webkit when building inside Qt.
+ Qt will do this for us.
+
+ * WebCore.pro:
+
+2010-03-29 Antti Koivisto <koivisto@iki.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36703
+ Timer restart loop during page loading
+
+ Fix regression introduced in http://trac.webkit.org/changeset/54526.
+ Restarting the request timer unconditionally from the timer callback is a bad idea.
+ Instead, start the timer when a non-cached request completes.
+
+ * loader/loader.cpp:
+ (WebCore::Loader::Host::nonCacheRequestComplete):
+ (WebCore::Loader::Host::servePendingRequests):
+
+2010-03-29 Thomas Zander <t.zander@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Shadowbuilds of WebCore with Qt on Symbian fails.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36749
+
+ Doing a 'make sis' expects the dll in the libdir, so place it
+ there. This fixes out-of-source building to always put the dll
+ in the expected dir.
+
+ * WebCore.pro: Fix for shadow builds inside Qt.
+
+2010-03-26 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Antti Koivisto.
+
+ Implement flattening for iframes.
+
+ Refactoring of frameset flattening code to reuse it for
+ iframe flattening.
+
+ Tests: fast/frames/flattening/iframe-flattening-simple.html
+
+ * WebCore.base.exp:
+ * page/FrameView.cpp:
+ (WebCore::FrameView::layout):
+ (WebCore::FrameView::scheduleRelayout):
+ * page/Settings.cpp:
+ (WebCore::Settings::Settings):
+ (WebCore::Settings::setFrameFlatteningEnabled):
+ * page/Settings.h:
+ (WebCore::Settings::frameFlatteningEnabled):
+ * rendering/RenderFrame.cpp:
+ * rendering/RenderFrame.h:
+ * rendering/RenderFrameSet.cpp:
+ (WebCore::RenderFrameSet::flattenFrameSet):
+ * rendering/RenderFrameSet.h:
+ * rendering/RenderPart.cpp:
+ (WebCore::RenderPart::layoutWithFlattening):
+ * rendering/RenderPart.h:
+ * rendering/RenderPartObject.cpp:
+ (WebCore::RenderPartObject::flattenFrame):
+ (WebCore::RenderPartObject::calcHeight):
+ (WebCore::RenderPartObject::calcWidth):
+ (WebCore::RenderPartObject::layout):
+ * rendering/RenderPartObject.h:
+
+2010-03-29 Andrei Popescu <andreip@google.com>
+
+ Reviewed by Adam Barth.
+
+ Page Cache does not work on Android with V8
+ https://bugs.webkit.org/show_bug.cgi?id=36665
+
+ No new tests, existing tests should suffice, this is platform code.
+
+ This implementation simply saves the context and the global object
+ just before the frame is navigated to a new url. At restore time,
+ the global object is reattached to the context and the context
+ is attached to the window shell of the frame.
+
+ Note that isolated worlds are not taken into account in any way,
+ as Android does not use them.
+
+ * bindings/v8/ScriptCachedFrameData.cpp: Added.
+ (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
+ (WebCore::ScriptCachedFrameData::domWindow):
+ (WebCore::ScriptCachedFrameData::~ScriptCachedFrameData):
+ (WebCore::ScriptCachedFrameData::restore):
+ (WebCore::ScriptCachedFrameData::clear):
+ * bindings/v8/ScriptCachedFrameData.h:
+ * bindings/v8/V8DOMWindowShell.cpp:
+ (WebCore::V8DOMWindowShell::setContext):
+ * bindings/v8/V8DOMWindowShell.h:
+
+2010-03-29 Thomas Zander <t.zander@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Make it possible to build using both Windows and Linux for Symbian
+ https://bugs.webkit.org/show_bug.cgi?id=36748
+
+ * WebCore.pro: don't assume Windows buildsystem is the only one
+ and exclude the windows-only setters from the linux builds.
+
+2010-03-29 Thomas Zander <t.zander@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36745
+
+ [Qt] Fix def file builds with Qt 4.7.
+
+ Switched to using DEF_FILE, which is the official variable.
+
+ * WebCore.pro: Use DEF_FILE
+
+2010-03-24 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ A few more steps towards IndexedDB
+ https://bugs.webkit.org/show_bug.cgi?id=36546
+
+ Add a callback interface to be used by all async methods.
+ Add the first fragments of IDBDatabase.
+ Clean up on IDBDatabaseError.
+ Flesh out IndexedDatabase further.
+
+ Not enough hooked up yet to test. Soon though...
+
+ * WebCore.gypi:
+ * storage/IDBCallbacks.h: Added.
+ (WebCore::IDBCallbacks::~IDBCallbacks):
+ * storage/IDBDatabase.cpp: Added.
+ * storage/IDBDatabase.h: Added.
+ (WebCore::IDBDatabase::~IDBDatabase):
+ * storage/IDBDatabaseError.h:
+ (WebCore::IDBDatabaseError::create):
+ (WebCore::IDBDatabaseError::message):
+ (WebCore::IDBDatabaseError::IDBDatabaseError):
+ * storage/IndexedDatabase.h:
+ * storage/IndexedDatabaseImpl.cpp:
+ (WebCore::IndexedDatabaseImpl::IndexedDatabaseImpl):
+ (WebCore::IndexedDatabaseImpl::~IndexedDatabaseImpl):
+ (WebCore::IndexedDatabaseImpl::open):
+ * storage/IndexedDatabaseImpl.h:
+ * storage/IndexedDatabaseRequest.cpp:
+ (WebCore::IndexedDatabaseRequest::open):
+
+2010-03-29 Mikhail Naganov <mnaganov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Remove a possibility of confusion from Profiles panel Welcome screen
+ by turning buttons into non-clickable glyphs. Also, span instructions
+ alongside panel width.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34319
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/ProfileView.js:
+ (WebInspector.CPUProfileType.prototype.get welcomeMessage):
+ * inspector/front-end/ProfilesPanel.js:
+ (WebInspector.ProfilesPanel.prototype._addWelcomeMessage):
+ * inspector/front-end/inspector.css:
+ (.panel-enabler-view.welcome .instructions):
+ (.panel-enabler-view.welcome button.status-bar-item):
+
+2010-03-26 Philippe Normand <pnormand@igalia.com>
+
+ Reviewed by Eric Seidel.
+
+ [GStreamer] define static variables with DEFINE_STATIC_LOCAL macro
+ https://bugs.webkit.org/show_bug.cgi?id=36653
+
+ Defined the static variables using DEFINE_STATIC_GLOBAL.
+
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::mimeTypeCache):
+
+2010-03-26 Philippe Normand <pnormand@igalia.com>
+
+ Reviewed by Eric Seidel.
+
+ [GStreamer] player header cleanups
+ https://bugs.webkit.org/show_bug.cgi?id=36656
+
+ Destructor made private and added missing
+ mediaPlayerPrivateMuteChangedCallback declaration.
+
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
+
+2010-03-29 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Protect global object from being GC'ed if there are messages written to console from the iframe with that global object.
+
+ Whent serializing objects in the injected script check that global object properties are still defined before using them as arguments. The may become undefined if owning frame navigated to a different domain.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36612
+
+ Test: http/tests/inspector-enabled/console-log-before-frame-navigation.html
+
+ * bindings/js/ScriptState.h:
+ (WebCore::ScriptStateProtectedPtr::ScriptStateProtectedPtr):
+ (WebCore::ScriptStateProtectedPtr::get):
+ * bindings/v8/ScriptState.h:
+ (WebCore::ScriptStateProtectedPtr::ScriptStateProtectedPtr):
+ (WebCore::ScriptStateProtectedPtr::~ScriptStateProtectedPtr):
+ (WebCore::ScriptStateProtectedPtr::get):
+ * inspector/ConsoleMessage.cpp:
+ (WebCore::ConsoleMessage::addToFrontend):
+ * inspector/ConsoleMessage.h:
+ * inspector/front-end/InjectedScript.js:
+ (injectedScriptConstructor):
+ (injectedScriptConstructor.):
+
+2010-03-26 Philippe Normand <pnormand@igalia.com>
+
+ Reviewed by Eric Carlson.
+
+ It should be possible to use GStreamer in addition to another media engine
+ https://bugs.webkit.org/show_bug.cgi?id=36654
+
+ Renamed gstreamer player and added a WTF_USE_GSTREAMER
+ define. Made the MediaPlayer register the GStreamer backend only
+ if it's enabled (true by default on WebKitGTK+).
+
+ * GNUmakefile.am:
+ * platform/graphics/MediaPlayer.cpp:
+ (WebCore::installedMediaEngines):
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::mediaPlayerPrivateMessageCallback):
+ (WebCore::mediaPlayerPrivateSourceChangedCallback):
+ (WebCore::mediaPlayerPrivateVolumeChangedCallback):
+ (WebCore::mediaPlayerPrivateMuteChangedCallback):
+ (WebCore::mediaPlayerPrivateRepaintCallback):
+ (WebCore::MediaPlayerPrivateGStreamer::create):
+ (WebCore::MediaPlayerPrivateGStreamer::registerMediaEngine):
+ (WebCore::MediaPlayerPrivateGStreamer::isAvailable):
+ (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
+ (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
+ (WebCore::MediaPlayerPrivateGStreamer::load):
+ (WebCore::MediaPlayerPrivateGStreamer::commitLoad):
+ (WebCore::MediaPlayerPrivateGStreamer::changePipelineState):
+ (WebCore::MediaPlayerPrivateGStreamer::prepareToPlay):
+ (WebCore::MediaPlayerPrivateGStreamer::play):
+ (WebCore::MediaPlayerPrivateGStreamer::pause):
+ (WebCore::MediaPlayerPrivateGStreamer::duration):
+ (WebCore::MediaPlayerPrivateGStreamer::currentTime):
+ (WebCore::MediaPlayerPrivateGStreamer::seek):
+ (WebCore::MediaPlayerPrivateGStreamer::startEndPointTimerIfNeeded):
+ (WebCore::MediaPlayerPrivateGStreamer::cancelSeek):
+ (WebCore::MediaPlayerPrivateGStreamer::endPointTimerFired):
+ (WebCore::MediaPlayerPrivateGStreamer::paused):
+ (WebCore::MediaPlayerPrivateGStreamer::seeking):
+ (WebCore::MediaPlayerPrivateGStreamer::naturalSize):
+ (WebCore::MediaPlayerPrivateGStreamer::hasVideo):
+ (WebCore::MediaPlayerPrivateGStreamer::hasAudio):
+ (WebCore::MediaPlayerPrivateGStreamer::setVolume):
+ (WebCore::MediaPlayerPrivateGStreamer::volumeChangedTimerFired):
+ (WebCore::MediaPlayerPrivateGStreamer::volumeChanged):
+ (WebCore::MediaPlayerPrivateGStreamer::setRate):
+ (WebCore::MediaPlayerPrivateGStreamer::networkState):
+ (WebCore::MediaPlayerPrivateGStreamer::readyState):
+ (WebCore::MediaPlayerPrivateGStreamer::buffered):
+ (WebCore::MediaPlayerPrivateGStreamer::processBufferingStats):
+ (WebCore::MediaPlayerPrivateGStreamer::fillTimerFired):
+ (WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable):
+ (WebCore::MediaPlayerPrivateGStreamer::maxTimeLoaded):
+ (WebCore::MediaPlayerPrivateGStreamer::bytesLoaded):
+ (WebCore::MediaPlayerPrivateGStreamer::totalBytes):
+ (WebCore::MediaPlayerPrivateGStreamer::cancelLoad):
+ (WebCore::MediaPlayerPrivateGStreamer::updateStates):
+ (WebCore::MediaPlayerPrivateGStreamer::mediaLocationChanged):
+ (WebCore::MediaPlayerPrivateGStreamer::loadNextLocation):
+ (WebCore::MediaPlayerPrivateGStreamer::loadStateChanged):
+ (WebCore::MediaPlayerPrivateGStreamer::sizeChanged):
+ (WebCore::MediaPlayerPrivateGStreamer::timeChanged):
+ (WebCore::MediaPlayerPrivateGStreamer::didEnd):
+ (WebCore::MediaPlayerPrivateGStreamer::durationChanged):
+ (WebCore::MediaPlayerPrivateGStreamer::supportsMuting):
+ (WebCore::MediaPlayerPrivateGStreamer::setMuted):
+ (WebCore::MediaPlayerPrivateGStreamer::muteChangedTimerFired):
+ (WebCore::MediaPlayerPrivateGStreamer::muteChanged):
+ (WebCore::MediaPlayerPrivateGStreamer::loadingFailed):
+ (WebCore::MediaPlayerPrivateGStreamer::setSize):
+ (WebCore::MediaPlayerPrivateGStreamer::setVisible):
+ (WebCore::MediaPlayerPrivateGStreamer::repaint):
+ (WebCore::MediaPlayerPrivateGStreamer::paint):
+ (WebCore::MediaPlayerPrivateGStreamer::getSupportedTypes):
+ (WebCore::MediaPlayerPrivateGStreamer::supportsType):
+ (WebCore::MediaPlayerPrivateGStreamer::hasSingleSecurityOrigin):
+ (WebCore::MediaPlayerPrivateGStreamer::supportsFullscreen):
+ (WebCore::MediaPlayerPrivateGStreamer::setPreload):
+ (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
+
+2010-03-28 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36733
+ Use a common header for Windows virtual key codes on all platforms
+
+ No change in functionality, so no new tests.
+
+ * platform/WindowsKeyboardCodes.h: Added. Define VK_* key codes as macros, matching Windows.
+
+ * platform/KeyboardCodes.h: Removed.
+ * platform/android/KeyboardCodes.h: Removed.
+ * platform/chromium/KeyboardCodesPosix.h: Removed.
+ * platform/chromium/KeyboardCodesWin.h: Removed.
+ * platform/haiku/KeyboardCodes.h: Removed.
+ * platform/wx/KeyboardCodes.h: Removed.
+ Removed platform specific attempts to do the same thing. In fact, platform/KeyboardCodes.h
+ was supposed to be cross-platform, but it didn't have a sufficiently descriptive name, and
+ its name was the same as platform-specific versions, so I chose a new one.
+
+ * platform/chromium/KeyboardCodes.h: Copied from WebCore/platform/chromium/KeyboardCodesWin.h.
+ Chromium redefines Windows constants to different names; keeping the header doing that to
+ avoid breaking Chromium code.
+
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ Replaced KeyboardCodes.h with WindowsKeyboardCodes.h.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/cocoa/KeyEventCocoa.mm:
+ (WebCore::windowsKeyCodeForKeyCode):
+ (WebCore::windowsKeyCodeForCharCode):
+ Mac used to hardcode the key codes; changed to use VK_* macros.
+
+ * config.h: Removed a hack to include KeyboardCodes.h, it shouldn't be necessary any more.
+
+ * platform/android/KeyEventAndroid.cpp:
+ * platform/brew/PlatformKeyboardEventBrew.cpp:
+ * platform/efl/PlatformKeyboardEventEfl.cpp:
+ * platform/gtk/KeyEventGtk.cpp:
+ * platform/haiku/PlatformKeyboardEventHaiku.cpp:
+ * platform/qt/PlatformKeyboardEventQt.cpp:
+ * platform/wx/KeyboardEventWx.cpp:
+ Changed to include WindowsKeyboardCodes.h.
+
+2010-03-28 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Remove the definition of WTF_CHANGES guards from the build system
+ https://bugs.webkit.org/show_bug.cgi?id=31670
+
+ No new tests as there is no new functionality.
+
+ * WebCore.pri: Remove the definition of WTF_CHANGES
+ as it is already defined in config.h
+
+2010-03-28 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Clean up the Xcode project a bit.
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+2010-03-28 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Toggling style properties on/off does not always work.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36720
+
+ * inspector/InspectorController.cpp:
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::toggleStyleEnabled):
+ (WebCore::InspectorDOMAgent::buildObjectForStyle):
+ (WebCore::InspectorDOMAgent::buildArrayForDisabledStyleProperties):
+ * inspector/InspectorDOMAgent.h:
+ * inspector/front-end/DOMAgent.js:
+ (WebInspector.CSSStyleDeclaration):
+
+2010-03-28 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: resource links should navigate to resource panel enabler when resource tracking is off.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36722
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/inspector.js:
+ (WebInspector.documentMouseOver):
+ (WebInspector.documentClick.followLink):
+ (WebInspector.documentClick):
+
+2010-03-28 Dirk Schulze <krit@webkit.org>
+
+ Unreviewed build-fix for chromium linux.
+
+ SVGResourceMarker needs to be moved to RenderersSVGResourceMarker
+ https://bugs.webkit.org/show_bug.cgi?id=36185
+
+ * svg/SVGStyledElement.cpp:
+ (WebCore::SVGStyledElement::invalidateResources):
+
+2010-03-28 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ SVGResourceMarker needs to be moved to RenderersSVGResourceMarker
+ https://bugs.webkit.org/show_bug.cgi?id=36185
+
+ This moves SVGResourceMarker to RenderersSVGResourceMarker. This follows other
+ SVG resources like masker and clipper and makes DRT results more readable and
+ adds additonal informations.
+ Some marker specific code also moved out from RenderSVGViewportContainer to
+ RenderersSVGResourceMarker.
+
+ * Android.mk:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * rendering/RenderPath.cpp:
+ (WebCore::RenderPath::calculateMarkerBoundsIfNeeded):
+ * rendering/RenderSVGImage.cpp:
+ (WebCore::RenderSVGImage::destroy):
+ * rendering/RenderSVGResource.h:
+ (WebCore::):
+ * rendering/RenderSVGResourceMarker.cpp: Added.
+ (WebCore::RenderSVGResourceMarker::RenderSVGResourceMarker):
+ (WebCore::RenderSVGResourceMarker::~RenderSVGResourceMarker):
+ (WebCore::RenderSVGResourceMarker::layout):
+ (WebCore::RenderSVGResourceMarker::addClient):
+ (WebCore::RenderSVGResourceMarker::invalidateClients):
+ (WebCore::RenderSVGResourceMarker::invalidateClient):
+ (WebCore::RenderSVGResourceMarker::applyViewportClip):
+ (WebCore::RenderSVGResourceMarker::markerBoundaries):
+ (WebCore::RenderSVGResourceMarker::localToParentTransform):
+ (WebCore::RenderSVGResourceMarker::referencePoint):
+ (WebCore::RenderSVGResourceMarker::angle):
+ (WebCore::RenderSVGResourceMarker::markerTransformation):
+ (WebCore::RenderSVGResourceMarker::draw):
+ (WebCore::RenderSVGResourceMarker::markerContentTransformation):
+ (WebCore::RenderSVGResourceMarker::viewportTransform):
+ (WebCore::RenderSVGResourceMarker::calcViewport):
+ * rendering/RenderSVGResourceMarker.h: Added.
+ (WebCore::RenderSVGResourceMarker::renderName):
+ (WebCore::RenderSVGResourceMarker::applyResource):
+ (WebCore::RenderSVGResourceMarker::resourceBoundingBox):
+ (WebCore::RenderSVGResourceMarker::markerUnits):
+ (WebCore::RenderSVGResourceMarker::resourceType):
+ * rendering/RenderSVGViewportContainer.cpp:
+ (WebCore::RenderSVGViewportContainer::calcViewport):
+ (WebCore::RenderSVGViewportContainer::viewportTransform):
+ * rendering/RenderSVGViewportContainer.h:
+ * rendering/SVGMarkerData.h:
+ (WebCore::SVGMarkerData::SVGMarkerData):
+ (WebCore::SVGMarkerData::marker):
+ (WebCore::SVGMarkerData::updateTypeAndMarker):
+ * rendering/SVGMarkerLayoutInfo.cpp:
+ (WebCore::processStartAndMidMarkers):
+ (WebCore::SVGMarkerLayoutInfo::calculateBoundaries):
+ (WebCore::SVGMarkerLayoutInfo::addLayoutedMarker):
+ * rendering/SVGMarkerLayoutInfo.h:
+ (WebCore::MarkerLayout::MarkerLayout):
+ (WebCore::SVGMarkerLayoutInfo::midMarker):
+ * rendering/SVGRenderSupport.cpp:
+ (WebCore::deregisterFromResources):
+ * rendering/SVGRenderSupport.h:
+ * rendering/SVGRenderTreeAsText.cpp:
+ (WebCore::operator<<):
+ (WebCore::writeSVGResource):
+ * svg/SVGMarkerElement.cpp:
+ (WebCore::SVGMarkerElement::svgAttributeChanged):
+ (WebCore::SVGMarkerElement::childrenChanged):
+ (WebCore::SVGMarkerElement::setOrientToAuto):
+ (WebCore::SVGMarkerElement::setOrientToAngle):
+ (WebCore::SVGMarkerElement::createRenderer):
+ * svg/SVGMarkerElement.h:
+ (WebCore::SVGMarkerElement::):
+ * svg/SVGStyledElement.cpp:
+ (WebCore::SVGStyledElement::invalidateResources):
+ * svg/graphics/SVGResource.h:
+ (WebCore::):
+ (WebCore::SVGResource::isFilter):
+ * svg/graphics/SVGResourceMarker.cpp: Removed.
+ * svg/graphics/SVGResourceMarker.h: Removed.
+
+2010-03-28 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Consolidate Tree Hierarchy Attribute HTML Generation
+ https://bugs.webkit.org/show_bug.cgi?id=36719
+
+ Consolidates the generation of Element Tree Hierarchy attribute code
+ generation to a single function: _attributeHTML.
+
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeElement.prototype._addNewAttribute): convert to use attributeHTML.
+ (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted.regenerateStyledAttribute): convert to use attributeHTML.
+ (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
+ (WebInspector.ElementsTreeElement.prototype._attributeHTML): a single point for generating the html for attributes.
+
+2010-03-28 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Edit Tag Names
+ https://bugs.webkit.org/show_bug.cgi?id=36481
+
+ Ensure blacklisting happens by checking it in _startEditingTagName
+ instead of all the possible entry points.
+
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeElement.prototype._startEditingFromEvent): don't check blacklist here.
+ (WebInspector.ElementsTreeElement.prototype._startEditingTagName): check blacklist here.
+
+2010-03-28 Kim Grönholm <kim.gronholm@nomovok.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] GraphicsLayer: Timing functions don't work with transitions
+ https://bugs.webkit.org/show_bug.cgi?id=36589
+
+ If the animation value doesn't have timing function set, we need to
+ use the animation's timing function.
+
+ Fixed also a bug in passing the duration to solveCubicBezierFunction.
+ The duration was divided two times by 1000 and meanwhile casted to int.
+ It needs to be kept as double and divided by 1000 only once.
+
+ Test case: https://bugs.webkit.org/attachment.cgi?id=51619
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::applyTimingFunction):
+ (WebCore::AnimationQt:::AnimationQtBase):
+ (WebCore::AnimationQt::updateCurrentTime):
+
+2010-03-27 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Edit Tag Names
+ https://bugs.webkit.org/show_bug.cgi?id=36481
+
+ Allow tabbing back and forth between the tag name and element
+ attributes when editing. Also, fixed a number of minor issues with
+ editing attributes and tabbing.
+
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeElement.prototype._startEditingTagName): find the tag name if it wasn't provided.
+ (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted): fix tabbing issues, enable tab to tag name.
+ (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted.regenerateStyledAttribute): cleanup styles when tabbing.
+ * inspector/front-end/inspector.css: do not display <br>s while editing
+
+2010-03-27 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Edit Tag Names
+ https://bugs.webkit.org/show_bug.cgi?id=36481
+
+ Allow editing an Element's Tag Name by double clicking
+ on the tag name in the Element's Tree Hierarchy.
+
+ The usual asynchronous InspectorBackend, InspectorDOMAgent, InspectorFrontend flow.
+
+ * inspector/InspectorBackend.cpp: moved DOM manipulation to InspectorDOMAgent
+ (WebCore::InspectorBackend::removeNode):
+ (WebCore::InspectorBackend::changeTagName):
+ * inspector/InspectorBackend.h:
+ * inspector/InspectorBackend.idl:
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::removeNode):
+ (WebCore::InspectorDOMAgent::changeTagName):
+ * inspector/InspectorDOMAgent.h:
+ * inspector/InspectorFrontend.cpp:
+ (WebCore::InspectorFrontend::didChangeTagName):
+ * inspector/InspectorFrontend.h:
+
+ * inspector/front-end/DOMAgent.js:
+
+ Handle the UI for editing an Element's tag name.
+
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeElement.prototype._startEditingFromEvent): allow editing from double click.
+ (WebInspector.ElementsTreeElement.prototype._startEditingTagName.keyupListener): update the closing tag
+ (WebInspector.ElementsTreeElement.prototype._startEditingTagName.editingComitted): remove extra listener and commit
+ (WebInspector.ElementsTreeElement.prototype._startEditingTagName.editingCancelled): remove extra listener and cancel
+ (WebInspector.ElementsTreeElement.prototype._startEditingTagName):
+ (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.cancel):
+ (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.moveToNextAttributeIfNeeded):
+ (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.editTagNameCallback):
+ (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
+ (WebInspector.ElementsTreeElement.prototype._distinctClosingTagElement): get the closing tag for an opening tag
+ (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo): wrap the tagName in span.webkit-html-tag-name
+
+ Miscellaneous updates.
+
+ * inspector/front-end/treeoutline.js: fixed a typo.
+
+2010-03-27 Dmitry Gorbik <socket.h@gmail.com>
+
+ Reviewed by Pavel Feldman.
+
+ Fix the regression caused by r28078: a global variable
+ definition masks a local one in an inspector console
+ https://bugs.webkit.org/show_bug.cgi?id=32442
+
+ * inspector/front-end/InjectedScript.js:
+ (injectedScriptConstructor):
+
+2010-03-27 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/7801598> REGRESSION (r56182): iWeb shadow drawn around image rectangle, not around opaque part of the image
+ https://bugs.webkit.org/show_bug.cgi?id=36700
+
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::CSSPrimitiveValue::createColor): Reverted to returning an RGB color value rather than an
+ identifier for the transparent color.
+
+2010-03-26 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Converge Inspector ids to be long, not ints
+ https://bugs.webkit.org/show_bug.cgi?id=36706
+
+ Part 1: Converge on `long` for callIds, nodeIds, and other Ids.
+
+ * inspector/InspectorController.cpp:
+ * inspector/InspectorController.h:
+ * inspector/InspectorDOMAgent.cpp:
+ * inspector/InspectorFrontend.cpp:
+ * inspector/InspectorFrontend.h:
+
+2010-03-27 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: add layout test for styles panel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36699
+
+ Test: inspector/elements-panel-styles.html
+
+ * inspector/front-end/inspector.css:
+ (#elements-content):
+ (#elements-sidebar):
+ * inspector/front-end/inspector.js:
+ (WebInspector.displayNameForURL):
+ * inspector/front-end/utilities.js:
+ (String.prototype.trimURL):
+
+2010-03-27 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Darin Adler.
+
+ CSSPrimitiveValue::setFloatValue/setStringValue should throw an exception if passed an incorrect unit type.
+ <http://webkit.org/b/36680> / <rdar://problem/7801016>
+
+ Test: fast/dom/setPrimitiveValue-exceptions.html
+
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::CSSPrimitiveValue::setFloatValue): Throw an INVALID_ACCESS_ERR if either of our type or the passed-in
+ type is not a numeric type.
+ (WebCore::CSSPrimitiveValue::setStringValue): Throw an INVALID_ACCESS_ERR if either of our type or the passed-in
+ type is not a string type.
+
+2010-03-27 Robert Hogan <robert@webkit.org>
+
+ Reviewed by nobody, fix typo in previous commit.
+
+ Allow plugins implemented by the application, such as mimetype 'x-qt-plugin',
+ when pluginsEnabled is false
+
+ Fix parentheses typo in r56661. This happened while rebasing and was not present
+ in the reviewed patch, so committing unreviewed.
+
+ https://bugs.webkit.org/attachment.cgi?id=49515
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::requestObject):
+
+2010-03-26 Robert Hogan <robert@roberthogan.net>
+
+ Reviewed by Simon Hausmann.
+
+ Allow plugins implemented by the application, such as mimetype 'x-qt-plugin',
+ when pluginsEnabled is false.
+
+ The purpose of disabling plugins is to prevent the execution of third-party code
+ that may be untrustworthy. Qt plugins are implemented by the client rather than
+ loaded from an external source, so the client should have the opportunity to
+ consider them separately from other plugins.
+
+ Add a function MimeTypeRegistry::isApplicationPluginMIMEType() that WebKit
+ uses in conjunction with arePluginsEnabled() to determine if it should attempt
+ to load a plugin. If isApplicationPluginMIMEType() returns true, WebKit will load
+ the plugin even if arePluginsEnabled() is false.
+
+ Currently, only Qt has application-implemented plugins: these use the mimetype
+ 'x-qt-plugin' and 'x-qt-styled-widget'. This patch permits Qt clients'
+ reimplementation of QWebPage::createPlugin() to decide whether or not
+ to create a Qt plugin, even when arePluginsEnabled is false.
+
+ For all platforms apart from Qt, isApplicationPluginMIMEType() returns false.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32196
+
+ Test: plugins/application-plugin-plugins-disabled.html
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::requestObject):
+ * platform/MIMETypeRegistry.h:
+ * platform/brew/MIMETypeRegistryBrew.cpp:
+ (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
+ * platform/chromium/MIMETypeRegistryChromium.cpp:
+ (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
+ * platform/gtk/MIMETypeRegistryGtk.cpp:
+ (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
+ * platform/haiku/MIMETypeRegistryHaiku.cpp:
+ (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
+ * platform/mac/MIMETypeRegistryMac.mm:
+ (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
+ * platform/qt/MIMETypeRegistryQt.cpp:
+ (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
+ * platform/win/MIMETypeRegistryWin.cpp:
+ (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
+ * platform/wince/MIMETypeRegistryWince.cpp:
+ (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
+ * platform/wx/MimeTypeRegistryWx.cpp:
+ (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
+
+2010-03-27 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Fix Acid3 text-shadow rendering regression introduced in r56597.
+
+ * platform/graphics/mac/FontMac.mm:
+ (WebCore::Font::drawGlyphs): Revert to using the simple shadow logic for zero-blur shadows,
+ except for color bitmap fonts.
+
+2010-03-26 Daniel Bates <dbates@rim.com>
+
+ Reviewed by Beth Dakin.
+
+ https://bugs.webkit.org/show_bug.cgi?id=9268
+
+ As per sections 14.2 (http://www.w3.org/TR/CSS2/colors.html#background)
+ and 17.5.1 (http://www.w3.org/TR/CSS2/tables.html#table-layers) of the
+ CSS 2.1 spec., the background-image of a table-row should span the
+ entire area of the table-row (i.e cover all the <td>'s). Moreover,
+ fixes background image painting with respect to row-groups, columns
+ and column-groups (*).
+
+ Currently, the background-image of a table row, row-group, and column-group
+ is inherited by the table cells. This directly contradicts section 14.2.
+ Instead, the background-image should cover the entire area of the table row,
+ row-group, column, or column-group, respectively as described in section 17.5.1.
+
+ (*) A follow up patch to compute the absolute content box of a column, and
+ column-group is needed so that background image positioning for these table
+ elements works. See bug #36104.
+
+ Tests: fast/table/table-background.html
+ fast/table/table-cell-border-draws-on-top-of-col-background.html
+ fast/table/table-cell-border-draws-on-top-of-col-group-background.html
+ fast/table/table-cell-border-draws-on-top-of-row-background.html
+ fast/table/table-cell-border-draws-on-top-of-row-group-background.html
+ fast/table/table-cell-overrides-row-background.html
+ fast/table/table-col-background.html
+ fast/table/table-col-group-background.html
+ fast/table/table-col-group-col-span-background.html
+ fast/table/table-col-group-span-background.html
+ fast/table/table-col-span-background.html
+ fast/table/table-row-background-left-50px.html
+ fast/table/table-row-background-right-100percent.html
+ fast/table/table-row-background-right-50px.html
+ fast/table/table-row-background.html
+ fast/table/table-row-group-background-positioned.html
+ fast/table/table-row-group-background.html
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::paintFillLayerExtended):
+ (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Modified
+ to call RenderObject::adjustBackgroundImagePosition.
+ * rendering/RenderBoxModelObject.h:
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::adjustBackgroundImagePosition): Added.
+ * rendering/RenderTableCell.cpp:
+ (WebCore::RenderTableCell::adjustBackgroundImagePosition): Added.
+ * rendering/RenderTableCell.h:
+
+2010-03-26 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Unreviewed, minor build fix.
+
+ [Gtk] Guard defined but not used function
+
+ Eliminate the "defined but not used" warning after r52684.
+ No new tests as there is no new functionality.
+
+ * platform/ContextMenu.cpp:
+
+2010-03-26 Justin Schuh <jschuh@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Security: iFrame.src accepts JavaScript URL via nodeValue or textContent
+ https://bugs.webkit.org/show_bug.cgi?id=36502
+
+ Overrode inherited nodeValue and textContent in Attr.idl so they proxy
+ to value, which performs a security check.
+
+ Test: http/tests/security/xss-DENIED-iframe-src-alias.html
+
+ * bindings/js/JSAttrCustom.cpp:
+ (WebCore::JSAttr::nodeValue):
+ (WebCore::JSAttr::setNodeValue):
+ (WebCore::JSAttr::textContent):
+ (WebCore::JSAttr::setTextContent):
+ * bindings/v8/custom/V8AttrCustom.cpp:
+ (WebCore::V8Attr::nodeValueAccessorSetter):
+ (WebCore::V8Attr::nodeValueAccessorGetter):
+ (WebCore::V8Attr::textContentAccessorSetter):
+ (WebCore::V8Attr::textContentAccessorGetter):
+ * dom/Attr.idl:
+
+2010-03-26 Eric Carlson <eric.carlson@apple.com>
+
+ <rdar://problem/7320584>
+ https://bugs.webkit.org/show_bug.cgi?id=36681
+ "new Audio()" doesn't work with plug-in backed media engine.
+
+ Don't require plug-in backed <video> and <audio> elements to be in the document to play.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_proxyWidget
+ (WebCore::HTMLMediaElement::createRenderer): Set renderer widget if it has already been
+ allocated.
+ (WebCore::HTMLMediaElement::scheduleLoad): Call createMediaPlayerProxy to make sure we
+ have a plug-in proxy.
+ (WebCore::HTMLMediaElement::loadResource): Ditto.
+ (WebCore::HTMLMediaElement::ensureMediaPlayer): Allocate media player.
+ (WebCore::HTMLMediaElement::setMediaPlayerProxy): Call ensureMediaPlayer.
+ (WebCore::HTMLMediaElement::getPluginProxyParams): New, return the url and params vectors.
+ (WebCore::HTMLMediaElement::finishParsingChildren): Call createMediaPlayerProxy.
+ (WebCore::HTMLMediaElement::createMediaPlayerProxy): New, allocate the proxy widget if necessary.
+ * html/HTMLMediaElement.h:
+
+ * loader/EmptyClients.h:
+ (WebCore::EmptyFrameLoaderClient::createMediaPlayerProxyPlugin): Add declaration.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::toPlugInElement): Don't allow an audio or video element to be cast to a plug-in element.
+ (WebCore::FrameLoader::loadPlugin):
+ (WebCore::FrameLoader::loadMediaPlayerProxyPlugin): New, allocate a media player proxy plug-in.
+
+ * loader/FrameLoader.h: Declare loadMediaPlayerProxyPlugin.
+
+ * loader/FrameLoaderClient.h: Declare createMediaPlayerProxyPlugin.
+
+ * rendering/RenderEmbeddedObject.cpp:
+ (WebCore::RenderEmbeddedObject::updateWidget): Call loadMediaPlayerProxyPlugin when passed an
+ audio or video node.
+
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
+
+ * rendering/RenderVideo.cpp:
+ (WebCore::RenderVideo::RenderVideo): Get default width and height from defaultSize.
+ (WebCore::RenderVideo::defaultSize): New, return the spec defined default width and height.
+ * rendering/RenderVideo.h:
+
+2010-03-26 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein, Darin Adler.
+
+ Re-entrant layout via plug-ins may cause crashes with bad RenderWidgets
+ https://bugs.webkit.org/show_bug.cgi?id=36675
+ <rdar://problem/7787617>
+
+ Fix two places in the code where RenderWidgets can get destroyed while being iterated over.
+ This can happen when plug-ins execute script from NPP_SetWindow, and that script makes a change
+ to the page that destroys a RenderWidget.
+
+ Tests: plugins/reentrant-update-widget-positions.html
+ plugins/update-widgets-crash.html
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::updateWidgets): ref() the RenderEmbeddedObjects that are put into the
+ vector before iterating of them, and deref() them at the end. Rather than checking the m_widgetUpdateSet
+ to see if the RenderWidget is still live, test object->node().
+
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::RenderView): Initialize some data members to make it more obvious in the debugger
+ that the object is not garbage.
+ (WebCore::RenderView::updateWidgetPositions): Use a Vector of RenderWidget* to keep the RenderWidgets
+ alive during iteration, by reffing and dereffing them.
+ * rendering/RenderWidget.h:
+ (WebCore::RenderWidget::ref): Make this and deref() public.
+
+2010-03-26 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Partial fix for https://bugs.webkit.org/show_bug.cgi?id=36564
+ Performance regression for setting content of <text> in SVG
+ -and corresponding-
+ <rdar://problem/7693963>
+
+ toClipPath() is extremely inefficient, so this patch removes the
+ call to it from RenderSVGResourceClipper::resourceBoundingBox()
+ which is very hot code in SVG with clip-paths. It is sufficient to
+ call unite with the objectBoundingBox(), which will return early if
+ objectBoundingBox() is empty.
+
+ * rendering/RenderSVGResourceClipper.cpp:
+ (WebCore::RenderSVGResourceClipper::resourceBoundingBox):
+
+2010-03-26 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Dave Hyatt.
+
+ Generated run-in Content is Mistakenly Getting Deleted
+ https://bugs.webkit.org/show_bug.cgi?id=36505
+ <rdar://problem/7767161>
+
+ Test: fast/runin/generated2.html
+ Test: fast/runin/generated3.html
+ Test: fast/runin/generated4.html
+
+ Do not destroy :before/:after generated content with display run-in
+ when relaying out different nodes. Have their real owners correctly
+ handle them.
+
+ * rendering/RenderObjectChildList.cpp:
+ (WebCore::RenderObjectChildList::updateBeforeAfterContent): simplified logic
+ (WebCore::RenderObjectChildList::beforeAfterContainer): skip generated run-ins when checking children, check for them in grandchildren
+
+2010-03-25 Ojan Vafai <ojan@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ shift+home/end and cmd+shift+left/right don't extend the selection correctly
+ https://bugs.webkit.org/show_bug.cgi?id=36539
+
+ * WebCore.base.exp:
+ * editing/SelectionController.cpp:
+ (WebCore::SelectionController::modify):
+ * editing/SelectionController.h:
+
+2010-03-26 Janne Koskinen <janne.p.koskinen@digia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ Don't undefine SKIP_STATIC_CONSTRUCTORS_ON_GCC for Symbian HW targets.
+ https://bugs.webkit.org/show_bug.cgi?id=34081
+
+ Defining StringImpl instances as globals will cause a crash on process exit as
+ StringImpl::Remove expects TLS which was already deleted at time of exiting main and ends up
+ constructing one exiting thread.
+
+ * config.h:
+
+2010-03-26 Andrey Kosyakov <caseq@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+
+ Send worker resource content to inspector to enable display of web
+ workers in inspector's resource tab.
+ https://bugs.webkit.org/show_bug.cgi?id=36658
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
+ (WebCore::InspectorController::scriptImported):
+ * inspector/InspectorResource.cpp:
+ (WebCore::InspectorResource::type):
+ (WebCore::InspectorResource::setOverrideContent):
+ (WebCore::InspectorResource::sourceString):
+ * inspector/InspectorResource.h:
+ * workers/DefaultSharedWorkerRepository.cpp:
+ (WebCore::SharedWorkerScriptLoader::notifyFinished):
+ * workers/Worker.cpp:
+ (WebCore::Worker::notifyFinished):
+
+2010-03-26 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by Antti Koivisto.
+
+ Fix the rendering of HTMLProgressElement
+ https://bugs.webkit.org/show_bug.cgi?id=36206
+
+ Update the rendering and css to conform to
+ http://www.whatwg.org/specs/web-apps/current-work/complete.html#the-progress-element-0.
+ Updated the tests and the expected results accordingly.
+
+ * css/html.css:
+ (progress):
+ * rendering/RenderProgress.cpp:
+ (WebCore::RenderProgress::RenderProgress):
+ (WebCore::RenderProgress::updateFromElement):
+ * rendering/RenderProgress.h:
+ (WebCore::RenderProgress::isProgress):
+
+2010-03-26 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Unreviewed build fix.
+
+ FontPlatformDataPango.cpp: prototype for
+ 'WebCore::FontPlatformData::FontPlatformData(cairo_font_face_t*, int, bool, bool)'
+ does not match any in class
+ https://bugs.webkit.org/show_bug.cgi?id=36496
+
+ * platform/graphics/gtk/FontPlatformDataPango.cpp:
+ (WebCore::FontPlatformData::FontPlatformData): The 'size' parameter
+ should be a float to match the declaration and the other definitions.
+
+2010-03-26 Shu Chang <chang.shu@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ [Qt] Prevent referring d->m_job in the future because calling abort()
+ deletes the instance itself.
+ https://bugs.webkit.org/show_bug.cgi?id=36618
+
+ Test: http/tests/appcache/fallback.html
+
+ * platform/network/qt/ResourceHandleQt.cpp:
+ (WebCore::ResourceHandle::cancel):
+
+2010-03-26 Stephen White <senorblanco@chromium.org>
+
+ Unreviewed; build fix.
+
+ Rolling out 56620; too many layout test failures.
+
+ Covered by fast/css/*.
+
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::CSSPrimitiveValue::cleanup):
+ (WebCore::CSSPrimitiveValue::cssText):
+ * css/CSSPrimitiveValue.h:
+ (WebCore::CSSPrimitiveValue::):
+
+2010-03-26 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Build JavaScriptCore as a static library.
+ https://bugs.webkit.org/show_bug.cgi?id=36590
+
+ This patch takes what was left of the unused JavaScriptCore.pro
+ and moved the compilation logic from JavaScriptCore.pri to
+ JavaScriptCore.pro.
+
+ * WebCore.pro:
+
+2010-03-26 Olivier Goffart <ogoffart@trolltech.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix compilation on Windows
+
+ For some reason, the MSVC compiler choose the
+ operator+(const QString &, const QString &) instead of
+ operator+(const WebCore::String &, const WebCore::String &)
+ resulting in errors when QT_USE_FAST_OPERATOR_PLUS is used.
+
+ * dom/XMLTokenizerQt.cpp:
+ (WebCore::handleElementNamespaces):
+
+2010-03-24 Stephen White <senorblanco@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ In order to speed up multiple calls to CSSPrimitiveValue::cssText(),
+ this CL caches the String result. When m_value is changed, the
+ cached string is cleared. This gives a good speedup on benchmarks
+ which do a lot of CSS property gets, such as Peacekeeper.
+ The processing cost should be negligible, since the strings are
+ refcounted. The memory cost is an additional 4 bytes per
+ CSSPrimitiveValue, and the extended lifetime of the computed string
+ (potentially, the same as the lifetime of the CSSPrimitiveValue).
+
+ https://bugs.webkit.org/show_bug.cgi?id=36556
+
+ Covered by fast/css/large-number-round-trip.html, and more.
+
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
+ (WebCore::CSSPrimitiveValue::cleanup):
+ (WebCore::CSSPrimitiveValue::cssText):
+ * css/CSSPrimitiveValue.h:
+
+2010-03-26 Qi Zhang <qi.2.zhang@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] fast/canvas/drawImage-with-negative-source-destination.html failed
+ https://bugs.webkit.org/show_bug.cgi?id=35005
+
+ To support negative width or height at context.drawImage
+
+ * platform/graphics/qt/StillImageQt.cpp:
+ (WebCore::StillImage::draw):
+
+2010-03-08 Philippe Normand <pnormand@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ [GStreamer] soften dependency on libsoup in the http src element
+ https://bugs.webkit.org/show_bug.cgi?id=35864
+
+ Replaced SoupURI calls with KURL and pause/resume internal soup
+ messages only if the element is compiled for a port depending on
+ libsoup.
+
+ * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
+ (webkit_web_src_init):
+ (webKitWebSrcSetUri):
+ (webKitWebSrcNeedDataMainCb):
+ (webKitWebSrcEnoughDataMainCb):
+
+2010-03-25 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Shot record filter is implemented in Timeline Panel.
+ https://bugs.webkit.org/show_bug.cgi?id=36606
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel):
+ (WebInspector.TimelinePanel.prototype.get statusBarItems):
+ (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
+ (WebInspector.TimelinePanel.prototype._toggleFilterButtonClicked):
+ (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
+ (WebInspector.TimelinePanel.prototype._addToRecordsWindow):
+ (WebInspector.TimelineRecordGraphRow.prototype.update):
+ (WebInspector.TimelinePanel.FormattedRecord.prototype.get _isLongEvent):
+ * inspector/front-end/inspector.css:
+
+2010-03-25 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Implement CSSStyleSelector::pseudoStyleForElement and use it in the InspectorDOMAgent.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36509
+
+ This change provides pseudo elements information into the inspector styles sidebar pane.
+ Changes applied:
+ - CSSStyleSelector::pseudoStyleRulesForElement implemented. I changed the signature to accept
+ PseudoId instead of a String since it better reflected the needs;
+ - Accompanied elementStyle checks with m_collectRulesOnly checks;
+ - Removed pseudoStyleRulesForElement usage from DOMWindow::getMatchedCSSRules. It was anyways
+ returning 0, while I would need to convert String to PseudoId in order to leave the call in place;
+ - Needed to introduce AFTER_LAST_INTERNAL_PSEUDOID marker const in RenderStyleConstants' PseudoId enum
+ - InspectorDOMAgent is now iterating over all pseudo ids to get all styles (including internal ones).
+ - Brushed up front-end code so that proper overriding took place locally within pseudo id categories.
+
+ * English.lproj/localizedStrings.js:
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::styleRulesForElement):
+ (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
+ (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
+ (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
+ * css/CSSStyleSelector.h:
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::getStyles):
+ (WebCore::InspectorDOMAgent::buildObjectForAttributeStyles):
+ (WebCore::InspectorDOMAgent::buildArrayForCSSRules):
+ (WebCore::InspectorDOMAgent::buildArrayForPseudoElements):
+ * inspector/InspectorDOMAgent.h:
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylesSidebarPane.prototype.update.callback):
+ (WebInspector.StylesSidebarPane.prototype.update):
+ (WebInspector.StylesSidebarPane.prototype._update):
+ (WebInspector.StylesSidebarPane.prototype._refreshStyleRules):
+ (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules.insertInheritedNodeSeparator):
+ (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
+ (WebInspector.StylesSidebarPane.prototype._markUsedProperties):
+ (WebInspector.StylesSidebarPane.prototype._refreshSectionsForStyleRules):
+ (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
+ (WebInspector.StylesSidebarPane.prototype._changeColorFormat):
+ (WebInspector.StylesSidebarPane.prototype.addBlankSection):
+ (WebInspector.StylesSidebarPane.prototype.removeSection):
+ * inspector/front-end/inspector.css:
+ (.styles-sidebar-separator):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::getMatchedCSSRules):
+ * rendering/style/RenderStyleConstants.h:
+ (WebCore::):
+
+2010-03-25 Charlie Reis <creis@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ onbeforeunload not called at window close + frame or iframe focused
+ https://bugs.webkit.org/show_bug.cgi?id=27481
+
+ Test: fast/events/onbeforeunload-focused-iframe.html
+
+ Replaces initial manual tests with a layout test.
+
+ * manual-tests/onbeforeunload-focused-iframe.html: Removed.
+ * manual-tests/resources/focused-iframe.html: Removed.
+
+2010-03-25 Eric Uhrhane <ericu@chromium.org>
+
+ Reviewed by David Levin.
+
+ Missing lock in call to doneCreatingDatabase
+ https://bugs.webkit.org/show_bug.cgi?id=36473
+
+ Added new test storage/open-database-over-quota.html.
+
+ * storage/DatabaseTracker.cpp:
+ (WebCore::DatabaseTracker::canEstablishDatabase): Added missing lock call.
+
+2010-03-25 Ojan Vafai <ojan@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ [chromium] REGRESSION: Some LayoutTests fail after r56567
+ https://bugs.webkit.org/show_bug.cgi?id=36630
+
+ Fix boolean logic goofup. This was a last minute code review
+ change that didn't get tested on Windows before commit.
+
+ * editing/SelectionController.cpp:
+ (WebCore::SelectionController::setIsDirectional):
+
+2010-03-25 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/7728903> Support color bitmap fonts
+
+ Test: platform/mac/fonts/color-bitmap.html
+
+ * platform/graphics/mac/FontMac.mm:
+ (WebCore::showGlyphsWithAdvances): Added. Calls CGContextShowGlyphsWithAdvances()
+ or CTFontShowGlyphs() depending on whether the font is a color bitmap font.
+ (WebCore::Font::drawGlyphs): Use showGlyphsWithAdvances(). Don’t include the font’s matrix in
+ the context’s text matrix when drawing with a color bitmap font, because CTFontShowGlyphs()
+ factors it in.
+ * platform/graphics/mac/FontPlatformData.h:
+ (WebCore::FontPlatformData::FontPlatformData): Added m_isColorBitmapFont member
+ and initialized it in constructors.
+ (WebCore::FontPlatformData::isColorBitmapFont): Added this getter.
+ * platform/graphics/mac/FontPlatformDataMac.mm:
+ (WebCore::FontPlatformData::FontPlatformData): Initialize m_isColorBitmapFont.
+ (WebCore::FontPlatformData::operator=): Copy m_isColorBitmapFont.
+ (WebCore::FontPlatformData::setFont): Set m_isColorBitmapFont.
+
+2010-03-25 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Sam Weinig.
+
+ Implement allow-top-navigation for HTML5 sandbox attribute
+ https://bugs.webkit.org/show_bug.cgi?id=36549
+
+ Tests: fast/frames/sandboxed-iframe-navigation-top-by-constant-name.html
+ fast/frames/sandboxed-iframe-navigation-top-by-constant-name2.html
+ fast/frames/sandboxed-iframe-navigation-top-by-name-denied.html
+ fast/frames/sandboxed-iframe-navigation-top-by-name.html
+ fast/frames/sandboxed-iframe-navigation-top-denied.html
+ fast/frames/sandboxed-iframe-navigation-top.html
+
+ * bindings/generic/BindingDOMWindow.h:
+ (WebCore::::createWindow):
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::createWindow):
+ Moved the security check to FrameLoader because we need to allow
+ window.open navigation to succeed sometimes when the
+ SandboxNavigation bit is set.
+ * html/HTMLIFrameElement.cpp:
+ (WebCore::parseSandboxAttribute):
+ Added allow-top-navigation to the parser.
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::createWindow):
+ The SandboxNavigation check now occurs after we search for the frame
+ by name. Notice that the named frame navigation case is caught by
+ the generic navigation access check.
+ (WebCore::FrameLoader::shouldAllowNavigation):
+ Update the navigation access check to allow navigating of top unless
+ it's forbidden.
+ * loader/FrameLoaderTypes.h:
+ Introduce a bit for SandboxedTopNavigation.
+ (WebCore::):
+
+2010-03-25 Dumitru Daniliuc <dumi@chromium.org>
+
+ Unreviewed, Chromium build fix.
+
+ V8CustomVoidCallback should not check if a return value is a
+ boolean. It should only convert the value to a boolean.
+
+ * bindings/v8/custom/V8CustomVoidCallback.cpp:
+ (WebCore::invokeCallback):
+
+2010-03-25 Dmitry Titov <dimich@chromium.org>
+
+ No review, rolling out r56585.
+ http://trac.webkit.org/changeset/56585
+ https://bugs.webkit.org/show_bug.cgi?id=36621
+
+ Broke Chromium builds on waterfall
+
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::getValue):
+ * plugins/PluginView.h:
+ * plugins/PluginViewNone.cpp:
+ (WebCore::PluginView::setJavaScriptPaused):
+
+2010-03-25 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Fix build if NPAPI support is disabled
+ https://bugs.webkit.org/show_bug.cgi?id=36621
+
+ No new tests, this is a build fix.
+
+ * plugins/PluginView.cpp: Guard getValueStatic() with
+ NETSCAPE_PLUGIN_API
+ (WebCore::PluginView::getValue):
+ * plugins/PluginView.h: Guard getValue() with NETSCAPE_PLUGIN_API
+ * plugins/PluginViewNone.cpp: Guard platformGetValue() and
+ platformGetValueStatic with NETSCAPE_PLUGIN_API;
+ Guard privateBrowsingStateChanged() and setJavaScriptPaused() with
+ PLATFORM(MAC)
+
+2010-03-25 Drew Wilson <atwilson@chromium.org>
+
+ Reviewed by Nate Chapin.
+
+ [v8] Error in getScriptExecutionContext() when worker context is terminating.
+ https://bugs.webkit.org/show_bug.cgi?id=36565
+
+ Removed WorkerScriptExecutionProxy::retrieve() and added WorkerScriptController::controllerForContext(). This allows
+ callers to differentiate between "the current context is shutting down" vs "the current context is not a worker context".
+
+ Test: Existing worker tests suffice.
+
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::getConstructor):
+ Changed to use WorkerScriptController::controllerForContext() instead of WorkerScriptExecutionProxy::retrieve().
+ * bindings/v8/V8Utilities.cpp:
+ (WebCore::getScriptExecutionContext):
+ Changed to use WorkerScriptController::controllerForContext() instead of WorkerScriptExecutionProxy::retrieve().
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ Removed WorkerScriptExecutionProxy::retrieve().
+ * bindings/v8/WorkerContextExecutionProxy.h:
+ Removed WorkerScriptExecutionProxy::retrieve().
+ * bindings/v8/WorkerScriptController.cpp:
+ (WebCore::WorkerScriptController::controllerForContext):
+ Added helper function to get the WorkerScriptController for the current context.
+ * bindings/v8/WorkerScriptController.h:
+ Added declaration for controllerForContext().
+
+2010-03-25 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Fix the package build on Maemo 5
+
+ https://bugs.webkit.org/show_bug.cgi?id=36607
+
+ Always embed the stylesheet for the no-listbox rendering. This way it'll be
+ included in the generated files for the package generation.
+
+ * WebCore.pri:
+
+2010-03-24 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Changing the V8 and JSC implementations of
+ SQLStatementErrorCallback to interpret as false all results that
+ could be converted to a false boolean. Pretty much a revert of
+ r54981.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36569
+
+ * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
+ (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
+ * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
+ (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
+ * bindings/v8/custom/V8CustomVoidCallback.cpp:
+ (WebCore::invokeCallback):
+ * bindings/v8/custom/V8CustomVoidCallback.h:
+
+2010-03-25 Dmitry Titov <dimich@chromium.org>
+
+ Unreviewed, fix Chromium tests.
+
+ Recent http://trac.webkit.org/changeset/56489 made all urls in Chromium that
+ have unspecified port to return invalidPortNumber from KURL::port().
+
+ * platform/KURLGoogle.cpp: Return 0 for unspecified ports, mimic WebKit KURL behavior for invalid ports.
+ (WebCore::KURL::port):
+
+2010-03-25 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ This is a follow up of:
+ https://bugs.webkit.org/show_bug.cgi?id=30055
+ Bad DOM performance in large SVG files
+
+ Just save and restore the GraphicsContext, if we realy modify it.
+ (Cairo)Path::contains checks if a point is in the boundingBox
+ as a heuristic. The intention was to make the process faster for
+ points outside of this rect, but it rather causes the
+ opposite.
+
+ No new test cases added. No change in functionality.
+
+ * platform/graphics/cairo/PathCairo.cpp:
+ (WebCore::Path::contains):
+ * rendering/RenderPath.cpp:
+ (WebCore::RenderPath::paint):
+
+2010-03-25 Ojan Vafai <ojan@chromium.org>
+
+ Reviewed by David Levin.
+
+ mouse-based selections are always directional on Windows/Linux
+ https://bugs.webkit.org/show_bug.cgi?id=25195
+
+ Change m_lastChangeWasHorizontalExtension to m_isDirectional
+ and make m_isDirectional always be true for Windows/Linux.
+
+ * editing/SelectionController.cpp:
+ (WebCore::SelectionController::SelectionController):
+ (WebCore::SelectionController::setSelection):
+ (WebCore::SelectionController::setIsDirectional):
+ (WebCore::SelectionController::willBeModified):
+ When double-clicking, the base/extent will be in the middle
+ of the selection instead of the start/end of it. Changed to
+ maintain that modifications after double-click still move the
+ start/end of the selection, not the base/extent.
+ (WebCore::SelectionController::modify):
+ * editing/SelectionController.h:
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMousePressEventSingleClick):
+ (WebCore::EventHandler::updateSelectionForMouseDrag):
+
+2010-03-25 Simon Fraser <simon.fraser@apple.com>
+
+ Revert r56565 which was based on an incorrect premise.
+
+ * page/animation/CompositeAnimation.cpp:
+ (WebCore::CompositeAnimation::clearRenderer):
+ (WebCore::CompositeAnimation::updateKeyframeAnimations):
+ (WebCore::CompositeAnimation::getAnimatedStyle):
+ (WebCore::CompositeAnimation::setAnimating):
+ (WebCore::CompositeAnimation::timeToNextService):
+ (WebCore::CompositeAnimation::getAnimationForProperty):
+ (WebCore::CompositeAnimation::suspendAnimations):
+ (WebCore::CompositeAnimation::resumeAnimations):
+ (WebCore::CompositeAnimation::isAnimatingProperty):
+ (WebCore::CompositeAnimation::pauseAnimationAtTime):
+ (WebCore::CompositeAnimation::numberOfActiveAnimations):
+
+2010-03-25 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Eric Carlson.
+
+ Make calls to m_keyframeAnimations.checkConsistency() debug-only
+ https://bugs.webkit.org/show_bug.cgi?id=36555
+
+ Remove lots of calls to m_keyframeAnimations.checkConsistency(); which were left after some earlier
+ debugging. Leave one in CompositeAnimation::animate() to catch any future issues, which is OK since
+ these calls are no-ops in release builds.
+
+ * page/animation/CompositeAnimation.cpp:
+ (WebCore::CompositeAnimation::clearRenderer):
+ (WebCore::CompositeAnimation::updateKeyframeAnimations):
+ (WebCore::CompositeAnimation::getAnimatedStyle):
+ (WebCore::CompositeAnimation::setAnimating):
+ (WebCore::CompositeAnimation::timeToNextService):
+ (WebCore::CompositeAnimation::getAnimationForProperty):
+ (WebCore::CompositeAnimation::suspendAnimations):
+ (WebCore::CompositeAnimation::resumeAnimations):
+ (WebCore::CompositeAnimation::isAnimatingProperty):
+ (WebCore::CompositeAnimation::pauseAnimationAtTime):
+ (WebCore::CompositeAnimation::numberOfActiveAnimations):
+
+2010-03-25 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36557
+ Animations use the wrong timing-function sometimes
+
+ Fix an issue where animations picked the wrong style for their "unanimated" value.
+
+ Previously, the "unanimated" style was considered to be the style before the animation
+ was applied. This caused us to pick up stale values for animation timing functions, for
+ blending when a property is missing from the first keyframe, and for resuming transitions
+ once an animation ends.
+
+ Instead, we need to use the "current" style, which is the one that causes the animation
+ to kick off.
+
+ Tests: animations/longhand-timing-function.html
+ animations/transition-and-animation-3.html
+ animations/unanimated-style.html
+
+ * page/animation/CompositeAnimation.cpp:
+ (WebCore::CompositeAnimation::updateKeyframeAnimations):
+
+2010-03-25 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Bug 36611 - Cleanup JSC::CString
+ Rename CString::c_str() -> CString::data(), CString::size() -> CString::length(),
+ remove UString::getCString() (all uses are wrong, should use UString::UTF8String()).
+
+ * bridge/NP_jsobject.cpp:
+ (_NPN_Enumerate):
+ * bridge/c/c_utility.cpp:
+ (JSC::Bindings::convertValueToNPVariant):
+ * bridge/jni/jsc/JNIBridgeJSC.cpp:
+ (JavaField::valueFromInstance):
+ (JavaField::setValueToInstance):
+ * bridge/jni/jsc/JavaInstanceJSC.cpp:
+ (JavaInstance::invokeMethod):
+ * bridge/jni/jsc/JavaStringJSC.h:
+ (JSC::Bindings::JavaStringImpl::UTF8String):
+
+2010-03-25 Jakub Wieczorek <jwieczorek@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [Qt] RenderTheme: fix size adjustment for text fields
+ https://bugs.webkit.org/show_bug.cgi?id=36413
+
+ To match other ports, remove the hardcoded dimensions for text fields so that
+ the default ones from WebCore can be used.
+ Properly apply the correct padding to text areas - this fixes their appearance
+ with the Oxygen style.
+
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
+
+2010-03-25 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Implement ChromeClient::windowResizerRect()
+
+ https://bugs.webkit.org/show_bug.cgi?id=21300
+
+ The helper function geometryRelativeToOwnerWidget() in the page
+ client is used to clip the resize rect to the actual size of the
+ viewport, not the size of the QGraphicsView.
+
+ * platform/qt/QWebPageClient.h:
+
+2010-03-25 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: reloading debug target window with cmd-R from inspector window produces beep.
+ https://bugs.webkit.org/show_bug.cgi?id=36554
+
+ * inspector/front-end/inspector.js:
+ (WebInspector.documentKeyDown): prevent the default behavior, if handled, which would result in a system beep.
+
+2010-03-25 Jochen Eisinger <jochen@chromium.org>
+
+ Reviewed by Jeremy Orlow.
+
+ Forward DatabaseTracker::canEstablishDatabase to chromium layer.
+ https://bugs.webkit.org/show_bug.cgi?id=36595
+
+ * storage/chromium/DatabaseObserver.h:
+ * storage/chromium/DatabaseTrackerChromium.cpp:
+ (WebCore::DatabaseTracker::canEstablishDatabase):
+
+2010-03-25 yael aharon <yael.aharon@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] Windowed netscape plugins don't work with QGraphicsWebView on Symbian
+ https://bugs.webkit.org/show_bug.cgi?id=35112
+
+ Add a proxy widget when loading a QWidget based plugin in a QGraphicsWebView.
+
+ * plugins/symbian/PluginContainerSymbian.cpp:
+ (PluginContainerSymbian::PluginContainerSymbian):
+ (PluginContainerSymbian::focusInEvent):
+ * plugins/symbian/PluginContainerSymbian.h:
+ (WebCore::PluginContainerSymbian::proxy):
+ * plugins/symbian/PluginViewSymbian.cpp:
+ (WebCore::PluginView::updatePluginWidget):
+ (WebCore::PluginView::platformStart):
+ (WebCore::PluginView::platformDestroy):
+
+2010-03-25 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35714
+ Computed style on delayed transform animations is incorrect
+
+ When fetching computed style while a delayed accelerated animation is in effect,
+ we would get the value form the first keyframe, rather than getting the current
+ style.
+
+ Fix by checking to see whether we've in the delay phase (with no backwards-fill)
+ in KeyframeAnimation::getAnimatedStyle().
+
+ Test: compositing/animation/computed-style-during-delay.html
+
+ * page/animation/KeyframeAnimation.cpp:
+ (WebCore::KeyframeAnimation::getAnimatedStyle):
+
+2010-03-25 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Initialize Web Inspector title with inspected page URL when opening Web Inspector.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36534
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::setFrontend):
+
+2010-03-25 Antti Koivisto <koivisto@iki.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36316
+ Tiles of selected content do not update if not in viewport
+
+ Don't clip repaints to viewport when tiling is enabled.
+
+ * page/Frame.cpp:
+ (WebCore::Frame::setView):
+ (WebCore::Frame::setTiledBackingStoreEnabled):
+
+2010-03-25 Diego Gonzalez <diego.gonzalez@openbossa.org>
+
+ Reviewed by Eric Seidel.
+
+ Missing forward ENABLE_DATALIST macro to JavaScript enabled features macros
+ on WebKit.pri
+
+ [Qt] Forward ENABLE_DATALIST macro to JavaScript enabled macros
+ https://bugs.webkit.org/show_bug.cgi?id=36547
+
+ * WebCore.pri:
+
+2010-03-25 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Expect console object wrapping to fail.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36587
+
+ * inspector/front-end/InjectedScript.js:
+ (injectedScriptConstructor):
+
+2010-03-25 Joanmarie Diggs <joanmarie.diggs@gmail.com>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36371
+ [Gtk] Elements with a title attribute should not be ignored
+
+ * accessibility/AccessibilityRenderObject.cpp:
+ (AccessibilityRenderObject::accessibilityIsIgnored):
+
+2010-03-24 Steve Block <steveblock@google.com>
+
+ Reviewed by David Levin.
+
+ Adds a missing ENABLE(WORKERS) guards to the V8 bindings.
+ https://bugs.webkit.org/show_bug.cgi?id=36550
+
+ Build fix only, no new tests.
+
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::instantiateV8Object):
+
+2010-03-25 Leandro Pereira <leandro@profusion.mobi>
+
+ Reviewed by Eric Seidel.
+
+ Add EFL-specific code to platform/ScrollView.cpp and
+ platform/Scrollbar.cpp.
+ http://webkit.org/b/36305
+
+ * platform/ScrollView.cpp:
+ * platform/Scrollbar.cpp:
+
+2010-03-25 Tasuku Suzuki <tasuku.suzuki@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ [Qt]Fix compile error with QT_NO_LIBRARY
+ https://bugs.webkit.org/show_bug.cgi?id=36533
+
+ * platform/FileSystem.h:
+ * platform/qt/FileSystemQt.cpp:
+ (WebCore::unloadModule):
+
+2010-03-25 Tasuku Suzuki <tasuku.suzuki@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ [Qt]Fix compile error with QT_NO_ANIMATION
+ https://bugs.webkit.org/show_bug.cgi?id=36526
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::GraphicsLayerQtImpl::~GraphicsLayerQtImpl):
+ * platform/graphics/qt/GraphicsLayerQt.h:
+
+2010-03-25 Tony Chang <tony@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33697
+ Have dragOpFromIEOp("move") return DragOperationGeneric | DragOperationMove
+ because only returning Generic doesn't work for platforms that don't
+ have a generic operation.
+
+ Covered by existing tests (fast/events/drag-and-drop.html).
+
+ * dom/Clipboard.cpp:
+ (WebCore::dragOpFromIEOp):
+ (WebCore::Clipboard::destinationOperation):
+ (WebCore::Clipboard::setDestinationOperation):
+
+2010-03-25 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ [Qt] websocket/tests/long-invalid-header.html fails
+ https://bugs.webkit.org/show_bug.cgi?id=36492
+
+ trim message at most 128 bytes from the current position.
+ I believe it's enough data to investigate the error reason and
+ it makes test not depend on buffered size.
+
+ * websockets/WebSocketHandshake.cpp:
+ (WebCore::trimConsoleMessage):
+ (WebCore::WebSocketHandshake::readServerHandshake):
+ (WebCore::WebSocketHandshake::readHTTPHeaders):
+
+2010-03-24 Jon Honeycutt <jhoneycutt@apple.com>
+
+ <rdar://problem/7780798> Missing plug-ins should be represented by text
+ only, instead of lego block
+
+ https://bugs.webkit.org/show_bug.cgi?id=36583
+
+ Reviewed by Dan Bernstein.
+
+ * rendering/RenderEmbeddedObject.cpp:
+ (WebCore::RenderEmbeddedObject::paintReplaced):
+ Set the font rendering mode and the computed size, so that the text will
+ draw properly on Windows.
+
+2010-03-24 Vangelis Kokkevis <vangelis@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Removing unecessary redraws of LayerSkia contents:
+ https://bugs.webkit.org/show_bug.cgi?id=36470
+
+ Test: No new functionality added, no tests.
+
+ * platform/graphics/skia/LayerRendererSkia.cpp:
+ (WebCore::LayerRendererSkia::drawLayerInCanvasRecursive):
+ Debug borders now rendered at composite time rather than update time.
+ * platform/graphics/skia/LayerSkia.cpp:
+ (WebCore::LayerSkia::updateContents):
+ (WebCore::LayerSkia::drawDebugBorder):
+ Debug border drawing removed from updateContents and split into a separate method that
+ can be called at composite time.
+ (WebCore::LayerSkia::setBounds):
+ Resetting the bounds causes the layer to redraw its contents.
+ (WebCore::LayerSkia::setNeedsDisplay):
+ * platform/graphics/skia/LayerSkia.h:
+ Added declaration for drawDebugBorders method.
+
+2010-03-24 Mark Rowe <mrowe@apple.com>
+
+ Revert the portion of r56489 that dealt with port zero as it introduced some test failures.
+
+ * platform/KURL.cpp:
+ (WebCore::KURL::port): Use the "ok" argument to charactersToUIntStrict to determine whether
+ it was able to successfully parse the string as an unsigned integer, rather than relying on
+ the fact it returned zero when it failed.
+
+2010-03-24 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ * platform/text/String.cpp:
+ (WebCore::putUTF8Triple): Correct capitalization of function name.
+ (WebCore::String::utf8): Fix C-style casts.
+ (WebCore::String::fromUTF8): Remove unnecessary newline.
+ (WebCore::String::fromUTF8WithLatin1Fallback): Use early return.
+
+2010-03-24 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WebKit should treat port numbers outside the valid range as being blacklisted
+ <http://webkit.org/b/36571> / <rdar://problem/7790908>
+
+ * platform/KURL.cpp:
+ (WebCore::KURL::port): Map invalid port numbers to invalidPortNumber.
+ (WebCore::portAllowed): Add invalidPortNumber to the blacklist.
+ * platform/KURLGoogle.cpp: invalid port numbers to invalidPortNumber.
+ (WebCore::KURL::port): Add invalidPortNumber to the blacklist.
+ Also bring this in to sync with KURL. Having this identical code in two places is stupid.
+
+2010-03-24 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Add some missing exports.
+
+ * WebCore.base.exp:
+
+2010-03-24 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Switch String::latin1, String::utf8, String::fromUTF8 to
+ use WTF's Unicode conversion methods rather than TextEncoder.
+ These methods only perform simple conversion, and don't need
+ really require TextEncoder's full capability (to look up arbitrary
+ encodings by name), switching to only be dependent on WTF will
+ make it easier if we chose to move WebCore::String to WTF.
+
+ * platform/text/String.cpp:
+ (WebCore::String::latin1):
+ (WebCore::putUTF8triple):
+ (WebCore::String::utf8):
+ (WebCore::String::fromUTF8):
+
+2010-03-24 Dmitry Titov <dimich@chromium.org>
+
+ No review, rolling out r56453.
+ http://trac.webkit.org/changeset/56453
+ https://bugs.webkit.org/show_bug.cgi?id=36426
+
+ In Chromium port, it broke invalid-image-data-standalone.html
+ invalid-image-data.html multipart-wait-before-boundary.html
+ stop-crash.html win-boundary-crash.html
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::finishedLoadingDocument):
+
+2010-03-24 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Significant scroll speed degradation if Timeline has
+ an expanded record with significant number of children.
+ https://bugs.webkit.org/show_bug.cgi?id=36543
+
+
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel.prototype._updateBoundaries):
+ (WebInspector.TimelinePanel.prototype._addToRecordsWindow):
+ (WebInspector.TimelinePanel.prototype._filterRecords):
+ (WebInspector.TimelinePanel.prototype._refreshRecords):
+
+2010-03-24 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Eric Carlson.
+
+ [GStreamer] Fails to go to Loaded state because of floating point discrepancies
+ https://bugs.webkit.org/show_bug.cgi?id=35891
+
+ Use the m_fillStatus variable, which is more reliable, instead of
+ using the calculation, for the completed case.
+
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::MediaPlayerPrivate::fillTimerFired):
+
+2010-03-24 Dmitry Titov <dimich@chromium.org>
+
+ Unreviewed, Chromium test fix.
+
+ Recent r56445 added CustomEvent and a test but it didn't work on Chromium bots.
+ Test crashed due to infinte recursion because the compiler did not have the right definition of toV8(CustomEvent*)
+ and was substituting toV8(Event*).
+
+ Fixing test fast/events/custom-event.html
+
+ * bindings/v8/custom/V8EventCustom.cpp:
+
+2010-03-24 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Darin Adler.
+
+ Refactoring: HTMLFormControlElement should not have redundant null check
+ https://bugs.webkit.org/show_bug.cgi?id=36487
+
+ No new tests as there is no new functionality.
+
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::HTMLFormControlElement::dispatchFocusEvent):
+ (WebCore::HTMLFormControlElement::dispatchBlurEvent):
+
+2010-03-24 Eric Uhrhane <ericu@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ DOMCoreException needs NoStaticTables modifier
+ https://bugs.webkit.org/show_bug.cgi?id=36458
+
+ No new tests, but this shows up in tests of Database accesses from the
+ Worker thread that I'll be checking in soon. The symptom is that
+ DOMCoreException.toString() returns [object DOMException] instead of
+ something more helpful.
+
+ * dom/DOMCoreException.idl: Added NoStaticTables.
+
+2010-03-24 Drew Wilson <atwilson@chromium.org>
+
+ Reviewed by Dmitry Titov.
+
+ Failed assertion in V8Proxy::setDOMException() if worker is shutting down.
+ https://bugs.webkit.org/show_bug.cgi?id=36514
+
+ Test: none (existing worker tests suffice)
+
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::setDOMException):
+ Updated setDOMException() to check for an empty exception (due to no active context) and avoid throwing in that case.
+
+2010-03-23 Evan Martin <evan@chromium.org>
+
+ Reviewed by Dmitry Titov.
+
+ [chromium] use integral glyph widths
+ https://bugs.webkit.org/show_bug.cgi?id=36510
+
+ Despite WebKit (and Skia, to an extent) supporting non-integral
+ glyph widths, the font code path we hit in Skia only supports
+ integral glyph positions. This means that we would accumulate
+ offsets when drawing a sequence up non-integer-width glyphs
+ which would cause gaps when snapped to the pixel grid when drawing.
+
+ * platform/graphics/chromium/SimpleFontDataLinux.cpp:
+ (WebCore::SimpleFontData::platformWidthForGlyph):
+ round glyph widths to integers.
+
+2010-03-24 Dean Jackson <dino@apple.com>
+
+ Reviewed by Kevin Decker.
+
+ <rdar://problem/7785305>
+ Fix regression caused by r55576. It turned out that ensuring
+ CoreAnimation always gets a correct fill parameter caused flashing
+ as non-filled animations ended (CA briefly showed the initial animation
+ value before the style system set the final value).
+
+ * platform/graphics/mac/GraphicsLayerCA.mm:
+ (WebCore::GraphicsLayerCA::setupAnimation):
+
+2010-03-24 Hayato Ito <hayato@chromium.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Refactor computePageRects so that Mac can make use of it.
+ https://bugs.webkit.org/show_bug.cgi?id=36159
+
+ Refactoring only, so no new tests.
+
+ * WebCore.base.exp:
+ * page/PrintContext.cpp:
+ (WebCore::PrintContext::computePageRects):
+ (WebCore::PrintContext::computePageRectsWithPageSize):
+ (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
+ (WebCore::PrintContext::pageNumberForElement):
+ (WebCore::PrintContext::numberOfPages):
+ * page/PrintContext.h:
+
+2010-03-24 Jeremy Moskovich <jeremy@chromium.org>
+
+ Reviewed by Jeremy Orlow.
+
+ Add some diagnostics to try to track down cause of crash in ArchiveFactory::isArchiveMimeType().
+
+ https://bugs.webkit.org/show_bug.cgi?id=36426
+
+ No new tests as there is no new functionality.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::finishedLoadingDocument): Make copy of mimeType string to isolate crash.
+
+2010-03-24 Anton Muhin <antonm@chromium.org>
+
+ Reviewed by Nate Chapin.
+
+ Use newly introduced SetPrototype method to deal with global objects.
+ https://bugs.webkit.org/show_bug.cgi?id=36497
+
+ No new tests, should be covered by the current test infrastructure.
+
+ * bindings/v8/V8DOMWindowShell.cpp:
+ (WebCore::V8DOMWindowShell::installDOMWindow):
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::getConstructor):
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
+
+2010-03-24 Dmitry Titov <dimich@chromium.org>
+
+ Unreviewed, Chromium build fix.
+
+ * platform/chromium/PopupMenuChromium.cpp:
+ (WebCore::PopupContainer::PopupContainer): Fix order of initializers.
+ (WebCore::PopupContainer::layout): Remove unused variable.
+
+2010-03-23 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ Add a way to check if the page client is making use of
+ a QWidget.
+
+ * platform/qt/QWebPageClient.h:
+ (QWebPageClient::isQWidgetClient):
+
+2010-03-24 Jay Campan <jcampan@google.com>
+
+ Reviewed by Darin Fisher.
+
+ Making Chromium select popups not steal activation from the browser.
+ Select popups are now like autocomplete popups, shown in non-activated
+ windows.
+ https://bugs.webkit.org/show_bug.cgi?id=36062
+
+ * page/chromium/ChromeClientChromium.h:
+ * platform/chromium/PopupMenuChromium.cpp:
+ (WebCore::):
+ (WebCore::PopupListBox::setMaxHeight):
+ (WebCore::PopupListBox::disconnectClient):
+ (WebCore::PopupListBox::PopupListBox):
+ (WebCore::PopupContainer::create):
+ (WebCore::PopupContainer::PopupContainer):
+ (WebCore::PopupContainer::showPopup):
+ (WebCore::PopupContainer::showExternal):
+ (WebCore::PopupContainer::hidePopup):
+ (WebCore::PopupContainer::layout):
+ (WebCore::PopupContainer::chromeClientChromium):
+ (WebCore::PopupListBox::hidePopup):
+ (WebCore::PopupListBox::layout):
+ (WebCore::PopupMenu::~PopupMenu):
+ (WebCore::PopupMenu::show):
+ * platform/chromium/PopupMenuChromium.h:
+ (WebCore::PopupItem::):
+ (WebCore::PopupItem::PopupItem):
+ (WebCore::PopupContainerSettings::):
+ (WebCore::PopupContainer::):
+ (WebCore::PopupContainer::listBox):
+ (WebCore::PopupContainer::popupType):
+
+2010-03-10 David Levin <levin@chromium.org>
+
+ Reviewed by Oliver Hunt.
+
+ Need to move items that CanvasRenderingContext2D depends on into CanvasSurface.
+ https://bugs.webkit.org/show_bug.cgi?id=35453
+
+ Prepartory changes to allow for an OffscreenCanvas which may be used in a worker
+ or outside of the DOM.
+
+ No change in functionality, so new tests.
+
+ * dom/CanvasSurface.cpp: Moved functionality that CanvasRenderingContext2D depends on
+ into this class (and removed dependencies on document/html element).
+ (WebCore::CanvasSurface::CanvasSurface):
+ (WebCore::CanvasSurface::~CanvasSurface): Put the desctructor in the cpp file
+ to avoid needing access to ~ImageBuffer in the header file.
+ (WebCore::CanvasSurface::setSurfaceSize): Does basic items needed
+ when the size changes. It is protected to force outside callers to go
+ through HTMLCanvasElement::setSize.
+ (WebCore::CanvasSurface::toDataURL): Just moved from HTMLCanvasElement and
+ made a note about a method to fix for worker usage.
+ (WebCore::CanvasSurface::willDraw): Made this virtual to allow an overide
+ which uses the renderbox and tracks a dirtyRect.
+ (WebCore::CanvasSurface::convertLogicalToDevice): Moved and changed to
+ rely on a member variable for page scale (to avoid using the document).
+ (WebCore::CanvasSurface::createImageBuffer):
+ (WebCore::CanvasSurface::drawingContext): Simple move from HTMLCanvasElement.
+ (WebCore::CanvasSurface::buffer): Ditto.
+ (WebCore::CanvasSurface::baseTransform): Ditto.
+ * dom/CanvasSurface.h:
+ (WebCore::CanvasSurface::width): Simple move from HTMLCanvasElement.
+ (WebCore::CanvasSurface::height): Ditto.
+ (WebCore::CanvasSurface::size): Ditto.
+ (WebCore::CanvasSurface::setOriginTainted): Ditto.
+ (WebCore::CanvasSurface::originClean): Ditto.
+ (WebCore::CanvasSurface::hasCreatedImageBuffer): Ditto (with small name change).
+ * html/HTMLCanvasElement.cpp:
+ (WebCore::HTMLCanvasElement::HTMLCanvasElement): Pass in the scale factor to CanvasSurface
+ so it doesn't need the document.
+ (WebCore::HTMLCanvasElement::willDraw): Moved the relevant portion to CanvasSurface.
+ (WebCore::HTMLCanvasElement::reset): Small changes due to refactoring.
+ (WebCore::HTMLCanvasElement::paint): Ditto.
+ * html/HTMLCanvasElement.h:
+ (WebCore::HTMLCanvasElement::setSize): Ditto.
+ * platform/MIMETypeRegistry.cpp:
+ (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding): Added assert
+ to verify that this is only called on the main thread.
+ * platform/graphics/Image.cpp:
+ (WebCore::Image::nullImage): Ditto.
+ * platform/graphics/cg/ImageBufferCG.cpp:
+ (WebCore::utiFromMIMEType): Ditto.
+
+2010-03-24 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Inspector: XML Tags should not be converted to lowercase
+ https://bugs.webkit.org/show_bug.cgi?id=28600
+
+ * inspector/front-end/ElementsPanel.js:
+ (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
+ (WebInspector.ElementsPanel.prototype.decorateNodeLabel):
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeOutline.prototype.nodeNameToCorrectCase):
+ (WebInspector.ElementsTreeElement.prototype._updateChildren):
+ (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo):
+
+2010-03-03 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Antti Koivisto.
+
+ Add support for DOM Level 3 Custom Event
+ http://www.w3.org/TR/DOM-Level-3-Events
+
+ V8 Generator change by Nate Chapin <japhet@chromium.org>, Thanks!
+
+ Test: fast/events/custom-event.html
+
+ * DerivedSources.cpp:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pri:
+ * WebCore.pro:
+ * WebCore/DerivedSources.make:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSEventCustom.cpp:
+ (WebCore::toJS):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * dom/CustomEvent.cpp: Added.
+ (WebCore::CustomEvent::CustomEvent):
+ (WebCore::CustomEvent::initCustomEvent):
+ (WebCore::CustomEvent::isCustomEvent):
+ * dom/CustomEvent.h: Added.
+ (WebCore::CustomEvent::create):
+ (WebCore::CustomEvent::detail):
+ * dom/Document.cpp:
+ (WebCore::Document::createEvent):
+ * dom/Event.cpp:
+ (WebCore::Event::isCustomEvent):
+ * dom/Event.h:
+
+2010-03-24 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Error when highlighting JavaScript with an invalid mime type
+ https://bugs.webkit.org/show_bug.cgi?id=36530
+
+ * inspector/front-end/SourceTokenizer.js:
+ (WebInspector.SourceTokenizer.Registry):
+ * inspector/front-end/SourceView.js:
+ (WebInspector.SourceView.prototype._contentLoaded):
+ (WebInspector.SourceView.prototype._canonicalMimeType):
+ * inspector/front-end/TextEditorHighlighter.js:
+ (WebInspector.TextEditorHighlighter):
+
+2010-03-24 Pavel Feldman <pfeldman@chromium.org>
+
+ Not reviewed. Chromium test fix: added a frameCount check to the
+ debugger function call.
+
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::createUtilityContext):
+
+2010-03-19 Miikka Heikkinen <miikka.heikkinen@digia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Support for QT_LIBINFIX in Symbian builds
+
+ Configuring Qt with -qtlibinfix parameter will enable installing
+ an alternate version of Qt on devices that already have it on ROM.
+ This patch provides support for infixed builds of Webkit.
+
+ * WebCore.pro:
+
+2010-03-24 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Make Icon::createIconForFiles() optional.
+ https://bugs.webkit.org/show_bug.cgi?id=35072
+
+ r54923 made Icon::createIconForFiles() deprecated. However moving
+ existing icon loading code to outside of WebCore is not good. So,
+ we assume:
+ - ChromeClient::chooseIconForFiles(), renamed from iconForFiles(), is
+ the primary API to load icons.
+ - Icon::createIconForFiles() is an optional API to help
+ implementing ChromeClient::iconForFiles().
+
+ This patch removes a call to Icon::createIconForFiles() from
+ FileChooser::loadIcon(), and ChromeClient::chooseIconForFiles() of
+ non-Chromium ports calls Icon::createIconForFiles().
+
+ * WebCore.base.exp: Export FileChooser::iconLoaded(),
+ Icon::createIconForFiles(), and Icon::~Icon().
+ * WebCore.xcodeproj/project.pbxproj: Export Icon.h
+ * loader/EmptyClient.h: Rename iconForFiles() to chooseIconForFiles().
+ * page/Chrome.cpp: ditto.
+ * page/Chrome.h: ditto.
+ * page/ChromeClient.h: ditto.
+ * platform/FileChooser.cpp:
+ (WebCore::FileChooser::loadIcon):
+ * platform/graphics/Icon.h: Remove a comment on createIconForFiles().
+ * platform/graphics/chromium/IconChromiumLinux.cpp: Remove createIconForFiles().
+ * platform/graphics/chromium/IconChromiumMac.cpp: ditto.
+ * platform/graphics/chromium/IconChromiumWin.cpp: ditto.
+ * rendering/RenderFileUploadControl.cpp: Rename iconForFiles() to chooseIconForFiles().
+ * rendering/RenderFileUploadControl.h: ditto.
+
+2010-03-23 Dan Bernstein <mitz@apple.com>
+
+ Fixed typos.
+
+ * manual-tests/plugin-visible-rect-change.html:
+
+2010-03-23 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by John Sullivan.
+
+ WebCore part of
+ <rdar://problem/7197736> Plug-in clip rect does not update when overflow
+ clip changes
+ https://bugs.webkit.org/show_bug.cgi?id=36479.
+
+ * manual-tests/plugin-visible-rect-change.html: Added.
+ * platform/mac/WidgetMac.mm:
+ (WebCore::WidgetPrivate::WidgetPrivate): Added previousVisibleRect.
+ (WebCore::Widget::setFrameRect): If the visible rect changed but the
+ frame rect did not, send a -visibleRectDidChange message to the view,
+ if it responds to it.
+ (WebCore::Widget::releasePlatformWidget): Reset previousVisibleRect.
+ * rendering/RenderWidget.cpp:
+ (WebCore::RenderWidget::setWidgetGeometry): Track changes to the clip rect
+ imposed by the enclosing layer. Call Widget::setFrameRect when it changes,
+ even if the frame rect did not.
+ * rendering/RenderWidget.h:
+ (WebCore::RenderWidget::windowClipRect): Added this accessor.
+
+2010-03-23 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Assertion ASSERTION FAILED: rootLayer == m_clipRectsRoot at hulu.com
+ https://bugs.webkit.org/show_bug.cgi?id=34065
+
+ Fix another cause of assertions related to the clip rects root. Embeds
+ with zero size caused the overlap testing to fail, yet we require them to work
+ for correct compositing, so when the composited bounds is empty, use a 1x1 rect
+ for overlap testing.
+
+ Test: compositing/geometry/empty-embed-rects.html
+
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::addToOverlapMap):
+ (WebCore::RenderLayerCompositor::computeCompositingRequirements):
+
+2010-03-23 David Levin <levin@chromium.org>
+
+ Reviewed by Nate Chapin.
+
+ [chromium] XMLHttpRequest.send sends 'undefined' string when passed undefined value.
+ https://bugs.webkit.org/show_bug.cgi?id=36506
+
+ Test: http/tests/xmlhttprequest/send-undefined-and-null.html
+
+ * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
+ (WebCore::isDocumentType): Unrelated style fix: fixed the casing of the method.
+ (WebCore::V8XMLHttpRequest::sendCallback): Added check for null/undefined to do the send.
+ This mirrors what is done in the JSC bindings. Previously, sending 'null' worked because
+ the last case, which did "toWebCoreStringWithNullCheck", resulted in sending an empty
+ request body.
+
+2010-03-23 Chris Evans <cevans@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Fix hard-to-see crash due to incorrect libxml API usage.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36000
+
+ Test: fast/text/bad-encoding.html
+
+ * dom/XMLTokenizerLibxml2.cpp:
+ (WebCore::XMLTokenizer::doEnd): Avoid operations on a closed context.
+
+2010-03-23 Nate Chapin <japhet@chromium.org>
+
+ Unreviewed, revert r56376.
+
+ This revision introduced a crash in a couple of layout tests
+ on Chromium Linux.
+
+ * page/chromium/ChromeClientChromium.h:
+ * platform/chromium/PopupMenuChromium.cpp:
+ (WebCore::):
+ (WebCore::PopupContainer::create):
+ (WebCore::PopupContainer::PopupContainer):
+ (WebCore::PopupContainer::showPopup):
+ (WebCore::PopupContainer::showExternal):
+ (WebCore::PopupContainer::hidePopup):
+ (WebCore::PopupMenu::show):
+ * platform/chromium/PopupMenuChromium.h:
+ (WebCore::PopupItem::):
+ (WebCore::PopupItem::PopupItem):
+ (WebCore::PopupContainerSettings::):
+ (WebCore::PopupContainer::listBox):
+
+2010-03-23 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Simon Fraser and Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36272, make sure nth-child can work when the portion with "n" is omitted.
+
+ Added fast/css/nth-child-implied-step.html
+
+ * css/CSSGrammar.y:
+ * css/tokenizer.flex:
+
+2010-03-23 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Reduce and straighten internal use of DOMImplementation
+ https://bugs.webkit.org/show_bug.cgi?id=36501
+
+ * WebCore.xcodeproj/project.pbxproj: Xcode decided to
+ re-sort this file.
+
+ * dom/Clipboard.cpp: Removed unneeded include of DOMImplementation.h.
+
+ * dom/DOMImplementation.cpp: Removed unneeded createDocument and
+ createHTMLDocument functions. These should be done directly instead
+ of involving the DOMImplementation class.
+ * dom/DOMImplementation.h: Ditto.
+
+ * dom/DocumentType.cpp: Removed unneeded include of DOMImplementation.h.
+
+ * html/HTMLViewSourceDocument.cpp:
+ (WebCore::HTMLViewSourceDocument::createTokenizer): Don't allocate a
+ DOMImplementation object just to use a class member function.
+
+ * loader/CachedFont.cpp: Removed unneeded include of DOMImplementation.h.
+
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::responseXML): Use Document::create to create a
+ new document instead of involving DOMImplementation.
+ * xml/XSLTProcessor.cpp:
+ (WebCore::XSLTProcessor::createDocumentFromSource): Ditto. And in the case
+ where we do need to call DOMImplementation to interpret the MIME type,
+ don't allocate a DOMImplementation object just to use a class member
+ function.
+
+2010-03-23 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Maemo5 theme - all <select> elements should be rendered as menu lists.
+ https://bugs.webkit.org/show_bug.cgi?id=36367
+
+ Enabling NO_LISTBOX_RENDERING in WebCore.pri for Maemo5.
+
+ * WebCore.pri:
+
+2010-03-22 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by David Kilzer.
+
+ Upstream iPhone KeyEvent platform code and share with Mac platform
+ https://bugs.webkit.org/show_bug.cgi?id=35870
+
+ * platform/iphone/KeyEventCodesIPhone.h: Improper comment for #endif.
+ * platform/iphone/KeyEventIPhone.mm: Fixed headers.
+
+2010-03-23 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Jeremy Orlow.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36277, make sure nth-child supports the positive unary prefix (+) as well as the negative
+ one (-).
+
+ Added fast/css/nth-child-unary-prefix.html
+
+ * css/tokenizer.flex:
+
+2010-03-23 Andrey Kosyakov <caseq@chromium.org>
+
+ Reviewed by Dmitry Titov.
+
+ Change notification sent to inspector frontend on workers creation / destruction
+ to be posted asynchronously to avoid JS reenterability problems. Also, renamed
+ willDestroyWorker to didDestroyWorker to reflect that it gets called later and got
+ rid of explicit IDs for workers (use addresses instead).
+ https://bugs.webkit.org/show_bug.cgi?id=36213
+
+ * inspector/InjectedScriptHost.cpp:
+ (WebCore::InjectedScriptHost::didDestroyWorker):
+ * inspector/InjectedScriptHost.h:
+ * inspector/InjectedScriptHost.idl:
+ * inspector/InspectorController.cpp:
+ (WebCore::PostWorkerNotificationToFrontendTask::create):
+ (WebCore::PostWorkerNotificationToFrontendTask::PostWorkerNotificationToFrontendTask):
+ (WebCore::PostWorkerNotificationToFrontendTask::performTask):
+ (WebCore::InspectorController::postWorkerNotificationToFrontend):
+ (WebCore::InspectorController::didCreateWorker):
+ (WebCore::InspectorController::didDestroyWorker):
+ * inspector/InspectorController.h:
+ (WebCore::InspectorController::):
+ * inspector/InspectorFrontend.cpp:
+ (WebCore::InspectorFrontend::didDestroyWorker):
+ * inspector/InspectorFrontend.h:
+ * inspector/InspectorWorkerResource.h:
+ (WebCore::InspectorWorkerResource::create):
+ (WebCore::InspectorWorkerResource::id):
+ (WebCore::InspectorWorkerResource::InspectorWorkerResource):
+ * inspector/front-end/InjectedFakeWorker.js:
+ (InjectedFakeWorker.FakeWorker.prototype.terminate):
+ * inspector/front-end/WorkersSidebarPane.js:
+ (WebInspector.didDestroyWorker):
+ * workers/AbstractWorker.cpp:
+ (WebCore::AbstractWorker::AbstractWorker):
+ (WebCore::AbstractWorker::onDestroyWorker):
+ * workers/AbstractWorker.h:
+ (WebCore::AbstractWorker::asID):
+ * workers/SharedWorker.cpp:
+ (WebCore::SharedWorker::SharedWorker):
+ * workers/Worker.cpp:
+ (WebCore::Worker::Worker):
+
+2010-03-22 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36266, support DOM Level 3 focusin/focusout events. Add support for
+ IE onfocusin/onfocusout extensions to HTML. The old DOM level 2 names (DOMFocusIn/DOMFocusOut are still supported).
+
+ Added fast/events/focusinout.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::setFocusedNode):
+ * dom/Event.cpp:
+ (WebCore::Event::aliasedType):
+ (WebCore::Event::hasAliasedType):
+ * dom/Event.h:
+ * dom/EventNames.h:
+ * dom/EventTarget.cpp:
+ (WebCore::EventTarget::fireEventListeners):
+ * dom/EventTarget.h:
+ * dom/Node.cpp:
+ (WebCore::Node::dispatchUIEvent):
+ * html/HTMLAttributeNames.in:
+ * html/HTMLButtonElement.cpp:
+ (WebCore::HTMLButtonElement::parseMappedAttribute):
+ * html/HTMLElement.cpp:
+ (WebCore::HTMLElement::parseMappedAttribute):
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::HTMLTextFormControlElement::parseMappedAttribute):
+ * html/HTMLFrameSetElement.cpp:
+ (WebCore::HTMLFrameSetElement::parseMappedAttribute):
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::parseMappedAttribute):
+ * svg/SVGElement.cpp:
+ (WebCore::SVGElement::parseMappedAttribute):
+
+2010-03-23 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ WebCore::SelectionController::setSelection NULL pointer
+ https://bugs.webkit.org/show_bug.cgi?id=31545
+
+ Added missing NULL-check that other APIs have.
+
+ Test: svg/dom/frame-related-api-during-load.html
+
+ * svg/SVGSVGElement.cpp:
+ (WebCore::SVGSVGElement::deselectAll):
+
+2010-03-23 Qi Zhang <qi.2.zhang@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] LayoutTests/fast/canvas/fillrect_gradient.html failed
+ https://bugs.webkit.org/show_bug.cgi?id=36444
+
+ Handle duplicated or unsorted colorStop at platformDestory
+
+ * platform/graphics/qt/GradientQt.cpp:
+ (WebCore::Gradient::platformGradient):
+
+2010-03-23 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Unreviewed build fix.
+
+ Try to make the window buildbot happy.
+
+ * xml/XMLHttpRequestProgressEventThrottle.cpp:
+ * xml/XMLHttpRequestProgressEventThrottle.h: Move initialization of the
+ static const in the cpp file.
+
+2010-03-23 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: make gear menu appear on styles panel at all times.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36490
+
+ * inspector/front-end/inspector.css:
+
+2010-03-23 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: render nodes in inherited style bars as links.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36486
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/BreakpointsSidebarPane.js:
+ (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement.breakpointClicked):
+ (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement):
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylesSidebarPane.prototype._update.else.insertInheritedNodeSeparator):
+ (WebInspector.StylesSidebarPane.prototype._update):
+ (WebInspector.StylesSidebarPane.prototype._selectNode):
+ * inspector/front-end/inspector.js:
+
+2010-03-23 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ [XHR] onProgress event needs to be dispatched according to what the specification states
+ https://bugs.webkit.org/show_bug.cgi?id=18654
+
+ Test: http/tests/xmlhttprequest/xmlhttprequest-50ms-download-dispatch.html
+
+ * Android.mk:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ Added XMLHttpRequestProgressEventThrottle to the build systems.
+
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::XMLHttpRequest): Created the throttle.
+ (WebCore::XMLHttpRequest::callReadyStateChangeListener): The 'readyState' event are
+ dispatched using the XMLHttpRequestProgressEventThrottle now. For the DONE state, we
+ need to flush any pending progress event as we do not want it to be dispatched after
+ the DONE readyState event.
+ (WebCore::XMLHttpRequest::createRequest): Made this event use the
+ XMLHttpRequestProgressEventThrottle for event dispatching.
+ (WebCore::XMLHttpRequest::abort): Ditto.
+ (WebCore::XMLHttpRequest::networkError): Ditto.
+ (WebCore::XMLHttpRequest::abortError): Ditto.
+ (WebCore::XMLHttpRequest::didReceiveData): Ditto. Also fixed a potential warning.
+ (WebCore::XMLHttpRequest::suspend):
+ (WebCore::XMLHttpRequest::resume): Implemented the logic for suspend / resume.
+ * xml/XMLHttpRequest.h:
+ * xml/XMLHttpRequestProgressEventThrottle.cpp: Added.
+ (WebCore::XMLHttpRequestProgressEventThrottle::XMLHttpRequestProgressEventThrottle):
+ (WebCore::XMLHttpRequestProgressEventThrottle::~XMLHttpRequestProgressEventThrottle):
+ (WebCore::XMLHttpRequestProgressEventThrottle::dispatchProgressEvent): Implemented the bulk
+ of the event throttling here: we use a timer to do so, as long as the timer is active it means
+ that events are coming faster than the throttling time and we coalesce them.
+ (WebCore::XMLHttpRequestProgressEventThrottle::dispatchEvent): Generic method to dispatch an event.
+ (WebCore::XMLHttpRequestProgressEventThrottle::flushProgressEvent): Called when we want to dispatch
+ any pending events and stopping any further dispatching.
+ (WebCore::XMLHttpRequestProgressEventThrottle::dispatchPausedEvent): Used to dispatch the event
+ that was queued due to the object being suspended.
+ (WebCore::XMLHttpRequestProgressEventThrottle::fired): Used to dispatch any coalesced event.
+ (WebCore::XMLHttpRequestProgressEventThrottle::hasEventToDispatch): Used to check if we have
+ an event to dispatch.
+ (WebCore::XMLHttpRequestProgressEventThrottle::suspend): Marked the object as suspended.
+ (WebCore::XMLHttpRequestProgressEventThrottle::resume): Dispatched the event that was queued.
+ * xml/XMLHttpRequestProgressEventThrottle.h: Added.
+ (WebCore::):
+ (WebCore::XMLHttpRequestProgressEventThrottle::suspended):
+
+2010-03-23 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Element inspector search funtion: Error dispatching: performSearch.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36488
+
+ Test: inspector/elements-panel-search.html
+
+ * inspector/front-end/ElementsPanel.js:
+ (WebInspector.ElementsPanel.prototype.performSearch):
+ (WebInspector.ElementsPanel.prototype.addNodesToSearchResult):
+ * inspector/front-end/InjectedScript.js:
+ (injectedScriptConstructor.):
+ (injectedScriptConstructor):
+
+2010-03-23 Qi Zhang <qi.2.zhang@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] fast/canvas/patternfill-repeat.html failed.
+ https://bugs.webkit.org/show_bug.cgi?id=34477
+
+ Change Pattern to expose the repeatX and repeatY
+ At GraphicsContextQt to apply repeatX and repeatY
+
+ * platform/graphics/Pattern.h:
+ (WebCore::Pattern::repeatX):
+ (WebCore::Pattern::repeatY):
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::GraphicsContext::drawLine):
+ (WebCore::GraphicsContext::fillRect):
+ (WebCore::GraphicsContext::rotate):
+
+2010-03-23 Alex Milowski <alex@milowski.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Removed the use of beta STIX fonts.
+
+ * css/mathml.css:
+
+2010-03-23 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Holger Freyther.
+
+ [GTK] Does not build with latest GTK+ development release
+ https://bugs.webkit.org/show_bug.cgi?id=36398
+
+ Fix building with newest GTK+ versions.
+
+ * GNUmakefile.am:
+ * platform/gtk/GtkPluginWidget.cpp:
+ (WebCore::GtkPluginWidget::invalidateRect):
+ (WebCore::GtkPluginWidget::paint):
+ * platform/gtk/GtkVersioning.h: Added.
+ * platform/gtk/PlatformScreenGtk.cpp:
+ (WebCore::getVisual):
+ (WebCore::screenRect):
+ (WebCore::screenAvailableRect):
+ * platform/gtk/ScrollbarGtk.cpp:
+ (ScrollbarGtk::paint):
+ * plugins/gtk/gtk2xtbin.c:
+ (gtk_xtbin_set_position):
+ (gtk_xtbin_unrealize):
+
+2010-03-23 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Remove support for Qt v4.4
+ https://bugs.webkit.org/show_bug.cgi?id=36389
+
+ No new tests as there is no new functionality.
+
+ * WebCore.pri:
+ * WebCore.pro:
+ * platform/network/qt/ResourceHandleQt.cpp:
+ (WebCore::ResourceHandle::willLoadFromCache):
+ * platform/qt/CookieJarQt.cpp:
+ (WebCore::setCookies):
+ (WebCore::cookies):
+ * platform/qt/KURLQt.cpp:
+ (WebCore::KURL::operator QUrl):
+ * platform/qt/ScrollbarThemeQt.cpp:
+ (WebCore::ScrollbarThemeQt::paintScrollCorner):
+ * plugins/mac/PluginViewMac.cpp:
+
+2010-03-23 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Add checks if setNeedsWillValidateCheck() and
+ setNeedsValidityCheck() are called correctly.
+ https://bugs.webkit.org/show_bug.cgi?id=34924
+
+ Introduce HTMLFormControlElement::m_willValidate and
+ m_isValid. They are the caches of willValidate() and
+ isValidFormControlElement(). setNeedsWillValidateCheck() updates
+ m_willValidate and setNeedsValidityCheck() updates m_isValid.
+
+ willValidate() and isValidFormControlElement() have assertions to
+ check m_willvalidate or m_isValid has the correct state. If
+ setNeedsWillValidateCheck() or setNeedsValidityCheck() is needed
+ to be called and is not called, these assertions fail.
+
+ * html/HTMLButtonElement.h:
+ (WebCore::HTMLButtonElement::recalcWillValidate):
+ * html/HTMLFieldSetElement.h:
+ (WebCore::HTMLFieldSetElement::recalcWillValidate):
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::HTMLFormControlElement::HTMLFormControlElement):
+ (WebCore::HTMLFormControlElement::parseMappedAttribute):
+ (WebCore::HTMLFormControlElement::recalcWillValidate):
+ (WebCore::HTMLFormControlElement::willValidate):
+ (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):
+ (WebCore::HTMLFormControlElement::validationMessage):
+ (WebCore::HTMLFormControlElement::isValidFormControlElement):
+ (WebCore::HTMLFormControlElement::setNeedsValidityCheck):
+ * html/HTMLFormControlElement.h:
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::setInputType):
+ (WebCore::HTMLInputElement::parseMappedAttribute):
+ (WebCore::HTMLInputElement::setValue):
+ (WebCore::HTMLInputElement::recalcWillValidate):
+ * html/HTMLInputElement.h:
+ * html/HTMLTextAreaElement.cpp:
+ (WebCore::HTMLTextAreaElement::setNonDirtyValue):
+
+2010-03-22 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Dave Hyatt.
+
+ Web Inspector: display CSS selector source line in the styles sidebar pane.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36414
+
+ This change adds a sourceLine field into the CSSStyleRule that is populated
+ from within the parser. CSSParser is now keeping track of the line numbers
+ and last selector line number that is being used while creating CSSStyleRules.
+
+ Test: inspector/styles-source-lines.html
+
+ * css/CSSGrammar.y:
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::CSSParser):
+ (WebCore::CSSParser::lex):
+ (WebCore::CSSParser::countLines):
+ (WebCore::CSSParser::createStyleRule):
+ * css/CSSParser.h:
+ (WebCore::CSSParser::updateLastSelectorLine):
+ * css/CSSStyleRule.cpp:
+ (WebCore::CSSStyleRule::CSSStyleRule):
+ * css/CSSStyleRule.h:
+ (WebCore::CSSStyleRule::create):
+ (WebCore::CSSStyleRule::sourceLine):
+ * css/tokenizer.flex:
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::buildObjectForRule):
+ * inspector/front-end/DOMAgent.js:
+ (WebInspector.CSSStyleDeclaration.parseRule):
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylePropertiesSection):
+
+2010-03-22 Qi Zhang <qi.2.zhang@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] Fix arc function in canvas
+ https://bugs.webkit.org/show_bug.cgi?id=36296
+
+ Based on HTLM5 spec (4.8.10.1.8 Complex shapes), arc function should draw a line to previous point, not only the arc.
+
+ * platform/graphics/qt/PathQt.cpp:
+ (WebCore::Path::addArc):
+
+2010-03-19 Abhishek Arya <inferno@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36339
+ Off-by-one memory corruption fix for long invalid websockets upgrade header
+
+ Test: websocket/tests/long-invalid-header.html
+
+ * websockets/WebSocketHandshake.cpp:
+ (WebCore::WebSocketHandshake::readServerHandshake):
+
+2010-03-22 Fumitoshi Ukai <ukai@chromium.org>
+
+ Unreviewed build fix for Chromim Mac at r56376
+
+ Fix initializer order of PopupContainer.
+
+ * platform/chromium/PopupMenuChromium.cpp:
+ (WebCore::PopupContainer::PopupContainer):
+
+2010-03-22 Jay Campan <jcampan@google.com>
+
+ Reviewed by Darin Fisher.
+
+ Making Chromium select popups not steal activation from the browser.
+ Select popups are now like autocomplete popups, shown in non-activated
+ windows.
+ https://bugs.webkit.org/show_bug.cgi?id=36062
+
+ * page/chromium/ChromeClientChromium.h:
+ * platform/chromium/PopupMenuChromium.cpp:
+ (WebCore::):
+ (WebCore::PopupContainer::create):
+ (WebCore::PopupContainer::PopupContainer):
+ (WebCore::PopupContainer::~PopupContainer):
+ (WebCore::PopupContainer::showPopup):
+ (WebCore::PopupContainer::showExternal):
+ (WebCore::PopupContainer::hidePopup):
+ (WebCore::PopupMenu::show):
+ * platform/chromium/PopupMenuChromium.h:
+ (WebCore::PopupContainer::):
+ (WebCore::PopupContainer::popupType):
+
+2010-03-22 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by Nate Chapin.
+
+ [v8] Crash if the worker is terminated before its initial script is executed.
+ https://bugs.webkit.org/show_bug.cgi?id=36336
+
+ Test: fast/workers/termination-early.html
+
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): Check for 0 context. When terminated, the v8 heap initialization returns 0.
+ (WebCore::WorkerContextExecutionProxy::evaluate): Don't execute script if initialization failed.
+ * bindings/v8/WorkerContextExecutionProxy.h:
+
+2010-03-22 Andrey Kosyakov <caseq@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Support creation of fake workers before document is loaded by deferring
+ attaching of fake workers iframe until document is loaded and buffering all
+ messages addressed to worker.
+ https://bugs.webkit.org/show_bug.cgi?id=36445
+
+ * inspector/front-end/InjectedFakeWorker.js:
+ (InjectedFakeWorker.FakeWorker.prototype.postMessage):
+ (InjectedFakeWorker.FakeWorker.prototype._buildWorker):
+ (InjectedFakeWorker.FakeWorker.prototype._attachWorkerFrameToDocument):
+ (InjectedFakeWorker.FakeWorker.prototype._onWorkerFrameLoaded):
+
+2010-03-22 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Brady Eidson.
+
+ HistoryController::replaceState() should modify m_currentItem
+ instead of the current HistoryItem of the BackForwardList.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36435
+
+ Test: fast/loader/stateobjects/replacestate-in-iframe.html
+
+ * loader/HistoryController.cpp:
+ (WebCore::HistoryController::replaceState):
+
+2010-03-22 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by David Kilzer.
+
+ Upstream Part of the iPhone Platform sharing code with the Mac Platform
+ https://bugs.webkit.org/show_bug.cgi?id=35870
+ <rdar://problem/7707283> and <rdar://problem/7707318>
+
+ Part 3 of 3: Shared code between iphone and mac. The shared code was
+ refactored to be usable by both platforms without platform specific
+ typing, meaning no NSEvent versus WebEvent special cases.
+
+ Shared code usable by either mac or iphone platforms.
+
+ * platform/cocoa/KeyEventCocoa.h:
+ * platform/cocoa/KeyEventCocoa.mm:
+ (WebCore::keyIdentifierForCharCode):
+ (WebCore::windowsKeyCodeForKeyCode):
+ (WebCore::windowsKeyCodeForCharCode):
+
+ Make use of the shared code. Keep anything platform specific in the
+ original file before calling the shared code.
+
+ * platform/iphone/KeyEventIPhone.mm:
+ (WebCore::keyIdentifierForKeyEvent):
+ * platform/mac/KeyEventMac.mm:
+ (WebCore::keyIdentifierForKeyEvent):
+ (WebCore::windowsKeyCodeForKeyEvent):
+
+2010-03-22 Kevin Decker <kdecker@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36328
+
+ * rendering/RenderEmbeddedObject.cpp:
+ (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): Fix a find/repalce mistake from my earlier patch.
+ Rename m_setShowsMissingPluginIndicator -> m_showsMissingPluginIndicator.
+ (WebCore::RenderEmbeddedObject::updateWidget): Don't update the widget if we're showing
+ the missing plug-in indicator.
+ (WebCore::RenderEmbeddedObject::paint):Fix a find/repalce mistake from my earlier patch.
+ Rename m_setShowsMissingPluginIndicator -> m_showsMissingPluginIndicator.
+ (WebCore::RenderEmbeddedObject::paintReplaced): Ditto.
+ * rendering/RenderEmbeddedObject.h: Ditto.
+ (WebCore::RenderEmbeddedObject::setShowsMissingPluginIndicator): Ditto.
+ (WebCore::RenderEmbeddedObject::showsMissingPluginIndicator): Ditto.
+
+2010-03-22 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by David Kilzer.
+
+ Upstream Part of the iPhone Platform sharing code with the Mac Platform
+ https://bugs.webkit.org/show_bug.cgi?id=35870
+ <rdar://problem/7707283>
+
+ Part 2 of 3: No changes other than moving code around.
+ Copied KeyEvent function from platform/mac to a platform/cocoa shared directory.
+
+ * WebCore.xcodeproj/project.pbxproj: Added cocoa group and new files.
+ * platform/cocoa/KeyEventCocoa.h: Added.
+ * platform/cocoa/KeyEventCocoa.mm: Copied from WebCore/platform/mac/KeyEventMac.mm.
+ (WebCore::keyIdentifierForKeyEvent):
+ (WebCore::windowsKeyCodeForKeyEvent): Include the shared code.
+ * platform/mac/KeyEventMac.mm:
+
+2010-03-22 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by David Kilzer.
+
+ Part 1 of 3: Upstream iPhone KeyEvent platform code and share with Mac platform
+ https://bugs.webkit.org/show_bug.cgi?id=35870
+ <rdar://problem/7707283>
+
+ * WebCore.xcodeproj/project.pbxproj: Added iphone group and new files.
+ * platform/iphone: Added.
+ * platform/iphone/KeyEventCodesIPhone.h: Added.
+ * platform/iphone/KeyEventIPhone.mm: Added. Ensure PLATFORM(IPHONE)
+ * platform/mac/KeyEventMac.mm: Ensure PLATFORM(MAC)
+
+2010-03-22 Kevin Decker <kdecker@apple.com>
+
+ Attempt to fix the Leopard build.
+ * rendering/RenderEmbeddedObject.cpp: Add ".f" to contants.
+
+2010-03-22 Justin Schuh <jschuh@chromium.org>
+
+ Reviewed by Dirk Schulze.
+
+ Out of bounds read in SVG feColorMatrix filter
+ https://bugs.webkit.org/show_bug.cgi?id=32714
+
+ Prevents an invalid read when a valid values attribute is not
+ supplied for an feColorMatrix SVG filter. Also fixes general
+ handling of missing or invalid values attribute.
+
+ Tests: svg/filters/feColorMatrix-invalid-value.svg
+ svg/filters/feColorMatrix-values.svg
+
+ * svg/SVGFEColorMatrixElement.cpp:
+ (WebCore::SVGFEColorMatrixElement::build):
+
+2010-03-22 Philippe Normand <pnormand@igalia.com>
+
+ Reviewed by Eric Carlson.
+
+ [GStreamer] Use ImageBuffer API to do painting
+ https://bugs.webkit.org/show_bug.cgi?id=35783
+
+ New ImageGStreamer class abstracting the conversion of GStreamer
+ buffers to cairo surfaces. Using this makes the painting code of
+ the player more generic.
+
+ * GNUmakefile.am:
+ * platform/graphics/gstreamer/ImageGStreamer.h: Added.
+ (WebCore::ImageGStreamer::image):
+ * platform/graphics/gstreamer/ImageGStreamerCairo.cpp: Added.
+ (ImageGStreamer::createImage):
+ (ImageGStreamer::ImageGStreamer):
+ (ImageGStreamer::~ImageGStreamer):
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::MediaPlayerPrivate::paint):
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
+
+2010-03-22 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix for <rdar://problem/7766437> With Web Inspector opened, a crash
+ occurs at Webcore:getMatchedCSSRules() when navigating to a
+ previous page
+
+ defaultView() can legitimately by null (as it is in this case), so
+ it must be null-checked.
+
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::getStyles):
+ (WebCore::InspectorDOMAgent::getComputedStyle):
+ (WebCore::InspectorDOMAgent::getMatchedCSSRules):
+
+2010-03-22 Kevin Decker <kdecker@apple.com>
+
+ Reviewed by Darin.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36328
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::loadPlugin): Call setShowsMissingPluginIndicator(true) in cases that fail
+ to generate a widget.
+ * rendering/RenderEmbeddedObject.cpp: Added new missing plug-in related static constants
+ (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): Initialize newly boolean to false.
+ (WebCore::RenderEmbeddedObject::paint): Added.
+ (WebCore::RenderEmbeddedObject::paintReplaced): Added. Draws a subtle rounded rectangle
+ containing the text "Missing Plug-in".
+ * rendering/RenderEmbeddedObject.h: Added the following two methods below.
+ (WebCore::RenderEmbeddedObject::setShowsMissingPluginIndicator):
+ (WebCore::RenderEmbeddedObject::showsMissingPluginIndicator):
+ * rendering/RenderWidget.h: Moved paint(PaintInfo&, int, int) from private to protected.
+
+2010-03-22 Jakub Wieczorek <faw217@gmail.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Phonon media backend: expose supported MIME types to WebCore
+
+ https://bugs.webkit.org/show_bug.cgi?id=33453
+
+ MediaPlayerPrivate should expose the MIME types that are supported
+ by the underlying backend in Phonon.
+
+ * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
+ (WebCore::MediaPlayerPrivate::supportedTypesCache):
+ (WebCore::MediaPlayerPrivate::getSupportedTypes):
+ (WebCore::MediaPlayerPrivate::supportsType):
+ * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
+
+2010-03-22 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: AuditRules still use getMatchedCSSRules as a part of the img-related audit.
+ https://bugs.webkit.org/show_bug.cgi?id=36424
+
+ * inspector/front-end/AuditRules.js:
+ (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
+ (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.receivedImages):
+ (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.pushImageNodes):
+ * inspector/front-end/InjectedScript.js:
+ (injectedScriptConstructor):
+
+2010-03-22 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ TextBreakIteratorICU.cpp is incompatible with new UBreakIterator type in ICU 4.4
+ https://bugs.webkit.org/show_bug.cgi?id=36381
+
+ * platform/text/TextBreakIteratorICU.cpp:
+ (WebCore::setUpIterator): Use reinterpret_cast instead of static_cast or relying
+ on conversion to void*.
+ (WebCore::textBreakFirst): Ditto.
+ (WebCore::textBreakLast): Ditto.
+ (WebCore::textBreakNext): Ditto.
+ (WebCore::textBreakPrevious): Ditto.
+ (WebCore::textBreakPreceding): Ditto.
+ (WebCore::textBreakFollowing): Ditto.
+ (WebCore::textBreakCurrent): Ditto.
+ (WebCore::isTextBreak): Ditto.
+ (WebCore::setUpIteratorWithRules): Ditto.
+
+2010-03-22 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Typo in GPL license text
+ https://bugs.webkit.org/show_bug.cgi?id=36442
+
+ Fix typo - "aint with this library" -> "along with this library".
+
+ * bindings/scripts/CodeGenerator.pm:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bindings/scripts/CodeGeneratorObjC.pm:
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/scripts/IDLParser.pm:
+ * bindings/scripts/IDLStructure.pm:
+ * bindings/scripts/generate-bindings.pl:
+
+2010-03-22 Jakub Wieczorek <jwieczorek@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Don't construct a QLineEdit every time when painting a text field
+ https://bugs.webkit.org/show_bug.cgi?id=36373
+
+ Instead, keep one instance per RenderTheme around.
+
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::findFrameLineWidth):
+
+2010-03-22 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Multiselect Popup - adjusting QtAbstractWebPopup
+ https://bugs.webkit.org/show_bug.cgi?id=36186
+
+ QtAbstractWebPopup must provide new methods to be used by its descendants that
+ wish to handle <select multiple> elements.
+
+ * platform/qt/QtAbstractWebPopup.cpp:
+ (WebCore::QtAbstractWebPopup::selectItem):
+ (WebCore::QtAbstractWebPopup::multiple):
+ * platform/qt/QtAbstractWebPopup.h:
+
+2010-03-22 Alex Milowski <alex@milowski.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Added basic support for mfrac (fractions)
+
+ Test: mathml/presentation/fractions.xhtml
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * mathml/MathMLInlineContainerElement.cpp:
+ (WebCore::MathMLInlineContainerElement::createRenderer):
+ * mathml/RenderMathMLFraction.cpp: Added.
+ (WebCore::RenderMathMLFraction::RenderMathMLFraction):
+ (WebCore::RenderMathMLFraction::updateFromElement):
+ (WebCore::RenderMathMLFraction::addChild):
+ * mathml/RenderMathMLFraction.h: Added.
+
+2010-03-22 Kevin Decker <kdecker@apple.com>
+
+ Reviewed by John Sullivan.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36328
+
+ * page/mac/WebCoreViewFactory.h: Added -missingPluginText method
+ * platform/LocalizedStrings.h: Added missingPluginText()
+ * platform/gtk/LocalizedStringsGtk.cpp: Likewise.
+ * platform/mac/LocalizedStringsMac.mm: Same here.
+ * platform/qt/Localizations.cpp: Ditto.
+
+2010-03-22 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Handle worker exceptions in V8MessageHandler like it's done in regular documents. This way all worker exceptions will be logged in the console not only those which happen in event listeners.
+
+ https://bugs.webkit.org/show_bug.cgi?id=31171
+
+ * bindings/v8/V8AbstractEventListener.cpp:
+ (WebCore::V8AbstractEventListener::invokeEventHandler): Removed explicit call to reportException.
+ * bindings/v8/V8Utilities.cpp: reportException function was removed since it's not used.
+ (WebCore::getScriptExecutionContext):
+ * bindings/v8/V8Utilities.h:
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ (WebCore::v8MessageHandler):
+ (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): Setup message handler when first worker context is created.
+
+2010-03-22 Leandro Pereira <leandro@profusion.mobi>
+
+ Reviewed by Simon Hausmann.
+
+ Add EFL-specific code to page/EventHandler.cpp.
+ http://webkit.org/b/36306
+
+ * page/EventHandler.cpp:
+
+2010-03-22 Leandro Pereira <leandro@profusion.mobi>
+
+ Reviewed by Simon Hausmann.
+
+ Add EFL-specific code to platform/DragImage.h and
+ platform/DragData.h.
+ http://webkit.org/b/36310
+
+ * platform/DragImage.h:
+ * platform/DragData.h:
+
+2010-03-22 Leandro Pereira <leandro@profusion.mobi>
+
+ Reviewed by Simon Hausmann.
+
+ Add EFL-specific code to platform/FileSystem.h.
+ http://webkit.org/b/36313
+
+ * platform/FileSystem.h:
+
+2010-03-22 Leandro Pereira <leandro@profusion.mobi>
+
+ Reviewed by Simon Hausmann.
+
+ Add EFL-specific code to platform/Cursor.h.
+ http://webkit.org/b/36319
+
+ * platform/Cursor.h:
+
+2010-03-22 Leandro Pereira <leandro@profusion.mobi>
+
+ Reviewed by Simon Hausmann.
+
+ Add EFL-specific code to platform/NotImplemented.h.
+ http://webkit.org/b/36320
+
+ * platform/NotImplemented.h:
+
+2010-03-21 Kim Grönholm <kim.gronholm@nomovok.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] GraphicsLayer: matrix interpolations in transform-animations don't behave correctly
+ https://bugs.webkit.org/show_bug.cgi?id=35520
+
+ The case where the list of source and target transform operations are
+ not the same but have the same size needs to be special-cased in
+ GraphicsLayerQt, as well as the case where the source or target
+ operation list is empty. The URLs listed here render correctly after
+ applying the patch.
+
+ Tests: https://bug-35520-attachments.webkit.org/attachment.cgi?id=49890
+ https://bug-35520-attachments.webkit.org/attachment.cgi?id=49889
+
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::TransformAnimationQt::applyFrame):
+
+2010-03-21 Dmitry Gorbik <socket.h@gmail.com>
+
+ <http://webkit.org/b/14858> <col> width ignored when not tied to a single cell
+
+ Reviewed by David Kilzer.
+
+ Fixed width calculation for cells with span when <col> is defined.
+
+ Test: fast/table/col-width-span-expand.html
+
+ * rendering/RenderTableCell.cpp:
+ (WebCore::RenderTableCell::styleOrColWidth): Added the calculation of cell width
+ in case of <col> defined and span > 1.
+
+2010-03-20 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Kenneth Christiansen.
+ Patch by Antonio Gomes <tonikitoo@webkit.org>
+
+ Spatial Navigation: Code simplification in FocusController.cpp and SpatialNavigation.cpp (part I)
+ https://bugs.webkit.org/show_bug.cgi?id=36168
+
+ Make use of isNull and document methods introduced in FocusCandidate class by patch in bug 36167.
+ No functionalty change.
+
+ * page/FocusController.cpp:
+ (WebCore::updateFocusCandidateIfCloser):
+ * page/SpatialNavigation.cpp:
+ (WebCore::distanceInDirection):
+
+2010-03-20 Kevin Ollivier <kevino@theolliviers.com>
+
+ [wx] Build fixes after recent changes.
+
+ * platform/graphics/wx/ImageWx.cpp:
+ * wscript:
+
+2010-03-20 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by David Kilzer.
+
+ Assertion failure in media/video-controls-with-mutation-event-handler.html
+ https://bugs.webkit.org/show_bug.cgi?id=36376
+
+ Test: media/video-controls-with-mutation-event-handler.html
+
+ Break early (when not attached) in the defaultEventHandler before the
+ slider is completely set up.
+
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlTimelineElement::defaultEventHandler):
+ (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
+ * rendering/RenderMedia.cpp:
+ (WebCore::RenderMedia::createVolumeSlider):
+
+2010-03-19 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Dan Bernstein.
+
+ WebCore::RenderButton::styleDidChange ReadAV@NULL (6739b7fe455ecb54a6812c0866c3b47c)
+ https://bugs.webkit.org/show_bug.cgi?id=34641
+
+ Don't dig into buttons and menu lists when finding which element
+ should be modified by :first-letter pseudo class. Even before
+ this change, we didn't dig into inline buttons and menu lists as
+ they are replaced so this issue wasn't found long time.
+
+ Test: fast/css/first-letter-block-form-controls-crash.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::updateFirstLetter):
+
+2010-03-19 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ Change XSSAuditor block syntax
+ https://bugs.webkit.org/show_bug.cgi?id=34436
+
+ Update our blocking syntax to something more reasonable. Also,
+ implemented a way for a web site to disable the filter.
+
+ Tests: http/tests/security/xssAuditor/no-protection-script-tag.html
+ http/tests/security/xssAuditor/xss-protection-parsing-01.html
+
+ * page/XSSAuditor.cpp:
+ (WebCore::XSSAuditor::xssProtection):
+ (WebCore::XSSAuditor::findInRequest):
+ * page/XSSAuditor.h:
+ * platform/network/HTTPParsers.cpp:
+ (WebCore::skipToken):
+ (WebCore::parseXSSProtectionHeader):
+ * platform/network/HTTPParsers.h:
+ (WebCore::):
+
+2010-03-19 Eric Uhrhane <ericu@chromium.org>
+
+ Reviewed by Dmitry Titov.
+
+ Refactor DatabaseTracker.cpp for thread safety
+ https://bugs.webkit.org/show_bug.cgi?id=34991
+
+ This enables calling into DatabaseTracker from multiple context threads,
+ as will happen once Workers can access the Database. It required a fair
+ amount of reshuffling of locks. I ended up splitting the public
+ interface [calls that take locks and call private functions] from the
+ implementations [calls that assert that locks are already held] in order
+ to avoid lock conflicts. I also had to make sure we weren't sharing
+ Strings or SecurityOrigins across threads.
+
+ No new tests.
+
+ Allow access to database handles from multiple threads IFF SQLite is new enough and the user requests it.
+
+ * platform/sql/SQLiteDatabase.cpp:
+ (WebCore::SQLiteDatabase::SQLiteDatabase):
+ (WebCore::SQLiteDatabase::disableThreadingChecks):
+ * platform/sql/SQLiteDatabase.h:
+ (WebCore::SQLiteDatabase::sqlite3Handle):
+ (WebCore::SQLiteDatabase::disableThreadingChecks):
+
+ Remove an asynchronous call from Database::close back to the execution thread, so that cleanup can be more deterministic.
+
+ * storage/Database.cpp:
+ (WebCore::Database::markAsDeletedAndClose):
+ (WebCore::Database::close):
+ * storage/Database.h:
+ (WebCore::Database::):
+ * storage/DatabaseDetails.h:
+ (WebCore::DatabaseDetails::DatabaseDetails):
+ (WebCore::DatabaseDetails::thread):
+ * storage/DatabaseTask.cpp:
+ (WebCore::DatabaseCloseTask::doPerformTask):
+ * storage/DatabaseThread.cpp:
+ (WebCore::DatabaseThread::databaseThread):
+
+ Any Strings that get stored in DatabaseTracker, and any Strings returned from DatabaseTracker, are now threadsafeCopies.
+ Public functions now take all needed locks, then generally call only private functions [there are a few exceptions: deletion functions and origins()].
+ Private functions no longer take locks.
+ m_quotaMapGuard becomes m_databaseGuard, and now protects m_database, m_quotaMap, m_proposedDatabases, m_databaseDirectoryPath, m_originsBeingDeleted, m_beingCreated, and m_beingDeleted.
+ m_proposedDatabases replaces m_proposedDatabase, to account for reentrancy.
+
+ * storage/DatabaseTracker.h:
+ * storage/DatabaseTracker.cpp:
+ (WebCore::DatabaseTracker::originQuotaManagerNoLock):
+ (WebCore::DatabaseTracker::originQuotaManager):
+ (WebCore::DatabaseTracker::DatabaseTracker):
+ (WebCore::DatabaseTracker::setDatabaseDirectoryPath):
+ (WebCore::DatabaseTracker::databaseDirectoryPath):
+ (WebCore::DatabaseTracker::trackerDatabasePath):
+ (WebCore::DatabaseTracker::openTrackerDatabase):
+ (WebCore::DatabaseTracker::canEstablishDatabase):
+ (WebCore::DatabaseTracker::hasEntryForOriginNoLock):
+ (WebCore::DatabaseTracker::hasEntryForOrigin):
+ (WebCore::DatabaseTracker::hasEntryForDatabase):
+ (WebCore::DatabaseTracker::originPath):
+ (WebCore::DatabaseTracker::fullPathForDatabaseNoLock):
+ (WebCore::DatabaseTracker::fullPathForDatabase):
+ (WebCore::DatabaseTracker::populateOrigins):
+ (WebCore::DatabaseTracker::origins):
+ (WebCore::DatabaseTracker::databaseNamesForOriginNoLock):
+ (WebCore::DatabaseTracker::databaseNamesForOrigin):
+ (WebCore::DatabaseTracker::detailsForNameAndOrigin):
+ (WebCore::DatabaseTracker::setDatabaseDetails):
+ (WebCore::DatabaseTracker::usageForDatabase):
+ (WebCore::DatabaseTracker::addOpenDatabase):
+ (WebCore::DatabaseTracker::removeOpenDatabase):
+ (WebCore::DatabaseTracker::usageForOriginNoLock):
+ (WebCore::DatabaseTracker::usageForOrigin):
+ (WebCore::DatabaseTracker::quotaForOriginNoLock):
+ (WebCore::DatabaseTracker::quotaForOrigin):
+ (WebCore::DatabaseTracker::setQuota):
+ (WebCore::DatabaseTracker::addDatabase):
+ (WebCore::DatabaseTracker::deleteAllDatabases):
+ (WebCore::DatabaseTracker::deleteOrigin):
+ (WebCore::DatabaseTracker::deleteDatabase):
+ (WebCore::DatabaseTracker::deleteDatabaseFile):
+ (WebCore::DatabaseTracker::setClient):
+ (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):
+ (WebCore::DatabaseTracker::notifyDatabasesChanged):
+
+ These functions keep track of in-progress deletions and creations, so that we can make sure nobody every deletes a database file while a live database is using it.
+ (WebCore::DatabaseTracker::canCreateDatabase):
+ (WebCore::DatabaseTracker::recordCreatingDatabase):
+ (WebCore::DatabaseTracker::doneCreatingDatabase):
+ (WebCore::DatabaseTracker::creatingDatabase):
+ (WebCore::DatabaseTracker::canDeleteDatabase):
+ (WebCore::DatabaseTracker::recordDeletingDatabase):
+ (WebCore::DatabaseTracker::doneDeletingDatabase):
+ (WebCore::DatabaseTracker::deletingDatabase):
+ (WebCore::DatabaseTracker::canDeleteOrigin):
+ (WebCore::DatabaseTracker::deletingOrigin):
+ (WebCore::DatabaseTracker::recordDeletingOrigin):
+ (WebCore::DatabaseTracker::doneDeletingOrigin):
+
+ Any SecurityOrigins stored in OriginQuotaManager are now threadsafeCopies of inputs. There's a new tryLock() function in addition to the existing lock().
+
+ * storage/OriginQuotaManager.cpp:
+ (WebCore::OriginQuotaManager::tryLock):
+ (WebCore::OriginQuotaManager::trackOrigin):
+ * storage/OriginQuotaManager.h:
+
+ * page/SecurityOrigin.cpp:
+ (WebCore::SecurityOrigin::databaseIdentifier):
+ Removed DEFINE_STATIC_LOCAL wrapper on a local variable; it appears to have been a small optimization, but it's not thread-safe.
+
+2010-03-19 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Antti Koivisto.
+
+ Multiselect popups - rendering
+ https://bugs.webkit.org/show_bug.cgi?id=36006
+
+ The objective of this patch is to create a compile time flag that can be used
+ to force all <select> elements to be rendered as menu lists.
+
+ Theme stylesheet mechanism has been used to change the appearance of the elements.
+
+ Class QtStyleOptionWebComboBox has been introduced to provide to QStyle objects
+ the needed information to render <select multiple> comboboxes.
+
+ * WebCore.pri:
+ * WebCore.pro:
+ * css/themeQtNoListboxes.css: Added.
+ (select[size][multiple]):
+ * dom/SelectElement.h:
+ (WebCore::SelectElementData::usesMenuList):
+ * platform/qt/QtStyleOptionWebComboBox.h: Added.
+ (WebCore::QtStyleOptionWebComboBox::QtStyleOptionWebComboBox):
+ (WebCore::QtStyleOptionWebComboBox::multiple):
+ (WebCore::QtStyleOptionWebComboBox::checkMultiple):
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::RenderThemeQt::extraDefaultStyleSheet):
+ (WebCore::RenderThemeQt::paintMenuList):
+ (WebCore::RenderThemeQt::paintMenuListButton):
+ * platform/qt/RenderThemeQt.h:
+
+2010-03-19 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Oliver Hunt.
+
+ Update WebGLArray.slice() to new spec
+ https://bugs.webkit.org/show_bug.cgi?id-35612
+
+ * bindings/js/JSWebGLArrayCustom.cpp: Adding support for default inputs.
+ (WebCore::JSWebGLArray::slice):
+ * bindings/v8/custom/V8WebGLArrayCustom.cpp: Ditto.
+ (WebCore::V8WebGLArray::sliceCallback):
+ * html/canvas/WebGLArray.cpp: Map start/end to offset/length.
+ (WebCore::WebGLArray::calculateOffsetAndLength):
+ * html/canvas/WebGLArray.h: Modified slice parameters.
+ * html/canvas/WebGLArray.idl: Define custom binding for slice().
+ * html/canvas/WebGLByteArray.cpp: Modified slice parameters.
+ (WebCore::WebGLByteArray::slice):
+ * html/canvas/WebGLByteArray.h: Ditto.
+ * html/canvas/WebGLFloatArray.cpp: Ditto.
+ (WebCore::WebGLFloatArray::slice):
+ * html/canvas/WebGLFloatArray.h: Ditto.
+ * html/canvas/WebGLIntArray.cpp: Ditto.
+ (WebCore::WebGLIntArray::slice):
+ * html/canvas/WebGLIntArray.h: Ditto.
+ * html/canvas/WebGLShortArray.cpp: Ditto.
+ (WebCore::WebGLShortArray::slice):
+ * html/canvas/WebGLShortArray.h: Ditto.
+ * html/canvas/WebGLUnsignedByteArray.cpp: Ditto.
+ (WebCore::WebGLUnsignedByteArray::slice):
+ * html/canvas/WebGLUnsignedByteArray.h: Ditto.
+ * html/canvas/WebGLUnsignedIntArray.cpp: Ditto.
+ (WebCore::WebGLUnsignedIntArray::slice):
+ * html/canvas/WebGLUnsignedIntArray.h: Ditto.
+ * html/canvas/WebGLUnsignedShortArray.cpp: Ditto.
+ (WebCore::WebGLUnsignedShortArray::slice):
+ * html/canvas/WebGLUnsignedShortArray.h: Ditto.
+
+2010-03-19 Yong Li <yong.li@torchmobile.com> and Andy Estes <aestes@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Ensure the segments inside SharedBuffer are merged before constructing
+ a CFData with it.
+
+ https://bugs.webkit.org/show_bug.cgi?id=50843
+
+ * manual-tests/WebKitSite.webarchive: Added.
+ * manual-tests/webarchive-test.html: Added.
+ * platform/cf/SharedBufferCF.cpp:
+ (WebCore::SharedBuffer::createCFData):
+
+2010-03-19 Justin Schuh <jschuh@chromium.org>
+
+ Reviewed by Oliver Hunt.
+
+ Security: ReadAV@NULL for negative feMorphology filter radius
+ https://bugs.webkit.org/show_bug.cgi?id=34566
+
+ Prevents building the filter if either radius is negative.
+ Catches negative radii resulting from conversions.
+
+ Test: svg/filters/feMorphology-invalid-radius.svg
+
+ * svg/SVGFEMorphologyElement.cpp:
+ (WebCore::SVGFEMorphologyElement::build):
+ * svg/graphics/filters/SVGFEMorphology.cpp:
+ (WebCore::FEMorphology::apply):
+
+2010-03-19 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Fixed a crash with AnimationController getting deleted out from under itself.
+
+ It's possible for the Frame that owns an AnimationController to get deleted
+ in the EndTransitionEvent (or other animation events) to get deleted in the
+ event handler. Normally this case is protected against by preventing the Frame
+ from getting deleted until the end of the runloop. But native uses of the
+ WebView can subvert this protection. So I added a protector to the
+ animation event dispatcher to protect it in those cases.
+
+ Test: transitions/transition-end-event-destroy-iframe.html
+
+ * page/animation/AnimationController.cpp:
+ (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
+
+2010-03-19 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Antti Koivisto.
+
+ Multiselect Popup - PopupMenuClient extension
+ https://bugs.webkit.org/show_bug.cgi?id=36178
+
+ PopupMenuClient class is the interface used by combobox popup implementations.
+ It needs to be extended to handle <select multiple> needs.
+
+ A new interface named ListPopupMenuClient that inherits from PopupMenuClient was created.
+ The use of this new class instead of adding methods to PopupMenuClient avoids changes
+ in other non related implementations of PopupMenuClient.
+
+ RenderMenuList has changed to inherit ListPopupMenuClient instead of PopupMenuClient
+ and to have the new methods implemented.
+
+ * platform/PopupMenuClient.h:
+ * rendering/RenderMenuList.cpp:
+ (WebCore::RenderMenuList::listBoxSelectItem):
+ (WebCore::RenderMenuList::multiple):
+ * rendering/RenderMenuList.h:
+
+2010-03-19 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36387
+ REGRESSION: Can "uncheck" radio buttons by clicking on them
+
+ My change in r56174 caused radio buttons and checkboxes to go down the same code path by virtue
+ of allowsIndeterminate(), but this broke save/restore behavior on radio buttons.
+
+ Fix by saving and restoring both the intermediate and checked state for radio buttons
+ and checkboxes, as well as the "current radio button" state.
+
+ Test: fast/forms/radio-checkbox-restore-indeterminate.html
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::EventHandlingState::EventHandlingState): New struct to hold state between preDispatchEventHandler()
+ and postDispatchEventHandler().
+ (WebCore::HTMLInputElement::preDispatchEventHandler): Store intermedate and checked state
+ and the current radio button.
+ (WebCore::HTMLInputElement::postDispatchEventHandler): Restore state as appropriate.
+ * html/HTMLInputElement.h: Add a comment to clarify how 'intermediate' interacts with 'checked', according
+ to the spec.
+
+2010-03-19 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: caret moves past prompt in javascript console
+ https://bugs.webkit.org/show_bug.cgi?id=26602
+
+ Having noticed any Element children besides a leading <br> (which are empty
+ text nodes), WebCore editing facility thinks it should delete the <br>,
+ thus clearing away the text prompt contents.
+
+ * inspector/front-end/TextPrompt.js:
+ (WebInspector.TextPrompt.prototype.clearAutoComplete):
+ (WebInspector.TextPrompt.prototype._completionsReady):
+ * inspector/front-end/utilities.js:
+ (Element.prototype.pruneEmptyTextNodes):
+
+2010-03-19 Adam Roben <aroben@apple.com>
+
+ Windows clean build fix after r56192
+
+ * WebCore.vcproj/WebCore.vcproj: Copy headers from
+ platform/graphics/cg to $WebKitOutputDir as part of the post-build
+ event so that WebKit can use them. (The only one we currently require
+ is FontPlatformData.h.)
+
+ * platform/graphics/win/FontPlatformDataCGWin.cpp: Touched to force a
+ build.
+
+2010-03-19 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by David Kilzer.
+
+ Assertion failure in media/video-controls-with-mutation-event-handler.html
+ https://bugs.webkit.org/show_bug.cgi?id=36376
+
+ Fix crashing test. Underlying the media element's volume slider is a
+ range input, which sanitizes values before expected on the media control.
+
+ * rendering/RenderMedia.cpp:
+ (WebCore::RenderMedia::createVolumeSlider):
+
+2010-03-19 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ 3 of the new HTML5 loading events need to be asynchronous.
+
+ Laying the groundwork for:
+ https://bugs.webkit.org/show_bug.cgi?id=36201
+ https://bugs.webkit.org/show_bug.cgi?id=36202
+ https://bugs.webkit.org/show_bug.cgi?id=36334
+ https://bugs.webkit.org/show_bug.cgi?id=36335
+
+ Document already had an asynchronous event delivery mechanism for storage events, so
+ we can repurpose that for all async events.
+
+ No new tests. (No change in behavior)
+
+ * dom/Document.cpp:
+ (WebCore::Document::Document):
+ (WebCore::Document::implicitClose): Use Document::schedule* for the related events.
+ (WebCore::Document::enqueueEvent): Renamed from enqueueStorageEvent
+ (WebCore::Document::pendingEventTimerFired): Renamed from "storageEventTimerFired"
+ (WebCore::Document::statePopped): Use Document::schedulePopstateEvent
+ (WebCore::Document::enqueuePageshowEvent): All Pageshow events are piped through here.
+ This will be made asynchronous in a separate patch.
+ (WebCore::Document::enqueueHashchangeEvent): All Hashchange events are piped through here.
+ This will be made asynchronous in a separate patch.
+ (WebCore::Document::enqueuePopstateEvent): All Popstate events are piped through here.
+ This will be made asynchronous in a separate patch.
+ * dom/Document.h:
+ (WebCore::):
+
+ * history/CachedFrame.cpp:
+ (WebCore::CachedFrameBase::restore): Use Document::enqueuePageshowEvent
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::loadInSameDocument): Use Document::enqueueHashchangeEvent
+
+ * storage/StorageEventDispatcher.cpp:
+ (WebCore::StorageEventDispatcher::dispatch): Use Document::enqueueEvent
+
+2010-03-19 Kevin Decker <kdecker@apple.com>
+
+ Reviewed by Darin Adler and Brady Eidson.
+
+ First step toward:
+ https://bugs.webkit.org/show_bug.cgi?id=36328
+
+ This is the first step torward eliminating the WebKit WebNullPluginView class. The responsibility for this will soon
+ be in platform-independent code in WebCore. The plan is to change RenderEmbeddedObject and give it the capability of
+ drawing the missing plug-in text.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::requestObject): Renamed the renderer parameter to requestEmbeddedObject and made it
+ a RenderEmbeddedObject.
+ (WebCore::FrameLoader::loadPlugin): Likewise.
+ * loader/FrameLoader.h: Updated loadPlugin() and requestObject() method signatures accordingly.
+
+2010-03-19 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Disable TILED_BACKING_STORE if Qt version is earlier than Qt4.6
+ https://bugs.webkit.org/show_bug.cgi?id=36348
+
+ Backing store implementation for QtWebKit requires at least Qt
+ version 4.6.
+
+ No new tests as there is no new functionality.
+
+ * WebCore.pri:
+
+2010-03-19 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by David Kilzer.
+
+ <input type=range> does not validate correctly without a renderer and the tests are incorrect
+ https://bugs.webkit.org/show_bug.cgi?id=36259
+
+ Setting value attribute on an <input type=range> to an out-of-range value fires oninput
+ https://bugs.webkit.org/show_bug.cgi?id=16990
+
+ Part 2 of 2: When setting the range element's value, overflows and underflows
+ are automatically sanitized to valid values. Moved the general case
+ sanitization code out of the Renderer into HTMLInputElement::sanitizeValue.
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::value): when getting a default value on reset() ensure the defaultValue is provided
+ (WebCore::HTMLInputElement::sanitizeValue): clamp the value within the max/min/step range constraints
+ * html/StepRange.cpp:
+ (WebCore::StepRange::StepRange): allow const element in the constructor
+ (WebCore::StepRange::clampValue): clamp from a String value
+ * html/StepRange.h:
+ (WebCore::StepRange::defaultValue): easy calculation of the default value for max/min/step range constraints
+ * rendering/RenderSlider.cpp:
+ (WebCore::RenderSlider::updateFromElement): no longer handle the general case sanitization in the renderer
+
+2010-03-19 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by David Kilzer.
+
+ <input type=range> does not validate correctly without a renderer and the tests are incorrect
+ https://bugs.webkit.org/show_bug.cgi?id=36259
+
+ Part 1 of 2: Refactoring the SliderRange struct out of RenderSlider
+ into a more appropriate place. Changed the named to StepRange. Changed
+ from a struct to a class.
+
+ Added new files to the build.
+
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+
+ Renamed and moved class SliderRange to StepRange.
+
+ * html/StepRange.cpp: Added.
+ (WebCore::StepRange::StepRange):
+ (WebCore::StepRange::clampValue):
+ (WebCore::StepRange::valueFromElement):
+ (WebCore::sliderPosition):
+ * html/StepRange.h: Added.
+ (WebCore::StepRange::proportionFromValue):
+ (WebCore::StepRange::valueFromProportion):
+ * rendering/RenderSlider.cpp:
+ (WebCore::RenderSlider::updateFromElement): updated to use StepRange
+ (WebCore::RenderSlider::setValueForPosition): updated to use StepRange
+
+2010-03-19 Antti Koivisto <koivisto@iki.fi>
+
+ Reviewed by Simon Hausmann.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36366
+ Repaint loop when painting using scaled CTMs with different translations
+
+ The code in RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality
+ tests if the scaling has changed from the previous value by comparing the
+ transformations. The test fails if the scale is the same but the translation
+ changes. This can lead to infinite repaint loop if the document is painted
+ in pieces using different translations (for example for tiling).
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality):
+
+2010-03-19 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: editing shorthands does not always work.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36362
+
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::applyStyleText):
+ (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
+ (WebCore::InspectorDOMAgent::shorthandValue):
+ * inspector/InspectorDOMAgent.h:
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylePropertyTreeElement.prototype):
+ * inspector/front-end/inspector.css:
+ (.section .properties li.disabled .enabled-button):
+ * inspector/front-end/inspector.js:
+ (WebInspector.startEditing.editingCommitted):
+
+2010-03-19 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Don't replace clip when drawing complex text
+
+ * platform/graphics/qt/FontQt.cpp:
+
+2010-03-18 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ If a frame is already in the document, then setting its "src" attribute
+ should add the resultant navigation to history.
+
+ https://bugs.webkit.org/show_bug.cgi?id=9166
+
+ This behavior is specified in section 4.8.2 of the HTML5 spec.
+
+ Test: fast/loader/frame-src-change-added-to-history.html
+
+ * html/HTMLFrameElementBase.cpp:
+ (WebCore::HTMLFrameElementBase::openURL):
+ (WebCore::HTMLFrameElementBase::setLocation):
+ * html/HTMLFrameElementBase.h:
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::requestFrame):
+ * loader/FrameLoader.h:
+
+2010-03-18 Chris Evans <cevans@chromium.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ Fix a minor crash with mismatched array sizes in SVG animation
+ elements.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35606
+
+ Test: svg/animations/keypoints-mismatch.svg
+
+ * svg/SVGAnimationElement.cpp:
+ (WebCore::SVGAnimationElement::startedActiveInterval):
+ Globally apply validations relevant to all animation types.
+
+2010-03-18 Vangelis Kokkevis <vangelis@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Implement software composited graphics layers in Chromium using the Skia library.
+ https://bugs.webkit.org/show_bug.cgi?id=35557
+ This is an initial step in the implementation. Layer compositing is functioning
+ but not optimized in any way. Subsesquent check-ins will be necessary to fine tune
+ it.
+
+ Test: No new exposed functionality so no new tests.
+
+ * WebCore.gypi:
+ Added new source files to the chromium build
+ * platform/graphics/GraphicsLayer.h:
+ Added necessary typedef's and forward declarations for Chromium.
+ * platform/graphics/skia/GraphicsLayerSkia.cpp: Added.
+ * platform/graphics/skia/GraphicsLayerSkia.h: Added.
+ Declaration and implementation of the platform-specific GraphicsLayer class.
+ * platform/graphics/skia/LayerRendererSkia.cpp: Added.
+ * platform/graphics/skia/LayerRendererSkia.h: Added.
+ Declaration and implementation of the Skia-based software compositor.
+ * platform/graphics/skia/LayerSkia.cpp: Added.
+ * platform/graphics/skia/LayerSkia.h: Added.
+ Declaration and implementation of a compositable layer that uses a Skia canvas
+ for backing store.
+
+2010-03-18 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Make setPrinting() with printing=false, restore the previous
+ media type in use.
+
+ Test: fast/media/print-restores-previous-mediatype.html
+
+ * page/Frame.cpp:
+ (WebCore::Frame::setPrinting):
+ * page/FrameView.cpp:
+ (WebCore::FrameView::adjustMediaTypeForPrinting):
+ * page/FrameView.h:
+
+2010-03-18 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/36338> Remove unused RenderReplaced::adjustOverflowForBoxShadowAndReflect() declaration
+
+ Rubber-stamped by Darin Adler.
+
+ This declaration should have been removed in r47440.
+
+ * rendering/RenderReplaced.h:
+ (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect): Removed.
+
+2010-03-18 Jian Li <jianli@chromium.org>
+
+ Reviewed by Dmitry Titov.
+
+ Dragging a PDF image triggers assertion in DragController::startDrag()
+ https://bugs.webkit.org/show_bug.cgi?id=36247
+
+ Test: fast/images/drag-pdf-as-image.html
+
+ * platform/graphics/cg/PDFDocumentImage.cpp:
+ (WebCore::PDFDocumentImage::filenameExtension):
+ * platform/graphics/cg/PDFDocumentImage.h:
+
+2010-03-18 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Avoid taking a reference to a String owned by a temporary AtomicString.
+
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::RareData::parseNth):
+
+2010-03-18 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Fixed parenting issues with HW layers on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=32449
+
+ CACF can't properly fix superlayer changes, so a layer added
+ as a sublayer must have a null superlayer. I changed a couple of
+ places that change sublayers to removeFromSuperlayer while adding
+ to a new layer. This fixes both the problem of disappearing children
+ and children getting doubled. Also got rid of removeSublayer(). Layers
+ should always be removed from their parent with removeFromSuperlayer().
+
+ This also removed moveLayer(), which is not used and may not be safe in how
+ it copies.
+
+ * platform/graphics/win/GraphicsLayerCACF.cpp:Changed setName to be like Mac, to give more debugging info (to fix problems like these)
+ (WebCore::GraphicsLayerCACF::setName):
+ * platform/graphics/win/WKCACFLayer.cpp:Make sure superlayer is null before adding
+ (WebCore::WKCACFLayer::insertSublayer):
+ (WebCore::WKCACFLayer::replaceSublayer):
+ (WebCore::WKCACFLayer::removeFromSuperlayer):
+ (WebCore::WKCACFLayer::setSublayers):
+ (WebCore::WKCACFLayer::printLayer):print the superlayer for better debugging
+ * platform/graphics/win/WKCACFLayer.h:
+
+2010-03-18 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Unreviewed, build fix.
+
+ [Chromium] Change the order of mac/ and cg/ include dirs to fix compile break
+ due to http://trac.webkit.org/changeset/56192,
+
+ * WebCore.gyp/WebCore.gyp: Changed the order.
+
+2010-03-18 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36325
+
+ Add support for stopImmediatePropagation from DOM Level 3 Events.
+
+ Added fast/events/stop-immediate-propagation.html.
+
+ * dom/Event.cpp:
+ (WebCore::Event::Event):
+ * dom/Event.h:
+ (WebCore::Event::timeStamp):
+ (WebCore::Event::stopPropagation):
+ (WebCore::Event::stopImmediatePropagation):
+ (WebCore::Event::propagationStopped):
+ (WebCore::Event::immediatePropagationStopped):
+ * dom/Event.idl:
+ * dom/EventTarget.cpp:
+ (WebCore::EventTarget::fireEventListeners):
+
+2010-03-18 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Unreviewed, build fix.
+
+ Return frame accessor back to Geolocation, it's used in GeolocationServiceChromium.
+ The accessor was removed in http://trac.webkit.org/changeset/56188.
+
+ * page/Geolocation.h:
+ (WebCore::Geolocation::frame): Added back.
+
+2010-03-18 Brent Fulgham <bfulgham@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Help reduce build problems due to font declarations.
+ https://bugs.webkit.org/show_bug.cgi?id=36190
+
+ Functions unchanged, no new tests.
+
+ * WebCore.vcproj/WebCore.vcproj: Add new file, and show
+ movement of FontPlatformData.h to cg/ directory.
+ * platform/graphics/cairo/FontPlatformData.h: Merge in
+ WinCairo-specific declarations. Correct constructor
+ declaration to use type float for font size.
+ (WebCore::FontPlatformData::FontPlatformData):
+ (WebCore::FontPlatformData::hfont):
+ (WebCore::FontPlatformData::useGDI):
+ (WebCore::FontPlatformData::fontFace):
+ (WebCore::FontPlatformData::setSize):
+ (WebCore::FontPlatformData::hash):
+ (WebCore::FontPlatformData::isHashTableDeletedValue):
+ * platform/graphics/cairo/FontPlatformDataCairo.cpp:
+ (WebCore::FontPlatformData::FontPlatformData): Correct
+ constructor to accept type float for font size.
+ * platform/graphics/cg/FontPlatformData.h: Copied from WebCore/platform/graphics/win/FontPlatformData.h.
+ (WebCore::FontPlatformData::FontPlatformData):
+ (WebCore::FontPlatformData::hfont):
+ (WebCore::FontPlatformData::cgFont):
+ (WebCore::FontPlatformData::operator==):
+ * platform/graphics/win/FontPlatformData.h: Removed.
+ * platform/graphics/win/FontPlatformDataCairoWin.cpp:
+ (WebCore::FontPlatformData::operator==): Move implementation
+ here (previously in header) to match other cairo-based ports.
+ * platform/graphics/win/RefCountedHFONT.h: Added. This
+ was extracted from win/FontPlatformData.h, and is now shared
+ by the cg/FontPlatformData.h and cairo/FontPlatformData.h
+ (WebCore::RefCountedHFONT::create):
+ (WebCore::RefCountedHFONT::createDeleted):
+ (WebCore::RefCountedHFONT::~RefCountedHFONT):
+ (WebCore::RefCountedHFONT::hfont):
+ (WebCore::RefCountedHFONT::hash):
+ (WebCore::RefCountedHFONT::RefCountedHFONT):
+
+2010-03-18 Simon Fraser <simon.fraser@apple.com>
+
+ No review.
+
+ Fix brace style after r56170.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
+
+2010-03-18 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36274
+ CSS3 :nth-child selector 'odd' keyword case sensitivity test fails
+
+ The tests for "odd", "even" etc. for nth-child selectors should be case insensitive.
+
+ Test: fast/css/nth-child-odd-case-insensitive.html
+
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::RareData::parseNth):
+
+2010-03-18 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36265
+
+ Add support for event.defaultPrevented from DOM level 3.
+
+ Added fast/events/defaultprevented.html
+
+ * dom/Event.idl:
+
+2010-03-18 Darin Adler <darin@apple.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Remove Geolocation.lastPosition, no longer in the spec.
+ https://bugs.webkit.org/show_bug.cgi?id=36255
+ rdar://problem/7746357
+
+ * WebCore.base.exp: Updated since Geolocation's destructor is now non-virtual.
+
+ * page/Geolocation.cpp:
+ (WebCore::Geolocation::lastPosition): Add an assertion; it's only legal to
+ call this if access to the location is allowed.
+
+ * page/Geolocation.h: Removed unneeded includes. Made destructor non-virtual,
+ although it will still be virtual if any of the base classes have a virtual
+ destructor. Made lastPosition, isAllowed, and isDenied functions private.
+ Removed unused suspend, resume, setShouldClearCache, shouldClearCache,
+ and frame functions.
+
+ * page/Geolocation.idl: Removed lastPosition read-only attribute. No longer in
+ the Geolocation specification.
+
+2010-03-18 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36275
+
+ Make sure :not does not allow pseudo-elements inside it. (Hooray for another pointless
+ restriction on :not.)
+
+ Added fast/css/invalid-not-with-pseudo-element.html
+
+ * css/CSSGrammar.y:
+ * css/CSSSelector.h:
+ (WebCore::CSSSelector::matchesPseudoElement):
+
+2010-03-18 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/7761400> Rework the fix for
+ https://bugs.webkit.org/show_bug.cgi?id=18722
+
+ Test: fast/dynamic/float-remove-above-line-2.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::removeFloatingObject): Treat 0- and less-than-0-height floats
+ as having a height of 1 so that they intersect with the line they originate on.
+ (WebCore::RenderBlock::clearFloats): Use numeric_limits.
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::layoutInlineChildren): Removed the intersection checks here,
+ so that a float is always included in the float list of the line it originates on, even
+ if it does not intersect that line. This ensures that every float is accounted for, which
+ is necessary during incremental layout when adding floats from clean lines.
+
+2010-03-18 Antti Koivisto <koivisto@iki.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36102
+ [Qt] Scaling control API for tiled backing store
+
+ Commit the new scale synchronously after unfreeze to avoid ugliness.
+
+ * platform/graphics/TiledBackingStore.cpp:
+ (WebCore::TiledBackingStore::TiledBackingStore):
+ (WebCore::TiledBackingStore::setContentsScale):
+ (WebCore::TiledBackingStore::commitScaleChange):
+ (WebCore::TiledBackingStore::setContentsFrozen):
+ * platform/graphics/TiledBackingStore.h:
+
+2010-03-18 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36281
+
+ Make sure an exception is raised if an @import rule is inserted in the wrong place.
+
+ Also make sure (so that this particular test case passes) that rgba(0, 0, 0, 0) is dumped
+ as transparent by getComputedStyle, since it most commonly occurs in background-color and
+ that default makes more sense than dumping rgba values.
+
+ Added fast/css/invalid-import-insertion.html
+
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::CSSPrimitiveValue::createColor):
+ * css/CSSStyleSheet.cpp:
+ (WebCore::CSSStyleSheet::insertRule):
+
+2010-03-18 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Multiselect Popup - Listbox click simulation
+ https://bugs.webkit.org/show_bug.cgi?id=36177
+
+ Listbox popups will need to notify the corresponding select elements that a
+ selection change happened. The current HTMLSelectElement interface does not
+ allow multiple selections.
+
+ The new method listBoxSelectItem will be used for that. I have refactored part
+ of the mouse handling code in bug 36124 and I am now reusing it here for
+ <select multiple> popups. All the other cases will handled as they were before to be
+ sure that no side effects will show up.
+
+ * dom/SelectElement.cpp:
+ (WebCore::SelectElement::updateListBoxSelection):
+ (WebCore::SelectElement::listBoxOnChange):
+ * dom/SelectElement.h:
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::listBoxPopupClick):
+ * html/HTMLSelectElement.h:
+
+2010-03-12 Ojan Vafai <ojan@chromium.org>
+
+ Reviewed by David Levin.
+
+ smartdelete should only occur after double-click
+ https://bugs.webkit.org/show_bug.cgi?id=35314
+
+ 1. Consolidate all notions of selection-granularity into SelectionController.
+ 2. Now only mouse-based selections store a selection-granularity. This matches NSTextView.
+
+ New tests were added in http://trac.webkit.org/changeset/55913.
+
+ * WebCore.base.exp:
+ * editing/MoveSelectionCommand.cpp:
+ (WebCore::MoveSelectionCommand::MoveSelectionCommand):
+ (WebCore::MoveSelectionCommand::doApply):
+ * editing/MoveSelectionCommand.h:
+ (WebCore::MoveSelectionCommand::create):
+ * editing/SelectionController.cpp:
+ (WebCore::SelectionController::SelectionController):
+ (WebCore::SelectionController::setSelection):
+ (WebCore::SelectionController::modify):
+ (WebCore::SelectionController::clear):
+ * editing/SelectionController.h:
+ (WebCore::SelectionController::setSelection):
+ (WebCore::SelectionController::granularity):
+ * editing/VisibleSelection.cpp:
+ (WebCore::VisibleSelection::VisibleSelection):
+ (WebCore::VisibleSelection::expandUsingGranularity):
+ (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
+ (WebCore::VisibleSelection::validate):
+ * editing/VisibleSelection.h:
+ (WebCore::operator==):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::clear):
+ * page/DOMSelection.cpp:
+ (WebCore::DOMSelection::extend):
+ * page/DragController.cpp:
+ (WebCore::DragController::concludeEditDrag):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::selectClosestWordFromMouseEvent):
+ (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
+ (WebCore::EventHandler::handleMousePressEventTripleClick):
+ (WebCore::EventHandler::handleMousePressEventSingleClick):
+ (WebCore::EventHandler::updateSelectionForMouseDrag):
+ * page/Frame.cpp:
+ (WebCore::Frame::Frame):
+ (WebCore::Frame::selectionGranularity):
+ * page/Frame.h:
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::setSelectionRange):
+
+2010-03-18 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Unreviewed, build fix.
+
+ [V8] Turn npObjectTypeInfo into a function, make everyone happy.
+
+ * bindings/v8/NPV8Object.cpp:
+ (WebCore::npObjectTypeInfo): Added new function.
+ (npCreateV8ScriptObject):
+ * bindings/v8/NPV8Object.h: Turned npObjectTypeInfo into function.
+ * bindings/v8/V8NPObject.cpp: Replaced references to function
+
+2010-03-18 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36283
+
+ The wrong constants were being used for the code that attempted to compact the background-repeat shorthand to
+ a single value.
+
+ Added fast/backgrounds/background-repeat-computed-style.html
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::fillRepeatToCSSValue):
+
+2010-03-18 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36273
+ CSS3 :indeterminate and input type=radio test fails
+
+ The :indeterminate pseudo-class should apply to both radio buttons and checkboxes.
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::setIndeterminate): Use allowsIndeterminate() to determine if the input
+ supports the indeterminate state.
+ (WebCore::HTMLInputElement::preDispatchEventHandler): Use allowsIndeterminate() to determine whether
+ to handle the indeterminate state.
+ (WebCore::HTMLInputElement::postDispatchEventHandler): Ditto.
+ * html/HTMLInputElement.h:
+ (WebCore::HTMLInputElement::allowsIndeterminate): New utility method, returns true for radio buttons
+ and checkboxes.
+
+2010-03-18 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36271
+ CSS3 :enabled on an input type=hidden element fails
+
+ The CSS3 selectors spec now makes it clear that hidden inputs should respect
+ the :enabled and :disabled pseudo-classes.
+
+ Test: fast/forms/hidden-input-enabled.html
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Remove checks for hidden inputs.
+
+2010-03-18 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Intro text at Star Wars demo is clipped.
+ <rdar://problem/7560979>
+ https://bugs.webkit.org/show_bug.cgi?id=33909
+
+ Test: compositing/repaint/layer-repaint.html
+
+ We are flipping the coordinates for drawing, therefore
+ we must flip them also when we invalidate the rectangles.
+
+ * platform/graphics/win/GraphicsLayerCACF.cpp:
+ (WebCore::WebLayer::setNeedsDisplay):
+
+2010-03-18 Nate Chapin <japhet@chromium.org>
+
+ Unreviewed, Chromium build fix.
+
+ Missed a #include in V8Collection.h.
+
+ * bindings/v8/V8Collection.h:
+
+2010-03-18 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=36284.
+
+ Make sure the CSS parser properly rejects negative border widths.
+
+ Added fast/borders/negative-border-width.html
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue):
+
+2010-03-18 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [V8] Remove V8Index.h and all references to V8ClassIndex.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33477
+
+ * WebCore.gypi:
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/NPV8Object.cpp:
+ * bindings/v8/NPV8Object.h:
+ * bindings/v8/V8Collection.h:
+ * bindings/v8/V8DOMWindowShell.cpp:
+ * bindings/v8/V8DOMWindowShell.h:
+ * bindings/v8/V8DOMWrapper.cpp:
+ * bindings/v8/V8DOMWrapper.h:
+ * bindings/v8/V8GCController.cpp:
+ * bindings/v8/V8Helpers.cpp:
+ * bindings/v8/V8Index.h: Removed.
+ * bindings/v8/V8IsolatedContext.h:
+ * bindings/v8/V8NPObject.cpp:
+ * bindings/v8/V8Proxy.cpp:
+ * bindings/v8/V8Proxy.h:
+ * bindings/v8/V8SVGPODTypeWrapper.h:
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ * bindings/v8/WorkerContextExecutionProxy.h:
+ * bindings/v8/WrapperTypeInfo.h: Move WrapperTypeInfo struct into its own file from V8Index.h.
+ * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ * bindings/v8/custom/V8EventSourceConstructor.cpp:
+ * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
+ * bindings/v8/custom/V8HTMLAudioElementConstructor.h:
+ * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
+ * bindings/v8/custom/V8HTMLImageElementConstructor.h:
+ * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
+ * bindings/v8/custom/V8HTMLOptionElementConstructor.h:
+ * bindings/v8/custom/V8HistoryCustom.cpp:
+ * bindings/v8/custom/V8LocationCustom.cpp:
+ * bindings/v8/custom/V8WebGLArrayCustom.h:
+ * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
+ * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
+ * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
+ * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
+ * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
+ * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
+ * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
+ * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
+ * bindings/v8/custom/V8WebKitPointConstructor.cpp:
+
+2010-03-18 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Preserve console history between debugging sessions.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36223
+
+ * inspector/front-end/ConsoleView.js:
+ (WebInspector.ConsoleView.prototype._settingsLoaded):
+ (WebInspector.ConsoleView.prototype._enterKeyPressed.printResult):
+ (WebInspector.ConsoleView.prototype._enterKeyPressed):
+ * inspector/front-end/Settings.js:
+ (WebInspector.Settings.prototype._load):
+
+2010-03-18 Kim Grönholm <kim.gronholm@nomovok.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] GraphicsLayer: Pausing and resuming of animations don't work as expected
+ https://bugs.webkit.org/show_bug.cgi?id=36219
+
+ addAnimation and pauseAnimation were handling animation state changes in
+ the wrong way.
+ Apparently WebCore calls addAnimation for resuming, so we have to make
+ sure to resume an existing animation if that happens. Also, timeOffset
+ is now used for synchronization of the Qt animation clock with the
+ WebCore clock, as opposed to using it as a delay timer.
+ Both those fixes were necessary to get the layout test to work.
+
+ LayoutTests/animations/play-state.html now passed on Qt.
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::AnimationQtBase::AnimationQtBase):
+ (WebCore::TransformAnimationQt::updateState):
+ (WebCore::GraphicsLayerQt::addAnimation):
+ (WebCore::GraphicsLayerQt::pauseAnimation):
+
+2010-03-18 Adam Langley <agl@chromium.org>
+
+ Reviewed by David Levin.
+
+ [chromium] Fix inverted logic in per-strike renderer patch.
+
+ I screwed up in r55089 and got one of the conditions backwards. Thanks
+ to Roman Tsisyk for pointing it out.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35495
+
+ Test: platform/chromium/fast/text/chromium-linux-fontconfig-renderstyle.html
+
+ * platform/graphics/chromium/FontPlatformDataLinux.cpp:
+ (WebCore::FontPlatformData::querySystemForRenderStyle):
+
+2010-03-18 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Show inherited styles for a selected DOM element
+
+ https://bugs.webkit.org/show_bug.cgi?id=28039
+
+ * English.lproj/localizedStrings.js:
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::getStyles):
+ (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
+ * inspector/front-end/DOMAgent.js:
+ (WebInspector.CSSStyleDeclaration):
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylesSidebarPane.prototype._update):
+ (WebInspector.StylesSidebarPane.prototype._containsInherited):
+ (WebInspector.StylePropertiesSection):
+ (WebInspector.StylePropertiesSection.prototype.isPropertyInherited):
+ (WebInspector.StylePropertiesSection.prototype.onpopulate):
+
+2010-03-15 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Gustavo Noronha.
+ Patch by Antonio Gomes <tonikitoo@webkit.org>
+
+ Spatial Navigation: Add isNull() and document() convenience methods to FocusCandidate.
+ https://bugs.webkit.org/show_bug.cgi?id=36167
+
+ It turns out that Spatial Navigation related code (in FocusController.cpp for
+ instance) can be simplified and look better if FocusCandidate class offer some
+ convenience method. This patch introduces a couple of them (isNull and a Document
+ getter). It also adds another constructor that receives a Node as parameter.
+
+ A followup refactoring patch will be making use of these helper methods.
+
+ * page/SpatialNavigation.h:
+ (WebCore::FocusCandidate::FocusCandidate): Added a "Node*" parameter
+ to FocusCandidate's constructor.
+ (WebCore::FocusCandidate::isNull): In the Spatial Navigation logic, a NULL
+ FocusCandidate object is one that does not hold a valid reference to a "Node*".
+ (WebCore::FocusCandidate::document): This method returns a pointer for the FocusCandidate
+ node's document, if |node| is a valid pointer.
+
+2010-03-18 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Antti Koivisto.
+
+ [Qt] [Performance] GraphicsLayerQt updates the scene too often
+ https://bugs.webkit.org/show_bug.cgi?id=36158
+
+ This fix makes sure that flushChanges is only called when necessary,
+ by calling the notifySync function asynchronously, which makes sure flushChanges() is called
+ after the WebCore compositor has made all its changes.
+
+ This has shown a visual improvement on several test-cases.
+
+ * Makefile:
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::GraphicsLayerQtImpl::):
+ (WebCore::GraphicsLayerQtImpl::notifySyncRequired):
+ (WebCore::GraphicsLayerQtImpl::notifyChange):
+ (WebCore::GraphicsLayerQtImpl::flushChanges):
+ (WebCore::GraphicsLayerQt::setMaskLayer):
+ (WebCore::GraphicsLayerQt::setPosition):
+ (WebCore::GraphicsLayerQt::setAnchorPoint):
+ (WebCore::GraphicsLayerQt::setSize):
+ (WebCore::GraphicsLayerQt::setTransform):
+ (WebCore::GraphicsLayerQt::setChildrenTransform):
+ (WebCore::GraphicsLayerQt::setPreserves3D):
+ (WebCore::GraphicsLayerQt::setMasksToBounds):
+ (WebCore::GraphicsLayerQt::setDrawsContent):
+ (WebCore::GraphicsLayerQt::setBackgroundColor):
+ (WebCore::GraphicsLayerQt::clearBackgroundColor):
+ (WebCore::GraphicsLayerQt::setContentsOpaque):
+ (WebCore::GraphicsLayerQt::setBackfaceVisibility):
+ (WebCore::GraphicsLayerQt::setOpacity):
+ (WebCore::GraphicsLayerQt::setContentsRect):
+
+2010-03-18 Stephen White <senorblanco@chromium.org>
+
+ Reviewed by Oliver Hunt.
+
+ Parsing of rgb() colors in HTML canvas is still fairly slow.
+ findNamedColor() was showing up as hot, so this patch attempts to
+ avoid calling it by putting the rgb() check ahead of the named
+ colors. It also removes a call to Color::Color() from
+ CanvasStyle, which was doing a redundant check for the hex
+ color and named colors, which CSSParser already does. Finally, it
+ changes the ad-hoc parser to check for negative values, and clamps them
+ at zero. This avoids the lex/yacc path for rgb() colors with
+ negative color components.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36199
+
+ Covered by fast/canvas/set-colors.html.
+
+ * css/CSSParser.cpp:
+ (WebCore::parseInt):
+ (WebCore::CSSParser::parseColor):
+ * html/canvas/CanvasStyle.cpp:
+ (WebCore::CanvasStyle::applyFillColor):
+
+2010-03-18 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/36246> Node::removeAllEventListenersSlowCase is declared but not used
+
+ Reviewed by Sam Weinig.
+
+ * dom/Node.h:
+ (WebCore::Node::removeAllEventListenersSlowCase): Removed
+ declaration. Implementation was removed in r48701.
+
+2010-03-17 Stephan Aßmus <superstippi@gmx.de>
+
+ Reviewed by Oliver Hunt.
+
+ [Haiku] Implement ImageBuffer support
+ https://bugs.webkit.org/show_bug.cgi?id=35288
+
+ Covered by existing tests.
+
+ The StillImage class implements WebCore::Image by wrapping a native
+ BBitmap. It will be needed to implement WebCore::ImageBuffer. This
+ solution is just like it's done in the Qt port.
+
+ * platform/graphics/haiku/StillImageHaiku.cpp: Added.
+ (WebCore::StillImage::StillImage):
+ (WebCore::StillImage::destroyDecodedData):
+ (WebCore::StillImage::decodedSize):
+ (WebCore::StillImage::size):
+ (WebCore::StillImage::nativeImageForCurrentFrame):
+ (WebCore::StillImage::draw):
+ * platform/graphics/haiku/StillImageHaiku.h: Added.
+ (WebCore::StillImage::create):
+
+2010-03-17 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Rubber stamped by Gustavo Noronha Silva.
+
+ [Gtk+] Avoid making a copy of the HTTPHeaderMap.
+
+ ResourceRequest::httpHeaderFields() is returning a const
+ reference but we are storing it as a simple value. This
+ means that we run either the copy constructor or the assignment
+ operator and make a copy of the RefPtrs.
+
+ This extra copy can be avoided easily by storing
+ the result as a const reference.
+
+ * platform/network/soup/ResourceRequestSoup.cpp:
+ (WebCore::ResourceRequest::toSoupMessage):
+ * platform/network/soup/ResourceResponseSoup.cpp:
+ (WebCore::ResourceResponseSoup::toSoupMessage):
+
+2010-03-17 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: When switching resources in the Resources panel, the Content tab is always selected
+ https://bugs.webkit.org/show_bug.cgi?id=36222
+
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype.showResource):
+
+2010-03-17 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ databaseIdentifiers are not filtered for slashes
+ <rdar://problem/7708789> and https://bugs.webkit.org/show_bug.cgi?id=36243
+
+ In addition to filtering for '/' and '\', to remove the directory vulnerability
+ on all platforms, it seems worth it to also escape other characters that are
+ obviously dangerous or illegal to have in a filename (mostly inspired by the
+ Windows illegal-character list).
+
+ No new tests - It's unclear how a test could possibly work into our testing
+ infrastructure.
+
+ * page/SecurityOrigin.cpp:
+ (WebCore::): Added a 128-bool table "needsEscaping" that has a true/false answer
+ for lower-ASCII.
+ (WebCore::SecurityOrigin::SecurityOrigin):
+ (WebCore::SecurityOrigin::createFromDatabaseIdentifier): "Unescape" the host
+ component using the KURL utility.
+ (WebCore::shouldEscapeUChar): If the char is lower-ASCII, look it up in the
+ needsEscaping table. Otherwise, let it pass.
+ (WebCore::encodedHost): Modeled after KURL's host escaping method, but targeted
+ for the escaping considerations for the host component. We don't use the KURL
+ version because this one is "different" enough because it operates on UTF16 and
+ has its own "is bad character?" decider.
+ (WebCore::SecurityOrigin::databaseIdentifier): Create the escaped host if needed,
+ and use it instead of the unescaped host.
+ * page/SecurityOrigin.h:
+
+2010-03-17 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [v8] Avoid reentry into v8 after TerminateExecution() on a worker thread.
+ https://bugs.webkit.org/show_bug.cgi?id=36239
+
+ Test: fast/workers/termination-with-port-messages.html
+
+ * bindings/v8/V8Proxy.h:
+ (WebCore::throwError): Avoid throwing if v8 execution is terminated anyways.
+ * bindings/v8/WorkerScriptController.h:
+ (WebCore::WorkerScriptController::proxy): Return V8 proxy as 0 if execution is terminating. Callers to check for 0 before invoking v8.
+ * bindings/v8/custom/V8WorkerContextCustom.cpp:
+ (WebCore::SetTimeoutOrInterval): Bail out if v8 proxy is 0.
+ (WebCore::toV8): Ditto
+
+2010-03-17 José Millán Soto <jmillan@igalia.com>
+
+ Reviewed by Adam Barth.
+
+ Change the way of prefetching DNS to allow prefetching function to use full URL
+ https://bugs.webkit.org/show_bug.cgi?id=35589
+
+ Creates a new function, ResourceHandle::prepareForURL, whose default implementation
+ calls prefetchDNS with the host of the given URL as the parameter.
+ Soup implementation of ResourceHandle::prepareForURL executes soup_session_prepare_for_uri.
+ Soup implementation of prefetchDNS is removed.
+ Changed various prefetchDNS calls to ResourceHandle::prepareForURL calls.
+
+ * GNUmakefile.am:
+ * html/HTMLAnchorElement.cpp:
+ (WebCore::HTMLAnchorElement::parseMappedAttribute):
+ * html/HTMLLinkElement.cpp:
+ (WebCore::HTMLLinkElement::process):
+ * page/Chrome.cpp:
+ (WebCore::Chrome::mouseDidMoveOverElement):
+ * platform/network/DNS.h:
+ * platform/network/ResourceHandle.cpp:
+ (WebCore::ResourceHandle::prepareForURL):
+ * platform/network/ResourceHandle.h:
+ * platform/network/chromium/DNSChromium.cpp:
+ (WebCore::ResourceHandle::prepareForURL):
+ * platform/network/soup/DNSSoup.cpp: Removed.
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::ResourceHandle::prepareForURL):
+ * wml/WMLAElement.cpp:
+ (WebCore::WMLAElement::parseMappedAttribute):
+
+2010-03-17 Kenneth Russell <kbr@google.com>
+
+ Reviewed by Darin Fisher.
+
+ Revert WebGL context attributes changes 33416 / r56074 and 36200 / r56093
+ https://bugs.webkit.org/show_bug.cgi?id=36233
+
+ The patch for bug 33416, which added multisampling support to the
+ WebGL back buffer, uncovered some OpenGL driver bugs on the build
+ bots which need further investigation to determine the appropriate
+ workaround. Reverting this change, the minor build fix in 36189,
+ and the skipping of the affected tests in bug 36200.
+
+ Built and tested WebKit and Chromium and ran all WebGL layout
+ tests in both.
+
+ * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
+ (WebCore::V8HTMLCanvasElement::getContextCallback):
+ * platform/graphics/GraphicsContext3D.h:
+ * platform/graphics/mac/Canvas3DLayer.h:
+ * platform/graphics/mac/Canvas3DLayer.mm:
+ (-[Canvas3DLayer drawInCGLContext:pixelFormat:forLayerTime:displayTime:]):
+ * platform/graphics/mac/GraphicsContext3DMac.cpp:
+ (WebCore::GraphicsContext3D::GraphicsContext3D):
+ (WebCore::GraphicsContext3D::~GraphicsContext3D):
+ (WebCore::GraphicsContext3D::reshape):
+ (WebCore::GraphicsContext3D::bindFramebuffer):
+ (WebCore::GraphicsContext3D::readPixels):
+ * platform/graphics/mac/GraphicsLayerCA.mm:
+ (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D):
+
+2010-03-17 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Optimize painting for HTMLProgressElement
+ https://bugs.webkit.org/show_bug.cgi?id=36113
+ Cache the progress bar's position, so it is not required to recalculate
+ it for each repaint.
+ Call repaintRectangle() when the position changes.
+
+ No new tests, as no new functionality introduced.
+
+ * html/HTMLProgressElement.cpp:
+ (WebCore::HTMLProgressElement::parseMappedAttribute):
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::RenderThemeQt::getNumberOfPixelsForProgressPosition):
+ (WebCore::RenderThemeQt::paintProgressBar):
+ * platform/qt/RenderThemeQt.h:
+ * rendering/RenderProgress.cpp:
+ (WebCore::RenderProgress::RenderProgress):
+ (WebCore::RenderProgress::updateFromElement):
+ * rendering/RenderProgress.h:
+ (WebCore::RenderProgress::position):
+ * rendering/RenderTheme.cpp:
+ (WebCore::RenderTheme::getNumberOfPixelsForProgressPosition):
+ * rendering/RenderTheme.h:
+
+2010-03-17 Antonio Gomes <tonikitoo@webkit.org>
+
+ Mac Buildfix: Using ASSERT_UNUSED instead of ASSERT.
+
+ Reviewed by Simon fraser.
+ Patch by Antonio Gomes <tonikitoo@webkit.org>
+
+ * dom/SelectElement.cpp:
+ (WebCore::SelectElement::listBoxDefaultEventHandler):
+
+2010-03-17 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Missing support for showing compositing layers borders and repaint count on Windows.
+ <rdar://problem/7760736>
+ <https://bugs.webkit.org/show_bug.cgi?id=36197>
+
+ * platform/graphics/win/GraphicsLayerCACF.cpp:
+ (WebCore::WebLayer::drawInContext): Modified to use the correct font on Windows.
+
+2010-03-16 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Antti Koivisto.
+
+ [Qt] Multiselect Popup - SelectElement refactoring.
+ https://bugs.webkit.org/show_bug.cgi?id=36124
+
+ As it is today it is not possible to the menulists popups to tell SelectElement
+ that more then one option is selected. If you select one the other ones
+ selected state will turn off.
+
+ For <select multiple> I needed to extend the API used by menulist popups. This
+ is the first step. Just refactoring SelectElement without any behavior change.
+ Separating code that will be reused in future patches.
+
+ * dom/SelectElement.cpp:
+ (WebCore::SelectElement::updateSelectedState):
+ (WebCore::SelectElement::listBoxDefaultEventHandler):
+ * dom/SelectElement.h:
+
+2010-03-17 Nate Chapin <japhet@chromium.org>
+
+ Unreviewed, Chromium build fix.
+
+ Delete the correct file this time.
+
+ * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: Copied from WebCore/bindings/v8/custom/V8XMLHttpRequestCustom.cpp.
+ * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: Removed.
+
+2010-03-17 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [V8] Remove custom bindings callbacks that aren't in use.
+ (The relevant .idl doesn't mark them as V8Custom or Custom).
+
+ https://bugs.webkit.org/show_bug.cgi?id=33066
+
+ * Android.v8bindings.mk:
+ * WebCore.gypi:
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ * bindings/v8/custom/V8WebGLArrayCustom.h:
+ * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
+ * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
+ * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
+ * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
+ * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
+ * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
+ * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
+ * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
+ * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: Removed.
+
+2010-03-17 Steve Block <steveblock@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Adds ENABLE(WORKERS) guards to V8 bindings
+ https://bugs.webkit.org/show_bug.cgi?id=36221
+
+ Build fix only, no new tests.
+
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::instantiateV8Object):
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::toV8Context):
+
+2010-03-17 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Remove unused reference to InspectorController from InspectorFrontend.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36218
+
+ * inspector/InspectorFrontend.h:
+
+2010-03-17 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ WebInspector: Timeline improvements - next iteration.
+
+ The top level records should be collapsed.
+ Virtually linked events should be nested in Timeline like Send Request and
+ corresponding Received Responce, Timer Install and Timer Fire etc.
+ It should be possible to see Main Resource request.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36122
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::resetScriptObjects):
+ (WebCore::InspectorController::didReceiveResponse):
+ * inspector/InspectorTimelineAgent.cpp:
+ (WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
+ (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
+ * inspector/InspectorTimelineAgent.h:
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel):
+ (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
+ (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
+ (WebInspector.TimelinePanel.prototype._findParentRecord):
+ (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
+ (WebInspector.TimelinePanel.prototype.resize):
+ (WebInspector.TimelinePanel.prototype._createTopLevelRecord):
+ (WebInspector.TimelinePanel.prototype.reset):
+ (WebInspector.TimelinePanel.prototype._clean):
+ (WebInspector.TimelinePanel.prototype._refresh):
+ (WebInspector.TimelinePanel.prototype._refreshRecords):
+ (WebInspector.TimelinePanel.prototype._addToRecordsWindow):
+ (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages):
+ (WebInspector.TimelineCalculator.prototype.updateBoundaries):
+ (WebInspector.TimelineRecordGraphRow):
+ (WebInspector.TimelineRecordGraphRow.prototype.update):
+ (WebInspector.TimelinePanel.FormattedRecord):
+ (WebInspector.TimelinePanel.FormattedRecord.prototype.get children):
+ (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
+ * inspector/front-end/inspector.css:
+ * loader/ResourceLoader.cpp:
+ (WebCore::ResourceLoader::didReceiveResponse):
+
+2010-03-17 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Reimplement style-related audits using native API
+ https://bugs.webkit.org/show_bug.cgi?id=36172
+
+ * inspector/InspectorBackend.cpp:
+ (WebCore::InspectorBackend::getAllStyles):
+ * inspector/InspectorBackend.h:
+ * inspector/InspectorBackend.idl:
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::getAllStyles):
+ (WebCore::InspectorDOMAgent::getMatchedCSSRules):
+ (WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
+ (WebCore::InspectorDOMAgent::buildObjectForRule):
+ * inspector/InspectorDOMAgent.h:
+ * inspector/InspectorFrontend.cpp:
+ (WebCore::InspectorFrontend::didGetAllStyles):
+ * inspector/InspectorFrontend.h:
+ * inspector/front-end/AuditRules.js:
+ (WebInspector.AuditRules.evaluateInTargetWindow):
+ (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
+ (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.routine):
+ (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
+ (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.routine):
+ (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
+ (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
+ (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
+ (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
+ * inspector/front-end/DOMAgent.js:
+ * inspector/front-end/InjectedScript.js:
+ (injectedScriptConstructor):
+
+2010-03-17 Steve Block <steveblock@google.com>
+
+ Reviewed by Jeremy Orlow.
+
+ Replace instances of bzero in WebCore/bridge common code with memset
+ https://bugs.webkit.org/show_bug.cgi?id=36214
+
+ Syntax change only, no new tests.
+
+ * bridge/jni/JNIUtility.cpp:
+ (JSC::Bindings::getJNIField):
+ * bridge/jni/jsc/JNIBridgeJSC.cpp:
+ (JavaField::dispatchValueFromInstance):
+ * bridge/jni/jsc/JNIUtilityPrivate.cpp:
+ (JSC::Bindings::convertValueToJValue):
+ * bridge/jni/v8/JNIUtilityPrivate.cpp:
+ (JSC::Bindings::convertNPVariantToJValue):
+ * bridge/jni/v8/JavaNPObjectV8.cpp:
+ (JSC::Bindings::AllocJavaNPObject):
+
+2010-03-17 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Mark inspector resources as changed so that they are reloaded on the next frontend connection.
+
+ Split resetScriptObjects into code specific for page navigation and insepctor frontend disconnection.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36183
+
+ * WebCore.xcodeproj/project.pbxproj: Added InspectorWorkerResource.h to the project file.
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::disconnectFrontend):
+ (WebCore::InspectorController::unbindAllResources):
+ (WebCore::InspectorController::didCommitLoad):
+ * inspector/InspectorController.h:
+ * inspector/InspectorResource.cpp:
+ (WebCore::InspectorResource::releaseScriptObject):
+
+2010-03-17 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Capture main resource load events in timeline panel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36188
+
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
+ (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
+ (WebInspector.TimelinePanel.prototype.timelineWasStopped):
+ (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
+ (WebInspector.TimelinePanel.prototype._clearPanel):
+ (WebInspector.TimelinePanel.FormattedRecord):
+
+2010-03-17 Zoltan Horvath <zoltan@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Allow custom memory allocation control for AtomicString class
+ https://bugs.webkit.org/show_bug.cgi?id=35907
+
+ Inherits the following class from FastAllocBase because it is
+ instantiated by 'new':
+
+ class name - instantiated at: WebCore/'location'
+ AtomicString - WebCore/html/HTMLTableElement.cpp:525
+
+ * platform/text/AtomicString.h:
+
+2010-03-16 John Abd-El-Malek <jam@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Give keyboard focus to PluginDocuments by default
+ https://bugs.webkit.org/show_bug.cgi?id=36147
+
+ Test: http/tests/plugins/plugin-document-has-focus.html
+
+ * loader/PluginDocument.cpp:
+ (WebCore::PluginDocument::pluginNode):
+ * loader/PluginDocument.h:
+ * page/EventHandler.cpp:
+ (WebCore::eventTargetNodeForDocument):
+
+2010-03-16 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION (r53857): Crash when tabbing to <map>
+ https://bugs.webkit.org/show_bug.cgi?id=36017
+
+ Test: fast/events/imagemap-norender-crash.html
+
+ * html/HTMLMapElement.cpp:
+ (WebCore::HTMLMapElement::imageElement):
+
+2010-03-16 Brent Fulgham <bfulgham@webkit.org>
+
+ Build fix. No Review.
+
+ Correct missing includes in cURL network backend introduced
+ by recent changes in WebKit.
+
+ * platform/network/curl/ResourceHandleCurl.cpp: Add missing
+ includes for SharedBuffer and PassRefPtr.
+ (WebCore::ResourceHandle::loadResourceSynchronously): Correct
+ constructor signature for ResourceHandle to match @r55688.
+ * platform/network/curl/ResourceHandleManager.cpp: Add missing
+ include for RetainPtr.
+
+2010-03-16 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Darin Fisher.
+
+ Hook up WebGLContextAttributes to OpenGL context creation code
+ https://bugs.webkit.org/show_bug.cgi?id=33416
+
+ Test: fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias.html
+
+ * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: Fix an index bug.
+ * platform/graphics/GraphicsContext3D.h: Add members/functions for multisampling/stencil buffer purpose.
+ * platform/graphics/mac/Canvas3DLayer.h: Add GraphicsContext3D as a member of Canvas3DLayer.
+ * platform/graphics/mac/Canvas3DLayer.mm: Add multisampling support.
+ * platform/graphics/mac/GraphicsContext3DMac.cpp: Hook up WebGLContextAttributes to OpenGL context creation code for Mac.
+ * platform/graphics/mac/GraphicsLayerCA.mm: Adjust to modified Canvas3DLayer init call.
+
+2010-03-16 Joanmarie Diggs <joanmarie.diggs@gmail.com>
+
+ Reviewed by Xan Lopez.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35504
+ [Gtk] Evaluate and fix AtkTable for layout tables
+
+ Causes "layout tables" to be exposed as AccessibilityTables for Gtk.
+
+ * accessibility/AccessibilityTable.cpp:
+ (AccessibilityTable::isTableExposableThroughAccessibility):
+
+2010-03-16 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Unreviewed. Build fix for distcheck.
+
+ * GNUmakefile.am:
+
+2010-03-15 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36152
+ [chromium] Add support for history.pushState and history.replaceState
+
+ This is covered by the existing tests in fast/loader/stateobjects
+
+ * bindings/v8/SerializedScriptValue.cpp:
+ (WebCore::ZigZag::Deserializer::deserialize):
+ (WebCore::SerializedScriptValue::deserialize):
+ * bindings/v8/SerializedScriptValue.h:
+ Switch to returning v8::Null instead of the empty value to match JSC
+ and the spec.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::loadInSameDocument): Call
+ dispatchDidNavigateWithinPage just before dispatching events to the
+ page. This ordering is important since the event handlers could
+ destroy the page or start another navigation.
+
+ * loader/FrameLoaderClient.h: Add dispatchDidNavigateWithinPage to
+ notify the client whenever a navigation occurs without changing any of
+ the documents in the page.
+
+2010-03-16 Adam Roben <aroben@apple.com>
+
+ Fix linker warnings when building WebCore on Windows
+
+ Rubber-stamped by Steve Falkenburg.
+
+ * WebCore.vcproj/WebCore.vcproj: Exclude JSDOMFormData.cpp from the
+ build, since it's already included in DerivedSources.cpp. Also let VS
+ sort this file as it saw fit.
+
+2010-03-15 Antti Koivisto <koivisto@iki.fi>
+
+ Reviewed by Simon Hausmann.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36121
+ [Qt] Make WebKit scrollbars work with tiling
+
+ Translate coordinates correctly.
+
+ * page/Frame.cpp:
+ (WebCore::Frame::tiledBackingStorePaintEnd):
+
+2010-03-16 Jakub Wieczorek <jwieczorek@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [Qt] MediaPlayerPrivate: Initialize m_mediaPlayerControl to 0 to avoid crashes
+ when no media services can be found.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36142
+
+ * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
+ (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
+
+2010-03-16 Adam Barth <abarth@webkit.org>
+
+ Unreviewed.
+
+ noscript tag should render when @sandbox disables JavaScript
+ https://bugs.webkit.org/show_bug.cgi?id=36092
+
+ Add missing "!" in plugin code. Should fix plugins/embed-inside-object
+ on Gtk and Qt.
+
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::load):
+
+2010-03-16 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [V8] Delete DerivedSourcesAllInOne.cpp.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33048
+
+ * Android.v8bindings.mk:
+ * bindings/v8/DerivedSourcesAllInOne.cpp: Removed.
+
+2010-03-16 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Revert r56006 as it caused functional issues. We will work on a
+ testcase, and rework the fix, and land when we have this a bit
+ more testable.
+
+ * platform/gtk/RenderThemeGtk.cpp:
+ (WebCore::RenderThemeGtk::paintMediaPlayButton):
+
+2010-03-16 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Errors when inspecting styles of non-renderable elements in XHTML.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35025
+
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::getStyles):
+ * inspector/front-end/DOMAgent.js:
+ (WebInspector.DOMNode.prototype._addAttribute):
+ (WebInspector.DOMWindow.prototype.Object):
+ * inspector/front-end/MetricsSidebarPane.js:
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylesSidebarPane.prototype.update.callback):
+ (WebInspector.StylesSidebarPane.prototype.update):
+ (WebInspector.StylesSidebarPane.prototype._update):
+
+2010-03-12 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Simon Fraser.
+ Patch by Antonio Gomes <tonikitoo@webkit.org>
+
+ Spatial Navigation: Add a scrollIntoView call when focusing an element.
+ https://bugs.webkit.org/show_bug.cgi?id=36020
+
+ When focusing an element in Spatial Navigation logic, it is desired to make
+ this element visible in the current viewport. For that to happen, there
+ could be a call to Element's scrollIntoView method at focusing time. However
+ for visual aspects, it is preferable to scroll to an inflated rect of |element|
+ in order to consider the focus outline width.
+ As Element's scrollIntoView method does not provide this flexibility, patch adds
+ a custom scrollIntoView method to SpatialNavigation.h .
+
+ * page/FocusController.cpp:
+ (WebCore::FocusController::advanceFocusDirectionally):
+ * page/SpatialNavigation.cpp:
+ (WebCore::scrollIntoView):
+ * page/SpatialNavigation.h:
+
+2010-03-10 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Eric Seidel.
+
+ [GTK] Position queries are lagging
+ https://bugs.webkit.org/show_bug.cgi?id=34372
+
+ Normalize timeout priorities through the GStreamer media player as
+ a whole. This should help avoid that any of them is starved.
+
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::MediaPlayerPrivate::volumeChanged):
+ (WebCore::MediaPlayerPrivate::processBufferingStats):
+ (WebCore::MediaPlayerPrivate::muteChanged):
+ * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
+ (webkit_video_sink_render):
+ * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
+ (webKitWebSrcNeedDataCb):
+ (webKitWebSrcEnoughDataCb):
+ (webKitWebSrcSeekDataCb):
+
+2010-03-10 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Eric Seidel.
+
+ [GTK] Position queries are lagging
+ https://bugs.webkit.org/show_bug.cgi?id=34372
+
+ Use default priority also for parsing data: URIs.
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::startData):
+
+2010-03-10 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Eric Seidel.
+
+ [GTK] Position queries are lagging
+ https://bugs.webkit.org/show_bug.cgi?id=34372
+
+ Normalize SharedTimers priorities to always be
+ G_PRIORITY_DEFAULT. As it is currently, timers that should happen
+ immediately (0 miliseconds delay) end up delayed by a lot of time
+ due to glib starving lower priority sources.
+
+ * platform/gtk/SharedTimerGtk.cpp:
+ (WebCore::setSharedTimerFireTime):
+
+2010-03-16 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ Add support for Fast Mobile Scrolling in the build system.
+
+ * GNUmakefile.am:
+
+2010-03-11 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Introduce InspectorFrontendClient that provides InspectorFrontend with an interface to the embedder. InspectorClient now serves as a delegate for InspectorController and does not contain methods for managing inspector frontend window. That allows to create remote InspectorFrontendHost.
+
+ Introduce InspectorFrontendClient that would provide InspectorFrontend with an interface to the embedder
+ https://bugs.webkit.org/show_bug.cgi?id=35036
+
+ * GNUmakefile.am:
+ * WebCore.Inspector.exp:
+ * WebCore.base.exp:
+ * WebCore.gypi:
+ * WebCore.order:
+ * WebCore.pro:
+ * WebCore.xcodeproj/project.pbxproj:
+ * inspector/ConsoleMessage.cpp:
+ (WebCore::ConsoleMessage::addToFrontend):
+ * inspector/ConsoleMessage.h:
+ * inspector/InspectorClient.h:
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::InspectorController):
+ (WebCore::InspectorController::~InspectorController):
+ (WebCore::InspectorController::inspectedPageDestroyed):
+ (WebCore::InspectorController::windowVisible):
+ (WebCore::InspectorController::frontendReady):
+ (WebCore::InspectorController::willCloseFrontend):
+ (WebCore::InspectorController::addConsoleMessage):
+ (WebCore::InspectorController::setInspectorFrontendClient):
+ (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
+ (WebCore::InspectorController::setFrontend):
+ (WebCore::InspectorController::show):
+ (WebCore::InspectorController::close):
+ (WebCore::InspectorController::releaseDOMAgent):
+ (WebCore::InspectorController::populateScriptObjects):
+ (WebCore::InspectorController::didCommitLoad):
+ (WebCore::InspectorController::getProfile):
+ (WebCore::InspectorController::enableDebugger):
+ * inspector/InspectorController.h:
+ (WebCore::InspectorController::hasInspectorFrontendClient):
+ * inspector/InspectorFrontend.cpp:
+ (WebCore::InspectorFrontend::InspectorFrontend):
+ (WebCore::InspectorFrontend::~InspectorFrontend):
+ (WebCore::InspectorFrontend::addConsoleMessage):
+ (WebCore::InspectorFrontend::bringToFront):
+ (WebCore::InspectorFrontend::inspectedURLChanged):
+ * inspector/InspectorFrontend.h:
+ * inspector/InspectorFrontendClient.h: Added.
+ (WebCore::InspectorFrontendClient::~InspectorFrontendClient):
+ * inspector/InspectorFrontendClientLocal.cpp: Added.
+ (WebCore::FrontendMenuProvider::create):
+ (WebCore::FrontendMenuProvider::disconnect):
+ (WebCore::FrontendMenuProvider::FrontendMenuProvider):
+ (WebCore::FrontendMenuProvider::~FrontendMenuProvider):
+ (WebCore::FrontendMenuProvider::populateContextMenu):
+ (WebCore::FrontendMenuProvider::contextMenuItemSelected):
+ (WebCore::FrontendMenuProvider::contextMenuCleared):
+ (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
+ (WebCore::InspectorFrontendClientLocal::~InspectorFrontendClientLocal):
+ (WebCore::InspectorFrontendClientLocal::windowObjectCleared):
+ (WebCore::InspectorFrontendClientLocal::frontendLoaded):
+ (WebCore::InspectorFrontendClientLocal::canAttachWindow):
+ (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
+ (WebCore::InspectorFrontendClientLocal::moveWindowBy):
+ (WebCore::InspectorFrontendClientLocal::showContextMenu):
+ (WebCore::InspectorFrontendClientLocal::setAttachedWindow):
+ (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
+ (WebCore::InspectorFrontendClientLocal::constrainedAttachedWindowHeight):
+ * inspector/InspectorFrontendClientLocal.h: Added.
+ * inspector/InspectorFrontendHost.cpp:
+ (WebCore::InspectorFrontendHost::InspectorFrontendHost):
+ (WebCore::InspectorFrontendHost::~InspectorFrontendHost):
+ (WebCore::InspectorFrontendHost::loaded):
+ (WebCore::InspectorFrontendHost::attach):
+ (WebCore::InspectorFrontendHost::detach):
+ (WebCore::InspectorFrontendHost::closeWindow):
+ (WebCore::InspectorFrontendHost::bringToFront):
+ (WebCore::InspectorFrontendHost::inspectedURLChanged):
+ (WebCore::InspectorFrontendHost::canAttachWindow):
+ (WebCore::InspectorFrontendHost::setAttachedWindowHeight):
+ (WebCore::InspectorFrontendHost::moveWindowBy):
+ (WebCore::InspectorFrontendHost::showContextMenu):
+ * inspector/InspectorFrontendHost.h:
+ (WebCore::InspectorFrontendHost::create):
+ * inspector/InspectorFrontendHost.idl:
+ * inspector/front-end/InspectorFrontendHostStub.js:
+ (.WebInspector.InspectorFrontendHostStub.prototype.bringToFront):
+ (.WebInspector.InspectorFrontendHostStub.prototype.inspectedURLChanged):
+ * inspector/front-end/inspector.js:
+ (WebInspector.loaded):
+ (WebInspector.close):
+ (WebInspector.bringToFront):
+ (WebInspector.inspectedURLChanged):
+ * loader/EmptyClients.h:
+ (WebCore::EmptyInspectorClient::openInspectorFrontend):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
+ * page/Page.cpp:
+ (WebCore::Page::Page):
+ (WebCore::Page::~Page):
+ * page/Page.h:
+ * platform/ContextMenu.cpp:
+ (WebCore::ContextMenu::populate):
+ (WebCore::ContextMenu::addInspectElementItem):
+
+2010-03-16 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: migrate to native styles inspector in
+ order to inspect styles from foreighn domains.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36117
+
+ * inspector/InspectorBackend.cpp:
+ (WebCore::InspectorBackend::getStyles):
+ (WebCore::InspectorBackend::getInlineStyle):
+ (WebCore::InspectorBackend::getComputedStyle):
+ (WebCore::InspectorBackend::applyStyleText):
+ (WebCore::InspectorBackend::setStyleText):
+ (WebCore::InspectorBackend::setStyleProperty):
+ (WebCore::InspectorBackend::toggleStyleEnabled):
+ (WebCore::InspectorBackend::setRuleSelector):
+ (WebCore::InspectorBackend::addRule):
+ * inspector/InspectorBackend.h:
+ * inspector/InspectorBackend.idl:
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::InspectorDOMAgent):
+ (WebCore::InspectorDOMAgent::getStyles):
+ (WebCore::InspectorDOMAgent::getInlineStyle):
+ (WebCore::InspectorDOMAgent::getComputedStyle):
+ (WebCore::InspectorDOMAgent::getMatchedCSSRules):
+ (WebCore::InspectorDOMAgent::getAttributeStyles):
+ (WebCore::InspectorDOMAgent::applyStyleText):
+ (WebCore::InspectorDOMAgent::setStyleText):
+ (WebCore::InspectorDOMAgent::setStyleProperty):
+ (WebCore::InspectorDOMAgent::toggleStyleEnabled):
+ (WebCore::InspectorDOMAgent::setRuleSelector):
+ (WebCore::InspectorDOMAgent::addRule):
+ (WebCore::InspectorDOMAgent::bindStyle):
+ (WebCore::InspectorDOMAgent::bindRule):
+ (WebCore::InspectorDOMAgent::buildObjectForStyle):
+ (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
+ (WebCore::InspectorDOMAgent::buildObjectForRule):
+ (WebCore::InspectorDOMAgent::uniqueStyleProperties):
+ (WebCore::InspectorDOMAgent::longhandProperties):
+ (WebCore::InspectorDOMAgent::shorthandPriority):
+ (WebCore::InspectorDOMAgent::ruleAffectsNode):
+ (WebCore::InspectorDOMAgent::toArray):
+ * inspector/InspectorDOMAgent.h:
+ * inspector/InspectorFrontend.cpp:
+ (WebCore::InspectorFrontend::didGetEventListenersForNode):
+ (WebCore::InspectorFrontend::didGetStyles):
+ (WebCore::InspectorFrontend::didGetComputedStyle):
+ (WebCore::InspectorFrontend::didGetInlineStyle):
+ (WebCore::InspectorFrontend::didApplyStyleText):
+ (WebCore::InspectorFrontend::didSetStyleText):
+ (WebCore::InspectorFrontend::didSetStyleProperty):
+ (WebCore::InspectorFrontend::didToggleStyleEnabled):
+ (WebCore::InspectorFrontend::didSetRuleSelector):
+ (WebCore::InspectorFrontend::didAddRule):
+ * inspector/InspectorFrontend.h:
+ * inspector/front-end/DOMAgent.js:
+ (WebInspector.CSSStyleDeclaration):
+ * inspector/front-end/ElementsTreeOutline.js:
+ * inspector/front-end/InjectedScript.js:
+ * inspector/front-end/MetricsSidebarPane.js:
+ (WebInspector.MetricsSidebarPane.prototype.update):
+ (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylesSidebarPane.prototype.update):
+ (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.callback):
+ (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
+ (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.callback):
+ (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
+ (WebInspector.StylePropertyTreeElement.prototype):
+ (WebInspector.StylePropertyTreeElement.prototype.):
+
+2010-03-16 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ RenderText::m_text should be a String, not RefPtr<StringImpl>
+ https://bugs.webkit.org/show_bug.cgi?id=36010
+
+ Refactoring only, so no new tests.
+
+ * platform/text/PlatformString.h:
+ (WebCore::String::makeLower):
+ (WebCore::String::makeUpper):
+ (WebCore::String::makeSecure):
+ (WebCore::String::makeCapitalized):
+ (WebCore::String::containsOnlyASCII):
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::RenderText):
+ (WebCore::RenderText::widthFromCache):
+ (WebCore::RenderText::trimmedPrefWidths):
+ (WebCore::RenderText::containsOnlyWhitespace):
+ (WebCore::RenderText::setTextInternal):
+ (WebCore::RenderText::setText):
+ (WebCore::RenderText::previousOffset):
+ (WebCore::RenderText::previousOffsetForBackwardDeletion):
+ (WebCore::RenderText::nextOffset):
+ * rendering/RenderText.h:
+ (WebCore::RenderText::text):
+ (WebCore::RenderText::characters):
+ (WebCore::RenderText::textLength):
+
+2010-03-16 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ noscript tag should render when @sandbox disables JavaScript
+ https://bugs.webkit.org/show_bug.cgi?id=36092
+
+ Instead of talking to Settings directly to figure out if JavaScript is
+ enabled in a frame, we need to talk to the ScriptController. The
+ ScriptController is better at answering that question because it knows
+ about @sandbox.
+
+ Test: fast/frames/sandboxed-iframe-noscript.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::Document):
+ * html/HTMLCanvasElement.cpp:
+ (WebCore::HTMLCanvasElement::createRenderer):
+ * html/HTMLElement.cpp:
+ (WebCore::HTMLElement::rendererIsNeeded):
+ * html/HTMLParser.cpp:
+ (WebCore::HTMLParser::noscriptCreateErrorCheck):
+ (WebCore::HTMLParser::isInline):
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::load):
+
+2010-03-15 John Gregg <johnnyg@google.com>
+
+ Reviewed by David Levin.
+
+ Notification object should expose absolute URL of icon
+ https://bugs.webkit.org/show_bug.cgi?id=35800
+
+ Covered by existing tests.
+
+ * notifications/Notification.cpp:
+ (WebCore::Notification::Notification):
+ * notifications/Notification.h:
+ (WebCore::Notification::iconURL):
+
+2010-03-15 Leandro Pereira <leandro@profusion.mobi>
+
+ Reviewed by Holger Freyther.
+
+ Add EFL port files to platform/efl.
+ http://webkit.org/b/35887
+
+ * platform/efl/ClipboardEfl.cpp: Added.
+ * platform/efl/PasteboardEfl.cpp: Added.
+
+2010-03-15 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Don't submit disabled menu options.
+ https://bugs.webkit.org/show_bug.cgi?id=35056
+
+ Test: fast/forms/menulist-disabled-selected-option.html
+
+ * dom/OptionElement.h:
+ * dom/SelectElement.cpp:
+ (WebCore::SelectElement::appendFormData):
+ If a selected option is disabled, skip it.
+ Remove code for non-selected menulist because of compatibility with
+ other browsers.
+
+2010-03-15 Leandro Pereira <leandro@profusion.mobi>
+
+ Reviewed by Holger Freyther.
+
+ Add EFL port files to platform/efl.
+ http://webkit.org/b/35884
+
+ * platform/efl/FileSystemEfl.cpp: Added.
+
+2010-03-15 Leandro Pereira <leandro@profusion.mobi>
+
+ Reviewed by Holger Freyther.
+
+ Add EFL port files to platform/efl.
+ http://webkit.org/b/35882
+
+ * platform/efl/ContextMenuItemEfl.cpp: Added.
+
+2010-03-15 Joanmarie Diggs <joanmarie.diggs@gmail.com>
+
+ Reviewed by Holger Freyther.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35502
+ [Gtk] Objects of ATK_ROLE_TABLE should not implement AtkText
+
+ Simple change to stop tables from implementing AtkText.
+
+ * accessibility/gtk/AccessibilityObjectAtk.cpp:
+ (getInterfaceMaskFromObject):
+
+2010-03-15 Adam Bergkvist <adam.bergkvist@ericsson.com>
+
+ Reviewed by Adam Barth.
+
+ According to the updated specification, a data field should always
+ result in a newline character being appended to the data buffer
+ regardless if the data buffer contains any data or not. However, upon
+ event dispatch, the last newline will be removed. This differs from an
+ older version of the specification where a newline character was
+ appended before the data value only if the buffer already contained
+ data. As a result, EventSource now supports receiving events with empty
+ data or newline characters only.
+ https://bugs.webkit.org/show_bug.cgi?id=33210
+
+ * page/EventSource.cpp:
+ (WebCore::EventSource::parseEventStreamLine):
+
+2010-03-15 Valters Svabe <vsvabe@gmail.com>
+
+ Reviewed by Darin Adler.
+
+ :after selector displays in wrong place with nested div
+ https://bugs.webkit.org/show_bug.cgi?id=32288
+
+ Make sure we don't append things after :after-generated content, if
+ it's inside an anonymous block.
+
+ Test: fast/css-generated-content/block-after.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::addChild):
+
+2010-03-15 Leandro Pereira <leandro@profusion.mobi>
+
+ Reviewed by Eric Seidel.
+
+ Add EFL port files to platform/efl.
+ http://webkit.org/b/35885
+
+ * platform/efl/KURLEfl.cpp: Added.
+
+2010-03-15 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ VO not able to perform a VO-spacebar on facebook links
+ https://bugs.webkit.org/show_bug.cgi?id=36132
+
+ When a label element is used as a click event handler, and it doesn't have any
+ corresponding control, it should handle the action itself.
+
+ Test: accessibility/label-element-press.html
+
+ * html/HTMLLabelElement.cpp:
+ (WebCore::HTMLLabelElement::accessKeyAction):
+
+2010-03-15 Cameron Zwarich <zwarich@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Bug 36135 - GCController::garbageCollectNow() crashes when called from garbage collection
+ <https://bugs.webkit.org/show_bug.cgi?id=36135>
+ <rdar://problem/7752552>
+
+ * bindings/js/GCController.cpp:
+ (WebCore::GCController::garbageCollectNow): Fail silently if garbage collection is
+ active rather than hitting the CRASH() reentrancy guard.
+
+2010-03-15 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Drop out of compositing mode when no elements need to composite
+ https://bugs.webkit.org/show_bug.cgi?id=36134
+
+ When no more elements on the page need to be composited, drop out of compositing
+ mode altogether, including removing the layer-backed view that hosts the layers.
+
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::updateCompositingLayers): If the list of child layers to attach at
+ the root is empty, we have no composited layers, and can drop out of compositing mode by calling
+ willMoveOffscreen().
+
+ (WebCore::RenderLayerCompositor::computeCompositingRequirements): In several places,
+ use willBeComposited rather than calling needsToBeComposited(), because it avoids
+ recomputing state that we know already (but assert that we're getting it right).
+ When we're assessing the root layer in post-order, see if we have any child layers that
+ are compositing, and also whether the root itself needs to composite. If neither are
+ true, then we can drop out of compositing mode.
+
+ (WebCore::RenderLayerCompositor::needsToBeComposited):
+ (WebCore::RenderLayerCompositor::requiresCompositingLayer): Move the
+ "inCompositingMode() && layer->isRootLayer()" test out of requiresCompositingLayer()
+ and into needsToBeComposited() so that we can call requiresCompositingLayer() separately
+ on the root layer above.
+
+2010-03-15 Leandro Pereira <leandro@profusion.mobi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add EFL port files to platform/efl.
+ http://webkit.org/b/35888
+
+ * platform/efl/SoundEfl.cpp: Added.
+
+2010-03-15 Andy Estes <aestes@apple.com>
+
+ Reviewed by John Sullivan.
+
+ For continuous scrolling devices on the Mac (trackpads and Mighty/Magic
+ Mice), set the number of wheel ticks equal to the atomic increment of
+ the device: a pixel. This ensures that any scrolling action will
+ generate at least one wheel tick, regardless of the speed/length of
+ the gesture.
+
+ https://bugs.webkit.org/show_bug.cgi?id=29601
+ <rdar://problem/7453254>
+
+ Tests: fast/events/continuous-platform-wheelevent-in-scrolling-div.html
+ fast/events/platform-wheelevent-in-scrolling-div.html
+
+ * platform/mac/WebCoreSystemInterface.h: Modify method signature.
+ * platform/mac/WebCoreSystemInterface.mm: Ditto.
+ * platform/mac/WheelEventMac.mm:
+ (WebCore::PlatformWheelEvent::PlatformWheelEvent): Call into
+ WebKitSystemInterface to determine both wheelTicksX/Y and deltaX/Y.
+ WKSI will query the event system for number of wheel ticks and
+ pixels/lines scrolled based on the device type.
+
+2010-03-15 Philippe Normand <pnormand@igalia.com>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ [GStreamer] duration query optimizations
+ https://bugs.webkit.org/show_bug.cgi?id=36116
+
+ Don't reattempt duration queries that previously failed and cache
+ media duration only if it's known.
+
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
+ (WebCore::MediaPlayerPrivate::duration):
+ (WebCore::MediaPlayerPrivate::updateStates):
+ (WebCore::MediaPlayerPrivate::durationChanged):
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
+
+2010-03-11 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Adam Barth.
+
+ Clean up more bits of the open-source image decoders. In addition to
+ simplifying things somewhat, this makes all the decoders the same in
+ terms of how they construct "image reader" subclasses and init scale
+ data.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36040
+
+ No functional change, so no tests.
+
+ * platform/image-decoders/ImageDecoder.h: Reorder a few declarations to try and group/order members slightly better.
+ (WebCore::ImageDecoder::ImageDecoder):
+ * platform/image-decoders/gif/GIFImageDecoder.cpp: Move reader construction into decode(). Prep scale data in setSize(). Remove useless comment.
+ (WebCore::GIFImageDecoder::setData):
+ (WebCore::GIFImageDecoder::setSize):
+ (WebCore::GIFImageDecoder::frameBufferAtIndex):
+ (WebCore::GIFImageDecoder::decode):
+ * platform/image-decoders/gif/GIFImageDecoder.h: Prep scale data in setSize().
+ * platform/image-decoders/gif/GIFImageReader.cpp: Prep scale data in setSize().
+ (GIFImageReader::read):
+ * platform/image-decoders/ico/ICOImageDecoder.cpp: Shorten code.
+ (WebCore::ICOImageDecoder::setSize):
+ * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: Fix style. Move reader construction into decode().
+ (WebCore::JPEGImageReader::close):
+ (WebCore::JPEGImageReader::skipBytes):
+ (WebCore::JPEGImageDecoder::decode):
+ * platform/image-decoders/jpeg/JPEGImageDecoder.h: Move reader construction into decode().
+ (WebCore::JPEGImageDecoder::filenameExtension):
+ * platform/image-decoders/png/PNGImageDecoder.cpp: Move reader construction into decode(). Track completion on decoder, not reader. Prep scale data in setSize(). Remove useless comment.
+ (WebCore::PNGImageReader::PNGImageReader):
+ (WebCore::PNGImageReader::close):
+ (WebCore::PNGImageReader::decode):
+ (WebCore::PNGImageDecoder::setSize):
+ (WebCore::PNGImageDecoder::frameBufferAtIndex):
+ (WebCore::PNGImageDecoder::headerAvailable):
+ (WebCore::PNGImageDecoder::pngComplete):
+ (WebCore::PNGImageDecoder::decode):
+ * platform/image-decoders/png/PNGImageDecoder.h: Move reader construction into decode(). Track completion on decoder, not reader. Prep scale data in setSize().
+ (WebCore::PNGImageDecoder::filenameExtension):
+ (WebCore::PNGImageDecoder::isComplete):
+
+2010-03-15 Philippe Normand <pnormand@igalia.com>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ [GStreamer] updateStates called for all elements posting a state-change
+ https://bugs.webkit.org/show_bug.cgi?id=36115
+
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::mediaPlayerPrivateMessageCallback): Update player state
+ only for state-change messages coming from playbin2 directly.
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
+ (WebCore::MediaPlayerPrivate::pipeline): public accessor for the
+ playbin element.
+
+2010-03-15 Jian Li <jianli@chromium.org>
+
+ Reviewed by Nate Chapin.
+
+ [v8] Add V8 bindings for DOMFormData.
+ https://bugs.webkit.org/show_bug.cgi?id=36026
+
+ Test: http/tests/local/send-form-data.html
+
+ * Android.v8bindings.mk:
+ * WebCore.gypi:
+ * bindings/v8/V8Index.h:
+ * bindings/v8/custom/V8DOMFormDataCustom.cpp: Added.
+ * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
+ (WebCore::V8XMLHttpRequest::sendCallback):
+
+2010-03-15 Jian Li <jianli@chromium.org>
+
+ Reviewed by Sam Weinig.
+
+ Add DOMFormData.idl to expose FormData interface.
+ https://bugs.webkit.org/show_bug.cgi?id=36024
+
+ The implementation is based on XMLHttpRequest 2 spec:
+ http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#formdata
+
+ Test: http/tests/local/send-form-data.html
+
+ * Android.derived.jscbindings.mk:
+ * Android.derived.v8bindings.mk:
+ * Android.jscbindings.mk:
+ * DerivedSources.cpp:
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.pri:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSDOMFormDataCustom.cpp: Added.
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ (WebCore::JSXMLHttpRequest::send):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * html/DOMFormData.idl: Added.
+ * page/DOMWindow.idl:
+
+2010-03-15 Patrik Persson <patrik.j.persson@ericsson.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32369
+
+ Revise iframe sandbox behavior to match the updated HTML5 spec.
+
+ - Enables window.sessionStorage in sandboxed iframes.
+
+ - Raises SECURITY_ERR exceptions when window.localStorage or
+ window.openDatabase() is blocked by iframe sandboxing.
+
+ Note: window.sessionStorage does not raise exceptions.
+
+ WebKit would previously return null references in these cases. The
+ new behavior is in accordance with HTML5:
+
+ http://dev.w3.org/html5/webstorage/ (sections 4.2 and 4.3)
+ http://dev.w3.org/html5/webdatabase/ (section 4.1)
+ http://www.mail-archive.com/whatwg@lists.whatwg.org/msg19786.html
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::selectDOMStorage): exception handling
+ * inspector/InspectorDOMStorageResource.cpp:
+ (WebCore::InspectorDOMStorageResource::handleEvent): exception handling
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::sessionStorage): re-enabled in iframe sandbox
+ (WebCore::DOMWindow::localStorage): raise exception rather than return null
+ (WebCore::DOMWindow::openDatabase): raise exception rather than return null
+ * page/DOMWindow.h: added exceptions to interface
+ * page/DOMWindow.idl: added exceptions to interface
+ * page/SecurityOrigin.h:
+ (WebCore::SecurityOrigin::canAccessLocalStorage): renamed function to reflect its purpose
+ * storage/StorageEventDispatcher.cpp:
+ (WebCore::StorageEventDispatcher::dispatch): exception handling
+
+2010-03-15 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Implement a progress indicator in the Audits panel
+ when resources are reloading
+ https://bugs.webkit.org/show_bug.cgi?id=35971
+
+ * English.lproj/localizedStrings.js:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * inspector/front-end/AuditLauncherView.js:
+ (WebInspector.AuditLauncherView.prototype.updateResourceTrackingState):
+ (WebInspector.AuditLauncherView.prototype.get totalResources):
+ (WebInspector.AuditLauncherView.prototype.set totalResources):
+ (WebInspector.AuditLauncherView.prototype.get loadedResources):
+ (WebInspector.AuditLauncherView.prototype.set loadedResources):
+ (WebInspector.AuditLauncherView.prototype._resetResourceCount):
+ (WebInspector.AuditLauncherView.prototype.resourceStarted):
+ (WebInspector.AuditLauncherView.prototype.resourceFinished):
+ (WebInspector.AuditLauncherView.prototype.reset):
+ (WebInspector.AuditLauncherView.prototype._setAuditRunning):
+ (WebInspector.AuditLauncherView.prototype._launchButtonClicked):
+ (WebInspector.AuditLauncherView.prototype._createCategoryElement):
+ (WebInspector.AuditLauncherView.prototype._createLauncherUI):
+ (WebInspector.AuditLauncherView.prototype._updateResourceProgress):
+ (WebInspector.AuditLauncherView.prototype._updateButton):
+ * inspector/front-end/AuditsPanel.js:
+ (WebInspector.AuditsPanel.prototype.resourceStarted):
+ (WebInspector.AuditsPanel.prototype.resourceFinished):
+ (WebInspector.AuditsPanel.prototype.reset):
+ * inspector/front-end/Images/spinner.gif: Added.
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/audits.css:
+ (.audit-launcher-view .resource-progress > img):
+ * inspector/front-end/inspector.js:
+ (WebInspector.updateResource):
+
+2010-03-15 Philippe Normand <pnormand@igalia.com>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ [GStreamer] replace g_idle_add / g_timeout_add calls with Timers in the gstreamer player
+ https://bugs.webkit.org/show_bug.cgi?id=35735
+
+ Replaced g_idle_add calls with Timers immediately started once
+ only. The g_timeout_add was replaced by a periodic Timer.
+
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
+ (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
+ (WebCore::MediaPlayerPrivate::volumeChangedTimerFired):
+ (WebCore::MediaPlayerPrivate::volumeChanged):
+ (WebCore::MediaPlayerPrivate::processBufferingStats):
+ (WebCore::MediaPlayerPrivate::fillTimerFired):
+ (WebCore::MediaPlayerPrivate::maxTimeLoaded):
+ (WebCore::MediaPlayerPrivate::updateStates):
+ (WebCore::MediaPlayerPrivate::muteChangedTimerFired):
+ (WebCore::MediaPlayerPrivate::muteChanged):
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
+
+2010-03-12 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Eric Carlson.
+
+ media/video-preload.html fails
+ https://bugs.webkit.org/show_bug.cgi?id=35793
+
+ Only effectively load, and start buffering when playing, or when
+ the preload attribute is set.
+
+ Test: media/video-preload.html
+
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
+ (WebCore::MediaPlayerPrivate::load):
+ (WebCore::MediaPlayerPrivate::commitLoad):
+ (WebCore::MediaPlayerPrivate::prepareToPlay):
+ (WebCore::MediaPlayerPrivate::setPreload):
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
+
+2010-03-15 Shu Chang <Chang.Shu@nokia.com>
+
+ Reviewed by Holger Freyther.
+
+ [Qt] The behavior of QGradient with no stops is defined differently from HTML5 spec,
+ where the latter requires the gradient to be transparent black. Explicitly added a
+ transparent black color stop to match the HTML5 behavior.
+ https://bugs.webkit.org/show_bug.cgi?id=36060
+
+ * platform/graphics/qt/GradientQt.cpp:
+ (WebCore::Gradient::platformGradient):
+
+2010-03-11 Antonio Gomes <tonikitoo@webkit.org>
+
+ Rubber-stamped by Holger Freyther.
+ Patch by Antonio Gomes <tonikitoo@webkit.org>
+
+ Some minor code clean ups in SpatialNavigation.cpp
+
+ * page/SpatialNavigation.cpp:
+ (WebCore::distanceInDirection):
+ (WebCore::deflateIfOverlapped):
+
+2010-03-13 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ WebInspector: Position of GraphBar elements is calculating more carefully
+ and they fully visible at the bottom of Timeline panel.
+
+ http://bugs.webkit.org/show_bug.cgi?id=35966
+
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelineRecordGraphRow.prototype.update):
+
+2010-03-15 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Selection.modify extends too far with 'lineboundary'.
+ https://bugs.webkit.org/show_bug.cgi?id=33413
+
+ Selection.modify() with 'lineboundary' granularity implies just
+ "Go to the end of the line", unlike selection expansion with
+ other type of granularities. This change handled LineGranularity
+ as special case, to look-up end of line with UPSTREAM affinity.
+ Doing this prevents look-up algorithm to go next line.
+
+ Test: editing/selection/extend-selection-expected.txt
+
+ * dom/Position.cpp:
+ (WebCore::Position::getInlineBoxAndOffset):
+ Handled an edge case for node look-up with UPSTREAM.
+ * editing/SelectionController.cpp:
+ (WebCore::SelectionController::modifyExtendingForward):
+ Added UPSTREAM tweak for the case for LineGranularity.
+
+2010-03-14 Yuzo Fujishima <yuzo@google.com>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Always call PrintContext.end() from PrintContext::pageNumberForElement().
+
+ Without this change, WebKit remains in printing mode after determining the page number if the specified element is found.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36049
+
+ Test: printing/return-from-printing-mode.html
+
+ * page/PrintContext.cpp:
+ (WebCore::PrintContext::pageNumberForElement):
+
+2010-03-11 Philippe Normand <pnormand@igalia.com>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ [GStreamer] progressTimer never stopped after EOS
+ https://bugs.webkit.org/show_bug.cgi?id=36007
+
+ Mark the pipeline as paused only if playback hasn't ended
+ yet. When didEnd() is triggered, the pipeline is paused (but
+ paused() still returns false) and a timeupdate event is fired,
+ those 2 conditions allow the HTMLMediaElement to stop the
+ progressTimer (in updatePlayerState, via mediaPlayerTimeChanged).
+
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::MediaPlayerPrivate::updateStates):
+
+2010-03-14 Chang Shu <chang.shu@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] [Symbian] Added block for ENABLE_SYMBIAN_DIALOG_PROVIDERS
+ on Symbian platform.
+ https://bugs.webkit.org/show_bug.cgi?id=35919
+
+ * WebCore.pro:
+
+2010-03-14 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Support for HTMLProgressElement
+ https://bugs.webkit.org/show_bug.cgi?id=35937
+
+ Added support for HTMLProgressElement.
+ This implementation is enabled only for Qt, because only RenderThemeQt
+ was modified to actually draw the progress element.
+ The labels attribute of the progress element will be implemented in a
+ separate patch.
+
+ Tests: fast/dom/HTMLProgressElement/progress-element.html
+ fast/dom/HTMLProgressElement/set-progress-properties.html
+
+ * DerivedSources.cpp:
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pri:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * css/CSSPrimitiveValueMappings.h:
+ (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::extractPseudoType):
+ * css/CSSValueKeywords.in:
+ * css/html.css:
+ * html/HTMLElement.cpp:
+ (WebCore::inlineTagList):
+ * html/HTMLElementsAllInOne.cpp:
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::HTMLFormControlElement::HTMLFormControlElement):
+ * html/HTMLFormControlElement.h:
+ * html/HTMLProgressElement.cpp: Added.
+ (WebCore::HTMLProgressElement::HTMLProgressElement):
+ (WebCore::HTMLProgressElement::create):
+ (WebCore::HTMLProgressElement::createRenderer):
+ (WebCore::HTMLProgressElement::formControlType):
+ (WebCore::HTMLProgressElement::parseMappedAttribute):
+ (WebCore::HTMLProgressElement::value):
+ (WebCore::HTMLProgressElement::setValue):
+ (WebCore::HTMLProgressElement::max):
+ (WebCore::HTMLProgressElement::setMax):
+ (WebCore::HTMLProgressElement::position):
+ * html/HTMLProgressElement.h: Added.
+ (WebCore::HTMLProgressElement::isOptionalFormControl):
+ * html/HTMLProgressElement.idl: Added.
+ * html/HTMLTagNames.in:
+ * page/DOMWindow.idl:
+ * platform/ThemeTypes.h:
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::RenderThemeQt::adjustProgressBarStyle):
+ (WebCore::RenderThemeQt::paintProgressBar):
+ * platform/qt/RenderThemeQt.h:
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::isProgress):
+ * rendering/RenderProgress.cpp: Added.
+ (WebCore::RenderProgress::RenderProgress):
+ (WebCore::RenderProgress::baselinePosition):
+ (WebCore::RenderProgress::calcPrefWidths):
+ (WebCore::RenderProgress::layout):
+ (WebCore::RenderProgress::updateFromElement):
+ * rendering/RenderProgress.h: Added.
+ (WebCore::RenderProgress::renderName):
+ (WebCore::RenderProgress::isProgress):
+ (WebCore::toRenderProgress):
+ * rendering/RenderTheme.cpp:
+ (WebCore::RenderTheme::adjustStyle):
+ (WebCore::RenderTheme::paint):
+ (WebCore::RenderTheme::paintBorderOnly):
+ (WebCore::RenderTheme::paintDecorations):
+ (WebCore::RenderTheme::adjustProgressBarStyle):
+ * rendering/RenderTheme.h:
+ (WebCore::RenderTheme::paintProgressBar):
+
+2010-03-14 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION(r53287): drop event is not fired if dataTransfer.dropEffect is not explicitly set
+ https://bugs.webkit.org/show_bug.cgi?id=36095
+
+ The issue here is that while dropEffect is meant to be initialized
+ to "none", the behaviour of the drag is differs between dragEffect
+ not being set and dragEffect being explicitly set to "none"
+
+ This patch corrects this behaviour by making Clipboard distinguish
+ between the initial "none" value of dropEffect and an explicit "none".
+ This alone is insufficient for correct behaviour, we also need to
+ resurrect the removed defaultOperationForDrag function, but we now
+ use the function only when dragEffect is uninitialized. There are a
+ few tweaks to the behaviour of the defaultOperationForDrag as well
+ to ensure exactly the same set of outcomes for all cases that we
+ may hit it.
+
+ * dom/Clipboard.cpp:
+ (WebCore::Clipboard::Clipboard):
+ (WebCore::dragOpFromIEOp):
+ (WebCore::Clipboard::destinationOperation):
+ * dom/Clipboard.h:
+ (WebCore::Clipboard::dropEffect):
+ (WebCore::Clipboard::dropEffectIsUninitialized):
+ * page/DragController.cpp:
+ (WebCore::defaultOperationForDrag):
+ (WebCore::DragController::tryDHTMLDrag):
+
+2010-03-14 Antti Koivisto <koivisto@iki.fi>
+
+ Reviewed by Simon Hausmann.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35146
+ Support tiled backing store
+
+ Implements a basic tiled backing store mechanism. Tiles are created and
+ deleted on demand. The page content is cached to the tiles. Tile content
+ is kept in sync with the document. Since the backing store covers area
+ larger than the currently visible viewport, the document can be scrolled
+ quickly without having to enter rendering tree painting.
+
+ The tile management code is platform independent. This patch has simple QPixmap
+ based tile implementation for Qt.
+
+ The feature is behind ENABLE_TILED_BACKING_STORE flag.
+
+ * WebCore.pri:
+ * WebCore.pro:
+ * page/Frame.cpp:
+ (WebCore::Frame::Frame):
+ (WebCore::Frame::setTiledBackingStoreEnabled):
+ (WebCore::Frame::tiledBackingStorePaintBegin):
+ (WebCore::Frame::tiledBackingStorePaint):
+ (WebCore::Frame::tiledBackingStorePaintEnd):
+ (WebCore::Frame::tiledBackingStoreContentsRect):
+ * page/Frame.h:
+ (WebCore::Frame::tiledBackingStore):
+ * page/FrameView.cpp:
+ (WebCore::FrameView::repaintContentRectangle):
+ (WebCore::FrameView::doDeferredRepaints):
+ * page/Settings.cpp:
+ (WebCore::Settings::Settings):
+ (WebCore::Settings::setTiledBackingStoreEnabled):
+ * page/Settings.h:
+ (WebCore::Settings::tiledBackingStoreEnabled):
+ * platform/graphics/Tile.h: Added.
+ (WebCore::Tile::create):
+ (WebCore::Tile::coordinate):
+ (WebCore::Tile::rect):
+ * platform/graphics/TiledBackingStore.cpp: Added.
+ (WebCore::TiledBackingStore::TiledBackingStore):
+ (WebCore::TiledBackingStore::~TiledBackingStore):
+ (WebCore::TiledBackingStore::invalidate):
+ (WebCore::TiledBackingStore::updateTileBuffers):
+ (WebCore::TiledBackingStore::paint):
+ (WebCore::TiledBackingStore::viewportChanged):
+ (WebCore::TiledBackingStore::setContentsScale):
+ (WebCore::TiledBackingStore::tileDistance):
+ (WebCore::TiledBackingStore::createTiles):
+ (WebCore::TiledBackingStore::dropOverhangingTiles):
+ (WebCore::TiledBackingStore::dropTilesOutsideRect):
+ (WebCore::TiledBackingStore::tileAt):
+ (WebCore::TiledBackingStore::setTile):
+ (WebCore::TiledBackingStore::removeTile):
+ (WebCore::TiledBackingStore::mapToContents):
+ (WebCore::TiledBackingStore::mapFromContents):
+ (WebCore::TiledBackingStore::contentsRect):
+ (WebCore::TiledBackingStore::tileRectForCoordinate):
+ (WebCore::TiledBackingStore::tileCoordinateForPoint):
+ (WebCore::TiledBackingStore::startTileBufferUpdateTimer):
+ (WebCore::TiledBackingStore::tileBufferUpdateTimerFired):
+ (WebCore::TiledBackingStore::startTileCreationTimer):
+ (WebCore::TiledBackingStore::tileCreationTimerFired):
+ (WebCore::TiledBackingStore::setContentsFrozen):
+ * platform/graphics/TiledBackingStore.h: Added.
+ (WebCore::TiledBackingStore::contentsScale):
+ (WebCore::TiledBackingStore::contentsFrozen):
+ * platform/graphics/TiledBackingStoreClient.h: Added.
+ * platform/graphics/qt/TileQt.cpp: Added.
+ (WebCore::checkeredPixmap):
+ (WebCore::Tile::Tile):
+ (WebCore::Tile::~Tile):
+ (WebCore::Tile::isDirty):
+ (WebCore::Tile::isReadyToPaint):
+ (WebCore::Tile::invalidate):
+ (WebCore::Tile::updateBackBuffer):
+ (WebCore::Tile::swapBackBufferToFront):
+ (WebCore::Tile::paint):
+ (WebCore::Tile::paintCheckerPattern):
+
+2010-03-14 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WebCore part of removing support for legacy versions of Core Graphics
+
+ * WebCore.vcproj/WebCore.vcproj: Removed FontDatabase.{cpp,h}
+ * platform/graphics/win/FontCGWin.cpp:
+ (WebCore::Font::drawGlyphs): Removed call to wkCanCreateCGFontWithLOGFONT(),
+ as it is now always true.
+ * platform/graphics/win/FontCacheWin.cpp:
+ (WebCore::FontCache::createFontPlatformData): Ditto.
+ * platform/graphics/win/FontCustomPlatformData.cpp:
+ (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Updated for
+ the removal of m_cgFont.
+ (WebCore::FontCustomPlatformData::fontPlatformData): Removed call to
+ wkCanCreateCGFontWithLOGFONT(), as it is now always true.
+ (WebCore::createFontCustomPlatformData): Ditto. Also updated for change to
+ the FontCustomPlatformData constructor.
+ * platform/graphics/win/FontCustomPlatformData.h: Removed m_cgFont member.
+ (WebCore::FontCustomPlatformData::FontCustomPlatformData): Removed cgFont
+ parameter.
+ * platform/graphics/win/FontDatabase.cpp: Removed.
+ * platform/graphics/win/FontDatabase.h: Removed.
+ * platform/graphics/win/FontPlatformDataCGWin.cpp:
+ (WebCore::FontPlatformData::platformDataInit): Removed call to
+ wkCanCreateCGFontWithLOGFONT(), as it is now always true.
+ * platform/win/TemporaryLinkStubs.cpp:
+ (WebCore::populateFontDatabase): Removed stub.
+
+2010-03-14 Jessie Berlin <jberlin@webkit.org>
+
+ Reviewed by Sam Weinig.
+
+ "event.ctrlKey" is always false when dragging an element with "ctrl" key down
+ https://bugs.webkit.org/show_bug.cgi?id=17113
+
+ No new tests.
+
+ * page/DragController.cpp:
+ (WebCore::createMouseEvent):
+ Use the current state of the shift, ctrl, alt, and meta keys when creating the drag mouse event.
+
+2010-03-13 Antonio Gomes <tonikitoo@webkit.org>
+
+ Not reviewed identation fix.
+
+ * manual-tests/spatial-navigation/spatial-navigation-test-cases.html:
+
+2010-03-13 Kim Grönholm <kim.gronholm@nomovok.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] GraphicsLayer: Opacity change from zero to non-zero doesn't always have effect with AC
+ https://bugs.webkit.org/show_bug.cgi?id=36034
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::OpacityAnimationQt::applyFrame):
+
+2010-03-13 Kim Grönholm <kim.gronholm@nomovok.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] GraphicsLayer: Opacity transitions end with begin value
+ https://bugs.webkit.org/show_bug.cgi?id=36019
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::AnimationQt::updateCurrentTime):
+
+2010-03-13 Dirk Schulze <krit@webkit.org>
+
+ No review, rolling out r55927.
+ http://trac.webkit.org/changeset/55927
+ https://bugs.webkit.org/show_bug.cgi?id=35793
+
+ Breaks Gtk build bots.
+
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
+ (WebCore::MediaPlayerPrivate::load):
+ (WebCore::MediaPlayerPrivate::setPreload):
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
+
+2010-03-12 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ SVG Glyphs - transform path not context
+ https://bugs.webkit.org/show_bug.cgi?id=36070
+
+ SVGFont should transform the path of a glyph, not the context. Modifying
+ the context causes wrong gradient transformations. This bug doesn't
+ influence CG because we generally fill or stroke texts with a mask image.
+ All other platforms provide a direct way to make the drawings.
+
+ * svg/SVGFont.cpp:
+ (WebCore::Font::drawTextUsingSVGFont):
+
+2010-03-12 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=34942 Fullscreen
+ API naming is inconsistent
+ -and corresponding-
+ <rdar://problem/7729165>
+
+ This patch changes all occurrences of "fullScreen" to the more
+ popular "fullscreen." webkitEnterFullScreen and
+ webkitExitFullScreen have been maintained for now for backwards
+ compatibility.
+
+ * html/HTMLVideoElement.cpp:
+ (WebCore::HTMLVideoElement::webkitEnterFullscreen):
+ (WebCore::HTMLVideoElement::webkitExitFullscreen):
+ * html/HTMLVideoElement.h:
+ (WebCore::HTMLVideoElement::webkitEnterFullScreen):
+ (WebCore::HTMLVideoElement::webkitExitFullScreen):
+ * html/HTMLVideoElement.idl:
+ * platform/graphics/mac/MediaPlayerProxy.h:
+
+2010-03-12 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Add virtual destructor to DOMWrapperWorld
+ https://bugs.webkit.org/show_bug.cgi?id=36077
+
+ DOMWrapperWorld is RefCounted<DOMWrapperWorld>. IsolatedWorld
+ inherits from DOMWrapperWorld and has member variables
+ with destructors, so DOMWrapperWorld needs to have a declared virtual
+ d'tor to ensure that its derived class's destructors are called.
+
+ No new tests, no change in behavior
+
+ * bindings/v8/DOMWrapperWorld.h:
+ (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
+
+
+2010-03-11 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Bug 36075 - Clean up screwyness re static string impls & Identifiers.
+
+ * platform/text/StringImpl.cpp:
+ (WebCore::StringImpl::~StringImpl): Add ASSERT
+ (WebCore::StringImpl::sharedBuffer): Add ASSERT
+ * platform/text/StringImpl.h:
+ (WebCore::StringImpl::setHash): Add ASSERT
+ (WebCore::StringImpl::isStatic): added.
+
+2010-03-12 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Content of 3D tests appears at the bottom right corner sometimes.
+ <rdar://problem/7556244>
+ <https://bugs.webkit.org/show_bug.cgi?id=36027>
+
+ There were two problems to solve here:
+ - the incorrect anchoring of the rootChildLayer that was causing the composited
+ content to be positioned incorrectly
+ - the failure to paint the non composited content into the backing store when
+ animating composited content.
+
+ The first problem has been solved by leaving the original anchor point for the
+ rootChildLayer and splitting the tasks of clipping and scrolling using two separate layers.
+ The second problem has been solved leveraging the knowledge that WebView has of the dirty region
+ of the backing store to pass this information to the layer renderer. This allows the renderer to force
+ a paint into the backing store before moving to the compositing.
+
+ Tests: compositing/geometry/horizontal-scroll-composited.html
+ compositing/geometry/vertical-scroll-composited.html
+
+ * manual-tests/win/horizontal-scroll-composited.html: Removed. This is now a layout test.
+ * manual-tests/win/milliondollar.html: Added.
+ * platform/graphics/win/WKCACFLayerRenderer.cpp:
+ (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Added initialization of dirty flag.
+ (WebCore::WKCACFLayerRenderer::setScrollFrame):
+ (WebCore::WKCACFLayerRenderer::updateScrollFrame): Updated to resize and position the clip and scroll layers.
+ (WebCore::WKCACFLayerRenderer::setRootChildLayer):
+ (WebCore::WKCACFLayerRenderer::createRenderer): Added new layer hierarchy.
+ (WebCore::WKCACFLayerRenderer::destroyRenderer): Remove clip layer on destroy.
+ (WebCore::WKCACFLayerRenderer::resize):
+ (WebCore::WKCACFLayerRenderer::paint): Forcing paint massage to trigger paint into the backing store.
+ * platform/graphics/win/WKCACFLayerRenderer.h:
+ (WebCore::WKCACFLayerRenderer::setBackingStoreDirty): Added.
+
+2010-03-12 Robert Hogan <robert@webkit.org>
+
+ Not reviewed, build fix.
+
+ Revert http://trac.webkit.org/projects/webkit/changeset/55374 which broke
+ the !ENABLE(DATABASE) build on all platforms when attempting to fix the
+ --minimal build on Qt.
+
+ Support for SQLite now seems to be non-negotiable for the Qt build but making
+ it mandatory requires review, so re-break --minimal Qt build for now.
+
+ Qt build issue now tracked at https://bugs.webkit.org/show_bug.cgi?id=36073
+
+ * page/GeolocationPositionCache.cpp:
+
+2010-03-12 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ <rdar://problem/7709115> REGRESSION: toolbar is missing at http://www.glom.org/
+ https://bugs.webkit.org/show_bug.cgi?id=35507
+
+ * css/CSSImportRule.cpp:
+ (WebCore::CSSImportRule::setCSSStyleSheet): Extend the change made in
+ <http://trac.webkit.org/changeset/48818> to detect the two variants of
+ KHTMLFixes.css in @import rules as well as in <link> elements.
+
+2010-03-12 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Bug 36052 - [Qt] REGRESSION(55878) 63 test cases crash
+
+ r55878 changed UStringImpl::empty()->characters() to be non-null,
+ so TextBreakIteratorQt.cpp now should check the length of strings
+ (previously was assuming all strings with a non-null data pointer
+ had a length of at least 1).
+
+ * platform/text/qt/TextBreakIteratorQt.cpp:
+ (WebCore::wordBreakIterator):
+ (WebCore::characterBreakIterator):
+ (WebCore::lineBreakIterator):
+ (WebCore::sentenceBreakIterator):
+
+2010-03-12 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ SVG fallback color doesn't work for bogus gradients.
+ https://bugs.webkit.org/show_bug.cgi?id=35479
+
+ Use a given fallback color on ignored gradients if present. Gradients
+ must be ignored, if one dimension of the objects boundingBox is zero.
+
+ Test: svg/custom/gradient-with-1d-boundingbox.svg
+
+ * svg/graphics/SVGPaintServer.cpp:
+ (WebCore::SVGPaintServer::strokePaintServer):
+ * svg/graphics/SVGPaintServerGradient.cpp:
+ (WebCore::SVGPaintServerGradient::setup):
+
+2010-03-12 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36069
+
+ Eliminate InlineRunBox.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::adjustPosition):
+ (WebCore::InlineFlowBox::paintFillLayer):
+ (WebCore::InlineFlowBox::paintBoxDecorations):
+ (WebCore::InlineFlowBox::paintMask):
+ * rendering/InlineFlowBox.h:
+ (WebCore::InlineFlowBox::InlineFlowBox):
+ (WebCore::InlineFlowBox::prevLineBox):
+ (WebCore::InlineFlowBox::nextLineBox):
+ (WebCore::InlineFlowBox::setNextLineBox):
+ (WebCore::InlineFlowBox::setPreviousLineBox):
+ * rendering/InlineRunBox.h: Removed.
+ * rendering/InlineTextBox.h:
+ (WebCore::InlineTextBox::InlineTextBox):
+ (WebCore::InlineTextBox::prevTextBox):
+ (WebCore::InlineTextBox::nextTextBox):
+ (WebCore::InlineTextBox::setNextTextBox):
+ (WebCore::InlineTextBox::setPreviousTextBox):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::destroy):
+ (WebCore::RenderBlock::rightmostPosition):
+ (WebCore::RenderBlock::leftmostPosition):
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::destroy):
+ (WebCore::RenderInline::absoluteRects):
+ (WebCore::RenderInline::absoluteQuads):
+ (WebCore::RenderInline::linesBoundingBox):
+ (WebCore::RenderInline::linesVisibleOverflowBoundingBox):
+ (WebCore::RenderInline::addFocusRingRects):
+ (WebCore::RenderInline::paintOutline):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::localBoundingBox):
+ * rendering/RenderLineBoxList.cpp:
+ (WebCore::RenderLineBoxList::deleteLineBoxTree):
+ (WebCore::RenderLineBoxList::extractLineBox):
+ (WebCore::RenderLineBoxList::attachLineBox):
+ (WebCore::RenderLineBoxList::removeLineBox):
+ (WebCore::RenderLineBoxList::deleteLineBoxes):
+ (WebCore::RenderLineBoxList::dirtyLineBoxes):
+ (WebCore::RenderLineBoxList::paint):
+ (WebCore::RenderLineBoxList::hitTest):
+ (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
+ (WebCore::RenderLineBoxList::checkConsistency):
+ * rendering/RenderSVGInline.cpp:
+ (WebCore::RenderSVGInline::absoluteRects):
+ (WebCore::RenderSVGInline::absoluteQuads):
+ * rendering/RenderSVGText.cpp:
+ (WebCore::RenderSVGText::absoluteRects):
+ (WebCore::RenderSVGText::absoluteQuads):
+ (WebCore::RenderSVGText::objectBoundingBox):
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::extractTextBox):
+ (WebCore::RenderText::attachTextBox):
+ (WebCore::RenderText::removeTextBox):
+ (WebCore::RenderText::createInlineTextBox):
+ (WebCore::RenderText::positionLineBox):
+ * rendering/RootInlineBox.h:
+ (WebCore::RootInlineBox::nextRootBox):
+ (WebCore::RootInlineBox::prevRootBox):
+
+2010-03-12 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Eric Carlson.
+
+ media/video-preload.html fails
+ https://bugs.webkit.org/show_bug.cgi?id=35793
+
+ Only effectively load, and start buffering when playing, or when
+ the preload attribute is set.
+
+ Test: media/video-preload.html
+
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
+ (WebCore::MediaPlayerPrivate::load):
+ (WebCore::MediaPlayerPrivate::commitLoad):
+ (WebCore::MediaPlayerPrivate::prepareToPlay):
+ (WebCore::MediaPlayerPrivate::setPreload):
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
+
+2010-03-12 Dmitry Titov <dimich@chromium.org>
+
+ Not reviewed, build fix.
+
+ Reverts 55920 and 55921. Landing for Jian Li.
+
+ * Android.derived.jscbindings.mk:
+ * Android.derived.v8bindings.mk:
+ * DerivedSources.cpp:
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pri:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSDOMFormDataCustom.cpp: Removed.
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ (WebCore::JSXMLHttpRequest::send):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bindings/v8/V8Index.h:
+ * bindings/v8/custom/V8DOMFormDataCustom.cpp: Removed.
+ * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
+ (WebCore::V8XMLHttpRequest::sendCallback):
+ * html/DOMFormData.idl: Removed.
+ * page/DOMWindow.idl:
+
+2010-03-12 Jakob Petsovits <jpetsovits@rim.com>
+
+ Reviewed by Dirk Schulze.
+
+ [OpenVG] Add support for drawing text to PainterOpenVG
+ https://bugs.webkit.org/show_bug.cgi?id=35581
+
+ Doesn't come with any actual font classes, as OpenVG
+ by itself doesn't provide any access to platform fonts
+ but just the means to draw glyphs that have been loaded
+ manually before.
+
+ * platform/graphics/openvg/PainterOpenVG.cpp:
+ (WebCore::PlatformPainterState::PlatformPainterState):
+ (WebCore::PlatformPainterState::copyPaintState):
+ (WebCore::PainterOpenVG::textDrawingMode):
+ (WebCore::PainterOpenVG::setTextDrawingMode):
+ (WebCore::PainterOpenVG::drawText):
+ * platform/graphics/openvg/PainterOpenVG.h:
+
+2010-03-12 Jakob Petsovits <jpetsovits@rim.com>
+
+ Reviewed by Dirk Schulze.
+
+ [OpenVG] Use masks to implement non-rectilinear clipping
+ https://bugs.webkit.org/show_bug.cgi?id=35544
+
+ Requires some additional context switching logic to
+ make sure the right context is current when dealing
+ with the mask, because we don't store it by ourselves.
+
+ Initial version of this code was written by
+ Eli Fidler <efidler@rim.com>, I did a couple of
+ bug fixes and efficiency improvements since then.
+
+ * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
+ (WebCore::GraphicsContext::clipPath):
+ (WebCore::GraphicsContext::clip):
+ (WebCore::GraphicsContext::clipOut):
+ (WebCore::GraphicsContext::clipOutEllipseInRect):
+ (WebCore::GraphicsContext::addInnerRoundedRectClip):
+ * platform/graphics/openvg/PainterOpenVG.cpp:
+ (WebCore::PlatformPainterState::PlatformPainterState):
+ (WebCore::PlatformPainterState::~PlatformPainterState):
+ (WebCore::PlatformPainterState::maskingEnabled):
+ (WebCore::PlatformPainterState::applyState):
+ (WebCore::PlatformPainterState::saveMaskIfNecessary):
+ (WebCore::PainterOpenVG::intersectClipRect):
+ (WebCore::PainterOpenVG::clipPath):
+ (WebCore::PainterOpenVG::save):
+ * platform/graphics/openvg/PainterOpenVG.h:
+ (WebCore::PainterOpenVG::):
+ * platform/graphics/openvg/SurfaceOpenVG.cpp:
+ (WebCore::SurfaceOpenVG::makeCurrent):
+ (WebCore::SurfaceOpenVG::makeCompatibleCurrent):
+ * platform/graphics/openvg/SurfaceOpenVG.h:
+ (WebCore::SurfaceOpenVG::):
+
+2010-03-12 Jian Li <jianli@chromium.org>
+
+ Reviewed by Sam Weinig.
+
+ Add DOMFormData.idl to expose FormData interface.
+ https://bugs.webkit.org/show_bug.cgi?id=36024
+
+ The implementation is based on XMLHttpRequest 2 spec:
+ http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#formdata
+
+ Test: http/tests/local/send-form-data.html
+
+ * Android.derived.jscbindings.mk:
+ * Android.derived.v8bindings.mk:
+ * DerivedSources.cpp:
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.pri:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSDOMFormDataCustom.cpp: Added.
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ (WebCore::JSXMLHttpRequest::send):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * html/DOMFormData.idl: Added.
+ * page/DOMWindow.idl:
+
+2010-03-12 Jakob Petsovits <jpetsovits@rim.com>
+
+ Reviewed by Dirk Schulze.
+
+ [OpenVG] Add a SurfaceOpenVG constructor for EGL client buffer surfaces
+ https://bugs.webkit.org/show_bug.cgi?id=35538
+
+ SurfaceOpenVG can now not only encapsulate pbuffer
+ and window surfaces but also VGImage-based ones.
+
+ * platform/graphics/openvg/EGLDisplayOpenVG.cpp:
+ (WebCore::EGLDisplayOpenVG::createPbufferFromClientBuffer):
+ * platform/graphics/openvg/EGLDisplayOpenVG.h:
+ * platform/graphics/openvg/SurfaceOpenVG.cpp:
+ (WebCore::SurfaceOpenVG::SurfaceOpenVG):
+ * platform/graphics/openvg/SurfaceOpenVG.h:
+
+2010-03-12 Alpha Lam <hclam@chromium.org>
+
+ Reviewed by Eric Carlson.
+
+ Fix a crash when resource loading of media element is canceled.
+ https://bugs.webkit.org/show_bug.cgi?id=35992
+
+ Use of HTMLMediaElement::duration() after resource loading was canceled
+ will cause a crash. This is because HTMLMediaElement::m_player is used
+ when NULL.
+ Test: http/tests/media/video-cancel-load.html
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::duration):
+ Avoid calling to m_player when it is null.
+ (WebCore::HTMLMediaElement::userCancelledLoad):
+ Set m_readyState to HAVE_NOTHING.
+
+2010-03-12 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/7725534> CSSPrimitiveValue::parserValue() returns deleted memory
+ https://bugs.webkit.org/show_bug.cgi?id=20069
+
+ No test added, since with the CSS variables feature disabled, the pointer
+ to the freed memory is never dereferenced.
+
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::valueOrPropertyName): Changed to return a const AtomicString& from
+ a static table.
+ (WebCore::CSSPrimitiveValue::parserValue): Updated for the above change.
+
+2010-03-12 Dan Bernstein <mitz@apple.com>
+
+ Build fix.
+
+ * platform/chromium/PlatformKeyboardEventChromium.cpp:
+
+2010-03-12 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/7694674> Hover states not updated when overflow section scrolls under stationary mouse pointer
+ https://bugs.webkit.org/show_bug.cgi?id=35949
+
+ Test: fast/events/overflow-scroll-fake-mouse-move.html
+
+ Soon after an overflow section scrolls under the mouse pointer, dispatch
+ a fake mouse move event. This is similar to how frame scrolling is handled
+ in WebKit, and has the effect of updating hover state, dispatching DOM mouse
+ events, and updating the tool tip.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::EventHandler): Initialize m_fakeMouseMoveEventTimer.
+ (WebCore::EventHandler::~EventHandler): Assert that the timer is not active.
+ (WebCore::EventHandler::clear): Stop the timer.
+ (WebCore::EventHandler::handleMousePressEvent): Cancel pending fake mouse
+ move events.
+ (WebCore::EventHandler::handleMouseMoveEvent): Ditto.
+ (WebCore::EventHandler::dispatchFakeMouseMoveEventSoonInQuad): If the mouse
+ is in the passed-in quad, ensure that a fake mouse move event is scheduled
+ to fire soon.
+ (WebCore::EventHandler::cancelFakeMouseMoveEvent): Does what the name says.
+ (WebCore::EventHandler::fakeMouseMoveEventTimerFired): Constructs a
+ PlatformMouseEvent with the current mouse location, modifier key state and
+ time stamp and calls mouseMoved().
+ * page/EventHandler.h:
+ * platform/PlatformKeyboardEvent.h: Declared getCurrentModifierState().
+ * platform/android/KeyEventAndroid.cpp:
+ (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Stubbed out.
+ * platform/brew/PlatformKeyboardEventBrew.cpp:
+ (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Ditto.
+ * platform/chromium/PlatformKeyboardEventChromium.cpp:
+ (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Added.
+ * platform/efl/PlatformKeyboardEventEfl.cpp:
+ (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Stubbed out.
+ * platform/gtk/KeyEventGtk.cpp:
+ (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Ditto.
+ * platform/haiku/PlatformKeyboardEventHaiku.cpp:
+ (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Added.
+ * platform/mac/KeyEventMac.mm:
+ (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Ditto.
+ * platform/qt/PlatformKeyboardEventQt.cpp:
+ (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Stubbed out.
+ * platform/win/KeyEventWin.cpp:
+ (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Added.
+ * platform/wx/KeyboardEventWx.cpp:
+ (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Ditto.
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::scrollToOffset): Call
+ EventHandler::dispatchFakeMouseMoveEventSoonInQuad(). Moved things around
+ a little to avoid computing the repaint rect twice.
+
+2010-03-12 Kent Hansen <kent.hansen@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Webkit doesn't build with workers on and database off
+ https://bugs.webkit.org/show_bug.cgi?id=35997
+
+ Added missing ENABLE(DATABASE) guards.
+
+ * workers/WorkerThread.cpp:
+ (WebCore::WorkerThreadShutdownStartTask::performTask):
+
+2010-03-12 Dan Winship <danw@gnome.org>
+
+ Reviewed by Gustavo Noronha.
+
+ Make the defaultCookieJar use a no-third-party policy. Most
+ applications set their own cookie jar, but DumpRenderTree doesn't,
+ so it was failing the new third-party-cookie test.
+
+ * platform/network/soup/CookieJarSoup.cpp:
+ (WebCore::defaultCookieJar):
+
+2010-03-11 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] Enable network state notifier when compiling against Qt 4.7
+ https://bugs.webkit.org/show_bug.cgi?id=35983
+
+ * WebCore.pri:
+ * platform/network/qt/NetworkStateNotifierPrivate.h:
+ * platform/network/qt/NetworkStateNotifierQt.cpp:
+
+2010-03-11 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Adam Treat.
+
+ Do not render the full frame when there is some elements with fixed positioning
+ https://bugs.webkit.org/show_bug.cgi?id=33150
+
+ The frame view take into acount the list of fixed object when scrolling
+ the view. If the number of object is lower than a certain threshold, the pixel
+ are blitted, and the invalidated area updated.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::FrameView):
+ (WebCore::FrameView::useSlowRepaints):
+ (WebCore::FrameView::useSlowRepaintsIfNotOverlapped):
+ (WebCore::FrameView::addFixedObject):
+ (WebCore::FrameView::removeFixedObject):
+ (WebCore::FrameView::scrollContentsFastPath):
+ * page/FrameView.h:
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::scrollContents):
+ (WebCore::ScrollView::scrollContentsFastPath):
+ * platform/ScrollView.h:
+ * rendering/RenderBlock.h:
+ (WebCore::RenderBlock::positionedObjects):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::styleWillChange):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::styleWillChange):
+
+2010-03-11 Aaron Boodman <aa@chromium.org>
+
+ Kill WebDocument::applicationID() (part 1).
+
+ Modify interface to WebCore::NotificationPresenter::checkPermission()
+ and remove implementation of WebDocument::applicationID(). Breaking
+ API changes will be in a subsequent change.
+ https://bugs.webkit.org/show_bug.cgi?id=35846
+
+ * notifications/Notification.cpp:
+ (WebCore::Notification::Notification):
+ * notifications/NotificationCenter.cpp:
+ (WebCore::NotificationCenter::checkPermission):
+ * notifications/NotificationPresenter.h:
+
+2010-03-11 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by David Levin.
+
+ [v8] Remove obsolete code for delayed dereferencing of DOM objects for single-heap, multithread v8 usage.
+ https://bugs.webkit.org/show_bug.cgi?id=36043
+
+ No new tests, no changes in functionality.
+
+ * bindings/v8/DOMData.cpp:
+ (WebCore::DOMData::DOMData):
+ * bindings/v8/DOMData.h:
+ (WebCore::DOMData::handleWeakObject):
+ * bindings/v8/DOMDataStore.cpp:
+ * bindings/v8/DOMDataStore.h:
+ (WebCore::DOMDataStore::domObjectMap):
+ (WebCore::DOMDataStore::activeDomObjectMap):
+ (WebCore::DOMDataStore::domSvgElementInstanceMap):
+ (WebCore::DOMDataStore::domSvgObjectWithContextMap):
+ * bindings/v8/ScopedDOMDataStore.cpp:
+ (WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
+ * bindings/v8/StaticDOMDataStore.cpp:
+ (WebCore::StaticDOMDataStore::StaticDOMDataStore):
+ * bindings/v8/StaticDOMDataStore.h:
+ * bindings/v8/V8DOMMap.cpp:
+ (WebCore::removeAllDOMObjectsInCurrentThread):
+
+2010-03-11 Gavin Barraclough <barraclough@apple.com>
+
+ Rubber stamped by Oliver Hunt.
+
+ Remove nonsense comments used in development & commited in error.
+
+ * platform/text/StringImpl.h:
+
+2010-03-11 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36041
+ Remove unnecessary differences in common code between WebCore::StringImpl & JSC::UStringImpl
+
+ Much of the code in WebCore::StringImpl and JSC::UStringImpl is now very similar,
+ but has trivial and unnecessary formatting differences, such as the exact wording
+ of comments, missing ASSERTs, functions implemented in the .h vs .cpp etc.
+
+ * platform/text/StringImpl.cpp:
+ (WebCore::StringImpl::empty): Reordered in file, made empty()->characters() return a non-null value to match JSC.
+ (WebCore::StringImpl::createUninitialized): Added overflow check.
+ (WebCore::StringImpl::create): Reordered in file.
+ (WebCore::StringImpl::sharedBuffer): Reordered in file.
+ * platform/text/StringImpl.h:
+ (WebCore::StringImpl::): Remove ThreadGlobalData as friend, move SharableUChar & SharedUChar to WebCore namespace.
+ (WebCore::StringImpl::StringImpl): Made static constructor method (used to create empty string) take arguments, to match JSC & prevent accidental use.
+ (WebCore::StringImpl::setHash): Added missing ASSERT.
+ (WebCore::StringImpl::adopt): Make adpot work with Vectors with a non-zero inline capacity.
+ (WebCore::StringImpl::characters): Mark as const to match JSC.
+ (WebCore::StringImpl::hash): Use !m_hash instead of m_hash == 0.
+ (WebCore::StringImpl::computeHash): Remove redundant 'inline'.
+
+2010-03-11 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by David Kilzer.
+
+ <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version
+
+ Default to using the appropriate SDK if the target Mac OS X version is not the current Mac OS X version.
+
+ * Configurations/Base.xcconfig:
+
+2010-03-11 Jungshik Shin <jshin@chromium.org>
+
+ [Chromium]: Plane 2 characters are rendered "blank"
+ (not even empty boxes) on Windows even when there are fonts to
+ cover them.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35605
+
+ Test:LayoutTests/fast/text/international/plane2.html
+
+ * platform/graphics/chromium/FontCacheChromiumWin.cpp:
+ (WebCore::LookupAltName): Add two ExtB fonts to the array (namePairs) that are used for Plane 2 character rendering.
+ (WebCore::FontCache::getFontDataForCharacters): Add two more fonts to the fallback font list
+ * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
+ (WebCore::getFallbackFamily): Fix the fallback font lookup to cover Plane 2 (CJK ExtB).
+
+2010-03-11 Leandro Pereira <leandro@profusion.mobi>
+
+ Reviewed by Holger Freyther.
+
+ Add EFL port files to platform/efl.
+ http://webkit.org/b/35889
+
+ * platform/efl/SystemTimeEfl.cpp: Added.
+
+2010-03-11 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Tim Hatcher.
+
+ <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version
+
+ Introduce TARGET_MAC_OS_X_VERSION_MAJOR to represent the Mac OS X version that is being targeted. It defaults to the
+ current Mac OS X version unless otherwise specified.
+
+ Key off TARGET_MAC_OS_X_VERSION_MAJOR where we'd previously been keying off MAC_OS_X_VERSION_MAJOR.
+
+ Explicitly map from the target Mac OS X version to the preferred compiler since Xcode's default compiler choice
+ may not be usable when targetting a different Mac OS X version.
+
+ Key off TARGET_GCC_VERSION rather than MAC_OS_X_VERSION_MAJOR in locations where we'd previously been keying off
+ MAC_OS_X_VERSION_MAJOR but the decision is really related to the compiler version being used.
+
+ * Configurations/Base.xcconfig:
+ * Configurations/DebugRelease.xcconfig:
+ * Configurations/FeatureDefines.xcconfig:
+ * Configurations/Version.xcconfig:
+ * Configurations/WebCore.xcconfig:
+
+2010-03-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by David Hyatt.
+
+ Remove invalidateContents, it isn't used and it never makes sense to only invalidate the contents.
+
+ * loader/EmptyClients.h:
+ * page/Chrome.cpp:
+ * page/Chrome.h:
+ * page/ChromeClient.h:
+ * platform/HostWindow.h:
+
+2010-03-11 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [V8] Remove DOMObjectsInclude.h and update headers accordingly.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36036
+
+ * WebCore.gypi:
+ * bindings/v8/DOMData.h:
+ * bindings/v8/DOMDataStore.h:
+ * bindings/v8/DOMObjectsInclude.h: Removed.
+ * bindings/v8/V8DOMMap.cpp:
+ * bindings/v8/V8DOMWindowShell.cpp:
+ * bindings/v8/V8DOMWrapper.cpp:
+ * bindings/v8/V8GCController.cpp:
+ * bindings/v8/V8Proxy.cpp:
+
+2010-03-11 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Remove duplicate entries revealed after sorting.
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+2010-03-11 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Sort the project file (also removing some bogus spaces that caused Xcode to rewrite the file
+ every time you opened it).
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+2010-03-11 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Fix style issues and improve comments from
+ http://trac.webkit.org/changeset/55853.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36029
+
+ * platform/animation/TimingFunction.h:
+ (WebCore::TimingFunction::TimingFunction):
+
+2010-03-11 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ accessibilityIsIgnoredBase() needs to respect when platform says include
+ https://bugs.webkit.org/show_bug.cgi?id=36025
+
+ Changed accessibilityIsIgnoredBase() to return a policy instead of a yes/no
+ answer. This allows the platform to make a yes decision on an element.
+
+ * accessibility/AccessibilityList.cpp:
+ (WebCore::AccessibilityList::accessibilityIsIgnored):
+ * accessibility/AccessibilityListBox.cpp:
+ (WebCore::AccessibilityListBox::accessibilityIsIgnored):
+ * accessibility/AccessibilityObject.h:
+ (WebCore::):
+ (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
+ (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::accessibilityIsIgnoredBase):
+ (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
+ * accessibility/AccessibilityRenderObject.h:
+ * accessibility/AccessibilitySlider.cpp:
+ (WebCore::AccessibilitySlider::accessibilityIsIgnored):
+ * accessibility/AccessibilityTable.cpp:
+ (WebCore::AccessibilityTable::accessibilityIsIgnored):
+ * accessibility/AccessibilityTableCell.cpp:
+ (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
+ * accessibility/AccessibilityTableRow.cpp:
+ (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
+ * accessibility/chromium/AccessibilityObjectChromium.cpp:
+ (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
+ * accessibility/gtk/AccessibilityObjectAtk.cpp:
+ (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
+ * accessibility/mac/AccessibilityObjectMac.mm:
+ (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
+ * accessibility/qt/AccessibilityObjectQt.cpp:
+ (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
+ * accessibility/win/AccessibilityObjectWin.cpp:
+ (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
+ * accessibility/wx/AccessibilityObjectWx.cpp:
+ (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
+
+2010-03-11 Kenneth Russell <kbr@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Fix build breakage with ENABLE_3D_CANVAS=0
+ https://bugs.webkit.org/show_bug.cgi?id=35995
+
+ No new tests; verified in Chromium that WebGL is disabled in
+ ENABLE_3D_CANVAS=0 builds.
+
+ * bindings/v8/custom/V8DocumentCustom.cpp:
+ * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
+
+2010-03-11 Nate Chapin <japhet@chromium.org>
+
+ Unreviewed, Chromium mac build fix.
+
+ Add an explicit copy constructor to TimingFunction.
+ http://trac.webkit.org/changeset/55835 trigged an inlining
+ bug in gcc that the copy constructor resolves.
+
+ * platform/animation/TimingFunction.h:
+ (WebCore::TimingFunction::TimingFunction):
+
+2010-03-11 Chris Fleizach <cfleizach@apple.com>
+
+ Fixing GTK. No review.
+
+ support lang attribute on <option> elements
+ https://bugs.webkit.org/show_bug.cgi?id=36021
+
+ We don't need to cast to AccessibilityRenderObject to get language().
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (webkit_accessible_document_get_locale):
+
+2010-03-11 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ support lang attribute on <option> elements
+ https://bugs.webkit.org/show_bug.cgi?id=36021
+
+ Allow non AccessibilityRenderObject classes to access the lang
+ attribute by moving the useful code into AccessibilityObject.
+
+ Test: platform/mac/accessibility/option-with-lang.html
+
+ * accessibility/AccessibilityListBoxOption.cpp:
+ (WebCore::AccessibilityListBoxOption::language):
+ * accessibility/AccessibilityListBoxOption.h:
+ * accessibility/AccessibilityObject.cpp:
+ (WebCore::AccessibilityObject::language):
+ * accessibility/AccessibilityObject.h:
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::language):
+ * accessibility/AccessibilityRenderObject.h:
+
+2010-03-11 Diego Gonzalez <diego.gonzalez@openbossa.org>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Access key modifier should be Ctrl+Alt for Darwin derived OS and Alt for the others
+ https://bugs.webkit.org/show_bug.cgi?id=35993
+
+ * page/qt/EventHandlerQt.cpp:
+ (WebCore::EventHandler::accessKeyModifiers):
+
+2010-03-08 Brett Wilson <brettw@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Remove the deprecated argument to url_util::IsStandard in preparation
+ for deleting that version of the function. Pull the latest googleurl
+ with the new version for the Chromium builder.
+
+ * platform/KURLGoogle.cpp:
+ (WebCore::KURL::isHierarchical):
+
+2010-03-11 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Make it possible to do builds with separate debug info in packages
+
+ * WebCore.pro:
+
+2010-03-11 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Avoid double-buffering with Qt image decoders
+
+ Pass QIODevice::Unbuffered when opening the QBuffer that
+ wraps the image data, to hint to Qt that no extra buffering
+ is needed.
+
+ * platform/graphics/qt/ImageDecoderQt.cpp:
+ (WebCore::ImageDecoderQt::setData):
+
+2010-03-10 Ben Murdoch <benm@google.com>
+
+ Reviewed by Jeremy Orlow.
+
+ [Android] The platform touch events on Android are missing support
+ for key modifiers.
+ https://bugs.webkit.org/show_bug.cgi?id=35521
+
+ Add support in PlatformToucHEventAndroid for the platform supplying
+ key modifiers with touch events.
+
+ Fixes Android so it now passes basic-single-touch-events.html.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleTouchEvent): Fix two compiler warnings.
+ * platform/PlatformTouchEvent.h:
+ (WebCore::PlatformTouchEvent::PlatformTouchEvent): Add support for
+ key modifiers on Android.
+ * platform/android/PlatformTouchEventAndroid.cpp:
+ (WebCore::PlatformTouchEvent::PlatformTouchEvent): ditto.
+
+2010-03-10 Steve Block <steveblock@google.com>
+
+ Reviewed by Jeremy Orlow.
+
+ Implements Geolocation maximumAge property
+ https://bugs.webkit.org/show_bug.cgi?id=30676
+
+ Test: fast/dom/Geolocation/maximum-age.html
+
+ * WebCore.xcodeproj/project.pbxproj: Modified. Adds GeolocationPositionCache.h to Private headers
+ * page/Geolocation.cpp: Modified.
+ (WebCore::Geolocation::GeoNotifier::setUseCachedPosition): Added.
+ (WebCore::Geolocation::GeoNotifier::runSuccessCallback): Added.
+ (WebCore::Geolocation::GeoNotifier::timerFired): Modified. Added logic to handle using a cached position
+ (WebCore::Geolocation::Watchers::contains): Added. Required to determine if a notifier is a watch request
+ (WebCore::Geolocation::startRequest): Modified. Added logic to check for a cached position
+ (WebCore::Geolocation::requestUsesCachedPosition): Added. Callback to Geolocation object when notifier uses a cached position
+ (WebCore::Geolocation::makeCachedPositionCallbacks): Added.
+ (WebCore::Geolocation::haveSuitableCachedPosition): Added.
+ (WebCore::Geolocation::setIsAllowed): Modified.
+ (WebCore::Geolocation::positionChanged): Modified. Make callbacks using cached position where appropriate
+ (WebCore::Geolocation::geolocationServiceErrorOccurred): Modified. Make callbacks using cached position where appropriate
+ * page/Geolocation.h: Modified.
+
+2010-03-11 Csaba Osztrogonác <ossy@webkit.org>
+
+ Unreviewed buildfix after r55823. (To fix Qt --minimal build.)
+ I have déjà vu, I'm sure that I did it before. (r55598)
+
+ * bindings/js/JSDOMWindowCustom.cpp: Missing #if ENABLE(DATABASE) guard added.
+
+2010-03-11 Csaba Osztrogonác <ossy@webkit.org>
+
+ [Qt] Unreviewed buildfix after r55833.
+
+ Rename all instances of data() to characters()
+
+ * bridge/qt/qt_class.cpp:
+ (JSC::Bindings::QtClass::fieldNamed):
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::convertValueToQVariant):
+
+2010-03-11 Zoltan Horvath <zoltan@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ Allow custom memory allocation control for RenderLayerBacking class
+ https://bugs.webkit.org/show_bug.cgi?id=35857
+
+ Inherits the following class from Noncopyable because it is
+ instantiated by 'new' and no need to be copyable:
+
+ class name - instantiated at: WebCore/'location'
+ RenderLayerBacking - rendering/RenderLayer.cpp:3047
+
+ * rendering/RenderLayerBacking.h:
+
+2010-03-11 Zoltan Horvath <zoltan@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ Allow custom memory allocation control for TimingFunction struct
+ https://bugs.webkit.org/show_bug.cgi?id=35855
+
+ Inherits the following struct from FastAllocBase because it is
+ instantiated by 'new':
+
+ class name - instantiated at: WebCore/'location'
+ TimingFuction - platform/graphics/GraphicsLayer.h:89
+
+ * platform/animation/TimingFunction.h:
+
+2010-03-10 Gavin Barraclough <barraclough@apple.com>
+
+ Rubber stamped by Oliver Hunt.
+
+ Rename JSC::UStringImpl::data() to characters(), to match WebCore::StringImpl.
+
+ * bridge/jni/jsc/JavaStringJSC.h:
+ (JSC::Bindings::JavaStringImpl::uchars):
+ * platform/text/AtomicString.cpp:
+ (WebCore::AtomicString::add):
+ (WebCore::AtomicString::find):
+
+2010-03-10 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Fix for r55825, threadsafeCopy no longer needs to special-case for
+ empty strings (in fact, doing so results in leaks).
+
+ * platform/text/StringImpl.cpp:
+ (WebCore::StringImpl::threadsafeCopy):
+
+2010-03-10 Chang Shu <chang.shu@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ While calculating alpha channel, convert the floating point value to
+ an integer in [0, 256) with equal distribution.
+ https://bugs.webkit.org/show_bug.cgi?id=22150
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseColorParameters):
+
+2010-03-10 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Darin Adler, Geoffrey Garen, Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35991
+ Would be faster to not use a thread specific to implement StringImpl::empty()
+
+ Copy JavaScriptCore in making 'static' strings threadsafe, make the empty string a static,
+ shared by all threads.
+
+ ~2% progression on Dromaeo DOM core & JS lib tests.
+
+ * platform/ThreadGlobalData.cpp:
+ (WebCore::ThreadGlobalData::ThreadGlobalData):
+ (WebCore::ThreadGlobalData::~ThreadGlobalData):
+ * platform/ThreadGlobalData.h:
+ (WebCore::ThreadGlobalData::eventNames):
+ * platform/text/StringImpl.cpp:
+ (WebCore::StringImpl::StringImpl):
+ (WebCore::StringImpl::empty):
+ * platform/text/StringImpl.h:
+ (WebCore::StringImpl::deref):
+ (WebCore::StringImpl::hasOneRef):
+
+2010-03-08 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Adding support for the optional creation callback that could be
+ passed to openDatabase().
+
+ Tests: storage/open-database-creation-callback.html
+ storage/open-database-creation-callback-isolated-world.html
+
+ https://bugs.webkit.org/show_bug.cgi?id=34726
+
+ * Android.jscbindings.mk
+ * Android.v8bindings.mk
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::openDatabase):
+ * bindings/js/JSDatabaseCallback.cpp: Added.
+ (WebCore::JSDatabaseCallback::JSDatabaseCallback):
+ (WebCore::JSDatabaseCallback::~JSDatabaseCallback):
+ (WebCore::JSDatabaseCallback::handleEvent):
+ * bindings/js/JSDatabaseCallback.h: Added.
+ (WebCore::JSDatabaseCallback::create):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::V8DOMWindow::openDatabaseCallback):
+ * bindings/v8/custom/V8DatabaseCallback.cpp: Added.
+ (WebCore::V8DatabaseCallback::V8DatabaseCallback):
+ (WebCore::V8DatabaseCallback::~V8DatabaseCallback):
+ (WebCore::V8DatabaseCallback::handleEvent):
+ * bindings/v8/custom/V8DatabaseCallback.h: Added.
+ (WebCore::V8DatabaseCallback::create):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::openDatabase):
+ * page/DOMWindow.h:
+ * page/DOMWindow.idl:
+ * storage/Database.cpp:
+ (WebCore::DatabaseCreationCallbackTask::create):
+ (WebCore::DatabaseCreationCallbackTask::performTask):
+ (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
+ (WebCore::Database::openDatabase):
+ (WebCore::Database::Database):
+ (WebCore::Database::performOpenAndVerify):
+ (WebCore::Database::performCreationCallback):
+ * storage/Database.h:
+ (WebCore::Database::isNew):
+ * storage/DatabaseCallback.h: Added.
+ (WebCore::DatabaseCallback::~DatabaseCallback):
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::openDatabase):
+ * workers/WorkerContext.h:
+
+2010-03-10 Justin Schuh <jschuh@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Make Chrome consistently handle leading format characters in URLs
+
+ https://bugs.webkit.org/show_bug.cgi?id=35948
+
+ Test: http/tests/security/xss-DENIED-window-open-javascript-url-leading-format-char.html
+
+ * platform/KURLGoogle.cpp:
+
+2010-03-10 Jian Li <jianli@chromium.org>
+
+ Reviewed by Dmitry Titov.
+
+ Implementing DOMFormData class.
+ https://bugs.webkit.org/show_bug.cgi?id=35707
+
+ This patch only addresses the implementation of DOMFormData class and
+ moves the FormData construction logic from HTMLFormElement::createFormData
+ to FormData::create() so that it can be used by both HTMLFormElement
+ and XMLHttpRequest.
+
+ The DOMFormData IDL interface will be exposed in another patch and the
+ test will be added then.
+
+ * Android.mk:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * html/DOMFormData.cpp: Added.
+ * html/DOMFormData.h: Added.
+ * html/FormDataList.h:
+ (WebCore::FormDataList::encoding):
+ * html/HTMLFormElement.cpp:
+ (WebCore::HTMLFormElement::createFormData):
+ (WebCore::HTMLFormElement::submit):
+ * html/HTMLFormElement.h:
+ * platform/network/FormData.cpp:
+ (WebCore::FormData::create):
+ (WebCore::FormData::createMultiPart):
+ (WebCore::FormData::appendDOMFormData):
+ * platform/network/FormData.h:
+ (WebCore::FormData::boundary):
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::send):
+ * xml/XMLHttpRequest.h:
+
+2010-03-10 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ VoiceOver can navigate to hidden content in widget (WAI-ARIA)
+ https://bugs.webkit.org/show_bug.cgi?id=35986
+
+ Elements that are subclassers of AXRenderObject have not been respecting
+ aria-hidden and other cases that would make them ignored. This applies
+ to tables, rows, cells, select boxes, sliders, and lists. Select boxes
+ also need to make sure their option elements respect aria-hidden as well.
+
+ Test: accessibility/aria-hidden-with-elements.html
+
+ * accessibility/AccessibilityList.cpp:
+ (WebCore::AccessibilityList::accessibilityIsIgnored):
+ * accessibility/AccessibilityListBox.cpp:
+ (WebCore::AccessibilityListBox::addChildren):
+ (WebCore::AccessibilityListBox::accessibilityIsIgnored):
+ (WebCore::AccessibilityListBox::doAccessibilityHitTest):
+ * accessibility/AccessibilityListBox.h:
+ * accessibility/AccessibilityListBoxOption.cpp:
+ (WebCore::AccessibilityListBoxOption::accessibilityIsIgnored):
+ * accessibility/AccessibilityListBoxOption.h:
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::accessibilityIsIgnoredCommon):
+ (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
+ (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
+ * accessibility/AccessibilityRenderObject.h:
+ * accessibility/AccessibilitySlider.cpp:
+ (WebCore::AccessibilitySlider::accessibilityIsIgnored):
+ * accessibility/AccessibilitySlider.h:
+ (WebCore::AccessibilitySlider::roleValue):
+ (WebCore::AccessibilitySliderThumb::roleValue):
+ (WebCore::AccessibilitySliderThumb::accessibilityIsIgnored):
+ * accessibility/AccessibilityTable.cpp:
+ (WebCore::AccessibilityTable::accessibilityIsIgnored):
+ * accessibility/AccessibilityTableCell.cpp:
+ (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
+ * accessibility/AccessibilityTableColumn.cpp:
+ (WebCore::AccessibilityTableColumn::accessibilityIsIgnored):
+ * accessibility/AccessibilityTableColumn.h:
+ (WebCore::AccessibilityTableColumn::roleValue):
+ * accessibility/AccessibilityTableHeaderContainer.cpp:
+ (WebCore::AccessibilityTableHeaderContainer::accessibilityIsIgnored):
+ * accessibility/AccessibilityTableHeaderContainer.h:
+ * accessibility/AccessibilityTableRow.cpp:
+ (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
+
+2010-03-10 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Make Document::postTask to use a single queue of tasks, to fire them in order
+ https://bugs.webkit.org/show_bug.cgi?id=35943
+
+ Test: existing worker-cloneport.html which was broken by initial patch in http://trac.webkit.org/changeset/55593.
+ Additional test which indirectly verifies the order of execution will come as part of https://bugs.webkit.org/show_bug.cgi?id=34726
+
+ * dom/Document.cpp:
+ (WebCore::Document::postTask): Always use the same task queue, independent of what thread is posting the task.
+
+2010-03-10 Sanjeev Radhakrishnan <sanjeevr@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Allow a plugin to participate in the browser's print workflow.
+ https://bugs.webkit.org/show_bug.cgi?id=35550
+
+ * loader/PluginDocument.cpp:
+ * loader/PluginDocument.h:
+
+2010-03-10 Ilya Tikhonovsky <loislo@loislo-macbookpro.local>
+
+ Reviewed by Pavel Feldman.
+
+ Sidebar resize element height was adjusted.
+ Display name for Function Call details was adjusted.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35939
+
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel.prototype._refreshRecords):
+ (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
+
+2010-03-10 Charles Wei <charles.wei@torchmobile.com.cn>
+
+ Reviewed by George Staikos.
+
+ Fix https://bugs.webkig.org/show_bug.cgi?id=35207
+ When XHTMLMP is enabled, all xhtml documents fail to render for webkit portings wich use libxml2 tokenizer.
+
+ No new tests as all the xhtml test cases in LayoutTests/dom/xhtml fails without this fix when XHTMLMP is enabled.
+
+ * dom/Document.cpp:
+ (WebCore::Document::isXHTMLMPDocument):
+ * dom/XMLTokenizerLibxml2.cpp:
+ (WebCore::XMLTokenizer::internalSubset):
+ (WebCore::externalSubsetHandler):
+
+2010-03-10 Garret Kelly <gdk@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Adding all of the touch-related sources into Chromium's WebCore build.
+ https://bugs.webkit.org/show_bug.cgi?id=35874
+
+ Patch tested against the try bots, but the feature is exercised in the
+ fast/events/touch tests.
+
+ * WebCore.gypi:
+
+2010-03-10 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: now that audits panel is added, add it to the
+ enums (for storing last active, etc.).
+
+ https://bugs.webkit.org/show_bug.cgi?id=35980
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::setWindowVisible):
+ (WebCore::InspectorController::specialPanelForJSName):
+ * inspector/InspectorController.h:
+ (WebCore::InspectorController::):
+ * inspector/InspectorFrontend.cpp:
+ (WebCore::InspectorFrontend::showPanel):
+ * inspector/front-end/inspector.js:
+ (WebInspector.showAuditsPanel):
+
+2010-03-10 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [V8] Instead of describing the type of a wrapped v8 object
+ with an enum value, use a pointer to struct with more complete
+ information.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35941
+
+ Refactoring only, so new tests.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/DOMData.cpp:
+ * bindings/v8/DOMData.h:
+ * bindings/v8/NPV8Object.cpp:
+ * bindings/v8/V8Collection.h:
+ * bindings/v8/V8DOMWindowShell.cpp:
+ * bindings/v8/V8DOMWindowShell.h:
+ * bindings/v8/V8DOMWrapper.cpp:
+ * bindings/v8/V8DOMWrapper.h:
+ * bindings/v8/V8GCController.cpp:
+ * bindings/v8/V8Helpers.cpp:
+ * bindings/v8/V8Helpers.h:
+ * bindings/v8/V8Index.cpp: Removed.
+ * bindings/v8/V8Index.h:
+ * bindings/v8/V8NPObject.cpp:
+ * bindings/v8/V8Proxy.cpp:
+ * bindings/v8/V8Proxy.h:
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
+ * bindings/v8/custom/V8HTMLAudioElementConstructor.h:
+ * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
+ * bindings/v8/custom/V8HTMLImageElementConstructor.h:
+ * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
+ * bindings/v8/custom/V8HTMLOptionElementConstructor.h:
+ * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
+ * bindings/v8/custom/V8MessageChannelConstructor.cpp:
+ * bindings/v8/custom/V8SharedWorkerCustom.cpp:
+ * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
+ * bindings/v8/custom/V8WebGLArrayCustom.h:
+ * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
+ * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
+ * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
+ * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
+ * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
+ * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
+ * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
+ * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
+ * bindings/v8/custom/V8WebKitPointConstructor.cpp:
+ * bindings/v8/custom/V8WebSocketCustom.cpp:
+ * bindings/v8/custom/V8WorkerCustom.cpp:
+ * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
+ * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
+
+2010-03-10 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Dave Hyatt.
+ Patch by Antonio Gomes <tonikitoo@webkit.org>
+
+ Extend keyboard navigation to allow directional navigation (Manual tests)
+ https://bugs.webkit.org/show_bug.cgi?id=18662
+
+ Adds a manual tests for the Spatial Navigation feature comprasing varios
+ Html focusable elements (e.g. <a>, <table>, <iframe>) and much of the logic
+ provided by the feature.
+
+ * manual-tests/spatial-navigation/links.html: Added.
+ * manual-tests/spatial-navigation/spatial-navigation-test-cases.html: Added.
+
+2010-03-10 Leandro Pereira <leandro@profusion.mobi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add EFL port files to platform/efl.
+ http://webkit.org/b/35890
+
+ * platform/efl/ScrollbarEfl.h: Added.
+ * platform/efl/ScrollbarThemeEfl.h: Added.
+
+2010-03-10 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Audits panel needs an icon.
+ Landing icon attached by Timothy. Enabling panel!
+
+ https://bugs.webkit.org/show_bug.cgi?id=35945
+
+ * WebCore.gypi:
+ * inspector/front-end/Images/auditsIcon.png: Added.
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.css:
+
+2010-03-10 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Roll-out r55657, as Xan noticed a bad degradation in playing
+ youtube HTML5 videos with it, that is fixed with it
+ reverted. Looks like we'll need to work a bit more on this.
+
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
+ (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
+ (WebCore::MediaPlayerPrivate::volumeChangedTimerFired):
+ (WebCore::MediaPlayerPrivate::volumeChanged):
+ (WebCore::MediaPlayerPrivate::processBufferingStats):
+ (WebCore::MediaPlayerPrivate::fillTimerFired):
+ (WebCore::MediaPlayerPrivate::maxTimeLoaded):
+ (WebCore::MediaPlayerPrivate::updateStates):
+ (WebCore::MediaPlayerPrivate::muteChangedTimerFired):
+ (WebCore::MediaPlayerPrivate::muteChanged):
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
+
+2010-03-10 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Rubber-stamped by Xan Lopez.
+
+ Fix ready state when buffering under PLAYING. We should not go
+ back to HaveNothing in that case.
+
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::MediaPlayerPrivate::updateStates):
+
+2010-03-10 Ada Chan <adachan@apple.com>
+
+ Reviewed by Adam Roben.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35976
+
+ Retrieve any dwItemData that's set on the context menu item in contextMenuItemByIdOrPosition().
+
+ * platform/win/ContextMenuWin.cpp:
+
+2010-03-10 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Add IndexedDatabase class and hook it up.
+ https://bugs.webkit.org/show_bug.cgi?id=35927
+
+ This change is mostly just adding the plumbing necessary for
+ the IndexedDatabaseRequest and IndexedDatabaseSync (not written
+ yet).
+
+ This code is non-functional, so no tests (yet).
+
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+ * platform/chromium/ChromiumBridge.h:
+ * storage/IndexedDatabase.cpp: Added.
+ (WebCore::IndexedDatabase::get):
+ * storage/IndexedDatabase.h: Added.
+ (WebCore::IndexedDatabase::~IndexedDatabase):
+ * storage/IndexedDatabaseImpl.cpp: Added.
+ (WebCore::IndexedDatabaseImpl::get):
+ (WebCore::IndexedDatabaseImpl::IndexedDatabaseImpl):
+ (WebCore::IndexedDatabaseImpl::~IndexedDatabaseImpl):
+ (WebCore::IndexedDatabaseImpl::open):
+ * storage/IndexedDatabaseImpl.h: Added.
+ * storage/chromium/IndexedDatabase.cpp: Added.
+ (WebCore::IndexedDatabase::get):
+
+2010-03-05 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Sam Weinig.
+
+ Add one more parent check during node removal.
+ https://bugs.webkit.org/show_bug.cgi?id=35818
+
+ Test: fast/dom/Node/mutation-blur.html
+
+ * dom/ContainerNode.cpp:
+ (WebCore::ContainerNode::removeChild): Added check.
+
+2010-03-10 Pavel Feldman <pfeldman@chromium.org>
+
+ Not reviewed: added missing quote into localized strings.
+
+ * English.lproj/localizedStrings.js:
+
+2010-03-10 Jeremy Orlow <jorlow@chromium.org>
+
+ Commit files that were supposed to go in with the last checkin.
+
+2010-03-10 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Dimitry Glazkov.
+
+ Baby steps towards IndexedDB: Start implementing callbacks.
+ https://bugs.webkit.org/show_bug.cgi?id=35911
+
+ This patch adds some infastructure for IndexedDB callbacks in V8.
+ It also adds a stub of IDBDatabaseRequest. In the near future,
+ I'll gut the event based implementation code, flesh out IDBReqest
+ further, and start plumbing IndexedDatabaseRequest.
+
+ Code is not testible because it doesn't work (yet).
+
+ * WebCore.gypi:
+ * bindings/v8/DOMObjectsInclude.h:
+ * bindings/v8/V8Index.cpp:
+ * bindings/v8/V8Index.h:
+ * bindings/v8/custom/V8CustomIDBCallback.h: Added.
+ (WebCore::V8CustomIDBCallback::create):
+ (WebCore::V8CustomIDBCallback::~V8CustomIDBCallback):
+ (WebCore::V8CustomIDBCallback::handleEvent):
+ (WebCore::V8CustomIDBCallback::V8CustomIDBCallback):
+ * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp:
+ (WebCore::V8IndexedDatabaseRequest::openCallback):
+ * storage/IDBDatabaseRequest.h: Added.
+ (WebCore::IDBDatabaseRequest::request):
+ * storage/IDBDatabaseRequest.idl: Added.
+ * storage/IndexedDatabaseRequest.idl:
+
+2010-03-10 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Non animated gifs are animated in QtWebKit
+ https://bugs.webkit.org/show_bug.cgi?id=35955
+
+ Properly map Qt animated and non-animated values to WebCore's
+ understanding of animated and non-animated images. Currently
+ we can not map anything to the cAnimationLoopNone value.
+
+ * manual-tests/qt/qt-anim.gif: Added.
+ * manual-tests/qt/qt-gif-test.html: Added.
+ * manual-tests/qt/qt-noanim.gif: Added.
+ * platform/graphics/qt/ImageDecoderQt.cpp:
+ (WebCore::ImageDecoderQt::repetitionCount):
+
+2010-03-07 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Darin Adler.
+
+ [CAIRO] DoS on iexploder test with high text stroke width.
+ https://bugs.webkit.org/show_bug.cgi?id=33759
+
+ Specifying a big text stroke width can make WebKitGTK+ spend
+ a very long time in the cairo library for stroking the path of
+ the text. The best way to prevent this from happening right now
+ is to not stroke paths with a certain width. Samuel proposed to
+ not stroke with a width that is twice the width of the text. The
+ reason to use twice the text width is that even one stroke of
+ any charachter to be drawn would cover the full width.
+
+ Test: fast/text/text-stroke-width-cairo-dos.html
+
+ * platform/graphics/cairo/FontCairo.cpp:
+ (WebCore::Font::drawGlyphs):
+
+2010-03-10 Andrey Kosyakov <caseq@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: display list of active workers & support debugging
+ with fake workers.
+ https://bugs.webkit.org/show_bug.cgi?id=35568
+
+ * English.lproj/localizedStrings.js:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * bindings/js/JSInjectedScriptHostCustom.cpp:
+ (WebCore::InjectedScriptHost::createInjectedScript):
+ (WebCore::InjectedScriptHost::injectedScriptFor):
+ * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
+ (WebCore::InjectedScriptHost::createInjectedScript):
+ (WebCore::InjectedScriptHost::injectedScriptFor):
+ * dom/Document.cpp:
+ (WebCore::Document::inspectorController):
+ * dom/Document.h:
+ * dom/ScriptExecutionContext.h:
+ (WebCore::ScriptExecutionContext::inspectorController):
+ * inspector/InjectedScriptHost.cpp:
+ (WebCore::InjectedScriptHost::InjectedScriptHost):
+ (WebCore::InjectedScriptHost::injectScript):
+ (WebCore::InjectedScriptHost::nextWorkerId):
+ (WebCore::InjectedScriptHost::didCreateWorker):
+ (WebCore::InjectedScriptHost::willDestroyWorker):
+ * inspector/InjectedScriptHost.h:
+ * inspector/InjectedScriptHost.idl:
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::populateScriptObjects):
+ (WebCore::InspectorController::resetScriptObjects):
+ (WebCore::InspectorController::didCommitLoad):
+ (WebCore::InspectorController::didCreateWorker):
+ (WebCore::InspectorController::willDestroyWorker):
+ * inspector/InspectorController.h:
+ * inspector/InspectorFrontend.cpp:
+ (WebCore::InspectorFrontend::didCreateWorker):
+ (WebCore::InspectorFrontend::willDestroyWorker):
+ * inspector/InspectorFrontend.h:
+ * inspector/InspectorWorkerResource.h: Added.
+ (WebCore::InspectorWorkerResource::create):
+ (WebCore::InspectorWorkerResource::id):
+ (WebCore::InspectorWorkerResource::url):
+ (WebCore::InspectorWorkerResource::isSharedWorker):
+ (WebCore::InspectorWorkerResource::InspectorWorkerResource):
+ * inspector/front-end/Checkbox.js: Added.
+ (WebInspector.Checkbox.callbackWrapper):
+ (WebInspector.Checkbox):
+ (WebInspector.Checkbox.prototype.checked):
+ * inspector/front-end/InjectedFakeWorker.js:
+ (InjectedFakeWorker.FakeWorker):
+ (InjectedFakeWorker.FakeWorker.prototype.terminate):
+ (InjectedFakeWorker.FakeWorker.prototype._handleException):
+ (InjectedFakeWorker.FakeWorker.prototype._importScripts):
+ (InjectedFakeWorker.FakeWorker.prototype._loadScript):
+ (InjectedFakeWorker.FakeWorker.prototype._expandURLAndCheckOrigin):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel):
+ (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled):
+ (WebInspector.ScriptsPanel.prototype.debuggerWasDisabled):
+ (WebInspector.ScriptsPanel.prototype.reset):
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylePropertiesSection.showInheritedToggleFunction):
+ (WebInspector.StylePropertiesSection):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/WorkersSidebarPane.js: Added.
+ (WebInspector.WorkersSidebarPane):
+ (WebInspector.WorkersSidebarPane.prototype.addWorker):
+ (WebInspector.WorkersSidebarPane.prototype.removeWorker):
+ (WebInspector.WorkersSidebarPane.prototype.setInstrumentation):
+ (WebInspector.WorkersSidebarPane.prototype.reset):
+ (WebInspector.WorkersSidebarPane.prototype._onTriggerInstrument):
+ (WebInspector.Worker):
+ (WebInspector.didCreateWorker):
+ (WebInspector.willDestroyWorker):
+ * inspector/front-end/inspector.css:
+ * inspector/front-end/inspector.html:
+ * workers/AbstractWorker.cpp:
+ (WebCore::AbstractWorker::AbstractWorker):
+ (WebCore::AbstractWorker::~AbstractWorker):
+ (WebCore::AbstractWorker::onDestroyWorker):
+ (WebCore::AbstractWorker::contextDestroyed):
+ * workers/AbstractWorker.h:
+ (WebCore::AbstractWorker::id):
+ * workers/SharedWorker.cpp:
+ (WebCore::SharedWorker::SharedWorker):
+ * workers/Worker.cpp:
+ (WebCore::Worker::Worker):
+
+2010-03-10 Roland Steiner <rolandsteiner@chromium.org>
+
+ Unreviewed build fix. Fix variable name change that somehow didn't
+ make it into the patch.
+
+2010-03-10 Roland Steiner <rolandsteiner@chromium.org>
+
+ Reviewed by David Levin.
+
+ Bug 28293 - [Chromium] event.datatransfer.getdata("text/uri-list") is treated the same as getdata("URL")
+ https://bugs.webkit.org/show_bug.cgi?id=28293
+
+ Change ChromiumDataObject such that it treats types "URL" and "text/uri-list"
+ correctly for event.dataTransfer.getData/setData. Currently both are treated
+ as synonyms, but for "URL", getData is supposed to only return the first valid URL
+ contained within the data for "text/uri-list" (see HTML5 spec).
+
+ Tests: editing/pasteboard/dataTransfer-setData-getData.html
+
+ * platform/chromium/ChromiumDataObject.cpp:
+ (WebCore::ChromiumDataObject::clear):
+ (WebCore::ChromiumDataObject::clearAllExceptFiles):
+ (WebCore::ChromiumDataObject::hasData):
+ (WebCore::ChromiumDataObject::ChromiumDataObject):
+ * platform/chromium/ChromiumDataObject.h:
+ (WebCore::ChromiumDataObject::clearURL):
+ (WebCore::ChromiumDataObject::hasValidURL):
+ (WebCore::ChromiumDataObject::getURL):
+ (WebCore::ChromiumDataObject::setURL):
+ * platform/chromium/ClipboardChromium.cpp:
+ (WebCore::):
+ (WebCore::clipboardTypeFromMIMEType):
+ (WebCore::ClipboardChromium::clearData):
+ (WebCore::ClipboardChromium::getData):
+ (WebCore::ClipboardChromium::setData):
+ (WebCore::ClipboardChromium::types):
+ * platform/chromium/DragDataChromium.cpp:
+ (WebCore::DragData::asURL):
+ (WebCore::DragData::canSmartReplace):
+
+2010-03-09 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: REGRESSION: Tall image resources are cropped over the bottom.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34720
+
+ * inspector/front-end/inspector.css:
+
+2010-03-09 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: REGRESSION: Pressing up/down arrow key to change numeric
+ value in CSS property takes focus away.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34697
+
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylePropertyTreeElement.prototype):
+ (WebInspector.StylePropertyTreeElement.prototype.):
+
+2010-03-09 Tony Chang <tony@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21840
+ https://bugs.webkit.org/show_bug.cgi?id=23993
+
+ Fix an editing bug where replacing a selection would result in the
+ new text ending up inside nodes that were not visibly included in the
+ selection. Instead, move our destination position out of nodes that
+ were not visibly included.
+
+ Tests: editing/deleting/backspace-avoid-preceding-style.html
+ editing/inserting/replace-at-visible-boundary.html
+
+ * editing/ReplaceSelectionCommand.cpp:
+ (WebCore::positionAvoidingPrecedingNodes):
+ (WebCore::ReplaceSelectionCommand::doApply):
+
+2010-03-09 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Tim Hatcher.
+
+ REGRESSION: WebInspector docking busted on Windows
+ <rdar://problem/7728433> and https://bugs.webkit.org/show_bug.cgi?id=35953
+
+ First off, a bit of settings-key related cleanup. If they're shared over multiple files, these
+ things should be properly declared Strings, not random loose char*'s.
+
+ Along with that change, we move the "inspectorStartsAttachedSettingName" from WebKit down to the
+ InspectorController in WebCore.
+
+ Finally, when the controller is ready to show the WebInspector window, it can use this newly
+ exposed settings key to call "setWindowVisible" directly instead of relying on "showWindow" to do
+ it indirectly.
+
+ * WebCore.base.exp:
+
+ * inspector/InspectorBackend.cpp:
+ (WebCore::InspectorBackend::saveFrontendSettings):
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::frontendSettingsSettingName):
+ (WebCore::InspectorController::inspectorStartsAttachedSettingName):
+ (WebCore::InspectorController::scriptObjectReady): Using the new inspectorStartsAttachedSettingName
+ key and some "can I attach this?" logic, call setWindowVisible directly to display the inspector
+ window.
+ (WebCore::InspectorController::populateScriptObjects):
+ * inspector/InspectorController.h:
+
+2010-03-09 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35951
+ <rdar://problem/7327060> Frequent crashes in Dashcode at JSC::Bindings::ObjcInstance::~ObjcInstance + 80
+
+ * bridge/objc/objc_instance.mm: (createInstanceWrapperCache): Fix Tiger code path, too.
+
+2010-03-09 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35951
+ <rdar://problem/7327060> Frequent crashes in Dashcode at JSC::Bindings::ObjcInstance::~ObjcInstance + 80
+
+ * bridge/objc/objc_instance.mm: (createInstanceWrapperCache): It's not correct to use object
+ personality for keys, because the key can be a mutable object, so its hash can change over its
+ lifetime.
+
+2010-03-09 Ojan Vafai <ojan@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Fix review comment accidentally overlooked in bug 35713
+ https://bugs.webkit.org/show_bug.cgi?id=35947
+
+ * editing/DeleteSelectionCommand.cpp:
+ (WebCore::DeleteSelectionCommand::setStartingSelectionOnSmartDelete):
+ * editing/DeleteSelectionCommand.h:
+
+2010-03-03 Ojan Vafai <ojan@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ undo after smartdelete should select the deleted space
+ https://bugs.webkit.org/show_bug.cgi?id=35713
+
+ TextEdit behavior is to select the deleted space after a smartdelete.
+
+ Tests: editing/undo/undo-smart-delete-reversed-selection.html
+ editing/undo/undo-smart-delete-word.html
+
+ * editing/DeleteSelectionCommand.cpp:
+ (WebCore::DeleteSelectionCommand::setStartingSelectionOnSmartDelete):
+ (WebCore::DeleteSelectionCommand::initializePositionData):
+ * editing/DeleteSelectionCommand.h:
+ * editing/VisibleSelection.cpp:
+ (WebCore::VisibleSelection::setWithoutValidation):
+ This assert looks bogus to me. undo-smart-delete-reversed-selection.html hits it
+ but not as a result of the other changes in this patch. The granularity when
+ deleting after making a wordgranularity selection is wordgranularity, not charactergranularity.
+
+2010-03-09 Steve Falkenburg <sfalken@apple.com>
+
+ Rubber stamped by Adam Roben.
+
+ Load debug version of graphics library in Windows Debug_All builds.
+
+ * platform/graphics/win/WKCACFLayerRenderer.cpp:
+ (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable):
+
+2010-03-09 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Plug-ins don't always respect the cookie accept policy.
+ <rdar://problem/7338359> and https://bugs.webkit.org/show_bug.cgi?id=26391
+
+ The problem is that the various plug-in implementations call into a ResourceLoader
+ directly instead of filtering the request through FrameLoader. This bypassed the step
+ of adding extra fields to the requests, such as the firstPartyForCookies URL.
+
+ Since plug-in code is currently so strewn about and very platform specific, I
+ think reworking it needs to be a task for domain experts. I don't know the implications
+ of adding *all* the extra fields to plug-in requests, for example.
+
+ There's no harm in this targeted fix for the hole in our cookie accept policy until
+ plug-ins can more fundamentally change.
+
+ Test: http/tests/plugins/third-party-cookie-accept-policy.html
+
+ * loader/ResourceLoader.cpp:
+ (WebCore::ResourceLoader::load): Don't load a resource without first giving the request
+ a firstPartyForCookies URL.
+
+2010-03-09 Andy Estes <aestes@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ Check for null renderer in scrollNode().
+ https://bugs.webkit.org/show_bug.cgi?id=34700
+
+ Test: fast/events/remove-child-onscroll.html
+
+ * page/EventHandler.cpp:
+ (WebCore::scrollNode): Return early if node->renderer() == 0
+
+2010-03-09 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Unreviewed distcheck fix.
+
+ * GNUmakefile.am:
+
+2010-03-09 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Unreviewed build fix (only exposed by make distcheck). The
+ SharedWorkers files are not built, they need to be distributed.
+
+ * GNUmakefile.am:
+
+2010-03-08 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Dirk Schulze.
+
+ [GStreamer] Buffering logic is not correct, and does not work very well
+ https://bugs.webkit.org/show_bug.cgi?id=35706
+
+ Fix buffering to match GStreamer expectancies regarding the
+ pipeline state, so that videos which really need buffering to play
+ correctly also work, while maintaining the convenience of
+ on-disk-buffering. This required a bit of shuffling of state
+ change handling.
+
+ No behaviour change expected.
+
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
+ (WebCore::MediaPlayerPrivate::processBufferingStats):
+ (WebCore::MediaPlayerPrivate::fillTimerFired):
+ (WebCore::MediaPlayerPrivate::updateStates):
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
+
+2010-03-09 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Dirk Schulze.
+
+ [GStreamer] Buffering logic is not correct, and does not work very well
+ https://bugs.webkit.org/show_bug.cgi?id=35706
+
+ Do not call pause(), but set the GStreamer state directly. This is
+ just a GStreamer implementation detail, and this will avoid having
+ side effects in case we change the pause implementation in the
+ future.
+
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::MediaPlayerPrivate::load):
+
+2010-03-09 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ AX: hit testing a list box doesn't work anymore
+ https://bugs.webkit.org/show_bug.cgi?id=35893
+
+ Since <option> elements don't have renderers, their hit testing needs
+ to be handled with a special case.
+
+ Test: platform/mac/accessibility/listbox-hit-test.html
+
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::ariaIsHidden):
+ (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
+
+2010-03-09 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Refactor Audits panel presentation layer.
+ This change removes unnecessary complexity:
+ - Audit scores were not used
+ - Audit rule parameters are passed as rule constructor arguments
+ - View management aligned with the rest of the front-end
+ - Single TreeOutline is used for category results (no need to create sections for those)
+ - Rules code beautified and simplified where possible
+ - Some UI improvements applied (see attached screenshot)
+
+ https://bugs.webkit.org/show_bug.cgi?id=35860
+
+ * inspector/front-end/AuditCategories.js:
+ (WebInspector.AuditCategories.PagePerformance.prototype.initialize):
+ (WebInspector.AuditCategories.NetworkUtilization.prototype.initialize):
+ * inspector/front-end/AuditResultView.js:
+ (WebInspector.AuditResultView):
+ (WebInspector.AuditCategoryResultPane):
+ (WebInspector.AuditCategoryResultPane.prototype._appendResult):
+ * inspector/front-end/AuditRules.js:
+ (WebInspector.AuditRules.GzipRule.prototype.doRun):
+ (WebInspector.AuditRules.CombineExternalResourcesRule):
+ (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
+ (WebInspector.AuditRules.CombineJsResourcesRule):
+ (WebInspector.AuditRules.CombineCssResourcesRule):
+ (WebInspector.AuditRules.MinimizeDnsLookupsRule):
+ (WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype.doRun):
+ (WebInspector.AuditRules.ParallelizeDownloadRule):
+ (WebInspector.AuditRules.ParallelizeDownloadRule.prototype.doRun):
+ (WebInspector.AuditRules.UnusedCssRule):
+ (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
+ (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.routine):
+ (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
+ (WebInspector.AuditRules.CacheControlRule):
+ (WebInspector.AuditRules.CacheControlRule.prototype.doRun):
+ (WebInspector.AuditRules.CacheControlRule.prototype.execCheck):
+ (WebInspector.AuditRules.BrowserCacheControlRule):
+ (WebInspector.AuditRules.BrowserCacheControlRule.prototype.handleNonCacheableResources):
+ (WebInspector.AuditRules.BrowserCacheControlRule.prototype.runChecks):
+ (WebInspector.AuditRules.ProxyCacheControlRule):
+ (WebInspector.AuditRules.ProxyCacheControlRule.prototype.runChecks):
+ (WebInspector.AuditRules.ImageDimensionsRule):
+ (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
+ (WebInspector.AuditRules.CssInHeadRule):
+ (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
+ (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.routine):
+ (WebInspector.AuditRules.StylesScriptsOrderRule):
+ (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
+ (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.routine):
+ (WebInspector.AuditRules.CookieRuleBase):
+ (WebInspector.AuditRules.CookieRuleBase.prototype.doRun.resultCallback):
+ (WebInspector.AuditRules.CookieRuleBase.prototype.doRun):
+ (WebInspector.AuditRules.CookieSizeRule):
+ (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
+ (WebInspector.AuditRules.StaticCookielessRule):
+ (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
+ * inspector/front-end/AuditsPanel.js:
+ (WebInspector.AuditsPanel):
+ (WebInspector.AuditsPanel.prototype._executeAudit.ruleResultReadyCallback):
+ (WebInspector.AuditsPanel.prototype._executeAudit):
+ (WebInspector.AuditsPanel.prototype._reloadResources):
+ (WebInspector.AuditsPanel.prototype._didMainResourceLoad):
+ (WebInspector.AuditsPanel.prototype.showResults):
+ (WebInspector.AuditsPanel.prototype.showLauncherView):
+ (WebInspector.AuditsPanel.prototype.get visibleView):
+ (WebInspector.AuditsPanel.prototype.set visibleView):
+ (WebInspector.AuditsPanel.prototype.show):
+ (WebInspector.AuditsPanel.prototype._clearButtonClicked):
+ (WebInspector.AuditCategory.prototype.addRule):
+ (WebInspector.AuditRule):
+ (WebInspector.AuditRule.prototype.set severity):
+ (WebInspector.AuditRule.prototype.run):
+ (WebInspector.AuditRule.prototype.doRun):
+ (WebInspector.AuditCategoryResult):
+ (WebInspector.AuditCategoryResult.prototype.addRuleResult):
+ (WebInspector.AuditRuleResult):
+ (WebInspector.AuditRuleResult.prototype.addChild):
+ (WebInspector.AuditRuleResult.prototype.addURL):
+ (WebInspector.AuditRuleResult.prototype.addURLs):
+ (WebInspector.AuditRuleResult.prototype.addSnippet):
+ * inspector/front-end/Settings.js:
+ * inspector/front-end/audits.css:
+ * inspector/front-end/inspector.js:
+ (WebInspector._createPanels):
+ (WebInspector.documentKeyDown):
+
+2010-03-09 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ When enable resource tracking state changes use the same method as
+ location.reload for reloading inspected page.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35923
+
+ * inspector/InspectorBackend.cpp:
+ (WebCore::InspectorBackend::reloadPage):
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::enableResourceTracking):
+
+2010-03-09 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: highlight text node containers while searching for node.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35912
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::mouseDidMoveOverElement):
+
+2010-03-09 Philippe Normand <pnormand@igalia.com>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ [GStreamer] player code cleanups
+ https://bugs.webkit.org/show_bug.cgi?id=35868
+
+ Cleaned up the private instance variables of the player.
+
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
+ (WebCore::MediaPlayerPrivate::fillTimerFired):
+ (WebCore::MediaPlayerPrivate::mediaLocationChanged):
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
+
+2010-03-09 Philippe Normand <pnormand@igalia.com>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ [GStreamer] player code cleanups
+ https://bugs.webkit.org/show_bug.cgi?id=35868
+
+ Splitted GOwnPtrGtk.{cpp,h} to GOwnPtr{Soup,GStreamer}.{cpp,h}.
+
+ * GNUmakefile.am:
+ * platform/graphics/gstreamer/GOwnPtrGStreamer.cpp: Added.
+ (WTF::GstElement):
+ * platform/graphics/gstreamer/GOwnPtrGStreamer.h: Added.
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+ * platform/gtk/GOwnPtrGtk.cpp: Removed.
+ * platform/gtk/GOwnPtrGtk.h: Removed.
+ * platform/network/soup/CookieJarSoup.cpp:
+ * platform/network/soup/DNSSoup.cpp:
+ * platform/network/soup/GOwnPtrSoup.cpp: Added.
+ (WTF::SoupURI):
+ * platform/network/soup/GOwnPtrSoup.h: Added.
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ * platform/network/soup/ResourceRequestSoup.cpp:
+
+2010-03-09 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ [Chromium] Should remove paddings of Win/Linux chromium's buttons
+ https://bugs.webkit.org/show_bug.cgi?id=35629
+
+ No new tests, but we may need to rebaseline bunch of expectation
+ images in chromium's tree.
+
+ * rendering/RenderThemeChromiumSkia.cpp:
+ * rendering/RenderThemeChromiumSkia.h:
+
+2010-03-08 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Implement HTML5 <hgroup> element.
+ https://bugs.webkit.org/show_bug.cgi?id=33369
+
+ <hgroup> should behave the same as <nav>, <section>, <article>, and <aside>.
+ <hgroup> has no specific parsing rules.
+
+ Test: fast/html/hgroup-element.html
+
+ * css/html.css: Add hgroup as a block element.
+ * editing/htmlediting.cpp:
+ (WebCore::validBlockTag): Add hgroupTag.
+ * html/HTMLElement.cpp:
+ (WebCore::createTagPriorityMap): Returns 5 for hgroupTag.
+ (WebCore::blockTagList): Add hgroupTag.
+ * html/HTMLParser.cpp:
+ (WebCore::HTMLParser::getNode): Add hgroupTag.
+ * html/HTMLTagNames.in: Add hgroup.
+
+2010-03-08 Tony Chang <tony@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32131
+ Crash when inserting an ordered list.
+
+ Test: editing/execCommand/insert-ordered-list.html
+
+ * editing/CompositeEditCommand.cpp:
+ (WebCore::CompositeEditCommand::moveParagraphs):
+ * editing/TextIterator.cpp:
+ (WebCore::TextIterator::rangeFromLocationAndLength):
+
+2010-03-08 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Added a test for crash when you quit inside an unload handler.
+ rdar://problem/6958347
+
+ * manual-tests/quit-inside-unload.html: Added.
+
+2010-03-08 Darin Adler <darin@apple.com>
+
+ Reviewed by Jon Honeycutt.
+
+ Don't auto-play <audio> and <video> elements loaded in background tabs
+ https://bugs.webkit.org/show_bug.cgi?id=35886
+ rdar://problem/7117745
+
+ * manual-tests/video-in-non-frontmost-tab.html: Added.
+ * manual-tests/resources/video-tab.html: Added.
+
+ * html/HTMLMediaElement.h: Added MediaCanStartListener as a base class, and
+ added the mediaCanStart function as well as a boolean,
+ m_isWaitingUntilMediaCanStart.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize
+ m_isWaitingUntilMediaCanStart.
+ (WebCore::HTMLMediaElement::~HTMLMediaElement): Call
+ removeMediaCanStartListener if m_isWaitingUntilMediaCanStart is true.
+ (WebCore::HTMLMediaElement::loadInternal): Set m_isWaitingUntilMediaCanStart
+ and call addMediaCanStartListener if canStartMedia is false.
+ (WebCore::HTMLMediaElement::mediaCanStart): Clear m_isWaitingUntilMediaCanStart
+ and call loadInternal.
+
+2010-03-08 Csaba Osztrogonác <ossy@webkit.org>
+
+ [GTK] Unreviewed buildfix after r55688.
+
+ * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
+ (webKitWebSrcStart):
+
+2010-03-08 Csaba Osztrogonác <ossy@webkit.org>
+
+ [GTK] Unreviewed buildfix after r55688.
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::):
+
+2010-03-08 Csaba Osztrogonác <ossy@webkit.org>
+
+ [Qt] Unreviewed buildfix after r55688.
+
+ * platform/network/qt/ResourceHandleQt.cpp:
+ (WebCore::ResourceHandle::loadResourceSynchronously):
+
+2010-03-08 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35879
+ Eliminate m_mightDownloadFromHandle
+
+ It was only used on Mac, and unnecessarily complicated the code.
+
+ No change in behavior, thus no test.
+
+ * loader/MainResourceLoader.cpp:
+ (WebCore::MainResourceLoader::loadNow):
+ * loader/ResourceLoader.cpp:
+ (WebCore::ResourceLoader::load):
+ * loader/appcache/ApplicationCacheGroup.cpp:
+ (WebCore::ApplicationCacheGroup::createResourceHandle):
+ * platform/network/ResourceHandle.cpp:
+ (WebCore::ResourceHandle::ResourceHandle):
+ (WebCore::ResourceHandle::create):
+ * platform/network/ResourceHandle.h:
+ * platform/network/ResourceHandleInternal.h:
+ (WebCore::ResourceHandleInternal::ResourceHandleInternal):
+ * platform/network/mac/ResourceHandleMac.mm:
+ (WebCore::ResourceHandle::start):
+
+2010-03-02 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Adam Barth.
+
+ Clean up usage of m_failed in open-source image decoders, part 1.
+ https://bugs.webkit.org/show_bug.cgi?id=35411
+
+ Makes setFailed() virtual so subclasses can override it (none do yet) to
+ do automatic cleanup on failure; makes it return a bool for easy
+ tailcalling; makes failed() the only way to access m_failed so
+ subclasses are assured setFailed() won't be bypassed. Plus one or two
+ other tiny cleanup bits.
+
+ Overriding setFailed() is coming in a subsequent patch because it can be
+ hairy and needs close review.
+
+ No functional change, so no tests.
+
+ * platform/graphics/qt/ImageDecoderQt.cpp:
+ (WebCore::ImageDecoderQt::setData):
+ (WebCore::ImageDecoderQt::frameBufferAtIndex):
+ (WebCore::ImageDecoderQt::internalDecodeSize):
+ (WebCore::ImageDecoderQt::internalReadImage):
+ (WebCore::ImageDecoderQt::internalHandleCurrentImage):
+ (WebCore::ImageDecoderQt::forceLoadEverything):
+ (WebCore::ImageDecoderQt::clearPointers):
+ * platform/graphics/qt/ImageDecoderQt.h:
+ * platform/image-decoders/ImageDecoder.h:
+ (WebCore::ImageDecoder::ImageDecoder):
+ (WebCore::ImageDecoder::setData):
+ (WebCore::ImageDecoder::setSize):
+ (WebCore::ImageDecoder::setFailed):
+ (WebCore::ImageDecoder::failed):
+ * platform/image-decoders/bmp/BMPImageDecoder.cpp:
+ (WebCore::BMPImageDecoder::isSizeAvailable):
+ (WebCore::BMPImageDecoder::frameBufferAtIndex):
+ (WebCore::BMPImageDecoder::processFileHeader):
+ * platform/image-decoders/gif/GIFImageDecoder.cpp:
+ (WebCore::GIFImageDecoder::setData):
+ (WebCore::GIFImageDecoder::isSizeAvailable):
+ (WebCore::GIFImageDecoder::frameBufferAtIndex):
+ (WebCore::GIFImageDecoder::decode):
+ (WebCore::GIFImageDecoder::initFrameBuffer):
+ * platform/image-decoders/ico/ICOImageDecoder.cpp:
+ (WebCore::ICOImageDecoder::decodeAtIndex):
+ (WebCore::ICOImageDecoder::processDirectory):
+ (WebCore::ICOImageDecoder::processDirectoryEntries):
+ * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
+ (WebCore::JPEGImageReader::decode):
+ (WebCore::JPEGImageDecoder::setData):
+ (WebCore::JPEGImageDecoder::isSizeAvailable):
+ (WebCore::JPEGImageDecoder::frameBufferAtIndex):
+ (WebCore::JPEGImageDecoder::outputScanlines):
+ (WebCore::JPEGImageDecoder::decode):
+ * platform/image-decoders/png/PNGImageDecoder.cpp:
+ (WebCore::decodingFailed):
+ (WebCore::PNGImageReader::decode):
+ (WebCore::PNGImageDecoder::setData):
+ (WebCore::PNGImageDecoder::isSizeAvailable):
+ (WebCore::PNGImageDecoder::frameBufferAtIndex):
+ (WebCore::PNGImageDecoder::headerAvailable):
+ (WebCore::PNGImageDecoder::rowAvailable):
+ (WebCore::PNGImageDecoder::decode):
+ * platform/image-decoders/png/PNGImageDecoder.h:
+
+2010-03-08 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Disallow WebGL when HW comp is not turned on at runtime
+ https://bugs.webkit.org/show_bug.cgi?id=35759
+
+ When HW comp is turned off with the runtime flag, WebGL would still
+ create a context, but silently fail to render. This prevents that.
+ Now if HW comp is turned off getContext('webgl') will return null.
+
+ * html/HTMLCanvasElement.cpp:
+ (WebCore::HTMLCanvasElement::getContext):
+
+2010-03-08 Darin Adler <darin@apple.com>
+
+ Reviewed by Jon Honeycutt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35876
+
+ Fix minor style issues in HTMLMediaElement and classes derived from it.
+ Made many public members private and protected.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::screenRect): Got rid of a stray "const" and
+ retstructured the function to use early return and get rid of a local.
+
+ * html/HTMLMediaElement.h: Made lots of members private and some
+ protected. Also use private inheritance instead of public. Removed
+ some unneeded includes.
+
+ * html/HTMLVideoElement.cpp:
+ (WebCore::HTMLVideoElement::parseMappedAttribute): Use player() instead
+ of m_player; HTMLMediaElement data members are now private, not protected.
+ (WebCore::HTMLVideoElement::supportsFullscreen): Ditto.
+ (WebCore::HTMLVideoElement::videoWidth): Ditto.
+ (WebCore::HTMLVideoElement::videoHeight): Ditto.
+ (WebCore::HTMLVideoElement::hasAvailableVideoFrame): Ditto.
+ (WebCore::HTMLVideoElement::webkitEnterFullScreen): Use isFullscreen()
+ instead of m_isFullscreen; same reason.
+ (WebCore::HTMLVideoElement::webkitExitFullScreen): Ditto.
+ (WebCore::HTMLVideoElement::webkitDisplayingFullscreen): Ditto.
+
+ * html/HTMLVideoElement.h: Removed an unneeded include. Made many
+ public functions private. Got rid of unused paint function, which was
+ replaced with paintCurrentFrameInContext a while back.
+
+2010-03-08 Joanmarie Diggs <joanmarie.diggs@gmail.com>
+
+ Reviewed by Xan Lopez.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30895
+ [Gtk] The accessible hierarchy of tables is significantly incorrect for Atk
+
+ Gives platforms the ability to exclude parts of an AccessibilityTable
+ from the accessible hierarchy.
+
+ * accessibility/gtk/AccessibilityObjectAtk.cpp:
+ (AccessibilityObject::accessibilityPlatformIncludesObject):
+ * accessibility/AccessibilityRenderObject.cpp:
+ (AccessibilityRenderObject::determineAccessibilityRole):
+ * accessibility/AccessibilityTable.cpp:
+ (AccessibilityTable::addChildren):
+ * accessibility/AccessibilityTableColumn.h:
+ (accessibilityIsIgnored):
+ * accessibility/AccessibilityTableHeaderContainer.h:
+ (accessibilityIsIgnored):
+ * accessibility/AccessibilityTableRow.cpp:
+ (accessibilityIsIgnored):
+
+2010-03-08 Jian Li <jianli@chromium.org>
+
+ No review. Fix build break on Tiger intel release.
+
+ * html/Blob.cpp:
+ * html/Blob.h:
+
+2010-03-02 Adam Treat <atreat@rim.com>
+
+ Reviewed by Dave Hyatt.
+
+ Refactor the HostWindow methods for repaint, scroll, invalidate and blit
+ of backingstore and window by eliminating the three bools that currently
+ exist as params of the repaint method.
+ https://bugs.webkit.org/show_bug.cgi?id=34214
+
+ I've added extra methods to provide the hosts with more semantic
+ information of what is being requested thus eliminating the need for
+ these bools.
+
+ No tests as this change should not introduce any behavior changes in any
+ of the ports.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34214
+
+ * loader/EmptyClients.h:
+ (WebCore::EmptyChromeClient::invalidateContents):
+ (WebCore::EmptyChromeClient::invalidateWindow):
+ (WebCore::EmptyChromeClient::invalidateContentsAndWindow):
+ (WebCore::EmptyChromeClient::invalidateContentsForSlowScroll):
+ * page/Chrome.cpp:
+ (WebCore::Chrome::invalidateContents):
+ (WebCore::Chrome::invalidateWindow):
+ (WebCore::Chrome::invalidateContentsAndWindow):
+ (WebCore::Chrome::invalidateContentsForSlowScroll):
+ * page/Chrome.h:
+ * page/ChromeClient.h:
+ * page/FrameView.cpp:
+ (WebCore::FrameView::invalidateRect):
+ * platform/HostWindow.h:
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::scrollContents):
+ (WebCore::ScrollView::wheelEvent):
+
+2010-03-08 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Nate Chapin.
+
+ [V8] Block popups from inline script
+ https://bugs.webkit.org/show_bug.cgi?id=35474
+
+ Apparently, we're supposed to look at the sourceURL to figure out
+ whether we're running a script tag or a hyperlink. This logic is
+ copied from the JSC version.
+
+ Test: http/tests/security/popup-blocked-from-window-open.html
+
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::processingUserGesture):
+ (WebCore::ScriptController::evaluate):
+
+2010-03-08 Stuart Morgan <stuartmorgan@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Move the details of secure text mode into WebCore/platform.
+ Move the higher-level logic for secure text mode from Frame
+ to SelectionController.
+
+ https://bugs.webkit.org/show_bug.cgi?id=31265
+
+ No new tests: no functional changes.
+
+ * WebCore.gypi:
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/Document.cpp:
+ (WebCore::Document::setUseSecureKeyboardEntryWhenActive):
+ * editing/SelectionController.cpp:
+ (WebCore::SelectionController::focusedOrActiveStateChanged):
+ (WebCore::SelectionController::updateSecureKeyboardEntryIfActive):
+ (WebCore::SelectionController::setUseSecureKeyboardEntry):
+ * editing/SelectionController.h:
+ * page/Frame.cpp:
+ (WebCore::Frame::setDocument):
+ * page/Frame.h:
+ * platform/SecureTextInput.cpp: Added.
+ (WebCore::enableSecureTextInput):
+ (WebCore::disableSecureTextInput):
+ * platform/SecureTextInput.h: Added.
+ (WebCore::enableSecureTextInput):
+ (WebCore::disableSecureTextInput):
+
+2010-03-08 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Relax the 3rd party cookie policy in cases where it won't add a new tracking vector.
+ <rdar://problem/7163012> and https://bugs.webkit.org/show_bug.cgi?id=35824
+
+ Test: http/tests/cookies/third-party-cookie-relaxing.html
+
+ If the 3rd-party domain in question already has a cookie set, allow changes
+ by setting the first party url of the request to be the url of the request itself:
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::makeFinalRequest):
+
+ Ditto:
+ * platform/network/mac/ResourceHandleMac.mm:
+ (WebCore::ResourceHandle::start):
+ (WebCore::ResourceHandle::loadResourceSynchronously):
+
+ I've filed <rdar://problem/7728508> to track changing the policy in our networking layer.
+
+2010-03-08 Jian Li <jianli@chromium.org>
+
+ Reviewed by Dmitry Titov.
+
+ Blob.slice support.
+ https://bugs.webkit.org/show_bug.cgi?id=32993
+
+ The following semantic is adopted per the discussions on public-webapps:
+ 1) File.slice() does a synchronous IO to capture the current size and
+ modification time and cache them in the resulting Blob.
+ 2) Subsequent Blob operations, like Blob.slice and Blob.size simply
+ use the cached values.
+ 3) When the underlying file data are accessed, like in XHR.send(), the
+ UA will check the cached modification time against the current
+ modification time to determine if the file has been changed or not.
+ An error or exception will be thrown if needed.
+
+ Also add ENABLE_BLOB_SLICE feature define.
+
+ Test: http/tests/local/send-sliced-dragged-file.html
+
+ * Configurations/FeatureDefines.xcconfig:
+ * GNUmakefile.am:
+ * WebCore.pri:
+ * html/Blob.cpp:
+ (WebCore::Blob::Blob):
+ (WebCore::Blob::size):
+ (WebCore::Blob::slice):
+ * html/Blob.h:
+ (WebCore::Blob::start):
+ (WebCore::Blob::length):
+ (WebCore::Blob::modificationTime):
+ * html/Blob.idl:
+ * platform/network/FormData.cpp:
+ (WebCore::FormData::deepCopy):
+ (WebCore::FormData::appendFile):
+ (WebCore::FormData::appendFileRange):
+ * platform/network/FormData.h:
+ (WebCore::FormDataElement::FormDataElement):
+ (WebCore::operator==):
+ * platform/network/mac/FormDataStreamMac.mm:
+ (WebCore::advanceCurrentStream):
+ (WebCore::openNextStream):
+ (WebCore::formCreate):
+ (WebCore::formOpen):
+ (WebCore::formRead):
+ (WebCore::setHTTPBody):
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::send):
+
+2010-03-08 Daniel Bates <dbates@rim.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34819
+
+ Fixes an issue where we repaint the caret rectangle even if the associated
+ selection is not in a content editable element. This is extraneous since the
+ caret is only visible when the selection is in a content editable element.
+ Hence, we should only repaint the caret rectangle when the associated selection
+ is in a content editable element.
+
+ Note, we always paint the caret when caret browsing is enabled.
+
+ Test: fast/repaint/no-caret-repaint-in-non-content-editable-element.html
+
+ * editing/SelectionController.cpp:
+ (WebCore::SelectionController::recomputeCaretRect): Modified to call method
+ SelectionController::shouldRepaintCaret.
+ (WebCore::SelectionController::shouldRepaintCaret): Added.
+ (WebCore::SelectionController::invalidateCaretRect): Modified to call method
+ SelectionController::shouldRepaintCaret.
+ * editing/SelectionController.h:
+
+2010-03-08 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ YouTube HTML5 video never starts playing on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=33954
+
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
+ (WebCore::MediaPlayerPrivate::rfc2616DateStringFromTime): New, create an rfc 2616 formatted
+ string for an absolute time value.
+ (WebCore::addCookieParam): New, add a cookie param and value to a string builder.
+ (WebCore::MediaPlayerPrivate::setUpCookiesForQuickTime): Copy cookies for the movie to
+ be loaded from CFNetwork into WinINet so they are available when QuickTime tries to
+ download the movie.
+ (WebCore::MediaPlayerPrivate::load): Call setupCookiesForQuickTime.
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
+
+2010-03-08 Eric Uhrhane <ericu@chromium.org>
+
+ Reviewed by David Levin.
+
+ Remove the now-redundant Settings fields for the Database
+ https://bugs.webkit.org/show_bug.cgi?id=35763
+
+ No new tests; this code isn't called.
+
+ * WebCore.base.exp:
+ * page/Settings.cpp:
+ (WebCore::Settings::Settings):
+ * page/Settings.h:
+
+2010-03-07 David Levin <levin@chromium.org>
+
+ Chromium Linux build fix.
+
+ * platform/graphics/chromium/FontPlatformDataLinux.h: Add "class String" since a debug
+ only method returns a String.
+
+2010-03-07 Mark Rowe <mrowe@apple.com>
+
+ Chromium build fix.
+
+ * platform/chromium/ClipboardChromium.cpp: Include Image.h since we're using WebCore::Image.
+
+2010-03-07 Mark Rowe <mrowe@apple.com>
+
+ Gtk build fix.
+
+ * platform/network/soup/ResourceHandleSoup.cpp: Include SharedBuffer.h since we're using WebCore::SharedBuffer.
+
+2010-03-07 Mark Rowe <mrowe@apple.com>
+
+ Gtk build fix.
+
+ * platform/graphics/gtk/ImageGtk.cpp: Include SharedBuffer.h since we're using WebCore::SharedBuffer.
+
+2010-03-07 Mark Rowe <mrowe@apple.com>
+
+ Fix builds where USE_CG_SHADING is set.
+
+ * platform/graphics/cg/GradientCG.cpp: Include wtf/RetainPtr.h since WTF::RetainPtr is used when USE_CG_SHADING is set.
+
+2010-03-07 Mark Rowe <mrowe@apple.com>
+
+ Windows build fix. Add some required includes.
+
+ * platform/graphics/win/ImageCGWin.cpp:
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ * platform/win/ClipboardWin.cpp:
+
+2010-03-07 Mark Rowe <mrowe@apple.com>
+
+ Gtk build fix.
+
+ * platform/graphics/GraphicsContext.h: Include wtf/PassOwnPtr.h since some platforms use WTF::PassOwnPtr in this header.
+
+2010-03-07 Mark Rowe <mrowe@apple.com>
+
+ Qt build fix.
+
+ * platform/network/qt/ResourceHandleQt.cpp: Include SharedBuffer.h since we're using WebCore::SharedBuffer.
+
+2010-03-07 Mark Rowe <mrowe@apple.com>
+
+ Gtk build fix.
+
+ * platform/gtk/ClipboardGtk.cpp: Include Image.h since we're using WebCore::Image.
+
+2010-03-07 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Cameron Zwarich.
+
+ Remove unnecessary includes from header files, adding them to the handful of implementation files that need them.
+
+ * loader/CachedCSSStyleSheet.cpp:
+ * loader/CachedFont.cpp:
+ * loader/CachedImage.cpp:
+ * loader/CachedResource.cpp:
+ * loader/CachedResource.h:
+ * loader/CachedScript.cpp:
+ * loader/CachedXSLStyleSheet.cpp:
+ * loader/icon/IconFetcher.cpp:
+ * loader/loader.cpp:
+ * page/Page.cpp:
+ * platform/graphics/Image.cpp:
+ * platform/graphics/Image.h:
+ * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
+ * platform/graphics/cg/PDFDocumentImage.cpp:
+ * platform/graphics/cg/PathCG.cpp:
+ * platform/graphics/mac/ImageMac.mm:
+
+2010-03-07 Mark Rowe <mrowe@apple.com>
+
+ Chromium build fix.
+
+ * platform/chromium/ChromiumDataObject.h: Include SharedBuffer.h since the inline constructor of this
+ class means that the pointed-to type of the RefPtr member must be available.
+
+2010-03-07 Mark Rowe <mrowe@apple.com>
+
+ Qt build fix.
+
+ * platform/network/qt/DnsPrefetchHelper.cpp: Include PlatformString.h since we're using WebCore::String.
+
+2010-03-07 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Fix a bug that validity.valueMissing for a radio button with required
+ in a form element always returns true.
+ https://bugs.webkit.org/show_bug.cgi?id=35472
+
+ Test: fast/forms/ValidityState-valueMissing-radio.html
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::checkedRadioButtons): Move the location to be used by valueMissing().
+ (WebCore::HTMLInputElement::valueMissing):
+ Use checkedRadioButtons() instead of document()->checkedRadioButtons().
+
+2010-03-07 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Cameron Zwarich.
+
+ Remove unnecessary includes from header files, adding them to the handful of implementation files that need them.
+
+ * bindings/objc/DOM.mm:
+ * loader/CachedImage.h:
+ * loader/EmptyClients.h:
+ * platform/graphics/GlyphPageTreeNode.cpp:
+ * platform/text/CString.h:
+ * platform/text/String.cpp:
+ * platform/text/mac/TextCodecMac.cpp:
+ * svg/graphics/SVGResourceFilter.h:
+ * svg/graphics/filters/SVGFEImage.h:
+
+2010-03-07 Mark Rowe <mrowe@apple.com>
+
+ Completely remove two files that were deleted in r55635 from the Xcode project.
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+2010-03-07 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Remove inconsistent "Too few arguments" handling for window.atob() and window.btoa()
+ https://bugs.webkit.org/show_bug.cgi?id=35848
+
+ - Take the opportunity to fully autogenerate window.atob() and window.btoa().
+
+ * bindings/js/JSDOMWindowCustom.cpp:
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::btoa):
+ (WebCore::DOMWindow::atob):
+ * page/DOMWindow.idl:
+
+2010-03-07 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <rdar://problem/7722008> Column breaking ignores floats
+ https://bugs.webkit.org/show_bug.cgi?id=35837
+
+ Test: fast/multicol/float-truncation.html
+
+ Introduce an earlier column-break if otherwise a float that could fit
+ inside a single column will be split between columns.
+
+ It is still possible for floats to be needlessly broken if initially
+ they fit in the column, but normal flow truncation then shortens the
+ column.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::visibleTopOfHighestFloatExtendingBelow): Added.
+ Returns the visible top of the highest descendant float that visibly
+ extends below the given y offset, ignoring floats that are taller than
+ the given maximum height.
+ (WebCore::RenderBlock::layoutColumns): If the initial column height
+ would cause a float to be split, truncate above the float.
+ * rendering/RenderBlock.h:
+
+2010-03-07 Dmitry Titov <dimich@chromium.org>
+
+ Not reviewed. Revert of r55593 which caused a regression of worker-cloneports.html.
+
+ REGRESSION(55593?): fast/workers/worker-cloneport.html is timing out on Leopard
+ https://bugs.webkit.org/show_bug.cgi?id=35819
+
+ * Android.jscbindings.mk:
+ * Android.v8bindings.mk:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSDOMWindowCustom.cpp:
+ * bindings/js/JSDatabaseCallback.cpp: Removed.
+ * bindings/js/JSDatabaseCallback.h: Removed.
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ * bindings/v8/custom/V8DatabaseCallback.cpp: Removed.
+ * bindings/v8/custom/V8DatabaseCallback.h: Removed.
+ * dom/Document.cpp:
+ (WebCore::Document::postTask):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::openDatabase):
+ * page/DOMWindow.h:
+ * page/DOMWindow.idl:
+ * storage/Database.cpp:
+ (WebCore::Database::openDatabase):
+ (WebCore::Database::Database):
+ (WebCore::Database::performOpenAndVerify):
+ * storage/Database.h:
+ * storage/DatabaseCallback.h: Removed.
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::openDatabase):
+ * workers/WorkerContext.h:
+
+2010-03-06 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Sam Weinig.
+
+ Remove unnecessary includes of wtf/Platform.h. This is already pulled in by config.h.
+
+ * accessibility/AccessibilityObject.h:
+ * dom/XMLTokenizer.cpp:
+ * dom/XMLTokenizerLibxml2.cpp:
+ * dom/XMLTokenizerQt.cpp:
+ * editing/TextAffinity.h:
+ * loader/FrameLoaderClient.h:
+ * page/FocusController.cpp:
+ * page/FrameTree.cpp:
+ * page/Geolocation.h:
+ * page/PositionCallback.h:
+ * page/PositionErrorCallback.h:
+ * platform/Cursor.h:
+ * platform/FileSystem.h:
+ * platform/FloatConversion.h:
+ * platform/KeyboardCodes.h:
+ * platform/PlatformKeyboardEvent.h:
+ * platform/PlatformTouchPoint.h:
+ * platform/SuddenTermination.h:
+ * platform/Widget.h:
+ * platform/graphics/Color.h:
+ * platform/graphics/FloatPoint.h:
+ * platform/graphics/FloatSize.h:
+ * platform/graphics/GraphicsContext.h:
+ * platform/graphics/IntPoint.h:
+ * platform/graphics/IntRect.h:
+ * platform/graphics/IntSize.h:
+ * platform/graphics/openvg/PainterOpenVG.h:
+ * platform/graphics/openvg/SurfaceOpenVG.h:
+ * platform/network/ResourceHandleClient.h:
+ * platform/text/Base64.cpp:
+ * rendering/style/SVGRenderStyle.h:
+ * xml/XSLTProcessor.cpp:
+ * xml/XSLTProcessorLibxslt.cpp:
+ * xml/XSLTProcessorQt.cpp:
+
+2010-03-06 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Move debug only JS wrapper-set tracking code into its own file.
+ https://bugs.webkit.org/show_bug.cgi?id=35839
+
+ * GNUmakefile.am: Added new files.
+ * WebCore.gypi: Ditto.
+ * WebCore.pro: Ditto.
+ * WebCore.vcproj/WebCore.vcproj: Ditto.
+ * WebCore.xcodeproj/project.pbxproj: Ditto.
+
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::cacheDOMObjectWrapper):
+ (WebCore::forgetDOMObject):
+ (WebCore::forgetDOMNode):
+ (WebCore::cacheDOMNodeWrapper):
+ (WebCore::takeWrappers):
+ (WebCore::updateDOMNodeDocument):
+ Updated for new signature for willCacheWrapper and didUncacheWrapper.
+
+ * bindings/js/JSDOMWrapper.cpp: Added.
+ (WebCore::DOMObject::~DOMObject):
+ (WebCore::DOMObject::defineOwnProperty):
+ Moved from JSDOMBinding.cpp.
+
+ * bindings/js/JSDebugWrapperSet.cpp: Added.
+ (WebCore::JSDebugWrapperSet::shared):
+ (WebCore::JSDebugWrapperSet::JSDebugWrapperSet):
+ * bindings/js/JSDebugWrapperSet.h: Added.
+ (WebCore::JSDebugWrapperSet::add):
+ (WebCore::JSDebugWrapperSet::remove):
+ (WebCore::JSDebugWrapperSet::contains):
+ (WebCore::JSDebugWrapperSet::willCacheWrapper):
+ (WebCore::JSDebugWrapperSet::didUncacheWrapper):
+ Moved from JSDOMBinding.cpp.
+
+2010-03-06 Sam Weinig <sam@webkit.org>
+
+ Rubber-stamped by Dan Bernstein.
+
+ Move DOMObjectHashTableMap, DOMWrapperWorld and WebCoreJSClientData into
+ their own files.
+
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/DOMObjectHashTableMap.cpp: Copied from bindings/js/JSDOMBinding.cpp.
+ * bindings/js/DOMObjectHashTableMap.h: Copied from bindings/js/JSDOMBinding.h.
+ (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
+ (WebCore::DOMObjectHashTableMap::get):
+ * bindings/js/DOMWrapperWorld.cpp: Copied from bindings/js/JSDOMBinding.cpp.
+ (WebCore::forgetWorldOfDOMNodesForDocument):
+ * bindings/js/DOMWrapperWorld.h: Copied from bindings/js/JSDOMBinding.h.
+ (WebCore::DOMWrapperWorld::create):
+ (WebCore::DOMWrapperWorld::rememberDocument):
+ (WebCore::DOMWrapperWorld::forgetDocument):
+ (WebCore::DOMWrapperWorld::isNormal):
+ (WebCore::debuggerWorld):
+ (WebCore::pluginWorld):
+ (WebCore::currentWorld):
+ (WebCore::Document::getWrapperCache):
+ * bindings/js/JSDOMBinding.cpp:
+ * bindings/js/JSDOMBinding.h:
+ * bindings/js/JSDOMWindowBase.cpp:
+ * bindings/js/ScriptController.cpp:
+ * bindings/js/WebCoreJSClientData.h: Copied from bindings/js/JSDOMBinding.h.
+ (WebCore::WebCoreJSClientData::WebCoreJSClientData):
+ (WebCore::WebCoreJSClientData::~WebCoreJSClientData):
+ (WebCore::WebCoreJSClientData::normalWorld):
+ (WebCore::WebCoreJSClientData::getAllWorlds):
+ (WebCore::WebCoreJSClientData::rememberWorld):
+ (WebCore::WebCoreJSClientData::forgetWorld):
+ * bindings/js/WorkerScriptController.cpp:
+
+2010-03-06 Dan Bernstein <mitz@apple.com>
+
+ Rubber-stamped by Sam Weinig.
+
+ Remove an unused method.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::layoutBlock): Changed comment.
+ (WebCore::RenderBlock::floatRect): Removed.
+ * rendering/RenderBlock.h: Removed floatRect().
+
+2010-03-06 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: make timeline overview bars transparent to mouse events.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35832
+
+ * inspector/front-end/inspector.css:
+
+2010-03-06 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Jeremy Orlow.
+
+ Web Inspector: switching to/from Timeline Panel moves scroller.
+ (Also added couple of record details items as I was fixing it).
+
+ https://bugs.webkit.org/show_bug.cgi?id=35829
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel):
+ (WebInspector.TimelinePanel.prototype.get defaultFocusedElement):
+ (WebInspector.TimelinePanel.prototype.show):
+ (WebInspector.TimelinePanel.prototype._refreshRecords):
+ (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
+
+2010-03-06 Patrick Gansterer <paroga@paroga.com>
+
+ Reviewed by Eric Seidel.
+
+ Removed unnecessary WinCE file.
+ The same functionality is provided by platform/win/SystemTimeWin.cpp.
+ https://bugs.webkit.org/show_bug.cgi?id=35799
+
+ * platform/wince/SystemTimeWince.cpp: Removed.
+
+2010-03-06 Joanmarie Diggs <joanmarie.diggs@gmail.com>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30895
+ [Gtk] The accessible hierarchy of tables is significantly incorrect for Atk
+
+ This completes the fixing of the Atk table hierarchy which was started
+ in bug #35418.
+
+ * accessibility/gtk/AccessibilityObjectAtk.cpp:
+ (AccessibilityObject::accessibilityPlatformIncludesObject):
+ * accessibility/AccessibilityRenderObject.cpp:
+ (AccessibilityRenderObject::determineAccessibilityRole):
+
+2010-03-06 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Darin Adler.
+
+ Moved implementations of window.btoa() and window.atob() from
+ JSDOMWindow to DOMWindow, and make V8DOMWindow use DOMWindow
+ functions instead of having a separate implementation. As a side effect, the
+ error message has changed from "Cannot decode base64" to one that
+ indicates DOM Exception, which is compatible to Firefox.
+
+ Refactoring: window.btoa() and window.atob() should be implemented on DOMWindow
+ https://bugs.webkit.org/show_bug.cgi?id=35723
+
+ No new test. No new functionality.
+
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::atob):
+ (WebCore::JSDOMWindow::btoa):
+ Moved conversion code to DOMWindow and invoke it. Argument
+ checking remains here.
+
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::V8DOMWindow::atobCallback):
+ (WebCore::V8DOMWindow::btoaCallback):
+ Remove conversion code and call DOMWindow APIs. Although argument
+ checking remains here.
+
+ * page/DOMWindow.cpp:
+ (WebCore::hasMultibyteCharacters):
+ (WebCore::DOMWindow::btoa):
+ (WebCore::DOMWindow::atob):
+ * page/DOMWindow.h:
+ Moved Conversion code from JSDOMWindow, modifing to fit JSC independent.
+
+2010-03-06 Yuta Kitamura <yutak@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Fix decoration position in search input field.
+
+ This patch fixes rendering of input field of "search" type, whose decoration
+ (loupe icon and close button) was wrongly positioned when the input field was
+ contained in a block with -webkit-transform property.
+
+ Chromium bug: http://crbug.com/20439
+
+ [Chromium] Decoration of "search" input field is wrongly rendered
+ https://bugs.webkit.org/show_bug.cgi?id=30245
+
+ No new tests, since this patch fixes an existing test
+ (fast/forms/search-transformed.html) in Chromium layout tests.
+
+ * rendering/RenderThemeChromiumSkia.cpp:
+ (WebCore::RenderThemeChromiumSkia::convertToPaintingRect): Added. This method
+ does almost the same thing as RenderThemeMac::convertToPaintingRect.
+ (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton): The position
+ of the icon should not depend on its absolute position.
+ (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration): Ditto.
+ (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton): Ditto.
+ * rendering/RenderThemeChromiumSkia.h: Added new method.
+
+2010-03-06 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: in Timeline panel, click followed with mouse move resets popover.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35827
+
+ * inspector/front-end/Popover.js:
+ (WebInspector.PopoverHelper.prototype._mouseDown):
+ (WebInspector.PopoverHelper.prototype._mouseMove):
+ (WebInspector.PopoverHelper.prototype._handleMouseAction):
+
+2010-03-05 Tony Chang <tony@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33247
+ Backwards cursor movement incorrect when previous block ends with <br>.
+
+ If the cursor is trying to move into a node that has a height of 0,
+ skip over it.
+
+ Test: editing/execCommand/move-selection-back-line.html
+
+ * editing/visible_units.cpp:
+ (WebCore::previousLinePosition):
+
+2010-03-05 Andrey Kosyakov <caseq@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Enable resource loading callback while loading worker scripts
+ https://bugs.webkit.org/show_bug.cgi?id=35744
+
+ * workers/WorkerScriptLoader.cpp:
+ (WebCore::WorkerScriptLoader::loadSynchronously):
+ (WebCore::WorkerScriptLoader::loadAsynchronously):
+
+2010-03-05 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Eric Seidel.
+
+ WAI-ARIA live region doesn't appear when <div> only has a <div> child
+ https://bugs.webkit.org/show_bug.cgi?id=35751
+
+ Elements should not be ignored if they carry ARIA attributes in them.
+
+ Test: platform/mac/accessibility/div-containing-div-with-aria.html
+
+ * accessibility/AccessibilityObject.cpp:
+ (WebCore::AccessibilityObject::supportsARIAAttributes):
+ * accessibility/AccessibilityObject.h:
+ (WebCore::AccessibilityObject::supportsARIADropping):
+ (WebCore::AccessibilityObject::supportsARIADragging):
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::supportsARIADropping):
+ (WebCore::AccessibilityRenderObject::supportsARIADragging):
+ (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
+ * accessibility/AccessibilityRenderObject.h:
+
+2010-03-05 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by Oliver Hunt.
+
+ Add a manual test for crash in DOMWindow::clearTimeout when DOMWindow is not connected to Frame
+ https://bugs.webkit.org/show_bug.cgi?id=32353
+
+ * manual-tests/clearTimeout-crash-bug29832.html: Added.
+
+2010-03-05 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by David Levin.
+
+ [v8] Remove wrong assert in GC callback
+ https://bugs.webkit.org/show_bug.cgi?id=35757
+
+ Test: fast/workers/wrapper-map-gc.html
+
+ * bindings/v8/DOMData.h:
+ (WebCore::DOMData::handleWeakObject): remove ASSERT(isMainThread()), move another assert up to verify we are on the right thread.
+
+2010-03-05 Alex Milowski <alex@milowski.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Added support for row layout with stretchy operators and
+ adjusted the over spacing for over and underover accordingly.
+
+ Tests: mathml/presentation/mo.xhtml
+ mathml/presentation/row.xhtml
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * mathml/MathMLInlineContainerElement.cpp:
+ * mathml/MathMLTextElement.cpp:
+ * mathml/RenderMathMLMath.cpp: Added.
+ * mathml/RenderMathMLMath.h: Added.
+ * mathml/RenderMathMLOperator.cpp: Added.
+ * mathml/RenderMathMLOperator.h: Added.
+ * mathml/RenderMathMLRow.cpp: Added.
+ * mathml/RenderMathMLRow.h: Added.
+ * mathml/RenderMathMLUnderOver.cpp:
+ * mathml/mathtags.in:
+
+2010-03-05 Dean Jackson <dino@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35772
+ Animation fill modes should be supported in the shorthand property
+
+ Add CSSPropertyWebkitAnimationFillMode to the list of properties
+ evaluated in the -webkit-animation shorthand.
+
+ Test: animations/animation-shorthand.html
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseAnimationShorthand):
+
+2010-03-05 Dean Jackson <dino@apple.com>
+
+ Reviewed by Simon Fraser
+
+ https://bugs.webkit.org/show_bug.cgi?id=35815
+ Animation Fill Modes fail on Windows
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ * css/CSSStyleSelector.cpp:
+ * platform/graphics/mac/GraphicsLayerCA.mm:
+ - use new enum value
+ * platform/animation/Animation.h:
+ - change bitfield type
+ * rendering/style/RenderStyleConstants.h:
+ - add new enum for fill mode
+
+2010-03-05 Csaba Osztrogonác <ossy@webkit.org>
+
+ Unreviewed buildfix after r55593. (To fix Qt --minimal build.)
+
+ * bindings/js/JSDOMWindowCustom.cpp: Missing #if ENABLE(DATABASE) guard added.
+
+2010-03-05 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler.
+
+ ASSERTION FAILED: rootLayer == m_clipRectsRoot at hulu.com
+ https://bugs.webkit.org/show_bug.cgi?id=34065
+ <rdar://problem/7573509>
+
+ Fix one instance of this assertion (not necessarily the one seen on hulu.com).
+
+ If the layer that clippingRoot() is being called on is itself compositing,
+ then it acts as the clipping root. Without this, calls to RenderLayer::childrenClipRect()
+ and RenderLayer::selfClipRect() via FrameView::windowClipRectForLayer(), for plug-ins,
+ caused the caching of an incorrect clip rects root.
+
+ Test: compositing/geometry/object-clip-rects-assertion.html
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::clippingRoot):
+
+2010-03-05 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Child clipping compositing layers don't show the blue debug color
+ https://bugs.webkit.org/show_bug.cgi?id=35807
+
+ Set a layer owner on the GraphicsLayers created for clipping children,
+ so that they can get to the debug settings that give them the blue color.
+
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::updateClippingLayers):
+
+2010-03-05 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ MobileMe movie page is missing playback controls
+ https://bugs.webkit.org/show_bug.cgi?id=35805
+ <rdar://problem/7653169>
+
+ On pages with video or plug-ins, we run overlap tests to determine which layers
+ need to be composited. There was an ordering dependency bug in
+ RenderLayerCompositor::computeCompositingRequirements() that caused us to fail
+ to detect that a layer needed to be composited, resulting in page content
+ not being visible.
+
+ Specifically, layer->setHasCompositingDescendant() can change the answer
+ to needsToBeComposited(), when a layer has to clip compositing descendants.
+ So if we change setHasCompositingDescendant(), then we need to re-test
+ clipsCompositingDescendants() and add the layer to the overlap map if so.
+
+ Test: compositing/overflow/overflow-compositing-descendant.html
+
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::computeCompositingRequirements):
+
+2010-03-04 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Adding support for the optional creation callback that could be
+ passed to openDatabase().
+
+ Test: storage/open-database-creation-callback.html
+
+ https://bugs.webkit.org/show_bug.cgi?id=34726
+
+ * Android.jscbindings.mk
+ * Android.v8bindings.mk
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::openDatabase):
+ * bindings/js/JSDatabaseCallback.cpp: Added.
+ (WebCore::JSDatabaseCallback::JSDatabaseCallback):
+ (WebCore::JSDatabaseCallback::~JSDatabaseCallback):
+ (WebCore::JSDatabaseCallback::handleEvent):
+ * bindings/js/JSDatabaseCallback.h: Added.
+ (WebCore::JSDatabaseCallback::create):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::V8DOMWindow::openDatabaseCallback):
+ * bindings/v8/custom/V8DatabaseCallback.cpp: Added.
+ (WebCore::V8DatabaseCallback::V8DatabaseCallback):
+ (WebCore::V8DatabaseCallback::~V8DatabaseCallback):
+ (WebCore::V8DatabaseCallback::handleEvent):
+ * bindings/v8/custom/V8DatabaseCallback.h: Added.
+ (WebCore::V8DatabaseCallback::create):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::openDatabase):
+ * page/DOMWindow.h:
+ * page/DOMWindow.idl:
+ * storage/Database.cpp:
+ (WebCore::DatabaseCreationCallbackTask::create):
+ (WebCore::DatabaseCreationCallbackTask::performTask):
+ (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
+ (WebCore::Database::openDatabase):
+ (WebCore::Database::Database):
+ (WebCore::Database::performOpenAndVerify):
+ (WebCore::Database::performCreationCallback):
+ * storage/Database.h:
+ (WebCore::Database::isNew):
+ * storage/DatabaseCallback.h: Added.
+ (WebCore::DatabaseCallback::~DatabaseCallback):
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::openDatabase):
+ * workers/WorkerContext.h:
+
+2010-03-05 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Fixed infinite recursion of composited video on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=35798
+
+ Due to a change in the way we get the platformLayer (WKCACFLayer)
+ for video, the mediaplayer was in an infinite loop with WKCACFLayer
+ bouncing notifySyncRequired calls back and forth. After discussion
+ we decided it would be better to avoid notifySyncRequired entirely,
+ which would walk up through WebCore calls and back down through
+ WebKit calls to tell the WKCACFLayerRenderer to kick off a render cycle.
+
+ I subclassed WKCACFLayer into a WKCACFRootLayer which has a pointer to
+ the WKCACFLayerRenderer. When something changes, we get the rootLayer()
+ by walking up the layers and make a virtual call which WKCACFRootLayer
+ implements to tell WKCACFLayerRenderer to render.
+
+ I also got rid of GraphicsLayer knowledge from WKCACFLayer. GraphicsLayerCACF
+ now makes a WebLayer subclass which implements the drawInContext()
+ virtual method.
+
+ I also had to add protection to the platformLayer() call in
+ MediaPlayerPrivateQuickTimeWin because it gets called earlier than before
+ when the layer is still null.
+
+ * platform/graphics/win/GraphicsLayerCACF.cpp:Implement WebLayer
+ (WebCore::WebLayer::create):
+ (WebCore::WebLayer::drawInContext):
+ (WebCore::WebLayer::WebLayer):
+ (WebCore::GraphicsLayerCACF::GraphicsLayerCACF):
+ (WebCore::GraphicsLayerCACF::setNeedsDisplayInRect):
+ (WebCore::GraphicsLayerCACF::updateLayerPreserves3D):
+ (WebCore::GraphicsLayerCACF::updateContentsImage):
+ * platform/graphics/win/GraphicsLayerCACF.h:
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:Protect platformLayer from a null qtLayer
+ (WebCore::MediaPlayerPrivate::platformLayer):
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:Got rid of no longer needed method
+ (WebCore::MediaPlayerPrivate::notifyAnimationStarted):
+ * platform/graphics/win/WKCACFLayer.cpp:Got rid of GraphicsLayer dependency. Made virtual.
+ (WebCore::displayCallback):
+ (WebCore::WKCACFLayer::create):
+ (WebCore::WKCACFLayer::WKCACFLayer):
+ (WebCore::WKCACFLayer::setNeedsCommit):
+ (WebCore::WKCACFLayer::setNeedsDisplay):
+ * platform/graphics/win/WKCACFLayer.h:
+ (WebCore::WKCACFLayer::setNeedsRender):
+ (WebCore::WKCACFLayer::drawInContext):
+ * platform/graphics/win/WKCACFLayerRenderer.cpp:Create WKCACFRootLayer which tells WKCACFLayerRenderer to render
+ (WebCore::WKCACFRootLayer::WKCACFRootLayer):
+ (WebCore::WKCACFRootLayer::create):
+ (WebCore::WKCACFRootLayer::setNeedsRender):
+ (WebCore::WKCACFRootLayer::setNeedsDisplay):
+ (WebCore::WKCACFLayerRenderer::rootLayer):
+ (WebCore::WKCACFLayerRenderer::setRootChildLayer):
+ (WebCore::WKCACFLayerRenderer::setNeedsDisplay):
+ (WebCore::WKCACFLayerRenderer::createRenderer):
+ * platform/graphics/win/WKCACFLayerRenderer.h:
+
+2010-03-05 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by David Levin.
+
+ [Chromium] Missing commas in WebCore.gypi file make building Geo unpossible.
+ https://bugs.webkit.org/show_bug.cgi?id=35797
+
+ No new tests, this is a latent compile break.
+
+ * WebCore.gypi:
+
+2010-03-04 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ <rdar://problem/7718442> Implement 'preload=none'
+ https://bugs.webkit.org/show_bug.cgi?id=35789
+
+ Don't load any media data when preload is 'none'.
+
+ Test: media/video-preload.html
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::loadResource): Don't call player's setPreload method
+ when autoplay is set.
+
+ * platform/graphics/MediaPlayer.cpp:
+ (WebCore::MediaPlayer::setPreload): Set m_preload so we have the correct value when
+ the media engine is created.
+
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_preload.
+ (WebCore::MediaPlayerPrivate::resumeLoad): New, kick off postponed a load.
+ (WebCore::MediaPlayerPrivate::load): Do nothing if preload is 'none'
+ (WebCore::MediaPlayerPrivate::loadInternal): New, complete loading.
+ (WebCore::MediaPlayerPrivate::prepareToPlay): New, resume a postponed load as someone
+ has called play().
+ (WebCore::MediaPlayerPrivate::setPreload): New, set m_preload.
+
+2010-03-04 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [V8] Give CodeGeneratorV8.pm a much-needed spring cleaning.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35697
+
+ * bindings/scripts/CodeGeneratorV8.pm: Remove unused code, fix style issues, make less hard-coded.
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::V8DOMWindow::addEventListenerCallback):
+ (WebCore::V8DOMWindow::removeEventListenerCallback):
+
+2010-03-05 Pavel Feldman <pfeldman@chromium.org>
+
+ Not reviewed. Roll back r55522 since it regreses performance
+ according to chromium's page cycler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35568
+
+2010-03-05 Dean Jackson <dino@apple.com>
+
+ Reviewed by Simon Fraser and Chris Marrin.
+
+ Bug 26869: Add fill modes for CSS Animations
+ https://bugs.webkit.org/show_bug.cgi?id=26869
+
+ Tests: animations/fill-mode-removed.html
+ animations/fill-mode-transform.html
+ animations/fill-mode.html
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ * css/CSSParser.cpp:
+ * css/CSSParser.h:
+ * css/CSSPropertyNames.in:
+ * css/CSSStyleSelector.cpp:
+ * css/CSSStyleSelector.h:
+ * css/CSSValueKeywords.in:
+ - parse, assign and retrieve the value of the new
+ -webkit-animation-fill-mode property
+ * page/animation/AnimationBase.cpp:
+ * page/animation/AnimationBase.h:
+ - new state in animation engine for a finished animation
+ that is "filling" forwards in time. This allows the
+ engine to keep the animation around and not revert to the
+ old style.
+ - update the timer code to indicate it doesn't need to
+ keep animating if it is filling
+ - now that animations can extend beyond their elapsed time,
+ make sure progress works correctly with iteration counts
+ * page/animation/KeyframeAnimation.cpp:
+ (WebCore::KeyframeAnimation::animate):
+ - ensure correct style value is returned at the right
+ time by checking for fill mode
+ (WebCore::KeyframeAnimation::onAnimationEnd):
+ - continue to send the end event, but only remove the
+ animation if it isn't filling forwards
+ * platform/animation/Animation.cpp:
+ * platform/animation/Animation.h:
+ - new fill mode member property
+ * platform/animation/AnimationList.cpp:
+ - ensure the fill mode is propagated to a list of style valus
+ * platform/graphics/mac/GraphicsLayerCA.mm:
+ - make hardware layers use Core Animation's fill mode
+
+2010-03-05 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Do not show link helper in popovers and/or for external resources.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35785
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype.canShowSourceLine):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._scriptOrResourceForURLAndLine):
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel.prototype.hide):
+ * inspector/front-end/inspector.js:
+ (WebInspector.documentMouseOver):
+ (WebInspector.documentClick.followLink):
+ (WebInspector.documentClick):
+ (WebInspector.addMainEventListeners):
+
+2010-03-05 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ WebSocket onmessageerror event handler
+ https://bugs.webkit.org/show_bug.cgi?id=35570
+
+ Test: websocket/tests/error-detect.html
+
+ * websockets/WebSocket.cpp:
+ (WebCore::WebSocketChannel::didConnect): assert scriptExecutionContext.
+ (WebCore::WebSocketChannel::didReceiveMessage): assert scriptExecutionContext.
+ (WebCore::WebSocket::didReceiveMessageError):
+ (WebCore::WebSocket::didClose): assert scriptExecutionContext.
+ * websockets/WebSocket.h:
+ * websockets/WebSocket.idl: Add onerror event listener
+ * websockets/WebSocketChannel.cpp:
+ (WebCore::WebSocketChannel::didReceiveData): call didReceiveMessageError if unknown frame tye is detected, or frame length overflowed.
+ * websockets/WebSocketChannelClient.h:
+ (WebCore::WebSocketChannelClient::didReceiveMessageError):
+
+2010-03-04 Garret Kelly <gdk@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Changing private members from PlatformTouchEvent and PlatformTouchPoint
+ to be protected, so that Chromium's PlatformTouchEventBuilder and
+ PlatformTouchPointBuilder can access them. Exercised by the
+ fast/events/touch tests.
+ https://bugs.webkit.org/show_bug.cgi?id=35760
+
+ * platform/PlatformTouchEvent.h:
+ (WebCore::PlatformTouchEvent::~PlatformTouchEvent):
+ * platform/PlatformTouchPoint.h:
+ (WebCore::PlatformTouchPoint::~PlatformTouchPoint):
+
+2010-03-04 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ WebSocket crash bug when reloading the page while the WebSocket is busy
+ https://bugs.webkit.org/show_bug.cgi?id=35732
+
+ * websockets/WebSocketChannel.cpp:
+ (WebCore::WebSocketChannel::disconnect): clear m_context from WebSocketChannel and WebSocketHandshake.
+ (WebCore::WebSocketChannel::didOpen): check m_context
+ (WebCore::WebSocketChannel::didClose): clear m_context
+ (WebCore::WebSocketChannel::didReceiveData): check m_context, and check m_client early before appending to buffer
+ * websockets/WebSocketHandshake.cpp:
+ (WebCore::WebSocketHandshake::clearScriptExecutionContext): Added.
+ * websockets/WebSocketHandshake.h:
+
+2010-03-04 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Refactoring: XMLHTTPRequest.open() should have all overloaded implementations
+ https://bugs.webkit.org/show_bug.cgi?id=35630
+
+ Test: http/tests/xmlhttprequest/open-async-overload.html
+
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ (WebCore::JSXMLHttpRequest::open):
+ * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
+ (WebCore::V8XMLHttpRequest::openCallback):
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::open):
+ * xml/XMLHttpRequest.h:
+
+2010-03-04 James Robinson <jamesr@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Styles do not have to be synchronously rematched after every event dispatch
+
+ https://bugs.webkit.org/show_bug.cgi?id=32580
+
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::handleEvent):
+ * bindings/v8/V8AbstractEventListener.cpp:
+ (WebCore::V8AbstractEventListener::handleEvent):
+
+2010-03-04 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ maemo spelled as mameo in WebCore.pro
+ https://bugs.webkit.org/show_bug.cgi?id=35765
+
+ Spelling corrected.
+
+ * WebCore.pro:
+
+2010-03-04 Tony Chang <tony@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=18819
+ Pressing option+page{down,up} should move the cursor and scroll in
+ content editable areas. On other platforms, pressing page{down,up}
+ should move the cursor and scroll in content editable areas.
+
+ Test: editing/input/option-page-up-down.html
+
+ * editing/EditorCommand.cpp:
+ (WebCore::verticalScrollDistance):
+
+2010-03-03 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Allow static property getters to interact with JSCs caching
+ https://bugs.webkit.org/show_bug.cgi?id=35716
+
+ Update the obviously safe getters to allow caching
+
+ Test: fast/js/pic/cached-named-property-getter.html
+
+ * bridge/runtime_array.cpp:
+ (JSC::RuntimeArray::getOwnPropertySlot):
+ * bridge/runtime_method.cpp:
+ (JSC::RuntimeMethod::getOwnPropertySlot):
+
+2010-03-04 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/7717249> DOMSVG.h includes a non-existent DOMSVGFEMorphologyElement.h
+
+ * WebCore.xcodeproj/project.pbxproj: Copy DOMSVGFEMorphologyElement.h and DOMSVGFEMorphologyElementInternal.h
+ in to the framework wrapper.
+
+2010-03-04 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Handles setting HTMLSelectElement.length with mutation handlers present
+ https://bugs.webkit.org/show_bug.cgi?id=33983
+
+ When setting an HTMLSelectElement's length attribute, option elements have to be added or removed to the select
+ as appropriate. This is a little tricky with mutation events since they might add, remove, or reorder elements
+ while option elements are being added or deleted.
+
+ Tests: fast/forms/select-set-length-optgroup.html
+ fast/forms/select-set-length-with-mutation-remove.html
+ fast/forms/select-set-length-with-mutation-reorder.html
+ fast/forms/select-set-length-with-mutation-reparent.html
+ fast/forms/select-set-length-with-mutation.html
+ fast/forms/select-set-length.html
+
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::setLength):
+
+2010-03-04 Csaba Osztrogonác <ossy@webkit.org>
+
+ [Qt] Unreviewed buildfix after r55542 on Windows.
+
+ * WebCore.pro:
+ - plugins/win/PluginDatabaseWin.cpp removed.
+ - platform/win/WebCoreInstanceHandle.cpp added.
+
+ * platform/win/WebCoreInstanceHandle.cpp: Remove explicit qualification in namespace declaration to make gcc happy.
+
+2010-03-04 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Fix the case where we do a same document navigation, scroll,
+ then repeat the same document navigation. Currently, the second
+ navigation does nothing.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35547
+
+ Test: fast/loader/repeat-same-document-navigation.html
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::loadInSameDocument): Call scrollToFragment() whether or not the hash changed.
+
+2010-03-04 Simon Fraser <simon.fraser@apple.com>
+
+ Build fix.
+
+ const long long cMaxDistance = numeric_limits<long long>::max() created global
+ initializers at the call sites, so replace with an inline function.
+
+ * page/FocusController.cpp:
+ (WebCore::updateFocusCandidateIfCloser):
+ * page/SpatialNavigation.cpp:
+ (WebCore::distanceInDirection):
+ * page/SpatialNavigation.h:
+ (WebCore::maxDistance):
+ (WebCore::FocusCandidate::FocusCandidate):
+
+2010-03-04 Antonio Gomes <tonikitoo@webkit.org>
+
+ Unreviewed attempt to fix Windows build.
+
+ * page/SpatialNavigation.cpp:
+ (WebCore::spatialDistance):
+
+2010-03-04 Simon Fraser <simon.fraser@apple.com>
+
+ Build fix.
+
+ Delcare updateFocusCandidateIfCloser static to avoid warning.
+
+ * page/FocusController.cpp:
+ (WebCore::updateFocusCandidateIfCloser):
+
+2010-03-04 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Dmitry Titov.
+
+ [chromium] make history.{push,replace}State enabled at runtime
+ https://bugs.webkit.org/show_bug.cgi?id=35753
+
+ * bindings/generic/RuntimeEnabledFeatures.cpp:
+ * bindings/generic/RuntimeEnabledFeatures.h:
+ (WebCore::RuntimeEnabledFeatures::setPushStateEnabled):
+ (WebCore::RuntimeEnabledFeatures::pushStateEnabled):
+ (WebCore::RuntimeEnabledFeatures::replaceStateEnabled):
+ * page/History.idl:
+
+2010-03-04 Antonio Gomes <tonikitoo@webkit.org>
+
+ Unreviewed attempt to (again) fix Mac build.
+
+ * page/SpatialNavigation.cpp:
+ (WebCore::spatialDistance):
+
+2010-03-04 Dan Bernstein <mitz@apple.com>
+
+ Based on a patch from Nick Jong.
+
+ Reviewed by Simon Fraser.
+
+ Improve selection in multi-column blocks when hitting points above or
+ below a column rect.
+
+ Test: fast/multicol/hit-test-above-or-below.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::adjustPointToColumnContents): If the point lies
+ within the horizontal range for a column, constrain it to the column (if
+ it is above) or the next column (if it is below).
+
+2010-03-04 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ Attempt to fix Mac build.
+
+ * page/SpatialNavigation.cpp:
+
+2010-03-04 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
+
+ Add SpatialNavigation header and cpp to Mac XCode project file.
+
+ Reviewed by Kenneth Christiansen.
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+2010-03-02 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Simon Fraser, Eric Seidel and Darin Adler.
+ Patch by Antonio Gomes <tonikitoo@webkit.org>
+ Based on the initial work of Marco Barisione <marco.barisione@collabora.co.uk>
+
+ Extend keyboard navigation to allow directional navigation
+ https://bugs.webkit.org/show_bug.cgi?id=18662
+
+ This patch implements the core logic of the 'Spatial Navigation' feature [1].
+ It improves the accessibility support of WebCore by extending the basic keyboard
+ navigation currently available (based on Tab forward and backward) with the
+ addition of a two-dimensional directional navigation by using Left, Right, Up and
+ Down arrow keys to move to the "nearest" element in the corresponding direction.
+
+ Highlights:
+ * Feature is turned off by default in Settings. Port specific APIs need to be added
+ for toggling it on/off.
+ * Only elements viewed in the current viewport can have focus move to it. If the
+ "nearest" is not in viewport dimensions, then a scroll-in-direction action is
+ performed.
+
+ Known issues (to be covered in follow-up bugs):
+ * Add port specific hooks to each DRT to enable/disable Spatial Navigation.
+ * Support for spatial navigation through form elements (<input>, <select>, etc)
+ is be added.
+ * Make navigation keys customizable. It currently works with arrows keys only
+ (up, down, right and left).
+ * Make it support modifiers (Alt, Ctrl and Shift).
+ * Improve support on scrollable content.
+
+ [1] http://en.wikipedia.org/wiki/Spatial_navigation
+
+ * Android.mk:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::defaultKeyboardEventHandler):
+ (WebCore::EventHandler::focusDirectionForKey):
+ (WebCore::EventHandler::defaultArrowEventHandler):
+ * page/EventHandler.h:
+ * page/FocusController.cpp:
+ (WebCore::FocusController::advanceFocus):
+ (WebCore::FocusController::advanceFocusInDocumentOrder):
+ (WebCore::FocusController::advanceFocusDirectionally):
+ (WebCore::updateFocusCandidateIfCloser):
+ (WebCore::FocusController::findFocusableNodeInDirection):
+ (WebCore::FocusController::deepFindFocusableNodeInDirection):
+ * page/FocusController.h:
+ * page/FocusDirection.h:
+ (WebCore::):
+ * page/Settings.cpp:
+ (WebCore::Settings::Settings):
+ (WebCore::Settings::setSpatialNavigationEnabled):
+ * page/Settings.h:
+ (WebCore::Settings::isSpatialNavigationEnabled):
+ * page/SpatialNavigation.cpp: Added.
+ (WebCore::distanceInDirection):
+ (WebCore::renderRectRelativeToRootDocument):
+ (WebCore::alignmentForRects):
+ (WebCore::isHorizontalMove):
+ (WebCore::areRectsFullyAligned):
+ (WebCore::areRectsPartiallyAligned):
+ (WebCore::spatialDistance):
+ (WebCore::isRectInDirection):
+ (WebCore::hasOffscreenRect):
+ (WebCore::scrollInDirection):
+ (WebCore::isInRootDocument):
+ (WebCore::deflateIfOverlapped):
+ * page/SpatialNavigation.h: Added.
+ (WebCore::):
+ (WebCore::FocusCandidate::FocusCandidate):
+
+2010-03-04 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ This fixes the layering violation I committed yesterday by moving
+ Page::instanceHandle into its own file just in the WebCore
+ namespace.
+
+ Added WebCoreInstanceHandle.h + .cpp and removed PageWin.cpp
+ * WebCore.vcproj/WebCore.vcproj:
+ * page/win/PageWin.cpp: Removed.
+
+ Remove all instance handle code from Page.
+ * page/Page.h:
+
+ New files.
+ * platform/win/WebCoreInstanceHandle.cpp: Added.
+ * platform/win/WebCoreInstanceHandle.h: Added.
+ (WebCore::setInstanceHandle):
+ (WebCore::instanceHandle):
+
+ Switch to WebCore::instanceHandle() instead of
+ Page::instanceHandle() and include the new header.
+ * platform/graphics/win/WKCACFLayerRenderer.cpp:
+ (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable):
+ * platform/win/PasteboardWin.cpp:
+ (WebCore::Pasteboard::Pasteboard):
+ * platform/win/PopupMenuWin.cpp:
+ (WebCore::PopupMenu::show):
+ (WebCore::PopupMenu::registerClass):
+ * platform/win/SharedTimerWin.cpp:
+ (WebCore::initializeOffScreenTimerWindow):
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::registerPluginView):
+ (WebCore::PluginView::platformStart):
+
+2010-03-04 Antonio Gomes <tonikitoo@webkit.org>
+
+ Unreviewed build fix.
+ Patch by Antonio Gomes <tonikitoo@webkit.org>
+
+ 'glib_file_name' renamed to 'gligFileName'.
+
+ * platform/graphics/gtk/ImageGtk.cpp:
+ (WebCore::Image::loadPlatformResource):
+
+2010-03-04 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Remove two last synchronous calls from front-end to InspectorBackend.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35720
+
+ * inspector/InspectorBackend.cpp:
+ (WebCore::InspectorBackend::enableSearchingForNode):
+ (WebCore::InspectorBackend::disableSearchingForNode):
+ (WebCore::InspectorBackend::setPauseOnExceptionsState):
+ * inspector/InspectorBackend.h:
+ * inspector/InspectorBackend.idl:
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::setWindowVisible):
+ (WebCore::InspectorContorller::setSearchingForNode):
+ (WebCore::InspectorController::populateScriptObjects):
+ * inspector/InspectorController.h:
+ * inspector/InspectorFrontend.cpp:
+ (WebCore::InspectorFrontend::searchingForNodeWasEnabled):
+ (WebCore::InspectorFrontend::searchingForNodeWasDisabled):
+ (WebCore::InspectorFrontend::updatePauseOnExceptionsState):
+ * inspector/InspectorFrontend.h:
+ * inspector/front-end/ElementsPanel.js:
+ (WebInspector.ElementsPanel):
+ (WebInspector.ElementsPanel.prototype.get statusBarItems):
+ (WebInspector.ElementsPanel.prototype.hide):
+ (WebInspector.ElementsPanel.prototype.reset):
+ (WebInspector.ElementsPanel.prototype.searchingForNodeWasEnabled):
+ (WebInspector.ElementsPanel.prototype.searchingForNodeWasDisabled):
+ (WebInspector.ElementsPanel.prototype._nodeSearchButtonClicked):
+ * inspector/front-end/InspectorBackendStub.js:
+ (.WebInspector.InspectorBackendStub.prototype.enableSearchingForNode):
+ (.WebInspector.InspectorBackendStub.prototype.disableSearchingForNode):
+ (.WebInspector.InspectorBackendStub.prototype.setPauseOnExceptionsState):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel):
+ (WebInspector.ScriptsPanel.prototype.get statusBarItems):
+ (WebInspector.ScriptsPanel.prototype.updatePauseOnExceptionsState):
+ (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
+ (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions):
+ * inspector/front-end/inspector.js:
+ (WebInspector.searchingForNodeWasEnabled):
+ (WebInspector.searchingForNodeWasDisabled):
+ (WebInspector.updatePauseOnExceptionsState):
+
+2010-03-03 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Clicking on an error should take me to the error
+
+ https://bugs.webkit.org/show_bug.cgi?id=34860
+
+ * inspector/front-end/ResourceView.js:
+ (WebInspector.ResourceView):
+ (WebInspector.ResourceView.prototype._selectTab):
+ (WebInspector.ResourceView.prototype.selectContentTab):
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype.showResource):
+
+2010-03-03 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Remove sync access to resourceTrackingEnabled.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35693
+
+ * inspector/InspectorBackend.cpp:
+ * inspector/InspectorBackend.h:
+ * inspector/InspectorBackend.idl:
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::populateScriptObjects):
+ * inspector/front-end/AuditsPanel.js:
+ (WebInspector.AuditsPanel.prototype._reloadResources):
+ (WebInspector.AuditsPanel.prototype.show):
+ * inspector/front-end/InspectorBackendStub.js:
+ (.WebInspector.InspectorBackendStub):
+ (.WebInspector.InspectorBackendStub.prototype.enableResourceTracking):
+ (.WebInspector.InspectorBackendStub.prototype.disableResourceTracking):
+ (.WebInspector.InspectorBackendStub.prototype.enableDebugger):
+ (.WebInspector.InspectorBackendStub.prototype.disableDebugger):
+ (.WebInspector.InspectorBackendStub.prototype.enableProfiler):
+ (.WebInspector.InspectorBackendStub.prototype.disableProfiler):
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel):
+ (WebInspector.ResourcesPanel.prototype.get resourceTrackingEnabled):
+ (WebInspector.ResourcesPanel.prototype.get visibleView):
+ (WebInspector.ResourcesPanel.prototype.resourceTrackingWasEnabled):
+ (WebInspector.ResourcesPanel.prototype.resourceTrackingWasDisabled):
+ (WebInspector.ResourcesPanel.prototype.reset):
+ (WebInspector.ResourcesPanel.prototype.showResource):
+ (WebInspector.ResourcesPanel.prototype._enableResourceTracking):
+ (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
+
+2010-03-04 Antoine Quint <ml@graougraou.com>
+
+ Reviewed by Darin Adler.
+
+ DOM insertion mutation events should dispatch after a node is attached to the render tree
+ https://bugs.webkit.org/show_bug.cgi?id=35590
+
+ Test: fast/events/domnodeinsertedintodocument-dispatched-post-rendering.html
+
+ Split off the internal-to-WebCore node insertion notification code from the DOM mutation
+ event dispatching, originally in dispatchChildInsertionEvents(), to a new static function
+ called notifyChildInserted(). This allows us to dispatch the mutation events at a later
+ time upon insertion of a child into to the tree, specifically _after_ attachment to the render
+ tree.
+
+ * dom/ContainerNode.cpp:
+ (WebCore::ContainerNode::insertBefore):
+ (WebCore::ContainerNode::replaceChild):
+ (WebCore::ContainerNode::appendChild):
+ (WebCore::notifyChildInserted):
+ (WebCore::dispatchChildInsertionEvents):
+
+2010-03-04 Fridrich Strba <fridrich.strba@bluewin.ch>
+
+ Reviewed by Holger Freyther.
+
+ Make paths relocatable on runtime on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=32711
+
+ * platform/graphics/gtk/ImageGtk.cpp:
+ (get_webkit_datadir):
+ (WebCore::Image::loadPlatformResource):
+
+2010-03-04 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Popup for Timeline panel will work in a tooltip mode
+
+ https://bugs.webkit.org/show_bug.cgi?id=35680
+
+ * inspector/front-end/Popover.js:
+ (WebInspector.Popover):
+ (WebInspector.Popover.prototype.show):
+ (WebInspector.Popover.prototype.hide):
+ (WebInspector.Popover.prototype._positionElement):
+ (WebInspector.PopoverHelper):
+ (WebInspector.PopoverHelper.prototype._mouseDown):
+ (WebInspector.PopoverHelper.prototype._mouseMove.doHide):
+ (WebInspector.PopoverHelper.prototype._mouseMove):
+ (WebInspector.PopoverHelper.prototype._resetHoverTimer):
+ (WebInspector.PopoverHelper.prototype.hidePopup):
+ (WebInspector.PopoverHelper.prototype._mouseHover):
+ (WebInspector.PopoverHelper.prototype._killHidePopupTimer):
+ * inspector/front-end/TimelineOverviewPane.js:
+ (WebInspector.TimelineOverviewPane.prototype.reset):
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel):
+ (WebInspector.TimelinePanel.prototype.get _recordStyles):
+ (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
+ (WebInspector.TimelinePanel.prototype._scheduleRefresh):
+ (WebInspector.TimelinePanel.prototype._refreshRecords):
+ (WebInspector.TimelinePanel.prototype._adjustScrollPosition):
+ (WebInspector.TimelinePanel.prototype._getPopoverAnchor):
+ (WebInspector.TimelinePanel.prototype._showPopover):
+ (WebInspector.TimelinePanel.prototype._closeRecordDetails):
+ (WebInspector.TimelineRecordListRow):
+ (WebInspector.TimelineRecordListRow.prototype.update):
+ (WebInspector.TimelineRecordGraphRow):
+ (WebInspector.TimelineRecordGraphRow.prototype._onClick):
+ (WebInspector.TimelinePanel.FormattedRecord):
+ (WebInspector.TimelinePanel.FormattedRecord.prototype._createCell):
+ (WebInspector.TimelinePanel.FormattedRecord.prototype._createRow):
+ (WebInspector.TimelinePanel.FormattedRecord.prototype._createLinkRow):
+ (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
+ (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
+ * inspector/front-end/inspector.css:
+
+2010-03-04 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Unreviewed build fix.
+
+ Build fix after r55464.
+
+ No new tests, no new functionality.
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::populateScriptObjects):
+
+2010-03-04 Leandro Pereira <leandro@profusion.mobi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add EFL port files to platform/graphics/efl.
+ http://webkit.org/b/35539
+
+ * platform/graphics/efl/FloatRectEfl.cpp: Added.
+ * platform/graphics/efl/FontEfl.cpp: Added.
+ * platform/graphics/efl/IconEfl.cpp: Added.
+ * platform/graphics/efl/ImageEfl.cpp: Added.
+ * platform/graphics/efl/IntPointEfl.cpp: Added.
+ * platform/graphics/efl/IntRectEfl.cpp: Added.
+
+2010-03-04 Leandro Pereira <leandro@profusion.mobi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add EFL port files to platform/text/efl.
+ http://webkit.org/b/35740
+
+ * platform/text/efl/TextBreakIteratorInternalICUEfl.cpp: Added.
+
+2010-03-04 Fridrich Strba <fridrich.strba@bluewin.ch>
+
+ Reviewed by Holger Freyther.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35726
+ Remove orphaned #ifdef WTF_USE_GLIB_ICU_UNICODE_HYBRID
+
+ Removing orphaned #if USE.
+
+ * platform/ThreadGlobalData.h:
+
+2010-03-03 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Throttle sync requests sent to the LocalStorage background thread
+ https://bugs.webkit.org/show_bug.cgi?id=34943
+
+ Currently, once a second LocalStorage takes all keys/values which have
+ been changed and sends them to a background thread to sync. The problem
+ is that this background thread can get overwhelmed and stop being
+ responsive. This means that if any other page tries to start using
+ LocalStorage (and thus initiates the initial import) that'll block on
+ all the previous syncs completing.
+
+ To mitigate this, I'm adding code so that we never schedule another
+ sync task when another is still running. In order to keep the sync
+ tasks from growing exponentially when they do take longer than the
+ storage sync interval, I've also added a basic rate limiter. No effort
+ is made to ensure fairness/ordering of what gets synced nor is there
+ any way for this rate to be changed because most normal uses of
+ LocalStorage really shouldn't be hitting these types of limits anyway.
+
+ The only behavioral change that's observible in JavaScript is time based
+ and thus it's not practical to make new tests that aren't racy. The
+ existing layout tests cover LocalStorage pretty well, though.
+
+ * storage/StorageAreaSync.cpp:
+ (WebCore::StorageAreaSync::StorageAreaSync):
+ (WebCore::StorageAreaSync::scheduleFinalSync):
+ (WebCore::StorageAreaSync::syncTimerFired):
+ (WebCore::StorageAreaSync::performSync):
+ * storage/StorageAreaSync.h:
+
+2010-03-04 Andrey Kosyakov <caseq@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Added support for worker instrumentation in inspector
+ (display list of active workers, allow debugging of workers
+ by injecting fake JS implementation)
+
+ https://bugs.webkit.org/show_bug.cgi?id=35568
+
+ * English.lproj/localizedStrings.js:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * bindings/js/JSInjectedScriptHostCustom.cpp:
+ (WebCore::InjectedScriptHost::createInjectedScript):
+ (WebCore::InjectedScriptHost::injectedScriptFor):
+ * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
+ (WebCore::InjectedScriptHost::createInjectedScript):
+ (WebCore::InjectedScriptHost::injectedScriptFor):
+ * dom/Document.cpp:
+ (WebCore::Document::inspectorController):
+ * dom/Document.h:
+ * dom/ScriptExecutionContext.h:
+ (WebCore::ScriptExecutionContext::inspectorController):
+ * inspector/InjectedScriptHost.cpp:
+ (WebCore::InjectedScriptHost::InjectedScriptHost):
+ (WebCore::InjectedScriptHost::injectScript):
+ (WebCore::InjectedScriptHost::nextWorkerId):
+ (WebCore::InjectedScriptHost::didCreateWorker):
+ (WebCore::InjectedScriptHost::willDestroyWorker):
+ * inspector/InjectedScriptHost.h:
+ * inspector/InjectedScriptHost.idl:
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::populateScriptObjects):
+ (WebCore::InspectorController::resetScriptObjects):
+ (WebCore::InspectorController::didCommitLoad):
+ (WebCore::InspectorController::didCreateWorker):
+ (WebCore::InspectorController::willDestroyWorker):
+ * inspector/InspectorController.h:
+ * inspector/InspectorFrontend.cpp:
+ (WebCore::InspectorFrontend::didCreateWorker):
+ (WebCore::InspectorFrontend::willDestroyWorker):
+ * inspector/InspectorFrontend.h:
+ * inspector/InspectorWorkerResource.h: Added.
+ (WebCore::InspectorWorkerResource::create):
+ (WebCore::InspectorWorkerResource::id):
+ (WebCore::InspectorWorkerResource::url):
+ (WebCore::InspectorWorkerResource::isSharedWorker):
+ (WebCore::InspectorWorkerResource::InspectorWorkerResource):
+ * inspector/front-end/Checkbox.js: Added.
+ (WebInspector.Checkbox.callbackWrapper):
+ (WebInspector.Checkbox):
+ (WebInspector.Checkbox.prototype.checked):
+ * inspector/front-end/InjectedFakeWorker.js:
+ (InjectedFakeWorker.FakeWorker):
+ (InjectedFakeWorker.FakeWorker.prototype.terminate):
+ (InjectedFakeWorker.FakeWorker.prototype._handleException):
+ (InjectedFakeWorker.FakeWorker.prototype._importScripts):
+ (InjectedFakeWorker.FakeWorker.prototype._loadScript):
+ (InjectedFakeWorker.FakeWorker.prototype._expandURLAndCheckOrigin):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel):
+ (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled):
+ (WebInspector.ScriptsPanel.prototype.debuggerWasDisabled):
+ (WebInspector.ScriptsPanel.prototype.reset):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/WorkersSidebarPane.js: Added.
+ (WebInspector.WorkersSidebarPane):
+ (WebInspector.WorkersSidebarPane.prototype.addWorker):
+ (WebInspector.WorkersSidebarPane.prototype.removeWorker):
+ (WebInspector.WorkersSidebarPane.prototype.setInstrumentation):
+ (WebInspector.WorkersSidebarPane.prototype.reset):
+ (WebInspector.WorkersSidebarPane.prototype._onTriggerInstrument):
+ (WebInspector.Worker):
+ (WebInspector.didCreateWorker):
+ (WebInspector.willDestroyWorker):
+ * inspector/front-end/inspector.css:
+ * inspector/front-end/inspector.html:
+ * workers/AbstractWorker.cpp:
+ (WebCore::AbstractWorker::AbstractWorker):
+ (WebCore::AbstractWorker::~AbstractWorker):
+ (WebCore::AbstractWorker::onDestroyWorker):
+ (WebCore::AbstractWorker::contextDestroyed):
+ * workers/AbstractWorker.h:
+ (WebCore::AbstractWorker::id):
+ * workers/SharedWorker.cpp:
+ (WebCore::SharedWorker::SharedWorker):
+ * workers/Worker.cpp:
+ (WebCore::Worker::Worker):
+
+2010-03-04 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Make the OUTPUT_DIR variable in qmake projects independent of build-webkit's logic.
+
+ This also allows shadow builds relying only on qmake to work properly.
+
+ * WebCore.pro:
+
+2010-03-02 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Avoid calling QFont::detach too often from FontQt
+ https://bugs.webkit.org/show_bug.cgi?id=35569
+
+ The letter- and wordspacing is inside the WebCore::Font class,
+ our QFont is located in the WebCore::FontPlatformData. Everytime
+ we need to use a QFont inside WebCore::Font we are calling the
+ font method which gets the QFont from the WebCore::FontPlatformData
+ and is applying the letter- and wordspacing. Internally this
+ will attempt to detach the QFont...
+
+ Avoid calling setLetterSpacing and setWordSpacing on QFont if
+ the WebCore::Font has the default applied.
+
+ * platform/graphics/qt/FontQt.cpp:
+ (WebCore::Font::font):
+
+2010-03-04 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Nothing happens on navigation to resource via a link if resource tracking is disabled
+ https://bugs.webkit.org/show_bug.cgi?id=35574
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype.canShowSourceLine):
+ (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
+ * inspector/front-end/inspector.js:
+ (WebInspector.documentMouseOver):
+ (WebInspector.documentMouseOut):
+ (WebInspector.hideBadLinkPopupIfNecessary):
+ (WebInspector.documentClick.followLink):
+ (WebInspector.documentClick):
+ (WebInspector.showBadLinkPopup.popupOverOut):
+ (WebInspector.showBadLinkPopup):
+ (WebInspector.addMainEventListeners):
+
+2010-03-04 Vangelis Kokkevis <vangelis@chromium.org>
+
+ Reviewed by Oliver Hunt.
+
+ getUniformLocation() now returns null if uniform requested
+ is not found.
+ https://bugs.webkit.org/show_bug.cgi?id=34669
+
+ Test:LayoutTests/fast/canvas/webgl/uniform-location.html
+ (added missing test)
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore::WebGLRenderingContext::getUniformLocation):
+
+2010-03-04 John Abd-El-Malek <jam@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Fix incorrect setup of DateExtension.
+ https://bugs.webkit.org/show_bug.cgi?id=35710
+
+ * bindings/v8/DateExtension.cpp:
+ (WebCore::DateExtension::setAllowSleep):
+
+2010-03-04 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35603
+ SVG incorrectly allows nested <use> elements in a <use> shadow tree
+
+ Simplify the handling of invalid or missing use-targets by cloning them
+ to empty <g> elements rather than just allowing the <use> element to
+ be copied into the shadow tree, as this violates a number of assumptions
+ in the shadow tree handling code.
+
+ Tests: svg/custom/use-nested-disallowed-target.svg
+ svg/custom/use-nested-missing-target-added.svg
+ svg/custom/use-nested-missing-target-removed.svg
+ svg/custom/use-nested-missing-target.svg
+ svg/custom/use-nested-notarget.svg
+
+ * svg/SVGUseElement.cpp:
+ (WebCore::SVGUseElement::buildPendingResource):
+ (WebCore::SVGUseElement::buildShadowAndInstanceTree):
+ (WebCore::SVGUseElement::expandUseElementsInShadowTree):
+
+2010-03-04 Leandro Pereira <leandro@profusion.mobi>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ Move Cairo-related font code from platform/graphics/gtk to
+ platform/graphics/cairo, so other ports may use them.
+ http://webkit.org/b/35539
+
+ * GNUmakefile.am:
+ * platform/graphics/cairo/FontCacheCairo.cpp: Copied from WebCore/platform/graphics/gtk/FontCacheGtk.cpp.
+ * platform/graphics/cairo/FontCustomPlatformData.cpp: Copied from WebCore/platform/graphics/gtk/FontCustomPlatformData.cpp.
+ * platform/graphics/cairo/FontCustomPlatformData.h: Copied from WebCore/platform/graphics/gtk/FontCustomPlatformData.h.
+ * platform/graphics/cairo/FontPlatformData.h: Copied from WebCore/platform/graphics/gtk/FontPlatformData.h.
+ * platform/graphics/cairo/FontPlatformDataCairo.cpp: Copied from WebCore/platform/graphics/gtk/FontPlatformDataGtk.cpp.
+ * platform/graphics/cairo/GlyphPageTreeNodeCairo.cpp: Copied from WebCore/platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp.
+ * platform/graphics/cairo/SimpleFontDataCairo.cpp: Copied from WebCore/platform/graphics/gtk/SimpleFontDataGtk.cpp.
+ * platform/graphics/gtk/FontCacheGtk.cpp: Removed.
+ * platform/graphics/gtk/FontCustomPlatformData.cpp: Removed.
+ * platform/graphics/gtk/FontCustomPlatformData.h: Removed.
+ * platform/graphics/gtk/FontPlatformData.h: Removed.
+ * platform/graphics/gtk/FontPlatformDataGtk.cpp: Removed.
+ * platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp: Removed.
+ * platform/graphics/gtk/SimpleFontDataGtk.cpp: Removed.
+
+2010-03-04 Evan Stade <estade@chromium.org>
+
+ Reviewed by David Levin.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35261
+ [skia] crash when attempting to render certain SVGs
+
+ This fixes the crash, but the SVG still doesn't render properly.
+
+ Test: svg/custom/tiling-regular-hexagonal-crash.svg
+
+ * platform/graphics/skia/ImageSkia.cpp:
+ (WebCore::BitmapImageSingleFrameSkia::create): don't return 0 when
+ the copy fails; instead return a blank bitmap. The caller doesn't
+ check for 0 before dereferencing.
+
+2010-03-04 Tony Chang <tony@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Initialize m_isMultipartPayload in other ResourceResponse ctor.
+ In r55451 (bug 35628) I added an extra bool, but only initialized
+ it in one constructor.
+ https://bugs.webkit.org/show_bug.cgi?id=35719
+
+ * platform/network/chromium/ResourceResponse.h:
+ (WebCore::ResourceResponse::ResourceResponse):
+
+2010-03-03 Yuta Kitamura <yutak@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Add a new class that stores information about Web Socket handshake request.
+
+ Instances of this class contain the necessary information to send a Web Socket
+ handshake request. In the future, this class will provide request information
+ to the Web Inspector.
+
+ WebSocketHandshake needs to provide request information
+ https://bugs.webkit.org/show_bug.cgi?id=34784
+
+ No new tests, since the current tests will suffice (LayoutTests/websocket/*).
+
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * websockets/WebSocketChannel.cpp:
+ * websockets/WebSocketHandshake.cpp:
+ (WebCore::WebSocketHandshake::clientHandshakeMessage):
+ (WebCore::WebSocketHandshake::clientHandshakeRequest):
+ * websockets/WebSocketHandshake.h:
+ * websockets/WebSocketHandshakeRequest.cpp: Added.
+ (WebCore::WebSocketHandshakeRequest::WebSocketHandshakeRequest):
+ (WebCore::WebSocketHandshakeRequest::~WebSocketHandshakeRequest):
+ (WebCore::WebSocketHandshakeRequest::addExtraHeaderField):
+ (WebCore::WebSocketHandshakeRequest::headerFields):
+ (WebCore::WebSocketHandshakeRequest::host):
+ * websockets/WebSocketHandshakeRequest.h: Added.
+
+2010-03-03 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Build fix after r55452.
+
+ No new tests, this is a build fix.
+
+ * page/Settings.cpp:
+ (WebCore::Settings::setDatabasesEnabled):
+
+2010-03-03 Diego Gonzalez <diego.gonzalez@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Make keyIdentifierForQtKeyCode return the unicode backspace value on Qt PlatformKeyboardEvent
+
+ LayoutTests:
+ fast/events/key-events-in-input-text.html
+ fast/events/special-key-events-in-input-text.html
+
+ [Qt] Return the unicode backspace value in keyIdentifierForQtKeyCode on Qt PlatformKeyboardEvent
+ https://bugs.webkit.org/show_bug.cgi?id=35694
+
+ * platform/qt/PlatformKeyboardEventQt.cpp:
+ (WebCore::keyIdentifierForQtKeyCode):
+
+2010-03-03 Chad Faragher <wyck@chromium.org>
+
+ Reviewed by Darin Adler.
+ Changed the double-click framework code to pass adjusted page
+ coordinates for zoomed pages. Added a new test to expose
+ mistreatment of mouse click coordinates during a double-click.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35690
+
+ Test: fast/events/zoom-dblclick.html
+
+ * dom/Node.cpp:
+ (WebCore::Node::dispatchMouseEvent):
+
+2010-03-03 David Levin <levin@chromium.org>
+
+ No review, rolling out r55474.
+
+ The patch broke fast/frames/sandboxed-iframe-storage.html
+
+ Last one (I hope).
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+2010-03-03 David Levin <levin@chromium.org>
+
+ No review, rolling out r55474.
+
+ The patch broke fast/frames/sandboxed-iframe-storage.html
+
+ Unfortunately, (the webkit-patch rollout and) I missed these in r55485.
+
+ * bindings/js/JSDatabaseCallback.cpp: Removed.
+ * bindings/js/JSDatabaseCallback.h: Removed.
+ * bindings/v8/custom/V8DatabaseCallback.cpp: Removed.
+ * bindings/v8/custom/V8DatabaseCallback.h: Removed.
+ * storage/DatabaseCallback.h: Removed.
+
+2010-03-02 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Fix a bug that could lead to a crash. Some parts of
+ SQLTransaction::checkAndHandleClosedDatabase() should only be run
+ when that method is invoked on the DB thread.
+
+ We cannot test this fix with a test, because the crash happens
+ only when all of the following conditions are met:
+ 1. A database is closing.
+ 2. A transaction on that database is in progress.
+ 3. The transaction is in a state where a statement/transaction
+ success/error callback needs to be invoked (so there's a task for
+ this transaction pending on the main thread).
+ 4. The DB thread finished processing all its tasks and called
+ SQLTransactionCoordinator::shutdown() before the main thread go to
+ that task.
+
+ The closest thing we have to a test is running
+ LayoutTests/storage/database-lock-after-reload.html 1000 times in
+ a row. Without the patch, the probability of a crash happening in
+ one of the runs is very high. With the patch, the test should
+ reliably run 1000 times in a row without a single crash.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35624
+
+ * storage/SQLTransaction.cpp:
+ (WebCore::SQLTransaction::checkAndHandleClosedDatabase):
+
+2010-03-03 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Mark Rowe.
+
+ Page should not care about Chromium plug-in implementation details
+ https://bugs.webkit.org/show_bug.cgi?id=35623
+
+ * WebCore.gypi: Compile PluginViewNone.cpp
+ * page/Page.cpp:
+ (WebCore::Page::privateBrowsingStateChanged): Remove conditional
+ compilation for PLATFORM(CHROMIUM).
+
+2010-03-03 David Levin <levin@chromium.org>
+
+ No review, rolling out r55474.
+ http://trac.webkit.org/changeset/55480
+
+ The patch broke fast/frames/sandboxed-iframe-storage.html
+
+ * Android.jscbindings.mk:
+ * Android.v8bindings.mk:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * bindings/js/JSDOMWindowCustom.cpp:
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ * dom/Document.cpp:
+ (WebCore::Document::postTask):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::openDatabase):
+ * page/DOMWindow.h:
+ * page/DOMWindow.idl:
+ * storage/Database.cpp:
+ (WebCore::Database::openDatabase):
+ (WebCore::Database::Database):
+ (WebCore::Database::performOpenAndVerify):
+ * storage/Database.h:
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::openDatabase):
+ * workers/WorkerContext.h:
+
+2010-03-03 David Levin <levin@chromium.org>
+
+ No review, rolling out r55480.
+ http://trac.webkit.org/changeset/55480
+
+ The patch broke fast/frames/sandboxed-iframe-storage.html
+
+ * storage/Database.cpp:
+ * storage/Database.h:
+
+2010-03-03 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Add virtual memory tags for TCMalloc and WebCore's purgeable buffers.
+
+ * platform/mac/PurgeableBufferMac.cpp:
+ (WebCore::PurgeableBuffer::create): Use the VM tag.
+
+2010-03-03 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by nobody, build fix.
+
+ Move #include "DatabaseCallback.h" from Database.h to
+ Database.cpp.
+
+ * storage/Database.cpp:
+ * storage/Database.h:
+
+2010-03-03 Darin Adler <darin@apple.com>
+
+ Fixed Mac build.
+
+ * WebCore.xcodeproj/project.pbxproj: Marked a couple of headers "private" so they can
+ be used in the WebKit project.
+
+2010-03-03 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35044
+ Crash in XML tokenizer reloading zoom-coords-viewattr-01-b.svg
+
+ I'm often getting a crash even when opening the test for the first time in Safari, but it
+ doesn't seem to crash in DumpRenderTree. Still, I can't think of a stronger way to test for
+ this condition, so no new regression test.
+
+ * dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::end): Be prepared that parsing remaining
+ input will pause parsing.
+
+2010-03-03 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Adding support for the optional creation callback that could be
+ passed to openDatabase().
+
+ Test: storage/open-database-creation-callback.html
+
+ https://bugs.webkit.org/show_bug.cgi?id=34726
+
+ * Android.jscbindings.mk
+ * Android.v8bindings.mk
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::openDatabase):
+ * bindings/js/JSDatabaseCallback.cpp: Added.
+ (WebCore::JSDatabaseCallback::JSDatabaseCallback):
+ (WebCore::JSDatabaseCallback::~JSDatabaseCallback):
+ (WebCore::JSDatabaseCallback::handleEvent):
+ * bindings/js/JSDatabaseCallback.h: Added.
+ (WebCore::JSDatabaseCallback::create):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::V8DOMWindow::openDatabaseCallback):
+ * bindings/v8/custom/V8DatabaseCallback.cpp: Added.
+ (WebCore::V8DatabaseCallback::V8DatabaseCallback):
+ (WebCore::V8DatabaseCallback::~V8DatabaseCallback):
+ (WebCore::V8DatabaseCallback::handleEvent):
+ * bindings/v8/custom/V8DatabaseCallback.h: Added.
+ (WebCore::V8DatabaseCallback::create):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::openDatabase):
+ * page/DOMWindow.h:
+ * page/DOMWindow.idl:
+ * storage/Database.cpp:
+ (WebCore::DatabaseCreationCallbackTask::create):
+ (WebCore::DatabaseCreationCallbackTask::performTask):
+ (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
+ (WebCore::Database::openDatabase):
+ (WebCore::Database::Database):
+ (WebCore::Database::performOpenAndVerify):
+ (WebCore::Database::performCreationCallback):
+ * storage/Database.h:
+ (WebCore::Database::isNew):
+ * storage/DatabaseCallback.h: Added.
+ (WebCore::DatabaseCallback::~DatabaseCallback):
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::openDatabase):
+ * workers/WorkerContext.h:
+
+2010-03-03 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: resources panel only shows uncompressed resource size.
+ https://bugs.webkit.org/show_bug.cgi?id=35403
+
+ * English.lproj/localizedStrings.js:
+ * inspector/InspectorResource.cpp:
+ (WebCore::InspectorResource::updateScriptObject):
+ * inspector/front-end/AbstractTimelinePanel.js:
+ (WebInspector.AbstractTimelinePanel.prototype.refresh):
+ * inspector/front-end/AuditRules.js:
+ (WebInspector.AuditRules.GzipRule.prototype.doRun):
+ (WebInspector.AuditRules.GzipRule.prototype._shouldCompress):
+ * inspector/front-end/ImageView.js:
+ (WebInspector.ImageView):
+ * inspector/front-end/Resource.js:
+ (WebInspector.Resource.prototype.get resourceSize):
+ (WebInspector.Resource.prototype.set resourceSize):
+ (WebInspector.Resource.prototype.get transferSize):
+ (WebInspector.Resource.CompareBySize):
+ (WebInspector.Resource.CompareByTransferSize):
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype.populateSidebar):
+ (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels):
+ (WebInspector.ResourceTransferSizeCalculator.prototype.computeBarGraphLabels):
+ (WebInspector.ResourceTransferSizeCalculator.prototype.computeBarGraphPercentages):
+ (WebInspector.ResourceTransferSizeCalculator.prototype._value):
+ (WebInspector.ResourceTransferSizeCalculator.prototype._networkBytes):
+ (WebInspector.ResourceSidebarTreeElement.CompareByDescendingTransferSize):
+ (WebInspector.ResourceGraph.prototype.refreshLabelPositions):
+ (WebInspector.ResourceGraph.prototype.refresh):
+ * inspector/front-end/inspector.css:
+ * inspector/front-end/inspector.js:
+ (WebInspector.updateResource):
+
+2010-03-03 Dan Bernstein <mitz@apple.com>
+
+ Build fix.
+
+ * dom/ContainerNode.cpp:
+ (WebCore::ContainerNode::removeChildren):
+
+2010-03-03 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Get rid of synchronous debuggerEnabled, profilerEnabled calls.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32331
+
+ * inspector/InspectorBackend.cpp:
+ * inspector/InspectorBackend.h:
+ * inspector/InspectorBackend.idl:
+ * inspector/front-end/BreakpointsSidebarPane.js:
+ (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
+ (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
+ (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
+ * inspector/front-end/ProfilesPanel.js:
+ (WebInspector.ProfilesPanel):
+ (WebInspector.ProfilesPanel.prototype.profilerWasEnabled):
+ (WebInspector.ProfilesPanel.prototype.profilerWasDisabled):
+ (WebInspector.ProfilesPanel.prototype._updateInterface):
+ (WebInspector.ProfilesPanel.prototype._enableProfiling):
+ (WebInspector.ProfilesPanel.prototype._toggleProfiling):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel):
+ (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled):
+ (WebInspector.ScriptsPanel.prototype.debuggerWasDisabled):
+ (WebInspector.ScriptsPanel.prototype.reset):
+ (WebInspector.ScriptsPanel.prototype.canShowSourceLine):
+ (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
+ (WebInspector.ScriptsPanel.prototype._enableDebugging):
+ (WebInspector.ScriptsPanel.prototype._toggleDebugging):
+
+2010-03-03 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ Replace 'autobuffer' attribute with 'preload' to align with spec revision 4811.
+ https://bugs.webkit.org/show_bug.cgi?id=35385
+ rdar://problem/7689602
+
+ Tests: media/audio-constructor-preload.html
+ media/video-dom-preload.html
+
+ * html/HTMLAttributeNames.in: Remove autobuffer, add preload
+
+ * html/HTMLAudioElement.cpp:
+ (WebCore::HTMLAudioElement::createForJSConstructor): set preload to 'auto' instead of
+ autobuffer to true.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_preload.
+ (WebCore::HTMLMediaElement::parseMappedAttribute): Deal with 'preload' attribute.
+ (WebCore::HTMLMediaElement::loadResource): Call setPreload() on the newly created MediaPlayer,
+ before calling load() so it can pass the setting through to the media engine.
+ (WebCore::HTMLMediaElement::preload): New.
+ (WebCore::HTMLMediaElement::setPreload): Ditto
+ * html/HTMLMediaElement.h:
+ * html/HTMLMediaElement.idl:
+
+ * platform/graphics/MediaPlayer.cpp:
+ (WebCore::MediaPlayer::MediaPlayer): Initialize m_preload.
+ (WebCore::MediaPlayer::load): Pass m_preload to newly created media engine.
+ (WebCore::MediaPlayer::preload): New, return m_preload.
+ (WebCore::MediaPlayer::setPreload): New, set m_preload.
+ * platform/graphics/MediaPlayer.h:
+ (WebCore::MediaPlayer::):
+ * platform/graphics/MediaPlayerPrivate.h:
+ (WebCore::MediaPlayerPrivateInterface::setPreload):
+
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::MediaPlayerPrivate::setPreload): Renamed from setAutoplay, fix logic for preload.
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
+
+2010-03-03 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/7682756> Assertion failure when replacing the contents of a <select>
+
+ Test: fast/dom/remove-children-notification-order.html
+
+ * dom/ContainerNode.cpp:
+ (WebCore::ContainerNode::removeChildren): Changed to call childrenChanged()
+ before calling removedFromDocument() on each removed child, which matches
+ the order removeChild() does things, and avoids the assertion. This required
+ temporarily storing the removed children in a vector.
+ Also added comments about other discrepancies between this function and
+ removeChild().
+
+2010-03-03 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Document cookieURL and firstPartyForCookies
+ https://bugs.webkit.org/show_bug.cgi?id=35613
+
+ Some folks asked what the cookieURL and the firstPartyForCookies were
+ on IRC. This patch documents these properties in the code so folks
+ don't have to ask on IRC anymore.
+
+ * dom/Document.h:
+
+2010-03-03 Arno Renevier <arno@renevier.net>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ [Gtk]: assertion triggered when geolocation getCurrentPosition without an option argument.
+ https://bugs.webkit.org/show_bug.cgi?id=35666
+
+ * platform/gtk/GeolocationServiceGtk.cpp:
+ (WebCore::GeolocationServiceGtk::startUpdating):
+
+2010-03-03 Fridrich Strba <fridrich.strba@bluewin.ch>
+
+ Reviewed by Xan Lopez.
+
+ Miscellaneous little fixes for the windows build of webkit-gtk
+ https://bugs.webkit.org/show_bug.cgi?id=35640
+
+ * GNUmakefile.am: dist two new files concerning mathml support.
+
+2010-03-03 Xan Lopez <xlopez@igalia.com>
+
+ Unreviewed distcheck fix.
+
+ Add new file to the build.
+
+ * GNUmakefile.am:
+
+2010-03-03 Antti Koivisto <koivisto@iki.fi>
+
+ Reviewed by Oliver Hunt.
+
+ Make IntPoint usable as a hash key
+
+ https://bugs.webkit.org/show_bug.cgi?id=35586
+
+ * WebCore.pro:
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/graphics/IntPointHash.h: Added.
+ (WTF::IntPointHash::hash):
+ (WTF::IntPointHash::equal):
+ (WTF::):
+
+2010-03-02 Eric Uhrhane <ericu@chromium.org>
+
+ Reviewed by David Levin.
+
+ Move database enable bit fully out of settings
+ This is stage one of a three-stage commit [webkit, then chromium, then
+ webkit again]. In this change I'm adding calls to
+ Database::setIsAvailable inside Settings::setDatabaseEnabled and
+ anywhere else that called it, and switching webkit fully over to using
+ that flag [added in a previous checkin]. Phase two will remove
+ Chromium's use of Settings for the Database, and phase three will remove
+ the Setting for the Database enable entirely, leaving only
+ Database::isAvailable/setIsAvailable.
+
+ No new tests; tested by existing storage tests.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35310
+
+ * WebCore.base.exp: Export Database::setIsAvailable
+ * WebCore.xcodeproj/project.pbxproj: Export needed headers as Private
+ * page/DOMWindow.cpp: Read isAvailable, not Settings::isDatabaseEnabled
+ (WebCore::DOMWindow::openDatabase):
+ * page/Settings.cpp: Add a call to Database::setIsAvailable.
+ (WebCore::Settings::setDatabasesEnabled):
+
+2010-03-02 Tony Chang <tony@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ add a flag to WebURLResponse so we can identify multipart content
+ https://bugs.webkit.org/show_bug.cgi?id=35628
+
+ * platform/network/chromium/ResourceResponse.h:
+ (WebCore::ResourceResponse::ResourceResponse):
+ (WebCore::ResourceResponse::isMultipartPayload):
+ (WebCore::ResourceResponse::setIsMultipartPayload):
+
+2010-03-02 Tony Chang <tony@chromium.org>
+
+ Not reviewed, test fix.
+
+ Revert r55447 because the new layout test is crashing consistently
+ on Leopard Intel Debug (tests).
+ https://bugs.webkit.org/show_bug.cgi?id=35261
+
+ * platform/graphics/skia/ImageSkia.cpp:
+ (WebCore::BitmapImageSingleFrameSkia::create):
+
+2010-03-02 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Fisher.
+
+ Google Analytics triggers "blocked plugin" UI
+ https://bugs.webkit.org/show_bug.cgi?id=35565
+
+ Just like for running script, we need to distinguish between querying
+ whether plug-ins are enabled and actually blocking a page from
+ instantiating a plugin. We need to issue different callbacks to the
+ FrameLoaderClient so that the client can inform us that plug-ins are
+ disabled in some cases without showing the "plug-in blocked" UI.
+
+ * dom/DOMImplementation.cpp:
+ (WebCore::DOMImplementation::createDocument):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::requestObject):
+ (WebCore::FrameLoader::allowPlugins):
+ * loader/FrameLoader.h:
+ (WebCore::):
+ * loader/FrameLoaderClient.h:
+ (WebCore::FrameLoaderClient::didNotAllowPlugins):
+ * loader/MainResourceLoader.cpp:
+ (WebCore::MainResourceLoader::substituteMIMETypeFromPluginDatabase):
+ * loader/PluginDocument.cpp:
+ (WebCore::PluginTokenizer::writeRawData):
+ * page/Page.cpp:
+ (WebCore::Page::pluginData):
+ * plugins/MimeType.cpp:
+ (WebCore::MimeType::enabledPlugin):
+
+2010-03-02 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Support the HTTP OPTIONS verb (needed for preflight requests)
+
+ https://bugs.webkit.org/show_bug.cgi?id=34647
+
+ * platform/network/qt/QNetworkReplyHandler.cpp:
+ (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
+ (WebCore::QNetworkReplyHandler::start):
+
+2010-03-02 Evan Stade <estade@chromium.org>
+
+ Reviewed by David Levin.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35261
+ [skia] crash when attempting to render certain SVGs
+
+ This fixes the crash, but the SVG still doesn't render properly.
+
+ Test: svg/custom/tiling-regular-hexagonal-crash.svg
+
+ * platform/graphics/skia/ImageSkia.cpp:
+ (WebCore::BitmapImageSingleFrameSkia::create): don't return 0 when
+ the copy fails; instead return a blank bitmap. The caller doesn't
+ check for 0 before dereferencing.
+
+2010-03-02 Arno Renevier <arno@renevier.net>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ [Gtk] use geoclue providers with don't provide update
+ https://bugs.webkit.org/show_bug.cgi?id=35191
+
+ No new tests, behaviour depends on system.
+
+ * platform/gtk/GeolocationServiceGtk.cpp:
+ (WebCore::GeolocationServiceGtk::startUpdating):
+
+2010-03-02 John Abd-El-Malek <jam@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Remove unnecessary check.
+ https://bugs.webkit.org/show_bug.cgi?id=35513
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::updateScrollbars):
+
+2010-03-02 Darin Fisher <darin@chromium.org>
+
+ Fix chromium build bustage.
+
+ * page/Page.cpp:
+ (WebCore::Page::privateBrowsingStateChanged): PluginView methods may
+ not be called in the Chromium port.
+
+2010-03-02 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Darin Adler and Adam Roben.
+
+ Fix for <rdar://problem/7485289> WebKit crashes on systems that
+ don't support CoreAnimation
+
+ WKCACFLayerRenderer::acceleratedCompositingAvailable() now creates
+ a dummy HWND so that it can step through the whole setHostWindow()
+ and createRenderer() process. createRenderer() also calls a new
+ function, hardwareCapabilitiesIndicateCoreAnimationSupport() which
+ can only be called once we have a d3dDevice.
+
+ setHostWindow() and createRenderer() now both return bools that
+ indicate whether or not they have succeeded.
+
+ * platform/graphics/win/WKCACFLayerRenderer.cpp:
+ (WebCore::hardwareCapabilitiesIndicateCoreAnimationSupport):
+ (WebCore::CoreAnimationTesterWindowWndProc):
+ (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable):
+ (WebCore::WKCACFLayerRenderer::shared):
+ (WebCore::WKCACFLayerRenderer::createRenderer):
+ * platform/graphics/win/WKCACFLayerRenderer.h:
+ (WebCore::WKCACFLayerRenderer::setHostWindow):
+
+2010-03-02 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Jon Honeycutt.
+
+ ScriptDebugServer shouldn't care that Mac does not use PluginView for plug-ins.
+
+ * bindings/js/ScriptDebugServer.cpp:
+ * plugins/PluginViewNone.cpp:
+ (WebCore::PluginView::setJavaScriptPaused): Add an empty implementation of setJavaScriptPaused.
+
+2010-03-02 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Jon Honeycutt.
+
+ Clean up the build fix r55437 by adding an empty implementation of privateBrowsingStateChanged in PluginViewNone.cpp
+
+ * page/Page.cpp:
+ * plugins/PluginViewNone.cpp:
+ (WebCore::PluginView::privateBrowsingStateChanged):
+
+2010-03-02 Mark Rowe <mrowe@apple.com>
+
+ Fix the Mac build.
+
+ * page/Page.cpp:
+ (WebCore::Page::privateBrowsingStateChanged): Mac doesn't use WebCore's PluginView class
+ for plug-ins, so provide an empty implementation of privateBrowsingStateChanged for Mac.
+
+2010-03-02 Andy Estes <aestes@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Add the capability to create and dispatch a WheelEvent in JavaScript.
+ Ensure the event's default handler is triggered in the same way as it is
+ during a PlatformWheelEvent.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35566
+
+ Test: fast/events/wheelevent-in-scrolling-div.html
+
+ * dom/Node.cpp: Ensure that the default behavior (scrolling) occurs for
+ wheel events originating both from the platform and from
+ JavaScript/ObjC.
+ (WebCore::Node::dispatchWheelEvent): Instantiate new WheelEvent with
+ the graunularity of the PlatformWheelEvent.
+ (WebCore::Node::defaultEventHandler): Add support for mousewheel events.
+ * dom/WheelEvent.cpp: Add three new member variables: m_deltaX, m_deltaY
+ and m_granularity. m_deltaX and m_deltaY differ from m_wheelDeltaX and
+ m_wheelDeltaY, which are the number of wheel ticks multiplied by 120 for
+ IE compatibility.
+ (WebCore::WheelEvent::WheelEvent): Initialize new member variables.
+ (WebCore::WheelEvent::initWheelEvent): Same.
+ (WebCore::WheelEvent::initWebKitWheelEvent): Same.
+ * dom/WheelEvent.h: See WheelEvent.cpp.
+ (WebCore::WheelEvent::): Add Granularity enum (Pixel, Line, Page).
+ (WebCore::WheelEvent::create): Add new arguments.
+ (WebCore::WheelEvent::deltaX): Amount of scroll in x direction.
+ (WebCore::WheelEvent::deltaY): Amount of scroll in y direction.
+ (WebCore::WheelEvent::granularity): Units of deltaX and deltaY.
+ * dom/WheelEvent.idl: Add initWebKitWheelEvent() to JavaScript. This is
+ the same as the initWheelEvent ObjC method. As the DOM Level 3 Events
+ specification is still a working draft and subject to change, prefix
+ 'WebKit' to the method signature to indicate experimental support.
+ * page/EventHandler.cpp: Move the scroll handling from
+ handleWheelEvent() to defaultWheelEventHandler(), which is executed on
+ both PlatformWheelEvents and JavaScript WheelEvents.
+ (WebCore::scrollNode): Renamed from scrollAndAcceptEvent(). Remove
+ the PlatformWheelEvent from the argument list and instead return a
+ boolean indicating if the scroll event was accepted.
+ (WebCore::EventHandler::handleWheelEvent): Move scrolling code from here
+ (WebCore::EventHandler::defaultWheelEventHandler): ...to here.
+ * page/EventHandler.h: Add function signature.
+
+2010-03-02 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 35576: WebKit should tell plug-in instances when private browsing state changes
+ <http://webkit.org/b/35576>
+
+ Notify plug-in instances when the private browsing state changes to match the behavior of the
+ Mac plug-in code.
+
+ * page/Page.cpp:
+ (WebCore::Page::privateBrowsingStateChanged): Walk the frame tree and notify each PluginView that
+ the private browsing state has changed.
+ * page/Page.h:
+ * page/Settings.cpp:
+ (WebCore::Settings::setPrivateBrowsingEnabled): Notify the page that the private browsing state
+ has changed.
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::privateBrowsingStateChanged): Notify the plug-in instance of the new private
+ browsing state.
+ * plugins/PluginView.h:
+
+2010-03-02 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Bug 30348: Implement private mode for plug-ins on Windows
+ <http://webkit.org/b/30348> / <rdar://problem/7562261>
+
+ Rework PluginView::getValue and PluginView::getValueStatic to remove the amount of code that
+ was duplicated across platforms. getValue and getValueStatic now call in to platform-specific
+ variants that indicate whether they handled the query. If the query is not handled by the
+ platform-specific variants then the cross-platform handler has a chance to handle it.
+
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::getValueStatic): Give the platform-specific variant a chance to handle the
+ variable lookup. If it does not handle it, return an error.
+ (WebCore::PluginView::getValue): Give the platform-specific variant and platform-specific static
+ variant a chance to handle the variable lookup. If they do not handle it, apply the cross-platform
+ handler. At the moment the cross-platform code handles NPNVWindowNPObject, NPNVPluginElementNPObject,
+ and NPNVprivateModeBool as they have an identical implementation across ports.
+ * plugins/PluginView.h:
+ * plugins/PluginViewNone.cpp:
+ (WebCore::PluginView::platformGetValue): PluginViewNone does not handle any lookups.
+ (WebCore::PluginView::platformGetValueStatic): Ditto.
+ * plugins/gtk/PluginViewGtk.cpp:
+ (WebCore::PluginView::platformGetValueStatic):
+ (WebCore::PluginView::platformGetValue):
+ platform-independent implementation.
+ * plugins/mac/PluginViewMac.cpp:
+ (WebCore::PluginView::platformGetValueStatic):
+ (WebCore::PluginView::platformGetValue):
+ * plugins/qt/PluginViewQt.cpp:
+ (WebCore::PluginView::platformGetValueStatic):
+ (WebCore::PluginView::platformGetValue): Fix a bug noticed while updating this code.
+ The Qt implementation of the handler for NPNVToolkit was relying on case fall-through
+ to have some values handled by the static handler. When NPNVprivateModeBool was added
+ it was placed before the default case, interferring with this fall-through. It now
+ explicitly indicates in this situation that it was not handled.
+ * plugins/symbian/PluginViewSymbian.cpp:
+ (WebCore::PluginView::platformGetValueStatic):
+ (WebCore::PluginView::platformGetValue):
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::PluginView::platformGetValueStatic):
+ (WebCore::PluginView::platformGetValue):
+
+2010-03-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Make the default constructor available to all platforms.
+
+ * platform/PlatformKeyboardEvent.h:
+ (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
+ * platform/mac/KeyEventMac.mm:
+
+2010-03-02 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by David Levin.
+
+ Revert database thread changes that are no longer required
+ https://bugs.webkit.org/show_bug.cgi?id=35519
+
+ Jochen Eisinger created 55214 and 55247 to track which database
+ owns which thread. Dmitry suggested that this could also
+ be done via TLS, though. After exploring the options, Jochen
+ chose to go the TLS route, so these patches are no longer needed.
+
+ * storage/DatabaseThread.cpp:
+ (WebCore::DatabaseThread::DatabaseThread):
+ (WebCore::DatabaseThread::databaseThread):
+ * storage/DatabaseThread.h:
+ (WebCore::DatabaseThread::getThreadID):
+
+2010-03-02 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Followup for REGRESSION(r51097) - Unable to log in to statefarm.com
+ <rdar://problem/7672667> and https://bugs.webkit.org/show_bug.cgi?id=35556
+
+ * dom/ScriptElement.cpp:
+ (WebCore::ScriptElementData::shouldExecuteAsJavaScript): To more perfectly match Gecko's rule,
+ strip whitespace from the attribute values before comparing to window/onload/onload().
+
+2010-03-02 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ aria-label isn't respected on option elements
+ https://bugs.webkit.org/show_bug.cgi?id=35400
+
+ When aria-label is used on an <option> element, it can take three forms.
+ An option in a multi-select list, a popup button and the menu that is displayed
+ from the popup button. This patches the three requisite locations so that if
+ aria-label is used, the correct accessibility text is returned.
+
+ Test: platform/mac/accessibility/option-with-arialabel.html
+
+ * accessibility/AccessibilityListBoxOption.cpp:
+ (WebCore::AccessibilityListBoxOption::stringValue):
+ * accessibility/AccessibilityObject.cpp:
+ (WebCore::AccessibilityObject::getAttribute):
+ * accessibility/AccessibilityObject.h:
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::getAttribute):
+ (WebCore::AccessibilityRenderObject::stringValue):
+ * platform/PopupMenuClient.h:
+ * platform/mac/PopupMenuMac.mm:
+ (WebCore::PopupMenu::populate):
+ * rendering/RenderMenuList.cpp:
+ (WebCore::RenderMenuList::itemAccessibilityText):
+ * rendering/RenderMenuList.h:
+ * rendering/RenderTextControlSingleLine.h:
+ (WebCore::RenderTextControlSingleLine::itemAccessibilityText):
+
+2010-03-02 Mads Ager <ager@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ [V8] V8 should be notified of context disposals
+ https://bugs.webkit.org/show_bug.cgi?id=35526
+
+ Notify V8 of context disposals to allow it to clean up memory from those
+ contexts when idle. When disposing a context, start a timer that will
+ give V8 an idle notification after a while to force cleanup. Use a timer
+ to avoid performing an idle notification in the middle of navigation where
+ we know we are not idle.
+
+ * WebCore.gypi:
+ * bindings/v8/V8DOMWindowShell.cpp:
+ (WebCore::V8DOMWindowShell::disposeContextHandles):
+ * bindings/v8/V8GCForContextDispose.cpp: Added.
+ (WebCore::V8GCForContextDispose::V8GCForContextDispose):
+ (WebCore::V8GCForContextDispose::notifyContextDisposed):
+ (WebCore::V8GCForContextDispose::notifyIdleSooner):
+ (WebCore::V8GCForContextDispose::instance):
+ (WebCore::V8GCForContextDispose::pseudoIdleTimerFired):
+ * bindings/v8/V8GCForContextDispose.h: Added.
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::WindowSetTimeoutImpl):
+
+2010-03-02 Pavel Feldman <pfeldman@chromium.org>
+
+ Not reviewed: adding missing image files to WebKit.qrc and gypi.
+
+ * WebCore.gypi:
+ * inspector/front-end/WebKit.qrc:
+
+2010-03-02 Kim Grönholm <kim.gronholm@nomovok.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] GraphicsLayer: Video element with 3d transform crashes when AC is enabled.
+ https://bugs.webkit.org/show_bug.cgi?id=35516
+
+ No new tests.
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::GraphicsLayerQt::setContentsToMedia):
+
+2010-03-02 Fridrich Strba <fridrich.strba@bluewin.ch>
+
+ Reviewed by Xan Lopez.
+
+ Use unsigned instead of uint which does not exist on windows
+ https://bugs.webkit.org/show_bug.cgi?id=35546
+
+ * platform/graphics/gtk/ImageGtk.cpp:
+ (WebCore::getCairoSurfacePixel):
+ (WebCore::getGdkPixbufPixel):
+
+2010-03-02 Kenneth Russell <kbr@google.com>
+
+ Reviewed by Darin Fisher.
+
+ Add EnabledAtRuntime attribute to WebGLArray constructors
+ https://bugs.webkit.org/show_bug.cgi?id=35558
+
+ New functionality verified manually in Chromium; not possible to
+ write layout test. Ran WebGL tests in WebKit as well.
+
+ * bindings/generic/RuntimeEnabledFeatures.cpp:
+ * bindings/generic/RuntimeEnabledFeatures.h:
+ (WebCore::RuntimeEnabledFeatures::setWebGLEnabled):
+ (WebCore::RuntimeEnabledFeatures::webGLRenderingContextEnabled):
+ (WebCore::RuntimeEnabledFeatures::webGLArrayBufferEnabled):
+ (WebCore::RuntimeEnabledFeatures::webGLByteArrayEnabled):
+ (WebCore::RuntimeEnabledFeatures::webGLUnsignedByteArrayEnabled):
+ (WebCore::RuntimeEnabledFeatures::webGLShortArrayEnabled):
+ (WebCore::RuntimeEnabledFeatures::webGLUnsignedShortArrayEnabled):
+ (WebCore::RuntimeEnabledFeatures::webGLIntArrayEnabled):
+ (WebCore::RuntimeEnabledFeatures::webGLUnsignedIntArrayEnabled):
+ (WebCore::RuntimeEnabledFeatures::webGLFloatArrayEnabled):
+ * page/DOMWindow.idl:
+
+2010-03-02 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [V8] Fail gracefully if NPN_GetProperty tries to retrieve a property that doesn't exist.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35588
+
+ Required for passing LayoutTests/plugins/netscape-plugin-property-access-exception.html on Chromium.
+
+ * bindings/v8/NPV8Object.cpp:
+ (_NPN_GetProperty): If the result is empty, don't try to convert it to an NPVariant and return false.
+
+2010-03-02 Jian Li <jianli@chromium.org>
+
+ Reviewed by Nate Chapin.
+
+ [V8] DOMCoreException should be visible as DOMException
+ https://bugs.webkit.org/show_bug.cgi?id=35552
+
+ Fix V8 code generator to use the correct visible name.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+
+2010-03-02 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ REGRESSION(r51097) - Unable to log in to statefarm.com
+ <rdar://problem/7672667> and https://bugs.webkit.org/show_bug.cgi?id=35556
+
+ Test: fast/loader/for-window-event-onload-scripts.html
+
+ Match Gecko's rules for executing "for/event" scripts:
+ -If there's only a 'for' attribute, execute it.
+ -If there's only an 'event' attribute, execute it.
+ -If there's a 'for=window' and 'event=onload', execute it.
+ -If there's a 'for=window' and 'event=onload()', execute it.
+ -If there's any other combination of both 'for' and 'event', don't execute it.
+
+ * dom/ScriptElement.cpp:
+ (WebCore::ScriptElementData::shouldExecuteAsJavaScript):
+ * dom/ScriptElement.h:
+
+ * html/HTMLScriptElement.cpp:
+ (WebCore::HTMLScriptElement::eventAttributeValue):
+ * html/HTMLScriptElement.h:
+
+ * svg/SVGScriptElement.cpp:
+ (WebCore::SVGScriptElement::eventAttributeValue):
+ * svg/SVGScriptElement.h:
+
+ Add the event attribute name:
+ * html/HTMLAttributeNames.in:
+
+
+2010-03-02 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35555
+ QuickTime plugin content can spill outside the <object> tag
+
+ Set -masksToBounds on the layer that is handed to us by plug-ins, to ensure that sublayers
+ of that layer don't spill outside the <object> contents rect.
+
+ Manual test because it relies on QuickTime, and pixel results depend on movie loading timing.
+
+ * manual-tests/plugins/object-clipping.html: Added.
+ * platform/graphics/mac/GraphicsLayerCA.mm:
+ (WebCore::GraphicsLayerCA::setupContentsLayer):
+
+2010-03-02 Adam Roben <aroben@apple.com>
+
+ Export SecurityOrigin::registerURLSchemeAsSecure
+
+ Fixes <http://webkit.org/b/35580> <rdar://problem/7706407> Expose
+ SecurityOrigin::registerURLSchemeAsSecure as WebKit SPI
+
+ Reviewed by Tim Hatcher.
+
+ * WebCore.base.exp: Added symbol, sorted file.
+
+2010-03-02 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: render breakpoints as border images instead of canvas.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35535
+
+ * inspector/front-end/Images/breakpointBorder.png: Added.
+ * inspector/front-end/Images/breakpointConditionalBorder.png: Added.
+ * inspector/front-end/Images/breakpointConditionalCounterBorder.png: Added.
+ * inspector/front-end/Images/breakpointCounterBorder.png: Added.
+ * inspector/front-end/Images/programCounterBorder.png: Added.
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype._updateExecutionLine):
+ (WebInspector.SourceFrame.prototype._addBreakpointToSource):
+ (WebInspector.SourceFrame.prototype.resize):
+ * inspector/front-end/TextViewer.js:
+ (WebInspector.TextChunk):
+ * inspector/front-end/textViewer.css:
+
+2010-01-28 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Ariya Hidayat.
+
+ [Qt] Special case Font::floatWidthForComplexText for single space
+ https://bugs.webkit.org/show_bug.cgi?id=33876
+
+ For a single space we can go through the QFontMetric::width routine
+ instead of converting the WebCore::String to a QString and then
+ going through the QTextLine.
+
+ * platform/graphics/qt/FontQt.cpp:
+ (WebCore::Font::floatWidthForComplexText):
+
+2010-02-28 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Gustavo Noronha.
+
+ [Gtk] Support private browsing mode in plugins.
+ https://bugs.webkit.org/show_bug.cgi?id=35500
+
+ Integrate the PluginViewQt.cpp changes from r55358 into Gtk+.
+
+ * plugins/gtk/PluginViewGtk.cpp:
+ (WebCore::PluginView::getValue):
+
+2010-03-02 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by NOBODY (Build fix).
+
+ Update Qt bridge to new named getter signature
+
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::QtRuntimeMetaMethod::lengthGetter):
+ (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
+ (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
+ (JSC::Bindings::QtRuntimeConnectionMethod::lengthGetter):
+ * bridge/qt/qt_runtime.h:
+
+2010-03-01 Philippe Normand <pnormand@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ [GTK] Move gstreamer-related source files to platform/graphics/gstreamer
+ https://bugs.webkit.org/show_bug.cgi?id=35518
+
+ Moved GStreamer-related files to platform/graphics/gstreamer so
+ other ports could benefit from this media player implementation.
+
+ * GNUmakefile.am:
+ * platform/graphics/gstreamer/DataSourceGStreamer.cpp: Renamed from WebCore/platform/graphics/gtk/DataSourceGStreamer.cpp.
+ (_do_init):
+ (webkit_data_src_base_init):
+ (webkit_data_src_class_init):
+ (webkit_data_src_reset):
+ (webkit_data_src_init):
+ (webkit_data_src_finalize):
+ (webkit_data_src_change_state):
+ (webkit_data_src_uri_get_type):
+ (webkit_data_src_uri_get_protocols):
+ (webkit_data_src_uri_get_uri):
+ (webkit_data_src_uri_set_uri):
+ (webkit_data_src_uri_handler_init):
+ * platform/graphics/gstreamer/DataSourceGStreamer.h: Renamed from WebCore/platform/graphics/gtk/DataSourceGStreamer.h.
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Renamed from WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp.
+ (WebCore::greatestCommonDivisor):
+ (WebCore::mediaPlayerPrivateMessageCallback):
+ (WebCore::mediaPlayerPrivateSourceChangedCallback):
+ (WebCore::mediaPlayerPrivateVolumeChangedCallback):
+ (WebCore::notifyVolumeIdleCallback):
+ (WebCore::mediaPlayerPrivateMuteChangedCallback):
+ (WebCore::notifyMuteIdleCallback):
+ (WebCore::bufferingTimeoutCallback):
+ (WebCore::playbackPosition):
+ (WebCore::mediaPlayerPrivateRepaintCallback):
+ (WebCore::MediaPlayerPrivate::create):
+ (WebCore::MediaPlayerPrivate::registerMediaEngine):
+ (WebCore::doGstInit):
+ (WebCore::MediaPlayerPrivate::isAvailable):
+ (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
+ (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
+ (WebCore::MediaPlayerPrivate::load):
+ (WebCore::MediaPlayerPrivate::changePipelineState):
+ (WebCore::MediaPlayerPrivate::play):
+ (WebCore::MediaPlayerPrivate::pause):
+ (WebCore::MediaPlayerPrivate::duration):
+ (WebCore::MediaPlayerPrivate::currentTime):
+ (WebCore::MediaPlayerPrivate::seek):
+ (WebCore::MediaPlayerPrivate::startEndPointTimerIfNeeded):
+ (WebCore::MediaPlayerPrivate::cancelSeek):
+ (WebCore::MediaPlayerPrivate::endPointTimerFired):
+ (WebCore::MediaPlayerPrivate::paused):
+ (WebCore::MediaPlayerPrivate::seeking):
+ (WebCore::MediaPlayerPrivate::naturalSize):
+ (WebCore::MediaPlayerPrivate::hasVideo):
+ (WebCore::MediaPlayerPrivate::hasAudio):
+ (WebCore::MediaPlayerPrivate::setVolume):
+ (WebCore::MediaPlayerPrivate::volumeChangedCallback):
+ (WebCore::MediaPlayerPrivate::volumeChanged):
+ (WebCore::MediaPlayerPrivate::setRate):
+ (WebCore::MediaPlayerPrivate::networkState):
+ (WebCore::MediaPlayerPrivate::readyState):
+ (WebCore::MediaPlayerPrivate::buffered):
+ (WebCore::MediaPlayerPrivate::processBufferingStats):
+ (WebCore::MediaPlayerPrivate::queryBufferingStats):
+ (WebCore::MediaPlayerPrivate::maxTimeSeekable):
+ (WebCore::MediaPlayerPrivate::maxTimeLoaded):
+ (WebCore::MediaPlayerPrivate::bytesLoaded):
+ (WebCore::MediaPlayerPrivate::totalBytes):
+ (WebCore::MediaPlayerPrivate::cancelLoad):
+ (WebCore::MediaPlayerPrivate::updateStates):
+ (WebCore::MediaPlayerPrivate::mediaLocationChanged):
+ (WebCore::MediaPlayerPrivate::loadNextLocation):
+ (WebCore::MediaPlayerPrivate::loadStateChanged):
+ (WebCore::MediaPlayerPrivate::sizeChanged):
+ (WebCore::MediaPlayerPrivate::timeChanged):
+ (WebCore::MediaPlayerPrivate::didEnd):
+ (WebCore::MediaPlayerPrivate::durationChanged):
+ (WebCore::MediaPlayerPrivate::supportsMuting):
+ (WebCore::MediaPlayerPrivate::setMuted):
+ (WebCore::MediaPlayerPrivate::muteChangedCallback):
+ (WebCore::MediaPlayerPrivate::muteChanged):
+ (WebCore::MediaPlayerPrivate::loadingFailed):
+ (WebCore::MediaPlayerPrivate::setSize):
+ (WebCore::MediaPlayerPrivate::setVisible):
+ (WebCore::MediaPlayerPrivate::repaint):
+ (WebCore::MediaPlayerPrivate::paint):
+ (WebCore::mimeTypeCache):
+ (WebCore::MediaPlayerPrivate::getSupportedTypes):
+ (WebCore::MediaPlayerPrivate::supportsType):
+ (WebCore::MediaPlayerPrivate::hasSingleSecurityOrigin):
+ (WebCore::MediaPlayerPrivate::supportsFullscreen):
+ (WebCore::MediaPlayerPrivate::setAutobuffer):
+ (WebCore::MediaPlayerPrivate::createGSTPlayBin):
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Renamed from WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.h.
+ (WebCore::MediaPlayerPrivate::pipelineReset):
+ * platform/graphics/gstreamer/VideoSinkGStreamer.cpp: Renamed from WebCore/platform/graphics/gtk/VideoSinkGStreamer.cpp.
+ (webkit_video_sink_base_init):
+ (webkit_video_sink_init):
+ (webkit_video_sink_timeout_func):
+ (webkit_video_sink_render):
+ (webkit_video_sink_dispose):
+ (unlock_buffer_mutex):
+ (webkit_video_sink_unlock):
+ (webkit_video_sink_unlock_stop):
+ (webkit_video_sink_stop):
+ (webkit_video_sink_start):
+ (marshal_VOID__MINIOBJECT):
+ (webkit_video_sink_class_init):
+ (webkit_video_sink_new):
+ * platform/graphics/gstreamer/VideoSinkGStreamer.h: Renamed from WebCore/platform/graphics/gtk/VideoSinkGStreamer.h.
+ * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: Renamed from WebCore/platform/graphics/gtk/WebKitWebSourceGStreamer.cpp.
+ (doInit):
+ (webkit_web_src_base_init):
+ (webkit_web_src_class_init):
+ (webkit_web_src_init):
+ (webKitWebSrcFinalize):
+ (webKitWebSrcSetProperty):
+ (webKitWebSrcGetProperty):
+ (webKitWebSrcStop):
+ (webKitWebSrcStart):
+ (webKitWebSrcChangeState):
+ (webKitWebSrcUriGetType):
+ (webKitWebSrcGetProtocols):
+ (webKitWebSrcGetUri):
+ (webKitWebSrcSetUri):
+ (webKitWebSrcUriHandlerInit):
+ (webKitWebSrcNeedDataMainCb):
+ (webKitWebSrcNeedDataCb):
+ (webKitWebSrcEnoughDataMainCb):
+ (webKitWebSrcEnoughDataCb):
+ (webKitWebSrcSeekMainCb):
+ (webKitWebSrcSeekDataCb):
+ (webKitWebSrcSetFrame):
+ (StreamingClient::StreamingClient):
+ (StreamingClient::~StreamingClient):
+ (StreamingClient::willSendRequest):
+ (StreamingClient::didReceiveResponse):
+ (StreamingClient::didReceiveData):
+ (StreamingClient::didFinishLoading):
+ (StreamingClient::didFail):
+ (StreamingClient::wasBlocked):
+ (StreamingClient::cannotShowURL):
+ * platform/graphics/gstreamer/WebKitWebSourceGStreamer.h: Renamed from WebCore/platform/graphics/gtk/WebKitWebSourceGStreamer.h.
+
+2010-03-01 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Refactor named getter function signature to be in line with indexing getter signature
+ https://bugs.webkit.org/show_bug.cgi?id=35563
+
+ Fix up WebCore to use the new named getter function signature, update the
+ codegenerator to the new calling convention, and fix the custom bindings.
+
+ * bindings/js/JSCSSStyleDeclarationCustom.cpp:
+ (WebCore::JSCSSStyleDeclaration::nameGetter):
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::objectToStringFunctionGetter):
+ * bindings/js/JSDOMBinding.h:
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::nonCachingStaticFunctionGetter):
+ (WebCore::childFrameGetter):
+ (WebCore::namedItemGetter):
+ * bindings/js/JSDataGridColumnListCustom.cpp:
+ (WebCore::JSDataGridColumnList::nameGetter):
+ * bindings/js/JSHTMLAllCollectionCustom.cpp:
+ (WebCore::JSHTMLAllCollection::nameGetter):
+ * bindings/js/JSHTMLCollectionCustom.cpp:
+ (WebCore::JSHTMLCollection::nameGetter):
+ * bindings/js/JSHTMLDocumentCustom.cpp:
+ (WebCore::JSHTMLDocument::nameGetter):
+ * bindings/js/JSHTMLFormElementCustom.cpp:
+ (WebCore::JSHTMLFormElement::nameGetter):
+ * bindings/js/JSHTMLFrameSetElementCustom.cpp:
+ (WebCore::JSHTMLFrameSetElement::nameGetter):
+ * bindings/js/JSHistoryCustom.cpp:
+ (WebCore::nonCachingStaticBackFunctionGetter):
+ (WebCore::nonCachingStaticForwardFunctionGetter):
+ (WebCore::nonCachingStaticGoFunctionGetter):
+ * bindings/js/JSLocationCustom.cpp:
+ (WebCore::nonCachingStaticReplaceFunctionGetter):
+ (WebCore::nonCachingStaticReloadFunctionGetter):
+ (WebCore::nonCachingStaticAssignFunctionGetter):
+ * bindings/js/JSMimeTypeArrayCustom.cpp:
+ (WebCore::JSMimeTypeArray::nameGetter):
+ * bindings/js/JSNamedNodeMapCustom.cpp:
+ (WebCore::JSNamedNodeMap::nameGetter):
+ * bindings/js/JSNodeListCustom.cpp:
+ (WebCore::JSNodeList::nameGetter):
+ * bindings/js/JSPluginArrayCustom.cpp:
+ (WebCore::JSPluginArray::nameGetter):
+ * bindings/js/JSPluginCustom.cpp:
+ (WebCore::JSPlugin::nameGetter):
+ * bindings/js/JSPluginElementFunctions.cpp:
+ (WebCore::runtimeObjectPropertyGetter):
+ * bindings/js/JSPluginElementFunctions.h:
+ * bindings/js/JSStorageCustom.cpp:
+ (WebCore::JSStorage::nameGetter):
+ * bindings/js/JSStyleSheetListCustom.cpp:
+ (WebCore::JSStyleSheetList::nameGetter):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bridge/runtime_array.cpp:
+ (JSC::RuntimeArray::lengthGetter):
+ * bridge/runtime_array.h:
+ * bridge/runtime_method.cpp:
+ (JSC::RuntimeMethod::lengthGetter):
+ * bridge/runtime_method.h:
+ * bridge/runtime_object.cpp:
+ (JSC::Bindings::RuntimeObject::fallbackObjectGetter):
+ (JSC::Bindings::RuntimeObject::fieldGetter):
+ (JSC::Bindings::RuntimeObject::methodGetter):
+ * bridge/runtime_object.h:
+
+2010-03-01 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ PropertySlot::getValue(ExecState, unsigned) unnecessarily converts index to an Identifier
+ https://bugs.webkit.org/show_bug.cgi?id=35561
+
+ Update bindings generation and the few manual indexing getters we have to use
+ the new PropertySlot API.
+
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::indexGetter):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bridge/runtime_array.cpp:
+ (JSC::RuntimeArray::indexGetter):
+ * bridge/runtime_array.h:
+
+2010-03-01 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ AX: changes to WAI-ARIA grid aren't perceived correctly by VoiceOver
+ https://bugs.webkit.org/show_bug.cgi?id=35514
+
+ When a table's DOM is changed and an AX Table is not asked first for its children,
+ it would return wrong information. A table needs to make sure children are up to date in
+ all methods that can be called from the outside.
+
+ Test: platform/mac/accessibility/stale-table-rows.html
+
+ * accessibility/AccessibilityARIAGrid.cpp:
+ (WebCore::AccessibilityARIAGrid::cellForColumnAndRow):
+ * accessibility/AccessibilityObject.cpp:
+ (WebCore::AccessibilityObject::clearChildren):
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::clearChildren):
+ (WebCore::AccessibilityRenderObject::updateChildrenIfNecessary):
+ (WebCore::AccessibilityRenderObject::children):
+ * accessibility/AccessibilityRenderObject.h:
+ (WebCore::AccessibilityRenderObject::needsToUpdateChildren):
+ (WebCore::AccessibilityRenderObject::setNeedsToUpdateChildren):
+ * accessibility/AccessibilityTable.cpp:
+ (WebCore::AccessibilityTable::clearChildren):
+ (WebCore::AccessibilityTable::columns):
+ (WebCore::AccessibilityTable::rows):
+ (WebCore::AccessibilityTable::rowHeaders):
+ (WebCore::AccessibilityTable::columnHeaders):
+ (WebCore::AccessibilityTable::cells):
+ (WebCore::AccessibilityTable::columnCount):
+ (WebCore::AccessibilityTable::rowCount):
+ (WebCore::AccessibilityTable::cellForColumnAndRow):
+
+2010-03-01 Jakob Petsovits <jpetsovits@rim.com>
+
+ Reviewed by Adam Barth.
+
+ Convert the zoom mode (page vs. text-only) into a proper enum.
+ https://bugs.webkit.org/show_bug.cgi?id=35347
+
+ * GNUmakefile.am:
+ * WebCore.base.exp: Substituted symbols __ZN7WebCore5Frame13setZoomFactorEfNS_8ZoomModeE
+ and __ZN7WebCore8Settings11setZoomModeENS_8ZoomModeE for __ZN7WebCore5Frame13setZoomFactorEfb
+ and __ZN7WebCore8Settings16setZoomsTextOnlyEb, respectively.
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * page/Frame.cpp:
+ (WebCore::Frame::zoomMode):
+ (WebCore::Frame::shouldApplyTextZoom):
+ (WebCore::Frame::shouldApplyPageZoom):
+ (WebCore::Frame::setZoomFactor):
+ * page/Frame.h:
+ * page/Settings.cpp:
+ (WebCore::Settings::Settings):
+ (WebCore::Settings::setZoomMode):
+ * page/Settings.h:
+ (WebCore::Settings::zoomMode):
+ * page/ZoomMode.h: Added.
+ (WebCore::):
+ * svg/SVGSVGElement.cpp:
+ (WebCore::SVGSVGElement::setCurrentScale):
+
+2010-03-01 Alex Milowski <alex@milowski.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Added support for the msubsup element that also handles the msup and msub elements.
+
+ Test: mathml/presentation/subsup.xhtml
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * mathml/MathMLInlineContainerElement.cpp:
+ (WebCore::MathMLInlineContainerElement::createRenderer):
+ * mathml/RenderMathMLSubSup.cpp: Added.
+ (WebCore::RenderMathMLSubSup::RenderMathMLSubSup):
+ (WebCore::RenderMathMLSubSup::addChild):
+ (WebCore::RenderMathMLSubSup::stretchToHeight):
+ (WebCore::RenderMathMLSubSup::nonOperatorHeight):
+ (WebCore::RenderMathMLSubSup::layout):
+ (WebCore::RenderMathMLSubSup::baselinePosition):
+ * mathml/RenderMathMLSubSup.h: Added.
+ (WebCore::RenderMathMLSubSup::hasBase):
+ (WebCore::RenderMathMLSubSup::):
+
+2010-03-01 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: use dejavu sans mono 11px on linux.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35527
+
+ * inspector/front-end/inspector.css:
+
+2010-03-01 Thatcher Ulrich <tulrich@google.com>
+
+ Reviewed by Darin Fisher.
+
+ Fix chromium iframe shims. Add another test case to the
+ iframes-shims test. After r53637, the plugin widget doesn't get
+ moved every paint. This used to hide the bug that if an iframe
+ gets added, the plugin's cutout rectangles don't get updated until
+ a layout happens.
+ https://bugs.webkit.org/show_bug.cgi?id=35184
+
+ * platform/Widget.h:
+ (WebCore::Widget::widgetPositionsUpdated): new virtual method
+ widgetPositionsUpdated() to notify widgets when other widgets on
+ the page have been repositioned.
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::updateWidgetPositions): call widgetPositionsUpdated() on the widgets
+ * rendering/RenderWidget.cpp:
+ (WebCore::RenderWidget::widgetPositionsUpdated): call widgetPositionsUpdated() on the widget
+ * rendering/RenderWidget.h:
+
+2010-03-01 Fridrich Strba <fridrich.strba@bluewin.ch>
+
+ Reviewed by Holger Freyther.
+
+ Dist some mathml related files
+
+ * GNUmakefile.am:
+
+2010-03-01 Kenneth Russell <kbr@google.com>
+
+ Reviewed by Oliver Hunt.
+
+ Integer overflow in WebGL arrays
+ https://bugs.webkit.org/show_bug.cgi?id=35241
+
+ Test: fast/canvas/webgl/webgl-array-invalid-ranges.html
+
+ * bindings/js/JSWebGLArrayBufferConstructor.cpp:
+ (WebCore::constructCanvasArrayBuffer):
+ * bindings/js/JSWebGLArrayBufferConstructor.h:
+ (WebCore::construct):
+ * bindings/js/JSWebGLArrayHelper.h:
+ (WebCore::setWebGLArrayFromArray):
+ * bindings/js/JSWebGLByteArrayConstructor.cpp:
+ (WebCore::constructCanvasByteArray):
+ * bindings/js/JSWebGLFloatArrayConstructor.cpp:
+ (WebCore::constructCanvasFloatArray):
+ * bindings/js/JSWebGLIntArrayConstructor.cpp:
+ (WebCore::constructCanvasIntArray):
+ * bindings/js/JSWebGLShortArrayConstructor.cpp:
+ (WebCore::constructCanvasShortArray):
+ * bindings/js/JSWebGLUnsignedByteArrayConstructor.cpp:
+ (WebCore::constructCanvasUnsignedByteArray):
+ * bindings/js/JSWebGLUnsignedIntArrayConstructor.cpp:
+ (WebCore::constructCanvasUnsignedIntArray):
+ * bindings/js/JSWebGLUnsignedShortArrayConstructor.cpp:
+ (WebCore::constructCanvasUnsignedShortArray):
+ * bindings/v8/V8Binding.cpp:
+ (WebCore::toUInt32):
+ * bindings/v8/V8Binding.h:
+ (WebCore::toUInt32):
+ * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
+ (WebCore::V8WebGLArrayBuffer::constructorCallback):
+ * bindings/v8/custom/V8WebGLArrayCustom.h:
+ (WebCore::constructWebGLArray):
+ (WebCore::getWebGLArrayElement):
+ (WebCore::setWebGLArrayFromArray):
+ (WebCore::setWebGLArray):
+ * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
+ (WebCore::V8WebGLByteArray::constructorCallback):
+ * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
+ (WebCore::V8WebGLFloatArray::constructorCallback):
+ * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
+ (WebCore::V8WebGLIntArray::constructorCallback):
+ * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
+ (WebCore::V8WebGLShortArray::constructorCallback):
+ * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
+ (WebCore::V8WebGLUnsignedByteArray::constructorCallback):
+ * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
+ (WebCore::V8WebGLUnsignedIntArray::constructorCallback):
+ * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
+ (WebCore::V8WebGLUnsignedShortArray::constructorCallback):
+ * html/canvas/WebGLArray.cpp:
+ (WebCore::WebGLArray::setImpl):
+ * html/canvas/WebGLArray.h:
+ (WebCore::WebGLArray::verifySubRange):
+ (WebCore::WebGLArray::clampOffsetAndNumElements):
+ * html/canvas/WebGLArrayBuffer.cpp:
+ (WebCore::WebGLArrayBuffer::create):
+ (WebCore::WebGLArrayBuffer::WebGLArrayBuffer):
+ (WebCore::WebGLArrayBuffer::tryAllocate):
+ * html/canvas/WebGLArrayBuffer.h:
+ * html/canvas/WebGLByteArray.cpp:
+ (WebCore::WebGLByteArray::create):
+ (WebCore::WebGLByteArray::WebGLByteArray):
+ (WebCore::WebGLByteArray::slice):
+ * html/canvas/WebGLByteArray.h:
+ * html/canvas/WebGLFloatArray.cpp:
+ (WebCore::WebGLFloatArray::create):
+ (WebCore::WebGLFloatArray::WebGLFloatArray):
+ (WebCore::WebGLFloatArray::slice):
+ * html/canvas/WebGLFloatArray.h:
+ * html/canvas/WebGLIntArray.cpp:
+ (WebCore::WebGLIntArray::create):
+ (WebCore::WebGLIntArray::WebGLIntArray):
+ (WebCore::WebGLIntArray::slice):
+ * html/canvas/WebGLIntArray.h:
+ * html/canvas/WebGLShortArray.cpp:
+ (WebCore::WebGLShortArray::create):
+ (WebCore::WebGLShortArray::WebGLShortArray):
+ (WebCore::WebGLShortArray::slice):
+ * html/canvas/WebGLShortArray.h:
+ * html/canvas/WebGLUnsignedByteArray.cpp:
+ (WebCore::WebGLUnsignedByteArray::create):
+ (WebCore::WebGLUnsignedByteArray::WebGLUnsignedByteArray):
+ (WebCore::WebGLUnsignedByteArray::slice):
+ * html/canvas/WebGLUnsignedByteArray.h:
+ * html/canvas/WebGLUnsignedIntArray.cpp:
+ (WebCore::WebGLUnsignedIntArray::create):
+ (WebCore::WebGLUnsignedIntArray::WebGLUnsignedIntArray):
+ (WebCore::WebGLUnsignedIntArray::slice):
+ * html/canvas/WebGLUnsignedIntArray.h:
+ * html/canvas/WebGLUnsignedShortArray.cpp:
+ (WebCore::WebGLUnsignedShortArray::create):
+ (WebCore::WebGLUnsignedShortArray::WebGLUnsignedShortArray):
+ (WebCore::WebGLUnsignedShortArray::slice):
+ * html/canvas/WebGLUnsignedShortArray.h:
+
+2010-03-01 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ REGRESSION: Telling a WebView to go to its current WebHistoryItem is broken.
+ <rdar://problem/7699371> and https://bugs.webkit.org/show_bug.cgi?id=35532
+
+ Test: fast/loader/api-test-go-to-current-back-forward-item.html
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::loadItem): If the current item is the same as the target item, don't
+ consider this to be a same document navigation.
+
+ * page/Page.cpp:
+ (WebCore::Page::goToItem): Hard code the "going to the same item as the current item" relationship
+ as a precondition for stopping all loaders, as that will be a new document load.
+
+2010-03-01 Robert Hogan <robert@webkit.org>
+
+ Reviewed by nobody, build fix.
+
+ Fix --minimal build. Add ENABLE(DATABASE) as compile time condition
+ for building file GeolocationPositionCache.cpp.
+
+ * page/GeolocationPositionCache.cpp:
+
+2010-03-01 Jakob Petsovits <jpetsovits@rim.com>
+
+ Reviewed by Dirk Schulze.
+
+ [OpenVG] Implement support for paths
+ https://bugs.webkit.org/show_bug.cgi?id=34366
+
+ Adds an implementation of the Path class -
+ *almost* complete, but not quite because OpenVG
+ does not provide access to the points in a VGPath
+ unless one keeps track of all the points by
+ themselves, which we decided not to do.
+
+ Also hooked up to PainterOpenVG and GraphicsContext.
+
+ Further introduced is SharedResourceOpenVG, which is
+ intended as base class for paths and other OpenVG
+ resources (images, fonts) that WebKit creates as
+ long-lived objects. We are at a slight disadvantage
+ here as WebKit doesn't have the concept of resources
+ belonging to a specific (hardware graphics) context,
+ which is the reason why EGLDisplayOpenVG had to
+ provide a current display singleton; this class is
+ what actually requires that functionality.
+
+ Path::addArcTo() uses code by Yong Li <yoli@rim.com>.
+
+ * platform/graphics/Path.cpp:
+ * platform/graphics/Path.h:
+ * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
+ (WebCore::GraphicsContext::fillPath):
+ (WebCore::GraphicsContext::strokePath):
+ (WebCore::GraphicsContext::drawPath):
+ (WebCore::GraphicsContext::beginPath):
+ (WebCore::GraphicsContext::addPath):
+ * platform/graphics/openvg/PainterOpenVG.cpp:
+ (WebCore::PainterOpenVG::PainterOpenVG):
+ (WebCore::PainterOpenVG::~PainterOpenVG):
+ (WebCore::PainterOpenVG::transformPath):
+ (WebCore::PainterOpenVG::beginPath):
+ (WebCore::PainterOpenVG::addPath):
+ (WebCore::PainterOpenVG::currentPath):
+ (WebCore::PainterOpenVG::drawPath):
+ * platform/graphics/openvg/PainterOpenVG.h:
+ * platform/graphics/openvg/PathOpenVG.cpp: Added.
+ (WebCore::PlatformPathOpenVG::PlatformPathOpenVG):
+ (WebCore::PlatformPathOpenVG::operator=):
+ (WebCore::PlatformPathOpenVG::~PlatformPathOpenVG):
+ (WebCore::PlatformPathOpenVG::clear):
+ (WebCore::PlatformPathOpenVG::createPath):
+ (WebCore::Path::Path):
+ (WebCore::Path::~Path):
+ (WebCore::Path::operator=):
+ (WebCore::Path::contains):
+ (WebCore::Path::strokeContains):
+ (WebCore::Path::translate):
+ (WebCore::Path::boundingRect):
+ (WebCore::Path::strokeBoundingRect):
+ (WebCore::Path::moveTo):
+ (WebCore::Path::addLineTo):
+ (WebCore::Path::addQuadCurveTo):
+ (WebCore::Path::addBezierCurveTo):
+ (WebCore::Path::addArcTo):
+ (WebCore::Path::closeSubpath):
+ (WebCore::Path::addArc):
+ (WebCore::Path::addRect):
+ (WebCore::Path::addEllipse):
+ (WebCore::Path::clear):
+ (WebCore::Path::isEmpty):
+ (WebCore::Path::hasCurrentPoint):
+ (WebCore::Path::debugString):
+ (WebCore::Path::apply):
+ (WebCore::Path::transform):
+ (WebCore::Path::length):
+ (WebCore::Path::pointAtLength):
+ (WebCore::Path::normalAngleAtLength):
+ * platform/graphics/openvg/PlatformPathOpenVG.h: Added.
+ (WebCore::PlatformPathOpenVG::vgPath):
+ * platform/graphics/openvg/SharedResourceOpenVG.cpp: Added.
+ (WebCore::SharedResourceOpenVG::makeSharedContextCurrent):
+ (WebCore::SharedResourceOpenVG::makeCompatibleContextCurrent):
+ * platform/graphics/openvg/SharedResourceOpenVG.h: Added.
+
+2010-03-01 Pavel Feldman <pfeldman@chromium.org>
+
+ Not reviewed, bring English.lproj/locallizedStrings.js back to binary (UTF) mode.
+
+ * English.lproj/localizedStrings.js:
+
+2010-03-01 Jakob Petsovits <jpetsovits@rim.com>
+
+ Reviewed by Nikolas Zimmermann.
+
+ [OpenVG] Convert from TransformationMatrix to AffineTransform.
+ https://bugs.webkit.org/show_bug.cgi?id=35445
+
+ Dirk Schulze previously introduced AffineTransform as
+ replacement for most TransformationMatrix occurrences
+ in GraphicsContext & Co., but did not update the OpenVG
+ graphics backend as there's no publicly available way
+ to build it. This commit now takes care of that.
+
+ * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
+ (WebCore::GraphicsContext::getCTM):
+ (WebCore::GraphicsContext::roundToDevicePixels):
+ (WebCore::GraphicsContext::origin):
+ (WebCore::GraphicsContext::concatCTM):
+ * platform/graphics/openvg/PainterOpenVG.cpp:
+ (WebCore::isNonRotatedAffineTransformation):
+ (WebCore::PlatformPainterState::PlatformPainterState):
+ (WebCore::PlatformPainterState::applyState):
+ (WebCore::PlatformPainterState::applyTransformation):
+ (WebCore::PainterOpenVG::transformation):
+ (WebCore::PainterOpenVG::concatTransformation):
+ (WebCore::PainterOpenVG::setTransformation):
+ (WebCore::PainterOpenVG::scale):
+ (WebCore::PainterOpenVG::rotate):
+ (WebCore::PainterOpenVG::translate):
+ (WebCore::PainterOpenVG::intersectClipRect):
+ * platform/graphics/openvg/PainterOpenVG.h:
+ * platform/graphics/openvg/VGUtils.cpp:
+ (WebCore::VGMatrix::VGMatrix):
+ (WebCore::VGMatrix::operator AffineTransform):
+ (WebCore::VGMatrix::operator TransformationMatrix):
+ (WebCore::AffineTransform::operator VGMatrix):
+ * platform/graphics/openvg/VGUtils.h:
+ * platform/graphics/transforms/AffineTransform.h:
+
+2010-03-01 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix segfault when drawing NPAPI plugins on Mac
+
+ Don't try to get a contexctRef for a null-pixmap. If the pixmap
+ size is 0,0 the private pixmap data has not yet been initialized.
+
+ * plugins/mac/PluginViewMac.cpp:
+
+2010-03-01 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Fix the Qt build on Mac OS X/Cocoa 64-bit
+
+ Use the proper event/drawing-model guards instead of global 64-bit
+ guard for the NPAPI plugin implementation (view and package).
+
+ * plugins/mac/PluginPackageMac.cpp: Change guards and fix warning
+ * plugins/mac/PluginViewMac.cpp: Remove 64-bit guard
+
+2010-02-27 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: disable breakpoint upon Shift-click.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35477
+
+ * inspector/front-end/ConsoleView.js:
+ (WebInspector.ConsoleView.prototype._format):
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype._mouseDown):
+ (WebInspector.SourceFrame.prototype._mouseMove):
+ * inspector/front-end/textViewer.css:
+
+2010-02-28 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35496
+ <rdar://problem/7663444> Opening newsweek.com and youtube.com has become very slow in debug builds
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSRuleSet::getIDRules):
+ (WebCore::CSSRuleSet::getClassRules):
+ (WebCore::CSSRuleSet::getTagRules):
+ Removed consistency checks, as they affect performance too much in this case.
+
+2010-02-28 Robert Hogan <robert@roberthogan.net>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Support private browsing mode in plugins
+
+ Add support for NPNVprivateModeBool property in plugins.
+
+ See also: https://developer.mozilla.org/En/Supporting_private_browsing_in_plugins
+
+ The NPNVprivateModeBool property is supported as scriptable property privateBrowsingEnabled
+ in the test WebKit plugin. The Mac platform also supports a cachedPrivateBrowsingEnabled
+ property implemented in the test plugin. This allows the Layout test
+ plugins/private-browsing-mode.html to retrieve the previous value of NPNVprivateModeBool
+ in the test plugin. Due to the platform-specific overhead required to support this bespoke
+ property it is not implemented as part of this patch, instead a new test,
+ plugins/private-browsing-mode-2.html, is added to ensure that setting and resetting
+ privateBrowsingEnabled works as expected.
+
+ http://bugs.webkit.org/show_bug.cgi?id=33180
+
+ Test: plugins/private-browsing-mode-2.html
+
+ * plugins/qt/PluginViewQt.cpp:
+ (WebCore::PluginView::getValue):
+
+
+2010-02-27 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector shouldn't show a white color box for "-webkit-line-break: after-white-space"
+ https://bugs.webkit.org/show_bug.cgi?id=33478
+
+ * inspector/front-end/StylesSidebarPane.js:
+
+2010-02-27 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ <rdar://problem/7696607> Links do not respect -webkit-user-drag: none
+ https://bugs.webkit.org/show_bug.cgi?id=35475
+
+ Test: fast/css/user-drag-none.html
+
+ * page/DragController.cpp:
+ (WebCore::DragController::mayStartDragAtEventLocation): Added a node
+ parameter. The image drag check is done against the node, rather than
+ than against the hit test result. This prevents a non-draggable image
+ with an auto-draggable ancestor from being dragged alone. The link drag
+ check now ignores links that are -webkit-user-drag: none.
+ * page/DragController.h:
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::shouldDragAutoNode): Pass the current node
+ to mayStartDragAtEventLocation().
+
+2010-02-27 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: REGRESSION: hangs when scrolling in Resource pane.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35216
+
+ * inspector/front-end/TextEditorHighlighter.js:
+ (WebInspector.TextEditorHighlighter):
+ (WebInspector.TextEditorHighlighter.prototype.highlight):
+ (WebInspector.TextEditorHighlighter.prototype._highlightInChunks):
+ (WebInspector.TextEditorHighlighter.prototype._highlightLines):
+
+2010-02-27 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ Abort XEmbed plugin initialization if our parent is not anchored
+ in a widget hierarchy. This can happen when the browser window is
+ destroyed while the plugin is being loaded, and will lead to a
+ crash.
+
+ * plugins/gtk/PluginViewGtk.cpp:
+ (WebCore::PluginView::platformStart):
+
+2010-02-26 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: reload inspected page on Cmd+R / Ctrl+R / F5 key event in inspector.
+ Drive-by fix for couple of minor front-end problems.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35434
+
+ * inspector/InspectorBackend.cpp:
+ (WebCore::InspectorBackend::reloadPage):
+ * inspector/InspectorBackend.h:
+ * inspector/InspectorBackend.idl:
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::didFinishLoading):
+ (WebCore::InspectorController::didFailLoading):
+ * inspector/front-end/InspectorBackendStub.js:
+ (.WebInspector.InspectorBackendStub.prototype.reloadPage):
+ * inspector/front-end/InspectorFrontendHostStub.js:
+ (.WebInspector.InspectorFrontendHostStub.prototype.copyText):
+ (.WebInspector.InspectorFrontendHostStub.prototype.canAttachWindow):
+ * inspector/front-end/TextViewer.js:
+ (WebInspector.TextViewer.prototype._paintLine):
+ * inspector/front-end/inspector.js:
+ (WebInspector.documentKeyDown):
+ (WebInspector.toggleAttach):
+
+2010-02-26 Leandro Pereira <leandro@profusion.mobi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add EFL port files to platform/efl.
+ http://webkit.org/b/35087
+
+ * platform/efl/ScrollbarEfl.cpp: Added.
+ * platform/efl/EventLoopEfl.cpp: Added.
+ * platform/efl/PlatformKeyboardEventEfl.cpp: Added.
+ * platform/efl/DragImageEfl.cpp: Added.
+ * platform/efl/PlatformMouseEventEfl.cpp: Added.
+
+2010-02-26 Leandro Pereira <leandro@profusion.mobi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add EFL port files to platform/efl.
+ http://webkit.org/b/35087
+
+ * platform/efl/CursorEfl.cpp: Added.
+ * platform/efl/LocalizedStringsEfl.cpp: Added.
+ * platform/efl/SearchPopupMenuEfl.cpp: Added.
+
+2010-02-26 Leandro Pereira <leandro@profusion.mobi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add EFL port files to page/efl.
+ http://webkit.org/b/35087
+
+ * WebCore/page/efl/DragControllerEfl.cpp: Added.
+ * WebCore/page/efl/FrameEfl.cpp: Added.
+ * WebCore/page/efl/AccessibilityObjectEfl.cpp: Added.
+ * WebCore/page/efl/EventHandlerEfl.cpp: Added.
+
+2010-02-26 Leandro Pereira <leandro@profusion.mobi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add EFL port files to platform/efl.
+ http://webkit.org/b/35087
+
+ * WebCore/platform/efl/LoggingEfl.cpp: Added.
+ * WebCore/platform/efl/ScrollbarThemeEfl.cpp: Added.
+ * WebCore/platform/efl/TemporaryLinkStubs.cpp: Added.
+ * WebCore/platform/efl/ScrollViewEfl.cpp: Added.
+ * WebCore/platform/efl/SharedBufferEfl.cpp: Added.
+ * WebCore/platform/efl/DragDataEfl.cpp: Added.
+
+2010-02-26 Leandro Pereira <leandro@profusion.mobi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add EFL port files to platform/efl.
+ http://webkit.org/b/35087
+
+ * WebCore/platform/efl/RenderThemeEfl.cpp: Added.
+
+2010-02-26 Leandro Pereira <leandro@profusion.mobi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add EFL port files to platform/efl.
+ http://webkit.org/b/35087
+
+ * WebCore/platform/efl/PlatformWheelEventEfl.cpp: Added.
+ * WebCore/platform/efl/FileChooserEfl.cpp: Added.
+ * WebCore/platform/efl/ContextMenuEfl.cpp: Added.
+ * WebCore/platform/efl/PlatformScreenEfl.cpp: Added.
+ * WebCore/platform/efl/WidgetEfl.cpp: Added.
+
+2010-02-26 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Fisher.
+
+ Expose an API for ports to add schemes to the mixed content whitelist
+ https://bugs.webkit.org/show_bug.cgi?id=35438
+
+ Add a notion of a "secure" scheme that doesn't trigger mixed content
+ warnings. Let folks register new secure schemes in the same way they
+ can register "local" schemes.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::isMixedContent):
+ * page/SecurityOrigin.cpp:
+ (WebCore::secureSchemes):
+ (WebCore::SecurityOrigin::registerURLSchemeAsSecure):
+ (WebCore::SecurityOrigin::shouldTreatURLSchemeAsSecure):
+ * page/SecurityOrigin.h:
+
+2010-02-26 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] GraphicsLayerQt: artifacts and wrong transformOrigin
+ This was due to wrong way of applying cache-mode and transformation
+ on a graphics-item with HTML. Cache-mode should be updated
+ when the content type updates, even if it was the same cache-mode
+
+ https://bugs.webkit.org/show_bug.cgi?id=35382
+
+ Test URL attached to the bug now works correctly.
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::GraphicsLayerQtImpl::computeTransform):
+ (WebCore::GraphicsLayerQtImpl::flushChanges):
+
+2010-02-26 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Qt/Mac: Revert null timer removal (r51105)
+ https://bugs.webkit.org/show_bug.cgi?id=35396
+
+ r51105 removed the null timer event of the carbon event model. This however
+ breaks the flash of many sites.
+
+ Applying patch suggested by Girish Ramakrishnan in bug comment #1.
+
+ * plugins/PluginView.h:
+ * plugins/mac/PluginViewMac.cpp:
+ (WebCore::PluginView::platformStart):
+ (WebCore::PluginView::handleMouseEvent):
+ (WebCore::PluginView::nullEventTimerFired):
+ (WebCore::PluginView::mousePosForPlugin):
+
+2010-02-26 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Compile error with 3d-canvas
+ Replaced a direct gl call with a getProcAddress call
+ https://bugs.webkit.org/show_bug.cgi?id=35448
+
+ No new tests.
+
+ * platform/graphics/qt/GraphicsContext3DQt.cpp:
+ (WebCore::GraphicsContext3D::blendColor):
+
+2010-02-26 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [BREWMP] Port EventHandler
+ https://bugs.webkit.org/show_bug.cgi?id=34796
+
+ Add platform-specific code required to implement EventHandler.
+
+ * page/brew/EventHandlerBrew.cpp: Added.
+ (WebCore::EventHandler::tabsToAllControls):
+ (WebCore::EventHandler::focusDocumentView):
+ (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
+ (WebCore::EventHandler::passMouseDownEventToWidget):
+ (WebCore::EventHandler::eventActivatedView):
+ (WebCore::EventHandler::passSubframeEventToSubframe):
+ (WebCore::EventHandler::passWheelEventToWidget):
+ (WebCore::EventHandler::passMousePressEventToSubframe):
+ (WebCore::EventHandler::passMouseMoveEventToSubframe):
+ (WebCore::EventHandler::passMouseReleaseEventToSubframe):
+ (WebCore::EventHandler::accessKeyModifiers):
+
+2010-02-26 Leandro Pereira <leandro@profusion.mobi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add EFL port files to platform/efl.
+ http://webkit.org/b/35087
+
+ * WebCore/platform/efl/ClipboardEfl.cpp: Added.
+ * WebCore/platform/efl/PopupMenuEfl.cpp: Added.
+ * WebCore/platform/efl/SharedTimerEfl.cpp: Added.
+ * WebCore/platform/efl/RenderThemeEfl.h: Added.
+ * WebCore/platform/efl/Language.cpp: Added.
+ * WebCore/platform/efl/CookieJarEfl.cpp: Added.
+ * WebCore/platform/efl/MIMETypeRegistryEfl.cpp: Added.
+
+2010-02-26 Robert Kroeger <rjkroege@chromium.org>
+
+ Reviewed by Nate Chapin
+
+ To fire each event handler registered on an SVG node once per
+ event, Chromium needs an implementation of wasCreatedFromMarkup
+ added to V8LazyEventListener.h that matches the one in
+ WebKit/WebCore/bindings/js/JSLazyEventListener.h.
+
+ This patch adds such a matching implementation of wasCreatedFromMarkup
+ to V8LazyEventListener.h.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35325
+
+ * bindings/v8/V8LazyEventListener.h:
+ (WebCore::V8LazyEventListener::wasCreatedFromMarkup):
+
+2010-02-26 Arno Renevier <arno@renevier.net>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ [Gtk] use geoclue_position_get_position_async to get geolocation position.
+ https://bugs.webkit.org/show_bug.cgi?id=35355
+
+ No new tests, behaviour depends on system.
+
+ * platform/gtk/GeolocationServiceGtk.cpp:
+ (WebCore::GeolocationServiceGtk::startUpdating):
+ (WebCore::GeolocationServiceGtk::get_position):
+ * platform/gtk/GeolocationServiceGtk.h:
+
+2010-02-26 Yaar Schnitman <yaar@chromium.org>
+
+ Chromium Win build fix.
+
+ * WebCore.gyp/WebCore.gyp: Added missing file to action input.
+
+2010-02-12 Brett Wilson <brettw@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Update the Google-URL version of KURL and the V8 bindings to the new
+ behavior of KURL.IsStandard.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34859
+
+ This is covered by fast/dom/Window/invalid-protocol.html
+
+ * bindings/v8/custom/V8LocationCustom.cpp:
+ (WebCore::V8Location::protocolAccessorSetter):
+ * platform/KURLGoogle.cpp:
+ (WebCore::KURL::setProtocol):
+ (WebCore::KURL::isHierarchical):
+
+2010-02-26 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (Build fix following r55312).
+
+ * bridge/qt/qt_pixmapruntime.cpp:
+ (JSC::Bindings::QtPixmapInstance::invokeMethod):
+
+2010-02-26 Yaar Schnitman <yaar@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [V8] Auto-generate and split DerivedSourcesAllInOne.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=33048
+
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gyp/scripts/action_derivedsourcesallinone.py: Added.
+ * bindings/v8/DerivedSourcesAllInOne.cpp: Removed.
+
+2010-02-26 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (Build fix following r55312).
+
+ * bridge/qt/qt_pixmapruntime.cpp:
+ (JSC::Bindings::QtPixmapInstance::invokeMethod):
+
+2010-02-26 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35450
+ Crash when a Java array property accessor raises an exception
+
+ Test: java/inaccessible-class.html
+
+ * bridge/jni/jsc/JNIBridgeJSC.cpp: (JavaField::valueFromInstance): Check if the result
+ is null before interpreting it as an object or array.
+
+2010-02-26 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ Extend AffineTransform to mapQuad
+ https://bugs.webkit.org/show_bug.cgi?id=35444
+
+ This makes mapQuad available for AffineTransform. So that platforms
+ can make use of it after the switch from TransformationMatrix to
+ AffineTransform in GraphicsContext.
+
+ * platform/graphics/transforms/AffineTransform.cpp:
+ (WebCore::AffineTransform::mapRect): mapRect already did the calculation for mapQuad but gave back the
+ boundingBox of the resulting FloatQuad.
+ (WebCore::AffineTransform::mapQuad):
+ * platform/graphics/transforms/AffineTransform.h:
+
+2010-02-26 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Pavel Feldman.
+
+ Arrow keys do not scroll source view in Resources pane or Scripts pane.
+ <rdar://problem/7594367> and https://bugs.webkit.org/show_bug.cgi?id=34356
+
+ Handle vertical scrolling in the Text Viewer:
+ * inspector/front-end/TextViewer.js:
+ (WebInspector.TextViewer): Listen for the keydown event.
+ (WebInspector.TextViewer.prototype._handleKeyDown): If the event has no modifiers and refers
+ to an arrow key, scroll. The horizontal values were ripped from the default "pixels per scroll line"
+ value in ScrollBar.h.
+
+2010-02-26 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Bug 35401 - Fix handling of errors in handling calls over bridge,
+ where base object bridge-type does not match method bridge-type.
+
+ The code assumes users will only attempt to invoke a Java method
+ on a Java base object, etc.
+ Add language specific subclasses of RuntimeMethod, and pass the
+ RuntimeMethod into invokeMethod, so we can typecheck before
+ casting. Throw an exception on type mismatch.
+
+ * WebCore.base.exp:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bridge/c/c_instance.cpp:
+ (JSC::Bindings::CRuntimeMethod::CRuntimeMethod):new class to distinguish this type of RuntimeMethod.
+ (JSC::Bindings::CInstance::getMethod): create an appropriate sublclass of RuntimeMethod.
+ (JSC::Bindings::CInstance::invokeMethod): dynamically check the type of the RuntimeMethod.
+ * bridge/c/c_instance.h:
+ * bridge/jni/jsc/JavaInstanceJSC.cpp:
+ (JavaRuntimeMethod::JavaRuntimeMethod): new class to distinguish this type of RuntimeMethod.
+ (JavaInstance::getMethod): create an appropriate sublclass of RuntimeMethod.
+ (JavaInstance::invokeMethod): dynamically check the type of the RuntimeMethod.
+ * bridge/jni/jsc/JavaInstanceJSC.h:
+ * bridge/jsc/BridgeJSC.h:
+ * bridge/objc/objc_instance.h:
+ * bridge/objc/objc_instance.mm:
+ (ObjcRuntimeMethod::ObjcRuntimeMethod): new class to distinguish this type of RuntimeMethod.
+ (ObjcInstance::getMethod): create an appropriate sublclass of RuntimeMethod.
+ (ObjcInstance::invokeMethod): dynamically check the type of the RuntimeMethod.
+ (ObjcInstance::invokeObjcMethod): new method, takes an ObjcMethod* as an argument so that we don't need to dynamically determine the type.
+ * bridge/objc/objc_runtime.mm:
+ (JSC::Bindings::callObjCFallbackObject): use new invokeObjcMethod method.
+ * bridge/runtime_method.cpp:
+ (JSC::callRuntimeMethod): pass RuntimeMethod as argument to invokeMethod, rather than its MethodList.
+ * bridge/runtime_object.cpp:
+ (JSC::RuntimeObject::methodGetter): use new getMethod method.
+
+2010-02-26 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Make the lookup table generator include an explicit cast to expected
+ type of the function. We do this because otherwise the blind intptr_t
+ cast that is subsequently applied allows incorrectly typed functions
+ to be inserted into the table, where they will only fail at runtime.
+ This change makes such errors produce a compile time failure.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/scripts/CodeGeneratorJS.pm:
+
+2010-02-26 Alex Milowski <alex@milowski.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Added basic support for the munder, munderover, and mover elements.
+
+ Tests: mathml/presentation/over.xhtml
+ mathml/presentation/under.xhtml
+ mathml/presentation/underover.xhtml
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * mathml/MathMLInlineContainerElement.cpp:
+ (WebCore::MathMLInlineContainerElement::createRenderer):
+ * mathml/RenderMathMLUnderOver.cpp: Added.
+ (WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver):
+ (WebCore::RenderMathMLUnderOver::addChild):
+ (WebCore::getOffsetHeight):
+ (WebCore::RenderMathMLUnderOver::stretchToHeight):
+ (WebCore::RenderMathMLUnderOver::layout):
+ (WebCore::RenderMathMLUnderOver::baselinePosition):
+ (WebCore::RenderMathMLUnderOver::nonOperatorHeight):
+ * mathml/RenderMathMLUnderOver.h: Added.
+ (WebCore::RenderMathMLUnderOver::hasBase):
+ (WebCore::RenderMathMLUnderOver::):
+
+2010-02-24 Stephen White <senorblanco@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ This CL implements a simple ad-hoc parser for CSS rgb() values.
+ If it fails, it returns false and the normal lex/yacc parser will
+ be invoked.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35362
+
+ Covered by fast/canvas/canvas-bg.html, fast/canvas/canvas-bg-zoom.html,
+ and many more.
+
+ * css/CSSParser.cpp:
+ (WebCore::parseInt):
+ (WebCore::CSSParser::parseColor):
+
+2010-02-26 Jarkko Sakkinen <jarkko.sakkinen@tieto.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35419
+ 3D canvas did not update when WTF_USE_ACCELERATED_COMPOSITING
+ was enabled but not from run-time settings. Added run-time
+ check that compositing is enabled.
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore::WebGLRenderingContext::markContextChanged):
+
+2010-02-26 Jarkko Sakkinen <jarkko.sakkinen@tieto.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Compilation failed because functions glSampleCoverage, glBlendEquation
+ and glActiveTexture were not available.
+ https://bugs.webkit.org/show_bug.cgi?id=35423
+
+ * platform/graphics/qt/GraphicsContext3DQt.cpp:
+ (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
+ (WebCore::GraphicsContext3D::activeTexture):
+ (WebCore::GraphicsContext3D::blendEquation):
+ (WebCore::GraphicsContext3D::sampleCoverage):
+
+2010-02-26 Jarkko Sakkinen <jarkko.sakkinen@tieto.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35380
+ Fixed compilation error when WTF_USE_ACCELERATED_COMPOSITING=0
+
+ * css/MediaQueryEvaluator.cpp:
+ (WebCore::transform_3dMediaFeatureEval):
+
+2010-02-26 Nicholas Young <nicholas.young@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Incorrect painting after a size changed.
+ https://bugs.webkit.org/show_bug.cgi?id=35412
+
+ No new tests. Bug fix in backend.
+
+ * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
+ (WebCore::MediaPlayerPrivate::paint): Provide the source rectangle, rather than inferring it.
+
+2010-02-26 Nicholas Young <nicholas.young@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Incorrect handling of MIME types in Media Player
+ https://bugs.webkit.org/show_bug.cgi?id=35413
+
+ No new tests. Bug fix in backend.
+
+ * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
+ (WebCore::MediaPlayerPrivate::supportsType): Corrected logic.
+
+2010-02-26 Joanmarie Diggs <joanmarie.diggs@gmail.com>
+
+ Reviewed by Xan Lopez.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35418
+ [Gtk] Every table, including layout tables, should be exposed as a table
+
+ This patch exposes layout tables as tables. (Addressing the problematic table
+ hierarchy remains to be done.)
+
+ * accessibility/gtk/AccessibilityObjectAtk.cpp:
+ (AccessibilityObject::accessibilityPlatformIncludesObject):
+ * accessibility/AccessibilityRenderObject.cpp:
+ (AccessibilityRenderObject::determineAccessibilityRole):
+
+2010-02-26 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ XSSAuditor is super super super slow
+ https://bugs.webkit.org/show_bug.cgi?id=35373
+
+ In this patch, we separate the decoding cache for the page's URL and
+ form data. Previously, we used the same cache for both, which caused
+ us miss the cache every time when the page had form data (because the
+ cache only stored one entry). When the form data is large, we were
+ wasting a lot of time canonicalizing.
+
+ * page/XSSAuditor.cpp:
+ (WebCore::XSSAuditor::findInRequest):
+ * page/XSSAuditor.h:
+
+2010-02-26 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ SVGResourceClipper needs to be moved to RenderSVGResourceClipper
+ https://bugs.webkit.org/show_bug.cgi?id=35421
+
+ Move SVGResourceClipper to RenderSVGResourceClipper. This follows the changes
+ of Masker and helps to clean up the SVG code. Code snippets from SVGClipPathElement
+ and SVGResourceClipper got combined in RenderSVGResourceClipper. DRT results are
+ more readable for clipPath's now. It's possible to see the unit type of clipper, as
+ well as it's childs instead of just one path.
+
+ * Android.mk:
+ * GNUmakefile.am:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * rendering/RenderSVGResource.h:
+ (WebCore::):
+ * rendering/RenderSVGResourceClipper.cpp: Added.
+ (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper):
+ (WebCore::RenderSVGResourceClipper::~RenderSVGResourceClipper):
+ (WebCore::RenderSVGResourceClipper::invalidateClients):
+ (WebCore::RenderSVGResourceClipper::invalidateClient):
+ (WebCore::RenderSVGResourceClipper::applyResource):
+ (WebCore::RenderSVGResourceClipper::resourceBoundingBox):
+ * rendering/RenderSVGResourceClipper.h: Added.
+ (WebCore::RenderSVGResourceClipper::renderName):
+ (WebCore::RenderSVGResourceClipper::resourceType):
+ (WebCore::RenderSVGResourceClipper::clipPathUnits):
+ * rendering/SVGRenderSupport.cpp:
+ (WebCore::SVGRenderBase::prepareToRenderSVGContent):
+ (WebCore::SVGRenderBase::clipperBoundingBoxForRenderer):
+ (WebCore::SVGRenderBase::deregisterFromResources):
+ * rendering/SVGRenderTreeAsText.cpp:
+ (WebCore::operator<<):
+ (WebCore::writeStyle):
+ (WebCore::writeSVGResource):
+ (WebCore::writeResources):
+ * svg/SVGClipPathElement.cpp:
+ (WebCore::SVGClipPathElement::svgAttributeChanged):
+ (WebCore::SVGClipPathElement::childrenChanged):
+ (WebCore::SVGClipPathElement::createRenderer):
+ * svg/SVGClipPathElement.h:
+ (WebCore::SVGClipPathElement::isValid):
+ * svg/SVGStyledElement.cpp:
+ (WebCore::SVGStyledElement::invalidateResources):
+ * svg/graphics/SVGResource.h:
+ (WebCore::):
+ (WebCore::SVGResource::isPaintServer):
+ (WebCore::SVGResource::isFilter):
+ (WebCore::SVGResource::isMarker):
+ * svg/graphics/SVGResourceClipper.cpp: Removed.
+ * svg/graphics/SVGResourceClipper.h: Removed.
+
+2010-02-26 Ben Murdoch <benm@google.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ The element that a touchevent is dispatched to isn't always right
+ https://bugs.webkit.org/show_bug.cgi?id=35431
+
+ The element that touch events are dispatched on is not always the
+ correct one, as the cached m_touchEventTarget member is only updated
+ when the first element of the PlatformTouchEvent touch list is in the
+ TouchPressed state.
+
+ This patch changes this behavior to dispatch the event to the target
+ of the touch that caused the event to be generated and eliminates the
+ m_touchEventTarget in favour of using the touch target hashmap. It also
+ simplifies the way in which the touchTargets list is generated as we
+ no longer have m_touchEventTarget (which was used previously to build
+ the list). The new behavior matches the observed behavior of the
+ iPhone and Android.
+
+ * page/EventHandler.cpp:
+ (WebCore::assembleTargetTouches): Added. new function to build the
+ targetTouches list. Filters a list of touches (passed) about
+ another given touch.
+ (WebCore::EventHandler::handleTouchEvent): Remove the
+ m_touchEventTarget member, and simplify the generation of the
+ TouchLists that are bundled with the TouchEVent object. Dispatch
+ the event to the target of the touch that caused the event to be
+ fired.
+ * page/EventHandler.h: Remove m_touchEventTarget.
+
+2010-02-26 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Fix the handling of updates to #hash fragments to check for differences
+ post-canonicalization rather than comparing pre- to post-. Chromium
+ had a bug where we would set the #hash on an about:blank URL and generate
+ an onload event because we thought the URL (not just the fragment) was
+ changing.
+
+ http://bugs.webkit.org/show_bug.cgi?id=35180
+
+ Test: fast/loader/about-blank-hash-change.html
+
+ * bindings/v8/custom/V8LocationCustom.cpp:
+ (WebCore::V8Location::hashAccessorSetter):
+
+2010-02-26 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by David Levin.
+
+ texImage2D and texSubImage2D taking ImageData ignore flipY and premultiplyAlpha
+ https://bugs.webkit.org/show_bug.cgi?id=34459
+
+ Test: fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data.html
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore::WebGLRenderingContext::texImage2D): Apply flipY and premultiplyAlpha to the texture data.
+ (WebCore::WebGLRenderingContext::texSubImage2D): Ditto.
+ * platform/graphics/GraphicsContext3D.cpp:
+ (WebCore::GraphicsContext3D::extractImageData): Extract data from ImageData, applying flipY and premultiplyAlpha.
+ * platform/graphics/GraphicsContext3D.h: Add function extractImageData declaration.
+
+2010-02-26 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by David Levin.
+
+ Set viewport to canvas size upon context creation
+ https://bugs.webkit.org/show_bug.cgi?id=35057
+
+ Covered by existing tests, in particular fast/canvas/webgl/gl-get-calls.html
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore::WebGLRenderingContext::WebGLRenderingContext): Set the viewport size to match the canvas size.
+
+2010-02-26 Pavel Feldman <pfeldman@chromium.org>
+
+ Not reviewed: touch InspectorController to force front-end deployment.
+
+ * inspector/InspectorController.cpp:
+
+2010-02-26 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ WebInspector: While the current timeline view in DevTools provides a great overview of
+ things happening, we should make it easier to locate the cause of an event,
+ e.g., link to JS where relevant.
+ Caller info support for all kind of Timeline events and new Function Call event will be added.
+ JSC can be patched the same way as it will be done for V8.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33995
+
+ * bindings/js/ScriptCallStack.cpp:
+ (WebCore::ScriptCallStack::callLocation):
+ * bindings/js/ScriptCallStack.h:
+ * bindings/v8/ScriptCallStack.cpp:
+ (WebCore::ScriptCallStack::create):
+ (WebCore::ScriptCallStack::callLocation):
+ * bindings/v8/ScriptCallStack.h:
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::callFunction):
+ * inspector/InspectorTimelineAgent.cpp:
+ (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
+ (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
+ (WebCore::InspectorTimelineAgent::willCallFunction):
+ (WebCore::InspectorTimelineAgent::didCallFunction):
+ (WebCore::InspectorTimelineAgent::pushCurrentRecord):
+ * inspector/InspectorTimelineAgent.h:
+ (WebCore::):
+ (WebCore::InspectorTimelineAgent::instanceCount):
+ * inspector/TimelineRecordFactory.cpp:
+ (WebCore::TimelineRecordFactory::createGenericRecord):
+ (WebCore::TimelineRecordFactory::createFunctionCallData):
+ * inspector/TimelineRecordFactory.h:
+ * inspector/front-end/Popover.js:
+ (WebInspector.Popover.prototype.hideWhenClicked):
+ (WebInspector.Popover.prototype._positionElement):
+ * inspector/front-end/TimelineAgent.js:
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel):
+ (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
+ (WebInspector.TimelinePanel.prototype._formatRecord):
+ (WebInspector.TimelinePanel.prototype._getRecordDetails):
+ (WebInspector.TimelinePanel.prototype.reset):
+ (WebInspector.TimelinePanel.prototype._closeRecordDetails):
+ (WebInspector.TimelinePanel.prototype._onScroll):
+ (WebInspector.TimelinePanel.prototype._refresh):
+ (WebInspector.TimelinePanel.prototype._refreshRecords):
+ (WebInspector.TimelineRecordListRow):
+ (WebInspector.TimelineRecordListRow.prototype.update):
+ (WebInspector.TimelineRecordListRow.prototype._createCell):
+ (WebInspector.TimelineRecordListRow.prototype._createRow):
+ (WebInspector.TimelineRecordListRow.prototype._createLinkRow):
+ (WebInspector.TimelineRecordListRow.prototype._generateBubbleContent):
+ (WebInspector.TimelineRecordListRow.prototype._onClick):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.js:
+ (WebInspector.linkifyResourceAsNode):
+
+2010-02-26 Csaba Osztrogonác <ossy@webkit.org>
+
+ Unreviewed. Roll-out r55263 because it broke fast/forms/textarea-type-spaces-pretty-diff.html.
+ https://bugs.webkit.org/show_bug.cgi?id=30946
+
+ * editing/CompositeEditCommand.cpp:
+ (WebCore::isWhitespace):
+ (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
+ * editing/InsertTextCommand.cpp:
+ (WebCore::InsertTextCommand::input):
+ * editing/InsertTextCommand.h:
+ * editing/htmlediting.cpp:
+ * editing/htmlediting.h:
+
+2010-02-25 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Brady Eidson.
+
+ <rdar://problem/7688455> REGRESSION(r55205): Crash inside dispatchEventsOnWindowAndFocusedNode when clicking link from bookmarks view
+
+ Null-check the document's page to avoid dereferencing a null page.
+
+ No regression test is added as this appears to be dependent on an interaction with Safari's bookmarks view that is
+ not testable from within DumpRenderTree.
+
+ * page/FocusController.cpp:
+ (WebCore::dispatchEventsOnWindowAndFocusedNode):
+
+2010-02-25 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Multiple repaints on apple.com
+ https://bugs.webkit.org/show_bug.cgi?id=35409
+
+ apple.com was triggering the fast scaling path for background images due to
+ repeated repaints as more content came in. This occured due to a two problems
+ in the logic to detect scaling. The first is that the main context is flipped
+ on mac so fails the identity or translation check. We work around this by adding
+ an function that allows the scaling for a flipped CTM. The other problem was that
+ we were looking at the destination rect size instead of the destination tile size
+ when deciding if the size we were drawn at would cause scaling.
+
+ * platform/graphics/transforms/AffineTransform.h:
+ (WebCore::AffineTransform::isIdentityOrTranslationOrFlipped):
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality):
+ (WebCore::RenderBoxModelObject::paintFillLayerExtended):
+
+2010-02-25 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ Extra layout on keypress after a space (problem with rebalanceWhitespaceAt in InsertTextCommand).
+ https://bugs.webkit.org/show_bug.cgi?id=30946
+ <rdar://problem/7639184>
+
+ Do text insertion and whitespace rebalancing around the insertion in one step so that there's only one layout.
+ This patch was originally made by Justin Garcia.
+
+ Test: editing/inserting/rebalance-whitespace-1.html
+
+ * editing/CompositeEditCommand.cpp:
+ (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): No behavior changes here,
+ just pushed the code that determined the extent of whitespace surrounding a position
+ to its own helper function.
+ * editing/InsertTextCommand.cpp:
+ (WebCore::InsertTextCommand::insertTextIntoNodeAndRebalanceWhitespace): Added. Find
+ whitespace surrounding the insertion position, add the text to insert, rebalance that entire
+ string, then insert it into the document.
+ (WebCore::InsertTextCommand::input):
+ * editing/InsertTextCommand.h:
+ * editing/htmlediting.cpp:
+ (WebCore::isWhitespace): Moved from CompositeEditCommand.cpp.
+ (WebCore::extentOfWhitespaceForRebalancingAt): Moved code from rebalanceWhitespaceAt into this helper
+ function. Obtains the offset of the start and end of whitespace around a particular position.
+ * editing/htmlediting.h:
+
+2010-02-25 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35406
+ <rdar://problem/6945502> Make generic array methods work with JavaArray
+
+ Test: java/array-sort.html
+
+ Made RuntimeArray inherit from JSArray, keeping the promise given in ClassInfo.
+
+ * bridge/runtime_array.cpp:
+ (JSC::RuntimeArray::RuntimeArray):
+ (JSC::RuntimeArray::~RuntimeArray):
+ * bridge/runtime_array.h:
+ (JSC::RuntimeArray::classInfo):
+ (JSC::RuntimeArray::getConcreteArray):
+
+2010-02-25 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Fixed a regression introduced in r44243, which made the assertion in checkListItems()
+ ineffective.
+
+ * dom/SelectElement.cpp:
+ (WebCore::SelectElementData::checkListItems): Copy the items vector before recomputing it,
+ then assert that the newly-computed vector is equal to the copy.
+
+2010-02-25 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ SVG's tspan is no member of SVGRenderBase, this can cause crashes on filters
+ https://bugs.webkit.org/show_bug.cgi?id=35354
+
+ This makes the base class RenderSVGInline of RenderSVGTSpan and RenderSVGInlineText
+ dependent on SVGBaseRenderer.
+ The SVG spec want as to use the object bounding box of the text root as the bounding box
+ for text-childs. So we search for the text root and use it's bounding box, stroke rect and
+ repaint rect for further calculations.
+
+ Test: svg/filters/filter-on-tspan.svg
+
+ * rendering/RenderSVGInline.cpp:
+ (WebCore::RenderSVGInline::objectBoundingBox): Find the text root and give back it's bounding box.
+ (WebCore::RenderSVGInline::strokeBoundingBox): same for stroke rect
+ (WebCore::RenderSVGInline::repaintRectInLocalCoordinates): same for repaint rect
+ * rendering/RenderSVGInline.h:
+ (WebCore::RenderSVGInline::toSVGRenderBase): RenderSVGInline is part of SVGRenderBase now.
+ * rendering/RenderSVGTSpan.h:
+ (WebCore::RenderSVGTSpan::renderName): Removed bounding box code. Was just a hack for filters and maskers.
+ * rendering/SVGRenderSupport.cpp:
+ (WebCore::findTextRootObject): Search for the text root.
+ * rendering/SVGRenderSupport.h:
+ * svg/graphics/SVGPaintServerGradient.cpp: moved findTextRootObject to SVGRenderSupport
+
+2010-02-25 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ Use-element doesn't transform clipPath
+ https://bugs.webkit.org/show_bug.cgi?id=35375
+
+ If the use element is a child of clipPath, any settings on x, y or transform does not
+ transform the clipPath it references.
+ The use-element just misses this transformation in toClipPath.
+
+ Test: svg/custom/use-on-clip-path-with-transformation.svg
+
+ * platform/graphics/cairo/PathCairo.cpp: Gtk port translated the path to the wrong direction.
+ (WebCore::Path::translate):
+ * svg/SVGUseElement.cpp:
+ (WebCore::SVGUseElement::toClipPath):
+
+2010-02-25 Jian Li <jianli@chromium.org>
+
+ Reviewed by Dmitry Titov.
+
+ File.type support.
+ https://bugs.webkit.org/show_bug.cgi?id=35361
+
+ Test: LayoutTests/editing/pasteboard/file-input-files-access.html
+
+ * html/File.cpp:
+ (WebCore::File::File):
+ * html/File.h:
+ (WebCore::File::type):
+ * html/File.idl:
+
+2010-02-25 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Javascript console should not attempt to scroll to end of console if console is not visible
+
+ https://bugs.webkit.org/show_bug.cgi?id=22992
+
+ * inspector/front-end/ConsoleView.js:
+ (WebInspector.ConsoleView.prototype._scheduleScrollIntoView.scrollIntoView):
+ (WebInspector.ConsoleView.prototype._scheduleScrollIntoView):
+ (WebInspector.ConsoleView.prototype.addMessage):
+
+2010-02-25 Alexey Proskuryakov <ap@apple.com>
+
+ Qt and Gtk build fixes.
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ Added CRuntimeObject.{c,cpp}.
+
+2010-02-25 Alexey Proskuryakov <ap@apple.com>
+
+ Windows build fix.
+
+ * WebCore.vcproj/WebCore.vcproj: Added CRuntimeObject.{c,cpp}.
+
+2010-02-25 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35394
+ <rdar://problem/7685262> Make passing objects between Java and plug-ins work
+
+ * WebCore.PluginHostProcess.exp: WebKit now subclasses RuntimeObject, so it needed more exports.
+
+ * bridge/runtime_object.cpp:
+ (JSC::Bindings::callRuntimeObject):
+ (JSC::Bindings::callRuntimeConstructor):
+ Assert that a runtime object is passed as function.
+
+ * bridge/runtime_object.h: Moved RuntimeObject into Bindings namespace, matching other
+ related classes.
+
+ * bridge/jni/jni_jsobject.mm:
+ (JavaJSObject::toString): Pass rootObject to convertValueToJValue(). It's not needed when
+ constructing a string, but this function now takes it for the sake of Object.
+ (JavaJSObject::convertValueToJObject): Check that object class is JavaRuntimeObject, not
+ just RuntimeObject.
+
+ * bridge/jni/jsc/JNIBridgeJSC.cpp:
+ (JavaField::setValueToInstance): Pass rootObject to convertValueToJValue().
+ (JavaArray::setValueAt): Ditto.
+
+ * bridge/jni/jsc/JNIUtilityPrivate.h: convertValueToJValue() now takes a RootObject argument,
+ because one is needed to gcProtect an object ghtat is wrapped into JSObject.
+
+ * bridge/jni/jsc/JNIUtilityPrivate.cpp: (JSC::Bindings::convertValueToJValue): Convert
+ JavaScript objects to Java JSObject ones. This was already happening in other code paths,
+ which we should change to use common code.
+
+ * bridge/jni/jsc/JavaInstanceJSC.cpp:
+ (JavaInstance::newRuntimeObject): Create an appropriate RuntimeObject subclass,
+ which is JavaRuntimeObject for Java.
+ (JavaInstance::invokeMethod): Unwrap returned JavaObjects that contain JS objects.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/objc/WebScriptObject.mm:
+ (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
+ * bridge/c/CRuntimeObject.cpp: Added.
+ (JSC::Bindings::CRuntimeObject::CRuntimeObject):
+ (JSC::Bindings::CRuntimeObject::~CRuntimeObject):
+ (JSC::Bindings::CRuntimeObject::getInternalCInstance):
+ * bridge/c/CRuntimeObject.h: Added.
+ (JSC::Bindings::CRuntimeObject::classInfo):
+ * bridge/c/c_instance.cpp:
+ (JSC::Bindings::CInstance::newRuntimeObject):
+ * bridge/c/c_instance.h:
+ * bridge/c/c_utility.cpp:
+ (JSC::Bindings::convertValueToNPVariant):
+ * bridge/jni/jsc/JavaInstanceJSC.h:
+ * bridge/jni/jsc/JavaRuntimeObject.cpp: Added.
+ (JSC::Bindings::):
+ (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):
+ (JSC::Bindings::JavaRuntimeObject::~JavaRuntimeObject):
+ (JSC::Bindings::JavaRuntimeObject::getInternalJavaInstance):
+ * bridge/jni/jsc/JavaRuntimeObject.h: Added.
+ (JSC::Bindings::JavaRuntimeObject::classInfo):
+ * bridge/jsc/BridgeJSC.h:
+ * bridge/objc/ObjCRuntimeObject.h: Added.
+ (JSC::Bindings::ObjCRuntimeObject::classInfo):
+ * bridge/objc/ObjCRuntimeObject.mm: Added.
+ (JSC::Bindings::):
+ (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
+ (JSC::Bindings::ObjCRuntimeObject::~ObjCRuntimeObject):
+ (JSC::Bindings::ObjCRuntimeObject::getInternalObjCInstance):
+ * bridge/objc/objc_instance.h:
+ * bridge/objc/objc_instance.mm:
+ (ObjcInstance::newRuntimeObject):
+ * bridge/objc/objc_runtime.mm:
+ (JSC::Bindings::callObjCFallbackObject):
+ * bridge/runtime_root.h:
+ Added RuntimeObject subclasses for each instance type, and use them for type casting.
+
+2010-02-25 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Rubber-stamped by Xan Lopez.
+
+ Adopt the same string as the one that is expected by
+ fast/parser/fragment-parser.html for the description used by the
+ <isindex> element.
+
+ * platform/gtk/LocalizedStringsGtk.cpp:
+ (WebCore::searchableIndexIntroduction):
+
+2010-02-25 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: evaluate-on-hover does not work on HTML files.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35378
+
+ * inspector/front-end/SourceCSSTokenizer.re2js:
+ * inspector/front-end/SourceHTMLTokenizer.js:
+ (WebInspector.SourceHTMLTokenizer):
+ (WebInspector.SourceHTMLTokenizer.prototype.set line):
+ (WebInspector.SourceHTMLTokenizer.prototype._isExpectingAttribute):
+ (WebInspector.SourceHTMLTokenizer.prototype._isExpectingAttributeValue):
+ (WebInspector.SourceHTMLTokenizer.prototype._setExpectingAttribute):
+ (WebInspector.SourceHTMLTokenizer.prototype._setExpectingAttributeValue):
+ (WebInspector.SourceHTMLTokenizer.prototype._attrValueTokenType):
+ (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
+ * inspector/front-end/SourceHTMLTokenizer.re2js:
+ * inspector/front-end/SourceJavaScriptTokenizer.js:
+ (WebInspector.SourceJavaScriptTokenizer):
+ * inspector/front-end/SourceJavaScriptTokenizer.re2js:
+ * inspector/front-end/SourceTokenizer.js:
+ (WebInspector.SourceTokenizer.prototype.set condition):
+ (WebInspector.SourceTokenizer.prototype.get condition):
+ (WebInspector.SourceTokenizer.prototype.get subTokenizer):
+ (WebInspector.SourceTokenizer.prototype.getLexCondition):
+ (WebInspector.SourceTokenizer.prototype.setLexCondition):
+ * inspector/front-end/TextEditorHighlighter.js:
+ (WebInspector.TextEditorHighlighter):
+ (WebInspector.TextEditorHighlighter.prototype.set mimeType):
+ (WebInspector.TextEditorHighlighter.prototype.highlight):
+ (WebInspector.TextEditorHighlighter.prototype._highlightInChunks):
+ (WebInspector.TextEditorHighlighter.prototype._highlightLines):
+ (WebInspector.TextEditorHighlighter.prototype._highlightLine):
+ * inspector/front-end/TextViewer.js:
+ (WebInspector.TextViewer.prototype._paintLine):
+
+2010-02-25 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ Simple style cleanups.
+
+ * plugins/gtk/PluginViewGtk.cpp:
+ (WebCore::plugRemovedCallback):
+ (WebCore::plugAddedCallback):
+ (WebCore::PluginView::platformStart):
+
+2010-02-25 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Optimize decoding of Latin-1 text by exploiting the fact that most of it will
+ be ASCII-only data.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35233
+
+ * platform/text/TextCodecLatin1.cpp:
+ (WebCore::TextCodecLatin1::decode):
+
+2010-02-25 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Web Inspector: make script lines count calculation lazy.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35392
+
+ * inspector/front-end/Script.js:
+ (WebInspector.Script):
+ (WebInspector.Script.prototype.get linesCount):
+ * inspector/front-end/ScriptsPanel.js:
+ * inspector/front-end/SourceView.js:
+ (WebInspector.SourceView.prototype._addBreakpoint):
+
+2010-02-25 James Choi <jchoi42@pha.jhu.edu>
+
+ Reviewed by David Levin.
+
+ Change hardcoded gcc paths to be Solaris friendly
+ https://bugs.webkit.org/show_bug.cgi?id=35213
+
+ * bindings/scripts/CodeGeneratorObjC.pm:
+ * bindings/scripts/IDLParser.pm:
+ * css/make-css-file-arrays.pl:
+ * dom/make_names.pl:
+
+2010-02-25 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ Workaround Java plugins not drawing themselves properly on first
+ expose by doing a late size-allocate after 'plug-added' has been
+ emitted on the embedding GtkSocket. It's unclear to me if this is
+ a bug in our side or theirs, but this should be pretty safe and
+ fixes the annoyance while we investigate it further.
+
+ * plugins/gtk/PluginViewGtk.cpp:
+ (WebCore::plugAddedCallback):
+ (WebCore::PluginView::platformStart):
+
+2010-02-23 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Add missing include guards
+
+ * loader/CrossOriginPreflightResultCache.h:
+ * loader/MainResourceLoader.h:
+
+2010-02-25 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Restrict the optimization flags for Symbian to release builds.
+
+ * WebCore.pro:
+
+2010-02-25 Jarkko Sakkinen <jarkko.sakkinen@tieto.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Qt WebGL support
+
+ Adds GraphicsContext3D QtWebKit implementation.
+ https://bugs.webkit.org/show_bug.cgi?id=35153
+
+ * WebCore.pri:
+ * WebCore.pro:
+ * platform/graphics/GraphicsContext3D.h:
+ * platform/graphics/qt/GraphicsContext3DQt.cpp: Added.
+ (WebCore::GraphicsContext3DInternal::isValid):
+ (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
+ (WebCore::GraphicsContext3DInternal::~GraphicsContext3DInternal):
+ (WebCore::GraphicsContext3DInternal::getProcAddress):
+ (WebCore::GraphicsContext3D::create):
+ (WebCore::GraphicsContext3D::GraphicsContext3D):
+ (WebCore::GraphicsContext3D::~GraphicsContext3D):
+ (WebCore::GraphicsContext3D::platformGraphicsContext3D):
+ (WebCore::GraphicsContext3D::platformTexture):
+ (WebCore::GraphicsContext3D::makeContextCurrent):
+ (WebCore::GraphicsContext3D::beginPaint):
+ (WebCore::GraphicsContext3D::endPaint):
+ (WebCore::GraphicsContext3D::reshape):
+ (WebCore::GraphicsContext3D::activeTexture):
+ (WebCore::GraphicsContext3D::attachShader):
+ (WebCore::GraphicsContext3D::bindAttribLocation):
+ (WebCore::GraphicsContext3D::bindBuffer):
+ (WebCore::GraphicsContext3D::bindFramebuffer):
+ (WebCore::GraphicsContext3D::bindRenderbuffer):
+ (WebCore::GraphicsContext3D::bindTexture):
+ (WebCore::GraphicsContext3D::blendColor):
+ (WebCore::GraphicsContext3D::blendEquation):
+ (WebCore::GraphicsContext3D::blendEquationSeparate):
+ (WebCore::GraphicsContext3D::blendFunc):
+ (WebCore::GraphicsContext3D::blendFuncSeparate):
+ (WebCore::GraphicsContext3D::bufferData):
+ (WebCore::GraphicsContext3D::bufferSubData):
+ (WebCore::GraphicsContext3D::checkFramebufferStatus):
+ (WebCore::GraphicsContext3D::clearColor):
+ (WebCore::GraphicsContext3D::clear):
+ (WebCore::GraphicsContext3D::clearDepth):
+ (WebCore::GraphicsContext3D::clearStencil):
+ (WebCore::GraphicsContext3D::colorMask):
+ (WebCore::GraphicsContext3D::compileShader):
+ (WebCore::GraphicsContext3D::copyTexImage2D):
+ (WebCore::GraphicsContext3D::copyTexSubImage2D):
+ (WebCore::GraphicsContext3D::cullFace):
+ (WebCore::GraphicsContext3D::depthFunc):
+ (WebCore::GraphicsContext3D::depthMask):
+ (WebCore::GraphicsContext3D::depthRange):
+ (WebCore::GraphicsContext3D::detachShader):
+ (WebCore::GraphicsContext3D::disable):
+ (WebCore::GraphicsContext3D::disableVertexAttribArray):
+ (WebCore::GraphicsContext3D::drawArrays):
+ (WebCore::GraphicsContext3D::drawElements):
+ (WebCore::GraphicsContext3D::enable):
+ (WebCore::GraphicsContext3D::enableVertexAttribArray):
+ (WebCore::GraphicsContext3D::finish):
+ (WebCore::GraphicsContext3D::flush):
+ (WebCore::GraphicsContext3D::framebufferRenderbuffer):
+ (WebCore::GraphicsContext3D::framebufferTexture2D):
+ (WebCore::GraphicsContext3D::frontFace):
+ (WebCore::GraphicsContext3D::generateMipmap):
+ (WebCore::GraphicsContext3D::getActiveAttrib):
+ (WebCore::GraphicsContext3D::getActiveUniform):
+ (WebCore::GraphicsContext3D::getAttribLocation):
+ (WebCore::GraphicsContext3D::getContextAttributes):
+ (WebCore::GraphicsContext3D::getError):
+ (WebCore::GraphicsContext3D::getString):
+ (WebCore::GraphicsContext3D::hint):
+ (WebCore::GraphicsContext3D::isBuffer):
+ (WebCore::GraphicsContext3D::isEnabled):
+ (WebCore::GraphicsContext3D::isFramebuffer):
+ (WebCore::GraphicsContext3D::isProgram):
+ (WebCore::GraphicsContext3D::isRenderbuffer):
+ (WebCore::GraphicsContext3D::isShader):
+ (WebCore::GraphicsContext3D::isTexture):
+ (WebCore::GraphicsContext3D::lineWidth):
+ (WebCore::GraphicsContext3D::linkProgram):
+ (WebCore::GraphicsContext3D::pixelStorei):
+ (WebCore::GraphicsContext3D::polygonOffset):
+ (WebCore::GraphicsContext3D::readPixels):
+ (WebCore::GraphicsContext3D::releaseShaderCompiler):
+ (WebCore::GraphicsContext3D::renderbufferStorage):
+ (WebCore::GraphicsContext3D::sampleCoverage):
+ (WebCore::GraphicsContext3D::scissor):
+ (WebCore::GraphicsContext3D::shaderSource):
+ (WebCore::GraphicsContext3D::stencilFunc):
+ (WebCore::GraphicsContext3D::stencilFuncSeparate):
+ (WebCore::GraphicsContext3D::stencilMask):
+ (WebCore::GraphicsContext3D::stencilMaskSeparate):
+ (WebCore::GraphicsContext3D::stencilOp):
+ (WebCore::GraphicsContext3D::stencilOpSeparate):
+ (WebCore::GraphicsContext3D::texParameterf):
+ (WebCore::GraphicsContext3D::texParameteri):
+ (WebCore::GraphicsContext3D::uniform1f):
+ (WebCore::GraphicsContext3D::uniform1fv):
+ (WebCore::GraphicsContext3D::uniform2f):
+ (WebCore::GraphicsContext3D::uniform2fv):
+ (WebCore::GraphicsContext3D::uniform3f):
+ (WebCore::GraphicsContext3D::uniform3fv):
+ (WebCore::GraphicsContext3D::uniform4f):
+ (WebCore::GraphicsContext3D::uniform4fv):
+ (WebCore::GraphicsContext3D::uniform1i):
+ (WebCore::GraphicsContext3D::uniform1iv):
+ (WebCore::GraphicsContext3D::uniform2i):
+ (WebCore::GraphicsContext3D::uniform2iv):
+ (WebCore::GraphicsContext3D::uniform3i):
+ (WebCore::GraphicsContext3D::uniform3iv):
+ (WebCore::GraphicsContext3D::uniform4i):
+ (WebCore::GraphicsContext3D::uniform4iv):
+ (WebCore::GraphicsContext3D::uniformMatrix2fv):
+ (WebCore::GraphicsContext3D::uniformMatrix3fv):
+ (WebCore::GraphicsContext3D::uniformMatrix4fv):
+ (WebCore::GraphicsContext3D::useProgram):
+ (WebCore::GraphicsContext3D::validateProgram):
+ (WebCore::GraphicsContext3D::vertexAttrib1f):
+ (WebCore::GraphicsContext3D::vertexAttrib1fv):
+ (WebCore::GraphicsContext3D::vertexAttrib2f):
+ (WebCore::GraphicsContext3D::vertexAttrib2fv):
+ (WebCore::GraphicsContext3D::vertexAttrib3f):
+ (WebCore::GraphicsContext3D::vertexAttrib3fv):
+ (WebCore::GraphicsContext3D::vertexAttrib4f):
+ (WebCore::GraphicsContext3D::vertexAttrib4fv):
+ (WebCore::GraphicsContext3D::vertexAttribPointer):
+ (WebCore::GraphicsContext3D::viewport):
+ (WebCore::GraphicsContext3D::getBooleanv):
+ (WebCore::GraphicsContext3D::getBufferParameteriv):
+ (WebCore::GraphicsContext3D::getFloatv):
+ (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
+ (WebCore::GraphicsContext3D::getIntegerv):
+ (WebCore::GraphicsContext3D::getProgramiv):
+ (WebCore::GraphicsContext3D::getProgramInfoLog):
+ (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
+ (WebCore::GraphicsContext3D::getShaderiv):
+ (WebCore::GraphicsContext3D::getShaderInfoLog):
+ (WebCore::GraphicsContext3D::getShaderSource):
+ (WebCore::GraphicsContext3D::getTexParameterfv):
+ (WebCore::GraphicsContext3D::getTexParameteriv):
+ (WebCore::GraphicsContext3D::getUniformfv):
+ (WebCore::GraphicsContext3D::getUniformiv):
+ (WebCore::GraphicsContext3D::getUniformLocation):
+ (WebCore::GraphicsContext3D::getVertexAttribfv):
+ (WebCore::GraphicsContext3D::getVertexAttribiv):
+ (WebCore::GraphicsContext3D::getVertexAttribOffset):
+ (WebCore::GraphicsContext3D::texImage2D):
+ (WebCore::GraphicsContext3D::texSubImage2D):
+ (WebCore::GraphicsContext3D::createBuffer):
+ (WebCore::GraphicsContext3D::createFramebuffer):
+ (WebCore::GraphicsContext3D::createProgram):
+ (WebCore::GraphicsContext3D::createRenderbuffer):
+ (WebCore::GraphicsContext3D::createShader):
+ (WebCore::GraphicsContext3D::createTexture):
+ (WebCore::GraphicsContext3D::deleteBuffer):
+ (WebCore::GraphicsContext3D::deleteFramebuffer):
+ (WebCore::GraphicsContext3D::deleteProgram):
+ (WebCore::GraphicsContext3D::deleteRenderbuffer):
+ (WebCore::GraphicsContext3D::deleteShader):
+ (WebCore::GraphicsContext3D::deleteTexture):
+ (WebCore::GraphicsContext3D::sizeInBytes):
+ (WebCore::GraphicsContext3D::synthesizeGLError):
+ (WebCore::GraphicsContext3D::getImageData):
+
+2010-02-25 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Swap images for activate and deactivate breakpoints.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35383
+
+ * WebCore.gypi:
+ * inspector/front-end/Images/breakpointsActivateButtonGlyph.png: Renamed from WebCore/inspector/front-end/Images/deactivateBreakpointsButtonGlyph.png.
+ * inspector/front-end/Images/breakpointsDeactivateButtonGlyph.png: Renamed from WebCore/inspector/front-end/Images/deactivateBreakpointsDisabledButtonGlyph.png.
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.css:
+
+2010-02-25 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Xan Lopez.
+
+ Go back on symlink resolution if we are loading the flash plugin,
+ and the path contains /netscape/, following what Chromium does.
+
+ Thanks to Evan Martin for the help on this!
+
+ * plugins/gtk/PluginPackageGtk.cpp:
+ (WebCore::PluginPackage::load):
+
+2010-02-25 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Scripts panel shows blank source when stopping on a breakpoint on refresh.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35232
+
+ * inspector/front-end/Panel.js:
+ (WebInspector.Panel.prototype.canShowSourceLine):
+ (WebInspector.Panel.prototype.showSourceLine):
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype.canShowSourceLine):
+ (WebInspector.ResourcesPanel.prototype.showSourceLine):
+ * inspector/front-end/Script.js:
+ (WebInspector.Script):
+ * inspector/front-end/ScriptView.js:
+ (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype.show):
+ (WebInspector.ScriptsPanel.prototype.get searchableViews):
+ (WebInspector.ScriptsPanel.prototype.addScript):
+ (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
+ (WebInspector.ScriptsPanel.prototype.addBreakpoint):
+ (WebInspector.ScriptsPanel.prototype.removeBreakpoint):
+ (WebInspector.ScriptsPanel.prototype.reset):
+ (WebInspector.ScriptsPanel.prototype.canShowSourceLine):
+ (WebInspector.ScriptsPanel.prototype.showSourceLine):
+ (WebInspector.ScriptsPanel.prototype._scriptOrResourceForURLAndLine):
+ (WebInspector.ScriptsPanel.prototype.showView):
+ (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
+ (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
+ (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu.optionCompare):
+ (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
+ * inspector/front-end/SourceView.js:
+ (WebInspector.SourceView.prototype._addBreakpoint):
+ * inspector/front-end/inspector.js:
+ (WebInspector.documentClick.followLink):
+ (WebInspector.documentClick):
+ (WebInspector._choosePanelToShowSourceLine):
+ (WebInspector.canShowSourceLine):
+ (WebInspector.showSourceLine):
+
+2010-02-25 Ben Murdoch <benm@google.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ The target element of a Touch should be the target where that touch originated, not where it is now.
+ https://bugs.webkit.org/show_bug.cgi?id=34585
+
+ Currently the target of a touch is set to the resulting node of the hit test where the touch currently
+ is. This does not match the behavior of iPhone or Android. This patch uses a hashmap on the EventHandler
+ to keep track of the target element when a touch is first started. This target is then used as the target
+ for subsequent touches with the same id. This matches observed behavior on iPhone and Android.
+
+ Tests:
+ fast/events/touch/touch-target.html: Added.
+ fast/events/touch/basic-single-touch-events.html: Updated.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleTouchEvent): Store the originating target element of a touch in a hashmap
+ so that we can reuse that target for future events caused by that touch. This matches observed behavior
+ on iPhone and Android.
+ * page/EventHandler.h: Add hashmap as a member.
+ * platform/PlatformTouchPoint.h:
+ (WebCore::PlatformTouchPoint::id): Store the touch point id as unsigned.
+ * platform/qt/PlatformTouchPointQt.cpp:
+ (WebCore::PlatformTouchPoint::PlatformTouchPoint): Cast platform touch id from signed to unsigned. Qt API
+ docs state that it will always be >= 0.
+
+2010-02-24 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Simon Fraser.
+ Patch by Antonio Gomes <tonikitoo@webkit.org>
+
+ Add a convenient center() method to IntRect
+ https://bugs.webkit.org/show_bug.cgi?id=35346
+
+ As it is a convenience method, and implemention is
+ based on FloatRect's one, patch does not provide a
+ layout test.
+
+ * platform/graphics/IntRect.h:
+ (WebCore::IntRect::center):
+
+2010-02-25 Andrey Kosyakov <caseq@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Fake workers implementation that simulates workers using iframe and timer,
+ needed to support workers debugging. Also, a facility to inject scripts into
+ inspected page upon load.
+ https://bugs.webkit.org/show_bug.cgi?id=35148
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/InspectorBackend.cpp:
+ (WebCore::InspectorBackend::addScriptToEvaluateOnLoad):
+ (WebCore::InspectorBackend::removeAllScriptsToEvaluateOnLoad):
+ * inspector/InspectorBackend.h:
+ * inspector/InspectorBackend.idl:
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::didCommitLoad):
+ (WebCore::InspectorController::addScriptToEvaluateOnLoad):
+ (WebCore::InspectorController::removeAllScriptsToEvaluateOnLoad):
+ * inspector/InspectorController.h:
+ * inspector/front-end/InjectedFakeWorker.js: Added.
+ (InjectedFakeWorker.Worker):
+ (InjectedFakeWorker.FakeWorker):
+ (InjectedFakeWorker.FakeWorker.prototype.postMessage):
+ (InjectedFakeWorker.FakeWorker.prototype.terminate):
+ (InjectedFakeWorker.FakeWorker.prototype._onmessageWrapper):
+ (InjectedFakeWorker.FakeWorker.prototype._dispatchMessage):
+ (InjectedFakeWorker.FakeWorker.prototype._handleException):
+ (InjectedFakeWorker.FakeWorker.prototype._buildWorker):
+ (InjectedFakeWorker.FakeWorker.prototype._setupWorkerContext.handler):
+ (InjectedFakeWorker.FakeWorker.prototype._setupWorkerContext):
+ (InjectedFakeWorker.FakeWorker.prototype._importScripts):
+ (InjectedFakeWorker.FakeWorker.prototype._loadScript):
+ (InjectedFakeWorker.URL):
+ (InjectedFakeWorker.URL.prototype.urlRegEx.split):
+ (InjectedFakeWorker.URL.prototype.mockLocation):
+ (InjectedFakeWorker.URL.prototype.completeWith):
+ (InjectedFakeWorker.URL.prototype.sameOrigin):
+ (InjectedFakeWorker.DOMCoreException.formatError):
+ (InjectedFakeWorker.DOMCoreException):
+ (InjectedFakeWorker.noop):
+ * inspector/front-end/InspectorBackendStub.js:
+ (.WebInspector.InspectorBackendStub.prototype.setInjectedScriptSource):
+ (.WebInspector.InspectorBackendStub.prototype.addScriptToEvaluateOnLoad):
+ (.WebInspector.InspectorBackendStub.prototype.removeAllScriptsToEvaluateOnLoad):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.html:
+
+2010-02-24 Nicholas Young <nicholas.young@nokia.com>
+
+ Reviewed by Eric Carlson.
+
+ Add mediaPlayerOwningDocument() to MediaPlayerClient.
+ https://bugs.webkit.org/show_bug.cgi?id=35374
+
+ No new tests. These are interface changes only.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::mediaPlayerOwningDocument): Implementation for media element.
+ * html/HTMLMediaElement.h:
+ * platform/graphics/MediaPlayer.h:
+ (WebCore::MediaPlayerClient::mediaPlayerOwningDocument): New virtual method.
+
+2010-02-24 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Optimized Font::normalizeSpaces() by caching the String::characters()
+ instead of repeatedly calling operator[]
+
+ https://bugs.webkit.org/show_bug.cgi?id=35336
+
+ * platform/graphics/Font.cpp:
+ (WebCore::Font::normalizeSpaces):
+
+2010-02-24 Jungshik Shin <jshin@chromium.org>
+
+ Reviewed by David Levin.
+
+ [Chromium] Traditional Chinese Chrome on Windows should use PMingLiu instead of Simsun for Han characters
+ https://bugs.webkit.org/show_bug.cgi?id=35319
+
+ No visible change in the layout test.
+
+ * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
+ (WebCore::):
+
+2010-02-24 Anthony Ricaud <rik@webkit.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Reduce the timer to show the eval popover
+ https://bugs.webkit.org/show_bug.cgi?id=35344
+
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype._mouseMove):
+
+2010-02-24 Jay Campan <jcampan@google.com>
+
+ Reviewed by David Levin.
+
+ Don't show the autofill popup when the input text is disabled or read only.
+
+ Test: manual-tests/chromium/no-autofill-on-readonly.html
+
+ https://bugs.webkit.org/show_bug.cgi?id=35129
+
+ * src/EditorClientImpl.cpp:
+ (WebKit::EditorClientImpl::autofill):
+ * manual-tests/chromium/no-autofill-on-readonly.html: Added.
+
+2010-02-24 Dominic Mazzoni <dmazzoni@chromium.org>
+
+ Reviewed by Jeremy Orlow.
+
+ Wraps includes of SVG headers so that it's possible to
+ compile the V8 bindings with SVG disabled, e.g. 'enable_svg=0'.
+ https://bugs.webkit.org/show_bug.cgi?id=35345
+
+ No new tests.
+
+ * bindings/v8/V8DOMWrapper.cpp:
+ * bindings/v8/V8Proxy.cpp:
+ * bindings/v8/custom/V8CSSValueCustom.cpp:
+ * bindings/v8/custom/V8DocumentCustom.cpp:
+ * bindings/v8/custom/V8ElementCustom.cpp:
+ * bindings/v8/custom/V8EventCustom.cpp:
+ * bindings/v8/custom/V8SVGElementCustom.cpp:
+
+2010-02-24 Maciej Stachowiak <mjs@apple.com>
+
+ Unreviewed build fix.
+
+ Fix gtk build.
+
+ Include JSC headers as runtime/ instead of JavaScriptCore/
+
+ * bindings/js/JSDOMWrapper.h:
+ * bindings/js/ScriptWrappable.h:
+
+2010-02-24 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Cache JavaScript wrappers inline in DOM nodes
+ https://bugs.webkit.org/show_bug.cgi?id=35226
+
+ <rdar://problem/7664202>
+
+ 7.4% speedup on Dromaeo DOM Core tests.
+ 2.3% speedup on Hixie DOM Core tests.
+
+ This fixes the following things from the last attempt:
+ - Now builds in both debug and release and passes all tests
+ - Properly use a WeakGCPtr, not just a raw pointer, in ScriptWrappable
+ - Properly look in the appropriate per-document or per-world map
+ - Added an assert that would have caught any of the problems I found
+ - Handle clearing the inline cache properly in all cases
+
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::cacheDOMObjectWrapper): Adjust for name changes.
+ (WebCore::forgetDOMNode): Clear wrapper pointer.
+ (WebCore::cacheDOMNodeWrapper): Cache inline too if caching for normal world.
+ * bindings/js/JSDOMBinding.h:
+ (WebCore::Document::getWrapperCache): Inlined.
+ (WebCore::domObjectWrapperMapFor): Renamed to start with lowercase. Moved to header to inline.
+ * bindings/js/JSDOMWrapper.h: Added.
+ (WebCore::DOMObject::DOMObject): Factored this out of JSDOMBinding.h to avoid include
+ cycle. I think the class should be renamed, I picked a forward-looking header name because
+ we already have a DOMObject.h
+ * bindings/js/JSNodeCustom.cpp:
+ (WebCore::createWrapperInline): Renamed version of original createWrapper.
+ (WebCore::createWrapper): Call createWrapperInline. Out-of-line version.
+ (WebCore::toJSNewlyCreated): Call createWrapperInline instead of createWrapper.
+ * bindings/js/JSNodeCustom.h: Added.
+ (WebCore::getCachedDOMNodeWrapper): Moved from JSDOMBinding.cpp and moved here,
+ so it could inline everywhere without creating an include cycle. Consider inline
+ cache.
+ (WebCore::toJS): Moved to header to inline.
+ * bindings/js/ScriptWrappable.h:
+ (WebCore::ScriptWrappable::ScriptWrappable): Implement this in the obvious
+ way for JavaScriptCore. (Using a WeakGCPtr).
+ (WebCore::ScriptWrappable::wrapper):
+ (WebCore::ScriptWrappable::setWrapper):
+ (WebCore::ScriptWrappable::clearWrapper):
+ * bindings/scripts/CodeGeneratorJS.pm: Include CustomHeader heaaders
+ in the header, not just the impl file, so they can add inlining.
+ * dom/Node.idl: Add CustomHeader directive.
+
+ Add new files to build.
+
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+
+
+2010-02-24 Jochen Eisinger <jochen@chromium.org>
+
+ Reviewed by Jeremy Orlow.
+
+ Expose Database object of currently active task on the database thread
+ https://bugs.webkit.org/show_bug.cgi?id=35341
+
+ * storage/DatabaseThread.cpp:
+ (WebCore::DatabaseThread::DatabaseThread):
+ (WebCore::DatabaseThread::databaseThread):
+ * storage/DatabaseThread.h:
+ (WebCore::DatabaseThread::getDatabaseOfCurrentTask):
+
+2010-02-24 Nicholas Young <nicholas.young@nokia.com>
+
+ Reviewed by Eric Carlson.
+
+ supportsMuting() should be an internal interface between MediaPlayer and MediaPlayerPrivate.
+ https://bugs.webkit.org/show_bug.cgi?id=35327
+
+ No new tests. Refactoring Only.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::setMuted): Do not check supportsMuting()
+ (WebCore::HTMLMediaElement::updateVolume): Set volume and muted
+ * platform/graphics/MediaPlayer.cpp:
+ (WebCore::MediaPlayer::setVolume): Check supportsMuting()
+ (WebCore::MediaPlayer::setMuted): Check supportsMuting()
+ * platform/graphics/MediaPlayer.h: Remove supportsMuting()
+
+2010-02-24 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Fisher.
+
+ [Chromium API] Disambiguate allowJavaScript from didNotAllowScript
+ https://bugs.webkit.org/show_bug.cgi?id=35205
+
+ For clients that want to show a user interface element when JavaScript
+ was blocked on a page, we need to disambiguate between querying the
+ client for whether JavaScript is enabled from actually failing to
+ execute some script.
+
+ This patch adds a new FrameLoaderClient callback for when WebCore would
+ like to execute JavaScript but fails to because JavaScript is disabled.
+
+ This patch also touches every client of canExecuteScripts so they can
+ indicate whether we should make this callback. I was hoping there was
+ a better choke point, but my first two attempts were wrong in subtle
+ ways. pkasting points out that this will be easy to screw up in the
+ future, so it's better to make all the clients be explicit.
+
+ * WebCore.PluginHostProcess.exp:
+ * bindings/ScriptControllerBase.cpp:
+ (WebCore::ScriptController::canExecuteScripts):
+ (WebCore::ScriptController::executeScript):
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::handleEvent):
+ * bindings/js/JSLazyEventListener.cpp:
+ (WebCore::JSLazyEventListener::initializeJSFunction):
+ * bindings/js/ScheduledAction.cpp:
+ (WebCore::ScheduledAction::execute):
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::bindingRootObject):
+ (WebCore::ScriptController::windowScriptNPObject):
+ (WebCore::ScriptController::jsObjectForPluginElement):
+ (WebCore::ScriptController::executeScriptInWorld):
+ * bindings/js/ScriptController.h:
+ (WebCore::):
+ * bindings/js/ScriptControllerMac.mm:
+ (WebCore::ScriptController::windowScriptObject):
+ * bindings/js/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::setJavaScriptPaused):
+ * bindings/js/ScriptEventListener.cpp:
+ (WebCore::createAttributeEventListener):
+ * bindings/js/ScriptState.cpp:
+ (WebCore::scriptStateFromNode):
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::windowScriptNPObject):
+ (WebCore::ScriptController::createScriptObjectForPluginElement):
+ * bindings/v8/ScriptController.h:
+ (WebCore::):
+ * bindings/v8/ScriptEventListener.cpp:
+ (WebCore::createAttributeEventListener):
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::retrieve):
+ * dom/ScriptElement.cpp:
+ (WebCore::ScriptElementData::evaluateScript):
+ * dom/XMLTokenizerLibxml2.cpp:
+ (WebCore::XMLTokenizer::startElementNs):
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::controls):
+ * html/HTMLTokenizer.cpp:
+ (WebCore::HTMLTokenizer::parseTag):
+ (WebCore::HTMLTokenizer::processToken):
+ * inspector/InspectorController.cpp:
+ (WebCore::canPassNodeToJavaScript):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::isProcessingUserGesture):
+ (WebCore::FrameLoader::open):
+ (WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds):
+ (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
+ * loader/FrameLoaderClient.h:
+ (WebCore::FrameLoaderClient::didNotAllowScript):
+
+2010-02-24 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Fisher.
+
+ Add call to FrameLoaderClient::allowPlugins everywhere arePluginsEnabled is called
+ https://bugs.webkit.org/show_bug.cgi?id=34997
+
+ If we want to let the FrameLoaderClient override arePluginsEnabled,
+ then we need to call out to the FrameLoaderClient every time we read
+ the setting.
+
+ We don't have testing infrustructure for these changes, which is lame.
+ I'm supposed to fix that in Bug 33991.
+
+ * dom/DOMImplementation.cpp:
+ (WebCore::DOMImplementation::createDocument):
+ * loader/MainResourceLoader.cpp:
+ (WebCore::MainResourceLoader::substituteMIMETypeFromPluginDatabase):
+ * loader/PluginDocument.cpp:
+ (WebCore::PluginTokenizer::writeRawData):
+ * page/Page.cpp:
+ (WebCore::Page::pluginData):
+ * plugins/MimeType.cpp:
+ (WebCore::MimeType::enabledPlugin):
+
+2010-02-24 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Dmitry Titov.
+
+ Do not fire focus events while a modal dialog is up.
+ https://bugs.webkit.org/show_bug.cgi?id=33962
+
+ Modifies the FocusController to check the frame's page's defersLoading() flag before firing blur/focus events.
+ This flag is set while a modal dialog (like a window.alert or window.confirm) is up. Firing the events causes
+ assertion failures, since when the dialog is dismissed the PageGroupLoadDeferrer assumes that no script has run.
+
+ Manual tests only as DumpRenderTree does not support modal dialogs
+
+ * manual-tests/modal-dialog-blur-selfclose.html: Added.
+ * manual-tests/modal-dialog-blur.html: Added.
+ * page/FocusController.cpp:
+ (WebCore::dispatchEventsOnWindowAndFocusedNode):
+
+2010-02-24 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ <rdar://problem/7018611> innerHTML applies meta/link/title tags from a detached html element
+
+ Test: fast/parser/fragment-parser.html
+
+ Ensure that fragment parsing has no side effects on the fragment’s owner
+ document.
+
+ * html/HTMLParser.cpp:
+ (WebCore::HTMLParser::insertNode): Don’t call
+ dispatchDocumentElementAvailable() for fragments.
+ (WebCore::HTMLParser::handleError): Don’t copy attributes to the owner
+ document’s <html> and <body> elements when a redundant <html> or <body>
+ is encountered while parsing a fragment.
+ (WebCore::HTMLParser::framesetCreateErrorCheck): Don’t change the owner
+ document’s <body> element’s style when parsing a fragment.
+ (WebCore::HTMLParser::createHead): Don’t attach the new <head> to the
+ ownder document of a fragment.
+
+2010-02-24 David Levin <levin@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Need to create a CanvasSurface base class for HTMLCanvasElement.
+ https://bugs.webkit.org/show_bug.cgi?id=35322
+
+ This is an initial step in making the OffscreenCanvas object.
+
+ No new functionality so no new tests.
+
+ * GNUmakefile.am: Added CanvasSurface to the build.
+ * WebCore.gypi: ditto
+ * WebCore.pro: ditto
+ * WebCore.vcproj/WebCore.vcproj: ditto
+ * WebCore.xcodeproj/project.pbxproj: ditto
+ * dom/CanvasSurface.cpp: Added.
+ * dom/CanvasSurface.h: Added.
+ * html/HTMLCanvasElement.h: Made HTMLCanvasElement inherit from CanvasSurface.
+
+2010-02-24 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Adam Barth.
+
+ Fix regression in calculating an animated image's start time.
+ https://bugs.webkit.org/show_bug.cgi?id=35115
+
+ * platform/graphics/BitmapImage.cpp:
+ (WebCore::BitmapImage::startAnimation):
+
+2010-02-24 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <rdar://problem/7682827> Text with :first-letter lingers after being removed
+
+ Test: fast/css/first-letter-set-text.html
+
+ * rendering/RenderTextFragment.cpp:
+ (WebCore::RenderTextFragment::setTextInternal): Set this back as the
+ text node’s renderer, as removing the first letter has resets the node’s
+ renderer.
+
+2010-02-24 Ariya Hidayat <ariya.hidayat@gmail.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Faster cut-off for rectangle fill without shadow.
+ https://bugs.webkit.org/show_bug.cgi?id=35337
+
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+
+2010-02-24 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by nobody, build fix.
+
+ [Qt] Corrects build break of QtLauncher on Windows.
+ The VERSION variable was not set anymore while building in trunk.
+
+ * WebCore.pro:
+
+2010-02-24 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Activate/Deactivate breaks does not look consistent with rest of the toolbar.
+
+ Fix style and add the new images to the related file sets.
+ https://bugs.webkit.org/show_bug.cgi?id=35307
+
+ * WebCore.gypi:
+ * inspector/front-end/Images/deactivateBreakpointsButtonGlyph.png:
+ * inspector/front-end/Images/deactivateBreakpointsDisabledButtonGlyph.png:
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.css:
+
+2010-02-24 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ Get rid of an extra call to
+ setNPWindowIfNeeded. updatePluginWidget already calls this for us
+ if needed.
+
+ * plugins/gtk/PluginViewGtk.cpp:
+ (WebCore::PluginView::platformStart):
+
+2010-02-24 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ Try to sanitize a bit the geometry management of plugins.
+
+ Stop doing contradictory things in updatePluginWidget (we were at
+ the same time pretending the geometry setting was delayed until
+ ::paint and setting the geometry not once but twice) and just set
+ it any time the windowRect or clipRect for the plugin has changed.
+
+ This is closer to what the Mac port does, and fixes instances of
+ the plugins not being drawn until the window is resized or
+ scrolled. Other than that all manual and layout tests seems to
+ still work.
+
+ * plugins/gtk/PluginViewGtk.cpp:
+ (WebCore::PluginView::updatePluginWidget):
+ (WebCore::PluginView::setNPWindowIfNeeded):
+
+2010-02-23 Geoff Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Simplify animation lifetime handling. Previously we manually
+ determined whether our base element was safe when we unregistered
+ our listener, now we simply ensure that the base element itself
+ registers and unregisters the animation listener.
+
+ * svg/animation/SVGSMILElement.cpp:
+ (WebCore::ConditionEventListener::create):
+ (WebCore::ConditionEventListener::disconnectAnimation):
+ (WebCore::ConditionEventListener::ConditionEventListener):
+ (WebCore::ConditionEventListener::operator==):
+ (WebCore::ConditionEventListener::handleEvent):
+ (WebCore::SVGSMILElement::eventBaseFor):
+ (WebCore::SVGSMILElement::connectConditions):
+ (WebCore::SVGSMILElement::disconnectConditions):
+ * svg/animation/SVGSMILElement.h:
+
+2010-02-23 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by David Levin.
+
+ Chromium: Use V8::TerminateExecution to actually terminate workers.
+ https://bugs.webkit.org/show_bug.cgi?id=35137
+
+ Test: existing fast/workers/stress-js-execution.html which is currently failing
+ on Mac and Linux bots for Chromium.
+
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ (WebCore::WorkerContextExecutionProxy::evaluate):
+ * bindings/v8/WorkerScriptController.cpp:
+ (WebCore::WorkerScriptController::forbidExecution):
+
+2010-02-23 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ REGRESSION: WebKit crashes when deleting images on blogger.com (34957)
+ <rdar://problem/7651935>
+ https://bugs.webkit.org/show_bug.cgi?id=34957
+
+ Fixing a regression introduced with revision 53085. Anchor elements should not be considered
+ in editable content when calculating the position in the parent before the node.
+
+ Test: editing/execCommand/delete-image-in-anchor.html
+
+ * dom/Position.cpp:
+ (WebCore::Position::getInlineBoxAndOffset):
+
+2010-02-23 Tony Chang <tony@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34634
+ Pasting a list into the middle of another list item should split the target
+ list item into two separate list items. This matches the behavior in other
+ browsers.
+
+ Test: editing/pasteboard/paste-list-004.html
+
+ * editing/ReplaceSelectionCommand.cpp:
+ (WebCore::ReplaceSelectionCommand::insertAsListItems):
+
+2010-02-23 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Tim Hatcher and Pavel Feldman.
+
+ Regression (r55107) - WebInspector docking is busted.
+ https://bugs.webkit.org/show_bug.cgi?id=35274
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::canAttachWindow): Use the minimum height for this calculation,
+ not the preferred height.
+ (WebCore::InspectorController::attachWindow): attachWindow() shouldn't decide the policy, as it is
+ often called partway through the show or dock procedure after some of the initial conditions have
+ changed. Let the front-end itself and the InspectorClient's make the policy decision at the start
+ of the show/dock operation.
+
+ * inspector/InspectorFrontendHost.cpp:
+ (WebCore::InspectorFrontendHost::canAttachWindow):
+ * inspector/InspectorFrontendHost.h:
+ * inspector/InspectorFrontendHost.idl:
+
+ * inspector/front-end/inspector.js:
+ (WebInspector.toggleAttach): Before attaching, ask the front-end-host if attaching is allowed.
+
+2010-02-23 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ <http://webkit.org/b/35287> ImageSourceCG::frameIsCompleteAtIndex returns false for all frames until image has completed loading
+
+ CGImageSourceGetStatusAtIndex claims that all frames of a multi-frame image are incomplete when we've not yet received the
+ complete data for an image that is using an incremental data source (<rdar://problem/7679174>). We work around this by
+ special-casing all frames except the last in an image and treating them as complete if they are present and reported as
+ being incomplete. We do this on the assumption that loading new data can only modify the existing last frame or append new
+ frames. The last frame is only treated as being complete if the image source reports it as such. This ensures that it is
+ truly the last frame of the image rather than just the last that we currently have data for.
+
+ * platform/graphics/cg/ImageSourceCG.cpp:
+ (WebCore::ImageSource::frameIsCompleteAtIndex):
+
+2010-02-23 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Crash in createContextualFragment when inserting a list in a non HTML document.
+ <rdar://problem/7666670>
+ https://bugs.webkit.org/show_bug.cgi?id=35305
+
+ createFragmentFromMarkup did not handle correctly the case where documentElement is
+ not an HTMLElement. The static cast to HTMLElement was causing createContextualFragment to
+ crash.
+
+ Test: editing/execCommand/insert-list-xml.xhtml
+
+ * dom/Element.cpp:
+ (WebCore::Element::createContextualFragment): Added.
+ * dom/Element.h: Added createContextualFragment virtual function.
+ * editing/markup.cpp:
+ (WebCore::createFragmentFromMarkup): Removed static cast to HTMLElement.
+ * html/HTMLElement.cpp:
+ (WebCore::HTMLElement::createContextualFragment): Modified to perform only checks
+ that are specific for an HTMLElement object. The rest of the logic has been moved to the
+ corresponding method in the Element class.
+
+2010-02-23 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Adam Roben.
+
+ WebCore should stop throwing away the CGImageSourceRef on Windows to improve GIF performance
+ https://bugs.webkit.org/show_bug.cgi?id=35309
+
+ * platform/graphics/cg/ImageSourceCG.cpp:
+ (WebCore::ImageSource::clear):
+
+2010-02-23 Leandro Pereira <leandro@profusion.mobi>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ Changes references of GOwnPtr to reflect their new place.
+ http://webkit.org/b/35084
+
+ * WebCore/platform/KURL.cpp
+ * WebCore/platform/TextEncoding.cpp:
+ * WebCore/platform/text/gtk/TextBreakIteratorGtk.cpp:
+ * WebCore/platform/text/gtk/TextCodecGtk.cpp:
+
+2010-02-23 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ HTTP 307 after a 303 after a POST re-sends POST data from the original request.
+ <rdar://problem/7390251> and https://bugs.webkit.org/show_bug.cgi?id=31410
+
+ Test: http/tests/loading/307-after-303-after-post.html
+
+ Remember the last HTTP method send out during a redirect chain for a resource handle:
+ * platform/network/ResourceHandle.cpp:
+ (WebCore::ResourceHandle::lastHTTPMethod):
+ * platform/network/ResourceHandle.h:
+ * platform/network/ResourceHandleInternal.h:
+ (WebCore::ResourceHandleInternal::ResourceHandleInternal):
+
+ Refer to the last HTTP method used instead of the original method:
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::willSendRequest):
+ (WebCore::ResourceHandle::willSendRequest):
+ * platform/network/mac/ResourceHandleMac.mm:
+ (WebCore::ResourceHandle::willSendRequest):
+ (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
+
+2010-02-23 Crystal Zhang <haizhang@rim.com>
+
+ Unreviewed build fix.
+
+ Fix build error when enable plugin proxy: 'toRenderEmbeddedObject' identifier not found.
+ As RenderEmbeddedObject inherits RenderPartObject and 'toRenderEmbeddedObject' belongs
+ to former one.
+
+ * html/HTMLMediaElement.cpp:
+
+2010-02-23 Evan Martin <evan@chromium.org>
+
+ Reviewed by Jeremy Orlow.
+
+ [chromium] fix previous SVG-disabling patch
+ https://bugs.webkit.org/show_bug.cgi?id=35298
+
+ * WebCore.gypi: rename variable
+ * WebCore.gyp/WebCore.gyp: actually use the variable
+
+2010-02-23 Michael Lotz <mmlr@mlotz.ch>
+
+ Reviewed by David Levin.
+
+ [Haiku] Fix conversion from BString to String
+ https://bugs.webkit.org/show_bug.cgi?id=35082
+
+ The previous patch to this file was broken (sorry). First of all,
+ the conversion from UTF8 was accidentally removed. Second, for
+ empty strings, we need to point the implementation at StringImpl::empty().
+
+ Covered by existing tests.
+
+ * platform/text/haiku/StringHaiku.cpp:
+ (WebCore::String::String):
+
+2010-02-23 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Eric Carlson.
+
+ [Qt] Prevent the media backend from handling non-audio or -video mime types
+
+ * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
+
+2010-02-23 Evan Martin <evan@chromium.org>
+
+ Reviewed by Jeremy Orlow.
+
+ [chromium] Allow building without SVG
+ https://bugs.webkit.org/show_bug.cgi?id=31522
+
+ * WebCore.gyp/WebCore.gyp, WebCore.gypi: test enable_svg flag.
+ * bindings/v8/custom/V8SVGDocumentCustom.cpp,
+ bindings/v8/custom/V8SVGPathSegCustom.cpp: test ENABLE(SVG).
+
+2010-02-23 Leandro Pereira <leandro@profusion.mobi>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ Fixes references to GOwnPtr and GRefPtr so the GTK+ port builds
+ again.
+ http://webkit.org/b/35084
+
+ * WebCore/platform/gtk/DataObjectGtk.h:
+ * WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
+
+2010-02-23 Ariya Hidayat <ariya.hidayat@gmail.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Faster cut-off for rectangle drawing without shadow.
+ https://bugs.webkit.org/show_bug.cgi?id=35267
+
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::GraphicsContext::drawRect):
+
+2010-02-23 Steve Block <steveblock@google.com>
+
+ Reviewed by Jeremy Orlow.
+
+ Removes redundant Settings::setGeolocationEnabled and Settings::geolocationEnabled
+ https://bugs.webkit.org/show_bug.cgi?id=35242
+
+ No new tests, removing dead code only.
+
+ * page/Settings.cpp:
+ * page/Settings.h:
+
+2010-02-23 Ben Murdoch <benm@google.com>
+
+ Reviewed by Eric Seidel.
+
+ pageX/Y co-ordinates of TouchEvent should be 0,0
+ https://bugs.webkit.org/show_bug.cgi?id=35239
+
+ The co-ordinates attached to a touch event are not used for tracking touch motion, rather the co-ordinates attached to Touches within the touch event should be used. Set the co-ordinates on the event itself to 0 to avoid confusion and match observed iPhone behavior.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleTouchEvent): Set the pageX/Y and screenX/Y co-ordinates attached to the touch event to 0,0 to match observed behavior on the iPhone.
+ * page/EventHandler.h: Remove now unused members m_firstTouchScreenPos and m_firstTouchPagePos.
+
+2010-02-23 Stephan Aßmus <superstippi@gmx.de>
+
+ Reviewed by Eric Seidel.
+
+ [Haiku] Various improvements to EventHandlerHaiku.
+ https://bugs.webkit.org/show_bug.cgi?id=34685
+
+ Covered by existing tests.
+
+ Fix the build by not including PlatformScrollBar.h.
+
+ * page/haiku/EventHandlerHaiku.cpp:
+ (WebCore::isKeyboardOptionTab):
+ Use the correct keycode for tab keys.
+ (WebCore::EventHandler::focusDocumentView):
+ Use proper locking. In any case, Haiku doesn't append platform
+ widgets to WebCore widgets. But if it did, this implementation
+ would be correct.
+ (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
+ Implemented.
+ (WebCore::EventHandler::eventActivatedView):
+ Removed notImplemented() and added note.
+ (WebCore::EventHandler::passMousePressEventToSubframe):
+ Implemented.
+ (WebCore::EventHandler::passMouseMoveEventToSubframe):
+ Implemented.
+ (WebCore::EventHandler::passMouseReleaseEventToSubframe):
+ Implemented.
+ (WebCore::EventHandler::accessKeyModifiers):
+ Added note.
+
+2010-02-23 Tony Chang <tony@chromium.org>
+
+ Not reviewed.
+ Revert r55135 because the layout test is failing on all the bots.
+ https://bugs.webkit.org/show_bug.cgi?id=34634
+
+ * editing/ReplaceSelectionCommand.cpp:
+ (WebCore::ReplaceSelectionCommand::insertAsListItems):
+
+2010-02-17 Steve Block <steveblock@google.com>
+
+ Reviewed by Ariya Hidayat.
+
+ Adds cache to store Geolocation positions between browser sessions.
+ https://bugs.webkit.org/show_bug.cgi?id=34084
+
+ This is required to fully implement the Geolocation maximumAge property.
+ See Bug 30676.
+
+ No new tests, will add tests for maximumAge once complete.
+
+ * Android.mk: Modified. Added GeolocationPositionCache.cpp
+ * GNUmakefile.am: Modified. Added GeolocationPositionCache.[cpp|h]
+ * WebCore.gypi: Modified. Added GeolocationPositionCache.[cpp|h]
+ * WebCore.pro: Modified. Added GeolocationPositionCache.[cpp|h]
+ * WebCore.vcproj/WebCore.vcproj: Modified. Added GeolocationPositionCache.[cpp|h]
+ * WebCore.xcodeproj/project.pbxproj: Modified. Added GeolocationPositionCache.[cpp|h]
+ * page/GeolocationPositionCache.cpp: Added.
+ (WebCore::GeolocationPositionCache::GeolocationPositionCache):
+ (WebCore::GeolocationPositionCache::~GeolocationPositionCache):
+ (WebCore::GeolocationPositionCache::setCachedPosition):
+ (WebCore::GeolocationPositionCache::cachedPosition):
+ (WebCore::GeolocationPositionCache::setDatabasePath):
+ (WebCore::GeolocationPositionCache::readFromDB):
+ (WebCore::GeolocationPositionCache::writeToDB):
+ * page/GeolocationPositionCache.h: Added.
+
+2010-02-23 Yuta Kitamura <yutak@chromium.org>
+
+ Reviewed by Dan Bernstein.
+
+ Fix alignment of vertical-align: text-bottom inside an inline-block.
+
+ This patch is based on a fix provided by Takahito Hirano.
+
+ display: inline-block + vertical-align: text-bottom causes misalignment.
+ https://bugs.webkit.org/show_bug.cgi?id=30846
+
+ Test: fast/inline-block/inline-block-vertical-align-2.html
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::verticalPosition): Fixed vpos calculation.
+ We cannot cut corners for inline blocks, since they may have their own
+ text metrics.
+
+2010-02-23 Steve Block <steveblock@google.com>
+
+ Reviewed by David Levin.
+
+ Sets default values of V8 runtime enabler flags to match behavior with JSC
+ https://bugs.webkit.org/show_bug.cgi?id=35095
+
+ No new tests, modifies a Chromium feature only.
+
+ * bindings/generic/RuntimeEnabledFeatures.cpp: Modified. Sets appcache and geolocation flag defaults to 'on'
+ * storage/Database.cpp: Modified. Sets database flag default to 'on'.
+
+2010-02-23 Stephan Aßmus <superstippi@gmx.de>
+
+ Reviewed by Eric Seidel.
+
+ [Haiku] Fix various issues in keyboard event generation.
+ https://bugs.webkit.org/show_bug.cgi?id=34685
+
+ Covered by existing tests.
+
+ Fixed backspace keycode.
+ Fixed using the appropriate fields from the Haiku event for mapping
+ to the VK_* codes and added mapping a great deal more codes.
+ Added extraction of modifier key flags.
+ Completed implementation of disambiguateKeyDownEvent()
+ Implemented currentCapsLockState().
+
+ * platform/haiku/PlatformKeyboardEventHaiku.cpp:
+ (WebCore::keyIdentifierForHaikuKeyCode):
+ (WebCore::windowsKeyCodeForKeyEvent):
+ (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
+ (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
+ (WebCore::PlatformKeyboardEvent::currentCapsLockState):
+
+2010-02-23 Steve Block <steveblock@google.com>
+
+ Reviewed by Darin Adler.
+
+ Adds Client::cancelGeolocationPermissionRequestForFrame and ChromeClient::cancelGeolocationPermissionRequestForFrame
+ https://bugs.webkit.org/show_bug.cgi?id=34962
+
+ These methods are required so that a Geolocation object can cancel an
+ asynchronous permission request. This allows the chrome client to cancel
+ any UI it is showing for the permission request.
+
+ No new tests, as this is for the purposes of browser UI only.
+
+ * loader/EmptyClients.h: Modified
+ (WebCore::EmptyChromeClient::cancelGeolocationPermissionRequestForFrame): Added
+ * page/Chrome.cpp: Modified.
+ (WebCore::Chrome::cancelGeolocationPermissionRequestForFrame): Added
+ * page/Chrome.h: Modified.
+ * page/ChromeClient.h: Modified.
+ (WebCore::ChromeClient::cancelGeolocationPermissionRequestForFrame): Added
+ * page/Geolocation.cpp: Modified.
+ (WebCore::Geolocation::disconnectFrame): Modified. Call cancelGeolocationPermissionRequestForFrame
+
+2010-02-23 Tony Chang <tony@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34634
+ Pasting a list into the middle of another list item should split the target
+ list item into two separate list items. This matches the behavior in other
+ browsers.
+
+ Test: editing/pasteboard/paste-list-004.html
+
+ * editing/ReplaceSelectionCommand.cpp:
+ (WebCore::ReplaceSelectionCommand::insertAsListItems):
+
+2010-02-23 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] Correct build problems while building QtWebKit inside Qt.
+ https://bugs.webkit.org/show_bug.cgi?id=34975
+
+ * WebCore.pro: Change the condition !standalone_package to !QTDIR_build
+
+2010-02-23 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Ariya Hidayat.
+
+ [Qt] Connect video with accelerated compositing
+ https://bugs.webkit.org/show_bug.cgi?id=35276
+
+ MediaControlPrivate and GraphicsLayer are patched together via
+ a shared PlatformLayer (QGraphicsItem). This patch makes sure that the
+ QGraphicsVideoItem from MediaControl becomes part of the scene
+ associsated with GraphicsLayer
+
+ Test: http://double.co.nz/video_test/test1.html with AC turned on
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::GraphicsLayerQtImpl::): mediaLayer member
+ (WebCore::GraphicsLayerQtImpl::opaqueArea): video is opaque
+ (WebCore::GraphicsLayerQtImpl::paint): don't paint video
+ (WebCore::GraphicsLayerQtImpl::flushChanges): flush mediaLayer
+ (WebCore::GraphicsLayerQt::setContentsToMedia): notify
+ * platform/graphics/qt/GraphicsLayerQt.h: reimp setContentsToMedia
+ * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
+ (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): m_compositing
+ (WebCore::MediaPlayerPrivate::paint): don't paint if compositing
+ (WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged):
+ reimp from MediaPlayerPrivateInterface to support AC
+ (WebCore::MediaPlayerPrivate::platformLayer): ditto
+ * platform/graphics/qt/MediaPlayerPrivateQt.h:
+ (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering): ditto
+
+2010-02-23 Stephan Aßmus <superstippi@gmx.de>
+
+ Reviewed by Eric Seidel.
+
+ Fix various issues in PlatformWheelEventHaiku.
+ https://bugs.webkit.org/show_bug.cgi?id=34685
+
+ Covered by existing tests.
+
+ Fixed coding style violations.
+ Synced extracting the correct coordinates with Haiku WebKit implementation.
+ Added extracting modifier key flags.
+
+ * platform/haiku/PlatformWheelEventHaiku.cpp:
+ (WebCore::PlatformWheelEvent::PlatformWheelEvent):
+
+2010-02-23 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ Build fix for PluginView
+ https://bugs.webkit.org/show_bug.cgi?id=35230
+
+ No new tests, build fix only.
+
+ * plugins/PluginView.cpp:
+ * plugins/PluginView.h:
+ * plugins/PluginViewNone.cpp:
+
+2010-02-23 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Port ScriptController::createScriptInstanceForWidget
+ https://bugs.webkit.org/show_bug.cgi?id=34413
+
+ * bindings/js/ScriptControllerBrew.cpp: Added.
+ (WebCore::ScriptController::createScriptInstanceForWidget):
+
+2010-02-23 José Millán Soto <jmillan@igalia.com>
+
+ Reviewed by Eric Seidel.
+
+ [Gtk] Webkit crashes when using orca
+ https://bugs.webkit.org/show_bug.cgi?id=35169
+
+ Made webkit_accessible_text_get_caret_offset check if end selection
+ node is null.
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (webkit_accessible_text_get_caret_offset):
+
+2010-02-22 Stephan Aßmus <superstippi@gmx.de>
+
+ Reviewed by Eric Seidel.
+
+ [Haiku] Implemented PopupMenu support.
+ https://bugs.webkit.org/show_bug.cgi?id=35078
+
+ Covered by existing tests.
+
+ The implementation is currently very simple: Added a PopupMenuHaiku
+ class that derives from a native BPopUpMenu. It attaches a BHandler
+ derivative to the BApplication (WebCore main thread) which receives
+ the item invokation and menu hidden events and informs the PopupMenuClient
+ accordingly.
+
+ * platform/PopupMenu.h:
+ Changed type of m_menu for Haiku.
+ * platform/haiku/PopupMenuHaiku.cpp:
+ (WebCore::PopupMenuHandler::PopupMenuHandler):
+ (WebCore::PopupMenuHandler::MessageReceived):
+ (WebCore::PopupMenuHaiku::PopupMenuHaiku):
+ (WebCore::PopupMenuHaiku::~PopupMenuHaiku):
+ (WebCore::PopupMenuHaiku::show):
+ (WebCore::PopupMenuHaiku::hide):
+ (WebCore::PopupMenuHaiku::Hide):
+ (WebCore::PopupMenu::PopupMenu):
+ (WebCore::PopupMenu::~PopupMenu):
+ Removed bogus code.
+ (WebCore::PopupMenu::show):
+ Implemented using new PopupMenuHaiku class.
+ (WebCore::PopupMenu::hide):
+ Implemented using new PopupMenuHaiku class.
+ (WebCore::PopupMenu::updateFromElement):
+ Implemented.
+ (WebCore::PopupMenu::itemWritingDirectionIsNatural):
+ Implemented according to Gtk port.
+
+2010-02-22 Stephan Aßmus <superstippi@gmx.de>
+
+ Reviewed by Eric Seidel.
+
+ Fix various issues in PlatformMouseEventHaiku.
+ https://bugs.webkit.org/show_bug.cgi?id=34685
+
+ Covered by existing tests.
+
+ Mapping Haiku button constants (bit field) to WebCore buttons was broken.
+ Extracting event time was broken (supposed to be in seconds).
+ Wrong coordinate was being extracted, needs to be content local.
+ Added extracting modifier key flags.
+
+ * platform/haiku/PlatformMouseEventHaiku.cpp:
+ (WebCore::PlatformMouseEvent::PlatformMouseEvent):
+
+2010-02-22 Stephan Aßmus <superstippi@gmx.de>
+
+ Reviewed by Eric Seidel.
+
+ [Haiku] Implement creating and filling platform gradients.
+ https://bugs.webkit.org/show_bug.cgi?id=34683
+
+ Covered by existing tests.
+
+ * platform/graphics/Gradient.h:
+ Typedef PlatformGradient to BGradient
+ * platform/graphics/haiku/GradientHaiku.cpp:
+ (WebCore::Gradient::platformDestroy):
+ Delete the cached BGradient object.
+ (WebCore::Gradient::platformGradient):
+ Create a BGradient object according to the type of Gradient.
+ Return the cached object.
+ (WebCore::Gradient::fill):
+ use BView API to fill with the platform gradient.
+
+2010-02-22 Stephan Aßmus <superstippi@gmx.de>
+
+ Reviewed by Eric Seidel.
+
+ Build fix for debug builds of GlyphPageTreeNode.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=34528
+
+ Covered by existing tests.
+
+ * platform/graphics/GlyphPageTreeNode.cpp:
+ include <stdio.h> since printf() is used if NDEBUG is not defined.
+
+2010-02-22 Nate Chapin <japhet@chromium.org>
+
+ Unreviewed, Chromium build fix.
+
+ Add special case in CodeGeneratorV8.pm for named getters for html plugin-related elements.
+
+ CodeGeneratorV8.pm was relying on HasOverridingNameGetter to hint
+ that a custom named getter was needed. That hint was removed in
+ http://trac.webkit.org/changeset/55104.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+
+2010-02-22 Alexey Proskuryakov <ap@apple.com>
+
+ Rubber-stamped by Geoff Garen.
+
+ Rename RuntimeObjectImp to RuntimeObject.
+
+ * WebCore.PluginHostProcess.exp:
+ * bindings/js/JSPluginElementFunctions.cpp:
+ (WebCore::getRuntimeObject):
+ (WebCore::runtimeObjectPropertyGetter):
+ (WebCore::runtimeObjectCustomGetOwnPropertySlot):
+ (WebCore::runtimeObjectCustomGetOwnPropertyDescriptor):
+ (WebCore::runtimeObjectCustomPut):
+ * bindings/objc/WebScriptObject.mm:
+ (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
+ * bridge/c/c_utility.cpp:
+ (JSC::Bindings::convertValueToNPVariant):
+ * bridge/jni/jni_jsobject.mm:
+ (JavaJSObject::convertValueToJObject):
+ * bridge/jni/jsc/JNIUtilityPrivate.cpp:
+ (JSC::Bindings::convertValueToJValue):
+ * bridge/jsc/BridgeJSC.cpp:
+ (JSC::Bindings::Instance::createRuntimeObject):
+ (JSC::Bindings::Instance::newRuntimeObject):
+ * bridge/jsc/BridgeJSC.h:
+ * bridge/objc/objc_runtime.mm:
+ (JSC::Bindings::callObjCFallbackObject):
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtRuntimeObject::markChildren):
+ (JSC::Bindings::):
+ (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
+ (JSC::Bindings::QtInstance::getInstance):
+ (JSC::Bindings::QtInstance::newRuntimeObject):
+ * bridge/qt/qt_instance.h:
+ * bridge/qt/qt_pixmapruntime.cpp:
+ (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
+ (JSC::Bindings::):
+ (JSC::Bindings::QtPixmapInstance::variantFromObject):
+ (JSC::Bindings::QtPixmapInstance::createRuntimeObject):
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::valueRealType):
+ * bridge/runtime_method.cpp:
+ (JSC::callRuntimeMethod):
+ * bridge/runtime_object.cpp:
+ (JSC::RuntimeObject::RuntimeObject):
+ (JSC::RuntimeObject::~RuntimeObject):
+ (JSC::RuntimeObject::invalidate):
+ (JSC::RuntimeObject::fallbackObjectGetter):
+ (JSC::RuntimeObject::fieldGetter):
+ (JSC::RuntimeObject::methodGetter):
+ (JSC::RuntimeObject::getOwnPropertySlot):
+ (JSC::RuntimeObject::getOwnPropertyDescriptor):
+ (JSC::RuntimeObject::put):
+ (JSC::RuntimeObject::deleteProperty):
+ (JSC::RuntimeObject::defaultValue):
+ (JSC::callRuntimeObject):
+ (JSC::RuntimeObject::getCallData):
+ (JSC::callRuntimeConstructor):
+ (JSC::RuntimeObject::getConstructData):
+ (JSC::RuntimeObject::getOwnPropertyNames):
+ (JSC::RuntimeObject::throwInvalidAccessError):
+ * bridge/runtime_object.h:
+ * bridge/runtime_root.cpp:
+ (JSC::Bindings::RootObject::invalidate):
+ (JSC::Bindings::RootObject::addRuntimeObject):
+ (JSC::Bindings::RootObject::removeRuntimeObject):
+ * bridge/runtime_root.h:
+
+2010-02-19 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Avoid recursion when trying to get the size of a PNG; it's unnecessary
+ and in the worst case can lead to heap corruption.
+ https://bugs.webkit.org/show_bug.cgi?id=35167
+
+ Test: fast/images/bad-png.html
+
+ * platform/image-decoders/png/PNGImageDecoder.cpp:
+ (WebCore::PNGImageReader::decode):
+
+2010-02-22 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Tim Hatcher.
+
+ Disable WebView docking to views that are too small.
+ <rdar://problem/7248409> and https://bugs.webkit.org/show_bug.cgi?id=35254
+
+ * WebCore.base.exp:
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::canAttachWindow): Provide a utility for WebKits to make a showWindow()
+ decision based on if attachment would be allowed or not.
+ (WebCore::InspectorController::attachWindow): Don't attach if the view is too small to attach to.
+ * inspector/InspectorController.h:
+
+2010-02-22 Alexey Proskuryakov <ap@apple.com>
+
+ Build fix.
+
+ * WebCore.base.exp: Export Instance::newRuntimeObject, it's virtual!
+
+2010-02-22 Alexey Proskuryakov <ap@apple.com>
+
+ Undo a small part of the previous commit.
+
+ * bridge/runtime_method.cpp: (JSC::callRuntimeMethod): Let's keep the instance local
+ variable as RefPtr for safety.
+
+2010-02-22 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35260
+ Eliminate __apple_runtime_object
+
+ No change in functionality, so no tests.
+
+ * WebCore.base.exp: Don't export Instance::newRuntimeObject, WebKit doesn't need it.
+
+ * bindings/js/JSHTMLAppletElementCustom.cpp:
+ * bindings/js/JSHTMLEmbedElementCustom.cpp:
+ * bindings/js/JSHTMLObjectElementCustom.cpp:
+ * html/HTMLAppletElement.idl:
+ * html/HTMLEmbedElement.idl:
+ * html/HTMLObjectElement.idl:
+ These objects no longer need overriding name getters, as they no longer intercept the
+ __apple_runtime_object property.
+
+ * bindings/js/JSPluginElementFunctions.cpp:
+ (WebCore::pluginInstance): This is no longer static. It was used for callPlugin() in
+ this file, and now it's also used elsewhere when calling plug-in methods.
+ (WebCore::runtimeObjectGetter): Removed. This function was only used by the intercepting
+ name getters.
+
+ * bindings/js/JSPluginElementFunctions.h: Export pluginInstance().
+
+ * bindings/objc/WebScriptObject.mm:
+ (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
+ * bridge/runtime_method.cpp:
+ (JSC::callRuntimeMethod):
+ Take plug-in element's instance directly, without relying on fake attribute lookup.
+ One change resulting from this is that RuntimeObjectImp may not be created in some cases -
+ this code only needs an instance, but the old code had to pass the instance wrapped into
+ RuntimeObjectImp.
+
+2010-02-22 John Sullivan <sullivan@apple.com>
+
+ Reviewed by Tim Hatcher.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35256
+ HTMLSelectElement::setSelectedIndexByUser() can trigger unnecessary JS when there is no change to the selected index
+
+ No new tests because this code path is not used for JS-initiated changes.
+
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::setSelectedIndexByUser):
+ Bail out if the to-be-selected index matches the already-selected index.
+
+2010-02-22 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Reproducible crash in WebCore::nextLinePosition on Tweeteorites.com
+ <rdar://problem/7615758>
+ https://bugs.webkit.org/show_bug.cgi?id=35060
+
+ Test: editing/selection/extend-byline-withfloat.html
+
+ * editing/visible_units.cpp:
+ (WebCore::previousLinePosition): Skip elements with zero height.
+ (WebCore::nextLinePosition): Skip elements with zero height.
+
+2010-02-22 Nate Chapin <japhet@chromium.org>
+
+ Unreviewed, Chromium build fix.
+
+ * bindings/scripts/CodeGeneratorV8.pm: Compile break due to bad patch merge.
+
+2010-02-22 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [V8] Streamline V8 event listener code. Merge all the variants of
+ V8DOMWrapper::getEventListner() into a single version and generate
+ addEventListener() and removeEventListener() bindings for all objects
+ except DOMWindow.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35245
+
+ * Android.v8bindings.mk:
+ * WebCore.gypi:
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::getEventListener):
+ * bindings/v8/V8DOMWrapper.h:
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ * bindings/v8/WorkerContextExecutionProxy.h:
+ * bindings/v8/custom/V8AbstractWorkerCustom.cpp: Removed.
+ * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp: Removed.
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::V8DOMWindow::addEventListenerCallback):
+ (WebCore::V8DOMWindow::removeEventListenerCallback):
+ * bindings/v8/custom/V8EventSourceCustom.cpp: Removed.
+ * bindings/v8/custom/V8MessagePortCustom.cpp:
+ * bindings/v8/custom/V8NodeCustom.cpp:
+ * bindings/v8/custom/V8NotificationCenterCustom.cpp:
+ * bindings/v8/custom/V8SVGElementInstanceCustom.cpp: Removed.
+ * bindings/v8/custom/V8WebSocketCustom.cpp:
+ * bindings/v8/custom/V8WorkerContextCustom.cpp:
+ * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
+ * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
+ * dom/MessagePort.idl:
+ * dom/Node.idl:
+ * loader/appcache/DOMApplicationCache.idl:
+ * notifications/Notification.idl:
+ * page/EventSource.idl:
+ * svg/SVGElementInstance.idl:
+ * websockets/WebSocket.idl:
+ * workers/AbstractWorker.idl:
+ * workers/WorkerContext.idl:
+ * xml/XMLHttpRequest.idl:
+ * xml/XMLHttpRequestUpload.idl:
+
+2010-02-22 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ AX: AXFocused is not writable like it should be on nodes
+ https://bugs.webkit.org/show_bug.cgi?id=35186
+
+ Test: platform/mac/accessibility/element-focus.html
+
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
+
+2010-02-22 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein, Darin Adler.
+
+ Remove addScrolledContentOffset/subtractScrolledContentOffset
+ https://bugs.webkit.org/show_bug.cgi?id=35225
+
+ Remove RenderLayer's addScrolledContentOffset() and subtractScrolledContentOffset()
+ methods, and instead use the existing scrolledContentOffset(), and use
+ IntSize and IntPoint instead of lots of x, y variables.
+
+ Added new IntPoint toPoint(const IntSize&) method as a convenience to convert a size to a point,
+ which is needed in a few places.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleDrag): Use the new toPoint() convenience.
+ * platform/graphics/IntPoint.h:
+ (WebCore::toPoint): New convenience method to convert an IntSize to an IntPoint.
+ * rendering/LayoutState.cpp:
+ (WebCore::LayoutState::LayoutState):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::layoutBlock):
+ (WebCore::RenderBlock::paintObject):
+ (WebCore::RenderBlock::selectionGapRectsForRepaint):
+ (WebCore::RenderBlock::nodeAtPoint):
+ (WebCore::RenderBlock::offsetForContents):
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::paintFillLayerExtended):
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::clippedOverflowRectForRepaint):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateLayerPosition):
+ * rendering/RenderLayer.h:
+ (WebCore::RenderLayer::size):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::computeRectForRepaint):
+ * rendering/TextControlInnerElements.cpp:
+ (WebCore::RenderTextControlInnerBlock::positionForPoint):
+
+2009-02-22 Adam Langley <agl@google.com>
+
+ Reviewed by Darin Fisher.
+
+ fontconfig on Linux can change the render preferences on a per strike
+ basis (a strike a combination of face and size). Because of this, we
+ need to query fontconfig each time a new FontPlatformData is created
+ for a new size.
+
+ This patch adds support for querying this via ChromiumBridge.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33065
+
+ * platform/chromium/ChromiumBridge.h: add getRenderStyleForStrike
+ * platform/graphics/chromium/FontCacheLinux.cpp:
+ (WebCore::FontCache::createFontPlatformData):
+ * platform/graphics/chromium/FontCustomPlatformData.cpp:
+ (WebCore::FontCustomPlatformData::fontPlatformData):
+ * platform/graphics/chromium/FontPlatformDataLinux.cpp:
+ (WebCore::FontPlatformData::FontPlatformData):
+ (WebCore::FontPlatformData::operator=):
+ (WebCore::FontPlatformData::setupPaint):
+ (WebCore::FontPlatformData::queryStyle):
+ add code to query fontconfig via ChromiumBridge
+ * platform/graphics/chromium/FontPlatformDataLinux.h:
+
+2010-02-22 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Build fix for make distcheck.
+
+ * GNUmakefile.am:
+
+2010-02-22 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Fix compiler warning "suggest parentheses around"
+ https://bugs.webkit.org/show_bug.cgi?id=35197
+
+ No new tests as there is no new functionality.
+
+ * wml/WMLVariables.cpp:
+ (WebCore::substituteVariableReferences):
+
+2010-02-22 Gustavo Noronha Silva <gns@gnome.org>
+
+ Reviewed by Xan Lopez.
+
+ [Soup] loses information related to message flags when converting from/to Resource{Request,Response}
+ https://bugs.webkit.org/show_bug.cgi?id=35093
+
+ Store message flags in WebCore objects, and set them on the
+ SoupMessage, when creating one from them.
+
+ No behaviour change.
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::fillResponseFromMessage):
+ * platform/network/soup/ResourceRequest.h:
+ (WebCore::ResourceRequest::soupMessageFlags):
+ (WebCore::ResourceRequest::setSoupMessageFlags):
+ * platform/network/soup/ResourceRequestSoup.cpp:
+ (WebCore::ResourceRequest::toSoupMessage):
+ (WebCore::ResourceRequest::updateFromSoupMessage):
+ * platform/network/soup/ResourceResponse.h:
+ (WebCore::ResourceResponse::soupMessageFlags):
+ (WebCore::ResourceResponse::setSoupMessageFlags):
+ * platform/network/soup/ResourceResponseSoup.cpp:
+ (WebCore::ResourceResponse::toSoupMessage):
+ (WebCore::ResourceResponse::updateFromSoupMessage):
+
+2010-02-22 Steve Block <steveblock@google.com>
+
+ Reviewed by Nate Chapin.
+
+ Shared worker types used in globalObjectPrototypeIsDOMWindow are not properly guarded
+ https://bugs.webkit.org/show_bug.cgi?id=35238
+
+ No new tests, build fix only.
+
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::globalObjectPrototypeIsDOMWindow):
+
+2010-02-22 Steve Block <steveblock@google.com>
+
+ Reviewed by Simon Fraser.
+
+ Simplifies calculation of the transform in RenderLayer::paintLayer
+ https://bugs.webkit.org/show_bug.cgi?id=35101
+
+ No new tests, optimization only.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::paintLayer):
+
+2010-02-22 Nicholas Young <nicholas.young@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Switching from Phonon to QtMultimedia Backend for Qt 4.7
+
+ https://bugs.webkit.org/show_bug.cgi?id=34631
+
+ No new tests. This patch only affects multimedia backend.
+
+ * WebCore.pro: Build depends on Qt version.
+ * css/mediaControlsQt.css: Updated media controls.
+ * platform/graphics/MediaPlayer.cpp: Different backend included depending on Qt version.
+ * platform/graphics/qt/MediaPlayerPrivateQt.cpp: Added new QtMultimedia Backend.
+ (WebCore::MediaPlayerPrivate::create):
+ (WebCore::MediaPlayerPrivate::registerMediaEngine):
+ (WebCore::MediaPlayerPrivate::getSupportedTypes):
+ (WebCore::MediaPlayerPrivate::supportsType):
+ (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
+ (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
+ (WebCore::MediaPlayerPrivate::hasVideo):
+ (WebCore::MediaPlayerPrivate::hasAudio):
+ (WebCore::MediaPlayerPrivate::load):
+ (WebCore::MediaPlayerPrivate::cancelLoad):
+ (WebCore::MediaPlayerPrivate::play):
+ (WebCore::MediaPlayerPrivate::pause):
+ (WebCore::MediaPlayerPrivate::paused):
+ (WebCore::MediaPlayerPrivate::seek):
+ (WebCore::MediaPlayerPrivate::seeking):
+ (WebCore::MediaPlayerPrivate::duration):
+ (WebCore::MediaPlayerPrivate::currentTime):
+ (WebCore::MediaPlayerPrivate::buffered):
+ (WebCore::MediaPlayerPrivate::maxTimeSeekable):
+ (WebCore::MediaPlayerPrivate::bytesLoaded):
+ (WebCore::MediaPlayerPrivate::totalBytes):
+ (WebCore::MediaPlayerPrivate::setRate):
+ (WebCore::MediaPlayerPrivate::setVolume):
+ (WebCore::MediaPlayerPrivate::supportsMuting):
+ (WebCore::MediaPlayerPrivate::setMuted):
+ (WebCore::MediaPlayerPrivate::networkState):
+ (WebCore::MediaPlayerPrivate::readyState):
+ (WebCore::MediaPlayerPrivate::setVisible):
+ (WebCore::MediaPlayerPrivate::mediaStatusChanged):
+ (WebCore::MediaPlayerPrivate::handleError):
+ (WebCore::MediaPlayerPrivate::stateChanged):
+ (WebCore::MediaPlayerPrivate::nativeSizeChanged):
+ (WebCore::MediaPlayerPrivate::queuedSeekTimeout):
+ (WebCore::MediaPlayerPrivate::seekTimeout):
+ (WebCore::MediaPlayerPrivate::positionChanged):
+ (WebCore::MediaPlayerPrivate::durationChanged):
+ (WebCore::MediaPlayerPrivate::volumeChanged):
+ (WebCore::MediaPlayerPrivate::mutedChanged):
+ (WebCore::MediaPlayerPrivate::updateStates):
+ (WebCore::MediaPlayerPrivate::setSize):
+ (WebCore::MediaPlayerPrivate::naturalSize):
+ (WebCore::MediaPlayerPrivate::paint):
+ (WebCore::MediaPlayerPrivate::repaint):
+ * platform/graphics/qt/MediaPlayerPrivateQt.h: Added new QtMultimedia Backend.
+ (WebCore::MediaPlayerPrivate::isAvailable):
+ (WebCore::MediaPlayerPrivate::supportsFullscreen):
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::RenderThemeQt::mediaControlsBaselineOpacity): New method.
+ (WebCore::RenderThemeQt::paintMediaBackground): Background depends on baseline opacity.
+ (WebCore::RenderThemeQt::paintMediaMuteButton): Changed styling.
+ (WebCore::RenderThemeQt::paintMediaCurrentTime): Added current time display.
+ (WebCore::RenderThemeQt::formatMediaControlsCurrentTime): Added time formatting.
+ (WebCore::RenderThemeQt::formatMediaControlsRemainingTime): Added time formatting.
+ (WebCore::RenderThemeQt::paintMediaVolumeSliderTrack): Volume slider added.
+ (WebCore::RenderThemeQt::paintMediaVolumeSliderThumb): Volume slider added.
+ (WebCore::RenderThemeQt::paintMediaSliderTrack): Updated for QtMultimedia.
+ (WebCore::RenderThemeQt::paintMediaSliderThumb): Dropped an unnecessary check.
+ (WebCore::RenderThemeQt::adjustSliderThumbSize): Handle a missing case.
+ * platform/qt/RenderThemeQt.h: Reimplemented a few more methods.
+
+2010-02-22 Alexander Pavlov <apavlov@chromium.org>
+
+ Not reviewed: mac build fix
+
+ * bindings/js/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::ScriptDebugServer):
+
+2010-02-22 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: there should be a way to "deactivate" or "skip" all breakpoints while debugging.
+ https://bugs.webkit.org/show_bug.cgi?id=33217
+
+ * English.lproj/localizedStrings.js:
+ * bindings/js/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::ScriptDebugServer):
+ (WebCore::ScriptDebugServer::hasBreakpoint):
+ (WebCore::ScriptDebugServer::setBreakpointsActivated):
+ * bindings/js/ScriptDebugServer.h:
+ * bindings/v8/ScriptDebugServer.h:
+ (WebCore::ScriptDebugServer::setBreakpointsActivated):
+ * inspector/InspectorBackend.cpp:
+ (WebCore::InspectorBackend::activateBreakpoints):
+ (WebCore::InspectorBackend::deactivateBreakpoints):
+ * inspector/InspectorBackend.h:
+ * inspector/InspectorBackend.idl:
+ * inspector/front-end/Images/deactivateBreakpointsButtonGlyph.png: Added.
+ * inspector/front-end/Images/deactivateBreakpointsDisabledButtonGlyph.png: Added.
+ * inspector/front-end/InspectorBackendStub.js:
+ (.WebInspector.InspectorBackendStub.prototype.activateBreakpoints):
+ (.WebInspector.InspectorBackendStub.prototype.deactivateBreakpoints):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel):
+ (WebInspector.ScriptsPanel.prototype.get breakpointsActivated):
+ (WebInspector.ScriptsPanel.prototype.addBreakpoint):
+ (WebInspector.ScriptsPanel.prototype._stepOutClicked):
+ (WebInspector.ScriptsPanel.prototype._toggleBreakpointsClicked):
+ * inspector/front-end/inspector.css:
+ * inspector/front-end/textViewer.css:
+
+2010-02-22 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Sam Weinig and Maciej Stachowiak.
+
+ REGRESSION (r55039): Animation starts from near end when loaded over slow network
+ <http://webkit.org/b/35222> / <rdar://problem/7673523>
+
+ Roll out r55039 (related to <http://webkit.org/b/35115>) as it causes animated GIFs
+ to skip intermediate frames when loading over a slower network.
+
+ * platform/graphics/BitmapImage.cpp:
+ (WebCore::BitmapImage::startAnimation):
+
+2010-02-22 Maciej Stachowiak <mjs@apple.com>
+
+ Not reviewed, build fix.
+
+ Revert the previous change.
+
+2010-02-21 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Cache JavaScript wrappers inline in DOM nodes
+ https://bugs.webkit.org/show_bug.cgi?id=35226
+ <rdar://problem/7664202>
+
+ 8.8% speedup on Dromaeo DOM Core tests.
+ 3.3% speedup on Hixie DOM Core tests.
+
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::forgetDOMNode): Clear wrapper pointer.
+ (WebCore::cacheDOMNodeWrapper): Cache inline too if caching for normal world.
+ * bindings/js/JSDOMBinding.h:
+ (WebCore::DOMObjectWrapperMapFor):
+ * bindings/js/JSDocumentCustom.cpp:
+ (WebCore::toJS): Remove unneeded argument from getCachedDOMNodeWrapper.
+ * bindings/js/JSNodeCustom.cpp:
+ (WebCore::createWrapperInline): Renamed version of original createWrapper.
+ (WebCore::createWrapper): Call createWrapperInline. Out-of-line version.
+ (WebCore::toJSNewlyCreated): Call createWrapperInline instead of createWrapper.
+ * bindings/js/JSNodeCustom.h: Added.
+ (WebCore::getCachedDOMNodeWrapper): Moved here so it can be inlined.
+ (WebCore::toJS): Moved here so it can be inlined.
+ * bindings/js/ScriptWrappable.h:
+ (WebCore::ScriptWrappable::ScriptWrappable): Implement this in the obvious
+ way for JavaScriptCore.
+ (WebCore::ScriptWrappable::wrapper):
+ (WebCore::ScriptWrappable::setWrapper):
+ (WebCore::ScriptWrappable::clearWrapper):
+ * bindings/scripts/CodeGeneratorJS.pm: Include CustomHeader heaaders
+ in the header, not just the impl file, so they can add inlining.
+ * dom/Node.idl: Add CustomHeader directive.
+
+ Add new files to build.
+
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+
+2010-02-22 Pavel Feldman <pfeldman@chromium.org>
+
+ Not reviewed: windows build fix.
+
+2010-02-21 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: stop on inline breakpoints on reload.
+ - ScriptBreakpoint struct has been introduced and reused in InspectorController
+ and debug server.
+ - JavaScriptDebugServer was moved to bindings/js and renamed to ScriptDebugServer
+ There were no changes to semantics, only some mechanical changes:
+ - addBreakpoint and updateBreakpoint were merged into setBreakpoint
+ - ScriptDebugServer now operates ScriptBreakpoint instances instead of
+ BreakpointInfo.
+ - It no longer allocates maps and breakpoint info in heap - all done on stack.
+ - JavaScriptDebugListener is now ScriptDebugServer::Listener
+ - Listener methods no longer have ExecState (was unused).
+ - addListener/removeListener pair wuth no page argument removed (was unused).
+ - InspectorController now binds sourceID to url and maintains a map of 'sticky'
+ breakpoints. Whenever script is loaded and there is a sticky breakpoint url matching,
+ breakpoint is being 'restored' synchronously in debug server and pushed to frontend.
+ Front-end no longer stores map of sticky breakpoints.
+ - setBreakpoint/removeBreakpoint/didParseSource trio handle this logic.
+ - A bunch of if(USE_JSC/V8/other) forks removed.
+ - InspectorFrontend now operates primitive types only, got rid of USE_JSC as well.
+
+ https://bugs.webkit.org/show_bug.cgi?id=28799
+
+ * GNUmakefile.am:
+ * WebCore.base.exp:
+ * WebCore.gypi:
+ * WebCore.order:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSInjectedScriptHostCustom.cpp:
+ (WebCore::JSInjectedScriptHost::currentCallFrame):
+ (WebCore::JSInjectedScriptHost::isActivation):
+ * bindings/js/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::shared):
+ (WebCore::ScriptDebugServer::ScriptDebugServer):
+ (WebCore::ScriptDebugServer::~ScriptDebugServer):
+ (WebCore::ScriptDebugServer::addListener):
+ (WebCore::ScriptDebugServer::removeListener):
+ (WebCore::ScriptDebugServer::pageCreated):
+ (WebCore::ScriptDebugServer::hasListenersInterestedInPage):
+ (WebCore::ScriptDebugServer::setBreakpoint):
+ (WebCore::ScriptDebugServer::removeBreakpoint):
+ (WebCore::ScriptDebugServer::hasBreakpoint):
+ (WebCore::ScriptDebugServer::clearBreakpoints):
+ (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
+ (WebCore::ScriptDebugServer::pauseProgram):
+ (WebCore::ScriptDebugServer::continueProgram):
+ (WebCore::ScriptDebugServer::stepIntoStatement):
+ (WebCore::ScriptDebugServer::stepOverStatement):
+ (WebCore::ScriptDebugServer::stepOutOfFunction):
+ (WebCore::ScriptDebugServer::currentCallFrame):
+ (WebCore::ScriptDebugServer::currentCallFrameState):
+ (WebCore::ScriptDebugServer::dispatchDidParseSource):
+ (WebCore::ScriptDebugServer::dispatchFailedToParseSource):
+ (WebCore::toPage):
+ (WebCore::ScriptDebugServer::detach):
+ (WebCore::ScriptDebugServer::sourceParsed):
+ (WebCore::ScriptDebugServer::dispatchFunctionToListeners):
+ (WebCore::ScriptDebugServer::setJavaScriptPaused):
+ (WebCore::ScriptDebugServer::pauseIfNeeded):
+ (WebCore::ScriptDebugServer::callEvent):
+ (WebCore::ScriptDebugServer::atStatement):
+ (WebCore::ScriptDebugServer::returnEvent):
+ (WebCore::ScriptDebugServer::exception):
+ (WebCore::ScriptDebugServer::willExecuteProgram):
+ (WebCore::ScriptDebugServer::didExecuteProgram):
+ (WebCore::ScriptDebugServer::didReachBreakpoint):
+ (WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon):
+ (WebCore::ScriptDebugServer::recompileAllJSFunctions):
+ (WebCore::ScriptDebugServer::didAddListener):
+ (WebCore::ScriptDebugServer::didRemoveListener):
+ (WebCore::ScriptDebugServer::didRemoveLastListener):
+ * bindings/js/ScriptDebugServer.h:
+ (WebCore::ScriptDebugServer::Listener::~Listener):
+ (WebCore::ScriptDebugServer::):
+ (WebCore::ScriptDebugServer::pauseOnExceptionsState):
+ (WebCore::ScriptDebugServer::hasListeners):
+ (WebCore::ScriptDebugServer::hasGlobalListeners):
+ * bindings/v8/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::shared):
+ * bindings/v8/ScriptDebugServer.h:
+ (WebCore::ScriptDebugServer::Listener::~Listener):
+ (WebCore::ScriptDebugServer::addListener):
+ (WebCore::ScriptDebugServer::removeListener):
+ (WebCore::ScriptDebugServer::setBreakpoint):
+ (WebCore::ScriptDebugServer::removeBreakpoint):
+ (WebCore::ScriptDebugServer::clearBreakpoints):
+ (WebCore::ScriptDebugServer::):
+ (WebCore::ScriptDebugServer::pauseOnExceptionsState):
+ (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
+ (WebCore::ScriptDebugServer::pauseProgram):
+ (WebCore::ScriptDebugServer::continueProgram):
+ (WebCore::ScriptDebugServer::stepIntoStatement):
+ (WebCore::ScriptDebugServer::stepOverStatement):
+ (WebCore::ScriptDebugServer::stepOutOfFunction):
+ (WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon):
+ (WebCore::ScriptDebugServer::recompileAllJSFunctions):
+ (WebCore::ScriptDebugServer::currentCallFrameState):
+ (WebCore::ScriptDebugServer::pageCreated):
+ (WebCore::ScriptDebugServer::ScriptDebugServer):
+ (WebCore::ScriptDebugServer::~ScriptDebugServer):
+ * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
+ (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
+ (WebCore::V8InjectedScriptHost::isActivationCallback):
+ * inspector/InjectedScriptHost.cpp:
+ * inspector/InjectedScriptHost.h:
+ * inspector/InjectedScriptHost.idl:
+ * inspector/InspectorBackend.cpp:
+ (WebCore::InspectorBackend::setBreakpoint):
+ (WebCore::InspectorBackend::removeBreakpoint):
+ (WebCore::InspectorBackend::pauseInDebugger):
+ (WebCore::InspectorBackend::stepOverStatementInDebugger):
+ (WebCore::InspectorBackend::stepIntoStatementInDebugger):
+ (WebCore::InspectorBackend::stepOutOfFunctionInDebugger):
+ (WebCore::InspectorBackend::pauseOnExceptionsState):
+ (WebCore::InspectorBackend::setPauseOnExceptionsState):
+ * inspector/InspectorBackend.h:
+ * inspector/InspectorBackend.idl:
+ * inspector/ScriptBreakpoint.h: Added.
+ (WebCore::InspectorBreakpoint::InspectorBreakpoint):
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::InspectorController):
+ (WebCore::InspectorController::setWindowVisible):
+ (WebCore::InspectorController::scriptObjectReady):
+ (WebCore::InspectorController::close):
+ (WebCore::InspectorController::didCommitLoad):
+ (WebCore::InspectorController::addProfile):
+ (WebCore::InspectorController::startUserInitiatedProfiling):
+ (WebCore::InspectorController::stopUserInitiatedProfiling):
+ (WebCore::InspectorController::enableProfiler):
+ (WebCore::InspectorController::disableProfiler):
+ (WebCore::InspectorController::enableDebuggerFromFrontend):
+ (WebCore::InspectorController::disableDebugger):
+ (WebCore::InspectorController::resumeDebugger):
+ (WebCore::InspectorController::setBreakpoint):
+ (WebCore::InspectorController::removeBreakpoint):
+ (WebCore::InspectorController::didParseSource):
+ (WebCore::InspectorController::failedToParseSource):
+ (WebCore::InspectorController::didPause):
+ * inspector/InspectorController.h:
+ * inspector/InspectorFrontend.cpp:
+ (WebCore::InspectorFrontend::parsedScriptSource):
+ (WebCore::InspectorFrontend::restoredBreakpoint):
+ (WebCore::InspectorFrontend::failedToParseScriptSource):
+ (WebCore::InspectorFrontend::resumedScript):
+ * inspector/InspectorFrontend.h:
+ * inspector/JavaScriptDebugListener.h: Removed.
+ * inspector/JavaScriptDebugServer.cpp: Removed.
+ * inspector/JavaScriptDebugServer.h: Removed.
+ * inspector/front-end/Breakpoint.js:
+ (WebInspector.Breakpoint.prototype.set condition):
+ * inspector/front-end/BreakpointsSidebarPane.js:
+ (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
+ (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
+ * inspector/front-end/InspectorBackendStub.js:
+ (.WebInspector.InspectorBackendStub.prototype.addBreakpoint):
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype.sourceFrameForResource):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel):
+ (WebInspector.ScriptsPanel.prototype.addScript):
+ (WebInspector.ScriptsPanel.prototype.addBreakpoint):
+ (WebInspector.ScriptsPanel.prototype.removeBreakpoint):
+ (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
+ * inspector/front-end/inspector.js:
+ (WebInspector.restoredBreakpoint):
+ * page/Page.cpp:
+ (WebCore::Page::Page):
+ * platform/android/TemporaryLinkStubs.cpp:
+
+2010-02-21 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Make the UChar owned/ref-counted by StringImpl::CrossThreadRefCounted be const.
+
+ * platform/text/StringImpl.cpp:
+ (WebCore::StringImpl::sharedBuffer):
+ * platform/text/StringImpl.h:
+
+2010-02-07 Yuzo Fujishima <yuzo@google.com>
+
+ Reviewed by Eric Seidel.
+
+ When page-break-{after,before} is set to always, force page breaks even for overflow-specified elements.
+ RenderBlock::inRootBlockContext() was introduced by Changeset 5611. Although it is a reasonable criteria for choosing an optional page break location, it is not for a mandatory page break as specified by http://dev.w3.org/csswg/css3-page/#forced-pg-brk. The method is removed because it is not used anywhere else.
+ Note: this patch makes page break work for overflow-specified elements. For tables and floated elements, more work is needed.
+ https://bugs.webkit.org/show_bug.cgi?id=9526
+
+ Test: printing/page-break-always-for-overflow.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::paintChildren):
+ * rendering/RenderBlock.h:
+
+2010-02-21 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Remove auto_ptr usage in WebCore.
+ https://bugs.webkit.org/show_bug.cgi?id=35157
+
+ The changes consists of:
+
+ - Changing auto_ptr arguments or return types to PassOwnPtr.
+
+ - Replacing local auto_ptr by OwnPtr.
+
+ - Removing now unneeded <memory> inclusion.
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::addProperty):
+ * loader/WorkerThreadableLoader.cpp:
+ (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
+ (WebCore::workerContextDidReceiveResponse):
+ (WebCore::workerContextDidReceiveData):
+ (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
+ (WebCore::workerContextDidReceiveAuthenticationCancellation):
+ * loader/WorkerThreadableLoader.h:
+ * loader/icon/IconLoader.cpp:
+ (WebCore::IconLoader::create):
+ * loader/icon/IconLoader.h:
+ * platform/ContextMenu.cpp:
+ (WebCore::separatorItem):
+ * platform/CrossThreadCopier.h:
+ (WebCore::):
+ * platform/network/HTTPHeaderMap.cpp:
+ (WebCore::HTTPHeaderMap::copyData):
+ (WebCore::HTTPHeaderMap::adopt):
+ * platform/network/HTTPHeaderMap.h:
+ * platform/network/ResourceRequestBase.cpp:
+ (WebCore::ResourceRequestBase::adopt):
+ (WebCore::ResourceRequestBase::copyData):
+ * platform/network/ResourceRequestBase.h:
+ * platform/network/ResourceResponseBase.cpp:
+ (WebCore::ResourceResponseBase::adopt):
+ (WebCore::ResourceResponseBase::copyData):
+ * platform/network/ResourceResponseBase.h:
+ * svg/SVGDocumentExtensions.cpp:
+ (WebCore::SVGDocumentExtensions::removePendingResource):
+ * svg/SVGDocumentExtensions.h:
+ * svg/SVGElement.cpp:
+ (WebCore::SVGElement::insertedIntoDocument):
+ * workers/GenericWorkerTask.h:
+ * workers/WorkerThread.cpp:
+ (WebCore::WorkerThreadStartupData::create):
+
+2010-02-21 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22215
+ Avoid calling absoluteClippedOverflowRect() so many times
+
+ RenderLayer::updateLayerPositions() computes the clipped overflow rect
+ and the outline bounds for repaint, and then calls repaintAfterLayoutIfNeeded()
+ which can compute the same rects all over again. Avoid this by passing
+ these two rects into repaintAfterLayoutIfNeeded() if known. This measurably
+ reduces the time spent in updateLayerPositions() for some content.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateLayerPositions):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
+ * rendering/RenderObject.h:
+
+2010-02-20 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35202
+ <rdar://problem/4856597> Calling Java method which accepts Object always passes a null argument
+
+ * bridge/jni/jsc/JNIUtilityPrivate.cpp: (JSC::Bindings::convertValueToJValue): Add cases for
+ other JS types.
+
+2010-02-20 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Fix compiler warning "suggest parentheses around"
+ https://bugs.webkit.org/show_bug.cgi?id=35197
+
+ No new tests as there is no new functionality.
+
+ * html/DateComponents.cpp:
+ (WebCore::beforeGregorianStartDate):
+ * plugins/PluginDatabase.cpp:
+ (WebCore::PluginDatabase::findPlugin):
+
+2010-02-20 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] ENABLE_3D_RENDERING should be optional
+ https://bugs.webkit.org/show_bug.cgi?id=35100
+
+ No new tests: this is a build fix.
+
+ * WebCore.pri: ENABLE_3D_RENDERING is now a proper feature test
+
+2010-02-20 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=23742
+ Applet methods can not return arrays to JS
+
+ * bridge/jni/jsc/JNIBridgeJSC.cpp: (JavaArray::JavaArray): Don't accidentally zero out
+ m_rootObject (that's how PassRefPtr works). Without m_rootObject, we crash quickly.
+
+ * bridge/jni/jsc/JavaInstanceJSC.cpp: (JavaInstance::invokeMethod): Do handle returned arrays.
+ Also, added an ifdef around code that's only needed on Tiger, and removed a comment saying
+ it can be removed when "new" plugin ships. I doubt that anyone can remember what "new"
+ could refer to back then.
+
+2010-02-20 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: re-creating view in ResourcesPanel confuses ScriptsPanel's visibleView logic.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35192
+
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype.show):
+ (WebInspector.ScriptsPanel.prototype.viewRecreated):
+
+2010-02-20 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: need to highlight the evaluated expression used for popovers.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35126
+
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype._mouseMove):
+ (WebInspector.SourceFrame.prototype._hidePopup):
+ (WebInspector.SourceFrame.prototype._mouseHover):
+ (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
+ (WebInspector.SourceFrame.prototype._showPopup):
+ * inspector/front-end/inspector.css:
+
+2010-02-20 Gustavo Noronha Silva <gns@gnome.org>
+
+ Roll out 55047 because it causes layout, and API tests to fail
+
+2010-02-19 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Xan Lopez.
+
+ [Soup] loses information related to message flags when converting from/to Resource{Request,Response}
+ https://bugs.webkit.org/show_bug.cgi?id=35093
+
+ Refactor updating of ResourceResponse objects from soup message
+ objects, to avoid code duplication.
+
+ No behaviour change.
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::fillResponseFromMessage):
+ * platform/network/soup/ResourceResponseSoup.cpp:
+ (WebCore::ResourceResponse::updateFromSoupMessage):
+
+2010-02-20 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35190
+ Don't use system malloc in Java bindings
+
+ * bridge/jni/jsc/JavaInstanceJSC.cpp: (JavaInstance::invokeMethod): Switched to WTF::Vector.
+
+2010-02-20 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=9761
+ LiveConnect string conversion fails for java.lang.Object
+
+ Can't test Java in DRT (I wonder why).
+
+ * bridge/jni/jsc/JNIUtilityPrivate.cpp: (JSC::Bindings::convertValueToJValue):
+ Added the necessary conversion. Also, removed CONVERT_NULL_TO_EMPTY_STRING dead code.
+
+2010-02-19 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by David Levin.
+
+ Add an ENABLE flag for sandboxed iframes to make it possible to disable it in releases
+ https://bugs.webkit.org/show_bug.cgi?id=35147
+
+ I made ENABLE(SANDBOX) only control the sandbox attribute itself;
+ I did not ifdef the infrastructure to make sandboxing
+ switchable. This is because the likely concerns about sandboxing
+ are not stability of the infrastructure code, but rather the fact
+ that the security model exposed to authors is still evolving.
+
+ * Configurations/FeatureDefines.xcconfig:
+ * GNUmakefile.am:
+ * WebCore.pri:
+ * html/HTMLIFrameElement.cpp:
+ (WebCore::HTMLIFrameElement::parseMappedAttribute):
+
+2010-02-19 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35132
+ <rdar://problem/7664353> Mouse cursor sometimes flickers over Flash content (35132)
+
+ * page/EventHandler.cpp: (WebCore::EventHandler::handleMouseMoveEvent): Don't set mouse
+ pointer when above a plug-in or applet to prevent flicker.
+
+2010-02-18 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Adam Barth.
+
+ Fix regression in calculating an animated image's start time.
+ https://bugs.webkit.org/show_bug.cgi?id=35115
+
+ * platform/graphics/BitmapImage.cpp:
+ (WebCore::BitmapImage::startAnimation):
+
+2010-02-19 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35178
+ LiveConnect code uses hand-rolled fprintf logging
+
+ Changed to use LOG, LOG_ERROR and ASSERT.
+
+ * platform/Logging.cpp:
+ (WebCore::getChannelFromName):
+ * platform/Logging.h:
+ * platform/mac/LoggingMac.mm:
+ (WebCore::InitializeLoggingChannelsIfNecessary):
+ * platform/win/LoggingWin.cpp:
+ (WebCore::InitializeLoggingChannelsIfNecessary):
+ TextConversion channel was (almost) unused, renamed to LiveConnect.
+
+ * platform/text/gtk/TextCodecGtk.cpp: (WebCore::TextCodecGtk::registerEncodingNames):
+ The only use of this channel was in platform specific code, commandeered it for cross-platform
+ needs.
+
+ * bridge/jni/JNIBridge.cpp:
+ * bridge/jni/JNIUtility.cpp:
+ (JSC::Bindings::getJavaVM):
+ (JSC::Bindings::getJNIEnv):
+ (JSC::Bindings::getJNIField):
+ * bridge/jni/JNIUtility.h:
+ (JSC::Bindings::callJNIMethodV):
+ (JSC::Bindings::callJNIStaticMethod):
+ * bridge/jni/jni_jsobject.mm:
+ (completedJavaScriptAccess):
+ (dispatchToJavaScriptThread):
+ (performJavaScriptAccess):
+ (JavaJSObject::invoke):
+ (JavaJSObject::call):
+ (JavaJSObject::eval):
+ (JavaJSObject::getMember):
+ (JavaJSObject::setMember):
+ (JavaJSObject::removeMember):
+ (JavaJSObject::getSlot):
+ (JavaJSObject::setSlot):
+ (JavaJSObject::toString):
+ (JavaJSObject::createNative):
+ * bridge/jni/jsc/JNIBridgeJSC.cpp:
+ (JavaField::valueFromInstance):
+ (JavaField::setValueToInstance):
+ * bridge/jni/jsc/JavaClassJSC.cpp:
+ (JavaClass::JavaClass):
+ * bridge/jni/jsc/JavaInstanceJSC.cpp:
+ (JavaInstance::invokeMethod):
+ (JObjectWrapper::JObjectWrapper):
+ (JObjectWrapper::~JObjectWrapper):
+
+2010-02-19 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ RenderSVGResourceMasker causes an Assert on Wind builds during DRT
+ https://bugs.webkit.org/show_bug.cgi?id=35182
+
+ We remove the Assert for now and return earlier, if the HashMap of the Masker
+ does not contain the RenderObject. The RenderObject is an identifiert to get
+ a already calculated mask.
+ A race condition during parsing can cause the invalidation call, before the mask
+ got calculated (only during DRT on Win build bots).
+ The real bug will be fixed with: https://bugs.webkit.org/show_bug.cgi?id=35181
+
+ * rendering/RenderSVGResourceMasker.cpp:
+ (WebCore::RenderSVGResourceMasker::invalidateClient):
+
+2010-02-18 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Darin Fisher.
+
+ Make Pasteboard::writeImage() safe against NULL cachedImages, and clean
+ up some code.
+ https://bugs.webkit.org/show_bug.cgi?id=35136
+
+ * loader/ImageLoader.cpp:
+ (WebCore::ImageLoader::updateRenderer): Shorten some code.
+ * page/DragController.cpp:
+ (WebCore::getImage): Shorten some code.
+ * platform/chromium/PasteboardChromium.cpp:
+ (WebCore::Pasteboard::writeImage): NULL-check cachedImage().
+ * platform/gtk/PasteboardGtk.cpp:
+ (WebCore::Pasteboard::writeImage): NULL-check cachedImage().
+ * platform/mac/PasteboardMac.mm:
+ (WebCore::Pasteboard::writeImage): NULL-check cachedImage().
+ * platform/qt/PasteboardQt.cpp:
+ (WebCore::Pasteboard::writeImage): NULL-check cachedImage().
+ * platform/win/PasteboardWin.cpp:
+ (WebCore::Pasteboard::writeImage): NULL-check cachedImage().
+
+2010-02-19 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Rubberstamped by Noam Rosenthal, who wrote the original code.
+
+ Make mouse wheel scrolling work when using the GraphicsLayer.
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
+
+2010-02-19 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [V8] Fix Worker crash regression in r54972
+
+ https://bugs.webkit.org/show_bug.cgi?id=35166
+
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::instantiateV8Object): Properly unwrap global objects when inside a WorkerContext.
+
+2010-02-19 Steve Block <steveblock@google.com>
+
+ Not reviewed. Reverts r55020 which causes crashes in Chromium LayoutTests
+
+ * bindings/generic/RuntimeEnabledFeatures.cpp:
+ * storage/Database.cpp:
+
+2010-02-19 Steve Block <steveblock@google.com>
+
+ Reviewed by David Levin.
+
+ Sets default values of V8 runtime enabler flags to match behavior with JSC
+ https://bugs.webkit.org/show_bug.cgi?id=35095
+
+ No new tests, modifies a Chromium feature only.
+
+ * bindings/generic/RuntimeEnabledFeatures.cpp: Modified. Sets appcache and geolocation flag defaults to 'on'
+ * storage/Database.cpp: Modified. Sets database flag default to 'on'.
+
+2010-02-19 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ WebInspector: Elements panel: Correctly show empty elements' ending tags
+ for XML and HTML documents.
+ https://bugs.webkit.org/show_bug.cgi?id=26315
+
+ Test: inspector/elements-panel-xhtml-structure.xhtml
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::populateScriptObjects):
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeOutline.prototype.set rootDOMNode):
+ (WebInspector.ElementsTreeOutline.prototype.get isXMLMimeType):
+ (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
+ (WebInspector.ElementsTreeElement.prototype.onexpand):
+ (WebInspector.ElementsTreeElement.prototype.oncollapse):
+ (WebInspector.ElementsTreeElement.prototype.updateTitle.callback):
+ (WebInspector.ElementsTreeElement.prototype.updateTitle):
+ (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo):
+
+2010-02-19 Pavel Feldman <pfeldman@chromium.org>
+
+ Not reviewed. Chromium build fix: reverting r54997 and r54998.
+
+ * bindings/v8/custom/V8LocationCustom.cpp:
+ (WebCore::V8Location::protocolAccessorSetter):
+ * platform/KURLGoogle.cpp:
+ (WebCore::KURL::setProtocol):
+ (WebCore::KURL::isHierarchical):
+
+2010-02-17 Philippe Normand <pnormand@igalia.com>
+
+ Reviewed by Eric Seidel.
+
+ [GTK] RTP/RTSP streams playback support
+ https://bugs.webkit.org/show_bug.cgi?id=33662
+
+ Added live pipelines support in updateStates().
+
+ * manual-tests/video-rtsp.html: Added.
+ * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::MediaPlayerPrivate::seek):
+ (WebCore::MediaPlayerPrivate::updateStates):
+
+2010-02-18 Yaar Schnitman <yaar@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Normalize custom ctors for Image, Option, Audio
+ https://bugs.webkit.org/show_bug.cgi?id=34782
+
+ Test: fast/js/custom-constructors.html
+
+ * bindings/js/JSAudioConstructor.cpp:
+ (WebCore::JSAudioConstructor::JSAudioConstructor):
+ (WebCore::constructAudio):
+ * bindings/js/JSImageConstructor.cpp:
+ (WebCore::constructImage):
+ * bindings/js/JSOptionConstructor.cpp:
+ (WebCore::constructHTMLOptionElement):
+ * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
+ (WebCore::v8HTMLAudioElementConstructorCallback):
+ * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
+ (WebCore::v8HTMLImageElementConstructorCallback):
+ * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
+ (WebCore::v8HTMLOptionElementConstructorCallback):
+ * html/HTMLAudioElement.cpp:
+ (WebCore::HTMLAudioElement::HTMLAudioElement):
+ (WebCore::HTMLAudioElement::createForJSConstructor):
+ * html/HTMLAudioElement.h:
+ * html/HTMLImageElement.cpp:
+ (WebCore::HTMLImageElement::createForJSConstructor):
+ (WebCore::HTMLImageElement::mapToEntry):
+ (WebCore::HTMLImageElement::createRenderer):
+ (WebCore::HTMLImageElement::attach):
+ (WebCore::HTMLImageElement::width):
+ (WebCore::HTMLImageElement::height):
+ (WebCore::HTMLImageElement::naturalHeight):
+ * html/HTMLImageElement.h:
+ * html/HTMLOptionElement.cpp:
+ (WebCore::HTMLOptionElement::HTMLOptionElement):
+ (WebCore::HTMLOptionElement::createForJSConstructor):
+ (WebCore::HTMLOptionElement::ownerSelectElement):
+ (WebCore::HTMLOptionElement::nonRendererRenderStyle):
+ (WebCore::HTMLOptionElement::disabled):
+ (WebCore::HTMLOptionElement::insertedIntoTree):
+ * html/HTMLOptionElement.h:
+
+2010-02-18 Simon Fraser <simon.fraser@apple.com>
+
+ No Review.
+
+ Remove a couple of extraneous spaces that got added to the project file
+ by hand-ending.
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+2010-02-18 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ <rdar://problem/7535894> Page contents missing from snapshot on Newsweek.com article
+
+ Add logic to determine when painting via the software rendering path will give an equivalent
+ result to the accelerated compositing presentation. This tests for the presence of 3D transforms
+ via the existing RenderLayerCompositor::has3DContent() method.
+
+ * WebCore.base.exp: Export FrameView's isSoftwareRenderable(), paintBehavior() and setPaintBehavior().
+ * page/FrameView.h:
+ * page/FrameView.cpp:
+ (WebCore::FrameView::isSoftwareRenderable): New method.
+ (WebCore::FrameView::paintBehavior): Make this non-inline so that we can reliably export it.
+
+2010-02-18 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by John Sullivan.
+
+ <rdar://problem/7658811> Multiple style recalcs due to getComputedStyle() on “display: none;†element
+ when there are pending style sheets
+
+ Test: fast/css/getComputedStyle/pending-stylesheet.html
+
+ When querying a property of a computed style declaration for a non-rendered element,
+ CSSStyleSelector::styleForElement() was called, and if there were pending style sheet, it
+ would behave as if the lack of renderer is due to FOUC suppression, and set a flag on
+ the document causing it to recalculate style. On the next computed style property access,
+ style would be recalculated for the document, but then the flag would get set again if the
+ element did not have a renderer.
+
+ * dom/Document.cpp:
+ (WebCore::Document::styleForElementIgnoringPendingStylesheets): Added. Temporarily sets
+ m_ignorePendingStylesheets around the call to CSSStyleSelector::styleForElement().
+ * dom/Document.h:
+ * dom/Element.cpp:
+ (WebCore::Element::computedStyle): Use Document::styleForElementIgnoringPendingStylesheets().
+
+2010-02-18 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ Move SVGResources to Renderers, starting with Masker
+ https://bugs.webkit.org/show_bug.cgi?id=35020
+
+ We have rendering specific code in WebCore/svg/graphics. The goal is to move
+ this code into suitable Renderers. This helps us to clean up the code and makes
+ maintenance easier. It also makes it possible to remove rendering specific code
+ from SVG*Elements into this renderers. So the Renderer contains everything that
+ is needed to use the resource.
+ RenderSVGResource will be the base class for all new resource render classes like
+ RenderSVGResourceMasker, RenderSVGResourceClipper and the other resources.
+
+ This patch starts moving SVGResourceMasker to RenderSVGResourceMasker.
+ Another benefit is the much more useful result in DRT on using masker.
+
+ * Android.mk:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::toRenderSVGResource): Conversion to RenderSVGResource base class.
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::isSVGResource): Check if renderer is a resource.
+ * rendering/RenderPath.cpp:
+ * rendering/RenderSVGImage.cpp:
+ (WebCore::RenderSVGImage::destroy): Renderer gets destroyed, unregister it from it's resources.
+ * rendering/RenderSVGImage.h: Some code clean up according to the webkit style.
+ (WebCore::RenderSVGImage::toSVGRenderBase):
+ (WebCore::RenderSVGImage::renderName):
+ (WebCore::RenderSVGImage::isSVGImage):
+ (WebCore::RenderSVGImage::localToParentTransform):
+ (WebCore::RenderSVGImage::strokeBoundingBox):
+ (WebCore::RenderSVGImage::requiresLayer):
+ (WebCore::RenderSVGImage::localTransform):
+ * rendering/RenderSVGInlineText.h:
+ (WebCore::RenderSVGInlineText::objectBoundingBox): Needed for SVGRenderTreeAsText
+ * rendering/RenderSVGModelObject.cpp:
+ (WebCore::RenderSVGModelObject::destroy): Renderer gets destroyed, unregister it from it's resources.
+ * rendering/RenderSVGModelObject.h:
+ * rendering/RenderSVGResource.h: Added.
+ (WebCore::): Base class for all Resource renderers like masker, clipper and others.
+ (WebCore::RenderSVGResource::RenderSVGResource):
+ (WebCore::RenderSVGResource::cast):
+ (WebCore::RenderSVGResource::toRenderSVGResource):
+ (WebCore::RenderSVGResource::isSVGResource):
+ (WebCore::RenderSVGResource::drawsContents):
+ (WebCore::getRenderSVGResourceById):
+ * rendering/RenderSVGResourceMasker.cpp: Added.
+ (WebCore::RenderSVGResourceMasker::RenderSVGResourceMasker):
+ (WebCore::RenderSVGResourceMasker::~RenderSVGResourceMasker):
+ (WebCore::RenderSVGResourceMasker::invalidateClients): Status of masker changed, remove all clients.
+ (WebCore::RenderSVGResourceMasker::invalidateClient): Status of an object changed, remove pending client.
+ (WebCore::RenderSVGResourceMasker::applyResource): Apply masker to object.
+ (WebCore::RenderSVGResourceMasker::resourceBoundingBox): boundingBox of the resource, depending on the object.
+ (WebCore::RenderSVGResourceMasker::createMaskImage): Creates the mask image, the context gets clipped with.
+ * rendering/RenderSVGResourceMasker.h: Added.
+ (WebCore::MaskerData::MaskerData):
+ (WebCore::RenderSVGResourceMasker::renderName):
+ (WebCore::RenderSVGResourceMasker::maskUnits): Unit of mask for DRT.
+ (WebCore::RenderSVGResourceMasker::maskContentUnits): Unit of childs from mask for DRT.
+ (WebCore::RenderSVGResourceMasker::resourceType):
+ * rendering/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::destroy): Renderer gets destroyed, unregister it from it's resources.
+ * rendering/RenderSVGRoot.h:
+ * rendering/RenderSVGText.cpp:
+ (WebCore::RenderSVGText::destroy): dito.
+ * rendering/RenderSVGText.h:
+ * rendering/RenderTreeAsText.cpp:
+ (WebCore::write):
+ * rendering/SVGRenderSupport.cpp:
+ (WebCore::SVGRenderBase::prepareToRenderSVGContent):
+ (WebCore::SVGRenderBase::maskerBoundingBoxForRenderer):
+ (WebCore::SVGRenderBase::deregisterFromResources): Unregister object from all it's resources after status changed.
+ * rendering/SVGRenderSupport.h:
+ (WebCore::SVGRenderBase::toSVGRenderBase):
+ (WebCore::SVGRenderBase::strokeBoundingBox):
+ (WebCore::SVGRenderBase::markerBoundingBox):
+ * rendering/SVGRenderTreeAsText.cpp: Update TreeAsText to dump maskers correctly.
+ (WebCore::operator<<):
+ (WebCore::writeSVGResource):
+ (WebCore::writeSVGContainer):
+ (WebCore::writeSVGText):
+ (WebCore::writeSVGInlineText):
+ (WebCore::writeSVGImage):
+ (WebCore::write):
+ (WebCore::writeResourcesToObject):
+ * rendering/SVGRenderTreeAsText.h:
+ * svg/SVGMaskElement.cpp: Update Masker to use the new renderer.
+ (WebCore::SVGMaskElement::svgAttributeChanged):
+ (WebCore::SVGMaskElement::childrenChanged):
+ (WebCore::SVGMaskElement::maskBoundingBox):
+ (WebCore::SVGMaskElement::createRenderer):
+ * svg/SVGMaskElement.h:
+ * svg/SVGStyledElement.cpp: We need to tell the renderer to unregister object, after the status changed.
+ (WebCore::SVGStyledElement::invalidateResources):
+ (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain):
+ * svg/SVGUnitTypes.h: Conversion of integer to SVGUnitType.
+ (WebCore::toUnitType):
+ * svg/graphics/SVGResource.h:
+ (WebCore::):
+ (WebCore::SVGResource::isMarker):
+ * svg/graphics/SVGResourceMasker.cpp: Removed.
+ * svg/graphics/SVGResourceMasker.h: Removed.
+
+2010-02-18 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Allow creating/dropping virtual tables when the module is FTS2.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34867
+
+ * storage/DatabaseAuthorizer.cpp:
+ (WebCore::DatabaseAuthorizer::createVTable):
+ (WebCore::DatabaseAuthorizer::dropVTable):
+
+2010-02-18 Peter Kasting <pkasting@google.com>
+
+ Not reviewed, Chromium build fix.
+
+ r54963 had a typo in the WebCore.gypi change.
+ https://bugs.webkit.org/show_bug.cgi?id=35003
+
+ * WebCore.gypi:
+
+2010-02-18 Vangelis Kokkevis <vangelis@chromium.org>
+
+ Reviewed by Simon Fraser.
+
+ Changing forward declaration of TimingFunction in GraphicsLayer.h from
+ class to struct to match its actual definition in TimingFunction.h
+
+ https://bugs.webkit.org/show_bug.cgi?id=35069
+
+
+ * platform/graphics/GraphicsLayer.h:
+ Change forward declaration from: class TimingFunction to:
+ struct TimingFunction
+
+2010-02-18 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Minor improvement to hybrid QPixmap
+ https://bugs.webkit.org/show_bug.cgi?id=34507
+ Instead of having toHTMLImageElement which creates a new element,
+ assignToHTMLImageElement would set an existing HTML <img/> element to
+ contain the native QPixmap/QImge.
+ Also made some style fixes.
+
+ Additions to existing tests: see WebKit/qt/tests
+
+ * bridge/qt/qt_pixmapruntime.cpp:
+ (JSC::Bindings::QtPixmapWidthField::valueFromInstance): style
+ (JSC::Bindings::QtPixmapHeightField::valueFromInstance): style
+ (JSC::Bindings::QtPixmapAssignToElementMethod::name): assignTo
+ (JSC::Bindings::QtPixmapAssignToElementMethod::invoke): new function
+ (JSC::Bindings::QtPixmapAssignToElementMethod::numParameters): 1
+ (JSC::Bindings::QtPixmapToDataUrlMethod::invoke): style
+ (JSC::Bindings::QtPixmapToStringMethod::invoke): style
+ (JSC::Bindings::QtPixmapInstance::invokeMethod): style
+ (JSC::Bindings::QtPixmapClass::methodsNamed): new func, removed old
+ (JSC::Bindings::QtPixmapInstance::getPropertyNames): ditto
+ (JSC::Bindings::QtPixmapInstance::defaultValue): style
+ (JSC::Bindings::QtPixmapInstance::valueOf): style
+ (JSC::Bindings::QtPixmapInstance::toPixmap): style
+ (JSC::Bindings::QtPixmapInstance::variantFromObject): style
+
+2010-02-18 Peter Kasting <pkasting@google.com>
+
+ Not reviewed, bustage fix.
+
+ An extraneous line in r54839 broke GIF animation.
+
+ * platform/image-decoders/gif/GIFImageReader.cpp:
+ (GIFImageReader::read):
+
+2010-02-18 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <rdar://problem/7650652> REGRESSION: Selection painting issue in bug review textbox
+ https://bugs.webkit.org/show_bug.cgi?id=34946
+
+ Test: fast/repaint/selection-gap-overflow-scroll-2.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::paintSelection): localToContainerQuad() adjusts for
+ overflow scroll, but RenderLayer::addBlockSelectionGapsBounds() takes
+ non-scrolled coordinates, so account for that.
+
+2010-02-17 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Change the V8 and JSC SQLStatementErrorCallback to interpret
+ 'undefined' return values as 'true', as required by the spec.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35048
+
+ * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
+ (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
+ * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
+ (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
+ * bindings/v8/custom/V8CustomVoidCallback.cpp:
+ (WebCore::invokeCallbackHelper):
+ (WebCore::invokeCallback):
+ (WebCore::invokeCallbackTreatUndefinedAsTrue):
+ * bindings/v8/custom/V8CustomVoidCallback.h:
+
+2010-02-17 Ojan Vafai <ojan@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ keyboard selection sometimes moves the wrong end of the selection for Win/Linux
+ https://bugs.webkit.org/show_bug.cgi?id=35066
+
+ On Windows/Linux keyboard based selections should always move the same
+ end of the seleciton. On Mac, lineboundary and documentboundary changes
+ move different ends of the selection depending on which direction your
+ extending.
+
+ Test: editing/selection/extend-after-mouse-selection.html
+
+ * editing/SelectionController.cpp:
+ (WebCore::SelectionController::positionForPlatform):
+ (WebCore::SelectionController::startForPlatform):
+ (WebCore::SelectionController::endForPlatform):
+ (WebCore::SelectionController::modifyExtendingRight):
+ (WebCore::SelectionController::modifyExtendingForward):
+ (WebCore::SelectionController::modifyMovingForward):
+ (WebCore::SelectionController::modifyExtendingBackward):
+ (WebCore::SelectionController::modifyMovingBackward):
+ * editing/SelectionController.h:
+
+2010-02-18 Timothy Hatcher <timothy@apple.com>
+
+ Add "with" to the list of keywords to syntax highlight.
+
+ http://webkit.org/b/35123
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/SourceJavaScriptTokenizer.js:
+ (WebInspector.SourceJavaScriptTokenizer): Add "width" to _keywords.
+ * inspector/front-end/SourceJavaScriptTokenizer.re2js:
+ (WebInspector.SourceJavaScriptTokenizer): Ditto.
+
+2010-02-17 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Adam Barth.
+
+ Rework PNG-in-ICO decoding to copy the decoded framebuffer into the ICO
+ decoder, making the logic less crazy and more like the other decoders.
+ https://bugs.webkit.org/show_bug.cgi?id=28751
+
+ * platform/image-decoders/ImageDecoder.cpp:
+ (WebCore::RGBA32Buffer::operator=):
+ * platform/image-decoders/ImageDecoder.h:
+ (WebCore::RGBA32Buffer::RGBA32Buffer):
+ * platform/image-decoders/ico/ICOImageDecoder.cpp:
+ (WebCore::ICOImageDecoder::frameBufferAtIndex):
+ (WebCore::ICOImageDecoder::decodeAtIndex):
+ * platform/image-decoders/ico/ICOImageDecoder.h:
+ * platform/image-decoders/qt/RGBA32BufferQt.cpp:
+ (WebCore::RGBA32Buffer::operator=):
+ * platform/image-decoders/skia/ImageDecoderSkia.cpp:
+ (WebCore::RGBA32Buffer::operator=):
+
+2010-02-18 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: multiple popovers on screen at the same time.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35105
+
+ * inspector/front-end/Popover.js:
+ (WebInspector.Popover.prototype.show):
+ (WebInspector.Popover.prototype.hide):
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype._showPopup):
+
+2010-02-18 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Expand Object.__proto__ properly.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35113
+
+ * inspector/front-end/EventListenersSidebarPane.js:
+ * inspector/front-end/InjectedScript.js:
+ (injectedScriptConstructor):
+ * inspector/front-end/ObjectProxy.js:
+ (WebInspector.ObjectProxy):
+ * inspector/front-end/PropertiesSidebarPane.js:
+ (WebInspector.PropertiesSidebarPane.prototype.update.callback):
+ * inspector/front-end/inspector.js:
+ (WebInspector.log.logMessage):
+ (WebInspector.log):
+
+2010-02-18 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ [V8] Merge the DOMWindow and WorkerContext object wrapping code paths,
+ and use a faster method of disambiguating between the types of contexts.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35009
+
+ * bindings/scripts/CodeGeneratorV8.pm: Remove logic determining whether we need to
+ handle the WorkerContext case.
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::globalObjectPrototypeIsDOMWindow):
+ (WebCore::V8DOMWrapper::instantiateV8Object): Merge instantiateV8Object paths.
+ * bindings/v8/V8DOMWrapper.h:
+
+2010-02-12 Brett Wilson <brettw@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Update the Google-URL version of KURL and the V8 bindings to the new
+ behavior of KURL.IsStandard.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34859
+
+ This is covered by fast/dom/Window/invalid-protocol.html
+
+ * bindings/v8/custom/V8LocationCustom.cpp:
+ (WebCore::V8Location::protocolAccessorSetter):
+ * platform/KURLGoogle.cpp:
+ (WebCore::KURL::setProtocol):
+ (WebCore::KURL::isHierarchical):
+
+2010-02-18 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ Remove some duplication between PluginView and Widget methods, and
+ move the setSelfVisible calls to the parent class.
+
+ * platform/gtk/WidgetGtk.cpp:
+ (WebCore::Widget::show):
+ (WebCore::Widget::hide):
+ * plugins/gtk/PluginViewGtk.cpp:
+ (WebCore::PluginView::setFocus):
+ (WebCore::PluginView::show):
+ (WebCore::PluginView::hide):
+
+2010-02-18 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/7655195> Switch Leopard back to using CGShading to avoid CGGradient leaks
+
+ Define USE_CG_SHADING on for Tiger and Leopard, and use it to toggle the methods
+ used for Core Graphics gradient drawing.
+
+ * platform/graphics/Gradient.h:
+ * platform/graphics/cg/GradientCG.cpp:
+ (WebCore::Gradient::platformDestroy):
+ (WebCore::Gradient::paint):
+
+2010-02-18 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: on-hover evaluation renders nodes and arrays as strings.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35103
+
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
+
+2010-02-18 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Particularly constructed WebFrames can try to access a null HistoryItem
+ <rdar://problem/7638892> and https://bugs.webkit.org/show_bug.cgi?id=35063
+
+ Test: fast/loader/api-test-new-window-data-load-base-url.html
+
+ * loader/HistoryController.cpp:
+ (WebCore::HistoryController::updateBackForwardListForFragmentScroll): We have a known case where a fragment scroll
+ might take place with a null m_currentItem. updateBackForwardListClippedAtTarget() will either move m_currentItem
+ to m_previousItem then create a new m_currentItem... or it will do nothing. So we either have both an m_currentItem
+ and m_previousItem, or we have neither. In the case where we have no m_previousItem, return early.
+
+2010-02-18 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ [V8] Correctly handle the case where the event field on the
+ global object is a v8::Object, but not a DOM wrapper.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34899
+
+ Test: fast/dom/Window/window-event-override-no-crash.html
+
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::processingUserGesture):
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::isValidDOMObject):
+ (WebCore::V8DOMWrapper::isWrapperOfType):
+ * bindings/v8/V8DOMWrapper.h:
+
+2010-02-18 Pavel Feldman <pfeldman@chromium.org>
+
+ Not reviewed, Qt build fix.
+
+ * inspector/front-end/WebKit.qrc:
+
+2010-02-18 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Implement evaluate-on-hover for scripts panel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35003
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/front-end/Images/gearButtonGlyph.png: Added.
+ * inspector/front-end/Images/popoverArrows.png: Added.
+ * inspector/front-end/Images/popoverBackground.png: Added.
+ * inspector/front-end/Images/thumbActiveHoriz.png: Added.
+ * inspector/front-end/Images/thumbActiveVert.png: Added.
+ * inspector/front-end/Images/thumbHoriz.png: Added.
+ * inspector/front-end/Images/thumbHoverHoriz.png: Added.
+ * inspector/front-end/Images/thumbHoverVert.png: Added.
+ * inspector/front-end/Images/thumbVert.png: Added.
+ * inspector/front-end/Images/trackHoriz.png: Added.
+ * inspector/front-end/Images/trackVert.png: Added.
+ * inspector/front-end/Popup.js:
+ (WebInspector.Popup):
+ (WebInspector.Popup.prototype.show):
+ (WebInspector.Popup.prototype.hide):
+ (WebInspector.Popup.prototype._positionElement):
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
+ (WebInspector.SourceFrame.prototype._scroll):
+ (WebInspector.SourceFrame.prototype._mouseDown):
+ (WebInspector.SourceFrame.prototype._mouseUp):
+ (WebInspector.SourceFrame.prototype._mouseMove):
+ (WebInspector.SourceFrame.prototype._mouseOut):
+ (WebInspector.SourceFrame.prototype._resetHoverTimer):
+ (WebInspector.SourceFrame.prototype._hidePopup):
+ (WebInspector.SourceFrame.prototype._mouseHover):
+ (WebInspector.SourceFrame.prototype._showPopup.showTextPopup):
+ (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
+ (WebInspector.SourceFrame.prototype._showPopup.evaluateCallback):
+ (WebInspector.SourceFrame.prototype._showPopup):
+ (WebInspector.HoverPropertiesSection):
+ (WebInspector.HoverPropertiesSection.prototype.update):
+ * inspector/front-end/TextEditorHighlighter.js:
+ (WebInspector.TextEditorHighlighter):
+ (WebInspector.TextEditorHighlighter.prototype._lex):
+ * inspector/front-end/TextViewer.js:
+ (WebInspector.TextViewer.prototype._paintLine):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.css:
+ * inspector/front-end/inspector.html:
+ * inspector/front-end/inspectorSyntaxHighlight.css:
+ * inspector/front-end/popover.css: Added.
+
+2010-02-18 Ben Murdoch <benm@google.com>
+
+ Reviewed by Jeremy Orlow.
+
+ [v8] Complete upstreaming of V8 Touch Event bindings
+ https://bugs.webkit.org/show_bug.cgi?id=35094
+
+ No new tests required.
+
+ * bindings/v8/V8Index.cpp: Add generated touch event headers.
+
+2010-02-18 Steve Block <steveblock@google.com>
+
+ Reviewed by Jeremy Orlow.
+
+ Updates Android V8 build to use DerivedSourcesAllInOne.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=35083
+
+ No new tests, build fix only.
+
+ * Android.derived.v8bindings.mk:
+ * Android.v8bindings.mk:
+
+2010-02-18 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Xan Lopez.
+
+ fast/frames/iframe-reparenting.html crashing on GTK Debug bots
+ https://bugs.webkit.org/show_bug.cgi?id=35081
+
+ Check that the client is alive after every call to it, since any
+ of them could cause the load to be cancelled, and the client to go
+ away.
+
+ This is much better than protecting a specific subclass of
+ ResourceHandleClient (ResourceLoader), which makes us fail when
+ any other client is used.
+
+ Test: fast/frames/iframe-reparenting.html
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::parseDataUrl):
+
+2010-02-18 Ben Murdoch <benm@google.com>
+
+ Reviewed by Nate Chapin.
+
+ [v8] [Android] V8 bindings for touch events are missing.
+ https://bugs.webkit.org/show_bug.cgi?id=33795
+
+ No new tests as this just enables touch events in V8. Existing touch tests suffice.
+
+ * WebCore.gypi: Add Touch idl files.
+ * bindings/scripts/CodeGeneratorV8.pm: Add TouchList to typeCanFailConversion map.
+ * bindings/v8/DOMObjectsInclude.h: Add touch headers.
+ * bindings/v8/DerivedSourcesAllInOne.cpp: Add touch generated bindings.
+ * bindings/v8/V8Index.h: Add touch DOM object types.
+ * bindings/v8/custom/V8EventCustom.cpp: Add conversion of event to touch event.
+ * Android.derived.jscbindings.mk: Add the touch derived sources to the makefile.
+ * Android.derived.v8bindings.mk: Add the touch derived sources to the makefile.
+
+2010-02-18 William Chan <willchan@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35071
+ Disable loader limiting of requests per host for the chromium port.
+
+ No tests because we're only changing a constant.
+
+ * platform/network/chromium/ResourceRequest.cpp:
+ (WebCore::initializeMaximumHTTPConnectionCountPerHost):
+
+2010-02-18 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Eric Seidel.
+
+ [Linux] Webkit incompatible with Java plugins
+ https://bugs.webkit.org/show_bug.cgi?id=24912
+
+ The NP Version supported by WebKit is at the moment hardcoded in
+ PluginPackage.cpp (to 24), but not all backends actually implement
+ the methods needed to claim this. Introduce a new method to be
+ implemented by each backend where the maximum supported version
+ can be specified, and set the GTK+ port NPVersion to 19. This
+ fixes an instantaneous crasher in the Sun Java NPAPI plugin.
+
+ * plugins/PluginPackage.cpp:
+ (WebCore::PluginPackage::initializeBrowserFuncs):
+ * plugins/PluginPackage.h:
+ * plugins/gtk/PluginPackageGtk.cpp:
+ (WebCore::PluginPackage::NPVersion):
+ * plugins/mac/PluginPackageMac.cpp:
+ (WebCore::PluginPackage::NPVersion):
+ * plugins/qt/PluginPackageQt.cpp:
+ (WebCore::PluginPackage::NPVersion):
+ * plugins/symbian/PluginPackageSymbian.cpp:
+ (WebCore::PluginPackage::NPVersion):
+ * plugins/win/PluginPackageWin.cpp:
+ (WebCore::PluginPackage::NPVersion):
+
+2010-02-17 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by David Levin, Darin Fisher, Simon Hausmann.
+
+ When a live iframe element is moved between pages, it still depends on the old page.
+ https://bugs.webkit.org/show_bug.cgi?id=34382
+
+ Test: fast/frames/iframe-reparenting-new-page.html
+
+ * html/HTMLFrameElementBase.cpp:
+ (WebCore::HTMLFrameElementBase::setName):
+ Move the code setting the frame name into a separate function.
+
+ (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
+ (WebCore::HTMLFrameElementBase::updateOnReparenting):
+ Called on the frame that was just re-parented and inserted into another Document.
+ Simply invoke Frame::transferChildFrameToNewDocument(...);
+
+ (WebCore::HTMLFrameElementBase::insertedIntoDocument):
+ * html/HTMLFrameElementBase.h:
+ * html/HTMLFrameOwnerElement.h:
+ (WebCore::HTMLFrameOwnerElement::setName):
+ Make this a virtual function, to be able to reach it via Frame::m_ownerElement.
+
+ * loader/EmptyClients.h:
+ (WebCore::EmptyFrameLoaderClient::adoptFrame):
+ * loader/FrameLoaderClient.h:
+ Add a new method, didTransferChildFrameToNewDocument().
+ It compliments createFrame() in that a frame which was re-parented
+ in DOM and potentially changes Page, should notify the WebKit
+ implementation about potential ownership change.
+ Many embedders assume that Page owns all the Frames, or at least
+ all Frames are destroyed before 'their' Page is destroyed. Obviously, if Frame
+ can be transferred to another Page, the embedders should be notified.
+
+ * page/Frame.cpp:
+ (WebCore::Frame::transferChildFrameToNewDocument):
+ Added, makes actual adjustments for Frame - resets the Page,
+ updates the frame tree and frame name, calls to FrameLoaderClient
+ to update external objects and recurses into children.
+ Can only be used on child frames.
+
+ * page/Frame.h:
+
+2010-02-17 Tony Chang <tony@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Copying and pasting into a contenteditable area can create <div>s surrounded by <span>s
+ https://bugs.webkit.org/show_bug.cgi?id=26937
+
+ This happens because of a span added when we copy that is used to
+ preserve styles. To avoid this, when we paste, make sure to apply
+ the styles to the span's children and then remove the style span.
+
+ This change is covered by existing layout tests.
+
+ * editing/ReplaceSelectionCommand.cpp:
+ (WebCore::ReplaceSelectionCommand::handleStyleSpans):
+ (WebCore::ReplaceSelectionCommand::copyStyleToChildren):
+ * editing/ReplaceSelectionCommand.h:
+
+2010-02-17 Tony Chang <tony@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34914
+ When pasting absolute font sizes into a content editable area with
+ page zoom, adjust the font sizes to be the same after page zoom is
+ applied.
+
+ Test: editing/pasteboard/page-zoom.html
+
+ * editing/ReplaceSelectionCommand.cpp:
+ (WebCore::ReplaceSelectionCommand::negateStyleRulesThatAffectAppearance):
+
+2010-02-17 Tony Chang <tony@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34737
+ Copying styled list items then pasting into a list
+ should work the same as copying unstyle list items:
+ it shouldn't indent an extra level, but styles should
+ be copied.
+
+ Small cleanups to insertAsListItems to make variable names
+ more descriptive.
+
+ Test: editing/pasteboard/paste-list-003.html
+
+ * editing/ReplaceSelectionCommand.cpp:
+ (WebCore::ReplaceSelectionCommand::doApply):
+ (WebCore::ReplaceSelectionCommand::insertAsListItems):
+
+2010-02-17 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Port PlatformKeyboardEvent
+ https://bugs.webkit.org/show_bug.cgi?id=34794
+
+ Retrieve the type, key code, text and modifiers from BREW's keyboard event.
+
+ * platform/PlatformKeyboardEvent.h:
+ * platform/brew/PlatformKeyboardEventBrew.cpp: Added.
+ (WebCore::keyIdentifierForBrewKeyCode):
+ (WebCore::windowsKeyCodeForKeyEvent):
+ (WebCore::singleCharacterString):
+ (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
+ (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
+ (WebCore::PlatformKeyboardEvent::currentCapsLockState):
+
+2010-02-17 Hayato Ito <hayato@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Support CSS page-break-inside with a value of 'avoid'.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34080
+
+ Test: printing/page-break-inside.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::paintChildren):
+
+2010-02-17 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ WebSocket bufferedAmount should not be 0 when send after close.
+ https://bugs.webkit.org/show_bug.cgi?id=34633
+
+ Fixed bug in webkit r54694. check m_client after it calls user
+ callback, because user callback may call close(), which would
+ call onclose event handler.
+
+ Test: websocket/tests/bufferedAmount-after-close.html
+
+ * websockets/ThreadableWebSocketChannelClientWrapper.h:
+ (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
+ * websockets/WebSocket.cpp:
+ (WebCore::WebSocket::WebSocket):
+ (WebCore::WebSocket::send):
+ (WebCore::WebSocket::close):
+ (WebCore::WebSocket::bufferedAmount):
+ (WebCore::WebSocket::didConnect):
+ (WebCore::WebSocket::didClose):
+ * websockets/WebSocket.h:
+ * websockets/WebSocketChannel.cpp:
+ (WebCore::WebSocketChannel::WebSocketChannel):
+ (WebCore::WebSocketChannel::send):
+ (WebCore::WebSocketChannel::bufferedAmount):
+ (WebCore::WebSocketChannel::didClose):
+ (WebCore::WebSocketChannel::didReceiveData):
+ * websockets/WebSocketChannel.h:
+ * websockets/WebSocketChannelClient.h:
+ (WebCore::WebSocketChannelClient::didClose):
+ * websockets/WorkerThreadableWebSocketChannel.cpp:
+ (WebCore::workerContextDidClose):
+ (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
+ * websockets/WorkerThreadableWebSocketChannel.h:
+
+2010-02-17 Yuzo Fujishima <yuzo@google.com>
+
+ Reviewed by Eric Seidel.
+
+ In diffing render styles, consider all pseudo style changes.
+ Without this patch, only :before and :after are considered. This is the cause of the following bug.
+ https://bugs.webkit.org/show_bug.cgi?id=32187
+
+ Test: fast/css/first-letter-first-line-hover.html
+
+ * dom/Node.cpp:
+ (WebCore::Node::diff):
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::hasAnyPublicPseudoStyles):
+ * rendering/style/RenderStyle.h:
+ * rendering/style/RenderStyleConstants.h:
+ (WebCore::):
+
+2010-02-17 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Add WebCore::prefetchDNS
+ https://bugs.webkit.org/show_bug.cgi?id=34873
+
+ DNS prefetching is not implemented because the maximum number
+ of UDP sockets is quite small in most BREW devices.
+
+ * platform/network/brew/DNSBrew.cpp: Added.
+ (WebCore::prefetchDNS):
+
+2010-02-17 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Introduces new Icon loading interface in order to support
+ asynchronous loading.
+ https://bugs.webkit.org/show_bug.cgi?id=32054
+
+ It's hard for Chromium port to load an icon inside
+ Icon::createIconForFiles() because of sanbox and multi-process
+ architecture. So this change adds a method to request an icon to
+ Chrome class, and makes FileChooser receives an Icon instance
+ asynchronously. Synchronous loading also works with the new interface.
+
+ Because all ports don't have implementations of Chrome::iconForFiles()
+ yet, FileChooser tries to load an Icon synchronously with
+ Icon::createIconForFiles(), then tries to load an Icon asynchronously
+ with Chrome::iconForFiles() if Icon::createIconForFiles() returns 0.
+
+ The existing Icon::createIconForFiles() implementations should be
+ moved to Chrome::iconForFiles(). We're going to remove
+ Icon::createIconForFiles().
+
+ * loader/EmptyClients.h:
+ (WebCore::EmptyChromeClient::iconForFiles): Add an empty implementation.
+ * page/Chrome.cpp:
+ (WebCore::Chrome::iconForFiles): Delegate to ChromeClient::iconForFiles().
+ * page/Chrome.h:
+ * page/ChromeClient.h:
+ (WebCore::ChromeClient::iconForFiles): Add a declaration as a pure virtual method.
+ * platform/FileChooser.cpp:
+ (WebCore::FileChooser::FileChooser): Use loadIcon().
+ (WebCore::FileChooser::chooseFiles): ditto.
+ (WebCore::FileChooser::loadIcon): Added.
+ (WebCore::FileChooser::iconLoaded): Added.
+ * platform/FileChooser.h: Add two methods to FileChooserClient; repaint() and iconForFiles().
+ * platform/graphics/Icon.h: Add a FIXME comment.
+ * platform/graphics/gtk/IconGtk.cpp: ditto.
+ * platform/graphics/mac/IconMac.mm: ditto.
+ * platform/graphics/qt/IconQt.cpp: ditto.
+ * platform/graphics/win/IconWin.cpp: ditto.
+ * rendering/RenderFileUploadControl.cpp:
+ (WebCore::RenderFileUploadControl::iconForFiles): Delegate to Chrome::iconForFiles().
+ (WebCore::RenderFileUploadControl::click): Use chrome().
+ (WebCore::RenderFileUploadControl::chrome):
+ * rendering/RenderFileUploadControl.h:
+ (WebCore::RenderFileUploadControl::repaint):
+
+2010-02-17 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 35065: Delay between page loading and animated GIF playing
+ <http://webkit.org/b/35065> / <rdar://problem/7109548>
+
+ BitmapImage::startAnimation was adding the current frame duration to the desired start time
+ of the frame for every time it was called. If the function then bailed out due to not having
+ sufficient data to render the frame, this would lead to the desired start time of the frame
+ being pushed out multiple times. On an animated GIF that took mulitple seconds to load this
+ could happen many times for a single frame, resulting in the start time of the second frame
+ of the animation being pushed out by as much as five seconds.
+
+ * platform/graphics/BitmapImage.cpp:
+ (WebCore::BitmapImage::startAnimation): Change the order of the code slightly so that the
+ desired start time is only updated after determining that we have sufficient data to handle
+ the next frame.
+
+2010-02-17 Stephan Aßmus <superstippi@gmx.de>
+
+ Reviewed by Eric Seidel.
+
+ Implemented homeDirectoryPath() and listDirectory() on the Haiku platform.
+ https://bugs.webkit.org/show_bug.cgi?id=34687
+
+ Covered by existing tests.
+
+ * platform/haiku/FileSystemHaiku.cpp:
+ (WebCore::homeDirectoryPath): Implemented
+ (WebCore::listDirectory): Implemented
+
+2010-02-17 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Port userIdleTime
+ https://bugs.webkit.org/show_bug.cgi?id=34259
+
+ Return an arbitrarily high userIdleTime so that releasing pages from the page
+ cache isn't postponed.
+
+ * platform/brew/SystemTimeBrew.cpp: Added.
+ (WebCore::userIdleTime):
+
+2010-02-17 Dirk Schulze <krit@webkit.org>
+
+ Rolling out r54909. Breaks SL and Win.
+
+2010-02-17 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Fix Chromium's bindings for Database.transaction(): a 'null'
+ callback should be treated as no callback.
+
+ Test: storage/null-callbacks.html
+
+ https://bugs.webkit.org/show_bug.cgi?id=35047
+
+ * bindings/v8/custom/V8DatabaseCustom.cpp:
+ (WebCore::createTransaction):
+
+2010-02-17 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ Move SVGResources to Renderers, starting with Masker
+ https://bugs.webkit.org/show_bug.cgi?id=35020
+
+ We have rendering specific code in WebCore/svg/graphics. The goal is to move
+ this code into suitable Renderers. This helps us to clean up the code and makes
+ maintenance easier. It also makes it possible to remove rendering specific code
+ from SVG*Elements into this renderers. So the Renderer contains everything that
+ is needed to use the resource.
+ RenderSVGResource will be the base class for all new resource render classes like
+ RenderSVGResourceMasker, RenderSVGResourceClipper and the other resources.
+
+ This patch starts moving SVGResourceMasker to RenderSVGResourceMasker.
+ Another benefit is the much more useful result in DRT on using masker.
+
+ * Android.mk:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::toRenderSVGResource): Conversion to RenderSVGResource base class.
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::isSVGResource): Check if renderer is a resource.
+ * rendering/RenderPath.cpp:
+ * rendering/RenderSVGImage.cpp:
+ (WebCore::RenderSVGImage::destroy): Renderer gets destroyed, unregister it from it's resources.
+ * rendering/RenderSVGImage.h: Some code clean up according to the webkit style.
+ (WebCore::RenderSVGImage::toSVGRenderBase):
+ (WebCore::RenderSVGImage::renderName):
+ (WebCore::RenderSVGImage::isSVGImage):
+ (WebCore::RenderSVGImage::localToParentTransform):
+ (WebCore::RenderSVGImage::strokeBoundingBox):
+ (WebCore::RenderSVGImage::requiresLayer):
+ (WebCore::RenderSVGImage::localTransform):
+ * rendering/RenderSVGInlineText.h:
+ (WebCore::RenderSVGInlineText::objectBoundingBox): Needed for SVGRenderTreeAsText
+ * rendering/RenderSVGModelObject.cpp:
+ (WebCore::RenderSVGModelObject::destroy): Renderer gets destroyed, unregister it from it's resources.
+ * rendering/RenderSVGModelObject.h:
+ * rendering/RenderSVGResource.h: Added.
+ (WebCore::): Base class for all Resource renderers like masker, clipper and others.
+ (WebCore::RenderSVGResource::RenderSVGResource):
+ (WebCore::RenderSVGResource::cast):
+ (WebCore::RenderSVGResource::toRenderSVGResource):
+ (WebCore::RenderSVGResource::isSVGResource):
+ (WebCore::RenderSVGResource::drawsContents):
+ (WebCore::getRenderSVGResourceById):
+ * rendering/RenderSVGResourceMasker.cpp: Added.
+ (WebCore::RenderSVGResourceMasker::RenderSVGResourceMasker):
+ (WebCore::RenderSVGResourceMasker::~RenderSVGResourceMasker):
+ (WebCore::RenderSVGResourceMasker::invalidateClients): Status of masker changed, remove all clients.
+ (WebCore::RenderSVGResourceMasker::invalidateClient): Status of an object changed, remove pending client.
+ (WebCore::RenderSVGResourceMasker::applyResource): Apply masker to object.
+ (WebCore::RenderSVGResourceMasker::resourceBoundingBox): boundingBox of the resource, depending on the object.
+ (WebCore::RenderSVGResourceMasker::createMaskImage): Creates the mask image, the context gets clipped with.
+ * rendering/RenderSVGResourceMasker.h: Added.
+ (WebCore::MaskerData::MaskerData):
+ (WebCore::RenderSVGResourceMasker::renderName):
+ (WebCore::RenderSVGResourceMasker::maskUnits): Unit of mask for DRT.
+ (WebCore::RenderSVGResourceMasker::maskContentUnits): Unit of childs from mask for DRT.
+ (WebCore::RenderSVGResourceMasker::resourceType):
+ * rendering/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::destroy): Renderer gets destroyed, unregister it from it's resources.
+ * rendering/RenderSVGRoot.h:
+ * rendering/RenderSVGText.cpp:
+ (WebCore::RenderSVGText::destroy): dito.
+ * rendering/RenderSVGText.h:
+ * rendering/RenderTreeAsText.cpp:
+ (WebCore::write):
+ * rendering/SVGRenderSupport.cpp:
+ (WebCore::SVGRenderBase::prepareToRenderSVGContent):
+ (WebCore::SVGRenderBase::maskerBoundingBoxForRenderer):
+ (WebCore::SVGRenderBase::deregisterFromResources): Unregister object from all it's resources after status changed.
+ * rendering/SVGRenderSupport.h:
+ (WebCore::SVGRenderBase::toSVGRenderBase):
+ (WebCore::SVGRenderBase::strokeBoundingBox):
+ (WebCore::SVGRenderBase::markerBoundingBox):
+ * rendering/SVGRenderTreeAsText.cpp: Update TreeAsText to dump maskers correctly.
+ (WebCore::operator<<):
+ (WebCore::writeSVGResource):
+ (WebCore::writeSVGContainer):
+ (WebCore::writeSVGText):
+ (WebCore::writeSVGInlineText):
+ (WebCore::writeSVGImage):
+ (WebCore::write):
+ (WebCore::writeResourcesToObject):
+ * rendering/SVGRenderTreeAsText.h:
+ * svg/SVGMaskElement.cpp: Update Masker to use the new renderer.
+ (WebCore::SVGMaskElement::svgAttributeChanged):
+ (WebCore::SVGMaskElement::childrenChanged):
+ (WebCore::SVGMaskElement::maskBoundingBox):
+ (WebCore::SVGMaskElement::createRenderer):
+ * svg/SVGMaskElement.h:
+ * svg/SVGStyledElement.cpp: We need to tell the renderer to unregister object, after the status changed.
+ (WebCore::SVGStyledElement::invalidateResources):
+ (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain):
+ * svg/SVGUnitTypes.h: Conversion of integer to SVGUnitType.
+ (WebCore::toUnitType):
+ * svg/graphics/SVGResource.h:
+ (WebCore::):
+ (WebCore::SVGResource::isMarker):
+ * svg/graphics/SVGResourceMasker.cpp: Removed.
+ * svg/graphics/SVGResourceMasker.h: Removed.
+
+2010-02-17 Kenneth Russell <kbr@google.com>
+
+ Reviewed by Oliver Hunt.
+
+ Refactor texImage2D and texSubImage2D taking Image to use common code
+ https://bugs.webkit.org/show_bug.cgi?id=34458
+
+ Merged the Safari and Chromium code which extracts the data from
+ Image objects into common entry points on GraphicsContext3D. This
+ immediately fixes the following three problems:
+ - Chromium not implementing texSubImage2D taking Image.
+ - Safari not obeying the flipY parameter to texImage2D or
+ texSubImage2D taking Image.
+ - Safari not obeying the premultipyAlpha parameter to texImage2D
+ or texSubImage2D taking Image.
+ Added new test verifying the behavior of texImage2D and
+ texSubImage2D and the flipY parameter. The premultiplyAlpha
+ parameter can not be tested yet as the implementation is not yet
+ spec compliant. This will be fixed in a follow-on bug.
+
+ Ran all WebGL demos in demo repository on Safari and Chromium;
+ textures are now the right way up in both browsers, and
+ transparent textures in Particles demo now look correct in Safari.
+
+ Test: fast/canvas/webgl/tex-image-and-sub-image-2d-with-image.html
+
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/graphics/GraphicsContext3D.cpp: Added.
+ (WebCore::GraphicsContext3D::extractImageData):
+ (WebCore::GraphicsContext3D::processImageData):
+ (WebCore::GraphicsContext3D::premultiplyAlpha):
+ (WebCore::GraphicsContext3D::unmultiplyAlpha):
+ * platform/graphics/GraphicsContext3D.h:
+ (WebCore::GraphicsContext3D::):
+ * platform/graphics/cg/GraphicsContext3DCG.cpp: Added.
+ (WebCore::GraphicsContext3D::getImageData):
+ * platform/graphics/mac/GraphicsContext3DMac.cpp:
+ (WebCore::GraphicsContext3D::texImage2D):
+ (WebCore::GraphicsContext3D::texSubImage2D):
+ * platform/graphics/skia/GraphicsContext3DSkia.cpp: Added.
+ (WebCore::GraphicsContext3D::getImageData):
+
+2010-02-17 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Ariya Hidayat.
+
+ [Qt] GraphicsLayer: support perspective and 3D transforms
+ https://bugs.webkit.org/show_bug.cgi?id=34960
+
+ New tests: http://webkit.org/blog-files/3d-transforms/perspective-by-example.html
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::GraphicsLayerQtImpl::updateTransform):
+ (WebCore::GraphicsLayerQtImpl::setBaseTransform):
+ (WebCore::GraphicsLayerQtImpl::computeTransform):
+ (WebCore::GraphicsLayerQtImpl::flushChanges):
+ (WebCore::TransformAnimationQt::~TransformAnimationQt):
+
+2010-02-17 Peter Kasting <pkasting@google.com>
+
+ Unreviewed, build fix.
+
+ Fix crashes due to an omitted line in r54839.
+
+ * platform/image-decoders/png/PNGImageDecoder.cpp:
+ (WebCore::decodingFailed):
+
+2010-02-17 Alok Priyadarshi <alokp@chromium.org>
+
+ Reviewed by Ariya Hidayat.
+
+ Bug 34900: Implement accelerated compositing for chromium.
+ https://bugs.webkit.org/show_bug.cgi?id=34900
+
+ Do not exclude files needed for accelerated compositing. In fact there is no need to exclude these files.
+ These files are already guarded with WTF_USE_ACCELERATED_COMPOSITING flag.
+
+ * WebCore.gyp/WebCore.gyp: Removed GraphicsLayer.cpp, RenderLayerBacking.cpp,
+ and RenderLayerCompositor.cpp from excluded list.
+
+2010-02-17 Jian Li <jianli@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [chromium] Remove the obsolete chromium interface for handling DownloadURL.
+ https://bugs.webkit.org/show_bug.cgi?id=34982
+
+ * platform/chromium/ChromiumDataObject.cpp:
+ (WebCore::ChromiumDataObject::clear):
+ (WebCore::ChromiumDataObject::hasData):
+ (WebCore::ChromiumDataObject::ChromiumDataObject):
+ * platform/chromium/ChromiumDataObject.h:
+ * platform/chromium/ClipboardChromium.cpp:
+ (WebCore::ClipboardChromium::setData):
+
+2010-02-17 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/7645569> REGRESSION (r51324): Incorrect marker rects for blocks that span multiple columns
+
+ * manual-tests/match-marker-rects.html: Added.
+ * rendering/InlineTextBox.cpp:
+ (WebCore::InlineTextBox::paintTextMatchMarker): Use the text renderer rather
+ than its ancestor block for the local-to-absolute transformation.
+ (WebCore::InlineTextBox::computeRectForReplacementMarker): Ditto.
+
+2010-02-17 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Xan Lopez.
+
+ Does not send an Accept header for subresources, causing some sites to break
+ https://bugs.webkit.org/show_bug.cgi?id=33242
+
+ Set */* as the Accept header when downloading resources
+ that did not set an Accept header. This behaviour is similar to
+ the one adopted by Chromium.
+
+ Test: http/tests/misc/image-checks-for-accept.html
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::startHttp):
+
+2010-02-17 Marcus Bulach <bulach@chromium.org>
+
+ Reviewed by Jeremy Orlow.
+
+ Fixes initialization order of members for GeolocationServiceChromium.
+ https://bugs.webkit.org/show_bug.cgi?id=35034
+
+ * platform/chromium/GeolocationServiceChromium.cpp:
+
+2010-02-17 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ [Linux] Webkit incompatible with Java plugins
+ https://bugs.webkit.org/show_bug.cgi?id=24912
+
+ Resolve symlinks before trying to load plugins as modules, since
+ GModule won't do it.
+
+ Based on original work by Gustavo Noronha.
+
+ * plugins/gtk/PluginPackageGtk.cpp:
+ (WebCore::PluginPackage::load):
+
+2010-02-17 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Xan Lopez.
+
+ Protect the resource loader object from disappearing during
+ parseDataUrl.
+
+ Tested by testdownload API test.
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::parseDataUrl):
+
+2010-02-17 Marcus Bulach <bulach@chromium.org>
+
+ Reviewed by Jeremy Orlow.
+
+ Implements GeolocationServices for Chromium.
+ https://bugs.webkit.org/show_bug.cgi?id=32068
+
+ This is part of implementing Geolocation framework for Chromium. Existing layout tests should pass.
+
+ * WebCore.gypi:
+ * page/Geolocation.h:
+ * platform/GeolocationService.h:
+
+2010-02-17 Steve Block <steveblock@google.com>
+
+ Reviewed by Ariya Hidayat.
+
+ Adds missing platform and feature guards to V8 bindings
+ https://bugs.webkit.org/show_bug.cgi?id=34987
+
+ No new tests, build fix only.
+
+ * bindings/v8/V8Proxy.cpp: Modified. Adds CHROMIUM guards and uses PlatformBridge in place of ChromiumBridge
+ * bindings/v8/V8Proxy.h: Modified. Adds CHROMIUM guards and uses PlatformBridge in place of ChromiumBridge
+ * bindings/v8/custom/V8DocumentCustom.cpp: Modified. Adds XPATH guards
+
+2010-02-17 Steve Block <steveblock@google.com>
+
+ Reviewed by Ariya Hidayat.
+
+ Include WebCore's npruntime.h for Android in V8 bindings
+ https://bugs.webkit.org/show_bug.cgi?id=35002
+
+ Currently, the V8 bindings include bindings/npruntime.h, which is a
+ Chromium-specific file outside of the WebKit tree.
+
+ No new tests, build fix only.
+
+ * bindings/v8/NPV8Object.cpp:
+ * bindings/v8/NPV8Object.h:
+ * bindings/v8/V8NPObject.h:
+ * bindings/v8/V8NPUtils.h:
+ * bindings/v8/npruntime_impl.h:
+ * bindings/v8/npruntime_priv.h:
+
+2010-01-07 Philippe Normand <pnormand@igalia.com>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ [GStreamer] Should handle BUFFERING messages
+ https://bugs.webkit.org/show_bug.cgi?id=30004
+
+ Initial support for on-disk buffering of videos. This works only
+ for Quicktime and flv though.
+
+ * css/mediaControlsGtk.css:
+ * platform/gtk/RenderThemeGtk.cpp:
+ (WebCore::RenderThemeGtk::paintMediaSliderTrack): Draw the
+ buffering status in the media controls.
+ * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::mediaPlayerPrivateMessageCallback): Defer buffering
+ messages handling to processBufferingStats().
+ (WebCore::bufferingTimeoutCallback): Closure called periodically
+ during the on-disk buffering process.
+ (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): New instance
+ variables and create playbin2 here instead of doing it in load().
+ (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): New instance
+ variables.
+ (WebCore::MediaPlayerPrivate::load): Simply set uri on playbin2
+ instead of creating the pipeline and setting uri all together.
+ (WebCore::MediaPlayerPrivate::processBufferingStats): Start a new
+ timeout source if the player is starting on-disk buffering.
+ (WebCore::MediaPlayerPrivate::queryBufferingStats): Method called
+ 200ms during on-disk buffering to update the maxTimeLoaded and few
+ other private variables.
+ (WebCore::MediaPlayerPrivate::maxTimeSeekable):
+ (WebCore::MediaPlayerPrivate::maxTimeLoaded):
+ (WebCore::MediaPlayerPrivate::bytesLoaded): Fixed implementations
+ regarding buffering.
+ (WebCore::MediaPlayerPrivate::totalBytes): Improved logging.
+ (WebCore::MediaPlayerPrivate::updateStates): Start playback if it
+ was internally paused at beginning of on-disk buffering and set
+ ready/network states depending on the state of the on-disk
+ buffering process.
+ (WebCore::MediaPlayerPrivate::didEnd): Emit durationChanged.
+ (WebCore::MediaPlayerPrivate::setAutobuffer): Edit playbin2 flags
+ property depending on autoBuffer value.
+ (WebCore::MediaPlayerPrivate::createGSTPlayBin): Don't set uri
+ there, it is now done in load().
+ * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: New methods
+ and instance variables.
+
+2010-02-16 Chris Evans <cevans@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Add a new setting which gives the option of assigning every file:///
+ to its own unique domain.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34778
+
+ Test: Pending in forthcoming separate change due to non-trivial
+ dependencies.
+
+ * dom/Document.cpp:
+ (WebCore::Document::initSecurityContext): Place file:/// URI documents
+ into their own unique domains if the new setting requires it.
+ * page/Settings.h:
+ * page/Settings.cpp:
+ (WebCore::Settings::setAllowFileAccessFromFileURLs): Simple setter.
+ * page/SecurityOrigin.h:
+ * page/SecurityOrigin.cpp:
+ (WebCore::SecurityOrigin::makeUnique): Add simple ability to force an
+ origin to be considered unique.
+
+2010-02-16 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: drosera/demo.js not syntax highlighted correctly.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35008
+
+ * inspector/front-end/SourceTokenizer.js:
+ (WebInspector.SourceTokenizer.Registry):
+ (WebInspector.SourceTokenizer.Registry.prototype.getTokenizer):
+
+2010-02-16 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: prefer smooth scrolling to instant highlight.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34978
+
+ * inspector/front-end/TextViewer.js:
+ (WebInspector.TextViewer):
+ (WebInspector.TextViewer.prototype._scroll):
+ (WebInspector.TextChunk):
+ (WebInspector.TextChunk.prototype._createRow):
+ * inspector/front-end/textViewer.css:
+
+2010-02-16 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by Nikolas Zimmermann.
+
+ SVG not rendered as background-image from data URI
+ https://bugs.webkit.org/show_bug.cgi?id=33630
+
+ When the background image is an SVG image, and it is smaller than the area
+ it is supposed to fill, we were using renderSubTreeToImage to draw it.
+ That call was not going through all the drawing phases, and so the SVG itself
+ would not be drawn.
+
+ Test: svg/css/background-image-svg.html
+
+ * svg/graphics/SVGImage.cpp:
+ (WebCore::SVGImage::nativeImageForCurrentFrame):
+
+2010-02-16 Bryan Yeung <bryeung@chromium.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ Remove the bounds on stroke width and miter for the skia platform.
+ https://bugs.webkit.org/show_bug.cgi?id=34954
+
+ Test: svg/custom/stroke-width-large.svg
+
+ * platform/graphics/skia/PlatformContextSkia.cpp:
+ (PlatformContextSkia::setupPaintForStroking):
+
+2010-02-16 MORITA Hajime <morrita@gmail.com>
+
+ Reviewed by Nikolas Zimmermann.
+
+ REGRESSION: SVG text disappaears after double click
+ https://bugs.webkit.org/show_bug.cgi?id=34880
+
+ Tests: svg/text/selection-doubleclick.svg
+ svg/text/selection-tripleclick.svg
+
+ * rendering/SVGRootInlineBox.cpp:
+ (WebCore::SVGRootInlineBoxPaintWalker::mayHaveSelection):
+ Use InlineTextBox::selectionStartEnd() instead of
+ RenderObject::selectionStartEnd() because latter may span multiple
+ comparing startPos and endPos is irrelevant in some cases.
+ former selectionStartEnd() is for single line and comparing
+ startPos and endPos will make sense.
+
+2010-02-16 Jessie Berlin <jberlin@webkit.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Inspector should display Array lengths in the property lists.
+ https://bugs.webkit.org/show_bug.cgi?id=20695
+
+ * inspector/front-end/InjectedScript.js:
+ (injectedScriptConstructor):
+ For objects of type 'array' (which includes Arrays, NodeLists, and HTMLCollections), make the length of the object available via propertyLength on the proxy object.
+ * inspector/front-end/ObjectPropertiesSection.js:
+ (WebInspector.ObjectPropertyTreeElement.prototype.update):
+ For properties that have propertyLength defined, append it to the displayed description.
+
+2010-02-16 Yusuke Sato <yusukes@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [Chromium] OpenType font with CFF glyphs is not handled correctly on Windows XP
+ https://bugs.webkit.org/show_bug.cgi?id=34735
+
+ Use 0xFFFF as invalidGlyph when fontData is a OpenType font with CFF glyphs.
+
+ Test: fast/css/font-face-opentype.html
+
+ * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
+ (WebCore::fillBMPGlyphs):
+
+2010-02-16 Darin Adler <darin@apple.com>
+
+ * page/MediaCanStartListener.h: Fixed license.
+
+2010-02-16 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Generalize delayed plug-in start for background tabs for use for other media
+ https://bugs.webkit.org/show_bug.cgi?id=34981
+
+ Also did some simple cleanup of HTMLMediaElement to get ready to make it
+ a client of the same mechanism.
+
+ * WebCore.base.exp: Added Page::setCanStartMedia and resorted.
+ * WebCore.xcodeproj/project.pbxproj: Added MediaCanStartListener.h.
+
+ * html/HTMLAudioElement.h: Added an implementation of isVideo since that
+ is now a pure virtual function in HTMLMediaElement. Also made tagPriority
+ private.
+
+ * html/HTMLMediaElement.h: Made it clearer that HTMLMediaElement is an
+ abstract base class by making its constructor protected and making the
+ isVideo function a pure virtual function.
+
+ * page/Page.cpp:
+ (WebCore::Page::Page): Updated for name change from m_canStartPlugins
+ to m_canStartMedia.
+ (WebCore::Page::addMediaCanStartListener): Renamed and added an assertion.
+ (WebCore::Page::removeUnstartedMedia): Ditto.
+ (WebCore::Page::setCanStartMedia): Renamed plugin to media and moved
+ the code here from PageWin.cpp. The main change from the one in PageWin.cpp
+ is that this function calls mediaCanStart rather than explicitly calling a
+ combination of start and dispatchDidFailToStartPlugin on a PluginView.
+
+ * page/Page.h: Re-sorted forward class declarations. Renamed the plugin
+ starting functions to media starting names and changed types from
+ PluginView to MediaCanStartListener.
+
+ * page/MediaCanStartListener.h: Added.
+
+ * page/win/PageWin.cpp: Moved setCanStartPlugins to the platform-independent
+ Page.cpp file so it can be used for more than just Windows plug-ins.
+
+ * plugins/PluginView.cpp: Sorted includes.
+ (WebCore::PluginView::startOrAddToUnstartedList): Use addMediaCanStartListener.
+ (WebCore::PluginView::mediaCanStart): Added. Called when the page decides that
+ media can start. Contains the code that used to be in Page::setCanStartPlugins.
+ (WebCore::PluginView::removeFromUnstartedListIfNecessary): Use
+ removeMediaCanStartListener.
+
+ * plugins/PluginView.h: Adopted MediaCanStartListener.
+
+2010-02-16 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34999
+ Compositing layers inside overflow:scroll divs are not always updated on scrolling
+
+ When RenderLayer::scrollToOffset() updates compositing layer positions, it needs
+ to start updating at its stacking context rather than just its compositing ancestor.
+ The stacking context is guaranteed to contain all descendants of the overflow
+ layer, including those that are not direct descendants of the overflow layer in stacking
+ (and therefore compositing) order.
+
+ Test: compositing/overflow/scroll-ancestor-update.html
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::scrollToOffset):
+
+2010-02-16 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Allow FloatRect::center() to return fractional coordinates. It was
+ mistakenly converting to integers.
+
+ * platform/graphics/FloatRect.h:
+ (WebCore::FloatRect::center):
+
+2010-02-16 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34964
+ Leaks tool reports false memory leaks due to Rope implementation.
+
+ Renamed cUStringImpl::size() to UStringImpl::size()UStringImpl::length()
+ (matches WebCore::StringImpl).
+
+ * bridge/jni/jsc/JavaStringJSC.h:
+ (JSC::Bindings::JavaStringImpl::length):
+ * platform/text/AtomicString.cpp:
+ (WebCore::AtomicString::add):
+ (WebCore::AtomicString::find):
+
+2010-02-15 Jon Honeycutt <jhoneycutt@apple.com>
+
+ <rdar://problem/7288853> Message about missing plugin does not specify
+ the type or download link for download
+
+ Reviewed by Mark Rowe.
+
+ * plugins/PluginDatabase.cpp:
+ (WebCore::PluginDatabase::findPlugin):
+ Only update the mimeType out param if we find a plug-in for the file
+ extension.
+
+2010-02-16 Simon Fraser <simon.fraser@apple.com>
+
+ Build fix for Tiger.
+
+ Add #if USE(ACCELERATED_COMPOSITING) around the call to mediaPlayerRenderingModeChanged().
+
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivate::setUpVideoRendering):
+
+2010-02-16 Csaba Osztrogonác <ossy@webkit.org>
+
+ Reviewed by Eric Carlson.
+
+ Buildfix for r54826.
+
+ HTMLMediaElement class defined by HTMLMediaElement.h in #if ENABLE(VIDEO) block,
+ it should be in #if ENABLE(VIDEO) block in rendering/RenderLayerBacking.cpp too.
+
+ * rendering/RenderLayerBacking.cpp: Missing #if ENABLE(VIDEO) guard added.
+ (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
+
+2010-02-16 Julie Parent <jparent@chromium.org>
+
+ Unreviewed: Chromium build fix.
+
+ http://trac.webkit.org/changeset/54823 introduced an unused variable. Remove it.
+
+ * platform/image-decoders/ImageDecoder.cpp:
+ (WebCore::ImageDecoder::create):
+
+2010-02-16 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Bug 34974: Leak of ScheduledAction during layout tests
+ <https://bugs.webkit.org/show_bug.cgi?id=34974>
+
+ ScheduledAction::create was returning a raw pointer which was threaded down through to an OwnPtr in DOMTimer.
+ If any of the code paths in between hit an error case and returned early the raw pointer would be leaked. We
+ can avoid this by passing it as a PassOwnPtr. This will ensure that the ScheduledAction is cleaned up should
+ an error case be hit.
+
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::setTimeout): Store the newly-created ScheduledAction in an OwnPtr and then hand it off
+ as the function argument.
+ (WebCore::JSDOMWindow::setInterval): Ditto.
+ * bindings/js/JSWorkerContextCustom.cpp:
+ (WebCore::JSWorkerContext::setTimeout): Ditto.
+ (WebCore::JSWorkerContext::setInterval): Ditto.
+ * bindings/js/ScheduledAction.cpp:
+ (WebCore::ScheduledAction::create): Return a PassOwnPtr.
+ * bindings/js/ScheduledAction.h:
+ * page/DOMTimer.cpp:
+ (WebCore::DOMTimer::DOMTimer): Update argument type.
+ (WebCore::DOMTimer::install): Ditto.
+ * page/DOMTimer.h:
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::setTimeout): Ditto.
+ (WebCore::DOMWindow::setInterval): Ditto.
+ * page/DOMWindow.h:
+
+2010-02-16 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Reviewed by David Hyatt.
+
+ SVG units don't stay consistently sized on zoom
+ https://bugs.webkit.org/show_bug.cgi?id=14004
+
+ Large step towards making WebKit an usable SVG viewer.
+
+ Make zooming into SVG documents work as expected, in both standalone and XHTML/SVG compound documents.
+ SVG applies a global scale to the document, whereas CSS zooms all individual length units (on full-page-zoom).
+ Scaling has to be avoided for all SVG specific CSS properties (already works) and for some selected CSS
+ properties shared between CSS & SVG that explicitely need a different treatment in the context of SVG.
+ To name a few: font-size, letter-spacing, etc. should stay invariant under zoom in SVG document fragments.
+
+ Some new rules regarding zooming:
+ - "Zoom text only" should never affect SVG documents, neither text nor content should zoom.
+ This option doesn't make much sense for SVG, so it's wise to avoid side-effects and disable it.
+ In compound documents the SVG would stay as-is and only text of surrounding XHTML content would zoom.
+
+ - "Full page zoom" is the only zoom mode affecting SVG. (Panning only works in standalone documents.)
+
+ Cover all mentioned cases above by a new set of layout tests.
+
+ Tests: svg/zoom/page/absolute-sized-document-no-scrollbars.svg
+ svg/zoom/page/absolute-sized-document-scrollbars.svg
+ svg/zoom/page/relative-sized-document-scrollbars.svg
+ svg/zoom/page/zoom-coords-viewattr-01-b.svg
+ svg/zoom/page/zoom-foreignObject.svg
+ svg/zoom/page/zoom-hixie-mixed-008.xml
+ svg/zoom/page/zoom-hixie-mixed-009.xml
+ svg/zoom/page/zoom-hixie-rendering-model-004.xhtml
+ svg/zoom/page/zoom-svg-float-border-padding.xml
+ svg/zoom/text/absolute-sized-document-no-scrollbars.svg
+ svg/zoom/text/absolute-sized-document-scrollbars.svg
+ svg/zoom/text/relative-sized-document-scrollbars.svg
+ svg/zoom/text/zoom-coords-viewattr-01-b.svg
+ svg/zoom/text/zoom-foreignObject.svg
+ svg/zoom/text/zoom-hixie-mixed-008.xml
+ svg/zoom/text/zoom-hixie-mixed-009.xml
+ svg/zoom/text/zoom-hixie-rendering-model-004.xhtml
+ svg/zoom/text/zoom-svg-float-border-padding.xml
+
+ * css/CSSStyleSelector.cpp: Blacklist certain properties not to be zoomed for SVG elements.
+ (WebCore::CSSStyleSelector::styleForDocument): Don't zoom font-sizes.
+ (WebCore::CSSStyleSelector::applyProperty): Ditto (+ letter/word-spacing).
+ (WebCore::CSSStyleSelector::setFontSize): Ditto.
+ (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): Never apply text zoom to SVG.
+ * css/CSSStyleSelector.h:
+ * css/SVGCSSStyleSelector.cpp: -webkit-shadow + SVG was incorrectly respecting zoom factor.
+ (WebCore::CSSStyleSelector::applySVGProperty):
+ * page/Frame.cpp:
+ (WebCore::Frame::shouldApplyTextZoom): Remove SVG special cases.
+ (WebCore::Frame::shouldApplyPageZoom): Ditto.
+ (WebCore::Frame::setZoomFactor): Don't force setZoomsTextOnly() - SVG now uses FPZ as well.
+ * rendering/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::calcReplacedWidth): CSSPropertyWidth is explicitely not scaled by CSSStyleSelector, fix that for outermost <svg> elements.
+ (WebCore::RenderSVGRoot::calcReplacedHeight): Ditto for CSSPropertyHeight.
+ (WebCore::RenderSVGRoot::layout): Simplify & cleanup code, take advantage of new calcWidth/Height functionality, no need to scale anything here.
+ (WebCore::RenderSVGRoot::paint): Use parentOriginToBorderBox() instead of duplicating code.
+ (WebCore::RenderSVGRoot::calcViewport): Simplify code.
+ (WebCore::RenderSVGRoot::localToBorderBoxTransform): Calculate viewBoxToViewTransformation() against unscaled width()/height() values.
+ * rendering/RenderSVGRoot.h:
+ * svg/SVGLength.cpp:
+ (WebCore::SVGLength::PercentageOfViewport): Cleanup & document function.
+ * svg/SVGSVGElement.cpp:
+ (WebCore::SVGSVGElement::currentScale): Return pageZoomFactor(), not just the zoomFactor() - as we want to ignore text-only zoom.
+ (WebCore::SVGSVGElement::setCurrentScale): Pass isTextOnly=false to setZoomFactor().
+
+2010-02-16 Julie Parent <jparent@chromium.org>
+
+ Unreviewed: Chromium build fix.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34998
+
+ Move include of JavaScriptProfile.h behind if (USE_JSC).
+
+ * inspector/InspectorController.cpp:
+
+2010-02-16 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Geoffrey Garen and Kevin Decker.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34989
+ <rdar://problem/7417965> Cursor disappears on scroll bars that are over plugin content
+
+ * html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::defaultEventHandler): Added some
+ comments about the way we pass events down to plug-ins.
+
+2010-02-16 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Eric Carlson.
+
+ With hardware acceleration turned off, video frames never display if poster
+ image is specified
+ https://bugs.webkit.org/show_bug.cgi?id=34965
+
+ HTMLVideoElement's m_shouldDisplayPosterImage was never updated after
+ the movie supplied its first video frame, so the poster would continue to show.
+
+ Fixed by calling updatePosterImage() from mediaPlayerRepaint(), which is called
+ each time a new frame is available. updatePosterImage() is cheap.
+
+ Also made updatePosterImage() virtual on HTMLMediaElement to avoid a number of
+ ugly casts.
+
+ Test: manual-tests/media-elements/video-replaces-poster.html
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::noneSupported): Call updatePosterImage() without video check.
+ (WebCore::HTMLMediaElement::setNetworkState): Ditto.
+ (WebCore::HTMLMediaElement::setReadyState): Ditto.
+ (WebCore::HTMLMediaElement::mediaPlayerRepaint): Call udpatePosterImage().
+ * html/HTMLMediaElement.h:
+ (WebCore::HTMLMediaElement::updatePosterImage): Make this an empty virtual
+ method on the base class.
+ * html/HTMLVideoElement.h: Override updatePosterImage().
+
+2010-02-16 Simon Fraser <simon.fraser@apple.com>
+
+ Build fix for platforms without ACCELERATED_COMPOSITING defined.
+
+ mediaPlayerRenderingModeChanged() is only available when ACCELERATED_COMPOSITING is defined.
+
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
+ (WebCore::MediaPlayerPrivate::setUpVideoRendering):
+
+2010-02-16 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Eric Carlson.
+
+ Autoplaying video with poster doesn't reliably show up
+ https://bugs.webkit.org/show_bug.cgi?id=34966
+
+ A timing issue with compositing updates when replacing the poster image
+ with the video could cause the video to not display.
+
+ Fix by making video layer hook up more similar to WebGL etc, by having the
+ video kick off a recalcStyle() via a SyntheticStyleChange. This requires
+ vending a PlaformLayer* from the media player, up through the element.
+
+ Test: media/video-replaces-poster.html
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::mediaPlayerRenderingModeChanged): Use setNeedsStyleRecalc()
+ to kick off a compositing update.
+
+ * html/HTMLMediaElement.h:
+ (WebCore::HTMLMediaElement::platformLayer): Export the media engine's layer.
+
+ * platform/graphics/MediaPlayer.cpp:
+ (WebCore::NullMediaPlayerPrivate::platformLayer): Method to vend the media layer.
+ (WebCore::MediaPlayer::platformLayer):
+
+ * platform/graphics/MediaPlayer.h:
+ (WebCore::MediaPlayerClient::mediaPlayerRenderingModeChanged): New client callback
+ to indicate that the rendering mode changed. The element uses this to kick off a
+ recalcStyle.
+
+ * platform/graphics/MediaPlayerPrivate.h:
+ (WebCore::MediaPlayerPrivateInterface::platformLayer): Method to vend the media layer.
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Ditto
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivate::createQTMovieLayer): No longer parent the layer directly
+ via setContentsToMedia().
+ (WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged): Ditto.
+ (WebCore::MediaPlayerPrivate::setUpVideoRendering): Tell the client that the
+ rendering mode changed.
+ (WebCore::MediaPlayerPrivate::platformLayer): Method to vend the media layer.
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Call setContentsToMedia()
+ here.
+
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: Add platformLayer().
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
+ (WebCore::MediaPlayerPrivate::platformLayer): Method to vend the media layer.
+ (WebCore::MediaPlayerPrivate::setUpVideoRendering): Call mediaPlayerRenderingModeChanged()
+ (WebCore::MediaPlayerPrivate::createLayerForMovie): Don't parent the layer ourselves any more.
+
+ * rendering/RenderVideo.h: videoGraphicsLayer() is no longer needed.
+ * rendering/RenderVideo.cpp: Ditto.
+
+2010-02-12 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Adam Barth.
+
+ Code cleanup in ImageDecoders; no functional change.
+ https://bugs.webkit.org/show_bug.cgi?id=28751
+
+ * Make code mostly comply with the style guide (switch indenting, use of
+ "!" vs. "== 0", don't unnecessarily wrap lines, etc.)
+ * Eliminate m_allDataReceived in ICO/BMP decoders since it's in the
+ base ImageDecoder class
+ * Remove some useless or wrong comments, add others
+ * Wrap comments at 80 columns (most already were) for
+ consistency/readability
+ * Avoid casts by using correct variable types
+ * Consistent naming of decode() function/args
+ * Shorter code in some places
+ * Make declaration and definition order match
+
+ * platform/graphics/qt/ImageDecoderQt.cpp:
+ (WebCore::ImageDecoderQt::frameCount):
+ (WebCore::ImageDecoderQt::frameBufferAtIndex):
+ (WebCore::ImageDecoderQt::forceLoadEverything):
+ * platform/image-decoders/ImageDecoder.cpp:
+ (WebCore::ImageDecoder::create):
+ (WebCore::RGBA32Buffer::clear):
+ (WebCore::RGBA32Buffer::setSize):
+ * platform/image-decoders/ImageDecoder.h:
+ (WebCore::RGBA32Buffer::):
+ (WebCore::ImageDecoder::ImageDecoder):
+ * platform/image-decoders/bmp/BMPImageDecoder.cpp:
+ (WebCore::BMPImageDecoder::BMPImageDecoder):
+ (WebCore::BMPImageDecoder::setData):
+ (WebCore::BMPImageDecoder::isSizeAvailable):
+ (WebCore::BMPImageDecoder::frameBufferAtIndex):
+ (WebCore::BMPImageDecoder::decode):
+ (WebCore::BMPImageDecoder::decodeHelper):
+ (WebCore::BMPImageDecoder::processFileHeader):
+ * platform/image-decoders/bmp/BMPImageDecoder.h:
+ (WebCore::BMPImageDecoder::readUint32):
+ * platform/image-decoders/bmp/BMPImageReader.cpp:
+ (WebCore::BMPImageReader::BMPImageReader):
+ (WebCore::BMPImageReader::decodeBMP):
+ (WebCore::BMPImageReader::readInfoHeaderSize):
+ (WebCore::BMPImageReader::processInfoHeader):
+ (WebCore::BMPImageReader::readInfoHeader):
+ (WebCore::BMPImageReader::isInfoHeaderValid):
+ (WebCore::BMPImageReader::processBitmasks):
+ (WebCore::BMPImageReader::processColorTable):
+ (WebCore::BMPImageReader::processRLEData):
+ (WebCore::BMPImageReader::processNonRLEData):
+ * platform/image-decoders/bmp/BMPImageReader.h:
+ (WebCore::BMPImageReader::readUint32):
+ (WebCore::BMPImageReader::pastEndOfImage):
+ (WebCore::BMPImageReader::readCurrentPixel):
+ (WebCore::BMPImageReader::getComponent):
+ (WebCore::BMPImageReader::getAlpha):
+ (WebCore::BMPImageReader::setI):
+ (WebCore::BMPImageReader::setRGBA):
+ * platform/image-decoders/gif/GIFImageDecoder.cpp:
+ (WebCore::GIFImageDecoder::GIFImageDecoder):
+ (WebCore::GIFImageDecoder::setData):
+ (WebCore::GIFImageDecoder::isSizeAvailable):
+ (WebCore::GIFImageDecoder::frameCount):
+ (WebCore::GIFImageDecoder::frameBufferAtIndex):
+ (WebCore::GIFImageDecoder::clearFrameBufferCache):
+ (WebCore::GIFImageDecoder::sizeNowAvailable):
+ (WebCore::GIFImageDecoder::haveDecodedRow):
+ (WebCore::GIFImageDecoder::frameComplete):
+ (WebCore::GIFImageDecoder::decode):
+ (WebCore::GIFImageDecoder::initFrameBuffer):
+ * platform/image-decoders/gif/GIFImageDecoder.h:
+ (WebCore::GIFImageDecoder::):
+ (WebCore::GIFImageDecoder::filenameExtension):
+ * platform/image-decoders/gif/GIFImageReader.cpp:
+ (GIFImageReader::do_lzw):
+ (GIFImageReader::read):
+ * platform/image-decoders/gif/GIFImageReader.h:
+ (GIFImageReader::~GIFImageReader):
+ * platform/image-decoders/ico/ICOImageDecoder.cpp:
+ (WebCore::ICOImageDecoder::ICOImageDecoder):
+ (WebCore::ICOImageDecoder::~ICOImageDecoder):
+ (WebCore::ICOImageDecoder::setData):
+ (WebCore::ICOImageDecoder::isSizeAvailable):
+ (WebCore::ICOImageDecoder::frameSizeAtIndex):
+ (WebCore::ICOImageDecoder::frameCount):
+ (WebCore::ICOImageDecoder::frameBufferAtIndex):
+ (WebCore::ICOImageDecoder::compareEntries):
+ (WebCore::ICOImageDecoder::setDataForPNGDecoderAtIndex):
+ (WebCore::ICOImageDecoder::decode):
+ (WebCore::ICOImageDecoder::decodeDirectory):
+ (WebCore::ICOImageDecoder::decodeAtIndex):
+ (WebCore::ICOImageDecoder::processDirectoryEntries):
+ (WebCore::ICOImageDecoder::readDirectoryEntry):
+ * platform/image-decoders/ico/ICOImageDecoder.h:
+ (WebCore::ICOImageDecoder::readUint16):
+ (WebCore::ICOImageDecoder::readUint32):
+ * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
+ (WebCore::):
+ (WebCore::JPEGImageReader::JPEGImageReader):
+ (WebCore::JPEGImageReader::skipBytes):
+ (WebCore::JPEGImageReader::decode):
+ (WebCore::error_exit):
+ (WebCore::fill_input_buffer):
+ (WebCore::term_source):
+ (WebCore::JPEGImageDecoder::setData):
+ (WebCore::JPEGImageDecoder::setSize):
+ (WebCore::JPEGImageDecoder::frameBufferAtIndex):
+ (WebCore::JPEGImageDecoder::jpegComplete):
+ (WebCore::JPEGImageDecoder::decode):
+ * platform/image-decoders/jpeg/JPEGImageDecoder.h:
+ (WebCore::JPEGImageDecoder::filenameExtension):
+ * platform/image-decoders/png/PNGImageDecoder.cpp:
+ (WebCore::decodingFailed):
+ (WebCore::decodingWarning):
+ (WebCore::headerAvailable):
+ (WebCore::rowAvailable):
+ (WebCore::pngComplete):
+ (WebCore::PNGImageReader::PNGImageReader):
+ (WebCore::PNGImageReader::close):
+ (WebCore::PNGImageReader::decode):
+ (WebCore::PNGImageReader::createInterlaceBuffer):
+ (WebCore::PNGImageDecoder::setData):
+ (WebCore::PNGImageDecoder::frameBufferAtIndex):
+ (WebCore::PNGImageDecoder::headerAvailable):
+ (WebCore::PNGImageDecoder::rowAvailable):
+ (WebCore::PNGImageDecoder::pngComplete):
+ (WebCore::PNGImageDecoder::decode):
+ * platform/image-decoders/png/PNGImageDecoder.h:
+ (WebCore::PNGImageDecoder::filenameExtension):
+ * platform/image-decoders/qt/RGBA32BufferQt.cpp:
+ (WebCore::RGBA32Buffer::setDecodedImage):
+
+2010-02-16 Csaba Osztrogonác <ossy@webkit.org>
+
+ [Qt] Unreviewed buildfix.
+
+ * WebCore.pro: Missing backslash added.
+
+2010-02-16 Mikhail Naganov <mnaganov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Move JSC-specific wrappers for Profile and ProfileNode to bindings/js.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34848
+
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JavaScriptProfile.cpp: Added.
+ (WebCore::profileCache):
+ (WebCore::getTitleCallback):
+ (WebCore::getHeadCallback):
+ (WebCore::getUniqueIdCallback):
+ (WebCore::focus):
+ (WebCore::exclude):
+ (WebCore::restoreAll):
+ (WebCore::finalize):
+ (WebCore::ProfileClass):
+ (WebCore::toJS):
+ * bindings/js/JavaScriptProfile.h: Added.
+ * bindings/js/JavaScriptProfileNode.cpp: Added.
+ (WebCore::profileNodeCache):
+ (WebCore::getFunctionName):
+ (WebCore::getURL):
+ (WebCore::getLineNumber):
+ (WebCore::getTotalTime):
+ (WebCore::getSelfTime):
+ (WebCore::getNumberOfCalls):
+ (WebCore::getChildren):
+ (WebCore::getVisible):
+ (WebCore::getCallUID):
+ (WebCore::finalize):
+ (WebCore::ProfileNodeClass):
+ (WebCore::toJS):
+ * bindings/js/JavaScriptProfileNode.h: Added.
+ * inspector/JavaScriptProfile.cpp: Removed.
+ * inspector/JavaScriptProfile.h: Removed.
+ * inspector/JavaScriptProfileNode.cpp: Removed.
+ * inspector/JavaScriptProfileNode.h: Removed.
+
+2010-02-16 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Elements Panel: Limit the number of initially loaded element children
+ https://bugs.webkit.org/show_bug.cgi?id=34421
+
+ Test: inspector/elements-panel-limited-children.html
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/DOMAgent.js:
+ (WebInspector.DOMNode.prototype._insertChild):
+ * inspector/front-end/ElementsPanel.js:
+ (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeOutline.prototype.createTreeElementFor):
+ (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
+ (WebInspector.ElementsTreeElement):
+ (WebInspector.ElementsTreeElement.prototype.get expandedChildrenLimit):
+ (WebInspector.ElementsTreeElement.prototype.set expandedChildrenLimit):
+ (WebInspector.ElementsTreeElement.prototype.get expandedChildCount):
+ (WebInspector.ElementsTreeElement.prototype.showChild):
+ (WebInspector.ElementsTreeElement.prototype.insertChildElement):
+ (WebInspector.ElementsTreeElement.prototype.moveChild):
+ (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
+ (WebInspector.ElementsTreeElement.prototype._updateChildren):
+ (WebInspector.ElementsTreeElement.prototype.adjustCollapsedRange):
+ (WebInspector.ElementsTreeElement.prototype.handleLoadAllChildren):
+ ():
+ * inspector/front-end/inspector.css:
+
+2010-02-16 Ismail Donmez <ismail@namtrac.org>
+
+ Reviewed by Pavel Feldman.
+
+ Fix compilation with inspector disabled.
+ https://bugs.webkit.org/show_bug.cgi?id=32724
+
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::inspectorTimelineAgent):
+
+2010-02-16 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: turn off line wrapping in source view.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34935
+
+ * inspector/front-end/TextViewer.js:
+ (WebInspector.TextViewer.prototype.markAndRevealRange):
+ (WebInspector.TextViewer.prototype._paintLine):
+ * inspector/front-end/textViewer.css:
+ * inspector/front-end/utilities.js:
+
+2010-02-16 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: let search iterate over views in Resources
+ and keep the view in Scripts.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34968
+
+ * inspector/front-end/Panel.js:
+ (WebInspector.Panel.prototype.jumpToNextSearchResult):
+ (WebInspector.Panel.prototype.jumpToPreviousSearchResult):
+ (WebInspector.Panel.prototype.showSourceLineForURL):
+ (WebInspector.Panel.prototype.searchIteratesOverViews):
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype.get _resources):
+ (WebInspector.ResourcesPanel.prototype.searchIteratesOverViews):
+ * inspector/front-end/SourceView.js:
+ (WebInspector.SourceView.prototype.showingLastSearchResult):
+ * inspector/front-end/inspector.js:
+ (WebInspector.documentKeyDown):
+ (WebInspector.focusSearchField):
+
+2010-02-16 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Ariya Hidayat.
+
+ [Qt] canvas clipping is buggy
+ https://bugs.webkit.org/show_bug.cgi?id=32405
+
+ Apparently the bug was in GraphicsContext::roundToDevicePixels, we
+ didn't take unto accounts rotation, so the device pixels were rounded
+ incorrectly. The new formula is a 1:1 copy from GraphicsContextCG so
+ it should be rather safe
+
+ Test: http://glimr.rubyforge.org/cake/canvas.html#Polaroids now looks right
+
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::GraphicsContext::roundToDevicePixels): Copy the formula from
+ GraphicsContextCG
+
+2010-02-16 Yury Semikhatsky <yurys@chromium.org>
+
+ Not Reviewed, build fix.
+
+ * platform/graphics/FloatRect.h:
+ (WebCore::FloatRect::center): make conversion from float to int explicit so that compiler
+ doesn't complain about that.
+
+2010-02-15 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <rdar://problem/7645609> [webView selectionRect] API is broken for multicolumn layout
+
+ Refine the fix for https://bugs.webkit.org/show_bug.cgi?id=34923 by using the center of
+ a quad’s bounding box, rather than its top left, as the reference point passed to
+ offsetFromContainer(). This ensures that if a sliver off the top of the selection rect is in
+ one column, but most of it is on another column, the single rect we return will be for the
+ second column.
+
+ * platform/graphics/FloatRect.h:
+ (WebCore::FloatRect::center): Added.
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::localToContainerQuad): Use the center instead of the top left.
+
+2010-02-15 MORITA Hajime <morrita@gmail.com>
+
+ Reviewed by Nikolas Zimmermann.
+
+ SVG text refactor: reduce paint specific callbacks on SVGTextChunkWalker
+
+ https://bugs.webkit.org/show_bug.cgi?id=34831
+
+ No new tests, no change of functionality.
+
+ * rendering/SVGCharacterLayoutInfo.h:
+ (WebCore::SVGTextChunkWalker::SVGTextChunkWalker):
+ Removed setupBackground(), setupFill(), setupFillSelection(),
+ setupStroke(), setupStrokeSelection(), setupForeground()
+ and associated member variables.
+
+ * rendering/SVGRootInlineBox.cpp:
+ (WebCore::SVGRootInlineBoxPaintWalker::setupBackground):
+ renamed from chunkSetupBackgroundCallback.
+ (WebCore::SVGRootInlineBoxPaintWalker::setupFill):
+ renamed from chunkSetupFillCallback.
+ (WebCore::SVGRootInlineBoxPaintWalker::setupFillSelection):
+ renamed from chunkSetupFillSelectionCallback.
+ (WebCore::SVGRootInlineBoxPaintWalker::setupStroke):
+ renamed from chunkSetupStrokeCallback.
+ (WebCore::SVGRootInlineBoxPaintWalker::setupStrokeSelection):
+ renamed from chunkSetupStrokeSelectionCallback.
+ (WebCore::SVGRootInlineBoxPaintWalker::setupForeground):
+ renamed from chunkSetupForegroundCallback.
+ (WebCore::SVGRootInlineBoxPaintWalker::paintChunk):
+ renamed from chunkPortionCallback.
+ (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
+ extracted from walkTextChunks.
+ (WebCore::SVGRootInlineBox::paint):
+ follow SVGTextChunkWalker change.
+ (WebCore::SVGRootInlineBox::walkTextChunks):
+ moved paint some specific code to SVGRootInlineBoxPaintWalker::chunkPortionCallback().
+
+2010-02-15 Dan Bernstein <mitz@apple.com>
+
+ Try to fix the Chromium build.
+
+ * rendering/RenderThemeChromiumMac.mm:
+ (WebCore::RenderThemeChromiumMac::convertToPaintingRect):
+
+2010-02-14 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33731
+ Many false leaks in release builds due to PtrAndFlags
+
+ PtrAndFlags has now been removed; remove forwarding header.
+
+ * ForwardingHeaders/wtf/PtrAndFlags.h: Removed.
+
+2010-02-15 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Bug 34952 - String lengths in UString should be unsigned.
+ This matches WebCore::StringImpl, and better unifies behaviour throughout JSC.
+
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::atob):
+ (WebCore::JSDOMWindow::btoa):
+
+2010-02-15 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] Crashes when going back to a page that has data: URIs, with page cache enabled
+ https://bugs.webkit.org/show_bug.cgi?id=34944
+
+ Set the URL in the newly created response, when parsing data:
+ URIs.
+
+ Test: fast/harness/page-cache-crash-on-data-urls.html
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::parseDataUrl):
+
+2010-02-15 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <rdar://problem/7647300> Incorrect client rects for blocks the span multiple columns and their descendants
+ https://bugs.webkit.org/show_bug.cgi?id=34923
+
+ Test: fast/multicol/client-rects.html
+
+ In column layout, a different transform applies to different points in
+ the block and its descendants, depending on their y coordinate within the
+ block. offsetFromContainer() used to return the offset that applied to
+ the origin. With this change, it returns the offset that applies to a
+ given reference point. When mapping a quad from local to absolute
+ coordinates, the top left of the quad’s bounding box is used as that
+ reference point.
+
+ * editing/SelectionController.cpp:
+ (WebCore::SelectionController::layout): Pass the caret’s origin as the
+ reference point to offsetFromContainer().
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::adjustForColumns): Adds the offset between the
+ given point and its image under the column paint-time transform to the
+ given offset. Used by offsetFromContainer() where it had previously used
+ adjustRectForColumns(), which takes a rect and operates less efficiently.
+ * rendering/RenderBlock.h:
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::mapLocalToContainer): Pass the transformed point as
+ the reference point to offsetFromContainer().
+ (WebCore::RenderBox::mapAbsoluteToLocalPoint): Pass a point to
+ offsetFromContainer().
+ (WebCore::RenderBox::offsetFromContainer): Use adjustForColumns() instead
+ of adjustRectForColumns(), and use the reference point to get the right
+ adjustment for the point of interest, instead of the origin, in case this
+ box spans multiple columns.
+ * rendering/RenderBox.h:
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::offsetFromContainer): Ditto. Actually apply the
+ column offset to the computation, which previously this function didn’t
+ do.
+ (WebCore::RenderInline::mapLocalToContainer): Pass the transformed point
+ as the reference point to offsetFromContainer().
+ (WebCore::RenderInline::mapAbsoluteToLocalPoint): Pass a point to
+ offsetFromContainer().
+ * rendering/RenderInline.h:
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::mapLocalToContainer): Apply column adjustment,
+ based on the reference point, to the transform if needed.
+ (WebCore::RenderObject::localToContainerQuad): Initialize the
+ TransformState with the top left corner of the quad’s bounding box. It
+ is later used as the reference point when deciding on which column to
+ base the calculations.
+ (WebCore::RenderObject::offsetFromContainer): Adjust for columns.
+ (WebCore::RenderObject::offsetFromAncestorContainer): Pass the origin
+ as the reference point to offsetFromContainer().
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::adjustForColumns): Added.
+ * rendering/RenderTableCell.cpp:
+ (WebCore::RenderTableCell::offsetFromContainer): Pass the reference
+ point through.
+ * rendering/RenderTableCell.h:
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::absoluteRectsForRange): Map (the origin of) each
+ rect to absolute coordinates individually.
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::convertToPaintingRect): Pass a point to
+ offsetFromContainer().
+
+2010-02-12 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Kevin Decker.
+
+ <rdar://problem/7130641> Browser objects identity is not preserved by Safari
+
+ Test: plugins/netscape-browser-object-identity.html
+
+ * bridge/runtime_root.h: (JSC::Bindings::RootObject::addInvalidationCallback):
+ RootObject can now call out during invalidation, making it possible for other code to know
+ when this happens.
+
+ * bridge/runtime_root.cpp:
+ (JSC::Bindings::RootObject::InvalidationCallback::~InvalidationCallback): Empty destructor,
+ in cpp file since it's virtual.
+ (JSC::Bindings::RootObject::invalidate): Invoke invalidation callbacks.
+
+ * bridge/NP_jsobject.cpp:
+ (ObjectMap): Keep a JSObject->NPObject map for each RootObject. It somewhat cleaner to
+ keep it outside RootObject, because (1) it is agnostic of what kinds of objects can wrap
+ JSObject, and (2) out of process NPAPI implementation also keeps its corresponding map
+ separately, due to supporting per-instance granularity (as opposed to per-RootObject here).
+ (jsDeallocate): Remove the corresponding map entry.
+ (_NPN_CreateScriptObject): Try to fetch existing object from the map, incrementing refcount.
+
+2010-02-15 Philippe Normand <pnormand@igalia.com>
+
+ Rubber-stamped by Gustavo Noronha Silva.
+
+ Removed redefine of LOG_VERBOSE. This should not have commited in
+ the first place.
+
+ * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
+
+2010-02-15 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: incorrect syntax highlighting as HTML in a script tag.
+ We were preserving initial lexer state upon entering other tags while in <script>
+ but were not doing it for <script tag itself. As a result, nested script
+ tags were failing to highlight.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34934
+
+ * inspector/front-end/SourceHTMLTokenizer.js:
+ (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
+ * inspector/front-end/SourceHTMLTokenizer.re2js:
+
+2010-02-15 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Add a progress-indicator logging channel to WebCore, and convert the old WebKit Logging
+ messages over to WebCore-style.
+
+ No new tests. (Logging changes only)
+
+ * loader/ProgressTracker.cpp:
+ (WebCore::ProgressTracker::progressStarted):
+ (WebCore::ProgressTracker::progressCompleted):
+ (WebCore::ProgressTracker::finalProgressComplete):
+ (WebCore::ProgressTracker::incrementProgress):
+
+ * platform/Logging.cpp:
+ (WebCore::):
+ (WebCore::getChannelFromName):
+ * platform/Logging.h:
+
+2010-02-15 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] QtWebkit bridge: enable passing a QWebElement to a signal/slot/property
+ https://bugs.webkit.org/show_bug.cgi?id=34901
+
+ When a signal/slot/property is of type QWebElement, it can seamlessly
+ connect with JS objects that hold a WebCore element.
+
+ New tests, see WebKit/qt/ChangeLog
+
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::QtWebElementRuntime::create): A proxy to QWebElement
+ constructor
+ (JSC::Bindings::QtWebElementRuntime::get): A proxy to
+ QWebElement::element
+ (JSC::Bindings::convertValueToQVariant): handle QWebElement
+ (JSC::Bindings::convertQVariantToValue): handle QWebElement
+
+2010-02-15 Pavel Feldman <pfeldman@chromium.org>
+
+ Not reviewed, Chromium build fix (force conversion of property names to
+ strings in Web Inspector's injected script).
+
+ * inspector/front-end/InjectedScript.js:
+ (injectedScriptConstructor):
+
+2010-02-15 Pavel Feldman <pfeldman@chromium.org>
+
+ Not reviewed: touch InspectorController in order to kick win bot tests
+ with new injected script contents.
+
+ * inspector/InspectorController.cpp:
+
+2010-02-14 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: highlight actual search match in elements panel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34251
+
+ * inspector/front-end/ElementsPanel.js:
+ (WebInspector.ElementsPanel.prototype.searchCanceled):
+ (WebInspector.ElementsPanel.prototype.performSearch):
+ (WebInspector.ElementsPanel.prototype.addNodesToSearchResult):
+ (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult):
+ (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult):
+ (WebInspector.ElementsPanel.prototype._highlightCurrentSearchResult):
+ (WebInspector.ElementsPanel.prototype._hideSearchHighlights):
+ * inspector/front-end/InjectedScript.js:
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype.findSearchMatches):
+ * inspector/front-end/TextViewer.js:
+ (WebInspector.TextViewer.prototype._paintLine):
+ * inspector/front-end/textViewer.css:
+ * inspector/front-end/utilities.js:
+
+2010-02-14 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: XPathResult objects are not expanded in console.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34926
+
+ * inspector/front-end/InjectedScript.js:
+ (injectedScriptConstructor):
+ * inspector/front-end/ObjectPropertiesSection.js:
+ (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
+ (WebInspector.ObjectPropertiesSection.CompareProperties):
+ (WebInspector.ObjectPropertyTreeElement.prototype.update):
+ * inspector/front-end/Section.js:
+ (WebInspector.Section):
+ * inspector/front-end/inspector.css:
+
+2010-02-10 Philippe Normand <pnormand@igalia.com>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ [Gtk] wrong video aspect ratio
+ https://bugs.webkit.org/show_bug.cgi?id=34790
+
+ Fixed natural size calculation regarding pixel aspect ratio and
+ display aspect ratio.
+
+ Test: media/video-display-aspect-ratio.html
+
+ * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::greatestCommonDivisor):
+ (WebCore::MediaPlayerPrivate::naturalSize):
+
+2010-02-14 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ HTML5 iframe sandbox bypass of window.top.location navigation via <form target="_top">
+ https://bugs.webkit.org/show_bug.cgi?id=33277
+
+ submitForm wasn't respecting shouldAllowNavigation. Instead of calling
+ the wrapper function, we need to call shouldAllowNavigation because we
+ need to handle the "frame not found" case differently than the
+ "navigation denied" case.
+
+ Test: http/tests/security/sandboxed-iframe-form-top.html
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::submitForm):
+
+2010-02-14 Kent Tamura <tkent@chromium.org>
+
+ No review. Touch RenderRuny*.cpp to fix Chromium/Windows build bot.
+
+ * rendering/RenderRuby.cpp: Add a comment for #endf.
+ * rendering/RenderRubyBase.cpp: Add a comment for #endf.
+ * rendering/RenderRubyRun.cpp: Add a comment for #endf.
+ * rendering/RenderRubyText.cpp: Add a comment for #endf.
+
+2010-02-13 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: cache created row, span and text elements
+ in TextView to improve scroller performance on debug build.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34921
+
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype.set visible):
+ * inspector/front-end/TextViewer.js:
+ (WebInspector.TextViewer):
+ (WebInspector.TextViewer.prototype.freeCachedElements):
+ (WebInspector.TextViewer.prototype._buildChunks):
+ (WebInspector.TextViewer.prototype._makeLineAChunk):
+ (WebInspector.TextViewer.prototype._paintLine):
+ (WebInspector.TextViewer.prototype._releaseLines):
+ (WebInspector.TextViewer.prototype._appendSpan):
+ (WebInspector.TextViewer.prototype._appendTextNode):
+ (WebInspector.TextChunk):
+ (WebInspector.TextChunk.prototype.set expanded):
+ (WebInspector.TextChunk.prototype._lineNumberText):
+ (WebInspector.TextChunk.prototype._createRow):
+
+2010-02-13 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Refactor parsing/serialization functions in HTMLInputElement.
+ https://bugs.webkit.org/show_bug.cgi?id=34852
+
+ - Rename formStringToDouble() to parseToDoubleForNumberType()
+ - Rename formStringToDateComponents() to parseToDateComponents()
+ - Rename formStringFromDouble() to serializeForNumberType()
+ - Add serializeForDateTimeTypes()
+ The code is moved from setValueAsDate() and setDateValue().
+ - Add serialize()
+
+ parseToDouble() is the top-level function to parse a
+ type-dependent string and return a double
+ value. parseToDoubleForNumber() and parseToDateComponents()
+ functions are helper functions for it. serialize() is the
+ top-level function to serialize a double value to a type-dependent
+ string, and serializeForNumberType() and
+ serializeForDateTimeTypes() are helper functions for it.
+
+ No tests because of no functional changes.
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::stepMismatch):
+ (WebCore::HTMLInputElement::getAllowedValueStep):
+ (WebCore::HTMLInputElement::parseToDouble):
+ (WebCore::HTMLInputElement::valueAsDate):
+ (WebCore::HTMLInputElement::setValueAsDate):
+ (WebCore::HTMLInputElement::setValueAsNumber):
+ (WebCore::HTMLInputElement::serializeForDateTimeTypes):
+ (WebCore::HTMLInputElement::serialize):
+ (WebCore::HTMLInputElement::serializeForNumberType):
+ (WebCore::HTMLInputElement::parseToDoubleForNumberType):
+ (WebCore::HTMLInputElement::parseToDateComponents):
+ * html/HTMLInputElement.h:
+ * html/ValidityState.cpp:
+ (WebCore::ValidityState::typeMismatch):
+ * rendering/RenderSlider.cpp:
+ (WebCore::SliderRange::valueFromElement):
+ (WebCore::RenderSlider::updateFromElement):
+ (WebCore::RenderSlider::setValueForPosition):
+
+2010-01-05 Ojan Vafai <ojan@chromium.org>
+
+ Reviewed by Dan Bernstein.
+
+ Improve text control intrinsic widths.
+ https://bugs.webkit.org/show_bug.cgi?id=25566
+ https://bugs.webkit.org/show_bug.cgi?id=25581
+ https://bugs.webkit.org/show_bug.cgi?id=25958
+
+ For Mac fonts that have invalid avgCharWidth entries in the OS/2 table,
+ fallback to the Safari 4- behavior of using the width of a zero. For other
+ fonts, make Mac match Windows (and thus IE) metrics.
+
+ Lucida Grande is hard-coded to match MS Shell Dlg for inputs and
+ Courier New for textareas in order to match Safari Win, Firefox and, in
+ some cases IE (IE uses different default fonts depending on encoding).
+
+ The only case where we still don't match Windows is if no font-size is
+ set. The default font-size for form controls on the Mac is smaller and
+ thus text-control widths will be slightly smaller.
+
+ No new tests. Covered by existing tests.
+
+ * platform/graphics/mac/SimpleFontDataMac.mm:
+ (WebCore::SimpleFontData::platformCharWidthInit):
+ * rendering/RenderTextControl.cpp:
+ (WebCore::):
+ (WebCore::RenderTextControl::hasValidAvgCharWidth):
+ (WebCore::RenderTextControl::getAvgCharWidth):
+ (WebCore::RenderTextControl::calcPrefWidths):
+ * rendering/RenderTextControl.h:
+ (WebCore::RenderTextControl::scaleEmToUnits):
+ * rendering/RenderTextControlMultiLine.cpp:
+ (WebCore::RenderTextControlMultiLine::getAvgCharWidth):
+ * rendering/RenderTextControlMultiLine.h:
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::getAvgCharWidth):
+ (WebCore::RenderTextControlSingleLine::preferredContentWidth):
+ * rendering/RenderTextControlSingleLine.h:
+
+2010-02-11 Ariya Hidayat <ariya.hidayat@gmail.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Unnecessary QBrush construction for doing a solid color stroke
+ https://bugs.webkit.org/show_bug.cgi?id=34874
+
+ Use the similar trick like in r54347, i.e. use the special brush for
+ solid color to avoid expensive QBrush constructor.
+
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::GraphicsContext::setPlatformStrokeColor):
+
+2010-02-11 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Jeremy Orlow.
+
+ Pass the Document along to the ChromiumBridge cookie methods.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34878
+
+ * platform/chromium/ChromiumBridge.h:
+ * platform/network/chromium/CookieJarChromium.cpp:
+ (WebCore::setCookies):
+ (WebCore::cookies):
+ (WebCore::cookiesEnabled):
+ (WebCore::getRawCookies):
+ (WebCore::deleteCookie):
+
+2010-02-12 Eric Seidel <eric@webkit.org>
+
+ No review, rolling out r54694.
+ http://trac.webkit.org/changeset/54694
+ https://bugs.webkit.org/show_bug.cgi?id=34633
+
+ This appears to have caused crashes on the Leopard bot. See
+ bug 34898.
+
+ * websockets/ThreadableWebSocketChannelClientWrapper.h:
+ (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
+ * websockets/WebSocket.cpp:
+ (WebCore::WebSocket::WebSocket):
+ (WebCore::WebSocket::send):
+ (WebCore::WebSocket::close):
+ (WebCore::WebSocket::bufferedAmount):
+ (WebCore::WebSocket::didConnect):
+ (WebCore::WebSocket::didClose):
+ * websockets/WebSocket.h:
+ * websockets/WebSocketChannel.cpp:
+ (WebCore::WebSocketChannel::WebSocketChannel):
+ (WebCore::WebSocketChannel::send):
+ (WebCore::WebSocketChannel::bufferedAmount):
+ (WebCore::WebSocketChannel::didClose):
+ * websockets/WebSocketChannel.h:
+ * websockets/WebSocketChannelClient.h:
+ (WebCore::WebSocketChannelClient::didClose):
+ * websockets/WorkerThreadableWebSocketChannel.cpp:
+ (WebCore::workerContextDidClose):
+ (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
+ * websockets/WorkerThreadableWebSocketChannel.h:
+
+2010-02-12 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Workers' EventListeners should be removed before JSGlobalData is destroyed
+ https://bugs.webkit.org/show_bug.cgi?id=34903
+
+ (Patch co-developed with Alexey Proskuryakov).
+
+ Since http://trac.webkit.org/changeset/54460 the EventListeners registered by a
+ worker thread are not removed until after the thread's JSGlobalData has been
+ destroyed. This is slightly worrisome since the JSEventListener contains
+ JSObject*s, which will be dangling once the heap is destroyed. The
+ JSEventListeners may also reference the worker thread's normal world, which
+ again it makes no sense to keep around after the JSGlobalData is freed.
+
+ Remove all event listeners immediately prior to tearing down the JSGlobalData.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34728 addressed the symptoms of this
+ problem, and it is probably cleaner to make the client data's normal world no
+ longer be a member (since it is a ref-counted object), however they should be
+ no requirement to 'detatch' - it makes no sense for anyone to be referencing
+ the world after the JSGlobalData has gone away (the world's purpose is to hold
+ wrapper objects in the JSGlobalData's heap). Keep the restructuring that makes
+ the normal world no longer be a member, but remove the detach mechanism this
+ patch added & replace with stronger ASSERTs.
+
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
+ * bindings/js/JSDOMBinding.h:
+ (WebCore::WebCoreJSClientData::~WebCoreJSClientData):
+ * workers/WorkerThread.cpp:
+ (WebCore::WorkerThreadShutdownStartTask::performTask):
+
+2010-02-12 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33731
+ Remove uses of PtrAndFlags from WebCore::StringImpl.
+
+ These break the OS X Leaks tool. Use a bits stolen from the refCount to hold the
+ 'InTable' and 'HasTerminatingNullCharacter' flags, along with the string type
+ (fixes a leak where the string data is allocated at the address (this + 1), and is
+ misinterpreted as being an internal buffer).
+
+ * WebCore.base.exp:
+ * platform/text/StringImpl.cpp:
+ (WebCore::StringImpl::StringImpl):
+ (WebCore::StringImpl::~StringImpl):
+ (WebCore::StringImpl::create):
+ (WebCore::StringImpl::createWithTerminatingNullCharacter):
+ (WebCore::StringImpl::crossThreadString):
+ (WebCore::StringImpl::sharedBuffer):
+ * platform/text/StringImpl.h:
+ (WebCore::StringImpl::):
+ (WebCore::StringImpl::hasTerminatingNullCharacter):
+ (WebCore::StringImpl::inTable):
+ (WebCore::StringImpl::setInTable):
+ (WebCore::StringImpl::ref):
+ (WebCore::StringImpl::deref):
+ (WebCore::StringImpl::hasOneRef):
+ (WebCore::StringImpl::operator new):
+ (WebCore::StringImpl::bufferOwnership):
+ * storage/OriginUsageRecord.cpp:
+ (WebCore::OriginUsageRecord::addDatabase):
+ (WebCore::OriginUsageRecord::markDatabase):
+
+2010-02-12 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Reviewed by Dirk Schulze.
+
+ Repaint bug on Text selection in foreignObject
+ https://bugs.webkit.org/show_bug.cgi?id=16939
+
+ Tests: svg/overflow/overflow-on-foreignObject.svg
+ svg/text/foreignObject-text-clipping-bug.xml
+
+ Selecting text contained in <foreignObject> leads to artefacts. Same for zooming/panning.
+ RenderForeignObject contained old legacy code returning FloatRect() for repaintRectInLocalCoordinates,
+ which is obviously wrong. Fixing that leads to even more problems, as the underlying RenderBlock
+ did not reflect the x/y translation set on the <foreignObject>. This is problematic, as laying out
+ positioned objects in the XHTML subtree depends on proper size/location values of the frameRect.
+
+ Correctly clip on overflow="hidden". overflow="scroll" & friends are not yet supported, see lengthy
+ comment in RenderSVGBlock why we either need RenderLayer for RenderForeignObject or need to rework
+ overflow handling to avoid RenderLayer.
+
+ SVGForeignObjectElement uses a hacky custom solution to synchronize CSS width/height properties with
+ the SVG width/height attributes. Remove all of that code and just implement calcWidth/calcHeight in
+ RenderForeignObject, grabbing the right values from SVGForeignObjectElement::width/height upon layout.
+
+ * rendering/RenderForeignObject.cpp:
+ (WebCore::RenderForeignObject::paint): Clip properly to the actual bounds of the foreignObject, respecting that x/y translation is handled by RenderBlock now.
+ (WebCore::RenderForeignObject::clippedOverflowRectForRepaint): Added missing function, forward to SVGRenderBase just like all other SVG renderers.
+ (WebCore::RenderForeignObject::computeRectForRepaint): Remove manual implementation, forward to SVGRenderBase.
+ (WebCore::RenderForeignObject::localToParentTransform): Respect x/y translation here _after_ applying localTransform().
+ (WebCore::RenderForeignObject::calcWidth): Override RenderBlock::calcWidth to grab width() from SVGForeignObjectElement.
+ (WebCore::RenderForeignObject::calcHeight): Override RenderBlock::calcHeight to grab height() from SVGForeignObjectElement.
+ (WebCore::RenderForeignObject::layout): Calculate viewport once and cache it. Push x/y location down to RenderBlock - analogous to RenderSVGText.
+ (WebCore::RenderForeignObject::nodeAtFloatPoint): Adapt to x/y translation changes (map through localTransform, not localToParentTransform). Respect overflow clipping.
+ (WebCore::RenderForeignObject::mapLocalToContainer): Set useTransforms=true, to avoid assertions when selecting text in foreign objects.
+ * rendering/RenderForeignObject.h:
+ (WebCore::RenderForeignObject::objectBoundingBox): Return cached m_viewport.
+ (WebCore::RenderForeignObject::strokeBoundingBox): Ditto.
+ (WebCore::RenderForeignObject::repaintRectInLocalCoordinates): Ditto.
+ * rendering/RenderSVGBlock.cpp:
+ (WebCore::RenderSVGBlock::setStyle): Cleanup code, move setHasOverflowClip() overrides in updateBoxModelInfoFromStyle where it belongs.
+ (WebCore::RenderSVGBlock::updateBoxModelInfoFromStyle): Added to force setting setHasOverflowClip(false).
+ * rendering/RenderSVGBlock.h:
+ * svg/SVGForeignObjectElement.cpp: Kill a lot of custom code - it was just plain wrong to utilize CSS to push width/height information down to RenderBlock.
+ (WebCore::SVGForeignObjectElement::svgAttributeChanged):
+
+2010-02-12 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <rdar://problem/7609268> REGRESSION (r50301): Problem selecting text in a Devanagari website
+ https://bugs.webkit.org/show_bug.cgi?id=34865
+
+ Test: fast/text/glyph-reordering.html
+
+ * platform/graphics/mac/ComplexTextController.cpp:
+ (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
+ (WebCore::ComplexTextController::ComplexTextRun::setIsNonMonotonic): Added. Sets m_isMonotonic
+ and populates m_glyphEndOffsets with the end offsets of each glyph’s corresponding character range.
+ (WebCore::ComplexTextController::advance): For non-monotonic runs, use endOffsetAt() to get
+ glyphs’ end offsets.
+ (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Check for monotonicity and call
+ setIsNonMonotonic() if needed.
+ * platform/graphics/mac/ComplexTextController.h:
+ (WebCore::ComplexTextController::ComplexTextRun::lastIndexAt): Added this getter.
+ (WebCore::ComplexTextController::ComplexTextRun::isMonotonic): Ditto.
+ * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
+ (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Initialize m_isMonotonic.
+ * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
+ (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Ditto.
+
+2010-02-12 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by David Levin.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34866
+ Leopard Debug Bot crashed on fast/forms/old-names.html
+
+ * html/HTMLFormCollection.cpp: (WebCore::HTMLFormCollection::formCollectionInfo): Removed
+ a misplaced checkConsistency() call. We are not looking at cache content at this point, and
+ caches will be reset on next access.
+
+2010-02-12 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: restore highlighting animation, bring back
+ keyboard navigation, beautify search results.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34853
+
+ * inspector/front-end/TextViewer.js:
+ (WebInspector.TextViewer):
+ (WebInspector.TextViewer.prototype.highlightLine):
+ * inspector/front-end/textViewer.css:
+
+2010-02-12 Anton Muhin <antonm@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ [v8] handle to the document can only own Objects, not Values
+ https://bugs.webkit.org/show_bug.cgi?id=34854
+
+ * bindings/v8/V8DOMWindowShell.cpp:
+ (WebCore::V8DOMWindowShell::updateDocumentWrapper):
+ (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
+ * bindings/v8/V8DOMWindowShell.h:
+ * bindings/v8/custom/V8DocumentCustom.cpp:
+ (WebCore::toV8):
+
+2010-02-12 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Holger Freyther.
+
+ Replaced stray CRLF with LF.
+
+ * wml/WMLInputElement.cpp:
+ (WebCore::WMLInputElement::suggestedValue):
+ * wml/WMLInputElement.h:
+
+2010-02-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Make qtlauncher and qgvlauncher use the generated headers
+ path to make sure they are correctly generated.
+
+ * WebCore.pro:
+
+2010-02-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Ensure relative paths in generated .pri files to ensure that
+ a source package with pre-generated derived sources can be compiled.
+
+ - Re-add a separate headers.pri file for WEBKIT_API_HEADERS
+ - Rename the generated headers.pri to classheaders.pri to avoid
+ confusion with the one generated by synqt since they don't have the
+ same content.
+ - Remove private headers list variable from classheaders.pri
+ - Use $$PWD in classheaders.pri
+ - Remove classheaders.pri from the installed files
+
+ * WebCore.pro:
+
+2010-02-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Manually add support for the install target on Symbian.
+
+ This is required to copy the headers over the ones in Qt.
+
+ * WebCore.pro:
+
+2010-02-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Minor fixes on QtWebKit headers generation.
+
+ - Adds QtWebKit to the generated headers destination path
+ - Improve compatibility with MinGW
+
+ * WebCore.pro:
+
+2010-02-11 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ WebSocket ignores HttpOnly cookies, but should use in Handshake.
+ https://bugs.webkit.org/show_bug.cgi?id=34289
+
+ Test: websocket/tests/cookies/httponly-cookie.pl
+
+ * platform/CookieJar.h: add cookieRequestHeaderFieldValue()
+ * platform/chromium/ChromiumBridge.h:
+ * platform/haiku/CookieJarHaiku.cpp:
+ (WebCore::cookieRequestHeaderFieldValue):
+ * platform/mac/CookieJar.mm:
+ (WebCore::cookies):
+ (WebCore::cookieRequestHeaderFieldValue):
+ * platform/network/android/CookieJarAndroid.cpp:
+ (WebCore::cookieRequestHeaderFieldValue):
+ * platform/network/chromium/CookieJarChromium.cpp:
+ (WebCore::cookieRequestHeaderFieldValue):
+ * platform/network/curl/CookieJarCurl.cpp:
+ (WebCore::cookieRequestHeaderFieldValue):
+ * platform/network/soup/CookieJarSoup.cpp:
+ (WebCore::cookieRequestHeaderFieldValue):
+ * platform/network/win/CookieJarCFNetWin.cpp:
+ (WebCore::cookieRequestHeaderFieldValue):
+ * platform/network/win/CookieJarWin.cpp:
+ (WebCore::cookieRequestHeaderFieldValue):
+ * platform/qt/CookieJarQt.cpp:
+ (WebCore::cookieRequestHeaderFieldValue):
+ * websockets/WebSocketHandshake.cpp:
+ (WebCore::WebSocketHandshake::clientHandshakeMessage): use cookieRequestHeaderFieldValue() instead of cookies() to include HttpOnly cookies.
+
+2010-02-16 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ Notify about size changes in the WebKit GStreamer source.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34881
+
+ * platform/graphics/gtk/WebKitWebSourceGStreamer.cpp:
+ (webkit_web_src_init):
+ (StreamingClient::didReceiveResponse):
+ * platform/graphics/gtk/WebKitWebSourceGStreamer.h:
+ This makes sure that other GStreamer elements know about the
+ size and on-disk buffering actually works.
+ Only notify about size changes if gst-plugins-base before
+ 0.10.27 is used, because from that version onwards this is
+ automatically handled.
+
+ If appsrc 0.10.27 or later is used, set the min-percent property
+ to 20% to allow more time to pass between the need-data signal
+ and starvation of the pipeline.
+
+ Also reset the size when stopping the source and send EOS
+ on seeking failures.
+
+2010-02-11 Ariya Hidayat <ariya.hidayat@gmail.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Use clipRegion instead of clipPath to save lots of CPU cycles.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32375
+
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::GraphicsContext::clipOut):
+ (WebCore::GraphicsContext::clipOutEllipseInRect):
+
+2010-02-11 Yuzo Fujishima <yuzo@google.com>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Rename underscored identifiers in WebCore/css/CSSParser.cpp.
+ https://bugs.webkit.org/show_bug.cgi?id=34877
+ Also fix whitespace erros that surface due to the above fix.
+
+ This doesn't change the code logic. Hence no new tests are required.
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue):
+
+2010-02-11 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Focusing a resource in the inspector should default to content not header
+ https://bugs.webkit.org/show_bug.cgi?id=34861
+
+ * inspector/front-end/Settings.js:
+ (WebInspector.Settings.prototype._load): changed initial default to content tab
+
+2010-02-11 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Editing Styles Cannot Tab Backwards from a New Style Item
+ https://bugs.webkit.org/show_bug.cgi?id=34872
+
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylePropertiesSection.prototype.update): triggers afterUpdate
+ (WebInspector.StylePropertiesSection.prototype.afterUpdate): factored out _afterUpdate handling
+
+2010-02-11 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Reviewed by Eric Seidel.
+
+ Add roundedIntSize() convenience method converting FloatSize to IntSize, just like roundedIntPoint() converting FloatPoint to IntPoint.
+
+ * platform/graphics/FloatSize.h:
+ (WebCore::roundedIntSize):
+
+2010-02-11 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Fix two issues on maxLength.
+ https://bugs.webkit.org/show_bug.cgi?id=34783
+
+ - ValidityState.tooLong behavior was inconsistent with UIs of
+ <input> and <textarea>. tooLong checked Unicode code point length
+ though the UIs checks grapheme cluster length.
+
+ - Setting HTMLTextAreaElement::value didn't update the dirty flag.
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::tooLong): Use numGraphemeClusters() instead of length().
+ * html/HTMLTextAreaElement.cpp:
+ Rename setValue() to setNonDirtyValue(), and introduce setValue()
+ which calls setNonDirtyValue() and sets the dirty flag.
+ (WebCore::HTMLTextAreaElement::childrenChanged):
+ (WebCore::HTMLTextAreaElement::reset):
+ (WebCore::HTMLTextAreaElement::setValue):
+ (WebCore::HTMLTextAreaElement::setNonDirtyValue):
+ (WebCore::HTMLTextAreaElement::setDefaultValue):
+ (WebCore::HTMLTextAreaElement::tooLong): Use numGraphemeClusters() instead of length().
+ * html/HTMLTextAreaElement.h:
+
+2010-02-11 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ WebSocket bufferedAmount should not be 0 when send after close.
+ https://bugs.webkit.org/show_bug.cgi?id=34633
+
+ Test: websocket/tests/bufferedAmount-after-close.html
+
+ * websockets/ThreadableWebSocketChannelClientWrapper.h:
+ (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
+ * websockets/WebSocket.cpp:
+ (WebCore::WebSocket::WebSocket):
+ (WebCore::WebSocket::send):
+ (WebCore::WebSocket::close):
+ (WebCore::WebSocket::bufferedAmount):
+ (WebCore::WebSocket::didConnect):
+ (WebCore::WebSocket::didClose):
+ * websockets/WebSocket.h:
+ * websockets/WebSocketChannel.cpp:
+ (WebCore::WebSocketChannel::WebSocketChannel):
+ (WebCore::WebSocketChannel::send):
+ (WebCore::WebSocketChannel::bufferedAmount):
+ (WebCore::WebSocketChannel::didClose):
+ * websockets/WebSocketChannel.h:
+ * websockets/WebSocketChannelClient.h:
+ (WebCore::WebSocketChannelClient::didClose):
+ * websockets/WorkerThreadableWebSocketChannel.cpp:
+ (WebCore::workerContextDidClose):
+ (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
+ * websockets/WorkerThreadableWebSocketChannel.h:
+
+2010-02-11 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ WebSocket in Worker failed to close
+ https://bugs.webkit.org/show_bug.cgi?id=34785
+
+ Tests: websocket/tests/workers/close-in-shared-worker.html
+ websocket/tests/workers/close-in-worker.html
+
+ * websockets/WorkerThreadableWebSocketChannel.cpp:
+ (WebCore::WorkerThreadableWebSocketChannel::close):
+
+2010-02-11 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Add dummy Cursor
+ https://bugs.webkit.org/show_bug.cgi?id=34672
+
+ * platform/brew/CursorBrew.cpp: Added.
+ (WebCore::Cursor::Cursor):
+ (WebCore::Cursor::~Cursor):
+ (WebCore::Cursor::operator=):
+ (WebCore::dummyCursor):
+ (WebCore::pointerCursor):
+ (WebCore::crossCursor):
+ (WebCore::handCursor):
+ (WebCore::moveCursor):
+ (WebCore::iBeamCursor):
+ (WebCore::waitCursor):
+ (WebCore::helpCursor):
+ (WebCore::eastResizeCursor):
+ (WebCore::northResizeCursor):
+ (WebCore::northEastResizeCursor):
+ (WebCore::northWestResizeCursor):
+ (WebCore::southResizeCursor):
+ (WebCore::southEastResizeCursor):
+ (WebCore::southWestResizeCursor):
+ (WebCore::westResizeCursor):
+ (WebCore::northSouthResizeCursor):
+ (WebCore::eastWestResizeCursor):
+ (WebCore::northEastSouthWestResizeCursor):
+ (WebCore::northWestSouthEastResizeCursor):
+ (WebCore::columnResizeCursor):
+ (WebCore::rowResizeCursor):
+ (WebCore::verticalTextCursor):
+ (WebCore::cellCursor):
+ (WebCore::contextMenuCursor):
+ (WebCore::noDropCursor):
+ (WebCore::copyCursor):
+ (WebCore::progressCursor):
+ (WebCore::aliasCursor):
+ (WebCore::noneCursor):
+ (WebCore::notAllowedCursor):
+ (WebCore::zoomInCursor):
+ (WebCore::zoomOutCursor):
+ (WebCore::middlePanningCursor):
+ (WebCore::eastPanningCursor):
+ (WebCore::northPanningCursor):
+ (WebCore::northEastPanningCursor):
+ (WebCore::northWestPanningCursor):
+ (WebCore::southPanningCursor):
+ (WebCore::southEastPanningCursor):
+ (WebCore::southWestPanningCursor):
+ (WebCore::westPanningCursor):
+ (WebCore::grabCursor):
+ (WebCore::grabbingCursor):
+
+2010-02-11 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [V8] Add back in a fast path for v8 object wrapping
+ when it's not possible we're in a WorkerContext (the fast
+ path is important for performance).
+
+ https://bugs.webkit.org/show_bug.cgi?id=34805
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::instantiateV8ObjectInWorkerContext):
+ (WebCore::V8DOMWrapper::instantiateV8Object):
+ * bindings/v8/V8DOMWrapper.h:
+
+2010-02-11 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Reviewed by Dirk Schulze.
+
+ Small cleanups in SVG render tree code.
+ Centralize calls to inflateShadow(), in SVGRenderSupport::computeRectForRepaint,
+ instead of spreading them around the subclasses. All classes should inherit
+ protected from SVGRenderBase, made it consistent.
+
+ Doesn't affect layout tests.
+
+ * rendering/RenderSVGImage.cpp:
+ (WebCore::RenderSVGImage::computeRectForRepaint):
+ * rendering/RenderSVGImage.h:
+ * rendering/RenderSVGModelObject.cpp:
+ (WebCore::RenderSVGModelObject::computeRectForRepaint):
+ * rendering/RenderSVGRoot.h:
+ * rendering/RenderSVGText.cpp:
+ (WebCore::RenderSVGText::computeRectForRepaint):
+ (WebCore::RenderSVGText::layout):
+ * rendering/SVGRenderSupport.cpp:
+ (WebCore::SVGRenderBase::computeRectForRepaint):
+ * rendering/SVGRootInlineBox.h:
+
+2010-02-11 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34857
+ Move InlineIterator and BidiRun into new files so subclasses can access them.
+
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * rendering/BidiRun.cpp: Added.
+ (WebCore::BidiRun::destroy):
+ (WebCore::throw):
+ (WebCore::BidiRun::operator delete):
+ * rendering/BidiRun.h: Added.
+ (WebCore::BidiRun::BidiRun):
+ (WebCore::BidiRun::next):
+ * rendering/InlineIterator.h: Added.
+ (WebCore::InlineIterator::InlineIterator):
+ (WebCore::operator==):
+ (WebCore::operator!=):
+ (WebCore::bidiNext):
+ (WebCore::bidiFirst):
+ (WebCore::InlineIterator::increment):
+ (WebCore::InlineIterator::atEnd):
+ (WebCore::InlineIterator::current):
+ (WebCore::InlineIterator::direction):
+ (WebCore::InlineBidiResolver::increment):
+ (WebCore::InlineBidiResolver::appendRun):
+ * rendering/RenderBlock.h:
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::appendRunsForObject):
+ (WebCore::RenderBlock::requiresLineBox):
+
+2010-02-11 Steve Block <steveblock@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Fixes CodeGeneratorV8.pm to include the header for the indexer type when using setCollectionIndexedGetter()
+ https://bugs.webkit.org/show_bug.cgi?id=34836
+
+ setCollectionIndexedGetter() uses getIndexedPropertyOfCollection(),
+ which in turn uses toV8() with the indexer type, which is declared in
+ the header for the indexer type.
+
+ No new tests, build fix only.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+
+2010-02-11 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: split source code into chunks in order to improve text
+ viewer performance on large files.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34816
+
+ This change brings back SourceFrame's canvas+style magic, restores line
+ wrapping and makes things a lot like they used to be.
+ It removes TextEditor for now and renames NativeTextViewer into TextViewer.
+ TextViewer is no longer derived from TextEditor.
+ This TextViewer is still based on TextEditorModel, no iframes are involved.
+
+ Instead of creating div per line, TextViewer splits source code into 50 line
+ chunks. Upon scroll event, visible chunks are sharded into lines and individual
+ lines are highlighted. Whenever highlighted region gets outside of the visible
+ area, highlight spans are thrown away and region is replaced with the original
+ plain text chunk.
+
+ Complex stuff:
+ - Whenever there is a need to manipulate individual lines (add message bubble /
+ set breakpoint / reveal / etc.), individual chunks for such lines are created.
+ - There is also an implicit machinery that is maintaining selection when it
+ goes beyond the visible area.
+ - Search occurrences are implemented as artificial spans interweaving
+ highlighting markup.
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/front-end/NativeTextViewer.js: Removed.
+ * inspector/front-end/ScriptView.js:
+ (WebInspector.ScriptView):
+ * inspector/front-end/Settings.js:
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame):
+ (WebInspector.SourceFrame.prototype.set visible):
+ (WebInspector.SourceFrame.prototype.set executionLine):
+ (WebInspector.SourceFrame.prototype.revealLine):
+ (WebInspector.SourceFrame.prototype.addBreakpoint):
+ (WebInspector.SourceFrame.prototype.removeBreakpoint):
+ (WebInspector.SourceFrame.prototype.addMessage):
+ (WebInspector.SourceFrame.prototype.clearMessages):
+ (WebInspector.SourceFrame.prototype.sizeToFitContentHeight):
+ (WebInspector.SourceFrame.prototype.setContent):
+ (WebInspector.SourceFrame.prototype.highlightLine):
+ (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
+ (WebInspector.SourceFrame.prototype.markAndRevealRange):
+ (WebInspector.SourceFrame.prototype.clearMarkedRange):
+ (WebInspector.SourceFrame.prototype._breakpointChanged):
+ (WebInspector.SourceFrame.prototype._updateExecutionLine):
+ (WebInspector.SourceFrame.prototype._addMessageToSource):
+ (WebInspector.SourceFrame.prototype._addExistingBreakpointsToSource):
+ (WebInspector.SourceFrame.prototype._addBreakpointToSource):
+ (WebInspector.SourceFrame.prototype._removeBreakpointFromSource):
+ (WebInspector.SourceFrame.prototype._mouseDown):
+ (WebInspector.SourceFrame.prototype._editBreakpointCondition.committed):
+ (WebInspector.SourceFrame.prototype._editBreakpointCondition.dismissed):
+ (WebInspector.SourceFrame.prototype._editBreakpointCondition):
+ (WebInspector.SourceFrame.prototype._showBreakpointConditionPopup):
+ (WebInspector.SourceFrame.prototype._createConditionElement):
+ (WebInspector.SourceFrame.prototype._keyDown):
+ (WebInspector.SourceFrame.prototype.resize):
+ (WebInspector.SourceFrame.prototype._drawProgramCounterInContext):
+ (WebInspector.SourceFrame.prototype._drawProgramCounterImageIfNeeded):
+ (WebInspector.SourceFrame.prototype._drawBreakpointImagesIfNeeded.drawBreakpoint):
+ (WebInspector.SourceFrame.prototype._drawBreakpointImagesIfNeeded):
+ * inspector/front-end/SourceView.js:
+ (WebInspector.SourceView):
+ (WebInspector.SourceView.prototype._removeBreakpoint):
+ (WebInspector.SourceView.prototype.searchCanceled):
+ (WebInspector.SourceView.prototype._jumpToSearchResult):
+ * inspector/front-end/TextEditor.js: Removed.
+ * inspector/front-end/TextViewer.js: Added.
+ (WebInspector.TextViewer):
+ (WebInspector.TextViewer.prototype.set mimeType):
+ (WebInspector.TextViewer.prototype.get textModel):
+ (WebInspector.TextViewer.prototype.revealLine):
+ (WebInspector.TextViewer.prototype.addDecoration):
+ (WebInspector.TextViewer.prototype.removeDecoration):
+ (WebInspector.TextViewer.prototype.markAndRevealRange):
+ (WebInspector.TextViewer.prototype.highlightLine):
+ (WebInspector.TextViewer.prototype._textChanged):
+ (WebInspector.TextViewer.prototype._createChunkRow):
+ (WebInspector.TextViewer.prototype._makeLineAChunk):
+ (WebInspector.TextViewer.prototype._indexChunks):
+ (WebInspector.TextViewer.prototype._highlightChanged):
+ (WebInspector.TextViewer.prototype._scroll):
+ (WebInspector.TextViewer.prototype.setCoalescingUpdate):
+ (WebInspector.TextViewer.prototype._repaintAll):
+ (WebInspector.TextViewer.prototype._chunkForOffset):
+ (WebInspector.TextViewer.prototype._chunkNumberForLine):
+ (WebInspector.TextViewer.prototype._chunkStartLine):
+ (WebInspector.TextViewer.prototype._restoreChunks):
+ (WebInspector.TextViewer.prototype._repaint):
+ (WebInspector.TextViewer.prototype._getSelection):
+ (WebInspector.TextViewer.prototype._restoreSelection):
+ (WebInspector.TextViewer.prototype._selectionToPosition):
+ (WebInspector.TextViewer.prototype._createLineRow):
+ (WebInspector.TextViewer.prototype._paintLine):
+ (WebInspector.TextViewer.prototype._createSpan):
+ (WebInspector.TextViewer.prototype._createLink):
+ (WebInspector.TextViewer.prototype._rewriteHref):
+ (WebInspector.TextViewer.prototype._markRange):
+ (WebInspector.TextViewer.prototype._decimalDigits):
+ (WebInspector.TextViewer.prototype.resize):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.css:
+ * inspector/front-end/inspector.html:
+ * inspector/front-end/textEditor.css: Removed.
+ * inspector/front-end/textViewer.css: Added.
+ * inspector/front-end/utilities.js:
+ (Node.prototype.traverseNextTextNode):
+ (Node.prototype.rangeBoundaryForOffset):
+
+2010-02-11 Csaba Osztrogonác <ossy@webkit.org>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] ENABLE_RUBY flag was restored by r54649, but default value wasn't added for Qt port.
+ https://bugs.webkit.org/show_bug.cgi?id=34698
+
+ * WebCore.pri: Add ENABLE_RUBY=1 as default setting.
+
+2010-02-11 Steve Block <steveblock@google.com>
+
+ Reviewed by Jeremy Orlow.
+
+ Updates Android V8 Makefile to generate Notifications and WebSockets headers required by V8DOMWrapper.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=34815
+
+ No new tests, build fix only.
+
+ * Android.derived.v8bindings.mk:
+
+2010-02-11 Steve Block <steveblock@google.com>
+
+ Reviewed by Jeremy Orlow.
+
+ Updates Android V8 Makefile to generate XPath header required by V8Proxy.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=34814
+
+ No new tests, build fix only.
+
+ * Android.derived.v8bindings.mk:
+
+2010-02-11 Steve Block <steveblock@google.com>
+
+ Reviewed by Nate Chapin.
+
+ Update Android V8 Makefile to generate Inspector headers required by V8 ScriptObject.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=34806
+
+ No new tests, build fix only.
+
+ * Android.derived.v8bindings.mk:
+
+2010-02-11 Steve Block <steveblock@google.com>
+
+ Reviewed by David Levin.
+
+ Guards SVG code in V8 bindings with ENABLE(SVG)
+ https://bugs.webkit.org/show_bug.cgi?id=34812
+
+ Also updates Android V8 Makefile to generate required SVG headers.
+
+ No new tests, build fix only.
+
+ * Android.derived.v8bindings.mk:
+ * bindings/v8/custom/V8CSSValueCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8DocumentCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8ElementCustom.cpp:
+ (WebCore::toV8):
+
+2010-02-08 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Cameron Zwarich.
+
+ Restore ENABLE_RUBY flag so vendors can ship with Ruby disabled if they choose.
+ https://bugs.webkit.org/show_bug.cgi?id=34698
+
+ * Configurations/FeatureDefines.xcconfig:
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * html/HTMLTagNames.in: Make the ruby-related tag names conditional.
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::createObject): ifdef the code that would create ruby elements.
+ * rendering/RenderObject.h: ditto above
+ * rendering/RenderRuby.cpp: ifdef this whole file
+ * rendering/RenderRuby.h: ditto
+ * rendering/RenderRubyBase.cpp: ditto
+ * rendering/RenderRubyBase.h: ditto
+ * rendering/RenderRubyRun.cpp: ditto
+ * rendering/RenderRubyRun.h: ditto
+ * rendering/RenderRubyText.cpp: ditto
+ * rendering/RenderRubyText.h: ditto
+
+2010-02-11 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Step attribute support for date&time types.
+ https://bugs.webkit.org/show_bug.cgi?id=30847
+
+ - Add implementation for ValidityState.stepMismatch, stepUp() and
+ stepDown() for date, datetime, datetime-local, month, time, week types.
+ - Fix string representation of DateComponents.
+
+ Tests: fast/forms/ValidityState-stepMismatch.html
+ fast/forms/input-stepup-stepdown.html
+
+ * html/HTMLInputElement.cpp:
+ - Change monthDefaultMaximum so that DateComponents::m_year doesn't overflow.
+ (WebCore::HTMLInputElement::stepBase):
+ (WebCore::HTMLInputElement::stepMismatch):
+ (WebCore::HTMLInputElement::getStepParameters):
+ (WebCore::HTMLInputElement::getAllowedValueStep):
+ (WebCore::HTMLInputElement::applyStep):
+ Renamed from applyStepForNumberOrRange(), and add support for other types.
+ (WebCore::HTMLInputElement::stepUp): Rename applyStepForNumberOrRange().
+ (WebCore::HTMLInputElement::stepDown): Rename applyStepForNumberOrRange().
+ (WebCore::HTMLInputElement::setValueAsDate): Use setDateValue().
+ (WebCore::HTMLInputElement::setDateValue):
+ A helper function to make the best representation of DateComponents.
+ (WebCore::HTMLInputElement::setValueAsNumber): Use setDateValue().
+ * html/HTMLInputElement.h:
+
+2010-02-10 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ postMessage does not send ImageData
+ https://bugs.webkit.org/show_bug.cgi?id=34825
+
+ Implement serialisation of ImageData, and for testing reasons
+ expose the ImageData constructor (which should already have
+ been exposed).
+
+ * bindings/js/SerializedScriptValue.cpp:
+ (WebCore::SerializedImageData::create):
+ (WebCore::SerializedImageData::width):
+ (WebCore::SerializedImageData::height):
+ (WebCore::SerializedImageData::data):
+ (WebCore::SerializedImageData::SerializedImageData):
+ (WebCore::SerializedScriptValueData::SerializedScriptValueData):
+ (WebCore::SharedSerializedData::asImageData):
+ (WebCore::SerializingTreeWalker::convertIfTerminal):
+ (WebCore::DeserializingTreeWalker::convertIfTerminal):
+ (WebCore::TeardownTreeWalker::convertIfTerminal):
+ * bindings/js/SerializedScriptValue.h:
+ (WebCore::SerializedScriptValueData::):
+ (WebCore::SerializedScriptValueData::asImageData):
+ * html/canvas/CanvasPixelArray.h:
+ (WebCore::CanvasPixelArray::data):
+ * page/DOMWindow.idl:
+
+2010-02-10 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Address last round of review comments on r53607
+ https://bugs.webkit.org/show_bug.cgi?id=33940
+
+ Mostly renaming and cleaning up.
+
+ * css/CSSImportRule.cpp:
+ (WebCore::CSSImportRule::insertedIntoParent):
+ * css/CSSStyleSheet.h:
+ (WebCore::CSSStyleSheet::create):
+ (WebCore::CSSStyleSheet::createInline):
+ * css/StyleBase.cpp:
+ (WebCore::StyleBase::baseURL):
+ * css/StyleSheet.cpp:
+ (WebCore::StyleSheet::StyleSheet):
+ * css/StyleSheet.h:
+ (WebCore::StyleSheet::href):
+ (WebCore::StyleSheet::setFinalURL):
+ (WebCore::StyleSheet::finalURL):
+ * dom/Document.cpp:
+ (WebCore::Document::updateBaseURL):
+ * dom/ProcessingInstruction.cpp:
+ (WebCore::ProcessingInstruction::checkStyleSheet):
+ * xml/XSLImportRule.cpp:
+ (WebCore::XSLImportRule::loadSheet):
+ * xml/XSLStyleSheet.h:
+ (WebCore::XSLStyleSheet::create):
+ (WebCore::XSLStyleSheet::createInline):
+ * xml/XSLStyleSheetLibxslt.cpp:
+ (WebCore::XSLStyleSheet::XSLStyleSheet):
+ (WebCore::XSLStyleSheet::parseString):
+ (WebCore::XSLStyleSheet::loadChildSheets):
+ * xml/XSLStyleSheetQt.cpp:
+ (WebCore::XSLStyleSheet::XSLStyleSheet):
+
+2010-02-10 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Ariya Hidayat.
+
+ [Qt] GraphicsLayer: somtimes the item flickers at the end of an animation
+ This is because we try to delete the animation when finished: that is
+ unnecessary. WebCore manages the animation's lifecycle and makes sure
+ to call the right function when the animation can be deleted.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34761
+
+ No new tests.
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::GraphicsLayerQt::addAnimation): No need to delete here
+ (WebCore::GraphicsLayerQt::removeAnimationsForProperty): deleteLater
+
+2010-02-10 Kevin Ollivier <kevino@theolliviers.com>
+
+ [wx] Build fix for wxMac/Cocoa.
+
+ * platform/wx/wxcode/mac/carbon/fontprops.cpp: Removed.
+ * platform/wx/wxcode/mac/carbon/fontprops.mm: Copied from WebCore/platform/wx/wxcode/mac/carbon/fontprops.cpp.
+ * wscript:
+
+2010-02-10 Jon Honeycutt <jhoneycutt@apple.com>
+
+ REGRESSION(24929): PDF page doesn't load in background tab
+
+ Reviewed by Dan Bernstein.
+
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::startOrAddToUnstartedList):
+ Only delay loading of the plug-in if we'll kick off our own load of the
+ plug-in data later, in start().
+
+2010-02-10 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Crash in WebKit!WebCore::RenderTextControlSingleLine::createInnerTextStyle doing anything in Safari after sitting on a page with 3D site
+ <rdar://problem/7557201>
+ https://bugs.webkit.org/show_bug.cgi?id=34823
+
+ No tests added because the code is exercised by the existing tests.
+
+ The root cause was the fact that we were not releasing a reference that was held by CA.
+ In debug builds we had an assert in the destructor of WKCACFLayer.
+
+ * platform/graphics/win/GraphicsLayerCACF.cpp:
+ (WebCore::GraphicsLayerCACF::~GraphicsLayerCACF):
+
+2010-02-10 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Typedef DragImageRef
+ https://bugs.webkit.org/show_bug.cgi?id=34791
+
+ Use IImage* as it is the BREW's image type.
+
+ * platform/DragImage.h:
+
+2010-02-10 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Simon Fraser and Darin Adler.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=34185 REGRESSION:
+ Mask not invalidating
+
+ SVGMaskElement is the only class that keeps a HashMap of canvas
+ resources rather than just a pointer to a resource. This
+ patch makes SVGMaskElement invalidate all of its resources in the
+ HashMap instead of just one.
+
+ * svg/SVGMaskElement.cpp:
+ (WebCore::SVGMaskElement::svgAttributeChanged):
+ (WebCore::SVGMaskElement::childrenChanged):
+ (WebCore::SVGMaskElement::invalidateCanvasResources):
+ * svg/SVGMaskElement.h:
+ * svg/SVGStyledElement.cpp:
+ (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain):
+ (WebCore::SVGStyledElement::invalidateCanvasResources):
+ * svg/SVGStyledElement.h:
+
+2010-02-10 Stephan Aßmus <superstippi@gmx.de>
+
+ Reviewed by David Levin.
+
+ Fixes to rect conversion and image rendering on Haiku
+ https://bugs.webkit.org/show_bug.cgi?id=34684
+
+ Covered by existing tests.
+
+ The changes to the rect conversions are indeed correct. In Haiku (to stay
+ compatibly with BeOS), a BRect specifies the left/top and bottom/right pixel
+ *indices*, even though the values are floating point. So a rectangle covering
+ just one pixel would be specified as BRect(0, 0, 0, 0). In WebCore and other
+ frame works, such rectangles would be expressed as 0, 0, 1, 1. In WebCore, the
+ width and height of rectangles refer to the distance between pixels, while on
+ Haiku, a one pixel rect has indeed a width and height of 0, as confusing as
+ that may be.
+
+ The part of the patch that affects
+ WebCore/platform/graphics/haiku/ImageHaiku.cpp also implements the drawing
+ methods more correctly. Image observers are notified, and pattern drawing takes
+ the "phase" into account which makes scrolled backgrounds render correctly.
+ Transformations are still not supported, since the Haiku drawing backend itself
+ does not yet support them.
+
+ Use OwnPtr when creating the BBitmap to avoid future leaks with early returns.
+
+ Convert the bitmap data to non pre-multiplied until Haiku supports drawing
+ pre-multiplied bitmaps.
+
+ * platform/graphics/haiku/FloatRectHaiku.cpp: Fixed conversion
+ * platform/graphics/haiku/ImageHaiku.cpp:
+ (WebCore::BitmapImage::draw): Fixed placement, notify observers
+ (WebCore::Image::drawPattern): Implemented using "phase" to fix scrolling, notify observers
+ * platform/graphics/haiku/IntRectHaiku.cpp: Fixed conversion
+ * platform/image-decoders/haiku/ImageDecoderHaiku.cpp: Fixed conversion
+
+2010-02-10 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by David Levin.
+
+ Clean up unused member var and initialization in Document
+ https://bugs.webkit.org/show_bug.cgi?id=34820
+
+ Remove unused m_secureForms member variable in Document.
+
+ * dom/Document.cpp:
+ (WebCore::Document::Document):
+ * dom/Document.h:
+
+2010-02-10 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ [wx] Add Windows complex text support and Mac support for containsCharacters.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34759
+
+ * platform/graphics/SimpleFontData.h:
+ * platform/graphics/wx/FontPlatformData.h:
+ (WebCore::FontPlatformData::roundsGlyphAdvances):
+ * platform/graphics/wx/FontPlatformDataWx.cpp:
+ (WebCore::FontPlatformData::useGDI):
+ (WebCore::FontPlatformData::hfont):
+ * platform/graphics/wx/FontWx.cpp:
+ (WebCore::Font::canReturnFallbackFontsForComplexText):
+ (WebCore::Font::selectionRectForComplexText):
+ (WebCore::Font::drawComplexText):
+ (WebCore::Font::floatWidthForComplexText):
+ (WebCore::Font::offsetForPositionForComplexText):
+ * platform/graphics/wx/SimpleFontDataWx.cpp:
+ (WebCore::SimpleFontData::platformInit):
+ (WebCore::SimpleFontData::platformDestroy):
+ (WebCore::SimpleFontData::containsCharacters):
+ (WebCore::SimpleFontData::platformWidthForGlyph):
+ (WebCore::SimpleFontData::scriptFontProperties):
+ (WebCore::SimpleFontData::initGDIFont):
+ (WebCore::SimpleFontData::platformCommonDestroy):
+ (WebCore::SimpleFontData::widthForGDIGlyph):
+ * platform/wx/wxcode/fontprops.h:
+ * platform/wx/wxcode/gtk/fontprops.cpp:
+ (wxFontContainsCharacters):
+ * platform/wx/wxcode/mac/carbon/fontprops.cpp:
+ (wxFontContainsCharacters):
+ * platform/wx/wxcode/win/fontprops.cpp:
+ (wxFontContainsCharacters):
+ * platform/wx/wxcode/win/non-kerned-drawing.cpp:
+ (WebCore::drawTextWithSpacing):
+ * wscript:
+
+2010-02-10 Kwang Yul Seo <skyul@company100.net>
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Add dummy Frame::dragImageForSelection
+ https://bugs.webkit.org/show_bug.cgi?id=34792
+
+ Add FrameBrew.cpp which contains a dummy implementation of
+ Frame::dragImageForSelection.
+
+ * page/brew/FrameBrew.cpp: Added.
+ (WebCore::Frame::dragImageForSelection):
+
+2010-02-10 Kevin Ollivier <kevino@theolliviers.com>
+
+ [wx] Build fix. Switch drawPattern to Image class like other platforms.
+
+ * platform/graphics/BitmapImage.h:
+ * platform/graphics/wx/ImageWx.cpp:
+ (WebCore::Image::drawPattern):
+
+2010-02-10 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Added CA_PRINT_TREE functionality to WKCACFLayer implementation
+ https://bugs.webkit.org/show_bug.cgi?id=34779
+
+ I've tried to duplicate the look of the output on Mac, but
+ it's not quite the same. It shows all the useful information though.
+ It is enabled by setting the environment variable CA_PRINT_TREE=1
+
+ * platform/graphics/win/WKCACFLayer.cpp:Implementation of printTree
+ (WebCore::WKCACFLayer::isTransformLayer):
+ Moved function to cpp file because it needs to use the function form
+ of kCACFTransformLayer because the DLL is delay loaded, and that function
+ can only be called from the cpp file.
+ (WebCore::WKCACFLayer::sublayerAtIndex):
+ (WebCore::printIndent):
+ (WebCore::printTransform):
+ (WebCore::WKCACFLayer::printTree):Prints from this layer down
+ (WebCore::WKCACFLayer::printLayer):Prints this layer and recursively calls sublayers
+ * platform/graphics/win/WKCACFLayer.h:
+ * platform/graphics/win/WKCACFLayerRenderer.cpp:
+ (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
+ (WebCore::WKCACFLayerRenderer::createRenderer):Adds a name to the root layers
+ (WebCore::WKCACFLayerRenderer::render):Calls printTree when CA_PRINT_TREE is 1
+ * platform/graphics/win/WKCACFLayerRenderer.h:
+
+2010-02-10 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Change V8DOMWrapper::lookupDOMWrapper() and configureTemplate()
+ to not use V8ClassIndex.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34768
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/V8Binding.cpp:
+ * bindings/v8/V8Binding.h:
+ * bindings/v8/V8DOMWindowShell.cpp:
+ * bindings/v8/V8DOMWrapper.cpp:
+ * bindings/v8/V8DOMWrapper.h:
+ * bindings/v8/V8Proxy.cpp:
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ * bindings/v8/custom/V8LocationCustom.cpp:
+ * bindings/v8/custom/V8MessageEventCustom.cpp:
+
+2010-02-10 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [V8] Handle the possibility that ScheduledAction::execute() may
+ retrieve a null V8Proxy* even if not in a WorkerContext (e.g., if
+ JS was disallowed).
+
+ * bindings/v8/ScheduledAction.cpp:
+ (WebCore::ScheduledAction::execute):
+
+2010-02-10 Kenneth Russell <kbr@google.com>
+
+ Reviewed by Oliver Hunt.
+
+ Remove automatic viewport resizing
+ https://bugs.webkit.org/show_bug.cgi?id=34766
+
+ Removed automatic viewport resizing per conclusions on the WebGL
+ mailing list. Added test verifying new behavior and updated a
+ couple of previous tests failing after this change.
+
+ Test: fast/canvas/webgl/viewport-unchanged-upon-resize.html
+
+ * platform/graphics/mac/GraphicsContext3DMac.cpp:
+ (WebCore::GraphicsContext3D::reshape):
+
+2010-02-10 Ariya Hidayat <ariya.hidayat@gmail.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Implement image interpolation quality.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34629
+
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
+ (WebCore::GraphicsContext::setImageInterpolationQuality):
+ (WebCore::GraphicsContext::imageInterpolationQuality):
+
+2010-02-10 Eric Seidel <eric@webkit.org>
+
+ No review, Mac build fix.
+
+ Crash in Flash at http://www.cctv.com/
+ https://bugs.webkit.org/show_bug.cgi?id=34673
+
+ * plugins/PluginViewNone.cpp:
+ (WebCore::PluginView::getValueStatic):
+
+2010-02-10 Gustavo Noronha Silva <gns@gnome.org>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] Hits assertion on history back, with page cache enabled, in specific conditions
+ https://bugs.webkit.org/show_bug.cgi?id=34773
+
+ When unsetting the adjustments from a ScrollView, also disconnect
+ them from the Scrollbars.
+
+ Test: fast/frames/frame-crash-with-page-cache.html
+
+ * platform/gtk/ScrollViewGtk.cpp:
+ (WebCore::ScrollView::setGtkAdjustments):
+ * platform/gtk/ScrollbarGtk.cpp:
+ (ScrollbarGtk::~ScrollbarGtk):
+ (ScrollbarGtk::detachAdjustment):
+ * platform/gtk/ScrollbarGtk.h:
+
+2010-02-09 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34490
+ WebCore::ImageEventSender::dispatchPendingEvents() crashes in certain conditions
+
+ Test: fast/images/destroyed-image-load-event.html
+
+ * ForwardingHeaders/wtf/ValueCheck.h: Added.
+
+ * loader/ImageLoader.cpp:
+ (WTF::ValueCheck): Special case value check for ImageLoader - it's allocated inside elements,
+ so check the owner instead.
+ (WebCore::ImageEventSender::hasPendingEvents): Added a debugging aid for ImageLoader destructor.
+ (WebCore::ImageLoader::~ImageLoader): Assert that we're not going to leave dangling pointers
+ in ImageEventSender.
+ (WebCore::ImageLoader::setImage): Cancel events that could be dispatched for the previous
+ image. The only client using this method that I could find was DeleteButton, which doesn't
+ care about load events for the new image, so I didn't add any code for firing those.
+ (WebCore::ImageLoader::setLoadingImage): This method only existed to confuse readers -
+ there wasn't any meaningful code shared (callers just undid most assignments made there).
+ Merged the logic into callers.
+ (WebCore::ImageLoader::updateFromElement): We're forgetting the old image, so forget its
+ old events, too.
+ (WebCore::ImageLoader::notifyFinished): This can be called from setImage(), in which case
+ no one is going to dispatch the event "soon". So, don't queue it.
+ (WebCore::ImageEventSender::dispatchPendingEvents): Call checkConsistency(). This didn't
+ help catch this particuar bug, but seems like a useful check anyway.
+
+ * loader/ImageLoader.h: Removed setLoadingImage().
+
+2010-02-10 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Mac build fix. Unreviewed.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ Add PluginViewNone.cpp to the Mac project.
+
+2010-02-10 Adam Roben <aroben@apple.com>
+
+ Optimize ImageBuffer::toDataURL's CG implementation
+
+ There was some unused code that could have been removed in r31830 when
+ this function was changed not to flip the CG image anymore.
+
+ Fixes <http://webkit.org/b/34808> ImageBuffer::toDataURL allocates
+ unnecessary memory under CoreGraphics
+
+ Reviewed by Sam Weinig.
+
+ * platform/graphics/cg/ImageBufferCG.cpp:
+ (WebCore::ImageBuffer::toDataURL): Don't allocate an unused CGImageRef
+ and buffer, and switch to the new overload of base64Encode that
+ doesn't require us to copy all the image data into a Vector first.
+
+ * platform/text/Base64.cpp:
+ (WebCore::base64Encode):
+ * platform/text/Base64.h:
+ Added an overload that takes a raw data pointer and length, just like
+ we have for base64Decode. The overload that takes a Vector as input
+ just calls through to the new overload.
+
+2010-02-10 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ Complete the fix for <rdar://problem/7577604> Drag and Drop: background elements are bleeding through
+ https://bugs.webkit.org/show_bug.cgi?id=34546
+
+ * manual-tests/drag-image-table-part-decorations.html:
+ * rendering/RenderTableCell.cpp:
+ (WebCore::RenderTableCell::paint): Don’t paint collapsed borders if this object shouldn’t
+ paint within the current painting root.
+
+2010-02-08 Jon Honeycutt <jhoneycutt@apple.com>
+
+ <rdar://problem/7436875> Crash in Flash when visiting
+ http://www.cctv.com/default.shtml (WER ID 819298200) [watson 2502260]
+
+ Reviewed by Darin Adler.
+
+ Test: platform/win/plugins/plugin-delayed-destroy.html
+
+ * bridge/NP_jsobject.cpp:
+ (_NPN_Evaluate):
+ If Flash calls this to evaluate a script that destroys the PluginView,
+ we crash when returning to Flash code. Before evaluating the script,
+ call PluginView::keepAlive() to hold a ref to this instance (and release
+ it asynchronously).
+
+ * plugins/PluginView.cpp:
+ (WebCore::instanceMap):
+ Return a map from the NPP to the PluginView.
+ (WebCore::PluginView::~PluginView):
+ Assert that the keep alive timer is not running; remove ourselves from
+ the instance map.
+ (WebCore::PluginView::performRequest):
+ The parent Frame is now a RefPtr; use .get().
+ (WebCore::PluginView::status):
+ Ditto.
+ (WebCore::PluginView::didReceiveResponse):
+ Ditto.
+ (WebCore::PluginView::PluginView):
+ Add the view to the instance map.
+ (WebCore::PluginView::lifeSupportTimerFired):
+ Deref the PluginView.
+ (WebCore::PluginView::keepAlive):
+ Ref the PluginView, then start a time to release the reference
+ asynchronously.
+ (WebCore::PluginView::keepAlive):
+ Find the PluginView in the map, and call its keepAlive() function.
+
+ * plugins/PluginView.h:
+ Made m_parentFrame a RefPtr, so that it will remain valid when the
+ keep alive timer fires.
+ (WebCore::PluginView::parentFrame):
+ Use .get().
+
+ * plugins/gtk/PluginViewGtk.cpp:
+ (WebCore::PluginView::updatePluginWidget):
+ Use .get().
+ (WebCore::PluginView::handleKeyboardEvent):
+ Use .get().
+ (WebCore::PluginView::handleMouseEvent):
+ Use .get().
+
+ * plugins/PluginViewNone.cpp:
+ (WebCore::PluginView::keepAlive):
+ Stubbed.
+
+2010-02-10 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Support frameset flattening
+ https://bugs.webkit.org/show_bug.cgi?id=32717
+
+ Add support for enabling/disabling FrameSet Flattening on the Mac port.
+
+ * WebCore.base.exp:
+
+2010-02-10 Jeremy Orlow <jorlow@chromium.org>
+
+ Revert 54599 because it breaks a lot of tests on Windows Chrome
+
+ * inspector/front-end/DOMAgent.js:
+ (WebInspector.DOMNode.prototype._insertChild):
+ * inspector/front-end/ElementsPanel.js:
+ (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
+ (WebInspector.ElementsTreeElement):
+ (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
+ (WebInspector.ElementsTreeElement.prototype._updateChildren):
+ ():
+ * inspector/front-end/inspector.css:
+
+2010-02-10 Adam Roben <aroben@apple.com>
+
+ Fix bad paths in WebCore.vcproj
+
+ These were harmless in VS2005, but cause project conversion errors in
+ VS2010 RC.
+
+ Fixes <http://webkit.org/b/34801>.
+
+ Reviewed by Dan Bernstein.
+
+ * WebCore.vcproj/WebCore.vcproj: Removed leading "." from paths to
+ JSHTMLFrameSetElement.{cpp,h}.
+
+2010-02-10 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Not reviewed (build fix).
+
+ * platform/graphics/win/FontCacheWin.cpp:
+ (WebCore::FontCache::getLastResortFallbackFont): Return a
+ SimpleFontData here.
+
+2010-02-10 Julien Chaffraix <jchaffraix@pleyo.com>
+
+ Reviewed by Eric Seidel.
+
+ Bug 23287 - Avoid using FontPlatformData outside the FontCache
+
+ No functional change, only refactored the code using FontPlatformData to use SimpleFontData.
+
+ This change leaves the class FontCached as it needs some thoughts and more refactoring.
+
+ * css/CSSFontFaceSource.cpp:
+ (WebCore::CSSFontFaceSource::getFontData): Call getCachedFontData with the 2 parameters directly.
+ * css/CSSFontSelector.cpp:
+ (WebCore::fontDataForGenericFamily): Ditto.
+ * platform/graphics/FontCache.cpp:
+ (WebCore::FontCache::getCachedFontData): This method is meant to replace getCachedFontPlatformData
+ that was moved in the private section of the class. It calls getCachedFontPlatformData and cache
+ the returned FontPlatformData if it is not null.
+ (WebCore::FontCache::getFontData): Updated to use the new getCachedFontData.
+ * platform/graphics/FontCache.h: Updated several methods to return a SimpleFontData in lieu of a
+ FontPlatformData. Moved some method in the private sections.
+
+ * platform/graphics/chromium/FontCacheChromiumWin.cpp:
+ (WebCore::FontCache::getSimilarFontPlatformData):
+ (WebCore::FontCache::getLastResortFallbackFont):
+ * platform/graphics/chromium/FontCacheLinux.cpp:
+ (WebCore::FontCache::getSimilarFontPlatformData):
+ (WebCore::FontCache::getLastResortFallbackFont):
+ * platform/graphics/gtk/FontCacheGtk.cpp:
+ (WebCore::FontCache::getSimilarFontPlatformData):
+ (WebCore::FontCache::getLastResortFallbackFont):
+ * platform/graphics/haiku/FontCacheHaiku.cpp:
+ (WebCore::FontCache::getSimilarFontPlatformData):
+ (WebCore::FontCache::getLastResortFallbackFont):
+ * platform/graphics/qt/FontCacheQt.cpp:
+ (WebCore::FontCache::getLastResortFallbackFont):
+ * platform/graphics/win/FontCacheWin.cpp:
+ (WebCore::FontCache::getSimilarFontPlatformData):
+ (WebCore::FontCache::getLastResortFallbackFont):
+ * platform/graphics/wince/FontCacheWince.cpp:
+ * platform/graphics/wx/FontCacheWx.cpp:
+ (WebCore::FontCache::getSimilarFontPlatformData):
+ (WebCore::FontCache::getLastResortFallbackFont):
+ Updated all the previous platform methods to return a SimpleFontData.
+
+ * platform/graphics/mac/FontCacheMac.mm:
+ (WebCore::FontCache::getSimilarFontPlatformData): Updated to return a SimpleFontData.
+ (WebCore::FontCache::getLastResortFallbackFont): Ditto. Also refactored the code
+ and moved a DEFINE_STATIC_LOCAL where it is needed.
+
+2010-02-10 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Elements Panel: Limit the number of initially loaded element children
+ https://bugs.webkit.org/show_bug.cgi?id=34421
+
+ Test: inspector/elements-panel-limited-children.html
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/DOMAgent.js:
+ (WebInspector.DOMNode.prototype._insertChild):
+ * inspector/front-end/ElementsPanel.js:
+ (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeOutline.prototype.createTreeElementFor):
+ (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
+ (WebInspector.ElementsTreeElement):
+ (WebInspector.ElementsTreeElement.prototype.get expandedChildrenLimit):
+ (WebInspector.ElementsTreeElement.prototype.set expandedChildrenLimit):
+ (WebInspector.ElementsTreeElement.prototype.get expandedChildCount):
+ (WebInspector.ElementsTreeElement.prototype.showChild):
+ (WebInspector.ElementsTreeElement.prototype.insertChildElement):
+ (WebInspector.ElementsTreeElement.prototype.moveChild):
+ (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
+ (WebInspector.ElementsTreeElement.prototype._updateChildren):
+ (WebInspector.ElementsTreeElement.prototype.adjustCollapsedRange):
+ (WebInspector.ElementsTreeElement.prototype.handleLoadAllChildren):
+ ():
+ * inspector/front-end/inspector.css:
+
+2010-02-10 Mikhail Naganov <mnaganov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Remove several #if USE(JSC) branches. Introduce ScriptDebugServer class for
+ making JavaScriptDebugServer engine-agnostic.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34795
+
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSBindingsAllInOne.cpp:
+ * bindings/js/ScriptDebugServer.cpp: Added.
+ (WebCore::ScriptDebugServer::recompileAllJSFunctions):
+ (WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon):
+ * bindings/js/ScriptDebugServer.h: Added.
+ * bindings/v8/ScriptDebugServer.cpp: Added.
+ (WebCore::ScriptDebugServer::recompileAllJSFunctions):
+ (WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon):
+ * bindings/v8/ScriptDebugServer.h: Added.
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::startUserInitiatedProfiling):
+ (WebCore::InspectorController::enableProfiler):
+ (WebCore::InspectorController::disableProfiler):
+ * page/Console.cpp:
+ (WebCore::Console::profile):
+ (WebCore::Console::profileEnd):
+
+2009-10-06 Yongjun Zhang <yongjun.zhang@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Make JObjectWrapper::ref() and deref() public accessible to derefIfNull().
+
+ Will be reverted when the following winscw compiler bug is fixed.
+ https://xdabug001.ext.nokia.com/bugzilla/show_bug.cgi?id=9812
+
+ https://bugs.webkit.org/show_bug.cgi?id=28054
+
+ * bridge/jni/jsc/JavaInstanceJSC.h:
+ * bridge/jni/v8/JavaInstanceV8.h:
+
+2010-02-10 Yaar Schnitman <yaar@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Simplified RuntimeEnabledFeatures and corresponding v8 generated code
+ https://bugs.webkit.org/show_bug.cgi?id=34667
+
+ * WebCore.gypi:
+ * bindings/generic/RuntimeEnabledFeatures.cpp: Added.
+ (WebCore::RuntimeEnabledFeatures::audioEnabled):
+ (WebCore::RuntimeEnabledFeatures::htmlMediaElementEnabled):
+ (WebCore::RuntimeEnabledFeatures::htmlAudioElementEnabled):
+ (WebCore::RuntimeEnabledFeatures::htmlVideoElementEnabled):
+ (WebCore::RuntimeEnabledFeatures::mediaErrorEnabled):
+ (WebCore::RuntimeEnabledFeatures::sharedWorkerEnabled):
+ (WebCore::RuntimeEnabledFeatures::webSocketEnabled):
+ (WebCore::RuntimeEnabledFeatures::openDatabaseEnabled):
+ * bindings/generic/RuntimeEnabledFeatures.h: Added.
+ (WebCore::RuntimeEnabledFeatures::setLocalStorageEnabled):
+ (WebCore::RuntimeEnabledFeatures::localStorageEnabled):
+ (WebCore::RuntimeEnabledFeatures::setSessionStorageEnabled):
+ (WebCore::RuntimeEnabledFeatures::sessionStorageEnabled):
+ (WebCore::RuntimeEnabledFeatures::setWebkitNotificationsEnabled):
+ (WebCore::RuntimeEnabledFeatures::webkitNotificationsEnabled):
+ (WebCore::RuntimeEnabledFeatures::setApplicationCacheEnabled):
+ (WebCore::RuntimeEnabledFeatures::applicationCacheEnabled):
+ (WebCore::RuntimeEnabledFeatures::setGeolocationEnabled):
+ (WebCore::RuntimeEnabledFeatures::geolocationEnabled):
+ (WebCore::RuntimeEnabledFeatures::setIndexedDBEnabled):
+ (WebCore::RuntimeEnabledFeatures::indexedDBEnabled):
+ (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
+ * bindings/scripts/CodeGenerator.pm:
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/RuntimeEnabledFeatures.cpp: Removed.
+ * bindings/v8/RuntimeEnabledFeatures.h: Removed.
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ * bindings/v8/custom/V8NavigatorCustom.cpp:
+ * bindings/v8/custom/V8WorkerContextCustom.cpp:
+
+2010-02-09 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Add two basic categories for the Audits panel
+ https://bugs.webkit.org/show_bug.cgi?id=32930
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/front-end/AuditCategories.js: Added.
+ (WebInspector.AuditCategories.PagePerformance):
+ (WebInspector.AuditCategories.PagePerformance.prototype.initialize):
+ (WebInspector.AuditCategories.NetworkUtilization):
+ (WebInspector.AuditCategories.NetworkUtilization.prototype.initialize):
+ * inspector/front-end/AuditLauncherView.js:
+ (WebInspector.AuditLauncherView.prototype.updateResourceTrackingState):
+ (WebInspector.AuditLauncherView.prototype._createLauncherUI):
+ (WebInspector.AuditLauncherView.prototype.show):
+ * inspector/front-end/AuditRules.js: Added.
+ (WebInspector.AuditRules.arrayAsUL):
+ (WebInspector.AuditRules.getDomainToResourcesMap):
+ (WebInspector.AuditRules.evaluateInTargetWindow):
+ (WebInspector.AuditRules.GzipRule):
+ (WebInspector.AuditRules.GzipRule.prototype.doRun):
+ (WebInspector.AuditRules.GzipRule.prototype._isCompressed):
+ (WebInspector.AuditRules.GzipRule.prototype._shouldCompress):
+ (WebInspector.AuditRules.CombineExternalResourcesRule):
+ (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
+ (WebInspector.AuditRules.CombineJsResourcesRule):
+ (WebInspector.AuditRules.CombineCssResourcesRule):
+ (WebInspector.AuditRules.MinimizeDnsLookupsRule):
+ (WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype.doRun):
+ (WebInspector.AuditRules.ParallelizeDownloadRule):
+ (WebInspector.AuditRules.ParallelizeDownloadRule.prototype.doRun):
+ (WebInspector.AuditRules.UnusedCssRule):
+ (WebInspector.AuditRules.UnusedCssRule.prototype._getUnusedStylesheetRatioMessage):
+ (WebInspector.AuditRules.UnusedCssRule.prototype._getUnusedTotalRatioMessage):
+ (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
+ (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.routine):
+ (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
+ (WebInspector.AuditRules.CacheControlRule):
+ (WebInspector.AuditRules.CacheControlRule.prototype.InfoCheck.1.FailCheck.0.WarningCheck.1.SevereCheck.2.doRun):
+ (WebInspector.AuditRules.CacheControlRule.prototype.handleNonCacheableResources):
+ (WebInspector.AuditRules.CacheControlRule.prototype._cacheableAndNonCacheableResources):
+ (WebInspector.AuditRules.CacheControlRule.prototype.execCheck):
+ (WebInspector.AuditRules.CacheControlRule.prototype.freshnessLifetimeGreaterThan):
+ (WebInspector.AuditRules.CacheControlRule.prototype.responseHeader):
+ (WebInspector.AuditRules.CacheControlRule.prototype.hasResponseHeader):
+ (WebInspector.AuditRules.CacheControlRule.prototype.isCompressible):
+ (WebInspector.AuditRules.CacheControlRule.prototype.isPubliclyCacheable):
+ (WebInspector.AuditRules.CacheControlRule.prototype.responseHeaderMatch):
+ (WebInspector.AuditRules.CacheControlRule.prototype.hasExplicitExpiration):
+ (WebInspector.AuditRules.CacheControlRule.prototype._isExplicitlyNonCacheable):
+ (WebInspector.AuditRules.CacheControlRule.prototype.isCacheableResource):
+ (WebInspector.AuditRules.BrowserCacheControlRule):
+ (WebInspector.AuditRules.BrowserCacheControlRule.prototype.handleNonCacheableResources):
+ (WebInspector.AuditRules.BrowserCacheControlRule.prototype.runChecks):
+ (WebInspector.AuditRules.BrowserCacheControlRule.prototype._missingExpirationCheck):
+ (WebInspector.AuditRules.BrowserCacheControlRule.prototype._varyCheck):
+ (WebInspector.AuditRules.BrowserCacheControlRule.prototype._oneMonthExpirationCheck):
+ (WebInspector.AuditRules.BrowserCacheControlRule.prototype._oneYearExpirationCheck):
+ (WebInspector.AuditRules.ProxyCacheControlRule):
+ (WebInspector.AuditRules.ProxyCacheControlRule.prototype.runChecks):
+ (WebInspector.AuditRules.ProxyCacheControlRule.prototype._questionMarkCheck):
+ (WebInspector.AuditRules.ProxyCacheControlRule.prototype._publicCachingCheck):
+ (WebInspector.AuditRules.ProxyCacheControlRule.prototype._setCookieCacheableCheck):
+ (WebInspector.AuditRules.ImageDimensionsRule):
+ (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
+ (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.routine.hasDimension):
+ (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.routine.hasWidth):
+ (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.routine.hasHeight):
+ (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.routine):
+ (WebInspector.AuditRules.CssInHeadRule):
+ (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
+ (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.routine.allViews):
+ (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.routine):
+ (WebInspector.AuditRules.StylesScriptsOrderRule):
+ (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
+ (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.routine):
+ (WebInspector.AuditRules.CookieRuleBase):
+ (WebInspector.AuditRules.CookieRuleBase.prototype.doRun.resultCallback):
+ (WebInspector.AuditRules.CookieRuleBase.prototype.doRun):
+ (WebInspector.AuditRules.CookieRuleBase.prototype.mapResourceCookies):
+ (WebInspector.AuditRules.CookieRuleBase.prototype._callbackForResourceCookiePairs):
+ (WebInspector.AuditRules.CookieSizeRule):
+ (WebInspector.AuditRules.CookieSizeRule.prototype._average):
+ (WebInspector.AuditRules.CookieSizeRule.prototype._max):
+ (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
+ (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies.avgSizeSorter):
+ (WebInspector.AuditRules.StaticCookielessRule):
+ (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
+ (WebInspector.AuditRules.StaticCookielessRule.prototype._collectorCallback):
+ * inspector/front-end/AuditsPanel.js:
+ (WebInspector.AuditsPanel.prototype._constructCategories):
+ (WebInspector.AuditsPanel.prototype._reloadResources):
+ (WebInspector.AuditsPanel.prototype.show):
+ (WebInspector.AuditsPanel.prototype._updateLauncherViewControls):
+ (WebInspector.AuditCategory):
+ (WebInspector.AuditCategory.prototype.get id):
+ (WebInspector.AuditCategory.prototype.get ruleCount):
+ (WebInspector.AuditCategory.prototype.runRules):
+ (WebInspector.AuditCategory.prototype._ensureInitialized):
+ (WebInspector.AuditCategoryResult):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/audits.css:
+ * inspector/front-end/inspector.html:
+ * inspector/front-end/inspector.js:
+ (WebInspector.loaded):
+ (WebInspector.addPanelToolbarIcon):
+ (WebInspector.documentKeyDown):
+
+2010-02-10 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Freeze sandbox attributes on creation
+ https://bugs.webkit.org/show_bug.cgi?id=34184
+
+ This is how the spec works now.
+
+ Test: fast/frames/sandboxed-iframe-forms-dynamic.html
+
+ * bindings/ScriptControllerBase.cpp:
+ (WebCore::ScriptController::canExecuteScripts):
+ * bindings/generic/BindingDOMWindow.h:
+ (WebCore::::createWindow):
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::createWindow):
+ * dom/Document.cpp:
+ * dom/Document.h:
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::submitForm):
+ (WebCore::FrameLoader::requestObject):
+ (WebCore::FrameLoader::shouldAllowNavigation):
+ (WebCore::FrameLoader::updateSandboxFlags):
+ * page/SecurityOrigin.cpp:
+ * page/SecurityOrigin.h:
+
+2010-02-09 Ariya Hidayat <ariya.hidayat@gmail.com>
+
+ Rubber-stamped by Kenneth Rohde Christiansen.
+
+ [Qt] Remove old, outdated unused code block.
+
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+
+2010-02-09 Chris Guillory <ctguil@google.com>
+
+ Reviewed by Darin Fisher.
+
+ [Chromium] Notify ChromeClientChromium of state change notifications.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34464
+
+ * accessibility/chromium/AXObjectCacheChromium.cpp:
+ (WebCore::toChromeClientChromium):
+ (WebCore::AXObjectCache::postPlatformNotification):
+ * page/chromium/ChromeClientChromium.h:
+
+2010-02-09 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Adam Barth.
+
+ [BREWMP] Port PlatformMouseEvent
+ https://bugs.webkit.org/show_bug.cgi?id=34600
+
+ Retrieve the event type, position, key modifiers, time stamp
+ and click count from AEEEvent.
+
+ * platform/PlatformMouseEvent.h:
+ * platform/brew/PlatformMouseEventBrew.cpp: Added.
+ (WebCore::PlatformMouseEvent::PlatformMouseEvent):
+
+2010-02-09 Avi Drissman <avi@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ [Chromium] RenderTheme does not draw focus rings on SL for checkboxes, radio buttons
+ https://bugs.webkit.org/show_bug.cgi?id=34544
+
+ Covered by layout tests when run on SL.
+
+ * platform/chromium/ThemeChromiumMac.mm:
+ (-[TCMVisibleView _focusRingVisibleRect]):
+ (-[TCMVisibleView _focusRingClipAncestor]):
+ (FocusIndicationFix::currentOSHasSetFocusRingStyleInBitmapBug):
+ (FocusIndicationFix::swizzleFocusView):
+ (FocusIndicationFix::ScopedFixer::ScopedFixer):
+ (FocusIndicationFix::ScopedFixer::~ScopedFixer):
+ (+[NSView TCMInterposing_focusView]):
+ (WebCore::paintCheckbox):
+ (WebCore::paintRadio):
+ (WebCore::paintButton):
+
+2010-02-09 Anton Muhin <antonm@chromium.org>
+
+ Reviewed by Nate Chapin.
+
+ [v8] Check if returned wrapper is empty before operating on it.
+ https://bugs.webkit.org/show_bug.cgi?id=34746
+
+ * bindings/v8/custom/V8DocumentCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8SVGDocumentCustom.cpp:
+ (WebCore::toV8):
+
+2010-02-09 Mikhail Naganov <mnaganov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Continuing debugger and profiler unforking: narrow scope of JSC-specific ifdefs.
+ Also, enable JAVASCRIPT_DEBUGGER explicitly in features, it appears to be required
+ for really enabling it in V8 bindings generation.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34706
+
+ * inspector/InjectedScriptHost.idl:
+ * inspector/InspectorBackend.cpp:
+ (WebCore::InspectorBackend::currentCallFrame):
+ (WebCore::InspectorBackend::getProfile):
+ * inspector/InspectorBackend.h:
+ * inspector/InspectorBackend.idl:
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::InspectorController):
+ (WebCore::InspectorController::addProfile):
+ (WebCore::InspectorController::getProfile):
+ (WebCore::InspectorController::startUserInitiatedProfiling):
+ (WebCore::InspectorController::stopUserInitiatedProfiling):
+ (WebCore::InspectorController::enableProfiler):
+ (WebCore::InspectorController::disableProfiler):
+ * inspector/InspectorController.h:
+ * inspector/InspectorFrontend.cpp:
+ (WebCore::InspectorFrontend::pausedScript):
+ (WebCore::InspectorFrontend::resumedScript):
+ (WebCore::InspectorFrontend::profilerWasEnabled):
+ (WebCore::InspectorFrontend::profilerWasDisabled):
+ (WebCore::InspectorFrontend::didGetProfile):
+ * inspector/InspectorFrontend.h:
+ * page/Console.idl:
+
+2010-02-09 Gavin Barraclough <barraclough@apple.com>
+
+ Rubber Stamped by Geoff Garen.
+
+ Rename StringBuilder::release && JSStringBuilder::releaseJSString
+ to 'build()'.
+
+ * bindings/js/ScriptString.h:
+ (WebCore::ScriptString::operator+=):
+
+2010-02-09 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ <rdar://problem/7400160> Netscape plug-ins are not instantiated on property access if there are pending stylesheets
+ https://bugs.webkit.org/show_bug.cgi?id=34776
+
+ Tests: plugins/instance-available-before-stylesheets-loaded-object.html
+ plugins/instance-available-before-stylesheets-loaded.html
+
+ * html/HTMLEmbedElement.cpp:
+ (WebCore::HTMLEmbedElement::renderWidgetForJSBindings): Call
+ updateLayoutIgnorePendingStylesheets() before checking for a renderer.
+ * html/HTMLObjectElement.cpp:
+ (WebCore::HTMLObjectElement::renderWidgetForJSBindings): Ditto.
+
+2010-02-09 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Darin Adler.
+
+ Problems navigating by caret in links whose text wraps onto
+ subsequent lines.
+ https://bugs.webkit.org/show_bug.cgi?id=25676
+
+ We should not search ahead if we are not in the last element.
+
+ * dom/Position.cpp:
+
+2010-02-09 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ More optimization for AffineTransform with SVG
+ https://bugs.webkit.org/show_bug.cgi?id=34774
+
+ Some optimizations to safe unnecessary summations and multiplications.
+ Optimize AffineTransform to handle an identity or translation matrix
+ more efficient.
+ Added translationRight to avoid multiplications of matrices as much as
+ possible.
+
+ No tests added, no change of functionality.
+
+ * platform/graphics/transforms/AffineTransform.cpp:
+ (WebCore::AffineTransform::inverse):
+ (WebCore::AffineTransform::translate):
+ (WebCore::AffineTransform::translateRight):
+ * platform/graphics/transforms/AffineTransform.h:
+ * rendering/RenderForeignObject.cpp:
+ (WebCore::RenderForeignObject::translationForAttributes):
+ (WebCore::RenderForeignObject::localToParentTransform):
+ * rendering/RenderForeignObject.h:
+ * rendering/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::localToBorderBoxTransform):
+ (WebCore::RenderSVGRoot::localToRepaintContainerTransform):
+ (WebCore::RenderSVGRoot::localToParentTransform):
+ * rendering/RenderSVGViewportContainer.cpp:
+ (WebCore::RenderSVGViewportContainer::localToParentTransform):
+ * rendering/SVGRootInlineBox.cpp:
+ (WebCore::applyTextLengthCorrectionToTextChunk):
+
+2010-02-09 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ SVG patterns with some scale patternTransform are not displayed correctly for small elements
+ https://bugs.webkit.org/show_bug.cgi?id=25484
+
+ SVG Pattern size was clipped to the size of the target, if the pattern is bigger than the target. This
+ causes problems, if the patternTransform scales the pattern. This patch deletes the clipping.
+
+ Tests: svg/custom/pattern-excessive-malloc.svg
+ svg/custom/pattern-size-bigger-than-target-size.svg
+ svg/custom/pattern-skew-transformed.svg
+
+ * svg/SVGPatternElement.cpp:
+ (WebCore::SVGPatternElement::buildPattern):
+
+2010-02-09 Darin Adler <darin@apple.com>
+
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::styleDidChange): Fixed typo in comment.
+
+2010-02-09 MORITA Hajime <morrita@gmail.com>
+
+ Reviewed by Nikolas Zimmermann.
+
+ SVG selection text foreground colour does not respect user settings
+ https://bugs.webkit.org/show_bug.cgi?id=15997
+
+ Add two subphases SVGTextPaintSubphaseGlyphFillSelection and
+ SVGTextPaintSubphaseGlyphStrokeSelection for painting selected
+ text on SVG. Selected texts are painted with style from
+ getCachedPseudoStyle() instead of style().
+
+ Tests: svg/text/selection-styles.xhtml
+
+ * rendering/SVGCharacterLayoutInfo.h:
+ (WebCore::SVGTextChunkWalker::SVGTextChunkWalker):
+ (WebCore::SVGTextChunkWalker::setupFillSelection):
+ (WebCore::SVGTextChunkWalker::setupStrokeSelection):
+ * rendering/SVGRootInlineBox.cpp:
+ (WebCore::SVGRootInlineBoxPaintWalker::mayHaveSelection):
+ (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupFillSelectionCallback):
+ (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupStrokeSelectionCallback):
+ (WebCore::SVGRootInlineBoxPaintWalker::activePaintServer):
+ (WebCore::SVGRootInlineBox::paint):
+ (WebCore::SVGRootInlineBox::walkTextChunks):
+ * rendering/SVGInlineTextBox.h:
+ (WebCore::):
+ Add callback hooks and its implementation for handle new
+ subphases.
+
+ * rendering/SVGInlineTextBox.cpp:
+ (WebCore::SVGInlineTextBox::chunkSelectionStartEnd):
+ (WebCore::SVGInlineTextBox::paintCharacters):
+ Split box text into selected part and non-selected part, and use
+ separate subphases to paint them.
+
+ * svg/SVGFont.cpp:
+ (WebCore::SVGTextRunWalker::walk):
+ Relax ASSERT() condition to accept a part of text.
+
+ * svg/graphics/SVGPaintServer.cpp:
+ (WebCore::applyStrokeStyleToContext):
+ (WebCore::SVGPaintServer::setup):
+ * svg/graphics/SVGPaintServer.h:
+ * svg/graphics/SVGPaintServerGradient.cpp:
+ (WebCore::SVGPaintServerGradient::setup):
+ * svg/graphics/SVGPaintServerGradient.h:
+ * svg/graphics/SVGPaintServerPattern.cpp:
+ (WebCore::SVGPaintServerPattern::setup):
+ * svg/graphics/SVGPaintServerPattern.h:
+ * svg/graphics/SVGPaintServerSolid.cpp:
+ (WebCore::SVGPaintServerSolid::setup):
+ * svg/graphics/SVGPaintServerSolid.h:
+ Change setup() signature to accept RenderStyle instead of always
+ using RenderObject::style().
+
+2010-02-09 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Reviewed by Dirk Schulze.
+
+ No scroll bars are displayed for standalone SVG image
+ https://bugs.webkit.org/show_bug.cgi?id=11225
+
+ Height and width defined for svg element are not honored
+ https://bugs.webkit.org/show_bug.cgi?id=24033
+
+ SVG file does not pan and has no scroll bars
+ https://bugs.webkit.org/show_bug.cgi?id=24448
+
+ Adapt to SVG 1.1 errata to change the overflow handling:
+ Replace "svg { overflow: hidden }" by "svg:not(:root) { overflow: hidden }" to allow standalone SVG documents to contain scrolllbars.
+ Agreed by SVG WG to make this the default behaviour, already implemented by Opera & FireFox (partial support).
+
+ Add new tests in svg/overflow covering all special SVG css overflow handling rules on inner/outer svg elements.
+
+ Tests: svg/overflow/overflow-on-inner-svg-element-defaults.svg
+ svg/overflow/overflow-on-inner-svg-element.svg
+ svg/overflow/overflow-on-outermost-svg-element-defaults.svg
+ svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-1.svg
+ svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-2.svg
+ svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-3.svg
+ svg/overflow/overflow-on-outermost-svg-element-in-xhtml-auto.xhtml
+ svg/overflow/overflow-on-outermost-svg-element-in-xhtml-defaults.xhtml
+ svg/overflow/overflow-on-outermost-svg-element-in-xhtml-hidden.xhtml
+ svg/overflow/overflow-on-outermost-svg-element-in-xhtml-scroll.xhtml
+ svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible.xhtml
+
+ * css/svg.css: Change default <svg> overflow rule to only apply to inner <svg> elements.
+ * page/FrameView.cpp:
+ (WebCore::FrameView::layout): Only apply overflow rules for non-standalone SVG documents.
+ * rendering/RenderSVGRoot.cpp: Remove all calls to isOverflowHidden - it's always the case for the outermost SVG element, see spec + errata.
+ (WebCore::RenderSVGRoot::paint): Always clip to initial viewport size.
+ (WebCore::RenderSVGRoot::computeRectForRepaint): Ditto.
+ (WebCore::RenderSVGRoot::nodeAtPoint): Simplify.
+ * rendering/RenderSVGViewportContainer.cpp:
+ (WebCore::RenderSVGViewportContainer::applyViewportClip): Use isOverflowHidden() instead of a manual oveflow query and clip in float precision.
+ * rendering/SVGRenderSupport.cpp:
+ (WebCore::SVGRenderBase::isOverflowHidden): Simplify implementation, assure the function is not called anymore for RenderSVGRoot objects.
+
+2010-02-09 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Port KURL::fileSystemPath
+ https://bugs.webkit.org/show_bug.cgi?id=34516
+
+ Convert a file URL to a file path by prefixing
+ AEEFS_HOME_DIR to access files relative to the current
+ module directory in a case-sensitive manner.
+
+ As IWeb "file:" engine opens files in BREW's application-relative
+ file namespace, we follow the same policy here.
+
+ * platform/brew/KURLBrew.cpp: Added.
+ (WebCore::KURL::fileSystemPath):
+
+2010-02-09 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] the above website does not render properly when in compositing mode
+ https://bugs.webkit.org/show_bug.cgi?id=34681
+
+ http://media.24ways.org/2009/15/spinner-alt.html now renders correctly
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::MaskEffectQt::MaskEffectQt): implement mask as
+ QGraphicsEffect
+ (WebCore::MaskEffectQt::draw): reimp
+ (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl): init the effect
+ (WebCore::GraphicsLayerQtImpl::paint): no need for drawContents
+ (WebCore::GraphicsLayerQtImpl::flushChanges): make sure to update the
+ mask layer, not just the actual children
+
+2010-02-09 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Laszlo Gombos.
+
+ [BREWMP] Fix macro redefinition error in BREWMP simulator build.
+ https://bugs.webkit.org/show_bug.cgi?id=34738
+
+ Remove warning: 'FAR' macro redefinition.
+
+ * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
+
+2010-02-07 Yuzo Fujishima <yuzo@google.com>
+
+ Reviewed by Dan Bernstein.
+
+ Fix the following bugs:
+ https://bugs.webkit.org/show_bug.cgi?id=18926 - dt:after generate a line break. Boost documentation page renders poorly
+ https://bugs.webkit.org/show_bug.cgi?id=7276 - Most W3C padding related tests fail
+
+ Tests: fast/css/inline-element-line-break.html
+ fast/css/pseudo-element-line-break.html
+
+ findNextLineBreak() unconditionally allowed lines to break between elements when no other line breaking opportunity had been found,
+ but that was unnecessary and led to incorrect layout. Disallow that kind of line breaks.
+
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::findNextLineBreak):
+
+2010-02-09 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Provide a way to get total number of pages to be printed
+ https://bugs.webkit.org/show_bug.cgi?id=34699
+
+ Test: printing/numberOfPages.html
+
+ * WebCore.base.exp:
+ * page/PrintContext.cpp:
+ (WebCore::PrintContext::pageNumberForElement):
+ (WebCore::PrintContext::numberOfPages):
+ * page/PrintContext.h:
+ (WebCore::PrintContext::pageRects):
+
+2010-02-08 Dominic Cooney <dominicc@google.com>
+
+ Reviewed by Adam Barth.
+
+ [V8] Move Element custom methods into generic bindings
+
+ This patch moves the security checks in setAttribute,
+ setAttributeNode, setAttributeNS and setAttributeNodeNS from
+ V8ElementCustom into the generic bindings so that they can be
+ reused in other bindings. This is in a similar vein to
+ <https://bugs.webkit.org/attachment.cgi?id=45872>.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34554
+
+ LayoutTests: None
+
+ * WebCore.gypi:
+ * bindings/generic/BindingElement.h: Added.
+ (WebCore::::setAttribute):
+ (WebCore::::setAttributeNode):
+ (WebCore::::setAttributeNS):
+ (WebCore::::setAttributeNodeNS):
+ * bindings/v8/V8Binding.h:
+ * bindings/v8/custom/V8ElementCustom.cpp:
+ (WebCore::V8Element::setAttributeCallback):
+ (WebCore::V8Element::setAttributeNodeCallback):
+ (WebCore::V8Element::setAttributeNSCallback):
+ (WebCore::V8Element::setAttributeNodeNSCallback):
+
+2010-02-08 Hayato Ito <hayato@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Schedule a loading request when there are many in-flight requests beyond
+ the limit to avoid forever page loading.
+
+ https://bugs.webkit.org/show_bug.cgi?id=31227
+
+ Test: http/tests/loading/load-javascript-after-many-xhrs.html
+
+ * loader/loader.cpp:
+ (WebCore::Loader::Host::servePendingRequests):
+
+2010-02-08 David Levin <levin@chromium.org>
+
+ Reviewed by Gavin Barraclough.
+
+ REGRESSION (before r54472): Various tests in fast/workers are crashing on the buildbot.
+ https://bugs.webkit.org/show_bug.cgi?id=34728
+
+ The core part of the fix is to change WebCoreJSClientData::m_normalWorld
+ from DOMWrapperWorld to RefPtr<DOMWrapperWorld> so that the DOMWrapperWorld
+ is really ref counted.
+
+ No new tests because current tests sufficiently cover this as evidenced as
+ the buildbot crashes.
+
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::DOMWrapperWorld::~DOMWrapperWorld): Made this robust to m_globalData
+ being 0.
+ * bindings/js/JSDOMBinding.h:
+ (WebCore::DOMWrapperWorld::create): Made this class follow the standard
+ create pattern for RefCounted classes.
+ (WebCore::DOMWrapperWorld::detachFromGlobalData): Since this class can
+ now outlive JSGlobalData, this method tells it to stop using its JSGlobalData.
+ (WebCore::WebCoreJSClientData::WebCoreJSClientData): Adjusted due to
+ m_normalWorld being a RefPtr.
+ (WebCore::WebCoreJSClientData::~WebCoreJSClientData): Ditto (and added
+ asserts for the FIXME).
+ (WebCore::WebCoreJSClientData::normalWorld): Ditto.
+ * bindings/js/ScriptController.cpp:
+ (WebCore::IsolatedWorld::create): Made the constructor protected.
+ (WebCore::IsolatedWorld::IsolatedWorld): Made the constructor protected, so
+ that code would have to use the create method.
+
+2010-02-08 Kinuko Yasuda <kinuko@chromium.org>
+
+ Reviewed by David Levin.
+
+ Remove special utf-8 tag from Chromium cilpboard code because
+ we now have the corresponding code in generic clipboard framework
+ code in chromium (since it's needed by other places than in Web
+ page rendering) and no longer need the separate workaround code in
+ WebKit.
+ https://bugs.webkit.org/show_bug.cgi?id=34567
+
+ Test: (for regression) editing/pasteboard
+
+ * platform/chromium/ClipboardChromium.cpp:
+ (WebCore::ClipboardChromium::writeRange):
+ * platform/chromium/PasteboardChromium.cpp:
+ (WebCore::Pasteboard::writeSelection):
+ (WebCore::Pasteboard::documentFragment):
+
+2010-02-08 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Crash due to layout not done in case involving removal of absolute positioning
+ https://bugs.webkit.org/show_bug.cgi?id=34734
+ rdar://problem/7588280
+
+ Test: fast/dynamic/position-change-layout.html
+
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::styleDidChange): Call markContainingBlocksForLayout in
+ a case where the object already needs layout, but might have a new containing
+ block and so needs to mark the new containing block.
+
+2010-02-08 Charlie Reis <creis@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ onbeforeunload not called at window close + frame or iframe focused
+ https://bugs.webkit.org/show_bug.cgi?id=27481
+
+ Chromium and WebKit on Windows will now fire beforeunload handlers
+ even if an inner frame is focused.
+
+ Layout tests aren't able to test this bug, since it requires closing
+ the actual browser window, not calling window.close(). Instead,
+ test with WebCore/manual-tests/onbeforeunload-focused-iframe.html.
+
+ * manual-tests/onbeforeunload-focused-iframe.html: Added.
+ * manual-tests/resources/focused-iframe.html: Added.
+
+2010-02-08 Alexey Proskuryakov <ap@apple.com>
+
+ Addressing review feedback.
+
+ * bridge/c/c_instance.h: Removed argument name.
+
+2010-02-08 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34727
+ Assertion crashes and freezes when plug-in property access results in an exception
+
+ Test: plugins/netscape-plugin-property-access-exception.html
+
+ * bridge/c/c_instance.h: Made moveGlobalExceptionToExecState public, since it also need to
+ be called from CField.
+
+ * bridge/c/c_runtime.cpp:
+ (JSC::Bindings::CField::valueFromInstance): Call moveGlobalExceptionToExecState(). Without
+ this, not only didn't we get exceptions, but we also got an assertion failure because of
+ dangling global exception on next call into plug-in.
+ (JSC::Bindings::CField::setValueToInstance): Ditto.
+
+2010-02-08 Dirk Schulze <krit@webkit.org>
+
+ Unreviewed build fix of ChromiumWin.
+
+ * platform/graphics/chromium/TransparencyWin.cpp:
+ (WebCore::):
+ (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer):
+ (WebCore::TransparencyWin::setupTransformForKeepTransform):
+ * platform/graphics/chromium/TransparencyWin.h:
+ * rendering/RenderThemeChromiumWin.cpp:
+ (WebCore::):
+
+2010-02-05 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Jeremy Orlow.
+
+ Adding a way to get the set of all open database handles pointing
+ to a given database.
+ https://bugs.webkit.org/show_bug.cgi?id=34619
+
+ Sometimes we need to be able to close all handles to a database as
+ soon as possible (to delete the DB file, for example).
+
+ * storage/DatabaseTracker.cpp:
+ (WebCore::DatabaseTracker::getOpenDatabases):
+ * storage/DatabaseTracker.h:
+ * storage/chromium/DatabaseTrackerChromium.cpp:
+ (WebCore::DatabaseTracker::addOpenDatabase):
+ (WebCore::DatabaseTracker::removeOpenDatabase):
+ (WebCore::DatabaseTracker::getOpenDatabases):
+
+2010-02-08 Dirk Schulze <krit@webkit.org>
+
+ Unreviewed windows build-fix.
+
+ * page/win/FrameCGWin.cpp:
+ (WebCore::drawRectIntoContext):
+
+2010-02-08 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ Add back an AffineTransform class for use by SVG
+ https://bugs.webkit.org/show_bug.cgi?id=33750
+
+ This adds back AffineTransform. This saves additional 4% memory consumption
+ on the 50k rects stress test: https://bugs.webkit.org/attachment.cgi?id=46721
+ It also makes it possible to optimize the calculations internally of
+ AffineTransform to the needs of 2D transformations (the second benefit for SVG,
+ which uses transformations relative often at the moment.
+ Everything that is 2D related (like images, patterns, gradients, fonts), uses
+ AffineTransform now.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSSVGMatrixCustom.cpp:
+ (WebCore::JSSVGMatrix::multiply):
+ (WebCore::JSSVGMatrix::inverse):
+ (WebCore::JSSVGMatrix::rotateFromVector):
+ * bindings/js/JSSVGPODTypeWrapper.h:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bindings/scripts/CodeGeneratorObjC.pm:
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/V8Index.h:
+ * bindings/v8/custom/V8SVGMatrixCustom.cpp:
+ (WebCore::V8SVGMatrix::multiplyCallback):
+ (WebCore::V8SVGMatrix::inverseCallback):
+ (WebCore::V8SVGMatrix::rotateFromVectorCallback):
+ * html/HTMLCanvasElement.cpp: Changed to AffineTransform now
+ (WebCore::HTMLCanvasElement::baseTransform):
+ * html/HTMLCanvasElement.h:
+ * platform/graphics/FloatPoint.cpp:
+ (WebCore::FloatPoint::matrixTransform):
+ * platform/graphics/FloatPoint.h:
+ * platform/graphics/GeneratedImage.cpp:
+ (WebCore::GeneratedImage::drawPattern):
+ * platform/graphics/GeneratedImage.h:
+ * platform/graphics/Gradient.cpp:
+ (WebCore::Gradient::setGradientSpaceTransform):
+ (WebCore::Gradient::setPlatformGradientSpaceTransform):
+ * platform/graphics/Gradient.h:
+ (WebCore::Gradient::gradientSpaceTransform):
+ * platform/graphics/GraphicsContext.h:
+ * platform/graphics/Image.cpp:
+ (WebCore::Image::drawTiled):
+ * platform/graphics/Image.h:
+ * platform/graphics/ImageBuffer.h:
+ (WebCore::ImageBuffer::baseTransform):
+ * platform/graphics/Path.h:
+ * platform/graphics/Pattern.cpp:
+ (WebCore::Pattern::setPatternSpaceTransform):
+ * platform/graphics/Pattern.h:
+ (WebCore::Pattern::create):
+ (WebCore::Pattern::tileImage):
+ * platform/graphics/cairo/FontCairo.cpp:
+ (WebCore::Font::drawGlyphs):
+ * platform/graphics/cairo/GraphicsContextCairo.cpp:
+ (WebCore::setPlatformFill):
+ (WebCore::setPlatformStroke):
+ (WebCore::GraphicsContext::getCTM):
+ * platform/graphics/cairo/ImageCairo.cpp:
+ (WebCore::Image::drawPattern):
+ * platform/graphics/cairo/PathCairo.cpp:
+ * platform/graphics/cairo/PatternCairo.cpp:
+ (WebCore::Pattern::createPlatformPattern):
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore::GraphicsContext::getCTM):
+ * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
+ (WebCore::GraphicsContextPlatformPrivate::concatCTM):
+ * platform/graphics/cg/ImageCG.cpp:
+ (WebCore::Image::drawPattern):
+ * platform/graphics/cg/PathCG.cpp:
+ * platform/graphics/cg/PatternCG.cpp:
+ (WebCore::Pattern::createPlatformPattern):
+ * platform/graphics/haiku/GraphicsContextHaiku.cpp:
+ (WebCore::GraphicsContext::getCTM):
+ * platform/graphics/haiku/ImageHaiku.cpp:
+ (WebCore::Image::drawPattern):
+ * platform/graphics/haiku/PathHaiku.cpp:
+ * platform/graphics/qt/FontQt.cpp:
+ (WebCore::Font::drawComplexText):
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::GraphicsContext::getCTM):
+ (WebCore::GraphicsContext::fillPath):
+ (WebCore::GraphicsContext::strokePath):
+ (WebCore::GraphicsContext::fillRect):
+ * platform/graphics/qt/ImageQt.cpp:
+ (WebCore::Image::drawPattern):
+ * platform/graphics/qt/PathQt.cpp:
+ * platform/graphics/qt/PatternQt.cpp:
+ (WebCore::Pattern::createPlatformPattern):
+ * platform/graphics/skia/GradientSkia.cpp:
+ (WebCore::Gradient::setPlatformGradientSpaceTransform):
+ * platform/graphics/skia/GraphicsContextSkia.cpp:
+ (WebCore::GraphicsContext::getCTM):
+ * platform/graphics/skia/ImageSkia.cpp:
+ (WebCore::Image::drawPattern):
+ * platform/graphics/skia/PathSkia.cpp:
+ * platform/graphics/skia/PatternSkia.cpp:
+ (WebCore::Pattern::platformPattern):
+ * platform/graphics/skia/SkiaFontWin.cpp:
+ (WebCore::windowsCanHandleTextDrawing):
+ * platform/graphics/transforms/AffineTransform.cpp:
+ (WebCore::AffineTransform::makeIdentity): needed by some parts of WebCore
+ (WebCore::AffineTransform::scale): Didn't scale the complete matrix
+ (WebCore::AffineTransform::translate): Didn't respect other transformations
+ (WebCore::AffineTransform::shear): direct calculation, no extra multiply of matrices
+ (WebCore::AffineTransform::map):
+ (WebCore::AffineTransform::mapPoint):
+ (WebCore::AffineTransform::mapRect):
+ * platform/graphics/transforms/AffineTransform.h:
+ (WebCore::AffineTransform::isIdentityOrTranslation):
+ * platform/graphics/transforms/TransformationMatrix.cpp:
+ (WebCore::TransformationMatrix::toAffineTransform):
+ * platform/graphics/transforms/TransformationMatrix.h:
+ * platform/graphics/win/FontCGWin.cpp:
+ (WebCore::drawGDIGlyphs):
+ * platform/graphics/win/GraphicsContextCGWin.cpp:
+ * platform/graphics/win/GraphicsContextCairoWin.cpp:
+ * platform/graphics/win/GraphicsContextWin.cpp:
+ (WebCore::GraphicsContextPlatformPrivate::concatCTM):
+ * platform/graphics/wince/FontWince.cpp:
+ * platform/graphics/wince/GraphicsContextWince.cpp:
+ (WebCore::GraphicsContextPlatformPrivate::concatCTM):
+ (WebCore::GraphicsContext::fillPath):
+ (WebCore::GraphicsContext::strokePath):
+ (WebCore::GraphicsContext::getCTM):
+ (WebCore::GraphicsContext::drawBitmapPattern):
+ * platform/graphics/wince/ImageBufferWince.cpp:
+ (WebCore::):
+ (WebCore::BufferedImage::drawPattern):
+ * platform/graphics/wince/PathWince.cpp:
+ (WebCore::Path::transform):
+ * platform/graphics/wince/PlatformPathWince.cpp:
+ (WebCore::drawPolygons):
+ (WebCore::PathPolygon::transform):
+ (WebCore::PlatformPathElement::transform):
+ (WebCore::PlatformPath::strokePath):
+ (WebCore::PlatformPath::fillPath):
+ (WebCore::PlatformPath::transform):
+ * platform/graphics/wince/PlatformPathWince.h:
+ (WebCore::):
+ * platform/graphics/wx/GraphicsContextWx.cpp:
+ (WebCore::GraphicsContext::getCTM):
+ * platform/graphics/wx/ImageWx.cpp:
+ (WebCore::BitmapImage::drawPattern):
+ (WebCore::Image::drawPattern):
+ * platform/graphics/wx/PathWx.cpp:
+ * platform/gtk/RenderThemeGtk.cpp:
+ (WebCore::paintMozillaGtkWidget):
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::PluginView::paintWindowedPluginIntoContext):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::localTransform):
+ * rendering/RenderBox.h:
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelScaleData::RenderBoxModelScaleData):
+ (WebCore::RenderBoxModelScaleData::transform):
+ (WebCore::RenderBoxModelScaleData::setTransform):
+ (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality):
+ (WebCore::RenderBoxModelObject::paintBoxShadow):
+ * rendering/RenderForeignObject.cpp:
+ (WebCore::RenderForeignObject::translationForAttributes):
+ (WebCore::RenderForeignObject::localToParentTransform):
+ * rendering/RenderForeignObject.h:
+ (WebCore::RenderForeignObject::localTransform):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::paintLayer):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::localTransform):
+ (WebCore::RenderObject::localToParentTransform):
+ (WebCore::RenderObject::absoluteTransform):
+ * rendering/RenderObject.h:
+ * rendering/RenderPath.cpp:
+ (WebCore::RenderPath::localToParentTransform):
+ (WebCore::RenderPath::localTransform):
+ * rendering/RenderPath.h:
+ * rendering/RenderSVGHiddenContainer.h:
+ (WebCore::RenderSVGHiddenContainer::absoluteTransform):
+ * rendering/RenderSVGImage.h:
+ (WebCore::RenderSVGImage::localToParentTransform):
+ (WebCore::RenderSVGImage::localTransform):
+ * rendering/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::localToBorderBoxTransform):
+ (WebCore::RenderSVGRoot::localToRepaintContainerTransform):
+ (WebCore::RenderSVGRoot::localToParentTransform):
+ (WebCore::RenderSVGRoot::absoluteTransform):
+ (WebCore::RenderSVGRoot::localTransform):
+ * rendering/RenderSVGRoot.h:
+ * rendering/RenderSVGText.h:
+ (WebCore::RenderSVGText::localToParentTransform):
+ (WebCore::RenderSVGText::localTransform):
+ * rendering/RenderSVGTransformableContainer.cpp:
+ (WebCore::RenderSVGTransformableContainer::localToParentTransform):
+ (WebCore::RenderSVGTransformableContainer::localTransform):
+ (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
+ * rendering/RenderSVGTransformableContainer.h:
+ * rendering/RenderSVGViewportContainer.cpp:
+ (WebCore::RenderSVGViewportContainer::markerBoundaries):
+ (WebCore::RenderSVGViewportContainer::markerContentTransformation):
+ (WebCore::RenderSVGViewportContainer::viewportTransform):
+ (WebCore::RenderSVGViewportContainer::localToParentTransform):
+ (WebCore::RenderSVGViewportContainer::absoluteTransform):
+ * rendering/RenderSVGViewportContainer.h:
+ * rendering/SVGCharacterLayoutInfo.cpp:
+ (WebCore::SVGChar::characterTransform):
+ * rendering/SVGCharacterLayoutInfo.h:
+ (WebCore::SVGTextChunkWalker::operator()):
+ * rendering/SVGInlineTextBox.cpp:
+ (WebCore::SVGInlineTextBox::calculateGlyphBoundaries):
+ (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback):
+ (WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback):
+ (WebCore::SVGInlineTextBox::paintCharacters):
+ (WebCore::SVGInlineTextBox::paintDecoration):
+ * rendering/SVGMarkerLayoutInfo.h:
+ (WebCore::MarkerLayout::MarkerLayout):
+ * rendering/SVGRenderSupport.cpp:
+ (WebCore::applyTransformToPaintInfo):
+ * rendering/SVGRenderSupport.h:
+ * rendering/SVGRenderTreeAsText.cpp:
+ (WebCore::operator<<):
+ * rendering/SVGRenderTreeAsText.h:
+ * rendering/SVGRootInlineBox.cpp:
+ (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
+ (WebCore::applyTextLengthCorrectionToTextChunk):
+ (WebCore::SVGRootInlineBox::buildLayoutInformation):
+ * rendering/TransformState.cpp:
+ (WebCore::TransformState::applyTransform):
+ * rendering/TransformState.h:
+ * svg/GradientAttributes.h:
+ (WebCore::GradientAttributes::gradientTransform):
+ (WebCore::GradientAttributes::setGradientTransform):
+ * svg/PatternAttributes.h:
+ (WebCore::PatternAttributes::patternTransform):
+ (WebCore::PatternAttributes::setPatternTransform):
+ * svg/SVGAnimateMotionElement.cpp:
+ (WebCore::SVGAnimateMotionElement::resetToBaseValue):
+ (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
+ (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
+ * svg/SVGAnimateMotionElement.h:
+ * svg/SVGAnimateTransformElement.cpp:
+ * svg/SVGAnimateTransformElement.h:
+ * svg/SVGElement.h:
+ (WebCore::SVGElement::supplementalTransform):
+ * svg/SVGFitToViewBox.cpp:
+ (WebCore::SVGFitToViewBox::viewBoxToViewTransform):
+ * svg/SVGFitToViewBox.h:
+ * svg/SVGLocatable.cpp:
+ (WebCore::SVGLocatable::getCTM):
+ (WebCore::SVGLocatable::getScreenCTM):
+ (WebCore::SVGLocatable::getTransformToElement):
+ * svg/SVGLocatable.h:
+ * svg/SVGMarkerElement.cpp:
+ (WebCore::SVGMarkerElement::viewBoxToViewTransform):
+ * svg/SVGMarkerElement.h:
+ * svg/SVGMaskElement.cpp:
+ (WebCore::SVGMaskElement::drawMaskerContent):
+ * svg/SVGMatrix.idl:
+ * svg/SVGPatternElement.cpp:
+ (WebCore::SVGPatternElement::buildPattern):
+ * svg/SVGPreserveAspectRatio.cpp:
+ (WebCore::SVGPreserveAspectRatio::getCTM):
+ * svg/SVGPreserveAspectRatio.h:
+ * svg/SVGSVGElement.cpp:
+ (WebCore::SVGSVGElement::viewport):
+ (WebCore::SVGSVGElement::createSVGMatrix):
+ (WebCore::SVGSVGElement::createSVGTransformFromMatrix):
+ (WebCore::SVGSVGElement::getCTM):
+ (WebCore::SVGSVGElement::getScreenCTM):
+ (WebCore::SVGSVGElement::viewBoxToViewTransform):
+ * svg/SVGSVGElement.h:
+ * svg/SVGStyledLocatableElement.cpp:
+ (WebCore::SVGStyledLocatableElement::getCTM):
+ (WebCore::SVGStyledLocatableElement::getScreenCTM):
+ * svg/SVGStyledLocatableElement.h:
+ * svg/SVGStyledTransformableElement.cpp:
+ (WebCore::SVGStyledTransformableElement::getCTM):
+ (WebCore::SVGStyledTransformableElement::getScreenCTM):
+ (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
+ (WebCore::SVGStyledTransformableElement::supplementalTransform):
+ * svg/SVGStyledTransformableElement.h:
+ (WebCore::SVGStyledTransformableElement::isStyledTransformable):
+ (WebCore::SVGStyledTransformableElement::toPathData):
+ * svg/SVGTextContentElement.cpp:
+ (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback):
+ * svg/SVGTextElement.cpp:
+ (WebCore::SVGTextElement::getScreenCTM):
+ (WebCore::SVGTextElement::getCTM):
+ (WebCore::SVGTextElement::animatedLocalTransform):
+ (WebCore::SVGTextElement::supplementalTransform):
+ * svg/SVGTextElement.h:
+ * svg/SVGTextPathElement.cpp:
+ * svg/SVGTransform.cpp:
+ (SVGTransform::SVGTransform):
+ (SVGTransform::matrix):
+ (SVGTransform::setMatrix):
+ * svg/SVGTransform.h:
+ * svg/SVGTransformDistance.cpp:
+ (WebCore::SVGTransformDistance::SVGTransformDistance):
+ (WebCore::SVGTransformDistance::scaledDistance):
+ (WebCore::SVGTransformDistance::isZero):
+ * svg/SVGTransformDistance.h:
+ * svg/SVGTransformList.cpp:
+ (SVGTransformList::createSVGTransformFromMatrix):
+ (SVGTransformList::concatenate):
+ (SVGTransformList::valueAsString):
+ * svg/SVGTransformList.h:
+ * svg/SVGTransformable.cpp:
+ (WebCore::SVGTransformable::getCTM):
+ (WebCore::SVGTransformable::getScreenCTM):
+ (WebCore::SVGTransformable::parseTransformValue):
+ * svg/SVGTransformable.h:
+ (WebCore::SVGTransformable::):
+ * svg/graphics/SVGPaintServerGradient.cpp:
+ (WebCore::SVGPaintServerGradient::gradientTransform):
+ (WebCore::SVGPaintServerGradient::setGradientTransform):
+ (WebCore::clipToTextMask):
+ (WebCore::SVGPaintServerGradient::setup):
+ * svg/graphics/SVGPaintServerGradient.h:
+ * svg/graphics/SVGPaintServerPattern.cpp:
+ (WebCore::SVGPaintServerPattern::patternTransform):
+ (WebCore::SVGPaintServerPattern::setPatternTransform):
+ (WebCore::SVGPaintServerPattern::setup):
+ * svg/graphics/SVGPaintServerPattern.h:
+ * svg/graphics/SVGResourceClipper.cpp:
+ (WebCore::SVGResourceClipper::applyClip):
+ * svg/graphics/SVGResourceMarker.cpp:
+ (WebCore::SVGResourceMarker::markerTransformation):
+ (WebCore::SVGResourceMarker::draw):
+ * svg/graphics/SVGResourceMarker.h:
+ * svg/graphics/filters/SVGFEImage.cpp:
+ * svg/graphics/filters/SVGFETile.cpp:
+ (WebCore::FETile::apply):
+
+2010-02-08 Stephen White <senorblanco@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Make an inline function containing a static var out-of-line. This is
+ a workaround for Xcode 3.1 bug radar 7070016. We tripped on this in
+ deviceRGBColorSpaceRef on the Chromium canaries. This is a proactive
+ fix for the same problem in sRGBColorSpaceRef().
+
+ https://bugs.webkit.org/show_bug.cgi?id=34663
+
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore::sRGBColorSpaceRef):
+ * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
+
+2010-02-08 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [V8] Unify the WorkerContext V8 object wrapping code with
+ the standard V8 object wrapping code.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34658
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::instantiateV8Object):
+ (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
+ * bindings/v8/V8WorkerContextEventListener.cpp:
+ (WebCore::V8WorkerContextEventListener::handleEvent):
+ (WebCore::V8WorkerContextEventListener::getReceiverObject):
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ * bindings/v8/WorkerContextExecutionProxy.h:
+ * bindings/v8/custom/V8NotificationCenterCustom.cpp:
+ (WebCore::V8NotificationCenter::createHTMLNotificationCallback):
+ (WebCore::V8NotificationCenter::createNotificationCallback):
+ * bindings/v8/custom/V8WorkerContextCustom.cpp:
+ (WebCore::toV8):
+
+2010-02-08 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Darin Adler.
+
+ Use fastStrDup instead of strdup
+ https://bugs.webkit.org/show_bug.cgi?id=33943
+
+ Replace strdup/free with fastStrDup/fastFree.
+
+ * bridge/IdentifierRep.h:
+ (WebCore::IdentifierRep::IdentifierRep):
+ * bridge/jni/JNIBridge.cpp:
+ (JavaMethod::~JavaMethod):
+ (appendClassName):
+ (JavaMethod::signature):
+ * bridge/jni/jsc/JavaClassJSC.cpp:
+ (JavaClass::JavaClass):
+ (JavaClass::~JavaClass):
+ * platform/network/curl/ResourceHandleCurl.cpp:
+ (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
+ * platform/network/curl/ResourceHandleManager.cpp:
+ (WebCore::ResourceHandleManager::~ResourceHandleManager):
+ (WebCore::ResourceHandleManager::setCookieJarFileName):
+ (WebCore::ResourceHandleManager::initializeHandle):
+ * plugins/PluginStream.cpp:
+ (WebCore::PluginStream::~PluginStream):
+ (WebCore::PluginStream::startStream):
+ * xml/XSLTProcessorLibxslt.cpp:
+ (WebCore::xsltParamArrayFromParameterMap):
+ (WebCore::freeXsltParamArray):
+
+2010-02-08 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Fix Qt build on Windows.
+
+ nmake fails to pick the right cpp file, so we have to
+ rename the file to to a unique name.
+
+ * WebCore.pro:
+ * platform/graphics/qt/FontCustomPlatformDataQt.cpp: Renamed from WebCore/platform/graphics/qt/FontCustomPlatformData.cpp.
+
+2010-02-08 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Reviewed by Dirk Schulze.
+
+ All SVG *-expected.txt files contain wrong results
+ https://bugs.webkit.org/show_bug.cgi?id=34703
+
+ Finally dump meaningful information for SVG layout tests.
+ Use 'absoluteClippedOverflowRect' which goes through the same code paths used
+ to actually calculate repaint rects etc - instead of the legacy CSS-unaware
+ code path that mapped 'repaintRectInLocalCoordinates' through 'absoluteTransform'.
+ Remove absoluteTransform() - a long standing TODO, finally not needed anymore.
+
+ Despite SVGRenderTreeAsText, SVGPaintServerGradient was also using absoluteTransform().
+ Rewrite the code in question, fixing svg/W3C-SVG-1.1/pserver-grad-08-b.svg alignment issues
+ when scaling/panning text using gradient on stroke/fill. Affects some other gradient tests as well.
+
+ As we're now dumping clipped overflow rects any problems with repaint rects will become
+ immediate visible - it turns out we're not supporting the overflow rules on the outermost <svg>
+ element properly (repaint rects and bounding boxes need to take special SVG overflow rules into account).
+ Fixing that magically gives pixel-perfect clipped overflow rects for all types of shapes/text/containers.
+
+ Note: This will break any overriden platform-specific SVG results, need to wait for build bots in order to update them.
+
+ * rendering/RenderObject.cpp: Remove absoluteTransform() method, centralize overflow query code in SVGRenderSupport::isOverflowHidden().
+ * rendering/RenderObject.h: Remove absoluteTransform() method.
+ * rendering/RenderSVGHiddenContainer.h: Ditto.
+ * rendering/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::paint): Use SVGRenderSupport::isOverflowHidden() to query SVG overflow mode.
+ (WebCore::RenderSVGRoot::computeRectForRepaint): Respect SVG overflow rules here: clip repaintRect against overflow rect _before_ passing
+ along to RenderBox. This is the key issue behind wrong absoluteClippedOverflowRect() values.
+ (WebCore::RenderSVGRoot::nodeAtPoint): Use SVGRenderSupport::isOverflowHidden() to query SVG overflow mode.
+ * rendering/RenderSVGRoot.h: Remove absoluteTransform(). Don't expose viewportSize() anymore.
+ * rendering/RenderSVGText.cpp:
+ (WebCore::RenderSVGText::strokeBoundingBox): Fix default stroke width to 1. This was the only wrong place -> fixes repaint rects for stroked text.
+ * rendering/RenderSVGViewportContainer.cpp: Remove absoluteTransform() method.
+ (WebCore::RenderSVGViewportContainer::pointIsInsideViewportClip): Use SVGRenderSupport::isOverflowHidden() to query SVG overflow mode.
+ * rendering/RenderSVGViewportContainer.h: Remove absoluteTransform() method.
+ * rendering/SVGRenderSupport.cpp: Refactored overflow queries in one place, centralizing SVG specific assumptions about overflowX/Y.
+ (WebCore::SVGRenderBase::isOverflowHidden):
+ * rendering/SVGRenderSupport.h:
+ * rendering/SVGRenderTreeAsText.cpp: Dump absoluteClippedOverflowRect() instead of absoluteTransform().mapRect(repaintRectInLocalCoordinates()).
+ (WebCore::writePositionAndStyle): Affects all layout tests dumping render trees.
+ * svg/graphics/SVGPaintServerGradient.cpp: Rewrite Gradient on text fill/stroke support on Cg, to avoid using absoluteTransform().
+ (WebCore::absoluteTransformForRenderer):
+ (WebCore::createMaskAndSwapContextForTextGradient):
+ (WebCore::clipToTextMask):
+ (WebCore::SVGPaintServerGradient::setup):
+
+2010-02-07 Daniel Bates <dbates@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34402
+
+ Implements all of the numeric CSS3 list-style-types as per
+ section 4.3 of the CSS3 Lists module <http://www.w3.org/TR/css3-lists/#numeric>.
+
+ Test: fast/lists/w3-css3-list-styles-numeric.html
+
+ * css/CSSPrimitiveValueMappings.h:
+ (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
+ * css/CSSValueKeywords.in:
+ * inspector/front-end/SourceCSSTokenizer.re2js:
+ * platform/text/CharacterNames.h: Added constant hyphenMinus.
+ * rendering/RenderListMarker.cpp:
+ (WebCore::): Defined enum SequenceType.
+ (WebCore::toAlphabeticOrNumeric): Added.
+ (WebCore::toAlphabetic): Modified to call WebCore::toAlphabeticOrNumeric.
+ (WebCore::toNumeric): Added.
+ (WebCore::listMarkerSuffix):
+ (WebCore::listMarkerText):
+ (WebCore::RenderListMarker::paint):
+ (WebCore::RenderListMarker::calcPrefWidths):
+ (WebCore::RenderListMarker::getRelativeMarkerRect):
+ * rendering/style/RenderStyle.h:
+ (WebCore::):
+ * rendering/style/RenderStyleConstants.h: Added numeric list style types
+ and fixed indent level for the enum values.
+ (WebCore::):
+
+2010-02-07 Ismail Donmez <ismail@namtrac.org>
+
+ Reviewed by Darin Adler.
+
+ Include wtf/StringExtras.h for strdup definition, which
+ is needed for WinCE.
+
+ * bridge/IdentifierRep.h:
+
+2010-02-07 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Fragment-held Elements Not Shown in Inspector.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34680
+
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
+ (WebCore::InspectorDOMAgent::buildObjectForNode):
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo):
+
+2010-02-07 Jian Li <jianli@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [chromium] Change chromium interface to handle DownloadURL format.
+ https://bugs.webkit.org/show_bug.cgi?id=34655
+
+ * platform/chromium/ChromiumDataObject.cpp:
+ (WebCore::ChromiumDataObject::clear):
+ (WebCore::ChromiumDataObject::hasData):
+ (WebCore::ChromiumDataObject::ChromiumDataObject):
+ * platform/chromium/ChromiumDataObject.h:
+ * platform/chromium/ClipboardChromium.cpp:
+ (WebCore::ClipboardChromium::setData):
+
+2010-02-06 Dimitri Glazkov <dglazkov@chromium.org>
+
+ No review, rolling out r54364.
+ http://trac.webkit.org/changeset/54364
+ https://bugs.webkit.org/show_bug.cgi?id=34464
+
+ Introduced asserts in layout tests, needs more testing
+ locally.
+
+ * accessibility/chromium/AXObjectCacheChromium.cpp:
+ (WebCore::AXObjectCache::postPlatformNotification):
+ * page/chromium/ChromeClientChromium.h:
+
+2010-02-06 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Using inlines and function-level statics don't mix, according to gcc.
+ https://bugs.webkit.org/show_bug.cgi?id=34663
+
+ De-inline deviceRGBColorSpaceRef to avoid gcc-bug landmines.
+
+ It appears that the initialization check, generated by gcc doesn't account
+ for a possibility that the function may be inlined, resulting in lazy
+ initialization failure for more than one inlined instance of the function.
+
+ No behavior change, so no new tests.
+
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore::deviceRGBColorSpaceRef):
+ * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
+
+2010-02-05 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Added an ASSERT to catch an implausible but theoretically possible leak.
+
+ In theory, if malloc allocated a UChar buffer directly after a StringImpl,
+ the StringImpl might incorrecly assume that the UChar buffer was inline,
+ and fail to delete it.
+
+ This ASSERT is somewhat academic, since we don't use the same allocator
+ in debug builds, but oh well.
+
+ * platform/text/StringImpl.cpp:
+ (WebCore::StringImpl::StringImpl):
+ (WebCore::StringImpl::createUninitialized):
+ * platform/text/StringImpl.h: Separated the inline buffer StringImpl
+ constructor from the out-of-line buffer StringImpl constructor. Made
+ the former ASSERT that its buffer was indeed inline, and the latter ASSERT
+ that its buffer was indeed not inline.
+
+2010-02-05 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Fixed changed virtual function in GraphicsLayerCACF and call order issues
+ https://bugs.webkit.org/show_bug.cgi?id=34348
+
+ The correct virtual function in GraphicsLayerCACF is now being
+ called. We also fixed an issue in QTMovieWin where the size
+ of the movie was not being set correctly because the call order
+ was changed.
+
+ I also changed the order of a couple of calls in QTMovieWin to account
+ for changed calling order from the logic above.
+
+ * platform/graphics/win/GraphicsLayerCACF.cpp:Update to new virtual function API
+ (WebCore::GraphicsLayerCACF::setContentsToMedia):
+ (WebCore::GraphicsLayerCACF::updateContentsMedia):
+ * platform/graphics/win/GraphicsLayerCACF.h:Update to new virtual function API
+ (WebCore::GraphicsLayerCACF::):
+ * platform/graphics/win/QTMovieWin.cpp:
+ (QTMovieWinPrivate::cacheMovieScale):Fix a bug where ratio was computed wrong because it was using integer math
+ (QTMovieWinPrivate::task):Compute movie scale before computing movie size so values are correct
+ (QTMovieWinPrivate::setSize):Move movie size update to updateMovieSize()
+ (QTMovieWinPrivate::updateMovieSize):Wrap size update in a new call so it can be used from multiple places
+
+2010-02-05 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Horizontal scrollbar works in reverse at milliondollarcu.be
+ <rdar://problem/7556121>
+ https://bugs.webkit.org/show_bug.cgi?id=33848
+
+ Added a manual test.
+
+ * manual-tests/win: Added.
+ * manual-tests/win/horizontal-scroll-composited.html: Added.
+ * platform/graphics/win/WKCACFLayerRenderer.cpp:
+ (WebCore::WKCACFLayerRenderer::setScrollFrame):
+ (WebCore::WKCACFLayerRenderer::setRootChildLayer):
+
+2010-02-05 Ryan Leavengood <leavengood@gmail.com>
+
+ Reviewed by David Levin.
+
+ Implementation of GlyphPage::fill() for Haiku port.
+ https://bugs.webkit.org/show_bug.cgi?id=34527
+
+ Covered by existing tests.
+
+ * platform/graphics/haiku/GlyphPageTreeNodeHaiku.cpp
+
+2010-01-19 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Dave Hyatt.
+
+ Implement flattening of framesets
+ https://bugs.webkit.org/show_bug.cgi?id=32717
+
+ The following patch, builds ontop of Antti Koivisto's frameset
+ flattening code from the iPhone source, which itself is based on
+ the old Nokia Series 60 source.
+
+ Layout tests have been added to test the functionality and the original
+ code which has then been fixed to make these pass, as well as support
+ frameset grids.
+
+ Tests: fast/frames/flattening/frameset-flattening-advanced.html
+ fast/frames/flattening/frameset-flattening-grid.html
+ fast/frames/flattening/frameset-flattening-simple.html
+ fast/frames/flattening/frameset-flattening-subframe-resize.html
+ fast/frames/flattening/frameset-flattening-subframesets.html
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::layout):
+ (WebCore::FrameView::scheduleRelayout):
+ * page/Settings.cpp:
+ (WebCore::Settings::Settings):
+ (WebCore::Settings::setFrameSetFlatteningEnabled):
+ * page/Settings.h:
+ (WebCore::Settings::frameSetFlatteningEnabled):
+ * rendering/RenderFrame.cpp:
+ (WebCore::RenderFrame::layoutWithFlattening):
+ * rendering/RenderFrame.h:
+ * rendering/RenderFrameSet.cpp:
+ (WebCore::RenderFrameSet::layout):
+ (WebCore::RenderFrameSet::positionFramesWithFlattening):
+ (WebCore::RenderFrameSet::flattenFrameSet):
+ (WebCore::RenderFrameSet::userResize):
+ * rendering/RenderFrameSet.h:
+
+2010-02-05 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Changing display type of parent of input on focus causes input field to not receive key events
+ https://bugs.webkit.org/show_bug.cgi?id=34620
+ <rdar://problem/7584572>
+
+ When layout affects a text input, the RenderTextControl gets destroyed and
+ recreated, which in turn makes a new innerTextElement. However, if the text field was
+ focused, the VisibleSelection is left pointing to the old innerTextElement, so text
+ input no longer works.
+
+ The fix is to call updateFocusAppearanceSoon() when attaching the input element,
+ which will update the selection if necessary.
+
+ Test: fast/forms/restore-selection-after-layout.html
+
+ * dom/Document.h: Add a paramter to updateFocusAppearanceSoon() and a member variable,
+ m_updateFocusAppearanceRestoresSelection, to store its value until the timer fires.
+ * dom/Document.cpp:
+ (WebCore::Document::Document): Initialize m_updateFocusAppearanceRestoresSelection
+ (WebCore::Document::updateFocusAppearanceSoon): New restorePreviousSelection parameter.
+ (WebCore::Document::updateFocusAppearanceTimerFired): Pass m_updateFocusAppearanceRestoresSelection down.
+ * dom/Element.cpp:
+ (WebCore::Element::attach): Call updateFocusAppearanceSoon() with false.
+ * dom/Element.h: The updateFocusAppearanceSoonAfterAttach() was undefined.
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::attach): Call document()->updateFocusAppearanceSoon() with true.
+
+2010-02-05 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: simplify cookies view, introduce DataGrid::autoSizeColumns.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34646
+
+ * inspector/front-end/CookieItemsView.js:
+ (WebInspector.CookieItemsView):
+ (WebInspector.CookieItemsView.prototype.show):
+ (WebInspector.CookieItemsView.prototype._update):
+ (WebInspector.CookieItemsView.prototype._updateWithCookies):
+ (WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
+ (WebInspector.CookieItemsView.prototype._createDataGrid):
+ (WebInspector.CookieItemsView.prototype._populateDataGrid.expiresCompare):
+ (WebInspector.CookieItemsView.prototype._populateDataGrid):
+ (WebInspector.CookieItemsView.prototype._createSimpleDataGrid):
+ (WebInspector.CookieItemsView.prototype._populateSimpleDataGrid):
+ (WebInspector.CookieItemsView.prototype._deleteCookieCallback):
+ (WebInspector.CookieItemsView.prototype._refreshButtonClicked):
+ * inspector/front-end/DOMStorageItemsView.js:
+ (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries):
+ (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageEntries):
+ * inspector/front-end/DataGrid.js:
+ (WebInspector.DataGrid):
+ (WebInspector.DataGrid.prototype.autoSizeColumns):
+ * inspector/front-end/DatabaseQueryView.js:
+ (WebInspector.DatabaseQueryView.prototype._queryFinished):
+ * inspector/front-end/DatabaseTableView.js:
+ (WebInspector.DatabaseTableView.prototype._queryFinished):
+ * inspector/front-end/StoragePanel.js:
+ (WebInspector.StoragePanel.prototype.dataGridForResult):
+
+2010-02-04 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: group cookies by frame, show total
+ cookies size, allow sorting cookie table.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34617
+
+ * English.lproj/localizedStrings.js:
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::deleteCookie):
+ * inspector/front-end/CookieItemsView.js:
+ (WebInspector.CookieItemsView):
+ (WebInspector.CookieItemsView.prototype.update):
+ (WebInspector.CookieItemsView.prototype._updateWithCookies):
+ (WebInspector.CookieItemsView.prototype._cookiesForDomain):
+ (WebInspector.CookieItemsView.prototype.dataGridForCookies):
+ (WebInspector.CookieItemsView.prototype._createNodes):
+ (WebInspector.CookieItemsView.prototype._sortData.localeCompare):
+ (WebInspector.CookieItemsView.prototype._sortData.numberCompare):
+ (WebInspector.CookieItemsView.prototype._sortData.expiresCompare):
+ (WebInspector.CookieItemsView.prototype._sortData):
+ * inspector/front-end/StoragePanel.js:
+ (WebInspector.StoragePanel.prototype.showCookies):
+ (WebInspector.CookieSidebarTreeElement):
+ (WebInspector.CookieSidebarTreeElement.prototype.onselect):
+ (WebInspector.CookieSidebarTreeElement.prototype.get subtitle):
+ (WebInspector.CookieSidebarTreeElement.prototype.set subtitle):
+ * inspector/front-end/inspector.js:
+ (WebInspector.updateResource):
+
+2010-02-05 Maxime Simone <simon.maxime@gmail.com>
+
+ Reviewed by David Levin.
+
+ More robust conversion from BString to String for Haiku port.
+ https://bugs.webkit.org/show_bug.cgi?id=34527
+
+ Covered by existing tests.
+
+ * platform/text/haiku/StringHaiku.cpp: Fixed include order, Improved coversion from BString.
+
+2010-02-05 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Windows build fix.
+
+ * WebCore.vcproj/WebCore.make:
+
+2010-02-05 Csaba Osztrogonác <ossy@webkit.org>
+
+ Reviewed by Dirk Schulze.
+ Rubber-stamped by Kenneth Rohde Christiansen.
+
+ [Qt] Modifying SVG path dumping to equal to other ports
+ https://bugs.webkit.org/show_bug.cgi?id=33784
+
+ * platform/graphics/qt/PathQt.cpp:
+ (WebCore::Path::debugString): Path dumping style is aproached to Mac.
+
+2010-02-05 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ Reviewed by Gustavo Noronha.
+
+ Add a GStreamer HTTP/HTTPS source, using WebKit infrastructure
+ https://bugs.webkit.org/show_bug.cgi?id=34317
+
+ * GNUmakefile.am:
+ * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::mediaPlayerPrivateSourceChangedCallback):
+ (WebCore::doGstInit):
+ * platform/graphics/gtk/WebKitWebSourceGStreamer.cpp:
+ * platform/graphics/gtk/WebKitWebSourceGStreamer.h:
+ Add a GStreamer HTTP/HTTPS source, using the WebKit infrastructure.
+ This makes sure that referer, cookies, authentication information
+ and all kinds of other context are passed to GStreamer for websites
+ like Vimeo or YouTube.
+
+2010-02-05 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [V8] Clean up code for getting a v8::FunctionTemplate.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34606
+
+ * bindings/scripts/CodeGeneratorV8.pm: Making GetTemplate() public
+ * bindings/v8/V8Binding.cpp:
+ (WebCore::configureTemplate):
+ * bindings/v8/V8DOMWrapper.cpp: Remove getTemplate(), use V8ClassIndex::getTemplate() instead.
+ (WebCore::V8DOMWrapper::getConstructor):
+ (WebCore::V8DOMWrapper::instantiateV8Object):
+ * bindings/v8/V8DOMWrapper.h:
+ (WebCore::V8DOMWrapper::lookupDOMWrapper):
+ * bindings/v8/V8Index.cpp: Remove duplicate caching of FunctionTemplates.
+ (WebCore::V8ClassIndex::getTemplate):
+ * bindings/v8/V8Index.h:
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ (WebCore::WorkerContextExecutionProxy::toV8):
+ * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
+ (WebCore::v8HTMLAudioElementConstructorCallback):
+ (WebCore::V8HTMLAudioElementConstructor::GetTemplate):
+ * bindings/v8/custom/V8HTMLAudioElementConstructor.h:
+ * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
+ (WebCore::v8HTMLImageElementConstructorCallback):
+ (WebCore::V8HTMLImageElementConstructor::GetTemplate):
+ * bindings/v8/custom/V8HTMLImageElementConstructor.h:
+ * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
+ (WebCore::v8HTMLOptionElementConstructorCallback):
+ (WebCore::V8HTMLOptionElementConstructor::GetTemplate):
+ * bindings/v8/custom/V8HTMLOptionElementConstructor.h:
+ * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
+ (WebCore::createInjectedScriptHostV8Wrapper):
+
+2010-02-05 Siddharth Mathur <siddharth.mathur@nokia.com>
+
+ Reviewed by Ariya Hidayat.
+
+ [Qt] Build break in QtWebkit on Symbian
+ https://bugs.webkit.org/show_bug.cgi?id=34597
+
+ * plugins/PluginView.h:
+
+2010-02-05 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ - Use SerializedScriptValue for passing data between injected script and
+ inspector frontend.
+ - Remove custom JSON implementation from the instpector utility script.
+ - Make sure that only objects created in the same ScriptState can be values
+ of ScriptObject/Array properties and arguments to ScriptFunctionCall. We don't
+ want ScriptObjects to leak between contexts.
+ - Use ScriptState of the 'this' object in ScriptFunctionCall instead of passing
+ it as additional parameter.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33592
+
+ * bindings/js/JSInjectedScriptHostCustom.cpp:
+ (WebCore::JSInjectedScriptHost::reportDidDispatchOnInjectedScript):
+ * bindings/js/ScriptArray.cpp:
+ (WebCore::ScriptArray::set):
+ * bindings/js/ScriptFunctionCall.cpp:
+ (WebCore::ScriptFunctionCall::ScriptFunctionCall):
+ (WebCore::ScriptFunctionCall::appendArgument):
+ * bindings/js/ScriptFunctionCall.h:
+ * bindings/js/ScriptObject.cpp:
+ (WebCore::ScriptObject::set):
+ * bindings/js/ScriptValue.cpp:
+ (WebCore::ScriptValue::serialize):
+ (WebCore::ScriptValue::deserialize):
+ * bindings/js/ScriptValue.h:
+ * bindings/v8/ScriptArray.cpp:
+ (WebCore::ScriptArray::set):
+ * bindings/v8/ScriptFunctionCall.cpp:
+ (WebCore::ScriptFunctionCall::ScriptFunctionCall):
+ (WebCore::ScriptFunctionCall::appendArgument):
+ * bindings/v8/ScriptFunctionCall.h:
+ * bindings/v8/ScriptObject.cpp:
+ (WebCore::ScriptObject::set):
+ * bindings/v8/ScriptState.h:
+ * bindings/v8/ScriptValue.cpp:
+ (WebCore::ScriptValue::serialize):
+ (WebCore::deserialize):
+ * bindings/v8/ScriptValue.h:
+ * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
+ (WebCore::V8InjectedScriptHost::reportDidDispatchOnInjectedScriptCallback):
+ * inspector/InjectedScript.cpp:
+ (WebCore::InjectedScript::dispatch):
+ (WebCore::InjectedScript::callFrames):
+ (WebCore::InjectedScript::wrapForConsole):
+ (WebCore::InjectedScript::releaseWrapperObjectGroup):
+ * inspector/InjectedScript.h:
+ * inspector/InjectedScriptHost.cpp:
+ (WebCore::InjectedScriptHost::reportDidDispatchOnInjectedScript):
+ * inspector/InjectedScriptHost.h:
+ * inspector/InjectedScriptHost.idl:
+ * inspector/InspectorBackend.cpp:
+ (WebCore::InspectorBackend::dispatchOnInjectedScript):
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::setFrontendProxyObject):
+ (WebCore::InspectorController::didPause):
+ (WebCore::InspectorController::didEvaluateForTestInFrontend):
+ * inspector/InspectorFrontend.cpp:
+ (WebCore::InspectorFrontend::InspectorFrontend):
+ (WebCore::InspectorFrontend::newScriptArray):
+ (WebCore::InspectorFrontend::newScriptObject):
+ (WebCore::InspectorFrontend::populateFrontendSettings):
+ (WebCore::InspectorFrontend::updateConsoleMessageExpiredCount):
+ (WebCore::InspectorFrontend::addConsoleMessage):
+ (WebCore::InspectorFrontend::updateConsoleMessageRepeatCount):
+ (WebCore::InspectorFrontend::updateResource):
+ (WebCore::InspectorFrontend::removeResource):
+ (WebCore::InspectorFrontend::didGetResourceContent):
+ (WebCore::InspectorFrontend::updateFocusedNode):
+ (WebCore::InspectorFrontend::setAttachedWindow):
+ (WebCore::InspectorFrontend::addRecordToTimeline):
+ (WebCore::InspectorFrontend::parsedScriptSource):
+ (WebCore::InspectorFrontend::failedToParseScriptSource):
+ (WebCore::InspectorFrontend::addProfileHeader):
+ (WebCore::InspectorFrontend::setRecordingProfile):
+ (WebCore::InspectorFrontend::didGetProfileHeaders):
+ (WebCore::InspectorFrontend::didGetProfile):
+ (WebCore::InspectorFrontend::pausedScript):
+ (WebCore::InspectorFrontend::setDocument):
+ (WebCore::InspectorFrontend::setDetachedRoot):
+ (WebCore::InspectorFrontend::setChildNodes):
+ (WebCore::InspectorFrontend::childNodeCountUpdated):
+ (WebCore::InspectorFrontend::childNodeInserted):
+ (WebCore::InspectorFrontend::childNodeRemoved):
+ (WebCore::InspectorFrontend::attributesUpdated):
+ (WebCore::InspectorFrontend::didRemoveNode):
+ (WebCore::InspectorFrontend::didGetChildNodes):
+ (WebCore::InspectorFrontend::didApplyDomChange):
+ (WebCore::InspectorFrontend::didGetEventListenersForNode):
+ (WebCore::InspectorFrontend::didGetCookies):
+ (WebCore::InspectorFrontend::didDispatchOnInjectedScript):
+ (WebCore::InspectorFrontend::addDatabase):
+ (WebCore::InspectorFrontend::selectDatabase):
+ (WebCore::InspectorFrontend::didGetDatabaseTableNames):
+ (WebCore::InspectorFrontend::addDOMStorage):
+ (WebCore::InspectorFrontend::selectDOMStorage):
+ (WebCore::InspectorFrontend::didGetDOMStorageEntries):
+ (WebCore::InspectorFrontend::didSetDOMStorageItem):
+ (WebCore::InspectorFrontend::didRemoveDOMStorageItem):
+ (WebCore::InspectorFrontend::updateDOMStorage):
+ (WebCore::InspectorFrontend::addNodesToSearchResult):
+ (WebCore::InspectorFrontend::contextMenuItemSelected):
+ (WebCore::InspectorFrontend::evaluateForTestInFrontend):
+ (WebCore::InspectorFrontend::callSimpleFunction):
+ * inspector/InspectorFrontend.h:
+ (WebCore::InspectorFrontend::scriptState):
+ * inspector/front-end/InjectedScript.js:
+ (injectedScriptConstructor):
+ (injectedScriptConstructor.):
+ * inspector/front-end/InjectedScriptAccess.js:
+ (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName.myCallback):
+ (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName):
+ (InjectedScriptAccess._installHandler):
+ * inspector/front-end/inspector.js:
+ (WebInspector.pausedScript):
+ (WebInspector.addConsoleMessage):
+
+2010-02-05 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Generate convenience headers (QWebView, etc) using qmake
+
+ In Qt this is done using syncqt, but we use a pro-file instead
+ that generates makefile-rules for each of the extra headers.
+
+ These extra headers are installed alongside the normal headers.
+
+ * WebCore.pro: Use headers.pri based on DerivedSources instead
+ of the one previously checked in in the source tree.
+
+2010-02-05 Mikhail Naganov <mnaganov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Enable JAVASCRIPT_DEBUGGER in chromium port.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34638
+
+ * page/Console.cpp:
+ * page/Console.h:
+ * page/Console.idl:
+
+2010-02-05 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Tab width for javascript source is 8, should be 4
+
+ https://bugs.webkit.org/show_bug.cgi?id=31248
+
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame):
+ * inspector/front-end/TextEditorModel.js:
+ (WebInspector.TextEditorModel.prototype.set replaceTabsWithSpaces):
+ (WebInspector.TextEditorModel.prototype._innerSetText):
+ (WebInspector.TextEditorModel.prototype._replaceTabsIfNeeded):
+
+2010-02-05 Tony Chang <tony@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24872
+ When pasting a list into another list should not indent another level.
+ If the cursor is at the beginning of the line, it should insert the
+ list items before the current list item. If the cursor is at the end
+ of the line, it should insert the list items after the current list item.
+
+ This matches Firefox and IE and makes the common activity of reordering a list
+ work as expected.
+
+ This also adds a small helper method (isListItem) to htmlediting.h.
+
+ Test: editing/pasteboard/paste-list-002.html
+
+ * editing/ReplaceSelectionCommand.cpp:
+ (WebCore::ReplaceSelectionCommand::doApply):
+ (WebCore::ReplaceSelectionCommand::insertAsListItems):
+ * editing/ReplaceSelectionCommand.h:
+ * editing/htmlediting.cpp:
+ (WebCore::isListItem):
+ (WebCore::appendedSublist):
+ * editing/htmlediting.h:
+
+2010-02-04 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Timothy Hatcher.
+
+ Build fix. Remove a symbol corresponding to an inline function from the linker export
+ file to prevent a weak external failure.
+
+ * WebCore.base.exp: Remove symbol.
+ * WebCore.xcodeproj/project.pbxproj: Accommodate rename of script.
+
+2010-02-04 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Updated to use new WeakGCPtr::clear interface.
+
+ * bindings/js/JSEventListener.cpp:
+ * bindings/js/JSEventListener.h:
+ (WebCore::JSEventListener::invalidateJSFunction):
+
+2010-02-04 Geoffrey Garen <ggaren@apple.com>
+
+ Build fix: Added a forwarding header.
+
+ * ForwardingHeaders/runtime/WeakGCPtr.h: Added.
+
+2010-02-04 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Alexey Proskuryakov and Darin Adler.
+
+ REGRESSION (r52082): Missing event handlers on JQuery demo page (33383)
+ https://bugs.webkit.org/show_bug.cgi?id=33383
+ <rdar://problem/7559449>
+
+ There were two bugs here:
+
+ 1. A stale wrapper would invalidate a node's event listeners, even if
+ the node had a fresh wrapper keeping it alive.
+
+ The fix for this is for an event listener to keep a WeakGCPtr back-pointer
+ to the wrapper it expects to mark it. The wrapper destructor checks this
+ back-pointer, and only invalidates the event listener in the case of a match.
+
+ 2. Conversely, a stale wrapper would not invalidate a node's event
+ listeners soon enough, if its destructor didn't have a chance to run
+ before an event fired on the node. (This can only happen in cases where
+ we've made some other error and failed to mark a wrapper that was circuitously
+ observable in the DOM. But we know we have edge case bugs like this, and
+ we don't want them to be crashes.)
+
+ The fix for this is to check the wrapper back-pointer before firing the
+ event listener. As long as the the wrapper back-pointer is not null,
+ it's safe to fire the listener.
+
+ * ForwardingHeaders/runtime/WeakGCPtr.h: Added. Appease build gods.
+
+ * bindings/js/JSAbstractWorkerCustom.cpp:
+ (WebCore::JSAbstractWorker::addEventListener):
+ (WebCore::JSAbstractWorker::removeEventListener):
+ * bindings/js/JSDOMApplicationCacheCustom.cpp:
+ (WebCore::JSDOMApplicationCache::addEventListener):
+ (WebCore::JSDOMApplicationCache::removeEventListener):
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::markChildren):
+ (WebCore::JSDOMWindow::addEventListener):
+ (WebCore::JSDOMWindow::removeEventListener): Updated to pass a wrapper
+ to the JSEventListener constructor.
+
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::JSEventListener):
+ (WebCore::JSEventListener::initializeJSFunction):
+ (WebCore::JSEventListener::invalidateJSFunction):
+ * bindings/js/JSEventListener.h:
+ (WebCore::JSEventListener::create):
+ (WebCore::JSEventListener::isolatedWorld):
+ (WebCore::JSEventListener::wrapper):
+ (WebCore::JSEventListener::setWrapper):
+ (WebCore::JSEventListener::jsFunction):
+ (WebCore::createJSAttributeEventListener): Implemented the back-pointer
+ described above. Refactored the jsFunction() accessor to return 0 if
+ the wrapper back-pointer is 0.
+
+ * bindings/js/JSEventSourceCustom.cpp:
+ (WebCore::JSEventSource::addEventListener):
+ (WebCore::JSEventSource::removeEventListener):
+ * bindings/js/JSLazyEventListener.cpp:
+ (WebCore::JSLazyEventListener::JSLazyEventListener):
+ (WebCore::JSLazyEventListener::initializeJSFunction):
+ * bindings/js/JSLazyEventListener.h:
+ (WebCore::JSLazyEventListener::create):
+ * bindings/js/JSMessagePortCustom.cpp:
+ (WebCore::JSMessagePort::markChildren):
+ (WebCore::JSMessagePort::addEventListener):
+ (WebCore::JSMessagePort::removeEventListener):
+ * bindings/js/JSNodeCustom.cpp:
+ (WebCore::JSNode::addEventListener):
+ (WebCore::JSNode::removeEventListener):
+ (WebCore::JSNode::markChildren):
+ * bindings/js/JSSVGElementInstanceCustom.cpp:
+ (WebCore::JSSVGElementInstance::addEventListener):
+ (WebCore::JSSVGElementInstance::removeEventListener):
+ * bindings/js/JSWebSocketCustom.cpp:
+ (WebCore::JSWebSocket::addEventListener):
+ (WebCore::JSWebSocket::removeEventListener):
+ * bindings/js/JSWorkerContextCustom.cpp:
+ (WebCore::JSWorkerContext::markChildren):
+ (WebCore::JSWorkerContext::addEventListener):
+ (WebCore::JSWorkerContext::removeEventListener):
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ (WebCore::JSXMLHttpRequest::markChildren):
+ (WebCore::JSXMLHttpRequest::addEventListener):
+ (WebCore::JSXMLHttpRequest::removeEventListener):
+ * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
+ (WebCore::JSXMLHttpRequestUpload::markChildren):
+ (WebCore::JSXMLHttpRequestUpload::addEventListener):
+ (WebCore::JSXMLHttpRequestUpload::removeEventListener): Updated to pass a wrapper
+ to the JSEventListener constructor.
+
+
+ * bindings/js/ScriptEventListener.cpp:
+ (WebCore::createAttributeEventListener): Updated to pass a wrapper
+ to the JSEventListener constructor.
+ (WebCore::getEventListenerHandlerBody): Updated for the fact that jsFunction()
+ is no longer a virtual accessor on the EventHandler base class.
+
+ * bindings/scripts/CodeGeneratorJS.pm: Updated for the fact that jsFunction()
+ is no longer a virtual accessor on the EventHandler base class. Added a "JS"
+ to invalidateEventListeners and markEventListeners to clarify that these
+ actions are for JS event listeners only. Added a wrapper parameter to
+ invalidateEventListeners for the back-pointer check explained above.
+
+ * dom/EventListener.h:
+ (WebCore::EventListener::invalidateJSFunction): ditto
+
+ * dom/EventTarget.h:
+ (WebCore::EventTarget::markJSEventListeners):
+ (WebCore::EventTarget::invalidateJSEventListeners): ditto
+
+2010-02-04 Tony Chang <tony@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25002
+ When inserting a new paragraph, avoid nesting empty divs. When
+ pasting near the end of a paragraph, this prevents each paste
+ command for getting nested one level deeper.
+
+ Test: editing/inserting/paragraph-outside-nested-divs.html
+
+ * editing/InsertParagraphSeparatorCommand.cpp:
+ (WebCore::highestVisuallyEquivalentDiv):
+ (WebCore::InsertParagraphSeparatorCommand::doApply):
+
+2010-02-04 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ 1. Fix a bug in SQLiteTransaction: do not assume that COMMIT always
+ succeeds.
+ 2. Jump straight to the transaction error callback when a
+ statement fails in a way that makes sqlite automatically rollback
+ the transaction.
+ 3. Fix the code that handles the "quota reached" failure, as it is
+ one of the failures that lead to an automatic transaction
+ rollback.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34280
+
+ * platform/sql/SQLiteDatabase.cpp:
+ (WebCore::SQLiteDatabase::isAutoCommitOn):
+ * platform/sql/SQLiteDatabase.h:
+ * platform/sql/SQLiteTransaction.cpp:
+ (WebCore::SQLiteTransaction::begin):
+ (WebCore::SQLiteTransaction::commit):
+ (WebCore::SQLiteTransaction::rollback):
+ (WebCore::SQLiteTransaction::transactionWasRolledBackBySqlite):
+ * platform/sql/SQLiteTransaction.h:
+ * storage/SQLTransaction.cpp:
+ (WebCore::SQLTransaction::SQLTransaction):
+ (WebCore::SQLTransaction::runStatements):
+ (WebCore::SQLTransaction::runCurrentStatement):
+ (WebCore::SQLTransaction::handleCurrentStatementError):
+ (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
+
+2010-02-04 Peter Kasting <pkasting@google.com>
+
+ Not reviewed, rollback.
+
+ Rollback r54387, it doesn't fix builds and Chromium doesn't want this behavior.
+
+ * platform/chromium/ScrollbarThemeChromiumMac.h:
+
+2010-02-04 Stephen White <senorblanco@chromium.org>
+
+ Unreviewed, build fix.
+
+ Fix for Chromium/Mac after palindromic scrollbar change (54345).
+
+ Covered by many layout tests.
+
+ * platform/chromium/ScrollbarThemeChromiumMac.h:
+ (WebCore::ScrollbarThemeChromiumMac::maxOverlapBetweenPages):
+
+2010-02-04 Clemmitt Sigler <cmsigler@gmail.com>
+
+ Reviewed by David Levin.
+
+ WebKitGTK doesn't build GtkLauncher when --enable-mathml is specified.
+ Updated WebCore/GNUmakefile.am to include needed files in build.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34387
+
+ No new tests.
+
+ * GNUmakefile.am:
+
+2010-02-04 Stephan Aßmus <superstippi@gmx.de>
+
+ Reviewed by David Levin.
+
+ Misc coding style fixes in Haiku port code.
+ https://bugs.webkit.org/show_bug.cgi?id=34527
+
+ No tests needed.
+
+ * platform/haiku/ContextMenuItemHaiku.cpp: Trailing white space, NULL -> 0
+ * platform/haiku/DragImageHaiku.cpp: Trailing white space.
+ * platform/haiku/FileChooserHaiku.cpp: Sorted headers.
+ * platform/haiku/LocalizedStringsHaiku.cpp: Needed to include NotImplemented.h
+
+2010-02-04 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Csaba Osztrogonac.
+
+ Fixed crash on QT introduced with the fix for
+ https://bugs.webkit.org/show_bug.cgi?id=34609
+
+ The test has been added with the original patch.
+
+ * platform/qt/ClipboardQt.cpp:
+ (WebCore::ClipboardQt::writePlainText): Added missing allocation of m_writeData.
+
+2010-02-04 Christian Dywan <christian@twotoasts.de>
+
+ Reviewed by Xan Lopez.
+
+ Conditionalize third party cookie policy for libsoup 2.29.90.
+
+ * platform/network/soup/CookieJarSoup.cpp:
+ (WebCore::setCookies):
+ * platform/network/soup/DNSSoup.cpp:
+ (WebCore::prefetchDNS):
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::restartedCallback):
+ (WebCore::startHttp):
+ * platform/network/soup/ResourceRequestSoup.cpp:
+ (WebCore::ResourceRequest::toSoupMessage):
+ (WebCore::ResourceRequest::updateFromSoupMessage):
+
+2010-02-04 Christian Dywan <christian@twotoasts.de>
+
+ Rubber-stamped by Gustavo Noronha Silva.
+
+ Add ENABLE(VIDEO) guards around freeOwnedGPtr<GstElement> implementation.
+
+ * platform/gtk/GOwnPtrGtk.cpp:
+
+2010-02-04 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Assertion failure in CheckedRadioButtons::removeButton when using jQuery 1.4.1
+ https://bugs.webkit.org/show_bug.cgi?id=34520
+
+ Test: fast/dom/HTMLInputElement/cloned-input-checked-state.html
+
+ * dom/Element.cpp: (WebCore::Element::cloneElementWithoutChildren): Copy non-attribute
+ properties before attributes. Otherwise, copying "checked" attribute would make the cloned
+ node checked, unchecking original (they share a name, and are thus in the same radio group).
+ We do want the original to be unchecked, but we also want to know its original state in
+ HTMLInputElement::copyNonAttributeProperties().
+
+ * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::copyNonAttributeProperties):
+ Use setChecked instead of plain assignment to prevent m_checked getting out of sync with
+ checkedRadioButtons. Also, copy field related to default checked state, so that m_checked
+ won't be overridden when copying attributes.
+
+2010-02-04 Kevin Ollivier <kevino@theolliviers.com>
+
+ [wx] Build fix after addition of Clipboard::writePlainText method.
+
+ * platform/wx/ClipboardWx.cpp:
+ (WebCore::ClipboardWx::writePlainText):
+ * platform/wx/ClipboardWx.h:
+
+2010-02-04 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ REGRESSION: Dragging plain text into a styled text region does not acquire the correct style info.
+ <rdar://problem/7595685>
+ https://bugs.webkit.org/show_bug.cgi?id=34609
+
+ Test: editing/pasteboard/drop-inputtext-acquires-style.html
+
+ The dragging code did not distinguish the case of dragging the content of an input control
+ as a special case. The markup placed in the pasteboard included the style information.
+ I've modified the Clipboard class interface adding a new method writePlainText to match the
+ behavior of the copy and cut commands and modified the drag code to detect the special case.
+ I've modified all the platform specific implementations of the Clipboard class.
+
+ * dom/Clipboard.h: Added writePlainText pure virtual function.
+ * editing/Editor.cpp:
+ (WebCore::Editor::cut): Renamed nodeIsTextFormControl to isNodeInTextFormControl.
+ (WebCore::Editor::copy): Renamed nodeIsTextFormControl to isNodeInTextFormControl.
+ * editing/htmlediting.cpp:
+ (WebCore::isNodeInTextFormControl): Added, after removing the implementation with the old name
+ in Editor.cpp
+ * editing/htmlediting.h:
+ * page/DragController.cpp:
+ (WebCore::DragController::startDrag):
+ * platform/Pasteboard.h:
+ * platform/android/ClipboardAndroid.cpp:
+ (WebCore::ClipboardAndroid::writePlainText): Added.
+ * platform/android/ClipboardAndroid.h:
+ * platform/chromium/ClipboardChromium.cpp:
+ (WebCore::ClipboardChromium::writePlainText): Added.
+ * platform/chromium/ClipboardChromium.h:
+ * platform/gtk/ClipboardGtk.cpp:
+ (WebCore::ClipboardGtk::writePlainText): Added.
+ * platform/gtk/ClipboardGtk.h:
+ * platform/haiku/ClipboardHaiku.cpp:
+ (WebCore::ClipboardHaiku::writePlainText): Added.
+ * platform/haiku/ClipboardHaiku.h:
+ * platform/mac/ClipboardMac.h:
+ * platform/mac/ClipboardMac.mm:
+ (WebCore::ClipboardMac::writePlainText): Added.
+ * platform/mac/PasteboardMac.mm:
+ (WebCore::Pasteboard::writePlainText): Added helper function.
+ * platform/qt/ClipboardQt.cpp:
+ (WebCore::ClipboardQt::writePlainText): Added.
+ * platform/qt/ClipboardQt.h:
+ * platform/win/ClipboardWin.cpp:
+ (WebCore::ClipboardWin::writePlainText): Added.
+ * platform/win/ClipboardWin.h:
+
+2010-02-04 Steve Block <steveblock@google.com>
+
+ Reviewed by Nate Chapin.
+
+ Fix bug in V8 convertNPVariantToJValue when converting float and double types
+ https://bugs.webkit.org/show_bug.cgi?id=34593
+
+ No new tests, build fix only.
+
+ * bridge/jni/v8/JNIUtilityPrivate.cpp: Modified.
+ (JSC::Bindings::convertNPVariantToJValue): Modified. Use correct members of 'result' enum.
+
+2010-02-04 Chris Guillory <chris.guillory@google.com>
+
+ Reviewed by Darin Fisher.
+
+ [Chromium] Notify ChromeClientChromium of AccessibilityObject state
+ change notifications.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34464
+
+ * accessibility/chromium/AXObjectCacheChromium.cpp:
+ (WebCore::toChromeClientChromium):
+ (WebCore::AXObjectCache::postPlatformNotification):
+ * page/chromium/ChromeClientChromium.h:
+
+2010-02-04 Stephen White <senorblanco@chromium.org>
+
+ Unreviewed, build fix for Chromium.
+
+ Revert r54341 ("[v8] Remove clear method from DOM object maps"),
+ since it causes the worker tests to fail on Chromium.
+
+ * bindings/v8/DOMData.h:
+ (WebCore::DOMData::removeObjectsFromWrapperMap):
+ * bindings/v8/DOMDataStore.h:
+ (WebCore::ChunkedTable::clear):
+ (WebCore::ChunkedTable::clearEntries):
+ (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::clear):
+ (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::ChunkedTableTraits::clear):
+ * bindings/v8/V8DOMMap.cpp:
+ (WebCore::removeAllDOMObjectsInCurrentThreadHelper):
+ (WebCore::removeAllDOMObjectsInCurrentThread):
+ * bindings/v8/V8DOMMap.h:
+ (WebCore::WeakReferenceMap::clear):
+ * bindings/v8/WorkerScriptController.cpp:
+ (WebCore::WorkerScriptController::~WorkerScriptController):
+
+2010-02-04 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] Crashes when an invalid hostname is pre-fetched
+ https://bugs.webkit.org/show_bug.cgi?id=34602
+
+ * platform/network/soup/DNSSoup.cpp:
+ (WebCore::prefetchDNS): NULL-check the SoupURI that is created
+ from the hostname; that will happen for invalid hostnames.
+
+2010-02-04 José Millán Soto <jmillan@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ [Gtk] webkitgtk crashed when Orca open
+ https://bugs.webkit.org/show_bug.cgi?id=34463
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (textForObject):
+ Checking if render objects are texts before calling toRenderText
+
+2010-02-04 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ Set first party URI in all SoupMessages. This allows libsoup to
+ implement a "no third party cookies" policy in case it wants
+ to. Also start a non-JSC-specific, gtk-specific GOwnPtr module and
+ use it for SoupURI.
+
+ * platform/network/soup/CookieJarSoup.cpp:
+ (WebCore::setCookies):
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::restartedCallback):
+ (WebCore::startHttp):
+ * platform/network/soup/ResourceRequestSoup.cpp:
+ (WebCore::ResourceRequest::toSoupMessage):
+ (WebCore::ResourceRequest::updateFromSoupMessage):
+
+2010-02-04 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: group cookies by domains, not frame's domains.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34599
+
+ * inspector/front-end/CookieItemsView.js:
+ (WebInspector.CookieItemsView.prototype._cookiesForDomain):
+ * inspector/front-end/inspector.js:
+ (WebInspector.updateResource):
+ (WebInspector._addCookieDomain):
+
+2010-02-04 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [V8] Delete V8CustomBinding.h and all references to V8Custom
+
+ https://bugs.webkit.org/show_bug.cgi?id=32638
+
+ * bindings/v8/NPV8Object.cpp:
+ * bindings/v8/V8DOMWindowShell.h:
+ * bindings/v8/V8NPObject.cpp:
+ * bindings/v8/V8Utilities.cpp:
+ * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
+ * bindings/v8/custom/V8AttrCustom.cpp:
+ * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
+ * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
+ * bindings/v8/custom/V8ClipboardCustom.cpp:
+ * bindings/v8/custom/V8CoordinatesCustom.cpp:
+ * bindings/v8/custom/V8CustomBinding.h: Removed.
+ * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ * bindings/v8/custom/V8DataGridColumnListCustom.cpp:
+ * bindings/v8/custom/V8DatabaseCustom.cpp:
+ * bindings/v8/custom/V8ElementCustom.cpp:
+ * bindings/v8/custom/V8EventSourceConstructor.cpp:
+ * bindings/v8/custom/V8EventSourceCustom.cpp:
+ * bindings/v8/custom/V8GeolocationCustom.cpp:
+ * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
+ * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
+ (WebCore::v8HTMLAudioElementConstructorCallback):
+ (WebCore::V8HTMLAudioElementConstructor::GetTemplate):
+ * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
+ * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp:
+ * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
+ * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
+ * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
+ (WebCore::v8HTMLImageElementConstructorCallback):
+ (WebCore::V8HTMLImageElementConstructor::GetTemplate):
+ * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
+ * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
+ (WebCore::v8HTMLOptionElementConstructorCallback):
+ (WebCore::V8HTMLOptionElementConstructor::GetTemplate):
+ * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
+ * bindings/v8/custom/V8HistoryCustom.cpp:
+ * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
+ * bindings/v8/custom/V8LocationCustom.cpp:
+ * bindings/v8/custom/V8MessagePortCustom.cpp:
+ * bindings/v8/custom/V8NodeCustom.cpp:
+ * bindings/v8/custom/V8NodeFilterCustom.cpp:
+ * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
+ * bindings/v8/custom/V8SQLTransactionCustom.cpp:
+ * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
+ * bindings/v8/custom/V8SVGLengthCustom.cpp:
+ * bindings/v8/custom/V8SharedWorkerCustom.cpp:
+ * bindings/v8/custom/V8StorageCustom.cpp:
+ * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
+ * bindings/v8/custom/V8WebGLArrayCustom.h:
+ * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
+ * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
+ * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
+ * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
+ * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
+ * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
+ * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
+ * bindings/v8/custom/V8WebKitPointConstructor.cpp:
+ * bindings/v8/custom/V8WorkerContextCustom.cpp:
+ * bindings/v8/custom/V8WorkerCustom.cpp:
+ * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
+ * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
+ * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
+
+2010-02-04 Ariya Hidayat <ariya.hidayat@gmail.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Unnecessary QBrush construction for doing a solid fill
+ https://bugs.webkit.org/show_bug.cgi?id=34559
+
+ Use the similar trick like r37421, i.e. use the special brush for
+ solid color to avoid creating QBrush again and again.
+
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::GraphicsContext::setPlatformFillColor):
+
+2010-02-04 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ REGRESSION (r53718): When scrolling a tall window by page, the overlap between pages is too big
+ https://bugs.webkit.org/show_bug.cgi?id=34371
+
+ Allow ScrollbarTheme to cap the overlap between pages, and set a cap of
+ 40 in ScrollbarThemeMac.
+
+ * WebCore.base.exp: Export Scrollbar::maxOverlapBetweenPages().
+ * editing/EditorCommand.cpp:
+ (WebCore::verticalScrollDistance): Use Scrollbar methods instead of
+ constants, and cap the scroll distance if needed.
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::updateScrollbars): Ditto.
+ (WebCore::ScrollView::wheelEvent): Ditto.
+ * platform/Scrollbar.cpp:
+ (WebCore::Scrollbar::maxOverlapBetweenPages): Added. Returns the
+ value from the native scrollbar theme.
+ * platform/Scrollbar.h: Replaced scroll amount constants with static methods.
+ (WebCore::Scrollbar::pixelsPerLineStep): Replaces cScrollbarPixelsPerLineStep.
+ (WebCore::Scrollbar::minFractionToStepWhenPaging): Replaces cFractionToStepWhenPaging.
+ * platform/ScrollbarTheme.h:
+ (WebCore::ScrollbarTheme::maxOverlapBetweenPages): A base implementation
+ that returns the largest int.
+ * platform/gtk/WheelEventGtk.cpp:
+ (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use Scrollbar methods instead of
+ constants.
+ * platform/haiku/PlatformWheelEventHaiku.cpp:
+ (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use Scrollbar methods instead of
+ constants.
+ * platform/mac/ScrollbarThemeMac.h:
+ (WebCore::ScrollbarThemeMac::maxOverlapBetweenPages): An override
+ that returns 40.
+ * platform/mac/WheelEventMac.mm:
+ (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use
+ Scrollbar::pixelsPerLineStep() instead of cScrollbarPixelsPerLineStep.
+ * platform/wx/MouseWheelEventWx.cpp:
+ (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use Scrollbar methods instead of
+ constants.
+ * platform/wx/ScrollViewWx.cpp:
+ (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents): Use Scrollbar
+ methods instead of constants, and cap the scroll distance if needed.
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateScrollInfoAfterLayout): Ditto.
+
+2010-02-04 No'am Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Ariya Hidayat.
+
+ [Qt] Tuning and optimizations to GraphicsLayerQt. Reduce unnecessary
+ recaching, remove QTimer::singleShot and QPixmap::scaled, more
+ accurate strategy of handling transform operation blends. Rotating a
+ bordered-table, for example, now runs at 50FPS instead of 40FPS on Maemo5.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34062
+
+ This is tested by https://bugs.webkit.org/show_bug.cgi?id=34450, fps measurements.
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::GraphicsLayerQtImpl::flushChanges): Fine-tune caching
+ (WebCore::TransformAnimationQt::TransformAnimationQt): transform bugs
+ (WebCore::OpacityAnimationQt::updateState): style change
+
+2010-02-04 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Cookies for resources are not shown in storage panel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34594
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::getCookies):
+ * inspector/InspectorResource.cpp:
+ (WebCore::InspectorResource::updateScriptObject):
+ (WebCore::InspectorResource::cachedResource):
+ * inspector/InspectorResource.h:
+ (WebCore::InspectorResource::requestURL):
+
+2010-02-04 Anton Muhin <antonm@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ [v8] Remove clear method from DOM object maps
+ https://bugs.webkit.org/show_bug.cgi?id=34530
+
+ No new tests. Should be covered by existent testing infrastructure.
+
+ * bindings/v8/DOMData.h:
+ * bindings/v8/DOMDataStore.h:
+ * bindings/v8/V8DOMMap.cpp:
+ * bindings/v8/V8DOMMap.h:
+ * bindings/v8/WorkerScriptController.cpp:
+ (WebCore::WorkerScriptController::~WorkerScriptController):
+
+2010-02-04 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Xan Lopez.
+
+ [Gtk] Check if the renderer() exists in textForObject.
+
+ This is fixing a crash in the textForObject method. It can
+ happen when inspecting AtkObjects in the accerciser, then
+ navigating to a new page and still inspecting the old tree.
+
+ In this case the AccessibilityObjectWrapperAtk was still
+ valid but the included renderer() was returning 0. Add a
+ check for the accObject->renderer() before trying to use
+ the result.
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (textForObject):
+
+2010-02-04 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Provide strongly typed C++ interface for inspector's injected script.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33616
+
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSInjectedScriptHostCustom.cpp:
+ (WebCore::InjectedScriptHost::injectedScriptFor):
+ * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
+ (WebCore::InjectedScriptHost::injectedScriptFor):
+ * inspector/InjectedScript.cpp: Added.
+ (WebCore::InjectedScript::InjectedScript):
+ (WebCore::InjectedScript::dispatch):
+ (WebCore::InjectedScript::callFrames):
+ (WebCore::InjectedScript::wrapAndStringifyForConsole):
+ (WebCore::InjectedScript::releaseWrapperObjectGroup):
+ * inspector/InjectedScript.h: Added.
+ (WebCore::InjectedScript::InjectedScript):
+ (WebCore::InjectedScript::~InjectedScript):
+ (WebCore::InjectedScript::hasNoValue):
+ * inspector/InjectedScriptHost.cpp:
+ (WebCore::InjectedScriptHost::injectedScriptForId):
+ (WebCore::InjectedScriptHost::releaseWrapperObjectGroup):
+ * inspector/InjectedScriptHost.h:
+ * inspector/InspectorBackend.cpp:
+ (WebCore::InspectorBackend::dispatchOnInjectedScript):
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::InspectorController):
+ (WebCore::InspectorController::~InspectorController):
+ (WebCore::InspectorController::inspectedPageDestroyed):
+ (WebCore::InspectorController::windowScriptObjectAvailable):
+ (WebCore::InspectorController::scriptObjectReady):
+ (WebCore::InspectorController::setFrontendProxyObject):
+ (WebCore::InspectorController::close):
+ (WebCore::InspectorController::getProfile):
+ (WebCore::InspectorController::enableDebugger):
+ (WebCore::InspectorController::didPause):
+ (WebCore::InspectorController::injectedScriptForNodeId):
+ * inspector/InspectorController.h:
+ (WebCore::InspectorController::frontendScriptState):
+ * inspector/InspectorFrontend.cpp:
+ (WebCore::InspectorFrontend::addConsoleMessage):
+ * inspector/front-end/InjectedScript.js:
+ (injectedScriptConstructor):
+
+2010-02-04 Philippe Normand <pnormand@igalia.com>
+
+ Rubber stamped by Xan Lopez.
+
+ Missing include, build fix after landing of patch from the bug 34435.
+
+ * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
+
+2010-02-02 Philippe Normand <pnormand@igalia.com>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ [Gtk] libsoup critical warning in media player http cookies injection code
+ https://bugs.webkit.org/show_bug.cgi?id=34435
+
+ Fixed the critical warning and refactored the
+ User-Agent/Referer/cookies injection code, in that order. Previous
+ order (cookies first) was wrong because if cookies injection could
+ not be done neither the User-Agent nor Referer were injected. Also
+ started a non-JSC-specific, gtk-specific GOwnPtr module.
+
+ * GNUmakefile.am:
+ * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::mediaPlayerPrivateSourceChangedCallback):
+ * platform/gtk/GOwnPtrGtk.cpp: Added.
+ (WTF::SoupURI):
+ (WTF::GstElement):
+ * platform/gtk/GOwnPtrGtk.h: Added.
+
+2010-02-04 Mikhail Naganov <mnaganov@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Put JSC-specific debugger & profiler code under "USE(JSC)" defines.
+ The plan is to enable "JAVASCRIPT_DEBUGGER" in Chromium and then
+ make this code engine-agnostic.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34531
+
+ * inspector/InjectedScriptHost.cpp:
+ * inspector/InjectedScriptHost.h:
+ * inspector/InspectorBackend.cpp:
+ * inspector/InspectorBackend.h:
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::InspectorController):
+ (WebCore::InspectorController::setWindowVisible):
+ (WebCore::InspectorController::scriptObjectReady):
+ (WebCore::InspectorController::close):
+ (WebCore::InspectorController::didCommitLoad):
+ * inspector/InspectorController.h:
+ * inspector/InspectorFrontend.cpp:
+ * inspector/InspectorFrontend.h:
+ * inspector/JavaScriptCallFrame.cpp:
+ * inspector/JavaScriptCallFrame.h:
+ * inspector/JavaScriptDebugListener.h:
+ * inspector/JavaScriptDebugServer.cpp:
+ * inspector/JavaScriptDebugServer.h:
+ * inspector/JavaScriptProfile.cpp:
+ * inspector/JavaScriptProfile.h:
+ * inspector/JavaScriptProfileNode.cpp:
+ * inspector/JavaScriptProfileNode.h:
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
+ * page/Page.cpp:
+ (WebCore::Page::Page):
+
+2010-02-03 Nicholas Young <nicholas.young@nokia.com>
+
+ Reviewed by Eric Carlson.
+
+ Defer formatting of times displayed on media controls to the current theme.
+ https://bugs.webkit.org/show_bug.cgi?id=34405
+
+ No new tests needed. Refactoring Only.
+
+ * rendering/MediaControlElements.cpp: Removed formatTime()
+ (WebCore::MediaControlTimeDisplayElement::setCurrentValue): No longer sets inner text
+ * rendering/MediaControlElements.h:
+ * rendering/RenderMedia.cpp:
+ (WebCore::RenderMedia::updateTimeDisplay): Asks the theme to format the time display elements
+ * rendering/RenderTheme.cpp:
+ (WebCore::RenderTheme::formatMediaControlsTime): new virtual method
+ (WebCore::RenderTheme::formatMediaControlsCurrentTime): new virtual method
+ (WebCore::RenderTheme::formatMediaControlsRemainingTime): new virtual method
+ * rendering/RenderTheme.h:
+
+2010-02-03 Steve Falkenburg <sfalken@apple.com>
+
+ Windows Debug_All build fix.
+
+ * platform/graphics/win/WKCACFLayer.cpp:
+
+2010-02-03 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ REGRESSION (r51644): WebCore/manual-tests/linkjump-1.html fails
+ <rdar://problem/7595694> and https://bugs.webkit.org/show_bug.cgi?id=34550
+
+ Tests: fast/loader/document-with-fragment-url-1.html
+ fast/loader/document-with-fragment-url-2.html
+ fast/loader/document-with-fragment-url-3.html
+ fast/loader/document-with-fragment-url-4.html
+
+ * platform/KURL.cpp:
+ (WebCore::KURL::init): When resolving new URL from an empty reference relative to an absolute URL,
+ any fragment identifier from the absolute URL should be removed from the resulting resolution.
+
+2010-02-03 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Port TextBreakIteratorInternalICU
+ https://bugs.webkit.org/show_bug.cgi?id=34515
+
+ Port TextBreakIteratorInternalICU.
+
+ * platform/text/brew/TextBreakIteratorInternalICUBrew.cpp: Added.
+ (WebCore::currentSearchLocaleID):
+ (WebCore::currentTextBreakLocaleID):
+
+2010-02-03 Adele Peterson <adele@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Fix for <rdar://problem/7594212>
+ https://bugs.webkit.org/show_bug.cgi?id=34549 - CSS counters crash at http://www.w3.org/TR/css3-content/
+ CrashTracer: [USER] 20 crashes in Safari at com.apple.WebCore: WebCore::CounterNode::insertAfter + 319
+
+ Test: fast/css/counters/counter-before-selector-crash.html
+
+ * rendering/RenderCounter.cpp: (WebCore::updateCounters): nil check.
+
+2010-02-03 Adele Peterson <adele@apple.com>
+
+ Reviewed by Brady Eidson.
+
+ Initialize the variable in the last checkin to false. I didn't realize DRT relies on this being false.
+ So ports that want visited link tracking need to set that flag.
+
+ * page/PageGroup.cpp:
+
+2010-02-03 Adele Peterson <adele@apple.com>
+
+ Reviewed by Brady Eidson.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=34547
+ static shouldTrackVisitedLinks is not initialized
+
+ For ports that don't call into WebKit to initialize this,
+ we should initialize to true so they get the visited link behavior by default.
+
+ * page/PageGroup.cpp:
+
+2010-02-03 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <rdar://problem/7577604> Drag and Drop: background elements are bleeding through
+ https://bugs.webkit.org/show_bug.cgi?id=34546
+
+ * manual-tests/drag-image-table-part-decorations.html: Added.
+ * rendering/RenderFieldset.cpp:
+ (WebCore::RenderFieldset::paintBoxDecorations): Bail out if this object shouldn’t
+ paint within the current painting root.
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::paintBoxDecorations): Ditto.
+ * rendering/RenderTableCell.cpp:
+ (WebCore::RenderTableCell::paintBackgroundsBehindCell): Ditto.
+ (WebCore::RenderTableCell::paintBoxDecorations): Ditto.
+
+2010-02-03 Nate Chapin <japhet@chromium.org>
+
+ Unreviewed, Chromium mac build fix.
+
+ [V8] Remove unused V8Proxy* variable from generated wrapping code.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+
+2010-02-03 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [V8] Use toV8() to wrap in the custom bindings, and remove
+ the old wrapping code from V8DOMWrapper.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32563
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/ScriptController.cpp:
+ * bindings/v8/ScriptObject.cpp:
+ * bindings/v8/V8AbstractEventListener.cpp:
+ * bindings/v8/V8Collection.h:
+ * bindings/v8/V8DOMWindowShell.cpp:
+ * bindings/v8/V8DOMWrapper.cpp:
+ * bindings/v8/V8DOMWrapper.h:
+ * bindings/v8/V8NodeFilterCondition.cpp:
+ * bindings/v8/V8Proxy.cpp:
+ * bindings/v8/WorkerContextExecutionProxy.h
+ * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
+ * bindings/v8/custom/V8CustomPositionCallback.cpp:
+ * bindings/v8/custom/V8CustomPositionErrorCallback.cpp:
+ * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
+ * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
+ * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
+ * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ * bindings/v8/custom/V8DataGridColumnListCustom.cpp:
+ * bindings/v8/custom/V8DocumentCustom.cpp:
+ * bindings/v8/custom/V8DocumentLocationCustom.cpp:
+ * bindings/v8/custom/V8ElementCustom.cpp:
+ * bindings/v8/custom/V8EventCustom.cpp:
+ * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
+ * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
+ * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
+ * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
+ * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
+ * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
+ * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
+ * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
+ * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
+ * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
+ * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
+ * bindings/v8/custom/V8MessageChannelConstructor.cpp:
+ * bindings/v8/custom/V8MessageEventCustom.cpp:
+ * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
+ * bindings/v8/custom/V8NodeIteratorCustom.cpp:
+ * bindings/v8/custom/V8NodeListCustom.cpp:
+ * bindings/v8/custom/V8NotificationCenterCustom.cpp:
+ * bindings/v8/custom/V8SVGMatrixCustom.cpp:
+ * bindings/v8/custom/V8StyleSheetListCustom.cpp:
+ * bindings/v8/custom/V8TreeWalkerCustom.cpp:
+ * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
+ * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
+
+2010-02-03 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix drawing buttons in viewless WebKit.
+
+ * platform/mac/ThemeMac.mm:
+ (WebCore::paintButton): If there is no view, make sure to flip the
+ context so that the button is drawn correctly.
+
+2010-02-03 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] WebSockets : Buffer the data in WebKit instead of QtNetwork
+ https://bugs.webkit.org/show_bug.cgi?id=34425
+
+ Reverting r54279, it was a misunderstanding.
+
+ * platform/network/qt/SocketStreamHandlePrivate.h:
+ * platform/network/qt/SocketStreamHandleQt.cpp:
+ (WebCore::SocketStreamHandlePrivate::SocketStreamHandlePrivate):
+ (WebCore::SocketStreamHandlePrivate::send):
+ (WebCore::SocketStreamHandlePrivate::close):
+
+2010-02-03 Drew Wilson <atwilson@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ SharedWorkerScriptLoader should not be an ActiveDOMObject
+ https://bugs.webkit.org/show_bug.cgi?id=34513
+
+ Test: Existing tests suffice (fixes test downstream in Chrome).
+
+ * workers/DefaultSharedWorkerRepository.cpp:
+ (WebCore::SharedWorkerScriptLoader::SharedWorkerScriptLoader):
+ Changed to no longer derive from ActiveDOMObject (handles its own refcounting).
+ (WebCore::SharedWorkerScriptLoader::load):
+ Now increments own refcount when a load is pending.
+ (WebCore::SharedWorkerScriptLoader::notifyFinished):
+ Changed to decrement refcount when load is complete.
+ * workers/WorkerScriptLoaderClient.h:
+ Documentation change about reliability of notifyFinished() when used from worker context.
+
+2010-02-03 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Inspector renders blank scripts on reloading the webpage.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34537
+
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
+
+2010-02-03 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Provide strongly typed C++ interface for inspector's injected script.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33616
+
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSInjectedScriptHostCustom.cpp:
+ (WebCore::InjectedScriptHost::injectedScriptFor):
+ * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
+ (WebCore::InjectedScriptHost::injectedScriptFor):
+ * inspector/InjectedScript.cpp: Added.
+ (WebCore::InjectedScript::InjectedScript):
+ (WebCore::InjectedScript::dispatch):
+ (WebCore::InjectedScript::callFrames):
+ (WebCore::InjectedScript::wrapAndStringify):
+ (WebCore::InjectedScript::releaseWrapperObjectGroup):
+ * inspector/InjectedScript.h: Added.
+ (WebCore::InjectedScript::InjectedScript):
+ (WebCore::InjectedScript::~InjectedScript):
+ (WebCore::InjectedScript::hasNoValue):
+ * inspector/InjectedScriptHost.cpp:
+ (WebCore::InjectedScriptHost::injectedScriptForId):
+ (WebCore::InjectedScriptHost::releaseWrapperObjectGroup):
+ * inspector/InjectedScriptHost.h:
+ * inspector/InspectorBackend.cpp:
+ (WebCore::InspectorBackend::dispatchOnInjectedScript):
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::InspectorController):
+ (WebCore::InspectorController::~InspectorController):
+ (WebCore::InspectorController::inspectedPageDestroyed):
+ (WebCore::InspectorController::windowScriptObjectAvailable):
+ (WebCore::InspectorController::scriptObjectReady):
+ (WebCore::InspectorController::setFrontendProxyObject):
+ (WebCore::InspectorController::close):
+ (WebCore::InspectorController::getProfile):
+ (WebCore::InspectorController::enableDebugger):
+ (WebCore::InspectorController::didPause):
+ (WebCore::InspectorController::injectedScriptForNodeId):
+ * inspector/InspectorController.h:
+ (WebCore::InspectorController::frontendScriptState):
+ * inspector/InspectorFrontend.cpp:
+ (WebCore::InspectorFrontend::addConsoleMessage):
+
+2010-02-03 Andras Becsi <abecsi@webkit.org>
+
+ Unreviewed build fix.
+
+ [Qt] Roll-out r54281 because it broke the build on the Qt Release bot.
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::GraphicsLayerQtImpl::State::State):
+ (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
+ (WebCore::GraphicsLayerQtImpl::setBaseTransform):
+ (WebCore::GraphicsLayerQtImpl::drawContents):
+ (WebCore::GraphicsLayerQtImpl::notifyChange):
+ (WebCore::GraphicsLayerQtImpl::flushChanges):
+ (WebCore::GraphicsLayerQt::setNeedsDisplayInRect):
+ (WebCore::applyTimingFunction):
+ (WebCore::webkitAnimationToQtAnimationValue):
+ (WebCore::AnimationQtBase::updateState):
+ (WebCore::AnimationQt::updateCurrentTime):
+ (WebCore::TransformAnimationQt::TransformAnimationQt):
+ (WebCore::TransformAnimationQt::~TransformAnimationQt):
+ (WebCore::TransformAnimationQt::applyFrame):
+ (WebCore::TransformAnimationQt::updateState):
+ (WebCore::OpacityAnimationQt::updateState):
+ (WebCore::GraphicsLayerQt::pauseAnimation):
+
+2010-02-02 Bryan Yeung <bryeung@google.com>
+
+ Reviewed by Darin Adler.
+
+ Avoid using an invalidated KURL object in baseURI.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34492
+
+ This change fixes baseURI for Chromium (where the KURL implementation
+ does not allow invalid KURLs to carry relative paths). This is
+ regression tested by
+ LayoutTests/svg/W3C-SVG-1.1/struct-image-07-t.svg
+
+ This is a re-application of this patch since it was mistakenly identified as
+ the cause of a big chromium test regression and rolled out in r54264.
+
+ * dom/Element.cpp:
+ (WebCore::Element::baseURI):
+
+2010-02-02 Joel Stanley <joel@jms.id.au>
+
+ Reviewed by David Levin.
+
+ [Chromium] Make setCaretBlinkInterval static.
+ https://bugs.webkit.org/show_bug.cgi?id=31704
+
+ This is so it can be called from the newly exposed Chromium API setter
+ method.
+
+ * rendering/RenderThemeChromiumLinux.cpp:
+ * rendering/RenderThemeChromiumLinux.h:
+
+2010-02-02 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] WebSockets : Buffer the data in WebKit instead of QtNetwork
+ https://bugs.webkit.org/show_bug.cgi?id=34425
+
+ Buffer the sent data in SocketStreamHandlePrivate instead of relying on
+ the network layer to do it. This is more robust and more consistent with how
+ Qt's HTTP stack works.
+ Close the socket in SocketStreamHandlePrivate::close() regardless of its state.
+
+ No new tests, since no new functionality is introduced.
+
+ * platform/network/qt/SocketStreamHandlePrivate.h:
+ * platform/network/qt/SocketStreamHandleQt.cpp:
+ (WebCore::SocketStreamHandlePrivate::SocketStreamHandlePrivate):
+ (WebCore::SocketStreamHandlePrivate::send):
+ (WebCore::SocketStreamHandlePrivate::close):
+ (WebCore::SocketStreamHandlePrivate::socketBytesWritten):
+
+2010-02-03 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Unreviewed revert of r54259 as it seems to break chromium's unit tests.
+ The tests pass with r54257 but fail with r54260.
+ As r54258 and r54260 don't touch code, I'm reverting this change.
+
+ [V8] Generate toV8 conversion helpers, a la JSC bindings.
+ https://bugs.webkit.org/show_bug.cgi?id=32563
+
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::processingUserGesture):
+ (WebCore::createScriptObject):
+ (WebCore::ScriptController::createScriptObjectForPluginElement):
+ * bindings/v8/ScriptObject.cpp:
+ (WebCore::ScriptGlobalObject::set):
+ * bindings/v8/V8AbstractEventListener.cpp:
+ (WebCore::V8AbstractEventListener::handleEvent):
+ * bindings/v8/V8Collection.h:
+ (WebCore::getV8Object):
+ (WebCore::toNativeCollection):
+ (WebCore::getNamedPropertyOfCollection):
+ (WebCore::collectionNamedPropertyGetter):
+ (WebCore::getIndexedPropertyOfCollection):
+ (WebCore::collectionIndexedPropertyGetter):
+ (WebCore::nodeCollectionIndexedPropertyEnumerator):
+ (WebCore::collectionIndexedPropertyEnumerator):
+ (WebCore::collectionStringOrNullIndexedPropertyGetter):
+ (WebCore::collectionStringIndexedPropertyGetter):
+ (WebCore::setCollectionIndexedGetter):
+ (WebCore::setCollectionNamedGetter):
+ (WebCore::setCollectionStringOrNullIndexedGetter):
+ (WebCore::setCollectionStringIndexedGetter):
+ * bindings/v8/V8DOMWindowShell.cpp:
+ (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::downcastSVGPathSeg):
+ (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object):
+ (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
+ (WebCore::V8DOMWrapper::convertToV8Object):
+ (WebCore::V8DOMWrapper::instantiateV8Object):
+ (WebCore::V8DOMWrapper::isDOMEventWrapper):
+ (WebCore::V8DOMWrapper::htmlElementType):
+ (WebCore::V8DOMWrapper::svgElementType):
+ (WebCore::V8DOMWrapper::convertEventToV8Object):
+ (WebCore::):
+ (WebCore::V8DOMWrapper::convertDocumentToV8Object):
+ (WebCore::V8DOMWrapper::convertNodeToV8Object):
+ (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
+ (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
+ (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object):
+ (WebCore::V8DOMWrapper::convertStyleSheetToV8Object):
+ (WebCore::V8DOMWrapper::convertCSSValueToV8Object):
+ (WebCore::V8DOMWrapper::convertCSSRuleToV8Object):
+ (WebCore::V8DOMWrapper::convertWindowToV8Object):
+ (WebCore::V8DOMWrapper::convertNamedNodeMapToV8Object):
+ * bindings/v8/V8DOMWrapper.h:
+ (WebCore::V8DOMWrapper::convertToV8Object):
+ (WebCore::V8DOMWrapper::convertNodeToV8Object):
+ (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
+ (WebCore::V8DOMWrapper::convertEventToV8Object):
+ (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
+ (WebCore::V8DOMWrapper::instantiateV8Object):
+ * bindings/v8/V8NodeFilterCondition.cpp:
+ (WebCore::V8NodeFilterCondition::acceptNode):
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::setDOMException):
+ * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
+ (WebCore::toV8Object):
+ (WebCore::V8CanvasRenderingContext2D::createPatternCallback):
+ * bindings/v8/custom/V8CustomPositionCallback.cpp:
+ (WebCore::V8CustomPositionCallback::handleEvent):
+ * bindings/v8/custom/V8CustomPositionErrorCallback.cpp:
+ (WebCore::V8CustomPositionErrorCallback::handleEvent):
+ * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
+ (WebCore::V8CustomSQLStatementCallback::handleEvent):
+ * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
+ (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
+ * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
+ (WebCore::V8CustomSQLTransactionCallback::handleEvent):
+ * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
+ (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::V8DOMWindow::openCallback):
+ (WebCore::V8DOMWindow::indexedPropertyGetter):
+ (WebCore::V8DOMWindow::namedPropertyGetter):
+ * bindings/v8/custom/V8DataGridColumnListCustom.cpp:
+ (WebCore::NAMED_PROPERTY_GETTER):
+ * bindings/v8/custom/V8DocumentCustom.cpp:
+ (WebCore::V8Document::evaluateCallback):
+ (WebCore::V8Document::getCSSCanvasContextCallback):
+ (WebCore::V8Document::implementationAccessorGetter):
+ * bindings/v8/custom/V8DocumentLocationCustom.cpp:
+ (WebCore::V8Document::locationAccessorGetter):
+ * bindings/v8/custom/V8ElementCustom.cpp:
+ (WebCore::V8Element::setAttributeNodeCallback):
+ (WebCore::V8Element::setAttributeNodeNSCallback):
+ * bindings/v8/custom/V8EventCustom.cpp:
+ (WebCore::V8Event::dataTransferAccessorGetter):
+ (WebCore::V8Event::clipboardDataAccessorGetter):
+ * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
+ (WebCore::getNamedItems):
+ (WebCore::getItem):
+ (WebCore::V8HTMLAllCollection::callAsFunctionCallback):
+ * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
+ (WebCore::V8Custom::v8HTMLAudioElementConstructorCallback):
+ * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
+ (WebCore::V8HTMLCanvasElement::getContextCallback):
+ * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
+ (WebCore::getNamedItems):
+ (WebCore::getItem):
+ (WebCore::V8HTMLCollection::callAsFunctionCallback):
+ * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
+ (WebCore::V8HTMLDocument::namedPropertyGetter):
+ (WebCore::V8HTMLDocument::allAccessorGetter):
+ * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
+ (WebCore::V8HTMLFormElement::indexedPropertyGetter):
+ (WebCore::V8HTMLFormElement::namedPropertyGetter):
+ * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
+ (WebCore::V8HTMLFrameSetElement::namedPropertyGetter):
+ * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
+ (WebCore::V8Custom::v8HTMLImageElementConstructorCallback):
+ * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
+ (WebCore::V8HTMLOptionsCollection::indexedPropertyGetter):
+ * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
+ (WebCore::V8HTMLSelectElement::namedPropertyGetter):
+ (WebCore::V8HTMLSelectElement::indexedPropertyGetter):
+ * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
+ (WebCore::createInjectedScript):
+ (WebCore::V8InjectedScriptHost::nodeForIdCallback):
+ (WebCore::V8InjectedScriptHost::databaseForIdCallback):
+ * bindings/v8/custom/V8MessageChannelConstructor.cpp:
+ (WebCore::V8MessageChannel::constructorCallback):
+ * bindings/v8/custom/V8MessageEventCustom.cpp:
+ (WebCore::V8MessageEvent::portsAccessorGetter):
+ * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
+ (WebCore::V8NamedNodeMap::indexedPropertyGetter):
+ (WebCore::V8NamedNodeMap::namedPropertyGetter):
+ * bindings/v8/custom/V8NodeIteratorCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8NodeListCustom.cpp:
+ (WebCore::V8NodeList::namedPropertyGetter):
+ (WebCore::V8NodeList::callAsFunctionCallback):
+ * bindings/v8/custom/V8NotificationCenterCustom.cpp:
+ (WebCore::V8NotificationCenter::createHTMLNotificationCallback):
+ (WebCore::V8NotificationCenter::createNotificationCallback):
+ * bindings/v8/custom/V8SVGMatrixCustom.cpp:
+ (WebCore::V8SVGMatrix::multiplyCallback):
+ (WebCore::V8SVGMatrix::inverseCallback):
+ (WebCore::V8SVGMatrix::rotateFromVectorCallback):
+ * bindings/v8/custom/V8StyleSheetListCustom.cpp:
+ (WebCore::V8StyleSheetList::namedPropertyGetter):
+ * bindings/v8/custom/V8TreeWalkerCustom.cpp:
+ (WebCore::toV8Object):
+ * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
+ (WebCore::toV8Object):
+ * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
+ (WebCore::V8XSLTProcessor::transformToFragmentCallback):
+ (WebCore::V8XSLTProcessor::transformToDocumentCallback):
+
+2010-02-03 Mikhail Naganov <mnaganov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Start unforking debugger and profiler code.
+
+ Remove custom implementation of Console.
+ Add 'ScriptProfiler' and 'ScriptProfile' types.
+ Start migration to engine-neutral types in InspectorController.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34481
+
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSBindingsAllInOne.cpp:
+ * bindings/js/JSConsoleCustom.cpp:
+ * bindings/js/ScriptProfile.h: Added.
+ * bindings/js/ScriptProfiler.cpp: Added.
+ (WebCore::ScriptProfiler::start):
+ (WebCore::ScriptProfiler::stop):
+ * bindings/js/ScriptProfiler.h: Added.
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/ScriptProfile.h: Added.
+ (WebCore::ScriptProfile::create):
+ (WebCore::ScriptProfile::~ScriptProfile):
+ (WebCore::ScriptProfile::title):
+ (WebCore::ScriptProfile::uid):
+ (WebCore::ScriptProfile::ScriptProfile):
+ * bindings/v8/ScriptProfiler.cpp: Added.
+ (WebCore::ScriptProfiler::start):
+ (WebCore::ScriptProfiler::stop):
+ * bindings/v8/ScriptProfiler.h: Added.
+ * bindings/v8/custom/V8ConsoleCustom.cpp: Removed.
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::endGroup):
+ (WebCore::InspectorController::show):
+ (WebCore::InspectorController::setDOMStorageItem):
+ (WebCore::InspectorController::addProfile):
+ (WebCore::InspectorController::addProfileFinishedMessageToConsole):
+ (WebCore::InspectorController::addStartProfilingMessageToConsole):
+ (WebCore::InspectorController::createProfileHeader):
+ (WebCore::InspectorController::getCurrentUserInitiatedProfileName):
+ (WebCore::InspectorController::startUserInitiatedProfiling):
+ (WebCore::InspectorController::stopUserInitiatedProfiling):
+ (WebCore::InspectorController::enableDebugger):
+ (WebCore::InspectorController::specialPanelForJSName):
+ * inspector/InspectorController.h:
+ (WebCore::InspectorController::searchingForNodeInPage):
+ * page/Console.cpp:
+ (WebCore::Console::profile):
+ (WebCore::Console::profileEnd):
+ * page/Console.h:
+ (WebCore::):
+ (WebCore::Console::create):
+ (WebCore::Console::profiles):
+ * page/Console.idl:
+
+2010-02-02 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Fix a bug that changes for some constraint attributes doesn't
+ update validation CSS selectors.
+ https://bugs.webkit.org/show_bug.cgi?id=31716
+
+ - Rename HTMLFormControlElement::updateValidity() to setNeedsValidityCheck()
+ - Introduce HTMLFormControlElement::setNeedsWillValidate()
+ - Introduce HTMLFormControlElement::m_hasName to make willValidate()
+ work in parseMappedAttribute().
+ - We need to call setNeedsValidityCheck() when HTMLInputElement::step or
+ HTMLTextAreaElement::maxLength is changed.
+
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::HTMLFormControlElement::HTMLFormControlElement):
+ (WebCore::HTMLFormControlElement::parseMappedAttribute):
+ (WebCore::HTMLFormControlElement::insertedIntoTree):
+ (WebCore::HTMLFormControlElement::removedFromTree):
+ (WebCore::HTMLFormControlElement::formDestroyed):
+ (WebCore::HTMLFormControlElement::willValidate): Avoids function calls.
+ (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):
+ (WebCore::HTMLFormControlElement::setNeedsValidityCheck):
+ * html/HTMLFormControlElement.h:
+ (WebCore::HTMLFormControlElement::disabled): Move the code from .cpp.
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::setInputType):
+ (WebCore::HTMLInputElement::parseMappedAttribute):
+ (WebCore::HTMLInputElement::setValue):
+ (WebCore::HTMLInputElement::setValueFromRenderer):
+ (WebCore::HTMLInputElement::setFileListFromRenderer):
+ * html/HTMLTextAreaElement.cpp:
+ (WebCore::HTMLTextAreaElement::parseMappedAttribute):
+ (WebCore::HTMLTextAreaElement::setValue):
+ * rendering/RenderTextControlMultiLine.cpp:
+ (WebCore::RenderTextControlMultiLine::subtreeHasChanged):
+
+2010-02-02 Roland Steiner <rolandsteiner@chromium.org>
+
+ Reviewed by Adele Peterson.
+
+ Bug 34198 - Ruby text should not inherit line-height
+ (https://bugs.webkit.org/show_bug.cgi?id=34198)
+
+ Resetting line-height to 'normal' in the default UA style sheet.
+ Adding layout-test to check for this.
+
+ Test: fast/ruby/ruby-line-height.html
+
+ * css/html.css:
+
+2010-02-02 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Dmitry Titov.
+
+ Add a null check for image, which might be NULL if tileSize is empty
+ https://bugs.webkit.org/show_bug.cgi?id=34510
+
+ Test: fast/gradients/crash-on-1px-border.html
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality):
+
+2010-02-02 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ rangeOverflow/rangeUnderflow support for type=datetime, datetime-local,
+ month, time and week
+ https://bugs.webkit.org/show_bug.cgi?id=34483
+
+ Tests: fast/forms/ValidityState-rangeOverflow.html
+ fast/forms/ValidityState-rangeUnderflow.html
+
+ * html/HTMLInputElement.cpp:
+ Defines the hard limits for the types as double values.
+ (WebCore::HTMLInputElement::rangeUnderflow): Supports the types.
+ (WebCore::HTMLInputElement::rangeOverflow): Supports the types.
+ (WebCore::HTMLInputElement::minimum): Supports the types.
+ (WebCore::HTMLInputElement::maximum): Supports the types.
+
+2010-02-02 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ WebSocket set pending activity to avoid unexpected GC.
+ https://bugs.webkit.org/show_bug.cgi?id=34014
+
+ Test: websocket/tests/websocket-pending-activity.html
+
+ * websockets/WebSocket.cpp:
+ (WebCore::WebSocket::connect): set pending activity until it receives didClose.
+ (WebCore::WebSocket::contextDestroyed): check socket is already closed.
+ (WebCore::WebSocket::stop): close the connection and unset pending activity when it stops.
+ (WebCore::WebSocket::didClose): unset pending activity.
+ * websockets/WebSocket.h:
+ * websockets/WebSocketChannel.cpp:
+ (WebCore::WebSocketChannel::didReceiveData): protect this while it processes received data.
+
+2010-02-02 Gustavo Noronha Silva <gns@gnome.org>
+
+ No review, rolling out r54261.
+ http://trac.webkit.org/changeset/54261
+ https://bugs.webkit.org/show_bug.cgi?id=34435
+
+ Causes crashes on release builds
+
+ * GNUmakefile.am:
+ * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::mediaPlayerPrivateSourceChangedCallback):
+ * platform/gtk/GOwnPtrGtk.cpp: Removed.
+ * platform/gtk/GOwnPtrGtk.h: Removed.
+
+2010-02-02 David Levin <levin@chromium.org>
+
+ No review, rolling out r54245.
+ http://trac.webkit.org/changeset/54245
+ https://bugs.webkit.org/show_bug.cgi?id=34492
+
+ This patch seems to have broken thousands of chromium tests on
+ Windows (and since it was for chromium, I'm rolling it out).
+
+ * dom/Element.cpp:
+ (WebCore::Element::baseURI):
+
+2010-02-02 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Copyright year updating for Windows version resources should be automatic
+ https://bugs.webkit.org/show_bug.cgi?id=34503
+
+ * WebCore.vcproj/QTMovieWin.rc:
+
+2010-02-02 Dimitri Glazkov <dglazkov@chromium.org>
+
+ No review, rolling out r54257.
+ http://trac.webkit.org/changeset/54257
+ https://bugs.webkit.org/show_bug.cgi?id=34491
+
+ [Chromium] broke thousands of Win tests and a few of Linux tests.
+
+ * platform/graphics/skia/GraphicsContextSkia.cpp:
+ (WebCore::GraphicsContext::beginTransparencyLayer):
+ * platform/graphics/skia/PlatformContextSkia.cpp:
+ (PlatformContextSkia::applyAntiAliasedClipPaths):
+ * platform/graphics/skia/PlatformContextSkia.h:
+
+2010-02-02 Philippe Normand <pnormand@igalia.com>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ [Gtk] libsoup critical warning in media player http cookies injection code
+ https://bugs.webkit.org/show_bug.cgi?id=34435
+
+ Fixed the critical warning and refactored the
+ User-Agent/Referer/cookies injection code, in that order. Previous
+ order (cookies first) was wrong because if cookies injection could
+ not be done neither the User-Agent not Referer were injected. Also
+ started a non-JSC-specific, gtk-specific GOwnPtr module.
+
+ * GNUmakefile.am:
+ * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::mediaPlayerPrivateSourceChangedCallback):
+ * platform/gtk/GOwnPtrGtk.cpp: Added.
+ (WTF::SoupURI):
+ (WTF::GstElement):
+ * platform/gtk/GOwnPtrGtk.h: Added.
+
+2010-02-02 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [V8] Use toV8() to wrap in the custom bindings, and remove
+ the old wrapping code from V8DOMWrapper.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32563
+
+ * bindings/v8/ScriptController.cpp:
+ * bindings/v8/ScriptObject.cpp:
+ * bindings/v8/V8AbstractEventListener.cpp:
+ * bindings/v8/V8Collection.h:
+ * bindings/v8/V8DOMWindowShell.cpp:
+ * bindings/v8/V8DOMWrapper.cpp:
+ * bindings/v8/V8DOMWrapper.h:
+ * bindings/v8/V8NodeFilterCondition.cpp:
+ * bindings/v8/V8Proxy.cpp:
+ * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
+ * bindings/v8/custom/V8CustomPositionCallback.cpp:
+ * bindings/v8/custom/V8CustomPositionErrorCallback.cpp:
+ * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
+ * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
+ * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
+ * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ * bindings/v8/custom/V8DataGridColumnListCustom.cpp:
+ * bindings/v8/custom/V8DocumentCustom.cpp:
+ * bindings/v8/custom/V8DocumentLocationCustom.cpp:
+ * bindings/v8/custom/V8ElementCustom.cpp:
+ * bindings/v8/custom/V8EventCustom.cpp:
+ * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
+ * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
+ * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
+ * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
+ * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
+ * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
+ * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
+ * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
+ * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
+ * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
+ * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
+ * bindings/v8/custom/V8MessageChannelConstructor.cpp:
+ * bindings/v8/custom/V8MessageEventCustom.cpp:
+ * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
+ * bindings/v8/custom/V8NodeIteratorCustom.cpp:
+ * bindings/v8/custom/V8NodeListCustom.cpp:
+ * bindings/v8/custom/V8NotificationCenterCustom.cpp:
+ * bindings/v8/custom/V8SVGMatrixCustom.cpp:
+ * bindings/v8/custom/V8StyleSheetListCustom.cpp:
+ * bindings/v8/custom/V8TreeWalkerCustom.cpp:
+ * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
+ * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
+
+2010-02-02 Garret Kelly <gdk@chromium.org>
+
+ Reviewed by David Levin.
+
+ When using the Skia graphics context, the beginTransparencyLayer call
+ currently creates a new layer, but does not keep the current
+ compositing mode for use when merging the created layer back onto the
+ rest of the context. This patch fixes that.
+ https://bugs.webkit.org/show_bug.cgi?id=34491
+
+ fast/backgrounds/svg-as-mask.html is affected by this change in Chromium,
+ but not fixed. This is the first of a series of patches to fix it.
+
+ * platform/graphics/skia/GraphicsContextSkia.cpp:
+ (WebCore::GraphicsContext::beginTransparencyLayer):
+ * platform/graphics/skia/PlatformContextSkia.cpp:
+ (PlatformContextSkia::beginTransparencyLayer):
+ * platform/graphics/skia/PlatformContextSkia.h:
+
+2010-02-02 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ Use WTF::getLocalTime instead of localtime_r in FTPDirectoryDocument
+ https://bugs.webkit.org/show_bug.cgi?id=34409
+
+ Platform guards for localtime_r are not needed because we already have
+ WTF::getLocalTime which does the same thing.
+
+ * loader/FTPDirectoryDocument.cpp:
+ (WebCore::processFileDateString):
+ * loader/FTPDirectoryParser.cpp:
+ (WebCore::gmtimeQt):
+
+2010-02-02 Adam Roben <aroben@apple.com>
+
+ Copy WebCore's bindings generation scripts to the PrivateHeaders
+ directory on Mac
+
+ This will allow other projects to use these scripts.
+
+ Fixes <http://webkit.org/b/34498>.
+
+ Reviewed by Mark Rowe.
+
+ * WebCore.xcodeproj/project.pbxproj: Added the bindings generation
+ scripst to the Copy Headers phase, and marked them as Private.
+
+2010-02-02 Adam Roben <aroben@apple.com>
+
+ Copy WebCore's bindings generation scripts to a more sensible location
+
+ Part of Bug 34496: Clean up WebCore's IDL/script copying
+ <https://bugs.webkit.org/show_bug.cgi?id=34496>
+
+ Reviewed by Steve Falkenburg.
+
+ * WebCore.vcproj/WebCore.make:
+ * WebCore.vcproj/WebCoreGenerated.vcproj:
+ Instead of copying to obj/WebKit/DOMInterfaces, copy to obj/WebCore/scripts.
+
+2010-02-02 Adam Roben <aroben@apple.com>
+
+ Rename the scripts used to copy WebCore's bindings generation scripts
+
+ Part of Bug 34496: Clean up WebCore's IDL/script copying
+ <https://bugs.webkit.org/show_bug.cgi?id=34496>
+
+ Reviewed by Steve Falkenburg.
+
+ * WebCore.vcproj/MigrateScripts: Renamed from WebCore/WebCore.vcproj/MigrateIDLAndScripts.
+ * WebCore.vcproj/migrate-scripts.sh: Renamed from WebCore/WebCore.vcproj/migrate-idls.sh.
+
+ * WebCore.vcproj/WebCoreGenerated.vcproj: Updated for renames.
+
+2010-02-02 Adam Roben <aroben@apple.com>
+
+ Stop copying IDL files into $(WebKitOutputDir)
+
+ No one uses these anymore (as of r52921).
+
+ Part of Bug 34496: Clean up WebCore's IDL/script copying
+ <https://bugs.webkit.org/show_bug.cgi?id=34496>
+
+ Reviewed by Steve Falkenburg.
+
+ * WebCore.vcproj/MigrateIDLAndScripts: Don't copy the IDL files
+ anymore. Keep copying the scripts, though, since other projects
+ (outside of the WebKit repository) do use those.
+
+2010-02-02 Bryan Yeung <bryeung@google.com>
+
+ Reviewed by Darin Adler.
+
+ Avoid using an invalidated KURL object in baseURI.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34492
+
+ This change fixes baseURI for Chromium (where the KURL implementation
+ does not allow invalid KURLs to carry relative paths). This is
+ regression tested by
+ LayoutTests/svg/W3C-SVG-1.1/struct-image-07-t.svg
+
+ * dom/Element.cpp:
+ (WebCore::Element::baseURI):
+
+2010-02-02 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34076
+ <rdar://problem/7594601> Crash in mangleme in WebCore::Element::getAttribute
+
+ Test: fast/forms/misplaced-img-form-registration.html
+
+ * html/HTMLFormElement.cpp:
+ (WebCore::HTMLFormElement::registerImgElement): Assert that the same image isn't added
+ to vector again.
+ (WebCore::HTMLFormElement::removeImgElement): Similarly, assert that we're removing something
+ that's actually registered.
+
+ * html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::~HTMLImageElement): If parser fails
+ to insert the image element, then there will be no removed from tree notification either,
+ need to unregister right away.
+
+2010-02-02 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Eliminate some of the platform flavor-specific stylesheet selectors
+
+ Extract OS version into WebInspector.platformFlavor
+ https://bugs.webkit.org/show_bug.cgi?id=34469
+
+ * inspector/front-end/InspectorBackendStub.js:
+ * inspector/front-end/InspectorFrontendHostStub.js:
+ (.WebInspector.InspectorFrontendHostStub.prototype.platform):
+ * inspector/front-end/inspector.css:
+ * inspector/front-end/inspector.js:
+ (WebInspector.pendingDispatches.0.URLRegExp.i.get platform):
+ (WebInspector.get platformFlavor):
+ (WebInspector._detectPlatformFlavor):
+ (WebInspector.loaded):
+ (WebInspector.toolbarDragStart):
+ (WebInspector.isMac):
+
+2010-02-02 Steve Block <steveblock@google.com>
+
+ Reviewed by Ariya Hidayat.
+
+ Adds utility functions for converting between JavaInstance and NPAPI types
+ https://bugs.webkit.org/show_bug.cgi?id=34468
+
+ This is required by Android for injecting objects into V8 JavaScript.
+
+ No new tests, added utility functions only.
+
+ * Android.v8bindings.mk: Modified. Added JavaNPObjectV8.cpp
+ * bridge/jni/v8/JavaNPObjectV8.cpp: Added.
+ (JSC::Bindings::AllocJavaNPObject):
+ (JSC::Bindings::FreeJavaNPObject):
+ (JSC::Bindings::):
+ (JSC::Bindings::JavaInstanceToNPObject):
+ (JSC::Bindings::ExtractJavaInstance):
+ (JSC::Bindings::JavaNPObjectHasMethod):
+ (JSC::Bindings::JavaNPObjectInvoke):
+ (JSC::Bindings::JavaNPObjectHasProperty):
+ (JSC::Bindings::JavaNPObjectGetProperty):
+ * bridge/jni/v8/JavaNPObjectV8.h: Added.
+
+2010-02-02 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Ariya Hidayat.
+
+ [Qt] Symbian plugins include a wrong header file for QPixmap
+ https://bugs.webkit.org/show_bug.cgi?id=34475
+
+ * plugins/symbian/PluginViewSymbian.cpp:
+
+2010-02-02 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: URLs are not syntax-higlighted as links in source view.
+
+ This change enables linkifier in the NativeTextViewer. It adds
+ "linkify" and "a_node" parse states into the highlighter in order
+ to detect links and distinguish between resource and external ones.
+ Contains drive-by fix for the webkit-html-* styles and moves them to the
+ common location.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34364
+
+ * inspector/front-end/NativeTextViewer.js:
+ (WebInspector.NativeTextViewer):
+ (WebInspector.NativeTextViewer.prototype._createSpan):
+ (WebInspector.NativeTextViewer.prototype._createLink):
+ (WebInspector.NativeTextViewer.prototype._rewriteHref):
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype.setContent):
+ (WebInspector.SourceFrame.prototype._createEditorIfNeeded):
+ * inspector/front-end/SourceHTMLTokenizer.js:
+ (WebInspector.SourceHTMLTokenizer):
+ (WebInspector.SourceHTMLTokenizer.prototype._isExpectingAttribute):
+ (WebInspector.SourceHTMLTokenizer.prototype._isExpectingAttributeValue):
+ (WebInspector.SourceHTMLTokenizer.prototype._setExpectingAttribute):
+ (WebInspector.SourceHTMLTokenizer.prototype._setExpectingAttributeValue):
+ (WebInspector.SourceHTMLTokenizer.prototype._stringToken):
+ (WebInspector.SourceHTMLTokenizer.prototype._attrValueTokenType):
+ (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
+ * inspector/front-end/SourceHTMLTokenizer.re2js:
+ * inspector/front-end/SourceView.js:
+ (WebInspector.SourceView.prototype._contentLoaded):
+ * inspector/front-end/TextEditorHighlighter.js:
+ (WebInspector.TextEditorHighlighter):
+ * inspector/front-end/inspector.css:
+ * inspector/front-end/inspectorSyntaxHighlight.css:
+
+2010-02-02 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Ariya Hidayat.
+
+ [Qt] Install libraries and headers in package builds
+ https://bugs.webkit.org/show_bug.cgi?id=34325
+
+ Add the QtWebKit libraries to the installable items, except on
+ Symbian where the libraries are always linked in their final
+ destination.
+
+ Also include the headers generated by syncqt in the installation.
+
+ * WebCore.pro:
+
+2010-02-02 Kavita Kanetkar <kkanetkar@chromium.org>
+
+ Reviewed by Dmitry Titov.
+
+ [V8] Raising an exception while setting timeout/interval from a detached frame
+ https://bugs.webkit.org/show_bug.cgi?id=34453
+ This fixes the issue/failing test mentioned in Chromium bug:
+ http://code.google.com/p/chromium/issues/detail?id=32671
+
+
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::WindowSetTimeoutImpl):
+
+2010-02-02 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Port Screen
+ https://bugs.webkit.org/show_bug.cgi?id=34299
+
+ Get the screen size and depth from the main display bitmap.
+
+ * platform/brew/ScreenBrew.cpp: Added.
+ (WebCore::getDisplayInfo):
+ (WebCore::screenRect):
+ (WebCore::screenAvailableRect):
+ (WebCore::screenDepth):
+ (WebCore::screenDepthPerComponent):
+ (WebCore::screenIsMonochrome):
+
+2010-02-02 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Port LocalizedStrings
+ https://bugs.webkit.org/show_bug.cgi?id=34257
+
+ Port LocalizedStrings to BREWMP.
+
+ * platform/brew/LocalizedStringsBrew.cpp: Added.
+ (WebCore::submitButtonDefaultLabel):
+ (WebCore::inputElementAltText):
+ (WebCore::resetButtonDefaultLabel):
+ (WebCore::defaultLanguage):
+ (WebCore::searchableIndexIntroduction):
+ (WebCore::fileButtonChooseFileLabel):
+ (WebCore::fileButtonNoFileSelectedLabel):
+ (WebCore::contextMenuItemTagOpenLinkInNewWindow):
+ (WebCore::contextMenuItemTagDownloadLinkToDisk):
+ (WebCore::contextMenuItemTagCopyLinkToClipboard):
+ (WebCore::contextMenuItemTagOpenImageInNewWindow):
+ (WebCore::contextMenuItemTagDownloadImageToDisk):
+ (WebCore::contextMenuItemTagCopyImageToClipboard):
+ (WebCore::contextMenuItemTagOpenFrameInNewWindow):
+ (WebCore::contextMenuItemTagCopy):
+ (WebCore::contextMenuItemTagGoBack):
+ (WebCore::contextMenuItemTagGoForward):
+ (WebCore::contextMenuItemTagStop):
+ (WebCore::contextMenuItemTagReload):
+ (WebCore::contextMenuItemTagCut):
+ (WebCore::contextMenuItemTagPaste):
+ (WebCore::contextMenuItemTagNoGuessesFound):
+ (WebCore::contextMenuItemTagIgnoreSpelling):
+ (WebCore::contextMenuItemTagLearnSpelling):
+ (WebCore::contextMenuItemTagSearchWeb):
+ (WebCore::contextMenuItemTagLookUpInDictionary):
+ (WebCore::contextMenuItemTagOpenLink):
+ (WebCore::contextMenuItemTagIgnoreGrammar):
+ (WebCore::contextMenuItemTagSpellingMenu):
+ (WebCore::contextMenuItemTagShowSpellingPanel):
+ (WebCore::contextMenuItemTagCheckSpelling):
+ (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
+ (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
+ (WebCore::contextMenuItemTagFontMenu):
+ (WebCore::contextMenuItemTagBold):
+ (WebCore::contextMenuItemTagItalic):
+ (WebCore::contextMenuItemTagUnderline):
+ (WebCore::contextMenuItemTagOutline):
+ (WebCore::contextMenuItemTagWritingDirectionMenu):
+ (WebCore::contextMenuItemTagDefaultDirection):
+ (WebCore::contextMenuItemTagLeftToRight):
+ (WebCore::contextMenuItemTagRightToLeft):
+ (WebCore::contextMenuItemTagInspectElement):
+ (WebCore::searchMenuNoRecentSearchesText):
+ (WebCore::searchMenuRecentSearchesText):
+ (WebCore::searchMenuClearRecentSearchesText):
+ (WebCore::unknownFileSizeText):
+ (WebCore::AXWebAreaText):
+ (WebCore::AXLinkText):
+ (WebCore::AXListMarkerText):
+ (WebCore::AXImageMapText):
+ (WebCore::AXHeadingText):
+ (WebCore::imageTitle):
+ (WebCore::contextMenuItemTagTextDirectionMenu):
+ (WebCore::AXButtonActionVerb):
+ (WebCore::AXTextFieldActionVerb):
+ (WebCore::AXRadioButtonActionVerb):
+ (WebCore::AXCheckedCheckBoxActionVerb):
+ (WebCore::AXUncheckedCheckBoxActionVerb):
+ (WebCore::AXLinkActionVerb):
+ (WebCore::AXMenuListPopupActionVerb):
+ (WebCore::AXMenuListActionVerb):
+ (WebCore::AXDefinitionListTermText):
+ (WebCore::AXDefinitionListDefinitionText):
+ (WebCore::validationMessageValueMissingText):
+ (WebCore::validationMessageTypeMismatchText):
+ (WebCore::validationMessagePatternMismatchText):
+ (WebCore::validationMessageTooLongText):
+ (WebCore::validationMessageRangeUnderflowText):
+ (WebCore::validationMessageRangeOverflowText):
+ (WebCore::validationMessageStepMismatchText):
+
+2010-02-02 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Port systemBeep
+ https://bugs.webkit.org/show_bug.cgi?id=33601
+
+ Implement systemBeep with IShell_Beep.
+
+ * platform/brew/SoundBrew.cpp: Added.
+ (WebCore::systemBeep):
+
+2010-02-02 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ [Win] Utilize PrintContext to share the printing code with other ports
+ https://bugs.webkit.org/show_bug.cgi?id=34312
+
+ No new tests as this is just a small refactoring.
+
+2010-02-02 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Add conversions between IntPoint and AEEPoint
+ https://bugs.webkit.org/show_bug.cgi?id=34194
+
+ Make it easy to convert between IntPoint and AEEPoint.
+
+ * platform/graphics/IntPoint.h:
+ * platform/graphics/brew/IntPointBrew.cpp: Added.
+ (WebCore::IntPoint::IntPoint):
+ (WebCore::IntPoint::operator AEEPoint):
+
+2010-02-02 Steve Block <steveblock@google.com>
+
+ Reviewed by Adam Barth.
+
+ Adds virtual destructors for AbstractWeakReferenceMap and AbstractWeakReferenceMap::Visitor
+ https://bugs.webkit.org/show_bug.cgi?id=34434
+
+ No new tests, build fix only.
+
+ * bindings/v8/V8DOMMap.h: Modified.
+ (WebCore::AbstractWeakReferenceMap::~AbstractWeakReferenceMap): Added.
+ (WebCore::AbstractWeakReferenceMap::Visitor::~Visitor): Added.
+
+2010-02-02 Avi Drissman <avi@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Sync up Chromium Mac render theme to Mac render theme
+ https://bugs.webkit.org/show_bug.cgi?id=34340
+
+ Covered by existing layout tests.
+
+ * platform/chromium/ThemeChromiumMac.mm:
+ (WebCore::updateStates):
+ (WebCore::checkbox):
+ (WebCore::paintCheckbox):
+ (WebCore::radio):
+ (WebCore::paintRadio):
+ (WebCore::listButtonSizes):
+ (WebCore::setupButtonCell):
+ (WebCore::button):
+ (WebCore::paintButton):
+ (WebCore::ThemeChromiumMac::controlSize):
+ (WebCore::ThemeChromiumMac::minimumControlSize):
+ (WebCore::ThemeChromiumMac::controlBorder):
+ (WebCore::ThemeChromiumMac::paint):
+ * rendering/RenderThemeChromiumMac.h:
+ * rendering/RenderThemeChromiumMac.mm:
+ (-[WebCoreRenderThemeNotificationObserver initWithTheme:WebCore::]):
+ (WebCore::convertNSColorToColor):
+ (WebCore::RenderThemeChromiumMac::systemColor):
+ (WebCore::RenderThemeChromiumMac::isControlStyled):
+ (WebCore::RenderThemeChromiumMac::adjustRepaintRect):
+ (WebCore::RenderThemeChromiumMac::convertToPaintingRect):
+ (WebCore::RenderThemeChromiumMac::paintCapsLockIndicator):
+ (WebCore::RenderThemeChromiumMac::paintMenuList):
+ (WebCore::RenderThemeChromiumMac::paintMenuListButton):
+ (WebCore::RenderThemeChromiumMac::adjustMenuListStyle):
+ (WebCore::RenderThemeChromiumMac::adjustMenuListButtonStyle):
+ (WebCore::RenderThemeChromiumMac::paintSliderTrack):
+ (WebCore::RenderThemeChromiumMac::paintSliderThumb):
+ (WebCore::RenderThemeChromiumMac::paintSearchField):
+ (WebCore::RenderThemeChromiumMac::setSearchFieldSize):
+ (WebCore::RenderThemeChromiumMac::adjustSearchFieldStyle):
+ (WebCore::RenderThemeChromiumMac::paintSearchFieldResultsButton):
+ (WebCore::RenderThemeChromiumMac::adjustSliderThumbSize):
+ (WebCore::RenderThemeChromiumMac::popupButton):
+ (WebCore::RenderThemeChromiumMac::sliderThumbHorizontal):
+ (WebCore::RenderThemeChromiumMac::sliderThumbVertical):
+
+2010-02-02 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Port Logging
+ https://bugs.webkit.org/show_bug.cgi?id=34300
+
+ Log calls to notImplemented() by default.
+
+ * platform/brew/LoggingBrew.cpp: Added.
+ (WebCore::InitializeLoggingChannelsIfNecessary):
+
+2010-02-02 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Port FileChooser
+ https://bugs.webkit.org/show_bug.cgi?id=34261
+
+ Port FileChooser to BREWMP.
+
+ * platform/brew/FileChooserBrew.cpp: Added.
+ (WebCore::FileChooser::basenameForWidth):
+
+2010-02-01 Zoltan Horvath <zoltan@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Allow custom memory allocation control for IconDatabaseClient class
+ https://bugs.webkit.org/show_bug.cgi?id=33252
+
+ Inherits the following struct from Noncopyable because it is
+ instantiated by 'new' and no need to be copyable:
+
+ class name - instantiated at: WebCore/'location'
+ class IconDatabaseClient - loader/icon/IconDatabase.cpp:89
+
+ * loader/icon/IconDatabaseClient.h:
+
+2010-02-01 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Port MIMETypeRegistry
+ https://bugs.webkit.org/show_bug.cgi?id=34220
+
+ Port MIMETypeRegistry with an extension map as other ports do.
+
+ * platform/brew: Added.
+ * platform/brew/MIMETypeRegistryBrew.cpp: Added.
+ (WebCore::):
+ (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
+
+2010-02-01 Dmitry Titov <dimich@chromium.org>
+
+ Not reviewed, revert r54194 that fails new test on Qt and Chromium.
+ https://bugs.webkit.org/show_bug.cgi?id=34382
+
+ * html/HTMLFrameElementBase.cpp:
+ (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
+ (WebCore::HTMLFrameElementBase::insertedIntoDocument):
+ * html/HTMLFrameElementBase.h:
+ * page/Frame.cpp:
+ * page/Frame.h:
+
+2010-02-01 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Provide a way to get page number with layoutTestController
+ https://bugs.webkit.org/show_bug.cgi?id=33840
+
+ Test: printing/page-break-always.html
+
+ * WebCore.base.exp:
+ * WebCore.xcodeproj/project.pbxproj:
+ * page/PrintContext.cpp:
+ (WebCore::PrintContext::pageRect): Added a getter function.
+ (WebCore::PrintContext::computePageRects): Move its logic into computePageRectsWithPageSize.
+ (WebCore::PrintContext::computePageRectsWithPageSize): Factored out from computePageRects for pageNumberForElement.
+ (WebCore::enclosingBoxModelObject): Added for pageNumberForElement.
+ (WebCore::PrintContext::pageNumberForElement): Added for testing.
+ * page/PrintContext.h:
+
+2010-02-01 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Add conversions between IntSize and AEESize
+ https://bugs.webkit.org/show_bug.cgi?id=34197
+
+ Make it easy to convert between IntSize and AEESize.
+
+ * platform/graphics/IntSize.h:
+ * platform/graphics/brew/IntSizeBrew.cpp: Added.
+ (WebCore::IntSize::IntSize):
+ (WebCore::IntSize::operator AEESize):
+
+2010-02-01 Stephen White <senorblanco@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Fix for Pattern transformations in Chromium/Skia. This required
+ reworking Pattern a bit to be more like the Gradient implementation.
+ In particular, it now holds an m_pattern reference to the
+ platform-specific implementation, and passes along changes to the
+ m_patternSpaceTransformation, in the same way that Gradient does for
+ m_gradientSpaceTransformation. This is necessary since Skia creates the
+ platform-specific pattern (SkShader) once, rather than recreating it
+ on each draw.
+ For platforms other than Skia, m_pattern is unused, they will
+ continue to use the static createPlatformPattern(), and the new
+ notification functions are stubbed out. Other platforms can switch to
+ the new implementation if they so choose.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24534
+
+ Covered by svg/custom/pattern-y-offset.svg,
+ svg/custom/pattern-cycle-detection.svg, and many more.
+
+ * platform/graphics/Pattern.cpp:
+ (WebCore::Pattern::Pattern):
+ Initializer for m_pattern.
+ (WebCore::Pattern::~Pattern):
+ call platformDestroy().
+ (WebCore::Pattern::setPatternSpaceTransform):
+ Pass along the transform via setPlatformPatternSpaceTransform().
+ (WebCore::Pattern::platformDestroy):
+ (WebCore::Pattern::setPlatformPatternSpaceTransform):
+ Stub implementations for non-skia platforms.
+ * platform/graphics/Pattern.h:
+ * platform/graphics/skia/GraphicsContextSkia.cpp:
+ (WebCore::GraphicsContext::setPlatformFillPattern):
+ (WebCore::GraphicsContext::setPlatformStrokePattern):
+ Call platformPattern() instead of static version.
+ Since Pattern now owns its SkShader, no need to unref here.
+ * platform/graphics/skia/PatternSkia.cpp:
+ (WebCore::Pattern::platformDestroy):
+ Unref the SkShader on destroy.
+ (WebCore::Pattern::platformPattern):
+ Create the platform pattern (SkShader) once, and cache it.
+ (WebCore::Pattern::setPlatformPatternSpaceTransform):
+ Set the shader's local matrix from the m_patternSpaceTransformation.
+
+2010-02-01 Daniel Bates <dbates@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27312
+
+ Implements support for full page blocking via the X-XSS-Protection header.
+
+ Tests: http/tests/security/xssAuditor/full-block-base-href.html
+ http/tests/security/xssAuditor/full-block-get-from-iframe.html
+ http/tests/security/xssAuditor/full-block-iframe-javascript-url.html
+ http/tests/security/xssAuditor/full-block-iframe-no-inherit.php
+ http/tests/security/xssAuditor/full-block-javascript-link.html
+ http/tests/security/xssAuditor/full-block-link-onclick.html
+ http/tests/security/xssAuditor/full-block-object-tag.html
+ http/tests/security/xssAuditor/full-block-post-from-iframe.html
+ http/tests/security/xssAuditor/full-block-script-tag-with-source.html
+ http/tests/security/xssAuditor/full-block-script-tag.html
+ http/tests/security/xssAuditor/malformed-xss-protection-header.html
+
+ * page/XSSAuditor.cpp:
+ (WebCore::XSSAuditor::shouldFullPageBlockForXSSProtectionHeader): Added.
+ (WebCore::XSSAuditor::findInRequest): Modified to call method
+ XSSAuditor::shouldFullPageBlockForXSSProtectionHeader.
+ * page/XSSAuditor.h: Defined method shouldFullPageBlockForXSSProtectionHeader
+ and fixed misspelled words in large comment block.
+
+2010-02-01 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ [BREWMP] Port SharedTimer with IShell_SetTimerEx.
+ https://bugs.webkit.org/show_bug.cgi?id=33599
+
+ As fireTime passed in setSharedTimerFireTime is the absolute time,
+ we must calcalute the interval by subtracting currentTime() from
+ fireTime and pass the result to ISHELL_SetTimerEx.
+
+ * platform/brew/SharedTimerBrew.cpp: Added.
+ (WebCore::invokeCallback):
+ (WebCore::setSharedTimerFiredFunction):
+ (WebCore::setSharedTimerFireTime):
+ (WebCore::stopSharedTimer):
+
+2010-02-01 Shinichiro Hamaji <hamaji@chromium.org>
+
+ [Chromium] Unreviewed attempt to fix the chromium build.
+
+ Corresponding change: http://trac.webkit.org/changeset/54182
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::processingUserGesture):
+ * bindings/v8/ScriptController.h:
+
+2010-02-01 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by David Levin.
+
+ When a live iframe element is moved between pages, it still depends on the old page.
+ https://bugs.webkit.org/show_bug.cgi?id=34382
+
+ Test: fast/frames/iframe-reparenting-new-page.html
+
+ * html/HTMLFrameElementBase.cpp:
+ (WebCore::HTMLFrameElementBase::setName):
+ Move the code setting the frame name into a separate function.
+
+ (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
+ (WebCore::HTMLFrameElementBase::updateLiveFrame):
+ Update frame tree, reset page in the contentFrame and re-set the name.
+
+ (WebCore::HTMLFrameElementBase::insertedIntoDocument):
+ * html/HTMLFrameElementBase.h:
+
+ * page/Frame.cpp:
+ (WebCore::Frame::setPage):
+ * page/Frame.h: Add setPage method. It is only currently used when iframe is
+ moved between pages (so the ASSERT(m_ownerElement).
+
+2010-02-01 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Tim Hatcher.
+
+ Add common IRC ports to port blocking.
+ <rdar://problem/7593895> and https://bugs.webkit.org/show_bug.cgi?id=34451
+
+ * platform/KURL.cpp:
+ (WebCore::portAllowed):
+
+2010-01-29 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Nate Chapin.
+
+ [V8] Add compile time guards for IndexedDB custom functions
+ https://bugs.webkit.org/show_bug.cgi?id=34368
+
+ * bindings/v8/custom/V8IDBRequestCustom.cpp:
+ * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp:
+
+2010-01-29 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam Weinig + Oliver Hunt.
+
+ Bug 34346 - With JSC bindings, make processingUserGesture work with events in Isolated Worlds
+
+ Change HTMLMediaElement methods that require checking whether the event is a user gesture to
+ be passed a boolean. This may be passed from the JSC bindings (where we have an exec state),
+ or read from the event. Add a Flag to the IDL to mark this information is required.
+
+ * WebCore.Video.exp:
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::processingUserGesture):
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::domWindowAllowPopUp):
+ (WebCore::JSDOMWindow::open):
+ (WebCore::JSDOMWindow::showModalDialog):
+ * bindings/js/JSDocumentCustom.cpp:
+ (WebCore::JSDocument::setLocation):
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::processingUserGesture):
+ (WebCore::ScriptController::processingUserGestureEvent):
+ (WebCore::ScriptController::anyPageIsProcessingUserGesture):
+ * bindings/js/ScriptController.h:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * dom/Event.cpp:
+ (WebCore::Event::isUserEvent):
+ * dom/Event.h:
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::removedFromDocument):
+ (WebCore::HTMLMediaElement::load):
+ (WebCore::HTMLMediaElement::play):
+ (WebCore::HTMLMediaElement::pause):
+ (WebCore::HTMLMediaElement::beginScrubbing):
+ (WebCore::HTMLMediaElement::documentDidBecomeActive):
+ (WebCore::HTMLMediaElement::webkitEnterFullScreen):
+ * html/HTMLMediaElement.h:
+ * html/HTMLMediaElement.idl:
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::isProcessingUserGesture):
+ * loader/MediaDocument.cpp:
+ (WebCore::MediaDocument::defaultEventHandler):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::allowPopUp):
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
+
+2010-02-01 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Use the fallback style on Maemo 5
+
+ https://bugs.webkit.org/show_bug.cgi?id=34376
+
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::RenderThemeQt::RenderThemeQt):
+ (WebCore::RenderThemeQt::fallbackStyle):
+ (WebCore::RenderThemeQt::qStyle):
+ (WebCore::RenderThemeQt::setPaletteFromPageClientIfExists):
+ * platform/qt/RenderThemeQt.h:
+
+2010-02-01 Kavita Kanetkar <kkanetkar@chromium.org>
+
+ Reviewed by Nate Chapin.
+
+ [V8] Making V8 generated classes' GetTemplate() function public
+ https://bugs.webkit.org/show_bug.cgi?id=34026
+
+ * bindings/scripts/CodeGeneratorV8.pm: Generated code need not depend on V8CustomBinding.h, made GetTemplate() signature public.
+
+2010-02-01 Steve Block <steveblock@google.com>
+
+ Reviewed by Ariya Hidayat.
+
+ Adds V8-specific JNI bridge classes
+ https://bugs.webkit.org/show_bug.cgi?id=34166
+
+ This is the V8 equivalent of bridge/jni/jsc/JNIBridgeJSC.
+
+ No new tests, build fix only.
+
+ * Android.v8bindings.mk: Modified. Added JNIBridge.cpp and JNIBridgeV8.cpp
+ * bridge/Bridge.h: Modified. Added missing include for Noncopyable.h
+ * bridge/jni/v8/JNIBridgeV8.cpp: Added.
+ (JavaField::JavaField):
+ * bridge/jni/v8/JNIBridgeV8.h: Added.
+ (JSC::Bindings::JavaField::name):
+ (JSC::Bindings::JavaField::type):
+ (JSC::Bindings::JavaField::getJNIType):
+
+2010-02-01 Steve Block <steveblock@google.com>
+
+ Reviewed by Ariya Hidayat.
+
+ Adds V8-specific JNI utility functions.
+ https://bugs.webkit.org/show_bug.cgi?id=33901
+
+ This is the V8 equivalent of bridge/jni/jsc/JNIUtilityPrivate.
+
+ No new tests, build fix only.
+
+ * Android.v8bindings.mk: Modified. Add JNIUtilityPrivate.cpp
+ * bridge/jni/v8/JNIUtilityPrivate.cpp: Added.
+ (JSC::Bindings::convertNPVariantToJValue):
+ (JSC::Bindings::convertJValueToNPVariant):
+ * bridge/jni/v8/JNIUtilityPrivate.h: Added.
+
+2010-02-01 Steve Block <steveblock@google.com>
+
+ Reviewed by Ariya Hidayat.
+
+ Adds V8 version of JavaClass
+ https://bugs.webkit.org/show_bug.cgi?id=33898
+
+ This is the V8 equivalent of bridge/jni/jsc/JavaClassJSC
+
+ No new tests, build fix only.
+
+ * Android.v8bindings.mk: Modified. Added JavaClassV8.cpp
+ * bridge/jni/v8/JavaClassV8.cpp: Added.
+ (JavaClass::JavaClass):
+ (JavaClass::~JavaClass):
+ (JavaClass::methodsNamed):
+ (JavaClass::fieldNamed):
+ * bridge/jni/v8/JavaClassV8.h: Added.
+
+2010-02-01 Steve Block <steveblock@google.com>
+
+ Reviewed by Ariya Hidayat.
+
+ Adds V8 version of JavaInstance
+ https://bugs.webkit.org/show_bug.cgi?id=33951
+
+ This is the V8 equivalent of bridge/jni/jsc/JavaInstanceJSC.
+ Also fixes a typo in a comment in JavaInstanceJSC.cpp.
+
+ No new tests, build fix only.
+
+ * Android.v8bindings.mk: Modified. Added JavaInstanceV8.cpp
+ * bridge/jni/jsc/JavaInstanceJSC.cpp: Modified.
+ (JavaInstance::invokeMethod): Modified. Fixed comment
+ * bridge/jni/v8/JavaInstanceV8.cpp: Added.
+ (JavaInstance::JavaInstance):
+ (JavaInstance::~JavaInstance):
+ (JavaInstance::getClass):
+ (JavaInstance::invokeMethod):
+ (JObjectWrapper::JObjectWrapper):
+ (JObjectWrapper::~JObjectWrapper):
+ * bridge/jni/v8/JavaInstanceV8.h: Added.
+ (JSC::Bindings::JObjectWrapper::instance):
+ (JSC::Bindings::JObjectWrapper::setInstance):
+ (JSC::Bindings::JObjectWrapper::ref):
+ (JSC::Bindings::JObjectWrapper::deref):
+ (JSC::Bindings::JavaInstance::javaInstance):
+ (JSC::Bindings::JavaInstance::begin):
+ (JSC::Bindings::JavaInstance::end):
+ (JSC::Bindings::JavaInstance::virtualBegin):
+ (JSC::Bindings::JavaInstance::virtualEnd):
+
+2010-02-01 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Making sure that all in-progress transactions are rolled back on
+ the database thread before they're destroyed. Otherwise,
+ SQLiteTransaction's destructor will try to do a rollback and that
+ would cause an assertion failure, if the object is not destroyed
+ on the DB thread.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34152
+
+ * platform/sql/SQLiteTransaction.cpp:
+ (WebCore::SQLiteTransaction::stop):
+ * storage/SQLTransaction.cpp:
+ (WebCore::SQLTransaction::notifyDatabaseThreadIsShuttingDown):
+ * storage/SQLTransaction.h:
+ * storage/SQLTransactionCoordinator.cpp:
+ (WebCore::SQLTransactionCoordinator::shutdown):
+
+2010-02-01 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Beth Dakin.
+
+ Fix EXPERIMENTAL_SINGLE_VIEW_MODE build.
+
+ * page/EventHandler.h:
+ * page/mac/EventHandlerMac.mm:
+ (WebCore::EventHandler::currentNSEvent):
+ (WebCore::EventHandler::currentKeyboardEvent):
+ (WebCore::EventHandler::mouseDown):
+ (WebCore::EventHandler::mouseDragged):
+ (WebCore::EventHandler::mouseUp):
+ (WebCore::EventHandler::mouseMoved):
+ (WebCore::EventHandler::keyEvent):
+ (WebCore::EventHandler::wheelEvent):
+ (WebCore::EventHandler::sendContextMenuEvent):
+ (WebCore::EventHandler::eventMayStartDrag):
+ (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking):
+
+2010-02-01 Nate Chapin <japhet@chromium.org>
+
+ Unreviewed, Chromium build fix.
+
+ Failed to properly add new files for http://trac.webkit.org/changeset/54150.
+
+ * bindings/v8/custom/V8BarInfoCustom.cpp: Added.
+ * bindings/v8/custom/V8CSSRuleCustom.cpp: Added.
+ * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Added.
+ * bindings/v8/custom/V8CSSValueCustom.cpp: Added.
+ * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp: Added.
+ * bindings/v8/custom/V8DOMSelectionCustom.cpp: Added.
+ * bindings/v8/custom/V8HTMLElementCustom.cpp: Added.
+ * bindings/v8/custom/V8SVGDocumentCustom.cpp: Added.
+ * bindings/v8/custom/V8SVGElementCustom.cpp: Added.
+ * bindings/v8/custom/V8SVGPathSegCustom.cpp: Added.
+ * bindings/v8/custom/V8ScreenCustom.cpp: Added.
+ * bindings/v8/custom/V8StyleSheetCustom.cpp: Added.
+ * bindings/v8/custom/V8WebGLArrayCustom.cpp: Added.
+
+2010-01-27 Matt Perry <mpcomplete@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Add support for addUserScript to chromium port.
+
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::evaluateInWorld):
+ * bindings/v8/ScriptController.h:
+
+2010-02-01 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34448
+ <rdar://problem/7598130>
+
+ RenderVideo::intrinsicSizeChanged infinite recursion
+
+ * rendering/RenderImage.h:
+ (WebCore::RenderImage::intrinsicSizeChanged): Make protected instead of private so it can
+ be called by RenderVideo.
+ * rendering/RenderVideo.cpp:
+ (WebCore::RenderVideo::intrinsicSizeChanged): Call RenderMedia::intrinsicSizeChanged, not
+ RenderVideo::intrinsicSizeChanged.
+ (WebCore::RenderVideo::imageChanged): Call RenderMedia::imageChanged instead of
+ RenderImage::imageChanged.
+
+2010-02-01 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [V8] Generate toV8() converter for most WebCore->V8 conversions,
+ and defined custom converters in their respective V8<class>Custom.cpp.
+
+ Old converters in V8DOMWrapper will be deleted in a later patch.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32563
+
+ * Android.v8bindings.mk:
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/V8Collection.h:
+ * bindings/v8/V8DOMWrapper.cpp:
+ * bindings/v8/V8DOMWrapper.h:
+ * bindings/v8/V8Proxy.h:
+ * bindings/v8/custom/V8BarInfoCustom.cpp: Added.
+ * bindings/v8/custom/V8CSSRuleCustom.cpp: Added.
+ * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Added.
+ * bindings/v8/custom/V8CSSValueCustom.cpp: Added.
+ * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp: Added.
+ * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
+ * bindings/v8/custom/V8ConsoleCustom.cpp:
+ * bindings/v8/custom/V8DOMSelectionCustom.cpp: Added.
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ * bindings/v8/custom/V8DocumentCustom.cpp:
+ * bindings/v8/custom/V8ElementCustom.cpp:
+ * bindings/v8/custom/V8EventCustom.cpp:
+ * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
+ * bindings/v8/custom/V8HTMLElementCustom.cpp: Added.
+ * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
+ * bindings/v8/custom/V8HistoryCustom.cpp:
+ * bindings/v8/custom/V8LocationCustom.cpp:
+ * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
+ * bindings/v8/custom/V8NavigatorCustom.cpp:
+ * bindings/v8/custom/V8NodeCustom.cpp:
+ * bindings/v8/custom/V8SVGDocumentCustom.cpp: Added.
+ * bindings/v8/custom/V8SVGElementCustom.cpp: Added.
+ * bindings/v8/custom/V8SVGPathSegCustom.cpp: Added.
+ * bindings/v8/custom/V8ScreenCustom.cpp: Added.
+ * bindings/v8/custom/V8StyleSheetCustom.cpp: Added.
+ * bindings/v8/custom/V8TreeWalkerCustom.cpp:
+ * bindings/v8/custom/V8WebGLArrayCustom.cpp: Added.
+ * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
+ * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
+ * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
+ * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
+ * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
+ * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
+ * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
+ * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
+ * dom/make_names.pl: Add options to generate wrapper factory for V8 bindings.
+
+2010-02-01 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: lazy-load textual resources to avoid UI hangup
+ https://bugs.webkit.org/show_bug.cgi?id=34332
+
+ * inspector/front-end/ResourceView.js:
+ (WebInspector.ResourceView.prototype._innerSelectContentTab):
+ * inspector/front-end/SourceView.js:
+ (WebInspector.SourceView.prototype.show):
+ (WebInspector.SourceView.prototype.contentTabSelected):
+
+2010-02-01 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ Crash in Safari opening new tabs to "same page"
+ <rdar://problem/7593857> and https://bugs.webkit.org/show_bug.cgi?id=34444
+
+ Test: fast/loader/crash-copying-backforwardlist.html
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::loadItem): Null check currentItem().
+
+ * page/Page.cpp:
+ (WebCore::Page::goToItem): Ditto.
+
+2010-02-01 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ [wx] Remove unused file that doesn't seem to belong to the port.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34445
+
+ * platform/wx/KeyEventWin.cpp: Removed.
+
+2010-02-01 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ Fullscreen API should be on HTMLVideoElement
+ https://bugs.webkit.org/show_bug.cgi?id=34438
+
+ Move fullscreen DOM APIs from HTMLMediaElement to HTMLVideoElement.
+
+ * html/HTMLMediaElement.cpp:
+ * html/HTMLMediaElement.h:
+ * html/HTMLMediaElement.idl:
+ * html/HTMLVideoElement.cpp:
+ (WebCore::HTMLVideoElement::paint): Removed outdated FIXME.
+ (WebCore::HTMLVideoElement::paintCurrentFrameInContext): Ditto.
+ (WebCore::HTMLVideoElement::webkitEnterFullScreen): Moved from HTMLMediaElement.
+ (WebCore::HTMLVideoElement::webkitExitFullScreen): Ditto.
+ (WebCore::HTMLVideoElement::webkitSupportsFullscreen): Ditto.
+ (WebCore::HTMLVideoElement::webkitDisplayingFullscreen): Ditto.
+ * html/HTMLVideoElement.h:
+ * html/HTMLVideoElement.idl:
+
+2010-02-01 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Syntax highlighting in source view of
+ Resources pane stops half-way.
+
+ There were two problems here: (1) styles for html highlighter were not
+ added into the css file (they used to be injected manually in the
+ SourceFrame before). (2) 'Tag' needed to be lexer's state, not parser's.
+ Otherwise unbalanced quotes in the text nodes were matching too match
+ into the string tokens.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34359
+
+ * inspector/front-end/NativeTextViewer.js:
+ (WebInspector.NativeTextViewer.prototype._createLineDivs):
+ (WebInspector.NativeTextViewer.prototype._lineHeight):
+ (WebInspector.NativeTextViewer.prototype.initFontMetrics):
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype._createEditorIfNeeded):
+ * inspector/front-end/SourceHTMLTokenizer.js:
+ (WebInspector.SourceHTMLTokenizer):
+ (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
+ * inspector/front-end/SourceHTMLTokenizer.re2js:
+ * inspector/front-end/TextEditor.js:
+ (WebInspector.TextEditor.prototype.initFontMetrics):
+ (WebInspector.TextEditor.prototype._registerShortcuts):
+ * inspector/front-end/inspectorSyntaxHighlight.css:
+
+2010-02-01 Ben Murdoch <benm@google.com>
+
+ Reviewed by Darin Adler.
+
+ ScriptCallFrame's do not get line numbers/source id's if the caller is unkown.
+ https://bugs.webkit.org/show_bug.cgi?id=34335
+
+ * bindings/js/ScriptCallStack.cpp:
+ (WebCore::ScriptCallStack::ScriptCallStack): If the caller is unknown, the line number and source information is still available so pass it to the ScriptCallFrame being constructed.
+
+2010-02-01 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ Add back an AffineTransform class for use by SVG
+ https://bugs.webkit.org/show_bug.cgi?id=33750
+
+ These are the first steps on reimplementing AffineTransform. Unlike
+ the old affine code, this one is platform independent like TransformationMatrix.
+ AffineTransform has the benefit, that it stores just 6 doubles instead of
+ 16 in TransformationMatrix. The calculations of transformations are not that
+ complex and can improve the memory usage and speed of SVG.
+ AffineTransform can be used by HTML Canvas3D or SVG, since they are 2D related (at
+ least for the moment).
+ HTML Canvas is the first that makes use of the new AffineTransform. Next patches
+ will introduce the affine code to SVG.
+
+ No new tests. The new AffineTransformation code is tested by fast/canvas.
+
+ * Android.mk:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::scale):
+ (WebCore::CanvasRenderingContext2D::rotate):
+ (WebCore::CanvasRenderingContext2D::translate):
+ (WebCore::CanvasRenderingContext2D::transform):
+ (WebCore::CanvasRenderingContext2D::setTransform):
+ (WebCore::CanvasRenderingContext2D::isPointInPath):
+ (WebCore::CanvasRenderingContext2D::willDraw):
+ * html/canvas/CanvasRenderingContext2D.h:
+ * platform/graphics/GraphicsContext.h:
+ * platform/graphics/Path.h:
+ * platform/graphics/cairo/GraphicsContextCairo.cpp:
+ (WebCore::GraphicsContext::getAffineCTM):
+ (WebCore::GraphicsContext::concatCTM):
+ * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
+ (WebCore::GraphicsContextPlatformPrivate::concatCTM):
+ * platform/graphics/cairo/PathCairo.cpp:
+ (WebCore::Path::transform):
+ * platform/graphics/cairo/TransformationMatrixCairo.cpp:
+ (WebCore::AffineTransform::operator cairo_matrix_t):
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore::GraphicsContext::concatCTM):
+ (WebCore::GraphicsContext::getAffineCTM):
+ * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
+ (WebCore::GraphicsContextPlatformPrivate::concatCTM):
+ * platform/graphics/cg/PathCG.cpp:
+ (WebCore::Path::transform):
+ * platform/graphics/cg/TransformationMatrixCG.cpp:
+ (WebCore::AffineTransform::operator CGAffineTransform):
+ * platform/graphics/haiku/GraphicsContextHaiku.cpp:
+ (WebCore::GraphicsContext::getAffineCTM):
+ (WebCore::GraphicsContext::concatCTM):
+ * platform/graphics/haiku/PathHaiku.cpp:
+ (WebCore::Path::transform):
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::GraphicsContext::getAffineCTM):
+ (WebCore::GraphicsContext::concatCTM):
+ * platform/graphics/qt/PathQt.cpp:
+ (WebCore::Path::transform):
+ * platform/graphics/qt/TransformationMatrixQt.cpp:
+ (WebCore::AffineTransform::operator QTransform):
+ * platform/graphics/skia/GraphicsContextSkia.cpp:
+ (WebCore::GraphicsContext::concatCTM):
+ (WebCore::GraphicsContext::getAffineCTM):
+ * platform/graphics/skia/PathSkia.cpp:
+ (WebCore::Path::transform):
+ * platform/graphics/skia/TransformationMatrixSkia.cpp:
+ (WebCore::AffineTransform::operator SkMatrix):
+ * platform/graphics/transforms/AffineTransform.cpp: Added.
+ (WebCore::affineTransformDecompose):
+ (WebCore::affineTransformCompose):
+ (WebCore::AffineTransform::AffineTransform):
+ (WebCore::AffineTransform::reset):
+ (WebCore::AffineTransform::setMatrix):
+ (WebCore::AffineTransform::isIdentity):
+ (WebCore::AffineTransform::det):
+ (WebCore::AffineTransform::isInvertible):
+ (WebCore::AffineTransform::inverse):
+ (WebCore::AffineTransform::multiply):
+ (WebCore::AffineTransform::multLeft):
+ (WebCore::AffineTransform::rotate):
+ (WebCore::AffineTransform::scale):
+ (WebCore::AffineTransform::translate):
+ (WebCore::AffineTransform::scaleNonUniform):
+ (WebCore::AffineTransform::rotateFromVector):
+ (WebCore::AffineTransform::flipX):
+ (WebCore::AffineTransform::flipY):
+ (WebCore::AffineTransform::shear):
+ (WebCore::AffineTransform::skew):
+ (WebCore::AffineTransform::skewX):
+ (WebCore::AffineTransform::skewY):
+ (WebCore::makeMapBetweenRects):
+ (WebCore::AffineTransform::map):
+ (WebCore::AffineTransform::mapPoint):
+ (WebCore::AffineTransform::mapRect):
+ (WebCore::AffineTransform::blend):
+ (WebCore::AffineTransform::toTransformationMatrix):
+ * platform/graphics/transforms/AffineTransform.h: Added.
+ (WebCore::AffineTransform::a):
+ (WebCore::AffineTransform::setA):
+ (WebCore::AffineTransform::b):
+ (WebCore::AffineTransform::setB):
+ (WebCore::AffineTransform::c):
+ (WebCore::AffineTransform::setC):
+ (WebCore::AffineTransform::d):
+ (WebCore::AffineTransform::setD):
+ (WebCore::AffineTransform::e):
+ (WebCore::AffineTransform::setE):
+ (WebCore::AffineTransform::f):
+ (WebCore::AffineTransform::setF):
+ (WebCore::AffineTransform::operator== ):
+ (WebCore::AffineTransform::operator!=):
+ (WebCore::AffineTransform::operator*=):
+ (WebCore::AffineTransform::operator*):
+ (WebCore::AffineTransform::setMatrix):
+ * platform/graphics/win/GraphicsContextWin.cpp:
+ (WebCore::GraphicsContextPlatformPrivate::concatCTM):
+ * platform/graphics/wince/GraphicsContextWince.cpp:
+ (WebCore::GraphicsContext::concatCTM):
+ (WebCore::GraphicsContext::getAffineCTM):
+ * platform/graphics/wx/GraphicsContextWx.cpp:
+ (WebCore::GraphicsContext::getAffineCTM):
+ (WebCore::GraphicsContext::concatCTM):
+ * platform/graphics/wx/PathWx.cpp:
+ (WebCore::Path::transform):
+ * platform/graphics/wx/TransformationMatrixWx.cpp:
+ (WebCore::AffineTransform::operator wxGraphicsMatrix):
+
+2010-01-29 Philippe Normand <pnormand@igalia.com>
+
+ Reviewed by Eric Carlson.
+
+ [GTK] set playbin mute property depending on volume value
+ https://bugs.webkit.org/show_bug.cgi?id=31586
+
+ New API in MediaPlayer for mute control. 3 new methods are
+ introduced:
+
+ - bool supportsMuting() const;
+ - bool muted() const;
+ - void setMuted(bool);
+
+ Platform MediaPlayer implementations can support it easily if the
+ underlying sound daemon/API supports muting (eg. not only setting
+ volume to 0) like PulseAudio for instance on Linux. At the moment
+ the only player supporting this new API is the
+ MediaPlayerPrivateGStreamer.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::setMuted):
+ (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged):
+ (WebCore::HTMLMediaElement::mediaPlayerMuteChanged):
+ * html/HTMLMediaElement.h:
+ * platform/graphics/MediaPlayer.cpp:
+ (WebCore::NullMediaPlayerPrivate::supportsMuting):
+ (WebCore::NullMediaPlayerPrivate::setMuted):
+ (WebCore::MediaPlayer::MediaPlayer):
+ (WebCore::MediaPlayer::muted):
+ (WebCore::MediaPlayer::supportsMuting):
+ (WebCore::MediaPlayer::setMuted):
+ (WebCore::MediaPlayer::volumeChanged):
+ (WebCore::MediaPlayer::muteChanged):
+ * platform/graphics/MediaPlayer.h:
+ (WebCore::MediaPlayerClient::mediaPlayerMuteChanged):
+ * platform/graphics/MediaPlayerPrivate.h:
+ (WebCore::MediaPlayerPrivateInterface::supportsMuting):
+ (WebCore::MediaPlayerPrivateInterface::setMuted):
+ * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::mediaPlayerPrivateVolumeChangedCallback):
+ (WebCore::notifyVolumeIdleCallback):
+ (WebCore::mediaPlayerPrivateMuteChangedCallback):
+ (WebCore::notifyMuteIdleCallback):
+ (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
+ (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
+ (WebCore::MediaPlayerPrivate::volumeChangedCallback):
+ (WebCore::MediaPlayerPrivate::volumeChanged):
+ (WebCore::MediaPlayerPrivate::supportsMuting):
+ (WebCore::MediaPlayerPrivate::setMuted):
+ (WebCore::MediaPlayerPrivate::muteChangedCallback):
+ (WebCore::MediaPlayerPrivate::muteChanged):
+ (WebCore::MediaPlayerPrivate::createGSTPlayBin):
+ * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
+
+2010-02-01 Henry Haverinen <henry.haverinen@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Build without SSL support is broken
+
+ Added missing #ifdefs for OpenSSL support and one null-pointer
+ check for the socket.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34416
+
+ * platform/network/qt/SocketStreamHandlePrivate.h:
+ * platform/network/qt/SocketStreamHandleQt.cpp:
+ (WebCore::SocketStreamHandlePrivate::SocketStreamHandlePrivate):
+ (WebCore::SocketStreamHandlePrivate::send):
+
+2010-02-01 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Fix rest of the NativeTextViewer (line numbers,
+ conditional breakpoints, selection).
+
+ * inspector/front-end/NativeTextViewer.js:
+ (WebInspector.NativeTextViewer):
+ (WebInspector.NativeTextViewer.prototype._updatePreferredSize):
+ (WebInspector.NativeTextViewer.prototype._registerMouseListeners):
+ (WebInspector.NativeTextViewer.prototype._mouseDown):
+ (WebInspector.NativeTextViewer.prototype._contextMenu):
+ (WebInspector.NativeTextViewer.prototype._lineForMouseEvent):
+ (WebInspector.NativeTextViewer.prototype._lineHeight):
+ * inspector/front-end/TextEditor.js:
+ (WebInspector.TextEditor):
+ (WebInspector.TextEditor.prototype._registerMouseListeners):
+ (WebInspector.TextEditor.prototype._offsetToLine):
+ (WebInspector.TextEditor.prototype._lineHeight):
+ (WebInspector.TextEditor.prototype.reveal):
+ (WebInspector.TextEditor.prototype._paint):
+ (WebInspector.TextEditor.prototype._updateDivDecorations):
+ (WebInspector.TextEditor.prototype._paintSelection):
+
+2010-02-01 Steve Block <steveblock@google.com>
+
+ Reviewed by Ariya Hidayat.
+
+ Adds implementation of JavaString for V8.
+ https://bugs.webkit.org/show_bug.cgi?id=33953
+
+ No new tests, build fix only.
+
+ * bridge/jni/JNIBridge.h: Modified. Include JavaStringV8.h for V8
+ * bridge/jni/v8: Added.
+ * bridge/jni/v8/JavaStringV8.h: Added.
+ (JSC::Bindings::JavaStringImpl::init):
+ (JSC::Bindings::JavaStringImpl::UTF8String):
+ (JSC::Bindings::JavaStringImpl::uchars):
+ (JSC::Bindings::JavaStringImpl::length):
+
+2010-02-01 Alex Milowski <alex@milowski.com>
+
+ Reviewed by Darin Adler.
+
+ Added compile time debug support for mathml layout (block boundary & baseline)
+
+ * mathml/RenderMathMLBlock.cpp:
+ (WebCore::RenderMathMLBlock::stretchToHeight):
+ (WebCore::RenderMathMLBlock::paint):
+ * mathml/RenderMathMLBlock.h:
+
+2010-02-01 Philippe Normand <pnormand@igalia.com>
+
+ Rubber stamped by Xan Lopez.
+
+ Fixed compilation warning about unsigned vs signed comparison.
+
+ * plugins/gtk/PluginViewGtk.cpp:
+ (WebCore::PluginView::paint):
+
+2010-01-31 Kent Tamura <tkent@chromium.org>
+
+ Unreviewed. Revert r54112 and r54124 because of Windows build error.
+
+ * Android.mk:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::scale):
+ (WebCore::CanvasRenderingContext2D::rotate):
+ (WebCore::CanvasRenderingContext2D::translate):
+ (WebCore::CanvasRenderingContext2D::transform):
+ (WebCore::CanvasRenderingContext2D::setTransform):
+ (WebCore::CanvasRenderingContext2D::isPointInPath):
+ (WebCore::CanvasRenderingContext2D::willDraw):
+ * html/canvas/CanvasRenderingContext2D.h:
+ * platform/graphics/GraphicsContext.h:
+ * platform/graphics/Path.h:
+ * platform/graphics/cairo/GraphicsContextCairo.cpp:
+ * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
+ * platform/graphics/cairo/PathCairo.cpp:
+ * platform/graphics/cairo/TransformationMatrixCairo.cpp:
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
+ * platform/graphics/cg/PathCG.cpp:
+ * platform/graphics/cg/TransformationMatrixCG.cpp:
+ * platform/graphics/haiku/GraphicsContextHaiku.cpp:
+ * platform/graphics/haiku/PathHaiku.cpp:
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ * platform/graphics/qt/PathQt.cpp:
+ * platform/graphics/qt/TransformationMatrixQt.cpp:
+ * platform/graphics/skia/GraphicsContextSkia.cpp:
+ * platform/graphics/skia/PathSkia.cpp:
+ * platform/graphics/skia/TransformationMatrixSkia.cpp:
+ * platform/graphics/transforms/AffineTransform.cpp: Removed.
+ * platform/graphics/transforms/AffineTransform.h: Removed.
+ * platform/graphics/wince/GraphicsContextWince.cpp:
+ * platform/graphics/wx/GraphicsContextWx.cpp:
+ * platform/graphics/wx/PathWx.cpp:
+ * platform/graphics/wx/TransformationMatrixWx.cpp:
+ (WebCore::TransformationMatrix::operator wxGraphicsMatrix):
+
+2010-01-31 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Darin Adler.
+
+ Limit the scope of packing alignment to avoid MSVC C4103 warning.
+ https://bugs.webkit.org/show_bug.cgi?id=34390
+
+ Use pack(push, 16) and pack(pop) to limit the scope of packing
+ alignment change.
+
+ * bindings/js/JSSVGPODTypeWrapper.h:
+
+2010-01-31 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Fix valueAsNumber calculation for type=month.
+ https://bugs.webkit.org/show_bug.cgi?id=34304
+
+ valueAsNumber calculation for type=month which was checked in as
+ r53893 was the number of milliseconds since UNIX epoch, and it was
+ wrong. The correct way is the number months since UNIX epoch.
+
+ * html/DateComponents.cpp:
+ (WebCore::DateComponents::setMonthsSinceEpoch):
+ (WebCore::DateComponents::monthsSinceEpoch):
+ * html/DateComponents.h: Declare setMonthsSinceEpoch() and monthsSinceEpoch().
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::parseToDouble):
+ Switch to monthsSinceEpoch() for type=MONTH.
+ (WebCore::HTMLInputElement::valueAsDate):
+ Add code with millisecondsSinceEpoch() for MONTH because
+ parseToDouble() changed its behavior.
+ (WebCore::HTMLInputElement::setValueAsNumber):
+ Use setMonthsSinceEpoch() for MONTH.
+
+2010-01-31 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: REGRESSION: Numbers in bubbles are vertically off-center
+ https://bugs.webkit.org/show_bug.cgi?id=34398
+
+ * inspector/front-end/inspector.css: Specify line-height: normal for
+ ".console-message .bubble" and ".sidebar-tree-item .status .bubble".
+
+2010-01-28 Ojan Vafai <ojan@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Implement CSSOM Range.getClientRects for collapsed selections
+ https://bugs.webkit.org/show_bug.cgi?id=34239
+
+ When getting the quads for a range on a text node, allow returning
+ zero width quads. This leaves the case of collapsed selections inside
+ elements still not fixed, but no worse.
+
+ * rendering/InlineTextBox.cpp:
+ (WebCore::InlineTextBox::selectionRect):
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::absoluteQuadsForRange):
+
+2010-01-31 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Animated scaling of background-image is too slow
+ https://bugs.webkit.org/show_bug.cgi?id=33808
+
+ Implement a version of the RenderImage animated scaling optimisation
+ for background images. Due to the possibility of arbitrary transforms
+ being applied to containing elements we explicitly check the current
+ CTM of the context for scaling or rotation.
+
+ * platform/graphics/GraphicsContext.cpp:
+ (WebCore::GraphicsContext::drawTiledImage):
+ * platform/graphics/GraphicsContext.h:
+ * platform/graphics/transforms/TransformationMatrix.h:
+ (WebCore::TransformationMatrix::isIdentityOrTranslation):
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelScaleData::RenderBoxModelScaleData):
+ (WebCore::RenderBoxModelScaleData::~RenderBoxModelScaleData):
+ (WebCore::RenderBoxModelScaleData::hiqhQualityRepaintTimer):
+ (WebCore::RenderBoxModelScaleData::size):
+ (WebCore::RenderBoxModelScaleData::setSize):
+ (WebCore::RenderBoxModelScaleData::lastPaintTime):
+ (WebCore::RenderBoxModelScaleData::setLastPaintTime):
+ (WebCore::RenderBoxModelScaleData::useLowQualityScale):
+ (WebCore::RenderBoxModelScaleData::transform):
+ (WebCore::RenderBoxModelScaleData::setTransform):
+ (WebCore::RenderBoxModelScaleData::setUseLowQualityScale):
+ (WebCore::RenderBoxModelScaleObserver::boxModelObjectDestroyed):
+ (WebCore::RenderBoxModelScaleObserver::highQualityRepaintTimerFired):
+ (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality):
+ (WebCore::RenderBoxModelObject::highQualityRepaintTimerFired):
+ (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
+ (WebCore::RenderBoxModelObject::paintFillLayerExtended):
+ * rendering/RenderBoxModelObject.h:
+
+2010-01-31 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ Add back an AffineTransform class for use by SVG
+ https://bugs.webkit.org/show_bug.cgi?id=33750
+
+ These are the first steps on reimplementing AffineTransform. Unlike
+ the old affine code, this one is platform independent like TransformationMatrix.
+ AffineTransform has the benefit, that it stores just 6 doubles instead of
+ 16 in TransformationMatrix. The calculations of transformations are not that
+ complex and can improve the memory usage and speed of SVG.
+ AffineTransform can be used by HTML Canvas3D or SVG, since they are 2D related (at
+ least for the moment).
+ HTML Canvas is the first that makes use of the new AffineTransform. Next patches
+ will introduce the affine code to SVG.
+
+ No new tests. The new AffineTransformation code is tested by fast/canvas.
+
+ * Android.mk:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::scale):
+ (WebCore::CanvasRenderingContext2D::rotate):
+ (WebCore::CanvasRenderingContext2D::translate):
+ (WebCore::CanvasRenderingContext2D::transform):
+ (WebCore::CanvasRenderingContext2D::setTransform):
+ (WebCore::CanvasRenderingContext2D::isPointInPath):
+ (WebCore::CanvasRenderingContext2D::willDraw):
+ * html/canvas/CanvasRenderingContext2D.h:
+ * platform/graphics/GraphicsContext.h:
+ * platform/graphics/Path.h:
+ * platform/graphics/cairo/GraphicsContextCairo.cpp:
+ (WebCore::GraphicsContext::getAffineCTM):
+ (WebCore::GraphicsContext::concatCTM):
+ * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
+ (WebCore::GraphicsContextPlatformPrivate::concatCTM):
+ * platform/graphics/cairo/PathCairo.cpp:
+ (WebCore::Path::transform):
+ * platform/graphics/cairo/TransformationMatrixCairo.cpp:
+ (WebCore::AffineTransform::operator cairo_matrix_t):
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore::GraphicsContext::concatCTM):
+ (WebCore::GraphicsContext::getAffineCTM):
+ * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
+ (WebCore::GraphicsContextPlatformPrivate::concatCTM):
+ * platform/graphics/cg/PathCG.cpp:
+ (WebCore::Path::transform):
+ * platform/graphics/cg/TransformationMatrixCG.cpp:
+ (WebCore::AffineTransform::operator CGAffineTransform):
+ * platform/graphics/haiku/GraphicsContextHaiku.cpp:
+ (WebCore::GraphicsContext::getAffineCTM):
+ (WebCore::GraphicsContext::concatCTM):
+ * platform/graphics/haiku/PathHaiku.cpp:
+ (WebCore::Path::transform):
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::GraphicsContext::getAffineCTM):
+ (WebCore::GraphicsContext::concatCTM):
+ * platform/graphics/qt/PathQt.cpp:
+ (WebCore::Path::transform):
+ * platform/graphics/qt/TransformationMatrixQt.cpp:
+ (WebCore::AffineTransform::operator QTransform):
+ * platform/graphics/skia/GraphicsContextSkia.cpp:
+ (WebCore::GraphicsContext::getAffineCTM):
+ * platform/graphics/skia/PathSkia.cpp:
+ (WebCore::Path::transform):
+ * platform/graphics/skia/TransformationMatrixSkia.cpp:
+ (WebCore::AffineTransform::operator SkMatrix):
+ * platform/graphics/transforms/AffineTransform.cpp: Added.
+ (WebCore::affineTransformDecompose):
+ (WebCore::affineTransformCompose):
+ (WebCore::AffineTransform::AffineTransform):
+ (WebCore::AffineTransform::reset):
+ (WebCore::AffineTransform::setMatrix):
+ (WebCore::AffineTransform::isIdentity):
+ (WebCore::AffineTransform::det):
+ (WebCore::AffineTransform::isInvertible):
+ (WebCore::AffineTransform::inverse):
+ (WebCore::AffineTransform::multiply):
+ (WebCore::AffineTransform::multLeft):
+ (WebCore::AffineTransform::rotate):
+ (WebCore::AffineTransform::scale):
+ (WebCore::AffineTransform::translate):
+ (WebCore::AffineTransform::scaleNonUniform):
+ (WebCore::AffineTransform::rotateFromVector):
+ (WebCore::AffineTransform::flipX):
+ (WebCore::AffineTransform::flipY):
+ (WebCore::AffineTransform::shear):
+ (WebCore::AffineTransform::skew):
+ (WebCore::AffineTransform::skewX):
+ (WebCore::AffineTransform::skewY):
+ (WebCore::makeMapBetweenRects):
+ (WebCore::AffineTransform::map):
+ (WebCore::AffineTransform::mapPoint):
+ (WebCore::AffineTransform::mapRect):
+ (WebCore::AffineTransform::blend):
+ * platform/graphics/transforms/AffineTransform.h: Added.
+ (WebCore::AffineTransform::a):
+ (WebCore::AffineTransform::setA):
+ (WebCore::AffineTransform::b):
+ (WebCore::AffineTransform::setB):
+ (WebCore::AffineTransform::c):
+ (WebCore::AffineTransform::setC):
+ (WebCore::AffineTransform::d):
+ (WebCore::AffineTransform::setD):
+ (WebCore::AffineTransform::e):
+ (WebCore::AffineTransform::setE):
+ (WebCore::AffineTransform::f):
+ (WebCore::AffineTransform::setF):
+ (WebCore::AffineTransform::operator== ):
+ (WebCore::AffineTransform::operator!=):
+ (WebCore::AffineTransform::operator*=):
+ (WebCore::AffineTransform::operator*):
+ (WebCore::AffineTransform::setMatrix):
+ * platform/graphics/wince/GraphicsContextWince.cpp:
+ (WebCore::GraphicsContext::concatCTM):
+ (WebCore::GraphicsContext::getAffineCTM):
+ * platform/graphics/wx/GraphicsContextWx.cpp:
+ (WebCore::GraphicsContext::getAffineCTM):
+ (WebCore::GraphicsContext::concatCTM):
+ * platform/graphics/wx/PathWx.cpp:
+ (WebCore::Path::transform):
+ * platform/graphics/wx/TransformationMatrixWx.cpp:
+ (WebCore::AffineTransform::operator wxGraphicsMatrix):
+
+2010-01-31 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: [REGRESSION] Breakpoint source line is not displayed
+ in the breakpoint manager.
+
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype._addBreakpointToSource):
+
+2010-01-31 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Introduce NativeTextViewer.
+
+ This change handles rendering highlighted text, using browser's
+ selection/drag/drop/click logic. Breakpoint decorations and
+ program counter is working.
+
+ Todo: line numbers are painted 'under' the text when scrolling
+ horizontally, search is not yet implemented.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34391
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/front-end/DivBasedTextViewer.js: Added.
+ (WebInspector.DivBasedTextViewer):
+ (WebInspector.DivBasedTextViewer.prototype._textChanged):
+ (WebInspector.DivBasedTextViewer.prototype._createLineDivs):
+ (WebInspector.DivBasedTextViewer.prototype._updatePreferredSize):
+ (WebInspector.DivBasedTextViewer.prototype._scroll):
+ (WebInspector.DivBasedTextViewer.prototype._registerMouseListeners):
+ (WebInspector.DivBasedTextViewer.prototype._registerKeyboardListeners):
+ (WebInspector.DivBasedTextViewer.prototype._registerClipboardListeners):
+ (WebInspector.DivBasedTextViewer.prototype._paintSelection):
+ (WebInspector.DivBasedTextViewer.prototype._positionDivDecoration):
+ (WebInspector.DivBasedTextViewer.prototype._mouseDown):
+ (WebInspector.DivBasedTextViewer.prototype._contextMenu):
+ (WebInspector.DivBasedTextViewer.prototype._caretForMouseEvent):
+ (WebInspector.DivBasedTextViewer.prototype._paintLine):
+ (WebInspector.DivBasedTextViewer.prototype._createSpan):
+ * inspector/front-end/Settings.js:
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype.clearMessages):
+ (WebInspector.SourceFrame.prototype.sizeToFitContentHeight):
+ (WebInspector.SourceFrame.prototype._createEditorIfNeeded):
+ (WebInspector.SourceFrame.prototype._addMessageToSource):
+ (WebInspector.SourceFrame.prototype.resize):
+ * inspector/front-end/TextEditor.js:
+ (WebInspector.TextEditor):
+ (WebInspector.TextEditor.prototype.setDivDecoration):
+ (WebInspector.TextEditor.prototype._registerMouseListeners):
+ (WebInspector.TextEditor.prototype._registerKeyboardListeners):
+ (WebInspector.TextEditor.prototype._registerClipboardListeners):
+ (WebInspector.TextEditor.prototype.reveal):
+ (WebInspector.TextEditor.prototype._textChanged):
+ (WebInspector.TextEditor.prototype.revalidateDecorationsAndPaint):
+ (WebInspector.TextEditor.prototype._updatePreferredSize):
+ (WebInspector.TextEditor.prototype.resize):
+ (WebInspector.TextEditor.prototype._paintLinesContinuation):
+ (WebInspector.TextEditor.prototype._paintLine):
+ (WebInspector.TextEditor.prototype._contextMenu):
+ (WebInspector.TextEditor.prototype._caretForMouseEvent):
+ (WebInspector.TextEditor.prototype._changeFont):
+ * inspector/front-end/TextEditorHighlighter.js:
+ (WebInspector.TextEditorHighlighter.prototype._lex):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.html:
+ * inspector/front-end/textEditor.css:
+
+2010-01-31 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ [Qt] Enable FAST_MOBILE_SCROLLING on Qt embedded platforms
+ https://bugs.webkit.org/show_bug.cgi?id=34168
+
+ Enable FAST_MOBILE_SCROLLING for Qt on Maemo 5, Linux embedded
+ and Symbian
+
+ * WebCore.pro:
+
+2010-01-31 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Make ScriptState destructor protected since all non-empty
+ ScriptStates are managed by GC. Remove obsolete constructor.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34266
+
+ * bindings/v8/ScriptState.cpp:
+ * bindings/v8/ScriptState.h:
+
+2010-01-30 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Use CGGradient on Leopard and later, since it's faster than CGShading
+ https://bugs.webkit.org/show_bug.cgi?id=34384
+
+ Use CGGradient on Leopard and later, rather than CGShading, for
+ performance.
+
+ * platform/graphics/Gradient.h:
+ * platform/graphics/Gradient.cpp:
+ (WebCore::Gradient::sortStopsIfNecessary): Utility method to sort stops.
+ Did not call this from getColor() to avoid overhead of a function call.
+
+ * platform/graphics/cg/GradientCG.cpp:
+ (WebCore::Gradient::platformDestroy): Use CGGradientRelease() post-Tiger.
+ (WebCore::Gradient::platformGradient): Create and return a CGGradientRef post-Tiger.
+ (WebCore::Gradient::fill): Call new paint() method.
+ (WebCore::Gradient::paint): New convenence method that avoids testing
+ isRadial() in a bunch of other places.
+
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore::GraphicsContext::fillPath): Call the gradient's paint() method.
+ (WebCore::GraphicsContext::strokePath): Ditto
+ (WebCore::GraphicsContext::fillRect): Ditto
+ (WebCore::GraphicsContext::strokeRect): Ditto
+
+2010-01-30 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ Do color animations on premultiplied colors
+ https://bugs.webkit.org/show_bug.cgi?id=34383
+
+ Convert colors to premultiplied alpha before interpolating them,
+ then convert the result back to non-premultiplied. This gives better
+ results when animating from transparent colors.
+
+ Test: transitions/color-transition-premultiplied.html
+
+ * page/animation/AnimationBase.cpp:
+ (WebCore::blendFunc):
+
+2010-01-30 Gustavo Noronha Silva <gns@gnome.org>
+
+ Build fixes needed for make distcheck.
+
+ * GNUmakefile.am:
+
+2010-01-29 Mark Rowe <mrowe@apple.com>
+
+ Stop copying an IDL file in to the framework wrapper.
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+2010-01-29 Mark Rowe <mrowe@apple.com>
+
+ Sort Xcode projects.
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+== Rolled over to ChangeLog-2010-01-29 ==
diff --git a/WebCore/DerivedSources.cpp b/WebCore/DerivedSources.cpp
index 3372972..ae6b92e 100644
--- a/WebCore/DerivedSources.cpp
+++ b/WebCore/DerivedSources.cpp
@@ -174,6 +174,8 @@
#include "JSIDBDatabaseRequest.cpp"
#include "JSIDBErrorEvent.cpp"
#include "JSIDBEvent.cpp"
+#include "JSIDBIndexRequest.cpp"
+#include "JSIDBObjectStoreRequest.cpp"
#include "JSIDBRequest.cpp"
#include "JSIDBSuccessEvent.cpp"
#include "JSImageData.cpp"
diff --git a/WebCore/DerivedSources.make b/WebCore/DerivedSources.make
index e2a1ad7..867b002 100644
--- a/WebCore/DerivedSources.make
+++ b/WebCore/DerivedSources.make
@@ -217,6 +217,8 @@ DOM_CLASSES = \
IDBDatabaseRequest \
IDBErrorEvent \
IDBEvent \
+ IDBIndexRequest \
+ IDBObjectStoreRequest \
IDBRequest \
IDBSuccessEvent \
ImageData \
diff --git a/WebCore/English.lproj/localizedStrings.js b/WebCore/English.lproj/localizedStrings.js
index f6ed609..e59b66d 100644
--- a/WebCore/English.lproj/localizedStrings.js
+++ b/WebCore/English.lproj/localizedStrings.js
Binary files differ
diff --git a/WebCore/GNUmakefile.am b/WebCore/GNUmakefile.am
index e7cb038..fc6b818 100644
--- a/WebCore/GNUmakefile.am
+++ b/WebCore/GNUmakefile.am
@@ -136,7 +136,7 @@ IDL_BINDINGS += \
WebCore/dom/Clipboard.idl \
WebCore/dom/Comment.idl \
WebCore/dom/CompositionEvent.idl \
- Webcore/dom/CustomEvent.idl \
+ WebCore/dom/CustomEvent.idl \
WebCore/dom/DOMCoreException.idl \
WebCore/dom/DOMImplementation.idl \
WebCore/dom/DOMStringList.idl \
@@ -323,8 +323,12 @@ IDL_BINDINGS += \
webcoregtk_dom_sources = \
WebCore/bindings/gobject/ConvertToUTF8String.cpp \
WebCore/bindings/gobject/ConvertToUTF8String.h \
+ WebCore/bindings/gobject/GObjectEventListener.cpp \
+ WebCore/bindings/gobject/GObjectEventListener.h \
WebCore/bindings/gobject/WebKitDOMBinding.cpp \
WebCore/bindings/gobject/WebKitDOMBinding.h \
+ WebCore/bindings/gobject/WebKitDOMEventTarget.cpp \
+ WebCore/bindings/gobject/WebKitDOMEventTarget.h \
WebCore/bindings/gobject/WebKitHTMLElementWrapperFactory.cpp \
WebCore/bindings/gobject/WebKitHTMLElementWrapperFactory.h \
WebCore/bindings/gobject/WebKitDOMObject.cpp \
@@ -585,6 +589,7 @@ webcore_sources += \
WebCore/bridge/npruntime_impl.h \
WebCore/bridge/npruntime_internal.h \
WebCore/bridge/npruntime_priv.h \
+ WebCore/bridge/nptypes.h \
WebCore/bridge/runtime_array.cpp \
WebCore/bridge/runtime_array.h \
WebCore/bridge/runtime_method.cpp \
@@ -1079,10 +1084,14 @@ webcore_sources += \
WebCore/html/FormDataList.h \
WebCore/html/HTML5Lexer.cpp \
WebCore/html/HTML5Lexer.h \
+ WebCore/html/HTML5Token.h \
WebCore/html/HTML5Tokenizer.cpp \
WebCore/html/HTML5Tokenizer.h \
WebCore/html/HTML5TreeBuilder.cpp \
WebCore/html/HTML5TreeBuilder.h \
+ WebCore/html/HTML5ScriptRunner.cpp \
+ WebCore/html/HTML5ScriptRunner.h \
+ WebCore/html/HTML5ScriptRunnerHost.h \
WebCore/html/HTMLAllCollection.cpp \
WebCore/html/HTMLAllCollection.h \
WebCore/html/HTMLAnchorElement.cpp \
@@ -1252,6 +1261,8 @@ webcore_sources += \
WebCore/html/HTMLViewSourceDocument.h \
WebCore/html/ImageData.cpp \
WebCore/html/ImageData.h \
+ WebCore/html/LabelsNodeList.cpp \
+ WebCore/html/LabelsNodeList.h \
WebCore/html/MediaError.h \
WebCore/html/PreloadScanner.cpp \
WebCore/html/PreloadScanner.h \
@@ -1318,6 +1329,8 @@ webcore_sources += \
WebCore/inspector/InspectorResource.h \
WebCore/inspector/InspectorTimelineAgent.cpp \
WebCore/inspector/InspectorTimelineAgent.h \
+ WebCore/inspector/InspectorValues.cpp \
+ WebCore/inspector/InspectorValues.h \
WebCore/inspector/InspectorWorkerResource.h \
WebCore/inspector/ScriptBreakpoint.h \
WebCore/inspector/ScriptDebugListener.h \
@@ -1333,6 +1346,7 @@ webcore_sources += \
WebCore/loader/CachedFont.h \
WebCore/loader/CachedImage.cpp \
WebCore/loader/CachedImage.h \
+ WebCore/loader/CachedMetadata.h \
WebCore/loader/CachedResource.cpp \
WebCore/loader/CachedResource.h \
WebCore/loader/CachedResourceClient.h \
@@ -1514,6 +1528,8 @@ webcore_sources += \
WebCore/page/Settings.h \
WebCore/page/SpatialNavigation.cpp \
WebCore/page/SpatialNavigation.h \
+ WebCore/page/SuspendableTimer.cpp \
+ WebCore/page/SuspendableTimer.h \
WebCore/page/UserContentURLPattern.cpp \
WebCore/page/UserContentURLPattern.h \
WebCore/page/UserScript.h \
@@ -1565,6 +1581,8 @@ webcore_sources += \
WebCore/platform/GeolocationService.cpp \
WebCore/platform/GeolocationService.h \
WebCore/platform/HostWindow.h \
+ WebCore/platform/KillRing.h \
+ WebCore/platform/KillRingNone.cpp \
WebCore/platform/KURL.cpp \
WebCore/platform/KURL.h \
WebCore/platform/KURLHash.h \
@@ -1609,7 +1627,6 @@ webcore_sources += \
WebCore/platform/SharedBuffer.h \
WebCore/platform/SharedTimer.h \
WebCore/platform/Sound.h \
- WebCore/platform/StaticConstructors.h \
WebCore/platform/SuddenTermination.h \
WebCore/platform/SystemTime.h \
WebCore/platform/ThemeTypes.h \
@@ -1742,6 +1759,7 @@ webcore_sources += \
WebCore/platform/network/AuthenticationClient.h \
WebCore/platform/network/Credential.cpp \
WebCore/platform/network/Credential.h \
+ WebCore/platform/network/DNS.h \
WebCore/platform/network/FormData.cpp \
WebCore/platform/network/FormData.h \
WebCore/platform/network/FormDataBuilder.cpp \
@@ -1822,11 +1840,8 @@ webcore_sources += \
WebCore/plugins/PluginData.h \
WebCore/plugins/PluginDatabase.cpp \
WebCore/plugins/PluginDatabase.h \
- WebCore/plugins/PluginDatabaseClient.h \
WebCore/plugins/PluginDebug.cpp \
WebCore/plugins/PluginDebug.h \
- WebCore/plugins/PluginInfoStore.cpp \
- WebCore/plugins/PluginInfoStore.h \
WebCore/plugins/PluginMainThreadScheduler.cpp \
WebCore/plugins/PluginMainThreadScheduler.h \
WebCore/plugins/PluginPackage.cpp \
@@ -1951,6 +1966,7 @@ webcore_sources += \
WebCore/rendering/RenderScrollbarPart.h \
WebCore/rendering/RenderScrollbarTheme.cpp \
WebCore/rendering/RenderScrollbarTheme.h \
+ WebCore/rendering/RenderSVGResourceContainer.h \
WebCore/rendering/RenderSelectionInfo.h \
WebCore/rendering/RenderSlider.cpp \
WebCore/rendering/RenderSlider.h \
@@ -2457,12 +2473,14 @@ if ENABLE_INDEXED_DATABASE
FEATURE_DEFINES += ENABLE_INDEXED_DATABASE=1
IDL_BINDINGS += \
- WebCore/storage/IDBDAny.idl \
+ WebCore/storage/IDBAny.idl \
WebCore/storage/IDBDatabaseError.idl \
WebCore/storage/IDBDatabaseException.idl \
WebCore/storage/IDBDatabaseRequest.idl \
WebCore/storage/IDBErrorEvent.idl \
WebCore/storage/IDBEvent.idl \
+ WebCore/storage/IDBIndexRequest.idl \
+ WebCore/storage/IDBObjectStoreRequest.idl \
WebCore/storage/IDBRequest.idl \
WebCore/storage/IDBSuccessEvent.idl \
WebCore/storage/IndexedDatabaseRequest.idl
@@ -2471,13 +2489,12 @@ webcore_cppflags += \
-DENABLE_INDEXED_DATABASE=1
webcore_sources += \
- WebCore/bindings/js/JSIDBRequestCustom.cpp \
WebCore/storage/IDBAny.cpp \
WebCore/storage/IDBAny.h \
- WebCore/storage/IDBCallbacks.cpp \
WebCore/storage/IDBCallbacks.h \
- WebCore/storage/IDBDatabase.cpp \
WebCore/storage/IDBDatabase.h \
+ WebCore/storage/IDBDatabaseImpl.cpp \
+ WebCore/storage/IDBDatabaseImpl.h \
WebCore/storage/IDBDatabaseError.h \
WebCore/storage/IDBDatabaseException.h \
WebCore/storage/IDBDatabaseRequest.cpp \
@@ -2486,6 +2503,15 @@ webcore_sources += \
WebCore/storage/IDBErrorEvent.h \
WebCore/storage/IDBEvent.cpp \
WebCore/storage/IDBEvent.h \
+ WebCore/storage/IDBIndex.h \
+ WebCore/storage/IDBIndexImpl.cpp \
+ WebCore/storage/IDBIndexImpl.h \
+ WebCore/storage/IDBIndexRequest.cpp \
+ WebCore/storage/IDBIndexRequest.h \
+ WebCore/storage/IDBObjectStore.cpp \
+ WebCore/storage/IDBObjectStore.h \
+ WebCore/storage/IDBObjectStoreRequest.cpp \
+ WebCore/storage/IDBObjectStoreRequest.h \
WebCore/storage/IDBRequest.cpp \
WebCore/storage/IDBRequest.h \
WebCore/storage/IDBSuccessEvent.cpp \
@@ -3890,8 +3916,11 @@ DerivedSources/webkit/webkitdomdummy.c:
# DerivedSources/webkit directory. The reason is that we want all header files distributed in the
# include/webkit-x.y/webkit directory, but do not want to name the WebCore/bindings/gobject directory
# "webkit", as that's a bit presumptuous for a GTK binding.
-$(top_builddir)/DerivedSources/webkit/WebKitDOMObject.h:
- cp -f $(WebCore)/bindings/gobject/WebKitDOMObject.h $@
+$(top_builddir)/DerivedSources/webkit/WebKitDOMObject.h: $(WebCore)/bindings/gobject/WebKitDOMObject.h
+ $(AM_V_GEN)cp -f $< $@
+
+$(top_builddir)/DerivedSources/webkit/WebKitDOMEventTarget.h: $(WebCore)/bindings/gobject/WebKitDOMEventTarget.h
+ $(AM_V_GEN)cp -f $< $@
# Start with a subset of all the DOM bindings
IDL_BINDINGS_GDOM += \
@@ -3915,6 +3944,7 @@ IDL_BINDINGS_GDOM += \
WebCore/dom/DOMStringList.idl \
WebCore/dom/Element.idl \
WebCore/dom/EntityReference.idl \
+ WebCore/dom/Event.idl \
WebCore/dom/MessagePort.idl \
WebCore/dom/NamedNodeMap.idl \
WebCore/dom/Node.idl \
@@ -4014,7 +4044,7 @@ IDL_BINDINGS_GDOM += \
GDOM_AUTO_CLASSES += $(basename $(notdir $(IDL_BINDINGS_GDOM)))
# The classes implemented manually
-GDOM_FIXED_CLASSES += Object
+GDOM_FIXED_CLASSES += Object EventTarget
GDOM_CLASSES += $(GDOM_AUTO_CLASSES) $(GDOM_FIXED_CLASSES)
@@ -4025,6 +4055,7 @@ FEATURE_DEFINES_GDOM := $(filter-out ENABLE-SVG%, $(FEATURE_DEFINES))
GDOM_HEADERS_BUILT += $(patsubst %,$(top_builddir)/DerivedSources/webkit/WebKitDOM%.h,$(GDOM_AUTO_CLASSES)) \
$(top_builddir)/DerivedSources/webkit/webkitdom.h \
$(top_builddir)/DerivedSources/webkit/webkitdomdefines.h \
+ $(top_builddir)/DerivedSources/webkit/WebKitDOMEventTarget.h \
$(top_builddir)/DerivedSources/webkit/WebKitDOMObject.h
# Autogenerated source files
@@ -4036,7 +4067,7 @@ GDOM_HEADERS_FIXED += $(patsubst %,$(srcdir)/WebCore/bindings/gobject/WebKitDOM%
# All header files that get installed
libgdom_h_api += $(GDOM_HEADERS_FIXED) $(GDOM_HEADERS_BUILT)
-DerivedSources/webkit/webkitdom.h: $(WebCore)/bindings/scripts/gobject-generate-headers.pl
+DerivedSources/webkit/webkitdom.h: $(WebCore)/bindings/scripts/gobject-generate-headers.pl $(WebCore)/GNUmakefile.am
$(AM_V_GEN)echo $(GDOM_CLASSES) | $(PERL) $< gdom > $@
DerivedSources/webkit/webkitdomdefines.h: $(WebCore)/bindings/scripts/gobject-generate-headers.pl $(IDL_BINDINGS_GDOM) $(WebCore)/GNUmakefile.am
@@ -4050,9 +4081,10 @@ DerivedSources/webkit/WebKitDOM%.cpp: %.idl $(SCRIPTS_BINDINGS) $(WebCore)/bindi
gdom_built_nosources := $(GDOM_HEADERS_BUILT) $(GDOM_SOURCES_BUILT)
libgdom_objects := $(subst .cpp,.lo,$(GDOM_SOURCES_BUILT))
+libgdom_depfiles := $(patsubst %.lo,$(top_builddir)/DerivedSources/webkit/$(DEPDIR)/%.Plo,$(notdir $(libgdom_objects)))
+libgdom_depfiles += $(patsubst %.h,$(WebCore)/bindings/gobject/$(DEPDIR)/%.Plo,$(notdir $(GDOM_HEADERS_FIXED)))
--include WebCore/bindings/gobject/$(DEPDIR)/%.Plo
--include DerivedSources/webkit/$(DEPDIR)/%.Plo
+-include $(libgdom_depfiles)
$(libgdom_objects): AM_CPPFLAGS+=$(libwebkit_1_0_la_CPPFLAGS)
$(libgdom_objects): AM_CXXFLAGS+=$(libwebkit_1_0_la_CXXFLAGS)
@@ -4076,6 +4108,7 @@ webcore_dist += \
WebCore/bindings/scripts/generate-bindings.pl \
WebCore/bindings/scripts/CodeGeneratorJS.pm \
WebCore/bindings/scripts/CodeGeneratorGObject.pm \
+ WebCore/bindings/scripts/gobject-generate-headers.pl \
WebCore/css/html.css \
WebCore/css/mathml.css \
WebCore/css/quirks.css \
diff --git a/WebCore/WebCore.Inspector.exp b/WebCore/WebCore.Inspector.exp
index 5cda893..5bf6f05 100644
--- a/WebCore/WebCore.Inspector.exp
+++ b/WebCore/WebCore.Inspector.exp
@@ -4,6 +4,9 @@ __ZN7WebCore19InspectorController14enableProfilerEbb
__ZN7WebCore19InspectorController15disableDebuggerEb
__ZN7WebCore19InspectorController15disableProfilerEb
__ZN7WebCore19InspectorController18disconnectFrontendEv
+__ZN7WebCore19InspectorController20stopTimelineProfilerEv
+__ZN7WebCore19InspectorController21startTimelineProfilerEv
+__ZN7WebCore19InspectorController25evaluateForTestInFrontendElRKNS_6StringE
__ZN7WebCore19InspectorController26setInspectorFrontendClientEN3WTF10PassOwnPtrINS_23InspectorFrontendClientEEE
__ZN7WebCore19InspectorController26stopUserInitiatedProfilingEv
__ZN7WebCore19InspectorController27startUserInitiatedProfilingEPNS_5TimerIS0_EE
@@ -11,20 +14,17 @@ __ZN7WebCore19InspectorController4showEv
__ZN7WebCore19InspectorController5closeEv
__ZN7WebCore19InspectorController7inspectEPNS_4NodeE
__ZN7WebCore19InspectorController9showPanelENS0_13SpecialPanelsE
-__ZN7WebCore19InspectorController25evaluateForTestInFrontendElRKNS_6StringE
-__ZNK7WebCore19InspectorController17drawNodeHighlightERNS_15GraphicsContextE
-__ZNK7WebCore19InspectorController7enabledEv
-__ZNK7WebCore19InspectorController7settingERKNS_6StringE
-__ZN7WebCore19InspectorController21startTimelineProfilerEv
-__ZN7WebCore19InspectorController20stopTimelineProfilerEv
-__ZN7WebCore28InspectorFrontendClientLocalC2EPNS_19InspectorControllerEPNS_4PageE
-__ZN7WebCore28InspectorFrontendClientLocalD2Ev
-__ZN7WebCore28InspectorFrontendClientLocal19windowObjectClearedEv
-__ZN7WebCore28InspectorFrontendClientLocal14frontendLoadedEv
-__ZN7WebCore28InspectorFrontendClientLocal27restoreAttachedWindowHeightEv
__ZN7WebCore28InspectorFrontendClientLocal12moveWindowByEff
+__ZN7WebCore28InspectorFrontendClientLocal14frontendLoadedEv
__ZN7WebCore28InspectorFrontendClientLocal15canAttachWindowEv
__ZN7WebCore28InspectorFrontendClientLocal17setAttachedWindowEb
-__ZN7WebCore28InspectorFrontendClientLocal26changeAttachedWindowHeightEj
-__ZN7WebCore28InspectorFrontendClientLocal19requestDetachWindowEv
__ZN7WebCore28InspectorFrontendClientLocal19requestAttachWindowEv
+__ZN7WebCore28InspectorFrontendClientLocal19requestDetachWindowEv
+__ZN7WebCore28InspectorFrontendClientLocal19windowObjectClearedEv
+__ZN7WebCore28InspectorFrontendClientLocal26changeAttachedWindowHeightEj
+__ZN7WebCore28InspectorFrontendClientLocal27restoreAttachedWindowHeightEv
+__ZN7WebCore28InspectorFrontendClientLocalC2EPNS_19InspectorControllerEPNS_4PageE
+__ZN7WebCore28InspectorFrontendClientLocalD2Ev
+__ZNK7WebCore19InspectorController17drawNodeHighlightERNS_15GraphicsContextE
+__ZNK7WebCore19InspectorController7enabledEv
+__ZNK7WebCore19InspectorController7settingERKNS_6StringE
diff --git a/WebCore/WebCore.PluginHostProcess.exp b/WebCore/WebCore.PluginHostProcess.exp
index 308d0f2..e9d4734 100644
--- a/WebCore/WebCore.PluginHostProcess.exp
+++ b/WebCore/WebCore.PluginHostProcess.exp
@@ -1,5 +1,4 @@
# This file gets appended to WebCore.exp when USE(PLUGIN_HOST_PROCESS) is 1.
-
__ZN3JSC13RuntimeMethod11getCallDataERNS_8CallDataE
__ZN3JSC13RuntimeMethod18getOwnPropertySlotEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE
__ZN3JSC13RuntimeMethod24getOwnPropertyDescriptorEPNS_9ExecStateERKNS_10IdentifierERNS_18PropertyDescriptorE
diff --git a/WebCore/WebCore.VideoProxy.exp b/WebCore/WebCore.VideoProxy.exp
index cead63f..6412d2c 100644
--- a/WebCore/WebCore.VideoProxy.exp
+++ b/WebCore/WebCore.VideoProxy.exp
@@ -1,4 +1,4 @@
-__ZN7WebCore9HTMLNames8videoTagE
-__ZN7WebCore9HTMLNames8audioTagE
__ZN7WebCore16HTMLMediaElement19deliverNotificationE32MediaPlayerProxyNotificationType
__ZN7WebCore16HTMLMediaElement19setMediaPlayerProxyEP19WebMediaPlayerProxy
+__ZN7WebCore9HTMLNames8audioTagE
+__ZN7WebCore9HTMLNames8videoTagE
diff --git a/WebCore/WebCore.base.exp b/WebCore/WebCore.base.exp
index 558531a..c799b84 100644
--- a/WebCore/WebCore.base.exp
+++ b/WebCore/WebCore.base.exp
@@ -210,7 +210,7 @@ __ZN7WebCore12EventHandler10mouseMovedERKNS_18PlatformMouseEventE
__ZN7WebCore12EventHandler10wheelEventEP7NSEvent
__ZN7WebCore12EventHandler12mouseDraggedEP7NSEvent
__ZN7WebCore12EventHandler14currentNSEventEv
-__ZN7WebCore12EventHandler14scrollOverflowENS_15ScrollDirectionENS_17ScrollGranularityE
+__ZN7WebCore12EventHandler14scrollOverflowENS_15ScrollDirectionENS_17ScrollGranularityEPNS_4NodeE
__ZN7WebCore12EventHandler15sendScrollEventEv
__ZN7WebCore12EventHandler16handleWheelEventERNS_18PlatformWheelEventE
__ZN7WebCore12EventHandler20handleTextInputEventERKNS_6StringEPNS_5EventEbb
@@ -343,6 +343,7 @@ __ZN7WebCore15DatabaseTracker12deleteOriginEPNS_14SecurityOriginE
__ZN7WebCore15DatabaseTracker14deleteDatabaseEPNS_14SecurityOriginERKNS_6StringE
__ZN7WebCore15DatabaseTracker14quotaForOriginEPNS_14SecurityOriginE
__ZN7WebCore15DatabaseTracker14usageForOriginEPNS_14SecurityOriginE
+__ZN7WebCore15DatabaseTracker17initializeTrackerERKNS_6StringE
__ZN7WebCore15DatabaseTracker18deleteAllDatabasesEv
__ZN7WebCore15DatabaseTracker22databaseNamesForOriginEPNS_14SecurityOriginERN3WTF6VectorINS_6StringELm0EEE
__ZN7WebCore15DatabaseTracker23detailsForNameAndOriginERKNS_6StringEPNS_14SecurityOriginE
@@ -420,7 +421,7 @@ __ZN7WebCore19AnimationController21pauseTransitionAtTimeEPNS_12RenderObjectERKNS
__ZN7WebCore19CSSStyleDeclaration11setPropertyERKNS_6StringES3_Ri
__ZN7WebCore19InspectorController34inspectorStartsAttachedSettingNameEv
__ZN7WebCore19SelectionController10setFocusedEb
-__ZN7WebCore19SelectionController12setSelectionERKNS_16VisibleSelectionEbbbNS_15TextGranularityE
+__ZN7WebCore19SelectionController12setSelectionERKNS_16VisibleSelectionEbbbNS0_19CursorAlignOnScrollENS_15TextGranularityE
__ZN7WebCore19SelectionController16setSelectedRangeEPNS_5RangeENS_9EAffinityEb
__ZN7WebCore19SelectionController5clearEv
__ZN7WebCore19SelectionController6modifyENS0_11EAlterationENS0_10EDirectionENS_15TextGranularityEb
@@ -534,7 +535,6 @@ __ZN7WebCore5Cache13setCapacitiesEjjj
__ZN7WebCore5Frame10createViewERKNS_7IntSizeERKNS_5ColorEbS3_bNS_13ScrollbarModeEbS7_b
__ZN7WebCore5Frame10findStringERKNS_6StringEbbbb
__ZN7WebCore5Frame13reapplyStylesEv
-__ZN7WebCore5Frame13setZoomFactorEfNS_8ZoomModeE
__ZN7WebCore5Frame14frameForWidgetEPKNS_6WidgetE
__ZN7WebCore5Frame15revealSelectionERKNS_15ScrollAlignmentEb
__ZN7WebCore5Frame20setSelectionFromNoneEv
@@ -704,6 +704,7 @@ __ZN7WebCore9FrameTree7setNameERKNS_12AtomicStringE
__ZN7WebCore9FrameTree9clearNameEv
__ZN7WebCore9FrameView11forceLayoutEb
__ZN7WebCore9FrameView12setMediaTypeERKNS_6StringE
+__ZN7WebCore9FrameView13setZoomFactorEfNS_8ZoomModeE
__ZN7WebCore9FrameView14adjustViewSizeEv
__ZN7WebCore9FrameView14setMarginWidthEi
__ZN7WebCore9FrameView14setNeedsLayoutEv
@@ -817,6 +818,7 @@ __ZNK7WebCore11HistoryItem8childrenEv
__ZNK7WebCore11HistoryItem8referrerEv
__ZNK7WebCore11HistoryItem9urlStringEv
__ZNK7WebCore11HistoryItem9viewStateEv
+__ZNK7WebCore11RenderStyle21visitedDependentColorEi
__ZNK7WebCore12EventHandler20currentKeyboardEventEv
__ZNK7WebCore12IconDatabase12databasePathEv
__ZNK7WebCore12IconDatabase24shouldStopThreadActivityEv
@@ -920,7 +922,6 @@ __ZNK7WebCore5Frame18selectionTextRectsERN3WTF6VectorINS_9FloatRectELm0EEENS0_30
__ZNK7WebCore5Frame20selectionGranularityEv
__ZNK7WebCore5Frame30applyEditingStyleToBodyElementEv
__ZNK7WebCore5Frame31fontAttributesForSelectionStartEv
-__ZNK7WebCore5Frame33removeEditingStyleFromBodyElementEv
__ZNK7WebCore5Frame37baseWritingDirectionForSelectionStartEv
__ZNK7WebCore5Frame8settingsEv
__ZNK7WebCore5Frame9domWindowEv
@@ -987,7 +988,6 @@ __ZNK7WebCore9FrameView20isSoftwareRenderableEv
__ZNK7WebCore9FrameView28isEnclosedInCompositingLayerEv
__ZNK7WebCore9PageCache10frameCountEv
__ZNK7WebCore9PageCache21autoreleasedPageCountEv
-__ZNK7WebCore11RenderStyle21visitedDependentColorEi
__ZTVN7WebCore12ChromeClientE
__ZTVN7WebCore12PluginWidgetE
__ZTVN7WebCore17FileChooserClientE
diff --git a/WebCore/WebCore.gyp/WebCore.gyp b/WebCore/WebCore.gyp/WebCore.gyp
index 4f57ed2..1042bd4 100644
--- a/WebCore/WebCore.gyp/WebCore.gyp
+++ b/WebCore/WebCore.gyp/WebCore.gyp
@@ -793,7 +793,6 @@
# Exclude some, but not all, of plugins.
'../plugins/PluginDatabase.cpp',
- '../plugins/PluginInfoStore.cpp',
'../plugins/PluginMainThreadScheduler.cpp',
'../plugins/PluginPackage.cpp',
'../plugins/PluginStream.cpp',
@@ -1011,6 +1010,7 @@
['include', 'platform/graphics/mac/GraphicsContextMac\\.mm$'],
['include', 'platform/graphics/mac/IntRectMac\\.mm$'],
['include', 'platform/mac/BlockExceptions\\.mm$'],
+ ['include', 'platform/mac/KillRingMac\\.mm$'],
['include', 'platform/mac/LocalCurrentGraphicsContext\\.mm$'],
['include', 'platform/mac/PurgeableBufferMac\\.cpp$'],
['include', 'platform/mac/WebCoreSystemInterface\\.mm$'],
@@ -1023,6 +1023,10 @@
['include', 'WebKit/mac/WebCoreSupport/WebSystemInterface\\.m$'],
],
'sources!': [
+ # The Mac uses platform/mac/KillRingMac.mm instead of the dummy
+ # implementation.
+ '../platform/KillRingNone.cpp',
+
# The Mac currently uses FontCustomPlatformData.cpp from
# platform/graphics/mac, included by regex above, instead.
'../platform/graphics/chromium/FontCustomPlatformData.cpp',
diff --git a/WebCore/WebCore.gypi b/WebCore/WebCore.gypi
index 3f660f2..c66a32b 100644
--- a/WebCore/WebCore.gypi
+++ b/WebCore/WebCore.gypi
@@ -221,15 +221,17 @@
'plugins/MimeTypeArray.idl',
'plugins/Plugin.idl',
'plugins/PluginArray.idl',
- 'storage/IDBAny.idl',
'storage/Database.idl',
'storage/DatabaseCallback.idl',
'storage/DatabaseSync.idl',
+ 'storage/IDBAny.idl',
'storage/IDBDatabaseError.idl',
'storage/IDBDatabaseException.idl',
'storage/IDBDatabaseRequest.idl',
'storage/IDBErrorEvent.idl',
'storage/IDBEvent.idl',
+ 'storage/IDBIndexRequest.idl',
+ 'storage/IDBObjectStoreRequest.idl',
'storage/IDBRequest.idl',
'storage/IDBSuccessEvent.idl',
'storage/IndexedDatabaseRequest.idl',
@@ -1473,6 +1475,8 @@
'html/HTML5Tokenizer.h',
'html/HTML5TreeBuilder.cpp',
'html/HTML5TreeBuilder.h',
+ 'html/HTML5ScriptRunner.cpp',
+ 'html/HTML5ScriptRunner.h',
'html/HTMLAllCollection.cpp',
'html/HTMLAllCollection.h',
'html/HTMLAnchorElement.cpp',
@@ -1649,6 +1653,8 @@
'html/HTMLViewSourceDocument.h',
'html/ImageData.cpp',
'html/ImageData.h',
+ 'html/LabelsNodeList.cpp',
+ 'html/LabelsNodeList.h',
'html/MediaError.h',
'html/PreloadScanner.cpp',
'html/PreloadScanner.h',
@@ -1690,6 +1696,8 @@
'inspector/InspectorResource.h',
'inspector/InspectorTimelineAgent.cpp',
'inspector/InspectorTimelineAgent.h',
+ 'inspector/InspectorValues.cpp',
+ 'inspector/InspectorValues.h',
'inspector/InspectorWorkerResource.h',
'inspector/ScriptBreakpoint.h',
'inspector/ScriptDebugListener.h',
@@ -1965,6 +1973,8 @@
'page/Settings.h',
'page/SpatialNavigation.h',
'page/SpatialNavigation.cpp',
+ 'page/SuspendableTimer.cpp',
+ 'page/SuspendableTimer.h',
'page/UserContentURLPattern.cpp',
'page/UserContentURLPattern.h',
'page/UserScript.h',
@@ -2509,6 +2519,7 @@
'platform/mac/FoundationExtras.h',
'platform/mac/KURLMac.mm',
'platform/mac/KeyEventMac.mm',
+ 'platform/mac/KillRingMac.mm',
'platform/mac/Language.mm',
'platform/mac/LocalCurrentGraphicsContext.h',
'platform/mac/LocalCurrentGraphicsContext.mm',
@@ -2893,6 +2904,8 @@
'platform/GeolocationService.cpp',
'platform/GeolocationService.h',
'platform/HostWindow.h',
+ 'platform/KillRing.h',
+ 'platform/KillRingNone.cpp',
'platform/KURL.cpp',
'platform/KURL.h',
'platform/KURLGoogle.cpp',
@@ -2994,8 +3007,6 @@
'plugins/PluginDatabase.h',
'plugins/PluginDebug.cpp',
'plugins/PluginDebug.h',
- 'plugins/PluginInfoStore.cpp',
- 'plugins/PluginInfoStore.h',
'plugins/PluginMainThreadScheduler.cpp',
'plugins/PluginMainThreadScheduler.h',
'plugins/PluginPackage.cpp',
@@ -3351,15 +3362,25 @@
'storage/IDBAny.h',
'storage/IDBCallbacks.h',
'storage/IDBDatabase.h',
- 'storage/IDBDatabase.cpp',
'storage/IDBDatabaseError.h',
'storage/IDBDatabaseException.h',
+ 'storage/IDBDatabaseImpl.cpp',
+ 'storage/IDBDatabaseImpl.h',
'storage/IDBDatabaseRequest.cpp',
'storage/IDBDatabaseRequest.h',
'storage/IDBEvent.cpp',
'storage/IDBEvent.h',
'storage/IDBErrorEvent.cpp',
'storage/IDBErrorEvent.h',
+ 'storage/IDBIndex.h',
+ 'storage/IDBIndexImpl.cpp',
+ 'storage/IDBIndexImpl.h',
+ 'storage/IDBIndexRequest.cpp',
+ 'storage/IDBIndexRequest.h',
+ 'storage/IDBObjectStore.cpp',
+ 'storage/IDBObjectStore.h',
+ 'storage/IDBObjectStoreRequest.cpp',
+ 'storage/IDBObjectStoreRequest.h',
'storage/IDBRequest.cpp',
'storage/IDBRequest.h',
'storage/IDBSuccessEvent.cpp',
@@ -3852,7 +3873,7 @@
'inspector/front-end/AuditRules.js',
'inspector/front-end/AuditsPanel.js',
'inspector/front-end/BottomUpProfileDataGridTree.js',
- 'inspector/front-end/Breakpoint.js',
+ 'inspector/front-end/BreakpointManager.js',
'inspector/front-end/BreakpointsSidebarPane.js',
'inspector/front-end/Callback.js',
'inspector/front-end/CallStackSidebarPane.js',
@@ -3921,6 +3942,7 @@
'inspector/front-end/StoragePanel.js',
'inspector/front-end/StylesSidebarPane.js',
'inspector/front-end/SummaryBar.js',
+ 'inspector/front-end/TabbedPane.js',
'inspector/front-end/TestController.js',
'inspector/front-end/TextEditorHighlighter.js',
'inspector/front-end/TextEditorModel.js',
diff --git a/WebCore/WebCore.pri b/WebCore/WebCore.pri
index b824f61..9b873fe 100644
--- a/WebCore/WebCore.pri
+++ b/WebCore/WebCore.pri
@@ -450,6 +450,8 @@ IDL_BINDINGS += \
storage/IDBDatabaseRequest.idl \
storage/IDBErrorEvent.idl \
storage/IDBEvent.idl \
+ storage/IDBIndexRequest.idl \
+ storage/IDBObjectStoreRequest.idl \
storage/IDBRequest.idl \
storage/IDBSuccessEvent.idl \
storage/IndexedDatabaseRequest.idl \
diff --git a/WebCore/WebCore.pro b/WebCore/WebCore.pro
index 13a4205..66b9c0a 100644
--- a/WebCore/WebCore.pro
+++ b/WebCore/WebCore.pro
@@ -156,7 +156,7 @@ defineTest(addExtraCompiler) {
for(file,input) {
base = $$basename(file)
- base ~= s/\..+//
+ base ~= s/\\..+//
newfile=$$replace(outputRule,\\$\\{QMAKE_FILE_BASE\\},$$base)
SOURCES += $$newfile
}
@@ -611,6 +611,7 @@ SOURCES += \
html/HTML5Lexer.cpp \
html/HTML5Tokenizer.cpp \
html/HTML5TreeBuilder.cpp \
+ html/HTML5ScriptRunner.cpp \
html/HTMLAllCollection.cpp \
html/HTMLAnchorElement.cpp \
html/HTMLAppletElement.cpp \
@@ -695,6 +696,7 @@ SOURCES += \
html/HTMLUListElement.cpp \
html/HTMLViewSourceDocument.cpp \
html/ImageData.cpp \
+ html/LabelsNodeList.cpp \
html/PreloadScanner.cpp \
html/StepRange.cpp \
html/ValidityState.cpp \
@@ -712,6 +714,7 @@ SOURCES += \
inspector/InspectorFrontendHost.cpp \
inspector/InspectorResource.cpp \
inspector/InspectorTimelineAgent.cpp \
+ inspector/InspectorValues.cpp \
inspector/TimelineRecordFactory.cpp \
loader/archive/ArchiveFactory.cpp \
loader/archive/ArchiveResource.cpp \
@@ -797,6 +800,7 @@ SOURCES += \
page/Screen.cpp \
page/Settings.cpp \
page/SpatialNavigation.cpp \
+ page/SuspendableTimer.cpp \
page/UserContentURLPattern.cpp \
page/WindowFeatures.cpp \
page/XSSAuditor.cpp \
@@ -858,6 +862,7 @@ SOURCES += \
platform/graphics/transforms/SkewTransformOperation.cpp \
platform/graphics/transforms/TransformOperations.cpp \
platform/graphics/transforms/TranslateTransformOperation.cpp \
+ platform/KillRingNone.cpp \
platform/KURL.cpp \
platform/Length.cpp \
platform/LinkHash.cpp \
@@ -901,7 +906,6 @@ SOURCES += \
platform/Widget.cpp \
plugins/PluginDatabase.cpp \
plugins/PluginDebug.cpp \
- plugins/PluginInfoStore.cpp \
plugins/PluginPackage.cpp \
plugins/PluginStream.cpp \
plugins/PluginView.cpp \
@@ -1425,6 +1429,7 @@ HEADERS += \
html/HTMLVideoElement.h \
html/HTMLViewSourceDocument.h \
html/ImageData.h \
+ html/LabelsNodeList.h \
html/PreloadScanner.h \
html/StepRange.h \
html/TimeRanges.h \
@@ -1617,6 +1622,7 @@ HEADERS += \
platform/graphics/transforms/TransformationMatrix.h \
platform/graphics/transforms/TransformOperations.h \
platform/graphics/transforms/TranslateTransformOperation.h \
+ platform/KillRing.h \
platform/KURL.h \
platform/Length.h \
platform/LinkHash.h \
@@ -1681,7 +1687,6 @@ HEADERS += \
plugins/PluginData.h \
plugins/PluginDebug.h \
plugins/Plugin.h \
- plugins/PluginInfoStore.h \
plugins/PluginMainThreadScheduler.h \
plugins/PluginPackage.h \
plugins/PluginStream.h \
@@ -2333,11 +2338,17 @@ contains(DEFINES, ENABLE_INDEXED_DATABASE=1) {
storage/IDBAny.h \
storage/IDBCallbacks.h \
storage/IDBDatabase.h \
+ storage/IDBDatabaseImpl.h \
storage/IDBDatabaseError.h \
storage/IDBDatabaseException.h \
storage/IDBDatabaseRequest.h \
storage/IDBErrorEvent.h \
storage/IDBEvent.h \
+ storage/IDBIndex.h \
+ storage/IDBIndexImpl.h \
+ storage/IDBIndexRequest.h \
+ storage/IDBObjectStore.h \
+ storage/IDBObjectStoreRequest.h \
storage/IDBRequest.h \
storage/IDBSuccessEvent.h \
storage/IndexedDatabase.h \
@@ -2347,10 +2358,14 @@ contains(DEFINES, ENABLE_INDEXED_DATABASE=1) {
SOURCES += \
bindings/js/JSIDBAnyCustom.cpp \
storage/IDBAny.cpp \
- storage/IDBDatabase.cpp \
+ storage/IDBDatabaseImpl.cpp \
storage/IDBDatabaseRequest.cpp \
storage/IDBErrorEvent.cpp \
storage/IDBEvent.cpp \
+ storage/IDBIndexImpl.cpp \
+ storage/IDBIndexRequest.cpp \
+ storage/IDBObjectStore.cpp \
+ storage/IDBObjectStoreRequest.cpp \
storage/IDBRequest.cpp \
storage/IDBSuccessEvent.cpp \
storage/IndexedDatabase.cpp \
diff --git a/WebCore/WebCore.vcproj/WebCore.vcproj b/WebCore/WebCore.vcproj/WebCore.vcproj
index f581af0..98ce9eb 100644
--- a/WebCore/WebCore.vcproj/WebCore.vcproj
+++ b/WebCore/WebCore.vcproj/WebCore.vcproj
@@ -21633,6 +21633,14 @@
>
</File>
<File
+ RelativePath="..\page\SuspendableTimer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\SuspendableTimer.h"
+ >
+ </File>
+ <File
RelativePath="..\page\UserContentURLPattern.cpp"
>
</File>
@@ -22421,6 +22429,14 @@
>
</File>
<File
+ RelativePath="..\platform\KillRing.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\KillRingNone.cpp"
+ >
+ </File>
+ <File
RelativePath="..\platform\KURL.cpp"
>
</File>
@@ -23867,6 +23883,14 @@
>
</File>
<File
+ RelativePath="..\platform\graphics\win\MediaPlayerPrivateFullscreenWindow.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\MediaPlayerPrivateFullscreenWindow.h"
+ >
+ </File>
+ <File
RelativePath="..\platform\graphics\win\MediaPlayerPrivateQuickTimeVisualContext.cpp"
>
</File>
@@ -24046,6 +24070,14 @@
RelativePath="..\platform\graphics\win\WKCACFLayerRenderer.h"
>
</File>
+ <File
+ RelativePath="..\platform\graphics\win\WKCAImageQueue.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\WKCAImageQueue.h"
+ >
+ </File>
</Filter>
<Filter
Name="cg"
@@ -30953,6 +30985,14 @@
>
</File>
<File
+ RelativePath="..\html\HTML5ScriptRunner.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTML5ScriptRunner.h"
+ >
+ </File>
+ <File
RelativePath="..\html\HTMLAllCollection.cpp"
>
</File>
@@ -35229,6 +35269,14 @@
>
</File>
<File
+ RelativePath="..\html\LabelsNodeList.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\LabelsNodeList.h"
+ >
+ </File>
+ <File
RelativePath="..\html\MediaError.h"
>
</File>
@@ -38552,6 +38600,118 @@
>
</File>
<File
+ RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSIDBIndexRequest.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Internal|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSIDBIndexRequest.h"
+ >
+ </File>
+ <File
+ RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSIDBObjectStoreRequest.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Internal|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSIDBObjectStoreRequest.h"
+ >
+ </File>
+ <File
RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSIDBRequest.cpp"
>
<FileConfiguration
@@ -42405,14 +42565,6 @@
>
</File>
<File
- RelativePath="..\plugins\PluginInfoStore.cpp"
- >
- </File>
- <File
- RelativePath="..\plugins\PluginInfoStore.h"
- >
- </File>
- <File
RelativePath="..\plugins\PluginMainThreadScheduler.cpp"
>
</File>
@@ -43985,6 +44137,138 @@
>
</File>
<File
+ RelativePath="..\storage\IDBAny.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\IDBAny.h"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\IDBCallbacks.h"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\IDBDatabase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\IDBDatabaseError.h"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\IDBDatabaseException.h"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\IDBDatabaseImpl.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\IDBDatabaseImpl.h"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\IDBDatabaseRequest.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\IDBDatabaseRequest.h"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\IDBEvent.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\IDBEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\IDBErrorEvent.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\IDBErrorEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\IDBIndex.h"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\IDBIndexImpl.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\IDBIndexImpl.h"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\IDBIndexRequest.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\IDBIndexRequest.h"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\IDBObjectStore.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\IDBObjectStore.h"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\IDBObjectStoreRequest.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\IDBObjectStoreRequest.h"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\IDBRequest.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\IDBRequest.h"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\IDBSuccessEvent.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\IDBSuccessEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\IndexedDatabase.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\IndexedDatabase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\IndexedDatabaseImpl.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\IndexedDatabaseImpl.h"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\IndexedDatabaseRequest.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\IndexedDatabaseRequest.h"
+ >
+ </File>
+ <File
RelativePath="..\storage\LocalStorageTask.cpp"
>
</File>
@@ -44449,6 +44733,14 @@
>
</File>
<File
+ RelativePath="..\inspector\InspectorValues.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorValues.h"
+ >
+ </File>
+ <File
RelativePath="..\inspector\InspectorWorkerResource.h"
>
</File>
@@ -44504,7 +44796,7 @@
>
</File>
<File
- RelativePath="..\inspector\front-end\Breakpoint.js"
+ RelativePath="..\inspector\front-end\BreakpointManager.js"
>
</File>
<File
@@ -44784,6 +45076,10 @@
>
</File>
<File
+ RelativePath="..\inspector\front-end\TabbedPane.js"
+ >
+ </File>
+ <File
RelativePath="..\inspector\front-end\TestController.js"
>
</File>
diff --git a/WebCore/WebCore.xcodeproj/project.pbxproj b/WebCore/WebCore.xcodeproj/project.pbxproj
index ee9e556..9c825d4 100644
--- a/WebCore/WebCore.xcodeproj/project.pbxproj
+++ b/WebCore/WebCore.xcodeproj/project.pbxproj
@@ -1014,6 +1014,8 @@
4E19592C0A39DACC00220FE5 /* MediaQueryEvaluator.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E1959260A39DACC00220FE5 /* MediaQueryEvaluator.h */; };
4E19592D0A39DACC00220FE5 /* MediaQueryExp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4E1959270A39DACC00220FE5 /* MediaQueryExp.cpp */; };
4E19592E0A39DACC00220FE5 /* MediaQueryExp.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E1959280A39DACC00220FE5 /* MediaQueryExp.h */; };
+ 4F3289B511A42AAB005ABE7E /* InspectorValues.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F3289B311A42AAB005ABE7E /* InspectorValues.cpp */; };
+ 4F3289B611A42AAB005ABE7E /* InspectorValues.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F3289B411A42AAB005ABE7E /* InspectorValues.h */; settings = {ATTRIBUTES = (Private, ); }; };
4FD8D0F2119C718B002FA825 /* ScriptGCEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4FD8D0F0119C718B002FA825 /* ScriptGCEvent.cpp */; };
4FD8D0F3119C718B002FA825 /* ScriptGCEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FD8D0F1119C718B002FA825 /* ScriptGCEvent.h */; };
510184690B08602A004A825F /* CachedPage.h in Headers */ = {isa = PBXBuildFile; fileRef = 510184670B08602A004A825F /* CachedPage.h */; settings = {ATTRIBUTES = (Private, ); }; };
@@ -1159,6 +1161,8 @@
51EC92590CE90DB400F90308 /* SQLError.h in Headers */ = {isa = PBXBuildFile; fileRef = 51EC92570CE90DB400F90308 /* SQLError.h */; settings = {ATTRIBUTES = (Private, ); }; };
51EC92650CE90DD400F90308 /* JSCustomSQLStatementErrorCallback.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51EC925D0CE90DD400F90308 /* JSCustomSQLStatementErrorCallback.cpp */; };
51FAFE340CECBF2D00BB3F24 /* DatabaseTrackerClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 51FAFE330CECBF2D00BB3F24 /* DatabaseTrackerClient.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ 521D46F611AEC98100514613 /* KillRingMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 521D46F511AEC98100514613 /* KillRingMac.mm */; };
+ 521D46F811AEC9B100514613 /* KillRing.h in Headers */ = {isa = PBXBuildFile; fileRef = 521D46F711AEC9B100514613 /* KillRing.h */; };
54C50F7B0E801DF3009832A0 /* XMLTokenizerLibxml2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 54C50F7A0E801DF3009832A0 /* XMLTokenizerLibxml2.cpp */; };
550A0BC9085F6039007353D6 /* QualifiedName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 550A0BC7085F6039007353D6 /* QualifiedName.cpp */; };
550A0BCA085F6039007353D6 /* QualifiedName.h in Headers */ = {isa = PBXBuildFile; fileRef = 550A0BC8085F6039007353D6 /* QualifiedName.h */; settings = {ATTRIBUTES = (Private, ); }; };
@@ -1201,13 +1205,14 @@
5DB1BC6A10715A6400EFAA49 /* TransformSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 5DB1BC6810715A6400EFAA49 /* TransformSource.h */; };
5DB1BC6B10715A6400EFAA49 /* TransformSourceLibxslt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5DB1BC6910715A6400EFAA49 /* TransformSourceLibxslt.cpp */; };
5DC87EF011716DF2001C0E6D /* EmptyProtocolDefinitions.h in Headers */ = {isa = PBXBuildFile; fileRef = 5DC87EEF11716DF2001C0E6D /* EmptyProtocolDefinitions.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 5DCF836D0D59159800953BC6 /* PluginInfoStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 5DCF836C0D59159800953BC6 /* PluginInfoStore.h */; };
5DD0A3810D9AC6070056C122 /* DOMElementTimeControl.h in Copy Generated Headers */ = {isa = PBXBuildFile; fileRef = E415F1680D9A165D0033CE97 /* DOMElementTimeControl.h */; };
5DF7F5C20F01F92A00526B4B /* CSSPropertyNames.h in Copy Generated Headers */ = {isa = PBXBuildFile; fileRef = 656580EF09D12B20000E61D7 /* CSSPropertyNames.h */; };
5DFE8F560D16477B0076E937 /* ScheduledAction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCA378BA0D15F64200B793D6 /* ScheduledAction.cpp */; };
5DFE8F570D16477C0076E937 /* ScheduledAction.h in Headers */ = {isa = PBXBuildFile; fileRef = BCA378BB0D15F64200B793D6 /* ScheduledAction.h */; };
626CDE0E1140424C001E5A68 /* SpatialNavigation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 626CDE0C1140424C001E5A68 /* SpatialNavigation.cpp */; };
626CDE0F1140424C001E5A68 /* SpatialNavigation.h in Headers */ = {isa = PBXBuildFile; fileRef = 626CDE0D1140424C001E5A68 /* SpatialNavigation.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ 62C1217C11AB9E77003C462C /* SuspendableTimer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 62C1217A11AB9E76003C462C /* SuspendableTimer.cpp */; };
+ 62C1217D11AB9E77003C462C /* SuspendableTimer.h in Headers */ = {isa = PBXBuildFile; fileRef = 62C1217B11AB9E77003C462C /* SuspendableTimer.h */; };
62CD32591157E57C0063B0A7 /* CustomEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 62CD32561157E57C0063B0A7 /* CustomEvent.cpp */; };
62CD325A1157E57C0063B0A7 /* CustomEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CD32571157E57C0063B0A7 /* CustomEvent.h */; };
63189AE30E83A33300012E41 /* NodeRareData.h in Headers */ = {isa = PBXBuildFile; fileRef = 63189AE20E83A33300012E41 /* NodeRareData.h */; settings = {ATTRIBUTES = (); }; };
@@ -2588,6 +2593,8 @@
A454424B119B3661009BE912 /* HTMLMeterElement.h in Headers */ = {isa = PBXBuildFile; fileRef = A4544249119B3661009BE912 /* HTMLMeterElement.h */; };
A454424E119B3687009BE912 /* RenderMeter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A454424C119B3687009BE912 /* RenderMeter.cpp */; };
A454424F119B3687009BE912 /* RenderMeter.h in Headers */ = {isa = PBXBuildFile; fileRef = A454424D119B3687009BE912 /* RenderMeter.h */; };
+ A456FA2611AD4A830020B420 /* LabelsNodeList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A456FA2411AD4A830020B420 /* LabelsNodeList.cpp */; };
+ A456FA2711AD4A830020B420 /* LabelsNodeList.h in Headers */ = {isa = PBXBuildFile; fileRef = A456FA2511AD4A830020B420 /* LabelsNodeList.h */; };
A513B3D7114B1666001C429B /* KeyEventCocoa.h in Headers */ = {isa = PBXBuildFile; fileRef = A5C974CF11485FF10066F2AB /* KeyEventCocoa.h */; };
A513B3D8114B166A001C429B /* KeyEventCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = A5C974D011485FF10066F2AB /* KeyEventCocoa.mm */; };
A59E3C1E11580F510072928E /* KeyEventCodesIPhone.h in Headers */ = {isa = PBXBuildFile; fileRef = A59E3C1C11580F510072928E /* KeyEventCodesIPhone.h */; };
@@ -2913,6 +2920,8 @@
A833C80C0A2CF25600D57664 /* XMLNames.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A833C80A0A2CF25600D57664 /* XMLNames.cpp */; };
A833C80D0A2CF25600D57664 /* XMLNames.h in Headers */ = {isa = PBXBuildFile; fileRef = A833C80B0A2CF25600D57664 /* XMLNames.h */; };
A833C8520A2CF52800D57664 /* SVGElementFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 656581E609D1508D000E61D7 /* SVGElementFactory.cpp */; };
+ A83B3AF011ADEFF500458809 /* HTML5ScriptRunner.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A83B3AEE11ADEFF500458809 /* HTML5ScriptRunner.cpp */; };
+ A83B3AF111ADEFF500458809 /* HTML5ScriptRunner.h in Headers */ = {isa = PBXBuildFile; fileRef = A83B3AEF11ADEFF500458809 /* HTML5ScriptRunner.h */; };
A83B78FC0CCAFF15000B0825 /* JSSVGFontFaceUriElement.h in Headers */ = {isa = PBXBuildFile; fileRef = A83B78F20CCAFF15000B0825 /* JSSVGFontFaceUriElement.h */; };
A83B78FD0CCAFF15000B0825 /* JSSVGFontFaceUriElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A83B78F30CCAFF15000B0825 /* JSSVGFontFaceUriElement.cpp */; };
A83B78FE0CCAFF15000B0825 /* JSSVGFontFaceSrcElement.h in Headers */ = {isa = PBXBuildFile; fileRef = A83B78F40CCAFF15000B0825 /* JSSVGFontFaceSrcElement.h */; };
@@ -3010,6 +3019,7 @@
A871DFE50A15376B00B12A68 /* RenderWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A871DFE10A15376B00B12A68 /* RenderWidget.cpp */; };
A879C62511A9D1F70059237A /* HTML5TreeBuilder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A879C62311A9D1F70059237A /* HTML5TreeBuilder.cpp */; };
A879C62611A9D1F70059237A /* HTML5TreeBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = A879C62411A9D1F70059237A /* HTML5TreeBuilder.h */; };
+ A87F163511AE841300CBB2E5 /* HTML5ScriptRunnerHost.h in Headers */ = {isa = PBXBuildFile; fileRef = A87F163411AE841300CBB2E5 /* HTML5ScriptRunnerHost.h */; };
A883DF270F3D045D00F19BF6 /* VisibleSelection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A883DF250F3D045D00F19BF6 /* VisibleSelection.cpp */; };
A883DF280F3D045D00F19BF6 /* VisibleSelection.h in Headers */ = {isa = PBXBuildFile; fileRef = A883DF260F3D045D00F19BF6 /* VisibleSelection.h */; settings = {ATTRIBUTES = (Private, ); }; };
A88AD52F09524B92001DD196 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A85D7A2F0879EBA9006A9172 /* QuartzCore.framework */; };
@@ -4228,6 +4238,13 @@
B5C1123B102B6C4600096578 /* SQLTransactionCoordinator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B5C11239102B6C4600096578 /* SQLTransactionCoordinator.cpp */; };
B5C1123C102B6C4600096578 /* SQLTransactionCoordinator.h in Headers */ = {isa = PBXBuildFile; fileRef = B5C1123A102B6C4600096578 /* SQLTransactionCoordinator.h */; };
B5D3601A112F8B560048DEA8 /* DatabaseCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = B5D36019112F8B560048DEA8 /* DatabaseCallback.h */; };
+ B627FB2D11AD743500E97B72 /* IDBDatabaseImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C50AD2A911AC1631008CF2FB /* IDBDatabaseImpl.cpp */; };
+ B6693EEB11AD63E6003F2770 /* IDBObjectStore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B6693EE711AD63E6003F2770 /* IDBObjectStore.cpp */; };
+ B6693EEC11AD63E6003F2770 /* IDBObjectStore.h in Headers */ = {isa = PBXBuildFile; fileRef = B6693EE811AD63E6003F2770 /* IDBObjectStore.h */; };
+ B6693EED11AD63E6003F2770 /* IDBObjectStoreRequest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B6693EE911AD63E6003F2770 /* IDBObjectStoreRequest.cpp */; };
+ B6693EEE11AD63E6003F2770 /* IDBObjectStoreRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = B6693EEA11AD63E6003F2770 /* IDBObjectStoreRequest.h */; };
+ B6693EF211AD6486003F2770 /* JSIDBObjectStoreRequest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B6693EF011AD6486003F2770 /* JSIDBObjectStoreRequest.cpp */; };
+ B6693EF311AD6486003F2770 /* JSIDBObjectStoreRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = B6693EF111AD6486003F2770 /* JSIDBObjectStoreRequest.h */; };
B71FE6DF11091CB300DAEF77 /* PrintContext.h in Headers */ = {isa = PBXBuildFile; fileRef = B776D43A1104525D00BEB0EC /* PrintContext.h */; settings = {ATTRIBUTES = (Private, ); }; };
B734B181119B9911006587BD /* FontTranscoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B734B180119B9911006587BD /* FontTranscoder.cpp */; };
B734B183119B991D006587BD /* FontTranscoder.h in Headers */ = {isa = PBXBuildFile; fileRef = B734B182119B991D006587BD /* FontTranscoder.h */; };
@@ -4778,7 +4795,6 @@
C5160EEA1004543A00A7CEE2 /* StorageAreaImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C5160EE81004543A00A7CEE2 /* StorageAreaImpl.cpp */; };
C5160EEB1004543A00A7CEE2 /* StorageAreaImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = C5160EE91004543A00A7CEE2 /* StorageAreaImpl.h */; };
C5198F4C1192ECFD002B74A6 /* IDBCallbacks.h in Headers */ = {isa = PBXBuildFile; fileRef = C5198F381192ECFD002B74A6 /* IDBCallbacks.h */; };
- C5198F4D1192ECFD002B74A6 /* IDBDatabase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C5198F391192ECFD002B74A6 /* IDBDatabase.cpp */; };
C5198F4E1192ECFD002B74A6 /* IDBDatabase.h in Headers */ = {isa = PBXBuildFile; fileRef = C5198F3A1192ECFD002B74A6 /* IDBDatabase.h */; };
C5198F4F1192ECFD002B74A6 /* IDBDatabaseError.h in Headers */ = {isa = PBXBuildFile; fileRef = C5198F3B1192ECFD002B74A6 /* IDBDatabaseError.h */; };
C5198F511192ECFD002B74A6 /* IDBDatabaseException.h in Headers */ = {isa = PBXBuildFile; fileRef = C5198F3D1192ECFD002B74A6 /* IDBDatabaseException.h */; };
@@ -4792,6 +4808,11 @@
C5198F5C1192ECFD002B74A6 /* IndexedDatabaseImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = C5198F481192ECFD002B74A6 /* IndexedDatabaseImpl.h */; };
C5198F5D1192ECFD002B74A6 /* IndexedDatabaseRequest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C5198F491192ECFD002B74A6 /* IndexedDatabaseRequest.cpp */; };
C5198F5E1192ECFD002B74A6 /* IndexedDatabaseRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = C5198F4A1192ECFD002B74A6 /* IndexedDatabaseRequest.h */; };
+ C51DA9A511AEF2C1009799C5 /* IDBIndex.h in Headers */ = {isa = PBXBuildFile; fileRef = C51DA99F11AEF2C1009799C5 /* IDBIndex.h */; };
+ C51DA9A611AEF2C1009799C5 /* IDBIndexImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C51DA9A011AEF2C1009799C5 /* IDBIndexImpl.cpp */; };
+ C51DA9A711AEF2C1009799C5 /* IDBIndexImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = C51DA9A111AEF2C1009799C5 /* IDBIndexImpl.h */; };
+ C51DA9A811AEF2C1009799C5 /* IDBIndexRequest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C51DA9A211AEF2C1009799C5 /* IDBIndexRequest.cpp */; };
+ C51DA9A911AEF2C1009799C5 /* IDBIndexRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = C51DA9A311AEF2C1009799C5 /* IDBIndexRequest.h */; };
C544274B11A57E7A0063A749 /* DOMStringList.h in Headers */ = {isa = PBXBuildFile; fileRef = C544274911A57E7A0063A749 /* DOMStringList.h */; };
C55610F111A704EB00B82D27 /* DOMStringList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C55610F011A704EB00B82D27 /* DOMStringList.cpp */; };
C55E38BF10040D5D00A56BDB /* StorageNamespaceImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = C55E38BB10040D5D00A56BDB /* StorageNamespaceImpl.h */; };
@@ -4813,6 +4834,8 @@
C56C91A3119D918100DE4CD9 /* JSIDBEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = C56C919F119D918100DE4CD9 /* JSIDBEvent.h */; };
C56C91A6119D918700DE4CD9 /* JSIDBSuccessEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C56C91A4119D918700DE4CD9 /* JSIDBSuccessEvent.cpp */; };
C56C91A7119D918700DE4CD9 /* JSIDBSuccessEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = C56C91A5119D918700DE4CD9 /* JSIDBSuccessEvent.h */; };
+ C5BBC9D011AEF838007C2BFE /* JSIDBIndexRequest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C5BBC9CE11AEF838007C2BFE /* JSIDBIndexRequest.cpp */; };
+ C5BBC9D111AEF838007C2BFE /* JSIDBIndexRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = C5BBC9CF11AEF838007C2BFE /* JSIDBIndexRequest.h */; };
C5D4AA7A116BAFB60069CA93 /* GlyphMetricsMap.h in Headers */ = {isa = PBXBuildFile; fileRef = C5D4AA78116BAFB60069CA93 /* GlyphMetricsMap.h */; settings = {ATTRIBUTES = (Private, ); }; };
C5E9B67710697E1300C7BB1A /* StorageEventDispatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C5E9B67610697E1300C7BB1A /* StorageEventDispatcher.cpp */; };
C5EBDD84105EDDEC0056816F /* StorageEventDispatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = C5EBDD81105EDDEC0056816F /* StorageEventDispatcher.h */; };
@@ -6615,6 +6638,8 @@
4E1959260A39DACC00220FE5 /* MediaQueryEvaluator.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MediaQueryEvaluator.h; sourceTree = "<group>"; };
4E1959270A39DACC00220FE5 /* MediaQueryExp.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = MediaQueryExp.cpp; sourceTree = "<group>"; };
4E1959280A39DACC00220FE5 /* MediaQueryExp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MediaQueryExp.h; sourceTree = "<group>"; };
+ 4F3289B311A42AAB005ABE7E /* InspectorValues.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorValues.cpp; sourceTree = "<group>"; };
+ 4F3289B411A42AAB005ABE7E /* InspectorValues.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorValues.h; sourceTree = "<group>"; };
4FD8D0F0119C718B002FA825 /* ScriptGCEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptGCEvent.cpp; sourceTree = "<group>"; };
4FD8D0F1119C718B002FA825 /* ScriptGCEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptGCEvent.h; sourceTree = "<group>"; };
510184670B08602A004A825F /* CachedPage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CachedPage.h; sourceTree = "<group>"; };
@@ -6775,6 +6800,8 @@
51F6A3D50663BF04004D2919 /* HTMLCanvasElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HTMLCanvasElement.cpp; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
51F6A3D60663BF04004D2919 /* HTMLCanvasElement.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = HTMLCanvasElement.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
51FAFE330CECBF2D00BB3F24 /* DatabaseTrackerClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DatabaseTrackerClient.h; sourceTree = "<group>"; };
+ 521D46F511AEC98100514613 /* KillRingMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = KillRingMac.mm; sourceTree = "<group>"; };
+ 521D46F711AEC9B100514613 /* KillRing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KillRing.h; sourceTree = "<group>"; };
54C50F7A0E801DF3009832A0 /* XMLTokenizerLibxml2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = XMLTokenizerLibxml2.cpp; sourceTree = "<group>"; };
550A0BC7085F6039007353D6 /* QualifiedName.cpp */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.cpp.cpp; path = QualifiedName.cpp; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
550A0BC8085F6039007353D6 /* QualifiedName.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = QualifiedName.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
@@ -6815,9 +6842,10 @@
5DB1BC6810715A6400EFAA49 /* TransformSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TransformSource.h; sourceTree = "<group>"; };
5DB1BC6910715A6400EFAA49 /* TransformSourceLibxslt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TransformSourceLibxslt.cpp; sourceTree = "<group>"; };
5DC87EEF11716DF2001C0E6D /* EmptyProtocolDefinitions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EmptyProtocolDefinitions.h; sourceTree = "<group>"; };
- 5DCF836C0D59159800953BC6 /* PluginInfoStore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PluginInfoStore.h; sourceTree = "<group>"; };
626CDE0C1140424C001E5A68 /* SpatialNavigation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SpatialNavigation.cpp; sourceTree = "<group>"; };
626CDE0D1140424C001E5A68 /* SpatialNavigation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpatialNavigation.h; sourceTree = "<group>"; };
+ 62C1217A11AB9E76003C462C /* SuspendableTimer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SuspendableTimer.cpp; sourceTree = "<group>"; };
+ 62C1217B11AB9E77003C462C /* SuspendableTimer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SuspendableTimer.h; sourceTree = "<group>"; };
62CD32561157E57C0063B0A7 /* CustomEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CustomEvent.cpp; sourceTree = "<group>"; };
62CD32571157E57C0063B0A7 /* CustomEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CustomEvent.h; sourceTree = "<group>"; };
62CD32581157E57C0063B0A7 /* CustomEvent.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CustomEvent.idl; sourceTree = "<group>"; };
@@ -8154,6 +8182,8 @@
A4544249119B3661009BE912 /* HTMLMeterElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTMLMeterElement.h; sourceTree = "<group>"; };
A454424C119B3687009BE912 /* RenderMeter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderMeter.cpp; sourceTree = "<group>"; };
A454424D119B3687009BE912 /* RenderMeter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderMeter.h; sourceTree = "<group>"; };
+ A456FA2411AD4A830020B420 /* LabelsNodeList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LabelsNodeList.cpp; sourceTree = "<group>"; };
+ A456FA2511AD4A830020B420 /* LabelsNodeList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LabelsNodeList.h; sourceTree = "<group>"; };
A59E3C1C11580F510072928E /* KeyEventCodesIPhone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = KeyEventCodesIPhone.h; path = iphone/KeyEventCodesIPhone.h; sourceTree = "<group>"; };
A59E3C1D11580F510072928E /* KeyEventIPhone.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = KeyEventIPhone.mm; path = iphone/KeyEventIPhone.mm; sourceTree = "<group>"; };
A5AFB34D115151A700B045CB /* StepRange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StepRange.cpp; sourceTree = "<group>"; };
@@ -8345,6 +8375,8 @@
A833C7F60A2CF1D800D57664 /* xmlattrs.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = xmlattrs.in; sourceTree = "<group>"; };
A833C80A0A2CF25600D57664 /* XMLNames.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = XMLNames.cpp; sourceTree = "<group>"; };
A833C80B0A2CF25600D57664 /* XMLNames.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = XMLNames.h; sourceTree = "<group>"; };
+ A83B3AEE11ADEFF500458809 /* HTML5ScriptRunner.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HTML5ScriptRunner.cpp; sourceTree = "<group>"; };
+ A83B3AEF11ADEFF500458809 /* HTML5ScriptRunner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTML5ScriptRunner.h; sourceTree = "<group>"; };
A83B78F20CCAFF15000B0825 /* JSSVGFontFaceUriElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSSVGFontFaceUriElement.h; sourceTree = "<group>"; };
A83B78F30CCAFF15000B0825 /* JSSVGFontFaceUriElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSSVGFontFaceUriElement.cpp; sourceTree = "<group>"; };
A83B78F40CCAFF15000B0825 /* JSSVGFontFaceSrcElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSSVGFontFaceSrcElement.h; sourceTree = "<group>"; };
@@ -8443,6 +8475,7 @@
A871DFE10A15376B00B12A68 /* RenderWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RenderWidget.cpp; sourceTree = "<group>"; };
A879C62311A9D1F70059237A /* HTML5TreeBuilder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HTML5TreeBuilder.cpp; sourceTree = "<group>"; };
A879C62411A9D1F70059237A /* HTML5TreeBuilder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTML5TreeBuilder.h; sourceTree = "<group>"; };
+ A87F163411AE841300CBB2E5 /* HTML5ScriptRunnerHost.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTML5ScriptRunnerHost.h; sourceTree = "<group>"; };
A883DF250F3D045D00F19BF6 /* VisibleSelection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VisibleSelection.cpp; sourceTree = "<group>"; };
A883DF260F3D045D00F19BF6 /* VisibleSelection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VisibleSelection.h; sourceTree = "<group>"; };
A88DD4860B4629A300C02990 /* PathTraversalState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PathTraversalState.h; sourceTree = "<group>"; };
@@ -9696,6 +9729,13 @@
B5C11239102B6C4600096578 /* SQLTransactionCoordinator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SQLTransactionCoordinator.cpp; sourceTree = "<group>"; };
B5C1123A102B6C4600096578 /* SQLTransactionCoordinator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SQLTransactionCoordinator.h; sourceTree = "<group>"; };
B5D36019112F8B560048DEA8 /* DatabaseCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DatabaseCallback.h; sourceTree = "<group>"; };
+ B6693EE711AD63E6003F2770 /* IDBObjectStore.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBObjectStore.cpp; sourceTree = "<group>"; };
+ B6693EE811AD63E6003F2770 /* IDBObjectStore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBObjectStore.h; sourceTree = "<group>"; };
+ B6693EE911AD63E6003F2770 /* IDBObjectStoreRequest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBObjectStoreRequest.cpp; sourceTree = "<group>"; };
+ B6693EEA11AD63E6003F2770 /* IDBObjectStoreRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBObjectStoreRequest.h; sourceTree = "<group>"; };
+ B6693EEF11AD63F6003F2770 /* IDBObjectStoreRequest.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = IDBObjectStoreRequest.idl; sourceTree = "<group>"; };
+ B6693EF011AD6486003F2770 /* JSIDBObjectStoreRequest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSIDBObjectStoreRequest.cpp; sourceTree = "<group>"; };
+ B6693EF111AD6486003F2770 /* JSIDBObjectStoreRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSIDBObjectStoreRequest.h; sourceTree = "<group>"; };
B734B180119B9911006587BD /* FontTranscoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FontTranscoder.cpp; path = transcoder/FontTranscoder.cpp; sourceTree = "<group>"; };
B734B182119B991D006587BD /* FontTranscoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FontTranscoder.h; path = transcoder/FontTranscoder.h; sourceTree = "<group>"; };
B776D43A1104525D00BEB0EC /* PrintContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PrintContext.h; sourceTree = "<group>"; };
@@ -10271,6 +10311,8 @@
C0DFC86F0DB6841A003EAE7C /* JSConsoleCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSConsoleCustom.cpp; sourceTree = "<group>"; };
C105DA610F3AA68F001DD44F /* TextEncodingDetectorICU.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextEncodingDetectorICU.cpp; sourceTree = "<group>"; };
C105DA630F3AA6B8001DD44F /* TextEncodingDetector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextEncodingDetector.h; sourceTree = "<group>"; };
+ C50AD2A911AC1631008CF2FB /* IDBDatabaseImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBDatabaseImpl.cpp; sourceTree = "<group>"; };
+ C50AD2AA11AC1631008CF2FB /* IDBDatabaseImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBDatabaseImpl.h; sourceTree = "<group>"; };
C50D0E800FF4272900AC2644 /* StorageNamespace.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StorageNamespace.cpp; sourceTree = "<group>"; };
C50D0E810FF4272900AC2644 /* StorageNamespace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StorageNamespace.h; sourceTree = "<group>"; };
C5102D920FD9AA2D00FAFF04 /* StorageSyncManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StorageSyncManager.h; sourceTree = "<group>"; };
@@ -10282,7 +10324,6 @@
C5160EE81004543A00A7CEE2 /* StorageAreaImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StorageAreaImpl.cpp; sourceTree = "<group>"; };
C5160EE91004543A00A7CEE2 /* StorageAreaImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StorageAreaImpl.h; sourceTree = "<group>"; };
C5198F381192ECFD002B74A6 /* IDBCallbacks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBCallbacks.h; sourceTree = "<group>"; };
- C5198F391192ECFD002B74A6 /* IDBDatabase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBDatabase.cpp; sourceTree = "<group>"; };
C5198F3A1192ECFD002B74A6 /* IDBDatabase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBDatabase.h; sourceTree = "<group>"; };
C5198F3B1192ECFD002B74A6 /* IDBDatabaseError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBDatabaseError.h; sourceTree = "<group>"; };
C5198F3C1192ECFD002B74A6 /* IDBDatabaseError.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = IDBDatabaseError.idl; sourceTree = "<group>"; };
@@ -10301,6 +10342,12 @@
C5198F491192ECFD002B74A6 /* IndexedDatabaseRequest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IndexedDatabaseRequest.cpp; sourceTree = "<group>"; };
C5198F4A1192ECFD002B74A6 /* IndexedDatabaseRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IndexedDatabaseRequest.h; sourceTree = "<group>"; };
C5198F4B1192ECFD002B74A6 /* IndexedDatabaseRequest.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = IndexedDatabaseRequest.idl; sourceTree = "<group>"; };
+ C51DA99F11AEF2C1009799C5 /* IDBIndex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBIndex.h; sourceTree = "<group>"; };
+ C51DA9A011AEF2C1009799C5 /* IDBIndexImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBIndexImpl.cpp; sourceTree = "<group>"; };
+ C51DA9A111AEF2C1009799C5 /* IDBIndexImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBIndexImpl.h; sourceTree = "<group>"; };
+ C51DA9A211AEF2C1009799C5 /* IDBIndexRequest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBIndexRequest.cpp; sourceTree = "<group>"; };
+ C51DA9A311AEF2C1009799C5 /* IDBIndexRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBIndexRequest.h; sourceTree = "<group>"; };
+ C51DA9A411AEF2C1009799C5 /* IDBIndexRequest.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = IDBIndexRequest.idl; sourceTree = "<group>"; };
C544274911A57E7A0063A749 /* DOMStringList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMStringList.h; sourceTree = "<group>"; };
C544274A11A57E7A0063A749 /* DOMStringList.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DOMStringList.idl; sourceTree = "<group>"; };
C55610F011A704EB00B82D27 /* DOMStringList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DOMStringList.cpp; sourceTree = "<group>"; };
@@ -10327,6 +10374,8 @@
C56C919F119D918100DE4CD9 /* JSIDBEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSIDBEvent.h; sourceTree = "<group>"; };
C56C91A4119D918700DE4CD9 /* JSIDBSuccessEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSIDBSuccessEvent.cpp; sourceTree = "<group>"; };
C56C91A5119D918700DE4CD9 /* JSIDBSuccessEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSIDBSuccessEvent.h; sourceTree = "<group>"; };
+ C5BBC9CE11AEF838007C2BFE /* JSIDBIndexRequest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSIDBIndexRequest.cpp; sourceTree = "<group>"; };
+ C5BBC9CF11AEF838007C2BFE /* JSIDBIndexRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSIDBIndexRequest.h; sourceTree = "<group>"; };
C5D4AA78116BAFB60069CA93 /* GlyphMetricsMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GlyphMetricsMap.h; sourceTree = "<group>"; };
C5E9B67610697E1300C7BB1A /* StorageEventDispatcher.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StorageEventDispatcher.cpp; sourceTree = "<group>"; };
C5EBDD81105EDDEC0056816F /* StorageEventDispatcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StorageEventDispatcher.h; sourceTree = "<group>"; };
@@ -10971,6 +11020,11 @@
1AE82EC90CAAE177002237AE /* storage */ = {
isa = PBXGroup;
children = (
+ B6693EEF11AD63F6003F2770 /* IDBObjectStoreRequest.idl */,
+ B6693EE711AD63E6003F2770 /* IDBObjectStore.cpp */,
+ B6693EE811AD63E6003F2770 /* IDBObjectStore.h */,
+ B6693EE911AD63E6003F2770 /* IDBObjectStoreRequest.cpp */,
+ B6693EEA11AD63E6003F2770 /* IDBObjectStoreRequest.h */,
B5B5DC67119BB3D5002A8790 /* AbstractDatabase.cpp */,
B5B5DC68119BB3D5002A8790 /* AbstractDatabase.h */,
514185ED0CD65F0400763C99 /* ChangeVersionWrapper.cpp */,
@@ -10997,8 +11051,9 @@
C56C9150119D84CB00DE4CD9 /* IDBAny.h */,
C56C9151119D84CB00DE4CD9 /* IDBAny.idl */,
C5198F381192ECFD002B74A6 /* IDBCallbacks.h */,
- C5198F391192ECFD002B74A6 /* IDBDatabase.cpp */,
C5198F3A1192ECFD002B74A6 /* IDBDatabase.h */,
+ C50AD2A911AC1631008CF2FB /* IDBDatabaseImpl.cpp */,
+ C50AD2AA11AC1631008CF2FB /* IDBDatabaseImpl.h */,
C5198F3B1192ECFD002B74A6 /* IDBDatabaseError.h */,
C5198F3C1192ECFD002B74A6 /* IDBDatabaseError.idl */,
C5198F3D1192ECFD002B74A6 /* IDBDatabaseException.h */,
@@ -11012,6 +11067,12 @@
C56C915C119D84E600DE4CD9 /* IDBEvent.cpp */,
C56C915D119D84E600DE4CD9 /* IDBEvent.h */,
C56C915E119D84E600DE4CD9 /* IDBEvent.idl */,
+ C51DA99F11AEF2C1009799C5 /* IDBIndex.h */,
+ C51DA9A011AEF2C1009799C5 /* IDBIndexImpl.cpp */,
+ C51DA9A111AEF2C1009799C5 /* IDBIndexImpl.h */,
+ C51DA9A211AEF2C1009799C5 /* IDBIndexRequest.cpp */,
+ C51DA9A311AEF2C1009799C5 /* IDBIndexRequest.h */,
+ C51DA9A411AEF2C1009799C5 /* IDBIndexRequest.idl */,
C5198F421192ECFD002B74A6 /* IDBRequest.cpp */,
C5198F431192ECFD002B74A6 /* IDBRequest.h */,
C5198F441192ECFD002B74A6 /* IDBRequest.idl */,
@@ -11127,6 +11188,8 @@
1C81B9580E97330800266E07 /* InspectorClient.h */,
1C81B9570E97330800266E07 /* InspectorController.cpp */,
1C81B9560E97330800266E07 /* InspectorController.h */,
+ 82B658991189E47600E052A1 /* InspectorCSSStore.cpp */,
+ 82B658971189E39200E052A1 /* InspectorCSSStore.h */,
41F062130F5F192600A07EAC /* InspectorDatabaseResource.cpp */,
41F062120F5F192600A07EAC /* InspectorDatabaseResource.h */,
7A2458791021EAF4000A00AA /* InspectorDOMAgent.cpp */,
@@ -11145,6 +11208,8 @@
41F061FF0F5F0B6600A07EAC /* InspectorResource.h */,
754133A9102E00F400075D00 /* InspectorTimelineAgent.cpp */,
754133A7102E00E800075D00 /* InspectorTimelineAgent.h */,
+ 4F3289B311A42AAB005ABE7E /* InspectorValues.cpp */,
+ 4F3289B411A42AAB005ABE7E /* InspectorValues.h */,
F375CC061150D300008DDB81 /* InspectorWorkerResource.h */,
1C81BA050E97348300266E07 /* JavaScriptCallFrame.idl */,
BCC64F5F0DCFB84E0081EF3B /* localizedStrings.js */,
@@ -11154,8 +11219,6 @@
9FA37EF01172FD4100C4CD55 /* ScriptProfileNode.idl */,
7553CFE7108F473F00EA281E /* TimelineRecordFactory.cpp */,
7553CFE6108F473F00EA281E /* TimelineRecordFactory.h */,
- 82B658971189E39200E052A1 /* InspectorCSSStore.h */,
- 82B658991189E47600E052A1 /* InspectorCSSStore.cpp */,
);
path = inspector;
sourceTree = "<group>";
@@ -11360,6 +11423,12 @@
49484FAE102CF01E00187DD3 /* canvas */ = {
isa = PBXGroup;
children = (
+ 49EECDCA10503C2300099FAB /* ArrayBuffer.cpp */,
+ 49EECDCB10503C2300099FAB /* ArrayBuffer.h */,
+ 49EECDCC10503C2300099FAB /* ArrayBuffer.idl */,
+ 49EECDC710503C2300099FAB /* ArrayBufferView.cpp */,
+ 49EECDC810503C2300099FAB /* ArrayBufferView.h */,
+ 49EECDC910503C2300099FAB /* ArrayBufferView.idl */,
6E4E91A710F7FB3100A2779C /* CanvasContextAttributes.cpp */,
6E4E91A810F7FB3100A2779C /* CanvasContextAttributes.h */,
49484FB3102CF23C00187DD3 /* CanvasGradient.cpp */,
@@ -11381,35 +11450,42 @@
49484FBE102CF23C00187DD3 /* CanvasRenderingContext2D.idl */,
49484FBF102CF23C00187DD3 /* CanvasStyle.cpp */,
49484FC0102CF23C00187DD3 /* CanvasStyle.h */,
+ 49EECDCD10503C2300099FAB /* FloatArray.cpp */,
+ 49EECDCE10503C2300099FAB /* FloatArray.h */,
+ 49EECDCF10503C2300099FAB /* FloatArray.idl */,
+ 49EECDD310503C2300099FAB /* Int16Array.cpp */,
+ 49EECDD410503C2300099FAB /* Int16Array.h */,
+ 49EECDD510503C2300099FAB /* Int16Array.idl */,
+ 49EECDD010503C2300099FAB /* Int32Array.cpp */,
+ 49EECDD110503C2300099FAB /* Int32Array.h */,
+ 49EECDD210503C2300099FAB /* Int32Array.idl */,
+ 49C7B9AB1042D32E0009D447 /* Int8Array.cpp */,
+ 49C7B9AC1042D32E0009D447 /* Int8Array.h */,
+ 49C7B9AD1042D32E0009D447 /* Int8Array.idl */,
+ 6E96BB1A11986EE1007D94CD /* IntegralTypedArrayBase.h */,
+ 6E96BB1B11986EE1007D94CD /* TypedArrayBase.h */,
+ 49EECDDC10503C2300099FAB /* Uint16Array.cpp */,
+ 49EECDDD10503C2400099FAB /* Uint16Array.h */,
+ 49EECDDE10503C2400099FAB /* Uint16Array.idl */,
+ 49EECDD910503C2300099FAB /* Uint32Array.cpp */,
+ 49EECDDA10503C2300099FAB /* Uint32Array.h */,
+ 49EECDDB10503C2300099FAB /* Uint32Array.idl */,
+ 49EECDD610503C2300099FAB /* Uint8Array.cpp */,
+ 49EECDD710503C2300099FAB /* Uint8Array.h */,
+ 49EECDD810503C2300099FAB /* Uint8Array.idl */,
A7D20F6B107F438B00A80392 /* WebGLActiveInfo.h */,
A7D20F3B107F373800A80392 /* WebGLActiveInfo.idl */,
- 49EECDC710503C2300099FAB /* ArrayBufferView.cpp */,
- 49EECDC810503C2300099FAB /* ArrayBufferView.h */,
- 49EECDC910503C2300099FAB /* ArrayBufferView.idl */,
- 49EECDCA10503C2300099FAB /* ArrayBuffer.cpp */,
- 49EECDCB10503C2300099FAB /* ArrayBuffer.h */,
- 49EECDCC10503C2300099FAB /* ArrayBuffer.idl */,
49C7B9A81042D32E0009D447 /* WebGLBuffer.cpp */,
49C7B9A91042D32E0009D447 /* WebGLBuffer.h */,
49C7B9AA1042D32E0009D447 /* WebGLBuffer.idl */,
- 49C7B9AB1042D32E0009D447 /* Int8Array.cpp */,
- 49C7B9AC1042D32E0009D447 /* Int8Array.h */,
- 49C7B9AD1042D32E0009D447 /* Int8Array.idl */,
6E4E91A910F7FB3100A2779C /* WebGLContextAttributes.cpp */,
6E4E91AA10F7FB3100A2779C /* WebGLContextAttributes.h */,
6E4E91AB10F7FB3100A2779C /* WebGLContextAttributes.idl */,
- 49EECDCD10503C2300099FAB /* FloatArray.cpp */,
- 49EECDCE10503C2300099FAB /* FloatArray.h */,
- 49EECDCF10503C2300099FAB /* FloatArray.idl */,
49C7B9AE1042D32E0009D447 /* WebGLFramebuffer.cpp */,
49C7B9AF1042D32E0009D447 /* WebGLFramebuffer.h */,
49C7B9B01042D32E0009D447 /* WebGLFramebuffer.idl */,
6E47E65E10B7944B00B186C8 /* WebGLGetInfo.cpp */,
6E47E65F10B7944B00B186C8 /* WebGLGetInfo.h */,
- 49EECDD010503C2300099FAB /* Int32Array.cpp */,
- 49EECDD110503C2300099FAB /* Int32Array.h */,
- 49EECDD210503C2300099FAB /* Int32Array.idl */,
- 6E96BB1A11986EE1007D94CD /* IntegralTypedArrayBase.h */,
49C7B9B61042D32F0009D447 /* WebGLProgram.cpp */,
49C7B9B71042D32F0009D447 /* WebGLProgram.h */,
49C7B9B81042D32F0009D447 /* WebGLProgram.idl */,
@@ -11422,25 +11498,12 @@
49C7B9C21042D32F0009D447 /* WebGLShader.cpp */,
49C7B9C31042D32F0009D447 /* WebGLShader.h */,
49C7B9C41042D32F0009D447 /* WebGLShader.idl */,
- 49EECDD310503C2300099FAB /* Int16Array.cpp */,
- 49EECDD410503C2300099FAB /* Int16Array.h */,
- 49EECDD510503C2300099FAB /* Int16Array.idl */,
49C7B9C51042D32F0009D447 /* WebGLTexture.cpp */,
49C7B9C61042D32F0009D447 /* WebGLTexture.h */,
49C7B9C71042D32F0009D447 /* WebGLTexture.idl */,
- 6E96BB1B11986EE1007D94CD /* TypedArrayBase.h */,
0C3F1F5710C8871200D72CE1 /* WebGLUniformLocation.cpp */,
0C3F1F5810C8871200D72CE1 /* WebGLUniformLocation.h */,
0C3F1F5910C8871200D72CE1 /* WebGLUniformLocation.idl */,
- 49EECDD610503C2300099FAB /* Uint8Array.cpp */,
- 49EECDD710503C2300099FAB /* Uint8Array.h */,
- 49EECDD810503C2300099FAB /* Uint8Array.idl */,
- 49EECDD910503C2300099FAB /* Uint32Array.cpp */,
- 49EECDDA10503C2300099FAB /* Uint32Array.h */,
- 49EECDDB10503C2300099FAB /* Uint32Array.idl */,
- 49EECDDC10503C2300099FAB /* Uint16Array.cpp */,
- 49EECDDD10503C2400099FAB /* Uint16Array.h */,
- 49EECDDE10503C2400099FAB /* Uint16Array.idl */,
);
name = canvas;
sourceTree = "<group>";
@@ -11737,7 +11800,6 @@
A9C6E4F10D745E48006442E9 /* PluginData.cpp */,
A9C6E4F20D745E48006442E9 /* PluginData.h */,
A9C6E4F50D745E61006442E9 /* PluginDataMac.mm */,
- 5DCF836C0D59159800953BC6 /* PluginInfoStore.h */,
1ADA140E0E1AE5D900023EE5 /* PluginMainThreadScheduler.cpp */,
1ADA140F0E1AE5D900023EE5 /* PluginMainThreadScheduler.h */,
76FF17E211235673001D61B5 /* PluginViewNone.cpp */,
@@ -11887,6 +11949,7 @@
BCE494A90F4F5E9E0084E319 /* GeolocationServiceMac.h */,
BCE494AA0F4F5E9E0084E319 /* GeolocationServiceMac.mm */,
935C476E09AC4D7300A6AAB4 /* KeyEventMac.mm */,
+ 521D46F511AEC98100514613 /* KillRingMac.mm */,
6593923909AE435C002C531F /* KURLMac.mm */,
9352084409BD43B900F2038D /* Language.mm */,
06E81ED60AB5D5E900C87837 /* LocalCurrentGraphicsContext.h */,
@@ -12040,6 +12103,8 @@
F587863A02DE3A1401EA4122 /* Settings.h */,
626CDE0C1140424C001E5A68 /* SpatialNavigation.cpp */,
626CDE0D1140424C001E5A68 /* SpatialNavigation.h */,
+ 62C1217A11AB9E76003C462C /* SuspendableTimer.cpp */,
+ 62C1217B11AB9E77003C462C /* SuspendableTimer.h */,
BCACF3BA1072921A00C0C8A3 /* UserContentURLPattern.cpp */,
BCACF3BB1072921A00C0C8A3 /* UserContentURLPattern.h */,
BCA2B0601050475F0043BD1C /* UserScript.h */,
@@ -13343,11 +13408,14 @@
A8136D360973A8E700D74463 /* FormDataList.h */,
97E8B35411A23CE200169409 /* HTML5Lexer.cpp */,
97E8B35511A23CE200169409 /* HTML5Lexer.h */,
- A879C62311A9D1F70059237A /* HTML5TreeBuilder.cpp */,
- A879C62411A9D1F70059237A /* HTML5TreeBuilder.h */,
+ A83B3AEE11ADEFF500458809 /* HTML5ScriptRunner.cpp */,
+ A83B3AEF11ADEFF500458809 /* HTML5ScriptRunner.h */,
+ A87F163411AE841300CBB2E5 /* HTML5ScriptRunnerHost.h */,
97E8B3C211A2890800169409 /* HTML5Token.h */,
A871038811A2947000DBD50E /* HTML5Tokenizer.cpp */,
A871038911A2947000DBD50E /* HTML5Tokenizer.h */,
+ A879C62311A9D1F70059237A /* HTML5TreeBuilder.cpp */,
+ A879C62411A9D1F70059237A /* HTML5TreeBuilder.h */,
BC97E239109144950010D361 /* HTMLAllCollection.cpp */,
BC97E238109144950010D361 /* HTMLAllCollection.h */,
BC97E23C109146F10010D361 /* HTMLAllCollection.idl */,
@@ -13601,6 +13669,8 @@
A77979130D6B9D0C003851B9 /* ImageData.cpp */,
A77979140D6B9D0C003851B9 /* ImageData.h */,
A77979150D6B9D0C003851B9 /* ImageData.idl */,
+ A456FA2411AD4A830020B420 /* LabelsNodeList.cpp */,
+ A456FA2511AD4A830020B420 /* LabelsNodeList.h */,
E446139B0CD6331000FADA75 /* MediaError.h */,
E446139C0CD6331000FADA75 /* MediaError.idl */,
E4D4ABE00D7542F000F96869 /* PreloadScanner.cpp */,
@@ -13668,6 +13738,10 @@
A83B79080CCAFF2B000B0825 /* HTML */ = {
isa = PBXGroup;
children = (
+ 49EECEF2105070C400099FAB /* JSArrayBuffer.cpp */,
+ 49EECEF3105070C400099FAB /* JSArrayBuffer.h */,
+ 49EECF19105072F300099FAB /* JSArrayBufferView.cpp */,
+ 49EECF1A105072F300099FAB /* JSArrayBufferView.h */,
2E2D99CB10E2BBDA00496337 /* JSBlob.cpp */,
2E2D99CC10E2BBDA00496337 /* JSBlob.h */,
65DF323309D1DE65000BE325 /* JSCanvasGradient.cpp */,
@@ -13692,6 +13766,8 @@
BC00F0130E0A189500FD04E3 /* JSFileList.h */,
2E94F439119207DA00B7F75D /* JSFileReader.cpp */,
2E94F43A119207DA00B7F75D /* JSFileReader.h */,
+ 49EECEF4105070C400099FAB /* JSFloatArray.cpp */,
+ 49EECEF5105070C400099FAB /* JSFloatArray.h */,
BC97E410109154FA0010D361 /* JSHTMLAllCollection.cpp */,
BC97E411109154FA0010D361 /* JSHTMLAllCollection.h */,
1A4A2DEB0A1B852A00C807F8 /* JSHTMLAnchorElement.cpp */,
@@ -13836,32 +13912,34 @@
E446140F0CD6826900FADA75 /* JSHTMLVideoElement.h */,
A77979240D6B9E64003851B9 /* JSImageData.cpp */,
A77979250D6B9E64003851B9 /* JSImageData.h */,
+ 49EECEF8105070C400099FAB /* JSInt16Array.cpp */,
+ 49EECEF9105070C400099FAB /* JSInt16Array.h */,
+ 49EECEF6105070C400099FAB /* JSInt32Array.cpp */,
+ 49EECEF7105070C400099FAB /* JSInt32Array.h */,
+ 49C7B9821042D2D30009D447 /* JSInt8Array.cpp */,
+ 49C7B9831042D2D30009D447 /* JSInt8Array.h */,
E44614100CD6826900FADA75 /* JSMediaError.cpp */,
E44614110CD6826900FADA75 /* JSMediaError.h */,
BCEF45F30E687B5C001C1287 /* JSTextMetrics.cpp */,
BCEF45F40E687B5C001C1287 /* JSTextMetrics.h */,
E44614120CD6826900FADA75 /* JSTimeRanges.cpp */,
E44614130CD6826900FADA75 /* JSTimeRanges.h */,
+ 49EECEFE105070C400099FAB /* JSUint16Array.cpp */,
+ 49EECEFF105070C400099FAB /* JSUint16Array.h */,
+ 49EECEFC105070C400099FAB /* JSUint32Array.cpp */,
+ 49EECEFD105070C400099FAB /* JSUint32Array.h */,
+ 49EECEFA105070C400099FAB /* JSUint8Array.cpp */,
+ 49EECEFB105070C400099FAB /* JSUint8Array.h */,
15C77092100D3CA8005BA267 /* JSValidityState.cpp */,
15C77091100D3CA8005BA267 /* JSValidityState.h */,
A7D20F60107F406900A80392 /* JSWebGLActiveInfo.cpp */,
A7D20F61107F406900A80392 /* JSWebGLActiveInfo.h */,
- 49EECF19105072F300099FAB /* JSArrayBufferView.cpp */,
- 49EECF1A105072F300099FAB /* JSArrayBufferView.h */,
- 49EECEF2105070C400099FAB /* JSArrayBuffer.cpp */,
- 49EECEF3105070C400099FAB /* JSArrayBuffer.h */,
49C7B9801042D2D30009D447 /* JSWebGLBuffer.cpp */,
49C7B9811042D2D30009D447 /* JSWebGLBuffer.h */,
- 49C7B9821042D2D30009D447 /* JSInt8Array.cpp */,
- 49C7B9831042D2D30009D447 /* JSInt8Array.h */,
6EE8A77010F803F3005A4A24 /* JSWebGLContextAttributes.cpp */,
6EE8A77110F803F3005A4A24 /* JSWebGLContextAttributes.h */,
- 49EECEF4105070C400099FAB /* JSFloatArray.cpp */,
- 49EECEF5105070C400099FAB /* JSFloatArray.h */,
49C7B9841042D2D30009D447 /* JSWebGLFramebuffer.cpp */,
49C7B9851042D2D30009D447 /* JSWebGLFramebuffer.h */,
- 49EECEF6105070C400099FAB /* JSInt32Array.cpp */,
- 49EECEF7105070C400099FAB /* JSInt32Array.h */,
49C7B9881042D2D30009D447 /* JSWebGLProgram.cpp */,
49C7B9891042D2D30009D447 /* JSWebGLProgram.h */,
49C7B98A1042D2D30009D447 /* JSWebGLRenderbuffer.cpp */,
@@ -13870,18 +13948,10 @@
49EED1411051969400099FAB /* JSWebGLRenderingContext.h */,
49C7B98F1042D2D30009D447 /* JSWebGLShader.cpp */,
49C7B9901042D2D30009D447 /* JSWebGLShader.h */,
- 49EECEF8105070C400099FAB /* JSInt16Array.cpp */,
- 49EECEF9105070C400099FAB /* JSInt16Array.h */,
49C7B9911042D2D30009D447 /* JSWebGLTexture.cpp */,
49C7B9921042D2D30009D447 /* JSWebGLTexture.h */,
0C45342510CDBBFA00869157 /* JSWebGLUniformLocation.cpp */,
0C45342610CDBBFA00869157 /* JSWebGLUniformLocation.h */,
- 49EECEFA105070C400099FAB /* JSUint8Array.cpp */,
- 49EECEFB105070C400099FAB /* JSUint8Array.h */,
- 49EECEFC105070C400099FAB /* JSUint32Array.cpp */,
- 49EECEFD105070C400099FAB /* JSUint32Array.h */,
- 49EECEFE105070C400099FAB /* JSUint16Array.cpp */,
- 49EECEFF105070C400099FAB /* JSUint16Array.h */,
);
name = HTML;
sourceTree = "<group>";
@@ -14244,8 +14314,6 @@
A83B79100CCB001B000B0825 /* Core */ = {
isa = PBXGroup;
children = (
- 59A86007119DAFA100DEF1EF /* JSDeviceOrientationEvent.h */,
- 59A86005119DAF7F00DEF1EF /* JSDeviceOrientationEvent.cpp */,
65DF31D809D1C122000BE325 /* JSAttr.cpp */,
65DF31D909D1C123000BE325 /* JSAttr.h */,
93F9B79E0BA6032600854064 /* JSCDATASection.cpp */,
@@ -14258,6 +14326,8 @@
93F9B6DF0BA0FB7200854064 /* JSComment.h */,
FE6FD48B0F676E9300092873 /* JSCoordinates.cpp */,
FE6FD48C0F676E9300092873 /* JSCoordinates.h */,
+ 59A86005119DAF7F00DEF1EF /* JSDeviceOrientationEvent.cpp */,
+ 59A86007119DAFA100DEF1EF /* JSDeviceOrientationEvent.h */,
659DDC8009E198BA001BF3C6 /* JSDocument.cpp */,
659DDC8109E198BA001BF3C6 /* JSDocument.h */,
1A494EDC0A123F4C00FDAFC1 /* JSDocumentFragment.cpp */,
@@ -14352,6 +14422,10 @@
children = (
1AE82F8D0CAAFA9D002237AE /* JSDatabase.cpp */,
1AE82F8E0CAAFA9D002237AE /* JSDatabase.h */,
+ B59DD698119029E5007E9684 /* JSDatabaseCallback.cpp */,
+ B59DD697119029E5007E9684 /* JSDatabaseCallback.h */,
+ B58CEB6811913607002A6790 /* JSDatabaseSync.cpp */,
+ B58CEB6711913607002A6790 /* JSDatabaseSync.h */,
C56C9198119D915300DE4CD9 /* JSIDBAny.cpp */,
C56C9199119D915300DE4CD9 /* JSIDBAny.h */,
C5F4F3FE119306AC00FDFADD /* JSIDBDatabaseError.cpp */,
@@ -14364,6 +14438,10 @@
C56C919D119D918100DE4CD9 /* JSIDBErrorEvent.h */,
C56C919E119D918100DE4CD9 /* JSIDBEvent.cpp */,
C56C919F119D918100DE4CD9 /* JSIDBEvent.h */,
+ C5BBC9CE11AEF838007C2BFE /* JSIDBIndexRequest.cpp */,
+ C5BBC9CF11AEF838007C2BFE /* JSIDBIndexRequest.h */,
+ B6693EF011AD6486003F2770 /* JSIDBObjectStoreRequest.cpp */,
+ B6693EF111AD6486003F2770 /* JSIDBObjectStoreRequest.h */,
C5F4F404119306AC00FDFADD /* JSIDBRequest.cpp */,
C5F4F405119306AC00FDFADD /* JSIDBRequest.h */,
C56C91A4119D918700DE4CD9 /* JSIDBSuccessEvent.cpp */,
@@ -14376,28 +14454,24 @@
1AE82FEB0CAB07EE002237AE /* JSSQLResultSet.h */,
1AFE11970CBFFCC4003017FA /* JSSQLResultSetRowList.cpp */,
1AFE11980CBFFCC4003017FA /* JSSQLResultSetRowList.h */,
+ B59DD6A411902A62007E9684 /* JSSQLStatementCallback.cpp */,
+ B59DD6A311902A62007E9684 /* JSSQLStatementCallback.h */,
+ B59DD6A811902A71007E9684 /* JSSQLStatementErrorCallback.cpp */,
+ B59DD6A711902A71007E9684 /* JSSQLStatementErrorCallback.h */,
514C76360CE9225E007EF3CD /* JSSQLTransaction.cpp */,
BC8243260D0CE8A200460C8F /* JSSQLTransaction.h */,
+ B59DD69C11902A42007E9684 /* JSSQLTransactionCallback.cpp */,
+ B59DD69B11902A42007E9684 /* JSSQLTransactionCallback.h */,
+ B59DD6A011902A52007E9684 /* JSSQLTransactionErrorCallback.cpp */,
+ B59DD69F11902A52007E9684 /* JSSQLTransactionErrorCallback.h */,
+ B58CEB6C1191361C002A6790 /* JSSQLTransactionSync.cpp */,
+ B58CEB6B1191361C002A6790 /* JSSQLTransactionSync.h */,
+ B55D5AA3119131FC00BCC315 /* JSSQLTransactionSyncCallback.cpp */,
+ B55D5AA2119131FC00BCC315 /* JSSQLTransactionSyncCallback.h */,
51E3F9D40DA05E1D00250911 /* JSStorage.cpp */,
51E3F9D50DA05E1D00250911 /* JSStorage.h */,
51E0BAE80DA55D4A00A9E417 /* JSStorageEvent.cpp */,
51E0BAE90DA55D4A00A9E417 /* JSStorageEvent.h */,
- B59DD697119029E5007E9684 /* JSDatabaseCallback.h */,
- B59DD698119029E5007E9684 /* JSDatabaseCallback.cpp */,
- B59DD69B11902A42007E9684 /* JSSQLTransactionCallback.h */,
- B59DD69C11902A42007E9684 /* JSSQLTransactionCallback.cpp */,
- B59DD69F11902A52007E9684 /* JSSQLTransactionErrorCallback.h */,
- B59DD6A011902A52007E9684 /* JSSQLTransactionErrorCallback.cpp */,
- B59DD6A311902A62007E9684 /* JSSQLStatementCallback.h */,
- B59DD6A411902A62007E9684 /* JSSQLStatementCallback.cpp */,
- B59DD6A711902A71007E9684 /* JSSQLStatementErrorCallback.h */,
- B59DD6A811902A71007E9684 /* JSSQLStatementErrorCallback.cpp */,
- B55D5AA2119131FC00BCC315 /* JSSQLTransactionSyncCallback.h */,
- B55D5AA3119131FC00BCC315 /* JSSQLTransactionSyncCallback.cpp */,
- B58CEB6711913607002A6790 /* JSDatabaseSync.h */,
- B58CEB6811913607002A6790 /* JSDatabaseSync.cpp */,
- B58CEB6B1191361C002A6790 /* JSSQLTransactionSync.h */,
- B58CEB6C1191361C002A6790 /* JSSQLTransactionSync.cpp */,
);
name = Storage;
sourceTree = "<group>";
@@ -14892,8 +14966,6 @@
isa = PBXGroup;
children = (
B25598D70D00D8B900BB825C /* SVGDistantLightSource.h */,
- E440A2D61191A523000820B0 /* SVGFELighting.h */,
- E440A2D41191A50B000820B0 /* SVGFELighting.cpp */,
B25598E00D00D8B900BB825C /* SVGFEConvolveMatrix.cpp */,
B25598E10D00D8B900BB825C /* SVGFEConvolveMatrix.h */,
B25598E20D00D8B900BB825C /* SVGFEDiffuseLighting.cpp */,
@@ -14904,6 +14976,8 @@
B25598E70D00D8B900BB825C /* SVGFEFlood.h */,
B25598EA0D00D8B900BB825C /* SVGFEImage.cpp */,
B25598EB0D00D8B900BB825C /* SVGFEImage.h */,
+ E440A2D41191A50B000820B0 /* SVGFELighting.cpp */,
+ E440A2D61191A523000820B0 /* SVGFELighting.h */,
B25598EC0D00D8B900BB825C /* SVGFEMerge.cpp */,
B25598ED0D00D8B900BB825C /* SVGFEMerge.h */,
B25598EE0D00D8B900BB825C /* SVGFEMorphology.cpp */,
@@ -15112,9 +15186,9 @@
B2C3D9EC0D006C1D00EF6F26 /* text */ = {
isa = PBXGroup;
children = (
- B734B17F119B98DB006587BD /* transcoder */,
B2B264590D00A77E000ACC1D /* cf */,
B2C3D9F90D006C1D00EF6F26 /* mac */,
+ B734B17F119B98DB006587BD /* transcoder */,
B2C3D9EE0D006C1D00EF6F26 /* AtomicString.h */,
0FC705200EB1815600B90AD8 /* AtomicStringHash.h */,
B2C3D9EF0D006C1D00EF6F26 /* AtomicStringImpl.h */,
@@ -15199,8 +15273,8 @@
B734B17F119B98DB006587BD /* transcoder */ = {
isa = PBXGroup;
children = (
- B734B182119B991D006587BD /* FontTranscoder.h */,
B734B180119B9911006587BD /* FontTranscoder.cpp */,
+ B734B182119B991D006587BD /* FontTranscoder.h */,
);
name = transcoder;
sourceTree = "<group>";
@@ -15285,9 +15359,9 @@
4110463F0FA222A600BA436A /* ScriptEventListener.h */,
41002CCC0F66EDEF009E660D /* ScriptFunctionCall.cpp */,
41002CCB0F66EDEF009E660D /* ScriptFunctionCall.h */,
- 934CC1160EDCAC7300A658F2 /* ScriptInstance.h */,
4FD8D0F0119C718B002FA825 /* ScriptGCEvent.cpp */,
4FD8D0F1119C718B002FA825 /* ScriptGCEvent.h */,
+ 934CC1160EDCAC7300A658F2 /* ScriptInstance.h */,
41F066E30F64BCF600A07EAC /* ScriptObject.cpp */,
41F066E20F64BCF600A07EAC /* ScriptObject.h */,
9F72304C11184B4100AD0126 /* ScriptProfile.h */,
@@ -15361,8 +15435,7 @@
BC4EDEF70C08F414007EDD49 /* Custom */ = {
isa = PBXGroup;
children = (
- B55D5AA61191325000BCC315 /* JSDatabaseSyncCustom.cpp */,
- B55D5AA71191325000BCC315 /* JSSQLTransactionSyncCustom.cpp */,
+ 492273A21083B3B100EE5C84 /* JSArrayBufferViewCustom.cpp */,
BC2ED6BB0C6BD2F000920BFF /* JSAttrCustom.cpp */,
49EED14B1051971900099FAB /* JSCanvasRenderingContext2DCustom.cpp */,
49EED14D1051971A00099FAB /* JSCanvasRenderingContextCustom.cpp */,
@@ -15375,6 +15448,7 @@
BC5825F20C0B89380053F1B5 /* JSCSSStyleDeclarationCustom.cpp */,
BC20FB7E0C0E8E6C00D1447F /* JSCSSValueCustom.cpp */,
BCCE58AB1061E8CF008FB35A /* JSDatabaseCustom.cpp */,
+ B55D5AA61191325000BCC315 /* JSDatabaseSyncCustom.cpp */,
BC77D1510FF19C730070887B /* JSDataGridColumnListCustom.cpp */,
4162A453101145E300DFF3ED /* JSDedicatedWorkerContextCustom.cpp */,
33503CBF10179C1A003B47E1 /* JSDesktopNotificationsCustom.cpp */,
@@ -15385,6 +15459,7 @@
652FBBBB0DE27CB60001D386 /* JSDOMWindowCustom.h */,
BC2ED5540C6B9BD300920BFF /* JSElementCustom.cpp */,
BCEFAF4D0C317E6900FA81F6 /* JSEventCustom.cpp */,
+ 49EECF7210508D9C00099FAB /* JSFloatArrayCustom.cpp */,
FE80D7A60E9C1ED2000D6F75 /* JSGeolocationCustom.cpp */,
BCE7B1920D4E86960075A539 /* JSHistoryCustom.cpp */,
BC97E42B10915B060010D361 /* JSHTMLAllCollectionCustom.cpp */,
@@ -15408,6 +15483,9 @@
A7D0318D0E93540300E24ACD /* JSImageDataCustom.cpp */,
7A0E76D410BF050700A0276E /* JSInjectedScriptHostCustom.cpp */,
7A74ECBC101839DA00BF939E /* JSInspectorFrontendHostCustom.cpp */,
+ 49EECF7410508D9C00099FAB /* JSInt16ArrayCustom.cpp */,
+ 49EECF7310508D9C00099FAB /* JSInt32ArrayCustom.cpp */,
+ 49EECF7110508D9C00099FAB /* JSInt8ArrayCustom.cpp */,
1C5FAEE60DCFDA6800D58F78 /* JSJavaScriptCallFrameCustom.cpp */,
BCE1C43F0D9830F4003B02F2 /* JSLocationCustom.cpp */,
E1A5F99A0E7EAA2500AF85EA /* JSMessageChannelCustom.cpp */,
@@ -15428,6 +15506,7 @@
9FA37EE61172FCF000C4CD55 /* JSScriptProfileNodeCustom.cpp */,
51DCE8010CAC9F1C00488358 /* JSSQLResultSetRowListCustom.cpp */,
1AD2316D0CD269E700C1F194 /* JSSQLTransactionCustom.cpp */,
+ B55D5AA71191325000BCC315 /* JSSQLTransactionSyncCustom.cpp */,
51D0C5150DAA90B7003B3831 /* JSStorageCustom.cpp */,
BC98A27C0C0C9950004BEBF7 /* JSStyleSheetCustom.cpp */,
A84EBD770CB8C89200079609 /* JSStyleSheetListCustom.cpp */,
@@ -15440,15 +15519,10 @@
087D97BE10FB8D7700C00874 /* JSSVGPODListCustom.h */,
1A2C40AA0DEB55AA005AF19E /* JSTextCustom.cpp */,
516BB7920CE91E6800512F79 /* JSTreeWalkerCustom.cpp */,
- 492273A21083B3B100EE5C84 /* JSArrayBufferViewCustom.cpp */,
- 49EECF7110508D9C00099FAB /* JSInt8ArrayCustom.cpp */,
- 49EECF7210508D9C00099FAB /* JSFloatArrayCustom.cpp */,
- 49EECF7310508D9C00099FAB /* JSInt32ArrayCustom.cpp */,
- 49EED14C1051971A00099FAB /* JSWebGLRenderingContextCustom.cpp */,
- 49EECF7410508D9C00099FAB /* JSInt16ArrayCustom.cpp */,
- 49EECF7510508D9C00099FAB /* JSUint8ArrayCustom.cpp */,
- 49EECF7610508D9C00099FAB /* JSUint32ArrayCustom.cpp */,
49EECF7710508D9C00099FAB /* JSUint16ArrayCustom.cpp */,
+ 49EECF7610508D9C00099FAB /* JSUint32ArrayCustom.cpp */,
+ 49EECF7510508D9C00099FAB /* JSUint8ArrayCustom.cpp */,
+ 49EED14C1051971A00099FAB /* JSWebGLRenderingContextCustom.cpp */,
518A34C61026C8C9001B6896 /* JSWebSocketCustom.cpp */,
E18258AB0EF3CD7000933242 /* JSWorkerContextCustom.cpp */,
E1CA5CBB0E8CDCAF00E8EF90 /* JSWorkerCustom.cpp */,
@@ -15714,34 +15788,34 @@
BCCE58B41061E925008FB35A /* Constructors */ = {
isa = PBXGroup;
children = (
+ 49EECF991050938200099FAB /* JSArrayBufferConstructor.cpp */,
+ 49EECF9A1050938200099FAB /* JSArrayBufferConstructor.h */,
E4EEFFC60D34550C00469A58 /* JSAudioConstructor.cpp */,
E4EEFFC70D34550C00469A58 /* JSAudioConstructor.h */,
E0FEF371B77C53EAC1C1FBEE /* JSEventSourceConstructor.cpp */,
E0FEF371B67C53EAC1C1FBEE /* JSEventSourceConstructor.h */,
+ 49EECF9D1050938200099FAB /* JSFloatArrayConstructor.cpp */,
+ 49EECF9E1050938200099FAB /* JSFloatArrayConstructor.h */,
BC6C49F10D7DBA0500FFA558 /* JSImageConstructor.cpp */,
BC6C49F20D7DBA0500FFA558 /* JSImageConstructor.h */,
+ 49EECFA31050938200099FAB /* JSInt16ArrayConstructor.cpp */,
+ 49EECFA41050938200099FAB /* JSInt16ArrayConstructor.h */,
+ 49EECF9F1050938200099FAB /* JSInt32ArrayConstructor.cpp */,
+ 49EECFA01050938200099FAB /* JSInt32ArrayConstructor.h */,
+ 49EECF9B1050938200099FAB /* JSInt8ArrayConstructor.cpp */,
+ 49EECF9C1050938200099FAB /* JSInt8ArrayConstructor.h */,
E10743230E7835830033AF24 /* JSMessageChannelConstructor.cpp */,
E10743260E7835A50033AF24 /* JSMessageChannelConstructor.h */,
A826E8AD0A1A8F2300CD1BB6 /* JSOptionConstructor.cpp */,
A826E8AC0A1A8F2300CD1BB6 /* JSOptionConstructor.h */,
415B7C550FF598E6006770F7 /* JSSharedWorkerConstructor.cpp */,
415B7C620FF5A767006770F7 /* JSSharedWorkerConstructor.h */,
- 49EECF991050938200099FAB /* JSArrayBufferConstructor.cpp */,
- 49EECF9A1050938200099FAB /* JSArrayBufferConstructor.h */,
- 49EECF9B1050938200099FAB /* JSInt8ArrayConstructor.cpp */,
- 49EECF9C1050938200099FAB /* JSInt8ArrayConstructor.h */,
- 49EECF9D1050938200099FAB /* JSFloatArrayConstructor.cpp */,
- 49EECF9E1050938200099FAB /* JSFloatArrayConstructor.h */,
- 49EECF9F1050938200099FAB /* JSInt32ArrayConstructor.cpp */,
- 49EECFA01050938200099FAB /* JSInt32ArrayConstructor.h */,
- 49EECFA31050938200099FAB /* JSInt16ArrayConstructor.cpp */,
- 49EECFA41050938200099FAB /* JSInt16ArrayConstructor.h */,
- 49EECFA51050938200099FAB /* JSUint8ArrayConstructor.cpp */,
- 49EECFA61050938200099FAB /* JSUint8ArrayConstructor.h */,
- 49EECFA71050938200099FAB /* JSUint32ArrayConstructor.cpp */,
- 49EECFA81050938200099FAB /* JSUint32ArrayConstructor.h */,
49EECFA91050938200099FAB /* JSUint16ArrayConstructor.cpp */,
49EECFAA1050938200099FAB /* JSUint16ArrayConstructor.h */,
+ 49EECFA71050938200099FAB /* JSUint32ArrayConstructor.cpp */,
+ 49EECFA81050938200099FAB /* JSUint32ArrayConstructor.h */,
+ 49EECFA51050938200099FAB /* JSUint8ArrayConstructor.cpp */,
+ 49EECFA61050938200099FAB /* JSUint8ArrayConstructor.h */,
498391610F1E8EE100C23782 /* JSWebKitCSSMatrixConstructor.cpp */,
498391620F1E8EE100C23782 /* JSWebKitCSSMatrixConstructor.h */,
494BD7970F55C90E00747828 /* JSWebKitPointConstructor.cpp */,
@@ -15810,6 +15884,7 @@
FEAB90100EA51B9C006348C3 /* GeolocationService.cpp */,
FEAB90110EA51B9C006348C3 /* GeolocationService.h */,
BC3BC29B0E91AB0F00835588 /* HostWindow.h */,
+ 521D46F711AEC9B100514613 /* KillRing.h */,
6593923509AE4346002C531F /* KURL.cpp */,
6593923609AE4346002C531F /* KURL.h */,
BCBD21AA0E417AD400A070F2 /* KURLHash.h */,
@@ -16454,12 +16529,6 @@
F523D32402DE4478018635CA /* dom */ = {
isa = PBXGroup;
children = (
- 59A8F1D711A69520001AC34A /* DeviceOrientationClient.h */,
- 59A8F1D511A69513001AC34A /* DeviceOrientation.h */,
- 59A8F1D311A69508001AC34A /* DeviceOrientation.cpp */,
- 59A85EAA119D7B6E00DEF1EF /* DeviceOrientationEvent.idl */,
- 59A85EA3119D68EC00DEF1EF /* DeviceOrientationEvent.h */,
- 59A85EA1119D68D900DEF1EF /* DeviceOrientationEvent.cpp */,
E1C4DE6D0EA75C650023CCD6 /* ActiveDOMObject.cpp */,
E1C4DE680EA75C1E0023CCD6 /* ActiveDOMObject.h */,
A8C4A7FC09D563270003AC8D /* Attr.cpp */,
@@ -16514,6 +16583,12 @@
62CD32561157E57C0063B0A7 /* CustomEvent.cpp */,
62CD32571157E57C0063B0A7 /* CustomEvent.h */,
62CD32581157E57C0063B0A7 /* CustomEvent.idl */,
+ 59A8F1D311A69508001AC34A /* DeviceOrientation.cpp */,
+ 59A8F1D511A69513001AC34A /* DeviceOrientation.h */,
+ 59A8F1D711A69520001AC34A /* DeviceOrientationClient.h */,
+ 59A85EA1119D68D900DEF1EF /* DeviceOrientationEvent.cpp */,
+ 59A85EA3119D68EC00DEF1EF /* DeviceOrientationEvent.h */,
+ 59A85EAA119D7B6E00DEF1EF /* DeviceOrientationEvent.idl */,
A8185F3409765765005826D9 /* Document.cpp */,
A8185F3809765765005826D9 /* Document.h */,
6548E24809E1E04D00AF8020 /* Document.idl */,
@@ -16753,6 +16828,7 @@
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
+ B5B5DC6A119BB3D5002A8790 /* AbstractDatabase.h in Headers */,
41E1B1D10FF5986900576B3B /* AbstractWorker.h in Headers */,
29A8122E0FBB9C1D00510293 /* AccessibilityARIAGridCell.h in Headers */,
29A812330FBB9C1D00510293 /* AccessibilityARIAGridRow.h in Headers */,
@@ -16794,6 +16870,8 @@
512DD8FC0D91E6AF000F89EE /* ArchiveResource.h in Headers */,
512DD8F80D91E6AF000F89EE /* ArchiveResourceCollection.h in Headers */,
BCFB2F77097A2E1A00BA703D /* Arena.h in Headers */,
+ 49EECDE310503C2400099FAB /* ArrayBuffer.h in Headers */,
+ 49EECDE010503C2400099FAB /* ArrayBufferView.h in Headers */,
B2C3DA1F0D006C1D00EF6F26 /* AtomicString.h in Headers */,
0FC705210EB1815600B90AD8 /* AtomicStringHash.h in Headers */,
B2C3DA200D006C1D00EF6F26 /* AtomicStringImpl.h in Headers */,
@@ -16910,6 +16988,7 @@
E1C416120F6562FD0092D2FB /* CrossOriginAccessControl.h in Headers */,
E1C415DA0F655D6F0092D2FB /* CrossOriginPreflightResultCache.h in Headers */,
2E4346590F546A9900B0F1BA /* CrossThreadCopier.h in Headers */,
+ 2E3FAA0911A36BF100576624 /* CrossThreadTask.h in Headers */,
E169803D1133542D00894115 /* CRuntimeObject.h in Headers */,
A80E6D070A1989CA007FB8C5 /* CSSBorderImageValue.h in Headers */,
BC6049CC0DB560C200204739 /* CSSCanvasValue.h in Headers */,
@@ -16992,6 +17071,9 @@
93309DE1099E64920056E581 /* DeleteSelectionCommand.h in Headers */,
93F1998208245E59001E9ABC /* DeprecatedPtrList.h in Headers */,
93F1996D08245E59001E9ABC /* DeprecatedPtrListImpl.h in Headers */,
+ 59A8F1D611A69513001AC34A /* DeviceOrientation.h in Headers */,
+ 59A8F1D811A69520001AC34A /* DeviceOrientationClient.h in Headers */,
+ 59A85EA4119D68EC00DEF1EF /* DeviceOrientationEvent.h in Headers */,
B2F34FE60E82F81400F627CD /* DNS.h in Headers */,
BCB16C2A0979C3BD00467741 /* DocLoader.h in Headers */,
A8185F4009765766005826D9 /* Document.h in Headers */,
@@ -17255,6 +17337,7 @@
855D358A0AD707310019AAC7 /* DOMRGBColor.h in Headers */,
BCD0FC4F0DBD720B00B2F630 /* DOMRGBColorInternal.h in Headers */,
BC5A86850C33676000EEA649 /* DOMSelection.h in Headers */,
+ C544274B11A57E7A0063A749 /* DOMStringList.h in Headers */,
0FF5025B102BA9010066F39A /* DOMStyleMedia.h in Headers */,
0FF50263102BA92C0066F39A /* DOMStyleMediaInternal.h in Headers */,
850657000AAB4763002D15C0 /* DOMStyleSheet.h in Headers */,
@@ -17786,6 +17869,7 @@
066C772B0AB603B700238CC4 /* FileChooser.h in Headers */,
2E3BC0BD117D3A4F00B9409A /* FileError.h in Headers */,
BCDBB8AC0E088CA500C60FF6 /* FileList.h in Headers */,
+ 2E94F4511192096A00B7F75D /* FileReader.h in Headers */,
895253D8116C4C6800CABF00 /* FileStream.h in Headers */,
895253D9116C4C6800CABF00 /* FileStreamClient.h in Headers */,
895253DD116C4EF500CABF00 /* FileStreamProxy.h in Headers */,
@@ -17796,6 +17880,7 @@
845E72F80FD261EE00A87D79 /* Filter.h in Headers */,
08C9251A0FCC7C4A00480DEC /* FilterEffect.h in Headers */,
A8CFF04F0A154F09000A4234 /* FixedTableLayout.h in Headers */,
+ 49EECDE610503C2400099FAB /* FloatArray.h in Headers */,
BC073BAA0C399B1F000F5979 /* FloatConversion.h in Headers */,
B27535690B053814002CE64F /* FloatPoint.h in Headers */,
B2E27CA00B0F2B0900F17C7B /* FloatPoint3D.h in Headers */,
@@ -17817,6 +17902,7 @@
B2C3DA6B0D006CD600EF6F26 /* FontSelector.h in Headers */,
37202199106213C600F25C4B /* FontSmoothingMode.h in Headers */,
3784C34B0E11AA34007D8D48 /* FontTraitsMask.h in Headers */,
+ B734B183119B991D006587BD /* FontTranscoder.h in Headers */,
A80E6CED0A1989CA007FB8C5 /* FontValue.h in Headers */,
D05CED2A0A40BB2C00C5AF38 /* FormatBlockCommand.h in Headers */,
514C76700CE923A1007EF3CD /* FormData.h in Headers */,
@@ -17870,6 +17956,10 @@
930908910AF7EDE40081DF01 /* HitTestRequest.h in Headers */,
9307F1D80AF2D59000DBA31A /* HitTestResult.h in Headers */,
BC3BC29C0E91AB0F00835588 /* HostWindow.h in Headers */,
+ 97E8B35711A23CE200169409 /* HTML5Lexer.h in Headers */,
+ 97E8B3C311A2890800169409 /* HTML5Token.h in Headers */,
+ A871038B11A2947000DBD50E /* HTML5Tokenizer.h in Headers */,
+ A879C62611A9D1F70059237A /* HTML5TreeBuilder.h in Headers */,
BC97E23A109144950010D361 /* HTMLAllCollection.h in Headers */,
A8CFF7AB0A156978000A4234 /* HTMLAnchorElement.h in Headers */,
A871D45D0A127CBC00B12A68 /* HTMLAppletElement.h in Headers */,
@@ -17925,6 +18015,7 @@
E44613A50CD6331000FADA75 /* HTMLMediaElement.h in Headers */,
A8EA79F40A1916DF00A8EF5F /* HTMLMenuElement.h in Headers */,
A871DC240A15205700B12A68 /* HTMLMetaElement.h in Headers */,
+ A454424B119B3661009BE912 /* HTMLMeterElement.h in Headers */,
A8CFF7A70A156978000A4234 /* HTMLModElement.h in Headers */,
A8DF3FD4097FA0FC0052981B /* HTMLNameCollection.h in Headers */,
CE4C00E610F6F7C100CA38F5 /* HTMLNoScriptElement.h in Headers */,
@@ -17969,6 +18060,16 @@
1A2D753D0DE47FAB00F0A648 /* IconFetcher.h in Headers */,
513F14540AB634C400094DDF /* IconLoader.h in Headers */,
51E1ECC10C91C90400DC255B /* IconRecord.h in Headers */,
+ C56C9153119D84CB00DE4CD9 /* IDBAny.h in Headers */,
+ C5198F4C1192ECFD002B74A6 /* IDBCallbacks.h in Headers */,
+ C5198F4E1192ECFD002B74A6 /* IDBDatabase.h in Headers */,
+ C5198F4F1192ECFD002B74A6 /* IDBDatabaseError.h in Headers */,
+ C5198F511192ECFD002B74A6 /* IDBDatabaseException.h in Headers */,
+ C5198F541192ECFD002B74A6 /* IDBDatabaseRequest.h in Headers */,
+ C56C9160119D84E600DE4CD9 /* IDBErrorEvent.h in Headers */,
+ C56C9163119D84E600DE4CD9 /* IDBEvent.h in Headers */,
+ C5198F571192ECFD002B74A6 /* IDBRequest.h in Headers */,
+ C56C9169119D84FF00DE4CD9 /* IDBSuccessEvent.h in Headers */,
1A71D57C0F33819000F9CE4E /* IdentifierRep.h in Headers */,
49E911C50EF86D47009D0CAF /* IdentityTransformOperation.h in Headers */,
C0C054CD1118C8E400CE2636 /* IDLParser.pm in Headers */,
@@ -17983,6 +18084,9 @@
4B3480940EEF50D400AC1B41 /* ImageSourceCG.h in Headers */,
316FE1180E6E1DA700BF6088 /* ImplicitAnimation.h in Headers */,
DB23C2CC0A508D29002489EB /* IndentOutdentCommand.h in Headers */,
+ C5198F5A1192ECFD002B74A6 /* IndexedDatabase.h in Headers */,
+ C5198F5C1192ECFD002B74A6 /* IndexedDatabaseImpl.h in Headers */,
+ C5198F5E1192ECFD002B74A6 /* IndexedDatabaseRequest.h in Headers */,
F3644B001119805900E0D537 /* InjectedScript.h in Headers */,
7A0E76FA10BF08ED00A0276E /* InjectedScriptHost.h in Headers */,
A8CFF5E50A155A05000A4234 /* InlineBox.h in Headers */,
@@ -17999,6 +18103,7 @@
7A74ECBB101839A600BF939E /* InspectorBackend.h in Headers */,
1C81B95C0E97330800266E07 /* InspectorClient.h in Headers */,
1C81B95A0E97330800266E07 /* InspectorController.h in Headers */,
+ 82B658981189E39200E052A1 /* InspectorCSSStore.h in Headers */,
41F062140F5F192600A07EAC /* InspectorDatabaseResource.h in Headers */,
7A24587C1021EAF4000A00AA /* InspectorDOMAgent.h in Headers */,
41F061740F5F00AC00A07EAC /* InspectorDOMStorageResource.h in Headers */,
@@ -18009,6 +18114,10 @@
41F062010F5F0B6600A07EAC /* InspectorResource.h in Headers */,
754133A8102E00E800075D00 /* InspectorTimelineAgent.h in Headers */,
F375CC071150D300008DDB81 /* InspectorWorkerResource.h in Headers */,
+ 49EECDEC10503C2400099FAB /* Int16Array.h in Headers */,
+ 49EECDE910503C2400099FAB /* Int32Array.h in Headers */,
+ 49C7B9CC1042D32F0009D447 /* Int8Array.h in Headers */,
+ 6E96BB1C11986EE2007D94CD /* IntegralTypedArrayBase.h in Headers */,
B27535720B053814002CE64F /* IntPoint.h in Headers */,
E462A4A1113E71BE004A4220 /* IntPointHash.h in Headers */,
B27535740B053814002CE64F /* IntRect.h in Headers */,
@@ -18026,6 +18135,9 @@
59EE122E1106080F00885116 /* JNIUtilityPrivate.h in Headers */,
93309DF4099E64920056E581 /* JoinTextNodesCommand.h in Headers */,
418F88050FF957AF0080F045 /* JSAbstractWorker.h in Headers */,
+ 49EECF01105070C400099FAB /* JSArrayBuffer.h in Headers */,
+ 49EECFAC1050938200099FAB /* JSArrayBufferConstructor.h in Headers */,
+ 49EECF1C105072F300099FAB /* JSArrayBufferView.h in Headers */,
65DF31DB09D1C123000BE325 /* JSAttr.h in Headers */,
E4EEFFC90D34550C00469A58 /* JSAudioConstructor.h in Headers */,
BC124F000C26447A009E2349 /* JSBarInfo.h in Headers */,
@@ -18067,11 +18179,14 @@
1A3417C90CECFF250049CBDE /* JSCustomVoidCallback.h in Headers */,
E10B937C0B73C00A003ED890 /* JSCustomXPathNSResolver.h in Headers */,
1AE82F900CAAFA9D002237AE /* JSDatabase.h in Headers */,
+ B59DD699119029E5007E9684 /* JSDatabaseCallback.h in Headers */,
+ B58CEB6911913607002A6790 /* JSDatabaseSync.h in Headers */,
BC77D16A0FF19F560070887B /* JSDataGridColumn.h in Headers */,
BC77D16C0FF19F560070887B /* JSDataGridColumnList.h in Headers */,
BCBCAE3D0FF19399000762AE /* JSDataGridDataSource.h in Headers */,
BC53DAC211432EEE000D817E /* JSDebugWrapperSet.h in Headers */,
4162A4581011464700DFF3ED /* JSDedicatedWorkerContext.h in Headers */,
+ 59A86008119DAFA100DEF1EF /* JSDeviceOrientationEvent.h in Headers */,
659DDC8309E198BA001BF3C6 /* JSDocument.h in Headers */,
1A494EDF0A123F4C00FDAFC1 /* JSDocumentFragment.h in Headers */,
65DF31F609D1CC60000BE325 /* JSDocumentType.h in Headers */,
@@ -18083,6 +18198,7 @@
65DF31F809D1CC60000BE325 /* JSDOMImplementation.h in Headers */,
1ACE53E00A8D18810022947D /* JSDOMParser.h in Headers */,
BC5A86B60C3367E800EEA649 /* JSDOMSelection.h in Headers */,
+ C5137CF311A58378004ADB99 /* JSDOMStringList.h in Headers */,
BC6932740D7E293900AE44D1 /* JSDOMWindowBase.h in Headers */,
652FBBBC0DE27CB60001D386 /* JSDOMWindowCustom.h in Headers */,
BCBFB53D0DCD29CF0019B3E5 /* JSDOMWindowShell.h in Headers */,
@@ -18101,6 +18217,9 @@
BC00F0150E0A189500FD04E3 /* JSFile.h in Headers */,
2E3BC0CB117D3E0800B9409A /* JSFileError.h in Headers */,
BC00F0170E0A189500FD04E3 /* JSFileList.h in Headers */,
+ 2E94F43C119207DA00B7F75D /* JSFileReader.h in Headers */,
+ 49EECF03105070C400099FAB /* JSFloatArray.h in Headers */,
+ 49EECFB01050938200099FAB /* JSFloatArrayConstructor.h in Headers */,
FE80DA640E9C4703000D6F75 /* JSGeolocation.h in Headers */,
FE80DA660E9C4703000D6F75 /* JSGeoposition.h in Headers */,
BC94D14F0C275C68006BC617 /* JSHistory.h in Headers */,
@@ -18177,11 +18296,26 @@
A80E7B0C0A19D606007FB8C5 /* JSHTMLTitleElement.h in Headers */,
1A85B2110A1B258700D8C87C /* JSHTMLUListElement.h in Headers */,
E44614170CD6826900FADA75 /* JSHTMLVideoElement.h in Headers */,
+ C56C919B119D915300DE4CD9 /* JSIDBAny.h in Headers */,
+ C5F4F407119306AC00FDFADD /* JSIDBDatabaseError.h in Headers */,
+ C5F4F409119306AC00FDFADD /* JSIDBDatabaseException.h in Headers */,
+ C5F4F40B119306AC00FDFADD /* JSIDBDatabaseRequest.h in Headers */,
+ C56C91A1119D918100DE4CD9 /* JSIDBErrorEvent.h in Headers */,
+ C56C91A3119D918100DE4CD9 /* JSIDBEvent.h in Headers */,
+ C5F4F40D119306AC00FDFADD /* JSIDBRequest.h in Headers */,
+ C56C91A7119D918700DE4CD9 /* JSIDBSuccessEvent.h in Headers */,
BC6C49F40D7DBA0500FFA558 /* JSImageConstructor.h in Headers */,
A77979290D6B9E64003851B9 /* JSImageData.h in Headers */,
+ C5F4F411119306C000FDFADD /* JSIndexedDatabaseRequest.h in Headers */,
7A0E76DB10BF059800A0276E /* JSInjectedScriptHost.h in Headers */,
41F060CE0F5EEB2B00A07EAC /* JSInspectorBackend.h in Headers */,
7A0E771F10C00DB100A0276E /* JSInspectorFrontendHost.h in Headers */,
+ 49EECF07105070C400099FAB /* JSInt16Array.h in Headers */,
+ 49EECFB61050938200099FAB /* JSInt16ArrayConstructor.h in Headers */,
+ 49EECF05105070C400099FAB /* JSInt32Array.h in Headers */,
+ 49EECFB21050938200099FAB /* JSInt32ArrayConstructor.h in Headers */,
+ 49C7B9961042D2D30009D447 /* JSInt8Array.h in Headers */,
+ 49EECFAE1050938200099FAB /* JSInt8ArrayConstructor.h in Headers */,
1C5FAED20DCFD90100D58F78 /* JSJavaScriptCallFrame.h in Headers */,
A86629D309DA2B48009633A5 /* JSKeyboardEvent.h in Headers */,
935F45430F7C3B5F00D7C1FB /* JSLazyEventListener.h in Headers */,
@@ -18230,7 +18364,13 @@
BC8243290D0CE8A200460C8F /* JSSQLError.h in Headers */,
1AE82FED0CAB07EE002237AE /* JSSQLResultSet.h in Headers */,
1AFE119A0CBFFCC4003017FA /* JSSQLResultSetRowList.h in Headers */,
+ B59DD6A511902A62007E9684 /* JSSQLStatementCallback.h in Headers */,
+ B59DD6A911902A71007E9684 /* JSSQLStatementErrorCallback.h in Headers */,
BC82432A0D0CE8A200460C8F /* JSSQLTransaction.h in Headers */,
+ B59DD69D11902A42007E9684 /* JSSQLTransactionCallback.h in Headers */,
+ B59DD6A111902A52007E9684 /* JSSQLTransactionErrorCallback.h in Headers */,
+ B58CEB6D1191361C002A6790 /* JSSQLTransactionSync.h in Headers */,
+ B55D5AA4119131FC00BCC315 /* JSSQLTransactionSyncCallback.h in Headers */,
51E0BAEB0DA55D4A00A9E417 /* JSStorageEvent.h in Headers */,
0FF5026A102BA9430066F39A /* JSStyleMedia.h in Headers */,
BCE0139B0C0BEF180043860A /* JSStyleSheet.h in Headers */,
@@ -18379,34 +18519,23 @@
E446141B0CD6826900FADA75 /* JSTimeRanges.h in Headers */,
1A750D5D0A90DEE1000FF215 /* JSTreeWalker.h in Headers */,
A86629CF09DA2B47009633A5 /* JSUIEvent.h in Headers */,
+ 49EECF0D105070C400099FAB /* JSUint16Array.h in Headers */,
+ 49EECFBC1050938200099FAB /* JSUint16ArrayConstructor.h in Headers */,
+ 49EECF0B105070C400099FAB /* JSUint32Array.h in Headers */,
+ 49EECFBA1050938200099FAB /* JSUint32ArrayConstructor.h in Headers */,
+ 49EECF09105070C400099FAB /* JSUint8Array.h in Headers */,
+ 49EECFB81050938200099FAB /* JSUint8ArrayConstructor.h in Headers */,
15C77093100D3CA8005BA267 /* JSValidityState.h in Headers */,
A7D20F63107F406900A80392 /* JSWebGLActiveInfo.h in Headers */,
- 49EECF1C105072F300099FAB /* JSArrayBufferView.h in Headers */,
- 49EECF01105070C400099FAB /* JSArrayBuffer.h in Headers */,
- 49EECFAC1050938200099FAB /* JSArrayBufferConstructor.h in Headers */,
49C7B9941042D2D30009D447 /* JSWebGLBuffer.h in Headers */,
- 49C7B9961042D2D30009D447 /* JSInt8Array.h in Headers */,
- 49EECFAE1050938200099FAB /* JSInt8ArrayConstructor.h in Headers */,
6EE8A77310F803F3005A4A24 /* JSWebGLContextAttributes.h in Headers */,
- 49EECF03105070C400099FAB /* JSFloatArray.h in Headers */,
- 49EECFB01050938200099FAB /* JSFloatArrayConstructor.h in Headers */,
49C7B9981042D2D30009D447 /* JSWebGLFramebuffer.h in Headers */,
- 49EECF05105070C400099FAB /* JSInt32Array.h in Headers */,
- 49EECFB21050938200099FAB /* JSInt32ArrayConstructor.h in Headers */,
49C7B99C1042D2D30009D447 /* JSWebGLProgram.h in Headers */,
49C7B99E1042D2D30009D447 /* JSWebGLRenderbuffer.h in Headers */,
49EED1471051969400099FAB /* JSWebGLRenderingContext.h in Headers */,
49C7B9A31042D2D30009D447 /* JSWebGLShader.h in Headers */,
- 49EECF07105070C400099FAB /* JSInt16Array.h in Headers */,
- 49EECFB61050938200099FAB /* JSInt16ArrayConstructor.h in Headers */,
49C7B9A51042D2D30009D447 /* JSWebGLTexture.h in Headers */,
0C45342810CDBBFA00869157 /* JSWebGLUniformLocation.h in Headers */,
- 49EECF09105070C400099FAB /* JSUint8Array.h in Headers */,
- 49EECFB81050938200099FAB /* JSUint8ArrayConstructor.h in Headers */,
- 49EECF0B105070C400099FAB /* JSUint32Array.h in Headers */,
- 49EECFBA1050938200099FAB /* JSUint32ArrayConstructor.h in Headers */,
- 49EECF0D105070C400099FAB /* JSUint16Array.h in Headers */,
- 49EECFBC1050938200099FAB /* JSUint16ArrayConstructor.h in Headers */,
31C0FF3E0E4CEFAC007D6FE5 /* JSWebKitAnimationEvent.h in Headers */,
316FE0720E6CCBEE00BF6088 /* JSWebKitCSSKeyframeRule.h in Headers */,
316FE0740E6CCBEE00BF6088 /* JSWebKitCSSKeyframesRule.h in Headers */,
@@ -18576,7 +18705,6 @@
1AC694C80A3B1676003F5049 /* PluginDocument.h in Headers */,
7693BAD4106C2DCA007B0823 /* PluginHalter.h in Headers */,
7693BAD5106C2DCA007B0823 /* PluginHalterClient.h in Headers */,
- 5DCF836D0D59159800953BC6 /* PluginInfoStore.h in Headers */,
1ADA14110E1AE5D900023EE5 /* PluginMainThreadScheduler.h in Headers */,
0AFDAC3D10F5448C00E1F3D2 /* PluginWidget.h in Headers */,
B2B1F7170D00CAA8004AEA64 /* PointerEventsHitRules.h in Headers */,
@@ -18654,6 +18782,7 @@
FA7EFB061120D25400CF79C7 /* RenderMathMLUnderOver.h in Headers */,
E4C279590CF9741900E97B98 /* RenderMedia.h in Headers */,
ABDDFE7A0A5C6E7000A3E11D /* RenderMenuList.h in Headers */,
+ A454424F119B3687009BE912 /* RenderMeter.h in Headers */,
BCEA4880097D93020094C9E4 /* RenderObject.h in Headers */,
BC2CC8DF0F32881000A9DF26 /* RenderObjectChildList.h in Headers */,
BCFA930810333193007B25D1 /* RenderOverflow.h in Headers */,
@@ -18755,6 +18884,7 @@
411046410FA222A600BA436A /* ScriptEventListener.h in Headers */,
E11C9D9B0EB3681200E409DB /* ScriptExecutionContext.h in Headers */,
41002CCD0F66EDEF009E660D /* ScriptFunctionCall.h in Headers */,
+ 4FD8D0F3119C718B002FA825 /* ScriptGCEvent.h in Headers */,
934CC1170EDCAC7300A658F2 /* ScriptInstance.h in Headers */,
41F066E40F64BCF600A07EAC /* ScriptObject.h in Headers */,
9F72304F11184B4100AD0126 /* ScriptProfile.h in Headers */,
@@ -18796,6 +18926,7 @@
41D168EA10226E89009BC827 /* SharedWorkerRepository.h in Headers */,
41D168EE10226E89009BC827 /* SharedWorkerThread.h in Headers */,
B2C3DA650D006CD600EF6F26 /* SimpleFontData.h in Headers */,
+ 51327D6011A33A2B004F9D65 /* SinkDocument.h in Headers */,
49E911CD0EF86D47009D0CAF /* SkewTransformOperation.h in Headers */,
4B6FA6F40C39E48C00087011 /* SmartReplace.h in Headers */,
E4AFD00C0DAF335400F5F55C /* SMILTime.h in Headers */,
@@ -18880,6 +19011,7 @@
1A8F6B020DB53006001DB794 /* SubstituteResource.h in Headers */,
93B2D8160F9920D2006AE6B2 /* SuddenTermination.h in Headers */,
97C078501165D5BE003A32EF /* SuffixTree.h in Headers */,
+ 62C1217D11AB9E77003C462C /* SuspendableTimer.h in Headers */,
B22279740D00BF220071B782 /* SVGAElement.h in Headers */,
65653F2E0D9727D200CA9723 /* SVGAltGlyphElement.h in Headers */,
B22279770D00BF220071B782 /* SVGAngle.h in Headers */,
@@ -18934,6 +19066,7 @@
B25599850D00D8BA00BB825C /* SVGFEImage.h in Headers */,
B22279EF0D00BF220071B782 /* SVGFEImageElement.h in Headers */,
B22279F20D00BF220071B782 /* SVGFELightElement.h in Headers */,
+ E440A2D71191A523000820B0 /* SVGFELighting.h in Headers */,
B25599870D00D8BA00BB825C /* SVGFEMerge.h in Headers */,
B22279F40D00BF220071B782 /* SVGFEMergeElement.h in Headers */,
B22279F70D00BF220071B782 /* SVGFEMergeNodeElement.h in Headers */,
@@ -19038,6 +19171,7 @@
0842BC811190147200C7D08F /* SVGTextChunkLayoutInfo.h in Headers */,
B2227AC80D00BF220071B782 /* SVGTextContentElement.h in Headers */,
B2227ACB0D00BF220071B782 /* SVGTextElement.h in Headers */,
+ 083F529A11957FBE00653EBE /* SVGTextLayoutUtilities.h in Headers */,
B2227ACE0D00BF220071B782 /* SVGTextPathElement.h in Headers */,
B2227AD10D00BF220071B782 /* SVGTextPositioningElement.h in Headers */,
B2227AD40D00BF220071B782 /* SVGTitleElement.h in Headers */,
@@ -19108,10 +19242,14 @@
37FD4298118368460093C029 /* TreeDepthLimit.h in Headers */,
1419D2C50CEA6F6100FF507A /* TreeShared.h in Headers */,
854FE7390A2297BE0058D7AD /* TreeWalker.h in Headers */,
+ 6E96BB1D11986EE2007D94CD /* TypedArrayBase.h in Headers */,
37C28A6810F659CC008C7813 /* TypesettingFeatures.h in Headers */,
93309E1A099E64920056E581 /* TypingCommand.h in Headers */,
85031B4E0A44EFC700F992E0 /* UIEvent.h in Headers */,
85031B4F0A44EFC700F992E0 /* UIEventWithKeyState.h in Headers */,
+ 49EECDF510503C2400099FAB /* Uint16Array.h in Headers */,
+ 49EECDF210503C2400099FAB /* Uint32Array.h in Headers */,
+ 49EECDEF10503C2400099FAB /* Uint8Array.h in Headers */,
B2C3DA4D0D006C1D00EF6F26 /* UnicodeRange.h in Headers */,
E4AFCFA50DAF29A300F5F55C /* UnitBezier.h in Headers */,
D086FE9809D53AAB005BC74D /* UnlinkCommand.h in Headers */,
@@ -19143,25 +19281,16 @@
93F199F108245E59001E9ABC /* WebDashboardRegion.h in Headers */,
BC6DADEF0A195FDF00E5CD14 /* WebFontCache.h in Headers */,
A7D20F6D107F438B00A80392 /* WebGLActiveInfo.h in Headers */,
- 49EECDE010503C2400099FAB /* ArrayBufferView.h in Headers */,
- 49EECDE310503C2400099FAB /* ArrayBuffer.h in Headers */,
49C7B9C91042D32F0009D447 /* WebGLBuffer.h in Headers */,
- 49C7B9CC1042D32F0009D447 /* Int8Array.h in Headers */,
6E4E91AF10F7FB3100A2779C /* WebGLContextAttributes.h in Headers */,
- 49EECDE610503C2400099FAB /* FloatArray.h in Headers */,
49C7B9CF1042D32F0009D447 /* WebGLFramebuffer.h in Headers */,
6E47E66110B7944B00B186C8 /* WebGLGetInfo.h in Headers */,
- 49EECDE910503C2400099FAB /* Int32Array.h in Headers */,
49C7B9D71042D32F0009D447 /* WebGLProgram.h in Headers */,
49C7B9DA1042D32F0009D447 /* WebGLRenderbuffer.h in Headers */,
49C7B9E01042D32F0009D447 /* WebGLRenderingContext.h in Headers */,
49C7B9E31042D32F0009D447 /* WebGLShader.h in Headers */,
- 49EECDEC10503C2400099FAB /* Int16Array.h in Headers */,
49C7B9E61042D32F0009D447 /* WebGLTexture.h in Headers */,
0C3F1F5B10C8871200D72CE1 /* WebGLUniformLocation.h in Headers */,
- 49EECDEF10503C2400099FAB /* Uint8Array.h in Headers */,
- 49EECDF210503C2400099FAB /* Uint32Array.h in Headers */,
- 49EECDF510503C2400099FAB /* Uint16Array.h in Headers */,
31C0FF220E4CEB6E007D6FE5 /* WebKitAnimationEvent.h in Headers */,
31288E730E3005D6003619AE /* WebKitCSSKeyframeRule.h in Headers */,
31288E750E3005D6003619AE /* WebKitCSSKeyframesRule.h in Headers */,
@@ -19271,63 +19400,21 @@
93F199EC08245E59001E9ABC /* XSLStyleSheet.h in Headers */,
E1F1E8300C3C2BB9006DB391 /* XSLTExtensions.h in Headers */,
93F199ED08245E59001E9ABC /* XSLTProcessor.h in Headers */,
- 82B658981189E39200E052A1 /* InspectorCSSStore.h in Headers */,
E1BE512E0CF6C512002EA959 /* XSLTUnicodeSort.h in Headers */,
97DD4D870FDF4D6E00ECF9A4 /* XSSAuditor.h in Headers */,
CE172E011136E8CE0062A533 /* ZoomMode.h in Headers */,
- B59DD699119029E5007E9684 /* JSDatabaseCallback.h in Headers */,
- B59DD69D11902A42007E9684 /* JSSQLTransactionCallback.h in Headers */,
- B59DD6A111902A52007E9684 /* JSSQLTransactionErrorCallback.h in Headers */,
- B59DD6A511902A62007E9684 /* JSSQLStatementCallback.h in Headers */,
- B59DD6A911902A71007E9684 /* JSSQLStatementErrorCallback.h in Headers */,
- B55D5AA4119131FC00BCC315 /* JSSQLTransactionSyncCallback.h in Headers */,
- B58CEB6911913607002A6790 /* JSDatabaseSync.h in Headers */,
- B58CEB6D1191361C002A6790 /* JSSQLTransactionSync.h in Headers */,
- 083F529A11957FBE00653EBE /* SVGTextLayoutUtilities.h in Headers */,
- C5198F4C1192ECFD002B74A6 /* IDBCallbacks.h in Headers */,
- C5198F4E1192ECFD002B74A6 /* IDBDatabase.h in Headers */,
- C5198F4F1192ECFD002B74A6 /* IDBDatabaseError.h in Headers */,
- C5198F511192ECFD002B74A6 /* IDBDatabaseException.h in Headers */,
- C5198F541192ECFD002B74A6 /* IDBDatabaseRequest.h in Headers */,
- C5198F571192ECFD002B74A6 /* IDBRequest.h in Headers */,
- C5198F5A1192ECFD002B74A6 /* IndexedDatabase.h in Headers */,
- C5198F5C1192ECFD002B74A6 /* IndexedDatabaseImpl.h in Headers */,
- C5198F5E1192ECFD002B74A6 /* IndexedDatabaseRequest.h in Headers */,
- C5F4F407119306AC00FDFADD /* JSIDBDatabaseError.h in Headers */,
- C5F4F409119306AC00FDFADD /* JSIDBDatabaseException.h in Headers */,
- C5F4F40B119306AC00FDFADD /* JSIDBDatabaseRequest.h in Headers */,
- C5F4F40D119306AC00FDFADD /* JSIDBRequest.h in Headers */,
- C5F4F411119306C000FDFADD /* JSIndexedDatabaseRequest.h in Headers */,
- 6E96BB1C11986EE2007D94CD /* IntegralTypedArrayBase.h in Headers */,
- 6E96BB1D11986EE2007D94CD /* TypedArrayBase.h in Headers */,
- 2E94F43C119207DA00B7F75D /* JSFileReader.h in Headers */,
- 2E94F4511192096A00B7F75D /* FileReader.h in Headers */,
- E440A2D71191A523000820B0 /* SVGFELighting.h in Headers */,
- A454424B119B3661009BE912 /* HTMLMeterElement.h in Headers */,
- A454424F119B3687009BE912 /* RenderMeter.h in Headers */,
- B5B5DC6A119BB3D5002A8790 /* AbstractDatabase.h in Headers */,
- 4FD8D0F3119C718B002FA825 /* ScriptGCEvent.h in Headers */,
- C56C9153119D84CB00DE4CD9 /* IDBAny.h in Headers */,
- C56C9160119D84E600DE4CD9 /* IDBErrorEvent.h in Headers */,
- C56C9163119D84E600DE4CD9 /* IDBEvent.h in Headers */,
- C56C9169119D84FF00DE4CD9 /* IDBSuccessEvent.h in Headers */,
- C56C919B119D915300DE4CD9 /* JSIDBAny.h in Headers */,
- C56C91A1119D918100DE4CD9 /* JSIDBErrorEvent.h in Headers */,
- C56C91A3119D918100DE4CD9 /* JSIDBEvent.h in Headers */,
- C56C91A7119D918700DE4CD9 /* JSIDBSuccessEvent.h in Headers */,
- 97E8B35711A23CE200169409 /* HTML5Lexer.h in Headers */,
- 97E8B3C311A2890800169409 /* HTML5Token.h in Headers */,
- A871038B11A2947000DBD50E /* HTML5Tokenizer.h in Headers */,
- 51327D6011A33A2B004F9D65 /* SinkDocument.h in Headers */,
- 59A85EA4119D68EC00DEF1EF /* DeviceOrientationEvent.h in Headers */,
- 59A86008119DAFA100DEF1EF /* JSDeviceOrientationEvent.h in Headers */,
- 2E3FAA0911A36BF100576624 /* CrossThreadTask.h in Headers */,
- 59A8F1D611A69513001AC34A /* DeviceOrientation.h in Headers */,
- 59A8F1D811A69520001AC34A /* DeviceOrientationClient.h in Headers */,
- A879C62611A9D1F70059237A /* HTML5TreeBuilder.h in Headers */,
- B734B183119B991D006587BD /* FontTranscoder.h in Headers */,
- C544274B11A57E7A0063A749 /* DOMStringList.h in Headers */,
- C5137CF311A58378004ADB99 /* JSDOMStringList.h in Headers */,
+ A456FA2711AD4A830020B420 /* LabelsNodeList.h in Headers */,
+ B6693EEC11AD63E6003F2770 /* IDBObjectStore.h in Headers */,
+ B6693EEE11AD63E6003F2770 /* IDBObjectStoreRequest.h in Headers */,
+ B6693EF311AD6486003F2770 /* JSIDBObjectStoreRequest.h in Headers */,
+ A83B3AF111ADEFF500458809 /* HTML5ScriptRunner.h in Headers */,
+ 521D46F811AEC9B100514613 /* KillRing.h in Headers */,
+ A87F163511AE841300CBB2E5 /* HTML5ScriptRunnerHost.h in Headers */,
+ C51DA9A511AEF2C1009799C5 /* IDBIndex.h in Headers */,
+ C51DA9A711AEF2C1009799C5 /* IDBIndexImpl.h in Headers */,
+ C51DA9A911AEF2C1009799C5 /* IDBIndexRequest.h in Headers */,
+ C5BBC9D111AEF838007C2BFE /* JSIDBIndexRequest.h in Headers */,
+ 4F3289B611A42AAB005ABE7E /* InspectorValues.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -19579,6 +19666,7 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
+ B5B5DC69119BB3D5002A8790 /* AbstractDatabase.cpp in Sources */,
41E1B1D00FF5986900576B3B /* AbstractWorker.cpp in Sources */,
29A812280FBB9C1D00510293 /* AccessibilityARIAGrid.cpp in Sources */,
29A812300FBB9C1D00510293 /* AccessibilityARIAGridCell.cpp in Sources */,
@@ -19620,6 +19708,8 @@
512DD8FB0D91E6AF000F89EE /* ArchiveResource.cpp in Sources */,
512DD8F70D91E6AF000F89EE /* ArchiveResourceCollection.cpp in Sources */,
BCFB2F76097A2E1A00BA703D /* Arena.cpp in Sources */,
+ 49EECDE210503C2400099FAB /* ArrayBuffer.cpp in Sources */,
+ 49EECDDF10503C2400099FAB /* ArrayBufferView.cpp in Sources */,
A8C4A80E09D563270003AC8D /* Attr.cpp in Sources */,
A8C4A80C09D563270003AC8D /* Attribute.cpp in Sources */,
934F71380D5A6EFF00018D69 /* AuthenticationChallengeBase.cpp in Sources */,
@@ -19778,6 +19868,8 @@
93309DDE099E64920056E581 /* DeleteFromTextNodeCommand.cpp in Sources */,
93309DE0099E64920056E581 /* DeleteSelectionCommand.cpp in Sources */,
93F19A3C08245E59001E9ABC /* DeprecatedPtrListImpl.cpp in Sources */,
+ 59A8F1D411A69508001AC34A /* DeviceOrientation.cpp in Sources */,
+ 59A85EA2119D68D900DEF1EF /* DeviceOrientationEvent.cpp in Sources */,
B2F34FE90E82F82700F627CD /* DNSCFNet.cpp in Sources */,
BCB16C290979C3BD00467741 /* DocLoader.cpp in Sources */,
A8185F3C09765766005826D9 /* Document.cpp in Sources */,
@@ -19916,6 +20008,7 @@
858C38A80AA8F20400B187A4 /* DOMRect.mm in Sources */,
BCAEFCAE1016CE4A0040D34E /* DOMRGBColor.mm in Sources */,
BC5A86840C33676000EEA649 /* DOMSelection.cpp in Sources */,
+ C55610F111A704EB00B82D27 /* DOMStringList.cpp in Sources */,
0FF5025C102BA9010066F39A /* DOMStyleMedia.mm in Sources */,
850657010AAB4763002D15C0 /* DOMStyleSheet.mm in Sources */,
850657030AAB4763002D15C0 /* DOMStyleSheetList.mm in Sources */,
@@ -20108,6 +20201,7 @@
934FE9E50B5CA539003E4A73 /* FileChooser.cpp in Sources */,
066C772D0AB603D200238CC4 /* FileChooserMac.mm in Sources */,
BCDBB8AD0E088CA500C60FF6 /* FileList.cpp in Sources */,
+ 2E94F4501192096400B7F75D /* FileReader.cpp in Sources */,
895253D7116C4C6800CABF00 /* FileStream.cpp in Sources */,
895253DC116C4EF500CABF00 /* FileStreamProxy.cpp in Sources */,
5160306C0CC4362300C8AC25 /* FileSystemCF.cpp in Sources */,
@@ -20117,6 +20211,7 @@
BC5EB69E0E81DAEB00B25965 /* FillLayer.cpp in Sources */,
08C925190FCC7C4A00480DEC /* FilterEffect.cpp in Sources */,
A8CFF04D0A154F09000A4234 /* FixedTableLayout.cpp in Sources */,
+ 49EECDE510503C2400099FAB /* FloatArray.cpp in Sources */,
B27535680B053814002CE64F /* FloatPoint.cpp in Sources */,
B2E27C9F0B0F2B0900F17C7B /* FloatPoint3D.cpp in Sources */,
B27535590B053814002CE64F /* FloatPointCG.cpp in Sources */,
@@ -20142,6 +20237,7 @@
72626E020EF022FE00A07E20 /* FontFastPath.cpp in Sources */,
B2AFFC800D00A5C10030074D /* FontMac.mm in Sources */,
B2AFFC820D00A5C10030074D /* FontPlatformDataMac.mm in Sources */,
+ B734B181119B9911006587BD /* FontTranscoder.cpp in Sources */,
A80E6CF10A1989CA007FB8C5 /* FontValue.cpp in Sources */,
D05CED290A40BB2C00C5AF38 /* FormatBlockCommand.cpp in Sources */,
514C766F0CE923A1007EF3CD /* FormData.cpp in Sources */,
@@ -20183,6 +20279,9 @@
5160F4980B0AA75F00C1D2AF /* HistoryItemMac.mm in Sources */,
9363B62C0F8E8FE000803810 /* HistoryPropertyList.cpp in Sources */,
9307F1D70AF2D59000DBA31A /* HitTestResult.cpp in Sources */,
+ 97E8B35611A23CE200169409 /* HTML5Lexer.cpp in Sources */,
+ A871038A11A2947000DBD50E /* HTML5Tokenizer.cpp in Sources */,
+ A879C62511A9D1F70059237A /* HTML5TreeBuilder.cpp in Sources */,
BC97E23B109144950010D361 /* HTMLAllCollection.cpp in Sources */,
A8CFF7A40A156978000A4234 /* HTMLAnchorElement.cpp in Sources */,
A871D45E0A127CBC00B12A68 /* HTMLAppletElement.cpp in Sources */,
@@ -20238,6 +20337,7 @@
E44613A40CD6331000FADA75 /* HTMLMediaElement.cpp in Sources */,
A8EA79F80A1916DF00A8EF5F /* HTMLMenuElement.cpp in Sources */,
A871DC270A15205700B12A68 /* HTMLMetaElement.cpp in Sources */,
+ A454424A119B3661009BE912 /* HTMLMeterElement.cpp in Sources */,
A8CFF7A90A156978000A4234 /* HTMLModElement.cpp in Sources */,
A8DF3FD5097FA0FC0052981B /* HTMLNameCollection.cpp in Sources */,
A8D06B3A0A265DCD005E7203 /* HTMLNames.cpp in Sources */,
@@ -20282,6 +20382,12 @@
513F14530AB634C400094DDF /* IconLoader.cpp in Sources */,
B275358E0B053A66002CE64F /* IconMac.mm in Sources */,
51E1ECC00C91C90400DC255B /* IconRecord.cpp in Sources */,
+ C56C9152119D84CB00DE4CD9 /* IDBAny.cpp in Sources */,
+ C5198F531192ECFD002B74A6 /* IDBDatabaseRequest.cpp in Sources */,
+ C56C915F119D84E600DE4CD9 /* IDBErrorEvent.cpp in Sources */,
+ C56C9162119D84E600DE4CD9 /* IDBEvent.cpp in Sources */,
+ C5198F561192ECFD002B74A6 /* IDBRequest.cpp in Sources */,
+ C56C9168119D84FF00DE4CD9 /* IDBSuccessEvent.cpp in Sources */,
1A71D57B0F33819000F9CE4E /* IdentifierRep.cpp in Sources */,
B275356F0B053814002CE64F /* Image.cpp in Sources */,
B2A10B940B3818D700099AA4 /* ImageBufferCG.cpp in Sources */,
@@ -20294,6 +20400,9 @@
4B3480930EEF50D400AC1B41 /* ImageSourceCGMac.mm in Sources */,
316FE1170E6E1DA700BF6088 /* ImplicitAnimation.cpp in Sources */,
DB23C2CB0A508D29002489EB /* IndentOutdentCommand.cpp in Sources */,
+ C5198F591192ECFD002B74A6 /* IndexedDatabase.cpp in Sources */,
+ C5198F5B1192ECFD002B74A6 /* IndexedDatabaseImpl.cpp in Sources */,
+ C5198F5D1192ECFD002B74A6 /* IndexedDatabaseRequest.cpp in Sources */,
F3644AFF1119805900E0D537 /* InjectedScript.cpp in Sources */,
7A0E76F910BF08ED00A0276E /* InjectedScriptHost.cpp in Sources */,
A8CFF5E60A155A05000A4234 /* InlineBox.cpp in Sources */,
@@ -20308,6 +20417,7 @@
93309DF1099E64920056E581 /* InsertTextCommand.cpp in Sources */,
7A74ECBA101839A600BF939E /* InspectorBackend.cpp in Sources */,
1C81B95B0E97330800266E07 /* InspectorController.cpp in Sources */,
+ 82B6589A1189E47600E052A1 /* InspectorCSSStore.cpp in Sources */,
41F062150F5F192600A07EAC /* InspectorDatabaseResource.cpp in Sources */,
7A24587B1021EAF4000A00AA /* InspectorDOMAgent.cpp in Sources */,
41F061750F5F00AC00A07EAC /* InspectorDOMStorageResource.cpp in Sources */,
@@ -20316,6 +20426,9 @@
7A0E770E10C00A8800A0276E /* InspectorFrontendHost.cpp in Sources */,
41F062020F5F0B6600A07EAC /* InspectorResource.cpp in Sources */,
754133AA102E00F400075D00 /* InspectorTimelineAgent.cpp in Sources */,
+ 49EECDEB10503C2400099FAB /* Int16Array.cpp in Sources */,
+ 49EECDE810503C2400099FAB /* Int32Array.cpp in Sources */,
+ 49C7B9CB1042D32F0009D447 /* Int8Array.cpp in Sources */,
B27535600B053814002CE64F /* IntPointCG.cpp in Sources */,
B275357C0B053814002CE64F /* IntPointMac.mm in Sources */,
B27535730B053814002CE64F /* IntRect.cpp in Sources */,
@@ -20335,6 +20448,10 @@
59EE122C1106080500885116 /* JNIUtilityPrivate.cpp in Sources */,
93309DF3099E64920056E581 /* JoinTextNodesCommand.cpp in Sources */,
418F88040FF957AE0080F045 /* JSAbstractWorker.cpp in Sources */,
+ 49EECF00105070C400099FAB /* JSArrayBuffer.cpp in Sources */,
+ 49EECFAB1050938200099FAB /* JSArrayBufferConstructor.cpp in Sources */,
+ 49EECF1B105072F300099FAB /* JSArrayBufferView.cpp in Sources */,
+ 492273A31083B3B100EE5C84 /* JSArrayBufferViewCustom.cpp in Sources */,
65DF31DA09D1C123000BE325 /* JSAttr.cpp in Sources */,
BC2ED6BC0C6BD2F000920BFF /* JSAttrCustom.cpp in Sources */,
E4EEFFC80D34550C00469A58 /* JSAudioConstructor.cpp in Sources */,
@@ -20388,7 +20505,10 @@
1A3417CA0CECFF250049CBDE /* JSCustomVoidCallback.cpp in Sources */,
E10B93C30B73C291003ED890 /* JSCustomXPathNSResolver.cpp in Sources */,
1AE82F8F0CAAFA9D002237AE /* JSDatabase.cpp in Sources */,
+ B59DD69A119029E5007E9684 /* JSDatabaseCallback.cpp in Sources */,
BCCE58AC1061E8CF008FB35A /* JSDatabaseCustom.cpp in Sources */,
+ B58CEB6A11913607002A6790 /* JSDatabaseSync.cpp in Sources */,
+ B55D5AA81191325000BCC315 /* JSDatabaseSyncCustom.cpp in Sources */,
BC77D1690FF19F560070887B /* JSDataGridColumn.cpp in Sources */,
BC77D16B0FF19F560070887B /* JSDataGridColumnList.cpp in Sources */,
BC77D1520FF19C730070887B /* JSDataGridColumnListCustom.cpp in Sources */,
@@ -20397,6 +20517,7 @@
4162A4571011464700DFF3ED /* JSDedicatedWorkerContext.cpp in Sources */,
4162A454101145E300DFF3ED /* JSDedicatedWorkerContextCustom.cpp in Sources */,
33503CC010179C1A003B47E1 /* JSDesktopNotificationsCustom.cpp in Sources */,
+ 59A86006119DAF7F00DEF1EF /* JSDeviceOrientationEvent.cpp in Sources */,
659DDC8209E198BA001BF3C6 /* JSDocument.cpp in Sources */,
49C7BA8D1042F5B10009D447 /* JSDocumentCustom.cpp in Sources */,
1A494EDE0A123F4C00FDAFC1 /* JSDocumentFragment.cpp in Sources */,
@@ -20411,6 +20532,7 @@
65DF31F709D1CC60000BE325 /* JSDOMImplementation.cpp in Sources */,
1ACE53DF0A8D18810022947D /* JSDOMParser.cpp in Sources */,
BC5A86B50C3367E800EEA649 /* JSDOMSelection.cpp in Sources */,
+ C5137CF211A58378004ADB99 /* JSDOMStringList.cpp in Sources */,
1403BA0C09EB18C700797C7F /* JSDOMWindow.cpp in Sources */,
BC6932730D7E293900AE44D1 /* JSDOMWindowBase.cpp in Sources */,
BCD9C2620C17AA67005C90A2 /* JSDOMWindowCustom.cpp in Sources */,
@@ -20432,6 +20554,10 @@
BC00F0140E0A189500FD04E3 /* JSFile.cpp in Sources */,
2E3BC0CA117D3E0800B9409A /* JSFileError.cpp in Sources */,
BC00F0160E0A189500FD04E3 /* JSFileList.cpp in Sources */,
+ 2E94F43B119207DA00B7F75D /* JSFileReader.cpp in Sources */,
+ 49EECF02105070C400099FAB /* JSFloatArray.cpp in Sources */,
+ 49EECFAF1050938200099FAB /* JSFloatArrayConstructor.cpp in Sources */,
+ 49EECF7910508D9C00099FAB /* JSFloatArrayCustom.cpp in Sources */,
FE80DA630E9C4703000D6F75 /* JSGeolocation.cpp in Sources */,
FE80D7AB0E9C1ED2000D6F75 /* JSGeolocationCustom.cpp in Sources */,
FE80DA650E9C4703000D6F75 /* JSGeoposition.cpp in Sources */,
@@ -20525,20 +20651,40 @@
A80E7B130A19D606007FB8C5 /* JSHTMLTitleElement.cpp in Sources */,
1A85B2100A1B258700D8C87C /* JSHTMLUListElement.cpp in Sources */,
E44614160CD6826900FADA75 /* JSHTMLVideoElement.cpp in Sources */,
+ C56C919A119D915300DE4CD9 /* JSIDBAny.cpp in Sources */,
+ C56C914E119D849800DE4CD9 /* JSIDBAnyCustom.cpp in Sources */,
+ C5F4F406119306AC00FDFADD /* JSIDBDatabaseError.cpp in Sources */,
+ C5F4F408119306AC00FDFADD /* JSIDBDatabaseException.cpp in Sources */,
+ C5F4F40A119306AC00FDFADD /* JSIDBDatabaseRequest.cpp in Sources */,
+ C56C91A0119D918100DE4CD9 /* JSIDBErrorEvent.cpp in Sources */,
+ C56C91A2119D918100DE4CD9 /* JSIDBEvent.cpp in Sources */,
+ C5F4F40C119306AC00FDFADD /* JSIDBRequest.cpp in Sources */,
+ C56C91A6119D918700DE4CD9 /* JSIDBSuccessEvent.cpp in Sources */,
BC6C49F30D7DBA0500FFA558 /* JSImageConstructor.cpp in Sources */,
A77979280D6B9E64003851B9 /* JSImageData.cpp in Sources */,
A7D0318E0E93540300E24ACD /* JSImageDataCustom.cpp in Sources */,
+ C5F4F410119306C000FDFADD /* JSIndexedDatabaseRequest.cpp in Sources */,
7A0E76DA10BF059800A0276E /* JSInjectedScriptHost.cpp in Sources */,
7A0E76D510BF050700A0276E /* JSInjectedScriptHostCustom.cpp in Sources */,
41F060CD0F5EEB2B00A07EAC /* JSInspectorBackend.cpp in Sources */,
7A0E771E10C00DB100A0276E /* JSInspectorFrontendHost.cpp in Sources */,
7A74ECBD101839DA00BF939E /* JSInspectorFrontendHostCustom.cpp in Sources */,
+ 49EECF06105070C400099FAB /* JSInt16Array.cpp in Sources */,
+ 49EECFB51050938200099FAB /* JSInt16ArrayConstructor.cpp in Sources */,
+ 49EECF7B10508D9C00099FAB /* JSInt16ArrayCustom.cpp in Sources */,
+ 49EECF04105070C400099FAB /* JSInt32Array.cpp in Sources */,
+ 49EECFB11050938200099FAB /* JSInt32ArrayConstructor.cpp in Sources */,
+ 49EECF7A10508D9C00099FAB /* JSInt32ArrayCustom.cpp in Sources */,
+ 49C7B9951042D2D30009D447 /* JSInt8Array.cpp in Sources */,
+ 49EECFAD1050938200099FAB /* JSInt8ArrayConstructor.cpp in Sources */,
+ 49EECF7810508D9C00099FAB /* JSInt8ArrayCustom.cpp in Sources */,
1C5FAED10DCFD90100D58F78 /* JSJavaScriptCallFrame.cpp in Sources */,
1C5FAEE70DCFDA6800D58F78 /* JSJavaScriptCallFrameCustom.cpp in Sources */,
A86629D409DA2B48009633A5 /* JSKeyboardEvent.cpp in Sources */,
935F45420F7C3B5F00D7C1FB /* JSLazyEventListener.cpp in Sources */,
BCE1C43B0D9830D3003B02F2 /* JSLocation.cpp in Sources */,
BCE1C4400D9830F4003B02F2 /* JSLocationCustom.cpp in Sources */,
+ 8FAC774D119872CB0015AE94 /* JSMainThreadExecState.cpp in Sources */,
E44614180CD6826900FADA75 /* JSMediaError.cpp in Sources */,
BC3C39B60C0D3D8D005F4D7A /* JSMediaList.cpp in Sources */,
E107400D0E77BDC00033AF24 /* JSMessageChannel.cpp in Sources */,
@@ -20598,8 +20744,15 @@
1AE82FEC0CAB07EE002237AE /* JSSQLResultSet.cpp in Sources */,
1AFE11990CBFFCC4003017FA /* JSSQLResultSetRowList.cpp in Sources */,
51DCE8020CAC9F1C00488358 /* JSSQLResultSetRowListCustom.cpp in Sources */,
+ B59DD6A611902A62007E9684 /* JSSQLStatementCallback.cpp in Sources */,
+ B59DD6AA11902A71007E9684 /* JSSQLStatementErrorCallback.cpp in Sources */,
514C76380CE9225E007EF3CD /* JSSQLTransaction.cpp in Sources */,
+ B59DD69E11902A42007E9684 /* JSSQLTransactionCallback.cpp in Sources */,
1AD2316E0CD269E700C1F194 /* JSSQLTransactionCustom.cpp in Sources */,
+ B59DD6A211902A52007E9684 /* JSSQLTransactionErrorCallback.cpp in Sources */,
+ B58CEB6E1191361C002A6790 /* JSSQLTransactionSync.cpp in Sources */,
+ B55D5AA5119131FC00BCC315 /* JSSQLTransactionSyncCallback.cpp in Sources */,
+ B55D5AA91191325000BCC315 /* JSSQLTransactionSyncCustom.cpp in Sources */,
51E3F9D60DA05E1D00250911 /* JSStorage.cpp in Sources */,
51D0C5160DAA90B7003B3831 /* JSStorageCustom.cpp in Sources */,
51E0BAEA0DA55D4A00A9E417 /* JSStorageEvent.cpp in Sources */,
@@ -20756,43 +20909,27 @@
1A750D5C0A90DEE1000FF215 /* JSTreeWalker.cpp in Sources */,
516BB7940CE91E6800512F79 /* JSTreeWalkerCustom.cpp in Sources */,
A86629D009DA2B48009633A5 /* JSUIEvent.cpp in Sources */,
+ 49EECF0C105070C400099FAB /* JSUint16Array.cpp in Sources */,
+ 49EECFBB1050938200099FAB /* JSUint16ArrayConstructor.cpp in Sources */,
+ 49EECF7E10508D9C00099FAB /* JSUint16ArrayCustom.cpp in Sources */,
+ 49EECF0A105070C400099FAB /* JSUint32Array.cpp in Sources */,
+ 49EECFB91050938200099FAB /* JSUint32ArrayConstructor.cpp in Sources */,
+ 49EECF7D10508D9C00099FAB /* JSUint32ArrayCustom.cpp in Sources */,
+ 49EECF08105070C400099FAB /* JSUint8Array.cpp in Sources */,
+ 49EECFB71050938200099FAB /* JSUint8ArrayConstructor.cpp in Sources */,
+ 49EECF7C10508D9C00099FAB /* JSUint8ArrayCustom.cpp in Sources */,
15C77094100D3CA8005BA267 /* JSValidityState.cpp in Sources */,
A7D20F62107F406900A80392 /* JSWebGLActiveInfo.cpp in Sources */,
- 49EECF1B105072F300099FAB /* JSArrayBufferView.cpp in Sources */,
- 49EECF00105070C400099FAB /* JSArrayBuffer.cpp in Sources */,
- 49EECFAB1050938200099FAB /* JSArrayBufferConstructor.cpp in Sources */,
- 492273A31083B3B100EE5C84 /* JSArrayBufferViewCustom.cpp in Sources */,
49C7B9931042D2D30009D447 /* JSWebGLBuffer.cpp in Sources */,
- 49C7B9951042D2D30009D447 /* JSInt8Array.cpp in Sources */,
- 49EECFAD1050938200099FAB /* JSInt8ArrayConstructor.cpp in Sources */,
- 49EECF7810508D9C00099FAB /* JSInt8ArrayCustom.cpp in Sources */,
6EE8A77210F803F3005A4A24 /* JSWebGLContextAttributes.cpp in Sources */,
- 49EECF02105070C400099FAB /* JSFloatArray.cpp in Sources */,
- 49EECFAF1050938200099FAB /* JSFloatArrayConstructor.cpp in Sources */,
- 49EECF7910508D9C00099FAB /* JSFloatArrayCustom.cpp in Sources */,
49C7B9971042D2D30009D447 /* JSWebGLFramebuffer.cpp in Sources */,
- 49EECF04105070C400099FAB /* JSInt32Array.cpp in Sources */,
- 49EECFB11050938200099FAB /* JSInt32ArrayConstructor.cpp in Sources */,
- 49EECF7A10508D9C00099FAB /* JSInt32ArrayCustom.cpp in Sources */,
49C7B99B1042D2D30009D447 /* JSWebGLProgram.cpp in Sources */,
49C7B99D1042D2D30009D447 /* JSWebGLRenderbuffer.cpp in Sources */,
49EED1461051969400099FAB /* JSWebGLRenderingContext.cpp in Sources */,
49EED14F1051971A00099FAB /* JSWebGLRenderingContextCustom.cpp in Sources */,
49C7B9A21042D2D30009D447 /* JSWebGLShader.cpp in Sources */,
- 49EECF06105070C400099FAB /* JSInt16Array.cpp in Sources */,
- 49EECFB51050938200099FAB /* JSInt16ArrayConstructor.cpp in Sources */,
- 49EECF7B10508D9C00099FAB /* JSInt16ArrayCustom.cpp in Sources */,
49C7B9A41042D2D30009D447 /* JSWebGLTexture.cpp in Sources */,
0C45342710CDBBFA00869157 /* JSWebGLUniformLocation.cpp in Sources */,
- 49EECF08105070C400099FAB /* JSUint8Array.cpp in Sources */,
- 49EECFB71050938200099FAB /* JSUint8ArrayConstructor.cpp in Sources */,
- 49EECF7C10508D9C00099FAB /* JSUint8ArrayCustom.cpp in Sources */,
- 49EECF0A105070C400099FAB /* JSUint32Array.cpp in Sources */,
- 49EECFB91050938200099FAB /* JSUint32ArrayConstructor.cpp in Sources */,
- 49EECF7D10508D9C00099FAB /* JSUint32ArrayCustom.cpp in Sources */,
- 49EECF0C105070C400099FAB /* JSUint16Array.cpp in Sources */,
- 49EECFBB1050938200099FAB /* JSUint16ArrayConstructor.cpp in Sources */,
- 49EECF7E10508D9C00099FAB /* JSUint16ArrayCustom.cpp in Sources */,
31C0FF3D0E4CEFAC007D6FE5 /* JSWebKitAnimationEvent.cpp in Sources */,
316FE0710E6CCBEE00BF6088 /* JSWebKitCSSKeyframeRule.cpp in Sources */,
316FE0730E6CCBEE00BF6088 /* JSWebKitCSSKeyframesRule.cpp in Sources */,
@@ -20890,6 +21027,7 @@
85031B470A44EFC700F992E0 /* MouseRelatedEvent.cpp in Sources */,
93309DFB099E64920056E581 /* MoveSelectionCommand.cpp in Sources */,
85031B490A44EFC700F992E0 /* MutationEvent.cpp in Sources */,
+ BCF34A3711A231CD00C71804 /* NamedNodeMap.cpp in Sources */,
A81872240977D3C0005826D9 /* NameNodeList.cpp in Sources */,
E10B9B6D0B747599003ED890 /* NativeXPathNSResolver.cpp in Sources */,
93CCF0600AF6CA7600018E89 /* NavigationAction.cpp in Sources */,
@@ -21016,6 +21154,7 @@
FA7EFB051120D25400CF79C7 /* RenderMathMLUnderOver.cpp in Sources */,
E4C279580CF9741900E97B98 /* RenderMedia.cpp in Sources */,
ABDDFE790A5C6E7000A3E11D /* RenderMenuList.cpp in Sources */,
+ A454424E119B3687009BE912 /* RenderMeter.cpp in Sources */,
BCEA487F097D93020094C9E4 /* RenderObject.cpp in Sources */,
BC60EFB70F33A0E700812A93 /* RenderObjectChildList.cpp in Sources */,
A871DED00A1530C700B12A68 /* RenderPart.cpp in Sources */,
@@ -21114,6 +21253,7 @@
411046420FA222A600BA436A /* ScriptEventListener.cpp in Sources */,
E11C9DB00EB3699500E409DB /* ScriptExecutionContext.cpp in Sources */,
41002CCE0F66EDEF009E660D /* ScriptFunctionCall.cpp in Sources */,
+ 4FD8D0F2119C718B002FA825 /* ScriptGCEvent.cpp in Sources */,
41F066E50F64BCF600A07EAC /* ScriptObject.cpp in Sources */,
9F72305011184B4100AD0126 /* ScriptProfiler.cpp in Sources */,
4127D5370F8AAB1D00E424F5 /* ScriptState.cpp in Sources */,
@@ -21150,6 +21290,7 @@
163E8B13118B3ADD00ED9231 /* SimpleFontDataATSUI.mm in Sources */,
163E88F7118A39D200ED9231 /* SimpleFontDataCoreText.cpp in Sources */,
B2AFFC7F0D00A5C10030074D /* SimpleFontDataMac.mm in Sources */,
+ 51327D6111A33A2B004F9D65 /* SinkDocument.cpp in Sources */,
49E911CC0EF86D47009D0CAF /* SkewTransformOperation.cpp in Sources */,
4B6FA6F50C39E48C00087011 /* SmartReplace.cpp in Sources */,
4B6FA6F70C39E4A100087011 /* SmartReplaceCF.cpp in Sources */,
@@ -21220,6 +21361,7 @@
BC5EB6990E81DA6300B25965 /* StyleVisualData.cpp in Sources */,
93E227E40AF589AD00D48324 /* SubresourceLoader.cpp in Sources */,
93B2D8180F9920EE006AE6B2 /* SuddenTermination.mm in Sources */,
+ 62C1217C11AB9E77003C462C /* SuspendableTimer.cpp in Sources */,
B22279730D00BF220071B782 /* SVGAElement.cpp in Sources */,
65653F2D0D9727D200CA9723 /* SVGAltGlyphElement.cpp in Sources */,
B22279760D00BF220071B782 /* SVGAngle.cpp in Sources */,
@@ -21270,6 +21412,7 @@
B25599840D00D8BA00BB825C /* SVGFEImage.cpp in Sources */,
B22279EE0D00BF220071B782 /* SVGFEImageElement.cpp in Sources */,
B22279F10D00BF220071B782 /* SVGFELightElement.cpp in Sources */,
+ E440A2D51191A50B000820B0 /* SVGFELighting.cpp in Sources */,
B25599860D00D8BA00BB825C /* SVGFEMerge.cpp in Sources */,
B22279F30D00BF220071B782 /* SVGFEMergeElement.cpp in Sources */,
B22279F60D00BF220071B782 /* SVGFEMergeNodeElement.cpp in Sources */,
@@ -21367,6 +21510,7 @@
B2227AC40D00BF220071B782 /* SVGTests.cpp in Sources */,
B2227AC70D00BF220071B782 /* SVGTextContentElement.cpp in Sources */,
B2227ACA0D00BF220071B782 /* SVGTextElement.cpp in Sources */,
+ 083F529911957FBE00653EBE /* SVGTextLayoutUtilities.cpp in Sources */,
B2227ACD0D00BF220071B782 /* SVGTextPathElement.cpp in Sources */,
B2227AD00D00BF220071B782 /* SVGTextPositioningElement.cpp in Sources */,
B2227AD30D00BF220071B782 /* SVGTitleElement.cpp in Sources */,
@@ -21425,6 +21569,9 @@
93309E19099E64920056E581 /* TypingCommand.cpp in Sources */,
85031B4D0A44EFC700F992E0 /* UIEvent.cpp in Sources */,
93354A3C0B24F8C9003F6DEA /* UIEventWithKeyState.cpp in Sources */,
+ 49EECDF410503C2400099FAB /* Uint16Array.cpp in Sources */,
+ 49EECDF110503C2400099FAB /* Uint32Array.cpp in Sources */,
+ 49EECDEE10503C2400099FAB /* Uint8Array.cpp in Sources */,
B2C3DA4C0D006C1D00EF6F26 /* UnicodeRange.cpp in Sources */,
D086FE9909D53AAB005BC74D /* UnlinkCommand.cpp in Sources */,
65DF326109D1E199000BE325 /* UserAgentStyleSheetsData.cpp in Sources */,
@@ -21445,25 +21592,16 @@
93F19A5F08245E59001E9ABC /* WebCoreViewFactory.m in Sources */,
93F19B0808245E59001E9ABC /* WebDashboardRegion.m in Sources */,
BC6DADFA0A19602B00E5CD14 /* WebFontCache.mm in Sources */,
- 49EECDDF10503C2400099FAB /* ArrayBufferView.cpp in Sources */,
- 49EECDE210503C2400099FAB /* ArrayBuffer.cpp in Sources */,
49C7B9C81042D32F0009D447 /* WebGLBuffer.cpp in Sources */,
- 49C7B9CB1042D32F0009D447 /* Int8Array.cpp in Sources */,
6E4E91AE10F7FB3100A2779C /* WebGLContextAttributes.cpp in Sources */,
- 49EECDE510503C2400099FAB /* FloatArray.cpp in Sources */,
49C7B9CE1042D32F0009D447 /* WebGLFramebuffer.cpp in Sources */,
6E47E66010B7944B00B186C8 /* WebGLGetInfo.cpp in Sources */,
- 49EECDE810503C2400099FAB /* Int32Array.cpp in Sources */,
49C7B9D61042D32F0009D447 /* WebGLProgram.cpp in Sources */,
49C7B9D91042D32F0009D447 /* WebGLRenderbuffer.cpp in Sources */,
49C7B9DF1042D32F0009D447 /* WebGLRenderingContext.cpp in Sources */,
49C7B9E21042D32F0009D447 /* WebGLShader.cpp in Sources */,
- 49EECDEB10503C2400099FAB /* Int16Array.cpp in Sources */,
49C7B9E51042D32F0009D447 /* WebGLTexture.cpp in Sources */,
0C3F1F5A10C8871200D72CE1 /* WebGLUniformLocation.cpp in Sources */,
- 49EECDEE10503C2400099FAB /* Uint8Array.cpp in Sources */,
- 49EECDF110503C2400099FAB /* Uint32Array.cpp in Sources */,
- 49EECDF410503C2400099FAB /* Uint16Array.cpp in Sources */,
31C0FF210E4CEB6E007D6FE5 /* WebKitAnimationEvent.cpp in Sources */,
31288E720E3005D6003619AE /* WebKitCSSKeyframeRule.cpp in Sources */,
31288E740E3005D6003619AE /* WebKitCSSKeyframesRule.cpp in Sources */,
@@ -21562,61 +21700,21 @@
85217E020A5ECD4700DB8D00 /* XSLImportRule.cpp in Sources */,
93F19B0308245E59001E9ABC /* XSLStyleSheetLibxslt.cpp in Sources */,
E1F1E82F0C3C2BB9006DB391 /* XSLTExtensions.cpp in Sources */,
- 82B6589A1189E47600E052A1 /* InspectorCSSStore.cpp in Sources */,
93F19B0408245E59001E9ABC /* XSLTProcessor.cpp in Sources */,
93F19B0508245E59001E9ABC /* XSLTProcessorLibxslt.cpp in Sources */,
E1BE512D0CF6C512002EA959 /* XSLTUnicodeSort.cpp in Sources */,
97DD4D860FDF4D6E00ECF9A4 /* XSSAuditor.cpp in Sources */,
- B59DD69A119029E5007E9684 /* JSDatabaseCallback.cpp in Sources */,
- B59DD69E11902A42007E9684 /* JSSQLTransactionCallback.cpp in Sources */,
- B59DD6A211902A52007E9684 /* JSSQLTransactionErrorCallback.cpp in Sources */,
- B59DD6A611902A62007E9684 /* JSSQLStatementCallback.cpp in Sources */,
- B59DD6AA11902A71007E9684 /* JSSQLStatementErrorCallback.cpp in Sources */,
- 8FAC774D119872CB0015AE94 /* JSMainThreadExecState.cpp in Sources */,
- B55D5AA5119131FC00BCC315 /* JSSQLTransactionSyncCallback.cpp in Sources */,
- B55D5AA81191325000BCC315 /* JSDatabaseSyncCustom.cpp in Sources */,
- B55D5AA91191325000BCC315 /* JSSQLTransactionSyncCustom.cpp in Sources */,
- B58CEB6A11913607002A6790 /* JSDatabaseSync.cpp in Sources */,
- B58CEB6E1191361C002A6790 /* JSSQLTransactionSync.cpp in Sources */,
- 083F529911957FBE00653EBE /* SVGTextLayoutUtilities.cpp in Sources */,
- C5198F4D1192ECFD002B74A6 /* IDBDatabase.cpp in Sources */,
- C5198F531192ECFD002B74A6 /* IDBDatabaseRequest.cpp in Sources */,
- C5198F561192ECFD002B74A6 /* IDBRequest.cpp in Sources */,
- C5198F591192ECFD002B74A6 /* IndexedDatabase.cpp in Sources */,
- C5198F5B1192ECFD002B74A6 /* IndexedDatabaseImpl.cpp in Sources */,
- C5198F5D1192ECFD002B74A6 /* IndexedDatabaseRequest.cpp in Sources */,
- C5F4F406119306AC00FDFADD /* JSIDBDatabaseError.cpp in Sources */,
- C5F4F408119306AC00FDFADD /* JSIDBDatabaseException.cpp in Sources */,
- C5F4F40A119306AC00FDFADD /* JSIDBDatabaseRequest.cpp in Sources */,
- C5F4F40C119306AC00FDFADD /* JSIDBRequest.cpp in Sources */,
- C5F4F410119306C000FDFADD /* JSIndexedDatabaseRequest.cpp in Sources */,
- 2E94F43B119207DA00B7F75D /* JSFileReader.cpp in Sources */,
- 2E94F4501192096400B7F75D /* FileReader.cpp in Sources */,
- E440A2D51191A50B000820B0 /* SVGFELighting.cpp in Sources */,
- A454424A119B3661009BE912 /* HTMLMeterElement.cpp in Sources */,
- A454424E119B3687009BE912 /* RenderMeter.cpp in Sources */,
- B5B5DC69119BB3D5002A8790 /* AbstractDatabase.cpp in Sources */,
- 4FD8D0F2119C718B002FA825 /* ScriptGCEvent.cpp in Sources */,
- C56C914E119D849800DE4CD9 /* JSIDBAnyCustom.cpp in Sources */,
- C56C9152119D84CB00DE4CD9 /* IDBAny.cpp in Sources */,
- C56C915F119D84E600DE4CD9 /* IDBErrorEvent.cpp in Sources */,
- C56C9162119D84E600DE4CD9 /* IDBEvent.cpp in Sources */,
- C56C9168119D84FF00DE4CD9 /* IDBSuccessEvent.cpp in Sources */,
- C56C919A119D915300DE4CD9 /* JSIDBAny.cpp in Sources */,
- C56C91A0119D918100DE4CD9 /* JSIDBErrorEvent.cpp in Sources */,
- C56C91A2119D918100DE4CD9 /* JSIDBEvent.cpp in Sources */,
- C56C91A6119D918700DE4CD9 /* JSIDBSuccessEvent.cpp in Sources */,
- BCF34A3711A231CD00C71804 /* NamedNodeMap.cpp in Sources */,
- 97E8B35611A23CE200169409 /* HTML5Lexer.cpp in Sources */,
- A871038A11A2947000DBD50E /* HTML5Tokenizer.cpp in Sources */,
- 51327D6111A33A2B004F9D65 /* SinkDocument.cpp in Sources */,
- 59A85EA2119D68D900DEF1EF /* DeviceOrientationEvent.cpp in Sources */,
- 59A86006119DAF7F00DEF1EF /* JSDeviceOrientationEvent.cpp in Sources */,
- 59A8F1D411A69508001AC34A /* DeviceOrientation.cpp in Sources */,
- A879C62511A9D1F70059237A /* HTML5TreeBuilder.cpp in Sources */,
- B734B181119B9911006587BD /* FontTranscoder.cpp in Sources */,
- C5137CF211A58378004ADB99 /* JSDOMStringList.cpp in Sources */,
- C55610F111A704EB00B82D27 /* DOMStringList.cpp in Sources */,
+ A456FA2611AD4A830020B420 /* LabelsNodeList.cpp in Sources */,
+ B6693EEB11AD63E6003F2770 /* IDBObjectStore.cpp in Sources */,
+ B6693EED11AD63E6003F2770 /* IDBObjectStoreRequest.cpp in Sources */,
+ B6693EF211AD6486003F2770 /* JSIDBObjectStoreRequest.cpp in Sources */,
+ B627FB2D11AD743500E97B72 /* IDBDatabaseImpl.cpp in Sources */,
+ A83B3AF011ADEFF500458809 /* HTML5ScriptRunner.cpp in Sources */,
+ 521D46F611AEC98100514613 /* KillRingMac.mm in Sources */,
+ C51DA9A611AEF2C1009799C5 /* IDBIndexImpl.cpp in Sources */,
+ C51DA9A811AEF2C1009799C5 /* IDBIndexRequest.cpp in Sources */,
+ C5BBC9D011AEF838007C2BFE /* JSIDBIndexRequest.cpp in Sources */,
+ 4F3289B511A42AAB005ABE7E /* InspectorValues.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
diff --git a/WebCore/accessibility/AccessibilityRenderObject.cpp b/WebCore/accessibility/AccessibilityRenderObject.cpp
index 6077aae..48829a2 100644
--- a/WebCore/accessibility/AccessibilityRenderObject.cpp
+++ b/WebCore/accessibility/AccessibilityRenderObject.cpp
@@ -155,7 +155,7 @@ static inline RenderObject* firstChildConsideringContinuation(RenderObject* rend
static inline RenderObject* lastChildConsideringContinuation(RenderObject* renderer)
{
RenderObject* lastChild = renderer->lastChild();
- RenderObject* prev = renderer;
+ RenderObject* prev;
RenderObject* cur = renderer;
if (!cur->isRenderInline() && !cur->isRenderBlock())
@@ -2418,7 +2418,7 @@ VisiblePositionRange AccessibilityRenderObject::visiblePositionRangeForLine(unsi
// will be a caret at visiblePos.
SelectionController selection;
selection.setSelection(VisibleSelection(visiblePos));
- selection.modify(SelectionController::EXTEND, SelectionController::RIGHT, LineBoundary);
+ selection.modify(SelectionController::AlterationExtend, SelectionController::DirectionRight, LineBoundary);
return VisiblePositionRange(selection.selection().visibleStart(), selection.selection().visibleEnd());
}
@@ -2630,8 +2630,8 @@ PlainTextRange AccessibilityRenderObject::doAXRangeForLine(unsigned lineNumber)
// will be a caret at visiblePos.
SelectionController selection;
selection.setSelection(VisibleSelection(visiblePos));
- selection.modify(SelectionController::EXTEND, SelectionController::LEFT, LineBoundary);
- selection.modify(SelectionController::EXTEND, SelectionController::RIGHT, LineBoundary);
+ selection.modify(SelectionController::AlterationExtend, SelectionController::DirectionLeft, LineBoundary);
+ selection.modify(SelectionController::AlterationExtend, SelectionController::DirectionRight, LineBoundary);
// calculate the indices for the selection start and end
VisiblePosition startPosition = selection.selection().visibleStart();
diff --git a/WebCore/accessibility/mac/AccessibilityObjectWrapper.mm b/WebCore/accessibility/mac/AccessibilityObjectWrapper.mm
index 4734d4e..8e81935 100644
--- a/WebCore/accessibility/mac/AccessibilityObjectWrapper.mm
+++ b/WebCore/accessibility/mac/AccessibilityObjectWrapper.mm
@@ -220,6 +220,8 @@ static WebCoreTextMarker* textMarkerForVisiblePosition(const VisiblePosition& vi
static VisiblePosition visiblePositionForTextMarker(WebCoreTextMarker* textMarker)
{
+ if (!textMarker)
+ return VisiblePosition();
TextMarkerData textMarkerData;
if (![[WebCoreViewFactory sharedFactory] getBytes:&textMarkerData fromTextMarker:textMarker length:sizeof(textMarkerData)])
return VisiblePosition();
@@ -978,6 +980,8 @@ static WebCoreTextMarkerRange* textMarkerRangeFromVisiblePositions(VisiblePositi
- (VisiblePositionRange)visiblePositionRangeForTextMarkerRange:(WebCoreTextMarkerRange*) textMarkerRange
{
+ if (!textMarkerRange)
+ return VisiblePositionRange();
return VisiblePositionRange(visiblePositionForStartOfTextMarkerRange(textMarkerRange), visiblePositionForEndOfTextMarkerRange(textMarkerRange));
}
@@ -2335,44 +2339,39 @@ static RenderObject* rendererForView(NSView* view)
return nil;
}
- // Convert values to WebCore types
- // FIXME: prepping all of these values as WebCore types is unnecessary in many
- // cases. Re-organization of this function or performing the conversion on a
- // need basis are possible improvements.
- VisiblePosition visiblePos;
- if (textMarker)
- visiblePos = visiblePositionForTextMarker(textMarker);
- int intNumber = [number intValue];
- VisiblePositionRange visiblePosRange;
- if (textMarkerRange)
- visiblePosRange = [self visiblePositionRangeForTextMarkerRange:textMarkerRange];
- IntPoint webCorePoint = IntPoint(point);
- PlainTextRange plainTextRange = PlainTextRange(range.location, range.length);
-
// dispatch
- if ([attribute isEqualToString: @"AXUIElementForTextMarker"])
+ if ([attribute isEqualToString: @"AXUIElementForTextMarker"]) {
+ VisiblePosition visiblePos = visiblePositionForTextMarker(textMarker);
return m_object->accessibilityObjectForPosition(visiblePos)->wrapper();
+ }
if ([attribute isEqualToString: @"AXTextMarkerRangeForUIElement"]) {
VisiblePositionRange vpRange = uiElement.get()->visiblePositionRange();
return (id)textMarkerRangeFromVisiblePositions(vpRange.start, vpRange.end);
}
- if ([attribute isEqualToString: @"AXLineForTextMarker"])
+ if ([attribute isEqualToString: @"AXLineForTextMarker"]) {
+ VisiblePosition visiblePos = visiblePositionForTextMarker(textMarker);
return [NSNumber numberWithUnsignedInt:m_object->lineForPosition(visiblePos)];
+ }
if ([attribute isEqualToString: @"AXTextMarkerRangeForLine"]) {
- VisiblePositionRange vpRange = m_object->visiblePositionRangeForLine(intNumber);
+ VisiblePositionRange vpRange = m_object->visiblePositionRangeForLine([number intValue]);
return (id)textMarkerRangeFromVisiblePositions(vpRange.start, vpRange.end);
}
- if ([attribute isEqualToString: @"AXStringForTextMarkerRange"])
+ if ([attribute isEqualToString: @"AXStringForTextMarkerRange"]) {
+ VisiblePositionRange visiblePosRange = [self visiblePositionRangeForTextMarkerRange:textMarkerRange];
return m_object->stringForVisiblePositionRange(visiblePosRange);
+ }
- if ([attribute isEqualToString: @"AXTextMarkerForPosition"])
+ if ([attribute isEqualToString: @"AXTextMarkerForPosition"]) {
+ IntPoint webCorePoint = IntPoint(point);
return pointSet ? textMarkerForVisiblePosition(m_object->visiblePositionForPoint(webCorePoint)) : nil;
+ }
if ([attribute isEqualToString: @"AXBoundsForTextMarkerRange"]) {
+ VisiblePositionRange visiblePosRange = [self visiblePositionRangeForTextMarkerRange:textMarkerRange];
NSRect rect = m_object->boundsForVisiblePositionRange(visiblePosRange);
return [NSValue valueWithRect:rect];
}
@@ -2413,72 +2412,100 @@ static RenderObject* rendererForView(NSView* view)
return (id)textMarkerRangeFromVisiblePositions(vpRange.start, vpRange.end);
}
- if ([attribute isEqualToString: @"AXNextTextMarkerForTextMarker"])
+ if ([attribute isEqualToString: @"AXNextTextMarkerForTextMarker"]) {
+ VisiblePosition visiblePos = visiblePositionForTextMarker(textMarker);
return textMarkerForVisiblePosition(m_object->nextVisiblePosition(visiblePos));
+ }
- if ([attribute isEqualToString: @"AXPreviousTextMarkerForTextMarker"])
+ if ([attribute isEqualToString: @"AXPreviousTextMarkerForTextMarker"]) {
+ VisiblePosition visiblePos = visiblePositionForTextMarker(textMarker);
return textMarkerForVisiblePosition(m_object->previousVisiblePosition(visiblePos));
+ }
if ([attribute isEqualToString: @"AXLeftWordTextMarkerRangeForTextMarker"]) {
+ VisiblePosition visiblePos = visiblePositionForTextMarker(textMarker);
VisiblePositionRange vpRange = m_object->positionOfLeftWord(visiblePos);
return (id)textMarkerRangeFromVisiblePositions(vpRange.start, vpRange.end);
}
if ([attribute isEqualToString: @"AXRightWordTextMarkerRangeForTextMarker"]) {
+ VisiblePosition visiblePos = visiblePositionForTextMarker(textMarker);
VisiblePositionRange vpRange = m_object->positionOfRightWord(visiblePos);
return (id)textMarkerRangeFromVisiblePositions(vpRange.start, vpRange.end);
}
if ([attribute isEqualToString: @"AXLeftLineTextMarkerRangeForTextMarker"]) {
+ VisiblePosition visiblePos = visiblePositionForTextMarker(textMarker);
VisiblePositionRange vpRange = m_object->leftLineVisiblePositionRange(visiblePos);
return (id)textMarkerRangeFromVisiblePositions(vpRange.start, vpRange.end);
}
if ([attribute isEqualToString: @"AXRightLineTextMarkerRangeForTextMarker"]) {
+ VisiblePosition visiblePos = visiblePositionForTextMarker(textMarker);
VisiblePositionRange vpRange = m_object->rightLineVisiblePositionRange(visiblePos);
return (id)textMarkerRangeFromVisiblePositions(vpRange.start, vpRange.end);
}
if ([attribute isEqualToString: @"AXSentenceTextMarkerRangeForTextMarker"]) {
+ VisiblePosition visiblePos = visiblePositionForTextMarker(textMarker);
VisiblePositionRange vpRange = m_object->sentenceForPosition(visiblePos);
return (id)textMarkerRangeFromVisiblePositions(vpRange.start, vpRange.end);
}
if ([attribute isEqualToString: @"AXParagraphTextMarkerRangeForTextMarker"]) {
+ VisiblePosition visiblePos = visiblePositionForTextMarker(textMarker);
VisiblePositionRange vpRange = m_object->paragraphForPosition(visiblePos);
return (id)textMarkerRangeFromVisiblePositions(vpRange.start, vpRange.end);
}
- if ([attribute isEqualToString: @"AXNextWordEndTextMarkerForTextMarker"])
+ if ([attribute isEqualToString: @"AXNextWordEndTextMarkerForTextMarker"]) {
+ VisiblePosition visiblePos = visiblePositionForTextMarker(textMarker);
return textMarkerForVisiblePosition(m_object->nextWordEnd(visiblePos));
-
- if ([attribute isEqualToString: @"AXPreviousWordStartTextMarkerForTextMarker"])
+ }
+
+ if ([attribute isEqualToString: @"AXPreviousWordStartTextMarkerForTextMarker"]) {
+ VisiblePosition visiblePos = visiblePositionForTextMarker(textMarker);
return textMarkerForVisiblePosition(m_object->previousWordStart(visiblePos));
+ }
- if ([attribute isEqualToString: @"AXNextLineEndTextMarkerForTextMarker"])
+ if ([attribute isEqualToString: @"AXNextLineEndTextMarkerForTextMarker"]) {
+ VisiblePosition visiblePos = visiblePositionForTextMarker(textMarker);
return textMarkerForVisiblePosition(m_object->nextLineEndPosition(visiblePos));
+ }
- if ([attribute isEqualToString: @"AXPreviousLineStartTextMarkerForTextMarker"])
+ if ([attribute isEqualToString: @"AXPreviousLineStartTextMarkerForTextMarker"]) {
+ VisiblePosition visiblePos = visiblePositionForTextMarker(textMarker);
return textMarkerForVisiblePosition(m_object->previousLineStartPosition(visiblePos));
+ }
- if ([attribute isEqualToString: @"AXNextSentenceEndTextMarkerForTextMarker"])
+ if ([attribute isEqualToString: @"AXNextSentenceEndTextMarkerForTextMarker"]) {
+ VisiblePosition visiblePos = visiblePositionForTextMarker(textMarker);
return textMarkerForVisiblePosition(m_object->nextSentenceEndPosition(visiblePos));
+ }
- if ([attribute isEqualToString: @"AXPreviousSentenceStartTextMarkerForTextMarker"])
+ if ([attribute isEqualToString: @"AXPreviousSentenceStartTextMarkerForTextMarker"]) {
+ VisiblePosition visiblePos = visiblePositionForTextMarker(textMarker);
return textMarkerForVisiblePosition(m_object->previousSentenceStartPosition(visiblePos));
+ }
- if ([attribute isEqualToString: @"AXNextParagraphEndTextMarkerForTextMarker"])
+ if ([attribute isEqualToString: @"AXNextParagraphEndTextMarkerForTextMarker"]) {
+ VisiblePosition visiblePos = visiblePositionForTextMarker(textMarker);
return textMarkerForVisiblePosition(m_object->nextParagraphEndPosition(visiblePos));
+ }
- if ([attribute isEqualToString: @"AXPreviousParagraphStartTextMarkerForTextMarker"])
+ if ([attribute isEqualToString: @"AXPreviousParagraphStartTextMarkerForTextMarker"]) {
+ VisiblePosition visiblePos = visiblePositionForTextMarker(textMarker);
return textMarkerForVisiblePosition(m_object->previousParagraphStartPosition(visiblePos));
+ }
if ([attribute isEqualToString: @"AXStyleTextMarkerRangeForTextMarker"]) {
+ VisiblePosition visiblePos = visiblePositionForTextMarker(textMarker);
VisiblePositionRange vpRange = m_object->styleRangeForPosition(visiblePos);
return (id)textMarkerRangeFromVisiblePositions(vpRange.start, vpRange.end);
}
if ([attribute isEqualToString: @"AXLengthForTextMarkerRange"]) {
+ VisiblePositionRange visiblePosRange = [self visiblePositionRangeForTextMarkerRange:textMarkerRange];
int length = m_object->lengthForVisiblePositionRange(visiblePosRange);
if (length < 0)
return nil;
@@ -2499,35 +2526,39 @@ static RenderObject* rendererForView(NSView* view)
if (m_object->isTextControl()) {
if ([attribute isEqualToString: (NSString *)kAXLineForIndexParameterizedAttribute]) {
- int lineNumber = m_object->doAXLineForIndex(intNumber);
+ int lineNumber = m_object->doAXLineForIndex([number intValue]);
if (lineNumber < 0)
return nil;
return [NSNumber numberWithUnsignedInt:lineNumber];
}
if ([attribute isEqualToString: (NSString *)kAXRangeForLineParameterizedAttribute]) {
- PlainTextRange textRange = m_object->doAXRangeForLine(intNumber);
+ PlainTextRange textRange = m_object->doAXRangeForLine([number intValue]);
return [NSValue valueWithRange: NSMakeRange(textRange.start, textRange.length)];
}
- if ([attribute isEqualToString: (NSString*)kAXStringForRangeParameterizedAttribute])
+ if ([attribute isEqualToString: (NSString*)kAXStringForRangeParameterizedAttribute]) {
+ PlainTextRange plainTextRange = PlainTextRange(range.location, range.length);
return rangeSet ? (id)(m_object->doAXStringForRange(plainTextRange)) : nil;
+ }
if ([attribute isEqualToString: (NSString*)kAXRangeForPositionParameterizedAttribute]) {
if (!pointSet)
return nil;
+ IntPoint webCorePoint = IntPoint(point);
PlainTextRange textRange = m_object->doAXRangeForPosition(webCorePoint);
return [NSValue valueWithRange: NSMakeRange(textRange.start, textRange.length)];
}
if ([attribute isEqualToString: (NSString*)kAXRangeForIndexParameterizedAttribute]) {
- PlainTextRange textRange = m_object->doAXRangeForIndex(intNumber);
+ PlainTextRange textRange = m_object->doAXRangeForIndex([number intValue]);
return [NSValue valueWithRange: NSMakeRange(textRange.start, textRange.length)];
}
if ([attribute isEqualToString: (NSString*)kAXBoundsForRangeParameterizedAttribute]) {
if (!rangeSet)
return nil;
+ PlainTextRange plainTextRange = PlainTextRange(range.location, range.length);
NSRect rect = m_object->doAXBoundsForRange(plainTextRange);
return [NSValue valueWithRect:rect];
}
@@ -2539,7 +2570,7 @@ static RenderObject* rendererForView(NSView* view)
return rangeSet ? [self doAXAttributedStringForRange:range] : nil;
if ([attribute isEqualToString: (NSString*)kAXStyleRangeForIndexParameterizedAttribute]) {
- PlainTextRange textRange = m_object->doAXStyleRangeForIndex(intNumber);
+ PlainTextRange textRange = m_object->doAXStyleRangeForIndex([number intValue]);
return [NSValue valueWithRange: NSMakeRange(textRange.start, textRange.length)];
}
}
diff --git a/WebCore/benchmarks/parser/html-parser.html b/WebCore/benchmarks/parser/html-parser.html
index 24810da..56a40c3 100644
--- a/WebCore/benchmarks/parser/html-parser.html
+++ b/WebCore/benchmarks/parser/html-parser.html
@@ -21,8 +21,9 @@ function parse(html) {
iframe.src = "about:blank";
iframe.style.display = "none";
document.body.appendChild(iframe)
- var detachedElement = iframe.contentDocument.createElement("div");
- detachedElement.innerHTML = html;
+ iframe.contentDocument.open();
+ iframe.contentDocument.write(html);
+ iframe.contentDocument.close();
document.body.removeChild(iframe)
}
diff --git a/WebCore/bindings/gobject/GObjectEventListener.cpp b/WebCore/bindings/gobject/GObjectEventListener.cpp
new file mode 100644
index 0000000..1a4f680
--- /dev/null
+++ b/WebCore/bindings/gobject/GObjectEventListener.cpp
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2010 Igalia S.L.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include "config.h"
+#include "GObjectEventListener.h"
+
+#include "Event.h"
+#include "EventListener.h"
+#include "webkit/WebKitDOMEventPrivate.h"
+#include <wtf/HashMap.h>
+#include <wtf/text/CString.h>
+
+namespace WebCore {
+
+void GObjectEventListener::handleEvent(ScriptExecutionContext*, Event* event)
+{
+ gboolean handled = FALSE;
+ WebKitDOMEvent* gobjectEvent = WebKit::wrapEvent(event);
+ g_signal_emit_by_name(m_object, m_signalName.utf8().data(), gobjectEvent, &handled);
+}
+
+bool GObjectEventListener::operator==(const EventListener& listener)
+{
+ if (const GObjectEventListener* gobjectEventListener = GObjectEventListener::cast(&listener))
+ return m_signalName == gobjectEventListener->m_signalName && m_object == gobjectEventListener->m_object;
+
+ return false;
+}
+
+}
diff --git a/WebCore/bindings/gobject/GObjectEventListener.h b/WebCore/bindings/gobject/GObjectEventListener.h
new file mode 100644
index 0000000..c65b91e
--- /dev/null
+++ b/WebCore/bindings/gobject/GObjectEventListener.h
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2010 Igalia S.L.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef GObjectEventListener_h
+#define GObjectEventListener_h
+
+#include "EventListener.h"
+
+#include <glib-object.h>
+#include <glib.h>
+#include <wtf/PassRefPtr.h>
+
+namespace WebCore {
+class GObjectEventListener : public EventListener {
+public:
+ static PassRefPtr<GObjectEventListener> create(GObject* object, const char* signalName) { return adoptRef(new GObjectEventListener(object, signalName)); }
+ static const GObjectEventListener* cast(const EventListener* listener)
+ {
+ return listener->type() == GObjectEventListenerType
+ ? static_cast<const GObjectEventListener*>(listener)
+ : 0;
+ }
+
+ virtual bool operator==(const EventListener& other);
+
+private:
+ GObjectEventListener(GObject* object, const char* signalName)
+ : EventListener(GObjectEventListenerType)
+ , m_object(object)
+ , m_signalName(signalName)
+ {
+ }
+
+ virtual void handleEvent(ScriptExecutionContext*, Event*);
+
+ GObject* m_object;
+ String m_signalName;
+};
+} // namespace WebCore
+
+#endif
diff --git a/WebCore/bindings/gobject/WebKitDOMBinding.cpp b/WebCore/bindings/gobject/WebKitDOMBinding.cpp
index b8fbdda..aa4610b 100644
--- a/WebCore/bindings/gobject/WebKitDOMBinding.cpp
+++ b/WebCore/bindings/gobject/WebKitDOMBinding.cpp
@@ -27,6 +27,7 @@
#include "Event.h"
#include "EventException.h"
#include "HTMLNames.h"
+#include "WebKitDOMDOMWindowPrivate.h"
#include "WebKitDOMElementPrivate.h"
#include "WebKitDOMNode.h"
#include "WebKitDOMNodePrivate.h"
@@ -118,4 +119,31 @@ gpointer kit(Element* element)
return DOMObjectCache::put(element, wrappedElement);
}
+static gpointer wrapEventTarget(EventTarget* target)
+{
+ ASSERT(target);
+
+ gpointer wrappedTarget = 0;
+
+ if (target->toNode()) {
+ Node* node = target->toNode();
+ wrappedTarget = wrapNode(node);
+ } else if (target->toDOMWindow()) {
+ DOMWindow* window = target->toDOMWindow();
+ wrappedTarget = wrapDOMWindow(window);
+ }
+
+ return DOMObjectCache::put(target, wrappedTarget);
+}
+
+gpointer kit(WebCore::EventTarget* obj)
+{
+ g_return_val_if_fail(obj, 0);
+
+ if (gpointer ret = DOMObjectCache::get(obj))
+ return ret;
+
+ return DOMObjectCache::put(obj, WebKit::wrapEventTarget(obj));
+}
+
} // namespace WebKit
diff --git a/WebCore/bindings/gobject/WebKitDOMBinding.h b/WebCore/bindings/gobject/WebKitDOMBinding.h
index d27bdda..236c450 100644
--- a/WebCore/bindings/gobject/WebKitDOMBinding.h
+++ b/WebCore/bindings/gobject/WebKitDOMBinding.h
@@ -29,11 +29,13 @@
namespace WebCore {
class Node;
class Element;
+class EventTarget;
} // namespace WebCore
namespace WebKit {
gpointer kit(WebCore::Node* node);
gpointer kit(WebCore::Element* element);
+gpointer kit(WebCore::EventTarget* target);
class DOMObjectCache {
public:
diff --git a/WebCore/bindings/gobject/WebKitDOMEventTarget.cpp b/WebCore/bindings/gobject/WebKitDOMEventTarget.cpp
new file mode 100644
index 0000000..2d2a31a
--- /dev/null
+++ b/WebCore/bindings/gobject/WebKitDOMEventTarget.cpp
@@ -0,0 +1,77 @@
+/*
+ * Copyright (C) 2010 Igalia S.L.
+ *
+ * This file is derived by hand from an automatically generated file.
+ * Keeping it up-to-date could potentially be done by adding
+ * a make_names.pl generator, or by writing a separate
+ * generater which takes JSHTMLElementWrapperFactory.h as input.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "WebKitDOMEventTarget.h"
+
+#include "WebKitDOMEvent.h"
+
+typedef WebKitDOMEventTargetIface WebKitDOMEventTargetInterface;
+#if GLIB_CHECK_VERSION(2, 24, 0)
+G_DEFINE_INTERFACE(WebKitDOMEventTarget, webkit_dom_event_target, G_TYPE_OBJECT)
+#else
+static void webkit_dom_event_target_default_init(WebKitDOMEventTargetIface*);
+
+GType webkit_dom_event_target_get_type(void)
+{
+ static volatile gsize typeIdVolatile = 0;
+
+ if (g_once_init_enter(&typeIdVolatile)) {
+ GType typeId = g_type_register_static_simple(G_TYPE_INTERFACE,
+ g_intern_static_string("WebKitDOMEventTarget"),
+ sizeof(WebKitDOMEventTargetInterface),
+ (GClassInitFunc)webkit_dom_event_target_default_init,
+ 0,
+ static_cast<GInstanceInitFunc>(0),
+ static_cast<GTypeFlags>(0));
+ g_type_interface_add_prerequisite(typeId, G_TYPE_OBJECT);
+ g_once_init_leave(&typeIdVolatile, typeId);
+ }
+
+ return typeIdVolatile;
+}
+#endif
+
+static void webkit_dom_event_target_default_init(WebKitDOMEventTargetIface*)
+{
+}
+
+void webkit_dom_event_target_dispatch_event(WebKitDOMEventTarget* target, WebKitDOMEvent* event, GError** error)
+{
+ WebKitDOMEventTargetIface* iface;
+
+ g_return_if_fail(WEBKIT_DOM_IS_EVENT_TARGET(target));
+ g_return_if_fail(WEBKIT_DOM_IS_EVENT(event));
+
+ iface = WEBKIT_DOM_EVENT_TARGET_GET_IFACE(target);
+
+ if (iface->dispatch_event)
+ iface->dispatch_event(target, event, error);
+}
diff --git a/WebCore/bindings/gobject/WebKitDOMEventTarget.h b/WebCore/bindings/gobject/WebKitDOMEventTarget.h
new file mode 100644
index 0000000..206abc7
--- /dev/null
+++ b/WebCore/bindings/gobject/WebKitDOMEventTarget.h
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2010 Igalia S.L.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef WebKitDOMEventTarget_h
+#define WebKitDOMEventTarget_h
+
+#include "webkit/webkitdomdefines.h"
+#include <glib-object.h>
+#include <webkit/webkitdefines.h>
+
+G_BEGIN_DECLS
+
+#define WEBKIT_TYPE_DOM_EVENT_TARGET (webkit_dom_event_target_get_type ())
+#define WEBKIT_DOM_EVENT_TARGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WEBKIT_TYPE_DOM_EVENT_TARGET, WebKitDOMEventTarget))
+#define WEBKIT_DOM_EVENT_TARGET_CLASS(obj) (G_TYPE_CHECK_CLASS_CAST ((obj), WEBKIT_TYPE_DOM_EVENT_TARGET, WebKitDOMEventTargetIface))
+#define WEBKIT_DOM_IS_EVENT_TARGET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WEBKIT_TYPE_DOM_EVENT_TARGET))
+#define WEBKIT_DOM_EVENT_TARGET_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), WEBKIT_TYPE_DOM_EVENT_TARGET, WebKitDOMEventTargetIface))
+
+typedef struct _WebKitDOMEventTargetIface WebKitDOMEventTargetIface;
+
+struct _WebKitDOMEventTargetIface {
+ GTypeInterface gIface;
+
+ /* virtual table */
+ void (* dispatch_event)(WebKitDOMEventTarget* target,
+ WebKitDOMEvent* event,
+ GError** error);
+};
+
+
+WEBKIT_API GType webkit_dom_event_target_get_type(void) G_GNUC_CONST;
+
+WEBKIT_API void webkit_dom_event_target_dispatch_event(WebKitDOMEventTarget *target,
+ WebKitDOMEvent *event,
+ GError **error);
+
+G_END_DECLS
+
+#endif /* WebKitDOMEventTarget_h */
diff --git a/WebCore/bindings/js/CachedScriptSourceProvider.h b/WebCore/bindings/js/CachedScriptSourceProvider.h
index 8e69b6b..809a488 100644
--- a/WebCore/bindings/js/CachedScriptSourceProvider.h
+++ b/WebCore/bindings/js/CachedScriptSourceProvider.h
@@ -29,6 +29,7 @@
#include "CachedResourceClient.h"
#include "CachedResourceHandle.h"
#include "CachedScript.h"
+#include "JSDOMBinding.h" // for stringToUString
#include "ScriptSourceProvider.h"
#include <parser/SourceCode.h>
diff --git a/WebCore/bindings/js/JSArrayBufferViewCustom.cpp b/WebCore/bindings/js/JSArrayBufferViewCustom.cpp
index 271d096..a865a30 100644
--- a/WebCore/bindings/js/JSArrayBufferViewCustom.cpp
+++ b/WebCore/bindings/js/JSArrayBufferViewCustom.cpp
@@ -67,23 +67,23 @@ JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, ArrayBu
return jsUndefined();
}
-JSValue JSArrayBufferView::slice(ExecState* exec, const ArgList& args)
+JSValue JSArrayBufferView::slice(ExecState* exec)
{
ArrayBufferView* array = reinterpret_cast<ArrayBufferView*>(impl());
int start, end;
- switch (args.size()) {
+ switch (exec->argumentCount()) {
case 0:
start = 0;
end = array->length();
break;
case 1:
- start = args.at(0).toInt32(exec);
+ start = exec->argument(0).toInt32(exec);
end = array->length();
break;
default:
- start = args.at(0).toInt32(exec);
- end = args.at(1).toInt32(exec);
+ start = exec->argument(0).toInt32(exec);
+ end = exec->argument(1).toInt32(exec);
}
return toJS(exec, globalObject(), array->slice(start, end));
}
diff --git a/WebCore/bindings/js/JSArrayBufferViewHelper.h b/WebCore/bindings/js/JSArrayBufferViewHelper.h
index 7243db6..6b77c0c 100644
--- a/WebCore/bindings/js/JSArrayBufferViewHelper.h
+++ b/WebCore/bindings/js/JSArrayBufferViewHelper.h
@@ -38,29 +38,29 @@
namespace WebCore {
template <class T>
-JSC::JSValue setWebGLArrayHelper(JSC::ExecState* exec, T* impl, JSC::ArgList const& args, T* (*conversionFunc)(JSC::JSValue))
+JSC::JSValue setWebGLArrayHelper(JSC::ExecState* exec, T* impl, T* (*conversionFunc)(JSC::JSValue))
{
- if (args.size() < 1)
+ if (exec->argumentCount() < 1)
return throwError(exec, JSC::SyntaxError);
- T* array = (*conversionFunc)(args.at(0));
+ T* array = (*conversionFunc)(exec->argument(0));
if (array) {
// void set(in WebGL<T>Array array, [Optional] in unsigned long offset);
unsigned offset = 0;
- if (args.size() == 2)
- offset = args.at(1).toInt32(exec);
+ if (exec->argumentCount() == 2)
+ offset = exec->argument(1).toInt32(exec);
ExceptionCode ec = 0;
impl->set(array, offset, ec);
setDOMException(exec, ec);
return JSC::jsUndefined();
}
- if (args.at(0).isObject()) {
+ if (exec->argument(0).isObject()) {
// void set(in sequence<long> array, [Optional] in unsigned long offset);
- JSC::JSObject* array = JSC::asObject(args.at(0));
+ JSC::JSObject* array = JSC::asObject(exec->argument(0));
uint32_t offset = 0;
- if (args.size() == 2)
- offset = args.at(1).toInt32(exec);
+ if (exec->argumentCount() == 2)
+ offset = exec->argument(1).toInt32(exec);
uint32_t length = array->get(exec, JSC::Identifier(exec, "length")).toInt32(exec);
if (offset > impl->length()
|| offset + length > impl->length()
diff --git a/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp b/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp
index f8aa5a7..416f976 100644
--- a/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp
+++ b/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp
@@ -89,7 +89,7 @@ void JSCanvasRenderingContext2D::setFillStyle(ExecState* exec, JSValue value)
context->setFillStyle(toHTMLCanvasStyle(exec, value));
}
-JSValue JSCanvasRenderingContext2D::setFillColor(ExecState* exec, const ArgList& args)
+JSValue JSCanvasRenderingContext2D::setFillColor(ExecState* exec)
{
CanvasRenderingContext2D* context = static_cast<CanvasRenderingContext2D*>(impl());
@@ -99,26 +99,26 @@ JSValue JSCanvasRenderingContext2D::setFillColor(ExecState* exec, const ArgList&
// number arg, number arg = gray color, alpha
// 4 args = r, g, b, a
// 5 args = c, m, y, k, a
- switch (args.size()) {
+ switch (exec->argumentCount()) {
case 1:
- if (args.at(0).isString())
- context->setFillColor(ustringToString(asString(args.at(0))->value(exec)));
+ if (exec->argument(0).isString())
+ context->setFillColor(ustringToString(asString(exec->argument(0))->value(exec)));
else
- context->setFillColor(args.at(0).toFloat(exec));
+ context->setFillColor(exec->argument(0).toFloat(exec));
break;
case 2:
- if (args.at(0).isString())
- context->setFillColor(ustringToString(asString(args.at(0))->value(exec)), args.at(1).toFloat(exec));
+ if (exec->argument(0).isString())
+ context->setFillColor(ustringToString(asString(exec->argument(0))->value(exec)), exec->argument(1).toFloat(exec));
else
- context->setFillColor(args.at(0).toFloat(exec), args.at(1).toFloat(exec));
+ context->setFillColor(exec->argument(0).toFloat(exec), exec->argument(1).toFloat(exec));
break;
case 4:
- context->setFillColor(args.at(0).toFloat(exec), args.at(1).toFloat(exec),
- args.at(2).toFloat(exec), args.at(3).toFloat(exec));
+ context->setFillColor(exec->argument(0).toFloat(exec), exec->argument(1).toFloat(exec),
+ exec->argument(2).toFloat(exec), exec->argument(3).toFloat(exec));
break;
case 5:
- context->setFillColor(args.at(0).toFloat(exec), args.at(1).toFloat(exec),
- args.at(2).toFloat(exec), args.at(3).toFloat(exec), args.at(4).toFloat(exec));
+ context->setFillColor(exec->argument(0).toFloat(exec), exec->argument(1).toFloat(exec),
+ exec->argument(2).toFloat(exec), exec->argument(3).toFloat(exec), exec->argument(4).toFloat(exec));
break;
default:
return throwError(exec, SyntaxError);
@@ -126,7 +126,7 @@ JSValue JSCanvasRenderingContext2D::setFillColor(ExecState* exec, const ArgList&
return jsUndefined();
}
-JSValue JSCanvasRenderingContext2D::setStrokeColor(ExecState* exec, const ArgList& args)
+JSValue JSCanvasRenderingContext2D::setStrokeColor(ExecState* exec)
{
CanvasRenderingContext2D* context = static_cast<CanvasRenderingContext2D*>(impl());
@@ -136,26 +136,26 @@ JSValue JSCanvasRenderingContext2D::setStrokeColor(ExecState* exec, const ArgLis
// number arg, number arg = gray color, alpha
// 4 args = r, g, b, a
// 5 args = c, m, y, k, a
- switch (args.size()) {
+ switch (exec->argumentCount()) {
case 1:
- if (args.at(0).isString())
- context->setStrokeColor(ustringToString(asString(args.at(0))->value(exec)));
+ if (exec->argument(0).isString())
+ context->setStrokeColor(ustringToString(asString(exec->argument(0))->value(exec)));
else
- context->setStrokeColor(args.at(0).toFloat(exec));
+ context->setStrokeColor(exec->argument(0).toFloat(exec));
break;
case 2:
- if (args.at(0).isString())
- context->setStrokeColor(ustringToString(asString(args.at(0))->value(exec)), args.at(1).toFloat(exec));
+ if (exec->argument(0).isString())
+ context->setStrokeColor(ustringToString(asString(exec->argument(0))->value(exec)), exec->argument(1).toFloat(exec));
else
- context->setStrokeColor(args.at(0).toFloat(exec), args.at(1).toFloat(exec));
+ context->setStrokeColor(exec->argument(0).toFloat(exec), exec->argument(1).toFloat(exec));
break;
case 4:
- context->setStrokeColor(args.at(0).toFloat(exec), args.at(1).toFloat(exec),
- args.at(2).toFloat(exec), args.at(3).toFloat(exec));
+ context->setStrokeColor(exec->argument(0).toFloat(exec), exec->argument(1).toFloat(exec),
+ exec->argument(2).toFloat(exec), exec->argument(3).toFloat(exec));
break;
case 5:
- context->setStrokeColor(args.at(0).toFloat(exec), args.at(1).toFloat(exec),
- args.at(2).toFloat(exec), args.at(3).toFloat(exec), args.at(4).toFloat(exec));
+ context->setStrokeColor(exec->argument(0).toFloat(exec), exec->argument(1).toFloat(exec),
+ exec->argument(2).toFloat(exec), exec->argument(3).toFloat(exec), exec->argument(4).toFloat(exec));
break;
default:
return throwError(exec, SyntaxError);
@@ -164,21 +164,21 @@ JSValue JSCanvasRenderingContext2D::setStrokeColor(ExecState* exec, const ArgLis
return jsUndefined();
}
-JSValue JSCanvasRenderingContext2D::strokeRect(ExecState* exec, const ArgList& args)
+JSValue JSCanvasRenderingContext2D::strokeRect(ExecState* exec)
{
CanvasRenderingContext2D* context = static_cast<CanvasRenderingContext2D*>(impl());
- if (args.size() <= 4)
- context->strokeRect(args.at(0).toFloat(exec), args.at(1).toFloat(exec),
- args.at(2).toFloat(exec), args.at(3).toFloat(exec));
+ if (exec->argumentCount() <= 4)
+ context->strokeRect(exec->argument(0).toFloat(exec), exec->argument(1).toFloat(exec),
+ exec->argument(2).toFloat(exec), exec->argument(3).toFloat(exec));
else
- context->strokeRect(args.at(0).toFloat(exec), args.at(1).toFloat(exec),
- args.at(2).toFloat(exec), args.at(3).toFloat(exec), args.at(4).toFloat(exec));
+ context->strokeRect(exec->argument(0).toFloat(exec), exec->argument(1).toFloat(exec),
+ exec->argument(2).toFloat(exec), exec->argument(3).toFloat(exec), exec->argument(4).toFloat(exec));
return jsUndefined();
}
-JSValue JSCanvasRenderingContext2D::drawImage(ExecState* exec, const ArgList& args)
+JSValue JSCanvasRenderingContext2D::drawImage(ExecState* exec)
{
CanvasRenderingContext2D* context = static_cast<CanvasRenderingContext2D*>(impl());
@@ -188,7 +188,7 @@ JSValue JSCanvasRenderingContext2D::drawImage(ExecState* exec, const ArgList& ar
// drawImage(img, sx, sy, sw, sh, dx, dy, dw, dh)
// Composite operation is specified with globalCompositeOperation.
// The img parameter can be a <img> or <canvas> element.
- JSValue value = args.at(0);
+ JSValue value = exec->argument(0);
if (!value.isObject())
return throwError(exec, TypeError);
JSObject* o = asObject(value);
@@ -196,20 +196,20 @@ JSValue JSCanvasRenderingContext2D::drawImage(ExecState* exec, const ArgList& ar
ExceptionCode ec = 0;
if (o->inherits(&JSHTMLImageElement::s_info)) {
HTMLImageElement* imgElt = static_cast<HTMLImageElement*>(static_cast<JSHTMLElement*>(o)->impl());
- switch (args.size()) {
+ switch (exec->argumentCount()) {
case 3:
- context->drawImage(imgElt, args.at(1).toFloat(exec), args.at(2).toFloat(exec), ec);
+ context->drawImage(imgElt, exec->argument(1).toFloat(exec), exec->argument(2).toFloat(exec), ec);
break;
case 5:
- context->drawImage(imgElt, args.at(1).toFloat(exec), args.at(2).toFloat(exec),
- args.at(3).toFloat(exec), args.at(4).toFloat(exec), ec);
+ context->drawImage(imgElt, exec->argument(1).toFloat(exec), exec->argument(2).toFloat(exec),
+ exec->argument(3).toFloat(exec), exec->argument(4).toFloat(exec), ec);
setDOMException(exec, ec);
break;
case 9:
- context->drawImage(imgElt, FloatRect(args.at(1).toFloat(exec), args.at(2).toFloat(exec),
- args.at(3).toFloat(exec), args.at(4).toFloat(exec)),
- FloatRect(args.at(5).toFloat(exec), args.at(6).toFloat(exec),
- args.at(7).toFloat(exec), args.at(8).toFloat(exec)), ec);
+ context->drawImage(imgElt, FloatRect(exec->argument(1).toFloat(exec), exec->argument(2).toFloat(exec),
+ exec->argument(3).toFloat(exec), exec->argument(4).toFloat(exec)),
+ FloatRect(exec->argument(5).toFloat(exec), exec->argument(6).toFloat(exec),
+ exec->argument(7).toFloat(exec), exec->argument(8).toFloat(exec)), ec);
setDOMException(exec, ec);
break;
default:
@@ -217,20 +217,20 @@ JSValue JSCanvasRenderingContext2D::drawImage(ExecState* exec, const ArgList& ar
}
} else if (o->inherits(&JSHTMLCanvasElement::s_info)) {
HTMLCanvasElement* canvas = static_cast<HTMLCanvasElement*>(static_cast<JSHTMLElement*>(o)->impl());
- switch (args.size()) {
+ switch (exec->argumentCount()) {
case 3:
- context->drawImage(canvas, args.at(1).toFloat(exec), args.at(2).toFloat(exec), ec);
+ context->drawImage(canvas, exec->argument(1).toFloat(exec), exec->argument(2).toFloat(exec), ec);
break;
case 5:
- context->drawImage(canvas, args.at(1).toFloat(exec), args.at(2).toFloat(exec),
- args.at(3).toFloat(exec), args.at(4).toFloat(exec), ec);
+ context->drawImage(canvas, exec->argument(1).toFloat(exec), exec->argument(2).toFloat(exec),
+ exec->argument(3).toFloat(exec), exec->argument(4).toFloat(exec), ec);
setDOMException(exec, ec);
break;
case 9:
- context->drawImage(canvas, FloatRect(args.at(1).toFloat(exec), args.at(2).toFloat(exec),
- args.at(3).toFloat(exec), args.at(4).toFloat(exec)),
- FloatRect(args.at(5).toFloat(exec), args.at(6).toFloat(exec),
- args.at(7).toFloat(exec), args.at(8).toFloat(exec)), ec);
+ context->drawImage(canvas, FloatRect(exec->argument(1).toFloat(exec), exec->argument(2).toFloat(exec),
+ exec->argument(3).toFloat(exec), exec->argument(4).toFloat(exec)),
+ FloatRect(exec->argument(5).toFloat(exec), exec->argument(6).toFloat(exec),
+ exec->argument(7).toFloat(exec), exec->argument(8).toFloat(exec)), ec);
setDOMException(exec, ec);
break;
default:
@@ -239,20 +239,20 @@ JSValue JSCanvasRenderingContext2D::drawImage(ExecState* exec, const ArgList& ar
#if ENABLE(VIDEO)
} else if (o->inherits(&JSHTMLVideoElement::s_info)) {
HTMLVideoElement* video = static_cast<HTMLVideoElement*>(static_cast<JSHTMLElement*>(o)->impl());
- switch (args.size()) {
+ switch (exec->argumentCount()) {
case 3:
- context->drawImage(video, args.at(1).toFloat(exec), args.at(2).toFloat(exec), ec);
+ context->drawImage(video, exec->argument(1).toFloat(exec), exec->argument(2).toFloat(exec), ec);
break;
case 5:
- context->drawImage(video, args.at(1).toFloat(exec), args.at(2).toFloat(exec),
- args.at(3).toFloat(exec), args.at(4).toFloat(exec), ec);
+ context->drawImage(video, exec->argument(1).toFloat(exec), exec->argument(2).toFloat(exec),
+ exec->argument(3).toFloat(exec), exec->argument(4).toFloat(exec), ec);
setDOMException(exec, ec);
break;
case 9:
- context->drawImage(video, FloatRect(args.at(1).toFloat(exec), args.at(2).toFloat(exec),
- args.at(3).toFloat(exec), args.at(4).toFloat(exec)),
- FloatRect(args.at(5).toFloat(exec), args.at(6).toFloat(exec),
- args.at(7).toFloat(exec), args.at(8).toFloat(exec)), ec);
+ context->drawImage(video, FloatRect(exec->argument(1).toFloat(exec), exec->argument(2).toFloat(exec),
+ exec->argument(3).toFloat(exec), exec->argument(4).toFloat(exec)),
+ FloatRect(exec->argument(5).toFloat(exec), exec->argument(6).toFloat(exec),
+ exec->argument(7).toFloat(exec), exec->argument(8).toFloat(exec)), ec);
setDOMException(exec, ec);
break;
default:
@@ -266,11 +266,11 @@ JSValue JSCanvasRenderingContext2D::drawImage(ExecState* exec, const ArgList& ar
return jsUndefined();
}
-JSValue JSCanvasRenderingContext2D::drawImageFromRect(ExecState* exec, const ArgList& args)
+JSValue JSCanvasRenderingContext2D::drawImageFromRect(ExecState* exec)
{
CanvasRenderingContext2D* context = static_cast<CanvasRenderingContext2D*>(impl());
- JSValue value = args.at(0);
+ JSValue value = exec->argument(0);
if (!value.isObject())
return throwError(exec, TypeError);
JSObject* o = asObject(value);
@@ -278,52 +278,52 @@ JSValue JSCanvasRenderingContext2D::drawImageFromRect(ExecState* exec, const Arg
if (!o->inherits(&JSHTMLImageElement::s_info))
return throwError(exec, TypeError);
context->drawImageFromRect(static_cast<HTMLImageElement*>(static_cast<JSHTMLElement*>(o)->impl()),
- args.at(1).toFloat(exec), args.at(2).toFloat(exec),
- args.at(3).toFloat(exec), args.at(4).toFloat(exec),
- args.at(5).toFloat(exec), args.at(6).toFloat(exec),
- args.at(7).toFloat(exec), args.at(8).toFloat(exec),
- ustringToString(args.at(9).toString(exec)));
+ exec->argument(1).toFloat(exec), exec->argument(2).toFloat(exec),
+ exec->argument(3).toFloat(exec), exec->argument(4).toFloat(exec),
+ exec->argument(5).toFloat(exec), exec->argument(6).toFloat(exec),
+ exec->argument(7).toFloat(exec), exec->argument(8).toFloat(exec),
+ ustringToString(exec->argument(9).toString(exec)));
return jsUndefined();
}
-JSValue JSCanvasRenderingContext2D::setShadow(ExecState* exec, const ArgList& args)
+JSValue JSCanvasRenderingContext2D::setShadow(ExecState* exec)
{
CanvasRenderingContext2D* context = static_cast<CanvasRenderingContext2D*>(impl());
- switch (args.size()) {
+ switch (exec->argumentCount()) {
case 3:
- context->setShadow(args.at(0).toFloat(exec), args.at(1).toFloat(exec),
- args.at(2).toFloat(exec));
+ context->setShadow(exec->argument(0).toFloat(exec), exec->argument(1).toFloat(exec),
+ exec->argument(2).toFloat(exec));
break;
case 4:
- if (args.at(3).isString())
- context->setShadow(args.at(0).toFloat(exec), args.at(1).toFloat(exec),
- args.at(2).toFloat(exec), ustringToString(asString(args.at(3))->value(exec)));
+ if (exec->argument(3).isString())
+ context->setShadow(exec->argument(0).toFloat(exec), exec->argument(1).toFloat(exec),
+ exec->argument(2).toFloat(exec), ustringToString(asString(exec->argument(3))->value(exec)));
else
- context->setShadow(args.at(0).toFloat(exec), args.at(1).toFloat(exec),
- args.at(2).toFloat(exec), args.at(3).toFloat(exec));
+ context->setShadow(exec->argument(0).toFloat(exec), exec->argument(1).toFloat(exec),
+ exec->argument(2).toFloat(exec), exec->argument(3).toFloat(exec));
break;
case 5:
- if (args.at(3).isString())
- context->setShadow(args.at(0).toFloat(exec), args.at(1).toFloat(exec),
- args.at(2).toFloat(exec), ustringToString(asString(args.at(3))->value(exec)),
- args.at(4).toFloat(exec));
+ if (exec->argument(3).isString())
+ context->setShadow(exec->argument(0).toFloat(exec), exec->argument(1).toFloat(exec),
+ exec->argument(2).toFloat(exec), ustringToString(asString(exec->argument(3))->value(exec)),
+ exec->argument(4).toFloat(exec));
else
- context->setShadow(args.at(0).toFloat(exec), args.at(1).toFloat(exec),
- args.at(2).toFloat(exec), args.at(3).toFloat(exec),
- args.at(4).toFloat(exec));
+ context->setShadow(exec->argument(0).toFloat(exec), exec->argument(1).toFloat(exec),
+ exec->argument(2).toFloat(exec), exec->argument(3).toFloat(exec),
+ exec->argument(4).toFloat(exec));
break;
case 7:
- context->setShadow(args.at(0).toFloat(exec), args.at(1).toFloat(exec),
- args.at(2).toFloat(exec), args.at(3).toFloat(exec),
- args.at(4).toFloat(exec), args.at(5).toFloat(exec),
- args.at(6).toFloat(exec));
+ context->setShadow(exec->argument(0).toFloat(exec), exec->argument(1).toFloat(exec),
+ exec->argument(2).toFloat(exec), exec->argument(3).toFloat(exec),
+ exec->argument(4).toFloat(exec), exec->argument(5).toFloat(exec),
+ exec->argument(6).toFloat(exec));
break;
case 8:
- context->setShadow(args.at(0).toFloat(exec), args.at(1).toFloat(exec),
- args.at(2).toFloat(exec), args.at(3).toFloat(exec),
- args.at(4).toFloat(exec), args.at(5).toFloat(exec),
- args.at(6).toFloat(exec), args.at(7).toFloat(exec));
+ context->setShadow(exec->argument(0).toFloat(exec), exec->argument(1).toFloat(exec),
+ exec->argument(2).toFloat(exec), exec->argument(3).toFloat(exec),
+ exec->argument(4).toFloat(exec), exec->argument(5).toFloat(exec),
+ exec->argument(6).toFloat(exec), exec->argument(7).toFloat(exec));
break;
default:
return throwError(exec, SyntaxError);
@@ -332,11 +332,11 @@ JSValue JSCanvasRenderingContext2D::setShadow(ExecState* exec, const ArgList& ar
return jsUndefined();
}
-JSValue JSCanvasRenderingContext2D::createPattern(ExecState* exec, const ArgList& args)
+JSValue JSCanvasRenderingContext2D::createPattern(ExecState* exec)
{
CanvasRenderingContext2D* context = static_cast<CanvasRenderingContext2D*>(impl());
- JSValue value = args.at(0);
+ JSValue value = exec->argument(0);
if (!value.isObject())
return throwError(exec, TypeError);
JSObject* o = asObject(value);
@@ -345,7 +345,7 @@ JSValue JSCanvasRenderingContext2D::createPattern(ExecState* exec, const ArgList
ExceptionCode ec;
JSValue pattern = toJS(exec,
context->createPattern(static_cast<HTMLImageElement*>(static_cast<JSHTMLElement*>(o)->impl()),
- valueToStringWithNullCheck(exec, args.at(1)), ec).get());
+ valueToStringWithNullCheck(exec, exec->argument(1)), ec).get());
setDOMException(exec, ec);
return pattern;
}
@@ -353,7 +353,7 @@ JSValue JSCanvasRenderingContext2D::createPattern(ExecState* exec, const ArgList
ExceptionCode ec;
JSValue pattern = toJS(exec,
context->createPattern(static_cast<HTMLCanvasElement*>(static_cast<JSHTMLElement*>(o)->impl()),
- valueToStringWithNullCheck(exec, args.at(1)), ec).get());
+ valueToStringWithNullCheck(exec, exec->argument(1)), ec).get());
setDOMException(exec, ec);
return pattern;
}
@@ -361,7 +361,7 @@ JSValue JSCanvasRenderingContext2D::createPattern(ExecState* exec, const ArgList
return jsUndefined();
}
-JSValue JSCanvasRenderingContext2D::createImageData(ExecState* exec, const ArgList& args)
+JSValue JSCanvasRenderingContext2D::createImageData(ExecState* exec)
{
// createImageData has two variants
// createImageData(ImageData)
@@ -370,16 +370,16 @@ JSValue JSCanvasRenderingContext2D::createImageData(ExecState* exec, const ArgLi
RefPtr<ImageData> imageData = 0;
ExceptionCode ec = 0;
- if (args.size() == 1)
- imageData = context->createImageData(toImageData(args.at(0)), ec);
- else if (args.size() == 2)
- imageData = context->createImageData(args.at(0).toFloat(exec), args.at(1).toFloat(exec), ec);
+ if (exec->argumentCount() == 1)
+ imageData = context->createImageData(toImageData(exec->argument(0)), ec);
+ else if (exec->argumentCount() == 2)
+ imageData = context->createImageData(exec->argument(0).toFloat(exec), exec->argument(1).toFloat(exec), ec);
setDOMException(exec, ec);
return toJS(exec, globalObject(), WTF::getPtr(imageData));
}
-JSValue JSCanvasRenderingContext2D::putImageData(ExecState* exec, const ArgList& args)
+JSValue JSCanvasRenderingContext2D::putImageData(ExecState* exec)
{
// putImageData has two variants
// putImageData(ImageData, x, y)
@@ -387,17 +387,17 @@ JSValue JSCanvasRenderingContext2D::putImageData(ExecState* exec, const ArgList&
CanvasRenderingContext2D* context = static_cast<CanvasRenderingContext2D*>(impl());
ExceptionCode ec = 0;
- if (args.size() >= 7)
- context->putImageData(toImageData(args.at(0)), args.at(1).toFloat(exec), args.at(2).toFloat(exec),
- args.at(3).toFloat(exec), args.at(4).toFloat(exec), args.at(5).toFloat(exec), args.at(6).toFloat(exec), ec);
+ if (exec->argumentCount() >= 7)
+ context->putImageData(toImageData(exec->argument(0)), exec->argument(1).toFloat(exec), exec->argument(2).toFloat(exec),
+ exec->argument(3).toFloat(exec), exec->argument(4).toFloat(exec), exec->argument(5).toFloat(exec), exec->argument(6).toFloat(exec), ec);
else
- context->putImageData(toImageData(args.at(0)), args.at(1).toFloat(exec), args.at(2).toFloat(exec), ec);
+ context->putImageData(toImageData(exec->argument(0)), exec->argument(1).toFloat(exec), exec->argument(2).toFloat(exec), ec);
setDOMException(exec, ec);
return jsUndefined();
}
-JSValue JSCanvasRenderingContext2D::fillText(ExecState* exec, const ArgList& args)
+JSValue JSCanvasRenderingContext2D::fillText(ExecState* exec)
{
CanvasRenderingContext2D* context = static_cast<CanvasRenderingContext2D*>(impl());
@@ -405,17 +405,17 @@ JSValue JSCanvasRenderingContext2D::fillText(ExecState* exec, const ArgList& arg
// number arg = x
// number arg = y
// optional number arg = maxWidth
- if (args.size() < 3 || args.size() > 4)
+ if (exec->argumentCount() < 3 || exec->argumentCount() > 4)
return throwError(exec, SyntaxError);
- if (args.size() == 4)
- context->fillText(ustringToString(args.at(0).toString(exec)), args.at(1).toFloat(exec), args.at(2).toFloat(exec), args.at(3).toFloat(exec));
+ if (exec->argumentCount() == 4)
+ context->fillText(ustringToString(exec->argument(0).toString(exec)), exec->argument(1).toFloat(exec), exec->argument(2).toFloat(exec), exec->argument(3).toFloat(exec));
else
- context->fillText(ustringToString(args.at(0).toString(exec)), args.at(1).toFloat(exec), args.at(2).toFloat(exec));
+ context->fillText(ustringToString(exec->argument(0).toString(exec)), exec->argument(1).toFloat(exec), exec->argument(2).toFloat(exec));
return jsUndefined();
}
-JSValue JSCanvasRenderingContext2D::strokeText(ExecState* exec, const ArgList& args)
+JSValue JSCanvasRenderingContext2D::strokeText(ExecState* exec)
{
CanvasRenderingContext2D* context = static_cast<CanvasRenderingContext2D*>(impl());
@@ -423,13 +423,13 @@ JSValue JSCanvasRenderingContext2D::strokeText(ExecState* exec, const ArgList& a
// number arg = x
// number arg = y
// optional number arg = maxWidth
- if (args.size() < 3 || args.size() > 4)
+ if (exec->argumentCount() < 3 || exec->argumentCount() > 4)
return throwError(exec, SyntaxError);
- if (args.size() == 4)
- context->strokeText(ustringToString(args.at(0).toString(exec)), args.at(1).toFloat(exec), args.at(2).toFloat(exec), args.at(3).toFloat(exec));
+ if (exec->argumentCount() == 4)
+ context->strokeText(ustringToString(exec->argument(0).toString(exec)), exec->argument(1).toFloat(exec), exec->argument(2).toFloat(exec), exec->argument(3).toFloat(exec));
else
- context->strokeText(ustringToString(args.at(0).toString(exec)), args.at(1).toFloat(exec), args.at(2).toFloat(exec));
+ context->strokeText(ustringToString(exec->argument(0).toString(exec)), exec->argument(1).toFloat(exec), exec->argument(2).toFloat(exec));
return jsUndefined();
}
diff --git a/WebCore/bindings/js/JSClipboardCustom.cpp b/WebCore/bindings/js/JSClipboardCustom.cpp
index ca06d92..ad5e055 100644
--- a/WebCore/bindings/js/JSClipboardCustom.cpp
+++ b/WebCore/bindings/js/JSClipboardCustom.cpp
@@ -63,17 +63,17 @@ JSValue JSClipboard::types(ExecState* exec) const
return constructArray(exec, list);
}
-JSValue JSClipboard::clearData(ExecState* exec, const ArgList& args)
+JSValue JSClipboard::clearData(ExecState* exec)
{
Clipboard* clipboard = impl();
- if (args.size() == 0) {
+ if (!exec->argumentCount()) {
clipboard->clearAllData();
return jsUndefined();
}
- if (args.size() == 1) {
- clipboard->clearData(ustringToString(args.at(0).toString(exec)));
+ if (exec->argumentCount() == 1) {
+ clipboard->clearData(ustringToString(exec->argument(0).toString(exec)));
return jsUndefined();
}
@@ -81,23 +81,23 @@ JSValue JSClipboard::clearData(ExecState* exec, const ArgList& args)
return throwError(exec, SyntaxError, "clearData: Invalid number of arguments");
}
-JSValue JSClipboard::getData(ExecState* exec, const ArgList& args)
+JSValue JSClipboard::getData(ExecState* exec)
{
// FIXME: It does not match the rest of the JS bindings to throw on invalid number of arguments.
- if (args.size() != 1)
+ if (exec->argumentCount() != 1)
return throwError(exec, SyntaxError, "getData: Invalid number of arguments");
Clipboard* clipboard = impl();
bool success;
- String result = clipboard->getData(ustringToString(args.at(0).toString(exec)), success);
+ String result = clipboard->getData(ustringToString(exec->argument(0).toString(exec)), success);
if (!success)
return jsUndefined();
return jsString(exec, result);
}
-JSValue JSClipboard::setDragImage(ExecState* exec, const ArgList& args)
+JSValue JSClipboard::setDragImage(ExecState* exec)
{
Clipboard* clipboard = impl();
@@ -105,14 +105,14 @@ JSValue JSClipboard::setDragImage(ExecState* exec, const ArgList& args)
return jsUndefined();
// FIXME: It does not match the rest of the JS bindings to throw on invalid number of arguments.
- if (args.size() != 3)
+ if (exec->argumentCount() != 3)
return throwError(exec, SyntaxError, "setDragImage: Invalid number of arguments");
- int x = args.at(1).toInt32(exec);
- int y = args.at(2).toInt32(exec);
+ int x = exec->argument(1).toInt32(exec);
+ int y = exec->argument(2).toInt32(exec);
// See if they passed us a node
- Node* node = toNode(args.at(0));
+ Node* node = toNode(exec->argument(0));
if (!node)
return throwError(exec, TypeError);
diff --git a/WebCore/bindings/js/JSDOMApplicationCacheCustom.cpp b/WebCore/bindings/js/JSDOMApplicationCacheCustom.cpp
index b1f82a8..4d7b6e1 100644
--- a/WebCore/bindings/js/JSDOMApplicationCacheCustom.cpp
+++ b/WebCore/bindings/js/JSDOMApplicationCacheCustom.cpp
@@ -44,12 +44,12 @@ namespace WebCore {
#if ENABLE(APPLICATION_CACHE_DYNAMIC_ENTRIES)
-JSValue JSDOMApplicationCache::hasItem(ExecState* exec, const ArgList& args)
+JSValue JSDOMApplicationCache::hasItem(ExecState* exec)
{
Frame* frame = asJSDOMWindow(exec->dynamicGlobalObject())->impl()->frame();
if (!frame)
return jsUndefined();
- const KURL& url = frame->loader()->completeURL(args.at(0).toString(exec));
+ const KURL& url = frame->loader()->completeURL(exec->argument(0).toString(exec));
ExceptionCode ec = 0;
bool result = impl()->hasItem(url, ec);
@@ -57,12 +57,12 @@ JSValue JSDOMApplicationCache::hasItem(ExecState* exec, const ArgList& args)
return jsBoolean(result);
}
-JSValue JSDOMApplicationCache::add(ExecState* exec, const ArgList& args)
+JSValue JSDOMApplicationCache::add(ExecState* exec)
{
Frame* frame = asJSDOMWindow(exec->dynamicGlobalObject())->impl()->frame();
if (!frame)
return jsUndefined();
- const KURL& url = frame->loader()->completeURL(args.at(0).toString(exec));
+ const KURL& url = frame->loader()->completeURL(exec->argument(0).toString(exec));
ExceptionCode ec = 0;
impl()->add(url, ec);
@@ -70,12 +70,12 @@ JSValue JSDOMApplicationCache::add(ExecState* exec, const ArgList& args)
return jsUndefined();
}
-JSValue JSDOMApplicationCache::remove(ExecState* exec, const ArgList& args)
+JSValue JSDOMApplicationCache::remove(ExecState* exec)
{
Frame* frame = asJSDOMWindow(exec->dynamicGlobalObject())->impl()->frame();
if (!frame)
return jsUndefined();
- const KURL& url = frame->loader()->completeURL(args.at(0).toString(exec));
+ const KURL& url = frame->loader()->completeURL(exec->argument(0).toString(exec));
ExceptionCode ec = 0;
impl()->remove(url, ec);
diff --git a/WebCore/bindings/js/JSDOMBinding.h b/WebCore/bindings/js/JSDOMBinding.h
index 215e09a..3f2502d 100644
--- a/WebCore/bindings/js/JSDOMBinding.h
+++ b/WebCore/bindings/js/JSDOMBinding.h
@@ -222,7 +222,7 @@ namespace WebCore {
{
if (!node)
return JSC::jsNull();
- if (JSNode* wrapper = getCachedDOMNodeWrapper(exec, node->document(), node))
+ if (JSC::JSCell* wrapper = getCachedDOMNodeWrapper(exec, node->document(), node))
return wrapper;
return createDOMNodeWrapper<WrapperClass>(exec, globalObject, node);
}
diff --git a/WebCore/bindings/js/JSDOMFormDataCustom.cpp b/WebCore/bindings/js/JSDOMFormDataCustom.cpp
index 830db6b..f207578 100644
--- a/WebCore/bindings/js/JSDOMFormDataCustom.cpp
+++ b/WebCore/bindings/js/JSDOMFormDataCustom.cpp
@@ -39,11 +39,11 @@ using namespace JSC;
namespace WebCore {
-JSValue JSDOMFormData::append(ExecState* exec, const ArgList& args)
+JSValue JSDOMFormData::append(ExecState* exec)
{
- if (args.size() >= 2) {
- String name = ustringToString(args.at(0).toString(exec));
- JSValue value = args.at(1);
+ if (exec->argumentCount() >= 2) {
+ String name = ustringToString(exec->argument(0).toString(exec));
+ JSValue value = exec->argument(1);
if (value.inherits(&JSBlob::s_info))
impl()->append(name, toBlob(value));
else
diff --git a/WebCore/bindings/js/JSDOMWindowCustom.cpp b/WebCore/bindings/js/JSDOMWindowCustom.cpp
index 343c8f9..eabf962 100644
--- a/WebCore/bindings/js/JSDOMWindowCustom.cpp
+++ b/WebCore/bindings/js/JSDOMWindowCustom.cpp
@@ -766,11 +766,11 @@ static bool domWindowAllowPopUp(Frame* activeFrame, ExecState* exec)
return DOMWindow::allowPopUp(activeFrame);
}
-JSValue JSDOMWindow::open(ExecState* exec, const ArgList& args)
+JSValue JSDOMWindow::open(ExecState* exec)
{
- String urlString = valueToStringWithUndefinedOrNullCheck(exec, args.at(0));
- AtomicString frameName = args.at(1).isUndefinedOrNull() ? "_blank" : ustringToAtomicString(args.at(1).toString(exec));
- WindowFeatures windowFeatures(valueToStringWithUndefinedOrNullCheck(exec, args.at(2)));
+ String urlString = valueToStringWithUndefinedOrNullCheck(exec, exec->argument(0));
+ AtomicString frameName = exec->argument(1).isUndefinedOrNull() ? "_blank" : ustringToAtomicString(exec->argument(1).toString(exec));
+ WindowFeatures windowFeatures(valueToStringWithUndefinedOrNullCheck(exec, exec->argument(2)));
Frame* frame = impl()->frame();
if (!frame)
@@ -840,11 +840,11 @@ JSValue JSDOMWindow::open(ExecState* exec, const ArgList& args)
return toJS(exec, frame->domWindow());
}
-JSValue JSDOMWindow::showModalDialog(ExecState* exec, const ArgList& args)
+JSValue JSDOMWindow::showModalDialog(ExecState* exec)
{
- String url = valueToStringWithUndefinedOrNullCheck(exec, args.at(0));
- JSValue dialogArgs = args.at(1);
- String featureArgs = valueToStringWithUndefinedOrNullCheck(exec, args.at(2));
+ String url = valueToStringWithUndefinedOrNullCheck(exec, exec->argument(0));
+ JSValue dialogArgs = exec->argument(1);
+ String featureArgs = valueToStringWithUndefinedOrNullCheck(exec, exec->argument(2));
Frame* frame = impl()->frame();
if (!frame)
@@ -923,23 +923,23 @@ JSValue JSDOMWindow::showModalDialog(ExecState* exec, const ArgList& args)
return jsUndefined();
}
-JSValue JSDOMWindow::postMessage(ExecState* exec, const ArgList& args)
+JSValue JSDOMWindow::postMessage(ExecState* exec)
{
DOMWindow* window = impl();
DOMWindow* source = asJSDOMWindow(exec->lexicalGlobalObject())->impl();
- PassRefPtr<SerializedScriptValue> message = SerializedScriptValue::create(exec, args.at(0));
+ PassRefPtr<SerializedScriptValue> message = SerializedScriptValue::create(exec, exec->argument(0));
if (exec->hadException())
return jsUndefined();
MessagePortArray messagePorts;
- if (args.size() > 2)
- fillMessagePortArray(exec, args.at(1), messagePorts);
+ if (exec->argumentCount() > 2)
+ fillMessagePortArray(exec, exec->argument(1), messagePorts);
if (exec->hadException())
return jsUndefined();
- String targetOrigin = valueToStringWithUndefinedOrNullCheck(exec, args.at((args.size() == 2) ? 1 : 2));
+ String targetOrigin = valueToStringWithUndefinedOrNullCheck(exec, exec->argument((exec->argumentCount() == 2) ? 1 : 2));
if (exec->hadException())
return jsUndefined();
@@ -950,12 +950,12 @@ JSValue JSDOMWindow::postMessage(ExecState* exec, const ArgList& args)
return jsUndefined();
}
-JSValue JSDOMWindow::setTimeout(ExecState* exec, const ArgList& args)
+JSValue JSDOMWindow::setTimeout(ExecState* exec)
{
- OwnPtr<ScheduledAction> action = ScheduledAction::create(exec, args, currentWorld(exec));
+ OwnPtr<ScheduledAction> action = ScheduledAction::create(exec, currentWorld(exec));
if (exec->hadException())
return jsUndefined();
- int delay = args.at(1).toInt32(exec);
+ int delay = exec->argument(1).toInt32(exec);
ExceptionCode ec = 0;
int result = impl()->setTimeout(action.release(), delay, ec);
@@ -964,12 +964,12 @@ JSValue JSDOMWindow::setTimeout(ExecState* exec, const ArgList& args)
return jsNumber(exec, result);
}
-JSValue JSDOMWindow::setInterval(ExecState* exec, const ArgList& args)
+JSValue JSDOMWindow::setInterval(ExecState* exec)
{
- OwnPtr<ScheduledAction> action = ScheduledAction::create(exec, args, currentWorld(exec));
+ OwnPtr<ScheduledAction> action = ScheduledAction::create(exec, currentWorld(exec));
if (exec->hadException())
return jsUndefined();
- int delay = args.at(1).toInt32(exec);
+ int delay = exec->argument(1).toInt32(exec);
ExceptionCode ec = 0;
int result = impl()->setInterval(action.release(), delay, ec);
@@ -978,67 +978,67 @@ JSValue JSDOMWindow::setInterval(ExecState* exec, const ArgList& args)
return jsNumber(exec, result);
}
-JSValue JSDOMWindow::addEventListener(ExecState* exec, const ArgList& args)
+JSValue JSDOMWindow::addEventListener(ExecState* exec)
{
Frame* frame = impl()->frame();
if (!frame)
return jsUndefined();
- JSValue listener = args.at(1);
+ JSValue listener = exec->argument(1);
if (!listener.isObject())
return jsUndefined();
- impl()->addEventListener(ustringToAtomicString(args.at(0).toString(exec)), JSEventListener::create(asObject(listener), this, false, currentWorld(exec)), args.at(2).toBoolean(exec));
+ impl()->addEventListener(ustringToAtomicString(exec->argument(0).toString(exec)), JSEventListener::create(asObject(listener), this, false, currentWorld(exec)), exec->argument(2).toBoolean(exec));
return jsUndefined();
}
-JSValue JSDOMWindow::removeEventListener(ExecState* exec, const ArgList& args)
+JSValue JSDOMWindow::removeEventListener(ExecState* exec)
{
Frame* frame = impl()->frame();
if (!frame)
return jsUndefined();
- JSValue listener = args.at(1);
+ JSValue listener = exec->argument(1);
if (!listener.isObject())
return jsUndefined();
- impl()->removeEventListener(ustringToAtomicString(args.at(0).toString(exec)), JSEventListener::create(asObject(listener), this, false, currentWorld(exec)).get(), args.at(2).toBoolean(exec));
+ impl()->removeEventListener(ustringToAtomicString(exec->argument(0).toString(exec)), JSEventListener::create(asObject(listener), this, false, currentWorld(exec)).get(), exec->argument(2).toBoolean(exec));
return jsUndefined();
}
#if ENABLE(DATABASE)
-JSValue JSDOMWindow::openDatabase(ExecState* exec, const ArgList& args)
+JSValue JSDOMWindow::openDatabase(ExecState* exec)
{
- if (!allowsAccessFrom(exec) || (args.size() < 4)) {
+ if (!allowsAccessFrom(exec) || (exec->argumentCount() < 4)) {
setDOMException(exec, SYNTAX_ERR);
return jsUndefined();
}
- String name = ustringToString(args.at(0).toString(exec));
+ String name = ustringToString(exec->argument(0).toString(exec));
if (exec->hadException())
return jsUndefined();
- String version = ustringToString(args.at(1).toString(exec));
+ String version = ustringToString(exec->argument(1).toString(exec));
if (exec->hadException())
return jsUndefined();
- String displayName = ustringToString(args.at(2).toString(exec));
+ String displayName = ustringToString(exec->argument(2).toString(exec));
if (exec->hadException())
return jsUndefined();
- // args.at(3) = estimated size
- unsigned long estimatedSize = args.at(3).toUInt32(exec);
+ // exec->argument(3) = estimated size
+ unsigned long estimatedSize = exec->argument(3).toUInt32(exec);
if (exec->hadException())
return jsUndefined();
RefPtr<DatabaseCallback> creationCallback;
- if (args.size() >= 5) {
- if (!args.at(4).isObject()) {
+ if (exec->argumentCount() >= 5) {
+ if (!exec->argument(4).isObject()) {
setDOMException(exec, TYPE_MISMATCH_ERR);
return jsUndefined();
}
- creationCallback = JSDatabaseCallback::create(asObject(args.at(4)), globalObject());
+ creationCallback = JSDatabaseCallback::create(asObject(exec->argument(4)), globalObject());
}
ExceptionCode ec = 0;
diff --git a/WebCore/bindings/js/JSDatabaseCustom.cpp b/WebCore/bindings/js/JSDatabaseCustom.cpp
index a86cc18..26f9db7 100644
--- a/WebCore/bindings/js/JSDatabaseCustom.cpp
+++ b/WebCore/bindings/js/JSDatabaseCustom.cpp
@@ -47,17 +47,17 @@ namespace WebCore {
using namespace JSC;
-JSValue JSDatabase::changeVersion(ExecState* exec, const ArgList& args)
+JSValue JSDatabase::changeVersion(ExecState* exec)
{
- String oldVersion = ustringToString(args.at(0).toString(exec));
+ String oldVersion = ustringToString(exec->argument(0).toString(exec));
if (exec->hadException())
return jsUndefined();
- String newVersion = ustringToString(args.at(1).toString(exec));
+ String newVersion = ustringToString(exec->argument(1).toString(exec));
if (exec->hadException())
return jsUndefined();
- JSObject* object = args.at(2).getObject();
+ JSObject* object = exec->argument(2).getObject();
if (!object) {
setDOMException(exec, TYPE_MISMATCH_ERR);
return jsUndefined();
@@ -66,8 +66,8 @@ JSValue JSDatabase::changeVersion(ExecState* exec, const ArgList& args)
RefPtr<SQLTransactionCallback> callback(JSSQLTransactionCallback::create(object, static_cast<JSDOMGlobalObject*>(globalObject())));
RefPtr<SQLTransactionErrorCallback> errorCallback;
- if (!args.at(3).isNull()) {
- object = args.at(3).getObject();
+ if (!exec->argument(3).isNull()) {
+ object = exec->argument(3).getObject();
if (!object) {
setDOMException(exec, TYPE_MISMATCH_ERR);
return jsUndefined();
@@ -77,8 +77,8 @@ JSValue JSDatabase::changeVersion(ExecState* exec, const ArgList& args)
}
RefPtr<VoidCallback> successCallback;
- if (!args.at(4).isNull()) {
- object = args.at(4).getObject();
+ if (!exec->argument(4).isNull()) {
+ object = exec->argument(4).getObject();
if (!object) {
setDOMException(exec, TYPE_MISMATCH_ERR);
return jsUndefined();
@@ -92,9 +92,9 @@ JSValue JSDatabase::changeVersion(ExecState* exec, const ArgList& args)
return jsUndefined();
}
-static JSValue createTransaction(ExecState* exec, const ArgList& args, Database* database, JSDOMGlobalObject* globalObject, bool readOnly)
+static JSValue createTransaction(ExecState* exec, Database* database, JSDOMGlobalObject* globalObject, bool readOnly)
{
- JSObject* object = args.at(0).getObject();
+ JSObject* object = exec->argument(0).getObject();
if (!object) {
setDOMException(exec, TYPE_MISMATCH_ERR);
@@ -103,8 +103,8 @@ static JSValue createTransaction(ExecState* exec, const ArgList& args, Database*
RefPtr<SQLTransactionCallback> callback(JSSQLTransactionCallback::create(object, globalObject));
RefPtr<SQLTransactionErrorCallback> errorCallback;
- if (args.size() > 1 && !args.at(1).isNull()) {
- object = args.at(1).getObject();
+ if (exec->argumentCount() > 1 && !exec->argument(1).isNull()) {
+ object = exec->argument(1).getObject();
if (!object) {
setDOMException(exec, TYPE_MISMATCH_ERR);
return jsUndefined();
@@ -114,8 +114,8 @@ static JSValue createTransaction(ExecState* exec, const ArgList& args, Database*
}
RefPtr<VoidCallback> successCallback;
- if (args.size() > 2 && !args.at(2).isNull()) {
- object = args.at(2).getObject();
+ if (exec->argumentCount() > 2 && !exec->argument(2).isNull()) {
+ object = exec->argument(2).getObject();
if (!object) {
setDOMException(exec, TYPE_MISMATCH_ERR);
return jsUndefined();
@@ -128,14 +128,14 @@ static JSValue createTransaction(ExecState* exec, const ArgList& args, Database*
return jsUndefined();
}
-JSValue JSDatabase::transaction(ExecState* exec, const ArgList& args)
+JSValue JSDatabase::transaction(ExecState* exec)
{
- return createTransaction(exec, args, m_impl.get(), static_cast<JSDOMGlobalObject*>(globalObject()), false);
+ return createTransaction(exec, m_impl.get(), static_cast<JSDOMGlobalObject*>(globalObject()), false);
}
-JSValue JSDatabase::readTransaction(ExecState* exec, const ArgList& args)
+JSValue JSDatabase::readTransaction(ExecState* exec)
{
- return createTransaction(exec, args, m_impl.get(), static_cast<JSDOMGlobalObject*>(globalObject()), true);
+ return createTransaction(exec, m_impl.get(), static_cast<JSDOMGlobalObject*>(globalObject()), true);
}
}
diff --git a/WebCore/bindings/js/JSDatabaseSyncCustom.cpp b/WebCore/bindings/js/JSDatabaseSyncCustom.cpp
index 272cb83..79eb376 100644
--- a/WebCore/bindings/js/JSDatabaseSyncCustom.cpp
+++ b/WebCore/bindings/js/JSDatabaseSyncCustom.cpp
@@ -42,17 +42,17 @@ namespace WebCore {
using namespace JSC;
-JSValue JSDatabaseSync::changeVersion(ExecState* exec, const ArgList& args)
+JSValue JSDatabaseSync::changeVersion(ExecState* exec)
{
- String oldVersion = ustringToString(args.at(0).toString(exec));
+ String oldVersion = ustringToString(exec->argument(0).toString(exec));
if (exec->hadException())
return jsUndefined();
- String newVersion = ustringToString(args.at(1).toString(exec));
+ String newVersion = ustringToString(exec->argument(1).toString(exec));
if (exec->hadException())
return jsUndefined();
- JSObject* object = args.at(2).getObject();
+ JSObject* object = exec->argument(2).getObject();
if (!object) {
setDOMException(exec, TYPE_MISMATCH_ERR);
return jsUndefined();
@@ -67,9 +67,9 @@ JSValue JSDatabaseSync::changeVersion(ExecState* exec, const ArgList& args)
return jsUndefined();
}
-static JSValue createTransaction(ExecState* exec, const ArgList& args, DatabaseSync* database, JSDOMGlobalObject* globalObject, bool readOnly)
+static JSValue createTransaction(ExecState* exec, DatabaseSync* database, JSDOMGlobalObject* globalObject, bool readOnly)
{
- JSObject* object = args.at(0).getObject();
+ JSObject* object = exec->argument(0).getObject();
if (!object) {
setDOMException(exec, TYPE_MISMATCH_ERR);
return jsUndefined();
@@ -84,14 +84,14 @@ static JSValue createTransaction(ExecState* exec, const ArgList& args, DatabaseS
return jsUndefined();
}
-JSValue JSDatabaseSync::transaction(ExecState* exec, const ArgList& args)
+JSValue JSDatabaseSync::transaction(ExecState* exec)
{
- return createTransaction(exec, args, m_impl.get(), static_cast<JSDOMGlobalObject*>(globalObject()), false);
+ return createTransaction(exec, m_impl.get(), static_cast<JSDOMGlobalObject*>(globalObject()), false);
}
-JSValue JSDatabaseSync::readTransaction(ExecState* exec, const ArgList& args)
+JSValue JSDatabaseSync::readTransaction(ExecState* exec)
{
- return createTransaction(exec, args, m_impl.get(), static_cast<JSDOMGlobalObject*>(globalObject()), true);
+ return createTransaction(exec, m_impl.get(), static_cast<JSDOMGlobalObject*>(globalObject()), true);
}
}
diff --git a/WebCore/bindings/js/JSDedicatedWorkerContextCustom.cpp b/WebCore/bindings/js/JSDedicatedWorkerContextCustom.cpp
index fbee5ef..2222353 100644
--- a/WebCore/bindings/js/JSDedicatedWorkerContextCustom.cpp
+++ b/WebCore/bindings/js/JSDedicatedWorkerContextCustom.cpp
@@ -42,9 +42,9 @@ using namespace JSC;
namespace WebCore {
-JSC::JSValue JSDedicatedWorkerContext::postMessage(JSC::ExecState* exec, const JSC::ArgList& args)
+JSC::JSValue JSDedicatedWorkerContext::postMessage(JSC::ExecState* exec)
{
- return handlePostMessage(exec, args, impl());
+ return handlePostMessage(exec, impl());
}
} // namespace WebCore
diff --git a/WebCore/bindings/js/JSDesktopNotificationsCustom.cpp b/WebCore/bindings/js/JSDesktopNotificationsCustom.cpp
index 387f5f5..3098752 100644
--- a/WebCore/bindings/js/JSDesktopNotificationsCustom.cpp
+++ b/WebCore/bindings/js/JSDesktopNotificationsCustom.cpp
@@ -45,17 +45,17 @@ using namespace JSC;
namespace WebCore {
-JSValue JSNotificationCenter::requestPermission(ExecState* exec, const ArgList& args)
+JSValue JSNotificationCenter::requestPermission(ExecState* exec)
{
// Permission request is only valid from page context.
ScriptExecutionContext* context = impl()->context();
if (context->isWorkerContext())
return throwError(exec, SyntaxError);
- if (!args.at(0).isObject())
+ if (!exec->argument(0).isObject())
return throwError(exec, TypeError);
- PassRefPtr<JSCustomVoidCallback> callback = JSCustomVoidCallback::create(args.at(0).getObject(), toJSDOMGlobalObject(static_cast<Document*>(context), exec));
+ PassRefPtr<JSCustomVoidCallback> callback = JSCustomVoidCallback::create(exec->argument(0).getObject(), toJSDOMGlobalObject(static_cast<Document*>(context), exec));
impl()->requestPermission(callback);
return jsUndefined();
diff --git a/WebCore/bindings/js/JSElementCustom.cpp b/WebCore/bindings/js/JSElementCustom.cpp
index 7e294bd..23eda7e 100644
--- a/WebCore/bindings/js/JSElementCustom.cpp
+++ b/WebCore/bindings/js/JSElementCustom.cpp
@@ -64,73 +64,6 @@ void JSElement::markChildren(MarkStack& markStack)
markDOMObjectWrapper(markStack, globalData, static_cast<StyledElement*>(element)->inlineStyleDecl());
}
-JSValue JSElement::setAttribute(ExecState* exec, const ArgList& args)
-{
- ExceptionCode ec = 0;
- AtomicString name = ustringToAtomicString(args.at(0).toString(exec));
- AtomicString value = ustringToAtomicString(args.at(1).toString(exec));
-
- Element* imp = impl();
- if (!allowSettingSrcToJavascriptURL(exec, imp, name, value))
- return jsUndefined();
-
- imp->setAttribute(name, value, ec);
- setDOMException(exec, ec);
- return jsUndefined();
-}
-
-JSValue JSElement::setAttributeNode(ExecState* exec, const ArgList& args)
-{
- ExceptionCode ec = 0;
- Attr* newAttr = toAttr(args.at(0));
- if (!newAttr) {
- setDOMException(exec, TYPE_MISMATCH_ERR);
- return jsUndefined();
- }
-
- Element* imp = impl();
- if (!allowSettingSrcToJavascriptURL(exec, imp, newAttr->name(), newAttr->value()))
- return jsUndefined();
-
- JSValue result = toJS(exec, globalObject(), WTF::getPtr(imp->setAttributeNode(newAttr, ec)));
- setDOMException(exec, ec);
- return result;
-}
-
-JSValue JSElement::setAttributeNS(ExecState* exec, const ArgList& args)
-{
- ExceptionCode ec = 0;
- AtomicString namespaceURI = valueToStringWithNullCheck(exec, args.at(0));
- AtomicString qualifiedName = ustringToAtomicString(args.at(1).toString(exec));
- AtomicString value = ustringToAtomicString(args.at(2).toString(exec));
-
- Element* imp = impl();
- if (!allowSettingSrcToJavascriptURL(exec, imp, qualifiedName, value))
- return jsUndefined();
-
- imp->setAttributeNS(namespaceURI, qualifiedName, value, ec);
- setDOMException(exec, ec);
- return jsUndefined();
-}
-
-JSValue JSElement::setAttributeNodeNS(ExecState* exec, const ArgList& args)
-{
- ExceptionCode ec = 0;
- Attr* newAttr = toAttr(args.at(0));
- if (!newAttr) {
- setDOMException(exec, TYPE_MISMATCH_ERR);
- return jsUndefined();
- }
-
- Element* imp = impl();
- if (!allowSettingSrcToJavascriptURL(exec, imp, newAttr->name(), newAttr->value()))
- return jsUndefined();
-
- JSValue result = toJS(exec, globalObject(), WTF::getPtr(imp->setAttributeNodeNS(newAttr, ec)));
- setDOMException(exec, ec);
- return result;
-}
-
JSValue toJSNewlyCreated(ExecState* exec, JSDOMGlobalObject* globalObject, Element* element)
{
if (!element)
diff --git a/WebCore/bindings/js/JSEventCustom.cpp b/WebCore/bindings/js/JSEventCustom.cpp
index bc69323..b6190ff 100644
--- a/WebCore/bindings/js/JSEventCustom.cpp
+++ b/WebCore/bindings/js/JSEventCustom.cpp
@@ -40,10 +40,6 @@
#include "JSCompositionEvent.h"
#include "JSDeviceOrientationEvent.h"
#include "JSErrorEvent.h"
-#if ENABLE(INDEXED_DATABASE)
-#include "JSIDBErrorEvent.h"
-#include "JSIDBSuccessEvent.h"
-#endif
#include "JSKeyboardEvent.h"
#include "JSMessageEvent.h"
#include "JSMouseEvent.h"
@@ -60,10 +56,6 @@
#include "JSXMLHttpRequestProgressEvent.h"
#include "BeforeLoadEvent.h"
#include "ErrorEvent.h"
-#if ENABLE(INDEXED_DATABASE)
-#include "IDBErrorEvent.h"
-#include "IDBSuccessEvent.h"
-#endif
#include "KeyboardEvent.h"
#include "MessageEvent.h"
#include "MouseEvent.h"
@@ -95,6 +87,13 @@
#include "TouchEvent.h"
#endif
+#if ENABLE(INDEXED_DATABASE)
+#include "IDBErrorEvent.h"
+#include "IDBSuccessEvent.h"
+#include "JSIDBErrorEvent.h"
+#include "JSIDBSuccessEvent.h"
+#endif
+
using namespace JSC;
namespace WebCore {
diff --git a/WebCore/bindings/js/JSFloatArrayCustom.cpp b/WebCore/bindings/js/JSFloatArrayCustom.cpp
index 9e52762..8a82f98 100644
--- a/WebCore/bindings/js/JSFloatArrayCustom.cpp
+++ b/WebCore/bindings/js/JSFloatArrayCustom.cpp
@@ -46,9 +46,9 @@ JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, FloatAr
return getDOMObjectWrapper<JSFloatArray>(exec, globalObject, object);
}
-JSC::JSValue JSFloatArray::set(JSC::ExecState* exec, JSC::ArgList const& args)
+JSC::JSValue JSFloatArray::set(JSC::ExecState* exec)
{
- return setWebGLArrayHelper(exec, impl(), args, toFloatArray);
+ return setWebGLArrayHelper(exec, impl(), toFloatArray);
}
} // namespace WebCore
diff --git a/WebCore/bindings/js/JSGeolocationCustom.cpp b/WebCore/bindings/js/JSGeolocationCustom.cpp
index 8bc348c..16849ec 100644
--- a/WebCore/bindings/js/JSGeolocationCustom.cpp
+++ b/WebCore/bindings/js/JSGeolocationCustom.cpp
@@ -135,20 +135,20 @@ static PassRefPtr<PositionOptions> createPositionOptions(ExecState* exec, JSValu
return options.release();
}
-JSValue JSGeolocation::getCurrentPosition(ExecState* exec, const ArgList& args)
+JSValue JSGeolocation::getCurrentPosition(ExecState* exec)
{
// Arguments: PositionCallback, (optional)PositionErrorCallback, (optional)PositionOptions
- RefPtr<PositionCallback> positionCallback = createPositionCallback(exec, static_cast<JSDOMGlobalObject*>(exec->lexicalGlobalObject()), args.at(0));
+ RefPtr<PositionCallback> positionCallback = createPositionCallback(exec, static_cast<JSDOMGlobalObject*>(exec->lexicalGlobalObject()), exec->argument(0));
if (exec->hadException())
return jsUndefined();
ASSERT(positionCallback);
- RefPtr<PositionErrorCallback> positionErrorCallback = createPositionErrorCallback(exec, static_cast<JSDOMGlobalObject*>(exec->lexicalGlobalObject()), args.at(1));
+ RefPtr<PositionErrorCallback> positionErrorCallback = createPositionErrorCallback(exec, static_cast<JSDOMGlobalObject*>(exec->lexicalGlobalObject()), exec->argument(1));
if (exec->hadException())
return jsUndefined();
- RefPtr<PositionOptions> positionOptions = createPositionOptions(exec, args.at(2));
+ RefPtr<PositionOptions> positionOptions = createPositionOptions(exec, exec->argument(2));
if (exec->hadException())
return jsUndefined();
ASSERT(positionOptions);
@@ -157,20 +157,20 @@ JSValue JSGeolocation::getCurrentPosition(ExecState* exec, const ArgList& args)
return jsUndefined();
}
-JSValue JSGeolocation::watchPosition(ExecState* exec, const ArgList& args)
+JSValue JSGeolocation::watchPosition(ExecState* exec)
{
// Arguments: PositionCallback, (optional)PositionErrorCallback, (optional)PositionOptions
- RefPtr<PositionCallback> positionCallback = createPositionCallback(exec, static_cast<JSDOMGlobalObject*>(exec->lexicalGlobalObject()), args.at(0));
+ RefPtr<PositionCallback> positionCallback = createPositionCallback(exec, static_cast<JSDOMGlobalObject*>(exec->lexicalGlobalObject()), exec->argument(0));
if (exec->hadException())
return jsUndefined();
ASSERT(positionCallback);
- RefPtr<PositionErrorCallback> positionErrorCallback = createPositionErrorCallback(exec, static_cast<JSDOMGlobalObject*>(exec->lexicalGlobalObject()), args.at(1));
+ RefPtr<PositionErrorCallback> positionErrorCallback = createPositionErrorCallback(exec, static_cast<JSDOMGlobalObject*>(exec->lexicalGlobalObject()), exec->argument(1));
if (exec->hadException())
return jsUndefined();
- RefPtr<PositionOptions> positionOptions = createPositionOptions(exec, args.at(2));
+ RefPtr<PositionOptions> positionOptions = createPositionOptions(exec, exec->argument(2));
if (exec->hadException())
return jsUndefined();
ASSERT(positionOptions);
diff --git a/WebCore/bindings/js/JSHTMLAllCollectionCustom.cpp b/WebCore/bindings/js/JSHTMLAllCollectionCustom.cpp
index 86d6fa2..3d819ef 100644
--- a/WebCore/bindings/js/JSHTMLAllCollectionCustom.cpp
+++ b/WebCore/bindings/js/JSHTMLAllCollectionCustom.cpp
@@ -58,21 +58,21 @@ static JSValue getNamedItems(ExecState* exec, JSHTMLAllCollection* collection, c
// HTMLCollections are strange objects, they support both get and call,
// so that document.forms.item(0) and document.forms(0) both work.
-static JSValue JSC_HOST_CALL callHTMLAllCollection(ExecState* exec, JSObject* function, JSValue, const ArgList& args)
+static JSValue JSC_HOST_CALL callHTMLAllCollection(ExecState* exec)
{
- if (args.size() < 1)
+ if (exec->argumentCount() < 1)
return jsUndefined();
// Do not use thisObj here. It can be the JSHTMLDocument, in the document.forms(i) case.
- JSHTMLAllCollection* jsCollection = static_cast<JSHTMLAllCollection*>(function);
+ JSHTMLAllCollection* jsCollection = static_cast<JSHTMLAllCollection*>(exec->callee());
HTMLAllCollection* collection = static_cast<HTMLAllCollection*>(jsCollection->impl());
// Also, do we need the TypeError test here ?
- if (args.size() == 1) {
+ if (exec->argumentCount() == 1) {
// Support for document.all(<index>) etc.
bool ok;
- UString string = args.at(0).toString(exec);
+ UString string = exec->argument(0).toString(exec);
unsigned index = string.toUInt32(&ok, false);
if (ok)
return toJS(exec, jsCollection->globalObject(), collection->item(index));
@@ -83,8 +83,8 @@ static JSValue JSC_HOST_CALL callHTMLAllCollection(ExecState* exec, JSObject* fu
// The second arg, if set, is the index of the item we want
bool ok;
- UString string = args.at(0).toString(exec);
- unsigned index = args.at(1).toString(exec).toUInt32(&ok, false);
+ UString string = exec->argument(0).toString(exec);
+ unsigned index = exec->argument(1).toString(exec).toUInt32(&ok, false);
if (ok) {
String pstr = ustringToString(string);
Node* node = collection->namedItem(pstr);
@@ -118,18 +118,18 @@ JSValue JSHTMLAllCollection::nameGetter(ExecState* exec, JSValue slotBase, const
return getNamedItems(exec, thisObj, propertyName);
}
-JSValue JSHTMLAllCollection::item(ExecState* exec, const ArgList& args)
+JSValue JSHTMLAllCollection::item(ExecState* exec)
{
bool ok;
- uint32_t index = args.at(0).toString(exec).toUInt32(&ok, false);
+ uint32_t index = exec->argument(0).toString(exec).toUInt32(&ok, false);
if (ok)
return toJS(exec, globalObject(), impl()->item(index));
- return getNamedItems(exec, this, Identifier(exec, args.at(0).toString(exec)));
+ return getNamedItems(exec, this, Identifier(exec, exec->argument(0).toString(exec)));
}
-JSValue JSHTMLAllCollection::namedItem(ExecState* exec, const ArgList& args)
+JSValue JSHTMLAllCollection::namedItem(ExecState* exec)
{
- return getNamedItems(exec, this, Identifier(exec, args.at(0).toString(exec)));
+ return getNamedItems(exec, this, Identifier(exec, exec->argument(0).toString(exec)));
}
} // namespace WebCore
diff --git a/WebCore/bindings/js/JSHTMLCanvasElementCustom.cpp b/WebCore/bindings/js/JSHTMLCanvasElementCustom.cpp
index 419f9e9..a69696a 100644
--- a/WebCore/bindings/js/JSHTMLCanvasElementCustom.cpp
+++ b/WebCore/bindings/js/JSHTMLCanvasElementCustom.cpp
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2010 Torch Mobile (Beijing) Co. Ltd. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -49,17 +50,17 @@ void JSHTMLCanvasElement::markChildren(MarkStack& markStack)
markDOMObjectWrapper(markStack, globalData, canvas->renderingContext());
}
-JSValue JSHTMLCanvasElement::getContext(ExecState* exec, const ArgList& args)
+JSValue JSHTMLCanvasElement::getContext(ExecState* exec)
{
HTMLCanvasElement* canvas = static_cast<HTMLCanvasElement*>(impl());
- const UString& contextId = args.at(0).toString(exec);
+ const UString& contextId = exec->argument(0).toString(exec);
RefPtr<CanvasContextAttributes> attrs;
#if ENABLE(3D_CANVAS)
if (contextId == "experimental-webgl" || contextId == "webkit-3d") {
attrs = WebGLContextAttributes::create();
WebGLContextAttributes* webGLAttrs = static_cast<WebGLContextAttributes*>(attrs.get());
- if (args.size() > 1 && args.at(1).isObject()) {
- JSObject* jsAttrs = args.at(1).getObject();
+ if (exec->argumentCount() > 1 && exec->argument(1).isObject()) {
+ JSObject* jsAttrs = exec->argument(1).getObject();
Identifier alpha(exec, "alpha");
if (jsAttrs->hasProperty(exec, alpha))
webGLAttrs->setAlpha(jsAttrs->get(exec, alpha).toBoolean(exec));
@@ -84,4 +85,22 @@ JSValue JSHTMLCanvasElement::getContext(ExecState* exec, const ArgList& args)
return toJS(exec, globalObject(), WTF::getPtr(context));
}
+JSValue JSHTMLCanvasElement::toDataURL(ExecState* exec)
+{
+ const String& type = valueToStringWithUndefinedOrNullCheck(exec, exec->argument(0));
+ double quality = 1.0;
+ if (exec->argumentCount() > 1) {
+ JSValue v = exec->argument(1);
+ if (v.isNumber())
+ quality = v.toNumber(exec);
+ if (!(0.0 <= quality && quality <= 1.0))
+ quality = 1.0;
+ }
+ HTMLCanvasElement* canvas = static_cast<HTMLCanvasElement*>(impl());
+ ExceptionCode ec = 0;
+ JSC::JSValue result = jsString(exec, canvas->toDataURL(type, quality, ec));
+ setDOMException(exec, ec);
+ return result;
+}
+
} // namespace WebCore
diff --git a/WebCore/bindings/js/JSHTMLCollectionCustom.cpp b/WebCore/bindings/js/JSHTMLCollectionCustom.cpp
index c5eb41a..24059b7 100644
--- a/WebCore/bindings/js/JSHTMLCollectionCustom.cpp
+++ b/WebCore/bindings/js/JSHTMLCollectionCustom.cpp
@@ -55,21 +55,21 @@ static JSValue getNamedItems(ExecState* exec, JSHTMLCollection* collection, cons
// HTMLCollections are strange objects, they support both get and call,
// so that document.forms.item(0) and document.forms(0) both work.
-static JSValue JSC_HOST_CALL callHTMLCollection(ExecState* exec, JSObject* function, JSValue, const ArgList& args)
+static JSValue JSC_HOST_CALL callHTMLCollection(ExecState* exec)
{
- if (args.size() < 1)
+ if (exec->argumentCount() < 1)
return jsUndefined();
// Do not use thisObj here. It can be the JSHTMLDocument, in the document.forms(i) case.
- JSHTMLCollection* jsCollection = static_cast<JSHTMLCollection*>(function);
+ JSHTMLCollection* jsCollection = static_cast<JSHTMLCollection*>(exec->callee());
HTMLCollection* collection = jsCollection->impl();
// Also, do we need the TypeError test here ?
- if (args.size() == 1) {
+ if (exec->argumentCount() == 1) {
// Support for document.all(<index>) etc.
bool ok;
- UString string = args.at(0).toString(exec);
+ UString string = exec->argument(0).toString(exec);
unsigned index = string.toUInt32(&ok, false);
if (ok)
return toJS(exec, jsCollection->globalObject(), collection->item(index));
@@ -80,8 +80,8 @@ static JSValue JSC_HOST_CALL callHTMLCollection(ExecState* exec, JSObject* funct
// The second arg, if set, is the index of the item we want
bool ok;
- UString string = args.at(0).toString(exec);
- unsigned index = args.at(1).toString(exec).toUInt32(&ok, false);
+ UString string = exec->argument(0).toString(exec);
+ unsigned index = exec->argument(1).toString(exec).toUInt32(&ok, false);
if (ok) {
String pstr = ustringToString(string);
Node* node = collection->namedItem(pstr);
@@ -115,18 +115,18 @@ JSValue JSHTMLCollection::nameGetter(ExecState* exec, JSValue slotBase, const Id
return getNamedItems(exec, thisObj, propertyName);
}
-JSValue JSHTMLCollection::item(ExecState* exec, const ArgList& args)
+JSValue JSHTMLCollection::item(ExecState* exec)
{
bool ok;
- uint32_t index = args.at(0).toString(exec).toUInt32(&ok, false);
+ uint32_t index = exec->argument(0).toString(exec).toUInt32(&ok, false);
if (ok)
return toJS(exec, globalObject(), impl()->item(index));
- return getNamedItems(exec, this, Identifier(exec, args.at(0).toString(exec)));
+ return getNamedItems(exec, this, Identifier(exec, exec->argument(0).toString(exec)));
}
-JSValue JSHTMLCollection::namedItem(ExecState* exec, const ArgList& args)
+JSValue JSHTMLCollection::namedItem(ExecState* exec)
{
- return getNamedItems(exec, this, Identifier(exec, args.at(0).toString(exec)));
+ return getNamedItems(exec, this, Identifier(exec, exec->argument(0).toString(exec)));
}
JSValue toJS(ExecState* exec, JSDOMGlobalObject* globalObject, HTMLCollection* collection)
diff --git a/WebCore/bindings/js/JSHTMLDocumentCustom.cpp b/WebCore/bindings/js/JSHTMLDocumentCustom.cpp
index de0e96f..30cb3a2 100644
--- a/WebCore/bindings/js/JSHTMLDocumentCustom.cpp
+++ b/WebCore/bindings/js/JSHTMLDocumentCustom.cpp
@@ -100,10 +100,10 @@ void JSHTMLDocument::setAll(ExecState* exec, JSValue value)
// Custom functions
-JSValue JSHTMLDocument::open(ExecState* exec, const ArgList& args)
+JSValue JSHTMLDocument::open(ExecState* exec)
{
// For compatibility with other browsers, pass open calls with more than 2 parameters to the window.
- if (args.size() > 2) {
+ if (exec->argumentCount() > 2) {
Frame* frame = static_cast<HTMLDocument*>(impl())->frame();
if (frame) {
JSDOMWindowShell* wrapper = toJSDOMWindowShell(frame, currentWorld(exec));
@@ -113,7 +113,7 @@ JSValue JSHTMLDocument::open(ExecState* exec, const ArgList& args)
CallType callType = function.getCallData(callData);
if (callType == CallTypeNone)
return throwError(exec, TypeError);
- return JSC::call(exec, function, callType, callData, wrapper, args);
+ return JSC::call(exec, function, callType, callData, wrapper, ArgList(exec));
}
}
return jsUndefined();
@@ -130,20 +130,20 @@ JSValue JSHTMLDocument::open(ExecState* exec, const ArgList& args)
enum NewlineRequirement { DoNotAddNewline, DoAddNewline };
-static inline void documentWrite(ExecState* exec, const ArgList& args, HTMLDocument* document, NewlineRequirement addNewline)
+static inline void documentWrite(ExecState* exec, HTMLDocument* document, NewlineRequirement addNewline)
{
// DOM only specifies single string argument, but browsers allow multiple or no arguments.
- size_t size = args.size();
+ size_t size = exec->argumentCount();
- UString firstString = args.at(0).toString(exec);
+ UString firstString = exec->argument(0).toString(exec);
SegmentedString segmentedString = ustringToString(firstString);
if (size != 1) {
if (!size)
segmentedString.clear();
else {
for (size_t i = 1; i < size; ++i) {
- UString subsequentString = args.at(i).toString(exec);
+ UString subsequentString = exec->argument(i).toString(exec);
segmentedString.append(SegmentedString(ustringToString(subsequentString)));
}
}
@@ -155,15 +155,15 @@ static inline void documentWrite(ExecState* exec, const ArgList& args, HTMLDocum
document->write(segmentedString, activeDocument);
}
-JSValue JSHTMLDocument::write(ExecState* exec, const ArgList& args)
+JSValue JSHTMLDocument::write(ExecState* exec)
{
- documentWrite(exec, args, static_cast<HTMLDocument*>(impl()), DoNotAddNewline);
+ documentWrite(exec, static_cast<HTMLDocument*>(impl()), DoNotAddNewline);
return jsUndefined();
}
-JSValue JSHTMLDocument::writeln(ExecState* exec, const ArgList& args)
+JSValue JSHTMLDocument::writeln(ExecState* exec)
{
- documentWrite(exec, args, static_cast<HTMLDocument*>(impl()), DoAddNewline);
+ documentWrite(exec, static_cast<HTMLDocument*>(impl()), DoAddNewline);
return jsUndefined();
}
diff --git a/WebCore/bindings/js/JSHTMLInputElementCustom.cpp b/WebCore/bindings/js/JSHTMLInputElementCustom.cpp
index e5166ee..d4be8dc 100644
--- a/WebCore/bindings/js/JSHTMLInputElementCustom.cpp
+++ b/WebCore/bindings/js/JSHTMLInputElementCustom.cpp
@@ -103,14 +103,14 @@ void JSHTMLInputElement::setSelectionEnd(ExecState* exec, JSValue value)
input->setSelectionEnd(value.toInt32(exec));
}
-JSValue JSHTMLInputElement::setSelectionRange(ExecState* exec, const ArgList& args)
+JSValue JSHTMLInputElement::setSelectionRange(ExecState* exec)
{
HTMLInputElement* input = static_cast<HTMLInputElement*>(impl());
if (!input->canHaveSelection())
return throwError(exec, TypeError);
- int start = args.at(0).toInt32(exec);
- int end = args.at(1).toInt32(exec);
+ int start = exec->argument(0).toInt32(exec);
+ int end = exec->argument(1).toInt32(exec);
input->setSelectionRange(start, end);
return jsUndefined();
diff --git a/WebCore/bindings/js/JSHTMLOptionsCollectionCustom.cpp b/WebCore/bindings/js/JSHTMLOptionsCollectionCustom.cpp
index 7bca2db..dc2f7cb 100644
--- a/WebCore/bindings/js/JSHTMLOptionsCollectionCustom.cpp
+++ b/WebCore/bindings/js/JSHTMLOptionsCollectionCustom.cpp
@@ -67,16 +67,16 @@ void JSHTMLOptionsCollection::indexSetter(ExecState* exec, unsigned index, JSVal
selectIndexSetter(base, exec, index, value);
}
-JSValue JSHTMLOptionsCollection::add(ExecState* exec, const ArgList& args)
+JSValue JSHTMLOptionsCollection::add(ExecState* exec)
{
HTMLOptionsCollection* imp = static_cast<HTMLOptionsCollection*>(impl());
- HTMLOptionElement* option = toHTMLOptionElement(args.at(0));
+ HTMLOptionElement* option = toHTMLOptionElement(exec->argument(0));
ExceptionCode ec = 0;
- if (args.size() < 2)
+ if (exec->argumentCount() < 2)
imp->add(option, ec);
else {
bool ok;
- int index = args.at(1).toInt32(exec, ok);
+ int index = exec->argument(1).toInt32(exec, ok);
if (exec->hadException())
return jsUndefined();
if (!ok)
@@ -88,11 +88,11 @@ JSValue JSHTMLOptionsCollection::add(ExecState* exec, const ArgList& args)
return jsUndefined();
}
-JSValue JSHTMLOptionsCollection::remove(ExecState* exec, const ArgList& args)
+JSValue JSHTMLOptionsCollection::remove(ExecState* exec)
{
HTMLOptionsCollection* imp = static_cast<HTMLOptionsCollection*>(impl());
JSHTMLSelectElement* base = static_cast<JSHTMLSelectElement*>(asObject(toJS(exec, globalObject(), imp->base())));
- return base->remove(exec, args);
+ return base->remove(exec);
}
}
diff --git a/WebCore/bindings/js/JSHTMLSelectElementCustom.cpp b/WebCore/bindings/js/JSHTMLSelectElementCustom.cpp
index 9bb6b75..5c462c1 100644
--- a/WebCore/bindings/js/JSHTMLSelectElementCustom.cpp
+++ b/WebCore/bindings/js/JSHTMLSelectElementCustom.cpp
@@ -32,16 +32,16 @@ namespace WebCore {
using namespace JSC;
using namespace HTMLNames;
-JSValue JSHTMLSelectElement::remove(ExecState* exec, const ArgList& args)
+JSValue JSHTMLSelectElement::remove(ExecState* exec)
{
HTMLSelectElement& select = *static_cast<HTMLSelectElement*>(impl());
// we support both options index and options objects
- HTMLElement* element = toHTMLElement(args.at(0));
+ HTMLElement* element = toHTMLElement(exec->argument(0));
if (element && element->hasTagName(optionTag))
select.remove(static_cast<HTMLOptionElement*>(element)->index());
else
- select.remove(args.at(0).toInt32(exec));
+ select.remove(exec->argument(0).toInt32(exec));
return jsUndefined();
}
diff --git a/WebCore/bindings/js/JSHistoryCustom.cpp b/WebCore/bindings/js/JSHistoryCustom.cpp
index 53b554f..6a2f614 100644
--- a/WebCore/bindings/js/JSHistoryCustom.cpp
+++ b/WebCore/bindings/js/JSHistoryCustom.cpp
@@ -162,19 +162,19 @@ void JSHistory::getOwnPropertyNames(ExecState* exec, PropertyNameArray& property
Base::getOwnPropertyNames(exec, propertyNames, mode);
}
-JSValue JSHistory::pushState(ExecState* exec, const ArgList& args)
+JSValue JSHistory::pushState(ExecState* exec)
{
- RefPtr<SerializedScriptValue> historyState = SerializedScriptValue::create(exec, args.at(0));
+ RefPtr<SerializedScriptValue> historyState = SerializedScriptValue::create(exec, exec->argument(0));
if (exec->hadException())
return jsUndefined();
- String title = valueToStringWithUndefinedOrNullCheck(exec, args.at(1));
+ String title = valueToStringWithUndefinedOrNullCheck(exec, exec->argument(1));
if (exec->hadException())
return jsUndefined();
String url;
- if (args.size() > 2) {
- url = valueToStringWithUndefinedOrNullCheck(exec, args.at(2));
+ if (exec->argumentCount() > 2) {
+ url = valueToStringWithUndefinedOrNullCheck(exec, exec->argument(2));
if (exec->hadException())
return jsUndefined();
}
@@ -186,19 +186,19 @@ JSValue JSHistory::pushState(ExecState* exec, const ArgList& args)
return jsUndefined();
}
-JSValue JSHistory::replaceState(ExecState* exec, const ArgList& args)
+JSValue JSHistory::replaceState(ExecState* exec)
{
- RefPtr<SerializedScriptValue> historyState = SerializedScriptValue::create(exec, args.at(0));
+ RefPtr<SerializedScriptValue> historyState = SerializedScriptValue::create(exec, exec->argument(0));
if (exec->hadException())
return jsUndefined();
- String title = valueToStringWithUndefinedOrNullCheck(exec, args.at(1));
+ String title = valueToStringWithUndefinedOrNullCheck(exec, exec->argument(1));
if (exec->hadException())
return jsUndefined();
String url;
- if (args.size() > 2) {
- url = valueToStringWithUndefinedOrNullCheck(exec, args.at(2));
+ if (exec->argumentCount() > 2) {
+ url = valueToStringWithUndefinedOrNullCheck(exec, exec->argument(2));
if (exec->hadException())
return jsUndefined();
}
diff --git a/WebCore/bindings/js/JSIDBAnyCustom.cpp b/WebCore/bindings/js/JSIDBAnyCustom.cpp
index f7674b8..43a79a2 100644
--- a/WebCore/bindings/js/JSIDBAnyCustom.cpp
+++ b/WebCore/bindings/js/JSIDBAnyCustom.cpp
@@ -36,8 +36,12 @@
#include "IDBAny.h"
#include "IDBDatabaseRequest.h"
+#include "IDBIndexRequest.h"
+#include "IDBObjectStoreRequest.h"
#include "IndexedDatabaseRequest.h"
#include "JSIDBDatabaseRequest.h"
+#include "JSIDBIndexRequest.h"
+#include "JSIDBObjectStoreRequest.h"
#include "JSIndexedDatabaseRequest.h"
#include "SerializedScriptValue.h"
@@ -53,8 +57,14 @@ JSValue toJS(ExecState* exec, JSDOMGlobalObject* globalObject, IDBAny* idbAny)
switch (idbAny->type()) {
case IDBAny::UndefinedType:
return jsUndefined();
+ case IDBAny::NullType:
+ return jsNull();
case IDBAny::IDBDatabaseRequestType:
return toJS(exec, globalObject, idbAny->idbDatabaseRequest());
+ case IDBAny::IDBIndexRequestType:
+ return toJS(exec, globalObject, idbAny->idbIndexRequest());
+ case IDBAny::IDBObjectStoreRequestType:
+ return toJS(exec, globalObject, idbAny->idbObjectStoreRequest());
case IDBAny::IndexedDatabaseRequestType:
return toJS(exec, globalObject, idbAny->indexedDatabaseRequest());
case IDBAny::SerializedScriptValueType:
diff --git a/WebCore/bindings/js/JSInjectedScriptHostCustom.cpp b/WebCore/bindings/js/JSInjectedScriptHostCustom.cpp
index df191b7..c13ea0c 100644
--- a/WebCore/bindings/js/JSInjectedScriptHostCustom.cpp
+++ b/WebCore/bindings/js/JSInjectedScriptHostCustom.cpp
@@ -104,16 +104,16 @@ ScriptObject InjectedScriptHost::createInjectedScript(const String& source, Scri
}
#if ENABLE(DATABASE)
-JSValue JSInjectedScriptHost::databaseForId(ExecState* exec, const ArgList& args)
+JSValue JSInjectedScriptHost::databaseForId(ExecState* exec)
{
- if (args.size() < 1)
+ if (exec->argumentCount() < 1)
return jsUndefined();
InspectorController* ic = impl()->inspectorController();
if (!ic)
return jsUndefined();
- Database* database = impl()->databaseForId(args.at(0).toInt32(exec));
+ Database* database = impl()->databaseForId(exec->argument(0).toInt32(exec));
if (!database)
return jsUndefined();
return toJS(exec, database);
@@ -121,7 +121,7 @@ JSValue JSInjectedScriptHost::databaseForId(ExecState* exec, const ArgList& args
#endif
#if ENABLE(JAVASCRIPT_DEBUGGER)
-JSValue JSInjectedScriptHost::currentCallFrame(ExecState* exec, const ArgList&)
+JSValue JSInjectedScriptHost::currentCallFrame(ExecState* exec)
{
JavaScriptCallFrame* callFrame = ScriptDebugServer::shared().currentCallFrame();
if (!callFrame || !callFrame->isValid())
@@ -132,12 +132,12 @@ JSValue JSInjectedScriptHost::currentCallFrame(ExecState* exec, const ArgList&)
}
#endif
-JSValue JSInjectedScriptHost::nodeForId(ExecState* exec, const ArgList& args)
+JSValue JSInjectedScriptHost::nodeForId(ExecState* exec)
{
- if (args.size() < 1)
+ if (exec->argumentCount() < 1)
return jsUndefined();
- Node* node = impl()->nodeForId(args.at(0).toInt32(exec));
+ Node* node = impl()->nodeForId(exec->argument(0).toInt32(exec));
if (!node)
return jsUndefined();
@@ -149,27 +149,27 @@ JSValue JSInjectedScriptHost::nodeForId(ExecState* exec, const ArgList& args)
return toJS(exec, node);
}
-JSValue JSInjectedScriptHost::pushNodePathToFrontend(ExecState* exec, const ArgList& args)
+JSValue JSInjectedScriptHost::pushNodePathToFrontend(ExecState* exec)
{
- if (args.size() < 3)
+ if (exec->argumentCount() < 3)
return jsUndefined();
- Node* node = toNode(args.at(0));
+ Node* node = toNode(exec->argument(0));
if (!node)
return jsUndefined();
- bool withChildren = args.at(1).toBoolean(exec);
- bool selectInUI = args.at(2).toBoolean(exec);
+ bool withChildren = exec->argument(1).toBoolean(exec);
+ bool selectInUI = exec->argument(2).toBoolean(exec);
return jsNumber(exec, impl()->pushNodePathToFrontend(node, withChildren, selectInUI));
}
#if ENABLE(DATABASE)
-JSValue JSInjectedScriptHost::selectDatabase(ExecState*, const ArgList& args)
+JSValue JSInjectedScriptHost::selectDatabase(ExecState* exec)
{
- if (args.size() < 1)
+ if (exec->argumentCount() < 1)
return jsUndefined();
- Database* database = toDatabase(args.at(0));
+ Database* database = toDatabase(exec->argument(0));
if (database)
impl()->selectDatabase(database);
return jsUndefined();
@@ -177,34 +177,34 @@ JSValue JSInjectedScriptHost::selectDatabase(ExecState*, const ArgList& args)
#endif
#if ENABLE(DOM_STORAGE)
-JSValue JSInjectedScriptHost::selectDOMStorage(ExecState*, const ArgList& args)
+JSValue JSInjectedScriptHost::selectDOMStorage(ExecState* exec)
{
- if (args.size() < 1)
+ if (exec->argumentCount() < 1)
return jsUndefined();
InspectorController* ic = impl()->inspectorController();
if (!ic)
return jsUndefined();
- Storage* storage = toStorage(args.at(0));
+ Storage* storage = toStorage(exec->argument(0));
if (storage)
impl()->selectDOMStorage(storage);
return jsUndefined();
}
#endif
-JSValue JSInjectedScriptHost::reportDidDispatchOnInjectedScript(ExecState* exec, const ArgList& args)
+JSValue JSInjectedScriptHost::reportDidDispatchOnInjectedScript(ExecState* exec)
{
- if (args.size() < 3)
+ if (exec->argumentCount() < 3)
return jsUndefined();
- if (!args.at(0).isInt32())
+ if (!exec->argument(0).isInt32())
return jsUndefined();
- int callId = args.at(0).asInt32();
+ int callId = exec->argument(0).asInt32();
- RefPtr<SerializedScriptValue> result(SerializedScriptValue::create(exec, args.at(1)));
+ RefPtr<SerializedScriptValue> result(SerializedScriptValue::create(exec, exec->argument(1)));
bool isException;
- if (!args.at(2).getBoolean(isException))
+ if (!exec->argument(2).getBoolean(isException))
return jsUndefined();
impl()->reportDidDispatchOnInjectedScript(callId, result.get(), isException);
return jsUndefined();
diff --git a/WebCore/bindings/js/JSInspectorFrontendHostCustom.cpp b/WebCore/bindings/js/JSInspectorFrontendHostCustom.cpp
index d18260b..c119adf 100644
--- a/WebCore/bindings/js/JSInspectorFrontendHostCustom.cpp
+++ b/WebCore/bindings/js/JSInspectorFrontendHostCustom.cpp
@@ -49,7 +49,7 @@ using namespace JSC;
namespace WebCore {
-JSValue JSInspectorFrontendHost::platform(ExecState* execState, const ArgList&)
+JSValue JSInspectorFrontendHost::platform(ExecState* execState)
{
#if PLATFORM(MAC)
DEFINE_STATIC_LOCAL(const String, platform, ("mac"));
@@ -63,7 +63,7 @@ JSValue JSInspectorFrontendHost::platform(ExecState* execState, const ArgList&)
return jsString(execState, platform);
}
-JSValue JSInspectorFrontendHost::port(ExecState* execState, const ArgList&)
+JSValue JSInspectorFrontendHost::port(ExecState* execState)
{
#if PLATFORM(QT)
DEFINE_STATIC_LOCAL(const String, port, ("qt"));
@@ -77,31 +77,29 @@ JSValue JSInspectorFrontendHost::port(ExecState* execState, const ArgList&)
return jsString(execState, port);
}
-JSValue JSInspectorFrontendHost::showContextMenu(ExecState* execState, const ArgList& args)
+JSValue JSInspectorFrontendHost::showContextMenu(ExecState* exec)
{
- if (args.size() < 2)
+ if (exec->argumentCount() < 2)
return jsUndefined();
#if ENABLE(CONTEXT_MENUS)
- Event* event = toEvent(args.at(0));
+ Event* event = toEvent(exec->argument(0));
- JSArray* array = asArray(args.at(1));
+ JSArray* array = asArray(exec->argument(1));
Vector<ContextMenuItem*> items;
for (size_t i = 0; i < array->length(); ++i) {
JSObject* item = asObject(array->getIndex(i));
- JSValue label = item->get(execState, Identifier(execState, "label"));
- JSValue id = item->get(execState, Identifier(execState, "id"));
+ JSValue label = item->get(exec, Identifier(exec, "label"));
+ JSValue id = item->get(exec, Identifier(exec, "id"));
if (label.isUndefined() || id.isUndefined())
items.append(new ContextMenuItem(SeparatorType, ContextMenuItemTagNoAction, String()));
else {
- ContextMenuAction typedId = static_cast<ContextMenuAction>(ContextMenuItemBaseCustomTag + id.toInt32(execState));
- items.append(new ContextMenuItem(ActionType, typedId, ustringToString(label.toString(execState))));
+ ContextMenuAction typedId = static_cast<ContextMenuAction>(ContextMenuItemBaseCustomTag + id.toInt32(exec));
+ items.append(new ContextMenuItem(ActionType, typedId, ustringToString(label.toString(exec))));
}
}
impl()->showContextMenu(event, items);
-#else
- UNUSED_PARAM(execState);
#endif
return jsUndefined();
}
diff --git a/WebCore/bindings/js/JSInt16ArrayCustom.cpp b/WebCore/bindings/js/JSInt16ArrayCustom.cpp
index d557c3d..2888a1b 100644
--- a/WebCore/bindings/js/JSInt16ArrayCustom.cpp
+++ b/WebCore/bindings/js/JSInt16ArrayCustom.cpp
@@ -46,9 +46,9 @@ JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, Int16Ar
return getDOMObjectWrapper<JSInt16Array>(exec, globalObject, object);
}
-JSC::JSValue JSInt16Array::set(JSC::ExecState* exec, JSC::ArgList const& args)
+JSC::JSValue JSInt16Array::set(JSC::ExecState* exec)
{
- return setWebGLArrayHelper(exec, impl(), args, toInt16Array);
+ return setWebGLArrayHelper(exec, impl(), toInt16Array);
}
} // namespace WebCore
diff --git a/WebCore/bindings/js/JSInt32ArrayCustom.cpp b/WebCore/bindings/js/JSInt32ArrayCustom.cpp
index 3d0ca79..cfdab63 100644
--- a/WebCore/bindings/js/JSInt32ArrayCustom.cpp
+++ b/WebCore/bindings/js/JSInt32ArrayCustom.cpp
@@ -46,9 +46,9 @@ JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, Int32Ar
return getDOMObjectWrapper<JSInt32Array>(exec, globalObject, object);
}
-JSC::JSValue JSInt32Array::set(JSC::ExecState* exec, JSC::ArgList const& args)
+JSC::JSValue JSInt32Array::set(JSC::ExecState* exec)
{
- return setWebGLArrayHelper(exec, impl(), args, toInt32Array);
+ return setWebGLArrayHelper(exec, impl(), toInt32Array);
}
} // namespace WebCore
diff --git a/WebCore/bindings/js/JSInt8ArrayCustom.cpp b/WebCore/bindings/js/JSInt8ArrayCustom.cpp
index 3c94002..9d41694 100644
--- a/WebCore/bindings/js/JSInt8ArrayCustom.cpp
+++ b/WebCore/bindings/js/JSInt8ArrayCustom.cpp
@@ -48,9 +48,9 @@ JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, Int8Arr
return getDOMObjectWrapper<JSInt8Array>(exec, globalObject, object);
}
-JSC::JSValue JSInt8Array::set(JSC::ExecState* exec, JSC::ArgList const& args)
+JSC::JSValue JSInt8Array::set(JSC::ExecState* exec)
{
- return setWebGLArrayHelper(exec, impl(), args, toInt8Array);
+ return setWebGLArrayHelper(exec, impl(), toInt8Array);
}
} // namespace WebCore
diff --git a/WebCore/bindings/js/JSJavaScriptCallFrameCustom.cpp b/WebCore/bindings/js/JSJavaScriptCallFrameCustom.cpp
index f45abf6..6c04930 100644
--- a/WebCore/bindings/js/JSJavaScriptCallFrameCustom.cpp
+++ b/WebCore/bindings/js/JSJavaScriptCallFrameCustom.cpp
@@ -35,10 +35,10 @@ using namespace JSC;
namespace WebCore {
-JSValue JSJavaScriptCallFrame::evaluate(ExecState* exec, const ArgList& args)
+JSValue JSJavaScriptCallFrame::evaluate(ExecState* exec)
{
JSValue exception;
- JSValue result = impl()->evaluate(args.at(0).toString(exec), exception);
+ JSValue result = impl()->evaluate(exec->argument(0).toString(exec), exception);
if (exception)
exec->setException(exception);
@@ -85,14 +85,14 @@ JSValue JSJavaScriptCallFrame::scopeChain(ExecState* exec) const
return constructArray(exec, list);
}
-JSValue JSJavaScriptCallFrame::scopeType(ExecState* exec, const ArgList& args)
+JSValue JSJavaScriptCallFrame::scopeType(ExecState* exec)
{
if (!impl()->scopeChain())
return jsUndefined();
- if (!args.at(0).isInt32())
+ if (!exec->argument(0).isInt32())
return jsUndefined();
- int index = args.at(0).asInt32();
+ int index = exec->argument(0).asInt32();
const ScopeChainNode* scopeChain = impl()->scopeChain();
ScopeChainIterator end = scopeChain->end();
diff --git a/WebCore/bindings/js/JSLocationCustom.cpp b/WebCore/bindings/js/JSLocationCustom.cpp
index da35c23..76005fa 100644
--- a/WebCore/bindings/js/JSLocationCustom.cpp
+++ b/WebCore/bindings/js/JSLocationCustom.cpp
@@ -301,13 +301,13 @@ void JSLocation::setHash(ExecState* exec, JSValue value)
navigateIfAllowed(exec, frame, url, !frame->script()->anyPageIsProcessingUserGesture(), false);
}
-JSValue JSLocation::replace(ExecState* exec, const ArgList& args)
+JSValue JSLocation::replace(ExecState* exec)
{
Frame* frame = impl()->frame();
if (!frame)
return jsUndefined();
- KURL url = completeURL(exec, ustringToString(args.at(0).toString(exec)));
+ KURL url = completeURL(exec, ustringToString(exec->argument(0).toString(exec)));
if (url.isNull())
return jsUndefined();
@@ -318,7 +318,7 @@ JSValue JSLocation::replace(ExecState* exec, const ArgList& args)
return jsUndefined();
}
-JSValue JSLocation::reload(ExecState* exec, const ArgList&)
+JSValue JSLocation::reload(ExecState* exec)
{
Frame* frame = impl()->frame();
if (!frame || !allowsAccessFromFrame(exec, frame))
@@ -329,13 +329,13 @@ JSValue JSLocation::reload(ExecState* exec, const ArgList&)
return jsUndefined();
}
-JSValue JSLocation::assign(ExecState* exec, const ArgList& args)
+JSValue JSLocation::assign(ExecState* exec)
{
Frame* frame = impl()->frame();
if (!frame)
return jsUndefined();
- KURL url = completeURL(exec, ustringToString(args.at(0).toString(exec)));
+ KURL url = completeURL(exec, ustringToString(exec->argument(0).toString(exec)));
if (url.isNull())
return jsUndefined();
@@ -347,7 +347,7 @@ JSValue JSLocation::assign(ExecState* exec, const ArgList& args)
return jsUndefined();
}
-JSValue JSLocation::toString(ExecState* exec, const ArgList&)
+JSValue JSLocation::toString(ExecState* exec)
{
Frame* frame = impl()->frame();
if (!frame || !allowsAccessFromFrame(exec, frame))
diff --git a/WebCore/bindings/js/JSMessageEventCustom.cpp b/WebCore/bindings/js/JSMessageEventCustom.cpp
index fc1f542..b3dabae 100644
--- a/WebCore/bindings/js/JSMessageEventCustom.cpp
+++ b/WebCore/bindings/js/JSMessageEventCustom.cpp
@@ -54,19 +54,19 @@ JSValue JSMessageEvent::ports(ExecState* exec) const
return constructArray(exec, list);
}
-JSC::JSValue JSMessageEvent::initMessageEvent(JSC::ExecState* exec, const JSC::ArgList& args)
+JSC::JSValue JSMessageEvent::initMessageEvent(JSC::ExecState* exec)
{
- const UString& typeArg = args.at(0).toString(exec);
- bool canBubbleArg = args.at(1).toBoolean(exec);
- bool cancelableArg = args.at(2).toBoolean(exec);
- PassRefPtr<SerializedScriptValue> dataArg = SerializedScriptValue::create(exec, args.at(3));
- const UString& originArg = args.at(4).toString(exec);
- const UString& lastEventIdArg = args.at(5).toString(exec);
- DOMWindow* sourceArg = toDOMWindow(args.at(6));
+ const UString& typeArg = exec->argument(0).toString(exec);
+ bool canBubbleArg = exec->argument(1).toBoolean(exec);
+ bool cancelableArg = exec->argument(2).toBoolean(exec);
+ PassRefPtr<SerializedScriptValue> dataArg = SerializedScriptValue::create(exec, exec->argument(3));
+ const UString& originArg = exec->argument(4).toString(exec);
+ const UString& lastEventIdArg = exec->argument(5).toString(exec);
+ DOMWindow* sourceArg = toDOMWindow(exec->argument(6));
OwnPtr<MessagePortArray> messagePorts;
- if (!args.at(7).isUndefinedOrNull()) {
+ if (!exec->argument(7).isUndefinedOrNull()) {
messagePorts = new MessagePortArray();
- fillMessagePortArray(exec, args.at(7), *messagePorts);
+ fillMessagePortArray(exec, exec->argument(7), *messagePorts);
if (exec->hadException())
return jsUndefined();
}
diff --git a/WebCore/bindings/js/JSMessagePortCustom.cpp b/WebCore/bindings/js/JSMessagePortCustom.cpp
index 4c1491d..79c1811 100644
--- a/WebCore/bindings/js/JSMessagePortCustom.cpp
+++ b/WebCore/bindings/js/JSMessagePortCustom.cpp
@@ -52,9 +52,9 @@ void JSMessagePort::markChildren(MarkStack& markStack)
m_impl->markJSEventListeners(markStack);
}
-JSC::JSValue JSMessagePort::postMessage(JSC::ExecState* exec, const JSC::ArgList& args)
+JSC::JSValue JSMessagePort::postMessage(JSC::ExecState* exec)
{
- return handlePostMessage(exec, args, impl());
+ return handlePostMessage(exec, impl());
}
void fillMessagePortArray(JSC::ExecState* exec, JSC::JSValue value, MessagePortArray& portArray)
diff --git a/WebCore/bindings/js/JSMessagePortCustom.h b/WebCore/bindings/js/JSMessagePortCustom.h
index 17b1eae..62ebef1 100644
--- a/WebCore/bindings/js/JSMessagePortCustom.h
+++ b/WebCore/bindings/js/JSMessagePortCustom.h
@@ -47,11 +47,11 @@ namespace WebCore {
// Helper function to convert from JS postMessage arguments to WebCore postMessage arguments.
template <typename T>
- inline JSC::JSValue handlePostMessage(JSC::ExecState* exec, const JSC::ArgList& args, T* impl)
+ inline JSC::JSValue handlePostMessage(JSC::ExecState* exec, T* impl)
{
- PassRefPtr<SerializedScriptValue> message = SerializedScriptValue::create(exec, args.at(0));
+ PassRefPtr<SerializedScriptValue> message = SerializedScriptValue::create(exec, exec->argument(0));
MessagePortArray portArray;
- fillMessagePortArray(exec, args.at(1), portArray);
+ fillMessagePortArray(exec, exec->argument(1), portArray);
if (exec->hadException())
return JSC::jsUndefined();
diff --git a/WebCore/bindings/js/JSNodeCustom.cpp b/WebCore/bindings/js/JSNodeCustom.cpp
index 747f238..b7c50f2 100644
--- a/WebCore/bindings/js/JSNodeCustom.cpp
+++ b/WebCore/bindings/js/JSNodeCustom.cpp
@@ -68,47 +68,47 @@ using namespace JSC;
namespace WebCore {
-JSValue JSNode::insertBefore(ExecState* exec, const ArgList& args)
+JSValue JSNode::insertBefore(ExecState* exec)
{
Node* imp = static_cast<Node*>(impl());
ExceptionCode ec = 0;
- bool ok = imp->insertBefore(toNode(args.at(0)), toNode(args.at(1)), ec, true);
+ bool ok = imp->insertBefore(toNode(exec->argument(0)), toNode(exec->argument(1)), ec, true);
setDOMException(exec, ec);
if (ok)
- return args.at(0);
+ return exec->argument(0);
return jsNull();
}
-JSValue JSNode::replaceChild(ExecState* exec, const ArgList& args)
+JSValue JSNode::replaceChild(ExecState* exec)
{
Node* imp = static_cast<Node*>(impl());
ExceptionCode ec = 0;
- bool ok = imp->replaceChild(toNode(args.at(0)), toNode(args.at(1)), ec, true);
+ bool ok = imp->replaceChild(toNode(exec->argument(0)), toNode(exec->argument(1)), ec, true);
setDOMException(exec, ec);
if (ok)
- return args.at(1);
+ return exec->argument(1);
return jsNull();
}
-JSValue JSNode::removeChild(ExecState* exec, const ArgList& args)
+JSValue JSNode::removeChild(ExecState* exec)
{
Node* imp = static_cast<Node*>(impl());
ExceptionCode ec = 0;
- bool ok = imp->removeChild(toNode(args.at(0)), ec);
+ bool ok = imp->removeChild(toNode(exec->argument(0)), ec);
setDOMException(exec, ec);
if (ok)
- return args.at(0);
+ return exec->argument(0);
return jsNull();
}
-JSValue JSNode::appendChild(ExecState* exec, const ArgList& args)
+JSValue JSNode::appendChild(ExecState* exec)
{
Node* imp = static_cast<Node*>(impl());
ExceptionCode ec = 0;
- bool ok = imp->appendChild(toNode(args.at(0)), ec, true);
+ bool ok = imp->appendChild(toNode(exec->argument(0)), ec, true);
setDOMException(exec, ec);
if (ok)
- return args.at(0);
+ return exec->argument(0);
return jsNull();
}
diff --git a/WebCore/bindings/js/JSNodeListCustom.cpp b/WebCore/bindings/js/JSNodeListCustom.cpp
index d013e4f..6d51943 100644
--- a/WebCore/bindings/js/JSNodeListCustom.cpp
+++ b/WebCore/bindings/js/JSNodeListCustom.cpp
@@ -36,13 +36,13 @@ using namespace JSC;
namespace WebCore {
// Need to support call so that list(0) works.
-static JSValue JSC_HOST_CALL callNodeList(ExecState* exec, JSObject* function, JSValue, const ArgList& args)
+static JSValue JSC_HOST_CALL callNodeList(ExecState* exec)
{
bool ok;
- unsigned index = args.at(0).toString(exec).toUInt32(&ok);
+ unsigned index = exec->argument(0).toString(exec).toUInt32(&ok);
if (!ok)
return jsUndefined();
- return toJS(exec, static_cast<JSNodeList*>(function)->impl()->item(index));
+ return toJS(exec, static_cast<JSNodeList*>(exec->callee())->impl()->item(index));
}
CallType JSNodeList::getCallData(CallData& callData)
diff --git a/WebCore/bindings/js/JSPluginElementFunctions.cpp b/WebCore/bindings/js/JSPluginElementFunctions.cpp
index b20b9a7..a260782 100644
--- a/WebCore/bindings/js/JSPluginElementFunctions.cpp
+++ b/WebCore/bindings/js/JSPluginElementFunctions.cpp
@@ -105,11 +105,11 @@ bool runtimeObjectCustomPut(ExecState* exec, const Identifier& propertyName, JSV
return true;
}
-static JSValue JSC_HOST_CALL callPlugin(ExecState* exec, JSObject* function, JSValue, const ArgList& args)
+static JSValue JSC_HOST_CALL callPlugin(ExecState* exec)
{
- Instance* instance = pluginInstance(static_cast<JSHTMLElement*>(function)->impl());
+ Instance* instance = pluginInstance(static_cast<JSHTMLElement*>(exec->callee())->impl());
instance->begin();
- JSValue result = instance->invokeDefaultMethod(exec, args);
+ JSValue result = instance->invokeDefaultMethod(exec);
instance->end();
return result;
}
diff --git a/WebCore/bindings/js/JSSQLResultSetRowListCustom.cpp b/WebCore/bindings/js/JSSQLResultSetRowListCustom.cpp
index 0039a05..2a504d3 100644
--- a/WebCore/bindings/js/JSSQLResultSetRowListCustom.cpp
+++ b/WebCore/bindings/js/JSSQLResultSetRowListCustom.cpp
@@ -39,10 +39,10 @@ using namespace JSC;
namespace WebCore {
-JSValue JSSQLResultSetRowList::item(ExecState* exec, const ArgList& args)
+JSValue JSSQLResultSetRowList::item(ExecState* exec)
{
bool indexOk;
- int index = args.at(0).toInt32(exec, indexOk);
+ int index = exec->argument(0).toInt32(exec, indexOk);
if (!indexOk) {
setDOMException(exec, TYPE_MISMATCH_ERR);
return jsUndefined();
diff --git a/WebCore/bindings/js/JSSQLTransactionCustom.cpp b/WebCore/bindings/js/JSSQLTransactionCustom.cpp
index 13cc0bc..44ebb02 100644
--- a/WebCore/bindings/js/JSSQLTransactionCustom.cpp
+++ b/WebCore/bindings/js/JSSQLTransactionCustom.cpp
@@ -42,21 +42,21 @@ using namespace JSC;
namespace WebCore {
-JSValue JSSQLTransaction::executeSql(ExecState* exec, const ArgList& args)
+JSValue JSSQLTransaction::executeSql(ExecState* exec)
{
- if (args.isEmpty()) {
+ if (!exec->argumentCount()) {
setDOMException(exec, SYNTAX_ERR);
return jsUndefined();
}
- String sqlStatement = ustringToString(args.at(0).toString(exec));
+ String sqlStatement = ustringToString(exec->argument(0).toString(exec));
if (exec->hadException())
return jsUndefined();
// Now assemble the list of SQL arguments
Vector<SQLValue> sqlValues;
- if (!args.at(1).isUndefinedOrNull()) {
- JSObject* object = args.at(1).getObject();
+ if (!exec->argument(1).isUndefinedOrNull()) {
+ JSObject* object = exec->argument(1).getObject();
if (!object) {
setDOMException(exec, TYPE_MISMATCH_ERR);
return jsUndefined();
@@ -88,8 +88,8 @@ JSValue JSSQLTransaction::executeSql(ExecState* exec, const ArgList& args)
}
RefPtr<SQLStatementCallback> callback;
- if (!args.at(2).isUndefinedOrNull()) {
- JSObject* object = args.at(2).getObject();
+ if (!exec->argument(2).isUndefinedOrNull()) {
+ JSObject* object = exec->argument(2).getObject();
if (!object) {
setDOMException(exec, TYPE_MISMATCH_ERR);
return jsUndefined();
@@ -99,8 +99,8 @@ JSValue JSSQLTransaction::executeSql(ExecState* exec, const ArgList& args)
}
RefPtr<SQLStatementErrorCallback> errorCallback;
- if (!args.at(3).isUndefinedOrNull()) {
- JSObject* object = args.at(3).getObject();
+ if (!exec->argument(3).isUndefinedOrNull()) {
+ JSObject* object = exec->argument(3).getObject();
if (!object) {
setDOMException(exec, TYPE_MISMATCH_ERR);
return jsUndefined();
diff --git a/WebCore/bindings/js/JSSQLTransactionSyncCustom.cpp b/WebCore/bindings/js/JSSQLTransactionSyncCustom.cpp
index 69fc6cf..08f42e8 100644
--- a/WebCore/bindings/js/JSSQLTransactionSyncCustom.cpp
+++ b/WebCore/bindings/js/JSSQLTransactionSyncCustom.cpp
@@ -41,21 +41,21 @@ using namespace JSC;
namespace WebCore {
-JSValue JSSQLTransactionSync::executeSql(ExecState* exec, const ArgList& args)
+JSValue JSSQLTransactionSync::executeSql(ExecState* exec)
{
- if (args.isEmpty()) {
+ if (!exec->argumentCount()) {
setDOMException(exec, SYNTAX_ERR);
return jsUndefined();
}
- String sqlStatement = ustringToString(args.at(0).toString(exec));
+ String sqlStatement = ustringToString(exec->argument(0).toString(exec));
if (exec->hadException())
return jsUndefined();
// Now assemble the list of SQL arguments
Vector<SQLValue> sqlValues;
- if (!args.at(1).isUndefinedOrNull()) {
- JSObject* object = args.at(1).getObject();
+ if (!exec->argument(1).isUndefinedOrNull()) {
+ JSObject* object = exec->argument(1).getObject();
if (!object) {
setDOMException(exec, TYPE_MISMATCH_ERR);
return jsUndefined();
diff --git a/WebCore/bindings/js/JSSVGLengthCustom.cpp b/WebCore/bindings/js/JSSVGLengthCustom.cpp
index 33bbf30..c7cfdb0 100644
--- a/WebCore/bindings/js/JSSVGLengthCustom.cpp
+++ b/WebCore/bindings/js/JSSVGLengthCustom.cpp
@@ -35,13 +35,13 @@ JSValue JSSVGLength::value(ExecState* exec) const
return jsNumber(exec, podImp.value(context));
}
-JSValue JSSVGLength::convertToSpecifiedUnits(ExecState* exec, const ArgList& args)
+JSValue JSSVGLength::convertToSpecifiedUnits(ExecState* exec)
{
JSSVGPODTypeWrapper<SVGLength>* imp = impl();
SVGElement* context = JSSVGContextCache::svgContextForDOMObject(this);
SVGLength podImp(*imp);
- podImp.convertToSpecifiedUnits(args.at(0).toInt32(exec), context);
+ podImp.convertToSpecifiedUnits(exec->argument(0).toInt32(exec), context);
imp->commitChange(podImp, this);
return jsUndefined();
diff --git a/WebCore/bindings/js/JSSVGMatrixCustom.cpp b/WebCore/bindings/js/JSSVGMatrixCustom.cpp
index 59e3f03..149da8a 100644
--- a/WebCore/bindings/js/JSSVGMatrixCustom.cpp
+++ b/WebCore/bindings/js/JSSVGMatrixCustom.cpp
@@ -31,15 +31,15 @@ using namespace JSC;
namespace WebCore {
-JSValue JSSVGMatrix::multiply(ExecState* exec, const ArgList& args)
+JSValue JSSVGMatrix::multiply(ExecState* exec)
{
- if (args.size() < 1)
+ if (exec->argumentCount() < 1)
return throwError(exec, SyntaxError, "Not enough arguments");
- if (!args.at(0).inherits(&JSSVGMatrix::s_info))
+ if (!exec->argument(0).inherits(&JSSVGMatrix::s_info))
return throwError(exec, TypeError, "secondMatrix argument was not a SVGMatrix");
- JSSVGMatrix* matrixObj = static_cast<JSSVGMatrix*>(asObject(args.at(0)));
+ JSSVGMatrix* matrixObj = static_cast<JSSVGMatrix*>(asObject(exec->argument(0)));
AffineTransform m1(*impl());
AffineTransform m2(*(matrixObj->impl()));
@@ -48,7 +48,7 @@ JSValue JSSVGMatrix::multiply(ExecState* exec, const ArgList& args)
return toJS(exec, globalObject(), JSSVGStaticPODTypeWrapper<AffineTransform>::create(m1.multLeft(m2)).get(), context);
}
-JSValue JSSVGMatrix::inverse(ExecState* exec, const ArgList&)
+JSValue JSSVGMatrix::inverse(ExecState* exec)
{
AffineTransform imp(*impl());
@@ -61,12 +61,12 @@ JSValue JSSVGMatrix::inverse(ExecState* exec, const ArgList&)
return result;
}
-JSValue JSSVGMatrix::rotateFromVector(ExecState* exec, const ArgList& args)
+JSValue JSSVGMatrix::rotateFromVector(ExecState* exec)
{
AffineTransform imp(*impl());
- float x = args.at(0).toFloat(exec);
- float y = args.at(1).toFloat(exec);
+ float x = exec->argument(0).toFloat(exec);
+ float y = exec->argument(1).toFloat(exec);
SVGElement* context = JSSVGContextCache::svgContextForDOMObject(this);
JSValue result = toJS(exec, globalObject(), JSSVGStaticPODTypeWrapper<AffineTransform>::create(imp.rotateFromVector(x, y)).get(), context);
diff --git a/WebCore/bindings/js/JSSVGPODListCustom.h b/WebCore/bindings/js/JSSVGPODListCustom.h
index 8a0654c..9db5618 100644
--- a/WebCore/bindings/js/JSSVGPODListCustom.h
+++ b/WebCore/bindings/js/JSSVGPODListCustom.h
@@ -89,7 +89,7 @@ static JSC::JSValue finishSetterReadOnlyResult(JSC::ExecState* exec, ExceptionCo
}
template<typename JSPODListType, typename PODType>
-static JSC::JSValue clear(JSPODListType* wrapper, JSC::ExecState* exec, const JSC::ArgList&,
+static JSC::JSValue clear(JSPODListType* wrapper, JSC::ExecState* exec,
typename JSSVGPODListTraits<PODType>::ConversionCallback)
{
ExceptionCode ec = 0;
@@ -105,21 +105,21 @@ static JSC::JSValue clear(JSPODListType* wrapper, JSC::ExecState* exec, const JS
}
template<typename JSPODListType, typename PODType>
-static JSC::JSValue initialize(JSPODListType* wrapper, JSC::ExecState* exec, const JSC::ArgList& args,
+static JSC::JSValue initialize(JSPODListType* wrapper, JSC::ExecState* exec,
typename JSSVGPODListTraits<PODType>::ConversionCallback conversion)
{
ExceptionCode ec = 0;
typename JSSVGPODListTraits<PODType>::PODList* listImp = wrapper->impl();
return finishSetter<JSPODListType, PODType>(exec, ec, wrapper,
- listImp->initialize(JSSVGPODListTraits<PODType>::PODListItem::copy(conversion(args.at(0))), ec));
+ listImp->initialize(JSSVGPODListTraits<PODType>::PODListItem::copy(conversion(exec->argument(0))), ec));
}
template<typename JSPODListType, typename PODType>
-static JSC::JSValue getItem(JSPODListType* wrapper, JSC::ExecState* exec, const JSC::ArgList& args,
+static JSC::JSValue getItem(JSPODListType* wrapper, JSC::ExecState* exec,
typename JSSVGPODListTraits<PODType>::ConversionCallback)
{
bool indexOk = false;
- unsigned index = args.at(0).toUInt32(exec, indexOk);
+ unsigned index = exec->argument(0).toUInt32(exec, indexOk);
if (!indexOk) {
setDOMException(exec, TYPE_MISMATCH_ERR);
return JSC::jsUndefined();
@@ -132,11 +132,11 @@ static JSC::JSValue getItem(JSPODListType* wrapper, JSC::ExecState* exec, const
}
template<typename JSPODListType, typename PODType>
-static JSC::JSValue insertItemBefore(JSPODListType* wrapper, JSC::ExecState* exec, const JSC::ArgList& args,
+static JSC::JSValue insertItemBefore(JSPODListType* wrapper, JSC::ExecState* exec,
typename JSSVGPODListTraits<PODType>::ConversionCallback conversion)
{
bool indexOk = false;
- unsigned index = args.at(1).toUInt32(exec, indexOk);
+ unsigned index = exec->argument(1).toUInt32(exec, indexOk);
if (!indexOk) {
setDOMException(exec, TYPE_MISMATCH_ERR);
return JSC::jsUndefined();
@@ -145,15 +145,15 @@ static JSC::JSValue insertItemBefore(JSPODListType* wrapper, JSC::ExecState* exe
ExceptionCode ec = 0;
typename JSSVGPODListTraits<PODType>::PODList* listImp = wrapper->impl();
return finishSetter<JSPODListType, PODType>(exec, ec, wrapper,
- listImp->insertItemBefore(JSSVGPODListTraits<PODType>::PODListItem::copy(conversion(args.at(0))), index, ec));
+ listImp->insertItemBefore(JSSVGPODListTraits<PODType>::PODListItem::copy(conversion(exec->argument(0))), index, ec));
}
template<typename JSPODListType, typename PODType>
-static JSC::JSValue replaceItem(JSPODListType* wrapper, JSC::ExecState* exec, const JSC::ArgList& args,
+static JSC::JSValue replaceItem(JSPODListType* wrapper, JSC::ExecState* exec,
typename JSSVGPODListTraits<PODType>::ConversionCallback conversion)
{
bool indexOk = false;
- unsigned index = args.at(1).toUInt32(exec, indexOk);
+ unsigned index = exec->argument(1).toUInt32(exec, indexOk);
if (!indexOk) {
setDOMException(exec, TYPE_MISMATCH_ERR);
return JSC::jsUndefined();
@@ -162,15 +162,15 @@ static JSC::JSValue replaceItem(JSPODListType* wrapper, JSC::ExecState* exec, co
ExceptionCode ec = 0;
typename JSSVGPODListTraits<PODType>::PODList* listImp = wrapper->impl();
return finishSetter<JSPODListType, PODType>(exec, ec, wrapper,
- listImp->replaceItem(JSSVGPODListTraits<PODType>::PODListItem::copy(conversion(args.at(0))), index, ec));
+ listImp->replaceItem(JSSVGPODListTraits<PODType>::PODListItem::copy(conversion(exec->argument(0))), index, ec));
}
template<typename JSPODListType, typename PODType>
-static JSC::JSValue removeItem(JSPODListType* wrapper, JSC::ExecState* exec, const JSC::ArgList& args,
+static JSC::JSValue removeItem(JSPODListType* wrapper, JSC::ExecState* exec,
typename JSSVGPODListTraits<PODType>::ConversionCallback)
{
bool indexOk = false;
- unsigned index = args.at(0).toUInt32(exec, indexOk);
+ unsigned index = exec->argument(0).toUInt32(exec, indexOk);
if (!indexOk) {
setDOMException(exec, TYPE_MISMATCH_ERR);
return JSC::jsUndefined();
@@ -183,13 +183,13 @@ static JSC::JSValue removeItem(JSPODListType* wrapper, JSC::ExecState* exec, con
}
template<typename JSPODListType, typename PODType>
-static JSC::JSValue appendItem(JSPODListType* wrapper, JSC::ExecState* exec, const JSC::ArgList& args,
+static JSC::JSValue appendItem(JSPODListType* wrapper, JSC::ExecState* exec,
typename JSSVGPODListTraits<PODType>::ConversionCallback conversion)
{
ExceptionCode ec = 0;
typename JSSVGPODListTraits<PODType>::PODList* listImp = wrapper->impl();
return finishSetter<JSPODListType, PODType>(exec, ec, wrapper,
- listImp->appendItem(JSSVGPODListTraits<PODType>::PODListItem::copy(conversion(args.at(0))), ec));
+ listImp->appendItem(JSSVGPODListTraits<PODType>::PODListItem::copy(conversion(exec->argument(0))), ec));
}
}
diff --git a/WebCore/bindings/js/JSSVGPathSegListCustom.cpp b/WebCore/bindings/js/JSSVGPathSegListCustom.cpp
index 4831727..850e533 100644
--- a/WebCore/bindings/js/JSSVGPathSegListCustom.cpp
+++ b/WebCore/bindings/js/JSSVGPathSegListCustom.cpp
@@ -36,7 +36,7 @@ using namespace JSC;
namespace WebCore {
-JSValue JSSVGPathSegList::clear(ExecState* exec, const ArgList&)
+JSValue JSSVGPathSegList::clear(ExecState* exec)
{
ExceptionCode ec = 0;
@@ -49,10 +49,10 @@ JSValue JSSVGPathSegList::clear(ExecState* exec, const ArgList&)
return jsUndefined();
}
-JSValue JSSVGPathSegList::initialize(ExecState* exec, const ArgList& args)
+JSValue JSSVGPathSegList::initialize(ExecState* exec)
{
ExceptionCode ec = 0;
- SVGPathSeg* newItem = toSVGPathSeg(args.at(0));
+ SVGPathSeg* newItem = toSVGPathSeg(exec->argument(0));
SVGPathSegList* list = impl();
@@ -66,12 +66,12 @@ JSValue JSSVGPathSegList::initialize(ExecState* exec, const ArgList& args)
return result;
}
-JSValue JSSVGPathSegList::getItem(ExecState* exec, const ArgList& args)
+JSValue JSSVGPathSegList::getItem(ExecState* exec)
{
ExceptionCode ec = 0;
bool indexOk;
- unsigned index = args.at(0).toInt32(exec, indexOk);
+ unsigned index = exec->argument(0).toInt32(exec, indexOk);
if (!indexOk) {
setDOMException(exec, TYPE_MISMATCH_ERR);
return jsUndefined();
@@ -86,13 +86,13 @@ JSValue JSSVGPathSegList::getItem(ExecState* exec, const ArgList& args)
return result;
}
-JSValue JSSVGPathSegList::insertItemBefore(ExecState* exec, const ArgList& args)
+JSValue JSSVGPathSegList::insertItemBefore(ExecState* exec)
{
ExceptionCode ec = 0;
- SVGPathSeg* newItem = toSVGPathSeg(args.at(0));
+ SVGPathSeg* newItem = toSVGPathSeg(exec->argument(0));
bool indexOk;
- unsigned index = args.at(1).toInt32(exec, indexOk);
+ unsigned index = exec->argument(1).toInt32(exec, indexOk);
if (!indexOk) {
setDOMException(exec, TYPE_MISMATCH_ERR);
return jsUndefined();
@@ -108,13 +108,13 @@ JSValue JSSVGPathSegList::insertItemBefore(ExecState* exec, const ArgList& args)
return result;
}
-JSValue JSSVGPathSegList::replaceItem(ExecState* exec, const ArgList& args)
+JSValue JSSVGPathSegList::replaceItem(ExecState* exec)
{
ExceptionCode ec = 0;
- SVGPathSeg* newItem = toSVGPathSeg(args.at(0));
+ SVGPathSeg* newItem = toSVGPathSeg(exec->argument(0));
bool indexOk;
- unsigned index = args.at(1).toInt32(exec, indexOk);
+ unsigned index = exec->argument(1).toInt32(exec, indexOk);
if (!indexOk) {
setDOMException(exec, TYPE_MISMATCH_ERR);
return jsUndefined();
@@ -130,12 +130,12 @@ JSValue JSSVGPathSegList::replaceItem(ExecState* exec, const ArgList& args)
return result;
}
-JSValue JSSVGPathSegList::removeItem(ExecState* exec, const ArgList& args)
+JSValue JSSVGPathSegList::removeItem(ExecState* exec)
{
ExceptionCode ec = 0;
bool indexOk;
- unsigned index = args.at(0).toInt32(exec, indexOk);
+ unsigned index = exec->argument(0).toInt32(exec, indexOk);
if (!indexOk) {
setDOMException(exec, TYPE_MISMATCH_ERR);
return jsUndefined();
@@ -153,10 +153,10 @@ JSValue JSSVGPathSegList::removeItem(ExecState* exec, const ArgList& args)
return result;
}
-JSValue JSSVGPathSegList::appendItem(ExecState* exec, const ArgList& args)
+JSValue JSSVGPathSegList::appendItem(ExecState* exec)
{
ExceptionCode ec = 0;
- SVGPathSeg* newItem = toSVGPathSeg(args.at(0));
+ SVGPathSeg* newItem = toSVGPathSeg(exec->argument(0));
SVGPathSegList* list = impl();
SVGElement* context = JSSVGContextCache::svgContextForDOMObject(this);
diff --git a/WebCore/bindings/js/JSUint16ArrayCustom.cpp b/WebCore/bindings/js/JSUint16ArrayCustom.cpp
index bac5220..4eb254f 100644
--- a/WebCore/bindings/js/JSUint16ArrayCustom.cpp
+++ b/WebCore/bindings/js/JSUint16ArrayCustom.cpp
@@ -46,9 +46,9 @@ JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, Uint16A
return getDOMObjectWrapper<JSUint16Array>(exec, globalObject, object);
}
-JSC::JSValue JSUint16Array::set(JSC::ExecState* exec, JSC::ArgList const& args)
+JSC::JSValue JSUint16Array::set(JSC::ExecState* exec)
{
- return setWebGLArrayHelper(exec, impl(), args, toUint16Array);
+ return setWebGLArrayHelper(exec, impl(), toUint16Array);
}
} // namespace WebCore
diff --git a/WebCore/bindings/js/JSUint32ArrayCustom.cpp b/WebCore/bindings/js/JSUint32ArrayCustom.cpp
index 926079d..2826b6a 100644
--- a/WebCore/bindings/js/JSUint32ArrayCustom.cpp
+++ b/WebCore/bindings/js/JSUint32ArrayCustom.cpp
@@ -46,9 +46,9 @@ JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, Uint32A
return getDOMObjectWrapper<JSUint32Array>(exec, globalObject, object);
}
-JSC::JSValue JSUint32Array::set(JSC::ExecState* exec, JSC::ArgList const& args)
+JSC::JSValue JSUint32Array::set(JSC::ExecState* exec)
{
- return setWebGLArrayHelper(exec, impl(), args, toUint32Array);
+ return setWebGLArrayHelper(exec, impl(), toUint32Array);
}
} // namespace WebCore
diff --git a/WebCore/bindings/js/JSUint8ArrayCustom.cpp b/WebCore/bindings/js/JSUint8ArrayCustom.cpp
index 40bfda3..45c80c0 100644
--- a/WebCore/bindings/js/JSUint8ArrayCustom.cpp
+++ b/WebCore/bindings/js/JSUint8ArrayCustom.cpp
@@ -46,9 +46,9 @@ JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, Uint8Ar
return getDOMObjectWrapper<JSUint8Array>(exec, globalObject, object);
}
-JSC::JSValue JSUint8Array::set(JSC::ExecState* exec, JSC::ArgList const& args)
+JSC::JSValue JSUint8Array::set(JSC::ExecState* exec)
{
- return setWebGLArrayHelper(exec, impl(), args, toUint8Array);
+ return setWebGLArrayHelper(exec, impl(), toUint8Array);
}
} // namespace WebCore
diff --git a/WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp b/WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp
index c938aec..02dae08 100644
--- a/WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp
+++ b/WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp
@@ -67,21 +67,21 @@ using namespace JSC;
namespace WebCore {
-JSValue JSWebGLRenderingContext::bufferData(JSC::ExecState* exec, JSC::ArgList const& args)
+JSValue JSWebGLRenderingContext::bufferData(JSC::ExecState* exec)
{
- if (args.size() != 3)
+ if (exec->argumentCount() != 3)
return throwError(exec, SyntaxError);
- unsigned target = args.at(0).toInt32(exec);
- unsigned usage = args.at(2).toInt32(exec);
+ unsigned target = exec->argument(0).toInt32(exec);
+ unsigned usage = exec->argument(2).toInt32(exec);
ExceptionCode ec = 0;
// If argument 1 is a number, we are initializing this buffer to that size
- if (!args.at(1).isObject()) {
- unsigned int count = args.at(1).toInt32(exec);
+ if (!exec->argument(1).isObject()) {
+ unsigned int count = exec->argument(1).toInt32(exec);
static_cast<WebGLRenderingContext*>(impl())->bufferData(target, count, usage, ec);
} else {
- ArrayBufferView* array = toArrayBufferView(args.at(1));
+ ArrayBufferView* array = toArrayBufferView(exec->argument(1));
static_cast<WebGLRenderingContext*>(impl())->bufferData(target, array, usage, ec);
}
@@ -89,16 +89,16 @@ JSValue JSWebGLRenderingContext::bufferData(JSC::ExecState* exec, JSC::ArgList c
return jsUndefined();
}
-JSValue JSWebGLRenderingContext::bufferSubData(JSC::ExecState* exec, JSC::ArgList const& args)
+JSValue JSWebGLRenderingContext::bufferSubData(JSC::ExecState* exec)
{
- if (args.size() != 3)
+ if (exec->argumentCount() != 3)
return throwError(exec, SyntaxError);
- unsigned target = args.at(0).toInt32(exec);
- unsigned offset = args.at(1).toInt32(exec);
+ unsigned target = exec->argument(0).toInt32(exec);
+ unsigned offset = exec->argument(1).toInt32(exec);
ExceptionCode ec = 0;
- ArrayBufferView* array = toArrayBufferView(args.at(2));
+ ArrayBufferView* array = toArrayBufferView(exec->argument(2));
static_cast<WebGLRenderingContext*>(impl())->bufferSubData(target, offset, array, ec);
@@ -149,17 +149,17 @@ enum ObjectType {
kBuffer, kRenderbuffer, kTexture, kVertexAttrib
};
-static JSValue getObjectParameter(JSWebGLRenderingContext* obj, ExecState* exec, const ArgList& args, ObjectType objectType)
+static JSValue getObjectParameter(JSWebGLRenderingContext* obj, ExecState* exec, ObjectType objectType)
{
- if (args.size() != 2)
+ if (exec->argumentCount() != 2)
return throwError(exec, SyntaxError);
ExceptionCode ec = 0;
WebGLRenderingContext* context = static_cast<WebGLRenderingContext*>(obj->impl());
- unsigned target = args.at(0).toInt32(exec);
+ unsigned target = exec->argument(0).toInt32(exec);
if (exec->hadException())
return jsUndefined();
- unsigned pname = args.at(1).toInt32(exec);
+ unsigned pname = exec->argument(1).toInt32(exec);
if (exec->hadException())
return jsUndefined();
WebGLGetInfo info;
@@ -192,25 +192,25 @@ enum WhichProgramCall {
kProgramParameter, kUniform
};
-JSValue JSWebGLRenderingContext::getBufferParameter(ExecState* exec, const ArgList& args)
+JSValue JSWebGLRenderingContext::getBufferParameter(ExecState* exec)
{
- return getObjectParameter(this, exec, args, kBuffer);
+ return getObjectParameter(this, exec, kBuffer);
}
-JSValue JSWebGLRenderingContext::getFramebufferAttachmentParameter(ExecState* exec, const ArgList& args)
+JSValue JSWebGLRenderingContext::getFramebufferAttachmentParameter(ExecState* exec)
{
- if (args.size() != 3)
+ if (exec->argumentCount() != 3)
return throwError(exec, SyntaxError);
ExceptionCode ec = 0;
WebGLRenderingContext* context = static_cast<WebGLRenderingContext*>(impl());
- unsigned target = args.at(0).toInt32(exec);
+ unsigned target = exec->argument(0).toInt32(exec);
if (exec->hadException())
return jsUndefined();
- unsigned attachment = args.at(1).toInt32(exec);
+ unsigned attachment = exec->argument(1).toInt32(exec);
if (exec->hadException())
return jsUndefined();
- unsigned pname = args.at(2).toInt32(exec);
+ unsigned pname = exec->argument(2).toInt32(exec);
if (exec->hadException())
return jsUndefined();
WebGLGetInfo info = context->getFramebufferAttachmentParameter(target, attachment, pname, ec);
@@ -221,14 +221,14 @@ JSValue JSWebGLRenderingContext::getFramebufferAttachmentParameter(ExecState* ex
return toJS(exec, globalObject(), info);
}
-JSValue JSWebGLRenderingContext::getParameter(ExecState* exec, const ArgList& args)
+JSValue JSWebGLRenderingContext::getParameter(ExecState* exec)
{
- if (args.size() != 1)
+ if (exec->argumentCount() != 1)
return throwError(exec, SyntaxError);
ExceptionCode ec = 0;
WebGLRenderingContext* context = static_cast<WebGLRenderingContext*>(impl());
- unsigned pname = args.at(0).toInt32(exec);
+ unsigned pname = exec->argument(0).toInt32(exec);
if (exec->hadException())
return jsUndefined();
WebGLGetInfo info = context->getParameter(pname, ec);
@@ -239,15 +239,15 @@ JSValue JSWebGLRenderingContext::getParameter(ExecState* exec, const ArgList& ar
return toJS(exec, globalObject(), info);
}
-JSValue JSWebGLRenderingContext::getProgramParameter(ExecState* exec, const ArgList& args)
+JSValue JSWebGLRenderingContext::getProgramParameter(ExecState* exec)
{
- if (args.size() != 2)
+ if (exec->argumentCount() != 2)
return throwError(exec, SyntaxError);
ExceptionCode ec = 0;
WebGLRenderingContext* context = static_cast<WebGLRenderingContext*>(impl());
- WebGLProgram* program = toWebGLProgram(args.at(0));
- unsigned pname = args.at(1).toInt32(exec);
+ WebGLProgram* program = toWebGLProgram(exec->argument(0));
+ unsigned pname = exec->argument(1).toInt32(exec);
if (exec->hadException())
return jsUndefined();
WebGLGetInfo info = context->getProgramParameter(program, pname, ec);
@@ -258,20 +258,20 @@ JSValue JSWebGLRenderingContext::getProgramParameter(ExecState* exec, const ArgL
return toJS(exec, globalObject(), info);
}
-JSValue JSWebGLRenderingContext::getRenderbufferParameter(ExecState* exec, const ArgList& args)
+JSValue JSWebGLRenderingContext::getRenderbufferParameter(ExecState* exec)
{
- return getObjectParameter(this, exec, args, kRenderbuffer);
+ return getObjectParameter(this, exec, kRenderbuffer);
}
-JSValue JSWebGLRenderingContext::getShaderParameter(ExecState* exec, const ArgList& args)
+JSValue JSWebGLRenderingContext::getShaderParameter(ExecState* exec)
{
- if (args.size() != 2)
+ if (exec->argumentCount() != 2)
return throwError(exec, SyntaxError);
ExceptionCode ec = 0;
WebGLRenderingContext* context = static_cast<WebGLRenderingContext*>(impl());
- WebGLShader* shader = toWebGLShader(args.at(0));
- unsigned pname = args.at(1).toInt32(exec);
+ WebGLShader* shader = toWebGLShader(exec->argument(0));
+ unsigned pname = exec->argument(1).toInt32(exec);
if (exec->hadException())
return jsUndefined();
WebGLGetInfo info = context->getShaderParameter(shader, pname, ec);
@@ -282,20 +282,20 @@ JSValue JSWebGLRenderingContext::getShaderParameter(ExecState* exec, const ArgLi
return toJS(exec, globalObject(), info);
}
-JSValue JSWebGLRenderingContext::getTexParameter(ExecState* exec, const ArgList& args)
+JSValue JSWebGLRenderingContext::getTexParameter(ExecState* exec)
{
- return getObjectParameter(this, exec, args, kTexture);
+ return getObjectParameter(this, exec, kTexture);
}
-JSValue JSWebGLRenderingContext::getUniform(ExecState* exec, const ArgList& args)
+JSValue JSWebGLRenderingContext::getUniform(ExecState* exec)
{
- if (args.size() != 2)
+ if (exec->argumentCount() != 2)
return throwError(exec, SyntaxError);
ExceptionCode ec = 0;
WebGLRenderingContext* context = static_cast<WebGLRenderingContext*>(impl());
- WebGLProgram* program = toWebGLProgram(args.at(0));
- WebGLUniformLocation* loc = toWebGLUniformLocation(args.at(1));
+ WebGLProgram* program = toWebGLProgram(exec->argument(0));
+ WebGLUniformLocation* loc = toWebGLUniformLocation(exec->argument(1));
if (exec->hadException())
return jsUndefined();
WebGLGetInfo info = context->getUniform(program, loc, ec);
@@ -306,9 +306,9 @@ JSValue JSWebGLRenderingContext::getUniform(ExecState* exec, const ArgList& args
return toJS(exec, globalObject(), info);
}
-JSValue JSWebGLRenderingContext::getVertexAttrib(ExecState* exec, const ArgList& args)
+JSValue JSWebGLRenderingContext::getVertexAttrib(ExecState* exec)
{
- return getObjectParameter(this, exec, args, kVertexAttrib);
+ return getObjectParameter(this, exec, kVertexAttrib);
}
// void texImage2D(in GLenum target, in GLint level, in GLenum internalformat, in GLsizei width, in GLsizei height, in GLint border, in GLenum format, in GLenum type, in ArrayBufferView pixels);
@@ -316,35 +316,35 @@ JSValue JSWebGLRenderingContext::getVertexAttrib(ExecState* exec, const ArgList&
// void texImage2D(in GLenum target, in GLint level, in HTMLImageElement image, [Optional] in GLboolean flipY, [Optional] in premultiplyAlpha);
// void texImage2D(in GLenum target, in GLint level, in HTMLCanvasElement canvas, [Optional] in GLboolean flipY, [Optional] in premultiplyAlpha);
// void texImage2D(in GLenum target, in GLint level, in HTMLVideoElement video, [Optional] in GLboolean flipY, [Optional] in premultiplyAlpha);
-JSValue JSWebGLRenderingContext::texImage2D(ExecState* exec, const ArgList& args)
+JSValue JSWebGLRenderingContext::texImage2D(ExecState* exec)
{
- if (args.size() < 3 || args.size() > 9)
+ if (exec->argumentCount() < 3 || exec->argumentCount() > 9)
return throwError(exec, SyntaxError);
ExceptionCode ec = 0;
WebGLRenderingContext* context = static_cast<WebGLRenderingContext*>(impl());
- unsigned target = args.at(0).toInt32(exec);
+ unsigned target = exec->argument(0).toInt32(exec);
if (exec->hadException())
return jsUndefined();
- unsigned level = args.at(1).toInt32(exec);
+ unsigned level = exec->argument(1).toInt32(exec);
if (exec->hadException())
return jsUndefined();
JSObject* o = 0;
- if (args.size() <= 5) {
+ if (exec->argumentCount() <= 5) {
// This is one of the last 4 forms. Param 2 can be ImageData or <img>, <canvas> or <video> element.
- JSValue value = args.at(2);
+ JSValue value = exec->argument(2);
if (!value.isObject())
return throwError(exec, TypeError);
o = asObject(value);
- bool flipY = args.at(3).toBoolean(exec);
- bool premultiplyAlpha = args.at(4).toBoolean(exec);
+ bool flipY = exec->argument(3).toBoolean(exec);
+ bool premultiplyAlpha = exec->argument(4).toBoolean(exec);
if (o->inherits(&JSImageData::s_info)) {
ImageData* data = static_cast<ImageData*>(static_cast<JSImageData*>(o)->impl());
@@ -363,35 +363,35 @@ JSValue JSWebGLRenderingContext::texImage2D(ExecState* exec, const ArgList& args
} else
ec = TYPE_MISMATCH_ERR;
} else {
- if (args.size() != 9)
+ if (exec->argumentCount() != 9)
return throwError(exec, SyntaxError);
// This must be the ArrayBufferView case
- unsigned internalformat = args.at(2).toInt32(exec);
+ unsigned internalformat = exec->argument(2).toInt32(exec);
if (exec->hadException())
return jsUndefined();
- unsigned width = args.at(3).toInt32(exec);
+ unsigned width = exec->argument(3).toInt32(exec);
if (exec->hadException())
return jsUndefined();
- unsigned height = args.at(4).toInt32(exec);
+ unsigned height = exec->argument(4).toInt32(exec);
if (exec->hadException())
return jsUndefined();
- unsigned border = args.at(5).toInt32(exec);
+ unsigned border = exec->argument(5).toInt32(exec);
if (exec->hadException())
return jsUndefined();
- unsigned format = args.at(6).toInt32(exec);
+ unsigned format = exec->argument(6).toInt32(exec);
if (exec->hadException())
return jsUndefined();
- unsigned type = args.at(7).toInt32(exec);
+ unsigned type = exec->argument(7).toInt32(exec);
if (exec->hadException())
return jsUndefined();
- JSValue value = args.at(8);
+ JSValue value = exec->argument(8);
// For this case passing 0 (for a null array) is allowed
if (value.isNull())
@@ -419,43 +419,43 @@ JSValue JSWebGLRenderingContext::texImage2D(ExecState* exec, const ArgList& args
// void texSubImage2D(in GLenum target, in GLint level, in GLint xoffset, in GLint yoffset, in HTMLImageElement image, [Optional] GLboolean flipY, [Optional] in premultiplyAlpha);
// void texSubImage2D(in GLenum target, in GLint level, in GLint xoffset, in GLint yoffset, in HTMLCanvasElement canvas, [Optional] GLboolean flipY, [Optional] in premultiplyAlpha);
// void texSubImage2D(in GLenum target, in GLint level, in GLint xoffset, in GLint yoffset, in HTMLVideoElement video, [Optional] GLboolean flipY, [Optional] in premultiplyAlpha);
-JSValue JSWebGLRenderingContext::texSubImage2D(ExecState* exec, const ArgList& args)
+JSValue JSWebGLRenderingContext::texSubImage2D(ExecState* exec)
{
- if (args.size() < 5 || args.size() > 9)
+ if (exec->argumentCount() < 5 || exec->argumentCount() > 9)
return throwError(exec, SyntaxError);
ExceptionCode ec = 0;
WebGLRenderingContext* context = static_cast<WebGLRenderingContext*>(impl());
- unsigned target = args.at(0).toInt32(exec);
+ unsigned target = exec->argument(0).toInt32(exec);
if (exec->hadException())
return jsUndefined();
- unsigned level = args.at(1).toInt32(exec);
+ unsigned level = exec->argument(1).toInt32(exec);
if (exec->hadException())
return jsUndefined();
- unsigned xoff = args.at(2).toInt32(exec);
+ unsigned xoff = exec->argument(2).toInt32(exec);
if (exec->hadException())
return jsUndefined();
- unsigned yoff = args.at(3).toInt32(exec);
+ unsigned yoff = exec->argument(3).toInt32(exec);
if (exec->hadException())
return jsUndefined();
JSObject* o = 0;
- if (args.size() <= 7) {
+ if (exec->argumentCount() <= 7) {
// This is one of the last 4 forms. Param 4 can be <img>, <canvas> or <video> element, of the format param.
- JSValue value = args.at(4);
+ JSValue value = exec->argument(4);
if (!value.isObject())
return throwError(exec, SyntaxError);
o = asObject(value);
- bool flipY = args.at(5).toBoolean(exec);
- bool premultiplyAlpha = args.at(6).toBoolean(exec);
+ bool flipY = exec->argument(5).toBoolean(exec);
+ bool premultiplyAlpha = exec->argument(6).toBoolean(exec);
if (o->inherits(&JSImageData::s_info)) {
ImageData* data = static_cast<ImageData*>(static_cast<JSImageData*>(o)->impl());
@@ -475,26 +475,26 @@ JSValue JSWebGLRenderingContext::texSubImage2D(ExecState* exec, const ArgList& a
ec = TYPE_MISMATCH_ERR;
} else {
// This must be the ArrayBufferView form
- if (args.size() != 9)
+ if (exec->argumentCount() != 9)
return throwError(exec, SyntaxError);
- unsigned width = args.at(4).toInt32(exec);
+ unsigned width = exec->argument(4).toInt32(exec);
if (exec->hadException())
return jsUndefined();
- unsigned height = args.at(5).toInt32(exec);
+ unsigned height = exec->argument(5).toInt32(exec);
if (exec->hadException())
return jsUndefined();
- unsigned format = args.at(6).toInt32(exec);
+ unsigned format = exec->argument(6).toInt32(exec);
if (exec->hadException())
return jsUndefined();
- unsigned type = args.at(7).toInt32(exec);
+ unsigned type = exec->argument(7).toInt32(exec);
if (exec->hadException())
return jsUndefined();
- JSValue value = args.at(8);
+ JSValue value = exec->argument(8);
if (!value.isObject())
context->texSubImage2D(target, level, xoff, yoff, width, height, format, type, 0, ec);
else {
@@ -555,23 +555,23 @@ static bool functionForUniform(DataFunctionToCall f)
return false;
}
-static JSC::JSValue dataFunctionf(DataFunctionToCall f, JSC::ExecState* exec, const JSC::ArgList& args, WebGLRenderingContext* context)
+static JSC::JSValue dataFunctionf(DataFunctionToCall f, JSC::ExecState* exec, WebGLRenderingContext* context)
{
- if (args.size() != 2)
+ if (exec->argumentCount() != 2)
return throwError(exec, SyntaxError);
WebGLUniformLocation* location = 0;
long index = -1;
if (functionForUniform(f))
- location = toWebGLUniformLocation(args.at(0));
+ location = toWebGLUniformLocation(exec->argument(0));
else
- index = args.at(0).toInt32(exec);
+ index = exec->argument(0).toInt32(exec);
if (exec->hadException())
return jsUndefined();
- RefPtr<FloatArray> webGLArray = toFloatArray(args.at(1));
+ RefPtr<FloatArray> webGLArray = toFloatArray(exec->argument(1));
if (exec->hadException())
return jsUndefined();
@@ -609,7 +609,7 @@ static JSC::JSValue dataFunctionf(DataFunctionToCall f, JSC::ExecState* exec, co
}
Vector<float, 64> array;
- if (!toVector(exec, args.at(1), array))
+ if (!toVector(exec, exec->argument(1), array))
return throwError(exec, TypeError);
switch (f) {
@@ -643,17 +643,17 @@ static JSC::JSValue dataFunctionf(DataFunctionToCall f, JSC::ExecState* exec, co
return jsUndefined();
}
-static JSC::JSValue dataFunctioni(DataFunctionToCall f, JSC::ExecState* exec, const JSC::ArgList& args, WebGLRenderingContext* context)
+static JSC::JSValue dataFunctioni(DataFunctionToCall f, JSC::ExecState* exec, WebGLRenderingContext* context)
{
- if (args.size() != 2)
+ if (exec->argumentCount() != 2)
return throwError(exec, SyntaxError);
- WebGLUniformLocation* location = toWebGLUniformLocation(args.at(0));
+ WebGLUniformLocation* location = toWebGLUniformLocation(exec->argument(0));
if (exec->hadException())
return jsUndefined();
- RefPtr<Int32Array> webGLArray = toInt32Array(args.at(1));
+ RefPtr<Int32Array> webGLArray = toInt32Array(exec->argument(1));
if (exec->hadException())
return jsUndefined();
@@ -682,7 +682,7 @@ static JSC::JSValue dataFunctioni(DataFunctionToCall f, JSC::ExecState* exec, co
Vector<int, 64> array;
- if (!toVector(exec, args.at(1), array))
+ if (!toVector(exec, exec->argument(1), array))
return throwError(exec, TypeError);
switch (f) {
@@ -706,21 +706,21 @@ static JSC::JSValue dataFunctioni(DataFunctionToCall f, JSC::ExecState* exec, co
return jsUndefined();
}
-static JSC::JSValue dataFunctionMatrix(DataFunctionMatrixToCall f, JSC::ExecState* exec, const JSC::ArgList& args, WebGLRenderingContext* context)
+static JSC::JSValue dataFunctionMatrix(DataFunctionMatrixToCall f, JSC::ExecState* exec, WebGLRenderingContext* context)
{
- if (args.size() != 3)
+ if (exec->argumentCount() != 3)
return throwError(exec, SyntaxError);
- WebGLUniformLocation* location = toWebGLUniformLocation(args.at(0));
+ WebGLUniformLocation* location = toWebGLUniformLocation(exec->argument(0));
if (exec->hadException())
return jsUndefined();
- bool transpose = args.at(1).toBoolean(exec);
+ bool transpose = exec->argument(1).toBoolean(exec);
if (exec->hadException())
return jsUndefined();
- RefPtr<FloatArray> webGLArray = toFloatArray(args.at(2));
+ RefPtr<FloatArray> webGLArray = toFloatArray(exec->argument(2));
if (exec->hadException())
return jsUndefined();
@@ -743,7 +743,7 @@ static JSC::JSValue dataFunctionMatrix(DataFunctionMatrixToCall f, JSC::ExecStat
}
Vector<float, 64> array;
- if (!toVector(exec, args.at(2), array))
+ if (!toVector(exec, exec->argument(2), array))
return throwError(exec, TypeError);
switch (f) {
@@ -762,79 +762,79 @@ static JSC::JSValue dataFunctionMatrix(DataFunctionMatrixToCall f, JSC::ExecStat
return jsUndefined();
}
-JSC::JSValue JSWebGLRenderingContext::uniform1fv(JSC::ExecState* exec, const JSC::ArgList& args)
+JSC::JSValue JSWebGLRenderingContext::uniform1fv(JSC::ExecState* exec)
{
- return dataFunctionf(f_uniform1v, exec, args, static_cast<WebGLRenderingContext*>(impl()));
+ return dataFunctionf(f_uniform1v, exec, static_cast<WebGLRenderingContext*>(impl()));
}
-JSC::JSValue JSWebGLRenderingContext::uniform1iv(JSC::ExecState* exec, const JSC::ArgList& args)
+JSC::JSValue JSWebGLRenderingContext::uniform1iv(JSC::ExecState* exec)
{
- return dataFunctioni(f_uniform1v, exec, args, static_cast<WebGLRenderingContext*>(impl()));
+ return dataFunctioni(f_uniform1v, exec, static_cast<WebGLRenderingContext*>(impl()));
}
-JSC::JSValue JSWebGLRenderingContext::uniform2fv(JSC::ExecState* exec, const JSC::ArgList& args)
+JSC::JSValue JSWebGLRenderingContext::uniform2fv(JSC::ExecState* exec)
{
- return dataFunctionf(f_uniform2v, exec, args, static_cast<WebGLRenderingContext*>(impl()));
+ return dataFunctionf(f_uniform2v, exec, static_cast<WebGLRenderingContext*>(impl()));
}
-JSC::JSValue JSWebGLRenderingContext::uniform2iv(JSC::ExecState* exec, const JSC::ArgList& args)
+JSC::JSValue JSWebGLRenderingContext::uniform2iv(JSC::ExecState* exec)
{
- return dataFunctioni(f_uniform2v, exec, args, static_cast<WebGLRenderingContext*>(impl()));
+ return dataFunctioni(f_uniform2v, exec, static_cast<WebGLRenderingContext*>(impl()));
}
-JSC::JSValue JSWebGLRenderingContext::uniform3fv(JSC::ExecState* exec, const JSC::ArgList& args)
+JSC::JSValue JSWebGLRenderingContext::uniform3fv(JSC::ExecState* exec)
{
- return dataFunctionf(f_uniform3v, exec, args, static_cast<WebGLRenderingContext*>(impl()));
+ return dataFunctionf(f_uniform3v, exec, static_cast<WebGLRenderingContext*>(impl()));
}
-JSC::JSValue JSWebGLRenderingContext::uniform3iv(JSC::ExecState* exec, const JSC::ArgList& args)
+JSC::JSValue JSWebGLRenderingContext::uniform3iv(JSC::ExecState* exec)
{
- return dataFunctioni(f_uniform3v, exec, args, static_cast<WebGLRenderingContext*>(impl()));
+ return dataFunctioni(f_uniform3v, exec, static_cast<WebGLRenderingContext*>(impl()));
}
-JSC::JSValue JSWebGLRenderingContext::uniform4fv(JSC::ExecState* exec, const JSC::ArgList& args)
+JSC::JSValue JSWebGLRenderingContext::uniform4fv(JSC::ExecState* exec)
{
- return dataFunctionf(f_uniform4v, exec, args, static_cast<WebGLRenderingContext*>(impl()));
+ return dataFunctionf(f_uniform4v, exec, static_cast<WebGLRenderingContext*>(impl()));
}
-JSC::JSValue JSWebGLRenderingContext::uniform4iv(JSC::ExecState* exec, const JSC::ArgList& args)
+JSC::JSValue JSWebGLRenderingContext::uniform4iv(JSC::ExecState* exec)
{
- return dataFunctioni(f_uniform4v, exec, args, static_cast<WebGLRenderingContext*>(impl()));
+ return dataFunctioni(f_uniform4v, exec, static_cast<WebGLRenderingContext*>(impl()));
}
-JSC::JSValue JSWebGLRenderingContext::uniformMatrix2fv(JSC::ExecState* exec, const JSC::ArgList& args)
+JSC::JSValue JSWebGLRenderingContext::uniformMatrix2fv(JSC::ExecState* exec)
{
- return dataFunctionMatrix(f_uniformMatrix2fv, exec, args, static_cast<WebGLRenderingContext*>(impl()));
+ return dataFunctionMatrix(f_uniformMatrix2fv, exec, static_cast<WebGLRenderingContext*>(impl()));
}
-JSC::JSValue JSWebGLRenderingContext::uniformMatrix3fv(JSC::ExecState* exec, const JSC::ArgList& args)
+JSC::JSValue JSWebGLRenderingContext::uniformMatrix3fv(JSC::ExecState* exec)
{
- return dataFunctionMatrix(f_uniformMatrix3fv, exec, args, static_cast<WebGLRenderingContext*>(impl()));
+ return dataFunctionMatrix(f_uniformMatrix3fv, exec, static_cast<WebGLRenderingContext*>(impl()));
}
-JSC::JSValue JSWebGLRenderingContext::uniformMatrix4fv(JSC::ExecState* exec, const JSC::ArgList& args)
+JSC::JSValue JSWebGLRenderingContext::uniformMatrix4fv(JSC::ExecState* exec)
{
- return dataFunctionMatrix(f_uniformMatrix4fv, exec, args, static_cast<WebGLRenderingContext*>(impl()));
+ return dataFunctionMatrix(f_uniformMatrix4fv, exec, static_cast<WebGLRenderingContext*>(impl()));
}
-JSC::JSValue JSWebGLRenderingContext::vertexAttrib1fv(JSC::ExecState* exec, const JSC::ArgList& args)
+JSC::JSValue JSWebGLRenderingContext::vertexAttrib1fv(JSC::ExecState* exec)
{
- return dataFunctionf(f_vertexAttrib1v, exec, args, static_cast<WebGLRenderingContext*>(impl()));
+ return dataFunctionf(f_vertexAttrib1v, exec, static_cast<WebGLRenderingContext*>(impl()));
}
-JSC::JSValue JSWebGLRenderingContext::vertexAttrib2fv(JSC::ExecState* exec, const JSC::ArgList& args)
+JSC::JSValue JSWebGLRenderingContext::vertexAttrib2fv(JSC::ExecState* exec)
{
- return dataFunctionf(f_vertexAttrib2v, exec, args, static_cast<WebGLRenderingContext*>(impl()));
+ return dataFunctionf(f_vertexAttrib2v, exec, static_cast<WebGLRenderingContext*>(impl()));
}
-JSC::JSValue JSWebGLRenderingContext::vertexAttrib3fv(JSC::ExecState* exec, const JSC::ArgList& args)
+JSC::JSValue JSWebGLRenderingContext::vertexAttrib3fv(JSC::ExecState* exec)
{
- return dataFunctionf(f_vertexAttrib3v, exec, args, static_cast<WebGLRenderingContext*>(impl()));
+ return dataFunctionf(f_vertexAttrib3v, exec, static_cast<WebGLRenderingContext*>(impl()));
}
-JSC::JSValue JSWebGLRenderingContext::vertexAttrib4fv(JSC::ExecState* exec, const JSC::ArgList& args)
+JSC::JSValue JSWebGLRenderingContext::vertexAttrib4fv(JSC::ExecState* exec)
{
- return dataFunctionf(f_vertexAttrib4v, exec, args, static_cast<WebGLRenderingContext*>(impl()));
+ return dataFunctionf(f_vertexAttrib4v, exec, static_cast<WebGLRenderingContext*>(impl()));
}
} // namespace WebCore
diff --git a/WebCore/bindings/js/JSWebSocketCustom.cpp b/WebCore/bindings/js/JSWebSocketCustom.cpp
index 149ac5d..81b5b9e 100644
--- a/WebCore/bindings/js/JSWebSocketCustom.cpp
+++ b/WebCore/bindings/js/JSWebSocketCustom.cpp
@@ -45,12 +45,12 @@ using namespace JSC;
namespace WebCore {
// Custom functions
-JSValue JSWebSocket::send(ExecState* exec, const ArgList& args)
+JSValue JSWebSocket::send(ExecState* exec)
{
- if (args.size() < 1)
+ if (exec->argumentCount() < 1)
return throwError(exec, SyntaxError, "Not enough arguments");
- const String& msg = ustringToString(args.at(0).toString(exec));
+ const String& msg = ustringToString(exec->argument(0).toString(exec));
if (exec->hadException())
return throwError(exec, SyntaxError, "bad message data.");
ExceptionCode ec = 0;
diff --git a/WebCore/bindings/js/JSWorkerContextCustom.cpp b/WebCore/bindings/js/JSWorkerContextCustom.cpp
index 925a5c3..47a867e 100644
--- a/WebCore/bindings/js/JSWorkerContextCustom.cpp
+++ b/WebCore/bindings/js/JSWorkerContextCustom.cpp
@@ -105,14 +105,14 @@ JSValue JSWorkerContext::webSocket(ExecState* exec) const
}
#endif
-JSValue JSWorkerContext::importScripts(ExecState* exec, const ArgList& args)
+JSValue JSWorkerContext::importScripts(ExecState* exec)
{
- if (!args.size())
+ if (!exec->argumentCount())
return jsUndefined();
Vector<String> urls;
- for (unsigned i = 0; i < args.size(); i++) {
- urls.append(ustringToString(args.at(i).toString(exec)));
+ for (unsigned i = 0; i < exec->argumentCount(); i++) {
+ urls.append(ustringToString(exec->argument(i).toString(exec)));
if (exec->hadException())
return jsUndefined();
}
@@ -123,21 +123,21 @@ JSValue JSWorkerContext::importScripts(ExecState* exec, const ArgList& args)
return jsUndefined();
}
-JSValue JSWorkerContext::setTimeout(ExecState* exec, const ArgList& args)
+JSValue JSWorkerContext::setTimeout(ExecState* exec)
{
- OwnPtr<ScheduledAction> action = ScheduledAction::create(exec, args, currentWorld(exec));
+ OwnPtr<ScheduledAction> action = ScheduledAction::create(exec, currentWorld(exec));
if (exec->hadException())
return jsUndefined();
- int delay = args.at(1).toInt32(exec);
+ int delay = exec->argument(1).toInt32(exec);
return jsNumber(exec, impl()->setTimeout(action.release(), delay));
}
-JSValue JSWorkerContext::setInterval(ExecState* exec, const ArgList& args)
+JSValue JSWorkerContext::setInterval(ExecState* exec)
{
- OwnPtr<ScheduledAction> action = ScheduledAction::create(exec, args, currentWorld(exec));
+ OwnPtr<ScheduledAction> action = ScheduledAction::create(exec, currentWorld(exec));
if (exec->hadException())
return jsUndefined();
- int delay = args.at(1).toInt32(exec);
+ int delay = exec->argument(1).toInt32(exec);
return jsNumber(exec, impl()->setInterval(action.release(), delay));
}
@@ -150,38 +150,38 @@ JSValue JSWorkerContext::messageChannel(ExecState* exec) const
#endif
#if ENABLE(DATABASE)
-JSValue JSWorkerContext::openDatabase(ExecState* exec, const ArgList& args)
+JSValue JSWorkerContext::openDatabase(ExecState* exec)
{
- if (args.size() < 4) {
+ if (exec->argumentCount() < 4) {
setDOMException(exec, SYNTAX_ERR);
return jsUndefined();
}
- String name = ustringToString(args.at(0).toString(exec));
+ String name = ustringToString(exec->argument(0).toString(exec));
if (exec->hadException())
return jsUndefined();
- String version = ustringToString(args.at(1).toString(exec));
+ String version = ustringToString(exec->argument(1).toString(exec));
if (exec->hadException())
return jsUndefined();
- String displayName = ustringToString(args.at(2).toString(exec));
+ String displayName = ustringToString(exec->argument(2).toString(exec));
if (exec->hadException())
return jsUndefined();
- // args.at(3) = estimated size
- unsigned long estimatedSize = args.at(3).toUInt32(exec);
+ // exec->argument(3) = estimated size
+ unsigned long estimatedSize = exec->argument(3).toUInt32(exec);
if (exec->hadException())
return jsUndefined();
RefPtr<DatabaseCallback> creationCallback;
- if (args.size() >= 5) {
- if (!args.at(4).isObject()) {
+ if (exec->argumentCount() >= 5) {
+ if (!exec->argument(4).isObject()) {
setDOMException(exec, TYPE_MISMATCH_ERR);
return jsUndefined();
}
- creationCallback = JSDatabaseCallback::create(asObject(args.at(4)), globalObject());
+ creationCallback = JSDatabaseCallback::create(asObject(exec->argument(4)), globalObject());
}
ExceptionCode ec = 0;
@@ -190,38 +190,38 @@ JSValue JSWorkerContext::openDatabase(ExecState* exec, const ArgList& args)
return result;
}
-JSValue JSWorkerContext::openDatabaseSync(ExecState* exec, const ArgList& args)
+JSValue JSWorkerContext::openDatabaseSync(ExecState* exec)
{
- if (args.size() < 4) {
+ if (exec->argumentCount() < 4) {
setDOMException(exec, SYNTAX_ERR);
return jsUndefined();
}
- String name = ustringToString(args.at(0).toString(exec));
+ String name = ustringToString(exec->argument(0).toString(exec));
if (exec->hadException())
return jsUndefined();
- String version = ustringToString(args.at(1).toString(exec));
+ String version = ustringToString(exec->argument(1).toString(exec));
if (exec->hadException())
return jsUndefined();
- String displayName = ustringToString(args.at(2).toString(exec));
+ String displayName = ustringToString(exec->argument(2).toString(exec));
if (exec->hadException())
return jsUndefined();
- // args.at(3) = estimated size
- unsigned long estimatedSize = args.at(3).toUInt32(exec);
+ // exec->argument(3) = estimated size
+ unsigned long estimatedSize = exec->argument(3).toUInt32(exec);
if (exec->hadException())
return jsUndefined();
RefPtr<DatabaseCallback> creationCallback;
- if (args.size() >= 5) {
- if (!args.at(4).isObject()) {
+ if (exec->argumentCount() >= 5) {
+ if (!exec->argument(4).isObject()) {
setDOMException(exec, TYPE_MISMATCH_ERR);
return jsUndefined();
}
- creationCallback = JSDatabaseCallback::create(asObject(args.at(4)), globalObject());
+ creationCallback = JSDatabaseCallback::create(asObject(exec->argument(4)), globalObject());
}
ExceptionCode ec = 0;
diff --git a/WebCore/bindings/js/JSWorkerCustom.cpp b/WebCore/bindings/js/JSWorkerCustom.cpp
index 09b881a..64d9d41 100644
--- a/WebCore/bindings/js/JSWorkerCustom.cpp
+++ b/WebCore/bindings/js/JSWorkerCustom.cpp
@@ -37,9 +37,9 @@ using namespace JSC;
namespace WebCore {
-JSC::JSValue JSWorker::postMessage(JSC::ExecState* exec, const JSC::ArgList& args)
+JSC::JSValue JSWorker::postMessage(JSC::ExecState* exec)
{
- return handlePostMessage(exec, args, impl());
+ return handlePostMessage(exec, impl());
}
} // namespace WebCore
diff --git a/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp b/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp
index 086b89d..420bf37 100644
--- a/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp
+++ b/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp
@@ -62,23 +62,23 @@ void JSXMLHttpRequest::markChildren(MarkStack& markStack)
}
// Custom functions
-JSValue JSXMLHttpRequest::open(ExecState* exec, const ArgList& args)
+JSValue JSXMLHttpRequest::open(ExecState* exec)
{
- if (args.size() < 2)
+ if (exec->argumentCount() < 2)
return throwError(exec, SyntaxError, "Not enough arguments");
- const KURL& url = impl()->scriptExecutionContext()->completeURL(ustringToString(args.at(1).toString(exec)));
- String method = ustringToString(args.at(0).toString(exec));
+ const KURL& url = impl()->scriptExecutionContext()->completeURL(ustringToString(exec->argument(1).toString(exec)));
+ String method = ustringToString(exec->argument(0).toString(exec));
ExceptionCode ec = 0;
- if (args.size() >= 3) {
- bool async = args.at(2).toBoolean(exec);
+ if (exec->argumentCount() >= 3) {
+ bool async = exec->argument(2).toBoolean(exec);
- if (args.size() >= 4 && !args.at(3).isUndefined()) {
- String user = valueToStringWithNullCheck(exec, args.at(3));
+ if (exec->argumentCount() >= 4 && !exec->argument(3).isUndefined()) {
+ String user = valueToStringWithNullCheck(exec, exec->argument(3));
- if (args.size() >= 5 && !args.at(4).isUndefined()) {
- String password = valueToStringWithNullCheck(exec, args.at(4));
+ if (exec->argumentCount() >= 5 && !exec->argument(4).isUndefined()) {
+ String password = valueToStringWithNullCheck(exec, exec->argument(4));
impl()->open(method, url, async, user, password, ec);
} else
impl()->open(method, url, async, user, ec);
@@ -91,13 +91,13 @@ JSValue JSXMLHttpRequest::open(ExecState* exec, const ArgList& args)
return jsUndefined();
}
-JSValue JSXMLHttpRequest::send(ExecState* exec, const ArgList& args)
+JSValue JSXMLHttpRequest::send(ExecState* exec)
{
ExceptionCode ec = 0;
- if (args.isEmpty())
+ if (!exec->argumentCount())
impl()->send(ec);
else {
- JSValue val = args.at(0);
+ JSValue val = exec->argument(0);
if (val.isUndefinedOrNull())
impl()->send(ec);
else if (val.inherits(&JSDocument::s_info))
diff --git a/WebCore/bindings/js/JSXSLTProcessorCustom.cpp b/WebCore/bindings/js/JSXSLTProcessorCustom.cpp
index 49ac234..63aa2b5 100644
--- a/WebCore/bindings/js/JSXSLTProcessorCustom.cpp
+++ b/WebCore/bindings/js/JSXSLTProcessorCustom.cpp
@@ -46,9 +46,9 @@ using namespace JSC;
namespace WebCore {
-JSValue JSXSLTProcessor::importStylesheet(ExecState*, const ArgList& args)
+JSValue JSXSLTProcessor::importStylesheet(ExecState* exec)
{
- JSValue nodeVal = args.at(0);
+ JSValue nodeVal = exec->argument(0);
if (nodeVal.inherits(&JSNode::s_info)) {
JSNode* node = static_cast<JSNode*>(asObject(nodeVal));
impl()->importStylesheet(node->impl());
@@ -58,10 +58,10 @@ JSValue JSXSLTProcessor::importStylesheet(ExecState*, const ArgList& args)
return jsUndefined();
}
-JSValue JSXSLTProcessor::transformToFragment(ExecState* exec, const ArgList& args)
+JSValue JSXSLTProcessor::transformToFragment(ExecState* exec)
{
- JSValue nodeVal = args.at(0);
- JSValue docVal = args.at(1);
+ JSValue nodeVal = exec->argument(0);
+ JSValue docVal = exec->argument(1);
if (nodeVal.inherits(&JSNode::s_info) && docVal.inherits(&JSDocument::s_info)) {
WebCore::Node* node = static_cast<JSNode*>(asObject(nodeVal))->impl();
Document* doc = static_cast<Document*>(static_cast<JSDocument*>(asObject(docVal))->impl());
@@ -71,9 +71,9 @@ JSValue JSXSLTProcessor::transformToFragment(ExecState* exec, const ArgList& arg
return jsUndefined();
}
-JSValue JSXSLTProcessor::transformToDocument(ExecState* exec, const ArgList& args)
+JSValue JSXSLTProcessor::transformToDocument(ExecState* exec)
{
- JSValue nodeVal = args.at(0);
+ JSValue nodeVal = exec->argument(0);
if (nodeVal.inherits(&JSNode::s_info)) {
JSNode* node = static_cast<JSNode*>(asObject(nodeVal));
RefPtr<Document> resultDocument = impl()->transformToDocument(node->impl());
@@ -85,33 +85,33 @@ JSValue JSXSLTProcessor::transformToDocument(ExecState* exec, const ArgList& arg
return jsUndefined();
}
-JSValue JSXSLTProcessor::setParameter(ExecState* exec, const ArgList& args)
+JSValue JSXSLTProcessor::setParameter(ExecState* exec)
{
- if (args.at(1).isUndefinedOrNull() || args.at(2).isUndefinedOrNull())
+ if (exec->argument(1).isUndefinedOrNull() || exec->argument(2).isUndefinedOrNull())
return jsUndefined(); // Throw exception?
- String namespaceURI = ustringToString(args.at(0).toString(exec));
- String localName = ustringToString(args.at(1).toString(exec));
- String value = ustringToString(args.at(2).toString(exec));
+ String namespaceURI = ustringToString(exec->argument(0).toString(exec));
+ String localName = ustringToString(exec->argument(1).toString(exec));
+ String value = ustringToString(exec->argument(2).toString(exec));
impl()->setParameter(namespaceURI, localName, value);
return jsUndefined();
}
-JSValue JSXSLTProcessor::getParameter(ExecState* exec, const ArgList& args)
+JSValue JSXSLTProcessor::getParameter(ExecState* exec)
{
- if (args.at(1).isUndefinedOrNull())
+ if (exec->argument(1).isUndefinedOrNull())
return jsUndefined();
- String namespaceURI = ustringToString(args.at(0).toString(exec));
- String localName = ustringToString(args.at(1).toString(exec));
+ String namespaceURI = ustringToString(exec->argument(0).toString(exec));
+ String localName = ustringToString(exec->argument(1).toString(exec));
String value = impl()->getParameter(namespaceURI, localName);
return jsStringOrUndefined(exec, value);
}
-JSValue JSXSLTProcessor::removeParameter(ExecState* exec, const ArgList& args)
+JSValue JSXSLTProcessor::removeParameter(ExecState* exec)
{
- if (args.at(1).isUndefinedOrNull())
+ if (exec->argument(1).isUndefinedOrNull())
return jsUndefined();
- String namespaceURI = ustringToString(args.at(0).toString(exec));
- String localName = ustringToString(args.at(1).toString(exec));
+ String namespaceURI = ustringToString(exec->argument(0).toString(exec));
+ String localName = ustringToString(exec->argument(1).toString(exec));
impl()->removeParameter(namespaceURI, localName);
return jsUndefined();
}
diff --git a/WebCore/bindings/js/ScheduledAction.cpp b/WebCore/bindings/js/ScheduledAction.cpp
index 8cafefe..5a45e87 100644
--- a/WebCore/bindings/js/ScheduledAction.cpp
+++ b/WebCore/bindings/js/ScheduledAction.cpp
@@ -47,9 +47,9 @@ using namespace JSC;
namespace WebCore {
-PassOwnPtr<ScheduledAction> ScheduledAction::create(ExecState* exec, const ArgList& args, DOMWrapperWorld* isolatedWorld)
+PassOwnPtr<ScheduledAction> ScheduledAction::create(ExecState* exec, DOMWrapperWorld* isolatedWorld)
{
- JSValue v = args.at(0);
+ JSValue v = exec->argument(0);
CallData callData;
if (v.getCallData(callData) == CallTypeNone) {
UString string = v.toString(exec);
@@ -57,18 +57,18 @@ PassOwnPtr<ScheduledAction> ScheduledAction::create(ExecState* exec, const ArgLi
return 0;
return new ScheduledAction(ustringToString(string), isolatedWorld);
}
- ArgList argsTail;
- args.getSlice(2, argsTail);
- return new ScheduledAction(v, argsTail, isolatedWorld);
+
+ return new ScheduledAction(exec, v, isolatedWorld);
}
-ScheduledAction::ScheduledAction(JSValue function, const ArgList& args, DOMWrapperWorld* isolatedWorld)
+ScheduledAction::ScheduledAction(ExecState* exec, JSValue function, DOMWrapperWorld* isolatedWorld)
: m_function(function)
, m_isolatedWorld(isolatedWorld)
{
- ArgList::const_iterator end = args.end();
- for (ArgList::const_iterator it = args.begin(); it != end; ++it)
- m_args.append(*it);
+ // setTimeout(function, interval, arg0, arg1...).
+ // Start at 2 to skip function and interval.
+ for (size_t i = 2; i < exec->argumentCount(); ++i)
+ m_args.append(exec->argument(i));
}
void ScheduledAction::execute(ScriptExecutionContext* context)
diff --git a/WebCore/bindings/js/ScheduledAction.h b/WebCore/bindings/js/ScheduledAction.h
index 313451a..6c9d0ba 100644
--- a/WebCore/bindings/js/ScheduledAction.h
+++ b/WebCore/bindings/js/ScheduledAction.h
@@ -43,12 +43,12 @@ namespace WebCore {
*/
class ScheduledAction : public Noncopyable {
public:
- static PassOwnPtr<ScheduledAction> create(JSC::ExecState*, const JSC::ArgList&, DOMWrapperWorld* isolatedWorld);
+ static PassOwnPtr<ScheduledAction> create(JSC::ExecState*, DOMWrapperWorld* isolatedWorld);
void execute(ScriptExecutionContext*);
private:
- ScheduledAction(JSC::JSValue function, const JSC::ArgList&, DOMWrapperWorld* isolatedWorld);
+ ScheduledAction(JSC::ExecState*, JSC::JSValue function, DOMWrapperWorld* isolatedWorld);
ScheduledAction(const String& code, DOMWrapperWorld* isolatedWorld)
: m_code(code)
, m_isolatedWorld(isolatedWorld)
diff --git a/WebCore/bindings/js/ScriptCallFrame.cpp b/WebCore/bindings/js/ScriptCallFrame.cpp
index 19ed1ea..8381a4e 100644
--- a/WebCore/bindings/js/ScriptCallFrame.cpp
+++ b/WebCore/bindings/js/ScriptCallFrame.cpp
@@ -38,14 +38,16 @@ using namespace JSC;
namespace WebCore {
-ScriptCallFrame::ScriptCallFrame(const UString& functionName, const UString& urlString, int lineNumber, const ArgList& args, unsigned skipArgumentCount)
+ScriptCallFrame::ScriptCallFrame(const UString& functionName, const UString& urlString, int lineNumber, ExecState* exec, unsigned skipArgumentCount)
: m_functionName(functionName)
, m_sourceURL(ParsedURLString, ustringToString(urlString))
, m_lineNumber(lineNumber)
{
- size_t argumentCount = args.size();
+ if (!exec)
+ return;
+ size_t argumentCount = exec->argumentCount();
for (size_t i = skipArgumentCount; i < argumentCount; ++i)
- m_arguments.append(ScriptValue(args.at(i)));
+ m_arguments.append(ScriptValue(exec->argument(i)));
}
ScriptCallFrame::~ScriptCallFrame()
diff --git a/WebCore/bindings/js/ScriptCallFrame.h b/WebCore/bindings/js/ScriptCallFrame.h
index b8c0aba..202f4b6 100644
--- a/WebCore/bindings/js/ScriptCallFrame.h
+++ b/WebCore/bindings/js/ScriptCallFrame.h
@@ -50,7 +50,7 @@ namespace WebCore {
// <https://bugs.webkit.org/show_bug.cgi?id=21180>
class ScriptCallFrame {
public:
- ScriptCallFrame(const JSC::UString& functionName, const JSC::UString& urlString, int lineNumber, const JSC::ArgList&, unsigned skipArgumentCount);
+ ScriptCallFrame(const JSC::UString& functionName, const JSC::UString& urlString, int lineNumber, JSC::ExecState*, unsigned skipArgumentCount);
~ScriptCallFrame();
const ScriptString& functionName() const { return m_functionName; }
diff --git a/WebCore/bindings/js/ScriptCallStack.cpp b/WebCore/bindings/js/ScriptCallStack.cpp
index 64600cf..86ddcd1 100644
--- a/WebCore/bindings/js/ScriptCallStack.cpp
+++ b/WebCore/bindings/js/ScriptCallStack.cpp
@@ -42,7 +42,7 @@ using namespace JSC;
namespace WebCore {
-ScriptCallStack::ScriptCallStack(ExecState* exec, const ArgList& args, unsigned skipArgumentCount)
+ScriptCallStack::ScriptCallStack(ExecState* exec, unsigned skipArgumentCount)
: m_initialized(false)
, m_exec(exec)
, m_caller(0)
@@ -58,11 +58,11 @@ ScriptCallStack::ScriptCallStack(ExecState* exec, const ArgList& args, unsigned
if (function) {
m_caller = asFunction(function);
- m_frames.append(ScriptCallFrame(m_caller->name(m_exec), urlString, lineNumber, args, skipArgumentCount));
+ m_frames.append(ScriptCallFrame(m_caller->name(m_exec), urlString, lineNumber, m_exec, skipArgumentCount));
} else {
// Caller is unknown, but we should still add the frame, because
// something called us, and gave us arguments.
- m_frames.append(ScriptCallFrame(UString(), urlString, lineNumber, args, skipArgumentCount));
+ m_frames.append(ScriptCallFrame(UString(), urlString, lineNumber, m_exec, skipArgumentCount));
}
}
@@ -94,14 +94,13 @@ void ScriptCallStack::initialize()
JSValue func = m_exec->interpreter()->retrieveCaller(m_exec, m_caller);
while (!func.isNull()) {
JSFunction* jsFunction = asFunction(func);
- ArgList emptyArgList;
- m_frames.append(ScriptCallFrame(jsFunction->name(m_exec), UString(), 0, emptyArgList, 0));
+ m_frames.append(ScriptCallFrame(jsFunction->name(m_exec), UString(), 0, 0, 0));
func = m_exec->interpreter()->retrieveCaller(m_exec, jsFunction);
}
m_initialized = true;
}
-bool ScriptCallStack::callLocation(String*, int*, String*)
+bool ScriptCallStack::stackTrace(int, ScriptState*, ScriptArray&)
{
return false;
}
diff --git a/WebCore/bindings/js/ScriptCallStack.h b/WebCore/bindings/js/ScriptCallStack.h
index 7b66a97..6cf7679 100644
--- a/WebCore/bindings/js/ScriptCallStack.h
+++ b/WebCore/bindings/js/ScriptCallStack.h
@@ -31,6 +31,7 @@
#ifndef ScriptCallStack_h
#define ScriptCallStack_h
+#include "ScriptArray.h"
#include "ScriptCallFrame.h"
#include "ScriptState.h"
#include "ScriptString.h"
@@ -45,7 +46,7 @@ namespace WebCore {
class ScriptCallStack : public Noncopyable {
public:
- ScriptCallStack(JSC::ExecState*, const JSC::ArgList&, unsigned skipArgumentCount = 0);
+ ScriptCallStack(JSC::ExecState*, unsigned skipArgumentCount = 0);
~ScriptCallStack();
ScriptState* state() const { return m_exec; }
@@ -53,7 +54,7 @@ namespace WebCore {
// frame retrieval methods
const ScriptCallFrame &at(unsigned);
unsigned size();
- static bool callLocation(String*, int*, String*);
+ static bool stackTrace(int, ScriptState*, ScriptArray&);
private:
void initialize();
diff --git a/WebCore/bindings/js/ScriptController.h b/WebCore/bindings/js/ScriptController.h
index 877eb9f..16fe4f2 100644
--- a/WebCore/bindings/js/ScriptController.h
+++ b/WebCore/bindings/js/ScriptController.h
@@ -142,6 +142,9 @@ public:
void clearWindowShell(bool goingIntoPageCache = false);
void updateDocument();
+ void namedItemAdded(HTMLDocument*, const AtomicString&) { }
+ void namedItemRemoved(HTMLDocument*, const AtomicString&) { }
+
// Notifies the ScriptController that the securityOrigin of the current
// document was modified. For example, this method is called when
// document.domain is set. This method is *not* called when a new document
diff --git a/WebCore/bindings/js/ScriptDebugServer.cpp b/WebCore/bindings/js/ScriptDebugServer.cpp
index 8f476b4..94d7e73 100644
--- a/WebCore/bindings/js/ScriptDebugServer.cpp
+++ b/WebCore/bindings/js/ScriptDebugServer.cpp
@@ -245,11 +245,16 @@ JavaScriptCallFrame* ScriptDebugServer::currentCallFrame()
return m_currentCallFrame.get();
}
-ScriptState* ScriptDebugServer::currentCallFrameState()
+void ScriptDebugServer::dispatchDidPause(ScriptDebugListener* listener)
{
- if (!m_paused)
- return 0;
- return m_currentCallFrame->scopeChain()->globalObject->globalExec();
+ ASSERT(m_paused);
+ ScriptState* state = m_currentCallFrame->scopeChain()->globalObject->globalExec();
+ listener->didPause(state);
+}
+
+void ScriptDebugServer::dispatchDidContinue(ScriptDebugListener* listener)
+{
+ listener->didContinue();
}
void ScriptDebugServer::dispatchDidParseSource(const ListenerSet& listeners, const JSC::SourceCode& source)
@@ -335,7 +340,7 @@ void ScriptDebugServer::dispatchFunctionToListeners(const ListenerSet& listeners
Vector<ScriptDebugListener*> copy;
copyToVector(listeners, copy);
for (size_t i = 0; i < copy.size(); ++i)
- (copy[i]->*callback)();
+ (this->*callback)(copy[i]);
}
void ScriptDebugServer::dispatchFunctionToListeners(JavaScriptExecutionCallback callback, Page* page)
@@ -431,7 +436,7 @@ void ScriptDebugServer::pauseIfNeeded(Page* page)
m_pauseOnNextStatement = false;
m_paused = true;
- dispatchFunctionToListeners(&ScriptDebugListener::didPause, page);
+ dispatchFunctionToListeners(&ScriptDebugServer::dispatchDidPause, page);
setJavaScriptPaused(page->group(), true);
@@ -446,7 +451,7 @@ void ScriptDebugServer::pauseIfNeeded(Page* page)
m_paused = false;
- dispatchFunctionToListeners(&ScriptDebugListener::didContinue, page);
+ dispatchFunctionToListeners(&ScriptDebugServer::dispatchDidContinue, page);
}
void ScriptDebugServer::callEvent(const DebuggerCallFrame& debuggerCallFrame, intptr_t sourceID, int lineNumber)
diff --git a/WebCore/bindings/js/ScriptDebugServer.h b/WebCore/bindings/js/ScriptDebugServer.h
index 4740585..cfada27 100644
--- a/WebCore/bindings/js/ScriptDebugServer.h
+++ b/WebCore/bindings/js/ScriptDebugServer.h
@@ -34,7 +34,6 @@
#include "PlatformString.h"
#include "ScriptBreakpoint.h"
-#include "ScriptState.h"
#include "Timer.h"
#include <debugger/Debugger.h>
@@ -86,13 +85,12 @@ public:
void recompileAllJSFunctions(Timer<ScriptDebugServer>* = 0);
JavaScriptCallFrame* currentCallFrame();
- ScriptState* currentCallFrameState();
void pageCreated(Page*);
private:
typedef HashSet<ScriptDebugListener*> ListenerSet;
- typedef void (ScriptDebugListener::*JavaScriptExecutionCallback)();
+ typedef void (ScriptDebugServer::*JavaScriptExecutionCallback)(ScriptDebugListener*);
ScriptDebugServer();
~ScriptDebugServer();
@@ -109,6 +107,8 @@ private:
void dispatchFunctionToListeners(JavaScriptExecutionCallback, Page*);
void dispatchFunctionToListeners(const ListenerSet& listeners, JavaScriptExecutionCallback callback);
+ void dispatchDidPause(ScriptDebugListener*);
+ void dispatchDidContinue(ScriptDebugListener*);
void dispatchDidParseSource(const ListenerSet& listeners, const JSC::SourceCode& source);
void dispatchFailedToParseSource(const ListenerSet& listeners, const JSC::SourceCode& source, int errorLine, const String& errorMessage);
diff --git a/WebCore/bindings/scripts/CodeGeneratorGObject.pm b/WebCore/bindings/scripts/CodeGeneratorGObject.pm
index 1d03f08..b331f97 100644
--- a/WebCore/bindings/scripts/CodeGeneratorGObject.pm
+++ b/WebCore/bindings/scripts/CodeGeneratorGObject.pm
@@ -26,6 +26,11 @@ package CodeGeneratorGObject;
my %implIncludes = ();
my %hdrIncludes = ();
+my $defineTypeMacro = "G_DEFINE_TYPE";
+my $defineTypeInterfaceImplementation = ")";
+my @txtEventListeners = ();
+my @txtInstallEventListeners = ();
+my @txtInstallSignals = ();
my @txtInstallProps = ();
my @txtSetProps = ();
my @txtGetProps = ();
@@ -153,10 +158,6 @@ sub SkipAttribute {
}
my $propType = $attribute->signature->type;
- if ($propType eq "EventListener") {
- return 1;
- }
-
if ($propType =~ /Constructor$/) {
return 1;
}
@@ -198,10 +199,6 @@ sub SkipFunction {
return 1;
}
- if ($function->signature->type eq "Event") {
- return 1;
- }
-
if ($function->signature->name eq "getSVGDocument") {
return 1;
}
@@ -218,6 +215,7 @@ sub GetGValueTypeName {
my $type = shift;
my %types = ("DOMString", "string",
+ "DOMTimeStamp", "uint",
"float", "float",
"double", "double",
"boolean", "boolean",
@@ -242,6 +240,7 @@ sub GetGlibTypeName {
my $name = GetClassName($type);
my %types = ("DOMString", "gchar* ",
+ "DOMTimeStamp", "guint32",
"CompareHow", "gushort",
"float", "gfloat",
"double", "gdouble",
@@ -319,9 +318,6 @@ sub GenerateProperty {
my $propType = $attribute->signature->type;
my ${propGType} = decamelize($propType);
- if ($propGType eq "event_target") {
- $propGType = "event_target_node";
- }
my ${ucPropGType} = uc($propGType);
my $gtype = GetGValueTypeName($propType);
@@ -446,6 +442,64 @@ EOF
push(@txtInstallProps, $txtInstallProp);
}
+my %breakWords = ("before" => 1, "can" => 1, "context" => 1, "dbl" => 1, "drag" => 1,
+ "drag" => 1, "duration" => 1, "has" => 1, "key" => 1, "loaded" => 1,
+ "mouse" => 1, "page" => 1, "pop" => 1, "rate" => 1, "select" => 1,
+ "time" => 1, "touch" => 1, "volume" => 1);
+
+sub SplitEventListenerAttrName {
+ my $attrName = shift;
+
+ my @matches = grep { $attrName =~ /^$_/ } keys (%breakWords);
+
+ if (@matches && (length $matches[0] < length $attrName)) {
+ $attrName = $matches[0] . "-" . substr($attrName, length $matches[0]);
+ }
+
+ return $attrName;
+}
+
+sub EventSignalName {
+ my $attrName = shift;
+ my $name = SplitEventListenerAttrName($attrName) . "-event";
+
+ return $name;
+}
+
+sub GenerateEventListener {
+ my $attribute = shift;
+ my $object = shift;
+ my $interfaceName = shift;
+
+ my $name = $attribute->signature->name;
+ my $domSignalName = substr($name, 2);
+ my $gobjectSignalName = EventSignalName($domSignalName);
+
+ my $txtInstallSignal = << "EOF";
+ g_signal_new("${gobjectSignalName}",
+ G_TYPE_FROM_CLASS(gobjectClass),
+ G_SIGNAL_RUN_LAST,
+ 0,
+ g_signal_accumulator_true_handled, 0,
+ webkit_marshal_BOOLEAN__OBJECT,
+ G_TYPE_BOOLEAN, 1,
+ WEBKIT_TYPE_DOM_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
+
+EOF
+ push(@txtInstallSignals, $txtInstallSignal);
+
+ my ${listenerName} = $domSignalName . "Listener";
+
+ my $txtInstallEventListener = << "EOF";
+ RefPtr<WebCore::GObjectEventListener> ${listenerName} = WebCore::GObjectEventListener::create(reinterpret_cast<GObject*>(wrapper), "${gobjectSignalName}");
+ coreObject->addEventListener("${domSignalName}", ${listenerName}, false);
+EOF
+ push(@txtInstallEventListeners, $txtInstallEventListener);
+
+ $implIncludes{"webkit/WebKitDOMEvent.h"} = 1;
+ $implIncludes{"GObjectEventListener.h"} = 1;
+}
+
sub GenerateProperties {
my ($object, $interfaceName, $dataNode) = @_;
@@ -506,7 +560,11 @@ EOF
push(@txtSetProps, $txtSetProps);
foreach my $attribute (@readableProperties) {
- GenerateProperty($attribute, $interfaceName, \@writeableProperties);
+ if ($attribute->signature->type eq "EventListener") {
+ GenerateEventListener($attribute, $object, $interfaceName);
+ } else {
+ GenerateProperty($attribute, $interfaceName, \@writeableProperties);
+ }
}
push(@cBodyPriv, "};\n\n");
@@ -529,17 +587,13 @@ EOF
EOF
push(@txtSetProps, $txtSetProps);
- # TODO: work out if it's appropriate to split this into many different
- # signals e.g. "click" etc.
- my $txtInstallSignals = "";
-
$implContent = << "EOF";
static void ${lowerCaseIfaceName}_finalize(GObject* object)
{
WebKitDOMObject* dom_object = WEBKIT_DOM_OBJECT(object);
- if (dom_object->coreObject != NULL) {
+ if (dom_object->coreObject) {
WebCore::${interfaceName}* coreObject = static_cast<WebCore::${interfaceName} *>(dom_object->coreObject);
WebKit::DOMObjectCache::forget(coreObject);
@@ -563,8 +617,7 @@ static void ${lowerCaseIfaceName}_class_init(${className}Class* requestClass)
gobjectClass->get_property = ${lowerCaseIfaceName}_get_property;
@txtInstallProps
-
-$txtInstallSignals
+@txtInstallSignals
}
static void ${lowerCaseIfaceName}_init(${className}* request)
@@ -674,6 +727,11 @@ sub addIncludeInBody {
}
}
+# Some methods' body (only the body, since the public API can't be
+# conditional) should be guarded by #ifdefs depending on whether
+# certain features in WebKit are enabled.
+my %conditionalMethods = ("webkit_dom_geolocation_clear_watch" => "GEOLOCATION");
+
sub GenerateFunction {
my ($object, $interfaceName, $function, $prefix) = @_;
@@ -699,7 +757,7 @@ sub GenerateFunction {
foreach my $param (@{$function->parameters}) {
my $paramIDLType = $param->type;
- if ($paramIDLType eq "Event" || $paramIDLType eq "EventListener") {
+ if ($paramIDLType eq "EventListener") {
push(@hBody, "\n/* TODO: event function ${functionName} */\n\n");
push(@cBody, "\n/* TODO: event function ${functionName} */\n\n");
return;
@@ -730,6 +788,8 @@ sub GenerateFunction {
if ($functionSigType ne "EventTarget") {
$implIncludes{"webkit/WebKitDOM${functionSigType}Private.h"} = 1;
$implIncludes{"webkit/WebKitDOM${functionSigType}.h"} = 1;
+ } else {
+ $implIncludes{"WebKitDOM${functionSigType}.h"} = 1;
}
$implIncludes{"${functionSigType}.h"} = 1;
@@ -742,6 +802,10 @@ sub GenerateFunction {
push(@hBody, "WEBKIT_API $returnType\n$functionName ($functionSig);\n\n");
push(@cBody, "$returnType\n$functionName ($functionSig)\n{\n");
+ if ($conditionalMethods{$functionName}) {
+ push(@cBody, "#if ENABLE($conditionalMethods{$functionName})\n");
+ }
+
if ($returnType ne "void") {
# TODO: return proper default result
push(@cBody, " g_return_val_if_fail (self, 0);\n");
@@ -900,6 +964,11 @@ EOF
push(@cBody, " return res;\n");
}
}
+
+ if ($conditionalMethods{$functionName}) {
+ push(@cBody, "#endif\n");
+ }
+
push(@cBody, "\n}\n\n");
}
@@ -924,7 +993,7 @@ sub GenerateFunctions {
TOP:
foreach my $attribute (@{$dataNode->attributes}) {
- if (SkipAttribute($attribute)) {
+ if (SkipAttribute($attribute) || $attribute->signature->type eq "EventListener") {
next TOP;
}
@@ -982,22 +1051,46 @@ sub GenerateFunctions {
sub GenerateCFile {
my ($object, $interfaceName, $parentClassName, $parentGObjType, $dataNode) = @_;
+
+ if ($dataNode->extendedAttributes->{"EventTarget"}) {
+ $object->GenerateEventTargetIface($dataNode);
+ }
+
my $implContent = "";
my $clsCaps = uc(FixUpDecamelizedName(decamelize($interfaceName)));
my $lowerCaseIfaceName = "webkit_dom_" . FixUpDecamelizedName(decamelize($interfaceName));
$implContent = << "EOF";
-G_DEFINE_TYPE(${className}, ${lowerCaseIfaceName}, ${parentGObjType})
+${defineTypeMacro}(${className}, ${lowerCaseIfaceName}, ${parentGObjType}${defineTypeInterfaceImplementation}
namespace WebKit {
+WebCore::${interfaceName}* core(${className}* request)
+{
+ g_return_val_if_fail(request, 0);
+
+ WebCore::${interfaceName}* coreObject = static_cast<WebCore::${interfaceName}*>(WEBKIT_DOM_OBJECT(request)->coreObject);
+ g_return_val_if_fail(coreObject, 0);
+
+ return coreObject;
+}
+
+} // namespace WebKit
+EOF
+
+ push(@cBodyPriv, $implContent);
+ $object->GenerateProperties($interfaceName, $dataNode);
+ $object->GenerateFunctions($interfaceName, $dataNode);
+
+ my $wrapMethod = << "EOF";
+namespace WebKit {
${className}* wrap${interfaceName}(WebCore::${interfaceName}* coreObject)
{
- g_return_val_if_fail(coreObject != 0, 0);
+ g_return_val_if_fail(coreObject, 0);
${className}* wrapper = WEBKIT_DOM_${clsCaps}(g_object_new(WEBKIT_TYPE_DOM_${clsCaps}, NULL));
- g_return_val_if_fail(wrapper != 0, 0);
+ g_return_val_if_fail(wrapper, 0);
/* We call ref() rather than using a C++ smart pointer because we can't store a C++ object
* in a C-allocated GObject structure. See the finalize() code for the
@@ -1006,26 +1099,13 @@ ${className}* wrap${interfaceName}(WebCore::${interfaceName}* coreObject)
coreObject->ref();
WEBKIT_DOM_OBJECT(wrapper)->coreObject = coreObject;
+@txtInstallEventListeners
return wrapper;
}
-
-WebCore::${interfaceName}* core(${className}* request)
-{
- g_return_val_if_fail(request != 0, 0);
-
- WebCore::${interfaceName}* coreObject = static_cast<WebCore::${interfaceName}*>(WEBKIT_DOM_OBJECT(request)->coreObject);
- g_return_val_if_fail(coreObject != 0, 0);
-
- return coreObject;
-}
-
} // namespace WebKit
EOF
-
- push(@cBodyPriv, $implContent);
- $object->GenerateProperties($interfaceName, $dataNode);
- $object->GenerateFunctions($interfaceName, $dataNode);
+ push(@cBodyPriv, $wrapMethod);
}
sub GenerateEndHeader {
@@ -1107,6 +1187,44 @@ sub UsesManualKitImplementation {
return 0;
}
+sub GenerateEventTargetIface {
+ my $object = shift;
+ my $dataNode = shift;
+
+ my $interfaceName = $dataNode->name;
+ my $decamelize = FixUpDecamelizedName(decamelize($interfaceName));
+
+ $implIncludes{"WebKitDOMEventTarget.h"} = 1;
+ $implIncludes{"WebKitDOMEventPrivate.h"} = 1;
+
+ my $impl = << "EOF";
+static void webkit_dom_${decamelize}_dispatch_event(WebKitDOMEventTarget* target, WebKitDOMEvent* event, GError** error)
+{
+ WebCore::Event* coreEvent = WebKit::core(event);
+ WebCore::${interfaceName}* coreTarget = static_cast<WebCore::${interfaceName}*>(WEBKIT_DOM_OBJECT(target)->coreObject);
+
+ WebCore::ExceptionCode ec = 0;
+ coreTarget->dispatchEvent(coreEvent, ec);
+ if (ec) {
+ WebCore::ExceptionCodeDescription description;
+ WebCore::getExceptionCodeDescription(ec, description);
+ g_set_error_literal(error, g_quark_from_string("WEBKIT_DOM"), description.code, description.name);
+ }
+}
+
+static void webkit_dom_event_target_init(WebKitDOMEventTargetIface* iface)
+{
+ iface->dispatch_event = webkit_dom_${decamelize}_dispatch_event;
+}
+
+EOF
+
+ push(@cBody, $impl);
+
+ $defineTypeMacro = "G_DEFINE_TYPE_WITH_CODE";
+ $defineTypeInterfaceImplementation = ", G_IMPLEMENT_INTERFACE(WEBKIT_TYPE_DOM_EVENT_TARGET, webkit_dom_event_target_init))";
+}
+
sub Generate {
my ($object, $dataNode) = @_;
@@ -1138,7 +1256,7 @@ namespace WebKit {
gpointer kit(WebCore::$interfaceName* obj)
{
- g_return_val_if_fail(obj != 0, 0);
+ g_return_val_if_fail(obj, 0);
if (gpointer ret = DOMObjectCache::get(obj))
return ret;
@@ -1156,6 +1274,7 @@ EOF
$object->GenerateCFile($interfaceName, $parentClassName, $parentGObjType, $dataNode);
$object->GenerateEndHeader();
$object->GeneratePrivateHeader($dataNode);
+
}
# Internal helper
diff --git a/WebCore/bindings/scripts/CodeGeneratorJS.pm b/WebCore/bindings/scripts/CodeGeneratorJS.pm
index 3be997f..bffd046 100644
--- a/WebCore/bindings/scripts/CodeGeneratorJS.pm
+++ b/WebCore/bindings/scripts/CodeGeneratorJS.pm
@@ -177,10 +177,10 @@ END
}
push(@GenerateEventListenerImpl, <<END);
- JSValue listener = args.at(1);
+ JSValue listener = exec->argument(1);
if (!listener.isObject())
return jsUndefined();
- imp->${functionName}EventListener(ustringToAtomicString(args.at(0).toString(exec)), JSEventListener::create(asObject(listener), $wrapperObject, false, currentWorld(exec))$passRefPtrHandling, args.at(2).toBoolean(exec));
+ imp->${functionName}EventListener(ustringToAtomicString(exec->argument(0).toString(exec)), JSEventListener::create(asObject(listener), $wrapperObject, false, currentWorld(exec))$passRefPtrHandling, exec->argument(2).toBoolean(exec));
return jsUndefined();
END
return @GenerateEventListenerImpl;
@@ -846,7 +846,7 @@ sub GenerateHeader
foreach my $function (@{$dataNode->functions}) {
if ($function->signature->extendedAttributes->{"Custom"} || $function->signature->extendedAttributes->{"JSCCustom"}) {
my $functionImplementationName = $function->signature->extendedAttributes->{"ImplementationFunction"} || $codeGenerator->WK_lcfirst($function->signature->name);
- push(@headerContent, " JSC::JSValue " . $functionImplementationName . "(JSC::ExecState*, const JSC::ArgList&);\n");
+ push(@headerContent, " JSC::JSValue " . $functionImplementationName . "(JSC::ExecState*);\n");
}
}
}
@@ -989,7 +989,7 @@ sub GenerateHeader
foreach my $function (@{$dataNode->functions}) {
next if $function->{overloadIndex} && $function->{overloadIndex} > 1;
my $functionName = $codeGenerator->WK_lcfirst($className) . "PrototypeFunction" . $codeGenerator->WK_ucfirst($function->signature->name);
- push(@headerContent, "JSC::JSValue JSC_HOST_CALL ${functionName}(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);\n");
+ push(@headerContent, "JSC::JSValue JSC_HOST_CALL ${functionName}(JSC::ExecState*);\n");
}
}
@@ -1103,11 +1103,11 @@ sub GenerateParametersCheckExpression
my $function = shift;
my @andExpression = ();
- push(@andExpression, "args.size() == $numParameters");
+ push(@andExpression, "exec->argumentCount() == $numParameters");
my $parameterIndex = 0;
foreach $parameter (@{$function->parameters}) {
last if $parameterIndex >= $numParameters;
- my $value = "args.at($parameterIndex)";
+ my $value = "exec->argument($parameterIndex)";
my $type = $codeGenerator->StripModule($parameter->type);
# Only DOMString or wrapper types are checked.
@@ -1154,14 +1154,14 @@ sub GenerateOverloadedPrototypeFunction
my $functionName = "js${implClassName}PrototypeFunction" . $codeGenerator->WK_ucfirst($function->signature->name);
- push(@implContent, "JSValue JSC_HOST_CALL ${functionName}(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)\n");
+ push(@implContent, "JSValue JSC_HOST_CALL ${functionName}(ExecState* exec)\n");
push(@implContent, <<END);
{
END
foreach my $overload (@{$function->{overloads}}) {
my $parametersCheck = GenerateFunctionParametersCheck($overload);
push(@implContent, " if ($parametersCheck)\n");
- push(@implContent, " return ${functionName}$overload->{overloadIndex}(exec, thisValue, args);\n");
+ push(@implContent, " return ${functionName}$overload->{overloadIndex}(exec);\n");
}
push(@implContent, <<END);
return throwError(exec, TypeError);
@@ -1790,21 +1790,21 @@ sub GenerateImplementation
my $functionImplementationName = $function->signature->extendedAttributes->{"ImplementationFunction"} || $codeGenerator->WK_lcfirst($function->signature->name);
- push(@implContent, "JSValue JSC_HOST_CALL ${functionName}(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)\n");
+ push(@implContent, "JSValue JSC_HOST_CALL ${functionName}(ExecState* exec)\n");
push(@implContent, "{\n");
- push(@implContent, " UNUSED_PARAM(args);\n");
$implIncludes{"<runtime/Error.h>"} = 1;
if ($interfaceName eq "DOMWindow") {
- push(@implContent, " $className* castedThis = toJSDOMWindow(thisValue.toThisObject(exec));\n");
+ push(@implContent, " $className* castedThis = toJSDOMWindow(exec->hostThisValue().toThisObject(exec));\n");
push(@implContent, " if (!castedThis)\n");
push(@implContent, " return throwError(exec, TypeError);\n");
} elsif ($dataNode->extendedAttributes->{"IsWorkerContext"}) {
- push(@implContent, " $className* castedThis = to${className}(thisValue.toThisObject(exec));\n");
+ push(@implContent, " $className* castedThis = to${className}(exec->hostThisValue().toThisObject(exec));\n");
push(@implContent, " if (!castedThis)\n");
push(@implContent, " return throwError(exec, TypeError);\n");
} else {
+ push(@implContent, " JSValue thisValue = exec->hostThisValue();\n");
push(@implContent, " if (!thisValue.inherits(&${className}::s_info))\n");
push(@implContent, " return throwError(exec, TypeError);\n");
push(@implContent, " $className* castedThis = static_cast<$className*>(asObject(thisValue));\n");
@@ -1832,12 +1832,12 @@ sub GenerateImplementation
}
if ($function->signature->extendedAttributes->{"Custom"} || $function->signature->extendedAttributes->{"JSCCustom"}) {
- push(@implContent, " return castedThis->" . $functionImplementationName . "(exec, args);\n");
+ push(@implContent, " return castedThis->" . $functionImplementationName . "(exec);\n");
} elsif ($svgPODListType) {
$implIncludes{"JS${svgPODListType}.h"} = 1;
$implIncludes{"JSSVGPODListCustom.h"} = 1;
push(@implContent, " return JSSVGPODListCustom::$functionImplementationName<$className, " . GetNativeType($svgPODListType)
- . ">(castedThis, exec, args, to" . $svgPODListType . ");\n");
+ . ">(castedThis, exec, to" . $svgPODListType . ");\n");
} else {
push(@implContent, " $implType* imp = static_cast<$implType*>(castedThis->impl());\n");
push(@implContent, " $podType podImp(*imp);\n") if $podType;
@@ -1846,7 +1846,7 @@ sub GenerateImplementation
my $requiresAllArguments = $function->signature->extendedAttributes->{"RequiresAllArguments"};
if ($requiresAllArguments) {
- push(@implContent, " if (args.size() < $numParameters)\n");
+ push(@implContent, " if (exec->argumentCount() < $numParameters)\n");
if ($requiresAllArguments eq "Raise") {
push(@implContent, " return throwError(exec, SyntaxError, \"Not enough arguments\");\n");
} else {
@@ -1875,7 +1875,7 @@ sub GenerateImplementation
my $hasOptionalArguments = 0;
if ($function->signature->extendedAttributes->{"CustomArgumentHandling"}) {
- push(@implContent, " ScriptCallStack callStack(exec, args, $numParameters);\n");
+ push(@implContent, " ScriptCallStack callStack(exec, $numParameters);\n");
$implIncludes{"ScriptCallStack.h"} = 1;
}
@@ -1899,7 +1899,7 @@ sub GenerateImplementation
if ($parameter->extendedAttributes->{"Optional"}) {
# Generate early call if there are enough parameters.
if (!$hasOptionalArguments) {
- push(@implContent, "\n int argsCount = args.size();\n");
+ push(@implContent, "\n int argsCount = exec->argumentCount();\n");
$hasOptionalArguments = 1;
}
push(@implContent, " if (argsCount < " . ($paramIndex + 1) . ") {\n");
@@ -1911,15 +1911,15 @@ sub GenerateImplementation
if ($parameter->type eq "XPathNSResolver") {
push(@implContent, " RefPtr<XPathNSResolver> customResolver;\n");
- push(@implContent, " XPathNSResolver* resolver = toXPathNSResolver(args.at($paramIndex));\n");
+ push(@implContent, " XPathNSResolver* resolver = toXPathNSResolver(exec->argument($paramIndex));\n");
push(@implContent, " if (!resolver) {\n");
- push(@implContent, " customResolver = JSCustomXPathNSResolver::create(exec, args.at($paramIndex));\n");
+ push(@implContent, " customResolver = JSCustomXPathNSResolver::create(exec, exec->argument($paramIndex));\n");
push(@implContent, " if (exec->hadException())\n");
push(@implContent, " return jsUndefined();\n");
push(@implContent, " resolver = customResolver.get();\n");
push(@implContent, " }\n");
} else {
- push(@implContent, " " . GetNativeTypeFromSignature($parameter) . " $name = " . JSValueToNative($parameter, "args.at($paramIndex)") . ";\n");
+ push(@implContent, " " . GetNativeTypeFromSignature($parameter) . " $name = " . JSValueToNative($parameter, "exec->argument($paramIndex)") . ";\n");
# If a parameter is "an index" and it's negative it should throw an INDEX_SIZE_ERR exception.
# But this needs to be done in the bindings, because the type is unsigned and the fact that it
@@ -2719,7 +2719,7 @@ public:
${constructorClassName}(ExecState* exec, JSDOMGlobalObject* globalObject)
: DOMConstructorObject(${constructorClassName}::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, ${protoClassName}::self(exec, globalObject), None);
+ putDirect(exec->propertyNames().prototype, ${protoClassName}::self(exec, globalObject), DontDelete | ReadOnly);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
diff --git a/WebCore/bindings/scripts/CodeGeneratorObjC.pm b/WebCore/bindings/scripts/CodeGeneratorObjC.pm
index e06b274..89da48d 100644
--- a/WebCore/bindings/scripts/CodeGeneratorObjC.pm
+++ b/WebCore/bindings/scripts/CodeGeneratorObjC.pm
@@ -224,7 +224,9 @@ sub ReadPublicInterfaces
my $fileName = "WebCore/bindings/objc/PublicDOMInterfaces.h";
my $gccLocation = "";
- if (($Config::Config{'osname'}) =~ /solaris/i) {
+ if ($ENV{CC}) {
+ $gccLocation = $ENV{CC};
+ } elsif (($Config::Config{'osname'}) =~ /solaris/i) {
$gccLocation = "/usr/sfw/bin/gcc";
} else {
$gccLocation = "/usr/bin/gcc";
diff --git a/WebCore/bindings/scripts/CodeGeneratorV8.pm b/WebCore/bindings/scripts/CodeGeneratorV8.pm
index 0167a4f..c93c25a 100644
--- a/WebCore/bindings/scripts/CodeGeneratorV8.pm
+++ b/WebCore/bindings/scripts/CodeGeneratorV8.pm
@@ -2154,15 +2154,14 @@ sub GenerateCallbackHeader
push(@headerContent, "#include <wtf/Forward.h>\n");
push(@headerContent, "\nnamespace WebCore {\n\n");
- push(@headerContent, "class Frame;\n\n");
push(@headerContent, "class $className : public $interfaceName {\n");
push(@headerContent, <<END);
public:
- static PassRefPtr<${className}> create(v8::Local<v8::Value> value, Frame* frame)
+ static PassRefPtr<${className}> create(v8::Local<v8::Value> value)
{
ASSERT(value->IsObject());
- return adoptRef(new ${className}(value->ToObject(), frame));
+ return adoptRef(new ${className}(value->ToObject()));
}
virtual ~${className}();
@@ -2192,10 +2191,9 @@ END
push(@headerContent, <<END);
private:
- ${className}(v8::Local<v8::Object>, Frame*);
+ ${className}(v8::Local<v8::Object>);
v8::Persistent<v8::Object> m_callback;
- RefPtr<Frame> m_frame;
WorldContextHandle m_worldContext;
};
@@ -2218,15 +2216,13 @@ sub GenerateCallbackImplementation
# - Add default header template
push(@implFixedHeader, GenerateImplementationContentHeader($dataNode));
- $implIncludes{"Frame.h"} = 1;
$implIncludes{"ScriptExecutionContext.h"} = 1;
$implIncludes{"V8CustomVoidCallback.h"} = 1;
push(@implContent, "namespace WebCore {\n\n");
push(@implContent, <<END);
-${className}::${className}(v8::Local<v8::Object> callback, Frame* frame)
+${className}::${className}(v8::Local<v8::Object> callback)
: m_callback(v8::Persistent<v8::Object>::New(callback))
- , m_frame(frame)
, m_worldContext(UseCurrentWorld)
{
}
@@ -2274,9 +2270,8 @@ END
push(@implContent, join(",\n", @argvs));
push(@implContent, "\n };\n\n");
- push(@implContent, " RefPtr<Frame> protect(m_frame);\n\n");
push(@implContent, " bool callbackReturnValue = false;\n");
- push(@implContent, " return !invokeCallback(m_callback, " . scalar(@params). ", argv, callbackReturnValue);\n");
+ push(@implContent, " return !invokeCallback(m_callback, " . scalar(@params) . ", argv, callbackReturnValue, context);\n");
push(@implContent, "}\n");
}
}
diff --git a/WebCore/bindings/scripts/IDLParser.pm b/WebCore/bindings/scripts/IDLParser.pm
index c6742dc..5b7beb3 100644
--- a/WebCore/bindings/scripts/IDLParser.pm
+++ b/WebCore/bindings/scripts/IDLParser.pm
@@ -66,7 +66,9 @@ sub Parse
if (!$preprocessor) {
require Config;
my $gccLocation = "";
- if (($Config::Config{'osname'}) =~ /solaris/i) {
+ if ($ENV{CC}) {
+ $gccLocation = $ENV{CC};
+ } elsif (($Config::Config{'osname'}) =~ /solaris/i) {
$gccLocation = "/usr/sfw/bin/gcc";
} else {
$gccLocation = "/usr/bin/gcc";
diff --git a/WebCore/bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp b/WebCore/bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp
index 6cfec74..505b59b 100644
--- a/WebCore/bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp
+++ b/WebCore/bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp
@@ -42,7 +42,7 @@ namespace WebKit {
gpointer kit(WebCore::TestCallback* obj)
{
- g_return_val_if_fail(obj != 0, 0);
+ g_return_val_if_fail(obj, 0);
if (gpointer ret = DOMObjectCache::get(obj))
return ret;
@@ -98,31 +98,13 @@ G_DEFINE_TYPE(WebKitDOMTestCallback, webkit_dom_test_callback, WEBKIT_TYPE_DOM_O
namespace WebKit {
-WebKitDOMTestCallback* wrapTestCallback(WebCore::TestCallback* coreObject)
-{
- g_return_val_if_fail(coreObject != 0, 0);
-
- WebKitDOMTestCallback* wrapper = WEBKIT_DOM_TEST_CALLBACK(g_object_new(WEBKIT_TYPE_DOM_TEST_CALLBACK, NULL));
- g_return_val_if_fail(wrapper != 0, 0);
-
- /* We call ref() rather than using a C++ smart pointer because we can't store a C++ object
- * in a C-allocated GObject structure. See the finalize() code for the
- * matching deref().
- */
-
- coreObject->ref();
- WEBKIT_DOM_OBJECT(wrapper)->coreObject = coreObject;
-
- return wrapper;
-}
-
WebCore::TestCallback* core(WebKitDOMTestCallback* request)
{
- g_return_val_if_fail(request != 0, 0);
-
+ g_return_val_if_fail(request, 0);
+
WebCore::TestCallback* coreObject = static_cast<WebCore::TestCallback*>(WEBKIT_DOM_OBJECT(request)->coreObject);
- g_return_val_if_fail(coreObject != 0, 0);
-
+ g_return_val_if_fail(coreObject, 0);
+
return coreObject;
}
@@ -136,7 +118,7 @@ static void webkit_dom_test_callback_finalize(GObject* object)
{
WebKitDOMObject* dom_object = WEBKIT_DOM_OBJECT(object);
- if (dom_object->coreObject != NULL) {
+ if (dom_object->coreObject) {
WebCore::TestCallback* coreObject = static_cast<WebCore::TestCallback *>(dom_object->coreObject);
WebKit::DOMObjectCache::forget(coreObject);
@@ -177,10 +159,29 @@ static void webkit_dom_test_callback_class_init(WebKitDOMTestCallbackClass* requ
-
}
static void webkit_dom_test_callback_init(WebKitDOMTestCallback* request)
{
}
+namespace WebKit {
+WebKitDOMTestCallback* wrapTestCallback(WebCore::TestCallback* coreObject)
+{
+ g_return_val_if_fail(coreObject, 0);
+
+ WebKitDOMTestCallback* wrapper = WEBKIT_DOM_TEST_CALLBACK(g_object_new(WEBKIT_TYPE_DOM_TEST_CALLBACK, NULL));
+ g_return_val_if_fail(wrapper, 0);
+
+ /* We call ref() rather than using a C++ smart pointer because we can't store a C++ object
+ * in a C-allocated GObject structure. See the finalize() code for the
+ * matching deref().
+ */
+
+ coreObject->ref();
+ WEBKIT_DOM_OBJECT(wrapper)->coreObject = coreObject;
+
+
+ return wrapper;
+}
+} // namespace WebKit
diff --git a/WebCore/bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp b/WebCore/bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp
index 2be0277..17548d9 100644
--- a/WebCore/bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp
+++ b/WebCore/bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp
@@ -36,7 +36,7 @@ namespace WebKit {
gpointer kit(WebCore::TestInterface* obj)
{
- g_return_val_if_fail(obj != 0, 0);
+ g_return_val_if_fail(obj, 0);
if (gpointer ret = DOMObjectCache::get(obj))
return ret;
@@ -51,31 +51,13 @@ G_DEFINE_TYPE(WebKitDOMTestInterface, webkit_dom_test_interface, WEBKIT_TYPE_DOM
namespace WebKit {
-WebKitDOMTestInterface* wrapTestInterface(WebCore::TestInterface* coreObject)
-{
- g_return_val_if_fail(coreObject != 0, 0);
-
- WebKitDOMTestInterface* wrapper = WEBKIT_DOM_TEST_INTERFACE(g_object_new(WEBKIT_TYPE_DOM_TEST_INTERFACE, NULL));
- g_return_val_if_fail(wrapper != 0, 0);
-
- /* We call ref() rather than using a C++ smart pointer because we can't store a C++ object
- * in a C-allocated GObject structure. See the finalize() code for the
- * matching deref().
- */
-
- coreObject->ref();
- WEBKIT_DOM_OBJECT(wrapper)->coreObject = coreObject;
-
- return wrapper;
-}
-
WebCore::TestInterface* core(WebKitDOMTestInterface* request)
{
- g_return_val_if_fail(request != 0, 0);
-
+ g_return_val_if_fail(request, 0);
+
WebCore::TestInterface* coreObject = static_cast<WebCore::TestInterface*>(WEBKIT_DOM_OBJECT(request)->coreObject);
- g_return_val_if_fail(coreObject != 0, 0);
-
+ g_return_val_if_fail(coreObject, 0);
+
return coreObject;
}
@@ -89,7 +71,7 @@ static void webkit_dom_test_interface_finalize(GObject* object)
{
WebKitDOMObject* dom_object = WEBKIT_DOM_OBJECT(object);
- if (dom_object->coreObject != NULL) {
+ if (dom_object->coreObject) {
WebCore::TestInterface* coreObject = static_cast<WebCore::TestInterface *>(dom_object->coreObject);
WebKit::DOMObjectCache::forget(coreObject);
@@ -130,10 +112,29 @@ static void webkit_dom_test_interface_class_init(WebKitDOMTestInterfaceClass* re
-
}
static void webkit_dom_test_interface_init(WebKitDOMTestInterface* request)
{
}
+namespace WebKit {
+WebKitDOMTestInterface* wrapTestInterface(WebCore::TestInterface* coreObject)
+{
+ g_return_val_if_fail(coreObject, 0);
+
+ WebKitDOMTestInterface* wrapper = WEBKIT_DOM_TEST_INTERFACE(g_object_new(WEBKIT_TYPE_DOM_TEST_INTERFACE, NULL));
+ g_return_val_if_fail(wrapper, 0);
+
+ /* We call ref() rather than using a C++ smart pointer because we can't store a C++ object
+ * in a C-allocated GObject structure. See the finalize() code for the
+ * matching deref().
+ */
+
+ coreObject->ref();
+ WEBKIT_DOM_OBJECT(wrapper)->coreObject = coreObject;
+
+
+ return wrapper;
+}
+} // namespace WebKit
diff --git a/WebCore/bindings/scripts/test/GObject/WebKitDOMTestObj.cpp b/WebCore/bindings/scripts/test/GObject/WebKitDOMTestObj.cpp
index 996bd01..2fa8c00 100644
--- a/WebCore/bindings/scripts/test/GObject/WebKitDOMTestObj.cpp
+++ b/WebCore/bindings/scripts/test/GObject/WebKitDOMTestObj.cpp
@@ -38,7 +38,7 @@ namespace WebKit {
gpointer kit(WebCore::TestObj* obj)
{
- g_return_val_if_fail(obj != 0, 0);
+ g_return_val_if_fail(obj, 0);
if (gpointer ret = DOMObjectCache::get(obj))
return ret;
@@ -540,31 +540,13 @@ G_DEFINE_TYPE(WebKitDOMTestObj, webkit_dom_test_obj, WEBKIT_TYPE_DOM_OBJECT)
namespace WebKit {
-WebKitDOMTestObj* wrapTestObj(WebCore::TestObj* coreObject)
-{
- g_return_val_if_fail(coreObject != 0, 0);
-
- WebKitDOMTestObj* wrapper = WEBKIT_DOM_TEST_OBJ(g_object_new(WEBKIT_TYPE_DOM_TEST_OBJ, NULL));
- g_return_val_if_fail(wrapper != 0, 0);
-
- /* We call ref() rather than using a C++ smart pointer because we can't store a C++ object
- * in a C-allocated GObject structure. See the finalize() code for the
- * matching deref().
- */
-
- coreObject->ref();
- WEBKIT_DOM_OBJECT(wrapper)->coreObject = coreObject;
-
- return wrapper;
-}
-
WebCore::TestObj* core(WebKitDOMTestObj* request)
{
- g_return_val_if_fail(request != 0, 0);
-
+ g_return_val_if_fail(request, 0);
+
WebCore::TestObj* coreObject = static_cast<WebCore::TestObj*>(WEBKIT_DOM_OBJECT(request)->coreObject);
- g_return_val_if_fail(coreObject != 0, 0);
-
+ g_return_val_if_fail(coreObject, 0);
+
return coreObject;
}
@@ -591,7 +573,7 @@ static void webkit_dom_test_obj_finalize(GObject* object)
{
WebKitDOMObject* dom_object = WEBKIT_DOM_OBJECT(object);
- if (dom_object->coreObject != NULL) {
+ if (dom_object->coreObject) {
WebCore::TestObj* coreObject = static_cast<WebCore::TestObj *>(dom_object->coreObject);
WebKit::DOMObjectCache::forget(coreObject);
@@ -829,10 +811,29 @@ G_MAXLONG, /* max */
WEBKIT_PARAM_READABLE));
-
}
static void webkit_dom_test_obj_init(WebKitDOMTestObj* request)
{
}
+namespace WebKit {
+WebKitDOMTestObj* wrapTestObj(WebCore::TestObj* coreObject)
+{
+ g_return_val_if_fail(coreObject, 0);
+
+ WebKitDOMTestObj* wrapper = WEBKIT_DOM_TEST_OBJ(g_object_new(WEBKIT_TYPE_DOM_TEST_OBJ, NULL));
+ g_return_val_if_fail(wrapper, 0);
+
+ /* We call ref() rather than using a C++ smart pointer because we can't store a C++ object
+ * in a C-allocated GObject structure. See the finalize() code for the
+ * matching deref().
+ */
+
+ coreObject->ref();
+ WEBKIT_DOM_OBJECT(wrapper)->coreObject = coreObject;
+
+
+ return wrapper;
+}
+} // namespace WebKit
diff --git a/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp b/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp
index 51eb4ec..a230aef 100644
--- a/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp
+++ b/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp
@@ -64,7 +64,7 @@ public:
JSTestInterfaceConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
: DOMConstructorObject(JSTestInterfaceConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSTestInterfacePrototype::self(exec, globalObject), None);
+ putDirect(exec->propertyNames().prototype, JSTestInterfacePrototype::self(exec, globalObject), DontDelete | ReadOnly);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
@@ -140,7 +140,7 @@ JSTestInterface::~JSTestInterface()
JSObject* JSTestInterface::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
{
- return new (exec) JSTestInterfacePrototype(JSTestInterfacePrototype::createStructure(globalObject->objectPrototype()));
+ return new (exec) JSTestInterfacePrototype(globalObject, JSTestInterfacePrototype::createStructure(globalObject->objectPrototype()));
}
bool JSTestInterface::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
diff --git a/WebCore/bindings/scripts/test/JS/JSTestInterface.h b/WebCore/bindings/scripts/test/JS/JSTestInterface.h
index c076dbd..23b183b 100644
--- a/WebCore/bindings/scripts/test/JS/JSTestInterface.h
+++ b/WebCore/bindings/scripts/test/JS/JSTestInterface.h
@@ -23,6 +23,7 @@
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
+#include <runtime/JSObjectWithGlobalObject.h>
#include <runtime/ObjectPrototype.h>
namespace WebCore {
@@ -57,8 +58,8 @@ protected:
JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, TestInterface*);
TestInterface* toTestInterface(JSC::JSValue);
-class JSTestInterfacePrototype : public JSC::JSObject {
- typedef JSC::JSObject Base;
+class JSTestInterfacePrototype : public JSC::JSObjectWithGlobalObject {
+ typedef JSC::JSObjectWithGlobalObject Base;
public:
static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -67,7 +68,7 @@ public:
{
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount);
}
- JSTestInterfacePrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { }
+ JSTestInterfacePrototype(JSC::JSGlobalObject* globalObject, NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObjectWithGlobalObject(globalObject, structure) { }
protected:
static const unsigned StructureFlags = Base::StructureFlags;
};
diff --git a/WebCore/bindings/scripts/test/JS/JSTestObj.cpp b/WebCore/bindings/scripts/test/JS/JSTestObj.cpp
index 926d137..1e563c6 100644
--- a/WebCore/bindings/scripts/test/JS/JSTestObj.cpp
+++ b/WebCore/bindings/scripts/test/JS/JSTestObj.cpp
@@ -86,7 +86,7 @@ public:
JSTestObjConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
: DOMConstructorObject(JSTestObjConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSTestObjPrototype::self(exec, globalObject), None);
+ putDirect(exec->propertyNames().prototype, JSTestObjPrototype::self(exec, globalObject), DontDelete | ReadOnly);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
@@ -188,7 +188,7 @@ JSTestObj::~JSTestObj()
JSObject* JSTestObj::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
{
- return new (exec) JSTestObjPrototype(JSTestObjPrototype::createStructure(globalObject->objectPrototype()));
+ return new (exec) JSTestObjPrototype(globalObject, JSTestObjPrototype::createStructure(globalObject->objectPrototype()));
}
bool JSTestObj::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
@@ -396,9 +396,9 @@ JSValue JSTestObj::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
return getDOMConstructor<JSTestObjConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
-JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionVoidMethod(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionVoidMethod(ExecState* exec)
{
- UNUSED_PARAM(args);
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&JSTestObj::s_info))
return throwError(exec, TypeError);
JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(thisValue));
@@ -408,24 +408,24 @@ JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionVoidMethod(ExecState* exec, JSOb
return jsUndefined();
}
-JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionVoidMethodWithArgs(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionVoidMethodWithArgs(ExecState* exec)
{
- UNUSED_PARAM(args);
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&JSTestObj::s_info))
return throwError(exec, TypeError);
JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(thisValue));
TestObj* imp = static_cast<TestObj*>(castedThis->impl());
- int intArg = args.at(0).toInt32(exec);
- const String& strArg = ustringToString(args.at(1).toString(exec));
- TestObj* objArg = toTestObj(args.at(2));
+ int intArg = exec->argument(0).toInt32(exec);
+ const String& strArg = ustringToString(exec->argument(1).toString(exec));
+ TestObj* objArg = toTestObj(exec->argument(2));
imp->voidMethodWithArgs(intArg, strArg, objArg);
return jsUndefined();
}
-JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionIntMethod(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionIntMethod(ExecState* exec)
{
- UNUSED_PARAM(args);
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&JSTestObj::s_info))
return throwError(exec, TypeError);
JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(thisValue));
@@ -436,25 +436,25 @@ JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionIntMethod(ExecState* exec, JSObj
return result;
}
-JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionIntMethodWithArgs(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionIntMethodWithArgs(ExecState* exec)
{
- UNUSED_PARAM(args);
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&JSTestObj::s_info))
return throwError(exec, TypeError);
JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(thisValue));
TestObj* imp = static_cast<TestObj*>(castedThis->impl());
- int intArg = args.at(0).toInt32(exec);
- const String& strArg = ustringToString(args.at(1).toString(exec));
- TestObj* objArg = toTestObj(args.at(2));
+ int intArg = exec->argument(0).toInt32(exec);
+ const String& strArg = ustringToString(exec->argument(1).toString(exec));
+ TestObj* objArg = toTestObj(exec->argument(2));
JSC::JSValue result = jsNumber(exec, imp->intMethodWithArgs(intArg, strArg, objArg));
return result;
}
-JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionObjMethod(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionObjMethod(ExecState* exec)
{
- UNUSED_PARAM(args);
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&JSTestObj::s_info))
return throwError(exec, TypeError);
JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(thisValue));
@@ -465,51 +465,51 @@ JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionObjMethod(ExecState* exec, JSObj
return result;
}
-JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionObjMethodWithArgs(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionObjMethodWithArgs(ExecState* exec)
{
- UNUSED_PARAM(args);
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&JSTestObj::s_info))
return throwError(exec, TypeError);
JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(thisValue));
TestObj* imp = static_cast<TestObj*>(castedThis->impl());
- int intArg = args.at(0).toInt32(exec);
- const String& strArg = ustringToString(args.at(1).toString(exec));
- TestObj* objArg = toTestObj(args.at(2));
+ int intArg = exec->argument(0).toInt32(exec);
+ const String& strArg = ustringToString(exec->argument(1).toString(exec));
+ TestObj* objArg = toTestObj(exec->argument(2));
JSC::JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->objMethodWithArgs(intArg, strArg, objArg)));
return result;
}
-JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodThatRequiresAllArgs(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodThatRequiresAllArgs(ExecState* exec)
{
- UNUSED_PARAM(args);
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&JSTestObj::s_info))
return throwError(exec, TypeError);
JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(thisValue));
TestObj* imp = static_cast<TestObj*>(castedThis->impl());
- if (args.size() < 2)
+ if (exec->argumentCount() < 2)
return jsUndefined();
- const String& strArg = ustringToString(args.at(0).toString(exec));
- TestObj* objArg = toTestObj(args.at(1));
+ const String& strArg = ustringToString(exec->argument(0).toString(exec));
+ TestObj* objArg = toTestObj(exec->argument(1));
JSC::JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->methodThatRequiresAllArgs(strArg, objArg)));
return result;
}
-JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows(ExecState* exec)
{
- UNUSED_PARAM(args);
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&JSTestObj::s_info))
return throwError(exec, TypeError);
JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(thisValue));
TestObj* imp = static_cast<TestObj*>(castedThis->impl());
- if (args.size() < 2)
+ if (exec->argumentCount() < 2)
return throwError(exec, SyntaxError, "Not enough arguments");
ExceptionCode ec = 0;
- const String& strArg = ustringToString(args.at(0).toString(exec));
- TestObj* objArg = toTestObj(args.at(1));
+ const String& strArg = ustringToString(exec->argument(0).toString(exec));
+ TestObj* objArg = toTestObj(exec->argument(1));
JSC::JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->methodThatRequiresAllArgsAndThrows(strArg, objArg, ec)));
@@ -517,22 +517,22 @@ JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThro
return result;
}
-JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionSerializedValue(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionSerializedValue(ExecState* exec)
{
- UNUSED_PARAM(args);
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&JSTestObj::s_info))
return throwError(exec, TypeError);
JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(thisValue));
TestObj* imp = static_cast<TestObj*>(castedThis->impl());
- RefPtr<SerializedScriptValue> serializedArg = SerializedScriptValue::create(exec, args.at(0));
+ RefPtr<SerializedScriptValue> serializedArg = SerializedScriptValue::create(exec, exec->argument(0));
imp->serializedValue(serializedArg);
return jsUndefined();
}
-JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithException(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithException(ExecState* exec)
{
- UNUSED_PARAM(args);
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&JSTestObj::s_info))
return throwError(exec, TypeError);
JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(thisValue));
@@ -544,71 +544,71 @@ JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithException(ExecState* e
return jsUndefined();
}
-JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionCustomMethod(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionCustomMethod(ExecState* exec)
{
- UNUSED_PARAM(args);
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&JSTestObj::s_info))
return throwError(exec, TypeError);
JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(thisValue));
- return castedThis->customMethod(exec, args);
+ return castedThis->customMethod(exec);
}
-JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionCustomMethodWithArgs(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionCustomMethodWithArgs(ExecState* exec)
{
- UNUSED_PARAM(args);
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&JSTestObj::s_info))
return throwError(exec, TypeError);
JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(thisValue));
- return castedThis->customMethodWithArgs(exec, args);
+ return castedThis->customMethodWithArgs(exec);
}
-JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionCustomArgsAndException(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionCustomArgsAndException(ExecState* exec)
{
- UNUSED_PARAM(args);
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&JSTestObj::s_info))
return throwError(exec, TypeError);
JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(thisValue));
TestObj* imp = static_cast<TestObj*>(castedThis->impl());
ExceptionCode ec = 0;
- ScriptCallStack callStack(exec, args, 1);
- log* intArg = tolog(args.at(0));
+ ScriptCallStack callStack(exec, 1);
+ log* intArg = tolog(exec->argument(0));
imp->customArgsAndException(intArg, &callStack, ec);
setDOMException(exec, ec);
return jsUndefined();
}
-JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionAddEventListener(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionAddEventListener(ExecState* exec)
{
- UNUSED_PARAM(args);
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&JSTestObj::s_info))
return throwError(exec, TypeError);
JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(thisValue));
TestObj* imp = static_cast<TestObj*>(castedThis->impl());
- JSValue listener = args.at(1);
+ JSValue listener = exec->argument(1);
if (!listener.isObject())
return jsUndefined();
- imp->addEventListener(ustringToAtomicString(args.at(0).toString(exec)), JSEventListener::create(asObject(listener), castedThis, false, currentWorld(exec)), args.at(2).toBoolean(exec));
+ imp->addEventListener(ustringToAtomicString(exec->argument(0).toString(exec)), JSEventListener::create(asObject(listener), castedThis, false, currentWorld(exec)), exec->argument(2).toBoolean(exec));
return jsUndefined();
}
-JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionRemoveEventListener(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionRemoveEventListener(ExecState* exec)
{
- UNUSED_PARAM(args);
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&JSTestObj::s_info))
return throwError(exec, TypeError);
JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(thisValue));
TestObj* imp = static_cast<TestObj*>(castedThis->impl());
- JSValue listener = args.at(1);
+ JSValue listener = exec->argument(1);
if (!listener.isObject())
return jsUndefined();
- imp->removeEventListener(ustringToAtomicString(args.at(0).toString(exec)), JSEventListener::create(asObject(listener), castedThis, false, currentWorld(exec)).get(), args.at(2).toBoolean(exec));
+ imp->removeEventListener(ustringToAtomicString(exec->argument(0).toString(exec)), JSEventListener::create(asObject(listener), castedThis, false, currentWorld(exec)).get(), exec->argument(2).toBoolean(exec));
return jsUndefined();
}
-JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithDynamicFrame(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithDynamicFrame(ExecState* exec)
{
- UNUSED_PARAM(args);
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&JSTestObj::s_info))
return throwError(exec, TypeError);
JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(thisValue));
@@ -621,9 +621,9 @@ JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithDynamicFrame(ExecState* exec
return jsUndefined();
}
-JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithDynamicFrameAndArg(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithDynamicFrameAndArg(ExecState* exec)
{
- UNUSED_PARAM(args);
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&JSTestObj::s_info))
return throwError(exec, TypeError);
JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(thisValue));
@@ -631,15 +631,15 @@ JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithDynamicFrameAndArg(ExecState
Frame* dynamicFrame = toDynamicFrame(exec);
if (!dynamicFrame)
return jsUndefined();
- int intArg = args.at(1).toInt32(exec);
+ int intArg = exec->argument(1).toInt32(exec);
imp->withDynamicFrameAndArg(dynamicFrame, intArg);
return jsUndefined();
}
-JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg(ExecState* exec)
{
- UNUSED_PARAM(args);
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&JSTestObj::s_info))
return throwError(exec, TypeError);
JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(thisValue));
@@ -647,23 +647,23 @@ JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg(E
Frame* dynamicFrame = toDynamicFrame(exec);
if (!dynamicFrame)
return jsUndefined();
- int intArg = args.at(1).toInt32(exec);
+ int intArg = exec->argument(1).toInt32(exec);
- int argsCount = args.size();
+ int argsCount = exec->argumentCount();
if (argsCount < 3) {
imp->withDynamicFrameAndOptionalArg(dynamicFrame, intArg);
return jsUndefined();
}
- int optionalArg = args.at(2).toInt32(exec);
+ int optionalArg = exec->argument(2).toInt32(exec);
imp->withDynamicFrameAndOptionalArg(dynamicFrame, intArg, optionalArg);
return jsUndefined();
}
-JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture(ExecState* exec)
{
- UNUSED_PARAM(args);
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&JSTestObj::s_info))
return throwError(exec, TypeError);
JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(thisValue));
@@ -671,15 +671,15 @@ JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture(E
Frame* dynamicFrame = toDynamicFrame(exec);
if (!dynamicFrame)
return jsUndefined();
- int intArg = args.at(1).toInt32(exec);
+ int intArg = exec->argument(1).toInt32(exec);
imp->withDynamicFrameAndUserGesture(dynamicFrame, intArg, processingUserGesture(exec));
return jsUndefined();
}
-JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD(ExecState* exec)
{
- UNUSED_PARAM(args);
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&JSTestObj::s_info))
return throwError(exec, TypeError);
JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(thisValue));
@@ -687,23 +687,23 @@ JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureAS
Frame* dynamicFrame = toDynamicFrame(exec);
if (!dynamicFrame)
return jsUndefined();
- int intArg = args.at(1).toInt32(exec);
+ int intArg = exec->argument(1).toInt32(exec);
- int argsCount = args.size();
+ int argsCount = exec->argumentCount();
if (argsCount < 3) {
imp->withDynamicFrameAndUserGestureASAD(dynamicFrame, intArg);
return jsUndefined();
}
- int optionalArg = args.at(2).toInt32(exec);
+ int optionalArg = exec->argument(2).toInt32(exec);
imp->withDynamicFrameAndUserGestureASAD(dynamicFrame, intArg, optionalArg, processingUserGesture(exec));
return jsUndefined();
}
-JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithScriptStateVoid(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithScriptStateVoid(ExecState* exec)
{
- UNUSED_PARAM(args);
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&JSTestObj::s_info))
return throwError(exec, TypeError);
JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(thisValue));
@@ -713,9 +713,9 @@ JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithScriptStateVoid(ExecState* e
return jsUndefined();
}
-JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithScriptStateObj(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithScriptStateObj(ExecState* exec)
{
- UNUSED_PARAM(args);
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&JSTestObj::s_info))
return throwError(exec, TypeError);
JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(thisValue));
@@ -728,9 +728,9 @@ JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithScriptStateObj(ExecState* ex
return result;
}
-JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithScriptStateVoidException(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithScriptStateVoidException(ExecState* exec)
{
- UNUSED_PARAM(args);
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&JSTestObj::s_info))
return throwError(exec, TypeError);
JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(thisValue));
@@ -742,9 +742,9 @@ JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithScriptStateVoidException(Exe
return jsUndefined();
}
-JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithScriptStateObjException(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithScriptStateObjException(ExecState* exec)
{
- UNUSED_PARAM(args);
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&JSTestObj::s_info))
return throwError(exec, TypeError);
JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(thisValue));
@@ -759,140 +759,140 @@ JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithScriptStateObjException(Exec
return result;
}
-JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalArg(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalArg(ExecState* exec)
{
- UNUSED_PARAM(args);
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&JSTestObj::s_info))
return throwError(exec, TypeError);
JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(thisValue));
TestObj* imp = static_cast<TestObj*>(castedThis->impl());
- int argsCount = args.size();
+ int argsCount = exec->argumentCount();
if (argsCount < 1) {
imp->methodWithOptionalArg();
return jsUndefined();
}
- int opt = args.at(0).toInt32(exec);
+ int opt = exec->argument(0).toInt32(exec);
imp->methodWithOptionalArg(opt);
return jsUndefined();
}
-JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg(ExecState* exec)
{
- UNUSED_PARAM(args);
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&JSTestObj::s_info))
return throwError(exec, TypeError);
JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(thisValue));
TestObj* imp = static_cast<TestObj*>(castedThis->impl());
- int nonOpt = args.at(0).toInt32(exec);
+ int nonOpt = exec->argument(0).toInt32(exec);
- int argsCount = args.size();
+ int argsCount = exec->argumentCount();
if (argsCount < 2) {
imp->methodWithNonOptionalArgAndOptionalArg(nonOpt);
return jsUndefined();
}
- int opt = args.at(1).toInt32(exec);
+ int opt = exec->argument(1).toInt32(exec);
imp->methodWithNonOptionalArgAndOptionalArg(nonOpt, opt);
return jsUndefined();
}
-JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs(ExecState* exec)
{
- UNUSED_PARAM(args);
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&JSTestObj::s_info))
return throwError(exec, TypeError);
JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(thisValue));
TestObj* imp = static_cast<TestObj*>(castedThis->impl());
- int nonOpt = args.at(0).toInt32(exec);
+ int nonOpt = exec->argument(0).toInt32(exec);
- int argsCount = args.size();
+ int argsCount = exec->argumentCount();
if (argsCount < 2) {
imp->methodWithNonOptionalArgAndTwoOptionalArgs(nonOpt);
return jsUndefined();
}
- int opt1 = args.at(1).toInt32(exec);
- int opt2 = args.at(2).toInt32(exec);
+ int opt1 = exec->argument(1).toInt32(exec);
+ int opt2 = exec->argument(2).toInt32(exec);
imp->methodWithNonOptionalArgAndTwoOptionalArgs(nonOpt, opt1, opt2);
return jsUndefined();
}
-JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionOverloadedMethod1(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionOverloadedMethod1(ExecState* exec)
{
- UNUSED_PARAM(args);
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&JSTestObj::s_info))
return throwError(exec, TypeError);
JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(thisValue));
TestObj* imp = static_cast<TestObj*>(castedThis->impl());
- TestObj* objArg = toTestObj(args.at(0));
- const String& strArg = ustringToString(args.at(1).toString(exec));
+ TestObj* objArg = toTestObj(exec->argument(0));
+ const String& strArg = ustringToString(exec->argument(1).toString(exec));
imp->overloadedMethod(objArg, strArg);
return jsUndefined();
}
-JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionOverloadedMethod2(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionOverloadedMethod2(ExecState* exec)
{
- UNUSED_PARAM(args);
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&JSTestObj::s_info))
return throwError(exec, TypeError);
JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(thisValue));
TestObj* imp = static_cast<TestObj*>(castedThis->impl());
- TestObj* objArg = toTestObj(args.at(0));
+ TestObj* objArg = toTestObj(exec->argument(0));
- int argsCount = args.size();
+ int argsCount = exec->argumentCount();
if (argsCount < 2) {
imp->overloadedMethod(objArg);
return jsUndefined();
}
- int intArg = args.at(1).toInt32(exec);
+ int intArg = exec->argument(1).toInt32(exec);
imp->overloadedMethod(objArg, intArg);
return jsUndefined();
}
-JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionOverloadedMethod3(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionOverloadedMethod3(ExecState* exec)
{
- UNUSED_PARAM(args);
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&JSTestObj::s_info))
return throwError(exec, TypeError);
JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(thisValue));
TestObj* imp = static_cast<TestObj*>(castedThis->impl());
- const String& strArg = ustringToString(args.at(0).toString(exec));
+ const String& strArg = ustringToString(exec->argument(0).toString(exec));
imp->overloadedMethod(strArg);
return jsUndefined();
}
-JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionOverloadedMethod4(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionOverloadedMethod4(ExecState* exec)
{
- UNUSED_PARAM(args);
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&JSTestObj::s_info))
return throwError(exec, TypeError);
JSTestObj* castedThis = static_cast<JSTestObj*>(asObject(thisValue));
TestObj* imp = static_cast<TestObj*>(castedThis->impl());
- int intArg = args.at(0).toInt32(exec);
+ int intArg = exec->argument(0).toInt32(exec);
imp->overloadedMethod(intArg);
return jsUndefined();
}
-JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionOverloadedMethod(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionOverloadedMethod(ExecState* exec)
{
- if ((args.size() == 2 && (args.at(0).isNull() || asObject(args.at(0))->inherits(JSTestObj::s_info) && (args.at(1).isNull() || args.at(1).isUndefined() || args.at(1).isString() || args.at(1).isObject())))
- return jsTestObjPrototypeFunctionOverloadedMethod1(exec, thisValue, args);
- if ((args.size() == 1 && (args.at(0).isNull() || asObject(args.at(0))->inherits(JSTestObj::s_info)) || (args.size() == 2 && (args.at(0).isNull() || asObject(args.at(0))->inherits(JSTestObj::s_info)))
- return jsTestObjPrototypeFunctionOverloadedMethod2(exec, thisValue, args);
- if ((args.size() == 1 && (args.at(0).isNull() || args.at(0).isUndefined() || args.at(0).isString() || args.at(0).isObject())))
- return jsTestObjPrototypeFunctionOverloadedMethod3(exec, thisValue, args);
- if (args.size() == 1)
- return jsTestObjPrototypeFunctionOverloadedMethod4(exec, thisValue, args);
+ if ((exec->argumentCount() == 2 && (exec->argument(0).isNull() || asObject(exec->argument(0))->inherits(JSTestObj::s_info) && (exec->argument(1).isNull() || exec->argument(1).isUndefined() || exec->argument(1).isString() || exec->argument(1).isObject())))
+ return jsTestObjPrototypeFunctionOverloadedMethod1(exec);
+ if ((exec->argumentCount() == 1 && (exec->argument(0).isNull() || asObject(exec->argument(0))->inherits(JSTestObj::s_info)) || (exec->argumentCount() == 2 && (exec->argument(0).isNull() || asObject(exec->argument(0))->inherits(JSTestObj::s_info)))
+ return jsTestObjPrototypeFunctionOverloadedMethod2(exec);
+ if ((exec->argumentCount() == 1 && (exec->argument(0).isNull() || exec->argument(0).isUndefined() || exec->argument(0).isString() || exec->argument(0).isObject())))
+ return jsTestObjPrototypeFunctionOverloadedMethod3(exec);
+ if (exec->argumentCount() == 1)
+ return jsTestObjPrototypeFunctionOverloadedMethod4(exec);
return throwError(exec, TypeError);
}
diff --git a/WebCore/bindings/scripts/test/JS/JSTestObj.h b/WebCore/bindings/scripts/test/JS/JSTestObj.h
index a1f208d..38cf8c2 100644
--- a/WebCore/bindings/scripts/test/JS/JSTestObj.h
+++ b/WebCore/bindings/scripts/test/JS/JSTestObj.h
@@ -23,6 +23,7 @@
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
+#include <runtime/JSObjectWithGlobalObject.h>
#include <runtime/ObjectPrototype.h>
namespace WebCore {
@@ -53,8 +54,8 @@ public:
void setCustomAttr(JSC::ExecState*, JSC::JSValue);
// Custom functions
- JSC::JSValue customMethod(JSC::ExecState*, const JSC::ArgList&);
- JSC::JSValue customMethodWithArgs(JSC::ExecState*, const JSC::ArgList&);
+ JSC::JSValue customMethod(JSC::ExecState*);
+ JSC::JSValue customMethodWithArgs(JSC::ExecState*);
TestObj* impl() const { return m_impl.get(); }
private:
@@ -66,8 +67,8 @@ protected:
JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, TestObj*);
TestObj* toTestObj(JSC::JSValue);
-class JSTestObjPrototype : public JSC::JSObject {
- typedef JSC::JSObject Base;
+class JSTestObjPrototype : public JSC::JSObjectWithGlobalObject {
+ typedef JSC::JSObjectWithGlobalObject Base;
public:
static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -78,41 +79,41 @@ public:
{
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount);
}
- JSTestObjPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { }
+ JSTestObjPrototype(JSC::JSGlobalObject* globalObject, NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObjectWithGlobalObject(globalObject, structure) { }
protected:
static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | Base::StructureFlags;
};
// Functions
-JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionVoidMethod(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionVoidMethodWithArgs(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionIntMethod(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionIntMethodWithArgs(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionObjMethod(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionObjMethodWithArgs(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodThatRequiresAllArgs(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionSerializedValue(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithException(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionCustomMethod(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionCustomMethodWithArgs(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionCustomArgsAndException(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionAddEventListener(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionRemoveEventListener(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithDynamicFrame(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithDynamicFrameAndArg(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithScriptStateVoid(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithScriptStateObj(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithScriptStateVoidException(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithScriptStateObjException(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalArg(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionOverloadedMethod(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionVoidMethod(JSC::ExecState*);
+JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionVoidMethodWithArgs(JSC::ExecState*);
+JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionIntMethod(JSC::ExecState*);
+JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionIntMethodWithArgs(JSC::ExecState*);
+JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionObjMethod(JSC::ExecState*);
+JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionObjMethodWithArgs(JSC::ExecState*);
+JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodThatRequiresAllArgs(JSC::ExecState*);
+JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows(JSC::ExecState*);
+JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionSerializedValue(JSC::ExecState*);
+JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithException(JSC::ExecState*);
+JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionCustomMethod(JSC::ExecState*);
+JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionCustomMethodWithArgs(JSC::ExecState*);
+JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionCustomArgsAndException(JSC::ExecState*);
+JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionAddEventListener(JSC::ExecState*);
+JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionRemoveEventListener(JSC::ExecState*);
+JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithDynamicFrame(JSC::ExecState*);
+JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithDynamicFrameAndArg(JSC::ExecState*);
+JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg(JSC::ExecState*);
+JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture(JSC::ExecState*);
+JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD(JSC::ExecState*);
+JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithScriptStateVoid(JSC::ExecState*);
+JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithScriptStateObj(JSC::ExecState*);
+JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithScriptStateVoidException(JSC::ExecState*);
+JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionWithScriptStateObjException(JSC::ExecState*);
+JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalArg(JSC::ExecState*);
+JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg(JSC::ExecState*);
+JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs(JSC::ExecState*);
+JSC::JSValue JSC_HOST_CALL jsTestObjPrototypeFunctionOverloadedMethod(JSC::ExecState*);
// Attributes
JSC::JSValue jsTestObjReadOnlyIntAttr(JSC::ExecState*, JSC::JSValue, const JSC::Identifier&);
diff --git a/WebCore/bindings/scripts/test/V8/V8TestCallback.cpp b/WebCore/bindings/scripts/test/V8/V8TestCallback.cpp
index e72330d..e8be71d 100644
--- a/WebCore/bindings/scripts/test/V8/V8TestCallback.cpp
+++ b/WebCore/bindings/scripts/test/V8/V8TestCallback.cpp
@@ -23,7 +23,6 @@
#if ENABLE(DATABASE)
-#include "Frame.h"
#include "ScriptExecutionContext.h"
#include "V8Class1.h"
#include "V8Class2.h"
@@ -32,9 +31,8 @@
namespace WebCore {
-V8TestCallback::V8TestCallback(v8::Local<v8::Object> callback, Frame* frame)
+V8TestCallback::V8TestCallback(v8::Local<v8::Object> callback)
: m_callback(v8::Persistent<v8::Object>::New(callback))
- , m_frame(frame)
, m_worldContext(UseCurrentWorld)
{
}
@@ -60,10 +58,8 @@ bool V8TestCallback::callbackWithClass1Param(ScriptExecutionContext* context, Cl
toV8(class1Param)
};
- RefPtr<Frame> protect(m_frame);
-
bool callbackReturnValue = false;
- return !invokeCallback(m_callback, 1, argv, callbackReturnValue);
+ return !invokeCallback(m_callback, 1, argv, callbackReturnValue, context);
}
bool V8TestCallback::callbackWithClass2Param(ScriptExecutionContext* context, Class2* class2Param, const String& strArg)
@@ -81,10 +77,8 @@ bool V8TestCallback::callbackWithClass2Param(ScriptExecutionContext* context, Cl
toV8(strArg)
};
- RefPtr<Frame> protect(m_frame);
-
bool callbackReturnValue = false;
- return !invokeCallback(m_callback, 2, argv, callbackReturnValue);
+ return !invokeCallback(m_callback, 2, argv, callbackReturnValue, context);
}
} // namespace WebCore
diff --git a/WebCore/bindings/scripts/test/V8/V8TestCallback.h b/WebCore/bindings/scripts/test/V8/V8TestCallback.h
index f58f3f0..aed6b22 100644
--- a/WebCore/bindings/scripts/test/V8/V8TestCallback.h
+++ b/WebCore/bindings/scripts/test/V8/V8TestCallback.h
@@ -30,14 +30,12 @@
namespace WebCore {
-class Frame;
-
class V8TestCallback : public TestCallback {
public:
- static PassRefPtr<V8TestCallback> create(v8::Local<v8::Value> value, Frame* frame)
+ static PassRefPtr<V8TestCallback> create(v8::Local<v8::Value> value)
{
ASSERT(value->IsObject());
- return adoptRef(new V8TestCallback(value->ToObject(), frame));
+ return adoptRef(new V8TestCallback(value->ToObject()));
}
virtual ~V8TestCallback();
@@ -49,10 +47,9 @@ public:
virtual int customCallback(ScriptExecutionContext*, Class5* class5Param, Class6* class6Param);
private:
- V8TestCallback(v8::Local<v8::Object>, Frame*);
+ V8TestCallback(v8::Local<v8::Object>);
v8::Persistent<v8::Object> m_callback;
- RefPtr<Frame> m_frame;
WorldContextHandle m_worldContext;
};
diff --git a/WebCore/bindings/v8/ScriptArray.h b/WebCore/bindings/v8/ScriptArray.h
index 6e8f852..9f40fbf 100644
--- a/WebCore/bindings/v8/ScriptArray.h
+++ b/WebCore/bindings/v8/ScriptArray.h
@@ -41,6 +41,7 @@ namespace WebCore {
class ScriptArray : public ScriptObject {
public:
ScriptArray(ScriptState* scriptState, v8::Handle<v8::Array>);
+ ScriptArray() {};
virtual ~ScriptArray() {}
bool set(unsigned index, const ScriptObject&);
diff --git a/WebCore/bindings/v8/ScriptCallStack.cpp b/WebCore/bindings/v8/ScriptCallStack.cpp
index 9bc2953..e55f8b5 100644
--- a/WebCore/bindings/v8/ScriptCallStack.cpp
+++ b/WebCore/bindings/v8/ScriptCallStack.cpp
@@ -31,6 +31,7 @@
#include "config.h"
#include "ScriptCallStack.h"
+#include "ScriptScope.h"
#include "ScriptController.h"
#include "ScriptDebugServer.h"
#include "V8Binding.h"
@@ -40,8 +41,6 @@
namespace WebCore {
-v8::Persistent<v8::Context> ScriptCallStack::s_utilityContext;
-
ScriptCallStack* ScriptCallStack::create(const v8::Arguments& arguments, unsigned skipArgumentCount) {
String sourceName;
int sourceLineNumber;
@@ -53,12 +52,34 @@ ScriptCallStack* ScriptCallStack::create(const v8::Arguments& arguments, unsigne
bool ScriptCallStack::callLocation(String* sourceName, int* sourceLineNumber, String* functionName)
{
+<<<<<<< HEAD
#if PLATFORM(ANDROID)
return false;
#else
if (!topStackFrame(*sourceName, *sourceLineNumber, *functionName))
+=======
+ v8::HandleScope scope;
+ v8::Context::Scope contextScope(v8::Context::GetCurrent());
+ v8::Handle<v8::StackTrace> stackTrace(v8::StackTrace::CurrentStackTrace(1));
+ if (stackTrace.IsEmpty())
+>>>>>>> webkit.org at r60469
return false;
- *sourceLineNumber += 1;
+ if (stackTrace->GetFrameCount() <= 0) {
+ // Successfully grabbed stack trace, but there are no frames.
+ // Fallback to setting lineNumber to 0, and source and function name to "undefined".
+ *sourceName = toWebCoreString(v8::Undefined());
+ *sourceLineNumber = 0;
+ *functionName = toWebCoreString(v8::Undefined());
+ return true;
+ }
+ v8::Handle<v8::StackFrame> frame = stackTrace->GetFrame(0);
+ // There must be at least one valid frame.
+ ASSERT(!frame.IsEmpty());
+ v8::Local<v8::String> sourceNameValue(frame->GetScriptName());
+ v8::Local<v8::String> functionNameValue(frame->GetFunctionName());
+ *sourceName = sourceNameValue.IsEmpty() ? "" : toWebCoreString(sourceNameValue);
+ *functionName = functionNameValue.IsEmpty() ? "" : toWebCoreString(functionNameValue);
+ *sourceLineNumber = frame->GetLineNumber();
return true;
#endif
}
@@ -81,66 +102,13 @@ const ScriptCallFrame& ScriptCallStack::at(unsigned index) const
return m_lastCaller;
}
-// Create the utility context for holding JavaScript functions used internally
-// which are not visible to JavaScript executing on the page.
-void ScriptCallStack::createUtilityContext()
+bool ScriptCallStack::stackTrace(int frameLimit, ScriptState* state, ScriptArray& stackTrace)
{
- ASSERT(s_utilityContext.IsEmpty());
-
- v8::HandleScope scope;
- v8::Handle<v8::ObjectTemplate> globalTemplate = v8::ObjectTemplate::New();
- s_utilityContext = v8::Context::New(0, globalTemplate);
- v8::Context::Scope contextScope(s_utilityContext);
-
- // Compile JavaScript function for retrieving the source line, the source
- // name and the symbol name for the top JavaScript stack frame.
- const char* topStackFrame =
- "function topStackFrame(exec_state) {"
- " if (!exec_state.frameCount())"
- " return undefined;"
- " var frame = exec_state.frame(0);"
- " var func = frame.func();"
- " var scriptName;"
- " if (func.resolved() && func.script())"
- " scriptName = func.script().name();"
- " return [scriptName, frame.sourceLine(), (func.name() || func.inferredName())];"
- "}";
- v8::Script::Compile(v8::String::New(topStackFrame))->Run();
-}
-
-bool ScriptCallStack::topStackFrame(String& sourceName, int& lineNumber, String& functionName)
-{
- v8::HandleScope scope;
- v8::Handle<v8::Context> v8UtilityContext = utilityContext();
- if (v8UtilityContext.IsEmpty())
- return false;
- v8::Context::Scope contextScope(v8UtilityContext);
- v8::Handle<v8::Function> topStackFrame;
- topStackFrame = v8::Local<v8::Function>::Cast(v8UtilityContext->Global()->Get(v8::String::New("topStackFrame")));
- if (topStackFrame.IsEmpty())
- return false;
- v8::Handle<v8::Value> value = v8::Debug::Call(topStackFrame);
- if (value.IsEmpty())
- return false;
- // If there is no top stack frame, we still return success, but fill the input params with defaults.
- if (value->IsUndefined()) {
- // Fallback to setting lineNumber to 0, and source and function name to "undefined".
- sourceName = toWebCoreString(value);
- lineNumber = 0;
- functionName = toWebCoreString(value);
- return true;
- }
- if (!value->IsArray())
- return false;
- v8::Local<v8::Object> jsArray = value->ToObject();
- v8::Local<v8::Value> sourceNameValue = jsArray->Get(0);
- v8::Local<v8::Value> lineNumberValue = jsArray->Get(1);
- v8::Local<v8::Value> functionNameValue = jsArray->Get(2);
- if (sourceNameValue.IsEmpty() || lineNumberValue.IsEmpty() || functionNameValue.IsEmpty())
+ ScriptScope scope(state);
+ v8::Handle<v8::StackTrace> trace(v8::StackTrace::CurrentStackTrace(frameLimit));
+ if (trace.IsEmpty() || !trace->GetFrameCount())
return false;
- sourceName = toWebCoreString(sourceNameValue);
- lineNumber = lineNumberValue->Int32Value();
- functionName = toWebCoreString(functionNameValue);
+ stackTrace = ScriptArray(state, trace->AsArray());
return true;
}
diff --git a/WebCore/bindings/v8/ScriptCallStack.h b/WebCore/bindings/v8/ScriptCallStack.h
index 11ec3bb..8b02814 100644
--- a/WebCore/bindings/v8/ScriptCallStack.h
+++ b/WebCore/bindings/v8/ScriptCallStack.h
@@ -31,6 +31,7 @@
#ifndef ScriptCallStack_h
#define ScriptCallStack_h
+#include "ScriptArray.h"
#include "ScriptCallFrame.h"
#include "ScriptState.h"
#include "ScriptValue.h"
@@ -47,7 +48,16 @@ public:
static ScriptCallStack* create(const v8::Arguments&, unsigned skipArgumentCount = 0);
~ScriptCallStack();
- static bool callLocation(String* sourceName, int* sourceLineNumber, String* functionName);
+ // Returns false if there is no running JavaScript or if fetching the stack failed.
+ // Sets stackTrace to be an array of stack frame objects.
+ // A stack frame object looks like:
+ // {
+ // scriptName: <file name for the associated script resource>
+ // functionName: <name of the JavaScript function>
+ // lineNumber: <1 based line number>
+ // column: <1 based column offset on the line>
+ // }
+ static bool stackTrace(int frameLimit, ScriptState* state, ScriptArray& stackTrace);
const ScriptCallFrame& at(unsigned) const;
// FIXME: implement retrieving and storing call stack trace
@@ -59,30 +69,10 @@ public:
private:
ScriptCallStack(const v8::Arguments& arguments, unsigned skipArgumentCount, String sourceName, int sourceLineNumber, String funcName);
- // Function for retrieving the source name, line number and function name for the top
- // JavaScript stack frame.
- //
- // It will return true if the caller information was successfully retrieved and written
- // into the function parameters, otherwise the function will return false. It may
- // fail due to a stack overflow in the underlying JavaScript implementation, handling
- // of such exception is up to the caller.
- static bool topStackFrame(String& sourceName, int& lineNumber, String& functionName);
-
- static void createUtilityContext();
-
- // Returns a local handle of the utility context.
- static v8::Local<v8::Context> utilityContext()
- {
- if (s_utilityContext.IsEmpty())
- createUtilityContext();
- return v8::Local<v8::Context>::New(s_utilityContext);
- }
+ static bool callLocation(String* sourceName, int* sourceLineNumber, String* functionName);
ScriptCallFrame m_lastCaller;
ScriptState* m_scriptState;
-
- // Utility context holding JavaScript functions used internally.
- static v8::Persistent<v8::Context> s_utilityContext;
};
} // namespace WebCore
diff --git a/WebCore/bindings/v8/ScriptController.cpp b/WebCore/bindings/v8/ScriptController.cpp
index 41cb5a2..f6cf3a4 100644
--- a/WebCore/bindings/v8/ScriptController.cpp
+++ b/WebCore/bindings/v8/ScriptController.cpp
@@ -467,4 +467,12 @@ void ScriptController::updateDocument()
m_proxy->windowShell()->updateDocument();
}
+void ScriptController::namedItemAdded(HTMLDocument* doc, const AtomicString& name)
+{
+}
+
+void ScriptController::namedItemRemoved(HTMLDocument* doc, const AtomicString& name)
+{
+}
+
} // namespace WebCore
diff --git a/WebCore/bindings/v8/ScriptController.h b/WebCore/bindings/v8/ScriptController.h
index ee39e9a..5d4b83e 100644
--- a/WebCore/bindings/v8/ScriptController.h
+++ b/WebCore/bindings/v8/ScriptController.h
@@ -169,6 +169,9 @@ public:
void clearWindowShell(bool = false);
void updateDocument();
+ void namedItemAdded(HTMLDocument*, const AtomicString&);
+ void namedItemRemoved(HTMLDocument*, const AtomicString&);
+
void updateSecurityOrigin();
void clearScriptObjects();
void updatePlatformScriptObjects();
diff --git a/WebCore/bindings/v8/ScriptDebugServer.cpp b/WebCore/bindings/v8/ScriptDebugServer.cpp
index ce258fb..fdbb26b 100644
--- a/WebCore/bindings/v8/ScriptDebugServer.cpp
+++ b/WebCore/bindings/v8/ScriptDebugServer.cpp
@@ -44,7 +44,24 @@
namespace WebCore {
-ScriptDebugServer::MessageLoopDispatchHandler ScriptDebugServer::s_messageLoopDispatchHandler = 0;
+#if ENABLE(V8_SCRIPT_DEBUG_SERVER)
+static Frame* retrieveFrame(v8::Handle<v8::Context> context)
+{
+ if (context.IsEmpty())
+ return 0;
+
+ // Test that context has associated global dom window object.
+ v8::Handle<v8::Object> global = context->Global();
+ if (global.IsEmpty())
+ return 0;
+
+ global = V8DOMWrapper::lookupDOMWrapper(V8DOMWindow::GetTemplate(), global);
+ if (global.IsEmpty())
+ return 0;
+
+ return V8Proxy::retrieveFrame(context);
+}
+#endif
ScriptDebugServer& ScriptDebugServer::shared()
{
@@ -54,7 +71,7 @@ ScriptDebugServer& ScriptDebugServer::shared()
ScriptDebugServer::ScriptDebugServer()
: m_pauseOnExceptionsState(DontPauseOnExceptions)
- , m_currentCallFrameState(0)
+ , m_pausedPage(0)
{
}
@@ -73,8 +90,7 @@ void ScriptDebugServer::addListener(ScriptDebugListener* listener, Page* page)
if (!m_listenersMap.size()) {
ensureDebuggerScriptCompiled();
ASSERT(!m_debuggerScript.get()->IsUndefined());
- v8::Debug::SetMessageHandler2(&ScriptDebugServer::onV8DebugMessage);
- v8::Debug::SetHostDispatchHandler(&ScriptDebugServer::onV8DebugHostDispatch, 100 /* ms */);
+ v8::Debug::SetDebugEventListener2(&ScriptDebugServer::v8DebugEventCallback);
}
m_listenersMap.set(page, listener);
V8Proxy* proxy = V8Proxy::retrieve(page->mainFrame());
@@ -97,17 +113,14 @@ void ScriptDebugServer::removeListener(ScriptDebugListener* listener, Page* page
if (!m_listenersMap.contains(page))
return;
+ if (m_pausedPage == page)
+ continueProgram();
+
m_listenersMap.remove(page);
- if (m_listenersMap.isEmpty()) {
- v8::Debug::SetMessageHandler2(0);
- v8::Debug::SetHostDispatchHandler(0);
- }
+ if (m_listenersMap.isEmpty())
+ v8::Debug::SetDebugEventListener(0);
// FIXME: Remove all breakpoints set by the agent.
- // FIXME: Force continue if detach happened in nessted message loop while
- // debugger was paused on a breakpoint(as long as there are other
- // attached agents v8 will wait for explicit'continue' message).
- // FIXME: send continue command to v8 if necessary;
}
void ScriptDebugServer::setBreakpoint(const String& sourceID, unsigned lineNumber, ScriptBreakpoint breakpoint)
@@ -152,8 +165,8 @@ void ScriptDebugServer::clearBreakpoints()
v8::Local<v8::Context> debuggerContext = v8::Debug::GetDebugContext();
v8::Context::Scope contextScope(debuggerContext);
- v8::Handle<v8::Function> setBreakpointsActivated = v8::Local<v8::Function>::Cast(m_debuggerScript.get()->Get(v8::String::New("clearBreakpoints")));
- v8::Debug::Call(setBreakpointsActivated);
+ v8::Handle<v8::Function> clearBreakpoints = v8::Local<v8::Function>::Cast(m_debuggerScript.get()->Get(v8::String::New("clearBreakpoints")));
+ v8::Debug::Call(clearBreakpoints);
#endif
}
@@ -179,9 +192,9 @@ ScriptDebugServer::PauseOnExceptionsState ScriptDebugServer::pauseOnExceptionsSt
v8::HandleScope scope;
v8::Context::Scope contextScope(v8::Debug::GetDebugContext());
- v8::Handle<v8::Function> currentCallFrameFunction = v8::Local<v8::Function>::Cast(m_debuggerScript.get()->Get(v8::String::New("pauseOnExceptionsState")));
+ v8::Handle<v8::Function> function = v8::Local<v8::Function>::Cast(m_debuggerScript.get()->Get(v8::String::New("pauseOnExceptionsState")));
v8::Handle<v8::Value> argv[] = { v8::Handle<v8::Value>() };
- v8::Handle<v8::Value> result = currentCallFrameFunction->Call(m_debuggerScript.get(), 0, argv);
+ v8::Handle<v8::Value> result = function->Call(m_debuggerScript.get(), 0, argv);
return static_cast<ScriptDebugServer::PauseOnExceptionsState>(result->Int32Value());
#else
return DontPauseOnExceptions;
@@ -195,17 +208,17 @@ void ScriptDebugServer::setPauseOnExceptionsState(PauseOnExceptionsState pauseOn
v8::HandleScope scope;
v8::Context::Scope contextScope(v8::Debug::GetDebugContext());
- v8::Handle<v8::Function> currentCallFrameFunction = v8::Local<v8::Function>::Cast(m_debuggerScript.get()->Get(v8::String::New("setPauseOnExceptionsState")));
+ v8::Handle<v8::Function> setPauseOnExceptionsFunction = v8::Local<v8::Function>::Cast(m_debuggerScript.get()->Get(v8::String::New("setPauseOnExceptionsState")));
v8::Handle<v8::Value> argv[] = { v8::Int32::New(pauseOnExceptionsState) };
- currentCallFrameFunction->Call(m_debuggerScript.get(), 1, argv);
+ setPauseOnExceptionsFunction->Call(m_debuggerScript.get(), 1, argv);
#endif
}
void ScriptDebugServer::continueProgram()
{
#if ENABLE(V8_SCRIPT_DEBUG_SERVER)
- String cmd("{\"seq\":1,\"type\":\"request\",\"command\":\"continue\"}");
- v8::Debug::SendCommand(reinterpret_cast<const uint16_t*>(cmd.characters()), cmd.length(), new v8::Debug::ClientData());
+ if (m_pausedPage)
+ m_clientMessageLoop->quitNow();
didResume();
#endif
}
@@ -213,35 +226,36 @@ void ScriptDebugServer::continueProgram()
void ScriptDebugServer::stepIntoStatement()
{
#if ENABLE(V8_SCRIPT_DEBUG_SERVER)
- String cmd("{\"seq\":1,\"type\":\"request\",\"command\":\"continue\",\"arguments\":{\"stepaction\":\"in\"}}");
- v8::Debug::SendCommand(reinterpret_cast<const uint16_t*>(cmd.characters()), cmd.length(), new v8::Debug::ClientData());
- didResume();
+ ASSERT(m_pausedPage);
+ v8::Handle<v8::Function> function = v8::Local<v8::Function>::Cast(m_debuggerScript.get()->Get(v8::String::New("stepIntoStatement")));
+ v8::Handle<v8::Value> argv[] = { m_executionState.get() };
+ function->Call(m_debuggerScript.get(), 1, argv);
+ continueProgram();
#endif
}
void ScriptDebugServer::stepOverStatement()
{
#if ENABLE(V8_SCRIPT_DEBUG_SERVER)
- String cmd("{\"seq\":1,\"type\":\"request\",\"command\":\"continue\",\"arguments\":{\"stepaction\":\"next\"}}");
- v8::Debug::SendCommand(reinterpret_cast<const uint16_t*>(cmd.characters()), cmd.length(), new v8::Debug::ClientData());
- didResume();
+ ASSERT(m_pausedPage);
+ v8::Handle<v8::Function> function = v8::Local<v8::Function>::Cast(m_debuggerScript.get()->Get(v8::String::New("stepOverStatement")));
+ v8::Handle<v8::Value> argv[] = { m_executionState.get() };
+ function->Call(m_debuggerScript.get(), 1, argv);
+ continueProgram();
#endif
}
void ScriptDebugServer::stepOutOfFunction()
{
#if ENABLE(V8_SCRIPT_DEBUG_SERVER)
- String cmd("{\"seq\":1,\"type\":\"request\",\"command\":\"continue\",\"arguments\":{\"stepaction\":\"out\"}}");
- v8::Debug::SendCommand(reinterpret_cast<const uint16_t*>(cmd.characters()), cmd.length(), new v8::Debug::ClientData());
- didResume();
+ ASSERT(m_pausedPage);
+ v8::Handle<v8::Function> function = v8::Local<v8::Function>::Cast(m_debuggerScript.get()->Get(v8::String::New("stepOutOfFunction")));
+ v8::Handle<v8::Value> argv[] = { m_executionState.get() };
+ function->Call(m_debuggerScript.get(), 1, argv);
+ continueProgram();
#endif
}
-ScriptState* ScriptDebugServer::currentCallFrameState()
-{
- return m_currentCallFrameState;
-}
-
PassRefPtr<JavaScriptCallFrame> ScriptDebugServer::currentCallFrame()
{
if (!m_currentCallFrame) {
@@ -253,90 +267,59 @@ PassRefPtr<JavaScriptCallFrame> ScriptDebugServer::currentCallFrame()
return m_currentCallFrame;
}
-void ScriptDebugServer::onV8DebugMessage(const v8::Debug::Message& message)
-{
- ScriptDebugServer::shared().handleV8DebugMessage(message);
-}
-
-void ScriptDebugServer::onV8DebugHostDispatch()
-{
- ScriptDebugServer::shared().handleV8DebugHostDispatch();
-}
-
-void ScriptDebugServer::handleV8DebugHostDispatch()
+#if ENABLE(V8_SCRIPT_DEBUG_SERVER)
+void ScriptDebugServer::v8DebugEventCallback(const v8::Debug::EventDetails& eventDetails)
{
- if (!s_messageLoopDispatchHandler)
- return;
-
- Vector<WebCore::Page*> pages;
- for (ListenersMap::iterator it = m_listenersMap.begin(); it != m_listenersMap.end(); ++it)
- pages.append(it->first);
-
- s_messageLoopDispatchHandler(pages);
+ ScriptDebugServer::shared().handleV8DebugEvent(eventDetails);
}
-void ScriptDebugServer::handleV8DebugMessage(const v8::Debug::Message& message)
+void ScriptDebugServer::handleV8DebugEvent(const v8::Debug::EventDetails& eventDetails)
{
- v8::HandleScope scope;
-
- if (!message.IsEvent())
- return;
-
- // Ignore unsupported event types.
- if (message.GetEvent() != v8::AfterCompile && message.GetEvent() != v8::Break && message.GetEvent() != v8::Exception)
- return;
-
- v8::Handle<v8::Context> context = message.GetEventContext();
- // If the context is from one of the inpected tabs it should have its context
- // data. Skip events from unknown contexts.
- if (context.IsEmpty())
- return;
-
- // Test that context has associated global dom window object.
- v8::Handle<v8::Object> global = context->Global();
- if (global.IsEmpty())
+ v8::DebugEvent event = eventDetails.GetEvent();
+ if (event != v8::Break && event != v8::Exception && event != v8::AfterCompile)
return;
- global = V8DOMWrapper::lookupDOMWrapper(V8DOMWindow::GetTemplate(), global);
- if (global.IsEmpty())
- return;
+ v8::Handle<v8::Context> eventContext = eventDetails.GetEventContext();
+ ASSERT(!eventContext.IsEmpty());
- bool handled = false;
- Frame* frame = V8Proxy::retrieveFrame(context);
+ Frame* frame = retrieveFrame(eventContext);
if (frame) {
ScriptDebugListener* listener = m_listenersMap.get(frame->page());
if (listener) {
- if (message.GetEvent() == v8::AfterCompile) {
- handled = true;
+ v8::HandleScope scope;
+ if (event == v8::AfterCompile) {
v8::Context::Scope contextScope(v8::Debug::GetDebugContext());
- v8::Local<v8::Object> args = v8::Object::New();
- args->Set(v8::String::New("eventData"), message.GetEventData());
v8::Handle<v8::Function> onAfterCompileFunction = v8::Local<v8::Function>::Cast(m_debuggerScript.get()->Get(v8::String::New("getAfterCompileScript")));
- v8::Handle<v8::Value> argv[] = { message.GetExecutionState(), args };
- v8::Handle<v8::Value> value = onAfterCompileFunction->Call(m_debuggerScript.get(), 2, argv);
+ v8::Handle<v8::Value> argv[] = { eventDetails.GetEventData() };
+ v8::Handle<v8::Value> value = onAfterCompileFunction->Call(m_debuggerScript.get(), 1, argv);
ASSERT(value->IsObject());
v8::Handle<v8::Object> object = v8::Handle<v8::Object>::Cast(value);
dispatchDidParseSource(listener, object);
- } else if (message.GetEvent() == v8::Break || message.GetEvent() == v8::Exception) {
- handled = true;
- m_executionState.set(message.GetExecutionState());
- m_currentCallFrameState = mainWorldScriptState(frame);
- listener->didPause();
- m_currentCallFrameState = 0;
+ } else if (event == v8::Break || event == v8::Exception) {
+ m_executionState.set(eventDetails.GetExecutionState());
+ m_pausedPage = frame->page();
+ ScriptState* currentCallFrameState = mainWorldScriptState(frame);
+ listener->didPause(currentCallFrameState);
+
+ // Wait for continue or step command.
+ m_clientMessageLoop->run(m_pausedPage);
+ ASSERT(!m_pausedPage);
+
+ // The listener may have been removed in the nested loop.
+ if (ScriptDebugListener* listener = m_listenersMap.get(frame->page()))
+ listener->didContinue();
}
}
}
-
- if (!handled && !message.WillStartRunning())
- continueProgram();
}
+#endif
void ScriptDebugServer::dispatchDidParseSource(ScriptDebugListener* listener, v8::Handle<v8::Object> object)
{
listener->didParseSource(
- toWebCoreStringWithNullCheck(object->Get(v8::String::New("id"))),
- toWebCoreStringWithNullCheck(object->Get(v8::String::New("name"))),
- toWebCoreStringWithNullCheck(object->Get(v8::String::New("source"))),
+ toWebCoreStringWithNullOrUndefinedCheck(object->Get(v8::String::New("id"))),
+ toWebCoreStringWithNullOrUndefinedCheck(object->Get(v8::String::New("name"))),
+ toWebCoreStringWithNullOrUndefinedCheck(object->Get(v8::String::New("source"))),
object->Get(v8::String::New("lineOffset"))->ToInteger()->Value());
}
@@ -354,6 +337,7 @@ void ScriptDebugServer::didResume()
{
m_currentCallFrame.clear();
m_executionState.clear();
+ m_pausedPage = 0;
}
} // namespace WebCore
diff --git a/WebCore/bindings/v8/ScriptDebugServer.h b/WebCore/bindings/v8/ScriptDebugServer.h
index 6ef0afd..7c8c5cc 100644
--- a/WebCore/bindings/v8/ScriptDebugServer.h
+++ b/WebCore/bindings/v8/ScriptDebugServer.h
@@ -36,12 +36,12 @@
#include "JavaScriptCallFrame.h"
#include "PlatformString.h"
#include "ScriptBreakpoint.h"
-#include "ScriptState.h"
#include "StringHash.h"
#include "Timer.h"
#include <v8-debug.h>
#include <wtf/HashMap.h>
#include <wtf/Noncopyable.h>
+#include <wtf/PassOwnPtr.h>
namespace WebCore {
@@ -77,15 +77,18 @@ public:
void recompileAllJSFunctionsSoon() { }
void recompileAllJSFunctions(Timer<ScriptDebugServer>* = 0) { }
- ScriptState* currentCallFrameState();
-
void pageCreated(Page*) { }
// v8-specific methods.
void setDebuggerScriptSource(const String& scriptSource);
- typedef void (*MessageLoopDispatchHandler)(const Vector<WebCore::Page*>&);
- static void setMessageLoopDispatchHandler(MessageLoopDispatchHandler messageLoopDispatchHandler) { s_messageLoopDispatchHandler = messageLoopDispatchHandler; }
+ class ClientMessageLoop {
+ public:
+ virtual ~ClientMessageLoop() { }
+ virtual void run(Page*) = 0;
+ virtual void quitNow() = 0;
+ };
+ void setClientMessageLoop(PassOwnPtr<ClientMessageLoop> clientMessageLoop) { m_clientMessageLoop = clientMessageLoop; }
PassRefPtr<JavaScriptCallFrame> currentCallFrame();
@@ -93,14 +96,13 @@ private:
ScriptDebugServer();
~ScriptDebugServer() { }
- static void onV8DebugMessage(const v8::Debug::Message& message);
- static void onV8DebugHostDispatch();
-
- void handleV8DebugMessage(const v8::Debug::Message& message);
- void handleV8DebugHostDispatch();
+#if ENABLE(V8_SCRIPT_DEBUG_SERVER)
+ static void v8DebugEventCallback(const v8::Debug::EventDetails& eventDetails);
+ void handleV8DebugEvent(const v8::Debug::EventDetails& eventDetails);
+#endif
void dispatchDidParseSource(ScriptDebugListener* listener, v8::Handle<v8::Object> sourceObject);
-
+
void ensureDebuggerScriptCompiled();
void didResume();
@@ -109,11 +111,10 @@ private:
String m_debuggerScriptSource;
PauseOnExceptionsState m_pauseOnExceptionsState;
OwnHandle<v8::Object> m_debuggerScript;
- ScriptState* m_currentCallFrameState;
RefPtr<JavaScriptCallFrame> m_currentCallFrame;
OwnHandle<v8::Object> m_executionState;
-
- static MessageLoopDispatchHandler s_messageLoopDispatchHandler;
+ OwnPtr<ClientMessageLoop> m_clientMessageLoop;
+ Page* m_pausedPage;
};
} // namespace WebCore
diff --git a/WebCore/bindings/v8/custom/V8CustomPositionCallback.cpp b/WebCore/bindings/v8/custom/V8CustomPositionCallback.cpp
index 19300b0..5e20e376 100644
--- a/WebCore/bindings/v8/custom/V8CustomPositionCallback.cpp
+++ b/WebCore/bindings/v8/custom/V8CustomPositionCallback.cpp
@@ -61,7 +61,7 @@ void V8CustomPositionCallback::handleEvent(Geoposition* position)
RefPtr<Frame> protector(m_frame);
bool callbackReturnValue = false;
- invokeCallback(m_callback, 1, argv, callbackReturnValue);
+ invokeCallback(m_callback, 1, argv, callbackReturnValue, m_frame->document());
}
} // namespace WebCore
diff --git a/WebCore/bindings/v8/custom/V8CustomPositionErrorCallback.cpp b/WebCore/bindings/v8/custom/V8CustomPositionErrorCallback.cpp
index c6c632b..bd42d94 100644
--- a/WebCore/bindings/v8/custom/V8CustomPositionErrorCallback.cpp
+++ b/WebCore/bindings/v8/custom/V8CustomPositionErrorCallback.cpp
@@ -61,7 +61,7 @@ void V8CustomPositionErrorCallback::handleEvent(PositionError* error)
RefPtr<Frame> protector(m_frame);
bool callbackReturnValue = false;
- invokeCallback(m_callback, 1, argv, callbackReturnValue);
+ invokeCallback(m_callback, 1, argv, callbackReturnValue, m_frame->document());
}
} // namespace WebCore
diff --git a/WebCore/bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp b/WebCore/bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp
index e033684..3bdc79b 100644
--- a/WebCore/bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp
+++ b/WebCore/bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp
@@ -34,9 +34,9 @@
#include "V8SQLStatementErrorCallback.h"
-#include "Frame.h"
#include "ScriptExecutionContext.h"
#include "V8CustomVoidCallback.h"
+#include "V8Proxy.h"
#include "V8SQLError.h"
#include "V8SQLTransaction.h"
@@ -57,15 +57,15 @@ bool V8SQLStatementErrorCallback::handleEvent(ScriptExecutionContext* context, S
toV8(error)
};
- // Protect the frame until the callback returns.
- RefPtr<Frame> protector(m_frame);
+ // Protect the context until the callback returns.
+ RefPtr<ScriptExecutionContext> protector(context);
bool callbackReturnValue = false;
// Step 6: If the error callback returns false, then move on to the next
// statement, if any, or onto the next overall step otherwise. Otherwise,
// the error callback did not return false, or there was no error callback.
// Jump to the last step in the overall steps.
- return invokeCallback(m_callback, 2, argv, callbackReturnValue) || callbackReturnValue;
+ return invokeCallback(m_callback, 2, argv, callbackReturnValue, context) || callbackReturnValue;
}
} // namespace WebCore
diff --git a/WebCore/bindings/v8/custom/V8CustomVoidCallback.cpp b/WebCore/bindings/v8/custom/V8CustomVoidCallback.cpp
index f4ea62a..bc7bb6c 100644
--- a/WebCore/bindings/v8/custom/V8CustomVoidCallback.cpp
+++ b/WebCore/bindings/v8/custom/V8CustomVoidCallback.cpp
@@ -31,14 +31,15 @@
#include "config.h"
#include "V8CustomVoidCallback.h"
-#include "Frame.h"
+#include "ScriptExecutionContext.h"
#include "V8Binding.h"
+#include "V8Proxy.h"
namespace WebCore {
-V8CustomVoidCallback::V8CustomVoidCallback(v8::Local<v8::Object> callback, Frame* frame)
+V8CustomVoidCallback::V8CustomVoidCallback(v8::Local<v8::Object> callback, ScriptExecutionContext *context)
: m_callback(v8::Persistent<v8::Object>::New(callback))
- , m_frame(frame)
+ , m_scriptExecutionContext(context)
{
}
@@ -51,20 +52,17 @@ void V8CustomVoidCallback::handleEvent()
{
v8::HandleScope handleScope;
- v8::Handle<v8::Context> context = V8Proxy::context(m_frame.get());
- if (context.IsEmpty())
+ v8::Handle<v8::Context> v8Context = toV8Context(m_scriptExecutionContext.get(), WorldContextHandle(UseCurrentWorld));
+ if (v8Context.IsEmpty())
return;
- v8::Context::Scope scope(context);
-
- // Protect the frame until the callback returns.
- RefPtr<Frame> protector(m_frame);
+ v8::Context::Scope scope(v8Context);
bool callbackReturnValue = false;
- invokeCallback(m_callback, 0, 0, callbackReturnValue);
+ invokeCallback(m_callback, 0, 0, callbackReturnValue, m_scriptExecutionContext.get());
}
-bool invokeCallback(v8::Persistent<v8::Object> callback, int argc, v8::Handle<v8::Value> argv[], bool& callbackReturnValue)
+bool invokeCallback(v8::Persistent<v8::Object> callback, int argc, v8::Handle<v8::Value> argv[], bool& callbackReturnValue, ScriptExecutionContext* scriptExecutionContext)
{
v8::TryCatch exceptionCatcher;
@@ -83,15 +81,12 @@ bool invokeCallback(v8::Persistent<v8::Object> callback, int argc, v8::Handle<v8
v8::Handle<v8::Object> thisObject = v8::Context::GetCurrent()->Global();
- V8Proxy* proxy = V8Proxy::retrieve();
- ASSERT(proxy);
-
- v8::Handle<v8::Value> result = proxy->callFunction(callbackFunction, thisObject, argc, argv);
+ v8::Handle<v8::Value> result = callbackFunction->Call(thisObject, argc, argv);
callbackReturnValue = !result.IsEmpty() && result->BooleanValue();
if (exceptionCatcher.HasCaught()) {
v8::Local<v8::Message> message = exceptionCatcher.Message();
- proxy->frame()->document()->reportException(toWebCoreString(message->Get()), message->GetLineNumber(), toWebCoreString(message->GetScriptResourceName()));
+ scriptExecutionContext->reportException(toWebCoreString(message->Get()), message->GetLineNumber(), toWebCoreString(message->GetScriptResourceName()));
return true;
}
diff --git a/WebCore/bindings/v8/custom/V8CustomVoidCallback.h b/WebCore/bindings/v8/custom/V8CustomVoidCallback.h
index 586296b..03a47bc 100644
--- a/WebCore/bindings/v8/custom/V8CustomVoidCallback.h
+++ b/WebCore/bindings/v8/custom/V8CustomVoidCallback.h
@@ -38,28 +38,28 @@
namespace WebCore {
-class Frame;
+class ScriptExecutionContext;
class V8CustomVoidCallback : public VoidCallback {
public:
- static PassRefPtr<V8CustomVoidCallback> create(v8::Local<v8::Value> value, Frame* frame)
+ static PassRefPtr<V8CustomVoidCallback> create(v8::Local<v8::Value> value, ScriptExecutionContext* context)
{
ASSERT(value->IsObject());
- return adoptRef(new V8CustomVoidCallback(value->ToObject(), frame));
+ return adoptRef(new V8CustomVoidCallback(value->ToObject(), context));
}
virtual ~V8CustomVoidCallback();
virtual void handleEvent();
private:
- V8CustomVoidCallback(v8::Local<v8::Object>, Frame*);
+ V8CustomVoidCallback(v8::Local<v8::Object>, ScriptExecutionContext* context);
v8::Persistent<v8::Object> m_callback;
- RefPtr<Frame> m_frame;
+ RefPtr<ScriptExecutionContext> m_scriptExecutionContext;
};
// Returns false if callback failed (null, wrong type, or threw exception).
-bool invokeCallback(v8::Persistent<v8::Object> callback, int argc, v8::Handle<v8::Value> argv[], bool& callbackReturnValue);
+bool invokeCallback(v8::Persistent<v8::Object> callback, int argc, v8::Handle<v8::Value> argv[], bool& callbackReturnValue, ScriptExecutionContext* scriptExecutionContext);
} // namespace WebCore
diff --git a/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp b/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp
index 921d756..badf332 100644
--- a/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp
@@ -697,12 +697,21 @@ v8::Handle<v8::Value> V8DOMWindow::openCallback(const v8::Arguments& args)
windowFeatures.ySet = false;
}
if (!rawFeatures.widthSet) {
+<<<<<<< HEAD
windowFeatures.width = 0;
windowFeatures.widthSet = false;
}
if (!rawFeatures.heightSet) {
windowFeatures.height = 0;
windowFeatures.heightSet = false;
+=======
+ windowFeatures.width = 0;
+ windowFeatures.widthSet = false;
+ }
+ if (!rawFeatures.heightSet) {
+ windowFeatures.height = 0;
+ windowFeatures.heightSet = false;
+>>>>>>> webkit.org at r60469
}
frame = V8BindingDOMWindow::createWindow(V8BindingState::Only(), callingFrame, enteredFrame, frame, urlString, frameName, windowFeatures, v8::Local<v8::Value>());
@@ -809,7 +818,7 @@ v8::Handle<v8::Value> V8DOMWindow::openDatabaseCallback(const v8::Arguments& arg
if (!args[4]->IsObject())
return throwError(TYPE_MISMATCH_ERR);
- creationCallback = V8DatabaseCallback::create(args[4], imp->frame());
+ creationCallback = V8DatabaseCallback::create(args[4]);
}
ExceptionCode ec = 0;
diff --git a/WebCore/bindings/v8/custom/V8DatabaseCustom.cpp b/WebCore/bindings/v8/custom/V8DatabaseCustom.cpp
index 89d582e..20f7c40 100644
--- a/WebCore/bindings/v8/custom/V8DatabaseCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8DatabaseCustom.cpp
@@ -55,8 +55,8 @@ v8::Handle<v8::Value> V8Database::changeVersionCallback(const v8::Arguments& arg
Database* database = V8Database::toNative(args.Holder());
- Frame* frame = V8Proxy::retrieveFrameForCurrentContext();
- if (!frame)
+ ScriptExecutionContext* scriptExecutionContext = getScriptExecutionContext();
+ if (!scriptExecutionContext)
return v8::Undefined();
RefPtr<V8SQLTransactionCallback> callback;
@@ -64,7 +64,7 @@ v8::Handle<v8::Value> V8Database::changeVersionCallback(const v8::Arguments& arg
if (!args[2]->IsObject())
return throwError(TYPE_MISMATCH_ERR);
- callback = V8SQLTransactionCallback::create(args[2], frame);
+ callback = V8SQLTransactionCallback::create(args[2]);
}
RefPtr<V8SQLTransactionErrorCallback> errorCallback;
@@ -72,7 +72,7 @@ v8::Handle<v8::Value> V8Database::changeVersionCallback(const v8::Arguments& arg
if (!args[3]->IsObject())
return throwError(TYPE_MISMATCH_ERR);
- errorCallback = V8SQLTransactionErrorCallback::create(args[3], frame);
+ errorCallback = V8SQLTransactionErrorCallback::create(args[3]);
}
RefPtr<V8CustomVoidCallback> successCallback;
@@ -80,7 +80,7 @@ v8::Handle<v8::Value> V8Database::changeVersionCallback(const v8::Arguments& arg
if (!args[4]->IsObject())
return throwError(TYPE_MISMATCH_ERR);
- successCallback = V8CustomVoidCallback::create(args[4], frame);
+ successCallback = V8CustomVoidCallback::create(args[4], scriptExecutionContext);
}
database->changeVersion(oldVersion, newVersion, callback.release(), errorCallback.release(), successCallback.release());
@@ -98,18 +98,17 @@ static v8::Handle<v8::Value> createTransaction(const v8::Arguments& args, bool r
Database* database = V8Database::toNative(args.Holder());
- Frame* frame = V8Proxy::retrieveFrameForCurrentContext();
- if (!frame)
+ ScriptExecutionContext* scriptExecutionContext = getScriptExecutionContext();
+ if (!scriptExecutionContext)
return v8::Undefined();
-
- RefPtr<V8SQLTransactionCallback> callback = V8SQLTransactionCallback::create(args[0], frame);
+ RefPtr<V8SQLTransactionCallback> callback = V8SQLTransactionCallback::create(args[0]);
RefPtr<V8SQLTransactionErrorCallback> errorCallback;
if (args.Length() > 1 && !isUndefinedOrNull(args[1])) {
if (!args[1]->IsObject())
return throwError(TYPE_MISMATCH_ERR);
- errorCallback = V8SQLTransactionErrorCallback::create(args[1], frame);
+ errorCallback = V8SQLTransactionErrorCallback::create(args[1]);
}
RefPtr<V8CustomVoidCallback> successCallback;
@@ -117,7 +116,7 @@ static v8::Handle<v8::Value> createTransaction(const v8::Arguments& args, bool r
if (!args[2]->IsObject())
return throwError(TYPE_MISMATCH_ERR);
- successCallback = V8CustomVoidCallback::create(args[2], frame);
+ successCallback = V8CustomVoidCallback::create(args[2], scriptExecutionContext);
}
database->transaction(callback.release(), errorCallback.release(), successCallback.release(), readOnly);
diff --git a/WebCore/bindings/v8/custom/V8DatabaseSyncCustom.cpp b/WebCore/bindings/v8/custom/V8DatabaseSyncCustom.cpp
index c7d6d1f..4fe30dc 100644
--- a/WebCore/bindings/v8/custom/V8DatabaseSyncCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8DatabaseSyncCustom.cpp
@@ -58,7 +58,7 @@ v8::Handle<v8::Value> V8DatabaseSync::changeVersionCallback(const v8::Arguments&
if (!args[2]->IsObject())
return throwError(TYPE_MISMATCH_ERR);
- callback = V8SQLTransactionSyncCallback::create(args[2], 0);
+ callback = V8SQLTransactionSyncCallback::create(args[2]);
}
ExceptionCode ec = 0;
@@ -78,7 +78,7 @@ static v8::Handle<v8::Value> createTransaction(const v8::Arguments& args, bool r
DatabaseSync* database = V8DatabaseSync::toNative(args.Holder());
- RefPtr<V8SQLTransactionSyncCallback> callback = V8SQLTransactionSyncCallback::create(args[0], 0);
+ RefPtr<V8SQLTransactionSyncCallback> callback = V8SQLTransactionSyncCallback::create(args[0]);
ExceptionCode ec = 0;
database->transaction(callback.release(), readOnly, ec);
diff --git a/WebCore/bindings/v8/custom/V8ElementCustom.cpp b/WebCore/bindings/v8/custom/V8ElementCustom.cpp
index 8256110..3f6cd6a 100644
--- a/WebCore/bindings/v8/custom/V8ElementCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8ElementCustom.cpp
@@ -54,71 +54,6 @@
namespace WebCore {
-v8::Handle<v8::Value> V8Element::setAttributeCallback(const v8::Arguments& args)
-{
- INC_STATS("DOM.Element.setAttribute()");
- Element* element = V8Element::toNative(args.Holder());
- String name = toWebCoreString(args[0]);
- String value = toWebCoreString(args[1]);
-
- ExceptionCode ec = 0;
- V8BindingElement::setAttribute(V8BindingState::Only(), element, name, value, ec);
- if (ec)
- return throwError(ec);
-
- return v8::Undefined();
-}
-
-v8::Handle<v8::Value> V8Element::setAttributeNodeCallback(const v8::Arguments& args)
-{
- INC_STATS("DOM.Element.setAttributeNode()");
- if (!V8Attr::HasInstance(args[0]))
- return throwError(TYPE_MISMATCH_ERR);
-
- Attr* newAttr = V8Attr::toNative(v8::Handle<v8::Object>::Cast(args[0]));
- Element* element = V8Element::toNative(args.Holder());
-
- ExceptionCode ec = 0;
- RefPtr<Attr> result = V8BindingElement::setAttributeNode(V8BindingState::Only(), element, newAttr, ec);
- if (ec)
- throwError(ec);
-
- return toV8(result.release());
-}
-
-v8::Handle<v8::Value> V8Element::setAttributeNSCallback(const v8::Arguments& args)
-{
- INC_STATS("DOM.Element.setAttributeNS()");
- Element* element = V8Element::toNative(args.Holder());
- String namespaceURI = toWebCoreStringWithNullCheck(args[0]);
- String qualifiedName = toWebCoreString(args[1]);
- String value = toWebCoreString(args[2]);
-
- ExceptionCode ec = 0;
- V8BindingElement::setAttributeNS(V8BindingState::Only(), element, namespaceURI, qualifiedName, value, ec);
- if (ec)
- throwError(ec);
-
- return v8::Undefined();
-}
-
-v8::Handle<v8::Value> V8Element::setAttributeNodeNSCallback(const v8::Arguments& args)
-{
- INC_STATS("DOM.Element.setAttributeNodeNS()");
- if (!V8Attr::HasInstance(args[0]))
- return throwError(TYPE_MISMATCH_ERR);
-
- Attr* newAttr = V8Attr::toNative(v8::Handle<v8::Object>::Cast(args[0]));
- Element* element = V8Element::toNative(args.Holder());
-
- ExceptionCode ec = 0;
- RefPtr<Attr> result = V8BindingElement::setAttributeNodeNS(V8BindingState::Only(), element, newAttr, ec);
- if (ec)
- throwError(ec);
-
- return toV8(result.release());
-}
-
v8::Handle<v8::Value> toV8(Element* impl, bool forceNewObject)
{
if (!impl)
diff --git a/WebCore/bindings/v8/custom/V8HTMLCanvasElementCustom.cpp b/WebCore/bindings/v8/custom/V8HTMLCanvasElementCustom.cpp
index 072a28f..66e326c 100644
--- a/WebCore/bindings/v8/custom/V8HTMLCanvasElementCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8HTMLCanvasElementCustom.cpp
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2007-2009 Google Inc. All rights reserved.
+ * Copyright (C) 2010 Torch Mobile (Beijing) Co. Ltd. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
@@ -34,6 +35,7 @@
#include "CanvasContextAttributes.h"
#include "CanvasRenderingContext.h"
#include "HTMLCanvasElement.h"
+#include "PlatformString.h"
#include "WebGLContextAttributes.h"
#include "V8Binding.h"
#include "V8CanvasRenderingContext2D.h"
@@ -42,6 +44,7 @@
#if ENABLE(3D_CANVAS)
#include "V8WebGLRenderingContext.h"
#endif
+#include <wtf/MathExtras.h>
namespace WebCore {
@@ -89,4 +92,22 @@ v8::Handle<v8::Value> V8HTMLCanvasElement::getContextCallback(const v8::Argument
return v8::Null();
}
+v8::Handle<v8::Value> V8HTMLCanvasElement::toDataURLCallback(const v8::Arguments& args)
+{
+ double quality = 1.0;
+ if (args.Length() > 1) {
+ if (args[1]->IsNumber())
+ quality = args[1]->NumberValue();
+ if (!(0.0 <= quality && quality <= 1.0))
+ quality = 1.0;
+ }
+ v8::Handle<v8::Object> holder = args.Holder();
+ HTMLCanvasElement* canvas = V8HTMLCanvasElement::toNative(holder);
+ String type = toWebCoreString(args[0]);
+ ExceptionCode ec = 0;
+ String result = canvas->toDataURL(type, quality, ec);
+ V8Proxy::setDOMException(ec);
+ return v8StringOrUndefined(result);
+}
+
} // namespace WebCore
diff --git a/WebCore/bindings/v8/custom/V8IDBAnyCustom.cpp b/WebCore/bindings/v8/custom/V8IDBAnyCustom.cpp
index 2e20e82..5ef50a6 100644
--- a/WebCore/bindings/v8/custom/V8IDBAnyCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8IDBAnyCustom.cpp
@@ -36,6 +36,8 @@
#include "SerializedScriptValue.h"
#include "V8IDBDatabaseRequest.h"
+#include "V8IDBIndexRequest.h"
+#include "V8IDBObjectStoreRequest.h"
#include "V8IndexedDatabaseRequest.h"
namespace WebCore {
@@ -48,8 +50,14 @@ v8::Handle<v8::Value> toV8(IDBAny* impl)
switch (impl->type()) {
case IDBAny::UndefinedType:
return v8::Undefined();
+ case IDBAny::NullType:
+ return v8::Null();
case IDBAny::IDBDatabaseRequestType:
return toV8(impl->idbDatabaseRequest());
+ case IDBAny::IDBIndexRequestType:
+ return toV8(impl->idbIndexRequest());
+ case IDBAny::IDBObjectStoreRequestType:
+ return toV8(impl->idbObjectStoreRequest());
case IDBAny::IndexedDatabaseRequestType:
return toV8(impl->indexedDatabaseRequest());
case IDBAny::SerializedScriptValueType:
diff --git a/WebCore/bindings/v8/custom/V8NotificationCenterCustom.cpp b/WebCore/bindings/v8/custom/V8NotificationCenterCustom.cpp
index 30773e3..bf81ae9 100644
--- a/WebCore/bindings/v8/custom/V8NotificationCenterCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8NotificationCenterCustom.cpp
@@ -90,7 +90,7 @@ v8::Handle<v8::Value> V8NotificationCenter::requestPermissionCallback(const v8::
if (!args[0]->IsObject())
return throwError("Callback must be of valid type.", V8Proxy::TypeError);
- callback = V8CustomVoidCallback::create(args[0], V8Proxy::retrieveFrameForCurrentContext());
+ callback = V8CustomVoidCallback::create(args[0], context);
}
notificationCenter->requestPermission(callback.release());
diff --git a/WebCore/bindings/v8/custom/V8SQLTransactionCustom.cpp b/WebCore/bindings/v8/custom/V8SQLTransactionCustom.cpp
index e6ffe30..f1b708a 100644
--- a/WebCore/bindings/v8/custom/V8SQLTransactionCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8SQLTransactionCustom.cpp
@@ -89,24 +89,22 @@ v8::Handle<v8::Value> V8SQLTransaction::executeSqlCallback(const v8::Arguments&
SQLTransaction* transaction = V8SQLTransaction::toNative(args.Holder());
- Frame* frame = V8Proxy::retrieveFrameForCurrentContext();
+ ScriptExecutionContext* executionContext = getScriptExecutionContext();
+ if (!executionContext)
+ return v8::Undefined();
RefPtr<SQLStatementCallback> callback;
if (args.Length() > 2 && !isUndefinedOrNull(args[2])) {
if (!args[2]->IsObject())
return throwError(TYPE_MISMATCH_ERR);
-
- if (frame)
- callback = V8SQLStatementCallback::create(args[2], frame);
+ callback = V8SQLStatementCallback::create(args[2]);
}
RefPtr<SQLStatementErrorCallback> errorCallback;
if (args.Length() > 3 && !isUndefinedOrNull(args[3])) {
if (!args[3]->IsObject())
return throwError(TYPE_MISMATCH_ERR);
-
- if (frame)
- errorCallback = V8SQLStatementErrorCallback::create(args[3], frame);
+ errorCallback = V8SQLStatementErrorCallback::create(args[3]);
}
ExceptionCode ec = 0;
diff --git a/WebCore/bindings/v8/custom/V8WorkerContextCustom.cpp b/WebCore/bindings/v8/custom/V8WorkerContextCustom.cpp
index 446a8ea..acf10b7 100755
--- a/WebCore/bindings/v8/custom/V8WorkerContextCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8WorkerContextCustom.cpp
@@ -34,6 +34,7 @@
#include "V8WorkerContext.h"
#if ENABLE(DATABASE)
+#include "Database.h"
#include "V8Database.h"
#include "V8DatabaseCallback.h"
#include "V8DatabaseSync.h"
@@ -143,12 +144,33 @@ v8::Handle<v8::Value> toV8(WorkerContext* impl)
}
#if ENABLE(DATABASE)
-v8::Handle<v8::Value> V8WorkerContext::openDatabaseCallback(const v8::Arguments& args)
-{
- INC_STATS("DOM.WorkerContext.openDatabase()");
- // Implementation coming soon.
- return throwError(NOT_SUPPORTED_ERR);
-}
+v8::Handle<v8::Value> V8WorkerContext::openDatabaseCallback(const v8::Arguments& args)
+{
+ INC_STATS("DOM.V8WorkerContext.openDatabase()");
+ if (args.Length() < 4)
+ return throwError(SYNTAX_ERR);
+
+ EXCEPTION_BLOCK(String, name, toWebCoreString(args[0]));
+ EXCEPTION_BLOCK(String, version, toWebCoreString(args[1]));
+ EXCEPTION_BLOCK(String, displayName, toWebCoreString(args[2]));
+ EXCEPTION_BLOCK(unsigned long, estimatedSize, args[3]->Uint32Value());
+
+ WorkerContext* workerContext = V8WorkerContext::toNative(args.Holder());
+
+ RefPtr<DatabaseCallback> creationCallback;
+ if (args.Length() >= 5) {
+ if (!args[4]->IsObject())
+ return throwError(TYPE_MISMATCH_ERR);
+
+ creationCallback = V8DatabaseCallback::create(args[4]);
+ }
+
+ ExceptionCode ec = 0;
+ v8::Handle<v8::Value> result = toV8(workerContext->openDatabase(name, version, displayName, estimatedSize, creationCallback.release(), ec));
+
+ V8Proxy::setDOMException(ec);
+ return result;
+}
v8::Handle<v8::Value> V8WorkerContext::openDatabaseSyncCallback(const v8::Arguments& args)
{
@@ -168,7 +190,7 @@ v8::Handle<v8::Value> V8WorkerContext::openDatabaseSyncCallback(const v8::Argume
if (!args[4]->IsObject())
return throwError(TYPE_MISMATCH_ERR);
- creationCallback = V8DatabaseCallback::create(args[4], 0);
+ creationCallback = V8DatabaseCallback::create(args[4]);
}
ExceptionCode ec = 0;
diff --git a/WebCore/bridge/c/c_instance.cpp b/WebCore/bridge/c/c_instance.cpp
index e985059..cbcc7b8 100644
--- a/WebCore/bridge/c/c_instance.cpp
+++ b/WebCore/bridge/c/c_instance.cpp
@@ -128,7 +128,7 @@ JSValue CInstance::getMethod(ExecState* exec, const Identifier& propertyName)
return new (exec) CRuntimeMethod(exec, exec->lexicalGlobalObject(), propertyName, methodList);
}
-JSValue CInstance::invokeMethod(ExecState* exec, RuntimeMethod* runtimeMethod, const ArgList& args)
+JSValue CInstance::invokeMethod(ExecState* exec, RuntimeMethod* runtimeMethod)
{
if (!asObject(runtimeMethod)->inherits(&CRuntimeMethod::s_info))
return throwError(exec, TypeError, "Attempt to invoke non-plug-in method on plug-in object.");
@@ -145,12 +145,12 @@ JSValue CInstance::invokeMethod(ExecState* exec, RuntimeMethod* runtimeMethod, c
if (!_object->_class->hasMethod(_object, ident))
return jsUndefined();
- unsigned count = args.size();
+ unsigned count = exec->argumentCount();
Vector<NPVariant, 8> cArgs(count);
unsigned i;
for (i = 0; i < count; i++)
- convertValueToNPVariant(exec, args.at(i), &cArgs[i]);
+ convertValueToNPVariant(exec, exec->argument(i), &cArgs[i]);
// Invoke the 'C' method.
bool retval = true;
@@ -176,17 +176,17 @@ JSValue CInstance::invokeMethod(ExecState* exec, RuntimeMethod* runtimeMethod, c
}
-JSValue CInstance::invokeDefaultMethod(ExecState* exec, const ArgList& args)
+JSValue CInstance::invokeDefaultMethod(ExecState* exec)
{
if (!_object->_class->invokeDefault)
return jsUndefined();
- unsigned count = args.size();
+ unsigned count = exec->argumentCount();
Vector<NPVariant, 8> cArgs(count);
unsigned i;
for (i = 0; i < count; i++)
- convertValueToNPVariant(exec, args.at(i), &cArgs[i]);
+ convertValueToNPVariant(exec, exec->argument(i), &cArgs[i]);
// Invoke the 'C' method.
bool retval = true;
diff --git a/WebCore/bridge/c/c_instance.h b/WebCore/bridge/c/c_instance.h
index be4a4cb..cc1a806 100644
--- a/WebCore/bridge/c/c_instance.h
+++ b/WebCore/bridge/c/c_instance.h
@@ -60,9 +60,9 @@ public:
virtual JSValue defaultValue(ExecState*, PreferredPrimitiveType) const;
virtual JSValue getMethod(ExecState* exec, const Identifier& propertyName);
- virtual JSValue invokeMethod(ExecState*, RuntimeMethod* method, const ArgList&);
+ virtual JSValue invokeMethod(ExecState*, RuntimeMethod* method);
virtual bool supportsInvokeDefaultMethod() const;
- virtual JSValue invokeDefaultMethod(ExecState*, const ArgList&);
+ virtual JSValue invokeDefaultMethod(ExecState*);
virtual bool supportsConstruct() const;
virtual JSValue invokeConstruct(ExecState*, const ArgList&);
diff --git a/WebCore/bridge/jni/jsc/JavaInstanceJSC.cpp b/WebCore/bridge/jni/jsc/JavaInstanceJSC.cpp
index 2fae747..a87f062 100644
--- a/WebCore/bridge/jni/jsc/JavaInstanceJSC.cpp
+++ b/WebCore/bridge/jni/jsc/JavaInstanceJSC.cpp
@@ -136,7 +136,7 @@ JSValue JavaInstance::getMethod(ExecState* exec, const Identifier& propertyName)
return new (exec) JavaRuntimeMethod(exec, exec->lexicalGlobalObject(), propertyName, methodList);
}
-JSValue JavaInstance::invokeMethod(ExecState* exec, RuntimeMethod* runtimeMethod, const ArgList &args)
+JSValue JavaInstance::invokeMethod(ExecState* exec, RuntimeMethod* runtimeMethod)
{
if (!asObject(runtimeMethod)->inherits(&JavaRuntimeMethod::s_info))
return throwError(exec, TypeError, "Attempt to invoke non-Java method on Java object.");
@@ -144,7 +144,7 @@ JSValue JavaInstance::invokeMethod(ExecState* exec, RuntimeMethod* runtimeMethod
const MethodList& methodList = *runtimeMethod->methods();
int i;
- int count = args.size();
+ int count = exec->argumentCount();
JSValue resultValue;
Method* method = 0;
size_t numMethods = methodList.size();
@@ -173,8 +173,8 @@ JSValue JavaInstance::invokeMethod(ExecState* exec, RuntimeMethod* runtimeMethod
for (i = 0; i < count; i++) {
JavaParameter* aParameter = jMethod->parameterAt(i);
- jArgs[i] = convertValueToJValue(exec, m_rootObject.get(), args.at(i), aParameter->getJNIType(), aParameter->type());
- LOG(LiveConnect, "JavaInstance::invokeMethod arg[%d] = %s", i, args.at(i).toString(exec).ascii());
+ jArgs[i] = convertValueToJValue(exec, m_rootObject.get(), exec->argument(i), aParameter->getJNIType(), aParameter->type());
+ LOG(LiveConnect, "JavaInstance::invokeMethod arg[%d] = %s", i, exec->argument(i).toString(exec).ascii());
}
jvalue result;
diff --git a/WebCore/bridge/jni/jsc/JavaInstanceJSC.h b/WebCore/bridge/jni/jsc/JavaInstanceJSC.h
index 53b6132..dbfcf75 100644
--- a/WebCore/bridge/jni/jsc/JavaInstanceJSC.h
+++ b/WebCore/bridge/jni/jsc/JavaInstanceJSC.h
@@ -83,7 +83,7 @@ public:
virtual JSValue defaultValue(ExecState*, PreferredPrimitiveType) const;
virtual JSValue getMethod(ExecState* exec, const Identifier& propertyName);
- virtual JSValue invokeMethod(ExecState* exec, RuntimeMethod* method, const ArgList& args);
+ virtual JSValue invokeMethod(ExecState* exec, RuntimeMethod* method);
jobject javaInstance() const { return m_instance->m_instance; }
diff --git a/WebCore/bridge/jsc/BridgeJSC.h b/WebCore/bridge/jsc/BridgeJSC.h
index 8379170..ee7deb6 100644
--- a/WebCore/bridge/jsc/BridgeJSC.h
+++ b/WebCore/bridge/jsc/BridgeJSC.h
@@ -92,10 +92,10 @@ public:
virtual bool setValueOfUndefinedField(ExecState*, const Identifier&, JSValue) { return false; }
virtual JSValue getMethod(ExecState* exec, const Identifier& propertyName) = 0;
- virtual JSValue invokeMethod(ExecState*, RuntimeMethod* method, const ArgList& args) = 0;
+ virtual JSValue invokeMethod(ExecState*, RuntimeMethod* method) = 0;
virtual bool supportsInvokeDefaultMethod() const { return false; }
- virtual JSValue invokeDefaultMethod(ExecState*, const ArgList&) { return jsUndefined(); }
+ virtual JSValue invokeDefaultMethod(ExecState*) { return jsUndefined(); }
virtual bool supportsConstruct() const { return false; }
virtual JSValue invokeConstruct(ExecState*, const ArgList&) { return JSValue(); }
diff --git a/WebCore/bridge/objc/objc_instance.h b/WebCore/bridge/objc/objc_instance.h
index 7e87188..ae6972a 100644
--- a/WebCore/bridge/objc/objc_instance.h
+++ b/WebCore/bridge/objc/objc_instance.h
@@ -48,10 +48,10 @@ public:
virtual JSValue defaultValue(ExecState*, PreferredPrimitiveType) const;
virtual JSValue getMethod(ExecState* exec, const Identifier& propertyName);
- JSValue invokeObjcMethod(ExecState*, ObjcMethod* method, const ArgList&);
- virtual JSValue invokeMethod(ExecState*, RuntimeMethod* method, const ArgList&);
+ JSValue invokeObjcMethod(ExecState*, ObjcMethod* method);
+ virtual JSValue invokeMethod(ExecState*, RuntimeMethod* method);
virtual bool supportsInvokeDefaultMethod() const;
- virtual JSValue invokeDefaultMethod(ExecState*, const ArgList&);
+ virtual JSValue invokeDefaultMethod(ExecState*);
JSValue getValueOfUndefinedField(ExecState*, const Identifier&) const;
virtual bool setValueOfUndefinedField(ExecState*, const Identifier&, JSValue);
diff --git a/WebCore/bridge/objc/objc_instance.mm b/WebCore/bridge/objc/objc_instance.mm
index d75a758..3f9876c 100644
--- a/WebCore/bridge/objc/objc_instance.mm
+++ b/WebCore/bridge/objc/objc_instance.mm
@@ -194,7 +194,7 @@ JSValue ObjcInstance::getMethod(ExecState* exec, const Identifier& propertyName)
return new (exec) ObjCRuntimeMethod(exec, exec->lexicalGlobalObject(), propertyName, methodList);
}
-JSValue ObjcInstance::invokeMethod(ExecState* exec, RuntimeMethod* runtimeMethod, const ArgList &args)
+JSValue ObjcInstance::invokeMethod(ExecState* exec, RuntimeMethod* runtimeMethod)
{
if (!asObject(runtimeMethod)->inherits(&ObjCRuntimeMethod::s_info))
return throwError(exec, TypeError, "Attempt to invoke non-plug-in method on plug-in object.");
@@ -205,10 +205,10 @@ JSValue ObjcInstance::invokeMethod(ExecState* exec, RuntimeMethod* runtimeMethod
// name match for a particular method.
ASSERT(methodList.size() == 1);
- return invokeObjcMethod(exec, static_cast<ObjcMethod*>(methodList[0]), args);
+ return invokeObjcMethod(exec, static_cast<ObjcMethod*>(methodList[0]));
}
-JSValue ObjcInstance::invokeObjcMethod(ExecState* exec, ObjcMethod* method, const ArgList &args)
+JSValue ObjcInstance::invokeObjcMethod(ExecState* exec, ObjcMethod* method)
{
JSValue result = jsUndefined();
@@ -234,9 +234,9 @@ JSValue ObjcInstance::invokeObjcMethod(ExecState* exec, ObjcMethod* method, cons
[invocation setArgument:&jsName atIndex:2];
NSMutableArray* objcArgs = [NSMutableArray array];
- int count = args.size();
+ int count = exec->argumentCount();
for (int i = 0; i < count; i++) {
- ObjcValue value = convertValueToObjcValue(exec, args.at(i), ObjcObjectType);
+ ObjcValue value = convertValueToObjcValue(exec, exec->argument(i), ObjcObjectType);
[objcArgs addObject:value.objectValue];
}
[invocation setArgument:&objcArgs atIndex:3];
@@ -251,7 +251,7 @@ JSValue ObjcInstance::invokeObjcMethod(ExecState* exec, ObjcMethod* method, cons
// types.
ASSERT(objcValueType != ObjcInvalidType && objcValueType != ObjcVoidType);
- ObjcValue value = convertValueToObjcValue(exec, args.at(i-2), objcValueType);
+ ObjcValue value = convertValueToObjcValue(exec, exec->argument(i-2), objcValueType);
switch (objcValueType) {
case ObjcObjectType:
@@ -323,7 +323,7 @@ JSValue ObjcInstance::invokeObjcMethod(ExecState* exec, ObjcMethod* method, cons
return const_cast<JSValue&>(result);
}
-JSValue ObjcInstance::invokeDefaultMethod(ExecState* exec, const ArgList &args)
+JSValue ObjcInstance::invokeDefaultMethod(ExecState* exec)
{
JSValue result = jsUndefined();
@@ -345,9 +345,9 @@ JSValue ObjcInstance::invokeDefaultMethod(ExecState* exec, const ArgList &args)
}
NSMutableArray* objcArgs = [NSMutableArray array];
- unsigned count = args.size();
+ unsigned count = exec->argumentCount();
for (unsigned i = 0; i < count; i++) {
- ObjcValue value = convertValueToObjcValue(exec, args.at(i), ObjcObjectType);
+ ObjcValue value = convertValueToObjcValue(exec, exec->argument(i), ObjcObjectType);
[objcArgs addObject:value.objectValue];
}
[invocation setArgument:&objcArgs atIndex:2];
diff --git a/WebCore/bridge/objc/objc_runtime.mm b/WebCore/bridge/objc/objc_runtime.mm
index 5605333..b03b04a 100644
--- a/WebCore/bridge/objc/objc_runtime.mm
+++ b/WebCore/bridge/objc/objc_runtime.mm
@@ -215,8 +215,9 @@ void ObjcFallbackObjectImp::put(ExecState*, const Identifier&, JSValue, PutPrope
{
}
-static JSValue JSC_HOST_CALL callObjCFallbackObject(ExecState* exec, JSObject* function, JSValue thisValue, const ArgList& args)
+static JSValue JSC_HOST_CALL callObjCFallbackObject(ExecState* exec)
{
+ JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&ObjCRuntimeObject::s_info))
return throwError(exec, TypeError);
@@ -235,10 +236,10 @@ static JSValue JSC_HOST_CALL callObjCFallbackObject(ExecState* exec, JSObject* f
if ([targetObject respondsToSelector:@selector(invokeUndefinedMethodFromWebScript:withArguments:)]){
ObjcClass* objcClass = static_cast<ObjcClass*>(objcInstance->getClass());
OwnPtr<ObjcMethod> fallbackMethod(new ObjcMethod(objcClass->isa(), @selector(invokeUndefinedMethodFromWebScript:withArguments:)));
- const Identifier& nameIdentifier = static_cast<ObjcFallbackObjectImp*>(function)->propertyName();
+ const Identifier& nameIdentifier = static_cast<ObjcFallbackObjectImp*>(exec->callee())->propertyName();
RetainPtr<CFStringRef> name(AdoptCF, CFStringCreateWithCharacters(0, nameIdentifier.data(), nameIdentifier.size()));
fallbackMethod->setJavaScriptName(name.get());
- result = objcInstance->invokeObjcMethod(exec, fallbackMethod.get(), args);
+ result = objcInstance->invokeObjcMethod(exec, fallbackMethod.get());
}
objcInstance->end();
diff --git a/WebCore/bridge/qt/qt_class.cpp b/WebCore/bridge/qt/qt_class.cpp
index 2357c23..d809c81 100644
--- a/WebCore/bridge/qt/qt_class.cpp
+++ b/WebCore/bridge/qt/qt_class.cpp
@@ -18,14 +18,14 @@
*/
#include "config.h"
-#include "Identifier.h"
-
#include "qt_class.h"
+
+#include "Identifier.h"
#include "qt_instance.h"
#include "qt_runtime.h"
-#include <qmetaobject.h>
#include <qdebug.h>
+#include <qmetaobject.h>
namespace JSC {
namespace Bindings {
@@ -144,21 +144,19 @@ Field* QtClass::fieldNamed(const Identifier& identifier, Instance* instance) con
if (f->fieldType() == QtField::MetaProperty)
return f;
#ifndef QT_NO_PROPERTIES
- else if (f->fieldType() == QtField::DynamicProperty) {
+ if (f->fieldType() == QtField::DynamicProperty) {
if (obj->dynamicPropertyNames().indexOf(ascii) >= 0)
return f;
- else {
- // Dynamic property that disappeared
- qtinst->m_fields.remove(name);
- delete f;
- }
+ // Dynamic property that disappeared
+ qtinst->m_fields.remove(name);
+ delete f;
}
#endif
else {
const QList<QObject*>& children = obj->children();
const int count = children.size();
for (int index = 0; index < count; ++index) {
- QObject *child = children.at(index);
+ QObject* child = children.at(index);
if (child->objectName() == name)
return f;
}
@@ -195,7 +193,7 @@ Field* QtClass::fieldNamed(const Identifier& identifier, Instance* instance) con
const QList<QObject*>& children = obj->children();
const int count = children.count();
for (index = 0; index < count; ++index) {
- QObject *child = children.at(index);
+ QObject* child = children.at(index);
if (child->objectName() == name) {
f = new QtField(child);
qtinst->m_fields.insert(name, f);
@@ -205,23 +203,22 @@ Field* QtClass::fieldNamed(const Identifier& identifier, Instance* instance) con
// Nothing named this
return 0;
- } else {
- // For compatibility with qtscript, cached methods don't cause
- // errors until they are accessed, so don't blindly create an error
- // here.
- if (qtinst->m_methods.contains(ascii))
- return 0;
+ }
+ // For compatibility with qtscript, cached methods don't cause
+ // errors until they are accessed, so don't blindly create an error
+ // here.
+ if (qtinst->m_methods.contains(ascii))
+ return 0;
#ifndef QT_NO_PROPERTIES
- // deleted qobject, but can't throw an error from here (no exec)
- // create a fake QtField that will throw upon access
- if (!f) {
- f = new QtField(ascii);
- qtinst->m_fields.insert(name, f);
- }
-#endif
- return f;
+ // deleted qobject, but can't throw an error from here (no exec)
+ // create a fake QtField that will throw upon access
+ if (!f) {
+ f = new QtField(ascii);
+ qtinst->m_fields.insert(name, f);
}
+#endif
+ return f;
}
}
diff --git a/WebCore/bridge/qt/qt_class.h b/WebCore/bridge/qt/qt_class.h
index b7a04cf..9d55cc5 100644
--- a/WebCore/bridge/qt/qt_class.h
+++ b/WebCore/bridge/qt/qt_class.h
@@ -17,8 +17,8 @@
*
*/
-#ifndef BINDINGS_QT_CLASS_H_
-#define BINDINGS_QT_CLASS_H_
+#ifndef qt_class_h
+#define qt_class_h
#include "Bridge.h"
#include "qglobal.h"
diff --git a/WebCore/bridge/qt/qt_instance.cpp b/WebCore/bridge/qt/qt_instance.cpp
index c78bbbf..5ffb41f 100644
--- a/WebCore/bridge/qt/qt_instance.cpp
+++ b/WebCore/bridge/qt/qt_instance.cpp
@@ -20,21 +20,20 @@
#include "config.h"
#include "qt_instance.h"
-#include "ArgList.h"
+#include "Error.h"
#include "JSDOMBinding.h"
#include "JSGlobalObject.h"
#include "JSLock.h"
+#include "ObjectPrototype.h"
+#include "PropertyNameArray.h"
#include "qt_class.h"
#include "qt_runtime.h"
-#include "PropertyNameArray.h"
#include "runtime_object.h"
-#include "ObjectPrototype.h"
-#include "Error.h"
-#include <qmetaobject.h>
#include <qdebug.h>
-#include <qmetatype.h>
#include <qhash.h>
+#include <qmetaobject.h>
+#include <qmetatype.h>
namespace JSC {
namespace Bindings {
@@ -119,7 +118,7 @@ PassRefPtr<QtInstance> QtInstance::getQtInstance(QObject* o, PassRefPtr<RootObje
{
JSLock lock(SilenceAssertionsOnly);
- foreach(QtInstance* instance, cachedInstances.values(o))
+ foreach (QtInstance* instance, cachedInstances.values(o))
if (instance->rootObject() == rootObject) {
// The garbage collector removes instances, but it may happen that the wrapped
// QObject dies before the gc kicks in. To handle that case we have to do an additional
@@ -152,7 +151,7 @@ void QtInstance::removeCachedMethod(JSObject* method)
if (m_defaultMethod == method)
m_defaultMethod = 0;
- for(QHash<QByteArray, JSObject*>::Iterator it = m_methods.begin(),
+ for (QHash<QByteArray, JSObject*>::Iterator it = m_methods.begin(),
end = m_methods.end(); it != end; ++it)
if (it.value() == method) {
m_methods.erase(it);
@@ -189,7 +188,7 @@ void QtInstance::markAggregate(MarkStack& markStack)
{
if (m_defaultMethod)
markStack.append(m_defaultMethod);
- foreach(JSObject* val, m_methods.values()) {
+ foreach (JSObject* val, m_methods.values()) {
if (val)
markStack.append(val);
}
@@ -216,26 +215,23 @@ void QtInstance::getPropertyNames(ExecState* exec, PropertyNameArray& array)
const QMetaObject* meta = obj->metaObject();
int i;
- for (i=0; i < meta->propertyCount(); i++) {
+ for (i = 0; i < meta->propertyCount(); i++) {
QMetaProperty prop = meta->property(i);
- if (prop.isScriptable()) {
+ if (prop.isScriptable())
array.add(Identifier(exec, prop.name()));
- }
}
#ifndef QT_NO_PROPERTIES
QList<QByteArray> dynProps = obj->dynamicPropertyNames();
- foreach(const QByteArray& ba, dynProps) {
+ foreach (const QByteArray& ba, dynProps)
array.add(Identifier(exec, ba.constData()));
- }
#endif
const int methodCount = meta->methodCount();
for (i = 0; i < methodCount; i++) {
QMetaMethod method = meta->method(i);
- if (method.access() != QMetaMethod::Private) {
+ if (method.access() != QMetaMethod::Private)
array.add(Identifier(exec, method.signature()));
- }
}
}
}
@@ -248,7 +244,7 @@ JSValue QtInstance::getMethod(ExecState* exec, const Identifier& propertyName)
return new (exec) RuntimeMethod(exec, exec->lexicalGlobalObject(), propertyName, methodList);
}
-JSValue QtInstance::invokeMethod(ExecState*, RuntimeMethod*, const ArgList&)
+JSValue QtInstance::invokeMethod(ExecState*, RuntimeMethod*)
{
// Implemented via fallbackMethod & QtRuntimeMetaMethod::callAsFunction
return jsUndefined();
@@ -281,7 +277,7 @@ JSValue QtInstance::stringValue(ExecState* exec) const
// Check to see how much we can call it
if (m.access() != QMetaMethod::Private
&& m.methodType() != QMetaMethod::Signal
- && m.parameterTypes().count() == 0) {
+ && m.parameterTypes().isEmpty()) {
const char* retsig = m.typeName();
if (retsig && *retsig) {
QVariant ret(QMetaType::type(retsig), (void*)0);
@@ -334,10 +330,10 @@ QByteArray QtField::name() const
{
if (m_type == MetaProperty)
return m_property.name();
- else if (m_type == ChildObject && m_childObject)
+ if (m_type == ChildObject && m_childObject)
return m_childObject->objectName().toLatin1();
#ifndef QT_NO_PROPERTIES
- else if (m_type == DynamicProperty)
+ if (m_type == DynamicProperty)
return m_dynamicProperty;
#endif
return QByteArray(); // deleted child object
@@ -362,10 +358,9 @@ JSValue QtField::valueFromInstance(ExecState* exec, const Instance* inst) const
val = obj->property(m_dynamicProperty);
#endif
return convertQVariantToValue(exec, inst->rootObject(), val);
- } else {
- QString msg = QString(QLatin1String("cannot access member `%1' of deleted QObject")).arg(QLatin1String(name()));
- return throwError(exec, GeneralError, msg.toLatin1().constData());
}
+ QString msg = QString(QLatin1String("cannot access member `%1' of deleted QObject")).arg(QLatin1String(name()));
+ return throwError(exec, GeneralError, msg.toLatin1().constData());
}
void QtField::setValueToInstance(ExecState* exec, const Instance* inst, JSValue aValue) const
diff --git a/WebCore/bridge/qt/qt_instance.h b/WebCore/bridge/qt/qt_instance.h
index 607f133..dd24a92 100644
--- a/WebCore/bridge/qt/qt_instance.h
+++ b/WebCore/bridge/qt/qt_instance.h
@@ -17,8 +17,8 @@
*
*/
-#ifndef BINDINGS_QT_INSTANCE_H_
-#define BINDINGS_QT_INSTANCE_H_
+#ifndef qt_instance_h
+#define qt_instance_h
#include "Bridge.h"
#include "runtime_root.h"
@@ -51,7 +51,7 @@ public:
void markAggregate(MarkStack&);
virtual JSValue getMethod(ExecState* exec, const Identifier& propertyName);
- virtual JSValue invokeMethod(ExecState*, RuntimeMethod*, const ArgList&);
+ virtual JSValue invokeMethod(ExecState*, RuntimeMethod*);
virtual void getPropertyNames(ExecState*, PropertyNameArray&);
diff --git a/WebCore/bridge/qt/qt_pixmapruntime.cpp b/WebCore/bridge/qt/qt_pixmapruntime.cpp
index 5b6bc83..7b6debe 100644
--- a/WebCore/bridge/qt/qt_pixmapruntime.cpp
+++ b/WebCore/bridge/qt/qt_pixmapruntime.cpp
@@ -31,9 +31,9 @@
#include <QImage>
#include <QPixmap>
#include <QVariant>
+#include <runtime_method.h>
#include <runtime_object.h>
#include <runtime_root.h>
-#include <runtime_method.h>
using namespace WebCore;
namespace JSC {
@@ -74,7 +74,7 @@ public:
{
return 0;
}
- virtual JSValue invoke(ExecState* exec, QtPixmapInstance*, const ArgList&) = 0;
+ virtual JSValue invoke(ExecState* exec, QtPixmapInstance*) = 0;
};
@@ -82,12 +82,12 @@ public:
class QtPixmapAssignToElementMethod : public QtPixmapRuntimeMethod {
public:
static const char* name() { return "assignToHTMLImageElement"; }
- JSValue invoke(ExecState* exec, QtPixmapInstance* instance, const ArgList& args)
+ JSValue invoke(ExecState* exec, QtPixmapInstance* instance)
{
- if (!args.size())
+ if (!exec->argumentCount())
return jsUndefined();
- JSObject* objectArg = args.at(0).toObject(exec);
+ JSObject* objectArg = exec->argument(0).toObject(exec);
if (!objectArg)
return jsUndefined();
@@ -113,7 +113,7 @@ public:
class QtPixmapToDataUrlMethod : public QtPixmapRuntimeMethod {
public:
static const char* name() { return "toDataUrl"; }
- JSValue invoke(ExecState* exec, QtPixmapInstance* instance, const ArgList&)
+ JSValue invoke(ExecState* exec, QtPixmapInstance* instance)
{
QByteArray byteArray;
QBuffer buffer(&byteArray);
@@ -127,7 +127,7 @@ public:
class QtPixmapToStringMethod : public QtPixmapRuntimeMethod {
public:
static const char* name() { return "toString"; }
- JSValue invoke(ExecState* exec, QtPixmapInstance* instance, const ArgList&)
+ JSValue invoke(ExecState* exec, QtPixmapInstance* instance)
{
return instance->valueOf(exec);
}
@@ -184,13 +184,13 @@ JSValue QtPixmapInstance::getMethod(ExecState* exec, const Identifier& propertyN
return new (exec) RuntimeMethod(exec, exec->lexicalGlobalObject(), propertyName, methodList);
}
-JSValue QtPixmapInstance::invokeMethod(ExecState* exec, RuntimeMethod* runtimeMethod, const ArgList& args)
+JSValue QtPixmapInstance::invokeMethod(ExecState* exec, RuntimeMethod* runtimeMethod)
{
const MethodList& methods = *runtimeMethod->methods();
if (methods.size() == 1) {
QtPixmapRuntimeMethod* method = static_cast<QtPixmapRuntimeMethod*>(methods[0]);
- return method->invoke(exec, this, args);
+ return method->invoke(exec, this);
}
return jsUndefined();
}
diff --git a/WebCore/bridge/qt/qt_pixmapruntime.h b/WebCore/bridge/qt/qt_pixmapruntime.h
index a0e0e26..06e74eb 100644
--- a/WebCore/bridge/qt/qt_pixmapruntime.h
+++ b/WebCore/bridge/qt/qt_pixmapruntime.h
@@ -33,7 +33,7 @@ public:
QtPixmapInstance(PassRefPtr<RootObject> rootObj, const QVariant& newData);
virtual Class* getClass() const;
virtual JSValue getMethod(ExecState* exec, const Identifier& propertyName);
- virtual JSValue invokeMethod(ExecState*, RuntimeMethod*, const ArgList& args);
+ virtual JSValue invokeMethod(ExecState*, RuntimeMethod*);
virtual void getPropertyNames(ExecState*, PropertyNameArray&);
virtual JSValue defaultValue(ExecState*, PreferredPrimitiveType) const;
diff --git a/WebCore/bridge/qt/qt_runtime.cpp b/WebCore/bridge/qt/qt_runtime.cpp
index 7d82f4c..47f7d4a1 100644
--- a/WebCore/bridge/qt/qt_runtime.cpp
+++ b/WebCore/bridge/qt/qt_runtime.cpp
@@ -1108,7 +1108,6 @@ static int findMethodIndex(ExecState* exec,
const QMetaObject* meta,
const QByteArray& signature,
bool allowPrivate,
- const ArgList& jsArgs,
QVarLengthArray<QVariant, 10> &vars,
void** vvars,
JSObject **pError)
@@ -1202,7 +1201,7 @@ static int findMethodIndex(ExecState* exec,
}
// If the native method requires more arguments than what was passed from JavaScript
- if (jsArgs.size() + 1 < static_cast<unsigned>(types.count())) {
+ if (exec->argumentCount() + 1 < static_cast<unsigned>(types.count())) {
qMatchDebug() << "Match:too few args for" << method.signature();
tooFewArgs.append(index);
continue;
@@ -1226,7 +1225,7 @@ static int findMethodIndex(ExecState* exec,
bool converted = true;
int matchDistance = 0;
for (unsigned i = 0; converted && i + 1 < static_cast<unsigned>(types.count()); ++i) {
- JSValue arg = i < jsArgs.size() ? jsArgs.at(i) : jsUndefined();
+ JSValue arg = i < exec->argumentCount() ? exec->argument(i) : jsUndefined();
int argdistance = -1;
QVariant v = convertValueToQVariant(exec, arg, types.at(i+1).typeId(), &argdistance);
@@ -1242,7 +1241,7 @@ static int findMethodIndex(ExecState* exec,
qMatchDebug() << "Match: " << method.signature() << (converted ? "converted":"failed to convert") << "distance " << matchDistance;
if (converted) {
- if ((jsArgs.size() + 1 == static_cast<unsigned>(types.count()))
+ if ((exec->argumentCount() + 1 == static_cast<unsigned>(types.count()))
&& (matchDistance == 0)) {
// perfect match, use this one
chosenIndex = index;
@@ -1378,12 +1377,12 @@ void QtRuntimeMetaMethod::markChildren(MarkStack& markStack)
markStack.append(d->m_disconnect);
}
-JSValue QtRuntimeMetaMethod::call(ExecState* exec, JSObject* functionObject, JSValue, const ArgList& args)
+JSValue QtRuntimeMetaMethod::call(ExecState* exec)
{
- QtRuntimeMetaMethodData* d = static_cast<QtRuntimeMetaMethod *>(functionObject)->d_func();
+ QtRuntimeMetaMethodData* d = static_cast<QtRuntimeMetaMethod *>(exec->callee())->d_func();
// We're limited to 10 args
- if (args.size() > 10)
+ if (exec->argumentCount() > 10)
return jsUndefined();
// We have to pick a method that matches..
@@ -1396,7 +1395,7 @@ JSValue QtRuntimeMetaMethod::call(ExecState* exec, JSObject* functionObject, JSV
int methodIndex;
JSObject* errorObj = 0;
- if ((methodIndex = findMethodIndex(exec, obj->metaObject(), d->m_signature, d->m_allowPrivate, args, vargs, (void **)qargs, &errorObj)) != -1) {
+ if ((methodIndex = findMethodIndex(exec, obj->metaObject(), d->m_signature, d->m_allowPrivate, vargs, (void **)qargs, &errorObj)) != -1) {
if (QMetaObject::metacall(obj, QMetaObject::InvokeMetaMethod, methodIndex, qargs) >= 0)
return jsUndefined();
@@ -1513,9 +1512,9 @@ QtRuntimeConnectionMethod::QtRuntimeConnectionMethod(ExecState* exec, const Iden
d->m_isConnect = isConnect;
}
-JSValue QtRuntimeConnectionMethod::call(ExecState* exec, JSObject* functionObject, JSValue, const ArgList& args)
+JSValue QtRuntimeConnectionMethod::call(ExecState* exec)
{
- QtRuntimeConnectionMethodData* d = static_cast<QtRuntimeConnectionMethod *>(functionObject)->d_func();
+ QtRuntimeConnectionMethodData* d = static_cast<QtRuntimeConnectionMethod *>(exec->callee())->d_func();
JSLock lock(SilenceAssertionsOnly);
@@ -1535,8 +1534,8 @@ JSValue QtRuntimeConnectionMethod::call(ExecState* exec, JSObject* functionObjec
signalIndex = findSignalIndex(sender->metaObject(), d->m_index, d->m_signature);
if (signalIndex != -1) {
- if (args.size() == 1) {
- funcObject = args.at(0).toObject(exec);
+ if (exec->argumentCount() == 1) {
+ funcObject = exec->argument(0).toObject(exec);
CallData callData;
if (funcObject->getCallData(callData) == CallTypeNone) {
if (d->m_isConnect)
@@ -1544,19 +1543,19 @@ JSValue QtRuntimeConnectionMethod::call(ExecState* exec, JSObject* functionObjec
else
return throwError(exec, TypeError, "QtMetaMethod.disconnect: target is not a function");
}
- } else if (args.size() >= 2) {
- if (args.at(0).isObject()) {
- thisObject = args.at(0).toObject(exec);
+ } else if (exec->argumentCount() >= 2) {
+ if (exec->argument(0).isObject()) {
+ thisObject = exec->argument(0).toObject(exec);
// Get the actual function to call
- JSObject *asObj = args.at(1).toObject(exec);
+ JSObject *asObj = exec->argument(1).toObject(exec);
CallData callData;
if (asObj->getCallData(callData) != CallTypeNone) {
// Function version
funcObject = asObj;
} else {
// Convert it to a string
- UString funcName = args.at(1).toString(exec);
+ UString funcName = exec->argument(1).toString(exec);
Identifier funcIdent(exec, funcName);
// ### DropAllLocks
diff --git a/WebCore/bridge/qt/qt_runtime.h b/WebCore/bridge/qt/qt_runtime.h
index 5739cb4..cc13e59 100644
--- a/WebCore/bridge/qt/qt_runtime.h
+++ b/WebCore/bridge/qt/qt_runtime.h
@@ -182,7 +182,7 @@ protected:
private:
virtual CallType getCallData(CallData&);
- static JSValue JSC_HOST_CALL call(ExecState* exec, JSObject* functionObject, JSValue thisValue, const ArgList& args);
+ static JSValue JSC_HOST_CALL call(ExecState* exec);
static JSValue lengthGetter(ExecState*, JSValue, const Identifier&);
static JSValue connectGetter(ExecState*, JSValue, const Identifier&);
static JSValue disconnectGetter(ExecState*, JSValue, const Identifier&);
@@ -203,7 +203,7 @@ protected:
private:
virtual CallType getCallData(CallData&);
- static JSValue JSC_HOST_CALL call(ExecState* exec, JSObject* functionObject, JSValue thisValue, const ArgList& args);
+ static JSValue JSC_HOST_CALL call(ExecState* exec);
static JSValue lengthGetter(ExecState*, JSValue, const Identifier&);
static QMultiMap<QObject *, QtConnectionObject *> connections;
friend class QtConnectionObject;
diff --git a/WebCore/bridge/runtime_method.cpp b/WebCore/bridge/runtime_method.cpp
index cd2194a..391129e 100644
--- a/WebCore/bridge/runtime_method.cpp
+++ b/WebCore/bridge/runtime_method.cpp
@@ -87,15 +87,16 @@ bool RuntimeMethod::getOwnPropertyDescriptor(ExecState* exec, const Identifier&
return InternalFunction::getOwnPropertyDescriptor(exec, propertyName, descriptor);
}
-static JSValue JSC_HOST_CALL callRuntimeMethod(ExecState* exec, JSObject* function, JSValue thisValue, const ArgList& args)
+static JSValue JSC_HOST_CALL callRuntimeMethod(ExecState* exec)
{
- RuntimeMethod* method = static_cast<RuntimeMethod*>(function);
+ RuntimeMethod* method = static_cast<RuntimeMethod*>(exec->callee());
if (method->methods()->isEmpty())
return jsUndefined();
RefPtr<Instance> instance;
+ JSValue thisValue = exec->hostThisValue();
if (thisValue.inherits(&RuntimeObject::s_info)) {
RuntimeObject* runtimeObject = static_cast<RuntimeObject*>(asObject(thisValue));
instance = runtimeObject->getInternalInstance();
@@ -113,7 +114,7 @@ static JSValue JSC_HOST_CALL callRuntimeMethod(ExecState* exec, JSObject* functi
ASSERT(instance);
instance->begin();
- JSValue result = instance->invokeMethod(exec, method, args);
+ JSValue result = instance->invokeMethod(exec, method);
instance->end();
return result;
}
diff --git a/WebCore/bridge/runtime_object.cpp b/WebCore/bridge/runtime_object.cpp
index 0863452..107b780 100644
--- a/WebCore/bridge/runtime_object.cpp
+++ b/WebCore/bridge/runtime_object.cpp
@@ -253,12 +253,12 @@ JSValue RuntimeObject::defaultValue(ExecState* exec, PreferredPrimitiveType hint
return result;
}
-static JSValue JSC_HOST_CALL callRuntimeObject(ExecState* exec, JSObject* function, JSValue, const ArgList& args)
+static JSValue JSC_HOST_CALL callRuntimeObject(ExecState* exec)
{
- ASSERT(function->inherits(&RuntimeObject::s_info));
- RefPtr<Instance> instance(static_cast<RuntimeObject*>(function)->getInternalInstance());
+ ASSERT(exec->callee()->inherits(&RuntimeObject::s_info));
+ RefPtr<Instance> instance(static_cast<RuntimeObject*>(exec->callee())->getInternalInstance());
instance->begin();
- JSValue result = instance->invokeDefaultMethod(exec, args);
+ JSValue result = instance->invokeDefaultMethod(exec);
instance->end();
return result;
}
diff --git a/WebCore/css/CSSFontSelector.cpp b/WebCore/css/CSSFontSelector.cpp
index 56ee261..752798d 100644
--- a/WebCore/css/CSSFontSelector.cpp
+++ b/WebCore/css/CSSFontSelector.cpp
@@ -231,7 +231,6 @@ void CSSFontSelector::addFontFaceRule(const CSSFontFaceRule* fontFaceRule)
int srcLength = srcList->length();
- bool foundLocal = false;
bool foundSVGFont = false;
for (int i = 0; i < srcLength; i++) {
@@ -257,7 +256,6 @@ void CSSFontSelector::addFontFaceRule(const CSSFontFaceRule* fontFaceRule)
}
} else {
source = new CSSFontFaceSource(item->resource());
- foundLocal = true;
}
if (!fontFace)
diff --git a/WebCore/css/CSSGrammar.y b/WebCore/css/CSSGrammar.y
index 37c5385..06c6d01 100644
--- a/WebCore/css/CSSGrammar.y
+++ b/WebCore/css/CSSGrammar.y
@@ -889,7 +889,8 @@ unary_operator:
ruleset:
selector_list '{' maybe_space declaration_list closing_brace {
- $$ = static_cast<CSSParser*>(parser)->createStyleRule($1);
+ CSSParser* p = static_cast<CSSParser*>(parser);
+ $$ = p->createStyleRule($1);
}
;
@@ -901,7 +902,7 @@ selector_list:
deleteAllValues(*$$);
$$->shrink(0);
$$->append(p->sinkFloatingSelector($1));
- p->updateLastSelectorLine();
+ p->updateLastSelectorLineAndPosition();
}
}
| selector_list ',' maybe_space selector %prec UNIMPORTANT_TOK {
@@ -909,7 +910,7 @@ selector_list:
CSSParser* p = static_cast<CSSParser*>(parser);
$$ = $1;
$$->append(p->sinkFloatingSelector($4));
- p->updateLastSelectorLine();
+ p->updateLastSelectorLineAndPosition();
} else
$$ = 0;
}
diff --git a/WebCore/css/CSSParser.cpp b/WebCore/css/CSSParser.cpp
index 91b0f98..76f9fb1 100644
--- a/WebCore/css/CSSParser.cpp
+++ b/WebCore/css/CSSParser.cpp
@@ -150,6 +150,9 @@ CSSParser::CSSParser(bool strictParsing)
, m_hasFontFaceOnlyValues(false)
, m_hadSyntacticallyValidCSSRule(false)
, m_defaultNamespace(starAtom)
+ , m_ruleBodyStartOffset(0)
+ , m_ruleBodyEndOffset(0)
+ , m_ruleRanges(0)
, m_data(0)
, yy_start(1)
, m_line(0)
@@ -229,18 +232,21 @@ void CSSParser::setupParser(const char* prefix, const String& string, const char
yyleng = 0;
yytext = yy_c_buf_p = m_data;
yy_hold_char = *yy_c_buf_p;
+ resetRuleBodyMarks();
}
-void CSSParser::parseSheet(CSSStyleSheet* sheet, const String& string)
+void CSSParser::parseSheet(CSSStyleSheet* sheet, const String& string, StyleRuleRanges* ruleRangeMap)
{
#ifdef ANDROID_INSTRUMENT
android::TimeCounter::start(android::TimeCounter::CSSParseTimeCounter);
#endif
m_styleSheet = sheet;
m_defaultNamespace = starAtom; // Reset the default namespace.
+ m_ruleRanges = ruleRangeMap;
setupParser("", string, "");
cssyyparse(this);
+ m_ruleRanges = 0;
m_rule = 0;
#ifdef ANDROID_INSTRUMENT
android::TimeCounter::record(android::TimeCounter::CSSParseTimeCounter, __FUNCTION__);
@@ -3624,9 +3630,8 @@ bool CSSParser::parseFontFaceSrc()
bool CSSParser::parseFontFaceUnicodeRange()
{
RefPtr<CSSValueList> values = CSSValueList::createCommaSeparated();
- CSSParserValue* currentValue;
bool failed = false;
- while ((currentValue = m_valueList->current())) {
+ while (m_valueList->current()) {
if (m_valueList->current()->unit != CSSPrimitiveValue::CSS_UNICODE_RANGE) {
failed = true;
break;
@@ -5295,6 +5300,7 @@ CSSRule* CSSParser::createStyleRule(Vector<CSSSelector*>* selectors)
{
m_allowImportRules = m_allowNamespaceDeclarations = m_allowVariablesRules = false;
CSSStyleRule* result = 0;
+ markRuleBodyEnd();
if (selectors) {
RefPtr<CSSStyleRule> rule = CSSStyleRule::create(m_styleSheet, m_lastSelectorLine);
rule->adoptSelectorVector(*selectors);
@@ -5303,7 +5309,10 @@ CSSRule* CSSParser::createStyleRule(Vector<CSSSelector*>* selectors)
rule->setDeclaration(CSSMutableStyleDeclaration::create(rule.get(), m_parsedProperties, m_numParsedProperties));
result = rule.get();
m_parsedStyleObjects.append(rule.release());
+ if (m_ruleRanges)
+ m_ruleRanges->set(result, std::pair<unsigned, unsigned>(m_ruleBodyStartOffset, m_ruleBodyEndOffset));
}
+ resetRuleBodyMarks();
clearProperties();
return result;
}
@@ -5551,6 +5560,26 @@ void CSSParser::invalidBlockHit()
m_styleSheet->setHasSyntacticallyValidCSSHeader(false);
}
+void CSSParser::updateLastSelectorLineAndPosition()
+{
+ m_lastSelectorLine = m_line;
+ markRuleBodyStart();
+}
+
+void CSSParser::markRuleBodyStart()
+{
+ unsigned offset = yytext - m_data;
+ if (!m_ruleBodyStartOffset || offset < m_ruleBodyStartOffset)
+ m_ruleBodyStartOffset = offset;
+}
+
+void CSSParser::markRuleBodyEnd()
+{
+ unsigned offset = yytext - m_data;
+ if (offset > m_ruleBodyEndOffset)
+ m_ruleBodyEndOffset = offset;
+}
+
static int cssPropertyID(const UChar* propertyName, unsigned length)
{
if (!length)
diff --git a/WebCore/css/CSSParser.h b/WebCore/css/CSSParser.h
index d1a5a43..271e98e 100644
--- a/WebCore/css/CSSParser.h
+++ b/WebCore/css/CSSParser.h
@@ -28,6 +28,7 @@
#include "CSSParserValues.h"
#include "CSSSelectorList.h"
#include "MediaQuery.h"
+#include <wtf/HashMap.h>
#include <wtf/HashSet.h>
#include <wtf/Vector.h>
@@ -39,6 +40,7 @@ namespace WebCore {
class CSSRule;
class CSSRuleList;
class CSSSelector;
+ class CSSStyleRule;
class CSSStyleSheet;
class CSSValue;
class CSSValueList;
@@ -53,10 +55,12 @@ namespace WebCore {
class CSSParser {
public:
+ typedef HashMap<CSSStyleRule*, std::pair<unsigned, unsigned> > StyleRuleRanges;
+
CSSParser(bool strictParsing = true);
~CSSParser();
- void parseSheet(CSSStyleSheet*, const String&);
+ void parseSheet(CSSStyleSheet*, const String&, StyleRuleRanges* ruleRangeMap = 0);
PassRefPtr<CSSRule> parseRule(CSSStyleSheet*, const String&);
PassRefPtr<CSSRule> parseKeyframeRule(CSSStyleSheet*, const String&);
bool parseValue(CSSMutableStyleDeclaration*, int propId, const String&, bool important);
@@ -207,7 +211,7 @@ namespace WebCore {
Vector<CSSSelector*>* reusableSelectorVector() { return &m_reusableSelectorVector; }
- void updateLastSelectorLine() { m_lastSelectorLine = m_line; }
+ void updateLastSelectorLineAndPosition();
void clearProperties();
@@ -238,6 +242,12 @@ namespace WebCore {
AtomicString m_defaultNamespace;
// tokenizer methods and data
+ unsigned m_ruleBodyStartOffset;
+ unsigned m_ruleBodyEndOffset;
+ StyleRuleRanges* m_ruleRanges;
+ void markRuleBodyStart();
+ void markRuleBodyEnd();
+ void resetRuleBodyMarks() { m_ruleBodyStartOffset = m_ruleBodyEndOffset = 0; }
int lex(void* yylval);
int token() { return yyTok; }
UChar* text(int* length);
diff --git a/WebCore/css/CSSStyleSelector.cpp b/WebCore/css/CSSStyleSelector.cpp
index ae919ef..92ba843 100644
--- a/WebCore/css/CSSStyleSelector.cpp
+++ b/WebCore/css/CSSStyleSelector.cpp
@@ -1099,10 +1099,12 @@ void CSSStyleSelector::matchUARules(int& firstUARule, int& lastUARule)
PassRefPtr<RenderStyle> CSSStyleSelector::styleForDocument(Document* document)
{
+ FrameView* view = document->view();
+
RefPtr<RenderStyle> documentStyle = RenderStyle::create();
documentStyle->setDisplay(BLOCK);
documentStyle->setVisuallyOrdered(document->visuallyOrdered());
- documentStyle->setZoom(document->frame()->pageZoomFactor());
+ documentStyle->setZoom(view ? view->pageZoomFactor() : 1);
FontDescription fontDescription;
fontDescription.setUsePrinterFont(document->printing());
@@ -4032,8 +4034,12 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
lineHeight = Length(-100.0, Percent);
else if (CSSPrimitiveValue::isUnitTypeLength(type)) {
double multiplier = zoomFactor;
- if (m_style->textSizeAdjust() && m_checker.m_document->frame() && m_checker.m_document->frame()->shouldApplyTextZoom())
- multiplier *= m_checker.m_document->frame()->textZoomFactor();
+ if (m_style->textSizeAdjust()) {
+ if (FrameView* view = m_checker.m_document->view()) {
+ if (view->shouldApplyTextZoom())
+ multiplier *= view->textZoomFactor();
+ }
+ }
lineHeight = Length(primitiveValue->computeLengthIntForLength(style(), m_rootElementStyle, multiplier), Fixed);
} else if (type == CSSPrimitiveValue::CSS_PERCENTAGE)
lineHeight = Length((m_style->fontSize() * primitiveValue->getIntValue()) / 100, Fixed);
@@ -5930,8 +5936,8 @@ float CSSStyleSelector::getComputedSizeFromSpecifiedSize(Document* document, Ren
float zoomFactor = 1.0f;
if (!useSVGZoomRules) {
zoomFactor = style->effectiveZoom();
- if (document->frame() && document->frame()->shouldApplyTextZoom())
- zoomFactor *= document->frame()->textZoomFactor();
+ if (document->view() && document->view()->shouldApplyTextZoom())
+ zoomFactor *= document->view()->textZoomFactor();
}
// We support two types of minimum font size. The first is a hard override that applies to
diff --git a/WebCore/dom/CanvasSurface.cpp b/WebCore/dom/CanvasSurface.cpp
index 424f913..ea29113 100644
--- a/WebCore/dom/CanvasSurface.cpp
+++ b/WebCore/dom/CanvasSurface.cpp
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2010 Google Inc. All rights reserved.
+ * Copyright (C) 2010 Torch Mobile (Beijing) Co. Ltd. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -77,7 +78,7 @@ void CanvasSurface::setSurfaceSize(const IntSize& size)
m_imageBuffer.clear();
}
-String CanvasSurface::toDataURL(const String& mimeType, ExceptionCode& ec)
+String CanvasSurface::toDataURL(const String& mimeType, double quality, ExceptionCode& ec)
{
if (!m_originClean) {
ec = SECURITY_ERR;
@@ -93,7 +94,7 @@ String CanvasSurface::toDataURL(const String& mimeType, ExceptionCode& ec)
if (mimeType.isNull() || !MIMETypeRegistry::isSupportedImageMIMETypeForEncoding(lowercaseMimeType))
return buffer()->toDataURL("image/png");
- return buffer()->toDataURL(lowercaseMimeType);
+ return buffer()->toDataURL(lowercaseMimeType, quality);
}
void CanvasSurface::willDraw(const FloatRect&)
diff --git a/WebCore/dom/CanvasSurface.h b/WebCore/dom/CanvasSurface.h
index f5317e5..3660c05 100644
--- a/WebCore/dom/CanvasSurface.h
+++ b/WebCore/dom/CanvasSurface.h
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2010 Google Inc. All rights reserved.
+ * Copyright (C) 2010 Torch Mobile (Beijing) Co. Ltd. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -28,6 +29,7 @@
#include "AffineTransform.h"
#include "IntSize.h"
+#include "PlatformString.h"
#include <wtf/OwnPtr.h>
#include <wtf/Noncopyable.h>
@@ -41,7 +43,6 @@ class FloatSize;
class GraphicsContext;
class ImageBuffer;
class IntPoint;
-class String;
class CSSStyleSelector;
class RenderBox;
@@ -58,7 +59,9 @@ public:
int width() const { return m_size.width(); }
int height() const { return m_size.height(); }
- String toDataURL(const String& mimeType, ExceptionCode&);
+ String toDataURL(const String& mimeType, double quality, ExceptionCode&);
+
+ String toDataURL(const String& mimeType, ExceptionCode& ec) { return toDataURL(mimeType, 1.0, ec); }
const IntSize& size() const { return m_size; }
diff --git a/WebCore/dom/Document.cpp b/WebCore/dom/Document.cpp
index d8905c5..4500626 100644
--- a/WebCore/dom/Document.cpp
+++ b/WebCore/dom/Document.cpp
@@ -1039,7 +1039,7 @@ Element* Document::elementFromPoint(int x, int y) const
if (!frameView)
return 0;
- float zoomFactor = frame->pageZoomFactor();
+ float zoomFactor = frameView->pageZoomFactor();
IntPoint point = roundedIntPoint(FloatPoint(x * zoomFactor + view()->scrollX(), y * zoomFactor + view()->scrollY()));
if (!frameView->visibleContentRect().contains(point))
@@ -1069,7 +1069,7 @@ PassRefPtr<Range> Document::caretRangeFromPoint(int x, int y)
if (!frameView)
return 0;
- float zoomFactor = frame->pageZoomFactor();
+ float zoomFactor = frameView->pageZoomFactor();
IntPoint point = roundedIntPoint(FloatPoint(x * zoomFactor + view()->scrollX(), y * zoomFactor + view()->scrollY()));
if (!frameView->visibleContentRect().contains(point))
@@ -1862,10 +1862,10 @@ void Document::implicitClose()
// The implicit <head> isn't expected in older versions of Mail - <rdar://problem/6863795>
if (!head() && shouldCreateImplicitHead(this)) {
- documentElement->appendChild(new HTMLHeadElement(headTag, this), ec);
+ documentElement->appendChild(HTMLHeadElement::create(this), ec);
ASSERT(!ec);
}
- documentElement->appendChild(new HTMLBodyElement(bodyTag, this), ec);
+ documentElement->appendChild(HTMLBodyElement::create(this), ec);
ASSERT(!ec);
}
}
@@ -4834,7 +4834,7 @@ HTMLCanvasElement* Document::getCSSCanvasElement(const String& name)
{
RefPtr<HTMLCanvasElement> result = m_cssCanvasElements.get(name).get();
if (!result) {
- result = new HTMLCanvasElement(canvasTag, this);
+ result = HTMLCanvasElement::create(this);
m_cssCanvasElements.set(name, result);
}
return result.get();
diff --git a/WebCore/dom/Document.h b/WebCore/dom/Document.h
index aa4d9e3..e772233 100644
--- a/WebCore/dom/Document.h
+++ b/WebCore/dom/Document.h
@@ -364,6 +364,7 @@ public:
// Other methods (not part of DOM)
bool isHTMLDocument() const { return m_isHTML; }
+ bool isXHTMLDocument() const { return m_isXHTML; }
virtual bool isImageDocument() const { return false; }
#if ENABLE(SVG)
virtual bool isSVGDocument() const { return false; }
diff --git a/WebCore/dom/Element.cpp b/WebCore/dom/Element.cpp
index ec33ea6..d95403a 100644
--- a/WebCore/dom/Element.cpp
+++ b/WebCore/dom/Element.cpp
@@ -208,6 +208,16 @@ Node::NodeType Element::nodeType() const
const AtomicString& Element::getIDAttribute() const
{
+ // FIXME: There are two problems with this function for general purpose use.
+ //
+ // 1) If this is not a StyledElement, then the result will always be null.
+ // 2) If the document this element is part of is in compatibility mode
+ // (inCompatMode), then the ID will be lowercased.
+ //
+ // See StyledElement::parseMappedAttribute for details. Because of these issues,
+ // this function and NamedNodeMap::id should both probably be renamed to make it
+ // clear this does not give the same result as getAttribute.
+
return namedAttrMap ? namedAttrMap->id() : nullAtom;
}
@@ -936,7 +946,7 @@ void Element::recalcStyle(StyleChange change)
newStyle->setChildrenAffectedByDirectAdjacentRules();
}
- if (ch != NoChange || pseudoStyleCacheIsInvalid(currentStyle.get(), newStyle.get()) || change == Force && renderer() && renderer()->requiresForcedStyleRecalcPropagation()) {
+ if (ch != NoChange || pseudoStyleCacheIsInvalid(currentStyle.get(), newStyle.get()) || (change == Force && renderer() && renderer()->requiresForcedStyleRecalcPropagation())) {
setRenderStyle(newStyle);
} else if (needsStyleRecalc() && (styleChangeType() != SyntheticStyleChange) && (document()->usesSiblingRules() || document()->usesDescendantRules())) {
// Although no change occurred, we use the new style so that the cousin style sharing code won't get
diff --git a/WebCore/dom/Element.idl b/WebCore/dom/Element.idl
index 977d15a..6bb0687 100644
--- a/WebCore/dom/Element.idl
+++ b/WebCore/dom/Element.idl
@@ -31,13 +31,13 @@ module core {
readonly attribute [ConvertNullStringTo=Null] DOMString tagName;
[ConvertNullStringTo=Null] DOMString getAttribute(in DOMString name);
- [OldStyleObjC, Custom] void setAttribute(in DOMString name,
- in DOMString value)
+ [OldStyleObjC] void setAttribute(in DOMString name,
+ in DOMString value)
raises(DOMException);
void removeAttribute(in DOMString name)
raises(DOMException);
Attr getAttributeNode(in DOMString name);
- [Custom] Attr setAttributeNode(in Attr newAttr)
+ Attr setAttributeNode(in Attr newAttr)
raises(DOMException);
Attr removeAttributeNode(in Attr oldAttr)
raises(DOMException);
@@ -47,9 +47,9 @@ module core {
[OldStyleObjC] DOMString getAttributeNS(in [ConvertNullToNullString] DOMString namespaceURI,
in DOMString localName);
- [OldStyleObjC, Custom] void setAttributeNS(in [ConvertNullToNullString] DOMString namespaceURI,
- in DOMString qualifiedName,
- in DOMString value)
+ [OldStyleObjC] void setAttributeNS(in [ConvertNullToNullString] DOMString namespaceURI,
+ in DOMString qualifiedName,
+ in DOMString value)
raises(DOMException);
[OldStyleObjC] void removeAttributeNS(in [ConvertNullToNullString] DOMString namespaceURI,
in DOMString localName)
@@ -58,7 +58,7 @@ module core {
in DOMString localName);
[OldStyleObjC] Attr getAttributeNodeNS(in [ConvertNullToNullString] DOMString namespaceURI,
in DOMString localName);
- [Custom] Attr setAttributeNodeNS(in Attr newAttr)
+ Attr setAttributeNodeNS(in Attr newAttr)
raises(DOMException);
boolean hasAttribute(in DOMString name);
[OldStyleObjC] boolean hasAttributeNS(in [ConvertNullToNullString] DOMString namespaceURI,
diff --git a/WebCore/dom/EventListener.h b/WebCore/dom/EventListener.h
index d7c950f..3ecfae7 100644
--- a/WebCore/dom/EventListener.h
+++ b/WebCore/dom/EventListener.h
@@ -41,7 +41,8 @@ namespace WebCore {
InspectorDOMAgentType,
InspectorDOMStorageResourceType,
ObjCEventListenerType,
- ConditionEventListenerType };
+ ConditionEventListenerType,
+ GObjectEventListenerType };
virtual ~EventListener() { }
virtual bool operator==(const EventListener&) = 0;
diff --git a/WebCore/dom/MouseRelatedEvent.cpp b/WebCore/dom/MouseRelatedEvent.cpp
index 15d4e43..ce4c175 100644
--- a/WebCore/dom/MouseRelatedEvent.cpp
+++ b/WebCore/dom/MouseRelatedEvent.cpp
@@ -57,7 +57,7 @@ static int contentsX(AbstractView* abstractView)
FrameView* frameView = frame->view();
if (!frameView)
return 0;
- return frameView->scrollX() / frame->pageZoomFactor();
+ return frameView->scrollX() / frameView->pageZoomFactor();
}
static int contentsY(AbstractView* abstractView)
@@ -70,7 +70,7 @@ static int contentsY(AbstractView* abstractView)
FrameView* frameView = frame->view();
if (!frameView)
return 0;
- return frameView->scrollY() / frame->pageZoomFactor();
+ return frameView->scrollY() / frameView->pageZoomFactor();
}
MouseRelatedEvent::MouseRelatedEvent(const AtomicString& eventType, bool canBubble, bool cancelable, PassRefPtr<AbstractView> viewArg,
@@ -118,9 +118,23 @@ void MouseRelatedEvent::initCoordinates(int clientX, int clientY)
computePageLocation();
}
+static float pageZoomFactor(UIEvent* event)
+{
+ DOMWindow* window = event->view();
+ if (!window)
+ return 1;
+ Frame* frame = window->frame();
+ if (!frame)
+ return 1;
+ FrameView* view = frame->view();
+ if (!view)
+ return 1;
+ return view->pageZoomFactor();
+}
+
void MouseRelatedEvent::computePageLocation()
{
- float zoomFactor = (view() && view()->frame()) ? view()->frame()->pageZoomFactor() : 1.0f;
+ float zoomFactor = pageZoomFactor(this);
setAbsoluteLocation(roundedIntPoint(FloatPoint(pageX() * zoomFactor, pageY() * zoomFactor)));
}
@@ -144,7 +158,7 @@ void MouseRelatedEvent::receivedTarget()
if (!isSimulated()) {
if (RenderObject* r = targ->renderer()) {
FloatPoint localPos = r->absoluteToLocal(absoluteLocation(), false, true);
- float zoomFactor = (view() && view()->frame()) ? view()->frame()->pageZoomFactor() : 1.0f;
+ float zoomFactor = pageZoomFactor(this);
m_offsetX = lroundf(localPos.x() / zoomFactor);
m_offsetY = lroundf(localPos.y() / zoomFactor);
}
diff --git a/WebCore/dom/Node.cpp b/WebCore/dom/Node.cpp
index a7d416a..2fe4bfb 100644
--- a/WebCore/dom/Node.cpp
+++ b/WebCore/dom/Node.cpp
@@ -58,6 +58,7 @@
#include "HTMLNames.h"
#include "InspectorTimelineAgent.h"
#include "KeyboardEvent.h"
+#include "LabelsNodeList.h"
#include "Logging.h"
#include "MouseEvent.h"
#include "MutationEvent.h"
@@ -299,8 +300,13 @@ Node::StyleChange Node::diff(const RenderStyle* s1, const RenderStyle* s2)
bool fl1 = s1 && s1->hasPseudoStyle(FIRST_LETTER);
EDisplay display2 = s2 ? s2->display() : NONE;
bool fl2 = s2 && s2->hasPseudoStyle(FIRST_LETTER);
-
- if (display1 != display2 || fl1 != fl2 || (s1 && s2 && !s1->contentDataEquivalent(s2)))
+
+ // We just detach if a renderer acquires or loses a column-span, since spanning elements
+ // typically won't contain much content.
+ bool colSpan1 = s1 && s1->columnSpan();
+ bool colSpan2 = s2 && s2->columnSpan();
+
+ if (display1 != display2 || fl1 != fl2 || colSpan1 != colSpan2 || (s1 && s2 && !s1->contentDataEquivalent(s2)))
ch = Detach;
else if (!s1 || !s2)
ch = Inherit;
@@ -896,6 +902,18 @@ void Node::notifyNodeListsChildrenChanged()
n->notifyLocalNodeListsChildrenChanged();
}
+void Node::notifyLocalNodeListsLabelChanged()
+{
+ if (!hasRareData())
+ return;
+ NodeRareData* data = rareData();
+ if (!data->nodeLists())
+ return;
+
+ if (data->nodeLists()->m_labelsNodeListCache)
+ data->nodeLists()->m_labelsNodeListCache->invalidateCache();
+}
+
void Node::removeCachedClassNodeList(ClassNodeList* list, const String& className)
{
ASSERT(rareData());
@@ -929,6 +947,16 @@ void Node::removeCachedTagNodeList(TagNodeList* list, const QualifiedName& name)
data->m_tagNodeListCache.remove(name.impl());
}
+void Node::removeCachedLabelsNodeList(DynamicNodeList* list)
+{
+ ASSERT(rareData());
+ ASSERT(rareData()->nodeLists());
+ ASSERT_UNUSED(list, list->hasOwnCaches());
+
+ NodeListsNodeData* data = rareData()->nodeLists();
+ data->m_labelsNodeListCache = 0;
+}
+
Node *Node::traverseNextNode(const Node *stayWithin) const
{
if (firstChild())
@@ -1538,12 +1566,12 @@ bool Node::inSameContainingBlockFlowElement(Node *n)
// FIXME: End of obviously misplaced HTML editing functions. Try to move these out of Node.
-PassRefPtr<NodeList> Node::getElementsByTagName(const String& name)
+PassRefPtr<NodeList> Node::getElementsByTagName(const AtomicString& name)
{
return getElementsByTagNameNS(starAtom, name);
}
-PassRefPtr<NodeList> Node::getElementsByTagNameNS(const AtomicString& namespaceURI, const String& localName)
+PassRefPtr<NodeList> Node::getElementsByTagNameNS(const AtomicString& namespaceURI, const AtomicString& localName)
{
if (localName.isNull())
return 0;
@@ -2242,6 +2270,9 @@ void Node::formatForDebugger(char* buffer, unsigned length) const
void NodeListsNodeData::invalidateCaches()
{
m_childNodeListCaches->reset();
+
+ if (m_labelsNodeListCache)
+ m_labelsNodeListCache->invalidateCache();
TagNodeListCache::const_iterator tagCacheEnd = m_tagNodeListCache.end();
for (TagNodeListCache::const_iterator it = m_tagNodeListCache.begin(); it != tagCacheEnd; ++it)
it->second->invalidateCache();
@@ -2257,6 +2288,8 @@ void NodeListsNodeData::invalidateCachesThatDependOnAttributes()
NameNodeListCache::iterator nameCacheEnd = m_nameNodeListCache.end();
for (NameNodeListCache::iterator it = m_nameNodeListCache.begin(); it != nameCacheEnd; ++it)
it->second->invalidateCache();
+ if (m_labelsNodeListCache)
+ m_labelsNodeListCache->invalidateCache();
}
bool NodeListsNodeData::isEmpty() const
@@ -2285,6 +2318,9 @@ bool NodeListsNodeData::isEmpty() const
return false;
}
+ if (m_labelsNodeListCache)
+ return false;
+
return true;
}
@@ -2908,8 +2944,8 @@ bool Node::dispatchMouseEvent(const AtomicString& eventType, int button, int det
int adjustedPageX = pageX;
int adjustedPageY = pageY;
- if (Frame* frame = document()->frame()) {
- float pageZoom = frame->pageZoomFactor();
+ if (FrameView* view = document()->view()) {
+ float pageZoom = view->pageZoomFactor();
if (pageZoom != 1.0f) {
// Adjust our pageX and pageY to account for the page zoom.
adjustedPageX = lroundf(pageX / pageZoom);
@@ -2965,8 +3001,8 @@ void Node::dispatchWheelEvent(PlatformWheelEvent& e)
int adjustedPageX = pos.x();
int adjustedPageY = pos.y();
- if (Frame* frame = document()->frame()) {
- float pageZoom = frame->pageZoomFactor();
+ if (FrameView* view = document()->view()) {
+ float pageZoom = view->pageZoomFactor();
if (pageZoom != 1.0f) {
// Adjust our pageX and pageY to account for the page zoom.
adjustedPageX = lroundf(pos.x() / pageZoom);
diff --git a/WebCore/dom/Node.h b/WebCore/dom/Node.h
index a01ff62..8bf89cc 100644
--- a/WebCore/dom/Node.h
+++ b/WebCore/dom/Node.h
@@ -527,12 +527,14 @@ public:
void notifyLocalNodeListsChildrenChanged();
void notifyNodeListsAttributeChanged();
void notifyLocalNodeListsAttributeChanged();
+ void notifyLocalNodeListsLabelChanged();
void removeCachedClassNodeList(ClassNodeList*, const String&);
void removeCachedNameNodeList(NameNodeList*, const String&);
void removeCachedTagNodeList(TagNodeList*, const QualifiedName&);
+ void removeCachedLabelsNodeList(DynamicNodeList*);
- PassRefPtr<NodeList> getElementsByTagName(const String&);
- PassRefPtr<NodeList> getElementsByTagNameNS(const AtomicString& namespaceURI, const String& localName);
+ PassRefPtr<NodeList> getElementsByTagName(const AtomicString&);
+ PassRefPtr<NodeList> getElementsByTagNameNS(const AtomicString& namespaceURI, const AtomicString& localName);
PassRefPtr<NodeList> getElementsByName(const String& elementName);
PassRefPtr<NodeList> getElementsByClassName(const String& classNames);
diff --git a/WebCore/dom/NodeRareData.h b/WebCore/dom/NodeRareData.h
index 8456db1..d88f964 100644
--- a/WebCore/dom/NodeRareData.h
+++ b/WebCore/dom/NodeRareData.h
@@ -51,6 +51,8 @@ struct NodeListsNodeData : Noncopyable {
typedef HashMap<RefPtr<QualifiedName::QualifiedNameImpl>, TagNodeList*> TagNodeListCache;
TagNodeListCache m_tagNodeListCache;
+ RefPtr<DynamicNodeList> m_labelsNodeListCache;
+
static PassOwnPtr<NodeListsNodeData> create()
{
return new NodeListsNodeData;
@@ -62,7 +64,7 @@ struct NodeListsNodeData : Noncopyable {
private:
NodeListsNodeData()
- : m_childNodeListCaches(DynamicNodeList::Caches::create())
+ : m_childNodeListCaches(DynamicNodeList::Caches::create()), m_labelsNodeListCache(0)
{
}
};
diff --git a/WebCore/dom/Position.cpp b/WebCore/dom/Position.cpp
index db9e3c6..7861fbe 100644
--- a/WebCore/dom/Position.cpp
+++ b/WebCore/dom/Position.cpp
@@ -1018,10 +1018,11 @@ void Position::getInlineBoxAndOffset(EAffinity affinity, TextDirection primaryDi
// an editable block but surrounded by non-editable positions. It acts to negate the logic at the beginning
// of RenderObject::createVisiblePosition().
Position equivalent = downstreamIgnoringEditingBoundaries(*this);
- if (equivalent == *this)
+ if (equivalent == *this) {
equivalent = upstreamIgnoringEditingBoundaries(*this);
- if (equivalent == *this)
- return;
+ if (equivalent == *this || downstreamIgnoringEditingBoundaries(equivalent) == *this)
+ return;
+ }
equivalent.getInlineBoxAndOffset(UPSTREAM, primaryDirection, inlineBox, caretOffset);
return;
diff --git a/WebCore/dom/PositionIterator.cpp b/WebCore/dom/PositionIterator.cpp
index f5b65f5..619e376 100644
--- a/WebCore/dom/PositionIterator.cpp
+++ b/WebCore/dom/PositionIterator.cpp
@@ -84,15 +84,14 @@ void PositionIterator::decrement()
}
return;
}
-
- if (m_offsetInAnchor) {
- m_offsetInAnchor = Position::uncheckedPreviousOffset(m_anchorNode, m_offsetInAnchor);
+
+ if (m_anchorNode->hasChildNodes()) {
+ m_anchorNode = m_anchorNode->lastChild();
+ m_offsetInAnchor = m_anchorNode->hasChildNodes()? 0: lastOffsetForEditing(m_anchorNode);
} else {
- if (m_anchorNode->hasChildNodes()) {
- m_anchorNode = m_anchorNode->lastChild();
- if (!m_anchorNode->hasChildNodes())
- m_offsetInAnchor = lastOffsetForEditing(m_anchorNode);
- } else {
+ if (m_offsetInAnchor)
+ m_offsetInAnchor = Position::uncheckedPreviousOffset(m_anchorNode, m_offsetInAnchor);
+ else {
m_nodeAfterPositionInAnchor = m_anchorNode;
m_anchorNode = m_anchorNode->parentNode();
}
diff --git a/WebCore/dom/ScriptElement.cpp b/WebCore/dom/ScriptElement.cpp
index b457f5d..0ac0846 100644
--- a/WebCore/dom/ScriptElement.cpp
+++ b/WebCore/dom/ScriptElement.cpp
@@ -97,15 +97,6 @@ void ScriptElement::finishParsingChildren(ScriptElementData& data, const String&
// allow dynamic loading later.
if (sourceUrl.isEmpty() && data.scriptContent().isEmpty())
data.setCreatedByParser(false);
- // HTML5 Requires that we execute scripts from the parser, not from
- // HTMLTokenizer like we currently do.
- // FIXME: It may not be safe to execute scripts from here if
- // HTMLParser::popOneBlockCommon is not reentrant.
- else if (useHTML5Parser(data.element()->document())) {
- // This is currently an incomplete implementation, see:
- // http://www.whatwg.org/specs/web-apps/current-work/multipage/tokenization.html#parsing-main-incdata
- data.evaluateScript(ScriptSourceCode(data.scriptContent(), data.element()->document()->url())); // FIXME: Provide a real starting line number here
- }
}
void ScriptElement::handleSourceAttribute(ScriptElementData& data, const String& sourceUrl)
diff --git a/WebCore/dom/ScriptElement.h b/WebCore/dom/ScriptElement.h
index fad6fe7..8cc84fc 100644
--- a/WebCore/dom/ScriptElement.h
+++ b/WebCore/dom/ScriptElement.h
@@ -94,9 +94,9 @@ private:
ScriptElement* m_scriptElement;
Element* m_element;
CachedResourceHandle<CachedScript> m_cachedScript;
- bool m_createdByParser;
+ bool m_createdByParser; // HTML5: "parser-inserted"
bool m_requested;
- bool m_evaluated;
+ bool m_evaluated; // HTML5: "already started"
bool m_firedLoad;
};
diff --git a/WebCore/dom/Touch.cpp b/WebCore/dom/Touch.cpp
index 4ea83da..585d9d4 100644
--- a/WebCore/dom/Touch.cpp
+++ b/WebCore/dom/Touch.cpp
@@ -40,7 +40,7 @@ static int contentsX(Frame* frame)
FrameView* frameView = frame->view();
if (!frameView)
return 0;
- return frameView->scrollX() / frame->pageZoomFactor();
+ return frameView->scrollX() / frameView->pageZoomFactor();
}
static int contentsY(Frame* frame)
@@ -50,7 +50,7 @@ static int contentsY(Frame* frame)
FrameView* frameView = frame->view();
if (!frameView)
return 0;
- return frameView->scrollY() / frame->pageZoomFactor();
+ return frameView->scrollY() / frameView->pageZoomFactor();
}
Touch::Touch(Frame* frame, EventTarget* target, unsigned identifier,
diff --git a/WebCore/dom/make_names.pl b/WebCore/dom/make_names.pl
index 57006d2..04a68bb 100755
--- a/WebCore/dom/make_names.pl
+++ b/WebCore/dom/make_names.pl
@@ -49,7 +49,9 @@ my %parameters = ();
my $extraDefines = 0;
require Config;
my $gccLocation = "";
-if (($Config::Config{'osname'}) =~ /solaris/i) {
+if ($ENV{CC}) {
+ $gccLocation = $ENV{CC};
+} elsif (($Config::Config{'osname'}) =~ /solaris/i) {
$gccLocation = "/usr/sfw/bin/gcc";
} else {
$gccLocation = "/usr/bin/gcc";
diff --git a/WebCore/editing/DeleteButton.cpp b/WebCore/editing/DeleteButton.cpp
index c1b15b7..a5aaea2 100644
--- a/WebCore/editing/DeleteButton.cpp
+++ b/WebCore/editing/DeleteButton.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2006 Apple Computer, Inc. All rights reserved.
+ * Copyright (C) 2006, 2010 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -36,17 +36,27 @@
namespace WebCore {
-DeleteButton::DeleteButton(Document* document)
- : HTMLImageElement(HTMLNames::imgTag, document)
+using namespace HTMLNames;
+
+inline DeleteButton::DeleteButton(Document* document)
+ : HTMLImageElement(imgTag, document)
+{
+}
+
+PassRefPtr<DeleteButton> DeleteButton::create(Document* document)
{
+ return new DeleteButton(document);
}
void DeleteButton::defaultEventHandler(Event* event)
{
+ // FIXME: Is it really import to check the type of the event?
+ // Seems OK to respond to any event named click even if it does not have the correct type.
if (event->isMouseEvent()) {
if (event->type() == eventNames().clickEvent) {
document()->frame()->editor()->deleteButtonController()->deleteTarget();
event->setDefaultHandled();
+ // FIXME: Shouldn't we return here instead of falling through?
}
}
diff --git a/WebCore/editing/DeleteButton.h b/WebCore/editing/DeleteButton.h
index ac3cdac..af6c1f4 100644
--- a/WebCore/editing/DeleteButton.h
+++ b/WebCore/editing/DeleteButton.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2006 Apple Computer, Inc. All rights reserved.
+ * Copyright (C) 2006, 2010 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -32,6 +32,9 @@ namespace WebCore {
class DeleteButton : public HTMLImageElement {
public:
+ static PassRefPtr<DeleteButton> create(Document*);
+
+private:
DeleteButton(Document*);
virtual void defaultEventHandler(Event*);
diff --git a/WebCore/editing/DeleteButtonController.cpp b/WebCore/editing/DeleteButtonController.cpp
index 24c8270..4f527af 100644
--- a/WebCore/editing/DeleteButtonController.cpp
+++ b/WebCore/editing/DeleteButtonController.cpp
@@ -186,7 +186,7 @@ void DeleteButtonController::respondToChangedSelection(const VisibleSelection& o
void DeleteButtonController::createDeletionUI()
{
- RefPtr<HTMLDivElement> container = new HTMLDivElement(divTag, m_target->document());
+ RefPtr<HTMLDivElement> container = HTMLDivElement::create(m_target->document());
container->setAttribute(container->idAttributeName(), containerElementIdentifier);
CSSMutableStyleDeclaration* style = container->getInlineStyleDecl();
@@ -201,7 +201,7 @@ void DeleteButtonController::createDeletionUI()
style->setProperty(CSSPropertyBottom, "0");
style->setProperty(CSSPropertyLeft, "0");
- RefPtr<HTMLDivElement> outline = new HTMLDivElement(divTag, m_target->document());
+ RefPtr<HTMLDivElement> outline = HTMLDivElement::create(m_target->document());
outline->setAttribute(outline->idAttributeName(), outlineElementIdentifier);
const int borderWidth = 4;
@@ -224,7 +224,7 @@ void DeleteButtonController::createDeletionUI()
if (ec)
return;
- RefPtr<DeleteButton> button = new DeleteButton(m_target->document());
+ RefPtr<DeleteButton> button = DeleteButton::create(m_target->document());
button->setAttribute(button->idAttributeName(), buttonElementIdentifier);
const int buttonWidth = 30;
diff --git a/WebCore/editing/Editor.cpp b/WebCore/editing/Editor.cpp
index be89846..8041159 100644
--- a/WebCore/editing/Editor.cpp
+++ b/WebCore/editing/Editor.cpp
@@ -29,15 +29,15 @@
#include "AXObjectCache.h"
#include "ApplyStyleCommand.h"
-#include "CharacterNames.h"
-#include "CompositionEvent.h"
-#include "CreateLinkCommand.h"
#include "CSSComputedStyleDeclaration.h"
#include "CSSMutableStyleDeclaration.h"
#include "CSSProperty.h"
#include "CSSPropertyNames.h"
#include "CSSValueKeywords.h"
+#include "CharacterNames.h"
#include "ClipboardEvent.h"
+#include "CompositionEvent.h"
+#include "CreateLinkCommand.h"
#include "DeleteButtonController.h"
#include "DeleteSelectionCommand.h"
#include "DocLoader.h"
@@ -55,6 +55,7 @@
#include "IndentOutdentCommand.h"
#include "InsertListCommand.h"
#include "KeyboardEvent.h"
+#include "KillRing.h"
#include "ModifySelectionListLevel.h"
#include "Page.h"
#include "Pasteboard.h"
@@ -239,16 +240,16 @@ bool Editor::deleteWithDirection(SelectionController::EDirection direction, Text
deleteSelectionWithSmartDelete(canSmartCopyOrDelete());
// Implicitly calls revealSelectionAfterEditingOperation().
}
- } else {
+ } else {
switch (direction) {
- case SelectionController::FORWARD:
- case SelectionController::RIGHT:
- TypingCommand::forwardDeleteKeyPressed(m_frame->document(), canSmartCopyOrDelete(), granularity, killRing);
- break;
- case SelectionController::BACKWARD:
- case SelectionController::LEFT:
- TypingCommand::deleteKeyPressed(m_frame->document(), canSmartCopyOrDelete(), granularity, killRing);
- break;
+ case SelectionController::DirectionForward:
+ case SelectionController::DirectionRight:
+ TypingCommand::forwardDeleteKeyPressed(m_frame->document(), canSmartCopyOrDelete(), granularity, killRing);
+ break;
+ case SelectionController::DirectionBackward:
+ case SelectionController::DirectionLeft:
+ TypingCommand::deleteKeyPressed(m_frame->document(), canSmartCopyOrDelete(), granularity, killRing);
+ break;
}
revealSelectionAfterEditingOperation();
}
@@ -417,7 +418,7 @@ const SimpleFontData* Editor::fontForSelection(bool& hasMultipleFonts) const
if (nodeToRemove) {
ExceptionCode ec;
nodeToRemove->remove(ec);
- ASSERT(ec == 0);
+ ASSERT(!ec);
}
return result;
@@ -432,7 +433,7 @@ const SimpleFontData* Editor::fontForSelection(bool& hasMultipleFonts) const
// In the loop below, n should eventually match pastEnd and not become nil, but we've seen at least one
// unreproducible case where this didn't happen, so check for nil also.
for (Node* n = startNode; n && n != pastEnd; n = n->traverseNextNode()) {
- RenderObject *renderer = n->renderer();
+ RenderObject* renderer = n->renderer();
if (!renderer)
continue;
// FIXME: Are there any node types that have renderers, but that we should be skipping?
@@ -717,16 +718,16 @@ bool Editor::dispatchCPPEvent(const AtomicString &eventType, ClipboardAccessPoli
void Editor::applyStyle(CSSStyleDeclaration* style, EditAction editingAction)
{
switch (m_frame->selection()->selectionType()) {
- case VisibleSelection::NoSelection:
- // do nothing
- break;
- case VisibleSelection::CaretSelection:
- m_frame->computeAndSetTypingStyle(style, editingAction);
- break;
- case VisibleSelection::RangeSelection:
- if (style)
- applyCommand(ApplyStyleCommand::create(m_frame->document(), style, editingAction));
- break;
+ case VisibleSelection::NoSelection:
+ // do nothing
+ break;
+ case VisibleSelection::CaretSelection:
+ m_frame->computeAndSetTypingStyle(style, editingAction);
+ break;
+ case VisibleSelection::RangeSelection:
+ if (style)
+ applyCommand(ApplyStyleCommand::create(m_frame->document(), style, editingAction));
+ break;
}
}
@@ -738,20 +739,20 @@ bool Editor::shouldApplyStyle(CSSStyleDeclaration* style, Range* range)
void Editor::applyParagraphStyle(CSSStyleDeclaration* style, EditAction editingAction)
{
switch (m_frame->selection()->selectionType()) {
- case VisibleSelection::NoSelection:
- // do nothing
- break;
- case VisibleSelection::CaretSelection:
- case VisibleSelection::RangeSelection:
- if (style)
- applyCommand(ApplyStyleCommand::create(m_frame->document(), style, editingAction, ApplyStyleCommand::ForceBlockProperties));
- break;
+ case VisibleSelection::NoSelection:
+ // do nothing
+ break;
+ case VisibleSelection::CaretSelection:
+ case VisibleSelection::RangeSelection:
+ if (style)
+ applyCommand(ApplyStyleCommand::create(m_frame->document(), style, editingAction, ApplyStyleCommand::ForceBlockProperties));
+ break;
}
}
void Editor::applyStyleToSelection(CSSStyleDeclaration* style, EditAction editingAction)
{
- if (!style || style->length() == 0 || !canEditRichly())
+ if (!style || !style->length() || !canEditRichly())
return;
if (client() && client()->shouldApplyStyle(style, m_frame->selection()->toNormalizedRange().get()))
@@ -760,7 +761,7 @@ void Editor::applyStyleToSelection(CSSStyleDeclaration* style, EditAction editin
void Editor::applyParagraphStyleToSelection(CSSStyleDeclaration* style, EditAction editingAction)
{
- if (!style || style->length() == 0 || !canEditRichly())
+ if (!style || !style->length() || !canEditRichly())
return;
if (client() && client()->shouldApplyStyle(style, m_frame->selection()->toNormalizedRange().get()))
@@ -786,11 +787,11 @@ static TriState triStateOfStyleInComputedStyle(CSSStyleDeclaration* desiredStyle
RefPtr<CSSMutableStyleDeclaration> diff = getPropertiesNotInComputedStyle(desiredStyle, computedStyle);
if (ignoreTextOnlyProperties)
- diff->removePropertiesInSet(textOnlyProperties, sizeof(textOnlyProperties)/sizeof(textOnlyProperties[0]));
+ diff->removePropertiesInSet(textOnlyProperties, sizeof(textOnlyProperties) / sizeof(textOnlyProperties[0]));
if (!diff->length())
return TrueTriState;
- else if (diff->length() == desiredStyle->length())
+ if (diff->length() == desiredStyle->length())
return FalseTriState;
return MixedTriState;
}
@@ -805,7 +806,7 @@ bool Editor::selectionStartHasStyle(CSSStyleDeclaration* style) const
if (nodeToRemove) {
ExceptionCode ec = 0;
nodeToRemove->remove(ec);
- ASSERT(ec == 0);
+ ASSERT(!ec);
}
return state == TrueTriState;
}
@@ -823,7 +824,7 @@ TriState Editor::selectionHasStyle(CSSStyleDeclaration* style) const
if (nodeToRemove) {
ExceptionCode ec = 0;
nodeToRemove->remove(ec);
- ASSERT(ec == 0);
+ ASSERT(!ec);
}
} else {
for (Node* node = m_frame->selection()->start().node(); node; node = node->traverseNextNode()) {
@@ -928,6 +929,7 @@ Editor::Editor(Frame* frame)
, m_shouldStartNewKillRingSequence(false)
// This is off by default, since most editors want this behavior (this matches IE but not FF).
, m_shouldStyleWithCSS(false)
+ , m_killRing(new KillRing)
{
}
@@ -1057,7 +1059,7 @@ void Editor::paste()
{
ASSERT(m_frame->document());
if (tryDHTMLPaste())
- return; // DHTML did the whole operation
+ return; // DHTML did the whole operation
if (!canPaste())
return;
DocLoader* loader = m_frame->document()->docLoader();
@@ -1489,7 +1491,7 @@ void Editor::ignoreSpelling()
frame()->document()->removeMarkers(selectedRange.get(), DocumentMarker::Spelling);
String text = frame()->selectedText();
- ASSERT(text.length() != 0);
+ ASSERT(text.length());
client()->ignoreWordInSpellDocument(text);
}
@@ -1502,7 +1504,7 @@ void Editor::learnSpelling()
// learned word, see <rdar://problem/5396072>.
String text = frame()->selectedText();
- ASSERT(text.length() != 0);
+ ASSERT(text.length());
client()->learnWord(text);
}
@@ -1533,7 +1535,7 @@ static String findFirstMisspellingInRange(EditorClient* client, Range* searchRan
// more robust against bad input on release builds.
ASSERT(misspellingLength >= 0);
ASSERT(misspellingLocation >= -1);
- ASSERT(misspellingLength == 0 || misspellingLocation >= 0);
+ ASSERT(!misspellingLength || misspellingLocation >= 0);
ASSERT(misspellingLocation < len);
ASSERT(misspellingLength <= len);
ASSERT(misspellingLocation + misspellingLength <= len);
@@ -1553,7 +1555,7 @@ static String findFirstMisspellingInRange(EditorClient* client, Range* searchRan
// Store marker for misspelled word.
ExceptionCode ec = 0;
misspellingRange->startContainer(ec)->document()->addMarker(misspellingRange.get(), DocumentMarker::Spelling);
- ASSERT(ec == 0);
+ ASSERT(!ec);
// Bail out if we're marking only the first misspelling, and not all instances.
if (!markAll)
@@ -1616,7 +1618,7 @@ static int findFirstGrammarDetailInRange(const Vector<GrammarDetail>& grammarDet
RefPtr<Range> badGrammarRange = TextIterator::subrange(searchRange, badGrammarPhraseLocation - startOffset + detail->location, detail->length);
ExceptionCode ec = 0;
badGrammarRange->startContainer(ec)->document()->addMarker(badGrammarRange.get(), DocumentMarker::Grammar, detail->userDescription);
- ASSERT(ec == 0);
+ ASSERT(!ec);
}
// Remember this detail only if it's earlier than our current candidate (the details aren't in a guaranteed order)
@@ -1662,7 +1664,7 @@ static String findFirstBadGrammarInRange(EditorClient* client, Range* searchRang
int badGrammarPhraseLength = 0;
client->checkGrammarOfString(paragraphString.characters() + startOffset, paragraphString.length() - startOffset, grammarDetails, &badGrammarPhraseLocation, &badGrammarPhraseLength);
- if (badGrammarPhraseLength == 0) {
+ if (!badGrammarPhraseLength) {
ASSERT(badGrammarPhraseLocation == -1);
return String();
}
@@ -1764,13 +1766,15 @@ static String findFirstMisspellingOrBadGrammarInRange(EditorClient* client, Rang
ASSERT(result->length > 0 && result->location >= 0);
spellingLocation = result->location;
misspelledWord = paragraphString.substring(result->location, result->length);
- ASSERT(misspelledWord.length() != 0);
+ ASSERT(misspelledWord.length());
break;
- } else if (checkGrammar && result->type == TextCheckingTypeGrammar && result->location < currentEndOffset && result->location + result->length > currentStartOffset) {
+ }
+ if (checkGrammar && result->type == TextCheckingTypeGrammar && result->location < currentEndOffset && result->location + result->length > currentStartOffset) {
ASSERT(result->length > 0 && result->location >= 0);
// We can't stop after the first grammar result, since there might still be a spelling result after
// it begins but before the first detail in it, but we can stop if we find a second grammar result.
- if (foundGrammar) break;
+ if (foundGrammar)
+ break;
for (unsigned j = 0; j < result->details.size(); j++) {
const GrammarDetail* detail = &result->details[j];
ASSERT(detail->length > 0 && detail->location >= 0);
@@ -1784,7 +1788,7 @@ static String findFirstMisspellingOrBadGrammarInRange(EditorClient* client, Rang
grammarPhraseLocation = result->location;
outGrammarDetail = result->details[grammarDetailIndex];
badGrammarPhrase = paragraphString.substring(result->location, result->length);
- ASSERT(badGrammarPhrase.length() != 0);
+ ASSERT(badGrammarPhrase.length());
}
}
}
@@ -1799,7 +1803,8 @@ static String findFirstMisspellingOrBadGrammarInRange(EditorClient* client, Rang
outFirstFoundOffset = spellingOffset;
firstFoundItem = misspelledWord;
break;
- } else if (checkGrammar && !badGrammarPhrase.isEmpty()) {
+ }
+ if (checkGrammar && !badGrammarPhrase.isEmpty()) {
int grammarPhraseOffset = grammarPhraseLocation - currentStartOffset;
if (!firstIteration) {
RefPtr<Range> paragraphOffsetAsRange = Range::create(paragraphRange->startContainer(ec)->document(), searchRange->startPosition(), paragraphRange->startPosition());
@@ -1862,7 +1867,7 @@ void Editor::advanceToNextMisspelling(bool startBeforeSelection)
Position rangeCompliantPosition = rangeCompliantEquivalent(position);
spellingSearchRange->setStart(rangeCompliantPosition.node(), rangeCompliantPosition.deprecatedEditingOffset(), ec);
- startedWithSelection = false; // won't need to wrap
+ startedWithSelection = false; // won't need to wrap
}
// topNode defines the whole range we want to operate on
@@ -1874,13 +1879,13 @@ void Editor::advanceToNextMisspelling(bool startBeforeSelection)
// at a word boundary. Going back by one char and then forward by a word does the trick.
if (startedWithSelection) {
VisiblePosition oneBeforeStart = startVisiblePosition(spellingSearchRange.get(), DOWNSTREAM).previous();
- if (oneBeforeStart.isNotNull()) {
+ if (oneBeforeStart.isNotNull())
setStart(spellingSearchRange.get(), endOfWord(oneBeforeStart));
- } // else we were already at the start of the editable node
+ // else we were already at the start of the editable node
}
if (spellingSearchRange->collapsed(ec))
- return; // nothing to search in
+ return; // nothing to search in
// Get the spell checker if it is available
if (!client())
@@ -1889,7 +1894,7 @@ void Editor::advanceToNextMisspelling(bool startBeforeSelection)
// We go to the end of our first range instead of the start of it, just to be sure
// we don't get foiled by any word boundary problems at the start. It means we might
// do a tiny bit more searching.
- Node *searchEndNodeAfterWrap = spellingSearchRange->endContainer(ec);
+ Node* searchEndNodeAfterWrap = spellingSearchRange->endContainer(ec);
int searchEndOffsetAfterWrap = spellingSearchRange->endOffset(ec);
int misspellingOffset = 0;
@@ -2002,7 +2007,7 @@ bool Editor::isSelectionMisspelled()
{
String selectedString = frame()->selectedText();
int length = selectedString.length();
- if (length == 0)
+ if (!length)
return false;
if (!client())
@@ -2055,7 +2060,7 @@ static bool isRangeUngrammatical(EditorClient* client, Range *range, Vector<Stri
ASSERT(grammarDetail.location >= 0 && grammarDetail.length > 0);
// Bad grammar, but start of detail (e.g. ungrammatical word) doesn't match start of range
- if (grammarDetail.location + grammarPhraseOffset != 0)
+ if (grammarDetail.location + grammarPhraseOffset)
return false;
// Bad grammar at start of range, but end of bad grammar is before or after end of range
@@ -2097,7 +2102,7 @@ Vector<String> Editor::guessesForUngrammaticalSelection()
Vector<String> Editor::guessesForMisspelledSelection()
{
String selectedString = frame()->selectedText();
- ASSERT(selectedString.length() != 0);
+ ASSERT(selectedString.length());
Vector<String> guesses;
if (client())
@@ -2122,7 +2127,7 @@ static Vector<String> guessesForMisspelledOrUngrammaticalRange(EditorClient* cli
String paragraphString;
RefPtr<Range> paragraphRange = paragraphAlignedRangeForRange(range, rangeStartOffset, paragraphString);
int rangeLength = TextIterator::rangeLength(range);
- if (rangeLength == 0 || paragraphString.length() == 0)
+ if (!rangeLength || !paragraphString.length())
return guesses;
Vector<TextCheckingResult> results;
@@ -2133,7 +2138,7 @@ static Vector<String> guessesForMisspelledOrUngrammaticalRange(EditorClient* cli
const TextCheckingResult* result = &results[i];
if (result->type == TextCheckingTypeSpelling && result->location == rangeStartOffset && result->length == rangeLength) {
String misspelledWord = paragraphString.substring(rangeStartOffset, rangeLength);
- ASSERT(misspelledWord.length() != 0);
+ ASSERT(misspelledWord.length());
client->getGuessesForWord(misspelledWord, guesses);
client->updateSpellingUIWithMisspelledWord(misspelledWord);
misspelled = true;
@@ -2152,7 +2157,7 @@ static Vector<String> guessesForMisspelledOrUngrammaticalRange(EditorClient* cli
ASSERT(detail->length > 0 && detail->location >= 0);
if (result->location + detail->location == rangeStartOffset && detail->length == rangeLength) {
String badGrammarPhrase = paragraphString.substring(result->location, result->length);
- ASSERT(badGrammarPhrase.length() != 0);
+ ASSERT(badGrammarPhrase.length());
for (unsigned k = 0; k < detail->guesses.size(); k++)
guesses.append(detail->guesses[k]);
client->updateSpellingUIWithGrammarString(badGrammarPhrase, *detail);
@@ -2242,7 +2247,7 @@ void Editor::markMisspellingsAfterTypingToPosition(const VisiblePosition &p)
markMisspellings(VisibleSelection(startOfWord(p, LeftWordIfOnBoundary), endOfWord(p, RightWordIfOnBoundary)), misspellingRange);
// Autocorrect the misspelled word.
- if (misspellingRange == 0)
+ if (!misspellingRange)
return;
// Get the misspelled word.
@@ -2264,7 +2269,7 @@ void Editor::markMisspellingsAfterTypingToPosition(const VisiblePosition &p)
// Reset the charet one character further.
frame()->selection()->moveTo(frame()->selection()->end());
- frame()->selection()->modify(SelectionController::MOVE, SelectionController::FORWARD, CharacterGranularity);
+ frame()->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionForward, CharacterGranularity);
}
if (!isGrammarCheckingEnabled())
@@ -2474,8 +2479,8 @@ void Editor::markAllMisspellingsAndBadGrammarInRanges(bool markSpelling, Range*
grammarRange->startContainer(ec)->document()->addMarker(badGrammarRange.get(), DocumentMarker::Grammar, detail->userDescription);
}
}
- } else if (performTextCheckingReplacements && resultLocation + resultLength <= spellingRangeEndOffset && resultLocation + resultLength >= spellingRangeStartOffset &&
- (result->type == TextCheckingTypeLink
+ } else if (performTextCheckingReplacements && resultLocation + resultLength <= spellingRangeEndOffset && resultLocation + resultLength >= spellingRangeStartOffset
+ && (result->type == TextCheckingTypeLink
|| result->type == TextCheckingTypeQuote
|| result->type == TextCheckingTypeDash
|| result->type == TextCheckingTypeReplacement
@@ -2553,11 +2558,11 @@ void Editor::markAllMisspellingsAndBadGrammarInRanges(bool markSpelling, Range*
RefPtr<Range> selectionRange = TextIterator::subrange(paragraphRange.get(), 0, selectionOffset);
m_frame->selection()->moveTo(selectionRange->endPosition(), DOWNSTREAM);
if (adjustSelectionForParagraphBoundaries)
- m_frame->selection()->modify(SelectionController::MOVE, SelectionController::FORWARD, CharacterGranularity);
+ m_frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionForward, CharacterGranularity);
} else {
// If this fails for any reason, the fallback is to go one position beyond the last replacement
m_frame->selection()->moveTo(m_frame->selection()->end());
- m_frame->selection()->modify(SelectionController::MOVE, SelectionController::FORWARD, CharacterGranularity);
+ m_frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionForward, CharacterGranularity);
}
}
}
@@ -2707,41 +2712,16 @@ void Editor::transpose()
void Editor::addToKillRing(Range* range, bool prepend)
{
if (m_shouldStartNewKillRingSequence)
- startNewKillRingSequence();
+ killRing()->startNewSequence();
String text = plainText(range);
if (prepend)
- prependToKillRing(text);
+ killRing()->prepend(text);
else
- appendToKillRing(text);
+ killRing()->append(text);
m_shouldStartNewKillRingSequence = false;
}
-#if !PLATFORM(MAC)
-
-void Editor::appendToKillRing(const String&)
-{
-}
-
-void Editor::prependToKillRing(const String&)
-{
-}
-
-String Editor::yankFromKillRing()
-{
- return String();
-}
-
-void Editor::startNewKillRingSequence()
-{
-}
-
-void Editor::setKillRingToYankedState()
-{
-}
-
-#endif
-
bool Editor::insideVisibleArea(const IntPoint& point) const
{
if (m_frame->excludeFromTextSearch())
diff --git a/WebCore/editing/Editor.h b/WebCore/editing/Editor.h
index 5b0cc9c..17dd3bb 100644
--- a/WebCore/editing/Editor.h
+++ b/WebCore/editing/Editor.h
@@ -43,6 +43,7 @@ class EditorClient;
class EditorInternalCommand;
class HTMLElement;
class HitTestResult;
+class KillRing;
class Pasteboard;
class SimpleFontData;
class Text;
@@ -278,11 +279,7 @@ public:
VisibleSelection selectionForCommand(Event*);
- void appendToKillRing(const String&);
- void prependToKillRing(const String&);
- String yankFromKillRing();
- void startNewKillRingSequence();
- void setKillRingToYankedState();
+ KillRing* killRing() const { return m_killRing.get(); }
PassRefPtr<Range> selectedRange();
@@ -305,6 +302,7 @@ private:
bool m_ignoreCompositionSelectionChange;
bool m_shouldStartNewKillRingSequence;
bool m_shouldStyleWithCSS;
+ OwnPtr<KillRing> m_killRing;
bool canDeleteRange(Range*) const;
bool canSmartReplaceWithPasteboard(Pasteboard*);
diff --git a/WebCore/editing/EditorCommand.cpp b/WebCore/editing/EditorCommand.cpp
index 4cb34ac..75085fb 100644
--- a/WebCore/editing/EditorCommand.cpp
+++ b/WebCore/editing/EditorCommand.cpp
@@ -26,6 +26,7 @@
*/
#include "config.h"
+#include "Editor.h"
#include "AtomicString.h"
#include "CSSComputedStyleDeclaration.h"
@@ -35,19 +36,19 @@
#include "Chrome.h"
#include "CreateLinkCommand.h"
#include "DocumentFragment.h"
-#include "Editor.h"
#include "EditorClient.h"
#include "Event.h"
#include "EventHandler.h"
#include "FormatBlockCommand.h"
#include "Frame.h"
+#include "FrameView.h"
#include "HTMLFontElement.h"
#include "HTMLHRElement.h"
#include "HTMLImageElement.h"
#include "IndentOutdentCommand.h"
#include "InsertListCommand.h"
+#include "KillRing.h"
#include "Page.h"
-#include "RenderBox.h"
#include "ReplaceSelectionCommand.h"
#include "Scrollbar.h"
#include "Settings.h"
@@ -97,13 +98,13 @@ static bool applyCommandToFrame(Frame* frame, EditorCommandSource source, EditAc
{
// FIXME: We don't call shouldApplyStyle when the source is DOM; is there a good reason for that?
switch (source) {
- case CommandFromMenuOrKeyBinding:
- frame->editor()->applyStyleToSelection(style, action);
- return true;
- case CommandFromDOM:
- case CommandFromDOMWithUserInterface:
- frame->editor()->applyStyle(style);
- return true;
+ case CommandFromMenuOrKeyBinding:
+ frame->editor()->applyStyleToSelection(style, action);
+ return true;
+ case CommandFromDOM:
+ case CommandFromDOMWithUserInterface:
+ frame->editor()->applyStyle(style);
+ return true;
}
ASSERT_NOT_REACHED();
return false;
@@ -143,15 +144,15 @@ static bool executeToggleStyleInList(Frame* frame, EditorCommandSource source, E
} else if (selectedCSSValue->cssText() == "none")
newStyle = value->cssText();
- ASSERT(ec == 0);
+ ASSERT(!ec);
if (nodeToRemove) {
nodeToRemove->remove(ec);
- ASSERT(ec == 0);
+ ASSERT(!ec);
}
// FIXME: We shouldn't be having to convert new style into text. We should have setPropertyCSSValue.
RefPtr<CSSMutableStyleDeclaration> newMutableStyle = CSSMutableStyleDeclaration::create();
- newMutableStyle->setProperty(propertyID, newStyle,ec);
+ newMutableStyle->setProperty(propertyID, newStyle, ec);
return applyCommandToFrame(frame, source, action, newMutableStyle.get());
}
@@ -180,13 +181,13 @@ static bool executeApplyParagraphStyle(Frame* frame, EditorCommandSource source,
style->setProperty(propertyID, propertyValue);
// FIXME: We don't call shouldApplyStyle when the source is DOM; is there a good reason for that?
switch (source) {
- case CommandFromMenuOrKeyBinding:
- frame->editor()->applyParagraphStyleToSelection(style.get(), action);
- return true;
- case CommandFromDOM:
- case CommandFromDOMWithUserInterface:
- frame->editor()->applyParagraphStyle(style.get());
- return true;
+ case CommandFromMenuOrKeyBinding:
+ frame->editor()->applyParagraphStyleToSelection(style.get(), action);
+ return true;
+ case CommandFromDOM:
+ case CommandFromDOMWithUserInterface:
+ frame->editor()->applyParagraphStyle(style.get());
+ return true;
}
ASSERT_NOT_REACHED();
return false;
@@ -259,7 +260,8 @@ static int verticalScrollDistance(Frame* frame)
return 0;
if (!(style->overflowY() == OSCROLL || style->overflowY() == OAUTO || focusedNode->isContentEditable()))
return 0;
- int height = toRenderBox(renderer)->clientHeight();
+ int height = std::min<int>(toRenderBox(renderer)->clientHeight(),
+ frame->view()->visibleHeight());
return max(max<int>(height * Scrollbar::minFractionToStepWhenPaging(), height - Scrollbar::maxOverlapBetweenPages()), 1);
}
@@ -305,16 +307,16 @@ static bool executeCut(Frame* frame, Event*, EditorCommandSource, const String&)
static bool executeDelete(Frame* frame, Event*, EditorCommandSource source, const String&)
{
switch (source) {
- case CommandFromMenuOrKeyBinding:
- // Doesn't modify the text if the current selection isn't a range.
- frame->editor()->performDelete();
- return true;
- case CommandFromDOM:
- case CommandFromDOMWithUserInterface:
- // If the current selection is a caret, delete the preceding character. IE performs forwardDelete, but we currently side with Firefox.
- // Doesn't scroll to make the selection visible, or modify the kill ring (this time, siding with IE, not Firefox).
- TypingCommand::deleteKeyPressed(frame->document(), frame->selectionGranularity() == WordGranularity);
- return true;
+ case CommandFromMenuOrKeyBinding:
+ // Doesn't modify the text if the current selection isn't a range.
+ frame->editor()->performDelete();
+ return true;
+ case CommandFromDOM:
+ case CommandFromDOMWithUserInterface:
+ // If the current selection is a caret, delete the preceding character. IE performs forwardDelete, but we currently side with Firefox.
+ // Doesn't scroll to make the selection visible, or modify the kill ring (this time, siding with IE, not Firefox).
+ TypingCommand::deleteKeyPressed(frame->document(), frame->selectionGranularity() == WordGranularity);
+ return true;
}
ASSERT_NOT_REACHED();
return false;
@@ -322,32 +324,32 @@ static bool executeDelete(Frame* frame, Event*, EditorCommandSource source, cons
static bool executeDeleteBackward(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->editor()->deleteWithDirection(SelectionController::BACKWARD, CharacterGranularity, false, true);
+ frame->editor()->deleteWithDirection(SelectionController::DirectionBackward, CharacterGranularity, false, true);
return true;
}
static bool executeDeleteBackwardByDecomposingPreviousCharacter(Frame* frame, Event*, EditorCommandSource, const String&)
{
LOG_ERROR("DeleteBackwardByDecomposingPreviousCharacter is not implemented, doing DeleteBackward instead");
- frame->editor()->deleteWithDirection(SelectionController::BACKWARD, CharacterGranularity, false, true);
+ frame->editor()->deleteWithDirection(SelectionController::DirectionBackward, CharacterGranularity, false, true);
return true;
}
static bool executeDeleteForward(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->editor()->deleteWithDirection(SelectionController::FORWARD, CharacterGranularity, false, true);
+ frame->editor()->deleteWithDirection(SelectionController::DirectionForward, CharacterGranularity, false, true);
return true;
}
static bool executeDeleteToBeginningOfLine(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->editor()->deleteWithDirection(SelectionController::BACKWARD, LineBoundary, true, false);
+ frame->editor()->deleteWithDirection(SelectionController::DirectionBackward, LineBoundary, true, false);
return true;
}
static bool executeDeleteToBeginningOfParagraph(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->editor()->deleteWithDirection(SelectionController::BACKWARD, ParagraphBoundary, true, false);
+ frame->editor()->deleteWithDirection(SelectionController::DirectionBackward, ParagraphBoundary, true, false);
return true;
}
@@ -355,7 +357,7 @@ static bool executeDeleteToEndOfLine(Frame* frame, Event*, EditorCommandSource,
{
// Despite its name, this command should delete the newline at the end of
// a paragraph if you are at the end of a paragraph (like DeleteToEndOfParagraph).
- frame->editor()->deleteWithDirection(SelectionController::FORWARD, LineBoundary, true, false);
+ frame->editor()->deleteWithDirection(SelectionController::DirectionForward, LineBoundary, true, false);
return true;
}
@@ -363,7 +365,7 @@ static bool executeDeleteToEndOfParagraph(Frame* frame, Event*, EditorCommandSou
{
// Despite its name, this command should delete the newline at the end of
// a paragraph if you are at the end of a paragraph.
- frame->editor()->deleteWithDirection(SelectionController::FORWARD, ParagraphBoundary, true, false);
+ frame->editor()->deleteWithDirection(SelectionController::DirectionForward, ParagraphBoundary, true, false);
return true;
}
@@ -384,13 +386,13 @@ static bool executeDeleteToMark(Frame* frame, Event*, EditorCommandSource, const
static bool executeDeleteWordBackward(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->editor()->deleteWithDirection(SelectionController::BACKWARD, WordGranularity, true, false);
+ frame->editor()->deleteWithDirection(SelectionController::DirectionBackward, WordGranularity, true, false);
return true;
}
static bool executeDeleteWordForward(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->editor()->deleteWithDirection(SelectionController::FORWARD, WordGranularity, true, false);
+ frame->editor()->deleteWithDirection(SelectionController::DirectionForward, WordGranularity, true, false);
return true;
}
@@ -436,16 +438,16 @@ static bool executeFormatBlock(Frame* frame, Event*, EditorCommandSource, const
static bool executeForwardDelete(Frame* frame, Event*, EditorCommandSource source, const String&)
{
switch (source) {
- case CommandFromMenuOrKeyBinding:
- frame->editor()->deleteWithDirection(SelectionController::FORWARD, CharacterGranularity, false, true);
- return true;
- case CommandFromDOM:
- case CommandFromDOMWithUserInterface:
- // Doesn't scroll to make the selection visible, or modify the kill ring.
- // ForwardDelete is not implemented in IE or Firefox, so this behavior is only needed for
- // backward compatibility with ourselves, and for consistency with Delete.
- TypingCommand::forwardDeleteKeyPressed(frame->document());
- return true;
+ case CommandFromMenuOrKeyBinding:
+ frame->editor()->deleteWithDirection(SelectionController::DirectionForward, CharacterGranularity, false, true);
+ return true;
+ case CommandFromDOM:
+ case CommandFromDOMWithUserInterface:
+ // Doesn't scroll to make the selection visible, or modify the kill ring.
+ // ForwardDelete is not implemented in IE or Firefox, so this behavior is only needed for
+ // backward compatibility with ourselves, and for consistency with Delete.
+ TypingCommand::forwardDeleteKeyPressed(frame->document());
+ return true;
}
ASSERT_NOT_REACHED();
return false;
@@ -470,10 +472,10 @@ static bool executeInsertBacktab(Frame* frame, Event* event, EditorCommandSource
static bool executeInsertHorizontalRule(Frame* frame, Event*, EditorCommandSource, const String& value)
{
- RefPtr<HTMLHRElement> hr = new HTMLHRElement(hrTag, frame->document());
+ RefPtr<HTMLHRElement> rule = HTMLHRElement::create(frame->document());
if (!value.isEmpty())
- hr->setAttribute(hr->idAttributeName(), value);
- return executeInsertNode(frame, hr.release());
+ rule->setAttribute(rule->idAttributeName(), value);
+ return executeInsertNode(frame, rule.release());
}
static bool executeInsertHTML(Frame* frame, Event*, EditorCommandSource, const String& value)
@@ -484,7 +486,7 @@ static bool executeInsertHTML(Frame* frame, Event*, EditorCommandSource, const S
static bool executeInsertImage(Frame* frame, Event*, EditorCommandSource, const String& value)
{
// FIXME: If userInterface is true, we should display a dialog box and let the user choose a local image.
- RefPtr<HTMLImageElement> image = new HTMLImageElement(imgTag, frame->document());
+ RefPtr<HTMLImageElement> image = HTMLImageElement::create(frame->document());
image->setSrc(value);
return executeInsertNode(frame, image.release());
}
@@ -492,15 +494,15 @@ static bool executeInsertImage(Frame* frame, Event*, EditorCommandSource, const
static bool executeInsertLineBreak(Frame* frame, Event* event, EditorCommandSource source, const String&)
{
switch (source) {
- case CommandFromMenuOrKeyBinding:
- return targetFrame(frame, event)->eventHandler()->handleTextInputEvent("\n", event, true);
- case CommandFromDOM:
- case CommandFromDOMWithUserInterface:
- // Doesn't scroll to make the selection visible, or modify the kill ring.
- // InsertLineBreak is not implemented in IE or Firefox, so this behavior is only needed for
- // backward compatibility with ourselves, and for consistency with other commands.
- TypingCommand::insertLineBreak(frame->document());
- return true;
+ case CommandFromMenuOrKeyBinding:
+ return targetFrame(frame, event)->eventHandler()->handleTextInputEvent("\n", event, true);
+ case CommandFromDOM:
+ case CommandFromDOMWithUserInterface:
+ // Doesn't scroll to make the selection visible, or modify the kill ring.
+ // InsertLineBreak is not implemented in IE or Firefox, so this behavior is only needed for
+ // backward compatibility with ourselves, and for consistency with other commands.
+ TypingCommand::insertLineBreak(frame->document());
+ return true;
}
ASSERT_NOT_REACHED();
return false;
@@ -595,49 +597,49 @@ static bool executeMakeTextWritingDirectionRightToLeft(Frame* frame, Event*, Edi
static bool executeMoveBackward(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::MOVE, SelectionController::BACKWARD, CharacterGranularity, true);
+ frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionBackward, CharacterGranularity, true);
return true;
}
static bool executeMoveBackwardAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::EXTEND, SelectionController::BACKWARD, CharacterGranularity, true);
+ frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionBackward, CharacterGranularity, true);
return true;
}
static bool executeMoveDown(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::MOVE, SelectionController::FORWARD, LineGranularity, true);
+ frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionForward, LineGranularity, true);
return true;
}
static bool executeMoveDownAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::EXTEND, SelectionController::FORWARD, LineGranularity, true);
+ frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionForward, LineGranularity, true);
return true;
}
static bool executeMoveForward(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::MOVE, SelectionController::FORWARD, CharacterGranularity, true);
+ frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionForward, CharacterGranularity, true);
return true;
}
static bool executeMoveForwardAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::EXTEND, SelectionController::FORWARD, CharacterGranularity, true);
+ frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionForward, CharacterGranularity, true);
return true;
}
static bool executeMoveLeft(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::MOVE, SelectionController::LEFT, CharacterGranularity, true);
+ frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionLeft, CharacterGranularity, true);
return true;
}
static bool executeMoveLeftAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::EXTEND, SelectionController::LEFT, CharacterGranularity, true);
+ frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionLeft, CharacterGranularity, true);
return true;
}
@@ -646,7 +648,7 @@ static bool executeMovePageDown(Frame* frame, Event*, EditorCommandSource, const
int distance = verticalScrollDistance(frame);
if (!distance)
return false;
- return frame->selection()->modify(SelectionController::MOVE, distance, true);
+ return frame->selection()->modify(SelectionController::AlterationMove, distance, true, SelectionController::AlignCursorOnScrollAlways);
}
static bool executeMovePageDownAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
@@ -654,7 +656,7 @@ static bool executeMovePageDownAndModifySelection(Frame* frame, Event*, EditorCo
int distance = verticalScrollDistance(frame);
if (!distance)
return false;
- return frame->selection()->modify(SelectionController::EXTEND, distance, true);
+ return frame->selection()->modify(SelectionController::AlterationExtend, distance, true, SelectionController::AlignCursorOnScrollAlways);
}
static bool executeMovePageUp(Frame* frame, Event*, EditorCommandSource, const String&)
@@ -662,7 +664,7 @@ static bool executeMovePageUp(Frame* frame, Event*, EditorCommandSource, const S
int distance = verticalScrollDistance(frame);
if (!distance)
return false;
- return frame->selection()->modify(SelectionController::MOVE, -distance, true);
+ return frame->selection()->modify(SelectionController::AlterationMove, -distance, true, SelectionController::AlignCursorOnScrollAlways);
}
static bool executeMovePageUpAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
@@ -670,210 +672,210 @@ static bool executeMovePageUpAndModifySelection(Frame* frame, Event*, EditorComm
int distance = verticalScrollDistance(frame);
if (!distance)
return false;
- return frame->selection()->modify(SelectionController::EXTEND, -distance, true);
+ return frame->selection()->modify(SelectionController::AlterationExtend, -distance, true, SelectionController::AlignCursorOnScrollAlways);
}
static bool executeMoveRight(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::MOVE, SelectionController::RIGHT, CharacterGranularity, true);
+ frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionRight, CharacterGranularity, true);
return true;
}
static bool executeMoveRightAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::EXTEND, SelectionController::RIGHT, CharacterGranularity, true);
+ frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionRight, CharacterGranularity, true);
return true;
}
static bool executeMoveToBeginningOfDocument(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::MOVE, SelectionController::BACKWARD, DocumentBoundary, true);
+ frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionBackward, DocumentBoundary, true);
return true;
}
static bool executeMoveToBeginningOfDocumentAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::EXTEND, SelectionController::BACKWARD, DocumentBoundary, true);
+ frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionBackward, DocumentBoundary, true);
return true;
}
static bool executeMoveToBeginningOfLine(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::MOVE, SelectionController::BACKWARD, LineBoundary, true);
+ frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionBackward, LineBoundary, true);
return true;
}
static bool executeMoveToBeginningOfLineAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::EXTEND, SelectionController::BACKWARD, LineBoundary, true);
+ frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionBackward, LineBoundary, true);
return true;
}
static bool executeMoveToBeginningOfParagraph(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::MOVE, SelectionController::BACKWARD, ParagraphBoundary, true);
+ frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionBackward, ParagraphBoundary, true);
return true;
}
static bool executeMoveToBeginningOfParagraphAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::EXTEND, SelectionController::BACKWARD, ParagraphBoundary, true);
+ frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionBackward, ParagraphBoundary, true);
return true;
}
static bool executeMoveToBeginningOfSentence(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::MOVE, SelectionController::BACKWARD, SentenceBoundary, true);
+ frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionBackward, SentenceBoundary, true);
return true;
}
static bool executeMoveToBeginningOfSentenceAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::EXTEND, SelectionController::BACKWARD, SentenceBoundary, true);
+ frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionBackward, SentenceBoundary, true);
return true;
}
static bool executeMoveToEndOfDocument(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::MOVE, SelectionController::FORWARD, DocumentBoundary, true);
+ frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionForward, DocumentBoundary, true);
return true;
}
static bool executeMoveToEndOfDocumentAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::EXTEND, SelectionController::FORWARD, DocumentBoundary, true);
+ frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionForward, DocumentBoundary, true);
return true;
}
static bool executeMoveToEndOfSentence(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::MOVE, SelectionController::FORWARD, SentenceBoundary, true);
+ frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionForward, SentenceBoundary, true);
return true;
}
static bool executeMoveToEndOfSentenceAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::EXTEND, SelectionController::FORWARD, SentenceBoundary, true);
+ frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionForward, SentenceBoundary, true);
return true;
}
static bool executeMoveToEndOfLine(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::MOVE, SelectionController::FORWARD, LineBoundary, true);
+ frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionForward, LineBoundary, true);
return true;
}
static bool executeMoveToEndOfLineAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::EXTEND, SelectionController::FORWARD, LineBoundary, true);
+ frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionForward, LineBoundary, true);
return true;
}
static bool executeMoveToEndOfParagraph(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::MOVE, SelectionController::FORWARD, ParagraphBoundary, true);
+ frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionForward, ParagraphBoundary, true);
return true;
}
static bool executeMoveToEndOfParagraphAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::EXTEND, SelectionController::FORWARD, ParagraphBoundary, true);
+ frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionForward, ParagraphBoundary, true);
return true;
}
static bool executeMoveParagraphBackwardAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::EXTEND, SelectionController::BACKWARD, ParagraphGranularity, true);
+ frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionBackward, ParagraphGranularity, true);
return true;
}
static bool executeMoveParagraphForwardAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::EXTEND, SelectionController::FORWARD, ParagraphGranularity, true);
+ frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionForward, ParagraphGranularity, true);
return true;
}
static bool executeMoveUp(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::MOVE, SelectionController::BACKWARD, LineGranularity, true);
+ frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionBackward, LineGranularity, true);
return true;
}
static bool executeMoveUpAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::EXTEND, SelectionController::BACKWARD, LineGranularity, true);
+ frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionBackward, LineGranularity, true);
return true;
}
static bool executeMoveWordBackward(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::MOVE, SelectionController::BACKWARD, WordGranularity, true);
+ frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionBackward, WordGranularity, true);
return true;
}
static bool executeMoveWordBackwardAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::EXTEND, SelectionController::BACKWARD, WordGranularity, true);
+ frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionBackward, WordGranularity, true);
return true;
}
static bool executeMoveWordForward(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::MOVE, SelectionController::FORWARD, WordGranularity, true);
+ frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionForward, WordGranularity, true);
return true;
}
static bool executeMoveWordForwardAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::EXTEND, SelectionController::FORWARD, WordGranularity, true);
+ frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionForward, WordGranularity, true);
return true;
}
static bool executeMoveWordLeft(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::MOVE, SelectionController::LEFT, WordGranularity, true);
+ frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionLeft, WordGranularity, true);
return true;
}
static bool executeMoveWordLeftAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::EXTEND, SelectionController::LEFT, WordGranularity, true);
+ frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionLeft, WordGranularity, true);
return true;
}
static bool executeMoveWordRight(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::MOVE, SelectionController::RIGHT, WordGranularity, true);
+ frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionRight, WordGranularity, true);
return true;
}
static bool executeMoveWordRightAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::EXTEND, SelectionController::RIGHT, WordGranularity, true);
+ frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionRight, WordGranularity, true);
return true;
}
static bool executeMoveToLeftEndOfLine(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::MOVE, SelectionController::LEFT, LineBoundary, true);
+ frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionLeft, LineBoundary, true);
return true;
}
static bool executeMoveToLeftEndOfLineAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::EXTEND, SelectionController::LEFT, LineBoundary, true);
+ frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionLeft, LineBoundary, true);
return true;
}
static bool executeMoveToRightEndOfLine(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::MOVE, SelectionController::RIGHT, LineBoundary, true);
+ frame->selection()->modify(SelectionController::AlterationMove, SelectionController::DirectionRight, LineBoundary, true);
return true;
}
static bool executeMoveToRightEndOfLineAndModifySelection(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->selection()->modify(SelectionController::EXTEND, SelectionController::RIGHT, LineBoundary, true);
+ frame->selection()->modify(SelectionController::AlterationExtend, SelectionController::DirectionRight, LineBoundary, true);
return true;
}
@@ -1045,15 +1047,15 @@ static bool executeUnselect(Frame* frame, Event*, EditorCommandSource, const Str
static bool executeYank(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->editor()->insertTextWithoutSendingTextEvent(frame->editor()->yankFromKillRing(), false, 0);
- frame->editor()->setKillRingToYankedState();
+ frame->editor()->insertTextWithoutSendingTextEvent(frame->editor()->killRing()->yank(), false, 0);
+ frame->editor()->killRing()->setToYankedState();
return true;
}
static bool executeYankAndSelect(Frame* frame, Event*, EditorCommandSource, const String&)
{
- frame->editor()->insertTextWithoutSendingTextEvent(frame->editor()->yankFromKillRing(), true, 0);
- frame->editor()->setKillRingToYankedState();
+ frame->editor()->insertTextWithoutSendingTextEvent(frame->editor()->killRing()->yank(), true, 0);
+ frame->editor()->killRing()->setToYankedState();
return true;
}
@@ -1072,13 +1074,13 @@ static bool supportedFromMenuOrKeyBinding(Frame*, EditorCommandSource source)
static bool supportedCopyCut(Frame* frame, EditorCommandSource source)
{
switch (source) {
- case CommandFromMenuOrKeyBinding:
- return true;
- case CommandFromDOM:
- case CommandFromDOMWithUserInterface: {
- Settings* settings = frame ? frame->settings() : 0;
- return settings && settings->javaScriptCanAccessClipboard();
- }
+ case CommandFromMenuOrKeyBinding:
+ return true;
+ case CommandFromDOM:
+ case CommandFromDOMWithUserInterface: {
+ Settings* settings = frame ? frame->settings() : 0;
+ return settings && settings->javaScriptCanAccessClipboard();
+ }
}
ASSERT_NOT_REACHED();
return false;
@@ -1087,13 +1089,13 @@ static bool supportedCopyCut(Frame* frame, EditorCommandSource source)
static bool supportedPaste(Frame* frame, EditorCommandSource source)
{
switch (source) {
- case CommandFromMenuOrKeyBinding:
- return true;
- case CommandFromDOM:
- case CommandFromDOMWithUserInterface: {
- Settings* settings = frame ? frame->settings() : 0;
- return settings && (settings->javaScriptCanAccessClipboard() ? settings->isDOMPasteAllowed() : 0);
- }
+ case CommandFromMenuOrKeyBinding:
+ return true;
+ case CommandFromDOM:
+ case CommandFromDOMWithUserInterface: {
+ Settings* settings = frame ? frame->settings() : 0;
+ return settings && (settings->javaScriptCanAccessClipboard() ? settings->isDOMPasteAllowed() : 0);
+ }
}
ASSERT_NOT_REACHED();
return false;
@@ -1152,14 +1154,14 @@ static bool enabledCut(Frame* frame, Event*, EditorCommandSource)
static bool enabledDelete(Frame* frame, Event* event, EditorCommandSource source)
{
switch (source) {
- case CommandFromMenuOrKeyBinding:
- // "Delete" from menu only affects selected range, just like Cut but without affecting pasteboard
- return frame->editor()->canDHTMLCut() || frame->editor()->canCut();
- case CommandFromDOM:
- case CommandFromDOMWithUserInterface:
- // "Delete" from DOM is like delete/backspace keypress, affects selected range if non-empty,
- // otherwise removes a character
- return frame->editor()->selectionForCommand(event).isContentEditable();
+ case CommandFromMenuOrKeyBinding:
+ // "Delete" from menu only affects selected range, just like Cut but without affecting pasteboard
+ return frame->editor()->canDHTMLCut() || frame->editor()->canCut();
+ case CommandFromDOM:
+ case CommandFromDOMWithUserInterface:
+ // "Delete" from DOM is like delete/backspace keypress, affects selected range if non-empty,
+ // otherwise removes a character
+ return frame->editor()->selectionForCommand(event).isContentEditable();
}
ASSERT_NOT_REACHED();
return false;
@@ -1307,7 +1309,10 @@ static String valueForeColor(Frame* frame, Event*)
// Map of functions
-struct CommandEntry { const char* name; EditorInternalCommand command; };
+struct CommandEntry {
+ const char* name;
+ EditorInternalCommand command;
+};
static const CommandMap& createCommandMap()
{
diff --git a/WebCore/editing/IndentOutdentCommand.cpp b/WebCore/editing/IndentOutdentCommand.cpp
index 9830ca0..4158521 100644
--- a/WebCore/editing/IndentOutdentCommand.cpp
+++ b/WebCore/editing/IndentOutdentCommand.cpp
@@ -51,7 +51,7 @@ static String indentBlockquoteString()
static PassRefPtr<HTMLBlockquoteElement> createIndentBlockquoteElement(Document* document)
{
- RefPtr<HTMLBlockquoteElement> element = new HTMLBlockquoteElement(blockquoteTag, document);
+ RefPtr<HTMLBlockquoteElement> element = HTMLBlockquoteElement::create(document);
element->setAttribute(classAttr, indentBlockquoteString());
element->setAttribute(styleAttr, "margin: 0 0 0 40px; border: none; padding: 0px;");
return element.release();
diff --git a/WebCore/editing/InsertParagraphSeparatorCommand.cpp b/WebCore/editing/InsertParagraphSeparatorCommand.cpp
index 47c6efd..f5825b7 100644
--- a/WebCore/editing/InsertParagraphSeparatorCommand.cpp
+++ b/WebCore/editing/InsertParagraphSeparatorCommand.cpp
@@ -214,7 +214,6 @@ void InsertParagraphSeparatorCommand::doApply()
// Handle case when position is in the last visible position in its block,
// including when the block is empty.
if (isLastInBlock) {
- bool shouldApplyStyleAfterInsertion = true;
if (nestNewBlock) {
if (isFirstInBlock && !lineBreakExistsAtVisiblePosition(visiblePos)) {
// The block is empty. Create an empty block to
@@ -227,11 +226,8 @@ void InsertParagraphSeparatorCommand::doApply()
} else {
// We can get here if we pasted a copied portion of a blockquote with a newline at the end and are trying to paste it
// into an unquoted area. We then don't want the newline within the blockquote or else it will also be quoted.
- if (Node* highestBlockquote = highestEnclosingNodeOfType(canonicalPos, &isMailBlockquote)) {
+ if (Node* highestBlockquote = highestEnclosingNodeOfType(canonicalPos, &isMailBlockquote))
startBlock = static_cast<Element*>(highestBlockquote);
- // When inserting the newline after the blockquote, we don't want to apply the original style after the insertion
- shouldApplyStyleAfterInsertion = false;
- }
// Most of the time we want to stay at the nesting level of the startBlock (e.g., when nesting within lists). However,
// for div nodes, this can result in nested div tags that are hard to break out of.
diff --git a/WebCore/editing/SelectionController.cpp b/WebCore/editing/SelectionController.cpp
index db0e04d..f9b39bb 100644
--- a/WebCore/editing/SelectionController.cpp
+++ b/WebCore/editing/SelectionController.cpp
@@ -32,8 +32,8 @@
#include "Element.h"
#include "EventHandler.h"
#include "ExceptionCode.h"
-#include "FocusController.h"
#include "FloatQuad.h"
+#include "FocusController.h"
#include "Frame.h"
#include "FrameTree.h"
#include "FrameView.h"
@@ -79,9 +79,9 @@ SelectionController::SelectionController(Frame* frame, bool isDragCaretControlle
setIsDirectional(false);
}
-void SelectionController::moveTo(const VisiblePosition &pos, bool userTriggered)
+void SelectionController::moveTo(const VisiblePosition &pos, bool userTriggered, CursorAlignOnScroll align)
{
- setSelection(VisibleSelection(pos.deepEquivalent(), pos.deepEquivalent(), pos.affinity()), true, true, userTriggered);
+ setSelection(VisibleSelection(pos.deepEquivalent(), pos.deepEquivalent(), pos.affinity()), true, true, userTriggered, align);
}
void SelectionController::moveTo(const VisiblePosition &base, const VisiblePosition &extent, bool userTriggered)
@@ -105,7 +105,7 @@ void SelectionController::moveTo(const Position &base, const Position &extent, E
setSelection(VisibleSelection(base, extent, affinity), true, true, userTriggered);
}
-void SelectionController::setSelection(const VisibleSelection& s, bool closeTyping, bool clearTypingStyle, bool userTriggered, TextGranularity granularity)
+void SelectionController::setSelection(const VisibleSelection& s, bool closeTyping, bool clearTypingStyle, bool userTriggered, CursorAlignOnScroll align, TextGranularity granularity)
{
m_granularity = granularity;
@@ -161,8 +161,16 @@ void SelectionController::setSelection(const VisibleSelection& s, bool closeTypi
selectFrameElementInParentIfFullySelected();
m_frame->notifyRendererOfSelectionChange(userTriggered);
m_frame->respondToChangedSelection(oldSelection, closeTyping);
- if (userTriggered)
- m_frame->revealSelection(ScrollAlignment::alignToEdgeIfNeeded, true);
+ if (userTriggered) {
+ ScrollAlignment alignment;
+
+ if (m_frame->settings() && m_frame->settings()->editingBehavior() == EditingMacBehavior)
+ alignment = (align == AlignCursorOnScrollAlways) ? ScrollAlignment::alignCenterAlways : ScrollAlignment::alignCenterIfNeeded;
+ else
+ alignment = (align == AlignCursorOnScrollAlways) ? ScrollAlignment::alignTopAlways : ScrollAlignment::alignToEdgeIfNeeded;
+
+ m_frame->revealSelection(alignment, true);
+ }
notifyAccessibilityForSelectionChange();
}
@@ -241,7 +249,7 @@ void SelectionController::setIsDirectional(bool isDirectional)
void SelectionController::willBeModified(EAlteration alter, EDirection direction)
{
- if (alter != EXTEND)
+ if (alter != AlterationExtend)
return;
Position start = m_selection.start();
@@ -261,13 +269,13 @@ void SelectionController::willBeModified(EAlteration alter, EDirection direction
} else {
// FIXME: This is probably not correct for right and left when the direction is RTL.
switch (direction) {
- case RIGHT:
- case FORWARD:
+ case DirectionRight:
+ case DirectionForward:
m_selection.setBase(start);
m_selection.setExtent(end);
break;
- case LEFT:
- case BACKWARD:
+ case DirectionLeft:
+ case DirectionBackward:
m_selection.setBase(end);
m_selection.setExtent(start);
break;
@@ -324,27 +332,27 @@ VisiblePosition SelectionController::modifyExtendingRight(TextGranularity granul
// it extends forward logically if the enclosing block is LTR direction,
// but it extends backward logically if the enclosing block is RTL direction.
switch (granularity) {
- case CharacterGranularity:
- if (directionOfEnclosingBlock() == LTR)
- pos = pos.next(true);
- else
- pos = pos.previous(true);
- break;
- case WordGranularity:
- if (directionOfEnclosingBlock() == LTR)
- pos = nextWordPosition(pos);
- else
- pos = previousWordPosition(pos);
- break;
- case SentenceGranularity:
- case LineGranularity:
- case ParagraphGranularity:
- case SentenceBoundary:
- case LineBoundary:
- case ParagraphBoundary:
- case DocumentBoundary:
- // FIXME: implement all of the above?
- pos = modifyExtendingForward(granularity);
+ case CharacterGranularity:
+ if (directionOfEnclosingBlock() == LTR)
+ pos = pos.next(true);
+ else
+ pos = pos.previous(true);
+ break;
+ case WordGranularity:
+ if (directionOfEnclosingBlock() == LTR)
+ pos = nextWordPosition(pos);
+ else
+ pos = previousWordPosition(pos);
+ break;
+ case SentenceGranularity:
+ case LineGranularity:
+ case ParagraphGranularity:
+ case SentenceBoundary:
+ case LineBoundary:
+ case ParagraphBoundary:
+ case DocumentBoundary:
+ // FIXME: implement all of the above?
+ pos = modifyExtendingForward(granularity);
}
return pos;
}
@@ -353,39 +361,39 @@ VisiblePosition SelectionController::modifyExtendingForward(TextGranularity gran
{
VisiblePosition pos(m_selection.extent(), m_selection.affinity());
switch (granularity) {
- case CharacterGranularity:
- pos = pos.next(true);
- break;
- case WordGranularity:
- pos = nextWordPosition(pos);
- break;
- case SentenceGranularity:
- pos = nextSentencePosition(pos);
- break;
- case LineGranularity:
- pos = nextLinePosition(pos, xPosForVerticalArrowNavigation(EXTENT));
- break;
- case ParagraphGranularity:
- pos = nextParagraphPosition(pos, xPosForVerticalArrowNavigation(EXTENT));
- break;
- case SentenceBoundary:
- pos = endOfSentence(endForPlatform());
- break;
- case LineBoundary:
- pos = endForPlatform();
- pos.setAffinity(UPSTREAM);
- pos = logicalEndOfLine(pos);
- break;
- case ParagraphBoundary:
- pos = endOfParagraph(endForPlatform());
- break;
- case DocumentBoundary:
- pos = endForPlatform();
- if (isEditablePosition(pos.deepEquivalent()))
- pos = endOfEditableContent(pos);
- else
- pos = endOfDocument(pos);
- break;
+ case CharacterGranularity:
+ pos = pos.next(true);
+ break;
+ case WordGranularity:
+ pos = nextWordPosition(pos);
+ break;
+ case SentenceGranularity:
+ pos = nextSentencePosition(pos);
+ break;
+ case LineGranularity:
+ pos = nextLinePosition(pos, xPosForVerticalArrowNavigation(EXTENT));
+ break;
+ case ParagraphGranularity:
+ pos = nextParagraphPosition(pos, xPosForVerticalArrowNavigation(EXTENT));
+ break;
+ case SentenceBoundary:
+ pos = endOfSentence(endForPlatform());
+ break;
+ case LineBoundary:
+ pos = endForPlatform();
+ pos.setAffinity(UPSTREAM);
+ pos = logicalEndOfLine(pos);
+ break;
+ case ParagraphBoundary:
+ pos = endOfParagraph(endForPlatform());
+ break;
+ case DocumentBoundary:
+ pos = endForPlatform();
+ if (isEditablePosition(pos.deepEquivalent()))
+ pos = endOfEditableContent(pos);
+ else
+ pos = endOfDocument(pos);
+ break;
}
return pos;
@@ -395,23 +403,23 @@ VisiblePosition SelectionController::modifyMovingRight(TextGranularity granulari
{
VisiblePosition pos;
switch (granularity) {
- case CharacterGranularity:
- if (isRange())
- pos = VisiblePosition(m_selection.end(), m_selection.affinity());
- else
- pos = VisiblePosition(m_selection.extent(), m_selection.affinity()).right(true);
- break;
- case WordGranularity:
- case SentenceGranularity:
- case LineGranularity:
- case ParagraphGranularity:
- case SentenceBoundary:
- case LineBoundary:
- case ParagraphBoundary:
- case DocumentBoundary:
- // FIXME: Implement all of the above.
- pos = modifyMovingForward(granularity);
- break;
+ case CharacterGranularity:
+ if (isRange())
+ pos = VisiblePosition(m_selection.end(), m_selection.affinity());
+ else
+ pos = VisiblePosition(m_selection.extent(), m_selection.affinity()).right(true);
+ break;
+ case WordGranularity:
+ case SentenceGranularity:
+ case LineGranularity:
+ case ParagraphGranularity:
+ case SentenceBoundary:
+ case LineBoundary:
+ case ParagraphBoundary:
+ case DocumentBoundary:
+ // FIXME: Implement all of the above.
+ pos = modifyMovingForward(granularity);
+ break;
}
return pos;
}
@@ -421,46 +429,45 @@ VisiblePosition SelectionController::modifyMovingForward(TextGranularity granula
VisiblePosition pos;
// FIXME: Stay in editable content for the less common granularities.
switch (granularity) {
- case CharacterGranularity:
- if (isRange())
- pos = VisiblePosition(m_selection.end(), m_selection.affinity());
- else
- pos = VisiblePosition(m_selection.extent(), m_selection.affinity()).next(true);
- break;
- case WordGranularity:
- pos = nextWordPosition(VisiblePosition(m_selection.extent(), m_selection.affinity()));
- break;
- case SentenceGranularity:
- pos = nextSentencePosition(VisiblePosition(m_selection.extent(), m_selection.affinity()));
- break;
- case LineGranularity: {
- // down-arrowing from a range selection that ends at the start of a line needs
- // to leave the selection at that line start (no need to call nextLinePosition!)
- pos = endForPlatform();
- if (!isRange() || !isStartOfLine(pos))
- pos = nextLinePosition(pos, xPosForVerticalArrowNavigation(START));
- break;
- }
- case ParagraphGranularity:
- pos = nextParagraphPosition(endForPlatform(), xPosForVerticalArrowNavigation(START));
- break;
- case SentenceBoundary:
- pos = endOfSentence(endForPlatform());
- break;
- case LineBoundary:
- pos = logicalEndOfLine(endForPlatform());
- break;
- case ParagraphBoundary:
- pos = endOfParagraph(endForPlatform());
- break;
- case DocumentBoundary:
- pos = endForPlatform();
- if (isEditablePosition(pos.deepEquivalent()))
- pos = endOfEditableContent(pos);
- else
- pos = endOfDocument(pos);
- break;
-
+ case CharacterGranularity:
+ if (isRange())
+ pos = VisiblePosition(m_selection.end(), m_selection.affinity());
+ else
+ pos = VisiblePosition(m_selection.extent(), m_selection.affinity()).next(true);
+ break;
+ case WordGranularity:
+ pos = nextWordPosition(VisiblePosition(m_selection.extent(), m_selection.affinity()));
+ break;
+ case SentenceGranularity:
+ pos = nextSentencePosition(VisiblePosition(m_selection.extent(), m_selection.affinity()));
+ break;
+ case LineGranularity: {
+ // down-arrowing from a range selection that ends at the start of a line needs
+ // to leave the selection at that line start (no need to call nextLinePosition!)
+ pos = endForPlatform();
+ if (!isRange() || !isStartOfLine(pos))
+ pos = nextLinePosition(pos, xPosForVerticalArrowNavigation(START));
+ break;
+ }
+ case ParagraphGranularity:
+ pos = nextParagraphPosition(endForPlatform(), xPosForVerticalArrowNavigation(START));
+ break;
+ case SentenceBoundary:
+ pos = endOfSentence(endForPlatform());
+ break;
+ case LineBoundary:
+ pos = logicalEndOfLine(endForPlatform());
+ break;
+ case ParagraphBoundary:
+ pos = endOfParagraph(endForPlatform());
+ break;
+ case DocumentBoundary:
+ pos = endForPlatform();
+ if (isEditablePosition(pos.deepEquivalent()))
+ pos = endOfEditableContent(pos);
+ else
+ pos = endOfDocument(pos);
+ break;
}
return pos;
}
@@ -475,26 +482,26 @@ VisiblePosition SelectionController::modifyExtendingLeft(TextGranularity granula
// it extends backward logically if the enclosing block is LTR direction,
// but it extends forward logically if the enclosing block is RTL direction.
switch (granularity) {
- case CharacterGranularity:
- if (directionOfEnclosingBlock() == LTR)
- pos = pos.previous(true);
- else
- pos = pos.next(true);
- break;
- case WordGranularity:
- if (directionOfEnclosingBlock() == LTR)
- pos = previousWordPosition(pos);
- else
- pos = nextWordPosition(pos);
- break;
- case SentenceGranularity:
- case LineGranularity:
- case ParagraphGranularity:
- case SentenceBoundary:
- case LineBoundary:
- case ParagraphBoundary:
- case DocumentBoundary:
- pos = modifyExtendingBackward(granularity);
+ case CharacterGranularity:
+ if (directionOfEnclosingBlock() == LTR)
+ pos = pos.previous(true);
+ else
+ pos = pos.next(true);
+ break;
+ case WordGranularity:
+ if (directionOfEnclosingBlock() == LTR)
+ pos = previousWordPosition(pos);
+ else
+ pos = nextWordPosition(pos);
+ break;
+ case SentenceGranularity:
+ case LineGranularity:
+ case ParagraphGranularity:
+ case SentenceBoundary:
+ case LineBoundary:
+ case ParagraphBoundary:
+ case DocumentBoundary:
+ pos = modifyExtendingBackward(granularity);
}
return pos;
}
@@ -508,37 +515,37 @@ VisiblePosition SelectionController::modifyExtendingBackward(TextGranularity gra
// It was done here instead of in VisiblePosition because we want VPs to iterate
// over everything.
switch (granularity) {
- case CharacterGranularity:
- pos = pos.previous(true);
- break;
- case WordGranularity:
- pos = previousWordPosition(pos);
- break;
- case SentenceGranularity:
- pos = previousSentencePosition(pos);
- break;
- case LineGranularity:
- pos = previousLinePosition(pos, xPosForVerticalArrowNavigation(EXTENT));
- break;
- case ParagraphGranularity:
- pos = previousParagraphPosition(pos, xPosForVerticalArrowNavigation(EXTENT));
- break;
- case SentenceBoundary:
- pos = startOfSentence(startForPlatform());
- break;
- case LineBoundary:
- pos = logicalStartOfLine(startForPlatform());
- break;
- case ParagraphBoundary:
- pos = startOfParagraph(startForPlatform());
- break;
- case DocumentBoundary:
- pos = startForPlatform();
- if (isEditablePosition(pos.deepEquivalent()))
- pos = startOfEditableContent(pos);
- else
- pos = startOfDocument(pos);
- break;
+ case CharacterGranularity:
+ pos = pos.previous(true);
+ break;
+ case WordGranularity:
+ pos = previousWordPosition(pos);
+ break;
+ case SentenceGranularity:
+ pos = previousSentencePosition(pos);
+ break;
+ case LineGranularity:
+ pos = previousLinePosition(pos, xPosForVerticalArrowNavigation(EXTENT));
+ break;
+ case ParagraphGranularity:
+ pos = previousParagraphPosition(pos, xPosForVerticalArrowNavigation(EXTENT));
+ break;
+ case SentenceBoundary:
+ pos = startOfSentence(startForPlatform());
+ break;
+ case LineBoundary:
+ pos = logicalStartOfLine(startForPlatform());
+ break;
+ case ParagraphBoundary:
+ pos = startOfParagraph(startForPlatform());
+ break;
+ case DocumentBoundary:
+ pos = startForPlatform();
+ if (isEditablePosition(pos.deepEquivalent()))
+ pos = startOfEditableContent(pos);
+ else
+ pos = startOfDocument(pos);
+ break;
}
return pos;
}
@@ -547,23 +554,23 @@ VisiblePosition SelectionController::modifyMovingLeft(TextGranularity granularit
{
VisiblePosition pos;
switch (granularity) {
- case CharacterGranularity:
- if (isRange())
- pos = VisiblePosition(m_selection.start(), m_selection.affinity());
- else
- pos = VisiblePosition(m_selection.extent(), m_selection.affinity()).left(true);
- break;
- case WordGranularity:
- case SentenceGranularity:
- case LineGranularity:
- case ParagraphGranularity:
- case SentenceBoundary:
- case LineBoundary:
- case ParagraphBoundary:
- case DocumentBoundary:
- // FIXME: Implement all of the above.
- pos = modifyMovingBackward(granularity);
- break;
+ case CharacterGranularity:
+ if (isRange())
+ pos = VisiblePosition(m_selection.start(), m_selection.affinity());
+ else
+ pos = VisiblePosition(m_selection.extent(), m_selection.affinity()).left(true);
+ break;
+ case WordGranularity:
+ case SentenceGranularity:
+ case LineGranularity:
+ case ParagraphGranularity:
+ case SentenceBoundary:
+ case LineBoundary:
+ case ParagraphBoundary:
+ case DocumentBoundary:
+ // FIXME: Implement all of the above.
+ pos = modifyMovingBackward(granularity);
+ break;
}
return pos;
}
@@ -572,40 +579,40 @@ VisiblePosition SelectionController::modifyMovingBackward(TextGranularity granul
{
VisiblePosition pos;
switch (granularity) {
- case CharacterGranularity:
- if (isRange())
- pos = VisiblePosition(m_selection.start(), m_selection.affinity());
- else
- pos = VisiblePosition(m_selection.extent(), m_selection.affinity()).previous(true);
- break;
- case WordGranularity:
- pos = previousWordPosition(VisiblePosition(m_selection.extent(), m_selection.affinity()));
- break;
- case SentenceGranularity:
- pos = previousSentencePosition(VisiblePosition(m_selection.extent(), m_selection.affinity()));
- break;
- case LineGranularity:
- pos = previousLinePosition(startForPlatform(), xPosForVerticalArrowNavigation(START));
- break;
- case ParagraphGranularity:
- pos = previousParagraphPosition(startForPlatform(), xPosForVerticalArrowNavigation(START));
- break;
- case SentenceBoundary:
- pos = startOfSentence(startForPlatform());
- break;
- case LineBoundary:
- pos = logicalStartOfLine(startForPlatform());
- break;
- case ParagraphBoundary:
- pos = startOfParagraph(startForPlatform());
- break;
- case DocumentBoundary:
- pos = startForPlatform();
- if (isEditablePosition(pos.deepEquivalent()))
- pos = startOfEditableContent(pos);
- else
- pos = startOfDocument(pos);
- break;
+ case CharacterGranularity:
+ if (isRange())
+ pos = VisiblePosition(m_selection.start(), m_selection.affinity());
+ else
+ pos = VisiblePosition(m_selection.extent(), m_selection.affinity()).previous(true);
+ break;
+ case WordGranularity:
+ pos = previousWordPosition(VisiblePosition(m_selection.extent(), m_selection.affinity()));
+ break;
+ case SentenceGranularity:
+ pos = previousSentencePosition(VisiblePosition(m_selection.extent(), m_selection.affinity()));
+ break;
+ case LineGranularity:
+ pos = previousLinePosition(startForPlatform(), xPosForVerticalArrowNavigation(START));
+ break;
+ case ParagraphGranularity:
+ pos = previousParagraphPosition(startForPlatform(), xPosForVerticalArrowNavigation(START));
+ break;
+ case SentenceBoundary:
+ pos = startOfSentence(startForPlatform());
+ break;
+ case LineBoundary:
+ pos = logicalStartOfLine(startForPlatform());
+ break;
+ case ParagraphBoundary:
+ pos = startOfParagraph(startForPlatform());
+ break;
+ case DocumentBoundary:
+ pos = startForPlatform();
+ if (isEditablePosition(pos.deepEquivalent()))
+ pos = startOfEditableContent(pos);
+ else
+ pos = startOfDocument(pos);
+ break;
}
return pos;
}
@@ -638,30 +645,30 @@ bool SelectionController::modify(EAlteration alter, EDirection direction, TextGr
VisiblePosition position;
switch (direction) {
- case RIGHT:
- if (alter == MOVE)
- position = modifyMovingRight(granularity);
- else
- position = modifyExtendingRight(granularity);
- break;
- case FORWARD:
- if (alter == EXTEND)
- position = modifyExtendingForward(granularity);
- else
- position = modifyMovingForward(granularity);
- break;
- case LEFT:
- if (alter == MOVE)
- position = modifyMovingLeft(granularity);
- else
- position = modifyExtendingLeft(granularity);
- break;
- case BACKWARD:
- if (alter == EXTEND)
- position = modifyExtendingBackward(granularity);
- else
- position = modifyMovingBackward(granularity);
- break;
+ case DirectionRight:
+ if (alter == AlterationMove)
+ position = modifyMovingRight(granularity);
+ else
+ position = modifyExtendingRight(granularity);
+ break;
+ case DirectionForward:
+ if (alter == AlterationExtend)
+ position = modifyExtendingForward(granularity);
+ else
+ position = modifyMovingForward(granularity);
+ break;
+ case DirectionLeft:
+ if (alter == AlterationMove)
+ position = modifyMovingLeft(granularity);
+ else
+ position = modifyExtendingLeft(granularity);
+ break;
+ case DirectionBackward:
+ if (alter == AlterationExtend)
+ position = modifyExtendingBackward(granularity);
+ else
+ position = modifyMovingBackward(granularity);
+ break;
}
if (position.isNull())
@@ -674,20 +681,20 @@ bool SelectionController::modify(EAlteration alter, EDirection direction, TextGr
int x = xPosForVerticalArrowNavigation(START);
switch (alter) {
- case MOVE:
- moveTo(position, userTriggered);
- break;
- case EXTEND:
- if (!settings || settings->editingBehavior() != EditingMacBehavior || m_selection.isCaret() || !isBoundary(granularity))
- setExtent(position, userTriggered);
- else {
- // Standard Mac behavior when extending to a boundary is grow the selection rather
- // than leaving the base in place and moving the extent. Matches NSTextView.
- if (direction == FORWARD || direction == RIGHT)
- setEnd(position, userTriggered);
- else
- setStart(position, userTriggered);
- }
+ case AlterationMove:
+ moveTo(position, userTriggered);
+ break;
+ case AlterationExtend:
+ if (!settings || settings->editingBehavior() != EditingMacBehavior || m_selection.isCaret() || !isBoundary(granularity))
+ setExtent(position, userTriggered);
+ else {
+ // Standard Mac behavior when extending to a boundary is grow the selection rather
+ // than leaving the base in place and moving the extent. Matches NSTextView.
+ if (direction == DirectionForward || direction == DirectionRight)
+ setEnd(position, userTriggered);
+ else
+ setStart(position, userTriggered);
+ }
}
if (granularity == LineGranularity || granularity == ParagraphGranularity)
@@ -699,7 +706,7 @@ bool SelectionController::modify(EAlteration alter, EDirection direction, TextGr
setNeedsLayout();
- setIsDirectional(alter == EXTEND);
+ setIsDirectional(alter == AlterationExtend);
return true;
}
@@ -714,9 +721,9 @@ static bool absoluteCaretY(const VisiblePosition &c, int &y)
return true;
}
-bool SelectionController::modify(EAlteration alter, int verticalDistance, bool userTriggered)
+bool SelectionController::modify(EAlteration alter, int verticalDistance, bool userTriggered, CursorAlignOnScroll align)
{
- if (verticalDistance == 0)
+ if (!verticalDistance)
return false;
if (userTriggered) {
@@ -734,21 +741,21 @@ bool SelectionController::modify(EAlteration alter, int verticalDistance, bool u
if (up)
verticalDistance = -verticalDistance;
- willBeModified(alter, up ? BACKWARD : FORWARD);
+ willBeModified(alter, up ? DirectionBackward : DirectionForward);
VisiblePosition pos;
int xPos = 0;
switch (alter) {
- case MOVE:
- pos = VisiblePosition(up ? m_selection.start() : m_selection.end(), m_selection.affinity());
- xPos = xPosForVerticalArrowNavigation(up ? START : END);
- m_selection.setAffinity(up ? UPSTREAM : DOWNSTREAM);
- break;
- case EXTEND:
- pos = VisiblePosition(m_selection.extent(), m_selection.affinity());
- xPos = xPosForVerticalArrowNavigation(EXTENT);
- m_selection.setAffinity(DOWNSTREAM);
- break;
+ case AlterationMove:
+ pos = VisiblePosition(up ? m_selection.start() : m_selection.end(), m_selection.affinity());
+ xPos = xPosForVerticalArrowNavigation(up ? START : END);
+ m_selection.setAffinity(up ? UPSTREAM : DOWNSTREAM);
+ break;
+ case AlterationExtend:
+ pos = VisiblePosition(m_selection.extent(), m_selection.affinity());
+ xPos = xPosForVerticalArrowNavigation(EXTENT);
+ m_selection.setAffinity(DOWNSTREAM);
+ break;
}
int startY;
@@ -781,18 +788,18 @@ bool SelectionController::modify(EAlteration alter, int verticalDistance, bool u
return false;
switch (alter) {
- case MOVE:
- moveTo(result, userTriggered);
- break;
- case EXTEND:
- setExtent(result, userTriggered);
- break;
+ case AlterationMove:
+ moveTo(result, userTriggered, align);
+ break;
+ case AlterationExtend:
+ setExtent(result, userTriggered);
+ break;
}
if (userTriggered)
m_granularity = CharacterGranularity;
- setIsDirectional(alter == EXTEND);
+ setIsDirectional(alter == AlterationExtend);
return true;
}
@@ -806,21 +813,21 @@ int SelectionController::xPosForVerticalArrowNavigation(EPositionType type)
Position pos;
switch (type) {
- case START:
- pos = m_selection.start();
- break;
- case END:
- pos = m_selection.end();
- break;
- case BASE:
- pos = m_selection.base();
- break;
- case EXTENT:
- pos = m_selection.extent();
- break;
+ case START:
+ pos = m_selection.start();
+ break;
+ case END:
+ pos = m_selection.end();
+ break;
+ case BASE:
+ pos = m_selection.base();
+ break;
+ case EXTENT:
+ pos = m_selection.extent();
+ break;
}
- Frame *frame = pos.node()->document()->frame();
+ Frame* frame = pos.node()->document()->frame();
if (!frame)
return x;
@@ -830,8 +837,7 @@ int SelectionController::xPosForVerticalArrowNavigation(EPositionType type)
// after the selection is created and before this function is called.
x = visiblePosition.isNotNull() ? visiblePosition.xOffsetForVerticalNavigation() : 0;
m_xPosForVerticalArrowNavigation = x;
- }
- else
+ } else
x = m_xPosForVerticalArrowNavigation;
return x;
@@ -1098,12 +1104,11 @@ void SelectionController::paintCaret(GraphicsContext* context, int tx, int ty, c
void SelectionController::debugRenderer(RenderObject *r, bool selected) const
{
if (r->node()->isElementNode()) {
- Element *element = static_cast<Element *>(r->node());
+ Element* element = static_cast<Element *>(r->node());
fprintf(stderr, "%s%s\n", selected ? "==> " : " ", element->localName().string().utf8().data());
- }
- else if (r->isText()) {
+ } else if (r->isText()) {
RenderText* textRenderer = toRenderText(r);
- if (textRenderer->textLength() == 0 || !textRenderer->firstTextBox()) {
+ if (!textRenderer->textLength() || !textRenderer->firstTextBox()) {
fprintf(stderr, "%s#text (empty)\n", selected ? "==> " : " ");
return;
}
@@ -1119,7 +1124,7 @@ void SelectionController::debugRenderer(RenderObject *r, bool selected) const
offset = m_selection.end().deprecatedEditingOffset();
int pos;
- InlineTextBox *box = textRenderer->findNextInlineTextBox(offset, pos);
+ InlineTextBox* box = textRenderer->findNextInlineTextBox(offset, pos);
text = text.substring(box->start(), box->len());
String show;
@@ -1130,22 +1135,16 @@ void SelectionController::debugRenderer(RenderObject *r, bool selected) const
if (textLength < max) {
show = text;
caret = pos;
- }
-
- // too few characters to left
- else if (pos - mid < 0) {
+ } else if (pos - mid < 0) {
+ // too few characters to left
show = text.left(max - 3) + "...";
caret = pos;
- }
-
- // enough characters on each side
- else if (pos - mid >= 0 && pos + mid <= textLength) {
+ } else if (pos - mid >= 0 && pos + mid <= textLength) {
+ // enough characters on each side
show = "..." + text.substring(pos - mid + 3, max - 6) + "...";
caret = mid;
- }
-
- // too few characters on right
- else {
+ } else {
+ // too few characters on right
show = "..." + text.right(max - 3);
caret = pos - (textLength - show.length());
}
@@ -1157,8 +1156,7 @@ void SelectionController::debugRenderer(RenderObject *r, bool selected) const
for (int i = 0; i < caret; i++)
fprintf(stderr, " ");
fprintf(stderr, "^\n");
- }
- else {
+ } else {
if ((int)text.length() > max)
text = text.left(max - 3) + "...";
else
diff --git a/WebCore/editing/SelectionController.h b/WebCore/editing/SelectionController.h
index 9a407fc..e4c2964 100644
--- a/WebCore/editing/SelectionController.h
+++ b/WebCore/editing/SelectionController.h
@@ -43,8 +43,10 @@ class VisiblePosition;
class SelectionController : public Noncopyable {
public:
- enum EAlteration { MOVE, EXTEND };
- enum EDirection { FORWARD, BACKWARD, RIGHT, LEFT };
+ enum EAlteration { AlterationMove, AlterationExtend };
+ enum EDirection { DirectionForward, DirectionBackward, DirectionRight, DirectionLeft };
+ enum CursorAlignOnScroll { AlignCursorOnScrollIfNeeded,
+ AlignCursorOnScrollAlways };
SelectionController(Frame* = 0, bool isDragCaretController = false);
@@ -54,14 +56,14 @@ public:
Node* shadowTreeRootNode() const { return m_selection.shadowTreeRootNode(); }
void moveTo(const Range*, EAffinity, bool userTriggered = false);
- void moveTo(const VisiblePosition&, bool userTriggered = false);
+ void moveTo(const VisiblePosition&, bool userTriggered = false, CursorAlignOnScroll = AlignCursorOnScrollIfNeeded);
void moveTo(const VisiblePosition&, const VisiblePosition&, bool userTriggered = false);
void moveTo(const Position&, EAffinity, bool userTriggered = false);
void moveTo(const Position&, const Position&, EAffinity, bool userTriggered = false);
const VisibleSelection& selection() const { return m_selection; }
- void setSelection(const VisibleSelection&, bool closeTyping = true, bool clearTypingStyle = true, bool userTriggered = false, TextGranularity = CharacterGranularity);
- void setSelection(const VisibleSelection& selection, TextGranularity granularity) { setSelection(selection, true, true, false, granularity); }
+ void setSelection(const VisibleSelection&, bool closeTyping = true, bool clearTypingStyle = true, bool userTriggered = false, CursorAlignOnScroll = AlignCursorOnScrollIfNeeded, TextGranularity = CharacterGranularity);
+ void setSelection(const VisibleSelection& selection, TextGranularity granularity) { setSelection(selection, true, true, false, AlignCursorOnScrollIfNeeded, granularity); }
bool setSelectedRange(Range*, EAffinity, bool closeTyping);
void selectAll();
void clear();
@@ -76,7 +78,7 @@ public:
EAffinity affinity() const { return m_selection.affinity(); }
bool modify(EAlteration, EDirection, TextGranularity, bool userTriggered = false);
- bool modify(EAlteration, int verticalDistance, bool userTriggered = false);
+ bool modify(EAlteration, int verticalDistance, bool userTriggered = false, CursorAlignOnScroll = AlignCursorOnScrollIfNeeded);
TextGranularity granularity() const { return m_granularity; }
void setStart(const VisiblePosition &, bool userTriggered = false);
diff --git a/WebCore/editing/TypingCommand.cpp b/WebCore/editing/TypingCommand.cpp
index 1c9db90..7680084 100644
--- a/WebCore/editing/TypingCommand.cpp
+++ b/WebCore/editing/TypingCommand.cpp
@@ -86,7 +86,7 @@ void TypingCommand::deleteKeyPressed(Document *document, bool smartDelete, TextG
{
ASSERT(document);
- Frame *frame = document->frame();
+ Frame* frame = document->frame();
ASSERT(frame);
EditCommand* lastEditCommand = frame->editor()->lastEditCommand();
@@ -105,7 +105,7 @@ void TypingCommand::forwardDeleteKeyPressed(Document *document, bool smartDelete
// FIXME: Forward delete in TextEdit appears to open and close a new typing command.
ASSERT(document);
- Frame *frame = document->frame();
+ Frame* frame = document->frame();
ASSERT(frame);
EditCommand* lastEditCommand = frame->editor()->lastEditCommand();
@@ -187,7 +187,7 @@ void TypingCommand::insertLineBreak(Document *document)
{
ASSERT(document);
- Frame *frame = document->frame();
+ Frame* frame = document->frame();
ASSERT(frame);
EditCommand* lastEditCommand = frame->editor()->lastEditCommand();
@@ -203,7 +203,7 @@ void TypingCommand::insertParagraphSeparatorInQuotedContent(Document *document)
{
ASSERT(document);
- Frame *frame = document->frame();
+ Frame* frame = document->frame();
ASSERT(frame);
EditCommand* lastEditCommand = frame->editor()->lastEditCommand();
@@ -219,7 +219,7 @@ void TypingCommand::insertParagraphSeparator(Document *document)
{
ASSERT(document);
- Frame *frame = document->frame();
+ Frame* frame = document->frame();
ASSERT(frame);
EditCommand* lastEditCommand = frame->editor()->lastEditCommand();
@@ -252,27 +252,27 @@ void TypingCommand::doApply()
m_openedByBackwardDelete = true;
switch (m_commandType) {
- case DeleteSelection:
- deleteSelection(m_smartDelete);
- return;
- case DeleteKey:
- deleteKeyPressed(m_granularity, m_killRing);
- return;
- case ForwardDeleteKey:
- forwardDeleteKeyPressed(m_granularity, m_killRing);
- return;
- case InsertLineBreak:
- insertLineBreak();
- return;
- case InsertParagraphSeparator:
- insertParagraphSeparator();
- return;
- case InsertParagraphSeparatorInQuotedContent:
- insertParagraphSeparatorInQuotedContent();
- return;
- case InsertText:
- insertText(m_textToInsert, m_selectInsertedText);
- return;
+ case DeleteSelection:
+ deleteSelection(m_smartDelete);
+ return;
+ case DeleteKey:
+ deleteKeyPressed(m_granularity, m_killRing);
+ return;
+ case ForwardDeleteKey:
+ forwardDeleteKeyPressed(m_granularity, m_killRing);
+ return;
+ case InsertLineBreak:
+ insertLineBreak();
+ return;
+ case InsertParagraphSeparator:
+ insertParagraphSeparator();
+ return;
+ case InsertParagraphSeparatorInQuotedContent:
+ insertParagraphSeparatorInQuotedContent();
+ return;
+ case InsertText:
+ insertText(m_textToInsert, m_selectInsertedText);
+ return;
}
ASSERT_NOT_REACHED();
@@ -340,13 +340,12 @@ void TypingCommand::insertText(const String &text, bool selectInsertedText)
insertParagraphSeparator();
offset = newline + 1;
}
- if (offset == 0)
+ if (!offset)
insertTextRunWithoutNewlines(text, selectInsertedText);
else {
int length = text.length();
- if (length != offset) {
+ if (length != offset)
insertTextRunWithoutNewlines(text.substring(offset, length - offset), selectInsertedText);
- }
}
}
@@ -418,75 +417,75 @@ void TypingCommand::deleteKeyPressed(TextGranularity granularity, bool killRing)
VisibleSelection selectionAfterUndo;
switch (endingSelection().selectionType()) {
- case VisibleSelection::RangeSelection:
- selectionToDelete = endingSelection();
- selectionAfterUndo = selectionToDelete;
- break;
- case VisibleSelection::CaretSelection: {
- // After breaking out of an empty mail blockquote, we still want continue with the deletion
- // so actual content will get deleted, and not just the quote style.
- if (breakOutOfEmptyMailBlockquotedParagraph())
+ case VisibleSelection::RangeSelection:
+ selectionToDelete = endingSelection();
+ selectionAfterUndo = selectionToDelete;
+ break;
+ case VisibleSelection::CaretSelection: {
+ // After breaking out of an empty mail blockquote, we still want continue with the deletion
+ // so actual content will get deleted, and not just the quote style.
+ if (breakOutOfEmptyMailBlockquotedParagraph())
+ typingAddedToOpenCommand(DeleteKey);
+
+ m_smartDelete = false;
+
+ SelectionController selection;
+ selection.setSelection(endingSelection());
+ selection.modify(SelectionController::AlterationExtend, SelectionController::DirectionBackward, granularity);
+ if (killRing && selection.isCaret() && granularity != CharacterGranularity)
+ selection.modify(SelectionController::AlterationExtend, SelectionController::DirectionBackward, CharacterGranularity);
+
+ if (endingSelection().visibleStart().previous(true).isNull()) {
+ // When the caret is at the start of the editable area in an empty list item, break out of the list item.
+ if (breakOutOfEmptyListItem()) {
typingAddedToOpenCommand(DeleteKey);
-
- m_smartDelete = false;
-
- SelectionController selection;
- selection.setSelection(endingSelection());
- selection.modify(SelectionController::EXTEND, SelectionController::BACKWARD, granularity);
- if (killRing && selection.isCaret() && granularity != CharacterGranularity)
- selection.modify(SelectionController::EXTEND, SelectionController::BACKWARD, CharacterGranularity);
-
- if (endingSelection().visibleStart().previous(true).isNull()) {
- // When the caret is at the start of the editable area in an empty list item, break out of the list item.
- if (breakOutOfEmptyListItem()) {
- typingAddedToOpenCommand(DeleteKey);
- return;
- }
- // When there are no visible positions in the editing root, delete its entire contents.
- if (endingSelection().visibleStart().next(true).isNull() && makeEditableRootEmpty()) {
- typingAddedToOpenCommand(DeleteKey);
- return;
- }
- }
-
- VisiblePosition visibleStart(endingSelection().visibleStart());
- // If we have a caret selection on an empty cell, we have nothing to do.
- if (isEmptyTableCell(visibleStart.deepEquivalent().node()))
return;
-
- // If the caret is at the start of a paragraph after a table, move content into the last table cell.
- if (isStartOfParagraph(visibleStart) && isFirstPositionAfterTable(visibleStart.previous(true))) {
- // Unless the caret is just before a table. We don't want to move a table into the last table cell.
- if (isLastPositionBeforeTable(visibleStart))
- return;
- // Extend the selection backward into the last cell, then deletion will handle the move.
- selection.modify(SelectionController::EXTEND, SelectionController::BACKWARD, granularity);
- // If the caret is just after a table, select the table and don't delete anything.
- } else if (Node* table = isFirstPositionAfterTable(visibleStart)) {
- setEndingSelection(VisibleSelection(Position(table, 0), endingSelection().start(), DOWNSTREAM));
+ }
+ // When there are no visible positions in the editing root, delete its entire contents.
+ if (endingSelection().visibleStart().next(true).isNull() && makeEditableRootEmpty()) {
typingAddedToOpenCommand(DeleteKey);
return;
}
+ }
- selectionToDelete = selection.selection();
+ VisiblePosition visibleStart(endingSelection().visibleStart());
+ // If we have a caret selection on an empty cell, we have nothing to do.
+ if (isEmptyTableCell(visibleStart.deepEquivalent().node()))
+ return;
- if (granularity == CharacterGranularity && selectionToDelete.end().node() == selectionToDelete.start().node() && selectionToDelete.end().deprecatedEditingOffset() - selectionToDelete.start().deprecatedEditingOffset() > 1) {
- // If there are multiple Unicode code points to be deleted, adjust the range to match platform conventions.
- selectionToDelete.setWithoutValidation(selectionToDelete.end(), selectionToDelete.end().previous(BackwardDeletion));
- }
+ // If the caret is at the start of a paragraph after a table, move content into the last table cell.
+ if (isStartOfParagraph(visibleStart) && isFirstPositionAfterTable(visibleStart.previous(true))) {
+ // Unless the caret is just before a table. We don't want to move a table into the last table cell.
+ if (isLastPositionBeforeTable(visibleStart))
+ return;
+ // Extend the selection backward into the last cell, then deletion will handle the move.
+ selection.modify(SelectionController::AlterationExtend, SelectionController::DirectionBackward, granularity);
+ // If the caret is just after a table, select the table and don't delete anything.
+ } else if (Node* table = isFirstPositionAfterTable(visibleStart)) {
+ setEndingSelection(VisibleSelection(Position(table, 0), endingSelection().start(), DOWNSTREAM));
+ typingAddedToOpenCommand(DeleteKey);
+ return;
+ }
+
+ selectionToDelete = selection.selection();
- if (!startingSelection().isRange() || selectionToDelete.base() != startingSelection().start())
- selectionAfterUndo = selectionToDelete;
- else
- // It's a little tricky to compute what the starting selection would have been in the original document.
- // We can't let the VisibleSelection class's validation kick in or it'll adjust for us based on
- // the current state of the document and we'll get the wrong result.
- selectionAfterUndo.setWithoutValidation(startingSelection().end(), selectionToDelete.extent());
- break;
+ if (granularity == CharacterGranularity && selectionToDelete.end().node() == selectionToDelete.start().node() && selectionToDelete.end().deprecatedEditingOffset() - selectionToDelete.start().deprecatedEditingOffset() > 1) {
+ // If there are multiple Unicode code points to be deleted, adjust the range to match platform conventions.
+ selectionToDelete.setWithoutValidation(selectionToDelete.end(), selectionToDelete.end().previous(BackwardDeletion));
}
- case VisibleSelection::NoSelection:
- ASSERT_NOT_REACHED();
- break;
+
+ if (!startingSelection().isRange() || selectionToDelete.base() != startingSelection().start())
+ selectionAfterUndo = selectionToDelete;
+ else
+ // It's a little tricky to compute what the starting selection would have been in the original document.
+ // We can't let the VisibleSelection class's validation kick in or it'll adjust for us based on
+ // the current state of the document and we'll get the wrong result.
+ selectionAfterUndo.setWithoutValidation(startingSelection().end(), selectionToDelete.extent());
+ break;
+ }
+ case VisibleSelection::NoSelection:
+ ASSERT_NOT_REACHED();
+ break;
}
ASSERT(!selectionToDelete.isNone());
@@ -514,62 +513,62 @@ void TypingCommand::forwardDeleteKeyPressed(TextGranularity granularity, bool ki
VisibleSelection selectionAfterUndo;
switch (endingSelection().selectionType()) {
- case VisibleSelection::RangeSelection:
- selectionToDelete = endingSelection();
- selectionAfterUndo = selectionToDelete;
- break;
- case VisibleSelection::CaretSelection: {
- m_smartDelete = false;
-
- // Handle delete at beginning-of-block case.
- // Do nothing in the case that the caret is at the start of a
- // root editable element or at the start of a document.
- SelectionController selection;
- selection.setSelection(endingSelection());
- selection.modify(SelectionController::EXTEND, SelectionController::FORWARD, granularity);
- if (killRing && selection.isCaret() && granularity != CharacterGranularity)
- selection.modify(SelectionController::EXTEND, SelectionController::FORWARD, CharacterGranularity);
-
- Position downstreamEnd = endingSelection().end().downstream();
- VisiblePosition visibleEnd = endingSelection().visibleEnd();
- if (visibleEnd == endOfParagraph(visibleEnd))
- downstreamEnd = visibleEnd.next(true).deepEquivalent().downstream();
- // When deleting tables: Select the table first, then perform the deletion
- if (downstreamEnd.node() && downstreamEnd.node()->renderer() && downstreamEnd.node()->renderer()->isTable() && downstreamEnd.deprecatedEditingOffset() == 0) {
- setEndingSelection(VisibleSelection(endingSelection().end(), lastDeepEditingPositionForNode(downstreamEnd.node()), DOWNSTREAM));
- typingAddedToOpenCommand(ForwardDeleteKey);
- return;
- }
+ case VisibleSelection::RangeSelection:
+ selectionToDelete = endingSelection();
+ selectionAfterUndo = selectionToDelete;
+ break;
+ case VisibleSelection::CaretSelection: {
+ m_smartDelete = false;
+
+ // Handle delete at beginning-of-block case.
+ // Do nothing in the case that the caret is at the start of a
+ // root editable element or at the start of a document.
+ SelectionController selection;
+ selection.setSelection(endingSelection());
+ selection.modify(SelectionController::AlterationExtend, SelectionController::DirectionForward, granularity);
+ if (killRing && selection.isCaret() && granularity != CharacterGranularity)
+ selection.modify(SelectionController::AlterationExtend, SelectionController::DirectionForward, CharacterGranularity);
+
+ Position downstreamEnd = endingSelection().end().downstream();
+ VisiblePosition visibleEnd = endingSelection().visibleEnd();
+ if (visibleEnd == endOfParagraph(visibleEnd))
+ downstreamEnd = visibleEnd.next(true).deepEquivalent().downstream();
+ // When deleting tables: Select the table first, then perform the deletion
+ if (downstreamEnd.node() && downstreamEnd.node()->renderer() && downstreamEnd.node()->renderer()->isTable() && !downstreamEnd.deprecatedEditingOffset()) {
+ setEndingSelection(VisibleSelection(endingSelection().end(), lastDeepEditingPositionForNode(downstreamEnd.node()), DOWNSTREAM));
+ typingAddedToOpenCommand(ForwardDeleteKey);
+ return;
+ }
- // deleting to end of paragraph when at end of paragraph needs to merge the next paragraph (if any)
- if (granularity == ParagraphBoundary && selection.selection().isCaret() && isEndOfParagraph(selection.selection().visibleEnd()))
- selection.modify(SelectionController::EXTEND, SelectionController::FORWARD, CharacterGranularity);
+ // deleting to end of paragraph when at end of paragraph needs to merge the next paragraph (if any)
+ if (granularity == ParagraphBoundary && selection.selection().isCaret() && isEndOfParagraph(selection.selection().visibleEnd()))
+ selection.modify(SelectionController::AlterationExtend, SelectionController::DirectionForward, CharacterGranularity);
- selectionToDelete = selection.selection();
- if (!startingSelection().isRange() || selectionToDelete.base() != startingSelection().start())
- selectionAfterUndo = selectionToDelete;
+ selectionToDelete = selection.selection();
+ if (!startingSelection().isRange() || selectionToDelete.base() != startingSelection().start())
+ selectionAfterUndo = selectionToDelete;
+ else {
+ // It's a little tricky to compute what the starting selection would have been in the original document.
+ // We can't let the VisibleSelection class's validation kick in or it'll adjust for us based on
+ // the current state of the document and we'll get the wrong result.
+ Position extent = startingSelection().end();
+ if (extent.node() != selectionToDelete.end().node())
+ extent = selectionToDelete.extent();
else {
- // It's a little tricky to compute what the starting selection would have been in the original document.
- // We can't let the VisibleSelection class's validation kick in or it'll adjust for us based on
- // the current state of the document and we'll get the wrong result.
- Position extent = startingSelection().end();
- if (extent.node() != selectionToDelete.end().node())
- extent = selectionToDelete.extent();
- else {
- int extraCharacters;
- if (selectionToDelete.start().node() == selectionToDelete.end().node())
- extraCharacters = selectionToDelete.end().deprecatedEditingOffset() - selectionToDelete.start().deprecatedEditingOffset();
- else
- extraCharacters = selectionToDelete.end().deprecatedEditingOffset();
- extent = Position(extent.node(), extent.deprecatedEditingOffset() + extraCharacters);
- }
- selectionAfterUndo.setWithoutValidation(startingSelection().start(), extent);
+ int extraCharacters;
+ if (selectionToDelete.start().node() == selectionToDelete.end().node())
+ extraCharacters = selectionToDelete.end().deprecatedEditingOffset() - selectionToDelete.start().deprecatedEditingOffset();
+ else
+ extraCharacters = selectionToDelete.end().deprecatedEditingOffset();
+ extent = Position(extent.node(), extent.deprecatedEditingOffset() + extraCharacters);
}
- break;
+ selectionAfterUndo.setWithoutValidation(startingSelection().start(), extent);
}
- case VisibleSelection::NoSelection:
- ASSERT_NOT_REACHED();
- break;
+ break;
+ }
+ case VisibleSelection::NoSelection:
+ ASSERT_NOT_REACHED();
+ break;
}
ASSERT(!selectionToDelete.isNone());
@@ -597,17 +596,17 @@ void TypingCommand::deleteSelection(bool smartDelete)
void TypingCommand::updatePreservesTypingStyle(ETypingCommand commandType)
{
switch (commandType) {
- case DeleteSelection:
- case DeleteKey:
- case ForwardDeleteKey:
- case InsertParagraphSeparator:
- case InsertLineBreak:
- m_preservesTypingStyle = true;
- return;
- case InsertParagraphSeparatorInQuotedContent:
- case InsertText:
- m_preservesTypingStyle = false;
- return;
+ case DeleteSelection:
+ case DeleteKey:
+ case ForwardDeleteKey:
+ case InsertParagraphSeparator:
+ case InsertLineBreak:
+ m_preservesTypingStyle = true;
+ return;
+ case InsertParagraphSeparatorInQuotedContent:
+ case InsertText:
+ m_preservesTypingStyle = false;
+ return;
}
ASSERT_NOT_REACHED();
m_preservesTypingStyle = false;
diff --git a/WebCore/editing/htmlediting.cpp b/WebCore/editing/htmlediting.cpp
index b7a062b..3356ed9 100644
--- a/WebCore/editing/htmlediting.cpp
+++ b/WebCore/editing/htmlediting.cpp
@@ -874,27 +874,27 @@ bool isEmptyTableCell(const Node* node)
PassRefPtr<HTMLElement> createDefaultParagraphElement(Document* document)
{
- return new HTMLDivElement(divTag, document);
+ return HTMLDivElement::create(document);
}
PassRefPtr<HTMLElement> createBreakElement(Document* document)
{
- return new HTMLBRElement(brTag, document);
+ return HTMLBRElement::create(document);
}
PassRefPtr<HTMLElement> createOrderedListElement(Document* document)
{
- return new HTMLOListElement(olTag, document);
+ return HTMLOListElement::create(document);
}
PassRefPtr<HTMLElement> createUnorderedListElement(Document* document)
{
- return new HTMLUListElement(ulTag, document);
+ return HTMLUListElement::create(document);
}
PassRefPtr<HTMLElement> createListItemElement(Document* document)
{
- return new HTMLLIElement(liTag, document);
+ return HTMLLIElement::create(document);
}
PassRefPtr<HTMLElement> createHTMLElement(Document* document, const QualifiedName& name)
diff --git a/WebCore/editing/mac/EditorMac.mm b/WebCore/editing/mac/EditorMac.mm
index b98fc00..ca001a2 100644
--- a/WebCore/editing/mac/EditorMac.mm
+++ b/WebCore/editing/mac/EditorMac.mm
@@ -33,63 +33,11 @@
namespace WebCore {
-extern "C" {
-
-// Kill ring calls. Would be better to use NSKillRing.h, but that's not available as API or SPI.
-
-void _NSInitializeKillRing();
-void _NSAppendToKillRing(NSString *);
-void _NSPrependToKillRing(NSString *);
-NSString *_NSYankFromKillRing();
-void _NSNewKillRingSequence();
-void _NSSetKillRingToYankedState();
-
-}
-
PassRefPtr<Clipboard> Editor::newGeneralClipboard(ClipboardAccessPolicy policy)
{
return ClipboardMac::create(false, [NSPasteboard generalPasteboard], policy, 0);
}
-static void initializeKillRingIfNeeded()
-{
- static bool initializedKillRing = false;
- if (!initializedKillRing) {
- initializedKillRing = true;
- _NSInitializeKillRing();
- }
-}
-
-void Editor::appendToKillRing(const String& string)
-{
- initializeKillRingIfNeeded();
- _NSAppendToKillRing(string);
-}
-
-void Editor::prependToKillRing(const String& string)
-{
- initializeKillRingIfNeeded();
- _NSPrependToKillRing(string);
-}
-
-String Editor::yankFromKillRing()
-{
- initializeKillRingIfNeeded();
- return _NSYankFromKillRing();
-}
-
-void Editor::startNewKillRingSequence()
-{
- initializeKillRingIfNeeded();
- _NSNewKillRingSequence();
-}
-
-void Editor::setKillRingToYankedState()
-{
- initializeKillRingIfNeeded();
- _NSSetKillRingToYankedState();
-}
-
void Editor::showFontPanel()
{
[[NSFontManager sharedFontManager] orderFrontFontPanel:nil];
diff --git a/WebCore/html/DateComponents.h b/WebCore/html/DateComponents.h
index aff8855..a15d558 100644
--- a/WebCore/html/DateComponents.h
+++ b/WebCore/html/DateComponents.h
@@ -136,6 +136,20 @@ public:
double monthsSinceEpoch() const;
static inline double invalidMilliseconds() { return std::numeric_limits<double>::quiet_NaN(); }
+ // Minimum and maxmimum limits for setMillisecondsSince*(),
+ // setMonthsSinceEpoch(), millisecondsSinceEpoch(), and monthsSinceEpoch().
+ static inline double minimumDate() { return -12219292800000.0; } // This means 1582-10-15T00:00Z.
+ static inline double minimumDateTime() { return -12219292800000.0; } // ditto.
+ static inline double minimumMonth() { return (1582.0 - 1970) * 12 + 10 - 1; } // 1582-10
+ static inline double minimumTime() { return 0; } // 00:00:00.000
+ static inline double minimumWeek() { return -12212380800000.0; } // 1583-01-03, the first Monday of 1583.
+ static inline double maximumDate() { return std::numeric_limits<double>::max(); }
+ static inline double maximumDateTime() { return std::numeric_limits<double>::max(); }
+ // DateComponents::m_year can't represent a year greater than INT_MAX.
+ static inline double maximumMonth() { return (std::numeric_limits<int>::max() - 1970) * 12.0 + 12 - 1; }
+ static inline double maximumTime() { return 86399999; } // 23:59:59.999
+ static inline double maximumWeek() { return std::numeric_limits<double>::max(); }
+
private:
// Returns the maximum week number in this DateComponents's year.
// The result is either of 52 and 53.
diff --git a/WebCore/html/HTML5Lexer.cpp b/WebCore/html/HTML5Lexer.cpp
index 44eae83..6c23bb0 100644
--- a/WebCore/html/HTML5Lexer.cpp
+++ b/WebCore/html/HTML5Lexer.cpp
@@ -57,6 +57,15 @@ namespace WebCore {
using namespace HTMLNames;
+namespace {
+
+static const UChar windowsLatin1ExtensionArray[32] = {
+ 0x20AC, 0x0081, 0x201A, 0x0192, 0x201E, 0x2026, 0x2020, 0x2021, // 80-87
+ 0x02C6, 0x2030, 0x0160, 0x2039, 0x0152, 0x008D, 0x017D, 0x008F, // 88-8F
+ 0x0090, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, // 90-97
+ 0x02DC, 0x2122, 0x0161, 0x203A, 0x0153, 0x009D, 0x017E, 0x0178, // 98-9F
+};
+
inline UChar toLowerCase(UChar cc)
{
ASSERT(cc >= 'A' && cc <= 'Z');
@@ -64,6 +73,74 @@ inline UChar toLowerCase(UChar cc)
return cc + lowerCaseOffset;
}
+inline void advanceStringAndASSERTIgnoringCase(SegmentedString& source, const char* expectedCharacters)
+{
+ while (*expectedCharacters)
+ source.advanceAndASSERTIgnoringCase(*expectedCharacters++);
+}
+
+inline bool vectorEqualsString(const Vector<UChar, 32>& vector, const String& string)
+{
+ if (vector.size() != string.length())
+ return false;
+ const UChar* stringData = string.characters();
+ const UChar* vectorData = vector.data();
+ // FIXME: Is there a higher-level function we should be calling here?
+ return !memcmp(stringData, vectorData, vector.size() * sizeof(UChar));
+}
+
+inline UChar adjustEntity(unsigned value)
+{
+ if ((value & ~0x1F) != 0x0080)
+ return value;
+ return windowsLatin1ExtensionArray[value - 0x80];
+}
+
+inline unsigned legalEntityFor(unsigned value)
+{
+ // FIXME: A number of specific entity values generate parse errors.
+ if (value == 0 || value > 0x10FFFF || (value >= 0xD800 && value <= 0xDFFF))
+ return 0xFFFD;
+ if (value < 0xFFFF)
+ return adjustEntity(value);
+ return value;
+}
+
+inline bool isHexDigit(UChar cc)
+{
+ return (cc >= '0' && cc <= '9') || (cc >= 'a' && cc <= 'f') || (cc >= 'A' && cc <= 'F');
+}
+
+inline bool isAlphaNumeric(UChar cc)
+{
+ return (cc >= '0' && cc <= '9') || (cc >= 'a' && cc <= 'z') || (cc >= 'A' && cc <= 'Z');
+}
+
+void unconsumeCharacters(SegmentedString& source, const Vector<UChar, 10>& consumedCharacters)
+{
+ if (consumedCharacters.size() == 1)
+ source.push(consumedCharacters[0]);
+ else if (consumedCharacters.size() == 2) {
+ source.push(consumedCharacters[0]);
+ source.push(consumedCharacters[1]);
+ } else
+ source.prepend(SegmentedString(String(consumedCharacters.data(), consumedCharacters.size())));
+}
+
+inline bool isEndTagBufferingState(HTML5Lexer::State state)
+{
+ return state == HTML5Lexer::RCDATAEndTagOpenState
+ || state == HTML5Lexer::RCDATAEndTagNameState
+ || state == HTML5Lexer::RAWTEXTEndTagOpenState
+ || state == HTML5Lexer::RAWTEXTEndTagNameState
+ || state == HTML5Lexer::ScriptDataEndTagOpenState
+ || state == HTML5Lexer::ScriptDataEndTagNameState
+ || state == HTML5Lexer::ScriptDataEscapedEndTagOpenState
+ || state == HTML5Lexer::ScriptDataEscapedEndTagNameState;
+}
+
+}
+
HTML5Lexer::HTML5Lexer()
{
reset();
@@ -77,79 +154,83 @@ void HTML5Lexer::reset()
{
m_state = DataState;
m_token = 0;
+ m_skipLeadingNewLineForListing = false;
m_emitPending = false;
m_additionalAllowedCharacter = '\0';
}
-static inline bool isWhitespace(UChar c)
-{
- return c == ' ' || c == '\n' || c == '\r' || c == '\t';
-}
-
-static inline unsigned legalEntityFor(unsigned value)
-{
- // FIXME There is a table for more exceptions in the HTML5 specification.
- if (value == 0 || value > 0x10FFFF || (value >= 0xD800 && value <= 0xDFFF))
- return 0xFFFD;
- return value;
-}
-
unsigned HTML5Lexer::consumeEntity(SegmentedString& source, bool& notEnoughCharacters)
{
+ ASSERT(m_state != CharacterReferenceInAttributeValueState || m_additionalAllowedCharacter == '"' || m_additionalAllowedCharacter == '\'' || m_additionalAllowedCharacter == '>');
+ ASSERT(!notEnoughCharacters);
+
enum EntityState {
Initial,
NumberType,
- MaybeHex,
+ MaybeHexLowerCaseX,
+ MaybeHexUpperCaseX,
Hex,
Decimal,
Named
};
EntityState entityState = Initial;
unsigned result = 0;
- Vector<UChar, 10> seenChars;
+ Vector<UChar, 10> consumedCharacters;
Vector<char, 10> entityName;
while (!source.isEmpty()) {
UChar cc = *source;
- seenChars.append(cc);
switch (entityState) {
- case Initial:
- if (isWhitespace(cc) || cc == '<' || cc == '&')
+ case Initial: {
+ if (cc == '\x09' || cc == '\x0A' || cc == '\x0C' || cc == ' ' || cc == '<' || cc == '&')
return 0;
- else if (cc == '#')
+ if (m_state == CharacterReferenceInAttributeValueState && cc == m_additionalAllowedCharacter)
+ return 0;
+ if (cc == '#') {
entityState = NumberType;
- else if ((cc >= 'a' && cc <= 'z') || (cc >= 'A' && cc <= 'Z')) {
- entityName.append(cc);
+ break;
+ }
+ if ((cc >= 'a' && cc <= 'z') || (cc >= 'A' && cc <= 'Z')) {
entityState = Named;
- } else
- return 0;
- break;
- case NumberType:
- if (cc == 'x' || cc == 'X')
- entityState = MaybeHex;
- else if (cc >= '0' && cc <= '9') {
+ continue;
+ }
+ return 0;
+ }
+ case NumberType: {
+ if (cc == 'x') {
+ entityState = MaybeHexLowerCaseX;
+ break;
+ }
+ if (cc == 'X') {
+ entityState = MaybeHexUpperCaseX;
+ break;
+ }
+ if (cc >= '0' && cc <= '9') {
entityState = Decimal;
- result = cc - '0';
- } else {
- source.push('#');
- return 0;
+ continue;
}
- break;
- case MaybeHex:
- if (cc >= '0' && cc <= '9')
- result = cc - '0';
- else if (cc >= 'a' && cc <= 'f')
- result = 10 + cc - 'a';
- else if (cc >= 'A' && cc <= 'F')
- result = 10 + cc - 'A';
- else {
- source.push('#');
- source.push(seenChars[1]);
- return 0;
+ source.push('#');
+ return 0;
+ }
+ case MaybeHexLowerCaseX: {
+ if (isHexDigit(cc)) {
+ entityState = Hex;
+ continue;
}
- entityState = Hex;
- break;
- case Hex:
+ source.push('#');
+ source.push('x');
+ return 0;
+ }
+ case MaybeHexUpperCaseX: {
+ if (isHexDigit(cc)) {
+ entityState = Hex;
+ continue;
+ }
+ source.push('#');
+ source.push('X');
+ return 0;
+ }
+ case Hex: {
if (cc >= '0' && cc <= '9')
result = result * 16 + cc - '0';
else if (cc >= 'a' && cc <= 'f')
@@ -162,7 +243,8 @@ unsigned HTML5Lexer::consumeEntity(SegmentedString& source, bool& notEnoughChara
} else
return legalEntityFor(result);
break;
- case Decimal:
+ }
+ case Decimal: {
if (cc >= '0' && cc <= '9')
result = result * 10 + cc - '0';
else if (cc == ';') {
@@ -170,48 +252,71 @@ unsigned HTML5Lexer::consumeEntity(SegmentedString& source, bool& notEnoughChara
return legalEntityFor(result);
} else
return legalEntityFor(result);
- break;
- case Named:
- // This is the attribute only version, generic version matches somewhat differently
- while (entityName.size() <= 8) {
+ break;
+ }
+ case Named: {
+ // FIXME: This code is wrong. We need to find the longest matching entity.
+ // The examples from the spec are:
+ // I'm &notit; I tell you
+ // I'm &notin; I tell you
+ // In the first case, "&not" is the entity. In the second
+ // case, "&notin;" is the entity.
+ // FIXME: Our list of HTML entities is incomplete.
+ // FIXME: The number 8 below is bogus.
+ while (!source.isEmpty() && entityName.size() <= 8) {
+ cc = *source;
if (cc == ';') {
const Entity* entity = findEntity(entityName.data(), entityName.size());
if (entity) {
- source.advance();
+ source.advanceAndASSERT(';');
return entity->code;
}
+ emitParseError();
break;
}
- if (!(cc >= 'a' && cc <= 'z') && !(cc >= 'A' && cc <= 'Z') && !(cc >= '0' && cc <= '9')) {
+ if (!isAlphaNumeric(cc)) {
const Entity* entity = findEntity(entityName.data(), entityName.size());
- if (entity)
+ if (entity) {
+ // HTML5 tells us to ignore this entity, for historical reasons,
+ // if the lookhead character is '='.
+ if (m_state == CharacterReferenceInAttributeValueState && cc == '=')
+ break;
+ emitParseError();
return entity->code;
+ }
break;
}
entityName.append(cc);
- source.advance();
- if (source.isEmpty())
- goto outOfCharacters;
- cc = *source;
- seenChars.append(cc);
+ consumedCharacters.append(cc);
+ source.advanceAndASSERT(cc);
}
- if (seenChars.size() == 2)
- source.push(seenChars[0]);
- else if (seenChars.size() == 3) {
- source.push(seenChars[0]);
- source.push(seenChars[1]);
- } else
- source.prepend(SegmentedString(String(seenChars.data(), seenChars.size() - 1)));
+ notEnoughCharacters = source.isEmpty();
+ unconsumeCharacters(source, consumedCharacters);
return 0;
}
- source.advance();
+ }
+ consumedCharacters.append(cc);
+ source.advanceAndASSERT(cc);
}
-outOfCharacters:
+ ASSERT(source.isEmpty());
notEnoughCharacters = true;
- source.prepend(SegmentedString(String(seenChars.data(), seenChars.size())));
+ unconsumeCharacters(source, consumedCharacters);
return 0;
}
+inline bool HTML5Lexer::processEntity(SegmentedString& source)
+{
+ bool notEnoughCharacters = false;
+ unsigned value = consumeEntity(source, notEnoughCharacters);
+ if (notEnoughCharacters)
+ return false;
+ if (!value)
+ emitCharacter('&');
+ else
+ emitCodePoint(value);
+ return true;
+}
+
bool HTML5Lexer::nextToken(SegmentedString& source, HTML5Token& token)
{
// If we have a token in progress, then we're supposed to be called back
@@ -219,7 +324,8 @@ bool HTML5Lexer::nextToken(SegmentedString& source, HTML5Token& token)
ASSERT(!m_token || m_token == &token || token.type() == HTML5Token::Uninitialized);
m_token = &token;
- if (!m_bufferedEndTagName.isEmpty()) {
+ if (!m_bufferedEndTagName.isEmpty() && !isEndTagBufferingState(m_state)) {
+ // FIXME: This should call flushBufferedEndTag().
// We started an end tag during our last iteration.
m_token->beginEndTag(m_bufferedEndTagName);
m_bufferedEndTagName.clear();
@@ -229,6 +335,11 @@ bool HTML5Lexer::nextToken(SegmentedString& source, HTML5Token& token)
}
}
+ // http://www.whatwg.org/specs/web-apps/current-work/multipage/tokenization.html#parsing-main-inbody
+ if (m_skipLeadingNewLineForListing && m_state == DataState && !source.isEmpty() && *source == '\x0A')
+ source.advanceAndASSERT('\x0A');
+ m_skipLeadingNewLineForListing = false;
+
// Source: http://www.whatwg.org/specs/web-apps/current-work/#tokenisation0
// FIXME: This while should stop as soon as we have a token to return.
while (!source.isEmpty()) {
@@ -249,8 +360,10 @@ bool HTML5Lexer::nextToken(SegmentedString& source, HTML5Token& token)
break;
}
case CharacterReferenceInDataState: {
- notImplemented();
- break;
+ if (!processEntity(source))
+ return shouldEmitBufferedCharacterToken(source);
+ m_state = DataState;
+ continue;
}
case RCDATAState: {
if (cc == '&')
@@ -262,8 +375,10 @@ bool HTML5Lexer::nextToken(SegmentedString& source, HTML5Token& token)
break;
}
case CharacterReferenceInRCDATAState: {
- notImplemented();
- break;
+ if (!processEntity(source))
+ return shouldEmitBufferedCharacterToken(source);
+ m_state = RCDATAState;
+ continue;
}
case RAWTEXTState: {
if (cc == '<')
@@ -297,6 +412,10 @@ bool HTML5Lexer::nextToken(SegmentedString& source, HTML5Token& token)
} else if (cc == '?') {
emitParseError();
m_state = BogusCommentState;
+ // The spec consumes the current character before switching
+ // to the bogus comment state, but it's easier to implement
+ // if we reconsume the current character.
+ continue;
} else {
emitParseError();
m_state = DataState;
@@ -317,7 +436,8 @@ bool HTML5Lexer::nextToken(SegmentedString& source, HTML5Token& token)
m_state = DataState;
} else {
emitParseError();
- m_state = DataState;
+ m_state = BogusCommentState;
+ continue;
}
// FIXME: Handle EOF properly.
break;
@@ -340,6 +460,7 @@ bool HTML5Lexer::nextToken(SegmentedString& source, HTML5Token& token)
case RCDATALessThanSignState: {
if (cc == '/') {
m_temporaryBuffer.clear();
+ ASSERT(m_bufferedEndTagName.isEmpty());
m_state = RCDATAEndTagOpenState;
} else {
emitCharacter('<');
@@ -350,11 +471,14 @@ bool HTML5Lexer::nextToken(SegmentedString& source, HTML5Token& token)
}
case RCDATAEndTagOpenState: {
if (cc >= 'A' && cc <= 'Z') {
- notImplemented();
+ m_temporaryBuffer.append(cc);
+ addToPossibleEndTag(toLowerCase(cc));
m_state = RCDATAEndTagNameState;
} else if (cc >= 'a' && cc <= 'z') {
- notImplemented();
+ m_temporaryBuffer.append(cc);
+ addToPossibleEndTag(cc);
m_state = RCDATAEndTagNameState;
+ } else {
emitCharacter('<');
emitCharacter('/');
m_state = RCDATAState;
@@ -363,23 +487,36 @@ bool HTML5Lexer::nextToken(SegmentedString& source, HTML5Token& token)
break;
}
case RCDATAEndTagNameState: {
- if (cc == '\x09' || cc == '\x0A' || cc == '\x0C' || cc == ' ') {
- notImplemented();
- m_state = BeforeAttributeNameState;
- } else if (cc == '/') {
- notImplemented();
- m_state = SelfClosingStartTagState;
- } else if (cc == '>') {
- notImplemented();
- m_state = DataState;
- } else if (cc >= 'A' && cc <= 'Z')
- notImplemented();
- else if (cc >= 'a' && cc <= 'z')
- notImplemented();
- else {
+ if (cc >= 'A' && cc <= 'Z') {
+ m_temporaryBuffer.append(cc);
+ addToPossibleEndTag(toLowerCase(cc));
+ } else if (cc >= 'a' && cc <= 'z') {
+ m_temporaryBuffer.append(cc);
+ addToPossibleEndTag(cc);
+ } else {
+ if (cc == '\x09' || cc == '\x0A' || cc == '\x0C' || cc == ' ') {
+ if (isAppropriateEndTag()) {
+ m_state = BeforeAttributeNameState;
+ maybeFlushBufferedEndTag();
+ break;
+ }
+ } else if (cc == '/') {
+ if (isAppropriateEndTag()) {
+ m_state = SelfClosingStartTagState;
+ maybeFlushBufferedEndTag();
+ break;
+ }
+ } else if (cc == '>') {
+ if (isAppropriateEndTag()) {
+ m_state = DataState;
+ maybeFlushBufferedEndTag();
+ break;
+ }
+ }
emitCharacter('<');
emitCharacter('/');
- notImplemented();
+ m_token->appendToCharacter(m_temporaryBuffer);
+ m_bufferedEndTagName.clear();
m_state = RCDATAState;
continue;
}
@@ -388,6 +525,7 @@ bool HTML5Lexer::nextToken(SegmentedString& source, HTML5Token& token)
case RAWTEXTLessThanSignState: {
if (cc == '/') {
m_temporaryBuffer.clear();
+ ASSERT(m_bufferedEndTagName.isEmpty());
m_state = RAWTEXTEndTagOpenState;
} else {
emitCharacter('<');
@@ -398,10 +536,12 @@ bool HTML5Lexer::nextToken(SegmentedString& source, HTML5Token& token)
}
case RAWTEXTEndTagOpenState: {
if (cc >= 'A' && cc <= 'Z') {
- notImplemented();
+ m_temporaryBuffer.append(cc);
+ addToPossibleEndTag(toLowerCase(cc));
m_state = RAWTEXTEndTagNameState;
} else if (cc >= 'a' && cc <= 'z') {
- notImplemented();
+ m_temporaryBuffer.append(cc);
+ addToPossibleEndTag(cc);
m_state = RAWTEXTEndTagNameState;
} else {
emitCharacter('<');
@@ -412,26 +552,40 @@ bool HTML5Lexer::nextToken(SegmentedString& source, HTML5Token& token)
break;
}
case RAWTEXTEndTagNameState: {
- if (cc == '\x09' || cc == '\x0A' || cc == '\x0C' || cc == ' ') {
- notImplemented();
- m_state = BeforeAttributeNameState;
- } else if (cc == '/') {
- notImplemented();
- m_state = SelfClosingStartTagState;
- } else if (cc == '>') {
- notImplemented();
- m_state = DataState;
- } else if (cc >= 'A' && cc <= 'Z')
- notImplemented();
- else if (cc >= 'a' && cc <= 'z')
- notImplemented();
- else {
+ if (cc >= 'A' && cc <= 'Z') {
+ m_temporaryBuffer.append(cc);
+ addToPossibleEndTag(toLowerCase(cc));
+ } else if (cc >= 'a' && cc <= 'z') {
+ m_temporaryBuffer.append(cc);
+ addToPossibleEndTag(cc);
+ } else {
+ if (cc == '\x09' || cc == '\x0A' || cc == '\x0C' || cc == ' ') {
+ if (isAppropriateEndTag()) {
+ m_state = BeforeAttributeNameState;
+ maybeFlushBufferedEndTag();
+ break;
+ }
+ } else if (cc == '/') {
+ if (isAppropriateEndTag()) {
+ m_state = SelfClosingStartTagState;
+ maybeFlushBufferedEndTag();
+ break;
+ }
+ } else if (cc == '>') {
+ if (isAppropriateEndTag()) {
+ m_state = DataState;
+ maybeFlushBufferedEndTag();
+ break;
+ }
+ }
emitCharacter('<');
emitCharacter('/');
- notImplemented();
+ m_token->appendToCharacter(m_temporaryBuffer);
+ m_bufferedEndTagName.clear();
m_state = RAWTEXTState;
continue;
}
+ break;
}
case ScriptDataLessThanSignState: {
if (cc == '/') {
@@ -452,11 +606,11 @@ bool HTML5Lexer::nextToken(SegmentedString& source, HTML5Token& token)
case ScriptDataEndTagOpenState: {
if (cc >= 'A' && cc <= 'Z') {
m_temporaryBuffer.append(cc);
- m_bufferedEndTagName.append(toLowerCase(cc));
+ addToPossibleEndTag(toLowerCase(cc));
m_state = ScriptDataEndTagNameState;
} else if (cc >= 'a' && cc <= 'z') {
m_temporaryBuffer.append(cc);
- m_bufferedEndTagName.append(cc);
+ addToPossibleEndTag(cc);
m_state = ScriptDataEndTagNameState;
} else {
emitCharacter('<');
@@ -469,30 +623,27 @@ bool HTML5Lexer::nextToken(SegmentedString& source, HTML5Token& token)
case ScriptDataEndTagNameState: {
if (cc >= 'A' && cc <= 'Z') {
m_temporaryBuffer.append(cc);
- m_bufferedEndTagName.append(toLowerCase(cc));
+ addToPossibleEndTag(toLowerCase(cc));
} else if (cc >= 'a' && cc <= 'z') {
m_temporaryBuffer.append(cc);
- m_bufferedEndTagName.append(cc);
+ addToPossibleEndTag(cc);
} else {
if (cc == '\x09' || cc == '\x0A' || cc == '\x0C' || cc == ' ') {
if (isAppropriateEndTag()) {
m_state = BeforeAttributeNameState;
- ASSERT(m_token->type() == HTML5Token::Character);
- emitCurrentToken();
+ maybeFlushBufferedEndTag();
break;
}
} else if (cc == '/') {
if (isAppropriateEndTag()) {
m_state = SelfClosingStartTagState;
- ASSERT(m_token->type() == HTML5Token::Character);
- emitCurrentToken();
+ maybeFlushBufferedEndTag();
break;
}
} else if (cc == '>') {
if (isAppropriateEndTag()) {
m_state = DataState;
- ASSERT(m_token->type() == HTML5Token::Character);
- emitCurrentToken();
+ maybeFlushBufferedEndTag();
break;
}
}
@@ -567,12 +718,19 @@ bool HTML5Lexer::nextToken(SegmentedString& source, HTML5Token& token)
case ScriptDataEscapedLessThanSignState: {
if (cc == '/') {
m_temporaryBuffer.clear();
+ ASSERT(m_bufferedEndTagName.isEmpty());
m_state = ScriptDataEscapedEndTagOpenState;
} else if (cc >= 'A' && cc <= 'Z') {
- notImplemented();
+ emitCharacter('<');
+ emitCharacter(cc);
+ m_temporaryBuffer.clear();
+ m_temporaryBuffer.append(toLowerCase(cc));
m_state = ScriptDataDoubleEscapeStartState;
} else if (cc >= 'a' && cc <= 'z') {
- notImplemented();
+ emitCharacter('<');
+ emitCharacter(cc);
+ m_temporaryBuffer.clear();
+ m_temporaryBuffer.append(cc);
m_state = ScriptDataDoubleEscapeStartState;
} else {
emitCharacter('<');
@@ -583,10 +741,12 @@ bool HTML5Lexer::nextToken(SegmentedString& source, HTML5Token& token)
}
case ScriptDataEscapedEndTagOpenState: {
if (cc >= 'A' && cc <= 'Z') {
- notImplemented();
+ m_temporaryBuffer.append(cc);
+ addToPossibleEndTag(toLowerCase(cc));
m_state = ScriptDataEscapedEndTagNameState;
} else if (cc >= 'a' && cc <= 'z') {
- notImplemented();
+ m_temporaryBuffer.append(cc);
+ addToPossibleEndTag(cc);
m_state = ScriptDataEscapedEndTagNameState;
} else {
emitCharacter('<');
@@ -597,23 +757,36 @@ bool HTML5Lexer::nextToken(SegmentedString& source, HTML5Token& token)
break;
}
case ScriptDataEscapedEndTagNameState: {
- if (cc == '\x09' || cc == '\x0A' || cc == '\x0C' || cc == ' ') {
- notImplemented();
- m_state = BeforeAttributeNameState;
- } else if (cc == '/') {
- notImplemented();
- m_state = SelfClosingStartTagState;
- } else if (cc == '>') {
- notImplemented();
- m_state = DataState;
- } else if (cc >= 'A' && cc <= 'Z')
- notImplemented();
- else if (cc >= 'a' && cc <= 'z')
- notImplemented();
- else {
+ if (cc >= 'A' && cc <= 'Z') {
+ m_temporaryBuffer.append(cc);
+ addToPossibleEndTag(toLowerCase(cc));
+ } else if (cc >= 'a' && cc <= 'z') {
+ m_temporaryBuffer.append(cc);
+ addToPossibleEndTag(cc);
+ } else {
+ if (cc == '\x09' || cc == '\x0A' || cc == '\x0C' || cc == ' ') {
+ if (isAppropriateEndTag()) {
+ m_state = BeforeAttributeNameState;
+ maybeFlushBufferedEndTag();
+ break;
+ }
+ } else if (cc == '/') {
+ if (isAppropriateEndTag()) {
+ m_state = SelfClosingStartTagState;
+ maybeFlushBufferedEndTag();
+ break;
+ }
+ } else if (cc == '>') {
+ if (isAppropriateEndTag()) {
+ m_state = DataState;
+ maybeFlushBufferedEndTag();
+ break;
+ }
+ }
emitCharacter('<');
emitCharacter('/');
- notImplemented();
+ m_token->appendToCharacter(m_temporaryBuffer);
+ m_bufferedEndTagName.clear();
m_state = ScriptDataEscapedState;
continue;
}
@@ -622,15 +795,17 @@ bool HTML5Lexer::nextToken(SegmentedString& source, HTML5Token& token)
case ScriptDataDoubleEscapeStartState: {
if (cc == '\x09' || cc == '\x0A' || cc == '\x0C' || cc == ' ' || cc == '/' || cc == '>') {
emitCharacter(cc);
- if (temporaryBufferIs("string"))
+ if (temporaryBufferIs(scriptTag.localName()))
m_state = ScriptDataDoubleEscapedState;
else
m_state = ScriptDataEscapedState;
- } else if (cc >= 'A' && cc <= 'Z')
- notImplemented();
- else if (cc >= 'a' && cc <= 'z')
- notImplemented();
- else {
+ } else if (cc >= 'A' && cc <= 'Z') {
+ emitCharacter(cc);
+ m_temporaryBuffer.append(toLowerCase(cc));
+ } else if (cc >= 'a' && cc <= 'z') {
+ emitCharacter(cc);
+ m_temporaryBuffer.append(cc);
+ } else {
m_state = ScriptDataEscapedState;
continue;
}
@@ -692,15 +867,17 @@ bool HTML5Lexer::nextToken(SegmentedString& source, HTML5Token& token)
case ScriptDataDoubleEscapeEndState: {
if (cc == '\x09' || cc == '\x0A' || cc == '\x0C' || cc == ' ' || cc == '/' || cc == '>') {
emitCharacter(cc);
- if (temporaryBufferIs("string"))
+ if (temporaryBufferIs(scriptTag.localName()))
m_state = ScriptDataEscapedState;
else
m_state = ScriptDataDoubleEscapedState;
- } else if (cc >= 'A' && cc <= 'Z')
- notImplemented();
- else if (cc >= 'a' && cc <= 'z')
- notImplemented();
- else {
+ } else if (cc >= 'A' && cc <= 'Z') {
+ emitCharacter(cc);
+ m_temporaryBuffer.append(toLowerCase(cc));
+ } else if (cc >= 'a' && cc <= 'z') {
+ emitCharacter(cc);
+ m_temporaryBuffer.append(cc);
+ } else {
m_state = ScriptDataDoubleEscapedState;
continue;
}
@@ -835,8 +1012,31 @@ bool HTML5Lexer::nextToken(SegmentedString& source, HTML5Token& token)
break;
}
case CharacterReferenceInAttributeValueState: {
- notImplemented();
- break;
+ bool notEnoughCharacters = false;
+ unsigned value = consumeEntity(source, notEnoughCharacters);
+ if (notEnoughCharacters)
+ return shouldEmitBufferedCharacterToken(source);
+ if (!value)
+ m_token->appendToAttributeValue('&');
+ else if (value < 0xFFFF)
+ m_token->appendToAttributeValue(value);
+ else {
+ m_token->appendToAttributeValue(U16_LEAD(value));
+ m_token->appendToAttributeValue(U16_TRAIL(value));
+ }
+ // We're supposed to switch back to the attribute value state that
+ // we were in when we were switched into this state. Rather than
+ // keeping track of this explictly, we observe that the previous
+ // state can be determined by m_additionalAllowedCharacter.
+ if (m_additionalAllowedCharacter == '"')
+ m_state = AttributeValueDoubleQuotedState;
+ else if (m_additionalAllowedCharacter == '\'')
+ m_state = AttributeValueSingleQuotedState;
+ else if (m_additionalAllowedCharacter == '>')
+ m_state = AttributeValueUnquotedState;
+ else
+ ASSERT_NOT_REACHED();
+ continue;
}
case AfterAttributeValueQuotedState: {
if (cc == '\x09' || cc == '\x0A' || cc == '\x0C' || cc == ' ')
@@ -868,12 +1068,24 @@ bool HTML5Lexer::nextToken(SegmentedString& source, HTML5Token& token)
break;
}
case BogusCommentState: {
- notImplemented();
+ m_token->beginComment();
+ while (!source.isEmpty()) {
+ cc = *source;
+ if (cc == '>')
+ break;
+ m_token->appendToComment(cc);
+ source.advance();
+ }
+ emitCurrentToken();
m_state = DataState;
+ if (source.isEmpty())
+ return true;
+ // FIXME: Handle EOF properly.
break;
}
case MarkupDeclarationOpenState: {
DEFINE_STATIC_LOCAL(String, dashDashString, ("--"));
+ DEFINE_STATIC_LOCAL(String, doctypeString, ("doctype"));
if (cc == '-') {
SegmentedString::LookAheadResult result = source.lookAhead(dashDashString);
if (result == SegmentedString::DidMatch) {
@@ -883,10 +1095,22 @@ bool HTML5Lexer::nextToken(SegmentedString& source, HTML5Token& token)
m_state = CommentStartState;
continue;
} else if (result == SegmentedString::NotEnoughCharacters)
- return false; // We need to wait for more characters to arrive.
+ return shouldEmitBufferedCharacterToken(source);
+ } else if (cc == 'D' || cc == 'd') {
+ SegmentedString::LookAheadResult result = source.lookAheadIgnoringCase(doctypeString);
+ if (result == SegmentedString::DidMatch) {
+ advanceStringAndASSERTIgnoringCase(source, "doctype");
+ m_state = DOCTYPEState;
+ continue;
+ } else if (result == SegmentedString::NotEnoughCharacters)
+ return shouldEmitBufferedCharacterToken(source);
}
notImplemented();
- break;
+ // FIXME: We're still missing the bits about the insertion mode being in foreign content:
+ // http://www.whatwg.org/specs/web-apps/current-work/multipage/tokenization.html#markup-declaration-open-state
+ emitParseError();
+ m_state = BogusCommentState;
+ continue;
}
case CommentStartState: {
if (cc == '-')
@@ -1012,15 +1236,16 @@ bool HTML5Lexer::nextToken(SegmentedString& source, HTML5Token& token)
if (cc == '\x09' || cc == '\x0A' || cc == '\x0C' || cc == ' ')
break;
else if (cc >= 'A' && cc <= 'Z') {
- notImplemented();
+ m_token->beginDOCTYPE(toLowerCase(cc));
m_state = DOCTYPENameState;
} else if (cc == '>') {
emitParseError();
+ m_token->beginDOCTYPE();
notImplemented();
- emitCurrentDoctypeToken();
+ emitCurrentToken();
m_state = DataState;
} else {
- notImplemented();
+ m_token->beginDOCTYPE(cc);
m_state = DOCTYPENameState;
}
// FIXME: Handle EOF properly.
@@ -1030,23 +1255,45 @@ bool HTML5Lexer::nextToken(SegmentedString& source, HTML5Token& token)
if (cc == '\x09' || cc == '\x0A' || cc == '\x0C' || cc == ' ')
m_state = AfterDOCTYPENameState;
else if (cc == '>') {
- emitCurrentDoctypeToken();
+ emitCurrentToken();
m_state = DataState;
} else if (cc >= 'A' && cc <= 'Z')
- notImplemented();
+ m_token->appendToName(toLowerCase(cc));
else
- notImplemented();
+ m_token->appendToName(cc);
// FIXME: Handle EOF properly.
break;
}
case AfterDOCTYPENameState: {
if (cc == '\x09' || cc == '\x0A' || cc == '\x0C' || cc == ' ')
break;
- else if (cc == '>') {
- emitCurrentDoctypeToken();
+ if (cc == '>') {
+ emitCurrentToken();
m_state = DataState;
- } else
+ } else {
+ DEFINE_STATIC_LOCAL(String, publicString, ("public"));
+ DEFINE_STATIC_LOCAL(String, systemString, ("system"));
+ if (cc == 'P' || cc == 'p') {
+ SegmentedString::LookAheadResult result = source.lookAheadIgnoringCase(publicString);
+ if (result == SegmentedString::DidMatch) {
+ advanceStringAndASSERTIgnoringCase(source, "public");
+ m_state = AfterDOCTYPEPublicKeywordState;
+ continue;
+ } else if (result == SegmentedString::NotEnoughCharacters)
+ return shouldEmitBufferedCharacterToken(source);
+ } else if (cc == 'S' || cc == 's') {
+ SegmentedString::LookAheadResult result = source.lookAheadIgnoringCase(systemString);
+ if (result == SegmentedString::DidMatch) {
+ advanceStringAndASSERTIgnoringCase(source, "system");
+ m_state = AfterDOCTYPESystemKeywordState;
+ continue;
+ } else if (result == SegmentedString::NotEnoughCharacters)
+ return shouldEmitBufferedCharacterToken(source);
+ }
+ emitParseError();
notImplemented();
+ m_state = BogusDOCTYPEState;
+ }
// FIXME: Handle EOF properly.
break;
}
@@ -1055,16 +1302,16 @@ bool HTML5Lexer::nextToken(SegmentedString& source, HTML5Token& token)
m_state = BeforeDOCTYPEPublicIdentifierState;
else if (cc == '"') {
emitParseError();
- notImplemented();
+ m_token->setPublicIdentifierToEmptyString();
m_state = DOCTYPEPublicIdentifierDoubleQuotedState;
} else if (cc == '\'') {
emitParseError();
- notImplemented();
+ m_token->setPublicIdentifierToEmptyString();
m_state = DOCTYPEPublicIdentifierSingleQuotedState;
} else if (cc == '>') {
emitParseError();
notImplemented();
- emitCurrentDoctypeToken();
+ emitCurrentToken();
m_state = DataState;
} else {
emitParseError();
@@ -1078,15 +1325,15 @@ bool HTML5Lexer::nextToken(SegmentedString& source, HTML5Token& token)
if (cc == '\x09' || cc == '\x0A' || cc == '\x0C' || cc == ' ')
break;
else if (cc == '"') {
- notImplemented();
+ m_token->setPublicIdentifierToEmptyString();
m_state = DOCTYPEPublicIdentifierDoubleQuotedState;
} else if (cc == '\'') {
- notImplemented();
+ m_token->setPublicIdentifierToEmptyString();
m_state = DOCTYPEPublicIdentifierSingleQuotedState;
} else if (cc == '>') {
emitParseError();
notImplemented();
- emitCurrentDoctypeToken();
+ emitCurrentToken();
m_state = DataState;
} else {
emitParseError();
@@ -1102,10 +1349,10 @@ bool HTML5Lexer::nextToken(SegmentedString& source, HTML5Token& token)
else if (cc == '>') {
emitParseError();
notImplemented();
- emitCurrentDoctypeToken();
+ emitCurrentToken();
m_state = DataState;
} else
- notImplemented();
+ m_token->appendToPublicIdentifier(cc);
// FIXME: Handle EOF properly.
break;
}
@@ -1115,10 +1362,10 @@ bool HTML5Lexer::nextToken(SegmentedString& source, HTML5Token& token)
else if (cc == '>') {
emitParseError();
notImplemented();
- emitCurrentDoctypeToken();
+ emitCurrentToken();
m_state = DataState;
} else
- notImplemented();
+ m_token->appendToPublicIdentifier(cc);
// FIXME: Handle EOF properly.
break;
}
@@ -1126,15 +1373,15 @@ bool HTML5Lexer::nextToken(SegmentedString& source, HTML5Token& token)
if (cc == '\x09' || cc == '\x0A' || cc == '\x0C' || cc == ' ')
m_state = BetweenDOCTYPEPublicAndSystemIdentifiersState;
else if (cc == '>') {
- emitCurrentDoctypeToken();
+ emitCurrentToken();
m_state = DataState;
} else if (cc == '"') {
emitParseError();
- notImplemented();
+ m_token->setPublicIdentifierToEmptyString();
m_state = DOCTYPESystemIdentifierDoubleQuotedState;
} else if (cc == '\'') {
emitParseError();
- notImplemented();
+ m_token->setPublicIdentifierToEmptyString();
m_state = DOCTYPESystemIdentifierSingleQuotedState;
} else {
emitParseError();
@@ -1148,13 +1395,13 @@ bool HTML5Lexer::nextToken(SegmentedString& source, HTML5Token& token)
if (cc == '\x09' || cc == '\x0A' || cc == '\x0C' || cc == ' ')
m_state = BetweenDOCTYPEPublicAndSystemIdentifiersState;
else if (cc == '>') {
- emitCurrentDoctypeToken();
+ emitCurrentToken();
m_state = DataState;
} else if (cc == '"') {
- notImplemented();
+ m_token->setSystemIdentifierToEmptyString();
m_state = DOCTYPESystemIdentifierDoubleQuotedState;
} else if (cc == '\'') {
- notImplemented();
+ m_token->setSystemIdentifierToEmptyString();
m_state = DOCTYPESystemIdentifierSingleQuotedState;
} else {
emitParseError();
@@ -1169,16 +1416,16 @@ bool HTML5Lexer::nextToken(SegmentedString& source, HTML5Token& token)
m_state = BeforeDOCTYPESystemIdentifierState;
else if (cc == '"') {
emitParseError();
- notImplemented();
+ m_token->setSystemIdentifierToEmptyString();
m_state = DOCTYPESystemIdentifierDoubleQuotedState;
} else if (cc == '\'') {
emitParseError();
- notImplemented();
+ m_token->setSystemIdentifierToEmptyString();
m_state = DOCTYPESystemIdentifierSingleQuotedState;
} else if (cc == '>') {
emitParseError();
notImplemented();
- emitCurrentDoctypeToken();
+ emitCurrentToken();
m_state = DataState;
} else {
emitParseError();
@@ -1191,16 +1438,16 @@ bool HTML5Lexer::nextToken(SegmentedString& source, HTML5Token& token)
case BeforeDOCTYPESystemIdentifierState: {
if (cc == '\x09' || cc == '\x0A' || cc == '\x0C' || cc == ' ')
break;
- else if (cc == '"') {
- notImplemented();
+ if (cc == '"') {
+ m_token->setSystemIdentifierToEmptyString();
m_state = DOCTYPESystemIdentifierDoubleQuotedState;
} else if (cc == '\'') {
- notImplemented();
+ m_token->setSystemIdentifierToEmptyString();
m_state = DOCTYPESystemIdentifierSingleQuotedState;
} else if (cc == '>') {
emitParseError();
notImplemented();
- emitCurrentDoctypeToken();
+ emitCurrentToken();
m_state = DataState;
} else {
emitParseError();
@@ -1216,10 +1463,10 @@ bool HTML5Lexer::nextToken(SegmentedString& source, HTML5Token& token)
else if (cc == '>') {
emitParseError();
notImplemented();
- emitCurrentDoctypeToken();
+ emitCurrentToken();
m_state = DataState;
} else
- notImplemented();
+ m_token->appendToSystemIdentifier(cc);
// FIXME: Handle EOF properly.
break;
}
@@ -1229,10 +1476,10 @@ bool HTML5Lexer::nextToken(SegmentedString& source, HTML5Token& token)
else if (cc == '>') {
emitParseError();
notImplemented();
- emitCurrentDoctypeToken();
+ emitCurrentToken();
m_state = DataState;
} else
- notImplemented();
+ m_token->appendToSystemIdentifier(cc);
// FIXME: Handle EOF properly.
break;
}
@@ -1240,7 +1487,7 @@ bool HTML5Lexer::nextToken(SegmentedString& source, HTML5Token& token)
if (cc == '\x09' || cc == '\x0A' || cc == '\x0C' || cc == ' ')
break;
else if (cc == '>') {
- emitCurrentDoctypeToken();
+ emitCurrentToken();
m_state = DataState;
} else {
emitParseError();
@@ -1250,8 +1497,10 @@ bool HTML5Lexer::nextToken(SegmentedString& source, HTML5Token& token)
break;
}
case BogusDOCTYPEState: {
- if (cc == '>')
- emitCurrentDoctypeToken();
+ if (cc == '>') {
+ emitCurrentToken();
+ m_state = DataState;
+ }
// FIXME: Handle EOF properly.
break;
}
@@ -1259,10 +1508,6 @@ bool HTML5Lexer::nextToken(SegmentedString& source, HTML5Token& token)
notImplemented();
break;
}
- case TokenizingCharacterReferencesState: {
- notImplemented();
- break;
- }
}
source.advance();
if (m_emitPending) {
@@ -1272,23 +1517,23 @@ bool HTML5Lexer::nextToken(SegmentedString& source, HTML5Token& token)
}
// We've reached the end of the input stream. If we have a character
// token buffered, we should emit it.
- return m_token->type() == HTML5Token::Character;
+ return shouldEmitBufferedCharacterToken(source);
}
-inline bool HTML5Lexer::temporaryBufferIs(const char*)
+inline bool HTML5Lexer::temporaryBufferIs(const String& expectedString)
{
- notImplemented();
- return true;
+ return vectorEqualsString(m_temporaryBuffer, expectedString);
+}
+
+inline void HTML5Lexer::addToPossibleEndTag(UChar cc)
+{
+ ASSERT(isEndTagBufferingState(m_state));
+ m_bufferedEndTagName.append(cc);
}
inline bool HTML5Lexer::isAppropriateEndTag()
{
- if (m_bufferedEndTagName.size() != m_appropriateEndTagName.length())
- return false;
- const UChar* appropriate = m_appropriateEndTagName.characters();
- const UChar* actual = m_bufferedEndTagName.data();
- // FIXME: Is there a higher-level function we should be calling here?
- return !memcmp(appropriate, actual, m_bufferedEndTagName.size() * sizeof(UChar));
+ return vectorEqualsString(m_bufferedEndTagName, m_appropriateEndTagName);
}
inline void HTML5Lexer::emitCharacter(UChar character)
@@ -1300,20 +1545,52 @@ inline void HTML5Lexer::emitCharacter(UChar character)
m_token->appendToCharacter(character);
}
+inline void HTML5Lexer::emitCodePoint(unsigned value)
+{
+ if (value < 0xFFFF) {
+ emitCharacter(value);
+ return;
+ }
+ emitCharacter(U16_LEAD(value));
+ emitCharacter(U16_TRAIL(value));
+}
+
inline void HTML5Lexer::emitParseError()
{
notImplemented();
}
+inline void HTML5Lexer::maybeFlushBufferedEndTag()
+{
+ ASSERT(m_token->type() == HTML5Token::Character || m_token->type() == HTML5Token::Uninitialized);
+ if (m_token->type() == HTML5Token::Character) {
+ // We have a character token queued up. We need to emit it before we
+ // can start begin the buffered end tag token.
+ emitCurrentToken();
+ return;
+ }
+ flushBufferedEndTag();
+}
+
+inline void HTML5Lexer::flushBufferedEndTag()
+{
+ m_token->beginEndTag(m_bufferedEndTagName);
+ m_bufferedEndTagName.clear();
+ if (m_state == DataState)
+ emitCurrentToken();
+}
+
inline void HTML5Lexer::emitCurrentToken()
{
+ ASSERT(m_token->type() != HTML5Token::Uninitialized);
m_emitPending = true;
if (m_token->type() == HTML5Token::StartTag)
m_appropriateEndTagName = m_token->name();
}
-inline void HTML5Lexer::emitCurrentDoctypeToken()
+inline bool HTML5Lexer::shouldEmitBufferedCharacterToken(const SegmentedString& source)
{
+ return source.isClosed() && m_token->type() == HTML5Token::Character;
}
}
diff --git a/WebCore/html/HTML5Lexer.h b/WebCore/html/HTML5Lexer.h
index 6d61cc2..08612e6 100644
--- a/WebCore/html/HTML5Lexer.h
+++ b/WebCore/html/HTML5Lexer.h
@@ -108,7 +108,6 @@ namespace WebCore {
AfterDOCTYPESystemIdentifierState,
BogusDOCTYPEState,
CDATASectionState,
- TokenizingCharacterReferencesState,
};
HTML5Lexer();
@@ -123,17 +122,30 @@ namespace WebCore {
void setState(State state) { m_state = state; }
- static unsigned consumeEntity(SegmentedString&, bool& notEnoughCharacters);
+ // Hack to skip leading newline in <pre>/<listing> for authoring ease.
+ // http://www.whatwg.org/specs/web-apps/current-work/multipage/tokenization.html#parsing-main-inbody
+ void skipLeadingNewLineForListing() { m_skipLeadingNewLineForListing = true; }
private:
inline void emitCharacter(UChar);
inline void emitParseError();
inline void emitCurrentToken();
- inline void emitCurrentDoctypeToken();
+ inline void emitCodePoint(unsigned);
- inline bool temporaryBufferIs(const char*);
+ unsigned consumeEntity(SegmentedString&, bool& notEnoughCharacters);
+ inline bool processEntity(SegmentedString& source);
+ inline bool temporaryBufferIs(const String&);
+
+ // Sometimes we speculatively consume input characters and we don't
+ // know whether they represent end tags or RCDATA, etc. These
+ // functions help manage these state.
+ inline void addToPossibleEndTag(UChar cc);
inline bool isAppropriateEndTag();
+ inline void maybeFlushBufferedEndTag();
+ inline void flushBufferedEndTag();
+
+ inline bool shouldEmitBufferedCharacterToken(const SegmentedString&);
State m_state;
@@ -143,6 +155,7 @@ namespace WebCore {
// this member might be pointing to unallocated memory.
HTML5Token* m_token;
+ bool m_skipLeadingNewLineForListing;
bool m_emitPending;
// http://www.whatwg.org/specs/web-apps/current-work/#temporary-buffer
diff --git a/WebCore/html/HTML5ScriptRunner.cpp b/WebCore/html/HTML5ScriptRunner.cpp
new file mode 100644
index 0000000..3e0cd7f
--- /dev/null
+++ b/WebCore/html/HTML5ScriptRunner.cpp
@@ -0,0 +1,247 @@
+/*
+ * Copyright (C) 2010 Google, Inc. All Rights Reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "HTML5ScriptRunner.h"
+
+#include "Attribute.h"
+#include "CachedScript.h"
+#include "DocLoader.h"
+#include "Element.h"
+#include "Event.h"
+#include "Frame.h"
+#include "HTML5ScriptRunnerHost.h"
+#include "HTMLNames.h"
+#include "NotImplemented.h"
+#include "ScriptElement.h"
+#include "ScriptSourceCode.h"
+
+namespace WebCore {
+
+using namespace HTMLNames;
+
+HTML5ScriptRunner::HTML5ScriptRunner(Document* document, HTML5ScriptRunnerHost* host)
+ : m_document(document)
+ , m_host(host)
+ , m_scriptNestingLevel(0)
+ , m_hasScriptsWaitingForStylesheets(false)
+{
+}
+
+HTML5ScriptRunner::~HTML5ScriptRunner()
+{
+ // FIXME: Should we be passed a "done loading/parsing" callback sooner than destruction?
+ if (m_parsingBlockingScript.cachedScript && m_parsingBlockingScript.watchingForLoad)
+ stopWatchingForLoad(m_parsingBlockingScript);
+}
+
+static KURL documentURLForScriptExecution(Document* document)
+{
+ if (!document || !document->frame())
+ return KURL();
+
+ // Use the URL of the currently active document for this frame.
+ return document->frame()->document()->url();
+}
+
+inline PassRefPtr<Event> createScriptLoadEvent()
+{
+ return Event::create(eventNames().loadEvent, false, false);
+}
+
+inline PassRefPtr<Event> createScriptErrorEvent()
+{
+ return Event::create(eventNames().errorEvent, true, false);
+}
+
+ScriptSourceCode HTML5ScriptRunner::sourceFromPendingScript(const PendingScript& script, bool& errorOccurred)
+{
+ if (script.cachedScript) {
+ errorOccurred = script.cachedScript->errorOccurred();
+ ASSERT(script.cachedScript->isLoaded());
+ return ScriptSourceCode(script.cachedScript.get());
+ }
+ errorOccurred = false;
+ // FIXME: Line numbers are wrong.
+ return ScriptSourceCode(script.element->textContent(), documentURLForScriptExecution(m_document));
+}
+
+bool HTML5ScriptRunner::isPendingScriptReady(const PendingScript& script)
+{
+ m_hasScriptsWaitingForStylesheets = !m_document->haveStylesheetsLoaded();
+ if (m_hasScriptsWaitingForStylesheets)
+ return false;
+ if (script.cachedScript && !script.cachedScript->isLoaded())
+ return false;
+ return true;
+}
+
+void HTML5ScriptRunner::executePendingScript()
+{
+ ASSERT(!m_scriptNestingLevel);
+ ASSERT(m_document->haveStylesheetsLoaded());
+ bool errorOccurred = false;
+ ASSERT(isPendingScriptReady(m_parsingBlockingScript));
+ ScriptSourceCode sourceCode = sourceFromPendingScript(m_parsingBlockingScript, errorOccurred);
+
+ // Stop watching loads before executeScript to prevent recursion if the script reloads itself.
+ if (m_parsingBlockingScript.cachedScript && m_parsingBlockingScript.watchingForLoad)
+ stopWatchingForLoad(m_parsingBlockingScript);
+
+ // Clear the pending script before possible rentrancy from executeScript()
+ RefPtr<Element> scriptElement = m_parsingBlockingScript.element.release();
+ m_parsingBlockingScript = PendingScript();
+
+ m_scriptNestingLevel++;
+ if (errorOccurred)
+ scriptElement->dispatchEvent(createScriptErrorEvent());
+ else {
+ executeScript(scriptElement.get(), sourceCode);
+ scriptElement->dispatchEvent(createScriptLoadEvent());
+ }
+ m_scriptNestingLevel--;
+ ASSERT(!m_scriptNestingLevel);
+}
+
+void HTML5ScriptRunner::executeScript(Element* element, const ScriptSourceCode& sourceCode)
+{
+ ScriptElement* scriptElement = toScriptElement(element);
+ ASSERT(scriptElement);
+ if (!scriptElement->shouldExecuteAsJavaScript())
+ return;
+
+ // Always use the delegate to execute the script so that it can save any
+ // necessary state to prepare for rentrancy.
+ m_host->executeScript(sourceCode);
+}
+
+void HTML5ScriptRunner::watchForLoad(PendingScript& pendingScript)
+{
+ ASSERT(!pendingScript.watchingForLoad);
+ m_host->watchForLoad(pendingScript.cachedScript.get());
+ pendingScript.watchingForLoad = true;
+}
+
+void HTML5ScriptRunner::stopWatchingForLoad(PendingScript& pendingScript)
+{
+ ASSERT(pendingScript.watchingForLoad);
+ m_host->stopWatchingForLoad(pendingScript.cachedScript.get());
+ pendingScript.watchingForLoad = false;
+}
+
+// This function should match 10.2.5.11 "An end tag whose tag name is 'script'"
+// Script handling lives outside the tree builder to keep the each class simple.
+bool HTML5ScriptRunner::execute(PassRefPtr<Element> scriptElement)
+{
+ ASSERT(scriptElement);
+ // FIXME: If scripting is disabled, always just return true;
+
+ // Try to execute the script given to us.
+ runScript(scriptElement.get());
+ if (m_scriptNestingLevel)
+ return false; // Don't continue parsing.
+ if (!executeParsingBlockingScripts())
+ return false;
+
+ notImplemented(); // Restore insertion point?
+ // FIXME: Handle re-entrant scripts and m_pendingParsingBlockinScript.
+ return true;
+}
+
+bool HTML5ScriptRunner::executeParsingBlockingScripts()
+{
+ while (m_parsingBlockingScript.element) {
+ // We only really need to check once.
+ if (!isPendingScriptReady(m_parsingBlockingScript))
+ return false;
+ executePendingScript();
+ }
+ return true;
+}
+
+bool HTML5ScriptRunner::executeScriptsWaitingForLoad(CachedResource*)
+{
+ ASSERT(!m_scriptNestingLevel);
+ ASSERT(m_parsingBlockingScript.element);
+ ASSERT(m_parsingBlockingScript.cachedScript->isLoaded());
+ return executeParsingBlockingScripts();
+}
+
+bool HTML5ScriptRunner::executeScriptsWaitingForStylesheets()
+{
+ // Callers should check hasScriptsWaitingForStylesheets() before calling
+ // to prevent parser or script re-entry during </style> parsing.
+ ASSERT(m_hasScriptsWaitingForStylesheets);
+ ASSERT(!m_scriptNestingLevel);
+ ASSERT(m_document->haveStylesheetsLoaded());
+ return executeParsingBlockingScripts();
+}
+
+void HTML5ScriptRunner::requestScript(Element* script)
+{
+ ASSERT(!m_parsingBlockingScript.element);
+ AtomicString srcValue = script->getAttribute(srcAttr);
+ // FIXME: We need to resolve the url relative to the element.
+ m_parsingBlockingScript.element = script;
+ if (!script->dispatchBeforeLoadEvent(srcValue)) // Part of HTML5?
+ return;
+ // This should correctly return 0 for empty or invalid srcValues.
+ CachedScript* cachedScript = m_document->docLoader()->requestScript(srcValue, toScriptElement(script)->scriptCharset());
+ if (!cachedScript) {
+ notImplemented(); // Dispatch error event.
+ return;
+ }
+ m_parsingBlockingScript.cachedScript = cachedScript;
+
+ // We only care about a load callback if cachedScript is not already
+ // in the cache. Callers will attempt to run the m_parsingBlockingScript
+ // if possible before returning control to the parser.
+ if (!m_parsingBlockingScript.cachedScript->isLoaded())
+ watchForLoad(m_parsingBlockingScript);
+}
+
+// This method is meant to match the HTML5 definition of "running a script"
+// http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html#running-a-script
+void HTML5ScriptRunner::runScript(Element* script)
+{
+ ASSERT(!m_parsingBlockingScript.element);
+ m_scriptNestingLevel++;
+ // Check script type and language, current code uses ScriptElement::shouldExecuteAsJavaScript(), but that may not be HTML5 compliant.
+ notImplemented(); // event for support
+
+ if (script->hasAttribute(srcAttr)) {
+ // FIXME: Handle defer and async
+ requestScript(script);
+ } else if (!m_document->haveStylesheetsLoaded()) {
+ m_parsingBlockingScript.element = script;
+ } else {
+ // FIXME: Need a line numbers implemenation.
+ ScriptSourceCode sourceCode(script->textContent(), documentURLForScriptExecution(m_document), 0);
+ executeScript(script, sourceCode);
+ }
+ m_scriptNestingLevel--;
+}
+
+}
diff --git a/WebCore/html/HTML5ScriptRunner.h b/WebCore/html/HTML5ScriptRunner.h
new file mode 100644
index 0000000..c6a03fb
--- /dev/null
+++ b/WebCore/html/HTML5ScriptRunner.h
@@ -0,0 +1,102 @@
+/*
+ * Copyright (C) 2010 Google, Inc. All Rights Reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef HTML5ScriptRunner_h
+#define HTML5ScriptRunner_h
+
+#include "CachedResourceClient.h"
+#include "CachedResourceHandle.h"
+#include <wtf/Noncopyable.h>
+#include <wtf/PassRefPtr.h>
+
+namespace WebCore {
+
+class CachedResourceClient;
+class CachedScript;
+class Document;
+class Element;
+class Frame;
+class HTML5ScriptRunnerHost;
+class ScriptSourceCode;
+
+class HTML5ScriptRunner : public Noncopyable {
+public:
+ HTML5ScriptRunner(Document*, HTML5ScriptRunnerHost*);
+ ~HTML5ScriptRunner();
+
+ // Processes the passed in script and any pending scripts if possible.
+ bool execute(PassRefPtr<Element> scriptToProcess);
+ // Processes any pending scripts.
+ bool executeScriptsWaitingForLoad(CachedResource*);
+ bool hasScriptsWaitingForStylesheets() const { return m_hasScriptsWaitingForStylesheets; }
+ bool executeScriptsWaitingForStylesheets();
+
+ bool inScriptExecution() { return !!m_scriptNestingLevel; }
+
+private:
+ struct PendingScript {
+ PendingScript()
+ : watchingForLoad(false)
+ {
+ }
+
+ RefPtr<Element> element;
+ CachedResourceHandle<CachedScript> cachedScript;
+ bool watchingForLoad; // Did we pass the cachedScript to the HTML5ScriptRunnerHost.
+ // HTML5 has an isReady parameter, however isReady ends up equivalent to
+ // m_document->haveStylesheetsLoaded() && cachedScript->isLoaded()
+ };
+
+ Frame* frame() const;
+
+ bool executeParsingBlockingScripts();
+ void executePendingScript();
+
+ void requestScript(Element*);
+ void runScript(Element*);
+
+ // Helpers for dealing with HTML5ScriptRunnerHost
+ void watchForLoad(PendingScript&);
+ void stopWatchingForLoad(PendingScript&);
+ void executeScript(Element*, const ScriptSourceCode&);
+
+ bool isPendingScriptReady(const PendingScript&);
+ ScriptSourceCode sourceFromPendingScript(const PendingScript&, bool& errorOccurred);
+
+ Document* m_document;
+ HTML5ScriptRunnerHost* m_host;
+ PendingScript m_parsingBlockingScript;
+ unsigned m_scriptNestingLevel;
+
+ // We only want stylesheet loads to trigger script execution if script
+ // execution is currently stopped due to stylesheet loads, otherwise we'd
+ // cause nested sript execution when parsing <style> tags since </style>
+ // tags can cause Document to call executeScriptsWaitingForStylesheets.
+ bool m_hasScriptsWaitingForStylesheets;
+};
+
+}
+
+#endif
diff --git a/WebCore/html/HTML5ScriptRunnerHost.h b/WebCore/html/HTML5ScriptRunnerHost.h
new file mode 100644
index 0000000..730e0fc
--- /dev/null
+++ b/WebCore/html/HTML5ScriptRunnerHost.h
@@ -0,0 +1,49 @@
+/*
+ * Copyright (C) 2010 Google, Inc. All Rights Reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef HTML5ScriptRunnerHost_h
+#define HTML5ScriptRunnerHost_h
+
+namespace WebCore {
+
+class CachedResource;
+class ScriptSourceCode;
+
+class HTML5ScriptRunnerHost {
+public:
+ virtual ~HTML5ScriptRunnerHost() { }
+
+ // Implementors should call cachedResource->addClient() here or soon after.
+ virtual void watchForLoad(CachedResource*) = 0;
+ // Implementors must call cachedResource->removeClient() immediately.
+ virtual void stopWatchingForLoad(CachedResource*) = 0;
+
+ // Implementors should handle possible rentry before/after calling ScriptController::executeScript
+ virtual void executeScript(const ScriptSourceCode&) = 0;
+};
+
+}
+
+#endif
diff --git a/WebCore/html/HTML5Token.h b/WebCore/html/HTML5Token.h
index 1918589..b4188d3 100644
--- a/WebCore/html/HTML5Token.h
+++ b/WebCore/html/HTML5Token.h
@@ -51,6 +51,7 @@ public:
};
typedef WTF::Vector<Attribute> AttributeList;
+ typedef WTF::Vector<UChar, 1024> DataVector;
HTML5Token() { clear(); }
@@ -63,10 +64,10 @@ public:
{
ASSERT(m_type == Uninitialized);
m_type = StartTag;
- m_data.clear();
- m_dataString = AtomicString();
+ clearData();
m_selfClosing = false;
m_currentAttribute = 0;
+ m_attributes.clear();
m_data.append(character);
}
@@ -76,10 +77,10 @@ public:
{
ASSERT(m_type == Uninitialized);
m_type = EndTag;
- m_data.clear();
- m_dataString = AtomicString();
+ clearData();
m_selfClosing = false;
m_currentAttribute = 0;
+ m_attributes.clear();
m_data.append(characters);
}
@@ -88,8 +89,7 @@ public:
{
ASSERT(m_type == Uninitialized);
m_type = Character;
- m_data.clear();
- m_dataString = AtomicString();
+ clearData();
m_data.append(character);
}
@@ -97,8 +97,21 @@ public:
{
ASSERT(m_type == Uninitialized);
m_type = Comment;
- m_data.clear();
- m_dataString = AtomicString();
+ clearData();
+ }
+
+ void beginDOCTYPE()
+ {
+ ASSERT(m_type == Uninitialized);
+ m_type = DOCTYPE;
+ clearData();
+ m_doctypeData.set(new DoctypeData());
+ }
+
+ void beginDOCTYPE(UChar character)
+ {
+ beginDOCTYPE();
+ m_data.append(character);
}
void appendToName(UChar character)
@@ -156,27 +169,108 @@ public:
AtomicString name()
{
ASSERT(m_type == StartTag || m_type == EndTag || m_type == DOCTYPE);
- return dataString();
+ if (!m_data.isEmpty() && m_dataAsNameAtom.isEmpty())
+ m_dataAsNameAtom = AtomicString(adoptDataAsStringImpl());
+ return m_dataAsNameAtom;
+ }
+
+ PassRefPtr<StringImpl> adoptDataAsStringImpl()
+ {
+ ASSERT(!m_dataAsNameAtom); // An attempt to make sure this isn't called twice.
+ return StringImpl::adopt(m_data);
+ }
+
+ const DataVector& characters()
+ {
+ ASSERT(m_type == Character);
+ ASSERT(!m_dataAsNameAtom);
+ return m_data;
+ }
+
+ const DataVector& comment()
+ {
+ ASSERT(m_type == Comment);
+ ASSERT(!m_dataAsNameAtom);
+ return m_data;
}
- AtomicString characters()
+ // FIXME: Should be removed once we stop using the old parser.
+ String takeCharacters()
{
ASSERT(m_type == Character);
- return dataString();
+ return String(adoptDataAsStringImpl());
}
- AtomicString data()
+ // FIXME: Should be removed once we stop using the old parser.
+ String takeComment()
{
ASSERT(m_type == Comment);
- return dataString();
+ return String(adoptDataAsStringImpl());
+ }
+
+ // FIXME: Distinguish between a missing public identifer and an empty one.
+ const WTF::Vector<UChar>& publicIdentifier()
+ {
+ ASSERT(m_type == DOCTYPE);
+ return m_doctypeData->m_publicIdentifier;
+ }
+
+ // FIXME: Distinguish between a missing system identifer and an empty one.
+ const WTF::Vector<UChar>& systemIdentifier()
+ {
+ ASSERT(m_type == DOCTYPE);
+ return m_doctypeData->m_systemIdentifier;
+ }
+
+ void setPublicIdentifierToEmptyString()
+ {
+ ASSERT(m_type == DOCTYPE);
+ m_doctypeData->m_hasPublicIdentifier = true;
+ m_doctypeData->m_publicIdentifier.clear();
+ }
+
+ void setSystemIdentifierToEmptyString()
+ {
+ ASSERT(m_type == DOCTYPE);
+ m_doctypeData->m_hasSystemIdentifier = true;
+ m_doctypeData->m_systemIdentifier.clear();
+ }
+
+ void appendToPublicIdentifier(UChar character)
+ {
+ ASSERT(m_type == DOCTYPE);
+ ASSERT(m_doctypeData->m_hasPublicIdentifier);
+ m_doctypeData->m_publicIdentifier.append(character);
+ }
+
+ void appendToSystemIdentifier(UChar character)
+ {
+ ASSERT(m_type == DOCTYPE);
+ ASSERT(m_doctypeData->m_hasSystemIdentifier);
+ m_doctypeData->m_systemIdentifier.append(character);
}
private:
- AtomicString dataString()
+ class DoctypeData {
+ public:
+ DoctypeData()
+ : m_hasPublicIdentifier(false)
+ , m_hasSystemIdentifier(false)
+ , m_forceQuirks(false)
+ {
+ }
+
+ bool m_hasPublicIdentifier;
+ bool m_hasSystemIdentifier;
+ bool m_forceQuirks;
+ WTF::Vector<UChar> m_publicIdentifier;
+ WTF::Vector<UChar> m_systemIdentifier;
+ };
+
+ void clearData()
{
- if (!m_data.isEmpty() && m_dataString.isEmpty())
- m_dataString = AtomicString(StringImpl::adopt(m_data));
- return m_dataString;
+ m_data.clear();
+ m_dataAsNameAtom = AtomicString();
}
Type m_type;
@@ -184,12 +278,11 @@ private:
// "name" for DOCTYPE, StartTag, and EndTag
// "characters" for Character
// "data" for Comment
- WTF::Vector<UChar, 1024> m_data;
+ DataVector m_data;
+ AtomicString m_dataAsNameAtom;
// For DOCTYPE
- String m_publicIdentifier;
- String m_systemIdentifier;
- bool m_forceQuirks;
+ OwnPtr<DoctypeData> m_doctypeData;
// For StartTag and EndTag
bool m_selfClosing;
@@ -197,8 +290,6 @@ private:
// A pointer into m_attributes used during lexing.
Attribute* m_currentAttribute;
-
- AtomicString m_dataString;
};
}
diff --git a/WebCore/html/HTML5Tokenizer.cpp b/WebCore/html/HTML5Tokenizer.cpp
index c531c7e..0feace5 100644
--- a/WebCore/html/HTML5Tokenizer.cpp
+++ b/WebCore/html/HTML5Tokenizer.cpp
@@ -26,9 +26,12 @@
#include "config.h"
#include "HTML5Tokenizer.h"
+#include "Element.h"
+#include "Frame.h"
#include "HTML5Lexer.h"
-#include "HTML5Token.h"
+#include "HTML5ScriptRunner.h"
#include "HTML5TreeBuilder.h"
+#include "HTMLDocument.h"
#include "Node.h"
#include "NotImplemented.h"
@@ -36,8 +39,11 @@ namespace WebCore {
HTML5Tokenizer::HTML5Tokenizer(HTMLDocument* document, bool reportErrors)
: Tokenizer()
+ , m_document(document)
, m_lexer(new HTML5Lexer)
+ , m_scriptRunner(new HTML5ScriptRunner(document, this))
, m_treeBuilder(new HTML5TreeBuilder(m_lexer.get(), document, reportErrors))
+ , m_wasWaitingOnScriptsDuringFinish(false)
{
begin();
}
@@ -50,33 +56,127 @@ void HTML5Tokenizer::begin()
{
}
-void HTML5Tokenizer::write(const SegmentedString& source, bool)
+void HTML5Tokenizer::pumpLexer()
{
- m_source.append(source);
+ ASSERT(!m_treeBuilder->isPaused());
+ while (m_lexer->nextToken(m_source, m_token)) {
+ m_treeBuilder->constructTreeFromToken(m_token);
+ m_token.clear();
- HTML5Token token;
- while (!m_source.isEmpty()) {
- if (m_lexer->nextToken(m_source, token)) {
- m_treeBuilder->constructTreeFromToken(token);
- token.clear();
- }
+ if (!m_treeBuilder->isPaused())
+ continue;
+
+ // The parser will pause itself when waiting on a script to load or run.
+ // ScriptRunner executes scripts at the right times and handles reentrancy.
+ bool shouldContinueParsing = m_scriptRunner->execute(m_treeBuilder->takeScriptToProcess());
+ m_treeBuilder->setPaused(!shouldContinueParsing);
+ if (!shouldContinueParsing)
+ return;
}
}
+void HTML5Tokenizer::write(const SegmentedString& source, bool)
+{
+ // HTML5Tokenizer::executeScript is responsible for handling saving m_source before re-entry.
+ m_source.append(source);
+ if (!m_treeBuilder->isPaused())
+ pumpLexer();
+}
+
void HTML5Tokenizer::end()
{
+ m_source.close();
+ if (!m_treeBuilder->isPaused())
+ pumpLexer();
m_treeBuilder->finished();
}
void HTML5Tokenizer::finish()
{
+ // finish() indicates we will not receive any more data. If we are waiting on
+ // an external script to load, we can't finish parsing quite yet.
+ if (isWaitingForScripts()) {
+ // FIXME: We might want to use real state enum instead of a bool here.
+ m_wasWaitingOnScriptsDuringFinish = true;
+ return;
+ }
+ // We can't call m_source.close() yet as we may have a <script> execution
+ // pending which will call document.write(). No more data off the network though.
end();
}
+int HTML5Tokenizer::executingScript() const
+{
+ return m_scriptRunner->inScriptExecution();
+}
+
bool HTML5Tokenizer::isWaitingForScripts() const
{
- notImplemented();
- return false;
+ return m_treeBuilder->isPaused();
+}
+
+void HTML5Tokenizer::resumeParsingAfterScriptExecution()
+{
+ ASSERT(!m_scriptRunner->inScriptExecution());
+ ASSERT(!m_treeBuilder->isPaused());
+ pumpLexer();
+ ASSERT(m_treeBuilder->isPaused() || m_source.isEmpty());
+ if (m_source.isEmpty() && m_wasWaitingOnScriptsDuringFinish)
+ end(); // The document already finished parsing we were just waiting on scripts when finished() was called.
+}
+
+void HTML5Tokenizer::watchForLoad(CachedResource* cachedScript)
+{
+ ASSERT(!cachedScript->isLoaded());
+ // addClient would call notifyFinished if the load were complete.
+ // Callers do not expect to be re-entered from this call, so they should
+ // not an already-loaded CachedResource.
+ cachedScript->addClient(this);
+}
+
+void HTML5Tokenizer::stopWatchingForLoad(CachedResource* cachedScript)
+{
+ cachedScript->removeClient(this);
+}
+
+void HTML5Tokenizer::executeScript(const ScriptSourceCode& sourceCode)
+{
+ ASSERT(m_scriptRunner->inScriptExecution());
+ if (!m_document->frame())
+ return;
+
+ SegmentedString oldInsertionPoint = m_source;
+ m_source = SegmentedString();
+ m_document->frame()->script()->executeScript(sourceCode);
+ // Append oldInsertionPoint onto the new (likely empty) m_source instead of
+ // oldInsertionPoint.prepent(m_source) as that would ASSERT if
+ // m_source.escaped() (it had characters pushed back onto it).
+ m_source.append(oldInsertionPoint);
+}
+
+void HTML5Tokenizer::notifyFinished(CachedResource* cachedResource)
+{
+ ASSERT(!m_scriptRunner->inScriptExecution());
+ ASSERT(m_treeBuilder->isPaused());
+ bool shouldContinueParsing = m_scriptRunner->executeScriptsWaitingForLoad(cachedResource);
+ m_treeBuilder->setPaused(!shouldContinueParsing);
+ if (shouldContinueParsing)
+ resumeParsingAfterScriptExecution();
+}
+
+void HTML5Tokenizer::executeScriptsWaitingForStylesheets()
+{
+ // Ignore calls unless we have a script blocking the parser waiting on a
+ // stylesheet load. Otherwise we are currently parsing and this
+ // is a re-entrant call from encountering a </ style> tag.
+ if (!m_scriptRunner->hasScriptsWaitingForStylesheets())
+ return;
+ ASSERT(!m_scriptRunner->inScriptExecution());
+ ASSERT(m_treeBuilder->isPaused());
+ bool shouldContinueParsing = m_scriptRunner->executeScriptsWaitingForStylesheets();
+ m_treeBuilder->setPaused(!shouldContinueParsing);
+ if (shouldContinueParsing)
+ resumeParsingAfterScriptExecution();
}
}
diff --git a/WebCore/html/HTML5Tokenizer.h b/WebCore/html/HTML5Tokenizer.h
index 7d503aa..b96866d 100644
--- a/WebCore/html/HTML5Tokenizer.h
+++ b/WebCore/html/HTML5Tokenizer.h
@@ -27,39 +27,59 @@
#define HTML5Tokenizer_h
#include "CachedResourceClient.h"
+#include "HTML5ScriptRunnerHost.h"
+#include "HTML5Token.h"
#include "SegmentedString.h"
#include "Tokenizer.h"
#include <wtf/OwnPtr.h>
namespace WebCore {
-class HTMLDocument;
-class HTML5TreeBuilder;
class HTML5Lexer;
+class HTML5ScriptRunner;
+class HTML5TreeBuilder;
+class HTMLDocument;
+class ScriptSourceCode;
-// FIXME: This is the wrong layer to hook in the new HTML 5 Lexer,
-// however HTMLTokenizer is too large and too fragile of a class to hack into.
-// Eventually we should split all of the HTML lexer logic out from HTMLTokenizer
-// and then share non-lexer-specific tokenizer logic between HTML5 and the
-// legacy WebKit HTML lexer.
-
-// FIXME: This class is far from complete.
-class HTML5Tokenizer : public Tokenizer, public CachedResourceClient {
+// FIXME: The whole Tokenizer class system should be renamed "Parser"
+// or "ParserController" as the job of this class is to drive parsing process
+// but it does not itself Tokenize.
+class HTML5Tokenizer : public Tokenizer, HTML5ScriptRunnerHost, CachedResourceClient {
public:
HTML5Tokenizer(HTMLDocument*, bool reportErrors);
virtual ~HTML5Tokenizer();
+ // Tokenizer
virtual void begin();
virtual void write(const SegmentedString&, bool appendData);
virtual void end();
virtual void finish();
+ virtual int executingScript() const;
virtual bool isWaitingForScripts() const;
+ virtual void executeScriptsWaitingForStylesheets();
+
+ // HTML5ScriptRunnerHost
+ virtual void watchForLoad(CachedResource*);
+ virtual void stopWatchingForLoad(CachedResource*);
+ virtual void executeScript(const ScriptSourceCode&);
+
+ // CachedResourceClient
+ virtual void notifyFinished(CachedResource*);
private:
+ void pumpLexer();
+ void resumeParsingAfterScriptExecution();
+
SegmentedString m_source;
+ // We hold m_token here because it might be partially complete.
+ HTML5Token m_token;
+
+ HTMLDocument* m_document;
OwnPtr<HTML5Lexer> m_lexer;
+ OwnPtr<HTML5ScriptRunner> m_scriptRunner;
OwnPtr<HTML5TreeBuilder> m_treeBuilder;
+ bool m_wasWaitingOnScriptsDuringFinish;
};
}
diff --git a/WebCore/html/HTML5TreeBuilder.cpp b/WebCore/html/HTML5TreeBuilder.cpp
index af53ac6..0153e94 100644
--- a/WebCore/html/HTML5TreeBuilder.cpp
+++ b/WebCore/html/HTML5TreeBuilder.cpp
@@ -26,19 +26,24 @@
#include "config.h"
#include "HTML5TreeBuilder.h"
-#include "Attribute.h"
+#include "Element.h"
#include "HTML5Lexer.h"
#include "HTML5Token.h"
#include "HTMLDocument.h"
+#include "HTMLNames.h"
#include "HTMLParser.h"
#include "HTMLTokenizer.h"
#include "NotImplemented.h"
+#include <wtf/UnusedParam.h>
namespace WebCore {
+using namespace HTMLNames;
+
HTML5TreeBuilder::HTML5TreeBuilder(HTML5Lexer* lexer, HTMLDocument* document, bool reportErrors)
: m_document(document)
, m_reportErrors(reportErrors)
+ , m_isPaused(false)
, m_lexer(lexer)
, m_legacyHTMLParser(new HTMLParser(document, reportErrors))
{
@@ -52,9 +57,9 @@ static void convertToOldStyle(HTML5Token& token, Token& oldStyleToken)
{
switch (token.type()) {
case HTML5Token::Uninitialized:
+ case HTML5Token::DOCTYPE:
ASSERT_NOT_REACHED();
break;
- case HTML5Token::DOCTYPE:
case HTML5Token::EndOfFile:
ASSERT_NOT_REACHED();
notImplemented();
@@ -80,37 +85,119 @@ static void convertToOldStyle(HTML5Token& token, Token& oldStyleToken)
}
case HTML5Token::Comment:
oldStyleToken.tagName = commentAtom;
- oldStyleToken.text = token.data().impl();
+ oldStyleToken.text = token.takeComment().impl();
break;
case HTML5Token::Character:
oldStyleToken.tagName = textAtom;
- oldStyleToken.text = token.characters().impl();
+ oldStyleToken.text = token.takeCharacters().impl();
break;
}
}
+void HTML5TreeBuilder::handleScriptStartTag()
+{
+ notImplemented(); // The HTML frgment case?
+ m_lexer->setState(HTML5Lexer::ScriptDataState);
+ notImplemented(); // Save insertion mode.
+}
+
+void HTML5TreeBuilder::handleScriptEndTag(Element* scriptElement)
+{
+ ASSERT(!m_scriptToProcess); // Caller never called takeScriptToProcess!
+ notImplemented(); // Save insertion mode and insertion point?
+
+ // Pause ourselves so that parsing stops until the script can be processed by the caller.
+ m_isPaused = true;
+ m_scriptToProcess = scriptElement;
+}
+
+PassRefPtr<Element> HTML5TreeBuilder::takeScriptToProcess()
+{
+ // Unpause ourselves, callers may pause us again when processing the script.
+ // The HTML5 spec is written as though scripts are executed inside the tree
+ // builder. We pause the parser to exit the tree builder, and then resume
+ // before running scripts.
+ m_isPaused = false;
+ return m_scriptToProcess.release();
+}
+
PassRefPtr<Node> HTML5TreeBuilder::passTokenToLegacyParser(HTML5Token& token)
{
- if (token.type() == HTML5Token::StartTag && token.name() == "script") {
- // This work is supposed to be done by the parser, but
- // when using the old parser for we have to do this manually.
- m_lexer->setState(HTML5Lexer::ScriptDataState);
+ if (token.type() == HTML5Token::DOCTYPE) {
+ DoctypeToken doctypeToken;
+ doctypeToken.m_name.append(token.name().characters(), token.name().length());
+ doctypeToken.m_publicID = token.publicIdentifier();
+ doctypeToken.m_systemID = token.systemIdentifier();
+
+ m_legacyHTMLParser->parseDoctypeToken(&doctypeToken);
+ return 0;
}
+
// For now, we translate into an old-style token for testing.
Token oldStyleToken;
convertToOldStyle(token, oldStyleToken);
- return m_legacyHTMLParser->parseToken(&oldStyleToken);
+ RefPtr<Node> result = m_legacyHTMLParser->parseToken(&oldStyleToken);
+ if (token.type() == HTML5Token::StartTag) {
+ // This work is supposed to be done by the parser, but
+ // when using the old parser for we have to do this manually.
+ if (token.name() == scriptTag) {
+ handleScriptStartTag();
+ m_lastScriptElement = static_pointer_cast<Element>(result);
+ } else if (token.name() == textareaTag || token.name() == titleTag)
+ m_lexer->setState(HTML5Lexer::RCDATAState);
+ else if (token.name() == styleTag || token.name() == iframeTag
+ || token.name() == xmpTag || token.name() == noembedTag) {
+ // FIXME: noscript and noframes may conditionally enter this state as well.
+ m_lexer->setState(HTML5Lexer::RAWTEXTState);
+ } else if (token.name() == plaintextTag)
+ m_lexer->setState(HTML5Lexer::PLAINTEXTState);
+ else if (token.name() == preTag || token.name() == listingTag)
+ m_lexer->skipLeadingNewLineForListing();
+ }
+ if (token.type() == HTML5Token::EndTag) {
+ if (token.name() == scriptTag) {
+ if (m_lastScriptElement) {
+ handleScriptEndTag(m_lastScriptElement.get());
+ m_lastScriptElement = 0;
+ }
+ }
+ }
+ return result.release();
}
PassRefPtr<Node> HTML5TreeBuilder::constructTreeFromToken(HTML5Token& token)
{
- return passTokenToLegacyParser(token);
- // Our HTML5 parser implementation will go here in a separate patch.
+ // Make MSVC ignore our unreachable code for now.
+ if (true)
+ return passTokenToLegacyParser(token);
+
+ // HTML5 expects the tokenizer to call the parser every time a character is
+ // emitted. We instead collect characters and call the parser with a batch.
+ // In order to make our first-pass parser code simple, processToken matches
+ // the spec in only handling one character at a time.
+ if (token.type() == HTML5Token::Character) {
+ HTML5Token::DataVector characters = token.characters();
+ HTML5Token::DataVector::const_iterator itr = characters.begin();
+ for (;itr; ++itr)
+ processToken(token, *itr);
+ return 0; // FIXME: Should we be returning the Text node?
+ }
+ return processToken(token);
+}
+
+PassRefPtr<Node> HTML5TreeBuilder::processToken(HTML5Token& token, UChar currentCharacter)
+{
+ UNUSED_PARAM(token);
+ UNUSED_PARAM(currentCharacter);
+ // Implementation coming in the next patch.
+ return 0;
}
void HTML5TreeBuilder::finished()
{
+ // We should call m_document->finishedParsing() here, except
+ // m_legacyHTMLParser->finished() does it for us.
m_legacyHTMLParser->finished();
}
diff --git a/WebCore/html/HTML5TreeBuilder.h b/WebCore/html/HTML5TreeBuilder.h
index 466fd6e..ee5ba47 100644
--- a/WebCore/html/HTML5TreeBuilder.h
+++ b/WebCore/html/HTML5TreeBuilder.h
@@ -29,9 +29,13 @@
#include <wtf/Noncopyable.h>
#include <wtf/OwnPtr.h>
#include <wtf/PassRefPtr.h>
+#include <wtf/RefPtr.h>
+#include <wtf/unicode/Unicode.h>
namespace WebCore {
class Document;
+class Element;
+class Frame;
class HTML5Lexer;
class HTML5Token;
class HTMLDocument;
@@ -43,22 +47,35 @@ public:
HTML5TreeBuilder(HTML5Lexer*, HTMLDocument*, bool reportErrors);
~HTML5TreeBuilder();
+ void setPaused(bool paused) { m_isPaused = paused; }
+ bool isPaused() { return m_isPaused; }
+
// The token really should be passed as a const& since it's never modified.
PassRefPtr<Node> constructTreeFromToken(HTML5Token&);
+ // Must be called when parser is paused before calling the parser again.
+ PassRefPtr<Element> takeScriptToProcess();
+
+ // Done, close any open tags, etc.
void finished();
private:
PassRefPtr<Node> passTokenToLegacyParser(HTML5Token&);
+ PassRefPtr<Node> processToken(HTML5Token&, UChar currentCharacter = 0);
+
+ void handleScriptStartTag();
+ void handleScriptEndTag(Element*);
- // We could grab m_document off the lexer if we wanted to save space.
- Document* m_document;
+ Document* m_document; // This is only used by the m_legacyParser for now.
bool m_reportErrors;
+ bool m_isPaused;
// HTML5 spec requires that we be able to change the state of the lexer
// from within parser actions.
HTML5Lexer* m_lexer;
// We're re-using logic from the old HTMLParser while this class is being written.
OwnPtr<HTMLParser> m_legacyHTMLParser;
+ RefPtr<Element> m_lastScriptElement; // FIXME: This is a hack for <script> support.
+ RefPtr<Element> m_scriptToProcess; // Set to a <script> tag which needs processing.
};
}
diff --git a/WebCore/html/HTMLAudioElement.cpp b/WebCore/html/HTMLAudioElement.cpp
index 6018b52..0b229ff 100644
--- a/WebCore/html/HTMLAudioElement.cpp
+++ b/WebCore/html/HTMLAudioElement.cpp
@@ -41,6 +41,11 @@ HTMLAudioElement::HTMLAudioElement(const QualifiedName& tagName, Document* docum
ASSERT(hasTagName(audioTag));
}
+PassRefPtr<HTMLAudioElement> HTMLAudioElement::create(const QualifiedName& tagName, Document* document)
+{
+ return new HTMLAudioElement(tagName, document);
+}
+
PassRefPtr<HTMLAudioElement> HTMLAudioElement::createForJSConstructor(Document* document, const String& src)
{
RefPtr<HTMLAudioElement> audio = new HTMLAudioElement(audioTag, document);
diff --git a/WebCore/html/HTMLAudioElement.h b/WebCore/html/HTMLAudioElement.h
index 2f06f1a..e453486 100644
--- a/WebCore/html/HTMLAudioElement.h
+++ b/WebCore/html/HTMLAudioElement.h
@@ -36,9 +36,12 @@ namespace WebCore {
class HTMLAudioElement : public HTMLMediaElement {
public:
+ static PassRefPtr<HTMLAudioElement> create(const QualifiedName&, Document*);
static PassRefPtr<HTMLAudioElement> createForJSConstructor(Document*, const String& src);
- HTMLAudioElement(const QualifiedName&, Document*);
+
private:
+ HTMLAudioElement(const QualifiedName&, Document*);
+
virtual bool isVideo() const { return false; }
virtual int tagPriority() const { return 5; }
};
diff --git a/WebCore/html/HTMLBRElement.cpp b/WebCore/html/HTMLBRElement.cpp
index 57dc011..88ddf3b 100644
--- a/WebCore/html/HTMLBRElement.cpp
+++ b/WebCore/html/HTMLBRElement.cpp
@@ -2,7 +2,7 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2000 Simon Hausmann <hausmann@kde.org>
- * Copyright (C) 2003, 2006, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2003, 2006, 2009, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -32,12 +32,22 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLBRElement::HTMLBRElement(const QualifiedName& tagName, Document *doc)
- : HTMLElement(tagName, doc)
+HTMLBRElement::HTMLBRElement(const QualifiedName& tagName, Document* document)
+ : HTMLElement(tagName, document)
{
ASSERT(hasTagName(brTag));
}
+PassRefPtr<HTMLBRElement> HTMLBRElement::create(Document* document)
+{
+ return new HTMLBRElement(brTag, document);
+}
+
+PassRefPtr<HTMLBRElement> HTMLBRElement::create(const QualifiedName& tagName, Document* document)
+{
+ return new HTMLBRElement(tagName, document);
+}
+
bool HTMLBRElement::mapToEntry(const QualifiedName& attrName, MappedAttributeEntry& result) const
{
if (attrName == clearAttr) {
diff --git a/WebCore/html/HTMLBRElement.h b/WebCore/html/HTMLBRElement.h
index 5ae33c8..3bb5af1 100644
--- a/WebCore/html/HTMLBRElement.h
+++ b/WebCore/html/HTMLBRElement.h
@@ -2,7 +2,7 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2000 Simon Hausmann <hausmann@kde.org>
- * Copyright (C) 2003, 2006, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2003, 2006, 2009, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -28,13 +28,14 @@
namespace WebCore {
-class String;
-
class HTMLBRElement : public HTMLElement {
public:
- HTMLBRElement(const QualifiedName&, Document*);
+ static PassRefPtr<HTMLBRElement> create(Document*);
+ static PassRefPtr<HTMLBRElement> create(const QualifiedName&, Document*);
private:
+ HTMLBRElement(const QualifiedName&, Document*);
+
virtual HTMLTagStatus endTagRequirement() const { return TagStatusForbidden; }
virtual int tagPriority() const { return 0; }
@@ -44,6 +45,6 @@ private:
virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
};
-} //namespace
+} // namespace
#endif
diff --git a/WebCore/html/HTMLBaseElement.cpp b/WebCore/html/HTMLBaseElement.cpp
index 862f072..184b9fc 100644
--- a/WebCore/html/HTMLBaseElement.cpp
+++ b/WebCore/html/HTMLBaseElement.cpp
@@ -2,7 +2,7 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2001 Dirk Mueller (mueller@kde.org)
- * Copyright (C) 2003, 2008, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2003, 2008, 2009, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -34,12 +34,17 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLBaseElement::HTMLBaseElement(const QualifiedName& qName, Document* document)
- : HTMLElement(qName, document)
+inline HTMLBaseElement::HTMLBaseElement(const QualifiedName& tagName, Document* document)
+ : HTMLElement(tagName, document)
{
ASSERT(hasTagName(baseTag));
}
+PassRefPtr<HTMLBaseElement> HTMLBaseElement::create(const QualifiedName& tagName, Document* document)
+{
+ return new HTMLBaseElement(tagName, document);
+}
+
void HTMLBaseElement::parseMappedAttribute(Attribute* attr)
{
if (attr->name() == hrefAttr) {
diff --git a/WebCore/html/HTMLBaseElement.h b/WebCore/html/HTMLBaseElement.h
index 993a56f..6c2d2d8 100644
--- a/WebCore/html/HTMLBaseElement.h
+++ b/WebCore/html/HTMLBaseElement.h
@@ -1,7 +1,7 @@
/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2003, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2003, 2009, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -29,9 +29,11 @@ namespace WebCore {
class HTMLBaseElement : public HTMLElement {
public:
- HTMLBaseElement(const QualifiedName&, Document*);
+ static PassRefPtr<HTMLBaseElement> create(const QualifiedName&, Document*);
private:
+ HTMLBaseElement(const QualifiedName&, Document*);
+
virtual HTMLTagStatus endTagRequirement() const { return TagStatusForbidden; }
virtual int tagPriority() const { return 0; }
@@ -51,6 +53,6 @@ private:
String m_target;
};
-} //namespace
+} // namespace
#endif
diff --git a/WebCore/html/HTMLBaseFontElement.cpp b/WebCore/html/HTMLBaseFontElement.cpp
index 9acbf73..1ac9ce6 100644
--- a/WebCore/html/HTMLBaseFontElement.cpp
+++ b/WebCore/html/HTMLBaseFontElement.cpp
@@ -1,7 +1,7 @@
/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2003, 2004, 2005, 2006, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2003, 2004, 2005, 2006, 2009, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -29,12 +29,17 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLBaseFontElement::HTMLBaseFontElement(const QualifiedName& tagName, Document* document)
+inline HTMLBaseFontElement::HTMLBaseFontElement(const QualifiedName& tagName, Document* document)
: HTMLElement(tagName, document)
{
ASSERT(hasTagName(basefontTag));
}
+PassRefPtr<HTMLBaseFontElement> HTMLBaseFontElement::create(const QualifiedName& tagName, Document* document)
+{
+ return new HTMLBaseFontElement(tagName, document);
+}
+
int HTMLBaseFontElement::size() const
{
return getAttribute(sizeAttr).toInt();
diff --git a/WebCore/html/HTMLBaseFontElement.h b/WebCore/html/HTMLBaseFontElement.h
index e76d07f..82f9a32 100644
--- a/WebCore/html/HTMLBaseFontElement.h
+++ b/WebCore/html/HTMLBaseFontElement.h
@@ -1,7 +1,7 @@
/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2003, 2004, 2005, 2006, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2003, 2004, 2005, 2006, 2009, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -29,12 +29,14 @@ namespace WebCore {
class HTMLBaseFontElement : public HTMLElement {
public:
- HTMLBaseFontElement(const QualifiedName&, Document*);
+ static PassRefPtr<HTMLBaseFontElement> create(const QualifiedName&, Document*);
int size() const;
void setSize(int);
private:
+ HTMLBaseFontElement(const QualifiedName&, Document*);
+
virtual HTMLTagStatus endTagRequirement() const { return TagStatusForbidden; }
virtual int tagPriority() const { return 0; }
};
diff --git a/WebCore/html/HTMLBlockquoteElement.cpp b/WebCore/html/HTMLBlockquoteElement.cpp
index c064ad3..88437d8 100644
--- a/WebCore/html/HTMLBlockquoteElement.cpp
+++ b/WebCore/html/HTMLBlockquoteElement.cpp
@@ -1,7 +1,7 @@
/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2003, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2003, 2009, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -35,4 +35,14 @@ HTMLBlockquoteElement::HTMLBlockquoteElement(const QualifiedName& tagName, Docum
ASSERT(hasTagName(blockquoteTag));
}
+PassRefPtr<HTMLBlockquoteElement> HTMLBlockquoteElement::create(Document* document)
+{
+ return new HTMLBlockquoteElement(blockquoteTag, document);
+}
+
+PassRefPtr<HTMLBlockquoteElement> HTMLBlockquoteElement::create(const QualifiedName& tagName, Document* document)
+{
+ return new HTMLBlockquoteElement(tagName, document);
+}
+
}
diff --git a/WebCore/html/HTMLBlockquoteElement.h b/WebCore/html/HTMLBlockquoteElement.h
index f27d258..3f46d63 100644
--- a/WebCore/html/HTMLBlockquoteElement.h
+++ b/WebCore/html/HTMLBlockquoteElement.h
@@ -1,7 +1,7 @@
/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2009 Apple Inc.
+ * Copyright (C) 2009, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -29,9 +29,12 @@ namespace WebCore {
class HTMLBlockquoteElement : public HTMLElement {
public:
- HTMLBlockquoteElement(const QualifiedName&, Document*);
+ static PassRefPtr<HTMLBlockquoteElement> create(Document*);
+ static PassRefPtr<HTMLBlockquoteElement> create(const QualifiedName&, Document*);
private:
+ HTMLBlockquoteElement(const QualifiedName&, Document*);
+
virtual HTMLTagStatus endTagRequirement() const { return TagStatusRequired; }
virtual int tagPriority() const { return 5; }
};
diff --git a/WebCore/html/HTMLBodyElement.cpp b/WebCore/html/HTMLBodyElement.cpp
index 9e39cb3..d52ab6e 100644
--- a/WebCore/html/HTMLBodyElement.cpp
+++ b/WebCore/html/HTMLBodyElement.cpp
@@ -3,7 +3,7 @@
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2000 Simon Hausmann (hausmann@kde.org)
* (C) 2001 Dirk Mueller (mueller@kde.org)
- * Copyright (C) 2004, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2004, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -50,6 +50,16 @@ HTMLBodyElement::HTMLBodyElement(const QualifiedName& tagName, Document* documen
ASSERT(hasTagName(bodyTag));
}
+PassRefPtr<HTMLBodyElement> HTMLBodyElement::create(Document* document)
+{
+ return new HTMLBodyElement(bodyTag, document);
+}
+
+PassRefPtr<HTMLBodyElement> HTMLBodyElement::create(const QualifiedName& tagName, Document* document)
+{
+ return new HTMLBodyElement(tagName, document);
+}
+
HTMLBodyElement::~HTMLBodyElement()
{
if (m_linkDecl) {
@@ -267,7 +277,7 @@ void HTMLBodyElement::setVLink(const String& value)
static int adjustForZoom(int value, FrameView* frameView)
{
- float zoomFactor = frameView->frame()->zoomFactor();
+ float zoomFactor = frameView->zoomFactor();
if (zoomFactor == 1)
return value;
// Needed because of truncation (rather than rounding) when scaling up.
@@ -287,12 +297,12 @@ int HTMLBodyElement::scrollLeft() const
void HTMLBodyElement::setScrollLeft(int scrollLeft)
{
- FrameView* sview = ownerDocument()->view();
- if (sview) {
- // Update the document's layout
- document()->updateLayoutIgnorePendingStylesheets();
- sview->setScrollPosition(IntPoint(static_cast<int>(scrollLeft * sview->frame()->zoomFactor()), sview->scrollY()));
- }
+ Document* document = this->document();
+ document->updateLayoutIgnorePendingStylesheets();
+ FrameView* view = document->view();
+ if (!view)
+ return;
+ view->setScrollPosition(IntPoint(static_cast<int>(scrollLeft * view->zoomFactor()), view->scrollY()));
}
int HTMLBodyElement::scrollTop() const
@@ -306,12 +316,12 @@ int HTMLBodyElement::scrollTop() const
void HTMLBodyElement::setScrollTop(int scrollTop)
{
- FrameView* sview = ownerDocument()->view();
- if (sview) {
- // Update the document's layout
- document()->updateLayoutIgnorePendingStylesheets();
- sview->setScrollPosition(IntPoint(sview->scrollX(), static_cast<int>(scrollTop * sview->frame()->zoomFactor())));
- }
+ Document* document = this->document();
+ document->updateLayoutIgnorePendingStylesheets();
+ FrameView* view = document->view();
+ if (!view)
+ return;
+ view->setScrollPosition(IntPoint(view->scrollX(), static_cast<int>(scrollTop * view->zoomFactor())));
}
int HTMLBodyElement::scrollHeight() const
diff --git a/WebCore/html/HTMLBodyElement.h b/WebCore/html/HTMLBodyElement.h
index f2c1f98..7b32549 100644
--- a/WebCore/html/HTMLBodyElement.h
+++ b/WebCore/html/HTMLBodyElement.h
@@ -2,7 +2,7 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2000 Simon Hausmann <hausmann@kde.org>
- * Copyright (C) 2004, 2006, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2004, 2006, 2009, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -31,7 +31,8 @@ namespace WebCore {
class HTMLBodyElement : public HTMLElement {
public:
- HTMLBodyElement(const QualifiedName&, Document*);
+ static PassRefPtr<HTMLBodyElement> create(Document*);
+ static PassRefPtr<HTMLBodyElement> create(const QualifiedName&, Document*);
virtual ~HTMLBodyElement();
String aLink() const;
@@ -66,6 +67,8 @@ public:
#endif
private:
+ HTMLBodyElement(const QualifiedName&, Document*);
+
virtual HTMLTagStatus endTagRequirement() const { return TagStatusRequired; }
virtual int tagPriority() const { return 10; }
diff --git a/WebCore/html/HTMLButtonElement.cpp b/WebCore/html/HTMLButtonElement.cpp
index 2ef932b..2775b82 100644
--- a/WebCore/html/HTMLButtonElement.cpp
+++ b/WebCore/html/HTMLButtonElement.cpp
@@ -40,16 +40,17 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLButtonElement::HTMLButtonElement(const QualifiedName& tagName, Document* doc, HTMLFormElement* form)
- : HTMLFormControlElement(tagName, doc, form)
+inline HTMLButtonElement::HTMLButtonElement(const QualifiedName& tagName, Document* document, HTMLFormElement* form)
+ : HTMLFormControlElement(tagName, document, form)
, m_type(SUBMIT)
, m_activeSubmit(false)
{
ASSERT(hasTagName(buttonTag));
}
-HTMLButtonElement::~HTMLButtonElement()
+PassRefPtr<HTMLButtonElement> HTMLButtonElement::create(const QualifiedName& tagName, Document* document, HTMLFormElement* form)
{
+ return new HTMLButtonElement(tagName, document, form);
}
RenderObject* HTMLButtonElement::createRenderer(RenderArena* arena, RenderStyle*)
diff --git a/WebCore/html/HTMLButtonElement.h b/WebCore/html/HTMLButtonElement.h
index 92951c3..aefb27a 100644
--- a/WebCore/html/HTMLButtonElement.h
+++ b/WebCore/html/HTMLButtonElement.h
@@ -2,7 +2,7 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2000 Dirk Mueller (mueller@kde.org)
- * Copyright (C) 2004, 2005, 2006, 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2004, 2005, 2006, 2007, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -30,8 +30,18 @@ namespace WebCore {
class HTMLButtonElement : public HTMLFormControlElement {
public:
- HTMLButtonElement(const QualifiedName&, Document*, HTMLFormElement* = 0);
- virtual ~HTMLButtonElement();
+ static PassRefPtr<HTMLButtonElement> create(const QualifiedName&, Document*, HTMLFormElement*);
+
+ String accessKey() const;
+ void setAccessKey(const String&);
+
+ String value() const;
+ void setValue(const String&);
+
+private:
+ HTMLButtonElement(const QualifiedName& tagName, Document*, HTMLFormElement*);
+
+ enum Type { SUBMIT, RESET, BUTTON };
virtual const AtomicString& formControlType() const;
@@ -51,14 +61,6 @@ public:
virtual bool canStartSelection() const { return false; }
- String accessKey() const;
- void setAccessKey(const String&);
-
- String value() const;
- void setValue(const String&);
-
-private:
- enum Type { SUBMIT, RESET, BUTTON };
virtual bool isOptionalFormControl() const { return true; }
virtual bool recalcWillValidate() const { return false; }
diff --git a/WebCore/html/HTMLButtonElement.idl b/WebCore/html/HTMLButtonElement.idl
index 73098fe..cf9f648 100644
--- a/WebCore/html/HTMLButtonElement.idl
+++ b/WebCore/html/HTMLButtonElement.idl
@@ -35,6 +35,7 @@ module html {
boolean checkValidity();
void setCustomValidity(in [ConvertUndefinedOrNullToNullString] DOMString error);
void click();
+ readonly attribute NodeList labels;
};
}
diff --git a/WebCore/html/HTMLCanvasElement.cpp b/WebCore/html/HTMLCanvasElement.cpp
index 205cf28..c9e4620 100644
--- a/WebCore/html/HTMLCanvasElement.cpp
+++ b/WebCore/html/HTMLCanvasElement.cpp
@@ -54,15 +54,25 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLCanvasElement::HTMLCanvasElement(const QualifiedName& tagName, Document* doc)
- : HTMLElement(tagName, doc)
- , CanvasSurface(doc->frame() ? doc->frame()->page()->chrome()->scaleFactor() : 1)
+HTMLCanvasElement::HTMLCanvasElement(const QualifiedName& tagName, Document* document)
+ : HTMLElement(tagName, document)
+ , CanvasSurface(document->frame() ? document->frame()->page()->chrome()->scaleFactor() : 1)
, m_observer(0)
, m_ignoreReset(false)
{
ASSERT(hasTagName(canvasTag));
}
+PassRefPtr<HTMLCanvasElement> HTMLCanvasElement::create(Document* document)
+{
+ return new HTMLCanvasElement(canvasTag, document);
+}
+
+PassRefPtr<HTMLCanvasElement> HTMLCanvasElement::create(const QualifiedName& tagName, Document* document)
+{
+ return new HTMLCanvasElement(tagName, document);
+}
+
HTMLCanvasElement::~HTMLCanvasElement()
{
if (m_observer)
diff --git a/WebCore/html/HTMLCanvasElement.h b/WebCore/html/HTMLCanvasElement.h
index a7f42ce..ebd9378 100644
--- a/WebCore/html/HTMLCanvasElement.h
+++ b/WebCore/html/HTMLCanvasElement.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2006, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2004, 2006, 2009, 2010 Apple Inc. All rights reserved.
* Copyright (C) 2007 Alp Toker <alp@atoker.com>
*
* Redistribution and use in source and binary forms, with or without
@@ -30,10 +30,11 @@
#include "CanvasSurface.h"
#include "FloatRect.h"
#include "HTMLElement.h"
+#include "IntSize.h"
+
#if ENABLE(3D_CANVAS)
#include "GraphicsContext3D.h"
#endif
-#include "IntSize.h"
namespace WebCore {
@@ -54,7 +55,8 @@ public:
class HTMLCanvasElement : public HTMLElement, public CanvasSurface {
public:
- HTMLCanvasElement(const QualifiedName&, Document*);
+ static PassRefPtr<HTMLCanvasElement> create(Document*);
+ static PassRefPtr<HTMLCanvasElement> create(const QualifiedName&, Document*);
virtual ~HTMLCanvasElement();
void setWidth(int);
@@ -105,6 +107,8 @@ public:
#endif
private:
+ HTMLCanvasElement(const QualifiedName&, Document*);
+
#if ENABLE(DASHBOARD_SUPPORT)
virtual HTMLTagStatus endTagRequirement() const;
virtual int tagPriority() const;
diff --git a/WebCore/html/HTMLCanvasElement.idl b/WebCore/html/HTMLCanvasElement.idl
index ea7f982..656d6ae 100644
--- a/WebCore/html/HTMLCanvasElement.idl
+++ b/WebCore/html/HTMLCanvasElement.idl
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2006, 2008, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2010 Torch Mobile (Beijing) Co. Ltd. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -32,7 +33,7 @@ module html {
attribute long width;
attribute long height;
- DOMString toDataURL(in [ConvertUndefinedOrNullToNullString] DOMString type)
+ [Custom] DOMString toDataURL(in [ConvertUndefinedOrNullToNullString] DOMString type)
raises(DOMException);
#if !defined(LANGUAGE_OBJECTIVE_C) || !LANGUAGE_OBJECTIVE_C
diff --git a/WebCore/html/HTMLDListElement.cpp b/WebCore/html/HTMLDListElement.cpp
index 8681332..e3720e0 100644
--- a/WebCore/html/HTMLDListElement.cpp
+++ b/WebCore/html/HTMLDListElement.cpp
@@ -1,6 +1,7 @@
-/**
+/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -18,6 +19,7 @@
* Boston, MA 02110-1301, USA.
*
*/
+
#include "config.h"
#include "HTMLDListElement.h"
@@ -27,12 +29,17 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLDListElement::HTMLDListElement(const QualifiedName& tagName, Document* doc)
- : HTMLElement(tagName, doc)
+inline HTMLDListElement::HTMLDListElement(const QualifiedName& tagName, Document* document)
+ : HTMLElement(tagName, document)
{
ASSERT(hasTagName(dlTag));
}
+PassRefPtr<HTMLDListElement> HTMLDListElement::create(const QualifiedName& tagName, Document* document)
+{
+ return new HTMLDListElement(tagName, document);
+}
+
bool HTMLDListElement::compact() const
{
return !getAttribute(compactAttr).isNull();
diff --git a/WebCore/html/HTMLDListElement.h b/WebCore/html/HTMLDListElement.h
index 49c944b..906109e 100644
--- a/WebCore/html/HTMLDListElement.h
+++ b/WebCore/html/HTMLDListElement.h
@@ -1,6 +1,7 @@
/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -28,13 +29,16 @@ namespace WebCore {
class HTMLDListElement : public HTMLElement {
public:
+ static PassRefPtr<HTMLDListElement> create(const QualifiedName&, Document*);
+
+ bool compact() const;
+ void setCompact(bool);
+
+private:
HTMLDListElement(const QualifiedName&, Document*);
virtual HTMLTagStatus endTagRequirement() const { return TagStatusRequired; }
virtual int tagPriority() const { return 5; }
-
- bool compact() const;
- void setCompact(bool);
};
} //namespace
diff --git a/WebCore/html/HTMLDataGridCellElement.cpp b/WebCore/html/HTMLDataGridCellElement.cpp
index bad8929..3085680 100644
--- a/WebCore/html/HTMLDataGridCellElement.cpp
+++ b/WebCore/html/HTMLDataGridCellElement.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2009, 2010 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -30,17 +30,21 @@
#include "HTMLDataGridCellElement.h"
#include "HTMLNames.h"
-#include "Text.h"
namespace WebCore {
using namespace HTMLNames;
-HTMLDataGridCellElement::HTMLDataGridCellElement(const QualifiedName& name, Document* doc)
- : HTMLElement(name, doc)
+inline HTMLDataGridCellElement::HTMLDataGridCellElement(const QualifiedName& name, Document* document)
+ : HTMLElement(name, document)
{
}
+PassRefPtr<HTMLDataGridCellElement> HTMLDataGridCellElement::create(const QualifiedName& name, Document* document)
+{
+ return new HTMLDataGridCellElement(name, document);
+}
+
String HTMLDataGridCellElement::label() const
{
return getAttribute(labelAttr);
diff --git a/WebCore/html/HTMLDataGridCellElement.h b/WebCore/html/HTMLDataGridCellElement.h
index 270835c..567ec23 100644
--- a/WebCore/html/HTMLDataGridCellElement.h
+++ b/WebCore/html/HTMLDataGridCellElement.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2009, 2010 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -34,11 +34,8 @@ namespace WebCore {
class HTMLDataGridCellElement : public HTMLElement {
public:
- HTMLDataGridCellElement(const QualifiedName&, Document*);
+ static PassRefPtr<HTMLDataGridCellElement> create(const QualifiedName&, Document*);
- virtual HTMLTagStatus endTagRequirement() const { return TagStatusForbidden; }
- virtual int tagPriority() const { return 0; }
-
String label() const;
void setLabel(const String&);
@@ -53,6 +50,13 @@ public:
float progress() const;
void setProgress(float);
+
+private:
+ HTMLDataGridCellElement(const QualifiedName&, Document*);
+
+ virtual HTMLTagStatus endTagRequirement() const { return TagStatusForbidden; }
+ virtual int tagPriority() const { return 0; }
+
};
} // namespace WebCore
diff --git a/WebCore/html/HTMLDataGridColElement.cpp b/WebCore/html/HTMLDataGridColElement.cpp
index 7f02aa5..be2b7f2 100644
--- a/WebCore/html/HTMLDataGridColElement.cpp
+++ b/WebCore/html/HTMLDataGridColElement.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2009, 2010 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -38,12 +38,17 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLDataGridColElement::HTMLDataGridColElement(const QualifiedName& name, Document* doc)
- : HTMLElement(name, doc)
+inline HTMLDataGridColElement::HTMLDataGridColElement(const QualifiedName& name, Document* document)
+ : HTMLElement(name, document)
, m_dataGrid(0)
{
}
+PassRefPtr<HTMLDataGridColElement> HTMLDataGridColElement::create(const QualifiedName& name, Document* document)
+{
+ return new HTMLDataGridColElement(name, document);
+}
+
HTMLDataGridElement* HTMLDataGridColElement::findDataGridAncestor() const
{
if (parent() && parent()->hasTagName(datagridTag))
diff --git a/WebCore/html/HTMLDataGridColElement.h b/WebCore/html/HTMLDataGridColElement.h
index 2ee284b..701bc42 100644
--- a/WebCore/html/HTMLDataGridColElement.h
+++ b/WebCore/html/HTMLDataGridColElement.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2009, 2010 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -37,13 +37,7 @@ class HTMLDataGridElement;
class HTMLDataGridColElement : public HTMLElement {
public:
- HTMLDataGridColElement(const QualifiedName&, Document*);
-
- virtual HTMLTagStatus endTagRequirement() const { return TagStatusForbidden; }
- virtual int tagPriority() const { return 0; }
- virtual void insertedIntoTree(bool /*deep*/);
- virtual void removedFromTree(bool /*deep*/);
- virtual void parseMappedAttribute(Attribute*);
+ static PassRefPtr<HTMLDataGridColElement> create(const QualifiedName&, Document*);
String label() const;
void setLabel(const String&);
@@ -64,6 +58,14 @@ public:
void setColumn(PassRefPtr<DataGridColumn> col) { m_column = col; }
private:
+ HTMLDataGridColElement(const QualifiedName&, Document*);
+
+ virtual HTMLTagStatus endTagRequirement() const { return TagStatusForbidden; }
+ virtual int tagPriority() const { return 0; }
+ virtual void insertedIntoTree(bool /*deep*/);
+ virtual void removedFromTree(bool /*deep*/);
+ virtual void parseMappedAttribute(Attribute*);
+
HTMLDataGridElement* dataGrid() const { return m_dataGrid; }
HTMLDataGridElement* findDataGridAncestor() const;
void ensureColumn();
diff --git a/WebCore/html/HTMLDataGridElement.cpp b/WebCore/html/HTMLDataGridElement.cpp
index bb1f4a6..5753748 100644
--- a/WebCore/html/HTMLDataGridElement.cpp
+++ b/WebCore/html/HTMLDataGridElement.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2009, 2010 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -38,13 +38,18 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLDataGridElement::HTMLDataGridElement(const QualifiedName& tagName, Document* document)
+inline HTMLDataGridElement::HTMLDataGridElement(const QualifiedName& tagName, Document* document)
: HTMLElement(tagName, document)
, m_columns(DataGridColumnList::create(this))
{
setDataSource(DOMDataGridDataSource::create());
}
+PassRefPtr<HTMLDataGridElement> HTMLDataGridElement::create(const QualifiedName& tagName, Document* document)
+{
+ return new HTMLDataGridElement(tagName, document);
+}
+
HTMLDataGridElement::~HTMLDataGridElement()
{
m_columns->clearDataGrid();
diff --git a/WebCore/html/HTMLDataGridElement.h b/WebCore/html/HTMLDataGridElement.h
index 94672c1..e29bf98 100644
--- a/WebCore/html/HTMLDataGridElement.h
+++ b/WebCore/html/HTMLDataGridElement.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2009, 2010 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -31,20 +31,14 @@
#include "DataGridColumnList.h"
#include "DataGridDataSource.h"
#include "HTMLElement.h"
-#include "Timer.h"
namespace WebCore {
class HTMLDataGridElement : public HTMLElement {
public:
- HTMLDataGridElement(const QualifiedName&, Document*);
+ static PassRefPtr<HTMLDataGridElement> create(const QualifiedName&, Document*);
virtual ~HTMLDataGridElement();
- virtual int tagPriority() const { return 6; } // Same as <select>s
- virtual bool checkDTD(const Node*);
-
- virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
-
bool autofocus() const;
void setAutofocus(bool);
@@ -60,6 +54,13 @@ public:
DataGridColumnList* columns() const { return m_columns.get(); }
private:
+ HTMLDataGridElement(const QualifiedName&, Document*);
+
+ virtual int tagPriority() const { return 6; } // Same as <select>s
+ virtual bool checkDTD(const Node*);
+
+ virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
+
RefPtr<DataGridDataSource> m_dataSource;
RefPtr<DataGridColumnList> m_columns;
};
diff --git a/WebCore/html/HTMLDataGridRowElement.cpp b/WebCore/html/HTMLDataGridRowElement.cpp
index c958cbd..bab2a92 100644
--- a/WebCore/html/HTMLDataGridRowElement.cpp
+++ b/WebCore/html/HTMLDataGridRowElement.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2009, 2010 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -30,17 +30,21 @@
#include "HTMLDataGridRowElement.h"
#include "HTMLNames.h"
-#include "Text.h"
namespace WebCore {
using namespace HTMLNames;
-HTMLDataGridRowElement::HTMLDataGridRowElement(const QualifiedName& name, Document* doc)
- : HTMLElement(name, doc)
+inline HTMLDataGridRowElement::HTMLDataGridRowElement(const QualifiedName& name, Document* document)
+ : HTMLElement(name, document)
{
}
+PassRefPtr<HTMLDataGridRowElement> HTMLDataGridRowElement::create(const QualifiedName& name, Document* document)
+{
+ return new HTMLDataGridRowElement(name, document);
+}
+
bool HTMLDataGridRowElement::checkDTD(const Node* newChild)
{
if (newChild->isTextNode())
diff --git a/WebCore/html/HTMLDataGridRowElement.h b/WebCore/html/HTMLDataGridRowElement.h
index eac33e6..81be914 100644
--- a/WebCore/html/HTMLDataGridRowElement.h
+++ b/WebCore/html/HTMLDataGridRowElement.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2009, 2010 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -34,10 +34,7 @@ namespace WebCore {
class HTMLDataGridRowElement : public HTMLElement {
public:
- HTMLDataGridRowElement(const QualifiedName&, Document*);
-
- virtual int tagPriority() const { return 2; } // Same as <option>s.
- virtual bool checkDTD(const Node*);
+ static PassRefPtr<HTMLDataGridRowElement> create(const QualifiedName&, Document*);
bool selected() const;
void setSelected(bool);
@@ -47,6 +44,12 @@ public:
bool expanded() const;
void setExpanded(bool);
+
+private:
+ HTMLDataGridRowElement(const QualifiedName&, Document*);
+
+ virtual int tagPriority() const { return 2; } // Same as <option>s.
+ virtual bool checkDTD(const Node*);
};
} // namespace WebCore
diff --git a/WebCore/html/HTMLDataListElement.cpp b/WebCore/html/HTMLDataListElement.cpp
index a6ca525..a9a60a1 100644
--- a/WebCore/html/HTMLDataListElement.cpp
+++ b/WebCore/html/HTMLDataListElement.cpp
@@ -1,5 +1,6 @@
/*
- * Copyright (c) 2009, Google Inc. All rights reserved.
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
@@ -36,13 +37,14 @@
namespace WebCore {
-HTMLDataListElement::HTMLDataListElement(const QualifiedName& tagName, Document *doc)
- : HTMLElement(tagName, doc)
+inline HTMLDataListElement::HTMLDataListElement(const QualifiedName& tagName, Document* document)
+ : HTMLElement(tagName, document)
{
}
-HTMLDataListElement::~HTMLDataListElement()
+PassRefPtr<HTMLDataListElement> HTMLDataListElement::create(const QualifiedName& tagName, Document* document)
{
+ return new HTMLDataListElement(tagName, document);
}
bool HTMLDataListElement::checkDTD(const Node* newChild)
diff --git a/WebCore/html/HTMLDataListElement.h b/WebCore/html/HTMLDataListElement.h
index 8c4cfbc..3587234 100644
--- a/WebCore/html/HTMLDataListElement.h
+++ b/WebCore/html/HTMLDataListElement.h
@@ -1,5 +1,6 @@
/*
* Copyright (c) 2009, Google Inc. All rights reserved.
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
@@ -38,15 +39,17 @@
namespace WebCore {
- class HTMLDataListElement : public HTMLElement {
- public:
- HTMLDataListElement(const QualifiedName&, Document*);
- virtual ~HTMLDataListElement();
- PassRefPtr<HTMLCollection> options();
+class HTMLDataListElement : public HTMLElement {
+public:
+ static PassRefPtr<HTMLDataListElement> create(const QualifiedName&, Document*);
- private:
- virtual bool checkDTD(const Node*);
- };
+ PassRefPtr<HTMLCollection> options();
+
+private:
+ HTMLDataListElement(const QualifiedName&, Document*);
+
+ virtual bool checkDTD(const Node*);
+};
} // namespace WebCore
diff --git a/WebCore/html/HTMLDivElement.cpp b/WebCore/html/HTMLDivElement.cpp
index 4482946..72f532f 100644
--- a/WebCore/html/HTMLDivElement.cpp
+++ b/WebCore/html/HTMLDivElement.cpp
@@ -1,7 +1,7 @@
-/**
+/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2003 Apple Computer, Inc.
+ * Copyright (C) 2003, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -32,14 +32,20 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLDivElement::HTMLDivElement(const QualifiedName& tagName, Document *doc)
- : HTMLElement(tagName, doc)
+HTMLDivElement::HTMLDivElement(const QualifiedName& tagName, Document* document)
+ : HTMLElement(tagName, document)
{
ASSERT(hasTagName(divTag));
}
-HTMLDivElement::~HTMLDivElement()
+PassRefPtr<HTMLDivElement> HTMLDivElement::create(Document* document)
{
+ return new HTMLDivElement(divTag, document);
+}
+
+PassRefPtr<HTMLDivElement> HTMLDivElement::create(const QualifiedName& tagName, Document* document)
+{
+ return new HTMLDivElement(tagName, document);
}
bool HTMLDivElement::mapToEntry(const QualifiedName& attrName, MappedAttributeEntry& result) const
diff --git a/WebCore/html/HTMLDivElement.h b/WebCore/html/HTMLDivElement.h
index 8359b96..aa60275 100644
--- a/WebCore/html/HTMLDivElement.h
+++ b/WebCore/html/HTMLDivElement.h
@@ -1,6 +1,7 @@
/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -28,17 +29,21 @@ namespace WebCore {
class HTMLDivElement : public HTMLElement {
public:
+ static PassRefPtr<HTMLDivElement> create(Document*);
+ static PassRefPtr<HTMLDivElement> create(const QualifiedName&, Document*);
+
+ String align() const;
+ void setAlign(const String&);
+
+protected:
HTMLDivElement(const QualifiedName&, Document*);
- ~HTMLDivElement();
+private:
virtual HTMLTagStatus endTagRequirement() const { return TagStatusRequired; }
virtual int tagPriority() const { return 5; }
virtual bool mapToEntry(const QualifiedName&, MappedAttributeEntry&) const;
virtual void parseMappedAttribute(Attribute*);
-
- String align() const;
- void setAlign(const String&);
};
} // namespace WebCore
diff --git a/WebCore/html/HTMLDocument.cpp b/WebCore/html/HTMLDocument.cpp
index 5e08a99..f060adb 100644
--- a/WebCore/html/HTMLDocument.cpp
+++ b/WebCore/html/HTMLDocument.cpp
@@ -315,17 +315,21 @@ PassRefPtr<Element> HTMLDocument::createElement(const AtomicString& name, Except
return HTMLElementFactory::createHTMLElement(QualifiedName(nullAtom, name.lower(), xhtmlNamespaceURI), this, 0, false);
}
-static void addItemToMap(HashCountedSet<AtomicStringImpl*>& map, const AtomicString& name)
+void HTMLDocument::addItemToMap(HashCountedSet<AtomicStringImpl*>& map, const AtomicString& name)
{
if (name.isEmpty())
return;
map.add(name.impl());
+ if (Frame* f = frame())
+ f->script()->namedItemAdded(this, name);
}
-static void removeItemFromMap(HashCountedSet<AtomicStringImpl*>& map, const AtomicString& name)
+void HTMLDocument::removeItemFromMap(HashCountedSet<AtomicStringImpl*>& map, const AtomicString& name)
{
if (name.isEmpty())
return;
+ if (Frame* f = frame())
+ f->script()->namedItemRemoved(this, name);
map.remove(name.impl());
}
diff --git a/WebCore/html/HTMLDocument.h b/WebCore/html/HTMLDocument.h
index 4a8dd8b..55cf8ad 100644
--- a/WebCore/html/HTMLDocument.h
+++ b/WebCore/html/HTMLDocument.h
@@ -99,6 +99,9 @@ private:
virtual Tokenizer* createTokenizer();
virtual void determineParseMode();
+ void addItemToMap(HashCountedSet<AtomicStringImpl*>&, const AtomicString&);
+ void removeItemFromMap(HashCountedSet<AtomicStringImpl*>&, const AtomicString&);
+
HashCountedSet<AtomicStringImpl*> m_namedItemCounts;
HashCountedSet<AtomicStringImpl*> m_extraNamedItemCounts;
};
diff --git a/WebCore/html/HTMLElement.cpp b/WebCore/html/HTMLElement.cpp
index a623f24..d95a236 100644
--- a/WebCore/html/HTMLElement.cpp
+++ b/WebCore/html/HTMLElement.cpp
@@ -435,7 +435,7 @@ void HTMLElement::setInnerText(const String& text, ExceptionCode& ec)
return;
}
if (!(c == '\n' && i != 0 && prev == '\r')) {
- fragment->appendChild(new HTMLBRElement(brTag, document()), ec);
+ fragment->appendChild(HTMLBRElement::create(document()), ec);
if (ec)
return;
}
diff --git a/WebCore/html/HTMLFieldSetElement.cpp b/WebCore/html/HTMLFieldSetElement.cpp
index b792075..5e27786 100644
--- a/WebCore/html/HTMLFieldSetElement.cpp
+++ b/WebCore/html/HTMLFieldSetElement.cpp
@@ -2,7 +2,7 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2001 Dirk Mueller (mueller@kde.org)
- * Copyright (C) 2004, 2005, 2006 Apple Computer, Inc.
+ * Copyright (C) 2004, 2005, 2006, 2010 Apple Inc. All rights reserved.
* (C) 2006 Alexey Proskuryakov (ap@nypop.com)
*
* This library is free software; you can redistribute it and/or
@@ -33,14 +33,15 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLFieldSetElement::HTMLFieldSetElement(const QualifiedName& tagName, Document *doc, HTMLFormElement *f)
- : HTMLFormControlElement(tagName, doc, f)
+inline HTMLFieldSetElement::HTMLFieldSetElement(const QualifiedName& tagName, Document* document, HTMLFormElement* form)
+ : HTMLFormControlElement(tagName, document, form)
{
ASSERT(hasTagName(fieldsetTag));
}
-HTMLFieldSetElement::~HTMLFieldSetElement()
+PassRefPtr<HTMLFieldSetElement> HTMLFieldSetElement::create(const QualifiedName& tagName, Document* document, HTMLFormElement* form)
{
+ return new HTMLFieldSetElement(tagName, document, form);
}
bool HTMLFieldSetElement::checkDTD(const Node* newChild)
diff --git a/WebCore/html/HTMLFieldSetElement.h b/WebCore/html/HTMLFieldSetElement.h
index 457fe93..58c3ec4 100644
--- a/WebCore/html/HTMLFieldSetElement.h
+++ b/WebCore/html/HTMLFieldSetElement.h
@@ -2,7 +2,7 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2000 Dirk Mueller (mueller@kde.org)
- * Copyright (C) 2004, 2005, 2006 Apple Computer, Inc.
+ * Copyright (C) 2004, 2005, 2006, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -27,30 +27,23 @@
#include "HTMLFormControlElement.h"
namespace WebCore {
- class RenderStyle;
-}
-
-namespace WebCore {
-
-class HTMLFormElement;
-class Document;
-class Node;
class HTMLFieldSetElement : public HTMLFormControlElement {
public:
- HTMLFieldSetElement(const QualifiedName&, Document*, HTMLFormElement* = 0);
- virtual ~HTMLFieldSetElement();
-
+ static PassRefPtr<HTMLFieldSetElement> create(const QualifiedName&, Document*, HTMLFormElement*);
+
+private:
+ HTMLFieldSetElement(const QualifiedName&, Document*, HTMLFormElement*);
+
virtual int tagPriority() const { return 3; }
virtual bool checkDTD(const Node* newChild);
virtual bool supportsFocus() const;
virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
virtual const AtomicString& formControlType() const;
-private:
virtual bool recalcWillValidate() const { return false; }
};
-} //namespace
+} // namespace
#endif
diff --git a/WebCore/html/HTMLFontElement.cpp b/WebCore/html/HTMLFontElement.cpp
index b6de0b8..ab103b1 100644
--- a/WebCore/html/HTMLFontElement.cpp
+++ b/WebCore/html/HTMLFontElement.cpp
@@ -2,7 +2,7 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2000 Simon Hausmann <hausmann@kde.org>
- * Copyright (C) 2003, 2006, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2003, 2006, 2008, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -40,6 +40,11 @@ HTMLFontElement::HTMLFontElement(const QualifiedName& tagName, Document* documen
ASSERT(hasTagName(fontTag));
}
+PassRefPtr<HTMLFontElement> HTMLFontElement::create(const QualifiedName& tagName, Document* document)
+{
+ return new HTMLFontElement(tagName, document);
+}
+
// Allows leading spaces.
// Allows trailing nonnumeric characters.
// Returns 10 for any size greater than 9.
diff --git a/WebCore/html/HTMLFontElement.h b/WebCore/html/HTMLFontElement.h
index b3439b7..cdf7143 100644
--- a/WebCore/html/HTMLFontElement.h
+++ b/WebCore/html/HTMLFontElement.h
@@ -2,6 +2,7 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2000 Simon Hausmann <hausmann@kde.org>
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -19,6 +20,7 @@
* Boston, MA 02110-1301, USA.
*
*/
+
#ifndef HTMLFontElement_h
#define HTMLFontElement_h
@@ -28,14 +30,8 @@ namespace WebCore {
class HTMLFontElement : public HTMLElement {
public:
- HTMLFontElement(const QualifiedName&, Document*);
+ static PassRefPtr<HTMLFontElement> create(const QualifiedName&, Document*);
- virtual HTMLTagStatus endTagRequirement() const { return TagStatusRequired; }
- virtual int tagPriority() const { return 1; }
-
- virtual bool mapToEntry(const QualifiedName&, MappedAttributeEntry&) const;
- virtual void parseMappedAttribute(Attribute*);
-
String color() const;
void setColor(const String&);
@@ -46,8 +42,17 @@ public:
void setSize(const String&);
static bool cssValueFromFontSizeNumber(const String&, int&);
+
+private:
+ HTMLFontElement(const QualifiedName&, Document*);
+
+ virtual HTMLTagStatus endTagRequirement() const { return TagStatusRequired; }
+ virtual int tagPriority() const { return 1; }
+
+ virtual bool mapToEntry(const QualifiedName&, MappedAttributeEntry&) const;
+ virtual void parseMappedAttribute(Attribute*);
};
-} //namespace
+} // namespace
#endif
diff --git a/WebCore/html/HTMLFormCollection.cpp b/WebCore/html/HTMLFormCollection.cpp
index 65c48fe..e140a03 100644
--- a/WebCore/html/HTMLFormCollection.cpp
+++ b/WebCore/html/HTMLFormCollection.cpp
@@ -1,7 +1,7 @@
/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2003, 2004, 2005, 2006, 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -38,9 +38,9 @@ using namespace HTMLNames;
inline CollectionCache* HTMLFormCollection::formCollectionInfo(HTMLFormElement* form)
{
- if (!form->collectionInfo)
- form->collectionInfo = new CollectionCache;
- return form->collectionInfo;
+ if (!form->m_collectionCache)
+ form->m_collectionCache.set(new CollectionCache);
+ return form->m_collectionCache.get();
}
HTMLFormCollection::HTMLFormCollection(PassRefPtr<HTMLFormElement> form)
@@ -78,16 +78,17 @@ Node* HTMLFormCollection::item(unsigned index) const
info()->elementsArrayPosition = 0;
}
- Vector<HTMLFormControlElement*>& l = static_cast<HTMLFormElement*>(base())->formElements;
+ Vector<HTMLFormControlElement*>& elementsArray = static_cast<HTMLFormElement*>(base())->m_associatedElements;
unsigned currentIndex = info()->position;
- for (unsigned i = info()->elementsArrayPosition; i < l.size(); i++) {
- if (l[i]->isEnumeratable() ) {
+ for (unsigned i = info()->elementsArrayPosition; i < elementsArray.size(); i++) {
+ HTMLFormControlElement* element = elementsArray[i];
+ if (element->isEnumeratable()) {
if (index == currentIndex) {
info()->position = index;
- info()->current = l[i];
+ info()->current = element;
info()->elementsArrayPosition = i;
- return l[i];
+ return element;
}
currentIndex++;
@@ -108,8 +109,8 @@ Element* HTMLFormCollection::getNamedFormItem(const QualifiedName& attrName, con
HTMLFormElement* form = static_cast<HTMLFormElement*>(base());
bool foundInputElements = false;
- for (unsigned i = 0; i < form->formElements.size(); ++i) {
- HTMLFormControlElement* e = form->formElements[i];
+ for (unsigned i = 0; i < form->m_associatedElements.size(); ++i) {
+ HTMLFormControlElement* e = form->m_associatedElements[i];
const QualifiedName& attributeName = (attrName == idAttr) ? e->idAttributeName() : attrName;
if (e->isEnumeratable() && e->getAttribute(attributeName) == name) {
foundInputElements = true;
@@ -120,8 +121,8 @@ Element* HTMLFormCollection::getNamedFormItem(const QualifiedName& attrName, con
}
if (!foundInputElements) {
- for (unsigned i = 0; i < form->imgElements.size(); ++i) {
- HTMLImageElement* e = form->imgElements[i];
+ for (unsigned i = 0; i < form->m_imageElements.size(); ++i) {
+ HTMLImageElement* e = form->m_imageElements[i];
const QualifiedName& attributeName = (attrName == idAttr) ? e->idAttributeName() : attrName;
if (e->getAttribute(attributeName) == name) {
if (!duplicateNumber)
@@ -190,8 +191,8 @@ void HTMLFormCollection::updateNameCache() const
HTMLFormElement* f = static_cast<HTMLFormElement*>(base());
- for (unsigned i = 0; i < f->formElements.size(); ++i) {
- HTMLFormControlElement* e = f->formElements[i];
+ for (unsigned i = 0; i < f->m_associatedElements.size(); ++i) {
+ HTMLFormControlElement* e = f->m_associatedElements[i];
if (e->isEnumeratable()) {
const AtomicString& idAttrVal = e->getAttribute(e->idAttributeName());
const AtomicString& nameAttrVal = e->getAttribute(nameAttr);
@@ -218,8 +219,8 @@ void HTMLFormCollection::updateNameCache() const
}
}
- for (unsigned i = 0; i < f->imgElements.size(); ++i) {
- HTMLImageElement* e = f->imgElements[i];
+ for (unsigned i = 0; i < f->m_imageElements.size(); ++i) {
+ HTMLImageElement* e = f->m_imageElements[i];
const AtomicString& idAttrVal = e->getAttribute(e->idAttributeName());
const AtomicString& nameAttrVal = e->getAttribute(nameAttr);
if (!idAttrVal.isEmpty() && !foundInputElements.contains(idAttrVal.impl())) {
diff --git a/WebCore/html/HTMLFormControlElement.cpp b/WebCore/html/HTMLFormControlElement.cpp
index 5894999..fa5d957 100644
--- a/WebCore/html/HTMLFormControlElement.cpp
+++ b/WebCore/html/HTMLFormControlElement.cpp
@@ -30,6 +30,7 @@
#include "Chrome.h"
#include "ChromeClient.h"
#include "Document.h"
+#include "ElementRareData.h"
#include "Event.h"
#include "EventHandler.h"
#include "EventNames.h"
@@ -39,6 +40,7 @@
#include "HTMLNames.h"
#include "HTMLParser.h"
#include "HTMLTokenizer.h"
+#include "LabelsNodeList.h"
#include "Page.h"
#include "RenderBox.h"
#include "RenderTextControl.h"
@@ -406,11 +408,30 @@ bool HTMLFormControlElement::isLabelable() const
{
// FIXME: Add meterTag and outputTag to the list once we support them.
return hasTagName(buttonTag) || hasTagName(inputTag) || hasTagName(keygenTag)
+#if ENABLE(METER_TAG)
+ || hasTagName(meterTag)
+#endif
#if ENABLE(PROGRESS_TAG)
|| hasTagName(progressTag)
#endif
|| hasTagName(selectTag) || hasTagName(textareaTag);
}
+
+PassRefPtr<NodeList> HTMLFormControlElement::labels()
+{
+ if (!isLabelable())
+ return 0;
+ if (!document())
+ return 0;
+
+ NodeRareData* data = Node::ensureRareData();
+ if (!data->nodeLists()) {
+ data->setNodeLists(NodeListsNodeData::create());
+ document()->addNodeListCache();
+ }
+
+ return LabelsNodeList::create(this);
+}
HTMLFormControlElementWithState::HTMLFormControlElementWithState(const QualifiedName& tagName, Document* doc, HTMLFormElement* f)
: HTMLFormControlElement(tagName, doc, f)
diff --git a/WebCore/html/HTMLFormControlElement.h b/WebCore/html/HTMLFormControlElement.h
index befa67b..b960381 100644
--- a/WebCore/html/HTMLFormControlElement.h
+++ b/WebCore/html/HTMLFormControlElement.h
@@ -2,7 +2,7 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2000 Dirk Mueller (mueller@kde.org)
- * Copyright (C) 2004, 2005, 2006, 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -36,26 +36,14 @@ class VisibleSelection;
class HTMLFormControlElement : public HTMLElement {
public:
- HTMLFormControlElement(const QualifiedName& tagName, Document*, HTMLFormElement*, ConstructionType = CreateHTMLElementZeroRefCount);
virtual ~HTMLFormControlElement();
- virtual HTMLTagStatus endTagRequirement() const { return TagStatusRequired; }
- virtual int tagPriority() const { return 1; }
-
HTMLFormElement* form() const { return m_form; }
ValidityState* validity();
bool formNoValidate() const;
void setFormNoValidate(bool);
- virtual bool isTextFormControl() const { return false; }
- virtual bool isEnabledFormControl() const { return !disabled(); }
-
- virtual void parseMappedAttribute(Attribute*);
- virtual void attach();
- virtual void insertedIntoTree(bool deep);
- virtual void removedFromTree(bool deep);
-
virtual void reset() {}
virtual bool formControlValueMatchesRenderer() const { return m_valueMatchesRenderer; }
@@ -66,13 +54,9 @@ public:
bool disabled() const { return m_disabled; }
void setDisabled(bool);
- virtual bool supportsFocus() const;
virtual bool isFocusable() const;
- virtual bool isKeyboardFocusable(KeyboardEvent*) const;
- virtual bool isMouseFocusable() const;
virtual bool isEnumeratable() const { return false; }
- virtual bool isReadOnlyFormControl() const { return m_readOnly; }
void setReadOnly(bool);
// Determines whether or not a control will be automatically focused
@@ -82,17 +66,14 @@ public:
bool required() const;
void setRequired(bool);
- virtual void recalcStyle(StyleChange);
-
- virtual const AtomicString& formControlName() const;
- virtual const AtomicString& formControlType() const = 0;
-
const AtomicString& type() const { return formControlType(); }
const AtomicString& name() const { return formControlName(); }
void setName(const AtomicString& name);
- virtual bool isFormControlElement() const { return true; }
+ virtual bool isEnabledFormControl() const { return !disabled(); }
+ virtual bool isReadOnlyFormControl() const { return readOnly(); }
+
virtual bool isRadioButton() const { return false; }
virtual bool canTriggerImplicitSubmission() const { return false; }
@@ -105,8 +86,6 @@ public:
virtual bool isActivatedSubmit() const { return false; }
virtual void setActivatedSubmit(bool) { }
- virtual short tabIndex() const;
-
virtual bool willValidate() const;
String validationMessage();
bool checkValidity(Vector<RefPtr<HTMLFormControlElement> >* unhandledInvalidControls = 0);
@@ -119,18 +98,45 @@ public:
void formDestroyed() { m_form = 0; }
- virtual void dispatchFocusEvent();
- virtual void dispatchBlurEvent();
-
bool isLabelable() const;
+ PassRefPtr<NodeList> labels();
+ bool readOnly() const { return m_readOnly; }
+
protected:
+ HTMLFormControlElement(const QualifiedName& tagName, Document*, HTMLFormElement*, ConstructionType = CreateHTMLElementZeroRefCount);
+
+ virtual void parseMappedAttribute(Attribute*);
+ virtual void attach();
+ virtual void insertedIntoTree(bool deep);
+ virtual void removedFromTree(bool deep);
+
+ virtual bool isKeyboardFocusable(KeyboardEvent*) const;
+ virtual bool isMouseFocusable() const;
+
+ virtual void recalcStyle(StyleChange);
+
+ virtual void dispatchFocusEvent();
+ virtual void dispatchBlurEvent();
+
void removeFromForm();
// This must be called any time the result of willValidate() has changed.
void setNeedsWillValidateCheck();
virtual bool recalcWillValidate() const;
private:
+ virtual HTMLTagStatus endTagRequirement() const { return TagStatusRequired; }
+ virtual int tagPriority() const { return 1; }
+
+ virtual const AtomicString& formControlName() const;
+ virtual const AtomicString& formControlType() const = 0;
+
+ virtual bool isFormControlElement() const { return true; }
+
+ virtual bool supportsFocus() const;
+
+ virtual short tabIndex() const;
+
virtual HTMLFormElement* virtualForm() const;
virtual bool isDefaultButtonForForm() const;
virtual bool isValidFormControlElement();
@@ -153,25 +159,25 @@ private:
class HTMLFormControlElementWithState : public HTMLFormControlElement {
public:
- HTMLFormControlElementWithState(const QualifiedName& tagName, Document*, HTMLFormElement*);
virtual ~HTMLFormControlElementWithState();
+protected:
+ HTMLFormControlElementWithState(const QualifiedName& tagName, Document*, HTMLFormElement*);
+
virtual bool autoComplete() const;
- virtual bool shouldSaveAndRestoreFormControlState() const;
- virtual void finishParsingChildren();
-protected:
virtual void willMoveToNewOwnerDocument();
virtual void didMoveToNewOwnerDocument();
virtual void defaultEventHandler(Event*);
+
+private:
+ virtual bool shouldSaveAndRestoreFormControlState() const;
+ virtual void finishParsingChildren();
};
class HTMLTextFormControlElement : public HTMLFormControlElementWithState {
public:
- HTMLTextFormControlElement(const QualifiedName&, Document*, HTMLFormElement*);
virtual ~HTMLTextFormControlElement();
- virtual void dispatchFocusEvent();
- virtual void dispatchBlurEvent();
String strippedPlaceholder() const;
@@ -184,14 +190,22 @@ public:
VisibleSelection selection() const;
protected:
- bool isPlaceholderEmpty() const;
+ HTMLTextFormControlElement(const QualifiedName&, Document*, HTMLFormElement*);
+
bool placeholderShouldBeVisible() const;
void updatePlaceholderVisibility(bool);
- virtual int cachedSelectionStart() const = 0;
- virtual int cachedSelectionEnd() const = 0;
+
virtual void parseMappedAttribute(Attribute*);
private:
+ virtual void dispatchFocusEvent();
+ virtual void dispatchBlurEvent();
+
+ bool isPlaceholderEmpty() const;
+
+ virtual int cachedSelectionStart() const = 0;
+ virtual int cachedSelectionEnd() const = 0;
+
// A subclass should return true if placeholder processing is needed.
virtual bool supportsPlaceholder() const = 0;
// Returns true if user-editable value is empty. This is used to check placeholder visibility.
@@ -203,6 +217,6 @@ private:
RenderTextControl* textRendererAfterUpdateLayout();
};
-} //namespace
+} // namespace
#endif
diff --git a/WebCore/html/HTMLFormElement.cpp b/WebCore/html/HTMLFormElement.cpp
index c84454d..c19933a 100644
--- a/WebCore/html/HTMLFormElement.cpp
+++ b/WebCore/html/HTMLFormElement.cpp
@@ -72,10 +72,8 @@ static int64_t generateFormDataIdentifier()
return ++nextIdentifier;
}
-HTMLFormElement::HTMLFormElement(const QualifiedName& tagName, Document* doc)
- : HTMLElement(tagName, doc)
- , m_elementAliases(0)
- , collectionInfo(0)
+HTMLFormElement::HTMLFormElement(const QualifiedName& tagName, Document* document)
+ : HTMLElement(tagName, document)
, m_autocomplete(true)
, m_insubmit(false)
, m_doingsubmit(false)
@@ -86,18 +84,25 @@ HTMLFormElement::HTMLFormElement(const QualifiedName& tagName, Document* doc)
ASSERT(hasTagName(formTag));
}
+PassRefPtr<HTMLFormElement> HTMLFormElement::create(Document* document)
+{
+ return new HTMLFormElement(formTag, document);
+}
+
+PassRefPtr<HTMLFormElement> HTMLFormElement::create(const QualifiedName& tagName, Document* document)
+{
+ return new HTMLFormElement(tagName, document);
+}
+
HTMLFormElement::~HTMLFormElement()
{
if (!m_autocomplete)
document()->unregisterForDocumentActivationCallbacks(this);
- delete m_elementAliases;
- delete collectionInfo;
-
- for (unsigned i = 0; i < formElements.size(); ++i)
- formElements[i]->formDestroyed();
- for (unsigned i = 0; i < imgElements.size(); ++i)
- imgElements[i]->m_form = 0;
+ for (unsigned i = 0; i < m_associatedElements.size(); ++i)
+ m_associatedElements[i]->formDestroyed();
+ for (unsigned i = 0; i < m_imageElements.size(); ++i)
+ m_imageElements[i]->m_form = 0;
}
bool HTMLFormElement::formWouldHaveSecureSubmission(const String& url)
@@ -105,11 +110,6 @@ bool HTMLFormElement::formWouldHaveSecureSubmission(const String& url)
return document()->completeURL(url).protocolIs("https");
}
-void HTMLFormElement::attach()
-{
- HTMLElement::attach();
-}
-
bool HTMLFormElement::rendererIsNeeded(RenderStyle* style)
{
if (!isDemoted())
@@ -163,11 +163,10 @@ void HTMLFormElement::handleLocalEvents(Event* event)
unsigned HTMLFormElement::length() const
{
- int len = 0;
- for (unsigned i = 0; i < formElements.size(); ++i)
- if (formElements[i]->isEnumeratable())
+ unsigned len = 0;
+ for (unsigned i = 0; i < m_associatedElements.size(); ++i)
+ if (m_associatedElements[i]->isEnumeratable())
++len;
-
return len;
}
@@ -179,8 +178,8 @@ Node* HTMLFormElement::item(unsigned index)
void HTMLFormElement::submitImplicitly(Event* event, bool fromImplicitSubmissionTrigger)
{
int submissionTriggerCount = 0;
- for (unsigned i = 0; i < formElements.size(); ++i) {
- HTMLFormControlElement* formElement = formElements[i];
+ for (unsigned i = 0; i < m_associatedElements.size(); ++i) {
+ HTMLFormControlElement* formElement = m_associatedElements[i];
if (formElement->isSuccessfulSubmitButton()) {
if (formElement->renderer()) {
formElement->dispatchSimulatedClick(event);
@@ -204,8 +203,8 @@ TextEncoding HTMLFormElement::dataEncoding() const
PassRefPtr<FormData> HTMLFormElement::createFormData()
{
RefPtr<DOMFormData> domFormData = DOMFormData::create(dataEncoding().encodingForFormSubmission());
- for (unsigned i = 0; i < formElements.size(); ++i) {
- HTMLFormControlElement* control = formElements[i];
+ for (unsigned i = 0; i < m_associatedElements.size(); ++i) {
+ HTMLFormControlElement* control = m_associatedElements[i];
if (!control->disabled())
control->appendFormData(*domFormData, m_formDataBuilder.isMultiPartForm());
}
@@ -354,8 +353,8 @@ void HTMLFormElement::submit(Event* event, bool activateSubmitButton, bool lockH
Vector<pair<String, String> > formValues;
- for (unsigned i = 0; i < formElements.size(); ++i) {
- HTMLFormControlElement* control = formElements[i];
+ for (unsigned i = 0; i < m_associatedElements.size(); ++i) {
+ HTMLFormControlElement* control = m_associatedElements[i];
if (control->hasLocalName(inputTag)) {
HTMLInputElement* input = static_cast<HTMLInputElement*>(control);
if (input->isTextField()) {
@@ -425,8 +424,8 @@ void HTMLFormElement::reset()
return;
}
- for (unsigned i = 0; i < formElements.size(); ++i)
- formElements[i]->reset();
+ for (unsigned i = 0; i < m_associatedElements.size(); ++i)
+ m_associatedElements[i]->reset();
m_inreset = false;
}
@@ -496,20 +495,20 @@ unsigned HTMLFormElement::formElementIndex(HTMLFormControlElement* e)
++i;
}
}
- return formElements.size();
+ return m_associatedElements.size();
}
void HTMLFormElement::registerFormElement(HTMLFormControlElement* e)
{
document()->checkedRadioButtons().removeButton(e);
m_checkedRadioButtons.addButton(e);
- formElements.insert(formElementIndex(e), e);
+ m_associatedElements.insert(formElementIndex(e), e);
}
void HTMLFormElement::removeFormElement(HTMLFormControlElement* e)
{
m_checkedRadioButtons.removeButton(e);
- removeFromVector(formElements, e);
+ removeFromVector(m_associatedElements, e);
}
bool HTMLFormElement::isURLAttribute(Attribute* attr) const
@@ -519,14 +518,14 @@ bool HTMLFormElement::isURLAttribute(Attribute* attr) const
void HTMLFormElement::registerImgElement(HTMLImageElement* e)
{
- ASSERT(imgElements.find(e) == notFound);
- imgElements.append(e);
+ ASSERT(m_imageElements.find(e) == notFound);
+ m_imageElements.append(e);
}
void HTMLFormElement::removeImgElement(HTMLImageElement* e)
{
- ASSERT(imgElements.find(e) != notFound);
- removeFromVector(imgElements, e);
+ ASSERT(m_imageElements.find(e) != notFound);
+ removeFromVector(m_imageElements, e);
}
PassRefPtr<HTMLCollection> HTMLFormElement::elements()
@@ -596,8 +595,8 @@ void HTMLFormElement::setTarget(const String &value)
HTMLFormControlElement* HTMLFormElement::defaultButton() const
{
- for (unsigned i = 0; i < formElements.size(); ++i) {
- HTMLFormControlElement* control = formElements[i];
+ for (unsigned i = 0; i < m_associatedElements.size(); ++i) {
+ HTMLFormControlElement* control = m_associatedElements[i];
if (control->isSuccessfulSubmitButton())
return control;
}
@@ -615,12 +614,12 @@ bool HTMLFormElement::checkValidity()
void HTMLFormElement::collectUnhandledInvalidControls(Vector<RefPtr<HTMLFormControlElement> >& unhandledInvalidControls)
{
RefPtr<HTMLFormElement> protector(this);
- // Copy formElements because event handlers called from
- // HTMLFormControlElement::checkValidity() might change formElements.
+ // Copy m_associatedElements because event handlers called from
+ // HTMLFormControlElement::checkValidity() might change m_associatedElements.
Vector<RefPtr<HTMLFormControlElement> > elements;
- elements.reserveCapacity(formElements.size());
- for (unsigned i = 0; i < formElements.size(); ++i)
- elements.append(formElements[i]);
+ elements.reserveCapacity(m_associatedElements.size());
+ for (unsigned i = 0; i < m_associatedElements.size(); ++i)
+ elements.append(m_associatedElements[i]);
for (unsigned i = 0; i < elements.size(); ++i) {
if (elements[i]->form() == this)
elements[i]->checkValidity(&unhandledInvalidControls);
@@ -639,7 +638,7 @@ void HTMLFormElement::addElementAlias(HTMLFormControlElement* element, const Ato
if (alias.isEmpty())
return;
if (!m_elementAliases)
- m_elementAliases = new AliasMap;
+ m_elementAliases.set(new AliasMap);
m_elementAliases->set(alias.impl(), element);
}
@@ -670,8 +669,8 @@ void HTMLFormElement::documentDidBecomeActive()
{
ASSERT(!m_autocomplete);
- for (unsigned i = 0; i < formElements.size(); ++i)
- formElements[i]->reset();
+ for (unsigned i = 0; i < m_associatedElements.size(); ++i)
+ m_associatedElements[i]->reset();
}
void HTMLFormElement::willMoveToNewOwnerDocument()
diff --git a/WebCore/html/HTMLFormElement.h b/WebCore/html/HTMLFormElement.h
index e3de222..a49f443 100644
--- a/WebCore/html/HTMLFormElement.h
+++ b/WebCore/html/HTMLFormElement.h
@@ -2,7 +2,7 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2000 Dirk Mueller (mueller@kde.org)
- * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -44,22 +44,13 @@ struct CollectionCache;
class HTMLFormElement : public HTMLElement {
public:
- HTMLFormElement(const QualifiedName&, Document*);
+ static PassRefPtr<HTMLFormElement> create(Document*);
+ static PassRefPtr<HTMLFormElement> create(const QualifiedName&, Document*);
virtual ~HTMLFormElement();
- virtual HTMLTagStatus endTagRequirement() const { return TagStatusRequired; }
- virtual int tagPriority() const { return 3; }
-
- virtual void attach();
- virtual bool rendererIsNeeded(RenderStyle*);
- virtual void insertedIntoDocument();
- virtual void removedFromDocument();
-
- virtual void handleLocalEvents(Event*);
-
PassRefPtr<HTMLCollection> elements();
void getNamedElements(const AtomicString&, Vector<RefPtr<Node> >&);
-
+
unsigned length() const;
Node* item(unsigned index);
@@ -71,8 +62,8 @@ public:
bool autoComplete() const { return m_autocomplete; }
- virtual void parseMappedAttribute(Attribute*);
-
+ // FIXME: Should rename these two functions to say "form control"
+ // or "form-associated element" instead of "form element".
void registerFormElement(HTMLFormControlElement*);
void removeFormElement(HTMLFormControlElement*);
void registerImgElement(HTMLImageElement*);
@@ -89,8 +80,6 @@ public:
void setDemoted(bool demoted) { m_demoted = demoted; }
bool isDemoted() const { return m_demoted; }
- virtual bool isURLAttribute(Attribute*) const;
-
void submitImplicitly(Event*, bool fromImplicitSubmissionTrigger);
bool formWouldHaveSecureSubmission(const String& url);
@@ -119,18 +108,31 @@ public:
PassRefPtr<HTMLFormControlElement> elementForAlias(const AtomicString&);
void addElementAlias(HTMLFormControlElement*, const AtomicString& alias);
- // FIXME: Change this to be private after getting rid of all the clients.
- Vector<HTMLFormControlElement*> formElements;
-
CheckedRadioButtons& checkedRadioButtons() { return m_checkedRadioButtons; }
-
+
+ const Vector<HTMLFormControlElement*>& associatedElements() const { return m_associatedElements; }
+
+private:
+ HTMLFormElement(const QualifiedName&, Document*);
+
+ virtual HTMLTagStatus endTagRequirement() const { return TagStatusRequired; }
+ virtual int tagPriority() const { return 3; }
+
+ virtual bool rendererIsNeeded(RenderStyle*);
+ virtual void insertedIntoDocument();
+ virtual void removedFromDocument();
+
+ virtual void handleLocalEvents(Event*);
+
+ virtual void parseMappedAttribute(Attribute*);
+
+ virtual bool isURLAttribute(Attribute*) const;
+
virtual void documentDidBecomeActive();
-protected:
virtual void willMoveToNewOwnerDocument();
virtual void didMoveToNewOwnerDocument();
-private:
void submit(Event*, bool activateSubmitButton, bool lockHistory, FormSubmissionTrigger);
bool isMailtoForm() const;
@@ -148,12 +150,14 @@ private:
typedef HashMap<RefPtr<AtomicStringImpl>, RefPtr<HTMLFormControlElement> > AliasMap;
FormDataBuilder m_formDataBuilder;
- AliasMap* m_elementAliases;
- CollectionCache* collectionInfo;
+ OwnPtr<AliasMap> m_elementAliases;
+ OwnPtr<CollectionCache> m_collectionCache;
CheckedRadioButtons m_checkedRadioButtons;
- Vector<HTMLImageElement*> imgElements;
+ Vector<HTMLFormControlElement*> m_associatedElements;
+ Vector<HTMLImageElement*> m_imageElements;
+
String m_url;
String m_target;
bool m_autocomplete : 1;
diff --git a/WebCore/html/HTMLFrameElementBase.cpp b/WebCore/html/HTMLFrameElementBase.cpp
index 756dd84..fb05e91 100644
--- a/WebCore/html/HTMLFrameElementBase.cpp
+++ b/WebCore/html/HTMLFrameElementBase.cpp
@@ -71,15 +71,8 @@ bool HTMLFrameElementBase::isURLAllowed() const
return false;
}
- // Don't allow more than 200 total frames in a set. This seems
- // like a reasonable upper bound, and otherwise mutually recursive
- // frameset pages can quickly bring the program to its knees with
- // exponential growth in the number of frames.
- // FIXME: This limit could be higher, but because WebKit has some
- // algorithms that happen while loading which appear to be N^2 or
- // worse in the number of frames, we'll keep it at 200 for now.
if (Frame* parentFrame = document()->frame()) {
- if (parentFrame->page()->frameCount() > 200)
+ if (parentFrame->page()->frameCount() >= Page::maxNumberOfFrames)
return false;
}
diff --git a/WebCore/html/HTMLFrameSetElement.cpp b/WebCore/html/HTMLFrameSetElement.cpp
index b97c498..0181cc9 100644
--- a/WebCore/html/HTMLFrameSetElement.cpp
+++ b/WebCore/html/HTMLFrameSetElement.cpp
@@ -1,9 +1,9 @@
-/**
+/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2000 Simon Hausmann (hausmann@kde.org)
* (C) 2001 Dirk Mueller (mueller@kde.org)
- * Copyright (C) 2004, 2006, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2004, 2006, 2009, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -40,10 +40,8 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLFrameSetElement::HTMLFrameSetElement(const QualifiedName& tagName, Document *doc)
- : HTMLElement(tagName, doc)
- , m_rows(0)
- , m_cols(0)
+HTMLFrameSetElement::HTMLFrameSetElement(const QualifiedName& tagName, Document* document)
+ : HTMLElement(tagName, document)
, m_totalRows(1)
, m_totalCols(1)
, m_border(6)
@@ -56,12 +54,9 @@ HTMLFrameSetElement::HTMLFrameSetElement(const QualifiedName& tagName, Document
ASSERT(hasTagName(framesetTag));
}
-HTMLFrameSetElement::~HTMLFrameSetElement()
+PassRefPtr<HTMLFrameSetElement> HTMLFrameSetElement::create(const QualifiedName& tagName, Document* document)
{
- if (m_rows)
- delete [] m_rows;
- if (m_cols)
- delete [] m_cols;
+ return new HTMLFrameSetElement(tagName, document);
}
bool HTMLFrameSetElement::checkDTD(const Node* newChild)
@@ -87,14 +82,12 @@ void HTMLFrameSetElement::parseMappedAttribute(Attribute* attr)
{
if (attr->name() == rowsAttr) {
if (!attr->isNull()) {
- if (m_rows) delete [] m_rows;
- m_rows = newLengthArray(attr->value().string(), m_totalRows);
+ m_rowLengths.set(newLengthArray(attr->value().string(), m_totalRows));
setNeedsStyleRecalc();
}
} else if (attr->name() == colsAttr) {
if (!attr->isNull()) {
- delete [] m_cols;
- m_cols = newLengthArray(attr->value().string(), m_totalCols);
+ m_colLengths.set(newLengthArray(attr->value().string(), m_totalCols));
setNeedsStyleRecalc();
}
} else if (attr->name() == frameborderAttr) {
diff --git a/WebCore/html/HTMLFrameSetElement.h b/WebCore/html/HTMLFrameSetElement.h
index faf800d..accfbf8 100644
--- a/WebCore/html/HTMLFrameSetElement.h
+++ b/WebCore/html/HTMLFrameSetElement.h
@@ -2,7 +2,7 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2000 Simon Hausmann <hausmann@kde.org>
- * Copyright (C) 2004, 2006, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2004, 2006, 2009, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -24,29 +24,14 @@
#ifndef HTMLFrameSetElement_h
#define HTMLFrameSetElement_h
-#include "Color.h"
-#include "Document.h"
+#include <wtf/OwnArrayPtr.h>
#include "HTMLElement.h"
namespace WebCore {
class HTMLFrameSetElement : public HTMLElement {
public:
- HTMLFrameSetElement(const QualifiedName&, Document*);
- ~HTMLFrameSetElement();
-
- virtual HTMLTagStatus endTagRequirement() const { return TagStatusRequired; }
- virtual int tagPriority() const { return 10; }
- virtual bool checkDTD(const Node* newChild);
-
- virtual bool mapToEntry(const QualifiedName& attrName, MappedAttributeEntry& result) const;
- virtual void parseMappedAttribute(Attribute*);
-
- virtual void attach();
- virtual bool rendererIsNeeded(RenderStyle*);
- virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
-
- virtual void defaultEventHandler(Event*);
+ static PassRefPtr<HTMLFrameSetElement> create(const QualifiedName&, Document*);
bool hasFrameBorder() const { return frameborder; }
bool noResize() const { return noresize; }
@@ -57,16 +42,14 @@ public:
bool hasBorderColor() const { return m_borderColorSet; }
- virtual void recalcStyle(StyleChange);
-
String cols() const;
void setCols(const String&);
String rows() const;
void setRows(const String&);
- const Length* rowLengths() const { return m_rows; }
- const Length* colLengths() const { return m_cols; }
+ const Length* rowLengths() const { return m_rowLengths.get(); }
+ const Length* colLengths() const { return m_colLengths.get(); }
// Declared virtual in Element
DEFINE_WINDOW_ATTRIBUTE_EVENT_LISTENER(blur);
@@ -88,8 +71,25 @@ public:
#endif
private:
- Length* m_rows;
- Length* m_cols;
+ HTMLFrameSetElement(const QualifiedName&, Document*);
+
+ virtual HTMLTagStatus endTagRequirement() const { return TagStatusRequired; }
+ virtual int tagPriority() const { return 10; }
+ virtual bool checkDTD(const Node* newChild);
+
+ virtual bool mapToEntry(const QualifiedName& attrName, MappedAttributeEntry& result) const;
+ virtual void parseMappedAttribute(Attribute*);
+
+ virtual void attach();
+ virtual bool rendererIsNeeded(RenderStyle*);
+ virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
+
+ virtual void defaultEventHandler(Event*);
+
+ virtual void recalcStyle(StyleChange);
+
+ OwnArrayPtr<Length> m_rowLengths;
+ OwnArrayPtr<Length> m_colLengths;
int m_totalRows;
int m_totalCols;
diff --git a/WebCore/html/HTMLHRElement.cpp b/WebCore/html/HTMLHRElement.cpp
index 92fb3b2..b0fc6ff 100644
--- a/WebCore/html/HTMLHRElement.cpp
+++ b/WebCore/html/HTMLHRElement.cpp
@@ -1,7 +1,7 @@
-/**
+/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2003 Apple Computer, Inc.
+ * Copyright (C) 2003, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -32,14 +32,20 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLHRElement::HTMLHRElement(const QualifiedName& tagName, Document* doc)
- : HTMLElement(tagName, doc)
+HTMLHRElement::HTMLHRElement(const QualifiedName& tagName, Document* document)
+ : HTMLElement(tagName, document)
{
ASSERT(hasTagName(hrTag));
}
-HTMLHRElement::~HTMLHRElement()
+PassRefPtr<HTMLHRElement> HTMLHRElement::create(Document* document)
{
+ return new HTMLHRElement(hrTag, document);
+}
+
+PassRefPtr<HTMLHRElement> HTMLHRElement::create(const QualifiedName& tagName, Document* document)
+{
+ return new HTMLHRElement(tagName, document);
}
bool HTMLHRElement::mapToEntry(const QualifiedName& attrName, MappedAttributeEntry& result) const
diff --git a/WebCore/html/HTMLHRElement.h b/WebCore/html/HTMLHRElement.h
index 8763082..ea10c88 100644
--- a/WebCore/html/HTMLHRElement.h
+++ b/WebCore/html/HTMLHRElement.h
@@ -1,6 +1,7 @@
/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -28,15 +29,9 @@ namespace WebCore {
class HTMLHRElement : public HTMLElement {
public:
- HTMLHRElement(const QualifiedName&, Document*);
- ~HTMLHRElement();
-
- virtual HTMLTagStatus endTagRequirement() const { return TagStatusForbidden; }
- virtual int tagPriority() const { return 0; }
+ static PassRefPtr<HTMLHRElement> create(Document*);
+ static PassRefPtr<HTMLHRElement> create(const QualifiedName&, Document*);
- virtual bool mapToEntry(const QualifiedName&, MappedAttributeEntry&) const;
- virtual void parseMappedAttribute(Attribute*);
-
String align() const;
void setAlign(const String&);
@@ -48,6 +43,15 @@ public:
String width() const;
void setWidth(const String&);
+
+private:
+ HTMLHRElement(const QualifiedName&, Document*);
+
+ virtual HTMLTagStatus endTagRequirement() const { return TagStatusForbidden; }
+ virtual int tagPriority() const { return 0; }
+
+ virtual bool mapToEntry(const QualifiedName&, MappedAttributeEntry&) const;
+ virtual void parseMappedAttribute(Attribute*);
};
} // namespace WebCore
diff --git a/WebCore/html/HTMLHeadElement.cpp b/WebCore/html/HTMLHeadElement.cpp
index 5e3c509..df5acb4 100644
--- a/WebCore/html/HTMLHeadElement.cpp
+++ b/WebCore/html/HTMLHeadElement.cpp
@@ -1,9 +1,9 @@
-/**
+/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2000 Simon Hausmann (hausmann@kde.org)
* (C) 2001 Dirk Mueller (mueller@kde.org)
- * Copyright (C) 2004, 2006 Apple Computer, Inc.
+ * Copyright (C) 2004, 2006, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -20,6 +20,7 @@
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
+
#include "config.h"
#include "HTMLHeadElement.h"
@@ -30,14 +31,20 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLHeadElement::HTMLHeadElement(const QualifiedName& qName, Document* doc)
- : HTMLElement(qName, doc)
+HTMLHeadElement::HTMLHeadElement(const QualifiedName& tagName, Document* document)
+ : HTMLElement(tagName, document)
{
ASSERT(hasTagName(headTag));
}
-HTMLHeadElement::~HTMLHeadElement()
+PassRefPtr<HTMLHeadElement> HTMLHeadElement::create(Document* document)
+{
+ return new HTMLHeadElement(headTag, document);
+}
+
+PassRefPtr<HTMLHeadElement> HTMLHeadElement::create(const QualifiedName& tagName, Document* document)
{
+ return new HTMLHeadElement(tagName, document);
}
String HTMLHeadElement::profile() const
diff --git a/WebCore/html/HTMLHeadElement.h b/WebCore/html/HTMLHeadElement.h
index 14a4409..a91f5f8 100644
--- a/WebCore/html/HTMLHeadElement.h
+++ b/WebCore/html/HTMLHeadElement.h
@@ -2,7 +2,7 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2000 Simon Hausmann <hausmann@kde.org>
- * Copyright (C) 2004, 2006 Apple Computer, Inc.
+ * Copyright (C) 2004, 2006, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -30,18 +30,22 @@ namespace WebCore {
class HTMLHeadElement : public HTMLElement {
public:
+ static PassRefPtr<HTMLHeadElement> create(Document*);
+ static PassRefPtr<HTMLHeadElement> create(const QualifiedName&, Document*);
+
+ String profile() const;
+ void setProfile(const String&);
+
+ virtual int tagPriority() const { return 10; }
+
+private:
HTMLHeadElement(const QualifiedName&, Document*);
- ~HTMLHeadElement();
virtual HTMLTagStatus endTagRequirement() const { return TagStatusOptional; }
- virtual int tagPriority() const { return 10; }
virtual bool childAllowed(Node* newChild);
virtual bool checkDTD(const Node* newChild);
-
- String profile() const;
- void setProfile(const String&);
};
-} //namespace
+} // namespace
#endif
diff --git a/WebCore/html/HTMLHeadingElement.cpp b/WebCore/html/HTMLHeadingElement.cpp
index 95c82d1..dd5ae66 100644
--- a/WebCore/html/HTMLHeadingElement.cpp
+++ b/WebCore/html/HTMLHeadingElement.cpp
@@ -1,7 +1,7 @@
-/**
+/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2003 Apple Computer, Inc.
+ * Copyright (C) 2003, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -19,6 +19,7 @@
* Boston, MA 02110-1301, USA.
*
*/
+
#include "config.h"
#include "HTMLHeadingElement.h"
@@ -28,9 +29,14 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLHeadingElement::HTMLHeadingElement(const QualifiedName& tagName, Document *doc)
- : HTMLElement(tagName, doc)
+inline HTMLHeadingElement::HTMLHeadingElement(const QualifiedName& tagName, Document* document)
+ : HTMLElement(tagName, document)
+{
+}
+
+PassRefPtr<HTMLHeadingElement> HTMLHeadingElement::create(const QualifiedName& tagName, Document* document)
{
+ return new HTMLHeadingElement(tagName, document);
}
bool HTMLHeadingElement::checkDTD(const Node* newChild)
diff --git a/WebCore/html/HTMLHeadingElement.h b/WebCore/html/HTMLHeadingElement.h
index 765bede..e783360 100644
--- a/WebCore/html/HTMLHeadingElement.h
+++ b/WebCore/html/HTMLHeadingElement.h
@@ -1,6 +1,7 @@
/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -28,14 +29,17 @@ namespace WebCore {
class HTMLHeadingElement : public HTMLElement {
public:
+ static PassRefPtr<HTMLHeadingElement> create(const QualifiedName&, Document*);
+
+ String align() const;
+ void setAlign(const String&);
+
+private:
HTMLHeadingElement(const QualifiedName&, Document*);
virtual HTMLTagStatus endTagRequirement() const { return TagStatusRequired; }
virtual int tagPriority() const { return 5; }
virtual bool checkDTD(const Node* newChild);
-
- String align() const;
- void setAlign(const String&);
};
} // namespace WebCore
diff --git a/WebCore/html/HTMLHtmlElement.cpp b/WebCore/html/HTMLHtmlElement.cpp
index 8382e60..1949b59 100644
--- a/WebCore/html/HTMLHtmlElement.cpp
+++ b/WebCore/html/HTMLHtmlElement.cpp
@@ -1,9 +1,9 @@
-/**
+/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2000 Simon Hausmann (hausmann@kde.org)
* (C) 2001 Dirk Mueller (mueller@kde.org)
- * Copyright (C) 2004, 2006 Apple Computer, Inc.
+ * Copyright (C) 2004, 2006, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -20,6 +20,7 @@
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
+
#include "config.h"
#include "HTMLHtmlElement.h"
@@ -33,14 +34,20 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLHtmlElement::HTMLHtmlElement(const QualifiedName& tagName, Document* doc)
- : HTMLElement(tagName, doc)
+HTMLHtmlElement::HTMLHtmlElement(const QualifiedName& tagName, Document* document)
+ : HTMLElement(tagName, document)
{
ASSERT(hasTagName(htmlTag));
}
-HTMLHtmlElement::~HTMLHtmlElement()
+PassRefPtr<HTMLHtmlElement> HTMLHtmlElement::create(Document* document)
+{
+ return new HTMLHtmlElement(htmlTag, document);
+}
+
+PassRefPtr<HTMLHtmlElement> HTMLHtmlElement::create(const QualifiedName& tagName, Document* document)
{
+ return new HTMLHtmlElement(tagName, document);
}
String HTMLHtmlElement::version() const
diff --git a/WebCore/html/HTMLHtmlElement.h b/WebCore/html/HTMLHtmlElement.h
index de80ba8..ed04703 100644
--- a/WebCore/html/HTMLHtmlElement.h
+++ b/WebCore/html/HTMLHtmlElement.h
@@ -2,7 +2,7 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2000 Simon Hausmann <hausmann@kde.org>
- * Copyright (C) 2004, 2006 Apple Computer, Inc.
+ * Copyright (C) 2004, 2006, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -30,8 +30,14 @@ namespace WebCore {
class HTMLHtmlElement : public HTMLElement {
public:
+ static PassRefPtr<HTMLHtmlElement> create(Document*);
+ static PassRefPtr<HTMLHtmlElement> create(const QualifiedName&, Document*);
+
+ String version() const;
+ void setVersion(const String&);
+
+private:
HTMLHtmlElement(const QualifiedName&, Document*);
- ~HTMLHtmlElement();
virtual HTMLTagStatus endTagRequirement() const { return TagStatusRequired; }
virtual int tagPriority() const { return 11; }
@@ -40,11 +46,8 @@ public:
#if ENABLE(OFFLINE_WEB_APPLICATIONS)
virtual void insertedIntoDocument();
#endif
-
- String version() const;
- void setVersion(const String&);
};
-} //namespace
+} // namespace
#endif
diff --git a/WebCore/html/HTMLImageElement.cpp b/WebCore/html/HTMLImageElement.cpp
index 5256e6d..5dd036e 100644
--- a/WebCore/html/HTMLImageElement.cpp
+++ b/WebCore/html/HTMLImageElement.cpp
@@ -28,7 +28,7 @@
#include "CSSPropertyNames.h"
#include "CSSValueKeywords.h"
#include "EventNames.h"
-#include "Frame.h"
+#include "FrameView.h"
#include "HTMLDocument.h"
#include "HTMLFormElement.h"
#include "HTMLNames.h"
@@ -41,8 +41,8 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLImageElement::HTMLImageElement(const QualifiedName& tagName, Document* doc, HTMLFormElement* form)
- : HTMLElement(tagName, doc)
+HTMLImageElement::HTMLImageElement(const QualifiedName& tagName, Document* document, HTMLFormElement* form)
+ : HTMLElement(tagName, document)
, m_imageLoader(this)
, ismap(false)
, m_form(form)
@@ -53,6 +53,16 @@ HTMLImageElement::HTMLImageElement(const QualifiedName& tagName, Document* doc,
form->registerImgElement(this);
}
+PassRefPtr<HTMLImageElement> HTMLImageElement::create(Document* document)
+{
+ return new HTMLImageElement(imgTag, document);
+}
+
+PassRefPtr<HTMLImageElement> HTMLImageElement::create(const QualifiedName& tagName, Document* document, HTMLFormElement* form)
+{
+ return new HTMLImageElement(tagName, document, form);
+}
+
HTMLImageElement::~HTMLImageElement()
{
if (m_form)
@@ -255,7 +265,7 @@ int HTMLImageElement::width(bool ignorePendingStylesheets) const
// if the image is available, use its width
if (m_imageLoader.image()) {
- float zoomFactor = document()->frame() ? document()->frame()->pageZoomFactor() : 1.0f;
+ float zoomFactor = document()->view() ? document()->view()->pageZoomFactor() : 1.0f;
return m_imageLoader.image()->imageSize(zoomFactor).width();
}
}
@@ -279,7 +289,7 @@ int HTMLImageElement::height(bool ignorePendingStylesheets) const
// if the image is available, use its height
if (m_imageLoader.image()) {
- float zoomFactor = document()->frame() ? document()->frame()->pageZoomFactor() : 1.0f;
+ float zoomFactor = document()->view() ? document()->view()->pageZoomFactor() : 1.0f;
return m_imageLoader.image()->imageSize(zoomFactor).height();
}
}
diff --git a/WebCore/html/HTMLImageElement.h b/WebCore/html/HTMLImageElement.h
index 61faa39..62d315c 100644
--- a/WebCore/html/HTMLImageElement.h
+++ b/WebCore/html/HTMLImageElement.h
@@ -35,21 +35,11 @@ class HTMLFormElement;
class HTMLImageElement : public HTMLElement {
friend class HTMLFormElement;
public:
+ static PassRefPtr<HTMLImageElement> create(Document*);
+ static PassRefPtr<HTMLImageElement> create(const QualifiedName&, Document*, HTMLFormElement*);
static PassRefPtr<HTMLImageElement> createForJSConstructor(Document*, const int* optionalWidth, const int* optionalHeight);
- HTMLImageElement(const QualifiedName&, Document*, HTMLFormElement* = 0);
- ~HTMLImageElement();
-
- virtual HTMLTagStatus endTagRequirement() const { return TagStatusForbidden; }
- virtual int tagPriority() const { return 0; }
-
- virtual bool mapToEntry(const QualifiedName& attrName, MappedAttributeEntry& result) const;
- virtual void parseMappedAttribute(Attribute*);
-
- virtual void attach();
- virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
-
- virtual bool canStartSelection() const { return false; }
+ virtual ~HTMLImageElement();
int width(bool ignorePendingStylesheets = false) const;
int height(bool ignorePendingStylesheets = false) const;
@@ -61,8 +51,6 @@ public:
String altText() const;
- virtual bool isURLAttribute(Attribute*) const;
-
CompositeOperator compositeOperator() const { return m_compositeOperator; }
CachedImage* cachedImage() const { return m_imageLoader.image(); }
@@ -72,8 +60,6 @@ public:
const AtomicString& alt() const;
- virtual bool draggable() const;
-
void setHeight(int);
int hspace() const;
@@ -103,12 +89,29 @@ public:
bool haveFiredLoadEvent() const { return m_imageLoader.haveFiredLoadEvent(); }
- virtual void addSubresourceAttributeURLs(ListHashSet<KURL>&) const;
-
protected:
+ HTMLImageElement(const QualifiedName&, Document*, HTMLFormElement* = 0);
+
virtual void willMoveToNewOwnerDocument();
private:
+ virtual HTMLTagStatus endTagRequirement() const { return TagStatusForbidden; }
+ virtual int tagPriority() const { return 0; }
+
+ virtual bool mapToEntry(const QualifiedName& attrName, MappedAttributeEntry& result) const;
+ virtual void parseMappedAttribute(Attribute*);
+
+ virtual void attach();
+ virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
+
+ virtual bool canStartSelection() const { return false; }
+
+ virtual bool isURLAttribute(Attribute*) const;
+
+ virtual bool draggable() const;
+
+ virtual void addSubresourceAttributeURLs(ListHashSet<KURL>&) const;
+
virtual void insertedIntoDocument();
virtual void removedFromDocument();
virtual void insertedIntoTree(bool deep);
diff --git a/WebCore/html/HTMLImageLoader.cpp b/WebCore/html/HTMLImageLoader.cpp
index c6f49aa..6e31d9b 100644
--- a/WebCore/html/HTMLImageLoader.cpp
+++ b/WebCore/html/HTMLImageLoader.cpp
@@ -1,7 +1,7 @@
/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2004, 2005, 2006, 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2004, 2005, 2006, 2007, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -30,6 +30,10 @@
#include "HTMLNames.h"
#include "HTMLObjectElement.h"
+#if USE(JSC)
+#include "JSDOMWindowBase.h"
+#endif
+
namespace WebCore {
HTMLImageLoader::HTMLImageLoader(Element* node)
@@ -55,12 +59,21 @@ String HTMLImageLoader::sourceURI(const AtomicString& attr) const
}
void HTMLImageLoader::notifyFinished(CachedResource*)
-{
+{
CachedImage* cachedImage = image();
Element* elem = element();
ImageLoader::notifyFinished(cachedImage);
+#if USE(JSC)
+ if (!cachedImage->errorOccurred() && !cachedImage->httpStatusCodeErrorOccurred()) {
+ if (!elem->inDocument()) {
+ JSC::JSGlobalData* globalData = JSDOMWindowBase::commonJSGlobalData();
+ globalData->heap.reportExtraMemoryCost(cachedImage->encodedSize());
+ }
+ }
+#endif
+
if ((cachedImage->errorOccurred() || cachedImage->httpStatusCodeErrorOccurred()) && elem->hasTagName(HTMLNames::objectTag))
static_cast<HTMLObjectElement*>(elem)->renderFallbackContent();
}
diff --git a/WebCore/html/HTMLInputElement.cpp b/WebCore/html/HTMLInputElement.cpp
index 7994472..9f91277 100644
--- a/WebCore/html/HTMLInputElement.cpp
+++ b/WebCore/html/HTMLInputElement.cpp
@@ -94,23 +94,12 @@ static const double weekDefaultStep = 1.0;
static const double weekStepScaleFactor = 604800000.0;
// Constant values for minimum().
-static const double dateDefaultMinimum = -12219292800000.0; // This means 1582-10-15T00:00Z.
-static const double dateTimeDefaultMinimum = -12219292800000.0; // ditto.
-static const double monthDefaultMinimum = (1582.0 - 1970) * 12 + 10 - 1; // 1582-10
static const double numberDefaultMinimum = -DBL_MAX;
static const double rangeDefaultMinimum = 0.0;
-static const double timeDefaultMinimum = 0.0; // 00:00:00.000
-static const double weekDefaultMinimum = -12212380800000.0; // 1583-01-03, the first Monday of 1583.
// Constant values for maximum().
-static const double dateDefaultMaximum = DBL_MAX;
-static const double dateTimeDefaultMaximum = DBL_MAX;
-// DateComponents::m_year can't represent a year greater than INT_MAX.
-static const double monthDefaultMaximum = (INT_MAX - 1970) * 12.0 + 12 - 1;
static const double numberDefaultMaximum = DBL_MAX;
static const double rangeDefaultMaximum = 100.0;
-static const double timeDefaultMaximum = 86399999.0; // 23:59:59.999
-static const double weekDefaultMaximum = DBL_MAX;
static const double defaultStepBase = 0.0;
static const double weekDefaultStepBase = -259200000.0; // The first day of 1970-W01.
@@ -118,8 +107,8 @@ static const double weekDefaultStepBase = -259200000.0; // The first day of 1970
static const double msecPerMinute = 60 * 1000;
static const double msecPerSecond = 1000;
-HTMLInputElement::HTMLInputElement(const QualifiedName& tagName, Document* doc, HTMLFormElement* f)
- : HTMLTextFormControlElement(tagName, doc, f)
+HTMLInputElement::HTMLInputElement(const QualifiedName& tagName, Document* document, HTMLFormElement* form)
+ : HTMLTextFormControlElement(tagName, document, form)
, m_xPos(0)
, m_yPos(0)
, m_maxResults(-1)
@@ -137,6 +126,11 @@ HTMLInputElement::HTMLInputElement(const QualifiedName& tagName, Document* doc,
ASSERT(hasTagName(inputTag) || hasTagName(isindexTag));
}
+PassRefPtr<HTMLInputElement> HTMLInputElement::create(const QualifiedName& tagName, Document* document, HTMLFormElement* form)
+{
+ return new HTMLInputElement(tagName, document, form);
+}
+
HTMLInputElement::~HTMLInputElement()
{
if (needsActivationCallback())
@@ -381,20 +375,20 @@ double HTMLInputElement::minimum() const
{
switch (inputType()) {
case DATE:
- return parseToDouble(getAttribute(minAttr), dateDefaultMinimum);
+ return parseToDouble(getAttribute(minAttr), DateComponents::minimumDate());
case DATETIME:
case DATETIMELOCAL:
- return parseToDouble(getAttribute(minAttr), dateTimeDefaultMinimum);
+ return parseToDouble(getAttribute(minAttr), DateComponents::minimumDateTime());
case MONTH:
- return parseToDouble(getAttribute(minAttr), monthDefaultMinimum);
+ return parseToDouble(getAttribute(minAttr), DateComponents::minimumMonth());
case NUMBER:
return parseToDouble(getAttribute(minAttr), numberDefaultMinimum);
case RANGE:
return parseToDouble(getAttribute(minAttr), rangeDefaultMinimum);
case TIME:
- return parseToDouble(getAttribute(minAttr), timeDefaultMinimum);
+ return parseToDouble(getAttribute(minAttr), DateComponents::minimumTime());
case WEEK:
- return parseToDouble(getAttribute(minAttr), weekDefaultMinimum);
+ return parseToDouble(getAttribute(minAttr), DateComponents::minimumWeek());
case BUTTON:
case CHECKBOX:
case COLOR:
@@ -421,12 +415,12 @@ double HTMLInputElement::maximum() const
{
switch (inputType()) {
case DATE:
- return parseToDouble(getAttribute(maxAttr), dateDefaultMaximum);
+ return parseToDouble(getAttribute(maxAttr), DateComponents::maximumDate());
case DATETIME:
case DATETIMELOCAL:
- return parseToDouble(getAttribute(maxAttr), dateTimeDefaultMaximum);
+ return parseToDouble(getAttribute(maxAttr), DateComponents::maximumDateTime());
case MONTH:
- return parseToDouble(getAttribute(maxAttr), monthDefaultMaximum);
+ return parseToDouble(getAttribute(maxAttr), DateComponents::maximumMonth());
case NUMBER:
return parseToDouble(getAttribute(maxAttr), numberDefaultMaximum);
case RANGE: {
@@ -439,9 +433,9 @@ double HTMLInputElement::maximum() const
return max;
}
case TIME:
- return parseToDouble(getAttribute(maxAttr), timeDefaultMaximum);
+ return parseToDouble(getAttribute(maxAttr), DateComponents::maximumTime());
case WEEK:
- return parseToDouble(getAttribute(maxAttr), weekDefaultMaximum);
+ return parseToDouble(getAttribute(maxAttr), DateComponents::maximumWeek());
case BUTTON:
case CHECKBOX:
case COLOR:
@@ -2375,7 +2369,7 @@ void HTMLInputElement::defaultEventHandler(Event* evt)
PassRefPtr<HTMLFormElement> HTMLInputElement::createTemporaryFormForIsIndex()
{
- RefPtr<HTMLFormElement> form = new HTMLFormElement(formTag, document());
+ RefPtr<HTMLFormElement> form = HTMLFormElement::create(document());
form->registerFormElement(this);
form->setMethod("GET");
if (!document()->baseURL().isEmpty()) {
diff --git a/WebCore/html/HTMLInputElement.h b/WebCore/html/HTMLInputElement.h
index da9cee7..363a25f 100644
--- a/WebCore/html/HTMLInputElement.h
+++ b/WebCore/html/HTMLInputElement.h
@@ -2,7 +2,7 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2000 Dirk Mueller (mueller@kde.org)
- * Copyright (C) 2004, 2005, 2006, 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2004, 2005, 2006, 2007, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -69,40 +69,11 @@ public:
};
static const int numberOfTypes = WEEK + 1;
- enum AutoCompleteSetting {
- Uninitialized,
- On,
- Off
- };
-
- HTMLInputElement(const QualifiedName&, Document*, HTMLFormElement* = 0);
+ static PassRefPtr<HTMLInputElement> create(const QualifiedName&, Document*, HTMLFormElement*);
virtual ~HTMLInputElement();
- virtual HTMLTagStatus endTagRequirement() const { return TagStatusForbidden; }
- virtual int tagPriority() const { return 0; }
-
- virtual bool isKeyboardFocusable(KeyboardEvent*) const;
- virtual bool isMouseFocusable() const;
- virtual bool isEnumeratable() const { return inputType() != IMAGE; }
- virtual void updateFocusAppearance(bool restorePreviousSelection);
- virtual void aboutToUnload();
- virtual bool shouldUseInputMethod() const;
-
- virtual const AtomicString& formControlName() const;
-
bool autoComplete() const;
- // isChecked is used by the rendering tree/CSS while checked() is used by JS to determine checked state
- virtual bool isChecked() const { return checked() && (inputType() == CHECKBOX || inputType() == RADIO); }
- virtual bool isIndeterminate() const { return indeterminate(); }
-
- bool readOnly() const { return isReadOnlyFormControl(); }
-
- virtual bool isTextFormControl() const { return isTextField(); }
-
- virtual bool valueMissing() const;
- virtual bool patternMismatch() const;
- virtual bool tooLong() const;
// For ValidityState
bool rangeUnderflow() const;
bool rangeOverflow() const;
@@ -130,23 +101,17 @@ public:
virtual bool isSearchField() const { return m_type == SEARCH; }
virtual bool isInputTypeHidden() const { return m_type == HIDDEN; }
virtual bool isPasswordField() const { return m_type == PASSWORD; }
- virtual bool hasSpinButton() const { return m_type == NUMBER || m_type == DATE || m_type == DATETIME || m_type == DATETIMELOCAL || m_type == MONTH || m_type == TIME || m_type == WEEK; }
- virtual bool canTriggerImplicitSubmission() const { return isTextField(); }
bool checked() const { return m_checked; }
void setChecked(bool, bool sendChangeEvent = false);
// 'indeterminate' is a state independent of the checked state that causes the control to draw in a way that hides the actual state.
- bool allowsIndeterminate() const { return inputType() == CHECKBOX || inputType() == RADIO; }
bool indeterminate() const { return m_indeterminate; }
void setIndeterminate(bool);
virtual int size() const;
- virtual const AtomicString& formControlType() const;
- void setType(const String&);
- virtual const String& suggestedValue() const;
- void setSuggestedValue(const String&);
+ void setType(const String&);
virtual String value() const;
virtual void setValue(const String&, bool sendChangeEvent = false);
@@ -161,52 +126,28 @@ public:
virtual String placeholder() const;
virtual void setPlaceholder(const String&);
- virtual bool searchEventsShouldBeDispatched() const;
-
String valueWithDefault() const;
virtual void setValueFromRenderer(const String&);
void setFileListFromRenderer(const Vector<String>&);
- virtual bool saveFormControlState(String& value) const;
- virtual void restoreFormControlState(const String&);
-
- virtual bool canStartSelection() const;
-
bool canHaveSelection() const;
virtual void select() { HTMLTextFormControlElement::select(); }
- virtual void accessKeyAction(bool sendToAnyElement);
-
- virtual bool mapToEntry(const QualifiedName& attrName, MappedAttributeEntry& result) const;
- virtual void parseMappedAttribute(Attribute*);
-
- virtual void copyNonAttributeProperties(const Element* source);
-
- virtual void attach();
virtual bool rendererIsNeeded(RenderStyle*);
virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
virtual void detach();
- virtual bool appendFormData(FormDataList&, bool);
- virtual bool isSuccessfulSubmitButton() const;
+ // FIXME: For isActivatedSubmit and setActivatedSubmit, we should use the NVI-idiom here by making
+ // it private virtual in all classes and expose a public method in HTMLFormControlElement to call
+ // the private virtual method.
virtual bool isActivatedSubmit() const;
virtual void setActivatedSubmit(bool flag);
InputType inputType() const { return static_cast<InputType>(m_type); }
void setInputType(const String&);
-
- // Report if this input type uses height & width attributes
- bool respectHeightAndWidthAttrs() const { return inputType() == IMAGE || inputType() == HIDDEN; }
-
- virtual void reset();
-
- virtual void* preDispatchEventHandler(Event*);
- virtual void postDispatchEventHandler(Event*, void* dataFromPreDispatch);
String altText() const;
-
- virtual bool isURLAttribute(Attribute*) const;
int maxResults() const { return m_maxResults; }
@@ -235,11 +176,6 @@ public:
KURL src() const;
void setSrc(const String&);
-#if ENABLE(DATALIST)
- HTMLElement* list() const;
- HTMLOptionElement* selectedOption() const;
-#endif
-
int maxLength() const;
void setMaxLength(int, ExceptionCode&);
@@ -254,32 +190,100 @@ public:
FileList* files();
- virtual void cacheSelection(int start, int end);
void addSearchResult();
void onSearch();
- virtual String sanitizeValue(const String&) const;
-
- virtual void documentDidBecomeActive();
-
- virtual void addSubresourceAttributeURLs(ListHashSet<KURL>&) const;
-
// Parses the specified string as the InputType, and returns true if it is successfully parsed.
// An instance pointed by the DateComponents* parameter will have parsed values and be
// modified even if the parsing fails. The DateComponents* parameter may be 0.
static bool parseToDateComponents(InputType, const String&, DateComponents*);
-#if ENABLE(WCSS)
- void setWapInputFormat(String& mask);
- virtual InputElementData data() const { return m_data; }
+#if ENABLE(DATALIST)
+ HTMLElement* list() const;
+ HTMLOptionElement* selectedOption() const;
#endif
-
+
protected:
- virtual void willMoveToNewOwnerDocument();
- virtual void didMoveToNewOwnerDocument();
+ HTMLInputElement(const QualifiedName&, Document*, HTMLFormElement* = 0);
+
virtual void defaultEventHandler(Event*);
private:
+ enum AutoCompleteSetting { Uninitialized, On, Off };
+
+ virtual void willMoveToNewOwnerDocument();
+ virtual void didMoveToNewOwnerDocument();
+
+ virtual HTMLTagStatus endTagRequirement() const { return TagStatusForbidden; }
+ virtual int tagPriority() const { return 0; }
+
+ virtual bool isKeyboardFocusable(KeyboardEvent*) const;
+ virtual bool isMouseFocusable() const;
+ virtual bool isEnumeratable() const { return inputType() != IMAGE; }
+ virtual void updateFocusAppearance(bool restorePreviousSelection);
+ virtual void aboutToUnload();
+ virtual bool shouldUseInputMethod() const;
+
+ virtual const AtomicString& formControlName() const;
+
+ // isChecked is used by the rendering tree/CSS while checked() is used by JS to determine checked state
+ virtual bool isChecked() const { return checked() && (inputType() == CHECKBOX || inputType() == RADIO); }
+ virtual bool isIndeterminate() const { return indeterminate(); }
+
+ virtual bool isTextFormControl() const { return isTextField(); }
+
+ virtual bool valueMissing() const;
+ virtual bool patternMismatch() const;
+ virtual bool tooLong() const;
+
+ virtual bool hasSpinButton() const { return m_type == NUMBER || m_type == DATE || m_type == DATETIME || m_type == DATETIMELOCAL || m_type == MONTH || m_type == TIME || m_type == WEEK; }
+ virtual bool canTriggerImplicitSubmission() const { return isTextField(); }
+
+ bool allowsIndeterminate() const { return inputType() == CHECKBOX || inputType() == RADIO; }
+
+ virtual const AtomicString& formControlType() const;
+
+ virtual const String& suggestedValue() const;
+ void setSuggestedValue(const String&);
+
+ virtual bool searchEventsShouldBeDispatched() const;
+
+ virtual bool saveFormControlState(String& value) const;
+ virtual void restoreFormControlState(const String&);
+
+ virtual bool canStartSelection() const;
+
+ virtual void accessKeyAction(bool sendToAnyElement);
+
+ virtual bool mapToEntry(const QualifiedName& attrName, MappedAttributeEntry& result) const;
+ virtual void parseMappedAttribute(Attribute*);
+
+ virtual void copyNonAttributeProperties(const Element* source);
+
+ virtual void attach();
+
+ virtual bool appendFormData(FormDataList&, bool);
+
+ virtual bool isSuccessfulSubmitButton() const;
+
+ // Report if this input type uses height & width attributes
+ bool respectHeightAndWidthAttrs() const { return inputType() == IMAGE || inputType() == HIDDEN; }
+
+ virtual void reset();
+
+ virtual void* preDispatchEventHandler(Event*);
+ virtual void postDispatchEventHandler(Event*, void* dataFromPreDispatch);
+
+ virtual bool isURLAttribute(Attribute*) const;
+
+ virtual void cacheSelection(int start, int end);
+
+ virtual String sanitizeValue(const String&) const;
+
+ virtual void documentDidBecomeActive();
+
+ virtual void addSubresourceAttributeURLs(ListHashSet<KURL>&) const;
+
bool storesValueSeparateFromAttribute() const;
bool needsActivationCallback();
@@ -325,6 +329,11 @@ private:
HTMLDataListElement* dataList() const;
#endif
+#if ENABLE(WCSS)
+ void setWapInputFormat(String& mask);
+ virtual InputElementData data() const { return m_data; }
+#endif
+
InputElementData m_data;
int m_xPos;
int m_yPos;
diff --git a/WebCore/html/HTMLInputElement.idl b/WebCore/html/HTMLInputElement.idl
index 4563120..83b04e7 100644
--- a/WebCore/html/HTMLInputElement.idl
+++ b/WebCore/html/HTMLInputElement.idl
@@ -95,6 +95,7 @@ module html {
#endif
readonly attribute FileList files;
+ readonly attribute NodeList labels;
};
}
diff --git a/WebCore/html/HTMLIsIndexElement.cpp b/WebCore/html/HTMLIsIndexElement.cpp
index 5cc73de..d382af5 100644
--- a/WebCore/html/HTMLIsIndexElement.cpp
+++ b/WebCore/html/HTMLIsIndexElement.cpp
@@ -2,7 +2,7 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2001 Dirk Mueller (mueller@kde.org)
- * Copyright (C) 2004, 2005, 2006 Apple Computer, Inc.
+ * Copyright (C) 2004, 2005, 2006, 2010 Apple Inc. All rights reserved.
* (C) 2006 Alexey Proskuryakov (ap@nypop.com)
*
* This library is free software; you can redistribute it and/or
@@ -32,13 +32,23 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLIsIndexElement::HTMLIsIndexElement(const QualifiedName& tagName, Document *doc, HTMLFormElement *f)
- : HTMLInputElement(tagName, doc, f)
+HTMLIsIndexElement::HTMLIsIndexElement(const QualifiedName& tagName, Document* document, HTMLFormElement* form)
+ : HTMLInputElement(tagName, document, form)
{
ASSERT(hasTagName(isindexTag));
setDefaultName(isindexTag.localName());
}
+PassRefPtr<HTMLIsIndexElement> HTMLIsIndexElement::create(Document* document, HTMLFormElement* form)
+{
+ return new HTMLIsIndexElement(isindexTag, document, form);
+}
+
+PassRefPtr<HTMLIsIndexElement> HTMLIsIndexElement::create(const QualifiedName& tagName, Document* document, HTMLFormElement* form)
+{
+ return new HTMLIsIndexElement(tagName, document, form);
+}
+
void HTMLIsIndexElement::parseMappedAttribute(Attribute* attr)
{
if (attr->name() == promptAttr)
diff --git a/WebCore/html/HTMLIsIndexElement.h b/WebCore/html/HTMLIsIndexElement.h
index f8124f6..528f3e2 100644
--- a/WebCore/html/HTMLIsIndexElement.h
+++ b/WebCore/html/HTMLIsIndexElement.h
@@ -2,7 +2,7 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2000 Dirk Mueller (mueller@kde.org)
- * Copyright (C) 2004, 2005, 2006 Apple Computer, Inc.
+ * Copyright (C) 2004, 2005, 2006, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -20,6 +20,7 @@
* Boston, MA 02110-1301, USA.
*
*/
+
#ifndef HTMLIsIndexElement_h
#define HTMLIsIndexElement_h
@@ -29,21 +30,22 @@ namespace WebCore {
class HTMLIsIndexElement : public HTMLInputElement {
public:
- HTMLIsIndexElement(const QualifiedName&, Document *doc, HTMLFormElement *f = 0);
+ static PassRefPtr<HTMLIsIndexElement> create(Document*, HTMLFormElement*);
+ static PassRefPtr<HTMLIsIndexElement> create(const QualifiedName&, Document*, HTMLFormElement*);
+
+ String prompt() const;
+ void setPrompt(const String&);
+
+private:
+ HTMLIsIndexElement(const QualifiedName&, Document*, HTMLFormElement*);
virtual HTMLTagStatus endTagRequirement() const { return TagStatusForbidden; }
virtual int tagPriority() const { return 0; }
virtual bool canTriggerImplicitSubmission() const { return true; }
- virtual void parseMappedAttribute(Attribute* attr);
-
- String prompt() const;
- void setPrompt(const String &);
-
-protected:
- String m_prompt;
+ virtual void parseMappedAttribute(Attribute*);
};
-} //namespace
+} // namespace
#endif
diff --git a/WebCore/html/HTMLKeygenElement.cpp b/WebCore/html/HTMLKeygenElement.cpp
index dbcc2b2..4318c65 100644
--- a/WebCore/html/HTMLKeygenElement.cpp
+++ b/WebCore/html/HTMLKeygenElement.cpp
@@ -2,7 +2,7 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2001 Dirk Mueller (mueller@kde.org)
- * Copyright (C) 2004, 2005, 2006 Apple Computer, Inc.
+ * Copyright (C) 2004, 2005, 2006, 2010 Apple Inc. All rights reserved.
* (C) 2006 Alexey Proskuryakov (ap@nypop.com)
*
* This library is free software; you can redistribute it and/or
@@ -40,21 +40,26 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLKeygenElement::HTMLKeygenElement(const QualifiedName& tagName, Document* doc, HTMLFormElement* f)
- : HTMLSelectElement(tagName, doc, f)
+inline HTMLKeygenElement::HTMLKeygenElement(const QualifiedName& tagName, Document* document, HTMLFormElement* form)
+ : HTMLSelectElement(tagName, document, form)
{
ASSERT(hasTagName(keygenTag));
+
+ // Add one option element for each key size.
Vector<String> keys;
getSupportedKeySizes(keys);
-
- Vector<String>::const_iterator end = keys.end();
- for (Vector<String>::const_iterator it = keys.begin(); it != end; ++it) {
- HTMLOptionElement* o = new HTMLOptionElement(optionTag, doc, form());
- addChild(o);
- o->addChild(Text::create(doc, *it));
+ for (size_t i = 0; i < keys.size(); ++i) {
+ RefPtr<HTMLOptionElement> option = HTMLOptionElement::create(document, this->form());
+ addChild(option);
+ option->addChild(Text::create(document, keys[i]));
}
}
+PassRefPtr<HTMLKeygenElement> HTMLKeygenElement::create(const QualifiedName& tagName, Document* document, HTMLFormElement* form)
+{
+ return new HTMLKeygenElement(tagName, document, form);
+}
+
const AtomicString& HTMLKeygenElement::formControlType() const
{
DEFINE_STATIC_LOCAL(const AtomicString, keygen, ("keygen"));
@@ -67,9 +72,10 @@ void HTMLKeygenElement::parseMappedAttribute(Attribute* attr)
m_challenge = attr->value();
else if (attr->name() == keytypeAttr)
m_keyType = attr->value();
- else
- // skip HTMLSelectElement parsing!
+ else {
+ // Skip HTMLSelectElement parsing.
HTMLFormControlElement::parseMappedAttribute(attr);
+ }
}
bool HTMLKeygenElement::appendFormData(FormDataList& encoded_values, bool)
diff --git a/WebCore/html/HTMLKeygenElement.h b/WebCore/html/HTMLKeygenElement.h
index 8b6b198..baa9a17 100644
--- a/WebCore/html/HTMLKeygenElement.h
+++ b/WebCore/html/HTMLKeygenElement.h
@@ -2,7 +2,7 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2000 Dirk Mueller (mueller@kde.org)
- * Copyright (C) 2004, 2005, 2006 Apple Computer, Inc.
+ * Copyright (C) 2004, 2005, 2006, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -30,7 +30,10 @@ namespace WebCore {
class HTMLKeygenElement : public HTMLSelectElement {
public:
- HTMLKeygenElement(const QualifiedName&, Document*, HTMLFormElement* = 0);
+ static PassRefPtr<HTMLKeygenElement> create(const QualifiedName&, Document*, HTMLFormElement*);
+
+private:
+ HTMLKeygenElement(const QualifiedName&, Document*, HTMLFormElement*);
virtual int tagPriority() const { return 0; }
virtual const AtomicString& formControlType() const;
@@ -38,7 +41,6 @@ public:
virtual void parseMappedAttribute(Attribute*);
virtual bool appendFormData(FormDataList&, bool);
-private:
virtual bool isOptionalFormControl() const { return false; }
AtomicString m_challenge;
diff --git a/WebCore/html/HTMLLIElement.cpp b/WebCore/html/HTMLLIElement.cpp
index 1bfb6f5..74c3468 100644
--- a/WebCore/html/HTMLLIElement.cpp
+++ b/WebCore/html/HTMLLIElement.cpp
@@ -1,7 +1,7 @@
-/**
+/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2006, 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2006, 2007, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -33,13 +33,23 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLLIElement::HTMLLIElement(const QualifiedName& tagName, Document* doc)
- : HTMLElement(tagName, doc)
+HTMLLIElement::HTMLLIElement(const QualifiedName& tagName, Document* document)
+ : HTMLElement(tagName, document)
, m_requestedValue(0)
{
ASSERT(hasTagName(liTag));
}
+PassRefPtr<HTMLLIElement> HTMLLIElement::create(Document* document)
+{
+ return new HTMLLIElement(liTag, document);
+}
+
+PassRefPtr<HTMLLIElement> HTMLLIElement::create(const QualifiedName& tagName, Document* document)
+{
+ return new HTMLLIElement(tagName, document);
+}
+
bool HTMLLIElement::mapToEntry(const QualifiedName& attrName, MappedAttributeEntry& result) const
{
if (attrName == typeAttr) {
diff --git a/WebCore/html/HTMLLIElement.h b/WebCore/html/HTMLLIElement.h
index 6b46b41..5ce00f2 100644
--- a/WebCore/html/HTMLLIElement.h
+++ b/WebCore/html/HTMLLIElement.h
@@ -1,6 +1,7 @@
/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -28,6 +29,16 @@ namespace WebCore {
class HTMLLIElement : public HTMLElement {
public:
+ static PassRefPtr<HTMLLIElement> create(Document*);
+ static PassRefPtr<HTMLLIElement> create(const QualifiedName&, Document*);
+
+ String type() const;
+ void setType(const String&);
+
+ int value() const;
+ void setValue(int);
+
+private:
HTMLLIElement(const QualifiedName&, Document*);
virtual HTMLTagStatus endTagRequirement() const { return TagStatusOptional; }
@@ -38,13 +49,6 @@ public:
virtual void attach();
- String type() const;
- void setType(const String&);
-
- int value() const;
- void setValue(int);
-
-private:
int m_requestedValue;
};
diff --git a/WebCore/html/HTMLLabelElement.cpp b/WebCore/html/HTMLLabelElement.cpp
index 893106c..ed0fab6 100644
--- a/WebCore/html/HTMLLabelElement.cpp
+++ b/WebCore/html/HTMLLabelElement.cpp
@@ -2,7 +2,7 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2001 Dirk Mueller (mueller@kde.org)
- * Copyright (C) 2004, 2005, 2006, 2007 Apple Inc. ALl rights reserved.
+ * Copyright (C) 2004, 2005, 2006, 2007, 2010 Apple Inc. All rights reserved.
* (C) 2006 Alexey Proskuryakov (ap@nypop.com)
*
* This library is free software; you can redistribute it and/or
@@ -38,7 +38,7 @@ using namespace HTMLNames;
static HTMLFormControlElement* nodeAsLabelableFormControl(Node* node)
{
- if (!node || !node->isHTMLElement() || !static_cast<HTMLElement*>(node)->isFormControlElement())
+ if (!node || !node->isElementNode() || !static_cast<Element*>(node)->isFormControlElement())
return 0;
HTMLFormControlElement* formControlElement = static_cast<HTMLFormControlElement*>(node);
@@ -48,14 +48,15 @@ static HTMLFormControlElement* nodeAsLabelableFormControl(Node* node)
return formControlElement;
}
-HTMLLabelElement::HTMLLabelElement(const QualifiedName& tagName, Document *doc)
- : HTMLElement(tagName, doc)
+inline HTMLLabelElement::HTMLLabelElement(const QualifiedName& tagName, Document* document)
+ : HTMLElement(tagName, document)
{
ASSERT(hasTagName(labelTag));
}
-HTMLLabelElement::~HTMLLabelElement()
+PassRefPtr<HTMLLabelElement> HTMLLabelElement::create(const QualifiedName& tagName, Document* document)
{
+ return new HTMLLabelElement(tagName, document);
}
bool HTMLLabelElement::isFocusable() const
@@ -173,4 +174,15 @@ void HTMLLabelElement::setHtmlFor(const String &value)
setAttribute(forAttr, value);
}
+void HTMLLabelElement::parseMappedAttribute(Attribute* attribute)
+{
+ if (attribute->name() == forAttr) {
+ // htmlFor attribute change affects other nodes than this.
+ // Clear the caches to ensure that the labels caches are cleared.
+ if (document())
+ document()->notifyLocalNodeListsLabelChanged();
+ } else
+ HTMLElement::parseMappedAttribute(attribute);
+}
+
} // namespace
diff --git a/WebCore/html/HTMLLabelElement.h b/WebCore/html/HTMLLabelElement.h
index 48622f9..759ffcd 100644
--- a/WebCore/html/HTMLLabelElement.h
+++ b/WebCore/html/HTMLLabelElement.h
@@ -2,7 +2,7 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2000 Dirk Mueller (mueller@kde.org)
- * Copyright (C) 2004, 2005, 2006, 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2004, 2005, 2006, 2007, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -31,8 +31,18 @@ namespace WebCore {
class HTMLLabelElement : public HTMLElement {
public:
+ static PassRefPtr<HTMLLabelElement> create(const QualifiedName&, Document*);
+
+ HTMLFormControlElement* control();
+
+ String accessKey() const;
+ void setAccessKey(const String&);
+
+ String htmlFor() const;
+ void setHtmlFor(const String&);
+
+private:
HTMLLabelElement(const QualifiedName&, Document*);
- virtual ~HTMLLabelElement();
virtual int tagPriority() const { return 5; }
@@ -47,18 +57,9 @@ public:
// Overridden to either click() or focus() the corresponding control.
virtual void defaultEventHandler(Event*);
- HTMLFormControlElement* control();
-
- String accessKey() const;
- void setAccessKey(const String&);
-
- String htmlFor() const;
- void setHtmlFor(const String&);
-
void focus(bool restorePreviousSelection = true);
- private:
- String m_formElementID;
+ virtual void parseMappedAttribute(Attribute*);
};
} //namespace
diff --git a/WebCore/html/HTMLLegendElement.cpp b/WebCore/html/HTMLLegendElement.cpp
index 516ca54..0aa4142 100644
--- a/WebCore/html/HTMLLegendElement.cpp
+++ b/WebCore/html/HTMLLegendElement.cpp
@@ -2,7 +2,7 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2001 Dirk Mueller (mueller@kde.org)
- * Copyright (C) 2004, 2005, 2006 Apple Computer, Inc.
+ * Copyright (C) 2004, 2005, 2006, 2010 Apple Inc. All rights reserved.
* (C) 2006 Alexey Proskuryakov (ap@nypop.com)
*
* This library is free software; you can redistribute it and/or
@@ -32,14 +32,15 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLLegendElement::HTMLLegendElement(const QualifiedName& tagName, Document *doc, HTMLFormElement *f)
- : HTMLFormControlElement(tagName, doc, f)
+inline HTMLLegendElement::HTMLLegendElement(const QualifiedName& tagName, Document* document, HTMLFormElement* form)
+ : HTMLFormControlElement(tagName, document, form)
{
ASSERT(hasTagName(legendTag));
}
-HTMLLegendElement::~HTMLLegendElement()
+PassRefPtr<HTMLLegendElement> HTMLLegendElement::create(const QualifiedName& tagName, Document* document, HTMLFormElement* form)
{
+ return new HTMLLegendElement(tagName, document, form);
}
bool HTMLLegendElement::supportsFocus() const
@@ -73,23 +74,23 @@ void HTMLLegendElement::setAlign(const String &value)
setAttribute(alignAttr, value);
}
-Element *HTMLLegendElement::formElement()
+HTMLFormControlElement* HTMLLegendElement::associatedControl()
{
// Check if there's a fieldset belonging to this legend.
- Node *fieldset = parentNode();
+ Node* fieldset = parentNode();
while (fieldset && !fieldset->hasTagName(fieldsetTag))
fieldset = fieldset->parentNode();
if (!fieldset)
return 0;
- // Find first form element inside the fieldset.
- // FIXME: Should we care about tabindex?
- Node *node = fieldset;
+ // Find first form element inside the fieldset that is not a legend element.
+ // FIXME: Should we consider tabindex?
+ Node* node = fieldset;
while ((node = node->traverseNextNode(fieldset))) {
- if (node->isHTMLElement()) {
- HTMLElement *element = static_cast<HTMLElement *>(node);
+ if (node->isElementNode()) {
+ Element* element = static_cast<Element*>(node);
if (!element->hasLocalName(legendTag) && element->isFormControlElement())
- return element;
+ return static_cast<HTMLFormControlElement*>(element);
}
}
@@ -101,15 +102,15 @@ void HTMLLegendElement::focus(bool)
if (isFocusable())
Element::focus();
- // to match other browsers, never restore previous selection
- if (Element *element = formElement())
- element->focus(false);
+ // To match other browsers' behavior, never restore previous selection.
+ if (HTMLFormControlElement* control = associatedControl())
+ control->focus(false);
}
void HTMLLegendElement::accessKeyAction(bool sendToAnyElement)
{
- if (Element *element = formElement())
- element->accessKeyAction(sendToAnyElement);
+ if (HTMLFormControlElement* control = associatedControl())
+ control->accessKeyAction(sendToAnyElement);
}
} // namespace
diff --git a/WebCore/html/HTMLLegendElement.h b/WebCore/html/HTMLLegendElement.h
index 1b394e4..fa2aa2b 100644
--- a/WebCore/html/HTMLLegendElement.h
+++ b/WebCore/html/HTMLLegendElement.h
@@ -2,7 +2,7 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2000 Dirk Mueller (mueller@kde.org)
- * Copyright (C) 2004, 2005, 2006 Apple Computer, Inc.
+ * Copyright (C) 2004, 2005, 2006, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -30,25 +30,24 @@ namespace WebCore {
class HTMLLegendElement : public HTMLFormControlElement {
public:
- HTMLLegendElement(const QualifiedName&, Document*, HTMLFormElement* = 0);
- virtual ~HTMLLegendElement();
-
- virtual bool supportsFocus() const;
- virtual const AtomicString& formControlType() const;
- virtual void accessKeyAction(bool sendToAnyElement);
-
- /**
- * The first form element in the legend's fieldset
- */
- Element* formElement();
+ static PassRefPtr<HTMLLegendElement> create(const QualifiedName&, Document*, HTMLFormElement*);
String accessKey() const;
- void setAccessKey(const String &);
+ void setAccessKey(const String&);
String align() const;
- void setAlign(const String &);
+ void setAlign(const String&);
- void focus(bool restorePreviousSelection = true);
+private:
+ HTMLLegendElement(const QualifiedName&, Document*, HTMLFormElement*);
+
+ // Control in the legend's fieldset that gets focus and access key.
+ HTMLFormControlElement* associatedControl();
+
+ virtual bool supportsFocus() const;
+ virtual const AtomicString& formControlType() const;
+ virtual void accessKeyAction(bool sendToAnyElement);
+ virtual void focus(bool restorePreviousSelection = true);
};
} //namespace
diff --git a/WebCore/html/HTMLLinkElement.cpp b/WebCore/html/HTMLLinkElement.cpp
index c02c4fe..e5f7b26 100644
--- a/WebCore/html/HTMLLinkElement.cpp
+++ b/WebCore/html/HTMLLinkElement.cpp
@@ -49,9 +49,8 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLLinkElement::HTMLLinkElement(const QualifiedName& qName, Document *doc, bool createdByParser)
- : HTMLElement(qName, doc)
- , m_cachedSheet(0)
+inline HTMLLinkElement::HTMLLinkElement(const QualifiedName& tagName, Document* document, bool createdByParser)
+ : HTMLElement(tagName, document)
, m_disabledState(Unset)
, m_loading(false)
, m_createdByParser(createdByParser)
@@ -60,6 +59,11 @@ HTMLLinkElement::HTMLLinkElement(const QualifiedName& qName, Document *doc, bool
ASSERT(hasTagName(linkTag));
}
+PassRefPtr<HTMLLinkElement> HTMLLinkElement::create(const QualifiedName& tagName, Document* document, bool createdByParser)
+{
+ return new HTMLLinkElement(tagName, document, createdByParser);
+}
+
HTMLLinkElement::~HTMLLinkElement()
{
if (m_cachedSheet) {
diff --git a/WebCore/html/HTMLLinkElement.h b/WebCore/html/HTMLLinkElement.h
index 8da4494..ae88c44 100644
--- a/WebCore/html/HTMLLinkElement.h
+++ b/WebCore/html/HTMLLinkElement.h
@@ -60,11 +60,8 @@ public:
{ };
};
- HTMLLinkElement(const QualifiedName&, Document*, bool createdByParser);
- ~HTMLLinkElement();
-
- virtual HTMLTagStatus endTagRequirement() const { return TagStatusForbidden; }
- virtual int tagPriority() const { return 0; }
+ static PassRefPtr<HTMLLinkElement> create(const QualifiedName&, Document*, bool createdByParser);
+ virtual ~HTMLLinkElement();
bool disabled() const;
void setDisabled(bool);
@@ -95,7 +92,16 @@ public:
StyleSheet* sheet() const;
- // overload from HTMLElement
+ bool isLoading() const;
+
+ bool isDisabled() const { return m_disabledState == Disabled; }
+ bool isEnabledViaScript() const { return m_disabledState == EnabledViaScript; }
+ bool isIcon() const { return m_relAttribute.m_isIcon; }
+
+private:
+ virtual HTMLTagStatus endTagRequirement() const { return TagStatusForbidden; }
+ virtual int tagPriority() const { return 0; }
+
virtual void parseMappedAttribute(Attribute*);
void process();
@@ -105,26 +111,29 @@ public:
// from CachedResourceClient
virtual void setCSSStyleSheet(const String& href, const KURL& baseURL, const String& charset, const CachedCSSStyleSheet* sheet);
+<<<<<<< HEAD
virtual void notifyFinished(CachedResource*);
bool isLoading() const;
+=======
+>>>>>>> webkit.org at r60469
virtual bool sheetLoaded();
bool isAlternate() const { return m_disabledState == Unset && m_relAttribute.m_isAlternate; }
- bool isDisabled() const { return m_disabledState == Disabled; }
- bool isEnabledViaScript() const { return m_disabledState == EnabledViaScript; }
- bool isIcon() const { return m_relAttribute.m_isIcon; }
void setDisabledState(bool _disabled);
virtual bool isURLAttribute(Attribute*) const;
+public:
static void tokenizeRelAttribute(const AtomicString& value, RelAttribute&);
+private:
virtual void addSubresourceAttributeURLs(ListHashSet<KURL>&) const;
virtual void finishParsingChildren();
+<<<<<<< HEAD
#ifdef ANDROID_INSTRUMENT
// Overridden to resolve the ambiguous
void* operator new(size_t size);
@@ -135,6 +144,10 @@ public:
protected:
void timerFired(Timer<HTMLLinkElement>*);
+=======
+private:
+ HTMLLinkElement(const QualifiedName&, Document*, bool createdByParser);
+>>>>>>> webkit.org at r60469
enum DisabledState {
Unset,
diff --git a/WebCore/html/HTMLMapElement.cpp b/WebCore/html/HTMLMapElement.cpp
index cc709a0..1395cbb 100644
--- a/WebCore/html/HTMLMapElement.cpp
+++ b/WebCore/html/HTMLMapElement.cpp
@@ -1,7 +1,7 @@
/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2004, 2005, 2006, 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2004, 2005, 2006, 2007, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -38,12 +38,22 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLMapElement::HTMLMapElement(const QualifiedName& tagName, Document* doc)
- : HTMLElement(tagName, doc)
+HTMLMapElement::HTMLMapElement(const QualifiedName& tagName, Document* document)
+ : HTMLElement(tagName, document)
{
ASSERT(hasTagName(mapTag));
}
+PassRefPtr<HTMLMapElement> HTMLMapElement::create(Document* document)
+{
+ return new HTMLMapElement(mapTag, document);
+}
+
+PassRefPtr<HTMLMapElement> HTMLMapElement::create(const QualifiedName& tagName, Document* document)
+{
+ return new HTMLMapElement(tagName, document);
+}
+
HTMLMapElement::~HTMLMapElement()
{
document()->removeImageMap(this);
diff --git a/WebCore/html/HTMLMapElement.h b/WebCore/html/HTMLMapElement.h
index 8dc9edf..9c8ab79 100644
--- a/WebCore/html/HTMLMapElement.h
+++ b/WebCore/html/HTMLMapElement.h
@@ -1,7 +1,7 @@
/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2004 Apple Computer, Inc.
+ * Copyright (C) 2004, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -33,17 +33,12 @@ class HTMLImageElement;
class HTMLMapElement : public HTMLElement {
public:
- HTMLMapElement(const QualifiedName&, Document*);
- ~HTMLMapElement();
-
- virtual HTMLTagStatus endTagRequirement() const { return TagStatusRequired; }
- virtual int tagPriority() const { return 1; }
- virtual bool checkDTD(const Node*);
+ static PassRefPtr<HTMLMapElement> create(Document*);
+ static PassRefPtr<HTMLMapElement> create(const QualifiedName&, Document*);
+ virtual ~HTMLMapElement();
const AtomicString& getName() const { return m_name; }
- virtual void parseMappedAttribute(Attribute*);
-
bool mapMouseEvent(int x, int y, const IntSize&, HitTestResult&);
HTMLImageElement* imageElement() const;
@@ -53,6 +48,14 @@ public:
void setName(const String&);
private:
+ HTMLMapElement(const QualifiedName&, Document*);
+
+ virtual HTMLTagStatus endTagRequirement() const { return TagStatusRequired; }
+ virtual int tagPriority() const { return 1; }
+ virtual bool checkDTD(const Node*);
+
+ virtual void parseMappedAttribute(Attribute*);
+
AtomicString m_name;
};
diff --git a/WebCore/html/HTMLMarqueeElement.cpp b/WebCore/html/HTMLMarqueeElement.cpp
index 23122dc..c16b069 100644
--- a/WebCore/html/HTMLMarqueeElement.cpp
+++ b/WebCore/html/HTMLMarqueeElement.cpp
@@ -1,7 +1,7 @@
-/**
+/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2003, 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2003, 2007, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -37,14 +37,19 @@ using namespace HTMLNames;
// WinIE uses 60ms as the minimum delay by default.
const int defaultMinimumDelay = 60;
-HTMLMarqueeElement::HTMLMarqueeElement(const QualifiedName& tagName, Document* doc)
- : HTMLElement(tagName, doc)
- , ActiveDOMObject(doc, this)
+inline HTMLMarqueeElement::HTMLMarqueeElement(const QualifiedName& tagName, Document* document)
+ : HTMLElement(tagName, document)
+ , ActiveDOMObject(document, this)
, m_minimumDelay(defaultMinimumDelay)
{
ASSERT(hasTagName(marqueeTag));
}
+PassRefPtr<HTMLMarqueeElement> HTMLMarqueeElement::create(const QualifiedName& tagName, Document* document)
+{
+ return new HTMLMarqueeElement(tagName, document);
+}
+
bool HTMLMarqueeElement::mapToEntry(const QualifiedName& attrName, MappedAttributeEntry& result) const
{
if (attrName == widthAttr ||
diff --git a/WebCore/html/HTMLMarqueeElement.h b/WebCore/html/HTMLMarqueeElement.h
index 871edc8..4932d46 100644
--- a/WebCore/html/HTMLMarqueeElement.h
+++ b/WebCore/html/HTMLMarqueeElement.h
@@ -1,7 +1,7 @@
/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2007, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -32,13 +32,7 @@ class RenderMarquee;
class HTMLMarqueeElement : public HTMLElement, private ActiveDOMObject {
public:
- HTMLMarqueeElement(const QualifiedName&, Document*);
-
- virtual HTMLTagStatus endTagRequirement() const { return TagStatusRequired; }
- virtual int tagPriority() const { return 3; }
-
- virtual bool mapToEntry(const QualifiedName&, MappedAttributeEntry&) const;
- virtual void parseMappedAttribute(Attribute*);
+ static PassRefPtr<HTMLMarqueeElement> create(const QualifiedName&, Document*);
int minimumDelay() const { return m_minimumDelay; }
@@ -48,6 +42,14 @@ public:
void stop();
private:
+ HTMLMarqueeElement(const QualifiedName&, Document*);
+
+ virtual HTMLTagStatus endTagRequirement() const { return TagStatusRequired; }
+ virtual int tagPriority() const { return 3; }
+
+ virtual bool mapToEntry(const QualifiedName&, MappedAttributeEntry&) const;
+ virtual void parseMappedAttribute(Attribute*);
+
// ActiveDOMObject
virtual bool canSuspend() const;
virtual void suspend();
diff --git a/WebCore/html/HTMLMenuElement.cpp b/WebCore/html/HTMLMenuElement.cpp
index 69497ef..92030b5 100644
--- a/WebCore/html/HTMLMenuElement.cpp
+++ b/WebCore/html/HTMLMenuElement.cpp
@@ -1,6 +1,7 @@
-/**
+/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -18,6 +19,7 @@
* Boston, MA 02110-1301, USA.
*
*/
+
#include "config.h"
#include "HTMLMenuElement.h"
@@ -27,12 +29,17 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLMenuElement::HTMLMenuElement(const QualifiedName& tagName, Document* doc)
- : HTMLElement(tagName, doc)
+inline HTMLMenuElement::HTMLMenuElement(const QualifiedName& tagName, Document* document)
+ : HTMLElement(tagName, document)
{
ASSERT(hasTagName(menuTag));
}
+PassRefPtr<HTMLMenuElement> HTMLMenuElement::create(const QualifiedName& tagName, Document* document)
+{
+ return new HTMLMenuElement(tagName, document);
+}
+
bool HTMLMenuElement::compact() const
{
return !getAttribute(compactAttr).isNull();
diff --git a/WebCore/html/HTMLMenuElement.h b/WebCore/html/HTMLMenuElement.h
index 68b5b8f..7534e81 100644
--- a/WebCore/html/HTMLMenuElement.h
+++ b/WebCore/html/HTMLMenuElement.h
@@ -1,6 +1,7 @@
/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -28,13 +29,16 @@ namespace WebCore {
class HTMLMenuElement : public HTMLElement {
public:
+ static PassRefPtr<HTMLMenuElement> create(const QualifiedName&, Document*);
+
+ bool compact() const;
+ void setCompact(bool);
+
+private:
HTMLMenuElement(const QualifiedName&, Document*);
virtual HTMLTagStatus endTagRequirement() const { return TagStatusRequired; }
virtual int tagPriority() const { return 5; }
-
- bool compact() const;
- void setCompact(bool);
};
} //namespace
diff --git a/WebCore/html/HTMLMetaElement.cpp b/WebCore/html/HTMLMetaElement.cpp
index 70129b1..b4610e0 100644
--- a/WebCore/html/HTMLMetaElement.cpp
+++ b/WebCore/html/HTMLMetaElement.cpp
@@ -1,8 +1,8 @@
-/**
+/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2001 Dirk Mueller (mueller@kde.org)
- * Copyright (C) 2003 Apple Computer, Inc.
+ * Copyright (C) 2003, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -36,14 +36,15 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLMetaElement::HTMLMetaElement(const QualifiedName& tagName, Document* doc)
- : HTMLElement(tagName, doc)
+inline HTMLMetaElement::HTMLMetaElement(const QualifiedName& tagName, Document* document)
+ : HTMLElement(tagName, document)
{
ASSERT(hasTagName(metaTag));
}
-HTMLMetaElement::~HTMLMetaElement()
+PassRefPtr<HTMLMetaElement> HTMLMetaElement::create(const QualifiedName& tagName, Document* document)
{
+ return new HTMLMetaElement(tagName, document);
}
void HTMLMetaElement::parseMappedAttribute(Attribute* attr)
diff --git a/WebCore/html/HTMLMetaElement.h b/WebCore/html/HTMLMetaElement.h
index 61d6a86..7708a50 100644
--- a/WebCore/html/HTMLMetaElement.h
+++ b/WebCore/html/HTMLMetaElement.h
@@ -1,7 +1,7 @@
/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2003 Apple Computer, Inc.
+ * Copyright (C) 2003, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -19,6 +19,7 @@
* Boston, MA 02110-1301, USA.
*
*/
+
#ifndef HTMLMetaElement_h
#define HTMLMetaElement_h
@@ -28,16 +29,7 @@ namespace WebCore {
class HTMLMetaElement : public HTMLElement {
public:
- HTMLMetaElement(const QualifiedName&, Document*);
- ~HTMLMetaElement();
-
- virtual HTMLTagStatus endTagRequirement() const { return TagStatusForbidden; }
- virtual int tagPriority() const { return 0; }
-
- virtual void parseMappedAttribute(Attribute*);
- virtual void insertedIntoDocument();
-
- void process();
+ static PassRefPtr<HTMLMetaElement> create(const QualifiedName&, Document*);
String content() const;
void setContent(const String&);
@@ -51,7 +43,17 @@ public:
String scheme() const;
void setScheme(const String&);
-protected:
+private:
+ HTMLMetaElement(const QualifiedName&, Document*);
+
+ virtual HTMLTagStatus endTagRequirement() const { return TagStatusForbidden; }
+ virtual int tagPriority() const { return 0; }
+
+ virtual void parseMappedAttribute(Attribute*);
+ virtual void insertedIntoDocument();
+
+ void process();
+
String m_equiv;
String m_content;
};
diff --git a/WebCore/html/HTMLMeterElement.idl b/WebCore/html/HTMLMeterElement.idl
index e061764..2b0e03f 100644
--- a/WebCore/html/HTMLMeterElement.idl
+++ b/WebCore/html/HTMLMeterElement.idl
@@ -34,5 +34,6 @@ module html {
attribute double optimum
setter raises(DOMException);
readonly attribute HTMLFormElement form;
+ readonly attribute NodeList labels;
};
}
diff --git a/WebCore/html/HTMLModElement.cpp b/WebCore/html/HTMLModElement.cpp
index 19b3403..a745e44 100644
--- a/WebCore/html/HTMLModElement.cpp
+++ b/WebCore/html/HTMLModElement.cpp
@@ -1,8 +1,8 @@
-/**
+/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2000 Simon Hausmann <hausmann@kde.org>
- * Copyright (C) 2003, 2006 Apple Computer, Inc.
+ * Copyright (C) 2003, 2006, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -19,6 +19,7 @@
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
+
#include "config.h"
#include "HTMLModElement.h"
@@ -28,9 +29,14 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLModElement::HTMLModElement(const QualifiedName& tagName, Document *doc)
- : HTMLElement(tagName, doc)
+inline HTMLModElement::HTMLModElement(const QualifiedName& tagName, Document* document)
+ : HTMLElement(tagName, document)
+{
+}
+
+PassRefPtr<HTMLModElement> HTMLModElement::create(const QualifiedName& tagName, Document* document)
{
+ return new HTMLModElement(tagName, document);
}
String HTMLModElement::cite() const
diff --git a/WebCore/html/HTMLModElement.h b/WebCore/html/HTMLModElement.h
index 9d9e6c1..af003d7 100644
--- a/WebCore/html/HTMLModElement.h
+++ b/WebCore/html/HTMLModElement.h
@@ -2,6 +2,7 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2000 Simon Hausmann <hausmann@kde.org>
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -19,6 +20,7 @@
* Boston, MA 02110-1301, USA.
*
*/
+
#ifndef HTMLModElement_h
#define HTMLModElement_h
@@ -26,20 +28,21 @@
namespace WebCore {
-class String;
-
class HTMLModElement : public HTMLElement {
public:
- HTMLModElement(const QualifiedName&, Document*);
-
- virtual HTMLTagStatus endTagRequirement() const { return TagStatusRequired; }
- virtual int tagPriority() const { return 1; }
+ static PassRefPtr<HTMLModElement> create(const QualifiedName&, Document*);
String cite() const;
void setCite(const String&);
String dateTime() const;
void setDateTime(const String&);
+
+private:
+ HTMLModElement(const QualifiedName&, Document*);
+
+ virtual HTMLTagStatus endTagRequirement() const { return TagStatusRequired; }
+ virtual int tagPriority() const { return 1; }
};
} //namespace
diff --git a/WebCore/html/HTMLNoScriptElement.cpp b/WebCore/html/HTMLNoScriptElement.cpp
index 3bbfbe6..eda2110 100644
--- a/WebCore/html/HTMLNoScriptElement.cpp
+++ b/WebCore/html/HTMLNoScriptElement.cpp
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmobile.com/)
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -30,14 +31,15 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLNoScriptElement::HTMLNoScriptElement(const QualifiedName& tagName, Document* doc)
- : HTMLElement(tagName, doc)
+inline HTMLNoScriptElement::HTMLNoScriptElement(const QualifiedName& tagName, Document* document)
+ : HTMLElement(tagName, document)
{
ASSERT(hasTagName(noscriptTag));
}
-HTMLNoScriptElement::~HTMLNoScriptElement()
+PassRefPtr<HTMLNoScriptElement> HTMLNoScriptElement::create(const QualifiedName& tagName, Document* document)
{
+ return new HTMLNoScriptElement(tagName, document);
}
bool HTMLNoScriptElement::checkDTD(const Node* newChild)
@@ -76,10 +78,11 @@ void HTMLNoScriptElement::recalcStyle(StyleChange change)
}
}
-bool HTMLNoScriptElement::childShouldCreateRenderer(Node* child) const
+bool HTMLNoScriptElement::childShouldCreateRenderer(Node*) const
{
return document()->shouldProcessNoscriptElement();
}
}
+
#endif
diff --git a/WebCore/html/HTMLNoScriptElement.h b/WebCore/html/HTMLNoScriptElement.h
index 2cc5a3c..8b98205 100644
--- a/WebCore/html/HTMLNoScriptElement.h
+++ b/WebCore/html/HTMLNoScriptElement.h
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmobile.com/)
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -28,10 +29,10 @@ namespace WebCore {
class HTMLNoScriptElement : public HTMLElement {
public:
- HTMLNoScriptElement(const QualifiedName&, Document*);
+ static PassRefPtr<HTMLNoScriptElement> create(const QualifiedName&, Document*);
private:
- virtual ~HTMLNoScriptElement();
+ HTMLNoScriptElement(const QualifiedName&, Document*);
virtual bool checkDTD(const Node*);
virtual void attach();
diff --git a/WebCore/html/HTMLOListElement.cpp b/WebCore/html/HTMLOListElement.cpp
index 82c4526..277b809 100644
--- a/WebCore/html/HTMLOListElement.cpp
+++ b/WebCore/html/HTMLOListElement.cpp
@@ -1,6 +1,7 @@
/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -32,13 +33,23 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLOListElement::HTMLOListElement(const QualifiedName& tagName, Document* doc)
- : HTMLElement(tagName, doc)
+HTMLOListElement::HTMLOListElement(const QualifiedName& tagName, Document* document)
+ : HTMLElement(tagName, document)
, m_start(1)
{
ASSERT(hasTagName(olTag));
}
+PassRefPtr<HTMLOListElement> HTMLOListElement::create(Document* document)
+{
+ return new HTMLOListElement(olTag, document);
+}
+
+PassRefPtr<HTMLOListElement> HTMLOListElement::create(const QualifiedName& tagName, Document* document)
+{
+ return new HTMLOListElement(tagName, document);
+}
+
bool HTMLOListElement::mapToEntry(const QualifiedName& attrName, MappedAttributeEntry& result) const
{
if (attrName == typeAttr) {
@@ -102,4 +113,5 @@ void HTMLOListElement::setType(const String& value)
{
setAttribute(typeAttr, value);
}
+
}
diff --git a/WebCore/html/HTMLOListElement.h b/WebCore/html/HTMLOListElement.h
index 3d76abf..871c34c 100644
--- a/WebCore/html/HTMLOListElement.h
+++ b/WebCore/html/HTMLOListElement.h
@@ -1,6 +1,7 @@
/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -28,13 +29,8 @@ namespace WebCore {
class HTMLOListElement : public HTMLElement {
public:
- HTMLOListElement(const QualifiedName&, Document*);
-
- virtual HTMLTagStatus endTagRequirement() const { return TagStatusRequired; }
- virtual int tagPriority() const { return 5; }
-
- virtual bool mapToEntry(const QualifiedName&, MappedAttributeEntry&) const;
- virtual void parseMappedAttribute(Attribute*);
+ static PassRefPtr<HTMLOListElement> create(Document*);
+ static PassRefPtr<HTMLOListElement> create(const QualifiedName&, Document*);
bool compact() const;
void setCompact(bool);
@@ -46,6 +42,14 @@ public:
void setType(const String&);
private:
+ HTMLOListElement(const QualifiedName&, Document*);
+
+ virtual HTMLTagStatus endTagRequirement() const { return TagStatusRequired; }
+ virtual int tagPriority() const { return 5; }
+
+ virtual bool mapToEntry(const QualifiedName&, MappedAttributeEntry&) const;
+ virtual void parseMappedAttribute(Attribute*);
+
int m_start;
};
diff --git a/WebCore/html/HTMLOptGroupElement.cpp b/WebCore/html/HTMLOptGroupElement.cpp
index 5c5faac..b98b668 100644
--- a/WebCore/html/HTMLOptGroupElement.cpp
+++ b/WebCore/html/HTMLOptGroupElement.cpp
@@ -2,7 +2,7 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2001 Dirk Mueller (mueller@kde.org)
- * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2010 Apple Inc. All rights reserved.
* (C) 2006 Alexey Proskuryakov (ap@nypop.com)
*
* This library is free software; you can redistribute it and/or
@@ -37,13 +37,17 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLOptGroupElement::HTMLOptGroupElement(const QualifiedName& tagName, Document* doc, HTMLFormElement* f)
- : HTMLFormControlElement(tagName, doc, f)
- , m_style(0)
+inline HTMLOptGroupElement::HTMLOptGroupElement(const QualifiedName& tagName, Document* document, HTMLFormElement* form)
+ : HTMLFormControlElement(tagName, document, form)
{
ASSERT(hasTagName(optgroupTag));
}
+PassRefPtr<HTMLOptGroupElement> HTMLOptGroupElement::create(const QualifiedName& tagName, Document* document, HTMLFormElement* form)
+{
+ return new HTMLOptGroupElement(tagName, document, form);
+}
+
bool HTMLOptGroupElement::supportsFocus() const
{
return HTMLElement::supportsFocus();
@@ -61,36 +65,6 @@ const AtomicString& HTMLOptGroupElement::formControlType() const
return optgroup;
}
-bool HTMLOptGroupElement::insertBefore(PassRefPtr<Node> newChild, Node* refChild, ExceptionCode& ec, bool shouldLazyAttach)
-{
- bool result = HTMLFormControlElement::insertBefore(newChild, refChild, ec, shouldLazyAttach);
- return result;
-}
-
-bool HTMLOptGroupElement::replaceChild(PassRefPtr<Node> newChild, Node* oldChild, ExceptionCode& ec, bool shouldLazyAttach)
-{
- bool result = HTMLFormControlElement::replaceChild(newChild, oldChild, ec, shouldLazyAttach);
- return result;
-}
-
-bool HTMLOptGroupElement::removeChild(Node* oldChild, ExceptionCode& ec)
-{
- bool result = HTMLFormControlElement::removeChild(oldChild, ec);
- return result;
-}
-
-bool HTMLOptGroupElement::appendChild(PassRefPtr<Node> newChild, ExceptionCode& ec, bool shouldLazyAttach)
-{
- bool result = HTMLFormControlElement::appendChild(newChild, ec, shouldLazyAttach);
- return result;
-}
-
-bool HTMLOptGroupElement::removeChildren()
-{
- bool result = HTMLFormControlElement::removeChildren();
- return result;
-}
-
void HTMLOptGroupElement::childrenChanged(bool changedByParser, Node* beforeChange, Node* afterChange, int childCountDelta)
{
recalcSelectOptions();
diff --git a/WebCore/html/HTMLOptGroupElement.h b/WebCore/html/HTMLOptGroupElement.h
index cdd1d37..394fdca 100644
--- a/WebCore/html/HTMLOptGroupElement.h
+++ b/WebCore/html/HTMLOptGroupElement.h
@@ -2,7 +2,7 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2000 Dirk Mueller (mueller@kde.org)
- * Copyright (C) 2004, 2005, 2006, 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2004, 2005, 2006, 2007, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -33,7 +33,17 @@ class HTMLSelectElement;
class HTMLOptGroupElement : public HTMLFormControlElement, public OptionGroupElement {
public:
- HTMLOptGroupElement(const QualifiedName&, Document*, HTMLFormElement* = 0);
+ static PassRefPtr<HTMLOptGroupElement> create(const QualifiedName&, Document*, HTMLFormElement*);
+
+ String label() const;
+ void setLabel(const String&);
+
+ HTMLSelectElement* ownerSelectElement() const;
+
+ virtual String groupLabelText() const;
+
+private:
+ HTMLOptGroupElement(const QualifiedName&, Document*, HTMLFormElement*);
virtual bool checkDTD(const Node*);
virtual const AtomicString& formControlType() const;
@@ -45,21 +55,10 @@ public:
virtual void detach();
virtual void setRenderStyle(PassRefPtr<RenderStyle>);
- virtual bool insertBefore(PassRefPtr<Node> newChild, Node* refChild, ExceptionCode&, bool shouldLazyAttach = false);
- virtual bool replaceChild(PassRefPtr<Node> newChild, Node* oldChild, ExceptionCode&, bool shouldLazyAttach = false);
- virtual bool removeChild(Node* child, ExceptionCode&);
- virtual bool appendChild(PassRefPtr<Node> newChild, ExceptionCode&, bool shouldLazyAttach = false);
- virtual bool removeChildren();
virtual void childrenChanged(bool changedByParser = false, Node* beforeChange = 0, Node* afterChange = 0, int childCountDelta = 0);
- String label() const;
- void setLabel(const String&);
-
- virtual String groupLabelText() const;
- HTMLSelectElement* ownerSelectElement() const;
virtual void accessKeyAction(bool sendToAnyElement);
-private:
virtual RenderStyle* nonRendererRenderStyle() const;
void recalcSelectOptions();
diff --git a/WebCore/html/HTMLOptionElement.cpp b/WebCore/html/HTMLOptionElement.cpp
index fa430d3..1be0746 100644
--- a/WebCore/html/HTMLOptionElement.cpp
+++ b/WebCore/html/HTMLOptionElement.cpp
@@ -44,11 +44,20 @@ using namespace HTMLNames;
HTMLOptionElement::HTMLOptionElement(const QualifiedName& tagName, Document* document, HTMLFormElement* form)
: HTMLFormControlElement(tagName, document, form)
- , m_style(0)
{
ASSERT(hasTagName(optionTag));
}
+PassRefPtr<HTMLOptionElement> HTMLOptionElement::create(Document* document, HTMLFormElement* form)
+{
+ return new HTMLOptionElement(optionTag, document, form);
+}
+
+PassRefPtr<HTMLOptionElement> HTMLOptionElement::create(const QualifiedName& tagName, Document* document, HTMLFormElement* form)
+{
+ return new HTMLOptionElement(tagName, document, form);
+}
+
PassRefPtr<HTMLOptionElement> HTMLOptionElement::createForJSConstructor(Document* document, const String& data, const String& value,
bool defaultSelected, bool selected, ExceptionCode& ec)
{
diff --git a/WebCore/html/HTMLOptionElement.h b/WebCore/html/HTMLOptionElement.h
index 4692119..35f7fae 100644
--- a/WebCore/html/HTMLOptionElement.h
+++ b/WebCore/html/HTMLOptionElement.h
@@ -2,7 +2,7 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2000 Dirk Mueller (mueller@kde.org)
- * Copyright (C) 2004, 2005, 2006 Apple Computer, Inc.
+ * Copyright (C) 2004, 2005, 2006, 2010 Apple Inc. All rights reserved.
* Copyright (C) 2010 Google Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
@@ -29,8 +29,6 @@
namespace WebCore {
-class Attribute;
-class HTMLFormElement;
class HTMLSelectElement;
class HTMLOptionElement : public HTMLFormControlElement, public OptionElement {
@@ -38,55 +36,60 @@ class HTMLOptionElement : public HTMLFormControlElement, public OptionElement {
friend class RenderMenuList;
public:
- HTMLOptionElement(const QualifiedName&, Document*, HTMLFormElement* = 0);
-
+ static PassRefPtr<HTMLOptionElement> create(Document*, HTMLFormElement*);
+ static PassRefPtr<HTMLOptionElement> create(const QualifiedName&, Document*, HTMLFormElement*);
static PassRefPtr<HTMLOptionElement> createForJSConstructor(Document*, const String& data, const String& value,
bool defaultSelected, bool selected, ExceptionCode&);
- virtual HTMLTagStatus endTagRequirement() const { return TagStatusOptional; }
- virtual int tagPriority() const { return 2; }
- virtual bool checkDTD(const Node* newChild);
- virtual bool supportsFocus() const;
- virtual bool isFocusable() const;
- virtual bool rendererIsNeeded(RenderStyle*) { return false; }
- virtual void attach();
- virtual void detach();
- virtual void setRenderStyle(PassRefPtr<RenderStyle>);
-
- virtual const AtomicString& formControlType() const;
-
virtual String text() const;
void setText(const String&, ExceptionCode&);
int index() const;
- virtual void parseMappedAttribute(Attribute*);
virtual String value() const;
void setValue(const String&);
virtual bool selected() const;
void setSelected(bool);
- virtual void setSelectedState(bool);
HTMLSelectElement* ownerSelectElement() const;
- virtual void childrenChanged(bool changedByParser = false, Node* beforeChange = 0, Node* afterChange = 0, int childCountDelta = 0);
-
bool defaultSelected() const;
void setDefaultSelected(bool);
String label() const;
void setLabel(const String&);
- virtual String textIndentedToRespectGroupLabel() const;
-
bool ownElementDisabled() const { return HTMLFormControlElement::disabled(); }
+
virtual bool disabled() const;
+private:
+ HTMLOptionElement(const QualifiedName&, Document*, HTMLFormElement* = 0);
+
+ virtual HTMLTagStatus endTagRequirement() const { return TagStatusOptional; }
+ virtual int tagPriority() const { return 2; }
+ virtual bool checkDTD(const Node* newChild);
+ virtual bool supportsFocus() const;
+ virtual bool isFocusable() const;
+ virtual bool rendererIsNeeded(RenderStyle*) { return false; }
+ virtual void attach();
+ virtual void detach();
+ virtual void setRenderStyle(PassRefPtr<RenderStyle>);
+
+ virtual const AtomicString& formControlType() const;
+
+ virtual void parseMappedAttribute(Attribute*);
+
+ virtual void setSelectedState(bool);
+
+ virtual String textIndentedToRespectGroupLabel() const;
+
virtual void insertedIntoTree(bool);
virtual void accessKeyAction(bool);
-private:
+ virtual void childrenChanged(bool changedByParser = false, Node* beforeChange = 0, Node* afterChange = 0, int childCountDelta = 0);
+
virtual RenderStyle* nonRendererRenderStyle() const;
OptionElementData m_data;
diff --git a/WebCore/html/HTMLParagraphElement.cpp b/WebCore/html/HTMLParagraphElement.cpp
index f39e3ff..fd04a30 100644
--- a/WebCore/html/HTMLParagraphElement.cpp
+++ b/WebCore/html/HTMLParagraphElement.cpp
@@ -1,7 +1,7 @@
-/**
+/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2003 Apple Computer, Inc.
+ * Copyright (C) 2003, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -33,12 +33,17 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLParagraphElement::HTMLParagraphElement(const QualifiedName& tagName, Document *doc)
- : HTMLElement(tagName, doc)
+inline HTMLParagraphElement::HTMLParagraphElement(const QualifiedName& tagName, Document* document)
+ : HTMLElement(tagName, document)
{
ASSERT(hasTagName(pTag));
}
+PassRefPtr<HTMLParagraphElement> HTMLParagraphElement::create(const QualifiedName& tagName, Document* document)
+{
+ return new HTMLParagraphElement(tagName, document);
+}
+
bool HTMLParagraphElement::checkDTD(const Node* newChild)
{
return inInlineTagList(newChild) || (document()->inCompatMode() && newChild->hasTagName(tableTag));
diff --git a/WebCore/html/HTMLParagraphElement.h b/WebCore/html/HTMLParagraphElement.h
index 496951a..26e34a7 100644
--- a/WebCore/html/HTMLParagraphElement.h
+++ b/WebCore/html/HTMLParagraphElement.h
@@ -1,6 +1,7 @@
/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -28,6 +29,12 @@ namespace WebCore {
class HTMLParagraphElement : public HTMLElement {
public:
+ static PassRefPtr<HTMLParagraphElement> create(const QualifiedName&, Document*);
+
+ String align() const;
+ void setAlign(const String&);
+
+private:
HTMLParagraphElement(const QualifiedName&, Document*);
virtual HTMLTagStatus endTagRequirement() const { return TagStatusRequired; }
@@ -36,9 +43,6 @@ public:
virtual bool mapToEntry(const QualifiedName&, MappedAttributeEntry&) const;
virtual void parseMappedAttribute(Attribute*);
-
- String align() const;
- void setAlign(const String&);
};
} // namespace WebCore
diff --git a/WebCore/html/HTMLParamElement.cpp b/WebCore/html/HTMLParamElement.cpp
index 61a5a65..ca28383 100644
--- a/WebCore/html/HTMLParamElement.cpp
+++ b/WebCore/html/HTMLParamElement.cpp
@@ -2,7 +2,7 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2000 Stefan Schimanski (1Stein@gmx.de)
- * Copyright (C) 2004, 2005, 2006, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2004, 2005, 2006, 2008, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -31,14 +31,15 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLParamElement::HTMLParamElement(const QualifiedName& tagName, Document* doc)
- : HTMLElement(tagName, doc)
+inline HTMLParamElement::HTMLParamElement(const QualifiedName& tagName, Document* document)
+ : HTMLElement(tagName, document)
{
ASSERT(hasTagName(paramTag));
}
-HTMLParamElement::~HTMLParamElement()
+PassRefPtr<HTMLParamElement> HTMLParamElement::create(const QualifiedName& tagName, Document* document)
{
+ return new HTMLParamElement(tagName, document);
}
void HTMLParamElement::parseMappedAttribute(Attribute* attr)
diff --git a/WebCore/html/HTMLParamElement.h b/WebCore/html/HTMLParamElement.h
index 84152c6..a782353 100644
--- a/WebCore/html/HTMLParamElement.h
+++ b/WebCore/html/HTMLParamElement.h
@@ -1,7 +1,7 @@
/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2004, 2006 Apple Computer, Inc.
+ * Copyright (C) 2004, 2006, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -28,17 +28,8 @@
namespace WebCore {
class HTMLParamElement : public HTMLElement {
- friend class HTMLAppletElement;
public:
- HTMLParamElement(const QualifiedName&, Document*);
- ~HTMLParamElement();
-
- virtual HTMLTagStatus endTagRequirement() const { return TagStatusForbidden; }
- virtual int tagPriority() const { return 0; }
-
- virtual void parseMappedAttribute(Attribute*);
-
- virtual bool isURLAttribute(Attribute*) const;
+ static PassRefPtr<HTMLParamElement> create(const QualifiedName&, Document*);
String name() const { return m_name; }
void setName(const String&);
@@ -52,9 +43,18 @@ public:
String valueType() const;
void setValueType(const String&);
+private:
+ HTMLParamElement(const QualifiedName&, Document*);
+
+ virtual HTMLTagStatus endTagRequirement() const { return TagStatusForbidden; }
+ virtual int tagPriority() const { return 0; }
+
+ virtual void parseMappedAttribute(Attribute*);
+
+ virtual bool isURLAttribute(Attribute*) const;
+
virtual void addSubresourceAttributeURLs(ListHashSet<KURL>&) const;
- protected:
AtomicString m_name;
AtomicString m_value;
};
diff --git a/WebCore/html/HTMLParser.cpp b/WebCore/html/HTMLParser.cpp
index 0f0a0fc..dd822cf 100644
--- a/WebCore/html/HTMLParser.cpp
+++ b/WebCore/html/HTMLParser.cpp
@@ -431,7 +431,6 @@ bool HTMLParser::insertNode(Node* n, bool flat)
bool HTMLParser::handleError(Node* n, bool flat, const AtomicString& localName, int tagPriority)
{
// Error handling code. This is just ad hoc handling of specific parent/child combinations.
- HTMLElement* e;
bool handled = false;
// 1. Check out the element's tag name to decide how to deal with errors.
@@ -559,7 +558,7 @@ bool HTMLParser::handleError(Node* n, bool flat, const AtomicString& localName,
elt->hasLocalName(titleTag) || elt->hasLocalName(isindexTag) ||
elt->hasLocalName(baseTag))) {
if (!m_head) {
- m_head = new HTMLHeadElement(headTag, m_document);
+ m_head = HTMLHeadElement::create(m_document);
insertNode(m_head.get());
handled = true;
}
@@ -576,9 +575,8 @@ bool HTMLParser::handleError(Node* n, bool flat, const AtomicString& localName,
createHead();
popBlock(headTag);
- e = new HTMLBodyElement(bodyTag, m_document);
startBody();
- insertNode(e);
+ insertNode(HTMLBodyElement::create(m_document).get());
handled = true;
} else
reportError(MisplacedFramesetContentError, &localName);
@@ -591,9 +589,8 @@ bool HTMLParser::handleError(Node* n, bool flat, const AtomicString& localName,
if (!m_haveFrameSet) {
ASSERT(currentTagName == headTag);
popBlock(currentTagName);
- e = new HTMLBodyElement(bodyTag, m_document);
startBody();
- insertNode(e);
+ insertNode(HTMLBodyElement::create(m_document).get());
handled = true;
} else
reportError(MisplacedFramesetContentError, &localName);
@@ -661,17 +658,15 @@ bool HTMLParser::handleError(Node* n, bool flat, const AtomicString& localName,
if (!ec) {
if (m_current->hasTagName(trTag)) {
reportError(TablePartRequiredError, &localName, &tdTag.localName());
- e = new HTMLTableCellElement(tdTag, m_document);
+ insertNode(HTMLTableCellElement::create(tdTag, m_document).get());
} else if (m_current->hasTagName(tableTag)) {
// Don't report an error in this case, since making a <tbody> happens all the time when you have <table><tr>,
// and it isn't really a parse error per se.
- e = new HTMLTableSectionElement(tbodyTag, m_document);
+ insertNode(HTMLTableSectionElement::create(tbodyTag, m_document).get());
} else {
reportError(TablePartRequiredError, &localName, &trTag.localName());
- e = new HTMLTableRowElement(trTag, m_document);
+ insertNode(HTMLTableRowElement::create(m_document).get());
}
-
- insertNode(e);
handled = true;
}
}
@@ -715,8 +710,7 @@ bool HTMLParser::handleError(Node* n, bool flat, const AtomicString& localName,
}
if (!m_document->documentElement()) {
- e = new HTMLHtmlElement(htmlTag, m_document);
- insertNode(e);
+ insertNode(HTMLHtmlElement::create(m_document).get());
handled = true;
}
}
@@ -747,7 +741,7 @@ bool HTMLParser::commentCreateErrorCheck(Token* t, RefPtr<Node>& result)
bool HTMLParser::headCreateErrorCheck(Token*, RefPtr<Node>& result)
{
if (!m_head || m_current->localName() == htmlTag) {
- m_head = new HTMLHeadElement(headTag, m_document);
+ m_head = HTMLHeadElement::create(m_document);
result = m_head;
} else
reportError(MisplacedHeadError);
@@ -795,7 +789,7 @@ bool HTMLParser::formCreateErrorCheck(Token* t, RefPtr<Node>& result)
// Only create a new form if we're not already inside one.
// This is consistent with other browsers' behavior.
if (!m_currentFormElement) {
- m_currentFormElement = new HTMLFormElement(formTag, m_document);
+ m_currentFormElement = HTMLFormElement::create(m_document);
result = m_currentFormElement;
pCloserCreateErrorCheck(t, result);
}
@@ -922,7 +916,7 @@ bool HTMLParser::pCloserStrictCreateErrorCheck(Token*, RefPtr<Node>&)
bool HTMLParser::mapCreateErrorCheck(Token*, RefPtr<Node>& result)
{
- m_currentMapElement = new HTMLMapElement(mapTag, m_document);
+ m_currentMapElement = HTMLMapElement::create(m_document);
result = m_currentMapElement;
return false;
}
@@ -1572,11 +1566,11 @@ void HTMLParser::createHead()
return;
if (!m_document->documentElement() && !m_isParsingFragment) {
- insertNode(new HTMLHtmlElement(htmlTag, m_document));
+ insertNode(HTMLHtmlElement::create(m_document).get());
ASSERT(m_document->documentElement() || m_isParsingFragment);
}
- m_head = new HTMLHeadElement(headTag, m_document);
+ m_head = HTMLHeadElement::create(m_document);
if (m_isParsingFragment)
return;
@@ -1596,11 +1590,11 @@ void HTMLParser::createHead()
PassRefPtr<Node> HTMLParser::handleIsindex(Token* t)
{
- RefPtr<Node> n = new HTMLDivElement(divTag, m_document);
+ RefPtr<Node> n = HTMLDivElement::create(m_document);
NamedNodeMap* attrs = t->attrs.get();
- RefPtr<HTMLIsIndexElement> isIndex = new HTMLIsIndexElement(isindexTag, m_document, m_currentFormElement.get());
+ RefPtr<HTMLIsIndexElement> isIndex = HTMLIsIndexElement::create(m_document, m_currentFormElement.get());
isIndex->setAttributeMap(attrs);
isIndex->setAttribute(typeAttr, "khtml_isindex");
@@ -1611,10 +1605,10 @@ PassRefPtr<Node> HTMLParser::handleIsindex(Token* t)
t->attrs = 0;
}
- n->addChild(new HTMLHRElement(hrTag, m_document));
+ n->addChild(HTMLHRElement::create(m_document));
n->addChild(Text::create(m_document, text));
n->addChild(isIndex.release());
- n->addChild(new HTMLHRElement(hrTag, m_document));
+ n->addChild(HTMLHRElement::create(m_document));
return n.release();
}
@@ -1636,7 +1630,7 @@ void HTMLParser::finished()
{
// In the case of a completely empty document, here's the place to create the HTML element.
if (m_current && m_current->isDocumentNode() && !m_document->documentElement())
- insertNode(new HTMLHtmlElement(htmlTag, m_document));
+ insertNode(HTMLHtmlElement::create(m_document).get());
// This ensures that "current" is not left pointing to a node when the document is destroyed.
freeBlock();
diff --git a/WebCore/html/HTMLPreElement.cpp b/WebCore/html/HTMLPreElement.cpp
index 0108ff3..68522e5 100644
--- a/WebCore/html/HTMLPreElement.cpp
+++ b/WebCore/html/HTMLPreElement.cpp
@@ -1,7 +1,7 @@
-/**
+/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2003 Apple Computer, Inc.
+ * Copyright (C) 2003, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -32,11 +32,16 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLPreElement::HTMLPreElement(const QualifiedName& tagName, Document* doc)
- : HTMLElement(tagName, doc)
+inline HTMLPreElement::HTMLPreElement(const QualifiedName& tagName, Document* document)
+ : HTMLElement(tagName, document)
{
}
+PassRefPtr<HTMLPreElement> HTMLPreElement::create(const QualifiedName& tagName, Document* document)
+{
+ return new HTMLPreElement(tagName, document);
+}
+
bool HTMLPreElement::mapToEntry(const QualifiedName& attrName, MappedAttributeEntry& result) const
{
if (attrName == widthAttr || attrName == wrapAttr) {
diff --git a/WebCore/html/HTMLPreElement.h b/WebCore/html/HTMLPreElement.h
index 17b945e..0975c0f 100644
--- a/WebCore/html/HTMLPreElement.h
+++ b/WebCore/html/HTMLPreElement.h
@@ -1,6 +1,7 @@
/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -28,19 +29,22 @@ namespace WebCore {
class HTMLPreElement : public HTMLElement {
public:
+ static PassRefPtr<HTMLPreElement> create(const QualifiedName&, Document*);
+
+ int width() const;
+ void setWidth(int);
+
+ bool wrap() const;
+ void setWrap(bool);
+
+private:
HTMLPreElement(const QualifiedName&, Document*);
virtual HTMLTagStatus endTagRequirement() const { return TagStatusRequired; }
virtual int tagPriority() const { return 5; }
- bool mapToEntry(const QualifiedName&, MappedAttributeEntry&) const;
- void parseMappedAttribute(Attribute*);
-
- int width() const;
- void setWidth(int w);
-
- bool wrap() const;
- void setWrap(bool b);
+ virtual bool mapToEntry(const QualifiedName&, MappedAttributeEntry&) const;
+ virtual void parseMappedAttribute(Attribute*);
};
} // namespace WebCore
diff --git a/WebCore/html/HTMLProgressElement.idl b/WebCore/html/HTMLProgressElement.idl
index 935bd95..b49252c 100644
--- a/WebCore/html/HTMLProgressElement.idl
+++ b/WebCore/html/HTMLProgressElement.idl
@@ -27,6 +27,7 @@ module html {
setter raises(DOMException);
readonly attribute double position;
readonly attribute HTMLFormElement form;
+ readonly attribute NodeList labels;
};
}
diff --git a/WebCore/html/HTMLQuoteElement.cpp b/WebCore/html/HTMLQuoteElement.cpp
index e548215..b646fc0 100644
--- a/WebCore/html/HTMLQuoteElement.cpp
+++ b/WebCore/html/HTMLQuoteElement.cpp
@@ -1,8 +1,8 @@
-/**
+/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2000 Simon Hausmann <hausmann@kde.org>
- * Copyright (C) 2003, 2006 Apple Computer, Inc.
+ * Copyright (C) 2003, 2006, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -19,6 +19,7 @@
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
+
#include "config.h"
#include "HTMLQuoteElement.h"
@@ -29,12 +30,17 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLQuoteElement::HTMLQuoteElement(const QualifiedName& tagName, Document* doc)
- : HTMLElement(tagName, doc)
+inline HTMLQuoteElement::HTMLQuoteElement(const QualifiedName& tagName, Document* document)
+ : HTMLElement(tagName, document)
{
ASSERT(hasTagName(qTag));
}
+PassRefPtr<HTMLQuoteElement> HTMLQuoteElement::create(const QualifiedName& tagName, Document* document)
+{
+ return new HTMLQuoteElement(tagName, document);
+}
+
void HTMLQuoteElement::insertedIntoDocument()
{
document()->setUsesBeforeAfterRules(true);
diff --git a/WebCore/html/HTMLQuoteElement.h b/WebCore/html/HTMLQuoteElement.h
index addbfb4..fa21d2d 100644
--- a/WebCore/html/HTMLQuoteElement.h
+++ b/WebCore/html/HTMLQuoteElement.h
@@ -2,6 +2,7 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2000 Simon Hausmann <hausmann@kde.org>
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -19,6 +20,7 @@
* Boston, MA 02110-1301, USA.
*
*/
+
#ifndef HTMLQuoteElement_h
#define HTMLQuoteElement_h
@@ -30,15 +32,18 @@ class String;
class HTMLQuoteElement : public HTMLElement {
public:
+ static PassRefPtr<HTMLQuoteElement> create(const QualifiedName&, Document*);
+
+ String cite() const;
+ void setCite(const String&);
+
+private:
HTMLQuoteElement(const QualifiedName&, Document*);
virtual HTMLTagStatus endTagRequirement() const { return TagStatusRequired; }
virtual int tagPriority() const { return 1; }
virtual void insertedIntoDocument();
-
- String cite() const;
- void setCite(const String&);
};
} //namespace
diff --git a/WebCore/html/HTMLScriptElement.cpp b/WebCore/html/HTMLScriptElement.cpp
index 83af32e..f4c3ae8 100644
--- a/WebCore/html/HTMLScriptElement.cpp
+++ b/WebCore/html/HTMLScriptElement.cpp
@@ -35,16 +35,17 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLScriptElement::HTMLScriptElement(const QualifiedName& tagName, Document* doc, bool createdByParser)
- : HTMLElement(tagName, doc)
+inline HTMLScriptElement::HTMLScriptElement(const QualifiedName& tagName, Document* document, bool createdByParser)
+ : HTMLElement(tagName, document)
, m_data(this, this)
{
ASSERT(hasTagName(scriptTag));
m_data.setCreatedByParser(createdByParser);
}
-HTMLScriptElement::~HTMLScriptElement()
+PassRefPtr<HTMLScriptElement> HTMLScriptElement::create(const QualifiedName& tagName, Document* document, bool createdByParser)
{
+ return new HTMLScriptElement(tagName, document, createdByParser);
}
bool HTMLScriptElement::isURLAttribute(Attribute* attr) const
diff --git a/WebCore/html/HTMLScriptElement.h b/WebCore/html/HTMLScriptElement.h
index f5c3acb..14a1264 100644
--- a/WebCore/html/HTMLScriptElement.h
+++ b/WebCore/html/HTMLScriptElement.h
@@ -29,26 +29,11 @@
namespace WebCore {
-class HTMLScriptElement : public HTMLElement
- , public ScriptElement {
+class HTMLScriptElement : public HTMLElement, public ScriptElement {
public:
- HTMLScriptElement(const QualifiedName&, Document*, bool createdByParser);
- ~HTMLScriptElement();
+ static PassRefPtr<HTMLScriptElement> create(const QualifiedName&, Document*, bool createdByParser);
virtual bool shouldExecuteAsJavaScript() const;
- virtual String scriptContent() const;
-
- virtual HTMLTagStatus endTagRequirement() const { return TagStatusRequired; }
- virtual int tagPriority() const { return 1; }
- virtual bool checkDTD(const Node* newChild) { return newChild->isTextNode(); }
-
- virtual void parseMappedAttribute(Attribute*);
- virtual void insertedIntoDocument();
- virtual void removedFromDocument();
- virtual void childrenChanged(bool changedByParser = false, Node* beforeChange = 0, Node* afterChange = 0, int childCountDelta = 0);
-
- virtual bool isURLAttribute(Attribute*) const;
- virtual void finishParsingChildren();
String text() const;
void setText(const String&);
@@ -73,11 +58,27 @@ public:
virtual String scriptCharset() const;
- virtual void addSubresourceAttributeURLs(ListHashSet<KURL>&) const;
-
bool haveFiredLoadEvent() const { return m_data.haveFiredLoadEvent(); }
-protected:
+private:
+ HTMLScriptElement(const QualifiedName&, Document*, bool createdByParser);
+
+ virtual String scriptContent() const;
+
+ virtual HTMLTagStatus endTagRequirement() const { return TagStatusRequired; }
+ virtual int tagPriority() const { return 1; }
+ virtual bool checkDTD(const Node* newChild) { return newChild->isTextNode(); }
+
+ virtual void parseMappedAttribute(Attribute*);
+ virtual void insertedIntoDocument();
+ virtual void removedFromDocument();
+ virtual void childrenChanged(bool changedByParser = false, Node* beforeChange = 0, Node* afterChange = 0, int childCountDelta = 0);
+
+ virtual bool isURLAttribute(Attribute*) const;
+ virtual void finishParsingChildren();
+
+ virtual void addSubresourceAttributeURLs(ListHashSet<KURL>&) const;
+
virtual String sourceAttributeValue() const;
virtual String charsetAttributeValue() const;
virtual String typeAttributeValue() const;
@@ -88,7 +89,6 @@ protected:
virtual void dispatchLoadEvent();
virtual void dispatchErrorEvent();
-private:
ScriptElementData m_data;
};
diff --git a/WebCore/html/HTMLSelectElement.cpp b/WebCore/html/HTMLSelectElement.cpp
index c053a84..4c124e0 100644
--- a/WebCore/html/HTMLSelectElement.cpp
+++ b/WebCore/html/HTMLSelectElement.cpp
@@ -3,7 +3,7 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2001 Dirk Mueller (mueller@kde.org)
- * Copyright (C) 2004, 2005, 2006, 2007, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2004, 2005, 2006, 2007, 2009, 2010 Apple Inc. All rights reserved.
* (C) 2006 Alexey Proskuryakov (ap@nypop.com)
* Copyright (C) 2010 Google Inc. All rights reserved.
*
@@ -52,6 +52,12 @@ HTMLSelectElement::HTMLSelectElement(const QualifiedName& tagName, Document* doc
ASSERT(hasTagName(selectTag) || hasTagName(keygenTag));
}
+PassRefPtr<HTMLSelectElement> HTMLSelectElement::create(const QualifiedName& tagName, Document* document, HTMLFormElement* form)
+{
+ ASSERT(tagName.matches(selectTag));
+ return new HTMLSelectElement(tagName, document, form);
+}
+
bool HTMLSelectElement::checkDTD(const Node* newChild)
{
// Make sure to keep <optgroup> in sync with this.
diff --git a/WebCore/html/HTMLSelectElement.h b/WebCore/html/HTMLSelectElement.h
index c31e7f6..59c943a 100644
--- a/WebCore/html/HTMLSelectElement.h
+++ b/WebCore/html/HTMLSelectElement.h
@@ -3,7 +3,7 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2000 Dirk Mueller (mueller@kde.org)
- * Copyright (C) 2004, 2005, 2006, 2007, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2004, 2005, 2006, 2007, 2009, 2010 Apple Inc. All rights reserved.
* Copyright (C) 2010 Google Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
@@ -34,11 +34,10 @@ namespace WebCore {
class HTMLOptionElement;
class HTMLOptionsCollection;
-class KeyboardEvent;
class HTMLSelectElement : public HTMLFormControlElementWithState, public SelectElement {
public:
- HTMLSelectElement(const QualifiedName&, Document*, HTMLFormElement* = 0);
+ static PassRefPtr<HTMLSelectElement> create(const QualifiedName&, Document*, HTMLFormElement*);
virtual int selectedIndex() const;
virtual void setSelectedIndex(int index, bool deselect = true);
@@ -83,6 +82,9 @@ public:
void listBoxSelectItem(int listIndex, bool allowMultiplySelections, bool shift, bool fireOnChangeNow = true);
+protected:
+ HTMLSelectElement(const QualifiedName&, Document*, HTMLFormElement*);
+
private:
virtual int tagPriority() const { return 6; }
virtual bool checkDTD(const Node* newChild);
diff --git a/WebCore/html/HTMLSelectElement.idl b/WebCore/html/HTMLSelectElement.idl
index d260fad..3303272 100644
--- a/WebCore/html/HTMLSelectElement.idl
+++ b/WebCore/html/HTMLSelectElement.idl
@@ -68,6 +68,7 @@ module html {
// "The contained options can be directly accessed through the select element as a collection."
Node item(in [IsIndex] unsigned long index);
Node namedItem(in DOMString name);
+ readonly attribute NodeList labels;
};
}
diff --git a/WebCore/html/HTMLSourceElement.cpp b/WebCore/html/HTMLSourceElement.cpp
index 4b9401d..8378bc8 100644
--- a/WebCore/html/HTMLSourceElement.cpp
+++ b/WebCore/html/HTMLSourceElement.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2007, 2008, 2010 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -40,15 +40,16 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLSourceElement::HTMLSourceElement(const QualifiedName& tagName, Document* doc)
- : HTMLElement(tagName, doc)
+inline HTMLSourceElement::HTMLSourceElement(const QualifiedName& tagName, Document* document)
+ : HTMLElement(tagName, document)
, m_errorEventTimer(this, &HTMLSourceElement::errorEventTimerFired)
{
ASSERT(hasTagName(sourceTag));
}
-HTMLSourceElement::~HTMLSourceElement()
+PassRefPtr<HTMLSourceElement> HTMLSourceElement::create(const QualifiedName& tagName, Document* document)
{
+ return new HTMLSourceElement(tagName, document);
}
void HTMLSourceElement::insertedIntoDocument()
diff --git a/WebCore/html/HTMLSourceElement.h b/WebCore/html/HTMLSourceElement.h
index 50d6687..e11c9d0 100644
--- a/WebCore/html/HTMLSourceElement.h
+++ b/WebCore/html/HTMLSourceElement.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2007, 2008, 2010 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -30,22 +30,13 @@
#include "HTMLElement.h"
#include "Timer.h"
-#include <limits>
namespace WebCore {
-class KURL;
-
class HTMLSourceElement : public HTMLElement {
public:
- HTMLSourceElement(const QualifiedName&, Document*);
- virtual ~HTMLSourceElement();
+ static PassRefPtr<HTMLSourceElement> create(const QualifiedName&, Document*);
- virtual HTMLTagStatus endTagRequirement() const { return TagStatusForbidden; }
- virtual int tagPriority() const { return 0; }
-
- virtual void insertedIntoDocument();
-
KURL src() const;
String media() const;
String type() const;
@@ -57,6 +48,13 @@ public:
void cancelPendingErrorEvent();
private:
+ HTMLSourceElement(const QualifiedName&, Document*);
+
+ virtual HTMLTagStatus endTagRequirement() const { return TagStatusForbidden; }
+ virtual int tagPriority() const { return 0; }
+
+ virtual void insertedIntoDocument();
+
void errorEventTimerFired(Timer<HTMLSourceElement>*);
Timer<HTMLSourceElement> m_errorEventTimer;
diff --git a/WebCore/html/HTMLStyleElement.cpp b/WebCore/html/HTMLStyleElement.cpp
index 1cdfed2..b67bfa3 100644
--- a/WebCore/html/HTMLStyleElement.cpp
+++ b/WebCore/html/HTMLStyleElement.cpp
@@ -1,8 +1,8 @@
-/**
+/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2001 Dirk Mueller (mueller@kde.org)
- * Copyright (C) 2003 Apple Computer, Inc.
+ * Copyright (C) 2003, 2010 Apple Inc. All rights reserved.
* (C) 2007 Rob Buis (buis@kde.org)
*
* This library is free software; you can redistribute it and/or
@@ -32,14 +32,19 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLStyleElement::HTMLStyleElement(const QualifiedName& tagName, Document* doc, bool createdByParser)
- : HTMLElement(tagName, doc)
+inline HTMLStyleElement::HTMLStyleElement(const QualifiedName& tagName, Document* document, bool createdByParser)
+ : HTMLElement(tagName, document)
, m_loading(false)
, m_createdByParser(createdByParser)
{
ASSERT(hasTagName(styleTag));
}
+PassRefPtr<HTMLStyleElement> HTMLStyleElement::create(const QualifiedName& tagName, Document* document, bool createdByParser)
+{
+ return new HTMLStyleElement(tagName, document, createdByParser);
+}
+
// other stuff...
void HTMLStyleElement::parseMappedAttribute(Attribute* attr)
{
diff --git a/WebCore/html/HTMLStyleElement.h b/WebCore/html/HTMLStyleElement.h
index ba8ed3e..58dce14 100644
--- a/WebCore/html/HTMLStyleElement.h
+++ b/WebCore/html/HTMLStyleElement.h
@@ -1,7 +1,7 @@
/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2003 Apple Computer, Inc.
+ * Copyright (C) 2003, 2010 Apple Inc. ALl rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -22,14 +22,29 @@
#ifndef HTMLStyleElement_h
#define HTMLStyleElement_h
-#include "CSSStyleSheet.h"
#include "HTMLElement.h"
#include "StyleElement.h"
namespace WebCore {
+class StyleSheet;
+
class HTMLStyleElement : public HTMLElement, public StyleElement {
public:
+ static PassRefPtr<HTMLStyleElement> create(const QualifiedName&, Document*, bool createdByParser);
+
+ bool disabled() const;
+ void setDisabled(bool);
+
+ virtual const AtomicString& media() const;
+ void setMedia(const AtomicString&);
+
+ virtual const AtomicString& type() const;
+ void setType(const AtomicString&);
+
+ StyleSheet* sheet();
+
+private:
HTMLStyleElement(const QualifiedName&, Document*, bool createdByParser);
virtual HTMLTagStatus endTagRequirement() const { return TagStatusRequired; }
@@ -47,22 +62,10 @@ public:
virtual bool isLoading() const;
virtual bool sheetLoaded();
- bool disabled() const;
- void setDisabled(bool);
-
- virtual const AtomicString& media() const;
- void setMedia(const AtomicString&);
-
- virtual const AtomicString& type() const;
- void setType(const AtomicString&);
-
- StyleSheet* sheet();
-
virtual void setLoading(bool loading) { m_loading = loading; }
virtual void addSubresourceAttributeURLs(ListHashSet<KURL>&) const;
-protected:
String m_media;
bool m_loading;
bool m_createdByParser;
diff --git a/WebCore/html/HTMLTableCaptionElement.cpp b/WebCore/html/HTMLTableCaptionElement.cpp
index 828a4e9..3713ca1 100644
--- a/WebCore/html/HTMLTableCaptionElement.cpp
+++ b/WebCore/html/HTMLTableCaptionElement.cpp
@@ -1,10 +1,10 @@
-/**
+/*
* Copyright (C) 1997 Martin Jones (mjones@kde.org)
* (C) 1997 Torben Weis (weis@kde.org)
* (C) 1998 Waldo Bastian (bastian@kde.org)
* (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2003, 2004, 2005, 2006 Apple Computer, Inc.
+ * Copyright (C) 2003, 2004, 2005, 2006, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -33,12 +33,17 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLTableCaptionElement::HTMLTableCaptionElement(const QualifiedName& tagName, Document *doc)
- : HTMLTablePartElement(tagName, doc)
+inline HTMLTableCaptionElement::HTMLTableCaptionElement(const QualifiedName& tagName, Document* document)
+ : HTMLTablePartElement(tagName, document)
{
ASSERT(hasTagName(captionTag));
}
+PassRefPtr<HTMLTableCaptionElement> HTMLTableCaptionElement::create(const QualifiedName& tagName, Document* document)
+{
+ return new HTMLTableCaptionElement(tagName, document);
+}
+
bool HTMLTableCaptionElement::mapToEntry(const QualifiedName& attrName, MappedAttributeEntry& result) const
{
if (attrName == alignAttr) {
diff --git a/WebCore/html/HTMLTableCaptionElement.h b/WebCore/html/HTMLTableCaptionElement.h
index cf9d4d9..e97b03f 100644
--- a/WebCore/html/HTMLTableCaptionElement.h
+++ b/WebCore/html/HTMLTableCaptionElement.h
@@ -4,7 +4,7 @@
* (C) 1998 Waldo Bastian (bastian@kde.org)
* (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2003, 2004, 2005, 2006 Apple Computer, Inc.
+ * Copyright (C) 2003, 2004, 2005, 2006, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -32,6 +32,12 @@ namespace WebCore {
class HTMLTableCaptionElement : public HTMLTablePartElement {
public:
+ static PassRefPtr<HTMLTableCaptionElement> create(const QualifiedName&, Document*);
+
+ String align() const;
+ void setAlign(const String&);
+
+private:
HTMLTableCaptionElement(const QualifiedName&, Document*);
virtual HTMLTagStatus endTagRequirement() const { return TagStatusRequired; }
@@ -39,11 +45,8 @@ public:
virtual bool mapToEntry(const QualifiedName&, MappedAttributeEntry&) const;
virtual void parseMappedAttribute(Attribute*);
-
- String align() const;
- void setAlign(const String&);
};
-} //namespace
+} // namespace
#endif
diff --git a/WebCore/html/HTMLTableCellElement.cpp b/WebCore/html/HTMLTableCellElement.cpp
index 7d71ff4..92ccdf1 100644
--- a/WebCore/html/HTMLTableCellElement.cpp
+++ b/WebCore/html/HTMLTableCellElement.cpp
@@ -1,10 +1,10 @@
-/**
+/*
* Copyright (C) 1997 Martin Jones (mjones@kde.org)
* (C) 1997 Torben Weis (weis@kde.org)
* (C) 1998 Waldo Bastian (bastian@kde.org)
* (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2003, 2004, 2005, 2006 Apple Computer, Inc.
+ * Copyright (C) 2003, 2004, 2005, 2006, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -47,19 +47,18 @@ static const int maxRowspan = 8190;
using namespace HTMLNames;
-HTMLTableCellElement::HTMLTableCellElement(const QualifiedName& tagName, Document *doc)
- : HTMLTablePartElement(tagName, doc)
- , _row(-1)
- , _col(-1)
- , rSpan(1)
- , cSpan(1)
- , rowHeight(0)
- , m_solid(false)
+inline HTMLTableCellElement::HTMLTableCellElement(const QualifiedName& tagName, Document* document)
+ : HTMLTablePartElement(tagName, document)
+ , m_row(-1)
+ , m_col(-1)
+ , m_rowSpan(1)
+ , m_colSpan(1)
{
}
-HTMLTableCellElement::~HTMLTableCellElement()
+PassRefPtr<HTMLTableCellElement> HTMLTableCellElement::create(const QualifiedName& tagName, Document* document)
{
+ return new HTMLTableCellElement(tagName, document);
}
int HTMLTableCellElement::cellIndex() const
@@ -92,28 +91,32 @@ bool HTMLTableCellElement::mapToEntry(const QualifiedName& attrName, MappedAttri
void HTMLTableCellElement::parseMappedAttribute(Attribute* attr)
{
if (attr->name() == rowspanAttr) {
- rSpan = !attr->isNull() ? attr->value().toInt() : 1;
- rSpan = max(1, min(rSpan, maxRowspan));
+ m_rowSpan = max(1, min(attr->value().toInt(), maxRowspan));
if (renderer() && renderer()->isTableCell())
toRenderTableCell(renderer())->updateFromElement();
} else if (attr->name() == colspanAttr) {
- cSpan = !attr->isNull() ? attr->value().toInt() : 1;
- cSpan = max(1, cSpan);
+ m_colSpan = max(1, attr->value().toInt());
if (renderer() && renderer()->isTableCell())
toRenderTableCell(renderer())->updateFromElement();
} else if (attr->name() == nowrapAttr) {
+<<<<<<< HEAD
#ifdef ANDROID_LAYOUT
if (!(document()->frame()) || document()->frame()->settings()->layoutAlgorithm() != Settings::kLayoutSSR)
#endif
+=======
+ // FIXME: What about removing the property when the attribute becomes null?
+>>>>>>> webkit.org at r60469
if (!attr->isNull())
addCSSProperty(attr, CSSPropertyWhiteSpace, CSSValueWebkitNowrap);
} else if (attr->name() == widthAttr) {
+ // FIXME: What about removing the property when the attribute becomes empty, zero or negative?
if (!attr->value().isEmpty()) {
int widthInt = attr->value().toInt();
if (widthInt > 0) // width="0" is ignored for compatibility with WinIE.
addCSSLength(attr, CSSPropertyWidth, attr->value());
}
} else if (attr->name() == heightAttr) {
+ // FIXME: What about removing the property when the attribute becomes empty, zero or negative?
if (!attr->value().isEmpty()) {
int heightInt = attr->value().toInt();
if (heightInt > 0) // height="0" is ignored for compatibility with WinIE.
diff --git a/WebCore/html/HTMLTableCellElement.h b/WebCore/html/HTMLTableCellElement.h
index b598ce8..6a514ec 100644
--- a/WebCore/html/HTMLTableCellElement.h
+++ b/WebCore/html/HTMLTableCellElement.h
@@ -4,7 +4,7 @@
* (C) 1998 Waldo Bastian (bastian@kde.org)
* (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2003, 2004, 2005, 2006 Apple Computer, Inc.
+ * Copyright (C) 2003, 2004, 2005, 2006, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -32,30 +32,17 @@ namespace WebCore {
class HTMLTableCellElement : public HTMLTablePartElement {
public:
- HTMLTableCellElement(const QualifiedName&, Document*);
- ~HTMLTableCellElement();
-
- virtual HTMLTagStatus endTagRequirement() const { return TagStatusOptional; }
- virtual int tagPriority() const { return 6; }
+ static PassRefPtr<HTMLTableCellElement> create(const QualifiedName&, Document*);
int cellIndex() const;
- int col() const { return _col; }
- void setCol(int col) { _col = col; }
- int row() const { return _row; }
- void setRow(int r) { _row = r; }
-
- int colSpan() const { return cSpan; }
- int rowSpan() const { return rSpan; }
-
- virtual bool mapToEntry(const QualifiedName&, MappedAttributeEntry&) const;
- virtual void parseMappedAttribute(Attribute*);
+ int col() const { return m_col; }
+ void setCol(int col) { m_col = col; }
+ int row() const { return m_row; }
+ void setRow(int row) { m_row = row; }
- // used by table cells to share style decls created by the enclosing table.
- virtual bool canHaveAdditionalAttributeStyleDecls() const { return true; }
- virtual void additionalAttributeStyleDecls(Vector<CSSMutableStyleDeclaration*>&);
-
- virtual bool isURLAttribute(Attribute*) const;
+ int colSpan() const { return m_colSpan; }
+ int rowSpan() const { return m_rowSpan; }
void setCellIndex(int);
@@ -99,17 +86,29 @@ public:
String width() const;
void setWidth(const String&);
+private:
+ HTMLTableCellElement(const QualifiedName&, Document*);
+
+ virtual HTMLTagStatus endTagRequirement() const { return TagStatusOptional; }
+ virtual int tagPriority() const { return 6; }
+
+ virtual bool mapToEntry(const QualifiedName&, MappedAttributeEntry&) const;
+ virtual void parseMappedAttribute(Attribute*);
+
+ // used by table cells to share style decls created by the enclosing table.
+ virtual bool canHaveAdditionalAttributeStyleDecls() const { return true; }
+ virtual void additionalAttributeStyleDecls(Vector<CSSMutableStyleDeclaration*>&);
+
+ virtual bool isURLAttribute(Attribute*) const;
+
virtual void addSubresourceAttributeURLs(ListHashSet<KURL>&) const;
-protected:
- int _row;
- int _col;
- int rSpan;
- int cSpan;
- int rowHeight;
- bool m_solid;
+ int m_row;
+ int m_col;
+ int m_rowSpan;
+ int m_colSpan;
};
-} //namespace
+} // namespace
#endif
diff --git a/WebCore/html/HTMLTableColElement.cpp b/WebCore/html/HTMLTableColElement.cpp
index 7a40be2..d21b307 100644
--- a/WebCore/html/HTMLTableColElement.cpp
+++ b/WebCore/html/HTMLTableColElement.cpp
@@ -1,10 +1,10 @@
-/**
+/*
* Copyright (C) 1997 Martin Jones (mjones@kde.org)
* (C) 1997 Torben Weis (weis@kde.org)
* (C) 1998 Waldo Bastian (bastian@kde.org)
* (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2003, 2004, 2005, 2006 Apple Computer, Inc.
+ * Copyright (C) 2003, 2004, 2005, 2006, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -36,10 +36,15 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLTableColElement::HTMLTableColElement(const QualifiedName& tagName, Document *doc)
- : HTMLTablePartElement(tagName, doc)
+inline HTMLTableColElement::HTMLTableColElement(const QualifiedName& tagName, Document* document)
+ : HTMLTablePartElement(tagName, document)
+ , m_span(1)
{
- _span = 1;
+}
+
+PassRefPtr<HTMLTableColElement> HTMLTableColElement::create(const QualifiedName& tagName, Document* document)
+{
+ return new HTMLTableColElement(tagName, document);
}
HTMLTagStatus HTMLTableColElement::endTagRequirement() const
@@ -75,7 +80,7 @@ bool HTMLTableColElement::mapToEntry(const QualifiedName& attrName, MappedAttrib
void HTMLTableColElement::parseMappedAttribute(Attribute* attr)
{
if (attr->name() == spanAttr) {
- _span = !attr->isNull() ? attr->value().toInt() : 1;
+ m_span = !attr->isNull() ? attr->value().toInt() : 1;
if (renderer() && renderer()->isTableCol())
renderer()->updateFromElement();
} else if (attr->name() == widthAttr) {
diff --git a/WebCore/html/HTMLTableColElement.h b/WebCore/html/HTMLTableColElement.h
index 3710c11..07b0ae8 100644
--- a/WebCore/html/HTMLTableColElement.h
+++ b/WebCore/html/HTMLTableColElement.h
@@ -4,7 +4,7 @@
* (C) 1998 Waldo Bastian (bastian@kde.org)
* (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2003, 2004, 2005, 2006 Apple Computer, Inc.
+ * Copyright (C) 2003, 2004, 2005, 2006, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -30,23 +30,11 @@
namespace WebCore {
-class HTMLTableElement;
-
class HTMLTableColElement : public HTMLTablePartElement {
public:
- HTMLTableColElement(const QualifiedName& tagName, Document*);
-
- virtual HTMLTagStatus endTagRequirement() const;
- virtual int tagPriority() const;
- virtual bool checkDTD(const Node*);
+ static PassRefPtr<HTMLTableColElement> create(const QualifiedName& tagName, Document*);
- // overrides
- virtual bool mapToEntry(const QualifiedName&, MappedAttributeEntry&) const;
- virtual void parseMappedAttribute(Attribute*);
- virtual bool canHaveAdditionalAttributeStyleDecls() const { return true; }
- virtual void additionalAttributeStyleDecls(Vector<CSSMutableStyleDeclaration*>&);
-
- int span() const { return _span; }
+ int span() const { return m_span; }
String align() const;
void setAlign(const String&);
@@ -65,8 +53,18 @@ public:
String width() const;
void setWidth(const String&);
-protected:
- int _span;
+private:
+ HTMLTableColElement(const QualifiedName& tagName, Document*);
+
+ virtual HTMLTagStatus endTagRequirement() const;
+ virtual int tagPriority() const;
+ virtual bool checkDTD(const Node*);
+ virtual bool mapToEntry(const QualifiedName&, MappedAttributeEntry&) const;
+ virtual void parseMappedAttribute(Attribute*);
+ virtual bool canHaveAdditionalAttributeStyleDecls() const { return true; }
+ virtual void additionalAttributeStyleDecls(Vector<CSSMutableStyleDeclaration*>&);
+
+ int m_span;
};
} //namespace
diff --git a/WebCore/html/HTMLTableElement.cpp b/WebCore/html/HTMLTableElement.cpp
index 338f505..7532b35 100644
--- a/WebCore/html/HTMLTableElement.cpp
+++ b/WebCore/html/HTMLTableElement.cpp
@@ -4,7 +4,7 @@
* (C) 1998 Waldo Bastian (bastian@kde.org)
* (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2003, 2004, 2005, 2006, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2003, 2004, 2005, 2006, 2008, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -42,8 +42,8 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLTableElement::HTMLTableElement(const QualifiedName& tagName, Document* doc)
- : HTMLElement(tagName, doc)
+HTMLTableElement::HTMLTableElement(const QualifiedName& tagName, Document* document)
+ : HTMLElement(tagName, document)
, m_borderAttr(false)
, m_borderColorAttr(false)
, m_frameAttr(false)
@@ -53,6 +53,16 @@ HTMLTableElement::HTMLTableElement(const QualifiedName& tagName, Document* doc)
ASSERT(hasTagName(tableTag));
}
+PassRefPtr<HTMLTableElement> HTMLTableElement::create(Document* document)
+{
+ return new HTMLTableElement(tableTag, document);
+}
+
+PassRefPtr<HTMLTableElement> HTMLTableElement::create(const QualifiedName& tagName, Document* document)
+{
+ return new HTMLTableElement(tagName, document);
+}
+
bool HTMLTableElement::checkDTD(const Node* newChild)
{
if (newChild->isTextNode())
@@ -125,7 +135,7 @@ PassRefPtr<HTMLElement> HTMLTableElement::createTHead()
{
if (HTMLTableSectionElement* existingHead = tHead())
return existingHead;
- RefPtr<HTMLTableSectionElement> head = new HTMLTableSectionElement(theadTag, document());
+ RefPtr<HTMLTableSectionElement> head = HTMLTableSectionElement::create(theadTag, document());
ExceptionCode ec;
setTHead(head, ec);
return head.release();
@@ -141,7 +151,7 @@ PassRefPtr<HTMLElement> HTMLTableElement::createTFoot()
{
if (HTMLTableSectionElement* existingFoot = tFoot())
return existingFoot;
- RefPtr<HTMLTableSectionElement> foot = new HTMLTableSectionElement(tfootTag, document());
+ RefPtr<HTMLTableSectionElement> foot = HTMLTableSectionElement::create(tfootTag, document());
ExceptionCode ec;
setTFoot(foot, ec);
return foot.release();
@@ -157,7 +167,7 @@ PassRefPtr<HTMLElement> HTMLTableElement::createCaption()
{
if (HTMLTableCaptionElement* existingCaption = caption())
return existingCaption;
- RefPtr<HTMLTableCaptionElement> caption = new HTMLTableCaptionElement(captionTag, document());
+ RefPtr<HTMLTableCaptionElement> caption = HTMLTableCaptionElement::create(captionTag, document());
ExceptionCode ec;
setCaption(caption, ec);
return caption.release();
@@ -209,15 +219,15 @@ PassRefPtr<HTMLElement> HTMLTableElement::insertRow(int index, ExceptionCode& ec
else {
parent = lastBody();
if (!parent) {
- RefPtr<HTMLTableSectionElement> newBody = new HTMLTableSectionElement(tbodyTag, document());
- RefPtr<HTMLTableRowElement> newRow = new HTMLTableRowElement(trTag, document());
+ RefPtr<HTMLTableSectionElement> newBody = HTMLTableSectionElement::create(tbodyTag, document());
+ RefPtr<HTMLTableRowElement> newRow = HTMLTableRowElement::create(document());
newBody->appendChild(newRow, ec);
appendChild(newBody.release(), ec);
return newRow.release();
}
}
- RefPtr<HTMLTableRowElement> newRow = new HTMLTableRowElement(trTag, document());
+ RefPtr<HTMLTableRowElement> newRow = HTMLTableRowElement::create(document());
parent->insertBefore(newRow, row, ec);
return newRow.release();
}
diff --git a/WebCore/html/HTMLTableElement.h b/WebCore/html/HTMLTableElement.h
index 7f1e747..0189ce4 100644
--- a/WebCore/html/HTMLTableElement.h
+++ b/WebCore/html/HTMLTableElement.h
@@ -36,11 +36,8 @@ class HTMLTableSectionElement;
class HTMLTableElement : public HTMLElement {
public:
- HTMLTableElement(const QualifiedName&, Document*);
-
- virtual HTMLTagStatus endTagRequirement() const { return TagStatusRequired; }
- virtual int tagPriority() const { return 9; }
- virtual bool checkDTD(const Node*);
+ static PassRefPtr<HTMLTableElement> create(Document*);
+ static PassRefPtr<HTMLTableElement> create(const QualifiedName&, Document*);
HTMLTableCaptionElement* caption() const;
void setCaption(PassRefPtr<HTMLTableCaptionElement>, ExceptionCode&);
@@ -91,21 +88,30 @@ public:
void setWidth(const String&);
virtual ContainerNode* addChild(PassRefPtr<Node>);
+
+ virtual void attach();
+
+ void addSharedCellDecls(Vector<CSSMutableStyleDeclaration*>&);
+ void addSharedGroupDecls(bool rows, Vector<CSSMutableStyleDeclaration*>&);
+
+private:
+ HTMLTableElement(const QualifiedName&, Document*);
+
+ virtual HTMLTagStatus endTagRequirement() const { return TagStatusRequired; }
+ virtual int tagPriority() const { return 9; }
+ virtual bool checkDTD(const Node*);
+
virtual bool mapToEntry(const QualifiedName&, MappedAttributeEntry&) const;
virtual void parseMappedAttribute(Attribute*);
- virtual void attach();
virtual bool isURLAttribute(Attribute*) const;
// Used to obtain either a solid or outset border decl and to deal with the frame
// and rules attributes.
virtual bool canHaveAdditionalAttributeStyleDecls() const { return true; }
virtual void additionalAttributeStyleDecls(Vector<CSSMutableStyleDeclaration*>&);
- void addSharedCellDecls(Vector<CSSMutableStyleDeclaration*>&);
- void addSharedGroupDecls(bool rows, Vector<CSSMutableStyleDeclaration*>&);
virtual void addSubresourceAttributeURLs(ListHashSet<KURL>&) const;
-private:
void addSharedCellBordersDecl(Vector<CSSMutableStyleDeclaration*>&);
void addSharedCellPaddingDecl(Vector<CSSMutableStyleDeclaration*>&);
@@ -121,7 +127,7 @@ private:
bool m_frameAttr; // Implies a thin border width if no border is set and then a certain set of solid/hidden borders based off the value.
TableRules m_rulesAttr; // Implies a thin border width, a collapsing border model, and all borders on the table becoming set to hidden (if frame/border
// are present, to none otherwise).
-
+
unsigned short m_padding;
RefPtr<CSSMappedAttributeDeclaration> m_paddingDecl;
};
diff --git a/WebCore/html/HTMLTablePartElement.h b/WebCore/html/HTMLTablePartElement.h
index cd8b590..9df2f91 100644
--- a/WebCore/html/HTMLTablePartElement.h
+++ b/WebCore/html/HTMLTablePartElement.h
@@ -4,7 +4,7 @@
* (C) 1998 Waldo Bastian (bastian@kde.org)
* (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2003, 2004, 2005, 2006 Apple Computer, Inc.
+ * Copyright (C) 2003, 2004, 2005, 2006, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -31,10 +31,11 @@
namespace WebCore {
class HTMLTablePartElement : public HTMLElement {
-public:
- HTMLTablePartElement(const QualifiedName& tagName, Document* doc)
- : HTMLElement(tagName, doc)
- { }
+protected:
+ HTMLTablePartElement(const QualifiedName& tagName, Document* document)
+ : HTMLElement(tagName, document)
+ {
+ }
virtual bool mapToEntry(const QualifiedName&, MappedAttributeEntry&) const;
virtual void parseMappedAttribute(Attribute*);
diff --git a/WebCore/html/HTMLTableRowElement.cpp b/WebCore/html/HTMLTableRowElement.cpp
index 94be02e..49f85ce 100644
--- a/WebCore/html/HTMLTableRowElement.cpp
+++ b/WebCore/html/HTMLTableRowElement.cpp
@@ -4,7 +4,7 @@
* (C) 1998 Waldo Bastian (bastian@kde.org)
* (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2003, 2004, 2005, 2006, 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -38,12 +38,22 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLTableRowElement::HTMLTableRowElement(const QualifiedName& tagName, Document* doc)
- : HTMLTablePartElement(tagName, doc)
+HTMLTableRowElement::HTMLTableRowElement(const QualifiedName& tagName, Document* document)
+ : HTMLTablePartElement(tagName, document)
{
ASSERT(hasTagName(trTag));
}
+PassRefPtr<HTMLTableRowElement> HTMLTableRowElement::create(Document* document)
+{
+ return new HTMLTableRowElement(trTag, document);
+}
+
+PassRefPtr<HTMLTableRowElement> HTMLTableRowElement::create(const QualifiedName& tagName, Document* document)
+{
+ return new HTMLTableRowElement(tagName, document);
+}
+
bool HTMLTableRowElement::checkDTD(const Node* newChild)
{
if (newChild->isTextNode())
@@ -139,18 +149,18 @@ PassRefPtr<HTMLElement> HTMLTableRowElement::insertCell(int index, ExceptionCode
return 0;
}
- RefPtr<HTMLTableCellElement> c = new HTMLTableCellElement(tdTag, document());
+ RefPtr<HTMLTableCellElement> cell = HTMLTableCellElement::create(tdTag, document());
if (index < 0 || index >= numCells)
- appendChild(c, ec);
+ appendChild(cell, ec);
else {
Node* n;
if (index < 1)
n = firstChild();
else
n = children->item(index);
- insertBefore(c, n, ec);
+ insertBefore(cell, n, ec);
}
- return c.release();
+ return cell.release();
}
void HTMLTableRowElement::deleteCell(int index, ExceptionCode& ec)
diff --git a/WebCore/html/HTMLTableRowElement.h b/WebCore/html/HTMLTableRowElement.h
index 6d35551..b47edc2 100644
--- a/WebCore/html/HTMLTableRowElement.h
+++ b/WebCore/html/HTMLTableRowElement.h
@@ -4,7 +4,7 @@
* (C) 1998 Waldo Bastian (bastian@kde.org)
* (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2003, 2004, 2005, 2006, 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -32,11 +32,9 @@ namespace WebCore {
class HTMLTableRowElement : public HTMLTablePartElement {
public:
- HTMLTableRowElement(const QualifiedName&, Document*);
+ static PassRefPtr<HTMLTableRowElement> create(Document*);
+ static PassRefPtr<HTMLTableRowElement> create(const QualifiedName&, Document*);
- virtual HTMLTagStatus endTagRequirement() const { return TagStatusOptional; }
- virtual int tagPriority() const { return 7; }
- virtual bool checkDTD(const Node*);
virtual ContainerNode* addChild(PassRefPtr<Node>);
int rowIndex() const;
@@ -65,6 +63,13 @@ public:
String vAlign() const;
void setVAlign(const String&);
+
+private:
+ HTMLTableRowElement(const QualifiedName&, Document*);
+
+ virtual HTMLTagStatus endTagRequirement() const { return TagStatusOptional; }
+ virtual int tagPriority() const { return 7; }
+ virtual bool checkDTD(const Node*);
};
} // namespace
diff --git a/WebCore/html/HTMLTableSectionElement.cpp b/WebCore/html/HTMLTableSectionElement.cpp
index 15fa97e..96a0d9e 100644
--- a/WebCore/html/HTMLTableSectionElement.cpp
+++ b/WebCore/html/HTMLTableSectionElement.cpp
@@ -1,10 +1,10 @@
-/**
+/*
* Copyright (C) 1997 Martin Jones (mjones@kde.org)
* (C) 1997 Torben Weis (weis@kde.org)
* (C) 1998 Waldo Bastian (bastian@kde.org)
* (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2003, 2004, 2005, 2006 Apple Computer, Inc.
+ * Copyright (C) 2003, 2004, 2005, 2006, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -21,6 +21,7 @@
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
+
#include "config.h"
#include "HTMLTableSectionElement.h"
@@ -36,11 +37,16 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLTableSectionElement::HTMLTableSectionElement(const QualifiedName& tagName, Document* document)
+inline HTMLTableSectionElement::HTMLTableSectionElement(const QualifiedName& tagName, Document* document)
: HTMLTablePartElement(tagName, document)
{
}
+PassRefPtr<HTMLTableSectionElement> HTMLTableSectionElement::create(const QualifiedName& tagName, Document* document)
+{
+ return new HTMLTableSectionElement(tagName, document);
+}
+
bool HTMLTableSectionElement::checkDTD(const Node* newChild)
{
if (newChild->isTextNode())
@@ -78,25 +84,25 @@ void HTMLTableSectionElement::additionalAttributeStyleDecls(Vector<CSSMutableSty
// the index... but they aren't used during usual HTML parsing anyway
PassRefPtr<HTMLElement> HTMLTableSectionElement::insertRow(int index, ExceptionCode& ec)
{
- RefPtr<HTMLTableRowElement> r;
+ RefPtr<HTMLTableRowElement> row;
RefPtr<HTMLCollection> children = rows();
int numRows = children ? (int)children->length() : 0;
if (index < -1 || index > numRows)
ec = INDEX_SIZE_ERR; // per the DOM
else {
- r = new HTMLTableRowElement(trTag, document());
+ row = HTMLTableRowElement::create(trTag, document());
if (numRows == index || index == -1)
- appendChild(r, ec);
+ appendChild(row, ec);
else {
Node* n;
if (index < 1)
n = firstChild();
else
n = children->item(index);
- insertBefore(r, n, ec);
+ insertBefore(row, n, ec);
}
}
- return r.release();
+ return row.release();
}
void HTMLTableSectionElement::deleteRow(int index, ExceptionCode& ec)
diff --git a/WebCore/html/HTMLTableSectionElement.h b/WebCore/html/HTMLTableSectionElement.h
index 819b369..f7c1d8a 100644
--- a/WebCore/html/HTMLTableSectionElement.h
+++ b/WebCore/html/HTMLTableSectionElement.h
@@ -32,14 +32,9 @@ namespace WebCore {
class HTMLTableSectionElement : public HTMLTablePartElement {
public:
- HTMLTableSectionElement(const QualifiedName& tagName, Document*);
+ static PassRefPtr<HTMLTableSectionElement> create(const QualifiedName&, Document*);
- virtual HTMLTagStatus endTagRequirement() const { return TagStatusOptional; }
- virtual int tagPriority() const { return 8; }
- virtual bool checkDTD(const Node*);
virtual ContainerNode* addChild(PassRefPtr<Node>);
- virtual bool canHaveAdditionalAttributeStyleDecls() const { return true; }
- virtual void additionalAttributeStyleDecls(Vector<CSSMutableStyleDeclaration*>&);
PassRefPtr<HTMLElement> insertRow(int index, ExceptionCode&);
void deleteRow(int index, ExceptionCode&);
@@ -59,6 +54,15 @@ public:
void setVAlign(const String&);
PassRefPtr<HTMLCollection> rows();
+
+private:
+ HTMLTableSectionElement(const QualifiedName& tagName, Document*);
+
+ virtual HTMLTagStatus endTagRequirement() const { return TagStatusOptional; }
+ virtual int tagPriority() const { return 8; }
+ virtual bool checkDTD(const Node*);
+ virtual bool canHaveAdditionalAttributeStyleDecls() const { return true; }
+ virtual void additionalAttributeStyleDecls(Vector<CSSMutableStyleDeclaration*>&);
};
} //namespace
diff --git a/WebCore/html/HTMLTagNames.in b/WebCore/html/HTMLTagNames.in
index 6374b4d..8e67cba 100644
--- a/WebCore/html/HTMLTagNames.in
+++ b/WebCore/html/HTMLTagNames.in
@@ -10,73 +10,73 @@ applet
area
article interfaceName=HTMLElement
aside interfaceName=HTMLElement
-audio wrapperOnlyIfMediaIsAvailable, conditional=VIDEO, createWithNew
+audio wrapperOnlyIfMediaIsAvailable, conditional=VIDEO
b interfaceName=HTMLElement
-base createWithNew
-basefont interfaceName=HTMLBaseFontElement, createWithNew
+base
+basefont interfaceName=HTMLBaseFontElement
bdo interfaceName=HTMLElement
big interfaceName=HTMLElement
-blockquote createWithNew
-body createWithNew
-br interfaceName=HTMLBRElement, createWithNew
-button constructorNeedsFormElement, createWithNew
-canvas createWithNew
-caption interfaceName=HTMLTableCaptionElement, createWithNew
+blockquote
+body
+br interfaceName=HTMLBRElement
+button constructorNeedsFormElement
+canvas
+caption interfaceName=HTMLTableCaptionElement
center interfaceName=HTMLElement
cite interfaceName=HTMLElement
code interfaceName=HTMLElement
-col interfaceName=HTMLTableColElement, createWithNew
-colgroup interfaceName=HTMLTableColElement, createWithNew
-datagrid interfaceName=HTMLDataGridElement, conditional=DATAGRID, createWithNew
-datalist interfaceName=HTMLDataListElement, conditional=DATALIST, createWithNew
-dcell interfaceName=HTMLDataGridCellElement, conditional=DATAGRID, createWithNew
-dcol interfaceName=HTMLDataGridColElement, conditional=DATAGRID, createWithNew
-drow interfaceName=HTMLDataGridRowElement, conditional=DATAGRID, createWithNew
+col interfaceName=HTMLTableColElement
+colgroup interfaceName=HTMLTableColElement
+datagrid interfaceName=HTMLDataGridElement, conditional=DATAGRID
+datalist interfaceName=HTMLDataListElement, conditional=DATALIST
+dcell interfaceName=HTMLDataGridCellElement, conditional=DATAGRID
+dcol interfaceName=HTMLDataGridColElement, conditional=DATAGRID
+drow interfaceName=HTMLDataGridRowElement, conditional=DATAGRID
dd interfaceName=HTMLElement
-del interfaceName=HTMLModElement, createWithNew
+del interfaceName=HTMLModElement
dfn interfaceName=HTMLElement
-dir interfaceName=HTMLDirectoryElement, createWithNew
-div createWithNew
-dl interfaceName=HTMLDListElement, createWithNew, createWithNew
+dir interfaceName=HTMLDirectoryElement
+div
+dl interfaceName=HTMLDListElement
dt interfaceName=HTMLElement
em interfaceName=HTMLElement
embed
-fieldset interfaceName=HTMLFieldSetElement, constructorNeedsFormElement, createWithNew
-font createWithNew
+fieldset interfaceName=HTMLFieldSetElement, constructorNeedsFormElement
+font
footer interfaceName=HTMLElement
-form createWithNew
+form
frame
-frameset interfaceName=HTMLFrameSetElement, createWithNew
-h1 interfaceName=HTMLHeadingElement, createWithNew
-h2 interfaceName=HTMLHeadingElement, createWithNew
-h3 interfaceName=HTMLHeadingElement, createWithNew
-h4 interfaceName=HTMLHeadingElement, createWithNew
-h5 interfaceName=HTMLHeadingElement, createWithNew
-h6 interfaceName=HTMLHeadingElement, createWithNew
-head createWithNew
+frameset interfaceName=HTMLFrameSetElement
+h1 interfaceName=HTMLHeadingElement
+h2 interfaceName=HTMLHeadingElement
+h3 interfaceName=HTMLHeadingElement
+h4 interfaceName=HTMLHeadingElement
+h5 interfaceName=HTMLHeadingElement
+h6 interfaceName=HTMLHeadingElement
+head
header interfaceName=HTMLElement
hgroup interfaceName=HTMLElement
-hr interfaceName=HTMLHRElement, createWithNew
-html createWithNew
+hr interfaceName=HTMLHRElement
+html
i interfaceName=HTMLElement
iframe interfaceName=HTMLIFrameElement
-image mapToTagName=img, createWithNew
-img interfaceName=HTMLImageElement, constructorNeedsFormElement, createWithNew
-input constructorNeedsFormElement, createWithNew
-ins interfaceName=HTMLModElement, createWithNew
-isindex interfaceName=HTMLIsIndexElement, constructorNeedsFormElement, createWithNew
+image mapToTagName=img
+img interfaceName=HTMLImageElement, constructorNeedsFormElement
+input constructorNeedsFormElement
+ins interfaceName=HTMLModElement
+isindex interfaceName=HTMLIsIndexElement, constructorNeedsFormElement
kbd interfaceName=HTMLElement
-keygen JSInterfaceName=HTMLSelectElement, constructorNeedsFormElement, createWithNew
-label createWithNew
+keygen JSInterfaceName=HTMLSelectElement, constructorNeedsFormElement
+label
layer interfaceName=HTMLElement
-legend constructorNeedsFormElement, createWithNew
-li interfaceName=HTMLLIElement, createWithNew
-link constructorNeedsCreatedByParser, createWithNew
-listing interfaceName=HTMLPreElement, createWithNew
-map createWithNew
-marquee createWithNew
-menu createWithNew
-meta createWithNew
+legend constructorNeedsFormElement
+li interfaceName=HTMLLIElement
+link constructorNeedsCreatedByParser
+listing interfaceName=HTMLPreElement
+map
+marquee
+menu
+meta
meter interfaceName=HTMLMeterElement, conditional=METER_TAG
nav interfaceName=HTMLElement
nobr interfaceName=HTMLElement
@@ -84,50 +84,50 @@ noembed interfaceName=HTMLElement
noframes interfaceName=HTMLElement
nolayer interfaceName=HTMLElement
object constructorNeedsCreatedByParser
-ol interfaceName=HTMLOListElement, createWithNew
-optgroup interfaceName=HTMLOptGroupElement, constructorNeedsFormElement, createWithNew
-option constructorNeedsFormElement, createWithNew
-p interfaceName=HTMLParagraphElement, createWithNew
-param createWithNew
+ol interfaceName=HTMLOListElement
+optgroup interfaceName=HTMLOptGroupElement, constructorNeedsFormElement
+option constructorNeedsFormElement
+p interfaceName=HTMLParagraphElement
+param
plaintext interfaceName=HTMLElement
-pre createWithNew
+pre
progress interfaceName=HTMLProgressElement, conditional=PROGRESS_TAG
-q interfaceName=HTMLQuoteElement, createWithNew
+q interfaceName=HTMLQuoteElement
rp interfaceName=HTMLElement, conditional=RUBY
rt interfaceName=HTMLElement, conditional=RUBY
ruby interfaceName=HTMLElement, conditional=RUBY
s interfaceName=HTMLElement
samp interfaceName=HTMLElement
-script constructorNeedsCreatedByParser, createWithNew
+script constructorNeedsCreatedByParser
section interfaceName=HTMLElement
-select constructorNeedsFormElement, createWithNew
+select constructorNeedsFormElement
small interfaceName=HTMLElement
-source wrapperOnlyIfMediaIsAvailable, conditional=VIDEO, createWithNew
+source wrapperOnlyIfMediaIsAvailable, conditional=VIDEO
span interfaceName=HTMLElement
strike interfaceName=HTMLElement
strong interfaceName=HTMLElement
-style constructorNeedsCreatedByParser, createWithNew
+style constructorNeedsCreatedByParser
sub interfaceName=HTMLElement
sup interfaceName=HTMLElement
-table createWithNew
-tbody interfaceName=HTMLTableSectionElement, createWithNew
-td interfaceName=HTMLTableCellElement, createWithNew
-textarea interfaceName=HTMLTextAreaElement, constructorNeedsFormElement, createWithNew
-tfoot interfaceName=HTMLTableSectionElement, createWithNew
-th interfaceName=HTMLTableCellElement, createWithNew
-thead interfaceName=HTMLTableSectionElement, createWithNew
-title createWithNew
-tr interfaceName=HTMLTableRowElement, createWithNew
+table
+tbody interfaceName=HTMLTableSectionElement
+td interfaceName=HTMLTableCellElement
+textarea interfaceName=HTMLTextAreaElement, constructorNeedsFormElement
+tfoot interfaceName=HTMLTableSectionElement
+th interfaceName=HTMLTableCellElement
+thead interfaceName=HTMLTableSectionElement
+title
+tr interfaceName=HTMLTableRowElement
tt interfaceName=HTMLElement
u interfaceName=HTMLElement
-ul interfaceName=HTMLUListElement, createWithNew
+ul interfaceName=HTMLUListElement
var interfaceName=HTMLElement
-video wrapperOnlyIfMediaIsAvailable, conditional=VIDEO, createWithNew
+video wrapperOnlyIfMediaIsAvailable, conditional=VIDEO
wbr interfaceName=HTMLElement
-xmp interfaceName=HTMLPreElement, createWithNew
+xmp interfaceName=HTMLPreElement
#if ENABLE_XHTMLMP
-noscript interfaceName=HTMLNoScriptElement, createWithNew
+noscript interfaceName=HTMLNoScriptElement
#else
noscript interfaceName=HTMLElement
#endif
diff --git a/WebCore/html/HTMLTextAreaElement.cpp b/WebCore/html/HTMLTextAreaElement.cpp
index bb88b1c..dd82aea 100644
--- a/WebCore/html/HTMLTextAreaElement.cpp
+++ b/WebCore/html/HTMLTextAreaElement.cpp
@@ -2,7 +2,7 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2001 Dirk Mueller (mueller@kde.org)
- * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2010 Apple Inc. All rights reserved.
* (C) 2006 Alexey Proskuryakov (ap@nypop.com)
* Copyright (C) 2007 Samuel Weinig (sam@webkit.org)
*
@@ -79,7 +79,11 @@ HTMLTextAreaElement::HTMLTextAreaElement(const QualifiedName& tagName, Document*
{
ASSERT(hasTagName(textareaTag));
setFormControlValueMatchesRenderer(true);
- notifyFormStateChanged(this);
+}
+
+PassRefPtr<HTMLTextAreaElement> HTMLTextAreaElement::create(const QualifiedName& tagName, Document* document, HTMLFormElement* form)
+{
+ return new HTMLTextAreaElement(tagName, document, form);
}
const AtomicString& HTMLTextAreaElement::formControlType() const
diff --git a/WebCore/html/HTMLTextAreaElement.h b/WebCore/html/HTMLTextAreaElement.h
index d38f613..af233ae 100644
--- a/WebCore/html/HTMLTextAreaElement.h
+++ b/WebCore/html/HTMLTextAreaElement.h
@@ -2,7 +2,7 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2000 Dirk Mueller (mueller@kde.org)
- * Copyright (C) 2004, 2005, 2006, 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2004, 2005, 2006, 2007, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -33,37 +33,13 @@ class VisibleSelection;
class HTMLTextAreaElement : public HTMLTextFormControlElement {
public:
- HTMLTextAreaElement(const QualifiedName&, Document*, HTMLFormElement* = 0);
-
- virtual bool checkDTD(const Node* newChild) { return newChild->isTextNode(); }
+ static PassRefPtr<HTMLTextAreaElement> create(const QualifiedName&, Document*, HTMLFormElement*);
int cols() const { return m_cols; }
int rows() const { return m_rows; }
bool shouldWrapText() const { return m_wrap != NoWrap; }
- virtual bool isEnumeratable() const { return true; }
-
- virtual const AtomicString& formControlType() const;
-
- virtual bool saveFormControlState(String& value) const;
- virtual void restoreFormControlState(const String&);
-
- bool readOnly() const { return isReadOnlyFormControl(); }
-
- virtual bool isTextFormControl() const { return true; }
-
- virtual bool valueMissing() const { return isRequiredFormControl() && !disabled() && !readOnly() && value().isEmpty(); }
-
- virtual void childrenChanged(bool changedByParser = false, Node* beforeChange = 0, Node* afterChange = 0, int childCountDelta = 0);
- virtual void parseMappedAttribute(Attribute*);
- virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
- virtual bool appendFormData(FormDataList&, bool);
- virtual void reset();
- virtual bool isMouseFocusable() const;
- virtual bool isKeyboardFocusable(KeyboardEvent*) const;
- virtual void updateFocusAppearance(bool restorePreviousSelection);
-
String value() const;
void setValue(const String&);
String defaultValue() const;
@@ -75,8 +51,6 @@ public:
void rendererWillBeDestroyed();
- virtual void accessKeyAction(bool sendToAnyElement);
-
const AtomicString& accessKey() const;
void setAccessKey(const String&);
@@ -85,9 +59,9 @@ public:
void cacheSelection(int s, int e) { m_cachedSelectionStart = s; m_cachedSelectionEnd = e; };
- virtual bool shouldUseInputMethod() const;
-
private:
+ HTMLTextAreaElement(const QualifiedName&, Document*, HTMLFormElement*);
+
enum WrapMethod { NoWrap, SoftWrap, HardWrap };
void handleBeforeTextInsertedEvent(BeforeTextInsertedEvent*) const;
@@ -105,6 +79,32 @@ private:
virtual void defaultEventHandler(Event*);
+ virtual bool checkDTD(const Node* newChild) { return newChild->isTextNode(); }
+
+ virtual bool isEnumeratable() const { return true; }
+
+ virtual const AtomicString& formControlType() const;
+
+ virtual bool saveFormControlState(String& value) const;
+ virtual void restoreFormControlState(const String&);
+
+ virtual bool isTextFormControl() const { return true; }
+
+ virtual bool valueMissing() const { return isRequiredFormControl() && !disabled() && !readOnly() && value().isEmpty(); }
+
+ virtual void childrenChanged(bool changedByParser = false, Node* beforeChange = 0, Node* afterChange = 0, int childCountDelta = 0);
+ virtual void parseMappedAttribute(Attribute*);
+ virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
+ virtual bool appendFormData(FormDataList&, bool);
+ virtual void reset();
+ virtual bool isMouseFocusable() const;
+ virtual bool isKeyboardFocusable(KeyboardEvent*) const;
+ virtual void updateFocusAppearance(bool restorePreviousSelection);
+
+ virtual void accessKeyAction(bool sendToAnyElement);
+
+ virtual bool shouldUseInputMethod() const;
+
int m_rows;
int m_cols;
WrapMethod m_wrap;
diff --git a/WebCore/html/HTMLTextAreaElement.idl b/WebCore/html/HTMLTextAreaElement.idl
index 2d82eed..a17f2ec 100644
--- a/WebCore/html/HTMLTextAreaElement.idl
+++ b/WebCore/html/HTMLTextAreaElement.idl
@@ -50,6 +50,7 @@ module html {
attribute long selectionStart;
attribute long selectionEnd;
void setSelectionRange(in long start, in long end);
+ readonly attribute NodeList labels;
};
}
diff --git a/WebCore/html/HTMLTitleElement.cpp b/WebCore/html/HTMLTitleElement.cpp
index 81ecd10..40c9f8b 100644
--- a/WebCore/html/HTMLTitleElement.cpp
+++ b/WebCore/html/HTMLTitleElement.cpp
@@ -1,8 +1,8 @@
-/**
+/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
* (C) 2001 Dirk Mueller (mueller@kde.org)
- * Copyright (C) 2003 Apple Computer, Inc.
+ * Copyright (C) 2003, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -19,6 +19,7 @@
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
+
#include "config.h"
#include "HTMLTitleElement.h"
@@ -30,15 +31,16 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLTitleElement::HTMLTitleElement(const QualifiedName& tagName, Document* doc)
- : HTMLElement(tagName, doc)
+inline HTMLTitleElement::HTMLTitleElement(const QualifiedName& tagName, Document* document)
+ : HTMLElement(tagName, document)
, m_title("")
{
ASSERT(hasTagName(titleTag));
}
-HTMLTitleElement::~HTMLTitleElement()
+PassRefPtr<HTMLTitleElement> HTMLTitleElement::create(const QualifiedName& tagName, Document* document)
{
+ return new HTMLTitleElement(tagName, document);
}
void HTMLTitleElement::insertedIntoDocument()
diff --git a/WebCore/html/HTMLTitleElement.h b/WebCore/html/HTMLTitleElement.h
index 677bffd..bcd4283 100644
--- a/WebCore/html/HTMLTitleElement.h
+++ b/WebCore/html/HTMLTitleElement.h
@@ -1,7 +1,7 @@
/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
- * Copyright (C) 2003 Apple Computer, Inc.
+ * Copyright (C) 2003, 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -28,8 +28,13 @@ namespace WebCore {
class HTMLTitleElement : public HTMLElement {
public:
+ static PassRefPtr<HTMLTitleElement> create(const QualifiedName&, Document*);
+
+ String text() const;
+ void setText(const String&);
+
+private:
HTMLTitleElement(const QualifiedName&, Document*);
- ~HTMLTitleElement();
virtual bool checkDTD(const Node* newChild) { return newChild->isTextNode(); }
@@ -37,10 +42,6 @@ public:
virtual void removedFromDocument();
virtual void childrenChanged(bool changedByParser = false, Node* beforeChange = 0, Node* afterChange = 0, int childCountDelta = 0);
- String text() const;
- void setText(const String&);
-
-protected:
String m_title;
};
diff --git a/WebCore/html/HTMLTokenizer.cpp b/WebCore/html/HTMLTokenizer.cpp
index a0877ff..e3d3ce6 100644
--- a/WebCore/html/HTMLTokenizer.cpp
+++ b/WebCore/html/HTMLTokenizer.cpp
@@ -62,7 +62,6 @@
#endif
#define PRELOAD_SCANNER_ENABLED 1
-// #define INSTRUMENT_LAYOUT_SCHEDULING 1
using namespace WTF;
using namespace std;
@@ -440,10 +439,6 @@ HTMLTokenizer::State HTMLTokenizer::scriptHandler(State state)
if (!m_scriptTagSrcAttrValue.isEmpty() && m_doc->frame()) {
// forget what we just got; load from src url instead
if (!m_parser->skipMode() && !followingFrameset) {
-#ifdef INSTRUMENT_LAYOUT_SCHEDULING
- if (!m_doc->ownerElement())
- printf("Requesting script at time %d\n", m_doc->elapsedTime());
-#endif
// The parser might have been stopped by for example a window.close call in an earlier script.
// If so, we don't want to load scripts.
if (!m_parserStopped && m_scriptNode->dispatchBeforeLoadEvent(m_scriptTagSrcAttrValue) &&
@@ -575,22 +570,12 @@ HTMLTokenizer::State HTMLTokenizer::scriptExecution(const ScriptSourceCode& sour
SegmentedString prependingSrc;
m_currentPrependingSrc = &prependingSrc;
-#ifdef INSTRUMENT_LAYOUT_SCHEDULING
- if (!m_doc->ownerElement())
- printf("beginning script execution at %d\n", m_doc->elapsedTime());
-#endif
-
m_state = state;
m_doc->frame()->script()->executeScript(sourceCode);
state = m_state;
state.setAllowYield(true);
-#ifdef INSTRUMENT_LAYOUT_SCHEDULING
- if (!m_doc->ownerElement())
- printf("ending script execution at %d\n", m_doc->elapsedTime());
-#endif
-
m_executingScript--;
if (!m_executingScript && !state.loadingExtScript()) {
@@ -1621,10 +1606,6 @@ inline bool HTMLTokenizer::continueProcessing(int& processedCount, double startT
(m_doc->documentElement()->id() != ID_HTML || m_doc->body()))) {*/
// Schedule the timer to keep processing as soon as possible.
m_timer.startOneShot(0);
-#ifdef INSTRUMENT_LAYOUT_SCHEDULING
- if (currentTime() - startTime > m_tokenizerTimeDelay)
- printf("Deferring processing of data because 500ms elapsed away from event loop.\n");
-#endif
return false;
}
}
@@ -1634,7 +1615,7 @@ inline bool HTMLTokenizer::continueProcessing(int& processedCount, double startT
}
// Turns the statemachine one crank using the passed in State object.
-// FIXME: Eventually this should modify m_state directly.
+// This does not modify m_state directly in order to be reentrant.
ALWAYS_INLINE void HTMLTokenizer::advance(State& state)
{
// do we need to enlarge the buffer?
@@ -1745,11 +1726,6 @@ ALWAYS_INLINE void HTMLTokenizer::advance(State& state)
void HTMLTokenizer::willWriteHTML(const SegmentedString& source)
{
- #ifdef INSTRUMENT_LAYOUT_SCHEDULING
- if (!m_doc->ownerElement())
- printf("Beginning write at time %d\n", m_doc->elapsedTime());
- #endif
-
#if ENABLE(INSPECTOR)
if (InspectorTimelineAgent* timelineAgent = m_doc->inspectorTimelineAgent())
timelineAgent->willWriteHTML(source.length(), m_lineNumber);
@@ -1758,11 +1734,6 @@ void HTMLTokenizer::willWriteHTML(const SegmentedString& source)
void HTMLTokenizer::didWriteHTML()
{
- #ifdef INSTRUMENT_LAYOUT_SCHEDULING
- if (!m_doc->ownerElement())
- printf("Ending write at time %d\n", m_doc->elapsedTime());
- #endif
-
#if ENABLE(INSPECTOR)
if (InspectorTimelineAgent* timelineAgent = m_doc->inspectorTimelineAgent())
timelineAgent->didWriteHTML(m_lineNumber);
@@ -1863,11 +1834,6 @@ bool HTMLTokenizer::processingData() const
void HTMLTokenizer::timerFired(Timer<HTMLTokenizer>*)
{
-#ifdef INSTRUMENT_LAYOUT_SCHEDULING
- if (!m_doc->ownerElement())
- printf("Beginning timer write at time %d\n", m_doc->elapsedTime());
-#endif
-
if (m_doc->view() && m_doc->view()->layoutPending() && !m_doc->minimumLayoutDelay()) {
// Restart the timer and let layout win. This is basically a way of ensuring that the layout
// timer has higher priority than our timer.
@@ -2050,11 +2016,6 @@ void HTMLTokenizer::notifyFinished(CachedResource*)
void HTMLTokenizer::executeExternalScriptsIfReady()
{
-#ifdef INSTRUMENT_LAYOUT_SCHEDULING
- if (!m_doc->ownerElement())
- printf("script loaded at %d\n", m_doc->elapsedTime());
-#endif
-
ASSERT(!m_pendingScripts.isEmpty());
// Make external scripts wait for external stylesheets.
@@ -2084,11 +2045,6 @@ void HTMLTokenizer::executeExternalScriptsIfReady()
RefPtr<Node> n = m_scriptNode.release();
-#ifdef INSTRUMENT_LAYOUT_SCHEDULING
- if (!m_doc->ownerElement())
- printf("external script beginning execution at %d\n", m_doc->elapsedTime());
-#endif
-
if (errorOccurred)
n->dispatchEvent(Event::create(eventNames().errorEvent, true, false));
else {
@@ -2107,10 +2063,6 @@ void HTMLTokenizer::executeExternalScriptsIfReady()
if (finished) {
ASSERT(!m_hasScriptsWaitingForStylesheets);
m_state.setLoadingExtScript(false);
-#ifdef INSTRUMENT_LAYOUT_SCHEDULING
- if (!m_doc->ownerElement())
- printf("external script finished execution at %d\n", m_doc->elapsedTime());
-#endif
} else if (m_hasScriptsWaitingForStylesheets) {
// m_hasScriptsWaitingForStylesheets flag might have changed during the script execution.
// If it did we are now blocked waiting for stylesheets and should not execute more scripts until they arrive.
diff --git a/WebCore/html/HTMLUListElement.cpp b/WebCore/html/HTMLUListElement.cpp
index d4ae714..fcc20bc 100644
--- a/WebCore/html/HTMLUListElement.cpp
+++ b/WebCore/html/HTMLUListElement.cpp
@@ -1,6 +1,7 @@
-/**
+/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -30,12 +31,22 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLUListElement::HTMLUListElement(const QualifiedName& tagName, Document* doc)
- : HTMLElement(tagName, doc)
+HTMLUListElement::HTMLUListElement(const QualifiedName& tagName, Document* document)
+ : HTMLElement(tagName, document)
{
ASSERT(hasTagName(ulTag));
}
+PassRefPtr<HTMLUListElement> HTMLUListElement::create(Document* document)
+{
+ return new HTMLUListElement(ulTag, document);
+}
+
+PassRefPtr<HTMLUListElement> HTMLUListElement::create(const QualifiedName& tagName, Document* document)
+{
+ return new HTMLUListElement(tagName, document);
+}
+
bool HTMLUListElement::mapToEntry(const QualifiedName& attrName, MappedAttributeEntry& result) const
{
if (attrName == typeAttr) {
diff --git a/WebCore/html/HTMLUListElement.h b/WebCore/html/HTMLUListElement.h
index ee161d0..0b74c43 100644
--- a/WebCore/html/HTMLUListElement.h
+++ b/WebCore/html/HTMLUListElement.h
@@ -1,6 +1,7 @@
/*
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 1999 Antti Koivisto (koivisto@kde.org)
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -28,6 +29,16 @@ namespace WebCore {
class HTMLUListElement : public HTMLElement {
public:
+ static PassRefPtr<HTMLUListElement> create(Document*);
+ static PassRefPtr<HTMLUListElement> create(const QualifiedName&, Document*);
+
+ bool compact() const;
+ void setCompact(bool);
+
+ String type() const;
+ void setType(const String&);
+
+private:
HTMLUListElement(const QualifiedName&, Document*);
virtual HTMLTagStatus endTagRequirement() const { return TagStatusRequired; }
@@ -35,12 +46,6 @@ public:
virtual bool mapToEntry(const QualifiedName&, MappedAttributeEntry&) const;
virtual void parseMappedAttribute(Attribute*);
-
- bool compact() const;
- void setCompact(bool);
-
- String type() const;
- void setType(const String&);
};
} //namespace
diff --git a/WebCore/html/HTMLVideoElement.cpp b/WebCore/html/HTMLVideoElement.cpp
index dd37b69..0389b54 100644
--- a/WebCore/html/HTMLVideoElement.cpp
+++ b/WebCore/html/HTMLVideoElement.cpp
@@ -45,13 +45,18 @@ namespace WebCore {
using namespace HTMLNames;
-HTMLVideoElement::HTMLVideoElement(const QualifiedName& tagName, Document* doc)
- : HTMLMediaElement(tagName, doc)
+inline HTMLVideoElement::HTMLVideoElement(const QualifiedName& tagName, Document* document)
+ : HTMLMediaElement(tagName, document)
, m_shouldDisplayPosterImage(false)
{
ASSERT(hasTagName(videoTag));
}
+PassRefPtr<HTMLVideoElement> HTMLVideoElement::create(const QualifiedName& tagName, Document* document)
+{
+ return new HTMLVideoElement(tagName, document);
+}
+
bool HTMLVideoElement::rendererIsNeeded(RenderStyle* style)
{
return HTMLElement::rendererIsNeeded(style);
diff --git a/WebCore/html/HTMLVideoElement.h b/WebCore/html/HTMLVideoElement.h
index 5480448..4b8acbb 100644
--- a/WebCore/html/HTMLVideoElement.h
+++ b/WebCore/html/HTMLVideoElement.h
@@ -36,7 +36,7 @@ class HTMLImageLoader;
class HTMLVideoElement : public HTMLMediaElement {
public:
- HTMLVideoElement(const QualifiedName&, Document*);
+ static PassRefPtr<HTMLVideoElement> create(const QualifiedName&, Document*);
unsigned width() const;
void setWidth(unsigned);
@@ -66,6 +66,8 @@ public:
void paintCurrentFrameInContext(GraphicsContext*, const IntRect&);
private:
+ HTMLVideoElement(const QualifiedName&, Document*);
+
virtual int tagPriority() const { return 5; }
virtual bool rendererIsNeeded(RenderStyle*);
#if !ENABLE(PLUGIN_PROXY_FOR_VIDEO)
diff --git a/WebCore/html/HTMLViewSourceDocument.cpp b/WebCore/html/HTMLViewSourceDocument.cpp
index 0173715..196c67e 100644
--- a/WebCore/html/HTMLViewSourceDocument.cpp
+++ b/WebCore/html/HTMLViewSourceDocument.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2006, 2008, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2006, 2008, 2009, 2010 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -68,26 +68,26 @@ Tokenizer* HTMLViewSourceDocument::createTokenizer()
void HTMLViewSourceDocument::createContainingTable()
{
- RefPtr<HTMLHtmlElement> html = new HTMLHtmlElement(htmlTag, this);
+ RefPtr<HTMLHtmlElement> html = HTMLHtmlElement::create(this);
addChild(html);
html->attach();
- RefPtr<HTMLBodyElement> body = new HTMLBodyElement(bodyTag, this);
+ RefPtr<HTMLBodyElement> body = HTMLBodyElement::create(this);
html->addChild(body);
body->attach();
// Create a line gutter div that can be used to make sure the gutter extends down the height of the whole
// document.
- RefPtr<HTMLDivElement> div = new HTMLDivElement(divTag, this);
+ RefPtr<HTMLDivElement> div = HTMLDivElement::create(this);
RefPtr<NamedNodeMap> attrs = NamedNodeMap::create();
attrs->addAttribute(Attribute::createMapped(classAttr, "webkit-line-gutter-backdrop"));
div->setAttributeMap(attrs.release());
body->addChild(div);
div->attach();
- RefPtr<HTMLTableElement> table = new HTMLTableElement(tableTag, this);
+ RefPtr<HTMLTableElement> table = HTMLTableElement::create(this);
body->addChild(table);
table->attach();
- m_tbody = new HTMLTableSectionElement(tbodyTag, this);
+ m_tbody = HTMLTableSectionElement::create(tbodyTag, this);
table->addChild(m_tbody);
m_tbody->attach();
m_current = m_tbody;
@@ -222,12 +222,12 @@ PassRefPtr<Element> HTMLViewSourceDocument::addSpanWithClassName(const String& c
void HTMLViewSourceDocument::addLine(const String& className)
{
// Create a table row.
- RefPtr<HTMLTableRowElement> trow = new HTMLTableRowElement(trTag, this);
+ RefPtr<HTMLTableRowElement> trow = HTMLTableRowElement::create(this);
m_tbody->addChild(trow);
trow->attach();
// Create a cell that will hold the line number (it is generated in the stylesheet using counters).
- RefPtr<HTMLTableCellElement> td = new HTMLTableCellElement(tdTag, this);
+ RefPtr<HTMLTableCellElement> td = HTMLTableCellElement::create(tdTag, this);
RefPtr<NamedNodeMap> attrs = NamedNodeMap::create();
attrs->addAttribute(Attribute::createMapped(classAttr, "webkit-line-number"));
td->setAttributeMap(attrs.release());
@@ -235,7 +235,7 @@ void HTMLViewSourceDocument::addLine(const String& className)
td->attach();
// Create a second cell for the line contents
- td = new HTMLTableCellElement(tdTag, this);
+ td = HTMLTableCellElement::create(tdTag, this);
attrs = NamedNodeMap::create();
attrs->addAttribute(Attribute::createMapped(classAttr, "webkit-line-content"));
td->setAttributeMap(attrs.release());
diff --git a/WebCore/html/LabelsNodeList.cpp b/WebCore/html/LabelsNodeList.cpp
new file mode 100644
index 0000000..f2bda17
--- /dev/null
+++ b/WebCore/html/LabelsNodeList.cpp
@@ -0,0 +1,50 @@
+/**
+ * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
+ * (C) 1999 Antti Koivisto (koivisto@kde.org)
+ * (C) 2001 Dirk Mueller (mueller@kde.org)
+ * Copyright (C) 2004, 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2010 Nokia Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#include "config.h"
+#include "LabelsNodeList.h"
+
+#include "Element.h"
+#include "HTMLLabelElement.h"
+#include "HTMLNames.h"
+
+namespace WebCore {
+
+using namespace HTMLNames;
+
+LabelsNodeList::LabelsNodeList(PassRefPtr<Node> forNode )
+ : DynamicNodeList(forNode->document()) , m_forNode(forNode)
+{
+}
+
+LabelsNodeList::~LabelsNodeList()
+{
+ m_forNode->removeCachedLabelsNodeList(this);
+}
+
+bool LabelsNodeList::nodeMatches(Element* testNode) const
+{
+ return testNode->hasTagName(labelTag) && static_cast<HTMLLabelElement*>(testNode)->control() == m_forNode;
+}
+
+} // namespace WebCore
diff --git a/WebCore/html/LabelsNodeList.h b/WebCore/html/LabelsNodeList.h
new file mode 100644
index 0000000..c22a532
--- /dev/null
+++ b/WebCore/html/LabelsNodeList.h
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
+ * (C) 1999 Antti Koivisto (koivisto@kde.org)
+ * (C) 2001 Dirk Mueller (mueller@kde.org)
+ * Copyright (C) 2004, 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2010 Nokia Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef LabelsNodeList_h
+#define LabelsNodeList_h
+
+#include "DynamicNodeList.h"
+#include <wtf/PassRefPtr.h>
+
+namespace WebCore {
+
+class LabelsNodeList : public DynamicNodeList {
+public:
+ static PassRefPtr<LabelsNodeList> create(PassRefPtr<Node> forNode)
+ {
+ return adoptRef(new LabelsNodeList(forNode));
+ }
+ ~LabelsNodeList();
+
+protected:
+ LabelsNodeList(PassRefPtr<Node> forNode);
+
+ virtual bool nodeMatches(Element*) const;
+
+private:
+ RefPtr<Node> m_forNode;
+};
+
+} // namespace WebCore
+
+#endif // LabelsNodeList_h
diff --git a/WebCore/html/canvas/WebGLFramebuffer.cpp b/WebCore/html/canvas/WebGLFramebuffer.cpp
index 614437b..c783553 100644
--- a/WebCore/html/canvas/WebGLFramebuffer.cpp
+++ b/WebCore/html/canvas/WebGLFramebuffer.cpp
@@ -39,26 +39,52 @@ PassRefPtr<WebGLFramebuffer> WebGLFramebuffer::create(WebGLRenderingContext* ctx
WebGLFramebuffer::WebGLFramebuffer(WebGLRenderingContext* ctx)
: CanvasObject(ctx)
- , m_isDepthAttached(false)
- , m_isStencilAttached(false)
- , m_isDepthStencilAttached(false)
+ , m_colorAttachment(0)
+ , m_depthAttachment(0)
+ , m_stencilAttachment(0)
+ , m_depthStencilAttachment(0)
{
setObject(context()->graphicsContext3D()->createFramebuffer());
}
-void WebGLFramebuffer::setIsAttached(unsigned long attachment, bool isAttached)
+void WebGLFramebuffer::setAttachment(unsigned long attachment, CanvasObject* attachedObject)
{
+ if (!object())
+ return;
+ if (attachedObject && !attachedObject->object())
+ attachedObject = 0;
switch (attachment) {
+ case GraphicsContext3D::COLOR_ATTACHMENT0:
+ m_colorAttachment = attachedObject;
+ break;
case GraphicsContext3D::DEPTH_ATTACHMENT:
- m_isDepthAttached = isAttached;
+ m_depthAttachment = attachedObject;
break;
case GraphicsContext3D::STENCIL_ATTACHMENT:
- m_isStencilAttached = isAttached;
+ m_stencilAttachment = attachedObject;
break;
case GraphicsContext3D::DEPTH_STENCIL_ATTACHMENT:
- m_isDepthStencilAttached = isAttached;
+ m_depthStencilAttachment = attachedObject;
break;
+ default:
+ return;
}
+ initializeRenderbuffers();
+}
+
+void WebGLFramebuffer::onBind()
+{
+ initializeRenderbuffers();
+}
+
+void WebGLFramebuffer::onAttachedObjectChange(CanvasObject* object)
+{
+ // Currently object == 0 is not considered, but this might change if the
+ // lifespan of CanvasObject changes.
+ if (object
+ && (object == m_colorAttachment || object == m_depthAttachment
+ || object == m_stencilAttachment || object == m_depthStencilAttachment))
+ initializeRenderbuffers();
}
void WebGLFramebuffer::_deleteObject(Platform3DObject object)
@@ -66,6 +92,115 @@ void WebGLFramebuffer::_deleteObject(Platform3DObject object)
context()->graphicsContext3D()->deleteFramebuffer(object);
}
+bool WebGLFramebuffer::isUninitialized(CanvasObject* attachedObject)
+{
+ if (attachedObject && attachedObject->object() && attachedObject->isRenderbuffer()
+ && !(reinterpret_cast<WebGLRenderbuffer*>(attachedObject))->isInitialized())
+ return true;
+ return false;
+}
+
+void WebGLFramebuffer::setInitialized(CanvasObject* attachedObject)
+{
+ if (attachedObject && attachedObject->object() && attachedObject->isRenderbuffer())
+ (reinterpret_cast<WebGLRenderbuffer*>(attachedObject))->setInitialized();
+}
+
+void WebGLFramebuffer::initializeRenderbuffers()
+{
+ if (!object())
+ return;
+ bool initColor = false, initDepth = false, initStencil = false;
+ unsigned long mask = 0;
+ if (isUninitialized(m_colorAttachment)) {
+ initColor = true;
+ mask |= GraphicsContext3D::COLOR_BUFFER_BIT;
+ }
+ if (isUninitialized(m_depthAttachment)) {
+ initDepth = true;
+ mask |= GraphicsContext3D::DEPTH_BUFFER_BIT;
+ }
+ if (isUninitialized(m_stencilAttachment)) {
+ initStencil = true;
+ mask |= GraphicsContext3D::STENCIL_BUFFER_BIT;
+ }
+ if (isUninitialized(m_depthStencilAttachment)) {
+ initDepth = true;
+ initStencil = true;
+ mask |= (GraphicsContext3D::DEPTH_BUFFER_BIT | GraphicsContext3D::STENCIL_BUFFER_BIT);
+ }
+ if (!initColor && !initDepth && !initStencil)
+ return;
+
+ // We only clear un-initialized renderbuffers when they are ready to be
+ // read, i.e., when the framebuffer is complete.
+ GraphicsContext3D* g3d = context()->graphicsContext3D();
+ if (g3d->checkFramebufferStatus(GraphicsContext3D::FRAMEBUFFER) != GraphicsContext3D::FRAMEBUFFER_COMPLETE)
+ return;
+
+ float colorClearValue[] = {0, 0, 0, 0}, depthClearValue = 0;
+ int stencilClearValue = 0;
+ unsigned char colorMask[] = {1, 1, 1, 1}, depthMask = 1, stencilMask = 1;
+ bool isScissorEnabled = false;
+ bool isDitherEnabled = false;
+ if (initColor) {
+ g3d->getFloatv(GraphicsContext3D::COLOR_CLEAR_VALUE, colorClearValue);
+ g3d->getBooleanv(GraphicsContext3D::COLOR_WRITEMASK, colorMask);
+ g3d->clearColor(0, 0, 0, 0);
+ g3d->colorMask(true, true, true, true);
+ }
+ if (initDepth) {
+ g3d->getFloatv(GraphicsContext3D::DEPTH_CLEAR_VALUE, &depthClearValue);
+ g3d->getBooleanv(GraphicsContext3D::DEPTH_WRITEMASK, &depthMask);
+ g3d->clearDepth(0);
+ g3d->depthMask(true);
+ }
+ if (initStencil) {
+ g3d->getIntegerv(GraphicsContext3D::STENCIL_CLEAR_VALUE, &stencilClearValue);
+ g3d->getBooleanv(GraphicsContext3D::STENCIL_WRITEMASK, &stencilMask);
+ g3d->clearStencil(0);
+ g3d->stencilMask(true);
+ }
+ isScissorEnabled = g3d->isEnabled(GraphicsContext3D::SCISSOR_TEST);
+ g3d->disable(GraphicsContext3D::SCISSOR_TEST);
+ isDitherEnabled = g3d->isEnabled(GraphicsContext3D::DITHER);
+ g3d->disable(GraphicsContext3D::DITHER);
+
+ g3d->clear(mask);
+
+ if (initColor) {
+ g3d->clearColor(colorClearValue[0], colorClearValue[1], colorClearValue[2], colorClearValue[3]);
+ g3d->colorMask(colorMask[0], colorMask[1], colorMask[2], colorMask[3]);
+ }
+ if (initDepth) {
+ g3d->clearDepth(depthClearValue);
+ g3d->depthMask(depthMask);
+ }
+ if (initStencil) {
+ g3d->clearStencil(stencilClearValue);
+ g3d->stencilMask(stencilMask);
+ }
+ if (isScissorEnabled)
+ g3d->enable(GraphicsContext3D::SCISSOR_TEST);
+ else
+ g3d->disable(GraphicsContext3D::SCISSOR_TEST);
+ if (isDitherEnabled)
+ g3d->enable(GraphicsContext3D::DITHER);
+ else
+ g3d->disable(GraphicsContext3D::DITHER);
+
+ if (initColor)
+ setInitialized(m_colorAttachment);
+ if (initDepth && initStencil && m_depthStencilAttachment)
+ setInitialized(m_depthStencilAttachment);
+ else {
+ if (initDepth)
+ setInitialized(m_depthAttachment);
+ if (initStencil)
+ setInitialized(m_stencilAttachment);
+ }
+}
+
}
#endif // ENABLE(3D_CANVAS)
diff --git a/WebCore/html/canvas/WebGLFramebuffer.h b/WebCore/html/canvas/WebGLFramebuffer.h
index 71e5a27..93ab97c 100644
--- a/WebCore/html/canvas/WebGLFramebuffer.h
+++ b/WebCore/html/canvas/WebGLFramebuffer.h
@@ -32,18 +32,30 @@
#include <wtf/RefCounted.h>
namespace WebCore {
-
+
class WebGLFramebuffer : public CanvasObject {
public:
virtual ~WebGLFramebuffer() { deleteObject(); }
static PassRefPtr<WebGLFramebuffer> create(WebGLRenderingContext*);
-
- void setIsAttached(unsigned long attachment, bool isAttached);
- bool isDepthAttached() const { return m_isDepthAttached; }
- bool isStencilAttached() const { return m_isStencilAttached; }
- bool isDepthStencilAttached() const { return m_isDepthStencilAttached; }
+ bool isDepthAttached() const { return (m_depthAttachment && m_depthAttachment->object()); }
+ bool isStencilAttached() const { return (m_stencilAttachment && m_stencilAttachment->object()); }
+ bool isDepthStencilAttached() const { return (m_depthStencilAttachment && m_depthStencilAttachment->object()); }
+
+ void setAttachment(unsigned long, CanvasObject*);
+
+ // This function is called right after a framebuffer is bound.
+ // Because renderbuffers and textures attached to the framebuffer might
+ // have changed and the framebuffer might have become complete when it
+ // isn't bound, so we need to clear un-initialized renderbuffers.
+ void onBind();
+
+ // When a texture or a renderbuffer changes, we need to check the
+ // current bound framebuffer; if the newly changed object is attached
+ // to the framebuffer and the framebuffer becomes complete, we need to
+ // clear un-initialized renderbuffers.
+ void onAttachedObjectChange(CanvasObject*);
protected:
WebGLFramebuffer(WebGLRenderingContext*);
@@ -53,9 +65,16 @@ namespace WebCore {
private:
virtual bool isFramebuffer() const { return true; }
- bool m_isDepthAttached;
- bool m_isStencilAttached;
- bool m_isDepthStencilAttached;
+ bool isUninitialized(CanvasObject*);
+ void setInitialized(CanvasObject*);
+ void initializeRenderbuffers();
+
+ // These objects are kept alive by the global table in
+ // WebGLRenderingContext.
+ CanvasObject* m_colorAttachment;
+ CanvasObject* m_depthAttachment;
+ CanvasObject* m_stencilAttachment;
+ CanvasObject* m_depthStencilAttachment;
};
} // namespace WebCore
diff --git a/WebCore/html/canvas/WebGLRenderbuffer.cpp b/WebCore/html/canvas/WebGLRenderbuffer.cpp
index 0ac9c7e..8d23b33 100644
--- a/WebCore/html/canvas/WebGLRenderbuffer.cpp
+++ b/WebCore/html/canvas/WebGLRenderbuffer.cpp
@@ -40,6 +40,7 @@ PassRefPtr<WebGLRenderbuffer> WebGLRenderbuffer::create(WebGLRenderingContext* c
WebGLRenderbuffer::WebGLRenderbuffer(WebGLRenderingContext* ctx)
: CanvasObject(ctx)
, m_internalformat(GraphicsContext3D::RGBA4)
+ , m_initialized(false)
{
setObject(context()->graphicsContext3D()->createRenderbuffer());
}
diff --git a/WebCore/html/canvas/WebGLRenderbuffer.h b/WebCore/html/canvas/WebGLRenderbuffer.h
index e399012..4b6fc3e 100644
--- a/WebCore/html/canvas/WebGLRenderbuffer.h
+++ b/WebCore/html/canvas/WebGLRenderbuffer.h
@@ -42,6 +42,9 @@ namespace WebCore {
void setInternalformat(unsigned long internalformat) { m_internalformat = internalformat; }
unsigned long getInternalformat() const { return m_internalformat; }
+ bool isInitialized() const { return m_initialized; }
+ void setInitialized() { m_initialized = true; }
+
protected:
WebGLRenderbuffer(WebGLRenderingContext*);
@@ -51,6 +54,7 @@ namespace WebCore {
virtual bool isRenderbuffer() const { return true; }
unsigned long m_internalformat;
+ bool m_initialized;
};
} // namespace WebCore
diff --git a/WebCore/html/canvas/WebGLRenderingContext.cpp b/WebCore/html/canvas/WebGLRenderingContext.cpp
index fe192a6..ca1d375 100644
--- a/WebCore/html/canvas/WebGLRenderingContext.cpp
+++ b/WebCore/html/canvas/WebGLRenderingContext.cpp
@@ -238,6 +238,8 @@ void WebGLRenderingContext::bindFramebuffer(unsigned long target, WebGLFramebuff
}
m_framebufferBinding = buffer;
m_context->bindFramebuffer(target, buffer);
+ if (m_framebufferBinding)
+ m_framebufferBinding->onBind();
cleanupAfterGraphicsCall(false);
}
@@ -431,29 +433,31 @@ void WebGLRenderingContext::compileShader(WebGLShader* shader, ExceptionCode& ec
void WebGLRenderingContext::copyTexImage2D(unsigned long target, long level, unsigned long internalformat, long x, long y, unsigned long width, unsigned long height, long border)
{
+ RefPtr<WebGLTexture> tex = 0;
+ switch (target) {
+ case GraphicsContext3D::TEXTURE_2D:
+ tex = m_textureUnits[m_activeTextureUnit].m_texture2DBinding;
+ break;
+ case GraphicsContext3D::TEXTURE_CUBE_MAP_POSITIVE_X:
+ case GraphicsContext3D::TEXTURE_CUBE_MAP_NEGATIVE_X:
+ case GraphicsContext3D::TEXTURE_CUBE_MAP_POSITIVE_Y:
+ case GraphicsContext3D::TEXTURE_CUBE_MAP_NEGATIVE_Y:
+ case GraphicsContext3D::TEXTURE_CUBE_MAP_POSITIVE_Z:
+ case GraphicsContext3D::TEXTURE_CUBE_MAP_NEGATIVE_Z:
+ tex = m_textureUnits[m_activeTextureUnit].m_textureCubeMapBinding;
+ break;
+ }
if (!isGLES2Compliant()) {
if (level && WebGLTexture::isNPOT(width, height)) {
m_context->synthesizeGLError(GraphicsContext3D::INVALID_VALUE);
return;
}
- RefPtr<WebGLTexture> tex = 0;
- switch (target) {
- case GraphicsContext3D::TEXTURE_2D:
- tex = m_textureUnits[m_activeTextureUnit].m_texture2DBinding;
- break;
- case GraphicsContext3D::TEXTURE_CUBE_MAP_POSITIVE_X:
- case GraphicsContext3D::TEXTURE_CUBE_MAP_NEGATIVE_X:
- case GraphicsContext3D::TEXTURE_CUBE_MAP_POSITIVE_Y:
- case GraphicsContext3D::TEXTURE_CUBE_MAP_NEGATIVE_Y:
- case GraphicsContext3D::TEXTURE_CUBE_MAP_POSITIVE_Z:
- case GraphicsContext3D::TEXTURE_CUBE_MAP_NEGATIVE_Z:
- tex = m_textureUnits[m_activeTextureUnit].m_textureCubeMapBinding;
- break;
- }
if (tex && !level) // only for level 0
tex->setSize(target, width, height);
}
m_context->copyTexImage2D(target, level, internalformat, x, y, width, height, border);
+ if (m_framebufferBinding && tex)
+ m_framebufferBinding->onAttachedObjectChange(tex.get());
cleanupAfterGraphicsCall(false);
}
@@ -547,6 +551,8 @@ void WebGLRenderingContext::deleteRenderbuffer(WebGLRenderbuffer* renderbuffer)
return;
renderbuffer->deleteObject();
+ if (m_framebufferBinding)
+ m_framebufferBinding->onAttachedObjectChange(renderbuffer);
}
void WebGLRenderingContext::deleteShader(WebGLShader* shader)
@@ -563,6 +569,8 @@ void WebGLRenderingContext::deleteTexture(WebGLTexture* texture)
return;
texture->deleteObject();
+ if (m_framebufferBinding)
+ m_framebufferBinding->onAttachedObjectChange(texture);
}
void WebGLRenderingContext::depthFunc(unsigned long func)
@@ -845,7 +853,6 @@ void WebGLRenderingContext::framebufferRenderbuffer(unsigned long target, unsign
}
if (buffer && buffer->object()) {
bool isConflicted = false;
- bool isDepthOrStencil = true;
switch (attachment) {
case GraphicsContext3D::DEPTH_ATTACHMENT:
if (m_framebufferBinding->isDepthStencilAttached() || m_framebufferBinding->isStencilAttached())
@@ -865,24 +872,14 @@ void WebGLRenderingContext::framebufferRenderbuffer(unsigned long target, unsign
if (buffer->getInternalformat() != GraphicsContext3D::DEPTH_STENCIL)
isConflicted = true;
break;
- default:
- isDepthOrStencil = false;
}
if (isConflicted) {
m_context->synthesizeGLError(GraphicsContext3D::INVALID_OPERATION);
return;
}
- if (isDepthOrStencil)
- m_framebufferBinding->setIsAttached(attachment, true);
- } else { // Detach
- switch (attachment) {
- case GraphicsContext3D::DEPTH_ATTACHMENT:
- case GraphicsContext3D::STENCIL_ATTACHMENT:
- case GraphicsContext3D::DEPTH_STENCIL_ATTACHMENT:
- m_framebufferBinding->setIsAttached(attachment, false);
- }
}
m_context->framebufferRenderbuffer(target, attachment, renderbuffertarget, buffer);
+ m_framebufferBinding->setAttachment(attachment, buffer);
cleanupAfterGraphicsCall(false);
}
@@ -901,6 +898,7 @@ void WebGLRenderingContext::framebufferTexture2D(unsigned long target, unsigned
return;
}
m_context->framebufferTexture2D(target, attachment, textarget, texture, level);
+ m_framebufferBinding->setAttachment(attachment, texture);
cleanupAfterGraphicsCall(false);
}
@@ -1734,8 +1732,11 @@ void WebGLRenderingContext::renderbufferStorage(unsigned long target, unsigned l
case GraphicsContext3D::STENCIL_INDEX8:
case GraphicsContext3D::DEPTH_STENCIL:
m_context->renderbufferStorage(target, internalformat, width, height);
- if (m_renderbufferBinding)
+ if (m_renderbufferBinding) {
m_renderbufferBinding->setInternalformat(internalformat);
+ if (m_framebufferBinding)
+ m_framebufferBinding->onAttachedObjectChange(m_renderbufferBinding.get());
+ }
cleanupAfterGraphicsCall(false);
break;
default:
@@ -1804,6 +1805,20 @@ void WebGLRenderingContext::texImage2DBase(unsigned target, unsigned level, unsi
unsigned width, unsigned height, unsigned border,
unsigned format, unsigned type, void* pixels, ExceptionCode& ec)
{
+ RefPtr<WebGLTexture> tex = 0;
+ switch (target) {
+ case GraphicsContext3D::TEXTURE_2D:
+ tex = m_textureUnits[m_activeTextureUnit].m_texture2DBinding;
+ break;
+ case GraphicsContext3D::TEXTURE_CUBE_MAP_POSITIVE_X:
+ case GraphicsContext3D::TEXTURE_CUBE_MAP_NEGATIVE_X:
+ case GraphicsContext3D::TEXTURE_CUBE_MAP_POSITIVE_Y:
+ case GraphicsContext3D::TEXTURE_CUBE_MAP_NEGATIVE_Y:
+ case GraphicsContext3D::TEXTURE_CUBE_MAP_POSITIVE_Z:
+ case GraphicsContext3D::TEXTURE_CUBE_MAP_NEGATIVE_Z:
+ tex = m_textureUnits[m_activeTextureUnit].m_textureCubeMapBinding;
+ break;
+ }
// FIXME: For now we ignore any errors returned
ec = 0;
if (!isGLES2Compliant()) {
@@ -1811,25 +1826,13 @@ void WebGLRenderingContext::texImage2DBase(unsigned target, unsigned level, unsi
m_context->synthesizeGLError(GraphicsContext3D::INVALID_VALUE);
return;
}
- RefPtr<WebGLTexture> tex = 0;
- switch (target) {
- case GraphicsContext3D::TEXTURE_2D:
- tex = m_textureUnits[m_activeTextureUnit].m_texture2DBinding;
- break;
- case GraphicsContext3D::TEXTURE_CUBE_MAP_POSITIVE_X:
- case GraphicsContext3D::TEXTURE_CUBE_MAP_NEGATIVE_X:
- case GraphicsContext3D::TEXTURE_CUBE_MAP_POSITIVE_Y:
- case GraphicsContext3D::TEXTURE_CUBE_MAP_NEGATIVE_Y:
- case GraphicsContext3D::TEXTURE_CUBE_MAP_POSITIVE_Z:
- case GraphicsContext3D::TEXTURE_CUBE_MAP_NEGATIVE_Z:
- tex = m_textureUnits[m_activeTextureUnit].m_textureCubeMapBinding;
- break;
- }
if (tex && !level) // only for level 0
tex->setSize(target, width, height);
}
m_context->texImage2D(target, level, internalformat, width, height,
border, format, type, pixels);
+ if (m_framebufferBinding && tex)
+ m_framebufferBinding->onAttachedObjectChange(tex.get());
cleanupAfterGraphicsCall(false);
}
diff --git a/WebCore/inspector/InspectorBackend.cpp b/WebCore/inspector/InspectorBackend.cpp
index aed8f2b..36f41b8 100644
--- a/WebCore/inspector/InspectorBackend.cpp
+++ b/WebCore/inspector/InspectorBackend.cpp
@@ -254,6 +254,18 @@ void InspectorBackend::getProfile(long callId, unsigned uid)
if (m_inspectorController)
m_inspectorController->getProfile(callId, uid);
}
+
+void InspectorBackend::removeProfile(unsigned uid)
+{
+ if (m_inspectorController)
+ m_inspectorController->removeProfile(uid);
+}
+
+void InspectorBackend::clearProfiles()
+{
+ if (m_inspectorController)
+ m_inspectorController->clearProfiles();
+}
#endif
void InspectorBackend::setInjectedScriptSource(const String& source)
@@ -363,6 +375,18 @@ void InspectorBackend::getComputedStyle(long callId, long nodeId)
domAgent->getComputedStyle(callId, nodeId);
}
+void InspectorBackend::getStyleSheet(long callId, long styleSheetId)
+{
+ if (InspectorDOMAgent* domAgent = inspectorDOMAgent())
+ domAgent->getStyleSheet(callId, styleSheetId);
+}
+
+void InspectorBackend::getRuleRangesForStyleSheetId(long callId, long styleSheetId)
+{
+ if (InspectorDOMAgent* domAgent = inspectorDOMAgent())
+ domAgent->getRuleRangesForStyleSheetId(callId, styleSheetId);
+}
+
void InspectorBackend::applyStyleText(long callId, long styleId, const String& styleText, const String& propertyName)
{
if (InspectorDOMAgent* domAgent = inspectorDOMAgent())
diff --git a/WebCore/inspector/InspectorBackend.h b/WebCore/inspector/InspectorBackend.h
index 7331843..0eb8e4c 100644
--- a/WebCore/inspector/InspectorBackend.h
+++ b/WebCore/inspector/InspectorBackend.h
@@ -98,6 +98,9 @@ public:
void getProfileHeaders(long callId);
void getProfile(long callId, unsigned uid);
+
+ void removeProfile(unsigned uid);
+ void clearProfiles();
#endif
void setInjectedScriptSource(const String& source);
@@ -118,6 +121,8 @@ public:
void getAllStyles(long callId);
void getInlineStyle(long callId, long nodeId);
void getComputedStyle(long callId, long nodeId);
+ void getStyleSheet(long callId, long styleSheetId);
+ void getRuleRangesForStyleSheetId(long callId, long styleSheetId);
void applyStyleText(long callId, long styleId, const String& styleText, const String& propertyName);
void setStyleText(long callId, long styleId, const String& cssText);
void setStyleProperty(long callId, long styleId, const String& name, const String& value);
diff --git a/WebCore/inspector/InspectorBackend.idl b/WebCore/inspector/InspectorBackend.idl
index cf0fe01..e8cfdb9 100644
--- a/WebCore/inspector/InspectorBackend.idl
+++ b/WebCore/inspector/InspectorBackend.idl
@@ -73,6 +73,9 @@ module core {
void getProfileHeaders(in long callId);
void getProfile(in long callId, in unsigned long uid);
+
+ void removeProfile(in unsigned long uid);
+ void clearProfiles();
#endif
void setInjectedScriptSource(in DOMString scriptSource);
void dispatchOnInjectedScript(in long callId, in long injectedScriptId, in DOMString methodName, in DOMString arguments, in boolean async);
@@ -95,6 +98,8 @@ module core {
void getAllStyles(in long callId);
void getInlineStyle(in long callId, in long nodeId);
void getComputedStyle(in long callId, in long nodeId);
+ void getStyleSheet(in long callId, in long styleSheetId);
+ void getRuleRangesForStyleSheetId(in long callId, in long styleSheetId);
void applyStyleText(in long callId, in long styleId, in DOMString styleText, in DOMString propertyName);
void setStyleText(in long callId, in long styleId, in DOMString styleText);
void setStyleProperty(in long callId, in long styleId, in DOMString name, in DOMString value);
diff --git a/WebCore/inspector/InspectorCSSStore.cpp b/WebCore/inspector/InspectorCSSStore.cpp
index e53688b..a080eda 100644
--- a/WebCore/inspector/InspectorCSSStore.cpp
+++ b/WebCore/inspector/InspectorCSSStore.cpp
@@ -29,14 +29,27 @@
#include "config.h"
#include "InspectorCSSStore.h"
+#include "CSSMutableStyleDeclaration.h"
+#include "CSSParser.h"
+#include "CSSRuleList.h"
#include "CSSStyleDeclaration.h"
#include "CSSStyleRule.h"
#include "CSSStyleSheet.h"
+#include "HTMLHeadElement.h"
+#include "InspectorController.h"
+#include "InspectorFrontend.h"
+#include "InspectorResource.h"
#include "PlatformString.h"
+#include "ScriptObject.h"
+#include "StyleSheetList.h"
namespace WebCore {
-InspectorCSSStore::InspectorCSSStore()
+InspectorCSSStore::InspectorCSSStore(InspectorController* inspectorController)
+ : m_inspectorController(inspectorController)
+ , m_lastStyleId(1)
+ , m_lastStyleSheetId(1)
+ , m_lastRuleId(1)
{
}
@@ -46,12 +59,164 @@ InspectorCSSStore::~InspectorCSSStore()
void InspectorCSSStore::reset()
{
- styleToId.clear();
- idToStyle.clear();
- ruleToId.clear();
- idToRule.clear();
- idToDisabledStyle.clear();
- inspectorStyleSheet = 0;
+ m_styleToId.clear();
+ m_idToStyle.clear();
+ m_ruleToId.clear();
+ m_idToRule.clear();
+ deleteAllValues(m_styleSheetToOffsets);
+ m_styleSheetToOffsets.clear();
+ m_styleSheetToId.clear();
+ m_idToStyleSheet.clear();
+ m_idToDisabledStyle.clear();
+ m_documentNodeToInspectorStyleSheetMap.clear();
+
+ m_lastStyleId = 1;
+ m_lastStyleSheetId = 1;
+ m_lastRuleId = 1;
+}
+
+void InspectorCSSStore::removeDocument(Document* doc)
+{
+ m_documentNodeToInspectorStyleSheetMap.remove(doc);
+}
+
+CSSStyleSheet* InspectorCSSStore::inspectorStyleSheet(Document* ownerDocument, bool createIfAbsent, long callId)
+{
+ DocumentToStyleSheetMap::iterator it = m_documentNodeToInspectorStyleSheetMap.find(ownerDocument);
+ if (it != m_documentNodeToInspectorStyleSheetMap.end())
+ return it->second.get();
+ if (!createIfAbsent)
+ return 0;
+ ExceptionCode ec = 0;
+ RefPtr<Element> styleElement = ownerDocument->createElement("style", ec);
+ if (!ec)
+ styleElement->setAttribute("type", "text/css", ec);
+ if (!ec)
+ ownerDocument->head()->appendChild(styleElement, ec);
+ if (ec) {
+ m_inspectorController->inspectorFrontend()->didAddRule(callId, ScriptValue::undefined(), false);
+ return 0;
+ }
+ StyleSheetList* styleSheets = ownerDocument->styleSheets();
+ StyleSheet* styleSheet = styleSheets->item(styleSheets->length() - 1);
+ if (!styleSheet->isCSSStyleSheet()) {
+ m_inspectorController->inspectorFrontend()->didAddRule(callId, ScriptValue::undefined(), false);
+ return 0;
+ }
+ CSSStyleSheet* inspectorStyleSheet = static_cast<CSSStyleSheet*>(styleSheet);
+ m_documentNodeToInspectorStyleSheetMap.set(ownerDocument, inspectorStyleSheet);
+ return inspectorStyleSheet;
+}
+
+HashMap<long, SourceRange> InspectorCSSStore::getRuleRangesForStyleSheet(CSSStyleSheet* styleSheet)
+{
+ if (!styleSheet)
+ return HashMap<long, SourceRange>();
+ RefPtr<CSSRuleList> originalRuleList = CSSRuleList::create(styleSheet, false);
+ StyleSheetToOffsetsMap::iterator it = m_styleSheetToOffsets.find(styleSheet);
+ HashMap<long, SourceRange> result;
+ Vector<SourceRange>* offsetVector = 0;
+ if (it == m_styleSheetToOffsets.end()) {
+ InspectorResource* resource = m_inspectorController->resourceForURL(styleSheet->finalURL().string());
+ if (resource) {
+ offsetVector = new Vector<SourceRange>;
+ RefPtr<CSSStyleSheet> newStyleSheet = CSSStyleSheet::create(styleSheet->ownerNode());
+ CSSParser p;
+ CSSParser::StyleRuleRanges ruleRangeMap;
+ p.parseSheet(newStyleSheet.get(), resource->sourceString(), &ruleRangeMap);
+ for (unsigned i = 0, length = newStyleSheet->length(); i < length; ++i) {
+ CSSStyleRule* rule = asCSSStyleRule(newStyleSheet->item(i));
+ if (!rule)
+ continue;
+ HashMap<CSSStyleRule*, std::pair<unsigned, unsigned> >::iterator it = ruleRangeMap.find(rule);
+ if (it != ruleRangeMap.end())
+ offsetVector->append(it->second);
+ }
+ m_styleSheetToOffsets.set(styleSheet, offsetVector);
+ }
+ } else
+ offsetVector = it->second;
+ if (!offsetVector)
+ return HashMap<long, SourceRange>();
+ unsigned ruleIndex = 0;
+ for (unsigned i = 0, length = styleSheet->length(); i < length; ++i) {
+ ASSERT(ruleIndex < offsetVector->size());
+ CSSStyleRule* rule = asCSSStyleRule(styleSheet->item(i));
+ if (!rule)
+ continue;
+ result.set(bindRule(rule), offsetVector->at(ruleIndex));
+ ruleIndex++;
+ }
+ return result;
+}
+
+CSSStyleRule* InspectorCSSStore::asCSSStyleRule(StyleBase* styleBase)
+{
+ if (!styleBase->isStyleRule())
+ return 0;
+ CSSRule* rule = static_cast<CSSRule*>(styleBase);
+ if (rule->type() != CSSRule::STYLE_RULE)
+ return 0;
+ return static_cast<CSSStyleRule*>(rule);
+}
+
+DisabledStyleDeclaration* InspectorCSSStore::disabledStyleForId(long styleId, bool createIfAbsent)
+{
+ IdToDisabledStyleMap::iterator it = m_idToDisabledStyle.find(styleId);
+ if (it == m_idToDisabledStyle.end() && createIfAbsent)
+ it = m_idToDisabledStyle.set(styleId, DisabledStyleDeclaration()).first;
+ return it == m_idToDisabledStyle.end() ? 0 : &(it->second);
+}
+
+CSSStyleDeclaration* InspectorCSSStore::styleForId(long styleId)
+{
+ IdToStyleMap::iterator it = m_idToStyle.find(styleId);
+ return it == m_idToStyle.end() ? 0 : it->second.get();
+}
+
+CSSStyleSheet* InspectorCSSStore::styleSheetForId(long styleSheetId)
+{
+ IdToStyleSheetMap::iterator it = m_idToStyleSheet.find(styleSheetId);
+ return it == m_idToStyleSheet.end() ? 0 : it->second.get();
+}
+
+CSSStyleRule* InspectorCSSStore::ruleForId(long ruleId)
+{
+ IdToRuleMap::iterator it = m_idToRule.find(ruleId);
+ return it == m_idToRule.end() ? 0 : it->second.get();
+}
+
+long InspectorCSSStore::bindStyle(CSSStyleDeclaration* style)
+{
+ long id = m_styleToId.get(style);
+ if (!id) {
+ id = m_lastStyleId++;
+ m_idToStyle.set(id, style);
+ m_styleToId.set(style, id);
+ }
+ return id;
+}
+
+long InspectorCSSStore::bindStyleSheet(CSSStyleSheet* styleSheet)
+{
+ long id = m_styleSheetToId.get(styleSheet);
+ if (!id) {
+ id = m_lastStyleSheetId++;
+ m_idToStyleSheet.set(id, styleSheet);
+ m_styleSheetToId.set(styleSheet, id);
+ }
+ return id;
+}
+
+long InspectorCSSStore::bindRule(CSSStyleRule* rule)
+{
+ long id = m_ruleToId.get(rule);
+ if (!id) {
+ id = m_lastRuleId++;
+ m_idToRule.set(id, rule);
+ m_ruleToId.set(rule, id);
+ }
+ return id;
}
} // namespace WebCore
diff --git a/WebCore/inspector/InspectorCSSStore.h b/WebCore/inspector/InspectorCSSStore.h
index d290fad..4b7ef51 100644
--- a/WebCore/inspector/InspectorCSSStore.h
+++ b/WebCore/inspector/InspectorCSSStore.h
@@ -36,30 +36,65 @@
namespace WebCore {
+class Document;
+class InspectorController;
+class InspectorFrontend;
+class CSSMutableStyleDeclaration;
class CSSStyleDeclaration;
+class CSSRuleList;
class CSSStyleRule;
class CSSStyleSheet;
class String;
+class StyleBase;
typedef std::pair<String, String> PropertyValueAndPriority;
+typedef std::pair<unsigned, unsigned> SourceRange;
typedef HashMap<String, PropertyValueAndPriority> DisabledStyleDeclaration;
typedef HashMap<CSSStyleDeclaration*, long> StyleToIdMap;
typedef HashMap<long, RefPtr<CSSStyleDeclaration> > IdToStyleMap;
typedef HashMap<CSSStyleRule*, long> RuleToIdMap;
typedef HashMap<long, RefPtr<CSSStyleRule> > IdToRuleMap;
+typedef HashMap<CSSStyleSheet*, Vector<SourceRange>* > StyleSheetToOffsetsMap;
+typedef HashMap<CSSStyleSheet*, long> StyleSheetToIdMap;
+typedef HashMap<long, RefPtr<CSSStyleSheet> > IdToStyleSheetMap;
typedef HashMap<long, DisabledStyleDeclaration> IdToDisabledStyleMap;
+typedef HashMap<RefPtr<Document>, RefPtr<CSSStyleSheet> > DocumentToStyleSheetMap;
-struct InspectorCSSStore {
- InspectorCSSStore();
+class InspectorCSSStore {
+
+public:
+ InspectorCSSStore(InspectorController* inspectorController);
~InspectorCSSStore();
void reset();
+ HashMap<long, SourceRange> getRuleRangesForStyleSheet(CSSStyleSheet*);
+ CSSStyleDeclaration* styleForId(long styleId);
+ CSSStyleSheet* styleSheetForId(long styleSheetId);
+ CSSStyleRule* ruleForId(long styleRuleId);
+ DisabledStyleDeclaration* disabledStyleForId(long styleId, bool createIfAbsent);
+ CSSStyleSheet* inspectorStyleSheet(Document* ownerDocument, bool createIfAbsent, long callId);
+ void removeDocument(Document*);
+
+ long bindRule(CSSStyleRule* rule);
+ long bindStyle(CSSStyleDeclaration* style);
+ long bindStyleSheet(CSSStyleSheet* styleSheet);
+
+private:
+ static CSSStyleRule* asCSSStyleRule(StyleBase*);
+
+ StyleToIdMap m_styleToId;
+ IdToStyleMap m_idToStyle;
+ RuleToIdMap m_ruleToId;
+ IdToRuleMap m_idToRule;
+ StyleSheetToOffsetsMap m_styleSheetToOffsets;
+ StyleSheetToIdMap m_styleSheetToId;
+ IdToStyleSheetMap m_idToStyleSheet;
+ IdToDisabledStyleMap m_idToDisabledStyle;
+ DocumentToStyleSheetMap m_documentNodeToInspectorStyleSheetMap;
- StyleToIdMap styleToId;
- IdToStyleMap idToStyle;
- RuleToIdMap ruleToId;
- IdToRuleMap idToRule;
- IdToDisabledStyleMap idToDisabledStyle;
- RefPtr<CSSStyleSheet> inspectorStyleSheet;
+ InspectorController* m_inspectorController;
+ long m_lastStyleId;
+ long m_lastStyleSheetId;
+ long m_lastRuleId;
};
} // namespace WebCore
diff --git a/WebCore/inspector/InspectorController.cpp b/WebCore/inspector/InspectorController.cpp
index 3b36a4a..f38f8d0 100644
--- a/WebCore/inspector/InspectorController.cpp
+++ b/WebCore/inspector/InspectorController.cpp
@@ -145,7 +145,7 @@ InspectorController::InspectorController(Page* page, InspectorClient* client)
: m_inspectedPage(page)
, m_client(client)
, m_openingFrontend(false)
- , m_cssStore(new InspectorCSSStore())
+ , m_cssStore(new InspectorCSSStore(this))
, m_expiredConsoleMessageCount(0)
, m_showAfterVisible(CurrentPanel)
, m_groupLevel(0)
@@ -177,6 +177,7 @@ InspectorController::~InspectorController()
// These should have been cleared in inspectedPageDestroyed().
ASSERT(!m_client);
ASSERT(!m_inspectedPage);
+ ASSERT(!m_highlightedNode);
deleteAllValues(m_frameResources);
deleteAllValues(m_consoleMessages);
@@ -195,6 +196,8 @@ void InspectorController::inspectedPageDestroyed()
if (m_frontend)
m_frontend->inspectedPageDestroyed();
+ hideHighlight();
+
ASSERT(m_inspectedPage);
m_inspectedPage = 0;
@@ -336,11 +339,11 @@ void InspectorController::clearConsoleMessages()
m_frontend->clearConsoleMessages();
}
-void InspectorController::startGroup(MessageSource source, ScriptCallStack* callStack)
+void InspectorController::startGroup(MessageSource source, ScriptCallStack* callStack, bool collapsed)
{
++m_groupLevel;
- addConsoleMessage(callStack->state(), new ConsoleMessage(source, StartGroupMessageType, LogMessageLevel, callStack, m_groupLevel));
+ addConsoleMessage(callStack->state(), new ConsoleMessage(source, collapsed ? StartGroupCollapsedMessageType : StartGroupMessageType, LogMessageLevel, callStack, m_groupLevel));
}
void InspectorController::endGroup(MessageSource source, unsigned lineNumber, const String& sourceURL)
@@ -776,6 +779,15 @@ InspectorResource* InspectorController::getTrackedResource(unsigned long identif
return 0;
}
+InspectorResource* InspectorController::resourceForURL(const String& url)
+{
+ for (InspectorController::ResourcesMap::iterator resIt = m_resources.begin(); resIt != m_resources.end(); ++resIt) {
+ if (resIt->second->requestURL().string() == url)
+ return resIt->second.get();
+ }
+ return 0;
+}
+
void InspectorController::didLoadResourceFromMemoryCache(DocumentLoader* loader, const CachedResource* cachedResource)
{
if (!enabled())
@@ -1376,6 +1388,25 @@ void InspectorController::addStartProfilingMessageToConsole(const String& title,
addMessageToConsole(JSMessageSource, LogMessageType, LogMessageLevel, message, lineNumber, sourceURL);
}
+void InspectorController::removeProfile(unsigned uid)
+{
+ if (!enabled())
+ return;
+
+ if (m_profiles.contains(uid))
+ m_profiles.remove(uid);
+}
+
+void InspectorController::clearProfiles()
+{
+ if (!enabled())
+ return;
+
+ m_profiles.clear();
+ m_currentUserInitiatedProfileNumber = 1;
+ m_nextUserInitiatedProfileNumber = 1;
+}
+
void InspectorController::getProfileHeaders(long callId)
{
if (!m_frontend)
@@ -1628,9 +1659,8 @@ void InspectorController::failedToParseSource(const String& url, const String& d
m_frontend->failedToParseScriptSource(url, data, firstLine, errorLine, errorMessage);
}
-void InspectorController::didPause()
+void InspectorController::didPause(ScriptState* scriptState)
{
- ScriptState* scriptState = ScriptDebugServer::shared().currentCallFrameState();
ASSERT(scriptState);
InjectedScript injectedScript = m_injectedScriptHost->injectedScriptFor(scriptState);
RefPtr<SerializedScriptValue> callFrames = injectedScript.callFrames();
diff --git a/WebCore/inspector/InspectorController.h b/WebCore/inspector/InspectorController.h
index a90b299..a2c8a77 100644
--- a/WebCore/inspector/InspectorController.h
+++ b/WebCore/inspector/InspectorController.h
@@ -6,13 +6,13 @@
* are met:
*
* 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
+ * notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
+ * documentation and/or other materials provided with the distribution.
* 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
* its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
+ * from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
@@ -65,7 +65,7 @@ class InjectedScript;
class InjectedScriptHost;
class InspectorBackend;
class InspectorClient;
-struct InspectorCSSStore;
+class InspectorCSSStore;
class InspectorFrontend;
class InspectorFrontendClient;
class InspectorTimelineAgent;
@@ -147,7 +147,7 @@ public:
void setInspectorFrontendClient(PassOwnPtr<InspectorFrontendClient> client);
bool hasInspectorFrontendClient() const { return m_inspectorFrontendClient; }
-
+
void inspectedWindowScriptObjectCleared(Frame*);
bool windowVisible();
@@ -203,6 +203,8 @@ public:
#endif
const ResourcesMap& resources() const { return m_resources; }
+ InspectorResource* resourceForURL(const String& url);
+ InspectorFrontend* inspectorFrontend() { return m_frontend.get(); }
void drawNodeHighlight(GraphicsContext&) const;
@@ -211,7 +213,7 @@ public:
void startTiming(const String& title);
bool stopTiming(const String& title, double& elapsed);
- void startGroup(MessageSource source, ScriptCallStack* callFrame);
+ void startGroup(MessageSource source, ScriptCallStack* callFrame, bool collapsed = false);
void endGroup(MessageSource source, unsigned lineNumber, const String& sourceURL);
void markTimeline(const String& message);
@@ -220,6 +222,8 @@ public:
void addProfile(PassRefPtr<ScriptProfile>, unsigned lineNumber, const String& sourceURL);
void addProfileFinishedMessageToConsole(PassRefPtr<ScriptProfile>, unsigned lineNumber, const String& sourceURL);
void addStartProfilingMessageToConsole(const String& title, unsigned lineNumber, const String& sourceURL);
+ void removeProfile(unsigned);
+ void clearProfiles();
bool isRecordingUserInitiatedProfile() const { return m_recordingUserInitiatedProfile; }
@@ -241,7 +245,7 @@ public:
virtual void didParseSource(const String& sourceID, const String& url, const String& data, int firstLine);
virtual void failedToParseSource(const String& url, const String& data, int firstLine, int errorLine, const String& errorMessage);
- virtual void didPause();
+ virtual void didPause(ScriptState*);
virtual void didContinue();
#endif
@@ -258,14 +262,12 @@ private:
friend class InspectorBackend;
friend class InjectedScriptHost;
-
+
void populateScriptObjects();
void unbindAllResources();
-
- // Following are used from InspectorBackend and internally.
- void setSearchingForNode(bool enabled);
// Following are used from InspectorBackend and internally.
+ void setSearchingForNode(bool enabled);
void storeLastActivePanel(const String& panelName);
InspectorDOMAgent* domAgent() { return m_domAgent.get(); }
void releaseDOMAgent();
@@ -292,7 +294,7 @@ private:
#if ENABLE(DOM_STORAGE)
InspectorDOMStorageResource* getDOMStorageResourceForId(long storageId);
#endif
-
+
ScriptObject buildObjectForCookie(const Cookie&);
ScriptArray buildArrayForCookies(ListHashSet<Cookie>&);
diff --git a/WebCore/inspector/InspectorDOMAgent.cpp b/WebCore/inspector/InspectorDOMAgent.cpp
index 0833e15..338dc33 100644
--- a/WebCore/inspector/InspectorDOMAgent.cpp
+++ b/WebCore/inspector/InspectorDOMAgent.cpp
@@ -52,7 +52,6 @@
#include "EventNames.h"
#include "EventTarget.h"
#include "HTMLFrameOwnerElement.h"
-#include "HTMLHeadElement.h"
#include "InspectorFrontend.h"
#include "markup.h"
#include "MutationEvent.h"
@@ -78,8 +77,6 @@ InspectorDOMAgent::InspectorDOMAgent(InspectorCSSStore* cssStore, InspectorFront
, m_cssStore(cssStore)
, m_frontend(frontend)
, m_lastNodeId(1)
- , m_lastStyleId(1)
- , m_lastRuleId(1)
{
}
@@ -188,6 +185,7 @@ void InspectorDOMAgent::unbind(Node* node, NodeToIdMap* nodesMap)
if (node->isFrameOwnerElement()) {
const HTMLFrameOwnerElement* frameOwner = static_cast<const HTMLFrameOwnerElement*>(node);
stopListening(frameOwner->contentDocument());
+ cssStore()->removeDocument(frameOwner->contentDocument());
}
long id = nodesMap->get(node);
@@ -785,7 +783,7 @@ void InspectorDOMAgent::getStyles(long callId, long nodeId, bool authorOnly)
CSSStyleSelector* selector = element->ownerDocument()->styleSelector();
RefPtr<CSSRuleList> matchedRules = selector->styleRulesForElement(element, authorOnly);
- result.set("matchedCSSRules", buildArrayForCSSRules(matchedRules.get()));
+ result.set("matchedCSSRules", buildArrayForCSSRules(node->ownerDocument(), matchedRules.get()));
result.set("styleAttributes", buildObjectForAttributeStyles(element));
result.set("pseudoElements", buildArrayForPseudoElements(element, authorOnly));
@@ -800,7 +798,7 @@ void InspectorDOMAgent::getStyles(long callId, long nodeId, bool authorOnly)
CSSStyleSelector* parentSelector = parentElement->ownerDocument()->styleSelector();
RefPtr<CSSRuleList> parentMatchedRules = parentSelector->styleRulesForElement(parentElement, authorOnly);
- parentStyle.set("matchedCSSRules", buildArrayForCSSRules(parentMatchedRules.get()));
+ parentStyle.set("matchedCSSRules", buildArrayForCSSRules(parentElement->ownerDocument(), parentMatchedRules.get()));
parentElement = parentElement->parentElement();
currentStyle = parentStyle;
@@ -817,12 +815,46 @@ void InspectorDOMAgent::getAllStyles(long callId)
for (unsigned i = 0; i < list->length(); ++i) {
StyleSheet* styleSheet = list->item(i);
if (styleSheet->isCSSStyleSheet())
- result.set(counter++, buildObjectForStyleSheet(static_cast<CSSStyleSheet*>(styleSheet)));
+ result.set(counter++, buildObjectForStyleSheet((*it).get(), static_cast<CSSStyleSheet*>(styleSheet)));
}
}
m_frontend->didGetAllStyles(callId, result);
}
+void InspectorDOMAgent::getStyleSheet(long callId, long styleSheetId)
+{
+ CSSStyleSheet* styleSheet = cssStore()->styleSheetForId(styleSheetId);
+ if (styleSheet && styleSheet->doc())
+ m_frontend->didGetStyleSheet(callId, buildObjectForStyleSheet(styleSheet->doc(), styleSheet));
+ else
+ m_frontend->didGetStyleSheet(callId, ScriptObject::undefined());
+}
+
+void InspectorDOMAgent::getRuleRangesForStyleSheetId(long callId, long styleSheetId)
+{
+ CSSStyleSheet* styleSheet = cssStore()->styleSheetForId(styleSheetId);
+ if (styleSheet && styleSheet->doc()) {
+ HashMap<long, SourceRange> ruleRanges = cssStore()->getRuleRangesForStyleSheet(styleSheet);
+ if (!ruleRanges.size()) {
+ m_frontend->didGetStyleSheet(callId, ScriptObject::undefined());
+ return;
+ }
+ ScriptObject result = m_frontend->newScriptObject();
+ for (HashMap<long, SourceRange>::iterator it = ruleRanges.begin(); it != ruleRanges.end(); ++it) {
+ if (it->second.second) {
+ ScriptObject ruleRange = m_frontend->newScriptObject();
+ result.set(String::number(it->first).utf8().data(), ruleRange);
+ ScriptObject bodyRange = m_frontend->newScriptObject();
+ ruleRange.set("bodyRange", bodyRange);
+ bodyRange.set("start", it->second.first);
+ bodyRange.set("end", it->second.second);
+ }
+ }
+ m_frontend->didGetStyleSheet(callId, result);
+ } else
+ m_frontend->didGetStyleSheet(callId, ScriptObject::undefined());
+}
+
void InspectorDOMAgent::getInlineStyle(long callId, long nodeId)
{
Node* node = nodeForId(nodeId);
@@ -867,14 +899,14 @@ ScriptObject InspectorDOMAgent::buildObjectForAttributeStyles(Element* element)
return styleAttributes;
}
-ScriptArray InspectorDOMAgent::buildArrayForCSSRules(CSSRuleList* matchedRules)
+ScriptArray InspectorDOMAgent::buildArrayForCSSRules(Document* ownerDocument, CSSRuleList* matchedRules)
{
ScriptArray matchedCSSRules = m_frontend->newScriptArray();
unsigned counter = 0;
for (unsigned i = 0; matchedRules && i < matchedRules->length(); ++i) {
CSSRule* rule = matchedRules->item(i);
if (rule->type() == CSSRule::STYLE_RULE)
- matchedCSSRules.set(counter++, buildObjectForRule(static_cast<CSSStyleRule*>(rule)));
+ matchedCSSRules.set(counter++, buildObjectForRule(ownerDocument, static_cast<CSSStyleRule*>(rule)));
}
return matchedCSSRules;
}
@@ -891,7 +923,7 @@ ScriptArray InspectorDOMAgent::buildArrayForPseudoElements(Element* element, boo
if (matchedRules && matchedRules->length()) {
ScriptObject pseudoStyles = m_frontend->newScriptObject();
pseudoStyles.set("pseudoId", static_cast<int>(pseudoId));
- pseudoStyles.set("rules", buildArrayForCSSRules(matchedRules.get()));
+ pseudoStyles.set("rules", buildArrayForCSSRules(element->ownerDocument(), matchedRules.get()));
result.set(counter++, pseudoStyles);
}
}
@@ -900,18 +932,17 @@ ScriptArray InspectorDOMAgent::buildArrayForPseudoElements(Element* element, boo
void InspectorDOMAgent::applyStyleText(long callId, long styleId, const String& styleText, const String& propertyName)
{
- IdToStyleMap::iterator it = cssStore()->idToStyle.find(styleId);
- if (it == cssStore()->idToStyle.end()) {
+ CSSStyleDeclaration* style = cssStore()->styleForId(styleId);
+ if (!style) {
m_frontend->didApplyStyleText(callId, false, ScriptValue::undefined(), m_frontend->newScriptArray());
return;
}
// Remove disabled property entry for property with given name.
- IdToDisabledStyleMap::iterator disabledIt = cssStore()->idToDisabledStyle.find(styleId);
- if (disabledIt != cssStore()->idToDisabledStyle.end())
- disabledIt->second.remove(propertyName);
+ DisabledStyleDeclaration* disabledStyle = cssStore()->disabledStyleForId(styleId, false);
+ if (disabledStyle)
+ disabledStyle->remove(propertyName);
- CSSStyleDeclaration* style = it->second.get();
int styleTextLength = styleText.length();
RefPtr<CSSMutableStyleDeclaration> tempMutableStyle = CSSMutableStyleDeclaration::create();
@@ -979,8 +1010,8 @@ void InspectorDOMAgent::applyStyleText(long callId, long styleId, const String&
ExceptionCode ec = 0;
style->setProperty(name, value, priority, ec);
// Remove disabled property entry for property with this name.
- if (disabledIt != cssStore()->idToDisabledStyle.end())
- disabledIt->second.remove(name);
+ if (disabledStyle)
+ disabledStyle->remove(name);
changedProperties.append(name);
}
m_frontend->didApplyStyleText(callId, true, buildObjectForStyle(style, true), toArray(changedProperties));
@@ -988,12 +1019,11 @@ void InspectorDOMAgent::applyStyleText(long callId, long styleId, const String&
void InspectorDOMAgent::setStyleText(long callId, long styleId, const String& cssText)
{
- IdToStyleMap::iterator it = cssStore()->idToStyle.find(styleId);
- if (it == cssStore()->idToStyle.end()) {
+ CSSStyleDeclaration* style = cssStore()->styleForId(styleId);
+ if (!style) {
m_frontend->didSetStyleText(callId, false);
return;
}
- CSSStyleDeclaration* style = it->second.get();
ExceptionCode ec = 0;
style->setCssText(cssText, ec);
m_frontend->didSetStyleText(callId, !ec);
@@ -1001,13 +1031,12 @@ void InspectorDOMAgent::setStyleText(long callId, long styleId, const String& cs
void InspectorDOMAgent::setStyleProperty(long callId, long styleId, const String& name, const String& value)
{
- IdToStyleMap::iterator it = cssStore()->idToStyle.find(styleId);
- if (it == cssStore()->idToStyle.end()) {
+ CSSStyleDeclaration* style = cssStore()->styleForId(styleId);
+ if (!style) {
m_frontend->didSetStyleProperty(callId, false);
return;
}
- CSSStyleDeclaration* style = it->second.get();
ExceptionCode ec = 0;
style->setProperty(name, value, ec);
m_frontend->didSetStyleProperty(callId, !ec);
@@ -1015,28 +1044,25 @@ void InspectorDOMAgent::setStyleProperty(long callId, long styleId, const String
void InspectorDOMAgent::toggleStyleEnabled(long callId, long styleId, const String& propertyName, bool disabled)
{
- IdToStyleMap::iterator it = cssStore()->idToStyle.find(styleId);
- if (it == cssStore()->idToStyle.end()) {
+ CSSStyleDeclaration* style = cssStore()->styleForId(styleId);
+ if (!style) {
m_frontend->didToggleStyleEnabled(callId, ScriptValue::undefined());
return;
}
- CSSStyleDeclaration* style = it->second.get();
- IdToDisabledStyleMap::iterator disabledIt = cssStore()->idToDisabledStyle.find(styleId);
- if (disabledIt == cssStore()->idToDisabledStyle.end())
- disabledIt = cssStore()->idToDisabledStyle.set(styleId, DisabledStyleDeclaration()).first;
+ DisabledStyleDeclaration* disabledStyle = cssStore()->disabledStyleForId(styleId, true);
// TODO: make sure this works with shorthands right.
ExceptionCode ec = 0;
if (disabled) {
- disabledIt->second.set(propertyName, std::make_pair(style->getPropertyValue(propertyName), style->getPropertyPriority(propertyName)));
+ disabledStyle->set(propertyName, std::make_pair(style->getPropertyValue(propertyName), style->getPropertyPriority(propertyName)));
if (!ec)
style->removeProperty(propertyName, ec);
- } else if (disabledIt->second.contains(propertyName)) {
- PropertyValueAndPriority valueAndPriority = disabledIt->second.get(propertyName);
+ } else if (disabledStyle->contains(propertyName)) {
+ PropertyValueAndPriority valueAndPriority = disabledStyle->get(propertyName);
style->setProperty(propertyName, valueAndPriority.first, valueAndPriority.second, ec);
if (!ec)
- disabledIt->second.remove(propertyName);
+ disabledStyle->remove(propertyName);
}
if (ec) {
m_frontend->didToggleStyleEnabled(callId, ScriptValue::undefined());
@@ -1047,13 +1073,12 @@ void InspectorDOMAgent::toggleStyleEnabled(long callId, long styleId, const Stri
void InspectorDOMAgent::setRuleSelector(long callId, long ruleId, const String& selector, long selectedNodeId)
{
- IdToRuleMap::iterator it = cssStore()->idToRule.find(ruleId);
- if (it == cssStore()->idToRule.end()) {
+ CSSStyleRule* rule = cssStore()->ruleForId(ruleId);
+ if (!rule) {
m_frontend->didSetRuleSelector(callId, ScriptValue::undefined(), false);
return;
}
- CSSStyleRule* rule = it->second.get();
Node* node = nodeForId(selectedNodeId);
CSSStyleSheet* styleSheet = rule->parentStyleSheet();
@@ -1077,7 +1102,7 @@ void InspectorDOMAgent::setRuleSelector(long callId, long ruleId, const String&
return;
}
- m_frontend->didSetRuleSelector(callId, buildObjectForRule(newRule), ruleAffectsNode(newRule, node));
+ m_frontend->didSetRuleSelector(callId, buildObjectForRule(node->ownerDocument(), newRule), ruleAffectsNode(newRule, node));
}
void InspectorDOMAgent::addRule(long callId, const String& selector, long selectedNodeId)
@@ -1088,70 +1113,34 @@ void InspectorDOMAgent::addRule(long callId, const String& selector, long select
return;
}
- if (!cssStore()->inspectorStyleSheet.get()) {
- Document* ownerDocument = node->ownerDocument();
- ExceptionCode ec = 0;
- RefPtr<Element> styleElement = ownerDocument->createElement("style", ec);
- if (!ec)
- styleElement->setAttribute("type", "text/css", ec);
- if (!ec)
- ownerDocument->head()->appendChild(styleElement, ec);
- if (ec) {
- m_frontend->didAddRule(callId, ScriptValue::undefined(), false);
- return;
- }
- StyleSheetList* styleSheets = ownerDocument->styleSheets();
- StyleSheet* styleSheet = styleSheets->item(styleSheets->length() - 1);
- if (!styleSheet->isCSSStyleSheet()) {
- m_frontend->didAddRule(callId, ScriptValue::undefined(), false);
- return;
- }
- cssStore()->inspectorStyleSheet = static_cast<CSSStyleSheet*>(styleSheet);
- }
+ CSSStyleSheet* styleSheet = cssStore()->inspectorStyleSheet(node->ownerDocument(), true, callId);
+ if (!styleSheet)
+ return; // could not add a stylesheet to the ownerDocument
ExceptionCode ec = 0;
- cssStore()->inspectorStyleSheet->addRule(selector, "", ec);
+ styleSheet->addRule(selector, "", ec);
if (ec) {
m_frontend->didAddRule(callId, ScriptValue::undefined(), false);
return;
}
- CSSStyleRule* newRule = static_cast<CSSStyleRule*>(cssStore()->inspectorStyleSheet->item(cssStore()->inspectorStyleSheet->length() - 1));
- m_frontend->didAddRule(callId, buildObjectForRule(newRule), ruleAffectsNode(newRule, node));
-}
-
-long InspectorDOMAgent::bindStyle(CSSStyleDeclaration* style)
-{
- long id = cssStore()->styleToId.get(style);
- if (!id) {
- id = m_lastStyleId++;
- cssStore()->idToStyle.set(id, style);
- cssStore()->styleToId.set(style, id);
- }
- return id;
-}
-
-long InspectorDOMAgent::bindRule(CSSStyleRule* rule)
-{
- long id = cssStore()->ruleToId.get(rule);
- if (!id) {
- id = m_lastRuleId++;
- cssStore()->idToRule.set(id, rule);
- cssStore()->ruleToId.set(rule, id);
- }
- return id;
+ CSSStyleRule* newRule = static_cast<CSSStyleRule*>(styleSheet->item(styleSheet->length() - 1));
+ m_frontend->didAddRule(callId, buildObjectForRule(node->ownerDocument(), newRule), ruleAffectsNode(newRule, node));
}
ScriptObject InspectorDOMAgent::buildObjectForStyle(CSSStyleDeclaration* style, bool bind)
{
ScriptObject result = m_frontend->newScriptObject();
if (bind) {
- long styleId = bindStyle(style);
+ long styleId = cssStore()->bindStyle(style);
result.set("id", styleId);
+ CSSStyleSheet* parentStyleSheet = getParentStyleSheet(style);
+ if (parentStyleSheet)
+ result.set("parentStyleSheetId", cssStore()->bindStyleSheet(parentStyleSheet));
- IdToDisabledStyleMap::iterator disabledIt = cssStore()->idToDisabledStyle.find(styleId);
- if (disabledIt != cssStore()->idToDisabledStyle.end())
- result.set("disabled", buildArrayForDisabledStyleProperties(disabledIt->second));
+ DisabledStyleDeclaration* disabledStyle = cssStore()->disabledStyleForId(styleId, false);
+ if (disabledStyle)
+ result.set("disabled", buildArrayForDisabledStyleProperties(disabledStyle));
}
result.set("width", style->getPropertyValue("width"));
result.set("height", style->getPropertyValue("height"));
@@ -1173,7 +1162,7 @@ void InspectorDOMAgent::populateObjectWithStyleProperties(CSSStyleDeclaration* s
property.set("name", name);
property.set("priority", style->getPropertyPriority(name));
property.set("implicit", style->isPropertyImplicit(name));
- String shorthand = style->getPropertyShorthand(name);
+ String shorthand = style->getPropertyShorthand(name);
property.set("shorthand", shorthand);
if (!shorthand.isEmpty() && !foundShorthands.contains(shorthand)) {
foundShorthands.add(shorthand);
@@ -1184,11 +1173,11 @@ void InspectorDOMAgent::populateObjectWithStyleProperties(CSSStyleDeclaration* s
}
}
-ScriptArray InspectorDOMAgent::buildArrayForDisabledStyleProperties(DisabledStyleDeclaration& declaration)
+ScriptArray InspectorDOMAgent::buildArrayForDisabledStyleProperties(DisabledStyleDeclaration* declaration)
{
int counter = 0;
ScriptArray properties = m_frontend->newScriptArray();
- for (DisabledStyleDeclaration::iterator it = declaration.begin(); it != declaration.end(); ++it) {
+ for (DisabledStyleDeclaration::iterator it = declaration->begin(); it != declaration->end(); ++it) {
ScriptObject property = m_frontend->newScriptObject();
property.set("name", it->first);
property.set("value", it->second.first);
@@ -1198,9 +1187,11 @@ ScriptArray InspectorDOMAgent::buildArrayForDisabledStyleProperties(DisabledStyl
return properties;
}
-ScriptObject InspectorDOMAgent::buildObjectForStyleSheet(CSSStyleSheet* styleSheet)
+ScriptObject InspectorDOMAgent::buildObjectForStyleSheet(Document* ownerDocument, CSSStyleSheet* styleSheet)
{
ScriptObject result = m_frontend->newScriptObject();
+ long id = cssStore()->bindStyleSheet(styleSheet);
+ result.set("id", id);
result.set("disabled", styleSheet->disabled());
result.set("href", styleSheet->href());
result.set("title", styleSheet->title());
@@ -1214,12 +1205,12 @@ ScriptObject InspectorDOMAgent::buildObjectForStyleSheet(CSSStyleSheet* styleShe
for (unsigned i = 0; i < cssRuleList->length(); ++i) {
CSSRule* rule = cssRuleList->item(i);
if (rule->isStyleRule())
- cssRules.set(counter++, buildObjectForRule(static_cast<CSSStyleRule*>(rule)));
+ cssRules.set(counter++, buildObjectForRule(ownerDocument, static_cast<CSSStyleRule*>(rule)));
}
return result;
}
-ScriptObject InspectorDOMAgent::buildObjectForRule(CSSStyleRule* rule)
+ScriptObject InspectorDOMAgent::buildObjectForRule(Document* ownerDocument, CSSStyleRule* rule)
{
CSSStyleSheet* parentStyleSheet = rule->parentStyleSheet();
@@ -1231,19 +1222,20 @@ ScriptObject InspectorDOMAgent::buildObjectForRule(CSSStyleRule* rule)
ScriptObject parentStyleSheetValue = m_frontend->newScriptObject();
result.set("parentStyleSheet", parentStyleSheetValue);
parentStyleSheetValue.set("href", parentStyleSheet->href());
+ parentStyleSheetValue.set("id", cssStore()->bindStyleSheet(parentStyleSheet));
}
bool isUserAgent = parentStyleSheet && !parentStyleSheet->ownerNode() && parentStyleSheet->href().isEmpty();
bool isUser = parentStyleSheet && parentStyleSheet->ownerNode() && parentStyleSheet->ownerNode()->nodeName() == "#document";
result.set("isUserAgent", isUserAgent);
result.set("isUser", isUser);
- result.set("isViaInspector", rule->parentStyleSheet() == cssStore()->inspectorStyleSheet.get());
+ result.set("isViaInspector", rule->parentStyleSheet() == cssStore()->inspectorStyleSheet(ownerDocument, false, -1));
// Bind editable scripts only.
bool bind = !isUserAgent && !isUser;
result.set("style", buildObjectForStyle(rule->style(), bind));
if (bind)
- result.set("id", bindRule(rule));
+ result.set("id", cssStore()->bindRule(rule));
return result;
}
@@ -1324,6 +1316,20 @@ ScriptArray InspectorDOMAgent::toArray(const Vector<String>& data)
return result;
}
+CSSStyleSheet* InspectorDOMAgent::getParentStyleSheet(CSSStyleDeclaration* style)
+{
+ CSSStyleSheet* parentStyleSheet = style->parentRule() ? style->parentRule()->parentStyleSheet() : 0;
+ if (!parentStyleSheet) {
+ StyleBase* parent = style->parent();
+ if (parent && parent->isCSSStyleSheet()) {
+ parentStyleSheet = static_cast<CSSStyleSheet*>(parent);
+ if (!parentStyleSheet->length())
+ return 0;
+ }
+ }
+ return parentStyleSheet;
+}
+
} // namespace WebCore
#endif // ENABLE(INSPECTOR)
diff --git a/WebCore/inspector/InspectorDOMAgent.h b/WebCore/inspector/InspectorDOMAgent.h
index c8a4e1a..f8925b5 100644
--- a/WebCore/inspector/InspectorDOMAgent.h
+++ b/WebCore/inspector/InspectorDOMAgent.h
@@ -107,6 +107,8 @@ namespace WebCore {
void getAllStyles(long callId);
void getInlineStyle(long callId, long nodeId);
void getComputedStyle(long callId, long nodeId);
+ void getStyleSheet(long callId, long styleSheetId);
+ void getRuleRangesForStyleSheetId(long callId, long styleSheetId);
void applyStyleText(long callId, long styleId, const String& styleText, const String& propertyName);
void setStyleText(long callId, long styleId, const String& cssText);
void setStyleProperty(long callId, long styleId, const String& name, const String& value);
@@ -128,6 +130,7 @@ namespace WebCore {
void pushChildNodesToFrontend(long nodeId);
private:
+ static CSSStyleSheet* getParentStyleSheet(CSSStyleDeclaration*);
void startListening(Document* document);
void stopListening(Document* document);
@@ -141,7 +144,7 @@ namespace WebCore {
bool pushDocumentToFrontend();
ScriptObject buildObjectForAttributeStyles(Element* element);
- ScriptArray buildArrayForCSSRules(CSSRuleList*);
+ ScriptArray buildArrayForCSSRules(Document* ownerDocument, CSSRuleList*);
ScriptArray buildArrayForPseudoElements(Element* element, bool authorOnly);
ScriptObject buildObjectForNode(Node* node, int depth, NodeToIdMap* nodesMap);
@@ -162,13 +165,11 @@ namespace WebCore {
String documentURLString(Document* document) const;
InspectorCSSStore* cssStore() { return m_cssStore; }
- long bindStyle(CSSStyleDeclaration*);
- long bindRule(CSSStyleRule*);
ScriptObject buildObjectForStyle(CSSStyleDeclaration*, bool bind);
void populateObjectWithStyleProperties(CSSStyleDeclaration*, ScriptObject& result);
- ScriptArray buildArrayForDisabledStyleProperties(DisabledStyleDeclaration&);
- ScriptObject buildObjectForRule(CSSStyleRule*);
- ScriptObject buildObjectForStyleSheet(CSSStyleSheet*);
+ ScriptArray buildArrayForDisabledStyleProperties(DisabledStyleDeclaration*);
+ ScriptObject buildObjectForRule(Document* ownerDocument, CSSStyleRule*);
+ ScriptObject buildObjectForStyleSheet(Document* ownerDocument, CSSStyleSheet*);
Vector<String> longhandProperties(CSSStyleDeclaration*, const String& shorthandProperty);
String shorthandValue(CSSStyleDeclaration*, const String& shorthandProperty);
String shorthandPriority(CSSStyleDeclaration*, const String& shorthandProperty);
@@ -186,8 +187,6 @@ namespace WebCore {
HashMap<long, NodeToIdMap*> m_idToNodesMap;
HashSet<long> m_childrenRequested;
long m_lastNodeId;
- long m_lastStyleId;
- long m_lastRuleId;
ListHashSet<RefPtr<Document> > m_documents;
};
diff --git a/WebCore/inspector/InspectorFrontend.cpp b/WebCore/inspector/InspectorFrontend.cpp
index d89ae71..fb66cad 100644
--- a/WebCore/inspector/InspectorFrontend.cpp
+++ b/WebCore/inspector/InspectorFrontend.cpp
@@ -524,6 +524,15 @@ void InspectorFrontend::didGetAllStyles(long callId, const ScriptArray& styles)
function.call();
}
+void InspectorFrontend::didGetStyleSheet(long callId, const ScriptValue& styleSheet)
+{
+ ScriptFunctionCall function(m_webInspector, "dispatch");
+ function.appendArgument("didGetStyleSheet");
+ function.appendArgument(callId);
+ function.appendArgument(styleSheet);
+ function.call();
+}
+
void InspectorFrontend::didGetComputedStyle(long callId, const ScriptValue& style)
{
ScriptFunctionCall function(m_webInspector, "dispatch");
diff --git a/WebCore/inspector/InspectorFrontend.h b/WebCore/inspector/InspectorFrontend.h
index 0e7d7b3..fa752aa 100644
--- a/WebCore/inspector/InspectorFrontend.h
+++ b/WebCore/inspector/InspectorFrontend.h
@@ -7,13 +7,13 @@
* are met:
*
* 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
+ * notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
+ * documentation and/or other materials provided with the distribution.
* 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
* its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
+ * from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
@@ -50,7 +50,7 @@ namespace WebCore {
public:
InspectorFrontend(ScriptObject webInspector);
~InspectorFrontend();
-
+
void close();
void inspectedPageDestroyed();
@@ -75,7 +75,7 @@ namespace WebCore {
void showPanel(int panel);
void populateInterface();
void reset();
-
+
void bringToFront();
void inspectedURLChanged(const String&);
@@ -111,7 +111,7 @@ namespace WebCore {
void selectDatabase(int databaseId);
void didGetDatabaseTableNames(long callId, const ScriptArray& tableNames);
#endif
-
+
#if ENABLE(DOM_STORAGE)
bool addDOMStorage(const ScriptObject& domStorageObj);
void selectDOMStorage(long storageId);
@@ -137,6 +137,7 @@ namespace WebCore {
void didGetStyles(long callId, const ScriptValue& styles);
void didGetAllStyles(long callId, const ScriptArray& styles);
void didGetInlineStyle(long callId, const ScriptValue& style);
+ void didGetStyleSheet(long callId, const ScriptValue& styleSheet);
void didGetComputedStyle(long callId, const ScriptValue& style);
void didApplyStyleText(long callId, bool success, const ScriptValue& style, const ScriptArray& changedProperties);
void didSetStyleText(long callId, bool success);
diff --git a/WebCore/inspector/InspectorResource.cpp b/WebCore/inspector/InspectorResource.cpp
index 51ed290..999b8d6 100644
--- a/WebCore/inspector/InspectorResource.cpp
+++ b/WebCore/inspector/InspectorResource.cpp
@@ -125,6 +125,7 @@ void InspectorResource::updateResponse(const ResourceResponse& response)
}
m_responseHeaderFields = response.httpHeaderFields();
m_responseStatusCode = response.httpStatusCode();
+ m_responseStatusText = response.httpStatusText();
m_suggestedFilename = response.suggestedFilename();
m_changes.set(ResponseChange);
@@ -167,6 +168,7 @@ void InspectorResource::updateScriptObject(InspectorFrontend* frontend)
jsonObject.set("suggestedFilename", m_suggestedFilename);
jsonObject.set("expectedContentLength", m_expectedContentLength);
jsonObject.set("statusCode", m_responseStatusCode);
+ jsonObject.set("statusText", m_responseStatusText);
jsonObject.set("suggestedFilename", m_suggestedFilename);
ScriptObject responseHeaders = frontend->newScriptObject();
populateHeadersObject(&responseHeaders, m_responseHeaderFields);
diff --git a/WebCore/inspector/InspectorResource.h b/WebCore/inspector/InspectorResource.h
index 30b1280..9b91889 100644
--- a/WebCore/inspector/InspectorResource.h
+++ b/WebCore/inspector/InspectorResource.h
@@ -166,6 +166,7 @@ namespace WebCore {
bool m_failed;
int m_length;
int m_responseStatusCode;
+ String m_responseStatusText;
double m_startTime;
double m_responseReceivedTime;
double m_endTime;
diff --git a/WebCore/inspector/InspectorValues.cpp b/WebCore/inspector/InspectorValues.cpp
new file mode 100644
index 0000000..f59e900
--- /dev/null
+++ b/WebCore/inspector/InspectorValues.cpp
@@ -0,0 +1,134 @@
+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "InspectorValues.h"
+
+#if ENABLE(INSPECTOR)
+
+namespace WebCore {
+
+inline bool escapeChar(UChar c, Vector<UChar>* dst)
+{
+ switch (c) {
+ case '\b': dst->append("\\b", 2); break;
+ case '\f': dst->append("\\f", 2); break;
+ case '\n': dst->append("\\n", 2); break;
+ case '\r': dst->append("\\r", 2); break;
+ case '\t': dst->append("\\t", 2); break;
+ case '\\': dst->append("\\\\", 2); break;
+ case '"': dst->append("\\\"", 2); break;
+ default:
+ return false;
+ }
+ return true;
+}
+
+inline void doubleQuoteString(const String& str, Vector<UChar>* dst)
+{
+ dst->append('"');
+ for (unsigned i = 0; i < str.length(); ++i) {
+ UChar c = str[i];
+ if (!escapeChar(c, dst)) {
+ if (c < 32 || c > 126 || c == '<' || c == '>') {
+ // 1. Escaping <, > to prevent script execution.
+ // 2. Technically, we could also pass through c > 126 as UTF8, but this
+ // is also optional. It would also be a pain to implement here.
+ unsigned int symbol = static_cast<unsigned int>(c);
+ String symbolCode = String::format("\\u%04X", symbol);
+ dst->append(symbolCode.characters(), symbolCode.length());
+ } else
+ dst->append(c);
+ }
+ }
+ dst->append('"');
+}
+
+String InspectorValue::toJSONString() const
+{
+ Vector<UChar> result;
+ result.reserveCapacity(512);
+ writeJSON(&result);
+ return String(result.data(), result.size());
+}
+
+void InspectorValue::writeJSON(Vector<UChar>* output) const
+{
+ ASSERT(m_type == TypeNull);
+ output->append("null", 4);
+}
+
+void InspectorBasicValue::writeJSON(Vector<UChar>* output) const
+{
+ ASSERT(type() == TypeBoolean || type() == TypeDouble);
+ if (type() == TypeBoolean) {
+ if (m_boolValue)
+ output->append("true", 4);
+ else
+ output->append("false", 5);
+ } else if (type() == TypeDouble) {
+ String value = String::format("%f", m_doubleValue);
+ output->append(value.characters(), value.length());
+ }
+}
+
+void InspectorString::writeJSON(Vector<UChar>* output) const
+{
+ ASSERT(type() == TypeString);
+ doubleQuoteString(m_stringValue, output);
+}
+
+void InspectorObject::writeJSON(Vector<UChar>* output) const
+{
+ output->append('{');
+ for (Dictionary::const_iterator it = m_data.begin(); it != m_data.end(); ++it) {
+ if (it != m_data.begin())
+ output->append(',');
+ doubleQuoteString(it->first, output);
+ output->append(':');
+ it->second->writeJSON(output);
+ }
+ output->append('}');
+}
+
+void InspectorArray::writeJSON(Vector<UChar>* output) const
+{
+ output->append('[');
+ for (Vector<RefPtr<InspectorValue> >::const_iterator it = m_data.begin(); it != m_data.end(); ++it) {
+ if (it != m_data.begin())
+ output->append(',');
+ (*it)->writeJSON(output);
+ }
+ output->append(']');
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(INSPECTOR)
diff --git a/WebCore/inspector/InspectorValues.h b/WebCore/inspector/InspectorValues.h
new file mode 100644
index 0000000..a60bb2c
--- /dev/null
+++ b/WebCore/inspector/InspectorValues.h
@@ -0,0 +1,215 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef InspectorValues_h
+#define InspectorValues_h
+
+#if ENABLE(INSPECTOR)
+
+#include "PlatformString.h"
+#include "StringHash.h"
+
+#include <wtf/HashMap.h>
+#include <wtf/RefCounted.h>
+#include <wtf/Vector.h>
+
+namespace WebCore {
+
+class String;
+
+class InspectorValue : public RefCounted<InspectorValue> {
+public:
+ InspectorValue() : m_type(TypeNull) { }
+ virtual ~InspectorValue() { }
+
+ static PassRefPtr<InspectorValue> null()
+ {
+ return adoptRef(new InspectorValue());
+ }
+
+ typedef enum {
+ TypeNull = 0,
+ TypeBoolean,
+ TypeDouble,
+ TypeString,
+ TypeObject,
+ TypeArray
+ } Type;
+
+ Type type() const { return m_type; }
+
+ String toJSONString() const;
+ virtual void writeJSON(Vector<UChar>* output) const;
+
+protected:
+ explicit InspectorValue(Type type) : m_type(type) { }
+
+private:
+ Type m_type;
+};
+
+class InspectorBasicValue : public InspectorValue {
+public:
+
+ static PassRefPtr<InspectorBasicValue> create(bool value)
+ {
+ return adoptRef(new InspectorBasicValue(value));
+ }
+
+ static PassRefPtr<InspectorBasicValue> create(int value)
+ {
+ return adoptRef(new InspectorBasicValue(value));
+ }
+
+ static PassRefPtr<InspectorBasicValue> create(double value)
+ {
+ return adoptRef(new InspectorBasicValue(value));
+ }
+
+ virtual void writeJSON(Vector<UChar>* output) const;
+
+private:
+ explicit InspectorBasicValue(bool value) : InspectorValue(TypeBoolean), m_boolValue(value) { }
+ explicit InspectorBasicValue(int value) : InspectorValue(TypeDouble), m_doubleValue((double)value) { }
+ explicit InspectorBasicValue(double value) : InspectorValue(TypeDouble), m_doubleValue(value) { }
+
+ union {
+ bool m_boolValue;
+ double m_doubleValue;
+ };
+};
+
+class InspectorString : public InspectorValue {
+public:
+ static PassRefPtr<InspectorString> create(const String& value)
+ {
+ return adoptRef(new InspectorString(value));
+ }
+
+ static PassRefPtr<InspectorString> create(const char* value)
+ {
+ return adoptRef(new InspectorString(value));
+ }
+ virtual void writeJSON(Vector<UChar>* output) const;
+
+private:
+ explicit InspectorString(const String& value) : InspectorValue(TypeString), m_stringValue(value) { }
+ explicit InspectorString(const char* value) : InspectorValue(TypeString), m_stringValue(value) { }
+
+ String m_stringValue;
+};
+
+class InspectorObject : public InspectorValue {
+public:
+ static PassRefPtr<InspectorObject> create()
+ {
+ return adoptRef(new InspectorObject());
+ }
+ ~InspectorObject() { }
+
+ void setBool(const String& name, bool);
+ void setNumber(const String& name, double);
+ void setString(const String& name, const String&);
+ void set(const String& name, PassRefPtr<InspectorValue>);
+
+ virtual void writeJSON(Vector<UChar>* output) const;
+
+private:
+ InspectorObject() : InspectorValue(TypeObject) { }
+ typedef HashMap<String, RefPtr<InspectorValue> > Dictionary;
+ Dictionary m_data;
+};
+
+class InspectorArray : public InspectorValue {
+public:
+ static PassRefPtr<InspectorArray> create()
+ {
+ return adoptRef(new InspectorArray());
+ }
+ ~InspectorArray() { }
+
+ void pushBool(bool);
+ void pushNumber(double);
+ void pushString(const String&);
+ void push(PassRefPtr<InspectorValue>);
+ unsigned length() { return m_data.size(); }
+
+ virtual void writeJSON(Vector<UChar>* output) const;
+
+private:
+ InspectorArray() : InspectorValue(TypeArray) { }
+ Vector<RefPtr<InspectorValue> > m_data;
+};
+
+inline void InspectorObject::setBool(const String& name, bool value)
+{
+ m_data.set(name, InspectorBasicValue::create(value));
+}
+
+inline void InspectorObject::setNumber(const String& name, double value)
+{
+ m_data.set(name, InspectorBasicValue::create(value));
+}
+
+inline void InspectorObject::setString(const String& name, const String& value)
+{
+ m_data.set(name, InspectorString::create(value));
+}
+
+inline void InspectorObject::set(const String& name, PassRefPtr<InspectorValue> value)
+{
+ m_data.set(name, value);
+}
+
+inline void InspectorArray::pushBool(bool value)
+{
+ m_data.append(InspectorBasicValue::create(value));
+}
+
+inline void InspectorArray::pushNumber(double value)
+{
+ m_data.append(InspectorBasicValue::create(value));
+}
+
+inline void InspectorArray::pushString(const String& value)
+{
+ m_data.append(InspectorString::create(value));
+}
+
+inline void InspectorArray::push(PassRefPtr<InspectorValue> value)
+{
+ m_data.append(value);
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(INSPECTOR)
+#endif // !defined(InspectorValues_h)
+
diff --git a/WebCore/inspector/ScriptDebugListener.h b/WebCore/inspector/ScriptDebugListener.h
index 5a85da1..c669f5e 100644
--- a/WebCore/inspector/ScriptDebugListener.h
+++ b/WebCore/inspector/ScriptDebugListener.h
@@ -32,6 +32,8 @@
#if ENABLE(JAVASCRIPT_DEBUGGER)
+#include "ScriptState.h"
+
namespace WebCore {
class String;
@@ -42,7 +44,7 @@ public:
virtual void didParseSource(const String& sourceID, const String& url, const String& data, int firstLine) = 0;
virtual void failedToParseSource(const String& url, const String& data, int firstLine, int errorLine, const String& errorMessage) = 0;
- virtual void didPause() = 0;
+ virtual void didPause(ScriptState*) = 0;
virtual void didContinue() = 0;
};
diff --git a/WebCore/inspector/TimelineRecordFactory.cpp b/WebCore/inspector/TimelineRecordFactory.cpp
index 0540dad..bdb5f3d 100644
--- a/WebCore/inspector/TimelineRecordFactory.cpp
+++ b/WebCore/inspector/TimelineRecordFactory.cpp
@@ -49,14 +49,9 @@ ScriptObject TimelineRecordFactory::createGenericRecord(InspectorFrontend* front
ScriptObject record = frontend->newScriptObject();
record.set("startTime", startTime);
- String sourceName;
- int sourceLineNumber;
- String functionName;
- if (ScriptCallStack::callLocation(&sourceName, &sourceLineNumber, &functionName) && sourceName != "undefined") {
- record.set("callerScriptName", sourceName);
- record.set("callerScriptLine", sourceLineNumber);
- record.set("callerFunctionName", functionName);
- }
+ ScriptArray stackTrace;
+ if (ScriptCallStack::stackTrace(5, frontend->scriptState(), stackTrace))
+ record.set("stackTrace", stackTrace);
return record;
}
diff --git a/WebCore/inspector/front-end/AuditsPanel.js b/WebCore/inspector/front-end/AuditsPanel.js
index c3318ce..481df80 100644
--- a/WebCore/inspector/front-end/AuditsPanel.js
+++ b/WebCore/inspector/front-end/AuditsPanel.js
@@ -49,7 +49,7 @@ WebInspector.AuditsPanel = function()
this.element.addStyleClass("audits");
- this.clearResultsButton = new WebInspector.StatusBarButton(WebInspector.UIString("Clear audit results."), "clear-audit-results-status-bar-item");
+ this.clearResultsButton = new WebInspector.StatusBarButton(WebInspector.UIString("Clear audit results."), "clear-status-bar-item");
this.clearResultsButton.addEventListener("click", this._clearButtonClicked.bind(this), false);
this.viewsContainerElement = document.createElement("div");
diff --git a/WebCore/inspector/front-end/Breakpoint.js b/WebCore/inspector/front-end/Breakpoint.js
index 7f3ef17..e69de29 100644
--- a/WebCore/inspector/front-end/Breakpoint.js
+++ b/WebCore/inspector/front-end/Breakpoint.js
@@ -1,96 +0,0 @@
-/*
- * Copyright (C) 2008 Apple Inc. All Rights Reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-WebInspector.Breakpoint = function(url, line, sourceID, condition)
-{
- this.url = url;
- this.line = line;
- this.sourceID = sourceID;
- this._enabled = true;
- this._sourceText = "";
- this._condition = condition || "";
-}
-
-WebInspector.Breakpoint.prototype = {
- get enabled()
- {
- return this._enabled;
- },
-
- set enabled(x)
- {
- if (this._enabled === x)
- return;
-
- this._enabled = x;
-
- if (this._enabled)
- this.dispatchEventToListeners("enabled");
- else
- this.dispatchEventToListeners("disabled");
- },
-
- get sourceText()
- {
- return this._sourceText;
- },
-
- set sourceText(text)
- {
- this._sourceText = text;
- this.dispatchEventToListeners("text-changed");
- },
-
- get label()
- {
- var displayName = (this.url ? WebInspector.displayNameForURL(this.url) : WebInspector.UIString("(program)"));
- return displayName + ":" + this.line;
- },
-
- get id()
- {
- return this.sourceID + ":" + this.line;
- },
-
- get condition()
- {
- return this._condition;
- },
-
- set condition(c)
- {
- c = c || "";
- if (this._condition === c)
- return;
-
- this._condition = c;
- this.dispatchEventToListeners("condition-changed");
-
- if (this.enabled)
- InspectorBackend.setBreakpoint(this.sourceID, this.line, this.enabled, this.condition);
- }
-}
-
-WebInspector.Breakpoint.prototype.__proto__ = WebInspector.Object.prototype;
diff --git a/WebCore/inspector/front-end/BreakpointManager.js b/WebCore/inspector/front-end/BreakpointManager.js
new file mode 100644
index 0000000..c277fb1
--- /dev/null
+++ b/WebCore/inspector/front-end/BreakpointManager.js
@@ -0,0 +1,160 @@
+/*
+ * Copyright (C) 2008 Apple Inc. All Rights Reserved.
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+WebInspector.BreakpointManager = function()
+{
+ this._breakpoints = {};
+}
+
+WebInspector.BreakpointManager.prototype = {
+ addBreakpoint: function(sourceID, sourceURL, line, enabled, condition)
+ {
+ var breakpoint = new WebInspector.Breakpoint(this, sourceID, sourceURL, line, enabled, condition);
+ if (this._breakpoints[breakpoint.id])
+ return;
+ this._breakpoints[breakpoint.id] = breakpoint;
+ this._saveBreakpointOnBackend(breakpoint);
+ this.dispatchEventToListeners("breakpoint-added", breakpoint);
+ },
+
+ removeBreakpoint: function(breakpoint)
+ {
+ if (!(breakpoint.id in this._breakpoints))
+ return;
+ delete this._breakpoints[breakpoint.id];
+ this._removeBreakpointFromBackend(breakpoint);
+ this.dispatchEventToListeners("breakpoint-removed", breakpoint);
+ },
+
+ breakpointsForSourceID: function(sourceID)
+ {
+ var breakpoints = [];
+ for (var id in this._breakpoints) {
+ if (this._breakpoints[id].sourceID === sourceID)
+ breakpoints.push(this._breakpoints[id]);
+ }
+ return breakpoints;
+ },
+
+ breakpointsForURL: function(url)
+ {
+ var breakpoints = [];
+ for (var id in this._breakpoints) {
+ if (this._breakpoints[id].url === url)
+ breakpoints.push(this._breakpoints[id]);
+ }
+ return breakpoints;
+ },
+
+ reset: function()
+ {
+ this._breakpoints = {};
+ },
+
+ _saveBreakpointOnBackend: function(breakpoint)
+ {
+ InspectorBackend.setBreakpoint(breakpoint.sourceID, breakpoint.line, breakpoint.enabled, breakpoint.condition);
+ },
+
+ _removeBreakpointFromBackend: function(breakpoint)
+ {
+ InspectorBackend.removeBreakpoint(breakpoint.sourceID, breakpoint.line);
+ }
+}
+
+WebInspector.BreakpointManager.prototype.__proto__ = WebInspector.Object.prototype;
+
+WebInspector.Breakpoint = function(breakpointManager, sourceID, sourceURL, line, enabled, condition)
+{
+ this.url = sourceURL;
+ this.line = line;
+ this.sourceID = sourceID;
+ this._enabled = enabled;
+ this._condition = condition || "";
+ this._sourceText = "";
+ this._breakpointManager = breakpointManager;
+}
+
+WebInspector.Breakpoint.prototype = {
+ get enabled()
+ {
+ return this._enabled;
+ },
+
+ set enabled(x)
+ {
+ if (this._enabled === x)
+ return;
+
+ this._enabled = x;
+ this._breakpointManager._saveBreakpointOnBackend(this);
+ if (this._enabled)
+ this.dispatchEventToListeners("enabled");
+ else
+ this.dispatchEventToListeners("disabled");
+ },
+
+ get sourceText()
+ {
+ return this._sourceText;
+ },
+
+ set sourceText(text)
+ {
+ this._sourceText = text;
+ this.dispatchEventToListeners("text-changed");
+ },
+
+ get label()
+ {
+ var displayName = (this.url ? WebInspector.displayNameForURL(this.url) : WebInspector.UIString("(program)"));
+ return displayName + ":" + this.line;
+ },
+
+ get id()
+ {
+ return this.sourceID + ":" + this.line;
+ },
+
+ get condition()
+ {
+ return this._condition;
+ },
+
+ set condition(c)
+ {
+ c = c || "";
+ if (this._condition === c)
+ return;
+
+ this._condition = c;
+ if (this.enabled)
+ this._breakpointManager._saveBreakpointOnBackend(this);
+ this.dispatchEventToListeners("condition-changed");
+ }
+}
+
+WebInspector.Breakpoint.prototype.__proto__ = WebInspector.Object.prototype;
diff --git a/WebCore/inspector/front-end/BreakpointsSidebarPane.js b/WebCore/inspector/front-end/BreakpointsSidebarPane.js
index fcfd2ab..a4daa2d 100644
--- a/WebCore/inspector/front-end/BreakpointsSidebarPane.js
+++ b/WebCore/inspector/front-end/BreakpointsSidebarPane.js
@@ -27,8 +27,6 @@ WebInspector.BreakpointsSidebarPane = function()
{
WebInspector.SidebarPane.call(this, WebInspector.UIString("Breakpoints"));
- this.breakpoints = {};
-
this.listElement = document.createElement("ol");
this.listElement.className = "breakpoint-list";
@@ -37,12 +35,14 @@ WebInspector.BreakpointsSidebarPane = function()
this.emptyElement.textContent = WebInspector.UIString("No Breakpoints");
this.bodyElement.appendChild(this.emptyElement);
+
+ WebInspector.breakpointManager.addEventListener("breakpoint-added", this._breakpointAdded, this);
+ WebInspector.breakpointManager.addEventListener("breakpoint-removed", this._breakpointRemoved, this);
}
WebInspector.BreakpointsSidebarPane.prototype = {
reset: function()
{
- this.breakpoints = {};
this.listElement.removeChildren();
if (this.listElement.parentElement) {
this.bodyElement.removeChild(this.listElement);
@@ -50,12 +50,9 @@ WebInspector.BreakpointsSidebarPane.prototype = {
}
},
- addBreakpoint: function(breakpoint)
+ _breakpointAdded: function(event)
{
- if (this.breakpoints[breakpoint.id])
- return;
-
- this.breakpoints[breakpoint.id] = breakpoint;
+ var breakpoint = event.data;
breakpoint.addEventListener("enabled", this._breakpointEnableChanged, this);
breakpoint.addEventListener("disabled", this._breakpointEnableChanged, this);
@@ -67,8 +64,6 @@ WebInspector.BreakpointsSidebarPane.prototype = {
this.bodyElement.removeChild(this.emptyElement);
this.bodyElement.appendChild(this.listElement);
}
-
- InspectorBackend.setBreakpoint(breakpoint.sourceID, breakpoint.line, breakpoint.enabled, breakpoint.condition);
},
_appendBreakpointElement: function(breakpoint)
@@ -121,11 +116,9 @@ WebInspector.BreakpointsSidebarPane.prototype = {
this.listElement.appendChild(breakpointElement);
},
- removeBreakpoint: function(breakpoint)
+ _breakpointRemoved: function(event)
{
- if (!this.breakpoints[breakpoint.id])
- return;
- delete this.breakpoints[breakpoint.id];
+ var breakpoint = event.data;
breakpoint.removeEventListener("enabled", null, this);
breakpoint.removeEventListener("disabled", null, this);
@@ -138,8 +131,6 @@ WebInspector.BreakpointsSidebarPane.prototype = {
this.bodyElement.removeChild(this.listElement);
this.bodyElement.appendChild(this.emptyElement);
}
-
- InspectorBackend.removeBreakpoint(breakpoint.sourceID, breakpoint.line);
},
_breakpointEnableChanged: function(event)
@@ -148,7 +139,6 @@ WebInspector.BreakpointsSidebarPane.prototype = {
var checkbox = breakpoint._breakpointListElement.firstChild;
checkbox.checked = breakpoint.enabled;
- InspectorBackend.setBreakpoint(breakpoint.sourceID, breakpoint.line, breakpoint.enabled, breakpoint.condition);
},
_breakpointTextChanged: function(event)
diff --git a/WebCore/inspector/front-end/ChangesView.js b/WebCore/inspector/front-end/ChangesView.js
index 802fdba..5ab6942 100644
--- a/WebCore/inspector/front-end/ChangesView.js
+++ b/WebCore/inspector/front-end/ChangesView.js
@@ -37,7 +37,7 @@ WebInspector.ChangesView = function(drawer)
this.clearButton = document.createElement("button");
this.clearButton.id = "clear-changes-status-bar-item";
this.clearButton.title = WebInspector.UIString("Clear changes log.");
- this.clearButton.className = "status-bar-item";
+ this.clearButton.className = "status-bar-item clear-status-bar-item";
this.clearButton.addEventListener("click", this._clearButtonClicked.bind(this), false);
this.toggleChangesButton = document.getElementById("changes-status-bar-item");
diff --git a/WebCore/inspector/front-end/ConsoleView.js b/WebCore/inspector/front-end/ConsoleView.js
index b9f6d0a..8521cb3 100644
--- a/WebCore/inspector/front-end/ConsoleView.js
+++ b/WebCore/inspector/front-end/ConsoleView.js
@@ -249,7 +249,7 @@ WebInspector.ConsoleView.prototype = {
this.currentGroup = this.currentGroup.parentGroup;
} else {
- if (msg.type === WebInspector.ConsoleMessage.MessageType.StartGroup) {
+ if (msg.type === WebInspector.ConsoleMessage.MessageType.StartGroup || msg.type === WebInspector.ConsoleMessage.MessageType.StartGroupCollapsed) {
this.groupLevel++;
var group = new WebInspector.ConsoleGroup(this.currentGroup, this.groupLevel);
@@ -808,8 +808,8 @@ WebInspector.ConsoleMessage.prototype = {
element.addStyleClass("console-error-level");
break;
}
-
- if (this.type === WebInspector.ConsoleMessage.MessageType.StartGroup)
+
+ if (this.type === WebInspector.ConsoleMessage.MessageType.StartGroup || this.type === WebInspector.ConsoleMessage.MessageType.StartGroupCollapsed)
element.addStyleClass("console-group-title");
if (this.elementsTreeOutline) {
@@ -894,6 +894,7 @@ WebInspector.ConsoleMessage.prototype = {
case WebInspector.ConsoleMessage.MessageType.Trace:
typeString = "Trace";
break;
+ case WebInspector.ConsoleMessage.MessageType.StartGroupCollapsed:
case WebInspector.ConsoleMessage.MessageType.StartGroup:
typeString = "Start Group";
break;
@@ -961,9 +962,10 @@ WebInspector.ConsoleMessage.MessageType = {
Object: 1,
Trace: 2,
StartGroup: 3,
- EndGroup: 4,
- Assert: 5,
- Result: 6
+ StartGroupCollapsed: 4,
+ EndGroup: 5,
+ Assert: 6,
+ Result: 7
}
WebInspector.ConsoleMessage.MessageLevel = {
@@ -1051,10 +1053,13 @@ WebInspector.ConsoleGroup.prototype = {
addMessage: function(msg)
{
var element = msg.toMessageElement();
-
- if (msg.type === WebInspector.ConsoleMessage.MessageType.StartGroup) {
+
+ if (msg.type === WebInspector.ConsoleMessage.MessageType.StartGroup || msg.type === WebInspector.ConsoleMessage.MessageType.StartGroupCollapsed) {
this.messagesElement.parentNode.insertBefore(element, this.messagesElement);
element.addEventListener("click", this._titleClicked.bind(this), true);
+ var groupElement = element.enclosingNodeOrSelfWithClass("console-group");
+ if (groupElement && msg.type === WebInspector.ConsoleMessage.MessageType.StartGroupCollapsed)
+ groupElement.addStyleClass("collapsed");
} else
this.messagesElement.appendChild(element);
diff --git a/WebCore/inspector/front-end/DOMAgent.js b/WebCore/inspector/front-end/DOMAgent.js
index 3373c04..5bde12f 100644
--- a/WebCore/inspector/front-end/DOMAgent.js
+++ b/WebCore/inspector/front-end/DOMAgent.js
@@ -489,6 +489,7 @@ WebInspector.EventListeners.getEventListenersForNodeAsync = function(node, callb
WebInspector.CSSStyleDeclaration = function(payload)
{
this.id = payload.id;
+ this.parentStyleSheetId = payload.parentStyleSheetId;
this.width = payload.width;
this.height = payload.height;
this.__disabledProperties = {};
@@ -672,6 +673,7 @@ WebInspector.didGetEventListenersForNode = WebInspector.Callback.processCallback
WebInspector.didGetStyles = WebInspector.Callback.processCallback;
WebInspector.didGetAllStyles = WebInspector.Callback.processCallback;
+WebInspector.didGetStyleSheet = WebInspector.Callback.processCallback;
WebInspector.didGetInlineStyle = WebInspector.Callback.processCallback;
WebInspector.didGetComputedStyle = WebInspector.Callback.processCallback;
WebInspector.didApplyStyleText = WebInspector.Callback.processCallback;
diff --git a/WebCore/inspector/front-end/Drawer.js b/WebCore/inspector/front-end/Drawer.js
index 8bf707e..3f827fb 100644
--- a/WebCore/inspector/front-end/Drawer.js
+++ b/WebCore/inspector/front-end/Drawer.js
@@ -40,6 +40,8 @@ WebInspector.Drawer = function()
this.mainStatusBar = document.getElementById("main-status-bar");
this.mainStatusBar.addEventListener("mousedown", this._startStatusBarDragging.bind(this), true);
this.viewStatusBar = document.getElementById("other-drawer-status-bar-items");
+ this._counters = document.getElementById("counters");
+ this._drawerStatusBar = document.getElementById("drawer-status-bar");
}
WebInspector.Drawer.prototype = {
@@ -110,6 +112,15 @@ WebInspector.Drawer.prototype = {
var drawerStatusBar = document.getElementById("drawer-status-bar");
drawerStatusBar.insertBefore(anchoredItems, drawerStatusBar.firstChild);
+ if (this._currentPanelCounters) {
+ var oldRight = this._drawerStatusBar.clientWidth - (this._counters.offsetLeft + this._currentPanelCounters.offsetWidth);
+ var newRight = WebInspector.Panel.counterRightMargin;
+ var rightPadding = (oldRight - newRight);
+ animations.push({element: this._currentPanelCounters, start: {"padding-right": rightPadding}, end: {"padding-right": 0}});
+ this._currentPanelCounters.parentNode.removeChild(this._currentPanelCounters);
+ this.mainStatusBar.appendChild(this._currentPanelCounters);
+ }
+
function animationFinished()
{
if ("updateStatusBarItems" in WebInspector.currentPanel)
@@ -119,6 +130,8 @@ WebInspector.Drawer.prototype = {
delete this._animating;
delete this._currentAnimationInterval;
this.state = (this.fullPanel ? WebInspector.Drawer.State.Full : WebInspector.Drawer.State.Variable);
+ if (this._currentPanelCounters)
+ this._currentPanelCounters.removeAttribute("style");
}
this._currentAnimationInterval = WebInspector.animateStyle(animations, this._animationDuration(), animationFinished.bind(this));
@@ -158,12 +171,26 @@ WebInspector.Drawer.prototype = {
{element: document.getElementById("other-drawer-status-bar-items"), start: {opacity: 1}, end: {opacity: 0}}
];
+ if (this._currentPanelCounters) {
+ var newRight = this._drawerStatusBar.clientWidth - this._counters.offsetLeft;
+ var oldRight = this.mainStatusBar.clientWidth - (this._currentPanelCounters.offsetLeft + this._currentPanelCounters.offsetWidth);
+ var rightPadding = (newRight - oldRight);
+ animations.push({element: this._currentPanelCounters, start: {"padding-right": 0}, end: {"padding-right": rightPadding}});
+ }
+
function animationFinished()
{
WebInspector.currentPanel.resize();
var mainStatusBar = document.getElementById("main-status-bar");
mainStatusBar.insertBefore(anchoredItems, mainStatusBar.firstChild);
mainStatusBar.style.removeProperty("padding-left");
+
+ if (this._currentPanelCounters) {
+ this._currentPanelCounters.setAttribute("style", null);
+ this._currentPanelCounters.parentNode.removeChild(this._currentPanelCounters);
+ this._counters.insertBefore(this._currentPanelCounters, this._counters.firstChild);
+ }
+
document.body.removeStyleClass("drawer-visible");
delete this._animating;
delete this._currentAnimationInterval;
@@ -222,6 +249,22 @@ WebInspector.Drawer.prototype = {
this.fullPanel = false;
},
+ set currentPanelCounters(x)
+ {
+ if (!x) {
+ if (this._currentPanelCounters)
+ this._currentPanelCounters.parentElement.removeChild(this._currentPanelCounters);
+ delete this._currentPanelCounters;
+ return;
+ }
+
+ this._currentPanelCounters = x;
+ if (this.visible)
+ this.mainStatusBar.appendChild(x);
+ else
+ this._counters.insertBefore(x, this._counters.firstChild);
+ },
+
_cancelAnimationIfNeeded: function()
{
if (this._animating) {
diff --git a/WebCore/inspector/front-end/ElementsTreeOutline.js b/WebCore/inspector/front-end/ElementsTreeOutline.js
index 0e943c0..e8fecb0 100644
--- a/WebCore/inspector/front-end/ElementsTreeOutline.js
+++ b/WebCore/inspector/front-end/ElementsTreeOutline.js
@@ -43,7 +43,6 @@ WebInspector.ElementsTreeOutline = function() {
this.focusedDOMNode = null;
this.element.addEventListener("contextmenu", this._contextMenuEventFired.bind(this), true);
- this.element.addEventListener("keydown", this._keyDown.bind(this), true);
}
WebInspector.ElementsTreeOutline.prototype = {
@@ -117,6 +116,11 @@ WebInspector.ElementsTreeOutline.prototype = {
}
},
+ get editing()
+ {
+ return this._editing;
+ },
+
update: function()
{
var selectedNode = this.selectedTreeElement ? this.selectedTreeElement.representedObject : null;
@@ -226,41 +230,6 @@ WebInspector.ElementsTreeOutline.prototype = {
return element;
},
- _keyDown: function(event)
- {
- if (event.target !== this.treeOutline.element)
- return;
-
- var selectedElement = this.selectedTreeElement;
- if (!selectedElement)
- return;
-
- if (event.keyCode === WebInspector.KeyboardShortcut.Keys.Backspace.code ||
- event.keyCode === WebInspector.KeyboardShortcut.Keys.Delete.code) {
- var startTagTreeElement = this.findTreeElement(selectedElement.representedObject);
- if (selectedElement !== startTagTreeElement)
- selectedElement = startTagTreeElement;
- selectedElement.remove();
- event.preventDefault();
- event.stopPropagation();
- return;
- }
-
- // On Enter or Return start editing the first attribute
- // or create a new attribute on the selected element.
- if (isEnterKey(event)) {
- if (this._editing)
- return;
-
- selectedElement._startEditing();
-
- // prevent a newline from being immediately inserted
- event.preventDefault();
- event.stopPropagation();
- return;
- }
- },
-
_onmousedown: function(event)
{
var element = this._treeElementFromEvent(event);
@@ -686,6 +655,26 @@ WebInspector.ElementsTreeElement.prototype = {
this.treeOutline.suppressRevealAndSelect = false;
},
+ ondelete: function()
+ {
+ var startTagTreeElement = this.treeOutline.findTreeElement(this.representedObject);
+ startTagTreeElement ? startTagTreeElement.remove() : this.remove();
+ return true;
+ },
+
+ onenter: function()
+ {
+ // On Enter or Return start editing the first attribute
+ // or create a new attribute on the selected element.
+ if (this.treeOutline.editing)
+ return false;
+
+ this._startEditing();
+
+ // prevent a newline from being immediately inserted
+ return true;
+ },
+
selectOnMouseDown: function(event)
{
TreeElement.prototype.selectOnMouseDown.call(this, event);
diff --git a/WebCore/inspector/front-end/Object.js b/WebCore/inspector/front-end/Object.js
index 74fb56e..27e2144 100644
--- a/WebCore/inspector/front-end/Object.js
+++ b/WebCore/inspector/front-end/Object.js
@@ -50,7 +50,7 @@ WebInspector.Object.prototype = {
delete this._listeners[eventType];
},
- dispatchEventToListeners: function(eventType) {
+ dispatchEventToListeners: function(eventType, eventData) {
if (!("_listeners" in this) || !(eventType in this._listeners))
return;
@@ -66,7 +66,7 @@ WebInspector.Object.prototype = {
this.defaultPrevented = true;
}
- var event = {target: this, type: eventType, defaultPrevented: false};
+ var event = {target: this, type: eventType, data: eventData, defaultPrevented: false};
event.stopPropagation = stopPropagation;
event.preventDefault = preventDefault;
diff --git a/WebCore/inspector/front-end/Panel.js b/WebCore/inspector/front-end/Panel.js
index 6dbc60e..9fd0a60 100644
--- a/WebCore/inspector/front-end/Panel.js
+++ b/WebCore/inspector/front-end/Panel.js
@@ -33,6 +33,9 @@ WebInspector.Panel = function()
this.element.addStyleClass("panel");
}
+// Should by in sync with style declarations.
+WebInspector.Panel.counterRightMargin = 25;
+
WebInspector.Panel.prototype = {
get toolbarItem()
{
@@ -313,6 +316,7 @@ WebInspector.Panel.prototype = {
this.sidebarElement.appendChild(this.sidebarTreeElement);
this.sidebarTree = new TreeOutline(this.sidebarTreeElement);
+ this.sidebarTree.panel = this;
},
_startSidebarDragging: function(event)
diff --git a/WebCore/inspector/front-end/ProfilesPanel.js b/WebCore/inspector/front-end/ProfilesPanel.js
index cca9e33..1980fa5 100644
--- a/WebCore/inspector/front-end/ProfilesPanel.js
+++ b/WebCore/inspector/front-end/ProfilesPanel.js
@@ -113,6 +113,9 @@ WebInspector.ProfilesPanel = function()
this.enableToggleButton = new WebInspector.StatusBarButton("", "enable-toggle-status-bar-item");
this.enableToggleButton.addEventListener("click", this._toggleProfiling.bind(this), false);
+ this.clearResultsButton = new WebInspector.StatusBarButton(WebInspector.UIString("Clear CPU profiles."), "clear-status-bar-item");
+ this.clearResultsButton.addEventListener("click", this._clearProfiles.bind(this), false);
+
this.profileViewStatusBarItemsContainer = document.createElement("div");
this.profileViewStatusBarItemsContainer.id = "profile-view-status-bar-items";
@@ -151,7 +154,7 @@ WebInspector.ProfilesPanel.prototype = {
items.push(button.element);
}
}
- items.push(this.profileViewStatusBarItemsContainer);
+ items.push(this.clearResultsButton.element, this.profileViewStatusBarItemsContainer);
return items;
},
@@ -216,6 +219,12 @@ WebInspector.ProfilesPanel.prototype = {
this.welcomeView.show();
},
+ _clearProfiles: function()
+ {
+ InspectorBackend.clearProfiles();
+ this.reset();
+ },
+
registerProfileType: function(profileType)
{
this._profileTypesByIdMap[profileType.id] = profileType;
@@ -337,6 +346,14 @@ WebInspector.ProfilesPanel.prototype = {
delete this._profileGroups[profileTitleKey];
sidebarParent.removeChild(profile._profilesTreeElement);
+
+ if (!profile.isTemporary)
+ InspectorBackend.removeProfile(profile.uid);
+
+ // No other item will be selected if there aren't any other profiles, so
+ // make sure that view gets cleared when the last profile is removed.
+ if (!this._profiles.length)
+ this.closeVisibleView();
},
showProfile: function(profile)
@@ -466,6 +483,7 @@ WebInspector.ProfilesPanel.prototype = {
for (var typeId in this._profileTypeButtonsByIdMap)
this._profileTypeButtonsByIdMap[typeId].removeStyleClass("hidden");
this.profileViewStatusBarItemsContainer.removeStyleClass("hidden");
+ this.clearResultsButton.element.removeStyleClass("hidden");
this.panelEnablerView.visible = false;
} else {
this.enableToggleButton.title = WebInspector.UIString("Profiling disabled. Click to enable.");
@@ -473,6 +491,7 @@ WebInspector.ProfilesPanel.prototype = {
for (var typeId in this._profileTypeButtonsByIdMap)
this._profileTypeButtonsByIdMap[typeId].addStyleClass("hidden");
this.profileViewStatusBarItemsContainer.addStyleClass("hidden");
+ this.clearResultsButton.element.addStyleClass("hidden");
this.panelEnablerView.visible = true;
}
},
@@ -540,7 +559,13 @@ WebInspector.ProfileSidebarTreeElement = function(profile)
WebInspector.ProfileSidebarTreeElement.prototype = {
onselect: function()
{
- WebInspector.panels.profiles.showProfile(this.profile);
+ this.treeOutline.panel.showProfile(this.profile);
+ },
+
+ ondelete: function()
+ {
+ this.treeOutline.panel.removeProfileHeader(this.profile);
+ return true;
},
get mainTitle()
diff --git a/WebCore/inspector/front-end/Resource.js b/WebCore/inspector/front-end/Resource.js
index 739dd73..279e3af 100644
--- a/WebCore/inspector/front-end/Resource.js
+++ b/WebCore/inspector/front-end/Resource.js
@@ -37,63 +37,6 @@ WebInspector.Resource = function(identifier, url)
this._category = WebInspector.resourceCategories.other;
}
-WebInspector.Resource.StatusText = {
- 100: "Continue",
- 101: "Switching Protocols",
- 102: "Processing (WebDav)",
- 200: "OK",
- 201: "Created",
- 202: "Accepted",
- 203: "Non-Authoritative Information",
- 204: "No Content",
- 205: "Reset Content",
- 206: "Partial Content",
- 207: "Multi-Status (WebDav)",
- 300: "Multiple Choices",
- 301: "Moved Permanently",
- 302: "Found",
- 303: "See Other",
- 304: "Not Modified",
- 305: "Use Proxy",
- 306: "Switch Proxy",
- 307: "Temporary",
- 400: "Bad Request",
- 401: "Unauthorized",
- 402: "Payment Required",
- 403: "Forbidden",
- 404: "Not Found",
- 405: "Method Not Allowed",
- 406: "Not Acceptable",
- 407: "Proxy Authentication Required",
- 408: "Request Timeout",
- 409: "Conflict",
- 410: "Gone",
- 411: "Length Required",
- 412: "Precondition Failed",
- 413: "Request Entity Too Large",
- 414: "Request-URI Too Long",
- 415: "Unsupported Media Type",
- 416: "Requested Range Not Satisfiable",
- 417: "Expectation Failed",
- 418: "I'm a teapot",
- 422: "Unprocessable Entity (WebDav)",
- 423: "Locked (WebDav)",
- 424: "Failed Dependency (WebDav)",
- 425: "Unordered Collection",
- 426: "Upgrade Required",
- 449: "Retry With",
- 500: "Internal Server Error",
- 501: "Not Implemented",
- 502: "Bad Gateway",
- 503: "Service Unavailable",
- 504: "Gateway Timeout",
- 505: "HTTP Version Not Supported",
- 506: "Variant Also Negotiates",
- 507: "Insufficient Storage (WebDav)",
- 509: "Bandwidth Limit Exceeded",
- 510: "Not Extended"
-};
-
// Keep these in sync with WebCore::InspectorResource::Type
WebInspector.Resource.Type = {
Document: 0,
@@ -622,9 +565,3 @@ WebInspector.Resource.CompareByTransferSize = function(a, b)
{
return a.transferSize - b.transferSize;
}
-
-
-WebInspector.Resource.StatusTextForCode = function(code)
-{
- return code ? code + " " + WebInspector.Resource.StatusText[code] : "";
-}
diff --git a/WebCore/inspector/front-end/ResourceView.js b/WebCore/inspector/front-end/ResourceView.js
index fac57b4..ffcb9b9 100644
--- a/WebCore/inspector/front-end/ResourceView.js
+++ b/WebCore/inspector/front-end/ResourceView.js
@@ -35,28 +35,17 @@ WebInspector.ResourceView = function(resource)
this.resource = resource;
- this.tabsElement = document.createElement("div");
- this.tabsElement.className = "scope-bar";
- this.element.appendChild(this.tabsElement);
-
- this.headersTabElement = document.createElement("li");
- this.headersTabElement.textContent = WebInspector.UIString("Headers");
- this.contentTabElement = document.createElement("li");
- this.contentTabElement.textContent = WebInspector.UIString("Content");
-
- this.tabsElement.appendChild(this.headersTabElement);
- this.tabsElement.appendChild(this.contentTabElement);
-
- this.headersTabElement.addEventListener("click", this._selectHeadersTab.bind(this, true), false);
- this.contentTabElement.addEventListener("click", this.selectContentTab.bind(this, true), false);
+ this.tabbedPane = new WebInspector.TabbedPane(this.element);
this.headersElement = document.createElement("div");
this.headersElement.className = "resource-view-headers";
- this.element.appendChild(this.headersElement);
+ this.tabbedPane.appendTab("headers", WebInspector.UIString("Headers"), this.headersElement, this._selectHeadersTab.bind(this, true));
- this.contentElement = document.createElement("div");
- this.contentElement.className = "resource-view-content";
- this.element.appendChild(this.contentElement);
+ if (this.hasContentTab()) {
+ this.contentElement = document.createElement("div");
+ this.contentElement.className = "resource-view-content";
+ this.tabbedPane.appendTab("content", WebInspector.UIString("Content"), this.contentElement, this.selectContentTab.bind(this, true));
+ }
this.headersListElement = document.createElement("ol");
this.headersListElement.className = "outline-disclosure";
@@ -116,11 +105,10 @@ WebInspector.ResourceView = function(resource)
resource.addEventListener("finished", this._refreshHTTPInformation, this);
this._refreshURL();
+ this._refreshQueryString();
this._refreshRequestHeaders();
this._refreshResponseHeaders();
this._refreshHTTPInformation();
- if (!this.hasContentTab())
- this.contentTabElement.addStyleClass("hidden");
this._selectTab();
}
@@ -167,10 +155,7 @@ WebInspector.ResourceView.prototype = {
{
if (updatePrefs)
WebInspector.settings.resourceViewTab = "headers";
- this.headersTabElement.addStyleClass("selected");
- this.contentTabElement.removeStyleClass("selected");
- this.headersElement.removeStyleClass("hidden");
- this.contentElement.addStyleClass("hidden");
+ this.tabbedPane.selectTabById("headers");
},
selectContentTab: function(updatePrefs)
@@ -188,10 +173,7 @@ WebInspector.ResourceView.prototype = {
_innerSelectContentTab: function()
{
- this.contentTabElement.addStyleClass("selected");
- this.headersTabElement.removeStyleClass("selected");
- this.contentElement.removeStyleClass("hidden");
- this.headersElement.addStyleClass("hidden");
+ this.tabbedPane.selectTabById("content");
if ("resize" in this)
this.resize();
this.contentTabSelected();
@@ -245,8 +227,7 @@ WebInspector.ResourceView.prototype = {
{
this.requestPayloadTreeElement.removeChildren();
- var title = "<div class=\"header-name\">&nbsp;</div>";
- title += "<div class=\"raw-form-data header-value source-code\">" + formData.escapeHTML() + "</div>";
+ var title = "<div class=\"raw-form-data header-value source-code\">" + formData.escapeHTML() + "</div>";
var parmTreeElement = new TreeElement(title, null, false);
parmTreeElement.selectable = false;
this.requestPayloadTreeElement.appendChild(parmTreeElement);
@@ -342,13 +323,15 @@ WebInspector.ResourceView.prototype = {
statusImageSource = "Images/warningOrangeDot.png";
else
statusImageSource = "Images/errorRedDot.png";
- statusCodeImage = "<img class=\"resource-status-image\" src=\"" + statusImageSource + "\" title=\"" + WebInspector.Resource.StatusTextForCode(this.resource.statusCode) + "\">";
+
+ var statusTextEscaped = this.resource.statusCode + " " + this.resource.statusText.escapeHTML();
+ statusCodeImage = "<img class=\"resource-status-image\" src=\"" + statusImageSource + "\" title=\"" + statusTextEscaped + "\">";
requestMethodElement.title = "<div class=\"header-name\">" + WebInspector.UIString("Request Method") + ":</div>" +
"<div class=\"header-value source-code\">" + this.resource.requestMethod + "</div>";
statusCodeElement.title = "<div class=\"header-name\">" + WebInspector.UIString("Status Code") + ":</div>" +
- statusCodeImage + "<div class=\"header-value source-code\">" + WebInspector.Resource.StatusTextForCode(this.resource.statusCode) + "</div>";
+ statusCodeImage + "<div class=\"header-value source-code\">" + statusTextEscaped + "</div>";
}
},
diff --git a/WebCore/inspector/front-end/ScriptView.js b/WebCore/inspector/front-end/ScriptView.js
index cb10889..1a24211 100644
--- a/WebCore/inspector/front-end/ScriptView.js
+++ b/WebCore/inspector/front-end/ScriptView.js
@@ -73,8 +73,7 @@ WebInspector.ScriptView.prototype = {
_addBreakpoint: function(line)
{
- var breakpoint = new WebInspector.Breakpoint(this.script.sourceURL, line, this.script.sourceID);
- WebInspector.panels.scripts.addBreakpoint(breakpoint);
+ WebInspector.breakpointManager.addBreakpoint(this.script.sourceID, this.script.sourceURL, line, true, "");
},
_editLineComplete: function(newBody)
diff --git a/WebCore/inspector/front-end/ScriptsPanel.js b/WebCore/inspector/front-end/ScriptsPanel.js
index 6c817ac..755daff 100644
--- a/WebCore/inspector/front-end/ScriptsPanel.js
+++ b/WebCore/inspector/front-end/ScriptsPanel.js
@@ -164,12 +164,17 @@ WebInspector.ScriptsPanel = function()
this._pauseOnExceptionButton = new WebInspector.StatusBarButton("", "scripts-pause-on-exceptions-status-bar-item", 3);
this._pauseOnExceptionButton.addEventListener("click", this._togglePauseOnExceptions.bind(this), false);
this._pauseOnExceptionButton.state = WebInspector.ScriptsPanel.PauseOnExceptionsState.DontPauseOnExceptions;
+ this._pauseOnExceptionButton.title = WebInspector.UIString("Don't pause on exceptions.\nClick to Pause on all exceptions.");
this._registerShortcuts();
this._debuggerEnabled = Preferences.debuggerAlwaysEnabled;
if (Preferences.debuggerAlwaysEnabled)
this._attachDebuggerWhenShown = true;
+
+ WebInspector.breakpointManager.addEventListener("breakpoint-added", this._breakpointAdded, this);
+ WebInspector.breakpointManager.addEventListener("breakpoint-removed", this._breakpointRemoved, this);
+
this.reset();
}
@@ -284,13 +289,13 @@ WebInspector.ScriptsPanel.prototype = {
delete resource._scriptsPendingResourceLoad;
},
- addBreakpoint: function(breakpoint)
+ _breakpointAdded: function(event)
{
+ var breakpoint = event.data;
+
if (!this.breakpointsActivated)
this._toggleBreakpointsClicked();
- this.sidebarPanes.breakpoints.addBreakpoint(breakpoint);
-
var sourceFrame;
if (breakpoint.url) {
var resource = WebInspector.resourceURLMap[breakpoint.url];
@@ -307,9 +312,9 @@ WebInspector.ScriptsPanel.prototype = {
sourceFrame.addBreakpoint(breakpoint);
},
- removeBreakpoint: function(breakpoint)
+ _breakpointRemoved: function(event)
{
- this.sidebarPanes.breakpoints.removeBreakpoint(breakpoint);
+ var breakpoint = event.data;
var sourceFrame;
if (breakpoint.url) {
@@ -338,22 +343,18 @@ WebInspector.ScriptsPanel.prototype = {
return;
// Need to clear breakpoints and re-create them later when editing source.
- var breakpointsPanel = this.sidebarPanes.breakpoints;
- var newBreakpoints = [];
- for (var id in breakpointsPanel.breakpoints) {
- var breakpoint = breakpointsPanel.breakpoints[id];
- breakpointsPanel.removeBreakpoint(breakpoint);
- newBreakpoints.push(breakpoint);
- }
+ var breakpoints = WebInspector.breakpointManager.breakpointsForSourceID(sourceID);
+ for (var i = 0; i < breakpoints.length; ++i)
+ WebInspector.breakpointManager.removeBreakpoint(breakpoints[i]);
function mycallback(newBody)
{
callback(newBody);
- for (var i = 0; i < newBreakpoints.length; ++i) {
- var breakpoint = newBreakpoints[i];
+ for (var i = 0; i < breakpoints.length; ++i) {
+ var breakpoint = breakpoints[i];
if (breakpoint.line >= line)
breakpoint.line += linesCountToShift;
- this.addBreakpoint(breakpoint);
+ WebInspector.breakpointManager.addBreakpoint(breakpoint);
}
};
var callbackId = WebInspector.Callback.wrap(mycallback.bind(this))
@@ -611,14 +612,10 @@ WebInspector.ScriptsPanel.prototype = {
return null;
view = WebInspector.panels.resources.resourceViewForResource(scriptOrResource);
view.headersVisible = false;
- var breakpoints = this.sidebarPanes.breakpoints.breakpoints;
- for (var breakpointId in breakpoints) {
- var breakpoint = breakpoints[breakpointId];
- if (breakpoint.url === scriptOrResource.url) {
- var sourceFrame = this._sourceFrameForScriptOrResource(scriptOrResource);
- sourceFrame.addBreakpoint(breakpoint);
- }
- }
+ var sourceFrame = this._sourceFrameForScriptOrResource(scriptOrResource);
+ var breakpoints = WebInspector.breakpointManager.breakpointsForURL(scriptOrResource.url);
+ for (var i = 0; i < breakpoints.length; ++i)
+ sourceFrame.addBreakpoint(breakpoints[i]);
} else if (scriptOrResource instanceof WebInspector.Script)
view = this.scriptViewForScript(scriptOrResource);
diff --git a/WebCore/inspector/front-end/SourceFrame.js b/WebCore/inspector/front-end/SourceFrame.js
index 953da11..5e529ae 100644
--- a/WebCore/inspector/front-end/SourceFrame.js
+++ b/WebCore/inspector/front-end/SourceFrame.js
@@ -428,7 +428,7 @@ WebInspector.SourceFrame.prototype = {
contextMenu.appendItem(WebInspector.UIString("Add Conditional Breakpoint…"), addConditionalBreakpoint.bind(this));
} else {
// This row has a breakpoint, we want to show edit and remove breakpoint, and either disable or enable.
- contextMenu.appendItem(WebInspector.UIString("Remove Breakpoint"), WebInspector.panels.scripts.removeBreakpoint.bind(WebInspector.panels.scripts, breakpoint));
+ contextMenu.appendItem(WebInspector.UIString("Remove Breakpoint"), this._removeBreakpointDelegate.bind(this, breakpoint));
contextMenu.appendItem(WebInspector.UIString("Edit Breakpoint…"), this._editBreakpointCondition.bind(this, breakpoint));
if (breakpoint.enabled)
contextMenu.appendItem(WebInspector.UIString("Disable Breakpoint"), function() { breakpoint.enabled = false; });
diff --git a/WebCore/inspector/front-end/SourceView.js b/WebCore/inspector/front-end/SourceView.js
index 3621187..f01c241 100644
--- a/WebCore/inspector/front-end/SourceView.js
+++ b/WebCore/inspector/front-end/SourceView.js
@@ -51,6 +51,8 @@ WebInspector.SourceView.prototype = {
{
WebInspector.ResourceView.prototype.show.call(this, parentElement);
this.sourceFrame.visible = true;
+ if (this.localSourceFrame)
+ this.localSourceFrame.visible = true;
this.resize();
},
@@ -58,6 +60,8 @@ WebInspector.SourceView.prototype = {
{
WebInspector.View.prototype.hide.call(this);
this.sourceFrame.visible = false;
+ if (this.localSourceFrame)
+ this.localSourceFrame.visible = false;
this._currentSearchResultIndex = -1;
},
@@ -65,6 +69,8 @@ WebInspector.SourceView.prototype = {
{
if (this.sourceFrame)
this.sourceFrame.resize();
+ if (this.localSourceFrame)
+ this.localSourceFrame.resize();
},
setupSourceFrameIfNeeded: function()
@@ -112,16 +118,12 @@ WebInspector.SourceView.prototype = {
_addBreakpoint: function(line)
{
var sourceID = this._sourceIDForLine(line);
- if (WebInspector.panels.scripts) {
- var breakpoint = new WebInspector.Breakpoint(this.resource.url, line, sourceID);
- WebInspector.panels.scripts.addBreakpoint(breakpoint);
- }
+ WebInspector.breakpointManager.addBreakpoint(sourceID, this.resource.url, line, true, "");
},
_removeBreakpoint: function(breakpoint)
{
- if (WebInspector.panels.scripts)
- WebInspector.panels.scripts.removeBreakpoint(breakpoint);
+ WebInspector.breakpointManager.removeBreakpoint(breakpoint);
},
_editLine: function(line, newContent)
@@ -194,6 +196,25 @@ WebInspector.SourceView.prototype = {
findSearchMatches.call(this, query, finishedCallback);
},
+ updateLocalContent: function(content, mimeType)
+ {
+ if (!this.localContentElement) {
+ this.localContentElement = document.createElement("div");
+ this.localContentElement.className = "resource-view-content";
+ this.tabbedPane.appendTab("local", WebInspector.UIString("Local"), this.localContentElement, this.selectLocalContentTab.bind(this));
+ this.localSourceFrame = new WebInspector.SourceFrame(this.localContentElement, this._addBreakpoint.bind(this), this._removeBreakpoint.bind(this));
+ }
+ this.localSourceFrame.setContent(mimeType, content, "");
+ },
+
+ selectLocalContentTab: function()
+ {
+ this.tabbedPane.selectTabById("local");
+ this.localSourceFrame.visible = true;
+ if ("resize" in this)
+ this.resize();
+ },
+
jumpToFirstSearchResult: function()
{
if (!this._searchResults || !this._searchResults.length)
diff --git a/WebCore/inspector/front-end/TabbedPane.js b/WebCore/inspector/front-end/TabbedPane.js
new file mode 100644
index 0000000..6acd163
--- /dev/null
+++ b/WebCore/inspector/front-end/TabbedPane.js
@@ -0,0 +1,81 @@
+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+WebInspector.TabbedPane = function(element)
+{
+ this.element = element || document.createElement("div");
+
+ this.tabsElement = document.createElement("div");
+ this.tabsElement.className = "scope-bar";
+ this.element.appendChild(this.tabsElement);
+
+ this._tabObjects = {};
+}
+
+WebInspector.TabbedPane.prototype = {
+ appendTab: function(id, tabTitle, contentElement, tabClickListener)
+ {
+ var tabElement = document.createElement("li");
+ tabElement.textContent = tabTitle;
+ tabElement.addEventListener("click", tabClickListener, false);
+ this.tabsElement.appendChild(tabElement);
+ this.element.appendChild(contentElement);
+ this._tabObjects[id] = {tab: tabElement, content: contentElement};
+ },
+
+ tabObjectForId: function(id)
+ {
+ return this._tabObjects[id];
+ },
+
+ hideTab: function(id)
+ {
+ var tabObject = this._tabObjects[id];
+ if (tabObject)
+ tabObject.tab.addStyleClass("hidden");
+ },
+
+ selectTabById: function(selectId)
+ {
+ var selected = false;
+ for (var id in this._tabObjects) {
+ var tabObject = this._tabObjects[id];
+ if (id === selectId) {
+ selected = true;
+ tabObject.tab.addStyleClass("selected");
+ tabObject.content.removeStyleClass("hidden");
+ } else {
+ tabObject.tab.removeStyleClass("selected");
+ tabObject.content.addStyleClass("hidden");
+ }
+ }
+ return selected;
+ }
+}
diff --git a/WebCore/inspector/front-end/TextViewer.js b/WebCore/inspector/front-end/TextViewer.js
index 1de1c12..cd06072 100644
--- a/WebCore/inspector/front-end/TextViewer.js
+++ b/WebCore/inspector/front-end/TextViewer.js
@@ -483,6 +483,9 @@ WebInspector.TextViewer.prototype = {
if (selection.isCollapsed)
return null;
var selectionRange = selection.getRangeAt(0);
+ // Selection may be outside of the viewer.
+ if (!this.element.isAncestor(selectionRange.startContainer) || !this.element.isAncestor(selectionRange.endContainer))
+ return null;
var start = this._selectionToPosition(selectionRange.startContainer, selectionRange.startOffset);
var end = this._selectionToPosition(selectionRange.endContainer, selectionRange.endOffset);
return new WebInspector.TextRange(start.line, start.column, end.line, end.column);
diff --git a/WebCore/inspector/front-end/TimelineOverviewPane.js b/WebCore/inspector/front-end/TimelineOverviewPane.js
index 09431dc..3e83f62 100644
--- a/WebCore/inspector/front-end/TimelineOverviewPane.js
+++ b/WebCore/inspector/front-end/TimelineOverviewPane.js
@@ -30,32 +30,26 @@
WebInspector.TimelineOverviewPane = function(categories)
{
- this.element = document.createElement("div");
- this.element.id = "timeline-overview-panel";
-
this._categories = categories;
- this._overviewSidebarElement = document.createElement("div");
- this._overviewSidebarElement.id = "timeline-overview-sidebar";
- this.element.appendChild(this._overviewSidebarElement);
-
- var overviewTreeElement = document.createElement("ol");
- overviewTreeElement.className = "sidebar-tree";
- this._overviewSidebarElement.appendChild(overviewTreeElement);
- var sidebarTree = new TreeOutline(overviewTreeElement);
-
- var categoriesTreeElement = new WebInspector.SidebarSectionTreeElement(WebInspector.UIString("TIMELINES"), {}, true);
- categoriesTreeElement.expanded = true;
- sidebarTree.appendChild(categoriesTreeElement);
+
+ this.statusBarFilters = document.createElement("div");
+ this.statusBarFilters.id = "timeline-view-status-bar-items";
+ this.statusBarFilters.addStyleClass("status-bar-item");
for (var categoryName in this._categories) {
var category = this._categories[categoryName];
- categoriesTreeElement.appendChild(new WebInspector.TimelineCategoryTreeElement(category, this._onCheckboxClicked.bind(this, category)));
+ this.statusBarFilters.appendChild(this._createTimelineCategoryStatusBarCheckbox(category, this._onCheckboxClicked.bind(this, category)));
}
this._overviewGrid = new WebInspector.TimelineGrid();
this._overviewGrid.element.id = "timeline-overview-grid";
- this._overviewGrid.itemsGraphsElement.id = "timeline-overview-graphs";
+ this._overviewGrid.itemsGraphsElement.id = "timeline-overview-timelines";
this._overviewGrid.element.addEventListener("mousedown", this._dragWindow.bind(this), true);
- this.element.appendChild(this._overviewGrid.element);
+
+ this._heapGraph = new WebInspector.HeapGraph();
+ this._heapGraph.element.id = "timeline-overview-memory";
+ this._overviewGrid.element.insertBefore(this._heapGraph.element, this._overviewGrid.itemsGraphsElement);
+
+ this.element = this._overviewGrid.element;
this._categoryGraphs = {};
var i = 0;
@@ -90,10 +84,6 @@ WebInspector.TimelineOverviewPane = function(categories)
this._overviewCalculator = new WebInspector.TimelineOverviewCalculator();
- var separatorElement = document.createElement("div");
- separatorElement.id = "timeline-overview-separator";
- this.element.appendChild(separatorElement);
-
this.windowLeft = 0.0;
this.windowRight = 1.0;
}
@@ -101,6 +91,17 @@ WebInspector.TimelineOverviewPane = function(categories)
WebInspector.TimelineOverviewPane.minSelectableSize = 12;
WebInspector.TimelineOverviewPane.prototype = {
+ showTimelines: function(event) {
+ this._heapGraph.hide();
+ this._overviewGrid.itemsGraphsElement.removeStyleClass("hidden");
+ },
+
+ showMemoryGraph: function(records) {
+ this._heapGraph.show();
+ this._heapGraph.update(records);
+ this._overviewGrid.itemsGraphsElement.addStyleClass("hidden");
+ },
+
_onCheckboxClicked: function (category, event) {
if (event.target.checked)
category.hidden = false;
@@ -110,6 +111,16 @@ WebInspector.TimelineOverviewPane.prototype = {
this.dispatchEventToListeners("filter changed");
},
+ _forAllRecords: function(recordsArray, callback)
+ {
+ if (!recordsArray)
+ return;
+ for (var i = 0; i < recordsArray.length; ++i) {
+ callback(recordsArray[i]);
+ this._forAllRecords(recordsArray[i].children, callback);
+ }
+ },
+
update: function(records, showShortEvents)
{
this._showShortEvents = showShortEvents;
@@ -120,19 +131,9 @@ WebInspector.TimelineOverviewPane.prototype = {
this._categoryGraphs[category].clearChunks();
}
- function forAllRecords(recordsArray, callback)
- {
- if (!recordsArray)
- return;
- for (var i = 0; i < recordsArray.length; ++i) {
- callback(recordsArray[i]);
- forAllRecords(recordsArray[i].children, callback);
- }
- }
-
// Create sparse arrays with 101 cells each to fill with chunks for a given category.
this._overviewCalculator.reset();
- forAllRecords(records, this._overviewCalculator.updateBoundaries.bind(this._overviewCalculator));
+ this._forAllRecords(records, this._overviewCalculator.updateBoundaries.bind(this._overviewCalculator));
function markTimeline(record)
{
@@ -145,7 +146,7 @@ WebInspector.TimelineOverviewPane.prototype = {
for (var j = Math.round(percentages.start); j <= end; ++j)
timelines[categoryName][j] = true;
}
- forAllRecords(records, markTimeline.bind(this));
+ this._forAllRecords(records, markTimeline.bind(this));
// Convert sparse arrays to continuous segments, render graphs for each.
for (var category in this._categories) {
@@ -168,6 +169,11 @@ WebInspector.TimelineOverviewPane.prototype = {
chunkStart = -1;
}
}
+
+ this._heapGraph.setSize(this._overviewGrid.element.offsetWidth, 60);
+ if (this._heapGraph.visible)
+ this._heapGraph.update(records);
+
this._overviewGrid.updateDividers(true, this._overviewCalculator);
},
@@ -188,12 +194,7 @@ WebInspector.TimelineOverviewPane.prototype = {
this._overviewGrid.addEventDividers(dividers);
},
- setSidebarWidth: function(width)
- {
- this._overviewSidebarElement.style.width = width + "px";
- },
-
- updateMainViewWidth: function(width)
+ updateMainViewWidth: function(width, records)
{
this._overviewGrid.element.style.left = width + "px";
},
@@ -328,7 +329,32 @@ WebInspector.TimelineOverviewPane.prototype = {
_endWindowDragging: function(event)
{
WebInspector.elementDragEnd(event);
+ },
+
+ _createTimelineCategoryStatusBarCheckbox: function(category, onCheckboxClicked)
+ {
+ var labelContainer = document.createElement("div");
+ labelContainer.addStyleClass("timeline-category-statusbar-item");
+ labelContainer.addStyleClass("timeline-category-" + category.name);
+ labelContainer.addStyleClass("status-bar-item");
+
+ var label = document.createElement("label");
+ var checkElement = document.createElement("input");
+ checkElement.type = "checkbox";
+ checkElement.className = "timeline-category-checkbox";
+ checkElement.checked = true;
+ checkElement.addEventListener("click", onCheckboxClicked);
+ label.appendChild(checkElement);
+
+ var typeElement = document.createElement("span");
+ typeElement.className = "type";
+ typeElement.textContent = category.title;
+ label.appendChild(typeElement);
+
+ labelContainer.appendChild(label);
+ return labelContainer;
}
+
}
WebInspector.TimelineOverviewPane.prototype.__proto__ = WebInspector.Object.prototype;
@@ -377,41 +403,6 @@ WebInspector.TimelineOverviewCalculator.prototype = {
}
-WebInspector.TimelineCategoryTreeElement = function(category, onCheckboxClicked)
-{
- this._category = category;
- this._onCheckboxClicked = onCheckboxClicked;
- // Pass an empty title, the title gets made later in onattach.
- TreeElement.call(this, "", null, false);
-}
-
-WebInspector.TimelineCategoryTreeElement.prototype = {
- onattach: function()
- {
- this.listItemElement.removeChildren();
- this.listItemElement.addStyleClass("timeline-category-tree-item");
- this.listItemElement.addStyleClass("timeline-category-" + this._category.name);
-
- var label = document.createElement("label");
-
- var checkElement = document.createElement("input");
- checkElement.type = "checkbox";
- checkElement.className = "timeline-category-checkbox";
- checkElement.checked = true;
- checkElement.addEventListener("click", this._onCheckboxClicked);
- label.appendChild(checkElement);
-
- var typeElement = document.createElement("span");
- typeElement.className = "type";
- typeElement.textContent = this._category.title;
- label.appendChild(typeElement);
-
- this.listItemElement.appendChild(label);
- }
-}
-
-WebInspector.TimelineCategoryTreeElement.prototype.__proto__ = TreeElement.prototype;
-
WebInspector.TimelineCategoryGraph = function(category, isEven)
{
this._category = category;
@@ -497,3 +488,113 @@ WebInspector.TimelinePanel.WindowSelector.prototype = {
}
}
+WebInspector.HeapGraph = function() {
+ this._canvas = document.createElement("canvas");
+
+ this._maxHeapSizeLabel = document.createElement("div");
+ this._maxHeapSizeLabel.addStyleClass("memory-graph-label");
+
+ this._element = document.createElement("div");
+ this._element.addStyleClass("hidden");
+ this._element.appendChild(this._canvas);
+ this._element.appendChild(this._maxHeapSizeLabel);
+}
+
+WebInspector.HeapGraph.prototype = {
+ get element() {
+ // return this._canvas;
+ return this._element;
+ },
+
+ get visible() {
+ return !this.element.hasStyleClass("hidden");
+ },
+
+ show: function() {
+ this.element.removeStyleClass("hidden");
+ },
+
+ hide: function() {
+ this.element.addStyleClass("hidden");
+ },
+
+ setSize: function(w, h) {
+ this._canvas.width = w;
+ this._canvas.height = h - 5;
+ },
+
+ update: function(records)
+ {
+ if (!records.length)
+ return;
+
+ var maxTotalHeapSize = 0;
+ var minTime;
+ var maxTime;
+ this._forAllRecords(records, function(r) {
+ if (r.totalHeapSize && r.totalHeapSize > maxTotalHeapSize)
+ maxTotalHeapSize = r.totalHeapSize;
+
+ if (typeof minTime === "undefined" || r.startTime < minTime)
+ minTime = r.startTime;
+ if (typeof maxTime === "undefined" || r.endTime > maxTime)
+ maxTime = r.endTime;
+ });
+
+ var width = this._canvas.width;
+ var height = this._canvas.height;
+ var xFactor = width / (maxTime - minTime);
+ var yFactor = height / maxTotalHeapSize;
+
+ var histogram = new Array(width);
+ this._forAllRecords(records, function(r) {
+ if (!r.usedHeapSize)
+ return;
+ var x = Math.round((r.endTime - minTime) * xFactor);
+ var y = Math.round(r.usedHeapSize * yFactor);
+ histogram[x] = Math.max(histogram[x] || 0, y);
+ });
+
+ var ctx = this._canvas.getContext("2d");
+ this._clear(ctx);
+
+ // +1 so that the border always fit into the canvas area.
+ height = height + 1;
+
+ ctx.beginPath();
+ var initialY = 0;
+ for (var k = 0; k < histogram.length; k++) {
+ if (histogram[k]) {
+ initialY = histogram[k];
+ break;
+ }
+ }
+ ctx.moveTo(0, height - initialY);
+
+ for (var x = 0; x < histogram.length; x++) {
+ if (!histogram[x])
+ continue;
+ ctx.lineTo(x, height - histogram[x]);
+ }
+
+ ctx.lineWidth = 0.5;
+ ctx.strokeStyle = "rgba(20,0,0,0.8)";
+ ctx.stroke();
+
+ ctx.fillStyle = "rgba(214,225,254, 0.8);";
+ ctx.lineTo(width, 60);
+ ctx.lineTo(0, 60);
+ ctx.lineTo(0, height - initialY);
+ ctx.fill();
+ ctx.closePath();
+
+ this._maxHeapSizeLabel.textContent = Number.bytesToString(maxTotalHeapSize);
+ },
+
+ _clear: function(ctx) {
+ ctx.fillStyle = "rgba(255,255,255,0.8)";
+ ctx.fillRect(0, 0, this._canvas.width, this._canvas.height);
+ },
+
+ _forAllRecords: WebInspector.TimelineOverviewPane.prototype._forAllRecords
+}
diff --git a/WebCore/inspector/front-end/TimelinePanel.js b/WebCore/inspector/front-end/TimelinePanel.js
index af49c25..b9f0814 100644
--- a/WebCore/inspector/front-end/TimelinePanel.js
+++ b/WebCore/inspector/front-end/TimelinePanel.js
@@ -33,10 +33,7 @@ WebInspector.TimelinePanel = function()
WebInspector.Panel.call(this);
this.element.addStyleClass("timeline");
- this._overviewPane = new WebInspector.TimelineOverviewPane(this.categories);
- this._overviewPane.addEventListener("window changed", this._windowChanged, this);
- this._overviewPane.addEventListener("filter changed", this._refresh, this);
- this.element.appendChild(this._overviewPane.element);
+ this.element.appendChild(this._createTopPane());
this.element.tabIndex = 0;
this._sidebarBackgroundElement = document.createElement("div");
@@ -111,6 +108,39 @@ WebInspector.TimelinePanel.shortRecordThreshold = 0.015;
WebInspector.TimelinePanel.prototype = {
toolbarItemClass: "timeline",
+ _createTopPane: function() {
+ var topPaneElement = document.createElement("div");
+ topPaneElement.id = "timeline-overview-panel";
+
+ this._topPaneSidebarElement = document.createElement("div");
+ this._topPaneSidebarElement.id = "timeline-overview-sidebar";
+
+ var overviewTreeElement = document.createElement("ol");
+ overviewTreeElement.className = "sidebar-tree";
+ this._topPaneSidebarElement.appendChild(overviewTreeElement);
+ topPaneElement.appendChild(this._topPaneSidebarElement);
+
+ var topPaneSidebarTree = new TreeOutline(overviewTreeElement);
+ var timelinesOverviewItem = new WebInspector.SidebarTreeElement("resources-time-graph-sidebar-item", WebInspector.UIString("Timelines"));
+ topPaneSidebarTree.appendChild(timelinesOverviewItem);
+ timelinesOverviewItem.onselect = this._timelinesOverviewItemSelected.bind(this);
+ timelinesOverviewItem.select(true);
+
+ var memoryOverviewItem = new WebInspector.SidebarTreeElement("resources-size-graph-sidebar-item", WebInspector.UIString("Memory"));
+ topPaneSidebarTree.appendChild(memoryOverviewItem);
+ memoryOverviewItem.onselect = this._memoryOverviewItemSelected.bind(this);
+
+ this._overviewPane = new WebInspector.TimelineOverviewPane(this.categories);
+ this._overviewPane.addEventListener("window changed", this._windowChanged, this);
+ this._overviewPane.addEventListener("filter changed", this._refresh, this);
+ topPaneElement.appendChild(this._overviewPane.element);
+
+ var separatorElement = document.createElement("div");
+ separatorElement.id = "timeline-overview-separator";
+ topPaneElement.appendChild(separatorElement);
+ return topPaneElement;
+ },
+
get toolbarItemLabel()
{
return WebInspector.UIString("Timeline");
@@ -118,7 +148,7 @@ WebInspector.TimelinePanel.prototype = {
get statusBarItems()
{
- return [this.toggleFilterButton.element, this.toggleTimelineButton.element, this.clearButton.element, this.recordsCounter];
+ return [this.toggleFilterButton.element, this.toggleTimelineButton.element, this.clearButton.element, this._overviewPane.statusBarFilters];
},
get categories()
@@ -174,7 +204,7 @@ WebInspector.TimelinePanel.prototype = {
this.toggleTimelineButton = new WebInspector.StatusBarButton(WebInspector.UIString("Record"), "record-profile-status-bar-item");
this.toggleTimelineButton.addEventListener("click", this._toggleTimelineButtonClicked.bind(this), false);
- this.clearButton = new WebInspector.StatusBarButton(WebInspector.UIString("Clear"), "timeline-clear-status-bar-item");
+ this.clearButton = new WebInspector.StatusBarButton(WebInspector.UIString("Clear"), "clear-status-bar-item");
this.clearButton.addEventListener("click", this._clearPanel.bind(this), false);
this.toggleFilterButton = new WebInspector.StatusBarButton(this._hideShortRecordsTitleText, "timeline-filter-status-bar-item");
@@ -230,6 +260,14 @@ WebInspector.TimelinePanel.prototype = {
return eventDividerPadding;
},
+ _timelinesOverviewItemSelected: function(event) {
+ this._overviewPane.showTimelines();
+ },
+
+ _memoryOverviewItemSelected: function(event) {
+ this._overviewPane.showMemoryGraph(this._rootRecord.children);
+ },
+
_toggleTimelineButtonClicked: function()
{
if (this.toggleTimelineButton.toggled)
@@ -352,7 +390,7 @@ WebInspector.TimelinePanel.prototype = {
{
WebInspector.Panel.prototype.setSidebarWidth.call(this, width);
this._sidebarBackgroundElement.style.width = width + "px";
- this._overviewPane.setSidebarWidth(width);
+ this._topPaneSidebarElement.style.width = width + "px";
},
updateMainViewWidth: function(width)
@@ -398,12 +436,14 @@ WebInspector.TimelinePanel.prototype = {
if (typeof this._scrollTop === "number")
this._containerElement.scrollTop = this._scrollTop;
this._refresh();
+ WebInspector.drawer.currentPanelCounters = this.recordsCounter;
},
hide: function()
{
WebInspector.Panel.prototype.hide.call(this);
this._closeRecordDetails();
+ WebInspector.drawer.currentPanelCounters = null;
},
_onScroll: function(event)
@@ -804,8 +844,10 @@ WebInspector.TimelinePanel.FormattedRecord = function(record, parentRecord, pane
this._selfTime = this.endTime - this.startTime;
this._lastChildEndTime = this.endTime;
this.originalRecordForTests = record;
- this.callerScriptName = record.callerScriptName;
- this.callerScriptLine = record.callerScriptLine;
+ if (record.stackTrace && record.stackTrace.length) {
+ this.callerScriptName = record.stackTrace[0].scriptName;
+ this.callerScriptLine = record.stackTrace[0].lineNumber;
+ }
this.totalHeapSize = record.totalHeapSize;
this.usedHeapSize = record.usedHeapSize;
diff --git a/WebCore/inspector/front-end/WebKit.qrc b/WebCore/inspector/front-end/WebKit.qrc
index 0f8d1ac..e93bf2c 100644
--- a/WebCore/inspector/front-end/WebKit.qrc
+++ b/WebCore/inspector/front-end/WebKit.qrc
@@ -8,7 +8,7 @@
<file>AuditRules.js</file>
<file>AuditsPanel.js</file>
<file>BottomUpProfileDataGridTree.js</file>
- <file>Breakpoint.js</file>
+ <file>BreakpointManager.js</file>
<file>BreakpointsSidebarPane.js</file>
<file>Callback.js</file>
<file>CallStackSidebarPane.js</file>
@@ -77,6 +77,7 @@
<file>StoragePanel.js</file>
<file>StylesSidebarPane.js</file>
<file>SummaryBar.js</file>
+ <file>TabbedPane.js</file>
<file>TestController.js</file>
<file>TextEditorHighlighter.js</file>
<file>TextEditorModel.js</file>
diff --git a/WebCore/inspector/front-end/audits.css b/WebCore/inspector/front-end/audits.css
index ad12db3..d36efc6 100644
--- a/WebCore/inspector/front-end/audits.css
+++ b/WebCore/inspector/front-end/audits.css
@@ -46,10 +46,6 @@
overflow: auto;
}
-button.clear-audit-results-status-bar-item .glyph {
- -webkit-mask-image: url(Images/clearConsoleButtonGlyph.png);
-}
-
.audit-launcher-view {
z-index: 1000;
position: absolute;
diff --git a/WebCore/inspector/front-end/inspector.css b/WebCore/inspector/front-end/inspector.css
index 8a78247..ef34f2c 100644
--- a/WebCore/inspector/front-end/inspector.css
+++ b/WebCore/inspector/front-end/inspector.css
@@ -420,7 +420,7 @@ body.port-qt #dock-status-bar-item {
-webkit-mask-image: url(Images/consoleButtonGlyph.png);
}
-#clear-console-status-bar-item .glyph {
+.clear-status-bar-item .glyph {
-webkit-mask-image: url(Images/clearConsoleButtonGlyph.png);
}
@@ -428,16 +428,12 @@ body.port-qt #dock-status-bar-item {
-webkit-mask-image: url(Images/consoleButtonGlyph.png); /* TODO: Needs Image for Changes Toggle Button */
}
-#clear-changes-status-bar-item .glyph {
- -webkit-mask-image: url(Images/clearConsoleButtonGlyph.png);
-}
-
-#count-items {
+#counters {
position: absolute;
right: 16px;
top: 0;
cursor: pointer;
- padding: 6px 2px;
+ padding: 6px 2px 6px 0px;
font-size: 10px;
height: 19px;
}
@@ -2713,6 +2709,15 @@ button.enable-toggle-status-bar-item.toggled-on .glyph {
white-space: nowrap;
}
+.memory-graph-label {
+ position: absolute;
+ top: 5px;
+ left: 5px;
+ font-size: 9px;
+ color: rgb(50%, 50%, 50%);
+ white-space: nowrap;
+}
+
.resources-graph-label {
position: absolute;
top: 0;
@@ -3338,7 +3343,7 @@ body.inactive .sidebar-tree-item.selected .bubble.search-matches {
top: 0px;
bottom: 0px;
left: 0px;
- padding-top: 1px;
+ padding-top: 2px;
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgb(242, 242, 242)), to(rgb(209, 209, 209)));
border-right: 1px solid rgb(163, 163, 163);
}
@@ -3422,13 +3427,9 @@ body.inactive .sidebar-tree-item.selected .bubble.search-matches {
overflow-x: hidden;
}
-.timeline-clear-status-bar-item .glyph {
- -webkit-mask-image: url(Images/clearConsoleButtonGlyph.png);
-}
-
-.timeline-category-tree-item {
- height: 20px;
- line-height: 20px;
+.timeline-category-statusbar-item {
+ height: 24px;
+ line-height: 24px;
padding-left: 6px;
white-space: nowrap;
text-overflow: ellipsis;
@@ -3436,7 +3437,7 @@ body.inactive .sidebar-tree-item.selected .bubble.search-matches {
font-weight: bold;
}
-.timeline-category-tree-item .timeline-category-checkbox {
+.timeline-category-statusbar-item .timeline-category-checkbox {
width: 10px;
height: 11px;
margin: 0 3px 0 5px;
@@ -3448,26 +3449,22 @@ body.inactive .sidebar-tree-item.selected .bubble.search-matches {
-webkit-appearance: none;
}
-.timeline-category-tree-item .timeline-category-checkbox:checked {
+.timeline-category-statusbar-item .timeline-category-checkbox:checked {
background-position-x: -10px;
}
-.timeline-category-tree-item.timeline-category-loading .timeline-category-checkbox {
+.timeline-category-statusbar-item.timeline-category-loading .timeline-category-checkbox {
background-position-y: 0;
}
-.timeline-category-tree-item.timeline-category-scripting .timeline-category-checkbox {
+.timeline-category-statusbar-item.timeline-category-scripting .timeline-category-checkbox {
background-position-y: -33px;
}
-.timeline-category-tree-item.timeline-category-rendering .timeline-category-checkbox {
+.timeline-category-statusbar-item.timeline-category-rendering .timeline-category-checkbox {
background-position-y: -11px;
}
-.timeline-category-tree-item:nth-of-type(2n) {
- background-color: rgba(0, 0, 0, 0.05);
-}
-
.timeline-tree-item {
height: 18px;
line-height: 15px;
@@ -3533,14 +3530,25 @@ body.inactive .sidebar-tree-item.selected .bubble.search-matches {
color: rgba(0, 0, 0, 0.7);
}
-#timeline-overview-graphs {
+#timeline-overview-timelines,
+#timeline-overview-memory {
position: absolute;
left: 0;
right: 0;
bottom: 0;
top: 20px;
+ z-index: 160;
+}
+
+#timeline-overview-memory > canvas {
+ position: absolute;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ top: 5px;
}
+
#timeline-graphs {
position: absolute;
left: 0;
@@ -3688,12 +3696,20 @@ body.inactive .sidebar-tree-item.selected .bubble.search-matches {
.timeline-records-counter {
font-size: 11px;
- position: relative;
- top: 5px;
- margin-left: 5px;
text-shadow: white 0 1px 0;
}
+#main-status-bar > .timeline-records-counter {
+ float: right;
+ margin-top: 4px;
+ margin-right: 25px;
+}
+
+#counters > .timeline-records-counter {
+ float: left;
+ margin-top: -2px;
+}
+
/* Profiler Style */
#profile-views {
@@ -3704,6 +3720,7 @@ body.inactive .sidebar-tree-item.selected .bubble.search-matches {
bottom: 0;
}
+#timeline-view-status-bar-items,
#profile-view-status-bar-items {
position: absolute;
top: 0;
diff --git a/WebCore/inspector/front-end/inspector.html b/WebCore/inspector/front-end/inspector.html
index 74bddaf..75b31eb 100644
--- a/WebCore/inspector/front-end/inspector.html
+++ b/WebCore/inspector/front-end/inspector.html
@@ -46,6 +46,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<script type="text/javascript" src="KeyboardShortcut.js"></script>
<script type="text/javascript" src="TextPrompt.js"></script>
<script type="text/javascript" src="Popover.js"></script>
+ <script type="text/javascript" src="TabbedPane.js"></script>
<script type="text/javascript" src="Placard.js"></script>
<script type="text/javascript" src="View.js"></script>
<script type="text/javascript" src="Callback.js"></script>
@@ -63,7 +64,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<script type="text/javascript" src="DataGrid.js"></script>
<script type="text/javascript" src="CookieItemsView.js"></script>
<script type="text/javascript" src="Script.js"></script>
- <script type="text/javascript" src="Breakpoint.js"></script>
+ <script type="text/javascript" src="BreakpointManager.js"></script>
<script type="text/javascript" src="SidebarPane.js"></script>
<script type="text/javascript" src="ElementsTreeOutline.js"></script>
<script type="text/javascript" src="SidebarTreeElement.js"></script>
@@ -137,11 +138,11 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</div>
<div id="main">
<div id="main-panels" spellcheck="false"></div>
- <div id="main-status-bar" class="status-bar"><div id="anchored-status-bar-items"><button id="dock-status-bar-item" class="status-bar-item"><div class="glyph"></div><div class="glyph shadow"></div></button><button id="console-status-bar-item" class="status-bar-item"><div class="glyph"></div><div class="glyph shadow"></div></button><button id="changes-status-bar-item" class="status-bar-item hidden"></button><div id="count-items"><div id="changes-count" class="hidden"></div><div id="error-warning-count" class="hidden"></div></div></div></div>
+ <div id="main-status-bar" class="status-bar"><div id="anchored-status-bar-items"><button id="dock-status-bar-item" class="status-bar-item"><div class="glyph"></div><div class="glyph shadow"></div></button><button id="console-status-bar-item" class="status-bar-item"><div class="glyph"></div><div class="glyph shadow"></div></button><button id="changes-status-bar-item" class="status-bar-item hidden"></button><div id="counters"><div id="changes-count" class="hidden"></div><div id="error-warning-count" class="hidden"></div></div></div></div>
</div>
<div id="drawer">
<div id="console-view"><div id="console-messages" class="monospace"><div id="console-prompt" spellcheck="false"><br></div></div></div>
- <div id="drawer-status-bar" class="status-bar"><div id="other-drawer-status-bar-items"><button id="clear-console-status-bar-item" class="status-bar-item"><div class="glyph"></div><div class="glyph shadow"></div></button><div id="console-filter" class="scope-bar status-bar-item"></div></div></div>
+ <div id="drawer-status-bar" class="status-bar"><div id="other-drawer-status-bar-items"><button id="clear-console-status-bar-item" class="status-bar-item clear-status-bar-item"><div class="glyph"></div><div class="glyph shadow"></div></button><div id="console-filter" class="scope-bar status-bar-item"></div></div></div>
</div>
</body>
</html>
diff --git a/WebCore/inspector/front-end/inspector.js b/WebCore/inspector/front-end/inspector.js
index 06ae503..8c25be5 100644
--- a/WebCore/inspector/front-end/inspector.js
+++ b/WebCore/inspector/front-end/inspector.js
@@ -465,6 +465,8 @@ WebInspector.loaded = function()
other: new WebInspector.ResourceCategory("other", WebInspector.UIString("Other"), "rgb(186,186,186)")
};
+ this.breakpointManager = new WebInspector.BreakpointManager();
+
this.panels = {};
this._createPanels();
this._panelHistory = new WebInspector.PanelHistory();
@@ -705,19 +707,20 @@ WebInspector._registerShortcuts = function()
WebInspector.documentKeyDown = function(event)
{
+ var isInEditMode = event.target.enclosingNodeOrSelfWithClass("text-prompt") || WebInspector.isEditingAnyField();
const helpKey = WebInspector.isMac() ? "U+003F" : "U+00BF"; // "?" for both platforms
if (event.keyIdentifier === "F1" ||
- (event.keyIdentifier === helpKey && (!WebInspector.isEditingAnyField() || event.metaKey))) {
- WebInspector.shortcutsHelp.show();
- event.stopPropagation();
- event.preventDefault();
+ (event.keyIdentifier === helpKey && event.shiftKey && (!isInEditMode || event.metaKey))) {
+ WebInspector.shortcutsHelp.show();
+ event.stopPropagation();
+ event.preventDefault();
+ return;
}
if (WebInspector.isEditingAnyField())
return;
- var isInTextPrompt = event.target.enclosingNodeOrSelfWithClass("text-prompt");
if (this.currentFocusElement && this.currentFocusElement.handleKeyEvent) {
this.currentFocusElement.handleKeyEvent(event);
if (event.handled) {
@@ -737,7 +740,7 @@ WebInspector.documentKeyDown = function(event)
var isMac = WebInspector.isMac();
switch (event.keyIdentifier) {
case "Left":
- var isBackKey = !isInTextPrompt && (isMac ? event.metaKey : event.ctrlKey);
+ var isBackKey = !isInEditMode && (isMac ? event.metaKey : event.ctrlKey);
if (isBackKey && this._panelHistory.canGoBack()) {
this._panelHistory.goBack();
event.preventDefault();
@@ -745,7 +748,7 @@ WebInspector.documentKeyDown = function(event)
break;
case "Right":
- var isForwardKey = !isInTextPrompt && (isMac ? event.metaKey : event.ctrlKey);
+ var isForwardKey = !isInEditMode && (isMac ? event.metaKey : event.ctrlKey);
if (isForwardKey && this._panelHistory.canGoForward()) {
this._panelHistory.goForward();
event.preventDefault();
@@ -1159,6 +1162,7 @@ WebInspector.updateResource = function(identifier, payload)
resource.suggestedFilename = payload.suggestedFilename;
resource.expectedContentLength = payload.expectedContentLength;
resource.statusCode = payload.statusCode;
+ resource.statusText = payload.statusText;
resource.suggestedFilename = payload.suggestedFilename;
resource.responseHeaders = payload.responseHeaders;
}
@@ -1321,9 +1325,7 @@ WebInspector.parsedScriptSource = function(sourceID, sourceURL, source, starting
WebInspector.restoredBreakpoint = function(sourceID, sourceURL, line, enabled, condition)
{
- var breakpoint = new WebInspector.Breakpoint(sourceURL, line, sourceID, condition);
- breakpoint.enabled = enabled;
- this.panels.scripts.addBreakpoint(breakpoint);
+ this.breakpointManager.addBreakpoint(sourceID, sourceURL, line, enabled, condition);
}
WebInspector.failedToParseScriptSource = function(sourceURL, source, startingLine, errorLine, errorMessage)
@@ -1358,6 +1360,8 @@ WebInspector.reset = function()
panel.reset();
}
+ this.breakpointManager.reset();
+
for (var category in this.resourceCategories)
this.resourceCategories[category].removeAllResources();
diff --git a/WebCore/inspector/front-end/treeoutline.js b/WebCore/inspector/front-end/treeoutline.js
index 7d58954..297bbab 100644
--- a/WebCore/inspector/front-end/treeoutline.js
+++ b/WebCore/inspector/front-end/treeoutline.js
@@ -389,6 +389,12 @@ TreeOutline.prototype._treeKeyDown = function(event)
this.selectedTreeElement.expand();
}
}
+ } else if (event.keyCode === WebInspector.KeyboardShortcut.Keys.Backspace.code || event.keyCode === WebInspector.KeyboardShortcut.Keys.Delete.code) {
+ if (this.selectedTreeElement.ondelete)
+ handled = this.selectedTreeElement.ondelete();
+ } else if (isEnterKey(event)) {
+ if (this.selectedTreeElement.onenter)
+ handled = this.selectedTreeElement.onenter();
}
if (nextSelectedElement) {
diff --git a/WebCore/inspector/front-end/utilities.js b/WebCore/inspector/front-end/utilities.js
index f87b53d..9ad1c10 100644
--- a/WebCore/inspector/front-end/utilities.js
+++ b/WebCore/inspector/front-end/utilities.js
@@ -369,7 +369,7 @@ String.prototype.escapeForRegExp = function()
String.prototype.escapeHTML = function()
{
- return this.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
+ return this.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;");
}
String.prototype.collapseWhitespace = function()
@@ -621,7 +621,7 @@ Number.bytesToString = function(bytes, formatterFunction, higherResolution)
var megabytes = kilobytes / 1024;
if (higherResolution)
- return formatterFunction("%.3fMB", megabytes);
+ return formatterFunction("%.2fMB", megabytes);
else
return formatterFunction("%.0fMB", megabytes);
}
diff --git a/WebCore/loader/FrameLoader.cpp b/WebCore/loader/FrameLoader.cpp
index 6fcdcbe..8920b6a 100644
--- a/WebCore/loader/FrameLoader.cpp
+++ b/WebCore/loader/FrameLoader.cpp
@@ -60,7 +60,6 @@
#include "FrameLoaderClient.h"
#include "FrameTree.h"
#include "FrameView.h"
-#include "Geolocation.h"
#include "HTMLAnchorElement.h"
#include "HTMLAppletElement.h"
#include "HTMLFormElement.h"
@@ -78,7 +77,6 @@
#include "Logging.h"
#include "MIMETypeRegistry.h"
#include "MainResourceLoader.h"
-#include "Navigator.h"
#include "Page.h"
#include "PageCache.h"
#include "PageGroup.h"
@@ -624,11 +622,6 @@ void FrameLoader::stopLoading(UnloadEventPolicy unloadEventPolicy, DatabasePolic
#endif
}
- // Stop the Geolocation object, if present. This call is made after the unload
- // event has fired, so no new Geolocation activity is possible.
- if (m_frame->domWindow()->navigator()->optionalGeolocation())
- m_frame->domWindow()->navigator()->optionalGeolocation()->stop();
-
// tell all subframes to stop as well
for (Frame* child = m_frame->tree()->firstChild(); child; child = child->tree()->nextSibling())
child->loader()->stopLoading(unloadEventPolicy);
@@ -2196,6 +2189,7 @@ static bool canAccessAncestor(const SecurityOrigin* activeSecurityOrigin, Frame*
if (!targetFrame)
return false;
+ const bool isLocalActiveOrigin = activeSecurityOrigin->isLocal();
for (Frame* ancestorFrame = targetFrame; ancestorFrame; ancestorFrame = ancestorFrame->tree()->parent()) {
Document* ancestorDocument = ancestorFrame->document();
if (!ancestorDocument)
@@ -2204,6 +2198,10 @@ static bool canAccessAncestor(const SecurityOrigin* activeSecurityOrigin, Frame*
const SecurityOrigin* ancestorSecurityOrigin = ancestorDocument->securityOrigin();
if (activeSecurityOrigin->canAccess(ancestorSecurityOrigin))
return true;
+
+ // Allow file URL descendant navigation even when allowFileAccessFromFileURLs is false.
+ if (isLocalActiveOrigin && ancestorSecurityOrigin->isLocal())
+ return true;
}
return false;
diff --git a/WebCore/loader/ImageDocument.cpp b/WebCore/loader/ImageDocument.cpp
index 2f564cc..69aaed1 100644
--- a/WebCore/loader/ImageDocument.cpp
+++ b/WebCore/loader/ImageDocument.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2006, 2007, 2008, 2010 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -93,21 +93,34 @@ private:
class ImageDocumentElement : public HTMLImageElement {
public:
- ImageDocumentElement(ImageDocument* doc)
- : HTMLImageElement(imgTag, doc)
- , m_imageDocument(doc)
+ static PassRefPtr<ImageDocumentElement> create(ImageDocument*);
+
+private:
+ ImageDocumentElement(ImageDocument* document)
+ : HTMLImageElement(imgTag, document)
+ , m_imageDocument(document)
{
}
virtual ~ImageDocumentElement();
virtual void willMoveToNewOwnerDocument();
-private:
ImageDocument* m_imageDocument;
};
+inline PassRefPtr<ImageDocumentElement> ImageDocumentElement::create(ImageDocument* document)
+{
+ return new ImageDocumentElement(document);
+}
+
// --------
+static float pageZoomFactor(Document* document)
+{
+ FrameView* view = document->view();
+ return view ? view->pageZoomFactor() : 1;
+}
+
void ImageTokenizer::write(const SegmentedString&, bool)
{
// <https://bugs.webkit.org/show_bug.cgi?id=25397>: JS code can always call document.write, we need to handle it.
@@ -145,7 +158,7 @@ void ImageTokenizer::finish()
cachedImage->setResponse(m_doc->frame()->loader()->documentLoader()->response());
- IntSize size = cachedImage->imageSize(m_doc->frame()->pageZoomFactor());
+ IntSize size = cachedImage->imageSize(pageZoomFactor(m_doc));
if (size.width()) {
// Compute the title, we use the decoded filename of the resource, falling
// back on the (decoded) hostname if there is no path.
@@ -196,7 +209,7 @@ void ImageDocument::createDocumentStructure()
rootElement->appendChild(body, ec);
- RefPtr<ImageDocumentElement> imageElement = new ImageDocumentElement(this);
+ RefPtr<ImageDocumentElement> imageElement = ImageDocumentElement::create(this);
imageElement->setAttribute(styleAttr, "-webkit-user-select: none");
imageElement->setLoadManually(true);
@@ -220,8 +233,12 @@ float ImageDocument::scale() const
if (!m_imageElement)
return 1.0f;
- IntSize imageSize = m_imageElement->cachedImage()->imageSize(frame()->pageZoomFactor());
- IntSize windowSize = IntSize(frame()->view()->width(), frame()->view()->height());
+ FrameView* view = frame()->view();
+ if (!view)
+ return 1;
+
+ IntSize imageSize = m_imageElement->cachedImage()->imageSize(view->pageZoomFactor());
+ IntSize windowSize = IntSize(view->width(), view->height());
float widthScale = (float)windowSize.width() / imageSize.width();
float heightScale = (float)windowSize.height() / imageSize.height();
@@ -234,7 +251,7 @@ void ImageDocument::resizeImageToFit()
if (!m_imageElement)
return;
- IntSize imageSize = m_imageElement->cachedImage()->imageSize(frame()->pageZoomFactor());
+ IntSize imageSize = m_imageElement->cachedImage()->imageSize(pageZoomFactor(this));
float scale = this->scale();
m_imageElement->setWidth(static_cast<int>(imageSize.width() * scale));
@@ -274,7 +291,7 @@ void ImageDocument::imageChanged()
if (m_imageSizeIsKnown)
return;
- if (m_imageElement->cachedImage()->imageSize(frame()->pageZoomFactor()).isEmpty())
+ if (m_imageElement->cachedImage()->imageSize(pageZoomFactor(this)).isEmpty())
return;
m_imageSizeIsKnown = true;
@@ -290,8 +307,8 @@ void ImageDocument::restoreImageSize()
if (!m_imageElement || !m_imageSizeIsKnown)
return;
- m_imageElement->setWidth(m_imageElement->cachedImage()->imageSize(frame()->pageZoomFactor()).width());
- m_imageElement->setHeight(m_imageElement->cachedImage()->imageSize(frame()->pageZoomFactor()).height());
+ m_imageElement->setWidth(m_imageElement->cachedImage()->imageSize(pageZoomFactor(this)).width());
+ m_imageElement->setHeight(m_imageElement->cachedImage()->imageSize(pageZoomFactor(this)).height());
ExceptionCode ec;
if (imageFitsInWindow())
@@ -307,8 +324,10 @@ bool ImageDocument::imageFitsInWindow() const
if (!m_imageElement)
return true;
- IntSize imageSize = m_imageElement->cachedImage()->imageSize(frame()->pageZoomFactor());
- IntSize windowSize = IntSize(frame()->view()->width(), frame()->view()->height());
+ FrameView* view = frame()->view();
+
+ IntSize imageSize = m_imageElement->cachedImage()->imageSize(view->pageZoomFactor());
+ IntSize windowSize = IntSize(view->width(), view->height());
return imageSize.width() <= windowSize.width() && imageSize.height() <= windowSize.height();
}
diff --git a/WebCore/loader/appcache/ApplicationCacheStorage.cpp b/WebCore/loader/appcache/ApplicationCacheStorage.cpp
index 2d82c21..36c9bda 100644
--- a/WebCore/loader/appcache/ApplicationCacheStorage.cpp
+++ b/WebCore/loader/appcache/ApplicationCacheStorage.cpp
@@ -171,8 +171,7 @@ void ApplicationCacheStorage::loadManifestHostHashes()
if (statement.prepare() != SQLResultOk)
return;
- int result;
- while ((result = statement.step()) == SQLResultRow)
+ while (statement.step() == SQLResultRow)
m_cacheHostSet.add(static_cast<unsigned>(statement.getColumnInt64(0)));
}
diff --git a/WebCore/manual-tests/qt/qt-gif-test.html b/WebCore/manual-tests/animated-gif-looping.html
index 3412e1b..e98a6d9 100644
--- a/WebCore/manual-tests/qt/qt-gif-test.html
+++ b/WebCore/manual-tests/animated-gif-looping.html
@@ -1,15 +1,15 @@
<html>
<body>
<div>
- <img src="qt-anim.gif">
+ <img src="./resources/animated-infinite.gif">
<p>This should animate.</p>
</div>
<div>
- <img src="qt-noanim.gif">
+ <img src="./resources/non-animated.gif">
<p>This should not animate and you should see a cross.</p>
</div
<div>
- <img src="qt-10loop-anim.gif">
+ <img src="./resources/animated-10x.gif">
<p>This animation should loop 10 times.</p>
</div
</body>
diff --git a/WebCore/manual-tests/image-prefetch-stress.html b/WebCore/manual-tests/image-prefetch-stress.html
new file mode 100644
index 0000000..b9203b7
--- /dev/null
+++ b/WebCore/manual-tests/image-prefetch-stress.html
@@ -0,0 +1,20 @@
+<html>
+<script type="text/javascript">
+(function(){
+ var i = 0;
+setInterval(function(){
+ var x = new Image();
+ x.src = "http://upload.wikimedia.org/wikipedia/commons/e/e9/Sombrero_Galaxy_in_infrared_light_%28Hubble_Space_Telescope_and_Spitzer_Space_Telescope%29.jpg?" + i;
+ i++;
+ }, 500);
+})()
+</script>
+<body>
+When an image is preloaded in javascript, the size of the image is never
+reported to the javascript garbage collector. If a large image is repeatedly
+preloaded but never used, it will not free any of the images until the
+garbage collector has run out of space to allocate any new free javascript
+variables. This test passes if after a certain point, the number of allocated
+images as reported by the caches window stops growing.
+</body>
+</html>
diff --git a/WebCore/manual-tests/qt/qt-10loop-anim.gif b/WebCore/manual-tests/resources/animated-10x.gif
index ddb0006..56bdb0e 100644
--- a/WebCore/manual-tests/qt/qt-10loop-anim.gif
+++ b/WebCore/manual-tests/resources/animated-10x.gif
Binary files differ
diff --git a/WebCore/manual-tests/qt/qt-anim.gif b/WebCore/manual-tests/resources/animated-infinite.gif
index 8bca4a8..8bca4a8 100644
--- a/WebCore/manual-tests/qt/qt-anim.gif
+++ b/WebCore/manual-tests/resources/animated-infinite.gif
Binary files differ
diff --git a/WebCore/manual-tests/qt/qt-noanim.gif b/WebCore/manual-tests/resources/non-animated.gif
index b6a8540..b6a8540 100644
--- a/WebCore/manual-tests/qt/qt-noanim.gif
+++ b/WebCore/manual-tests/resources/non-animated.gif
Binary files differ
diff --git a/WebCore/mathml/mathtags.in b/WebCore/mathml/mathtags.in
index 36333a8..e9cc4ad 100644
--- a/WebCore/mathml/mathtags.in
+++ b/WebCore/mathml/mathtags.in
@@ -16,6 +16,5 @@ mi interfaceName=MathMLTextElement
mn interfaceName=MathMLTextElement
mo interfaceName=MathMLTextElement
mtext interfaceName=MathMLTextElement
-msub interfaceName=MathMLElement, createWithNew
-msup interfaceName=MathMLElement, createWithNew
-
+msub interfaceName=MathMLElement
+msup interfaceName=MathMLElement
diff --git a/WebCore/notifications/Notification.h b/WebCore/notifications/Notification.h
index 98cbfdf..47de2a2 100644
--- a/WebCore/notifications/Notification.h
+++ b/WebCore/notifications/Notification.h
@@ -68,6 +68,11 @@ namespace WebCore {
KURL iconURL() { return m_contents.icon(); }
NotificationContents& contents() { return m_contents; }
+ String dir() const { return m_direction; }
+ void setDir(const String& dir) { m_direction = dir; }
+ String replaceId() const { return m_replaceId; }
+ void setReplaceId(const String& replaceId) { m_replaceId = replaceId; }
+
DEFINE_ATTRIBUTE_EVENT_LISTENER(display);
DEFINE_ATTRIBUTE_EVENT_LISTENER(error);
DEFINE_ATTRIBUTE_EVENT_LISTENER(close);
@@ -93,6 +98,9 @@ namespace WebCore {
KURL m_notificationURL;
NotificationContents m_contents;
+ String m_direction;
+ String m_replaceId;
+
bool m_isShowing;
NotificationPresenter* m_presenter;
diff --git a/WebCore/notifications/Notification.idl b/WebCore/notifications/Notification.idl
index 7f018b7..5ca84a5 100644
--- a/WebCore/notifications/Notification.idl
+++ b/WebCore/notifications/Notification.idl
@@ -42,6 +42,9 @@ module threads {
attribute EventListener onerror;
attribute EventListener onclose;
+ attribute DOMString dir;
+ attribute DOMString replaceId;
+
// EventTarget interface
void addEventListener(in DOMString type,
in EventListener listener,
diff --git a/WebCore/page/Console.cpp b/WebCore/page/Console.cpp
index 864b834..1d6c095 100644
--- a/WebCore/page/Console.cpp
+++ b/WebCore/page/Console.cpp
@@ -427,6 +427,19 @@ void Console::group(ScriptCallStack* callStack)
#endif
}
+void Console::groupCollapsed(ScriptCallStack* callStack)
+{
+#if ENABLE(INSPECTOR)
+ Page* page = this->page();
+ if (!page)
+ return;
+
+ page->inspectorController()->startGroup(JSMessageSource, callStack, true);
+#else
+ UNUSED_PARAM(callStack);
+#endif
+}
+
void Console::groupEnd()
{
#if ENABLE(INSPECTOR)
diff --git a/WebCore/page/Console.h b/WebCore/page/Console.h
index 9a6d88c..18e311f 100644
--- a/WebCore/page/Console.h
+++ b/WebCore/page/Console.h
@@ -62,6 +62,7 @@ enum MessageType {
ObjectMessageType,
TraceMessageType,
StartGroupMessageType,
+ StartGroupCollapsedMessageType,
EndGroupMessageType,
AssertMessageType
};
@@ -104,6 +105,7 @@ public:
void time(const String&);
void timeEnd(const String&, ScriptCallStack*);
void group(ScriptCallStack*);
+ void groupCollapsed(ScriptCallStack*);
void groupEnd();
static bool shouldPrintExceptions();
diff --git a/WebCore/page/Console.idl b/WebCore/page/Console.idl
index b3c0c24..9a7cdc0 100644
--- a/WebCore/page/Console.idl
+++ b/WebCore/page/Console.idl
@@ -58,6 +58,7 @@ module window {
void time(in [ConvertUndefinedOrNullToNullString] DOMString title);
[CustomArgumentHandling] void timeEnd(in [ConvertUndefinedOrNullToNullString] DOMString title);
[CustomArgumentHandling] void group();
+ [CustomArgumentHandling] void groupCollapsed();
void groupEnd();
};
diff --git a/WebCore/page/DOMSelection.cpp b/WebCore/page/DOMSelection.cpp
index a583176..d62051e 100644
--- a/WebCore/page/DOMSelection.cpp
+++ b/WebCore/page/DOMSelection.cpp
@@ -280,21 +280,21 @@ void DOMSelection::modify(const String& alterString, const String& directionStri
SelectionController::EAlteration alter;
if (equalIgnoringCase(alterString, "extend"))
- alter = SelectionController::EXTEND;
+ alter = SelectionController::AlterationExtend;
else if (equalIgnoringCase(alterString, "move"))
- alter = SelectionController::MOVE;
+ alter = SelectionController::AlterationMove;
else
return;
SelectionController::EDirection direction;
if (equalIgnoringCase(directionString, "forward"))
- direction = SelectionController::FORWARD;
+ direction = SelectionController::DirectionForward;
else if (equalIgnoringCase(directionString, "backward"))
- direction = SelectionController::BACKWARD;
+ direction = SelectionController::DirectionBackward;
else if (equalIgnoringCase(directionString, "left"))
- direction = SelectionController::LEFT;
+ direction = SelectionController::DirectionLeft;
else if (equalIgnoringCase(directionString, "right"))
- direction = SelectionController::RIGHT;
+ direction = SelectionController::DirectionRight;
else
return;
@@ -424,7 +424,7 @@ void DOMSelection::deleteFromDocument()
return;
if (isCollapsed())
- selection->modify(SelectionController::EXTEND, SelectionController::BACKWARD, CharacterGranularity);
+ selection->modify(SelectionController::AlterationExtend, SelectionController::DirectionBackward, CharacterGranularity);
RefPtr<Range> selectedRange = selection->selection().toNormalizedRange();
diff --git a/WebCore/page/DOMTimer.cpp b/WebCore/page/DOMTimer.cpp
index 72dc9ac..eb7f84e 100644
--- a/WebCore/page/DOMTimer.cpp
+++ b/WebCore/page/DOMTimer.cpp
@@ -44,13 +44,8 @@ double DOMTimer::s_minTimerInterval = 0.010; // 10 milliseconds
static int timerNestingLevel = 0;
DOMTimer::DOMTimer(ScriptExecutionContext* context, PassOwnPtr<ScheduledAction> action, int timeout, bool singleShot)
- : ActiveDOMObject(context, this)
+ : SuspendableTimer(context)
, m_action(action)
- , m_nextFireInterval(0)
- , m_repeatInterval(0)
-#if !ASSERT_DISABLED
- , m_suspended(false)
-#endif
{
static int lastUsedTimeoutId = 0;
++lastUsedTimeoutId;
@@ -155,50 +150,19 @@ void DOMTimer::fired()
timerNestingLevel = 0;
}
-bool DOMTimer::hasPendingActivity() const
-{
- return isActive();
-}
-
void DOMTimer::contextDestroyed()
{
- ActiveDOMObject::contextDestroyed();
+ SuspendableTimer::contextDestroyed();
delete this;
}
void DOMTimer::stop()
{
- TimerBase::stop();
+ SuspendableTimer::stop();
// Need to release JS objects potentially protected by ScheduledAction
// because they can form circular references back to the ScriptExecutionContext
// which will cause a memory leak.
m_action.clear();
}
-void DOMTimer::suspend()
-{
-#if !ASSERT_DISABLED
- ASSERT(!m_suspended);
- m_suspended = true;
-#endif
- m_nextFireInterval = nextFireInterval();
- m_repeatInterval = repeatInterval();
- TimerBase::stop();
-}
-
-void DOMTimer::resume()
-{
-#if !ASSERT_DISABLED
- ASSERT(m_suspended);
- m_suspended = false;
-#endif
- start(m_nextFireInterval, m_repeatInterval);
-}
-
-
-bool DOMTimer::canSuspend() const
-{
- return true;
-}
-
} // namespace WebCore
diff --git a/WebCore/page/DOMTimer.h b/WebCore/page/DOMTimer.h
index da38178..dc793da 100644
--- a/WebCore/page/DOMTimer.h
+++ b/WebCore/page/DOMTimer.h
@@ -27,9 +27,8 @@
#ifndef DOMTimer_h
#define DOMTimer_h
-#include "ActiveDOMObject.h"
#include "ScheduledAction.h"
-#include "Timer.h"
+#include "SuspendableTimer.h"
#include <wtf/OwnPtr.h>
#include <wtf/PassOwnPtr.h>
@@ -37,7 +36,7 @@ namespace WebCore {
class InspectorTimelineAgent;
- class DOMTimer : public TimerBase, public ActiveDOMObject {
+ class DOMTimer : public SuspendableTimer {
public:
virtual ~DOMTimer();
// Creates a new timer owned by specified ScriptExecutionContext, starts it
@@ -46,12 +45,8 @@ namespace WebCore {
static void removeById(ScriptExecutionContext*, int timeoutId);
// ActiveDOMObject
- virtual bool hasPendingActivity() const;
virtual void contextDestroyed();
virtual void stop();
- virtual bool canSuspend() const;
- virtual void suspend();
- virtual void resume();
// The lowest allowable timer setting (in seconds, 0.001 == 1 ms).
// Default is 10ms.
@@ -66,11 +61,6 @@ namespace WebCore {
int m_timeoutId;
int m_nestingLevel;
OwnPtr<ScheduledAction> m_action;
- double m_nextFireInterval;
- double m_repeatInterval;
-#if !ASSERT_DISABLED
- bool m_suspended;
-#endif
static double s_minTimerInterval;
};
diff --git a/WebCore/page/DOMWindow.cpp b/WebCore/page/DOMWindow.cpp
index a564cf4..7f3151d 100644
--- a/WebCore/page/DOMWindow.cpp
+++ b/WebCore/page/DOMWindow.cpp
@@ -954,11 +954,15 @@ int DOMWindow::innerHeight() const
if (!view)
return 0;
+<<<<<<< HEAD
#if PLATFORM(ANDROID)
return static_cast<int>(view->actualHeight() / m_frame->pageZoomFactor());
#else
return static_cast<int>(view->height() / m_frame->pageZoomFactor());
#endif
+=======
+ return static_cast<int>(view->height() / view->pageZoomFactor());
+>>>>>>> webkit.org at r60469
}
int DOMWindow::innerWidth() const
@@ -970,11 +974,15 @@ int DOMWindow::innerWidth() const
if (!view)
return 0;
+<<<<<<< HEAD
#if PLATFORM(ANDROID)
return static_cast<int>(view->actualWidth() / m_frame->pageZoomFactor());
#else
return static_cast<int>(view->width() / m_frame->pageZoomFactor());
#endif
+=======
+ return static_cast<int>(view->width() / view->pageZoomFactor());
+>>>>>>> webkit.org at r60469
}
int DOMWindow::screenX() const
@@ -1012,11 +1020,15 @@ int DOMWindow::scrollX() const
m_frame->document()->updateLayoutIgnorePendingStylesheets();
+<<<<<<< HEAD
#if PLATFORM(ANDROID)
return static_cast<int>(view->actualScrollX() / m_frame->pageZoomFactor());
#else
return static_cast<int>(view->scrollX() / m_frame->pageZoomFactor());
#endif
+=======
+ return static_cast<int>(view->scrollX() / view->pageZoomFactor());
+>>>>>>> webkit.org at r60469
}
int DOMWindow::scrollY() const
@@ -1030,11 +1042,15 @@ int DOMWindow::scrollY() const
m_frame->document()->updateLayoutIgnorePendingStylesheets();
+<<<<<<< HEAD
#if PLATFORM(ANDROID)
return static_cast<int>(view->actualScrollY() / m_frame->pageZoomFactor());
#else
return static_cast<int>(view->scrollY() / m_frame->pageZoomFactor());
#endif
+=======
+ return static_cast<int>(view->scrollY() / view->pageZoomFactor());
+>>>>>>> webkit.org at r60469
}
bool DOMWindow::closed() const
@@ -1256,8 +1272,8 @@ void DOMWindow::scrollTo(int x, int y) const
if (!view)
return;
- int zoomedX = static_cast<int>(x * m_frame->pageZoomFactor());
- int zoomedY = static_cast<int>(y * m_frame->pageZoomFactor());
+ int zoomedX = static_cast<int>(x * view->pageZoomFactor());
+ int zoomedY = static_cast<int>(y * view->pageZoomFactor());
view->setScrollPosition(IntPoint(zoomedX, zoomedY));
}
diff --git a/WebCore/page/DragController.cpp b/WebCore/page/DragController.cpp
index c603996..ec69ea0 100644
--- a/WebCore/page/DragController.cpp
+++ b/WebCore/page/DragController.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2007, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2007, 2009, 2010 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -268,7 +268,8 @@ static HTMLInputElement* asFileInput(Node* node)
static Element* elementUnderMouse(Document* documentUnderMouse, const IntPoint& p)
{
- float zoomFactor = documentUnderMouse->frame()->pageZoomFactor();
+ FrameView* view = documentUnderMouse->view();
+ float zoomFactor = view ? view->pageZoomFactor() : 1;
IntPoint point = roundedIntPoint(FloatPoint(p.x() * zoomFactor, p.y() * zoomFactor));
HitTestRequest request(HitTestRequest::ReadOnly | HitTestRequest::Active);
@@ -397,7 +398,7 @@ bool DragController::concludeEditDrag(DragData* dragData)
}
if (HTMLInputElement* fileInput = asFileInput(element)) {
- if (!fileInput->isEnabledFormControl())
+ if (fileInput->disabled())
return false;
if (!dragData->containsFiles())
diff --git a/WebCore/page/EventHandler.cpp b/WebCore/page/EventHandler.cpp
index 579cecc..266881c 100644
--- a/WebCore/page/EventHandler.cpp
+++ b/WebCore/page/EventHandler.cpp
@@ -186,7 +186,7 @@ EventHandler::EventHandler(Frame* frame)
, m_svgPan(false)
#endif
, m_resizeLayer(0)
- , m_capturingMouseEventsNode(0)
+ , m_eventHandlerWillResetCapturingMouseEventsNode(0)
, m_clickCount(0)
, m_mouseDownTimestamp(0)
, m_useLatchedWheelEventNode(false)
@@ -440,8 +440,8 @@ bool EventHandler::handleMousePressEvent(const MouseEventWithHitTestResults& eve
return true;
#if ENABLE(SVG)
- if (m_frame->document()->isSVGDocument() &&
- static_cast<SVGDocument*>(m_frame->document())->zoomAndPanEnabled()) {
+ if (m_frame->document()->isSVGDocument()
+ && static_cast<SVGDocument*>(m_frame->document())->zoomAndPanEnabled()) {
if (event.event().shiftKey() && singleClick) {
m_svgPan = true;
static_cast<SVGDocument*>(m_frame->document())->startPan(event.event().pos());
@@ -473,8 +473,8 @@ bool EventHandler::handleMousePressEvent(const MouseEventWithHitTestResults& eve
else
swallowEvent = handleMousePressEventSingleClick(event);
- m_mouseDownMayStartAutoscroll = m_mouseDownMayStartSelect ||
- (m_mousePressNode && m_mousePressNode->renderBox() && m_mousePressNode->renderBox()->canBeProgramaticallyScrolled(true));
+ m_mouseDownMayStartAutoscroll = m_mouseDownMayStartSelect
+ || (m_mousePressNode && m_mousePressNode->renderBox() && m_mousePressNode->renderBox()->canBeProgramaticallyScrolled(true));
return swallowEvent;
}
@@ -695,7 +695,7 @@ bool EventHandler::handleMouseReleaseEvent(const MouseEventWithHitTestResults& e
&& m_frame->selection()->isRange()
&& event.event().button() != RightButton) {
VisibleSelection newSelection;
- Node *node = event.targetNode();
+ Node* node = event.targetNode();
bool caretBrowsing = m_frame->settings()->caretBrowsingEnabled();
if (node && (caretBrowsing || node->isContentEditable()) && node->renderer()) {
VisiblePosition pos = node->renderer()->positionForPoint(event.localPoint());
@@ -816,7 +816,7 @@ void EventHandler::updatePanScrollState()
view->setCursor(middlePanningCursor());
}
-#endif // ENABLE(PAN_SCROLLING)
+#endif // ENABLE(PAN_SCROLLING)
RenderObject* EventHandler::autoscrollRenderer() const
{
@@ -990,9 +990,13 @@ void EventHandler::setMousePressNode(PassRefPtr<Node> node)
m_mousePressNode = node;
}
-bool EventHandler::scrollOverflow(ScrollDirection direction, ScrollGranularity granularity)
+bool EventHandler::scrollOverflow(ScrollDirection direction, ScrollGranularity granularity, Node* startingNode)
{
- Node* node = m_frame->document()->focusedNode();
+ Node* node = startingNode;
+
+ if (!node)
+ node = m_frame->document()->focusedNode();
+
if (!node)
node = m_mousePressNode.get();
@@ -1007,9 +1011,9 @@ bool EventHandler::scrollOverflow(ScrollDirection direction, ScrollGranularity g
return false;
}
-bool EventHandler::scrollRecursively(ScrollDirection direction, ScrollGranularity granularity)
+bool EventHandler::scrollRecursively(ScrollDirection direction, ScrollGranularity granularity, Node* startingNode)
{
- bool handled = scrollOverflow(direction, granularity);
+ bool handled = scrollOverflow(direction, granularity, startingNode);
if (!handled) {
Frame* frame = m_frame;
do {
@@ -1103,117 +1107,117 @@ Cursor EventHandler::selectCursor(const MouseEventWithHitTestResults& event, Scr
}
switch (style ? style->cursor() : CURSOR_AUTO) {
- case CURSOR_AUTO: {
- bool editable = (node && node->isContentEditable());
- bool editableLinkEnabled = false;
-
- // If the link is editable, then we need to check the settings to see whether or not the link should be followed
- if (editable) {
- ASSERT(m_frame->settings());
- switch (m_frame->settings()->editableLinkBehavior()) {
- default:
- case EditableLinkDefaultBehavior:
- case EditableLinkAlwaysLive:
- editableLinkEnabled = true;
- break;
-
- case EditableLinkNeverLive:
- editableLinkEnabled = false;
- break;
-
- case EditableLinkLiveWhenNotFocused:
- editableLinkEnabled = nodeIsNotBeingEdited(node, m_frame) || event.event().shiftKey();
- break;
-
- case EditableLinkOnlyLiveWithShiftKey:
- editableLinkEnabled = event.event().shiftKey();
- break;
- }
- }
+ case CURSOR_AUTO: {
+ bool editable = (node && node->isContentEditable());
+ bool editableLinkEnabled = false;
+
+ // If the link is editable, then we need to check the settings to see whether or not the link should be followed
+ if (editable) {
+ ASSERT(m_frame->settings());
+ switch (m_frame->settings()->editableLinkBehavior()) {
+ default:
+ case EditableLinkDefaultBehavior:
+ case EditableLinkAlwaysLive:
+ editableLinkEnabled = true;
+ break;
+
+ case EditableLinkNeverLive:
+ editableLinkEnabled = false;
+ break;
+
+ case EditableLinkLiveWhenNotFocused:
+ editableLinkEnabled = nodeIsNotBeingEdited(node, m_frame) || event.event().shiftKey();
+ break;
- if ((event.isOverLink() || isSubmitImage(node)) && (!editable || editableLinkEnabled))
- return handCursor();
- bool inResizer = false;
- if (renderer) {
- if (RenderLayer* layer = renderer->enclosingLayer()) {
- if (FrameView* view = m_frame->view())
- inResizer = layer->isPointInResizeControl(view->windowToContents(event.event().pos()));
- }
+ case EditableLinkOnlyLiveWithShiftKey:
+ editableLinkEnabled = event.event().shiftKey();
+ break;
}
- if ((editable || (renderer && renderer->isText() && node->canStartSelection())) && !inResizer && !scrollbar)
- return iBeamCursor();
- return pointerCursor();
}
- case CURSOR_CROSS:
- return crossCursor();
- case CURSOR_POINTER:
+
+ if ((event.isOverLink() || isSubmitImage(node)) && (!editable || editableLinkEnabled))
return handCursor();
- case CURSOR_MOVE:
- return moveCursor();
- case CURSOR_ALL_SCROLL:
- return moveCursor();
- case CURSOR_E_RESIZE:
- return eastResizeCursor();
- case CURSOR_W_RESIZE:
- return westResizeCursor();
- case CURSOR_N_RESIZE:
- return northResizeCursor();
- case CURSOR_S_RESIZE:
- return southResizeCursor();
- case CURSOR_NE_RESIZE:
- return northEastResizeCursor();
- case CURSOR_SW_RESIZE:
- return southWestResizeCursor();
- case CURSOR_NW_RESIZE:
- return northWestResizeCursor();
- case CURSOR_SE_RESIZE:
- return southEastResizeCursor();
- case CURSOR_NS_RESIZE:
- return northSouthResizeCursor();
- case CURSOR_EW_RESIZE:
- return eastWestResizeCursor();
- case CURSOR_NESW_RESIZE:
- return northEastSouthWestResizeCursor();
- case CURSOR_NWSE_RESIZE:
- return northWestSouthEastResizeCursor();
- case CURSOR_COL_RESIZE:
- return columnResizeCursor();
- case CURSOR_ROW_RESIZE:
- return rowResizeCursor();
- case CURSOR_TEXT:
+ bool inResizer = false;
+ if (renderer) {
+ if (RenderLayer* layer = renderer->enclosingLayer()) {
+ if (FrameView* view = m_frame->view())
+ inResizer = layer->isPointInResizeControl(view->windowToContents(event.event().pos()));
+ }
+ }
+ if ((editable || (renderer && renderer->isText() && node->canStartSelection())) && !inResizer && !scrollbar)
return iBeamCursor();
- case CURSOR_WAIT:
- return waitCursor();
- case CURSOR_HELP:
- return helpCursor();
- case CURSOR_VERTICAL_TEXT:
- return verticalTextCursor();
- case CURSOR_CELL:
- return cellCursor();
- case CURSOR_CONTEXT_MENU:
- return contextMenuCursor();
- case CURSOR_PROGRESS:
- return progressCursor();
- case CURSOR_NO_DROP:
- return noDropCursor();
- case CURSOR_ALIAS:
- return aliasCursor();
- case CURSOR_COPY:
- return copyCursor();
- case CURSOR_NONE:
- return noneCursor();
- case CURSOR_NOT_ALLOWED:
- return notAllowedCursor();
- case CURSOR_DEFAULT:
- return pointerCursor();
- case CURSOR_WEBKIT_ZOOM_IN:
- return zoomInCursor();
- case CURSOR_WEBKIT_ZOOM_OUT:
- return zoomOutCursor();
- case CURSOR_WEBKIT_GRAB:
- return grabCursor();
- case CURSOR_WEBKIT_GRABBING:
- return grabbingCursor();
+ return pointerCursor();
+ }
+ case CURSOR_CROSS:
+ return crossCursor();
+ case CURSOR_POINTER:
+ return handCursor();
+ case CURSOR_MOVE:
+ return moveCursor();
+ case CURSOR_ALL_SCROLL:
+ return moveCursor();
+ case CURSOR_E_RESIZE:
+ return eastResizeCursor();
+ case CURSOR_W_RESIZE:
+ return westResizeCursor();
+ case CURSOR_N_RESIZE:
+ return northResizeCursor();
+ case CURSOR_S_RESIZE:
+ return southResizeCursor();
+ case CURSOR_NE_RESIZE:
+ return northEastResizeCursor();
+ case CURSOR_SW_RESIZE:
+ return southWestResizeCursor();
+ case CURSOR_NW_RESIZE:
+ return northWestResizeCursor();
+ case CURSOR_SE_RESIZE:
+ return southEastResizeCursor();
+ case CURSOR_NS_RESIZE:
+ return northSouthResizeCursor();
+ case CURSOR_EW_RESIZE:
+ return eastWestResizeCursor();
+ case CURSOR_NESW_RESIZE:
+ return northEastSouthWestResizeCursor();
+ case CURSOR_NWSE_RESIZE:
+ return northWestSouthEastResizeCursor();
+ case CURSOR_COL_RESIZE:
+ return columnResizeCursor();
+ case CURSOR_ROW_RESIZE:
+ return rowResizeCursor();
+ case CURSOR_TEXT:
+ return iBeamCursor();
+ case CURSOR_WAIT:
+ return waitCursor();
+ case CURSOR_HELP:
+ return helpCursor();
+ case CURSOR_VERTICAL_TEXT:
+ return verticalTextCursor();
+ case CURSOR_CELL:
+ return cellCursor();
+ case CURSOR_CONTEXT_MENU:
+ return contextMenuCursor();
+ case CURSOR_PROGRESS:
+ return progressCursor();
+ case CURSOR_NO_DROP:
+ return noDropCursor();
+ case CURSOR_ALIAS:
+ return aliasCursor();
+ case CURSOR_COPY:
+ return copyCursor();
+ case CURSOR_NONE:
+ return noneCursor();
+ case CURSOR_NOT_ALLOWED:
+ return notAllowedCursor();
+ case CURSOR_DEFAULT:
+ return pointerCursor();
+ case CURSOR_WEBKIT_ZOOM_IN:
+ return zoomInCursor();
+ case CURSOR_WEBKIT_ZOOM_OUT:
+ return zoomOutCursor();
+ case CURSOR_WEBKIT_GRAB:
+ return grabCursor();
+ case CURSOR_WEBKIT_GRABBING:
+ return grabbingCursor();
}
return pointerCursor();
}
@@ -1279,8 +1283,10 @@ bool EventHandler::handleMousePressEvent(const PlatformMouseEvent& mouseEvent)
// Start capturing future events for this frame. We only do this if we didn't clear
// the m_mousePressed flag, which may happen if an AppKit widget entered a modal event loop.
m_capturesDragging = subframe->eventHandler()->capturesDragging();
- if (m_mousePressed && m_capturesDragging)
+ if (m_mousePressed && m_capturesDragging) {
m_capturingMouseEventsNode = mev.targetNode();
+ m_eventHandlerWillResetCapturingMouseEventsNode = true;
+ }
invalidateClick();
return true;
}
@@ -1372,10 +1378,10 @@ bool EventHandler::handleMouseDoubleClickEvent(const PlatformMouseEvent& mouseEv
HitTestRequest request(HitTestRequest::Active);
MouseEventWithHitTestResults mev = prepareMouseEvent(request, mouseEvent);
Frame* subframe = subframeForHitTestResult(mev);
- if (subframe && passMousePressEventToSubframe(mev, subframe)) {
+ if (m_eventHandlerWillResetCapturingMouseEventsNode)
m_capturingMouseEventsNode = 0;
+ if (subframe && passMousePressEventToSubframe(mev, subframe))
return true;
- }
m_clickCount = mouseEvent.clickCount();
bool swallowMouseUpEvent = dispatchMouseEvent(eventNames().mouseupEvent, mev.targetNode(), true, m_clickCount, mouseEvent, false);
@@ -1563,10 +1569,10 @@ bool EventHandler::handleMouseReleaseEvent(const PlatformMouseEvent& mouseEvent)
HitTestRequest request(HitTestRequest::MouseUp);
MouseEventWithHitTestResults mev = prepareMouseEvent(request, mouseEvent);
Frame* subframe = m_capturingMouseEventsNode.get() ? subframeForTargetNode(m_capturingMouseEventsNode.get()) : subframeForHitTestResult(mev);
- if (subframe && passMouseReleaseEventToSubframe(mev, subframe)) {
+ if (m_eventHandlerWillResetCapturingMouseEventsNode)
m_capturingMouseEventsNode = 0;
+ if (subframe && passMouseReleaseEventToSubframe(mev, subframe))
return true;
- }
bool swallowMouseUpEvent = dispatchMouseEvent(eventNames().mouseupEvent, mev.targetNode(), true, m_clickCount, mouseEvent, false);
@@ -1621,15 +1627,15 @@ bool EventHandler::canHandleDragAndDropForTarget(DragAndDropHandleType type, Nod
Frame* frame = static_cast<HTMLFrameElementBase*>(target)->contentFrame();
if (frame) {
switch (type) {
- case UpdateDragAndDrop:
- wasAccepted = frame->eventHandler()->updateDragAndDrop(event, clipboard);
- break;
- case CancelDragAndDrop:
- frame->eventHandler()->cancelDragAndDrop(event, clipboard);
- break;
- case PerformDragAndDrop:
- wasAccepted = frame->eventHandler()->performDragAndDrop(event, clipboard);
- break;
+ case UpdateDragAndDrop:
+ wasAccepted = frame->eventHandler()->updateDragAndDrop(event, clipboard);
+ break;
+ case CancelDragAndDrop:
+ frame->eventHandler()->cancelDragAndDrop(event, clipboard);
+ break;
+ case PerformDragAndDrop:
+ wasAccepted = frame->eventHandler()->performDragAndDrop(event, clipboard);
+ break;
}
}
} else
@@ -1730,6 +1736,7 @@ void EventHandler::clearDragState()
void EventHandler::setCapturingMouseEventsNode(PassRefPtr<Node> n)
{
m_capturingMouseEventsNode = n;
+ m_eventHandlerWillResetCapturingMouseEventsNode = false;
}
MouseEventWithHitTestResults EventHandler::prepareMouseEvent(const HitTestRequest& request, const PlatformMouseEvent& mev)
@@ -1874,9 +1881,9 @@ bool EventHandler::dispatchMouseEvent(const AtomicString& eventType, Node* targe
// will set a selection inside it, which will call setFocuseNodeIfNeeded.
ExceptionCode ec = 0;
Node* n = node->isShadowNode() ? node->shadowParentNode() : node;
- if (m_frame->selection()->isRange() &&
- m_frame->selection()->toNormalizedRange()->compareNode(n, ec) == Range::NODE_INSIDE &&
- n->isDescendantOf(m_frame->document()->focusedNode()))
+ if (m_frame->selection()->isRange()
+ && m_frame->selection()->toNormalizedRange()->compareNode(n, ec) == Range::NODE_INSIDE
+ && n->isDescendantOf(m_frame->document()->focusedNode()))
return false;
break;
@@ -1926,7 +1933,6 @@ bool EventHandler::handleWheelEvent(PlatformWheelEvent& e)
Node* node;
bool isOverWidget;
- bool didSetLatchedNode = false;
HitTestRequest request(HitTestRequest::ReadOnly);
HitTestResult result(vPoint);
@@ -1936,7 +1942,6 @@ bool EventHandler::handleWheelEvent(PlatformWheelEvent& e)
if (!m_latchedWheelEventNode) {
m_latchedWheelEventNode = result.innerNode();
m_widgetIsLatched = result.isOverWidget();
- didSetLatchedNode = true;
}
node = m_latchedWheelEventNode.get();
@@ -2019,11 +2024,11 @@ bool EventHandler::sendContextMenuEvent(const PlatformMouseEvent& event)
// FIXME: This should probably be configurable by embedders. Consider making it a WebPreferences setting.
// See: https://bugs.webkit.org/show_bug.cgi?id=15279
#if !PLATFORM(GTK) && !PLATFORM(CHROMIUM)
- if (!m_frame->selection()->contains(viewportPos) &&
+ if (!m_frame->selection()->contains(viewportPos)
// FIXME: In the editable case, word selection sometimes selects content that isn't underneath the mouse.
// If the selection is non-editable, we do word selection to make it easier to use the contextual menu items
// available for text selections. But only if we're above text.
- (m_frame->selection()->isContentEditable() || (mev.targetNode() && mev.targetNode()->isTextNode()))) {
+ && (m_frame->selection()->isContentEditable() || (mev.targetNode() && mev.targetNode()->isTextNode()))) {
m_mouseDownMayStartSelect = true; // context menu events are always allowed to perform a selection
selectClosestWordOrLinkFromMouseEvent(mev);
}
@@ -2303,19 +2308,16 @@ void EventHandler::handleKeyboardSelectionMovement(KeyboardEvent* event)
bool isCommanded = event->getModifierState("Meta");
if (key == "Up") {
- m_frame->selection()->modify((isShifted) ? SelectionController::EXTEND : SelectionController::MOVE, SelectionController::BACKWARD, (isCommanded) ? DocumentBoundary : LineGranularity, true);
+ m_frame->selection()->modify((isShifted) ? SelectionController::AlterationExtend : SelectionController::AlterationMove, SelectionController::DirectionBackward, (isCommanded) ? DocumentBoundary : LineGranularity, true);
event->setDefaultHandled();
- }
- else if (key == "Down") {
- m_frame->selection()->modify((isShifted) ? SelectionController::EXTEND : SelectionController::MOVE, SelectionController::FORWARD, (isCommanded) ? DocumentBoundary : LineGranularity, true);
+ } else if (key == "Down") {
+ m_frame->selection()->modify((isShifted) ? SelectionController::AlterationExtend : SelectionController::AlterationMove, SelectionController::DirectionForward, (isCommanded) ? DocumentBoundary : LineGranularity, true);
event->setDefaultHandled();
- }
- else if (key == "Left") {
- m_frame->selection()->modify((isShifted) ? SelectionController::EXTEND : SelectionController::MOVE, SelectionController::LEFT, (isCommanded) ? LineBoundary : (isOptioned) ? WordGranularity : CharacterGranularity, true);
+ } else if (key == "Left") {
+ m_frame->selection()->modify((isShifted) ? SelectionController::AlterationExtend : SelectionController::AlterationMove, SelectionController::DirectionLeft, (isCommanded) ? LineBoundary : (isOptioned) ? WordGranularity : CharacterGranularity, true);
event->setDefaultHandled();
- }
- else if (key == "Right") {
- m_frame->selection()->modify((isShifted) ? SelectionController::EXTEND : SelectionController::MOVE, SelectionController::RIGHT, (isCommanded) ? LineBoundary : (isOptioned) ? WordGranularity : CharacterGranularity, true);
+ } else if (key == "Right") {
+ m_frame->selection()->modify((isShifted) ? SelectionController::AlterationExtend : SelectionController::AlterationMove, SelectionController::DirectionRight, (isCommanded) ? LineBoundary : (isOptioned) ? WordGranularity : CharacterGranularity, true);
event->setDefaultHandled();
}
}
@@ -2447,7 +2449,7 @@ bool EventHandler::handleDrag(const MouseEventWithHitTestResults& event)
if (m_mouseDownMayStartDrag && !dragState().m_dragSrc) {
allowDHTMLDrag(dragState().m_dragSrcMayBeDHTML, dragState().m_dragSrcMayBeUA);
if (!dragState().m_dragSrcMayBeDHTML && !dragState().m_dragSrcMayBeUA)
- m_mouseDownMayStartDrag = false; // no element is draggable
+ m_mouseDownMayStartDrag = false; // no element is draggable
}
if (m_mouseDownMayStartDrag && !dragState().m_dragSrc) {
@@ -2463,7 +2465,7 @@ bool EventHandler::handleDrag(const MouseEventWithHitTestResults& event)
dragState().m_dragSrc = 0;
if (!dragState().m_dragSrc)
- m_mouseDownMayStartDrag = false; // no element is draggable
+ m_mouseDownMayStartDrag = false; // no element is draggable
else {
// remember some facts about this source, while we have a HitTestResult handy
node = result.URLElement();
@@ -2503,8 +2505,8 @@ bool EventHandler::handleDrag(const MouseEventWithHitTestResults& event)
DragOperation srcOp = DragOperationNone;
- freeClipboard(); // would only happen if we missed a dragEnd. Do it anyway, just
- // to make sure it gets numbified
+ freeClipboard(); // would only happen if we missed a dragEnd. Do it anyway, just
+ // to make sure it gets numbified
dragState().m_dragClipboard = createDraggingClipboard();
if (dragState().m_dragSrcMayBeDHTML) {
@@ -2768,6 +2770,12 @@ static PassRefPtr<TouchList> assembleTargetTouches(Touch* touchTarget, TouchList
return targetTouches.release();
}
+static float pageZoomFactor(Frame* frame)
+{
+ FrameView* view = frame->view();
+ return view ? view->pageZoomFactor() : 1.0f;
+}
+
bool EventHandler::handleTouchEvent(const PlatformTouchEvent& event)
{
RefPtr<TouchList> touches = TouchList::create();
@@ -2802,8 +2810,8 @@ bool EventHandler::handleTouchEvent(const PlatformTouchEvent& event)
pagePoint = documentPointForWindowPoint(doc->frame(), point.pos());
}
- int adjustedPageX = lroundf(pagePoint.x() / m_frame->pageZoomFactor());
- int adjustedPageY = lroundf(pagePoint.y() / m_frame->pageZoomFactor());
+ int adjustedPageX = lroundf(pagePoint.x() / pageZoomFactor(m_frame));
+ int adjustedPageY = lroundf(pagePoint.y() / pageZoomFactor(m_frame));
// Increment the platform touch id by 1 to avoid storing a key of 0 in the hashmap.
unsigned touchPointTargetKey = point.id() + 1;
diff --git a/WebCore/page/EventHandler.h b/WebCore/page/EventHandler.h
index 39b165d..bf2003e 100644
--- a/WebCore/page/EventHandler.h
+++ b/WebCore/page/EventHandler.h
@@ -114,7 +114,7 @@ public:
bool mousePressed() const { return m_mousePressed; }
void setMousePressed(bool pressed) { m_mousePressed = pressed; }
- void setCapturingMouseEventsNode(PassRefPtr<Node>);
+ void setCapturingMouseEventsNode(PassRefPtr<Node>); // A caller is responsible for resetting capturing node to 0.
#if ENABLE(DRAG_SUPPORT)
bool updateDragAndDrop(const PlatformMouseEvent&, Clipboard*);
@@ -134,9 +134,9 @@ public:
static Frame* subframeForTargetNode(Node*);
- bool scrollOverflow(ScrollDirection, ScrollGranularity);
+ bool scrollOverflow(ScrollDirection, ScrollGranularity, Node* startingNode = 0);
- bool scrollRecursively(ScrollDirection, ScrollGranularity);
+ bool scrollRecursively(ScrollDirection, ScrollGranularity, Node* startingNode = 0);
#if ENABLE(DRAG_SUPPORT)
bool shouldDragAutoNode(Node*, const IntPoint&) const; // -webkit-user-drag == auto
@@ -396,6 +396,7 @@ private:
RenderLayer* m_resizeLayer;
RefPtr<Node> m_capturingMouseEventsNode;
+ bool m_eventHandlerWillResetCapturingMouseEventsNode;
RefPtr<Node> m_nodeUnderMouse;
RefPtr<Node> m_lastNodeUnderMouse;
diff --git a/WebCore/page/Frame.cpp b/WebCore/page/Frame.cpp
index 216f6b3..f0ce1f2 100644
--- a/WebCore/page/Frame.cpp
+++ b/WebCore/page/Frame.cpp
@@ -155,9 +155,6 @@ Frame::Frame(Page* page, HTMLFrameOwnerElement* ownerElement, FrameLoaderClient*
, m_isDisconnected(false)
, m_excludeFromTextSearch(false)
{
- Frame* parent = parentFromOwnerElement(ownerElement);
- m_zoomFactor = parent ? parent->m_zoomFactor : 1.0f;
-
AtomicString::init();
HTMLNames::init();
QualifiedName::init();
@@ -614,56 +611,6 @@ void Frame::paintDragCaret(GraphicsContext* p, int tx, int ty, const IntRect& cl
#endif
}
-ZoomMode Frame::zoomMode() const
-{
- return m_page->settings()->zoomMode();
-}
-
-bool Frame::shouldApplyTextZoom() const
-{
- return m_zoomFactor != 1.0f && zoomMode() == ZoomTextOnly;
-}
-
-bool Frame::shouldApplyPageZoom() const
-{
- return m_zoomFactor != 1.0f && zoomMode() == ZoomPage;
-}
-
-void Frame::setZoomFactor(float percent, ZoomMode mode)
-{
- if (m_zoomFactor == percent && zoomMode() == mode)
- return;
-
-#if ENABLE(SVG)
- // Respect SVGs zoomAndPan="disabled" property in standalone SVG documents.
- // FIXME: How to handle compound documents + zoomAndPan="disabled"? Needs SVG WG clarification.
- if (m_doc->isSVGDocument()) {
- if (!static_cast<SVGDocument*>(m_doc.get())->zoomAndPanEnabled())
- return;
- if (m_doc->renderer())
- m_doc->renderer()->setNeedsLayout(true);
- }
-#endif
-
- if (mode == ZoomPage) {
- // Update the scroll position when doing a full page zoom, so the content stays in relatively the same position.
- IntPoint scrollPosition = view()->scrollPosition();
- float percentDifference = (percent / m_zoomFactor);
- view()->setScrollPosition(IntPoint(scrollPosition.x() * percentDifference, scrollPosition.y() * percentDifference));
- }
-
- m_zoomFactor = percent;
- m_page->settings()->setZoomMode(mode);
-
- m_doc->recalcStyle(Node::Force);
-
- for (Frame* child = tree()->firstChild(); child; child = child->tree()->nextSibling())
- child->setZoomFactor(m_zoomFactor, mode);
-
- if (m_doc->renderer() && m_doc->renderer()->needsLayout() && view()->didFirstLayout())
- view()->layout();
-}
-
void Frame::setPrinting(bool printing, float minPageWidth, float maxPageWidth, bool adjustViewSize)
{
m_doc->setPrinting(printing);
@@ -938,12 +885,6 @@ void Frame::applyEditingStyleToBodyElement() const
applyEditingStyleToElement(static_cast<Element*>(list->item(i)));
}
-void Frame::removeEditingStyleFromBodyElement() const
-{
- // FIXME: This function does nothing. We should either implement it
- // or remove it along with all call sites.
-}
-
void Frame::applyEditingStyleToElement(Element* element) const
{
if (!element)
diff --git a/WebCore/page/Frame.h b/WebCore/page/Frame.h
index f84952e..7e80370 100644
--- a/WebCore/page/Frame.h
+++ b/WebCore/page/Frame.h
@@ -149,9 +149,9 @@ namespace WebCore {
void setInViewSourceMode(bool = true);
void keepAlive(); // Used to keep the frame alive when running a script that might destroy it.
- #ifndef NDEBUG
+#ifndef NDEBUG
static void cancelAllKeepAlive();
- #endif
+#endif
void setDocument(PassRefPtr<Document>);
@@ -189,17 +189,6 @@ namespace WebCore {
private:
void lifeSupportTimerFired(Timer<Frame>*);
- // === to be moved into FrameView
-
- public:
- void setZoomFactor(float scale, ZoomMode);
- float zoomFactor() const;
- ZoomMode zoomMode() const;
- bool shouldApplyTextZoom() const;
- bool shouldApplyPageZoom() const;
- float pageZoomFactor() const { return shouldApplyPageZoom() ? zoomFactor() : 1.0f; }
- float textZoomFactor() const { return shouldApplyTextZoom() ? zoomFactor() : 1.0f; }
-
// === to be moved into Chrome
public:
@@ -225,7 +214,6 @@ namespace WebCore {
void computeAndSetTypingStyle(CSSStyleDeclaration* , EditAction = EditActionUnspecified);
String selectionStartStylePropertyValue(int stylePropertyID) const;
void applyEditingStyleToBodyElement() const;
- void removeEditingStyleFromBodyElement() const;
void applyEditingStyleToElement(Element*) const;
IntRect firstRectForRange(Range*) const;
@@ -285,9 +273,10 @@ namespace WebCore {
VisiblePosition visiblePositionForPoint(const IntPoint& framePoint);
Document* documentAtPoint(const IntPoint& windowPoint);
-
- private:
+
#if ENABLE(TILED_BACKING_STORE)
+
+ private:
// TiledBackingStoreClient interface
virtual void tiledBackingStorePaintBegin();
virtual void tiledBackingStorePaint(GraphicsContext*, const IntRect&);
@@ -296,7 +285,7 @@ namespace WebCore {
virtual IntRect tiledBackingStoreVisibleRect();
#endif
- #if PLATFORM(MAC)
+#if PLATFORM(MAC)
// === undecided, would like to consider moving to another class
@@ -305,9 +294,9 @@ namespace WebCore {
NSString* searchForLabelsBeforeElement(NSArray* labels, Element*, size_t* resultDistance, bool* resultIsInCellAbove);
NSString* matchLabelsAgainstElement(NSArray* labels, Element*);
- #if ENABLE(DASHBOARD_SUPPORT)
+#if ENABLE(DASHBOARD_SUPPORT)
NSMutableDictionary* dashboardRegionsDictionary();
- #endif
+#endif
NSImage* selectionImage(bool forceBlackText = false) const;
NSImage* snapshotDragImage(Node*, NSRect* imageRect, NSRect* elementRect) const;
@@ -322,15 +311,15 @@ namespace WebCore {
NSDictionary* fontAttributesForSelectionStart() const;
NSWritingDirection baseWritingDirectionForSelectionStart() const;
- #endif
+#endif
- #if PLATFORM(WIN)
+#if PLATFORM(WIN)
public:
// FIXME - We should have a single version of nodeImage instead of using platform types.
HBITMAP nodeImage(Node*) const;
- #endif
+#endif
private:
Page* m_page;
@@ -350,8 +339,6 @@ namespace WebCore {
String m_kjsStatusBarText;
String m_kjsDefaultStatusBarText;
- float m_zoomFactor;
-
mutable SelectionController m_selectionController;
mutable VisibleSelection m_mark;
mutable Editor m_editor;
@@ -437,11 +424,6 @@ namespace WebCore {
m_mark = s;
}
- inline float Frame::zoomFactor() const
- {
- return m_zoomFactor;
- }
-
inline String Frame::jsStatusBarText() const
{
return m_kjsStatusBarText;
diff --git a/WebCore/page/FrameTree.cpp b/WebCore/page/FrameTree.cpp
index d6170e1..1f0604c 100644
--- a/WebCore/page/FrameTree.cpp
+++ b/WebCore/page/FrameTree.cpp
@@ -136,7 +136,7 @@ AtomicString FrameTree::uniqueChildName(const AtomicString& requestedName) const
// Suffix buffer has more than enough space for:
// 10 characters before the number
- // a number (3 digits for the highest this gets in practice, 20 digits for the largest 64-bit integer)
+ // a number (20 digits for the largest 64-bit integer)
// 6 characters after the number
// trailing null byte
// But we still use snprintf just to be extra-safe.
diff --git a/WebCore/page/FrameView.cpp b/WebCore/page/FrameView.cpp
index b4bfa74..d549ff4 100644
--- a/WebCore/page/FrameView.cpp
+++ b/WebCore/page/FrameView.cpp
@@ -116,6 +116,17 @@ struct ScheduledEvent : Noncopyable {
RefPtr<Node> m_eventTarget;
};
+static inline float parentZoomFactor(Frame* frame)
+{
+ Frame* parent = frame->tree()->parent();
+ if (!parent)
+ return 1;
+ FrameView* parentView = parent->view();
+ if (!parentView)
+ return 1;
+ return parentView->zoomFactor();
+}
+
FrameView::FrameView(Frame* frame)
: m_frame(frame)
, m_canHaveScrollbars(true)
@@ -137,6 +148,7 @@ FrameView::FrameView(Frame* frame)
, m_deferSetNeedsLayouts(0)
, m_setNeedsLayoutWasDeferred(false)
, m_scrollCorner(0)
+ , m_zoomFactor(parentZoomFactor(frame))
{
init();
}
@@ -2166,4 +2178,72 @@ IntPoint FrameView::convertFromContainingView(const IntPoint& parentPoint) const
return parentPoint;
}
+bool FrameView::shouldApplyTextZoom() const
+{
+ if (m_zoomFactor == 1)
+ return false;
+ if (!m_frame)
+ return false;
+ Page* page = m_frame->page();
+ return page && page->settings()->zoomMode() == ZoomTextOnly;
+}
+
+bool FrameView::shouldApplyPageZoom() const
+{
+ if (m_zoomFactor == 1)
+ return false;
+ if (!m_frame)
+ return false;
+ Page* page = m_frame->page();
+ return page && page->settings()->zoomMode() == ZoomPage;
+}
+
+void FrameView::setZoomFactor(float percent, ZoomMode mode)
+{
+ if (!m_frame)
+ return;
+
+ Page* page = m_frame->page();
+ if (!page)
+ return;
+
+ if (m_zoomFactor == percent && page->settings()->zoomMode() == mode)
+ return;
+
+ Document* document = m_frame->document();
+ if (!document)
+ return;
+
+#if ENABLE(SVG)
+ // Respect SVGs zoomAndPan="disabled" property in standalone SVG documents.
+ // FIXME: How to handle compound documents + zoomAndPan="disabled"? Needs SVG WG clarification.
+ if (document->isSVGDocument()) {
+ if (!static_cast<SVGDocument*>(document)->zoomAndPanEnabled())
+ return;
+ if (document->renderer())
+ document->renderer()->setNeedsLayout(true);
+ }
+#endif
+
+ if (mode == ZoomPage) {
+ // Update the scroll position when doing a full page zoom, so the content stays in relatively the same position.
+ IntPoint scrollPosition = this->scrollPosition();
+ float percentDifference = (percent / m_zoomFactor);
+ setScrollPosition(IntPoint(scrollPosition.x() * percentDifference, scrollPosition.y() * percentDifference));
+ }
+
+ m_zoomFactor = percent;
+ page->settings()->setZoomMode(mode);
+
+ document->recalcStyle(Node::Force);
+
+ for (Frame* child = m_frame->tree()->firstChild(); child; child = child->tree()->nextSibling()) {
+ if (FrameView* childView = child->view())
+ childView->setZoomFactor(m_zoomFactor, mode);
+ }
+
+ if (document->renderer() && document->renderer()->needsLayout() && didFirstLayout())
+ layout();
+}
+
} // namespace WebCore
diff --git a/WebCore/page/FrameView.h b/WebCore/page/FrameView.h
index 6bd1c21..203dc86 100644
--- a/WebCore/page/FrameView.h
+++ b/WebCore/page/FrameView.h
@@ -214,6 +214,13 @@ public:
bool isFrameViewScrollCorner(RenderScrollbarPart* scrollCorner) const { return m_scrollCorner == scrollCorner; }
void invalidateScrollCorner();
+ void setZoomFactor(float scale, ZoomMode);
+ float zoomFactor() const { return m_zoomFactor; }
+ bool shouldApplyTextZoom() const;
+ bool shouldApplyPageZoom() const;
+ float pageZoomFactor() const { return shouldApplyPageZoom() ? m_zoomFactor : 1.0f; }
+ float textZoomFactor() const { return shouldApplyTextZoom() ? m_zoomFactor : 1.0f; }
+
private:
FrameView(Frame*);
@@ -287,7 +294,8 @@ private:
unsigned m_slowRepaintObjectCount;
unsigned m_fixedObjectCount;
- int m_borderX, m_borderY;
+ int m_borderX;
+ int m_borderY;
Timer<FrameView> m_layoutTimer;
bool m_delayedLayout;
@@ -343,6 +351,8 @@ private:
// Renderer to hold our custom scroll corner.
RenderScrollbarPart* m_scrollCorner;
+
+ float m_zoomFactor;
};
#if ENABLE(INSPECTOR)
diff --git a/WebCore/page/Geolocation.cpp b/WebCore/page/Geolocation.cpp
index 96fe564..7dcf0a1 100644
--- a/WebCore/page/Geolocation.cpp
+++ b/WebCore/page/Geolocation.cpp
@@ -221,17 +221,12 @@ Geolocation::~Geolocation()
{
}
-void Geolocation::stop()
-{
- m_oneShots.clear();
- m_watchers.clear();
- stopUpdating();
-}
-
void Geolocation::disconnectFrame()
{
if (m_frame && m_frame->page() && m_allowGeolocation == InProgress)
m_frame->page()->chrome()->cancelGeolocationPermissionRequestForFrame(m_frame, this);
+ stopTimers();
+ stopUpdating();
if (m_frame && m_frame->document())
m_frame->document()->setUsingGeolocation(false);
m_frame = 0;
@@ -688,8 +683,6 @@ Geolocation::~Geolocation() {}
void Geolocation::setIsAllowed(bool) {}
-void Geolocation::stop() {}
-
}
#endif // ENABLE(GEOLOCATION)
diff --git a/WebCore/page/Geolocation.h b/WebCore/page/Geolocation.h
index 14aaac0..1d0050f 100644
--- a/WebCore/page/Geolocation.h
+++ b/WebCore/page/Geolocation.h
@@ -65,8 +65,6 @@ public:
void suspend();
void resume();
- void stop();
-
void setIsAllowed(bool);
Frame* frame() const { return m_frame; }
diff --git a/WebCore/page/Page.cpp b/WebCore/page/Page.cpp
index ae7c9ad..446f9f0 100644
--- a/WebCore/page/Page.cpp
+++ b/WebCore/page/Page.cpp
@@ -395,13 +395,17 @@ void Page::refreshPlugins(bool reload)
HashSet<Page*>::iterator end = allPages->end();
for (HashSet<Page*>::iterator it = allPages->begin(); it != end; ++it) {
- (*it)->m_pluginData = 0;
+ Page* page = *it;
+
+ // Clear out the page's plug-in data.
+ page->m_pluginData = 0;
- if (reload) {
- for (Frame* frame = (*it)->mainFrame(); frame; frame = frame->tree()->traverseNext()) {
- if (frame->loader()->containsPlugins())
- framesNeedingReload.append(frame);
- }
+ if (!reload)
+ continue;
+
+ for (Frame* frame = (*it)->mainFrame(); frame; frame = frame->tree()->traverseNext()) {
+ if (frame->loader()->containsPlugins())
+ framesNeedingReload.append(frame);
}
}
diff --git a/WebCore/page/Page.h b/WebCore/page/Page.h
index aa7bae1..b931092 100644
--- a/WebCore/page/Page.h
+++ b/WebCore/page/Page.h
@@ -232,6 +232,12 @@ namespace WebCore {
#if ENABLE(INSPECTOR)
InspectorTimelineAgent* inspectorTimelineAgent() const;
#endif
+
+ // Don't allow more than a certain number of frames in a page.
+ // This seems like a reasonable upper bound, and otherwise mutually
+ // recursive frameset pages can quickly bring the program to its knees
+ // with exponential growth in the number of frames.
+ static const int maxNumberOfFrames = 1000;
private:
void initGroup();
diff --git a/WebCore/page/SuspendableTimer.cpp b/WebCore/page/SuspendableTimer.cpp
new file mode 100644
index 0000000..532b0ed
--- /dev/null
+++ b/WebCore/page/SuspendableTimer.cpp
@@ -0,0 +1,83 @@
+/*
+ * Copyright (C) 2008 Apple Inc. All Rights Reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include "config.h"
+#include "SuspendableTimer.h"
+
+#include "ScriptExecutionContext.h"
+
+namespace WebCore {
+
+SuspendableTimer::SuspendableTimer(ScriptExecutionContext* context)
+ : ActiveDOMObject(context, this)
+ , m_nextFireInterval(0)
+ , m_repeatInterval(0)
+#if !ASSERT_DISABLED
+ , m_suspended(false)
+#endif
+{
+}
+
+SuspendableTimer::~SuspendableTimer()
+{
+}
+
+bool SuspendableTimer::hasPendingActivity() const
+{
+ return isActive();
+}
+
+void SuspendableTimer::stop()
+{
+ TimerBase::stop();
+}
+
+void SuspendableTimer::suspend()
+{
+#if !ASSERT_DISABLED
+ ASSERT(!m_suspended);
+ m_suspended = true;
+#endif
+ m_nextFireInterval = nextFireInterval();
+ m_repeatInterval = repeatInterval();
+ TimerBase::stop();
+}
+
+void SuspendableTimer::resume()
+{
+#if !ASSERT_DISABLED
+ ASSERT(m_suspended);
+ m_suspended = false;
+#endif
+ start(m_nextFireInterval, m_repeatInterval);
+}
+
+bool SuspendableTimer::canSuspend() const
+{
+ return true;
+}
+
+} // namespace WebCore
diff --git a/WebCore/page/SuspendableTimer.h b/WebCore/page/SuspendableTimer.h
new file mode 100644
index 0000000..eae6153
--- /dev/null
+++ b/WebCore/page/SuspendableTimer.h
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2008 Apple Inc. All Rights Reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#ifndef SuspendableTimer_h
+#define SuspendableTimer_h
+
+#include "ActiveDOMObject.h"
+#include "Timer.h"
+
+namespace WebCore {
+
+class SuspendableTimer : public TimerBase, public ActiveDOMObject {
+public:
+ SuspendableTimer(ScriptExecutionContext*);
+ virtual ~SuspendableTimer();
+
+ // ActiveDOMObject
+ virtual bool hasPendingActivity() const;
+ virtual void stop();
+ virtual bool canSuspend() const;
+ virtual void suspend();
+ virtual void resume();
+
+private:
+ virtual void fired() = 0;
+
+ double m_nextFireInterval;
+ double m_repeatInterval;
+#if !ASSERT_DISABLED
+ bool m_suspended;
+#endif
+};
+
+} // namespace WebCore
+
+#endif // SuspendableTimer_h
+
diff --git a/WebCore/page/animation/AnimationBase.cpp b/WebCore/page/animation/AnimationBase.cpp
index 6ab56e9..aa6a4c1 100644
--- a/WebCore/page/animation/AnimationBase.cpp
+++ b/WebCore/page/animation/AnimationBase.cpp
@@ -1226,10 +1226,6 @@ double AnimationBase::progress(double scale, double offset, const TimingFunction
void AnimationBase::getTimeToNextEvent(double& time, bool& isLooping) const
{
// Decide when the end or loop event needs to fire
- double totalDuration = -1;
- if (m_animation->iterationCount() > 0)
- totalDuration = m_animation->duration() * m_animation->iterationCount();
-
const double elapsedDuration = max(beginAnimationUpdateTime() - m_startTime, 0.0);
double durationLeft = 0;
double nextIterationTime = m_totalDuration;
diff --git a/WebCore/platform/ContextMenu.h b/WebCore/platform/ContextMenu.h
index 77843dc..ca21f29 100644
--- a/WebCore/platform/ContextMenu.h
+++ b/WebCore/platform/ContextMenu.h
@@ -41,6 +41,9 @@
namespace WebCore {
class ContextMenuController;
+#if PLATFORM(EFL)
+ class ContextMenuClientEfl;
+#endif
class ContextMenu : public Noncopyable
{
@@ -80,6 +83,9 @@ namespace WebCore {
QList<ContextMenuItem> m_items;
#elif PLATFORM(CHROMIUM)
Vector<ContextMenuItem> m_items;
+#elif PLATFORM(EFL)
+ ContextMenuClientEfl* m_contextMenuClient;
+ PlatformMenuDescription m_platformDescription;
#else
PlatformMenuDescription m_platformDescription;
#endif
diff --git a/WebCore/platform/ContextMenuItem.h b/WebCore/platform/ContextMenuItem.h
index b4c97a5..8c46e10 100644
--- a/WebCore/platform/ContextMenuItem.h
+++ b/WebCore/platform/ContextMenuItem.h
@@ -224,6 +224,22 @@ namespace WebCore {
bool checked;
bool enabled;
};
+#elif PLATFORM(EFL)
+ struct PlatformMenuItemDescription {
+ PlatformMenuItemDescription()
+ : type(ActionType)
+ , action(ContextMenuItemTagNoAction)
+ , title("")
+ , subMenu(0)
+ , checked(false)
+ , enabled(true) { }
+ ContextMenuItemType type;
+ ContextMenuAction action;
+ String title;
+ ContextMenu* subMenu;
+ bool checked;
+ bool enabled;
+ };
#else
typedef void* PlatformMenuItemDescription;
#endif
diff --git a/WebCore/plugins/PluginInfoStore.h b/WebCore/platform/KillRing.h
index 302cf8c..8e27350 100644
--- a/WebCore/plugins/PluginInfoStore.h
+++ b/WebCore/platform/KillRing.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2006 Apple Computer, Inc. All rights reserved.
+ * Copyright (C) 2010 Google Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -23,26 +23,22 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef PluginInfoStore_h
-#define PluginInfoStore_h
+#ifndef KillRing_h
+#define KillRing_h
#include "PlatformString.h"
-#include <wtf/Vector.h>
namespace WebCore {
-struct PluginInfo;
-
-class PluginInfoStore {
+class KillRing {
public:
- PluginInfo *createPluginInfoForPluginAtIndex(unsigned);
- unsigned pluginCount() const;
- static String pluginNameForMIMEType(const String& mimeType);
- static bool supportsMIMEType(const String& mimeType);
+ void append(const String&);
+ void prepend(const String&);
+ String yank();
+ void startNewSequence();
+ void setToYankedState();
};
-void refreshPlugins(bool reloadOpenPages);
-
-}
+} // namespace WebCore
-#endif
+#endif // KillRing_h
diff --git a/WebCore/platform/KillRingNone.cpp b/WebCore/platform/KillRingNone.cpp
new file mode 100644
index 0000000..35098aa
--- /dev/null
+++ b/WebCore/platform/KillRingNone.cpp
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2010 Google Inc. All Rights Reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "KillRing.h"
+
+namespace WebCore {
+
+void KillRing::append(const String& string)
+{
+}
+
+void KillRing::prepend(const String& string)
+{
+}
+
+String KillRing::yank()
+{
+ return String();
+}
+
+void KillRing::startNewSequence()
+{
+}
+
+void KillRing::setToYankedState()
+{
+}
+
+} // namespace WebCore
diff --git a/WebCore/platform/PopupMenu.h b/WebCore/platform/PopupMenu.h
index 4df0dcd..f25a63b 100644
--- a/WebCore/platform/PopupMenu.h
+++ b/WebCore/platform/PopupMenu.h
@@ -182,6 +182,8 @@ private:
static void menuUnmapped(GtkWidget*, PopupMenu*);
static void menuPositionFunction(GtkMenu*, gint*, gint*, gboolean*, PopupMenu*);
static void menuRemoveItem(GtkWidget*, PopupMenu*);
+#elif PLATFORM(EFL)
+ FrameView* m_view;
#elif PLATFORM(WX)
wxMenu* m_menu;
void OnMenuItemSelected(wxCommandEvent&);
diff --git a/WebCore/platform/ScrollView.cpp b/WebCore/platform/ScrollView.cpp
index 3fcb68d..3ed65c3 100644
--- a/WebCore/platform/ScrollView.cpp
+++ b/WebCore/platform/ScrollView.cpp
@@ -714,7 +714,8 @@ void ScrollView::setFrameRect(const IntRect& newRect)
if (newRect.width() != oldRect.width() || newRect.height() != oldRect.height()) {
updateScrollbars(m_scrollOffset);
- contentsResized();
+ if (!m_useFixedLayout)
+ contentsResized();
}
frameRectsChanged();
diff --git a/WebCore/platform/android/TemporaryLinkStubs.cpp b/WebCore/platform/android/TemporaryLinkStubs.cpp
index c431014..3cb65b7 100644
--- a/WebCore/platform/android/TemporaryLinkStubs.cpp
+++ b/WebCore/platform/android/TemporaryLinkStubs.cpp
@@ -65,8 +65,11 @@
#include "PageCache.h"
#include "Pasteboard.h"
#include "Path.h"
+<<<<<<< HEAD
#include "PluginInfoStore.h"
#include "PluginWidget.h"
+=======
+>>>>>>> webkit.org at r60469
#include "ResourceError.h"
#include "ResourceHandle.h"
#include "ResourceLoader.h"
@@ -104,6 +107,7 @@ String WebCore::defaultLanguage()
namespace WebCore {
+<<<<<<< HEAD
#if !defined(ANDROID_PLUGINS)
// If plugins support is turned on, don't use these stubs.
@@ -148,6 +152,8 @@ void refreshPlugins(bool)
// defines this in plugins/mac/PluginWidgetMac.mm
void PluginWidget::invalidateRect(const IntRect&) {}
+=======
+>>>>>>> webkit.org at r60469
// This function tells the bridge that a resource was loaded from the cache and thus
// the app may update progress with the amount of data loaded.
void CheckCacheObjectStatus(DocLoader*, CachedResource*)
diff --git a/WebCore/platform/chromium/ChromiumBridge.h b/WebCore/platform/chromium/ChromiumBridge.h
index c84931b..f1dc95b 100644
--- a/WebCore/platform/chromium/ChromiumBridge.h
+++ b/WebCore/platform/chromium/ChromiumBridge.h
@@ -36,6 +36,7 @@
#include "LinkHash.h"
#include "PassRefPtr.h"
#include "PasteboardPrivate.h"
+#include "PluginData.h"
#include <wtf/Vector.h>
@@ -64,7 +65,6 @@ namespace WebCore {
class Widget;
struct Cookie;
- struct PluginInfo;
struct FontRenderStyle;
// An interface to the embedding layer, which has the ability to answer
@@ -176,7 +176,7 @@ namespace WebCore {
static String preferredExtensionForMIMEType(const String& mimeType);
// Plugin -------------------------------------------------------------
- static bool plugins(bool refresh, Vector<PluginInfo*>*);
+ static bool plugins(bool refresh, Vector<PluginInfo>*);
static NPObject* pluginScriptableObject(Widget*);
static bool popupsAllowed(NPP);
diff --git a/WebCore/platform/efl/ContextMenuEfl.cpp b/WebCore/platform/efl/ContextMenuEfl.cpp
index 240f106..8d85608 100644
--- a/WebCore/platform/efl/ContextMenuEfl.cpp
+++ b/WebCore/platform/efl/ContextMenuEfl.cpp
@@ -22,30 +22,45 @@
#include "config.h"
#include "ContextMenu.h"
+#include "ContextMenuClient.h"
+#include "ContextMenuClientEfl.h"
+#include "ContextMenuController.h"
#include "NotImplemented.h"
namespace WebCore {
ContextMenu::ContextMenu(const HitTestResult& result)
: m_hitTestResult(result)
- , m_platformDescription(0)
{
- notImplemented();
+ m_contextMenuClient = static_cast<ContextMenuClientEfl*>(controller()->client());
+ m_platformDescription = m_contextMenuClient->createPlatformDescription(this);
+}
+
+ContextMenu::ContextMenu(const HitTestResult& result, const PlatformMenuDescription menu)
+ : m_hitTestResult(result)
+ , m_platformDescription(menu)
+{
+ m_contextMenuClient = static_cast<ContextMenuClientEfl*>(controller()->client());
}
ContextMenu::~ContextMenu()
{
- notImplemented();
+ if (m_platformDescription)
+ m_contextMenuClient->freePlatformDescription(m_platformDescription);
}
-void ContextMenu::appendItem(ContextMenuItem&)
+void ContextMenu::appendItem(ContextMenuItem& item)
{
- notImplemented();
+ checkOrEnableIfNeeded(item);
+ m_contextMenuClient->appendItem(m_platformDescription, item);
}
void ContextMenu::setPlatformDescription(PlatformMenuDescription menu)
{
+ ASSERT(!m_platformDescription);
+
m_platformDescription = menu;
+ m_contextMenuClient->show(m_platformDescription);
}
PlatformMenuDescription ContextMenu::platformDescription() const
@@ -55,8 +70,12 @@ PlatformMenuDescription ContextMenu::platformDescription() const
PlatformMenuDescription ContextMenu::releasePlatformDescription()
{
- notImplemented();
- return 0;
+ // Ref count remains the same, just pass it and remove our ref, so it
+ // will not be decremented when this object goes away.
+ PlatformMenuDescription description = m_platformDescription;
+ m_platformDescription = 0;
+
+ return description;
}
}
diff --git a/WebCore/platform/efl/ContextMenuItemEfl.cpp b/WebCore/platform/efl/ContextMenuItemEfl.cpp
index d669130..efa743f 100644
--- a/WebCore/platform/efl/ContextMenuItemEfl.cpp
+++ b/WebCore/platform/efl/ContextMenuItemEfl.cpp
@@ -37,82 +37,107 @@ namespace WebCore {
ContextMenuItem::ContextMenuItem(PlatformMenuItemDescription)
{
+ // It's inside WebKit that this initialization is done, as WebCore doesn't
+ // know how PlatformMenuItemDescription is implemented.
notImplemented();
}
-ContextMenuItem::ContextMenuItem(ContextMenu*)
+ContextMenuItem::ContextMenuItem(ContextMenu* submenu)
{
- notImplemented();
+ m_platformDescription.type = SubmenuType;
+ setSubMenu(submenu);
}
-ContextMenuItem::ContextMenuItem(ContextMenuItemType, ContextMenuAction, const String&, ContextMenu*)
+ContextMenuItem::ContextMenuItem(ContextMenuItemType type, ContextMenuAction action, const String& title, ContextMenu* subMenu)
{
- notImplemented();
+ m_platformDescription.type = type;
+ m_platformDescription.action = action;
+ m_platformDescription.title = String(title);
+
+ setSubMenu(subMenu);
}
ContextMenuItem::~ContextMenuItem()
{
- notImplemented();
+ if (m_platformDescription.subMenu)
+ delete m_platformDescription.subMenu;
}
PlatformMenuItemDescription ContextMenuItem::releasePlatformDescription()
{
- notImplemented();
return m_platformDescription;
}
ContextMenuItemType ContextMenuItem::type() const
{
- notImplemented();
- return ActionType;
+ return m_platformDescription.type;
}
-void ContextMenuItem::setType(ContextMenuItemType)
+void ContextMenuItem::setType(ContextMenuItemType type)
{
- notImplemented();
+ m_platformDescription.type = type;
}
ContextMenuAction ContextMenuItem::action() const
{
- notImplemented();
- return ContextMenuItemTagNoAction;
+ return m_platformDescription.action;
}
-void ContextMenuItem::setAction(ContextMenuAction)
+void ContextMenuItem::setAction(ContextMenuAction action)
{
- notImplemented();
+ m_platformDescription.action = action;
}
String ContextMenuItem::title() const
{
- notImplemented();
- return String();
+ return m_platformDescription.title;
}
-void ContextMenuItem::setTitle(const String&)
+void ContextMenuItem::setTitle(const String& title)
{
- notImplemented();
+ m_platformDescription.title = String(title);
}
PlatformMenuDescription ContextMenuItem::platformSubMenu() const
{
- notImplemented();
- return 0;
+ if (!m_platformDescription.subMenu)
+ return 0;
+
+ return m_platformDescription.subMenu->platformDescription();
+
}
-void ContextMenuItem::setSubMenu(ContextMenu*)
+void ContextMenuItem::setSubMenu(ContextMenu* subMenu)
{
- notImplemented();
+ delete m_platformDescription.subMenu;
+ m_platformDescription.subMenu = 0;
+
+ if (!subMenu)
+ return;
+
+ m_platformDescription.type = SubmenuType;
+ m_platformDescription.subMenu = new ContextMenu(subMenu->hitTestResult(),
+ subMenu->releasePlatformDescription());
}
-void ContextMenuItem::setChecked(bool)
+bool ContextMenuItem::checked() const
{
- notImplemented();
+ return m_platformDescription.checked;
}
-void ContextMenuItem::setEnabled(bool)
+void ContextMenuItem::setChecked(bool shouldCheck)
{
- notImplemented();
+ m_platformDescription.checked = shouldCheck;
+}
+
+bool ContextMenuItem::enabled() const
+{
+ return m_platformDescription.enabled;
+}
+
+void ContextMenuItem::setEnabled(bool shouldEnable)
+{
+ m_platformDescription.enabled = shouldEnable;
}
}
diff --git a/WebCore/platform/efl/PlatformKeyboardEventEfl.cpp b/WebCore/platform/efl/PlatformKeyboardEventEfl.cpp
index 692ddf4..f2f03a4 100644
--- a/WebCore/platform/efl/PlatformKeyboardEventEfl.cpp
+++ b/WebCore/platform/efl/PlatformKeyboardEventEfl.cpp
@@ -189,11 +189,11 @@ static int windowsKeyCodeForEvasKeyName(String& keyName)
PlatformKeyboardEvent::PlatformKeyboardEvent(const Evas_Event_Key_Down* ev)
: m_type(KeyDown)
- , m_metaKey(evas_key_modifier_is_set(ev->modifiers, "Meta"))
+ , m_text(String::fromUTF8(ev->string))
, m_shiftKey(evas_key_modifier_is_set(ev->modifiers, "Shift"))
, m_ctrlKey(evas_key_modifier_is_set(ev->modifiers, "Control"))
, m_altKey(evas_key_modifier_is_set(ev->modifiers, "Alt"))
- , m_text(String::fromUTF8(ev->string))
+ , m_metaKey(evas_key_modifier_is_set(ev->modifiers, "Meta"))
{
String keyName = String(ev->key);
m_keyIdentifier = keyIdentifierForEvasKeyName(keyName);
@@ -206,11 +206,11 @@ PlatformKeyboardEvent::PlatformKeyboardEvent(const Evas_Event_Key_Down* ev)
PlatformKeyboardEvent::PlatformKeyboardEvent(const Evas_Event_Key_Up* ev)
: m_type(KeyUp)
- , m_metaKey(evas_key_modifier_is_set(ev->modifiers, "Meta"))
+ , m_text(String::fromUTF8(ev->string))
, m_shiftKey(evas_key_modifier_is_set(ev->modifiers, "Shift"))
, m_ctrlKey(evas_key_modifier_is_set(ev->modifiers, "Control"))
, m_altKey(evas_key_modifier_is_set(ev->modifiers, "Alt"))
- , m_text(String::fromUTF8(ev->string))
+ , m_metaKey(evas_key_modifier_is_set(ev->modifiers, "Meta"))
{
String keyName = String(ev->key);
m_keyIdentifier = keyIdentifierForEvasKeyName(keyName);
diff --git a/WebCore/platform/efl/PlatformMouseEventEfl.cpp b/WebCore/platform/efl/PlatformMouseEventEfl.cpp
index 194e15a..a03614c 100644
--- a/WebCore/platform/efl/PlatformMouseEventEfl.cpp
+++ b/WebCore/platform/efl/PlatformMouseEventEfl.cpp
@@ -48,44 +48,44 @@ void PlatformMouseEvent::setClickCount(Evas_Button_Flags flags)
}
PlatformMouseEvent::PlatformMouseEvent(const Evas_Event_Mouse_Down* ev, IntPoint pos)
- : m_timestamp(currentTime())
+ : m_position(IntPoint(ev->canvas.x - pos.x(), ev->canvas.y - pos.y()))
+ , m_globalPosition(IntPoint(ev->canvas.x, ev->canvas.y))
+ , m_button(MouseButton(ev->button - 1))
+ , m_eventType(MouseEventPressed)
, m_shiftKey(evas_key_modifier_is_set(ev->modifiers, "Shift"))
, m_ctrlKey(evas_key_modifier_is_set(ev->modifiers, "Control"))
, m_altKey(evas_key_modifier_is_set(ev->modifiers, "Alt"))
, m_metaKey(evas_key_modifier_is_set(ev->modifiers, "Meta"))
- , m_globalPosition(IntPoint(ev->canvas.x, ev->canvas.y))
- , m_position(IntPoint(ev->canvas.x - pos.x(), ev->canvas.y - pos.y()))
- , m_button(MouseButton(ev->button - 1))
- , m_eventType(MouseEventPressed)
+ , m_timestamp(currentTime())
{
setClickCount(ev->flags);
}
PlatformMouseEvent::PlatformMouseEvent(const Evas_Event_Mouse_Up* ev, IntPoint pos)
- : m_timestamp(currentTime())
+ : m_position(IntPoint(ev->canvas.x - pos.x(), ev->canvas.y - pos.y()))
+ , m_globalPosition(IntPoint(ev->canvas.x, ev->canvas.y))
+ , m_button(MouseButton(ev->button - 1))
+ , m_eventType(MouseEventReleased)
, m_shiftKey(evas_key_modifier_is_set(ev->modifiers, "Shift"))
, m_ctrlKey(evas_key_modifier_is_set(ev->modifiers, "Control"))
, m_altKey(evas_key_modifier_is_set(ev->modifiers, "Alt"))
, m_metaKey(evas_key_modifier_is_set(ev->modifiers, "Meta"))
- , m_globalPosition(IntPoint(ev->canvas.x, ev->canvas.y))
- , m_position(IntPoint(ev->canvas.x - pos.x(), ev->canvas.y - pos.y()))
- , m_button(MouseButton(ev->button - 1))
- , m_eventType(MouseEventReleased)
+ , m_timestamp(currentTime())
{
setClickCount(ev->flags);
}
PlatformMouseEvent::PlatformMouseEvent(const Evas_Event_Mouse_Move* ev, IntPoint pos)
- : m_timestamp(currentTime())
+ : m_position(IntPoint(ev->cur.canvas.x - pos.x(), ev->cur.canvas.y - pos.y()))
+ , m_globalPosition(IntPoint(ev->cur.canvas.x, ev->cur.canvas.y))
+ , m_button(MouseButton(ev->buttons - 1))
+ , m_eventType(MouseEventMoved)
+ , m_clickCount(0)
, m_shiftKey(evas_key_modifier_is_set(ev->modifiers, "Shift"))
, m_ctrlKey(evas_key_modifier_is_set(ev->modifiers, "Control"))
, m_altKey(evas_key_modifier_is_set(ev->modifiers, "Alt"))
, m_metaKey(evas_key_modifier_is_set(ev->modifiers, "Meta"))
- , m_globalPosition(IntPoint(ev->cur.canvas.x, ev->cur.canvas.y))
- , m_position(IntPoint(ev->cur.canvas.x - pos.x(), ev->cur.canvas.y - pos.y()))
- , m_clickCount(0)
- , m_button(MouseButton(ev->buttons - 1))
- , m_eventType(MouseEventMoved)
+ , m_timestamp(currentTime())
{
}
diff --git a/WebCore/platform/efl/PlatformWheelEventEfl.cpp b/WebCore/platform/efl/PlatformWheelEventEfl.cpp
index 406844d..08bda5e 100644
--- a/WebCore/platform/efl/PlatformWheelEventEfl.cpp
+++ b/WebCore/platform/efl/PlatformWheelEventEfl.cpp
@@ -41,14 +41,14 @@ enum {
};
PlatformWheelEvent::PlatformWheelEvent(const Evas_Event_Mouse_Wheel* ev)
- : m_granularity(ScrollByPixelWheelEvent)
+ : m_position(IntPoint(ev->canvas.x, ev->canvas.y))
+ , m_globalPosition(IntPoint(ev->canvas.x, ev->canvas.y))
+ , m_granularity(ScrollByPixelWheelEvent)
, m_isAccepted(false)
, m_shiftKey(evas_key_modifier_is_set(ev->modifiers, "Shift"))
, m_ctrlKey(evas_key_modifier_is_set(ev->modifiers, "Control"))
, m_altKey(evas_key_modifier_is_set(ev->modifiers, "Alt"))
, m_metaKey(evas_key_modifier_is_set(ev->modifiers, "Meta"))
- , m_globalPosition(IntPoint(ev->canvas.x, ev->canvas.y))
- , m_position(IntPoint(ev->canvas.x, ev->canvas.y))
{
// A negative z value means (in EFL) that we are scrolling down, so we need
// to invert the value.
diff --git a/WebCore/platform/efl/PopupMenuEfl.cpp b/WebCore/platform/efl/PopupMenuEfl.cpp
index 80096c2..4d9677b 100644
--- a/WebCore/platform/efl/PopupMenuEfl.cpp
+++ b/WebCore/platform/efl/PopupMenuEfl.cpp
@@ -24,6 +24,8 @@
#include "config.h"
#include "PopupMenu.h"
+#include "Chrome.h"
+#include "ChromeClientEfl.h"
#include "FrameView.h"
#include "NotImplemented.h"
@@ -31,6 +33,7 @@ namespace WebCore {
PopupMenu::PopupMenu(PopupMenuClient* client)
: m_popupClient(client)
+ , m_view(0)
{
}
@@ -40,13 +43,21 @@ PopupMenu::~PopupMenu()
void PopupMenu::show(const IntRect& rect, FrameView* view, int index)
{
- ASSERT(client());
- notImplemented();
+ ASSERT(m_popupClient);
+ ChromeClientEfl* chromeClient = static_cast<ChromeClientEfl*>(view->frame()->page()->chrome()->client());
+ ASSERT(chromeClient);
+
+ m_view = view;
+ chromeClient->createSelectPopup(m_popupClient, index, rect);
}
void PopupMenu::hide()
{
- notImplemented();
+ ASSERT(m_view);
+ ChromeClientEfl* chromeClient = static_cast<ChromeClientEfl*>(m_view->frame()->page()->chrome()->client());
+ ASSERT(chromeClient);
+
+ chromeClient->destroySelectPopup();
}
void PopupMenu::updateFromElement()
diff --git a/WebCore/platform/efl/WidgetEfl.cpp b/WebCore/platform/efl/WidgetEfl.cpp
index c07c8c4..9e335f7 100644
--- a/WebCore/platform/efl/WidgetEfl.cpp
+++ b/WebCore/platform/efl/WidgetEfl.cpp
@@ -228,7 +228,7 @@ void Widget::applyFallbackCursor()
void Widget::applyCursor()
{
- const char *file;
+ const char *file = 0;
Evas_Coord x, y;
String theme = edjeThemeRecursive();
@@ -236,7 +236,7 @@ void Widget::applyCursor()
file = edjeThemeRecursive().utf8().data();
m_data->m_cursorObject = edje_object_add(evas());
- if (!edje_object_file_set(m_data->m_cursorObject, file, m_data->m_cursorGroup.utf8().data())) {
+ if (file && !edje_object_file_set(m_data->m_cursorObject, file, m_data->m_cursorGroup.utf8().data())) {
evas_object_del(m_data->m_cursorObject);
m_data->m_cursorObject = 0;
ecore_evas_object_cursor_set(ecoreEvas(), 0, 0, 0, 0);
diff --git a/WebCore/platform/graphics/BitmapImage.cpp b/WebCore/platform/graphics/BitmapImage.cpp
index e3db752..62f29cf 100644
--- a/WebCore/platform/graphics/BitmapImage.cpp
+++ b/WebCore/platform/graphics/BitmapImage.cpp
@@ -408,7 +408,9 @@ bool BitmapImage::internalAdvanceAnimation(bool skippingFrames)
// Get the repetition count again. If we weren't able to get a
// repetition count before, we should have decoded the whole image by
// now, so it should now be available.
- if (repetitionCount(true) && m_repetitionsComplete >= m_repetitionCount) {
+ // Note that we don't need to special-case cAnimationLoopOnce here
+ // because it is 0 (see comments on its declaration in ImageSource.h).
+ if (repetitionCount(true) != cAnimationLoopInfinite && m_repetitionsComplete > m_repetitionCount) {
m_animationFinished = true;
m_desiredFrameStartTime = 0;
--m_currentFrame;
diff --git a/WebCore/platform/graphics/FloatSize.h b/WebCore/platform/graphics/FloatSize.h
index 53a0071..ff3d4de 100644
--- a/WebCore/platform/graphics/FloatSize.h
+++ b/WebCore/platform/graphics/FloatSize.h
@@ -63,6 +63,14 @@ public:
bool isEmpty() const { return m_width <= 0 || m_height <= 0; }
+ float aspectRatio() const { return m_width / m_height; }
+
+ void scale(float scale)
+ {
+ m_width *= scale;
+ m_height *= scale;
+ }
+
FloatSize expandedTo(const FloatSize& other) const
{
return FloatSize(m_width > other.m_width ? m_width : other.m_width,
diff --git a/WebCore/platform/graphics/ImageBuffer.h b/WebCore/platform/graphics/ImageBuffer.h
index 7821288..9163523 100644
--- a/WebCore/platform/graphics/ImageBuffer.h
+++ b/WebCore/platform/graphics/ImageBuffer.h
@@ -1,6 +1,7 @@
/*
* Copyright (C) 2006 Nikolas Zimmermann <zimmermann@kde.org>
* Copyright (C) 2007, 2008, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2010 Torch Mobile (Beijing) Co. Ltd. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -82,7 +83,7 @@ namespace WebCore {
void putUnmultipliedImageData(ImageData*, const IntRect& sourceRect, const IntPoint& destPoint);
void putPremultipliedImageData(ImageData*, const IntRect& sourceRect, const IntPoint& destPoint);
- String toDataURL(const String& mimeType) const;
+ String toDataURL(const String& mimeType, double quality = 1.0) const;
#if !PLATFORM(CG)
AffineTransform baseTransform() const { return AffineTransform(); }
void transformColorSpace(ImageColorSpace srcColorSpace, ImageColorSpace dstColorSpace);
diff --git a/WebCore/platform/graphics/ImageSource.h b/WebCore/platform/graphics/ImageSource.h
index 5c6d75e..d9bfa25 100644
--- a/WebCore/platform/graphics/ImageSource.h
+++ b/WebCore/platform/graphics/ImageSource.h
@@ -115,7 +115,22 @@ typedef RefPtr<SharedBitmap> NativeImagePtr;
#endif
#endif
-const int cAnimationLoopOnce = -1;
+// Right now GIFs are the only recognized image format that supports animation.
+// The animation system and the constants below are designed with this in mind.
+// GIFs have an optional 16-bit unsigned loop count that describes how an
+// animated GIF should be cycled. If the loop count is absent, the animation
+// cycles once; if it is 0, the animation cycles infinitely; otherwise the
+// animation plays n + 1 cycles (where n is the specified loop count). If the
+// GIF decoder defaults to cAnimationLoopOnce in the absence of any loop count
+// and translates an explicit "0" loop count to cAnimationLoopInfinite, then we
+// get a couple of nice side effects:
+// * By making cAnimationLoopOnce be 0, we allow the animation cycling code in
+// BitmapImage.cpp to avoid special-casing it, and simply treat all
+// non-negative loop counts identically.
+// * By making the other two constants negative, we avoid conflicts with any
+// real loop count values.
+const int cAnimationLoopOnce = 0;
+const int cAnimationLoopInfinite = -1;
const int cAnimationNone = -2;
class ImageSource : public Noncopyable {
diff --git a/WebCore/platform/graphics/IntSize.h b/WebCore/platform/graphics/IntSize.h
index b60338c..9ecf389 100644
--- a/WebCore/platform/graphics/IntSize.h
+++ b/WebCore/platform/graphics/IntSize.h
@@ -72,6 +72,8 @@ public:
bool isEmpty() const { return m_width <= 0 || m_height <= 0; }
bool isZero() const { return !m_width && !m_height; }
+
+ float aspectRatio() const { return static_cast<float>(m_width) / static_cast<float>(m_height); }
void expand(int width, int height)
{
diff --git a/WebCore/platform/graphics/TiledBackingStore.cpp b/WebCore/platform/graphics/TiledBackingStore.cpp
index 0250061..1d6f237 100644
--- a/WebCore/platform/graphics/TiledBackingStore.cpp
+++ b/WebCore/platform/graphics/TiledBackingStore.cpp
@@ -35,6 +35,9 @@ TiledBackingStore::TiledBackingStore(TiledBackingStoreClient* client)
, m_tileBufferUpdateTimer(new TileTimer(this, &TiledBackingStore::tileBufferUpdateTimerFired))
, m_tileCreationTimer(new TileTimer(this, &TiledBackingStore::tileCreationTimerFired))
, m_tileSize(defaultTileWidth, defaultTileHeight)
+ , m_tileCreationDelay(0.01)
+ , m_keepAreaMultiplier(2.f, 3.5f)
+ , m_coverAreaMultiplier(1.5f, 2.5f)
, m_contentsScale(1.f)
, m_pendingScale(0)
, m_contentsFrozen(false)
@@ -46,6 +49,25 @@ TiledBackingStore::~TiledBackingStore()
delete m_tileBufferUpdateTimer;
delete m_tileCreationTimer;
}
+
+void TiledBackingStore::setTileSize(const IntSize& size)
+{
+ m_tileSize = size;
+ m_tiles.clear();
+ startTileCreationTimer();
+}
+
+void TiledBackingStore::setTileCreationDelay(double delay)
+{
+ m_tileCreationDelay = delay;
+}
+
+void TiledBackingStore::setKeepAndCoverAreaMultipliers(const FloatSize& keepMultiplier, const FloatSize& coverMultiplier)
+{
+ m_keepAreaMultiplier = keepMultiplier;
+ m_coverAreaMultiplier = coverMultiplier;
+ startTileCreationTimer();
+}
void TiledBackingStore::invalidate(const IntRect& contentsDirtyRect)
{
@@ -188,17 +210,16 @@ void TiledBackingStore::createTiles()
// Remove tiles that extend outside the current contents rect.
dropOverhangingTiles();
- // FIXME: Make configurable/adapt to memory.
IntRect keepRect = visibleRect;
- keepRect.inflateX(visibleRect.width());
- keepRect.inflateY(3 * visibleRect.height());
+ keepRect.inflateX(visibleRect.width() * (m_keepAreaMultiplier.width() - 1.f));
+ keepRect.inflateY(visibleRect.height() * (m_keepAreaMultiplier.height() - 1.f));
keepRect.intersect(contentsRect());
dropTilesOutsideRect(keepRect);
IntRect coverRect = visibleRect;
- coverRect.inflateX(visibleRect.width() / 2);
- coverRect.inflateY(2 * visibleRect.height());
+ coverRect.inflateX(visibleRect.width() * (m_coverAreaMultiplier.width() - 1.f));
+ coverRect.inflateY(visibleRect.height() * (m_coverAreaMultiplier.height() - 1.f));
coverRect.intersect(contentsRect());
// Search for the tile position closest to the viewport center that does not yet contain a tile.
@@ -240,7 +261,7 @@ void TiledBackingStore::createTiles()
// Keep creating tiles until the whole coverRect is covered.
if (requiredTileCount)
- m_tileCreationTimer->startOneShot(0);
+ m_tileCreationTimer->startOneShot(m_tileCreationDelay);
}
void TiledBackingStore::dropOverhangingTiles()
diff --git a/WebCore/platform/graphics/TiledBackingStore.h b/WebCore/platform/graphics/TiledBackingStore.h
index d12f191..58477db 100644
--- a/WebCore/platform/graphics/TiledBackingStore.h
+++ b/WebCore/platform/graphics/TiledBackingStore.h
@@ -51,6 +51,20 @@ public:
void invalidate(const IntRect& dirtyRect);
void paint(GraphicsContext*, const IntRect&);
+
+ IntSize tileSize() { return m_tileSize; }
+ void setTileSize(const IntSize&);
+
+ double tileCreationDelay() const { return m_tileCreationDelay; }
+ void setTileCreationDelay(double delay);
+
+ // Tiled are dropped outside the keep area, and created for cover area. The values a relative to the viewport size.
+ void getKeepAndCoverAreaMultipliers(FloatSize& keepMultiplier, FloatSize& coverMultiplier)
+ {
+ keepMultiplier = m_keepAreaMultiplier;
+ coverMultiplier = m_coverAreaMultiplier;
+ }
+ void setKeepAndCoverAreaMultipliers(const FloatSize& keepMultiplier, const FloatSize& coverMultiplier);
private:
void startTileBufferUpdateTimer();
@@ -94,6 +108,9 @@ private:
TileTimer* m_tileCreationTimer;
IntSize m_tileSize;
+ double m_tileCreationDelay;
+ FloatSize m_keepAreaMultiplier;
+ FloatSize m_coverAreaMultiplier;
IntRect m_previousVisibleRect;
float m_contentsScale;
diff --git a/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp b/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp
index 124c7cf..85a4179 100644
--- a/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp
+++ b/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp
@@ -2,6 +2,7 @@
* Copyright (C) 2006 Nikolas Zimmermann <zimmermann@kde.org>
* Copyright (C) 2007 Holger Hans Peter Freyther <zecke@selfish.org>
* Copyright (C) 2008, 2009 Dirk Schulze <krit@webkit.org>
+ * Copyright (C) 2010 Torch Mobile (Beijing) Co. Ltd. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -283,7 +284,7 @@ static cairo_status_t writeFunction(void* closure, const unsigned char* data, un
return CAIRO_STATUS_SUCCESS;
}
-String ImageBuffer::toDataURL(const String& mimeType) const
+String ImageBuffer::toDataURL(const String& mimeType, double) const
{
cairo_surface_t* image = cairo_get_target(context()->platformContext());
if (!image)
diff --git a/WebCore/platform/graphics/cg/ImageBufferCG.cpp b/WebCore/platform/graphics/cg/ImageBufferCG.cpp
index c82ebdc..ce11499 100644
--- a/WebCore/platform/graphics/cg/ImageBufferCG.cpp
+++ b/WebCore/platform/graphics/cg/ImageBufferCG.cpp
@@ -1,6 +1,7 @@
/*
* Copyright (C) 2006 Nikolas Zimmermann <zimmermann@kde.org>
* Copyright (C) 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2010 Torch Mobile (Beijing) Co. Ltd. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -275,7 +276,7 @@ static RetainPtr<CFStringRef> utiFromMIMEType(const String& mimeType)
#endif
}
-String ImageBuffer::toDataURL(const String& mimeType) const
+String ImageBuffer::toDataURL(const String& mimeType, double) const
{
ASSERT(MIMETypeRegistry::isSupportedImageMIMETypeForEncoding(mimeType));
diff --git a/WebCore/platform/graphics/cg/ImageSourceCG.cpp b/WebCore/platform/graphics/cg/ImageSourceCG.cpp
index 0b5f0b0..9ad3166 100644
--- a/WebCore/platform/graphics/cg/ImageSourceCG.cpp
+++ b/WebCore/platform/graphics/cg/ImageSourceCG.cpp
@@ -202,14 +202,17 @@ int ImageSource::repetitionCount()
if (!initialized())
return result;
- // A property with value 0 means loop forever.
RetainPtr<CFDictionaryRef> properties(AdoptCF, CGImageSourceCopyProperties(m_decoder, imageSourceOptions()));
if (properties) {
CFDictionaryRef gifProperties = (CFDictionaryRef)CFDictionaryGetValue(properties.get(), kCGImagePropertyGIFDictionary);
if (gifProperties) {
CFNumberRef num = (CFNumberRef)CFDictionaryGetValue(gifProperties, kCGImagePropertyGIFLoopCount);
- if (num)
+ if (num) {
+ // A property with value 0 means loop forever.
CFNumberGetValue(num, kCFNumberIntType, &result);
+ if (!result)
+ result = cAnimationLoopInfinite;
+ }
} else
result = cAnimationNone; // Turns out we're not a GIF after all, so we don't animate.
}
diff --git a/WebCore/platform/graphics/chromium/GraphicsLayerChromium.cpp b/WebCore/platform/graphics/chromium/GraphicsLayerChromium.cpp
index 095ded2..37ea485 100644
--- a/WebCore/platform/graphics/chromium/GraphicsLayerChromium.cpp
+++ b/WebCore/platform/graphics/chromium/GraphicsLayerChromium.cpp
@@ -479,11 +479,6 @@ void GraphicsLayerChromium::updateLayerPreserves3D()
void GraphicsLayerChromium::updateLayerDrawsContent()
{
- // Since only layers that draw content have a valid context
- // we need to call updateGraphicsContext() here to make sure one
- // gets created.
- m_layer->drawsContentUpdated();
-
if (m_drawsContent)
m_layer->setNeedsDisplay();
diff --git a/WebCore/platform/graphics/chromium/LayerChromium.cpp b/WebCore/platform/graphics/chromium/LayerChromium.cpp
index 8fb28ef..b08df82 100644
--- a/WebCore/platform/graphics/chromium/LayerChromium.cpp
+++ b/WebCore/platform/graphics/chromium/LayerChromium.cpp
@@ -34,10 +34,17 @@
#include "LayerChromium.h"
+#include "LayerRendererChromium.h"
+#if PLATFORM(SKIA)
+#include "NativeImageSkia.h"
#include "PlatformContextSkia.h"
+#endif
#include "RenderLayerBacking.h"
#include "skia/ext/platform_canvas.h"
+#include <GLES2/gl2.h>
+
+
namespace WebCore {
using namespace std;
@@ -52,7 +59,9 @@ LayerChromium::LayerChromium(LayerType type, GraphicsLayerChromium* owner)
, m_owner(owner)
, m_layerType(type)
, m_superlayer(0)
+ , m_layerRenderer(0)
, m_borderWidth(0)
+ , m_allocatedTextureId(0)
, m_borderColor(0, 0, 0, 0)
, m_backgroundColor(0, 0, 0, 0)
, m_anchorPoint(0.5, 0.5)
@@ -66,13 +75,9 @@ LayerChromium::LayerChromium(LayerType type, GraphicsLayerChromium* owner)
, m_opacity(1.0)
, m_opaque(true)
, m_zPosition(0.0)
- , m_canvas(0)
- , m_skiaContext(0)
- , m_graphicsContext(0)
, m_geometryFlipped(false)
, m_contentsDirty(false)
, m_contents(0)
- , m_hasContext(false)
{
}
@@ -84,61 +89,92 @@ LayerChromium::~LayerChromium()
// Remove the superlayer reference from all sublayers.
removeAllSublayers();
-}
-
-void LayerChromium::updateGraphicsContext()
-{
- // If the layer doesn't draw anything (e.g. it's a container layer) then we
- // don't create a canvas / context for it. The root layer is a special
- // case as even if it's marked as a container layer it does actually have
- // content that it draws.
- RenderLayerBacking* backing = static_cast<RenderLayerBacking*>(m_owner->client());
- if (!drawsContent() && !(this == rootLayer())) {
- m_graphicsContext.clear();
- m_skiaContext.clear();
- m_canvas.clear();
- m_hasContext = false;
- return;
- }
-
-#if PLATFORM(SKIA)
- // Create new canvas and context. OwnPtr takes care of freeing up
- // the old ones.
- m_canvas = new skia::PlatformCanvas(m_backingStoreSize.width(), m_backingStoreSize.height(), false);
- m_skiaContext = new PlatformContextSkia(m_canvas.get());
-
- // This is needed to get text to show up correctly. Without it,
- // GDI renders with zero alpha and the text becomes invisible.
- // Unfortunately, setting this to true disables cleartype.
- m_skiaContext->setDrawingToImageBuffer(true);
-
- m_graphicsContext = new GraphicsContext(reinterpret_cast<PlatformGraphicsContext*>(m_skiaContext.get()));
- m_hasContext = true;
- m_contentsDirty = true;
-#else
-#error "Need to implement for your platform."
-#endif
-
- return;
+ // Notify the renderer to clean up the texture associated with the layer.
+ if (m_layerRenderer)
+ m_layerRenderer->freeLayerTexture(this);
}
-void LayerChromium::drawsContentUpdated()
+void LayerChromium::setLayerRenderer(LayerRendererChromium* renderer)
{
- // Create a drawing context if the layer now draws content
- // or delete the existing context if the layer doesn't draw
- // content anymore.
- updateGraphicsContext();
+ // It's not expected that layers will ever switch renderers.
+ ASSERT(!renderer || !m_layerRenderer || renderer == m_layerRenderer);
+
+ m_layerRenderer = renderer;
}
-void LayerChromium::updateContents()
+void LayerChromium::updateTextureContents(unsigned int textureId)
{
RenderLayerBacking* backing = static_cast<RenderLayerBacking*>(m_owner->client());
- if (backing && !backing->paintingGoesToWindow() && drawsContent())
- m_owner->paintGraphicsLayerContents(*m_graphicsContext, IntRect(0, 0, m_bounds.width(), m_bounds.height()));
+ if (backing && !backing->paintingGoesToWindow()) {
+ void* pixels = 0;
+ IntRect dirtyRect(m_dirtyRect);
+ IntSize requiredTextureSize;
+ IntSize bitmapSize;
+#if PLATFORM(SKIA)
+ const SkBitmap* skiaBitmap = 0;
+ OwnPtr<skia::PlatformCanvas> canvas;
+ OwnPtr<PlatformContextSkia> skiaContext;
+ OwnPtr<GraphicsContext> graphicsContext;
+ if (drawsContent()) { // Layer contents must be drawn into a canvas.
+ canvas.set(new skia::PlatformCanvas(dirtyRect.width(), dirtyRect.height(), false));
+ skiaContext.set(new PlatformContextSkia(canvas.get()));
+
+ // This is needed to get text to show up correctly. Without it,
+ // GDI renders with zero alpha and the text becomes invisible.
+ // Unfortunately, setting this to true disables cleartype.
+ // FIXME: Does this take us down a very slow text rendering path?
+ skiaContext->setDrawingToImageBuffer(true);
+
+ graphicsContext.set(new GraphicsContext(reinterpret_cast<PlatformGraphicsContext*>(skiaContext.get())));
+
+ // Bring the canvas into the coordinate system of the paint rect.
+ canvas->translate(static_cast<SkScalar>(-dirtyRect.x()), static_cast<SkScalar>(-dirtyRect.y()));
+
+ m_owner->paintGraphicsLayerContents(*graphicsContext, dirtyRect);
+ const SkBitmap& bitmap = canvas->getDevice()->accessBitmap(false);
+ skiaBitmap = &bitmap;
+ requiredTextureSize = IntSize(max(m_bounds.width(), dirtyRect.width()),
+ max(m_bounds.height(), dirtyRect.height()));
+ } else { // Layer is a container.
+ // The layer contains an Image.
+ NativeImageSkia* skiaImage = static_cast<NativeImageSkia*>(contents());
+ skiaBitmap = skiaImage;
+ requiredTextureSize = IntSize(skiaBitmap->width(), skiaBitmap->height());
+ }
+
+ ASSERT(skiaBitmap);
+ SkAutoLockPixels lock(*skiaBitmap);
+ SkBitmap::Config skiaConfig = skiaBitmap->config();
+ // FIXME: do we need to support more image configurations?
+ if (skiaConfig == SkBitmap::kARGB_8888_Config) {
+ pixels = skiaBitmap->getPixels();
+ bitmapSize = IntSize(skiaBitmap->width(), skiaBitmap->height());
+ }
+#else
+#error "Need to implement for your platform."
+#endif
+ if (pixels) {
+ glBindTexture(GL_TEXTURE_2D, textureId);
+ // If the texture id or size changed since last time then we need to tell GL
+ // to re-allocate a texture.
+ if (m_allocatedTextureId != textureId || requiredTextureSize != m_allocatedTextureSize) {
+ ASSERT(bitmapSize == requiredTextureSize);
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, requiredTextureSize.width(), requiredTextureSize.height(), 0, GL_RGBA, GL_UNSIGNED_BYTE, pixels);
+
+ m_allocatedTextureId = textureId;
+ m_allocatedTextureSize = requiredTextureSize;
+ } else {
+ ASSERT(dirtyRect.width() <= m_allocatedTextureSize.width() && dirtyRect.height() <= m_allocatedTextureSize.height());
+ ASSERT(dirtyRect.width() == bitmapSize.width() && dirtyRect.height() == bitmapSize.height());
+ glTexSubImage2D(GL_TEXTURE_2D, 0, dirtyRect.x(), dirtyRect.y(), dirtyRect.width(), dirtyRect.height(), GL_RGBA, GL_UNSIGNED_BYTE, pixels);
+ }
+ }
+ }
m_contentsDirty = false;
+ m_dirtyRect.setSize(FloatSize());
}
void LayerChromium::setContents(NativeImagePtr contents)
@@ -147,7 +183,7 @@ void LayerChromium::setContents(NativeImagePtr contents)
if (m_contents == contents)
return;
m_contents = contents;
- m_contentsDirty = true;
+ setNeedsDisplay();
}
void LayerChromium::setNeedsCommit()
@@ -221,19 +257,6 @@ int LayerChromium::indexOfSublayer(const LayerChromium* reference)
return -1;
}
-// This method can be called to overide the size of the backing store
-// used for the layer. It's typically called on the root layer to limit
-// its size to the actual visible size.
-void LayerChromium::setBackingStoreSize(const IntSize& size)
-{
- if (m_backingStoreSize == size)
- return;
-
- m_backingStoreSize = size;
- updateGraphicsContext();
- setNeedsCommit();
-}
-
void LayerChromium::setBounds(const IntSize& size)
{
if (m_bounds == size)
@@ -242,8 +265,6 @@ void LayerChromium::setBounds(const IntSize& size)
m_bounds = size;
m_backingStoreSize = size;
- // Re-create the canvas and associated contexts.
- updateGraphicsContext();
setNeedsCommit();
}
@@ -293,16 +314,17 @@ void LayerChromium::setNeedsDisplay(const FloatRect& dirtyRect)
{
// Simply mark the contents as dirty. The actual redraw will
// happen when it's time to do the compositing.
- // FIXME: Should only update the dirty rect instead of marking
- // the entire layer dirty.
m_contentsDirty = true;
+ m_dirtyRect.unite(dirtyRect);
+
setNeedsCommit();
}
void LayerChromium::setNeedsDisplay()
{
- // FIXME: implement
+ m_dirtyRect.setSize(m_bounds);
+ m_contentsDirty = true;
}
}
diff --git a/WebCore/platform/graphics/chromium/LayerChromium.h b/WebCore/platform/graphics/chromium/LayerChromium.h
index 1b807a5..59952eb 100644
--- a/WebCore/platform/graphics/chromium/LayerChromium.h
+++ b/WebCore/platform/graphics/chromium/LayerChromium.h
@@ -52,6 +52,8 @@ class PlatformCanvas;
namespace WebCore {
+class LayerRendererChromium;
+
class LayerChromium : public RefCounted<LayerChromium> {
public:
enum LayerType { Layer, TransformLayer };
@@ -150,22 +152,15 @@ public:
void setGeometryFlipped(bool flipped) { m_geometryFlipped = flipped; setNeedsCommit(); }
bool geometryFlipped() const { return m_geometryFlipped; }
- void updateContents();
+ void updateTextureContents(unsigned int textureId);
bool contentsDirty() { return m_contentsDirty; }
void setContents(NativeImagePtr contents);
NativeImagePtr contents() const { return m_contents; }
- skia::PlatformCanvas* platformCanvas() { return m_canvas.get(); }
- GraphicsContext* graphicsContext() { return m_graphicsContext.get(); }
-
- void setBackingStoreSize(const IntSize&);
-
bool drawsContent() { return m_owner && m_owner->drawsContent(); }
- // This method should be called every time the status drawsContent()
- // status changes to ensure that the internal graphics context is in sync.
- void drawsContentUpdated();
+ void setLayerRenderer(LayerRendererChromium*);
private:
LayerChromium(LayerType, GraphicsLayerChromium* owner);
@@ -187,21 +182,10 @@ private:
// This should only be called from removeFromSuperlayer.
void removeSublayer(LayerChromium*);
- // Re-creates the canvas and graphics context. This method
- // must be called every time the layer is resized. Only layers
- // that do drawing and the root layer get a context.
- void updateGraphicsContext();
-
Vector<RefPtr<LayerChromium> > m_sublayers;
LayerChromium* m_superlayer;
GraphicsLayerChromium* m_owner;
-#if PLATFORM(SKIA)
- OwnPtr<skia::PlatformCanvas> m_canvas;
- OwnPtr<PlatformContextSkia> m_skiaContext;
- OwnPtr<GraphicsContext> m_graphicsContext;
-#endif
- bool m_hasContext;
LayerType m_layerType;
@@ -211,6 +195,9 @@ private:
FloatPoint m_anchorPoint;
Color m_backgroundColor;
Color m_borderColor;
+ FloatRect m_dirtyRect;
+
+ LayerRendererChromium* m_layerRenderer;
FloatRect m_frame;
TransformationMatrix m_transform;
@@ -222,6 +209,9 @@ private:
float m_anchorPointZ;
float m_borderWidth;
+ unsigned int m_allocatedTextureId;
+ IntSize m_allocatedTextureSize;
+
bool m_clearsContext;
bool m_doubleSided;
bool m_hidden;
diff --git a/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp b/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp
index fbdb9e2..dfb6078 100644
--- a/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp
+++ b/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp
@@ -187,6 +187,33 @@ LayerRendererChromium::~LayerRendererChromium()
glDeleteProgram(m_scrollProgramObject);
glDeleteProgram(m_borderProgramObject);
}
+
+ // Free up all GL textures.
+ for (TextureIdMap::iterator iter = m_textureIdMap.begin(); iter != m_textureIdMap.end(); ++iter) {
+ glDeleteTextures(1, &(iter->second));
+ iter->first->setLayerRenderer(0);
+ }
+}
+
+// Creates a canvas and an associated graphics context that the root layer will
+// render into.
+void LayerRendererChromium::setRootLayerCanvasSize(const IntSize& size)
+{
+ if (size == m_rootLayerCanvasSize)
+ return;
+
+#if PLATFORM(SKIA)
+ // Create new canvas and context. OwnPtr takes care of freeing up
+ // the old ones.
+ m_rootLayerCanvas = new skia::PlatformCanvas(size.width(), size.height(), false);
+ m_rootLayerSkiaContext = new PlatformContextSkia(m_rootLayerCanvas.get());
+ m_rootLayerSkiaContext->setDrawingToImageBuffer(true);
+ m_rootLayerGraphicsContext = new GraphicsContext(reinterpret_cast<PlatformGraphicsContext*>(m_rootLayerSkiaContext.get()));
+#else
+#error "Need to implement for your platform."
+#endif
+
+ m_rootLayerCanvasSize = size;
}
void LayerRendererChromium::drawTexturedQuad(const TransformationMatrix& matrix, float width, float height, float opacity, bool scrolling)
@@ -292,7 +319,7 @@ void LayerRendererChromium::drawLayers(const IntRect& updateRect, const IntRect&
#if PLATFORM(SKIA)
// Get the contents of the updated rect.
- const SkBitmap bitmap = m_rootLayer->platformCanvas()->getDevice()->accessBitmap(false);
+ const SkBitmap bitmap = m_rootLayerCanvas->getDevice()->accessBitmap(false);
int rootLayerWidth = bitmap.width();
int rootLayerHeight = bitmap.height();
ASSERT(rootLayerWidth == updateRect.width() && rootLayerHeight == updateRect.height());
@@ -331,11 +358,12 @@ void LayerRendererChromium::drawLayers(const IntRect& updateRect, const IntRect&
checkGLError();
- // FIXME: Need to prevent composited layers from drawing over the scroll
- // bars.
-
// FIXME: Sublayers need to be sorted in Z to get the correct transparency effect.
+ // Enable scissoring to avoid rendering composited layers over the scrollbars.
+ glEnable(GL_SCISSOR_TEST);
+ glScissor(0, visibleRect.height() - contentRect.height(), contentRect.width(), contentRect.height());
+
// Translate all the composited layers by the scroll position.
TransformationMatrix matrix;
matrix.translate3d(-m_scrollPosition.x(), -m_scrollPosition.y(), 0);
@@ -344,6 +372,8 @@ void LayerRendererChromium::drawLayers(const IntRect& updateRect, const IntRect&
for (size_t i = 0; i < sublayers.size(); i++)
compositeLayersRecursive(sublayers[i].get(), matrix, opacity, visibleRect);
+ glDisable(GL_SCISSOR_TEST);
+
glFlush();
m_gles2Context->swapBuffers();
@@ -363,13 +393,15 @@ int LayerRendererChromium::getTextureId(LayerChromium* layer)
// Allocates a new texture for the layer and registers it in the textureId map.
// FIXME: We will need to come up with a more sophisticated allocation strategy here.
-// FIXME: We need to free up the associated texture upon layer destruction.
int LayerRendererChromium::assignTextureForLayer(LayerChromium* layer)
{
GLuint textureId = createLayerTexture();
// FIXME: Check that textureId is valid
m_textureIdMap.set(layer, textureId);
+
+ layer->setLayerRenderer(this);
+
return textureId;
}
@@ -491,40 +523,7 @@ void LayerRendererChromium::compositeLayersRecursive(LayerChromium* layer, const
// Update the contents of the layer before taking a snapshot. For layers that
// are simply containers, the following call just clears the dirty flag but doesn't
// actually do any draws/copies.
- layer->updateContents();
-
- const SkBitmap* skiaBitmap = 0;
- void* pixels = 0;
- if (layer->drawsContent()) { // Layer has its own GraphicsContext.
- // The contents of the layer are stored in the canvas associated with it.
- const SkBitmap& bitmap = layer->platformCanvas()->getDevice()->accessBitmap(false);
- skiaBitmap = &bitmap;
- } else { // Layer is a container.
- // The layer contains an Image.
- NativeImageSkia* skiaImage = static_cast<NativeImageSkia*>(layer->contents());
- skiaBitmap = skiaImage;
- }
-
- ASSERT(skiaBitmap);
- SkBitmap::Config skiaConfig = skiaBitmap->config();
- // FIXME: must support more image configurations.
- if (skiaConfig == SkBitmap::kARGB_8888_Config) {
- SkAutoLockPixels lock(*skiaBitmap);
- int bitmapWidth = skiaBitmap->width();
- int bitmapHeight = skiaBitmap->height();
- int rowBytes = skiaBitmap->rowBytes();
- ASSERT(rowBytes == bitmapWidth * 4);
-
- // Copy the layer contents into the texture.
- glBindTexture(GL_TEXTURE_2D, textureId);
- void* pixels = skiaBitmap->getPixels();
- if (pixels) {
- // FIXME. We can be smart here and call glTexSubImage2D if the new bitmap has the same
- // size as the old one which will save us one unecessary allocation / deallocation.
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, bitmapWidth, bitmapHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE, pixels);
- checkGLError();
- }
- }
+ layer->updateTextureContents(textureId);
}
if (layer->doubleSided())
diff --git a/WebCore/platform/graphics/chromium/LayerRendererChromium.h b/WebCore/platform/graphics/chromium/LayerRendererChromium.h
index 498678e..eb66dac 100644
--- a/WebCore/platform/graphics/chromium/LayerRendererChromium.h
+++ b/WebCore/platform/graphics/chromium/LayerRendererChromium.h
@@ -69,6 +69,10 @@ public:
bool hardwareCompositing() const { return m_hardwareCompositing; }
+ void setRootLayerCanvasSize(const IntSize&);
+
+ GraphicsContext* rootLayerGraphicsContext() const { return m_rootLayerGraphicsContext.get(); }
+
private:
void compositeLayersRecursive(LayerChromium*, const TransformationMatrix&, float opacity, const IntRect& visibleRect);
@@ -124,6 +128,13 @@ private:
typedef HashMap<LayerChromium*, unsigned int> TextureIdMap;
TextureIdMap m_textureIdMap;
+#if PLATFORM(SKIA)
+ OwnPtr<skia::PlatformCanvas> m_rootLayerCanvas;
+ OwnPtr<PlatformContextSkia> m_rootLayerSkiaContext;
+ OwnPtr<GraphicsContext> m_rootLayerGraphicsContext;
+#endif
+ IntSize m_rootLayerCanvasSize;
+
OwnPtr<GLES2Context> m_gles2Context;
// The WebCore Page that the compositor renders into.
diff --git a/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp b/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
index d619e14..7e6b71a 100644
--- a/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
+++ b/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
@@ -195,7 +195,7 @@ void mediaPlayerPrivateMuteChangedCallback(GObject *element, GParamSpec *pspec,
static float playbackPosition(GstElement* playbin)
{
- float ret = 0.0;
+ float ret = 0.0f;
GstQuery* query = gst_query_new_position(GST_FORMAT_TIME);
if (!gst_element_query(playbin, query)) {
@@ -417,10 +417,10 @@ void MediaPlayerPrivateGStreamer::pause()
float MediaPlayerPrivateGStreamer::duration() const
{
if (!m_playBin)
- return 0.0;
+ return 0.0f;
if (m_errorOccured)
- return 0.0;
+ return 0.0f;
// Media duration query failed already, don't attempt new useless queries.
if (!m_mediaDurationKnown)
@@ -446,13 +446,13 @@ float MediaPlayerPrivateGStreamer::duration() const
float MediaPlayerPrivateGStreamer::currentTime() const
{
if (!m_playBin)
- return 0;
+ return 0.0f;
if (m_errorOccured)
- return 0;
+ return 0.0f;
if (m_seeking)
- return m_seekTime;
+ return static_cast<float>(m_seekTime);
return playbackPosition(m_playBin);
@@ -470,7 +470,7 @@ void MediaPlayerPrivateGStreamer::seek(float time)
if (m_errorOccured)
return;
- GstClockTime sec = (GstClockTime)(time * GST_SECOND);
+ GstClockTime sec = (GstClockTime)(static_cast<float>(time * GST_SECOND));
LOG_VERBOSE(Media, "Seek: %" GST_TIME_FORMAT, GST_TIME_ARGS(sec));
if (!gst_element_seek(m_playBin, m_player->rate(),
GST_FORMAT_TIME,
@@ -519,7 +519,7 @@ IntSize MediaPlayerPrivateGStreamer::naturalSize() const
if (!pad)
return IntSize();
- int width = 0, height = 0;
+ guint64 width = 0, height = 0;
GstCaps* caps = GST_PAD_CAPS(pad);
int pixelAspectRatioNumerator, pixelAspectRatioDenominator;
int displayWidth, displayHeight, displayAspectRatioGCD;
@@ -557,19 +557,19 @@ IntSize MediaPlayerPrivateGStreamer::naturalSize() const
if (!(originalHeight % displayHeight)) {
LOG_VERBOSE(Media, "Keeping video original height");
width = gst_util_uint64_scale_int(originalHeight, displayWidth, displayHeight);
- height = originalHeight;
+ height = static_cast<guint64>(originalHeight);
} else if (!(originalWidth % displayWidth)) {
LOG_VERBOSE(Media, "Keeping video original width");
height = gst_util_uint64_scale_int(originalWidth, displayHeight, displayWidth);
- width = originalWidth;
+ width = static_cast<guint64>(originalWidth);
} else {
LOG_VERBOSE(Media, "Approximating while keeping original video height");
width = gst_util_uint64_scale_int(originalHeight, displayWidth, displayHeight);
- height = originalHeight;
+ height = static_cast<guint64>(originalHeight);
}
- LOG_VERBOSE(Media, "Natural size: %dx%d", width, height);
- return IntSize(width, height);
+ LOG_VERBOSE(Media, "Natural size: %" G_GUINT64_FORMAT "x%" G_GUINT64_FORMAT, width, height);
+ return IntSize(static_cast<int>(width), static_cast<int>(height));
}
bool MediaPlayerPrivateGStreamer::hasVideo() const
@@ -628,7 +628,7 @@ void MediaPlayerPrivateGStreamer::setRate(float rate)
m_playbackRate = rate;
m_changingRate = true;
- float currentPosition = playbackPosition(m_playBin) * GST_SECOND;
+ float currentPosition = static_cast<float>(playbackPosition(m_playBin) * GST_SECOND);
GstSeekFlags flags = (GstSeekFlags)(GST_SEEK_FLAG_FLUSH);
gint64 start, end;
bool mute = false;
@@ -647,7 +647,7 @@ void MediaPlayerPrivateGStreamer::setRate(float rate)
// If we are at beginning of media, start from the end to
// avoid immediate EOS.
if (currentPosition <= 0)
- end = duration() * GST_SECOND;
+ end = static_cast<gint64>(duration() * GST_SECOND);
else
end = currentPosition;
}
@@ -761,12 +761,12 @@ void MediaPlayerPrivateGStreamer::fillTimerFired(Timer<MediaPlayerPrivateGStream
float MediaPlayerPrivateGStreamer::maxTimeSeekable() const
{
if (m_errorOccured)
- return 0.0;
+ return 0.0f;
LOG_VERBOSE(Media, "maxTimeSeekable");
// infinite duration means live stream
if (isinf(duration()))
- return 0.0;
+ return 0.0f;
return maxTimeLoaded();
}
@@ -774,7 +774,7 @@ float MediaPlayerPrivateGStreamer::maxTimeSeekable() const
float MediaPlayerPrivateGStreamer::maxTimeLoaded() const
{
if (m_errorOccured)
- return 0.0;
+ return 0.0f;
float loaded = m_maxTimeLoaded;
if (!loaded && !m_fillTimer.isActive())
@@ -809,7 +809,7 @@ unsigned MediaPlayerPrivateGStreamer::totalBytes() const
gst_element_query_duration(m_source, &fmt, &length);
LOG_VERBOSE(Media, "totalBytes %" G_GINT64_FORMAT, length);
- return length;
+ return static_cast<unsigned>(length);
}
void MediaPlayerPrivateGStreamer::cancelLoad()
diff --git a/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp b/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp
index daee506..c55f7bf 100644
--- a/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp
+++ b/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp
@@ -388,10 +388,6 @@ static bool webKitWebSrcStart(WebKitWebSrc* src)
request.setTargetType(ResourceRequestBase::TargetIsMedia);
request.setAllowCookies(true);
- // Let Apple web servers know we want to access their nice movie trailers.
- if (!g_ascii_strcasecmp("movies.apple.com", url.host().utf8().data()))
- request.setHTTPUserAgent("Quicktime/7.2.0");
-
if (priv->frame) {
Document* document = priv->frame->document();
if (document)
@@ -402,6 +398,11 @@ static bool webKitWebSrcStart(WebKitWebSrc* src)
loader->addExtraFieldsToSubresourceRequest(request);
}
+ // Let Apple web servers know we want to access their nice movie trailers.
+ if (!g_ascii_strcasecmp("movies.apple.com", url.host().utf8().data())
+ || !g_ascii_strcasecmp("trailers.apple.com", url.host().utf8().data()))
+ request.setHTTPUserAgent("Quicktime/7.6.6");
+
if (priv->requestedOffset) {
GOwnPtr<gchar> val;
diff --git a/WebCore/platform/graphics/haiku/ImageBufferHaiku.cpp b/WebCore/platform/graphics/haiku/ImageBufferHaiku.cpp
index 44943d7..fdab656 100644
--- a/WebCore/platform/graphics/haiku/ImageBufferHaiku.cpp
+++ b/WebCore/platform/graphics/haiku/ImageBufferHaiku.cpp
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2010 Stephan Aßmus <superstippi@gmx.de>
+ * Copyright (C) 2010 Torch Mobile (Beijing) Co. Ltd. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -309,7 +310,7 @@ void ImageBuffer::putPremultipliedImageData(ImageData* source, const IntRect& so
putImageData(source, sourceRect, destPoint, m_data, m_size, true);
}
-String ImageBuffer::toDataURL(const String& mimeType) const
+String ImageBuffer::toDataURL(const String& mimeType, double) const
{
if (!MIMETypeRegistry::isSupportedImageMIMETypeForEncoding(mimeType))
return "data:,";
diff --git a/WebCore/platform/graphics/mac/GraphicsContext3DMac.cpp b/WebCore/platform/graphics/mac/GraphicsContext3DMac.cpp
index 80c0d03..79a10dd 100644
--- a/WebCore/platform/graphics/mac/GraphicsContext3DMac.cpp
+++ b/WebCore/platform/graphics/mac/GraphicsContext3DMac.cpp
@@ -321,15 +321,53 @@ void GraphicsContext3D::reshape(int width, int height)
notImplemented();
}
- if (mustRestoreFBO)
- ::glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, m_boundFBO);
+ if (m_attrs.antialias) {
+ ::glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, m_multisampleFBO);
+ if (m_boundFBO == m_multisampleFBO)
+ mustRestoreFBO = false;
+ }
- GLenum clearMask = GL_COLOR_BUFFER_BIT;
- if (m_attrs.depth)
+ // Initialize renderbuffers to 0.
+ GLboolean colorMask[] = {GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE}, depthMask = GL_TRUE, stencilMask = GL_TRUE;
+ GLboolean isScissorEnabled = GL_FALSE;
+ GLboolean isDitherEnabled = GL_FALSE;
+ GLbitfield clearMask = GL_COLOR_BUFFER_BIT;
+ ::glGetBooleanv(GL_COLOR_WRITEMASK, colorMask);
+ ::glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
+ if (m_attrs.depth) {
+ ::glGetBooleanv(GL_DEPTH_WRITEMASK, &depthMask);
+ ::glDepthMask(GL_TRUE);
clearMask |= GL_DEPTH_BUFFER_BIT;
- if (m_attrs.stencil)
+ }
+ if (m_attrs.stencil) {
+ ::glGetBooleanv(GL_STENCIL_WRITEMASK, &stencilMask);
+ ::glStencilMask(GL_TRUE);
clearMask |= GL_STENCIL_BUFFER_BIT;
+ }
+ isScissorEnabled = ::glIsEnabled(GL_SCISSOR_TEST);
+ ::glDisable(GL_SCISSOR_TEST);
+ isDitherEnabled = ::glIsEnabled(GL_DITHER);
+ ::glDisable(GL_DITHER);
+
::glClear(clearMask);
+
+ ::glColorMask(colorMask[0], colorMask[1], colorMask[2], colorMask[3]);
+ if (m_attrs.depth)
+ ::glDepthMask(depthMask);
+ if (m_attrs.stencil)
+ ::glStencilMask(stencilMask);
+ if (isScissorEnabled)
+ ::glEnable(GL_SCISSOR_TEST);
+ else
+ ::glDisable(GL_SCISSOR_TEST);
+ if (isDitherEnabled)
+ ::glEnable(GL_DITHER);
+ else
+ ::glDisable(GL_DITHER);
+
+ if (mustRestoreFBO)
+ ::glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, m_boundFBO);
+
::glFlush();
}
diff --git a/WebCore/platform/graphics/mac/SimpleFontDataMac.mm b/WebCore/platform/graphics/mac/SimpleFontDataMac.mm
index 7f1a72e..04badbe 100644
--- a/WebCore/platform/graphics/mac/SimpleFontDataMac.mm
+++ b/WebCore/platform/graphics/mac/SimpleFontDataMac.mm
@@ -265,14 +265,19 @@ void SimpleFontData::platformInit()
GlyphPage* glyphPageZero = GlyphPageTreeNode::getRootChild(this, 0)->page();
NSGlyph xGlyph = glyphPageZero ? glyphPageZero->glyphDataForCharacter('x').glyph : 0;
if (xGlyph) {
- NSRect xBox = [m_platformData.font() boundingRectForGlyph:xGlyph];
+ CGRect xBox = platformBoundsForGlyph(xGlyph);
// Use the maximum of either width or height because "x" is nearly square
// and web pages that foolishly use this metric for width will be laid out
// poorly if we return an accurate height. Classic case is Times 13 point,
// which has an "x" that is 7x6 pixels.
- m_xHeight = max(NSMaxX(xBox), NSMaxY(xBox));
- } else
- m_xHeight = [m_platformData.font() xHeight];
+ m_xHeight = static_cast<float>(max(CGRectGetMaxX(xBox), CGRectGetMaxY(xBox)));
+ } else {
+#ifndef BUILDING_ON_TIGER
+ m_xHeight = static_cast<float>(CGFontGetXHeight(m_platformData.cgFont())) / m_unitsPerEm;
+#else
+ m_xHeight = m_platformData.font() ? [m_platformData.font() xHeight] : 0;
+#endif
+ }
}
static CFDataRef copyFontTableForTag(FontPlatformData platformData, FourCharCode tableName)
@@ -417,11 +422,15 @@ FloatRect SimpleFontData::platformBoundsForGlyph(Glyph glyph) const
float pointSize = platformData().m_size;
CGFloat scale = pointSize / unitsPerEm();
boundingBox = CGRectApplyAffineTransform(box, CGAffineTransformMakeScale(scale, -scale));
- if (m_syntheticBoldOffset)
- boundingBox.setWidth(boundingBox.width() + m_syntheticBoldOffset);
#else
- UNUSED_PARAM(glyph);
+ // FIXME: Custom fonts don't have NSFonts, so this function doesn't compute correct bounds for these on Tiger.
+ if (!m_platformData.font())
+ return boundingBox;
+ boundingBox = [m_platformData.font() boundingRectForGlyph:glyph];
#endif
+ if (m_syntheticBoldOffset)
+ boundingBox.setWidth(boundingBox.width() + m_syntheticBoldOffset);
+
return boundingBox;
}
diff --git a/WebCore/platform/graphics/qt/FontQt.cpp b/WebCore/platform/graphics/qt/FontQt.cpp
index 946faeb..2009424 100644
--- a/WebCore/platform/graphics/qt/FontQt.cpp
+++ b/WebCore/platform/graphics/qt/FontQt.cpp
@@ -73,28 +73,31 @@ void Font::drawComplexText(GraphicsContext* ctx, const TextRun& run, const Float
QPainter *p = ctx->platformContext();
+ QPen textFillPen;
if (ctx->textDrawingMode() & cTextFill) {
if (ctx->fillGradient()) {
QBrush brush(*ctx->fillGradient()->platformGradient());
brush.setTransform(ctx->fillGradient()->gradientSpaceTransform());
- p->setPen(QPen(brush, 0));
+ textFillPen = QPen(brush, 0);
} else if (ctx->fillPattern()) {
AffineTransform affine;
- p->setPen(QPen(QBrush(ctx->fillPattern()->createPlatformPattern(affine)), 0));
+ textFillPen = QPen(QBrush(ctx->fillPattern()->createPlatformPattern(affine)), 0);
} else
- p->setPen(QColor(ctx->fillColor()));
+ textFillPen = QPen(QColor(ctx->fillColor()));
}
+ QPen textStrokePen;
if (ctx->textDrawingMode() & cTextStroke) {
if (ctx->strokeGradient()) {
QBrush brush(*ctx->strokeGradient()->platformGradient());
brush.setTransform(ctx->strokeGradient()->gradientSpaceTransform());
- p->setPen(QPen(brush, ctx->strokeThickness()));
+ textStrokePen = QPen(brush, ctx->strokeThickness());
} else if (ctx->strokePattern()) {
AffineTransform affine;
- p->setPen(QPen(QBrush(ctx->strokePattern()->createPlatformPattern(affine)), ctx->strokeThickness()));
+ QBrush brush(ctx->strokePattern()->createPlatformPattern(affine));
+ textStrokePen = QPen(brush, ctx->strokeThickness());
} else
- p->setPen(QPen(QColor(ctx->strokeColor()), ctx->strokeThickness()));
+ textStrokePen = QPen(QColor(ctx->strokeColor()), ctx->strokeThickness());
}
String sanitized = Font::normalizeSpaces(String(run.characters(), run.length()));
@@ -163,10 +166,13 @@ void Font::drawComplexText(GraphicsContext* ctx, const TextRun& run, const Float
if (ctx->textDrawingMode() & cTextStroke) {
QPainterPath path;
path.addText(pt, font(), string);
+ p->setPen(textStrokePen);
p->strokePath(path, p->pen());
}
- if (ctx->textDrawingMode() & cTextFill)
+ if (ctx->textDrawingMode() & cTextFill) {
+ p->setPen(textFillPen);
p->drawText(pt, string, flags, run.padding());
+ }
}
float Font::floatWidthForComplexText(const TextRun& run, HashSet<const SimpleFontData*>*, GlyphOverflow*) const
diff --git a/WebCore/platform/graphics/qt/GraphicsContextQt.cpp b/WebCore/platform/graphics/qt/GraphicsContextQt.cpp
index 69121c8..bdb810a 100644
--- a/WebCore/platform/graphics/qt/GraphicsContextQt.cpp
+++ b/WebCore/platform/graphics/qt/GraphicsContextQt.cpp
@@ -173,7 +173,7 @@ struct TransparencyLayer : FastAllocBase {
, alphaMask(alphaMask)
, saveCounter(1) // see the comment for saveCounter
{
- offset = p->transform().mapRect(rect).topLeft();
+ offset = rect.topLeft();
pixmap.fill(Qt::transparent);
painter.begin(&pixmap);
painter.setRenderHint(QPainter::Antialiasing, p->testRenderHint(QPainter::Antialiasing));
@@ -1125,7 +1125,7 @@ void GraphicsContext::clipToImageBuffer(const FloatRect& floatRect, const ImageB
if (alphaMask.width() != rect.width() || alphaMask.height() != rect.height())
alphaMask = alphaMask.scaled(rect.width(), rect.height());
- m_data->layers.push(new TransparencyLayer(m_data->p(), rect, 1.0, alphaMask));
+ m_data->layers.push(new TransparencyLayer(m_data->p(), m_data->p()->transform().mapRect(rect), 1.0, alphaMask));
}
void GraphicsContext::addInnerRoundedRectClip(const IntRect& rect,
diff --git a/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp b/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp
index 9f36b2a..be54735 100644
--- a/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp
+++ b/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp
@@ -1361,13 +1361,14 @@ public:
if (m_fillsForwards)
setCurrentTime(1);
}
+
virtual void applyFrame(const qreal& fromValue, const qreal& toValue, qreal progress)
{
qreal opacity = qBound(qreal(0), fromValue + (toValue - fromValue) * progress, qreal(1));
// FIXME: This is a hack, due to a probable QGraphicsScene bug.
// Without this the opacity change doesn't always have immediate effect.
- if (!m_layer.data()->opacity() && opacity)
+ if (m_layer.data()->scene() && !m_layer.data()->opacity() && opacity)
m_layer.data()->scene()->update();
m_layer.data()->m_layer->setOpacity(opacity);
diff --git a/WebCore/platform/graphics/qt/ImageBufferQt.cpp b/WebCore/platform/graphics/qt/ImageBufferQt.cpp
index 4245ee5..bee15f2 100644
--- a/WebCore/platform/graphics/qt/ImageBufferQt.cpp
+++ b/WebCore/platform/graphics/qt/ImageBufferQt.cpp
@@ -2,6 +2,7 @@
* Copyright (C) 2006 Nikolas Zimmermann <zimmermann@kde.org>
* Copyright (C) 2008 Holger Hans Peter Freyther
* Copyright (C) 2009 Dirk Schulze <krit@webkit.org>
+ * Copyright (C) 2010 Torch Mobile (Beijing) Co. Ltd. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -275,9 +276,10 @@ void ImageBuffer::putPremultipliedImageData(ImageData* source, const IntRect& so
// We get a mimeType here but QImageWriter does not support mimetypes but
// only formats (png, gif, jpeg..., xpm). So assume we get image/ as image
// mimetypes and then remove the image/ to get the Qt format.
-String ImageBuffer::toDataURL(const String& mimeType) const
+String ImageBuffer::toDataURL(const String& mimeType, double quality) const
{
ASSERT(MIMETypeRegistry::isSupportedImageMIMETypeForEncoding(mimeType));
+ ASSERT(0.0 <= quality && quality <= 1.0);
if (!mimeType.startsWith("image/"))
return "data:,";
@@ -287,8 +289,10 @@ String ImageBuffer::toDataURL(const String& mimeType) const
QBuffer buffer(&data);
buffer.open(QBuffer::WriteOnly);
- if (!m_data.m_pixmap.save(&buffer, mimeType.substring(sizeof "image").utf8().data()))
+ if (!m_data.m_pixmap.save(&buffer, mimeType.substring(sizeof "image").utf8().data(), quality * 100 + 0.5)) {
+ buffer.close();
return "data:,";
+ }
buffer.close();
return String::format("data:%s;base64,%s", mimeType.utf8().data(), data.toBase64().data());
diff --git a/WebCore/platform/graphics/qt/ImageDecoderQt.cpp b/WebCore/platform/graphics/qt/ImageDecoderQt.cpp
index a8110ca..cc707da 100644
--- a/WebCore/platform/graphics/qt/ImageDecoderQt.cpp
+++ b/WebCore/platform/graphics/qt/ImageDecoderQt.cpp
@@ -115,24 +115,8 @@ size_t ImageDecoderQt::frameCount()
int ImageDecoderQt::repetitionCount() const
{
- if (m_reader && m_reader->supportsAnimation()) {
+ if (m_reader && m_reader->supportsAnimation())
m_repetitionCount = m_reader->loopCount();
-
- // Qt and WebCore have a incompatible understanding of
- // the loop count and we can not completely map everything.
- // Qt | WebCore | description
- // -1 | 0 | infinite animation
- // 0 | cAnimationLoopOnce | show every frame once
- // n | n+1 | Qt returns the # of iterations - 1
- // n/a | cAnimationNone | show only the first frame
- if (m_repetitionCount == -1)
- m_repetitionCount = 0;
- else if (m_repetitionCount == 0)
- m_repetitionCount = cAnimationLoopOnce;
- else
- ++m_repetitionCount;
- }
-
return m_repetitionCount;
}
diff --git a/WebCore/platform/graphics/skia/GraphicsContextSkia.cpp b/WebCore/platform/graphics/skia/GraphicsContextSkia.cpp
index e16b373..9de21e0 100644
--- a/WebCore/platform/graphics/skia/GraphicsContextSkia.cpp
+++ b/WebCore/platform/graphics/skia/GraphicsContextSkia.cpp
@@ -875,9 +875,9 @@ void GraphicsContext::setCompositeOperation(CompositeOperator op)
platformContext()->setXfermodeMode(WebCoreCompositeToSkiaComposite(op));
}
-void GraphicsContext::setImageInterpolationQuality(InterpolationQuality)
+void GraphicsContext::setImageInterpolationQuality(InterpolationQuality q)
{
- notImplemented();
+ platformContext()->setInterpolationQuality(q);
}
void GraphicsContext::setLineCap(LineCap cap)
diff --git a/WebCore/platform/graphics/skia/ImageBufferSkia.cpp b/WebCore/platform/graphics/skia/ImageBufferSkia.cpp
index 4ea3d7a..1b03694 100644
--- a/WebCore/platform/graphics/skia/ImageBufferSkia.cpp
+++ b/WebCore/platform/graphics/skia/ImageBufferSkia.cpp
@@ -1,6 +1,7 @@
/*
* Copyright (c) 2008, Google Inc. All rights reserved.
* Copyright (C) 2009 Dirk Schulze <krit@webkit.org>
+ * Copyright (C) 2010 Torch Mobile (Beijing) Co. Ltd. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
@@ -260,7 +261,7 @@ void ImageBuffer::putPremultipliedImageData(ImageData* source, const IntRect& so
putImageData<Premultiplied>(source, sourceRect, destPoint, *context()->platformContext()->bitmap(), m_size);
}
-String ImageBuffer::toDataURL(const String&) const
+String ImageBuffer::toDataURL(const String&, double) const
{
// Encode the image into a vector.
Vector<unsigned char> pngEncodedData;
diff --git a/WebCore/platform/graphics/skia/ImageSkia.cpp b/WebCore/platform/graphics/skia/ImageSkia.cpp
index 21ba934..d1fb647 100644
--- a/WebCore/platform/graphics/skia/ImageSkia.cpp
+++ b/WebCore/platform/graphics/skia/ImageSkia.cpp
@@ -64,7 +64,7 @@ enum ResamplingMode {
RESAMPLE_AWESOME,
};
-static ResamplingMode computeResamplingMode(const NativeImageSkia& bitmap, int srcWidth, int srcHeight, float destWidth, float destHeight)
+static ResamplingMode computeResamplingMode(PlatformContextSkia* platformContext, const NativeImageSkia& bitmap, int srcWidth, int srcHeight, float destWidth, float destHeight)
{
int destIWidth = static_cast<int>(destWidth);
int destIHeight = static_cast<int>(destHeight);
@@ -130,7 +130,11 @@ static ResamplingMode computeResamplingMode(const NativeImageSkia& bitmap, int s
return RESAMPLE_LINEAR;
// Everything else gets resampled.
- return RESAMPLE_AWESOME;
+ // If the platform context permits high quality interpolation, use it.
+ if (platformContext->interpolationQuality() == InterpolationHigh)
+ return RESAMPLE_AWESOME;
+
+ return RESAMPLE_LINEAR;
}
// Draws the given bitmap to the given canvas. The subset of the source bitmap
@@ -184,7 +188,7 @@ static void drawResampledBitmap(SkCanvas& canvas, SkPaint& paint, const NativeIm
if (!destBitmapSubsetSkI.intersect(resizedImageRect))
return; // Resized image does not intersect.
- if (srcIsFull && bitmap.shouldCacheResampling(
+ if (srcIsFull || bitmap.shouldCacheResampling(
resizedImageRect.width(),
resizedImageRect.height(),
destBitmapSubsetSkI.width(),
@@ -230,7 +234,7 @@ static void paintSkBitmap(PlatformContextSkia* platformContext, const NativeImag
skia::PlatformCanvas* canvas = platformContext->canvas();
ResamplingMode resampling = platformContext->isPrinting() ? RESAMPLE_NONE :
- computeResamplingMode(bitmap, srcRect.width(), srcRect.height(),
+ computeResamplingMode(platformContext, bitmap, srcRect.width(), srcRect.height(),
SkScalarToFloat(destRect.width()),
SkScalarToFloat(destRect.height()));
if (resampling == RESAMPLE_AWESOME) {
@@ -336,7 +340,7 @@ void Image::drawPattern(GraphicsContext* context,
if (context->platformContext()->isPrinting())
resampling = RESAMPLE_LINEAR;
else {
- resampling = computeResamplingMode(*bitmap,
+ resampling = computeResamplingMode(context->platformContext(), *bitmap,
srcRect.width(), srcRect.height(),
destBitmapWidth, destBitmapHeight);
}
diff --git a/WebCore/platform/graphics/skia/PlatformContextSkia.cpp b/WebCore/platform/graphics/skia/PlatformContextSkia.cpp
index e0f6f5d..7ec403c 100644
--- a/WebCore/platform/graphics/skia/PlatformContextSkia.cpp
+++ b/WebCore/platform/graphics/skia/PlatformContextSkia.cpp
@@ -99,6 +99,7 @@ struct PlatformContextSkia::State {
// This is a list of clipping paths which are currently active, in the
// order in which they were pushed.
WTF::Vector<SkPath> m_antiAliasClipPaths;
+ WebCore::InterpolationQuality m_interpolationQuality;
private:
// Not supported.
@@ -123,6 +124,7 @@ PlatformContextSkia::State::State()
, m_lineJoin(SkPaint::kDefault_Join)
, m_dash(0)
, m_textDrawingMode(WebCore::cTextFill)
+ , m_interpolationQuality(WebCore::InterpolationHigh)
{
}
@@ -147,6 +149,7 @@ PlatformContextSkia::State::State(const State& other)
, m_imageBufferClip(other.m_imageBufferClip)
, m_clip(other.m_clip)
#endif
+ , m_interpolationQuality(other.m_interpolationQuality)
{
// Up the ref count of these. saveRef does nothing if 'this' is NULL.
m_looper->safeRef();
@@ -539,6 +542,16 @@ void PlatformContextSkia::setFillShader(SkShader* fillShader)
}
}
+WebCore::InterpolationQuality PlatformContextSkia::interpolationQuality() const
+{
+ return m_state->m_interpolationQuality;
+}
+
+void PlatformContextSkia::setInterpolationQuality(WebCore::InterpolationQuality interpolationQuality)
+{
+ m_state->m_interpolationQuality = interpolationQuality;
+}
+
void PlatformContextSkia::setDashPathEffect(SkDashPathEffect* dash)
{
if (dash != m_state->m_dash) {
diff --git a/WebCore/platform/graphics/skia/PlatformContextSkia.h b/WebCore/platform/graphics/skia/PlatformContextSkia.h
index e445262..2f24646 100644
--- a/WebCore/platform/graphics/skia/PlatformContextSkia.h
+++ b/WebCore/platform/graphics/skia/PlatformContextSkia.h
@@ -147,6 +147,9 @@ public:
skia::PlatformCanvas* canvas() { return m_canvas; }
+ WebCore::InterpolationQuality interpolationQuality() const;
+ void setInterpolationQuality(WebCore::InterpolationQuality interpolationQuality);
+
// FIXME: This should be pushed down to GraphicsContext.
void drawRect(SkRect rect);
diff --git a/WebCore/platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp b/WebCore/platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp
new file mode 100644
index 0000000..c6be087
--- /dev/null
+++ b/WebCore/platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp
@@ -0,0 +1,182 @@
+/*
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS “AS IS”
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "MediaPlayerPrivateFullscreenWindow.h"
+
+#include "IntRect.h"
+#include "WebCoreInstanceHandle.h"
+#include <CoreGraphics/CGColor.h>
+#include <windows.h>
+
+namespace WebCore {
+
+MediaPlayerPrivateFullscreenWindow::MediaPlayerPrivateFullscreenWindow(MediaPlayerPrivateFullscreenClient* client)
+ : m_client(client)
+ , m_hwnd(0)
+#if USE(ACCELERATED_COMPOSITING)
+ , m_layerRenderer(WKCACFLayerRenderer::create(0))
+#endif
+{
+}
+
+MediaPlayerPrivateFullscreenWindow::~MediaPlayerPrivateFullscreenWindow()
+{
+ if (m_hwnd)
+ close();
+}
+
+void MediaPlayerPrivateFullscreenWindow::createWindow(HWND parentHwnd)
+{
+ static ATOM windowAtom;
+ static LPCWSTR windowClassName = L"MediaPlayerPrivateFullscreenWindowClass";
+ if (!windowAtom) {
+ WNDCLASSEX wcex = {0};
+ wcex.cbSize = sizeof(WNDCLASSEX);
+ wcex.style = CS_HREDRAW | CS_VREDRAW;
+ wcex.lpfnWndProc = staticWndProc;
+ wcex.hInstance = instanceHandle();
+ wcex.lpszClassName = windowClassName;
+ windowAtom = ::RegisterClassEx(&wcex);
+ }
+
+ if (m_hwnd)
+ close();
+
+ MONITORINFO mi = {0};
+ mi.cbSize = sizeof(MONITORINFO);
+ if (!GetMonitorInfo(MonitorFromWindow(parentHwnd, MONITOR_DEFAULTTONEAREST), &mi))
+ return;
+
+ IntRect monitorRect = mi.rcMonitor;
+
+ ::CreateWindowExW(WS_EX_TOOLWINDOW, windowClassName, L"", WS_POPUP | WS_VISIBLE,
+ monitorRect.x(), monitorRect.y(), monitorRect.width(), monitorRect.height(),
+ parentHwnd, 0, WebCore::instanceHandle(), this);
+ ASSERT(IsWindow(m_hwnd));
+
+ ::SetFocus(m_hwnd);
+}
+
+void MediaPlayerPrivateFullscreenWindow::close()
+{
+ ::DestroyWindow(m_hwnd);
+ ASSERT(!m_hwnd);
+}
+
+#if USE(ACCELERATED_COMPOSITING)
+void MediaPlayerPrivateFullscreenWindow::setRootChildLayer(PassRefPtr<WKCACFLayer> rootChild)
+{
+ if (m_rootChild == rootChild)
+ return;
+
+ if (m_rootChild)
+ m_rootChild->removeFromSuperlayer();
+
+ m_rootChild = rootChild;
+
+ if (!m_rootChild)
+ return;
+
+ m_layerRenderer->setRootChildLayer(m_rootChild.get());
+ WKCACFLayer* rootLayer = m_rootChild->rootLayer();
+ CGRect rootBounds = m_rootChild->rootLayer()->bounds();
+ m_rootChild->setFrame(rootBounds);
+ m_layerRenderer->setScrollFrame(IntPoint(rootBounds.origin), IntSize(rootBounds.size));
+ m_rootChild->setBackgroundColor(CGColorGetConstantColor(kCGColorBlack));
+#ifndef NDEBUG
+ RetainPtr<CGColorRef> redColor(AdoptCF, CGColorCreateGenericRGB(1, 0, 0, 1));
+ rootLayer->setBackgroundColor(redColor.get());
+#else
+ rootLayer->setBackgroundColor(CGColorGetConstantColor(kCGColorBlack));
+#endif
+}
+#endif
+
+LRESULT MediaPlayerPrivateFullscreenWindow::staticWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ LONG_PTR longPtr = GetWindowLongPtr(hWnd, GWLP_USERDATA);
+
+ if (!longPtr && message == WM_CREATE) {
+ LPCREATESTRUCT lpcs = reinterpret_cast<LPCREATESTRUCT>(lParam);
+ longPtr = reinterpret_cast<LONG_PTR>(lpcs->lpCreateParams);
+ ::SetWindowLongPtr(hWnd, GWLP_USERDATA, longPtr);
+ }
+
+ if (MediaPlayerPrivateFullscreenWindow* window = reinterpret_cast<MediaPlayerPrivateFullscreenWindow*>(longPtr))
+ return window->wndProc(hWnd, message, wParam, lParam);
+
+ return ::DefWindowProc(hWnd, message, wParam, lParam);
+}
+
+LRESULT MediaPlayerPrivateFullscreenWindow::wndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ LRESULT lResult = 0;
+ switch (message) {
+ case WM_CREATE:
+ m_hwnd = hWnd;
+#if USE(ACCELERATED_COMPOSITING)
+ m_layerRenderer->setHostWindow(m_hwnd);
+ m_layerRenderer->createRenderer();
+ if (m_rootChild)
+ m_layerRenderer->setNeedsDisplay();
+#endif
+ break;
+ case WM_DESTROY:
+ m_hwnd = 0;
+#if USE(ACCELERATED_COMPOSITING)
+ m_layerRenderer->destroyRenderer();
+ m_layerRenderer->setHostWindow(0);
+#endif
+ break;
+ case WM_WINDOWPOSCHANGED:
+ {
+ LPWINDOWPOS wp = reinterpret_cast<LPWINDOWPOS>(lParam);
+ if (wp->flags & SWP_NOSIZE)
+ break;
+#if USE(ACCELERATED_COMPOSITING)
+ m_layerRenderer->resize();
+ WKCACFLayer* rootLayer = m_rootChild->rootLayer();
+ CGRect rootBounds = m_rootChild->rootLayer()->bounds();
+ m_rootChild->setFrame(rootBounds);
+ m_rootChild->setNeedsLayout();
+ m_layerRenderer->setScrollFrame(IntPoint(rootBounds.origin), IntSize(rootBounds.size));
+#endif
+ }
+ break;
+ case WM_PAINT:
+#if USE(ACCELERATED_COMPOSITING)
+ m_layerRenderer->renderSoon();
+#endif
+ break;
+ }
+
+ if (m_client)
+ lResult = m_client->fullscreenClientWndProc(hWnd, message, wParam, lParam);
+
+ return lResult;
+}
+
+}
diff --git a/WebCore/platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h b/WebCore/platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h
new file mode 100644
index 0000000..d42f7f3
--- /dev/null
+++ b/WebCore/platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h
@@ -0,0 +1,82 @@
+/*
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS “AS IS”
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef MediaPlayerPrivateFullscreenWindow_h
+#define MediaPlayerPrivateFullscreenWindow_h
+
+#if USE(ACCELERATED_COMPOSITING)
+#include "WKCACFLayer.h"
+#include "WKCACFLayerRenderer.h"
+#endif
+#include <wtf/OwnPtr.h>
+
+typedef unsigned WPARAM;
+typedef long LPARAM;
+typedef struct HWND__* HWND;
+typedef _W64 long LONG_PTR;
+typedef LONG_PTR LRESULT;
+typedef unsigned int UINT;
+
+namespace WebCore {
+
+class MediaPlayerPrivateFullscreenClient {
+public:
+ virtual LRESULT fullscreenClientWndProc(HWND, UINT message, WPARAM, LPARAM) = 0;
+protected:
+ virtual ~MediaPlayerPrivateFullscreenClient() {}
+};
+
+class MediaPlayerPrivateFullscreenWindow {
+public:
+ MediaPlayerPrivateFullscreenWindow(MediaPlayerPrivateFullscreenClient*);
+ ~MediaPlayerPrivateFullscreenWindow();
+
+ void createWindow(HWND ownerWindow);
+ void close();
+
+ HWND hwnd() const { return m_hwnd; }
+
+#if USE(ACCELERATED_COMPOSITING)
+ WKCACFLayerRenderer* layerRenderer() const { return m_layerRenderer.get(); }
+
+ WKCACFLayer* rootChildLayer() const { return m_rootChild.get(); }
+ void setRootChildLayer(PassRefPtr<WKCACFLayer>);
+#endif
+
+private:
+ static LRESULT __stdcall staticWndProc(HWND, UINT message, WPARAM, LPARAM);
+ LRESULT wndProc(HWND, UINT message, WPARAM, LPARAM);
+
+ MediaPlayerPrivateFullscreenClient* m_client;
+#if USE(ACCELERATED_COMPOSITING)
+ OwnPtr<WKCACFLayerRenderer> m_layerRenderer;
+ RefPtr<WKCACFLayer> m_rootChild;
+#endif
+ HWND m_hwnd;
+};
+
+}
+
+#endif
diff --git a/WebCore/platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp b/WebCore/platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp
index e1d457f..aa7bdd4 100644
--- a/WebCore/platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp
+++ b/WebCore/platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp
@@ -40,6 +40,7 @@
#include "QTMovieTask.h"
#include "QTMovieVisualContext.h"
#include "ScrollView.h"
+#include "Settings.h"
#include "SoftLinking.h"
#include "StringBuilder.h"
#include "StringHash.h"
@@ -56,16 +57,15 @@
#if USE(ACCELERATED_COMPOSITING)
#include "GraphicsLayerCACF.h"
#include "WKCACFLayer.h"
+#include "WKCAImageQueue.h"
#endif
using namespace std;
-const CFStringRef kMinQuartzCoreVersion = CFSTR("1.0.43.0");
-const CFStringRef kMinCoreVideoVersion = CFSTR("1.0.0.2");
-
namespace WebCore {
static CGImageRef CreateCGImageFromPixelBuffer(QTPixelBuffer buffer);
+static bool requiredDllsAvailable();
SOFT_LINK_LIBRARY(Wininet)
SOFT_LINK(Wininet, InternetSetCookieExW, DWORD, WINAPI, (LPCWSTR lpszUrl, LPCWSTR lpszCookieName, LPCWSTR lpszCookieData, DWORD dwFlags, DWORD_PTR dwReserved), (lpszUrl, lpszCookieName, lpszCookieData, dwFlags, dwReserved))
@@ -144,12 +144,16 @@ MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualConte
MediaPlayerPrivateQuickTimeVisualContext::~MediaPlayerPrivateQuickTimeVisualContext()
{
tearDownVideoRendering();
- m_visualContext->setMovie(0);
cancelCallOnMainThread(&VisualContextClient::retrieveCurrentImageProc, this);
}
bool MediaPlayerPrivateQuickTimeVisualContext::supportsFullscreen() const
{
+#if USE(ACCELERATED_COMPOSITING)
+ Document* document = m_player->mediaPlayerClient()->mediaPlayerOwningDocument();
+ if (document && document->settings())
+ return document->settings()->acceleratedCompositingEnabled();
+#endif
return false;
}
@@ -285,10 +289,6 @@ void MediaPlayerPrivateQuickTimeVisualContext::load(const String& url)
m_movie = adoptRef(new QTMovie(m_movieClient.get()));
m_movie->load(url.characters(), url.length(), m_player->preservesPitch());
m_movie->setVolume(m_player->volume());
-
- CFDictionaryRef options = QTMovieVisualContext::getCGImageOptions();
- m_visualContext = adoptRef(new QTMovieVisualContext(m_visualContextClient.get(), options));
- m_visualContext->setMovie(m_movie.get());
}
void MediaPlayerPrivateQuickTimeVisualContext::play()
@@ -630,6 +630,14 @@ void MediaPlayerPrivateQuickTimeVisualContext::setVisible(bool visible)
void MediaPlayerPrivateQuickTimeVisualContext::paint(GraphicsContext* p, const IntRect& r)
{
+ MediaRenderingMode currentMode = currentRenderingMode();
+
+ if (currentMode == MediaRenderingNone)
+ return;
+
+ if (currentMode == MediaRenderingSoftwareRenderer && !m_visualContext)
+ return;
+
#if USE(ACCELERATED_COMPOSITING)
if (m_qtVideoLayer)
return;
@@ -756,16 +764,40 @@ void MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage()
WKCACFLayer* layer = static_cast<WKCACFLayer*>(m_qtVideoLayer->platformLayer());
- if (!buffer.lockBaseAddress()) {
- CFTimeInterval imageTime = QTMovieVisualContext::currentHostTime();
+ if (!buffer.lockBaseAddress()) {
+ if (requiredDllsAvailable()) {
+ if (!m_imageQueue) {
+ m_imageQueue = new WKCAImageQueue(buffer.width(), buffer.height(), 30);
+ m_imageQueue->setFlags(WKCAImageQueue::Fill, WKCAImageQueue::Fill);
+ layer->setContents(m_imageQueue->get());
+ }
+
+ // Debug QuickTime links against a non-Debug version of CoreFoundation, so the
+ // CFDictionary attached to the CVPixelBuffer cannot be directly passed on into the
+ // CAImageQueue without being converted to a non-Debug CFDictionary. Additionally,
+ // old versions of QuickTime used a non-AAS CoreFoundation, so the types are not
+ // interchangable even in the release case.
+ RetainPtr<CFDictionaryRef> attachments(AdoptCF, QTCFDictionaryCreateCopyWithDataCallback(kCFAllocatorDefault, buffer.attachments(), &QTCFDictionaryCreateWithDataCallback));
+ CFTimeInterval imageTime = QTMovieVisualContext::currentHostTime();
+
+ m_imageQueue->collect();
+ uint64_t imageId = m_imageQueue->registerPixelBuffer(buffer.baseAddress(), buffer.dataSize(), buffer.bytesPerRow(), buffer.width(), buffer.height(), buffer.pixelFormatType(), attachments.get(), 0);
+
+ if (m_imageQueue->insertImage(imageTime, WKCAImageQueue::Buffer, imageId, WKCAImageQueue::Opaque | WKCAImageQueue::Flush, &QTPixelBuffer::imageQueueReleaseCallback, buffer.pixelBufferRef())) {
+ // Retain the buffer one extra time so it doesn't dissappear before CAImageQueue decides to release it:
+ QTPixelBuffer::retainCallback(buffer.pixelBufferRef());
+ }
+
+ } else {
CGImageRef image = CreateCGImageFromPixelBuffer(buffer);
layer->setContents(image);
CGImageRelease(image);
-
- buffer.unlockBaseAddress();
- layer->rootLayer()->setNeedsRender();
}
+
+ buffer.unlockBaseAddress();
+ layer->rootLayer()->setNeedsRender();
+ }
} else
#endif
m_player->repaint();
@@ -794,6 +826,69 @@ static HashSet<String> mimeTypeCache()
return typeCache;
}
+static CFStringRef createVersionStringFromModuleName(LPCWSTR moduleName)
+{
+ HMODULE module = GetModuleHandleW(moduleName);
+ if (!module)
+ return 0;
+
+ wchar_t filePath[MAX_PATH] = {0};
+ if (!GetModuleFileNameW(module, filePath, MAX_PATH))
+ return 0;
+
+ DWORD versionInfoSize = GetFileVersionInfoSizeW(filePath, 0);
+ if (!versionInfoSize)
+ return 0;
+
+ CFStringRef versionString = 0;
+ void* versionInfo = calloc(versionInfoSize, sizeof(char));
+ if (GetFileVersionInfo(filePath, 0, versionInfoSize, versionInfo)) {
+ VS_FIXEDFILEINFO* fileInfo = 0;
+ UINT fileInfoLength = 0;
+
+ if (VerQueryValueW(versionInfo, L"\\", reinterpret_cast<LPVOID*>(&fileInfo), &fileInfoLength)) {
+ versionString = CFStringCreateWithFormat(kCFAllocatorDefault, 0, CFSTR("%d.%d.%d.%d"),
+ HIWORD(fileInfo->dwFileVersionMS), LOWORD(fileInfo->dwFileVersionMS),
+ HIWORD(fileInfo->dwFileVersionLS), LOWORD(fileInfo->dwFileVersionLS));
+ }
+ }
+ free(versionInfo);
+
+ return versionString;
+}
+
+static bool requiredDllsAvailable()
+{
+ static bool s_prerequisitesChecked = false;
+ static bool s_prerequisitesSatisfied;
+ static const CFStringRef kMinQuartzCoreVersion = CFSTR("1.0.42.0");
+ static const CFStringRef kMinCoreVideoVersion = CFSTR("1.0.1.0");
+
+ if (s_prerequisitesChecked)
+ return s_prerequisitesSatisfied;
+ s_prerequisitesChecked = true;
+ s_prerequisitesSatisfied = false;
+
+ CFStringRef quartzCoreString = createVersionStringFromModuleName(L"QuartzCore");
+ if (!quartzCoreString)
+ quartzCoreString = createVersionStringFromModuleName(L"QuartzCore_debug");
+
+ CFStringRef coreVideoString = createVersionStringFromModuleName(L"CoreVideo");
+ if (!coreVideoString)
+ coreVideoString = createVersionStringFromModuleName(L"CoreVideo_debug");
+
+ s_prerequisitesSatisfied = (quartzCoreString && coreVideoString
+ && CFStringCompare(quartzCoreString, kMinQuartzCoreVersion, kCFCompareNumerically) != kCFCompareLessThan
+ && CFStringCompare(coreVideoString, kMinCoreVideoVersion, kCFCompareNumerically) != kCFCompareLessThan);
+
+ if (quartzCoreString)
+ CFRelease(quartzCoreString);
+ if (coreVideoString)
+ CFRelease(coreVideoString);
+
+ return s_prerequisitesSatisfied;
+}
+
void MediaPlayerPrivateQuickTimeVisualContext::getSupportedTypes(HashSet<String>& types)
{
types = mimeTypeCache();
@@ -858,7 +953,7 @@ MediaPlayerPrivateQuickTimeVisualContext::MediaRenderingMode MediaPlayerPrivateQ
return MediaRenderingMovieLayer;
#endif
- return MediaRenderingSoftwareRenderer;
+ return m_visualContext ? MediaRenderingSoftwareRenderer : MediaRenderingNone;
}
MediaPlayerPrivateQuickTimeVisualContext::MediaRenderingMode MediaPlayerPrivateQuickTimeVisualContext::preferredRenderingMode() const
@@ -896,6 +991,10 @@ void MediaPlayerPrivateQuickTimeVisualContext::setUpVideoRendering()
if (currentMode == MediaRenderingMovieLayer || preferredMode == MediaRenderingMovieLayer)
m_player->mediaPlayerClient()->mediaPlayerRenderingModeChanged(m_player);
#endif
+
+ QTMovieVisualContext::Type contextType = requiredDllsAvailable() && preferredMode == MediaRenderingMovieLayer ? QTMovieVisualContext::ConfigureForCAImageQueue : QTMovieVisualContext::ConfigureForCGImage;
+ m_visualContext = QTMovieVisualContext::create(m_visualContextClient.get(), contextType);
+ m_visualContext->setMovie(m_movie.get());
}
void MediaPlayerPrivateQuickTimeVisualContext::tearDownVideoRendering()
@@ -904,12 +1003,14 @@ void MediaPlayerPrivateQuickTimeVisualContext::tearDownVideoRendering()
if (m_qtVideoLayer)
destroyLayerForMovie();
#endif
+
+ m_visualContext = 0;
}
bool MediaPlayerPrivateQuickTimeVisualContext::hasSetUpVideoRendering() const
{
#if USE(ACCELERATED_COMPOSITING)
- return m_qtVideoLayer || currentRenderingMode() != MediaRenderingMovieLayer;
+ return m_qtVideoLayer || (currentRenderingMode() != MediaRenderingMovieLayer && m_visualContext);
#else
return true;
#endif
@@ -939,14 +1040,22 @@ void MediaPlayerPrivateQuickTimeVisualContext::createLayerForMovie()
#endif
// The layer will get hooked up via RenderLayerBacking::updateGraphicsLayerConfiguration().
#endif
+
+ // Fill the newly created layer with image data, so we're not looking at
+ // an empty layer until the next time a new image is available, which could
+ // be a long time if we're paused.
+ if (m_visualContext)
+ retrieveCurrentImage();
}
void MediaPlayerPrivateQuickTimeVisualContext::destroyLayerForMovie()
{
#if USE(ACCELERATED_COMPOSITING)
- if (!m_qtVideoLayer)
- return;
- m_qtVideoLayer = 0;
+ if (m_qtVideoLayer)
+ m_qtVideoLayer = 0;
+
+ if (m_imageQueue)
+ m_imageQueue = 0;
#endif
}
diff --git a/WebCore/platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h b/WebCore/platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h
index 12166a3..7bf796c 100644
--- a/WebCore/platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h
+++ b/WebCore/platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h
@@ -41,7 +41,6 @@
typedef struct CGImage *CGImageRef;
class QTMovie;
class QTMovieVisualContext;
-class WKCAImageQueue;
namespace WebCore {
@@ -50,6 +49,10 @@ class IntSize;
class IntRect;
class String;
+#if USE(ACCELERATED_COMPOSITING)
+class WKCAImageQueue;
+#endif
+
class MediaPlayerPrivateQuickTimeVisualContext : public MediaPlayerPrivateInterface {
public:
static void registerMediaEngine(MediaEngineRegistrar);
@@ -161,6 +164,7 @@ private:
RefPtr<QTMovie> m_movie;
#if USE(ACCELERATED_COMPOSITING)
OwnPtr<GraphicsLayer> m_qtVideoLayer;
+ OwnPtr<WKCAImageQueue> m_imageQueue;
#endif
RefPtr<QTMovieVisualContext> m_visualContext;
float m_seekTo;
diff --git a/WebCore/platform/graphics/win/QTMovieVisualContext.cpp b/WebCore/platform/graphics/win/QTMovieVisualContext.cpp
index 9c08cd9..0232d3b 100644
--- a/WebCore/platform/graphics/win/QTMovieVisualContext.cpp
+++ b/WebCore/platform/graphics/win/QTMovieVisualContext.cpp
@@ -39,7 +39,7 @@ struct QTCVTimeStamp {
class QTMovieVisualContextPriv {
public:
- QTMovieVisualContextPriv(QTMovieVisualContext* parent, QTMovieVisualContextClient* client, CFDictionaryRef options);
+ QTMovieVisualContextPriv(QTMovieVisualContext* parent, QTMovieVisualContextClient* client, QTMovieVisualContext::Type contextType);
~QTMovieVisualContextPriv();
bool isImageAvailableForTime(const QTCVTimeStamp*) const;
@@ -61,7 +61,61 @@ private:
};
-QTMovieVisualContextPriv::QTMovieVisualContextPriv(QTMovieVisualContext* parent, QTMovieVisualContextClient* client, CFDictionaryRef options)
+static OSStatus SetNumberValue(CFMutableDictionaryRef inDict, CFStringRef inKey, SInt32 inValue)
+{
+ CFNumberRef number;
+
+ number = CFNumberCreate(kCFAllocatorDefault, kCFNumberSInt32Type, &inValue);
+ if (!number)
+ return coreFoundationUnknownErr;
+
+ CFDictionarySetValue(inDict, inKey, number);
+ CFRelease(number);
+
+ return noErr;
+}
+
+static CFDictionaryRef createPixelBufferOptionsDictionary(QTMovieVisualContext::Type contextType)
+{
+ static const CFStringRef kDirect3DCompatibilityKey = CFSTR("Direct3DCompatibility");
+
+ CFMutableDictionaryRef pixelBufferOptions = CFDictionaryCreateMutable(kCFAllocatorDefault, 0, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks);
+
+ CFMutableDictionaryRef pixelBufferAttributes = CFDictionaryCreateMutable(kCFAllocatorDefault, 0, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks);
+ if (contextType == QTMovieVisualContext::ConfigureForCAImageQueue) {
+ // Ask for D3D compatible pixel buffers so no further work is needed.
+ CFDictionarySetValue(pixelBufferAttributes, kDirect3DCompatibilityKey, kCFBooleanTrue);
+ } else {
+ // Use the k32BGRAPixelFormat, as QuartzCore will be able to use the pixels directly,
+ // without needing an additional copy or rendering pass.
+ SetNumberValue(pixelBufferAttributes, kCVPixelBufferPixelFormatTypeKey, k32BGRAPixelFormat);
+
+ // Set kCVPixelBufferBytesPerRowAlignmentKey to 16 to ensure that each row of pixels
+ // starts at a 16 byte aligned address for most efficient data reading.
+ SetNumberValue(pixelBufferAttributes, kCVPixelBufferBytesPerRowAlignmentKey, 16);
+ CFDictionarySetValue(pixelBufferAttributes, kCVPixelBufferCGImageCompatibilityKey, kCFBooleanTrue);
+ }
+
+ CFDictionarySetValue(pixelBufferOptions, kQTVisualContextPixelBufferAttributesKey, pixelBufferAttributes);
+
+ CFRelease(pixelBufferAttributes);
+
+ return pixelBufferOptions;
+}
+
+static CFDictionaryRef pixelBufferCreationOptions(QTMovieVisualContext::Type contextType)
+{
+ if (contextType == QTMovieVisualContext::ConfigureForCAImageQueue) {
+ static CFDictionaryRef imageQueueOptions = createPixelBufferOptionsDictionary(contextType);
+ return imageQueueOptions;
+ }
+
+ ASSERT(contextType == QTMovieVisualContext::ConfigureForCGImage);
+ static CFDictionaryRef cgImageOptions = createPixelBufferOptionsDictionary(contextType);
+ return cgImageOptions;
+}
+
+QTMovieVisualContextPriv::QTMovieVisualContextPriv(QTMovieVisualContext* parent, QTMovieVisualContextClient* client, QTMovieVisualContext::Type contextType)
: m_parent(parent)
, m_client(client)
, m_visualContext(0)
@@ -77,13 +131,15 @@ QTMovieVisualContextPriv::QTMovieVisualContextPriv(QTMovieVisualContext* parent,
return;
}
- OSStatus status = pPixelBufferContextCreate(kCFAllocatorDefault, options, &m_visualContext);
+ OSStatus status = pPixelBufferContextCreate(kCFAllocatorDefault, pixelBufferCreationOptions(contextType), &m_visualContext);
if (status == noErr && m_visualContext)
QTVisualContextSetImageAvailableCallback(m_visualContext, &QTMovieVisualContextPriv::imageAvailableCallback, static_cast<void*>(this));
}
QTMovieVisualContextPriv::~QTMovieVisualContextPriv()
{
+ if (m_visualContext)
+ QTVisualContextSetImageAvailableCallback(m_visualContext, 0, 0);
}
bool QTMovieVisualContextPriv::isImageAvailableForTime(const QTCVTimeStamp* timeStamp) const
@@ -150,66 +206,13 @@ void QTMovieVisualContextPriv::imageAvailableCallback(QTVisualContextRef visualC
vc->m_client->imageAvailableForTime(reinterpret_cast<const QTCVTimeStamp*>(timeStamp));
}
-static OSStatus SetNumberValue(CFMutableDictionaryRef inDict, CFStringRef inKey, SInt32 inValue)
+PassRefPtr<QTMovieVisualContext> QTMovieVisualContext::create(QTMovieVisualContextClient* client, Type contextType)
{
- CFNumberRef number;
-
- number = CFNumberCreate(kCFAllocatorDefault, kCFNumberSInt32Type, &inValue);
- if (!number)
- return coreFoundationUnknownErr;
-
- CFDictionarySetValue(inDict, inKey, number);
-
- CFRelease(number);
-
- return noErr;
-}
-
-CFDictionaryRef QTMovieVisualContext::getCGImageOptions()
-{
- static CFDictionaryRef options = 0;
-
- if (!options) {
- CFMutableDictionaryRef pixelBufferOptions = 0;
- CFMutableDictionaryRef visualContextOptions = 0;
- OSStatus status = noErr;
-
- // Pixel Buffer attributes
- pixelBufferOptions = CFDictionaryCreateMutable(kCFAllocatorDefault, 0,
- &kCFTypeDictionaryKeyCallBacks,
- &kCFTypeDictionaryValueCallBacks);
-
- // Use the k32BGRAPixelFormat, as QuartzCore will be able to use the pixels directly,
- // without needing an aditional copy or rendering pass:s
- SetNumberValue(pixelBufferOptions, kCVPixelBufferPixelFormatTypeKey, k32BGRAPixelFormat);
-
- // alignment
- SetNumberValue(pixelBufferOptions, kCVPixelBufferBytesPerRowAlignmentKey, 16);
-
- // compatability
- SetNumberValue(pixelBufferOptions, kCVPixelBufferCGImageCompatibilityKey, 1);
-
- // QT Visual Context attributes
- visualContextOptions = CFDictionaryCreateMutable(kCFAllocatorDefault, 0,
- &kCFTypeDictionaryKeyCallBacks,
- &kCFTypeDictionaryValueCallBacks);
-
- // set the pixel buffer attributes for the visual context
- CFDictionarySetValue(visualContextOptions,
- kQTVisualContextPixelBufferAttributesKey,
- pixelBufferOptions);
-
- if (pixelBufferOptions)
- CFRelease(pixelBufferOptions);
-
- options = visualContextOptions;
- }
-
- return options;
+ return adoptRef(new QTMovieVisualContext(client, contextType));
}
-QTMovieVisualContext::QTMovieVisualContext(QTMovieVisualContextClient* client, CFDictionaryRef options)
- : m_private(new QTMovieVisualContextPriv(this, client, options))
+QTMovieVisualContext::QTMovieVisualContext(QTMovieVisualContextClient* client, Type contextType)
+ : m_private(new QTMovieVisualContextPriv(this, client, contextType))
{
}
diff --git a/WebCore/platform/graphics/win/QTMovieVisualContext.h b/WebCore/platform/graphics/win/QTMovieVisualContext.h
index 8846416..057031e 100644
--- a/WebCore/platform/graphics/win/QTMovieVisualContext.h
+++ b/WebCore/platform/graphics/win/QTMovieVisualContext.h
@@ -54,7 +54,9 @@ public:
class QTMOVIEWIN_API QTMovieVisualContext : public RefCounted<QTMovieVisualContext> {
public:
- QTMovieVisualContext(QTMovieVisualContextClient*, CFDictionaryRef options = 0);
+ enum Type { ConfigureForCGImage, ConfigureForCAImageQueue };
+
+ static PassRefPtr<QTMovieVisualContext> create(QTMovieVisualContextClient*, Type);
~QTMovieVisualContext();
bool isImageAvailableForTime(const QTCVTimeStamp*) const;
@@ -66,10 +68,10 @@ public:
void setMovie(PassRefPtr<QTMovie>);
QTMovie* movie() const;
- static CFDictionaryRef getCGImageOptions();
static double currentHostTime();
protected:
+ QTMovieVisualContext(QTMovieVisualContextClient*, Type);
void setupVisualContext();
friend class QTMovieVisualContextPriv;
diff --git a/WebCore/platform/graphics/win/QTPixelBuffer.cpp b/WebCore/platform/graphics/win/QTPixelBuffer.cpp
index f874287..657b68e 100644
--- a/WebCore/platform/graphics/win/QTPixelBuffer.cpp
+++ b/WebCore/platform/graphics/win/QTPixelBuffer.cpp
@@ -172,6 +172,11 @@ void QTPixelBuffer::getExtendedPixels(size_t* left, size_t* right, size_t* top,
return CVPixelBufferGetExtendedPixels(m_pixelBuffer, left, right, top, bottom);
}
+CFDictionaryRef QTPixelBuffer::attachments() const
+{
+ return CVBufferGetAttachments(m_pixelBuffer, kCVAttachmentMode_ShouldPropagate);
+}
+
void QTPixelBuffer::retainCallback(void* refcon)
{
CVPixelBufferRetain(static_cast<CVPixelBufferRef>(refcon));
diff --git a/WebCore/platform/graphics/win/QTPixelBuffer.h b/WebCore/platform/graphics/win/QTPixelBuffer.h
index 3af2197..22f8ba4 100644
--- a/WebCore/platform/graphics/win/QTPixelBuffer.h
+++ b/WebCore/platform/graphics/win/QTPixelBuffer.h
@@ -38,6 +38,7 @@ typedef struct __CVBuffer *CVBufferRef;
typedef CVBufferRef CVPixelBufferRef;
typedef struct CGImage* CGImageRef;
typedef int32_t CVReturn;
+typedef const struct __CFDictionary * CFDictionaryRef;
// QTPixelBuffer wraps QuickTime's implementation of CVPixelBuffer, so its functions are
// safe to call within WebKit.
@@ -74,6 +75,7 @@ public:
size_t bytesPerRowOfPlane(size_t) const;
void getExtendedPixels(size_t* left, size_t* right, size_t* top, size_t* bottom) const;
+ CFDictionaryRef attachments() const;
// Generic CFRetain/CFRelease callbacks
static void releaseCallback(void* refcon);
diff --git a/WebCore/platform/graphics/win/WKCACFLayer.cpp b/WebCore/platform/graphics/win/WKCACFLayer.cpp
index 3f332d8..d3928f1 100644
--- a/WebCore/platform/graphics/win/WKCACFLayer.cpp
+++ b/WebCore/platform/graphics/win/WKCACFLayer.cpp
@@ -154,6 +154,7 @@ PassRefPtr<WKCACFLayer> WKCACFLayer::create(LayerType type)
WKCACFLayer::WKCACFLayer(LayerType type)
: m_layer(AdoptCF, CACFLayerCreate(toCACFLayerType(type)))
+ , m_layoutClient(0)
, m_needsDisplayOnBoundsChange(false)
{
CACFLayerSetUserData(layer(), this);
@@ -286,11 +287,10 @@ void WKCACFLayer::adoptSublayers(WKCACFLayer* source)
void WKCACFLayer::removeFromSuperlayer()
{
WKCACFLayer* superlayer = this->superlayer();
- if (!superlayer)
- return;
-
CACFLayerRemoveFromSuperlayer(layer());
- superlayer->setNeedsCommit();
+
+ if (superlayer)
+ superlayer->setNeedsCommit();
}
WKCACFLayer* WKCACFLayer::internalSublayerAtIndex(int index) const
@@ -343,6 +343,19 @@ void WKCACFLayer::setBounds(const CGRect& rect)
setNeedsDisplay();
}
+void WKCACFLayer::setFrame(const CGRect& rect)
+{
+ CGRect oldFrame = frame();
+ if (CGRectEqualToRect(rect, oldFrame))
+ return;
+
+ CACFLayerSetFrame(layer(), rect);
+ setNeedsCommit();
+
+ if (m_needsDisplayOnBoundsChange && !CGSizeEqualToSize(rect.size, oldFrame.size))
+ setNeedsDisplay();
+}
+
void WKCACFLayer::setContentsGravity(ContentsGravityType type)
{
CACFLayerSetContentsGravity(layer(), toCACFContentsGravityType(type));
@@ -418,6 +431,22 @@ void WKCACFLayer::internalSetNeedsDisplay(const CGRect* dirtyRect)
CACFLayerSetNeedsDisplay(layer(), dirtyRect);
}
+void WKCACFLayer::setLayoutClient(WKCACFLayerLayoutClient* layoutClient)
+{
+ if (layoutClient == m_layoutClient)
+ return;
+
+ m_layoutClient = layoutClient;
+ CACFLayerSetLayoutCallback(layer(), m_layoutClient ? layoutSublayersProc : 0);
+}
+
+void WKCACFLayer::layoutSublayersProc(CACFLayerRef caLayer)
+{
+ WKCACFLayer* layer = WKCACFLayer::layer(caLayer);
+ if (layer && layer->m_layoutClient)
+ layer->m_layoutClient->layoutSublayersOfLayer(layer);
+}
+
#ifndef NDEBUG
static void printIndent(int indent)
{
@@ -497,11 +526,14 @@ void WKCACFLayer::printLayer(int indent) const
}
// Print contents if needed
- CGImageRef layerContents = contents();
+ CFTypeRef layerContents = contents();
if (layerContents) {
- printIndent(indent + 1);
- fprintf(stderr, "(contents (image [%d %d]))\n",
- CGImageGetWidth(layerContents), CGImageGetHeight(layerContents));
+ if (CFGetTypeID(layerContents) == CGImageGetTypeID()) {
+ CGImageRef imageContents = static_cast<CGImageRef>(const_cast<void*>(layerContents));
+ printIndent(indent + 1);
+ fprintf(stderr, "(contents (image [%d %d]))\n",
+ CGImageGetWidth(imageContents), CGImageGetHeight(imageContents));
+ }
}
// Print sublayers if needed
diff --git a/WebCore/platform/graphics/win/WKCACFLayer.h b/WebCore/platform/graphics/win/WKCACFLayer.h
index bdc427e..5e8eb05 100644
--- a/WebCore/platform/graphics/win/WKCACFLayer.h
+++ b/WebCore/platform/graphics/win/WKCACFLayer.h
@@ -44,8 +44,14 @@
namespace WebCore {
-class WKCACFAnimation;
-class WKCACFTimingFunction;
+class WKCACFLayer;
+
+class WKCACFLayerLayoutClient {
+public:
+ virtual void layoutSublayersOfLayer(WKCACFLayer*) = 0;
+protected:
+ virtual ~WKCACFLayerLayoutClient() {}
+};
class WKCACFLayer : public RefCounted<WKCACFLayer> {
public:
@@ -63,6 +69,10 @@ public:
virtual void drawInContext(PlatformGraphicsContext*) { }
+ void setLayoutClient(WKCACFLayerLayoutClient*);
+ WKCACFLayerLayoutClient* layoutClient() const { return m_layoutClient; }
+ void setNeedsLayout() { CACFLayerSetNeedsLayout(layer()); }
+
void setNeedsDisplay(const CGRect* dirtyRect = 0)
{
internalSetNeedsDisplay(dirtyRect);
@@ -155,8 +165,8 @@ public:
void setClearsContext(bool clears) { CACFLayerSetClearsContext(layer(), clears); setNeedsCommit(); }
bool clearsContext() const { return CACFLayerGetClearsContext(layer()); }
- void setContents(CGImageRef contents) { CACFLayerSetContents(layer(), contents); setNeedsCommit(); }
- CGImageRef contents() const { return static_cast<CGImageRef>(const_cast<void*>(CACFLayerGetContents(layer()))); }
+ void setContents(CFTypeRef contents) { CACFLayerSetContents(layer(), contents); setNeedsCommit(); }
+ CFTypeRef contents() const { return CACFLayerGetContents(layer()); }
void setContentsRect(const CGRect& contentsRect) { CACFLayerSetContentsRect(layer(), contentsRect); setNeedsCommit(); }
CGRect contentsRect() const { return CACFLayerGetContentsRect(layer()); }
@@ -173,6 +183,9 @@ public:
void setFilters(CFArrayRef filters) { CACFLayerSetFilters(layer(), filters); setNeedsCommit(); }
CFArrayRef filters() const { return CACFLayerGetFilters(layer()); }
+ virtual void setFrame(const CGRect&);
+ CGRect frame() const { return CACFLayerGetFrame(layer()); }
+
void setHidden(bool hidden) { CACFLayerSetHidden(layer(), hidden); setNeedsCommit(); }
bool isHidden() const { return CACFLayerIsHidden(layer()); }
@@ -206,10 +219,10 @@ public:
CGFloat zPosition() const { return CACFLayerGetZPosition(layer()); }
void setSpeed(float speed) { CACFLayerSetSpeed(layer(), speed); }
- CFTimeInterval speed() const { CACFLayerGetSpeed(layer()); }
+ CFTimeInterval speed() const { return CACFLayerGetSpeed(layer()); }
void setTimeOffset(CFTimeInterval t) { CACFLayerSetTimeOffset(layer(), t); }
- CFTimeInterval timeOffset() const { CACFLayerGetTimeOffset(layer()); }
+ CFTimeInterval timeOffset() const { return CACFLayerGetTimeOffset(layer()); }
WKCACFLayer* rootLayer() const;
@@ -261,7 +274,10 @@ protected:
#endif
private:
+ static void layoutSublayersProc(CACFLayerRef);
+
RetainPtr<CACFLayerRef> m_layer;
+ WKCACFLayerLayoutClient* m_layoutClient;
bool m_needsDisplayOnBoundsChange;
};
diff --git a/WebCore/platform/graphics/win/WKCAImageQueue.cpp b/WebCore/platform/graphics/win/WKCAImageQueue.cpp
new file mode 100644
index 0000000..b52b9a4
--- /dev/null
+++ b/WebCore/platform/graphics/win/WKCAImageQueue.cpp
@@ -0,0 +1,104 @@
+/*
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS “AS IS”
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+
+#if USE(ACCELERATED_COMPOSITING)
+
+#include "WKCAImageQueue.h"
+
+#include <WebKitSystemInterface/WebKitSystemInterface.h>
+#include <wtf/RetainPtr.h>
+
+namespace WebCore {
+
+class WKCAImageQueuePrivate {
+public:
+ RetainPtr<CAImageQueueRef> m_imageQueue;
+};
+
+static CAImageQueueRef WKCAImageQueueRetain(CAImageQueueRef iq)
+{
+ if (iq)
+ return (CAImageQueueRef)CFRetain(iq);
+ return 0;
+}
+
+static void WKCAImageQueueRelease(CAImageQueueRef iq)
+{
+ if (iq)
+ CFRelease(iq);
+}
+
+WKCAImageQueue::WKCAImageQueue(uint32_t width, uint32_t height, uint32_t capacity)
+ : m_private(new WKCAImageQueuePrivate())
+{
+ m_private->m_imageQueue.adoptCF(wkCAImageQueueCreate(width, height, capacity));
+}
+
+WKCAImageQueue::WKCAImageQueue(const WKCAImageQueue& o)
+ : m_private(new WKCAImageQueuePrivate())
+{
+ m_private->m_imageQueue = o.m_private->m_imageQueue;
+}
+
+WKCAImageQueue::~WKCAImageQueue(void)
+{
+}
+
+WKCAImageQueue& WKCAImageQueue::operator=(const WKCAImageQueue& o)
+{
+ m_private->m_imageQueue = o.m_private->m_imageQueue;
+ return *this;
+}
+
+size_t WKCAImageQueue::collect()
+{
+ return wkCAImageQueueCollect(m_private->m_imageQueue.get());
+}
+
+bool WKCAImageQueue::insertImage(double t, unsigned int type, uint64_t id, uint32_t flags, ReleaseCallback release, void* info)
+{
+ return wkCAImageQueueInsertImage(m_private->m_imageQueue.get(), t, type, id, flags, release, info);
+}
+
+uint64_t WKCAImageQueue::registerPixelBuffer(void *data, size_t data_size, size_t rowbytes, size_t width, size_t height, uint32_t pixel_format, CFDictionaryRef attachments, uint32_t flags)
+{
+ return wkCAImageQueueRegisterPixelBuffer(m_private->m_imageQueue.get(), data, data_size, rowbytes, width, height, pixel_format, attachments, flags);
+}
+
+void WKCAImageQueue::setFlags(uint32_t mask, uint32_t flags)
+{
+ wkCAImageQueueSetFlags(m_private->m_imageQueue.get(), mask, flags);
+}
+
+CFTypeRef WKCAImageQueue::get()
+{
+ return m_private->m_imageQueue.get();
+}
+
+}
+
+#endif
diff --git a/WebCore/platform/graphics/win/WKCAImageQueue.h b/WebCore/platform/graphics/win/WKCAImageQueue.h
new file mode 100644
index 0000000..5c17575
--- /dev/null
+++ b/WebCore/platform/graphics/win/WKCAImageQueue.h
@@ -0,0 +1,92 @@
+/*
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS “AS IS”
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef WKCAImageQueue_h
+#define WKCAImageQueue_h
+
+#if USE(ACCELERATED_COMPOSITING)
+
+typedef const void * CFTypeRef;
+typedef const struct __CFDictionary * CFDictionaryRef;
+
+#include <stdint.h>
+#include <wtf/OwnPtr.h>
+
+namespace WebCore {
+
+class WKCAImageQueuePrivate;
+
+class WKCAImageQueue {
+public:
+ enum Flags {
+ Async = 1U << 0,
+ Fill = 1U << 1,
+ Protected = 1U << 2,
+ UseCleanAperture = 1U << 3,
+ UseAspectRatio = 1U << 4,
+ LowQualityColor = 1U << 5,
+ };
+
+ enum ImageType {
+ Nil = 1,
+ Surface,
+ Buffer,
+ IOSurface,
+ };
+
+ enum ImageFlags {
+ Opaque = 1U << 0,
+ Flush = 1U << 1,
+ WillFlush = 1U << 2,
+ Flipped = 1U << 3,
+ WaitGPU = 1U << 4,
+ };
+
+ typedef void (*ReleaseCallback)(unsigned int type, uint64_t id, void* info);
+
+ WKCAImageQueue(uint32_t width, uint32_t height, uint32_t capacity);
+ ~WKCAImageQueue(void);
+
+ size_t collect();
+
+ bool insertImage(double t, unsigned int type, uint64_t id, uint32_t flags, ReleaseCallback release, void* info);
+ uint64_t registerPixelBuffer(void *data, size_t data_size, size_t rowbytes, size_t width, size_t height, uint32_t pixel_format, CFDictionaryRef attachments, uint32_t flags);
+
+ uint32_t flags() const;
+ void setFlags(uint32_t mask, uint32_t flags);
+
+ CFTypeRef get();
+
+private:
+ WKCAImageQueue(const WKCAImageQueue&);
+ WKCAImageQueue& operator=(const WKCAImageQueue&);
+ OwnPtr<WKCAImageQueuePrivate> m_private;
+};
+
+}
+
+#endif
+
+#endif
diff --git a/WebCore/platform/graphics/win/WebTiledLayer.cpp b/WebCore/platform/graphics/win/WebTiledLayer.cpp
index 0cf3f9d..d8c02d2 100755
--- a/WebCore/platform/graphics/win/WebTiledLayer.cpp
+++ b/WebCore/platform/graphics/win/WebTiledLayer.cpp
@@ -73,6 +73,15 @@ void WebTiledLayer::setBounds(const CGRect& rect)
updateTiles();
}
+void WebTiledLayer::setFrame(const CGRect& rect)
+{
+ if (CGRectEqualToRect(rect, frame()))
+ return;
+
+ WebLayer::setFrame(rect);
+ updateTiles();
+}
+
void WebTiledLayer::internalSetNeedsDisplay(const CGRect* dirtyRect)
{
// FIXME: Only setNeedsDisplay for tiles that are currently visible
diff --git a/WebCore/platform/graphics/win/WebTiledLayer.h b/WebCore/platform/graphics/win/WebTiledLayer.h
index ed61656..fdf0205 100755
--- a/WebCore/platform/graphics/win/WebTiledLayer.h
+++ b/WebCore/platform/graphics/win/WebTiledLayer.h
@@ -39,6 +39,7 @@ public:
virtual ~WebTiledLayer();
virtual void setBounds(const CGRect&);
+ virtual void setFrame(const CGRect&);
protected:
WebTiledLayer(const CGSize& tileSize, GraphicsLayer* owner);
diff --git a/WebCore/platform/graphics/wince/ImageBufferWince.cpp b/WebCore/platform/graphics/wince/ImageBufferWince.cpp
index ac3a630..0d5c8dd 100644
--- a/WebCore/platform/graphics/wince/ImageBufferWince.cpp
+++ b/WebCore/platform/graphics/wince/ImageBufferWince.cpp
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2009 Torch Mobile, Inc. All rights reserved.
+ * Copyright (C) 2010 Torch Mobile (Beijing) Co. Ltd. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -215,7 +216,7 @@ void ImageBuffer::putPremultipliedImageData(ImageData* source, const IntRect& so
putImageData<true>(source, sourceRect, destPoint, m_data.m_bitmap.get());
}
-String ImageBuffer::toDataURL(const String& mimeType) const
+String ImageBuffer::toDataURL(const String& mimeType, double) const
{
if (!m_data.m_bitmap->bytes())
return "data:,";
diff --git a/WebCore/platform/graphics/wx/FontWx.cpp b/WebCore/platform/graphics/wx/FontWx.cpp
index c00c622..3dcabf1 100644
--- a/WebCore/platform/graphics/wx/FontWx.cpp
+++ b/WebCore/platform/graphics/wx/FontWx.cpp
@@ -35,7 +35,7 @@
#if OS(WINDOWS)
#include "UniscribeController.h"
-typedef UniscribeController ComplexTextController
+typedef WebCore::UniscribeController ComplexTextController;
#endif
#if OS(DARWIN)
diff --git a/WebCore/platform/graphics/wx/ImageBufferWx.cpp b/WebCore/platform/graphics/wx/ImageBufferWx.cpp
index 6cc611e..1d37dfa 100644
--- a/WebCore/platform/graphics/wx/ImageBufferWx.cpp
+++ b/WebCore/platform/graphics/wx/ImageBufferWx.cpp
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2007 Kevin Ollivier <kevino@theolliviers.com>
+ * Copyright (C) 2010 Torch Mobile (Beijing) Co. Ltd. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -75,7 +76,7 @@ void ImageBuffer::putPremultipliedImageData(ImageData* source, const IntRect& so
notImplemented();
}
-String ImageBuffer::toDataURL(const String&) const
+String ImageBuffer::toDataURL(const String&, double) const
{
notImplemented();
return String();
diff --git a/WebCore/platform/gtk/FileSystemGtk.cpp b/WebCore/platform/gtk/FileSystemGtk.cpp
index 6cad4d9..ddcf0aa 100644
--- a/WebCore/platform/gtk/FileSystemGtk.cpp
+++ b/WebCore/platform/gtk/FileSystemGtk.cpp
@@ -258,6 +258,7 @@ int writeToFile(PlatformFileHandle handle, const char* data, int length)
if (bytesWritten < 0)
return -1;
totalBytesWritten += bytesWritten;
+ data += bytesWritten;
}
return totalBytesWritten;
diff --git a/WebCore/platform/gtk/PasteboardGtk.cpp b/WebCore/platform/gtk/PasteboardGtk.cpp
index 9e7b23a..599f7da 100644
--- a/WebCore/platform/gtk/PasteboardGtk.cpp
+++ b/WebCore/platform/gtk/PasteboardGtk.cpp
@@ -20,6 +20,7 @@
#include "config.h"
#include "Pasteboard.h"
+#include "DataObjectGtk.h"
#include "DocumentFragment.h"
#include "Frame.h"
#include "NotImplemented.h"
@@ -29,50 +30,13 @@
#include "RenderImage.h"
#include "KURL.h"
#include "markup.h"
+#include <wtf/gobject/GRefPtr.h>
#include <wtf/text/CString.h>
#include <gtk/gtk.h>
namespace WebCore {
-class PasteboardSelectionData {
-public:
- PasteboardSelectionData(gchar* text, gchar* markup)
- : m_text(text)
- , m_markup(markup) { }
-
- ~PasteboardSelectionData() {
- g_free(m_text);
- g_free(m_markup);
- }
-
- const gchar* text() const { return m_text; }
- const gchar* markup() const { return m_markup; }
-
-private:
- gchar* m_text;
- gchar* m_markup;
-};
-
-static void clipboard_get_contents_cb(GtkClipboard *clipboard, GtkSelectionData *selection_data,
- guint info, gpointer data) {
- PasteboardSelectionData* clipboardData = reinterpret_cast<PasteboardSelectionData*>(data);
- ASSERT(clipboardData);
- if (info == Pasteboard::generalPasteboard()->helper()->getIdForTargetType(PasteboardHelper::TargetTypeMarkup))
- gtk_selection_data_set(selection_data, selection_data->target, 8,
- reinterpret_cast<const guchar*>(clipboardData->markup()),
- strlen(clipboardData->markup()));
- else
- gtk_selection_data_set_text(selection_data, clipboardData->text(), -1);
-}
-
-static void clipboard_clear_contents_cb(GtkClipboard *clipboard, gpointer data) {
- PasteboardSelectionData* clipboardData = reinterpret_cast<PasteboardSelectionData*>(data);
- ASSERT(clipboardData);
- delete clipboardData;
-}
-
-
Pasteboard* Pasteboard::generalPasteboard()
{
static Pasteboard* pasteboard = new Pasteboard();
@@ -102,22 +66,18 @@ void Pasteboard::setHelper(PasteboardHelper* helper)
void Pasteboard::writeSelection(Range* selectedRange, bool canSmartCopyOrDelete, Frame* frame)
{
GtkClipboard* clipboard = m_helper->getClipboard(frame);
- gchar* text = g_strdup(frame->selectedText().utf8().data());
- gchar* markup = g_strdup(createMarkup(selectedRange, 0, AnnotateForInterchange).utf8().data());
- PasteboardSelectionData* data = new PasteboardSelectionData(text, markup);
-
- gint n_targets;
- GtkTargetEntry* targets = gtk_target_table_new_from_list(m_helper->targetList(), &n_targets);
- gtk_clipboard_set_with_data(clipboard, targets, n_targets,
- clipboard_get_contents_cb, clipboard_clear_contents_cb, data);
- gtk_target_table_free(targets, n_targets);
+ DataObjectGtk* dataObject = DataObjectGtk::forClipboard(clipboard);
+ dataObject->setText(frame->selectedText());
+ dataObject->setMarkup(createMarkup(selectedRange, 0, AnnotateForInterchange));
+ m_helper->writeClipboardContents(clipboard);
}
void Pasteboard::writePlainText(const String& text)
{
- CString utf8 = text.utf8();
GtkClipboard* clipboard = gtk_clipboard_get_for_display(gdk_display_get_default(), GDK_SELECTION_CLIPBOARD);
- gtk_clipboard_set_text(clipboard, utf8.data(), utf8.length());
+ DataObjectGtk* dataObject = DataObjectGtk::forClipboard(clipboard);
+ dataObject->setText(text);
+ m_helper->writeClipboardContents(clipboard);
}
void Pasteboard::writeURL(const KURL& url, const String&, Frame* frame)
@@ -126,10 +86,12 @@ void Pasteboard::writeURL(const KURL& url, const String&, Frame* frame)
return;
GtkClipboard* clipboard = m_helper->getClipboard(frame);
- GtkClipboard* primary = m_helper->getPrimarySelectionClipboard(frame);
- CString utf8 = url.string().utf8();
- gtk_clipboard_set_text(clipboard, utf8.data(), utf8.length());
- gtk_clipboard_set_text(primary, utf8.data(), utf8.length());
+ DataObjectGtk* dataObject = DataObjectGtk::forClipboard(clipboard);
+
+ Vector<KURL> uriList;
+ uriList.append(url);
+ dataObject->setURIList(uriList);
+ m_helper->writeClipboardContents(clipboard);
}
void Pasteboard::writeImage(Node* node, const KURL&, const String&)
@@ -144,16 +106,15 @@ void Pasteboard::writeImage(Node* node, const KURL&, const String&)
Image* image = cachedImage->image();
ASSERT(image);
- GdkPixbuf* pixbuf = image->getGdkPixbuf();
- gtk_clipboard_set_image(clipboard, pixbuf);
- g_object_unref(pixbuf);
+ GRefPtr<GdkPixbuf> pixbuf = adoptGRef(image->getGdkPixbuf());
+ DataObjectGtk* dataObject = DataObjectGtk::forClipboard(clipboard);
+ dataObject->setImage(pixbuf.get());
+ m_helper->writeClipboardContents(clipboard);
}
void Pasteboard::clear()
{
- GtkClipboard* clipboard = gtk_clipboard_get_for_display(gdk_display_get_default(), GDK_SELECTION_CLIPBOARD);
-
- gtk_clipboard_clear(clipboard);
+ gtk_clipboard_clear(gtk_clipboard_get_for_display(gdk_display_get_default(), GDK_SELECTION_CLIPBOARD));
}
bool Pasteboard::canSmartReplace()
@@ -165,33 +126,24 @@ bool Pasteboard::canSmartReplace()
PassRefPtr<DocumentFragment> Pasteboard::documentFragment(Frame* frame, PassRefPtr<Range> context,
bool allowPlainText, bool& chosePlainText)
{
- GdkAtom textHtml = gdk_atom_intern_static_string("text/html");
GtkClipboard* clipboard = m_helper->getCurrentClipboard(frame);
+ DataObjectGtk* dataObject = DataObjectGtk::forClipboard(clipboard);
+ m_helper->getClipboardContents(clipboard);
+
chosePlainText = false;
- if (GtkSelectionData* data = gtk_clipboard_wait_for_contents(clipboard, textHtml)) {
- ASSERT(data->data);
- RefPtr<TextResourceDecoder> decoder = TextResourceDecoder::create("text/plain", "UTF-8", true);
- String html = decoder->decode(reinterpret_cast<char*>(data->data), data->length);
- html += decoder->flush();
- gtk_selection_data_free(data);
-
- if (!html.isEmpty()) {
- RefPtr<DocumentFragment> fragment = createFragmentFromMarkup(frame->document(), html, "", FragmentScriptingNotAllowed);
- if (fragment)
- return fragment.release();
- }
+ if (dataObject->hasMarkup()) {
+ RefPtr<DocumentFragment> fragment = createFragmentFromMarkup(frame->document(), dataObject->markup(), "", FragmentScriptingNotAllowed);
+ if (fragment)
+ return fragment.release();
}
if (!allowPlainText)
return 0;
- if (gchar* utf8 = gtk_clipboard_wait_for_text(clipboard)) {
- String text = String::fromUTF8(utf8);
- g_free(utf8);
-
+ if (dataObject->hasText()) {
chosePlainText = true;
- RefPtr<DocumentFragment> fragment = createFragmentFromText(context.get(), text);
+ RefPtr<DocumentFragment> fragment = createFragmentFromText(context.get(), dataObject->text());
if (fragment)
return fragment.release();
}
@@ -202,16 +154,10 @@ PassRefPtr<DocumentFragment> Pasteboard::documentFragment(Frame* frame, PassRefP
String Pasteboard::plainText(Frame* frame)
{
GtkClipboard* clipboard = m_helper->getCurrentClipboard(frame);
+ DataObjectGtk* dataObject = DataObjectGtk::forClipboard(clipboard);
- gchar* utf8 = gtk_clipboard_wait_for_text(clipboard);
-
- if (!utf8)
- return String();
-
- String text = String::fromUTF8(utf8);
- g_free(utf8);
-
- return text;
+ m_helper->getClipboardContents(clipboard);
+ return dataObject->text();
}
}
diff --git a/WebCore/platform/gtk/RenderThemeGtk.cpp b/WebCore/platform/gtk/RenderThemeGtk.cpp
index aec50f6..c572e77 100644
--- a/WebCore/platform/gtk/RenderThemeGtk.cpp
+++ b/WebCore/platform/gtk/RenderThemeGtk.cpp
@@ -25,6 +25,7 @@
#include "RenderThemeGtk.h"
#include "AffineTransform.h"
+#include "CSSValueKeywords.h"
#include "GOwnPtr.h"
#include "Gradient.h"
#include "GraphicsContext.h"
@@ -126,6 +127,7 @@ static int mozGtkRefCount = 0;
RenderThemeGtk::RenderThemeGtk()
: m_gtkWindow(0)
, m_gtkContainer(0)
+ , m_gtkButton(0)
, m_gtkEntry(0)
, m_gtkTreeView(0)
, m_panelColor(Color::white)
@@ -605,6 +607,18 @@ void RenderThemeGtk::systemFont(int, FontDescription&) const
notImplemented();
}
+Color RenderThemeGtk::systemColor(int cssValueId) const
+{
+ switch (cssValueId) {
+ case CSSValueButtontext:
+ return Color(gtkButton()->style->fg[GTK_STATE_NORMAL]);
+ case CSSValueCaptiontext:
+ return Color(gtkEntry()->style->fg[GTK_STATE_NORMAL]);
+ default:
+ return RenderTheme::systemColor(cssValueId);
+ }
+}
+
static void gtkStyleSetCallback(GtkWidget* widget, GtkStyle* previous, RenderTheme* renderTheme)
{
// FIXME: Make sure this function doesn't get called many times for a single GTK+ style change signal.
@@ -625,6 +639,19 @@ GtkContainer* RenderThemeGtk::gtkContainer() const
return m_gtkContainer;
}
+GtkWidget* RenderThemeGtk::gtkButton() const
+{
+ if (m_gtkButton)
+ return m_gtkButton;
+
+ m_gtkButton = gtk_button_new();
+ g_signal_connect(m_gtkButton, "style-set", G_CALLBACK(gtkStyleSetCallback), const_cast<RenderThemeGtk*>(this));
+ gtk_container_add(gtkContainer(), m_gtkButton);
+ gtk_widget_realize(m_gtkButton);
+
+ return m_gtkButton;
+}
+
GtkWidget* RenderThemeGtk::gtkEntry() const
{
if (m_gtkEntry)
diff --git a/WebCore/platform/gtk/RenderThemeGtk.h b/WebCore/platform/gtk/RenderThemeGtk.h
index e9185a5..b62b41c 100644
--- a/WebCore/platform/gtk/RenderThemeGtk.h
+++ b/WebCore/platform/gtk/RenderThemeGtk.h
@@ -82,8 +82,9 @@ public:
virtual void platformColorsDidChange();
- // System fonts.
+ // System fonts and colors.
virtual void systemFont(int propId, FontDescription&) const;
+ virtual Color systemColor(int cssValueId) const;
#if ENABLE(VIDEO)
virtual String extraMediaControlsStyleSheet();
@@ -138,6 +139,7 @@ private:
/*
* hold the state
*/
+ GtkWidget* gtkButton() const;
GtkWidget* gtkEntry() const;
GtkWidget* gtkTreeView() const;
@@ -149,6 +151,7 @@ private:
mutable GtkWidget* m_gtkWindow;
mutable GtkContainer* m_gtkContainer;
+ mutable GtkWidget* m_gtkButton;
mutable GtkWidget* m_gtkEntry;
mutable GtkWidget* m_gtkTreeView;
diff --git a/WebCore/platform/gtk/ScrollbarGtk.cpp b/WebCore/platform/gtk/ScrollbarGtk.cpp
index 00cbcf0..3d4cc47 100644
--- a/WebCore/platform/gtk/ScrollbarGtk.cpp
+++ b/WebCore/platform/gtk/ScrollbarGtk.cpp
@@ -20,6 +20,7 @@
#include "config.h"
#include "ScrollbarGtk.h"
+#include "GtkVersioning.h"
#include "IntRect.h"
#include "GraphicsContext.h"
#include "FrameView.h"
diff --git a/WebCore/platform/image-decoders/gif/GIFImageDecoder.cpp b/WebCore/platform/image-decoders/gif/GIFImageDecoder.cpp
index 147085f..3cf516e 100644
--- a/WebCore/platform/image-decoders/gif/GIFImageDecoder.cpp
+++ b/WebCore/platform/image-decoders/gif/GIFImageDecoder.cpp
@@ -98,7 +98,7 @@ int GIFImageDecoder::repetitionCount() const
// Added wrinkle: ImageSource::clear() may destroy the reader, making
// the result from the reader _less_ authoritative on future calls. To
// detect this, the reader returns cLoopCountNotSeen (-2) instead of
- // cAnimationLoopOnce (-1) when its current incarnation hasn't actually
+ // cAnimationLoopOnce (0) when its current incarnation hasn't actually
// seen a loop count yet; in this case we return our previously-cached
// value.
const int repetitionCount = m_reader->loop_count;
diff --git a/WebCore/platform/image-decoders/gif/GIFImageReader.cpp b/WebCore/platform/image-decoders/gif/GIFImageReader.cpp
index be77426..1e033a3 100644
--- a/WebCore/platform/image-decoders/gif/GIFImageReader.cpp
+++ b/WebCore/platform/image-decoders/gif/GIFImageReader.cpp
@@ -77,6 +77,7 @@ mailing address.
#include <string.h>
#include "GIFImageDecoder.h"
+#include "ImageSource.h"
using WebCore::GIFImageDecoder;
@@ -557,7 +558,7 @@ bool GIFImageReader::read(const unsigned char *buf, unsigned len,
case gif_image_start:
{
if (*q == ';') { /* terminator */
- state = gif_done;
+ GETN(0, gif_done);
break;
}
@@ -571,21 +572,10 @@ bool GIFImageReader::read(const unsigned char *buf, unsigned len,
* between blocks. The GIF87a spec tells us to keep reading
* until we find an image separator, but GIF89a says such
* a file is corrupt. We follow GIF89a and bail out. */
- if (*q != ',') {
- if (images_decoded > 0) {
- /* The file is corrupt, but one or more images have
- * been decoded correctly. In this case, we proceed
- * as if the file were correctly terminated and set
- * the state to gif_done, so the GIF will display.
- */
- state = gif_done;
- } else {
- /* No images decoded, there is nothing to display. */
- return clientptr ? clientptr->setFailed() : false;
- }
- break;
- } else
- GETN(9, gif_image_header);
+ if (*q != ',')
+ return clientptr ? clientptr->setFailed() : false;
+
+ GETN(9, gif_image_header);
}
break;
@@ -699,6 +689,10 @@ bool GIFImageReader::read(const unsigned char *buf, unsigned len,
if (netscape_extension == 1) {
loop_count = GETINT16(q + 1);
+ /* Zero loop count is infinite animation loop request */
+ if (loop_count == 0)
+ loop_count = WebCore::cAnimationLoopInfinite;
+
GETN(1, gif_netscape_extension_block);
}
/* Wait for specified # of bytes to enter buffer */
diff --git a/WebCore/platform/mac/KillRingMac.mm b/WebCore/platform/mac/KillRingMac.mm
new file mode 100644
index 0000000..32e7c72
--- /dev/null
+++ b/WebCore/platform/mac/KillRingMac.mm
@@ -0,0 +1,83 @@
+/*
+ * Copyright (C) 2010 Google Inc. All Rights Reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "config.h"
+#import "KillRing.h"
+
+namespace WebCore {
+
+extern "C" {
+
+// Kill ring calls. Would be better to use NSKillRing.h, but that's not available as API or SPI.
+
+void _NSInitializeKillRing();
+void _NSAppendToKillRing(NSString *);
+void _NSPrependToKillRing(NSString *);
+NSString *_NSYankFromKillRing();
+void _NSNewKillRingSequence();
+void _NSSetKillRingToYankedState();
+
+}
+
+static void initializeKillRingIfNeeded()
+{
+ static bool initializedKillRing = false;
+ if (!initializedKillRing) {
+ initializedKillRing = true;
+ _NSInitializeKillRing();
+ }
+}
+
+void KillRing::append(const String& string)
+{
+ initializeKillRingIfNeeded();
+ _NSAppendToKillRing(string);
+}
+
+void KillRing::prepend(const String& string)
+{
+ initializeKillRingIfNeeded();
+ _NSPrependToKillRing(string);
+}
+
+String KillRing::yank()
+{
+ initializeKillRingIfNeeded();
+ return _NSYankFromKillRing();
+}
+
+void KillRing::startNewSequence()
+{
+ initializeKillRingIfNeeded();
+ _NSNewKillRingSequence();
+}
+
+void KillRing::setToYankedState()
+{
+ initializeKillRingIfNeeded();
+ _NSSetKillRingToYankedState();
+}
+
+} // namespace WebCore
diff --git a/WebCore/platform/qt/FileSystemQt.cpp b/WebCore/platform/qt/FileSystemQt.cpp
index 1da3c68..e42ca67 100644
--- a/WebCore/platform/qt/FileSystemQt.cpp
+++ b/WebCore/platform/qt/FileSystemQt.cpp
@@ -117,6 +117,7 @@ Vector<String> listDirectory(const String& path, const String& filter)
CString openTemporaryFile(const char* prefix, PlatformFileHandle& handle)
{
+#ifndef QT_NO_TEMPORARYFILE
QTemporaryFile* tempFile = new QTemporaryFile(QLatin1String(prefix));
tempFile->setAutoRemove(false);
QFile* temp = tempFile;
@@ -124,6 +125,7 @@ CString openTemporaryFile(const char* prefix, PlatformFileHandle& handle)
handle = temp;
return String(temp->fileName()).utf8();
}
+#endif
handle = invalidPlatformFileHandle;
return CString();
}
diff --git a/WebCore/platform/qt/WheelEventQt.cpp b/WebCore/platform/qt/WheelEventQt.cpp
index 162a4f2..9349c70 100644
--- a/WebCore/platform/qt/WheelEventQt.cpp
+++ b/WebCore/platform/qt/WheelEventQt.cpp
@@ -31,12 +31,17 @@ namespace WebCore {
void PlatformWheelEvent::applyDelta(int delta, Qt::Orientation orientation)
{
+ // A delta that is not mod 120 indicates a device that is sending
+ // fine-resolution scroll events, so use the delta as number of wheel ticks
+ // and number of pixels to scroll.See also webkit.org/b/29601
+ bool fullTick = !(delta % 120);
+
if (orientation == Qt::Horizontal) {
- m_deltaX = (delta / 120.0f);
+ m_deltaX = (fullTick) ? delta / 120.0f : delta;
m_deltaY = 0;
} else {
m_deltaX = 0;
- m_deltaY = (delta / 120.0f);
+ m_deltaY = (fullTick) ? delta / 120.0f : delta;
}
m_wheelTicksX = m_deltaX;
@@ -46,8 +51,8 @@ void PlatformWheelEvent::applyDelta(int delta, Qt::Orientation orientation)
// (in QTextEditPrivate::init [h,v]bar->setSingleStep)
static const float cDefaultQtScrollStep = 20.f;
#ifndef QT_NO_WHEELEVENT
- m_deltaX *= QApplication::wheelScrollLines() * cDefaultQtScrollStep;
- m_deltaY *= QApplication::wheelScrollLines() * cDefaultQtScrollStep;
+ m_deltaX *= (fullTick) ? QApplication::wheelScrollLines() * cDefaultQtScrollStep : 1;
+ m_deltaY *= (fullTick) ? QApplication::wheelScrollLines() * cDefaultQtScrollStep : 1;
#endif
}
diff --git a/WebCore/platform/text/SegmentedString.cpp b/WebCore/platform/text/SegmentedString.cpp
index 9f5eb26..d75032f 100644
--- a/WebCore/platform/text/SegmentedString.cpp
+++ b/WebCore/platform/text/SegmentedString.cpp
@@ -22,9 +22,13 @@
namespace WebCore {
-SegmentedString::SegmentedString(const SegmentedString &other) :
- m_pushedChar1(other.m_pushedChar1), m_pushedChar2(other.m_pushedChar2), m_currentString(other.m_currentString),
- m_substrings(other.m_substrings), m_composite(other.m_composite)
+SegmentedString::SegmentedString(const SegmentedString &other)
+ : m_pushedChar1(other.m_pushedChar1)
+ , m_pushedChar2(other.m_pushedChar2)
+ , m_currentString(other.m_currentString)
+ , m_substrings(other.m_substrings)
+ , m_composite(other.m_composite)
+ , m_closed(other.m_closed)
{
if (other.m_currentChar == &other.m_pushedChar1)
m_currentChar = &m_pushedChar1;
@@ -86,10 +90,12 @@ void SegmentedString::clear()
m_currentString.clear();
m_substrings.clear();
m_composite = false;
+ m_closed = false;
}
void SegmentedString::append(const SegmentedSubstring &s)
{
+ ASSERT(!m_closed);
if (s.m_length) {
if (!m_currentString.m_length) {
m_currentString = s;
@@ -117,6 +123,7 @@ void SegmentedString::prepend(const SegmentedSubstring &s)
void SegmentedString::append(const SegmentedString &s)
{
+ ASSERT(!m_closed);
ASSERT(!s.escaped());
append(s.m_currentString);
if (s.m_composite) {
@@ -172,6 +179,15 @@ String SegmentedString::toString() const
return result;
}
+void SegmentedString::advance(unsigned count, UChar* consumedCharacters)
+{
+ ASSERT(count <= length());
+ for (unsigned i = 0; i < count; ++i) {
+ consumedCharacters[i] = *current();
+ advance();
+ }
+}
+
void SegmentedString::advanceSlowCase()
{
if (m_pushedChar1) {
diff --git a/WebCore/platform/text/SegmentedString.h b/WebCore/platform/text/SegmentedString.h
index c5daaaa..21eae14 100644
--- a/WebCore/platform/text/SegmentedString.h
+++ b/WebCore/platform/text/SegmentedString.h
@@ -71,21 +71,22 @@ private:
class SegmentedString {
public:
SegmentedString()
- : m_pushedChar1(0), m_pushedChar2(0), m_currentChar(0), m_composite(false) {}
+ : m_pushedChar1(0), m_pushedChar2(0), m_currentChar(0), m_composite(false), m_closed(false) {}
SegmentedString(const UChar* str, int length) : m_pushedChar1(0), m_pushedChar2(0)
- , m_currentString(str, length), m_currentChar(m_currentString.m_current), m_composite(false) {}
+ , m_currentString(str, length), m_currentChar(m_currentString.m_current), m_composite(false), m_closed(false) {}
SegmentedString(const String& str)
: m_pushedChar1(0), m_pushedChar2(0), m_currentString(str)
- , m_currentChar(m_currentString.m_current), m_composite(false) {}
+ , m_currentChar(m_currentString.m_current), m_composite(false), m_closed(false) {}
SegmentedString(const SegmentedString&);
const SegmentedString& operator=(const SegmentedString&);
void clear();
+ void close() { m_closed = true; }
void append(const SegmentedString&);
void prepend(const SegmentedString&);
-
+
bool excludeLineNumbers() const { return m_currentString.excludeLineNumbers(); }
void setExcludeLineNumbers();
@@ -99,28 +100,20 @@ public:
m_pushedChar2 = c;
}
}
-
+
bool isEmpty() const { return !current(); }
unsigned length() const;
+ bool isClosed() const { return m_closed; }
+
enum LookAheadResult {
DidNotMatch,
DidMatch,
NotEnoughCharacters,
};
- // WARNING: This method is currently used only by the HTML5 parser and is incomplete.
- LookAheadResult lookAhead(const String& string)
- {
- if (!m_pushedChar1 && string.length() <= (unsigned) m_currentString.m_length) {
- if (memcmp(string.characters(), m_currentString.m_current, string.length() * sizeof(UChar)))
- return DidNotMatch;
- return DidMatch;
- }
- // We haven't implemented the slow case yet.
- ASSERT_NOT_REACHED();
- return DidNotMatch;
- }
+ LookAheadResult lookAhead(const String& string) { return lookAheadInline<SegmentedString::equalsLiterally>(string); }
+ LookAheadResult lookAheadIgnoringCase(const String& string) { return lookAheadInline<SegmentedString::equalsIgnoringCase>(string); }
void advance()
{
@@ -138,6 +131,12 @@ public:
advance();
}
+ void advanceAndASSERTIgnoringCase(UChar expectedCharacter)
+ {
+ ASSERT_UNUSED(expectedCharacter, WTF::Unicode::foldCase(*current()) == WTF::Unicode::foldCase(expectedCharacter));
+ advance();
+ }
+
void advancePastNewline(int& lineNumber)
{
ASSERT(*current() == '\n');
@@ -171,9 +170,13 @@ public:
}
advanceSlowCase(lineNumber);
}
-
+
+ // Writes the consumed characters into consumedCharacters, which must
+ // have space for at least |count| characters.
+ void advance(unsigned count, UChar* consumedCharacters);
+
bool escaped() const { return m_pushedChar1; }
-
+
String toString() const;
const UChar& operator*() const { return *current(); }
@@ -188,12 +191,43 @@ private:
void advanceSubstring();
const UChar* current() const { return m_currentChar; }
+ static bool equalsLiterally(const UChar* str1, const UChar* str2, size_t count) { return !memcmp(str1, str2, count * sizeof(UChar)); }
+ static bool equalsIgnoringCase(const UChar* str1, const UChar* str2, size_t count) { return !WTF::Unicode::umemcasecmp(str1, str2, count); }
+
+ template<bool equals(const UChar* str1, const UChar* str2, size_t count)>
+ inline LookAheadResult lookAheadInline(const String& string)
+ {
+ if (!m_pushedChar1 && string.length() <= static_cast<unsigned>(m_currentString.m_length)) {
+ if (equals(string.characters(), m_currentString.m_current, string.length()))
+ return DidMatch;
+ return DidNotMatch;
+ }
+ return lookAheadSlowCase<equals>(string);
+ }
+
+ template<bool equals(const UChar* str1, const UChar* str2, size_t count)>
+ LookAheadResult lookAheadSlowCase(const String& string)
+ {
+ unsigned count = string.length();
+ if (count > length())
+ return NotEnoughCharacters;
+ UChar* consumedCharacters;
+ String consumedString = String::createUninitialized(count, consumedCharacters);
+ advance(count, consumedCharacters);
+ LookAheadResult result = DidNotMatch;
+ if (equals(string.characters(), consumedCharacters, count))
+ result = DidMatch;
+ prepend(SegmentedString(consumedString));
+ return result;
+ }
+
UChar m_pushedChar1;
UChar m_pushedChar2;
SegmentedSubstring m_currentString;
const UChar* m_currentChar;
Deque<SegmentedSubstring> m_substrings;
bool m_composite;
+ bool m_closed;
};
}
diff --git a/WebCore/plugins/MimeType.cpp b/WebCore/plugins/MimeType.cpp
index 954715a..247e7a4 100644
--- a/WebCore/plugins/MimeType.cpp
+++ b/WebCore/plugins/MimeType.cpp
@@ -40,17 +40,17 @@ MimeType::~MimeType()
const String &MimeType::type() const
{
- return m_pluginData->mimes()[m_index]->type;
+ return mimeClassInfo().type;
}
const String &MimeType::suffixes() const
{
- return m_pluginData->mimes()[m_index]->suffixes;
+ return mimeClassInfo().suffixes;
}
const String &MimeType::description() const
{
- return m_pluginData->mimes()[m_index]->desc;
+ return mimeClassInfo().desc;
}
PassRefPtr<Plugin> MimeType::enabledPlugin() const
@@ -59,13 +59,7 @@ PassRefPtr<Plugin> MimeType::enabledPlugin() const
if (!p || !p->mainFrame()->loader()->allowPlugins(NotAboutToInstantiatePlugin))
return 0;
- const PluginInfo *info = m_pluginData->mimes()[m_index]->plugin;
- const Vector<PluginInfo*>& plugins = m_pluginData->plugins();
- for (size_t i = 0; i < plugins.size(); ++i) {
- if (plugins[i] == info)
- return Plugin::create(m_pluginData.get(), i);
- }
- return 0;
+ return Plugin::create(m_pluginData.get(), mimeClassInfo().pluginIndex);
}
} // namespace WebCore
diff --git a/WebCore/plugins/MimeType.h b/WebCore/plugins/MimeType.h
index 5207918..33a7fa0 100644
--- a/WebCore/plugins/MimeType.h
+++ b/WebCore/plugins/MimeType.h
@@ -42,6 +42,8 @@ namespace WebCore {
PassRefPtr<Plugin> enabledPlugin() const;
private:
+ const MimeClassInfo& mimeClassInfo() const { return m_pluginData->mimes()[m_index]; }
+
MimeType(PassRefPtr<PluginData>, unsigned index);
RefPtr<PluginData> m_pluginData;
unsigned m_index;
diff --git a/WebCore/plugins/MimeTypeArray.cpp b/WebCore/plugins/MimeTypeArray.cpp
index 7fabad7..9d3ad92 100644
--- a/WebCore/plugins/MimeTypeArray.cpp
+++ b/WebCore/plugins/MimeTypeArray.cpp
@@ -50,7 +50,7 @@ PassRefPtr<MimeType> MimeTypeArray::item(unsigned index)
PluginData* data = getPluginData();
if (!data)
return 0;
- const Vector<MimeClassInfo*>& mimes = data->mimes();
+ const Vector<MimeClassInfo>& mimes = data->mimes();
if (index >= mimes.size())
return 0;
return MimeType::create(data, index).get();
@@ -61,9 +61,9 @@ bool MimeTypeArray::canGetItemsForName(const AtomicString& propertyName)
PluginData *data = getPluginData();
if (!data)
return 0;
- const Vector<MimeClassInfo*>& mimes = data->mimes();
+ const Vector<MimeClassInfo>& mimes = data->mimes();
for (unsigned i = 0; i < mimes.size(); ++i) {
- if (mimes[i]->type == propertyName)
+ if (mimes[i].type == propertyName)
return true;
}
return false;
@@ -74,9 +74,9 @@ PassRefPtr<MimeType> MimeTypeArray::namedItem(const AtomicString& propertyName)
PluginData *data = getPluginData();
if (!data)
return 0;
- const Vector<MimeClassInfo*>& mimes = data->mimes();
+ const Vector<MimeClassInfo>& mimes = data->mimes();
for (unsigned i = 0; i < mimes.size(); ++i) {
- if (mimes[i]->type == propertyName)
+ if (mimes[i].type == propertyName)
return MimeType::create(data, i).get();
}
return 0;
diff --git a/WebCore/plugins/Plugin.cpp b/WebCore/plugins/Plugin.cpp
index e8c98b3..765478d 100644
--- a/WebCore/plugins/Plugin.cpp
+++ b/WebCore/plugins/Plugin.cpp
@@ -37,53 +37,53 @@ Plugin::~Plugin()
String Plugin::name() const
{
- return m_pluginData->plugins()[m_index]->name;
+ return pluginInfo().name;
}
String Plugin::filename() const
{
- return m_pluginData->plugins()[m_index]->file;
+ return pluginInfo().file;
}
String Plugin::description() const
{
- return m_pluginData->plugins()[m_index]->desc;
+ return pluginInfo().desc;
}
unsigned Plugin::length() const
{
- return m_pluginData->plugins()[m_index]->mimes.size();
+ return pluginInfo().mimes.size();
}
PassRefPtr<MimeType> Plugin::item(unsigned index)
{
- const Vector<PluginInfo*>& plugins = m_pluginData->plugins();
- if (index >= plugins[m_index]->mimes.size())
+ if (index >= pluginInfo().mimes.size())
return 0;
- MimeClassInfo* mime = plugins[m_index]->mimes[index];
+ const MimeClassInfo& mime = pluginInfo().mimes[index];
- const Vector<MimeClassInfo*>& mimes = m_pluginData->mimes();
- for (unsigned i = 0; i < mimes.size(); ++i)
+ const Vector<MimeClassInfo>& mimes = m_pluginData->mimes();
+ for (unsigned i = 0; i < mimes.size(); ++i) {
if (mimes[i] == mime)
return MimeType::create(m_pluginData.get(), i).get();
+ }
return 0;
}
bool Plugin::canGetItemsForName(const AtomicString& propertyName)
{
- const Vector<MimeClassInfo*>& mimes = m_pluginData->mimes();
+ const Vector<MimeClassInfo>& mimes = m_pluginData->mimes();
for (unsigned i = 0; i < mimes.size(); ++i)
- if (mimes[i]->type == propertyName)
+ if (mimes[i].type == propertyName)
return true;
return false;
}
PassRefPtr<MimeType> Plugin::namedItem(const AtomicString& propertyName)
{
- const Vector<MimeClassInfo*>& mimes = m_pluginData->mimes();
+ const Vector<MimeClassInfo>& mimes = m_pluginData->mimes();
for (unsigned i = 0; i < mimes.size(); ++i)
- if (mimes[i]->type == propertyName)
+ if (mimes[i].type == propertyName)
return MimeType::create(m_pluginData.get(), i).get();
return 0;
}
diff --git a/WebCore/plugins/Plugin.h b/WebCore/plugins/Plugin.h
index 9a5697d..668a9da 100644
--- a/WebCore/plugins/Plugin.h
+++ b/WebCore/plugins/Plugin.h
@@ -47,6 +47,8 @@ namespace WebCore {
PassRefPtr<MimeType> namedItem(const AtomicString& propertyName);
private:
+ const PluginInfo& pluginInfo() const { return m_pluginData->plugins()[m_index]; }
+
Plugin(PluginData*, unsigned index);
RefPtr<PluginData> m_pluginData;
unsigned m_index;
diff --git a/WebCore/plugins/PluginArray.cpp b/WebCore/plugins/PluginArray.cpp
index b37d3c0..038e4ad 100644
--- a/WebCore/plugins/PluginArray.cpp
+++ b/WebCore/plugins/PluginArray.cpp
@@ -39,7 +39,7 @@ PluginArray::~PluginArray()
unsigned PluginArray::length() const
{
- PluginData* data = getPluginData();
+ PluginData* data = pluginData();
if (!data)
return 0;
return data->plugins().size();
@@ -47,10 +47,10 @@ unsigned PluginArray::length() const
PassRefPtr<Plugin> PluginArray::item(unsigned index)
{
- PluginData* data = getPluginData();
+ PluginData* data = pluginData();
if (!data)
return 0;
- const Vector<PluginInfo*>& plugins = data->plugins();
+ const Vector<PluginInfo>& plugins = data->plugins();
if (index >= plugins.size())
return 0;
return Plugin::create(data, index).get();
@@ -58,12 +58,12 @@ PassRefPtr<Plugin> PluginArray::item(unsigned index)
bool PluginArray::canGetItemsForName(const AtomicString& propertyName)
{
- PluginData* data = getPluginData();
+ PluginData* data = pluginData();
if (!data)
return 0;
- const Vector<PluginInfo*>& plugins = data->plugins();
+ const Vector<PluginInfo>& plugins = data->plugins();
for (unsigned i = 0; i < plugins.size(); ++i) {
- if (plugins[i]->name == propertyName)
+ if (plugins[i].name == propertyName)
return true;
}
return false;
@@ -71,12 +71,12 @@ bool PluginArray::canGetItemsForName(const AtomicString& propertyName)
PassRefPtr<Plugin> PluginArray::namedItem(const AtomicString& propertyName)
{
- PluginData* data = getPluginData();
+ PluginData* data = pluginData();
if (!data)
return 0;
- const Vector<PluginInfo*>& plugins = data->plugins();
+ const Vector<PluginInfo>& plugins = data->plugins();
for (unsigned i = 0; i < plugins.size(); ++i) {
- if (plugins[i]->name == propertyName)
+ if (plugins[i].name == propertyName)
return Plugin::create(data, i).get();
}
return 0;
@@ -87,14 +87,14 @@ void PluginArray::refresh(bool reload)
Page::refreshPlugins(reload);
}
-PluginData* PluginArray::getPluginData() const
+PluginData* PluginArray::pluginData() const
{
if (!m_frame)
return 0;
- Page* p = m_frame->page();
- if (!p)
+ Page* page = m_frame->page();
+ if (!page)
return 0;
- return p->pluginData();
+ return page->pluginData();
}
} // namespace WebCore
diff --git a/WebCore/plugins/PluginArray.h b/WebCore/plugins/PluginArray.h
index 197ac88..435db50 100644
--- a/WebCore/plugins/PluginArray.h
+++ b/WebCore/plugins/PluginArray.h
@@ -48,7 +48,7 @@ namespace WebCore {
private:
PluginArray(Frame*);
- PluginData* getPluginData() const;
+ PluginData* pluginData() const;
Frame* m_frame;
};
diff --git a/WebCore/plugins/PluginData.cpp b/WebCore/plugins/PluginData.cpp
index ca4bda5..7780cff 100644
--- a/WebCore/plugins/PluginData.cpp
+++ b/WebCore/plugins/PluginData.cpp
@@ -32,31 +32,29 @@ PluginData::PluginData(const Page* page)
initPlugins();
for (unsigned i = 0; i < m_plugins.size(); ++i) {
- const PluginInfo* plugin = m_plugins[i];
- for (unsigned j = 0; j < plugin->mimes.size(); ++j)
- m_mimes.append(plugin->mimes[j]);
+ const PluginInfo& plugin = m_plugins[i];
+ for (unsigned j = 0; j < plugin.mimes.size(); ++j)
+ m_mimes.append(plugin.mimes[j]);
}
}
-PluginData::~PluginData()
-{
- deleteAllValues(m_plugins);
- deleteAllValues(m_mimes);
-}
-
bool PluginData::supportsMimeType(const String& mimeType) const
{
for (unsigned i = 0; i < m_mimes.size(); ++i)
- if (m_mimes[i]->type == mimeType)
+ if (m_mimes[i].type == mimeType)
return true;
return false;
}
String PluginData::pluginNameForMimeType(const String& mimeType) const
{
- for (unsigned i = 0; i < m_mimes.size(); ++i)
- if (m_mimes[i]->type == mimeType)
- return m_mimes[i]->plugin->name;
+ for (unsigned i = 0; i < m_mimes.size(); ++i) {
+ const MimeClassInfo& info = m_mimes[i];
+
+ if (info.type == mimeType)
+ return m_plugins[info.pluginIndex].name;
+ }
+
return String();
}
diff --git a/WebCore/plugins/PluginData.h b/WebCore/plugins/PluginData.h
index 6960a25..1055afb 100644
--- a/WebCore/plugins/PluginData.h
+++ b/WebCore/plugins/PluginData.h
@@ -26,48 +26,52 @@
namespace WebCore {
- class Page;
- struct PluginInfo;
-
- struct MimeClassInfo : Noncopyable {
- String type;
- String desc;
- String suffixes;
- PluginInfo* plugin;
- };
-
- struct PluginInfo : Noncopyable {
- String name;
- String file;
- String desc;
- Vector<MimeClassInfo*> mimes;
- };
-
- // FIXME: merge with PluginDatabase in the future
- class PluginData : public RefCounted<PluginData> {
- public:
- static PassRefPtr<PluginData> create(const Page* page) { return adoptRef(new PluginData(page)); }
- ~PluginData();
-
- void disconnectPage() { m_page = 0; }
- const Page* page() const { return m_page; }
-
- const Vector<PluginInfo*>& plugins() const { return m_plugins; }
- const Vector<MimeClassInfo*>& mimes() const { return m_mimes; }
-
- bool supportsMimeType(const String& mimeType) const;
- String pluginNameForMimeType(const String& mimeType) const;
-
- static void refresh();
-
- private:
- PluginData(const Page*);
- void initPlugins();
-
- Vector<PluginInfo*> m_plugins;
- Vector<MimeClassInfo*> m_mimes;
- const Page* m_page;
- };
+class Page;
+struct PluginInfo;
+
+struct MimeClassInfo {
+ String type;
+ String desc;
+ String suffixes;
+ unsigned pluginIndex;
+};
+
+inline bool operator==(const MimeClassInfo& a, const MimeClassInfo& b)
+{
+ return a.type == b.type && a.desc == b.desc && a.suffixes == b.suffixes && a.pluginIndex == b.pluginIndex;
+}
+
+struct PluginInfo {
+ String name;
+ String file;
+ String desc;
+ Vector<MimeClassInfo> mimes;
+};
+
+// FIXME: merge with PluginDatabase in the future
+class PluginData : public RefCounted<PluginData> {
+public:
+ static PassRefPtr<PluginData> create(const Page* page) { return adoptRef(new PluginData(page)); }
+
+ void disconnectPage() { m_page = 0; }
+ const Page* page() const { return m_page; }
+
+ const Vector<PluginInfo>& plugins() const { return m_plugins; }
+ const Vector<MimeClassInfo>& mimes() const { return m_mimes; }
+
+ bool supportsMimeType(const String& mimeType) const;
+ String pluginNameForMimeType(const String& mimeType) const;
+
+ static void refresh();
+
+private:
+ PluginData(const Page*);
+ void initPlugins();
+
+ Vector<PluginInfo> m_plugins;
+ Vector<MimeClassInfo> m_mimes;
+ const Page* m_page;
+};
}
diff --git a/WebCore/plugins/PluginDatabase.cpp b/WebCore/plugins/PluginDatabase.cpp
index a1200fc..88297ac 100644
--- a/WebCore/plugins/PluginDatabase.cpp
+++ b/WebCore/plugins/PluginDatabase.cpp
@@ -29,7 +29,6 @@
#include "Frame.h"
#include "KURL.h"
-#include "PluginDatabaseClient.h"
#include "PluginPackage.h"
#include <stdlib.h>
@@ -43,7 +42,6 @@ namespace WebCore {
typedef HashMap<String, RefPtr<PluginPackage> > PluginPackageByNameMap;
PluginDatabase::PluginDatabase()
- : m_client(0)
{
}
@@ -122,11 +120,9 @@ bool PluginDatabase::refresh()
remove(oldPackage.get());
}
- if (!m_client || m_client->shouldLoadPluginAtPath(*it)) {
- RefPtr<PluginPackage> package = PluginPackage::createPackage(*it, lastModified);
- if (package && (!m_client || m_client->shouldLoadPluginPackage(package.get())) && add(package.release()))
- pluginSetChanged = true;
- }
+ RefPtr<PluginPackage> package = PluginPackage::createPackage(*it, lastModified);
+ if (package && add(package.release()))
+ pluginSetChanged = true;
}
// Cache all the paths we found with their timestamps for next time.
diff --git a/WebCore/plugins/PluginDatabase.h b/WebCore/plugins/PluginDatabase.h
index 54530a7..ed714aa 100644
--- a/WebCore/plugins/PluginDatabase.h
+++ b/WebCore/plugins/PluginDatabase.h
@@ -81,11 +81,6 @@ namespace WebCore {
m_pluginDirectories = directories;
}
- void setClient(PluginDatabaseClient* client)
- {
- m_client = client;
- }
-
static Vector<String> defaultPluginDirectories();
Vector<String> pluginDirectories() const { return m_pluginDirectories; }
@@ -111,7 +106,6 @@ namespace WebCore {
friend class ::android::WebSettings;
#endif
HashMap<String, RefPtr<PluginPackage> > m_preferredPlugins;
- PluginDatabaseClient* m_client;
};
} // namespace WebCore
diff --git a/WebCore/plugins/PluginDatabaseClient.h b/WebCore/plugins/PluginDatabaseClient.h
deleted file mode 100644
index b19ab83..0000000
--- a/WebCore/plugins/PluginDatabaseClient.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (C) 2007 Marius Renn <damarvy@gmail.com> All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
- * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-#ifndef PluginDatabaseClient_h
-#define PluginDatabaseClient_h
-
-namespace WebCore {
-
- class PluginPackage;
- class String;
-
- class PluginDatabaseClient {
- public:
- virtual ~PluginDatabaseClient() { }
- virtual bool shouldLoadPluginAtPath(const String&) = 0;
- virtual bool shouldLoadPluginPackage(const PluginPackage*) = 0;
- };
-
-} // namespace WebCore
-
-#endif // PluginDatabaseClient_h
diff --git a/WebCore/plugins/PluginInfoStore.cpp b/WebCore/plugins/PluginInfoStore.cpp
deleted file mode 100644
index 88dc7ee..0000000
--- a/WebCore/plugins/PluginInfoStore.cpp
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "PluginInfoStore.h"
-
-#include "KURL.h"
-#include "Page.h"
-#include "PluginData.h"
-#include "PluginDatabase.h"
-#include "PluginPackage.h"
-
-namespace WebCore {
-
-PluginInfo* PluginInfoStore::createPluginInfoForPluginAtIndex(unsigned i)
-{
- PluginDatabase *db = PluginDatabase::installedPlugins();
- PluginInfo* info = new PluginInfo;
- PluginPackage* package = db->plugins()[i];
-
- info->name = package->name();
- info->file = package->fileName();
- info->desc = package->description();
-
- const MIMEToDescriptionsMap& mimeToDescriptions = package->mimeToDescriptions();
- MIMEToDescriptionsMap::const_iterator end = mimeToDescriptions.end();
- for (MIMEToDescriptionsMap::const_iterator it = mimeToDescriptions.begin(); it != end; ++it) {
- MimeClassInfo* mime = new MimeClassInfo;
- info->mimes.append(mime);
-
- mime->type = it->first;
- mime->desc = it->second;
- mime->plugin = info;
-
- Vector<String> extensions = package->mimeToExtensions().get(mime->type);
-
- for (unsigned i = 0; i < extensions.size(); i++) {
- if (i > 0)
- mime->suffixes += ",";
-
- mime->suffixes += extensions[i];
- }
- }
-
- return info;
-}
-
-unsigned PluginInfoStore::pluginCount() const
-{
- return PluginDatabase::installedPlugins()->plugins().size();
-}
-
-
-String PluginInfoStore::pluginNameForMIMEType(const String& mimeType)
-{
- String mimeTypeCopy(mimeType);
-
- if (PluginPackage* package = PluginDatabase::installedPlugins()->findPlugin(KURL(), mimeTypeCopy)) {
- ASSERT(mimeType == mimeTypeCopy);
-
- return package->name();
- }
-
- return String();
-}
-
-
-bool PluginInfoStore::supportsMIMEType(const WebCore::String& mimeType)
-{
- return PluginDatabase::installedPlugins()->isMIMETypeRegistered(mimeType);
-}
-
-void refreshPlugins(bool reloadOpenPages)
-{
- Page::refreshPlugins(reloadOpenPages);
-}
-
-}
diff --git a/WebCore/plugins/PluginPackageNone.cpp b/WebCore/plugins/PluginPackageNone.cpp
index 3610f4a..f7e2a6b 100644
--- a/WebCore/plugins/PluginPackageNone.cpp
+++ b/WebCore/plugins/PluginPackageNone.cpp
@@ -43,7 +43,7 @@ bool PluginPackage::load()
}
#if ENABLE(NETSCAPE_PLUGIN_API)
-uint16 PluginPackage::NPVersion() const
+uint16_t PluginPackage::NPVersion() const
{
return 0;
}
diff --git a/WebCore/plugins/chromium/PluginDataChromium.cpp b/WebCore/plugins/chromium/PluginDataChromium.cpp
index 5c28643..a106bc0 100644
--- a/WebCore/plugins/chromium/PluginDataChromium.cpp
+++ b/WebCore/plugins/chromium/PluginDataChromium.cpp
@@ -35,23 +35,6 @@
namespace WebCore {
-static PluginInfo* clone(const PluginInfo* info)
-{
- PluginInfo* result = new PluginInfo();
- result->name = info->name;
- result->desc = info->desc;
- result->file = info->file;
- for (size_t i = 0; i < info->mimes.size(); ++i) {
- MimeClassInfo* mime = new MimeClassInfo();
- mime->type = info->mimes[i]->type;
- mime->desc = info->mimes[i]->desc;
- mime->suffixes = info->mimes[i]->suffixes;
- mime->plugin = result;
- result->mimes.append(mime);
- }
- return result;
-}
-
class PluginCache {
public:
PluginCache() : m_loaded(false), m_refresh(false) {}
@@ -59,15 +42,12 @@ public:
void reset(bool refresh)
{
- for (size_t i = 0; i < m_plugins.size(); ++i)
- deleteAllValues(m_plugins[i]->mimes);
- deleteAllValues(m_plugins);
m_plugins.clear();
m_loaded = false;
m_refresh = refresh;
}
- const Vector<PluginInfo*>& plugins()
+ const Vector<PluginInfo>& plugins()
{
if (!m_loaded) {
ChromiumBridge::plugins(m_refresh, &m_plugins);
@@ -78,7 +58,7 @@ public:
}
private:
- Vector<PluginInfo*> m_plugins;
+ Vector<PluginInfo> m_plugins;
bool m_loaded;
bool m_refresh;
};
@@ -87,9 +67,9 @@ static PluginCache pluginCache;
void PluginData::initPlugins()
{
- const Vector<PluginInfo*>& plugins = pluginCache.plugins();
+ const Vector<PluginInfo>& plugins = pluginCache.plugins();
for (size_t i = 0; i < plugins.size(); ++i)
- m_plugins.append(clone(plugins[i]));
+ m_plugins.append(plugins[i]);
}
void PluginData::refresh()
@@ -100,15 +80,15 @@ void PluginData::refresh()
String getPluginMimeTypeFromExtension(const String& extension)
{
- const Vector<PluginInfo*>& plugins = pluginCache.plugins();
+ const Vector<PluginInfo>& plugins = pluginCache.plugins();
for (size_t i = 0; i < plugins.size(); ++i) {
- for (size_t j = 0; j < plugins[i]->mimes.size(); ++j) {
- MimeClassInfo* mime = plugins[i]->mimes[j];
+ for (size_t j = 0; j < plugins[i].mimes.size(); ++j) {
+ const MimeClassInfo& mime = plugins[i].mimes[j];
Vector<String> extensions;
- mime->suffixes.split(",", extensions);
+ mime.suffixes.split(",", extensions);
for (size_t k = 0; k < extensions.size(); ++k) {
if (extension == extensions[k])
- return mime->type;
+ return mime.type;
}
}
}
diff --git a/WebCore/plugins/gtk/PluginDataGtk.cpp b/WebCore/plugins/gtk/PluginDataGtk.cpp
index 0d477cd..ca6584b 100644
--- a/WebCore/plugins/gtk/PluginDataGtk.cpp
+++ b/WebCore/plugins/gtk/PluginDataGtk.cpp
@@ -33,31 +33,32 @@ void PluginData::initPlugins()
const Vector<PluginPackage*> &plugins = db->plugins();
for (unsigned int i = 0; i < plugins.size(); ++i) {
- PluginInfo* info = new PluginInfo;
+ PluginInfo info;
PluginPackage* package = plugins[i];
- info->name = package->name();
- info->file = package->fileName();
- info->desc = package->description();
+ info.name = package->name();
+ info.file = package->fileName();
+ info.desc = package->description();
const MIMEToDescriptionsMap& mimeToDescriptions = package->mimeToDescriptions();
MIMEToDescriptionsMap::const_iterator end = mimeToDescriptions.end();
for (MIMEToDescriptionsMap::const_iterator it = mimeToDescriptions.begin(); it != end; ++it) {
- MimeClassInfo* mime = new MimeClassInfo;
- info->mimes.append(mime);
+ MimeClassInfo mime;
- mime->type = it->first;
- mime->desc = it->second;
- mime->plugin = info;
+ mime.type = it->first;
+ mime.desc = it->second;
+ mime.pluginIndex = m_plugins.size();
- Vector<String> extensions = package->mimeToExtensions().get(mime->type);
+ Vector<String> extensions = package->mimeToExtensions().get(mime.type);
for (unsigned i = 0; i < extensions.size(); i++) {
if (i > 0)
- mime->suffixes += ",";
+ mime.suffixes += ",";
- mime->suffixes += extensions[i];
+ mime.suffixes += extensions[i];
}
+
+ info.mimes.append(mime);
}
m_plugins.append(info);
diff --git a/WebCore/plugins/gtk/gtk2xtbin.c b/WebCore/plugins/gtk/gtk2xtbin.c
index fad66fe..28388cf 100644
--- a/WebCore/plugins/gtk/gtk2xtbin.c
+++ b/WebCore/plugins/gtk/gtk2xtbin.c
@@ -73,7 +73,6 @@ static void gtk_xtbin_init (GtkXtBin *xtbin);
static void gtk_xtbin_realize (GtkWidget *widget);
static void gtk_xtbin_unrealize (GtkWidget *widget);
static void gtk_xtbin_destroy (GtkObject *object);
-static void gtk_xtbin_shutdown (GtkObject *object);
/* Xt aware XEmbed */
static void xt_client_init (XtClient * xtclient,
@@ -159,7 +158,6 @@ xt_event_dispatch (GSource* source_data,
GSourceFunc call_back,
gpointer user_data)
{
- XEvent event;
XtAppContext ac;
int i = 0;
@@ -181,11 +179,13 @@ xt_event_dispatch (GSource* source_data,
return TRUE;
}
+typedef void (*GSourceFuncsFinalize) (GSource* source);
+
static GSourceFuncs xt_event_funcs = {
xt_event_prepare,
xt_event_check,
xt_event_dispatch,
- g_free,
+ (GSourceFuncsFinalize)g_free,
(GSourceFunc)NULL,
(GSourceDummyMarshal)NULL
};
@@ -230,11 +230,12 @@ gtk_xtbin_get_type (void)
sizeof (GtkXtBin),
0,
(GInstanceInitFunc)gtk_xtbin_init,
+ NULL
};
xtbin_type = g_type_register_static (GTK_TYPE_SOCKET,
"GtkXtBin",
- &xtbin_info,
- 0);
+ &xtbin_info,
+ 0);
}
return xtbin_type;
}
@@ -402,7 +403,7 @@ gtk_xtbin_set_position (GtkXtBin *xtbin,
xtbin->x = x;
xtbin->y = y;
- if (gtk_widget_get_realized (xtbin))
+ if (gtk_widget_get_realized (GTK_WIDGET(xtbin)))
gdk_window_move (GTK_WIDGET (xtbin)->window, x, y);
}
@@ -883,7 +884,6 @@ xt_add_focus_listener( Widget w, XtPointer user_data)
XWindowAttributes attr;
long eventmask;
XtClient *xtclient = user_data;
- int errorcode;
trap_errors ();
XGetWindowAttributes(XtDisplay(w), XtWindow(w), &attr);
@@ -903,8 +903,6 @@ xt_add_focus_listener( Widget w, XtPointer user_data)
static void
xt_remove_focus_listener(Widget w, XtPointer user_data)
{
- int errorcode;
-
trap_errors ();
XtRemoveEventHandler(w, SubstructureNotifyMask | ButtonReleaseMask, TRUE,
(XtEventHandler)xt_client_focus_listener, user_data);
diff --git a/WebCore/plugins/mac/PluginDataMac.mm b/WebCore/plugins/mac/PluginDataMac.mm
index ec76c37..dcdf22d 100644
--- a/WebCore/plugins/mac/PluginDataMac.mm
+++ b/WebCore/plugins/mac/PluginDataMac.mm
@@ -39,22 +39,24 @@ void PluginData::initPlugins()
NSArray* plugins = [[WebCoreViewFactory sharedFactory] pluginsInfo];
for (unsigned int i = 0; i < [plugins count]; ++i) {
- PluginInfo* pluginInfo = new PluginInfo;
+ PluginInfo pluginInfo;
id <WebCorePluginInfo> plugin = [plugins objectAtIndex:i];
- pluginInfo->name = [plugin name];
- pluginInfo->file = [plugin filename];
- pluginInfo->desc = [plugin pluginDescription];
+ pluginInfo.name = [plugin name];
+ pluginInfo.file = [plugin filename];
+ pluginInfo.desc = [plugin pluginDescription];
NSEnumerator* MIMETypeEnumerator = [plugin MIMETypeEnumerator];
while (NSString* MIME = [MIMETypeEnumerator nextObject]) {
- MimeClassInfo* mime = new MimeClassInfo;
- pluginInfo->mimes.append(mime);
- mime->type = String(MIME).lower();
- mime->suffixes = [[plugin extensionsForMIMEType:MIME] componentsJoinedByString:@","];
- mime->desc = [plugin descriptionForMIMEType:MIME];
- mime->plugin = pluginInfo;
+ MimeClassInfo mime;
+
+ mime.type = String(MIME).lower();
+ mime.suffixes = [[plugin extensionsForMIMEType:MIME] componentsJoinedByString:@","];
+ mime.desc = [plugin descriptionForMIMEType:MIME];
+ mime.pluginIndex = m_plugins.size();
+
+ pluginInfo.mimes.append(mime);
}
m_plugins.append(pluginInfo);
diff --git a/WebCore/plugins/npapi.cpp b/WebCore/plugins/npapi.cpp
index 99eea32..070c3ce 100644
--- a/WebCore/plugins/npapi.cpp
+++ b/WebCore/plugins/npapi.cpp
@@ -25,7 +25,7 @@
#include "config.h"
-#include "PluginInfoStore.h"
+#include "Page.h"
#include "PluginMainThreadScheduler.h"
#include "PluginView.h"
#include "npruntime_internal.h"
@@ -61,7 +61,7 @@ uint32_t NPN_MemFlush(uint32_t size)
void NPN_ReloadPlugins(NPBool reloadPages)
{
- refreshPlugins(reloadPages);
+ Page::refreshPlugins(reloadPages);
}
NPError NPN_RequestRead(NPStream* stream, NPByteRange* rangeList)
diff --git a/WebCore/plugins/qt/PluginDataQt.cpp b/WebCore/plugins/qt/PluginDataQt.cpp
index 188365a..8d4968b 100644
--- a/WebCore/plugins/qt/PluginDataQt.cpp
+++ b/WebCore/plugins/qt/PluginDataQt.cpp
@@ -42,19 +42,20 @@ void PluginData::initPlugins()
for (int i = 0; i < qplugins.count(); ++i) {
const QWebPluginFactory::Plugin& qplugin = qplugins.at(i);
- PluginInfo* info = new PluginInfo;
- info->name = qplugin.name;
- info->desc = qplugin.description;
+ PluginInfo info;
+ info.name = qplugin.name;
+ info.desc = qplugin.description;
for (int j = 0; j < qplugin.mimeTypes.count(); ++j) {
const QWebPluginFactory::MimeType& mimeType = qplugin.mimeTypes.at(j);
- MimeClassInfo* mimeInfo = new MimeClassInfo;
- mimeInfo->type = mimeType.name;
- mimeInfo->desc = mimeType.description;
- mimeInfo->suffixes = mimeType.fileExtensions.join(QLatin1String("; "));
+ MimeClassInfo mimeInfo;
+ mimeInfo.type = mimeType.name;
+ mimeInfo.desc = mimeType.description;
+ mimeInfo.suffixes = mimeType.fileExtensions.join(QLatin1String("; "));
+ mimeInfo.pluginIndex = m_plugins.size();
- info->mimes.append(mimeInfo);
+ info.mimes.append(mimeInfo);
}
m_plugins.append(info);
@@ -65,31 +66,32 @@ void PluginData::initPlugins()
const Vector<PluginPackage*> &plugins = db->plugins();
for (unsigned int i = 0; i < plugins.size(); ++i) {
- PluginInfo* info = new PluginInfo;
+ PluginInfo info;
PluginPackage* package = plugins[i];
- info->name = package->name();
- info->file = package->fileName();
- info->desc = package->description();
+ info.name = package->name();
+ info.file = package->fileName();
+ info.desc = package->description();
const MIMEToDescriptionsMap& mimeToDescriptions = package->mimeToDescriptions();
MIMEToDescriptionsMap::const_iterator end = mimeToDescriptions.end();
for (MIMEToDescriptionsMap::const_iterator it = mimeToDescriptions.begin(); it != end; ++it) {
- MimeClassInfo* mime = new MimeClassInfo;
- info->mimes.append(mime);
+ MimeClassInfo mime;
- mime->type = it->first;
- mime->desc = it->second;
- mime->plugin = info;
+ mime.type = it->first;
+ mime.desc = it->second;
+ mime.pluginIndex = m_plugins.size();
- Vector<String> extensions = package->mimeToExtensions().get(mime->type);
+ Vector<String> extensions = package->mimeToExtensions().get(mime.type);
for (unsigned i = 0; i < extensions.size(); i++) {
if (i > 0)
- mime->suffixes += ",";
+ mime.suffixes += ",";
- mime->suffixes += extensions[i];
+ mime.suffixes += extensions[i];
}
+
+ info.mimes.append(mime);
}
m_plugins.append(info);
diff --git a/WebCore/plugins/win/PluginDataWin.cpp b/WebCore/plugins/win/PluginDataWin.cpp
index 4ec4b6d..59bd40b 100644
--- a/WebCore/plugins/win/PluginDataWin.cpp
+++ b/WebCore/plugins/win/PluginDataWin.cpp
@@ -32,31 +32,32 @@ void PluginData::initPlugins()
const Vector<PluginPackage*> &plugins = db->plugins();
for (unsigned int i = 0; i < plugins.size(); ++i) {
- PluginInfo* info = new PluginInfo;
PluginPackage* package = plugins[i];
- info->name = package->name();
- info->file = package->fileName();
- info->desc = package->description();
+ PluginInfo info;
+ info.name = package->name();
+ info.file = package->fileName();
+ info.desc = package->description();
const MIMEToDescriptionsMap& mimeToDescriptions = package->mimeToDescriptions();
MIMEToDescriptionsMap::const_iterator end = mimeToDescriptions.end();
for (MIMEToDescriptionsMap::const_iterator it = mimeToDescriptions.begin(); it != end; ++it) {
- MimeClassInfo* mime = new MimeClassInfo;
- info->mimes.append(mime);
+ MimeClassInfo mime;
- mime->type = it->first;
- mime->desc = it->second;
- mime->plugin = info;
+ mime.type = it->first;
+ mime.desc = it->second;
+ mime.pluginIndex = m_plugins.size();
- Vector<String> extensions = package->mimeToExtensions().get(mime->type);
+ Vector<String> extensions = package->mimeToExtensions().get(mime.type);
for (unsigned i = 0; i < extensions.size(); i++) {
if (i > 0)
- mime->suffixes += ",";
+ mime.suffixes += ",";
- mime->suffixes += extensions[i];
+ mime.suffixes += extensions[i];
}
+
+ info.mimes.append(mime);
}
m_plugins.append(info);
diff --git a/WebCore/plugins/wx/PluginDataWx.cpp b/WebCore/plugins/wx/PluginDataWx.cpp
index 58ee315..747c11a 100644
--- a/WebCore/plugins/wx/PluginDataWx.cpp
+++ b/WebCore/plugins/wx/PluginDataWx.cpp
@@ -39,31 +39,32 @@ void PluginData::initPlugins()
const Vector<PluginPackage*> &plugins = db->plugins();
for (unsigned int i = 0; i < plugins.size(); ++i) {
- PluginInfo* info = new PluginInfo;
+ PluginInfo info;
PluginPackage* package = plugins[i];
- info->name = package->name();
- info->file = package->fileName();
- info->desc = package->description();
+ info.name = package->name();
+ info.file = package->fileName();
+ info.desc = package->description();
const MIMEToDescriptionsMap& mimeToDescriptions = package->mimeToDescriptions();
MIMEToDescriptionsMap::const_iterator end = mimeToDescriptions.end();
for (MIMEToDescriptionsMap::const_iterator it = mimeToDescriptions.begin(); it != end; ++it) {
- MimeClassInfo* mime = new MimeClassInfo;
- info->mimes.append(mime);
+ MimeClassInfo mime;
- mime->type = it->first;
- mime->desc = it->second;
- mime->plugin = info;
+ mime.type = it->first;
+ mime.desc = it->second;
+ mime.pluginIndex = m_plugins.size();
- Vector<String> extensions = package->mimeToExtensions().get(mime->type);
+ Vector<String> extensions = package->mimeToExtensions().get(mime.type);
for (unsigned i = 0; i < extensions.size(); i++) {
if (i > 0)
- mime->suffixes += ",";
+ mime.suffixes += ",";
- mime->suffixes += extensions[i];
+ mime.suffixes += extensions[i];
}
+
+ info.mimes.append(mime);
}
m_plugins.append(info);
diff --git a/WebCore/rendering/AutoTableLayout.cpp b/WebCore/rendering/AutoTableLayout.cpp
index 2a4958a..1633d88 100644
--- a/WebCore/rendering/AutoTableLayout.cpp
+++ b/WebCore/rendering/AutoTableLayout.cpp
@@ -64,7 +64,6 @@ void AutoTableLayout::recalcColumn(int effCol)
else if (child->isTableSection()) {
RenderTableSection* section = toRenderTableSection(child);
int numRows = section->numRows();
- RenderTableCell* last = 0;
for (int i = 0; i < numRows; i++) {
RenderTableSection::CellStruct current = section->cellAt(i, effCol);
RenderTableCell* cell = current.cell;
@@ -133,7 +132,6 @@ void AutoTableLayout::recalcColumn(int effCol)
l.maxWidth = max(l.maxWidth, 1);
insertSpanCell(cell);
}
- last = cell;
}
}
}
@@ -513,7 +511,6 @@ void AutoTableLayout::layout()
calcEffectiveWidth();
bool havePercent = false;
- bool haveRelative = false;
int totalRelative = 0;
int numAuto = 0;
int numFixed = 0;
@@ -535,7 +532,6 @@ void AutoTableLayout::layout()
totalPercent += width.rawValue();
break;
case Relative:
- haveRelative = true;
totalRelative += width.value();
break;
case Fixed:
diff --git a/WebCore/rendering/MediaControlElements.cpp b/WebCore/rendering/MediaControlElements.cpp
index 16827f5..3413b02 100644
--- a/WebCore/rendering/MediaControlElements.cpp
+++ b/WebCore/rendering/MediaControlElements.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2008, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2008, 2009, 2010 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -62,19 +62,29 @@ static const float cSeekRepeatDelay = 0.1f;
static const float cStepTime = 0.07f;
static const float cSeekTime = 0.2f;
-MediaControlShadowRootElement::MediaControlShadowRootElement(Document* document, HTMLMediaElement* mediaElement)
- : HTMLDivElement(divTag, document)
+inline MediaControlShadowRootElement::MediaControlShadowRootElement(HTMLMediaElement* mediaElement)
+ : HTMLDivElement(divTag, mediaElement->document())
, m_mediaElement(mediaElement)
{
+}
+
+PassRefPtr<MediaControlShadowRootElement> MediaControlShadowRootElement::create(HTMLMediaElement* mediaElement)
+{
+ RefPtr<MediaControlShadowRootElement> element = new MediaControlShadowRootElement(mediaElement);
+
RefPtr<RenderStyle> rootStyle = RenderStyle::create();
rootStyle->inheritFrom(mediaElement->renderer()->style());
rootStyle->setDisplay(BLOCK);
rootStyle->setPosition(RelativePosition);
- RenderMediaControlShadowRoot* renderer = new (mediaElement->renderer()->renderArena()) RenderMediaControlShadowRoot(this);
+
+ RenderMediaControlShadowRoot* renderer = new (mediaElement->renderer()->renderArena()) RenderMediaControlShadowRoot(element.get());
renderer->setStyle(rootStyle.release());
- setRenderer(renderer);
- setAttached();
- setInDocument();
+
+ element->setRenderer(renderer);
+ element->setAttached();
+ element->setInDocument();
+
+ return element.release();
}
void MediaControlShadowRootElement::updateStyle()
@@ -87,8 +97,8 @@ void MediaControlShadowRootElement::updateStyle()
// ----------------------------
-MediaControlElement::MediaControlElement(Document* document, PseudoId pseudo, HTMLMediaElement* mediaElement)
- : HTMLDivElement(divTag, document)
+MediaControlElement::MediaControlElement(HTMLMediaElement* mediaElement, PseudoId pseudo)
+ : HTMLDivElement(divTag, mediaElement->document())
, m_mediaElement(mediaElement)
, m_pseudoStyleId(pseudo)
{
@@ -118,6 +128,11 @@ MediaControlElement::MediaControlElement(Document* document, PseudoId pseudo, HT
}
}
+PassRefPtr<MediaControlElement> MediaControlElement::create(HTMLMediaElement* mediaElement, PseudoId pseudoStyleId)
+{
+ return new MediaControlElement(mediaElement, pseudoStyleId);
+}
+
void MediaControlElement::attachToParent(Element* parent)
{
parent->addChild(this);
@@ -200,9 +215,14 @@ void MediaControlElement::updateStyle()
// ----------------------------
-MediaControlTimelineContainerElement::MediaControlTimelineContainerElement(Document* document, HTMLMediaElement* element)
- : MediaControlElement(document, MEDIA_CONTROLS_TIMELINE_CONTAINER, element)
+inline MediaControlTimelineContainerElement::MediaControlTimelineContainerElement(HTMLMediaElement* mediaElement)
+ : MediaControlElement(mediaElement, MEDIA_CONTROLS_TIMELINE_CONTAINER)
+{
+}
+
+PassRefPtr<MediaControlTimelineContainerElement> MediaControlTimelineContainerElement::create(HTMLMediaElement* mediaElement)
{
+ return new MediaControlTimelineContainerElement(mediaElement);
}
bool MediaControlTimelineContainerElement::rendererIsNeeded(RenderStyle* style)
@@ -213,23 +233,28 @@ bool MediaControlTimelineContainerElement::rendererIsNeeded(RenderStyle* style)
// This is for MediaControllerThemeClassic:
// If there is no style for MediaControlStatusDisplayElement style, don't hide
// the timeline.
- if (!m_mediaElement->renderer()->getCachedPseudoStyle(MEDIA_CONTROLS_STATUS_DISPLAY))
+ if (!mediaElement()->renderer()->getCachedPseudoStyle(MEDIA_CONTROLS_STATUS_DISPLAY))
return true;
- float duration = m_mediaElement->duration();
+ float duration = mediaElement()->duration();
return !isnan(duration) && !isinf(duration);
}
// ----------------------------
-MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement(Document* doc, HTMLMediaElement* element)
- : MediaControlElement(doc, MEDIA_CONTROLS_VOLUME_SLIDER_CONTAINER, element)
+inline MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement(HTMLMediaElement* mediaElement)
+ : MediaControlElement(mediaElement, MEDIA_CONTROLS_VOLUME_SLIDER_CONTAINER)
, m_isVisible(false)
, m_x(0)
, m_y(0)
{
}
+PassRefPtr<MediaControlVolumeSliderContainerElement> MediaControlVolumeSliderContainerElement::create(HTMLMediaElement* mediaElement)
+{
+ return new MediaControlVolumeSliderContainerElement(mediaElement);
+}
+
PassRefPtr<RenderStyle> MediaControlVolumeSliderContainerElement::styleForElement()
{
RefPtr<RenderStyle> style = MediaControlElement::styleForElement();
@@ -265,12 +290,17 @@ bool MediaControlVolumeSliderContainerElement::hitTest(const IntPoint& absPoint)
// ----------------------------
-MediaControlStatusDisplayElement::MediaControlStatusDisplayElement(Document* document, HTMLMediaElement* element)
- : MediaControlElement(document, MEDIA_CONTROLS_STATUS_DISPLAY, element)
+inline MediaControlStatusDisplayElement::MediaControlStatusDisplayElement(HTMLMediaElement* mediaElement)
+ : MediaControlElement(mediaElement, MEDIA_CONTROLS_STATUS_DISPLAY)
, m_stateBeingDisplayed(Nothing)
{
}
+PassRefPtr<MediaControlStatusDisplayElement> MediaControlStatusDisplayElement::create(HTMLMediaElement* mediaElement)
+{
+ return new MediaControlStatusDisplayElement(mediaElement);
+}
+
void MediaControlStatusDisplayElement::update()
{
MediaControlElement::update();
@@ -278,9 +308,9 @@ void MediaControlStatusDisplayElement::update()
// Get the new state that we'll have to display.
StateBeingDisplayed newStateToDisplay = Nothing;
- if (m_mediaElement->readyState() != HTMLMediaElement::HAVE_ENOUGH_DATA && !m_mediaElement->currentSrc().isEmpty())
+ if (mediaElement()->readyState() != HTMLMediaElement::HAVE_ENOUGH_DATA && !mediaElement()->currentSrc().isEmpty())
newStateToDisplay = Loading;
- else if (m_mediaElement->movieLoadType() == MediaPlayer::LiveStream)
+ else if (mediaElement()->movieLoadType() == MediaPlayer::LiveStream)
newStateToDisplay = LiveBroadcast;
// Propagate only if needed.
@@ -306,14 +336,14 @@ bool MediaControlStatusDisplayElement::rendererIsNeeded(RenderStyle* style)
{
if (!MediaControlElement::rendererIsNeeded(style))
return false;
- float duration = m_mediaElement->duration();
+ float duration = mediaElement()->duration();
return (isnan(duration) || isinf(duration));
}
// ----------------------------
-MediaControlInputElement::MediaControlInputElement(Document* document, PseudoId pseudo, const String& type, HTMLMediaElement* mediaElement)
- : HTMLInputElement(inputTag, document)
+MediaControlInputElement::MediaControlInputElement(HTMLMediaElement* mediaElement, PseudoId pseudo, const String& type)
+ : HTMLInputElement(inputTag, mediaElement->document())
, m_mediaElement(mediaElement)
, m_pseudoStyleId(pseudo)
{
@@ -372,7 +402,7 @@ void MediaControlInputElement::update()
PassRefPtr<RenderStyle> MediaControlInputElement::styleForElement()
{
- return m_mediaElement->renderer()->getCachedPseudoStyle(m_pseudoStyleId);
+ return mediaElement()->renderer()->getCachedPseudoStyle(m_pseudoStyleId);
}
bool MediaControlInputElement::rendererIsNeeded(RenderStyle* style)
@@ -380,7 +410,7 @@ bool MediaControlInputElement::rendererIsNeeded(RenderStyle* style)
ASSERT(document()->page());
return HTMLInputElement::rendererIsNeeded(style) && parent() && parent()->renderer()
- && (!style->hasAppearance() || document()->page()->theme()->shouldRenderMediaControlPart(style->appearance(), m_mediaElement));
+ && (!style->hasAppearance() || document()->page()->theme()->shouldRenderMediaControlPart(style->appearance(), mediaElement()));
}
void MediaControlInputElement::attach()
@@ -392,7 +422,7 @@ void MediaControlInputElement::attach()
bool needsRenderer = rendererIsNeeded(style.get());
if (!needsRenderer)
return;
- RenderObject* renderer = createRenderer(m_mediaElement->renderer()->renderArena(), style.get());
+ RenderObject* renderer = createRenderer(mediaElement()->renderer()->renderArena(), style.get());
if (!renderer)
return;
renderer->setStyle(style.get());
@@ -409,7 +439,7 @@ void MediaControlInputElement::attach()
void MediaControlInputElement::updateStyle()
{
- if (!m_mediaElement || !m_mediaElement->renderer())
+ if (!mediaElement() || !mediaElement()->renderer())
return;
RefPtr<RenderStyle> style = styleForElement();
@@ -445,15 +475,20 @@ void MediaControlInputElement::setDisplayType(MediaControlElementType displayTyp
// ----------------------------
-MediaControlMuteButtonElement::MediaControlMuteButtonElement(Document* document, HTMLMediaElement* element)
- : MediaControlInputElement(document, MEDIA_CONTROLS_MUTE_BUTTON, "button", element)
+inline MediaControlMuteButtonElement::MediaControlMuteButtonElement(HTMLMediaElement* mediaElement)
+ : MediaControlInputElement(mediaElement, MEDIA_CONTROLS_MUTE_BUTTON, "button")
+{
+}
+
+PassRefPtr<MediaControlMuteButtonElement> MediaControlMuteButtonElement::create(HTMLMediaElement* mediaElement)
{
+ return new MediaControlMuteButtonElement(mediaElement);
}
void MediaControlMuteButtonElement::defaultEventHandler(Event* event)
{
if (event->type() == eventNames().clickEvent) {
- m_mediaElement->setMuted(!m_mediaElement->muted());
+ mediaElement()->setMuted(!mediaElement()->muted());
event->setDefaultHandled();
}
HTMLInputElement::defaultEventHandler(event);
@@ -461,20 +496,25 @@ void MediaControlMuteButtonElement::defaultEventHandler(Event* event)
void MediaControlMuteButtonElement::updateDisplayType()
{
- setDisplayType(m_mediaElement->muted() ? MediaUnMuteButton : MediaMuteButton);
+ setDisplayType(mediaElement()->muted() ? MediaUnMuteButton : MediaMuteButton);
}
// ----------------------------
-MediaControlPlayButtonElement::MediaControlPlayButtonElement(Document* document, HTMLMediaElement* element)
- : MediaControlInputElement(document, MEDIA_CONTROLS_PLAY_BUTTON, "button", element)
+inline MediaControlPlayButtonElement::MediaControlPlayButtonElement(HTMLMediaElement* mediaElement)
+ : MediaControlInputElement(mediaElement, MEDIA_CONTROLS_PLAY_BUTTON, "button")
+{
+}
+
+PassRefPtr<MediaControlPlayButtonElement> MediaControlPlayButtonElement::create(HTMLMediaElement* mediaElement)
{
+ return new MediaControlPlayButtonElement(mediaElement);
}
void MediaControlPlayButtonElement::defaultEventHandler(Event* event)
{
if (event->type() == eventNames().clickEvent) {
- m_mediaElement->togglePlayState();
+ mediaElement()->togglePlayState();
event->setDefaultHandled();
}
HTMLInputElement::defaultEventHandler(event);
@@ -482,21 +522,29 @@ void MediaControlPlayButtonElement::defaultEventHandler(Event* event)
void MediaControlPlayButtonElement::updateDisplayType()
{
- setDisplayType(m_mediaElement->canPlay() ? MediaPlayButton : MediaPauseButton);
+ setDisplayType(mediaElement()->canPlay() ? MediaPlayButton : MediaPauseButton);
}
// ----------------------------
-MediaControlSeekButtonElement::MediaControlSeekButtonElement(Document* document, HTMLMediaElement* element, bool forward)
- : MediaControlInputElement(document, forward ? MEDIA_CONTROLS_SEEK_FORWARD_BUTTON : MEDIA_CONTROLS_SEEK_BACK_BUTTON,
- "button", element)
- , m_forward(forward)
+inline MediaControlSeekButtonElement::MediaControlSeekButtonElement(HTMLMediaElement* mediaElement, PseudoId pseudoId)
+ : MediaControlInputElement(mediaElement, pseudoId, "button")
, m_seeking(false)
, m_capturing(false)
, m_seekTimer(this, &MediaControlSeekButtonElement::seekTimerFired)
{
}
+PassRefPtr<MediaControlSeekButtonElement> MediaControlSeekButtonElement::create(HTMLMediaElement* mediaElement, PseudoId pseudoStyleId)
+{
+ return new MediaControlSeekButtonElement(mediaElement, pseudoStyleId);
+}
+
+inline bool MediaControlSeekButtonElement::isForwardButton() const
+{
+ return pseudoStyleId() == MEDIA_CONTROLS_SEEK_FORWARD_BUTTON;
+}
+
void MediaControlSeekButtonElement::defaultEventHandler(Event* event)
{
if (event->type() == eventNames().mousedownEvent) {
@@ -504,7 +552,7 @@ void MediaControlSeekButtonElement::defaultEventHandler(Event* event)
m_capturing = true;
frame->eventHandler()->setCapturingMouseEventsNode(this);
}
- m_mediaElement->pause(event->fromUserGesture());
+ mediaElement()->pause(event->fromUserGesture());
m_seekTimer.startRepeating(cSeekRepeatDelay);
event->setDefaultHandled();
} else if (event->type() == eventNames().mouseupEvent) {
@@ -516,8 +564,8 @@ void MediaControlSeekButtonElement::defaultEventHandler(Event* event)
ExceptionCode ec;
if (m_seeking || m_seekTimer.isActive()) {
if (!m_seeking) {
- float stepTime = m_forward ? cStepTime : -cStepTime;
- m_mediaElement->setCurrentTime(m_mediaElement->currentTime() + stepTime, ec);
+ float stepTime = isForwardButton() ? cStepTime : -cStepTime;
+ mediaElement()->setCurrentTime(mediaElement()->currentTime() + stepTime, ec);
}
m_seekTimer.stop();
m_seeking = false;
@@ -531,8 +579,8 @@ void MediaControlSeekButtonElement::seekTimerFired(Timer<MediaControlSeekButtonE
{
ExceptionCode ec;
m_seeking = true;
- float seekTime = m_forward ? cSeekTime : -cSeekTime;
- m_mediaElement->setCurrentTime(m_mediaElement->currentTime() + seekTime, ec);
+ float seekTime = isForwardButton() ? cSeekTime : -cSeekTime;
+ mediaElement()->setCurrentTime(mediaElement()->currentTime() + seekTime, ec);
}
void MediaControlSeekButtonElement::detach()
@@ -544,18 +592,22 @@ void MediaControlSeekButtonElement::detach()
MediaControlInputElement::detach();
}
-
// ----------------------------
-MediaControlRewindButtonElement::MediaControlRewindButtonElement(Document* document, HTMLMediaElement* element)
- : MediaControlInputElement(document, MEDIA_CONTROLS_REWIND_BUTTON, "button", element)
+inline MediaControlRewindButtonElement::MediaControlRewindButtonElement(HTMLMediaElement* element)
+ : MediaControlInputElement(element, MEDIA_CONTROLS_REWIND_BUTTON, "button")
{
}
+PassRefPtr<MediaControlRewindButtonElement> MediaControlRewindButtonElement::create(HTMLMediaElement* mediaElement)
+{
+ return new MediaControlRewindButtonElement(mediaElement);
+}
+
void MediaControlRewindButtonElement::defaultEventHandler(Event* event)
{
if (event->type() == eventNames().clickEvent) {
- m_mediaElement->rewind(30);
+ mediaElement()->rewind(30);
event->setDefaultHandled();
}
HTMLInputElement::defaultEventHandler(event);
@@ -564,15 +616,20 @@ void MediaControlRewindButtonElement::defaultEventHandler(Event* event)
// ----------------------------
-MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement(Document* document, HTMLMediaElement* element)
- : MediaControlInputElement(document, MEDIA_CONTROLS_RETURN_TO_REALTIME_BUTTON, "button", element)
+inline MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement(HTMLMediaElement* mediaElement)
+ : MediaControlInputElement(mediaElement, MEDIA_CONTROLS_RETURN_TO_REALTIME_BUTTON, "button")
{
}
+PassRefPtr<MediaControlReturnToRealtimeButtonElement> MediaControlReturnToRealtimeButtonElement::create(HTMLMediaElement* mediaElement)
+{
+ return new MediaControlReturnToRealtimeButtonElement(mediaElement);
+}
+
void MediaControlReturnToRealtimeButtonElement::defaultEventHandler(Event* event)
{
if (event->type() == eventNames().clickEvent) {
- m_mediaElement->returnToRealtime();
+ mediaElement()->returnToRealtime();
event->setDefaultHandled();
}
HTMLInputElement::defaultEventHandler(event);
@@ -581,16 +638,21 @@ void MediaControlReturnToRealtimeButtonElement::defaultEventHandler(Event* event
// ----------------------------
-MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement(Document* doc, HTMLMediaElement* element)
- : MediaControlInputElement(doc, MEDIA_CONTROLS_TOGGLE_CLOSED_CAPTIONS_BUTTON, "button", element)
+inline MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement(HTMLMediaElement* mediaElement)
+ : MediaControlInputElement(mediaElement, MEDIA_CONTROLS_TOGGLE_CLOSED_CAPTIONS_BUTTON, "button")
{
}
+PassRefPtr<MediaControlToggleClosedCaptionsButtonElement> MediaControlToggleClosedCaptionsButtonElement::create(HTMLMediaElement* mediaElement)
+{
+ return new MediaControlToggleClosedCaptionsButtonElement(mediaElement);
+}
+
void MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler(Event* event)
{
if (event->type() == eventNames().clickEvent) {
- m_mediaElement->setClosedCaptionsVisible(!m_mediaElement->closedCaptionsVisible());
- setChecked(m_mediaElement->closedCaptionsVisible());
+ mediaElement()->setClosedCaptionsVisible(!mediaElement()->closedCaptionsVisible());
+ setChecked(mediaElement()->closedCaptionsVisible());
event->setDefaultHandled();
}
HTMLInputElement::defaultEventHandler(event);
@@ -598,17 +660,21 @@ void MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler(Event* e
void MediaControlToggleClosedCaptionsButtonElement::updateDisplayType()
{
- setDisplayType(m_mediaElement->closedCaptionsVisible() ? MediaHideClosedCaptionsButton : MediaShowClosedCaptionsButton);
+ setDisplayType(mediaElement()->closedCaptionsVisible() ? MediaHideClosedCaptionsButton : MediaShowClosedCaptionsButton);
}
-
// ----------------------------
-MediaControlTimelineElement::MediaControlTimelineElement(Document* document, HTMLMediaElement* element)
- : MediaControlInputElement(document, MEDIA_CONTROLS_TIMELINE, "range", element)
+MediaControlTimelineElement::MediaControlTimelineElement(HTMLMediaElement* mediaElement)
+ : MediaControlInputElement(mediaElement, MEDIA_CONTROLS_TIMELINE, "range")
{
}
+PassRefPtr<MediaControlTimelineElement> MediaControlTimelineElement::create(HTMLMediaElement* mediaElement)
+{
+ return new MediaControlTimelineElement(mediaElement);
+}
+
void MediaControlTimelineElement::defaultEventHandler(Event* event)
{
// Left button is 0. Rejects mouse events not from left button.
@@ -619,7 +685,7 @@ void MediaControlTimelineElement::defaultEventHandler(Event* event)
return;
if (event->type() == eventNames().mousedownEvent)
- m_mediaElement->beginScrubbing();
+ mediaElement()->beginScrubbing();
MediaControlInputElement::defaultEventHandler(event);
@@ -627,34 +693,39 @@ void MediaControlTimelineElement::defaultEventHandler(Event* event)
return;
float time = narrowPrecisionToFloat(value().toDouble());
- if (time != m_mediaElement->currentTime()) {
+ if (time != mediaElement()->currentTime()) {
ExceptionCode ec;
- m_mediaElement->setCurrentTime(time, ec);
+ mediaElement()->setCurrentTime(time, ec);
}
RenderSlider* slider = toRenderSlider(renderer());
if (slider && slider->inDragMode())
- toRenderMedia(m_mediaElement->renderer())->updateTimeDisplay();
+ toRenderMedia(mediaElement()->renderer())->updateTimeDisplay();
if (event->type() == eventNames().mouseupEvent)
- m_mediaElement->endScrubbing();
+ mediaElement()->endScrubbing();
}
void MediaControlTimelineElement::update(bool updateDuration)
{
if (updateDuration) {
- float dur = m_mediaElement->duration();
- setAttribute(maxAttr, String::number(isfinite(dur) ? dur : 0));
+ float duration = mediaElement()->duration();
+ setAttribute(maxAttr, String::number(isfinite(duration) ? duration : 0));
}
- setValue(String::number(m_mediaElement->currentTime()));
+ setValue(String::number(mediaElement()->currentTime()));
MediaControlInputElement::update();
}
// ----------------------------
-MediaControlVolumeSliderElement::MediaControlVolumeSliderElement(Document* document, HTMLMediaElement* element)
- : MediaControlInputElement(document, MEDIA_CONTROLS_VOLUME_SLIDER, "range", element)
+inline MediaControlVolumeSliderElement::MediaControlVolumeSliderElement(HTMLMediaElement* mediaElement)
+ : MediaControlInputElement(mediaElement, MEDIA_CONTROLS_VOLUME_SLIDER, "range")
+{
+}
+
+PassRefPtr<MediaControlVolumeSliderElement> MediaControlVolumeSliderElement::create(HTMLMediaElement* mediaElement)
{
+ return new MediaControlVolumeSliderElement(mediaElement);
}
void MediaControlVolumeSliderElement::defaultEventHandler(Event* event)
@@ -672,16 +743,16 @@ void MediaControlVolumeSliderElement::defaultEventHandler(Event* event)
return;
float volume = narrowPrecisionToFloat(value().toDouble());
- if (volume != m_mediaElement->volume()) {
+ if (volume != mediaElement()->volume()) {
ExceptionCode ec = 0;
- m_mediaElement->setVolume(volume, ec);
+ mediaElement()->setVolume(volume, ec);
ASSERT(!ec);
}
}
void MediaControlVolumeSliderElement::update()
{
- float volume = m_mediaElement->volume();
+ float volume = mediaElement()->volume();
if (value().toFloat() != volume)
setValue(String::number(volume));
MediaControlInputElement::update();
@@ -689,15 +760,20 @@ void MediaControlVolumeSliderElement::update()
// ----------------------------
-MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement(Document* document, HTMLMediaElement* element)
- : MediaControlInputElement(document, MEDIA_CONTROLS_FULLSCREEN_BUTTON, "button", element)
+inline MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement(HTMLMediaElement* mediaElement)
+ : MediaControlInputElement(mediaElement, MEDIA_CONTROLS_FULLSCREEN_BUTTON, "button")
+{
+}
+
+PassRefPtr<MediaControlFullscreenButtonElement> MediaControlFullscreenButtonElement::create(HTMLMediaElement* mediaElement)
{
+ return new MediaControlFullscreenButtonElement(mediaElement);
}
void MediaControlFullscreenButtonElement::defaultEventHandler(Event* event)
{
if (event->type() == eventNames().clickEvent) {
- m_mediaElement->enterFullscreen();
+ mediaElement()->enterFullscreen();
event->setDefaultHandled();
}
HTMLInputElement::defaultEventHandler(event);
@@ -705,13 +781,18 @@ void MediaControlFullscreenButtonElement::defaultEventHandler(Event* event)
// ----------------------------
-MediaControlTimeDisplayElement::MediaControlTimeDisplayElement(Document* document, PseudoId pseudo, HTMLMediaElement* element)
- : MediaControlElement(document, pseudo, element)
+inline MediaControlTimeDisplayElement::MediaControlTimeDisplayElement(HTMLMediaElement* mediaElement, PseudoId pseudo)
+ : MediaControlElement(mediaElement, pseudo)
, m_currentValue(0)
, m_isVisible(true)
{
}
+PassRefPtr<MediaControlTimeDisplayElement> MediaControlTimeDisplayElement::create(HTMLMediaElement* mediaElement, PseudoId pseudoStyleId)
+{
+ return new MediaControlTimeDisplayElement(mediaElement, pseudoStyleId);
+}
+
PassRefPtr<RenderStyle> MediaControlTimeDisplayElement::styleForElement()
{
RefPtr<RenderStyle> style = MediaControlElement::styleForElement();
@@ -742,6 +823,6 @@ void MediaControlTimeDisplayElement::setCurrentValue(float time)
m_currentValue = time;
}
+} // namespace WebCore
-} //namespace WebCore
-#endif // enable(video)
+#endif // ENABLE(VIDEO)
diff --git a/WebCore/rendering/MediaControlElements.h b/WebCore/rendering/MediaControlElements.h
index 21831ce..68c06a3 100644
--- a/WebCore/rendering/MediaControlElements.h
+++ b/WebCore/rendering/MediaControlElements.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2008, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2008, 2009, 2010 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -72,14 +72,16 @@ HTMLMediaElement* toParentMediaElement(RenderObject*);
class MediaControlShadowRootElement : public HTMLDivElement {
public:
- MediaControlShadowRootElement(Document*, HTMLMediaElement*);
-
- virtual bool isShadowNode() const { return true; }
- virtual Node* shadowParentNode() { return m_mediaElement; }
+ static PassRefPtr<MediaControlShadowRootElement> create(HTMLMediaElement*);
void updateStyle();
private:
+ MediaControlShadowRootElement(HTMLMediaElement*);
+
+ virtual bool isShadowNode() const { return true; }
+ virtual Node* shadowParentNode() { return m_mediaElement; }
+
HTMLMediaElement* m_mediaElement;
};
@@ -87,21 +89,27 @@ private:
class MediaControlElement : public HTMLDivElement {
public:
- MediaControlElement(Document*, PseudoId, HTMLMediaElement*);
- virtual void attach();
- virtual bool rendererIsNeeded(RenderStyle*);
+ static PassRefPtr<MediaControlElement> create(HTMLMediaElement*, PseudoId);
- virtual PassRefPtr<RenderStyle> styleForElement();
+ virtual void attach();
void attachToParent(Element*);
void update();
- virtual void updateStyle();
+ void updateStyle();
MediaControlElementType displayType() const { return m_displayType; }
HTMLMediaElement* mediaElement() const { return m_mediaElement; }
- virtual bool isMediaControlElement() const { return true; }
protected:
+ MediaControlElement(HTMLMediaElement*, PseudoId);
+
+ virtual bool rendererIsNeeded(RenderStyle*);
+
+ virtual PassRefPtr<RenderStyle> styleForElement();
+
+private:
+ virtual bool isMediaControlElement() const { return true; }
+
HTMLMediaElement* m_mediaElement;
PseudoId m_pseudoStyleId;
MediaControlElementType m_displayType; // some elements can show multiple types (e.g. play/pause)
@@ -111,7 +119,10 @@ protected:
class MediaControlTimelineContainerElement : public MediaControlElement {
public:
- MediaControlTimelineContainerElement(Document*, HTMLMediaElement*);
+ static PassRefPtr<MediaControlTimelineContainerElement> create(HTMLMediaElement*);
+
+private:
+ MediaControlTimelineContainerElement(HTMLMediaElement*);
virtual bool rendererIsNeeded(RenderStyle*);
};
@@ -119,7 +130,8 @@ public:
class MediaControlVolumeSliderContainerElement : public MediaControlElement {
public:
- MediaControlVolumeSliderContainerElement(Document*, HTMLMediaElement*);
+ static PassRefPtr<MediaControlVolumeSliderContainerElement> create(HTMLMediaElement*);
+
virtual PassRefPtr<RenderStyle> styleForElement();
void setVisible(bool);
bool isVisible() { return m_isVisible; }
@@ -127,6 +139,8 @@ public:
bool hitTest(const IntPoint& absPoint);
private:
+ MediaControlVolumeSliderContainerElement(HTMLMediaElement*);
+
bool m_isVisible;
int m_x, m_y;
};
@@ -135,10 +149,15 @@ private:
class MediaControlStatusDisplayElement : public MediaControlElement {
public:
- MediaControlStatusDisplayElement(Document*, HTMLMediaElement*);
- virtual void update();
- virtual bool rendererIsNeeded(RenderStyle*);
+ static PassRefPtr<MediaControlStatusDisplayElement> create(HTMLMediaElement*);
+
+ void update();
+
private:
+ MediaControlStatusDisplayElement(HTMLMediaElement*);
+
+ virtual bool rendererIsNeeded(RenderStyle*);
+
enum StateBeingDisplayed { Nothing, Loading, LiveBroadcast };
StateBeingDisplayed m_stateBeingDisplayed;
};
@@ -147,25 +166,33 @@ private:
class MediaControlInputElement : public HTMLInputElement {
public:
- MediaControlInputElement(Document*, PseudoId, const String& type, HTMLMediaElement*);
- virtual void attach();
- virtual bool rendererIsNeeded(RenderStyle*);
-
- virtual PassRefPtr<RenderStyle> styleForElement();
void attachToParent(Element*);
void update();
void updateStyle();
bool hitTest(const IntPoint& absPoint);
+
MediaControlElementType displayType() const { return m_displayType; }
HTMLMediaElement* mediaElement() const { return m_mediaElement; }
- virtual bool isMediaControlElement() const { return true; }
protected:
- virtual void updateDisplayType() { }
+ MediaControlInputElement(HTMLMediaElement*, PseudoId, const String& type);
+
void setDisplayType(MediaControlElementType);
+ PseudoId pseudoStyleId() const { return m_pseudoStyleId; }
+
+private:
+ virtual void attach();
+ virtual bool rendererIsNeeded(RenderStyle*);
+
+ virtual PassRefPtr<RenderStyle> styleForElement();
+
+ virtual bool isMediaControlElement() const { return true; }
+
+ virtual void updateDisplayType() { }
+
HTMLMediaElement* m_mediaElement;
PseudoId m_pseudoStyleId;
MediaControlElementType m_displayType;
@@ -175,8 +202,13 @@ protected:
class MediaControlMuteButtonElement : public MediaControlInputElement {
public:
- MediaControlMuteButtonElement(Document*, HTMLMediaElement*);
+ static PassRefPtr<MediaControlMuteButtonElement> create(HTMLMediaElement*);
+
virtual void defaultEventHandler(Event*);
+
+private:
+ MediaControlMuteButtonElement(HTMLMediaElement*);
+
virtual void updateDisplayType();
};
@@ -184,8 +216,13 @@ public:
class MediaControlPlayButtonElement : public MediaControlInputElement {
public:
- MediaControlPlayButtonElement(Document*, HTMLMediaElement*);
+ static PassRefPtr<MediaControlPlayButtonElement> create(HTMLMediaElement*);
+
virtual void defaultEventHandler(Event*);
+
+private:
+ MediaControlPlayButtonElement(HTMLMediaElement*);
+
virtual void updateDisplayType();
};
@@ -193,13 +230,18 @@ public:
class MediaControlSeekButtonElement : public MediaControlInputElement {
public:
- MediaControlSeekButtonElement(Document*, HTMLMediaElement*, bool forward);
+ static PassRefPtr<MediaControlSeekButtonElement> create(HTMLMediaElement*, PseudoId);
+
virtual void defaultEventHandler(Event*);
+
+private:
+ MediaControlSeekButtonElement(HTMLMediaElement*, PseudoId);
+
+ bool isForwardButton() const;
+
virtual void detach();
void seekTimerFired(Timer<MediaControlSeekButtonElement>*);
-private:
- bool m_forward;
bool m_seeking;
bool m_capturing;
Timer<MediaControlSeekButtonElement> m_seekTimer;
@@ -209,24 +251,37 @@ private:
class MediaControlRewindButtonElement : public MediaControlInputElement {
public:
- MediaControlRewindButtonElement(Document*, HTMLMediaElement*);
+ static PassRefPtr<MediaControlRewindButtonElement> create(HTMLMediaElement*);
+
virtual void defaultEventHandler(Event*);
+
+private:
+ MediaControlRewindButtonElement(HTMLMediaElement*);
};
// ----------------------------
class MediaControlReturnToRealtimeButtonElement : public MediaControlInputElement {
public:
- MediaControlReturnToRealtimeButtonElement(Document*, HTMLMediaElement*);
+ static PassRefPtr<MediaControlReturnToRealtimeButtonElement> create(HTMLMediaElement*);
+
virtual void defaultEventHandler(Event*);
+
+private:
+ MediaControlReturnToRealtimeButtonElement(HTMLMediaElement*);
};
// ----------------------------
class MediaControlToggleClosedCaptionsButtonElement : public MediaControlInputElement {
public:
- MediaControlToggleClosedCaptionsButtonElement(Document*, HTMLMediaElement*);
+ static PassRefPtr<MediaControlToggleClosedCaptionsButtonElement> create(HTMLMediaElement*);
+
virtual void defaultEventHandler(Event*);
+
+private:
+ MediaControlToggleClosedCaptionsButtonElement(HTMLMediaElement*);
+
virtual void updateDisplayType();
};
@@ -234,40 +289,55 @@ public:
class MediaControlTimelineElement : public MediaControlInputElement {
public:
- MediaControlTimelineElement(Document*, HTMLMediaElement*);
+ static PassRefPtr<MediaControlTimelineElement> create(HTMLMediaElement*);
+
virtual void defaultEventHandler(Event*);
void update(bool updateDuration = true);
+
+private:
+ MediaControlTimelineElement(HTMLMediaElement*);
};
// ----------------------------
class MediaControlVolumeSliderElement : public MediaControlInputElement {
public:
- MediaControlVolumeSliderElement(Document*, HTMLMediaElement*);
+ static PassRefPtr<MediaControlVolumeSliderElement> create(HTMLMediaElement*);
+
virtual void defaultEventHandler(Event*);
- virtual void update();
+ void update();
+
+private:
+ MediaControlVolumeSliderElement(HTMLMediaElement*);
};
// ----------------------------
class MediaControlFullscreenButtonElement : public MediaControlInputElement {
public:
- MediaControlFullscreenButtonElement(Document*, HTMLMediaElement*);
+ static PassRefPtr<MediaControlFullscreenButtonElement> create(HTMLMediaElement*);
+
virtual void defaultEventHandler(Event*);
+
+private:
+ MediaControlFullscreenButtonElement(HTMLMediaElement*);
};
// ----------------------------
class MediaControlTimeDisplayElement : public MediaControlElement {
public:
- MediaControlTimeDisplayElement(Document*, PseudoId, HTMLMediaElement*);
+ static PassRefPtr<MediaControlTimeDisplayElement> create(HTMLMediaElement*, PseudoId);
+
void setVisible(bool);
- virtual PassRefPtr<RenderStyle> styleForElement();
void setCurrentValue(float);
float currentValue() const { return m_currentValue; }
private:
+ MediaControlTimeDisplayElement(HTMLMediaElement*, PseudoId);
+
+ virtual PassRefPtr<RenderStyle> styleForElement();
float m_currentValue;
bool m_isVisible;
};
@@ -282,7 +352,8 @@ public:
// ----------------------------
-
} //namespace WebCore
-#endif // enable(video)
+
+#endif // ENABLE(VIDEO)
+
#endif // MediaControlElements_h
diff --git a/WebCore/rendering/RenderBlock.cpp b/WebCore/rendering/RenderBlock.cpp
index 9ea5209..5ac57f0 100644
--- a/WebCore/rendering/RenderBlock.cpp
+++ b/WebCore/rendering/RenderBlock.cpp
@@ -239,6 +239,12 @@ void RenderBlock::styleDidChange(StyleDifference diff, const RenderStyle* oldSty
if (child->isAnonymousBlock()) {
RefPtr<RenderStyle> newStyle = RenderStyle::create();
newStyle->inheritFrom(style());
+ if (style()->specifiesColumns()) {
+ if (child->style()->specifiesColumns())
+ newStyle->inheritColumnPropertiesFrom(style());
+ if (child->style()->columnSpan())
+ newStyle->setColumnSpan(true);
+ }
newStyle->setDisplay(BLOCK);
child->setStyle(newStyle.release());
}
@@ -261,19 +267,181 @@ void RenderBlock::updateBeforeAfterContent(PseudoId pseudoId)
return;
return children()->updateBeforeAfterContent(this, pseudoId);
}
+
+void RenderBlock::addChildToAnonymousColumnBlocks(RenderObject* newChild, RenderObject* beforeChild)
+{
+ ASSERT(!continuation()); // We don't yet support column spans that aren't immediate children of the multi-column block.
+
+ // The goal is to locate a suitable box in which to place our child.
+ RenderBlock* beforeChildParent = toRenderBlock(beforeChild ? beforeChild->parent() : lastChild());
-void RenderBlock::addChild(RenderObject* newChild, RenderObject* beforeChild)
+ // If the new child is floating or positioned it can just go in that block.
+ if (newChild->isFloatingOrPositioned())
+ return beforeChildParent->addChildIgnoringAnonymousColumnBlocks(newChild, beforeChild);
+
+ // See if the child can be placed in the box.
+ bool newChildHasColumnSpan = newChild->style()->columnSpan() && !newChild->isInline();
+ bool beforeChildParentHoldsColumnSpans = beforeChildParent->isAnonymousColumnSpanBlock();
+
+ if (newChildHasColumnSpan == beforeChildParentHoldsColumnSpans)
+ return beforeChildParent->addChildIgnoringAnonymousColumnBlocks(newChild, beforeChild);
+
+ if (!beforeChild) {
+ // Create a new block of the correct type.
+ RenderBlock* newBox = newChildHasColumnSpan ? createAnonymousColumnSpanBlock() : createAnonymousColumnsBlock();
+ children()->appendChildNode(this, newBox);
+ newBox->addChildIgnoringAnonymousColumnBlocks(newChild, 0);
+ return;
+ }
+
+ RenderObject* immediateChild = beforeChild;
+ bool isPreviousBlockViable = true;
+ while (immediateChild->parent() != this) {
+ if (isPreviousBlockViable)
+ isPreviousBlockViable = !immediateChild->previousSibling();
+ immediateChild = immediateChild->parent();
+ }
+ if (isPreviousBlockViable && immediateChild->previousSibling())
+ return toRenderBlock(immediateChild->previousSibling())->addChildIgnoringAnonymousColumnBlocks(newChild, 0); // Treat like an append.
+
+ // Split our anonymous blocks.
+ RenderObject* newBeforeChild = splitAnonymousBlocksAroundChild(beforeChild);
+
+ // Create a new anonymous box of the appropriate type.
+ RenderBlock* newBox = newChildHasColumnSpan ? createAnonymousColumnSpanBlock() : createAnonymousColumnsBlock();
+ children()->insertChildNode(this, newBox, newBeforeChild);
+ newBox->addChildIgnoringAnonymousColumnBlocks(newChild, 0);
+ return;
+}
+
+RenderObject* RenderBlock::splitAnonymousBlocksAroundChild(RenderObject* beforeChild)
+{
+ while (beforeChild->parent() != this) {
+ RenderBlock* blockToSplit = toRenderBlock(beforeChild->parent());
+ ASSERT(blockToSplit->isAnonymousBlock() && !blockToSplit->continuation());
+
+ if (blockToSplit->firstChild() != beforeChild) {
+ // We have to split the parentBlock into two blocks.
+ RenderBlock* post = createAnonymousBlockWithSameTypeAs(blockToSplit);
+ post->setChildrenInline(blockToSplit->childrenInline());
+ RenderBlock* parentBlock = toRenderBlock(blockToSplit->parent());
+ parentBlock->children()->insertChildNode(parentBlock, post, blockToSplit->nextSibling());
+ blockToSplit->moveChildrenTo(post, beforeChild, 0, blockToSplit->hasLayer());
+ post->setNeedsLayoutAndPrefWidthsRecalc();
+ blockToSplit->setNeedsLayoutAndPrefWidthsRecalc();
+ beforeChild = post;
+ } else
+ beforeChild = blockToSplit;
+ }
+
+ return beforeChild;
+}
+
+void RenderBlock::makeChildrenAnonymousColumnBlocks(RenderObject* beforeChild, RenderBlock* newBlockBox, RenderObject* newChild)
+{
+ RenderBlock* pre = 0;
+ RenderBlock* post = 0;
+ RenderBlock* block = this; // Eventually block will not just be |this|, but will also be a block nested inside |this|. Assign to a variable
+ // so that we don't have to patch all of the rest of the code later on.
+
+ // Delete the block's line boxes before we do the split.
+ block->deleteLineBoxTree();
+
+ if (beforeChild && beforeChild->parent() != this)
+ beforeChild = splitAnonymousBlocksAroundChild(beforeChild);
+
+ if (beforeChild != firstChild()) {
+ pre = block->createAnonymousColumnsBlock();
+ pre->setChildrenInline(block->childrenInline());
+ }
+
+ if (beforeChild) {
+ post = block->createAnonymousColumnsBlock();
+ post->setChildrenInline(block->childrenInline());
+ }
+
+ RenderObject* boxFirst = block->firstChild();
+ if (pre)
+ block->children()->insertChildNode(block, pre, boxFirst);
+ block->children()->insertChildNode(block, newBlockBox, boxFirst);
+ if (post)
+ block->children()->insertChildNode(block, post, boxFirst);
+ block->setChildrenInline(false);
+
+ // The pre/post blocks always have layers, so we know to always do a full insert/remove (so we pass true as the last argument).
+ block->moveChildrenTo(pre, boxFirst, beforeChild, true);
+ block->moveChildrenTo(post, beforeChild, 0, true);
+
+ // We already know the newBlockBox isn't going to contain inline kids, so avoid wasting
+ // time in makeChildrenNonInline by just setting this explicitly up front.
+ newBlockBox->setChildrenInline(false);
+
+ // We delayed adding the newChild until now so that the |newBlockBox| would be fully
+ // connected, thus allowing newChild access to a renderArena should it need
+ // to wrap itself in additional boxes (e.g., table construction).
+ newBlockBox->addChild(newChild);
+
+ // Always just do a full layout in order to ensure that line boxes (especially wrappers for images)
+ // get deleted properly. Because objects moved from the pre block into the post block, we want to
+ // make new line boxes instead of leaving the old line boxes around.
+ if (pre)
+ pre->setNeedsLayoutAndPrefWidthsRecalc();
+ block->setNeedsLayoutAndPrefWidthsRecalc();
+ if (post)
+ post->setNeedsLayoutAndPrefWidthsRecalc();
+}
+
+static RenderBlock* columnsBlockForSpanningElement(RenderBlock* block, RenderObject* newChild)
+{
+ // FIXME: The style of this function may seem weird.
+ // This function is the gateway for the addition of column-span support. Support will be added in three stages:
+ // (1) Immediate children of a multi-column block can span.
+ // (2) Nested block-level children with only block-level ancestors between them and the multi-column block can span.
+ // (3) Nested children with block or inline ancestors between them and the multi-column block can span (this is when we
+ // cross the streams and have to cope with both types of continuations mixed together).
+ // This function currently only supports (1).
+ if (!newChild->isText() && newChild->style()->columnSpan() && !newChild->isFloatingOrPositioned()
+ && !newChild->isInline() && !block->isAnonymousColumnSpanBlock() && block->style()->specifiesColumns())
+ return block;
+ return 0;
+}
+
+void RenderBlock::addChildIgnoringAnonymousColumnBlocks(RenderObject* newChild, RenderObject* beforeChild)
{
// Make sure we don't append things after :after-generated content if we have it.
if (!beforeChild) {
RenderObject* lastRenderer = lastChild();
-
if (isAfterContent(lastRenderer))
beforeChild = lastRenderer;
else if (lastRenderer && lastRenderer->isAnonymousBlock() && isAfterContent(lastRenderer->lastChild()))
beforeChild = lastRenderer->lastChild();
}
+ // Check for a spanning element in columns.
+ RenderBlock* columnsBlockAncestor = columnsBlockForSpanningElement(this, newChild);
+ if (columnsBlockAncestor) {
+ ASSERT(columnsBlockAncestor == this);
+
+ // We are placing a column-span element inside a block. We have to perform a split of this
+ // block's children. This involves creating an anonymous block box to hold
+ // the column-spanning |newChild|. We take all of the children from before |newChild| and put them into
+ // one anonymous columns block, and all of the children after |newChild| go into another anonymous block.
+ RenderBlock* newBox = createAnonymousColumnSpanBlock();
+
+ // Someone may have put the spanning element inside an element with generated content, causing a split. When this happens,
+ // the :after content has to move into the last anonymous block. Call updateBeforeAfterContent to ensure that our :after
+ // content gets properly destroyed.
+ bool isLastChild = (beforeChild == lastChild());
+ if (document()->usesBeforeAfterRules())
+ children()->updateBeforeAfterContent(this, AFTER);
+ if (isLastChild && beforeChild != lastChild())
+ beforeChild = 0; // We destroyed the last child, so now we need to update our insertion
+ // point to be 0. It's just a straight append now.
+
+ makeChildrenAnonymousColumnBlocks(beforeChild, newBox, newChild);
+ return;
+ }
+
bool madeBoxesNonInline = false;
// If the requested beforeChild is not one of our children, then this is because
@@ -351,6 +519,13 @@ void RenderBlock::addChild(RenderObject* newChild, RenderObject* beforeChild)
// this object may be dead here
}
+void RenderBlock::addChild(RenderObject* newChild, RenderObject* beforeChild)
+{
+ if (!isAnonymous() && firstChild() && (firstChild()->isAnonymousColumnsBlock() || firstChild()->isAnonymousColumnSpanBlock()))
+ return addChildToAnonymousColumnBlocks(newChild, beforeChild);
+ return addChildIgnoringAnonymousColumnBlocks(newChild, beforeChild);
+}
+
static void getInlineRun(RenderObject* start, RenderObject* boundary,
RenderObject*& inlineRunStart,
RenderObject*& inlineRunEnd)
@@ -407,42 +582,24 @@ RootInlineBox* RenderBlock::createAndAppendRootInlineBox()
m_lineBoxes.appendLineBox(rootBox);
return rootBox;
}
-
-void RenderBlock::moveChildTo(RenderObject* to, RenderObjectChildList* toChildList, RenderObject* child)
-{
- ASSERT(this == child->parent());
- toChildList->appendChildNode(to, children()->removeChildNode(this, child, false), false);
-}
-void RenderBlock::moveChildTo(RenderObject* to, RenderObjectChildList* toChildList, RenderObject* beforeChild, RenderObject* child)
+void RenderBlock::moveChildTo(RenderBlock* to, RenderObject* child, RenderObject* beforeChild, bool fullRemoveInsert)
{
ASSERT(this == child->parent());
ASSERT(!beforeChild || to == beforeChild->parent());
- toChildList->insertChildNode(to, children()->removeChildNode(this, child, false), beforeChild, false);
-}
-
-void RenderBlock::moveAllChildrenTo(RenderObject* to, RenderObjectChildList* toChildList)
-{
- RenderObject* nextChild = children()->firstChild();
- while (nextChild) {
- RenderObject* child = nextChild;
- nextChild = child->nextSibling();
- toChildList->appendChildNode(to, children()->removeChildNode(this, child, false), false);
- }
+ to->children()->insertChildNode(to, children()->removeChildNode(this, child, fullRemoveInsert), beforeChild, fullRemoveInsert);
}
-void RenderBlock::moveAllChildrenTo(RenderObject* to, RenderObjectChildList* toChildList, RenderObject* beforeChild)
+void RenderBlock::moveChildrenTo(RenderBlock* to, RenderObject* startChild, RenderObject* endChild, RenderObject* beforeChild, bool fullRemoveInsert)
{
ASSERT(!beforeChild || to == beforeChild->parent());
- if (!beforeChild) {
- moveAllChildrenTo(to, toChildList);
- return;
- }
- RenderObject* nextChild = children()->firstChild();
- while (nextChild) {
+ RenderObject* nextChild = startChild;
+ while (nextChild && nextChild != endChild) {
RenderObject* child = nextChild;
nextChild = child->nextSibling();
- toChildList->insertChildNode(to, children()->removeChildNode(this, child, false), beforeChild, false);
+ to->children()->insertChildNode(to, children()->removeChildNode(this, child, fullRemoveInsert), beforeChild, fullRemoveInsert);
+ if (child == endChild)
+ return;
}
}
@@ -477,14 +634,7 @@ void RenderBlock::makeChildrenNonInline(RenderObject *insertionPoint)
RenderBlock* block = createAnonymousBlock();
children()->insertChildNode(this, block, inlineRunStart);
- RenderObject* o = inlineRunStart;
- while (o != inlineRunEnd) {
- RenderObject* no = o;
- o = no->nextSibling();
-
- moveChildTo(block, block->children(), no);
- }
- moveChildTo(block, block->children(), inlineRunEnd);
+ moveChildrenTo(block, inlineRunStart, child);
}
#ifndef NDEBUG
@@ -500,7 +650,7 @@ void RenderBlock::removeLeftoverAnonymousBlock(RenderBlock* child)
ASSERT(child->isAnonymousBlock());
ASSERT(!child->childrenInline());
- if (child->continuation())
+ if (child->continuation() || (child->firstChild() && (child->isAnonymousColumnSpanBlock() || child->isAnonymousColumnsBlock())))
return;
RenderObject* firstAnChild = child->m_children.firstChild();
@@ -517,16 +667,22 @@ void RenderBlock::removeLeftoverAnonymousBlock(RenderBlock* child)
child->previousSibling()->setNextSibling(firstAnChild);
if (child->nextSibling())
child->nextSibling()->setPreviousSibling(lastAnChild);
+
+ if (child == m_children.firstChild())
+ m_children.setFirstChild(firstAnChild);
+ if (child == m_children.lastChild())
+ m_children.setLastChild(lastAnChild);
} else {
+ if (child == m_children.firstChild())
+ m_children.setFirstChild(child->nextSibling());
+ if (child == m_children.lastChild())
+ m_children.setLastChild(child->previousSibling());
+
if (child->previousSibling())
child->previousSibling()->setNextSibling(child->nextSibling());
if (child->nextSibling())
child->nextSibling()->setPreviousSibling(child->previousSibling());
}
- if (child == m_children.firstChild())
- m_children.setFirstChild(firstAnChild);
- if (child == m_children.lastChild())
- m_children.setLastChild(lastAnChild);
child->setParent(0);
child->setPreviousSibling(0);
child->setNextSibling(0);
@@ -537,6 +693,29 @@ void RenderBlock::removeLeftoverAnonymousBlock(RenderBlock* child)
child->destroy();
}
+static bool canMergeContiguousAnonymousBlocks(RenderObject* oldChild, RenderObject* prev, RenderObject* next)
+{
+ if (oldChild->documentBeingDestroyed() || oldChild->isInline() || oldChild->virtualContinuation())
+ return false;
+
+ if ((prev && (!prev->isAnonymousBlock() || toRenderBlock(prev)->continuation()))
+ || (next && (!next->isAnonymousBlock() || toRenderBlock(next)->continuation())))
+ return false;
+
+#if ENABLE(RUBY)
+ if ((prev && (prev->isRubyRun() || prev->isRubyBase()))
+ || (next && (next->isRubyRun() || next->isRubyBase())))
+ return false;
+#endif
+
+ if (!prev || !next)
+ return true;
+
+ // Make sure the types of the anonymous blocks match up.
+ return prev->isAnonymousColumnsBlock() == next->isAnonymousColumnsBlock()
+ && prev->isAnonymousColumnSpanBlock() == prev->isAnonymousColumnSpanBlock();
+}
+
void RenderBlock::removeChild(RenderObject* oldChild)
{
// If this child is a block, and if our previous and next siblings are
@@ -544,41 +723,65 @@ void RenderBlock::removeChild(RenderObject* oldChild)
// fold the inline content back together.
RenderObject* prev = oldChild->previousSibling();
RenderObject* next = oldChild->nextSibling();
- bool canDeleteAnonymousBlocks = !documentBeingDestroyed() && !isInline() && !oldChild->isInline()
- && (!oldChild->isRenderBlock() || !toRenderBlock(oldChild)->continuation())
- && (!prev || (prev->isAnonymousBlock() && prev->childrenInline()))
- && (!next || (next->isAnonymousBlock() && next->childrenInline()));
- if (canDeleteAnonymousBlocks && prev && next) {
- // Take all the children out of the |next| block and put them in
- // the |prev| block.
+ bool canMergeAnonymousBlocks = canMergeContiguousAnonymousBlocks(oldChild, prev, next);
+ if (canMergeAnonymousBlocks && prev && next) {
prev->setNeedsLayoutAndPrefWidthsRecalc();
RenderBlock* nextBlock = toRenderBlock(next);
RenderBlock* prevBlock = toRenderBlock(prev);
- nextBlock->moveAllChildrenTo(prevBlock, prevBlock->children());
- // Delete the now-empty block's lines and nuke it.
- nextBlock->deleteLineBoxTree();
- nextBlock->destroy();
+
+ if (prev->childrenInline() != next->childrenInline()) {
+ RenderBlock* inlineChildrenBlock = prev->childrenInline() ? prevBlock : nextBlock;
+ RenderBlock* blockChildrenBlock = prev->childrenInline() ? nextBlock : prevBlock;
+
+ // Place the inline children block inside of the block children block instead of deleting it.
+ // In order to reuse it, we have to reset it to just be a generic anonymous block. Make sure
+ // to clear out inherited column properties by just making a new style, and to also clear the
+ // column span flag if it is set.
+ ASSERT(!inlineChildrenBlock->continuation());
+ RefPtr<RenderStyle> newStyle = RenderStyle::create();
+ newStyle->inheritFrom(style());
+ children()->removeChildNode(this, inlineChildrenBlock, inlineChildrenBlock->hasLayer());
+ inlineChildrenBlock->setStyle(newStyle);
+
+ // Now just put the inlineChildrenBlock inside the blockChildrenBlock.
+ blockChildrenBlock->children()->insertChildNode(blockChildrenBlock, inlineChildrenBlock, prev == inlineChildrenBlock ? blockChildrenBlock->firstChild() : 0,
+ inlineChildrenBlock->hasLayer() || blockChildrenBlock->hasLayer());
+ next->setNeedsLayoutAndPrefWidthsRecalc();
+ } else {
+ // Take all the children out of the |next| block and put them in
+ // the |prev| block.
+ nextBlock->moveAllChildrenTo(prevBlock, nextBlock->hasLayer() || prevBlock->hasLayer());
+
+ // Delete the now-empty block's lines and nuke it.
+ nextBlock->deleteLineBoxTree();
+ nextBlock->destroy();
+ }
}
RenderBox::removeChild(oldChild);
RenderObject* child = prev ? prev : next;
- if (canDeleteAnonymousBlocks && child && !child->previousSibling() && !child->nextSibling() && !isFlexibleBox()) {
+ if (canMergeAnonymousBlocks && child && !child->previousSibling() && !child->nextSibling() && !isFlexibleBox()) {
// The removal has knocked us down to containing only a single anonymous
// box. We can go ahead and pull the content right back up into our
// box.
setNeedsLayoutAndPrefWidthsRecalc();
- RenderBlock* anonBlock = toRenderBlock(children()->removeChildNode(this, child, false));
- setChildrenInline(true);
- anonBlock->moveAllChildrenTo(this, children());
+ setChildrenInline(child->childrenInline());
+ RenderBlock* anonBlock = toRenderBlock(children()->removeChildNode(this, child, child->hasLayer()));
+ anonBlock->moveAllChildrenTo(this, child->hasLayer());
// Delete the now-empty block's lines and nuke it.
anonBlock->deleteLineBoxTree();
anonBlock->destroy();
}
- // If this was our last child be sure to clear out our line boxes.
- if (childrenInline() && !firstChild())
- lineBoxes()->deleteLineBoxes(renderArena());
+ if (!firstChild() && !documentBeingDestroyed()) {
+ // If this was our last child be sure to clear out our line boxes.
+ if (childrenInline())
+ lineBoxes()->deleteLineBoxes(renderArena());
+ // If we're now an empty anonymous block then go ahead and delete ourselves.
+ else if (isAnonymousBlock() && parent() && parent()->isRenderBlock() && !continuation())
+ destroy();
+ }
}
bool RenderBlock::isSelfCollapsingBlock() const
@@ -1933,25 +2136,6 @@ void RenderBlock::paintContinuationOutlines(PaintInfo& info, int tx, int ty)
table->remove(this);
}
-void RenderBlock::setSelectionState(SelectionState s)
-{
- if (selectionState() == s)
- return;
-
- if (s == SelectionInside && selectionState() != SelectionNone)
- return;
-
- if ((s == SelectionStart && selectionState() == SelectionEnd) ||
- (s == SelectionEnd && selectionState() == SelectionStart))
- RenderBox::setSelectionState(SelectionBoth);
- else
- RenderBox::setSelectionState(s);
-
- RenderBlock* cb = containingBlock();
- if (cb && !cb->isRenderView())
- cb->setSelectionState(s);
-}
-
bool RenderBlock::shouldPaintSelectionGaps() const
{
return selectionState() != SelectionNone && style()->visibility() == VISIBLE && isSelectionRoot();
@@ -2068,7 +2252,7 @@ GapRects RenderBlock::fillSelectionGaps(RenderBlock* rootBlock, int blockX, int
if (!isBlockFlow()) // FIXME: Make multi-column selection gap filling work someday.
return result;
- if (hasColumns() || hasTransform()) {
+ if (hasColumns() || hasTransform() || style()->columnSpan()) {
// FIXME: We should learn how to gap fill multiple columns and transforms eventually.
lastTop = (ty - blockY) + height();
lastLeft = leftSelectionOffset(rootBlock, height());
@@ -3745,7 +3929,11 @@ void RenderBlock::calcColumnWidth()
void RenderBlock::setDesiredColumnCountAndWidth(int count, int width)
{
- if (count == 1 && style()->hasAutoColumnWidth()) {
+ bool destroyColumns = !firstChild()
+ || (count == 1 && style()->hasAutoColumnWidth())
+ || firstChild()->isAnonymousColumnsBlock()
+ || firstChild()->isAnonymousColumnSpanBlock();
+ if (destroyColumns) {
if (hasColumns()) {
delete gColumnInfoMap->take(this);
setHasColumns(false);
@@ -4197,7 +4385,6 @@ void RenderBlock::calcInlinePrefWidths()
InlineMinMaxIterator childIterator(this);
bool addedTextIndent = false; // Only gets added in once.
RenderObject* prevFloat = 0;
- RenderObject* previousLeaf = 0;
while (RenderObject* child = childIterator.next()) {
autoWrap = child->isReplaced() ? child->parent()->style()->autoWrap() :
child->style()->autoWrap();
@@ -4425,8 +4612,6 @@ void RenderBlock::calcInlinePrefWidths()
}
oldAutoWrap = autoWrap;
- if (!child->isRenderInline())
- previousLeaf = child;
}
if (style()->collapseWhiteSpace())
@@ -5232,6 +5417,39 @@ RenderBlock* RenderBlock::createAnonymousBlock(bool isFlexibleBox) const
return newBox;
}
+RenderBlock* RenderBlock::createAnonymousBlockWithSameTypeAs(RenderBlock* otherAnonymousBlock) const
+{
+ if (otherAnonymousBlock->isAnonymousColumnsBlock())
+ return createAnonymousColumnsBlock();
+ if (otherAnonymousBlock->isAnonymousColumnSpanBlock())
+ return createAnonymousColumnSpanBlock();
+ return createAnonymousBlock(otherAnonymousBlock->style()->display() == BOX);
+}
+
+RenderBlock* RenderBlock::createAnonymousColumnsBlock() const
+{
+ RefPtr<RenderStyle> newStyle = RenderStyle::create();
+ newStyle->inheritFrom(style());
+ newStyle->inheritColumnPropertiesFrom(style());
+ newStyle->setDisplay(BLOCK);
+
+ RenderBlock* newBox = new (renderArena()) RenderBlock(document() /* anonymous box */);
+ newBox->setStyle(newStyle.release());
+ return newBox;
+}
+
+RenderBlock* RenderBlock::createAnonymousColumnSpanBlock() const
+{
+ RefPtr<RenderStyle> newStyle = RenderStyle::create();
+ newStyle->inheritFrom(style());
+ newStyle->setColumnSpan(true);
+ newStyle->setDisplay(BLOCK);
+
+ RenderBlock* newBox = new (renderArena()) RenderBlock(document() /* anonymous box */);
+ newBox->setStyle(newStyle.release());
+ return newBox;
+}
+
const char* RenderBlock::renderName() const
{
if (isBody())
@@ -5241,6 +5459,10 @@ const char* RenderBlock::renderName() const
return "RenderBlock (floating)";
if (isPositioned())
return "RenderBlock (positioned)";
+ if (isAnonymousColumnsBlock())
+ return "RenderBlock (anonymous multi-column)";
+ if (isAnonymousColumnSpanBlock())
+ return "RenderBlock (anonymous multi-column span)";
if (isAnonymousBlock())
return "RenderBlock (anonymous)";
else if (isAnonymous())
diff --git a/WebCore/rendering/RenderBlock.h b/WebCore/rendering/RenderBlock.h
index 450912a..7d9e2fc 100644
--- a/WebCore/rendering/RenderBlock.h
+++ b/WebCore/rendering/RenderBlock.h
@@ -111,8 +111,6 @@ public:
bool containsNonZeroBidiLevel() const;
- virtual void setSelectionState(SelectionState s);
-
GapRects selectionGapRectsForRepaint(RenderBoxModelObject* repaintContainer);
IntRect fillLeftSelectionGap(RenderObject* selObj, int xPos, int yPos, int height, RenderBlock* rootBlock,
int blockX, int blockY, int tx, int ty, const PaintInfo*);
@@ -143,19 +141,41 @@ public:
// This function is a convenience helper for creating an anonymous block that inherits its
// style from this RenderBlock.
RenderBlock* createAnonymousBlock(bool isFlexibleBox = false) const;
-
+ RenderBlock* createAnonymousColumnsBlock() const;
+ RenderBlock* createAnonymousColumnSpanBlock() const;
+ RenderBlock* createAnonymousBlockWithSameTypeAs(RenderBlock* otherAnonymousBlock) const;
+
static void appendRunsForObject(int start, int end, RenderObject*, InlineBidiResolver&);
static bool requiresLineBox(const InlineIterator&, bool isLineEmpty = true, bool previousLineBrokeCleanly = true);
Vector<IntRect>* columnRects() const;
int columnGap() const;
-
-protected:
- void moveChildTo(RenderObject* to, RenderObjectChildList* toChildList, RenderObject* child);
- void moveChildTo(RenderObject* to, RenderObjectChildList* toChildList, RenderObject* beforeChild, RenderObject* child);
- void moveAllChildrenTo(RenderObject* to, RenderObjectChildList* toChildList);
- void moveAllChildrenTo(RenderObject* to, RenderObjectChildList* toChildList, RenderObject* beforeChild);
+protected:
+ // These functions are only used internally to manipulate the render tree structure via remove/insert/appendChildNode.
+ // Since they are typically called only to move objects around within anonymous blocks (which only have layers in
+ // the case of column spans), the default for fullRemoveInsert is false rather than true.
+ void moveChildTo(RenderBlock* to, RenderObject* child, bool fullRemoveInsert = false)
+ {
+ return moveChildTo(to, child, 0, fullRemoveInsert);
+ }
+ void moveChildTo(RenderBlock* to, RenderObject* child, RenderObject* beforeChild, bool fullRemoveInsert = false);
+ void moveAllChildrenTo(RenderBlock* to, bool fullRemoveInsert = false)
+ {
+ return moveAllChildrenTo(to, 0, fullRemoveInsert);
+ }
+ void moveAllChildrenTo(RenderBlock* to, RenderObject* beforeChild, bool fullRemoveInsert = false)
+ {
+ return moveChildrenTo(to, firstChild(), 0, beforeChild, fullRemoveInsert);
+ }
+ // Move all of the kids from |startChild| up to but excluding |endChild|. 0 can be passed as the endChild to denote
+ // that all the kids from |startChild| onwards should be added.
+ void moveChildrenTo(RenderBlock* to, RenderObject* startChild, RenderObject* endChild, bool fullRemoveInsert = false)
+ {
+ return moveChildrenTo(to, startChild, endChild, 0, fullRemoveInsert);
+ }
+ void moveChildrenTo(RenderBlock* to, RenderObject* startChild, RenderObject* endChild, RenderObject* beforeChild, bool fullRemoveInsert = false);
+
int maxTopPosMargin() const { return m_maxMargin ? m_maxMargin->m_topPos : MaxMargin::topPosDefault(this); }
int maxTopNegMargin() const { return m_maxMargin ? m_maxMargin->m_topNeg : MaxMargin::topNegDefault(this); }
int maxBottomPosMargin() const { return m_maxMargin ? m_maxMargin->m_bottomPos : MaxMargin::bottomPosDefault(this); }
@@ -223,6 +243,9 @@ private:
virtual void dirtyLinesFromChangedChild(RenderObject* child) { m_lineBoxes.dirtyLinesFromChangedChild(this, child); }
+ void addChildToAnonymousColumnBlocks(RenderObject* newChild, RenderObject* beforeChild);
+ virtual void addChildIgnoringAnonymousColumnBlocks(RenderObject* newChild, RenderObject* beforeChild = 0);
+
virtual bool isSelfCollapsingBlock() const;
virtual int maxTopMargin(bool positive) const { return positive ? maxTopPosMargin() : maxTopNegMargin(); }
@@ -380,11 +403,14 @@ private:
void calcColumnWidth();
int layoutColumns(int endOfContent = -1, int requestedColumnHeight = -1);
int visibleTopOfHighestFloatExtendingBelow(int bottom, int maxHeight) const;
+ void makeChildrenAnonymousColumnBlocks(RenderObject* beforeChild, RenderBlock* newBlockBox, RenderObject* newChild);
bool expandsToEncloseOverhangingFloats() const;
void updateScrollInfoAfterLayout();
+ RenderObject* splitAnonymousBlocksAroundChild(RenderObject* beforeChild);
+
struct FloatingObject : Noncopyable {
enum Type {
FloatLeft,
@@ -528,7 +554,7 @@ private:
RenderLineBoxList m_lineBoxes; // All of the root line boxes created for this block flow. For example, <div>Hello<br>world.</div> will have two total lines for the <div>.
mutable int m_lineHeight;
-
+
// RenderRubyBase objects need to be able to split and merge, moving their children around
// (calling moveChildTo, moveAllChildrenTo, and makeChildrenNonInline).
friend class RenderRubyBase;
diff --git a/WebCore/rendering/RenderBoxModelObject.cpp b/WebCore/rendering/RenderBoxModelObject.cpp
index 1a72957..196e8c5 100644
--- a/WebCore/rendering/RenderBoxModelObject.cpp
+++ b/WebCore/rendering/RenderBoxModelObject.cpp
@@ -181,6 +181,29 @@ void RenderBoxModelObject::highQualityRepaintTimerFired(Timer<RenderBoxModelObje
RenderBoxModelScaleObserver::highQualityRepaintTimerFired(this);
}
+void RenderBoxModelObject::setSelectionState(SelectionState s)
+{
+ if (selectionState() == s)
+ return;
+
+ if (s == SelectionInside && selectionState() != SelectionNone)
+ return;
+
+ if ((s == SelectionStart && selectionState() == SelectionEnd)
+ || (s == SelectionEnd && selectionState() == SelectionStart))
+ RenderObject::setSelectionState(SelectionBoth);
+ else
+ RenderObject::setSelectionState(s);
+
+ // FIXME:
+ // We should consider whether it is OK propagating to ancestor RenderInlines.
+ // This is a workaround for http://webkit.org/b/32123
+ RenderBlock* cb = containingBlock();
+ if (cb && !cb->isRenderView())
+ cb->setSelectionState(s);
+}
+
+
RenderBoxModelObject::RenderBoxModelObject(Node* node)
: RenderObject(node)
, m_layer(0)
diff --git a/WebCore/rendering/RenderBoxModelObject.h b/WebCore/rendering/RenderBoxModelObject.h
index 62f1009..dc2cf18 100644
--- a/WebCore/rendering/RenderBoxModelObject.h
+++ b/WebCore/rendering/RenderBoxModelObject.h
@@ -103,6 +103,7 @@ public:
void highQualityRepaintTimerFired(Timer<RenderBoxModelObject>*);
+ virtual void setSelectionState(SelectionState s);
protected:
void calculateBackgroundImageGeometry(const FillLayer*, int tx, int ty, int w, int h, IntRect& destRect, IntPoint& phase, IntSize& tileSize);
diff --git a/WebCore/rendering/RenderEmbeddedObject.cpp b/WebCore/rendering/RenderEmbeddedObject.cpp
index 8619fc0..3d3278a 100644
--- a/WebCore/rendering/RenderEmbeddedObject.cpp
+++ b/WebCore/rendering/RenderEmbeddedObject.cpp
@@ -94,7 +94,7 @@ bool RenderEmbeddedObject::allowsAcceleratedCompositing() const
static bool isURLAllowed(Document* doc, const String& url)
{
- if (doc->frame()->page()->frameCount() >= 200)
+ if (doc->frame()->page()->frameCount() >= Page::maxNumberOfFrames)
return false;
// We allow one level of self-reference because some sites depend on that.
diff --git a/WebCore/rendering/RenderFileUploadControl.cpp b/WebCore/rendering/RenderFileUploadControl.cpp
index 1ae149b..d4d73bc 100644
--- a/WebCore/rendering/RenderFileUploadControl.cpp
+++ b/WebCore/rendering/RenderFileUploadControl.cpp
@@ -50,17 +50,30 @@ const int iconFilenameSpacing = 2;
const int defaultWidthNumChars = 34;
const int buttonShadowHeight = 2;
-class HTMLFileUploadInnerButtonElement : public HTMLInputElement {
+class ShadowInputElement : public HTMLInputElement {
public:
- HTMLFileUploadInnerButtonElement(Document*, Node* shadowParent);
+ static PassRefPtr<ShadowInputElement> create(Node* shadowParent);
+
+private:
+ ShadowInputElement(Node* shadowParent);
virtual bool isShadowNode() const { return true; }
virtual Node* shadowParentNode() { return m_shadowParent; }
-private:
Node* m_shadowParent;
};
+inline ShadowInputElement::ShadowInputElement(Node* shadowParent)
+ : HTMLInputElement(inputTag, shadowParent->document())
+ , m_shadowParent(shadowParent)
+{
+}
+
+inline PassRefPtr<ShadowInputElement> ShadowInputElement::create(Node* shadowParent)
+{
+ return new ShadowInputElement(shadowParent);
+}
+
RenderFileUploadControl::RenderFileUploadControl(HTMLInputElement* input)
: RenderBlock(input)
, m_button(0)
@@ -143,7 +156,7 @@ void RenderFileUploadControl::updateFromElement()
ASSERT(inputElement->inputType() == HTMLInputElement::FILE);
if (!m_button) {
- m_button = new HTMLFileUploadInnerButtonElement(document(), inputElement);
+ m_button = ShadowInputElement::create(inputElement);
m_button->setInputType("button");
m_button->setValue(fileButtonChooseFileLabel());
RefPtr<RenderStyle> buttonStyle = createButtonStyle(style());
@@ -313,10 +326,4 @@ String RenderFileUploadControl::fileTextValue() const
return m_fileChooser->basenameForWidth(style()->font(), maxFilenameWidth());
}
-HTMLFileUploadInnerButtonElement::HTMLFileUploadInnerButtonElement(Document* doc, Node* shadowParent)
- : HTMLInputElement(inputTag, doc)
- , m_shadowParent(shadowParent)
-{
-}
-
} // namespace WebCore
diff --git a/WebCore/rendering/RenderLayer.cpp b/WebCore/rendering/RenderLayer.cpp
index 7477d77..3eab1f8 100644
--- a/WebCore/rendering/RenderLayer.cpp
+++ b/WebCore/rendering/RenderLayer.cpp
@@ -977,12 +977,14 @@ void RenderLayer::addChild(RenderLayer* child, RenderLayer* beforeChild)
if (prevSibling) {
child->setPreviousSibling(prevSibling);
prevSibling->setNextSibling(child);
+ ASSERT(prevSibling != child);
} else
setFirstChild(child);
if (beforeChild) {
beforeChild->setPreviousSibling(child);
child->setNextSibling(beforeChild);
+ ASSERT(beforeChild != child);
} else
setLastChild(child);
diff --git a/WebCore/rendering/RenderMedia.cpp b/WebCore/rendering/RenderMedia.cpp
index 7100435..ba60ed0 100644
--- a/WebCore/rendering/RenderMedia.cpp
+++ b/WebCore/rendering/RenderMedia.cpp
@@ -170,84 +170,84 @@ void RenderMedia::layout()
void RenderMedia::createControlsShadowRoot()
{
ASSERT(!m_controlsShadowRoot);
- m_controlsShadowRoot = new MediaControlShadowRootElement(document(), mediaElement());
+ m_controlsShadowRoot = MediaControlShadowRootElement::create(mediaElement());
addChild(m_controlsShadowRoot->renderer());
}
void RenderMedia::createPanel()
{
ASSERT(!m_panel);
- m_panel = new MediaControlElement(document(), MEDIA_CONTROLS_PANEL, mediaElement());
+ m_panel = MediaControlElement::create(mediaElement(), MEDIA_CONTROLS_PANEL);
m_panel->attachToParent(m_controlsShadowRoot.get());
}
void RenderMedia::createMuteButton()
{
ASSERT(!m_muteButton);
- m_muteButton = new MediaControlMuteButtonElement(document(), mediaElement());
+ m_muteButton = MediaControlMuteButtonElement::create(mediaElement());
m_muteButton->attachToParent(m_panel.get());
}
void RenderMedia::createPlayButton()
{
ASSERT(!m_playButton);
- m_playButton = new MediaControlPlayButtonElement(document(), mediaElement());
+ m_playButton = MediaControlPlayButtonElement::create(mediaElement());
m_playButton->attachToParent(m_panel.get());
}
void RenderMedia::createSeekBackButton()
{
ASSERT(!m_seekBackButton);
- m_seekBackButton = new MediaControlSeekButtonElement(document(), mediaElement(), false);
+ m_seekBackButton = MediaControlSeekButtonElement::create(mediaElement(), MEDIA_CONTROLS_SEEK_BACK_BUTTON);
m_seekBackButton->attachToParent(m_panel.get());
}
void RenderMedia::createSeekForwardButton()
{
ASSERT(!m_seekForwardButton);
- m_seekForwardButton = new MediaControlSeekButtonElement(document(), mediaElement(), true);
+ m_seekForwardButton = MediaControlSeekButtonElement::create(mediaElement(), MEDIA_CONTROLS_SEEK_FORWARD_BUTTON);
m_seekForwardButton->attachToParent(m_panel.get());
}
void RenderMedia::createRewindButton()
{
ASSERT(!m_rewindButton);
- m_rewindButton = new MediaControlRewindButtonElement(document(), mediaElement());
+ m_rewindButton = MediaControlRewindButtonElement::create(mediaElement());
m_rewindButton->attachToParent(m_panel.get());
}
void RenderMedia::createReturnToRealtimeButton()
{
ASSERT(!m_returnToRealtimeButton);
- m_returnToRealtimeButton = new MediaControlReturnToRealtimeButtonElement(document(), mediaElement());
+ m_returnToRealtimeButton = MediaControlReturnToRealtimeButtonElement::create(mediaElement());
m_returnToRealtimeButton->attachToParent(m_panel.get());
}
void RenderMedia::createToggleClosedCaptionsButton()
{
ASSERT(!m_toggleClosedCaptionsButton);
- m_toggleClosedCaptionsButton = new MediaControlToggleClosedCaptionsButtonElement(document(), mediaElement());
+ m_toggleClosedCaptionsButton = MediaControlToggleClosedCaptionsButtonElement::create(mediaElement());
m_toggleClosedCaptionsButton->attachToParent(m_panel.get());
}
void RenderMedia::createStatusDisplay()
{
ASSERT(!m_statusDisplay);
- m_statusDisplay = new MediaControlStatusDisplayElement(document(), mediaElement());
+ m_statusDisplay = MediaControlStatusDisplayElement::create(mediaElement());
m_statusDisplay->attachToParent(m_panel.get());
}
void RenderMedia::createTimelineContainer()
{
ASSERT(!m_timelineContainer);
- m_timelineContainer = new MediaControlTimelineContainerElement(document(), mediaElement());
+ m_timelineContainer = MediaControlTimelineContainerElement::create(mediaElement());
m_timelineContainer->attachToParent(m_panel.get());
}
void RenderMedia::createTimeline()
{
ASSERT(!m_timeline);
- m_timeline = new MediaControlTimelineElement(document(), mediaElement());
+ m_timeline = MediaControlTimelineElement::create(mediaElement());
m_timeline->setAttribute(precisionAttr, "float");
m_timeline->attachToParent(m_timelineContainer.get());
}
@@ -255,14 +255,14 @@ void RenderMedia::createTimeline()
void RenderMedia::createVolumeSliderContainer()
{
ASSERT(!m_volumeSliderContainer);
- m_volumeSliderContainer = new MediaControlVolumeSliderContainerElement(document(), mediaElement());
+ m_volumeSliderContainer = MediaControlVolumeSliderContainerElement::create(mediaElement());
m_volumeSliderContainer->attachToParent(m_panel.get());
}
void RenderMedia::createVolumeSlider()
{
ASSERT(!m_volumeSlider);
- m_volumeSlider = new MediaControlVolumeSliderElement(document(), mediaElement());
+ m_volumeSlider = MediaControlVolumeSliderElement::create(mediaElement());
m_volumeSlider->setAttribute(precisionAttr, "float");
m_volumeSlider->setAttribute(maxAttr, "1");
m_volumeSlider->setAttribute(valueAttr, String::number(mediaElement()->volume()));
@@ -272,21 +272,21 @@ void RenderMedia::createVolumeSlider()
void RenderMedia::createCurrentTimeDisplay()
{
ASSERT(!m_currentTimeDisplay);
- m_currentTimeDisplay = new MediaControlTimeDisplayElement(document(), MEDIA_CONTROLS_CURRENT_TIME_DISPLAY, mediaElement());
+ m_currentTimeDisplay = MediaControlTimeDisplayElement::create(mediaElement(), MEDIA_CONTROLS_CURRENT_TIME_DISPLAY);
m_currentTimeDisplay->attachToParent(m_timelineContainer.get());
}
void RenderMedia::createTimeRemainingDisplay()
{
ASSERT(!m_timeRemainingDisplay);
- m_timeRemainingDisplay = new MediaControlTimeDisplayElement(document(), MEDIA_CONTROLS_TIME_REMAINING_DISPLAY, mediaElement());
+ m_timeRemainingDisplay = MediaControlTimeDisplayElement::create(mediaElement(), MEDIA_CONTROLS_TIME_REMAINING_DISPLAY);
m_timeRemainingDisplay->attachToParent(m_timelineContainer.get());
}
void RenderMedia::createFullscreenButton()
{
ASSERT(!m_fullscreenButton);
- m_fullscreenButton = new MediaControlFullscreenButtonElement(document(), mediaElement());
+ m_fullscreenButton = MediaControlFullscreenButtonElement::create(mediaElement());
m_fullscreenButton->attachToParent(m_panel.get());
}
diff --git a/WebCore/rendering/RenderObject.h b/WebCore/rendering/RenderObject.h
index 0c3e66d..3ff38ab 100644
--- a/WebCore/rendering/RenderObject.h
+++ b/WebCore/rendering/RenderObject.h
@@ -386,6 +386,8 @@ public:
{
return m_isAnonymous && style()->display() == BLOCK && style()->styleType() == NOPSEUDO && !isListMarker();
}
+ bool isAnonymousColumnsBlock() const { return style()->specifiesColumns() && isAnonymousBlock(); }
+ bool isAnonymousColumnSpanBlock() const { return style()->columnSpan() && isAnonymousBlock(); }
bool isElementContinuation() const { return node() && node()->renderer() != this; }
bool isInlineElementContinuation() const { return isElementContinuation() && isInline(); }
bool isBlockElementContinuation() const { return isElementContinuation() && !isInline(); }
diff --git a/WebCore/rendering/RenderObjectChildList.cpp b/WebCore/rendering/RenderObjectChildList.cpp
index aa8f50f..6775537 100644
--- a/WebCore/rendering/RenderObjectChildList.cpp
+++ b/WebCore/rendering/RenderObjectChildList.cpp
@@ -171,7 +171,7 @@ void RenderObjectChildList::appendChildNode(RenderObject* owner, RenderObject* n
void RenderObjectChildList::insertChildNode(RenderObject* owner, RenderObject* child, RenderObject* beforeChild, bool fullInsert)
{
if (!beforeChild) {
- appendChildNode(owner, child);
+ appendChildNode(owner, child, fullInsert);
return;
}
diff --git a/WebCore/rendering/RenderProgress.cpp b/WebCore/rendering/RenderProgress.cpp
index cf98f18..ac3fb15 100644
--- a/WebCore/rendering/RenderProgress.cpp
+++ b/WebCore/rendering/RenderProgress.cpp
@@ -19,6 +19,7 @@
*/
#include "config.h"
+
#if ENABLE(PROGRESS_TAG)
#include "RenderProgress.h"
@@ -38,19 +39,26 @@ using namespace HTMLNames;
class ProgressValueElement : public HTMLDivElement {
public:
- ProgressValueElement(Document*, Node* shadowParent);
+ static PassRefPtr<ProgressValueElement> create(Node* shadowParent);
private:
+ ProgressValueElement(Node* shadowParent);
+
virtual bool isShadowNode() const { return true; }
virtual Node* shadowParentNode() { return m_shadowParent; }
Node* m_shadowParent;
};
-ProgressValueElement::ProgressValueElement(Document* document, Node* shadowParent)
-: HTMLDivElement(divTag, document)
-, m_shadowParent(shadowParent)
+inline ProgressValueElement::ProgressValueElement(Node* shadowParent)
+ : HTMLDivElement(divTag, shadowParent->document())
+ , m_shadowParent(shadowParent)
+{
+}
+
+inline PassRefPtr<ProgressValueElement> ProgressValueElement::create(Node* shadowParent)
{
+ return new ProgressValueElement(shadowParent);
}
RenderProgress::RenderProgress(HTMLProgressElement* element)
@@ -136,7 +144,7 @@ void RenderProgress::updateValuePartState()
{
bool needLayout = !style()->hasAppearance() || m_valuePart;
if (!style()->hasAppearance() && !m_valuePart) {
- m_valuePart = new ProgressValueElement(document(), node());
+ m_valuePart = ProgressValueElement::create(node());
RefPtr<RenderStyle> styleForValuePart = createStyleForValuePart(style());
m_valuePart->setRenderer(m_valuePart->createRenderer(renderArena(), styleForValuePart.get()));
m_valuePart->renderer()->setStyle(styleForValuePart.release());
@@ -215,4 +223,5 @@ HTMLProgressElement* RenderProgress::progressElement() const
}
} // namespace WebCore
+
#endif
diff --git a/WebCore/rendering/RenderRubyBase.cpp b/WebCore/rendering/RenderRubyBase.cpp
index b088937..967a054 100644
--- a/WebCore/rendering/RenderRubyBase.cpp
+++ b/WebCore/rendering/RenderRubyBase.cpp
@@ -103,8 +103,7 @@ void RenderRubyBase::moveInlineChildren(RenderRubyBase* toBase, RenderObject* fr
}
}
// Move our inline children into the target block we determined above.
- for (RenderObject* child = firstChild(); child != fromBeforeChild; child = firstChild())
- moveChildTo(toBlock, toBlock->children(), child);
+ moveChildrenTo(toBlock, firstChild(), fromBeforeChild);
}
void RenderRubyBase::moveBlockChildren(RenderRubyBase* toBase, RenderObject* fromBeforeChild)
@@ -124,7 +123,7 @@ void RenderRubyBase::moveBlockChildren(RenderRubyBase* toBase, RenderObject* fro
anonBlock->destroy();
} else {
ASSERT(child->isFloatingOrPositioned());
- moveChildTo(toBase, toBase->children(), child);
+ moveChildTo(toBase, child);
}
}
} else {
@@ -147,7 +146,7 @@ void RenderRubyBase::moveBlockChildren(RenderRubyBase* toBase, RenderObject* fro
ASSERT(anonBlock->childrenInline());
ASSERT(!anonBlock->inlineElementContinuation());
// Move inline children out of anonymous block.
- anonBlock->moveAllChildrenTo(this, children(), anonBlock);
+ anonBlock->moveAllChildrenTo(this, anonBlock);
anonBlock->deleteLineBoxTree();
anonBlock->destroy();
}
@@ -181,8 +180,7 @@ void RenderRubyBase::mergeBlockChildren(RenderRubyBase* toBase, RenderObject* fr
anonBlockHere->destroy();
}
// Move all remaining children normally.
- for (RenderObject* child = firstChild(); child != fromBeforeChild; child = firstChild())
- moveChildTo(toBase, toBase->children(), child);
+ moveChildrenTo(toBase, firstChild(), fromBeforeChild);
}
} // namespace WebCore
diff --git a/WebCore/rendering/RenderRubyRun.cpp b/WebCore/rendering/RenderRubyRun.cpp
index d91c625..d6b724b 100644
--- a/WebCore/rendering/RenderRubyRun.cpp
+++ b/WebCore/rendering/RenderRubyRun.cpp
@@ -175,8 +175,8 @@ void RenderRubyRun::removeChild(RenderObject* child)
RenderRubyBase* rightBase = rightRun->rubyBaseSafe();
// Collect all children in a single base, then swap the bases.
rightBase->moveChildren(base);
- moveChildTo(rightRun, rightRun->children(), base);
- rightRun->moveChildTo(this, children(), rightBase);
+ moveChildTo(rightRun, base);
+ rightRun->moveChildTo(this, rightBase);
// The now empty ruby base will be removed below.
}
}
diff --git a/WebCore/rendering/RenderSVGResourceClipper.cpp b/WebCore/rendering/RenderSVGResourceClipper.cpp
index 0f82903..7957df4 100644
--- a/WebCore/rendering/RenderSVGResourceClipper.cpp
+++ b/WebCore/rendering/RenderSVGResourceClipper.cpp
@@ -184,9 +184,7 @@ bool RenderSVGResourceClipper::createClipData(ClipperData* clipperData, const Fl
maskContext->translate(-repaintRect.x(), -repaintRect.y());
// clipPath can also be clipped by another clipPath.
- bool clipperGetsClipped = false;
if (RenderSVGResourceClipper* clipper = getRenderSVGResourceById<RenderSVGResourceClipper>(this->document(), style()->svgStyle()->clipperResource())) {
- clipperGetsClipped = true;
if (!clipper->applyClippingToContext(this, objectBoundingBox, repaintRect, maskContext)) {
maskContext->restore();
return false;
diff --git a/WebCore/rendering/RenderSVGResourceFilter.cpp b/WebCore/rendering/RenderSVGResourceFilter.cpp
index ea30d77..e197d5b 100644
--- a/WebCore/rendering/RenderSVGResourceFilter.cpp
+++ b/WebCore/rendering/RenderSVGResourceFilter.cpp
@@ -55,8 +55,6 @@ RenderSVGResourceType RenderSVGResourceFilter::s_resourceType = FilterResourceTy
RenderSVGResourceFilter::RenderSVGResourceFilter(SVGFilterElement* node)
: RenderSVGResourceContainer(node)
- , m_savedContext(0)
- , m_sourceGraphicBuffer(0)
{
}
@@ -221,8 +219,8 @@ bool RenderSVGResourceFilter::applyResource(RenderObject* object, RenderStyle*,
sourceGraphicContext->translate(-clippedSourceRect.x(), -clippedSourceRect.y());
sourceGraphicContext->scale(scale);
sourceGraphicContext->clearRect(FloatRect(FloatPoint(), paintRect.size()));
- m_sourceGraphicBuffer.set(sourceGraphic.release());
- m_savedContext = context;
+ filterData->sourceGraphicBuffer.set(sourceGraphic.release());
+ filterData->savedContext = context;
context = sourceGraphicContext;
m_filter.set(object, filterData.release());
@@ -245,15 +243,15 @@ void RenderSVGResourceFilter::postApplyResource(RenderObject* object, GraphicsCo
FilterData* filterData = m_filter.get(object);
if (!filterData->builded) {
- if (!m_savedContext) {
+ if (!filterData->savedContext) {
invalidateClient(object);
return;
}
- context = m_savedContext;
- m_savedContext = 0;
+ context = filterData->savedContext;
+ filterData->savedContext = 0;
#if !PLATFORM(CG)
- m_sourceGraphicBuffer->transformColorSpace(DeviceRGB, LinearRGB);
+ filterData->sourceGraphicBuffer->transformColorSpace(DeviceRGB, LinearRGB);
#endif
}
@@ -264,7 +262,7 @@ void RenderSVGResourceFilter::postApplyResource(RenderObject* object, GraphicsCo
// initial filtering process. We just take the stored filter result on a
// second drawing.
if (!filterData->builded) {
- filterData->filter->setSourceImage(m_sourceGraphicBuffer.release());
+ filterData->filter->setSourceImage(filterData->sourceGraphicBuffer.release());
lastEffect->apply(filterData->filter.get());
filterData->builded = true;
}
@@ -278,7 +276,7 @@ void RenderSVGResourceFilter::postApplyResource(RenderObject* object, GraphicsCo
}
}
- m_sourceGraphicBuffer.clear();
+ filterData->sourceGraphicBuffer.clear();
}
FloatRect RenderSVGResourceFilter::resourceBoundingBox(const FloatRect& objectBoundingBox)
diff --git a/WebCore/rendering/RenderSVGResourceFilter.h b/WebCore/rendering/RenderSVGResourceFilter.h
index 6e98492..4d875c0 100644
--- a/WebCore/rendering/RenderSVGResourceFilter.h
+++ b/WebCore/rendering/RenderSVGResourceFilter.h
@@ -48,6 +48,8 @@ struct FilterData {
RefPtr<SVGFilter> filter;
OwnPtr<SVGFilterBuilder> builder;
+ OwnPtr<ImageBuffer> sourceGraphicBuffer;
+ GraphicsContext* savedContext;
FloatRect boundaries;
FloatSize scale;
bool builded;
@@ -81,10 +83,6 @@ public:
private:
bool fitsInMaximumImageSize(const FloatSize&, FloatSize&);
- // Intermediate storage during
- GraphicsContext* m_savedContext;
- OwnPtr<ImageBuffer> m_sourceGraphicBuffer;
-
HashMap<RenderObject*, FilterData*> m_filter;
};
diff --git a/WebCore/rendering/RenderSlider.cpp b/WebCore/rendering/RenderSlider.cpp
index ed5fe76..aed8a8c 100644
--- a/WebCore/rendering/RenderSlider.cpp
+++ b/WebCore/rendering/RenderSlider.cpp
@@ -58,16 +58,19 @@ static double sliderPosition(HTMLInputElement* element)
return range.proportionFromValue(range.valueFromElement(element));
}
+// FIXME: Could share code with the SliderDivElement class in RenderProgress.
class SliderThumbElement : public HTMLDivElement {
public:
- SliderThumbElement(Document*, Node* shadowParent);
-
+ static PassRefPtr<SliderThumbElement> create(Node* shadowParent);
+
bool inDragMode() const { return m_inDragMode; }
virtual void defaultEventHandler(Event*);
virtual void detach();
private:
+ SliderThumbElement(Node* shadowParent);
+
virtual bool isShadowNode() const { return true; }
virtual Node* shadowParentNode() { return m_shadowParent; }
@@ -76,13 +79,18 @@ private:
bool m_inDragMode;
};
-SliderThumbElement::SliderThumbElement(Document* document, Node* shadowParent)
- : HTMLDivElement(divTag, document)
+inline SliderThumbElement::SliderThumbElement(Node* shadowParent)
+ : HTMLDivElement(divTag, shadowParent->document())
, m_shadowParent(shadowParent)
, m_inDragMode(false)
{
}
+inline PassRefPtr<SliderThumbElement> SliderThumbElement::create(Node* shadowParent)
+{
+ return new SliderThumbElement(shadowParent);
+}
+
void SliderThumbElement::defaultEventHandler(Event* event)
{
if (!event->isMouseEvent()) {
@@ -309,7 +317,7 @@ void RenderSlider::updateFromElement()
{
// Layout will take care of the thumb's size and position.
if (!m_thumb) {
- m_thumb = new SliderThumbElement(document(), node());
+ m_thumb = SliderThumbElement::create(node());
RefPtr<RenderStyle> thumbStyle = createThumbStyle(style());
m_thumb->setRenderer(m_thumb->createRenderer(renderArena(), thumbStyle.get()));
m_thumb->renderer()->setStyle(thumbStyle.release());
diff --git a/WebCore/rendering/RenderTextControl.cpp b/WebCore/rendering/RenderTextControl.cpp
index deb7168..7724619 100644
--- a/WebCore/rendering/RenderTextControl.cpp
+++ b/WebCore/rendering/RenderTextControl.cpp
@@ -144,7 +144,7 @@ void RenderTextControl::createSubtreeIfNeeded(TextControlInnerElement* innerBloc
// For non-search fields, there is no intermediate innerBlock as the shadow node.
// m_innerText will be the shadow node in that case.
RenderStyle* parentStyle = innerBlock ? innerBlock->renderer()->style() : style();
- m_innerText = new TextControlInnerTextElement(document(), innerBlock ? 0 : node());
+ m_innerText = TextControlInnerTextElement::create(document(), innerBlock ? 0 : node());
m_innerText->attachInnerElement(innerBlock ? innerBlock : node(), createInnerTextStyle(parentStyle), renderArena());
}
}
@@ -182,7 +182,7 @@ void RenderTextControl::setInnerTextValue(const String& innerTextValue)
ASSERT(!ec);
if (value.endsWith("\n") || value.endsWith("\r")) {
- m_innerText->appendChild(new HTMLBRElement(brTag, document()), ec);
+ m_innerText->appendChild(HTMLBRElement::create(document()), ec);
ASSERT(!ec);
}
diff --git a/WebCore/rendering/RenderTextControlSingleLine.cpp b/WebCore/rendering/RenderTextControlSingleLine.cpp
index 8c8bf7f..20f33c3 100644
--- a/WebCore/rendering/RenderTextControlSingleLine.cpp
+++ b/WebCore/rendering/RenderTextControlSingleLine.cpp
@@ -532,7 +532,7 @@ void RenderTextControlSingleLine::createSubtreeIfNeeded()
if (!inputElement()->isSearchField()) {
RenderTextControl::createSubtreeIfNeeded(m_innerBlock.get());
if (inputElement()->hasSpinButton() && !m_outerSpinButton) {
- m_outerSpinButton = new SpinButtonElement(document(), node());
+ m_outerSpinButton = SpinButtonElement::create(node());
m_outerSpinButton->attachInnerElement(node(), createOuterSpinButtonStyle(), renderArena());
}
return;
@@ -540,13 +540,13 @@ void RenderTextControlSingleLine::createSubtreeIfNeeded()
if (!m_innerBlock) {
// Create the inner block element
- m_innerBlock = new TextControlInnerElement(document(), node());
+ m_innerBlock = TextControlInnerElement::create(node());
m_innerBlock->attachInnerElement(node(), createInnerBlockStyle(style()), renderArena());
}
if (!m_resultsButton) {
// Create the search results button element
- m_resultsButton = new SearchFieldResultsButtonElement(document());
+ m_resultsButton = SearchFieldResultsButtonElement::create(document());
m_resultsButton->attachInnerElement(m_innerBlock.get(), createResultsButtonStyle(m_innerBlock->renderer()->style()), renderArena());
}
@@ -555,7 +555,7 @@ void RenderTextControlSingleLine::createSubtreeIfNeeded()
if (!m_cancelButton) {
// Create the cancel button element
- m_cancelButton = new SearchFieldCancelButtonElement(document());
+ m_cancelButton = SearchFieldCancelButtonElement::create(document());
m_cancelButton->attachInnerElement(m_innerBlock.get(), createCancelButtonStyle(m_innerBlock->renderer()->style()), renderArena());
}
}
diff --git a/WebCore/rendering/RenderTheme.cpp b/WebCore/rendering/RenderTheme.cpp
index 7a1afda..c37de8d 100644
--- a/WebCore/rendering/RenderTheme.cpp
+++ b/WebCore/rendering/RenderTheme.cpp
@@ -224,7 +224,7 @@ void RenderTheme::adjustStyle(CSSStyleSelector* selector, RenderStyle* style, El
case ProgressBarPart:
return adjustProgressBarStyle(selector, style, e);
#endif
-#if ENABLE(Meter_TAG)
+#if ENABLE(METER_TAG)
case MeterPart:
return adjustMeterStyle(selector, style, e);
#endif
@@ -937,7 +937,7 @@ bool RenderTheme::paintMeter(RenderObject* renderObject, const RenderObject::Pai
// left to right horizontal gauge
double scale = innerRect.width() / (max - min);
valueRect.setLocation(innerRect.location());
- valueRect.setSize(FloatSize(narrowPrecisionToFloat((value - min)) * scale, innerRect.height()));
+ valueRect.setSize(FloatSize(narrowPrecisionToFloat((value - min) * scale), innerRect.height()));
}
if (!valueRect.isEmpty())
paintInfo.context->fillRect(valueRect, Color::black, style->colorSpace());
diff --git a/WebCore/rendering/RenderView.cpp b/WebCore/rendering/RenderView.cpp
index 1eef860..8079760 100644
--- a/WebCore/rendering/RenderView.cpp
+++ b/WebCore/rendering/RenderView.cpp
@@ -683,10 +683,9 @@ int RenderView::viewWidth() const
float RenderView::zoomFactor() const
{
- if (m_frameView->frame() && m_frameView->frame()->shouldApplyPageZoom())
- return m_frameView->frame()->zoomFactor();
-
- return 1.0f;
+ if (!m_frameView->shouldApplyPageZoom())
+ return 1;
+ return m_frameView->zoomFactor();
}
// The idea here is to take into account what object is moving the pagination point, and
diff --git a/WebCore/rendering/TextControlInnerElements.cpp b/WebCore/rendering/TextControlInnerElements.cpp
index 84f7c0f..ed12611 100644
--- a/WebCore/rendering/TextControlInnerElements.cpp
+++ b/WebCore/rendering/TextControlInnerElements.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2006, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2006, 2008, 2010 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -40,14 +40,17 @@
namespace WebCore {
+using namespace HTMLNames;
+
class RenderTextControlInnerBlock : public RenderBlock {
public:
RenderTextControlInnerBlock(Node* node, bool isMultiLine) : RenderBlock(node), m_multiLine(isMultiLine) { }
+private:
virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, int x, int y, int tx, int ty, HitTestAction);
virtual VisiblePosition positionForPoint(const IntPoint&);
- private:
- bool m_multiLine;
+
+ bool m_multiLine;
};
bool RenderTextControlInnerBlock::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, int x, int y, int tx, int ty, HitTestAction hitTestAction)
@@ -76,12 +79,19 @@ VisiblePosition RenderTextControlInnerBlock::positionForPoint(const IntPoint& po
return RenderBlock::positionForPoint(contentsPoint);
}
-TextControlInnerElement::TextControlInnerElement(Document* doc, Node* shadowParent)
- : HTMLDivElement(HTMLNames::divTag, doc)
+// ----------------------------
+
+TextControlInnerElement::TextControlInnerElement(Document* document, Node* shadowParent)
+ : HTMLDivElement(divTag, document)
, m_shadowParent(shadowParent)
{
}
+PassRefPtr<TextControlInnerElement> TextControlInnerElement::create(Node* shadowParent)
+{
+ return new TextControlInnerElement(shadowParent->document(), shadowParent);
+}
+
void TextControlInnerElement::attachInnerElement(Node* parent, PassRefPtr<RenderStyle> style, RenderArena* arena)
{
// When adding these elements, create the renderer & style first before adding to the DOM.
@@ -107,21 +117,29 @@ void TextControlInnerElement::attachInnerElement(Node* parent, PassRefPtr<Render
parent->renderer()->addChild(renderer);
}
-TextControlInnerTextElement::TextControlInnerTextElement(Document* doc, Node* shadowParent)
- : TextControlInnerElement(doc, shadowParent)
+// ----------------------------
+
+inline TextControlInnerTextElement::TextControlInnerTextElement(Document* document, Node* shadowParent)
+ : TextControlInnerElement(document, shadowParent)
{
}
-void TextControlInnerTextElement::defaultEventHandler(Event* evt)
+PassRefPtr<TextControlInnerTextElement> TextControlInnerTextElement::create(Document* document, Node* shadowParent)
{
- // FIXME: In the future, we should add a way to have default event listeners. Then we would add one to the text field's inner div, and we wouldn't need this subclass.
- Node* shadowAncestor = shadowAncestorNode();
- if (shadowAncestor) {
- if (evt->isBeforeTextInsertedEvent() || evt->type() == eventNames().webkitEditableContentChangedEvent)
- shadowAncestor->defaultEventHandler(evt);
+ return new TextControlInnerTextElement(document, shadowParent);
+}
+
+void TextControlInnerTextElement::defaultEventHandler(Event* event)
+{
+ // FIXME: In the future, we should add a way to have default event listeners.
+ // Then we would add one to the text field's inner div, and we wouldn't need this subclass.
+ // Or possibly we could just use a normal event listener.
+ if (event->isBeforeTextInsertedEvent() || event->type() == eventNames().webkitEditableContentChangedEvent) {
+ if (Node* shadowAncestor = shadowAncestorNode())
+ shadowAncestor->defaultEventHandler(event);
}
- if (!evt->defaultHandled())
- HTMLDivElement::defaultEventHandler(evt);
+ if (event->defaultHandled())
+ HTMLDivElement::defaultEventHandler(event);
}
RenderObject* TextControlInnerTextElement::createRenderer(RenderArena* arena, RenderStyle*)
@@ -135,16 +153,23 @@ RenderObject* TextControlInnerTextElement::createRenderer(RenderArena* arena, Re
return new (arena) RenderTextControlInnerBlock(this, multiLine);
}
-SearchFieldResultsButtonElement::SearchFieldResultsButtonElement(Document* doc)
- : TextControlInnerElement(doc)
+// ----------------------------
+
+inline SearchFieldResultsButtonElement::SearchFieldResultsButtonElement(Document* document)
+ : TextControlInnerElement(document)
{
}
-void SearchFieldResultsButtonElement::defaultEventHandler(Event* evt)
+PassRefPtr<SearchFieldResultsButtonElement> SearchFieldResultsButtonElement::create(Document* document)
+{
+ return new SearchFieldResultsButtonElement(document);
+}
+
+void SearchFieldResultsButtonElement::defaultEventHandler(Event* event)
{
// On mousedown, bring up a menu, if needed
HTMLInputElement* input = static_cast<HTMLInputElement*>(shadowAncestorNode());
- if (evt->type() == eventNames().mousedownEvent && evt->isMouseEvent() && static_cast<MouseEvent*>(evt)->button() == LeftButton) {
+ if (event->type() == eventNames().mousedownEvent && event->isMouseEvent() && static_cast<MouseEvent*>(event)->button() == LeftButton) {
input->focus();
input->select();
RenderTextControlSingleLine* renderer = toRenderTextControlSingleLine(input->renderer());
@@ -152,18 +177,26 @@ void SearchFieldResultsButtonElement::defaultEventHandler(Event* evt)
renderer->hidePopup();
else if (input->maxResults() > 0)
renderer->showPopup();
- evt->setDefaultHandled();
+ event->setDefaultHandled();
}
- if (!evt->defaultHandled())
- HTMLDivElement::defaultEventHandler(evt);
+
+ if (!event->defaultHandled())
+ HTMLDivElement::defaultEventHandler(event);
}
-SearchFieldCancelButtonElement::SearchFieldCancelButtonElement(Document* doc)
- : TextControlInnerElement(doc)
+// ----------------------------
+
+inline SearchFieldCancelButtonElement::SearchFieldCancelButtonElement(Document* document)
+ : TextControlInnerElement(document)
, m_capturing(false)
{
}
+PassRefPtr<SearchFieldCancelButtonElement> SearchFieldCancelButtonElement::create(Document* document)
+{
+ return new SearchFieldCancelButtonElement(document);
+}
+
void SearchFieldCancelButtonElement::detach()
{
if (m_capturing) {
@@ -174,60 +207,71 @@ void SearchFieldCancelButtonElement::detach()
}
-void SearchFieldCancelButtonElement::defaultEventHandler(Event* evt)
+void SearchFieldCancelButtonElement::defaultEventHandler(Event* event)
{
// If the element is visible, on mouseup, clear the value, and set selection
HTMLInputElement* input = static_cast<HTMLInputElement*>(shadowAncestorNode());
- if (evt->type() == eventNames().mousedownEvent && evt->isMouseEvent() && static_cast<MouseEvent*>(evt)->button() == LeftButton) {
- input->focus();
- input->select();
- evt->setDefaultHandled();
- if (renderer() && renderer()->visibleToHitTesting())
+ if (event->type() == eventNames().mousedownEvent && event->isMouseEvent() && static_cast<MouseEvent*>(event)->button() == LeftButton) {
+ if (renderer() && renderer()->visibleToHitTesting()) {
if (Frame* frame = document()->frame()) {
frame->eventHandler()->setCapturingMouseEventsNode(this);
m_capturing = true;
}
- } else if (evt->type() == eventNames().mouseupEvent && evt->isMouseEvent() && static_cast<MouseEvent*>(evt)->button() == LeftButton) {
+ }
+ input->focus();
+ input->select();
+ event->setDefaultHandled();
+ }
+ if (event->type() == eventNames().mouseupEvent && event->isMouseEvent() && static_cast<MouseEvent*>(event)->button() == LeftButton) {
if (m_capturing && renderer() && renderer()->visibleToHitTesting()) {
- if (hovered()) {
- input->setValue("");
- input->onSearch();
- evt->setDefaultHandled();
- }
if (Frame* frame = document()->frame()) {
frame->eventHandler()->setCapturingMouseEventsNode(0);
m_capturing = false;
}
+ if (hovered()) {
+ input->setValue("");
+ input->onSearch();
+ event->setDefaultHandled();
+ }
}
}
- if (!evt->defaultHandled())
- HTMLDivElement::defaultEventHandler(evt);
+
+ if (!event->defaultHandled())
+ HTMLDivElement::defaultEventHandler(event);
}
-SpinButtonElement::SpinButtonElement(Document* doc, Node* shadowParent)
- : TextControlInnerElement(doc, shadowParent)
+// ----------------------------
+
+inline SpinButtonElement::SpinButtonElement(Node* shadowParent)
+ : TextControlInnerElement(shadowParent->document(), shadowParent)
, m_capturing(false)
, m_onUpButton(false)
{
}
-void SpinButtonElement::defaultEventHandler(Event* evt)
+PassRefPtr<SpinButtonElement> SpinButtonElement::create(Node* shadowParent)
{
- if (!evt->isMouseEvent()) {
- if (!evt->defaultHandled())
- HTMLDivElement::defaultEventHandler(evt);
+ return new SpinButtonElement(shadowParent);
+}
+
+void SpinButtonElement::defaultEventHandler(Event* event)
+{
+ if (!event->isMouseEvent()) {
+ if (!event->defaultHandled())
+ HTMLDivElement::defaultEventHandler(event);
return;
}
- const MouseEvent* mevt = static_cast<MouseEvent*>(evt);
- if (mevt->button() != LeftButton) {
- if (!evt->defaultHandled())
- HTMLDivElement::defaultEventHandler(evt);
+
+ MouseEvent* mouseEvent = static_cast<MouseEvent*>(event);
+ if (mouseEvent->button() != LeftButton) {
+ if (!event->defaultHandled())
+ HTMLDivElement::defaultEventHandler(event);
return;
}
HTMLInputElement* input = static_cast<HTMLInputElement*>(shadowAncestorNode());
- IntPoint local = roundedIntPoint(renderBox()->absoluteToLocal(mevt->absoluteLocation(), false, true));
- if (evt->type() == eventNames().clickEvent) {
+ IntPoint local = roundedIntPoint(renderBox()->absoluteToLocal(mouseEvent->absoluteLocation(), false, true));
+ if (event->type() == eventNames().clickEvent) {
if (renderBox()->borderBoxRect().contains(local)) {
input->focus();
input->select();
@@ -235,9 +279,9 @@ void SpinButtonElement::defaultEventHandler(Event* evt)
input->stepUpFromRenderer(1);
else
input->stepUpFromRenderer(-1);
- evt->setDefaultHandled();
+ event->setDefaultHandled();
}
- } else if (evt->type() == eventNames().mousemoveEvent) {
+ } else if (event->type() == eventNames().mousemoveEvent) {
if (renderBox()->borderBoxRect().contains(local)) {
if (!m_capturing) {
if (Frame* frame = document()->frame()) {
@@ -258,8 +302,9 @@ void SpinButtonElement::defaultEventHandler(Event* evt)
}
}
}
- if (!evt->defaultHandled())
- HTMLDivElement::defaultEventHandler(evt);
+
+ if (!event->defaultHandled())
+ HTMLDivElement::defaultEventHandler(event);
}
}
diff --git a/WebCore/rendering/TextControlInnerElements.h b/WebCore/rendering/TextControlInnerElements.h
index f59ac96..ed1887e 100644
--- a/WebCore/rendering/TextControlInnerElements.h
+++ b/WebCore/rendering/TextControlInnerElements.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2006, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2006, 2008, 2010 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -34,55 +34,76 @@ class String;
class TextControlInnerElement : public HTMLDivElement {
public:
+ static PassRefPtr<TextControlInnerElement> create(Node* shadowParent);
+
+ void attachInnerElement(Node*, PassRefPtr<RenderStyle>, RenderArena*);
+
+protected:
TextControlInnerElement(Document*, Node* shadowParent = 0);
-
+
+private:
virtual bool isMouseFocusable() const { return false; }
virtual bool isShadowNode() const { return m_shadowParent; }
virtual Node* shadowParentNode() { return m_shadowParent; }
void setShadowParentNode(Node* node) { m_shadowParent = node; }
- void attachInnerElement(Node*, PassRefPtr<RenderStyle>, RenderArena*);
-
-private:
+
Node* m_shadowParent;
};
class TextControlInnerTextElement : public TextControlInnerElement {
public:
+ static PassRefPtr<TextControlInnerTextElement> create(Document*, Node* shadowParent);
+
+ virtual void defaultEventHandler(Event*);
+
+private:
TextControlInnerTextElement(Document*, Node* shadowParent);
virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
- virtual void defaultEventHandler(Event*);
};
class SearchFieldResultsButtonElement : public TextControlInnerElement {
public:
- SearchFieldResultsButtonElement(Document*);
+ static PassRefPtr<SearchFieldResultsButtonElement> create(Document*);
+
virtual void defaultEventHandler(Event*);
+
+private:
+ SearchFieldResultsButtonElement(Document*);
};
class SearchFieldCancelButtonElement : public TextControlInnerElement {
public:
- SearchFieldCancelButtonElement(Document*);
+ static PassRefPtr<SearchFieldCancelButtonElement> create(Document*);
+
virtual void defaultEventHandler(Event*);
- virtual void detach();
+
private:
+ SearchFieldCancelButtonElement(Document*);
+
+ virtual void detach();
+
bool m_capturing;
};
class SpinButtonElement : public TextControlInnerElement {
public:
- SpinButtonElement(Document*, Node*);
- virtual bool isSpinButtonElement() const { return true; }
- virtual bool isEnabledFormControl() { return static_cast<Element*>(shadowAncestorNode())->isEnabledFormControl(); }
- virtual void defaultEventHandler(Event*);
+ static PassRefPtr<SpinButtonElement> create(Node*);
+ // FIXME: "Spin button on up button" is not a phrase with a single clear meaning.
+ // Need a name for this that makes it clearer.
bool onUpButton() const { return m_onUpButton; }
- static const AtomicString& spinButtonNodeName();
private:
+ SpinButtonElement(Node*);
+
+ virtual bool isSpinButtonElement() const { return true; }
+ virtual bool isEnabledFormControl() { return static_cast<Element*>(shadowAncestorNode())->isEnabledFormControl(); }
+ virtual void defaultEventHandler(Event*);
+
bool m_capturing;
bool m_onUpButton;
};
-} //namespace
+} // namespace
#endif
diff --git a/WebCore/rendering/style/RenderStyle.h b/WebCore/rendering/style/RenderStyle.h
index 0d0066b..16dcae8 100644
--- a/WebCore/rendering/style/RenderStyle.h
+++ b/WebCore/rendering/style/RenderStyle.h
@@ -998,6 +998,7 @@ public:
void setColumnBreakBefore(EPageBreak p) { SET_VAR(rareNonInheritedData.access()->m_multiCol, m_breakBefore, p); }
void setColumnBreakInside(EPageBreak p) { SET_VAR(rareNonInheritedData.access()->m_multiCol, m_breakInside, p); }
void setColumnBreakAfter(EPageBreak p) { SET_VAR(rareNonInheritedData.access()->m_multiCol, m_breakAfter, p); }
+ void inheritColumnPropertiesFrom(RenderStyle* parent) { rareNonInheritedData.access()->m_multiCol = parent->rareNonInheritedData->m_multiCol; }
void setTransform(const TransformOperations& ops) { SET_VAR(rareNonInheritedData.access()->m_transform, m_operations, ops); }
void setTransformOriginX(Length l) { SET_VAR(rareNonInheritedData.access()->m_transform, m_x, l); }
void setTransformOriginY(Length l) { SET_VAR(rareNonInheritedData.access()->m_transform, m_y, l); }
diff --git a/WebCore/storage/DatabaseAuthorizer.cpp b/WebCore/storage/DatabaseAuthorizer.cpp
index 6b6b147..05d9a66 100644
--- a/WebCore/storage/DatabaseAuthorizer.cpp
+++ b/WebCore/storage/DatabaseAuthorizer.cpp
@@ -102,6 +102,7 @@ void DatabaseAuthorizer::addWhitelistedFunctions()
m_whitelistedFunctions.add("total");
// SQLite FTS functions
+ m_whitelistedFunctions.add("match");
m_whitelistedFunctions.add("snippet");
m_whitelistedFunctions.add("offsets");
m_whitelistedFunctions.add("optimize");
@@ -268,8 +269,8 @@ int DatabaseAuthorizer::createVTable(const String& tableName, const String& modu
if (m_readOnly && m_securityEnabled)
return SQLAuthDeny;
- // fts2 is used in Chromium
- if (moduleName != "fts2")
+ // Allow only the FTS3 extension
+ if (moduleName != "fts3")
return SQLAuthDeny;
m_lastActionChangedDatabase = true;
@@ -281,8 +282,8 @@ int DatabaseAuthorizer::dropVTable(const String& tableName, const String& module
if (m_readOnly && m_securityEnabled)
return SQLAuthDeny;
- // fts2 is used in Chromium
- if (moduleName != "fts2")
+ // Allow only the FTS3 extension
+ if (moduleName != "fts3")
return SQLAuthDeny;
return denyBasedOnTableName(tableName);
diff --git a/WebCore/storage/DatabaseTracker.cpp b/WebCore/storage/DatabaseTracker.cpp
index 8e2e3f3..752dbe6 100644
--- a/WebCore/storage/DatabaseTracker.cpp
+++ b/WebCore/storage/DatabaseTracker.cpp
@@ -57,15 +57,30 @@ static WebCore::OriginQuotaManager& originQuotaManager()
namespace WebCore {
+static DatabaseTracker* staticTracker = 0;
+
+void DatabaseTracker::initializeTracker(const String& databasePath)
+{
+ ASSERT(!staticTracker);
+ if (staticTracker)
+ return;
+
+ staticTracker = new DatabaseTracker(databasePath);
+}
+
DatabaseTracker& DatabaseTracker::tracker()
{
- DEFINE_STATIC_LOCAL(DatabaseTracker, tracker, ());
- return tracker;
+ if (!staticTracker)
+ staticTracker = new DatabaseTracker("");
+
+ return *staticTracker;
}
-DatabaseTracker::DatabaseTracker()
+DatabaseTracker::DatabaseTracker(const String& databasePath)
: m_client(0)
{
+ setDatabaseDirectoryPath(databasePath);
+
SQLiteFileSystem::registerSQLiteVFS();
MutexLocker lockDatabase(m_databaseGuard);
@@ -126,7 +141,6 @@ bool DatabaseTracker::canEstablishDatabase(ScriptExecutionContext* context, cons
ProposedDatabase details;
unsigned long long requirement;
- unsigned long long tempUsage;
{
MutexLocker lockDatabase(m_databaseGuard);
Locker<OriginQuotaManager> quotaManagerLocker(originQuotaManager());
@@ -146,7 +160,6 @@ bool DatabaseTracker::canEstablishDatabase(ScriptExecutionContext* context, cons
// If the database will fit, allow its creation.
requirement = usage + max(1UL, estimatedSize);
- tempUsage = usage;
if (requirement < usage) {
doneCreatingDatabase(origin, name);
return false; // If the estimated size is so big it causes an overflow, don't allow creation.
diff --git a/WebCore/storage/DatabaseTracker.h b/WebCore/storage/DatabaseTracker.h
index fdfbb65..223d4f2 100644
--- a/WebCore/storage/DatabaseTracker.h
+++ b/WebCore/storage/DatabaseTracker.h
@@ -58,6 +58,7 @@ struct SecurityOriginTraits;
class DatabaseTracker : public Noncopyable {
public:
+ static void initializeTracker(const String& databasePath);
static DatabaseTracker& tracker();
// This singleton will potentially be used from multiple worker threads and the page's context thread simultaneously. To keep this safe, it's
// currently using 4 locks. In order to avoid deadlock when taking multiple locks, you must take them in the correct order:
@@ -77,7 +78,7 @@ public:
void databaseChanged(Database*);
private:
- DatabaseTracker();
+ DatabaseTracker(const String& databasePath);
typedef HashSet<Database*> DatabaseSet;
typedef HashMap<String, DatabaseSet*> DatabaseNameMap;
diff --git a/WebCore/storage/IDBAny.cpp b/WebCore/storage/IDBAny.cpp
index 17a8007..73b0d74 100644
--- a/WebCore/storage/IDBAny.cpp
+++ b/WebCore/storage/IDBAny.cpp
@@ -10,9 +10,6 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
@@ -32,6 +29,8 @@
#if ENABLE(INDEXED_DATABASE)
#include "IDBDatabaseRequest.h"
+#include "IDBIndexRequest.h"
+#include "IDBObjectStoreRequest.h"
#include "IndexedDatabaseRequest.h"
#include "SerializedScriptValue.h"
@@ -57,6 +56,18 @@ PassRefPtr<IDBDatabaseRequest> IDBAny::idbDatabaseRequest()
return m_idbDatabaseRequest;
}
+PassRefPtr<IDBIndexRequest> IDBAny::idbIndexRequest()
+{
+ ASSERT(m_type == IDBIndexRequestType);
+ return m_idbIndexRequest;
+}
+
+PassRefPtr<IDBObjectStoreRequest> IDBAny::idbObjectStoreRequest()
+{
+ ASSERT(m_type == IDBObjectStoreRequestType);
+ return m_idbObjectStoreRequest;
+}
+
PassRefPtr<IndexedDatabaseRequest> IDBAny::indexedDatabaseRequest()
{
ASSERT(m_type == IndexedDatabaseRequestType);
@@ -69,27 +80,44 @@ PassRefPtr<SerializedScriptValue> IDBAny::serializedScriptValue()
return m_serializedScriptValue;
}
+void IDBAny::set()
+{
+ ASSERT(m_type == UndefinedType);
+ m_type = NullType;
+}
+
void IDBAny::set(PassRefPtr<IDBDatabaseRequest> value)
{
+ ASSERT(m_type == UndefinedType);
m_type = IDBDatabaseRequestType;
m_idbDatabaseRequest = value;
- m_indexedDatabaseRequest = 0;
- m_serializedScriptValue = 0;
+}
+
+void IDBAny::set(PassRefPtr<IDBIndexRequest> value)
+{
+ ASSERT(m_type == UndefinedType);
+ m_type = IDBDatabaseRequestType;
+ m_idbIndexRequest = value;
+}
+
+void IDBAny::set(PassRefPtr<IDBObjectStoreRequest> value)
+{
+ ASSERT(m_type == UndefinedType);
+ m_type = IDBObjectStoreRequestType;
+ m_idbObjectStoreRequest = value;
}
void IDBAny::set(PassRefPtr<IndexedDatabaseRequest> value)
{
+ ASSERT(m_type == UndefinedType);
m_type = IndexedDatabaseRequestType;
- m_idbDatabaseRequest = 0;
m_indexedDatabaseRequest = value;
- m_serializedScriptValue = 0;
}
void IDBAny::set(PassRefPtr<SerializedScriptValue> value)
{
+ ASSERT(m_type == UndefinedType);
m_type = SerializedScriptValueType;
- m_idbDatabaseRequest = 0;
- m_indexedDatabaseRequest = 0;
m_serializedScriptValue = value;
}
diff --git a/WebCore/storage/IDBAny.h b/WebCore/storage/IDBAny.h
index 56c57e2..a734d13 100644
--- a/WebCore/storage/IDBAny.h
+++ b/WebCore/storage/IDBAny.h
@@ -10,9 +10,6 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
@@ -38,6 +35,8 @@
namespace WebCore {
class IDBDatabaseRequest;
+class IDBIndexRequest;
+class IDBObjectStoreRequest;
class IndexedDatabaseRequest;
class SerializedScriptValue;
@@ -48,18 +47,27 @@ public:
enum Type {
UndefinedType = 0,
+ NullType,
IDBDatabaseRequestType,
+ IDBIndexRequestType,
+ IDBObjectStoreRequestType,
IndexedDatabaseRequestType,
SerializedScriptValueType
};
Type type() const { return m_type; }
-
+ // Use type() to figure out which one of these you're allowed to call.
PassRefPtr<IDBDatabaseRequest> idbDatabaseRequest();
+ PassRefPtr<IDBIndexRequest> idbIndexRequest();
+ PassRefPtr<IDBObjectStoreRequest> idbObjectStoreRequest();
PassRefPtr<IndexedDatabaseRequest> indexedDatabaseRequest();
PassRefPtr<SerializedScriptValue> serializedScriptValue();
+ // Set can only be called once.
+ void set(); // For "null".
void set(PassRefPtr<IDBDatabaseRequest>);
+ void set(PassRefPtr<IDBIndexRequest>);
+ void set(PassRefPtr<IDBObjectStoreRequest>);
void set(PassRefPtr<IndexedDatabaseRequest>);
void set(PassRefPtr<SerializedScriptValue>);
@@ -70,6 +78,8 @@ private:
// Only one of the following should ever be in use at any given time.
RefPtr<IDBDatabaseRequest> m_idbDatabaseRequest;
+ RefPtr<IDBIndexRequest> m_idbIndexRequest;
+ RefPtr<IDBObjectStoreRequest> m_idbObjectStoreRequest;
RefPtr<IndexedDatabaseRequest> m_indexedDatabaseRequest;
RefPtr<SerializedScriptValue> m_serializedScriptValue;
};
diff --git a/WebCore/storage/IDBCallbacks.h b/WebCore/storage/IDBCallbacks.h
index 74c11d8..ff6272a 100644
--- a/WebCore/storage/IDBCallbacks.h
+++ b/WebCore/storage/IDBCallbacks.h
@@ -31,6 +31,7 @@
#include "IDBDatabase.h"
#include "IDBDatabaseError.h"
+#include "IDBIndex.h"
#include "SerializedScriptValue.h"
#include <wtf/RefCounted.h>
@@ -43,7 +44,9 @@ public:
virtual ~IDBCallbacks() { }
virtual void onError(PassRefPtr<IDBDatabaseError>) = 0;
+ virtual void onSuccess() = 0; // For "null".
virtual void onSuccess(PassRefPtr<IDBDatabase>) = 0;
+ virtual void onSuccess(PassRefPtr<IDBIndex>) = 0;
virtual void onSuccess(PassRefPtr<SerializedScriptValue>) = 0;
};
diff --git a/WebCore/storage/IDBDatabase.h b/WebCore/storage/IDBDatabase.h
index 03262f4..5bfb3c7 100644
--- a/WebCore/storage/IDBDatabase.h
+++ b/WebCore/storage/IDBDatabase.h
@@ -10,9 +10,6 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
@@ -29,12 +26,16 @@
#ifndef IDBDatabase_h
#define IDBDatabase_h
+#include "PlatformString.h"
+#include <wtf/PassRefPtr.h>
#include <wtf/Threading.h>
#if ENABLE(INDEXED_DATABASE)
namespace WebCore {
+class DOMStringList;
+
// This class is shared by IDBDatabaseRequest (async) and IDBDatabaseSync (sync).
// This is implemented by IDBDatabaseImpl and optionally others (in order to proxy
// calls across process barriers). All calls to these classes should be non-blocking and
@@ -42,7 +43,11 @@ namespace WebCore {
class IDBDatabase : public ThreadSafeShared<IDBDatabase> {
public:
virtual ~IDBDatabase() { }
- // FIXME: Write.
+
+ virtual String name() = 0;
+ virtual String description() = 0;
+ virtual String version() = 0;
+ virtual PassRefPtr<DOMStringList> objectStores() = 0;
};
} // namespace WebCore
@@ -50,4 +55,3 @@ public:
#endif
#endif // IDBDatabase_h
-
diff --git a/WebCore/storage/IDBDatabaseError.h b/WebCore/storage/IDBDatabaseError.h
index cb479c1..c345ff9 100644
--- a/WebCore/storage/IDBDatabaseError.h
+++ b/WebCore/storage/IDBDatabaseError.h
@@ -10,9 +10,6 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
@@ -25,6 +22,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+
#ifndef IDBDatabaseError_h
#define IDBDatabaseError_h
@@ -62,4 +60,3 @@ private:
#endif
#endif // IDBDatabaseError_h
-
diff --git a/WebCore/storage/IDBDatabaseError.idl b/WebCore/storage/IDBDatabaseError.idl
index 6c6019c..2912a1d 100644
--- a/WebCore/storage/IDBDatabaseError.idl
+++ b/WebCore/storage/IDBDatabaseError.idl
@@ -10,9 +10,6 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
@@ -25,6 +22,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+
module storage {
interface [
diff --git a/WebCore/storage/IDBDatabaseException.h b/WebCore/storage/IDBDatabaseException.h
index d94a7f9..251cfc9 100644
--- a/WebCore/storage/IDBDatabaseException.h
+++ b/WebCore/storage/IDBDatabaseException.h
@@ -10,9 +10,6 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
@@ -25,6 +22,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+
#ifndef IDBDatabaseException_h
#define IDBDatabaseException_h
@@ -43,7 +41,22 @@ public:
return adoptRef(new IDBDatabaseException());
}
~IDBDatabaseException() { }
-
+
+ // Keep in sync with what's in the .idl file.
+ enum ErrorCode {
+ UNKNOWN_ERR = 0,
+ NON_TRANSIENT_ERR = 1,
+ NOT_FOUND_ERR = 2,
+ CONSTRAINT_ERR = 3,
+ DATA_ERR = 4,
+ NOT_ALLOWED_ERR = 5,
+ SERIAL_ERR = 11,
+ RECOVERABLE_ERR = 21,
+ TRANSIENT_ERR = 31,
+ TIMEOUT_ERR = 32,
+ DEADLOCK_ERR = 33
+ };
+
unsigned short code() const { return m_code; }
void setCode(unsigned short value) { m_code = value; }
String message() const { return m_message; }
@@ -61,4 +74,3 @@ private:
#endif
#endif // IDBDatabaseException_h
-
diff --git a/WebCore/storage/IDBDatabaseException.idl b/WebCore/storage/IDBDatabaseException.idl
index 898e5f9..88e6e7e 100644
--- a/WebCore/storage/IDBDatabaseException.idl
+++ b/WebCore/storage/IDBDatabaseException.idl
@@ -10,9 +10,6 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
@@ -25,6 +22,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+
module storage {
interface [
@@ -41,6 +39,7 @@ module storage {
const unsigned short TRANSIENT_ERR = 31;
const unsigned short TIMEOUT_ERR = 32;
const unsigned short DEADLOCK_ERR = 33;
+
attribute unsigned short code;
attribute DOMString message;
};
diff --git a/WebCore/storage/IDBDatabaseImpl.cpp b/WebCore/storage/IDBDatabaseImpl.cpp
new file mode 100644
index 0000000..655bd59
--- /dev/null
+++ b/WebCore/storage/IDBDatabaseImpl.cpp
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "IDBDatabaseImpl.h"
+
+#include "DOMStringList.h"
+
+#if ENABLE(INDEXED_DATABASE)
+
+namespace WebCore {
+
+IDBDatabaseImpl::IDBDatabaseImpl(const String& name, const String& description, const String& version)
+ : m_name(name)
+ , m_description(description)
+ , m_version(version)
+{
+}
+
+IDBDatabaseImpl::~IDBDatabaseImpl()
+{
+}
+
+PassRefPtr<DOMStringList> IDBDatabaseImpl::objectStores()
+{
+ // FIXME: This should return the actual list.
+ return DOMStringList::create();
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
diff --git a/WebCore/storage/IDBDatabaseImpl.h b/WebCore/storage/IDBDatabaseImpl.h
new file mode 100644
index 0000000..679017d
--- /dev/null
+++ b/WebCore/storage/IDBDatabaseImpl.h
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef IDBDatabaseImpl_h
+#define IDBDatabaseImpl_h
+
+#include "IDBDatabase.h"
+
+#if ENABLE(INDEXED_DATABASE)
+
+namespace WebCore {
+
+class IDBDatabaseImpl : public IDBDatabase {
+public:
+ static PassRefPtr<IDBDatabase> create(const String& name, const String& description, const String& version)
+ {
+ return adoptRef(new IDBDatabaseImpl(name, description, version));
+ }
+ virtual ~IDBDatabaseImpl();
+
+ // Implements IDBDatabase
+ virtual String name() { return m_name; }
+ virtual String description() { return m_description; }
+ virtual String version() { return m_version; }
+ virtual PassRefPtr<DOMStringList> objectStores();
+
+private:
+ IDBDatabaseImpl(const String& name, const String& description, const String& version);
+
+ String m_name;
+ String m_description;
+ String m_version;
+};
+
+} // namespace WebCore
+
+#endif
+
+#endif // IDBDatabaseImpl_h
diff --git a/WebCore/storage/IDBDatabaseRequest.cpp b/WebCore/storage/IDBDatabaseRequest.cpp
index 31e0554..311fb25 100644
--- a/WebCore/storage/IDBDatabaseRequest.cpp
+++ b/WebCore/storage/IDBDatabaseRequest.cpp
@@ -10,9 +10,6 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
@@ -47,4 +44,3 @@ IDBDatabaseRequest::~IDBDatabaseRequest()
} // namespace WebCore
#endif // ENABLE(INDEXED_DATABASE)
-
diff --git a/WebCore/storage/IDBDatabaseRequest.h b/WebCore/storage/IDBDatabaseRequest.h
index 199eb79..26f6a86 100644
--- a/WebCore/storage/IDBDatabaseRequest.h
+++ b/WebCore/storage/IDBDatabaseRequest.h
@@ -10,9 +10,6 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
@@ -25,15 +22,15 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+
#ifndef IDBDatabaseRequest_h
#define IDBDatabaseRequest_h
+#include "DOMStringList.h"
#include "IDBDatabase.h"
-#include "PlatformString.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
#include <wtf/RefPtr.h>
-#include <wtf/UnusedParam.h>
#if ENABLE(INDEXED_DATABASE)
@@ -47,13 +44,11 @@ public:
}
~IDBDatabaseRequest();
- // FIXME: Write.
- void createObjectStore(const String& name, const String& keyPath, bool autoIncrement)
- {
- UNUSED_PARAM(name);
- UNUSED_PARAM(keyPath);
- UNUSED_PARAM(autoIncrement);
- }
+ // Implement the IDL
+ String name() const { return m_idbDatabase->name(); }
+ String description() const { return m_idbDatabase->description(); }
+ String version() const { return m_idbDatabase->version(); }
+ PassRefPtr<DOMStringList> objectStores() const { return m_idbDatabase->objectStores(); }
private:
IDBDatabaseRequest(PassRefPtr<IDBDatabase>);
@@ -66,4 +61,3 @@ private:
#endif
#endif // IDBDatabaseRequest_h
-
diff --git a/WebCore/storage/IDBDatabaseRequest.idl b/WebCore/storage/IDBDatabaseRequest.idl
index be031d3..b835ace 100644
--- a/WebCore/storage/IDBDatabaseRequest.idl
+++ b/WebCore/storage/IDBDatabaseRequest.idl
@@ -10,9 +10,6 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
@@ -25,15 +22,18 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+
module storage {
interface [
Conditional=INDEXED_DATABASE
] IDBDatabaseRequest {
- // FIXME: Boolean should be optional and keyPath should take nulls.
- void createObjectStore(in DOMString name, in DOMString keyPath, in boolean autoIncrement);
+ // FIXME: Complete this file.
- // FIXME: Finish.
+ readonly attribute DOMString name;
+ // readonly attribute DOMString description;
+ readonly attribute DOMString version;
+ readonly attribute DOMStringList objectStores;
};
}
diff --git a/WebCore/storage/IDBIndex.h b/WebCore/storage/IDBIndex.h
new file mode 100644
index 0000000..d0e8cab
--- /dev/null
+++ b/WebCore/storage/IDBIndex.h
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef IDBIndex_h
+#define IDBIndex_h
+
+#include "PlatformString.h"
+#include <wtf/PassRefPtr.h>
+#include <wtf/Threading.h>
+
+#if ENABLE(INDEXED_DATABASE)
+
+namespace WebCore {
+
+class IDBIndex : public ThreadSafeShared<IDBIndex> {
+public:
+ virtual ~IDBIndex() { }
+
+ virtual String name() = 0;
+ virtual String keyPath() = 0;
+ virtual bool unique() = 0;
+};
+
+} // namespace WebCore
+
+#endif
+
+#endif // IDBIndex_h
diff --git a/WebCore/storage/IDBDatabase.cpp b/WebCore/storage/IDBIndexImpl.cpp
index f3f354f..f78939a 100644
--- a/WebCore/storage/IDBDatabase.cpp
+++ b/WebCore/storage/IDBIndexImpl.cpp
@@ -10,9 +10,6 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
@@ -25,16 +22,25 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+
#include "config.h"
-#include "IDBDatabase.h"
+#include "IDBIndexImpl.h"
#if ENABLE(INDEXED_DATABASE)
namespace WebCore {
-// FIXME: Write.
+IDBIndexImpl::IDBIndexImpl(const String& name, const String& keyPath, bool unique)
+ : m_name(name)
+ , m_keyPath(keyPath)
+ , m_unique(unique)
+{
+}
+
+IDBIndexImpl::~IDBIndexImpl()
+{
+}
} // namespace WebCore
#endif // ENABLE(INDEXED_DATABASE)
-
diff --git a/WebCore/storage/IDBIndexImpl.h b/WebCore/storage/IDBIndexImpl.h
new file mode 100644
index 0000000..b0034d5
--- /dev/null
+++ b/WebCore/storage/IDBIndexImpl.h
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef IDBIndexImpl_h
+#define IDBIndexImpl_h
+
+#include "IDBIndex.h"
+
+#if ENABLE(INDEXED_DATABASE)
+
+namespace WebCore {
+
+class IDBIndexImpl : public IDBIndex {
+public:
+ static PassRefPtr<IDBIndex> create(const String& name, const String& keyPath, bool unique)
+ {
+ return adoptRef(new IDBIndexImpl(name, keyPath, unique));
+ }
+ virtual ~IDBIndexImpl();
+
+ // Implements IDBIndex
+ virtual String name() { return m_name; }
+ virtual String keyPath() { return m_keyPath; }
+ virtual bool unique() { return m_unique; }
+
+private:
+ IDBIndexImpl(const String& name, const String& keyPath, bool unique);
+
+ String m_name;
+ String m_keyPath;
+ bool m_unique;
+};
+
+} // namespace WebCore
+
+#endif
+
+#endif // IDBIndexImpl_h
diff --git a/WebCore/storage/IDBIndexRequest.cpp b/WebCore/storage/IDBIndexRequest.cpp
new file mode 100644
index 0000000..30aee4b
--- /dev/null
+++ b/WebCore/storage/IDBIndexRequest.cpp
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "IDBIndexRequest.h"
+
+#if ENABLE(INDEXED_DATABASE)
+
+namespace WebCore {
+
+IDBIndexRequest::IDBIndexRequest(PassRefPtr<IDBIndex> idbIndex)
+ : m_idbIndex(idbIndex)
+{
+}
+
+IDBIndexRequest::~IDBIndexRequest()
+{
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
diff --git a/WebCore/storage/IDBIndexRequest.h b/WebCore/storage/IDBIndexRequest.h
new file mode 100644
index 0000000..ce6fc57
--- /dev/null
+++ b/WebCore/storage/IDBIndexRequest.h
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef IDBIndexRequest_h
+#define IDBIndexRequest_h
+
+#include "IDBIndex.h"
+#include "PlatformString.h"
+#include <wtf/PassRefPtr.h>
+#include <wtf/RefCounted.h>
+#include <wtf/RefPtr.h>
+
+#if ENABLE(INDEXED_DATABASE)
+
+namespace WebCore {
+
+class IDBIndexRequest : public RefCounted<IDBIndexRequest> {
+public:
+ static PassRefPtr<IDBIndexRequest> create(PassRefPtr<IDBIndex> idbIndex)
+ {
+ return adoptRef(new IDBIndexRequest(idbIndex));
+ }
+ ~IDBIndexRequest();
+
+ // Implement the IDL
+ String name() const { return m_idbIndex->name(); }
+ String keyPath() const { return m_idbIndex->keyPath(); }
+ bool unique() const { return m_idbIndex->unique(); }
+
+private:
+ IDBIndexRequest(PassRefPtr<IDBIndex>);
+
+ RefPtr<IDBIndex> m_idbIndex;
+};
+
+} // namespace WebCore
+
+#endif
+
+#endif // IDBIndexRequest_h
diff --git a/WebCore/storage/IDBIndexRequest.idl b/WebCore/storage/IDBIndexRequest.idl
new file mode 100644
index 0000000..ad35f52
--- /dev/null
+++ b/WebCore/storage/IDBIndexRequest.idl
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+module storage {
+
+ interface [
+ Conditional=INDEXED_DATABASE
+ ] IDBIndexRequest {
+ // FIXME: Complete this file.
+
+ readonly attribute DOMString name;
+ readonly attribute DOMString keyPath;
+ readonly attribute boolean unique;
+ };
+
+}
diff --git a/WebCore/storage/IDBObjectStore.cpp b/WebCore/storage/IDBObjectStore.cpp
new file mode 100644
index 0000000..4aef460
--- /dev/null
+++ b/WebCore/storage/IDBObjectStore.cpp
@@ -0,0 +1,86 @@
+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "IDBObjectStore.h"
+
+#include "DOMStringList.h"
+#include "IDBCallbacks.h"
+#include "IDBDatabaseException.h"
+#include "IDBIndexImpl.h"
+
+#if ENABLE(INDEXED_DATABASE)
+
+namespace WebCore {
+
+IDBObjectStore::IDBObjectStore()
+{
+}
+
+IDBObjectStore::~IDBObjectStore()
+{
+}
+
+PassRefPtr<DOMStringList> IDBObjectStore::indexNames() const
+{
+ RefPtr<DOMStringList> indexNames = DOMStringList::create();
+ for (IndexMap::const_iterator it = m_indexes.begin(); it != m_indexes.end(); ++it)
+ indexNames->append(it->first);
+ return indexNames.release();
+}
+
+void IDBObjectStore::createIndex(const String& name, const String& keyPath, bool unique, PassRefPtr<IDBCallbacks> callbacks)
+{
+ if (m_indexes.contains(name)) {
+ callbacks->onError(IDBDatabaseError::create(IDBDatabaseException::CONSTRAINT_ERR, "Index name already exists."));
+ return;
+ }
+
+ RefPtr<IDBIndex> index = IDBIndexImpl::create(name, keyPath, unique);
+ ASSERT(index->name() == name);
+ m_indexes.set(name, index);
+ callbacks->onSuccess(index.release());
+}
+
+PassRefPtr<IDBIndex> IDBObjectStore::index(const String& name)
+{
+ return m_indexes.get(name);
+}
+
+void IDBObjectStore::removeIndex(const String& name, PassRefPtr<IDBCallbacks> callbacks)
+{
+ if (!m_indexes.contains(name)) {
+ callbacks->onError(IDBDatabaseError::create(IDBDatabaseException::NOT_FOUND_ERR, "Index name does not exist."));
+ return;
+ }
+
+ m_indexes.remove(name);
+ callbacks->onSuccess();
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
+
diff --git a/WebCore/storage/IDBObjectStore.h b/WebCore/storage/IDBObjectStore.h
new file mode 100644
index 0000000..c1ce129
--- /dev/null
+++ b/WebCore/storage/IDBObjectStore.h
@@ -0,0 +1,73 @@
+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef IDBObjectStore_h
+#define IDBObjectStore_h
+
+#include "PlatformString.h"
+#include "StringHash.h"
+#include <wtf/HashMap.h>
+#include <wtf/Threading.h>
+
+#if ENABLE(INDEXED_DATABASE)
+
+namespace WebCore {
+
+class DOMStringList;
+class IDBIndex;
+class IDBCallbacks;
+
+// FIXME: This needs to be split into an interface and Impl classes.
+class IDBObjectStore : public ThreadSafeShared<IDBObjectStore> {
+public:
+ static PassRefPtr<IDBObjectStore> create()
+ {
+ return adoptRef(new IDBObjectStore());
+ }
+ virtual ~IDBObjectStore();
+
+ String name() const { return m_name; }
+ String keyPath() const { return m_keyPath; }
+ PassRefPtr<DOMStringList> indexNames() const;
+
+ void createIndex(const String& name, const String& keyPath, bool unique, PassRefPtr<IDBCallbacks>);
+ PassRefPtr<IDBIndex> index(const String& name);
+ void removeIndex(const String& name, PassRefPtr<IDBCallbacks>);
+
+private:
+ IDBObjectStore();
+
+ String m_name;
+ String m_keyPath;
+ typedef HashMap<String, RefPtr<IDBIndex> > IndexMap;
+ IndexMap m_indexes;
+};
+
+} // namespace WebCore
+
+#endif
+
+#endif // IDBObjectStore_h
+
diff --git a/WebCore/storage/IDBObjectStoreRequest.cpp b/WebCore/storage/IDBObjectStoreRequest.cpp
new file mode 100644
index 0000000..35763cb
--- /dev/null
+++ b/WebCore/storage/IDBObjectStoreRequest.cpp
@@ -0,0 +1,124 @@
+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "IDBObjectStoreRequest.h"
+
+#include "DOMStringList.h"
+#include "IDBAny.h"
+#include "IDBIndexRequest.h"
+#include "ScriptExecutionContext.h"
+#include "SerializedScriptValue.h"
+#include <wtf/UnusedParam.h>
+
+#if ENABLE(INDEXED_DATABASE)
+
+namespace WebCore {
+
+IDBObjectStoreRequest::IDBObjectStoreRequest(ScriptExecutionContext* context, PassRefPtr<IDBObjectStore> idbObjectStore)
+ : m_objectStore(idbObjectStore)
+ , m_scriptExecutionContext(context)
+{
+ m_this = IDBAny::create();
+ m_this->set(this);
+}
+
+String IDBObjectStoreRequest::name() const
+{
+ return m_objectStore->name();
+}
+
+String IDBObjectStoreRequest::keyPath() const
+{
+ return m_objectStore->keyPath();
+}
+
+PassRefPtr<DOMStringList> IDBObjectStoreRequest::indexNames() const
+{
+ return m_objectStore->indexNames();
+}
+
+PassRefPtr<IDBRequest> IDBObjectStoreRequest::get(PassRefPtr<SerializedScriptValue> key)
+{
+ // FIXME: implement
+ UNUSED_PARAM(key);
+ return 0;
+}
+
+PassRefPtr<IDBRequest> IDBObjectStoreRequest::add(PassRefPtr<SerializedScriptValue> value, PassRefPtr<SerializedScriptValue> key)
+{
+ // FIXME: implement
+ UNUSED_PARAM(value);
+ UNUSED_PARAM(key);
+ return 0;
+}
+
+PassRefPtr<IDBRequest> IDBObjectStoreRequest::modify(PassRefPtr<SerializedScriptValue> value, PassRefPtr<SerializedScriptValue> key)
+{
+ // FIXME: implement
+ UNUSED_PARAM(value);
+ UNUSED_PARAM(key);
+ return 0;
+}
+
+PassRefPtr<IDBRequest> IDBObjectStoreRequest::addOrModify(PassRefPtr<SerializedScriptValue> value, PassRefPtr<SerializedScriptValue> key)
+{
+ // FIXME: implement
+ UNUSED_PARAM(value);
+ UNUSED_PARAM(key);
+ return 0;
+}
+
+PassRefPtr<IDBRequest> IDBObjectStoreRequest::remove(PassRefPtr<SerializedScriptValue> key)
+{
+ // FIXME: implement
+ UNUSED_PARAM(key);
+ return 0;
+}
+
+PassRefPtr<IDBRequest> IDBObjectStoreRequest::createIndex(const String& name, const String& keyPath, bool unique) const
+{
+ // FIXME: Implement.
+ UNUSED_PARAM(name);
+ UNUSED_PARAM(keyPath);
+ UNUSED_PARAM(unique);
+ return 0;
+}
+
+PassRefPtr<IDBIndexRequest> IDBObjectStoreRequest::index(const String& name) const
+{
+ return IDBIndexRequest::create(m_objectStore->index(name));
+}
+
+PassRefPtr<IDBRequest> IDBObjectStoreRequest::removeIndex(const String& name) const
+{
+ // FIXME: Implement.
+ UNUSED_PARAM(name);
+ return 0;
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
diff --git a/WebCore/storage/IDBObjectStoreRequest.h b/WebCore/storage/IDBObjectStoreRequest.h
new file mode 100644
index 0000000..f03b406
--- /dev/null
+++ b/WebCore/storage/IDBObjectStoreRequest.h
@@ -0,0 +1,81 @@
+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef IDBObjectStoreRequest_h
+#define IDBObjectStoreRequest_h
+
+#include "IDBObjectStore.h"
+#include "IDBRequest.h"
+#include "PlatformString.h"
+#include <wtf/PassRefPtr.h>
+#include <wtf/RefCounted.h>
+#include <wtf/RefPtr.h>
+
+#if ENABLE(INDEXED_DATABASE)
+
+namespace WebCore {
+
+class DOMStringList;
+class IDBAny;
+class IDBIndexRequest;
+class ScriptExecutionContext;
+class SerializedScriptValue;
+
+class IDBObjectStoreRequest : public RefCounted<IDBObjectStoreRequest> {
+public:
+ static PassRefPtr<IDBObjectStoreRequest> create(ScriptExecutionContext* context, PassRefPtr<IDBObjectStore> idbObjectStore)
+ {
+ return adoptRef(new IDBObjectStoreRequest(context, idbObjectStore));
+ }
+ ~IDBObjectStoreRequest() { }
+
+ String name() const;
+ String keyPath() const;
+ PassRefPtr<DOMStringList> indexNames() const;
+
+ PassRefPtr<IDBRequest> get(PassRefPtr<SerializedScriptValue> key);
+ PassRefPtr<IDBRequest> add(PassRefPtr<SerializedScriptValue> value, PassRefPtr<SerializedScriptValue> key = 0);
+ PassRefPtr<IDBRequest> modify(PassRefPtr<SerializedScriptValue> value, PassRefPtr<SerializedScriptValue> key = 0);
+ PassRefPtr<IDBRequest> addOrModify(PassRefPtr<SerializedScriptValue> value, PassRefPtr<SerializedScriptValue> key = 0);
+ PassRefPtr<IDBRequest> remove(PassRefPtr<SerializedScriptValue> key);
+
+ PassRefPtr<IDBRequest> createIndex(const String& name, const String& keyPath, bool unique = false) const;
+ PassRefPtr<IDBIndexRequest> index(const String& name) const;
+ PassRefPtr<IDBRequest> removeIndex(const String& name) const;
+
+private:
+ IDBObjectStoreRequest(ScriptExecutionContext*, PassRefPtr<IDBObjectStore>);
+
+ RefPtr<IDBObjectStore> m_objectStore;
+ RefPtr<ScriptExecutionContext> m_scriptExecutionContext;
+ RefPtr<IDBAny> m_this;
+};
+
+} // namespace WebCore
+
+#endif
+
+#endif // IDBDatabaseRequest_h
+
diff --git a/WebCore/storage/IDBObjectStoreRequest.idl b/WebCore/storage/IDBObjectStoreRequest.idl
new file mode 100644
index 0000000..2d4c8be
--- /dev/null
+++ b/WebCore/storage/IDBObjectStoreRequest.idl
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+module storage {
+
+ interface [
+ Conditional=INDEXED_DATABASE
+ ] IDBObjectStoreRequest {
+ IDBRequest get(in SerializedScriptValue key);
+ // FIXME: Come to concensus re getAll.
+ IDBRequest add(in SerializedScriptValue value, in [Optional] SerializedScriptValue key);
+ IDBRequest modify(in SerializedScriptValue value, in [Optional] SerializedScriptValue key);
+ IDBRequest addOrModify(in SerializedScriptValue value, in [Optional] SerializedScriptValue key);
+ IDBRequest remove(in SerializedScriptValue key);
+ // FIXME: write openCursor
+ IDBRequest createIndex(in DOMString name, in DOMString keyPath, in [Optional] boolean unique);
+ IDBIndexRequest index(in DOMString name);
+ IDBRequest removeIndex(in DOMString name);
+
+ readonly attribute DOMString name;
+ readonly attribute DOMString keyPath;
+ readonly attribute DOMStringList indexNames;
+ };
+}
diff --git a/WebCore/storage/IDBRequest.cpp b/WebCore/storage/IDBRequest.cpp
index a77377f..f86abcb 100644
--- a/WebCore/storage/IDBRequest.cpp
+++ b/WebCore/storage/IDBRequest.cpp
@@ -36,6 +36,7 @@
#include "EventListener.h"
#include "EventNames.h"
#include "IDBDatabaseRequest.h"
+#include "IDBIndexRequest.h"
#include "IDBErrorEvent.h"
#include "IDBSuccessEvent.h"
#include "ScriptExecutionContext.h"
@@ -65,12 +66,24 @@ void IDBRequest::onError(PassRefPtr<IDBDatabaseError> error)
m_error = error;
}
+void IDBRequest::onSuccess()
+{
+ onEventCommon();
+ m_result->set();
+}
+
void IDBRequest::onSuccess(PassRefPtr<IDBDatabase> idbDatabase)
{
onEventCommon();
m_result->set(IDBDatabaseRequest::create(idbDatabase));
}
+void IDBRequest::onSuccess(PassRefPtr<IDBIndex> idbIndex)
+{
+ onEventCommon();
+ m_result->set(IDBIndexRequest::create(idbIndex));
+}
+
void IDBRequest::onSuccess(PassRefPtr<SerializedScriptValue> serializedScriptValue)
{
onEventCommon();
diff --git a/WebCore/storage/IDBRequest.h b/WebCore/storage/IDBRequest.h
index 0c37c96..5836f78 100644
--- a/WebCore/storage/IDBRequest.h
+++ b/WebCore/storage/IDBRequest.h
@@ -63,7 +63,9 @@ public:
// IDBCallbacks
virtual void onError(PassRefPtr<IDBDatabaseError>);
+ virtual void onSuccess(); // For "null".
virtual void onSuccess(PassRefPtr<IDBDatabase>);
+ virtual void onSuccess(PassRefPtr<IDBIndex>);
virtual void onSuccess(PassRefPtr<SerializedScriptValue>);
// FIXME: Have one onSuccess function for each possible result type.
diff --git a/WebCore/storage/IDBSuccessEvent.cpp b/WebCore/storage/IDBSuccessEvent.cpp
index 9660eef..2dcd964 100644
--- a/WebCore/storage/IDBSuccessEvent.cpp
+++ b/WebCore/storage/IDBSuccessEvent.cpp
@@ -42,7 +42,7 @@ PassRefPtr<IDBSuccessEvent> IDBSuccessEvent::create(PassRefPtr<IDBAny> source, P
}
IDBSuccessEvent::IDBSuccessEvent(PassRefPtr<IDBAny> source, PassRefPtr<IDBAny> result)
- : IDBEvent(eventNames().errorEvent, source)
+ : IDBEvent(eventNames().successEvent, source)
, m_result(result)
{
}
diff --git a/WebCore/storage/IndexedDatabase.h b/WebCore/storage/IndexedDatabase.h
index 6bc9b6e..d47de72 100644
--- a/WebCore/storage/IndexedDatabase.h
+++ b/WebCore/storage/IndexedDatabase.h
@@ -50,7 +50,7 @@ public:
static PassRefPtr<IndexedDatabase> create();
virtual ~IndexedDatabase() { }
- virtual void open(const String& name, const String& description, bool modifyDatabase, PassRefPtr<IDBCallbacks>, PassRefPtr<SecurityOrigin>, Frame*, ExceptionCode&) = 0;
+ virtual void open(const String& name, const String& description, PassRefPtr<IDBCallbacks>, PassRefPtr<SecurityOrigin>, Frame*, ExceptionCode&) = 0;
};
} // namespace WebCore
diff --git a/WebCore/storage/IndexedDatabaseImpl.cpp b/WebCore/storage/IndexedDatabaseImpl.cpp
index ae4fd1e..25502de 100644
--- a/WebCore/storage/IndexedDatabaseImpl.cpp
+++ b/WebCore/storage/IndexedDatabaseImpl.cpp
@@ -25,11 +25,11 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+
#include "config.h"
#include "IndexedDatabaseImpl.h"
-#include "IDBDatabase.h"
-#include "IDBDatabaseError.h"
+#include "IDBDatabaseImpl.h"
#include "SecurityOrigin.h"
#include <wtf/Threading.h>
#include <wtf/UnusedParam.h>
@@ -51,13 +51,18 @@ IndexedDatabaseImpl::~IndexedDatabaseImpl()
{
}
-void IndexedDatabaseImpl::open(const String& name, const String& description, bool modifyDatabase, PassRefPtr<IDBCallbacks> callbacks, PassRefPtr<SecurityOrigin>, Frame*, ExceptionCode&)
+void IndexedDatabaseImpl::open(const String& name, const String& description, PassRefPtr<IDBCallbacks> callbacks, PassRefPtr<SecurityOrigin>, Frame*, ExceptionCode&)
{
- // FIXME: Write for realz.
- UNUSED_PARAM(name);
- UNUSED_PARAM(description);
- UNUSED_PARAM(modifyDatabase);
- callbacks->onError(IDBDatabaseError::create(0, "Not implemented"));
+ RefPtr<IDBDatabase> database;
+ IDBDatabaseMap::iterator it = m_databaseMap.find(name);
+ if (it == m_databaseMap.end()) {
+ // FIXME: What should the version be? The spec doesn't define it yet.
+ database = IDBDatabaseImpl::create(name, description, "");
+ m_databaseMap.set(name, database);
+ } else
+ database = it->second;
+
+ callbacks->onSuccess(database.release());
}
} // namespace WebCore
diff --git a/WebCore/storage/IndexedDatabaseImpl.h b/WebCore/storage/IndexedDatabaseImpl.h
index 8d73694..fa95674 100644
--- a/WebCore/storage/IndexedDatabaseImpl.h
+++ b/WebCore/storage/IndexedDatabaseImpl.h
@@ -29,6 +29,8 @@
#define IndexedDatabaseImpl_h
#include "IndexedDatabase.h"
+#include "StringHash.h"
+#include <wtf/HashMap.h>
#if ENABLE(INDEXED_DATABASE)
@@ -39,11 +41,14 @@ public:
static PassRefPtr<IndexedDatabaseImpl> create();
virtual ~IndexedDatabaseImpl();
- virtual void open(const String& name, const String& description, bool modifyDatabase, PassRefPtr<IDBCallbacks>, PassRefPtr<SecurityOrigin>, Frame*, ExceptionCode&);
+ virtual void open(const String& name, const String& description, PassRefPtr<IDBCallbacks>, PassRefPtr<SecurityOrigin>, Frame*, ExceptionCode&);
private:
IndexedDatabaseImpl();
+ typedef HashMap<String, RefPtr<IDBDatabase> > IDBDatabaseMap;
+ IDBDatabaseMap m_databaseMap;
+
// We only create one instance of this class at a time.
static IndexedDatabaseImpl* indexedDatabaseImpl;
};
diff --git a/WebCore/storage/IndexedDatabaseRequest.cpp b/WebCore/storage/IndexedDatabaseRequest.cpp
index b549bd6..196fff7 100644
--- a/WebCore/storage/IndexedDatabaseRequest.cpp
+++ b/WebCore/storage/IndexedDatabaseRequest.cpp
@@ -52,10 +52,10 @@ IndexedDatabaseRequest::~IndexedDatabaseRequest()
{
}
-PassRefPtr<IDBRequest> IndexedDatabaseRequest::open(const String& name, const String& description, bool modifyDatabase, ExceptionCode& exception)
+PassRefPtr<IDBRequest> IndexedDatabaseRequest::open(const String& name, const String& description, ExceptionCode& exception)
{
RefPtr<IDBRequest> request = IDBRequest::create(m_frame->document(), m_this);
- m_indexedDatabase->open(name, description, modifyDatabase, request, m_frame->document()->securityOrigin(), m_frame, exception);
+ m_indexedDatabase->open(name, description, request, m_frame->document()->securityOrigin(), m_frame, exception);
return request;
}
diff --git a/WebCore/storage/IndexedDatabaseRequest.h b/WebCore/storage/IndexedDatabaseRequest.h
index 0b59790..3f89460 100644
--- a/WebCore/storage/IndexedDatabaseRequest.h
+++ b/WebCore/storage/IndexedDatabaseRequest.h
@@ -51,7 +51,7 @@ public:
}
~IndexedDatabaseRequest();
- PassRefPtr<IDBRequest> open(const String& name, const String& description, bool modifyDatabase, ExceptionCode&);
+ PassRefPtr<IDBRequest> open(const String& name, const String& description, ExceptionCode&);
void disconnectFrame() { m_frame = 0; }
diff --git a/WebCore/storage/IndexedDatabaseRequest.idl b/WebCore/storage/IndexedDatabaseRequest.idl
index e423eb0..a87e033 100644
--- a/WebCore/storage/IndexedDatabaseRequest.idl
+++ b/WebCore/storage/IndexedDatabaseRequest.idl
@@ -10,9 +10,6 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
@@ -25,12 +22,14 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+
module storage {
interface [
Conditional=INDEXED_DATABASE
] IndexedDatabaseRequest {
- IDBRequest open(in DOMString name, in DOMString description, in boolean modifyDatabase)
+ // FIXME: This should no longer raise.
+ IDBRequest open(in DOMString name, in DOMString description)
raises(IDBDatabaseException);
};
diff --git a/WebCore/storage/SQLTransactionSyncCallback.h b/WebCore/storage/SQLTransactionSyncCallback.h
index 43d2468..bd5b65c 100644
--- a/WebCore/storage/SQLTransactionSyncCallback.h
+++ b/WebCore/storage/SQLTransactionSyncCallback.h
@@ -31,7 +31,10 @@
#if ENABLE(DATABASE)
+<<<<<<< HEAD
// ANDROID
+=======
+>>>>>>> webkit.org at r60469
#include <wtf/RefCounted.h>
#include <wtf/Threading.h>
diff --git a/WebCore/storage/chromium/DatabaseTrackerChromium.cpp b/WebCore/storage/chromium/DatabaseTrackerChromium.cpp
index 7db981d..9d2a942 100644
--- a/WebCore/storage/chromium/DatabaseTrackerChromium.cpp
+++ b/WebCore/storage/chromium/DatabaseTrackerChromium.cpp
@@ -48,11 +48,11 @@ namespace WebCore {
DatabaseTracker& DatabaseTracker::tracker()
{
- DEFINE_STATIC_LOCAL(DatabaseTracker, tracker, ());
+ DEFINE_STATIC_LOCAL(DatabaseTracker, tracker, (""));
return tracker;
}
-DatabaseTracker::DatabaseTracker()
+DatabaseTracker::DatabaseTracker(const String&)
{
SQLiteFileSystem::registerSQLiteVFS();
}
diff --git a/WebCore/svg/SVGSVGElement.cpp b/WebCore/svg/SVGSVGElement.cpp
index af3e5b6..4b14a1f 100644
--- a/WebCore/svg/SVGSVGElement.cpp
+++ b/WebCore/svg/SVGSVGElement.cpp
@@ -33,7 +33,7 @@
#include "EventNames.h"
#include "FloatConversion.h"
#include "FloatRect.h"
-#include "Frame.h"
+#include "FrameView.h"
#include "HTMLNames.h"
#include "RenderSVGRoot.h"
#include "RenderSVGViewportContainer.h"
@@ -188,18 +188,18 @@ SVGViewSpec* SVGSVGElement::currentView() const
float SVGSVGElement::currentScale() const
{
// Only the page zoom factor is relevant for SVG
- if (Frame* frame = document()->frame())
- return frame->pageZoomFactor();
+ if (FrameView* view = document()->view())
+ return view->pageZoomFactor();
return m_scale;
}
void SVGSVGElement::setCurrentScale(float scale)
{
- if (Frame* frame = document()->frame()) {
+ if (FrameView* view = document()->view()) {
// Calling setCurrentScale() on the outermost <svg> element in a standalone SVG document
// is allowed to change the page zoom factor, influencing the document size, scrollbars etc.
if (parentNode() == document())
- frame->setZoomFactor(scale, ZoomPage);
+ view->setZoomFactor(scale, ZoomPage);
return;
}
diff --git a/WebCore/svg/graphics/filters/SVGLightSource.cpp b/WebCore/svg/graphics/filters/SVGLightSource.cpp
index 2a04af6..d243eba 100644
--- a/WebCore/svg/graphics/filters/SVGLightSource.cpp
+++ b/WebCore/svg/graphics/filters/SVGLightSource.cpp
@@ -45,6 +45,10 @@ void PointLightSource::updatePaintingData(PaintingData& paintingData, int x, int
paintingData.lightVector.normalize();
}
+// spot-light edge darkening depends on an absolute treshold
+// according to the SVG 1.1 SE light regression tests
+static const float antiAliasTreshold = 0.016f;
+
void SpotLightSource::initPaintingData(PaintingData& paintingData)
{
paintingData.privateColorVector = paintingData.colorVector;
@@ -55,18 +59,15 @@ void SpotLightSource::initPaintingData(PaintingData& paintingData)
if (!m_limitingConeAngle) {
paintingData.coneCutOffLimit = 0.0f;
- paintingData.coneFullLight = cosf(deg2rad(92.0f));
+ paintingData.coneFullLight = -antiAliasTreshold;
} else {
float limitingConeAngle = m_limitingConeAngle;
if (limitingConeAngle < 0.0f)
- limitingConeAngle = 0.0f;
- else if (limitingConeAngle > 90.0f)
+ limitingConeAngle = -limitingConeAngle;
+ if (limitingConeAngle > 90.0f)
limitingConeAngle = 90.0f;
paintingData.coneCutOffLimit = cosf(deg2rad(180.0f - limitingConeAngle));
- limitingConeAngle -= 2.0f;
- if (limitingConeAngle < 0.0f)
- limitingConeAngle = 0.0f;
- paintingData.coneFullLight = cosf(deg2rad(180.0f - limitingConeAngle));
+ paintingData.coneFullLight = paintingData.coneCutOffLimit - antiAliasTreshold;
}
// Optimization for common specularExponent values
diff --git a/WebCore/wscript b/WebCore/wscript
index 85c9885..62d767b 100644
--- a/WebCore/wscript
+++ b/WebCore/wscript
@@ -31,6 +31,8 @@ webcore_sources = {}
if build_port == "wx":
if building_on_win32:
+ # make sure platform/wx comes after this so we get the right
+ # FontPlatformData.h
webcore_dirs.extend(['platform/wx/wxcode/win', 'plugins/win'])
webcore_sources['wx-win'] = [
'platform/graphics/win/TransformationMatrixWin.cpp',
@@ -38,8 +40,8 @@ if build_port == "wx":
# so we need to use the Win port's implementation until the wx bug fix is
# widely available (it was fixed in 2.8.10).
'platform/win/SharedTimerWin.cpp',
+ 'platform/win/WebCoreInstanceHandle.cpp',
# Use the Windows plugin architecture
- 'page/win/PageWin.cpp',
'plugins/win/PluginDataWin.cpp',
'plugins/win/PluginDatabaseWin.cpp',
'plugins/win/PluginMessageThrottlerWin.cpp',
@@ -124,6 +126,7 @@ def build(bld):
os.path.join(wk_root, 'JavaScriptCore'),
os.path.join(wk_root, 'WebCore'),
'platform/image-decoders',
+ 'platform/win',
'platform/wx/wxcode',
'workers',
]
@@ -194,7 +197,6 @@ def build(bld):
# Investigate how to resolve these issues.
excludes.append('JSAbstractView.cpp')
excludes.append('JSPositionCallback.cpp')
- excludes.append('JSDOMStringList.cpp')
excludes.append('JSInspectorController.cpp')
# The bindings generator seems to think these are ref-counted, while they aren't in trunk.
diff --git a/WebKit/CMakeListsEfl.txt b/WebKit/CMakeListsEfl.txt
index 046b613..cbc0d92 100644
--- a/WebKit/CMakeListsEfl.txt
+++ b/WebKit/CMakeListsEfl.txt
@@ -25,12 +25,13 @@ LIST(APPEND WebKit_INCLUDE_DIRECTORIES
LIST(APPEND WebKit_SOURCES
efl/WebCoreSupport/ChromeClientEfl.cpp
- efl/WebCoreSupport/ContextMenuClientEfl
+ efl/WebCoreSupport/ContextMenuClientEfl.cpp
efl/WebCoreSupport/DragClientEfl.cpp
efl/WebCoreSupport/EditorClientEfl.cpp
efl/WebCoreSupport/FrameLoaderClientEfl.cpp
efl/WebCoreSupport/InspectorClientEfl.cpp
+ efl/ewk/ewk_contextmenu.cpp
efl/ewk/ewk_frame.cpp
efl/ewk/ewk_history.cpp
efl/ewk/ewk_main.cpp
diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index ea021c1..c283bb7 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,167 @@
+2010-05-31 Lyon Chen <liachen@rim.com>
+
+ Reviewed by Kent Tamura.
+
+ Enum value FORWARD, BACKWARD, RIGHT, LEFT are causing macro conflicts.
+ https://bugs.webkit.org/show_bug.cgi?id=35530
+
+ Change enum EAlteration from { MOVE, EXTEND } to { AlterationMove, AlterationExtend } and enum EDirection { FORWARD, BACKWARD, RIGHT, LEFT} to { DirectionForward, DirectionBackward, DirectionRight, DirectionLeft } to avoid macro conflict, and also better coding style conformance.
+
+ * efl/WebCoreSupport/EditorClientEfl.cpp:
+ (WebCore::EditorClientEfl::handleEditingKeyboardEvent):
+
+2010-05-31 Lucas De Marchi <lucas.demarchi@profusion.mobi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [EFL] Add Context Menu implementation
+ https://bugs.webkit.org/show_bug.cgi?id=39821
+
+ * CMakeListsEfl.txt: add context menu files.
+ * efl/WebCoreSupport/ContextMenuClientEfl.cpp:
+ (WebCore::ContextMenuClientEfl::getCustomMenuFromDefaultItems):
+ (WebCore::ContextMenuClientEfl::newPlatformDescription):
+ (WebCore::ContextMenuClientEfl::freePlatformDescription):
+ (WebCore::ContextMenuClientEfl::appendItem):
+ (WebCore::ContextMenuClientEfl::show):
+ * efl/WebCoreSupport/ContextMenuClientEfl.h:
+ * efl/ewk/EWebKit.h:
+ * efl/ewk/ewk_contextmenu.cpp: Added. Implement the API used by
+ browser for manipulating context menus.
+ (ewk_context_menu_ref):
+ (ewk_context_menu_unref):
+ (ewk_context_menu_destroy):
+ (ewk_context_menu_item_list_get):
+ (ewk_context_menu_item_new):
+ (ewk_context_menu_item_select):
+ (ewk_context_menu_item_free):
+ (ewk_context_menu_item_type_get):
+ (ewk_context_menu_item_type_set):
+ (ewk_context_menu_item_action_get):
+ (ewk_context_menu_item_action_set):
+ (ewk_context_menu_item_title_get):
+ (ewk_context_menu_item_title_set):
+ (ewk_context_menu_item_checked_get):
+ (ewk_context_menu_item_checked_set):
+ (ewk_context_menu_item_enabled_get):
+ (ewk_context_menu_item_enabled_set):
+ (ewk_context_menu_new):
+ (ewk_context_menu_free):
+ (ewk_context_menu_item_append):
+ (ewk_context_menu_custom_get):
+ (ewk_context_menu_show):
+ * efl/ewk/ewk_contextmenu.h: Added.
+ * efl/ewk/ewk_private.h:
+ * efl/ewk/ewk_view.cpp:
+ (ewk_view_context_menu_forward_event): inform browser a new context
+ menu was created.
+ (ewk_view_exceeded_database_quota): small fix to previous
+ changed function.
+ * efl/ewk/ewk_view.h:
+
+2010-05-28 Lucas De Marchi <lucas.demarchi@profusion.mobi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [EF] Remove compiler warnings and add test for switching page
+ encoding.
+ https://bugs.webkit.org/show_bug.cgi?id=39871
+
+ * efl/EWebLauncher/main.c:
+ (print_history):
+ (on_key_down):
+ (main):
+
+2010-05-28 Lucas De Marchi <lucas.demarchi@profusion.mobi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [EFL] Allow client to override default database quota. We increase the
+ default database quota to 1MB (it was incorrectly set to 1KB, which is
+ too low) and add methods to allow client to iteratively database quota
+ when it becomes greater than the allowed value.
+ https://bugs.webkit.org/show_bug.cgi?id=39867
+
+ * efl/WebCoreSupport/ChromeClientEfl.cpp:
+ (WebCore::ChromeClientEfl::exceededDatabaseQuota): reimplement method
+ to allow client to increase database quota iteratively.
+ * efl/ewk/ewk_private.h:
+ * efl/ewk/ewk_settings.cpp:
+ * efl/ewk/ewk_view.h:
+
+2010-05-28 Lucas De Marchi <lucas.demarchi@profusion.mobi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [EFL] Add default path to web database and methods to set it.
+ If a default path is not set, it will default to "/", in which a
+ normal user usually does not have write permission.
+
+ * efl/EWebLauncher/main.c: overwrite default directory with another
+ one.
+ (main):
+ * efl/ewk/ewk_main.cpp:
+ (ewk_init): add default path
+ * efl/ewk/ewk_settings.cpp: add methods to set and get database path
+ (ewk_settings_web_database_path_set):
+ (ewk_settings_web_database_path_get):
+ * efl/ewk/ewk_settings.h:
+
+2010-05-28 Lucas De Marchi <lucas.demarchi@profusion.mobi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [EFL] Fix wrongly set clipper. Now the scrollbars from main
+ frame are shown even on a zoom level lower than 1.0.
+
+ * efl/ewk/ewk_view_single.c:
+ (_ewk_view_single_smart_add):
+ (_ewk_view_single_smart_backing_store_add):
+ (ewk_view_single_smart_set):
+
+2010-05-28 Lucas De Marchi <lucas.demarchi@profusion.mobi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [EFL] Add support for Popup menus
+ https://bugs.webkit.org/show_bug.cgi?id=39629
+
+ * efl/WebCoreSupport/ChromeClientEfl.cpp: implement methods to create
+ and destroy popup menu.
+ (WebCore::ChromeClientEfl::createSelectPopup): ditto.
+ (WebCore::ChromeClientEfl::destroySelectPopup): ditto.
+ * efl/WebCoreSupport/ChromeClientEfl.h: ditto.
+ * efl/ewk/ewk_private.h: add function to call browser when a popup is
+ created/deleted
+
+2010-05-25 Joone Hur <joone.hur@samsung.com>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ [EFL] Build fix.
+ http://webkit.org/b/39648
+
+ * efl/ewk/ewk_frame.cpp:
+ (ewk_frame_zoom_get): Add missed namespace
+ (ewk_frame_zoom_set): Ditto.
+ (ewk_frame_zoom_text_only_set): Ditto.
+ * efl/ewk/ewk_view.cpp:
+ (_ewk_view_priv_new): Add a null parameter when creating a Page.
+
+2010-05-24 Darin Adler <darin@apple.com>
+
+ Reviewed by Eric Seidel.
+
+ Move view-related functions from Frame to FrameView
+ https://bugs.webkit.org/show_bug.cgi?id=39366
+
+ * efl/ewk/ewk_frame.cpp:
+ (ewk_frame_editable_set): Removed call to empty function,
+ removeEditingStyleFromBodyElement.
+ (ewk_frame_zoom_get): Call function on FrameView.
+ (ewk_frame_zoom_set): Ditto.
+ (ewk_frame_zoom_text_only_set): Ditto.
+
2010-05-15 Leandro Pereira <leandro@profusion.mobi>
Reviewed by Adam Treat.
diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
index 07e6edb..50ae8ae 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -1,3 +1,566 @@
+2010-05-31 Pavel Podivilov <podivilov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Chromium: save inspector settings as dictionary, not as string.
+ https://bugs.webkit.org/show_bug.cgi?id=32118
+
+ * public/WebView.h:
+ * public/WebViewClient.h:
+ (WebKit::WebViewClient::didUpdateInspectorSetting):
+ * src/InspectorClientImpl.cpp:
+ (WebKit::InspectorClientImpl::populateSetting):
+ (WebKit::InspectorClientImpl::storeSetting):
+ * src/InspectorClientImpl.h:
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::WebViewImpl):
+ (WebKit::WebViewImpl::inspectorSetting):
+ (WebKit::WebViewImpl::setInspectorSetting):
+ * src/WebViewImpl.h:
+
+2010-05-31 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Expose html5 parser enabled flag in WebSettings
+ https://bugs.webkit.org/show_bug.cgi?id=39913
+
+ * public/WebSettings.h:
+ * src/WebSettingsImpl.cpp:
+ (WebKit::WebSettingsImpl::setHTML5ParserEnabled):
+ * src/WebSettingsImpl.h:
+
+2010-05-31 Lyon Chen <liachen@rim.com>
+
+ Reviewed by Kent Tamura.
+
+ Enum value FORWARD, BACKWARD, RIGHT, LEFT are causing macro conflicts.
+ https://bugs.webkit.org/show_bug.cgi?id=35530
+
+ Change enum EAlteration from { MOVE, EXTEND } to { AlterationMove, AlterationExtend } and enum EDirection { FORWARD, BACKWARD, RIGHT, LEFT} to { DirectionForward, DirectionBackward, DirectionRight, DirectionLeft } to avoid macro conflict, and also better coding style conformance.
+
+ * src/WebFrameImpl.cpp:
+ (WebKit::WebFrameImpl::executeCommand):
+
+2010-05-31 Roland Steiner <rolandsteiner@chromium.org>
+
+ Bug 39977 - Missing Chromium bindings for InspectorController methods introduced in r60443
+ https://bugs.webkit.org/show_bug.cgi?id=39977
+
+ add missing InspectorController JS bindings:
+ - getStyleSheet
+ - getRuleRangesForStyleSheetId
+
+ Tests: inspector/styles-source-offsets.html
+
+ * src/js/InspectorControllerImpl.js:
+ (devtools.InspectorBackendImpl):
+
+2010-05-31 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r60456.
+ http://trac.webkit.org/changeset/60456
+ https://bugs.webkit.org/show_bug.cgi?id=39974
+
+ Broke Chromium Linux/Max build (Requested by tkent on
+ #webkit).
+
+ * DEPS:
+
+2010-05-31 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [DRT/Chromium] Checking out lighttpd
+ https://bugs.webkit.org/show_bug.cgi?id=39948
+
+ - Checking out lighttpd only on Windows. It is used by new-run-webkit-tests.
+ - Update Chromium revision to use Windows resource query code
+
+ * DEPS:
+
+2010-05-31 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: allow hiding Scripts panel from Chromium code. This
+ is needed to support v8 debugging protocol which has an implementation
+ that conflicts with debugger provided by the inspector.
+ https://bugs.webkit.org/show_bug.cgi?id=39952
+
+ * public/WebDevToolsAgentClient.h:
+ (WebKit::WebDevToolsAgentClient::exposeV8DebuggerProtocol):
+ * public/WebDevToolsFrontendClient.h:
+ (WebKit::WebDevToolsFrontendClient::WebDevToolsFrontendClient):
+ (WebKit::WebDevToolsFrontendClient::sendMessageToAgent):
+ (WebKit::WebDevToolsFrontendClient::sendDebuggerCommandToAgent):
+ (WebKit::WebDevToolsFrontendClient::sendDebuggerPauseScript):
+ (WebKit::WebDevToolsFrontendClient::activateWindow):
+ (WebKit::WebDevToolsFrontendClient::closeWindow):
+ (WebKit::WebDevToolsFrontendClient::requestDockWindow):
+ (WebKit::WebDevToolsFrontendClient::requestUndockWindow):
+ (WebKit::WebDevToolsFrontendClient::hideScriptsPanel):
+ * src/DebuggerAgentManager.cpp:
+ (WebKit::DebuggerAgentManager::debugAttach):
+ (WebKit::DebuggerAgentManager::debugDetach):
+ (WebKit::DebuggerAgentManager::setExposeV8DebuggerProtocol):
+ * src/DebuggerAgentManager.h:
+ * src/InspectorFrontendClientImpl.cpp:
+ (WebKit::InspectorFrontendClientImpl::hiddenPanels):
+ * src/WebDevToolsAgentImpl.cpp:
+ (WebKit::WebDevToolsAgentImpl::WebDevToolsAgentImpl):
+ (WebKit::WebDevToolsAgentImpl::attach):
+
+2010-05-30 Lyon Chen <liachen@rim.com>
+
+ Reviewed by Kent Tamura.
+
+ This is a coding style cleanup before fixing to bug 35530.
+
+ Enum value FORWARD, BACKWARD, RIGHT, LEFT are causing macro conflicts.
+ https://bugs.webkit.org/show_bug.cgi?id=35530
+
+ * src/WebFrameImpl.cpp:
+ (WebKit::WebFrameImpl::find):
+ (WebKit::WebFrameImpl::scopeStringMatches):
+ (WebKit::WebFrameImpl::createChildFrame):
+ (WebKit::WebFrameImpl::shouldScopeMatches):
+
+2010-05-30 Daniel Bates <dbates@rim.com>
+
+ Unreviewed, attempt to fix the build after http://trac.webkit.org/changeset/60418.
+
+ I missed a few call sites in the Chromium source when I
+ landed http://trac.webkit.org/changeset/60419.
+
+ Credit to Chris Jerdonek for looking over both this patch and the patch
+ committed in r60419.
+
+ * src/WebSearchableFormData.cpp:
+ (WebCore::GetButtonToActivate):
+ (WebCore::HasSuitableTextElement):
+
+2010-05-30 Daniel Bates <dbates@rim.com>
+
+ Unreviewed, attempt to fix the build after http://trac.webkit.org/changeset/60418.
+
+ * src/EditorClientImpl.cpp:
+ (WebKit::EditorClientImpl::autofill):
+ * src/WebFormControlElement.cpp:
+ (WebKit::WebFormControlElement::formControlName):
+ (WebKit::WebFormControlElement::formControlType):
+ * src/WebFormElement.cpp:
+ (WebKit::WebFormElement::getFormControlElements):
+ * src/WebPasswordFormUtils.cpp:
+ (WebKit::findPasswordFormFields):
+
+2010-05-30 Jessie Berlin <jberlin@webkit.org>
+
+ Reviewed by Pavel Feldman.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39224
+ Bug 39224 - Web Inspector: There should be a way to clean up profiles
+
+ * src/js/InspectorControllerImpl.js:
+ (devtools.InspectorBackendImpl):
+
+2010-05-29 Vangelis Kokkevis <vangelis@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Adding support for a runtime flag to enable accelerated
+ compositing in chromium.
+ https://bugs.webkit.org/show_bug.cgi?id=39917
+
+ * public/WebSettings.h:
+ * src/WebSettingsImpl.cpp:
+ (WebKit::WebSettingsImpl::setAcceleratedCompositingEnabled):
+ * src/WebSettingsImpl.h:
+
+2010-05-28 Aaron Boodman <aa@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Add isXHTMLDocument() to WebDocument.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39887
+
+ * public/WebDocument.h: Add isXHTMLDocument().
+ * src/WebDocument.cpp: ditto.
+ (WebKit::WebDocument::isXHTMLDocument): dittorama.
+
+2010-05-27 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Steve Block.
+
+ Add IndexedDB's IDBIndex
+ https://bugs.webkit.org/show_bug.cgi?id=39850
+
+ Add WebKit layer for IDBIndex.
+
+ * WebKit.gyp:
+ * public/WebCommon.h:
+ * public/WebIDBCallbacks.h:
+ (WebKit::WebIDBCallbacks::onError):
+ (WebKit::WebIDBCallbacks::onSuccess):
+ * public/WebIDBDatabase.h:
+ * public/WebIDBIndex.h: Added.
+ (WebKit::WebIDBIndex::~WebIDBIndex):
+ (WebKit::WebIDBIndex::name):
+ (WebKit::WebIDBIndex::keyPath):
+ (WebKit::WebIDBIndex::unique):
+ * src/IDBCallbacksProxy.cpp:
+ (WebCore::IDBCallbacksProxy::onSuccess):
+ * src/IDBCallbacksProxy.h:
+ * src/IDBDatabaseProxy.cpp:
+ * src/IDBDatabaseProxy.h:
+ * src/IDBIndexProxy.cpp: Added.
+ (WebCore::IDBIndexProxy::create):
+ (WebCore::IDBIndexProxy::IDBIndexProxy):
+ (WebCore::IDBIndexProxy::~IDBIndexProxy):
+ (WebCore::IDBIndexProxy::name):
+ (WebCore::IDBIndexProxy::keyPath):
+ (WebCore::IDBIndexProxy::unique):
+ * src/IDBIndexProxy.h: Added.
+ * src/WebIDBCallbacksImpl.cpp:
+ (WebCore::WebIDBCallbacksImpl::onSuccess):
+ * src/WebIDBCallbacksImpl.h:
+ * src/WebIDBDatabaseImpl.cpp:
+ * src/WebIDBDatabaseImpl.h:
+ * src/WebIDBIndexImpl.cpp: Added.
+ (WebKit::WebIDBIndexImpl::WebIDBIndexImpl):
+ (WebKit::WebIDBIndexImpl::~WebIDBIndexImpl):
+ (WebKit::WebIDBIndexImpl::name):
+ (WebKit::WebIDBIndexImpl::keyPath):
+ (WebKit::WebIDBIndexImpl::unique):
+ * src/WebIDBIndexImpl.h: Added.
+
+2010-05-28 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: check that ClientMessageLoopAdapter is not 0 before
+ accessing its fileds from inspectedViewClosed method. It may be 0
+ if inspector frontend has not been open.
+ https://bugs.webkit.org/show_bug.cgi?id=39876
+
+ * src/WebDevToolsAgentImpl.cpp:
+ (WebKit::):
+
+2010-05-27 Eric Uhrhane <ericu@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Add v8 bindings for async DB API in workers
+ https://bugs.webkit.org/show_bug.cgi?id=39145
+
+ * src/DatabaseObserver.cpp:
+ We should check that we're on the context thread now, not the main
+ thread.
+ (WebCore::DatabaseObserver::databaseOpened):
+ (WebCore::DatabaseObserver::databaseModified):
+ (WebCore::DatabaseObserver::databaseClosed):
+
+2010-05-27 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Resume script execution if user tries to navigate to another URL
+ https://bugs.webkit.org/show_bug.cgi?id=39842
+
+ * src/WebDevToolsAgentImpl.cpp:
+ (WebKit::):
+ (WebKit::WebDevToolsAgentImpl::didNavigate):
+
+2010-05-27 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Implement lazy clearing of renderbuffers
+ https://bugs.webkit.org/show_bug.cgi?id=36248
+
+ * src/WebGraphicsContext3DDefaultImpl.cpp:
+ (WebKit::WebGraphicsContext3DDefaultImpl::reshape): Clear WebGL internal buffers.
+
+2010-05-26 Roland Steiner <rolandsteiner@chromium.org>
+
+ Reviewed by NOBODY (layout test crashing fix).
+
+ Bug 39811 - WebPluginListBuilderImpl::addMediaTypeToLastPlugin does not initialize pluginIndex
+ https://bugs.webkit.org/show_bug.cgi?id=39811
+
+ Initialize the pluginIndex field (quick fix).
+
+ Tests: covered by fast/dom/prototype-inheritance-2.html
+ (crashed under Chromium Linux and Windows)
+
+ * src/WebPluginListBuilderImpl.cpp:
+ (WebKit::WebPluginListBuilderImpl::addMediaTypeToLastPlugin):
+
+2010-05-26 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Clean up MimeClassInfo and PluginInfo
+ https://bugs.webkit.org/show_bug.cgi?id=39700
+
+ Update for WebCore changes.
+
+ * src/WebPluginListBuilderImpl.cpp:
+ (WebKit::WebPluginListBuilderImpl::addPlugin):
+ (WebKit::WebPluginListBuilderImpl::addMediaTypeToLastPlugin):
+ (WebKit::WebPluginListBuilderImpl::addFileExtensionToLastMediaType):
+ * src/WebPluginListBuilderImpl.h:
+ (WebKit::WebPluginListBuilderImpl::WebPluginListBuilderImpl):
+
+2010-05-26 Jeremy Orlow <jorlow@chromium.org>
+
+ Unreviewed chromium build fix
+ https://bugs.webkit.org/show_bug.cgi?id=39739
+
+ The backwards compat function needs to take in a WebSecurityOrigin
+ instead of a WebString.
+
+ * public/WebIndexedDatabase.h:
+ (WebKit::WebIndexedDatabase::open):
+
+2010-05-26 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Implement WebDOMStorageList and make WebIDBDatabase use it
+ https://bugs.webkit.org/show_bug.cgi?id=39731
+
+ * WebKit.gyp:
+ * public/WebDOMStringList.h: Added.
+ (WebKit::WebDOMStringList::~WebDOMStringList):
+ (WebKit::WebDOMStringList::WebDOMStringList):
+ (WebKit::WebDOMStringList::operator=):
+ * public/WebIDBDatabase.h:
+ (WebKit::WebIDBDatabase::objectStores):
+ * src/IDBDatabaseProxy.cpp:
+ (WebCore::IDBDatabaseProxy::objectStores):
+ * src/WebDOMStringList.cpp: Added.
+ (WebKit::WebDOMStringList::reset):
+ (WebKit::WebDOMStringList::assign):
+ (WebKit::WebDOMStringList::append):
+ (WebKit::WebDOMStringList::length):
+ (WebKit::WebDOMStringList::item):
+ (WebKit::WebDOMStringList::WebDOMStringList):
+ (WebKit::WebDOMStringList::operator=):
+ (WebKit::WebDOMStringList::operator WTF::PassRefPtr<WebCore::DOMStringList>):
+ * src/WebIDBDatabaseImpl.cpp:
+ (WebKit::WebIDBDatabaseImpl::objectStores):
+ * src/WebIDBDatabaseImpl.h:
+
+2010-05-24 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Steve Block.
+
+ Add IDBDatabase's attributes
+ https://bugs.webkit.org/show_bug.cgi?id=39602
+
+ Plumbing to hook up the synchronous attribute requests
+ on IDBDatabase.
+
+ * public/WebIDBDatabase.h:
+ (WebKit::WebIDBDatabase::name):
+ (WebKit::WebIDBDatabase::description):
+ (WebKit::WebIDBDatabase::version):
+ (WebKit::WebIDBDatabase::objectStores):
+ * src/IDBDatabaseProxy.cpp:
+ (WebCore::IDBDatabaseProxy::name):
+ (WebCore::IDBDatabaseProxy::description):
+ (WebCore::IDBDatabaseProxy::version):
+ (WebCore::IDBDatabaseProxy::objectStores):
+ * src/IDBDatabaseProxy.h:
+ * src/WebIDBDatabaseImpl.cpp:
+ (WebKit::WebIDBDatabaseImpl::WebIDBDatabaseImpl):
+ (WebKit::WebIDBDatabaseImpl::name):
+ (WebKit::WebIDBDatabaseImpl::description):
+ (WebKit::WebIDBDatabaseImpl::version):
+ (WebKit::WebIDBDatabaseImpl::objectStores):
+ * src/WebIDBDatabaseImpl.h:
+
+2010-05-24 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Re-commit r58765 - it had been rolled out to see if it was causing
+ a perf regression (in r59787 and r59789), but that does not seem to
+ have been the case.
+
+ * public/WebNotification.h:
+ * src/WebNotification.cpp:
+ (WebKit::WebNotification::dir):
+ (WebKit::WebNotification::replaceId):
+
+2010-05-25 Brett Wilson <brettw@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Remove obsolete code for Mac & Windows plugin creation in the Chromium
+ port. This non-Windows code was to prevent a crash which we no longer
+ seem to have, and it is preventing other types of plugins from working.
+ https://bugs.webkit.org/show_bug.cgi?id=39684
+
+ * src/FrameLoaderClientImpl.cpp:
+ (WebKit::FrameLoaderClientImpl::createPlugin):
+
+2010-05-25 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [DRT/Chromium] Enable 3D_CANVAS, FILTERS, METER_TAG and PROGRESS_TAG
+ https://bugs.webkit.org/show_bug.cgi?id=39652
+
+ 3D_CANVAS and FILTERS have been enabled for Chromium tree
+ build. They fix dozens of unexpected test results in a case of
+ upstreaming build.
+ Enable METER_TAG and PROGRESS_TAG too because they will be enabled
+ in Chromium tree in the near future.
+
+ * features.gypi:
+
+2010-05-25 Vangelis Kokkevis <vangelis@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ The GraphicsContext that serves as a backing store for the root layer
+ updates when doing accelerated compositing is now stored in LayerRendererChromium
+ instead of the Layer itself. Updating code in WebViewImpl to reflect
+ that change.
+ https://bugs.webkit.org/show_bug.cgi?id=39640
+
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::updateRootLayerContents):
+
+2010-05-24 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ ScriptDebugServer is now implemented as DebugEventListener which means it doesn't
+ depend on v8 debugging protocol, instead it uses ExecState to collect debugging
+ info and pass it to the listeners.
+
+ New implementation of ScriptDebugServer uses methods provided by client to dispatch
+ its messages while JS is paused(previously the messages was dispatched in a callback
+ passed to v8 along with DebugEventHandler).
+
+ Pause command is dispatched on IO thread.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39594
+
+ * public/WebDevToolsAgentClient.h:
+ (WebKit::WebDevToolsAgentClient::ClientMessageLoop::~ClientMessageLoop):
+ (WebKit::WebDevToolsAgentClient::createClientMessageLoop): Returns an object that allows to run
+ nested client message loop while script execution is paused on a breakpoint.
+ * src/DebuggerAgentManager.cpp:
+ (WebKit::DebuggerAgentManager::setMessageLoopDispatchHandler):
+ * src/DebuggerAgentManager.h:
+ * src/WebDevToolsAgentImpl.cpp:
+ (WebKit::):
+ (WebKit::WebDevToolsAgentImpl::~WebDevToolsAgentImpl):
+ (WebKit::WebDevToolsAgentImpl::attach):
+ * src/js/DebuggerScript.js:
+ (debuggerScriptConstructor.DebuggerScript.getAfterCompileScript):
+ (debuggerScriptConstructor.DebuggerScript.stepIntoStatement):
+ (debuggerScriptConstructor.DebuggerScript.stepOverStatement):
+ (debuggerScriptConstructor.DebuggerScript.stepOutOfFunction):
+ * src/js/InspectorControllerImpl.js:
+ (devtools.InspectorBackendImpl):
+ (else.devtools.InspectorBackendImpl.prototype.pauseInDebugger): Pause command should be handled on IO
+ thread so that script can be paused even if it's in an infinite loop.
+
+2010-05-25 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Add memory graph to Timeline overview pane.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37879
+
+ * src/js/devTools.css:
+ (.timeline-category-statusbar-item input):
+
+2010-05-24 Tony Chang <tony@chromium.org>
+
+ Reviewed by David Levin.
+
+ [chromium] Fix zoom tests after r60104
+ https://bugs.webkit.org/show_bug.cgi?id=39645
+
+ m_zoomFactor moved from Frame to FrameView. FrameView has separate
+ notions of page zoom and text zoom. In my hurried compile fix, I
+ assumed that m_zoomFactor was for page zoom, but it's not always.
+
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::setZoomLevel):
+
+2010-05-24 Kent Tamura <tkent@chromium.org>
+
+ Unreviewed. Sort features.
+
+ * features.gypi:
+
+2010-05-24 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [DRT/Chromium] Import layout_test_helper for Windows
+ https://bugs.webkit.org/show_bug.cgi?id=39581
+
+ * WebKit.gyp: Add a build rule for LayoutTestHelper.exe for Windows.
+
+2010-05-24 Marcus Bulach <bulach@chromium.org>
+
+ Reviewed by Kent Tamura.
+
+ [chromium] Adds WebGeolocationServiceMockImpl to remove public dependency on wtf/HashMap.h
+ https://bugs.webkit.org/show_bug.cgi?id=39587
+
+ * public/WebGeolocationServiceMock.h:
+ * src/WebGeolocationServiceMock.cpp:
+ (WebKit::WebGeolocationServiceMockImpl::~WebGeolocationServiceMockImpl):
+ (WebKit::WebGeolocationServiceMock::createWebGeolocationServiceMock):
+ (WebKit::WebGeolocationServiceMockImpl::requestPermissionForFrame):
+ (WebKit::WebGeolocationServiceMockImpl::attachBridge):
+ (WebKit::WebGeolocationServiceMockImpl::detachBridge):
+
+2010-05-24 Tony Chang <tony@chromium.org>
+
+ Reviewed by Kent Tamura.
+
+ [chromium] setup fonts on chromium linux DRT
+ https://bugs.webkit.org/show_bug.cgi?id=39644
+
+ * WebKit.gyp:
+
+2010-05-24 Tony Chang <tony@chromium.org>
+
+ Not reviewed, build fix.
+
+ Fix the chromium compile due to pageZoomFactor refactoring.
+
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::setZoomLevel):
+
+2010-05-24 Darin Adler <darin@apple.com>
+
+ Reviewed by Eric Seidel.
+
+ Move view-related functions from Frame to FrameView
+ https://bugs.webkit.org/show_bug.cgi?id=39366
+
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::setZoomLevel): Call setZoomLevel on FrameView.
+
+2010-05-24 Anders Carlsson <andersca@apple.com>
+
+ Attempt to fix the Chromium build.
+
+ * src/WebViewImpl.cpp:
+
2010-05-21 Tony Chang <tony@chromium.org>
Reviewed by Ojan Vafai.
@@ -221,18 +784,6 @@
(WebKit::WebNotification::dir):
(WebKit::WebNotification::replaceId):
-2010-05-18 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Attempt to revert r58765 to see if it was causing a performance
- regression.
-
- https://bugs.webkit.org/show_bug.cgi?id=39328
-
- * public/WebNotification.h:
- * src/WebNotification.cpp:
-
2010-05-19 Jian Li <jianli@chromium.org>
Reviewed by Darin Fisher.
diff --git a/WebKit/chromium/WebKit.gyp b/WebKit/chromium/WebKit.gyp
index 94d7a46..937f4b3 100644
--- a/WebKit/chromium/WebKit.gyp
+++ b/WebKit/chromium/WebKit.gyp
@@ -100,6 +100,7 @@
'public/WebCrossOriginPreflightResultCache.h',
'public/WebCString.h',
'public/WebCursorInfo.h',
+ 'public/WebDOMStringList.h',
'public/WebData.h',
'public/WebDatabase.h',
'public/WebDatabaseObserver.h',
@@ -138,6 +139,7 @@
'public/WebIDBCallbacks.h',
'public/WebIDBDatabase.h',
'public/WebIDBDatabaseError.h',
+ 'public/WebIDBIndex.h',
'public/WebIndexedDatabase.h',
'public/WebInputElement.h',
'public/WebInputEvent.h',
@@ -265,6 +267,8 @@
'src/IDBCallbacksProxy.h',
'src/IDBDatabaseProxy.cpp',
'src/IDBDatabaseProxy.h',
+ 'src/IDBIndexProxy.cpp',
+ 'src/IDBIndexProxy.h',
'src/IndexedDatabaseProxy.cpp',
'src/IndexedDatabaseProxy.h',
'src/InspectorClientImpl.cpp',
@@ -313,6 +317,7 @@
'src/WebCrossOriginPreflightResultCache.cpp',
'src/WebCString.cpp',
'src/WebCursorInfo.cpp',
+ 'src/WebDOMStringList.cpp',
'src/WebData.cpp',
'src/WebDatabase.cpp',
'src/WebDataSourceImpl.cpp',
@@ -351,6 +356,8 @@
'src/WebIDBDatabaseError.cpp',
'src/WebIDBDatabaseImpl.cpp',
'src/WebIDBDatabaseImpl.h',
+ 'src/WebIDBIndexImpl.cpp',
+ 'src/WebIDBIndexImpl.h',
'src/WebImageCG.cpp',
'src/WebImageDecoder.cpp',
'src/WebImageSkia.cpp',
@@ -581,16 +588,18 @@
],
'conditions': [
['OS=="win"', {
+ 'dependencies': ['LayoutTestHelper'],
+
'resource_include_dirs': ['<(SHARED_INTERMEDIATE_DIR)/webkit'],
'sources': [
- '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.rc',
- '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_chromium_resources.rc',
- '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_resources.rc',
- '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_strings_en-US.rc',
+ '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.rc',
+ '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_chromium_resources.rc',
+ '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_resources.rc',
+ '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_strings_en-US.rc',
],
'copies': [{
- 'destination': '<(PRODUCT_DIR)',
- 'files': ['<(ahem_path)'],
+ 'destination': '<(PRODUCT_DIR)',
+ 'files': ['<(ahem_path)'],
}],
}],
['OS=="mac"', {
@@ -631,6 +640,15 @@
},
], # actions
}],
+ ['OS=="linux"', {
+ 'copies': [{
+ 'destination': '<(PRODUCT_DIR)',
+ 'files': [
+ '<(ahem_path)',
+ '../../WebKitTools/DumpRenderTree/chromium/fonts.conf',
+ ],
+ }],
+ }],
['OS!="linux" and OS!="freebsd" and OS!="openbsd"', {
'sources/': [
['exclude', '(Gtk|Linux)\\.cpp$']
@@ -651,6 +669,13 @@
},
], # targets
'conditions': [
+ ['OS=="win"', {
+ 'targets': [{
+ 'target_name': 'LayoutTestHelper',
+ 'type': 'executable',
+ 'sources': ['../../WebKitTools/DumpRenderTree/chromium/LayoutTestHelperWin.cpp'],
+ }],
+ }],
['OS=="mac"', {
'targets': [
{
diff --git a/WebKit/chromium/features.gypi b/WebKit/chromium/features.gypi
index 87a6e09..c7d40cf 100644
--- a/WebKit/chromium/features.gypi
+++ b/WebKit/chromium/features.gypi
@@ -39,40 +39,43 @@
# chromium build, overrides this list with its own values. See
# features_override.gypi inline documentation for more details.
'feature_defines%': [
- 'ENABLE_3D_CANVAS=0',
+ 'ENABLE_3D_CANVAS=1',
'ENABLE_BLOB_SLICE=1',
'ENABLE_CHANNEL_MESSAGING=1',
+ 'ENABLE_DASHBOARD_SUPPORT=0',
'ENABLE_DATABASE=1',
'ENABLE_DATAGRID=0',
- 'ENABLE_OFFLINE_WEB_APPLICATIONS=1',
- 'ENABLE_DASHBOARD_SUPPORT=0',
'ENABLE_DOM_STORAGE=1',
'ENABLE_FILE_READER=1',
'ENABLE_FILE_WRITER=0',
+ 'ENABLE_FILTERS=1',
'ENABLE_GEOLOCATION=1',
- 'ENABLE_JAVASCRIPT_DEBUGGER=1',
- 'ENABLE_JSC_MULTIPLE_THREADS=0',
'ENABLE_ICONDATABASE=0',
'ENABLE_INDEXED_DATABASE=1',
+ 'ENABLE_JAVASCRIPT_DEBUGGER=1',
+ 'ENABLE_JSC_MULTIPLE_THREADS=0',
+ 'ENABLE_METER_TAG=1',
'ENABLE_NOTIFICATIONS=1',
+ 'ENABLE_OFFLINE_WEB_APPLICATIONS=1',
'ENABLE_OPENTYPE_SANITIZER=1',
'ENABLE_ORIENTATION_EVENTS=0',
+ 'ENABLE_PROGRESS_TAG=1',
'ENABLE_RUBY=1',
'ENABLE_SANDBOX=1',
- 'ENABLE_XHTMLMP=0',
- 'ENABLE_XSLT=1',
- 'ENABLE_XPATH=1',
'ENABLE_SHARED_WORKERS=1',
'ENABLE_SVG=1',
'ENABLE_SVG_ANIMATION=1',
'ENABLE_SVG_AS_IMAGE=1',
- 'ENABLE_SVG_USE=1',
- 'ENABLE_SVG_FOREIGN_OBJECT=1',
'ENABLE_SVG_FONTS=1',
+ 'ENABLE_SVG_FOREIGN_OBJECT=1',
+ 'ENABLE_SVG_USE=1',
'ENABLE_TOUCH_EVENTS=1',
'ENABLE_VIDEO=1',
'ENABLE_WEB_SOCKETS=1',
'ENABLE_WORKERS=1',
+ 'ENABLE_XHTMLMP=0',
+ 'ENABLE_XPATH=1',
+ 'ENABLE_XSLT=1',
'WTF_USE_ACCELERATED_COMPOSITING=0',
],
diff --git a/WebKit/chromium/public/WebCommon.h b/WebKit/chromium/public/WebCommon.h
index e7e38d3..7872729 100644
--- a/WebKit/chromium/public/WebCommon.h
+++ b/WebKit/chromium/public/WebCommon.h
@@ -106,4 +106,6 @@ WEBKIT_API void failedAssertion(const char* file, int line, const char* function
} while (0)
#endif
+#define WEBKIT_ASSERT_NOT_REACHED() WEBKIT_ASSERT(0)
+
#endif
diff --git a/WebKit/chromium/public/WebDOMStringList.h b/WebKit/chromium/public/WebDOMStringList.h
new file mode 100644
index 0000000..b3fb533
--- /dev/null
+++ b/WebKit/chromium/public/WebDOMStringList.h
@@ -0,0 +1,76 @@
+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef WebDOMStringList_h
+#define WebDOMStringList_h
+
+#include "WebCommon.h"
+#include "WebPrivatePtr.h"
+#include "WebString.h"
+
+namespace WebCore { class DOMStringList; }
+#if WEBKIT_IMPLEMENTATION
+namespace WTF { template <typename T> class PassRefPtr; }
+#endif
+
+namespace WebKit {
+
+class WebDOMStringList {
+public:
+ ~WebDOMStringList() { reset(); }
+
+ WebDOMStringList() { }
+ WebDOMStringList(const WebDOMStringList& l) { assign(l); }
+ WebDOMStringList& operator=(const WebDOMStringList& l)
+ {
+ assign(l);
+ return *this;
+ }
+
+ WEBKIT_API void reset();
+ WEBKIT_API void assign(const WebDOMStringList&);
+
+ WEBKIT_API void append(const WebString&);
+ WEBKIT_API unsigned length() const;
+ WEBKIT_API WebString item(unsigned) const;
+
+#if WEBKIT_IMPLEMENTATION
+ WebDOMStringList(const WTF::PassRefPtr<WebCore::DOMStringList>&);
+ WebDOMStringList& operator=(const WTF::PassRefPtr<WebCore::DOMStringList>&);
+ operator WTF::PassRefPtr<WebCore::DOMStringList>() const;
+#endif
+
+private:
+ WebPrivatePtr<WebCore::DOMStringList> m_private;
+};
+
+} // namespace WebKit
+
+#endif
diff --git a/WebKit/chromium/public/WebDevToolsAgentClient.h b/WebKit/chromium/public/WebDevToolsAgentClient.h
index d78a6f1..0f7421d 100644
--- a/WebKit/chromium/public/WebDevToolsAgentClient.h
+++ b/WebKit/chromium/public/WebDevToolsAgentClient.h
@@ -56,6 +56,16 @@ public:
virtual WebCString injectedScriptSource() { return WebCString(); }
virtual WebCString injectedScriptDispatcherSource() { return WebCString(); }
+ class WebKitClientMessageLoop {
+ public:
+ virtual ~WebKitClientMessageLoop() { }
+ virtual void run() = 0;
+ virtual void quitNow() = 0;
+ };
+ virtual WebKitClientMessageLoop* createClientMessageLoop() { return 0; }
+
+ virtual bool exposeV8DebuggerProtocol() { return false; }
+
protected:
~WebDevToolsAgentClient() { }
};
diff --git a/WebKit/chromium/public/WebDevToolsFrontendClient.h b/WebKit/chromium/public/WebDevToolsFrontendClient.h
index 754ecf9..159a3cd 100644
--- a/WebKit/chromium/public/WebDevToolsFrontendClient.h
+++ b/WebKit/chromium/public/WebDevToolsFrontendClient.h
@@ -38,16 +38,18 @@ struct WebDevToolsMessageData;
class WebDevToolsFrontendClient {
public:
- WebDevToolsFrontendClient() {}
+ WebDevToolsFrontendClient() { }
- virtual void sendMessageToAgent(const WebDevToolsMessageData&) {};
- virtual void sendDebuggerCommandToAgent(const WebString& command) {};
- virtual void sendDebuggerPauseScript() {}
+ virtual void sendMessageToAgent(const WebDevToolsMessageData&) { }
+ virtual void sendDebuggerCommandToAgent(const WebString& command) { }
+ virtual void sendDebuggerPauseScript() { }
- virtual void activateWindow() {};
- virtual void closeWindow() {};
- virtual void requestDockWindow() {};
- virtual void requestUndockWindow() {};
+ virtual void activateWindow() { }
+ virtual void closeWindow() { }
+ virtual void requestDockWindow() { }
+ virtual void requestUndockWindow() { }
+
+ virtual bool shouldHideScriptsPanel() { return false; }
protected:
virtual ~WebDevToolsFrontendClient() {}
diff --git a/WebKit/chromium/public/WebDocument.h b/WebKit/chromium/public/WebDocument.h
index 1f09653..c093c58 100644
--- a/WebKit/chromium/public/WebDocument.h
+++ b/WebKit/chromium/public/WebDocument.h
@@ -62,6 +62,7 @@ public:
// Returns the frame the document belongs to or 0 if the document is frameless.
WEBKIT_API WebFrame* frame() const;
WEBKIT_API bool isHTMLDocument() const;
+ WEBKIT_API bool isXHTMLDocument() const;
WEBKIT_API bool isPluginDocument() const;
WEBKIT_API WebURL baseURL() const;
WEBKIT_API WebURL firstPartyForCookies() const;
diff --git a/WebKit/chromium/public/WebGeolocationServiceMock.h b/WebKit/chromium/public/WebGeolocationServiceMock.h
index 285f70c..d1a146b 100644
--- a/WebKit/chromium/public/WebGeolocationServiceMock.h
+++ b/WebKit/chromium/public/WebGeolocationServiceMock.h
@@ -32,7 +32,6 @@
#define WebGeolocationServiceMock_h
#include "WebGeolocationService.h"
-#include <wtf/HashMap.h>
namespace WebKit {
@@ -40,18 +39,12 @@ class WebString;
class WebGeolocationServiceMock : public WebGeolocationService {
public:
+ static WebGeolocationServiceMock* createWebGeolocationServiceMock();
static void setMockGeolocationPermission(bool allowed);
static void setMockGeolocationPosition(double latitude, double longitude, double accuracy);
static void setMockGeolocationError(int errorCode, const WebString& message);
- virtual void requestPermissionForFrame(int bridgeId, const WebURL& url);
- virtual int attachBridge(WebGeolocationServiceBridge*);
- virtual void detachBridge(int bridgeId);
-
-private:
- typedef HashMap<int, WebGeolocationServiceBridge*> IdToBridgeMap;
- IdToBridgeMap m_idToBridgeMap;
-
+protected:
static bool s_mockGeolocationPermission;
};
diff --git a/WebKit/chromium/public/WebIDBCallbacks.h b/WebKit/chromium/public/WebIDBCallbacks.h
index 610f7d4..bba7c74 100644
--- a/WebKit/chromium/public/WebIDBCallbacks.h
+++ b/WebKit/chromium/public/WebIDBCallbacks.h
@@ -10,9 +10,6 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
@@ -35,6 +32,7 @@ namespace WebKit {
class WebIDBDatabase;
class WebIDBDatabaseError;
+class WebIDBIndex;
class WebSerializedScriptValue;
class WebIDBCallbacks {
@@ -43,9 +41,11 @@ public:
// For classes that follow the PImpl pattern, pass a const reference.
// For the rest, pass ownership to the callee via a pointer.
- virtual void onError(const WebIDBDatabaseError&) = 0;
- virtual void onSuccess(WebIDBDatabase*) = 0;
- virtual void onSuccess(const WebSerializedScriptValue&) = 0;
+ virtual void onError(const WebIDBDatabaseError&) { WEBKIT_ASSERT_NOT_REACHED(); }
+ virtual void onSuccess() { WEBKIT_ASSERT_NOT_REACHED(); } // For "null".
+ virtual void onSuccess(WebIDBDatabase*) { WEBKIT_ASSERT_NOT_REACHED(); }
+ virtual void onSuccess(WebIDBIndex*) { WEBKIT_ASSERT_NOT_REACHED(); }
+ virtual void onSuccess(const WebSerializedScriptValue&) { WEBKIT_ASSERT_NOT_REACHED(); }
};
} // namespace WebKit
diff --git a/WebKit/chromium/public/WebIDBDatabase.h b/WebKit/chromium/public/WebIDBDatabase.h
index 403b4e8..0f65c6f 100644
--- a/WebKit/chromium/public/WebIDBDatabase.h
+++ b/WebKit/chromium/public/WebIDBDatabase.h
@@ -10,9 +10,6 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
@@ -30,15 +27,19 @@
#define WebIDBDatabase_h
#include "WebCommon.h"
+#include "WebDOMStringList.h"
namespace WebKit {
-// See comment in WebIndexedDatabase for a high level overview these classes.
+// See comment in WebIndexedDatabase for a high level overview of these classes.
class WebIDBDatabase {
public:
virtual ~WebIDBDatabase() { }
- // FIXME: Implement.
+ virtual WebString name() { return WebString(); }
+ virtual WebString description() { return WebString(); }
+ virtual WebString version() { return WebString(); }
+ virtual WebDOMStringList objectStores() { return WebDOMStringList(); }
};
} // namespace WebKit
diff --git a/WebKit/chromium/public/WebIDBIndex.h b/WebKit/chromium/public/WebIDBIndex.h
new file mode 100644
index 0000000..dafea0e
--- /dev/null
+++ b/WebKit/chromium/public/WebIDBIndex.h
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef WebIDBIndex_h
+#define WebIDBIndex_h
+
+#include "WebString.h"
+
+namespace WebKit {
+
+// See comment in WebIndexedDatabase for a high level overview of these classes.
+class WebIDBIndex {
+public:
+ virtual ~WebIDBIndex() { }
+
+ virtual WebString name() const
+ {
+ WEBKIT_ASSERT_NOT_REACHED();
+ return WebString();
+ }
+ virtual WebString keyPath() const
+ {
+ WEBKIT_ASSERT_NOT_REACHED();
+ return WebString();
+ }
+ virtual bool unique() const
+ {
+ WEBKIT_ASSERT_NOT_REACHED();
+ return false;
+ }
+};
+
+} // namespace WebKit
+
+#endif // WebIDBIndex_h
diff --git a/WebKit/chromium/public/WebIndexedDatabase.h b/WebKit/chromium/public/WebIndexedDatabase.h
index 61b77a0..8e4bf5b 100644
--- a/WebKit/chromium/public/WebIndexedDatabase.h
+++ b/WebKit/chromium/public/WebIndexedDatabase.h
@@ -51,16 +51,16 @@ public:
virtual ~WebIndexedDatabase() { }
// The WebKit implementation of open ignores the WebFrame* parameter.
- virtual void open(const WebString& name, const WebString& description, bool modifyDatabase,
+ virtual void open(const WebString& name, const WebString& description,
WebIDBCallbacks* callbacks, const WebSecurityOrigin& origin, WebFrame* webFrame, int& exceptionCode)
{
- open(name, description, modifyDatabase, callbacks, origin.toString(), webFrame, exceptionCode);
+ open(name, description, false, callbacks, origin, webFrame, exceptionCode);
}
// FIXME: Delete soon. Compatability hack.
virtual void open(const WebString& name, const WebString& description, bool modifyDatabase,
- WebIDBCallbacks* callbacks, const WebString& origin, WebFrame* webFrame, int& exceptionCode)
+ WebIDBCallbacks* callbacks, const WebSecurityOrigin& origin, WebFrame* webFrame, int& exceptionCode)
{
- open(name, description, modifyDatabase, callbacks, WebSecurityOrigin::createFromString(origin), webFrame, exceptionCode);
+ open(name, description, callbacks, origin, webFrame, exceptionCode);
}
};
diff --git a/WebKit/chromium/public/WebNotification.h b/WebKit/chromium/public/WebNotification.h
index 9d64e2a..ab747e3 100644
--- a/WebKit/chromium/public/WebNotification.h
+++ b/WebKit/chromium/public/WebNotification.h
@@ -75,6 +75,9 @@ public:
WEBKIT_API WebString title() const;
WEBKIT_API WebString body() const;
+ WEBKIT_API WebString dir() const;
+ WEBKIT_API WebString replaceId() const;
+
// Called to indicate the notification has been displayed.
WEBKIT_API void dispatchDisplayEvent();
diff --git a/WebKit/chromium/public/WebSettings.h b/WebKit/chromium/public/WebSettings.h
index dd31ea0..de895e1 100644
--- a/WebKit/chromium/public/WebSettings.h
+++ b/WebKit/chromium/public/WebSettings.h
@@ -90,6 +90,8 @@ public:
virtual void setExperimentalWebGLEnabled(bool) = 0;
virtual void setShowDebugBorders(bool) = 0;
virtual void setEditingBehavior(EditingBehavior) = 0;
+ virtual void setAcceleratedCompositingEnabled(bool) = 0;
+ virtual void setHTML5ParserEnabled(bool) = 0;
protected:
~WebSettings() { }
diff --git a/WebKit/chromium/public/WebView.h b/WebKit/chromium/public/WebView.h
index 9ed98c6..56ea68d 100644
--- a/WebKit/chromium/public/WebView.h
+++ b/WebKit/chromium/public/WebView.h
@@ -210,6 +210,10 @@ public:
// Settings used by the inspector.
virtual WebString inspectorSettings() const = 0;
virtual void setInspectorSettings(const WebString&) = 0;
+ virtual bool inspectorSetting(const WebString& key,
+ WebString* value) const = 0;
+ virtual void setInspectorSetting(const WebString& key,
+ const WebString& value) = 0;
// The embedder may optionally engage a WebDevToolsAgent. This may only
// be set once per WebView.
diff --git a/WebKit/chromium/public/WebViewClient.h b/WebKit/chromium/public/WebViewClient.h
index 9478df9..e0fe71d 100644
--- a/WebKit/chromium/public/WebViewClient.h
+++ b/WebKit/chromium/public/WebViewClient.h
@@ -270,6 +270,8 @@ public:
// changed and should be saved. See WebView::inspectorSettings.
virtual void didUpdateInspectorSettings() { }
+ virtual void didUpdateInspectorSetting(const WebString& key, const WebString& value) { }
+
// Autofill ------------------------------------------------------------
diff --git a/WebKit/chromium/src/ChromiumBridge.cpp b/WebKit/chromium/src/ChromiumBridge.cpp
index 01e91a6..3b8e5fa 100644
--- a/WebKit/chromium/src/ChromiumBridge.cpp
+++ b/WebKit/chromium/src/ChromiumBridge.cpp
@@ -505,7 +505,7 @@ String ChromiumBridge::preferredExtensionForMIMEType(const String& mimeType)
// Plugin ---------------------------------------------------------------------
-bool ChromiumBridge::plugins(bool refresh, Vector<PluginInfo*>* results)
+bool ChromiumBridge::plugins(bool refresh, Vector<PluginInfo>* results)
{
WebPluginListBuilderImpl builder(results);
webKitClient()->getPluginList(refresh, &builder);
diff --git a/WebKit/chromium/src/DatabaseObserver.cpp b/WebKit/chromium/src/DatabaseObserver.cpp
index 1c5117c..be658fe 100644
--- a/WebKit/chromium/src/DatabaseObserver.cpp
+++ b/WebKit/chromium/src/DatabaseObserver.cpp
@@ -67,19 +67,19 @@ bool DatabaseObserver::canEstablishDatabase(ScriptExecutionContext* scriptExecut
void DatabaseObserver::databaseOpened(Database* database)
{
- ASSERT(isMainThread());
+ ASSERT(database->scriptExecutionContext()->isContextThread());
WebDatabase::observer()->databaseOpened(WebDatabase(database));
}
void DatabaseObserver::databaseModified(Database* database)
{
- ASSERT(isMainThread());
+ ASSERT(database->scriptExecutionContext()->isContextThread());
WebDatabase::observer()->databaseModified(WebDatabase(database));
}
void DatabaseObserver::databaseClosed(Database* database)
{
- ASSERT(isMainThread());
+ ASSERT(database->scriptExecutionContext()->isContextThread());
WebDatabase::observer()->databaseClosed(WebDatabase(database));
}
diff --git a/WebKit/chromium/src/DebuggerAgentManager.cpp b/WebKit/chromium/src/DebuggerAgentManager.cpp
index d3f7fea..a30675d 100644
--- a/WebKit/chromium/src/DebuggerAgentManager.cpp
+++ b/WebKit/chromium/src/DebuggerAgentManager.cpp
@@ -54,6 +54,8 @@ bool DebuggerAgentManager::s_inUtilityContext = false;
bool DebuggerAgentManager::s_debugBreakDelayed = false;
+bool DebuggerAgentManager::s_exposeV8DebuggerProtocol = false;
+
namespace {
class CallerIdWrapper : public v8::Debug::ClientData, public Noncopyable {
@@ -73,42 +75,6 @@ private:
} // namespace
-void DebuggerAgentManager::hostDispatchHandler(const Vector<WebCore::Page*>& pages)
-{
- if (!s_messageLoopDispatchHandler)
- return;
-
- if (s_inHostDispatchHandler)
- return;
-
- s_inHostDispatchHandler = true;
-
- Vector<WebViewImpl*> views;
- // 1. Disable active objects and input events.
- for (size_t i = 0; i < pages.size(); i++) {
- WebCore::Page* page = pages[i];
- WebViewImpl* view = WebViewImpl::fromPage(page);
- s_pageDeferrers.set(view , new WebCore::PageGroupLoadDeferrer(page, true));
- views.append(view);
- view->setIgnoreInputEvents(true);
- }
-
- // 2. Process messages.
- s_messageLoopDispatchHandler();
-
- // 3. Bring things back.
- for (Vector<WebViewImpl*>::iterator it = views.begin(); it != views.end(); ++it) {
- if (s_pageDeferrers.contains(*it)) {
- // The view was not closed during the dispatch.
- (*it)->setIgnoreInputEvents(false);
- }
- }
- deleteAllValues(s_pageDeferrers);
- s_pageDeferrers.clear();
-
- s_inHostDispatchHandler = false;
-}
-
void DebuggerAgentManager::debugHostDispatchHandler()
{
if (!s_messageLoopDispatchHandler || !s_attachedAgentsMap)
@@ -154,7 +120,8 @@ DebuggerAgentManager::AttachedAgentsMap* DebuggerAgentManager::s_attachedAgentsM
void DebuggerAgentManager::debugAttach(DebuggerAgentImpl* debuggerAgent)
{
#if ENABLE(V8_SCRIPT_DEBUG_SERVER)
- return;
+ if (!s_exposeV8DebuggerProtocol)
+ return;
#endif
if (!s_attachedAgentsMap) {
s_attachedAgentsMap = new AttachedAgentsMap();
@@ -169,7 +136,8 @@ void DebuggerAgentManager::debugAttach(DebuggerAgentImpl* debuggerAgent)
void DebuggerAgentManager::debugDetach(DebuggerAgentImpl* debuggerAgent)
{
#if ENABLE(V8_SCRIPT_DEBUG_SERVER)
- return;
+ if (!s_exposeV8DebuggerProtocol)
+ return;
#endif
if (!s_attachedAgentsMap) {
ASSERT_NOT_REACHED();
@@ -292,9 +260,14 @@ void DebuggerAgentManager::executeDebuggerCommand(const String& command, int cal
void DebuggerAgentManager::setMessageLoopDispatchHandler(WebDevToolsAgent::MessageLoopDispatchHandler handler)
{
s_messageLoopDispatchHandler = handler;
- WebCore::ScriptDebugServer::setMessageLoopDispatchHandler(DebuggerAgentManager::hostDispatchHandler);
}
+void DebuggerAgentManager::setExposeV8DebuggerProtocol(bool value)
+{
+ s_exposeV8DebuggerProtocol = value;
+}
+
+
void DebuggerAgentManager::setHostId(WebFrameImpl* webframe, int hostId)
{
ASSERT(hostId > 0);
diff --git a/WebKit/chromium/src/DebuggerAgentManager.h b/WebKit/chromium/src/DebuggerAgentManager.h
index a8bc7a3..dbb600a 100644
--- a/WebKit/chromium/src/DebuggerAgentManager.h
+++ b/WebKit/chromium/src/DebuggerAgentManager.h
@@ -70,6 +70,7 @@ public:
static void pauseScript();
static void executeDebuggerCommand(const WebCore::String& command, int callerId);
static void setMessageLoopDispatchHandler(WebDevToolsAgent::MessageLoopDispatchHandler handler);
+ static void setExposeV8DebuggerProtocol(bool);
// Sets |hostId| as the frame context data. This id is used to filter scripts
// related to the inspected page.
@@ -100,7 +101,6 @@ private:
DebuggerAgentManager();
~DebuggerAgentManager();
- static void hostDispatchHandler(const Vector<WebCore::Page*>&);
static void debugHostDispatchHandler();
static void onV8DebugMessage(const v8::Debug::Message& message);
static void sendCommandToV8(const WebCore::String& cmd,
@@ -120,6 +120,7 @@ private:
static bool s_inUtilityContext;
static bool s_debugBreakDelayed;
+ static bool s_exposeV8DebuggerProtocol;
};
} // namespace WebKit
diff --git a/WebKit/chromium/src/EditorClientImpl.cpp b/WebKit/chromium/src/EditorClientImpl.cpp
index 4ecdcf7..4eda1f6 100644
--- a/WebKit/chromium/src/EditorClientImpl.cpp
+++ b/WebKit/chromium/src/EditorClientImpl.cpp
@@ -705,6 +705,7 @@ bool EditorClientImpl::autofill(HTMLInputElement* inputElement,
m_autofillArgs.clear();
m_autofillTimer.stop();
+ // FIXME: Remove the extraneous isEnabledFormControl call below.
// Let's try to trigger autofill for that field, if applicable.
if (!inputElement->isEnabledFormControl() || !inputElement->isTextField()
|| inputElement->isPasswordField() || !inputElement->autoComplete()
diff --git a/WebKit/chromium/src/FrameLoaderClientImpl.cpp b/WebKit/chromium/src/FrameLoaderClientImpl.cpp
index 17d9416..694d7c2 100644
--- a/WebKit/chromium/src/FrameLoaderClientImpl.cpp
+++ b/WebKit/chromium/src/FrameLoaderClientImpl.cpp
@@ -1372,20 +1372,6 @@ PassRefPtr<Widget> FrameLoaderClientImpl::createPlugin(
const String& mimeType,
bool loadManually)
{
-#if !OS(WINDOWS)
- // WebCore asks us to make a plugin even if we don't have a
- // registered handler, with a comment saying it's so we can display
- // the broken plugin icon. In Chromium, we normally register a
- // fallback plugin handler that allows you to install a missing
- // plugin. Since we don't yet have a default plugin handler, we
- // need to return null here rather than going through all the
- // plugin-creation IPCs only to discover we don't have a plugin
- // registered, which causes a crash.
- // FIXME: remove me once we have a default plugin.
- if (objectContentType(url, mimeType) != ObjectContentNetscapePlugin)
- return 0;
-#endif
-
if (!m_webFrame->client())
return 0;
diff --git a/WebKit/chromium/src/IDBCallbacksProxy.cpp b/WebKit/chromium/src/IDBCallbacksProxy.cpp
index 2bdf140..3e5f00a 100644
--- a/WebKit/chromium/src/IDBCallbacksProxy.cpp
+++ b/WebKit/chromium/src/IDBCallbacksProxy.cpp
@@ -34,6 +34,7 @@
#include "WebIDBCallbacks.h"
#include "WebIDBDatabaseImpl.h"
#include "WebIDBDatabaseError.h"
+#include "WebIDBIndexImpl.h"
#include "WebSerializedScriptValue.h"
#if ENABLE(INDEXED_DATABASE)
@@ -60,12 +61,24 @@ void IDBCallbacksProxy::onError(PassRefPtr<IDBDatabaseError> idbDatabaseError)
m_callbacks.clear();
}
+void IDBCallbacksProxy::onSuccess()
+{
+ m_callbacks->onSuccess();
+ m_callbacks.clear();
+}
+
void IDBCallbacksProxy::onSuccess(PassRefPtr<IDBDatabase> idbDatabase)
{
m_callbacks->onSuccess(new WebKit::WebIDBDatabaseImpl(idbDatabase));
m_callbacks.clear();
}
+void IDBCallbacksProxy::onSuccess(PassRefPtr<IDBIndex> idbIndex)
+{
+ m_callbacks->onSuccess(new WebKit::WebIDBIndexImpl(idbIndex));
+ m_callbacks.clear();
+}
+
void IDBCallbacksProxy::onSuccess(PassRefPtr<SerializedScriptValue> serializedScriptValue)
{
m_callbacks->onSuccess(WebKit::WebSerializedScriptValue(serializedScriptValue));
diff --git a/WebKit/chromium/src/IDBCallbacksProxy.h b/WebKit/chromium/src/IDBCallbacksProxy.h
index 5d4bc0b..d98e2ed 100644
--- a/WebKit/chromium/src/IDBCallbacksProxy.h
+++ b/WebKit/chromium/src/IDBCallbacksProxy.h
@@ -51,7 +51,9 @@ public:
virtual ~IDBCallbacksProxy();
virtual void onError(PassRefPtr<IDBDatabaseError>);
+ virtual void onSuccess(); // For "null".
virtual void onSuccess(PassRefPtr<IDBDatabase>);
+ virtual void onSuccess(PassRefPtr<IDBIndex>);
virtual void onSuccess(PassRefPtr<SerializedScriptValue>);
private:
diff --git a/WebKit/chromium/src/IDBDatabaseProxy.cpp b/WebKit/chromium/src/IDBDatabaseProxy.cpp
index d12ec70..deb2f99 100644
--- a/WebKit/chromium/src/IDBDatabaseProxy.cpp
+++ b/WebKit/chromium/src/IDBDatabaseProxy.cpp
@@ -10,9 +10,6 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
@@ -29,7 +26,7 @@
#include "config.h"
#include "IDBDatabaseProxy.h"
-#include "IDBDatabaseError.h"
+#include "DOMStringList.h"
#include "WebIDBDatabase.h"
#include "WebIDBDatabaseError.h"
@@ -51,7 +48,26 @@ IDBDatabaseProxy::~IDBDatabaseProxy()
{
}
+String IDBDatabaseProxy::name()
+{
+ return m_webIDBDatabase->name();
+}
+
+String IDBDatabaseProxy::description()
+{
+ return m_webIDBDatabase->description();
+}
+
+String IDBDatabaseProxy::version()
+{
+ return m_webIDBDatabase->version();
+}
+
+PassRefPtr<DOMStringList> IDBDatabaseProxy::objectStores()
+{
+ return m_webIDBDatabase->objectStores();
+}
+
} // namespace WebCore
#endif // ENABLE(INDEXED_DATABASE)
-
diff --git a/WebKit/chromium/src/IDBDatabaseProxy.h b/WebKit/chromium/src/IDBDatabaseProxy.h
index ac96a15..e5e5125 100644
--- a/WebKit/chromium/src/IDBDatabaseProxy.h
+++ b/WebKit/chromium/src/IDBDatabaseProxy.h
@@ -10,9 +10,6 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
@@ -45,6 +42,11 @@ public:
static PassRefPtr<IDBDatabase> create(PassOwnPtr<WebKit::WebIDBDatabase>);
virtual ~IDBDatabaseProxy();
+ virtual String name();
+ virtual String description();
+ virtual String version();
+ virtual PassRefPtr<DOMStringList> objectStores();
+
// FIXME: Add other methods.
private:
@@ -58,4 +60,3 @@ private:
#endif
#endif // IDBDatabaseProxy_h
-
diff --git a/WebKit/chromium/src/IDBIndexProxy.cpp b/WebKit/chromium/src/IDBIndexProxy.cpp
new file mode 100644
index 0000000..f80eff3
--- /dev/null
+++ b/WebKit/chromium/src/IDBIndexProxy.cpp
@@ -0,0 +1,67 @@
+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "IDBIndexProxy.h"
+
+#include "WebIDBDatabaseError.h"
+#include "WebIDBIndex.h"
+
+#if ENABLE(INDEXED_DATABASE)
+
+namespace WebCore {
+
+PassRefPtr<IDBIndex> IDBIndexProxy::create(PassOwnPtr<WebKit::WebIDBIndex> Index)
+{
+ return adoptRef(new IDBIndexProxy(Index));
+}
+
+IDBIndexProxy::IDBIndexProxy(PassOwnPtr<WebKit::WebIDBIndex> Index)
+ : m_webIDBIndex(Index)
+{
+}
+
+IDBIndexProxy::~IDBIndexProxy()
+{
+}
+
+String IDBIndexProxy::name()
+{
+ return m_webIDBIndex->name();
+}
+
+String IDBIndexProxy::keyPath()
+{
+ return m_webIDBIndex->keyPath();
+}
+
+bool IDBIndexProxy::unique()
+{
+ return m_webIDBIndex->unique();
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
diff --git a/WebKit/chromium/src/IDBIndexProxy.h b/WebKit/chromium/src/IDBIndexProxy.h
new file mode 100644
index 0000000..35e6b30
--- /dev/null
+++ b/WebKit/chromium/src/IDBIndexProxy.h
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef IDBIndexProxy_h
+#define IDBIndexProxy_h
+
+#include "IDBIndex.h"
+#include <wtf/OwnPtr.h>
+#include <wtf/PassOwnPtr.h>
+#include <wtf/PassRefPtr.h>
+
+#if ENABLE(INDEXED_DATABASE)
+
+namespace WebKit { class WebIDBIndex; }
+
+namespace WebCore {
+
+class IDBIndexProxy : public IDBIndex {
+public:
+ static PassRefPtr<IDBIndex> create(PassOwnPtr<WebKit::WebIDBIndex>);
+ virtual ~IDBIndexProxy();
+
+ virtual String name();
+ virtual String keyPath();
+ virtual bool unique();
+
+ // FIXME: Add other methods.
+
+private:
+ IDBIndexProxy(PassOwnPtr<WebKit::WebIDBIndex>);
+
+ OwnPtr<WebKit::WebIDBIndex> m_webIDBIndex;
+};
+
+} // namespace WebCore
+
+#endif
+
+#endif // IDBIndexProxy_h
diff --git a/WebKit/chromium/src/IndexedDatabaseProxy.cpp b/WebKit/chromium/src/IndexedDatabaseProxy.cpp
index aed7c13..2572877 100644
--- a/WebKit/chromium/src/IndexedDatabaseProxy.cpp
+++ b/WebKit/chromium/src/IndexedDatabaseProxy.cpp
@@ -57,12 +57,12 @@ IndexedDatabaseProxy::~IndexedDatabaseProxy()
{
}
-void IndexedDatabaseProxy::open(const String& name, const String& description, bool modifyDatabase, PassRefPtr<IDBCallbacks> callbacks, PassRefPtr<SecurityOrigin> origin, Frame* frame, ExceptionCode& ec)
+void IndexedDatabaseProxy::open(const String& name, const String& description, PassRefPtr<IDBCallbacks> callbacks, PassRefPtr<SecurityOrigin> origin, Frame* frame, ExceptionCode& ec)
{
if (!frame || !frame->document())
return;
WebKit::WebFrame* webFrame = WebKit::WebFrameImpl::fromFrame(frame);
- m_webIndexedDatabase->open(name, description, modifyDatabase, new WebIDBCallbacksImpl(callbacks), origin, webFrame, ec);
+ m_webIndexedDatabase->open(name, description, new WebIDBCallbacksImpl(callbacks), origin, webFrame, ec);
}
} // namespace WebCore
diff --git a/WebKit/chromium/src/IndexedDatabaseProxy.h b/WebKit/chromium/src/IndexedDatabaseProxy.h
index e372e9a..206099c 100644
--- a/WebKit/chromium/src/IndexedDatabaseProxy.h
+++ b/WebKit/chromium/src/IndexedDatabaseProxy.h
@@ -42,7 +42,7 @@ public:
static PassRefPtr<IndexedDatabase> create();
virtual ~IndexedDatabaseProxy();
- virtual void open(const String& name, const String& description, bool modifyDatabase, PassRefPtr<IDBCallbacks>, PassRefPtr<SecurityOrigin>, Frame*, ExceptionCode&);
+ virtual void open(const String& name, const String& description, PassRefPtr<IDBCallbacks>, PassRefPtr<SecurityOrigin>, Frame*, ExceptionCode&);
private:
IndexedDatabaseProxy();
diff --git a/WebKit/chromium/src/InspectorClientImpl.cpp b/WebKit/chromium/src/InspectorClientImpl.cpp
index f69ef72..22b515f 100644
--- a/WebKit/chromium/src/InspectorClientImpl.cpp
+++ b/WebKit/chromium/src/InspectorClientImpl.cpp
@@ -33,10 +33,8 @@
#include "DOMWindow.h"
#include "FloatRect.h"
-#include "InspectorController.h"
#include "NotImplemented.h"
#include "Page.h"
-#include "Settings.h"
#include "WebRect.h"
#include "WebURL.h"
#include "WebURLRequest.h"
@@ -94,65 +92,14 @@ void InspectorClientImpl::hideHighlight()
void InspectorClientImpl::populateSetting(const String& key, String* value)
{
- loadSettings();
- if (m_settings->contains(key))
- *value = m_settings->get(key);
+ WebString string;
+ m_inspectedWebView->inspectorSetting(key, &string);
+ *value = string;
}
void InspectorClientImpl::storeSetting(const String& key, const String& value)
{
- loadSettings();
- m_settings->set(key, value);
- saveSettings();
-}
-
-void InspectorClientImpl::loadSettings()
-{
- if (m_settings)
- return;
-
- m_settings.set(new SettingsMap);
- String data = m_inspectedWebView->inspectorSettings();
- if (data.isEmpty())
- return;
-
- Vector<String> entries;
- data.split("\n", entries);
- for (Vector<String>::iterator it = entries.begin(); it != entries.end(); ++it) {
- Vector<String> tokens;
- it->split(":", tokens);
- if (tokens.size() < 3)
- continue;
-
- String name = decodeURLEscapeSequences(tokens[0]);
- String type = tokens[1];
- String value = tokens[2];
- for (size_t i = 3; i < tokens.size(); ++i)
- value += ":" + tokens[i];
-
- if (type == "string")
- value = decodeURLEscapeSequences(value);
-
- m_settings->set(name, value);
- }
-}
-
-void InspectorClientImpl::saveSettings()
-{
- String data;
- for (SettingsMap::iterator it = m_settings->begin(); it != m_settings->end(); ++it) {
- String name = encodeWithURLEscapeSequences(it->first);
- String value = it->second;
- String entry = String::format(
- "%s:string:%s",
- name.utf8().data(),
- encodeWithURLEscapeSequences(value).utf8().data());
- data.append(entry);
- data.append("\n");
- }
- m_inspectedWebView->setInspectorSettings(data);
- if (m_inspectedWebView->client())
- m_inspectedWebView->client()->didUpdateInspectorSettings();
+ m_inspectedWebView->setInspectorSetting(key, value);
}
} // namespace WebKit
diff --git a/WebKit/chromium/src/InspectorClientImpl.h b/WebKit/chromium/src/InspectorClientImpl.h
index ccbcef7..7447d0c 100644
--- a/WebKit/chromium/src/InspectorClientImpl.h
+++ b/WebKit/chromium/src/InspectorClientImpl.h
@@ -56,14 +56,9 @@ public:
const WebCore::String& value);
private:
- void loadSettings();
- void saveSettings();
// The WebViewImpl of the page being inspected; gets passed to the constructor
WebViewImpl* m_inspectedWebView;
-
- typedef HashMap<WebCore::String, WebCore::String> SettingsMap;
- OwnPtr<SettingsMap> m_settings;
};
} // namespace WebKit
diff --git a/WebKit/chromium/src/InspectorFrontendClientImpl.cpp b/WebKit/chromium/src/InspectorFrontendClientImpl.cpp
index 9ff3938..6f7ed95 100644
--- a/WebKit/chromium/src/InspectorFrontendClientImpl.cpp
+++ b/WebKit/chromium/src/InspectorFrontendClientImpl.cpp
@@ -90,6 +90,8 @@ String InspectorFrontendClientImpl::localizedStringsURL()
String InspectorFrontendClientImpl::hiddenPanels()
{
+ if (m_client->shouldHideScriptsPanel())
+ return "scripts";
return "";
}
diff --git a/WebKit/chromium/src/WebDOMStringList.cpp b/WebKit/chromium/src/WebDOMStringList.cpp
new file mode 100644
index 0000000..cd145bf
--- /dev/null
+++ b/WebKit/chromium/src/WebDOMStringList.cpp
@@ -0,0 +1,82 @@
+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "WebDOMStringList.h"
+
+#include "DOMStringList.h"
+#include "WebString.h"
+
+using namespace WebCore;
+
+namespace WebKit {
+
+void WebDOMStringList::reset()
+{
+ m_private.reset();
+}
+
+void WebDOMStringList::assign(const WebDOMStringList& other)
+{
+ m_private = other.m_private;
+}
+
+void WebDOMStringList::append(const WebString& string)
+{
+ m_private->append(string);
+}
+
+unsigned WebDOMStringList::length() const
+{
+ return m_private->length();
+}
+
+WebString WebDOMStringList::item(unsigned index) const
+{
+ return m_private->item(index);
+}
+
+WebDOMStringList::WebDOMStringList(const WTF::PassRefPtr<WebCore::DOMStringList>& item)
+ : m_private(item)
+{
+}
+
+WebDOMStringList& WebDOMStringList::operator=(const WTF::PassRefPtr<WebCore::DOMStringList>& item)
+{
+ m_private = item;
+ return *this;
+}
+
+WebDOMStringList::operator WTF::PassRefPtr<WebCore::DOMStringList>() const
+{
+ return m_private.get();
+}
+
+} // namespace WebKit
diff --git a/WebKit/chromium/src/WebDevToolsAgentImpl.cpp b/WebKit/chromium/src/WebDevToolsAgentImpl.cpp
index 0969d37..8dde31f 100644
--- a/WebKit/chromium/src/WebDevToolsAgentImpl.cpp
+++ b/WebKit/chromium/src/WebDevToolsAgentImpl.cpp
@@ -43,11 +43,13 @@
#include "InspectorResource.h"
#include "Node.h"
#include "Page.h"
+#include "PageGroup.h"
#include "PlatformString.h"
#include "ProfilerAgentImpl.h"
#include "ResourceError.h"
#include "ResourceRequest.h"
#include "ResourceResponse.h"
+#include "ScriptDebugServer.h"
#include "ScriptObject.h"
#include "ScriptState.h"
#include "ScriptValue.h"
@@ -129,6 +131,90 @@ public:
}
};
+class ClientMessageLoopAdapter : public WebCore::ScriptDebugServer::ClientMessageLoop {
+public:
+ static void ensureClientMessageLoopCreated(WebDevToolsAgentClient* client)
+ {
+ if (s_instance)
+ return;
+ s_instance = new ClientMessageLoopAdapter(client->createClientMessageLoop());
+ WebCore::ScriptDebugServer::shared().setClientMessageLoop(s_instance);
+ }
+
+ static void inspectedViewClosed(WebViewImpl* view)
+ {
+ if (s_instance)
+ s_instance->m_frozenViews.remove(view);
+ }
+
+ static void didNavigate()
+ {
+ // Release render thread if necessary.
+ if (s_instance && s_instance->m_running)
+ WebCore::ScriptDebugServer::shared().continueProgram();
+ }
+
+private:
+ ClientMessageLoopAdapter(PassOwnPtr<WebKit::WebDevToolsAgentClient::WebKitClientMessageLoop> messageLoop)
+ : m_running(false)
+ , m_messageLoop(messageLoop) { }
+
+
+ virtual void run(Page* page)
+ {
+ if (m_running)
+ return;
+ m_running = true;
+
+ Vector<WebViewImpl*> views;
+
+ // 1. Disable input events.
+ HashSet<Page*>::const_iterator end = page->group().pages().end();
+ for (HashSet<Page*>::const_iterator it = page->group().pages().begin(); it != end; ++it) {
+ WebViewImpl* view = WebViewImpl::fromPage(*it);
+ m_frozenViews.add(view);
+ views.append(view);
+ view->setIgnoreInputEvents(true);
+ }
+
+ // 2. Disable active objects
+ WebView::willEnterModalLoop();
+
+ // 3. Process messages until quitNow is called.
+ m_messageLoop->run();
+
+ // 4. Resume active objects
+ WebView::didExitModalLoop();
+
+ // 5. Resume input events.
+ for (Vector<WebViewImpl*>::iterator it = views.begin(); it != views.end(); ++it) {
+ if (m_frozenViews.contains(*it)) {
+ // The view was not closed during the dispatch.
+ (*it)->setIgnoreInputEvents(false);
+ }
+ }
+
+ // 6. All views have been resumed, clear the set.
+ m_frozenViews.clear();
+
+ m_running = false;
+ }
+
+ virtual void quitNow()
+ {
+ m_messageLoop->quitNow();
+ }
+
+ bool m_running;
+ OwnPtr<WebKit::WebDevToolsAgentClient::WebKitClientMessageLoop> m_messageLoop;
+ typedef HashSet<WebViewImpl*> FrozenViewsSet;
+ FrozenViewsSet m_frozenViews;
+ static ClientMessageLoopAdapter* s_instance;
+
+};
+
+ClientMessageLoopAdapter* ClientMessageLoopAdapter::s_instance = 0;
+
} // namespace
WebDevToolsAgentImpl::WebDevToolsAgentImpl(
@@ -141,6 +227,8 @@ WebDevToolsAgentImpl::WebDevToolsAgentImpl(
, m_resourceTrackingWasEnabled(false)
, m_attached(false)
{
+ DebuggerAgentManager::setExposeV8DebuggerProtocol(
+ client->exposeV8DebuggerProtocol());
m_debuggerAgentDelegateStub.set(new DebuggerAgentDelegateStub(this));
m_toolsAgentDelegateStub.set(new ToolsAgentDelegateStub(this));
m_apuAgentDelegateStub.set(new ApuAgentDelegateStub(this));
@@ -149,6 +237,9 @@ WebDevToolsAgentImpl::WebDevToolsAgentImpl(
WebDevToolsAgentImpl::~WebDevToolsAgentImpl()
{
DebuggerAgentManager::onWebViewClosed(m_webViewImpl);
+#if ENABLE(V8_SCRIPT_DEBUG_SERVER)
+ ClientMessageLoopAdapter::inspectedViewClosed(m_webViewImpl);
+#endif
disposeUtilityContext();
}
@@ -164,6 +255,12 @@ void WebDevToolsAgentImpl::attach()
{
if (m_attached)
return;
+
+#if ENABLE(V8_SCRIPT_DEBUG_SERVER)
+ if (!m_client->exposeV8DebuggerProtocol())
+ ClientMessageLoopAdapter::ensureClientMessageLoopCreated(m_client);
+#endif
+
m_debuggerAgentImpl.set(
new DebuggerAgentImpl(m_webViewImpl,
m_debuggerAgentDelegateStub.get(),
@@ -203,6 +300,9 @@ void WebDevToolsAgentImpl::detach()
void WebDevToolsAgentImpl::didNavigate()
{
+#if ENABLE(V8_SCRIPT_DEBUG_SERVER)
+ ClientMessageLoopAdapter::didNavigate();
+#endif
DebuggerAgentManager::onNavigate();
}
diff --git a/WebKit/chromium/src/WebDocument.cpp b/WebKit/chromium/src/WebDocument.cpp
index 21e2bb8..017716d 100644
--- a/WebKit/chromium/src/WebDocument.cpp
+++ b/WebKit/chromium/src/WebDocument.cpp
@@ -62,6 +62,11 @@ bool WebDocument::isHTMLDocument() const
return constUnwrap<Document>()->isHTMLDocument();
}
+bool WebDocument::isXHTMLDocument() const
+{
+ return constUnwrap<Document>()->isXHTMLDocument();
+}
+
bool WebDocument::isPluginDocument() const
{
return constUnwrap<Document>()->isPluginDocument();
diff --git a/WebKit/chromium/src/WebFormControlElement.cpp b/WebKit/chromium/src/WebFormControlElement.cpp
index 0530776..007673e 100644
--- a/WebKit/chromium/src/WebFormControlElement.cpp
+++ b/WebKit/chromium/src/WebFormControlElement.cpp
@@ -45,12 +45,12 @@ bool WebFormControlElement::isEnabled() const
WebString WebFormControlElement::formControlName() const
{
- return constUnwrap<HTMLFormControlElement>()->formControlName();
+ return constUnwrap<HTMLFormControlElement>()->name();
}
WebString WebFormControlElement::formControlType() const
{
- return constUnwrap<HTMLFormControlElement>()->formControlType();
+ return constUnwrap<HTMLFormControlElement>()->type();
}
WebString WebFormControlElement::nameForAutofill() const
diff --git a/WebKit/chromium/src/WebFormElement.cpp b/WebKit/chromium/src/WebFormElement.cpp
index 7952479..8b4ce04 100644
--- a/WebKit/chromium/src/WebFormElement.cpp
+++ b/WebKit/chromium/src/WebFormElement.cpp
@@ -82,10 +82,13 @@ void WebFormElement::getFormControlElements(WebVector<WebFormControlElement>& re
{
const HTMLFormElement* form = constUnwrap<HTMLFormElement>();
Vector<RefPtr<HTMLFormControlElement> > tempVector;
- for (size_t i = 0; i < form->formElements.size(); i++) {
- if (form->formElements[i]->hasLocalName(HTMLNames::inputTag)
- || form->formElements[i]->hasLocalName(HTMLNames::selectTag))
- tempVector.append(form->formElements[i]);
+ // FIXME: We should move the for-loop condition into a variable instead of
+ // re-evaluating size each time. Also, consider refactoring this code so that
+ // we don't call form->associatedElements() multiple times.
+ for (size_t i = 0; i < form->associatedElements().size(); i++) {
+ if (form->associatedElements()[i]->hasLocalName(HTMLNames::inputTag)
+ || form->associatedElements()[i]->hasLocalName(HTMLNames::selectTag))
+ tempVector.append(form->associatedElements()[i]);
}
result.assign(tempVector);
}
diff --git a/WebKit/chromium/src/WebFrameImpl.cpp b/WebKit/chromium/src/WebFrameImpl.cpp
index b678459..bb1f6ce 100644
--- a/WebKit/chromium/src/WebFrameImpl.cpp
+++ b/WebKit/chromium/src/WebFrameImpl.cpp
@@ -75,21 +75,20 @@
#include "ChromiumBridge.h"
#include "ClipboardUtilitiesChromium.h"
#include "Console.h"
+#include "DOMUtilitiesPrivate.h"
+#include "DOMWindow.h"
#include "Document.h"
#include "DocumentFragment.h" // Only needed for ReplaceSelectionCommand.h :(
#include "DocumentLoader.h"
#include "DocumentMarker.h"
-#include "DOMUtilitiesPrivate.h"
-#include "DOMWindow.h"
#include "Editor.h"
#include "EventHandler.h"
#include "FormState.h"
-#include "FrameLoader.h"
#include "FrameLoadRequest.h"
+#include "FrameLoader.h"
#include "FrameTree.h"
#include "FrameView.h"
#include "GraphicsContext.h"
-#include "HistoryItem.h"
#include "HTMLCollection.h"
#include "HTMLFormElement.h"
#include "HTMLFrameOwnerElement.h"
@@ -97,8 +96,8 @@
#include "HTMLInputElement.h"
#include "HTMLLinkElement.h"
#include "HTMLNames.h"
+#include "HistoryItem.h"
#include "InspectorController.h"
-#include "markup.h"
#include "Page.h"
#include "PlatformContextSkia.h"
#include "PluginDocument.h"
@@ -113,8 +112,8 @@
#include "ScriptController.h"
#include "ScriptSourceCode.h"
#include "ScriptValue.h"
-#include "ScrollbarTheme.h"
#include "ScrollTypes.h"
+#include "ScrollbarTheme.h"
#include "SelectionController.h"
#include "Settings.h"
#include "SkiaUtils.h"
@@ -141,6 +140,7 @@
#include "WebVector.h"
#include "WebViewImpl.h"
#include "XPathResult.h"
+#include "markup.h"
#include <algorithm>
#include <wtf/CurrentTime.h>
@@ -1100,11 +1100,11 @@ bool WebFrameImpl::executeCommand(const WebString& name)
// support.
if (command == "DeleteToEndOfParagraph") {
Editor* editor = frame()->editor();
- if (!editor->deleteWithDirection(SelectionController::FORWARD,
+ if (!editor->deleteWithDirection(SelectionController::DirectionForward,
ParagraphBoundary,
true,
false)) {
- editor->deleteWithDirection(SelectionController::FORWARD,
+ editor->deleteWithDirection(SelectionController::DirectionForward,
CharacterGranularity,
true,
false);
@@ -1290,7 +1290,7 @@ bool WebFrameImpl::find(int identifier,
if (!options.findNext)
frame()->page()->unmarkAllTextMatches();
else
- setMarkerActive(m_activeMatch.get(), false); // Active match is changing.
+ setMarkerActive(m_activeMatch.get(), false); // Active match is changing.
// Starts the search from the current selection.
bool startInSelection = true;
@@ -1330,7 +1330,7 @@ bool WebFrameImpl::find(int identifier,
else {
m_activeMatch = newSelection.toNormalizedRange();
currSelectionRect = m_activeMatch->boundingBox();
- setMarkerActive(m_activeMatch.get(), true); // Active.
+ setMarkerActive(m_activeMatch.get(), true); // Active.
// WebKit draws the highlighting for all matches.
executeCommand(WebString::fromUTF8("Unselect"));
}
@@ -1425,7 +1425,7 @@ void WebFrameImpl::scopeStringMatches(int identifier,
identifier,
searchText,
options,
- false); // false=we just reset, so don't do it again.
+ false); // false=we just reset, so don't do it again.
return;
}
@@ -1439,7 +1439,7 @@ void WebFrameImpl::scopeStringMatches(int identifier,
m_resumeScopingFromRange->startOffset(ec2) + 1,
ec);
if (ec || ec2) {
- if (ec2) // A non-zero |ec| happens when navigating during search.
+ if (ec2) // A non-zero |ec| happens when navigating during search.
ASSERT_NOT_REACHED();
return;
}
@@ -1448,7 +1448,7 @@ void WebFrameImpl::scopeStringMatches(int identifier,
// This timeout controls how long we scope before releasing control. This
// value does not prevent us from running for longer than this, but it is
// periodically checked to see if we have exceeded our allocated time.
- const double maxScopingDuration = 0.1; // seconds
+ const double maxScopingDuration = 0.1; // seconds
int matchCount = 0;
bool timedOut = false;
@@ -1555,8 +1555,8 @@ void WebFrameImpl::scopeStringMatches(int identifier,
identifier,
searchText,
options,
- false); // don't reset.
- return; // Done for now, resume work later.
+ false); // don't reset.
+ return; // Done for now, resume work later.
}
// This frame has no further scoping left, so it is done. Other frames might,
@@ -1738,7 +1738,7 @@ PassRefPtr<Frame> WebFrameImpl::createChildFrame(
// it is necessary to check the value after calling init() and
// return without loading URL.
// (b:791612)
- childFrame->init(); // create an empty document
+ childFrame->init(); // create an empty document
if (!childFrame->tree()->parent())
return 0;
@@ -2065,7 +2065,7 @@ bool WebFrameImpl::shouldScopeMatches(const String& searchText)
searchText.substring(0, m_lastSearchString.length());
if (previousSearchPrefix == m_lastSearchString)
- return false; // Don't search this frame, it will be fruitless.
+ return false; // Don't search this frame, it will be fruitless.
}
return true;
diff --git a/WebKit/chromium/src/WebGeolocationServiceMock.cpp b/WebKit/chromium/src/WebGeolocationServiceMock.cpp
index 2eed352..00d819b 100644
--- a/WebKit/chromium/src/WebGeolocationServiceMock.cpp
+++ b/WebKit/chromium/src/WebGeolocationServiceMock.cpp
@@ -36,6 +36,7 @@
#include "GeolocationServiceMock.h"
#include "WebString.h"
#include <wtf/CurrentTime.h>
+#include <wtf/HashMap.h>
#if ENABLE(GEOLOCATION)
@@ -121,8 +122,25 @@ void GeolocationServiceChromiumMock::geolocationServiceErrorOccurred(Geolocation
namespace WebKit {
+class WebGeolocationServiceMockImpl : public WebGeolocationServiceMock {
+public:
+ virtual ~WebGeolocationServiceMockImpl() { }
+ virtual void requestPermissionForFrame(int bridgeId, const WebURL& url);
+ virtual int attachBridge(WebGeolocationServiceBridge*);
+ virtual void detachBridge(int bridgeId);
+
+private:
+ typedef HashMap<int, WebGeolocationServiceBridge*> IdToBridgeMap;
+ IdToBridgeMap m_idToBridgeMap;
+};
+
bool WebGeolocationServiceMock::s_mockGeolocationPermission = false;
+WebGeolocationServiceMock* WebGeolocationServiceMock::createWebGeolocationServiceMock()
+{
+ return new WebGeolocationServiceMockImpl;
+}
+
void WebGeolocationServiceMock::setMockGeolocationPermission(bool allowed)
{
s_mockGeolocationPermission = allowed;
@@ -142,7 +160,7 @@ void WebGeolocationServiceMock::setMockGeolocationError(int errorCode, const Web
GeolocationServiceMock::setError(positionError);
}
-void WebGeolocationServiceMock::requestPermissionForFrame(int bridgeId, const WebURL& url)
+void WebGeolocationServiceMockImpl::requestPermissionForFrame(int bridgeId, const WebURL& url)
{
IdToBridgeMap::iterator iter = m_idToBridgeMap.find(bridgeId);
if (iter == m_idToBridgeMap.end())
@@ -150,7 +168,7 @@ void WebGeolocationServiceMock::requestPermissionForFrame(int bridgeId, const We
iter->second->setIsAllowed(s_mockGeolocationPermission);
}
-int WebGeolocationServiceMock::attachBridge(WebGeolocationServiceBridge* bridge)
+int WebGeolocationServiceMockImpl::attachBridge(WebGeolocationServiceBridge* bridge)
{
static int nextAvailableWatchId = 1;
// In case of overflow, make sure the ID remains positive, but reuse the ID values.
@@ -160,7 +178,7 @@ int WebGeolocationServiceMock::attachBridge(WebGeolocationServiceBridge* bridge)
return nextAvailableWatchId++;
}
-void WebGeolocationServiceMock::detachBridge(int bridgeId)
+void WebGeolocationServiceMockImpl::detachBridge(int bridgeId)
{
m_idToBridgeMap.remove(bridgeId);
}
diff --git a/WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.cpp b/WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.cpp
index e7e0c32..4d24ea9 100644
--- a/WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.cpp
+++ b/WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.cpp
@@ -593,6 +593,50 @@ void WebGraphicsContext3DDefaultImpl::reshape(int width, int height)
notImplemented();
}
+ if (m_attributes.antialias) {
+ glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, m_multisampleFBO);
+ if (m_boundFBO == m_multisampleFBO)
+ mustRestoreFBO = false;
+ }
+
+ // Initialize renderbuffers to 0.
+ GLboolean colorMask[] = {GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE}, depthMask = GL_TRUE, stencilMask = GL_TRUE;
+ GLboolean isScissorEnabled = GL_FALSE;
+ GLboolean isDitherEnabled = GL_FALSE;
+ GLbitfield clearMask = GL_COLOR_BUFFER_BIT;
+ glGetBooleanv(GL_COLOR_WRITEMASK, colorMask);
+ glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
+ if (m_attributes.depth) {
+ glGetBooleanv(GL_DEPTH_WRITEMASK, &depthMask);
+ glDepthMask(GL_TRUE);
+ clearMask |= GL_DEPTH_BUFFER_BIT;
+ }
+ if (m_attributes.stencil) {
+ glGetBooleanv(GL_STENCIL_WRITEMASK, &stencilMask);
+ glStencilMask(GL_TRUE);
+ clearMask |= GL_STENCIL_BUFFER_BIT;
+ }
+ isScissorEnabled = glIsEnabled(GL_SCISSOR_TEST);
+ glDisable(GL_SCISSOR_TEST);
+ isDitherEnabled = glIsEnabled(GL_DITHER);
+ glDisable(GL_DITHER);
+
+ glClear(clearMask);
+
+ glColorMask(colorMask[0], colorMask[1], colorMask[2], colorMask[3]);
+ if (m_attributes.depth)
+ glDepthMask(depthMask);
+ if (m_attributes.stencil)
+ glStencilMask(stencilMask);
+ if (isScissorEnabled)
+ glEnable(GL_SCISSOR_TEST);
+ else
+ glDisable(GL_SCISSOR_TEST);
+ if (isDitherEnabled)
+ glEnable(GL_DITHER);
+ else
+ glDisable(GL_DITHER);
+
if (mustRestoreFBO)
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, m_boundFBO);
#endif // RENDER_TO_DEBUGGING_WINDOW
@@ -604,13 +648,6 @@ void WebGraphicsContext3DDefaultImpl::reshape(int width, int height)
}
m_scanline = new unsigned char[width * 4];
#endif // FLIP_FRAMEBUFFER_VERTICALLY
-
- GLbitfield clearMask = GL_COLOR_BUFFER_BIT;
- if (m_attributes.stencil)
- clearMask |= GL_STENCIL_BUFFER_BIT;
- if (m_attributes.depth)
- clearMask |= GL_DEPTH_BUFFER_BIT;
- glClear(clearMask);
}
#ifdef FLIP_FRAMEBUFFER_VERTICALLY
diff --git a/WebKit/chromium/src/WebIDBCallbacksImpl.cpp b/WebKit/chromium/src/WebIDBCallbacksImpl.cpp
index 8f88cb6..ea1c0b1 100644
--- a/WebKit/chromium/src/WebIDBCallbacksImpl.cpp
+++ b/WebKit/chromium/src/WebIDBCallbacksImpl.cpp
@@ -10,9 +10,6 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
@@ -32,9 +29,11 @@
#include "IDBCallbacks.h"
#include "IDBDatabaseError.h"
#include "IDBDatabaseProxy.h"
+#include "IDBIndexProxy.h"
#include "WebIDBCallbacks.h"
#include "WebIDBDatabase.h"
#include "WebIDBDatabaseError.h"
+#include "WebIDBIndex.h"
#include "WebSerializedScriptValue.h"
#if ENABLE(INDEXED_DATABASE)
@@ -56,12 +55,24 @@ void WebIDBCallbacksImpl::onError(const WebKit::WebIDBDatabaseError& error)
m_callbacks.clear();
}
+void WebIDBCallbacksImpl::onSuccess()
+{
+ m_callbacks->onSuccess();
+ m_callbacks.clear();
+}
+
void WebIDBCallbacksImpl::onSuccess(WebKit::WebIDBDatabase* webKitInstance)
{
m_callbacks->onSuccess(IDBDatabaseProxy::create(webKitInstance));
m_callbacks.clear();
}
+void WebIDBCallbacksImpl::onSuccess(WebKit::WebIDBIndex* webKitInstance)
+{
+ m_callbacks->onSuccess(IDBIndexProxy::create(webKitInstance));
+ m_callbacks.clear();
+}
+
void WebIDBCallbacksImpl::onSuccess(const WebKit::WebSerializedScriptValue& serializedScriptValue)
{
m_callbacks->onSuccess(serializedScriptValue);
@@ -71,4 +82,3 @@ void WebIDBCallbacksImpl::onSuccess(const WebKit::WebSerializedScriptValue& seri
} // namespace WebCore
#endif // ENABLE(INDEXED_DATABASE)
-
diff --git a/WebKit/chromium/src/WebIDBCallbacksImpl.h b/WebKit/chromium/src/WebIDBCallbacksImpl.h
index 9b53117..8e5ada7 100644
--- a/WebKit/chromium/src/WebIDBCallbacksImpl.h
+++ b/WebKit/chromium/src/WebIDBCallbacksImpl.h
@@ -10,9 +10,6 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
@@ -35,24 +32,20 @@
#if ENABLE(INDEXED_DATABASE)
-namespace WebKit {
-class WebIDBDatabase;
-class WebIDBDatabaseError;
-class WebSerializedScriptValue;
-}
-
namespace WebCore {
class IDBCallbacks;
class WebIDBCallbacksImpl : public WebKit::WebIDBCallbacks {
public:
- WebIDBCallbacksImpl(PassRefPtr<IDBCallbacks> callbacks);
+ WebIDBCallbacksImpl(PassRefPtr<IDBCallbacks>);
virtual ~WebIDBCallbacksImpl();
- virtual void onError(const WebKit::WebIDBDatabaseError& error);
- virtual void onSuccess(WebKit::WebIDBDatabase* webKitInstance);
- virtual void onSuccess(const WebKit::WebSerializedScriptValue& serializedScriptValue);
+ virtual void onError(const WebKit::WebIDBDatabaseError&);
+ virtual void onSuccess(); // For "null".
+ virtual void onSuccess(WebKit::WebIDBDatabase*);
+ virtual void onSuccess(WebKit::WebIDBIndex*);
+ virtual void onSuccess(const WebKit::WebSerializedScriptValue&);
private:
RefPtr<IDBCallbacks> m_callbacks;
diff --git a/WebKit/chromium/src/WebIDBDatabaseImpl.cpp b/WebKit/chromium/src/WebIDBDatabaseImpl.cpp
index e33edc2..3a00ccb 100644
--- a/WebKit/chromium/src/WebIDBDatabaseImpl.cpp
+++ b/WebKit/chromium/src/WebIDBDatabaseImpl.cpp
@@ -10,9 +10,6 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
@@ -29,6 +26,7 @@
#include "config.h"
#include "WebIDBDatabaseImpl.h"
+#include "DOMStringList.h"
#include "IDBDatabase.h"
#if ENABLE(INDEXED_DATABASE)
@@ -38,6 +36,7 @@ using namespace WebCore;
namespace WebKit {
WebIDBDatabaseImpl::WebIDBDatabaseImpl(PassRefPtr<IDBDatabase> idbDatabase)
+ : m_idbDatabase(idbDatabase)
{
}
@@ -45,6 +44,26 @@ WebIDBDatabaseImpl::~WebIDBDatabaseImpl()
{
}
+WebString WebIDBDatabaseImpl::name()
+{
+ return m_idbDatabase->name();
+}
+
+WebString WebIDBDatabaseImpl::description()
+{
+ return m_idbDatabase->description();
+}
+
+WebString WebIDBDatabaseImpl::version()
+{
+ return m_idbDatabase->version();
+}
+
+WebDOMStringList WebIDBDatabaseImpl::objectStores()
+{
+ return m_idbDatabase->objectStores();
+}
+
} // namespace WebCore
#endif // ENABLE(INDEXED_DATABASE)
diff --git a/WebKit/chromium/src/WebIDBDatabaseImpl.h b/WebKit/chromium/src/WebIDBDatabaseImpl.h
index 758f84a..f99a759 100644
--- a/WebKit/chromium/src/WebIDBDatabaseImpl.h
+++ b/WebKit/chromium/src/WebIDBDatabaseImpl.h
@@ -10,9 +10,6 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
@@ -44,7 +41,10 @@ public:
WebIDBDatabaseImpl(WTF::PassRefPtr<WebCore::IDBDatabase> idbDatabase);
virtual ~WebIDBDatabaseImpl();
- // FIXME: Implement.
+ virtual WebString name();
+ virtual WebString description();
+ virtual WebString version();
+ virtual WebDOMStringList objectStores();
private:
WTF::RefPtr<WebCore::IDBDatabase> m_idbDatabase;
diff --git a/WebKit/chromium/src/WebIDBIndexImpl.cpp b/WebKit/chromium/src/WebIDBIndexImpl.cpp
new file mode 100644
index 0000000..304217c
--- /dev/null
+++ b/WebKit/chromium/src/WebIDBIndexImpl.cpp
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "WebIDBIndexImpl.h"
+
+#include "IDBIndex.h"
+
+#if ENABLE(INDEXED_DATABASE)
+
+using namespace WebCore;
+
+namespace WebKit {
+
+WebIDBIndexImpl::WebIDBIndexImpl(PassRefPtr<IDBIndex> idbIndex)
+ : m_idbIndex(idbIndex)
+{
+}
+
+WebIDBIndexImpl::~WebIDBIndexImpl()
+{
+}
+
+WebString WebIDBIndexImpl::name() const
+{
+ return m_idbIndex->name();
+}
+
+WebString WebIDBIndexImpl::keyPath() const
+{
+ return m_idbIndex->keyPath();
+}
+
+bool WebIDBIndexImpl::unique() const
+{
+ return m_idbIndex->unique();
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
diff --git a/WebKit/chromium/src/WebIDBIndexImpl.h b/WebKit/chromium/src/WebIDBIndexImpl.h
new file mode 100644
index 0000000..e1f0538
--- /dev/null
+++ b/WebKit/chromium/src/WebIDBIndexImpl.h
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef WebIDBIndexImpl_h
+#define WebIDBIndexImpl_h
+
+#include "WebCommon.h"
+#include "WebIDBIndex.h"
+#include <wtf/PassRefPtr.h>
+#include <wtf/RefPtr.h>
+
+namespace WebCore { class IDBIndex; }
+
+namespace WebKit {
+
+// See comment in WebIndexedDatabase for a high level overview these classes.
+class WebIDBIndexImpl : public WebIDBIndex {
+public:
+ WebIDBIndexImpl(WTF::PassRefPtr<WebCore::IDBIndex> idbIndex);
+ virtual ~WebIDBIndexImpl();
+
+ virtual WebString name() const;
+ virtual WebString keyPath() const;
+ virtual bool unique() const;
+
+private:
+ WTF::RefPtr<WebCore::IDBIndex> m_idbIndex;
+};
+
+} // namespace WebKit
+
+#endif // WebIDBIndexImpl_h
diff --git a/WebKit/chromium/src/WebIndexedDatabaseImpl.cpp b/WebKit/chromium/src/WebIndexedDatabaseImpl.cpp
index 99aad39..00122ad 100644
--- a/WebKit/chromium/src/WebIndexedDatabaseImpl.cpp
+++ b/WebKit/chromium/src/WebIndexedDatabaseImpl.cpp
@@ -57,9 +57,9 @@ WebIndexedDatabaseImpl::~WebIndexedDatabaseImpl()
{
}
-void WebIndexedDatabaseImpl::open(const WebString& name, const WebString& description, bool modifyDatabase, WebIDBCallbacks* callbacks, const WebSecurityOrigin& origin, WebFrame*, int& exceptionCode)
+void WebIndexedDatabaseImpl::open(const WebString& name, const WebString& description, WebIDBCallbacks* callbacks, const WebSecurityOrigin& origin, WebFrame*, int& exceptionCode)
{
- m_indexedDatabase->open(name, description, modifyDatabase, IDBCallbacksProxy::create(callbacks), origin, 0, exceptionCode);
+ m_indexedDatabase->open(name, description, IDBCallbacksProxy::create(callbacks), origin, 0, exceptionCode);
}
} // namespace WebKit
diff --git a/WebKit/chromium/src/WebIndexedDatabaseImpl.h b/WebKit/chromium/src/WebIndexedDatabaseImpl.h
index 57d20a6..072a92b 100644
--- a/WebKit/chromium/src/WebIndexedDatabaseImpl.h
+++ b/WebKit/chromium/src/WebIndexedDatabaseImpl.h
@@ -41,7 +41,7 @@ public:
WebIndexedDatabaseImpl();
virtual ~WebIndexedDatabaseImpl();
- virtual void open(const WebString& name, const WebString& description, bool modifyDatabase, WebIDBCallbacks*, const WebSecurityOrigin&, WebFrame*, int& exceptionCode);
+ virtual void open(const WebString& name, const WebString& description, WebIDBCallbacks*, const WebSecurityOrigin&, WebFrame*, int& exceptionCode);
private:
WTF::RefPtr<WebCore::IndexedDatabase> m_indexedDatabase;
diff --git a/WebKit/chromium/src/WebNotification.cpp b/WebKit/chromium/src/WebNotification.cpp
index 5200d17..5ae1557 100644
--- a/WebKit/chromium/src/WebNotification.cpp
+++ b/WebKit/chromium/src/WebNotification.cpp
@@ -94,6 +94,16 @@ WebString WebNotification::body() const
return m_private->contents().body();
}
+WebString WebNotification::dir() const
+{
+ return m_private->dir();
+}
+
+WebString WebNotification::replaceId() const
+{
+ return m_private->replaceId();
+}
+
void WebNotification::dispatchDisplayEvent()
{
RefPtr<Event> event = Event::create("display", false, true);
diff --git a/WebKit/chromium/src/WebPasswordFormUtils.cpp b/WebKit/chromium/src/WebPasswordFormUtils.cpp
index 766dc63..e5d5411 100644
--- a/WebKit/chromium/src/WebPasswordFormUtils.cpp
+++ b/WebKit/chromium/src/WebPasswordFormUtils.cpp
@@ -65,7 +65,7 @@ void findPasswordFormFields(HTMLFormElement* form, PasswordFormFields* fields)
int firstPasswordIndex = 0;
// First, find the password fields and activated submit button
- const Vector<HTMLFormControlElement*>& formElements = form->formElements;
+ const Vector<HTMLFormControlElement*>& formElements = form->associatedElements();
for (size_t i = 0; i < formElements.size(); i++) {
HTMLFormControlElement* formElement = formElements[i];
if (formElement->isActivatedSubmit())
diff --git a/WebKit/chromium/src/WebPluginListBuilderImpl.cpp b/WebKit/chromium/src/WebPluginListBuilderImpl.cpp
index 6926a2d..8f5a1f7 100644
--- a/WebKit/chromium/src/WebPluginListBuilderImpl.cpp
+++ b/WebKit/chromium/src/WebPluginListBuilderImpl.cpp
@@ -41,27 +41,28 @@ namespace WebKit {
void WebPluginListBuilderImpl::addPlugin(const WebString& name, const WebString& description, const WebString& fileName)
{
- PluginInfo* info = new PluginInfo();
- info->name = name;
- info->desc = description;
- info->file = fileName;
+ PluginInfo info;
+ info.name = name;
+ info.desc = description;
+ info.file = fileName;
m_results->append(info);
}
void WebPluginListBuilderImpl::addMediaTypeToLastPlugin(const WebString& name, const WebString& description)
{
- MimeClassInfo* info = new MimeClassInfo();
- info->type = name;
- info->desc = description;
- m_results->last()->mimes.append(info);
+ MimeClassInfo info;
+ info.type = name;
+ info.desc = description;
+ info.pluginIndex = m_results->size() - 1;
+ m_results->last().mimes.append(info);
}
void WebPluginListBuilderImpl::addFileExtensionToLastMediaType(const WebString& extension)
{
- MimeClassInfo* info = m_results->last()->mimes.last();
- if (!info->suffixes.isEmpty())
- info->suffixes.append(',');
- info->suffixes.append(extension);
+ MimeClassInfo& info = m_results->last().mimes.last();
+ if (!info.suffixes.isEmpty())
+ info.suffixes.append(',');
+ info.suffixes.append(extension);
}
} // namespace WebKit
diff --git a/WebKit/chromium/src/WebPluginListBuilderImpl.h b/WebKit/chromium/src/WebPluginListBuilderImpl.h
index 7a8a497..3d7977a 100644
--- a/WebKit/chromium/src/WebPluginListBuilderImpl.h
+++ b/WebKit/chromium/src/WebPluginListBuilderImpl.h
@@ -40,7 +40,7 @@ namespace WebKit {
class WebPluginListBuilderImpl : public WebPluginListBuilder {
public:
- WebPluginListBuilderImpl(Vector<WebCore::PluginInfo*>* results) : m_results(results) { }
+ WebPluginListBuilderImpl(Vector<WebCore::PluginInfo>* results) : m_results(results) { }
// WebPluginListBuilder methods:
virtual void addPlugin(const WebString& name, const WebString& description, const WebString& fileName);
@@ -48,7 +48,7 @@ public:
virtual void addFileExtensionToLastMediaType(const WebString& extension);
private:
- Vector<WebCore::PluginInfo*>* m_results;
+ Vector<WebCore::PluginInfo>* m_results;
};
} // namespace WebKit
diff --git a/WebKit/chromium/src/WebSearchableFormData.cpp b/WebKit/chromium/src/WebSearchableFormData.cpp
index 8eef6cc..601a497 100644
--- a/WebKit/chromium/src/WebSearchableFormData.cpp
+++ b/WebKit/chromium/src/WebSearchableFormData.cpp
@@ -77,7 +77,8 @@ bool IsHTTPFormSubmit(const HTMLFormElement* form)
HTMLFormControlElement* GetButtonToActivate(HTMLFormElement* form)
{
HTMLFormControlElement* firstSubmitButton = 0;
- for (Vector<HTMLFormControlElement*>::const_iterator i(form->formElements.begin()); i != form->formElements.end(); ++i) {
+ // FIXME: Consider refactoring this code so that we don't call form->associatedElements() twice.
+ for (Vector<HTMLFormControlElement*>::const_iterator i(form->associatedElements().begin()); i != form->associatedElements().end(); ++i) {
HTMLFormControlElement* formElement = *i;
if (formElement->isActivatedSubmit())
// There's a button that is already activated for submit, return 0.
@@ -154,7 +155,8 @@ bool HasSuitableTextElement(const HTMLFormElement* form, Vector<char>* encodedSt
*encodingName = encoding.name();
HTMLInputElement* textElement = 0;
- for (Vector<HTMLFormControlElement*>::const_iterator i(form->formElements.begin()); i != form->formElements.end(); ++i) {
+ // FIXME: Consider refactoring this code so that we don't call form->associatedElements() twice.
+ for (Vector<HTMLFormControlElement*>::const_iterator i(form->associatedElements().begin()); i != form->associatedElements().end(); ++i) {
HTMLFormControlElement* formElement = *i;
if (formElement->disabled() || formElement->name().isNull())
continue;
diff --git a/WebKit/chromium/src/WebSettingsImpl.cpp b/WebKit/chromium/src/WebSettingsImpl.cpp
index 5f32346..946782b 100644
--- a/WebKit/chromium/src/WebSettingsImpl.cpp
+++ b/WebKit/chromium/src/WebSettingsImpl.cpp
@@ -274,4 +274,14 @@ void WebSettingsImpl::setEditingBehavior(EditingBehavior behavior)
m_settings->setEditingBehavior(static_cast<WebCore::EditingBehavior>(behavior));
}
+void WebSettingsImpl::setAcceleratedCompositingEnabled(bool enabled)
+{
+ m_settings->setAcceleratedCompositingEnabled(enabled);
+}
+
+void WebSettingsImpl::setHTML5ParserEnabled(bool enabled)
+{
+ m_settings->setHTML5ParserEnabled(enabled);
+}
+
} // namespace WebKit
diff --git a/WebKit/chromium/src/WebSettingsImpl.h b/WebKit/chromium/src/WebSettingsImpl.h
index 0a90091..70bd792 100644
--- a/WebKit/chromium/src/WebSettingsImpl.h
+++ b/WebKit/chromium/src/WebSettingsImpl.h
@@ -86,6 +86,8 @@ public:
virtual void setExperimentalWebGLEnabled(bool);
virtual void setShowDebugBorders(bool);
virtual void setEditingBehavior(EditingBehavior);
+ virtual void setAcceleratedCompositingEnabled(bool);
+ virtual void setHTML5ParserEnabled(bool);
private:
WebCore::Settings* m_settings;
diff --git a/WebKit/chromium/src/WebViewImpl.cpp b/WebKit/chromium/src/WebViewImpl.cpp
index 4e8b7c8..a38995e 100644
--- a/WebKit/chromium/src/WebViewImpl.cpp
+++ b/WebKit/chromium/src/WebViewImpl.cpp
@@ -73,7 +73,6 @@
#include "PlatformKeyboardEvent.h"
#include "PlatformMouseEvent.h"
#include "PlatformWheelEvent.h"
-#include "PluginInfoStore.h"
#include "PopupMenuChromium.h"
#include "PopupMenuClient.h"
#include "ProgressTracker.h"
@@ -258,6 +257,8 @@ WebViewImpl::WebViewImpl(WebViewClient* client)
m_page->backForwardList()->setClient(&m_backForwardListClientImpl);
m_page->setGroupName(pageGroupName);
+
+ m_inspectorSettingsMap.set(new SettingsMap);
}
WebViewImpl::~WebViewImpl()
@@ -1462,9 +1463,12 @@ int WebViewImpl::setZoomLevel(bool textOnly, int zoomLevel)
maxTextSizeMultiplier),
minTextSizeMultiplier));
Frame* frame = mainFrameImpl()->frame();
- if (zoomFactor != frame->zoomFactor()) {
+ FrameView* view = frame->view();
+ if (!view)
+ return m_zoomLevel;
+ if (zoomFactor != view->zoomFactor()) {
m_zoomLevel = zoomLevel;
- frame->setZoomFactor(zoomFactor, textOnly ? ZoomTextOnly : ZoomPage);
+ view->setZoomFactor(zoomFactor, textOnly ? ZoomTextOnly : ZoomPage);
}
return m_zoomLevel;
}
@@ -1692,6 +1696,21 @@ void WebViewImpl::setInspectorSettings(const WebString& settings)
m_inspectorSettings = settings;
}
+bool WebViewImpl::inspectorSetting(const WebString& key, WebString* value) const
+{
+ if (!m_inspectorSettingsMap->contains(key))
+ return false;
+ *value = m_inspectorSettingsMap->get(key);
+ return true;
+}
+
+void WebViewImpl::setInspectorSetting(const WebString& key,
+ const WebString& value)
+{
+ m_inspectorSettingsMap->set(key, value);
+ client()->didUpdateInspectorSetting(key, value);
+}
+
WebDevToolsAgent* WebViewImpl::devToolsAgent()
{
return m_devToolsAgent.get();
@@ -2115,12 +2134,12 @@ void WebViewImpl::updateRootLayerContents(const WebRect& rect)
if (rootLayer) {
IntRect visibleRect = view->visibleContentRect(true);
- // Update the root layer's backing store to be the size of the dirty rect.
- // Unlike other layers the root layer doesn't have persistent storage for its
- // contents in system memory.
- rootLayer->setBackingStoreSize(IntSize(rect.width, rect.height));
- GraphicsContext* rootLayerContext = rootLayer->graphicsContext();
- skia::PlatformCanvas* platformCanvas = rootLayer->platformCanvas();
+ m_layerRenderer->setRootLayerCanvasSize(IntSize(rect.width, rect.height));
+ GraphicsContext* rootLayerContext = m_layerRenderer->rootLayerGraphicsContext();
+
+#if PLATFORM(SKIA)
+ PlatformContextSkia* skiaContext = rootLayerContext->platformContext();
+ skia::PlatformCanvas* platformCanvas = skiaContext->canvas();
platformCanvas->save();
@@ -2129,10 +2148,11 @@ void WebViewImpl::updateRootLayerContents(const WebRect& rect)
rootLayerContext->save();
- webframe->paintWithContext(*(rootLayer->graphicsContext()), rect);
+ webframe->paintWithContext(*rootLayerContext, rect);
rootLayerContext->restore();
platformCanvas->restore();
+#endif
}
}
diff --git a/WebKit/chromium/src/WebViewImpl.h b/WebKit/chromium/src/WebViewImpl.h
index d545a42..b2fc680 100644
--- a/WebKit/chromium/src/WebViewImpl.h
+++ b/WebKit/chromium/src/WebViewImpl.h
@@ -152,6 +152,9 @@ public:
virtual void inspectElementAt(const WebPoint& point);
virtual WebString inspectorSettings() const;
virtual void setInspectorSettings(const WebString& settings);
+ virtual bool inspectorSetting(const WebString& key, WebString* value) const;
+ virtual void setInspectorSetting(const WebString& key,
+ const WebString& value);
virtual WebDevToolsAgent* devToolsAgent();
virtual void setDevToolsAgent(WebDevToolsAgent*);
virtual WebAccessibilityObject accessibilityObject();
@@ -485,6 +488,9 @@ private:
// Inspector settings.
WebString m_inspectorSettings;
+ typedef HashMap<WebCore::String, WebCore::String> SettingsMap;
+ OwnPtr<SettingsMap> m_inspectorSettingsMap;
+
#if ENABLE(NOTIFICATIONS)
// The provider of desktop notifications;
NotificationPresenterImpl m_notificationPresenter;
diff --git a/WebKit/chromium/src/js/DebuggerScript.js b/WebKit/chromium/src/js/DebuggerScript.js
index 7c4d126..7e5b430 100644
--- a/WebKit/chromium/src/js/DebuggerScript.js
+++ b/WebKit/chromium/src/js/DebuggerScript.js
@@ -43,9 +43,9 @@ DebuggerScript._pauseOnExceptionsState = DebuggerScript.PauseOnExceptionsState.D
Debug.clearBreakOnException();
Debug.clearBreakOnUncaughtException();
-DebuggerScript.getAfterCompileScript = function(execState, args)
+DebuggerScript.getAfterCompileScript = function(eventData)
{
- return DebuggerScript._formatScript(args.eventData.script_.script_);
+ return DebuggerScript._formatScript(eventData.script_.script_);
}
DebuggerScript.getScripts = function(contextData)
@@ -137,17 +137,17 @@ DebuggerScript.currentCallFrame = function(execState, args)
return topFrame;
}
-DebuggerScript.stepIntoStatement = function(execState, args)
+DebuggerScript.stepIntoStatement = function(execState)
{
execState.prepareStep(Debug.StepAction.StepIn, 1);
}
-DebuggerScript.stepOverStatement = function(execState, args)
+DebuggerScript.stepOverStatement = function(execState)
{
execState.prepareStep(Debug.StepAction.StepNext, 1);
}
-DebuggerScript.stepOutOfFunction = function(execState, args)
+DebuggerScript.stepOutOfFunction = function(execState)
{
execState.prepareStep(Debug.StepAction.StepOut, 1);
}
diff --git a/WebKit/chromium/src/js/InspectorControllerImpl.js b/WebKit/chromium/src/js/InspectorControllerImpl.js
index 5c3e8bd..86f885a 100644
--- a/WebKit/chromium/src/js/InspectorControllerImpl.js
+++ b/WebKit/chromium/src/js/InspectorControllerImpl.js
@@ -56,6 +56,8 @@ devtools.InspectorBackendImpl = function()
this.installInspectorControllerDelegate_("getEventListenersForNode");
this.installInspectorControllerDelegate_("getProfile");
this.installInspectorControllerDelegate_("getProfileHeaders");
+ this.installInspectorControllerDelegate_("removeProfile");
+ this.installInspectorControllerDelegate_("clearProfiles");
this.installInspectorControllerDelegate_("getResourceContent");
this.installInspectorControllerDelegate_("highlightDOMNode");
this.installInspectorControllerDelegate_("hideDOMNodeHighlight");
@@ -80,6 +82,8 @@ devtools.InspectorBackendImpl = function()
this.installInspectorControllerDelegate_("getStyles");
this.installInspectorControllerDelegate_("getComputedStyle");
this.installInspectorControllerDelegate_("getInlineStyle");
+ this.installInspectorControllerDelegate_("getStyleSheet");
+ this.installInspectorControllerDelegate_("getRuleRangesForStyleSheetId");
this.installInspectorControllerDelegate_("applyStyleText");
this.installInspectorControllerDelegate_("setStyleText");
this.installInspectorControllerDelegate_("setStyleProperty");
@@ -94,7 +98,6 @@ devtools.InspectorBackendImpl = function()
this.installInspectorControllerDelegate_("removeBreakpoint");
this.installInspectorControllerDelegate_("activateBreakpoints");
this.installInspectorControllerDelegate_("deactivateBreakpoints");
- this.installInspectorControllerDelegate_("pauseInDebugger");
this.installInspectorControllerDelegate_("resumeDebugger");
this.installInspectorControllerDelegate_("stepIntoStatementInDebugger");
this.installInspectorControllerDelegate_("stepOutOfFunctionInDebugger");
@@ -217,6 +220,13 @@ devtools.InspectorBackendImpl.prototype.setPauseOnExceptions = function(value)
return devtools.tools.getDebuggerAgent().setPauseOnExceptions(value);
};
+} else {
+
+devtools.InspectorBackendImpl.prototype.pauseInDebugger = function()
+{
+ RemoteDebuggerCommandExecutor.DebuggerPauseScript();
+};
+
}
diff --git a/WebKit/chromium/src/js/devTools.css b/WebKit/chromium/src/js/devTools.css
index 6b4b3e5..2cb4ab3 100755
--- a/WebKit/chromium/src/js/devTools.css
+++ b/WebKit/chromium/src/js/devTools.css
@@ -237,6 +237,6 @@ select.status-bar-item {
-webkit-box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.0);
}
-.timeline-category-tree-item input {
+.timeline-category-statusbar-item input {
vertical-align: middle;
}
diff --git a/WebKit/efl/EWebLauncher/main.c b/WebKit/efl/EWebLauncher/main.c
index b0c64bf..d36c807 100644
--- a/WebKit/efl/EWebLauncher/main.c
+++ b/WebKit/efl/EWebLauncher/main.c
@@ -153,8 +153,8 @@ print_history(Eina_List *list)
Ewk_History_Item *item = (Ewk_History_Item*)d;
cairo_surface_t *cs = ewk_history_item_icon_surface_get(item);
char buf[PATH_MAX];
- ssize_t s = snprintf(buf, sizeof(buf), "/tmp/favicon-%s.png", ewk_history_item_uri_original_get(item));
- for (s--; s >= sizeof("/tmp/favicon-"); s--) {
+ int s = snprintf(buf, sizeof(buf), "/tmp/favicon-%s.png", ewk_history_item_uri_original_get(item));
+ for (s--; s >= (int)sizeof("/tmp/favicon-"); s--) {
if (!isalnum(buf[s]) && buf[s] != '.')
buf[s] = '_';
}
@@ -378,6 +378,12 @@ on_key_down(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
Evas_Event_Key_Down *ev = (Evas_Event_Key_Down*) event_info;
ELauncher *app = data;
+ static const char *encodings[] = {
+ "ISO-8859-1",
+ "UTF-8",
+ NULL
+ };
+ static int currentEncoding = -1;
if (!strcmp(ev->key, "Escape")) {
closeWindow(app->ee);
@@ -401,6 +407,11 @@ on_key_down(void *data, Evas *e, Evas_Object *obj, void *event_info)
ewk_view_forward(obj);
} else
info("Forward ignored: No forward history\n");
+ } else if (!strcmp(ev->key, "F3")) {
+ currentEncoding++;
+ currentEncoding %= (sizeof(encodings) / sizeof(encodings[0]));
+ info("Set encoding (F3) pressed. New encoding to %s", encodings[currentEncoding]);
+ ewk_view_setting_encoding_custom_set(obj, encodings[currentEncoding]);
} else if (!strcmp(ev->key, "F4")) {
Evas_Object *frame = ewk_view_frame_main_get(obj);
Evas_Coord x, y;
@@ -672,7 +683,7 @@ main(int argc, char *argv[])
Eina_Rectangle geometry = {0, 0, 0, 0};
char *url = NULL;
char *userAgent = NULL;
- char *tmp;
+ const char *tmp;
char path[PATH_MAX];
char *engine = NULL;
@@ -733,6 +744,7 @@ main(int argc, char *argv[])
snprintf(path, sizeof(path), "%s/.ewebkit-%u", tmp, getuid());
ecore_file_mkpath(path);
ewk_settings_icon_database_path_set(path);
+ ewk_settings_web_database_path_set(path);
browserCreate(url, theme, userAgent, geometry, engine, isFullscreen);
ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, main_signal_exit, &windows);
diff --git a/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp b/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp
index 92b95b6..c51befb 100644
--- a/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp
+++ b/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp
@@ -34,6 +34,7 @@
#include "ChromeClientEfl.h"
#if ENABLE(DATABASE)
+#include "DatabaseDetails.h"
#include "DatabaseTracker.h"
#endif
#include "EWebKit.h"
@@ -188,6 +189,16 @@ bool ChromeClientEfl::menubarVisible()
return visible;
}
+void ChromeClientEfl::createSelectPopup(PopupMenuClient* client, int selected, const IntRect& rect)
+{
+ ewk_view_popup_new(m_view, client, selected, rect);
+}
+
+bool ChromeClientEfl::destroySelectPopup()
+{
+ return ewk_view_popup_destroy(m_view);
+}
+
void ChromeClientEfl::setResizable(bool)
{
notImplemented();
@@ -345,12 +356,21 @@ void ChromeClientEfl::reachedMaxAppCacheSize(int64_t spaceNeeded)
#if ENABLE(DATABASE)
void ChromeClientEfl::exceededDatabaseQuota(Frame* frame, const String& databaseName)
{
- uint64_t quota = ewk_settings_web_database_default_quota_get();
+ uint64_t quota;
+ SecurityOrigin* origin = frame->document()->securityOrigin();
+
+ DatabaseDetails details = DatabaseTracker::tracker().detailsForNameAndOrigin(databaseName, origin);
+ quota = ewk_view_exceeded_database_quota(m_view,
+ kit(frame), databaseName.utf8().data(),
+ details.currentUsage(), details.expectedUsage());
- if (!DatabaseTracker::tracker().hasEntryForOrigin(frame->document()->securityOrigin()))
- DatabaseTracker::tracker().setQuota(frame->document()->securityOrigin(), quota);
+ /* if client did not set quota, and database is being created now, the
+ * default quota is applied
+ */
+ if (!quota && !DatabaseTracker::tracker().hasEntryForOrigin(origin))
+ quota = ewk_settings_web_database_default_quota_get();
- ewk_view_exceeded_database_quota(m_view, kit(frame), databaseName.utf8().data());
+ DatabaseTracker::tracker().setQuota(origin, quota);
}
#endif
diff --git a/WebKit/efl/WebCoreSupport/ChromeClientEfl.h b/WebKit/efl/WebCoreSupport/ChromeClientEfl.h
index 8df8483..399ef7f 100644
--- a/WebKit/efl/WebCoreSupport/ChromeClientEfl.h
+++ b/WebKit/efl/WebCoreSupport/ChromeClientEfl.h
@@ -25,6 +25,7 @@
#include "ChromeClient.h"
#include "KURL.h"
+#include "PopupMenu.h"
#include <Evas.h>
namespace WebCore {
@@ -69,6 +70,9 @@ public:
virtual void setMenubarVisible(bool);
virtual bool menubarVisible();
+ virtual void createSelectPopup(PopupMenuClient*, int selected, const IntRect& rect);
+ virtual bool destroySelectPopup();
+
virtual void setResizable(bool);
virtual void addMessageToConsole(MessageSource, MessageType, MessageLevel, const String& message,
diff --git a/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.cpp b/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.cpp
index aaa64d7..19c3705 100644
--- a/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.cpp
+++ b/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.cpp
@@ -29,9 +29,12 @@
#include "ContextMenuClientEfl.h"
#include "ContextMenu.h"
+#include "EWebKit.h"
+#include "ewk_private.h"
#include "HitTestResult.h"
#include "KURL.h"
#include "NotImplemented.h"
+#include "PlatformMenuDescription.h"
using namespace WebCore;
@@ -47,10 +50,11 @@ void ContextMenuClientEfl::contextMenuDestroyed()
delete this;
}
-PlatformMenuDescription ContextMenuClientEfl::getCustomMenuFromDefaultItems(ContextMenu*)
+PlatformMenuDescription ContextMenuClientEfl::getCustomMenuFromDefaultItems(ContextMenu* menu)
{
- notImplemented();
- return 0;
+ PlatformMenuDescription newmenu = ewk_context_menu_custom_get(static_cast<Ewk_Context_Menu*>(menu->releasePlatformDescription()));
+
+ return newmenu;
}
void ContextMenuClientEfl::contextMenuItemSelected(ContextMenuItem*, const ContextMenu*)
@@ -89,4 +93,24 @@ void ContextMenuClientEfl::stopSpeaking()
notImplemented();
}
+PlatformMenuDescription ContextMenuClientEfl::createPlatformDescription(ContextMenu* menu)
+{
+ return (PlatformMenuDescription) ewk_context_menu_new(m_view, menu->controller());
+}
+
+void ContextMenuClientEfl::freePlatformDescription(PlatformMenuDescription menu)
+{
+ ewk_context_menu_free(static_cast<Ewk_Context_Menu*>(menu));
+}
+
+void ContextMenuClientEfl::appendItem(PlatformMenuDescription menu, ContextMenuItem& item)
+{
+ ewk_context_menu_item_append(static_cast<Ewk_Context_Menu*>(menu), item);
+}
+
+void ContextMenuClientEfl::show(PlatformMenuDescription menu)
+{
+ ewk_context_menu_show(static_cast<Ewk_Context_Menu*>(menu));
+}
+
}
diff --git a/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.h b/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.h
index 2c3818c..8a289a1 100644
--- a/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.h
+++ b/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.h
@@ -50,6 +50,10 @@ class ContextMenuClientEfl : public ContextMenuClient {
virtual bool isSpeaking();
virtual void stopSpeaking();
+ PlatformMenuDescription createPlatformDescription(ContextMenu*);
+ void freePlatformDescription(PlatformMenuDescription);
+ void appendItem(PlatformMenuDescription, ContextMenuItem&);
+ void show(PlatformMenuDescription menu);
private:
Evas_Object* m_view;
};
diff --git a/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp b/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp
index b87a91a..3c4016f 100644
--- a/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp
+++ b/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp
@@ -339,26 +339,26 @@ bool EditorClientEfl::handleEditingKeyboardEvent(KeyboardEvent* event)
if (caretBrowsing) {
switch (keyEvent->windowsVirtualKeyCode()) {
case VK_LEFT:
- frame->selection()->modify(keyEvent->shiftKey() ? SelectionController::EXTEND : SelectionController::MOVE,
- SelectionController::LEFT,
+ frame->selection()->modify(keyEvent->shiftKey() ? SelectionController::AlterationExtend : SelectionController::AlterationMove,
+ SelectionController::DirectionLeft,
keyEvent->ctrlKey() ? WordGranularity : CharacterGranularity,
true);
return true;
case VK_RIGHT:
- frame->selection()->modify(keyEvent->shiftKey() ? SelectionController::EXTEND : SelectionController::MOVE,
- SelectionController::RIGHT,
+ frame->selection()->modify(keyEvent->shiftKey() ? SelectionController::AlterationExtend : SelectionController::AlterationMove,
+ SelectionController::DirectionRight,
keyEvent->ctrlKey() ? WordGranularity : CharacterGranularity,
true);
return true;
case VK_UP:
- frame->selection()->modify(keyEvent->shiftKey() ? SelectionController::EXTEND : SelectionController::MOVE,
- SelectionController::BACKWARD,
+ frame->selection()->modify(keyEvent->shiftKey() ? SelectionController::AlterationExtend : SelectionController::AlterationMove,
+ SelectionController::DirectionBackward,
keyEvent->ctrlKey() ? ParagraphGranularity : LineGranularity,
true);
return true;
case VK_DOWN:
- frame->selection()->modify(keyEvent->shiftKey() ? SelectionController::EXTEND : SelectionController::MOVE,
- SelectionController::FORWARD,
+ frame->selection()->modify(keyEvent->shiftKey() ? SelectionController::AlterationExtend : SelectionController::AlterationMove,
+ SelectionController::DirectionForward,
keyEvent->ctrlKey() ? ParagraphGranularity : LineGranularity,
true);
return true;
diff --git a/WebKit/efl/ewk/EWebKit.h b/WebKit/efl/ewk/EWebKit.h
index d87d204..a61cc9d 100644
--- a/WebKit/efl/ewk/EWebKit.h
+++ b/WebKit/efl/ewk/EWebKit.h
@@ -22,6 +22,7 @@
#ifndef EWebKit_h
#define EWebKit_h
+#include "ewk_contextmenu.h"
#include "ewk_eapi.h"
#include "ewk_frame.h"
#include "ewk_history.h"
diff --git a/WebKit/efl/ewk/ewk_contextmenu.cpp b/WebKit/efl/ewk/ewk_contextmenu.cpp
new file mode 100644
index 0000000..9daf27c
--- /dev/null
+++ b/WebKit/efl/ewk/ewk_contextmenu.cpp
@@ -0,0 +1,263 @@
+/*
+ Copyright (C) 2010 ProFUSION embedded systems
+ Copyright (C) 2010 Samsung Electronics
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "config.h"
+#include "ewk_contextmenu.h"
+
+#include "ContextMenu.h"
+#include "ContextMenuController.h"
+#include "ContextMenuItem.h"
+#include "EWebKit.h"
+#include "ewk_private.h"
+
+#include <Eina.h>
+#include <eina_safety_checks.h>
+#include <wtf/text/CString.h>
+
+struct _Ewk_Context_Menu {
+ unsigned int __ref;
+ WebCore::ContextMenuController* controller;
+ Evas_Object* view;
+
+ Eina_List* items;
+};
+
+struct _Ewk_Context_Menu_Item {
+ Ewk_Context_Menu_Item_Type type;
+ Ewk_Context_Menu_Action action;
+
+ const char* title;
+ Ewk_Context_Menu* submenu;
+
+ Eina_Bool checked:1;
+ Eina_Bool enabled:1;
+};
+
+void ewk_context_menu_ref(Ewk_Context_Menu* menu)
+{
+ EINA_SAFETY_ON_NULL_RETURN(menu);
+ menu->__ref++;
+}
+
+void ewk_context_menu_unref(Ewk_Context_Menu* menu)
+{
+ EINA_SAFETY_ON_NULL_RETURN(menu);
+ void* item;
+
+ if (--menu->__ref)
+ return;
+
+ EINA_LIST_FREE(menu->items, item)
+ ewk_context_menu_item_free(static_cast<Ewk_Context_Menu_Item*>(item));
+
+ free(menu);
+}
+
+Eina_Bool ewk_context_menu_destroy(Ewk_Context_Menu* menu)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(menu, EINA_FALSE);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(menu->controller, EINA_FALSE);
+
+ menu->controller->clearContextMenu();
+ return EINA_TRUE;
+}
+
+const Eina_List* ewk_context_menu_item_list_get(Ewk_Context_Menu* o)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(o, 0);
+
+ return o->items;
+}
+
+Ewk_Context_Menu_Item* ewk_context_menu_item_new(Ewk_Context_Menu_Item_Type type,
+ Ewk_Context_Menu_Action action, Ewk_Context_Menu* submenu,
+ const char* title, Eina_Bool checked, Eina_Bool enabled)
+{
+ Ewk_Context_Menu_Item* item = (Ewk_Context_Menu_Item*) malloc(sizeof(*item));
+ if (!item)
+ return 0;
+
+ item->type = type;
+ item->action = action;
+ item->title = eina_stringshare_add(title);
+ item->submenu = submenu;
+ item->checked = checked;
+ item->enabled = enabled;
+
+ return item;
+}
+
+Eina_Bool ewk_context_menu_item_select(Ewk_Context_Menu* menu, Ewk_Context_Menu_Item* item)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(menu, EINA_FALSE);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(item, EINA_FALSE);
+ WebCore::ContextMenuAction action = static_cast<WebCore::ContextMenuAction>(item->action);
+ WebCore::ContextMenuItemType type = static_cast<WebCore::ContextMenuItemType>(item->type);
+
+ // Don't care about title and submenu as they're not used after this point.
+ WebCore::ContextMenuItem core(type, action, WebCore::String());
+ menu->controller->contextMenuItemSelected(&core);
+ return EINA_TRUE;
+}
+
+void ewk_context_menu_item_free(Ewk_Context_Menu_Item* item)
+{
+ EINA_SAFETY_ON_NULL_RETURN(item);
+
+ eina_stringshare_del(item->title);
+ free(item);
+}
+
+Ewk_Context_Menu_Item_Type ewk_context_menu_item_type_get(Ewk_Context_Menu_Item* o)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(o, EWK_ACTION_TYPE);
+ return o->type;
+}
+
+Eina_Bool ewk_context_menu_item_type_set(Ewk_Context_Menu_Item* o, Ewk_Context_Menu_Item_Type type)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(o, EINA_FALSE);
+ o->type = type;
+ return EINA_TRUE;
+}
+
+Ewk_Context_Menu_Action ewk_context_menu_item_action_get(Ewk_Context_Menu_Item* o)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(o, EWK_CONTEXT_MENU_ITEM_TAG_NO_ACTION);
+ return o->action;
+}
+
+Eina_Bool ewk_context_menu_item_action_set(Ewk_Context_Menu_Item* o, Ewk_Context_Menu_Action action)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(o, EINA_FALSE);
+ o->action = action;
+ return EINA_TRUE;
+}
+
+const char* ewk_context_menu_item_title_get(Ewk_Context_Menu_Item* o)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(o, 0);
+ return o->title;
+}
+
+const char* ewk_context_menu_item_title_set(Ewk_Context_Menu_Item* o, const char* title)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(o, 0);
+ eina_stringshare_replace(&o->title, title);
+ return o->title;
+}
+
+Eina_Bool ewk_context_menu_item_checked_get(Ewk_Context_Menu_Item* o)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(o, EINA_FALSE);
+ return o->checked;
+}
+
+Eina_Bool ewk_context_menu_item_checked_set(Ewk_Context_Menu_Item* o, Eina_Bool checked)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(o, EINA_FALSE);
+ o->checked = checked;
+ return EINA_TRUE;
+}
+
+Eina_Bool ewk_context_menu_item_enabled_get(Ewk_Context_Menu_Item* o)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(o, EINA_FALSE);
+ return o->enabled;
+}
+
+Eina_Bool ewk_context_menu_item_enabled_set(Ewk_Context_Menu_Item *o, Eina_Bool enabled)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(o, EINA_FALSE);
+ o->enabled = enabled;
+ return EINA_TRUE;
+}
+
+
+/* internal methods ****************************************************/
+
+/**
+ * @internal
+ *
+ * Creates context on view.
+ *
+ * @param view View.
+ * @param Controller Context Menu Controller.
+ *
+ * @return newly allocated context menu or @c 0 on errors.
+ */
+Ewk_Context_Menu* ewk_context_menu_new(Evas_Object* view, WebCore::ContextMenuController* controller)
+{
+ Ewk_Context_Menu* menu;
+ EINA_SAFETY_ON_NULL_RETURN_VAL(view, 0);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(controller, 0);
+
+ menu = static_cast<Ewk_Context_Menu*>(malloc(sizeof(*menu)));
+ if (!menu) {
+ CRITICAL("Could not allocate context menu memory.");
+ return 0;
+ }
+
+ menu->__ref = 1;
+ menu->view = view;
+ menu->controller = controller;
+ menu->items = 0;
+ evas_object_smart_callback_call(menu->view, "contextmenu,new", menu);
+
+ return menu;
+}
+
+Eina_Bool ewk_context_menu_free(Ewk_Context_Menu* o)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(o, EINA_FALSE);
+ evas_object_smart_callback_call(o->view, "contextmenu,free", o);
+ ewk_context_menu_unref(o);
+ return EINA_TRUE;
+}
+
+void ewk_context_menu_item_append(Ewk_Context_Menu* o, WebCore::ContextMenuItem& core)
+{
+ Ewk_Context_Menu_Item_Type type = static_cast<Ewk_Context_Menu_Item_Type>(core.type());
+ Ewk_Context_Menu_Action action = static_cast<Ewk_Context_Menu_Action>(core.action());
+ Ewk_Context_Menu* submenu = static_cast<Ewk_Context_Menu*>(core.platformSubMenu());
+
+ Ewk_Context_Menu_Item* menu_item = ewk_context_menu_item_new
+ (type, action, submenu, core.title().utf8().data(), core.checked(),
+ core.enabled());
+ EINA_SAFETY_ON_NULL_RETURN(menu_item);
+
+ o->items = eina_list_append(o->items, menu_item);
+ evas_object_smart_callback_call(o->view, "contextmenu,item,appended", o);
+}
+
+Ewk_Context_Menu* ewk_context_menu_custom_get(Ewk_Context_Menu* o)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(o, 0);
+
+ evas_object_smart_callback_call(o->view, "contextmenu,customize", o->items);
+ return o;
+}
+
+void ewk_context_menu_show(Ewk_Context_Menu* o)
+{
+ EINA_SAFETY_ON_NULL_RETURN(o);
+
+ evas_object_smart_callback_call(o->view, "contextmenu,show", o);
+}
diff --git a/WebKit/efl/ewk/ewk_contextmenu.h b/WebKit/efl/ewk/ewk_contextmenu.h
new file mode 100644
index 0000000..c5adb48
--- /dev/null
+++ b/WebKit/efl/ewk/ewk_contextmenu.h
@@ -0,0 +1,147 @@
+/*
+ Copyright (C) 2010 ProFUSION embedded systems
+ Copyright (C) 2010 Samsung Electronics
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef ewk_contextmenu_h
+#define ewk_contextmenu_h
+
+#include "ewk_eapi.h"
+
+#include <Eina.h>
+#include <Evas.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+// keep this in sync with ContextMenuItem.h
+enum _Ewk_Context_Menu_Action {
+ EWK_CONTEXT_MENU_ITEM_TAG_NO_ACTION = 0, // this item is not actually in web_uidelegate.h
+ EWK_CONTEXT_MENU_ITEM_TAG_OPEN_LINK_IN_NEW_WINDOW = 1,
+ EWK_CONTEXT_MENU_ITEM_TAG_DOWNLOAD_LINK_TO_DISK,
+ EWK_CONTEXT_MENU_ITEM_TAG_COPY_LINK_TO_CLIPBOARD,
+ EWK_CONTEXT_MENU_ITEM_TAG_OPEN_IMAGE_IN_NEW_WINDOW,
+ EWK_CONTEXT_MENU_ITEM_TAG_DOWNLOAD_IMAGE_TO_DISK,
+ EWK_CONTEXT_MENU_ITEM_TAG_COPY_IMAGE_TO_CLIPBOARD,
+ EWK_CONTEXT_MENU_ITEM_TAG_OPEN_FRAME_IN_NEW_WINDOW,
+ EWK_CONTEXT_MENU_ITEM_TAG_COPY,
+ EWK_CONTEXT_MENU_ITEM_TAG_GO_BACK,
+ EWK_CONTEXT_MENU_ITEM_TAG_GO_FORWARD,
+ EWK_CONTEXT_MENU_ITEM_TAG_STOP,
+ EWK_CONTEXT_MENU_ITEM_TAG_RELOAD,
+ EWK_CONTEXT_MENU_ITEM_TAG_CUT,
+ EWK_CONTEXT_MENU_ITEM_TAG_PASTE,
+ EWK_CONTEXT_MENU_ITEM_TAG_SPELLING_GUESS,
+ EWK_CONTEXT_MENU_ITEM_TAG_NO_GUESSES_FOUND,
+ EWK_CONTEXT_MENU_ITEM_TAG_IGNORE_SPELLING,
+ EWK_CONTEXT_MENU_ITEM_TAG_LEARN_SPELLING,
+ EWK_CONTEXT_MENU_ITEM_TAG_OTHER,
+ EWK_CONTEXT_MENU_ITEM_TAG_SEARCH_IN_SPOTLIGHT,
+ EWK_CONTEXT_MENU_ITEM_TAG_SEARCH_WEB,
+ EWK_CONTEXT_MENU_ITEM_TAG_LOOK_UP_IN_DICTIONARY,
+ EWK_CONTEXT_MENU_ITEM_TAG_OPEN_WITH_DEFAULT_APPLICATION,
+ EWK_CONTEXT_MENU_ITEM_PDFACTUAL_SIZE,
+ EWK_CONTEXT_MENU_ITEM_PDFZOOM_IN,
+ EWK_CONTEXT_MENU_ITEM_PDFZOOM_OUT,
+ EWK_CONTEXT_MENU_ITEM_PDFAUTO_SIZE,
+ EWK_CONTEXT_MENU_ITEM_PDFSINGLE_PAGE,
+ EWK_CONTEXT_MENU_ITEM_PDFFACING_PAGES,
+ EWK_CONTEXT_MENU_ITEM_PDFCONTINUOUS,
+ EWK_CONTEXT_MENU_ITEM_PDFNEXT_PAGE,
+ EWK_CONTEXT_MENU_ITEM_PDFPREVIOUS_PAGE,
+ EWK_CONTEXT_MENU_ITEM_TAG_OPEN_LINK = 2000,
+ EWK_CONTEXT_MENU_ITEM_TAG_IGNORE_GRAMMAR,
+ EWK_CONTEXT_MENU_ITEM_TAG_SPELLING_MENU, // spelling or spelling/grammar sub-menu
+ EWK_CONTEXT_MENU_ITEM_TAG_SHOW_SPELLING_PANEL,
+ EWK_CONTEXT_MENU_ITEM_TAG_CHECK_SPELLING,
+ EWK_CONTEXT_MENU_ITEM_TAG_CHECK_SPELLING_WHILE_TYPING,
+ EWK_CONTEXT_MENU_ITEM_TAG_CHECK_GRAMMAR_WITH_SPELLING,
+ EWK_CONTEXT_MENU_ITEM_TAG_FONT_MENU, // font sub-menu
+ EWK_CONTEXT_MENU_ITEM_TAG_SHOW_FONTS,
+ EWK_CONTEXT_MENU_ITEM_TAG_BOLD,
+ EWK_CONTEXT_MENU_ITEM_TAG_ITALIC,
+ EWK_CONTEXT_MENU_ITEM_TAG_UNDERLINE,
+ EWK_CONTEXT_MENU_ITEM_TAG_OUTLINE,
+ EWK_CONTEXT_MENU_ITEM_TAG_STYLES,
+ EWK_CONTEXT_MENU_ITEM_TAG_SHOW_COLORS,
+ EWK_CONTEXT_MENU_ITEM_TAG_SPEECH_MENU, // speech sub-menu
+ EWK_CONTEXT_MENU_ITEM_TAG_START_SPEAKING,
+ EWK_CONTEXT_MENU_ITEM_TAG_STOP_SPEAKING,
+ EWK_CONTEXT_MENU_ITEM_TAG_WRITING_DIRECTION_MENU, // writing direction sub-menu
+ EWK_CONTEXT_MENU_ITEM_TAG_DEFAULT_DIRECTION,
+ EWK_CONTEXT_MENU_ITEM_TAG_LEFT_TO_RIGHT,
+ EWK_CONTEXT_MENU_ITEM_TAG_RIGHT_TO_LEFT,
+ EWK_CONTEXT_MENU_ITEM_TAG_PDFSINGLE_PAGE_SCROLLING,
+ EWK_CONTEXT_MENU_ITEM_TAG_PDFFACING_PAGES_SCROLLING,
+ EWK_CONTEXT_MENU_ITEM_TAG_TEXT_DIRECTION_MENU, // text direction sub-menu
+ EWK_CONTEXT_MENU_ITEM_TAG_TEXT_DIRECTION_DEFAULT,
+ EWK_CONTEXT_MENU_ITEM_TAG_TEXT_DIRECTION_LEFT_TO_RIGHT,
+ EWK_CONTEXT_MENU_ITEM_TAG_TEXT_DIRECTION_RIGHT_TO_LEFT,
+ EWK_CONTEXT_MENU_ITEM_BASE_CUSTOM_TAG = 5000,
+ EWK_CONTEXT_MENU_ITEM_BASE_APPLICATION_TAG = 10000
+};
+typedef enum _Ewk_Context_Menu_Action Ewk_Context_Menu_Action;
+
+// keep this in sync with ContextMenuItem.h
+enum _Ewk_Context_Menu_Item_Type {
+ EWK_ACTION_TYPE,
+ EWK_CHECKABLE_ACTION_TYPE,
+ EWK_SEPARATOR_TYPE,
+ EWK_SUBMENU_TYPE
+};
+typedef enum _Ewk_Context_Menu_Item_Type Ewk_Context_Menu_Item_Type;
+
+/**
+ * The structure to contain Context Menu data
+ */
+typedef struct _Ewk_Context_Menu Ewk_Context_Menu;
+
+/**
+ * Represents one item from Ewk_Context_Menu
+ */
+typedef struct _Ewk_Context_Menu_Item Ewk_Context_Menu_Item;
+
+
+
+/************************** Exported functions ***********************/
+
+EAPI void ewk_context_menu_ref(Ewk_Context_Menu* menu);
+EAPI void ewk_context_menu_unref(Ewk_Context_Menu* menu);
+EAPI Eina_Bool ewk_context_menu_destroy(Ewk_Context_Menu* menu);
+
+EAPI const Eina_List* ewk_context_menu_item_list_get(Ewk_Context_Menu* o);
+
+EAPI Ewk_Context_Menu_Item* ewk_context_menu_item_new(Ewk_Context_Menu_Item_Type type, Ewk_Context_Menu_Action action, Ewk_Context_Menu* submenu, const char* title, Eina_Bool checked, Eina_Bool enabled);
+EAPI void ewk_context_menu_item_free(Ewk_Context_Menu_Item* item);
+EAPI Eina_Bool ewk_context_menu_item_select(Ewk_Context_Menu* menu, Ewk_Context_Menu_Item* item);
+EAPI Ewk_Context_Menu_Item_Type ewk_context_menu_item_type_get(Ewk_Context_Menu_Item* o);
+EAPI Eina_Bool ewk_context_menu_item_type_set(Ewk_Context_Menu_Item* o, Ewk_Context_Menu_Item_Type type);
+EAPI Ewk_Context_Menu_Action ewk_context_menu_item_action_get(Ewk_Context_Menu_Item* o);
+EAPI Eina_Bool ewk_context_menu_item_action_set(Ewk_Context_Menu_Item* o, Ewk_Context_Menu_Action action);
+EAPI const char* ewk_context_menu_item_title_get(Ewk_Context_Menu_Item* o);
+EAPI const char* ewk_context_menu_item_title_set(Ewk_Context_Menu_Item* o, const char* title);
+EAPI Eina_Bool ewk_context_menu_item_checked_get(Ewk_Context_Menu_Item* o);
+EAPI Eina_Bool ewk_context_menu_item_checked_set(Ewk_Context_Menu_Item* o, Eina_Bool checked);
+EAPI Eina_Bool ewk_context_menu_item_enabled_get(Ewk_Context_Menu_Item* o);
+EAPI Eina_Bool ewk_context_menu_item_enabled_set(Ewk_Context_Menu_Item* o, Eina_Bool enabled);
+
+#ifdef __cplusplus
+}
+#endif
+#endif // ewk_contextmenu_h
diff --git a/WebKit/efl/ewk/ewk_frame.cpp b/WebKit/efl/ewk/ewk_frame.cpp
index 5e93a05..6cbcefe 100644
--- a/WebKit/efl/ewk/ewk_frame.cpp
+++ b/WebKit/efl/ewk/ewk_frame.cpp
@@ -634,8 +634,6 @@ Eina_Bool ewk_frame_editable_set(Evas_Object* o, Eina_Bool editable)
return EINA_TRUE;
if (editable)
sd->frame->applyEditingStyleToBodyElement();
- else
- sd->frame->removeEditingStyleFromBodyElement();
return EINA_TRUE;
}
@@ -971,7 +969,10 @@ float ewk_frame_zoom_get(const Evas_Object* o)
{
EWK_FRAME_SD_GET_OR_RETURN(o, sd, -1.0);
EINA_SAFETY_ON_NULL_RETURN_VAL(sd->frame, -1.0);
- return sd->frame->zoomFactor();
+ WebCore::FrameView* view = sd->frame->view();
+ if (!view)
+ return -1;
+ return view->zoomFactor();
}
/**
@@ -993,7 +994,10 @@ Eina_Bool ewk_frame_zoom_set(Evas_Object* o, float zoom)
zoomMode = WebCore::ZoomTextOnly;
else
zoomMode = WebCore::ZoomPage;
- sd->frame->setZoomFactor(zoom, zoomMode);
+ WebCore::FrameView* view = sd->frame->view();
+ if (!view)
+ return EINA_FALSE;
+ view->setZoomFactor(zoom, zoomMode);
return EINA_TRUE;
}
@@ -1032,7 +1036,10 @@ Eina_Bool ewk_frame_zoom_text_only_set(Evas_Object* o, Eina_Bool setting)
zoomMode = WebCore::ZoomTextOnly;
else
zoomMode = WebCore::ZoomPage;
- sd->frame->setZoomFactor(sd->frame->zoomFactor(), zoomMode);
+ WebCore::FrameView* view = sd->frame->view();
+ if (!view)
+ return EINA_FALSE;
+ view->setZoomFactor(view->zoomFactor(), zoomMode);
return EINA_TRUE;
}
diff --git a/WebKit/efl/ewk/ewk_main.cpp b/WebKit/efl/ewk/ewk_main.cpp
index 145357c..92346e7 100644
--- a/WebKit/efl/ewk/ewk_main.cpp
+++ b/WebKit/efl/ewk/ewk_main.cpp
@@ -26,6 +26,7 @@
#include "PageCache.h"
#include "PageGroup.h"
#include "ewk_private.h"
+#include "ewk_settings.h"
#include "runtime/InitializeThreading.h"
#include "wtf/Threading.h"
@@ -34,6 +35,7 @@
#include <Edje.h>
#include <Eina.h>
#include <Evas.h>
+#include <stdlib.h>
#ifdef ENABLE_GLIB_SUPPORT
#include <glib-object.h>
@@ -113,6 +115,9 @@ int ewk_init(void)
WebCore::pageCache()->setCapacity(3);
WebCore::PageGroup::setShouldTrackVisitedLinks(true);
+ // set default location of web database path
+ ewk_settings_web_database_path_set(getenv("HOME"));
+
// TODO: this should move to WebCore, already reported to webkit-gtk folks:
if (1) {
SoupSession* session = WebCore::ResourceHandle::defaultSession();
diff --git a/WebKit/efl/ewk/ewk_private.h b/WebKit/efl/ewk/ewk_private.h
index 947bd79..5f66fd8 100644
--- a/WebKit/efl/ewk/ewk_private.h
+++ b/WebKit/efl/ewk/ewk_private.h
@@ -41,6 +41,13 @@ extern "C" {
// If defined, ewk will do type checking to ensure objects are of correct type
#define EWK_TYPE_CHECK 1
+// forward declarations
+namespace WebCore {
+struct PopupMenuClient;
+struct ContextMenu;
+struct ContextMenuItem;
+}
+
void ewk_view_ready(Evas_Object *o);
void ewk_view_title_set(Evas_Object *o, const char *title);
void ewk_view_uri_changed(Evas_Object *o);
@@ -74,7 +81,7 @@ void ewk_view_run_javascript_alert(Evas_Object *o, Evas_Object *fram
Eina_Bool ewk_view_run_javascript_confirm(Evas_Object *o, Evas_Object *frame, const char *message);
Eina_Bool ewk_view_run_javascript_prompt(Evas_Object *o, Evas_Object *frame, const char *message, const char *defaultValue, char **value);
Eina_Bool ewk_view_should_interrupt_javascript(Evas_Object *o);
-void ewk_view_exceeded_database_quota(Evas_Object *o, Evas_Object *frame, const char *databaseName);
+uint64_t ewk_view_exceeded_database_quota(Evas_Object *o, Evas_Object *frame, const char *databaseName, uint64_t current_size, uint64_t expected_size);
void ewk_view_repaint(Evas_Object *o, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h);
void ewk_view_scroll(Evas_Object *o, Evas_Coord dx, Evas_Coord dy, Evas_Coord sx, Evas_Coord sy, Evas_Coord sw, Evas_Coord sh, Evas_Coord cx, Evas_Coord cy, Evas_Coord cw, Evas_Coord ch, Eina_Bool main_frame);
@@ -84,9 +91,17 @@ WTF::PassRefPtr<WebCore::Frame> ewk_view_frame_create(Evas_Object *o, Evas_Objec
WTF::PassRefPtr<WebCore::Widget> ewk_view_plugin_create(Evas_Object* o, Evas_Object* frame, const WebCore::IntSize& pluginSize, WebCore::HTMLPlugInElement* element, const WebCore::KURL& url, const WTF::Vector<WebCore::String>& paramNames, const WTF::Vector<WebCore::String>& paramValues, const WebCore::String& mimeType, bool loadManually);
+void ewk_view_popup_new(Evas_Object *o, WebCore::PopupMenuClient* client, int selected, const WebCore::IntRect& rect);
+
Ewk_History *ewk_history_new(WebCore::BackForwardList *history);
void ewk_history_free(Ewk_History *history);
+Ewk_Context_Menu *ewk_context_menu_new(Evas_Object *view, WebCore::ContextMenuController *controller);
+Eina_Bool ewk_context_menu_free(Ewk_Context_Menu *o);
+void ewk_context_menu_item_append(Ewk_Context_Menu *o, WebCore::ContextMenuItem& core);
+Ewk_Context_Menu *ewk_context_menu_custom_get(Ewk_Context_Menu *o);
+void ewk_context_menu_show(Ewk_Context_Menu *o);
+
Evas_Object *ewk_frame_add(Evas *e);
Eina_Bool ewk_frame_init(Evas_Object *o, Evas_Object *view, WebCore::Frame *frame);
Evas_Object *ewk_frame_child_add(Evas_Object *o, WTF::PassRefPtr<WebCore::Frame> child, const WebCore::String& name, const WebCore::KURL& url, const WebCore::String& referrer);
diff --git a/WebKit/efl/ewk/ewk_settings.cpp b/WebKit/efl/ewk/ewk_settings.cpp
index 0822dc2..b50cd75 100644
--- a/WebKit/efl/ewk/ewk_settings.cpp
+++ b/WebKit/efl/ewk/ewk_settings.cpp
@@ -22,6 +22,9 @@
#include "ewk_settings.h"
#include "EWebKit.h"
+#if ENABLE(DATABASE)
+#include "DatabaseTracker.h"
+#endif
#include "IconDatabase.h"
#include "Image.h"
#include "IntSize.h"
@@ -36,7 +39,7 @@
#include <sys/types.h>
#include <unistd.h>
-static uint64_t _ewk_default_web_database_quota = 1 * 1024;
+static uint64_t _ewk_default_web_database_quota = 1 * 1024 * 1024;
/**
* Returns the default quota for Web Database databases. By default
@@ -50,6 +53,38 @@ uint64_t ewk_settings_web_database_default_quota_get()
}
/**
+ * Sets the current path to the directory WebKit will write Web
+ * Database databases.
+ *
+ * @path: the new database directory path
+ *
+ */
+void ewk_settings_web_database_path_set(const char *path)
+{
+#if ENABLE(DATABASE)
+ WebCore::String corePath = WebCore::String::fromUTF8(path);
+ WebCore::DatabaseTracker::tracker().setDatabaseDirectoryPath(corePath);
+#endif
+}
+
+/**
+ * Return directory path where web database is stored.
+ *
+ * @return newly allocated string with database path. Note that return must be
+ * freed with free() as it's a strdup()ed copy of the string due reference
+ * counting.
+ */
+const char *ewk_settings_web_database_path_get()
+{
+#if ENABLE(DATABASE)
+ WebCore::String path = WebCore::DatabaseTracker::tracker().databaseDirectoryPath();
+ return strdup(path.utf8().data());
+#else
+ return 0;
+#endif
+}
+
+/**
* Sets directory where to store icon database, opening database.
*
* @param directory where to store icon database, must be
diff --git a/WebKit/efl/ewk/ewk_settings.h b/WebKit/efl/ewk/ewk_settings.h
index e843fd1..87d015c 100644
--- a/WebKit/efl/ewk/ewk_settings.h
+++ b/WebKit/efl/ewk/ewk_settings.h
@@ -38,6 +38,8 @@ extern "C" {
*/
EAPI uint64_t ewk_settings_web_database_default_quota_get();
+EAPI void ewk_settings_web_database_path_set(const char *path);
+EAPI const char *ewk_settings_web_database_path_get();
EAPI Eina_Bool ewk_settings_icon_database_path_set(const char *path);
EAPI char *ewk_settings_icon_database_path_get(void);
diff --git a/WebKit/efl/ewk/ewk_view.cpp b/WebKit/efl/ewk/ewk_view.cpp
index d981459..d5920e5 100644
--- a/WebKit/efl/ewk/ewk_view.cpp
+++ b/WebKit/efl/ewk/ewk_view.cpp
@@ -23,15 +23,18 @@
#include "ChromeClientEfl.h"
#include "ContextMenuClientEfl.h"
+#include "ContextMenuController.h"
#include "DocumentLoader.h"
#include "DragClientEfl.h"
#include "EWebKit.h"
#include "EditorClientEfl.h"
+#include "EventHandler.h"
#include "FocusController.h"
#include "FrameLoaderClientEfl.h"
#include "FrameView.h"
#include "GraphicsContext.h"
#include "InspectorClientEfl.h"
+#include "PlatformMouseEvent.h"
#include "PopupMenuClient.h"
#include "ProgressTracker.h"
#include "ewk_private.h"
@@ -514,6 +517,7 @@ static Ewk_View_Private_Data* _ewk_view_priv_new(Ewk_View_Smart_Data* sd)
static_cast<WebCore::DragClient*>(new WebCore::DragClientEfl),
static_cast<WebCore::InspectorClient*>(new WebCore::InspectorClientEfl),
0,
+ 0,
0);
if (!priv->page) {
CRITICAL("Could not create WebKit Page");
@@ -1476,6 +1480,46 @@ Eina_Bool ewk_view_select_word(Evas_Object* o)
}
/**
+ * Forwards a request of new Context Menu to WebCore.
+ *
+ * @param o View.
+ * @param ev Event data.
+ *
+ * @return @c EINA_TRUE if operation was executed, @c EINA_FALSE otherwise.
+ */
+Eina_Bool ewk_view_context_menu_forward_event(Evas_Object* o, const Evas_Event_Mouse_Down* ev)
+{
+ EWK_VIEW_SD_GET_OR_RETURN(o, sd, EINA_FALSE);
+ EWK_VIEW_PRIV_GET_OR_RETURN(sd, priv, EINA_FALSE);
+ Eina_Bool mouse_press_handled = EINA_FALSE;
+
+ priv->page->contextMenuController()->clearContextMenu();
+ WebCore::Frame* main_frame = priv->page->mainFrame();
+ Evas_Coord x, y;
+ evas_object_geometry_get(sd->self, &x, &y, 0, 0);
+
+ WebCore::PlatformMouseEvent event(ev, WebCore::IntPoint(x, y));
+
+ if (main_frame->view()) {
+ mouse_press_handled =
+ main_frame->eventHandler()->handleMousePressEvent(event);
+ }
+
+ if (main_frame->eventHandler()->sendContextMenuEvent(event))
+ return EINA_FALSE;
+
+ WebCore::ContextMenu* coreMenu =
+ priv->page->contextMenuController()->contextMenu();
+ if (!coreMenu) {
+ // WebCore decided not to create a context menu, return true if event
+ // was handled by handleMouseReleaseEvent
+ return mouse_press_handled;
+ }
+
+ return EINA_TRUE;
+}
+
+/**
* Get current load progress estimate from 0.0 to 1.0.
*
* @param o view object to get current progress.
@@ -3393,14 +3437,20 @@ Eina_Bool ewk_view_should_interrupt_javascript(Evas_Object* o)
* @param o View.
* @param frame The frame whose web page exceeded its database quota.
* @param databaseName Database name.
+ * @param current_size Current size of this database
+ * @param expected_size The expected size of this database in order to fulfill
+ * site's requirement.
*/
-void ewk_view_exceeded_database_quota(Evas_Object* o, Evas_Object* frame, const char* databaseName)
+uint64_t ewk_view_exceeded_database_quota(Evas_Object* o, Evas_Object* frame, const char* databaseName, uint64_t current_size, uint64_t expected_size)
{
DBG("o=%p", o);
- EWK_VIEW_SD_GET_OR_RETURN(o, sd);
- EINA_SAFETY_ON_NULL_RETURN(sd->api);
- EINA_SAFETY_ON_NULL_RETURN(sd->api->exceeded_database_quota);
- sd->api->exceeded_database_quota(sd, frame, databaseName);
+ EWK_VIEW_SD_GET_OR_RETURN(o, sd, 0);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(sd->api, 0);
+ if (!sd->api->exceeded_database_quota)
+ return 0;
+
+ ERR("##### %lu %lu", current_size, expected_size);
+ return sd->api->exceeded_database_quota(sd, frame, databaseName, current_size, expected_size);
}
/**
diff --git a/WebKit/efl/ewk/ewk_view.h b/WebKit/efl/ewk/ewk_view.h
index 20df601..b029a68 100644
--- a/WebKit/efl/ewk/ewk_view.h
+++ b/WebKit/efl/ewk/ewk_view.h
@@ -125,7 +125,7 @@ struct _Ewk_View_Smart_Class {
Eina_Bool (*run_javascript_confirm)(Ewk_View_Smart_Data *sd, Evas_Object *frame, const char *message);
Eina_Bool (*run_javascript_prompt)(Ewk_View_Smart_Data *sd, Evas_Object *frame, const char *message, const char *defaultValue, char **value);
Eina_Bool (*should_interrupt_javascript)(Ewk_View_Smart_Data *sd);
- void (*exceeded_database_quota)(Ewk_View_Smart_Data *sd, Evas_Object *frame, const char *databaseName);
+ uint64_t (*exceeded_database_quota)(Ewk_View_Smart_Data *sd, Evas_Object *frame, const char *databaseName, uint64_t current_size, uint64_t expected_size);
Eina_Bool (*run_open_panel)(Ewk_View_Smart_Data *sd, Evas_Object *frame, Eina_Bool allows_multiple_files, const Eina_List *suggested_filenames, Eina_List **selected_filenames);
};
@@ -305,6 +305,8 @@ EAPI Eina_Bool ewk_view_select_sentence(Evas_Object *o);
EAPI Eina_Bool ewk_view_select_line(Evas_Object *o);
EAPI Eina_Bool ewk_view_select_word(Evas_Object *o);
+EAPI Eina_Bool ewk_view_context_menu_forward_event(Evas_Object *o, const Evas_Event_Mouse_Down *ev);
+
EAPI void ewk_view_popup_selected_set(Evas_Object *o, int index);
EAPI Eina_Bool ewk_view_popup_destroy(Evas_Object *o);
diff --git a/WebKit/efl/ewk/ewk_view_single.c b/WebKit/efl/ewk/ewk_view_single.c
index 4111370..803b219 100644
--- a/WebKit/efl/ewk/ewk_view_single.c
+++ b/WebKit/efl/ewk/ewk_view_single.c
@@ -36,17 +36,28 @@ static void _ewk_view_single_on_del(void *data, Evas *e, Evas_Object *o, void *e
evas_object_del(clip);
}
-static Evas_Object *_ewk_view_single_smart_backing_store_add(Ewk_View_Smart_Data *sd)
+static void _ewk_view_single_smart_add(Evas_Object *o)
{
- Evas_Object *bs = evas_object_image_add(sd->base.evas);
+ Ewk_View_Smart_Data *sd;
+
+ _parent_sc.sc.add(o);
+
+ sd = (Ewk_View_Smart_Data *)evas_object_smart_data_get(o);
+
Evas_Object *clip = evas_object_rectangle_add(sd->base.evas);
- evas_object_image_alpha_set(bs, EINA_FALSE);
- evas_object_image_smooth_scale_set(bs, sd->zoom_weak_smooth_scale);
- evas_object_clip_set(bs, clip);
+ evas_object_clip_set(sd->backing_store, clip);
+ evas_object_smart_member_add(clip, o);
evas_object_show(clip);
evas_object_event_callback_add
- (bs, EVAS_CALLBACK_DEL, _ewk_view_single_on_del, clip);
+ (sd->backing_store, EVAS_CALLBACK_DEL, _ewk_view_single_on_del, clip);
+}
+
+static Evas_Object *_ewk_view_single_smart_backing_store_add(Ewk_View_Smart_Data *sd)
+{
+ Evas_Object *bs = evas_object_image_add(sd->base.evas);
+ evas_object_image_alpha_set(bs, EINA_FALSE);
+ evas_object_image_smooth_scale_set(bs, sd->zoom_weak_smooth_scale);
return bs;
}
@@ -538,6 +549,7 @@ Eina_Bool ewk_view_single_smart_set(Ewk_View_Smart_Class *api)
if (EINA_UNLIKELY(!_parent_sc.sc.add))
ewk_view_base_smart_set(&_parent_sc);
+ api->sc.add = _ewk_view_single_smart_add;
api->sc.resize = _ewk_view_single_smart_resize;
api->backing_store_add = _ewk_view_single_smart_backing_store_add;
diff --git a/WebKit/gtk/ChangeLog b/WebKit/gtk/ChangeLog
index 9db2729..ec1727d 100644
--- a/WebKit/gtk/ChangeLog
+++ b/WebKit/gtk/ChangeLog
@@ -1,3 +1,85 @@
+2010-05-31 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ [GTK] Text copied from a WebView cannot be pasted into gnome-terminal
+ https://bugs.webkit.org/show_bug.cgi?id=39827
+
+ Add a test to prevent regressions for this issue.
+
+ * tests/testcopyandpaste.c: Added.
+ (test_info_new):
+ (test_info_destroy):
+ (copy_and_paste_fixture_setup):
+ (copy_and_paste_fixture_teardown):
+ (load_status_cb):
+ (map_event_cb):
+ (test_copy_and_paste):
+ (main):
+
+2010-05-27 Gustavo Noronha Silva <gns@gnome.org>
+
+ Update documentation control files, and fix Since tags for 1.3.1.
+
+ * docs/webkitgtk-docs.sgml:
+ * docs/webkitgtk-sections.txt:
+ * webkit/webkitwebbackforwardlist.cpp:
+ * webkit/webkitwebview.cpp:
+
+2010-05-27 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ Update for 1.3.1 release.
+
+ * NEWS:
+
+2010-05-27 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] Dragging onto the desktop causes a critical GLib warning
+ https://bugs.webkit.org/show_bug.cgi?id=39718
+
+ Only increment the window reference count if it is not null during drag-end
+ signal processing.
+
+ * webkit/webkitwebview.cpp:
+ (webkit_web_view_drag_end): Guard against null window values.
+
+2010-05-26 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ [GTK] Add support for DOM events in the GObject DOM bindings
+ https://bugs.webkit.org/show_bug.cgi?id=38844
+
+ Test DOMWindow signals.
+
+ * tests/testdomdomwindow.c: Added.
+ (finish_loading):
+ (dom_domview_fixture_setup):
+ (dom_domview_fixture_teardown):
+ (loadedCallback):
+ (clickedCallback):
+ (map_event_cb):
+ (load_event_callback):
+ (test_dom_domview_signals):
+ (main):
+
+2010-05-24 Darin Adler <darin@apple.com>
+
+ Reviewed by Eric Seidel.
+
+ Move view-related functions from Frame to FrameView
+ https://bugs.webkit.org/show_bug.cgi?id=39366
+
+ * webkit/webkitwebview.cpp:
+ (webkit_web_view_set_editable): Remove call to empty function
+ removeEditngStyleFromBodyElement.
+ (webkit_web_view_get_zoom_level): Call functions on FrameView.
+ (webkit_web_view_apply_zoom_level): Ditto.
+
2010-05-22 Martin Robinson <mrobinson@igalia.com>
Reviewed by Xan Lopez.
diff --git a/WebKit/gtk/NEWS b/WebKit/gtk/NEWS
index 45e3121..fc87b35 100644
--- a/WebKit/gtk/NEWS
+++ b/WebKit/gtk/NEWS
@@ -1,3 +1,22 @@
+================
+WebKitGTK+ 1.3.1
+================
+
+What's new in WebKitGTK+ 1.3.1?
+
+ - Initial support for GObject DOM bindings. Present in this release
+ is a substantial subset of the basic DOM APIs (Document, HTML
+ elements, Node, etc) including access to the DOM events through
+ GObject signals. Keep in mind that all the APIs are still
+ unstable, and will probably be subject to changes before the next
+ stable release.
+ - Add webkit_web_back_forward_list_clear, to completely clear the
+ BackForward list.
+ - Lots of improvements in DOM clipboard and drag-drop access.
+ - Add support for GTK+ key themes.
+ - Significant improvements in a11y, including improved role support
+ and many bugfixes.
+
=================
WebKitGTK+ 1.1.90
=================
diff --git a/WebKit/gtk/docs/webkitgtk-docs.sgml b/WebKit/gtk/docs/webkitgtk-docs.sgml
index fb9ae09..6201ca5 100644
--- a/WebKit/gtk/docs/webkitgtk-docs.sgml
+++ b/WebKit/gtk/docs/webkitgtk-docs.sgml
@@ -107,4 +107,7 @@
<index id="index-1.1.23" role="1.1.23">
<title>Index of new symbols in 1.1.23</title>
</index>
+ <index id="index-1.3.1" role="1.3.1">
+ <title>Index of new symbols in 1.3.1</title>
+ </index>
</book>
diff --git a/WebKit/gtk/docs/webkitgtk-sections.txt b/WebKit/gtk/docs/webkitgtk-sections.txt
index 7f37484..864b991 100644
--- a/WebKit/gtk/docs/webkitgtk-sections.txt
+++ b/WebKit/gtk/docs/webkitgtk-sections.txt
@@ -25,6 +25,7 @@ WebKitWebSettingsClass
<TITLE>WebKitWebBackForwardList</TITLE>
WebKitWebBackForwardList
webkit_web_back_forward_list_add_item
+webkit_web_back_forward_list_clear
webkit_web_back_forward_list_contains_item
webkit_web_back_forward_list_get_back_item
webkit_web_back_forward_list_get_back_length
@@ -436,6 +437,7 @@ webkit_web_view_execute_script
webkit_web_view_get_back_forward_list
webkit_web_view_get_copy_target_list
webkit_web_view_get_custom_encoding
+webkit_web_view_get_dom_document
webkit_web_view_get_editable
webkit_web_view_get_encoding
webkit_web_view_get_focused_frame
diff --git a/WebKit/gtk/tests/testcopyandpaste.c b/WebKit/gtk/tests/testcopyandpaste.c
new file mode 100644
index 0000000..034a429
--- /dev/null
+++ b/WebKit/gtk/tests/testcopyandpaste.c
@@ -0,0 +1,165 @@
+/*
+ * Copyright (C) 2010 Igalia S.L.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2,1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#include <errno.h>
+#include <unistd.h>
+#include <string.h>
+#include <glib/gstdio.h>
+#include <webkit/webkit.h>
+#include <JavaScriptCore/JSStringRef.h>
+#include <JavaScriptCore/JSContextRef.h>
+
+
+#if GTK_CHECK_VERSION(2, 14, 0)
+
+typedef struct {
+ char* page;
+ char* expectedPlainText;
+} TestInfo;
+
+typedef struct {
+ GtkWidget* window;
+ WebKitWebView* webView;
+ GMainLoop* loop;
+ TestInfo* info;
+} CopyAndPasteFixture;
+
+TestInfo*
+test_info_new(const char* page, const char* expectedPlainText)
+{
+ TestInfo* info;
+ info = g_slice_new0(TestInfo);
+ info->page = g_strdup(page);
+ if (expectedPlainText)
+ info->expectedPlainText = g_strdup(expectedPlainText);
+ return info;
+}
+
+void
+test_info_destroy(TestInfo* info)
+{
+ g_free(info->page);
+ g_free(info->expectedPlainText);
+ g_slice_free(TestInfo, info);
+}
+
+static void copy_and_paste_fixture_setup(CopyAndPasteFixture* fixture, gconstpointer data)
+{
+ fixture->loop = g_main_loop_new(NULL, TRUE);
+
+ fixture->window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ fixture->webView = WEBKIT_WEB_VIEW(webkit_web_view_new());
+
+ gtk_container_add(GTK_CONTAINER(fixture->window), GTK_WIDGET(fixture->webView));
+}
+
+static void copy_and_paste_fixture_teardown(CopyAndPasteFixture* fixture, gconstpointer data)
+{
+ gtk_widget_destroy(fixture->window);
+ g_main_loop_unref(fixture->loop);
+ test_info_destroy(fixture->info);
+}
+
+static void load_status_cb(WebKitWebView* webView, GParamSpec* spec, gpointer data)
+{
+ CopyAndPasteFixture* fixture = (CopyAndPasteFixture*)data;
+ WebKitLoadStatus status = webkit_web_view_get_load_status(webView);
+ if (status != WEBKIT_LOAD_FINISHED)
+ return;
+
+ GtkClipboard* clipboard = gtk_clipboard_get(GDK_SELECTION_CLIPBOARD);
+ gtk_clipboard_clear(clipboard);
+
+ webkit_web_view_copy_clipboard(webView);
+
+ gchar* text = gtk_clipboard_wait_for_text(clipboard);
+ g_assert(text || !fixture->info->expectedPlainText);
+ g_assert(!text || !strcmp(text, fixture->info->expectedPlainText));
+ g_free(text);
+
+ g_assert(!gtk_clipboard_wait_is_uris_available(clipboard));
+ g_assert(!gtk_clipboard_wait_is_image_available(clipboard));
+
+ g_main_loop_quit(fixture->loop);
+}
+
+gboolean map_event_cb(GtkWidget *widget, GdkEvent* event, gpointer data)
+{
+ gtk_widget_grab_focus(widget);
+ CopyAndPasteFixture* fixture = (CopyAndPasteFixture*)data;
+ webkit_web_view_load_string(fixture->webView, fixture->info->page,
+ "text/html", "utf-8", "file://");
+ return FALSE;
+}
+
+static void test_copy_and_paste(CopyAndPasteFixture* fixture, gconstpointer data)
+{
+ fixture->info = (TestInfo*)data;
+ g_signal_connect(fixture->window, "map-event",
+ G_CALLBACK(map_event_cb), fixture);
+
+ gtk_widget_show(fixture->window);
+ gtk_widget_show(GTK_WIDGET(fixture->webView));
+ gtk_window_present(GTK_WINDOW(fixture->window));
+
+ g_signal_connect(fixture->webView, "notify::load-status",
+ G_CALLBACK(load_status_cb), fixture);
+
+ g_main_loop_run(fixture->loop);
+}
+
+int main(int argc, char** argv)
+{
+ g_thread_init(NULL);
+ gtk_test_init(&argc, &argv, NULL);
+
+ g_test_bug_base("https://bugs.webkit.org/");
+ const char* selected_span_html = "<html><body>"
+ "<span id=\"mainspan\">All work and no play <span>make Jack a dull</span> boy.</span>"
+ "<script>document.getSelection().collapse();\n"
+ "document.getSelection().selectAllChildren(document.getElementById('mainspan'));\n"
+ "</script></body></html>";
+ const char* no_selection_html = "<html><body>"
+ "<span id=\"mainspan\">All work and no play <span>make Jack a dull</span> boy</span>"
+ "<script>document.getSelection().collapse();\n"
+ "</script></body></html>";
+
+ g_test_add("/webkit/copyandpaste/selection", CopyAndPasteFixture,
+ test_info_new(selected_span_html, "All work and no play make Jack a dull boy."),
+ copy_and_paste_fixture_setup,
+ test_copy_and_paste,
+ copy_and_paste_fixture_teardown);
+ g_test_add("/webkit/copyandpaste/no-selection", CopyAndPasteFixture,
+ test_info_new(no_selection_html, 0),
+ copy_and_paste_fixture_setup,
+ test_copy_and_paste,
+ copy_and_paste_fixture_teardown);
+
+ return g_test_run();
+}
+
+#else
+
+int main(int argc, char** argv)
+{
+ g_critical("You will need at least GTK+ 2.14.0 to run the unit tests.");
+ return 0;
+}
+
+#endif
diff --git a/WebKit/gtk/tests/testdomdomwindow.c b/WebKit/gtk/tests/testdomdomwindow.c
new file mode 100644
index 0000000..1796057
--- /dev/null
+++ b/WebKit/gtk/tests/testdomdomwindow.c
@@ -0,0 +1,166 @@
+/*
+ * Copyright (C) 2010 Igalia S.L.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#include "test_utils.h"
+
+#include <glib.h>
+#include <glib/gstdio.h>
+#include <gtk/gtk.h>
+#include <webkit/webkit.h>
+
+#if GLIB_CHECK_VERSION(2, 16, 0) && GTK_CHECK_VERSION(2, 14, 0)
+
+#define HTML_DOCUMENT "<html><head><title>This is the title</title></head><body></body></html>"
+
+typedef struct {
+ GtkWidget* webView;
+ GtkWidget* window;
+ WebKitDOMDOMWindow* domWindow;
+ GMainLoop* loop;
+
+ gboolean loaded;
+ gboolean clicked;
+ gconstpointer data;
+} DomDomviewFixture;
+
+static gboolean finish_loading(DomDomviewFixture* fixture)
+{
+ if (g_main_loop_is_running(fixture->loop))
+ g_main_loop_quit(fixture->loop);
+
+ return FALSE;
+}
+
+static void dom_domview_fixture_setup(DomDomviewFixture* fixture, gconstpointer data)
+{
+ fixture->loop = g_main_loop_new(NULL, TRUE);
+ fixture->window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ fixture->webView = webkit_web_view_new();
+ fixture->data = data;
+
+ gtk_container_add(GTK_CONTAINER(fixture->window), GTK_WIDGET(fixture->webView));
+}
+
+static void dom_domview_fixture_teardown(DomDomviewFixture* fixture, gconstpointer data)
+{
+ gtk_widget_destroy(fixture->window);
+ g_main_loop_unref(fixture->loop);
+}
+
+static gboolean loadedCallback(WebKitDOMDOMWindow* view, WebKitDOMEvent* event, DomDomviewFixture* fixture)
+{
+ g_assert(fixture->loaded == FALSE);
+ fixture->loaded = TRUE;
+
+ return FALSE;
+}
+
+static gboolean clickedCallback(WebKitDOMDOMWindow* view, WebKitDOMEvent* event, DomDomviewFixture* fixture)
+{
+ WebKitDOMEventTarget* target;
+ gushort phase;
+
+ g_assert(event);
+ g_assert(WEBKIT_DOM_IS_EVENT(event));
+
+ // We should catch this in the bubbling up phase, since we are connecting to the toplevel object
+ phase = webkit_dom_event_get_event_phase(event);
+ g_assert_cmpint(phase, ==, 3);
+
+ target = webkit_dom_event_get_current_target(event);
+ g_assert(target == WEBKIT_DOM_EVENT_TARGET(view));
+
+ g_assert(fixture->clicked == FALSE);
+ fixture->clicked = TRUE;
+
+ finish_loading(fixture);
+
+ return FALSE;
+}
+
+gboolean map_event_cb(GtkWidget *widget, GdkEvent* event, DomDomviewFixture* fixture)
+{
+ webkit_web_view_load_string(WEBKIT_WEB_VIEW (fixture->webView), (const char*)fixture->data, NULL, NULL, NULL);
+
+ return FALSE;
+}
+
+static void load_event_callback(WebKitWebView* webView, GParamSpec* spec, DomDomviewFixture* fixture)
+{
+ WebKitLoadStatus status = webkit_web_view_get_load_status(webView);
+ if (status == WEBKIT_LOAD_FINISHED) {
+ g_signal_connect(fixture->domWindow, "click-event", G_CALLBACK(clickedCallback), fixture);
+
+ g_assert(fixture->clicked == FALSE);
+ gtk_test_widget_click (GTK_WIDGET(fixture->webView), 1, 0);
+ }
+
+}
+
+static void test_dom_domview_signals(DomDomviewFixture* fixture, gconstpointer data)
+{
+ g_assert(fixture);
+ WebKitWebView* view = (WebKitWebView*)fixture->webView;
+ g_assert(view);
+ WebKitDOMDocument* document = webkit_web_view_get_dom_document(view);
+ g_assert(document);
+ WebKitDOMDOMWindow* domWindow = webkit_dom_document_get_default_view(document);
+ g_assert(domWindow);
+
+ fixture->domWindow = domWindow;
+
+ g_signal_connect(fixture->domWindow, "load-event", G_CALLBACK(loadedCallback), fixture);
+ g_signal_connect(fixture->window, "map-event", G_CALLBACK(map_event_cb), fixture);
+ g_signal_connect(fixture->webView, "notify::load-status", G_CALLBACK(load_event_callback), fixture);
+
+ gtk_widget_show_all(fixture->window);
+ gtk_window_present(GTK_WINDOW(fixture->window));
+
+ g_main_loop_run (fixture->loop);
+
+ g_assert(fixture->loaded);
+ g_assert(fixture->clicked);
+}
+
+int main(int argc, char** argv)
+{
+ if (!g_thread_supported())
+ g_thread_init(NULL);
+
+ gtk_test_init(&argc, &argv, NULL);
+
+ g_test_bug_base("https://bugs.webkit.org/");
+
+ g_test_add("/webkit/domdomview/signals",
+ DomDomviewFixture, HTML_DOCUMENT,
+ dom_domview_fixture_setup,
+ test_dom_domview_signals,
+ dom_domview_fixture_teardown);
+
+ return g_test_run();
+}
+
+#else
+int main(int argc, char** argv)
+{
+ g_critical("You will need at least glib-2.16.0 and gtk-2.14.0 to run the unit tests. Doing nothing now.");
+ return 0;
+}
+
+#endif
diff --git a/WebKit/gtk/webkit/webkitwebbackforwardlist.cpp b/WebKit/gtk/webkit/webkitwebbackforwardlist.cpp
index b23aeb9..70fdea5 100644
--- a/WebKit/gtk/webkit/webkitwebbackforwardlist.cpp
+++ b/WebKit/gtk/webkit/webkitwebbackforwardlist.cpp
@@ -445,7 +445,7 @@ void webkit_web_back_forward_list_add_item(WebKitWebBackForwardList *webBackForw
* Clears the @webBackForwardList by removing all its elements. Note that not even
* the current page is kept in list when cleared so you would have to add it later.
*
- * Since: 1.1.30
+ * Since: 1.3.1
**/
void webkit_web_back_forward_list_clear(WebKitWebBackForwardList* webBackForwardList)
{
diff --git a/WebKit/gtk/webkit/webkitwebview.cpp b/WebKit/gtk/webkit/webkitwebview.cpp
index f3bb5e6..2c95558 100644
--- a/WebKit/gtk/webkit/webkitwebview.cpp
+++ b/WebKit/gtk/webkit/webkitwebview.cpp
@@ -1257,7 +1257,11 @@ static void webkit_web_view_drag_end(GtkWidget* widget, GdkDragContext* context)
GdkDisplay* display = gdk_display_get_default();
gdk_display_get_pointer(display, 0, &xRoot, &yRoot, &modifiers);
- event->button.window = static_cast<GdkWindow*>(g_object_ref(gdk_display_get_window_at_pointer(display, &x, &y)));
+ GdkWindow* window = gdk_display_get_window_at_pointer(display, &x, &y);
+ if (window) {
+ g_object_ref(window);
+ event->button.window = window;
+ }
event->button.x = x;
event->button.y = y;
event->button.x_root = xRoot;
@@ -3636,8 +3640,7 @@ void webkit_web_view_set_editable(WebKitWebView* webView, gboolean flag)
// TODO: If the WebKitWebView is made editable and the selection is empty, set it to something.
//if (!webkit_web_view_get_selected_dom_range(webView))
// mainFrame->setSelectionFromNone();
- } else
- frame->removeEditingStyleFromBodyElement();
+ }
g_object_notify(G_OBJECT(webView), "editable");
}
@@ -3761,7 +3764,11 @@ gfloat webkit_web_view_get_zoom_level(WebKitWebView* webView)
if (!frame)
return 1.0f;
- return frame->zoomFactor();
+ FrameView* view = frame->view();
+ if (!view)
+ return 1;
+
+ return view->zoomFactor();
}
static void webkit_web_view_apply_zoom_level(WebKitWebView* webView, gfloat zoomLevel)
@@ -3770,8 +3777,12 @@ static void webkit_web_view_apply_zoom_level(WebKitWebView* webView, gfloat zoom
if (!frame)
return;
+ FrameView* view = frame->view();
+ if (!view)
+ return;
+
WebKitWebViewPrivate* priv = webView->priv;
- frame->setZoomFactor(zoomLevel, priv->zoomFullContent ? ZoomPage : ZoomTextOnly);
+ view->setZoomFactor(zoomLevel, priv->zoomFullContent ? ZoomPage : ZoomTextOnly);
}
/**
@@ -4370,7 +4381,7 @@ WebKitCacheModel webkit_get_cache_model()
*
* Returns: the #WebKitDOMDocument currently loaded in the @webView
*
- * Since: 1.3.0
+ * Since: 1.3.1
**/
WebKitDOMDocument*
webkit_web_view_get_dom_document(WebKitWebView* webView)
diff --git a/WebKit/haiku/ChangeLog b/WebKit/haiku/ChangeLog
index c821f12..35ad98a 100644
--- a/WebKit/haiku/ChangeLog
+++ b/WebKit/haiku/ChangeLog
@@ -1,3 +1,27 @@
+2010-05-31 Lyon Chen <liachen@rim.com>
+
+ Reviewed by Kent Tamura.
+
+ Enum value FORWARD, BACKWARD, RIGHT, LEFT are causing macro conflicts.
+ https://bugs.webkit.org/show_bug.cgi?id=35530
+
+ Change enum EAlteration from { MOVE, EXTEND } to { AlterationMove, AlterationExtend } and enum EDirection { FORWARD, BACKWARD, RIGHT, LEFT} to { DirectionForward, DirectionBackward, DirectionRight, DirectionLeft } to avoid macro conflict, and also better coding style conformance.
+
+ * WebCoreSupport/EditorClientHaiku.cpp:
+ (WebCore::EditorClientHaiku::handleKeyboardEvent):
+
+2010-05-30 Lyon Chen <liachen@rim.com>
+
+ Reviewed by Kent Tamura.
+
+ This is a coding style cleanup before fixing to bug 35530.
+
+ Enum value FORWARD, BACKWARD, RIGHT, LEFT are causing macro conflicts.
+ https://bugs.webkit.org/show_bug.cgi?id=35530
+
+ * WebCoreSupport/EditorClientHaiku.cpp:
+ (WebCore::EditorClientHaiku::handleKeyboardEvent):
+
2010-05-03 Jens Alfke <snej@chromium.org>
Reviewed by Darin Fisher.
diff --git a/WebKit/haiku/WebCoreSupport/EditorClientHaiku.cpp b/WebKit/haiku/WebCoreSupport/EditorClientHaiku.cpp
index 48957a0..2e23af7 100644
--- a/WebKit/haiku/WebCoreSupport/EditorClientHaiku.cpp
+++ b/WebKit/haiku/WebCoreSupport/EditorClientHaiku.cpp
@@ -37,12 +37,11 @@
#include "FocusController.h"
#include "Frame.h"
#include "KeyboardEvent.h"
+#include "NotImplemented.h"
#include "Page.h"
#include "PlatformKeyboardEvent.h"
#include "WindowsKeyboardCodes.h"
-#include "NotImplemented.h"
-
namespace WebCore {
@@ -252,45 +251,45 @@ void EditorClientHaiku::handleKeyboardEvent(KeyboardEvent* event)
return;
if (start->isContentEditable()) {
- switch(kevent->windowsVirtualKeyCode()) {
+ switch (kevent->windowsVirtualKeyCode()) {
case VK_BACK:
- frame->editor()->deleteWithDirection(SelectionController::BACKWARD,
+ frame->editor()->deleteWithDirection(SelectionController::DirectionBackward,
kevent->ctrlKey() ? WordGranularity : CharacterGranularity,
false, true);
break;
case VK_DELETE:
- frame->editor()->deleteWithDirection(SelectionController::FORWARD,
+ frame->editor()->deleteWithDirection(SelectionController::DirectionForward,
kevent->ctrlKey() ? WordGranularity : CharacterGranularity,
false, true);
break;
case VK_LEFT:
- frame->selection()->modify(kevent->shiftKey() ? SelectionController::EXTEND : SelectionController::MOVE,
- SelectionController::LEFT,
+ frame->selection()->modify(kevent->shiftKey() ? SelectionController::AlterationExtend : SelectionController::AlterationMove,
+ SelectionController::DirectionLeft,
kevent->ctrlKey() ? WordGranularity : CharacterGranularity,
true);
break;
case VK_RIGHT:
- frame->selection()->modify(kevent->shiftKey() ? SelectionController::EXTEND : SelectionController::MOVE,
- SelectionController::RIGHT,
+ frame->selection()->modify(kevent->shiftKey() ? SelectionController::AlterationExtend : SelectionController::AlterationMove,
+ SelectionController::DirectionRight,
kevent->ctrlKey() ? WordGranularity : CharacterGranularity,
true);
break;
case VK_UP:
- frame->selection()->modify(kevent->shiftKey() ? SelectionController::EXTEND : SelectionController::MOVE,
- SelectionController::BACKWARD,
+ frame->selection()->modify(kevent->shiftKey() ? SelectionController::AlterationExtend : SelectionController::AlterationMove,
+ SelectionController::DirectionBackward,
kevent->ctrlKey() ? ParagraphGranularity : LineGranularity,
true);
break;
case VK_DOWN:
- frame->selection()->modify(kevent->shiftKey() ? SelectionController::EXTEND : SelectionController::MOVE,
- SelectionController::FORWARD,
+ frame->selection()->modify(kevent->shiftKey() ? SelectionController::AlterationExtend : SelectionController::AlterationMove,
+ SelectionController::DirectionForward,
kevent->ctrlKey() ? ParagraphGranularity : LineGranularity,
true);
break;
- case VK_PRIOR: // PageUp
+ case VK_PRIOR: // PageUp
frame->editor()->command("MoveUpByPageAndModifyCaret");
break;
- case VK_NEXT: // PageDown
+ case VK_NEXT: // PageDown
frame->editor()->command("MoveDownByPageAndModifyCaret");
break;
case VK_RETURN:
@@ -336,7 +335,8 @@ void EditorClientHaiku::handleKeyboardEvent(KeyboardEvent* event)
default:
return;
}
- } else return;
+ } else
+ return;
}
} else {
switch (kevent->windowsVirtualKeyCode()) {
@@ -346,10 +346,10 @@ void EditorClientHaiku::handleKeyboardEvent(KeyboardEvent* event)
case VK_DOWN:
frame->editor()->command("MoveDown");
break;
- case VK_PRIOR: // PageUp
+ case VK_PRIOR: // PageUp
frame->editor()->command("MoveUpByPageAndModifyCaret");
break;
- case VK_NEXT: // PageDown
+ case VK_NEXT: // PageDown
frame->editor()->command("MoveDownByPageAndModifyCaret");
break;
case VK_HOME:
@@ -362,17 +362,18 @@ void EditorClientHaiku::handleKeyboardEvent(KeyboardEvent* event)
break;
default:
if (kevent->ctrlKey()) {
- switch(kevent->windowsVirtualKeyCode()) {
- case VK_A:
- frame->editor()->command("SelectAll");
- break;
- case VK_C: case VK_X:
- frame->editor()->command("Copy");
- break;
- default:
- return;
+ switch (kevent->windowsVirtualKeyCode()) {
+ case VK_A:
+ frame->editor()->command("SelectAll");
+ break;
+ case VK_C: case VK_X:
+ frame->editor()->command("Copy");
+ break;
+ default:
+ return;
}
- } else return;
+ } else
+ return;
}
}
event->setDefaultHandled();
diff --git a/WebKit/mac/ChangeLog b/WebKit/mac/ChangeLog
index 510ccfd..7d88fed 100644
--- a/WebKit/mac/ChangeLog
+++ b/WebKit/mac/ChangeLog
@@ -1,3 +1,100 @@
+2010-05-30 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Make more HTML DOM members private, especially constructors, third and final batch
+ https://bugs.webkit.org/show_bug.cgi?id=39916
+
+ * WebView/WebHTMLRepresentation.mm:
+ (-[WebHTMLRepresentation elementWithName:inForm:]): Use the new HTMLFormElement
+ function, associatedElements, rather than getting directly at a data member
+ named formElements.
+ (-[WebHTMLRepresentation controlsInForm:]): Ditto.
+
+2010-05-28 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig, Gavin Barraclough, Oliver Hunt.
+
+ Simplified the host calling convention.
+
+ PART ONE: Functional code changes.
+
+ [ None in WebKit ]
+
+ PART TWO: Global search and replace.
+
+ In the areas below, I used global search-and-replace to change
+ (ExecState*, JSObject*, JSValue, const ArgList&) => (ExecState*)
+ args.size() => exec->argumentCount()
+ args.at(i) => exec->argument(i)
+
+ * Plugins/Hosted/ProxyInstance.h:
+ * Plugins/Hosted/ProxyInstance.mm:
+ (WebKit::ProxyInstance::invoke):
+ (WebKit::ProxyInstance::invokeMethod):
+ (WebKit::ProxyInstance::invokeDefaultMethod):
+
+2010-05-27 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Change z-component to 1.
+
+ * WebView/WebHTMLView.mm:
+ (-[WebHTMLView viewDidMoveToWindow]):
+ (-[WebHTMLView attachRootLayer:]):
+
+2010-05-26 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Beth Dakin and Darin Adler.
+
+ Fix for <rdar://problem/7464703> HiDPI: [Layers] Compositing layers
+ do not scale properly when running with a resolution independent
+ scale
+
+ Apply the userSpaceScaleFactor as a scale on the layerHostingView.
+
+ * WebView/WebHTMLView.mm:
+ (-[WebHTMLView viewDidMoveToWindow]):
+ (-[WebHTMLView attachRootLayer:]):
+
+2010-05-25 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39621
+ <rdar://problem/8009738> Extreme memory growth on DOM Hanoi test
+
+ Removed formStateDidChange support, which is not needed by any client.
+
+ * WebCoreSupport/WebChromeClient.h:
+ (WebChromeClient::formStateDidChange):
+ * WebCoreSupport/WebChromeClient.mm:
+ * WebView/WebUIDelegatePrivate.h:
+
+2010-05-25 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Database origins aren't populated at launch (missing db in prefs sheet, possible other symptoms)
+ <rdar://problem/8013233> and https://bugs.webkit.org/show_bug.cgi?id=39486
+
+ * Storage/WebDatabaseManager.mm:
+ (WebKitInitializeDatabasesIfNecessary): Call initializeTracker() instead of trying to set the path on
+ an already created tracker that already has its origins populated.
+
+2010-05-24 Darin Adler <darin@apple.com>
+
+ Reviewed by Eric Seidel.
+
+ Move view-related functions from Frame to FrameView
+ https://bugs.webkit.org/show_bug.cgi?id=39366
+
+ * WebView/WebView.mm:
+ (-[WebView _setZoomMultiplier:isTextOnly:]): Call function on FrameView.
+ (-[WebView setEditable:]): Get rid of call to empty function,
+ removeEditingStyleFromBodyElement.
+
2010-05-21 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
diff --git a/WebKit/mac/Plugins/Hosted/ProxyInstance.h b/WebKit/mac/Plugins/Hosted/ProxyInstance.h
index c8fb118..b72e49a 100644
--- a/WebKit/mac/Plugins/Hosted/ProxyInstance.h
+++ b/WebKit/mac/Plugins/Hosted/ProxyInstance.h
@@ -64,10 +64,10 @@ private:
virtual JSC::Bindings::Class* getClass() const;
virtual JSC::JSValue getMethod(JSC::ExecState* exec, const JSC::Identifier& propertyName);
- virtual JSC::JSValue invokeMethod(JSC::ExecState*, JSC::RuntimeMethod*, const JSC::ArgList& args);
+ virtual JSC::JSValue invokeMethod(JSC::ExecState*, JSC::RuntimeMethod*);
virtual bool supportsInvokeDefaultMethod() const;
- virtual JSC::JSValue invokeDefaultMethod(JSC::ExecState*, const JSC::ArgList&);
+ virtual JSC::JSValue invokeDefaultMethod(JSC::ExecState*);
virtual bool supportsConstruct() const;
virtual JSC::JSValue invokeConstruct(JSC::ExecState*, const JSC::ArgList&);
@@ -81,7 +81,7 @@ private:
JSC::JSValue numberValue(JSC::ExecState*) const;
JSC::JSValue booleanValue() const;
- JSC::JSValue invoke(JSC::ExecState*, InvokeType, uint64_t identifier, const JSC::ArgList& args);
+ JSC::JSValue invoke(JSC::ExecState*, InvokeType, uint64_t identifier, const JSC::ArgList&);
template <typename T>
std::auto_ptr<T> waitForReply(uint32_t requestID) const {
diff --git a/WebKit/mac/Plugins/Hosted/ProxyInstance.mm b/WebKit/mac/Plugins/Hosted/ProxyInstance.mm
index b569a4f..b9a674d 100644
--- a/WebKit/mac/Plugins/Hosted/ProxyInstance.mm
+++ b/WebKit/mac/Plugins/Hosted/ProxyInstance.mm
@@ -141,7 +141,7 @@ JSC::Bindings::Class* ProxyInstance::getClass() const
return proxyClass();
}
-JSValue ProxyInstance::invoke(JSC::ExecState* exec, InvokeType type, uint64_t identifier, const JSC::ArgList& args)
+JSValue ProxyInstance::invoke(JSC::ExecState* exec, InvokeType type, uint64_t identifier, const ArgList& args)
{
if (!m_instanceProxy)
return jsUndefined();
@@ -196,7 +196,7 @@ JSValue ProxyInstance::getMethod(JSC::ExecState* exec, const JSC::Identifier& pr
return new (exec) ProxyRuntimeMethod(exec, exec->lexicalGlobalObject(), propertyName, methodList);
}
-JSValue ProxyInstance::invokeMethod(ExecState* exec, JSC::RuntimeMethod* runtimeMethod, const ArgList& args)
+JSValue ProxyInstance::invokeMethod(ExecState* exec, JSC::RuntimeMethod* runtimeMethod)
{
if (!asObject(runtimeMethod)->inherits(&ProxyRuntimeMethod::s_info))
return throwError(exec, TypeError, "Attempt to invoke non-plug-in method on plug-in object.");
@@ -207,7 +207,7 @@ JSValue ProxyInstance::invokeMethod(ExecState* exec, JSC::RuntimeMethod* runtime
ProxyMethod* method = static_cast<ProxyMethod*>(methodList[0]);
- return invoke(exec, Invoke, method->serverIdentifier(), args);
+ return invoke(exec, Invoke, method->serverIdentifier(), ArgList(exec));
}
bool ProxyInstance::supportsInvokeDefaultMethod() const
@@ -228,10 +228,10 @@ bool ProxyInstance::supportsInvokeDefaultMethod() const
return false;
}
-
-JSValue ProxyInstance::invokeDefaultMethod(ExecState* exec, const ArgList& args)
+
+JSValue ProxyInstance::invokeDefaultMethod(ExecState* exec)
{
- return invoke(exec, InvokeDefault, 0, args);
+ return invoke(exec, InvokeDefault, 0, ArgList(exec));
}
bool ProxyInstance::supportsConstruct() const
diff --git a/WebKit/mac/Storage/WebDatabaseManager.mm b/WebKit/mac/Storage/WebDatabaseManager.mm
index 782f422..8c5e8a2 100644
--- a/WebKit/mac/Storage/WebDatabaseManager.mm
+++ b/WebKit/mac/Storage/WebDatabaseManager.mm
@@ -138,7 +138,7 @@ void WebKitInitializeDatabasesIfNecessary()
return;
// Set the database root path in WebCore
- DatabaseTracker::tracker().setDatabaseDirectoryPath(databasesDirectoryPath());
+ DatabaseTracker::initializeTracker(databasesDirectoryPath());
// Set the DatabaseTrackerClient
DatabaseTracker::tracker().setClient(WebDatabaseTrackerClient::sharedWebDatabaseTrackerClient());
diff --git a/WebKit/mac/WebCoreSupport/WebChromeClient.h b/WebKit/mac/WebCoreSupport/WebChromeClient.h
index f8f2b73..7deea79 100644
--- a/WebKit/mac/WebCoreSupport/WebChromeClient.h
+++ b/WebKit/mac/WebCoreSupport/WebChromeClient.h
@@ -143,7 +143,7 @@ public:
virtual bool shouldReplaceWithGeneratedFileForUpload(const WebCore::String& path, WebCore::String &generatedFilename);
virtual WebCore::String generateReplacementFile(const WebCore::String& path);
- virtual void formStateDidChange(const WebCore::Node*);
+ virtual void formStateDidChange(const WebCore::Node*) { }
virtual void formDidFocus(const WebCore::Node*);
virtual void formDidBlur(const WebCore::Node*);
diff --git a/WebKit/mac/WebCoreSupport/WebChromeClient.mm b/WebKit/mac/WebCoreSupport/WebChromeClient.mm
index 4e65751..0a52a9f 100644
--- a/WebKit/mac/WebCoreSupport/WebChromeClient.mm
+++ b/WebKit/mac/WebCoreSupport/WebChromeClient.mm
@@ -695,11 +695,6 @@ String WebChromeClient::generateReplacementFile(const String& path)
return [[m_webView _UIDelegateForwarder] webView:m_webView generateReplacementFile:path];
}
-void WebChromeClient::formStateDidChange(const WebCore::Node* node)
-{
- CallUIDelegate(m_webView, @selector(webView:formStateDidChangeForNode:), kit(const_cast<WebCore::Node*>(node)));
-}
-
void WebChromeClient::formDidFocus(const WebCore::Node* node)
{
CallUIDelegate(m_webView, @selector(webView:formDidFocusNode:), kit(const_cast<WebCore::Node*>(node)));
diff --git a/WebKit/mac/WebView/WebHTMLRepresentation.mm b/WebKit/mac/WebView/WebHTMLRepresentation.mm
index 2684004..51fd5ba 100644
--- a/WebKit/mac/WebView/WebHTMLRepresentation.mm
+++ b/WebKit/mac/WebView/WebHTMLRepresentation.mm
@@ -282,11 +282,11 @@ static HTMLFormElement* formElementFromDOMElement(DOMElement *element)
HTMLFormElement* formElement = formElementFromDOMElement(form);
if (!formElement)
return nil;
- Vector<HTMLFormControlElement*>& elements = formElement->formElements;
+ const Vector<HTMLFormControlElement*>& elements = formElement->associatedElements();
AtomicString targetName = name;
for (unsigned i = 0; i < elements.size(); i++) {
HTMLFormControlElement* elt = elements[i];
- if (elt->formControlName() == targetName)
+ if (elt->name() == targetName)
return kit(elt);
}
return nil;
@@ -331,7 +331,7 @@ static HTMLInputElement* inputElementFromDOMElement(DOMElement* element)
if (!formElement)
return nil;
NSMutableArray *results = nil;
- Vector<HTMLFormControlElement*>& elements = formElement->formElements;
+ const Vector<HTMLFormControlElement*>& elements = formElement->associatedElements();
for (unsigned i = 0; i < elements.size(); i++) {
if (elements[i]->isEnumeratable()) { // Skip option elements, other duds
DOMElement* de = kit(elements[i]);
diff --git a/WebKit/mac/WebView/WebHTMLView.mm b/WebKit/mac/WebView/WebHTMLView.mm
index 5f9134f..a60ae12 100644
--- a/WebKit/mac/WebView/WebHTMLView.mm
+++ b/WebKit/mac/WebView/WebHTMLView.mm
@@ -3056,6 +3056,15 @@ WEBCORE_COMMAND(yankAndSelect)
[[self _pluginController] startAllPlugins];
_private->lastScrollPosition = NSZeroPoint;
+
+#if USE(ACCELERATED_COMPOSITING) && !defined(BUILDING_ON_LEOPARD)
+ // We may have created the layer hosting view while outside the window. Update the scale factor
+ // now that we have a window to get it from.
+ if (_private->layerHostingView) {
+ CGFloat scaleFactor = [[self window] userSpaceScaleFactor];
+ [[_private->layerHostingView layer] setTransform:CATransform3DMakeScale(scaleFactor, scaleFactor, 1)];
+ }
+#endif
}
}
@@ -5561,6 +5570,13 @@ static CGPoint coreGraphicsScreenPointForAppKitScreenPoint(NSPoint point)
[viewLayer setStyle:[NSDictionary dictionaryWithObject:actions forKey:@"actions"]];
#endif
+#if !defined(BUILDING_ON_LEOPARD)
+ // If we aren't in the window yet, we'll use the screen's scale factor now, and reset the scale
+ // via -viewDidMoveToWindow.
+ CGFloat scaleFactor = [self window] ? [[self window] userSpaceScaleFactor] : [[NSScreen mainScreen] userSpaceScaleFactor];
+ [viewLayer setTransform:CATransform3DMakeScale(scaleFactor, scaleFactor, 1)];
+#endif
+
[_private->layerHostingView setLayer:viewLayer];
[_private->layerHostingView setWantsLayer:YES];
diff --git a/WebKit/mac/WebView/WebTextCompletionController.mm b/WebKit/mac/WebView/WebTextCompletionController.mm
index 2421fd7..ab0e621 100644
--- a/WebKit/mac/WebView/WebTextCompletionController.mm
+++ b/WebKit/mac/WebView/WebTextCompletionController.mm
@@ -172,8 +172,8 @@ using namespace std;
// Get preceeding word stem
WebFrame *frame = [_htmlView _frame];
DOMRange *selection = kit(core(frame)->selection()->toNormalizedRange().get());
- DOMRange *wholeWord = [frame _rangeByAlteringCurrentSelection:SelectionController::EXTEND
- direction:SelectionController::BACKWARD granularity:WordGranularity];
+ DOMRange *wholeWord = [frame _rangeByAlteringCurrentSelection:SelectionController::AlterationExtend
+ direction:SelectionController::DirectionBackward granularity:WordGranularity];
DOMRange *prefix = [wholeWord cloneRange];
[prefix setEnd:[selection startContainer] offset:[selection startOffset]];
diff --git a/WebKit/mac/WebView/WebUIDelegatePrivate.h b/WebKit/mac/WebView/WebUIDelegatePrivate.h
index a130b18..327a745 100644
--- a/WebKit/mac/WebView/WebUIDelegatePrivate.h
+++ b/WebKit/mac/WebView/WebUIDelegatePrivate.h
@@ -141,7 +141,6 @@ enum {
frame:(WebFrame *)frame
listener:(id<WebGeolocationPolicyListener>)listener;
-- (void)webView:(WebView *)sender formStateDidChangeForNode:(DOMNode *)node;
- (void)webView:(WebView *)sender formDidFocusNode:(DOMNode *)node;
- (void)webView:(WebView *)sender formDidBlurNode:(DOMNode *)node;
diff --git a/WebKit/mac/WebView/WebView.mm b/WebKit/mac/WebView/WebView.mm
index 0df62ea..97c799b 100644
--- a/WebKit/mac/WebView/WebView.mm
+++ b/WebKit/mac/WebView/WebView.mm
@@ -3183,19 +3183,22 @@ static bool needsWebViewInitThreadWorkaround()
return [self _realZoomMultiplierIsTextOnly] ? _private->zoomMultiplier : 1.0f;
}
-- (void)_setZoomMultiplier:(float)m isTextOnly:(BOOL)isTextOnly
+- (void)_setZoomMultiplier:(float)multiplier isTextOnly:(BOOL)isTextOnly
{
// NOTE: This has no visible effect when viewing a PDF (see <rdar://problem/4737380>)
- _private->zoomMultiplier = m;
+ _private->zoomMultiplier = multiplier;
+
ASSERT(_private->page);
if (_private->page)
_private->page->settings()->setZoomMode(isTextOnly ? ZoomTextOnly : ZoomPage);
-
- // FIXME: it would be nice to rework this code so that _private->zoomMultiplier doesn't exist and callers
- // all access _private->page->settings().
+
+ // FIXME: It would be nice to rework this code so that _private->zoomMultiplier doesn't exist
+ // and instead FrameView::zoomFactor is used.
Frame* coreFrame = [self _mainCoreFrame];
- if (coreFrame)
- coreFrame->setZoomFactor(m, isTextOnly ? ZoomTextOnly : ZoomPage);
+ if (coreFrame) {
+ if (FrameView* view = coreFrame->view())
+ view->setZoomFactor(multiplier, isTextOnly ? ZoomTextOnly : ZoomPage);
+ }
}
- (float)_zoomMultiplier:(BOOL)isTextOnly
@@ -4664,8 +4667,7 @@ static NSAppleEventDescriptor* aeDescFromJSValue(ExecState* exec, JSValue jsValu
// If the WebView is made editable and the selection is empty, set it to something.
if (![self selectedDOMRange])
mainFrame->setSelectionFromNone();
- } else
- mainFrame->removeEditingStyleFromBodyElement();
+ }
}
}
}
diff --git a/WebKit/qt/Api/DerivedSources.pro b/WebKit/qt/Api/DerivedSources.pro
index 389fb5f..22d4c8d 100644
--- a/WebKit/qt/Api/DerivedSources.pro
+++ b/WebKit/qt/Api/DerivedSources.pro
@@ -28,7 +28,7 @@ qtheader_module.commands += echo $${QUOTE}$${LITERAL_HASH}define QT_QTWEBKIT_MOD
qtheader_module.commands += echo $${QUOTE}$${LITERAL_HASH}include $${ESCAPE}<QtNetwork/QtNetwork$${ESCAPE}>$${QUOTE} >> $${qtheader_module.target} &&
WEBKIT_CLASS_HEADERS = $${LITERAL_DOLLAR}$${LITERAL_DOLLAR}$${LITERAL_DOLLAR}$${LITERAL_DOLLAR}PWD/QtWebKit
-regex = ".*\sclass\sQWEBKIT_EXPORT\s(\w+)\s(.*)"
+regex = ".*\\sclass\\sQWEBKIT_EXPORT\\s(\\w+)\\s(.*)"
for(HEADER, WEBKIT_API_HEADERS) {
# 1. Append to QtWebKit header that includes all other header files
@@ -70,7 +70,7 @@ for(HEADER, WEBKIT_API_HEADERS) {
res = $$find(src, $$regex)
isEmpty(res):break()
- exp = $$replace(src, $$regex, "EXPORTED_CLASS = \1")
+ exp = $$replace(src, $$regex, "EXPORTED_CLASS = \\1")
eval($$exp)
CLASS_TARGET = "qtheader_$${EXPORTED_CLASS}"
@@ -87,7 +87,7 @@ for(HEADER, WEBKIT_API_HEADERS) {
# Qt's QRegExp does not support inline non-greedy matching,
# so we'll have to work around it by updating the haystack
- src = $$replace(src, $$regex, "\2")
+ src = $$replace(src, $$regex, "\\2")
src_words = $$join(src, $${LITERAL_WHITESPACE})
}
}
diff --git a/WebKit/qt/Api/qwebframe.cpp b/WebKit/qt/Api/qwebframe.cpp
index 4b12545..7a28f83 100644
--- a/WebKit/qt/Api/qwebframe.cpp
+++ b/WebKit/qt/Api/qwebframe.cpp
@@ -55,6 +55,7 @@
#include "ScriptSourceCode.h"
#include "ScriptValue.h"
#include "Scrollbar.h"
+#include "Settings.h"
#include "SelectionController.h"
#include "SubstituteData.h"
#include "SVGSMILElement.h"
@@ -1079,7 +1080,11 @@ void QWebFrame::render(QPainter* painter)
*/
void QWebFrame::setTextSizeMultiplier(qreal factor)
{
- d->frame->setZoomFactor(factor, ZoomTextOnly);
+ FrameView* view = d->frame->view();
+ if (!view)
+ return;
+
+ view->setZoomFactor(factor, ZoomTextOnly);
}
/*!
@@ -1087,7 +1092,11 @@ void QWebFrame::setTextSizeMultiplier(qreal factor)
*/
qreal QWebFrame::textSizeMultiplier() const
{
- return d->frame->zoomFactor();
+ FrameView* view = d->frame->view();
+ if (!view)
+ return 1;
+
+ return view->zoomFactor();
}
/*!
@@ -1098,12 +1107,24 @@ qreal QWebFrame::textSizeMultiplier() const
void QWebFrame::setZoomFactor(qreal factor)
{
- d->frame->setZoomFactor(factor, d->frame->zoomMode());
+ Page* page = d->frame->page();
+ if (!page)
+ return;
+
+ FrameView* view = d->frame->view();
+ if (!view)
+ return;
+
+ view->setZoomFactor(factor, page->settings()->zoomMode());
}
qreal QWebFrame::zoomFactor() const
{
- return d->frame->zoomFactor();
+ FrameView* view = d->frame->view();
+ if (!view)
+ return 1;
+
+ return view->zoomFactor();
}
/*!
diff --git a/WebKit/qt/Api/qwebpage.cpp b/WebKit/qt/Api/qwebpage.cpp
index 1ae8e35..0e9d92f 100644
--- a/WebKit/qt/Api/qwebpage.cpp
+++ b/WebKit/qt/Api/qwebpage.cpp
@@ -299,7 +299,7 @@ QWebPagePrivate::QWebPagePrivate(QWebPage *qq)
PageGroup::setShouldTrackVisitedLinks(true);
#if ENABLE(NOTIFICATIONS)
- notificationPresenterClient = new NotificationPresenterClientQt();
+ notificationPresenterClient = new NotificationPresenterClientQt(q);
#endif
}
@@ -1220,7 +1220,42 @@ void QWebPagePrivate::dynamicPropertyChangeEvent(QDynamicPropertyChangeEvent* ev
} else if (event->propertyName() == "_q_HTMLTokenizerTimeDelay") {
double timeDelay = q->property("_q_HTMLTokenizerTimeDelay").toDouble();
q->handle()->page->setCustomHTMLTokenizerTimeDelay(timeDelay);
+ }
+#if ENABLE(TILED_BACKING_STORE)
+ else if (event->propertyName() == "_q_TiledBackingStoreTileSize") {
+ WebCore::Frame* frame = QWebFramePrivate::core(q->mainFrame());
+ if (!frame->tiledBackingStore())
+ return;
+ QSize tileSize = q->property("_q_TiledBackingStoreTileSize").toSize();
+ frame->tiledBackingStore()->setTileSize(tileSize);
+ } else if (event->propertyName() == "_q_TiledBackingStoreTileCreationDelay") {
+ WebCore::Frame* frame = QWebFramePrivate::core(q->mainFrame());
+ if (!frame->tiledBackingStore())
+ return;
+ int tileCreationDelay = q->property("_q_TiledBackingStoreTileCreationDelay").toInt();
+ frame->tiledBackingStore()->setTileCreationDelay(static_cast<double>(tileCreationDelay) / 1000.);
+ } else if (event->propertyName() == "_q_TiledBackingStoreKeepAreaMultiplier") {
+ WebCore::Frame* frame = QWebFramePrivate::core(q->mainFrame());
+ if (!frame->tiledBackingStore())
+ return;
+ FloatSize keepMultiplier;
+ FloatSize coverMultiplier;
+ frame->tiledBackingStore()->getKeepAndCoverAreaMultipliers(keepMultiplier, coverMultiplier);
+ QSizeF qSize = q->property("_q_TiledBackingStoreKeepAreaMultiplier").toSizeF();
+ keepMultiplier = FloatSize(qSize.width(), qSize.height());
+ frame->tiledBackingStore()->setKeepAndCoverAreaMultipliers(keepMultiplier, coverMultiplier);
+ } else if (event->propertyName() == "_q_TiledBackingStoreCoverAreaMultiplier") {
+ WebCore::Frame* frame = QWebFramePrivate::core(q->mainFrame());
+ if (!frame->tiledBackingStore())
+ return;
+ FloatSize keepMultiplier;
+ FloatSize coverMultiplier;
+ frame->tiledBackingStore()->getKeepAndCoverAreaMultipliers(keepMultiplier, coverMultiplier);
+ QSizeF qSize = q->property("_q_TiledBackingStoreCoverAreaMultiplier").toSizeF();
+ coverMultiplier = FloatSize(qSize.width(), qSize.height());
+ frame->tiledBackingStore()->setKeepAndCoverAreaMultipliers(keepMultiplier, coverMultiplier);
}
+#endif
}
void QWebPagePrivate::shortcutOverrideEvent(QKeyEvent* event)
@@ -1543,6 +1578,7 @@ InspectorController* QWebPagePrivate::inspectorController()
\value Back Navigate back in the history of navigated links.
\value Forward Navigate forward in the history of navigated links.
\value Stop Stop loading the current page.
+ \value StopScheduledPageRefresh Stop all pending page refresh/redirect requests.
\value Reload Reload the current page.
\value ReloadAndBypassCache Reload the current page, but do not use any local cache. (Added in Qt 4.6)
\value Cut Cut the content currently selected into the clipboard.
@@ -1948,6 +1984,15 @@ static void openNewWindow(const QUrl& url, WebCore::Frame* frame)
}
}
+static void collectChildFrames(QWebFrame* frame, QList<QWebFrame*>& list)
+{
+ list << frame->childFrames();
+ QListIterator<QWebFrame*> it(frame->childFrames());
+ while (it.hasNext()) {
+ collectChildFrames(it.next(), list);
+ }
+}
+
/*!
This function can be called to trigger the specified \a action.
It is also called by QtWebKit if the user triggers the action, for example
@@ -2044,6 +2089,16 @@ void QWebPage::triggerAction(WebAction action, bool)
#endif
break;
}
+ case StopScheduledPageRefresh: {
+ QWebFrame* topFrame = mainFrame();
+ topFrame->d->frame->redirectScheduler()->cancel();
+ QList<QWebFrame*> childFrames;
+ collectChildFrames(topFrame, childFrames);
+ QListIterator<QWebFrame*> it(childFrames);
+ while (it.hasNext())
+ it.next()->d->frame->redirectScheduler()->cancel();
+ break;
+ }
default:
command = QWebPagePrivate::editorCommandForWebActions(action);
break;
@@ -2638,8 +2693,7 @@ void QWebPage::setContentEditable(bool editable)
frame->applyEditingStyleToBodyElement();
// FIXME: mac port calls this if there is no selectedDOMRange
//frame->setSelectionFromNone();
- } else
- frame->removeEditingStyleFromBodyElement();
+ }
}
d->updateEditorActions();
diff --git a/WebKit/qt/Api/qwebpage.h b/WebKit/qt/Api/qwebpage.h
index c085fd7..a4b555a 100644
--- a/WebKit/qt/Api/qwebpage.h
+++ b/WebKit/qt/Api/qwebpage.h
@@ -170,6 +170,8 @@ public:
AlignLeft,
AlignRight,
+ StopScheduledPageRefresh,
+
WebActionCount
};
diff --git a/WebKit/qt/ChangeLog b/WebKit/qt/ChangeLog
index bc1f45d..14548d9 100644
--- a/WebKit/qt/ChangeLog
+++ b/WebKit/qt/ChangeLog
@@ -1,3 +1,204 @@
+2010-05-31 Lyon Chen <liachen@rim.com>
+
+ Reviewed by Kent Tamura.
+
+ Enum value FORWARD, BACKWARD, RIGHT, LEFT are causing macro conflicts.
+ https://bugs.webkit.org/show_bug.cgi?id=35530
+
+ Change enum EAlteration from { MOVE, EXTEND } to { AlterationMove, AlterationExtend } and enum EDirection { FORWARD, BACKWARD, RIGHT, LEFT} to { DirectionForward, DirectionBackward, DirectionRight, DirectionLeft } to avoid macro conflict, and also better coding style conformance.
+
+ * WebCoreSupport/EditorClientQt.cpp:
+ (WebCore::EditorClientQt::handleKeyboardEvent):
+
+2010-05-31 Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Escape backslashes in the .pro files
+
+ qmake in Qt 4.7 warns about unescaped backspaces and deprecates them.
+
+ * Api/DerivedSources.pro:
+ * docs/docs.pri:
+
+2010-05-30 Lyon Chen <liachen@rim.com>
+
+ Reviewed by Kent Tamura.
+
+ This is a coding style cleanup before fixing to bug 35530.
+
+ Enum value FORWARD, BACKWARD, RIGHT, LEFT are causing macro conflicts.
+ https://bugs.webkit.org/show_bug.cgi?id=35530
+
+ * WebCoreSupport/EditorClientQt.cpp:
+ (WebCore::EditorClientQt::registerCommandForUndo):
+ (WebCore::EditorClientQt::handleKeyboardEvent):
+
+2010-05-29 Dawit Alemayehu <adawit@kde.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Added a WebAction to stop all pending page refresh/redirect
+ requests set through the <meta http-equiv="refresh"...> tag.
+
+ https://bugs.webkit.org/show_bug.cgi?id=29899
+
+ * Api/qwebpage.cpp:
+ (QWebPage::triggerAction):
+ * Api/qwebpage.h:
+ * tests/qwebpage/tst_qwebpage.cpp:
+ (tst_QWebPage::testStopScheduledPageRefresh):
+
+2010-05-28 Antti Koivisto <koivisto@iki.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add a missing #if ENABLE(), some null checking.
+
+ * Api/qwebpage.cpp:
+ (QWebPagePrivate::dynamicPropertyChangeEvent):
+
+2010-05-28 Antti Koivisto <koivisto@iki.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39874
+ [Qt] Make tiled backing store more configurable
+
+ Make tile size, tile creation delay and tiling area dynamically configurable.
+
+ * Api/qwebpage.cpp:
+ (QWebPagePrivate::dynamicPropertyChangeEvent):
+
+2010-05-28 Yael Aharon <yael.aharon@nokia.com>
+
+ Unreviewed build fix after r60348.
+
+ * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
+ (DumpRenderTreeSupportQt::setNotificationsReceiver):
+
+2010-05-28 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] Pass all web notification layout tests
+ https://bugs.webkit.org/show_bug.cgi?id=39146
+
+ Add support for multiple simultaneous notifications.
+ Add a private callback mechanism to the client for security checks.
+ Notifications are disabled if the client does not set the callbacks.
+ Support replaceId and cancel.
+ Send close and display events when needed.
+
+ * Api/qwebpage.cpp:
+ (QWebPagePrivate::QWebPagePrivate):
+ * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
+ (DumpRenderTreeSupportQt::setNotificationsReceiver):
+ (DumpRenderTreeSupportQt::allowNotificationForOrigin):
+ (DumpRenderTreeSupportQt::setCheckPermissionFunction):
+ (DumpRenderTreeSupportQt::setRequestPermissionFunction):
+ * WebCoreSupport/DumpRenderTreeSupportQt.h:
+ * WebCoreSupport/FrameLoaderClientQt.cpp:
+ (WebCore::FrameLoaderClientQt::dispatchDidClearWindowObjectInWorld):
+ * WebCoreSupport/NotificationPresenterClientQt.cpp:
+ (NotificationIconWrapper::NotificationIconWrapper):
+ (NotificationIconWrapper::~NotificationIconWrapper):
+ (NotificationPresenterClientQt::NotificationPresenterClientQt):
+ (NotificationPresenterClientQt::show):
+ (NotificationPresenterClientQt::cancel):
+ (NotificationPresenterClientQt::notificationObjectDestroyed):
+ (NotificationPresenterClientQt::requestPermission):
+ (NotificationPresenterClientQt::checkPermission):
+ (NotificationPresenterClientQt::allowNotificationForOrigin):
+ (NotificationPresenterClientQt::clearNotificationsList):
+ (NotificationPresenterClientQt::sendEvent):
+ * WebCoreSupport/NotificationPresenterClientQt.h:
+ (WebCore::NotificationPresenterClientQt::~NotificationPresenterClientQt):
+ (WebCore::NotificationPresenterClientQt::setReceiver):
+
+2010-05-27 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Platform plugin example
+ https://bugs.webkit.org/show_bug.cgi?id=39489
+
+ Adding a Qt platform plugin example to repository.
+
+ * examples/platformplugin/README: Added.
+ * examples/platformplugin/WebPlugin.cpp: Added.
+ (Popup::populateList):
+ (Popup::onItemSelected):
+ (WebPopup::WebPopup):
+ (WebPopup::~WebPopup):
+ (WebPopup::createSingleSelectionPopup):
+ (WebPopup::createMultipleSelectionPopup):
+ (WebPopup::createPopup):
+ (WebPopup::show):
+ (WebPopup::hide):
+ (WebPopup::popupClosed):
+ (WebPopup::itemClicked):
+ (SingleSelectionPopup::SingleSelectionPopup):
+ (MultipleItemListDelegate::MultipleItemListDelegate):
+ (MultipleItemListDelegate::paint):
+ (MultipleSelectionPopup::MultipleSelectionPopup):
+ (WebPlugin::supportsExtension):
+ * examples/platformplugin/WebPlugin.h: Added.
+ (Popup::Popup):
+ (WebPlugin::createSelectInputMethod):
+ * examples/platformplugin/platformplugin.pro: Added.
+ * examples/platformplugin/qwebkitplatformplugin.h: Copied from WebKit/qt/Api/qwebkitplatformplugin.h.
+ (QWebSelectData::~QWebSelectData):
+ (QWebSelectData::):
+ (QWebSelectMethod::~QWebSelectMethod):
+ (QWebKitPlatformPlugin::~QWebKitPlatformPlugin):
+ (QWebKitPlatformPlugin::):
+
+2010-05-25 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Ojan Vafai.
+
+ [Qt] Expose the editing behavior setting in DRT to test all editing code paths
+ https://bugs.webkit.org/show_bug.cgi?id=39680
+
+ Add support to Qt's DRT to setting the editing behavior. Patch is a follow up of
+ bug 38603, which just stubbed out the Qt bits of it.
+
+ * WebCoreSupport/DumpRenderTreeSupportQt.cpp: Implementation of editing behavior control.
+ (DumpRenderTreeSupportQt::setEditingBehavior):
+ * WebCoreSupport/DumpRenderTreeSupportQt.h:
+
+2010-05-24 Robert Hogan <robert@webkit.org>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] DRT Support for removeOriginAccessWhitelistEntry
+
+ Unskips http/tests/xmlhttprequest/origin-whitelisting-removal.html
+
+ [Qt] DRT Support for removeOriginAccessWhitelistEntry
+ https://bugs.webkit.org/show_bug.cgi?id=39565
+
+ * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
+ (DumpRenderTreeSupportQt::removeWhiteListAccessFromOrigin):
+ * WebCoreSupport/DumpRenderTreeSupportQt.h:
+
+2010-05-24 Darin Adler <darin@apple.com>
+
+ Reviewed by Eric Seidel.
+
+ Move view-related functions from Frame to FrameView
+ https://bugs.webkit.org/show_bug.cgi?id=39366
+
+ * Api/qwebframe.cpp:
+ (QWebFrame::setTextSizeMultiplier): Call functions on FrameView.
+ (QWebFrame::textSizeMultiplier): Ditto.
+ (QWebFrame::setZoomFactor): Ditto.
+ (QWebFrame::zoomFactor): Ditto.
+ * Api/qwebpage.cpp:
+ (QWebPage::setContentEditable): Removed call to empty function,
+ removeEditingStyleFromBodyElement.
+
2010-05-23 Noam Rosenthal <noam.rosenthal@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
diff --git a/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp b/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp
index 9d335b8..0b2e9a5 100644
--- a/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp
+++ b/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp
@@ -60,6 +60,9 @@
using namespace WebCore;
+CheckPermissionFunctionType* checkPermissionFunction = 0;
+RequestPermissionFunctionType* requestPermissionFunction = 0;
+
DumpRenderTreeSupportQt::DumpRenderTreeSupportQt()
{
}
@@ -332,6 +335,11 @@ void DumpRenderTreeSupportQt::whiteListAccessFromOrigin(const QString& sourceOri
SecurityOrigin::addOriginAccessWhitelistEntry(*SecurityOrigin::createFromString(sourceOrigin), destinationProtocol, destinationHost, allowDestinationSubdomains);
}
+void DumpRenderTreeSupportQt::removeWhiteListAccessFromOrigin(const QString& sourceOrigin, const QString& destinationProtocol, const QString& destinationHost, bool allowDestinationSubdomains)
+{
+ SecurityOrigin::removeOriginAccessWhitelistEntry(*SecurityOrigin::createFromString(sourceOrigin), destinationProtocol, destinationHost, allowDestinationSubdomains);
+}
+
void DumpRenderTreeSupportQt::resetOriginAccessWhiteLists()
{
SecurityOrigin::resetOriginAccessWhitelists();
@@ -466,6 +474,22 @@ bool DumpRenderTreeSupportQt::elementDoesAutoCompleteForElementWithId(QWebFrame*
&& inputElement->autoComplete());
}
+void DumpRenderTreeSupportQt::setEditingBehavior(QWebPage* page, const QString& editingBehavior)
+{
+ WebCore::EditingBehavior coreEditingBehavior;
+
+ if (editingBehavior == "win")
+ coreEditingBehavior = EditingWindowsBehavior;
+ else if (editingBehavior == "mac")
+ coreEditingBehavior = EditingMacBehavior;
+
+ Page* corePage = QWebPagePrivate::core(page);
+ if (!corePage)
+ return;
+
+ corePage->settings()->setEditingBehavior(coreEditingBehavior);
+}
+
void DumpRenderTreeSupportQt::dumpFrameLoader(bool b)
{
FrameLoaderClientQt::dumpFrameLoaderCallbacks = b;
@@ -512,6 +536,31 @@ void DumpRenderTreeSupportQt::dumpNotification(bool b)
NotificationPresenterClientQt::dumpNotification = b;
#endif
}
+
+void DumpRenderTreeSupportQt::setNotificationsReceiver(QWebPage* page, QObject* receiver)
+{
+#if ENABLE(NOTIFICATIONS)
+ page->d->notificationPresenterClient->setReceiver(receiver);
+#endif
+}
+
+void DumpRenderTreeSupportQt::allowNotificationForOrigin(QWebPage* page, const QString& origin)
+{
+#if ENABLE(NOTIFICATIONS)
+ page->d->notificationPresenterClient->allowNotificationForOrigin(origin);
+#endif
+}
+
+void DumpRenderTreeSupportQt::setCheckPermissionFunction(CheckPermissionFunctionType* f)
+{
+ checkPermissionFunction = f;
+}
+
+void DumpRenderTreeSupportQt::setRequestPermissionFunction(RequestPermissionFunctionType* f)
+{
+ requestPermissionFunction = f;
+}
+
// Provide a backward compatibility with previously exported private symbols as of QtWebKit 4.6 release
void QWEBKIT_EXPORT qt_resumeActiveDOMObjects(QWebFrame* frame)
diff --git a/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h b/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h
index 6045463..0d348cf 100644
--- a/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h
+++ b/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h
@@ -30,6 +30,18 @@ class QWebElement;
class QWebFrame;
class QWebPage;
+enum NotificationPermission {
+ NotificationAllowed,
+ NotificationNotAllowed,
+ NotificationDenied
+};
+
+typedef void (CheckPermissionFunctionType) (QObject* receiver, const QUrl&, NotificationPermission&);
+typedef void (RequestPermissionFunctionType) (QObject* receiver, QWebPage* page, const QString&);
+
+extern CheckPermissionFunctionType* checkPermissionFunction;
+extern RequestPermissionFunctionType* requestPermissionFunction;
+
class QWEBKIT_EXPORT DumpRenderTreeSupportQt {
public:
@@ -78,8 +90,10 @@ public:
static int pageNumberForElementById(QWebFrame* frame, const QString& id, float width, float height);
static bool hasDocumentElement(QWebFrame* frame);
static bool elementDoesAutoCompleteForElementWithId(QWebFrame* frame, const QString& elementId);
+ static void setEditingBehavior(QWebPage* page, const QString& editingBehavior);
static void whiteListAccessFromOrigin(const QString& sourceOrigin, const QString& destinationProtocol, const QString& destinationHost, bool allowDestinationSubdomains);
+ static void removeWhiteListAccessFromOrigin(const QString& sourceOrigin, const QString& destinationProtocol, const QString& destinationHost, bool allowDestinationSubdomains);
static void resetOriginAccessWhiteLists();
static int workerThreadCount();
@@ -98,7 +112,12 @@ public:
static void dumpSetAcceptsEditing(bool b);
static void dumpNotification(bool b);
-
+ // These functions should eventually turn into public API
+ // and the "receiver" concept would go away
+ static void setNotificationsReceiver(QWebPage* page, QObject* receiver);
+ static void allowNotificationForOrigin(QWebPage* page, const QString& origin);
+ static void setCheckPermissionFunction(CheckPermissionFunctionType*);
+ static void setRequestPermissionFunction(RequestPermissionFunctionType*);
};
#endif
diff --git a/WebKit/qt/WebCoreSupport/EditorClientQt.cpp b/WebKit/qt/WebCoreSupport/EditorClientQt.cpp
index 83aa2a9..0f54e21 100644
--- a/WebKit/qt/WebCoreSupport/EditorClientQt.cpp
+++ b/WebKit/qt/WebCoreSupport/EditorClientQt.cpp
@@ -31,9 +31,6 @@
#include "config.h"
#include "EditorClientQt.h"
-#include "qwebpage.h"
-#include "qwebpage_p.h"
-
#include "CSSStyleDeclaration.h"
#include "Document.h"
#include "EditCommandQt.h"
@@ -46,15 +43,16 @@
#include "KeyboardEvent.h"
#include "NotImplemented.h"
#include "Page.h"
-#include "Page.h"
#include "PlatformKeyboardEvent.h"
#include "QWebPageClient.h"
#include "Range.h"
#include "WindowsKeyboardCodes.h"
+#include "qwebpage.h"
+#include "qwebpage_p.h"
+#include <QUndoStack>
#include <stdio.h>
-#include <QUndoStack>
#define methodDebug() qDebug("EditorClientQt: %s", __FUNCTION__);
static QString dumpPath(WebCore::Node *node)
@@ -247,9 +245,8 @@ void EditorClientQt::registerCommandForUndo(WTF::PassRefPtr<WebCore::EditCommand
{
#ifndef QT_NO_UNDOSTACK
Frame* frame = m_page->d->page->focusController()->focusedOrMainFrame();
- if (m_inUndoRedo || (frame && !frame->editor()->lastEditCommand() /* HACK!! Don't recreate undos */)) {
+ if (m_inUndoRedo || (frame && !frame->editor()->lastEditCommand() /* HACK!! Don't recreate undos */))
return;
- }
m_page->undoStack()->push(new EditCommandQt(cmd));
#endif // QT_NO_UNDOSTACK
}
@@ -378,118 +375,120 @@ void EditorClientQt::handleKeyboardEvent(KeyboardEvent* event)
} else
#endif // QT_NO_SHORTCUT
switch (kevent->windowsVirtualKeyCode()) {
- case VK_BACK:
- frame->editor()->deleteWithDirection(SelectionController::BACKWARD,
- CharacterGranularity, false, true);
- break;
- case VK_DELETE:
- frame->editor()->deleteWithDirection(SelectionController::FORWARD,
- CharacterGranularity, false, true);
- break;
- case VK_LEFT:
- if (kevent->shiftKey())
- frame->editor()->command("MoveLeftAndModifySelection").execute();
- else
- frame->editor()->command("MoveLeft").execute();
- break;
- case VK_RIGHT:
- if (kevent->shiftKey())
- frame->editor()->command("MoveRightAndModifySelection").execute();
- else
- frame->editor()->command("MoveRight").execute();
- break;
- case VK_UP:
- if (kevent->shiftKey())
- frame->editor()->command("MoveUpAndModifySelection").execute();
- else
- frame->editor()->command("MoveUp").execute();
- break;
- case VK_DOWN:
- if (kevent->shiftKey())
- frame->editor()->command("MoveDownAndModifySelection").execute();
- else
- frame->editor()->command("MoveDown").execute();
- break;
- case VK_PRIOR: // PageUp
- if (kevent->shiftKey())
- frame->editor()->command("MovePageUpAndModifySelection").execute();
- else
- frame->editor()->command("MovePageUp").execute();
- break;
- case VK_NEXT: // PageDown
- if (kevent->shiftKey())
- frame->editor()->command("MovePageDownAndModifySelection").execute();
- else
- frame->editor()->command("MovePageDown").execute();
- break;
- case VK_TAB:
- return;
- default:
- if (kevent->type() != PlatformKeyboardEvent::KeyDown && !kevent->ctrlKey()
+ case VK_BACK:
+ frame->editor()->deleteWithDirection(SelectionController::DirectionBackward,
+ CharacterGranularity, false, true);
+ break;
+ case VK_DELETE:
+ frame->editor()->deleteWithDirection(SelectionController::DirectionForward,
+ CharacterGranularity, false, true);
+ break;
+ case VK_LEFT:
+ if (kevent->shiftKey())
+ frame->editor()->command("MoveLeftAndModifySelection").execute();
+ else
+ frame->editor()->command("MoveLeft").execute();
+ break;
+ case VK_RIGHT:
+ if (kevent->shiftKey())
+ frame->editor()->command("MoveRightAndModifySelection").execute();
+ else
+ frame->editor()->command("MoveRight").execute();
+ break;
+ case VK_UP:
+ if (kevent->shiftKey())
+ frame->editor()->command("MoveUpAndModifySelection").execute();
+ else
+ frame->editor()->command("MoveUp").execute();
+ break;
+ case VK_DOWN:
+ if (kevent->shiftKey())
+ frame->editor()->command("MoveDownAndModifySelection").execute();
+ else
+ frame->editor()->command("MoveDown").execute();
+ break;
+ case VK_PRIOR: // PageUp
+ if (kevent->shiftKey())
+ frame->editor()->command("MovePageUpAndModifySelection").execute();
+ else
+ frame->editor()->command("MovePageUp").execute();
+ break;
+ case VK_NEXT: // PageDown
+ if (kevent->shiftKey())
+ frame->editor()->command("MovePageDownAndModifySelection").execute();
+ else
+ frame->editor()->command("MovePageDown").execute();
+ break;
+ case VK_TAB:
+ return;
+ default:
+ if (kevent->type() != PlatformKeyboardEvent::KeyDown && !kevent->ctrlKey()
#ifndef Q_WS_MAC
- // We need to exclude checking for Alt because it is just a different Shift
- && !kevent->altKey()
+ // We need to exclude checking for Alt because it is just a different Shift
+ && !kevent->altKey()
#endif
- && !kevent->text().isEmpty()) {
- frame->editor()->insertText(kevent->text(), event);
- } else if (kevent->ctrlKey()) {
- switch (kevent->windowsVirtualKeyCode()) {
- case VK_A:
- frame->editor()->command("SelectAll").execute();
- break;
- case VK_B:
- frame->editor()->command("ToggleBold").execute();
- break;
- case VK_I:
- frame->editor()->command("ToggleItalic").execute();
- break;
- default:
- // catch combination AltGr+key or Ctrl+Alt+key
- if (kevent->type() != PlatformKeyboardEvent::KeyDown && kevent->altKey() && !kevent->text().isEmpty()) {
- frame->editor()->insertText(kevent->text(), event);
- break;
- }
- return;
+ && !kevent->text().isEmpty()) {
+ frame->editor()->insertText(kevent->text(), event);
+ } else if (kevent->ctrlKey()) {
+ switch (kevent->windowsVirtualKeyCode()) {
+ case VK_A:
+ frame->editor()->command("SelectAll").execute();
+ break;
+ case VK_B:
+ frame->editor()->command("ToggleBold").execute();
+ break;
+ case VK_I:
+ frame->editor()->command("ToggleItalic").execute();
+ break;
+ default:
+ // catch combination AltGr+key or Ctrl+Alt+key
+ if (kevent->type() != PlatformKeyboardEvent::KeyDown && kevent->altKey() && !kevent->text().isEmpty()) {
+ frame->editor()->insertText(kevent->text(), event);
+ break;
}
- } else return;
+ return;
+ }
+ } else
+ return;
}
} else {
#ifndef QT_NO_SHORTCUT
- if (kevent->qtEvent() == QKeySequence::Copy) {
+ if (kevent->qtEvent() == QKeySequence::Copy)
m_page->triggerAction(QWebPage::Copy);
- } else
+ else
#endif // QT_NO_SHORTCUT
switch (kevent->windowsVirtualKeyCode()) {
- case VK_UP:
- frame->editor()->command("MoveUp").execute();
- break;
- case VK_DOWN:
- frame->editor()->command("MoveDown").execute();
- break;
- case VK_PRIOR: // PageUp
- frame->editor()->command("MovePageUp").execute();
- break;
- case VK_NEXT: // PageDown
- frame->editor()->command("MovePageDown").execute();
- break;
- case VK_HOME:
- if (kevent->ctrlKey())
- frame->editor()->command("MoveToBeginningOfDocument").execute();
- break;
- case VK_END:
- if (kevent->ctrlKey())
- frame->editor()->command("MoveToEndOfDocument").execute();
- break;
- default:
- if (kevent->ctrlKey()) {
- switch (kevent->windowsVirtualKeyCode()) {
- case VK_A:
- frame->editor()->command("SelectAll").execute();
- break;
- default:
- return;
- }
- } else return;
+ case VK_UP:
+ frame->editor()->command("MoveUp").execute();
+ break;
+ case VK_DOWN:
+ frame->editor()->command("MoveDown").execute();
+ break;
+ case VK_PRIOR: // PageUp
+ frame->editor()->command("MovePageUp").execute();
+ break;
+ case VK_NEXT: // PageDown
+ frame->editor()->command("MovePageDown").execute();
+ break;
+ case VK_HOME:
+ if (kevent->ctrlKey())
+ frame->editor()->command("MoveToBeginningOfDocument").execute();
+ break;
+ case VK_END:
+ if (kevent->ctrlKey())
+ frame->editor()->command("MoveToEndOfDocument").execute();
+ break;
+ default:
+ if (kevent->ctrlKey()) {
+ switch (kevent->windowsVirtualKeyCode()) {
+ case VK_A:
+ frame->editor()->command("SelectAll").execute();
+ break;
+ default:
+ return;
+ }
+ } else
+ return;
}
}
event->setDefaultHandled();
diff --git a/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp b/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
index 00359c0..3cf19a6 100644
--- a/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
+++ b/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
@@ -51,6 +51,7 @@
#include "HTMLFormElement.h"
#include "HTMLPlugInElement.h"
#include "HTTPParsers.h"
+#include "NotificationPresenterClientQt.h"
#include "NotImplemented.h"
#include "QNetworkReplyHandler.h"
#include "ResourceHandleInternal.h"
@@ -638,8 +639,12 @@ void FrameLoaderClientQt::dispatchDidClearWindowObjectInWorld(DOMWrapperWorld* w
if (world != mainThreadNormalWorld())
return;
- if (m_webFrame)
+ if (m_webFrame) {
emit m_webFrame->javaScriptWindowObjectCleared();
+#if ENABLE(NOTIFICATIONS)
+ m_webFrame->page()->d->notificationPresenterClient->clearNotificationsList();
+#endif
+ }
}
void FrameLoaderClientQt::documentElementAvailable()
diff --git a/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp b/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp
index d6546ae..f76868d 100644
--- a/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp
+++ b/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp
@@ -32,13 +32,15 @@
#include "config.h"
#include "NotificationPresenterClientQt.h"
+#include "DumpRenderTreeSupportQt.h"
#include "Document.h"
+#include "EventNames.h"
#include "KURL.h"
-#include "NotImplemented.h"
#include "SecurityOrigin.h"
+#include "qwebframe.h"
#include "qwebkitglobal.h"
-
+#include "qwebpage.h"
#include <QtGui>
@@ -48,25 +50,66 @@ using namespace WebCore;
bool NotificationPresenterClientQt::dumpNotification = false;
-NotificationPresenterClientQt::NotificationPresenterClientQt()
+NotificationIconWrapper::NotificationIconWrapper()
+{
+#ifndef QT_NO_SYSTEMTRAYICON
+ m_notificationIcon = 0;
+#endif
+}
+
+NotificationIconWrapper::~NotificationIconWrapper()
+{
+#ifndef QT_NO_SYSTEMTRAYICON
+ delete m_notificationIcon;
+#endif
+}
+
+NotificationPresenterClientQt::NotificationPresenterClientQt(QWebPage* page) : m_page(page)
{
}
bool NotificationPresenterClientQt::show(Notification* notification)
{
+ QHash <Notification*, NotificationIconWrapper*>::Iterator end = m_notifications.end();
+ QHash <Notification*, NotificationIconWrapper*>::Iterator iter = m_notifications.begin();
+
+ if (!notification->replaceId().isEmpty()) {
+ while (iter != end) {
+ Notification* existingNotification = iter.key();
+ if (existingNotification->replaceId() == notification->replaceId() && existingNotification->url().protocol() == notification->url().protocol() && existingNotification->url().host() == notification->url().host())
+ break;
+ iter++;
+ }
+ } else
+ iter = end;
+
if (dumpNotification) {
+ if (iter != end) {
+ Notification* oldNotification = iter.key();
+ printf("REPLACING NOTIFICATION %s\n", oldNotification->isHTML() ? QString(oldNotification->url().string()).toUtf8().constData() : QString(oldNotification->contents().title()).toUtf8().constData());
+ }
if (notification->isHTML())
printf("DESKTOP NOTIFICATION: contents at %s\n", QString(notification->url().string()).toUtf8().constData());
else {
- printf("DESKTOP NOTIFICATION: icon %s, title %s, text %s\n",
+ printf("DESKTOP NOTIFICATION:%s icon %s, title %s, text %s\n",
+ notification->dir() == "rtl" ? "(RTL)" : "",
QString(notification->contents().icon().string()).toUtf8().constData(), QString(notification->contents().title()).toUtf8().constData(),
QString(notification->contents().body()).toUtf8().constData());
}
}
+ if (iter != end) {
+ sendEvent(iter.key(), eventNames().closeEvent);
+ delete m_notifications.take(iter.key());
+ }
+ NotificationIconWrapper* wrapper = new NotificationIconWrapper();
+ m_notifications.insert(notification, wrapper);
+ sendEvent(notification, "display");
+
#ifndef QT_NO_SYSTEMTRAYICON
- m_tray.show();
- m_tray.showMessage(notification->contents().title(), notification->contents().body(), QSystemTrayIcon::Information);
+ wrapper->m_notificationIcon = new QSystemTrayIcon;
+ wrapper->m_notificationIcon->show();
+ wrapper->m_notificationIcon->showMessage(notification->contents().title(), notification->contents().body());
#endif
return true;
}
@@ -80,12 +123,17 @@ void NotificationPresenterClientQt::cancel(Notification* notification)
printf("DESKTOP NOTIFICATION CLOSED: %s\n", QString(notification->contents().title()).toUtf8().constData());
}
- notImplemented();
+ QHash <Notification*, NotificationIconWrapper*>::Iterator iter = m_notifications.find(notification);
+ if (iter != m_notifications.end())
+ sendEvent(iter.key(), eventNames().closeEvent);
}
void NotificationPresenterClientQt::notificationObjectDestroyed(Notification* notification)
{
- notImplemented();
+ // Called from ~Notification(), Remove the entry from the notifications list and delete the icon.
+ QHash <Notification*, NotificationIconWrapper*>::Iterator iter = m_notifications.find(notification);
+ if (iter != m_notifications.end())
+ delete m_notifications.take(notification);
}
void NotificationPresenterClientQt::requestPermission(SecurityOrigin* origin, PassRefPtr<VoidCallback> callback)
@@ -93,13 +141,62 @@ void NotificationPresenterClientQt::requestPermission(SecurityOrigin* origin, Pa
if (dumpNotification)
printf("DESKTOP NOTIFICATION PERMISSION REQUESTED: %s\n", QString(origin->toString()).toUtf8().constData());
- notImplemented();
+ QString originString = origin->toString();
+ QHash<QString, QList<RefPtr<VoidCallback> > >::iterator iter = m_pendingPermissionRequests.find(originString);
+ if (iter != m_pendingPermissionRequests.end())
+ iter.value().append(callback);
+ else {
+ QList<RefPtr<VoidCallback> > callbacks;
+ RefPtr<VoidCallback> cb = callback;
+ callbacks.append(cb);
+ m_pendingPermissionRequests.insert(originString, callbacks);
+ if (requestPermissionFunction)
+ requestPermissionFunction(m_receiver, m_page, originString);
+ }
+}
+
+NotificationPresenter::Permission NotificationPresenterClientQt::checkPermission(const KURL& url)
+{
+ NotificationPermission permission = NotificationNotAllowed;
+ QString origin = url.string();
+ if (checkPermissionFunction)
+ checkPermissionFunction(m_receiver, origin, permission);
+ switch (permission) {
+ case NotificationAllowed:
+ return NotificationPresenter::PermissionAllowed;
+ case NotificationNotAllowed:
+ return NotificationPresenter::PermissionNotAllowed;
+ case NotificationDenied:
+ return NotificationPresenter::PermissionDenied;
+ }
+ ASSERT_NOT_REACHED();
+ return NotificationPresenter::PermissionNotAllowed;
+}
+
+void NotificationPresenterClientQt::allowNotificationForOrigin(const QString& origin)
+{
+ QHash<QString, QList<RefPtr<VoidCallback> > >::iterator iter = m_pendingPermissionRequests.find(origin);
+ if (iter != m_pendingPermissionRequests.end()) {
+ QList<RefPtr<VoidCallback> >& callbacks = iter.value();
+ for (int i = 0; i < callbacks.size(); i++)
+ callbacks.at(i)->handleEvent();
+ m_pendingPermissionRequests.remove(origin);
+ }
+}
+
+void NotificationPresenterClientQt::clearNotificationsList()
+{
+ m_pendingPermissionRequests.clear();
+ while (!m_notifications.isEmpty()) {
+ QHash <Notification*, NotificationIconWrapper*>::Iterator iter = m_notifications.begin();
+ delete m_notifications.take(iter.key());
+ }
}
-NotificationPresenter::Permission NotificationPresenterClientQt::checkPermission(const KURL&)
+void NotificationPresenterClientQt::sendEvent(Notification* notification, const AtomicString& eventName)
{
- // FIXME Implement permission policy
- return NotificationPresenter::PermissionAllowed;
+ RefPtr<Event> event = Event::create(eventName, false, true);
+ notification->dispatchEvent(event.release());
}
#endif // ENABLE(NOTIFICATIONS)
diff --git a/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.h b/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.h
index 5967867..c949513 100644
--- a/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.h
+++ b/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.h
@@ -29,20 +29,35 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+#ifndef NotificationPresenterClientQt_h
+#define NotificationPresenterClientQt_h
+
#include "Notification.h"
#include "NotificationPresenter.h"
+#include <QMultiHash>
#include <QSystemTrayIcon>
+
#if ENABLE(NOTIFICATIONS)
+class QWebPage;
namespace WebCore {
class Document;
class KURL;
+struct NotificationIconWrapper {
+ NotificationIconWrapper();
+ ~NotificationIconWrapper();
+#ifndef QT_NO_SYSTEMTRAYICON
+ QSystemTrayIcon* m_notificationIcon;
+#endif
+};
+
class NotificationPresenterClientQt : public NotificationPresenter {
public:
- NotificationPresenterClientQt();
+ NotificationPresenterClientQt(QWebPage*);
+ ~NotificationPresenterClientQt() {}
/* WebCore::NotificationPresenter interface */
virtual bool show(Notification*);
@@ -51,13 +66,22 @@ public:
virtual void requestPermission(SecurityOrigin*, PassRefPtr<VoidCallback>);
virtual NotificationPresenter::Permission checkPermission(const KURL&);
+ void allowNotificationForOrigin(const QString& origin);
+ void clearNotificationsList();
+
static bool dumpNotification;
-private:
-#ifndef QT_NO_SYSTEMTRAYICON
- QSystemTrayIcon m_tray;
-#endif
+ void setReceiver(QObject* receiver) { m_receiver = receiver; }
+
+private:
+ void sendEvent(Notification*, const AtomicString& eventName);
+ QWebPage* m_page;
+ QMultiHash<QString, QList<RefPtr<VoidCallback> > > m_pendingPermissionRequests;
+ QHash <Notification*, NotificationIconWrapper*> m_notifications;
+ QObject* m_receiver;
};
}
#endif
+#endif
+
diff --git a/WebKit/qt/docs/docs.pri b/WebKit/qt/docs/docs.pri
index 804817b..a56ddb4 100644
--- a/WebKit/qt/docs/docs.pri
+++ b/WebKit/qt/docs/docs.pri
@@ -3,7 +3,7 @@ include(../../../WebKit.pri)
unix {
QDOC = SRCDIR=$$PWD/../../.. OUTPUT_DIR=$$OUTPUT_DIR $$(QTDIR)/bin/qdoc3
} else {
- QDOC = $$(QTDIR)\bin\qdoc3.exe
+ QDOC = $$(QTDIR)\\bin\\qdoc3.exe
}
unix {
diff --git a/WebKit/qt/examples/platformplugin/README b/WebKit/qt/examples/platformplugin/README
new file mode 100644
index 0000000..47ef797
--- /dev/null
+++ b/WebKit/qt/examples/platformplugin/README
@@ -0,0 +1,11 @@
+Platform plugin example.
+
+This project will create a shared library named platformplugin in directory $$[QT_INSTALL_PLUGINS]/webkit
+that will provide combo boxes popups to QtWebKit.
+
+QtWebKit will look for the plugins automatically so there is no need to make any other configuration to
+put the plugin into use. To stop using the plugin just remove the directory $$[QT_INSTALL_PLUGINS]/webkit.
+
+This plugin can provide popups for <select multiple> elements but to use this feature QtWebKit must be
+compiled with NO_LISTBOX_RENDERING enabled.
+
diff --git a/WebKit/qt/examples/platformplugin/WebPlugin.cpp b/WebKit/qt/examples/platformplugin/WebPlugin.cpp
new file mode 100644
index 0000000..79e583d
--- /dev/null
+++ b/WebKit/qt/examples/platformplugin/WebPlugin.cpp
@@ -0,0 +1,216 @@
+/*
+ * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ *
+ */
+#include "WebPlugin.h"
+
+#include <QHBoxLayout>
+#include <QListWidget>
+#include <QListWidgetItem>
+#include <QPainter>
+#include <QtPlugin>
+#include <QPushButton>
+#include <QStyledItemDelegate>
+#include <QVBoxLayout>
+
+static const int gMaemoListItemSize = 70;
+static const int gMaemoListPadding = 38;
+static const int gMaemoMaxVisibleItems = 5;
+
+void Popup::populateList()
+{
+ QListWidgetItem* listItem;
+ for (int i = 0; i < m_data.itemCount(); ++i) {
+ if (m_data.itemType(i) == QWebSelectData::Option) {
+ listItem = new QListWidgetItem(m_data.itemText(i));
+ m_list->addItem(listItem);
+ listItem->setSelected(m_data.itemIsSelected(i));
+ } else if (m_data.itemType(i) == QWebSelectData::Group) {
+ listItem = new QListWidgetItem(m_data.itemText(i));
+ m_list->addItem(listItem);
+ listItem->setSelected(false);
+ listItem->setFlags(Qt::NoItemFlags);
+ }
+ }
+ connect(m_list, SIGNAL(itemClicked(QListWidgetItem*)), this, SLOT(onItemSelected(QListWidgetItem*)));
+}
+
+void Popup::onItemSelected(QListWidgetItem* item)
+{
+ if (item->flags() != Qt::NoItemFlags)
+ emit itemClicked(m_list->row(item));
+}
+
+WebPopup::WebPopup()
+ : m_popup(0)
+{
+}
+
+WebPopup::~WebPopup()
+{
+ if (m_popup)
+ m_popup->deleteLater();
+}
+
+Popup* WebPopup::createSingleSelectionPopup(const QWebSelectData& data)
+{
+ return new SingleSelectionPopup(data);
+}
+
+Popup* WebPopup::createMultipleSelectionPopup(const QWebSelectData& data)
+{
+ return new MultipleSelectionPopup(data);
+}
+
+Popup* WebPopup::createPopup(const QWebSelectData& data)
+{
+ Popup* result = data.multiple() ? createMultipleSelectionPopup(data) : createSingleSelectionPopup(data);
+ connect(result, SIGNAL(finished(int)), this, SLOT(popupClosed()));
+ connect(result, SIGNAL(itemClicked(int)), this, SLOT(itemClicked(int)));
+ return result;
+}
+
+void WebPopup::show(const QWebSelectData& data)
+{
+ if (m_popup)
+ return;
+
+ m_popup = createPopup(data);
+ m_popup->show();
+}
+
+void WebPopup::hide()
+{
+ if (!m_popup)
+ return;
+
+ m_popup->accept();
+}
+
+void WebPopup::popupClosed()
+{
+ if (!m_popup)
+ return;
+
+ m_popup->deleteLater();
+ m_popup = 0;
+ emit didHide();
+}
+
+void WebPopup::itemClicked(int idx)
+{
+ emit selectItem(idx, true, false);
+}
+
+SingleSelectionPopup::SingleSelectionPopup(const QWebSelectData& data)
+ : Popup(data)
+{
+ const char* title = "select";
+ if (qstrcmp(title, "weba_ti_texlist_single"))
+ setWindowTitle(QString::fromUtf8(title));
+ else
+ setWindowTitle("Select item");
+
+ QHBoxLayout* hLayout = new QHBoxLayout(this);
+ hLayout->setContentsMargins(0, 0, 0, 0);
+
+ m_list = new QListWidget(this);
+ populateList();
+
+ hLayout->addSpacing(gMaemoListPadding);
+ hLayout->addWidget(m_list);
+ hLayout->addSpacing(gMaemoListPadding);
+
+ connect(m_list, SIGNAL(itemClicked(QListWidgetItem*)), this, SLOT(accept()));
+
+ const int visibleItemCount = (m_list->count() > gMaemoMaxVisibleItems) ? gMaemoMaxVisibleItems : m_list->count();
+ resize(size().width(), visibleItemCount * gMaemoListItemSize);
+}
+
+
+class MultipleItemListDelegate : public QStyledItemDelegate {
+public:
+ MultipleItemListDelegate(QObject* parent = 0)
+ : QStyledItemDelegate(parent)
+ {
+ tickMark = QIcon::fromTheme("widgets_tickmark_list").pixmap(48, 48);
+ }
+
+ void paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const
+ {
+ QStyledItemDelegate::paint(painter, option, index);
+
+ if (option.state & QStyle::State_Selected)
+ painter->drawPixmap(option.rect.width() - tickMark.rect().width(), option.rect.y() + (option.rect.height() / 2 - tickMark.rect().height() / 2), tickMark);
+ }
+
+private:
+ QPixmap tickMark;
+};
+
+MultipleSelectionPopup::MultipleSelectionPopup(const QWebSelectData& data)
+ : Popup(data)
+{
+ const char* title = "select";
+ if (qstrcmp(title, "weba_ti_textlist_multi"))
+ setWindowTitle(QString::fromUtf8(title));
+ else
+ setWindowTitle("Select items");
+
+ QHBoxLayout* hLayout = new QHBoxLayout(this);
+ hLayout->setContentsMargins(0, 0, 0, 0);
+
+ m_list = new QListWidget(this);
+ m_list->setSelectionMode(QAbstractItemView::MultiSelection);
+ populateList();
+
+ MultipleItemListDelegate* delegate = new MultipleItemListDelegate(this);
+ m_list->setItemDelegate(delegate);
+
+ hLayout->addSpacing(gMaemoListPadding);
+ hLayout->addWidget(m_list);
+
+ QVBoxLayout* vLayout = new QVBoxLayout();
+
+ const int visibleItemCount = (m_list->count() > gMaemoMaxVisibleItems) ? gMaemoMaxVisibleItems : m_list->count();
+ vLayout->addSpacing((visibleItemCount - 1) * gMaemoListItemSize);
+
+ QPushButton* done = new QPushButton(this);
+ title = "done";
+ if (qstrcmp(title, "wdgt_bd_done"))
+ done->setText(QString::fromUtf8(title));
+ else
+ done->setText("Done");
+
+ done->setMinimumWidth(178);
+ vLayout->addWidget(done);
+
+ hLayout->addSpacing(8);
+ hLayout->addLayout(vLayout);
+ hLayout->addSpacing(18);
+
+ connect(done, SIGNAL(clicked()), this, SLOT(accept()));
+ resize(size().width(), visibleItemCount * gMaemoListItemSize);
+}
+
+bool WebPlugin::supportsExtension(Extension extension) const
+{
+ return extension == MultipleSelections;
+}
+
+Q_EXPORT_PLUGIN2(qwebselectim, WebPlugin)
diff --git a/WebKit/qt/examples/platformplugin/WebPlugin.h b/WebKit/qt/examples/platformplugin/WebPlugin.h
new file mode 100644
index 0000000..a46a07b
--- /dev/null
+++ b/WebKit/qt/examples/platformplugin/WebPlugin.h
@@ -0,0 +1,95 @@
+/*
+ * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ *
+ */
+#ifndef WEBPLUGIN_H
+#define WEBPLUGIN_H
+
+#include "qwebkitplatformplugin.h"
+
+#include <QDialog>
+
+class QListWidgetItem;
+class QListWidget;
+
+class Popup : public QDialog {
+ Q_OBJECT
+public:
+ Popup(const QWebSelectData& data) : m_data(data) { setModal(true); }
+
+signals:
+ void itemClicked(int idx);
+
+protected slots:
+ void onItemSelected(QListWidgetItem* item);
+
+protected:
+ void populateList();
+
+ const QWebSelectData& m_data;
+ QListWidget* m_list;
+};
+
+
+class SingleSelectionPopup : public Popup {
+ Q_OBJECT
+public:
+ SingleSelectionPopup(const QWebSelectData& data);
+};
+
+
+class MultipleSelectionPopup : public Popup {
+ Q_OBJECT
+public:
+ MultipleSelectionPopup(const QWebSelectData& data);
+};
+
+
+class WebPopup : public QWebSelectMethod {
+ Q_OBJECT
+public:
+ WebPopup();
+ ~WebPopup();
+
+ virtual void show(const QWebSelectData& data);
+ virtual void hide();
+
+private slots:
+ void popupClosed();
+ void itemClicked(int idx);
+
+private:
+ Popup* m_popup;
+
+ Popup* createPopup(const QWebSelectData& data);
+ Popup* createSingleSelectionPopup(const QWebSelectData& data);
+ Popup* createMultipleSelectionPopup(const QWebSelectData& data);
+};
+
+class WebPlugin : public QObject, public QWebKitPlatformPlugin
+{
+ Q_OBJECT
+ Q_INTERFACES(QWebKitPlatformPlugin)
+public:
+ virtual QWebSelectMethod* createSelectInputMethod() const { return new WebPopup(); }
+ virtual bool supportsExtension(Extension extension) const;
+};
+
+
+
+#endif // WEBPLUGIN_H
diff --git a/WebKit/qt/examples/platformplugin/platformplugin.pro b/WebKit/qt/examples/platformplugin/platformplugin.pro
new file mode 100644
index 0000000..c5c665b
--- /dev/null
+++ b/WebKit/qt/examples/platformplugin/platformplugin.pro
@@ -0,0 +1,13 @@
+QT += core gui
+TARGET = $$qtLibraryTarget(platformplugin)
+TEMPLATE = lib
+CONFIG += plugin
+
+DESTDIR = $$[QT_INSTALL_PLUGINS]/webkit
+
+SOURCES += \
+ WebPlugin.cpp
+
+HEADERS += \
+ WebPlugin.h \
+ qwebkitplatformplugin.h
diff --git a/WebKit/qt/examples/platformplugin/qwebkitplatformplugin.h b/WebKit/qt/examples/platformplugin/qwebkitplatformplugin.h
new file mode 100644
index 0000000..7d024ae
--- /dev/null
+++ b/WebKit/qt/examples/platformplugin/qwebkitplatformplugin.h
@@ -0,0 +1,77 @@
+/*
+ * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef QWEBKITPLATFORMPLUGIN_H
+#define QWEBKITPLATFORMPLUGIN_H
+
+/*
+ * Warning: The contents of this file is not part of the public QtWebKit API
+ * and may be changed from version to version or even be completely removed.
+*/
+
+#include <QObject>
+
+class QWebSelectData
+{
+public:
+ inline ~QWebSelectData() {}
+
+ enum ItemType { Option, Group, Separator };
+
+ virtual ItemType itemType(int) const = 0;
+ virtual QString itemText(int index) const = 0;
+ virtual QString itemToolTip(int index) const = 0;
+ virtual bool itemIsEnabled(int index) const = 0;
+ virtual bool itemIsSelected(int index) const = 0;
+ virtual int itemCount() const = 0;
+ virtual bool multiple() const = 0;
+};
+
+class QWebSelectMethod : public QObject
+{
+ Q_OBJECT
+public:
+ inline ~QWebSelectMethod() {}
+
+ virtual void show(const QWebSelectData&) = 0;
+ virtual void hide() = 0;
+
+Q_SIGNALS:
+ void selectItem(int index, bool allowMultiplySelections, bool shift);
+ void didHide();
+};
+
+class QWebKitPlatformPlugin
+{
+public:
+ inline ~QWebKitPlatformPlugin() {}
+
+ enum Extension {
+ MultipleSelections
+ };
+
+ virtual QWebSelectMethod* createSelectInputMethod() const = 0;
+ virtual bool supportsExtension(Extension extension) const = 0;
+
+};
+
+Q_DECLARE_INTERFACE(QWebKitPlatformPlugin, "com.nokia.Qt.WebKit.PlatformPlugin/1.0");
+
+#endif // QWEBKITPLATFORMPLUGIN_H
diff --git a/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp b/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
index ceb8aff..630ccce 100644
--- a/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
+++ b/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
@@ -122,7 +122,8 @@ private slots:
void originatingObjectInNetworkRequests();
void testJSPrompt();
void showModalDialog();
-
+ void testStopScheduledPageRefresh();
+
private:
QWebView* m_view;
QWebPage* m_page;
@@ -2090,5 +2091,30 @@ void tst_QWebPage::showModalDialog()
QCOMPARE(res, QString("This is a test"));
}
+void tst_QWebPage::testStopScheduledPageRefresh()
+{
+ // Without QWebPage::StopScheduledPageRefresh
+ QWebPage page1;
+ page1.setNetworkAccessManager(new TestNetworkManager(&page1));
+ page1.mainFrame()->setHtml("<html><head>"
+ "<meta http-equiv=\"refresh\"content=\"0;URL=http://qt.nokia.com/favicon.ico\">"
+ "</head><body><h1>Page redirects immediately...</h1>"
+ "</body></html>");
+ QVERIFY(::waitForSignal(&page1, SIGNAL(loadFinished(bool))));
+ QTest::qWait(500);
+ QCOMPARE(page1.mainFrame()->url().toString(), QString("http://qt.nokia.com/favicon.ico"));
+
+ // With QWebPage::StopScheduledPageRefresh
+ QWebPage page2;
+ page2.setNetworkAccessManager(new TestNetworkManager(&page2));
+ page2.mainFrame()->setHtml("<html><head>"
+ "<meta http-equiv=\"refresh\"content=\"1;URL=http://qt.nokia.com/favicon.ico\">"
+ "</head><body><h1>Page redirect test with 1 sec timeout...</h1>"
+ "</body></html>");
+ page2.triggerAction(QWebPage::StopScheduledPageRefresh);
+ QTest::qWait(1500);
+ QCOMPARE(page2.mainFrame()->url().toString(), QString("about:blank"));
+}
+
QTEST_MAIN(tst_QWebPage)
#include "tst_qwebpage.moc"
diff --git a/WebKit/win/ChangeLog b/WebKit/win/ChangeLog
index 69d7ea9..2979556 100644
--- a/WebKit/win/ChangeLog
+++ b/WebKit/win/ChangeLog
@@ -1,3 +1,108 @@
+2010-05-30 Daniel Bates <dbates@rim.com>
+
+ Unreviewed, attempt to fix the build after http://trac.webkit.org/changeset/60418.
+
+ * WebFrame.cpp:
+ (WebFrame::elementWithName):
+ (WebFrame::controlsInForm):
+
+2010-05-22 Jer Noble <jer.noble@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Full screen doesn't work for video elements
+ https://bugs.webkit.org/show_bug.cgi?id=39557
+ rdar://problem/8011813
+
+ Modified FullscreenVideoController to work with MediaPlayerPrivateFullscreenWindow. The FullscreenVideoController
+ is now MediaPlayerPrivate agnostic..
+
+ * FullscreenVideoController.cpp:
+ (FullscreenVideoController::LayoutClient::LayoutClient): New helper class which implements WKCACFLayerLayoutClient.
+ (FullscreenVideoController::LayoutClient::layoutSublayersOfLayer):
+ (FullscreenVideoController::FullscreenVideoController):
+ (FullscreenVideoController::~FullscreenVideoController):
+ (FullscreenVideoController::enterFullscreen):
+ (FullscreenVideoController::exitFullscreen):
+ (FullscreenVideoController::fullscreenClientWndProc): Handle WM_KEYDOWN.
+ (FullscreenVideoController::createHUDWindow):
+ (FullscreenVideoController::hudWndProc): Handle WM_KEYDOWN.
+ (FullscreenVideoController::onChar):
+ (FullscreenVideoController::onKeyDown): New function: handles the VK_ESCAPE case more reliably than WM_CHAR.
+ * FullscreenVideoController.h:
+ * WebView.h:
+ (WebView::viewWindow): Added a simple viewWindow() accessor.
+
+2010-05-25 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Database origins aren't populated at launch (missing db in prefs sheet, possible other symptoms)
+ <rdar://problem/8013233> and https://bugs.webkit.org/show_bug.cgi?id=39486
+
+ * WebDatabaseManager.cpp:
+ (WebKitInitializeWebDatabasesIfNecessary): Call initializeTracker() instead of trying to set the path on
+ an already created tracker that already has its origins populated.
+ * WebDatabaseManager.h:
+
+ * WebView.cpp:
+ (WebView::initWithFrame): Call a renamed method instead.
+
+2010-05-25 Ada Chan <adachan@apple.com>
+
+ Reviewed by Steve Falkenburg.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39651
+
+ Make m_closeWindowTimer a SuspendableTimer, so it is properly suspended
+ when page loading is deferred.
+
+ * WebView.cpp:
+ (WebView::WebView): m_closeWindowTimer is now a pointer to a SuspendableTimer.
+ (WindowCloseTimer::create):
+ (WindowCloseTimer::WindowCloseTimer):
+ (WindowCloseTimer::contextDestroyed): Make sure we delete the WindowCloseTimer in the end.
+ (WindowCloseTimer::fired):
+ (WebView::closeWindowSoon):
+ (WebView::closeWindowTimerFired):
+ (WebView::notifyPreferencesChanged): Can just check for the existence m_closeWindowTimer, since
+ we only create it when we need to start the timer.
+ * WebView.h:
+
+2010-05-24 Darin Adler <darin@apple.com>
+
+ Reviewed by Eric Seidel.
+
+ Move view-related functions from Frame to FrameView
+ https://bugs.webkit.org/show_bug.cgi?id=39366
+
+ * WebFrame.cpp:
+ (WebFrame::setTextSizeMultiplier): Call function on FrameView.
+ * WebView.cpp:
+ (WebView::setZoomMultiplier): Ditto.
+
+2010-05-24 Anders Carlsson <andersca@apple.com>
+
+ Yet another Windows build fix.
+
+ * WebView.cpp:
+ (WebView::canShowMIMEType):
+ Use the right capitalizatinon of 'MIME' (which also happens to be incorrect according to our guidelines).
+
+2010-05-24 Anders Carlsson <andersca@apple.com>
+
+ Another Windows build fix.
+
+ * WebView.cpp:
+ Don't include PlugInInfoStore.h, instead include PluginData.h
+
+2010-05-24 Anders Carlsson <andersca@apple.com>
+
+ Fix Windows build.
+
+ * WebView.cpp:
+ (WebView::canShowMIMEType):
+
2010-05-21 Steve Block <steveblock@google.com>
Reviewed by Jeremy Orlow.
diff --git a/WebKit/win/FullscreenVideoController.cpp b/WebKit/win/FullscreenVideoController.cpp
index 6132fca..3aeb1ba 100644
--- a/WebKit/win/FullscreenVideoController.cpp
+++ b/WebKit/win/FullscreenVideoController.cpp
@@ -30,12 +30,16 @@
#include "FullscreenVideoController.h"
#include "WebKitDLL.h"
+#include "WebView.h"
#include <ApplicationServices/ApplicationServices.h>
#include <WebCore/BitmapInfo.h>
+#include <WebCore/Chrome.h>
#include <WebCore/Font.h>
#include <WebCore/FontSelector.h>
#include <WebCore/GraphicsContext.h>
+#include <WebCore/Page.h>
#include <WebCore/TextRun.h>
+#include <WebCore/WKCACFLayer.h>
#include <WebKitSystemInterface/WebKitSystemInterface.h>
#include <windowsx.h>
#include <wtf/StdLibExtras.h>
@@ -169,9 +173,53 @@ void HUDSlider::drag(const IntPoint& point, bool start)
m_buttonPosition = max(0, min(m_rect.width() - m_buttonSize, point.x() - m_dragStartOffset));
}
+#if USE(ACCELERATED_COMPOSITING)
+class FullscreenVideoController::LayoutClient : public WKCACFLayerLayoutClient {
+public:
+ LayoutClient(FullscreenVideoController* parent);
+ void layoutSublayersOfLayer(WKCACFLayer* layer);
+
+ FullscreenVideoController* m_parent;
+};
+
+FullscreenVideoController::LayoutClient::LayoutClient(FullscreenVideoController* parent)
+ : m_parent(parent)
+{
+}
+
+void FullscreenVideoController::LayoutClient::layoutSublayersOfLayer(WKCACFLayer* layer)
+{
+ ASSERT_ARG(layer, layer == m_parent->m_rootChild);
+
+ HTMLMediaElement* mediaElement = m_parent->m_mediaElement.get();
+ if (!mediaElement)
+ return;
+
+ WKCACFLayer* videoLayer = mediaElement->platformLayer();
+ if (!videoLayer || videoLayer->superlayer() != layer)
+ return;
+
+ FloatRect layerBounds = layer->bounds();
+
+ FloatSize videoSize = mediaElement->player()->naturalSize();
+ float scaleFactor;
+ if (videoSize.aspectRatio() > layerBounds.size().aspectRatio())
+ scaleFactor = layerBounds.width() / videoSize.width();
+ else
+ scaleFactor = layerBounds.height() / videoSize.height();
+ videoSize.scale(scaleFactor);
+
+ // Calculate the centered position based on the videoBounds and layerBounds:
+ FloatPoint videoPosition;
+ FloatPoint videoOrigin;
+ videoOrigin.setX((layerBounds.width() - videoSize.width()) * 0.5);
+ videoOrigin.setY((layerBounds.height() - videoSize.height()) * 0.5);
+ videoLayer->setFrame(FloatRect(videoOrigin, videoSize));
+}
+#endif
+
FullscreenVideoController::FullscreenVideoController()
: m_hudWindow(0)
- , m_videoWindow(0)
, m_playPauseButton(HUDButton::PlayPauseButton, IntPoint((windowWidth - buttonSize) / 2, marginTop))
, m_timeSliderButton(HUDButton::TimeSliderButton, IntPoint(0, 0))
, m_volumeUpButton(HUDButton::VolumeUpButton, IntPoint(margin + buttonMiniSize + volumeSliderWidth + buttonMiniSize / 2, marginTop + (buttonSize - buttonMiniSize) / 2))
@@ -183,25 +231,22 @@ FullscreenVideoController::FullscreenVideoController()
, m_hitWidget(0)
, m_movingWindow(false)
, m_timer(this, &FullscreenVideoController::timerFired)
+#if USE(ACCELERATED_COMPOSITING)
+ , m_rootChild(WKCACFLayer::create(WKCACFLayer::Layer))
+ , m_layoutClient(new LayoutClient(this))
+#endif
+ , m_fullscreenWindow(new MediaPlayerPrivateFullscreenWindow(this))
{
+#if USE(ACCELERATED_COMPOSITING)
+ m_rootChild->setLayoutClient(m_layoutClient.get());
+#endif
}
FullscreenVideoController::~FullscreenVideoController()
{
- if (movie())
- movie()->exitFullscreen();
-}
-
-QTMovieGWorld* FullscreenVideoController::movie() const
-{
- if (!m_mediaElement)
- return 0;
-
- PlatformMedia platformMedia = m_mediaElement->platformMedia();
- if (platformMedia.type != PlatformMedia::QTMovieGWorldType)
- return 0;
-
- return platformMedia.media.qtMovieGWorld;
+#if USE(ACCELERATED_COMPOSITING)
+ m_rootChild->setLayoutClient(0);
+#endif
}
void FullscreenVideoController::setMediaElement(HTMLMediaElement* mediaElement)
@@ -218,13 +263,23 @@ void FullscreenVideoController::setMediaElement(HTMLMediaElement* mediaElement)
void FullscreenVideoController::enterFullscreen()
{
- if (!movie())
+ if (!m_mediaElement)
return;
- m_videoWindow = movie()->enterFullscreen(this);
+ WebView* webView = kit(m_mediaElement->document()->page());
+ HWND parentHwnd = webView ? webView->viewWindow() : 0;
+
+ m_fullscreenWindow->createWindow(parentHwnd);
+#if USE(ACCELERATED_COMPOSITING)
+ m_fullscreenWindow->setRootChildLayer(m_rootChild);
+
+ WKCACFLayer* videoLayer = m_mediaElement->player()->platformLayer();
+ m_rootChild->addSublayer(videoLayer);
+ m_rootChild->setNeedsLayout();
+#endif
RECT windowRect;
- GetClientRect(m_videoWindow, &windowRect);
+ GetClientRect(m_fullscreenWindow->hwnd(), &windowRect);
m_fullscreenSize.setWidth(windowRect.right - windowRect.left);
m_fullscreenSize.setHeight(windowRect.bottom - windowRect.top);
@@ -234,12 +289,23 @@ void FullscreenVideoController::enterFullscreen()
void FullscreenVideoController::exitFullscreen()
{
SetWindowLongPtr(m_hudWindow, 0, 0);
- if (movie())
- movie()->exitFullscreen();
+
+ if (m_fullscreenWindow)
+ m_fullscreenWindow = 0;
ASSERT(!IsWindow(m_hudWindow));
- m_videoWindow = 0;
m_hudWindow = 0;
+
+ // We previously ripped the mediaElement's platform layer out
+ // of its orginial layer tree to display it in our fullscreen
+ // window. Now, we need to get the layer back in its original
+ // tree.
+ //
+ // As a side effect of setting the player to invisible/visible,
+ // the player's layer will be recreated, and will be picked up
+ // the next time the layer tree is synched.
+ m_mediaElement->player()->setVisible(0);
+ m_mediaElement->player()->setVisible(1);
}
bool FullscreenVideoController::canPlay() const
@@ -308,6 +374,9 @@ LRESULT FullscreenVideoController::fullscreenClientWndProc(HWND wnd, UINT messag
case WM_CHAR:
onChar(wParam);
break;
+ case WM_KEYDOWN:
+ onKeyDown(wParam);
+ break;
case WM_LBUTTONDOWN:
onMouseDown(IntPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam)));
break;
@@ -364,7 +433,7 @@ void FullscreenVideoController::createHUDWindow()
// Dirty the window so the HUD draws
RECT clearRect = { m_hudPosition.x(), m_hudPosition.y(), m_hudPosition.x() + windowWidth, m_hudPosition.y() + windowHeight };
- InvalidateRect(m_videoWindow, &clearRect, true);
+ InvalidateRect(m_fullscreenWindow->hwnd(), &clearRect, true);
m_playPauseButton.setShowAltButton(!canPlay());
m_volumeSlider.setValue(volume());
@@ -377,7 +446,7 @@ void FullscreenVideoController::createHUDWindow()
m_hudWindow = CreateWindowEx(WS_EX_LAYERED | WS_EX_TRANSPARENT | WS_EX_TOOLWINDOW,
fullscreenVideeoHUDWindowClassName, 0, WS_POPUP | WS_VISIBLE,
- m_hudPosition.x(), m_hudPosition.y(), 0, 0, m_videoWindow, 0, gInstance, 0);
+ m_hudPosition.x(), m_hudPosition.y(), 0, 0, m_fullscreenWindow->hwnd(), 0, gInstance, 0);
ASSERT(::IsWindow(m_hudWindow));
SetWindowLongPtr(m_hudWindow, 0, reinterpret_cast<LONG_PTR>(this));
@@ -488,6 +557,9 @@ LRESULT FullscreenVideoController::hudWndProc(HWND wnd, UINT message, WPARAM wPa
case WM_CHAR:
controller->onChar(wParam);
break;
+ case WM_KEYDOWN:
+ controller->onKeyDown(wParam);
+ break;
case WM_LBUTTONDOWN:
controller->onMouseDown(IntPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam)));
break;
@@ -511,6 +583,14 @@ void FullscreenVideoController::onChar(int c)
togglePlay();
}
+void FullscreenVideoController::onKeyDown(int virtualKey)
+{
+ if (virtualKey == VK_ESCAPE) {
+ if (m_mediaElement)
+ m_mediaElement->exitFullscreen();
+ }
+}
+
void FullscreenVideoController::timerFired(Timer<FullscreenVideoController>*)
{
// Update the time slider
diff --git a/WebKit/win/FullscreenVideoController.h b/WebKit/win/FullscreenVideoController.h
index 31acc63..9ac8c69 100644
--- a/WebKit/win/FullscreenVideoController.h
+++ b/WebKit/win/FullscreenVideoController.h
@@ -28,7 +28,7 @@
#if ENABLE(VIDEO)
-#include "QTMovieGWorld.h"
+#include "MediaPlayerPrivateFullscreenWindow.h"
#include <WebCore/HTMLMediaElement.h>
#include <WebCore/Image.h>
@@ -38,6 +38,9 @@
namespace WebCore {
class GraphicsContext;
+#if USE(ACCELERATED_COMPOSITING)
+class WKCACFLayer;
+#endif
}
class HUDWidget {
@@ -99,7 +102,7 @@ private:
int m_dragStartOffset;
};
-class FullscreenVideoController : QTMovieGWorldFullscreenClient, public Noncopyable {
+class FullscreenVideoController : WebCore::MediaPlayerPrivateFullscreenClient, public Noncopyable {
public:
FullscreenVideoController();
virtual ~FullscreenVideoController();
@@ -111,12 +114,11 @@ public:
void exitFullscreen();
private:
- // QTMovieGWorldFullscreenClient
+ // MediaPlayerPrivateFullscreenWindowClient
virtual LRESULT fullscreenClientWndProc(HWND, UINT message, WPARAM, LPARAM);
-
+
void ensureWindow();
- QTMovieGWorld* movie() const;
-
+
bool canPlay() const;
void play();
void pause();
@@ -145,13 +147,21 @@ private:
void onMouseDown(const WebCore::IntPoint&);
void onMouseMove(const WebCore::IntPoint&);
void onMouseUp(const WebCore::IntPoint&);
+ void onKeyDown(int virtualKey);
RefPtr<WebCore::HTMLMediaElement> m_mediaElement;
- HWND m_hudWindow, m_videoWindow;
+ HWND m_hudWindow;
OwnPtr<HBITMAP> m_bitmap;
WebCore::IntSize m_fullscreenSize;
WebCore::IntPoint m_hudPosition;
+ OwnPtr<WebCore::MediaPlayerPrivateFullscreenWindow> m_fullscreenWindow;
+#if USE(ACCELERATED_COMPOSITING)
+ RefPtr<WebCore::WKCACFLayer> m_rootChild;
+ class LayoutClient;
+ friend class LayoutClient;
+ OwnPtr<LayoutClient> m_layoutClient;
+#endif
HUDButton m_playPauseButton;
HUDButton m_timeSliderButton;
diff --git a/WebKit/win/WebDatabaseManager.cpp b/WebKit/win/WebDatabaseManager.cpp
index 989f33c..238aa61 100644
--- a/WebKit/win/WebDatabaseManager.cpp
+++ b/WebKit/win/WebDatabaseManager.cpp
@@ -370,16 +370,16 @@ void WebDatabaseManager::dispatchDidModifyDatabase(SecurityOrigin* origin, const
notifyCenter->postNotificationName(databaseDidModifyOriginName, securityOrigin.get(), userInfoBag.get());
}
-void WebKitSetWebDatabasesPathIfNecessary()
+void WebKitInitializeWebDatabasesIfNecessary()
{
- static bool pathSet = false;
- if (pathSet)
+ static bool initialized = false;
+ if (initialized)
return;
WebCore::String databasesDirectory = WebCore::pathByAppendingComponent(WebCore::localUserSpecificStorageDirectory(), "Databases");
- WebCore::DatabaseTracker::tracker().setDatabaseDirectoryPath(databasesDirectory);
+ WebCore::DatabaseTracker::initializeTracker(databasesDirectory);
- pathSet = true;
+ initialized = true;
}
#endif
diff --git a/WebKit/win/WebDatabaseManager.h b/WebKit/win/WebDatabaseManager.h
index c932986..405c916 100644
--- a/WebKit/win/WebDatabaseManager.h
+++ b/WebKit/win/WebDatabaseManager.h
@@ -88,7 +88,7 @@ private:
ULONG m_refCount;
};
-void WebKitSetWebDatabasesPathIfNecessary();
+void WebKitInitializeWebDatabasesIfNecessary();
#endif
diff --git a/WebKit/win/WebFrame.cpp b/WebKit/win/WebFrame.cpp
index 319fbbc..22bd339 100644
--- a/WebKit/win/WebFrame.cpp
+++ b/WebKit/win/WebFrame.cpp
@@ -83,7 +83,7 @@
#include <WebCore/NotImplemented.h>
#include <WebCore/Page.h>
#include <WebCore/PlatformKeyboardEvent.h>
-#include <WebCore/PluginInfoStore.h>
+#include <WebCore/PluginData.h>
#include <WebCore/PluginDatabase.h>
#include <WebCore/PluginView.h>
#include <WebCore/PrintContext.h>
@@ -1103,7 +1103,9 @@ void WebFrame::setTextSizeMultiplier(float multiplier)
{
Frame* coreFrame = core(this);
ASSERT(coreFrame);
- coreFrame->setZoomFactor(multiplier, ZoomTextOnly);
+
+ if (FrameView* view = coreFrame->view())
+ view->setZoomFactor(multiplier, ZoomTextOnly);
}
HRESULT WebFrame::inViewSourceMode(BOOL* flag)
@@ -1140,7 +1142,7 @@ HRESULT WebFrame::elementWithName(BSTR name, IDOMElement* form, IDOMElement** el
HTMLFormElement *formElement = formElementFromDOMElement(form);
if (formElement) {
- Vector<HTMLFormControlElement*>& elements = formElement->formElements;
+ const Vector<HTMLFormControlElement*>& elements = formElement->associatedElements();
AtomicString targetName((UChar*)name, SysStringLen(name));
for (unsigned int i = 0; i < elements.size(); i++) {
HTMLFormControlElement *elt = elements[i];
@@ -1338,7 +1340,7 @@ HRESULT WebFrame::controlsInForm(IDOMElement* form, IDOMElement** controls, int*
return E_FAIL;
int inCount = *cControls;
- int count = (int) formElement->formElements.size();
+ int count = (int) formElement->associatedElements().size();
*cControls = count;
if (!controls)
return S_OK;
@@ -1346,7 +1348,7 @@ HRESULT WebFrame::controlsInForm(IDOMElement* form, IDOMElement** controls, int*
return E_FAIL;
*cControls = 0;
- Vector<HTMLFormControlElement*>& elements = formElement->formElements;
+ const Vector<HTMLFormControlElement*>& elements = formElement->associatedElements();
for (int i = 0; i < count; i++) {
if (elements.at(i)->isEnumeratable()) { // Skip option elements, other duds
controls[*cControls] = DOMElement::createInstance(elements.at(i));
diff --git a/WebKit/win/WebView.cpp b/WebKit/win/WebView.cpp
index 20f0f06..525108f 100644
--- a/WebKit/win/WebView.cpp
+++ b/WebKit/win/WebView.cpp
@@ -105,8 +105,8 @@
#include <WebCore/PlatformKeyboardEvent.h>
#include <WebCore/PlatformMouseEvent.h>
#include <WebCore/PlatformWheelEvent.h>
+#include <WebCore/PluginData.h>
#include <WebCore/PluginDatabase.h>
-#include <WebCore/PluginInfoStore.h>
#include <WebCore/PluginView.h>
#include <WebCore/PopupMenu.h>
#include <WebCore/ProgressTracker.h>
@@ -330,7 +330,7 @@ WebView::WebView()
, m_didClose(false)
, m_inIMEComposition(0)
, m_toolTipHwnd(0)
- , m_closeWindowTimer(this, &WebView::closeWindowTimerFired)
+ , m_closeWindowTimer(0)
, m_topLevelParent(0)
, m_deleteBackingStoreTimerActive(false)
, m_transparent(false)
@@ -1079,13 +1079,67 @@ void WebView::frameRect(RECT* rect)
::GetWindowRect(m_viewWindow, rect);
}
+class WindowCloseTimer : public WebCore::SuspendableTimer {
+public:
+ static WindowCloseTimer* create(WebView*);
+
+private:
+ WindowCloseTimer(ScriptExecutionContext*, WebView*);
+ virtual void contextDestroyed();
+ virtual void fired();
+
+ WebView* m_webView;
+};
+
+WindowCloseTimer* WindowCloseTimer::create(WebView* webView)
+{
+ ASSERT_ARG(webView, webView);
+ Frame* frame = core(webView->topLevelFrame());
+ ASSERT(frame);
+ if (!frame)
+ return 0;
+
+ Document* document = frame->document();
+ ASSERT(document);
+ if (!document)
+ return 0;
+
+ return new WindowCloseTimer(document, webView);
+}
+
+WindowCloseTimer::WindowCloseTimer(ScriptExecutionContext* context, WebView* webView)
+ : SuspendableTimer(context)
+ , m_webView(webView)
+{
+ ASSERT_ARG(context, context);
+ ASSERT_ARG(webView, webView);
+}
+
+void WindowCloseTimer::contextDestroyed()
+{
+ SuspendableTimer::contextDestroyed();
+ delete this;
+}
+
+void WindowCloseTimer::fired()
+{
+ m_webView->closeWindowTimerFired();
+}
+
void WebView::closeWindowSoon()
{
- m_closeWindowTimer.startOneShot(0);
+ if (m_closeWindowTimer)
+ return;
+
+ m_closeWindowTimer = WindowCloseTimer::create(this);
+ if (!m_closeWindowTimer)
+ return;
+ m_closeWindowTimer->startOneShot(0);
+
AddRef();
}
-void WebView::closeWindowTimerFired(WebCore::Timer<WebView>*)
+void WebView::closeWindowTimerFired()
{
closeWindow();
Release();
@@ -2425,7 +2479,7 @@ HRESULT STDMETHODCALLTYPE WebView::canShowMIMEType(
*canShow = MIMETypeRegistry::isSupportedImageMIMEType(mimeTypeStr) ||
MIMETypeRegistry::isSupportedNonImageMIMEType(mimeTypeStr) ||
- PluginInfoStore::supportsMIMEType(mimeTypeStr) ||
+ (m_page && m_page->pluginData()->supportsMimeType(mimeTypeStr)) ||
shouldUseEmbeddedView(mimeTypeStr);
return S_OK;
@@ -2546,7 +2600,7 @@ HRESULT STDMETHODCALLTYPE WebView::initWithFrame(
InitializeLoggingChannelsIfNecessary();
#if ENABLE(DATABASE)
- WebKitSetWebDatabasesPathIfNecessary();
+ WebKitInitializeWebDatabasesIfNecessary();
#endif
WebKitSetApplicationCachePathIfNecessary();
@@ -2912,8 +2966,10 @@ void WebView::setZoomMultiplier(float multiplier, bool isTextOnly)
{
m_zoomMultiplier = multiplier;
m_page->settings()->setZoomMode(isTextOnly ? ZoomTextOnly : ZoomPage);
- if (Frame* coreFrame = core(m_mainFrame))
- coreFrame->setZoomFactor(multiplier, isTextOnly ? ZoomTextOnly : ZoomPage);
+ if (Frame* coreFrame = core(m_mainFrame)) {
+ if (FrameView* view = coreFrame->view())
+ view->setZoomFactor(multiplier, isTextOnly ? ZoomTextOnly : ZoomPage);
+ }
}
HRESULT STDMETHODCALLTYPE WebView::textSizeMultiplier(
@@ -4735,7 +4791,7 @@ HRESULT WebView::notifyPreferencesChanged(IWebNotification* notification)
settings->setWebGLEnabled(true);
#endif // ENABLE(3D_CANVAS)
- if (!m_closeWindowTimer.isActive())
+ if (!m_closeWindowTimer)
m_mainFrame->invalidate(); // FIXME
hr = updateSharedSettingsFromPreferencesIfNeeded(preferences.get());
diff --git a/WebKit/win/WebView.h b/WebKit/win/WebView.h
index 752c16d..d44e6c6 100644
--- a/WebKit/win/WebView.h
+++ b/WebKit/win/WebView.h
@@ -33,7 +33,7 @@
#include <WebCore/DragActions.h>
#include <WebCore/IntRect.h>
#include <WebCore/RefCountedGDIHandle.h>
-#include <WebCore/Timer.h>
+#include <WebCore/SuspendableTimer.h>
#include <WebCore/WindowMessageListener.h>
#include <WebCore/WKCACFLayer.h>
#include <WebCore/WKCACFLayerRenderer.h>
@@ -832,6 +832,7 @@ public:
void frameRect(RECT* rect);
void closeWindow();
void closeWindowSoon();
+ void closeWindowTimerFired();
bool didClose() const { return m_didClose; }
bool transparent() const { return m_transparent; }
@@ -885,6 +886,7 @@ public:
void cancelDeleteBackingStoreSoon();
HWND topLevelParent() const { return m_topLevelParent; }
+ HWND viewWindow() const { return m_viewWindow; }
void updateActiveState();
@@ -939,7 +941,6 @@ protected:
void preflightSpellChecker();
bool continuousCheckingAllowed();
void initializeToolTipWindow();
- void closeWindowTimerFired(WebCore::Timer<WebView>*);
void prepareCandidateWindow(WebCore::Frame*, HIMC);
void updateSelectionForIME();
LRESULT onIMERequestCharPosition(WebCore::Frame*, IMECHARPOSITION*);
@@ -1011,7 +1012,7 @@ protected:
static bool s_allowSiteSpecificHacks;
- WebCore::Timer<WebView> m_closeWindowTimer;
+ WebCore::SuspendableTimer* m_closeWindowTimer;
OwnPtr<TRACKMOUSEEVENT> m_mouseOutTracker;
HWND m_topLevelParent;
diff --git a/WebKit/wx/ChangeLog b/WebKit/wx/ChangeLog
index 51da133..ab25102 100644
--- a/WebKit/wx/ChangeLog
+++ b/WebKit/wx/ChangeLog
@@ -1,3 +1,32 @@
+2010-05-27 Kevin Ollivier <kevino@theolliviers.com>
+
+ [wx] Build fixes for Windows after recent changes.
+
+ * WebView.cpp:
+ (wxWebView::Create):
+ * wscript:
+
+2010-05-26 Kevin Ollivier <kevino@theolliviers.com>
+
+ Build fix after new client added to Page constructor.
+
+ * WebView.cpp:
+ (wxWebView::Create):
+
+2010-05-24 Darin Adler <darin@apple.com>
+
+ Reviewed by Eric Seidel.
+
+ Move view-related functions from Frame to FrameView
+ https://bugs.webkit.org/show_bug.cgi?id=39366
+
+ * WebFrame.cpp:
+ (wxWebFrame::CanIncreaseTextSize): Check FrameView is not null.
+ (wxWebFrame::IncreaseTextSize): Call function on FrameView.
+ (wxWebFrame::CanDecreaseTextSize): Ditto.
+ (wxWebFrame::DecreaseTextSize): Ditto.
+ (wxWebFrame::ResetTextSize): Ditto.
+
2010-05-11 Kevin Watters <kevinwatters@gmail.com>
Reviewed by Kevin Ollivier.
diff --git a/WebKit/wx/WebFrame.cpp b/WebKit/wx/WebFrame.cpp
index 2515de4..cb66a72 100644
--- a/WebKit/wx/WebFrame.cpp
+++ b/WebKit/wx/WebFrame.cpp
@@ -305,7 +305,7 @@ bool wxWebFrame::CanRedo()
bool wxWebFrame::CanIncreaseTextSize() const
{
- if (m_impl->frame) {
+ if (m_impl->frame && m_impl->frame->view()) {
if (m_textMagnifier*TextSizeMultiplierRatio <= MaximumTextSizeMultiplier)
return true;
}
@@ -316,13 +316,13 @@ void wxWebFrame::IncreaseTextSize()
{
if (CanIncreaseTextSize()) {
m_textMagnifier = m_textMagnifier*TextSizeMultiplierRatio;
- m_impl->frame->setZoomFactor(m_textMagnifier, WebCore::ZoomTextOnly);
+ m_impl->frame->view()->setZoomFactor(m_textMagnifier, WebCore::ZoomTextOnly);
}
}
bool wxWebFrame::CanDecreaseTextSize() const
{
- if (m_impl->frame) {
+ if (m_impl->frame && m_impl->frame->view()) {
if (m_textMagnifier/TextSizeMultiplierRatio >= MinimumTextSizeMultiplier)
return true;
}
@@ -333,15 +333,15 @@ void wxWebFrame::DecreaseTextSize()
{
if (CanDecreaseTextSize()) {
m_textMagnifier = m_textMagnifier/TextSizeMultiplierRatio;
- m_impl->frame->setZoomFactor(m_textMagnifier, WebCore::ZoomTextOnly);
+ m_impl->frame->view()->setZoomFactor(m_textMagnifier, WebCore::ZoomTextOnly);
}
}
void wxWebFrame::ResetTextSize()
{
m_textMagnifier = 1.0;
- if (m_impl->frame)
- m_impl->frame->setZoomFactor(m_textMagnifier, WebCore::ZoomTextOnly);
+ if (m_impl->frame && m_impl->frame->view())
+ m_impl->frame->view()->setZoomFactor(m_textMagnifier, WebCore::ZoomTextOnly);
}
void wxWebFrame::MakeEditable(bool enable)
diff --git a/WebKit/wx/WebView.cpp b/WebKit/wx/WebView.cpp
index 2c5087c..d9a22cb 100644
--- a/WebKit/wx/WebView.cpp
+++ b/WebKit/wx/WebView.cpp
@@ -56,6 +56,9 @@
#include "Settings.h"
#include "SubstituteData.h"
#include "Threading.h"
+#if __WXMSW__
+#include "WebCoreInstanceHandle.h"
+#endif
#include "ChromeClientWx.h"
#include "ContextMenuClientWx.h"
@@ -319,7 +322,7 @@ bool wxWebView::Create(wxWindow* parent, int id, const wxPoint& position,
// due to a problem with exceptions getting eaten when using the callback
// approach to timers (which wx itself uses).
#if __WXMSW__
- WebCore::Page::setInstanceHandle(wxGetInstance());
+ WebCore::setInstanceHandle(wxGetInstance());
#endif
// this helps reduce flicker on platforms like MSW
@@ -331,7 +334,11 @@ bool wxWebView::Create(wxWindow* parent, int id, const wxPoint& position,
WebCore::HTMLFrameOwnerElement* parentFrame = 0;
WebCore::EditorClientWx* editorClient = new WebCore::EditorClientWx();
- m_impl->page = new WebCore::Page(new WebCore::ChromeClientWx(this), new WebCore::ContextMenuClientWx(), editorClient, new WebCore::DragClientWx(), new WebCore::InspectorClientWx(), 0, 0);
+ m_impl->page = new WebCore::Page(new WebCore::ChromeClientWx(this),
+ new WebCore::ContextMenuClientWx(),
+ editorClient,
+ new WebCore::DragClientWx(),
+ new WebCore::InspectorClientWx(), 0, 0, 0);
editorClient->setPage(m_impl->page);
m_mainFrame = new wxWebFrame(this);
diff --git a/WebKit/wx/wscript b/WebKit/wx/wscript
index 61fa903..fe934f1 100644
--- a/WebKit/wx/wscript
+++ b/WebKit/wx/wscript
@@ -40,6 +40,9 @@ include_paths = webkit_dirs + common_includes + ['.', '..',
os.path.join(wk_root, 'WebCore', 'platform', 'graphics', 'wx'),
]
+if sys.platform.startswith("win"):
+ include_paths.append(os.path.join(wk_root, 'WebCore','platform','win'))
+
windows_deps = [
'lib/pthreadVC2.dll',
'bin/icuuc40.dll', 'bin/icudt40.dll', 'bin/icuin40.dll',
diff --git a/WebKitLibraries/ChangeLog b/WebKitLibraries/ChangeLog
index 83297ec..3783b39 100644
--- a/WebKitLibraries/ChangeLog
+++ b/WebKitLibraries/ChangeLog
@@ -1,3 +1,37 @@
+2010-05-24 Jer Noble <jer.noble@apple.com>
+
+ No review; build fix only.
+
+ Roll-out changes r60110.
+
+ * win/include/WebKitSystemInterface/WebKitSystemInterface.h:
+ * win/lib/WebKitSystemInterface.lib:
+ * win/lib/WebKitSystemInterface_debug.lib:
+
+2010-05-24 Jer Noble <jer.noble@apple.com>
+
+ No review; build fix only.
+
+ Roll-out changes r60094, 60096-60097.
+
+ * win/include/WebKitSystemInterface/WebKitSystemInterface.h:
+ * win/lib/WebKitSystemInterface.lib:
+ * win/lib/WebKitSystemInterface_debug.lib:
+
+2010-05-23 Jer Noble <jer.noble@apple.com>
+
+ Reviewed by Eric Carlson.
+
+ HTML5 <video> tag performance worse than Flash
+ https://bugs.webkit.org/show_bug.cgi?id=39577
+ rdar://problem/7982458
+
+ Added WebKitSystemInterface calls for new CAImageQueue APIs.
+
+ * win/include/WebKitSystemInterface/WebKitSystemInterface.h:
+ * win/lib/WebKitSystemInterface.lib:
+ * win/lib/WebKitSystemInterface_debug.lib:
+
2010-05-20 Steve Block <steveblock@google.com>
Reviewed by Jeremy Orlow.
diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index f48e031..767f011 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,31548 +1,176 @@
-2010-05-24 Eric Seidel <eric@webkit.org>
-
- Reviewed by Chris Jerdonek.
-
- webkit-patch needs --verbose flag to enable DEBUG logging
- https://bugs.webkit.org/show_bug.cgi?id=39208
-
- I also added some code to print out how long commands take to run.
-
- * Scripts/webkit-patch:
- - Add hackish -v/--verbose parsing (similar to check-webkit-style)
- * Scripts/webkitpy/common/system/executive.py:
- - Log how long commands take to run.
- * Scripts/webkitpy/tool/main.py:
- - Add -v/--verbose option to global options.
-
-2010-05-23 Eric Seidel <eric@webkit.org>
-
- Reviewed by Daniel Bates.
-
- Split PatchReader out into its own file
- https://bugs.webkit.org/show_bug.cgi?id=39576
-
- This is in preparation for making check-webkit-style
- support being passed paths to patch files on the command line.
-
- * Scripts/check-webkit-style:
- * Scripts/webkitpy/style/checker.py:
- * Scripts/webkitpy/style/checker_unittest.py:
- * Scripts/webkitpy/style/patchreader.py: Added.
- * Scripts/webkitpy/style/patchreader_unittest.py: Added.
- * Scripts/webkitpy/style_references.py:
-
-2010-05-23 Adam Barth <abarth@webkit.org>
-
- Reviewed by Daniel Bates.
-
- webkit-patch should let you add a comment when uploading a patch
- https://bugs.webkit.org/show_bug.cgi?id=39552
-
- As requested by Dan "the man" Bates.
-
- * Scripts/webkitpy/tool/steps/options.py:
- * Scripts/webkitpy/tool/steps/postdiff.py:
-
-2010-05-23 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- webkit-patch should assign newly created bugs to their creator
- https://bugs.webkit.org/show_bug.cgi?id=39548
-
- As requested on webkit-dev.
-
- * Scripts/webkitpy/common/net/bugzilla.py:
-
-2010-05-23 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Hide prepare and post commands for webkit-patch
- https://bugs.webkit.org/show_bug.cgi?id=39539
-
- It turns out these commands aren't very popular and they confuse new
- users. They'll still be there for advanced users, however.
-
- * Scripts/webkitpy/tool/commands/upload.py:
-
-2010-05-23 Jesus Sanchez-Palencia <jesus@webkit.org>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] QtTestBrowser has two graphicsview options that aren't enabled correctly
- https://bugs.webkit.org/show_bug.cgi?id=39491
-
- Making toggleResizesToContents and toggleTiledBackingStore checkable when
- QtTestBrowser is started on graphics view mode.
-
- * QtTestBrowser/main.cpp:
- (LauncherWindow::createChrome):
-
-2010-05-23 Jesus Sanchez-Palencia <jesus@webkit.org>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] QtTestBrowser is still called QtLauncher in the code
- https://bugs.webkit.org/show_bug.cgi?id=39488
-
- Finish the name change of QtLauncher to QtTestBrowser.
-
- * QtTestBrowser/main.cpp:
- (LauncherApplication::LauncherApplication):
- (LauncherApplication::handleUserOptions):
- * QtTestBrowser/mainwindow.cpp:
- (MainWindow::MainWindow):
- * QtTestBrowser/useragentlist.txt:
-
-2010-05-23 Marcus Bulach <bulach@chromium.org>
-
- Reviewed by Kent Tamura.
-
- [chromium] Adds Geolocation support to DumpRenderTree.
- https://bugs.webkit.org/show_bug.cgi?id=39440
-
- Existing LayoutTests/fast/dom/Geolocation/* should pass.
-
- * DumpRenderTree/chromium/LayoutTestController.cpp:
- (LayoutTestController::LayoutTestController):
- (LayoutTestController::setGeolocationPermission):
- (LayoutTestController::setMockGeolocationPosition):
- (LayoutTestController::setMockGeolocationError):
- * DumpRenderTree/chromium/LayoutTestController.h:
- * DumpRenderTree/chromium/TestShell.cpp:
- (TestShell::TestShell):
- * DumpRenderTree/chromium/WebViewHost.cpp:
- (WebViewHost::geolocationService):
- * DumpRenderTree/chromium/WebViewHost.h:
-
-2010-05-22 Adam Barth <abarth@webkit.org>
-
- Unreviewed.
-
- Re-order Yong's email addresses because his gmail account is the one he
- uses for bugs.webkit.org.
-
- * Scripts/webkitpy/common/config/committers.py:
-
-2010-05-22 Daniel Bates <dbates@rim.com>
-
- Reviewed by Chris Jerdonek.
-
- Add infrastructure to parse SVN property changes
- https://bugs.webkit.org/show_bug.cgi?id=38885
-
- Adds function VCSUtils::parseSvnDiffFooter to parse an SVN footer
- that consists of one or more properties.
-
- Note, the first line of an SVN footer begins with "Property changes on".
-
- * Scripts/VCSUtils.pm:
- - Added function parseSvnDiffFooter. Will use this function
- towards resolving Bug #39409 <https://bugs.webkit.org/show_bug.cgi?id=39409>.
- - Removed FIXME comment above function parseSvnProperty, since
- it is being used by parseSvnDiffFooter.
- * Scripts/webkitperl/VCSUtils_unittest/parseSvnDiffFooter.pl: Added.
- - Added unit tests.
-
-2010-05-22 Eric Seidel <eric@webkit.org>
-
- Unreviewed, fixing test results only.
-
- Disable compositing tests on the commit-queue as a workaround for bug 38912
- https://bugs.webkit.org/show_bug.cgi?id=39067
-
- * Scripts/webkitpy/tool/steps/steps_unittest.py:
- - Update test results after my previous change.
-
-2010-05-22 Eric Seidel <eric@webkit.org>
-
- Unreviewed.
-
- Disable compositing tests on the commit-queue as a workaround for bug 38912
- https://bugs.webkit.org/show_bug.cgi?id=39067
-
- * Scripts/webkitpy/tool/steps/runtests.py:
- - Disable all of compositing, not just compositing/iframes
-
-2010-05-22 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [DRT/Chromium] Link resources and load Ahem font for Windows
- https://bugs.webkit.org/show_bug.cgi?id=39473
-
- * DumpRenderTree/chromium/DumpRenderTree.cpp:
- (main): Call platformInit().
- * DumpRenderTree/chromium/TestShell.h:
- Declare platformInit(). It is not related to TestShell class, but the
- implementation of paltformInit() is placed at TestShell*.{cpp,mm}.
- * DumpRenderTree/chromium/TestShellGtk.cpp:
- (platformInit):
- * DumpRenderTree/chromium/TestShellMac.mm:
- (platformInit):
- * DumpRenderTree/chromium/TestShellWin.cpp:
- (platformInit):
- - Make stdout/stderr binary mode
- - Load Ahem font
-
-2010-05-21 Eric Seidel <eric@webkit.org>
-
- Unreviewed, EWS build fix only.
-
- QueueStatusServer returns 500 error when EWS bots post empty queues
- https://bugs.webkit.org/show_bug.cgi?id=39523
-
- Mac python seems to have some built-in timezone support
- however other python installs don't. So we need to ignore
- timezones in our parsing.
-
- Date parsing is tested by existing unit tests.
-
- * QueueStatusServer/handlers/updateworkitems.py:
- - Fix typo causing exception on server.
- * Scripts/webkitpy/common/net/bugzilla.py:
- - Fix exception due to python's lack of timezone support.
-
-2010-05-21 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- QueueStatusServer returns 500 error when EWS bots post empty queues
- https://bugs.webkit.org/show_bug.cgi?id=39523
-
- updateworkitems handler was raising an exception because
- int() couldn't convert "" to a number.
-
- I attempted to unit test this but we don't yet have a system by
- which to load unit tests for appengine classes which depend on
- google.appengine libraries which are not in the python default install.
-
- We'll need to write a wrapper script to load those into the python path
- and then run the unit test files.
-
- * QueueStatusServer/handlers/statusbubble.py:
- - Hide cr-win-ews since we're not currently running this bot.
- * QueueStatusServer/handlers/updateworkitems.py:
- - Fix the parsing logic to be able to understand "".
- * Scripts/webkitpy/common/net/statusserver.py:
- - Only log the work items posted to the server to the debug log channel.
-
-2010-05-21 Eric Seidel <eric@webkit.org>
-
- Unreviewed, fixing the commit-queue to run again.
-
- Make the EWSes report queue position in white bubbles
- https://bugs.webkit.org/show_bug.cgi?id=39519
-
- * Scripts/webkitpy/common/net/statusserver.py:
- - Fix exception in _post_work_items_to_server when passed
- integers. Unfortunately we have no good way to mock
- the Browser object yet, and after several attempts I was
- not able to create a good one, so no tests. :(
-
-2010-05-14 Ojan Vafai <ojan@chromium.org>
-
- Reviewed by Eric Seidel.
-
- webkit-patch land --squash commits too much if branch is not up to date
- https://bugs.webkit.org/show_bug.cgi?id=38852
-
- * Scripts/webkitpy/common/checkout/scm.py:
- * Scripts/webkitpy/common/checkout/scm_unittest.py:
-
-2010-05-21 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Make the EWSes report queue position in white bubbles
- https://bugs.webkit.org/show_bug.cgi?id=39519
-
- This also fixes sorting of commit-queue patches
- to be in order of patch attachment.
- https://bugs.webkit.org/show_bug.cgi?id=33395
-
- This makes the various Queues post what patches they are about to process
- so that we can display a list of patches on status server pages, as well
- as report queue position in status bubbles.
-
- This is the first step towards creating a control-channel for the queues.
- Next step will be to have them read back the patches in order from the server
- and finally we will add the ability for the server to control that order.
-
- * Scripts/webkitpy/common/net/bugzilla.py:
- - Teach bugzilla how to parse attach_date for attachments.
- * Scripts/webkitpy/common/net/bugzilla_unittest.py:
- - Test that we're parsing dates correctly.
- This may have timezone issues for non-PST contributers, unsure.
- * Scripts/webkitpy/common/net/statusserver.py:
- - Post work items to the status server for display.
- * Scripts/webkitpy/tool/bot/patchcollection.py:
- - Call StatusServer.update_work_items
- * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
- - Update unit test results now that we're posting work item list.
- * Scripts/webkitpy/tool/commands/queues.py:
- - Call StatusSever.update_work_items
- - Sort patches so that the server's list understands
- that the commit-queue gives priority to rollout patches.
- - I also fixed patch sorting per bug 33395 while I was here.
- * Scripts/webkitpy/tool/commands/queues_unittest.py:
- - Update results after update_work_items changes.
- - Test attachment sorting.
- * Scripts/webkitpy/tool/mocktool.py:
- - Add mock for update_work_items
-
-2010-05-21 Robin Cao <robin.cao@torchmobile.com.cn>
-
- Reviewed by Adam Roben.
-
- fast/dom/HTMLObjectElement/children-changed.html times out on Windows run-webkit-tests
- https://bugs.webkit.org/show_bug.cgi?id=31315
-
- * DumpRenderTree/win/FrameLoadDelegate.cpp:
- (FrameLoadDelegate::didFailProvisionalLoadWithError): Need to invoke locationChangeDone here as mac port does.
-
-2010-05-20 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Dan Bernstein.
-
- <rdar://problem/7848154> Remove the dependency on Foundation's private __COCOA_FORMAL_PROTOCOLS_2__ define.
-
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
-
-2010-05-20 Tony Gentilcore <tonyg@chromium.org>
-
- Reviewed by Daniel Bates.
-
- Look in /proc/registry64 for the Platform SDK on 64-bit Windows.
- https://bugs.webkit.org/show_bug.cgi?id=39296
-
- The build-webkit script failed for me on Vista 64. A web search turned
- up this blog post with a patch that worked for me:
- http://www.nicholaswilson.me.uk/2010/04/hacking-webkit-fail/
-
- * Scripts/webkitdirs.pm:
-
-2010-05-20 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- ThreadedMessageQueue should use with_statement for exception safety
- https://bugs.webkit.org/show_bug.cgi?id=39233
-
- * Scripts/webkitpy/common/thread/threadedmessagequeue.py:
-
-2010-05-20 Diego Gonzalez <diegohcg@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] QtTestBrowser does not support websites which requires HTTP Authentication via dialogs
- https://bugs.webkit.org/show_bug.cgi?id=38456
-
- * QtTestBrowser/webpage.cpp:
- (WebPage::WebPage):
- (WebPage::authenticationRequired):
- * QtTestBrowser/webpage.h:
-
-2010-05-20 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Eric Seidel.
-
- editingBehavior settings needs to be set back to a reasonable default between tests
- https://bugs.webkit.org/show_bug.cgi?id=39433
-
- For now, hard code the default setting during reset, so that the serialized
- version of the setting stays in sync with expectations.
-
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (resetDefaultsToConsistentValues): Reset editing behavior to the appropriate platform default.
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (resetDefaultsToConsistentValues): Ditto.
-
-2010-05-20 Brent Fulgham <bfulgham@webkit.org>
-
- Build fix. No review.
-
- The WebKitAPITest targets do not use the "_debug" suffix needed
- by the WinCairo port. Added Debug_Cairo target to correct this.
-
- * WebKitAPITest/WebKitAPITest.vcproj:
-
-2010-05-20 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Ojan Vafai.
-
- editing/selection/extend-selection-after-double-click.html crashes on the Leopard Intel release bot
- https://bugs.webkit.org/show_bug.cgi?id=39431
-
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (LayoutTestController::setEditingBehavior):
- Prevent a double-free by not having this variable be in the auto-release pool.
-
-2010-05-20 Martin Robinson <mrobinson@webkit.org>
-
- Reviewed by Ojan Vafai.
-
- Expose the editing behavior setting in DRT to test all editing code paths
- https://bugs.webkit.org/show_bug.cgi?id=38603
-
- * DumpRenderTree/LayoutTestController.cpp:
- (setEditingBehaviorCallback): Added.
- (LayoutTestController::staticFunctions): Expose the setEditingBehaviorCallback function.
- * DumpRenderTree/LayoutTestController.h:
- * DumpRenderTree/chromium/LayoutTestController.cpp: Add callback method for setting editing behavior.
- * DumpRenderTree/chromium/LayoutTestController.h: Declaration for this method.
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::setEditingBehavior): Implementation of editing behavior control.
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (LayoutTestController::setEditingBehavior): Ditto
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::setEditingBehavior): Added stub implementation of editing behavior control.
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
- (LayoutTestController::setEditingBehavior): Add slot for controlling editor behavior.
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::setEditingBehavior): Implementation of editing behavior control.
- * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
- (LayoutTestController::setEditingBehavior): Added stub implementation of editing behavior control.
-
-2010-05-20 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Eric Seidel.
-
- [DRT/Chromium] Increase the time out value
- https://bugs.webkit.org/show_bug.cgi?id=39203
-
- Change the time out value of Chromium DRT to 30 seconds, which is
- the same as other ports.
- If a DRT process exits before new-run-webkit-tests detects time
- out, new-run-webkit-tests assumes the DRT process crashed.
-
- * DumpRenderTree/chromium/TestShell.cpp:
- (TestShell::layoutTestTimeout):
- Change the time out value from 10 seconds to 30 seconds.
-
-2010-05-20 Chris Evans <cevans@google.com>
-
- Unreviewed.
-
- Marking myself as a committer.
-
- * Scripts/webkitpy/common/config/committers.py: Add cevans@google.com.
-
-2010-05-20 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Tor Arne Vestbo.
-
- [Qt] Weekly binary builds on Mac OS X don't work when launched in the Finder
- https://bugs.webkit.org/show_bug.cgi?id=37273
-
- * QtTestBrowser/QtTestBrowser.pro: Build QtLauncher as bundle in package builds
-
-2010-05-20 Fumitoshi Ukai <ukai@chromium.org>
-
- Unreviewed fix for websocket test failures.
-
- * Scripts/new-run-webkit-websocketserver:
- options is named parameter for factory.get().
-
-2010-05-20 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by Shinichiro Hamaji.
-
- Chromium: Add --chromium option to new-run-webkit-websocketserver
- https://bugs.webkit.org/show_bug.cgi?id=37664
-
- Missed to pass options to factory.get() in r59595
-
- * Scripts/new-run-webkit-websocketserver:
- Pass options to factory.get().
-
-2010-05-19 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Roben.
-
- WinEWS should build Debug instead of Release
- https://bugs.webkit.org/show_bug.cgi?id=39242
-
- This is a workaround for
- https://bugs.webkit.org/show_bug.cgi?id=39197
- Adam Roben and Brian Weinstein believe this may
- also make building faster since Debug builds
- take less time to link.
-
- * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
-
-2010-05-19 Dirk Pranke <dpranke@chromium.org>
-
- Unreviewed, build fix.
-
- * DumpRenderTree/chromium/NotificationPresenter.cpp:
- (NotificationPresenter::show):
-
-2010-05-19 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- user.py throws exception when readline module is missing
- https://bugs.webkit.org/show_bug.cgi?id=39239
-
- * Scripts/webkitpy/common/system/user.py:
- - The error handling path requires the "sys" module,
- so added an import sys at the top of the file.
-
-2010-05-18 Kent Tamura <tkent@chromium.org>
+2010-05-31 Kent Tamura <tkent@chromium.org>
Reviewed by Dimitri Glazkov.
- [DRT/Chromium] Fix a repaint issue and textarea tests
- https://bugs.webkit.org/show_bug.cgi?id=39054
-
- * DumpRenderTree/chromium/WebViewHost.cpp:
- (WebViewHost::canvas): Remove m_paintRect initialization in canvas().
- This line updated m_paintRect unexpectedly during paintRect().
- We don't need to initialize m_paintRect because show() does it.
-
-2010-05-18 Tony Chang <tony@chromium.org>
-
- Reviewed by Kent Tamura.
-
- [chromium] new-run-webkit-tests --use-drt should run on Linux
- https://bugs.webkit.org/show_bug.cgi?id=37845
-
- * Scripts/webkitpy/layout_tests/port/chromium.py:
- * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
- * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
- * Scripts/webkitpy/layout_tests/port/chromium_unittest.py:
- * Scripts/webkitpy/layout_tests/port/chromium_win.py:
-
-2010-05-18 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Dimitri Glazkov.
+ [DRT/Chromium] Fix crash of a test after another test with multiple windows
+ https://bugs.webkit.org/show_bug.cgi?id=39942
- [DRT/Chromium] Fix some initialization/reset issues
- https://bugs.webkit.org/show_bug.cgi?id=39281
+ If a test opens multiple windows, focuses on non-main window, and
+ the focused window is closed, TestShell::m_focusedWidget points a
+ deleted object.
- * DumpRenderTree/chromium/LayoutTestController.cpp:
- (LayoutTestController::reset): Reset m_userStyleSheetLocation.
- * DumpRenderTree/chromium/LayoutTestController.h:
- Remove unused variable, m_workQueueFrozen.
- (LayoutTestController::WorkQueue::WorkQueue): Initialize m_frozen.
* DumpRenderTree/chromium/TestShell.cpp:
- (TestShell::resetTestController): Reset WebSettings too.
-
-2010-05-18 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Ojan Vafai.
-
- new-run-webkit-tests: implement '--reset-results' flag to complement
- the '--new-baseline' flag. '--new-baseline' will always write the
- results into the platform directory; '--reset-results' will update the
- existing baseline wherever it happens to be. Both sets of behavior
- are useful in different circumstances.
-
- https://bugs.webkit.org/show_bug.cgi?id=38879
-
- * Scripts/webkitpy/layout_tests/data/image/canvas-bg.html: Added.
- * Scripts/webkitpy/layout_tests/data/image/canvas-zoom-expected.checksum: Added.
- * Scripts/webkitpy/layout_tests/data/image/canvas-zoom-expected.png: Added.
- * Scripts/webkitpy/layout_tests/data/image/canvas-zoom-expected.txt: Added.
- * Scripts/webkitpy/layout_tests/data/image/canvas-zoom.html: Added.
- * Scripts/webkitpy/layout_tests/data/misc/crash-expected.txt: Added.
- * Scripts/webkitpy/layout_tests/data/misc/crash.html: Added.
- * Scripts/webkitpy/layout_tests/data/misc/missing-expectation.html: Added.
- * Scripts/webkitpy/layout_tests/data/misc/passing-expected.txt: Added.
- * Scripts/webkitpy/layout_tests/data/misc/passing.html: Added.
- * Scripts/webkitpy/layout_tests/data/platform/test/image/canvas-bg-expected.checksum: Added.
- * Scripts/webkitpy/layout_tests/data/platform/test/image/canvas-bg-expected.png: Added.
- * Scripts/webkitpy/layout_tests/data/platform/test/image/canvas-bg-expected.txt: Added.
- * Scripts/webkitpy/layout_tests/data/platform/test/test_expectations.txt: Added.
- * Scripts/webkitpy/layout_tests/data/text/article-element-expected.txt: Added.
- * Scripts/webkitpy/layout_tests/data/text/article-element.html: Added.
- * Scripts/webkitpy/layout_tests/layout_package/test_expectations_unittest.py:
- * Scripts/webkitpy/layout_tests/port/test.py:
- * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py:
- * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py:
- * Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py:
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
- * Scripts/webkitpy/layout_tests/test_types/image_diff.py:
- * Scripts/webkitpy/layout_tests/test_types/test_type_base.py:
- * Scripts/webkitpy/layout_tests/test_types/text_diff.py:
- * Scripts/webkitpy/layout_tests/port/test.py:
- * Scripts/webkitpy/layout_tests/port/dryrun.py:
-
-2010-05-18 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Roben.
-
- Add an --html5-parser option to DumpRenderTree to allow testing the new HTML5Lexer
- https://bugs.webkit.org/show_bug.cgi?id=39311
-
- This flag allows us to run the new HTML5Lexer code.
- Right now all documents parse as empty documents, but
- now that we're able to run the code we can fix that.
-
- Once we're able to lex a few basic documents I'll add
- an --html5-parser flag to run-webkit-tests so that we test
- running all of the layout tests with the HTML5 parser.
-
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (resetDefaultsToConsistentValues):
- (initializeGlobalsFromCommandLineOptions):
-
-2010-05-08 Robert Hogan <robert@roberthogan.net>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix http/tests/xmlhttprequest/cross-origin-no-authorization.html
- and http/tests/xmlhttprequest/cross-origin-authorization.html
-
- QHttpNetworkRequest adds Authorization and Cookie headers to XHRs
- without knowing if this is valid behaviour or not. In order to allow
- Qt to decide whether Cookie/Authorization headers should be added
- to an XHR QtWebKit needs to use an attribute added to QNetworkRequest.
- These new attributes are: QNetworkRequest::CookieLoadControlAttribute,
- QNetworkRequest::CookieSaveControlAttribute,and
- QNetworkRequest::AuthenticationReuseControlAttribute.
-
- In order to properly support the tests, Qt's DRT needs to use one
- NetworkAccessManager for all pages. This allows it to use cached
- credentials where appropriate.
-
- The tests now pass when run individually but there seems to be a problem with
- leaking the results of requests across tests when run with the others in
- http/tests. This will be addressed in a separate patch.
-
- https://bugs.webkit.org/show_bug.cgi?id=32967
-
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::WebPage::WebPage):
- (WebCore::DumpRenderTree::DumpRenderTree):
- * DumpRenderTree/qt/DumpRenderTreeQt.h:
-
-
-2010-05-18 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by Eric Seidel.
-
- run_webkit_tests_unittest fails on SnowLeopard
- https://bugs.webkit.org/show_bug.cgi?id=39279
-
- * Scripts/webkitpy/layout_tests/port/base.py:
- Return copy of os.environ.
- * Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py:
- Check os.environ was not modified.
-
-2010-05-18 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Chromium: new-run-webkit-httpd fails to setup_mount
- https://bugs.webkit.org/show_bug.cgi?id=39257
-
- * Scripts/webkitpy/common/system/executive.py:
- Assert type of args in run_command.
- * Scripts/webkitpy/common/system/executive_unittest.py:
- Add test_run_command_args_type
- * Scripts/webkitpy/layout_tests/port/chromium_win.py:
- Executive.run_command takes array for command line.
- * Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py:
- Test if setup_environ_for_server() run setup_mount.bat.
-
-2010-05-17 Kent Tamura <tkent@chromium.org>
-
- Reviewed by David Levin.
-
- Chromium Windows build system does not rebuild correctly when
- enabling/disabling a feature
- https://bugs.webkit.org/show_bug.cgi?id=38926
-
- Add a workaround of this issue.
-
- * Scripts/update-webkit:
- Chromium-Windows only: If WebKit/chromium/features.gyp has been
- updated, remove WebKit/chromium/Debug and WebKit/chromium/Release.
-
-2010-05-17 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r59631.
- http://trac.webkit.org/changeset/59631
- https://bugs.webkit.org/show_bug.cgi?id=39255
-
- chromium canaries can no longer run webkit_tests, suspect this
- change. (Requested by atwilson on #webkit).
-
- * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py:
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
- * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py:
-
-2010-05-17 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Attempt to make new-run-webkit-tests --help more sane
- https://bugs.webkit.org/show_bug.cgi?id=37836
-
- * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py:
- - Add a FIXME about options.singly and options.batch_size being different.
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
- - Add support for hidden options.
- - Add option groupings to attempt to simplify --help.
- - Fix a bunch of option helps to start with a capitalized verb.
- - Hide a bunch of options which make no sense to users.
- - Sort options in --help.
- * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py:
- - Add tests for option sorting.
-
-2010-05-17 Robert Hogan <robert@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Disable Icon Database by default in Qt DRT
-
- Unskip:
- http/tests/misc/favicon-loads-with-images-disabled.html
- http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body.html
- http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny.html
- http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag.html
-
- https://bugs.webkit.org/show_bug.cgi?id=37382
-
- Add support for layoutTestController.setIconDatabaseEnabled and layoutTestController.disableImageLoading().
- The XFrameOptions tests were failing because of an extra resource load callback for favicon.ico requests.
- These extra callbacks are removed by supporting both of the above layoutTestContoller commands.
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::WebPage::resetSettings):
- (WebCore::DumpRenderTree::DumpRenderTree):
- * DumpRenderTree/qt/DumpRenderTreeQt.h:
- (WebCore::DumpRenderTree::drtStoragePath):
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::reset):
- (LayoutTestController::disableImageLoading):
- (LayoutTestController::setIconDatabaseEnabled):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
-
-2010-05-17 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Chromium: Add --chromium option to new-run-webkit-websocketserver
- https://bugs.webkit.org/show_bug.cgi?id=37664
-
- os.environ setup and setup_mount for cygwin are moved in ChromiumWinPort.setup_environ_for_server.
-
- * Scripts/new-run-webkit-httpd:
- Remove passing register_cygwin.
- * Scripts/new-run-webkit-websocketserver:
- Add --chromium flag.
- Remove passing register_cygwin.
- Create port object using options.
- * Scripts/webkitpy/layout_tests/port/base.py:
- Add setup_environ_for_server().
- * Scripts/webkitpy/layout_tests/port/chromium_win.py:
- Ditto.
- * Scripts/webkitpy/layout_tests/port/factory_unittest.py: Added.
- * Scripts/webkitpy/layout_tests/port/http_server.py:
- Remove register_cygwin_parameter.
- Call setup_environ_for_server().
- * Scripts/webkitpy/layout_tests/port/websocket_server.py:
- Ditto.
-
-2010-05-16 Daniel Bates <dbates@rim.com>
-
- Reviewed by Chris Jerdonek.
-
- https://bugs.webkit.org/show_bug.cgi?id=39184
-
- Adds function VCSUtils::parseSvnProperty to parse an SVN property with
- either a single-line or multi-line value change.
-
- * Scripts/VCSUtils.pm:
- - Added function parseSvnProperty. We will use this function
- towards resolving Bug #38885 <https://bugs.webkit.org/show_bug.cgi?id=38885>.
- - Removed FIXME comment above function parseSvnPropertyValue, since
- it is being used by parseSvnProperty.
- - Modified function parseSvnPropertyValue to break out of "while (<$fileHandle>)"
- loop when it encounters the start of the next property so that it can be
- processed by its caller, parseSvnPropertyValue. We reference this bullet below
- by (*).
- * Scripts/webkitperl/VCSUtils_unittest/parseSvnProperty.pl: Added.
- - Added unit tests.
- * Scripts/webkitperl/VCSUtils_unittest/parseSvnPropertyValue.pl:
- - Changed the name of the unit test "simple multi-line '-' change" to
- "single-line '-' change followed by empty line" since the former was an
- incorrect description of this test.
- - Added unit test "single-line '-' change followed by the next property", and
- "multi-line '-' change followed by the next property" to test (*) above.
-
-2010-05-16 Tony Chang <tony@chromium.org>
-
- Not reviewed, fixing layout test.
-
- Don't output Inspect Element since this is not enabled on the bots,
- but most developers probably have it installed.
-
- * DumpRenderTree/mac/EventSendingController.mm:
- (-[EventSendingController contextClick:]):
+ (TestShell::closeWindow): Clear m_focusedWidget.
-2010-05-12 Tony Chang <tony@chromium.org>
-
- Reviewed by Darin Adler.
-
- Spellcheck disabling does not disable context menu
- https://bugs.webkit.org/show_bug.cgi?id=25639
-
- * DumpRenderTree/mac/EventSendingController.mm:
- (+[EventSendingController isSelectorExcludedFromWebScript:]):
- (+[EventSendingController webScriptNameForSelector:]):
- (-[EventSendingController contextClick:]): add a bool parameter that
- when true, dumps the context menu items to stdout.
-
-2010-05-16 Robert Hogan <robert@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Unskip fast/loader/main-document-url-for-non-http-loads.html
-
- Update Qt DRT to use frame loader, editor client and notification presenter
- functions in DumpRenderTreeSupportQt.
-
- https://bugs.webkit.org/show_bug.cgi?id=38867
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::DumpRenderTree::open):
- (WebCore::DumpRenderTree::dump):
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::LayoutTestController):
- (LayoutTestController::reset):
- (LayoutTestController::dumpEditingCallbacks):
- (LayoutTestController::dumpFrameLoadCallbacks):
- (LayoutTestController::dumpResourceLoadCallbacks):
- (LayoutTestController::setWillSendRequestReturnsNullOnRedirect):
- (LayoutTestController::setWillSendRequestReturnsNull):
- (LayoutTestController::setWillSendRequestClearHeader):
-
-2010-05-16 Eric Seidel <eric@webkit.org>
-
- Unreviewed, rolling out r59571.
- http://trac.webkit.org/changeset/59571
- https://bugs.webkit.org/show_bug.cgi?id=39054
-
- Broke Cr Win, but we didn't notice immediately due to
- https://bugs.webkit.org/show_bug.cgi?id=38926. It's possible
- that this didn't actually break Cr Win, but rather that bug
- 38926 necessitates a clean compile after this and sucessive
- checkins only produced a partial recompile and thus failed to
- build.
-
- * DumpRenderTree/chromium/WebViewHost.cpp:
- (WebViewHost::canvas):
-
-2010-05-16 Robert Hogan <robert@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt]Unskip security/set-form-autocomplete-attribute.html
-
- Add support for layoutTestController.elementDoesAutoCompleteForElementWithId().
-
- https://bugs.webkit.org/show_bug.cgi?id=38859
-
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::elementDoesAutoCompleteForElementWithId):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
-
-2010-05-16 Kent Tamura <tkent@chromium.org>
+2010-05-30 Kent Tamura <tkent@chromium.org>
Reviewed by Dimitri Glazkov.
- [DRT/Chromium] Fix repaint, WebGL, textarea tests
- https://bugs.webkit.org/show_bug.cgi?id=39054
-
- * DumpRenderTree/chromium/WebViewHost.cpp:
- (WebViewHost::canvas): Remove m_paintRect initialization in canvas().
- This line updated m_paintRect unexpectedly during paintRect().
- We don't need to initialize m_paintRect because show() does it.
-
-2010-05-16 Sergio Villar Senin <svillar@igalia.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GTK] Improve reporting of frame loader callbacks in DRT
- https://bugs.webkit.org/show_bug.cgi?id=36454
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (webViewLoadStatusNotified):
- (createWebView): added connection to notify::load-status and
- signal callback
-
-2010-05-15 Daniel Bates <dbates@rim.com>
-
- Reviewed by Chris Jerdonek.
-
- https://bugs.webkit.org/show_bug.cgi?id=39170
-
- Add function parseSvnPropertyValue to parse single-line and multi-line
- property values of an SVN property change.
-
- * Scripts/VCSUtils.pm:
- Added function parseSvnPropertyValue. We will use this as part of
- Bug #38885 <https://bugs.webkit.org/show_bug.cgi?id=38885>.
- * Scripts/webkitperl/VCSUtils_unittest/parseSvnPropertyValue.pl: Added.
-
-2010-05-15 Jochen Eisinger <jochen@chromium.org>
-
- Reviewed by Dmitry Titov.
-
- Add allowDatabase method to TestWebWorker.
- https://bugs.webkit.org/show_bug.cgi?id=38742
-
- * DumpRenderTree/chromium/TestWebWorker.h:
- (TestWebWorker::allowDatabase):
-
-2010-05-15 Simon Hausmann <simon.hausmann@nokia.com>
-
- Rubber-stamped by Antti Koivisto.
-
- [Qt] Rename QtLauncher to QtTestBrowser
- https://bugs.webkit.org/show_bug.cgi?id=37665
-
- Forgot to remove the original directory after the rename.
-
- * QtLauncher: Removed.
-
-2010-05-15 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r59544.
- http://trac.webkit.org/changeset/59544
- https://bugs.webkit.org/show_bug.cgi?id=39165
-
- Cased LayoutTest to start crashing (Requested by abarth on
- #webkit).
-
- * Scripts/old-run-webkit-tests:
-
-2010-05-15 Mario Sanchez Prada <msanchez@igalia.com>
-
- Reviewed by Xan Lopez.
-
- Ensure DRT loads GAIL (Gtk+ module), for a11y tests
- https://bugs.webkit.org/show_bug.cgi?id=38648
-
- Add the GTK_MODULES envvar (set to "gail") to the clean
- environment when running DRT for the Gtk+ port
-
- * Scripts/old-run-webkit-tests:
-
-2010-05-15 Eric Seidel <eric@webkit.org>
-
- Reviewed by Maciej Stachowiak.
-
- Add script to check for minimum python version and install if missing on Tiger
- https://bugs.webkit.org/show_bug.cgi?id=38886
-
- Per Maciej's request on webkit-dev:
- https://lists.webkit.org/pipermail/webkit-dev/2010-May/012785.html
- provide a script which can automatically install Python on Tiger where
- the system provided version is too old to be of use.
-
- Note this uses the official Mac Python installer from python.org.
- This installs a copy of Python in /Library/Frameworks/Python.framework.
- It also makes symlinks from /usr/local/bin to the Python.framework/bin.
-
- I have tested this script on Leopard and it worked fine. I have not
- tested it on Tiger as I do not have access to a Tiger machine. In
- either case this should provide a great starting point for someone
- wishing to upgrade their copy of Python on Tiger.
-
- Future patches can make our scripts depend on a success return from this
- script and then they can either skip tests/sections for which python is
- insufficient, or they can fail themselves.
-
- * Scripts/ensure-valid-python: Added.
-
-2010-05-15 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Display queue position inside EWS bubbles
- https://bugs.webkit.org/show_bug.cgi?id=38979
-
- This ended up being a lot of clean-up to our status server code.
-
- Added a new WorkItems model, a form with which to fill it,
- and taught the Attachment class how to calculate the current queue
- postion for an attachment using the data in WorkItems.
-
- I also finally made statusbubble.* and dashboard.* not use copy-paste code.
-
- The Attachment class has this summary() method which is very
- controller/view-like and does not belong in a model class.
- This patch got rid of all direct uses of summary().
-
- * QueueStatusServer/handlers/dashboard.py:
- - Build row objects to hand off to the view instead of handing off a
- summary object and expecting the view to process it directly.
- * QueueStatusServer/handlers/statusbubble.py:
- - Build bubble object and hand them off to the view.
- * QueueStatusServer/handlers/updatestatus.py:
- - Code cleanup. Just move some code into _queue_status_from_request
- to make the main put() handler easier to read.
- * QueueStatusServer/handlers/updateworkitems.py: Added.
- - Controller to handle storing WorkItems model objects.
- * QueueStatusServer/main.py:
- - Add route for /update-work-items
- * QueueStatusServer/model/attachment.py:
- - Add new methods to replace direct summary() access.
- - Teach attachment how to calculate queue positions from WorkItems data.
- * QueueStatusServer/model/queues.py:
- - Move name_with_underscores here for easier re-use.
- * QueueStatusServer/model/workitems.py: Added.
- - New model for storing what items are currently queue for any bot.
- * QueueStatusServer/templates/dashboard.html:
- - Kill the copy/paste code!
- * QueueStatusServer/templates/statusbubble.html:
- - Kill the copy/paste code!
- * QueueStatusServer/templates/updateworkitems.html: Added.
- - Simple form for updating a queue's current work items.
-
-2010-05-15 Joanmarie Diggs <joanmarie.diggs@gmail.com>
-
- Reviewed by Xan Lopez.
-
- https://bugs.webkit.org/show_bug.cgi?id=30500
- [Gtk] Find a way for WebKit to "announce" itself so that ATs can readily distinguish it from true Gtk/Gail
-
- The "announcement" is now made in the form of an object attribute
- associated with the AtkObject.
-
- * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
- (AccessibilityUIElement::allAttributes):
- (attributeSetToString):
-
-2010-05-15 Mario Sanchez Prada <msanchez@igalia.com>
-
- Reviewed by Xan Lopez.
-
- Accessibility: Implement isSelected in DRT for GTK
- https://bugs.webkit.org/show_bug.cgi?id=31018
-
- Implement AccessibilityUIElement::isSelected() for Gtk
-
- * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
- (AccessibilityUIElement::isSelected):
-
-2010-05-14 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- scm.py should use self.run instead of run_command
- https://bugs.webkit.org/show_bug.cgi?id=38957
-
- We've wanted to do this for a while, but it's a prerequiste for running
- SVN from the cwd instead of the checkout_root.
-
- * Scripts/webkitpy/common/checkout/scm.py:
-
-2010-05-14 Anton Muhin <antonm@chromium.org>
-
- Reviewed by Darin Fisher.
-
- [Chromium] Consider implementing addOriginAccessWhitelistEntry method
- https://bugs.webkit.org/show_bug.cgi?id=37578
-
- Remove deprecated methods.
-
- * DumpRenderTree/chromium/LayoutTestController.cpp
- * DumpRenderTree/chromium/LayoutTestController.h
+ new-run-webkit-tests: Support DRT on Chromium-win
+ https://bugs.webkit.org/show_bug.cgi?id=39810
-2010-05-14 Kenneth Russell <kbr@google.com>
+ Add --test-shell flag to DRT/Chromium, and it changes DRT so that
+ it behaves like test_shell about command analysis, printing
+ format, pixel dumping, and timeout handling.
- Reviewed by Darin Adler.
-
- Rename WebGLArray types to TypedArray types
- https://bugs.webkit.org/show_bug.cgi?id=39091
-
- Extended functionality of do-webcore-rename script and used it to
- rename the WebGLArray types to the TypedArray naming convention.
- The only source files which were touched by hand, and which are
- being manually reviewed, are:
- WebCore/page/DOMWindow.idl
- WebCore/bindings/generic/RuntimeEnabledFeatures.h (script's changes undone)
- WebKit/WebCore/bindings/js/JSDOMWindowCustom.cpp
- WebKit/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp
- These only needed to be touched to update the aliases between the
- WebGLArray and TypedArray names introduced in bug 39036. (It was
- not feasible to have do-webcore-rename handle this as it would
- introduce circular renamings.) These aliases will be removed in
- roughly a month once existing WebGL content has been updated.
-
- No new tests; covered under existing WebGL tests. Updated
- constructed-objects-prototypes and prototype-inheritance-2 tests.
- Ran all layout tests in Safari and all WebGL tests in Chromium.
-
- * Scripts/do-webcore-rename:
- Handle the case where some renames are substrings of others.
- Support renaming files containing custom JS bindings. If
- isDOMTypeRename is non-zero, expand the regexp which rewrites
- the file's contents in order to support custom JS bindings.
-
-2010-05-14 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- webkit-patch rollout throws exception if bug is already open
- https://bugs.webkit.org/show_bug.cgi?id=38803
-
- This was caused by someone incorrectly wrapping the code. :p
- I'm going to have to start demanding unit tests for wrapping changes...
-
- I also fixed the code to be able to reopen bugs which were never confirmed.
- Before it regressed, the code would just log in that case. Now it actually
- will reopen the bug, but there is a FIXME about how the logic is a bit backwards.
-
- * Scripts/webkitpy/common/net/bugzilla.py:
- * Scripts/webkitpy/common/net/bugzilla_unittest.py:
- - Yay testing!
-
-2010-05-14 Simon Hausmann <simon.hausmann@nokia.com>
-
- Rubber-stamped by Antti Koivisto.
-
- [Qt] Rename QtLauncher to QtTestBrowser
-
- * QtTestBrowser: Copied from WebKitTools/QtLauncher.
- * QtTestBrowser/QtLauncher.pro: Removed.
- * QtTestBrowser/QtLauncher.qrc: Removed.
- * QtTestBrowser/QtTestBrowser.pro: Copied from WebKitTools/QtLauncher/QtLauncher.pro.
- * QtTestBrowser/QtTestBrowser.qrc: Copied from WebKitTools/QtLauncher/QtLauncher.qrc.
- * Scripts/run-launcher:
- * Scripts/webkitdirs.pm:
-
-2010-05-14 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Stop CCing webkit-bot-watchers
- https://bugs.webkit.org/show_bug.cgi?id=39020
-
- webkit-bot-watchers is somewhat of a failed experiment. No one
- subscribed to the list (not even me). Removing it from the code
- because wms says it bounces email sometimes.
-
- * Scripts/webkitpy/tool/commands/queues.py:
- * Scripts/webkitpy/tool/commands/sheriffbot_unittest.py:
-
-2010-05-14 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- REGRESSION: webkit-patch commit-message throws exception
- https://bugs.webkit.org/show_bug.cgi?id=38997
-
- * Scripts/webkitpy/tool/commands/upload.py:
- - Fix to respect and pass the --squash and --git-commit options.
- * Scripts/webkitpy/tool/commands/upload_unittest.py:
- - Fix the unit test to use the central MockCheckout instead of
- its own custom Mock which didn't require enough parameters.
-
-2010-05-13 Diego Gonzalez <diegohcg@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Improve QtLauncher user agent dialog resize
- https://bugs.webkit.org/show_bug.cgi?id=39062
-
- * QtLauncher/main.cpp:
- (LauncherWindow::showUserAgentDialog):
-
-2010-05-13 Eric Seidel <eric@webkit.org>
-
- Reviewed by Ojan Vafai.
-
- Disable compositing/iframes tests on the commit-queue as a workaround for bug 38912
- https://bugs.webkit.org/show_bug.cgi?id=39067
-
- Fix yet another typo in my original hack.
- I also added another unit test for this fix.
-
- * Scripts/webkitpy/common/config/ports.py:
- * Scripts/webkitpy/common/config/ports_unittest.py:
-
-2010-05-13 Eric Seidel <eric@webkit.org>
-
- Reviewed by Ojan Vafai.
-
- Disable compositing/iframes tests on the commit-queue as a workaround for bug 38912
- https://bugs.webkit.org/show_bug.cgi?id=39067
-
- My previous (unreviewed) hack didn't actually work due to checking "mac" instead of "Mac".
- This change fixes my hack, and unit tests it.
-
- * Scripts/webkitpy/tool/mocktool.py:
- - Make it possible to make run_command log too.
- * Scripts/webkitpy/tool/steps/runtests.py:
- - Fix my hack to actually work.
- * Scripts/webkitpy/tool/steps/steps_unittest.py:
- - Test my hack (and basic RunTests behavior as well).
-
-2010-05-13 Antonio Gomes <tonikitoo@webkit.org>, Yi Shen <yi.4.shen@nokia.com>
-
- Reviewed by Kenneth Christiansen.
-
- [Qt] Add LayoutTestController interface: computedStyleIncludingVisitedInfo
- https://bugs.webkit.org/show_bug.cgi?id=37759
-
- WebKitTools:
-
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::computedStyleIncludingVisitedInfo):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
-
-2010-05-10 Adam Roben <aroben@apple.com>
-
- Convert status bar text to UTF-8 before logging it on Windows
-
- We were previously logging the text using printf("%S", bstr). This
- converts the UTF-16 BSTR to a multibyte string using wctomb, which
- uses the codepage for the current locale to perform the conversion.
- The conversion was failing, causing printf to bail and truncate the
- string. By converting to UTF-8 manually before logging, we avoid this
- issue (and also end up with UTF-8 output, which is what the expected
- results contain). We may have to do this in other places in DRT,
- eventually.
-
- Fixes <http://webkit.org/b/38849> REGRESSION (r59016):
- plugins/set-status.html fails on Windows
-
- Reviewed by Alexey Proskuryakov.
-
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (toUTF8): Moved this here from FrameLoadDelegate. Renamed from
- BSTRtoString.
-
- * DumpRenderTree/win/DumpRenderTreeWin.h: Added declaration of toUTF8.
-
- * DumpRenderTree/win/FrameLoadDelegate.cpp: Removed BSTRtoString.
- (descriptionSuitableForTestResult): Updated for rename.
-
- * DumpRenderTree/win/UIDelegate.cpp:
- (UIDelegate::setStatusText): Convert the status bar text to UTF-8
- before logging it so that Windows won't try (and fail) to convert it
- to the current locale's codepage.
-
-2010-05-13 Eric Seidel <eric@webkit.org>
-
- Unreviewed hack, attempting to get the commit-queue running again.
-
- Disable compositing/iframes tests on the commit-queue as a workaround for bug 38912
- https://bugs.webkit.org/show_bug.cgi?id=39067
-
- I had this hack locally on the commit-queue, but it's fragile
- and broke this morning. It will work much better if committed
- to the repository. In either case it's temporary while we
- work up a real fix for bug 38912.
-
- * Scripts/webkitpy/common/config/ports.py:
- - Expose an is_leopard() method.
- * Scripts/webkitpy/tool/steps/runtests.py:
- - Don't run compositing/iframes tests on the commit-queue under leopard.
-
-2010-05-13 Fumitoshi Ukai <ukai@chromium.org>
-
- Unreviewed fix. Revert previous change.
-
- Even if with-statments are changed in websocket_server.py, it also claims syntax error for with statement in http_server.py.
- Until python 2.5 is installed on tiger bot, skips websocket/tests on tiger.
-
- * Scripts/webkitpy/layout_tests/port/websocket_server.py: use with statement
-
-2010-05-13 Fumitoshi Ukai <ukai@chromium.org>
-
- Unreviewed fix.
-
- On tiger bot, it claims syntax error for with statement.
-
- * Scripts/webkitpy/layout_tests/port/websocket_server.py: rewrite with statement with try-finally.
-
-2010-05-13 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by David Levin.
-
- WebSocket: pywebsocket 0.5
- https://bugs.webkit.org/show_bug.cgi?id=38034
-
- Remove pywebsocket from webkitpy/thirdparty.
- Make pywebsocket autoinstalled.
-
- * Scripts/new-run-webkit-websocketserver:
- Add --output-dir option.
- * Scripts/old-run-webkit-tests:
- Use new-run-webkit-websocketserver, rather than directly run pywebsocket's standalone.py
- * Scripts/run-webkit-websocketserver:
- Ditto.
- * Scripts/webkitpy/layout_tests/port/websocket_server.py:
- Use autoinstalled pywebsocket.
- * Scripts/webkitpy/thirdparty/__init__.py:
- Autoinstall pywebsocket
- * Scripts/webkitpy/thirdparty/pywebsocket: Removed.
-
-2010-05-12 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Daniel Bates.
-
- Fixed a bug in svn-apply whereby the reviewer would not get set if
- the portion of the patch for the ChangeLog contains "NOBODY (**PS!)"
- in the leading junk.
-
- https://bugs.webkit.org/show_bug.cgi?id=38998
-
- * Scripts/VCSUtils.pm:
- - Added the $changeLogTimeZone variable from svn-apply.
- - Added setChangeLogDateAndReviewer() from svn-apply.
- - Added a localTimeInProjectTimeZone() subroutine.
- - In setChangeLogDateAndReviewer():
- - Added an $epochTime parameter to make the subroutine more testable.
- - Made the "NOBODY (**PS!)" regular expression more specific so that
- it will not apply to text in the leading junk.
- - Updated to call localTimeInProjectTimeZone().
- * Scripts/svn-apply:
- - Removed the $changeLogTimeZone file variable.
- - Added an $epochTime file variable to represent the current time.
- - Removed the setChangeLogDateAndReviewer() subroutine.
- - Updated patch() to use the new setChangeLogDateAndReviewer() syntax.
- * Scripts/webkitperl/VCSUtils_unittest/setChangeLogDateAndReviewer.pl: Added.
- - Added unit tests.
-
-2010-05-12 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- test-webkitpy fails on windows due to lack of readline module
- https://bugs.webkit.org/show_bug.cgi?id=38884
-
- Win32 Python does not have a readline module, so we should
- not exit(1) if the import fails.
-
- Also the failure message is mac-specific and doesn't need to be.
- Only print the mac-specific install instructions on mac.
-
- * Scripts/webkitpy/common/system/user.py:
-
-2010-05-12 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Nate Chapin.
-
- [DRT/Chromium] Add a missing Sans-serif font setting
- https://bugs.webkit.org/show_bug.cgi?id=38981
-
- * DumpRenderTree/chromium/TestShell.cpp:
- (TestShell::resetWebSettings):
- Set "Helvetica" for Sans-serif. It is the same as the default setting of test_shell.
-
-2010-05-10 Ojan Vafai <ojan@chromium.org>
-
- Reviewed by Adam Barth.
-
- webkit-patch upload --fancy-review now uses the bugzilla bug ID as the rietveld ID
- https://bugs.webkit.org/show_bug.cgi?id=38866
-
- wkrietveld.appspot.com has already been updated to allow you to
- pass --issue for the issue creation as well as subsequent uploads.
-
- Also, remove the extra code for trying to read out the issue ID
- from the changelog description since we just use the bugzilla ID now.
-
- * Scripts/webkitpy/common/config/__init__.py:
- * Scripts/webkitpy/common/net/rietveld.py:
- * Scripts/webkitpy/tool/steps/postcodereview.py:
- * Scripts/webkitpy/tool/steps/postdiff.py:
-
-2010-05-12 Ojan Vafai <ojan@chromium.org>
-
- No review needed.
-
- Marking myself as a reviewer.
-
- * Scripts/webkitpy/common/config/committers.py:
-
-2010-05-12 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Eric Seidel.
-
- new-run-webkit-tests: add a --print default option so that you can
- easily get the default output plus something (e.g., you can say
- '--print default,config' instead of '--print misc,one-line-progress,
- one-line-summary,unexpected,unexpected-results,updates,config'.
-
- Also, add more unit tests for --verbose, --print everything, etc.
-
- https://bugs.webkit.org/show_bug.cgi?id=38877
-
- * Scripts/webkitpy/layout_tests/layout_package/printing.py:
- * Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py:
-
-2010-05-12 Csaba Osztrogonác <ossy@webkit.org>
-
- Reviewed by Adam Barth.
-
- Qt build failures cause SheriffBot false positives
- https://bugs.webkit.org/show_bug.cgi?id=38969
-
- Add Qt bots back to the core builders, because bug fixed by r59261.
-
- * Scripts/webkitpy/common/net/buildbot.py:
- * Scripts/webkitpy/common/net/buildbot_unittest.py:
-
-2010-05-12 Csaba Osztrogonác <ossy@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Slave losts cause build break on bots
- https://bugs.webkit.org/show_bug.cgi?id=38980
-
- * Scripts/build-webkit: Remove 0 byte sized files from productDir before build.
-
-2010-05-12 Csaba Osztrogonác <ossy@webkit.org>
-
- Unreviewed trivial fix after r59254.
-
- * Scripts/old-run-webkit-tests:
-
-2010-05-12 Csaba Osztrogonác <ossy@webkit.org>
-
- Reviewed by Eric Seidel.
-
- run-webkit-tests --exit-after-N-failures should not count new tests as failures
- https://bugs.webkit.org/show_bug.cgi?id=31829
-
- * Scripts/old-run-webkit-tests:
-
-2010-05-12 James Robinson <jamesr@chromium.org>
-
- Reviewed by Simon Fraser.
-
- Disable smooth scrolling on OS X when running tests
- https://bugs.webkit.org/show_bug.cgi?id=38964
-
- Some tests (like fast/repaint/fixed-move-after-keyboard-scroll.html)
- depend on smooth scrolling behavior. Since this is off by default
- in Leopard and on by default in Snow Leopard, DRT should turn it
- off always to ensure a consistent test environment.
-
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (resetDefaultsToConsistentValues):
-
-2010-05-10 Rodrigo Belem <rodrigo.belem@openbossa.org>
-
- Reviewed by Kenneth Christiansen , Simon Hausmann and Gustavo Noronha.
-
- [Qt, Gtk] Allows build-webkit script to receive an install prefix as parameter
- https://bugs.webkit.org/show_bug.cgi?id=26224
-
- Added more parameters to build-webkit script, the --prefix for gkt
- and --install-libs, --install-headers for qt. Now it is possible
- to change the install prefix for gtk and install path for qt.
-
- * Scripts/build-webkit:
- * Scripts/webkitdirs.pm:
-
-2010-05-12 Philippe Normand <pnormand@igalia.com>
-
- Unreviewed, added my IRC nickname.
-
- * Scripts/webkitpy/common/config/committers.py:
-
-2010-05-11 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Fixed two FIXME's in svn-apply: eliminated the unnecessary %copiedFiles
- variable and changed gitKnowsOfFile() to use exitStatus().
-
- https://bugs.webkit.org/show_bug.cgi?id=38862
-
- * Scripts/svn-apply:
-
-2010-05-11 Eric Seidel <eric@webkit.org>
-
- Unreviewed, just fixing python typo.
-
- EWS bots should poll more often than every 5 minutes
- https://bugs.webkit.org/show_bug.cgi?id=38968
-
- Typo in _now(), add a unittest to prove I fixed it.
-
- * Scripts/webkitpy/tool/bot/queueengine.py:
- * Scripts/webkitpy/tool/bot/queueengine_unittest.py:
-
-2010-05-11 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Qt build failures cause SheriffBot false positives
- https://bugs.webkit.org/show_bug.cgi?id=38969
-
- The Qt buildbot randomly fails to compile occasionally because its
- network connection causes SVn to leave zero-byte files around. These
- compile failures confuse SheriffBot into thinking someone's patch
- caused a build break.
-
- In this patch, I've temporarily removed Qt from the list of core
- builders. Ossy is working on a script to clean up the zero byte files.
- Once that goes in, we can add Qt back to the core builders.
-
- * Scripts/webkitpy/common/net/buildbot.py:
- * Scripts/webkitpy/common/net/buildbot_unittest.py:
-
-2010-05-11 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- sheriffbot is spammy.
- https://bugs.webkit.org/show_bug.cgi?id=38936
-
- Reduce sheriffbot spam by not warning about new blameworthy revisions
- that can be explained by previously blamed revisions. This might cause
- us to not warn about some real failures, but we're getting too much
- spam from slow builders that have large blamelists (and we've already
- poked the responsible folks using data from a fast builder).
-
- * Scripts/webkitpy/tool/bot/sheriff_unittest.py:
- - Removed unneeded import
- * Scripts/webkitpy/tool/commands/sheriffbot.py:
- - The logic change
- * Scripts/webkitpy/tool/commands/sheriffbot_unittest.py:
- - Tests of the change
- * Scripts/webkitpy/tool/mocktool.py:
- - Merged two declarations of MockBuilder
-
-2010-05-11 Tony Chang <tony@chromium.org>
-
- Reviewed by David Levin.
-
- [chromium] detect num processors to pass to make -j on Linux
- https://bugs.webkit.org/show_bug.cgi?id=38833
-
- * Scripts/webkitdirs.pm:
-
-2010-05-11 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- EWS bots should poll more often than every 5 minutes
- https://bugs.webkit.org/show_bug.cgi?id=38968
-
- We'll make them poll every 2 minutes to start with.
- I'm going to re-write how polling works soon, so this is
- a stop-gap to try and make the bots more responsive.
-
- If Bill notices any additional load on bugzilla we'll drop
- the polling frequency back to 5 minutes. He's historically said
- that the EWS bots appear to be a drop in the bucket and thus
- should be able to poll much more frequently w/o causing trouble.
-
- * Scripts/webkitpy/tool/bot/queueengine.py:
- * Scripts/webkitpy/tool/bot/queueengine_unittest.py:
- - Add a test for sleep_message
-
-2010-05-11 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- commit-queue should commit rollouts without running tests
- https://bugs.webkit.org/show_bug.cgi?id=38940
-
- Most of this change is improving our test coverage for the commit-queue.
- The only functional change is removing the --test flag when the commit-queue
- is running in rollouts mode.
-
- I added test coverage for status updates, and updated the commit-queue status
- messages to distinguish rollout vs. normal landing mode in its empty queue
- and land patch messages.
-
- * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
- - Got rid of a bunch of copy/paste code using _default_expected_stderr
- * Scripts/webkitpy/tool/commands/queues.py:
- - Moved rollout patch filtering out of _validate_patches_in_commit_queue
- so that we only have to check if the builders are green in one place.
- - Make the "empty queue" message note which queue it is referring to.
- - Don't pass --text to land-attachment when in rollout mode.
- * Scripts/webkitpy/tool/commands/queues_unittest.py:
- - Update results now that we're testing status updates.
- - Test _can_build_and_test since I made a typo in that call while
- writing this change and the unit tests failed to catch it!
- * Scripts/webkitpy/tool/mocktool.py:
- - Log status updates to make them testable in our unit tests.
-
-2010-05-11 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [DRT/Chromium] Apply recent changes of test_shell to DRT
- https://bugs.webkit.org/show_bug.cgi?id=38895
-
- Port the changes to test_shell during (r40492, r46810] of Chromium.
- Highlights:
- - Introduce NotificationPresenter
- - Fix parameter mismatch of WebViewClient::startDragging()
-
- This change fixes dozens of unexpected behaviors.
-
- * DumpRenderTree/DumpRenderTree.gypi:
- Add NotificationPresenter.{cpp,h}
- * DumpRenderTree/chromium/EventSender.cpp:
- (applyKeyModifier):
- (EventSender::EventSender):
- (EventSender::reset):
- (EventSender::webview):
- (EventSender::doDragDrop):
- (EventSender::keyDown):
- (EventSender::addTouchPoint):
- (EventSender::clearTouchPoints):
- (EventSender::releaseTouchPoint):
- (EventSender::setTouchModifier):
- (EventSender::updateTouchPoint):
- (EventSender::cancelTouchPoint):
- (EventSender::sendCurrentTouchEvent):
- (EventSender::touchEnd):
- (EventSender::touchMove):
- (EventSender::touchStart):
- (EventSender::touchCancel):
- * DumpRenderTree/chromium/EventSender.h:
- * DumpRenderTree/chromium/LayoutTestController.cpp:
- (LayoutTestController::LayoutTestController):
- (LayoutTestController::reset):
- (LayoutTestController::showWebInspector):
- (LayoutTestController::setAuthorAndUserStylesEnabled):
- (LayoutTestController::setScrollbarPolicy):
- (LayoutTestController::setWillSendRequestClearHeader):
- (LayoutTestController::callShouldCloseOnWebView):
- (LayoutTestController::grantDesktopNotificationPermission):
- (LayoutTestController::removeOriginAccessWhitelistEntry):
- (LayoutTestController::addUserScript):
- (LayoutTestController::addUserStyleSheet):
- * DumpRenderTree/chromium/LayoutTestController.h:
- * DumpRenderTree/chromium/NotificationPresenter.cpp: Added.
- * DumpRenderTree/chromium/NotificationPresenter.h: Added.
+ chromium.py and chromium_win.py supports the --test-shell flag and
+ DRT/Chromium-win binary names.
+
+ * DumpRenderTree/DumpRenderTree.gypi: Add new files.
+ * DumpRenderTree/chromium/DumpRenderTree.cpp:
+ (runTest): Support for test_shell-style command.
+ (main): Introduce --test-shell.
+ * DumpRenderTree/chromium/TestEventPrinter.cpp: Added.
+ * DumpRenderTree/chromium/TestEventPrinter.h: Added.
+ TestEventPrinter class manages stdio output and image output.
+ TestEventPrinter.cpp has two implementations; DRTPrinter and
+ TestShellPrinter.
* DumpRenderTree/chromium/TestShell.cpp:
+ Some changes for TestEventPrinter.
(TestShell::TestShell):
(TestShell::runFileTest):
- (TestShell::resetTestController):
+ (TestShell::testTimedOut):
+ (TestShell::dump):
+ (TestShell::dumpImage):
* DumpRenderTree/chromium/TestShell.h:
- (TestShell::eventSender):
- (TestShell::notificationPresenter):
- (TestShell::showDevTools):
- * DumpRenderTree/chromium/WebViewHost.cpp:
- (WebViewHost::createView):
- (WebViewHost::createPopupMenu):
- (WebViewHost::startDragging):
- (WebViewHost::notificationPresenter):
- (WebViewHost::createApplicationCacheHost):
- (WebViewHost::willSendRequest):
- (WebViewHost::updateAddressBar):
- (WebViewHost::updateURL):
- * DumpRenderTree/chromium/WebViewHost.h:
- (WebViewHost::addClearHeader):
- (WebViewHost::clearHeaders):
-
-2010-05-10 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Eric Seidel.
-
- new-run-webkit-tests: fix a path-handling bug that was breaking the
- dryrun ports on windows, and add a comment about why we don't run
- the chromium dryrun tests by default on every port.
-
- https://bugs.webkit.org/show_bug.cgi?id=38796
-
- * Scripts/webkitpy/layout_tests/port/dryrun.py:
- * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py:
-
-2010-05-11 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Darin Adler.
-
- <http://webkit.org/b/38941> build-webkit shouldn't always override ENABLE_FOO Xcode configuration settings
-
- * Scripts/build-webkit: Don't pass the ENABLE setting to xcodebuild if the value matches the default.
- This will lead to xcodebuild picking up the settings from FeatureDefines.xcconfig, and will aid in
- revealing problems that are due to inconsistent values for settings across projects.
-
-2010-05-11 Mark Rowe <mrowe@apple.com>
-
- Build fix.
-
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
-
-2010-05-10 Ojan Vafai <ojan@chromium.org>
-
- Reviewed by David Levin.
-
- CheckStyle was eating script errors when there were local-commits and working copy changes
- https://bugs.webkit.org/show_bug.cgi?id=38880
-
- * Scripts/webkitpy/tool/steps/checkstyle.py:
- * Scripts/webkitpy/tool/steps/checkstyle_unittest.py: Added.
-
-2010-05-11 Jian Li <jianli@chromium.org>
-
- Reviewed by Dmitry Titov.
-
- Expose FileReader interface.
- https://bugs.webkit.org/show_bug.cgi?id=38609
-
- * Scripts/build-webkit: turn on building FileReader for Apple's WebKit.
-
-2010-05-10 Tony Chang <tony@chromium.org>
-
- Reviewed by Kent Tamura.
-
- [chromium] Build DRT when running build-webkit --chromium
- https://bugs.webkit.org/show_bug.cgi?id=38730
-
- * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp: Removed.
- * Scripts/build-dumprendertree: This does nothing now.
-
-2010-05-10 Jon Honeycutt <jhoneycutt@apple.com>
-
- REGRESSION(r59100): Added test is broken on many platforms.
- https://bugs.webkit.org/show_bug.cgi?id=38881
-
- Reviewed by Eric Seidel.
-
- * DumpRenderTree/win/TestNetscapePlugin/main.cpp:
- (NPP_Destroy):
- Use pluginLog, rather than printf, to match other platforms.
-
-2010-05-10 Dirk Pranke <dpranke@chromium.org>
-
- Unreviewed, build fix.
-
- Fix a build failure caused by assuming the default platform in
- a unit test for new-run-webkit-tests instead of specifying
- --platform test.
-
- * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py:
-
-2010-05-10 Dirk Pranke <dpranke@chromium.org>
-
- Unreviewed, build-fix
-
- new-run-webkit-tests: fix test failure caused by me failing to update
- the expected output. Also, run '--platform test' instead of
- 'platform dryrun' since the former is guaranteed to work and the
- latter isn't.
-
- * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py:
-
-2010-05-10 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by David Levin.
-
- new-run-webkit-tests: looks like the unicode conversion broke
- --print-last-failures and --retest-last-failures. Fixing.
-
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
- * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py:
-
-2010-05-10 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by David Levin.
-
- Re-attempt to fix 38616 - newline handling in new-run-webkit-tests.
- I didn't handle some cases correctly before and the solution was
- confusing. The new patch assumes all calls to the printing module
- don't have newlines, and will append newlines where necessary, just
- like logging does.
-
- https://bugs.webkit.org/show_bug.cgi?id=38790
-
- * Scripts/webkitpy/layout_tests/layout_package/metered_stream.py:
- * Scripts/webkitpy/layout_tests/layout_package/metered_stream_unittest.py:
- * Scripts/webkitpy/layout_tests/layout_package/printing.py:
- * Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py:
- * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py:
-
-2010-05-10 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Adam Barth.
-
- Make tkent a reviewer
- https://bugs.webkit.org/show_bug.cgi?id=38875
-
- * Scripts/webkitpy/common/config/committers.py:
-
-2010-05-07 Jon Honeycutt <jhoneycutt@apple.com>
-
- Crash closing window containing Flash plug-in
- https://bugs.webkit.org/show_bug.cgi?id=38797
- <rdar://problem/7935266>
-
- Reviewed by Eric Seidel.
-
- * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
- (pluginAllocate):
- Initialize new member to false.
-
- * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.h:
- Added a new member.
-
- * DumpRenderTree/win/TestNetscapePlugin/main.cpp:
- (NPP_New):
- Check whether the element has the "testGetURLOnDestroy" attribute, and
- record that.
- (NPP_Destroy):
- If "testGetURLOnDestroy" is set, perform a load while destroying the
- plug-in.
-
-2010-05-10 Eric Seidel <eric@webkit.org>
-
- Reviewed by David Levin.
-
- Executive.kill_* do not work with windows python
- https://bugs.webkit.org/show_bug.cgi?id=38872
-
- http://trac.webkit.org/changeset/57444 is where the original
- breakage occurred.
- http://trac.webkit.org/changeset/58314 is where the regression
- started affecting chromium.
-
- I have since learned that sys.platform has no "windows" value.
- "win32" is always the value, under 32 or 64 bit windows
-
- The tests for this code are not run anywhere because
- test-webkitpy does not yet work on "win32". Mostly due to
- depending on unixisms like "cat" and "yes".
-
- * Scripts/webkitpy/common/system/executive.py:
- * Scripts/webkitpy/common/system/executive_unittest.py:
-
-2010-05-10 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Fix a bug in rebaseline-chromium-webkit-tests where we would crash
- instead of logging an error and exiting if it couldn't find either a
- debug or a release build of the image diff binary.
-
- https://bugs.webkit.org/show_bug.cgi?id=38692
-
- * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
- * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests_unittest.py: Added.
-
-2010-05-10 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- new-run-webkit-tests fails when run under sys.platform == "windows" due to undefined signal.SIGKILL
- https://bugs.webkit.org/show_bug.cgi?id=38861
-
- * Scripts/webkitpy/common/system/executive.py:
- * Scripts/webkitpy/common/system/executive_unittest.py:
-
-2010-05-10 Jer Noble <jer.noble@apple.com>
-
- Unreviewed.
-
- Adding myself as a committer.
-
- * Scripts/webkitpy/common/config/committers.py:
-
-2010-05-10 Hans Wennborg <hans@chromium.org>
-
- Reviewed by Jeremy Orlow.
-
- [Chromium] Add quota parameter to WebViewClient::createSessionStorageNamespace()
- https://bugs.webkit.org/show_bug.cgi?id=38750
-
- Put a per-origin quota on session storage since it is using memory in
- the browser process, and should not be allowed to grow arbitrarily
- large. See also http://trac.webkit.org/changeset/58828.
-
- * DumpRenderTree/chromium/WebViewHost.cpp:
- (WebViewHost::createSessionStorageNamespace):
- * DumpRenderTree/chromium/WebViewHost.h:
-
-2010-05-10 Csaba Osztrogonác <ossy@webkit.org>
-
- Rubber-stamped by Simon Hausmann.
-
- [Qt] Roll-out r59020 and r59021, because the Qt part of these changes
- haven't been landed in Qt trunk yet. Should be rolled-in again after the merge.
-
- https://bugs.webkit.org/show_bug.cgi?id=32967
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::WebPage::WebPage):
- (WebCore::DumpRenderTree::DumpRenderTree):
- * DumpRenderTree/qt/DumpRenderTreeQt.h:
-
-2010-05-09 Daniel Bates <dbates@rim.com>
-
- Reviewed by Chris Jerdonek.
-
- https://bugs.webkit.org/show_bug.cgi?id=38812
-
- Make the regular expressions for parsing the start of an SVN
- and Git header global variables since they are used throughout
- VCSUtils.pm.
-
- * Scripts/VCSUtils.pm:
-
-2010-05-09 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Daniel Bates.
-
- Finished moving the header-parsing logic from svn-apply and -unapply
- to VCSUtils.pm's parsing methods.
-
- https://bugs.webkit.org/show_bug.cgi?id=38802
-
- * Scripts/VCSUtils.pm:
- - Added to parseGitDiffHeader() the ability to parse and store
- whether a file is new or deleted.
- - Also reordered in parseGitDiffHeader() some of the else statements
- to a more readable ordering.
- - Added to parseSvnDiffHeader() the ability to parse and store
- whether a file is new.
- * Scripts/svn-apply:
- - Changed handleGitBinaryChange() to use the new "isNew" and "isDeletion"
- diffHash key-values.
- - Changed patch() to use the new "isNew" diffHash key-value.
- * Scripts/svn-unapply:
- - Changed patch() to use the new "isNew" and "isDeletion" diffHash key-values.
- * Scripts/webkitperl/VCSUtils_unittest/parseDiff.pl:
- - Added unit tests for new and deleted files.
- * Scripts/webkitperl/VCSUtils_unittest/parseGitDiffHeader.pl:
- - Updated the unit tests as necessary.
- - Added a unit test for a deleted file.
- * Scripts/webkitperl/VCSUtils_unittest/parseSvnDiffHeader.pl:
- - Updated the unit tests as necessary.
-
-2010-05-08 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Daniel Bates.
-
- Added to svn-apply support for git renames and copies with similarity
- index less than 100%.
-
- https://bugs.webkit.org/show_bug.cgi?id=32834
-
- * Scripts/VCSUtils.pm:
- - Added to parseGitDiffHeader() support for renames and similarity
- index less than 100%.
- - Added to parseDiff() support for processing renames, renames with
- changes, and copies with changes.
- - Added to parsePatch() the ability to process multiple return
- values from parseDiff().
- * Scripts/svn-apply:
- - Added to patch() the ability to process diff hashes with the
- isDeletion key-value set.
- * Scripts/webkitperl/VCSUtils_unittest/parseDiff.pl:
- - Updated the unit tests as necessary.
- - Added unit tests for rename with similarity index 100%,
- rename with similarity index < 100%, and rename with a change
- to the executable bit.
- * Scripts/webkitperl/VCSUtils_unittest/parseGitDiffHeader.pl:
- - Added unit tests for rename with similarity index 100%,
- rename with similarity index < 100%, and rename with a change
- to the executable bit.
- * Scripts/webkitperl/VCSUtils_unittest/parsePatch.pl:
- - Updated the unit tests as necessary.
- * Scripts/webkitperl/VCSUtils_unittest/parseSvnDiffHeader.pl:
- - Simplified the carriage-return unit test to more narrowly test
- only carriage returns.
-
-2010-05-08 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Daniel Bates.
-
- This revision suppresses the misleading "error: pathspec..." messages
- when using svn-apply to add a binary file from a Git diff.
-
- https://bugs.webkit.org/show_bug.cgi?id=38047
-
- When adding a new binary file from a Git diff, svn-apply prints
- a misleading error of the form -- "error: pathspec '<filename>' did
- not match any file(s) known to git. Did you forget to 'git add'?"
- This patch suppresses these messages since they are normal.
-
- * Scripts/VCSUtils.pm:
- Added the callSilently() subroutine from runPatchCommand.pl, which
- executes a Perl function while suppressing STDERR.
- * Scripts/svn-apply:
- Refactored the Git portion of scmKnowsOfFile() into a
- gitKnowsOfFile(), and called this new subroutine using callSilently().
- * Scripts/webkitperl/VCSUtils_unittest/runPatchCommand.pl:
- Removed callSilently() since it was moved to VCSUtils.pm in this patch.
-
-2010-05-08 Victor Wang <victorw@chromium.org>
-
- Reviewed by Adam Barth.
-
- [chromium]: Upload test results json files to app engine server
- Add an option to run_webkit_tests.py to upload generated
- JSON files to app engine server. These JSON files will be used
- by chromium layout test falkiness dashboard.
-
- https://bugs.webkit.org/show_bug.cgi?id=36063
-
- * Scripts/webkitpy/layout_tests/layout_package/test_results_uploader.py: Added.
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
-
-2010-05-08 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Build the ImageDiff tool for all platforms including Windows and Symbian
- https://bugs.webkit.org/show_bug.cgi?id=38706
-
- Use qmath.h instead of math.h to make it portable.
-
- * DumpRenderTree/qt/ImageDiff.cpp:
- (main):
-
-2010-05-08 Robert Hogan <robert@roberthogan.net>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix http/tests/xmlhttprequest/cross-origin-no-authorization.html
- and http/tests/xmlhttprequest/cross-origin-authorization.html
-
- QHttpNetworkRequest adds Authorization and Cookie headers to XHRs
- without knowing if this is valid behaviour or not. In order to allow
- Qt to decide whether Cookie/Authorization headers should be added
- to an XHR QtWebKit needs to use an attribute added to QNetworkRequest.
- These new attributes are: QNetworkRequest::CookieLoadControlAttribute,
- QNetworkRequest::CookieSaveControlAttribute,and
- QNetworkRequest::AuthenticationReuseControlAttribute.
-
- In order to properly support the tests, Qt's DRT needs to use one
- NetworkAccessManager for all pages. This allows it to use cached
- credentials where appropriate.
-
- The tests now pass when run individually but there seems to be a problem with
- leaking the results of requests across tests when run with the others in
- http/tests. This will be addressed in a separate patch.
-
- https://bugs.webkit.org/show_bug.cgi?id=32967
-
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::WebPage::WebPage):
- (WebCore::DumpRenderTree::DumpRenderTree):
- * DumpRenderTree/qt/DumpRenderTreeQt.h:
-
-
-2010-05-04 Robert Hogan <robert@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [Qt] unskip http/tests/plugins/npapi-response-headers.html
-
- Turns out this failed because run-webkit-tests was eating the first occurrence
- of 'Content-Type: text/plain' in the test output as a header. Strange but true.
- So do as Chromium does and preface all text dumps with the
- 'Content-Type: text/plain' header.
-
- https://bugs.webkit.org/show_bug.cgi?id=38541
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::DumpRenderTree::dump):
-
-2010-05-08 Eric Seidel <eric@webkit.org>
-
- Reviewed by Daniel Bates.
-
- test-webkitpy fails under cygwin
- https://bugs.webkit.org/show_bug.cgi?id=38718
-
- * Scripts/webkitpy/common/system/executive.py:
- - Add _KILL_PROCESS_KILLED_PROCESS_EXIT_CODE and
- _KILL_ALL_KILLED_PROCESS_EXIT_CODE to store the expected
- exit codes of processes killed by kill_process and kill_all.
- These two constants are only used by the unit tests but are
- stored in executive.py so they can be right next to the platform ifs.
- - Remove unnecessary str() conversion, run_command does that for us.
- - Make os.kill retry on cygwin on EAGAIN. It's unclear why CYGWIN
- throws EAGAIN, but it only does so sometimes. 3 may not be enough
- retries, but we'll try it to start with.
- - Add _windows_image_name to automatically convert "yes" to "yes.exe"
- for use with taskkill.exe /im. Various callers to kill_all could
- be updated to remove the .exe, but that can be done in another patch.
- - Use taskkill.exe for killall on cygwin.
- * Scripts/webkitpy/common/system/executive_unittest.py:
- - Use the new *_KILLED_PROCESS_EXIT_CODE constants which are correctly
- set to 0 on windows/cygwin systems where taskkill.exe is used.
- - Test _windows_image_name
- * Scripts/webkitpy/layout_tests/port/chromium_win.py:
- - Add FIXME about including mac-snowleopard in baseline_search_path.
- * Scripts/webkitpy/layout_tests/port/webkit.py:
- - Make default_configuration actually read from the Configuration file.
- * Scripts/webkitpy/layout_tests/port/webkit_unittest.py: Added.
- - Test default_configuration
- * Scripts/webkitpy/layout_tests/port/win.py:
- - Need a basic baseline_search_path if --platform dryrun is to work.
-
-2010-05-08 Eric Seidel <eric@webkit.org>
-
- Unreviewed, just reverting commit.
-
- REGRESSION(59000): r59000 contained all sorts of changes it should not have, needs revert.
- https://bugs.webkit.org/show_bug.cgi?id=38798
-
- * Scripts/webkitpy/common/system/executive.py:
- * Scripts/webkitpy/common/system/executive_unittest.py:
- * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
- * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
- * Scripts/webkitpy/layout_tests/port/chromium_win.py:
- * Scripts/webkitpy/layout_tests/port/mac.py:
- * Scripts/webkitpy/layout_tests/port/webkit.py:
- * Scripts/webkitpy/layout_tests/port/webkit_unittest.py: Removed.
- * Scripts/webkitpy/layout_tests/port/win.py:
- * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py:
- * Scripts/webkitpy/tool/commands/download.py:
- * Scripts/webkitpy/tool/commands/download_unittest.py:
-
-2010-05-06 Eric Seidel <eric@webkit.org>
-
- Reviewed by Daniel Bates.
-
- test-webkitpy fails under cygwin
- https://bugs.webkit.org/show_bug.cgi?id=38718
-
- * Scripts/webkitpy/common/system/executive.py:
- - Add _KILL_PROCESS_KILLED_PROCESS_EXIT_CODE and
- _KILL_ALL_KILLED_PROCESS_EXIT_CODE to store the expected
- exit codes of processes killed by kill_process and kill_all.
- These two constants are only used by the unit tests but are
- stored in executive.py so they can be right next to the platform ifs.
- - Remove unnecessary str() conversion, run_command does that for us.
- - Make os.kill retry on cygwin on EAGAIN. It's unclear why CYGWIN
- throws EAGAIN, but it only does so sometimes. 3 may not be enough
- retries, but we'll try it to start with.
- - Add _windows_image_name to automatically convert "yes" to "yes.exe"
- for use with taskkill.exe /im. Various callers to kill_all could
- be updated to remove the .exe, but that can be done in another patch.
- - Use taskkill.exe for killall on cygwin.
- * Scripts/webkitpy/common/system/executive_unittest.py:
- - Use the new *_KILLED_PROCESS_EXIT_CODE constants which are correctly
- set to 0 on windows/cygwin systems where taskkill.exe is used.
- - Test _windows_image_name
- * Scripts/webkitpy/layout_tests/port/chromium_win.py:
- - Add FIXME about including mac-snowleopard in baseline_search_path.
- * Scripts/webkitpy/layout_tests/port/webkit.py:
- - Make default_configuration actually read from the Configuration file.
- * Scripts/webkitpy/layout_tests/port/webkit_unittest.py: Added.
- - Test default_configuration
- * Scripts/webkitpy/layout_tests/port/win.py:
- - Need a basic baseline_search_path if --platform dryrun is to work.
-
- 2010-05-07 Eric Seidel <eric@webkit.org>
-
- Reviewed by Nikolas Zimmermann.
-
- DryrunTest fails on every platform other than mac
- https://bugs.webkit.org/show_bug.cgi?id=38796
-
- The test uses the port detection logic to find a suitable
- port to use results from. However that detection logic assumes
- chromium on linux, which requires a chromium checkout which the
- bots don't have. The test is broken and we'll need to fix it.
- For now I'm just going to disable the test on all platforms besides mac.
-
- * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py:
-
- 2010-05-07 Eric Seidel <eric@webkit.org>
-
- Reviewed by Daniel Bates.
-
- Clean up baseline_search_path to use map to reduce copy/paste code
- https://bugs.webkit.org/show_bug.cgi?id=38792
-
- Reading which portnames a port falls back to is easier if
- we convert port names to paths with map instead of using copy/paste code.
-
- * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
- * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
- * Scripts/webkitpy/layout_tests/port/chromium_win.py:
- * Scripts/webkitpy/layout_tests/port/mac.py:
-
- 2010-05-07 Eric Seidel <eric@webkit.org>
-
- Reviewed by Daniel Bates.
-
- rollout commands fail when commit is missing bug number
- https://bugs.webkit.org/show_bug.cgi?id=38791
-
- * Scripts/webkitpy/tool/commands/download.py:
- - _commit_info failed to actually return the CommitInfo in the no-bug-id case.
- * Scripts/webkitpy/tool/commands/download_unittest.py:
- - Test that the fix worked.
-
-2010-05-07 Darin Fisher <darin@chromium.org>
-
- Fix build bustage: toElement<T> should be to<T>.
-
- * DumpRenderTree/chromium/LayoutTestController.cpp:
- (LayoutTestController::elementDoesAutoCompleteForElementWithId):
-
-2010-05-07 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Daniel Bates.
-
- Refactored VCSUtils.pm's parse-related methods to leave inapplicable
- hash values unset instead of setting them to "undef".
-
- https://bugs.webkit.org/show_bug.cgi?id=38724
-
- Preferring "not set" over "undef" keeps the unit tests smaller and
- easier to maintain. Otherwise, we would have to update every unit
- test case each time we add support for a new key-value pair --
- instead of just the relevant ones.
-
- * Scripts/VCSUtils.pm:
- - In parseGitDiffHeader(), adjusted the handling of these key-values:
- executableBitDelta and isBinary.
- - In parseSvnDiffHeader(), adjusted the handling of these key-values:
- copiedFromPath, isBinary, and sourceRevision.
- - In parseDiffHeader(), adjusted the handling of these key-values:
- isGit and isSvn.
- - In parseDiff(), adjusted the handling of these key-values:
- isBinary, isGit, isSvn, and sourceRevision.
-
- * Scripts/webkitperl/VCSUtils_unittest/parseDiff.pl:
- - Updated the unit tests as necessary.
-
- * Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:
- - Updated the unit tests as necessary.
-
- * Scripts/webkitperl/VCSUtils_unittest/parseGitDiffHeader.pl:
- - Updated the unit tests as necessary.
-
- * Scripts/webkitperl/VCSUtils_unittest/parseSvnDiffHeader.pl:
- - Updated the unit tests as necessary.
-
-2010-05-06 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Dan Bernstein.
-
- Exclude leaks due to <rdar://problem/7815391> from the output.
-
- * Scripts/old-run-webkit-tests:
-
-2010-05-06 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r58933.
- http://trac.webkit.org/changeset/58933
- https://bugs.webkit.org/show_bug.cgi?id=38717
-
- "Broke all websocket tests on Tiger" (Requested by eseidel on
- #webkit).
-
- * Scripts/new-run-webkit-websocketserver:
- * Scripts/old-run-webkit-tests:
- * Scripts/run-webkit-websocketserver:
- * Scripts/webkitpy/layout_tests/port/websocket_server.py:
- * Scripts/webkitpy/thirdparty/__init__.py:
- * Scripts/webkitpy/thirdparty/pywebsocket/COPYING: Added.
- * Scripts/webkitpy/thirdparty/pywebsocket/MANIFEST.in: Added.
- * Scripts/webkitpy/thirdparty/pywebsocket/README: Added.
- * Scripts/webkitpy/thirdparty/pywebsocket/README.webkit: Added.
- * Scripts/webkitpy/thirdparty/pywebsocket/example/echo_client.py: Added.
- * Scripts/webkitpy/thirdparty/pywebsocket/example/echo_wsh.py: Added.
- * Scripts/webkitpy/thirdparty/pywebsocket/example/handler_map.txt: Added.
- * Scripts/webkitpy/thirdparty/pywebsocket/mod_pywebsocket/__init__.py: Added.
- * Scripts/webkitpy/thirdparty/pywebsocket/mod_pywebsocket/dispatch.py: Added.
- * Scripts/webkitpy/thirdparty/pywebsocket/mod_pywebsocket/handshake.py: Added.
- * Scripts/webkitpy/thirdparty/pywebsocket/mod_pywebsocket/headerparserhandler.py: Added.
- * Scripts/webkitpy/thirdparty/pywebsocket/mod_pywebsocket/memorizingfile.py: Added.
- * Scripts/webkitpy/thirdparty/pywebsocket/mod_pywebsocket/msgutil.py: Added.
- * Scripts/webkitpy/thirdparty/pywebsocket/mod_pywebsocket/standalone.py: Added.
- * Scripts/webkitpy/thirdparty/pywebsocket/mod_pywebsocket/util.py: Added.
- * Scripts/webkitpy/thirdparty/pywebsocket/setup.py: Added.
- * Scripts/webkitpy/thirdparty/pywebsocket/test/config.py: Added.
- * Scripts/webkitpy/thirdparty/pywebsocket/test/mock.py: Added.
- * Scripts/webkitpy/thirdparty/pywebsocket/test/run_all.py: Added.
- * Scripts/webkitpy/thirdparty/pywebsocket/test/test_dispatch.py: Added.
- * Scripts/webkitpy/thirdparty/pywebsocket/test/test_handshake.py: Added.
- * Scripts/webkitpy/thirdparty/pywebsocket/test/test_memorizingfile.py: Added.
- * Scripts/webkitpy/thirdparty/pywebsocket/test/test_mock.py: Added.
- * Scripts/webkitpy/thirdparty/pywebsocket/test/test_msgutil.py: Added.
- * Scripts/webkitpy/thirdparty/pywebsocket/test/test_util.py: Added.
- * Scripts/webkitpy/thirdparty/pywebsocket/test/testdata/README: Added.
- * Scripts/webkitpy/thirdparty/pywebsocket/test/testdata/handlers/blank_wsh.py: Added.
- * Scripts/webkitpy/thirdparty/pywebsocket/test/testdata/handlers/origin_check_wsh.py: Added.
- * Scripts/webkitpy/thirdparty/pywebsocket/test/testdata/handlers/sub/exception_in_transfer_wsh.py: Added.
- * Scripts/webkitpy/thirdparty/pywebsocket/test/testdata/handlers/sub/no_wsh_at_the_end.py: Added.
- * Scripts/webkitpy/thirdparty/pywebsocket/test/testdata/handlers/sub/non_callable_wsh.py: Added.
- * Scripts/webkitpy/thirdparty/pywebsocket/test/testdata/handlers/sub/plain_wsh.py: Added.
- * Scripts/webkitpy/thirdparty/pywebsocket/test/testdata/handlers/sub/wrong_handshake_sig_wsh.py: Added.
- * Scripts/webkitpy/thirdparty/pywebsocket/test/testdata/handlers/sub/wrong_transfer_sig_wsh.py: Added.
- * Scripts/webkitpy/thirdparty/pywebsocket/test/testdata/hello.pl: Added.
-
-2010-05-06 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by David Levin.
-
- WebSocket: pywebsocket 0.5
- https://bugs.webkit.org/show_bug.cgi?id=38034
-
- Remove pywebsocket from webkitpy/thirdparty.
- Make pywebsocket autoinstalled.
-
- * Scripts/new-run-webkit-websocketserver:
- Add --output-dir option.
- * Scripts/old-run-webkit-tests:
- Use new-run-webkit-websocketserver, rather than directly run pywebsocket's standalone.py
- * Scripts/run-webkit-websocketserver:
- Ditto.
- * Scripts/webkitpy/layout_tests/port/websocket_server.py:
- Use autoinstalled pywebsocket.
- * Scripts/webkitpy/thirdparty/__init__.py:
- Autoinstall pywebsocket
- * Scripts/webkitpy/thirdparty/pywebsocket: Removed.
-
-2010-05-06 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Daniel Bates.
-
- svn-apply now understands the Git diff "copy from" syntax when the
- similarity index is 100%.
-
- https://bugs.webkit.org/show_bug.cgi?id=38628
-
- * Scripts/VCSUtils.pm:
- - Adjusted parseGitDiffHeader() to parse the "copy from" and
- "similarity index" lines.
-
- * Scripts/svn-unapply:
- - Adjusted the patch() subroutine so that copies are recognized
- as file additions.
-
- * Scripts/webkitperl/VCSUtils_unittest/parseGitDiffHeader.pl:
- - Added unit tests for the cases of a copy with similarity index
- 100% and less than 100%.
-
-2010-05-06 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Daniel Bates.
-
- Removed the need for svn-apply and -unapply to re-parse whether
- a diff is binary or not.
-
- https://bugs.webkit.org/show_bug.cgi?id=38320
-
- * Scripts/VCSUtils.pm:
- - Adjusted parseGitDiffHeader() to set the isBinary key.
- - Adjusted parseSvnDiffHeader() to set the isBinary key.
- - Adjusted parseDiffHeader() to set the isBinary key.
- - Changed the scmFormat key set by parseDiffHeader() to
- isGit and isSvn keys.
- - Adjusted parseDiff() to set the isBinary, isGit, and isSvn keys.
-
- * Scripts/svn-apply:
- - Updated the patch() method to use the isBinary, isGit, and
- isSvn keys.
-
- * Scripts/svn-unapply:
- - Updated the patch() method to use the isBinary and isSvn keys.
-
- * Scripts/webkitperl/VCSUtils_unittest/parseDiff.pl:
- - Updated the unit tests as necessary.
- - Added a test case to test that the isBinary key is getting set properly.
-
- * Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:
- - Updated the unit tests as necessary.
-
- * Scripts/webkitperl/VCSUtils_unittest/parseGitDiffHeader.pl:
- - Updated the unit tests as necessary.
-
- * Scripts/webkitperl/VCSUtils_unittest/parseSvnDiffHeader.pl:
- - Updated the unit tests as necessary.
-
-2010-05-06 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [DRT/Chromium] Add support for resources on Mac
- https://bugs.webkit.org/show_bug.cgi?id=38637
-
- Repack webkit_chromium_resources.pak, webkit_strings_en-US.pak,
- and webkit_resources.pak, and put them as Mac bundle resource.
- The 'actions' section is almost same as a part of test_shell.gypi.
-
- * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
-
-2010-05-06 Csaba Osztrogonác <ossy@webkit.org>
-
- [Qt] Unreviewed buildfix after r58917.
-
- * DumpRenderTree/qt/LayoutTestControllerQt.h: Missing function declaration added.
-
-2010-05-06 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler and Dan Bernstein..
-
- REGRESSION (r51617): when plugins are disabled, plugins show up as garbage characters
- https://bugs.webkit.org/show_bug.cgi?id=38698
- <rdar://problem/7942075>
-
- Add a 'setPluginsEnabled' layoutTestController function for disabling plug-ins. This is only implemented on Mac currently
- because the bug that needs this functionality is mac specific.
-
- * DumpRenderTree/LayoutTestController.cpp:
- (setPluginsEnabledCallback):
- (LayoutTestController::staticFunctions):
- * DumpRenderTree/LayoutTestController.h:
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::setPluginsEnabled):
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (resetDefaultsToConsistentValues):
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (LayoutTestController::setPluginsEnabled):
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::setPluginsEnabled):
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::setPluginsEnabled):
- * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
- (LayoutTestController::setPluginsEnabled):
-
-2010-05-06 Jochen Eisinger <jochen@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Make ImageDiff depend on WebKit. When compiled from within Chromium, WTF is not a standalone dynamic library but depends on WebKit.
- https://bugs.webkit.org/show_bug.cgi?id=38632
-
- * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
-
-2010-05-06 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Replace public inspector url with private property for QtLauncher
- https://bugs.webkit.org/show_bug.cgi?id=35340
-
- Replace the public API with a private dynamic property until this feature
- is ready.
-
- * QtLauncher/main.cpp:
- (LauncherWindow::init):
-
-2010-05-05 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: build-webkit --inspector-frontend Should Exclude *.re2js
- https://bugs.webkit.org/show_bug.cgi?id=38449
-
- * Scripts/webkitdirs.pm:
-
-2010-05-05 Charles Wei <charles.wei@torchmobile.com.cn>
-
- Reviewed by George Staikos
-
- This patch adds WCSS -wap-input-format and -wap-input-required support to WebKit
- Make the test cases in fast/wcss optionional only when WCSS is enabled.
-
- https://bugs.webkit.org/show_bug.cgi?id=37848
-
- * Scripts/old-run-webkit-tests:
- * Scripts/webkitperl/features.pm:
-
-2010-05-05 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Eric Seidel.
-
- [DRT/Chromium] Remove InitWebCoreSystemInterface() call
- https://bugs.webkit.org/show_bug.cgi?id=38624
-
- Chromium r45167 <http://src.chromium.org/viewvc/chrome?view=rev&revision=45167>
- added InitWebCoreSystemInterface() to webkit/support/platform_support_mac.mm.
- So we don't need to call it from DumpRenderTree.cpp anymore.
-
- * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
- * DumpRenderTree/chromium/DumpRenderTree.cpp:
- (main): Remove InitWebCoreSystemInterface().
-
-2010-05-05 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Eric Seidel.
-
- new-run-webkit-tests: clean up newline handling in printing
-
- The new printing module seems to handle newlines somewhat
- inconsistently, especially in --verbose mode. This change cleans up
- the code to make things more consistent and adds a bunch of unit tests.
-
- https://bugs.webkit.org/show_bug.cgi?id=38616
-
- * Scripts/webkitpy/common/array_stream.py: Added.
- * Scripts/webkitpy/common/array_stream_unittest.py: Added.
- * Scripts/webkitpy/layout_tests/layout_package/metered_stream.py:
- * Scripts/webkitpy/layout_tests/layout_package/metered_stream_unittest.py: Added.
- * Scripts/webkitpy/layout_tests/layout_package/printing.py:
- * Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py:
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
- * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py:
-
-2010-05-05 James Robinson <jamesr@chromium.org>
-
- Reviewed by Adam Barth.
-
- Ban the single letter 'l' as an identifier name
- http://trac.webkit.org/changeset/58844
-
- Add a lint rule to ban the single letter 'l' as an identifier name
- since it is very easy to confuse with the numeral '1', especially
- in code like WebCore/css/CSSHelper.cpp.
-
- See http://trac.webkit.org/changeset/58844 as an example of a bug
- caused by confusing short variable names.
-
- * Scripts/webkitpy/style/checkers/cpp.py:
- * Scripts/webkitpy/style/checkers/cpp_unittest.py:
-
-2010-05-04 Eric Seidel <eric@webkit.org>
-
- Reviewed by Shinichiro Hamaji.
-
- PrettyPatch.pretty_diff("") should not hang
- https://bugs.webkit.org/show_bug.cgi?id=38552
-
- Also found a bug in PrettyPatch.pretty_diff where it would
- hang when passed "" as input.
-
- I suspect there may be bugs in prettify.rb (or our use there-of)
- where it can hang, which would then cause the testing thread to hang.
-
- * Scripts/webkitpy/common/prettypatch.py:
- - Don't hang when passed ""
- * Scripts/webkitpy/common/prettypatch_unittest.py:
- - Test that we don't hang when passed ""
- * Scripts/webkitpy/layout_tests/port/base.py:
- - Add a FIXME that we should share code with prettypatch.rb
-
-2010-05-04 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Eric Seidel.
-
- new-run-webkit-tests: turn off threading on the Chromium Mac port until
- we can stabilize the port more and figure out why it is hanging so
- frequently.
-
- https://bugs.webkit.org/show_bug.cgi?id=38553
-
- * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
- - override default_child_processes() and log a warning
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
- - fix a typo that caused us to print a method object instead of the
- value the method object returns in the case where there is only
- one child process.
- * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py:
- - Add unit tests for the output of run_webkit_tests - in this case,
- the handling of --child-processes and --print config
-
-2010-05-04 Timothy Hatcher <timothy@apple.com>
-
- Fix the find command in extract-localizable-strings so skip
- directories are correctly skipped and header files are searched.
-
- https://bugs.webkit.org/show_bug.cgi?id=38545
- rdar://problem/7941295
-
- Reviewed by Darin Adler.
-
- * Scripts/extract-localizable-strings: Append -o after each -prune
- so -and isn't implied. Surround all the -name arguments so they get
- an implied -print action. Removed check for "icu". Skip any header that
- ends in LocalizableStrings.h, so SafariLocalizableStrings.h is skipped.
- * Scripts/update-webkit-localizable-strings: Add the two icu directories
- to the skip list.
-
-2010-05-04 Jesus Sanchez-Palencia <jesus@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Wrong documentation on 'webkit-patch help land'.
- https://bugs.webkit.org/show_bug.cgi?id=37871
-
- Small fix on the help documentation for webkit-patch
- land.
-
- * Scripts/webkitpy/tool/commands/download.py:
-
-2010-05-04 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] QWebPage viewMode property
- https://bugs.webkit.org/show_bug.cgi?id=38119
-
- Rename the property from wrt_viewMode to _q_viewMode.
-
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::setViewModeMediaFeature):
-
-2010-05-04 Jochen Eisinger <jochen@chromium.org>
-
- Reviewed by Jeremy Orlow.
-
- Fix typo in run_webkit_tests.py: s/_print\./_printer./
- https://bugs.webkit.org/show_bug.cgi?id=38515
-
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
-
-2010-05-04 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Eric Seidel.
-
- This revision completes the terminology change from "processor" to
- "checker" for the CarriageReturnProcessor, CppProcessor,
- PythonProcessor, and TextProcessor classes, etc.
-
- https://bugs.webkit.org/show_bug.cgi?id=38262
-
- The word "processor" currently has two uses in our code. This
- revision renames the lower-level use to "checker" and preserves the
- word "processor" for higher-level, more general uses. This
- revision also makes whatever other name changes that logically
- followed from this change.
-
- * Scripts/check-webkit-style:
- - Updated references to PatchChecker.
-
- * Scripts/webkitpy/style/checker.py:
- - Renamed the StyleCheckerConfiguration class to
- StyleProcessorConfiguration.
- - Renamed the ProcessorDispatcher class to CheckerDispatcher, and
- made similar changes for the class's method names.
- - Renamed the PatchChecker class to PatchReader.
- - Updated the file as necessary to accommodate the other class
- renames in this patch.
-
- * Scripts/webkitpy/style/checker_unittest.py:
- - Updated the unit test code as necessary.
-
- * Scripts/webkitpy/style/checkers/common.py:
- - Renamed the CarriageReturnProcessor class to CarriageReturnChecker,
- and changed its process() method to check().
-
- * Scripts/webkitpy/style/checkers/common_unittest.py:
- - Updated the unit test code as necessary.
-
- * Scripts/webkitpy/style/checkers/cpp.py:
- - Renamed the CppProcessor class to CppChecker, and renamed its
- process() method to check().
-
- * Scripts/webkitpy/style/checkers/cpp_unittest.py:
- - Updated the unit test code as necessary.
-
- * Scripts/webkitpy/style/checkers/python.py:
- - Renamed the PythonProcessor class to PythonChecker, and renamed
- its process() method to check().
-
- * Scripts/webkitpy/style/checkers/python_unittest.py:
- - Updated the unit test code as necessary.
-
- * Scripts/webkitpy/style/checkers/text.py:
- - Renamed the TextProcessor class to TextChecker, and renamed
- its process() method to check().
-
- * Scripts/webkitpy/style/checkers/text_unittest.py:
- - Updated the unit test code as necessary.
-
- * Scripts/webkitpy/style/error_handlers.py:
- - Updated the code as necessary.
-
- * Scripts/webkitpy/style/error_handlers_unittest.py:
- - Updated the unit test code as necessary.
-
-2010-05-04 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Adjusted svn-apply and -unapply to accept git diffs generated
- using the --no-prefix flag.
-
- https://bugs.webkit.org/show_bug.cgi?id=32438
-
- * Scripts/VCSUtils.pm:
- - Loosened the regular expression for the "diff --git" line to
- match when the --no-prefix flag is used with "git diff".
- - Also refactored the code parsing the first line so that the
- script exits with an error message if the first line cannot
- be parsed.
- * Scripts/webkitperl/VCSUtils_unittest/parseGitDiffHeader.pl:
- - Added a unit test case for the --no-prefix case.
-
-2010-05-04 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Daniel Bates.
-
- Changed VCSUtils.pm's parseDiffHeader() to call the new
- parseGitDiffHeader() method.
-
- https://bugs.webkit.org/show_bug.cgi?id=38454
-
- This revision makes more progress towards adding executable-bit
- support to svn-apply and svn-unapply. It also makes more progress
- towards refactoring the code into a more maintainable form.
-
- * Scripts/VCSUtils.pm:
- - Removed gitdiff2svndiff().
- - Removed the Git-specific logic from parseDiffHeader() and
- renamed it parseSvnDiffHeader().
- - Added a new parseDiffHeader() subroutine which calls
- parseSvnDiffHeader() or parseGitDiffHeader() depending on
- the format of the first header line.
-
- * Scripts/webkitperl/VCSUtils_unittest/gitdiff2svndiff.pl: Removed.
- * Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:
- - Removed most of the test cases since these cases are now
- covered by the unit tests for parseSvnDiffHeader() and
- parseGitDiffHeader().
-
- * Scripts/webkitperl/VCSUtils_unittest/parseSvnDiffHeader.pl: Added.
- - Copied the SVN unit tests from parseDiffHeader.pl and updated
- them as necessary.
-
-2010-05-03 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Builders should run the perl and python unit tests on every commit
- https://bugs.webkit.org/show_bug.cgi?id=37976
-
- The unit tests take a few seconds to run, so they should not
- have any noticable effect on builder speed.
-
- We're running the tests everywhere but Tiger as Tiger's
- Python version is ancient.
- I would have rather have detected the python version of the
- slave but I couldn't find any API to do that, and I didn't want
- to hack version detection into test-webkitpy (at least not yet).
-
- * BuildSlaveSupport/build.webkit.org-config/master.cfg:
-
-2010-05-03 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Adam Barth.
-
- Fixed a recent REGRESSION that caused svn-apply and -unapply to
- skip over changes to the first file in a diff if leading junk was
- present (like in an e-mail diff) and if the --force option was used.
-
- https://bugs.webkit.org/show_bug.cgi?id=38507
-
- * Scripts/svn-apply:
- - Removed the bit of code at the beginning of the patch()
- subroutine that checks for the "Index:" line at the beginning
- of a file diff (since the parsePatch() subroutine already
- checks this).
-
- * Scripts/svn-unapply:
- - Removed the bit of code at the beginning of the patch()
- subroutine that checks for the "Index:" line at the beginning
- of a file diff (since the parsePatch() subroutine already
- checks this).
-
-2010-05-03 Chris Jerdonek <cjerdonek@webkit.org>
-
- Unreviewed.
-
- Adjusted the ChangeLog entry below for r58732 (bug 35804) to reflect
- the fact that the change will not become active until the patch
- for bug 38454 lands.
-
-2010-05-03 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Added code for svn-apply and -unapply to display an instructive error
- message if the --binary flag is left off the "git diff" command
- for diffs containing binary file differences.
-
- https://bugs.webkit.org/show_bug.cgi?id=35804
-
- This change will become active when parseDiffHeader() is modified
- to call parseGitDiffHeader (see bug 38454).
-
- * Scripts/VCSUtils.pm:
- - Adjusted parseDiffHeader() to exit with an appropriate error message
- if it encounters a line of the form "Binary files <path1> and
- <path2> differ".
-
-2010-05-03 Dirk Pranke <dpranke@chromium.org>
-
- Unreviewed, build fix.
-
- new-run-webkit-tests: r58728 broke the buildbot logic for parsing the
- output of the log; specifying --verbose should basically be equivalent
- to --print everything, but instead it was equivalent to not specifying
- --print and getting the default set. Now, --verbose acts as if
- --print everything was implicitly specified as the default (you can
- still override it if you specify both; this is a somewhat debatable
- call).
-
- https://bugs.webkit.org/show_bug.cgi?id=38504
-
- * Scripts/webkitpy/layout_tests/layout_package/printing.py:
-
-2010-05-03 Dirk Pranke <dpranke@chromium.org>
-
- Unreviewed, build fix.
-
- new-run-webkit-tests: Fix minor precedence bug introduced in r58728 where we printed
- "-\n" 78 times instead of "-" 78 times followed by a single "\n".
-
- * Scripts/webkitpy/layout_tests/layout_package/printing.py:
-
-2010-05-03 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Eric Seidel.
-
- new-run-webkit-tests: refactor a large chunk of the printing/logging
- code out of run-webkit-tests py (almost 300 lines out of 1900).
-
- This change also renames --log to --print (to be slightly more
- descriptive). I've also added better help messages for printing.
-
- The new code has unit tests!
-
- There is still more code to be moved, but this patch is big enough as
- it is. Namely, still to move are the printing of the actual results
- and the timing statistics, which should move another 300-400 lines
- out of the file.
-
- Notable changes to run_webkit_tests.py beyond code simply moving:
- * MeteredStream is now hidden under the new printing.Printer class.
- All the references to self._meter now point to self._printer.
- * All logging configuration is done in printing.configure_logging()
- * Instead of using write() lambdas to control what is and isn't
- printed, we use separate methods on the printer object. This will
- make it easier to grep which print statements are printed
- under protection of each flag.
- * The print_results flag I added a few revs back to suppress printing
- in the unit tests has been replaced with --print nothing.
- * The ResultSummary class now stores the entire TestResult for each
- test, not just the actual result type.
- * summarize_unexpected_results() got moved from a method on TestRunner
- to a standalone function. This should move into a separate file
- along with the ResultSummary class and the TestResult class
- * The --trace option added recently has been replaced by
- '--print trace-everything' and '--print trace-unexpected'
-
- https://bugs.webkit.org/show_bug.cgi?id=38018
-
- * Scripts/new-run-webkit-tests:
- - update to new entry points in run_webkit_tests.py
- * Scripts/webkitpy/layout_tests/layout_package/metered_stream.py:
- - fix a minor nit where we were printing an empty string where
- we didn't need to
- * Scripts/webkitpy/layout_tests/layout_package/printing.py: Added.
- * Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py: Added
- * Scripts/webkitpy/layout_tests/port/test.py:
- - implement relative_test_filename() and expected_filename() so
- we can test printing unexpected results in a platform-neutral
- way
- * Scripts/webkitpy/run_webkit_test.py:
- - move a lot of the printing code into printing.py
- - change the signatures of the exported entry points for easier
- unit testing
- * Scripts/webkitpy/run_webkit_tests_unittest.py:
- - update w/ changes to run_webkit_tests entry points.
-
-2010-05-03 Kevin Watters <kevinwatters@gmail.com>
-
- Reviewed by Kevin Ollivier.
-
- [wx] Build and use Mac's ComplexTextController to support complex text in wx.
- https://bugs.webkit.org/show_bug.cgi?id=38482
-
- * wx/build/settings.py:
-
-2010-05-03 Abhishek Arya <inferno@chromium.org>
-
- Reviewed by Adam Barth.
-
- Add support for controlling clipboard access from javascript.
- Clipboard access from javascript is enabled in test framework.
- https://bugs.webkit.org/show_bug.cgi?id=27751
-
- * DumpRenderTree/LayoutTestController.cpp:
- (setJavaScriptCanAccessClipboardCallback):
- (LayoutTestController::staticFunctions):
- * DumpRenderTree/LayoutTestController.h:
- * DumpRenderTree/chromium/LayoutTestController.cpp:
- (LayoutTestController::LayoutTestController):
- (LayoutTestController::setJavaScriptCanAccessClipboard):
- (LayoutTestController::overridePreference):
- * DumpRenderTree/chromium/LayoutTestController.h:
- * DumpRenderTree/chromium/TestShell.cpp:
- (TestShell::resetWebSettings):
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (resetDefaultsToConsistentValues):
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::setJavaScriptCanAccessClipboard):
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (resetDefaultsToConsistentValues):
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (LayoutTestController::setJavaScriptCanAccessClipboard):
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::WebPage::WebPage):
- (WebCore::WebPage::resetSettings):
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::setJavaScriptCanAccessClipboard):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (resetDefaultsToConsistentValues):
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::setJavaScriptCanAccessClipboard):
- * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
- (LayoutTestController::setJavaScriptCanAccessClipboard):
-
-2010-05-03 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Maui MiniBrowser: Add an option to show/hide the web view
- https://bugs.webkit.org/show_bug.cgi?id=38486
-
- * MiniBrowser/win/BrowserWindow.cpp:
- (BrowserWindow::createWindow):
- Set the background brush to something other than null.
-
- (BrowserWindow::onCommand):
- Show and hide the web view accordingly.
-
- * MiniBrowser/win/MiniBrowser.rc:
- * MiniBrowser/win/resource.h:
- Add new menu item.
-
-2010-05-03 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Daniel Bates.
-
- Added a parseGitDiffHeader() subroutine to VCSUtils.pm that
- parses any changes to the executable bit in a Git diff.
-
- https://bugs.webkit.org/show_bug.cgi?id=38425
-
- This revision is more preparation towards adding "executable bit"
- support to svn-apply and svn-unapply. No code is going "live" in
- this change except for the new unit tests in test-webkitperl.
-
- * Scripts/VCSUtils.pm:
- - Added isExecutable() to determine whether a file mode has the
- executable bit set or not.
- - Added parseGitDiffHeader() to parse the header of a Git diff.
-
- * Scripts/webkitperl/VCSUtils_unittest/parseGitDiffHeader.pl: Added.
- - Added unit tests for parseGitDiffHeader().
-
-2010-05-03 Daniel Bates <dbates@rim.com>
-
- Reviewed by Chris Jerdonek.
-
- https://bugs.webkit.org/show_bug.cgi?id=38447
-
- Refactor the unit tests in VCSUtils_unittest/parseDiff.pl to use
- Test::More::is_deeply like we do in VCSUtils_unittest/parseDiffHeader.pl.
-
- * Scripts/webkitperl/VCSUtils_unittest/parseDiff.pl:
-
-2010-05-02 Chris Jerdonek <cjerdonek@webkit.org>
-
- Unreviewed.
-
- Corrected a file path in the ChangeLog entry for r58663 (bug 38319) below.
-
-2010-05-02 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=38319
-
- * Scripts/VCSUtils.pm:
- - In parseDiffHeader()--
- - Added an "scmFormat" hash key to the return value to represent
- whether the diff is Git or SVN formatted.
- - Adjusted the code so the value of "copiedFromPath" will
- be undef rather than "does not exist" if the file was not
- copied.
-
- * Scripts/webkitperl/VCSUtils_unittest/parseDiff.pl:
- - Added a FIXME to refactor these unit tests to use is_deeply().
-
- * Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:
- - Updated the unit tests to test the "scmFormat" value.
- - Simplified the unit tests by refactoring them to use is_deeply().
-
-2010-05-01 Daniel Bates <dbates@rim.com>
-
- Reviewed by Chris Jerdonek.
-
- https://bugs.webkit.org/show_bug.cgi?id=38423
-
- Adds infrastructure to change the file mode of a file using
- the appropriate SCM-specific routines.
-
- No functionality was changed, so no new tests.
-
- * Scripts/VCSUtils.pm: Added subroutines scmToggleExecutableBit,
- scmAddExecutableBit, and scmRemoveExecutableBit.
- * Scripts/svn-apply: Check for the hash key executableBitDelta
- and toggle the executable bit.
- * Scripts/svn-unapply: Ditto.
-
-2010-04-30 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Simon Fraser.
-
- Enabled accelerated compositing in DRT for Windows
- https://bugs.webkit.org/show_bug.cgi?id=38404
-
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (main):
-
-2010-04-30 Anders Carlsson <andersca@apple.com>
-
- Try to fix GTK+ build.
-
- * DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp:
- (webkit_test_plugin_new_stream):
-
-2010-04-30 Anders Carlsson <andersca@apple.com>
-
- Fix build.
-
- * DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp:
-
-2010-04-30 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Timothy Hatcher.
-
- Next step towards fixing
-
- https://bugs.webkit.org/show_bug.cgi?id=20784
- move npapi.h to C99 integer types
-
- Use the C99 types everywhere. The "old" types are still around but will be removed
- in a subsequent commit.
-
- * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
- (int32VariantToIdentifier):
- (doubleVariantToIdentifier):
- (testIdentifierToInt):
- (testGetIntIdentifier):
- * DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp:
- (NPP_New):
- (NPP_NewStream):
- (NPP_WriteReady):
- (NPP_Write):
- (NPP_HandleEvent):
- * DumpRenderTree/win/TestNetscapePlugin/main.cpp:
- (NPP_New):
- (NPP_NewStream):
- (NPP_WriteReady):
- (NPP_Write):
- (NPP_HandleEvent):
-
-2010-04-30 Steve Block <steveblock@google.com>
-
- Reviewed by Jeremy Orlow.
-
- Changed Steve Block from committer to reviewer.
-
- * Scripts/webkitpy/common/config/committers.py:
-
-2010-04-28 Ojan Vafai <ojan@chromium.org>
-
- Reviewed by Eric Seidel.
-
- webkit-patch doesn't work if a git repo is tracking multiple svn repos
- https://bugs.webkit.org/show_bug.cgi?id=38290
-
- Getting the tests to pass required getting our SVN repo to more closely
- match the real svn.webkit.org repo by having a trunk directory.
- That involved adding an extra commit at the beginning and thus changing
- all the commit numbers in the tests.
-
- * Scripts/webkitpy/common/checkout/scm.py:
-
-2010-04-29 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- new-run-webkit-tests can deadlock with Chromium's TestShell
- https://bugs.webkit.org/show_bug.cgi?id=38298
-
- Fix _write_command_and_read_line to never send unicode() to
- test_shell, instead to always encode as utf-8. This was causing
- random hangs because if test_shell ever encounters a \0 in the
- stream it can deadlock with NRWT.
-
- There is still a deadlock bug to fix in NRWT/test_shell design, however
- this fix should make the deadlock occur less often.
-
- * Scripts/webkitpy/layout_tests/port/chromium.py:
- * Scripts/webkitpy/layout_tests/port/chromium_unittest.py:
-
-2010-04-29 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Refactored svn-apply and svn-unapply to use the new
- parsePatch() subroutine.
-
- https://bugs.webkit.org/show_bug.cgi?id=34033
-
- * Scripts/VCSUtils.pm:
- - Consolidated %diffHash documentation.
- - Added prepareParsedPatch().
-
- * Scripts/svn-apply:
- - Replaced main while loop with calls to parsePatch() and
- prepareParsedPatch().
-
- * Scripts/svn-unapply:
- - Replaced main while loop with calls to parsePatch() and
- prepareParsedPatch().
-
- * Scripts/test-webkitperl:
- - Changed to render relative test paths rather than absolute
- test paths.
-
- * Scripts/webkitperl/VCSUtils_unittest/prepareParsedPatch.pl: Added.
- - Added unit tests for prepareParsedPatch().
-
-2010-04-28 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Added to VCSUtils's parseDiffHeader() support for binary patches.
-
- https://bugs.webkit.org/show_bug.cgi?id=38094
-
- The parseDiffHeader() function is part of new patch-parsing code
- for svn-apply and svn-unapply that will go live in a subsequent
- revision.
-
- * Scripts/VCSUtils.pm:
- - Added logic to parseDiffHeader() to recognize the ending of
- the header portion of a binary diff.
-
- * Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:
- - Added unit test cases for SVN and Git binary diffs.
-
-2010-04-28 Eric Seidel <eric@webkit.org>
-
- Reviewed by David Levin.
-
- Document that subprocess.poll/wait are not threadsafe
- https://bugs.webkit.org/show_bug.cgi?id=38289
-
- * Scripts/webkitpy/common/system/executive.py:
- * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py:
- * Scripts/webkitpy/layout_tests/port/chromium.py:
- * Scripts/webkitpy/layout_tests/port/http_server.py:
- * Scripts/webkitpy/layout_tests/port/server_process.py:
- * Scripts/webkitpy/layout_tests/port/websocket_server.py:
-
-2010-04-28 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Daniel Bates.
-
- Removed the dividing line (i.e. "====...") logic from the code
- called by svn-apply and svn-unapply.
-
- https://bugs.webkit.org/show_bug.cgi?id=38093
-
- The dividing line logic is unnecessary. Removing it simplifies the
- code and makes some subsequent changes easier.
-
- * Scripts/VCSUtils.pm:
- - Removed the logic in gitdiff2svndiff() to convert the git
- "index" line to an SVN dividing line.
- - Adjusted the logic similarly in parseDiffHeader().
-
- * Scripts/webkitperl/VCSUtils_unittest/gitdiff2svndiff.pl:
- - Updated the unit tests as necessary.
-
- * Scripts/webkitperl/VCSUtils_unittest/parseDiff.pl:
- - Updated the unit tests as necessary.
- - Corrected an error in the unit tests whereby all elements
- of an array were referencing the same element rather than
- distinct elements -- causing unit test failures to be masked.
-
- * Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:
- - Updated the unit tests as necessary.
- - Made the same unit test correction as above for parseDiff.pl.
-
-2010-04-28 Evan Stade <estade@chromium.org>
-
- Unreviewed.
-
- * Scripts/webkitpy/common/config/committers.py: adding myself as a committer
-
-2010-04-28 Sam Weinig <sam@webkit.org>
-
- Reviewed by Mark Rowe.
-
- Add MiniBrowser to the lists of modules to build and only build it on
- SnowLeopard and later.
-
- * Makefile:
- * MiniBrowser/Makefile:
-
-2010-04-28 Sam Weinig <sam@webkit.org>
-
- Reviewed by Mark Rowe.
-
- Make running MiniBrowser.app without explicitly setting DYLD_FRAMEWORK_PATH.
-
- * MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj:
- * MiniBrowser/mac/make-launchable.sh: Added.
-
-2010-04-28 Eric Seidel <eric@webkit.org>
-
- Reviewed by David Levin.
-
- Audit all uses of subprocess in webkitpy
- https://bugs.webkit.org/show_bug.cgi?id=38284
-
- After further discussions with Jeffrey Yasskin
- about http://bugs.python.org/issue2320
- and related issues of using subprocess from
- multiple threads, I have learned that subprocess
- is known to be non-threadsafe through recent
- Python 2.7 builds.
-
- I'm attempting to lessen our exposure to these
- subprocess bugs by auditing each use of subprocess
- in webkitpy. I did not find any unsafe calls
- in my audit, but I did remove numerous unneeded
- import subprocess lines.
-
- * Scripts/webkitpy/common/checkout/api.py:
- * Scripts/webkitpy/common/net/bugzilla.py:
- * Scripts/webkitpy/common/system/deprecated_logging_unittest.py:
- * Scripts/webkitpy/common/system/user.py:
- * Scripts/webkitpy/layout_tests/port/base.py:
- * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
- * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
- * Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py: Added.
- * Scripts/webkitpy/layout_tests/port/chromium_win.py:
- * Scripts/webkitpy/layout_tests/port/gtk.py:
- * Scripts/webkitpy/layout_tests/port/mac.py:
- * Scripts/webkitpy/layout_tests/port/qt.py:
- * Scripts/webkitpy/layout_tests/port/webkit.py:
- * Scripts/webkitpy/layout_tests/port/win.py:
-
-2010-04-28 Darin Adler <darin@apple.com>
-
- Ignore a directory the Python tools creates.
-
- * Scripts/webkitpy/style: Modified property svn:ignore.
-
-2010-04-28 Darin Adler <darin@apple.com>
-
- * Scripts/extract-localizable-strings: Fix minor mistake in
- argument checking.
-
-2010-04-28 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] QWebPage viewMode property
- https://bugs.webkit.org/show_bug.cgi?id=38119
-
- Replacing method qt_wrt_setViewMode by wrt_viewMode property.
-
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::setViewModeMediaFeature):
-
-2010-04-28 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Shinichiro Hamaji.
-
- Adjusted check-webkit-style so that files with file type NONE
- are automatically skipped without warning.
-
- https://bugs.webkit.org/show_bug.cgi?id=38197
-
- This change simplifies configuring which files to skip. It also
- addresses an issue whereby check-webkit-style was unintentionally
- checking .vcproj files for carriage returns.
-
- * Scripts/webkitpy/style/checker.py:
- - Moved the C++, Python, and text file extensions to new
- module-level configuration variables.
- - Removed .pyc from the _SKIPPED_FILES_WITHOUT_WARNING configuration
- variable.
- - Changed the numeric values of the FileType enum so that
- FileType.NONE evaluates to False.
- - For ProcessorDispatcher.should_skip_without_warning():
- - Changed the method to return True for FileType.NONE files.
- - Made ChangeLog files an exception to getting skipped.
- - Changed the StyleProcessor.process() method to raise an
- exception if given a file path that should not be processed.
-
- * Scripts/webkitpy/style/checker_unittest.py:
- - Updated the unit tests and added more test cases as necessary.
-
-2010-04-28 Eric Seidel <eric@webkit.org>
-
- Reviewed by Jeremy Orlow.
-
- webkitpy: ScriptError('Failed to run "[u\'taskkill.exe\', u\'/f\', u\'/im\', u\'httpd.exe\']" exit_code: 128',)
- https://bugs.webkit.org/show_bug.cgi?id=38248
-
- The previous code did not check the return code of taskkill.
- When I moved that callsite from using subprocess.call to
- Executive.run_command having a non-zero return code became an error.
-
- In this change I've centralized our killall handling in executive,
- and added tests for it to make sure it works.
-
- Currently kill_process and kill_all swallow exceptions in the cases
- where the process(es) to be killed do(es) not exist.
-
- * Scripts/webkitpy/common/system/executive.py:
- * Scripts/webkitpy/common/system/executive_unittest.py:
- * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
- * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
- * Scripts/webkitpy/layout_tests/port/chromium_win.py:
- * Scripts/webkitpy/layout_tests/port/gtk.py:
- * Scripts/webkitpy/layout_tests/port/mac.py:
- * Scripts/webkitpy/layout_tests/port/qt.py:
- * Scripts/webkitpy/layout_tests/port/win.py:
-
-2010-04-28 Eric Seidel <eric@webkit.org>
-
- Reviewed by Shinichiro Hamaji.
-
- wdiff_text throws ScriptError because wdiff returns non-zero when files differ
- https://bugs.webkit.org/show_bug.cgi?id=38246
-
- wdiff returns 0 when files are the same, 1 when they differ.
- run_command by default raises ScriptError if the return code is non-zero.
- Fixed this by adding a custom error handler which only raises if the
- return code is not 1.
-
- I broke up the huge wdiff_text() method into little pieces
- for easier unit testing. There is only one functional change here
- and that is the addition of the custom error handler.
-
- * Scripts/webkitpy/layout_tests/port/base.py:
- * Scripts/webkitpy/layout_tests/port/base_unittest.py:
-
-2010-04-28 Fumitoshi Ukai <ukai@chromium.org>
-
- Unreviewed build fix.
-
- * DumpRenderTree/chromium/TestShell.cpp:
- (TestShell::dumpImage): format '%u' expects type 'unsigned int', but argument 2 has type 'size_t'.
- * DumpRenderTree/chromium/WebViewHost.cpp:
- (WebViewHost::willSendRequest): too few arguments for format.
-
-2010-04-27 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Darin Adler and Eric Seidel.
-
- Add layoutTestController.setPrinting()
- https://bugs.webkit.org/show_bug.cgi?id=37203
-
- * DumpRenderTree/LayoutTestController.cpp:
- (LayoutTestController::LayoutTestController):
- (setPrintingCallback):
- (LayoutTestController::staticFunctions):
- * DumpRenderTree/LayoutTestController.h:
- (LayoutTestController::isPrinting):
- (LayoutTestController::setIsPrinting):
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (dump):
-
-2010-04-27 Michael Nordman <michaeln@google.com>
-
- Reviewed by Dmitry Titov.
-
- [Chromium] Add two things to the webkit API to support appcaches in workers.
- 1) WebURLRequest TargetTypes for worker and shared worker main resources.
- 2) Factory method on class WebCommonWorkerClient to
- createApplicationCacheHost() for the associated worker.
-
- https://bugs.webkit.org/show_bug.cgi?id=38147
-
- * DumpRenderTree/chromium/TestWebWorker.h add a stub impl of the factory method
- (TestWebWorker::createApplicationCacheHost):
-
-2010-04-27 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- run-bindings-tests doesn't work in an SVN checkout
- https://bugs.webkit.org/show_bug.cgi?id=38225
-
- Previously detect_scm_system needed an absolute path for SVN. Now we
- accept a relative path.
-
- * Scripts/webkitpy/common/checkout/scm.py:
- * Scripts/webkitpy/common/checkout/scm_unittest.py:
-
-2010-04-27 Sam Weinig <sam@webkit.org>
-
- Reviewed by Stephanie Lewis.
-
- Always build WebKit2 when building on SnowLeopard and later.
-
- * Scripts/build-webkit:
-
-2010-04-27 Sam Weinig <sam@webkit.org>
-
- Reviewed by Maciej Stachowiak.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=38238
- Allow both WebKit and WebKit2 to link to the same WebCore.framework
-
- * Scripts/build-webkit: Remove the UMBRELLA_LDFLAGS override when building
- WebCore for WebKit2, it is no longer necessary.
-
-2010-04-27 James Robinson <jamesr@chromium.org>
-
- Reviewed by David Levin.
-
- Fix a typo in chromium.py that causes NRWT to fail in --verbose
- mode in a Chromium checkout.
- https://bugs.webkit.org/show_bug.cgi?id=38234
-
- * Scripts/webkitpy/layout_tests/port/chromium.py:
-
-2010-04-27 Darin Fisher <darin@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [Chromium] Remove deprecated form of didChangeLocationWithinPage
- https://bugs.webkit.org/show_bug.cgi?id=38178
-
- Switch over to implementing didNavigateWithinPage.
-
- * DumpRenderTree/chromium/WebViewHost.cpp:
- (TestWebViewDelegate::didNavigateWithinPage):
- (WebViewHost::didChangeLocationWithinPage):
- * DumpRenderTree/chromium/WebViewHost.h:
-
-2010-04-27 Evan Martin <evan@chromium.org>
-
- Unreviewed.
-
- Adding myself to commmitters list.
-
- * Scripts/webkitpy/common/config/committers.py:
-
-2010-04-27 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Adler.
-
- run-bindings-tests should use --reset-results instead of --overwrite
- https://bugs.webkit.org/show_bug.cgi?id=38200
-
- As requested by Ojan.
-
- * Scripts/run-bindings-tests:
-
-2010-04-27 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- REGRESSION(r58261): webkit-patch edit-changelogs is broken
- https://bugs.webkit.org/show_bug.cgi?id=38204
-
- In 58261, we added code to abstract step that interrogates the squash
- and git_commit options, but it doesn't declare that it uses those
- options. That means any command that doesn't happen to declare those
- options might be broken if it uses the cached_lookup mechanism.
-
- * Scripts/webkitpy/tool/steps/abstractstep.py:
- * Scripts/webkitpy/tool/steps/applypatch.py:
- * Scripts/webkitpy/tool/steps/applypatchwithlocalcommit.py:
- * Scripts/webkitpy/tool/steps/build.py:
- * Scripts/webkitpy/tool/steps/checkstyle.py:
- * Scripts/webkitpy/tool/steps/cleanworkingdirectory.py:
- * Scripts/webkitpy/tool/steps/closebug.py:
- * Scripts/webkitpy/tool/steps/closebugforlanddiff.py:
- * Scripts/webkitpy/tool/steps/commit.py:
- * Scripts/webkitpy/tool/steps/confirmdiff.py:
- * Scripts/webkitpy/tool/steps/createbug.py:
- * Scripts/webkitpy/tool/steps/ensurebuildersaregreen.py:
- * Scripts/webkitpy/tool/steps/ensurelocalcommitifneeded.py:
- * Scripts/webkitpy/tool/steps/obsoletepatches.py:
- * Scripts/webkitpy/tool/steps/postcodereview.py:
- * Scripts/webkitpy/tool/steps/postdiff.py:
- * Scripts/webkitpy/tool/steps/preparechangelog.py:
- * Scripts/webkitpy/tool/steps/runtests.py:
- * Scripts/webkitpy/tool/steps/update.py:
- * Scripts/webkitpy/tool/steps/updatechangelogswithreviewer.py:
- * Scripts/webkitpy/tool/steps/validatereviewer.py:
-
-2010-04-27 Eric Seidel <eric@webkit.org>
-
- Reviewed by David Levin.
-
- prepare-ChangeLog --bug fails on some CYGWIN installs due to missing certs
- https://bugs.webkit.org/show_bug.cgi?id=38212
-
- * Scripts/prepare-ChangeLog:
- - Pass --insecure to curl to work around CYGWIN missing certs.
-
-2010-04-27 Sam Weinig <sam@webkit.org>
-
- Rubber-stamped by Beth Dakin.
-
- It is no longer necessary to set ENABLE_EXPERIMENTAL_SINGLE_VIEW_MODE
- or WTF_USE_WEB_THREAD. Remove them.
-
- * Scripts/build-webkit:
-
-2010-04-27 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by David Levin.
-
- Changed Chris Jerdonek from committer to reviewer.
-
- * Scripts/webkitpy/common/config/committers.py:
-
-2010-04-27 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] QGraphicsWebView: Arrow keys scroll the graphics-view instead of the web-page
- https://bugs.webkit.org/show_bug.cgi?id=35834
-
- The scene should always have the size of the web view otherwhise it is
- possible to scroll the graphics view.
-
- * QtLauncher/webview.cpp:
- (WebViewGraphicsBased::resizeEvent):
-
-2010-04-27 Diego Gonzalez <diegohcg@webkit.org>
-
- Unreviewed.
-
- Adding myself to committers.py
-
- * Scripts/webkitpy/common/config/committers.py:
-
-2010-04-27 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- [chromium] new-run-webkit-tests hangs on Chromium Bots (OS X and Linux)
- https://bugs.webkit.org/show_bug.cgi?id=37987
-
- After further research, I believe the hang is caused by:
- http://bugs.python.org/issue2320
- Basically Popen() is not reentrant.
- The workaround is to pass close_fds=True to Popen() on Mac/Linux.
-
- I fixed our main Popen wrapper "Executive.run_command" to use close_fds=True
- when appropriate.
-
- I audited all places we call Popen() and either moved them to run_command
- or left a FIXME that they are not thread safe. A few places I added the
- close_fds workaround there and left an explanitory note.
-
- * Scripts/webkitpy/common/checkout/scm_unittest.py:
- - Added note that this Popen use is not threadsafe.
- * Scripts/webkitpy/common/system/executive.py:
- - Fixed our Executive.run_* to workaround python bug 2320.
- * Scripts/webkitpy/common/system/user.py:
- _ Added note that this Popen use is not threadsafe.
- * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py: ditto.
- * Scripts/webkitpy/layout_tests/port/apache_http_server.py: ditto.
- * Scripts/webkitpy/layout_tests/port/base.py:
- - Change wdiff back to using run_command now that we believe it
- to be threadsafe.
- * Scripts/webkitpy/layout_tests/port/chromium.py:
- - Fix to use Executive in places.
- - Pass self._executive down to the Driver for easier unit testing.
- * Scripts/webkitpy/layout_tests/port/chromium_win.py:
- - Re-factor to use a _kill_all method.
- - Made the _kill_all method use run_command to be threadsafe.
- * Scripts/webkitpy/layout_tests/port/http_server.py:
- - Add FIXME about using Executive.
- * Scripts/webkitpy/layout_tests/port/server_process.py:
- - Use Executive to be threadsafe.
- * Scripts/webkitpy/layout_tests/port/webkit.py:
- - Pass self._executive down to the Driver.
- * Scripts/webkitpy/layout_tests/port/websocket_server.py:
- - Add note about Popen not being threadsafe.
- * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
- - Move one caller to run_command add notes about moving others.
-
-2010-04-27 Adam Barth <abarth@webkit.org>
-
- Reviewed by Maciej Stachowiak.
-
- REGRESSION(r58261): webkit-patch upload does not work in an SVN checkout.
- https://bugs.webkit.org/show_bug.cgi?id=38186
-
- Unfortunately, we don't have a good way of testing this change because
- our test coverage of the scm.py API is poor...
-
- * Scripts/webkitpy/common/checkout/scm.py:
- * Scripts/webkitpy/tool/steps/preparechangelog.py:
-
-2010-04-26 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Remove unused code from text_diff.py
- https://bugs.webkit.org/show_bug.cgi?id=38170
-
- * Scripts/webkitpy/layout_tests/test_types/text_diff.py:
- - Remove is_render_tree_dump which appears unused.
-
-2010-04-26 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- webkit-patch pretty-diff is broken
- https://bugs.webkit.org/show_bug.cgi?id=38172
-
- We need to register for these options because they're used when we look
- up the diff.
-
- * Scripts/webkitpy/tool/steps/confirmdiff.py:
-
-2010-04-26 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Add ObjC and GObject to run-bindings-test
- https://bugs.webkit.org/show_bug.cgi?id=38168
-
- * Scripts/run-bindings-tests:
-
-2010-04-26 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Add testing infrastructure for JSC bindings generator
- https://bugs.webkit.org/show_bug.cgi?id=38167
-
- Add support for testing more than one bindings. Also, converted the
- script to PEP8 style.
-
- * Scripts/run-bindings-tests:
-
-2010-04-26 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Refactor results.html generation out into a new method and test it
- https://bugs.webkit.org/show_bug.cgi?id=38164
-
- Hopefully this results in no change in functionality.
-
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
- * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py:
-
-2010-04-26 Adam Barth <abarth@webkit.org>
-
- Unreviewed, rolling out r58265.
- http://trac.webkit.org/changeset/58265
- https://bugs.webkit.org/show_bug.cgi?id=38021
-
- This change prevents me from uploading patches. It also breaks sheriff-bot.
-
- * Scripts/webkitpy/tool/steps/options.py:
-
-2010-04-26 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- [chromium] new-run-webkit-tests hangs on Chromium Bots (OS X and Linux)
- https://bugs.webkit.org/show_bug.cgi?id=37987
-
- Rolled out:
- http://trac.webkit.org/changeset/58062
- http://trac.webkit.org/changeset/58060
- http://trac.webkit.org/changeset/58059
- http://trac.webkit.org/changeset/58055
- http://trac.webkit.org/changeset/58054
- and parts of:
- http://trac.webkit.org/changeset/58050
-
- I also wrote some new comments and a tiny amount of new
- code to help make ChromiumDriver.run_test easier to read.
-
- In order to unit-test my new code, I had to change ChromiumDriver
- to not automatically start itself when created. That ended up
- being a lot of plumbing, but is hopefully easier to understand now.
-
- There are no tests for the (restored) wdiff code. wdiff does not
- exist on all systems, so for now we will assume it worked since
- it is just old code being reverted.
-
- * Scripts/webkitpy/layout_tests/driver_test.py:
- - Use create_driver instead of start_driver, and be sure to call .stop()
- * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py:
- - Use create_driver instead of start_driver
- * Scripts/webkitpy/layout_tests/port/base.py:
- - Added a comment to explain that diffs are binary files.
- - Various patch reverts relating to wdiff
- - Add Driver._command_wrapper to share code between WebKitDriver and ChromiumDriver.
- - Made _command_wrapper use shlex.split to get rid of the FIXME.
- * Scripts/webkitpy/layout_tests/port/base_unittest.py: Added.
- - test the new _command_wrapper
- * Scripts/webkitpy/layout_tests/port/chromium.py:
- - Use _command_wrapper to get rid of a bunch of ugly code.
- - Make __init__ stop auto-starting.
- - Rename create_driver to start_driver.
- - Added _write_command_and_read_line to make it possible to
- put a FIXME next to read_line() w/o having to put it in two places.
- - Moved test_shell command building into _test_shell_command and tested it.
- - Fix comments to say test_shell since ChromiumDriver is test_shell only.
- * Scripts/webkitpy/layout_tests/port/chromium_unittest.py: Added.
- - Test the new test_shell_command method.
- * Scripts/webkitpy/layout_tests/port/dryrun.py:
- - Rename create_driver to start_driver.
- * Scripts/webkitpy/layout_tests/port/test.py:
- - Rename create_driver to start_driver.
- * Scripts/webkitpy/layout_tests/port/webkit.py:
- - Rename create_driver to start_driver.
- - Treat output as binary arrays.
- * Scripts/webkitpy/layout_tests/test_types/test_type_base.py:
- - Treat diff files as binary.
- * Scripts/webkitpy/layout_tests/test_types/text_diff.py:
- - Treat diff files as binary.
-
-2010-04-26 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Move bindings test directory into the scripts directory
- https://bugs.webkit.org/show_bug.cgi?id=38161
-
- Change script to point to the new location of these data files.
-
- * Scripts/run-bindings-tests:
-
-2010-04-26 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Mark run-bindings-tests executable so we can execute it.
-
- * Scripts/run-bindings-tests:
-
-2010-04-26 Tony Chang <tony@chromium.org>
-
- Reviewed by David Levin.
-
- [chromium] build-webkit --chromium should build release by default
- https://bugs.webkit.org/show_bug.cgi?id=38028
-
- * Scripts/build-dumprendertree: Also should build release by default
- * Scripts/build-webkit: Make sure to pass command line args through
- * Scripts/webkitdirs.pm: Build the right configuration
-
-2010-04-26 Ojan Vafai <ojan@chromium.org>
-
- Reviewed by Eric Seidel.
-
- complete rietveld bugzilla integration
- https://bugs.webkit.org/show_bug.cgi?id=38021
-
- Makes --fancy-review the default. All this means is that the patch will
- be uploaded to rietveld in addition to bugs.webkit.org.
-
- * Scripts/webkitpy/tool/steps/options.py:
-
-2010-04-26 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Shinichiro Hamaji.
-
- For check-webkit-style, renamed the style/processors/ directory
- to style/checkers/.
-
- https://bugs.webkit.org/show_bug.cgi?id=38122
-
- * Scripts/webkitpy/style/checker.py:
- - Updated import statements.
-
- * Scripts/webkitpy/style/checker_unittest.py:
- - Updated import statements.
-
- * Scripts/webkitpy/style/checkers: Copied from WebKitTools/Scripts/webkitpy/style/processors.
- * Scripts/webkitpy/style/processors: Removed.
- * Scripts/webkitpy/style/processors/__init__.py: Removed.
- * Scripts/webkitpy/style/processors/common.py: Removed.
- * Scripts/webkitpy/style/processors/common_unittest.py: Removed.
- * Scripts/webkitpy/style/processors/cpp.py: Removed.
- * Scripts/webkitpy/style/processors/cpp_unittest.py: Removed.
- * Scripts/webkitpy/style/processors/python.py: Removed.
- * Scripts/webkitpy/style/processors/python_unittest.py: Removed.
- * Scripts/webkitpy/style/processors/python_unittest_input.py: Removed.
- * Scripts/webkitpy/style/processors/text.py: Removed.
- * Scripts/webkitpy/style/processors/text_unittest.py: Removed.
-
-2010-04-06 Ojan Vafai <ojan@chromium.org>
-
- Reviewed by Adam Barth.
-
- Include git commits in the diff for webkit-patch upload/land.
- https://bugs.webkit.org/show_bug.cgi?id=36394
-
- Adds --squash, --no-squash and --git-commit.
-
- --git-commit will use a specific local commit for land/upload.
- If a commit-range is specified, then that range is treated as
- a single squashed commit.
-
- --squash will squash all local changes including working copy changes
- into a single patch.
-
- --no-squash is the legacy behavior (upload only considers the working copy,
- land commits the working copy and then each local commit separately to SVN)
-
- If neither is specified, then an informative error is raised if there is
- more than one local commit or when there are local commit(s) and working
- copy changes.
-
- If the webkit-patch.squash git config parameter is set, then
- that will be respected instead of raising an error.
-
- * Scripts/check-webkit-style:
- * Scripts/webkitpy/common/checkout/api.py:
- * Scripts/webkitpy/common/checkout/api_unittest.py:
- * Scripts/webkitpy/common/checkout/scm.py:
- * Scripts/webkitpy/common/checkout/scm_unittest.py:
- * Scripts/webkitpy/style/optparser.py:
- --git-since is removed and --git-commit no longer implies commit_id..
- Instead, it treats that individual commit, but also supports commit ranges
- (e.g. commit_id..) as arguments.
- * Scripts/webkitpy/style/optparser_unittest.py:
- * Scripts/webkitpy/style_references.py:
- * Scripts/webkitpy/tool/commands/download.py:
- * Scripts/webkitpy/tool/commands/upload.py:
- * Scripts/webkitpy/tool/main.py:
- * Scripts/webkitpy/tool/mocktool.py:
- * Scripts/webkitpy/tool/steps/abstractstep.py:
- * Scripts/webkitpy/tool/steps/applypatchwithlocalcommit.py:
- * Scripts/webkitpy/tool/steps/checkstyle.py:
- * Scripts/webkitpy/tool/steps/commit.py:
- * Scripts/webkitpy/tool/steps/options.py:
- * Scripts/webkitpy/tool/steps/postdiff.py:
- * Scripts/webkitpy/tool/steps/preparechangelog.py:
- * Scripts/webkitpy/tool/steps/preparechangelogforrevert.py:
- * Scripts/webkitpy/tool/steps/updatechangelogswithreviewer.py:
- * Scripts/webkitpy/tool/steps/validatereviewer.py:
-
-2010-04-26 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Shinichiro Hamaji.
-
- Deleted the StyleChecker-related classes that are no longer
- being used.
-
- https://bugs.webkit.org/show_bug.cgi?id=38118
-
- * Scripts/webkitpy/style/checker.py:
- - Deleted the DeprecatedStyleChecker class.
-
- * Scripts/webkitpy/style/checker_unittest.py:
- - Deleted the StyleCheckerTest, StyleCheckerCheckFileBase,
- StyleCheckerCheckFileTest, and StyleCheckerCheckPathsTest classes.
-
-2010-04-26 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Shinichiro Hamaji.
-
- Changed the StyleChecker class to use the new TextFileReader class.
-
- https://bugs.webkit.org/show_bug.cgi?id=37066
-
- This revision separates the code responsible for reading and iterating
- over text files from the rest of check-webkit-style.
-
- * Scripts/check-webkit-style:
- - Changed the script to use the new StyleProcessor and
- TextFileReader classes instead of the StyleChecker class.
-
- * Scripts/webkitpy/style/checker.py:
- - Added a FIXME to rename many of uses of the word "processor" to
- "checker". We did this to clarify the difference between
- ProcessorBase instances passed to the TextFileReader and
- classes that process and check lines for style.
- - Added a FIXME to remove FileType.NONE as a possible return value
- of ProcessorDispatcher._file_type(). This will better consolidate
- the logic of which files should be skipped.
- - Added a FIXME to delete the StyleChecker class.
- - Added the StyleProcessor class which implements ProcessorBase.
- This class is responsible for processing lines to check style
- (but not for reading files). For each file, this class creates
- creates both a carriage-return checker and a format-specific
- style checker (e.g. one of C++, Python, etc).
- - Updated the PatchChecker class to use a TextFileReader instance
- instead of a StyleChecker.
-
- * Scripts/webkitpy/style/checker_unittest.py:
- - Added the StyleProcessor_EndToEndTest class to do "end-to-end"
- tests of the StyleProcessor class.
- - Added the StyleProcessor_CodeCoverageTest to test the
- StyleProcessor class with more complete code coverage.
- Unlike the StyleProcessor_EndToEndTest class, this class makes
- heavy use of mock parameters.
- - Added FIXME's to delete the unit test classes that are no
- longer needed.
- - Updated the PatchCheckerTest class to use a MockTextFileReader
- instead of a MockStyleChecker.
-
- * Scripts/webkitpy/style/filereader.py:
- - Updated the TextFileReader class to use the preferred logic
- of checking file existence at the beginning of the process_file()
- method instead of in the except block, per
- https://bugs.webkit.org/show_bug.cgi?id=37122
-
- * Scripts/webkitpy/style/filereader_unittest.py:
- - In the TextFileReaderTest class:
- - Moved the test_process_file__should_not_process() method.
- - Added a test_process_file__file_stdin() method to test
- the file path "-".
-
-2010-04-20 Robert Hogan <robert@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Add more support for textInputController
-
- Add support for selectedRange(), setMarkedText(), insertText(),
- and firstRectForCharacterRange().
-
- Unskip tests:
-
- fast/forms/input-maxlength-ime-preedit.html
- fast/forms/input-maxlength-ime-completed.html
- fast/text/international/thai-cursor-position.html
- fast/events/ime-composition-events-001.html
- editing/selection/5825350-1.html
- editing/selection/5825350-2.html
- editing/selection/mixed-editability-10.html
-
- https://bugs.webkit.org/show_bug.cgi?id=35702
-
- * DumpRenderTree/qt/TextInputControllerQt.cpp:
- (TextInputController::setMarkedText):
- (TextInputController::insertText):
- (TextInputController::selectedRange):
- (TextInputController::firstRectForCharacterRange):
- * DumpRenderTree/qt/TextInputControllerQt.h:
-
-2010-04-23 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- check-webkit-style complains about non-utf8 data in layout test result
- https://bugs.webkit.org/show_bug.cgi?id=38027
-
- The problem was we were assuming patch files/diff output as utf-8.
- Turns out they're not. We have to treat them as binary data because
- a single patch may have multiple text files in it with conflicting encodings!
-
- * Scripts/webkitpy/common/checkout/api.py:
- - contents_at_revision returns a byte array, so decode it to unicode
- before passing it to parse_latest_entry_from_file
- * Scripts/webkitpy/common/checkout/api_unittest.py:
- - Update our mock mock_contents_at_revision to match the encoding
- semantics of the real one.
- * Scripts/webkitpy/common/checkout/scm.py:
- - Be careful not to decode output which may contain file contents
- (like diff, cat or show) as the encoding for that content is unknown.
- * Scripts/webkitpy/common/checkout/scm_unittest.py:
- - Update our tests to use both latin1 and utf-8 encoded data.
- * Scripts/webkitpy/common/net/bugzilla.py:
- - _fill_attachment_form should not assume unicode data. Callers
- may wish to attach other types of files to bugs.
- * Scripts/webkitpy/common/prettypatch.py:
- - Diffs are byte arrays, deal with them as such.
- * Scripts/webkitpy/common/prettypatch_unittest.py:
- - Test to make sure we handle diffs with multiple conflicting encodings.
- * Scripts/webkitpy/common/system/executive_unittest.py:
- - Make sure that our unicode support does not break our
- byte array input support for run_command.
-
-2010-04-23 Sam Weinig <sam@webkit.org>
-
- Reviewed by David Levin.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=38060
- Split up Threading.h
-
- Add necessary forwarding headers.
-
- * DumpRenderTree/ForwardingHeaders/wtf/Atomics.h: Added.
- * DumpRenderTree/ForwardingHeaders/wtf/ThreadSafeShared.h: Added.
- * DumpRenderTree/ForwardingHeaders/wtf/ThreadingPrimitives.h: Added.
-
-2010-04-23 Xiaomei Ji <xji@chromium.org>
-
- No need to review.
-
- Add xji as committer.
-
- * Scripts/webkitpy/common/config/committers.py:
-
-2010-04-23 Kevin Ollivier <kevino@theolliviers.com>
-
- [wx] Build fix, add platform stub for new LayoutTestController method.
-
- * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
- (LayoutTestController::markerTextForListItem):
-
-2010-04-19 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Adam Barth.
-
- new-run-webkit-tests: add a "--retry-failures" flag and a
- "--no-retry-failures" flag (the former is the default). Also, rename
- "--print-unexpected-results" and "--retry-unexpected-results" to
- "--print-last-failures" and "--retry-last-failures" because the
- retry flag was confusing. The new flag names aren't great, but
- hopefully they're less confusing.
-
- https://bugs.webkit.org/show_bug.cgi?id=37838
-
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
-
-2010-04-22 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=38022
- Move isMainThread predicate function to MainThread.h
-
- Added forwarding header for MainThread.h
-
- * DumpRenderTree/ForwardingHeaders/wtf/MainThread.h: Added.
-
-2010-04-23 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Disable Netscape plugin support for minimal configuration
- https://bugs.webkit.org/show_bug.cgi?id=38026
-
- Pass the minimal configuration option to Qt build system
- as part of the CONFIG variable.
-
- * Scripts/build-webkit:
-
-2010-04-22 Fumitoshi Ukai <ukai@chromium.org>
-
- Unreviewed fix.
-
- * Scripts/webkitpy/layout_tests/port/websocket_server.py: fix NameError: global name 'f' is not defined.
-
-2010-04-22 James Robinson <jamesr@chromium.org>
-
- Reviewed by Adam Barth.
-
- Revert 58077 and follow-ups. It's broken.
- https://bugs.webkit.org/show_bug.cgi?id=37664
-
- * Scripts/new-run-webkit-httpd:
- * Scripts/new-run-webkit-websocketserver:
- * Scripts/webkitpy/layout_tests/port/chromium_win.py:
- * Scripts/webkitpy/layout_tests/port/http_server.py:
- * Scripts/webkitpy/layout_tests/port/websocket_server.py:
-
-2010-04-22 Yaar Schnitman <yaar@chromium.org>
-
- Reviewed by Adam Barth.
-
- Integrate v8 testing utility with webkit tests
- https://bugs.webkit.org/show_bug.cgi?id=37731
-
- * Scripts/run-bindings-tests: Added.
-
-2010-04-22 Eric Seidel <eric@webkit.org>
-
- Reviewed by Dimitri Glazkov.
-
- new-run-webkit-tests --verbose shows ever-increasing #EOF lines
- https://bugs.webkit.org/show_bug.cgi?id=37794
-
- * Scripts/webkitpy/layout_tests/port/webkit.py:
- - Remove the assert() since our ServerProcess code does not always
- seem to be reading the full stderr output (or we're not waiting for it to).
-
-2010-04-22 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Add code to help debug new-run-webkit-test hangs on the Chromium bots
- https://bugs.webkit.org/show_bug.cgi?id=38011
-
- I can see no reasonable way to test this change.
- Stubbing out sys._current_frames() and traceback.extract_stack
- seems folly. Dumping real data would have line number
- (and possibly other call stack) variance between runs.
-
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
- - Add _dump_thread_states and _dump_thread_states_if_necessary
- to have our main thread dump the states of all threads every
- 60 seconds when running in verbose mode.
- - Better document what is going on in our main loop.
-
-2010-04-22 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=38002
- Add rudimentary statistics gathering for WebKit2
-
- * MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj:
- * MiniBrowser/mac/AppDelegate.h:
- * MiniBrowser/mac/AppDelegate.m:
- (-[BrowserAppDelegate init]):
- (-[BrowserAppDelegate newWindow:]):
- (-[BrowserAppDelegate getCurrentPageNamespace]):
- (-[BrowserAppDelegate _setProcessModel:]):
- (-[BrowserAppDelegate showStatisticsWindow:]):
- (-[BrowserAppDelegate applicationWillTerminate:]):
- * MiniBrowser/mac/BrowserStatisticsWindow.xib: Added.
- * MiniBrowser/mac/BrowserStatisticsWindowController.h: Added.
- * MiniBrowser/mac/BrowserStatisticsWindowController.m: Added.
- (-[BrowserStatisticsWindowController initWithThreadedWKContextRef:processWKContextRef:]):
- (-[BrowserStatisticsWindowController dealloc]):
- (-[BrowserStatisticsWindowController windowDidLoad]):
- (-[BrowserStatisticsWindowController refreshStatistics:]):
- * MiniBrowser/mac/BrowserWindowController.h:
- * MiniBrowser/mac/English.lproj/MainMenu.xib:
- * MiniBrowser/mac/MiniBrowser_Prefix.pch:
-
-2010-04-22 Dave Moore <davemoore@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Add test support for icon changes.
-
- https://bugs.webkit.org/show_bug.cgi?id=33812
-
- * DumpRenderTree/LayoutTestController.cpp:
- (LayoutTestController::LayoutTestController):
- (dumpIconChangesCallback):
- (LayoutTestController::staticFunctions):
- * DumpRenderTree/LayoutTestController.h:
- (LayoutTestController::dumpIconChanges):
- (LayoutTestController::setDumpIconChanges):
- * DumpRenderTree/win/FrameLoadDelegate.cpp:
- (FrameLoadDelegate::didChangeIcons):
- * DumpRenderTree/win/FrameLoadDelegate.h:
- * WinLauncher/WinLauncher.h:
- (WinLauncherWebHost::didChangeIcons):
-
-2010-04-22 Eric Seidel <eric@webkit.org>
-
- Unreviewed. Script fix. Will ask dpranke to look tomorrow.
-
- new-run-webkit-tests --verbose shows ever-increasing #EOF lines
- https://bugs.webkit.org/show_bug.cgi?id=37794
-
- The bots are seeing cases where .error is sometimes empty.
- Lets make the code not crash in that case for now.
-
- * Scripts/webkitpy/layout_tests/port/webkit.py:
-
-2010-04-22 Fumitoshi Ukai <ukai@chromium.org>
-
- Unreviewed fix.
-
- * Scripts/webkitpy/layout_tests/port/websocket_server.py: fix NameError: global name 'f' is not defined.
-
-2010-04-22 Fumitoshi Ukai <ukai@chromium.org>
-
- Unreviewed fix.
-
- * Scripts/new-run-webkit-websocketserver: PyWebSocket no longer takes keyword argument 'register_cygwin'.
-
-2010-04-22 Eric Seidel <eric@webkit.org>
-
- Unreviewed. Restore the Leopard bots to using
- old-run-webkit-tests for now.
-
- * Scripts/run-webkit-tests:
-
-2010-04-22 Fumitoshi Ukai <ukai@chromium.org>
-
- Unreviewed fix.
-
- * Scripts/webkitpy/layout_tests/port/http_server.py: fix NameError: global name 'env' is not defined.
-
-2010-04-22 Fumitoshi Ukai <ukai@chromium.org>
-
- Unreviewed fix.
-
- * Scripts/webkitpy/layout_tests/port/websocket_server.py: fix NameError: global name 'env' is not defined.
-
-2010-04-22 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by Adam Barth.
-
- Chromium: Add --chromium option to new-run-webkit-websocketserver
- https://bugs.webkit.org/show_bug.cgi?id=37664
-
- Move cygwin setup logic in chromium_win.py.
-
- * Scripts/new-run-webkit-httpd: remove register_cygwin parameter to pass http_server.
- * Scripts/new-run-webkit-websocketserver: add --chromium flag
- * Scripts/webkitpy/layout_tests/port/chromium_win.py: setup for cygwin
- * Scripts/webkitpy/layout_tests/port/http_server.py: remove cygwin setup logic
- * Scripts/webkitpy/layout_tests/port/websocket_server.py: remove cygwin setup logic
-
-2010-04-22 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- new-run-webkit-tests --verbose shows ever-increasing #EOF lines
- https://bugs.webkit.org/show_bug.cgi?id=37794
-
- * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py:
- - Fix the log message to explain that this is stderr output, not test output.
- * Scripts/webkitpy/layout_tests/port/webkit.py:
- - Be sure to reset the server_process.error after reading (seems like the wrong
- place to do this, but at least this fixes the bug and dpranke and I can talk
- about better designs later).
- - Also remove the #EOF from the stderr output before returning it.
-
-2010-04-22 Eric Seidel <eric@webkit.org>
-
- Unreviewed. Fixing new-run-webkit-tests on the bots.
-
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
- - Fixing _compat_shim_option to take variable keyword args.
- - Turns out that nargs + callback is ignored unless type is specified.
- So I added the type so that the option was properly consumed.
- This was why new-run-webkit-tests couldn't find any tests, it
- was looking for them under "20" because that was the argument
- which should have been consumed by --exit-after-n-failures.
-
-2010-04-22 Tony Chang <tony@chromium.org>
-
- Not reviewed, build fix for chromium Windows.
-
- [chromium] fix ImageDiff compile on windows
- https://bugs.webkit.org/show_bug.cgi?id=37979
-
- * DumpRenderTree/chromium/ImageDiff.cpp:
-
-2010-04-22 Adam Barth <abarth@webkit.org>
-
- Unreviewed, rolling out r58069.
- http://trac.webkit.org/changeset/58069
- https://bugs.webkit.org/show_bug.cgi?id=27751
-
- Broke compile on Windows.
-
- * DumpRenderTree/LayoutTestController.cpp:
- (LayoutTestController::staticFunctions):
- * DumpRenderTree/LayoutTestController.h:
- * DumpRenderTree/chromium/LayoutTestController.cpp:
- (LayoutTestController::LayoutTestController):
- (LayoutTestController::overridePreference):
- * DumpRenderTree/chromium/LayoutTestController.h:
- * DumpRenderTree/chromium/TestShell.cpp:
- (TestShell::resetWebSettings):
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (resetDefaultsToConsistentValues):
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::WebPage::WebPage):
- (WebCore::WebPage::resetSettings):
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (resetDefaultsToConsistentValues):
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
-
-2010-04-22 Eric Seidel <eric@webkit.org>
-
- Unreviewed. Just adding logging.
-
- Adding logging to help debug why the Leopard Bot
- can't find any tests to run.
-
- * Scripts/webkitpy/layout_tests/layout_package/test_files.py:
- * Scripts/webkitpy/layout_tests/port/base.py:
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
- - Make it a fatal error to have no tests to run.
-
-2010-04-22 Abhishek Arya <inferno@chromium.org>
-
- Reviewed by Adam Barth.
-
- Add support for controlling clipboard access from javascript.
- Clipboard access from javascript is enabled in test framework.
- https://bugs.webkit.org/show_bug.cgi?id=27751
-
- * DumpRenderTree/LayoutTestController.cpp:
- (setJavaScriptCanAccessClipboardCallback):
- (LayoutTestController::staticFunctions):
- * DumpRenderTree/LayoutTestController.h:
- * DumpRenderTree/chromium/LayoutTestController.cpp:
- (LayoutTestController::LayoutTestController):
- (LayoutTestController::setJavaScriptCanAccessClipboard):
- (LayoutTestController::overridePreference):
- * DumpRenderTree/chromium/LayoutTestController.h:
- * DumpRenderTree/chromium/TestShell.cpp:
- (TestShell::resetWebSettings):
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::setJavaScriptCanAccessClipboard):
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (resetDefaultsToConsistentValues):
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (LayoutTestController::setJavaScriptCanAccessClipboard):
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::WebPage::WebPage):
- (WebCore::WebPage::resetSettings):
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::setJavaScriptCanAccessClipboard):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (resetDefaultsToConsistentValues):
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::setJavaScriptCanAccessClipboard):
- * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
- (LayoutTestController::setJavaScriptCanAccessClipboard):
-
-2010-04-21 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- webkit-patch can't fetch attachments on security bugs
- https://bugs.webkit.org/show_bug.cgi?id=37975
-
- Instead of calling CURL, we just need to use our Mechanize object,
- which understand bugs.webkit.org authentication.
-
- * Scripts/webkitpy/common/checkout/api.py:
- * Scripts/webkitpy/common/net/bugzilla.py:
-
-2010-04-21 Eric Seidel <eric@webkit.org>
-
- Unreviewed. Temporary commit, will roll-out before morning.
-
- Turning on new-run-webkit-tests for the Leopard build bot
- for testing of the harness.
- Users should not noctice (except for the results.html difference).
-
- * Scripts/run-webkit-tests:
-
-2010-04-21 Eric Seidel <eric@webkit.org>
-
- Unreviewed. Fix typo in my previous fix attempt.
-
- REGRESSION(57531): the commit-queue still hates Tor Arne Vestbø
- https://bugs.webkit.org/show_bug.cgi?id=37765
-
- More on-the-bot debugging, sigh. I wish I had a local build.
-
- * Scripts/webkitpy/layout_tests/port/base.py:
-
-2010-04-21 Eric Seidel <eric@webkit.org>
-
- Unreviewed. Fix typo in my previous fix attempt.
-
- REGRESSION(57531): the commit-queue still hates Tor Arne Vestbø
- https://bugs.webkit.org/show_bug.cgi?id=37765
-
- * Scripts/webkitpy/layout_tests/port/base.py:
- - Add self. to class variable access.
-
-2010-04-21 Eric Seidel <eric@webkit.org>
-
- Unreviewed. Another attempt to fix NRWT for chromium.
-
- REGRESSION(57531): the commit-queue still hates Tor Arne Vestbø
- https://bugs.webkit.org/show_bug.cgi?id=37765
-
- * Scripts/webkitpy/layout_tests/port/base.py:
- - wdiff_text was returning a byte array instead of a
- unicode string. The simple fix was to just decode
- the result. However, seeing so much duplicated code
- with Executive made me cry, so I re-wrote the function
- to be more like pretty_patch_text and use run_command
- (which already knows how to handle unicode).
-
-2010-04-21 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Windows tests buildbots are too slow to be core builders
- https://bugs.webkit.org/show_bug.cgi?id=37970
-
- It's 10:45. The Windows test bots are still hours behind. They're too
- slow to be core builders. When they get fast, we can add them back.
-
- * Scripts/webkitpy/common/net/buildbot.py:
- * Scripts/webkitpy/common/net/buildbot_unittest.py:
-
-2010-04-21 Eric Seidel <eric@webkit.org>
-
- Unreviewed. Attempt one more time to fix NRWT for chromium.
-
- REGRESSION(57531): the commit-queue still hates Tor Arne Vestbø
- https://bugs.webkit.org/show_bug.cgi?id=37765
-
- I'm debugging in the blind because I don't have a chromium
- build on this laptop.
-
- * Scripts/webkitpy/layout_tests/port/chromium.py:
- - Apply the previous fix to a second caller.
-
-2010-04-21 Eric Seidel <eric@webkit.org>
-
- Unreviewed. Attempt one more time to fix NRWT for chromium.
-
- REGRESSION(57531): the commit-queue still hates Tor Arne Vestbø
- https://bugs.webkit.org/show_bug.cgi?id=37765
-
- * Scripts/webkitpy/layout_tests/port/chromium.py:
- - Fix handling of test_shell output so that we always
- decode it as utf-8.
- Unlike DumpRenderTree test_shell does not ever return
- pixel data. It spits out the pixel dumps in a separate
- file, thus all output over stdout is utf-8 text.
-
-2010-04-21 Eric Seidel <eric@webkit.org>
-
- Unreviewed. Attempt one more time to fix NRWT for chromium.
-
- REGRESSION(57531): the commit-queue still hates Tor Arne Vestbø
- https://bugs.webkit.org/show_bug.cgi?id=37765
-
- * Scripts/webkitpy/layout_tests/test_types/image_diff.py:
- - Pass encoding to _save_baseline_data and write_output_files
- * Scripts/webkitpy/layout_tests/test_types/test_type_base.py:
- - Make _save_baseline_data and write_output_files take an encoding.
- * Scripts/webkitpy/layout_tests/test_types/text_diff.py:
- - Pass encoding to _save_baseline_data and write_output_files
-
-2010-04-21 No'am Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] QtLauncher: make FPS measurement accurate
- https://bugs.webkit.org/show_bug.cgi?id=37934
-
- Instead of counting paints, which are not interchangeable with frames that
- the user sees, we now set an arbitrary timer for FPS measurements. The idea is
- that if the main thread is delayed for any reason, that timer would be delayed
- as well.
-
- * QtLauncher/QtLauncher.pro:
- * QtLauncher/fpstimer.cpp: Added.
- (FpsTimer::FpsTimer):
- (FpsTimer::numFrames):
- (FpsTimer::start):
- (FpsTimer::stop):
- (FpsTimer::timerEvent):
- * QtLauncher/fpstimer.h: Added.
- * QtLauncher/webview.cpp:
- (WebViewGraphicsBased::setFrameRateMeasurementEnabled):
- (WebViewGraphicsBased::updateFrameRate):
- (WebViewGraphicsBased::paintEvent):
- * QtLauncher/webview.h:
-
-2010-04-21 Eric Seidel <eric@webkit.org>
-
- Unreviewed, just adding missing ":" in python file.
-
- REGRESSION(57531): the commit-queue still hates Tor Arne Vestbø
- https://bugs.webkit.org/show_bug.cgi?id=37765
-
- new-run-webkit-tests --chromium was borked.
-
- * Scripts/webkitpy/layout_tests/port/chromium.py:
-
-2010-04-21 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- REGRESSION(57531): the commit-queue still hates Tor Arne Vestbø
- https://bugs.webkit.org/show_bug.cgi?id=37765
-
- Third time is the charm. I've fixed all the
- new-run-webkit-tests regressions from previous attempts.
-
- I fixed the queue to not ignore Tor as a reviwer in r57531,
- but instead it throws an exception every time his name is in a patch.
-
- This fixes our Executive.run_command code to work around a Popen
- bug http://bugs.python.org/issue5290 whereby python versions before 2.6
- do not correctly handle unicode objects as input or output to
- Popen.communicate.
-
- Following the advice of:
- http://farmdev.com/talks/unicode/
- I have changed all of webkitpy to use unicode() objects as strings
- instead of str objects (which in Python 3 are renamed "bytes").
-
- String literals were left as "foo" instead of converting to u"foo"
- as u"foo" is only required if the string has a non-ascii code point.
- Python is smart about comparing str() and unicode() values and will
- log an error to the console if the comparison is ever invalid.
-
- Executive.run* now correctly accept and return unicode() objects.
- I attempted to fix all the places that we call .write() to make sure we
- encode any unicode() objects into utf-8.
-
- I removed several uses of StringIO. StringIO should generally always be
- passed a unicode() value.
-
- Likewise I replaced most calls to open() with codecs.open().
- codecs.open() matches Python 3 open semantics in requiring an encoding
- parameter. Files opened with codecs.open() with a unicode-compatible
- encoding will vend unicode() objects from their read() calls, like how
- StringIO created with a unicode() object will do.
-
- I also deployed "with" statements wider (now that the project has
- settled on Python 2.5) to close a bunch of file descriptor leaks.
-
- * Scripts/webkitpy/common/checkout/api_unittest.py:
- - Read/write utf-8 files instead of ascii.
- - Update the tests to use test for proper unicode() handling.
- * Scripts/webkitpy/common/checkout/changelog.py:
- - Document that parse_latest_entry_from_file expects
- file-like objects which return unicode strings.
- * Scripts/webkitpy/common/checkout/changelog_unittest.py:
- - Use unicode() strings instead of str() byte arrays.
- - Deploy "with" to close file descriptor leaks.
- * Scripts/webkitpy/common/checkout/commitinfo.py:
- - Remove unneeded import.
- * Scripts/webkitpy/common/checkout/scm.py:
- - Remove use of str().
- * Scripts/webkitpy/common/checkout/scm_unittest.py:
- - Read/write utf-8 files and use unicode() strings in testing.
- * Scripts/webkitpy/common/config/committers.py:
- - Use \u instead of \x to make slightly clearer what we're doing.
- * Scripts/webkitpy/common/net/bugzilla.py:
- - Add a new _string_contents() method and explain why
- we have to call unicode() on the result of soup.string
- and why it's safe to do so w/o needing to pass a codec name.
- - Remove the (unused) support for passing a file object to add_patch_to_bug().
- * Scripts/webkitpy/common/net/buildbot.py:
- - Use unicode() instead of str() when needing to coax a
- NavigableString object into a unicode() object.
- * Scripts/webkitpy/common/net/buildbot_unittest.py:
- - Add a test which contains a unicode builder name.
- * Scripts/webkitpy/common/net/statusserver.py:
- - Remove use of str()
- * Scripts/webkitpy/common/prettypatch.py:
- - Write out the patch file as utf-8.
- * Scripts/webkitpy/common/system/autoinstall.py:
- - Write out files with a explicit encodings.
- - Deploy "with" to close file descriptor leaks.
- * Scripts/webkitpy/common/system/deprecated_logging.py:
- - Write out log files as utf-8.
- * Scripts/webkitpy/common/system/executive.py:
- - Make run* properly take and return unicode() objects.
- - Cleaned up input handling in run_command a little by adding
- a _compute_input() method which can return early instead of having
- such a long/cluttered if-block.
- * Scripts/webkitpy/common/system/executive_unittest.py:
- - Added a unit test to make sure we don't break Tor again!
- * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py:
- - Write out the test list as utf-8.
- * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
- - Write out json files as utf-8.
- * Scripts/webkitpy/layout_tests/port/apache_http_server.py:
- - Deploy "with" to close file descriptor leaks.
- * Scripts/webkitpy/layout_tests/port/chromium.py: Add Executive.py FIXME.
- * Scripts/webkitpy/layout_tests/port/chromium_linux.py: ditto.
- * Scripts/webkitpy/layout_tests/port/chromium_mac.py: ditto.
- * Scripts/webkitpy/layout_tests/port/gtk.py: ditto.
- * Scripts/webkitpy/layout_tests/port/mac.py: ditto.
- * Scripts/webkitpy/layout_tests/port/mac_unittest.py:
- - Make the skipped file parsing test unicode.
- * Scripts/webkitpy/layout_tests/port/qt.py: Add Executive.py FIXME.
- * Scripts/webkitpy/layout_tests/port/server_process.py: ditto.
- * Scripts/webkitpy/layout_tests/port/webkit.py:
- - Deploy "with" to close file descriptor leaks.
- * Scripts/webkitpy/layout_tests/port/websocket_server.py:
- - Make explicit the encodings of log files and pid files.
- * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
- - Make encodings explicit and deploy "with".
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py: ditto.
- * Scripts/webkitpy/layout_tests/test_types/image_diff.py: ditto.
- * Scripts/webkitpy/layout_tests/test_types/test_type_base.py: ditto.
- * Scripts/webkitpy/layout_tests/test_types/text_diff.py: ditto.
- * Scripts/webkitpy/style/filereader_unittest.py: ditto.
- * Scripts/webkitpy/thirdparty/__init__.py: ditto.
- * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
- - Removed extra import.
- * Scripts/webkitpy/tool/commands/queues.py:
- - No need to map args to strings now that run_command does.
- - Update test results to match args changes.
- - Document our global argument hacks.
- * Scripts/webkitpy/tool/commands/upload.py:
- - Pass the diff directly to add_patch_to_bug instead of creating a StringIO file wrapper.
- * Scripts/webkitpy/tool/mocktool.py:
- - Rename add_patch_to_bug argument to match bugzilla.py
- * Scripts/webkitpy/tool/steps/abstractstep.py:
- - Executive.run_* now require lists instead of strings.
- The lack of this change was what broke webkit-patch
- for svn users the first time this was landed.
- * Scripts/webkitpy/tool/steps/postdiff.py:
- - Pass the diff directly to add_patch_to_bug instead of creating a StringIO file wrapper.
- * Scripts/webkitpy/tool/steps/postdiffforcommit.py: ditto
- * Scripts/webkitpy/tool/steps/postdiffforrevert.py: ditto
- * Scripts/webkitpy/tool/steps/steps_unittest.py:
- - Fixed spurious logging seen when running test-webkitpy
-
-2010-04-21 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- aria-liveregion-notifications.html fails on leopard release bot
- https://bugs.webkit.org/show_bug.cgi?id=37112
-
- Change the way that notifications are listened for by forcing clients
- to call a remove listener as well to match the add listener. DRT will
- assert if those are not done in the correct order.
-
- * DumpRenderTree/AccessibilityUIElement.cpp:
- (removeNotificationListenerCallback):
- (AccessibilityUIElement::getJSClass):
- * DumpRenderTree/AccessibilityUIElement.h:
- * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
- (AccessibilityUIElement::removeNotificationListener):
- * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
- (-[AccessibilityNotificationHandler initWithPlatformElement:]):
- (-[AccessibilityNotificationHandler dealloc]):
- (-[AccessibilityNotificationHandler _notificationReceived:]):
- (-[AccessibilityNotificationHandler setCallback:]):
- (AccessibilityUIElement::AccessibilityUIElement):
- (AccessibilityUIElement::~AccessibilityUIElement):
- (AccessibilityUIElement::addNotificationListener):
- (AccessibilityUIElement::removeNotificationListener):
- * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
- (AccessibilityUIElement::removeNotificationListener):
-
-2010-04-21 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add debug menu items to show/hide the Web View.
- https://bugs.webkit.org/show_bug.cgi?id=37958
-
- * MiniBrowser/mac/BrowserWindowController.h:
- * MiniBrowser/mac/BrowserWindowController.m:
- (-[BrowserWindowController showHideWebView:]):
- (-[BrowserWindowController removeReinsertWebView:]):
- (-[BrowserWindowController validateMenuItem:]):
- * MiniBrowser/mac/English.lproj/MainMenu.xib:
-
-2010-04-21 Eric Seidel <eric@webkit.org>
-
- Unreviewed. Rolling out unicode() changes as they broke NRWT for chromium.
- Rolling out:
- http://trac.webkit.org/changeset/58014
- http://trac.webkit.org/changeset/58016
- http://trac.webkit.org/changeset/58020
-
- REGRESSION(57531): the commit-queue still hates Tor Arne Vestbo
- https://bugs.webkit.org/show_bug.cgi?id=37765
-
- * Scripts/webkitpy/common/checkout/api_unittest.py:
- * Scripts/webkitpy/common/checkout/changelog.py:
- * Scripts/webkitpy/common/checkout/changelog_unittest.py:
- * Scripts/webkitpy/common/checkout/commitinfo.py:
- * Scripts/webkitpy/common/checkout/scm.py:
- * Scripts/webkitpy/common/checkout/scm_unittest.py:
- * Scripts/webkitpy/common/config/committers.py:
- * Scripts/webkitpy/common/net/bugzilla.py:
- * Scripts/webkitpy/common/net/buildbot.py:
- * Scripts/webkitpy/common/net/buildbot_unittest.py:
- * Scripts/webkitpy/common/net/statusserver.py:
- * Scripts/webkitpy/common/prettypatch.py:
- * Scripts/webkitpy/common/system/autoinstall.py:
- * Scripts/webkitpy/common/system/deprecated_logging.py:
- * Scripts/webkitpy/common/system/executive.py:
- * Scripts/webkitpy/common/system/executive_unittest.py:
- * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py:
- * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
- * Scripts/webkitpy/layout_tests/port/apache_http_server.py:
- * Scripts/webkitpy/layout_tests/port/chromium.py:
- * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
- * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
- * Scripts/webkitpy/layout_tests/port/gtk.py:
- * Scripts/webkitpy/layout_tests/port/mac.py:
- * Scripts/webkitpy/layout_tests/port/mac_unittest.py:
- * Scripts/webkitpy/layout_tests/port/qt.py:
- * Scripts/webkitpy/layout_tests/port/server_process.py:
- * Scripts/webkitpy/layout_tests/port/webkit.py:
- * Scripts/webkitpy/layout_tests/port/websocket_server.py:
- * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
- * Scripts/webkitpy/layout_tests/test_types/image_diff.py:
- * Scripts/webkitpy/layout_tests/test_types/test_type_base.py:
- * Scripts/webkitpy/layout_tests/test_types/text_diff.py:
- * Scripts/webkitpy/style/filereader_unittest.py:
- * Scripts/webkitpy/thirdparty/__init__.py:
- * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
- * Scripts/webkitpy/tool/commands/queues.py:
- * Scripts/webkitpy/tool/commands/queues_unittest.py:
- * Scripts/webkitpy/tool/commands/upload.py:
- * Scripts/webkitpy/tool/mocktool.py:
- * Scripts/webkitpy/tool/steps/abstractstep.py:
- * Scripts/webkitpy/tool/steps/postdiff.py:
- * Scripts/webkitpy/tool/steps/postdiffforcommit.py:
- * Scripts/webkitpy/tool/steps/postdiffforrevert.py:
- * Scripts/webkitpy/tool/steps/steps_unittest.py:
-
-2010-04-21 Eric Seidel <eric@webkit.org>
-
- Unreviewed, fixing NRWT for real this time.
-
- REGRESSION(57531): the commit-queue still hates Tor Arne Vestbø
- https://bugs.webkit.org/show_bug.cgi?id=37765
-
- * Scripts/webkitpy/layout_tests/test_types/test_type_base.py:
- - Add a hack to fix new-run-webkit-tests
- my understanding of codecs.open(encoding=None)
- must have been wrong.
-
-2010-04-21 Eric Seidel <eric@webkit.org>
-
- Unreviewed, just fixing exception seen on builders.
-
- REGRESSION(57531): the commit-queue still hates Tor Arne Vestbø
- https://bugs.webkit.org/show_bug.cgi?id=37765
-
- * Scripts/webkitpy/layout_tests/test_types/test_type_base.py:
- - Pass and encoding to _write_into_file_at_path
-
-2010-04-21 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- REGRESSION(57531): the commit-queue still hates Tor Arne Vestbø
- https://bugs.webkit.org/show_bug.cgi?id=37765
-
- I fixed the queue to not ignore Tor as a reviwer in r57531,
- but instead it throws an exception every time his name is in a patch.
-
- This fixes our Executive.run_command code to work around a Popen
- bug http://bugs.python.org/issue5290 whereby python versions before 2.6
- do not correctly handle unicode objects as input or output to
- Popen.communicate.
-
- Following the advice of:
- http://farmdev.com/talks/unicode/
- I have changed all of webkitpy to use unicode() objects as strings
- instead of str objects (which in Python 3 are renamed "bytes").
-
- String literals were left as "foo" instead of converting to u"foo"
- as u"foo" is only required if the string has a non-ascii code point.
- Python is smart about comparing str() and unicode() values and will
- log an error to the console if the comparison is ever invalid.
-
- Executive.run* now correctly accept and return unicode() objects.
- I attempted to fix all the places that we call .write() to make sure we
- encode any unicode() objects into utf-8.
-
- I removed several uses of StringIO. StringIO should generally always be
- passed a unicode() value.
-
- Likewise I replaced most calls to open() with codecs.open().
- codecs.open() matches Python 3 open semantics in requiring an encoding
- parameter. Files opened with codecs.open() with a unicode-compatible
- encoding will vend unicode() objects from their read() calls, like how
- StringIO created with a unicode() object will do.
-
- I also deployed "with" statements wider (now that the project has
- settled on Python 2.5) to close a bunch of file descriptor leaks.
-
- * Scripts/webkitpy/common/checkout/api_unittest.py:
- - Read/write utf-8 files instead of ascii.
- - Update the tests to use test for proper unicode() handling.
- * Scripts/webkitpy/common/checkout/changelog.py:
- - Document that parse_latest_entry_from_file expects
- file-like objects which return unicode strings.
- * Scripts/webkitpy/common/checkout/changelog_unittest.py:
- - Use unicode() strings instead of str() byte arrays.
- - Deploy "with" to close file descriptor leaks.
- * Scripts/webkitpy/common/checkout/commitinfo.py:
- - Remove unneeded import.
- * Scripts/webkitpy/common/checkout/scm.py:
- - Remove use of str().
- * Scripts/webkitpy/common/checkout/scm_unittest.py:
- - Read/write utf-8 files and use unicode() strings in testing.
- * Scripts/webkitpy/common/config/committers.py:
- - Use \u instead of \x to make slightly clearer what we're doing.
- * Scripts/webkitpy/common/net/bugzilla.py:
- - Add a new _string_contents() method and explain why
- we have to call unicode() on the result of soup.string
- and why it's safe to do so w/o needing to pass a codec name.
- - Remove the (unused) support for passing a file object to add_patch_to_bug().
- * Scripts/webkitpy/common/net/buildbot.py:
- - Use unicode() instead of str() when needing to coax a
- NavigableString object into a unicode() object.
- * Scripts/webkitpy/common/net/buildbot_unittest.py:
- - Add a test which contains a unicode builder name.
- * Scripts/webkitpy/common/net/statusserver.py:
- - Remove use of str()
- * Scripts/webkitpy/common/prettypatch.py:
- - Write out the patch file as utf-8.
- * Scripts/webkitpy/common/system/autoinstall.py:
- - Write out files with a explicit encodings.
- - Deploy "with" to close file descriptor leaks.
- * Scripts/webkitpy/common/system/deprecated_logging.py:
- - Write out log files as utf-8.
- * Scripts/webkitpy/common/system/executive.py:
- - Make run* properly take and return unicode() objects.
- - Cleaned up input handling in run_command a little by adding
- a _compute_input() method which can return early instead of having
- such a long/cluttered if-block.
- * Scripts/webkitpy/common/system/executive_unittest.py:
- - Added a unit test to make sure we don't break Tor again!
- * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py:
- - Write out the test list as utf-8.
- * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
- - Write out json files as utf-8.
- * Scripts/webkitpy/layout_tests/port/apache_http_server.py:
- - Deploy "with" to close file descriptor leaks.
- * Scripts/webkitpy/layout_tests/port/chromium.py: Add Executive.py FIXME.
- * Scripts/webkitpy/layout_tests/port/chromium_linux.py: ditto.
- * Scripts/webkitpy/layout_tests/port/chromium_mac.py: ditto.
- * Scripts/webkitpy/layout_tests/port/gtk.py: ditto.
- * Scripts/webkitpy/layout_tests/port/mac.py: ditto.
- * Scripts/webkitpy/layout_tests/port/mac_unittest.py:
- - Make the skipped file parsing test unicode.
- * Scripts/webkitpy/layout_tests/port/qt.py: Add Executive.py FIXME.
- * Scripts/webkitpy/layout_tests/port/server_process.py: ditto.
- * Scripts/webkitpy/layout_tests/port/webkit.py:
- - Deploy "with" to close file descriptor leaks.
- * Scripts/webkitpy/layout_tests/port/websocket_server.py:
- - Make explicit the encodings of log files and pid files.
- * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
- - Make encodings explicit and deploy "with".
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py: ditto.
- * Scripts/webkitpy/layout_tests/test_types/image_diff.py: ditto.
- * Scripts/webkitpy/layout_tests/test_types/test_type_base.py: ditto.
- * Scripts/webkitpy/layout_tests/test_types/text_diff.py: ditto.
- * Scripts/webkitpy/style/filereader_unittest.py: ditto.
- * Scripts/webkitpy/thirdparty/__init__.py: ditto.
- * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
- - Removed extra import.
- * Scripts/webkitpy/tool/commands/queues.py:
- - No need to map args to strings now that run_command does.
- - Update test results to match args changes.
- - Document our global argument hacks.
- * Scripts/webkitpy/tool/commands/upload.py:
- - Pass the diff directly to add_patch_to_bug instead of creating a StringIO file wrapper.
- * Scripts/webkitpy/tool/mocktool.py:
- - Rename add_patch_to_bug argument to match bugzilla.py
- * Scripts/webkitpy/tool/steps/abstractstep.py:
- - Executive.run_* now require lists instead of strings.
- The lack of this change was what broke webkit-patch
- for svn users the first time this was landed.
- * Scripts/webkitpy/tool/steps/postdiff.py:
- - Pass the diff directly to add_patch_to_bug instead of creating a StringIO file wrapper.
- * Scripts/webkitpy/tool/steps/postdiffforcommit.py: ditto
- * Scripts/webkitpy/tool/steps/postdiffforrevert.py: ditto
- * Scripts/webkitpy/tool/steps/steps_unittest.py:
- - Fixed spurious logging seen when running test-webkitpy
-
-2010-04-21 Kinuko Yasuda <kinuko@chromium.org>
-
- Unreviewed.
-
- Add myself in committers.py.
-
- * Scripts/webkitpy/common/config/committers.py:
-
-2010-04-21 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- new-run-webkit-tests: fix a bug in the Chromium port where we would
- try to talk to a crashed test_shell and raise exceptions that weren't
- being caught.
-
- https://bugs.webkit.org/show_bug.cgi?id=37941
-
- * Scripts/webkitpy/layout_tests/port/chromium.py:
-
-2010-04-21 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Unreviewed.
-
- [Qt] [Symbian] Build fix.
-
- Work around a Qt quirk. Some versions of Symbian port Qt
- QFontDatabase::removeAllApplicationFonts symbol is not available.
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::DumpRenderTree::open):
-
-2010-04-21 Alexey Proskuryakov <ap@apple.com>
-
- Unreviewed.
-
- https://bugs.webkit.org/show_bug.cgi?id=37933
- <rdar://problem/7719540> XMLHttpRequest.withCredentials should be better enforced.
-
- Adding stub implementation of authenticateSession(). Depending on platform loader behavior,
- a real implementation may or may not be necessary for the one test that currently uses it
- to pass.
-
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::authenticateSession):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
-
-2010-04-21 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Brady Eidson.
-
- https://bugs.webkit.org/show_bug.cgi?id=37933
- <rdar://problem/7719540> XMLHttpRequest.withCredentials should be better enforced.
-
- Adding authenticateSession() method that adds credentials to per-process credential storage
- (for platforms that even have such). No Windows implementation, because writing another
- loader for DRT is painful.
-
- * DumpRenderTree/LayoutTestController.cpp:
- (authenticateSessionCallback):
- (LayoutTestController::staticFunctions):
- * DumpRenderTree/LayoutTestController.h:
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (-[SynchronousLoader dealloc]):
- (-[SynchronousLoader connectionShouldUseCredentialStorage:]):
- (-[SynchronousLoader connection:didReceiveAuthenticationChallenge:]):
- (-[SynchronousLoader connection:didFailWithError:]):
- (-[SynchronousLoader connectionDidFinishLoading:]):
- (+[SynchronousLoader makeRequest:withUsername:password:]):
- (LayoutTestController::authenticateSession):
-
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::authenticateSession):
- * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
- (LayoutTestController::authenticateSession):
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::authenticateSession):
- Stub implementations.
-
-2010-04-21 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [DRT/Chromium] Make DRT compilable in Chromium tree
- https://bugs.webkit.org/show_bug.cgi?id=37923
-
- We need to use different GYPs in a case of WebKit-only checkout
- and a case of whole Chromium checkout because the relative paths
- from webkit/ to WebKit/chromium/features.gypi are different in
- these cases and we can't use 'conditions' for 'includes' in GYPs.
-
- * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
-
-2010-04-21 Jakub Wieczorek <jwieczorek@webkit.org>
-
- Reviewed by Darin Adler.
-
- List item markers are not always updated after changes in the DOM.
- https://bugs.webkit.org/show_bug.cgi?id=37060
-
- * DumpRenderTree/LayoutTestController.cpp:
- (markerTextForListItemCallback): A function that returns the marker text for a given list item.
- (LayoutTestController::staticFunctions):
- * DumpRenderTree/LayoutTestController.h:
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::markerTextForListItem): Implement it in the GTK port.
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (LayoutTestController::markerTextForListItem): Add a stub.
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::LayoutTestController):
- (LayoutTestController::markerTextForListItem): Implement it in the Qt port.
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::markerTextForListItem): Add a stub.
-
-2010-04-21 Adam Roben <aroben@apple.com>
-
- Exclude leaks in CGGradientCreateWithColorComponents from
- run-webkit-tests leaks output
-
- The leak in CG is covered by <rdar://problem/7888492>.
-
- Fixes <http://webkit.org/b/37927>.
-
- Reviewed by Eric Carlson.
-
- * Scripts/old-run-webkit-tests:
- (sub countAndPrintLeaks): Exclude leaks in
- CGGradientCreateWithColorComponents on certain OSs.
-
-2010-04-21 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Shinichiro Hamaji.
-
- [DRT/Chromium] Import MockSpellCheck from Chromium
- https://bugs.webkit.org/show_bug.cgi?id=37910
-
- Import webkit/tools/test_shell/mock_spellcheck.{cc,h} rev.37241 of Chromium.
-
- * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
- Add ICU explicitly because WTFString.h includes ICU headers.
- Add MockSpellCheck.{cpp,h}.
- * DumpRenderTree/chromium/MockSpellCheck.cpp: Added.
- * DumpRenderTree/chromium/MockSpellCheck.h: Added.
- * DumpRenderTree/chromium/WebViewHost.cpp:
- (WebViewHost::spellCheck):
- * DumpRenderTree/chromium/WebViewHost.h:
- * DumpRenderTree/chromium/config.h: Define JS_EXPORTDATA, which is used
- by wtf/text/AtomicString.h included by wtf/text/WTFString.h.
-
-2010-04-21 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Add webkit-patch pretty-diff
- https://bugs.webkit.org/show_bug.cgi?id=37892
-
- This is slightly lame because it asks you whether the diff is correct,
- but it's a starting point.
-
- * Scripts/webkitpy/tool/commands/__init__.py:
- * Scripts/webkitpy/tool/commands/prettydiff.py: Added.
- * Scripts/webkitpy/tool/main.py:
-
-2010-04-21 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Adler.
-
- Remove mention of non-existant --no-build option
- https://bugs.webkit.org/show_bug.cgi?id=37893
-
- The option doesn't exist!
-
- * Scripts/webkitpy/tool/commands/stepsequence.py:
-
-2010-04-21 Balazs Kelemen <kb@inf.u-szeged.hu>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Interrupting JavaScript is cumbersome when you use QtLaucher for testing or profiling.
- https://bugs.webkit.org/show_bug.cgi?id=37198
-
- * QtLauncher/main.cpp:
- (LauncherWindow::toggleInterruptingJavaScriptEnabled):
- (LauncherWindow::newWindow):
- (LauncherWindow::cloneWindow):
- (LauncherWindow::createChrome):
- (main):
- * QtLauncher/webpage.cpp:
- (WebPage::WebPage):
- (WebPage::shouldInterruptJavaScript):
- * QtLauncher/webpage.h:
- (WebPage::setInterruptingJavaScriptEnabled):
-
-2010-04-21 Eric Seidel <eric@webkit.org>
-
- Unreviewed, rolling out r57963.
- http://trac.webkit.org/changeset/57963
- https://bugs.webkit.org/show_bug.cgi?id=37759
-
- Three tests started crashing on the Qt bot.
-
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
-
-2010-04-21 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Eric Seidel.
-
- Make new-run-webkit-tests work for the Qt port
- https://bugs.webkit.org/show_bug.cgi?id=37588
-
- * Scripts/webkitpy/layout_tests/port/qt.py:
-
-2010-04-21 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Eric Seidel.
-
- new-run-webkit-tests: try to detect alternate apache path
- https://bugs.webkit.org/show_bug.cgi?id=37587
-
- _check_port_build() also needs to return true in the
- base implementation to not fail the check_build step.
-
- * Scripts/webkitpy/layout_tests/port/webkit.py:
-
-2010-04-21 Yi Shen <yi.4.shen@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Add LayoutTestController interface: computedStyleIncludingVisitedInfo
- https://bugs.webkit.org/show_bug.cgi?id=37759
-
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::computedStyleIncludingVisitedInfo):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
-
-2010-04-21 Eric Seidel <eric@webkit.org>
-
- Unreviewed, test fix only.
-
- new-run-webkit-tests: implement a --log trace message to be able to display detailed output of an individual test run
- https://bugs.webkit.org/show_bug.cgi?id=37726
-
- This change seems to have broken a test.
- Attempting to handle the case where we don't have any
- timing information. Dirk may have to correct this change.
-
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
-
-2010-04-19 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- new-run-webkit-tests has much higher startup latency than run-webkit-tests
- https://bugs.webkit.org/show_bug.cgi?id=37643
-
- I got rid of the -expected.checksum reads during startup.
- This makes startup noticably better on my laptop.
-
- * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py:
- - Use image_hash() instead of .image_hash now that expected.checksum
- file reads are done lazily.
- * Scripts/webkitpy/layout_tests/port/http_server_base.py:
- - Add debug logging for this sleep call.
- In my testing I never saw this sleep() hit.
- * Scripts/webkitpy/layout_tests/port/websocket_server.py:
- - Sleep a shorter interval to make websocket server
- startup more responsive. On my machine startup was
- taking around 1 second.
- - Remove the unconditional .5s delay on startup.
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
- - Make image_hash file reads done lazily in a new image_hash() function.
- - Add a "Starting testing ..." meter update after DRT threads have
- been started, but before we get updates from the first one.
- - Rename variable "t" to a full english name to match WebKit style.
-
-2010-04-20 Daniel Bates <dbates@rim.com>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=37748
-
- Make Sheriffbot more inspirational.
-
- * Scripts/webkitpy/common/net/bugzilla.py:
- * Scripts/webkitpy/common/net/bugzilla_unittest.py:
- * Scripts/webkitpy/tool/bot/irc_command.py:
- * Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py:
- * Scripts/webkitpy/tool/mocktool.py:
-
-2010-04-20 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [DRT/Chromium] Import Chromium image_diff as ImageDiff
- https://bugs.webkit.org/show_bug.cgi?id=37790
-
- ImageDiff.cpp is based on tools/imagediff/image_diff.cc r41911 of Chromium.
-
- * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
- * DumpRenderTree/chromium/ImageDiff.cpp: Added.
- * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
-
-2010-04-20 Dirk Pranke <dpranke@chromium.org>
-
- This patch to new-run-webkit-tests adds a --log 'trace' option
- that prints out detailed info about a given test as it executes
- (where the baselines are, what the expectation is, what we got,
- how long it took).
-
- https://bugs.webkit.org/show_bug.cgi?id=37726
-
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
- - use the newly exposed TestResult class and implement
- --log trace
- * Scripts/webkitpy/layout_tests/layout_package/dump_render_thread.py:
- - rename TestStats to TestResult and make it more public, resulting
- in cleaner code
- * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py:
- - add expectation_to_string() as a separate callable function
-
-2010-04-20 Eric Seidel <eric@webkit.org>
-
- Unreviewed, rolling out r57907.
- http://trac.webkit.org/changeset/57907
- https://bugs.webkit.org/show_bug.cgi?id=37765
-
- Appears to have broken MacEWS and possibly webkit-patch upload
- for svn users. Needs further investigation.
-
- * Scripts/webkitpy/common/checkout/api.py:
- * Scripts/webkitpy/common/checkout/api_unittest.py:
- * Scripts/webkitpy/common/checkout/changelog.py:
- * Scripts/webkitpy/common/checkout/changelog_unittest.py:
- * Scripts/webkitpy/common/checkout/commitinfo.py:
- * Scripts/webkitpy/common/checkout/scm.py:
- * Scripts/webkitpy/common/checkout/scm_unittest.py:
- * Scripts/webkitpy/common/config/committers.py:
- * Scripts/webkitpy/common/net/bugzilla.py:
- * Scripts/webkitpy/common/net/buildbot.py:
- * Scripts/webkitpy/common/net/buildbot_unittest.py:
- * Scripts/webkitpy/common/net/statusserver.py:
- * Scripts/webkitpy/common/prettypatch.py:
- * Scripts/webkitpy/common/system/autoinstall.py:
- * Scripts/webkitpy/common/system/deprecated_logging.py:
- * Scripts/webkitpy/common/system/executive.py:
- * Scripts/webkitpy/common/system/executive_unittest.py:
- * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py:
- * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
- * Scripts/webkitpy/layout_tests/layout_package/metered_stream.py:
- * Scripts/webkitpy/layout_tests/port/mac_unittest.py:
- * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
- * Scripts/webkitpy/tool/commands/queues.py:
- * Scripts/webkitpy/tool/commands/queues_unittest.py:
- * Scripts/webkitpy/tool/commands/upload.py:
- * Scripts/webkitpy/tool/mocktool.py:
- * Scripts/webkitpy/tool/steps/abstractstep.py:
- * Scripts/webkitpy/tool/steps/postdiff.py:
- * Scripts/webkitpy/tool/steps/postdiffforcommit.py:
- * Scripts/webkitpy/tool/steps/postdiffforrevert.py:
- * Scripts/webkitpy/tool/steps/steps_unittest.py:
-
-2010-04-20 Nate Chapin <japhet@chromium.org>
-
- Unreviewed.
-
- Update my irc handle in committers.py (natechapin -> japhet).
-
- * Scripts/webkitpy/common/config/committers.py:
-
-2010-04-20 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- REGRESSION(57531): the commit-queue still hates Tor Arne Vestbø
- https://bugs.webkit.org/show_bug.cgi?id=37765
-
- I fixed the queue to not ignore Tor as a reviwer in r57531,
- but instead it throws an exception every time his name is in a patch.
-
- This fixes our Executive.run_command code to work around a Popen
- bug http://bugs.python.org/issue5290 whereby python versions before 2.6
- do not correctly handle unicode objects as input or output to
- Popen.communicate.
-
- Following the advice of:
- http://farmdev.com/talks/unicode/
- I'm attempting to take the python unicode plunge and use unicode()
- objects as strings instead of str() objects everywhere in webkitpy.
-
- We do not have to use u"" instead of "" because u"a" == "a" as expected
- in Python. Python will generate a warning to the console in cases where
- a unicode() == str() operation cannot be performed.
-
- I also cleaned up the input handling in run_command a little by adding
- a new _compute_input() method which can return early instead of having
- such a long/cluttered if-block.
-
- Executive.run* now correctly accept and return unicode() objects.
- I attempted to fix all the places that we call .write() to make sure we
- encode any unicode() objects into utf-8.
-
- All places which use StringIO need to be sure to pass StringIO a
- pre-encoded byte-array (str object) instead of unicode so that
- clients which read from the StringIO don't have encoding exceptions.
- To make this easier, I removed the patch_file_object support from
- add_patch_to_bug, and changed the 4 places which previously used
- StringIO to create a fake patch file.
-
- I attempted to document any places where we are not correctly converting
- to/from bytes (str() objects) to strings (unicode() objects).
-
- * Scripts/webkitpy/common/checkout/api_unittest.py:
- - Read/write utf-8 files instead of ascii.
- - Update the tests to use test for proper unicode() handling.
- * Scripts/webkitpy/common/checkout/changelog_unittest.py:
- - Use unicode() strings instead of str() byte arrays.
- * Scripts/webkitpy/common/checkout/scm.py:
- - Remove use of str().
- * Scripts/webkitpy/common/checkout/scm_unittest.py:
- - Read/write utf-8 files and use unicode() strings in testing.
- * Scripts/webkitpy/common/config/committers.py:
- - Use \u instead of \x to make slightly clearer what we're doing.
- * Scripts/webkitpy/common/net/bugzilla.py:
- - Add a new _string_contents() method and explain why
- we have to call unicode() on the result of soup.string
- and why it's safe to do so w/o needing to pass a codec name.
- - Remove the (unused) support for passing a file object to add_patch_to_bug().
- * Scripts/webkitpy/common/net/buildbot.py:
- - Use unicode() instead of str() when needing to coax a
- NavigableString object into a unicode() object.
- * Scripts/webkitpy/common/net/statusserver.py:
- - Remove use of str()
- * Scripts/webkitpy/common/prettypatch.py:
- - Write out the patch file as utf-8.
- * Scripts/webkitpy/common/system/autoinstall.py:
- - Add a FIXME about encoding.
- * Scripts/webkitpy/common/system/deprecated_logging.py:
- - Document that tee() works on bytes, not strings.
- * Scripts/webkitpy/common/system/executive.py:
- - Make run* properly take and return unicode() objects.
- * Scripts/webkitpy/common/system/executive_unittest.py:
- - Added a unit test to make sure we don't break Tor again!
- * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py:
- - Write out the test list as utf-8.
- * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
- - Write out json files as utf-8.
- * Scripts/webkitpy/layout_tests/layout_package/metered_stream.py:
- - Add FIXME about encoding handling.
- * Scripts/webkitpy/tool/commands/upload.py:
- - Pass the diff directly to add_patch_to_bug instead of creating a StringIO file wrapper.
- * Scripts/webkitpy/tool/mocktool.py:
- - Rename add_patch_to_bug argument to match bugzilla.py
- * Scripts/webkitpy/tool/steps/postdiff.py:
- - Pass the diff directly to add_patch_to_bug instead of creating a StringIO file wrapper.
- * Scripts/webkitpy/tool/steps/postdiffforcommit.py: ditto.
- * Scripts/webkitpy/tool/steps/postdiffforrevert.py: ditto.
- * Scripts/webkitpy/tool/steps/steps_unittest.py:
- - Fixed spurious logging seen when running test-webkitpy
-
-2010-04-20 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Shinichiro Hamaji.
-
- For check-webkit-style, implemented __eq__() and __ne__() (the
- built-in equality and inequality methods) for the
- DefaultStyleErrorHandler class.
-
- https://bugs.webkit.org/show_bug.cgi?id=37850
-
- This will facilitate unit-testing for a subsequent patch,
- namely for https://bugs.webkit.org/show_bug.cgi?id=37850
-
- * Scripts/webkitpy/style/error_handlers.py:
- - Added __eq__() and __ne__() to the DefaultStyleErrorHandler
- class.
-
- * Scripts/webkitpy/style/error_handlers_unittest.py:
- - Added unit tests for __eq__() and __ne__().
- - Also included a minor clean-up refactoring of combining the
- StyleErrorHandlerTestBase class (which has not needed to
- be separate due to previous changes) into the
- DefaultStyleErrorHandlerTest class.
-
-2010-04-20 Jakub Wieczorek <jwieczorek@webkit.org>
-
- Unreviewed.
-
- Add my IRC nick to the committers.py list.
-
- * Scripts/webkitpy/common/config/committers.py:
-
-2010-04-20 Kim Grönholm <kim.gronholm@nomovok.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Multitouch mocking in QtLauncher doesn't work with QGraphicsView
- https://bugs.webkit.org/show_bug.cgi?id=37816
-
- Fix multi-touch mocking in QtLauncher when using QGraphicsView.
- Test: https://bug-32434-attachments.webkit.org/attachment.cgi?id=44955
-
- * QtLauncher/main.cpp:
- (LauncherWindow::eventFilter):
- (LauncherWindow::initializeView):
-
-2010-04-20 MORITA Hajime <morrita@google.com>
-
- Unreviewed, add myself to the committers list.
-
- * Scripts/webkitpy/common/config/committers.py:
-
-2010-04-20 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Shinichiro Hamaji.
-
- [DRT/Chromium] Fix some unexpected results of editing
- https://bugs.webkit.org/show_bug.cgi?id=37843
-
- This change fixes about 70 unexpected results.
- The original test_webview_delegate.cc doesn't have this bug.
- The bug was introduced when I ported it to WebKit tree.
-
- * DumpRenderTree/chromium/WebViewHost.cpp:
- (printRangeDescription): Replace the latter startContainer() with endContainer().
-
-2010-04-19 Dirk Pranke <dpranke@chromium.org>
-
- Unreviewed, build fix.
-
- Turn off some unit tests for now - the new-run-webkit-tests dryrun
- tests for chromium won't work if you don't have a chromium checkout.
-
- https://bugs.webkit.org/show_bug.cgi?id=37841
-
- * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py:
-
-2010-04-19 Dirk Pranke <dpranke@chromium.org>
-
- Unreviewed, build fix.
-
- (Re-)add dryrun.py; this was renamed from passing.py in the previous
- CL but apparently somehow didn't get checked in.
-
- https://bugs.webkit.org/show_bug.cgi?id=37841
-
- * Scripts/webkitpy/layout_tests/port/dryrun.py: Added.
-
-2010-04-19 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by David Levin.
-
- check-webkit-style: exits when encountering a deleted file
- https://bugs.webkit.org/show_bug.cgi?id=37122
-
- This reverts the quick fix done by r57119 and makes check_patch
- not call check_file for deleted files.
-
- Also this change fixes the behavior for "-", which should mean
- stdin. Before this change, the style checker just ignored "-"
- with a warning message.
-
- * Scripts/webkitpy/style/checker.py:
- * Scripts/webkitpy/style/checker_unittest.py:
-
-2010-04-19 Daniel Bates <dbates@rim.com>
-
- No review, rolling out 57868.
- http://trac.webkit.org/changeset/57868
- https://bugs.webkit.org/show_bug.cgi?id=37748
-
- Sheriffbot wasn't very inspirational after this patch.
- Instead, he was silent when you said hi :-(. Rolling
- out this patch so that I can debug/test this some more.
-
- * Scripts/webkitpy/common/net/bugzilla.py:
- * Scripts/webkitpy/common/net/bugzilla_unittest.py:
- * Scripts/webkitpy/tool/bot/irc_command.py:
- * Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py:
- * Scripts/webkitpy/tool/mocktool.py:
-
-2010-04-19 Daniel Bates <dbates@rim.com>
-
- Reviewed by Adam Barth.
-
- https://bugs.webkit.org/show_bug.cgi?id=37748
-
- Make Sheriffbot more inspirational.
-
- * Scripts/webkitpy/common/net/bugzilla.py:
- * Scripts/webkitpy/common/net/bugzilla_unittest.py:
- * Scripts/webkitpy/tool/bot/irc_command.py:
- * Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py:
- * Scripts/webkitpy/tool/mocktool.py:
-
-2010-04-19 Kevin Ollivier <kevino@theolliviers.com>
-
- [wx] Build fix, add missing header.
-
- * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
-
-2010-04-19 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Adam Barth.
-
- new-run-webkit-tests - repurpose the "Passing" port as "Dryrun" port
- that can be used to test platforms other than the one you are running
- on. This can be useful for checking baselines and testing code
- coverage.
-
- Note that running the code on the "wrong" port requires each
- port-specific implementation to actually not require any
- platform-specific python code (e.g., the chromium-win port must
- test for the existence of windows functions before calling them).
-
- https://bugs.webkit.org/show_bug.cgi?id=37782
-
- * Scripts/webkitpy/layout_tests/port/chromium_win.py:
- * Scripts/webkitpy/layout_tests/port/dryrun.py: Renamed from WebKitTools/Scripts/webkitpy/layout_tests/port/passing.py.
- * Scripts/webkitpy/layout_tests/port/factory.py:
- * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py:
-
-2010-04-19 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Eric Seidel.
-
- new-run-webkit-tests: add --build (default) and --no-build
- options to make that step optional. This flag modifies what happens
- in port.check_build().
-
- https://bugs.webkit.org/show_bug.cgi?id=37786
-
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
- * Scripts/webkitpy/layout_tests/port/chromium.py:
- * Scripts/webkitpy/layout_tests/port/webkit.py:
-
-2010-04-19 Dirk Pranke <dpranke@chromium.org>
-
- Unreviewed, build fix.
-
- new-run-webkit-tests - fix a typo in r57480 that caused us to stop
- logging the actual list of unexpected results.
-
- https://bugs.webkit.org/show_bug.cgi?id=37831
-
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
-
-2010-04-19 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Adam Barth.
-
- From a patch by Tor Arne Vestbo <tor.arne.vestbo@nokia.com>
-
- new-run-webkit-tests: make the retry step more explicit
- https://bugs.webkit.org/show_bug.cgi?id=37606
-
- It might be confusing to see the test and percent counters
- reset without any notice of what's going on, so we make the
- message that a retry-run is started explicit.
-
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
-
-2010-04-19 Sam Weinig <weinig@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Add support for opening a new window (File->New Window) to
- Windows MiniBrowser. Accelerator doesn't work.
-
- * MiniBrowser/win/BrowserView.cpp:
- (createNewPage): Use BrowserView::create.
- * MiniBrowser/win/BrowserWindow.cpp:
- (BrowserWindow::onCommand): Respond to ID_FILE_NEW_WINDOW
- by creating a new window.
- * MiniBrowser/win/BrowserWindow.h:
- (BrowserWindow::create): Added. Don't allow creating
- BrowserWindows on the stack by making constructor
- private and exposing the create function.
- * MiniBrowser/win/MiniBrowser.cpp:
- (MiniBrowser::createNewWindow): Move new window creation
- logic here.
- * MiniBrowser/win/MiniBrowser.h:
- * MiniBrowser/win/MiniBrowser.rc:
- * MiniBrowser/win/main.cpp:
- (_tWinMain): Use the new MiniBrowser::createNewWindow().
-
-2010-04-19 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Beth Dakin.
-
- AX: aria-haspopup needs to be exposed
- https://bugs.webkit.org/show_bug.cgi?id=37808
-
- * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
- (AccessibilityUIElement::hasPopup):
-
-2010-04-19 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Submit a better workaround for r57806 than the one in r57831 - log
- an error and exit if you try to run new-run-webkit-tests with --use-drt
- on Windows.
-
- https://bugs.webkit.org/show_bug.cgi?id=37822
-
- * Scripts/webkitpy/layout_tests/port/chromium.py:
-
-2010-04-19 Jesus Sanchez-Palencia <jesus@webkit.org>
-
- Unreviewed.
-
- Just adding myself as a committer.
-
- * Scripts/webkitpy/common/config/committers.py:
-
-2010-04-19 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Add slightly better logging to the websocket python wrapper script,
- including a --verbose flag for debug output.
-
- https://bugs.webkit.org/show_bug.cgi?id=37233
-
- * Scripts/webkitpy/layout_tests/port/websocket_server.py:
- * Scripts/new-run-webkit-websocketserver:
-
-2010-04-19 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Eric Seidel.
-
- new-run-webkit-tests: add a way (--print-unexpected-results) to
- (re-)print out the tests that produced unexpected results in the
- last run. Also add a way (--retry-unexpected-results) to
- automatically re-test them.
-
- https://bugs.webkit.org/show_bug.cgi?id=37783
-
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
-
-2010-04-19 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Restructure the logging in new-run-webkit-tests so that many of log
- messages that were logged to the MeteredStream also get logged in
- --verbose mode.
-
- https://bugs.webkit.org/show_bug.cgi?id=37780
-
- * Scripts/webkitpy/layout_tests/layout_package/metered_stream.py:
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
-
-2010-04-19 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Eric Seidel.
-
- new-run-webkit-tests: add 'summary' and 'unexpected-results' options
- to the --log flag. Also add a 'progress' flag to enable the regular
- progress bar (as opposed to 'detailed-progress', which enables the
- dots). Also add a 'nothing' flag to allow you to be explicit that
- you don't want any logging on the command line.
-
- The default is
- '--log detailed-progress,summary,unexpected,unexpected-results'
-
- (The default logging is unchanged by this patch, this just makes things
- properly configurable).
-
- Note that 'nothing' doesn't work properly yet; I need a couple other
- patches to land to avoid rewriting things several different ways.
-
- https://bugs.webkit.org/show_bug.cgi?id=37785
-
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
-
-2010-04-19 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- Make the URL change on committed load.
-
- * QtLauncher/mainwindow.cpp:
- (MainWindow::buildUI):
- (MainWindow::setAddressUrl):
- * QtLauncher/mainwindow.h:
-
-2010-04-19 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Fix a typo in the rebaselining tool that causes us to use "debug"
- instead of "Debug" in a directory path, which fails on platforms with
- case-sensitive filesystems.
-
- https://bugs.webkit.org/show_bug.cgi?id=37819
-
- * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
-
-2010-04-19 Dirk Pranke <dpranke@chromium.org>
-
- Unreviewed, build fix.
-
- Fix breakage of chromium-win canary bots caused by r57806. That patch
- introduced the option of using Chrome's new port of DumpRenderTree,
- but unfortunately that port relies on the webkit.py class
- implementation which uses non-blocking I/O that isn't available on
- Windows. This patch turns off that option and doesn't import the
- class if we're running on Windows.
-
- https://bugs.webkit.org/show_bug.cgi?id=37817
-
- * Scripts/webkitpy/layout_tests/port/chromium.py:
-
-2010-04-19 James Robinson <jamesr@chromium.org>
-
- Reviewed by abarth.
-
- Fix a typo
-
- * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
-
-2010-04-19 Adam Roben <aroben@apple.com>
-
- Fix run-webkit-tests when there are spaces in the path
-
- Fixes <http://webkit.org/b/37809>
-
- Reviewed by Adam Barth.
-
- * Scripts/run-webkit-tests: Use an "indirect object" to specify the
- path to the harness to exec(). According to perldoc, this usage will
- prohibit perl from parsing the arguments to exec() via the shell,
- which would incorrectly split paths with spaces in them, etc.
-
-2010-04-19 Dimitri Glazkov <dglazkov@chromium.org>
-
- Reviewed by Adam Roben.
-
- WinLauncher.h should use LF line-endings and use native line-endings style.
- https://bugs.webkit.org/show_bug.cgi?id=37807
-
- * WinLauncher/WinLauncher.h: Added property svn:eol-style, converted to LF line-endings.
-
-2010-04-19 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Shinichiro Hamaji.
-
- [DRT/Chromium] Fix a test initialization problem
- https://bugs.webkit.org/show_bug.cgi?id=37791
-
- * DumpRenderTree/chromium/DumpRenderTree.cpp:
- (runTest): Call resetTestController() before runFileTest(). Some
- controllers initialize their fields in reset() and not in their
- constructors.
-
-2010-04-19 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Eric Seidel.
-
- [Chromium] new-run-webkit-tests should use WebKitDriver for --use-drt
- https://bugs.webkit.org/show_bug.cgi?id=37793
-
- We need to use WebKitDriver instead of ChromiumDriver for Chromium
- DRT because its interface is different from test_shell.
-
- Chromium DRT has no UI. So we can't use it to show test results.
-
- * Scripts/webkitpy/layout_tests/port/chromium.py:
-
-2010-04-18 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Roben.
-
- Make failure-reason more forgiving
- https://bugs.webkit.org/show_bug.cgi?id=37525
-
- Removed search_limit, which wasn't very useful anyway.
- Added a log about the long load time loading from the builders.
- Prompt the user for what revision to start walking from (makes it easy to restart upon failure).
-
- * Scripts/webkitpy/common/net/buildbot.py:
- * Scripts/webkitpy/tool/commands/queries.py:
-
-2010-04-18 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Shinichiro Hamaji.
-
- Created a class for check-webkit-style that encapsulates iterating
- over text files and reading them.
-
- https://bugs.webkit.org/show_bug.cgi?id=37754
-
- This revision is an intermediate step towards separating our
- style-checking code from the logic of iterating over files and
- reading them.
-
- * Scripts/webkitpy/common/system/logtesting.py:
- - Added a logMessages() method to the LoggingTestCase class.
- This method provides unit tests with access to the raw list
- of log messages in case the tester needs to do something more
- than simply assert the list of existing messages.
-
- * Scripts/webkitpy/style/checker.py:
- - Added a ProcessorBase class that processors of lists of lines
- should eventually inherit from.
- - Also added a FIXME to use the ProcessorBase class and the
- TextFileReader class added below.
-
- * Scripts/webkitpy/style/filereader.py: Added.
- - Created a TextFileReader class that encapsulates reading
- and iterating over text files.
-
- * Scripts/webkitpy/style/filereader_unittest.py: Added.
- - Added a TextFileReaderTest class to unit-test the
- new TextFileReader class.
-
-2010-04-15 Tony Chang <tony@chromium.org>
-
- Reviewed by Adam Barth.
-
- [chromium] new-run-webkit-tests should be able to use chromium DRT
- https://bugs.webkit.org/show_bug.cgi?id=37645
-
- Make sure that the lack of a chromium checkout doesn't cause the script to
- fail.
-
- * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
- * Scripts/webkitpy/layout_tests/port/chromium.py:
- * Scripts/webkitpy/layout_tests/port/chromium_mac.py: Fix up a few paths
- to be relative to an upstream output dir.
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py: Add --use-drt flag.
-
-2010-04-18 Eric Seidel <eric@webkit.org>
-
- Unreviewed, fixing the Qt bot.
-
- Add a layer of indirection when calling run-webkit-tests to allow testing new-run-webkit-tests on various platforms
- https://bugs.webkit.org/show_bug.cgi?id=37632
-
- * Scripts/run-webkit-tests:
- - Exit non-zero of launching the harness fails.
-
-2010-04-18 Eric Seidel <eric@webkit.org>
-
- Unreviewed, fixing the Qt bot.
-
- Add a layer of indirection when calling run-webkit-tests to allow testing new-run-webkit-tests on various platforms
- https://bugs.webkit.org/show_bug.cgi?id=37632
-
- * Scripts/run-webkit-tests:
- - Fix the wrapper to work for users who do not
- have WebKitTools/Scripts in their path.
-
-2010-04-14 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Add a layer of indirection when calling run-webkit-tests to
- allow testing new-run-webkit-tests on various platforms.
- https://bugs.webkit.org/show_bug.cgi?id=37632
-
- This will let us test and fix bugs in new-run-webkit-tests
- without needing to restart the buildbot master between tests.
-
- Currently this change leaves run-webkit-tests as-is, but once
- its landed we will easily be able to turn on/off
- new-run-webkit-tests for various ports/configurations.
-
- I will send a note out to webkit-dev about how we will
- be using this launcher script to test on the bots.
-
- * Scripts/old-run-webkit-tests: Copied from WebKitTools/Scripts/run-webkit-tests.
- * Scripts/run-webkit-tests:
- - A new script which decides whether to run new- or old-
- run-webkit-tests based on the platform.
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
- - Add some dummy argument handling for arguments which
- old-run-webkit-tests supports but new-run-webkit-tests
- does not yet.
-
-2010-04-18 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Add Gtk bots to the list of "core builders" (builders which stop the commit-queue when they turn red)
- https://bugs.webkit.org/show_bug.cgi?id=33295
-
- The Gtk builders have been green every time I've looked
- at them in the last 5 days or so. It would appear webkit
- is now keeping them green and we should update the core
- builder list to match reality.
-
- * Scripts/webkitpy/common/net/buildbot.py:
- * Scripts/webkitpy/common/net/buildbot_unittest.py:
-
-2010-04-18 Robert Hogan <robert@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Add support for LayoutTestController commands:
- setSmartInsertDeleteEnabled
- setSelectTrailingWhitespaceEnabled
- execCommand
- isCommandEnabled
-
- https://bugs.webkit.org/show_bug.cgi?id=35844
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::WebPage::resetSettings):
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::setSmartInsertDeleteEnabled):
- (LayoutTestController::setSelectTrailingWhitespaceEnabled):
- (LayoutTestController::execCommand):
- (LayoutTestController::isCommandEnabled):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
-
-2010-04-17 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Remove steps_references and commands_references
- https://bugs.webkit.org/show_bug.cgi?id=37758
-
- We tried using the mumble_references convention to manage our
- dependencies, but it doesn't seem to be providing much value for the
- steps and commands module because these modules are small pieces of the
- larger tool module. In this patch, I've removed the references file
- for these modules.
-
- I've left the style_references file for the style module because that
- module seems better isolated from the rest of webkitpy and the
- style_references file appears to be providing some value.
-
- * Scripts/webkitpy/tool/commands/commandtest.py:
- * Scripts/webkitpy/tool/commands/download_unittest.py:
- * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
- * Scripts/webkitpy/tool/commands/queries_unittest.py:
- * Scripts/webkitpy/tool/commands/queues_unittest.py:
- * Scripts/webkitpy/tool/commands/queuestest.py:
- * Scripts/webkitpy/tool/commands/upload.py:
- * Scripts/webkitpy/tool/commands/upload_unittest.py:
- * Scripts/webkitpy/tool/commands_references.py: Removed.
- * Scripts/webkitpy/tool/steps/closebugforlanddiff_unittest.py:
- * Scripts/webkitpy/tool/steps/steps_unittest.py:
- * Scripts/webkitpy/tool/steps/updatechangelogswithreview_unittest.py:
- * Scripts/webkitpy/tool/steps/validatereviewer_unittest.py:
- * Scripts/webkitpy/tool/steps_references.py: Removed.
-
-2010-04-17 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- WebKit needs a Chromium Mac EWS Builder
- https://bugs.webkit.org/show_bug.cgi?id=37742
-
- * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
-
-2010-04-17 Adam Barth <abarth@webkit.org>
-
- Fix expected results for unit test broken by
- http://trac.webkit.org/changeset/57772
-
- * Scripts/webkitpy/common/net/buildbot_unittest.py:
-
-2010-04-17 Sam Weinig <weinig@apple.com>
-
- Reviewed by Adam Roben.
-
- Teach windows MiniBrowser how to work with window.open()
- and targeted links.
-
- * MiniBrowser/win/BrowserView.cpp:
- (createNewPage): Create a new BrowserWindow and return its page.
- (showPage): Show the page.
- (closePage): Empty implementation.
- (runJavaScriptAlert): Empty implementation.
- (BrowserView::create): Register a UIClient.
- * MiniBrowser/win/BrowserView.h:
- (BrowserView::webView): Added.
- Change create to take a BrowserWindow instead of an HWND.
-
- * MiniBrowser/win/BrowserWindow.cpp:
- (BrowserWindow::wndProc): Respond to WM_NCDESTROY.
- (BrowserWindow::goToURL): Added. Forwards to BrowserView.
- (BrowserWindow::onCreate): Don't always go to the default
- url. Let the caller do this.
- (BrowserWindow::onNCDestroy): Delete the window.
- * MiniBrowser/win/BrowserWindow.h:
- (BrowserWindow::view): Added.
- (BrowserWindow::window): Added.
-
- * MiniBrowser/win/main.cpp:
- (_tWinMain):
- Go to the default URL for the initial page. Allocate the initial
- window on the heap for correctness.
-
-2010-04-16 Adam Roben <aroben@apple.com>
-
- Add the Windows Debug (Test) builder to the list of core builders
-
- It's been green for a few days now, and all the known Windows
- flakiness is Release-only.
-
- Rubber-stamped by Mark Rowe.
-
- * Scripts/webkitpy/common/net/buildbot.py:
- (BuildBot.core_builder_name_regexps): Added a regular expression to
- match the "Windows Debug (Test)" builder.
-
-2010-04-16 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Fix window.open() and targeted links.
-
- * MiniBrowser/mac/BrowserWindowController.m:
- (_createNewPage): Use the correct initializer to and load the window.
-
-2010-04-16 Adam Roben <aroben@apple.com>
-
- Fix links to layout test results from build status pages
-
- Reviewed by Mark Rowe.
-
- * BuildSlaveSupport/build.webkit.org-config/master.cfg:
- (ExtractTestResults.finished): Prepend "/" on the URL of the test
- results page so that it is treated as an absolute URL.
-
-2010-04-16 Tony Chang <tony@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [chromium] build DRT on Linux
- https://bugs.webkit.org/show_bug.cgi?id=37690
-
- * Scripts/build-dumprendertree: Add support for win and linux
-
-2010-04-16 Sam Weinig <weinig@apple.com>
-
- Reviewed by Adam Roben.
-
- Use the threaded process model for MiniBrowser if holding down
- the shift key on startup.
-
- * MiniBrowser/win/BrowserView.cpp:
- (BrowserView::create):
-
-2010-04-15 Tony Chang <tony@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [chromium] Add TestShellGtk.cpp so we can link on Linux
- https://bugs.webkit.org/show_bug.cgi?id=37561
-
- * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp: Add new file and
- add platform file exceptions.
- * DumpRenderTree/chromium/TestShellGtk.cpp: Added.
- (AlarmHandler):
- (TestShell::waitTestFinished):
-
-2010-04-15 Tony Chang <tony@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- build DRT on chromium mac
- https://bugs.webkit.org/show_bug.cgi?id=37639
-
- * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
- * Scripts/build-dumprendertree: enable build-dumprendertree --chromium
-
-2010-04-15 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [DRT/Chromium] Add LayoutTestHelper for Mac
- https://bugs.webkit.org/show_bug.cgi?id=37668
-
- LayouTestHelper.mm is based on webkit/tools/test_shell/mac/layout_test_helper.mm
- of Chromium.
-
- * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
- * DumpRenderTree/chromium/LayoutTestHelper.mm: Added.
-
-2010-04-15 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Geoff Garen.
-
- https://bugs.webkit.org/show_bug.cgi?id=37494
- <rdar://problem/7857060> REGRESSION (r57340): fast/events/mouse-drag-from-frame-to-other-frame.html
- fails on Windows
-
- * DumpRenderTree/win/EventSender.cpp: (makeEventSender):
- * DumpRenderTree/win/EventSender.h:
- Tell EventSender if it's being created for a top frame.
-
- * DumpRenderTree/win/FrameLoadDelegate.cpp:
- (FrameLoadDelegate::didClearWindowObjectForFrameInStandardWorld): We only want to reset
- EventSender machinery when a new test is loaded, not when an iframe (or just its global
- object) is created.
-
-2010-04-15 Adam Roben <aroben@apple.com>
-
- Fix Windows WebKit2 build.
-
- * MiniBrowser/win/MiniBrowser.cpp:
-
-2010-04-15 Ojan Vafai <ojan@chromium.org>
-
- Reviewed by Adam Barth.
-
- Include codereview issue number in patch description
- https://bugs.webkit.org/show_bug.cgi?id=37677
-
- This lets us know which rietveld issue this patch is tied to.
-
- Also, make it so that --fancy-review overrides --no-review.
-
- * Scripts/webkitpy/tool/steps/postcodereview.py:
- * Scripts/webkitpy/tool/steps/postdiff.py:
-
-2010-04-15 Adam Roben <aroben@apple.com>
-
- Make --exit-after-n-failures work when all tests are timing out or crashing
-
- Fixes <http://webkit.org/b/37679>.
-
- Reviewed by Jon Honeycutt.
-
- * Scripts/run-webkit-tests:
- (top level): When a test crashes or times out, break out of the main loop if
- stopRunningTestsEarlyIfNeeded returns true. Moved some code from the bottom of the main loop
- from here...
- (stopRunningTestsEarlyIfNeeded): ...to here.
-
-2010-04-15 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Add WebHistoryClient support.
- https://bugs.webkit.org/show_bug.cgi?id=37671
-
- Add HistoryClient logging.
-
- * MiniBrowser/mac/BrowserWindowController.m:
- (_didNavigateWithNavigationData):
- (_didPerformClientRedirect):
- (_didPerformServerRedirect):
- (_didUpdateHistoryTitle):
- (-[BrowserWindowController awakeFromNib]):
-
-2010-04-15 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Start the mini browser in threaded mode if shift is pressed during startup.
- https://bugs.webkit.org/show_bug.cgi?id=37670
-
- * MiniBrowser/mac/AppDelegate.m:
- (-[BrowserAppDelegate init]):
-
-2010-04-15 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Beth Dakin.
-
- AXHelp is being appended from ancestors incorrectly
- https://bugs.webkit.org/show_bug.cgi?id=37659
-
- * DumpRenderTree/AccessibilityUIElement.cpp:
- (getHelpTextCallback):
- (AccessibilityUIElement::getJSClass):
- * DumpRenderTree/AccessibilityUIElement.h:
- * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
- (AccessibilityUIElement::helpText):
- * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
- (AccessibilityUIElement::helpText):
- * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
- (AccessibilityUIElement::helpText):
-
-2010-04-15 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Adam Barth.
-
- Re-format run-webkit-tests to fit in 80-columns for PEP-8 compliance.
- (broken by r57463 and r57381, at least). I've also filed bug 37477
- to fix check-webkit-style to catch these things.
-
- https://bugs.webkit.org/show_bug.cgi?id=38586
-
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
-
-2010-04-15 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Add a way to override the user-visible name for the test binary since
- some ports don't call it DumpRenderTree (e.g., Chromium Win uses
- test_shell, Chromium Mac uses TestShell) by adding a driver_name()
- method to the Port interface.
-
- https://bugs.webkit.org/show_bug.cgi?id=37631
-
- * Scripts/webkitpy/layout_tests/port/base.py:
- * Scripts/webkitpy/layout_tests/port/chromium.py:
- * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
-
-2010-04-14 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Add "Force Repaint" to debug menu.
- https://bugs.webkit.org/show_bug.cgi?id=37627
-
- * MiniBrowser/mac/BrowserWindowController.h:
- * MiniBrowser/mac/BrowserWindowController.m:
- (-[BrowserWindowController forceRepaint:]):
- * MiniBrowser/mac/English.lproj/MainMenu.xib:
-
-2010-04-15 Sam Weinig <sam@webkit.org>
-
- Reviewed by Adam Roben.
-
- Add debug-minibrowser script.
-
- * Scripts/debug-minibrowser: Copied from Scripts/run-minibrowser.
- * Scripts/webkitdirs.pm:
-
-2010-04-15 Roland Steiner <rolandsteiner@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Bug 37636 - [DRT/Chromium] Implement DRT/Chromium for Windows
- https://bugs.webkit.org/show_bug.cgi?id=37636
-
- Second patch: add Windows-specific implementation parts
- of TestShell.
-
- * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
- * DumpRenderTree/chromium/TestShell.h:
- (TestShell::finishedEvent):
+ (TestShell::printer):
+ (TestShell::layoutTestTimeout):
+ (TestShell::layoutTestTimeoutForWatchDog):
+ (TestShell::setLayoutTestTimeout):
* DumpRenderTree/chromium/TestShellWin.cpp:
- (watchDogThread):
- (TestShell::waitTestFinished):
-
-2010-04-15 Roland Steiner <rolandsteiner@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Bug 37636 - [DRT/Chromium] Implement DRT/Chromium for Windows
- https://bugs.webkit.org/show_bug.cgi?id=37636
-
- First patch: fix compiler errors.
-
- * DumpRenderTree/chromium/EventSender.cpp:
- (EventSender::reset):
- (EventSender::dispatchMessage):
- * DumpRenderTree/chromium/LayoutTestController.cpp:
- (LayoutTestController::pathToLocalResource):
- * DumpRenderTree/chromium/TestWebWorker.h:
- * DumpRenderTree/chromium/TextInputController.cpp:
- * DumpRenderTree/chromium/WebViewHost.h:
- * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
-
-2010-04-14 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Moving setViewMode from DumpRenderTreeSupportQt to qwebpage.cpp
- https://bugs.webkit.org/show_bug.cgi?id=37622
-
- Method qt_wrt_setViewMode was removed from qwebpage.cpp by mistake in r57433
- (bug 35844). Moving it back.
-
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::setViewModeMediaFeature):
-
-2010-04-15 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Adam Barth.
-
- Add some very minimal unit tests for new-run-webkit-tests. This should
- be enough to catch egregious brokenness like syntax errors and import
- declaration issues.
-
- https://bugs.webkit.org/show_bug.cgi?id=37432
-
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
- * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: Added.
-
-2010-04-14 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Adam Roben.
-
- Add a way for the buildbot to kill any old processes that are running. This
- is useful because the Windows bots can get in states where a process remains
- running (httpd.exe, DumpRenderTree.exe), which causes the bots to get in a red
- state, and the processes must be killed manually.
-
- * BuildSlaveSupport/build.webkit.org-config/master.cfg: If we are on Windows, kill
- the old processes that might be running.
- * BuildSlaveSupport/win/kill-old-processes: Added.
-
-2010-04-14 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Tear down WebKit more completely on window closing and application
- termination. We still don't block application termination for pending
- close, but this is a step in the right direction.
-
- * MiniBrowser/mac/AppDelegate.m:
- (-[BrowserAppDelegate applicationWillTerminate:]):
- * MiniBrowser/mac/BrowserWindowController.h:
- * MiniBrowser/mac/BrowserWindowController.m:
- (-[BrowserWindowController dealloc]):
- (-[BrowserWindowController windowWillClose:]):
- (-[BrowserWindowController applicationTerminating]):
-
-2010-04-14 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Use pretty patch for confirming webkit-patch diffs
- https://bugs.webkit.org/show_bug.cgi?id=37489
-
- * Scripts/webkitpy/common/prettypatch.py: Added.
- * Scripts/webkitpy/tool/commands/download_unittest.py:
- * Scripts/webkitpy/tool/commands/upload_unittest.py:
- * Scripts/webkitpy/tool/mocktool.py:
- * Scripts/webkitpy/tool/steps/confirmdiff.py:
-
-2010-04-14 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Teach webkit-patch how to handle revisions missing ChangeLogs
- https://bugs.webkit.org/show_bug.cgi?id=37519
-
- Make commit_info_for_revision return None when revision
- is missing a ChangeLog. Previously we would throw an array index
- exception.
- Teach callers how to handle None.
-
- * Scripts/webkitpy/common/checkout/api.py:
- * Scripts/webkitpy/common/checkout/api_unittest.py:
- * Scripts/webkitpy/tool/commands/download.py:
- * Scripts/webkitpy/tool/commands/queries.py:
- * Scripts/webkitpy/tool/commands/sheriffbot.py:
-
-2010-04-13 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Roben.
-
- Add Qt Bot to the list of "core builders" (builders which block the commit-queue when red)
- https://bugs.webkit.org/show_bug.cgi?id=33297
-
- This is an experiment. The bots have been green for
- a while. We'll see if adding them under sheriff-bot protection
- will keep them green.
-
- * Scripts/webkitpy/common/net/buildbot.py:
- * Scripts/webkitpy/common/net/buildbot_unittest.py:
-
-2010-04-13 Eric Seidel <eric@webkit.org>
-
- Unreviewed, just fixing a constant in the Rietveld unit test.
-
- * Scripts/webkitpy/common/net/rietveld_unittest.py
-
-2010-04-13 Eric Seidel <eric@webkit.org>
-
- Unreviewed, just adding missing Mock to fix python tests.
-
- * Scripts/webkitpy/tool/mocktool.py:
-
-2010-04-13 Ojan Vafai <ojan@chromium.org>
-
- Reviewed by David Levin.
-
- Add experimental prototype Rietveld integration to webkit-patch upload
- https://bugs.webkit.org/show_bug.cgi?id=37418
-
- This patch adds bare-bones integration with Rietveld for code reviews.
- The behavior is hidden behind the --fancy-review command line flag.
- Currently, there's no support for uploading more than one patch per
- issue (which is a nice feature of Rietveld). The plan is to play with
- this for a bit and see if it's useful.
-
- Modified from Adam's original patch to autoinstall the rietveld upload script.
-
- * Scripts/webkitpy/common/config/__init__.py:
- * Scripts/webkitpy/common/net/rietveld.py: Added.
- * Scripts/webkitpy/common/net/rietveld_unitttest.py: Added.
- * Scripts/webkitpy/tool/commands/queues_unittest.py:
- * Scripts/webkitpy/tool/commands/upload.py:
- * Scripts/webkitpy/tool/commands/upload_unittest.py:
- * Scripts/webkitpy/tool/main.py:
- * Scripts/webkitpy/tool/mocktool.py:
- * Scripts/webkitpy/tool/steps/__init__.py:
- * Scripts/webkitpy/tool/steps/options.py:
- * Scripts/webkitpy/tool/steps/postcodereview.py: Added.
- * Scripts/webkitpy/tool/steps/postdiff.py:
-
-2010-04-13 Sam Weinig <sam@webkit.org>
-
- Rubber-stamped by Mark Rowe.
-
- Add Makefile to MiniBrowser.
-
- * MiniBrowser/Makefile: Added.
-
-2010-04-13 Eric Seidel <eric@webkit.org>
-
- Unreviewed, just adding a sanity check.
-
- Add check to make sure commit-queue can never commit too short a message
- https://bugs.webkit.org/show_bug.cgi?id=37528
-
- The commit-queue made bogus messages here:
- http://trac.webkit.org/changeset/57532
- http://trac.webkit.org/changeset/57534
-
- This was a regression caused by adding unicode parsing for
- our ChangeLog files. Popen does not seem to play nice with
- unicode strings.
-
- I'm also adding an "assert" to make sure short ChangeLogs never happen again.
-
- * Scripts/webkitpy/common/system/executive.py:
- - Cast input to strings before passing to POpen
- * Scripts/webkitpy/tool/steps/commit.py:
- - Validate that commit messages are not to short.
-
-2010-04-13 Adam Roben <aroben@apple.com>
-
- Robustify new-run-webkit-tests against paths with spaces in them
-
- Reviewed by Eric Seidel.
-
- * Scripts/webkitpy/layout_tests/port/apache_http_server.py:
- (LayoutTestApacheHttpd.__init__): Quote all paths that we pass to
- Apache to ensure that paths with spaces in them are interpreted
- correctly.
-
-2010-04-13 Csaba Osztrogonác <ossy@webkit.org>
-
- Unreviewed buildfix after r57537.
-
- * DumpRenderTree/qt/LayoutTestControllerQt.h: Declaration of removeOriginAccessWhitelistEntry() added.
-
-2010-04-13 Sam Weinig <sam@webkit.org>
-
- Reviewed by Maciej Stachowiak.
-
- Make building new webkit API and MiniBrowser a little easier.
-
- * Scripts/build-webkit: Make building with --webkit2 build the
- MiniBrowser as well and tell you how to use it.
- * Scripts/run-minibrowser: Copied from Scripts/run-safari.
- * Scripts/webkitdirs.pm: Add runMiniBrowser function.
-
-2010-04-12 Timothy Hatcher <timothy@apple.com>
-
- SecurityOrigin needs a way to remove individual OriginAccessEntries
- https://bugs.webkit.org/show_bug.cgi?id=37449
-
- Reviewed by Dave Hyatt.
-
- * DumpRenderTree/LayoutTestController.cpp:
- (removeOriginAccessWhitelistEntryCallback): Added. Call LayoutTestController::removeOriginAccessWhitelistEntry.
- (LayoutTestController::staticFunctions): Added removeOriginAccessWhitelistEntry.
- * DumpRenderTree/LayoutTestController.h:
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::removeOriginAccessWhitelistEntry): Added. FIXME to implement.
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (LayoutTestController::removeOriginAccessWhitelistEntry): Added.
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::removeOriginAccessWhitelistEntry): Added. FIXME to implement.
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::removeOriginAccessWhitelistEntry): Added.
- * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
- (LayoutTestController::whiteListAccessFromOrigin): FIXME to implement.
- (LayoutTestController::removeOriginAccessWhitelistEntry): Added. FIXME to implement.
-
-2010-04-13 Timothy Hatcher <timothy@apple.com>
-
- Rename SecurityOrigin::whiteListAccessFromOrigin to addOriginAccessWhitelistEntry.
- And LayoutTestController.whiteListAccessFromOrigin to addOriginAccessWhitelistEntry.
- And SecurityOrigin::resetOriginAccessWhiteLists to resetOriginAccessWhitelists.
-
- SecurityOrigin needs a way to remove individual OriginAccessEntries
- https://bugs.webkit.org/show_bug.cgi?id=37449
-
- Reviewed by Dave Hyatt.
-
- * DumpRenderTree/LayoutTestController.cpp:
- (addOriginAccessWhitelistEntryCallback):
- (LayoutTestController::staticFunctions):
- * DumpRenderTree/LayoutTestController.h:
- * DumpRenderTree/chromium/LayoutTestController.cpp:
- (LayoutTestController::LayoutTestController):
- (LayoutTestController::addOriginAccessWhitelistEntry):
- * DumpRenderTree/chromium/LayoutTestController.h:
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::addOriginAccessWhitelistEntry):
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (resetWebViewToConsistentStateBeforeTesting):
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (LayoutTestController::addOriginAccessWhitelistEntry):
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::addOriginAccessWhitelistEntry):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (resetWebViewToConsistentStateBeforeTesting):
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::addOriginAccessWhitelistEntry):
- * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
- (LayoutTestController::addOriginAccessWhitelistEntry):
-
-2010-04-13 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Eric Seidel.
-
- Remove duplicate function for new-run-webkit-tests
- https://bugs.webkit.org/show_bug.cgi?id=37517
-
- The version() function was already implemented.
-
- * Scripts/webkitpy/layout_tests/port/webkit.py:
-
-2010-04-13 Eric Seidel <eric@webkit.org>
-
- Reviewed by David Levin.
-
- the commit-queue hates Tor Arne Vestbø
- https://bugs.webkit.org/show_bug.cgi?id=37511
-
- We were failing to read reviewers out of ChangeLogs
- when the reviewer has unicode characters in his/her name.
- I fixed this by explicitly decoding from utf8 every time we
- read in a ChangeLog file (they are always UTF8).
-
- * Scripts/webkitpy/common/checkout/changelog.py:
- * Scripts/webkitpy/common/checkout/changelog_unittest.py:
-
-2010-04-13 Adam Roben <aroben@apple.com>
-
- Fix run-webkit-tests on Windows with spaces in the path
-
- Fixes <http://webkit.org/b/37509>.
-
- Reviewed by Steve Falkenburg.
-
- * Scripts/run-webkit-tests:
- (convertPathUsingCygpath): Remove spaces from the path before passing
- them to cygpath, then add them back in after conversion, as some
- versions of cygpath seem to convert spaces into newlines.
-
-2010-04-13 Adam Barth <abarth@webkit.org>
-
- Unreviewed, but approved by Dumitru Daniliuc. (This patch is intended
- to fix the downstream Chromium build bots. Hopefully it will work!)
-
- Add a driver script for the new websocket server
- https://bugs.webkit.org/show_bug.cgi?id=37495
-
- websocket_server.py can't be run directly because its a module and not
- a standalone script. This used to work by accident because it didn't
- depend on any other modules.
-
- * Scripts/new-run-webkit-websocketserver: Added.
- * Scripts/webkitpy/layout_tests/port/websocket_server.py:
-
-2010-04-12 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Make new-run-webkit-test PrettyPatch failure reporting more awesome
- https://bugs.webkit.org/show_bug.cgi?id=37487
-
- I also fixed an Executive/executive typo.
-
- * Scripts/webkitpy/layout_tests/port/base.py:
-
-2010-04-12 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- new-run-webkit-tests should only build java support files on Mac
- https://bugs.webkit.org/show_bug.cgi?id=37482
-
- Only the mac needs java support files, so I pushed _build_java
- down into the Mac port using a new hook "_check_port_build".
- In the process I noticed a bunch of code which could be shared
- between all ports and thus got rid of _tests_for_disabled_features
- and version() copy/paste between all webkit ports.
- I also made check_build only bother to check for ImageDiff if we're
- using pixel tests.
-
- * Scripts/webkitpy/layout_tests/port/gtk.py:
- * Scripts/webkitpy/layout_tests/port/mac.py:
- * Scripts/webkitpy/layout_tests/port/qt.py:
- * Scripts/webkitpy/layout_tests/port/webkit.py:
- * Scripts/webkitpy/layout_tests/port/win.py:
-
-2010-04-12 Dumitru Daniliuc <dumi@chromium.org>
-
- Unreviewed, trying to make scripts work on machines without
- Ruby...
-
- * Scripts/webkitpy/layout_tests/port/base.py:
-
-2010-04-12 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Eric Seidel.
-
- Add stub files for running new-run-webkit-tests for the Qt port
-
- * Scripts/webkitpy/layout_tests/port/factory.py:
- * Scripts/webkitpy/layout_tests/port/qt.py: Added.
-
-2010-04-12 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Modify run_webkit_tests.py to not call sys.exit() at the end of test
- run; doing so makes it more difficult to embed the routine for,
- among other things, unit tests. We push the exit calling up into
- new-run-webkit-tests.
-
- https://bugs.webkit.org/show_bug.cgi?id=37464
-
- * Scripts/new-run-webkit-tests:
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
-
-2010-04-12 Eric Seidel <eric@webkit.org>
-
- Unreviewed.
-
- Add stub Gtk implementation for new-run-webkit-tests.
-
- * Scripts/webkitpy/layout_tests/port/factory.py:
- * Scripts/webkitpy/layout_tests/port/gtk.py: Added.
-
-2010-04-12 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- new-run-webkit-tests fails with exception on systems missing ruby
- https://bugs.webkit.org/show_bug.cgi?id=37441
-
- * Scripts/webkitpy/layout_tests/port/base.py:
- - Catch failures similar to how wdiff code path does.
- - After one failure, stop trying.
-
-2010-04-12 Tony Chang <tony@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Fix how we import simplejson based on how it's used in this file.
- This fixes exceptions raised when trying to write the simplejson output.
-
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
-
-2010-04-11 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Shinichiro Hamaji.
-
- Refactored check-webkit-style so that the StyleChecker class
- has no dependencies on patch-related concepts.
-
- https://bugs.webkit.org/show_bug.cgi?id=37065
-
- This patch is an intermediate step towards making the StyleChecker
- class a generalized file processor that can do arbitary operations
- on the files corresponding to a list of paths. This patch
- also simplifies the unit-testing of patch-checking code.
-
- * Scripts/check-webkit-style:
- - Updated to use the new PatchChecker class.
-
- * Scripts/webkitpy/style/checker.py:
- - Refactored the StyleChecker.check_patch() method into the
- check() method of a new PatchChecker class.
-
- * Scripts/webkitpy/style/checker_unittest.py:
- - Refactored the unit tests as necessary, changing the
- StyleCheckerCheckPatchTest class to a PatchCheckerTest class.
-
-2010-04-11 Adam Barth <abarth@webkit.org>
-
- Unreviewed.
-
- Fix new-run-webkit-tests regressions cased by Eric's option parsing patch
- https://bugs.webkit.org/show_bug.cgi?id=37430
-
- We need some basic unit testing of this script, or we're going to keep
- breaking it like this. Added missing namespace qualifiers and
- propagated renaming of an option.
-
- * Scripts/webkitpy/common/config/ports.py:
- * Scripts/webkitpy/layout_tests/driver_test.py:
- * Scripts/webkitpy/layout_tests/port/base.py:
- * Scripts/webkitpy/layout_tests/port/mac.py:
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
-
-2010-04-11 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Break new-run-webkit-tests options into groups for easier re-use and possible relocation
- https://bugs.webkit.org/show_bug.cgi?id=37408
-
- new-run-webkit-tests currently has one huge function for
- dealing with all options-parsing.
- This patch is a first attempt at trying to split that large
- function down into smaller (hopefully more readable?) chunks
- dealing with the different areas of options.
- For example, it would make sense to move configuration
- options off into some module which deals with the vagries of
- WebKit's configuration system. It would also make sense to move
- Chromium options off onto the Chromium port object (where they are used).
- It may make sense to move results.json options over to the results.json code.
- This change is a first iteration, and we will certainly need more
- refinement to this code over time. Hopefully I didn't make things
- harder to read here.
-
- * Scripts/webkitpy/layout_tests/driver_test.py:
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
-
-2010-04-11 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- create-rollout copy needs to be updated to reflect removal of --no-build
- https://bugs.webkit.org/show_bug.cgi?id=37425
-
- Removed --no-build and --no-test from the instructions because these
- don't exist anymore.
-
- * Scripts/webkitpy/tool/commands/download_unittest.py:
- - Updated the expected results to reflect the new copy.
- * Scripts/webkitpy/tool/steps/postdiffforrevert.py:
-
-2010-04-11 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r57460.
- http://trac.webkit.org/changeset/57460
- https://bugs.webkit.org/show_bug.cgi?id=37424
-
- broke chromium builders (Requested by tony^work on #webkit).
-
- * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
-
-2010-04-11 Tony Chang <tony@chromium.org>
-
- Reviewed by Darin Fisher.
-
- [chromium] update chromium DEPS for upstream compile
- https://bugs.webkit.org/show_bug.cgi?id=36578
-
- * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp: Small fix to avoid a circular dependency between
- WebKit.gyp and webkit.gyp.
-
-2010-04-11 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by Eric Seidel.
-
- svn-apply errors out when removing directories in git
- https://bugs.webkit.org/show_bug.cgi?id=34871
-
- * Scripts/svn-apply:
- (isDirectoryEmptyForRemoval): early break if the directory doesn't exist
- (scmRemove): have git ignore unmatched files
-
-2010-04-11 Daniel Bates <dbates@rim.com>
-
- No review, rolling out 57440.
- http://trac.webkit.org/changeset/57440
- https://bugs.webkit.org/show_bug.cgi?id=27204
-
- Did not handle Git patches that included both file and property
- changes to the same file. Rolling this change out while I look
- into this.
-
- * Scripts/VCSUtils.pm:
- * Scripts/svn-apply:
- * Scripts/svn-unapply:
- * Scripts/webkitperl/VCSUtils_unittest/appendSVNExecutableBitChangeToPatch.pl: Removed.
- * Scripts/webkitperl/VCSUtils_unittest/parseGitFileMode.pl: Removed.
- * Scripts/webkitperl/VCSUtils_unittest/parseStartOfPatchOrPropertyChangeAndEndOfPropertyChange.pl: Removed.
-
-2010-04-11 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Fix typo in log path for AbstractQueue
- https://bugs.webkit.org/show_bug.cgi?id=37414
-
- * Scripts/webkitpy/tool/commands/queues.py:
- * Scripts/webkitpy/tool/commands/queues_unittest.py:
-
-2010-04-11 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Add missing import statement.
-
- * Scripts/webkitpy/common/system/executive.py:
-
-2010-04-11 Robert Hogan <robert@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Add setWillSendRequestReturnsNull and setWillSendRequestClearHeader
-
- https://bugs.webkit.org/show_bug.cgi?id=37410
-
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::reset):
- (LayoutTestController::setWillSendRequestReturnsNull):
- (LayoutTestController::setWillSendRequestClearHeader):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
-
-2010-04-11 Csaba Osztrogonác <ossy@webkit.org>
-
- [Qt] Unreviewed buildfix for --debug build after r57433.
-
- Refactor Qt DRT support in QtWebKit
- https://bugs.webkit.org/show_bug.cgi?id=35844
-
- * QtLauncher/main.cpp: qt_drt_garbageCollector_collect(); renamed to DumpRenderTreeSupportQt::garbageCollectorCollect();
- (launcherMain):
-
-2010-04-11 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by Mark Rowe.
-
- Make commit-log-editor Rubber-stamp aware. And other minor cleanups.
- https://bugs.webkit.org/show_bug.cgi?id=37407
-
- * Scripts/commit-log-editor:
-
-2010-04-11 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Add PrettyPatch links to new-run-webkit-tests output
- https://bugs.webkit.org/show_bug.cgi?id=37406
-
- * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py:
- - We're leaking a file handle here, add a FIXME.
- * Scripts/webkitpy/layout_tests/layout_package/test_failures.py:
- - Add pretty diff links.
- * Scripts/webkitpy/layout_tests/port/base.py:
- - Add support for generating pretty diffs using PrettyPatch.
- * Scripts/webkitpy/layout_tests/port/webkit.py:
- - We're leaking another file handle here, another FIXME.
- * Scripts/webkitpy/layout_tests/test_types/image_diff.py:
- - Update write_output_files signature.
- * Scripts/webkitpy/layout_tests/test_types/test_type_base.py:
- - Remove unused arguments from write_output_files.
- - Add support for dumping pretty diffs to write_output_files.
- - Fix a bunch of file descriptor leaks in this file.
- * Scripts/webkitpy/layout_tests/test_types/text_diff.py:
- - Update write_output_files signature.
-
-2010-04-10 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- kill_process is copy/pasted in five places
- https://bugs.webkit.org/show_bug.cgi?id=37405
-
- We shouldn't replicate the kill_process logic in every port. Instead,
- we should move the process interaction to Executive.
-
- Dirk mentioned that he wanted this abstraction to make it easier to
- mock things out for testing. It turns out this function is only used
- in one place where it can't be used as a mock point for testing because
- the corresponding create process actually creates a real process. In
- the long term, we should indirect both these calls through a non-static
- Executive as a mock point. However, we should wait on that until we
- actually want to write the test.
-
- * Scripts/webkitpy/layout_tests/port/base.py:
- * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
- * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
- * Scripts/webkitpy/layout_tests/port/chromium_win.py:
- * Scripts/webkitpy/layout_tests/port/mac.py:
- * Scripts/webkitpy/layout_tests/port/websocket_server.py:
- * Scripts/webkitpy/layout_tests/port/win.py:
-
-2010-04-10 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- new-run-webkit-tests shouldn't alter its path to import packages
- https://bugs.webkit.org/show_bug.cgi?id=37404
-
- * Scripts/new-run-webkit-tests:
- * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
- * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
- * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py:
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
- * Scripts/webkitpy/layout_tests/test_types/fuzzy_image_diff.py:
- * Scripts/webkitpy/layout_tests/test_types/image_diff.py:
- * Scripts/webkitpy/layout_tests/test_types/text_diff.py:
- * Scripts/webkitpy/thirdparty/simplejson/decoder.py:
-
-2010-04-10 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- new-run-webkit-tests should store results to a directory under the build tree
- https://bugs.webkit.org/show_bug.cgi?id=37380
-
- * Scripts/webkitpy/layout_tests/port/webkit.py:
-
-2010-04-10 Daniel Bates <dbates@rim.com>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=27204
-
- Implement support for changing the executable bit of a file.
- The executable bit is among the most changed file properties.
- Future support can include other property changes.
-
- Currently, if a patch changes the executable bit of a file
- it is not respected by svn-apply or svn-unapply. Since the
- commit-queue bot uses these tools as part of its workflow,
- such patches cannot be committed by it. That is, such patches
- need to be committed by hand. Instead, we should add support
- for the executable bit so that such patches can be committed
- by the commit-queue bot.
-
- * Scripts/VCSUtils.pm: Also change reference to Apple Computer, Inc.
- in copyright to Apple, Inc.
- * Scripts/svn-apply:
- * Scripts/svn-unapply:
- * Scripts/webkitperl/VCSUtils_unittest/appendSVNExecutableBitChangeToPatch.pl: Added.
- * Scripts/webkitperl/VCSUtils_unittest/parseGitFileMode.pl: Added.
- * Scripts/webkitperl/VCSUtils_unittest/parseStartOfPatchOrPropertyChangeAndEndOfPropertyChange.pl: Added.
-
-2010-04-10 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- WinEWS bot fails to svn update because scm.clean_working_directory leaves files around
- https://bugs.webkit.org/show_bug.cgi?id=37401
-
- The Git-based bots don't have this trouble because
- Git.clean_working_directory fully removes files that were
- marked as "add". SVN.clean_working_directory previously just
- called "svn revert" which would leave added files in the
- working directory untracked. This patch makes
- SVN.clean_working_directory function more like
- Git.clean_working_directory by removing added files after revert.
-
- * Scripts/webkitpy/common/checkout/scm.py:
- - Add SCM.absolute_path for easy conversion between
- repository-relative paths and absolute paths.
- - Add SCM.add and SCM.added_files
- - Make SVN.clean_working_directory remove any added_files after svn revert.
- - The new unit tests found a bug in Git.status_command, change to use git diff --name-status instead.
- * Scripts/webkitpy/common/checkout/scm_unittest.py:
- - Add tests for added code.
-
-2010-04-10 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- new-run-webkit-tests can't find ImageDiff on Windows
- https://bugs.webkit.org/show_bug.cgi?id=37403
-
- It turns out the build directory on Windows is structured differently
- than it is on other platforms. Instead of assuming the normal
- structure, we should just ask perl to figure it out for us.
-
- * Scripts/webkitpy/layout_tests/port/webkit.py:
-
-2010-04-10 Adam Barth <abarth@webkit.org>
-
- Rubber-stamped by Eric Seidel.
-
- Change "Gathering files" status line to "Collecting tests". Gathering
- the files sounds silly to me.
-
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
-
-2010-04-10 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Fix bugs to make new-run-webkit-tests almost run on windows
- https://bugs.webkit.org/show_bug.cgi?id=37400
-
- Fix some minor bugs that prevent new-run-webkit-tests from being run on
- Windows. I still haven't run it to completion, but I'm getting
- further.
-
- * Scripts/webkitpy/layout_tests/port/factory.py:
- * Scripts/webkitpy/layout_tests/port/webkit.py:
-
-2010-04-10 Robert Hogan <robert@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Refactor Qt DRT support in QtWebKit
-
- Update Qt DRT to use new DumpRenderTreeSupportQt static class.
-
- https://bugs.webkit.org/show_bug.cgi?id=35844
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::DumpRenderTree::DumpRenderTree):
- (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting):
- (WebCore::DumpRenderTree::dumpFramesAsText):
- * DumpRenderTree/qt/DumpRenderTreeQt.h:
- * DumpRenderTree/qt/GCControllerQt.cpp:
- (GCController::collect):
- (GCController::collectOnAlternateThread):
- (GCController::getJSObjectCount):
- * DumpRenderTree/qt/GCControllerQt.h:
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::counterValueForElementById):
- (LayoutTestController::setViewModeMediaFeature):
- (LayoutTestController::setMediaType):
- (LayoutTestController::closeWebInspector):
- (LayoutTestController::showWebInspector):
- (LayoutTestController::evaluateInWebInspector):
- (LayoutTestController::setFrameFlatteningEnabled):
- (LayoutTestController::setJavaScriptProfilingEnabled):
- (LayoutTestController::setTimelineProfilingEnabled):
- (LayoutTestController::pauseAnimationAtTimeOnElementWithId):
- (LayoutTestController::pauseTransitionAtTimeOnElementWithId):
- (LayoutTestController::sampleSVGAnimationForElementAtTime):
- (LayoutTestController::numberOfActiveAnimations):
- (LayoutTestController::whiteListAccessFromOrigin):
- (LayoutTestController::setCaretBrowsingEnabled):
- (LayoutTestController::setDomainRelaxationForbiddenForURLScheme):
- (LayoutTestController::workerThreadCount):
- (LayoutTestController::pageNumberForElementById):
- (LayoutTestController::numberOfPages):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
-
-2010-04-10 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Move global queue log to the logs directory so it survives git clean -f
- https://bugs.webkit.org/show_bug.cgi?id=37395
-
- * Scripts/webkitpy/tool/commands/queues.py:
-
-2010-04-10 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- SheriffBot should spam when it encounters errors
- https://bugs.webkit.org/show_bug.cgi?id=37329
-
- We need to always update the status server so we don't get stuck in a
- spam loop. I tried writing a test for this change, but it kind of
- got out of control. We need a better way to do failure injection.
-
- * Scripts/webkitpy/tool/commands/sheriffbot.py:
-
-2010-04-10 Adam Barth <abarth@webkit.org>
-
- Unreviewed attempt to fix the Chromium Mac canary.
-
- * Scripts/webkitpy/common/config/ports.py:
- * Scripts/webkitpy/common/config/ports_unittest.py:
- * Scripts/webkitpy/common/system/executive.py:
-
-2010-04-10 Adam Barth <abarth@webkit.org>
-
- Unreviewed.
-
- Add the Apache bits to win.py for new-run-webkit-tests
- https://bugs.webkit.org/show_bug.cgi?id=37397
-
- I still have run this yet, but I looked around to figure out what the
- various paths appear to be. I'll figure out a way to remove the
- copy/paste code in a future patch.
-
- * Scripts/webkitpy/layout_tests/port/mac.py:
- * Scripts/webkitpy/layout_tests/port/webkit.py:
- * Scripts/webkitpy/layout_tests/port/win.py:
-
-2010-04-10 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Sketch out the win port for new-run-webkit-tests
- https://bugs.webkit.org/show_bug.cgi?id=37393
-
- I haven't tried running this yet, but we've got to start somewhere.
-
- * Scripts/webkitpy/layout_tests/port/factory.py:
- * Scripts/webkitpy/layout_tests/port/mac.py:
- * Scripts/webkitpy/layout_tests/port/webkit.py:
- * Scripts/webkitpy/layout_tests/port/win.py: Added.
-
-2010-04-10 Ojan Vafai <ojan@chromium.org>
-
- Reviewed by Adam Barth.
-
- webkit-patch land should not build and test by default
- https://bugs.webkit.org/show_bug.cgi?id=33631
-
- Reverse the sense of --no-build and --no-test to be --build and --test.
- Also, decoupled the build and test options so you can test without
- building.
-
- (Patch manngled by Adam Barth. All bugs are his fault.)
-
- * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
- * Scripts/webkitpy/tool/commands/queues.py:
- * Scripts/webkitpy/tool/commands/queues_unittest.py:
- * Scripts/webkitpy/tool/steps/options.py:
- * Scripts/webkitpy/tool/steps/runtests.py:
-
-2010-04-10 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Factor WebKitPort out of MacPort to allow for WinPort
- https://bugs.webkit.org/show_bug.cgi?id=37388
-
- The split is a bit of a guess. We might have to adjust things once we
- actually have a second port to work with.
-
- * Scripts/webkitpy/layout_tests/port/apache_http_server.py:
- * Scripts/webkitpy/layout_tests/port/mac.py:
- * Scripts/webkitpy/layout_tests/port/webkit.py: Added.
- * Scripts/webkitpy/layout_tests/port/websocket_server.py:
-
-2010-04-10 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- run_webkit_tests.py shouldn't have platform-specific logic
- https://bugs.webkit.org/show_bug.cgi?id=37387
-
- Dirk Pranke pointed out that my last patch was wrong because I
- introduced platform-specific logic into run_webkit_tests.py, limiting
- the parallelism in Chromium to work around a bug in the main Mac port.
-
- * Scripts/webkitpy/common/system/executive.py:
- - Fix a typo pointed out by Chris Jerdonek.
- * Scripts/webkitpy/layout_tests/port/base.py:
- * Scripts/webkitpy/layout_tests/port/mac.py:
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
-
-2010-04-10 Robert Hogan <robert@webkit.org>
-
- Unreviewed fix to regressions in r57416.
-
- [Qt] Fix regressions in http/tests/navigation from r57416
-
- Reset willSendRequestReturnsNullOnRedirect after each test to
- prevent it leaking to subsequent tests.
-
- Error pointed out by Jakub Wieczorek.
-
- https://bugs.webkit.org/show_bug.cgi?id=37237
-
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::reset):
-
-2010-04-11 Robert Hogan <robert@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Update layoutTestController.DumpResourceLoadCallbacks to match other ports.
-
- Add support for layoutTestController.setWillSendRequestReturnsNullOnRedirect to Qt DRT.
- Prevent dumping resource load callbacks once layout test has dumped.
-
- https://bugs.webkit.org/show_bug.cgi?id=37237
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::DumpRenderTree::dump):
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::setWillSendRequestReturnsNullOnRedirect):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
-
-2010-04-10 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Implement Desktop Notifications API for QtWebKit
- https://bugs.webkit.org/show_bug.cgi?id=35503
-
- DRT stubs for notification. Enables to run and pass
- 3 (currently disabled) tests.
-
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::LayoutTestController):
- (LayoutTestController::grantDesktopNotificationPermission):
- (LayoutTestController::checkDesktopNotificationPermission):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
-
-2010-04-09 Dumitru Daniliuc <dumi@chromium.org>
-
- Unreviewed, another change to executive.py to make it run with
- python 2.4.
-
- * Scripts/webkitpy/common/system/executive.py:
-
-2010-04-09 Dumitru Daniliuc <dumi@chromium.org>
-
- Unreviewed, attempting to make executive.py run with python 2.4
- (which is still used on Chromium's Windows canary bot).
-
- * Scripts/webkitpy/common/system/executive.py:
-
-2010-04-09 Kevin Watters <kevinwatters@gmail.com>
-
- Reviewed by Eric Seidel.
-
- [wx] Basic implementation of SVG support for wx port.
-
- * wx/build/settings.py:
-
-2010-04-09 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Don't reinvent Executive.cpu_count for every port
- https://bugs.webkit.org/show_bug.cgi?id=37377
-
- mac.py and chromium_mac.py had some copy/paste code. This code doesn't
- actually have anything to do with WebKit ports. It's really just
- something in the multiprocessing package. The lame bit is that package
- isn't available in older versions of Python, so we need to implement a
- fallback. However, we already have the fallback in common. We don't
- need to reinvent it specificly for layout_tests.
-
- * Scripts/webkitpy/common/system/executive.py:
- * Scripts/webkitpy/layout_tests/port/base.py:
+ (watchDogThread): Use TestShell::layoutTestTimeoutForWatchDog().
* Scripts/webkitpy/layout_tests/port/chromium.py:
- * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
- * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
* Scripts/webkitpy/layout_tests/port/chromium_win.py:
- * Scripts/webkitpy/layout_tests/port/mac.py:
- * Scripts/webkitpy/layout_tests/port/test.py:
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
-
-2010-04-09 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- new-run-webkit-tests --release fails to build release DRT when global configuration is Debug
- https://bugs.webkit.org/show_bug.cgi?id=37376
-
- We need to explicitly pass the --release flag. I bet there are more
- instances of this bug.
-
- * Scripts/webkitpy/layout_tests/port/base.py:
- * Scripts/webkitpy/layout_tests/port/mac.py:
-
-2010-04-09 Tony Chang <tony@chromium.org>
-
- Reviewed by Eric Seidel.
-
- [chromium] DRT compile fix on win/linux
- https://bugs.webkit.org/show_bug.cgi?id=37314
-
- Looks like this was missed when upstreaming.
-
- * DumpRenderTree/chromium/EventSender.cpp:
- (applyKeyModifier):
-
-2010-04-09 Adam Barth <abarth@webkit.org>
-
- Unreviewed, but approved by Dirk Pranke.
-
- rename test_expectations_test.py to test_expectations_unittest.py so it actually gets run
- https://bugs.webkit.org/show_bug.cgi?id=37372
-
- We need to end unit tests with _unittest.py for them to be autodetected
- by the test harness. +6 tests.
-
- * Scripts/webkitpy/layout_tests/layout_package/test_expectations_unittest.py: Renamed from WebKitTools/Scripts/webkitpy/layout_tests/layout_package/test_expectations_test.py.
-
-2010-04-09 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- new-run-webkit-tests should talk about DumpRenderTree not test_shell
- https://bugs.webkit.org/show_bug.cgi?id=37371
-
- test_shell is some strange Chromium thing.
- DumpRenderTree (tm) is the real deal.
-
- * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: Added.
- * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py:
- * Scripts/webkitpy/layout_tests/layout_package/test_failures.py:
- * Scripts/webkitpy/layout_tests/layout_package/test_shell_thread.py: Removed.
- * Scripts/webkitpy/layout_tests/port/chromium.py:
- * Scripts/webkitpy/layout_tests/port/server_process.py:
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
-
-2010-04-09 Zoltan Horvath <zoltan@webkit.org>
-
- Reviewed by Alexey Proskuryakov.
-
- Fix 2 issues (what were introduced in r56524) in svn-create-patch's generateDiff()
- https://bugs.webkit.org/show_bug.cgi?id=32582
- Add missing return variable. Initialize $patch variable and remove unnecessary condition.
-
- * Scripts/svn-create-patch:
-
-2010-04-09 Kevin Ollivier <kevino@theolliviers.com>
-
- [wx] Build fix after addition of LayoutTestController method.
-
- * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
- (LayoutTestController::computedStyleIncludingVisitedInfo):
-
-2010-04-09 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=37368
- Add MiniBrowser.
-
- * MiniBrowser: Added.
- * MiniBrowser/MiniBrowser.vcproj: Added.
- * MiniBrowser/MiniBrowser.xcodeproj: Added.
- * MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj: Added.
- * MiniBrowser/mac: Added.
- * MiniBrowser/mac/AppDelegate.h: Added.
- * MiniBrowser/mac/AppDelegate.m: Added.
- * MiniBrowser/mac/BrowserWindowController.h: Added.
- * MiniBrowser/mac/BrowserWindowController.m: Added.
- * MiniBrowser/mac/English.lproj: Added.
- * MiniBrowser/mac/English.lproj/BrowserWindow.xib: Added.
- * MiniBrowser/mac/English.lproj/InfoPlist.strings: Added.
- * MiniBrowser/mac/English.lproj/MainMenu.xib: Added.
- * MiniBrowser/mac/MiniBrowser-Info.plist: Added.
- * MiniBrowser/mac/MiniBrowser_Prefix.pch: Added.
- * MiniBrowser/mac/main.m: Added.
- * MiniBrowser/win: Added.
- * MiniBrowser/win/BrowserView.cpp: Added.
- * MiniBrowser/win/BrowserView.h: Added.
- * MiniBrowser/win/BrowserWindow.cpp: Added.
- * MiniBrowser/win/BrowserWindow.h: Added.
- * MiniBrowser/win/MiniBrowser.cpp: Added.
- * MiniBrowser/win/MiniBrowser.h: Added.
- * MiniBrowser/win/MiniBrowser.rc: Added.
- * MiniBrowser/win/Resources: Added.
- * MiniBrowser/win/main.cpp: Added.
- * MiniBrowser/win/resource.h: Added.
- * MiniBrowser/win/stdafx.cpp: Added.
- * MiniBrowser/win/stdafx.h: Added.
-
-2010-04-09 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- webkit-patch attached my patch to the wrong bug
- https://bugs.webkit.org/show_bug.cgi?id=37015
-
- The problem here is that SVN was violating SCM's implicit
- contract of always returning paths relative to the repository root.
- That can easily be fixed by telling SVN that the CWD is the repository root.
-
- When fixing this I realized there are a large number of places in SCM.py where
- we want to consider explicitly passing self.checkout_root as the CWD.
- That would allow scm methods to be executed even when the CWD is not inside
- the scm tree at all, and would also make sure (in the case of SVN) that paths
- returned are relative to the root. Git (almost always) returns paths relative
- to the repository root.
-
- * Scripts/webkitpy/common/checkout/scm.py:
- - Explicitly pass self.checkout_root as cwd in run_status_and_extract_filenames
- - Add a ton of FIXMEs about the need to go back and decide which methods require cwd=self.checkout_root
- and which do not. We'll probably add a helper function to scm (likely SCM._run) which
- always passes cwd=self.checkout_root to Executive.run_command
- * Scripts/webkitpy/common/checkout/scm_unittest.py:
- - Add a test for this change.
- * Scripts/webkitpy/tool/commands/upload.py:
- - Removed the explicit os.chdir to the repository root, since scm.py methods
- should be robust against the cwd not being equal to the root.
-
-2010-04-09 Adam Roben <aroben@apple.com>
-
- Don't return 0 as a JSValueRef
-
- That is an illegal use of the JSC API.
-
- Fixes <http://webkit.org/b/37333> REGRESSION (r57292): :visited tests
- are asserting on debug Windows and GTK builds
-
- Reviewed by Anders Carlsson.
-
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::computedStyleIncludingVisitedInfo):
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::computedStyleIncludingVisitedInfo):
- Return an "undefined" JSValueRef instead of 0.
-
-2010-04-09 Csaba Osztrogonác <ossy@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Make DumpRenderTree parallelizable
- https://bugs.webkit.org/show_bug.cgi?id=36899
-
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (libraryPathForDumpRenderTree): Use DUMPRENDERTREE_TEMP if exist.
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::DumpRenderTree::DumpRenderTree): Use DUMPRENDERTREE_TEMP if exist.
- * Scripts/run-webkit-tests:
- - Create a unique temporary directory and pass its path to
- DumpRenderTree with DUMPRENDERTREE_TEMP environment variable.
-
-2010-04-09 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Oliver Hunt.
-
- <http://webkit.org/b/37326> IDL files are being copied in to the WebCore framework again
-
- Add a script to detect the presence of inappropriate files in the frameworks. At present
- it only looks for .css, .idl and .in files in the top level of WebCore.framework/Resources,
- as these are the only cases we've encountered recently. It can be extended to check the
- other frameworks or for other inappropriate files in the future.
-
- * Scripts/check-for-inappropriate-files-in-framework: Added.
-
-2010-04-08 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin Adler.
-
- Add option to build WebKit2 to build-webkit.
-
- * Scripts/build-webkit:
-
-2010-04-08 Darin Adler <darin@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- run-webkit-tests should respect argument order
- https://bugs.webkit.org/show_bug.cgi?id=37257
-
- * Scripts/run-webkit-tests: Changed so that sorting is done only
- on the results of iterating directories. Test order is based on
- what's passed on the command line. Removed code that aimed to
- eliminate duplicates since it can be useful to run the same test
- more than once.
-
-2010-04-07 David Hyatt <hyatt@apple.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=24300, don't expose history info via CSS. Add a new method for
- obtaining computed style with :visited info included. This allows layout tests to actually tell that
- :visited is in effect.
-
- * DumpRenderTree/LayoutTestController.cpp:
- (computedStyleIncludingVisitedInfoCallback):
- (LayoutTestController::staticFunctions):
- * DumpRenderTree/LayoutTestController.h:
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (LayoutTestController::computedStyleIncludingVisitedInfo):
-
-2010-04-07 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Adam Barth.
-
- Enable rebaseline-chromium-webkit-tests to run from a webkit-only
- checkout (i.e., you don't need anything from the Chromium tree checked
- out). This requires us to introduce the concept of a "target"
- port/platform that we use to get configuration information from as well
- as the "running" port that we use to make directories and diff images
- and the "rebaselining" port we use to actually manage baselines.
-
- https://bugs.webkit.org/show_bug.cgi?id=37238
-
- * Scripts/webkitpy/layout_tests/port/mac.py:
- * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
-
-2010-04-05 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] REGRESSION:(r50665) QWebFrame::setScrollBarPolicy(Qt::Vertical,Qt::ScrollBarAlwaysOff) has no effect.
- https://bugs.webkit.org/show_bug.cgi?id=29431
-
- Added stubs for Mac, win, gtk and wx DRTs to implement setScrollbarPolicy method.
-
- * DumpRenderTree/LayoutTestController.cpp:
- (setScrollbarPolicyCallback):
- (LayoutTestController::staticFunctions):
- * DumpRenderTree/LayoutTestController.h:
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::setScrollbarPolicy):
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (LayoutTestController::setScrollbarPolicy):
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::setScrollbarPolicy):
- * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
- (LayoutTestController::setScrollbarPolicy):
-
-2010-04-01 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by David Hyatt.
-
- [Qt] REGRESSION:(r50665) QWebFrame::setScrollBarPolicy(Qt::Vertical,Qt::ScrollBarAlwaysOff) has no effect.
- https://bugs.webkit.org/show_bug.cgi?id=29431
-
- Make possible to DRT to set scrollbar policies (on, off or auto).
-
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::setScrollbarPolicy):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
- * QtLauncher/main.cpp:
- (LauncherWindow::toggleScrollbars):
- (LauncherWindow::createChrome):
-
-2010-04-08 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- new-run-webkit-tests should give a percent complete indication
- https://bugs.webkit.org/show_bug.cgi?id=37258
-
- Because it's awesome.
-
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
-
-2010-04-08 Adam Barth <abarth@webkit.org>
-
- Unreviewed.
-
- Add back the --target option because it's needed by the downstream
- Chromium bots.
-
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
-
-2010-04-08 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- new-run-webkit-tests should understand set-webkit-configuration
- https://bugs.webkit.org/show_bug.cgi?id=37252
-
- * Scripts/webkitpy/layout_tests/port/base.py:
- * Scripts/webkitpy/layout_tests/port/mac.py:
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
-
-2010-04-08 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Rename target to configuration in new-run-webkit-tests to match the rest of WebKit
- https://bugs.webkit.org/show_bug.cgi?id=37251
-
- The rest of our tools call --debug or --release the configuration.
- It's confusing to call it target in this script.
-
- * Scripts/webkitpy/layout_tests/driver_test.py:
- * Scripts/webkitpy/layout_tests/layout_package/test_shell_thread.py:
- * Scripts/webkitpy/layout_tests/port/base.py:
- * Scripts/webkitpy/layout_tests/port/chromium.py:
- * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
- * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
- * Scripts/webkitpy/layout_tests/port/chromium_win.py:
- * Scripts/webkitpy/layout_tests/port/mac.py:
- * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
- * Scripts/webkitpy/layout_tests/test_types/fuzzy_image_diff.py:
- * Scripts/webkitpy/layout_tests/test_types/image_diff.py:
- * Scripts/webkitpy/layout_tests/test_types/test_type_base.py:
- * Scripts/webkitpy/layout_tests/test_types/text_diff.py:
-
-2010-04-07 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Remove depricated op.popen2 call in new-run-webkit-tests
- https://bugs.webkit.org/show_bug.cgi?id=37249
-
- Python complains that this API is depricated. We already solved this
- problem in executive.py.
-
- * Scripts/webkitpy/layout_tests/port/mac.py:
-
-2010-04-07 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- new-run-webkit-tests crashes when run on a 64-bit machine
- https://bugs.webkit.org/show_bug.cgi?id=37248
-
- * Scripts/webkitpy/layout_tests/port/mac.py:
- - The code was trying to always run the 32-bit intel version
- of the DumpRenderTree binary. DRT does not build 32-bit on 64-bit
- machines so that makes no sense. This may have made sense for test_shell
- at some point, but I think we should just remove this for DRT.
-
-2010-04-07 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- WebKit Apache configs only listen on IPv4 addresses, causing random timeouts
- https://bugs.webkit.org/show_bug.cgi?id=37104
-
- Add warnings that the partial support for specifying what port numbers
- apache should bind to is even more broken after this fix.
-
- * Scripts/run-webkit-httpd:
- * Scripts/run-webkit-tests:
-
-2010-04-07 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Darin Adler.
-
- LayoutTestController::m_handlesAuthenticationChallenges isn't initialized
- https://bugs.webkit.org/show_bug.cgi?id=37190
-
- * DumpRenderTree/LayoutTestController.cpp:
- (LayoutTestController::LayoutTestController):
-
-2010-03-31 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Add webkit-patch command to crawl buildbot history and find when tests
- started to fail.
- https://bugs.webkit.org/show_bug.cgi?id=36911
-
- This is a very bare-bones implementation, which works, but isn't pretty.
- We will need further re-factoring and improvement to this code, but
- after long discussions with Adam, I think it's best that we land this
- and iterate from there.
-
- * Scripts/webkitpy/common/net/buildbot.py:
- - Add revision_build_pairs_with_results for cleaner code and possible
- optimization of this command.
- - Return None if a build number can't be found for a revision in
- build_for_revision
- - Separate out suspect_revisions_for_transition for re-use by
- FailureReason
- - Add LayoutTestResults.failing_tests() and make our parsing code
- explict about what tables it accepts.
- * Scripts/webkitpy/tool/commands/queries.py:
- - Move _print_blame_information_for_commit out of WhatBroke for re-use
- by FailureReason.
- - Add FailureReason command which can crawl a given builder and explain
- why it is currently red on a per-test basis.
-
-2010-04-06 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [DRT/Chromium] Add DumpRenderTree.gyp, and some small fixes
- https://bugs.webkit.org/show_bug.cgi?id=37137
-
- - Add DumpRenderTree.gyp
- - Remove some dependencies to base/string_util.h,
- base/compiler_specific.h, base/file_path.h, base/file_util.h,
- base/message_loop.h, base/sys_string_conversions.h,
-
- * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp: Added.
- * DumpRenderTree/chromium/CppVariant.cpp:
- (CppVariant::toStringVector):
- * DumpRenderTree/chromium/EventSender.cpp:
- (EventSender::EventSender):
- (EventSender::keyDown):
- (EventSender::scheduleAsynchronousClick):
- (EventSender::beginDragWithFiles):
- * DumpRenderTree/chromium/LayoutTestController.cpp:
- (LayoutTestController::setUserStyleSheetLocation):
- (LayoutTestController::pathToLocalResource):
- * DumpRenderTree/chromium/TextInputController.cpp:
- (TextInputController::markedRange):
- (TextInputController::selectedRange):
-
-2010-04-06 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Write stack traces into the results directory for new-run-webkit-tests,
- instead of writing them alongside the test file.
-
- https://bugs.webkit.org/show_bug.cgi?id=36504
-
- * Scripts/webkitpy/layout_tests/layout_package/test_shell_thread.py:
-
-2010-04-06 Dirk Pranke <dpranke@chromium.org>
-
- Unreviewed build fix.
-
- Enable pixel tests by default in new-run-webkit-tests unless
- explicitly set by the port or by the command line. This was broken in
- the fix for bug 36801 (rev. 57173).
-
- https://bugs.webkit.org/show_bug.cgi?id=37184
-
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
-
-2010-04-06 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Disable pixel tests on the mac port by default.
-
- Also, revamp the way we check for pixel tests being enabled or
- disabled. We now look for options.pixel_tests instead of
- options.no_pixel_tests, and we have the "--pixel-tests" (force enable)
- and "--no-pixel-tests" (force disable) flags.
-
- https://bugs.webkit.org/show_bug.cgi?id=36801
-
- * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py:
- * Scripts/webkitpy/layout_tests/layout_package/test_expectations_test.py:
- * Scripts/webkitpy/layout_tests/port/chromium.py:
- * Scripts/webkitpy/layout_tests/port/mac.py:
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
-
-2010-04-06 Diego Gonzalez <diego.gonzalez@openbossa.org>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] Added the iPhone and iPad latest user agent in QtLauncher UA switcher
- https://bugs.webkit.org/show_bug.cgi?id=37159
-
- * QtLauncher/useragentlist.txt:
-
-2010-04-06 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Add current user-agent string for Symbian for QtLauncher
- https://bugs.webkit.org/show_bug.cgi?id=37131
-
- * QtLauncher/useragentlist.txt:
-
-2010-04-06 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Explain how to handle rollout patches
- https://bugs.webkit.org/show_bug.cgi?id=37139
-
- We need to set expectations for how long landing rollout patches with
- the commit-queue takes. The commit-queue is optimized for safety, not
- performance. Also, give folks an alternative way to land patches
- quickly.
-
- In addition, improve our testing of add_patch_to_bug by having
- MockBugzilla log. This caused me to tighten a bunch of tests and
- notice that one of our tests wasn't being run.
-
- * Scripts/webkitpy/tool/commands/download_unittest.py:
- * Scripts/webkitpy/tool/commands/upload_unittest.py:
- * Scripts/webkitpy/tool/mocktool.py:
- * Scripts/webkitpy/tool/steps/postdiffforrevert.py:
-
-2010-04-06 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Turns out commit_info.committer() can be None
- https://bugs.webkit.org/show_bug.cgi?id=37106
-
- When the committer isn't in committers.py, the committer() property on
- commit_info can be None. We need to handle that case gracefully.
-
- * Scripts/webkitpy/common/checkout/commitinfo.py:
- * Scripts/webkitpy/tool/bot/sheriff.py:
- * Scripts/webkitpy/tool/bot/sheriff_unittest.py:
- * Scripts/webkitpy/tool/commands/queries.py:
-
-2010-04-06 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+2010-05-30 Robert Hogan <robert@webkit.org>
Reviewed by Kenneth Rohde Christiansen.
- [Qt] [Symbian] Build fix for Dumprendertree if Qt printing is not supported
- https://bugs.webkit.org/show_bug.cgi?id=37082
-
- Use the QT_NO_PRINTER guard to flag QPrinter dependent code.
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::DumpRenderTree::dryRunPrint):
-
-2010-04-05 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- SheriffBot should force_build builders that are idle and have failed exactly once
- https://bugs.webkit.org/show_bug.cgi?id=37059
-
- We can get into a deadlocked state where the commit-queue is stopped
- because the builders are red but the SheriffBot hasn't taken action
- because the builder has failed only once. The SheriffBot should force
- build idle builders that have failed exactly once to either turn the
- tree green again (if the test was flaky) or trigger the "failed twice"
- remedies (IRC and bug posts).
-
- * Scripts/webkitpy/common/net/buildbot.py:
- * Scripts/webkitpy/tool/bot/sheriff.py:
- * Scripts/webkitpy/tool/bot/sheriff_unittest.py:
- * Scripts/webkitpy/tool/commands/sheriffbot.py:
- * Scripts/webkitpy/tool/mocktool.py:
-
-2010-04-05 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Shinichiro Hamaji.
-
- Fixed check-webkit-style issue where the script was prematurely
- exiting when encountering deleted files in patches.
-
- https://bugs.webkit.org/show_bug.cgi?id=37122
-
- * Scripts/webkitpy/style/checker.py:
- - Changed non-existent file message from ERROR to WARN.
- - StyleChecker.check_file() no longer raises an exception when
- a file is not found.
-
- * Scripts/webkitpy/style/checker_unittest.py:
- - Updated unit tests as necessary.
-
-2010-04-05 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- SheriffBot should include blamelist when posting to bugs
- https://bugs.webkit.org/show_bug.cgi?id=37113
-
- When posting on bugs, we should include the full list of SVN revisions
- that caused the regression to folks have a better sense of whether they
- are to blame.
-
- * Scripts/webkitpy/tool/bot/sheriff.py:
- * Scripts/webkitpy/tool/bot/sheriff_unittest.py:
- * Scripts/webkitpy/tool/commands/sheriffbot.py:
- * Scripts/webkitpy/tool/commands/sheriffbot_unittest.py:
- * Scripts/webkitpy/tool/commands/upload_unittest.py:
- * Scripts/webkitpy/tool/mocktool.py:
-
-2010-04-05 Chris Jerdonek <cjerdonek@webkit.org>
-
- Unreviewed after discussion with Adam, Darin, and Eric.
-
- Deleted the auto-install directory since it is no longer needed in
- source control (it is auto-generated).
-
- Also added webkitpy/thirdparty/autoinstalled to webkitpy/thirdparty's
- svn:ignore property.
-
- * Scripts/webkitpy/thirdparty/autoinstalled: Removed.
+ [Qt] Enhance Qt DRT implementation to support platform scroll wheel events.
-2010-04-05 Mark Rowe <mrowe@apple.com>
+ https://bugs.webkit.org/show_bug.cgi?id=36004
- Reviewed by Adele Peterson.
-
- Test case for <http://webkit.org/b/37115> / <rdar://problem/7829331>.
- REGRESSION(r56989): Crash in Mail in WebCore::Position::isCandidate when deleting block using block deletion UI
-
- Add a JavaScript hook in DRT to call through to WebView's -setEditable:. This is required in order to reproduce
- the crash.
-
- * DumpRenderTree/LayoutTestController.cpp:
- (setWebViewEditableCallback):
- (LayoutTestController::staticFunctions):
- * DumpRenderTree/LayoutTestController.h:
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::setWebViewEditable):
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (resetWebViewToConsistentStateBeforeTesting):
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (LayoutTestController::setWebViewEditable):
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::setWebViewEditable):
- * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
- (LayoutTestController::setWebViewEditable):
- (LayoutTestController::layerTreeAsText):
-
-2010-04-05 Darin Adler <darin@apple.com>
-
- Ignore more files the Python tools strew about the working directory.
-
- * Scripts/webkitpy: Added property svn:ignore.
- * Scripts/webkitpy/common: Added property svn:ignore.
- * Scripts/webkitpy/common/checkout: Added property svn:ignore.
- * Scripts/webkitpy/common/config: Added property svn:ignore.
- * Scripts/webkitpy/common/net: Added property svn:ignore.
- * Scripts/webkitpy/common/thread: Added property svn:ignore.
- * Scripts/webkitpy/python24: Added property svn:ignore.
- * Scripts/webkitpy/thirdparty/autoinstalled: Modified property svn:ignore.
- * Scripts/webkitpy/tool/bot: Added property svn:ignore.
-
-2010-04-05 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Add Vitaly Repeshko as a committer.
-
- * Scripts/webkitpy/common/config/committers.py:
-
-2010-04-05 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Update kenne's IRC nick to his registered nick.
-
- * Scripts/webkitpy/common/config/committers.py:
-
-2010-04-05 Ojan Vafai <ojan@chromium.org>
-
- Reviewed by Eric Seidel.
-
- assorted helper functions and cleanup of git utilities
- https://bugs.webkit.org/show_bug.cgi?id=37103
-
- * Scripts/webkitpy/common/checkout/scm.py:
- No code currently uses the optional dry_run argument. So removing it.
- Change all uses of "trunk" to read the correct value out of the git config.
- Made the dcommit call actually get called when dry_run==true.
- * Scripts/webkitpy/common/checkout/scm_unittest.py:
- * Scripts/webkitpy/common/net/credentials.py:
- Move the git config call into scm.
- * Scripts/webkitpy/common/net/credentials_unittest.py:
- * Scripts/webkitpy/common/system/executive.py:
- If return_exit_code==true, don't error out, just return the exit_code.
-
-2010-04-05 Ojan Vafai <ojan@chromium.org>
-
- Reviewed by Eric Seidel.
-
- prepare-ChangeLog should take a merge-base for which git branch to diff against.
- https://bugs.webkit.org/show_bug.cgi?id=36394
-
- * Scripts/prepare-ChangeLog:
-
-2010-04-05 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Shinichiro Hamaji.
-
- Removed the PatchStyleErrorHandler class and incorporated its
- functionality into the DefaultStyleErrorHandler class.
-
- https://bugs.webkit.org/show_bug.cgi?id=37067
-
- * Scripts/webkitpy/style/checker.py:
- - In the StyleChecker class:
- - Added a line_number parameter to the check_file() method.
- - Renamed the handle_style_error parameter to
- mock_handle_style_error to be consistent with the other mock_*
- parameter names.
- - Added a mock_check_file parameter to the check_patch() method
- to facilitate unit testing the changes in this patch.
- - Rewrote the check_patch() method with the patch-parsing logic
- taken from the PatchStyleErrorHandler class.
-
- * Scripts/webkitpy/style/checker_unittest.py:
- - Added a StyleCheckerCheckFileBase class and sub-classed the
- existing StyleCheckerCheckFileTest class from it.
- - Added a StyleCheckerCheckPatchTest class to unit-test the
- rewritten check_patch() method.
- - Removed the vestigial __main__ code at the bottom of the file.
- This is left over from when check-webkit-style was implemented
- as a module and a wrapper module.
-
- * Scripts/webkitpy/style/error_handlers.py:
- - Added an optional line_numbers parameter to the
- DefaultStyleErrorHandler class constructor and adjusted the
- __call__() method as necessary.
- - Removed the PatchStyleErrorHandler class.
-
- * Scripts/webkitpy/style/error_handlers_unittest.py:
- - Removed the PatchStyleErrorHandlerTest class which unit-tested
- the PatchStyleErrorHandler class which is being removed in this
- patch.
- - Added a test_line_numbers() test method to the
- DefaultStyleErrorHandlerTest class to test use of the
- DefaultStyleErrorHandler's new line_numbers attribute.
-
-2010-04-05 Adam Barth <abarth@webkit.org>
-
- Unreviewed.
-
- Tighten SheriffBot's flaky test detector
- https://bugs.webkit.org/show_bug.cgi?id=37063
-
- Instead of just looking for two sequential red builds, look for two
- sequential failures of the same test. This should reduce sheriffbot
- false positive substantially.
-
- I'm landing this change unreviewed because I've noticed SheriffBot
- triggering a lot more false positives now that we've expanded the set
- of core builders. I've tried to take Eric's comments on Bug 37063 into
- account. I'm happy to iterate on this patch tomorrow once Eric wakes
- up.
-
- * Scripts/webkitpy/common/net/buildbot.py:
- * Scripts/webkitpy/common/net/buildbot_unittest.py:
- * Scripts/webkitpy/tool/commands/queries.py:
-
-2010-04-04 John Gregg <johnnyg@google.com>
-
- Unreviewed, add myself to the committers list.
-
- * Scripts/webkitpy/common/config/committers.py:
-
-2010-04-04 Robert Hogan <robert@webkit.org>
-
- Unreviewed, add myself to the committers list.
-
- * Scripts/webkitpy/common/config/committers.py:
-
-2010-04-04 Dumitru Daniliuc <dumi@chromium.org>
-
- Unreviewed, adding my IRC nickname to committers.py
-
- * Scripts/webkitpy/common/config/committers.py:
-
-2010-04-04 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Shinichiro Hamaji.
-
- Refactored check-webkit-style's option-parsing code.
-
- https://bugs.webkit.org/show_bug.cgi?id=37064
-
- * Scripts/check-webkit-style:
- - Moved the "WebKit checkout not found" check from
- ArgumentParser.parse() to the calling code.
- - Moved the --git-commit argument validation from the calling
- code to ArgumentParser.parse().
-
- * Scripts/webkitpy/style/checker_unittest.py:
- - Updated a unit test as necessary.
-
- * Scripts/webkitpy/style/optparser.py:
- - Renamed ArgumentParser._exit_with_help() to _parse_error()
- and made its error_message parameter required.
- - Removed the found_checkout parameter from ArgumentParser.parse().
- - Removed the "WebKit checkout not found" check and moved it
- to the calling code.
- - Added --git-commit argument checking.
-
- * Scripts/webkitpy/style/optparser_unittest.py:
- - Adjusted the import statements to be fully qualified.
- - Changed the ArgumentParserTest class to inherit from
- LoggingTestCase, and updated the class as necessary.
- - Added a unit-test for the --git-commit validation.
- - Added unit tests for the --git-diff and --git-since variants
- of --git-commit.
-
-2010-04-03 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Shinichiro Hamaji.
-
- The check-webkit-style script now logs an ERROR and exits when
- encountering a file path that does not exist. Previously, it failed
- silently on such paths.
-
- https://bugs.webkit.org/show_bug.cgi?id=36957
-
- * Scripts/webkitpy/common/system/logtesting.py:
- - Added a FIXME to rename the LoggingTestCase class to
- LoggingTestCaseBase.
-
- * Scripts/webkitpy/style/checker.py:
- - In the StyleChecker.check_file() method:
- - Added a mock_os_path_exists parameter.
- - Renamed the process_file parameter to mock_process_file.
- - Added logic to log an error and exist if the given path does
- not exist.
-
- * Scripts/webkitpy/style/checker_unittest.py:
- - Refactored the StyleCheckerCheckFileTest class slightly to
- inherit from LoggingTestCase.
- - Added a test method to unit-test the case of a file that
- does not exist.
- - Adjusted the other test methods as necessary.
-
-2010-04-03 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Add Tiger Bot to the list of "core builders" (builders which block the commit-queue when red)
- https://bugs.webkit.org/show_bug.cgi?id=33289
-
- Add Tiger and SnowLeopard Tests to the core builders. This is a bit of
- an experiment now that the bots are green. Hopefully we can keep them
- on the list and have the tree stay greener.
-
- * Scripts/webkitpy/common/net/buildbot.py:
-
-2010-04-02 Adam Barth <abarth@webkit.org>
-
- Unreviewed.
-
- Have Eric and Adam watch the SheriffBot
- https://bugs.webkit.org/show_bug.cgi?id=37054
-
- * Scripts/webkitpy/tool/bot/sheriff.py:
- * Scripts/webkitpy/tool/bot/sheriff_unittest.py:
- * Scripts/webkitpy/tool/commands/sheriffbot.py:
-
-2010-04-02 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Adler.
-
- commit-queue should ignore builders when landing rollouts
- https://bugs.webkit.org/show_bug.cgi?id=37051
-
- When we moved the "builders are red" check into the master process, we
- forgot about rollouts. I thought we had a test covering this case, but
- looking at the test, it was a bit too loose. I added a new test and
- introduced some new logging technology into MockTool to make the test
- tighter.
-
- * Scripts/webkitpy/tool/commands/queues.py:
- * Scripts/webkitpy/tool/commands/queues_unittest.py:
- * Scripts/webkitpy/tool/mocktool.py:
-
-2010-04-02 David Levin <levin@chromium.org>
-
- Reviewed by Adam Barth.
-
- sherrifbot should ensure that the rollout reason doesn't start with - (and fix webkit-patch upload).
- https://bugs.webkit.org/show_bug.cgi?id=37030
-
- * Scripts/webkitpy/tool/bot/sheriff.py: Ensure that the rollout reason doesn't
- start with -.
- * Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py: A test with a rollout
- reason which starts with -.
- * Scripts/webkitpy/tool/steps/createbug.py: Fix webkit-patch upload.
-
-2010-04-02 Chris Jerdonek <cjerdonek@webkit.org>
-
- Unreviewed.
-
- Fixed check-webkit-style to recognize the short form of the
- --verbose option, as stated in --help.
-
- * Scripts/check-webkit-style:
- - Tweaked one line.
-
-2010-04-02 Kevin Ollivier <kevino@theolliviers.com>
-
- [wx] Build fix for DumpRenderTree after addition of layerTreeAsText.
-
- * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
- (LayoutTestController::layerTreeAsText):
-
-2010-04-02 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Eric Seidel.
-
- Accept XHTML-MP content type as XHTML content
- https://bugs.webkit.org/show_bug.cgi?id=34262
-
- Register xhtmlmp file extension as the new type
- for XHTML-MP test content.
-
- * Scripts/run-webkit-tests:
- * Scripts/webkitpy/layout_tests/layout_package/test_files.py:
- * Scripts/webkitpy/layout_tests/port/lighttpd.conf:
-
-2010-04-02 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- create-rollout doesn't fill out ChangeLog
- https://bugs.webkit.org/show_bug.cgi?id=37010
-
- The contract between apply_reverse_diff and PrepareChangeLogForRevert
- was unclear. I broke filling out the ChangeLog during rollout earlier
- when I changed apply_reverse_diff to revert the ChangeLogs because
- PrepareChangeLogForRevert thought that it was supposed to do that.
- I've now taught PrepareChangeLogsForRevert the new contract.
-
- It's unclear to me how to test this change because it's essentially an
- integration issue that requires the file system. At some point we
- should think about a testing strategy for integration. As the system
- becomes larger, we're running into more of these issues.
-
- * Scripts/webkitpy/common/checkout/api.py:
- * Scripts/webkitpy/tool/steps/preparechangelogforrevert.py:
-
-2010-04-02 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Add cr-win-ews to QueueStatusServer
- https://bugs.webkit.org/show_bug.cgi?id=37004
-
- * QueueStatusServer/model/queues.py:
- * QueueStatusServer/templates/dashboard.html:
- * QueueStatusServer/templates/statusbubble.html:
-
-2010-04-02 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Adam Barth.
-
- Unit-test networktransaction.py's log messages, and add a base
- class to make unit-testing log messages even easier.
-
- https://bugs.webkit.org/show_bug.cgi?id=36958
-
- The purpose of this patch is also to provide a mini-tutorial on
- how to unit-test Python logging.py messages.
-
- * Scripts/webkitpy/common/net/networktransaction_unittest.py:
- - Unit-tested the log messages in test_retry().
-
- * Scripts/webkitpy/common/system/logtesting.py:
- - Adjusted the LogTesting class by moving the code that clears
- the array of log messages into a finally block. This prevents
- redundant AssertionErrors from getting rendered to the screen
- while running unit tests.
- - Added a LoggingTestCase class so the setUp() and tearDown()
- methods do not need to be implemented in order to test logging.
- Rather, TestCase classes can simply inherit from this class.
-
-2010-04-02 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Shinichiro Hamaji.
-
- Re-wrote check-webkit-style's argument parsing code to use
- Python's optparser module and more uniform error-handling logic.
-
- https://bugs.webkit.org/show_bug.cgi?id=34676
-
- * Scripts/webkitpy/style/optparser.py:
- - Removed "option help" from check-webkit-style's usage string
- since that is provided separately by the OptionParser class.
- - Also changed the usage string from a function to a constant
- string _USAGE.
- - Added an _EPILOG string which renders after OptionParser's
- usage string and option help.
- - In the ArgumentParser class:
- - Changed the constructor's stderr_write parameter to a
- mock_stderr since the OptionParser accepts a sys.stderr
- substitute rather than a sys.stderr.write substitute.
- - Changed the constructor to set a _parser data attribute with
- an OptionParser instance.
- - Added a _create_option_parser() method which instantiates
- the OptionParser.
- - Updated _exit_with_help() to interact with the OptionParser's
- help method.
- - Updated the parse() method as necessary. Also changed the
- raising of ValueErrors to calls to _exit_with_help().
-
- * Scripts/webkitpy/style/optparser_unittest.py:
- - Removed the CreateUsageTest class since the create_usage method
- was replaced by a constant string.
- - Added a _MockStdErr class to the ArgumentParserTest class.
- - Updated the unit tests as necessary.
-
-
-2010-04-02 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- The master commit-queue process should take responsibility for checking that the builders are green
- https://bugs.webkit.org/show_bug.cgi?id=37009
-
- We had a failure where the child process noticed that the builders were
- red. We've always had this race condition, but the new optimistic
- design made it easier to trigger.
-
- * Scripts/webkitpy/tool/commands/queues.py:
-
-2010-04-02 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Tweak rollout changelog to pass ValidateReviewer check
- https://bugs.webkit.org/show_bug.cgi?id=37019
-
- We need to use the magic word "unreviewed" to make the commit-queue
- happy when landing rollouts.
-
- * Scripts/webkitpy/common/checkout/changelog.py:
- * Scripts/webkitpy/common/checkout/changelog_unittest.py:
-
-2010-04-02 Chris Jerdonek <cjerdonek@webkit.org>
-
- Unreviewed.
-
- Removed duplicate ChangeLog entry.
-
-2010-04-02 Chris Jerdonek <cjerdonek@webkit.org>
-
- Rubber-stamped by Eric Seidel.
-
- To the Python 2.4 error message, added a link to the wiki page
- that contains instructions on how to upgrade.
-
- * Scripts/test-webkitpy:
- - Eliminated a use of the ternary operator in configure_logging()
- to let the version warning display in case of Python 2.4.
-
- * Scripts/webkitpy/python24/versioning.py:
- - Added this link to the error text:
- http://trac.webkit.org/wiki/PythonGuidelines
-
- * Scripts/webkitpy/python24/versioning_unittest.py:
- - Updated unit test text.
-
-2010-04-02 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Record the IRC nick of folks who request rollouts
- https://bugs.webkit.org/show_bug.cgi?id=36999
-
- * Scripts/webkitpy/common/net/irc/ircbot.py:
- * Scripts/webkitpy/tool/bot/irc_command.py:
- * Scripts/webkitpy/tool/bot/sheriffircbot.py:
- * Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py:
-
-2010-04-01 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Add cr-win-ews
- https://bugs.webkit.org/show_bug.cgi?id=36974
-
- Adds support for an Early Warning System for Chromium on Linux. The
- interface to the Chromium port is the same on every platform, so we
- don't need to create a new Port object for this queue.
-
- * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
- * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
-
-2010-04-01 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Using a failure exit code when failing to load a required import
- https://bugs.webkit.org/show_bug.cgi?id=37000
-
- Well spotted by Mark Rowe.
-
- * Scripts/webkitpy/common/system/user.py:
-
-2010-04-01 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Rewrote the revision (r56942) to disable the 79 character line
- length limit Python/PEP8 style check.
-
- https://bugs.webkit.org/show_bug.cgi?id=33639#c39
-
- This rewrite puts the disabling not in the PythonProcessor but
- in the calling code's default filter rule configuration. This
- allows the user to check line-length style from the command-line
- if desired.
-
- * Scripts/webkitpy/style/checker.py:
- - Added "-pep8/E501" to the _BASE_FILTER_RULES configuration
- variable to disable the line-length check.
- - Added "-pep8/E501" to the list of recognized style categories
- to permit the category to be checked from the command line.
-
- * Scripts/webkitpy/style/processors/python.py:
- - Reverted r56942: http://trac.webkit.org/changeset/56942
-
-2010-04-01 Kinuko Yasuda <kinuko@chromium.org>
-
- Reviewed by Dmitry Titov.
-
- Add FileThread for async file operation support in FileReader and FileWriter
- https://bugs.webkit.org/show_bug.cgi?id=36896
-
- Add options to enable FILE_READER and FILE_WRITER support.
-
- * Scripts/build-webkit:
-
-2010-04-01 Kent Tamura <tkent@chromium.org>
-
- Unreviewed. Add missing license header.
-
- * DumpRenderTree/chromium/TestShellMac.mm:
-
-2010-04-01 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Improve the error handling in rollout a bit
- https://bugs.webkit.org/show_bug.cgi?id=36995
-
- This patch does a few things to make the error handling in rollout a
- bit more robust.
-
- * Scripts/webkitpy/common/checkout/api.py:
- The old logic here was wrong. We don't want to resolve the
- ChangeLogs (that would remove the old ChangeLog entry). Instead,
- we want to revert the ChangeLogs so we can fill them with the new
- message.
- * Scripts/webkitpy/tool/commands/download_unittest.py:
- Update test expectations because we're using a different mock object.
- * Scripts/webkitpy/tool/commands/download.py:
- - Added an update command to make updating from the SheriffBot more
- robust.
- - Now that we have CommitInfo, we can automatically CC the
- responsible parties on the bug we create.
- - Re-ordered the steps in create-rollout. Our original thinking
- was that we always wanted to create the bug, but that's not
- really true given how things appear to be playing out. If we
- fail to apply the reverse diff, we don't want to create the bug.
- * Scripts/webkitpy/tool/commands/sheriffbot.py:
- - Use the new, more robust update command.
- * Scripts/webkitpy/tool/steps/createbug.py:
- Allow commands to pre-load who they want to be CCed on a new bug.
-
-2010-04-01 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [DRT/Chromium] Add TestShell and WebViewHost class, main(), and so on
- https://bugs.webkit.org/show_bug.cgi?id=36814
-
- This change introduces:
- - WebViewHost class
- It's an implementation of some delegates required by Chromium
- WebKit API, and manages painting of a WebView. It's base on
- src/webkit/tools/test_shell/test_webview_delegate.{cc,h} of
- Chromium rev.40492.
- - TestShell class
- The TestShell instance holds global states of DumpRenderTree process.
- Unlike TestShell class of Chromium test_shell, TestShell instance is
- created just once.
- - DumpRenderTree.cpp
- The program entry.
-
- * DumpRenderTree/chromium/DumpRenderTree.cpp: Added.
- * DumpRenderTree/chromium/TestShell.cpp: Added.
- * DumpRenderTree/chromium/TestShell.h: Added.
- * DumpRenderTree/chromium/TestShellMac.mm: Added.
- * DumpRenderTree/chromium/WebViewHost.cpp: Added.
- * DumpRenderTree/chromium/WebViewHost.h: Added.
- * DumpRenderTree/chromium/config.h: Added.
-
-2010-04-01 David Levin <levin@chromium.org>
-
- Reviewed by Adam Barth.
-
- sheriffbot rollout should verify that the svn revision is a number.
- https://bugs.webkit.org/show_bug.cgi?id=37001
-
- * Scripts/webkitpy/common/net/bugzilla.py: Allow for the message to be None.
- * Scripts/webkitpy/tool/bot/sheriff.py: Did verification that svn revision
- is a number. Fixed the imports (since the files uses ScriptError and log)
- and a typo.
- * Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py: Added a test to verify
- the behavior.
-
-2010-04-01 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Print an error message for readline bogosity in MacPorts
- https://bugs.webkit.org/show_bug.cgi?id=36979
-
- * Scripts/webkitpy/common/system/user.py:
-
-2010-04-01 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Don't pass --non-interactive to create-rollout
- https://bugs.webkit.org/show_bug.cgi?id=36989
-
- It turns out you can't pass --non-interactive to create-rollout. Also,
- improve our error reporting slighly to catch the case where we error
- out after creating the rollout bug.
-
- * Scripts/webkitpy/tool/bot/irc_command.py:
- * Scripts/webkitpy/tool/bot/sheriff.py:
-
-2010-04-01 Ojan Vafai <ojan@chromium.org>
-
- Reviewed by Eric Seidel.
-
- webkit-patch can incorrectly think the working directory is modified
- https://bugs.webkit.org/show_bug.cgi?id=36985
-
- If a file's modification time is modified, but the contents are not,
- then diff-index will think the file has been modified unless you do
- some crazy update-index call. Instead, call diff --name-only, which
- has the index update builtin.
-
- Tried to write a test, but could not reproduce this in a unittest.
- To test manually:
- touch file-in-repo
- git diff-index HEAD
- git diff HEAD --name-only
-
- The diff-index call incorrectly shows file-in-repo as modified.
-
- * Scripts/webkitpy/common/checkout/scm.py:
-
-2010-04-01 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Add rollout command to sheriffbot
- https://bugs.webkit.org/show_bug.cgi?id=36986
-
- This IRC command creates a new bug an attaches a rollout patch. To
- actually commit the rollout, a committer needs to mark the patch
- commit-queue+ in bugs.webkit.org.
-
- Also, factored out some of the logic from the queue into a separate
- object for easier testing.
-
- * Scripts/webkitpy/common/system/executive.py:
- * Scripts/webkitpy/tool/bot/irc_command.py:
- * Scripts/webkitpy/tool/bot/sheriff.py: Added.
- * Scripts/webkitpy/tool/bot/sheriff_unittest.py: Added.
- * Scripts/webkitpy/tool/bot/sheriffircbot.py:
- * Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py:
- * Scripts/webkitpy/tool/commands/queues.py:
- * Scripts/webkitpy/tool/commands/sheriffbot.py:
- * Scripts/webkitpy/tool/commands/sheriffbot_unittest.py:
-
-2010-04-01 Eric Seidel <eric@webkit.org>
-
- Unreviewed, only ignoring chatty style errors.
-
- check-webkit-style: WebKit needs a python style checker
- https://bugs.webkit.org/show_bug.cgi?id=33639
-
- Remove the 79 char line limit by ignoring
- pep8/E501. Because we have our own report_error
- implementation we have to ignore E501 by hand
- instead of passing --ignore=E501.
-
- Right now over 1400 lines of our existing python
- fail E501 so this rule just generates needless noise.
- The rest of WebKit has no wrapping rule so it makes
- little sense for our Python to differ here.
-
- * Scripts/webkitpy/style/processors/python.py:
-
-2010-04-01 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Add cmarrin's IRC nickname.
-
- * Scripts/webkitpy/common/config/committers.py:
-
-2010-04-01 Adam Barth <abarth@webkit.org>
-
- Unreviewed.
-
- EWS spins hot when unable to build
- https://bugs.webkit.org/show_bug.cgi?id=36981
-
- The problem is that the queue engine things we have more work to do,
- but the bot isn't actually able to do anything. After this change, we
- back off the usual amount.
-
- * Scripts/webkitpy/tool/bot/queueengine.py:
- * Scripts/webkitpy/tool/bot/queueengine_unittest.py:
- * Scripts/webkitpy/tool/commands/queues.py:
- * Scripts/webkitpy/tool/commands/sheriffbot.py:
-
-2010-04-01 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Simon Fraser.
-
- Added layerTreeAsText function to DRT (for Mac)
- https://bugs.webkit.org/show_bug.cgi?id=36782
-
- This is the DRT side. It exposes the call to JavaScript
- through the LayoutTestController.
-
- * DumpRenderTree/LayoutTestController.cpp:Platform independent JavaScript shim
- (layerTreeAsTextCallback):
- (LayoutTestController::staticFunctions):
- * DumpRenderTree/LayoutTestController.h:
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:Mac specific plumbing to WebKit
- (LayoutTestController::layerTreeAsText):
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:Windows specific plumbing to WebKit
- (LayoutTestController::layerTreeAsText):
-
-2010-04-01 Kevin Ollivier <kevino@theolliviers.com>
-
- [wx] Build fix after addition of JavaScriptCore/wtf/text directory.
-
- * wx/build/settings.py:
-
-2010-04-01 Jian Li <jianli@chromium.org>
-
- Rubber-stamped by David Levin.
-
- Add myself to the reviewers list.
-
- * Scripts/webkitpy/common/config/committers.py:
-
-2010-04-01 Adam Barth <abarth@webkit.org>
-
- Unreviewed.
-
- Turns out the Chromium Windows bots don't have pdevenv installed.
-
- * Scripts/webkitdirs.pm:
-
-2010-04-01 Adam Barth <abarth@webkit.org>
-
- Reviewed by Dimitri Glazkov.
-
- Let Chromium Windows build with Visual Studio Express
- https://bugs.webkit.org/show_bug.cgi?id=36919
-
- This is horrible, horrible copy/paste code, but that seems to be the
- way of webkitdirs.pm. :(
-
- Someone needs to go through an cleanup this code, but I don't have the
- heart to do it in this patch.
-
- * Scripts/webkitdirs.pm:
-
-2010-04-01 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- Add myself to the committers list.
- https://bugs.webkit.org/show_bug.cgi?id=36953
-
- * Scripts/webkitpy/common/config/committers.py:
-
-2010-04-01 Eric Seidel <eric@webkit.org>
-
- Rubber-stamped by Adam Barth.
-
- Add Snow Leopard Release bot to the list of "core builders" (builders which stop the commit-queue when they turn red)
- https://bugs.webkit.org/show_bug.cgi?id=33292
-
- Just adding the "Build" builder for now.
- We'll add the "Test" builders when the tests
- are less flaky.
-
- * Scripts/webkitpy/common/net/buildbot.py:
- * Scripts/webkitpy/common/net/buildbot_unittest.py:
+ * DumpRenderTree/qt/EventSenderQt.cpp:
+ (EventSender::EventSender): QApplication::setWheelScrollLines(2) in order to match
+ Scrollbar::pixelsPerLineStep() for DRT testing.
+ (EventSender::mouseScrollBy): Added
+ (EventSender::continuousMouseScrollBy): Added
+ * DumpRenderTree/qt/EventSenderQt.h:
-2010-04-01 Yury Semikhatsky <yurys@chromium.org>
+2010-05-28 Adam Barth <abarth@webkit.org>
Reviewed by David Levin.
- Add myself to the reviewers list.
-
- https://bugs.webkit.org/show_bug.cgi?id=36935
-
- * Scripts/webkitpy/common/config/committers.py:
-
-2010-03-31 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Dave Levin.
-
- Added Python style checking to check-webkit-style using
- the third-party pep8 module (via autoinstall).
-
- https://bugs.webkit.org/show_bug.cgi?id=33639
-
- * Scripts/webkitpy/style/checker.py:
- - Added PYTHON to FileType.
- - Updated ProcessorDispatcher to return a PythonProcessor
- for *.py files.
-
- * Scripts/webkitpy/style/checker_unittest.py:
- - Updated the ProcessorDispatcher unit tests for *.py files.
-
- * Scripts/webkitpy/style/processors/python.py: Added.
- - Added PythonProcessor class.
-
- * Scripts/webkitpy/style/processors/python_unittest.py: Added.
- - Added PythonProcessor unit tests.
-
- * Scripts/webkitpy/style/processors/python_unittest_input.py: Added.
- - Added a sample Python file to test the PythonProcessor.process()
- code path (since pep8 accepts a file path).
-
- * Scripts/webkitpy/style/unittests.py:
- - Updated the style unit test file to import python_unittest.py.
-
- * Scripts/webkitpy/style_references.py:
- - Adjusted style references to import pep8.
-
-2010-03-31 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Dave Levin.
+ webkit-patch should support CHANGE_LOG_EDIT_APPLICATION
+ https://bugs.webkit.org/show_bug.cgi?id=39546
- Rewrote autoinstall.py to support unzipping *.zip files after
- download, unzipping and extracting *.tar.gz files after download,
- and copying installed files to a given destination directory.
-
- https://bugs.webkit.org/show_bug.cgi?id=35163
-
- These changes will let us autoinstall pep8.py from the web and put
- our third-party autoinstalled code in an explicit directory like
- webkitpy/thirdparty/autoinstalled. These changes should also speed
- up the execution of autoinstalled *.zip packages slightly since
- *.pyc files cannot be generated when importing from zipped
- packages using the current autoinstall.
-
- * Scripts/test-webkitpy:
- - Addressed the FIXME to enable auto-install logging once
- autoinstall was rewritten not to log as verbosely.
-
- * Scripts/webkitpy/common/net/bugzilla.py:
- - Updated mechanize import statement.
-
- * Scripts/webkitpy/common/net/buildbot.py:
- - Updated mechanize import statement.
-
- * Scripts/webkitpy/common/net/irc/ircbot.py:
- - Updated ircbot and irclib import statements.
-
- * Scripts/webkitpy/common/net/networktransaction.py:
- - Updated mechanize import statement.
-
- * Scripts/webkitpy/common/net/networktransaction_unittest.py:
- - Updated mechanize import statement.
-
- * Scripts/webkitpy/common/net/statusserver.py:
- - Updated mechanize import statement.
-
- * Scripts/webkitpy/common/system/autoinstall.py: Added.
- - Added AutoInstaller class.
- - Added sample/testing usage to the __main__ block.
-
- * Scripts/webkitpy/thirdparty/__init__.py:
- - Updated the autoinstall lines to use the new autoinstall methods.
- - Added pep8.py to the list of auto-installed packages.
- - Added a README file to the target autoinstallation directory
- so users know that the directory is safe to delete.
-
- * Scripts/webkitpy/thirdparty/autoinstall.py: Removed.
- - This is replaced by the rewritten autoinstall
- webkitpy/common/system/autoinstall.py.
-
- * Scripts/webkitpy/thirdparty/autoinstalled/__init__.py: Removed.
- - The target autoinstallation directory is now auto-generated.
-
-2010-03-31 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Shinichiro Hamaji.
-
- Tweak webkitpy's logtesting.LogTesting class to get more mileage out
- of our unit tests that test log messages.
-
- https://bugs.webkit.org/show_bug.cgi?id=36886
-
- This patch adds to the LogTesting class's tearDown() method a line
- asserting that the array of remaining log messages is empty. This
- ensures that no extra log messages are getting logged that the caller
- might not be aware of or may have forgotten to check for.
-
- * Scripts/webkitpy/common/system/logtesting.py:
- - Modified the tearDown() method as described above.
- - Also modified the assertMessages() method to clear the array
- of log messages after asserting.
-
-2010-03-31 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Adam Barth.
-
- Added support for a --verbose-logging flag to test-webkitpy.
-
- https://bugs.webkit.org/show_bug.cgi?id=36429
-
- Verbose logging is useful for debugging test-webkitpy code that
- runs before the actual unit tests -- things like autoinstalling and
- unit-test auto-detection logic. This is different from verbose
- logging of the unit tests themselves (which corresponds to the
- unittest module's --verbose flag).
-
- * Scripts/test-webkitpy:
- - In the configure_logging() method--
- - Added an is_verbose_logging parameter that sets the logging
- level to logging.DEBUG instead of logging.INFO.
- - Changed the method to throttle the logging level on the
- root logger's handler instead of directly on the root logger
- itself.
- - Enabled logging of the autoinstall module when the flag is set.
-
- * Scripts/webkitpy/thirdparty/autoinstalled/__init__.py:
- - Added a work-around for a bug in Python 2.6's logging module
- that was discovered while working on this patch.
-
-2010-03-31 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Adam Barth.
-
- Enabled Python's logging module for webkit-patch, and replaced
- deprecated_logging with Python logging in networktransaction.py.
- This eliminates some spurious output when running test-webkitpy.
-
- https://bugs.webkit.org/show_bug.cgi?id=36725
-
- * Scripts/webkit-patch:
- - Replaced the configure_logging() function with a call to
- the new logutils.configure_logging() function.
-
- * Scripts/webkitpy/common/net/networktransaction.py:
- - Replaced the use of deprecated_logging with Python logging.
-
- * Scripts/webkitpy/common/system/logutils.py:
- - Added _default_handlers() which creates the default logging
- handler for webkitpy.
- - Added configure_logging() which configures default logging
- for webkitpy.
-
- * Scripts/webkitpy/common/system/logutils_unittest.py:
- - Added unit tests for logutils.configure_logging().
-
- * Scripts/webkitpy/style/checker.py:
- - Refactored check-webkit-style's configure_logging() method
- to call the new logutils.configure_logging().
-
- * Scripts/webkitpy/style_references.py:
- - Updated references as necessary.
-
-2010-03-31 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- webkit-patch land fails if not run from the root directory
- https://bugs.webkit.org/show_bug.cgi?id=35822
-
- The root of the problem was that ChangeLog.__init__ expects a path
- relative to the current working directory, and SCM expects to
- return paths relative to the SCM root. Fix it by converting from
- SCM-relative to absolute paths in Checkout.modified_changelogs
-
- * Scripts/webkitpy/common/checkout/api.py:
- * Scripts/webkitpy/common/checkout/api_unittest.py:
-
-2010-03-31 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Add more tests for webkitpy.common.checkout
- https://bugs.webkit.org/show_bug.cgi?id=36926
-
- We don't have a great way of testing checkout, sadly.
-
- * Scripts/webkitpy/common/checkout/api_unittest.py:
-
-2010-03-31 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- REGRESSION: EWS crashes on failure
- https://bugs.webkit.org/show_bug.cgi?id=36924
-
- Turns out we need to pass one more argument. My test is kind of lame,
- but at least it's there.
-
- * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
- * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
-
-2010-03-31 Chris Jerdonek <cjerdonek@webkit.org>
-
- Unreviewed.
-
- Fixed typo in WebKitTools/ChangeLog: opsys -> ospath.
-
-2010-03-31 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Make the EWS go faster by being optimistic
- https://bugs.webkit.org/show_bug.cgi?id=36916
-
- Have the EWS be optimistic that a patch will correctly build. This
- should speed up the common case by not requiring two builds for every
- patch.
-
- * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
- * Scripts/webkitpy/tool/commands/queues.py:
-
-2010-03-31 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Add the ability to restart sheriffbot from IRC
- https://bugs.webkit.org/show_bug.cgi?id=36909
-
- * Scripts/webkitpy/tool/bot/irc_command.py:
- * Scripts/webkitpy/tool/bot/queueengine.py:
- * Scripts/webkitpy/tool/bot/sheriffircbot.py:
- * Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py:
-
-2010-03-31 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Add win-ews to QueueStatusServer
- https://bugs.webkit.org/show_bug.cgi?id=36876
-
- The win-ews is still experimental, but it seems to be more or less
- running. We should show its results to the people.
-
- * QueueStatusServer/model/queues.py:
- * QueueStatusServer/templates/dashboard.html:
- * QueueStatusServer/templates/statusbubble.html:
-
-2010-03-30 Victor Wang <victorw@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Update rebaseline tool to check the release image diff binary and
- fallback to debug if the release version does not exist.
-
- https://bugs.webkit.org/show_bug.cgi?id=36245
-
- * Scripts/webkitpy/layout_tests/port/base.py:
- * Scripts/webkitpy/layout_tests/port/chromium.py:
- * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
-
-2010-03-31 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Teach buildbot.py how to parse builder activity from /one_box_per_builder
- https://bugs.webkit.org/show_bug.cgi?id=36898
-
- I also removed some obsolete FIXMEs and
- refactored one_box_per_builder parsing into multiple
- methods for easier reading.
-
- * Scripts/webkitpy/common/net/buildbot.py:
- * Scripts/webkitpy/common/net/buildbot_unittest.py:
-
-2010-03-31 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Fix logging in new-run-webkit-tests so that we don't report IMAGE
- expected failures as unexpected passes when we run with pixel tests
- disabled.
-
- This change splits some of the logic embedded into the TestExpectations
- classes out into separate pure functions (result_was_expected,
- remove_image_failures) to make them easier to test. This also adds
- a parameter to matches_an_expected_result() to indicate whether or
- not pixel test results should be included in the expectations.
-
- https://bugs.webkit.org/show_bug.cgi?id=36771
-
- * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py:
- * Scripts/webkitpy/layout_tests/layout_package/test_expectations_test.py:
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
-
-2010-03-31 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Eric Seidel.
-
- In webkitpy, refactored two calls to os.path.relpath() replacements
- to use a common method.
-
- https://bugs.webkit.org/show_bug.cgi?id=36891
-
- * Scripts/webkitpy/common/net/bugzilla.py:
- - Replaced the relpath implementation with a call to
- webkitpy.common.system.ospath.relpath().
-
- * Scripts/webkitpy/common/system/ospath.py: Added.
- - Moved the relpath() implementation from style/main.py.
-
- * Scripts/webkitpy/common/system/ospath_unittest.py: Added.
- - Moved the relpath() unit tests from style/main_unittest.py.
-
- * Scripts/webkitpy/style/main.py:
- - Replaced the relpath implementation with a call to
- webkitpy.common.system.ospath.relpath().
-
- * Scripts/webkitpy/style/main_unittest.py:
- - Moved the relpath unit tests to ospath_unittest.py.
-
-2010-03-31 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Add a Builder.force_build method
- https://bugs.webkit.org/show_bug.cgi?id=36875
-
- We plan to eventually use this in SheriffBot to break deadlocks created
- by flaky tests.
-
- * Scripts/webkitpy/common/net/buildbot.py:
-
-2010-03-31 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- webkit-patch reads wrong bug url from unified diff context
- https://bugs.webkit.org/show_bug.cgi?id=36477
-
- Instead of trying to figure out the bug_id from the diff, we should
- just get the information from the Checkout object, which understands
- these concepts.
-
- * Scripts/webkitpy/common/checkout/api.py:
- * Scripts/webkitpy/common/checkout/commitinfo.py:
- * Scripts/webkitpy/tool/commands/download.py:
- * Scripts/webkitpy/tool/commands/upload.py:
- * Scripts/webkitpy/tool/mocktool.py:
-
-2010-03-31 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- webkit-patch commit-queue should land patches optimistically
- https://bugs.webkit.org/show_bug.cgi?id=34187
-
- This patch adds an optimistic path to commit-queue and a "fail twice"
- requirement for rejecting patches. That means we'll land good patches
- faster (via the optmistic first run) and we'll reject many fewer
- patches due to flaky tests.
-
- * Scripts/webkitpy/tool/commands/queues.py:
-
-2010-03-31 Diego Gonzalez <diego.gonzalez@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Custom user agent for user agent switcher
- https://bugs.webkit.org/show_bug.cgi?id=36757
-
- * QtLauncher/main.cpp:
- (LauncherWindow::showUserAgentDialog):
-
-2010-03-31 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- path to committers.py in commit-queue rejection message is wrong
- https://bugs.webkit.org/show_bug.cgi?id=36865
-
- This fix would have only been 3 lines long if we had
- 1. Had access to an SCM object or tool to give us the checkout root
- 2. Been able to depend on Python 2.6
- Instead I've added a bunch of hack code, but at least now
- we should never have to update this string again as the location
- of committers.py is fully dynamically discovered. :p
-
- * Scripts/webkitpy/common/net/bugzilla.py:
- * Scripts/webkitpy/common/net/bugzilla_unittest.py:
-
-2010-03-31 Shinichiro Hamaji <hamaji@chromium.org>
-
- Unreviewed test fix for r56809.
-
- webkit-patch what-broke throws exception
- https://bugs.webkit.org/show_bug.cgi?id=36852
-
- * Scripts/webkitpy/common/checkout/api_unittest.py:
-
-2010-03-30 Chris Jerdonek <cjerdonek@webkit.org>
-
- Rubber stamped by Dave Levin.
-
- Made check-webkit-style less chatty.
-
- Examples include:
- - https://bugs.webkit.org/show_bug.cgi?id=36866#c4
- - https://bugs.webkit.org/show_bug.cgi?id=36472#c9
-
- * Scripts/webkitpy/style/checker.py:
- - Changed unrecognized file type log message from info to debug.
-
-2010-03-30 Kevin Ollivier <kevino@theolliviers.com>
-
- [wx] Build fix after new method added.
-
- * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
- (LayoutTestController::callShouldCloseOnWebView):
-
-2010-03-30 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- webkit-patch what-broke throws exception
- https://bugs.webkit.org/show_bug.cgi?id=36852
-
- * Scripts/webkitpy/common/checkout/api.py: Add missing import StringIO.
- * Scripts/webkitpy/common/checkout/api_unittest.py: Test the function which previously threw and exception.
-
-2010-03-30 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=36616
- Dvorak-Qwerty keyboard layout gives unexpected results in javascript keydown
-
- https://bugs.webkit.org/show_bug.cgi?id=36797
- For non-Roman layouts, keydown Event.keyCode is always 0
-
- * DumpRenderTree/mac/EventSendingController.mm:
- (-[EventSendingController keyDown:withModifiers:withLocation:]): Generate a correct keyCode
- for keys used in tests (we used to always pass 0 for 'A').
-
-2010-03-30 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Implement win-ews
- https://bugs.webkit.org/show_bug.cgi?id=36809
-
- * Scripts/webkitpy/common/config/ports.py:
- * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
-
-2010-03-30 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Adjusted test-webkitpy to delete all orphaned *.pyc files
- from webkitpy/ prior to importing any modules from webkitpy.
- This ensures that no import statements in webkitpy falsely
- succeed because of leftover *.pyc files.
-
- https://bugs.webkit.org/show_bug.cgi?id=36599
-
- * Scripts/test-webkitpy:
- - Added _clean_pyc_files() to delete orphaned *.pyc files
- from a directory.
- - Added _clean_webkitpy_with_test() to call and test
- _clean_pyc_files().
- - Moved the "import webkitpy.python24.versioning" statement
- from the top of the module to the init() method -- immediately
- after the call to _clean_webkitpy_with_test().
-
-2010-03-30 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by Shinichiro Hamaji.
-
- [Chromium-Win] subprocess.call should be called with stdin=open(os.devnull,'r')
- https://bugs.webkit.org/show_bug.cgi?id=36811
-
- subproess.Popen() on Python 2.4/Windows with stdout,stdout, but no stdin will fail, because it uses return value of GetStdHandle(STD_INPUT_HANDLE), but DuplicateHandle requires integer, not the handle.
- We don't need stdin, so use devnull as stdin.
- Same as https://bugs.webkit.org/show_bug.cgi?id=36586
-
- * Scripts/webkitpy/layout_tests/port/chromium_win.py: open os.devnull for stdin
-
-2010-03-29 Eric Seidel <eric@webkit.org>
-
- Unreviewed, build fix only.
-
- * Scripts/webkitpy/tool/steps/validatereviewer.py: Add missing import.
-
-2010-03-29 Hayato Ito <hayato@chromium.org>
-
- Reviewed by Shinichiro Hamaji.
-
- Remove '_flymake' suffix from base part of file name so that
- check-webkit-style uses a correct header guard name when it is called from Emacs's flymake.
-
- https://bugs.webkit.org/show_bug.cgi?id=36573
-
- * Scripts/webkitpy/style/processors/cpp.py:
- * Scripts/webkitpy/style/processors/cpp_unittest.py:
-
-2010-03-29 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Get the following test-webkitpy unit test working again:
- scm_unittest.SVNTest.test_svn_apply().
-
- https://bugs.webkit.org/show_bug.cgi?id=36696
-
- * Scripts/webkitpy/common/checkout/scm_unittest.py:
- - Add leading spaces to the empty lines of the ChangeLog strings.
- - Manually set the _reviewer attribute on the Attachment object
- to get the tests to pass.
-
-2010-03-29 Martin Robinson <mrobinson@webkit.org>
-
- Reviewed by Holger Freyther.
-
- [GTK] suppress (un)desired launcher output that can make layout test to fail with stderr
- https://bugs.webkit.org/show_bug.cgi?id=36390
-
- Suppress debugging messages sent to the GLib logger during DRT runs.
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (logHandler): Added.
- (main): Use logHandler as the default GLib log message handler.
-
-2010-03-29 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- sheriff-bot should comment on bugs when builders break
- https://bugs.webkit.org/show_bug.cgi?id=36786
-
- * Scripts/webkitpy/tool/commands/sheriffbot.py:
- - Add a new _post_blame_comment_to_bug and all it from process_work_item
- - Move commit-queue logic into _post_rollout_patch to make its api match the other _post commands.
- * Scripts/webkitpy/tool/commands/sheriffbot_unittest.py:
- - Test the new _post_blame_comment_to_bug call
-
-2010-03-29 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- sheriff-bot fails to get information about certain builds
- https://bugs.webkit.org/show_bug.cgi?id=36768
-
- This seems to be caused by:
- http://buildbot.net/trac/ticket/753
- I have no work-around, but for now at least we're logging
- the error better. I also added allow_none to our ServerProxy
- creation in case that fixes things for other versions of python.
-
- * Scripts/webkitpy/common/net/buildbot.py:
-
-2010-03-29 Victor Wang <victorw@chromium.org>
-
- Reviewed by Adam Barth.
-
- Add sign in/out link to TestResults appengine
-
- Add a link to main menu for sign in/out to this appengine.
- People signed in with admin privilege could perform
- actions that are only allowed to admins like deleting files.
-
- https://bugs.webkit.org/show_bug.cgi?id=36767
-
- * TestResultServer/handlers/menu.py:
- * TestResultServer/stylesheets/menu.css:
- (.sign):
- * TestResultServer/templates/menu.html:
-
-2010-03-29 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- ValidateReviewer step is draconian and un-tested
- https://bugs.webkit.org/show_bug.cgi?id=36792
-
- ValidateReviewer logic was commented out in
- http://trac.webkit.org/changeset/56744
- That was a symptom of the fact that validatereviewer.py
- is too inflexible to be used when real humans are driving webkit-patch.
- For now we just disable ValidateReviewer when humans are at the keyboard.
-
- * Scripts/webkitpy/tool/steps/validatereviewer.py:
- - Only run when in non-interactive mode.
- * Scripts/webkitpy/tool/steps/validatereviewer_unittest.py: Added.
- - Test our validation logic to make sure it's sane.
-
-2010-03-29 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Shinichiro Hamaji.
-
- Eliminate explicit slash characters from check-webkit-style's
- _rel_path() method to make its implementation more platform
- independent.
-
- https://bugs.webkit.org/show_bug.cgi?id=36759
-
- * Scripts/webkitpy/style/main.py:
- - Changed to use os.sep instead of slash_chars "/\\". This can
- be done since os.path.abspath() converts slashes to os.sep.
-
-2010-03-29 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Change new-run-webkit-tests to not use more than four threads by
- default on the mac port until
- https://bugs.webkit.org/show_bug.cgi?id=36622 is fixed.
-
- https://bugs.webkit.org/show_bug.cgi?id=36687
-
- * Scripts/webkitpy/layout_tests/port/mac.py:
-
-2010-03-29 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Reformat port/mac.py to fit witin 80 columns for PEP-8 compliance.
-
- https://bugs.webkit.org/show_bug.cgi?id=36691
-
- * Scripts/webkitpy/layout_tests/port/mac.py:
-
-2010-03-29 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- new-run-webkit-tests fails java/lc3 on a clean checkout
- https://bugs.webkit.org/show_bug.cgi?id=36078
-
- * Scripts/webkitpy/layout_tests/port/mac.py:
- - Build the java support files in check_build
- - Unwrap a line which would still fit under 80col
-
-2010-02-26 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Simon Fraser.
-
- Add support for Widgets 1.0: View Mode Media Feature
- https://bugs.webkit.org/show_bug.cgi?id=35446
-
- Add hooks to the Qt DRT for testing the view mode media feature.
-
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::setViewModeMediaFeature):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
-
-2010-03-29 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Update expected results for unit tests.
-
- * Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py:
- * Scripts/webkitpy/tool/commands/sheriffbot_unittest.py:
-
-2010-03-29 Adam Barth <abarth@webkit.org>
-
- Unreviewed. I think Eric meant svn_revision.
-
- * Scripts/webkitpy/tool/commands/sheriffbot.py:
-
-2010-03-26 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- webkit-patch commit-queue should notice if it breaks builders (and roll out its own changes)
- https://bugs.webkit.org/show_bug.cgi?id=29311
-
- Now that we have sheriff-bot watching the tree, it can post
- rollout patches on behalf of the commit queue.
-
- * Scripts/webkitpy/common/checkout/commitinfo.py: add responsible_parties()
- * Scripts/webkitpy/common/checkout/commitinfo_unittest.py: test responsible_parties()
- * Scripts/webkitpy/tool/commands/sheriffbot.py:
- - Break IRC logic out into _post_irc_warning for easier testing.
- - Add _post_rollout_patch for posting rollout patches to bugzilla.
- * Scripts/webkitpy/tool/commands/sheriffbot_unittest.py:
- - Test _rollout_reason
- * Scripts/webkitpy/tool/grammar.py:
- - Fix join_with_separators to not add Adam's "oxford comma" for two item lists.
- * Scripts/webkitpy/tool/grammar_unittest.py:
- - Test join_with_separators
-
-2010-03-29 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Sheriffbot should actually run commands
- https://bugs.webkit.org/show_bug.cgi?id=36776
-
- Some minor changes to Sheriffbot:
-
- 1) We should actually run commands (by giving control back to the
- command processing object.
-
- 2) Use URLs instead of just numbers to represent SVN revisions (making
- it easier to folks in IRC ot followup).
-
- * Scripts/webkitpy/tool/bot/irc_command.py:
- * Scripts/webkitpy/tool/bot/queueengine.py:
- * Scripts/webkitpy/tool/commands/sheriffbot.py:
-
-2010-03-26 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Antti Koivisto.
-
- Renaming of frame flattening LayoutTestController method
- to setFrameFlatteningEnabled(bool)
-
- * DumpRenderTree/LayoutTestController.cpp:
- (setFrameFlatteningEnabledCallback):
- (LayoutTestController::staticFunctions):
- * DumpRenderTree/LayoutTestController.h:
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::setFrameFlatteningEnabled):
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (resetDefaultsToConsistentValues):
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (LayoutTestController::setFrameFlatteningEnabled):
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::WebPage::resetSettings):
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::setFrameFlatteningEnabled):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (resetDefaultsToConsistentValues):
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::setFrameFlatteningEnabled):
- * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
- (LayoutTestController::setFrameFlatteningEnabled):
-
-2010-03-28 Gustavo Noronha Silva <gns@gnome.org>
-
- No review, rolling out r56679.
- http://trac.webkit.org/changeset/56679
- https://bugs.webkit.org/show_bug.cgi?id=36454
-
- Lots of tests broken.
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (createWebView):
-
-2010-03-28 Chris Jerdonek <cjerdonek@webkit.org>
-
- Unreviewed.
-
- Fixed typo in deprecated_logging_unittest.py, which is masking
- sys.stderr while running test-webkitpy.
-
- See also-- https://bugs.webkit.org/show_bug.cgi?id=36725#c3
-
- * Scripts/webkitpy/common/system/deprecated_logging_unittest.py:
-
-2010-03-28 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Shinichiro Hamaji.
-
- Renamed check-webkit-style's --debug flag to --verbose to be more
- in line with other WebKit scripts. Also renamed the current
- --verbose flag to --min-confidence to allow the --debug rename.
-
- https://bugs.webkit.org/show_bug.cgi?id=36521
-
- We also renamed the internal "verbose" variables to "confidence" or
- "min_confidence," as appropriate, to avoid confusion with the
- --verbose flag, and because the new names are more accurate.
-
- * Scripts/check-webkit-style:
- - Renamed is_debug to is_verbose.
-
- * Scripts/webkitpy/style/checker.py:
- - Renamed _DEFAULT_VERBOSITY to _DEFAULT_CONFIDENCE.
- - Renamed "verbosity" parameters to "min_confidence" throughout.
- - Renamed configure_logging()'s is_debug parameter to is_verbose.
-
- * Scripts/webkitpy/style/checker_unittest.py:
- - Updated the unit tests as necessary.
-
- * Scripts/webkitpy/style/error_handlers.py:
- - Updated the call to StyleCheckerConfiguration.write_style_error().
-
- * Scripts/webkitpy/style/error_handlers_unittest.py:
- - Updated the unit tests as necessary.
-
- * Scripts/webkitpy/style/optparser.py:
- - Updated the usage string with the new flag names.
- - Renamed the verbosity parameter to min_confidence throughout.
- - Renamed the is_debug parameter to is_verbose throughout.
-
- * Scripts/webkitpy/style/optparser_unittest.py:
- - Updated the unit tests as necessary.
-
- * Scripts/webkitpy/style/processors/cpp.py:
- - Renamed the verbosity parameter to min_confidence throughout.
-
- * Scripts/webkitpy/style/processors/cpp_unittest.py:
- - Updated the unit tests as necessary.
-
-2010-03-28 Chris Jerdonek <cjerdonek@webkit.org>
-
- Unreviewed.
-
- Added back a line that accidentally got deleted in r56690.
-
- * Scripts/check-webkit-style:
-
-2010-03-28 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Shinichiro Hamaji.
-
- Add to check-webkit-style support for checking directories.
-
- https://bugs.webkit.org/show_bug.cgi?id=35234
-
- * Scripts/check-webkit-style:
- - Replaced the call to check_file() with a call to check_paths().
-
- * Scripts/webkitpy/style/checker.py:
- - In the StyleChecker class:
- - Added a check_paths() method that accepts a list of paths
- to files and directories.
- - Added a _check_directory() method that checks the files
- in a directory.
-
- * Scripts/webkitpy/style/checker_unittest.py:
- - Added a StyleCheckerCheckPathsTest to unit-test the new
- check_paths() method.
-
- * Scripts/webkitpy/style/optparser.py:
- - Updated the usage string.
-
-2010-03-28 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Shinichiro Hamaji.
-
- Changed check-webkit-style to convert paths to paths relative to
- the checkout root when invoking check-webkit-style with path
- arguments. Also added warning messages where appropriate.
-
- https://bugs.webkit.org/show_bug.cgi?id=35498
-
- Converting paths to paths relative to the checkout root ensures
- that style checking will behave as expected (since path-specific
- rules assume input paths are relative to a source root).
-
- * Scripts/check-webkit-style:
- - Added debug logging of whether the current directory was found
- to be in a WebKit checkout.
- - Added the found_checkout parameter to the call to parser.parse().
- - Renamed the files variable to paths.
- - Added a call to change_directory() prior to checking style.
-
- * Scripts/webkitpy/style/checker.py:
- - For StyleChecker.check_file():
- - Updated the docstring.
- - Added two log messages.
-
- * Scripts/webkitpy/style/checker_unittest.py:
- - Updated a call to parser.parse() with the found_checkout parameter.
-
- * Scripts/webkitpy/style/main.py: Added.
- - Added a new file so the code in this patch could be unit-tested,
- as opposed to adding new code to check-webkit-style.
- - Added the method _rel_path() as a substitute for os.path.relpath(),
- which is available only in Python 2.6.
- - Added the method change_directory(), which contains most of the
- new functionality in this patch.
-
- * Scripts/webkitpy/style/main_unittest.py: Added.
- - Added RelPathTest to test main._rel_path().
- - Added ChangeDirectoryTest to test main.change_directory().
-
- * Scripts/webkitpy/style/optparser.py:
- - Updated check-webkit-style's usage string.
- - For the ArgumentParser.parse() method:
- - Added a found_checkout parameter.
- - Renamed filenames to paths.
- - Added logic so that an error is raised if no paths are passed
- if found_checkout is False.
-
- * Scripts/webkitpy/style/optparser_unittest.py:
- - Updated the ArgumentParser.parse() unit tests to include
- coverage for the new found_checkout parameter.
-
- * Scripts/webkitpy/style/unittests.py:
- - Added an import statement for main_unittest.
-
- * Scripts/webkitpy/style_references.py:
- - Renamed SimpleScm to WebKitCheckout.
- - Added a detect_checkout() function to allow returning None
- instead of a WebKitCheckout instance if no checkout is found.
- - Renamed checkout_root to root_path.
-
-2010-03-27 Sergio Villar Senin <svillar@igalia.com>
-
- Reviewed by Eric Seidel.
-
- Print didHandleOnloadEventsForFrame in the callback of
- onload-event signal comming from frame loader
-
- [GTK] Improve reporting of frame loader callbacks in DRT
- https://bugs.webkit.org/show_bug.cgi?id=36454
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (webViewOnloadEvent):
- (createWebView): added connection to signal::onload-event and
- signal callback
-
-2010-03-27 Sergio Villar Senin <svillar@igalia.com>
-
- Reviewed by Eric Seidel.
-
- Print didCommitLoadForFrame in the callback of signal::load-committed
-
- [GTK] Improve reporting of frame loader callbacks in DRT
- https://bugs.webkit.org/show_bug.cgi?id=36454
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (webViewLoadCommitted):
- (createWebView): added connection to sinal::load-committed and
- signal callback
-
-2010-03-27 Sergio Villar Senin <svillar@igalia.com>
-
- Reviewed by Eric Seidel.
-
- Print didStartProvisionalLoadForFrame in the callback of
- notify::load-status property change notification
-
- [GTK] Improve reporting of frame loader callbacks in DRT
- https://bugs.webkit.org/show_bug.cgi?id=36454
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (webInspectorCloseWindow):
- (webInspectorInspectWebView):
- (createWebView): added connection to notify::load-status and
- signal callback
-
-2010-03-27 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Adam Barth.
-
- In webkitpy/, deleted the /unittests.py files since test-webkitpy
- now auto-detects all *_unittest.py files.
-
- https://bugs.webkit.org/show_bug.cgi?id=36712
-
- * Scripts/webkitpy/common/net/irc/unittests.py: Removed.
- * Scripts/webkitpy/common/system/unittests.py: Removed.
- * Scripts/webkitpy/common/thread/unittests.py: Removed.
- * Scripts/webkitpy/common/unittests.py: Removed.
- * Scripts/webkitpy/python24/unittests.py: Removed.
- * Scripts/webkitpy/style/unittests.py: Removed.
- * Scripts/webkitpy/tool/unittests.py: Removed.
- * Scripts/webkitpy/unittests.py: Removed.
-
-2010-03-27 Sergio Villar Senin <svillar@igalia.com>
-
- Reviewed by Eric Seidel.
-
- Add a CR after printing didFinishDocumentLoadForFrame
-
- [GTK] Improve reporting of frame loader callbacks in DRT
- https://bugs.webkit.org/show_bug.cgi?id=36454
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (webViewLoadFinished):
-
-2010-03-27 Chris Jerdonek <cjerdonek@webkit.org>
-
- Rubber-stamped by Adam Barth.
-
- Fixed the name of a unit test file in webkitpy.
-
- * Scripts/webkitpy/tool/steps/updatechangelogswithreview_unittest.py: Copied from WebKitTools/Scripts/webkitpy/tool/steps/updatechangelogswithreview_unittests.py.
- * Scripts/webkitpy/tool/steps/updatechangelogswithreview_unittests.py: Removed.
-
-2010-03-26 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Adam Barth.
-
- The test-webkitpy script now automatically detects all unit-test
- files in webkitpy/. This lets us eliminate the need to have and
- maintain all of the unittests.py files.
-
- https://bugs.webkit.org/show_bug.cgi?id=36591
-
- * Scripts/test-webkitpy:
- - Replaced the "from webkitpy.unittests import *" with a call
- to webkitpy.test.main.Tester().run_tests().
-
- * Scripts/webkitpy/test/__init__.py: Copied from WebKitTools/QueueStatusServer/filters/__init__.py.
- - Required file for the new webkitpy/test/ directory.
-
- * Scripts/webkitpy/test/main.py: Added.
- - Added a Tester class that contains the following methods:
- - _find_unittest_files() to detect all the unit-test files.
- - _modules_from_paths() to convert the paths to the unit-test
- files to fully-qualified module names.
- - run_tests() which calls the above two methods and then passes
- the module names to Python's unittest module.
-
-2010-03-27 Robert Hogan <robert@webkit.org>
-
- Reviewed by Simon Fraser.
-
- [Qt/Win] Add support to unix and windows NS plugin for executing scripts on setWindow.
-
- https://bugs.webkit.org/show_bug.cgi?id=36701
-
- * DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp:
- (webkit_test_plugin_new_instance): Add onSetWindow.
- (webkit_test_plugin_destroy_instance): Add onSetWindow.
- (webkit_test_plugin_set_window): Add onSetWindow.
- * DumpRenderTree/win/TestNetscapePlugin/main.cpp:
- (NPP_New): Add onSetWindow.
- (NPP_Destroy): Add onSetWindow.
- (NPP_SetWindow): Add onSetWindow.
-
-2010-03-26 Robert Hogan <robert@roberthogan.net>
-
- Reviewed by Simon Hausmann.
-
- Allow plugins implemented by the application, such as mimetype 'x-qt-plugin',
- when pluginsEnabled is false.
-
- Add support for LayoutTestController.WebKitPluginsEnabled
-
- https://bugs.webkit.org/show_bug.cgi?id=32196
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (resetDefaultsToConsistentValues):
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (copyWebSettingKey):
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::WebPage::resetSettings):
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::overridePreference):
-
-2010-03-26 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Add some basic IRC commands to sheriffbot
- https://bugs.webkit.org/show_bug.cgi?id=36684
-
- Adds support for sheriffbot to respond to a "hi" command and a
- "last-green-revision" command. It's lame that we're rebuilding
- MultiCommandTool, but as discussed in person we'll intergrate the two
- once we see what the requirements are.
-
- * Scripts/webkitpy/tool/bot/irc_command.py: Added.
- * Scripts/webkitpy/tool/bot/queueengine.py:
- * Scripts/webkitpy/tool/bot/queueengine_unittest.py:
- * Scripts/webkitpy/tool/bot/sheriffircbot.py:
- * Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py: Added.
- * Scripts/webkitpy/tool/commands/queues.py:
- * Scripts/webkitpy/tool/commands/queuestest.py:
- * Scripts/webkitpy/tool/commands/sheriffbot.py:
- * Scripts/webkitpy/tool/main.py:
- * Scripts/webkitpy/tool/mocktool.py:
- * Scripts/webkitpy/tool/unittests.py:
-
-2010-03-26 Adam Barth <abarth@webkit.org>
-
- Unreviewed. More errors in the IRC module. I have no idea how to test
- ircbot.py, which is too bad. Hopefully we've abstracted it away enough
- that we don't have to touch it very much after this patch.
-
- * Scripts/webkitpy/common/net/irc/ircbot.py:
-
-2010-03-26 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Add a missing "_".
-
- * Scripts/webkitpy/common/net/irc/ircproxy.py:
- * Scripts/webkitpy/common/net/irc/ircproxy_unittest.py: Added.
- * Scripts/webkitpy/common/net/irc/unittests.py:
-
-2010-03-26 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Fix a the commit queue after my recent change.
-
- * Scripts/webkitpy/tool/bot/queueengine.py:
-
-2010-03-26 Dirk Pranke <dpranke@chromium.org>
-
- Unreviewed fix.
-
- Fix the return value for port/base.diff_image (changed from 1/0 to
- True/False in bug 34826.
-
- * Scripts/webkitpy/layout_tests/port/base.py:
-
-2010-03-26 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Change the Mac port of new-run-webkit-tests to look for a
- test_expectations.txt file in addition to the Skipped files, so we
- can track pixel failures.
-
- https://bugs.webkit.org/show_bug.cgi?id=36619
-
- * Scripts/webkitpy/layout_tests/port/mac.py:
-
-2010-03-26 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Implement pixel tests (image diff) properly on the Mac port.
-
- This change introduces a new "ServerPocess" class that can be used
- to manage processes that the run-webkit-tests harness forks off and
- expects to stay up for longer than a single request/response session.
- Both DumpRenderTree and ImageDiff use this style of communication,
- although the current code forks off a new ImageDiff for each diff
- (We need to restructure other parts of the code to be able to do this
- safely in a multi-threaded environment).
-
- Also, now that the ServerProcess abstraction exists, we can probably
- clean up and simplify some of the thread management logic in
- test_shell_thread as well.
-
- https://bugs.webkit.org/show_bug.cgi?id=34826
-
- * Scripts/webkitpy/layout_tests/port/mac.py:
- * Scripts/webkitpy/layout_tests/port/server_process.py:
- * Scripts/webkitpy/layout_tests/test_types/image_diff.py:
-
-2010-03-26 Sergio Villar Senin <svillar@igalia.com>
-
- Reviewed by Eric Seidel.
-
- Print didFinishLoadForFrame outcome in DRT
-
- [GTK] Improve reporting of frame loader callbacks in DRT
- https://bugs.webkit.org/show_bug.cgi?id=36454
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (webViewLoadCommitted):
-
-2010-03-26 Eric Seidel <eric@webkit.org>
-
- Unreviewed test fix.
- My change conflicted with one of Adam's causing test-webkitpy to fail.
-
- Move commit_message_for_this_commit from scm to checkout
- https://bugs.webkit.org/show_bug.cgi?id=36629
-
- * Scripts/webkitpy/common/checkout/api_unittest.py:
- - modified_changelogs is now on Checkout instead of scm.
-
-2010-03-26 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Refactor IRCBot controller logic to allow for commands
- https://bugs.webkit.org/show_bug.cgi?id=36676
-
- We need to move the controller logic into the tool package so it can
- know about commands. The changes to queueengine could go in a
- different patch, but we're going to need it anyway.
-
- * Scripts/webkitpy/common/config/irc.py: Added.
- * Scripts/webkitpy/common/net/irc/ircbot.py:
- * Scripts/webkitpy/common/net/irc/ircproxy.py:
- * Scripts/webkitpy/tool/bot/queueengine.py:
- * Scripts/webkitpy/tool/bot/sheriffircbot.py: Added.
- * Scripts/webkitpy/tool/commands/sheriffbot.py:
- * Scripts/webkitpy/tool/main.py:
- * Scripts/webkitpy/tool/mocktool.py:
-
-2010-03-26 Adam Barth <abarth@webkit.org>
-
- Rubber stamped by Eric Seidel.
-
- Move the threading code into its own module. (It has nothing to do with IRC.)
-
- * Scripts/webkitpy/common/net/irc/ircbot.py:
- * Scripts/webkitpy/common/net/irc/ircproxy.py:
- * Scripts/webkitpy/common/net/irc/messagepump.py: Removed.
- * Scripts/webkitpy/common/net/irc/messagepump_unittest.py: Removed.
- * Scripts/webkitpy/common/net/irc/threadedmessagequeue.py: Removed.
- * Scripts/webkitpy/common/net/irc/threadedmessagequeue_unittest.py: Removed.
- * Scripts/webkitpy/common/net/irc/unittests.py:
- * Scripts/webkitpy/common/thread: Added.
- * Scripts/webkitpy/common/thread/__init__.py: Added.
- * Scripts/webkitpy/common/thread/messagepump.py: Copied from Scripts/webkitpy/common/net/irc/messagepump.py.
- * Scripts/webkitpy/common/thread/messagepump_unittest.py: Copied from Scripts/webkitpy/common/net/irc/messagepump_unittest.py.
- * Scripts/webkitpy/common/thread/threadedmessagequeue.py: Copied from Scripts/webkitpy/common/net/irc/threadedmessagequeue.py.
- * Scripts/webkitpy/common/thread/threadedmessagequeue_unittest.py: Copied from Scripts/webkitpy/common/net/irc/threadedmessagequeue_unittest.py.
- * Scripts/webkitpy/common/thread/unittests.py: Added.
- * Scripts/webkitpy/common/unittests.py:
-
-2010-03-26 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Move commit_message_for_this_commit from scm to checkout
- https://bugs.webkit.org/show_bug.cgi?id=36629
-
- Finally add some basic unit testing for Checkout.commit_message_for_this_commit
-
- * Scripts/webkitpy/common/checkout/api.py:
- * Scripts/webkitpy/common/checkout/api_unittest.py: Added.
- * Scripts/webkitpy/common/unittests.py:
-
-2010-03-26 Diego Gonzalez <diego.gonzalez@openbossa.org>
-
- [Qt] User Agent Switcher on QtLauncher
- https://bugs.webkit.org/show_bug.cgi?id=36451
-
- Patch by Diego Gonzalez <diego.gonzalez@openbossa.org> on 2010-03-26
- Reviewed by Simon Hausmann.
-
- Make possible to change the QtLauncher user agent via
- a predefined list.
-
- * QtLauncher/QtLauncher.pro:
- * QtLauncher/QtLauncher.qrc: Added.
- * QtLauncher/main.cpp:
- (LauncherWindow::showUserAgentDialog):
- (LauncherWindow::createChrome):
- * QtLauncher/useragentlist.txt: Added.
- * QtLauncher/webpage.cpp:
- (WebPage::userAgentForUrl):
- * QtLauncher/webpage.h:
- (WebPage::setUserAgent):
-
-2010-03-26 Victor Wang <victorw@chromium.org>
-
- Reviewed by Adam Barth.
-
- Host layout test flakiness dashboard in TestResultServer appengine.
-
- Flakiness dashboard is a tool to monitor layout test status and
- help layout test regression diagnostics.
-
- https://bugs.webkit.org/show_bug.cgi?id=36195
-
- * TestResultServer/handlers/dashboardhandler.py: Added.
- - New handler to handle dashboard request
- * TestResultServer/handlers/menu.py:
- - Add new dashboard links
- * TestResultServer/handlers/testfilehandler.py:
- - Request routes refactory
- * TestResultServer/index.yaml:
- * TestResultServer/main.py:
- - Add new dashboard request routes and refactor test result file rountes.
- * TestResultServer/model/dashboardfile.py: Added.
- - Model to access datastore for dashboard files
- * TestResultServer/model/testfile.py:
- * TestResultServer/stylesheets/dashboardfile.css: Added.
- * TestResultServer/templates/dashboardfilelist.html: Added.
- * TestResultServer/templates/showfilelist.html:
-
-2010-03-26 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Remove some evil statics from CommitInfo
- https://bugs.webkit.org/show_bug.cgi?id=36637
-
- These methods should really be on checkout. You can tell because they
- know about ChangeLogs and take an SCM as an argument. :)
-
- * Scripts/webkitpy/common/checkout/api.py:
- * Scripts/webkitpy/common/checkout/changelog.py:
- * Scripts/webkitpy/common/checkout/commitinfo.py:
- * Scripts/webkitpy/tool/commands/queries.py:
-
-2010-03-23 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
-
- Reviewed by Simon Hausmann.
-
- Add an option to QtLauncher to enable/disable a QGLWidget as Viewport
- of the QGraphicsView when the launcher is running on graphicsview mode.
-
- [Qt] QtLauncher needs an option to Enable/Disable a QGLWidget as Viewport
- https://bugs.webkit.org/show_bug.cgi?id=36270
-
- * QtLauncher/QtLauncher.pro:
- * QtLauncher/main.cpp:
- (LauncherWindow::toggleQGLWidgetViewport):
- (LauncherWindow::createChrome):
-
-2010-03-26 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by Shinichiro Hamaji.
-
- [Chromium-Win] websocket_server.py failed to start
- https://bugs.webkit.org/show_bug.cgi?id=36586
+ One sublty is that we want to wait for the user to finish editing the
+ ChangeLog before moving on to the next step. That means we want to pass
+ -W to open. However, if the user is using Xcode to edit the ChangeLog,
+ we don't want them to have to exit the Xcode application. For this reason,
+ we create a new instance of the application with -n.
- subproess.Popen() on Python 2.4/Windows with stdout,stdout, but no stdin will fail, because it uses return value of GetStdHandle(STD_INPUT_HANDLE), but DuplicateHandle requires integer, not the handle.
- We don't need stdin, so use devnull as stdin.
-
- * Scripts/webkitpy/layout_tests/port/websocket_server.py: open os.devnull for stdin
-
-2010-03-26 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [DRT/Chromium] Add TestNavigationController and TestWebWorker
- https://bugs.webkit.org/show_bug.cgi?id=36520
-
- Add LayoutTestController class, which is going to be used by
- DumpRenderTree Chromium port. These files are based on:
- - src/webkit/tools/test_shell/layout_test_controller.cc
- - src/webkit/tools/test_shell/layout_test_controller.h
- of Chromium rev.40492.
-
- * DumpRenderTree/chromium/LayoutTestController.cpp: Added.
- * DumpRenderTree/chromium/LayoutTestController.h: Added.
-
-2010-03-25 Charlie Reis <creis@chromium.org>
-
- Reviewed by Adam Barth.
-
- onbeforeunload not called at window close + frame or iframe focused
- https://bugs.webkit.org/show_bug.cgi?id=27481
-
- Adds a callShouldCloseOnWebView method to LayoutTestController,
- to allow automated testing for bug 27481.
-
- * DumpRenderTree/LayoutTestController.cpp:
- (callShouldCloseOnWebViewCallback):
- (LayoutTestController::staticFunctions):
- * DumpRenderTree/LayoutTestController.h:
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::callShouldCloseOnWebView):
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (LayoutTestController::callShouldCloseOnWebView):
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::callShouldCloseOnWebView):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::callShouldCloseOnWebView):
-
-2010-03-25 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Add webkit-patch lkgr for finding last known good revision
- https://bugs.webkit.org/show_bug.cgi?id=36626
+ Overall, xed seems like a better solution, so we recommend that too.
- This is rather slow for now because the command
- has to compute this information from the buildbot.
- A better long-term solution would be to have a server
- somewhere store a pre-computed LKGR and then any
- script (like webkit-patch) could just fetch it.
-
- * Scripts/webkitpy/common/net/buildbot.py:
- * Scripts/webkitpy/tool/commands/queries.py:
-
-2010-03-25 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Move modified_changelogs (and friends) from scm to checkout
- https://bugs.webkit.org/show_bug.cgi?id=36636
-
- These functions know about ChangeLogs, which is forbidden knowledge in
- scm.py.
-
- * Scripts/webkitpy/common/checkout/api.py:
- * Scripts/webkitpy/common/checkout/changelog.py:
- * Scripts/webkitpy/common/checkout/scm.py:
- * Scripts/webkitpy/tool/mocktool.py:
- * Scripts/webkitpy/tool/steps/abstractstep.py:
- * Scripts/webkitpy/tool/steps/preparechangelogforrevert.py:
- * Scripts/webkitpy/tool/steps/revertrevision.py:
- * Scripts/webkitpy/tool/steps/updatechangelogswithreviewer.py:
- * Scripts/webkitpy/tool/steps/validatereviewer.py:
-
-2010-03-25 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Move apply_patch from scm to checkout
- https://bugs.webkit.org/show_bug.cgi?id=36635
-
- SCM shouldn't have any knowledge of WebKit scripts.
-
- * Scripts/webkitpy/common/checkout/api.py:
- * Scripts/webkitpy/common/checkout/scm.py:
- * Scripts/webkitpy/common/checkout/scm_unittest.py:
- * Scripts/webkitpy/tool/mocktool.py:
- * Scripts/webkitpy/tool/steps/applypatch.py:
-
-2010-03-25 Eric Seidel <eric@webkit.org>
-
- Unreviewed build fix to un-break webkit-patch land.
- Test-case coming in follow-up commit.
-
- Move commit_message_for_this_commit from scm to checkout
- https://bugs.webkit.org/show_bug.cgi?id=36629
-
- * Scripts/webkitpy/common/checkout/api.py: import scm.CommitMessage
-
-2010-03-25 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/7728903> Support color bitmap fonts
-
- * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Added ColorBits.ttf
- and ColorBits-A.png.
- * DumpRenderTree/fonts/ColorBits-A.png: Copied from WebCore/inspector/front-end/Images/successGreenDot.png.
- * DumpRenderTree/fonts/ColorBits.ttf: Added.
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (activateFonts): Activate ColorBits.ttf.
-
-2010-03-25 Mark Rowe <mrowe@apple.com>
-
- Remove a printf that was causing commit-log-editor to spew the name of the editor
- to the terminal many times during a commit.
-
- * Scripts/commit-log-editor:
-
-2010-03-25 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Move commit_message_for_this_commit from scm to checkout
- https://bugs.webkit.org/show_bug.cgi?id=36629
-
- This function requires knowledge of ChangeLogs, but scm shouldn't know
- about ChangeLogs.
-
- * Scripts/webkitpy/common/checkout/api.py:
- * Scripts/webkitpy/common/checkout/scm.py:
- * Scripts/webkitpy/tool/commands/upload.py:
- * Scripts/webkitpy/tool/commands/upload_unittest.py:
- * Scripts/webkitpy/tool/mocktool.py:
- * Scripts/webkitpy/tool/steps/applypatchwithlocalcommit.py:
- * Scripts/webkitpy/tool/steps/commit.py:
-
-2010-03-25 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- REGRESSION: webkit-patch land can't land "rubber-stamped" patches
- https://bugs.webkit.org/show_bug.cgi?id=36582
-
- Allow a "-" in rubber stamped.
-
- * Scripts/webkitpy/tool/steps/validatereviewer.py:
-
-2010-03-25 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Fix some copyright lines to remove extraneous comma and
- python directive.
-
- * Scripts/webkitpy/tool/bot/patchcollection.py:
- * Scripts/webkitpy/tool/bot/patchcollection_unittest.py:
- * Scripts/webkitpy/tool/bot/queueengine.py:
- * Scripts/webkitpy/tool/bot/queueengine_unittest.py:
- * Scripts/webkitpy/tool/commands/download.py:
- * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
- * Scripts/webkitpy/tool/commands/queries.py:
- * Scripts/webkitpy/tool/commands/queues.py:
- * Scripts/webkitpy/tool/commands/sheriffbot.py:
- * Scripts/webkitpy/tool/comments.py:
- * Scripts/webkitpy/tool/grammar.py:
- * Scripts/webkitpy/tool/multicommandtool.py:
- * Scripts/webkitpy/tool/multicommandtool_unittest.py:
-
-2010-03-25 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Darin Adler, Alexey Proskuryakov.
-
- https://bugs.webkit.org/show_bug.cgi?id=36631
- Allow the test plugin to run scripts in response to NPP_SetWindow calls
-
- Hook up the ability for the TestNetscapePlugIn to run JavaScript in
- response to NPP_SetWindow.
-
- * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
- (pluginAllocate):
- * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.h:
- * DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp:
- (NPP_New):
- (NPP_Destroy):
- (NPP_SetWindow):
-
-2010-03-25 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Unreviewed, build fix.
-
- [Qt] Fix QtLauncher guards.
-
- * QtLauncher/main.cpp:
- (LauncherWindow::showFPS):
- (LauncherWindow::updateFPS):
-
-2010-03-25 Yury Semikhatsky <yurys@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Allow running tests with enabled developer extras and closed Web Inspector. Tests that have inspector-enabled/ in their path/url will have developer extras enabled.
-
- https://bugs.webkit.org/show_bug.cgi?id=36610
-
- * DumpRenderTree/LayoutTestController.h:
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (shouldEnableDeveloperExtras):
- (runTest):
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::setJavaScriptProfilingEnabled):
- (LayoutTestController::setDeveloperExtrasEnabled):
- (LayoutTestController::showWebInspector):
- (LayoutTestController::closeWebInspector):
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (shouldEnableDeveloperExtras):
- (runTest):
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (LayoutTestController::setJavaScriptProfilingEnabled):
- (LayoutTestController::setDeveloperExtrasEnabled):
- (LayoutTestController::showWebInspector):
- (LayoutTestController::closeWebInspector):
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::shouldEnableDeveloperExtras):
- (WebCore::DumpRenderTree::open):
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::closeWebInspector):
- (LayoutTestController::setDeveloperExtrasEnabled):
- (LayoutTestController::showWebInspector):
- (LayoutTestController::setJavaScriptProfilingEnabled):
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (shouldEnableDeveloperExtras):
- (runTest):
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::setJavaScriptProfilingEnabled):
- (LayoutTestController::setDeveloperExtrasEnabled):
- (LayoutTestController::showWebInspector):
- (LayoutTestController::closeWebInspector):
-
-2010-03-25 Adam Barth <abarth@webkit.org>
-
- Rubber stamped by Eric Seidel.
-
- Tweaks to sheriffbot to improve latency by keeping the working copy up
- to date even when there's no build break. Also, officially move
- sheriffbot to #webkit.
-
- (Also teach ValidateReviewer to understand rubber stamps.)
-
- * Scripts/webkitpy/common/net/irc/ircbot.py:
- * Scripts/webkitpy/tool/commands/sheriffbot.py:
- * Scripts/webkitpy/tool/steps/validatereviewer.py:
-
-2010-03-22 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
-
- Reviewed by Simon Hausmann.
-
- Not displaying FPS info on the terminal. On S60 and Maemo the
- Window title will be used and Status bar will used on desktop.
-
- [Qt] QtLauncher's FPS info should not be displayed on the terminal
- https://bugs.webkit.org/show_bug.cgi?id=36244
-
- * QtLauncher/main.cpp:
- (LauncherWindow::initializeView):
- (LauncherWindow::showFPS):
- (LauncherWindow::updateFPS):
- * QtLauncher/webview.cpp:
- (WebViewGraphicsBased::setFrameRateMeasurementEnabled):
- (WebViewGraphicsBased::updateFrameRate):
- * QtLauncher/webview.h:
- (WebViewGraphicsBased::frameRateMeasurementEnabled):
-
-2010-03-25 Diego Gonzalez <diego.gonzalez@openbossa.org>
-
- Reviewed by Kenneth Christiansen.
-
- Added missing frame flattening activation on
- fast/frames/flattening/frameset-flattening-grid.html;
- removed unnecessary CONSOLE MESSAGE from the expected file;
- reset the setFrameSetFlatteningEnabled for each test.
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::WebPage::resetSettings):
-
-2010-03-25 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Adam Barth.
-
- Moved deprecated_logging unit test import statement from
- webkitpy/unittests.py to webkitpy/common/system/unittests.py.
-
- https://bugs.webkit.org/show_bug.cgi?id=36093
-
- This is part of the master bug to reorganize webkitpy.
-
- * Scripts/webkitpy/common/system/unittests.py:
- * Scripts/webkitpy/unittests.py:
-
-2010-03-25 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Adam Barth.
-
- Moved webkit_logging.py to common/system/deprecated_logging.py
- inside webkitpy.
-
- https://bugs.webkit.org/show_bug.cgi?id=36093
-
- This is part of the master bug to reorganize webkitpy.
-
- * Scripts/validate-committer-lists:
- * Scripts/webkitpy/common/checkout/changelog.py:
- * Scripts/webkitpy/common/checkout/scm.py:
- * Scripts/webkitpy/common/net/bugzilla.py:
- * Scripts/webkitpy/common/net/buildbot.py:
- * Scripts/webkitpy/common/net/credentials.py:
- * Scripts/webkitpy/common/net/irc/ircproxy.py:
- * Scripts/webkitpy/common/net/networktransaction.py:
- * Scripts/webkitpy/common/net/statusserver.py:
- * Scripts/webkitpy/common/system/deprecated_logging.py: Copied from WebKitTools/Scripts/webkitpy/webkit_logging.py.
- * Scripts/webkitpy/common/system/deprecated_logging_unittest.py: Copied from WebKitTools/Scripts/webkitpy/webkit_logging_unittest.py.
- * Scripts/webkitpy/common/system/executive.py:
- * Scripts/webkitpy/tool/bot/queueengine.py:
- * Scripts/webkitpy/tool/commands/download.py:
- * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
- * Scripts/webkitpy/tool/commands/openbugs.py:
- * Scripts/webkitpy/tool/commands/queries.py:
- * Scripts/webkitpy/tool/commands/queues.py:
- * Scripts/webkitpy/tool/commands/sheriffbot.py:
- * Scripts/webkitpy/tool/commands/stepsequence.py:
- * Scripts/webkitpy/tool/commands/upload.py:
- * Scripts/webkitpy/tool/main.py:
- * Scripts/webkitpy/tool/mocktool.py:
- * Scripts/webkitpy/tool/multicommandtool.py:
- * Scripts/webkitpy/tool/steps/abstractstep.py:
- * Scripts/webkitpy/tool/steps/applypatch.py:
- * Scripts/webkitpy/tool/steps/build.py:
- * Scripts/webkitpy/tool/steps/checkstyle.py:
- * Scripts/webkitpy/tool/steps/closebug.py:
- * Scripts/webkitpy/tool/steps/closebugforlanddiff.py:
- * Scripts/webkitpy/tool/steps/confirmdiff.py:
- * Scripts/webkitpy/tool/steps/ensurebuildersaregreen.py:
- * Scripts/webkitpy/tool/steps/ensurelocalcommitifneeded.py:
- * Scripts/webkitpy/tool/steps/obsoletepatches.py:
- * Scripts/webkitpy/tool/steps/preparechangelog.py:
- * Scripts/webkitpy/tool/steps/reopenbugafterrollout.py:
- * Scripts/webkitpy/tool/steps/runtests.py:
- * Scripts/webkitpy/tool/steps/update.py:
- * Scripts/webkitpy/tool/steps/updatechangelogswithreviewer.py:
- * Scripts/webkitpy/tool/steps/validatereviewer.py:
- * Scripts/webkitpy/unittests.py:
- * Scripts/webkitpy/webkit_logging.py: Removed.
- * Scripts/webkitpy/webkit_logging_unittest.py: Removed.
-
-2010-03-25 Julien Chaffraix <jchaffraix@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- commit-log-editor can call itself in an infinite loop
- https://bugs.webkit.org/show_bug.cgi?id=35291
-
- if $editor ends up being commit-log-editor, the script will exec itself
- in an infinite loop.
-
- To avoid this, we now check that the $editor variable is not
- commit-log-editor to avoid this case.
-
- * Scripts/commit-log-editor: Added an isCommitLogEditor method and
- reworked the $editor setting to add this check.
-
-2010-03-25 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Add a Toggle Frame Flattening option to QtLauncher.
- It will be enabled by default on Maemo5 and S60 platforms.
-
- [Qt] Add enable/disable Frame Flattening option to QtLauncher
- https://bugs.webkit.org/show_bug.cgi?id=36558
-
- * QtLauncher/main.cpp:
- (LauncherWindow::applyPrefs):
- (LauncherWindow::toggleFrameFlattening):
- (LauncherWindow::createChrome):
-
-2010-03-25 Zoltan Horvath <zoltan@webkit.org>
-
- Reviewed by Eric Seidel.
-
- svn-create-patch prints a warning for large patches
- https://bugs.webkit.org/show_bug.cgi?id=32582
-
- svn-create-patch prints a warning message for larger patches than 20k.
-
- * Scripts/svn-create-patch:
-
-2010-03-25 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Renamed early_warning_system.py to earlywarningsystem.py.
- https://bugs.webkit.org/show_bug.cgi?id=36093
-
- * Scripts/webkitpy/tool/commands/early_warning_system.py: Removed.
- * Scripts/webkitpy/tool/commands/early_warning_system_unittest.py: Removed.
- * Scripts/webkitpy/tool/commands/earlywarningsystem.py: Copied from Scripts/webkitpy/tool/commands/early_warning_system.py.
- * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py: Copied from Scripts/webkitpy/tool/commands/early_warning_system_unittest.py.
- * Scripts/webkitpy/tool/main.py:
- * Scripts/webkitpy/tool/unittests.py:
-
-2010-03-25 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Adam Barth.
-
- In webkitpy, pushed the unit test import statements in
- webkitpy/unittests.py into appropriate unittests.py files in the
- new root-level packages beneath webkitpy.
-
- https://bugs.webkit.org/show_bug.cgi?id=36093
-
- This is part of the master bug to reorganize webkitpy.
-
- * Scripts/webkitpy/common/system/unittests.py:
- * Scripts/webkitpy/common/unittests.py: Added.
- * Scripts/webkitpy/python24/unittests.py: Added.
- * Scripts/webkitpy/tool/unittests.py: Added.
- * Scripts/webkitpy/unittests.py:
-
-2010-03-25 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Move WebKitCheckout into the webkitpy.common.checkout
- package.
- https://bugs.webkit.org/show_bug.cgi?id=36093
-
- * Scripts/webkitpy/common/checkout/api.py: Copied from Scripts/webkitpy/webkitcheckout.py.
- * Scripts/webkitpy/tool/main.py:
- * Scripts/webkitpy/tool/mocktool.py:
- * Scripts/webkitpy/webkitcheckout.py: Removed.
-
-2010-03-25 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Move OutputCapture to webkitpy.common.system.
- https://bugs.webkit.org/show_bug.cgi?id=36093
-
- * Scripts/webkitpy/common/net/bugzilla_unittest.py:
- * Scripts/webkitpy/common/net/credentials_unittest.py:
- * Scripts/webkitpy/common/system/outputcapture.py: Copied from Scripts/webkitpy/outputcapture.py.
- * Scripts/webkitpy/outputcapture.py: Removed.
- * Scripts/webkitpy/tool/commands/commandtest.py:
- * Scripts/webkitpy/tool/commands/queues_unittest.py:
- * Scripts/webkitpy/tool/commands/queuestest.py:
- * Scripts/webkitpy/tool/multicommandtool_unittest.py:
- * Scripts/webkitpy/tool/steps/closebugforlanddiff_unittest.py:
- * Scripts/webkitpy/tool/steps/steps_unittest.py:
- * Scripts/webkitpy/tool/steps/updatechangelogswithreview_unittests.py:
-
-2010-03-25 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Move user.py to webkitpy.common.system.
-
- * Scripts/webkitpy/common/checkout/scm.py:
- * Scripts/webkitpy/common/net/bugzilla.py:
- * Scripts/webkitpy/common/net/credentials.py:
- * Scripts/webkitpy/common/system/user.py: Copied from Scripts/webkitpy/user.py.
- * Scripts/webkitpy/common/system/user_unittest.py: Copied from Scripts/webkitpy/user_unittest.py.
- * Scripts/webkitpy/tool/commands/upload.py:
- * Scripts/webkitpy/tool/main.py:
- * Scripts/webkitpy/unittests.py:
- * Scripts/webkitpy/user.py: Removed.
- * Scripts/webkitpy/user_unittest.py: Removed.
-
-2010-03-25 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Move executive.py to webkitpy.common.system.
- https://bugs.webkit.org/show_bug.cgi?id=36093
-
- * Scripts/webkitpy/common/checkout/scm.py:
- * Scripts/webkitpy/common/checkout/scm_unittest.py:
- * Scripts/webkitpy/common/config/ports.py:
- * Scripts/webkitpy/common/config/ports_unittest.py:
- * Scripts/webkitpy/common/net/credentials.py:
- * Scripts/webkitpy/common/net/credentials_unittest.py:
- * Scripts/webkitpy/common/system/executive.py: Copied from Scripts/webkitpy/executive.py.
- * Scripts/webkitpy/common/system/executive_unittest.py: Copied from Scripts/webkitpy/executive_unittest.py.
- * Scripts/webkitpy/executive.py: Removed.
- * Scripts/webkitpy/executive_unittest.py: Removed.
- * Scripts/webkitpy/layout_tests/port/mac.py:
- * Scripts/webkitpy/tool/bot/queueengine.py:
- * Scripts/webkitpy/tool/bot/queueengine_unittest.py:
- * Scripts/webkitpy/tool/commands/download.py:
- * Scripts/webkitpy/tool/commands/early_warning_system.py:
- * Scripts/webkitpy/tool/commands/queues.py:
- * Scripts/webkitpy/tool/commands/stepsequence.py:
- * Scripts/webkitpy/tool/main.py:
- * Scripts/webkitpy/tool/steps/checkstyle.py:
- * Scripts/webkitpy/tool/steps/preparechangelog.py:
- * Scripts/webkitpy/unittests.py:
- * Scripts/webkitpy/webkit_logging_unittest.py:
-
-2010-03-25 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Move grammary.py into webkitpy.tool.
- https://bugs.webkit.org/show_bug.cgi?id=36093
-
- * Scripts/webkitpy/grammar.py: Removed.
- * Scripts/webkitpy/grammar_unittest.py: Removed.
- * Scripts/webkitpy/tool/commands/download.py:
- * Scripts/webkitpy/tool/commands/queries.py:
- * Scripts/webkitpy/tool/commands/queues.py:
- * Scripts/webkitpy/tool/commands/upload.py:
- * Scripts/webkitpy/tool/grammar.py: Copied from Scripts/webkitpy/grammar.py.
- * Scripts/webkitpy/tool/grammar_unittest.py: Copied from Scripts/webkitpy/grammar_unittest.py.
- * Scripts/webkitpy/tool/multicommandtool.py:
- * Scripts/webkitpy/tool/steps/obsoletepatches.py:
- * Scripts/webkitpy/tool/steps/updatechangelogswithreviewer.py:
- * Scripts/webkitpy/unittests.py:
-
-2010-03-25 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Adam Barth.
-
- In webkitpy, moved init/ to common/system/.
-
- https://bugs.webkit.org/show_bug.cgi?id=36093
-
- This is part of the master bug to reorganize webkitpy.
-
- * Scripts/webkitpy/common/system: Copied from WebKitTools/Scripts/webkitpy/init.
- * Scripts/webkitpy/common/system/logutils.py:
- * Scripts/webkitpy/common/system/logutils_unittest.py:
- * Scripts/webkitpy/init: Removed.
- * Scripts/webkitpy/init/__init__.py: Removed.
- * Scripts/webkitpy/init/logtesting.py: Removed.
- * Scripts/webkitpy/init/logutils.py: Removed.
- * Scripts/webkitpy/init/logutils_unittest.py: Removed.
- * Scripts/webkitpy/init/unittests.py: Removed.
- * Scripts/webkitpy/python24/versioning_unittest.py:
- * Scripts/webkitpy/style_references.py:
- * Scripts/webkitpy/unittests.py:
-
-2010-03-25 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Move stepsequence to webkitpy.tool.commands.
- https://bugs.webkit.org/show_bug.cgi?id=36093
-
- * Scripts/webkitpy/stepsequence.py: Removed.
- * Scripts/webkitpy/tool/commands/abstractsequencedcommand.py:
- * Scripts/webkitpy/tool/commands/download.py:
- * Scripts/webkitpy/tool/commands/queues.py:
- * Scripts/webkitpy/tool/commands/stepsequence.py: Copied from Scripts/webkitpy/stepsequence.py.
-
-2010-03-25 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Create webkitpy.common.checkout as described in
- https://bugs.webkit.org/show_bug.cgi?id=36093
-
- * Scripts/webkitpy/changelogs.py: Removed.
- * Scripts/webkitpy/changelogs_unittest.py: Removed.
- * Scripts/webkitpy/commitinfo.py: Removed.
- * Scripts/webkitpy/commitinfo_unittest.py: Removed.
- * Scripts/webkitpy/common/checkout: Added.
- * Scripts/webkitpy/common/checkout/__init__.py: Copied from Scripts/webkitpy/common/__init__.py.
- * Scripts/webkitpy/common/checkout/changelog.py: Copied from Scripts/webkitpy/changelogs.py.
- * Scripts/webkitpy/common/checkout/changelog_unittest.py: Copied from Scripts/webkitpy/changelogs_unittest.py.
- * Scripts/webkitpy/common/checkout/commitinfo.py: Copied from Scripts/webkitpy/commitinfo.py.
- * Scripts/webkitpy/common/checkout/commitinfo_unittest.py: Copied from Scripts/webkitpy/commitinfo_unittest.py.
- * Scripts/webkitpy/common/checkout/diff_parser.py: Copied from Scripts/webkitpy/diff_parser.py.
- * Scripts/webkitpy/common/checkout/diff_parser_unittest.py: Copied from Scripts/webkitpy/diff_parser_unittest.py.
- * Scripts/webkitpy/common/checkout/scm.py: Copied from Scripts/webkitpy/scm.py.
- * Scripts/webkitpy/common/checkout/scm_unittest.py: Copied from Scripts/webkitpy/scm_unittest.py.
- * Scripts/webkitpy/common/net/credentials.py:
- * Scripts/webkitpy/diff_parser.py: Removed.
- * Scripts/webkitpy/diff_parser_unittest.py: Removed.
- * Scripts/webkitpy/layout_tests/port/base.py:
- * Scripts/webkitpy/scm.py: Removed.
- * Scripts/webkitpy/scm_unittest.py: Removed.
- * Scripts/webkitpy/stepsequence.py:
- * Scripts/webkitpy/style_references.py:
- * Scripts/webkitpy/tool/commands/download.py:
- * Scripts/webkitpy/tool/commands/queries.py:
- * Scripts/webkitpy/tool/comments.py:
- * Scripts/webkitpy/tool/main.py:
- * Scripts/webkitpy/tool/mocktool.py:
- * Scripts/webkitpy/tool/steps/preparechangelogforrevert.py:
- * Scripts/webkitpy/tool/steps/updatechangelogswithreviewer.py:
- * Scripts/webkitpy/tool/steps/validatereviewer.py:
- * Scripts/webkitpy/unittests.py:
- * Scripts/webkitpy/webkitcheckout.py:
-
-2010-03-25 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Adam Barth.
-
- In webkitpy, moved init/versioning.py to python24/.
-
- https://bugs.webkit.org/show_bug.cgi?id=36093
-
- This is part of the master bug to reorganize webkitpy.
-
- * Scripts/test-webkitpy:
- * Scripts/webkit-patch:
- * Scripts/webkitpy/init/unittests.py:
- * Scripts/webkitpy/init/versioning.py: Removed.
- * Scripts/webkitpy/init/versioning_unittest.py: Removed.
- * Scripts/webkitpy/python24: Added.
- * Scripts/webkitpy/python24/__init__.py: Copied from WebKitTools/Scripts/webkitpy/tool/__init__.py.
- * Scripts/webkitpy/python24/versioning.py: Copied from WebKitTools/Scripts/webkitpy/init/versioning.py.
- * Scripts/webkitpy/python24/versioning_unittest.py: Copied from WebKitTools/Scripts/webkitpy/init/versioning_unittest.py.
- * Scripts/webkitpy/unittests.py:
-
-2010-03-25 Adam Barth <abarth@webkit.org>
-
- Unreviewed.
-
- Create webkitpy.common.net as described in
- https://bugs.webkit.org/show_bug.cgi?id=36093
-
- * Scripts/webkitpy/bugzilla.py: Removed.
- * Scripts/webkitpy/bugzilla_unittest.py: Removed.
- * Scripts/webkitpy/buildbot.py: Removed.
- * Scripts/webkitpy/buildbot_unittest.py: Removed.
- * Scripts/webkitpy/commitinfo.py:
- * Scripts/webkitpy/common/net: Added.
- * Scripts/webkitpy/common/net/__init__.py: Added.
- * Scripts/webkitpy/common/net/bugzilla.py: Copied from Scripts/webkitpy/bugzilla.py.
- * Scripts/webkitpy/common/net/bugzilla_unittest.py: Copied from Scripts/webkitpy/bugzilla_unittest.py.
- * Scripts/webkitpy/common/net/buildbot.py: Copied from Scripts/webkitpy/buildbot.py.
- * Scripts/webkitpy/common/net/buildbot_unittest.py: Copied from Scripts/webkitpy/buildbot_unittest.py.
- * Scripts/webkitpy/common/net/credentials.py: Copied from Scripts/webkitpy/credentials.py.
- * Scripts/webkitpy/common/net/credentials_unittest.py: Copied from Scripts/webkitpy/credentials_unittest.py.
- * Scripts/webkitpy/common/net/irc: Copied from Scripts/webkitpy/irc.
- * Scripts/webkitpy/common/net/irc/ircbot.py:
- * Scripts/webkitpy/common/net/irc/ircproxy.py:
- * Scripts/webkitpy/common/net/irc/messagepump_unittest.py:
- * Scripts/webkitpy/common/net/irc/threadedmessagequeue_unittest.py:
- * Scripts/webkitpy/common/net/irc/unittests.py:
- * Scripts/webkitpy/common/net/networktransaction.py: Copied from Scripts/webkitpy/networktransaction.py.
- * Scripts/webkitpy/common/net/networktransaction_unittest.py: Copied from Scripts/webkitpy/networktransaction_unittest.py.
- * Scripts/webkitpy/common/net/statusserver.py: Copied from Scripts/webkitpy/statusserver.py.
- * Scripts/webkitpy/credentials.py: Removed.
- * Scripts/webkitpy/credentials_unittest.py: Removed.
- * Scripts/webkitpy/irc: Removed.
- * Scripts/webkitpy/irc/__init__.py: Removed.
- * Scripts/webkitpy/irc/ircbot.py: Removed.
- * Scripts/webkitpy/irc/ircproxy.py: Removed.
- * Scripts/webkitpy/irc/messagepump.py: Removed.
- * Scripts/webkitpy/irc/messagepump_unittest.py: Removed.
- * Scripts/webkitpy/irc/threadedmessagequeue.py: Removed.
- * Scripts/webkitpy/irc/threadedmessagequeue_unittest.py: Removed.
- * Scripts/webkitpy/irc/unittests.py: Removed.
- * Scripts/webkitpy/networktransaction.py: Removed.
- * Scripts/webkitpy/networktransaction_unittest.py: Removed.
- * Scripts/webkitpy/scm_unittest.py:
- * Scripts/webkitpy/statusserver.py: Removed.
- * Scripts/webkitpy/tool/bot/queueengine.py:
- * Scripts/webkitpy/tool/commands/download.py:
- * Scripts/webkitpy/tool/commands/queries.py:
- * Scripts/webkitpy/tool/commands/queries_unittest.py:
- * Scripts/webkitpy/tool/commands/queues.py:
- * Scripts/webkitpy/tool/commands/queues_unittest.py:
- * Scripts/webkitpy/tool/commands/queuestest.py:
- * Scripts/webkitpy/tool/commands/upload.py:
- * Scripts/webkitpy/tool/main.py:
- * Scripts/webkitpy/tool/mocktool.py:
- * Scripts/webkitpy/tool/steps/postdiffforrevert.py:
- * Scripts/webkitpy/unittests.py:
-
-2010-03-25 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Adam Barth.
-
- In webkitpy, renamed MockBugzillaTool to MockTool.
-
- * Scripts/webkitpy/tool/commands/commandtest.py:
- * Scripts/webkitpy/tool/commands/queries_unittest.py:
- * Scripts/webkitpy/tool/commands/queues_unittest.py:
- * Scripts/webkitpy/tool/commands/queuestest.py:
- * Scripts/webkitpy/tool/commands/sheriffbot_unittest.py:
- * Scripts/webkitpy/tool/commands/upload_unittest.py:
+ * Scripts/webkitpy/common/system/user.py:
* Scripts/webkitpy/tool/mocktool.py:
- * Scripts/webkitpy/tool/steps/closebugforlanddiff_unittest.py:
- * Scripts/webkitpy/tool/steps/steps_unittest.py:
- * Scripts/webkitpy/tool/steps/updatechangelogswithreview_unittests.py:
-
-2010-03-25 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Adam Barth.
-
- In Scripts/webkitpy, moved webkitport.py and committers.py into
- common/config/ (also creating common/config/).
-
- https://bugs.webkit.org/show_bug.cgi?id=36093
-
- This is part of the master bug to reorganize webkitpy.
-
- * Scripts/validate-committer-lists:
- * Scripts/webkitpy/bugzilla.py:
- * Scripts/webkitpy/bugzilla_unittest.py:
- * Scripts/webkitpy/changelogs.py:
- * Scripts/webkitpy/commitinfo.py:
- * Scripts/webkitpy/commitinfo_unittest.py:
- * Scripts/webkitpy/committers.py: Removed.
- * Scripts/webkitpy/committers_unittest.py: Removed.
- * Scripts/webkitpy/common: Added.
- * Scripts/webkitpy/common/__init__.py: Copied from WebKitTools/Scripts/webkitpy/style/__init__.py.
- * Scripts/webkitpy/common/config: Added.
- * Scripts/webkitpy/common/config/__init__.py: Copied from WebKitTools/Scripts/webkitpy/style/__init__.py.
- * Scripts/webkitpy/common/config/committers.py: Copied from WebKitTools/Scripts/webkitpy/committers.py.
- * Scripts/webkitpy/common/config/committers_unittest.py: Copied from WebKitTools/Scripts/webkitpy/committers_unittest.py.
- * Scripts/webkitpy/common/config/ports.py: Copied from WebKitTools/Scripts/webkitpy/webkitport.py.
- * Scripts/webkitpy/common/config/ports_unittest.py: Copied from WebKitTools/Scripts/webkitpy/webkitport_unittest.py.
- * Scripts/webkitpy/mock_bugzillatool.py:
- * Scripts/webkitpy/tool/commands/early_warning_system.py:
- * Scripts/webkitpy/tool/commands/queries.py:
- * Scripts/webkitpy/tool/commands/sheriffbot.py:
- * Scripts/webkitpy/tool/commands/upload.py:
- * Scripts/webkitpy/tool/steps/abstractstep.py:
- * Scripts/webkitpy/unittests.py:
- * Scripts/webkitpy/webkitport.py: Removed.
- * Scripts/webkitpy/webkitport_unittest.py: Removed.
-
-2010-03-25 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Move mock_bugzillatool.py to tool/mocktool.py.
-
- * Scripts/webkitpy/mock_bugzillatool.py: Removed.
- * Scripts/webkitpy/tool/commands/commandtest.py:
- * Scripts/webkitpy/tool/commands/queries_unittest.py:
- * Scripts/webkitpy/tool/commands/queues_unittest.py:
- * Scripts/webkitpy/tool/commands/queuestest.py:
- * Scripts/webkitpy/tool/commands/sheriffbot_unittest.py:
- * Scripts/webkitpy/tool/commands/upload_unittest.py:
- * Scripts/webkitpy/tool/mocktool.py: Copied from Scripts/webkitpy/mock_bugzillatool.py.
- * Scripts/webkitpy/tool/steps/closebugforlanddiff_unittest.py:
- * Scripts/webkitpy/tool/steps/steps_unittest.py:
- * Scripts/webkitpy/tool/steps/updatechangelogswithreview_unittests.py:
-
-2010-03-24 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Move comments.py and multicommandtool.py to their new
- home.
-
- * Scripts/webkitpy/comments.py: Removed.
- * Scripts/webkitpy/multicommandtool.py: Removed.
- * Scripts/webkitpy/multicommandtool_unittest.py: Removed.
- * Scripts/webkitpy/tool/commands/abstractsequencedcommand.py:
- * Scripts/webkitpy/tool/commands/download.py:
- * Scripts/webkitpy/tool/commands/openbugs.py:
- * Scripts/webkitpy/tool/commands/queries.py:
- * Scripts/webkitpy/tool/commands/queues.py:
- * Scripts/webkitpy/tool/commands/upload.py:
- * Scripts/webkitpy/tool/comments.py: Copied from Scripts/webkitpy/comments.py.
- * Scripts/webkitpy/tool/main.py:
- * Scripts/webkitpy/tool/multicommandtool.py: Copied from Scripts/webkitpy/multicommandtool.py.
- * Scripts/webkitpy/tool/multicommandtool_unittest.py: Copied from Scripts/webkitpy/multicommandtool_unittest.py.
- * Scripts/webkitpy/tool/steps/closebugforlanddiff.py:
- * Scripts/webkitpy/tool/steps/closepatch.py:
- * Scripts/webkitpy/tool/steps/reopenbugafterrollout.py:
- * Scripts/webkitpy/unittests.py:
-
-2010-03-24 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Fixup one import statement I didn't find because the .pyc
- masked the error.
-
- * Scripts/webkitpy/stepsequence.py:
-
-2010-03-24 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Move queueengine.py to its new home.
-
- * Scripts/webkitpy/queueengine.py: Removed.
- * Scripts/webkitpy/queueengine_unittest.py: Removed.
- * Scripts/webkitpy/tool/bot/queueengine.py: Copied from Scripts/webkitpy/queueengine.py.
- * Scripts/webkitpy/tool/bot/queueengine_unittest.py: Copied from Scripts/webkitpy/queueengine_unittest.py.
- * Scripts/webkitpy/tool/commands/early_warning_system.py:
- * Scripts/webkitpy/tool/commands/queues.py:
- * Scripts/webkitpy/unittests.py:
-
-2010-03-24 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Move patchcollection.py to its new home.
-
- * Scripts/webkitpy/patchcollection.py: Removed.
- * Scripts/webkitpy/patchcollection_unittest.py: Removed.
- * Scripts/webkitpy/tool/bot: Added.
- * Scripts/webkitpy/tool/bot/__init__.py: Added.
- * Scripts/webkitpy/tool/bot/patchcollection.py: Copied from WebKitTools/Scripts/webkitpy/patchcollection.py.
- * Scripts/webkitpy/tool/bot/patchcollection_unittest.py: Copied from WebKitTools/Scripts/webkitpy/patchcollection_unittest.py.
- * Scripts/webkitpy/tool/commands/queues.py:
- * Scripts/webkitpy/unittests.py:
-
-2010-03-24 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Adam Barth.
-
- In Scripts/webkitpy, moved steps_references.py and the steps
- folder into webkitpy/patch.
-
- https://bugs.webkit.org/show_bug.cgi?id=36093
-
- * Scripts/webkitpy/steps: Removed.
- * Scripts/webkitpy/steps/__init__.py: Removed.
- * Scripts/webkitpy/steps/abstractstep.py: Removed.
- * Scripts/webkitpy/steps/applypatch.py: Removed.
- * Scripts/webkitpy/steps/applypatchwithlocalcommit.py: Removed.
- * Scripts/webkitpy/steps/build.py: Removed.
- * Scripts/webkitpy/steps/checkstyle.py: Removed.
- * Scripts/webkitpy/steps/cleanworkingdirectory.py: Removed.
- * Scripts/webkitpy/steps/cleanworkingdirectorywithlocalcommits.py: Removed.
- * Scripts/webkitpy/steps/closebug.py: Removed.
- * Scripts/webkitpy/steps/closebugforlanddiff.py: Removed.
- * Scripts/webkitpy/steps/closebugforlanddiff_unittest.py: Removed.
- * Scripts/webkitpy/steps/closepatch.py: Removed.
- * Scripts/webkitpy/steps/commit.py: Removed.
- * Scripts/webkitpy/steps/confirmdiff.py: Removed.
- * Scripts/webkitpy/steps/createbug.py: Removed.
- * Scripts/webkitpy/steps/editchangelog.py: Removed.
- * Scripts/webkitpy/steps/ensurebuildersaregreen.py: Removed.
- * Scripts/webkitpy/steps/ensurelocalcommitifneeded.py: Removed.
- * Scripts/webkitpy/steps/metastep.py: Removed.
- * Scripts/webkitpy/steps/obsoletepatches.py: Removed.
- * Scripts/webkitpy/steps/options.py: Removed.
- * Scripts/webkitpy/steps/postdiff.py: Removed.
- * Scripts/webkitpy/steps/postdiffforcommit.py: Removed.
- * Scripts/webkitpy/steps/postdiffforrevert.py: Removed.
- * Scripts/webkitpy/steps/preparechangelog.py: Removed.
- * Scripts/webkitpy/steps/preparechangelogforrevert.py: Removed.
- * Scripts/webkitpy/steps/promptforbugortitle.py: Removed.
- * Scripts/webkitpy/steps/reopenbugafterrollout.py: Removed.
- * Scripts/webkitpy/steps/revertrevision.py: Removed.
- * Scripts/webkitpy/steps/runtests.py: Removed.
- * Scripts/webkitpy/steps/steps_unittest.py: Removed.
- * Scripts/webkitpy/steps/update.py: Removed.
- * Scripts/webkitpy/steps/updatechangelogswithreview_unittests.py: Removed.
- * Scripts/webkitpy/steps/updatechangelogswithreviewer.py: Removed.
- * Scripts/webkitpy/steps/validatereviewer.py: Removed.
- * Scripts/webkitpy/steps_references.py: Removed.
- * Scripts/webkitpy/stepsequence.py:
- * Scripts/webkitpy/tool/commands/download.py:
- * Scripts/webkitpy/tool/commands/upload.py:
- * Scripts/webkitpy/tool/steps: Copied from WebKitTools/Scripts/webkitpy/steps.
- * Scripts/webkitpy/tool/steps/__init__.py:
- * Scripts/webkitpy/tool/steps/applypatch.py:
- * Scripts/webkitpy/tool/steps/applypatchwithlocalcommit.py:
- * Scripts/webkitpy/tool/steps/build.py:
- * Scripts/webkitpy/tool/steps/checkstyle.py:
- * Scripts/webkitpy/tool/steps/cleanworkingdirectory.py:
- * Scripts/webkitpy/tool/steps/cleanworkingdirectorywithlocalcommits.py:
- * Scripts/webkitpy/tool/steps/closebug.py:
- * Scripts/webkitpy/tool/steps/closebugforlanddiff.py:
- * Scripts/webkitpy/tool/steps/closebugforlanddiff_unittest.py:
- * Scripts/webkitpy/tool/steps/closepatch.py:
- * Scripts/webkitpy/tool/steps/commit.py:
- * Scripts/webkitpy/tool/steps/confirmdiff.py:
- * Scripts/webkitpy/tool/steps/createbug.py:
* Scripts/webkitpy/tool/steps/editchangelog.py:
- * Scripts/webkitpy/tool/steps/ensurebuildersaregreen.py:
- * Scripts/webkitpy/tool/steps/ensurelocalcommitifneeded.py:
- * Scripts/webkitpy/tool/steps/metastep.py:
- * Scripts/webkitpy/tool/steps/obsoletepatches.py:
- * Scripts/webkitpy/tool/steps/postdiff.py:
- * Scripts/webkitpy/tool/steps/postdiffforcommit.py:
- * Scripts/webkitpy/tool/steps/postdiffforrevert.py:
- * Scripts/webkitpy/tool/steps/preparechangelog.py:
- * Scripts/webkitpy/tool/steps/preparechangelogforrevert.py:
- * Scripts/webkitpy/tool/steps/promptforbugortitle.py:
- * Scripts/webkitpy/tool/steps/reopenbugafterrollout.py:
- * Scripts/webkitpy/tool/steps/revertrevision.py:
- * Scripts/webkitpy/tool/steps/runtests.py:
- * Scripts/webkitpy/tool/steps/steps_unittest.py:
- * Scripts/webkitpy/tool/steps/update.py:
- * Scripts/webkitpy/tool/steps/updatechangelogswithreview_unittests.py:
- * Scripts/webkitpy/tool/steps/updatechangelogswithreviewer.py:
- * Scripts/webkitpy/tool/steps/validatereviewer.py:
- * Scripts/webkitpy/tool/steps_references.py: Copied from WebKitTools/Scripts/webkitpy/steps_references.py.
- * Scripts/webkitpy/unittests.py:
-
-2010-03-24 Eric Seidel <eric@webkit.org>
-
- Unreviewed, build fix only.
-
- Abstract LayoutTestResults logic for easier reuse
- https://bugs.webkit.org/show_bug.cgi?id=36579
-
- * Scripts/webkitpy/buildbot_unittest.py: Add a missing import.
-
-2010-03-24 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Fix a stray comma to test landing an patch without review.
-
- * Scripts/webkitpy/commitinfo.py:
-
-2010-03-24 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Adam Barth.
-
- In Scripts/webkitpy, moved commands_references.py and the commands
- folder into webkitpy/patch.
-
- https://bugs.webkit.org/show_bug.cgi?id=36483
-
- This is part of master bug 36093 to organize webkitpy.
-
- * Scripts/webkitpy/commands: Removed.
- * Scripts/webkitpy/commands/__init__.py: Removed.
- * Scripts/webkitpy/commands/abstractsequencedcommand.py: Removed.
- * Scripts/webkitpy/commands/commandtest.py: Removed.
- * Scripts/webkitpy/commands/download.py: Removed.
- * Scripts/webkitpy/commands/download_unittest.py: Removed.
- * Scripts/webkitpy/commands/early_warning_system.py: Removed.
- * Scripts/webkitpy/commands/early_warning_system_unittest.py: Removed.
- * Scripts/webkitpy/commands/openbugs.py: Removed.
- * Scripts/webkitpy/commands/openbugs_unittest.py: Removed.
- * Scripts/webkitpy/commands/queries.py: Removed.
- * Scripts/webkitpy/commands/queries_unittest.py: Removed.
- * Scripts/webkitpy/commands/queues.py: Removed.
- * Scripts/webkitpy/commands/queues_unittest.py: Removed.
- * Scripts/webkitpy/commands/queuestest.py: Removed.
- * Scripts/webkitpy/commands/sheriffbot.py: Removed.
- * Scripts/webkitpy/commands/sheriffbot_unittest.py: Removed.
- * Scripts/webkitpy/commands/upload.py: Removed.
- * Scripts/webkitpy/commands/upload_unittest.py: Removed.
- * Scripts/webkitpy/commands_references.py: Removed.
- * Scripts/webkitpy/tool/commands: Copied from WebKitTools/Scripts/webkitpy/commands.
- * Scripts/webkitpy/tool/commands/commandtest.py:
- * Scripts/webkitpy/tool/commands/download.py:
- * Scripts/webkitpy/tool/commands/download_unittest.py:
- * Scripts/webkitpy/tool/commands/early_warning_system.py:
- * Scripts/webkitpy/tool/commands/early_warning_system_unittest.py:
- * Scripts/webkitpy/tool/commands/openbugs_unittest.py:
- * Scripts/webkitpy/tool/commands/queries_unittest.py:
- * Scripts/webkitpy/tool/commands/queues_unittest.py:
- * Scripts/webkitpy/tool/commands/queuestest.py:
- * Scripts/webkitpy/tool/commands/sheriffbot.py:
- * Scripts/webkitpy/tool/commands/sheriffbot_unittest.py:
- * Scripts/webkitpy/tool/commands/upload.py:
- * Scripts/webkitpy/tool/commands/upload_unittest.py:
- * Scripts/webkitpy/tool/commands_references.py: Copied from WebKitTools/Scripts/webkitpy/commands_references.py.
- * Scripts/webkitpy/tool/main.py:
- * Scripts/webkitpy/unittests.py:
-
-2010-03-24 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Rename webkitpy.patch to webkitpy.tool
- https://bugs.webkit.org/show_bug.cgi?id=36580
-
- This is in preparation for the great webkitpy naming cleanup.
-
- * Scripts/webkit-patch:
- * Scripts/webkitpy/patch: Removed.
- * Scripts/webkitpy/patch/__init__.py: Removed.
- * Scripts/webkitpy/patch/patcher.py: Removed.
- * Scripts/webkitpy/tool: Copied from WebKitTools/Scripts/webkitpy/patch.
- * Scripts/webkitpy/tool/main.py: Copied from WebKitTools/Scripts/webkitpy/patch/patcher.py.
- * Scripts/webkitpy/tool/patcher.py: Removed.
-
-2010-03-24 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Abstract LayoutTestResults logic for easier reuse
- https://bugs.webkit.org/show_bug.cgi?id=36579
-
- * Scripts/webkitpy/buildbot.py:
- - Split out logic into new LayoutTestResults class.
- * Scripts/webkitpy/buildbot_unittest.py:
- - Rename the testing class to match.
- * Scripts/webkitpy/commands/queries.py:
- - Use the new LayoutTestResults class.
-
-2010-03-24 Eric Seidel <eric@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Move Bugzilla.prompt_for_component to User.prompt_with_list for re-use
- https://bugs.webkit.org/show_bug.cgi?id=36577
-
- * Scripts/webkitpy/bugzilla.py:
- - Move prompt_for_component to User
- * Scripts/webkitpy/commands/queries.py:
- - Add a missing argument_names declaration.
- * Scripts/webkitpy/user.py:
- - Add prompt_with_list
- - Make staticmethods classmethods for easier mocking
-
-2010-03-24 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/36572> commit-log-editor: thinks mergeChangeLogs.pl is a ChangeLog file
-
- Reviewed by Eric Seidel.
-
- Fixes the following error when committing a file with
- "ChangeLog" in the name that isn't a ChangeLog (like
- mergeChangeLogs.pl from r56471 and r56472):
-
- $ git commit .
- Can't open WebKitTools/Scripts/webkitperl/VCSUtils_unittest/mergeChangeLog at commit-log-editor line 132.
- error: There was a problem with the editor 'commit-log-editor'.
- Please supply the message using either -m or -F option.
-
- * Scripts/commit-log-editor: Added '$' to anchor "ChangeLog" to
- the end of the file name when searching for ChangeLog files in a
- commit.
-
-2010-03-24 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/36570> resolve-ChangeLogs: fall back to git-merge-file if ChangeLog can't be merged
-
- Reviewed by Eric Seidel.
-
- * Scripts/resolve-ChangeLogs: Switched to exec git-merge-file if
- the merge attempt fails.
-
-2010-03-24 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- webkit-patch or pre-commit hook should validate reviewer lines before committing
- https://bugs.webkit.org/show_bug.cgi?id=26927
-
- Validate that patches have valid reivewers listed in their ChangeLogs
- before landing. For patches without reviewers can be landed if their
- ChangeLogs state that they are unreviewed.
-
- * Scripts/webkitpy/changelogs.py:
- * Scripts/webkitpy/commands/download.py:
- * Scripts/webkitpy/commitinfo.py:
- * Scripts/webkitpy/commitinfo_unittest.py:
- * Scripts/webkitpy/mock_bugzillatool.py:
- * Scripts/webkitpy/steps/__init__.py:
- * Scripts/webkitpy/steps/validatereviewer.py: Added.
-
-2010-03-19 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by David Levin.
-
- Undefined names reported by pyflakes in python scripts
- https://bugs.webkit.org/show_bug.cgi?id=36403
-
- Attempt to use names that exist or can exist in the lexical
- scope instead of not being available at all.
-
- * Scripts/webkitpy/changelogs.py: Use self._content.
- * Scripts/webkitpy/layout_tests/port/base.py: Use os.stat
- * Scripts/webkitpy/layout_tests/test_types/fuzzy_image_diff.py: Use self._port
- * Scripts/webkitpy/style/processors/cpp_unittest.py: Use expected_message_re
-
-2010-03-24 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/36560> resolve-ChangeLogs: git-rebase fails when resolve-ChangeLogs can't merge
-
- Reviewed by Eric Seidel.
-
- When resolve-ChangeLogs fails to merge a patch while running as
- a git merge driver, it deletes the original file, which causes
- an internal failure and stops git mid-merge:
-
- fatal: Failed to execute internal merge
-
- The fix is to use the --force switch with patch so that it will
- always attempt to apply the patch. (The change in
- mergeChangeLogs() for the previous commit also fixed this, but
- adding --force also prevents any potential user interaction that
- patch may want to display.)
-
- * Scripts/VCSUtils.pm:
- (mergeChangeLogs): Added --force switch to patch command. Also
- changed to use the exit status from the patch command to
- determine the return value for this method.
- * Scripts/webkitperl/VCSUtils_unittest/mergeChangeLogs.pl: Added
- test to cover this bug.
-
-2010-03-24 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/36560> resolve-ChangeLogs: move mergeChanges() into VCSUtils package
-
- Reviewed by Eric Seidel.
-
- * Scripts/VCSUtils.pm:
- (mergeChangeLogs): Copied from mergeChanges() in
- resolve-ChangeLogs and renamed. Added method documentation.
- Fixed bug found by new tests where the original file to be
- patched was deleted when cleaning up after a traditinal rejected
- patch failed to apply.
- * Scripts/resolve-ChangeLogs: Switched to using
- mergeChangeLogs().
- (mergeChanges): Moved to VCSUtils.pm and renamed to
- mergeChangeLogs().
- * Scripts/webkitperl/VCSUtils_unittest/mergeChangeLogs.pl: Added.
-
-2010-03-24 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Add support for qt's unassigned list to webkit-patch assign-to-committer
- https://bugs.webkit.org/show_bug.cgi?id=36559
-
- * Scripts/webkitpy/bugzilla.py:
- - Move Bugzilla.unassigned_email into Bug and make it a set.
- * Scripts/webkitpy/bugzilla_unittest.py:
- - Test the new Bug.is_unassigned method
- * Scripts/webkitpy/commands/upload.py:
- - Use the new Bug.is_unassigned method instead of an explicit ==
- * Scripts/webkitpy/mock_bugzillatool.py:
- - Bugzilla.unassigned_email no longer needs mocking
-
-2010-03-24 Kent Hansen <kent.hansen@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Rename QWebSettings::XSSAuditorEnabled to XSSAuditingEnabled
- https://bugs.webkit.org/show_bug.cgi?id=36522
-
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::setXSSAuditorEnabled): Use the new name.
-
-2010-03-24 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Shinichiro Hamaji.
-
- Added to check-webkit-style support for a --debug flag.
-
- https://bugs.webkit.org/show_bug.cgi?id=36100
-
- The --debug flag adjusts the logging level to DEBUG and
- includes the logger name and level in each log message.
-
- * Scripts/check-webkit-style:
- - Changed the code to check for the --debug flag and pass
- the result to the configure_logging() method.
- * Scripts/webkitpy/style/checker.py:
- - Added an is_debug parameter to configure_logging().
- - Refactored configure_logging() by adding calls to
- the following two methods: _create_log_handlers() and
- _create_debug_log_handlers().
- * Scripts/webkitpy/style/checker_unittest.py:
- - Added unit tests for configure_logging() with is_debug True
- by splitting the ConfigureLoggingTest class into
- ConfigureLoggingTest and ConfigureLoggingTestBase, and
- adding ConfigureLoggingDebugTest.
- * Scripts/webkitpy/style/optparser.py:
- - Updated the usage string.
- - Added an is_debug data attribute to the CommandOptionValues
- class.
- - Added support for the --debug flag to the ArgumentParser.parse()
- method.
- - Also added extra error information to the parse() method in
- the case of an invalid flag.
- * Scripts/webkitpy/style/optparser_unittest.py:
- - Updated the unit tests as necessary.
- - Also fixed an issue with the CommandOptionValuesTest.test_eq()
- unit test.
-
-2010-03-23 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [DRT/Chromium] Add TestNavigationController and TestWebWorker
- https://bugs.webkit.org/show_bug.cgi?id=36489
-
- Add TestNavigationController and TestWebWorker classes, which are
- going to be used by DumpRenderTree Chromium port. These files are
- based on:
- - src/webkit/tools/test_shell/test_navigation_controller.{cc,h}
- - src/webkit/tools/test_shell/test_web_worker.h
- of Chromium rev.40492.
-
- TestNavigationController has non-style changes.
- - Change ContentState type: binary string -> WebHistoryItem
- - Remove TestShell dependency by introducing NavigationHost interface.
-
- * DumpRenderTree/chromium/TestNavigationController.cpp: Added.
- * DumpRenderTree/chromium/TestNavigationController.h: Added.
- * DumpRenderTree/chromium/TestWebWorker.h: Added.
-
-2010-03-23 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Add support for revision -> build lookup in buildbot.py and layout test result parsing
- https://bugs.webkit.org/show_bug.cgi?id=36474
-
- * Scripts/webkitpy/bugzilla_unittest.py: Added a FIXME about sharing code.
- * Scripts/webkitpy/buildbot.py:
- - Add support for looking up builds by revision number.
- - Add support for fetching and parsing results.html files from buildbot.
- - build_for_revision has an allow_failed_lookups option to work around the fact that
- our buildbot's xmlrpc calls return failure on old revision numbers.
- - Add parsing support for twisted directory listings.
- * Scripts/webkitpy/buildbot_unittest.py:
- - Unit test all the new code.
- * Scripts/webkitpy/commands/queries.py:
- - Add a new results-for command which prints all the results for a given revision (very slow due to slow revision lookup)
-
-2010-03-23 Daniel Bates <dbates@rim.com>
-
- Reviewed by Adam Roben.
-
- https://bugs.webkit.org/show_bug.cgi?id=36048
-
- Detect if the Windows Platform SDK is missing when building with
- Visual C++ Express Edition and inform the user to download it.
-
- * Scripts/webkitdirs.pm:
-
-2010-03-23 Darin Adler <darin@apple.com>
-
- Tell Subversion about more directories that expect to have .pyc files.
-
- * Scripts/webkitpy: Modified property svn:ignore.
- * Scripts/webkitpy/irc: Added property svn:ignore.
-
-2010-03-23 Daniel Bates <dbates@rim.com>
-
- Reviewed by Adam Barth.
-
- https://bugs.webkit.org/show_bug.cgi?id=36149
-
- Import the GNU readline interface to modify the behavior
- of raw_input so as to provide line editing support. In
- particular this will prevent "delete" characters from
- appearing in the returned value for function raw_input.
-
- * Scripts/webkitpy/user.py:
-
-2010-03-23 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Remove support for Qt v4.4
- https://bugs.webkit.org/show_bug.cgi?id=36389
-
- * DumpRenderTree/qt/main.cpp:
- (main):
- * QtLauncher/mainwindow.cpp:
- (MainWindow::MainWindow):
-
-2010-03-22 Csaba Osztrogonác <ossy@webkit.org>
-
- Reviewed by Adam Barth.
-
- Make build_webkit_command() pass MAKEFLAGS environment variable to make.
- https://bugs.webkit.org/show_bug.cgi?id=36440
-
- * Scripts/webkitpy/webkitport.py:
- * Scripts/webkitpy/webkitport_unittest.py:
-
-2010-03-22 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Change baseline_path() to point to the upstream locations for the
- Chromium ports. Also change the reabselining scripts to use the
- correct functions to get the baseline directories, and fix the
- script's sys.path to pull in simplejson correctly.
-
- https://bugs.webkit.org/show_bug.cgi?id=36417
-
- * Scripts/rebaseline-chromium-webkit-tests:
- - fix sys.path to pick up simplejson properly
- * Scripts/webkitpy/layout_tests/port/chromium.py:
- - change baseline_path() to use webkit_baseline_path()
- - error out correctly if we can't find the chromium base dir
- * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
- - call baseline_path(), not chromium_baseline_path()
-
-2010-03-22 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Adam Barth.
-
- Refactored the cpu_count() code in executive.py.
-
- https://bugs.webkit.org/show_bug.cgi?id=36437
-
- * Scripts/webkitpy/executive.py:
- - Moved the import of the multiprocessing module to the top
- of the file rather than importing from within a function.
-
-2010-03-22 Antonio Gomes <tonikitoo@webkit.org>
-
- Unreviewed.
-
- Rolling out r56183: http://trac.webkit.org/changeset/56183
-
- https://bugs.webkit.org/show_bug.cgi?id=36244
-
- Need to roll out because this patch will be re-worked by the author
- and other reviewers agreed on it.
-
-2010-03-22 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Adam Barth.
-
- Created a function for getting a module-specific logging.logger
- based on the __file__ value of the module.
-
- https://bugs.webkit.org/show_bug.cgi?id=35821
-
- This function allows us to get the module-specific logger for
- a module without having to hard-code the fully-qualified name
- of the module in the module itself. The code can be the same
- in every case: "_log = logutils.get_logger(__file__)".
- * Scripts/webkitpy/init/logutils.py: Added.
- - Added a module with a get_logger() function to return
- a module-specific logger based on the module's __file__
- variable.
+2010-05-21 Dirk Pranke <dpranke@chromium.org>
- * Scripts/webkitpy/init/logutils_unittest.py: Added.
- - Added unit tests for logutils.py.
-
- * Scripts/webkitpy/init/unittests.py:
- - Added logutils_unittest to the list of imports.
-
-2010-03-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] REGRESSION (r56209): fast/media/print-restores-previous-mediatype.htm crashes
- https://bugs.webkit.org/show_bug.cgi?id=36386
-
- Fix the regression by implementing a null printer for Qt DRT.
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::NullPrinter::NullPaintEngine::begin):
- (WebCore::NullPrinter::NullPaintEngine::end):
- (WebCore::NullPrinter::NullPaintEngine::type):
- (WebCore::NullPrinter::NullPaintEngine::drawPixmap):
- (WebCore::NullPrinter::NullPaintEngine::updateState):
- (WebCore::NullPrinter::paintEngine):
- (WebCore::DumpRenderTree::dryRunPrint):
-
-2010-03-20 Martin Robinson <mrobinson@webkit.org>
-
- Reviewed by Xan Lopez.
-
- [GTK] eventSender.zoomPageOut() bug?
- https://bugs.webkit.org/show_bug.cgi?id=30575
-
- Make zoomPage{In/Out}Callback respect the 1.2f zoom factor that DRT should be using.
-
- * DumpRenderTree/gtk/EventSender.cpp:
- (zoomIn): Added.
- (zoomOut): Added.
- (textZoomInCallback): Use zoomIn helper function.
- (textZoomOutCallback): Use zoomOut helper function.
- (zoomPageInCallback): Use zoomIn helper function, which respects zoom factor.
- (zoomPageOutCallback): Use zoomOut helper function, which respects zoom factor.
-
-2010-03-20 Kevin Ollivier <kevino@theolliviers.com>
-
- [wx] Build fix after recent database API change.
-
- * wx/browser/browser.cpp:
- (MyApp::OnInit):
-
-2010-03-20 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Adam Barth.
-
- Renamed UnitTestLogStream to TestLogStream in webkitpy.
-
- https://bugs.webkit.org/show_bug.cgi?id=36099
-
- TestLogStream is more concise and more consistent with the name of
- the module (logtesting rather than logunittesting) and its main
- class (LogTesting rather than LogUnitTesting).
-
- * Scripts/webkitpy/init/logtesting.py:
- - Renamings.
-
- * Scripts/webkitpy/style/checker_unittest.py:
- - Renamings.
-
- * Scripts/webkitpy/style_references.py:
- - Renamings.
-
-2010-03-20 Kevin Ollivier <kevino@theolliviers.com>
-
- [wx] Build fixes for new method in LayoutTestController.
-
- * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
- (LayoutTestController::setSpatialNavigationEnabled):
- * wx/build/settings.py:
-
-2010-03-20 Dimitri Glazkov <dglazkov@chromium.org>
-
- Unreviewed, tool fix.
-
- Remove vestiges of downstream directory names to unbreak rebaselining tool.
-
- * Scripts/webkitpy/layout_tests/port/chromium.py: Changed paths to use WebKit repo.
-
-2010-03-20 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Re-enable the downstream test_expectations overrides file that was
- disabled in bug 36396 / r56287.
-
- https://bugs.chromium.org/show_bug.cgi?id=36401
-
- * Scripts/webkitpy/layout_tests/port/chromium.py:
-
-2010-03-19 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Disable the downstream override expectations temporarily to allow
- us to test that we've upstreamed everything correctly. Also, stop
- looking at the downstream baselines at all (now you will only be
- able to update baselines upstream). In theory this should work, but
- if we need to we can always add the downstream dirs back in.
-
- https://bugs.webkit.org/show_bug.cgi?id=36396
-
- * Scripts/webkitpy/layout_tests/port/chromium.py:
- * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
- * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
- * Scripts/webkitpy/layout_tests/port/chromium_win.py:
-
-2010-03-19 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- fix typo in chromium test expectations overrides routine
- https://bugs.webkit.org/show_bug.cgi?id=36397
-
- * Scripts/webkitpy/layout_tests/port/chromium.py:
-
-2010-03-19 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Flip the Chromium ports to look first for the test expectations
- in LayoutTests/platform/chromium and only afterwards look in the
- Chromium repo downstream for overrides.
-
- https://bugs.webkit.org/show_bug.cgi?id=36326
-
- * Scripts/webkitpy/layout_tests/port/chromium.py:
-
-2010-03-19 James Hawkins <jhawkins@chromium.org>
-
- Unreviewed.
-
- Add myself to the committers list.
-
- * Scripts/webkitpy/committers.py:
-
-2010-03-19 Adam Barth <abarth@webkit.org>
-
- Unreviewed.
-
- Fix SheriffBot exception lock when we can't retrieve the first build
- from buildbot. (I'll ask Eric to review this change after the fact,
- but he's at lunch and I want to get the bot unlocked.)
-
- * Scripts/webkitpy/buildbot.py:
- * Scripts/webkitpy/buildbot_unittest.py:
-
-2010-03-19 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=36380
- websocket/tests/frame-lengths.html times out on Tiger bot
-
- https://bugs.webkit.org/show_bug.cgi?id=35041
- websocket/tests/frame-lengths.html / websocket/tests/simple-stress.html fail on Windows bot
-
- Double the timeout (from 15 seconds to 30 seconds). We can increase it more, if necessary -
- sampling the DRT process on Mac OS X takes much longer anyway, so it's better to avoid
- timing out than to detect it early.
-
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::setWaitToDump):
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::waitUntilDone):
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- * Scripts/run-webkit-tests:
-
-2010-03-19 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Unreviewed.
-
- Buildfix for Qt v4.5.
-
- * QtLauncher/main.cpp:
- (LauncherWindow::LauncherWindow):
- (LauncherWindow::applyZoom):
-
-2010-03-19 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Operational tweaks to SheriffBot
- https://bugs.webkit.org/show_bug.cgi?id=36385
-
- These changes aren't pretty, but they're helpful to make SheriffBot
- work operationally. I plan to iterate in these areas, but I wanted to
- get this patch landed so I could be running the bot against TOT.
-
- * Scripts/webkitpy/commands/sheriffbot.py:
- * Scripts/webkitpy/irc/ircbot.py:
- * Scripts/webkitpy/thirdparty/autoinstalled/__init__.py:
-
-2010-03-19 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Help sheriff-bot avoid warning about flaky tests (and add more unit testing)
- https://bugs.webkit.org/show_bug.cgi?id=36354
-
- * Scripts/webkitpy/buildbot.py:
- - Make Build creation easier to Mock and test
- * Scripts/webkitpy/buildbot_unittest.py:
- - Test finding green to red transitions and suspect revisions
- * Scripts/webkitpy/commands/queries.py:
- - Make what-broke note when builders have only failed once.
-
-2010-03-19 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Fix the rebaselining tool, which was broken by r36324 when I
- added the concept of overridding expectations.
-
- https://bugs.webkit.org/show_bug.cgi?id=36374
-
- * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py:
-
-2010-03-19 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Misc bug fixes to make the SheriffBot actually work
- https://bugs.webkit.org/show_bug.cgi?id=36355
-
- With these changes, I can actually run the sheriff-bot from start to
- finish.
-
- * Scripts/webkitpy/irc/ircproxy.py:
- * Scripts/webkitpy/patch/patcher.py:
- * Scripts/webkitpy/statusserver.py:
-
-2010-03-19 Adam Barth <abarth@webkit.org>
-
- Unreviewed.
-
- Actually import the sheriff-bot command so we can run it. Also, move
- the bot to #webkit-test so it doesn't cause a ruckus while we test it.
-
- * Scripts/webkitpy/patch/patcher.py:
- * Scripts/webkitpy/irc/ircbot.py:
-
-2010-03-19 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Second cut at SheriffBot
- https://bugs.webkit.org/show_bug.cgi?id=36353
-
- This patch should contain a complete SheriffBot that's capable of
- saying reasonable things on IRC. I had to refactor the use of
- CommitInfo to make the SheriffBot testable, but I did the minimum
- necessary. We should grow webkitcheckout over time to contain the
- knowledge of ChangeLogs from scm.
-
- * Scripts/webkitpy/commands/sheriffbot.py:
- * Scripts/webkitpy/commands/sheriffbot_unittest.py:
- * Scripts/webkitpy/mock_bugzillatool.py:
- * Scripts/webkitpy/patch/patcher.py:
- * Scripts/webkitpy/webkitcheckout.py: Added.
-
-2010-03-19 Adam Barth <abarth@webkit.org>
-
- Unreviewed.
-
- Fix Hyatt's IRC nickname.
-
- * Scripts/webkitpy/committers.py:
-
-2010-03-19 Adam Barth <abarth@webkit.org>
-
- Unreviewed.
-
- Add IRC nicknames for the non-reviewer committers.
-
- * Scripts/webkitpy/committers.py:
-
-2010-03-19 Adam Barth <abarth@webkit.org>
-
- Unreviewed.
-
- More reviewer IRC nicknames.
-
- * Scripts/webkitpy/committers.py:
-
-2010-03-19 Adam Barth <abarth@webkit.org>
-
- Unreviewed.
-
- Add a bunch of IRC nicknames for reviewers.
-
- * Scripts/webkitpy/committers.py:
-
-2010-03-19 Zoltan Horvath <zoltan@webkit.org>
-
- Reviewed by Oliver Hunt.
-
- Added USE_SYSTEM_MALLOC flag to build-webkit
- https://bugs.webkit.org/show_bug.cgi?id=21272
-
- Add system-alloc flag to build-webkit. It makes easy to switch
- between system allocator and TCmalloc.
-
- * Scripts/build-webkit:
-
-2010-03-19 Adam Barth <abarth@webkit.org>
-
- Unreviewed "build" fix.
-
- Of course, I caused a regression in the file that isn't tested. :(
-
- * Scripts/webkitpy/statusserver.py:
-
-2010-03-19 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Add basic "who-broke-it" command and revision -> broken builder association code
- https://bugs.webkit.org/show_bug.cgi?id=36352
-
- The "what-broke" command prints builders and what revisions we suspect
- broke them. who-broke-it prints revisions and what builders we suspect
- they broke. The sheriff-bot needs this revision to broken builder mapping
- so this change adds it!
-
- * Scripts/webkitpy/buildbot.py:
- * Scripts/webkitpy/commands/queries.py:
-
-2010-03-19 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Simplify BuildBot core builder code for easier re-use
- https://bugs.webkit.org/show_bug.cgi?id=36350
-
- I simply couldn't see anything through all this Yak-hair.
-
- * Scripts/webkitpy/buildbot.py:
- * Scripts/webkitpy/commands/queries.py:
-
-2010-03-19 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- committers.py should know IRC nicknames
- https://bugs.webkit.org/show_bug.cgi?id=36349
-
- I'll add the actual nicknames in another patch.
-
- * Scripts/webkitpy/committers.py:
- * Scripts/webkitpy/committers_unittest.py:
-
-2010-03-18 Anders Bakken <agbakken@gmail.com>
-
- Reviewed by Simon Hausmann.
-
- https://bugs.webkit.org/show_bug.cgi?id=36318
-
- QtLauncher runs as a GuiClient by default in Qt Embedded which will
- make it try to connect to an existing GuiServer. This patch makes it
- run like a stand-alone app.
-
- * QtLauncher/main.cpp:
- (LauncherApplication::LauncherApplication):
-
-2010-03-19 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Move find_green_to_red_transition out of "what-broke" onto Builder for easier re-use
- https://bugs.webkit.org/show_bug.cgi?id=36345
-
- * Scripts/webkitpy/buildbot.py:
- * Scripts/webkitpy/commands/queries.py:
-
-2010-03-19 Adam Barth <abarth@webkit.org>
-
- Reviewed by Adam Barth.
-
- Actually pass the IRC password to the IRC object
- https://bugs.webkit.org/show_bug.cgi?id=36346
-
- I wanted to do this before, but both patches were in flight. This
- patch finally closes the loop and makes the IRCProxy system complete.
-
- * Scripts/webkitpy/patch/patcher.py:
-
-2010-03-18 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Add a StatusServer front end to the SVNRevision table on QueueStatusServer
- https://bugs.webkit.org/show_bug.cgi?id=36344
-
- No test because Browser was too hard to mock. :( I couldn't figure
- out how to make Mock be a dictionary as well as an object.
-
- * Scripts/webkitpy/statusserver.py:
-
-2010-03-18 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Split out CommitInfo class and add unit tests
- https://bugs.webkit.org/show_bug.cgi?id=36343
-
- Move more logic out of "what-broke" into a shared CommitInfo
- class so that it can be used by other commands and unit tested.
-
- * Scripts/webkitpy/commands/queries.py:
- * Scripts/webkitpy/commitinfo.py: Added.
- * Scripts/webkitpy/commitinfo_unittest.py: Added.
- * Scripts/webkitpy/unittests.py:
-
-2010-03-18 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Fix LayoutTests/http/tests/appcache/max-size.html
- https://bugs.webkit.org/show_bug.cgi?id=36207
-
- Implement setAppCacheMaximumSize() for Qt.
-
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::setAppCacheMaximumSize):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
-
-2010-03-18 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- QueueStatusServer should be able to log broken bots
- https://bugs.webkit.org/show_bug.cgi?id=36341
-
- We need to add a new table to the QueueStatusServer to store persistent
- information for the SheriffBot. The new table will keep track of which
- bots each SVN revision broke.
-
- * QueueStatusServer/handlers/__init__.py:
- * QueueStatusServer/handlers/svnrevision.py: Added.
- * QueueStatusServer/handlers/updatebase.py: Added.
- * QueueStatusServer/handlers/updatestatus.py:
- * QueueStatusServer/handlers/updatesvnrevision.py: Added.
- * QueueStatusServer/index.yaml:
- * QueueStatusServer/main.py:
- * QueueStatusServer/model/__init__.py:
- * QueueStatusServer/model/svnrevision.py: Added.
- * QueueStatusServer/templates/updatesvnrevision.html: Added.
-
-2010-03-18 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Darin Adler.
-
- Add a new method to the Qt LayoutTestController for
- changing media type and make the DRT support dry-run printing.
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::DumpRenderTree::DumpRenderTree):
- (WebCore::DumpRenderTree::dryRunPrint):
- * DumpRenderTree/qt/DumpRenderTreeQt.h:
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::setMediaType):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
-
-2010-03-18 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Add upstream LayoutTests/platform/chromium* directories to the
- baseline search path for new-run-webkit-tests in preparation for
- upstreaming all of the Chromium baselines. Note that this does
- not actually create the directories themselves, but that's okay.
-
- https://bugs.webkit.org/show_bug.cgi?id=36324
-
- * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
- * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
- * Scripts/webkitpy/layout_tests/port/chromium_win.py:
-
-2010-03-18 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Anders Carlsson.
-
- https://bugs.webkit.org/show_bug.cgi?id=36327
- Test that a plug-in can override Node methods of its element
-
- * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
- (normalizeOverride):
- (pluginInvoke):
- Override "normalize", and call back to let a test know that the plug-in was called.
-
-2010-03-17 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Dimitri Glazkov.
+ Reviewed by Ojan Vafai.
- Add the concept of an "overrides" file for expectations so that we
- can store test_expectations both upstream and downstream for a port
- that runs both in webkit.org and in a separate repository (like
- Chromium). Also add some unit tests for the expectations module.
+ new-run-webkit-tests: fix handling of Ctrl-C to exit even if some
+ threads are wedged. Also, the script will print the results of the
+ tests completed when the interrupt occurs.
- https://bugs.webkit.org/show_bug.cgi?id=36249
+ https://bugs.webkit.org/show_bug.cgi?id=33238
- * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py:
- * Scripts/webkitpy/layout_tests/layout_package/test_expectations_test.py: Added.
- * Scripts/webkitpy/layout_tests/port/base.py:
+ * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py:
+ * Scripts/webkitpy/layout_tests/layout_package/printing.py:
+ * Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py:
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
-2010-03-18 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Add an overlay QGraphicsTextItem to QtLauncher so we can display FPS info
- on the launcher and not on the terminal anymore.
-
- [Qt] QtLauncher's FPS info should be displayed on an overlay text item
- https://bugs.webkit.org/show_bug.cgi?id=36244
-
- * QtLauncher/webview.cpp:
- (WebViewGraphicsBased::WebViewGraphicsBased):
- (WebViewGraphicsBased::setFrameRateMeasurementEnabled):
- (WebViewGraphicsBased::updateFrameRate):
- * QtLauncher/webview.h:
-
-2010-03-18 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- First cut at SheriffBot
- https://bugs.webkit.org/show_bug.cgi?id=36253
-
- This patch contains a first attempt at writing a sheriff bot.
- Currently, we're missing the logic that actually finds the SVN revision
- numbers to complain about, but once we have that, we'll have the rest
- of the infrustructure to ping IRC and to file bugs.
-
- There's a lot to fill in for the SheriffBot, but this patch give us the
- framework in which to do it.
-
- This patch required a bit of refactoring of AbstractQueue because
- SheriffBot is the first bot that doesn't process patches (it processes
- SVN revisions). Accordingly, I've factored out AbstractPatchQueue to
- hold the parts of AbstractQueue that are specific to dealing with
- patches. Some of the choices here might not be obvious yet, but we can
- tweak them as our needs become clearer.
-
- * Scripts/webkitpy/commands/queues.py:
- * Scripts/webkitpy/commands/queues_unittest.py:
- * Scripts/webkitpy/commands/sheriffbot.py: Added.
- * Scripts/webkitpy/commands/sheriffbot_unittest.py: Added.
- * Scripts/webkitpy/mock_bugzillatool.py:
- Added a MockIRC object to the mock tool.
- * Scripts/webkitpy/multicommandtool.py:
- Added a finalize method so the tool can disconnect from IRC
- cleanly instead of just droping the socket.
- * Scripts/webkitpy/multicommandtool_unittest.py:
- * Scripts/webkitpy/patch/patcher.py:
- Added support for talking to IRC.
- * Scripts/webkitpy/unittests.py:
- We should add a commands/unittests.py file at some point to make
- the commands module more self-contained.
-
-2010-03-18 Antti Koivisto <koivisto@iki.fi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- https://bugs.webkit.org/show_bug.cgi?id=36102
- [Qt] Scaling control API for tiled backing store
-
- Add animated smooth zooming to Qt launcher when in tiled mode.
-
- * QtLauncher/main.cpp:
- (LauncherWindow::LauncherWindow):
- (LauncherWindow::zoomAnimationFinished):
- (LauncherWindow::applyZoom):
- (LauncherWindow::zoomIn):
- (LauncherWindow::zoomOut):
- * QtLauncher/webview.h:
- (WebViewGraphicsBased::graphicsWebView):
-
-2010-03-18 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Support using IRC accounts with a password
- https://bugs.webkit.org/show_bug.cgi?id=36287
-
- Add a global option to specify an IRC password so we can use the
- sheriffbot account (which needs a password).
-
- * Scripts/webkitpy/irc/ircbot.py:
- * Scripts/webkitpy/irc/ircproxy.py:
- * Scripts/webkitpy/patch/patcher.py:
-
-2010-03-18 Eric Seidel <eric@webkit.org>
-
- Just fixing missing parenthesis typo, no review.
-
- * Scripts/webkitpy/commands/queries.py: '%' has higher precedence than 'or', use parentheses.
-
-2010-03-18 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Adam Roben and Anders Carlsson.
+2010-05-28 Darin Adler <darin@apple.com>
- https://bugs.webkit.org/show_bug.cgi?id=36210
- plugins/resize-from-plugin.html fails on some platforms
+ Ignore more Python messiness.
- Turns out that most platforms don't use "cross-platform" main.cpp. Copied code added for
- the test to their versions of the file.
+ * Scripts/webkitpy/layout_tests/data/platform/test: Added property svn:ignore.
+ * Scripts/webkitpy/layout_tests/layout_package: Added property svn:ignore.
+ * Scripts/webkitpy/layout_tests/test_types: Added property svn:ignore.
+ * Scripts/webkitpy/test: Added property svn:ignore.
+ * Scripts/webkitpy/thirdparty/simplejson: Added property svn:ignore.
- * DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp:
- (webkit_test_plugin_set_window):
- * DumpRenderTree/win/TestNetscapePlugin/main.cpp:
- (NPP_SetWindow):
-
-2010-03-18 Leandro Pereira <leandro@profusion.mobi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Add support to run-launcher to open the EFL example browser.
- http://webkit.org/b/36181
-
- * Scripts/webkitdirs.pm:
- * Scripts/run-launcher:
-
-2010-03-18 Sergio Villar Senin <svillar@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Failing tests http/tests/misc/image-blocked-src-change.html
- & http/tests/misc/image-blocked-src-no-change.html
- https://bugs.webkit.org/show_bug.cgi?id=36227
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (webViewConsoleMessage): print only the file name instead of the
- whole URI when printing messages with local URI's
-
-2010-03-18 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Teach what-broke how to look up reviewer and author Committer objects by name
- https://bugs.webkit.org/show_bug.cgi?id=36264
-
- * Scripts/webkitpy/commands/queries.py:
- - Add committer_by_name lookups for both reviewer and author
- - Improve printing in the cases where lookups fail.
- * Scripts/webkitpy/committers.py:
- - Add committer_by_name
- * Scripts/webkitpy/committers_unittest.py:
- - Test committer_by_name
-
-2010-03-17 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- create-rollout should actually fill out the description
- https://bugs.webkit.org/show_bug.cgi?id=36261
-
- * Scripts/webkitpy/commands/download.py:
- The % operator was applied to the wrong string.
- * Scripts/webkitpy/commands/download_unittest.py:
- * Scripts/webkitpy/commands/upload_unittest.py:
- * Scripts/webkitpy/mock_bugzillatool.py:
- Add support for seeing what we actually do with create_bug.
-
-2010-03-17 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Accelerated Compositing is now default on QtWebKit so the option
- in QtLauncher must be true as default.
-
- [Qt] QtLauncher's Accelerated Compositing option must be true as default
- https://bugs.webkit.org/show_bug.cgi?id=36234
-
- * QtLauncher/main.cpp:
- (LauncherWindow::applyPrefs):
- (LauncherWindow::toggleAcceleratedCompositing):
- (LauncherApplication::handleUserOptions):
-
-2010-03-17 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Commit queue should ignore (probably red) builders when landing rollouts
- https://bugs.webkit.org/show_bug.cgi?id=36169
-
- When landing a rollout, the builders are probably red, so we need to
- ignore them in the subprocess too. Also, we might as well update the
- working copy because we haven't validated anything about the current
- revision prior to trying to land.
-
- This change is testable, but it requires changing the mock executive to
- log its arguments. That will generate a lot of expectation changes, so
- I'd like to do that in a separate patch.
-
- * Scripts/webkitpy/commands/queues.py:
-
-2010-03-17 Chang Shu <chang.shu@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- https://bugs.webkit.org/show_bug.cgi?id=36139
- [Qt] Clean up cache each time DumpRenderTree starts. This behavior
- matches other platforms, such as mac and gtk.
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::DumpRenderTree::DumpRenderTree):
-
-2010-03-17 Adam Barth <abarth@webkit.org>
-
- Unreviewed.
-
- Turns out this needs to be a string.
-
- * Scripts/webkitpy/bugzilla.py:
-
-2010-03-17 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Add more infrastructure for sheriff-bot, including making what-broke more awesome
- https://bugs.webkit.org/show_bug.cgi?id=36254
-
- * Scripts/webkitpy/bugzilla.py:
- - Made the various URL methods return None when passed None.
- * Scripts/webkitpy/bugzilla_unittest.py:
- - Test that the url methods work as expected.
- * Scripts/webkitpy/buildbot.py:
- - Add a static Build.build_url so that its possible to generate a build url without a Build object.
- - Give users a URL in _fetch_xmlrpc_build_dictionary error message.
- * Scripts/webkitpy/changelogs.py:
- - Add a new ChangeLogEntry class to encapsulate entry-parsing logic.
- - Add is_path_to_changelog to greatly simplify SCM.modified_changelogs code.
- - Make ChangeLog.parse_latest_entry_from_file a public method.
- * Scripts/webkitpy/changelogs_unittest.py:
- - Add tests for new ChangeLog entry parsing.
- * Scripts/webkitpy/commands/queries.py:
- - Make "what-broke" not print "ok" builders, only failing ones.
- - Print much more information on failing builders, including links and authorship/reviewer information.
- * Scripts/webkitpy/commands/queues_unittest.py:
- - Use a fake_checkout path since fixing the cwd (as part of fixing scm_unittests.py) was breaking tests.
- * Scripts/webkitpy/mock_bugzillatool.py:
- - Move MockSCM away from using os.getcwd() as that was fragile (and wrong).
- * Scripts/webkitpy/patch/patcher.py:
- - Remove code which was broken now that this file has moved.
- - Code was also redundant now that SCM.find_checkout_root() exists.
- * Scripts/webkitpy/scm.py:
- - Greatly simplify modified_changelogs now that I understand list comprehensions.
- - Expect ChangeLogEntry objects instead of raw strings.
- - Add changed_files_for_revision, committer_email_for_revision and contents_at_revision
- - Add commit_with_message argument to all sites since someone half-added it before. :(
- - Get rid of copy/paste code using _status_regexp()
- * Scripts/webkitpy/scm_unittest.py:
- - Fix these tests!
- - Add new tests for new scm code.
- - Fix spelling of "awsome" to "awesome".
-
-2010-03-17 Daniel Bates <dbates@rim.com>
-
- Rubber-stamped by David Levin.
-
- Add myself to the list of reviewers.
-
- * Scripts/webkitpy/committers.py:
-
-2010-03-17 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Change post-rollout to create-rollout and have it make a new bug
- instead of posting the rollout to the old bug.
- https://bugs.webkit.org/show_bug.cgi?id=36250
-
- The new bug blocks the old bug instead of adding more complexity to the
- old bug. One tricky question is whether to create the bug if we're
- unable to create a rollout patch. In this patch, we do create the bug,
- but we might revist this question in the future.
-
- * Scripts/webkitpy/bugzilla.py:
- * Scripts/webkitpy/commands/download.py:
- * Scripts/webkitpy/commands/download_unittest.py:
- * Scripts/webkitpy/steps/createbug.py:
-
-2010-03-17 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Add a way for the bots to send messages to IRC
- https://bugs.webkit.org/show_bug.cgi?id=36235
-
- We'll use these classes to notify #webkit about bad SVN revisions.
- This patch just has some skeleton code for us to play with.
-
- * Scripts/webkitpy/irc/__init__.py: Added.
- * Scripts/webkitpy/irc/ircbot.py: Added.
- A bot that knows how to talk to IRC.
- * Scripts/webkitpy/irc/ircproxy.py: Added.
- We need to run the bot on its own thread because the irclib needs
- its own mainloop. This class provides an abstraction of the
- threading.
- * Scripts/webkitpy/irc/messagepump.py: Added.
- * Scripts/webkitpy/irc/messagepump_unittest.py: Added.
- * Scripts/webkitpy/irc/threadedmessagequeue.py: Added.
- A thread-safe message queue for sending messages from the main
- thread to the IRC thread.
- * Scripts/webkitpy/irc/threadedmessagequeue_unittest.py: Added.
- * Scripts/webkitpy/irc/unittests.py: Added.
- * Scripts/webkitpy/thirdparty/autoinstalled/__init__.py:
- Autoinstall irclib
- * Scripts/webkitpy/unittests.py:
-
-2010-03-17 Victor Wang <victorw@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Fix image_diff syntax in webkitpy/port/base.py.
- The syntax is wrong if diff_filename is specified.
-
- https://bugs.webkit.org/show_bug.cgi?id=36230
-
- * Scripts/webkitpy/layout_tests/port/base.py:
-
-2010-03-16 Diego Gonzalez <diego.gonzalez@openbossa.org>
-
- Reviewed by Kenneth Christiansen.
-
- Provide to QtLauncher a way to change the ViewportUpdateMode
- when it's in graphics based mode.
-
- [Qt] Make QtLaucher able to select the ViewportUpdateMode
- https://bugs.webkit.org/show_bug.cgi?id=36175
-
- * QtLauncher/main.cpp:
- (LauncherWindow::selectViewportUpdateMode):
- (LauncherWindow::createChrome):
-
-2010-03-17 Zoltan Horvath <zoltan@webkit.org>
-
- Reviewed by Darin Adler.
-
- Ambiguous error message when building for unspecified platform
- https://bugs.webkit.org/show_bug.cgi?id=30203
-
- Add an extra line information to the error message.
-
- * Scripts/webkitdirs.pm:
-
-2010-03-16 Adam Barth <abarth@webkit.org>
-
- No review, rolling out r56044.
- http://trac.webkit.org/changeset/56044
- https://bugs.webkit.org/show_bug.cgi?id=36048
-
- This patch broke Windows Debug (Tests)
-
- * Scripts/webkitdirs.pm:
-
-2010-03-16 John Abd-El-Malek <jam@chromium.org>
-
- Reviewed by Darin Fisher.
-
- Give keyboard focus to PluginDocuments by default
- https://bugs.webkit.org/show_bug.cgi?id=36147
-
- * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
- (pluginAllocate):
- * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.h:
- * DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp:
- (NPP_New):
- (NPP_SetWindow):
- (handleEventCarbon):
- (handleEventCocoa):
-
-2010-03-16 Sam Weinig <sam@webkit.org>
-
- Reviewed by Mark Rowe.
-
- Fix run-webkit-httpd on Windows.
-
- * Scripts/webkitperl/httpd.pm:
-
-2010-03-16 Alexey Proskuryakov <ap@apple.com>
-
- Tiger build fix.
-
- * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp: (pluginGetProperty):
- Added more type casts to shut down warnings.
-
-2010-03-16 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=36184
- YouTube video resizing doesn't work with OOP plug-ins
-
- Added a resizeTo() method, which calls resizePlugin() in JS with the same arguments,
- and a lastSetWindowArguments property, which returns a string describing the last NPWindow
- passed to NPN_SetWindow.
-
- * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
- (pluginGetProperty):
- (testResizeTo):
- (pluginInvoke):
- * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.h:
- * DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp:
- (NPP_SetWindow):
-
-2010-03-16 Joanmarie Diggs <joanmarie.diggs@gmail.com>
-
- Reviewed by Xan Lopez.
-
- https://bugs.webkit.org/show_bug.cgi?id=35504
- [Gtk] Evaluate and fix AtkTable for layout tables
-
- Implements rowCount and columnCount for Gtk in DRT.
-
- * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
- (AccessibilityUIElement::rowCount):
- (AccessibilityUIElement::columnCount):
-
-2010-03-15 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Add "what-broke" command for debugging when the tree broke
- https://bugs.webkit.org/show_bug.cgi?id=36157
-
- This is another step towards automated sheriffing of the webkit tree.
- With this logic our scripts are able to determine what revision broke the
- tree. Buildbot should do this for us, but unfortunately buildbot doesn't
- expose this kind of aggregate information.
-
- * Scripts/webkitpy/buildbot.py:
- - Add new Builder and Build classes (which will eventually replace the custom dictionaries previously used).
- - Split out more network logic into _fetch methods which will eventually be their own class for mocking.
- - Use XMLRPC to communicate with the buildbot master instead of scraping build pages.
- * Scripts/webkitpy/buildbot_unittest.py:
- - Test the newly added buildbot classes.
- * Scripts/webkitpy/commands/queries.py:
- - Add an experimental what-broke command.
-
-2010-03-15 Daniel Bates <dbates@rim.com>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=36048
-
- Detect if the Windows Platform SDK is missing when building with
- Visual C++ Express Edition and inform the user to download it.
-
- * Scripts/webkitdirs.pm:
-
-2010-03-15 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Let commit-queue land rollout patches even when the tree is red
- https://bugs.webkit.org/show_bug.cgi?id=36155
-
- Now the commit-queue will land patches whose name begins with "ROLLOUT "
- even if the tree is red. The patches still go through the usual build
- and test process, but they can be landed while the tree is on fire.
-
- * Scripts/webkitpy/bugzilla.py:
- * Scripts/webkitpy/commands/queues.py:
- * Scripts/webkitpy/commands/queues_unittest.py:
- * Scripts/webkitpy/commands/queuestest.py:
- * Scripts/webkitpy/mock_bugzillatool.py:
-
-2010-03-15 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Add webkit-patch post-rollout to upload rollouts to bugs.webkit.org for easy committing
- https://bugs.webkit.org/show_bug.cgi?id=36154
-
- This new command is a mashup of prepare-rollout and post. This command
- will be used by an experimental bot to post rollouts of patches that
- break things to bugs.webkit.org where they can be landed with the
- greatest of ease.
-
- * Scripts/webkitpy/commands/download.py:
- * Scripts/webkitpy/commands/download_unittest.py:
- * Scripts/webkitpy/steps/__init__.py:
- * Scripts/webkitpy/steps/postdiffforrevert.py: Added.
-
-2010-03-15 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- webkit-patch rollout should error out on conflicts
- https://bugs.webkit.org/show_bug.cgi?id=36151
-
- Instead of blindingly plowing ahead, we now throw an exception if there
- are conflicts after applying a reverse diff.
-
- * Scripts/webkitpy/scm.py:
-
-2010-03-15 Chris Fleizach <cfleizach@apple.com>
-
- Unreviewed layout test fix.
-
- VO not able to perform a VO-spacebar on facebook links
- https://bugs.webkit.org/show_bug.cgi?id=36132
-
- GTK needs to implement press for this test to work.
-
- * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
- (AccessibilityUIElement::press):
-
-2010-03-15 Chris Fleizach <cfleizach@apple.com>
-
- Unreviewed layout test fix.
-
- VO not able to perform a VO-spacebar on facebook links
- https://bugs.webkit.org/show_bug.cgi?id=36132
-
- Windows needs to implement press in DRT.
-
- * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
- (AccessibilityUIElement::press):
-
-2010-03-15 Chris Fleizach <cfleizach@apple.com>
-
- Unreviewed. Fix break of layout tests on win and gtk.
-
- VO not able to perform a VO-spacebar on facebook links
- https://bugs.webkit.org/show_bug.cgi?id=36132
-
- Attempting to implement press action for windows and gtk.
-
- * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
- (AccessibilityUIElement::press):
- * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
- (AccessibilityUIElement::press):
-
-2010-03-15 Chris Fleizach <cfleizach@apple.com>
+2010-05-28 Chris Fleizach <cfleizach@apple.com>
Reviewed by Beth Dakin.
- VO not able to perform a VO-spacebar on facebook links
- https://bugs.webkit.org/show_bug.cgi?id=36132
-
- * DumpRenderTree/AccessibilityUIElement.cpp:
- (pressCallback):
- (AccessibilityUIElement::getJSClass):
- * DumpRenderTree/AccessibilityUIElement.h:
- * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
- (AccessibilityUIElement::press):
- * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
- (AccessibilityUIElement::press):
- * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
- (AccessibilityUIElement::press):
-
-2010-03-15 Mark Rowe <mrowe@apple.com>
-
- Add a new build slave to replace the existing SnowLeopard Leaks build slave which
- appears to be suffering a slow and painful death at the hands of its graphics hardware.
-
- * BuildSlaveSupport/build.webkit.org-config/config.json:
-
-2010-03-15 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Alexey Proskuryakov.
-
- Fix a minor case where we'd deference a null pointer if we tried
- to run new-run-webkit-tests on an unsupported platform (e.g.
- Cygwin's python version).
-
- https://bugs.webkit.org/show_bug.cgi?id=36076
-
- * Scripts/webkitpy/layout_tests/port/factory.py:
-
-2010-03-15 Darin Adler <darin@apple.com>
-
- Tell Subversion about more directories that expect to have .pyc files.
-
- * Scripts/webkitpy/layout_tests: Added property svn:ignore.
- * Scripts/webkitpy/layout_tests/port: Added property svn:ignore.
-
-2010-03-15 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Adler.
-
- Operational scripts from running the EWS
- https://bugs.webkit.org/show_bug.cgi?id=36097
-
- These are the scripts I use to manage the EWS on EC2. If someone other
- than me wants to run the EWS, these scripts might be helpful.
-
- * EWSTools/boot.sh: Added.
- * EWSTools/create-webkit-git: Added.
- * EWSTools/screen-config: Added.
- * EWSTools/start-queue.sh: Added.
-
-2010-03-14 Adam Barth <abarth@webkit.org>
-
- Unreviewed.
-
- Fix the webkit-patch bots. Turns out they need the path of the main
- script to run properly.
-
- * Scripts/webkit-patch:
- * Scripts/webkitpy/patch/patcher.py:
-
-2010-03-14 Darin Adler <darin@apple.com>
-
- Tell Subversion about more directories that expect to have .pyc files.
-
- * Scripts/webkitpy/init: Added property svn:ignore.
- * Scripts/webkitpy/patch: Added property svn:ignore.
- * Scripts/webkitpy/thirdparty: Added property svn:ignore.
- * Scripts/webkitpy/thirdparty/autoinstalled: Added property svn:ignore.
-
-2010-03-14 Antti Koivisto <koivisto@iki.fi>
-
- Reviewed by Simon Hausmann.
-
- https://bugs.webkit.org/show_bug.cgi?id=35146
- Support tiled backing store
-
- QtLauncher support and build flag in build-webkit.
-
- * QtLauncher/main.cpp:
- (LauncherWindow::applyPrefs):
- (LauncherWindow::toggleTiledBackingStore):
- (LauncherWindow::toggleResizesToContents):
- (LauncherWindow::createChrome):
- (LauncherApplication::handleUserOptions):
- * QtLauncher/webview.cpp:
- (WebViewGraphicsBased::WebViewGraphicsBased):
- (WebViewGraphicsBased::setResizesToContents):
- (WebViewGraphicsBased::resizeEvent):
- * QtLauncher/webview.h:
- * Scripts/build-webkit:
-
-2010-03-13 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Adam Barth.
-
- The webkit-patch script now displays a warning if run using
- a version of Python less than 2.5. This will help users
- understand why webkit-patch is erroring out if they are
- using Python 2.4, for example.
-
- https://bugs.webkit.org/show_bug.cgi?id=31533
-
- * Scripts/webkit-patch:
- - Moved most of the file contents to webkitpy/patch/patcher.py
- so the Python version can be checked before interpreting
- any code that can cause the script to error out.
- - Added a configure_logging() method to enable any version
- warnings to show up.
- - Added a main() method with calls to configure_logging(),
- check_version(), and the main webkit patch method.
-
- * Scripts/webkitpy/patch/__init__.py: Copied from WebKitTools/QueueStatusServer/filters/__init__.py.
- - This file is required to make a folder a package.
-
- * Scripts/webkitpy/patch/patcher.py: Added.
- - Moved code from Scripts/webkit-patch.
-
-2010-03-13 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Adam Barth.
-
- Changed test-webkitpy so that messages logged as a side-effect
- of unit-testing code do not get displayed to the screen. These
- messages clutter up the unit test results if not filtered out.
-
- https://bugs.webkit.org/show_bug.cgi?id=35835
-
- * Scripts/test-webkitpy:
- - Adjusted the configure_logging() method to filter out any
- log messages from webkitpy.
- - Also added an INFO message stating that most console logging
- is getting suppressed.
-
- * Scripts/webkitpy/init/versioning.py:
- - Added a log parameter to the check_version() method.
-
- * Scripts/webkitpy/init/versioning_unittest.py:
- - Qualified a call to check_version() with the parameter names.
-
-2010-03-13 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Adam Barth.
-
- The test-webkitpy script now warns the user if the script is
- being run using a Python version different from the minimum
- version the webkitpy package was meant to support.
-
- https://bugs.webkit.org/show_bug.cgi?id=35788
-
- Warning developers if their Python version is too low will help
- them understand why test-webkitpy is failing. Secondly, warning
- developers if their Python version is higher than the minimum will
- help them understand that their changes may not be okay for the
- minimum supported version, even if test-webkitpy is passing.
-
- * Scripts/test-webkitpy:
- - Moved the "from ..._unittest import *" lines to the new
- file Scripts/webkitpy/unittests.py. This will allow the
- version-check warning to be displayed even if an error occurs
- while interpreting (i.e. importing) the unit test code.
- - Added configure_logging() to configur logging for test-webkitpy.
- - Added an init() method to configure logging and check the
- current Python version.
-
- * Scripts/webkitpy/init/unittests.py: Added.
- - Added a file to import all unit test modules in the
- webkitpy.init package.
-
- * Scripts/webkitpy/init/versioning.py: Added.
- - Added a _MINIMUM_SUPPORTED_PYTHON_VERSION variable and set
- it equal to 2.5.
- - Added a compare_version() method to compare the current Python
- version against a target version.
- - Added a check_version() method to check the current Python
- version against the current minimum supported version, and to
- log a warning message if the check fails.
-
- * Scripts/webkitpy/init/versioning_unittest.py: Added.
- - Added unit tests for the functions in versioning.py.
-
- * Scripts/webkitpy/style/unittests.py:
- - Fixed/updated a code comment.
-
- * Scripts/webkitpy/unittests.py: Added.
- - Moved the "from ..._unittest import *" lines from test-webkitpy.
-
-2010-03-13 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Adam Barth.
-
- Moved all code in webkitpy/__init__.py to another location.
-
- https://bugs.webkit.org/show_bug.cgi?id=35828
-
- Keeping webkitpy/__init__.py free of non-trivial code allows
- calling code to import initialization code from webkitpy
- before any errors or log messages occur due to code in
- __init__.py. Such initialization code can include things like
- version checking code and logging configuration code. This
- also lets us move the autoinstall initialization code to a
- location where it only executes if it is needed -- something
- we have done in this patch.
-
- * Scripts/webkitpy/__init__.py:
- - Moved all executable code to the following location:
- webkitpy/thirdparty/autoinstalled/__init__.py
- - Added a code comment to keep this file free of non-trivial
- code.
-
- * Scripts/webkitpy/bugzilla.py:
- - Updated mechanize import statement.
-
- * Scripts/webkitpy/networktransaction.py:
- - Updated mechanize import statement.
-
- * Scripts/webkitpy/networktransaction_unittest.py:
- - Updated mechanize import statement.
-
- * Scripts/webkitpy/statusserver.py:
- - Updated mechanize import statement.
-
- * Scripts/webkitpy/thirdparty/autoinstalled/__init__.py: Added.
- - Copied the code from webkitpy/__init__.py and updated it
- as necessary.
-
-2010-03-13 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Adam Barth.
-
- Moved webkitpy/mock.py into webkitpy/thirdparty since it is
- third-party code.
-
- https://bugs.webkit.org/show_bug.cgi?id=35499
-
- Updated the import statement in all of the below except where noted.
-
- * Scripts/webkitpy/bugzilla_unittest.py:
- * Scripts/webkitpy/commands/commandtest.py:
- * Scripts/webkitpy/commands/download_unittest.py:
- * Scripts/webkitpy/commands/early_warning_system_unittest.py:
- * Scripts/webkitpy/commands/queries_unittest.py:
- * Scripts/webkitpy/commands/queues_unittest.py:
- * Scripts/webkitpy/commands/queuestest.py:
- * Scripts/webkitpy/commands/upload.py:
- * Scripts/webkitpy/commands/upload_unittest.py:
- * Scripts/webkitpy/commands_references.py: Added.
- - Added a file containing an absolute import of Mock so that
- the imports in the commands folder can import from this file
- (similar to style_references.py). This helps limit the
- number of affected files in future refactorings.
-
- * Scripts/webkitpy/credentials_unittest.py:
- * Scripts/webkitpy/mock.py: Removed.
- - Moved to Scripts/webkitpy/thirdparty.
-
- * Scripts/webkitpy/mock_bugzillatool.py:
- * Scripts/webkitpy/patchcollection_unittest.py:
- * Scripts/webkitpy/steps/closebugforlanddiff_unittest.py:
- * Scripts/webkitpy/steps/steps_unittest.py:
- * Scripts/webkitpy/steps/updatechangelogswithreview_unittests.py:
- * Scripts/webkitpy/steps_references.py: Added.
- - Added a file containing an absolute import of Mock so that
- the imports in the steps folder can import from this file
- (similar to style_references.py). This helps limit the
- number of affected files in future refactorings.
-
- * Scripts/webkitpy/thirdparty/mock.py: Copied from WebKitTools/Scripts/webkitpy/mock.py.
- - Also eliminated trailing white space and carriage returns.
-
-2010-03-12 Robert Hogan <robert@webkit.org>
-
- Reviewed by Adam Barth.
-
- Amend incorrect typo patch for QtLauncher.
-
- https://bugs.webkit.org/show_bug.cgi?id=35877
-
- * QtLauncher/webview.cpp:
- (WebViewGraphicsBased::setFrameRateMeasurementEnabled):
-
-2010-03-13 Victor Wang <victorw@chromium.org>
-
- Add appengine app to host and serve webkit layout test results.
-
- The app allows you post test result files (json) and serve them up.
- Chromium flakiness dashboard will first use this app to host results.json
- and expectations.json, but the files hosted by this app are not limited
- to chromium results or json files. It can be used to host other files if needed.
-
- https://bugs.webkit.org/show_bug.cgi?id=35944
-
- * TestResultServer: Added.
- * TestResultServer/app.yaml: Added.
- * TestResultServer/handlers: Added.
- * TestResultServer/handlers/__init__.py: Added.
- * TestResultServer/handlers/menu.py: Added.
- * TestResultServer/handlers/testfilehandler.py: Added.
- * TestResultServer/index.yaml: Added.
- * TestResultServer/main.py: Added.
- * TestResultServer/model: Added.
- * TestResultServer/model/__init__.py: Added.
- * TestResultServer/model/testfile.py: Added.
- * TestResultServer/stylesheets: Added.
- * TestResultServer/stylesheets/form.css: Added.
- * TestResultServer/stylesheets/menu.css: Added.
- * TestResultServer/stylesheets/testfile.css: Added.
- * TestResultServer/templates: Added.
- * TestResultServer/templates/menu.html: Added.
- * TestResultServer/templates/showfilelist.html: Added.
- * TestResultServer/templates/uploadform.html: Added.
-
-2010-03-13 Dimitri Glazkov <dglazkov@chromium.org>
-
- Reviewed by David Levin.
-
- new-run-webkit-tests fails with --debug option.
- https://bugs.webkit.org/show_bug.cgi?id=36067
-
- * Scripts/webkitpy/layout_tests/port/mac.py:
-
-2010-03-13 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Add "Show FPS" menu option to QtLauncher.
-
- [Qt] QtLauncher need a menu option to show/hide FPS
- https://bugs.webkit.org/show_bug.cgi?id=35794
-
- * QtLauncher/main.cpp:
- (LauncherWindow::showFPS):
- (LauncherWindow::createChrome):
-
-2010-03-13 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Add a "Toggle FullScreen" option to QtLauncher Menu.
-
- [Qt] QtLauncher needs an option to toggle FullScreen Mode
- https://bugs.webkit.org/show_bug.cgi?id=35755
-
- * QtLauncher/main.cpp:
- (LauncherWindow::init):
- (LauncherWindow::eventFilter):
- (LauncherWindow::initializeView):
- (LauncherWindow::toggleFullScreenMode):
- (LauncherWindow::createChrome):
-
-2010-03-12 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Fix typo in websocket_server (path_from_base instead of
- path_from_chromium_base).
-
- https://bugs.webkit.org/show_bug.cgi?id=36074
-
- * Scripts/webkitpy/layout_tests/port/websocket_server.py:
-
-2010-03-12 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Adam Barth.
-
- new-run-webkit-tests --new-baseline doesn't work at all.
-
- It attempts to call a method that isn't defined. To fix it, I
- removed the unnecessary and unnecessarily confusing 'platform'
- argument to the test_type constructor and use the Port object that
- is passed in instead, since we are only ever generating a baseline
- from the port that is currently executing.
-
- https://bugs.webkit.org/show_bug.cgi?id=36046
-
- * Scripts/webkitpy/layout_tests/port/mac.py:
- * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
- * Scripts/webkitpy/layout_tests/test_types/test_type_base.py:
-
-2010-03-12 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Adam Barth.
-
- Fix new-run-webkit-tests --run-singly
-
- This script option is currently broken - the script attempts to
- dereference methods and variables that don't exist, which causes
- the Chromium Linux valgrind bot to be quite unhappy. This has been
- broken since r54449 when I renamed Port.start_test_driver to
- Port.start_driver.
-
- https://bugs.webkit.org/show_bug.cgi?id=36042
-
- * Scripts/webkitpy/layout_tests/layout_package/test_shell_thread.py:
-
-2010-03-12 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Fix critical being printed to stderr on every test. This is
- because the jar is only being created when soup hits the HTTP
- path. We should reconsider the time of its creation.
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (resetDefaultsToConsistentValues):
-
-2010-03-12 Adam Roben <aroben@apple.com>
-
- Teach prepare-ChangeLog to find modified selectors in CSS files
-
- Reviewed by Tim Hatcher.
-
- Fixes <http://webkit.org/b/36064> prepare-ChangeLog should extract
- modified selectors from CSS files
-
- * Scripts/prepare-ChangeLog:
- (get_function_line_ranges): Call get_selector_line_ranges_for_css for
- .css files.
- (get_selector_line_ranges_for_css): Added. Finds selectors and their
- line ranges and returns them.
-
-2010-03-12 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Build fix (for EWS). Make sure the new code builds on older soup.
-
- Thanks to Dan Winship.
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (resetDefaultsToConsistentValues):
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::setAlwaysAcceptCookies):
-
-2010-03-12 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Eric Carlson.
-
- [GTK] DRT does not handle cookie policy setting
- https://bugs.webkit.org/show_bug.cgi?id=36056
-
- Implement cookie accept policy setting for GTK+'s LayoutTestController.
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (resetDefaultsToConsistentValues):
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::setAlwaysAcceptCookies):
-
-2010-03-12 Adam Langley <agl@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [chromium]: update Linux layout test scripts for RedHat like systems.
-
- (Tested on Fedora 12.)
-
- https://bugs.webkit.org/show_bug.cgi?id=35867
-
- * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
-
-2010-03-12 Adam Roben <aroben@apple.com>
-
- Make svn-create-patch's diffs of ObjC header files more readable
-
- Fixes <http://webkit.org/b/36055>.
-
- Reviewed by John Sullivan.
-
- * Scripts/svn-create-patch:
- (diffOptionsForFile): Added. Returns the options that should be passed
- to diff for the given file. All the options are the same for all
- files, except for the option to specify which lines should be used as
- hunk headers.
- (generateDiff): Use diffOptionsForFile to get the options to pass to
- diff.
- (hunkHeaderLineRegExForFile): Added. Returns the regular expression
- that should be used by diff to identify lines that should be included
- after the "@@" in the hunk header lines of the diff. For ObjC[++]
- source files, we use any lines starting with -, +, or
- @implementation/@interface/@protocol. For ObjC[++] header files (which
- we assume to be any .h files in a mac/ or objc/ directory), we use any
- lines starting with @implementation/@interface/@protocol.
-
-2010-03-12 Jochen Eisinger <jochen@chromium.org>
-
- Reviewed by Jeremy Orlow.
-
- Introduce setWillSendRequestClearHeader to LayoutTestController to selectively remove headers in willSendRequest. Used in http/tests/security/no-referrer.html
- https://bugs.webkit.org/show_bug.cgi?id=35920
-
- * DumpRenderTree/LayoutTestController.cpp:
- (setWillSendRequestClearHeaderCallback):
- (LayoutTestController::staticFunctions):
- * DumpRenderTree/LayoutTestController.h:
- (LayoutTestController::willSendRequestClearHeaders):
- (LayoutTestController::setWillSendRequestClearHeader):
- * DumpRenderTree/mac/ResourceLoadDelegate.mm:
- (-[ResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]):
- * DumpRenderTree/win/ResourceLoadDelegate.cpp:
- (ResourceLoadDelegate::willSendRequest):
-
-2010-03-11 Fumitoshi Ukai <ukai@chromium.org>
-
- Unreviewed.
-
- Fix typo in websocket_server.py
-
- * Scripts/webkitpy/layout_tests/port/websocket_server.py:
-
-2010-03-11 Garret Kelly <gdk@chromium.org>
-
- Reviewed by Darin Adler.
-
- Fixing minor typo in the commit queue status page.
- https://bugs.webkit.org/show_bug.cgi?id=35979
-
- * Scripts/webkitpy/commands/queues.py:
-
-2010-03-11 Fumitoshi Ukai <ukai@chromium.org>
-
- Unreviewed.
-
- Fix for WebSocket layout test runner on chromium/win port.
-
- * Scripts/webkitpy/layout_tests/port/websocket_server.py: register_cygwin and set CYGWIN_PATH
-
-2010-03-11 Mark Rowe <mrowe@apple.com>
-
- Reviewed by David Kilzer.
-
- <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version
-
- Default to using the appropriate SDK if the target Mac OS X version is not the current Mac OS X version.
-
- * DumpRenderTree/mac/Configurations/Base.xcconfig:
-
-2010-03-11 Victor Wang <victorw@chromium.org>
-
- Reviewed by dglazkov@chromium.org.
-
- rebaseline_chromium_webkit_tests can generate new baselines for
- all platforms so it needs to know two ports in order to work correctly:
- the port that the script is running on and the port that it generates
- new baselines for. Update rebaselining tool to handle both port correctly.
-
- https://bugs.webkit.org/show_bug.cgi?id=36032
-
- * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
-
-2010-03-11 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Tim Hatcher.
-
- <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version
-
- Introduce TARGET_MAC_OS_X_VERSION_MAJOR to represent the Mac OS X version that is being targeted. It defaults to the
- current Mac OS X version unless otherwise specified.
-
- Key off TARGET_MAC_OS_X_VERSION_MAJOR where we'd previously been keying off MAC_OS_X_VERSION_MAJOR.
-
- Explicitly map from the target Mac OS X version to the preferred compiler since Xcode's default compiler choice
- may not be usable when targetting a different Mac OS X version.
-
- Key off TARGET_GCC_VERSION rather than MAC_OS_X_VERSION_MAJOR in locations where we'd previously been keying off
- MAC_OS_X_VERSION_MAJOR but the decision is really related to the compiler version being used.
-
- * DumpRenderTree/mac/Configurations/Base.xcconfig:
- * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
- * DumpRenderTree/mac/DumpRenderTree.mm: Wrap the include of mach-o/getsect.h in 'extern "C"' as some versions of the
- header in older SDKs do not do this inside the header.
-
-2010-03-11 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Geoff Garen.
-
- https://bugs.webkit.org/show_bug.cgi?id=35965
- <rdar://problem/7742771> Crash when passing an object returned from plug-in back to the plug-in
-
- Made rememberedObject a member of PluginObject. A plug-in must not use its references
- to browser NPObjects after being destroyed, but this wasn't the case with static variable.
-
- * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
- (pluginInvoke):
- (pluginInvalidate):
- (pluginAllocate):
- (pluginDeallocate):
- * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.h:
-
-2010-03-11 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=35905
- REGRESSION(55699?): media/video-no-autoplay.html times out on Leopard Commit Bot
-
- Make sure we reset the WebGL preference, so that WebGL doesn't get left
- on after being enabled via layoutTestController.overridePreference(),
- which in turn causes accelerated compositing to be enabled on Leopard
- when we don't want it to be.
-
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (resetDefaultsToConsistentValues):
-
-2010-03-10 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- rebaseline_chromium_webkit_tests doesn't handle other plaforms
- correctly (e.g., if you run on the Mac platform and try to
- rebaseline the WIN results, the result gets written into
- platform/mac instead of platform/chromium-win). Also, this script
- doesn't work on non-Chromium ports, so we need to fix that at some
- point.
-
- https://bugs.webkit.org/show_bug.cgi?id=35982
-
- * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
-
-2010-03-10 Daniel Bates <dbates@rim.com>
-
- Reviewed by Simon Hausmann.
-
- https://bugs.webkit.org/show_bug.cgi?id=35840
-
- Updates the subroutine builtDylibPathForName() so that it adds the "d" suffix to
- the QtWebKit library name on Windows. This change makes run-launcher work again
- under Windows. Moreover, this change corresponds to the change made in change-
- set 53924 <http://trac.webkit.org/changeset/53924>.
-
- * Scripts/webkitdirs.pm:
-
-2010-03-10 Adam Roben <aroben@apple.com>
-
- Roll out the prepare-ChangeLog part of r55870
-
- This change wasn't needed (prepare-ChangeLog calls svn-create-patch
- when it's asked to print out diffs for the user) and was screwing up
- its ability to find changed function names.
-
- * Scripts/prepare-ChangeLog:
- (diffCommand): Change the options we pass to svn-diff back to their
- pre-r55870 form.
-
-2010-03-10 Robert Hogan <robert@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Add Support for WebKitEnableCaretBrowsing to Qt DRT
-
- Unskip test fast/events/multiline-link-arrow-navigation.html
-
- https://bugs.webkit.org/show_bug.cgi?id=35593
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::WebPage::resetSettings):
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::overridePreference):
- (LayoutTestController::setCaretBrowsingEnabled):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
-
-2010-03-10 Robert Hogan <robert@webkit.org>
-
- Reviewed by Holger Freyther.
-
- QtLauncher: Fix typo in conditional statement in
- WebViewGraphicsBased::setFrameRateMeasurementEnabled.
-
- '=' should be '=='!
-
- https://bugs.webkit.org/show_bug.cgi?id=35877
-
- * QtLauncher/webview.cpp:
- (WebViewGraphicsBased::setFrameRateMeasurementEnabled):
-
-2010-03-10 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Shinichiro Hamaji.
-
- Refactored and cleaned up the code for unit-testing logging.
-
- https://bugs.webkit.org/show_bug.cgi?id=35845
-
- * Scripts/webkitpy/init/logtesting.py:
- - Added more information to the module docstring.
- - Added an assertMessages() method to the UnitTestLogStream
- class. This simplifies the calling code.
- - Renamed the UnitTestLog class to LogTesting, and reformulated
- it as follows:
- - Moved the logging configuration code from the __init__
- method to a new static setUp() method.
- - Documented the __init__ method to be private.
- - Improved the code so that the root logger does not have
- its logging level changed. Instead we set the handler's
- level. This makes the unit testing more unintrusive.
- - Updated the assertMessages() method to call the
- UnitTestLogStream class's assertMessages() method.
- - More fully documented the class.
-
- * Scripts/webkitpy/style/checker.py:
- - Added a logger parameter to the configure_logging() method.
- This allows us to prevent test messages from being sent
- to the root logger during unit testing, which may be
- rendering to the screen, etc.
- - Simplified the code by removing the _LevelLoggingFilter class.
- - Replaced the _LevelLoggingFilter class with a one-line lambda
- expression in configure_logging().
-
- * Scripts/webkitpy/style/checker_unittest.py:
- - Changed relative imports to absolute to comply more with PEP8.
- - In the ConfigureLoggingTest class:
- - Changed the setUp() method to prevent test messages from
- being propagated to the root logger.
- - Changed the _log() method to a data attribute.
- - Updated to accommodate changes to logtesting.py.
-
- * Scripts/webkitpy/style_references.py:
- - Updated an import statement.
-
-2010-03-10 Evan Martin <evan@chromium.org>
-
- Reviewed by Darin Adler.
-
- Python code for GDB 7 to support native printing of some WebCore types.
-
- * gdb/webcore.py: Added.
-
-2010-03-10 Adam Roben <aroben@apple.com>
-
- Make svn-create-patch and prepare-ChangeLog show better section
- headings for ObjC files
-
- This makes the text at the end of each "@@" line in a diff actually
- show the ObjC method or interface that contains the change, rather
- than whatever the most-recently-defined C function was.
-
- Fixes <http://webkit.org/b/35970>.
-
- Reviewed by John Sullivan.
-
- * Scripts/svn-create-patch: Pass -F'^[-+@]' to diff so that it will
- treat any lines starting with -, +, or @ as section heading lines.
- This works well for ObjC files, and shouldn't affect other types of
- files.
-
- * Scripts/prepare-ChangeLog: Changed the options passed to diff to
- match those used in svn-create-patch.
-
-2010-03-10 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- Link QtLauncher against the WebKit library using a relative rpath.
-
- This makes the launcher and the lib relocatable.
-
- * QtLauncher/QtLauncher.pro:
-
-2010-03-10 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Rubber-stamped by Simon Hausmann.
-
- [iExploder] Add new CSS Properties and HTML Attributes
-
- The update-iexploder-cssproperties script was used to update
- the various input files. The autobuffer HTML Attribute was removed
- from WebKit and I manually added it back to the htmlattrs.in like
- we have done it for other attributes in the past.
-
- * iExploder/htdocs/cssproperties.in:
- * iExploder/htdocs/htmlattrs.in:
- * iExploder/htdocs/htmltags.in:
-
-2010-03-09 Fumitoshi Ukai <ukai@chromium.org>
-
- Unreviewed.
-
- Obvious fix for --cgi-paths of pywebsocket.
-
- * Scripts/run-webkit-websocketserver:
- * Scripts/webkitpy/layout_tests/port/websocket_server.py:
-
-2010-03-09 Jakub Wieczorek <jwieczorek@webkit.org>
-
- Unreviewed.
-
- Adding myself to committers.py.
-
- * Scripts/webkitpy/committers.py:
-
-2010-03-09 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Nate Chapin.
-
- Fix --clobber-old-results in new-run-webkit-tests.
-
- https://bugs.webkit.org/show_bug.cgi?id=35778
-
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
-
-2010-03-09 Andy Estes <aestes@apple.com>
-
- Reviewed by Adele Peterson.
-
- Add the ability to dispatch scroll wheel events in DRT. This was
- necessary in order to write a test for
- https://bugs.webkit.org/show_bug.cgi?id=34700.
-
- * DumpRenderTree/mac/EventSendingController.mm: Add support for two
- new methods to EventSender: mouseScrollBy(x, y) and
- continuousMouseScrollBy(x, y). The API to generate scroll events on
- the mac was added in 10.5, so these methods are NOOPs on Tiger.
- (+[EventSendingController isSelectorExcludedFromWebScript:]):
- Regiester mouseScrollByX:andY: and continuousMouseScrollByX:andY:
- (+[EventSendingController webScriptNameForSelector:]): Map JavaScript
- method names to ObjC selectors.
- (-[EventSendingController mouseScrollByX:andY:continuously:]): Generate
- a scroll wheel event using CGEventCreateScrollWheelEvent() and dispatch
- it to WebKit.
- (-[EventSendingController continuousMouseScrollByX:andY:]): Generate a
- continuous scrolling event by x and y pixels.
- (-[EventSendingController mouseScrollByX:andY:]): Generate a notchy
- scrolling event by x and y lines.
-
-2010-03-09 Chris Fleizach <cfleizach@apple.com>
-
- DRT build fix for Tiger. No review.
-
- AX: hit testing a list box doesn't work anymore
- https://bugs.webkit.org/show_bug.cgi?id=35893
-
- * DumpRenderTree/mac/AccessibilityControllerMac.mm:
- (AccessibilityController::elementAtPoint):
-
-2010-03-09 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Darin Adler.
-
- AX: hit testing a list box doesn't work anymore
- https://bugs.webkit.org/show_bug.cgi?id=35893
-
- * DumpRenderTree/AccessibilityController.cpp:
- (getElementAtPointCallback):
- (AccessibilityController::getJSClass):
- * DumpRenderTree/AccessibilityController.h:
- * DumpRenderTree/gtk/AccessibilityControllerGtk.cpp:
- (AccessibilityController::elementAtPoint):
- * DumpRenderTree/mac/AccessibilityControllerMac.mm:
- (AccessibilityController::elementAtPoint):
- * DumpRenderTree/win/AccessibilityControllerWin.cpp:
- (AccessibilityController::elementAtPoint):
-
-2010-03-03 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by Alexey Proskuryakov.
-
- pywebsocket should support html and cgi in the same directory.
- https://bugs.webkit.org/show_bug.cgi?id=34879
-
- Import pywebsocket 0.4.9.2
- Specify --server-host 127.0.0.1, so that it only binds listening socket
- to 127.0.0.1 to prevent access from non-localhost.
- Change --cgi-paths from /websocket/tests/cookies to /websocket/tests,
- because pywebsocket 0.4.9.2 supports html and cgi in the same directory
- and only executable (httponly-cookies.pl) will be handled as cgi
- script.
-
- * Scripts/run-webkit-tests:
- * Scripts/run-webkit-websocketserver:
- * Scripts/webkitpy/layout_tests/port/websocket_server.py:
- * Scripts/webkitpy/thirdparty/pywebsocket/README.webkit:
- * Scripts/webkitpy/thirdparty/pywebsocket/example/echo_client.py:
- * Scripts/webkitpy/thirdparty/pywebsocket/example/handler_map.txt: Added.
- * Scripts/webkitpy/thirdparty/pywebsocket/mod_pywebsocket/standalone.py:
- * Scripts/webkitpy/thirdparty/pywebsocket/mod_pywebsocket/util.py:
- * Scripts/webkitpy/thirdparty/pywebsocket/setup.py:
- * Scripts/webkitpy/thirdparty/pywebsocket/test/test_util.py:
- * Scripts/webkitpy/thirdparty/pywebsocket/test/testdata/README: Added.
- * Scripts/webkitpy/thirdparty/pywebsocket/test/testdata/hello.pl: Added.
-
-2010-03-09 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Shinichiro Hamaji.
-
- Simplified check-webkit-style's argument parsing code by removing
- support for the vestigial "extra flag values" parameter.
-
- https://bugs.webkit.org/show_bug.cgi?id=34677
-
- The "extra flag values" parameter was needed before WebKit
- forked check-webkit-style from Google. It was used to pass
- through the option parser those command-line flags that WebKit
- required but that Google's parser did not support (the --git-commit
- flag in particular).
- We can remove the parameter now because it is no longer
- needed and unnecessarily clutters the argument-parsing code.
-
- * Scripts/webkitpy/style/optparser.py:
- - Removed the extra_flag_values parameter from the
- CommandOptionValues class's constructor.
- - Removed the extra_flags parameter from the ArgumentParser
- class's parse() method.
-
- * Scripts/webkitpy/style/optparser_unittest.py:
- - Removed from the unit tests all references to the
- extra_flag_values variable.
-
-2010-03-08 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [DRT/Chromium] Add EventSender
- https://bugs.webkit.org/show_bug.cgi?id=35859
-
- Add EventSender classes, which are going to be used by
- DumpRenderTree Chromium port. These files are based on:
- - src/webkit/tools/test_shell/event_sending_controller.cc
- - src/webkit/tools/test_shell/event_sending_controller.h
- of Chromium rev.40492.
-
- * DumpRenderTree/chromium/EventSender.cpp: Added.
- * DumpRenderTree/chromium/EventSender.h: Added.
-
-2010-03-08 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [DRT/Chromium] Add PlainTextController and TextInputController
- https://bugs.webkit.org/show_bug.cgi?id=35852
-
- Add PlainTextController and TextInputController classes, which are going
- to be used by DumpRenderTree Chromium port. These files are based on:
- - src/webkit/tools/test_shell/plain_text_controller.{cc,h} and
- - src/webkit/tools/test_shell/text_input_controller.{cc,h}
- of Chromium rev.40492.
-
- * DumpRenderTree/chromium/PlainTextController.cpp: Added.
- * DumpRenderTree/chromium/PlainTextController.h: Added.
- * DumpRenderTree/chromium/TextInputController.cpp: Added.
- * DumpRenderTree/chromium/TextInputController.h: Added.
-
-2010-03-08 Dumitru Daniliuc <dumi@chromium.org>
-
- Unreviewed, Chromium build fix.
-
- Reverting r55689.
-
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
-
-2010-03-08 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by Adam Barth.
-
- Fix webkit-patch post and land to work well with security bug
- https://bugs.webkit.org/show_bug.cgi?id=35733
-
- Bugzilla requires authentication to access security bug page,
- so call authenticate() if it failed to fetch bug page.
-
- * Scripts/webkitpy/bugzilla.py:
-
-2010-03-04 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Dimitry Glazkov.
-
- Fix --clobber-old-results in new-run-webkit-tests.
-
- https://bugs.webkit.org/show_bug.cgi?id=35778
-
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
-
-2010-03-08 Brady Eidson <beidson@apple.com>
-
- Reviewed by NOBODY (but suggested by Steve Falkenburg and fixing a boneheaded mistake on my part last week)
-
- Followup to https://bugs.webkit.org/show_bug.cgi?id=35532
-
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::apiTestGoToCurrentBackForwardItem): Can't pass in a null BOOL to WebKit APIs.
-
-2010-03-08 Chris Jerdonek <cjerdonek@webkit.org>
-
- Unreviewed.
-
- Fixed incorrect import statement in validate-committer-lists:
- webkitpy.BeautifulSoup -> webkitpy.thirdparty.BeautifulSoup.
-
- * Scripts/validate-committer-lists:
-
-2010-03-08 Jian Li <jianli@chromium.org>
-
- Reviewed by Dmitry Titov.
-
- Blob.slice support.
- https://bugs.webkit.org/show_bug.cgi?id=32993
-
- Add ENABLE_BLOB_SLICE feature define and flag for build-webkit. It is
- currently only turned on for Mac.
-
- * Scripts/build-webkit:
-
-2010-03-08 Gustavo Noronha Silva <gns@gnome.org>
-
- No review, rolling out r55662.
- http://trac.webkit.org/changeset/55662
- https://bugs.webkit.org/show_bug.cgi?id=35863
-
- Need to be coordinated with bots setup
-
- * Scripts/run-webkit-tests:
-
-2010-03-08 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Holger Freyther.
-
- [GTK] Tests fail when running with ipv6 addresses available, on Debian systems
- https://bugs.webkit.org/show_bug.cgi?id=35863
-
- If running on a Debian-based system, also listen on the ipv6 address.
-
- * Scripts/run-webkit-tests:
-
-2010-03-08 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Darin Adler.
-
- [iexploder] Automatically update htmltags.in and htmlattrs.in too
- https://bugs.webkit.org/show_bug.cgi?id=33755
-
- Change the update-iexploder-cssproperites script to update
- the htmlattrs.in and htmltags.in of WebKitTools/iExploder/htdocs
- automatically as well.
-
- Change the reading and writing code to work with parameters
- and extend the method that is parsing the .in files to handle
- the HTMLTagNames.in and the HTMLAttributeNames.in files.
-
- Remove custom code to determine the revision of files with a
- utility of VCUtils.pm to determine the revision of the directory
- these files are located in. This will also work with git checkout.
-
- * Scripts/update-iexploder-cssproperties:
-
-2010-03-07 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Eric Seidel.
-
- check-webkit-style: false positive for empty loop
- https://bugs.webkit.org/show_bug.cgi?id=35717
-
- * Scripts/webkitpy/style/processors/cpp.py:
- * Scripts/webkitpy/style/processors/cpp_unittest.py:
-
-2010-03-07 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [DRT/Chromium] Add AccessibilityController and AccessibilityUIElement
- https://bugs.webkit.org/show_bug.cgi?id=35774
-
- Add AccessibilityController and AccessibilityUIElement classes,
- which are going to be used by DumpRenderTree Chromium port. These
- files are based on:
- - src/webkit/tools/test_shell/accessibility_controller.{cc,h} and
- - src/webkit/tools/test_shell/accessibility_ui_element.{cc,h}
- of Chromium rev.40492.
-
- * DumpRenderTree/chromium/AccessibilityController.cpp: Added.
- * DumpRenderTree/chromium/AccessibilityController.h: Added.
- * DumpRenderTree/chromium/AccessibilityUIElement.cpp: Added.
- * DumpRenderTree/chromium/AccessibilityUIElement.h: Added.
-
-2010-03-06 Hironori Bono <hbono@chromium.org>
-
- Reviewed by Eric Seidel.
-
- [Chromium] Typing into Flash with wmode = opaque|transparent and
- non-latin language active outputs as if US keyboard layout active
-
- https://bugs.webkit.org/show_bug.cgi?id=34936
-
- To test keyboard events on the test plugin, this change implements
- NPCocoaEventKeyDown and NPCocoaEventKeyUp handlers so the plugin
- can write log messages.
-
- * DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp:
- (handleEventCocoa): Implemented the event handlers for NPCocoaKeyDown
- and NPCocoaEventKeyUp.
-
-2010-03-05 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
-
- Reviewed by Eric Seidel.
-
- Fix Print option on QtLauncher by calling print directly from QWebFrame.
-
- [Qt] QtLauncher Print option is not working on QGraphicsView mode
- https://bugs.webkit.org/show_bug.cgi?id=35769
-
- * QtLauncher/main.cpp:
- (LauncherWindow::print):
-
-2010-03-05 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Changed the logging code for new-run-webkit-tests to use
- module-specific loggers rather than the root logger. This is
- a standard practice that allows logging specific to a package
- to be configured independently of other modules.
-
- https://bugs.webkit.org/show_bug.cgi?id=35194
-
- Added a line of the form "_log = logging.getLogger(<module>)"
- to each module below, where <module> is the fully-qualified
- name of the module, and updated the log lines to use the new
- _log logger.
-
- * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
- * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py:
- * Scripts/webkitpy/layout_tests/layout_package/test_shell_thread.py:
- * Scripts/webkitpy/layout_tests/port/apache_http_server.py:
- * Scripts/webkitpy/layout_tests/port/chromium.py:
- * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
- * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
- * Scripts/webkitpy/layout_tests/port/chromium_win.py:
- * Scripts/webkitpy/layout_tests/port/http_server.py:
- * Scripts/webkitpy/layout_tests/port/http_server_base.py:
- * Scripts/webkitpy/layout_tests/port/mac.py:
- * Scripts/webkitpy/layout_tests/port/websocket_server.py:
- * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
- * Scripts/webkitpy/layout_tests/test_types/fuzzy_image_diff.py:
- * Scripts/webkitpy/layout_tests/test_types/image_diff.py:
- * Scripts/webkitpy/layout_tests/test_types/test_type_base.py:
- * Scripts/webkitpy/layout_tests/test_types/text_diff.py:
-
-2010-03-05 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Eric Siedel.
-
- Split the command-line invocation of the Chromium/python LigHTTPd
- server implementation out into its own top level script to make it
- a more "public" interface and to resolve some awkward layering
- issues. This script will be called directly by other test scripts in
- the Chromium tree.
-
- At some point this script should be made to work with Apache-based
- implementations and on other ports. I have filed
- https://bugs.webkit.org/show_bug.cgi?id=35820 for this.
-
- Also fix a bug in port/factory where options.chromium could be
- dereferenced even if it wasn't set, raising an exception.
-
- https://bugs.webkit.org/show_bug.cgi?id=35812
-
- * Scripts/webkitpy/layout_tests/port/factory.py:
- * Scripts/webkitpy/layout_tests/port/http_server.py:
- * Scripts/new-run-webkit-httpd: Added
-
-2010-03-02 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Holger Freyther
- Patch by Antonio Gomes <tonikitoo@webkit.org>
-
- [Gtk] Implement setSpatialNavigationEnabled in DRT.
- https://bugs.webkit.org/show_bug.cgi?id=35705
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (resetDefaultsToConsistentValues):
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::setSpatialNavigationEnabled):
-
-2010-02-23 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Kenneth Christiansen.
- Patch by Antonio Gomes <tonikitoo@webkit.org>
-
- Add toggle on/off stub methods for Spatial Navigation in win, gtk and mac LayoutTestController class implementations.
- https://bugs.webkit.org/show_bug.cgi?id=35699
-
- * DumpRenderTree/LayoutTestController.cpp:
- (setSpatialNavigationEnabledCallback):
- (LayoutTestController::staticFunctions):
- * DumpRenderTree/LayoutTestController.h:
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::setSpatialNavigationEnabled):
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (LayoutTestController::setSpatialNavigationEnabled):
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::setSpatialNavigationEnabled):
-
-2010-02-18 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Kenneth Christiansen.
- Patch by Antonio Gomes <tonikitoo@webkit.org>
-
- Add toggle on/off mechanism for Spatial Navigation in QtLauncher.
-
- * QtLauncher/main.cpp:
- (LauncherWindow::toggleSpatialNavigation):
- (LauncherWindow::setupUI):
-
-2010-03-02 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Simon Hausmann.
- Patch by Antonio Gomes <tonikitoo@webkit.org>
-
- [Qt] Add setSpatialNavigationEnabled method DRT
- https://bugs.webkit.org/show_bug.cgi?id=33715
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::WebPage::WebPage):
- (WebCore::WebPage::resetSettings):
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::setSpatialNavigationEnabled):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
-
- Unskipped fast/events/spatialnavigation/
-
-2010-03-04 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Alice Liu.
-
- Find the framework relative to TARGET_BUILD_DIR as that has a more obvious value during production builds.
-
- * Scripts/check-for-webkit-framework-include-consistency:
-
-2010-03-04 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [DRT/Chromium] Add CppVariant and CppBoundClass
- https://bugs.webkit.org/show_bug.cgi?id=35634
-
- Add CppVariant and CppBoundClass classes, which are going to be
- used by DumpRenderTree Chromium port. These files are based on:
- - src/webkit/glue/cpp_variant.{cc,h} and
- - src/webkit/glue/cpp_bound_class.{cc,h}
- of Chromium rev.40492.
-
- * DumpRenderTree/chromium/CppBoundClass.cpp: Added.
- * DumpRenderTree/chromium/CppBoundClass.h: Added.
- * DumpRenderTree/chromium/CppVariant.cpp: Added.
- * DumpRenderTree/chromium/CppVariant.h: Added.
-
-2010-03-04 Mark Rowe <mrowe@apple.com>
-
- Build fix for older versions of Ruby.
-
- * Scripts/check-for-webkit-framework-include-consistency:
-
-2010-03-04 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Sam Weinig.
+ Adding myself as a reviewer.
- Add a script to verify that WebKit framework headers are internally consistent.
-
- This script detects the following problematic situations:
- * An exported WebKit header that includes a header from WebCore.
- * An exported WebKit header that includes a header that does not exist in the WebKit framework.
- * A public WebKit header that includes a private WebKit header.
-
- * Scripts/check-for-webkit-framework-include-consistency: Added.
-
-2010-03-04 Dumitru Daniliuc <dumi@chromium.org>
-
- Reviewed by Adam Roben.
-
- Making sure that the correct path is set before invoking
- DumpRenderTree on cygwin.
-
- https://bugs.webkit.org/show_bug.cgi?id=35768
-
- * Scripts/run-webkit-tests:
-
-2010-03-04 Simon Fraser <simon.fraser@apple.com>
-
- Revert the exceptions I just added, and make the error clearer.
-
- * Scripts/check-for-global-initializers:
-
-2010-03-04 Simon Fraser <simon.fraser@apple.com>
-
- Build fix: add exceptions to the check-for-global-initializers script
- for FocusController and SpatialNavigation, and improve the script
- to actually print out the globals found.
-
- * Scripts/check-for-global-initializers:
-
-2010-03-04 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Fix dangling reference to "port" instead of "self._port_obj" that
- was preventing the http_server from starting on Windows.
-
- * Scripts/webkitpy/layout_tests/port/http_server.py:
-
-2010-03-04 Diego Gonzalez <diego.gonzalez@openbossa.org>
-
- Reviewed by Simon Hausmann.
-
- Make Qt DumpRenderTree EventSender able to send double click events
-
- LayoutTests:
- fast/events/dblclick-addEventListener.html
-
- [Qt] DRT: Send double click event from EventSender
- https://bugs.webkit.org/show_bug.cgi?id=35255
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting):
- * DumpRenderTree/qt/EventSenderQt.cpp:
- (EventSender::EventSender):
- (EventSender::mouseDown):
- * DumpRenderTree/qt/EventSenderQt.h:
- (EventSender::resetClickCount):
-
-2010-03-04 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Make the OUTPUT_DIR variable in qmake projects independent of build-webkit's logic.
-
- This also allows shadow builds relying only on qmake to work properly.
-
- * DumpRenderTree/qt/DumpRenderTree.pro:
- * DumpRenderTree/qt/ImageDiff.pro:
- * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro:
- * QtLauncher/QtLauncher.pro:
-
-2010-03-04 Gabor Rapcsanyi <rgabor@inf.u-szeged.hu>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Enable to use built-product-archive on Qt platform.
-
- * BuildSlaveSupport/built-product-archive:
-
-2010-03-03 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
-
- Reviewed by Simon Hausmann.
-
- Add a missing 'm_' to class variables names.
-
- [Qt] QtLauncher is not respecting class variable names
- https://bugs.webkit.org/show_bug.cgi?id=35542
-
- * QtLauncher/main.cpp:
- (LauncherWindow::LauncherWindow):
- (LauncherWindow::init):
- (LauncherWindow::sendTouchEvent):
- (LauncherWindow::eventFilter):
- (LauncherWindow::zoomIn):
- (LauncherWindow::zoomOut):
- (LauncherWindow::resetZoom):
- (LauncherWindow::setEditable):
- (LauncherWindow::setTouchMocking):
- (LauncherWindow::initializeView):
- (LauncherWindow::createChrome):
-
-2010-03-03 Alexey Proskuryakov <ap@apple.com>
-
- Rubber-stamped by Mark Rowe.
-
- Exclude leaks in Java that build bot complains about.
-
- * Scripts/run-webkit-tests:
-
-2010-03-03 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Simon Fraser.
-
- Additional change to separate Accelerated Compositing test from 3D Rendering test
- https://bugs.webkit.org/show_bug.cgi?id=35610
-
- I am now using #if ENABLED(3D_RENDERING) to emit the 3DRendering string from
- DRT or not. This allows these flags to set independently. I also improved
- the code flow in run-webkit-tests a bit.
-
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (main):
- * Scripts/run-webkit-tests:
-
-2010-03-03 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Simon Fraser.
-
- Added ability to print supported features to console to DRT
- https://bugs.webkit.org/show_bug.cgi?id=35610
-
- This currently only prints whether or not Accelerated Compositing
- and 3D Rendering are supported, which is the only way to tell if you
- can run the compositing LayoutTests on Windows. But it can be expanded
- to give more information as needed. Currently it prints that both
- AcceleratedCompositing and 3DRendering are available if accelerated compositing
- is enabled since both have to be turned on together. This allows me to maintain
- separate checks for them.
-
- * DumpRenderTree/win/DumpRenderTree.cpp:Added --print-supported-features flag
- (main):
- * Scripts/run-webkit-tests:Runs DRT and enabled compositing tests if HW comp is available on Windows
-
-2010-03-03 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
-
- Reviewed by Simon Hausmann.
-
- Refactor QtLauncher so it respects command line arguments
- and inherits settings when you clone or create a new window.
-
- Implemented with help of Kenneth Rohde Christiansen.
-
- [Qt] QtLauncher must be refactored to fix command line arguments usage
- https://bugs.webkit.org/show_bug.cgi?id=35536
-
- * QtLauncher/main.cpp:
- (LauncherWindow::LauncherWindow):
- (LauncherWindow::init):
- (LauncherWindow::isGraphicsBased):
- (applySetting):
- (LauncherWindow::applyPrefs):
- (LauncherWindow::initializeView):
- (LauncherWindow::newWindow):
- (LauncherWindow::cloneWindow):
- (LauncherWindow::createChrome):
- (main):
- * QtLauncher/webview.cpp:
- (WebViewGraphicsBased::WebViewGraphicsBased):
- (WebViewGraphicsBased::setFrameRateMeasurementEnabled):
- * QtLauncher/webview.h:
- (WebViewGraphicsBased::itemCacheMode):
- (WebViewGraphicsBased::frameRateMeasurementEnabled):
-
-2010-03-02 Arno Renevier <arno@renevier.net>
-
- Reviewed by Gustavo Noronha Silva.
-
- [Gtk] implements ChromeClient::requestGeolocationPermissionForFrame
- https://bugs.webkit.org/show_bug.cgi?id=35210
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (geolocationPolicyDecisionRequested):
- (createWebView):
-
-2010-03-02 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by David Levin.
-
- Revert r55339 - the Chromium codebase downstream had a temporary
- need for WebKitTools/pywebsocket to still exist after Chris Jerdonek
- had moved it (scripts still referenced the old location). Those
- scripts have been updated to the new location, so it should be safe
- to delete this now.
-
- https://bugs.webkit.org/show_bug.cgi?id=35614
-
- * pywebsocket/mod_pywebsocket/standalone.py: Removed.
-
-2010-03-02 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- new-run-webkit-tests on chromium-linux tests to see if
- layout_test_helper exists, but we don't use layout_test_helper on
- linux. The test derefences a None object, and we crash. This fixes
- that.
-
- https://bugs.webkit.org/show_bug.cgi?id=35602
-
- * Scripts/webkitpy/layout_tests/port/chromium.py:
-
- 2010-03-02 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- r55388 (bug 35553) worked around a bug in Python's subprocess.Popen()
- that was causing DRT to hang on exit in new-run-webkit-tests.
- Unfortunately, that workaround doesn't work on chromium-win
- (and the script fails completely). The good news is that the check
- isn't actually necessary, and so this change makes it conditional.
-
- https://bugs.webkit.org/show_bug.cgi?id=35601
-
- * Scripts/webkitpy/layout_tests/port/chromium.py:
-
-2010-03-02 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Darin Adler.
-
- Bug 35576: WebKit should tell plug-in instances when private browsing state changes
- <http://webkit.org/b/35576>
-
- TestNetscapePlugin is another bit of plug-in code where copy-paste was heavily used
- when porting. Update the Windows and UNIX implementations of NPP_New and NPP_SetValue
- to provide the expected behavior related to NPNVprivateModeBool. Hopefully this code
- duplication can be cleaned up in the future.
-
- * DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp:
- (webkit_test_plugin_new_instance):
- (webkit_test_plugin_set_value):
- * DumpRenderTree/win/TestNetscapePlugin/main.cpp:
- (NPP_New):
- (NPP_SetValue):
-
-2010-03-02 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Alexey Proskuryakov.
-
- Test plugin still has issues with releasing objects, and variants
- https://bugs.webkit.org/show_bug.cgi?id=35587
-
- Fix the conditions for releasing the variants after calling
- invoke, and avoid having a number of objects leak.
-
- * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
- (testDocumentOpen):
- (testWindowOpen):
-
-2010-03-02 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Shinichiro Hamaji.
-
- Refactored the StyleChecker class's file-processing method
- _process_file(). This will make it easier to add new
- file-processing capabilities to check-webkit-style.
-
- https://bugs.webkit.org/show_bug.cgi?id=35490
-
- * Scripts/webkitpy/style/checker.py:
- - Added a _read_lines() method to the StyleChecker class
- that extracts the lines from a file.
- - Replaced part of _process_file() with a call to the new
- _read_lines() method.
- - Replaced another part of _process_file() with a call
- to the new CarriageReturnProcessor.process() method.
-
- * Scripts/webkitpy/style/processors/common.py:
- - Replaced the check_no_carriage_return() function with a
- new CarriageReturnProcessor class.
-
- * Scripts/webkitpy/style/processors/common_unittest.py:
- - Renamed the CarriageReturnTest class to
- CarriageReturnProcessorTest and updated it as necessary.
-
-2010-03-02 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Shinichiro Hamaji.
-
- Started using the logging module in check-webkit-style.
- This provides more options for debugging and a more flexible,
- uniform way to report messages to the end-user.
-
- https://bugs.webkit.org/show_bug.cgi?id=35484
-
- Also included classes in a central location to facilitate
- the unit testing of logging code (setUp and tearDown of unit
- test logging configurations, etc).
-
- * Scripts/check-webkit-style:
- - Added a call to configure_logging() in the beginning of main().
- - Replaced two calls to sys.stderr.write() with appropriate
- logging calls.
-
- * Scripts/webkitpy/init/__init__.py: Copied from WebKitTools/QueueStatusServer/filters/__init__.py.
-
- * Scripts/webkitpy/init/logtesting.py: Added.
- - Added a UnitTestLogStream class to capture log output
- during unit tests.
- - Added a UnitTestLog class that provides convenience methods
- for unit-testing logging code.
-
- * Scripts/webkitpy/style/checker.py:
- - Added a configure_logging() method.
- - Added a _LevelLoggingFilter class to filter out log messages
- above a certain logging level.
- - Removed the _stderr_write() method from the StyleChecker class
- and replaced its use with appropriate logging calls.
-
- * Scripts/webkitpy/style/checker_unittest.py:
- - Added a ConfigureLoggingTest class to unit test the
- configure_logging() method.
- - Updated the StyleCheckerCheckFileTest class as necessary.
-
- * Scripts/webkitpy/style_references.py:
- - Added references to logtesting.UnitTestLog and
- logtesting.UnitTestLogStream.
-
-2010-03-01 Chris Fleizach <cfleizach@apple.com>
-
- Fixing broken DRT on Leopard/Tiger. Second try.
-
- AX: changes to WAI-ARIA grid aren't perceived correctly by VoiceOver
- https://bugs.webkit.org/show_bug.cgi?id=35514
-
- * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
-
-2010-03-01 Chris Fleizach <cfleizach@apple.com>
-
- Fixing broken DRT on Leopard/Tiger.
-
- AX: changes to WAI-ARIA grid aren't perceived correctly by VoiceOver
- https://bugs.webkit.org/show_bug.cgi?id=35514
-
- * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
-
-2010-03-01 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Eric Seidel.
-
- [GTK] plugins/setProperty.html fails on 64bit Release
- https://bugs.webkit.org/show_bug.cgi?id=35425
-
- Check invoke's return code before releasing the variant, since
- there's a chance it won't be properly initialized, leading to
- memory corruption, in some cases.
-
- * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
- (testCallback):
- (testEnumerate):
- (testDocumentOpen):
- (testWindowOpen):
- (handleCallback):
-
-2010-03-01 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by nobody. Build bustage :(
-
- Fix stupid typo that I committed even after David Levin pointed
- it out to me :(
-
- https://bugs.webkit.org/show_bug.cgi?id=35553
-
- * Scripts/webkitpy/layout_tests/port/mac.py:
+ * Scripts/webkitpy/common/config/committers.py:
-2010-03-01 Chris Fleizach <cfleizach@apple.com>
+2010-05-28 Chris Fleizach <cfleizach@apple.com>
- Reviewed by Darin Adler.
+ Build fix. No review.
- AX: changes to WAI-ARIA grid aren't perceived correctly by VoiceOver
- https://bugs.webkit.org/show_bug.cgi?id=35514
+ AX: need to catch NSAccessibilityExceptions in DRT
+ https://bugs.webkit.org/show_bug.cgi?id=39881
- Add rowCount, columnCount for tables.
+ It looks like Tiger doesn't like seeing a NSMakeRange inside a @try.
- * DumpRenderTree/AccessibilityUIElement.cpp:
- (rowCountCallback):
- (columnCountCallback):
- (AccessibilityUIElement::getJSClass):
- * DumpRenderTree/AccessibilityUIElement.h:
- * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
- (AccessibilityUIElement::rowCount):
- (AccessibilityUIElement::columnCount):
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
- (AccessibilityUIElement::rowCount):
- (AccessibilityUIElement::columnCount):
- * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
- (AccessibilityUIElement::rowCount):
- (AccessibilityUIElement::columnCount):
-
-2010-03-01 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Work around a bug in Python's subprocess.Popen() that keeps us from
- cleaning up DumpRenderTree / test_shell properly when we finish the
- tests in new-run-webkit-tests.
-
- https://bugs.webkit.org/show_bug.cgi?id=35553
-
- * Scripts/webkitpy/layout_tests/port/chromium.py:
- * Scripts/webkitpy/layout_tests/port/mac.py:
-
-2010-03-01 Arno Renevier <arno@renevier.net>
-
- Reviewed by Xan Lopez.
-
- webkit-build could pass unknown arguments to autogen.sh
- https://bugs.webkit.org/show_bug.cgi?id=35454
-
- * Scripts/build-webkit:
-
-2010-03-01 Dirk Pranke <dpranke@chromium.org>
-
- Rubber-stamped by Dimitri Glazkov.
-
- Fix breakage from r55372.
-
- https://bugs.webkit.org/show_bug.cgi?id=35549
-
- * Scripts/webkitpy/layout_tests/port/chromium.py:
-
-2010-03-01 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- EWS can hang for five hours when compile output is too big
- https://bugs.webkit.org/show_bug.cgi?id=35545
-
- * Scripts/webkitpy/commands/queues.py: Limit uploads to 1MB instead of
- 5MB. AppEngine seems to not like 5MB uploads. I'm not sure what the
- limit is. Let's try 1MB for a while and see how it goes.
- * Scripts/webkitpy/networktransaction.py: Tune the default parameters
- to our exponential backoff. I'm not sure why I picked five hours as
- the retry limit. That seems way too large.
-
-2010-03-01 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig.
-
- REGRESSION: Telling a WebView to go to its current WebHistoryItem is broken.
- <rdar://problem/7699371> and https://bugs.webkit.org/show_bug.cgi?id=35532
-
- * DumpRenderTree/LayoutTestController.cpp:
- (apiTestGoToCurrentBackForwardItemCallback):
- (LayoutTestController::staticFunctions):
- * DumpRenderTree/LayoutTestController.h:
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (LayoutTestController::apiTestGoToCurrentBackForwardItem):
-
- Stubs for now:
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::apiTestGoToCurrentBackForwardItem):
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::apiTestGoToCurrentBackForwardItem):
- * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
- (LayoutTestController::apiTestGoToCurrentBackForwardItem):
-
-2010-03-01 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by David Levin.
-
- General cleanup of error handling in new-run-webkit-tests.
-
- Add Port.check_build() call that is separate from Port.check_sys_deps()
- (and add a --nocheck-build flag to skip). This breaks a circular
- dependency where you would start the layout test helper before
- checking sys deps, but checking sys deps was the thing that told
- you if your binaries where there.
-
- Also, made Port.check_sys_deps(), start_helper() and stop_helper()
- optional by providing default implementations in the base class
- rather than requiring ports to implement the routines regardless
- of whether or not they were needed.
-
- Lastly, tweak a bunch of log messages to be cleaner, including
- changing messages in thirdparty/autoinstall.py to be silent at
- the default log level.
-
- http://bugs.webkit.org/show_bug.cgi?id=35416
-
- * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py:
- * Scripts/webkitpy/layout_tests/port/base.py:
- * Scripts/webkitpy/layout_tests/port/chromium.py:
- * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
- * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
- * Scripts/webkitpy/layout_tests/port/chromium_win.py:
- * Scripts/webkitpy/layout_tests/port/mac.py:
- * Scripts/webkitpy/layout_tests/port/passing.py:
- * Scripts/webkitpy/layout_tests/port/test.py:
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
- * Scripts/webkitpy/thirdparty/autoinstall.py
-
-2010-03-01 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by David Levin.
-
- new-chromium-webkit-tests --platform=mac-leopard diffs are backwards
- https://bugs.webkit.org/show_bug.cgi?id=35265
-
- Some parts of the code passed arguments as
- "actual, expected" and some passed as "expected, actual".
- As you might imagine, this lead to great confusion and wrongness.
- Standardize on "expected, actual" as that's the order which is
- passed to the underlying diff tool.
-
- Based on a patch by Eric Siedel <eric@webkit.org>.
-
- * Scripts/webkitpy/layout_tests/port/base.py:
- * Scripts/webkitpy/layout_tests/port/chromium.py:
- * Scripts/webkitpy/layout_tests/port/test.py:
- * Scripts/webkitpy/layout_tests/test_types/image_diff.py
-
-2010-03-01 Chris Jerdonek <cjerdonek@webkit.org>
-
- Unreviewed.
-
- Rolling out: http://trac.webkit.org/changeset/55348
-
- https://bugs.webkit.org/show_bug.cgi?id=35163
-
- Rolling out since the changes to autoinstall do not work
- with Python 2.4. In particular, ZipFile.extractall() was
- added in Python 2.6.
-
- * Scripts/webkitpy/__init__.py:
- * Scripts/webkitpy/bugzilla.py:
- * Scripts/webkitpy/init/__init__.py: Removed.
- * Scripts/webkitpy/init/autoinstall.py: Removed.
- * Scripts/webkitpy/networktransaction.py:
- * Scripts/webkitpy/networktransaction_unittest.py:
- * Scripts/webkitpy/statusserver.py:
- * Scripts/webkitpy/thirdparty/autoinstall.py: Added.
-
-2010-03-01 Chris Jerdonek <cjerdonek@webkit.org>
-
- Unreviewed.
-
- Rolling out r55350: http://trac.webkit.org/changeset/55350
-
- https://bugs.webkit.org/show_bug.cgi?id=33639
-
- Need to roll out because this patch (pep8) depends on the newly
- rewritten autoinstall.py (r55348), which is breaking for people
- with Python 2.4:
-
- https://bugs.webkit.org/show_bug.cgi?id=35163#c21
-
- That revision also needs to be rolled out and will be rolled out next.
-
- * Scripts/webkitpy/style/checker.py:
- * Scripts/webkitpy/style/checker_unittest.py:
- * Scripts/webkitpy/style/processors/python.py: Removed.
- * Scripts/webkitpy/style/processors/python_unittest.py: Removed.
- * Scripts/webkitpy/style/processors/python_unittest_input.py: Removed.
- * Scripts/webkitpy/style/unittests.py:
- * Scripts/webkitpy/style_references.py:
-
-2010-02-28 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Shinichiro Hamaji.
-
- Exempted WebKitTools/Scripts/webkitpy/thirdparty from all
- style checks except for the whitespace/carriage_return check
- and the pep8 tab and trailing white space checks.
-
- https://bugs.webkit.org/show_bug.cgi?id=35497
-
- * Scripts/webkitpy/style/checker.py:
- - Adjusted the _PATH_RULES_SPECIFIER configuration as necessary.
- - Added enough pep8 categories to _all_categories() for the
- unit tests to pass.
-
- * Scripts/webkitpy/style/checker_unittest.py:
- - Updated the test_path_rules_specifier() unit test.
-
-2010-02-27 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by David Levin.
-
- Added Python style checking to check-webkit-style using
- the third-party pep8 module (via autoinstall).
-
- https://bugs.webkit.org/show_bug.cgi?id=33639
-
- * Scripts/webkitpy/style/checker.py:
- - Added PYTHON to FileType.
- - Updated ProcessorDispatcher to return a PythonProcessor
- for *.py files.
-
- * Scripts/webkitpy/style/checker_unittest.py:
- - Updated the ProcessorDispatcher unit tests for *.py files.
-
- * Scripts/webkitpy/style/processors/python.py: Added.
- - Added PythonProcessor class.
-
- * Scripts/webkitpy/style/processors/python_unittest.py: Added.
- - Added PythonProcessor unit tests.
-
- * Scripts/webkitpy/style/processors/python_unittest_input.py: Added.
- - Added a sample Python file to test the PythonProcessor.process()
- code path (since pep8 accepts a file path).
-
- * Scripts/webkitpy/style/unittests.py:
- - Updated the style unit test file to import python_unittest.py.
-
- * Scripts/webkitpy/style_references.py:
- - Adjusted style references to import pep8.
-
-2010-02-26 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by David Levin.
-
- Rewrote autoinstall.py to support unzipping *.zip files after
- download, unzipping and extracting *.tar.gz files after download,
- and copying installed files to a destination directory.
-
- https://bugs.webkit.org/show_bug.cgi?id=35163
-
- These changes will allow us to autoinstall pep8.py from the web
- and to put our third-party autoinstalled code in an explicit
- directory like webkitpy/thirdparty/autoinstalled. They should
- also speed up imports from autoinstalled *.zip packages slightly
- since *.pyc files cannot be generated when importing from
- zipped packages.
-
- * Scripts/webkitpy/__init__.py:
- - Updated the autoinstall lines to use the new autoinstall methods.
- - Added pep8.py to the list of auto-installed packages.
-
- * Scripts/webkitpy/bugzilla.py:
- - Updated mechanize import path.
-
- * Scripts/webkitpy/init/__init__.py: Copied from WebKitTools/QueueStatusServer/filters/__init__.py.
-
- * Scripts/webkitpy/init/autoinstall.py: Added.
- - Added AutoInstaller class.
- - Added sample testing usage to __main__.
-
- * Scripts/webkitpy/networktransaction.py:
- - Updated mechanize import path.
-
- * Scripts/webkitpy/networktransaction_unittest.py:
- - Updated mechanize import path.
-
- * Scripts/webkitpy/statusserver.py:
- - Updated mechanize import path.
-
- * Scripts/webkitpy/thirdparty/autoinstall.py: Removed.
- - Replaced with rewritten autoinstall in init/autoinstall.py.
-
-2010-02-26 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Adam Barth.
-
- Change the default port for new-run-webkit-tests when running on
- a Mac from 'chromium-mac' to 'mac'. Add a '--chromium' switch to
- pick up the default platform-specific version of chromium instead.
-
- https://bugs.webkit.org/show_bug.cgi?id=35462
-
- * Scripts/webkitpy/layout_tests/port/factory.py:
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
-
-2010-02-26 Dirk Pranke <dpranke@chromium.org>
-
- Unreviewed, build fix
-
- third time's the charm getting this path right?
-
- * pywebsocket/mod_pywebsocket/standalone.py:
-
-2010-02-26 Dumitru Daniliuc <dumi@chromium.org>
-
- Unreviewed, build fix.
-
- * pywebsocket/mod_pywebsocket/standalone.py:
-
-2010-02-26 Dumitru Daniliuc <dumi@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Moving the script to the right location.
-
- * pywebsocket/mod_pywebsocket: Added.
- * pywebsocket/mod_pywebsocket/standalone.py: Copied from WebKitTools/pywebsocket/standalone.py.
- * pywebsocket/standalone.py: Removed.
-
-2010-02-26 Dumitru Daniliuc <dumi@chromium.org>
-
- Unreviewed, fixing the license.
-
- * pywebsocket/standalone.py:
-
-2010-02-26 Dumitru Daniliuc <dumi@chromium.org>
-
- Reviewed by Adam Barth.
-
- Adding pywebsocket/standalone.py back to fix the Chromium webkit
- canaries. Once all layout tests pass, we can get in the patch that
- moves this directorty to WebKitTools/Scripts, update all Chromium
- scripts, and revert this patch.
-
- https://bugs.webkit.org/show_bug.cgi?id=35464
-
- * pywebsocket: Added.
- * pywebsocket/standalone.py: Added.
-
-2010-02-26 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- [GTK] Needs proper reporting of frame loader callbacks, in DRT
- https://bugs.webkit.org/show_bug.cgi?id=32170
-
- Fix reporting of unload handlers, so that it is emitted where
- needed, not after it.
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (webViewLoadFinished):
- (webViewDocumentLoadFinished):
- (createWebView):
-
-2010-02-26 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Gustavo Noronha.
- Patch by Antonio Gomes <tonikitoo@webkit.org>
-
- [Gtk] Make DRT EventSender::keyDown to consider 'hardware_keycode' field when synthesizing an event.
- https://bugs.webkit.org/show_bug.cgi?id=35432
-
- When a directional key-press event (arrow keys, End, Home, PageUp,
- PageDown, etc) is synthesized by DRT's EventSender and it targets
- an editor (e.g. <input type=text>, <textare>, etc), event is processed
- by WebCore::EventHandler. On the other hand, if event target is not
- an editor, event is bubbled up to Gtk+ for processing. In such cases,
- if 'hardware_keycode' is not provided at event synthesize time
- its processing fails (at some point in gtk_bindings_activate_event),
- and no scroll action is performed.
-
- Unskip fast/events/node-event-anchor-lock.html
-
- * DumpRenderTree/win/EventSender.cpp:
- (keyDownCallback):
- * platform/gtk/Skipped:
-
-2010-02-26 Dimitri Glazkov <dglazkov@chromium.org>
-
- Reviewed by David Levin.
-
- new-webkit-run-tests: Extraneous parenthesis in websocket_server.py
- https://bugs.webkit.org/show_bug.cgi?id=35436
-
- * Scripts/webkitpy/layout_tests/port/websocket_server.py: Removed extra paren.
-
-2010-02-26 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by David Levin.
-
- Moved pywebsocket into the webkitpy/thirdparty directory and added
- an associated README.webkit file to the pywebsocket directory.
- This makes pywebsocket more consistent with the other third-party
- Python code in our repository.
-
- https://bugs.webkit.org/show_bug.cgi?id=35198
-
- * Scripts/run-webkit-tests:
- - Updated paths to pywebsocket.
-
- * Scripts/run-webkit-websocketserver:
- - Updated paths to pywebsocket.
-
- * Scripts/webkitpy/layout_tests/port/websocket_server.py:
- - Updated paths to pywebsocket.
-
- * Scripts/webkitpy/thirdparty/pywebsocket: Copied from WebKitTools/pywebsocket.
- * Scripts/webkitpy/thirdparty/pywebsocket/README.webkit: Added.
- - Added a file containing information about the contents
- of the pywebsocket directory. This will make it easier to
- understand where the third-party code came from and what
- local changes have been made.
-
- * pywebsocket: Removed.
- * pywebsocket/COPYING: Removed.
- * pywebsocket/MANIFEST.in: Removed.
- * pywebsocket/README: Removed.
- * pywebsocket/example: Removed.
- * pywebsocket/example/echo_client.py: Removed.
- * pywebsocket/example/echo_wsh.py: Removed.
- * pywebsocket/mod_pywebsocket: Removed.
- * pywebsocket/mod_pywebsocket/__init__.py: Removed.
- * pywebsocket/mod_pywebsocket/dispatch.py: Removed.
- * pywebsocket/mod_pywebsocket/handshake.py: Removed.
- * pywebsocket/mod_pywebsocket/headerparserhandler.py: Removed.
- * pywebsocket/mod_pywebsocket/memorizingfile.py: Removed.
- * pywebsocket/mod_pywebsocket/msgutil.py: Removed.
- * pywebsocket/mod_pywebsocket/standalone.py: Removed.
- * pywebsocket/mod_pywebsocket/util.py: Removed.
- * pywebsocket/setup.py: Removed.
- * pywebsocket/test: Removed.
- * pywebsocket/test/config.py: Removed.
- * pywebsocket/test/mock.py: Removed.
- * pywebsocket/test/run_all.py: Removed.
- * pywebsocket/test/test_dispatch.py: Removed.
- * pywebsocket/test/test_handshake.py: Removed.
- * pywebsocket/test/test_memorizingfile.py: Removed.
- * pywebsocket/test/test_mock.py: Removed.
- * pywebsocket/test/test_msgutil.py: Removed.
- * pywebsocket/test/test_util.py: Removed.
- * pywebsocket/test/testdata: Removed.
- * pywebsocket/test/testdata/handlers: Removed.
- * pywebsocket/test/testdata/handlers/blank_wsh.py: Removed.
- * pywebsocket/test/testdata/handlers/origin_check_wsh.py: Removed.
- * pywebsocket/test/testdata/handlers/sub: Removed.
- * pywebsocket/test/testdata/handlers/sub/exception_in_transfer_wsh.py: Removed.
- * pywebsocket/test/testdata/handlers/sub/no_wsh_at_the_end.py: Removed.
- * pywebsocket/test/testdata/handlers/sub/non_callable_wsh.py: Removed.
- * pywebsocket/test/testdata/handlers/sub/plain_wsh.py: Removed.
- * pywebsocket/test/testdata/handlers/sub/wrong_handshake_sig_wsh.py: Removed.
- * pywebsocket/test/testdata/handlers/sub/wrong_transfer_sig_wsh.py: Removed.
-
-2010-02-26 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Changed the diff_parser module to log to a module-specific
- logging.logger rather than the root logger.
-
- https://bugs.webkit.org/show_bug.cgi?id=35391
-
- * Scripts/webkitpy/diff_parser.py:
-
-2010-02-26 Csaba Osztrogonác <ossy@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] LayoutTestController.numberOfPages() should have default parameters
- https://bugs.webkit.org/show_bug.cgi?id=35428
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp: maxViewWidth and maxViewHeight moved to
- LayoutTestController to converge to platform independent implementation.
- (WebCore::DumpRenderTree::DumpRenderTree):
- (WebCore::DumpRenderTree::open):
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp: Initialization of maxViewWidth and maxViewHeight added.
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
- - Default parameters for LayoutTestController.numberOfPages() added.
- - maxViewWidth and maxViewHeight members added.
-
-2010-02-26 Jamey Hicks <jamey.hicks@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] added QWebSettings::setInspectorUrl() and QWebSettings::inspectorUrl()
-
- Enables the use of alternate Web Inspector frontends by changing
- the location of the frontend. The location is specified by providing
- -inspector-url url
- as an argument to QtLauncher.
-
- This is required so that the Web Inspector may be run from an
- external process or an external tool such as Eclipse or Aptana may
- be used instead of the in-process Web Inspector UI.
-
- https://bugs.webkit.org/show_bug.cgi?id=35340
-
- * QtLauncher/main.cpp:
- (LauncherWindow::init):
- (LauncherApplication::handleUserOptions):
-
-2010-02-25 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Add a 'passing' port implementation to new-run-webkit-tests that
- acts as a wrapper around an existing implementation but stubs out
- the actual test invocations (instead, the expected results are echoed
- back to the harness). This is useful for coverage and perf testing
- of the harness (especially perf testing as it essentially provides
- a lower bound on how fast the harness can run).
-
- Also added a --nostart-helper flag to new-run-webkit-tests so that
- you can skip starting the layout_test_helper and actually run the
- harness even if you don't have a build of that port.
-
- Also fix a bug in the 'test' port implementation to actually
- create the results directory under /tmp instead of /.
-
- https://bugs.webkit.org/show_bug.cgi?id=35370
-
- * Scripts/webkitpy/layout_tests/port/factory.py: Modified.
- * Scripts/webkitpy/layout_tests/port/passing.py: Added.
- * Scripts/webkitpy/layout_tests/port/test.py: Added.
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py: Modified.
-
-2010-02-25 Eric Seidel <eric@webkit.org>
-
- Fix typo in my last change. No review.
-
- Rename run-chromium-webkit-tests to new-run-webkit-tests to stop confusion
- https://bugs.webkit.org/show_bug.cgi?id=35408
-
- * Scripts/new-run-webkit-tests:
-
-2010-02-25 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Rename run-chromium-webkit-tests to new-run-webkit-tests to stop confusion
- https://bugs.webkit.org/show_bug.cgi?id=35408
-
- * Scripts/new-run-webkit-tests: Added.
- * Scripts/run-chromium-webkit-tests: Removed.
- * Scripts/webkitpy/layout_tests/run_webkit_tests.py: Renamed from WebKitTools/Scripts/webkitpy/layout_tests/run_chromium_webkit_tests.py.
-
-2010-02-25 Adam Barth <abarth@webkit.org>
-
- Reviewed by David Levin.
-
- EWS leaks memory slowly
- https://bugs.webkit.org/show_bug.cgi?id=35395
-
- The EWS bots leak memory very slowly. If you run them for about a
- month, each one will take up around 1 GB of virutal memory. If you run
- several of them on one machine, you'll eventually exhaust all available
- memory and grind the bots to a halt.
-
- This patch introduces a --exit-after-iteration option to the queues so
- that we run them for a finite amount of time. Once they exit and
- restart, they'll reclaim the leaked memory. I'm not sure how many
- iterations I'll end up running them for. I'll need to sort that out
- operationally, but my initial guess is around 1000.
-
- * Scripts/webkitpy/commands/queues.py:
- * Scripts/webkitpy/commands/queues_unittest.py:
-
-2010-02-25 Jarkko Sakkinen <jarkko.sakkinen@tieto.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Qt WebGL support
-
- Adds toggling of WebGL support to QtLauncher.
- https://bugs.webkit.org/show_bug.cgi?id=35153
-
- * QtLauncher/main.cpp:
- (LauncherWindow::toggleWebGL):
- (LauncherWindow::setupUI):
-
-2010-02-25 Ben Murdoch <benm@google.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- The target element of a Touch should be the target where that touch originated, not where it is now.
- https://bugs.webkit.org/show_bug.cgi?id=34585
-
- * DumpRenderTree/qt/EventSenderQt.cpp:
- (EventSender::addTouchPoint): Fix a bug where touch points were not being given unique ids.
-
-2010-02-24 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] QtLauncher has a border when running on QGraphicsView mode
- https://bugs.webkit.org/show_bug.cgi?id=35352
-
- Fix 2-pixels frame on each border of QtLauncher when running on QGraphicsView mode.
-
- * QtLauncher/webview.cpp:
- (WebViewGraphicsBased::WebViewGraphicsBased):
-
-2010-02-23 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by David Levin.
-
- When the run-chromium-webkit-tests code was landed and the code was
- refactored into the 'port' package, I accidentally broke using
- http_server.py or websocket_server.py as command-line scripts
- (the constructors needed a port object they weren't getting). This
- change fixes them so that --server start|stop actually works.
-
- As a part of this, the two files need to be able to call port.get(),
- but doing that is awkward from a file inside the package, so I moved
- get() into factory.py and imported that into __init__.py so that
- http_server.py and websocket_server.py can just import factory.
-
- https://bugs.webkit.org/show_bug.cgi?id=35316
-
- * Scripts/webkitpy/layout_tests/port/__init__.py:
- * Scripts/webkitpy/layout_tests/port/factory.py:
- * Scripts/webkitpy/layout_tests/port/http_server.py:
- * Scripts/webkitpy/layout_tests/port/websocket_server.py:
-
-2010-02-24 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by David Levin.
-
- Fix the function signature for check_sys_deps on the mac port, and
- fix the ordering of port_obj.check_sys_deps() and
- port_obj.start_helper() (helper needs to be started before we check
- the system configuration).
-
- http://bugs.webkit.org/show_bug.cgi?id=35367
-
- * Scripts/webkitpy/layout_tests/port/mac.py:
- * Scripts/webkitpy/layout_tests/port/test.py:
- * Scripts/webkitpy/layout_tests/run_chromium_webkit_tests.py:
-
-2010-02-24 James Robinson <jamesr@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Provide default username parameter to SVN.commit_with_message().
-
- * Scripts/webkitpy/scm.py:
-
-2010-02-24 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Eric Siedel.
-
- Check the proper directory for a WebKit SVN version (Chromium does
- not check out the entire WebKit tree directly, but rather pulls
- individual subdirectories. So, checking for the SVN version in
- WebKit/WebCore rather than just in WebKit works more reliably across
- different ports).
-
- http://bugs.webkit.org/show_bug.cgi?id=35321
-
- * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
-
-2010-02-24 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Dan Bernstein.
-
- https://bugs.webkit.org/show_bug.cgi?id=35357
- Two editing tests fail after DumpRenderTree run loop changes
-
- AppKit decided that it wanted to group all editing commands for some reason (and thus undo
- reverted them all at once).
-
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (dump): Reverted the change that made DumpRenderTree use -[NSApplication run].
- (runTest): Ditto.
- (-[DumpRenderTreeApplication isRunning]): Override isRunning with a function that always
- returns YES. This is another way to make the Java plug-in work.
-
-2010-02-23 Adam Roben <aroben@apple.com>
-
- Make commit-log-editor find just-added ChangeLog files
-
- Fixes <http://webkit.org/b/35294> commit-log-editor doesn't find
- just-added ChangeLog files
-
- Reviewed by Dave Levin.
-
- * Scripts/commit-log-editor:
- (top level): Modified the regular expression that's used to find
- modified ChangeLog files to also look for just-added ChangeLog files.
-
-2010-02-24 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Darin Adler.
-
- check-webkit-style false positive for WebCore forwarding header
- https://bugs.webkit.org/show_bug.cgi?id=34604
-
- * Scripts/webkitpy/style/checker.py:
- * Scripts/webkitpy/style/checker_unittest.py:
-
-2010-02-23 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Mark Rowe.
-
- https://bugs.webkit.org/show_bug.cgi?id=22602
- Enable Java in DumpRenderTree (on Mac)
-
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (exitApplicationRunLoop):
- (dump):
- (runTest):
- DumpRenderTree now runs an NSApplication, not just an event loop. This way, the Java plug-in
- can start without freezing.
-
- * Scripts/run-webkit-tests: Compile java sources in LayputTests/java.
-
-2010-02-23 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Need a final integration between QtLauncher and QGVLauncher
- https://bugs.webkit.org/show_bug.cgi?id=35292
-
- WebKit coding style fixes.
-
- * QtLauncher/main.cpp:
- (LauncherWindow::resetZoom):
-
-2010-02-23 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Need a final integration between QtLauncher and QGVLauncher
- https://bugs.webkit.org/show_bug.cgi?id=35292
-
- Add cloneWindow feature to QtLauncher, when running on QGraphicsView mode.
-
- * QtLauncher/main.cpp:
- (LauncherWindow::LauncherWindow):
- (LauncherWindow::~LauncherWindow):
- (LauncherWindow::init):
- (LauncherWindow::cloneWindow):
- (LauncherWindow::setupUI):
-
-2010-02-23 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Fix handling of check_wdiff_install when wdiff isn't installed.
-
- http://bugs.webkit.org/show_bug.cgi?id=35304
-
- * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
-
-2010-02-23 Leandro Pereira <leandro@profusion.mobi>
-
- Reviewed by NOBODY.
-
- Fix false positives for 'delete *pointer' statements.
- http://webkit.org/b/35235
-
- * WebKitTools/Scripts/webkitpy/style/processors/cpp.py:
-
-2010-02-23 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Eric Seidel.
-
- [Gtk] Implement layoutTestController.numberOfPages
- https://bugs.webkit.org/show_bug.cgi?id=35228
-
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::numberOfPages):
-
-2010-02-23 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] QtLauncher should not use internal JavaScriptCore and WebCore interfaces
- https://bugs.webkit.org/show_bug.cgi?id=35248
-
- * QtLauncher/QtLauncher.pro:
- * QtLauncher/utils.h:
-
-2010-02-23 Daniel Bates <dbates@rim.com>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=34439
-
- Prompts a person for their SVN username if not already cached (by Subversion).
-
- Currently, webkit-patch is unable to commit to the SVN repo. unless the
- WebKit SVN username is already cached (from of a prior commit by hand)
- because "svn commit" (called by webkit-patch) defaults to using the system
- login name unless the username is already cached or specified on the
- command line.
-
- * Scripts/webkitpy/scm.py: Added methods SVN.has_authorization_for_realm and
- modified SVN.commit_with_message to call it. Added optional username parameter
- to method SVN.commit_with_message.
- * Scripts/webkitpy/scm_unittest.py: Added unit test methods: SVNTest.test_commit_with_username,
- SVNTest.test_has_authorization_for_realm, and SVNTest.test_not_have_authorization_for_realm.
-
-2010-02-22 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Eric Siedel.
-
- Add more checking for missing binaries and packages to check_sys_deps()
-
- https://bugs.webkit.org/show_bug.cgi?id=35062
-
- * Scripts/webkitpy/layout_tests/port/base.py:
- * Scripts/webkitpy/layout_tests/port/chromium.py:
- * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
- * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
- * Scripts/webkitpy/layout_tests/port/chromium_win.py:
- * Scripts/webkitpy/layout_tests/run_chromium_webkit_tests.py:
-
-2010-02-22 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by David Levin.
-
- [Gtk] check-webkit-style: GTK style should be allowed in WebKitTools/DumpRenderTree/gtk
- https://bugs.webkit.org/show_bug.cgi?id=35229
-
- * Scripts/webkitpy/style/checker.py:
- * Scripts/webkitpy/style/checker_unittest.py:
-
-2010-02-22 James Robinson <jamesr@chromium.org>
-
- Unreviewed. Adding myself to committers list.
-
- * Scripts/webkitpy/committers.py:
-
-2010-02-22 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Darin Adler.
-
- Remove DRT hack that turns off hardware acceleration with older QuickTimes
- https://bugs.webkit.org/show_bug.cgi?id=35275
-
- Now that WebKit does a version check to avoid a QuickTime-related
- crash (r55100), DumpRenderTree does not need to.
-
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (resetDefaultsToConsistentValues):
-
-2010-02-22 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Build the DRT in debug on Mac OS X
-
- * DumpRenderTree/qt/DumpRenderTree.pro:
-
-2010-02-22 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Add support for layout tests on Symbian
- https://bugs.webkit.org/show_bug.cgi?id=31589
-
- * DumpRenderTree/qt/DumpRenderTree.pro:
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- * DumpRenderTree/qt/main.cpp:
- (main):
-
-2010-02-20 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Adam Barth.
-
- Moved simplejson into webkitpy/thirdparty directory.
-
- https://bugs.webkit.org/show_bug.cgi?id=35196
-
- * Scripts/run-chromium-webkit-tests:
- - Added webkitpy/thirdparty to the script's search path.
-
- * Scripts/webkitpy/thirdparty/simplejson: Copied from WebKitTools/simplejson.
- - Copied simplejson directory.
-
- * simplejson: Removed.
- * simplejson/LICENSE.txt: Removed.
- * simplejson/README.txt: Removed.
- * simplejson/__init__.py: Removed.
- * simplejson/_speedups.c: Removed.
- * simplejson/decoder.py: Removed.
- * simplejson/encoder.py: Removed.
- * simplejson/jsonfilter.py: Removed.
- * simplejson/scanner.py: Removed.
-
-2010-02-20 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Adam Barth.
-
- Moved BeautifulSoup to webkitpy/thirdparty directory.
-
- https://bugs.webkit.org/show_bug.cgi?id=35195
-
- * Scripts/webkitpy/BeautifulSoup.py: Removed.
- - Moved to webkitpy/thirdparty.
-
- * Scripts/webkitpy/bugzilla.py:
- - Updated import statement.
-
- * Scripts/webkitpy/bugzilla_unittest.py:
- - Updated import statement.
-
- * Scripts/webkitpy/buildbot.py:
- - Updated import statement.
-
- * Scripts/webkitpy/buildbot_unittest.py:
- - Updated import statement.
-
- * Scripts/webkitpy/statusserver.py:
- - Updated import statement.
-
- * Scripts/webkitpy/thirdparty/BeautifulSoup.py: Copied from WebKitTools/Scripts/webkitpy/BeautifulSoup.py.
-
-2010-02-20 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Adam Barth.
-
- Created a directory for third-party Python code, and moved
- autoinstall.py into it.
-
- https://bugs.webkit.org/show_bug.cgi?id=34540
-
- * Scripts/webkitpy/__init__.py:
- - Updated "import autoinstall" statement.
-
- * Scripts/webkitpy/autoinstall.py: Removed.
- - Moved to thirdparty/autoinstall.py.
-
- * Scripts/webkitpy/thirdparty: Added.
- * Scripts/webkitpy/thirdparty/__init__.py: Added.
- * Scripts/webkitpy/thirdparty/autoinstall.py: Copied from WebKitTools/Scripts/webkitpy/autoinstall.py.
-
-2010-02-20 Gustavo Noronha Silva <gns@gnome.org>
-
- Unreviewed, obvious fix for the python failure in our new buildbot
- step:
-
- http://build.webkit.org/builders/GTK Linux 32-bit Release/builds/9075/steps/API tests/logs/err.text
-
- * BuildSlaveSupport/build.webkit.org-config/master.cfg:
-
-2010-02-19 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by David Levin.
-
- Add an ENABLE flag for sandboxed iframes to make it possible to disable it in releases
- https://bugs.webkit.org/show_bug.cgi?id=35147
-
- * Scripts/build-webkit: Handle new flag.
-
-2010-02-19 Leandro Pereira <leandro@profusion.mobi>
-
- Reviewed by Shinichiro Hamaji.
-
- [style-queue] should not complain about identifier names with underscores under WebKit/efl/ewk/
- https://bugs.webkit.org/show_bug.cgi?id=35091
-
- White list unix_hacker_style names in WebKit/efl/ewk because these
- are used in the EFL API.
-
- * Scripts/webkitpy/style/checker.py:
- - Filter out readability/naming on WebKit/efl/ewk.
-
-2010-02-19 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Split out "prepare-rollout" from "rollout" and make --complete-rollout default
- https://bugs.webkit.org/show_bug.cgi?id=33745
-
- * Scripts/webkitpy/commands/download.py:
- - Add a new AbstractRolloutPrepCommand to share code between PrepareRollout and Rollout
- - Add PrepareRollout
- * Scripts/webkitpy/commands/download_unittest.py: Test PrepareRollout, remove CompleteRollout tests.
- * Scripts/webkitpy/steps/__init__.py: include ReopenBugAfterRollout step.
- * Scripts/webkitpy/steps/completerollout.py: Removed.
- * Scripts/webkitpy/steps/options.py: remove complete_rollout
- * Scripts/webkitpy/steps/reopenbugafterrollout.py: Added.
-
-2010-02-19 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Need a final integration between QtLauncher and QGVLauncher
- https://bugs.webkit.org/show_bug.cgi?id=35161
-
- Add animated flip support to QtLauncher when running on QGraphicsView mode.
-
- * QtLauncher/main.cpp:
- (LauncherWindow::initializeView):
- (LauncherWindow::setupUI):
- * QtLauncher/webview.cpp:
- (WebViewGraphicsBased::WebViewGraphicsBased):
- (WebViewGraphicsBased::animatedFlip):
- (WebViewGraphicsBased::animatedYFlip):
- * QtLauncher/webview.h:
- (WebViewGraphicsBased::setYRotation):
- (WebViewGraphicsBased::yRotation):
-
-2010-02-19 Andras Becsi <abecsi@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Implement textZoomIn() and textZoomOut() in DRT's EventSender, add results
- for passing new tests and unskip the passing ones from the Skipped list.
- https://bugs.webkit.org/show_bug.cgi?id=35159
-
- * DumpRenderTree/qt/EventSenderQt.cpp:
- (EventSender::textZoomIn):
- (EventSender::textZoomOut):
- * DumpRenderTree/qt/EventSenderQt.h:
-
-2010-02-19 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Eric Seidel.
-
- [Qt] Clean-up the handling of HTML5 persistent data for LayoutTests
- https://bugs.webkit.org/show_bug.cgi?id=35004
-
- DumpRenderTreeQt.cpp calls QWebSettings::enablePersistentStorage which sets up
- and enables all HTML5 persistent data. All the other calls for setting the
- persistent path or enabling the persistent feature are redundant.
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::WebPage::WebPage): No need to enable AppCache again.
- * DumpRenderTree/qt/main.cpp:
- (main): No need to setup and enable HTML5 LocalStorage again.
-
-2010-02-19 Diego Gonzalez <diego.gonzalez@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Send the context menu event from contextClick() of EventSender
- and do not show context menu in DRT.
-
- LayoutTests:
- fast/events/contextmenu-scrolled-page-with-frame.html
-
- [Qt] DRT: Send context menu event from EventSender
- https://bugs.webkit.org/show_bug.cgi?id=35131
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::DumpRenderTree::DumpRenderTree):
- * DumpRenderTree/qt/EventSenderQt.cpp:
- (EventSender::contextClick):
-
-2010-02-18 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Shinichiro Hamaji.
-
- Moved parsing-related code to a separate file. Also increased
- the unit test coverage in some affected areas.
-
- https://bugs.webkit.org/show_bug.cgi?id=34675
-
- This revision contains no new functionality.
-
- * Scripts/check-webkit-style:
- - Adjusted to call check_webkit_style_parser().
-
- * Scripts/webkitpy/style/checker.py:
- - Added check_webkit_style_parser() to pass checker.py
- configuration settings to optparser.py.
- - Moved _create_usage() and the CommandOptionValues,
- DefaultCommandOptionValues, ArgumentPrinter, and
- ArgumentParser classes to optparser.py.
-
- * Scripts/webkitpy/style/checker_unittest.py:
- - Moved the ProcessorOptionsTest, ArgumentPrinterTest, and
- ArgumentParserTest classes to optparser.py.
- - Added the CheckWebKitStyleFunctionTest class to check
- the check_webkit_style_configuration() and
- check_webkit_style_parser() code paths.
-
- * Scripts/webkitpy/style/optparser.py: Added.
- - From checker.py, added _create_usage() and the
- CommandOptionValues, DefaultCommandOptionValues,
- ArgumentPrinter, and ArgumentParser classes.
- - In the ArgumentParser constructor--
- - Added all_categories as a required parameter.
- - Removed the default value from the default_options parameter.
-
- * Scripts/webkitpy/style/optparser_unittest.py: Added.
- - From checker_unittest.py, added the ProcessorOptionsTest,
- ArgumentPrinterTest, and ArgumentParserTest classes.
- - Added the CreateUsageTest class to test _create_usage().
-
- * Scripts/webkitpy/style/unittests.py:
- - Added optparser_unittest import.
-
-2010-02-18 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Dan Bernstein.
-
- https://bugs.webkit.org/show_bug.cgi?id=35134
- <rdar://problem/7246280> Crash when a plugin calls NPN_SetStatus(0)
-
- * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
- (testSetStatus):
- (pluginInvoke):
- Added a setStatus() method.
-
-2010-02-18 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig.
-
- Particularly constructed WebFrames can try to access a null HistoryItem
- <rdar://problem/7638892> and https://bugs.webkit.org/show_bug.cgi?id=35063
-
- Add the specific ability to test this API pattern.
-
- For now only on Mac, perhaps on the main Windows port later, probably not relevant for other ports.
-
- * DumpRenderTree/LayoutTestController.cpp:
- (apiTestNewWindowDataLoadBaseURLCallback):
- (LayoutTestController::staticFunctions):
- * DumpRenderTree/LayoutTestController.h:
-
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (-[APITestDelegate initWithCompletionCondition:]):
- (-[APITestDelegate webView:didFailLoadWithError:forFrame:]):
- (-[APITestDelegate webView:didFailProvisionalLoadWithError:forFrame:]):
- (-[APITestDelegate webView:didFinishLoadForFrame:]):
- (LayoutTestController::apiTestNewWindowDataLoadBaseURL): Create a WebView, do a loadData: in its
- mainFrame, and synchronously wait for main load completion.
-
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::apiTestNewWindowDataLoadBaseURL):
- * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
- (LayoutTestController::apiTestNewWindowDataLoadBaseURL):
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::apiTestNewWindowDataLoadBaseURL):
-
-2010-02-18 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Eric Seidel.
-
- Teach resolve-ChangeLogs to act as a merge-driver for Git
-
- https://bugs.webkit.org/show_bug.cgi?id=28721
-
- To enable automatic merging of ChangeLog files, use the following command:
-
- git config merge.changelog.driver "resolve-ChangeLogs --merge-driver %O %A %B"
-
- The driver always works in "downstream" merge mode, meaning
- it will always put the user's changelog entries on top.
-
- * Scripts/resolve-ChangeLogs:
-
-2009-12-05 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Eric Seidel.
-
- Enable running of GTK+ API tests.
-
- * BuildSlaveSupport/build.webkit.org-config/master.cfg:
- * Scripts/run-gtk-tests: Added.
-
-2010-02-18 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Adam Barth.
-
- debug-safari doesn't pass --debug option to gdb-safari on MacOSX
- https://bugs.webkit.org/show_bug.cgi?id=34411
-
- * Scripts/webkitdirs.pm:
-
-2010-02-18 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- run-chromium-webkit-tests --platform=mac-leopard needs to run build-dumprendertree
- https://bugs.webkit.org/show_bug.cgi?id=35053
-
- * Scripts/webkitpy/layout_tests/port/base.py: Add script_path() function for finding scripts.
- * Scripts/webkitpy/layout_tests/port/chromium.py: Remove unused argument.
- * Scripts/webkitpy/layout_tests/port/mac.py:
- - Make sure that calling webkit-build-directory works even if Scripts/ is not in the user's path.
- - Call build-dumprendertree (and make sure it succeeds) before running the tests.
-
-2010-02-16 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Shinichiro Hamaji.
-
- Refactored check-webkit-style's ProcessorOptions class into two
- classes. This revision contains no new functionality.
-
- https://bugs.webkit.org/show_bug.cgi?id=34674
-
- Divided the ProcessorOptions class into a CommandOptionValues
- class (the result of parsing the command-line options) and
- a StyleCheckerConfiguration class (which configures the main
- StyleChecker).
-
- * Scripts/check-webkit-style:
- - Updated main() to convert the parsed command option values
- to a StyleCheckConfiguration instance prior to constructing
- a StyleChecker.
-
- * Scripts/webkitpy/style/checker.py:
- - Added check_webkit_style_configuration() to convert a
- CommandOptionValues instance into a StyleCheckerConfiguration
- instance.
- - Renamed the ProcessorOptions class to CommandOptionValues.
- - In the CommandOptionValues class--
- - Replaced the filter_configuration attribute with the
- simpler filter_rules attribute.
- - Removed the max_reports_per_error attribute.
- - Moved the is_reportable() method to the new
- StyleCheckerConfiguration class.
- - Removed the base_filter_rules attribute from the
- DefaultCommandOptionValues class.
- - In the ArgumentParser class--
- - Added base_filter_rules to the constructor.
- - Changed the parse() method to return a CommandOptionValues
- instance instead of a ProcessorOptions instance.
- - Created a StyleCheckerConfiguration class.
- - Added the data attributes max_reports_per_category,
- stderr_write, and verbosity.
- - Added is_reportable() (moved from the ProcessorOptions
- class) and write_style_error() (moved from the
- DefaultStyleErrorHandler class).
- - In the StyleChecker class--
- - Replaced the ProcessorOptions options attribute with the
- StyleCheckerConfiguration _configuration attribute.
- - Removed the _stderr_write attribute.
-
- * Scripts/webkitpy/style/checker_unittest.py:
- - Updated the existing unit test classes as necessary.
- - Added a StyleCheckerConfigurationTest class.
-
- * Scripts/webkitpy/style/error_handlers.py:
- - Updated the DefaultStyleErrorHandler class to accept a
- StyleCheckerConfiguration instance instead of a ProcessorOptions
- instance and an stderr_write method.
-
- * Scripts/webkitpy/style/error_handlers_unittest.py:
- - Updated the unit test classes as necessary.
-
- * Scripts/webkitpy/style/filter.py:
- - Addressed the FIXME in the FilterConfiguration class to change
- the user_rules attribute to _user_rules (since it is now
- accessed only internally).
-
- * Scripts/webkitpy/style/filter_unittest.py:
- - Updated to reflect the change from user_rules to _user_rules.
-
-2010-02-17 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Share the DRT values maxViewWidth/Height among ports
- https://bugs.webkit.org/show_bug.cgi?id=34474
-
- * DumpRenderTree/LayoutTestController.cpp:
- (pageNumberForElementByIdCallback):
- * DumpRenderTree/LayoutTestController.h:
- (LayoutTestController::maxViewWidth):
- (LayoutTestController::maxViewHeight):
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (runTest):
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (createWebViewAndOffscreenWindow):
- (sizeWebViewForCurrentTest):
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (dump):
- (createWebViewAndOffscreenWindow):
-
-2010-02-17 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Eric Seidel.
-
- [Win] Implement test functions for printing
- https://bugs.webkit.org/show_bug.cgi?id=34570
-
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::pageNumberForElementById):
- (LayoutTestController::numberOfPages):
-
-2010-02-17 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by Eric Seidel.
-
- websocket/tests/cookies/httponly-cookie.pl fails every time under run-chromium-webkit-tests
- https://bugs.webkit.org/show_bug.cgi?id=35001
-
- * Scripts/webkitpy/layout_tests/port/websocket_server.py: add -x flag to run pywebsocket.
-
-2010-02-17 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Eric Seidel.
-
- check-webkit-style: Misses variables that contain underscores.
- https://bugs.webkit.org/show_bug.cgi?id=33724
-
- - Check identifiers whose types are unsigned.
- - Check bitfields properly.
-
- * Scripts/webkitpy/style/processors/cpp.py:
- * Scripts/webkitpy/style/processors/cpp_unittest.py:
-
-2010-02-17 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Eric Seidel.
-
- check-webkit-style should report the number of files checked
- https://bugs.webkit.org/show_bug.cgi?id=34971
-
- * Scripts/check-webkit-style:
- * Scripts/webkitpy/style/checker.py:
- * Scripts/webkitpy/style/checker_unittest.py:
-
-2010-02-17 Diego Gonzalez <diego.gonzalez@openbossa.org>
-
- Reviewed by Ariya Hidayat.
-
- Make possible Qt DRT to get total number of pages to be printed
-
- LayoutTests:
- printing/numberOfPages.html
-
- [Qt] DRT: Get total number of pages to be printed
- https://bugs.webkit.org/show_bug.cgi?id=34955
-
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::numberOfPages):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
-
-2010-02-17 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Update to use new property name.
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (resetDefaultsToConsistentValues):
-
-2010-02-17 Julien Chaffraix <jchaffraix@webkit.org>
-
- Reviewed by Ariya Hidayat.
-
- Remove some warnings seen when building Qt
- https://bugs.webkit.org/show_bug.cgi?id=35017
-
- Using a machine without the needed tools to build WebKit leads to
- several errors and warnings.
-
- * Scripts/webkitdirs.pm: Refactored the code testing the command's
- presence into a commandExists routine. While doing so removed, stderr
- output as it usually does not give anything more than our message. Also
- added a Qt check for qmake that was missing.
-
-2010-02-17 Xan Lopez <xlopez@igalia.com>
-
- Rubber-stamped by Gustavo Noronha.
-
- Disable Java by default in DRT.
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (resetDefaultsToConsistentValues):
-
-2010-02-15 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Shinichiro Hamaji.
-
- Some minor check-webkit-style code clean-ups. This revision
- contains no new functionality.
-
- https://bugs.webkit.org/show_bug.cgi?id=34932
-
- * Scripts/check-webkit-style:
- - Replaced the call to webkit_argument_defaults() with a
- default parameter in the ArgumentParser constructor.
-
- * Scripts/webkitpy/style/checker.py:
- - Removed the WEBKIT prefix from the default global variables.
- - Prefixed several of the global variables with an underscore
- to reflect that they are used internally.
- - Renamed _DEFAULT_FILTER_RULES to _BASE_FILTER_RULES.
- - Addressed a FIXME by changing the _PATH_RULES_SPECIFIER
- configuration from list-tuple pairs to list-list pairs.
- - Renamed style_categories() to _all_categories().
- - Renamed webkit_argument_defaults() to _check_webkit_style_defaults().
- - Renamed the ArgumentDefaults class to DefaultCommandOptionValues.
- - In the ArgumentParser class--
- - Renamed the doc_print attribute to stderr_write.
- - Other minor updates.
-
- * Scripts/webkitpy/style/checker_unittest.py:
- - Updated the import statements and unit test classes as necessary.
- - Added assertions to test _PATH_RULES_SPECIFIER more fully.
-
- * Scripts/webkitpy/style/error_handlers_unittest.py:
- - Updated the unit test classes as necessary.
- - Changed StyleErrorHandlerTestBase to store a list of error
- messages rather than just the last one.
-
- * Scripts/webkitpy/style/filter.py:
- - Altered FilterConfiguration._path_rules_from_path()
- to convert the path_rules list to a tuple.
-
- * Scripts/webkitpy/style/filter_unittest.py:
- - Updated the unit tests to reflect the change from tuples to
- lists in the _PATH_RULES_SPECIFIER configuration variable.
-
-2010-02-16 Mark Rowe <mrowe@apple.com>
-
- Let's not check garbage in to common build scripts and hose the world now eh guys?
-
- * Scripts/webkitdirs.pm:
-
-2010-02-16 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- re-factor Skipped list parsing code into multiple functions and unit test it
- https://bugs.webkit.org/show_bug.cgi?id=34986
-
- * Scripts/test-webkitpy: Add new unit test.
- * Scripts/webkitpy/layout_tests/__init__.py: Copied from WebKitTools/QueueStatusServer/filters/__init__.py.
- * Scripts/webkitpy/layout_tests/port/mac.py: Split parsing function into multiple functions for testing.
- * Scripts/webkitpy/layout_tests/port/mac_unittest.py: Added.
-
-2010-02-16 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Enable 'auto-resize-window' in our DRT.
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (resetDefaultsToConsistentValues):
+ (AccessibilityUIElement::rowIndexRange):
+ (AccessibilityUIElement::columnIndexRange):
+ (AccessibilityUIElement::selectedTextRange):
-2010-02-15 Martin Robinson <mrobinson@webkit.org>
+2010-05-28 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
- check-webkit-style should not complain about NULL sentinel in calls to g_strconcat and g_strjoin
- https://bugs.webkit.org/show_bug.cgi?id=34834
-
- * Scripts/webkitpy/style/processors/cpp.py:
- * Scripts/webkitpy/style/processors/cpp_unittest.py:
-
-2010-02-12 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Kevin Decker.
-
- <rdar://problem/7130641> Browser objects identity is not preserved by Safari
-
- * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
- (pluginInvoke): Added methods for checking object identity (via refcount).
-
-2010-02-15 Robert Hogan <robert@roberthogan.net>
-
- Reviewed by Simon Hausmann.
-
- [Qt] DRT: Support evaluateInWebInspector(), setTimelineProfilingEnabled().
-
- Support LayoutTestController.evaluateInWebInspector(), setTimelineProfilingEnabled() in Qt DRT.
-
- https://bugs.webkit.org/show_bug.cgi?id=33096
-
- This allows the following tests to pass:
-
- inspector/console-format-collections.html
- inspector/styles-iframe.html
- inspector/syntax-highlight-css.html
- inspector/syntax-highlight-javascript.html
- inspector/timeline-enum-stability.html
- inspector/timeline-layout.html
- inspector/timeline-mark-timeline.html
- inspector/timeline-paint.html
- inspector/timeline-parse-html.html
- inspector/timeline-recalculate-styles.html
- inspector/timeline-script-tag-1.html
- inspector/timeline-script-tag-2.html
- inspector/timeline-trivial.html
- inspector/cookie-resource-match.html
- inspector/elements-img-tooltip.html
- inspector/elements-panel-selection-on-refresh.html
- inspector/inspected-objects-not-overriden.html
- inspector/timeline-event-dispatch.html
- inspector/timeline-network-resource.html
- inspector/elements-panel-rewrite-href.html
- inspector/console-dir.html
- inspector/console-dirxml.html
- inspector/console-format.html
- inspector/console-tests.html
- inspector/elements-panel-structure.html
- inspector/evaluate-in-frontend.html
- inspector/console-clear.html
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting):
- (WebCore::isWebInspectorTest):
- (WebCore::DumpRenderTree::open):
- * DumpRenderTree/qt/DumpRenderTreeQt.h:
- (WebCore::DumpRenderTree::display):
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::closeWebInspector):
- (LayoutTestController::showWebInspector):
- (LayoutTestController::evaluateInWebInspector):
- (LayoutTestController::setTimelineProfilingEnabled):
- (LayoutTestController::display):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
-
-2010-02-14 Dirk Pranke <dpranke@chromium.org>
+ AX: need to catch NSAccessibilityExceptions in DRT
+ https://bugs.webkit.org/show_bug.cgi?id=39881
- Reviewed by Eric Seidel.
-
- Update rebaseline-chromium-webkit-tests to work with the new code
- structure (port objects instead of path_utils and platform_utils).
-
- Added a path_to_test_expectations_file() to the Port interface.
+ Normally, accessibility exceptions are caught in the AX Runtime on the Mac, but
+ because DRT is its own AX client, no one is there to catch these otherwise innocuous exceptions.
- Fixed a bug in the chromium_* platform implementations where the
- 'target' option was assumed to be set.
-
- * Scripts/rebaseline-chromium-webkit-tests:
- * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py:
- * Scripts/webkitpy/layout_tests/port/base.py:
- * Scripts/webkitpy/layout_tests/port/chromium.py:
- * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
- * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
- * Scripts/webkitpy/layout_tests/port/chromium_win.py:
- * Scripts/webkitpy/layout_tests/port/test.py:
- * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
-
-2010-02-14 Eric Seidel <eric@webkit.org>
-
- Reviewed by Darin Adler.
-
- webkit-build-directory misuses terms
- https://bugs.webkit.org/show_bug.cgi?id=34822
-
- * Scripts/webkit-build-directory:
- - Add --top-level and --configuration options and make using one of them required.
- * Scripts/webkitpy/layout_tests/port/mac.py:
- - Use --top-level instead of --base.
-
-2010-02-14 Chang Shu <Chang.Shu@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] Enable appcache feature.
- https://bugs.webkit.org/show_bug.cgi?id=34713
-
- Re-land r54543 without the change in DumpRenderTree/qt/main.cpp.
- Persistent storage for AppCache is already initialized in
- DumpRenderTreeQt.cpp.
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::WebPage::WebPage):
-
-2010-02-12 Chang Shu <Chang.Shu@nokia.com>
-
- Not Reviewed.
-
- Change case of my email address as a work-around for the following bug.
- https://bugs.webkit.org/show_bug.cgi?id=34717
-
- * Scripts/webkitpy/committers.py:
-
-2010-02-12 Darin Adler <darin@apple.com>
-
- Ignore compiled Python in more of webkitpy.
-
- * Scripts/webkitpy/style/processors: Added property svn:ignore.
-
-2010-02-12 Diego Gonzalez <diego.gonzalez@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Qt DRT now dump the frame loader callbacks when LayoutTestController()
- method is called.
-
- LayoutTests:
- http/tests/security/mixedContent/data-url-script-in-iframe.html
- http/tests/security/mixedContent/empty-url-plugin-in-frame.html
- http/tests/security/mixedContent/insecure-css-in-iframe.html
- http/tests/security/mixedContent/insecure-iframe-in-iframe.html
- http/tests/security/mixedContent/insecure-image-in-iframe.html
- http/tests/security/mixedContent/insecure-plugin-in-iframe.html
- http/tests/security/mixedContent/insecure-script-in-iframe.html
- http/tests/security/mixedContent/redirect-http-to-https-script-in-iframe.html
- http/tests/security/mixedContent/redirect-https-to-http-script-in-iframe.html
-
- [Qt] Make possible Qt DRT dump frame load callbacks
- https://bugs.webkit.org/show_bug.cgi?id=34702
-
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::reset):
- (LayoutTestController::dumpFrameLoadCallbacks):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
-
-2010-02-12 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Antti Koivisto.
-
- Make QtLauncher somewhat useable on S60.
-
- Show the window fullscreen to make scrollbars appear, resize
- the toolbar buttons to 16x16 to give more screen space to
- web content and moved the location lineedit into a separate
- line.
-
- * QtLauncher/main.cpp:
- (LauncherWindow::LauncherWindow):
- * QtLauncher/mainwindow.cpp:
- (MainWindow::buildUI):
-
-2010-02-12 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Support frameset flattening
- https://bugs.webkit.org/show_bug.cgi?id=32717
-
- Add FrameSet Flattening support to Mac DRT.
-
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::setFrameSetFlatteningEnabled):
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (resetDefaultsToConsistentValues):
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::setXSSAuditorEnabled):
- * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
- (LayoutTestController::setFrameSetFlatteningEnabled):
- * DumpRenderTree/LayoutTestController.cpp:
- (setFrameSetFlatteningEnabledCallback):
- (LayoutTestController::staticFunctions):
- * DumpRenderTree/LayoutTestController.h:
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (resetDefaultsToConsistentValues):
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (LayoutTestController::setFrameSetFlatteningEnabled):
-
-2010-02-12 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Fix typos in driver_test.py
-
- https://bugs.webkit.org/show_bug.cgi?id=34810
-
- * Scripts/webkitpy/layout_tests/driver_test.py:
-
-2010-02-12 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Make it possible to toggle the use of QGraphicsView in QtLauncher at run-time
- https://bugs.webkit.org/show_bug.cgi?id=34844
-
- * QtLauncher/main.cpp:
- (LauncherWindow::LauncherWindow):
- (LauncherWindow::initializeView):
- (LauncherWindow::setupUI):
- * QtLauncher/webview.cpp:
- (WebViewGraphicsBased::WebViewGraphicsBased):
-
-2010-02-11 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by Alexey Proskuryakov.
-
- WebSocket ignores HttpOnly cookies, but should use in Handshake.
- https://bugs.webkit.org/show_bug.cgi?id=34289
-
- Update pywebsocket to 0.4.8, which supports cgi directories.
- run-webkit-tests and run-webkit-websocketserver will run
- pywebsocket, specifying /websocket/test/cookies as cgi directory.
-
- * Scripts/run-webkit-tests:
- * Scripts/run-webkit-websocketserver:
- * pywebsocket/mod_pywebsocket/standalone.py:
- * pywebsocket/setup.py:
-
-2010-02-11 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
-
- Reviewed by Dan Bernstein.
-
- [Mac] Duplicated setXSSAuditorEnabled preference at Mac DRT
- https://bugs.webkit.org/show_bug.cgi?id=34798
-
- Remove duplicated setXSSAuditorEnabled preference at Mac DRT
-
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (resetDefaultsToConsistentValues):
-
-2010-02-11 Eric Seidel <eric@webkit.org>
-
- No review, build fix only.
-
- webkitdirs.pm has a crazy amount of duplicated feature detection code
- https://bugs.webkit.org/show_bug.cgi?id=34869
-
- * Scripts/build-webkit: Fix typo which broke bots.
-
-2010-02-11 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- webkitdirs.pm has a crazy amount of duplicated feature detection code
- https://bugs.webkit.org/show_bug.cgi?id=34869
-
- * Scripts/build-webkit: Use the new hotness.
- * Scripts/run-webkit-tests: ditto
- * Scripts/webkitdirs.pm: Remove a bunch of bad duplicate code.
- * Scripts/webkitperl/features.pm: Added.
- - Simplified the 10 methods in webkitdirs.pm into 2 exported methods in this new file.
-
-2010-02-11 Daniel Bates <dbates@rim.com>
-
- Reviewed by Adam Barth.
-
- https://bugs.webkit.org/show_bug.cgi?id=34830
-
- Makes method User.prompt static and adds the parameter repeat
- to prompt the user up to repeat times.
-
- * Scripts/test-webkitpy:
- * Scripts/webkitpy/bugzilla.py: Substituted method User.prompt for method raw_input.
- * Scripts/webkitpy/commands/upload.py: Ditto
- * Scripts/webkitpy/credentials.py: Ditto
- * Scripts/mock_bugzillatool.py: Updated prototype of MockUser.prompt to match User.prompt.
- * Scripts/webkitpy/user.py: Made method prompt static and added parameter repeat.
- * Scripts/webkitpy/user_unittest.py: Added.
-
-2010-02-10 Yuzo Fujishima <yuzo@google.com>
-
- Reviewed by Darin Adler.
-
- Allow underscored identifiers in CSSParser.cpp
-
- Flex (http://flex.sourceforge.net/) uses identifiers named as yy_*.
- WebCore/css/CSSParser.cpp needs to handle some such identifiers.
- We should relax the style rule for the file to allow underscored identifiers.
-
- https://bugs.webkit.org/show_bug.cgi?id=34787
-
- * Scripts/webkitpy/style/checker.py:
-
-2010-02-11 Eric Seidel <eric@webkit.org>
-
- Rubber-stamped by Adam Barth.
-
- Remove DrawTest, the application I used when bringing up SVG support on the Mac.
- The code hasn't been touched (or used) in years. No sense in keeping it in trunk.
-
- * Scripts/build-drawtest: Removed.
- * Scripts/run-drawtest: Removed.
- * DrawTest: Removed.
-
-2010-02-11 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Need a command to clear r+ on obsolete patches in the pending-commit queue.
- https://bugs.webkit.org/show_bug.cgi?id=34863
-
- Unfortunately our http://webkit.org/pending-commit bugzilla query is not
- smart enough to ignore obsolete patches, so bugs show up there which are
- still open, but do not have patches ready for landing on them.
- This new command "clean-pending-commit" will remove r+ from obsolete patches
- in the pending-commit list.
-
- * Scripts/test-webkitpy: Add grammar_unittest
- * Scripts/webkitpy/commands/upload.py: Add clean-pending-commit and make assign-to-committer ignore cq+'d patches.
- * Scripts/webkitpy/grammar.py: Add join_with_separators
- * Scripts/webkitpy/grammar_unittest.py: Added.
-
-2010-02-11 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- run-chromium-webkit-tests fails random pixel tests on Mac
- https://bugs.webkit.org/show_bug.cgi?id=34862
-
- This is due to the fact that the Mac port has an
- invalid path to the image diff tool. Currently it points
- to image_diff even though ImageDiff would be correct. We
- can't change it to the right path yet without causing the
- script to hang. ImageDiff expects to be long-running and
- be passed image data over stdin. image_diff (chromium's fork)
- expects to be passed command line arguments.
- This fix works around the random failures by disabling pixel
- tests on mac and logging if the user was trying to run with pixel
- tests enabled.
-
- * Scripts/webkitpy/layout_tests/port/mac.py:
-
-2010-02-11 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Reviewed by Adam Roben.
- Try to fix build breakage from r54665.
-
- * Scripts/check-for-global-initializers:
-
-2010-02-11 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- Make it possible to toggle accelerated compositing from the menu
- at run-time.
-
- * QtLauncher/main.cpp:
- (LauncherWindow::toggleAcceleratedCompositing):
- (LauncherWindow::setupUI):
-
-2010-02-08 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Cameron Zwarich.
-
- Restore ENABLE_RUBY flag so vendors can ship with Ruby disabled if they choose.
- https://bugs.webkit.org/show_bug.cgi?id=34698
-
- * Scripts/build-webkit:
-
-2010-02-10 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Fix various minor bugs keeping run-chromium-webkit-tests from actually
- working on the linux and win ports of Chromium.
-
- https://bugs.webkit.org/show_bug.cgi?id=34739
-
- * Scripts/webkitpy/layout_tests/layout_package/test_shell_thread.py:
- * Scripts/webkitpy/layout_tests/port/__init__.py:
- * Scripts/webkitpy/layout_tests/port/base.py:
- * Scripts/webkitpy/layout_tests/port/chromium.py:
- * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
- * Scripts/webkitpy/layout_tests/port/chromium_win.py:
- * Scripts/webkitpy/layout_tests/port/http_server.py:
- * Scripts/webkitpy/layout_tests/port/websocket_server.py:
-
-2010-02-10 Eric Seidel <eric@webkit.org>
-
- Reviewed by David Levin.
-
- run-chromium-webkit-tests --platform=mac-leopard crashes when using a custom build directory
- https://bugs.webkit.org/show_bug.cgi?id=34817
-
- This doesn't fix the root cause of us not
- correctly failing when support binaries are missing.
- This only causes the DumpRenderTree binary not to be
- missing in the custom build directory case.
- Later patches will make us correctly fail fast when
- support binaries (like DumpRenderTree or ImageDiff) are missing.
-
- * Scripts/webkit-build-directory: Added.
- - Need a way to re-use the perl logic for finding build directories in non-perl scripts.
- * Scripts/webkitpy/layout_tests/port/base.py: Add a FIXME.
- * Scripts/webkitpy/layout_tests/port/mac.py:
- - Call webkit-build-directory to find the build directory instead of assuming "WebKitBuild"
- * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py: Add FIXMEs.
-
-2010-02-10 Kevin Watters <kevinwatters@gmail.com>
-
- Reviewed by Kevin Ollivier.
-
- [wx] Add Windows complex text support.
-
- https://bugs.webkit.org/show_bug.cgi?id=34759
-
- * wx/build/settings.py:
-
-2010-02-10 Kevin Ollivier <kevino@theolliviers.com>
-
- [wx] Build fix. Add stub for new LayoutTestController method.
-
- * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
- (LayoutTestController::numberOfPages):
-
-2010-02-10 Csaba Osztrogonác <ossy@webkit.org>
-
- Unreviewed. Roll out r54626, because it broke GTK and Win build.
- https://bugs.webkit.org/show_bug.cgi?id=32717
-
- * DumpRenderTree/LayoutTestController.cpp:
- (LayoutTestController::staticFunctions):
- * DumpRenderTree/LayoutTestController.h:
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (resetDefaultsToConsistentValues):
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
-
-2010-02-10 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Support frameset flattening
- https://bugs.webkit.org/show_bug.cgi?id=32717
-
- Add FrameSet Flattening support to Mac DRT.
-
- * DumpRenderTree/LayoutTestController.cpp:
- (setFrameSetFlatteningEnabledCallback):
- (LayoutTestController::staticFunctions):
- * DumpRenderTree/LayoutTestController.h:
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (resetDefaultsToConsistentValues):
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (LayoutTestController::setFrameSetFlatteningEnabled):
-
-2010-02-08 Jon Honeycutt <jhoneycutt@apple.com>
-
- <rdar://problem/7436875> Crash in Flash when visiting
- http://www.cctv.com/default.shtml (WER ID 819298200) [watson 2502260]
-
- Reviewed by Darin Adler.
-
- * DumpRenderTree/win/TestNetscapePlugin/main.cpp:
- (executeScript):
- Moved to an earlier point in the file.
- (NPP_New):
- If the plug-in has an onDestroy attribute, store its value.
- (NPP_Destroy):
- If the plug-in has code to run on destruction, run it and free it.
-
-2010-02-10 Diego Gonzalez <diego.gonzalez@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Implement pageNumberForElementById() method in Qt DRT LayoutTestController,
- to make Qt DRT able to get page number.
-
- LayoutTests:
- printing/page-break-always.html
- printing/pageNumerForElementById.html
- printing/css2.1/page-break-before-000.html
- printing/css2.1/page-break-after-000.html
- printing/css2.1/page-break-after-004.html
- printing/css2.1/page-break-before-001.html
- printing/css2.1/page-break-after-001.html
- printing/css2.1/page-break-after-002.html
- printing/css2.1/page-break-before-002.html
- printing/css2.1/page-break-inside-000.html
-
- [Qt] Make possible Qt DRT get a page number for element by ID
- https://bugs.webkit.org/show_bug.cgi?id=34777
-
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::pageNumberForElementById):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
-
-2010-02-10 Andras Becsi <abecsi@webkit.org>
-
- Reviewed by Adam Barth.
-
- Make run-iexploder-tests work on Linux.
- https://bugs.webkit.org/show_bug.cgi?id=34748
-
- Extract the platform dependant Apache configuration checking code in httpd.pm to a separate function
- called getHTTPDConfigPathForTestDirectory and use run-launcher instead of run-safari if run on Linux.
-
- * Scripts/run-iexploder-tests:
- * Scripts/webkitperl/httpd.pm:
-
-2010-02-09 Csaba Osztrogonác <ossy@webkit.org>
-
- [Qt] Unreviewed. Roll-out r54543, because layout tests crash in debug mode.
- https://bugs.webkit.org/show_bug.cgi?id=34713
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::WebPage::WebPage):
- * DumpRenderTree/qt/main.cpp:
- (main):
-
-2010-02-09 Alejandro G. Castro <alex@igalia.com>
-
- Unreviewed; added myself to committers
-
- * Scripts/webkitpy/committers.py:
-
-2010-02-09 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Webkit in Qt does not have window.showModalDialog
- https://bugs.webkit.org/show_bug.cgi?id=25585
-
- Set the modality flag when createWindow is called with window type WebWindowDialog.
-
- * QtLauncher/main.cpp:
- (WebPage::createWindow):
-
-2010-02-09 Andras Becsi <abecsi@webkit.org>
-
- Unreviewed trivial warning fix.
-
- * Scripts/build-webkit:
-
-2010-02-09 Gabor Rapcsanyi <rgabor@inf.u-szeged.hu>
-
- Reviewed by Tor Arne Vestbø.
-
- Add possibility of passing parameters to build-webkit by environment variable,
- because the buildbot slaves can't control the arguments.
-
- * Scripts/build-webkit:
-
-2010-02-09 Chang Shu <Chang.Shu@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] Enable appcache feature.
- https://bugs.webkit.org/show_bug.cgi?id=34713
-
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::WebPage::WebPage):
- * DumpRenderTree/qt/main.cpp:
- (main):
-
-2010-02-09 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Darin Adler.
-
- Provide a way to get total number of pages to be printed
- https://bugs.webkit.org/show_bug.cgi?id=34699
-
- * DumpRenderTree/LayoutTestController.cpp:
- (parsePageParameters):
- (pageNumberForElementByIdCallback):
- (numberOfPagesCallback):
- (LayoutTestController::staticFunctions):
- * DumpRenderTree/LayoutTestController.h:
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::numberOfPages):
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (LayoutTestController::numberOfPages):
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::numberOfPages):
-
-2010-02-08 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=34727
- Assertion crashes and freezes when plug-in property access results in an exception
-
- * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
- (pluginGetProperty): Raise an exception when accessing a particular property.
- (pluginSetProperty): Ditto.
- (pluginInvoke): Added methods to get and set host object properties.
-
-2010-02-08 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Ariya Hidayat.
-
- [Qt] Backport No'am Rosenthal's frame rate measurement
-
- * QtLauncher/main.cpp:
- (LauncherWindow::LauncherWindow):
- (LauncherApplication::handleUserOptions):
- * QtLauncher/webview.cpp:
- (WebViewGraphicsBased::WebViewGraphicsBased):
- (WebViewGraphicsBased::enableFrameRateMeasurement):
- (WebViewGraphicsBased::updateFrameRate):
- (WebViewGraphicsBased::paintEvent):
- * QtLauncher/webview.h:
-
-2010-02-08 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Make overridePreference complain when it does not
- support the preference given.
-
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::overridePreference):
-
-2010-02-08 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Set stdout/stderr to binary mode for DRT on Windows
-
- This makes sure we don't end up with lots of CRLFs in the
- DRT output, which breaks tons of results. Matches what
- the Windows DRT does.
-
- * DumpRenderTree/qt/main.cpp:
-
-2010-02-08 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Build fix for Qt on Windows.
-
- Don't use noreturn directly since it's a gcc attribute.
- Instead use the NO_RETURN macro from AlwaysInline.h
-
- * QtLauncher/QtLauncher.pro:
- * QtLauncher/utils.h:
-
-2010-02-05 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Shinichiro Hamaji.
-
- Suppressed check-webkit-style's underscore check in Qt's autotests.
- Also made the path-specific filter check case-insensitive.
-
- https://bugs.webkit.org/show_bug.cgi?id=34574
-
- * Scripts/webkitpy/style/checker.py:
- - Added a list element to _PATH_RULES_SPECIFIER for
- directories that should be excluded from the
- "readability/naming" category (the category that relates to
- underscores in identifiers, for example).
-
- * Scripts/webkitpy/style/checker_unittest.py:
- - Added an "end-to-end" test for "WebKit/qt/tests/".
-
- * Scripts/webkitpy/style/filter.py:
- - Altered FilterConfiguration's should_check() method to
- check for path substring matches case-insensitively.
-
- * Scripts/webkitpy/style/filter_unittest.py:
- - Added a test to check case-insensitive path substring matching.
-
- * Scripts/webkitpy/style/processors/cpp.py:
- - Removed the hard-coded "WebKit/gtk/webkit/" path reference
- since this is now taken care of by the _PATH_RULES_SPECIFIER
- configuration variable.
-
- * Scripts/webkitpy/style/processors/cpp_unittest.py:
- - Removed the unit test for the GTK directory since this
- is now taken care of by the checker._PATH_RULES_SPECIFIER
- end-to-end tests.
-
-2010-02-08 Leith Bade <leith@leithalweapon.geek.nz>
-
- Reviewed by Darin Adler.
-
- Fixes: https://bugs.webkit.org/show_bug.cgi?id=34637
- Corrects the newline inserted into WebKitOutputDir, and WebKitLibrariesDir Windows
- environemnt variables when there is a space in the user's /home path.
-
- * Scripts/webkitdirs.pm:
- - Added missing quotes around $sourceDir in argument list of cygpath in determineWindowsSourceDir().
-
-2010-02-05 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=34670
- TestNetscapePlugin should work with Firefox
-
- * DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp: (NPP_New): Default to Carbon if
- browser doesn't tell what it supports.
-
-2010-02-05 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Gustavo Noronha Silva.
-
- [Gtk] Implement layoutTestController.pageNumberForElementById
- https://bugs.webkit.org/show_bug.cgi?id=34572
-
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::pageNumberForElementById):
-
-2010-02-03 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Add a simple test implementation and the WebKit Mac implementation
- for the layout_tests/port package. Also add a simple test driver of
- that interface.
-
- https://bugs.webkit.org/show_bug.cgi?id=34511
-
- * Scripts/webkitpy/layout_tests/driver_test.py: Added.
- * Scripts/webkitpy/layout_tests/port/__init__.py:
- * Scripts/webkitpy/layout_tests/port/mac.py: Added.
- * Scripts/webkitpy/layout_tests/port/test.py: Added.
-
-2010-02-03 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Eric Siedel.
-
- Refactor the port package into an object-oriented style and merge
- path_utils into it. We add a 'base' and a 'chromium' object to the
- port package; this will allow us to easily add new ports (like
- WebKit Mac).
-
- https://bugs.webkit.org/show_bug.cgi?id=34511
-
- * Scripts/rebaseline-chromium-webkit-tests:
- * Scripts/run-chromium-webkit-tests:
- * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
- * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
- * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py:
- * Scripts/webkitpy/layout_tests/layout_package/test_files.py:
- * Scripts/webkitpy/layout_tests/layout_package/test_shell_thread.py:
- * Scripts/webkitpy/layout_tests/port/__init__.py:
- * Scripts/webkitpy/layout_tests/port/apache_http_server.py:
- * Scripts/webkitpy/layout_tests/port/base.py: Added.
- * Scripts/webkitpy/layout_tests/port/chromium.py: Added.
- * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
- * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
- * Scripts/webkitpy/layout_tests/port/chromium_win.py:
- * Scripts/webkitpy/layout_tests/port/http_server.py:
- * Scripts/webkitpy/layout_tests/port/http_server_base.py:
- * Scripts/webkitpy/layout_tests/port/path_utils.py: Removed.
- * Scripts/webkitpy/layout_tests/port/websocket_server.py:
- * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
- * Scripts/webkitpy/layout_tests/run_chromium_webkit_tests.py:
- * Scripts/webkitpy/layout_tests/test_types/fuzzy_image_diff.py:
- * Scripts/webkitpy/layout_tests/test_types/image_diff.py:
- * Scripts/webkitpy/layout_tests/test_types/test_type_base.py:
- * Scripts/webkitpy/layout_tests/test_types/text_diff.py:
-
-2010-01-19 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Dave Hyatt.
-
- Implement flattening of framesets
- https://bugs.webkit.org/show_bug.cgi?id=32717
-
- Add support for testing frame flattening with the Qt DRT
-
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::setFrameSetFlatteningEnabled):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
-
-2010-02-03 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Shinichiro Hamaji.
-
- Provided a way in check-webkit-style to specify filter rules
- on a per file or folder basis, via a configuration variable.
-
- https://bugs.webkit.org/show_bug.cgi?id=33684
-
- * Scripts/webkitpy/style/checker.py:
- - Added _PATH_RULES_SPECIFIER configuration variable.
- - In ProcessorOptions class--
- - Changed the CategoryFilter attribute to FilterConfiguration.
- - Added path parameter to is_reportable().
- - Renamed ArgumentDefaults filter_rules attribute to
- base_filter_rules.
- - Updated ArgumentPrinter class.
- - Added filter rule validation to ArgumentParser (instead of
- in CategoryFilter constructor).
-
- * Scripts/webkitpy/style/checker_unittest.py:
- - Updated unit tests as necessary.
- - Added unit tests for PATH_RULES_SPECIFIER.
-
- * Scripts/webkitpy/style/error_handlers.py:
- - Updated DefaultStyleErrorHandler to use file path when
- calling is_reportable().
-
- * Scripts/webkitpy/style/error_handlers_unittest.py:
- - Updated unit tests as necessary.
-
- * Scripts/webkitpy/style/filter.py:
- - Marked CategoryFilter internal with an underscore.
- - Removed argument validation from CategoryFilter.
- - Added FilterConfiguration class.
-
- * Scripts/webkitpy/style/filter_unittest.py:
- - Updated CategoryFilterTest class.
- - Added FilterConfigurationTest unit tests.
-
- * Scripts/webkitpy/style/processors/cpp.py:
- - Removed _is_test_filename() code.
- - Removed hard-coded path checks from check_include_line().
-
- * Scripts/webkitpy/style/processors/cpp_unittest.py:
- - Removed three unit tests related to exempted files.
-
-2010-02-05 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Ariya Hidayat.
-
- [Qt] Apply the command line options as settings to the
- graphics system.
-
- * QtLauncher/main.cpp:
- (LauncherWindow::LauncherWindow):
- (requiresGraphicsView):
- (LauncherApplication::handleUserOptions):
- * QtLauncher/webview.h:
- (WebViewGraphicsBased::setItemCacheMode):
-
-2010-02-05 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Notify user that run-webkit-tests has to be run under Cygwin
-
- The script will bail out if run under Windows shell or Msys.
-
- * Scripts/run-webkit-tests:
- * Scripts/webkitdirs.pm:
-
-2010-02-05 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Generate convenience headers (QWebView, etc) using qmake
-
- In Qt this is done using syncqt, but we use a pro-file instead
- that generates makefile-rules for each of the extra headers.
-
- These extra headers are installed alongside the normal headers.
-
- * Scripts/webkitdirs.pm: Run qmake and make on new API-DerivedSources
-
-2010-02-05 Andras Becsi <abecsi@webkit.org>
-
- Unreviewed typo fix.
-
- Fix wrong whitespace alignment introduced in r54342.
-
- * Scripts/run-webkit-tests:
-
-2010-02-04 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Timothy Hatcher.
-
- Build fix. Remove a symbol corresponding to an inline function from the linker export
- file to prevent a weak external failure.
-
- * Scripts/check-for-weak-vtables-and-externals: Renamed from WebKitTools/Scripts/check-for-weak-vtables.
- Teach the script how to detect weak external symbols so that these errors can be caught immediately
- in the future.
-
-2010-02-04 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Rubberstamped by Oliver Hunt.
-
- [Qt] Make it possible to choose whether the launcher should
- use the traditional QWidget based QWebView or the newer
- QGraphics based QGraphicsWebView on a QGraphicsView.
-
- * QtLauncher/main.cpp:
- (LauncherWindow::LauncherWindow):
- (LauncherWindow::eventFilter):
- (LauncherWindow::loadStarted):
- (LauncherWindow::print):
- (LauncherWindow::screenshot):
- (LauncherWindow::setEditable):
- (LauncherWindow::setupUI):
- (main):
- * QtLauncher/webview.cpp:
- (WebViewGraphicsBased::WebViewGraphicsBased):
- (WebViewGraphicsBased::resizeEvent):
- (GraphicsWebView::mousePressEvent):
- (GraphicsWebView::contextMenuEvent):
- * QtLauncher/webview.h:
- (WebViewTraditional::WebViewTraditional):
- (GraphicsWebView::GraphicsWebView):
- (WebViewGraphicsBased::setPage):
-
-2010-02-04 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Rubberstamped by Oliver Hunt.
-
- [Qt] QtLauncher cleanup.
-
- Refactor option handling out in utility functions and make the
- arguments more Qt compatible.
-
- * QtLauncher/main.cpp:
- (requiresGraphicsView):
- (LauncherApplication::handleUserOptions):
- * QtLauncher/utils.cpp:
- (takeOptionValue):
- (formatKeys):
- (enumToKeys):
- (appQuit):
- * QtLauncher/utils.h:
-
-2010-02-04 Andras Becsi <abecsi@inf.u-szeged.hu>
-
- Reviewed by Tor Arne Vestbø.
-
- Implement a locking and scheduling mechanism for http testing sessions to be able
- to run multiple instances of run-webkit-tests parallel on the same machine.
- If a test session wants to run http tests and this feature is enabled, the pending
- sessions create lockfiles with sequential lock numbers. These locks are used to schedule
- the running test sessions in first come first served order. An exclusive lock ensures
- that the lock numbers are sequential to avoid deadlocks and starvation.
- Because the buildbot master specifies the flags used by slaves we need an environment
- variable too to be able to use the feature per-slave.
- Exporting WEBKIT_WAIT_FOR_HTTPD=1 before testing or using the --wait-for-httpd
- flag enables this feature, otherwise this patch has no effect on the testing whatsoever.
-
- https://bugs.webkit.org/show_bug.cgi?id=33153
-
- * Scripts/run-webkit-tests:
- * Scripts/webkitperl/httpd.pm:
-
-2010-01-22 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Make run-webkit-tests work under Cygwin for the Qt port
-
- setPathForRunningWebKitApp() is implemented for the Qt port
- by using qmake to query for the location of the Qt libraries.
-
- This requires the original environment (%ENV) to be untouched,
- so launchWithCurrentEnv() was refactored to launchWithEnv(),
- and the code in openDumpTool() to not use %ENV but a %CLEAN_ENV
- instead. This has the added benefit of getting rid of the temp
- variables used for storing the current env.
-
- openDumpTool() is also refactored a bit into platform-spesific,
- port-spesific, and generic environment variables.
-
- Checks for undef was added a few places to fix Perl concat
- warnings when run-webkit-tests is aborted.
-
- https://bugs.webkit.org/show_bug.cgi?id=33895
-
- * Scripts/run-webkit-tests:
- * Scripts/webkitdirs.pm:
-
-2010-02-04 Yuzo Fujishima <yuzo@google.com>
-
- Unreviewed.
-
- Add Yuzo to the committers list.
-
- * Scripts/webkitpy/committers.py:
-
-2010-02-03 Dirk Pranke <dpranke@chromium.org>
-
- Rubber-stamped by Eric Seidel.
-
- Change "the Chromium name" to "the name of Google Inc." in the licenses
-
- https://bugs.webkit.org/show_bug.cgi?id=34511
-
- * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
- * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
- * Scripts/webkitpy/layout_tests/layout_package/metered_stream.py:
- * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py:
- * Scripts/webkitpy/layout_tests/layout_package/test_failures.py:
- * Scripts/webkitpy/layout_tests/layout_package/test_files.py:
- * Scripts/webkitpy/layout_tests/layout_package/test_shell_thread.py:
- * Scripts/webkitpy/layout_tests/port/__init__.py:
- * Scripts/webkitpy/layout_tests/port/apache_http_server.py:
- * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
- * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
- * Scripts/webkitpy/layout_tests/port/chromium_win.py:
- * Scripts/webkitpy/layout_tests/port/http_server.py:
- * Scripts/webkitpy/layout_tests/port/http_server_base.py:
- * Scripts/webkitpy/layout_tests/port/path_utils.py:
- * Scripts/webkitpy/layout_tests/port/websocket_server.py:
- * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
- * Scripts/webkitpy/layout_tests/run_chromium_webkit_tests.py:
- * Scripts/webkitpy/layout_tests/test_types/fuzzy_image_diff.py:
- * Scripts/webkitpy/layout_tests/test_types/image_diff.py:
- * Scripts/webkitpy/layout_tests/test_types/test_type_base.py:
- * Scripts/webkitpy/layout_tests/test_types/text_diff.py:
-
-2010-02-03 Dirk Pranke <dpranke@chromium.org>
-
- Rubber-stamped by Eric Siedel.
-
- Rename files as part of refactoring the layout_tests package. All
- the platform_utils* module, the path_utils.py module, and
- the http server and web socket server modules are moved into a new
- port/ package.
-
- https://bugs.webkit.org/show_bug.cgi?id=34511
-
- * Scripts/webkitpy/layout_tests/layout_package/apache_http_server.py: Removed.
- * Scripts/webkitpy/layout_tests/layout_package/http_server.py: Removed.
- * Scripts/webkitpy/layout_tests/layout_package/http_server_base.py: Removed.
- * Scripts/webkitpy/layout_tests/layout_package/httpd2.pem: Removed.
- * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
- * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
- * Scripts/webkitpy/layout_tests/layout_package/lighttpd.conf: Removed.
- * Scripts/webkitpy/layout_tests/layout_package/path_utils.py: Removed.
- * Scripts/webkitpy/layout_tests/layout_package/platform_utils.py: Removed.
- * Scripts/webkitpy/layout_tests/layout_package/platform_utils_linux.py: Removed.
- * Scripts/webkitpy/layout_tests/layout_package/platform_utils_mac.py: Removed.
- * Scripts/webkitpy/layout_tests/layout_package/platform_utils_win.py: Removed.
- * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py:
- * Scripts/webkitpy/layout_tests/layout_package/test_files.py:
- * Scripts/webkitpy/layout_tests/layout_package/test_shell_thread.py:
- * Scripts/webkitpy/layout_tests/layout_package/websocket_server.py: Removed.
- * Scripts/webkitpy/layout_tests/port: Added.
- * Scripts/webkitpy/layout_tests/port/__init__.py: Copied from Scripts/webkitpy/layout_tests/layout_package/platform_utils.py.
- * Scripts/webkitpy/layout_tests/port/apache_http_server.py: Copied from Scripts/webkitpy/layout_tests/layout_package/apache_http_server.py.
- * Scripts/webkitpy/layout_tests/port/chromium_linux.py: Copied from Scripts/webkitpy/layout_tests/layout_package/platform_utils_linux.py.
- * Scripts/webkitpy/layout_tests/port/chromium_mac.py: Copied from Scripts/webkitpy/layout_tests/layout_package/platform_utils_mac.py.
- * Scripts/webkitpy/layout_tests/port/chromium_win.py: Copied from Scripts/webkitpy/layout_tests/layout_package/platform_utils_win.py.
- * Scripts/webkitpy/layout_tests/port/http_server.py: Copied from Scripts/webkitpy/layout_tests/layout_package/http_server.py.
- * Scripts/webkitpy/layout_tests/port/http_server_base.py: Copied from Scripts/webkitpy/layout_tests/layout_package/http_server_base.py.
- * Scripts/webkitpy/layout_tests/port/httpd2.pem: Copied from Scripts/webkitpy/layout_tests/layout_package/httpd2.pem.
- * Scripts/webkitpy/layout_tests/port/lighttpd.conf: Copied from Scripts/webkitpy/layout_tests/layout_package/lighttpd.conf.
- * Scripts/webkitpy/layout_tests/port/path_utils.py: Copied from Scripts/webkitpy/layout_tests/layout_package/path_utils.py.
- * Scripts/webkitpy/layout_tests/port/websocket_server.py: Copied from Scripts/webkitpy/layout_tests/layout_package/websocket_server.py.
- * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
- * Scripts/webkitpy/layout_tests/run_chromium_webkit_tests.py:
- * Scripts/webkitpy/layout_tests/test_types/fuzzy_image_diff.py:
- * Scripts/webkitpy/layout_tests/test_types/image_diff.py:
- * Scripts/webkitpy/layout_tests/test_types/test_type_base.py:
- * Scripts/webkitpy/layout_tests/test_types/text_diff.py:
-
-
-2010-02-03 Csaba Osztrogonác <ossy@webkit.org>
-
- Rubber-stamped by Eric Seidel.
-
- Roll back r53559 and r54084 again, because roll out didn't solve flakeyness on the Windows Test bots
- https://bugs.webkit.org/show_bug.cgi?id=34399
-
- * Scripts/run-iexploder-tests:
- * Scripts/run-webkit-httpd:
- * Scripts/run-webkit-tests:
- * Scripts/webkitperl/httpd.pm: Added.
-
-2010-02-03 Csaba Osztrogonác <ossy@webkit.org>
-
- Rubber-stamped by Eric Seidel.
-
- Roll out r53559 and r54084, because it might caused flakeyness on the Windows Test bots
-
- * Scripts/run-iexploder-tests:
- * Scripts/run-webkit-httpd:
- * Scripts/run-webkit-tests:
- * Scripts/webkitperl/httpd.pm: Removed.
-
-2010-02-03 Csaba Osztrogonác <ossy@webkit.org>
-
- Rubber-stamped by Ariya Hidayat.
-
- Roll back r53889 again, because roll out didn't solve flakeyness on the Windows Test bots
- https://bugs.webkit.org/show_bug.cgi?id=34399
-
- * DumpRenderTree/win/EventSender.cpp:
- (buildModifierFlags):
- (mouseDownCallback):
- (mouseUpCallback):
- (keyDownCallback):
-
-2010-02-03 Eric Seidel <eric@webkit.org>
-
- No review, just fixing copyrights.
-
- Concerns were expressed about "The Chromium Authors" being
- a valid legal entity for copyright assignment in the WebKit repository,
- so this change removes all "The Chromium Authors".
-
- I looked at the svn logs in src.chromium.org and failed to find any
- non-google contributions to these files, so they are all now
- marked as copyright "Google Inc" as all Google contributers assign
- copyright to "Google Inc" as part of their employment agreement.
-
- * Scripts/rebaseline-chromium-webkit-tests:
- * Scripts/run-chromium-webkit-tests:
- * Scripts/webkitpy/layout_tests/layout_package/apache_http_server.py:
- * Scripts/webkitpy/layout_tests/layout_package/http_server.py:
- * Scripts/webkitpy/layout_tests/layout_package/http_server_base.py:
- * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
- * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
- * Scripts/webkitpy/layout_tests/layout_package/metered_stream.py:
- * Scripts/webkitpy/layout_tests/layout_package/path_utils.py:
- * Scripts/webkitpy/layout_tests/layout_package/platform_utils.py:
- * Scripts/webkitpy/layout_tests/layout_package/platform_utils_linux.py:
- * Scripts/webkitpy/layout_tests/layout_package/platform_utils_mac.py:
- * Scripts/webkitpy/layout_tests/layout_package/platform_utils_win.py:
- * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py:
- * Scripts/webkitpy/layout_tests/layout_package/test_failures.py:
- * Scripts/webkitpy/layout_tests/layout_package/test_files.py:
- * Scripts/webkitpy/layout_tests/layout_package/test_shell_thread.py:
- * Scripts/webkitpy/layout_tests/layout_package/websocket_server.py:
- * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
- * Scripts/webkitpy/layout_tests/run_chromium_webkit_tests.py:
- * Scripts/webkitpy/layout_tests/test_types/fuzzy_image_diff.py:
- * Scripts/webkitpy/layout_tests/test_types/image_diff.py:
- * Scripts/webkitpy/layout_tests/test_types/test_type_base.py:
- * Scripts/webkitpy/layout_tests/test_types/text_diff.py:
-
-2010-02-03 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Ariya Hidayat.
-
- [Qt] QtLauncher, refactor argument handling in preparation of merge
- with QGVLauncher
-
- * QtLauncher/main.cpp:
- (LauncherApplication::urls):
- (LauncherApplication::isRobotized):
- (LauncherApplication::applyDefaultSettings):
- (LauncherApplication::LauncherApplication):
- (LauncherApplication::formatKeys):
- (LauncherApplication::enumToKeys):
- (fail):
- (LauncherApplication::handleUserOptions):
- (main):
-
-2010-02-03 Csaba Osztrogonác <ossy@webkit.org>
-
- Rubber-stamped by Ariya Hidayat.
-
- Rolling out r53889, because it might caused flakeyness on the Windows Test bots
- https://bugs.webkit.org/show_bug.cgi?id=34399
-
- * DumpRenderTree/win/EventSender.cpp:
- (mouseDownCallback):
- (mouseUpCallback):
- (keyDownCallback):
-
-2010-02-03 Csaba Osztrogonác <ossy@webkit.org>
-
- Reviewed by Ariya Hidayat.
-
- [Qt] Fix pixel tests support.
- https://bugs.webkit.org/show_bug.cgi?id=27813
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::DumpRenderTree::open):
- (WebCore::DumpRenderTree::processLine):
- - Hash processing mechanism moved from DumpRenderTree::open to DumpRenderTree::processLine.
- (WebCore::DumpRenderTree::dump): Fixed and renamed variables.
-
-2010-02-03 Kevin Watters <kevinwatters@gmail.com>
-
- Reviewed by Kevin Ollivier.
-
- [wx] Enable JIT compilation for wx.
-
- https://bugs.webkit.org/show_bug.cgi?id=34536
-
- * wx/build/settings.py:
-
-2010-02-02 Kevin Ollivier <kevino@theolliviers.com>
-
- [wx] Build fix after introduction of pageNumberForElementById.
-
- * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
- (LayoutTestController::pageNumberForElementById):
-
-2010-02-02 Shu Chang <Chang.Shu@nokia.com>
-
- Unreviewed.
-
- Add myself to list of committers.
-
- * Scripts/webkitpy/committers.py:
-
-2010-02-02 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Shinichiro Hamaji.
-
- Moved filter-related check-webkit-style code into a separate
- filter module.
-
- https://bugs.webkit.org/show_bug.cgi?id=34408
-
- This is preparatory refactoring for Bug 33684, which will allow
- file and folder-specific filter rules.
-
- * Scripts/webkitpy/style/checker.py:
- - Removed CategoryFilter class (moved to filter.py).
-
- * Scripts/webkitpy/style/checker_unittest.py:
- - Removed CategoryFilter unit tests (moved to filter_unittest.py).
-
- * Scripts/webkitpy/style/filter.py: Added.
- - Added CategoryFilter class (moved from checker.py).
-
- * Scripts/webkitpy/style/filter_unittest.py: Added.
- - Added CategoryFilter unit tests (moved from checker_unittest.py).
-
- * Scripts/webkitpy/style/unittests.py:
- - Added reference to filter_unittest.py.
-
-2010-02-01 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Shinichiro Hamaji.
-
- Addressed FIXME in check-webkit-style so that the carriage-return
- check will work for patches.
-
- https://bugs.webkit.org/show_bug.cgi?id=34260
-
- Also added support for limiting the number of errors reported
- per category, per file.
-
- * Scripts/webkitpy/style/checker.py:
- - Added new "whitespace/carriage_return" category from common.py.
- - Added MAX_REPORTS_PER_CATEGORY dictionary.
- - Added max_reports_per_category attribute to ProcessorOptions class.
- - Refactored StyleChecker._process_file().
-
- * Scripts/webkitpy/style/checker_unittest.py:
- - Updated ProcessorOptionsTest tests.
- - Added test to check MAX_REPORTS_PER_CATEGORY.
-
- * Scripts/webkitpy/style/error_handlers.py:
- - Added support for suppressing the display of errors after
- reaching a per-category maximum (from max_reports_per_category).
-
- * Scripts/webkitpy/style/error_handlers_unittest.py:
- - Added test for suppressing error display.
-
- * Scripts/webkitpy/style/processors/common.py: Added.
- - Moved carriage-return check to new file.
-
- * Scripts/webkitpy/style/processors/common_unittest.py: Added.
- - Added unit tests for carriage-return check.
-
- * Scripts/webkitpy/style/unittests.py:
- - Added reference to common_unittest.py.
-
-2010-02-01 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Provide a way to get page number with layoutTestController
- https://bugs.webkit.org/show_bug.cgi?id=33840
-
- * DumpRenderTree/LayoutTestController.cpp:
- (pageNumberForElementByIdCallback):
- (LayoutTestController::staticFunctions):
- * DumpRenderTree/LayoutTestController.h:
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::pageNumberForElementById):
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (LayoutTestController::pageNumberForElementById):
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::pageNumberForElementById):
-
-2010-02-01 Shinichiro Hamaji <hamaji@chromium.org>
-
- Unreviewed fix for an invalid function call.
-
- check-webkit-style: Remove filename parameter from all functions where no longer used
- https://bugs.webkit.org/show_bug.cgi?id=34249
-
- * Scripts/webkitpy/style/checker.py:
-
-2010-02-01 Diego Gonzalez <diego.gonzalez@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] DRT Provide global flag ability
- https://bugs.webkit.org/show_bug.cgi?id=34418
-
- Add the globalFlag property to the Qt LayoutTestController to allow
- cross-domain indications.
-
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::reset):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
- (LayoutTestController::globalFlag):
- (LayoutTestController::setGlobalFlag):
-
-2010-02-01 Brady Eidson <beidson@apple.com>
-
- Reviewed by Adele Peterson.
-
- Crash in Safari opening new tabs to "same page"
- <rdar://problem/7593857> and https://bugs.webkit.org/show_bug.cgi?id=34444
-
- Add a mode (Mac-only for now) that exercises the WebView SPI _loadBackForwardListFromOtherView:
-
- * DumpRenderTree/LayoutTestController.cpp:
- (LayoutTestController::LayoutTestController):
- (setNewWindowsCopyBackForwardListCallback):
- (LayoutTestController::staticFunctions):
-
- * DumpRenderTree/LayoutTestController.h:
- (LayoutTestController::newWindowsCopyBackForwardList):
- (LayoutTestController::setNewWindowsCopyBackForwardList):
-
- * DumpRenderTree/mac/UIDelegate.mm:
- (-[UIDelegate webView:createWebViewWithRequest:]):
-
-2010-02-01 Carol Szabo <carol.szabo@nokia.com>
-
- Unreviewed.
-
- Add myself to list of committers.
-
- * Scripts/webkitpy/committers.py:
-
-2010-02-01 Nate Chapin <japhet@chromium.org>
-
- Rubber-stamped by David Levin.
-
- Add myself to reviewer list.
-
- * Scripts/webkitpy/committers.py:
-
-2010-01-31 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Shinichiro Hamaji.
-
- Moved style error handler code to their own classes, and
- related refactoring. Increased unit test code coverage of
- style error handling.
-
- https://bugs.webkit.org/show_bug.cgi?id=34379
-
- * Scripts/check-webkit-style:
- - Minor change: added error_count variable.
-
- * Scripts/webkitpy/style/checker.py:
- - Renamed ProcessorOptions.should_report_error() to is_reportable().
- - In the StyleChecker class--
- - Removed _default_style_error_handler().
- - Added _increment_error_count().
- - Refactored to use DefaultStyleErrorHandler and
- PatchStyleErrorHandler constructors.
-
- * Scripts/webkitpy/style/checker_unittest.py:
- - In the StyleStyleCheckerTest class--
- - Removed write_sample_error().
- - Removed test_default_style_error_handler().
-
- * Scripts/webkitpy/style/error_handlers.py: Added.
- - Added DefaultStyleErrorHandler class.
- - Added PatchStyleErrorHandler class.
-
- * Scripts/webkitpy/style/error_handlers_unittest.py: Added.
- - Added unit tests for DefaultStyleErrorHandler and
- PatchStyleErrorHandler.
-
- * Scripts/webkitpy/style/unittests.py:
- - Added error_handlers unit tests.
-
-2010-01-29 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Stephanie Lewis.
-
- Fix run-leaks with newer versions of the leaks tool.
-
- * Scripts/run-leaks:
-
-2010-01-29 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Eric Siedel.
-
- Top-level test drivers for running the Chromium port of run-webkit-tests
- and being able to rebaseline test results from the test bots. The
- files in the Scripts directory are simply wrappers around the files
- in webkitpy/layout_tests for convenience.
-
- https://bugs.webkit.org/show_bug.cgi?id=31498
-
- * Scripts/rebaseline-chromium-webkit-tests: Added.
- * Scripts/run-chromium-webkit-tests: Added.
- * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py: Added.
- * Scripts/webkitpy/layout_tests/run_chromium_webkit_tests.py: Added.
-
-2010-01-29 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Eric Siedel.
-
- Add in the second block of python code for the Chromium port
- of run-webkit-tests. These files execute different diffs to classify
- the various types of failures from a test.
-
- * Scripts/webkitpy/layout_tests/test_types: Added.
- * Scripts/webkitpy/layout_tests/test_types/__init__.py: Added.
- * Scripts/webkitpy/layout_tests/test_types/fuzzy_image_diff.py: Added.
- * Scripts/webkitpy/layout_tests/test_types/image_diff.py: Added.
- * Scripts/webkitpy/layout_tests/test_types/test_type_base.py: Added.
- * Scripts/webkitpy/layout_tests/test_types/text_diff.py: Added.
-
-2010-01-29 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Eric Siedel.
-
- Check in the first part of the Chromium Python port of the
- run-webkit-tests test driver. The files under
- layout_tests/layout_layout constitute most of the implementation;
- they can be roughly divided into code that parses the
- "test_expectations.txt" file that describes how we expect tests to
- pass or fail, platform-specific hooks for the different Chromium
- ports (in platform_utils*), code for parsing the output of the
- tests and generating results files and HTML and JSON for the
- dashboards, auxiliary scripts for starting and stopping HTTP and
- Web Socket servers, and then one of the actual driver files
- (test_shell_thread). Code for actually parsing test output for
- failures and the top-level driver scripts will follow shortly.
-
- https://bugs.webkit.org/show_bug.cgi?id=31498
-
- * Scripts/webkitpy/layout_tests: Added.
- * Scripts/webkitpy/layout_tests/layout_package: Added.
- * Scripts/webkitpy/layout_tests/layout_package/__init__.py: Added.
- * Scripts/webkitpy/layout_tests/layout_package/apache_http_server.py: Added.
- * Scripts/webkitpy/layout_tests/layout_package/http_server.py: Added.
- * Scripts/webkitpy/layout_tests/layout_package/http_server_base.py: Added.
- * Scripts/webkitpy/layout_tests/layout_package/httpd2.pem: Added.
- - scripts to start and stop apache. Note that the apache file
- generates a conf file dynamically, and we should switch to
- using the same static conf file that the regular run-webkit-tests
- uses, and we can also use the same httpd2.pem file.
-
- * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py: Added.
- * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py: Added.
- - scripts to generate the JSON layout test dashboard and the
- flakiness dashboard
- * Scripts/webkitpy/layout_tests/layout_package/lighttpd.conf: Added.
- - default configuration for LigHTTPd (used on Windows)
- * Scripts/webkitpy/layout_tests/layout_package/metered_stream.py: Added.
- - utility class that implements progress bars on the console to
- be displayed while the tests are running
- * Scripts/webkitpy/layout_tests/layout_package/path_utils.py: Added.
- - various routines for manipulating paths and URIs
- * Scripts/webkitpy/layout_tests/layout_package/platform_utils.py: Added.
- * Scripts/webkitpy/layout_tests/layout_package/platform_utils_linux.py: Added.
- * Scripts/webkitpy/layout_tests/layout_package/platform_utils_mac.py: Added.
- * Scripts/webkitpy/layout_tests/layout_package/platform_utils_win.py: Added.
- - platform-specific aspects of the drivers (binary names, paths,
- process control, etc.)
- * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py: Added.
- - code for parsing the 'test_expectations.txt' file to determine
- which tests are expected to fail (and how) on which platforms
- * Scripts/webkitpy/layout_tests/layout_package/test_failures.py: Added.
- - code for handling different kinds of failures (generating output
- in the results, etc.)
- * Scripts/webkitpy/layout_tests/layout_package/test_files.py: Added.
- - code to gather the lists of tests
- * Scripts/webkitpy/layout_tests/layout_package/test_shell_thread.py: Added.
- - code to actually execute tests via TestShell and process
- the output
- * Scripts/webkitpy/layout_tests/layout_package/websocket_server.py: Added.
- - scripts to start and stop the pywebsocket server
-
-2010-01-29 Dirk Pranke <dpranke@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Check in a copy of the simplejson library; it will be used by
- the Chromium port of run-webkit-tests.
-
- https://bugs.webkit.org/show_bug.cgi?id=31498
-
- * simplejson: Added.
- * simplejson/LICENSE.txt: Added.
- * simplejson/README.txt: Added.
- * simplejson/__init__.py: Added.
- * simplejson/_speedups.c: Added.
- (ascii_escape_char):
- (ascii_escape_unicode):
- (ascii_escape_str):
- (py_encode_basestring_ascii):
- (init_speedups):
- * simplejson/decoder.py: Added.
- * simplejson/encoder.py: Added.
- * simplejson/jsonfilter.py: Added.
- * simplejson/scanner.py: Added.
-
-2010-01-29 Dirk Pranke <dpranke@chromium.org>
-
- No review
-
- Add myself to the committers list
-
- * Scripts/webkitpy/committers.py:
-
-2010-01-29 Jeremy Orlow <jorlow@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- A first step towards the Indexed Database API
- https://bugs.webkit.org/show_bug.cgi?id=34342
-
- Add indexed database API.
-
- * Scripts/build-webkit:
-
-2010-01-29 Andras Becsi <abecsi@webkit.org>
-
- Reviewed by Alexey Proskuryakov.
-
- Correct openHTTPD() to print requests to stdout if run-webkit-httpd is used.
- This fixes a regression introduced in r53559.
-
- https://bugs.webkit.org/show_bug.cgi?id=34336
-
- * Scripts/webkitperl/httpd.pm:
-
-2010-01-28 Jon Honeycutt <jhoneycutt@apple.com>
-
- MSAA: Crash when posting a notification for a detached object
-
- https://bugs.webkit.org/show_bug.cgi?id=34309
- <rdar://problem/7409759>
-
- Reviewed by Darin Adler.
-
- * DumpRenderTree/AccessibilityController.h:
- Declare new functions. Add new members to store the event hook and the
- mapping of accessibility elements to their JS callbacks.
-
- * DumpRenderTree/gtk/AccessibilityControllerGtk.cpp:
- (AccessibilityController::notificationReceived):
- Stubbed.
- (AccessibilityController::addNotificationListener):
- Stubbed.
-
- * DumpRenderTree/mac/AccessibilityControllerMac.mm:
- (AccessibilityController::notificationReceived):
- Stubbed.
- (AccessibilityController::addNotificationListener):
- Stubbed.
-
- * DumpRenderTree/win/AccessibilityControllerWin.cpp:
- (AccessibilityController::AccessibilityController):
- Initialize the event hook.
- (AccessibilityController::~AccessibilityController):
- Remove the event hook. Unprotect all of the JS functions that are stored
- in the map.
- (logEventProc):
- Clean-up a variable.
- (stringEvent):
- Return a string description of the MSAA event code.
- (notificationListenerProc):
- Get the accessible object from the event, and query it for IAccessible.
- Call the AccessibilityController's notificationReceived().
- (comparableObject):
- Use QueryService to obtain the IAccessibleComparable for the
- IServiceProvider.
- (AccessibilityController::notificationReceived):
- Iterate the map of objects that have registered for notification
- callbacks. Query each for IServiceProvider, then use comparableObject()
- to get an IAccessibleComparable. If we find an object matching the
- notified object, call its callback, passing the event that was received.
- (AccessibilityController::addNotificationListener):
- If we have not created the event hook, create it. Protect the JS
- callback function object, and add the object and its callback to our
- map.
-
- * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
- (AccessibilityUIElement::addNotificationListener):
- Call through to the AccessibilityController's addNotificationListener().
-
- * DumpRenderTree/win/DumpRenderTreeWin.h:
- Add an extern declaration for the shared FrameLoadDelegate extern, so we
- can access it from AccessibilityController.
-
- * DumpRenderTree/win/FrameLoadDelegate.h:
- (FrameLoadDelegate::accessibilityController):
- Return the AccessibilityController.
-
-2010-01-29 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Darin Adler.
-
- prepare-ChangeLog outputs useless messages for a nonexistent bug ID
- https://bugs.webkit.org/show_bug.cgi?id=34313
-
- * Scripts/prepare-ChangeLog:
-
-2010-01-29 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Rubberstamped by Simon Hausmann.
-
- [Qt] Separate implementation from class definition.
-
- * QtLauncher/main.cpp:
- (LauncherWindow::webView):
- (LauncherWindow::LauncherWindow):
- (LauncherWindow::~LauncherWindow):
- (LauncherWindow::keyPressEvent):
- (LauncherWindow::grabZoomKeys):
- (LauncherWindow::sendTouchEvent):
- (LauncherWindow::eventFilter):
- (LauncherWindow::loadStarted):
- (LauncherWindow::loadFinished):
- (LauncherWindow::showLinkHover):
- (LauncherWindow::zoomIn):
- (LauncherWindow::zoomOut):
- (LauncherWindow::resetZoom):
- (LauncherWindow::toggleZoomTextOnly):
- (LauncherWindow::print):
- (LauncherWindow::screenshot):
- (LauncherWindow::setEditable):
- (LauncherWindow::dumpHtml):
- (LauncherWindow::selectElements):
- (LauncherWindow::setTouchMocking):
- (LauncherWindow::newWindow):
- (LauncherWindow::setupUI):
-
-2010-01-29 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Ariya Hidayat.
-
- [Qt] On Maemo5, a click/touch in the location bar (when unfocused)
- should result in all text selected.
-
- * QtLauncher/locationedit.cpp:
- (LocationEdit::focusInEvent):
- * QtLauncher/locationedit.h:
-
-2010-01-29 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Ariya Hidayat.
-
- [Qt] Show progress reaching 100% for loads.
-
- * QtLauncher/locationedit.cpp:
- (LocationEdit::LocationEdit):
- (LocationEdit::setProgress):
- (LocationEdit::reset):
- (LocationEdit::paintEvent):
- * QtLauncher/locationedit.h:
-
-2010-01-29 Andreas Kling <andreas.kling@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Disable the QtLauncher statusbar on Maemo
-
- https://bugs.webkit.org/show_bug.cgi?id=34330
-
- * QtLauncher/main.cpp:
- (LauncherWindow::showLinkHover):
- (LauncherWindow::selectElements):
-
-2010-01-29 Andreas Kling <andreas.kling@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Display page loading progress inside the QtLauncher location bar
-
- https://bugs.webkit.org/show_bug.cgi?id=34210
-
- * QtLauncher/QtLauncher.pro:
- * QtLauncher/locationedit.cpp: Added.
- (LocationEdit::LocationEdit):
- (LocationEdit::setProgress):
- (LocationEdit::paintEvent):
- * QtLauncher/locationedit.h: Added.
- * QtLauncher/mainwindow.cpp:
- (MainWindow::buildUI):
- * QtLauncher/mainwindow.h:
-
-2010-01-29 Andreas Kling <andreas.kling@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Add support for Maemo zoom keys in QtLauncher
-
- https://bugs.webkit.org/show_bug.cgi?id=34160
-
- * QtLauncher/main.cpp:
- (LauncherWindow::LauncherWindow):
- (LauncherWindow::~LauncherWindow):
- (LauncherWindow::keyPressEvent):
- (LauncherWindow::grabZoomKeys):
-
-2010-01-29 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Implement the display() method of the layout test controller
- https://bugs.webkit.org/show_bug.cgi?id=34258
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::DumpRenderTree::DumpRenderTree):
- (WebCore::DumpRenderTree::showPage):
- (WebCore::DumpRenderTree::hidePage):
- * DumpRenderTree/qt/DumpRenderTreeQt.h:
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::reset):
- (LayoutTestController::display):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
-
-2010-01-28 Kevin Ollivier <kevino@theolliviers.com>
-
- [wx] Build fix for MSW, use ThreadingWin.cpp as the Windows pthreads implementation
- implements pthread_t in a way that makes it impossible to check its validity,
- which is needed by ThreadingPthreads.cpp.
-
- * DumpRenderTree/wscript:
- * wx/build/settings.py:
-
-2010-01-28 Andras Becsi <abecsi@webkit.org>
-
- Adding myself to the committer list. No review needed.
-
- * Scripts/webkitpy/committers.py:
-
-2010-01-28 Hayato Ito <hayato@chromium.org>
-
- Reviewed by David Levin.
-
- Remove NULL char from input JS file because 'grep' fails if the file contains NULL char.
-
- https://bugs.webkit.org/show_bug.cgi?id=34252
-
- * Scripts/make-script-test-wrappers:
-
-2010-01-28 Kevin Ollivier <kevino@theolliviers.com>
-
- [wx] Build fix after removal of the zlib image decoder.
-
- * wx/build/settings.py:
-
-2010-01-28 Csaba Osztrogonác <ossy@webkit.org>
-
- [Qt] Unreviewed, roll out r54000.
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::DumpRenderTree::DumpRenderTree):
- * DumpRenderTree/qt/DumpRenderTreeQt.h:
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::reset):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
- (LayoutTestController::display):
-
-2010-01-28 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Implement the display() method of the layout test controller
- https://bugs.webkit.org/show_bug.cgi?id=34258
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::DumpRenderTree::DumpRenderTree):
- (WebCore::DumpRenderTree::showPage):
- (WebCore::DumpRenderTree::hidePage):
- * DumpRenderTree/qt/DumpRenderTreeQt.h:
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::reset):
- (LayoutTestController::display):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
-
-2010-01-28 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Shinichiro Hamaji.
-
- Eliminated the filename parameter from functions in
- check-webkit-style's cpp.py where it is no longer used.
-
- https://bugs.webkit.org/show_bug.cgi?id=34249
-
- * Scripts/webkitpy/style/processors/cpp.py:
- - Reduced number of occurrences of "filename" variable from
- approximately 200 to 120.
-
- * Scripts/webkitpy/style/processors/cpp_unittest.py:
- - Refactored unit tests as necessary to accommodate changes to cpp.py.
- - Fixed bug in CppStyleTestBase.perform_include_what_you_use()
- where the incorrect file extension was getting passed to
- cpp_style.check_language().
-
-2010-01-28 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Shinichiro Hamaji.
-
- In check-webkit-style, eliminated the dependency of
- processors/cpp_unittest.py on checker.py.
-
- https://bugs.webkit.org/show_bug.cgi?id=34205
-
- * Scripts/webkitpy/style/checker.py:
- - Addressed FIXME by removing STYLE_CATEGORIES data.
- - Added style_categories().
-
- * Scripts/webkitpy/style/checker_unittest.py:
- - Minor changes.
-
- * Scripts/webkitpy/style/processors/cpp.py:
- - Added categories attribute to CppProcessor class (data
- was originally checker.STYLE_CATEGORIES).
-
- * Scripts/webkitpy/style/processors/cpp_unittest.py:
- - Addressed FIXME by eliminating "import" from checker.py.
-
-2010-01-28 Anton Muhin <antonm@chromium.org>
-
- Reviewed by Shinichiro Hamaji.
-
- Improve treatment of conditions and rest of the line for if, else, switch and alikes
- https://bugs.webkit.org/show_bug.cgi?id=34173
-
- * Scripts/webkitpy/style/cpp_style.py:
- * Scripts/webkitpy/style/cpp_style_unittest.py:
-
-2010-01-28 Joe Mason <jmason@rim.com>
-
- Reviewed by Adam Barth.
-
- Limit login retries to 5
- https://bugs.webkit.org/show_bug.cgi?id=34193
-
- * Scripts/webkitpy/bugzilla.py:
-
-2010-01-27 Martin Robinson <mrobinson@webkit.org>
-
- Adding myself to the committer list. No review necessary.
-
- * Scripts/webkitpy/committers.py:
-
-2010-01-27 George Wright <gwright@rim.com>
-
- Reviewed by Adam Treat.
-
- https://bugs.webkit.org/show_bug.cgi?id=34216
-
- Add missing include for wtf/Platform.h
-
- * DumpRenderTree/AccessibilityController.h:
-
-2010-01-27 Diego Gonzalez <diego.gonzalez@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] DRT Provide worker thread ability to track counters
- https://bugs.webkit.org/show_bug.cgi?id=34221
-
- Implement workerThreadCount() in LayoutTestController of Qt DRT
-
- Tests:
- fast/workers/dedicated-worker-lifecycle.html
- fast/workers/shared-worker-frame-lifecycle.html
- fast/workers/shared-worker-lifecycle.html
- fast/workers/worker-lifecycle.html
-
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::workerThreadCount):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
-
-2010-01-27 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Rubberstamped by Simon Hausmann.
-
- [Qt] QtLauncher refactoring:
-
- Make the LauncherWindow depend less on the view, so that more
- code can be shared in near future.
-
- * QtLauncher/main.cpp:
- (LauncherWindow::sendTouchEvent):
- (LauncherWindow::loadFinished):
- (LauncherWindow::zoomIn):
- (LauncherWindow::zoomOut):
- (LauncherWindow::resetZoom):
- (LauncherWindow::toggleZoomTextOnly):
- (LauncherWindow::dumpHtml):
- (LauncherWindow::selectElements):
- (LauncherWindow::setupUI):
-
-2010-01-27 Kinuko Yasuda <kinuko@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Correctly handle the KeyLocation argument that has been introduced
- recently to test location-dependent key events in EventSender.keyDown.
- http://bugs.webkit.org/show_bug.cgi?id=28247
-
- Test: fast/events/keydown-numpad-keys.html
-
- * DumpRenderTree/gtk/EventSender.cpp:
- (keyDownCallback):
-
-2010-01-27 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Rubberstamped by Simon Hausmann.
-
- [Qt] QtLauncher refactoring:
-
- Move out code from the MainWindow (renamed to LauncherWindow)
- that is not depending on the view, and add it to a new class
- called MainWindow.
-
- * QtLauncher/QtLauncher.pro:
- * QtLauncher/main.cpp:
- (LauncherWindow::LauncherWindow):
- (LauncherWindow::eventFilter):
- (LauncherWindow::loadStarted):
- (LauncherWindow::loadFinished):
- (LauncherWindow::newWindow):
- (LauncherWindow::setupUI):
- (WebPage::createWindow):
- (main):
- * QtLauncher/mainwindow.cpp: Added.
- (MainWindow::MainWindow):
- (MainWindow::buildUI):
- (MainWindow::page):
- (MainWindow::setAddressUrl):
- (MainWindow::addCompleterEntry):
- (MainWindow::load):
- (MainWindow::changeLocation):
- (MainWindow::openFile):
- * QtLauncher/mainwindow.h: Added.
-
-2010-01-27 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Rubberstamped by Simon Hausmann.
-
- [Qt] QtLauncher, coding style fixes.
-
- * QtLauncher/main.cpp:
- (MainWindow::MainWindow):
- (MainWindow::sendTouchEvent):
- (MainWindow::eventFilter):
- (MainWindow::loadURL):
- (MainWindow::setupUI):
- (WebPage::createPlugin):
-
-2010-01-27 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Rubberstamped by Simon Hausmann.
-
- [Qt] QtLauncher refactoring, separating the webview and
- adding a QGraphicsWebView based version.
-
- * QtLauncher/QtLauncher.pro:
- * QtLauncher/main.cpp:
- (MainWindow::MainWindow):
- * QtLauncher/webpage.h:
- * QtLauncher/webview.cpp: Added.
- (createContextMenu):
- (WebViewGraphicsBased::mousePressEvent):
- (WebViewTraditional::mousePressEvent):
- (WebViewGraphicsBased::contextMenuEvent):
- (WebViewTraditional::contextMenuEvent):
- * QtLauncher/webview.h: Added.
- (WebViewGraphicsBased::WebViewGraphicsBased):
- (WebViewTraditional::WebViewTraditional):
-
-2010-01-27 Alexander Pavlov <apavlov@chromium.org>
-
- Adding myself as committer. No review necessary.
-
- * Scripts/webkitpy/committers.py:
-
-2010-01-27 Eric Seidel <eric@webkit.org>
-
- Reviewed by Darin Adler.
-
- webkit-patch needs an open-bugs command
- https://bugs.webkit.org/show_bug.cgi?id=30793
-
- * Scripts/test-webkitpy: import OpenBugsTest
- * Scripts/webkit-patch: import OpenBugs
- * Scripts/webkitpy/commands/download_unittest.py: don't import unittest
- * Scripts/webkitpy/commands/early_warning_system_unittest.py: ditto
- * Scripts/webkitpy/commands/queries_unittest.py: ditto
- * Scripts/webkitpy/commands/queues_unittest.py: ditto
- * Scripts/webkitpy/commands/upload_unittest.py: ditto
- * Scripts/webkitpy/mock_bugzillatool.py: log when user.open_url is called.
-
-2010-01-27 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Rubberstamped by Simon Hausmann
-
- [Qt] QtLauncher refactoring, separating utility methods.
-
- * QtLauncher/QtLauncher.pro:
- * QtLauncher/main.cpp:
- * QtLauncher/utils.cpp: Added.
- (urlFromUserInput):
- * QtLauncher/utils.h: Added.
-
-2010-01-27 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Rubberstamped by Simon Hausmann
-
- [Qt] Refactor the code in the QtLauncher dealing with HTTP proxy.
-
- * QtLauncher/main.cpp:
- (MainWindow::MainWindow):
- * QtLauncher/webpage.cpp:
- (WebPage::WebPage):
- (WebPage::applyProxy):
- * QtLauncher/webpage.h:
-
-2010-01-26 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Corrects debug build of DumpRenderTree on Windows.
-
- * DumpRenderTree/qt/DumpRenderTree.pro:
-
-2010-01-26 Daniel Bates <dbates@webkit.org>
-
- Reviewed by Adam Barth.
-
- https://bugs.webkit.org/show_bug.cgi?id=34070
-
- Moves the try/catch for OSError exceptions in Executive.run_command
- to Credentials.read_credentials() so that the unit test
- webkitpy.scm_unittest.SCMClassTests.test_error_handlers can
- assert that Executive.run_command throws an OSError exception.
-
- * Scripts/webkitpy/credentials.py:
- * Scripts/webkitpy/executive.py: Moved try/catch for OSError to
- method Credentials.read_credentials().
- * Scripts/webkitpy/executive_unittest.py: Removed tests that no longer
- apply: test_run_command_with_bad_command_check_return_code and
- test_run_command_with_bad_command_check_calls_error_handler. Added new
- test to assert that run_command throws OSError exceptions.
-
-2010-01-26 Diego Gonzalez <diego.gonzalez@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] DRT WebHistory support
- https://bugs.webkit.org/show_bug.cgi?id=34167
-
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::reset):
- (LayoutTestController::webHistoryItemCount):
- (LayoutTestController::keepWebHistory):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
-
-2010-01-26 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Eric Seidel.
-
- [Win] Add modifiers parameter support to Windows DumpRenderTree
- https://bugs.webkit.org/show_bug.cgi?id=34068
-
- Add support for functional name modifiers; "addSelectionKey" and
- "rangeSelectionKey", and modifiers parameter to eventSender.mouseDown()
- and eventSender.mouseUp().
- This change is similar to r53498 for Mac.
-
- * DumpRenderTree/win/EventSender.cpp:
- (buildModifierFlags): New function to set MK_CONTROL or MK_SHIFT to WPARAM.
- (mouseDownCallback): Call buidlModifiersFlags().
- (mouseUpCallback): ditto.
- (keyDownCallback): Add support for "addSelectionkey" and "rangeSelectionKey".
-
-2010-01-26 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Eric Seidel.
-
- The Python autoinstall cache directory now only gets created
- in the directory containing autoinstall.py.
-
- https://bugs.webkit.org/show_bug.cgi?id=33365
-
- * Scripts/webkitpy/autoinstall.py:
- - Also added a README file to the cache directory saying
- where it came from.
-
-2010-01-26 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Moved the check-webkit-style processors into a new
- webkitpy/style/processors directory.
-
- https://bugs.webkit.org/show_bug.cgi?id=34060
-
- * Scripts/webkitpy/style/checker.py:
- * Scripts/webkitpy/style/checker_unittest.py:
- * Scripts/webkitpy/style/cpp_style.py: Removed.
- * Scripts/webkitpy/style/cpp_style_unittest.py: Removed.
- * Scripts/webkitpy/style/processors: Added.
- * Scripts/webkitpy/style/processors/__init__.py: Added.
- * Scripts/webkitpy/style/processors/cpp.py: Copied from WebKitTools/Scripts/webkitpy/style/cpp_style.py.
- * Scripts/webkitpy/style/processors/cpp_unittest.py: Copied from WebKitTools/Scripts/webkitpy/style/cpp_style_unittest.py.
- * Scripts/webkitpy/style/processors/text.py: Copied from WebKitTools/Scripts/webkitpy/style/text_style.py.
- * Scripts/webkitpy/style/processors/text_unittest.py: Copied from WebKitTools/Scripts/webkitpy/style/text_style_unittest.py.
- * Scripts/webkitpy/style/text_style.py: Removed.
- * Scripts/webkitpy/style/text_style_unittest.py: Removed.
- * Scripts/webkitpy/style/unittests.py:
-
-2010-01-26 Kevin Ollivier <kevino@theolliviers.com>
-
- [wx] Build fix, make sure stub function returns a value.
-
- * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
- (LayoutTestController::counterValueForElementById):
-
-2010-01-26 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Windows build references non-existent include paths
- https://bugs.webkit.org/show_bug.cgi?id=34175
-
- * DumpRenderTree/win/DumpRenderTree.vcproj:
- * DumpRenderTree/win/ImageDiff.vcproj:
- * DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin.vcproj:
-
-2010-01-26 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Ariya Hidayat.
-
- [Qt] Separating out the UrlLoader from the QtLauncher in it's
- own implementation and header file.
-
- * QtLauncher/main.cpp:
- (main):
- * QtLauncher/urlloader.cpp: Added.
- (UrlLoader::UrlLoader):
- (UrlLoader::loadNext):
- (UrlLoader::init):
- (UrlLoader::getUrl):
- * QtLauncher/urlloader.h: Added.
-
-2010-01-25 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Shinichiro Hamaji.
-
- Refactored check-webkit-style by removing the file path
- parameter from the style error handler functions.
-
- https://bugs.webkit.org/show_bug.cgi?id=34031
-
- * Scripts/webkitpy/style/checker.py:
- - Added _default_style_error_handler() to StyleChecker class.
- - Moved handle_style_error() to inside _default_style_error_handler().
-
- * Scripts/webkitpy/style/checker_unittest.py:
- - Removed file path from calls to error handler.
-
- * Scripts/webkitpy/style/cpp_style.py:
- - Removed file path from calls to error handler.
-
- * Scripts/webkitpy/style/cpp_style_unittest.py:
- - Removed file path from calls to error handler.
-
- * Scripts/webkitpy/style/text_style.py:
- - Removed file path from calls to error handler.
-
- * Scripts/webkitpy/style/text_style_unittest.py:
- - Removed file path from calls to error handler.
-
-2010-01-25 Jeremy Orlow <jorlow@chromium.org>
-
- Adding myself as reviewer. No review necessary.
-
- * Scripts/webkitpy/committers.py:
-
-2010-01-25 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Adam Barth.
-
- Improved prepare-ChangeLog so that it preserves the relative
- indentation of a git commit message.
-
- https://bugs.webkit.org/show_bug.cgi?id=34058
-
- * Scripts/prepare-ChangeLog:
- - Also adjusted the script so that it does not add white
- space characters to empty lines.
-
-2010-01-24 Eric Seidel <eric@webkit.org>
-
- No review, rolling out r53763.
- http://trac.webkit.org/changeset/53763
- https://bugs.webkit.org/show_bug.cgi?id=33895
-
- Broke 20+ tests on Windows.
-
- * Scripts/run-webkit-tests:
- * Scripts/webkitdirs.pm:
-
-2010-01-24 Adam Barth <abarth@webkit.org>
-
- Rubber stamped by Eric Seidel.
-
- More pep8 compliance.
-
- * Scripts/webkitpy/mock_bugzillatool.py:
-
-2010-01-24 Adam Barth <abarth@webkit.org>
-
- Rubber stamped by Eric Seidel.
-
- More pep8 compliance.
-
- * Scripts/webkitpy/executive.py:
- * Scripts/webkitpy/grammar.py:
-
-2010-01-24 Adam Barth <abarth@webkit.org>
-
- Rubber stamped by Eric Seidel.
-
- More pep8 compliance.
-
- * Scripts/webkitpy/comments.py:
- * Scripts/webkitpy/committers.py:
- * Scripts/webkitpy/credentials.py:
-
-2010-01-24 Adam Barth <abarth@webkit.org>
-
- Rubber stamped by Eric Seidel.
-
- Make changelogs.py pass pep8.
-
- * Scripts/webkitpy/changelogs.py:
-
-2010-01-23 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- [Qt] Unreviewed build fix
-
- * QtLauncher/QtLauncher.pro:
- * QtLauncher/webinspector.h:
-
-2010-01-23 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Rubberstamped by Simon Hausmann.
-
- [Qt] Move the WebInspector class to it's own header file.
-
- * QtLauncher/main.cpp:
- * QtLauncher/webinspector.h: Added.
- (WebInspector::WebInspector):
- (WebInspector::showEvent):
- (WebInspector::hideEvent):
-
-2010-01-23 Robert Hogan <robert@roberthogan.net>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Qt DRT: respect window.close() and window.closed()
-
- Qt DRT needs to maintain a correct count of open windows
- for windowCount(). It also needs to delete windows that
- have been closed by window.close().
-
- This fixes the following tests:
-
- plugins/destroy-during-npp-new.html
- fast/dom/Document/early-document-access.html
- fast/dom/Window/window-early-properties.html
- fast/events/open-window-from-another-frame.html
- fast/events/popup-blocking-click-in-iframe.html
-
- https://bugs.webkit.org/show_bug.cgi?id=32953
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::DumpRenderTree::DumpRenderTree):
- (WebCore::DumpRenderTree::createWindow):
- (WebCore::DumpRenderTree::windowCloseRequested):
- * DumpRenderTree/qt/DumpRenderTreeQt.h:
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::maybeDump):
-
-2010-01-23 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Mark Rowe.
-
- Added a user default for specifying a fallback frameworks path in case
- the bundle does not contain frameworks for the current Mac OS X version.
-
- * WebKitLauncher/main.m:
- (fallbackMacOSXVersion): Added. Looks up the fallback version in a dictionary
- keyed by the FallbackSystemVersions user default and returns it.
- (main): If a frameworks directory for the current system version is not found,
- try the fallback.
-
-2010-01-22 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Make run-webkit-tests work under Cygwin for the Qt port
-
- setPathForRunningWebKitApp() is implemented for the Qt port
- by using qmake to query for the location of the Qt libraries.
-
- This requires the original environment (%ENV) to be untouched,
- so launchWithCurrentEnv() was refactored to launchWithEnv(),
- and the code in openDumpTool() to not use %ENV but a %CLEAN_ENV
- instead. This has the added benefit of getting rid of the temp
- variables used for storing the current env.
-
- openDumpTool() is also refactored a bit into platform-spesific,
- port-spesific, and generic environment variables.
-
- Checks for undef was added a few places to fix Perl concat
- warnings when run-webkit-tests is aborted.
-
- https://bugs.webkit.org/show_bug.cgi?id=33895
-
- * Scripts/run-webkit-tests:
- * Scripts/webkitdirs.pm:
-
-2010-01-22 Kevin Watters <kevinwatters@gmail.com>
-
- Reviewed by Kevin Ollivier.
-
- [wx] Remove the Bakefile build system, which is no longer being used.
-
- https://bugs.webkit.org/show_bug.cgi?id=34022
-
- * DumpRenderTree/wx/DumpRenderTree.bkl: Removed.
- * wx/browser/browser.bkl: Removed.
- * wx/build-wxwebkit: Removed.
-
-2010-01-22 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Simon Fraser.
-
- Reset zoom level to 1.0 when resetting view state. This is causing
- many tests to fail after svg/custom/text-zoom.xhtml changes the
- zoom level.
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (resetDefaultsToConsistentValues):
-
-2010-01-22 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=34025
- Enable client-based Geolocation abstraction for Mac, Windows AppleWebKit targets.
-
- * Scripts/build-webkit:
-
-2010-01-22 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Arg. Someone renamed limit to output_limit on me.
-
- * Scripts/webkitpy/commands/queues.py:
-
-2010-01-22 Adam Barth <abarth@webkit.org>
-
- Rubber stamped by Eric Seidel.
-
- Make __init__.py and buildbot.py pass pep8 style checker.
-
- * Scripts/webkitpy/__init__.py:
- * Scripts/webkitpy/buildbot.py:
-
-2010-01-21 Joe Mason <jmason@rim.com>
-
- Reviewed by Adam Barth.
-
- webkit-patch should retry on invalid password
- https://bugs.webkit.org/show_bug.cgi?id=33955
-
- Ask for bugs.webkit.org authentication in a loop.
-
- * Scripts/webkitpy/bugzilla.py:
-
-2010-01-22 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Don't call seek on a NoneType.
-
- * Scripts/webkitpy/statusserver.py:
-
-2010-01-22 Petri Latvala <petri.latvala@nomovok.com>
-
- Reviewed by David Levin.
-
- check-webkit-style breaks on files with unknown types
- https://bugs.webkit.org/show_bug.cgi?id=34001
-
- For files with type FileType.NONE, dispatch_processor returns None.
-
- * Scripts/webkitpy/style/checker.py: Don't call process_file with a processor of value None.
-
-2010-01-22 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Make bugzilla.py and webkitport.py conform to pep8
- https://bugs.webkit.org/show_bug.cgi?id=34015
-
- This patch makes webkitport.py and bugzilla.py mostly conform to PEP8
- style as enforced by pep8.py. I wasn't able to get rid of all the
- errors because I'm not sure how to wrap some lines properly. Also,
- there are a few deprication errors that I couldn't resolve easily.
- However, this is a massive improvement in compliance.
-
- * Scripts/webkitpy/bugzilla.py:
- * Scripts/webkitpy/webkitport.py:
-
-2010-01-22 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Adler.
-
- Limit length of EWS results to 5MB
- https://bugs.webkit.org/show_bug.cgi?id=34016
-
- Hopefully this will fix the bug where the results link doesn't appear.
- Our current theory is that the results blob is too big and the server
- is rejecting the request with a 500 error. That causes us to re-try
- the post, but when we re-try the StringIO buffer has its seek pointer
- at the end.
-
- * Scripts/webkitpy/commands/queues.py:
- * Scripts/webkitpy/statusserver.py:
-
-2010-01-22 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Adam Barth.
-
- Made check-webkit-style able to check patches when script not
- run from source root. Also consolidated external references
- to a single file.
-
- https://bugs.webkit.org/show_bug.cgi?id=33791
-
- * Scripts/check-webkit-style:
- - Changed to import style_references.py.
-
- * Scripts/webkitpy/style/__init__.py:
- - Removed __path__ hack that allowed searching Scripts/ directory.
-
- * Scripts/webkitpy/style/checker.py:
- - Changed to import style_references.py.
-
- * Scripts/webkitpy/style_references.py: Added.
-
-2010-01-22 Dmitry Titov <dimich@chromium.org>
-
- Reviewed by Maciej Stachowiak.
-
- Fix the leak of ThreadIdentifiers in threadMap across threads.
- https://bugs.webkit.org/show_bug.cgi?id=32689
-
- Add a new test to verify the ThreadIdentifiers are not reused across threads.
- The test runs in the beginning of DumpRenderTree and spawns 2 non-WTF treads sequentially,
- waiting for the previous thread to terminate before starting the next.
- The treads use WTF::currentThread() in their thread function. Without a fix, this
- causes both threads to have the same ThreadIdentifier which triggers ASSERT in thread function.
- It also starts another thread using WTF. Without the fix, this finds pthread handle from previous
- threads in the WTF threadMap and asserts in WTF::establishIdentifierForPthreadHandle().
- The test practically does not affect the DRT run time because the threads end immediately.
-
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (runThread): Test thread function.
- (testThreadIdentifierMap):
- (dumpRenderTree):
-
-2010-01-22 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Maciej Stachowiak.
-
- Fix a bug that mouseDown:withModifiers: is never called.
- https://bugs.webkit.org/show_bug.cgi?id=33989
-
- * DumpRenderTree/mac/EventSendingController.mm:
- (+[EventSendingController isSelectorExcludedFromWebScript:]):
- (+[EventSendingController webScriptNameForSelector:]):
-
-2010-01-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Rubberstamped by Antti Koivisto.
-
- [Qt] Separate out the WebPage class into it's own
- cpp/header files. Also, removed the assumption that
- the view is a QWebView, in preparation of a merger
- of the two Qt WebKit launchers.
-
- * QtLauncher/QtLauncher.pro:
- * QtLauncher/main.cpp:
- (WebView::mousePressEvent):
- * QtLauncher/webpage.cpp: Added.
- (WebPage::supportsExtension):
- (WebPage::extension):
- (WebPage::acceptNavigationRequest):
- (WebPage::openUrlInDefaultBrowser):
- * QtLauncher/webpage.h: Added.
- (WebPage::WebPage):
-
-2010-01-21 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Shinichiro Hamaji.
-
- Refactored to move file name and file-reading related code
- from cpp_style.py and text_style.py to checker.py.
-
- https://bugs.webkit.org/show_bug.cgi?id=33775
-
- * Scripts/check-webkit-style:
- - Updates caused by changes to checker.py.
-
- * Scripts/webkitpy/style/checker.py:
- - Added SKIPPED_FILES_WITH_WARNING list.
- - Added SKIPPED_FILES_WITHOUT_WARNING list.
- - Added FileType class.
- - Added ProcessorDispatcher class.
- - In StyleChecker class:
- - Renamed process_patch() to check_patch().
- - Renamed process_file() to check_file().
- - Added _process_file().
- - Related refactoring.
- - Addressed check_patch() FIXME to share code with process_file().
-
- * Scripts/webkitpy/style/checker_unittest.py:
- - Added ProcessorDispatcherSkipTest class.
- - Added ProcessorDispatcherDispatchTest class.
- - Added StyleCheckerCheckFileTest class.
-
- * Scripts/webkitpy/style/cpp_style.py:
- - Renamed process_file_data() to _process_lines.
- - Removed process_file() (moved logic to checker.py).
- - Removed can_handle() (moved logic to checker.py).
- - Added CppProcessor class.
- - Removed is_exempt() (moved logic to checker.py).
- - Added process_file_data() back as a wrapper function.
-
- * Scripts/webkitpy/style/cpp_style_unittest.py:
- - Removed test_can_handle().
- - Removed test_is_exempt().
- - Added CppProcessorTest class.
-
- * Scripts/webkitpy/style/text_style.py:
- - Added TextProcessor class.
- - Removed process_file().
- - Removed can_handle().
-
- * Scripts/webkitpy/style/text_style_unittest.py:
- - Removed test_can_handle().
- - Added TextProcessorTest class.
-
-2010-01-21 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by David Kilzer.
-
- Create a unit-tested subroutine to parse patch files created
- by svn-create-patch.
-
- https://bugs.webkit.org/show_bug.cgi?id=33475
-
- * Scripts/VCSUtils.pm:
- - Added parseDiff().
- - Added parsePatch().
-
- * Scripts/webkitperl/VCSUtils_unittest/parseDiff.pl: Added.
- - Added unit tests for parseDiff().
-
- * Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:
- - Total number of tests now computed dynamically.
-
- * Scripts/webkitperl/VCSUtils_unittest/parsePatch.pl: Added.
- - Added unit tests for parsePatch().
-
-2010-01-21 Kevin Ollivier <kevino@theolliviers.com>
-
- [wx] Build fix, add new directory to dir list.
-
- * wx/build/settings.py:
-
-2010-01-21 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Make the EWS transactional
- https://bugs.webkit.org/show_bug.cgi?id=33978
-
- Now if the EWS gets interrupted in the middle of processing a patch,
- the bots will re-process the patch.
-
- * Scripts/test-webkitpy:
- * Scripts/webkitpy/commands/queues.py:
- * Scripts/webkitpy/commands/queues_unittest.py:
- * Scripts/webkitpy/patchcollection.py:
- * Scripts/webkitpy/patchcollection_unittest.py: Added.
+ So DRT should wrap exception handlers around its AX related calls.
-2010-01-21 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Add missing "ago" for style in the status bubble.
-
- * QueueStatusServer/templates/statusbubble.html:
-
-2010-01-21 Adam Barth <abarth@webkit.org>
-
- Reviewed by David Levin.
-
- [style-queue] should not complain about identifier names with underscores under WebKit/gtk/webkit/
- https://bugs.webkit.org/show_bug.cgi?id=33356
-
- White list unix_hacker_style names in WebKit/gtk/webkit because these
- are used in the GTK+ API.
-
- * Scripts/webkitpy/style/cpp_style.py:
- * Scripts/webkitpy/style/cpp_style_unittest.py:
-
-2010-01-21 Diego Gonzalez <diego.gonzalez@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] add setDomainRelaxationForbiddenForURLScheme in Qt DRT
- https://bugs.webkit.org/show_bug.cgi?id=33945
-
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::setDomainRelaxationForbiddenForURLScheme):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
-
-2010-01-21 Simon Hausmann <simon.hausmann@nokia.com>
-
- No review, rolling out 53615 as it causes two
- crashes on the bot.
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::DumpRenderTree::DumpRenderTree):
- (WebCore::DumpRenderTree::createWindow):
- * DumpRenderTree/qt/DumpRenderTreeQt.h:
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::maybeDump):
-
-2010-01-21 Robert Hogan <robert@roberthogan.net>
-
- Reviewed by Simon Hausmann.
-
- Qt DRT: respect window.close() and window.closed()
-
- Qt DRT needs to maintain a correct count of open windows
- for windowCount(). It also needs to delete windows that
- have been closed by window.close().
-
- This fixes the following tests:
-
- plugins/destroy-during-npp-new.html
- fast/dom/Document/early-document-access.html
- fast/dom/Window/window-early-properties.html
- fast/events/open-window-from-another-frame.html
- fast/events/popup-blocking-click-in-iframe.html
-
- https://bugs.webkit.org/show_bug.cgi?id=32953
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::DumpRenderTree::DumpRenderTree):
- (WebCore::DumpRenderTree::createWindow):
- (WebCore::DumpRenderTree::windowCloseRequested):
- * DumpRenderTree/qt/DumpRenderTreeQt.h:
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::maybeDump):
-
-2010-01-20 Eric Seidel <eric@webkit.org>
-
- No review, rolling out r53593.
- http://trac.webkit.org/changeset/53593
- https://bugs.webkit.org/show_bug.cgi?id=33496
-
- Re-rollout this patch, the commit-queue should not have landed
- it again, but it did due to land-diff and rollout both not
- clearing flags.
-
- * Scripts/webkitpy/commands/early_warning_system.py:
- * Scripts/webkitpy/commands/queues.py:
- * Scripts/webkitpy/queueengine.py:
- * Scripts/webkitpy/scm.py:
- * Scripts/webkitpy/scm_unittest.py:
-
-2010-01-20 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- webkit-commit-queue status page is confusing
- https://bugs.webkit.org/show_bug.cgi?id=33496
-
- This should improve the status page by removing more Fail messages.
- To do this, I re-factored the CommitQueue and the AbstractReviewQueues
- to behave more like one another. This meant moving where the failure reporting was done.
- Previously the AbstractReviewQueue always used the parent process to report the error,
- while CommitQueue used the subprocess when possible, and the parent only reported errors
- that we didn't know how to handle (bugs in the commit-queue itself).
- Now the AbstractReviewQueue follow's the commit-queue's model. This got rid of a try-block
- in both implementations and required teaching handle_script_error in each to post Fail messages
- to the status server instead of calling exit(1).
-
- This will also make the style-queue share more bug posting logic with other queues:
- https://bugs.webkit.org/show_bug.cgi?id=33871
-
- * Scripts/webkitpy/commands/early_warning_system.py:
- - Don't exit(1) as that will cause the calling queue to also report Fail to the status server.
- Implementors of handle_script_error are expected to update the status server if needed, but only exit if the error could not be handled.
- So we instead pass patch_has_failed_this_queue=True to _update_status_for_script_error in the case that this was a real failure.
- _update_status_for_script_error knows how to post the Fail message to the status server.
- - Teach _update_status_for_script_error how to post Fail messages to the status server.
- * Scripts/webkitpy/commands/queues.py:
- - Remove the try block from process_work_item since the caller already has one.
- - Only CC watchers on failure to cut down on commit-queue generated mail.
- - handle_unexpected_error needs to mark _did_fail now that the try block is gone from process_work_item.
- - Abstract _format_script_error_output_for_bug to share code between all queues.
- - The new _format_script_error_output_for_bug allows the style-queue to share the posting limit with other queues, as well as support linking to the full output.
- - Rename _can_build_and_test to _current_checkout_builds_and_passes_tests to better explain what revision it's testing.
- - Move logging out of _can_build_and_test and make the logs explain what revision we're testing.
- - handle_script_error now posts Fail instead of the try block in process_work_item handling it.
- * Scripts/webkitpy/queueengine.py:
- - QueueEngine is no longer used just by the commit-queue, update the logging to say "processing" instead of landing.
- * Scripts/webkitpy/scm.py:
- - Add new checkout_revision function.
- * Scripts/webkitpy/scm_unittest.py:
- - Test our new checkout_revision function.
-
-2010-01-20 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by Alexey Proskuryakov.
-
- WebSocket: Missing Request-URI, when no tralling slash in host
- https://bugs.webkit.org/show_bug.cgi?id=33689
-
- Update pywebsocket to 0.4.7.1, which supports alias for resource
- name, so that we could test for ws://127.0.0.1:8880
-
- * Scripts/run-webkit-tests:
- * Scripts/run-webkit-websocketserver:
- * pywebsocket/mod_pywebsocket/dispatch.py:
- * pywebsocket/mod_pywebsocket/handshake.py:
- * pywebsocket/mod_pywebsocket/standalone.py:
- * pywebsocket/setup.py:
- * pywebsocket/test/test_dispatch.py:
- * pywebsocket/test/test_handshake.py:
-
-2010-01-20 Eric Seidel <eric@webkit.org>
-
- No review, rolling out r53537.
- http://trac.webkit.org/changeset/53537
- https://bugs.webkit.org/show_bug.cgi?id=33496
-
- Added a failure condition to the commit-queue and looks to
- have broken the EWS bots
-
- * Scripts/webkitpy/commands/early_warning_system.py:
- * Scripts/webkitpy/commands/queues.py:
- * Scripts/webkitpy/queueengine.py:
- * Scripts/webkitpy/scm.py:
- * Scripts/webkitpy/scm_unittest.py:
-
-2010-01-20 Jon Honeycutt <jhoneycutt@apple.com>
-
- MSAA: accSelect() is not implemented
-
- https://bugs.webkit.org/show_bug.cgi?id=33918
- <rdar://problem/7436861>
-
- Reviewed by Darin Adler.
-
- * DumpRenderTree/AccessibilityUIElement.cpp:
- (takeFocusCallback):
- Call the object's takeFocus() function.
- (takeSelectionCallback):
- Call its takeSelection() function.
- (addSelectionCallback):
- Call its addSelection() function.
- (removeSelectionCallback):
- Call its removeSelection() function.
- (AccessibilityUIElement::getJSClass):
- Add new functions to the JS class definition.
-
- * DumpRenderTree/AccessibilityUIElement.h:
- Declare new functions.
-
- * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
- (AccessibilityUIElement::takeFocus):
- Stubbed.
- (AccessibilityUIElement::takeSelection):
- Stubbed.
- (AccessibilityUIElement::addSelection):
- Stubbed.
- (AccessibilityUIElement::removeSelection):
- Stubbed.
-
- * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
- (AccessibilityUIElement::takeFocus):
- Stubbed.
- (AccessibilityUIElement::takeSelection):
- Stubbed.
- (AccessibilityUIElement::addSelection):
- Stubbed.
- (AccessibilityUIElement::removeSelection):
- Stubbed.
-
- * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
- (AccessibilityUIElement::takeFocus):
- Call the object's accSelect() function, passing the appropriate flag.
- (AccessibilityUIElement::takeSelection):
- Ditto.
- (AccessibilityUIElement::addSelection):
- Ditto.
- (AccessibilityUIElement::removeSelection):
- Ditto.
-
-2010-01-20 Andras Becsi <abecsi@inf.u-szeged.hu>
-
- Reviewed by Alexey Proskuryakov.
-
- Extract Apache handling to httpd.pm module and use the provided functionality
- in scripts where Apache is needed.
- The module httpd.pm stores the PID of Apache in a variable and cleans up
- the PID directory after Apache properly shut down. Catching INT and TERM
- signals allows the scripts to close Apache and clean up its PID directory
- even if the testing was interrupted.
-
- https://bugs.webkit.org/show_bug.cgi?id=33153
-
- * Scripts/webkitperl/httpd.pm: Added.
- * Scripts/run-iexploder-tests:
- * Scripts/run-webkit-httpd:
- * Scripts/run-webkit-tests:
-
-2010-01-20 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Make DumpRenderTree build on Windows
-
- * DumpRenderTree/qt/DumpRenderTree.pro:
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- * DumpRenderTree/qt/DumpRenderTreeQt.h:
- * DumpRenderTree/qt/main.cpp:
-
-2010-01-20 Steve Block <steveblock@google.com>
-
- Reviewed by Eric Seidel.
-
- Fix commit bot to land patches in order of the bug last modification date.
- https://bugs.webkit.org/show_bug.cgi?id=33395
-
- * Scripts/webkitpy/bugzilla.py: Modified. Added 'order=Last+Changed' to bugzilla commit queue URL.
-
-2010-01-20 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Teach check-webkit-style about WebKit/gtk/tests
- https://bugs.webkit.org/show_bug.cgi?id=33892
-
- Removes false positives found in
- https://bugs.webkit.org/show_bug.cgi?id=30883
-
- * Scripts/webkitpy/style/cpp_style.py:
- * Scripts/webkitpy/style/cpp_style_unittest.py:
-
-2010-01-20 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Teach check-webkit-style about QGVLauncher
- https://bugs.webkit.org/show_bug.cgi?id=33890
-
- Remove false positives found in
- https://bugs.webkit.org/show_bug.cgi?id=33708
-
- * Scripts/webkitpy/style/cpp_style.py:
- * Scripts/webkitpy/style/cpp_style_unittest.py:
-
-2010-01-20 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- webkit-commit-queue status page is confusing
- https://bugs.webkit.org/show_bug.cgi?id=33496
-
- This should improve the status page by removing more Fail messages.
- To do this, I re-factored the CommitQueue and the AbstractReviewQueues
- to behave more like one another. This meant moving where the failure reporting was done.
- Previously the AbstractReviewQueue always used the parent process to report the error,
- while CommitQueue used the subprocess when possible, and the parent only reported errors
- that we didn't know how to handle (bugs in the commit-queue itself).
- Now the AbstractReviewQueue follow's the commit-queue's model. This got rid of a try-block
- in both implementations and required teaching handle_script_error in each to post Fail messages
- to the status server instead of calling exit(1).
-
- This will also make the style-queue share more bug posting logic with other queues:
- https://bugs.webkit.org/show_bug.cgi?id=33871
-
- * Scripts/webkitpy/commands/early_warning_system.py:
- - Don't exit(1) as that will cause the calling queue to also report Fail to the status server.
- Implementors of handle_script_error are expected to update the status server if needed, but only exit if the error could not be handled.
- So we instead pass patch_has_failed_this_queue=True to _update_status_for_script_error in the case that this was a real failure.
- _update_status_for_script_error knows how to post the Fail message to the status server.
- - Teach _update_status_for_script_error how to post Fail messages to the status server.
- * Scripts/webkitpy/commands/queues.py:
- - Remove the try block from process_work_item since the caller already has one.
- - Only CC watchers on failure to cut down on commit-queue generated mail.
- - handle_unexpected_error needs to mark _did_fail now that the try block is gone from process_work_item.
- - Abstract _format_script_error_output_for_bug to share code between all queues.
- - The new _format_script_error_output_for_bug allows the style-queue to share the posting limit with other queues, as well as support linking to the full output.
- - Rename _can_build_and_test to _current_checkout_builds_and_passes_tests to better explain what revision it's testing.
- - Move logging out of _can_build_and_test and make the logs explain what revision we're testing.
- - handle_script_error now posts Fail instead of the try block in process_work_item handling it.
- * Scripts/webkitpy/queueengine.py:
- - QueueEngine is no longer used just by the commit-queue, update the logging to say "processing" instead of landing.
- * Scripts/webkitpy/scm.py:
- - Add new checkout_revision function.
- * Scripts/webkitpy/scm_unittest.py:
- - Test our new checkout_revision function.
-
-2010-01-20 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Adler.
-
- Exempt JavaScriptCore/qt/api from style checks
- https://bugs.webkit.org/show_bug.cgi?id=33879
-
- Apparently there is a JavaScriptCore API for Qt as well as a WebKit
- API.
-
- * Scripts/webkitpy/style/cpp_style.py:
- * Scripts/webkitpy/style/cpp_style_unittest.py:
-
-2010-01-19 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Don't use QSocketNotifier in the DRT for reading stdin
-
- QSocketNotifier is not available on Windows. Instead we read
- stdin synchronously after each test using signals and slots.
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- * DumpRenderTree/qt/DumpRenderTreeQt.h:
- * DumpRenderTree/qt/main.cpp:
-
-2010-01-19 Adam Barth <abarth@webkit.org>
-
- Rubber stamped by Eric Seidel.
-
- Move chromium-ews back to building release only to make the EWS faster.
-
- * Scripts/webkitpy/commands/early_warning_system.py:
-
-2010-01-17 Jon Honeycutt <jhoneycutt@apple.com>
-
- MSAA: The child <option> elements of a non-multiple <select> are not
- exposed
-
- https://bugs.webkit.org/show_bug.cgi?id=33773
- <rdar://problem/7550556>
-
- Reviewed by Alice Liu.
-
- * DumpRenderTree/AccessibilityUIElement.cpp:
- (getIsVisibleCallback):
- Call the object's isVisible() function.
- (getIsOffScreenCallback):
- Ditto, for isOffScreen().
- (getIsCollapsedCallback):
- Ditto, for isCollapsed().
- (getHasPopupCallback):
- Ditto, for hasPopup().
- (AccessibilityUIElement::getJSClass):
- Add isVisible and isOffScreen attributes.
-
- * DumpRenderTree/AccessibilityUIElement.h:
- Declare new functions.
-
- * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
- (AccessibilityUIElement::isVisible):
- Stubbed.
- (AccessibilityUIElement::isOffScreen):
- Stubbed.
- (AccessibilityUIElement::isCollapsed):
- Stubbed.
- (AccessibilityUIElement::hasPopup):
- Stubbed.
-
- * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
- (AccessibilityUIElement::isVisible):
- Stubbed.
- (AccessibilityUIElement::isOffScreen):
- Stubbed.
- (AccessibilityUIElement::isCollapsed):
- Stubbed.
- (AccessibilityUIElement::hasPopup):
- Stubbed.
-
- * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
- (AccessibilityUIElement::showMenu):
- Call the object's accDoDefaultAction() to show its popup menu.
- (AccessibilityUIElement::isEnabled):
- Check that the object does not have the "unavailable" state.
- (AccessibilityUIElement::isVisible):
- Check that the object does not have the "invisible" state.
- (AccessibilityUIElement::isOffScreen):
- Check whether the object has the "offscreen" state.
- (AccessibilityUIElement::isCollapsed):
- Check whether the object has the "collapsed" state.
- (AccessibilityUIElement::hasPopup):
- Check whether the object has the "has popup" state.
-
-2010-01-19 Victor Wang <victorw@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Correct committer name.
- https://bugs.webkit.org/show_bug.cgi?id=33868
-
- * Scripts/webkitpy/committers.py:
-
-2010-01-19 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Darin Adler.
-
- [DRT][Mac] Add modifiers parameter to eventSender.mouseDown() and eventSender.mouseUp()
- https://bugs.webkit.org/show_bug.cgi?id=33783
-
- Some listbox tests check selection behavior by click events with
- "meta" or "shift" keys. Behaviors for such modifier keys are
- platform-dependent. The new parameter of mouseDown() and mouseUp()
- allows to specify not only concrete modifier keys such as
- "shiftKey" "metaKey", but also functional names like
- "addSelectionKey" "rangeSelectionKey".
-
- * DumpRenderTree/mac/EventSendingController.mm:
- (+[EventSendingController isSelectorExcludedFromWebScript:]):
- (+[EventSendingController webScriptNameForSelector:]):
- (buildModifierFlags):
- (-[EventSendingController mouseDown:withModifiers:]):
- (-[EventSendingController mouseDown:]):
- (-[EventSendingController mouseUp:withModifiers:]):
- (-[EventSendingController mouseUp:]):
- (-[EventSendingController keyDown:withModifiers:withLocation:]):
-
-2010-01-19 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Unbreak --request-commit
- https://bugs.webkit.org/show_bug.cgi?id=33832
-
- * Scripts/webkitpy/bugzilla.py:
-
-2010-01-19 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- validate-committer-lists throws exception and committers.py needs a refresh
- https://bugs.webkit.org/show_bug.cgi?id=33831
-
- * Scripts/validate-committer-lists: use webkit_logging
- * Scripts/webkitpy/committers.py: Add recently minted committers. Fix Simon Hausmanns email address list to include his webkit-committers@lists address.
-
-2010-01-18 Adam Roben <aroben@apple.com>
-
- Add LayoutTestController support for calling new WebKit SPI to
- disallow setting document.domain
-
- DRT part of fixing <http://webkit.org/b/33806>
- <rdar://problem/7552837> Would like API to disallow setting of
- document.domain for pages with certain URL schemes
-
- Reviewed by Sam Weinig.
-
- * DumpRenderTree/LayoutTestController.cpp:
- (setDomainRelaxationForbiddenForURLSchemeCallback): Added. Calls
- through to LayoutTestController.
- (LayoutTestController::staticFunctions): Added
- setDomainRelaxationForbiddenForURLScheme.
-
- * DumpRenderTree/LayoutTestController.h: Added
- setDomainRelaxationForbiddenForURLScheme.
-
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (LayoutTestController::setDomainRelaxationForbiddenForURLScheme):
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::setDomainRelaxationForbiddenForURLScheme):
- Added. Calls through to WebKit.
-
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::setDomainRelaxationForbiddenForURLScheme):
- * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
- (LayoutTestController::setDomainRelaxationForbiddenForURLScheme):
- Stubbed out.
-
-2010-01-18 Adam Barth <abarth@webkit.org>
-
- Reviewed by Adam Roben.
-
- Rename patches-to-commit to patches-in-commit-queue
- https://bugs.webkit.org/show_bug.cgi?id=33789
-
- The command really lists the patches in the commit-queue not all the
- patches that are pending-commit (as the FIXME commands).
-
- * Scripts/webkitpy/commands/queries.py:
- * Scripts/webkitpy/commands/queries_unittest.py:
-
-2010-01-18 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Force qmake to generate a single makefile for DerivedSources.pro
-
- * Scripts/webkitdirs.pm:
-
-2010-01-18 Adam Roben <aroben@apple.com>
-
- Clean up use of /useenv when invoking Visual C++
-
- This change reverts things to their pre-r49485 state. That revision
- (and, subsequently, r49664 and r51788) started passing /useenv to
- Visual C++, even in cases where we don't want to do so (such as when
- invoking Visual C++ Express), in the name of making the Chromium build
- work. Now that Chromium isn't using buildVisualStudioProject or
- pdevenv, we can put things back they way they were.
-
- Fixes <http://webkit.org/b/33797> build-webkit fails with VC++ Express
- (due to /useenv flag)
-
- Reviewed by Sam Weinig.
-
- * Scripts/pdevenv: Always pass /useenv. Chromium doesn't use this
- script anymore.
- * Scripts/webkitdirs.pm:
- (buildVisualStudioProject): Never pass /useenv anymore. pdevenv takes
- care of this itself, and we don't want to pass /useenv when not using
- pdevenv (e.g., when using VC++ Express, because that will cause it to
- ignore the Platform SDK).
-
-2010-01-18 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- webkit-patch land-safely should obsolete old patches
- https://bugs.webkit.org/show_bug.cgi?id=33788
-
- When posting a commit-queue+ patch with land-safely, we should
- obsolete the old patches on the bug. They're really confusing
- because the main use case is to address reviewer feedback on a
- previous patch.
-
- * Scripts/webkitpy/commands/upload.py:
- * Scripts/webkitpy/commands/upload_unittest.py:
-
-2010-01-18 Adam Barth <abarth@webkit.org>
-
- Reviewed by David Levin.
-
- webkit-patch should authenticate more often
- https://bugs.webkit.org/show_bug.cgi?id=33701
-
- This makes it easier to work with security patches.
-
- * Scripts/webkitpy/bugzilla.py:
-
-2010-01-18 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Adler.
-
- style checker needs to know about GObject-specific requirements
- inside WebCore/bindings/gobject/
- https://bugs.webkit.org/show_bug.cgi?id=33606
-
- Add an exception to the underscore rule for certain
- GObject-specific names.
-
- * Scripts/webkitpy/style/cpp_style.py:
- * Scripts/webkitpy/style/cpp_style_unittest.py:
-
-2010-01-18 Adam Barth <abarth@webkit.org>
-
- Reviewed by Shinichiro Hamaji.
-
- [check-webkit-style] does understand ResourceHandleWin.h
- https://bugs.webkit.org/show_bug.cgi?id=32975
-
- I'm not 100% convinced this fix is correct, but without more examples,
- it's hard to generalize. We can always generalize the fix in the
- future.
-
- * Scripts/webkitpy/style/cpp_style.py:
- * Scripts/webkitpy/style/cpp_style_unittest.py:
-
-2010-01-18 Adam Barth <abarth@webkit.org>
-
- Unreviewed "build" fix.
-
- * Scripts/webkitpy/bugzilla.py:
-
-2010-01-18 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Actually make land-safely mark commit-queue+ as
- discussed with Eric.
-
- * Scripts/webkitpy/bugzilla.py:
- * Scripts/webkitpy/steps/postdiffforcommit.py:
-
-2010-01-17 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Adler.
-
- style-queue complains about one-line macros that include multiple statements
- https://bugs.webkit.org/show_bug.cgi?id=33173
-
- Add an exception for multiple statements on a line that starts a macro.
-
- * Scripts/webkitpy/style/cpp_style.py:
- * Scripts/webkitpy/style/cpp_style_unittest.py:
-
-2010-01-17 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Adler.
-
- [check-webkit-style] qt unit testing false positives
- https://bugs.webkit.org/show_bug.cgi?id=32833
-
- Exempt the Qt API and unit tests from the style checker.
-
- * Scripts/webkitpy/style/cpp_style.py:
- * Scripts/webkitpy/style/cpp_style_unittest.py:
-
-2010-01-17 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Adler.
-
- style-check script reports loads of errors on gtk2drawing.c
- https://bugs.webkit.org/show_bug.cgi?id=33771
-
- Exempt WebCore/platform/gtk/gtk2drawing.c and
- WebCore/platform/gtk/gtk2drawing.h from style checks.
-
- * Scripts/webkitpy/style/cpp_style.py:
- * Scripts/webkitpy/style/cpp_style_unittest.py:
-
-2010-01-17 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Shinichiro Hamaji.
-
- Finished eliminating _cpp_style_state global state variable from
- check-webkit-style code and eliminating _CppStyleState class.
-
- https://bugs.webkit.org/show_bug.cgi?id=33764
-
- * Scripts/webkitpy/style/checker.py:
- - Minor updates caused by changes to cpp_style.py.
-
- * Scripts/webkitpy/style/cpp_style.py:
- - Removed _CppStyleState class.
- - Removed verbose_level functions.
- - Added verbosity as a parameter to _FunctionState constructor.
- - Added verbosity as a parameter to process_file().
- - Added verbosity as a parameter to process_file_data().
-
- * Scripts/webkitpy/style/cpp_style_unittest.py:
- - Added helper functions to set verbosity while running tests.
-
-2010-01-17 Adam Barth <abarth@webkit.org>
-
- Reviewed by Shinichiro Hamaji.
-
- check-webkit-style underscore check should be disabled for Qt methods starting with qt_
- https://bugs.webkit.org/show_bug.cgi?id=33663
-
- * Scripts/webkitpy/style/cpp_style.py:
- * Scripts/webkitpy/style/cpp_style_unittest.py:
-
-2010-01-17 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- style-queue complains about missing #include of config.h for non-WebCore projects
- https://bugs.webkit.org/show_bug.cgi?id=33170
-
- WebKitAPITests are consumers of the WebKit API and therefore do not
- need to follow the same include discipline as the rest of WebKit. This
- patch exempts them from the include checks.
-
- * Scripts/webkitpy/style/cpp_style.py:
- * Scripts/webkitpy/style/cpp_style_unittest.py:
-
-2010-01-17 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- EWS (Early Warning Systems) should build both debug and release
- https://bugs.webkit.org/show_bug.cgi?id=33681
-
- Build both debug and release for chromium-ews.
-
- * Scripts/webkitpy/commands/early_warning_system.py:
-
-2010-01-17 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Adler.
-
- style-queue should include instructions for how to file bugs against check-webkit-style
- https://bugs.webkit.org/show_bug.cgi?id=32345
-
- Added some text to the error message asking folks to file bugs against
- false positives.
-
- * Scripts/webkitpy/commands/queues.py:
-
-2010-01-17 Chris Jerdonek <cjerdonek@webkit.org>
-
- Reviewed by Adam Barth.
-
- Eliminated the error_count global variable and related
- check-webkit-style refactoring.
-
- https://bugs.webkit.org/show_bug.cgi?id=33678
-
- * Scripts/check-webkit-style:
- - Updated to use webkit_argument_defaults().
- - Renamed styleChecker to style_checker.
-
- * Scripts/webkitpy/style/checker.py:
- - Prefixed the three default arguments with WEBKIT_DEFAULT.
- - Added webkit_argument_defaults().
- - Added default filter_rules parameter to CategoryFilter constructor.
- - Added __ne__() to CategoryFilter class.
- - Added __eq__() and __ne__() to ProcessorOptions class.
- - Added error_count and _write_error attributes to StyleChecker class.
- - Made StyleChecker._handle_error() increment the error count.
-
- * Scripts/webkitpy/style/checker_unittest.py:
- - Improved CategoryFilterTest.test_eq().
- - Added CategoryFilterTest.test_ne().
- - Added test_eq() and test_ne() to ProcessorOptionsTest class.
- - Updated unit tests to use webkit_argument_defaults().
- - Added StyleCheckerTest class.
-
- * Scripts/webkitpy/style/cpp_style.py:
- - Removed references to global error_count.
-
- * Scripts/webkitpy/style/cpp_style_unittest.py:
- - Removed CppStyleStateTest class.
-
-2010-01-15 Jon Honeycutt <jhoneycutt@apple.com>
-
- get_accParent should try to retrieve parent AccessibilityObject, before
- calling upon window
-
- https://bugs.webkit.org/show_bug.cgi?id=22893
-
- Reviewed by Darin Adler.
-
- * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
- (AccessibilityUIElement::parentElement):
- Get the object's parent. Query it for IAccessible, and return it.
-
-2010-01-16 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Mark Rowe.
-
- <rdar://problem/7529519> DumpRenderTree crashes in makeLargeMallocFailSilently()
-
- * DumpRenderTree/mac/CheckedMalloc.cpp:
- (makeLargeMallocFailSilently): Temporarily allow writing to the default
- malloc zone structure while modifying it.
-
-2010-01-16 David Kilzer <ddkilzer@apple.com>
-
- Added back removed properties to iExploder input files
-
- While the update-iexploder-cssproperties script works great to
- add new properties, it has the side-effect of removing old
- properties that once were parsed.
-
- * iExploder/htdocs/cssproperties.in: Added back removed
- properties into their own section.
- * iExploder/htdocs/htmlattrs.in: Ditto.
-
-2010-01-16 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by David Kilzer.
-
- Update iExploder/htdocs/*.in by running update-iexploder-cssproperties
- https://bugs.webkit.org/show_bug.cgi?id=33756
-
- * iExploder/htdocs/cssproperties.in: New CSS attributes
- * iExploder/htdocs/htmlattrs.in: New HTML attributes
- * iExploder/htdocs/htmltags.in: New HTML tags
-
-2010-01-15 Chris Jerdonek <chris.jerdonek@gmail.com>
-
- Reviewed by David Kilzer.
-
- Altered parseDiffHeader() to skip unrecognized lines and
- other minor clean-ups.
-
- https://bugs.webkit.org/show_bug.cgi?id=33476
-
- * Scripts/VCSUtils.pm:
- - Changed parseDiffHeader() as follows:
- - Skips over unrecognized lines.
- - Addressed FIXME to remove substitution for "diff" line.
- - Renamed "version" header hash key to "sourceRevision".
- - Eliminated "copiedFromVersion" header hash key.
- - Included "sourceRevision" also for copied files.
- - Checks that copy revision number matches "sourceRevision".
- - No longer returns $foundHeaderEnding.
- - Dies if header ending not found.
- - Diff header dividing line now always added.
-
- * Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:
- - Made necessary changes in parseDiffHeader() unit tests.
- - Shortened the file paths in some test cases.
-
-2010-01-14 Yuzo Fujishima <yuzo@google.com>
-
- Reviewed by Alexey Proskuryakov.
-
- Update pywebsocket to 0.4.6
- https://bugs.webkit.org/show_bug.cgi?id=32299
- The newer pywebsocket can handle more simultaneous connections.
-
- * pywebsocket/mod_pywebsocket/handshake.py:
- * pywebsocket/mod_pywebsocket/standalone.py:
- * pywebsocket/setup.py:
- * pywebsocket/test/test_handshake.py:
-
-2010-01-14 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- REGRESSION(53133): commit-queue no longer rejects patches with invalid committers, instead it hangs
- https://bugs.webkit.org/show_bug.cgi?id=33638
-
- * Scripts/webkitpy/bugzilla.py:
- - Add Bug.id() to match Attachment.id()
- - Give Bug.reviewed_patches and commit_queued_patches the option to return patches with invalid committers/reviewers.
- - Add back a missing variable to _validate_setter_email found by the new unit tests!
- * Scripts/webkitpy/commands/queries.py:
- - Add FIXMEs about the commands being confusingly named.
- * Scripts/webkitpy/commands/queries_unittest.py:
- - Update results to reflect the newly restructured mock bug cache.
- * Scripts/webkitpy/commands/queues.py:
- - Add a new _validate_patches_in_commit_queue method (this is what fixes the regression).
- - Add a FIXME about eventually sorting the patches into some order.
- * Scripts/webkitpy/commands/queues_unittest.py:
- - Update results now that with the newly restructure mock bug cache we're testing cq+'d patches with an invalid committer.
- * Scripts/webkitpy/commands/upload_unittest.py:
- - Update results to match the newly restructured mock bug cache.
- * Scripts/webkitpy/mock_bugzillatool.py:
- - Restructure fetch_ methods to not use a manual list of ids, but rather use Bug and Attachment classes to make real queries from all of the Bugs.
- - Add a few more attachments and bug dictionaries for use by the tests.
-
-2010-01-13 Diego Gonzalez <diego.gonzalez@openbossa.org>
-
- Reviewed by Kenneth Christiansen.
-
- [Qt] DRT missing setUserStyleSheetLocation and setUserStyleSheetEnabled in LayoutTestController
- https://bugs.webkit.org/show_bug.cgi?id=33617
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::WebPage::resetSettings):
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::setUserStyleSheetLocation):
- (LayoutTestController::setUserStyleSheetEnabled):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
-
-2010-01-14 Adam Roben <aroben@apple.com>
-
- Add LayoutTestController API to force
- -webView:resource:willSendRequest:: to return null
-
- Enables tests for <rdar://problem/7533333> <http://webkit.org/b/33533>
- window.onload never fires if page contains an <iframe> with a bad
- scheme or whose load is cancelled by returning null from resource load
- delegate's willSendRequest
-
- Reviewed by Brady Eidson.
-
- * DumpRenderTree/LayoutTestController.cpp:
- (LayoutTestController::LayoutTestController): Initialize new member.
- (setWillSendRequestReturnsNullCallback): Call through to
- LayoutTestController.
- (LayoutTestController::staticFunctions): Added new function.
-
- * DumpRenderTree/LayoutTestController.h: Added
- m_willSendRequestReturnsNull.
- (LayoutTestController::willSendRequestReturnsNull):
- (LayoutTestController::setWillSendRequestReturnsNull):
- Added standard accessors.
-
- * DumpRenderTree/mac/ResourceLoadDelegate.mm:
- (-[ResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]):
- * DumpRenderTree/win/ResourceLoadDelegate.cpp:
- (ResourceLoadDelegate::willSendRequest):
- Return null if LayoutTestController says to.
-
-2010-01-14 Kevin Ollivier <kevino@theolliviers.com>
-
- [wx] Build fix after removal of XBM support.
-
- * wx/build/settings.py:
-
-2010-01-14 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Add support for partial building on Symbian.
-
- The build happens in the source directory as out of source builds are
- not supported by qmake for Symbian.
-
- Also the actual build isn't started but it is left to the developer
- to choose the architecture/configuration.
-
- * Scripts/webkitdirs.pm:
-
-2010-01-14 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Add support for "detecting" Symbian environments by either
- looking for the EPOCROOT environment variable or via --symbian
- being passed on the commandline.
-
- * Scripts/webkitdirs.pm:
-
-2010-01-14 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Unreviewed.
-
- [Qt] Use a different Makefile names for sources generation and compilation.
- This prevents Makefile overwriting when running build-webkit twice.
-
- * Scripts/webkitdirs.pm:
-
-2010-01-14 Andreas Kling <andreas.kling@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Add an "alien_QLabel" classId for manual testing of alien widgets.
-
- https://bugs.webkit.org/show_bug.cgi?id=33373
-
- * QtLauncher/main.cpp:
- (WebPage::createPlugin):
-
-2010-01-14 Eric Seidel <eric@webkit.org>
-
- No review, rolling out r53249.
- http://trac.webkit.org/changeset/53249
- https://bugs.webkit.org/show_bug.cgi?id=33617
-
- This caused http/tests/security/local-user-CSS-from-
- remote.html to fail on the Qt Release Build Bot.
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::WebPage::resetSettings):
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::overridePreference):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
-
-2010-01-14 Chris Jerdonek <chris.jerdonek@gmail.com>
-
- Reviewed by Shinichiro Hamaji.
-
- Moved error() from cpp_style.py to checker.py.
-
- https://bugs.webkit.org/show_bug.cgi?id=33620
-
- * Scripts/check-webkit-style:
- - Addressed FIXME to not set global state.
-
- * Scripts/webkitpy/style/checker.py:
- - Added argument validation to ProcessorOptions constructor.
- - Added should_report_error() to ProcessorOptions class.
- - Removed set_options().
- - Added StyleChecker class.
-
- * Scripts/webkitpy/style/checker_unittest.py:
- - Added unit test class for ProcessorOptions class.
- - Added unit test to check that parse() strips white space.
-
- * Scripts/webkitpy/style/cpp_style.py:
- - Removed "filter" and "output_format" methods.
- - Removed should_print_error() and error() functions.
- - Removed default parameter value from process_file().
-
- * Scripts/webkitpy/style/cpp_style_unittest.py:
- - Removed call to cpp_style._should_print_error().
- - Removed test_filter() and test_filter_appending().
-
- * Scripts/webkitpy/style/text_style.py:
- - Removed default parameter value from process_file().
-
-2010-01-14 Diego Gonzalez <diego.gonzalez@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] DRT missing setUserStyleSheetLocation and setUserStyleSheetEnabled in LayoutTestController
- https://bugs.webkit.org/show_bug.cgi?id=33617
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::WebPage::resetSettings):
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::setUserStyleSheetLocation):
- (LayoutTestController::setUserStyleSheetEnabled):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
-
-2010-01-13 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Fix CloseBugForLandDiff unittest to actually run
- https://bugs.webkit.org/show_bug.cgi?id=33640
-
- * Scripts/webkitpy/mock_bugzillatool.py:
- * Scripts/webkitpy/steps/closebugforlanddiff_unittest.py:
-
-2010-01-12 Jon Honeycutt <jhoneycutt@apple.com>
-
- MSAA: selected, selectable, extended selectable, and multiple
- selectable states are not reported
-
- https://bugs.webkit.org/show_bug.cgi?id=33574
- <rdar://problem/7536826>
-
- Reviewed by Darin Adler.
-
- * DumpRenderTree/AccessibilityUIElement.cpp:
- (getIsSelectableCallback):
- Return the result of calling isSelectable().
- (getIsMultiSelectableCallback):
- Return the result of calling isMultiSelectable().
- (AccessibilityUIElement::getJSClass):
- Add isSelected and isMultiSelectable properties to the JSClass
- definition.
-
- * DumpRenderTree/AccessibilityUIElement.h:
- Declare isSelectable() and isMultiSelectable().
-
- * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
- (AccessibilityUIElement::isSelectable):
- Stubbed.
- (AccessibilityUIElement::isMultiSelectable):
- Stubbed.
-
- * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
- (AccessibilityUIElement::isSelectable):
- Stubbed.
- (AccessibilityUIElement::isMultiSelectable):
- Stubbed.
-
- * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
- (accessibilityState):
- Get the object's state, and return it.
- (AccessibilityUIElement::isSelected):
- Check the object's selected state.
- (AccessibilityUIElement::isSelectable):
- Check the object's selectable state.
- (AccessibilityUIElement::isMultiSelectable):
- Check the object's extended/multiple selectable state.
-
-2010-01-13 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Repeat the below for CloseBugForLandDiff.
-
- * Scripts/test-webkitpy:
- * Scripts/webkitpy/steps/closebugforlanddiff.py:
- * Scripts/webkitpy/steps/closebugforlanddiff_unittest.py: Added.
-
-2010-01-13 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Turn the mac-ews status bubbles back on now that this bot
- is running again.
-
- * QueueStatusServer/templates/statusbubble.html:
-
-2010-01-13 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Adler.
-
- REGRESSION(53133): webkit-patch land dies if it can't find a bug id.
- https://bugs.webkit.org/show_bug.cgi?id=33634
-
- Deal with the case of no bug patch object in the state.
-
- * Scripts/webkitpy/steps/updatechangelogswithreview_unittests.py:
- * Scripts/webkitpy/steps/updatechangelogswithreviewer.py:
-
-2010-01-13 Kenneth Russell <kbr@google.com>
-
- Unreviewed; added myself to the committers list.
-
- * Scripts/webkitpy/committers.py:
-
-2010-01-13 Darin Adler <darin@apple.com>
-
- Ignore compiled Python in more of webkitpy.
-
- * Scripts/webkitpy/commands: Added property svn:ignore.
- * Scripts/webkitpy/steps: Added property svn:ignore.
- * Scripts/webkitpy/style: Added property svn:ignore.
-
-2010-01-13 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix build problem related to the pushd command
-
- * Scripts/webkitdirs.pm:
-
-2010-01-13 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Split the build process in two different .pro files.
- This allows qmake to be run once all source files are available.
-
- * Scripts/webkitdirs.pm: Add calls to make DerivedSources.pro in JSC and WC.
-
-2010-01-13 Shinichiro Hamaji <hamaji@chromium.org>
-
- Unreviewed tiny typo fix in docstrings.
-
- * Scripts/webkitpy/style/checker_unittest.py:
-
-2010-01-13 Chris Jerdonek <chris.jerdonek@gmail.com>
-
- Reviewed by Shinichiro Hamaji.
-
- Created a CategoryFilter class to encapsulate the logic of
- filter rules.
-
- https://bugs.webkit.org/show_bug.cgi?id=33454
-
- * Scripts/webkitpy/style/checker.py:
- - Added CategoryFilter class.
-
- * Scripts/webkitpy/style/checker_unittest.py:
- - Added CategoryFilter unit tests.
-
- * Scripts/webkitpy/style/cpp_style.py:
- - Updated filter methods to use CategoryFilter.
-
- * Scripts/webkitpy/style/cpp_style_unittest.py:
- - Updated references to filters.
-
-2010-01-12 Shinichiro Hamaji <hamaji@chromium.org>
-
- Unreviewed. Now I can review :)
-
- * Scripts/webkitpy/committers.py:
-
-2010-01-12 Brent Fulgham <bfulgham@webkit.org>
-
- Reviewed by Darin Adler.
-
- Extend WinLauncher example with better printing features.
-
- * WinLauncher/PrintWebUIDelegate.cpp:
- (PrintWebUIDelegate::webViewPrintingMarginRect): Provide slightly
- larger margins.
- (PrintWebUIDelegate::webViewHeaderHeight): Compute header height based
- on text metrics.
- (PrintWebUIDelegate::webViewFooterHeight): Compute footer height based
- on text metrics.
- (PrintWebUIDelegate::drawHeaderInRect): Write useful header, along
- with separating line.
- (PrintWebUIDelegate::drawFooterInRect):
- * WinLauncher/PrintWebUIDelegate.h: Remove stubs.
- * WinLauncher/WinLauncher.cpp:
- (PrintView): Correct loop used to print individual pages.
- Previously it started at 0, which is a wild-card to print all
- pages at once.
-
-2010-01-12 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=33540
- Make it possible to build in debug mode with assertions disabled
-
- * DumpRenderTree/mac/ObjCController.m: (-[ObjCController accessStoredWebScriptObject]):
-
-2010-01-11 Darin Fisher <darin@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [Chromium] "build-webkit --chromium" should run "make all" on Linux
- https://bugs.webkit.org/show_bug.cgi?id=33500
-
- * Scripts/webkitdirs.pm:
-
-2010-01-12 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- AssignToCommitter does not need to fetch bugs twice
- https://bugs.webkit.org/show_bug.cgi?id=33530
-
- This is a no-brainer patch now that we've added Bug.reviewed_patches
-
- * Scripts/webkitpy/commands/upload.py:
-
-2010-01-12 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- bugzilla.py should have an Attachment object instead of passing around dictionaries
- https://bugs.webkit.org/show_bug.cgi?id=31594
-
- * Scripts/webkitpy/bugzilla.py:
- - Add a new Attachment class, with accessor methods for all the necessary properties.
- - Update Bug to carry a pointer back to bugzilla (attachments need to access Bugzilla for committer validation and url())
- - Move reviewed_patches and commit_queued_patches out of Bugzilla custom methods and onto Bug
- - Move committer validation logic into its own class.
- - Committer rejection is only used in one place. Make the new Bug reviewed_patches and commit_queued_patches
- handle the common case (of returning "reviewer" or "committer" as None), and let CommitterValidation handle
- the case where we want to reject patches in bugzilla.
- - Simplify fetch_patches_from_commit_queue now that committer validation is simpler.
- - Make all self.bugzilla.fetch_bug access go through BugzillaQueries._fetch_bug.
- - Mark set_flag_on_attachment as non-private to denote that CommitterValidation depends on it.
- - Move fetch_reviewed_patches_from_bug and fetch_commit_queue_patches_from_bug logic onto the Bug class.
- * Scripts/webkitpy/bugzilla_unittest.py:
- - Move test_flag_permission_rejection_message into a new CommitterValidationTest class.
- * Scripts/webkitpy/commands/download.py:
- - Store "bug_id" in state instead of making a fake patch object.
- - Update to use Attachment and Bug objects.
- * Scripts/webkitpy/commands/download_unittest.py:
- - Update expected results now that our testing framework covers more code.
- * Scripts/webkitpy/commands/early_warning_system.py: Update to use new Attachment class.
- * Scripts/webkitpy/commands/queries.py: Remove unused ReviewedPatches class.
- * Scripts/webkitpy/commands/queries_unittest.py: ditto.
- * Scripts/webkitpy/commands/queues.py: Update to use new Attachment and CommitterValidator classes.
- * Scripts/webkitpy/commands/queuestest.py: ditto.
- * Scripts/webkitpy/commands/upload.py: ditto.
- * Scripts/webkitpy/mock_bugzillatool.py:
- - Now that more logic has moved into Attachment and Bug, we have to actually
- provide real reviewer emails as well as real reviewer flags.
- - Update mock methods to return Attachment objects.
- * Scripts/webkitpy/scm.py: Update to use Attachment class.
- * Scripts/webkitpy/scm_unittest.py: Update to use Attachment class.
- * Scripts/webkitpy/statusserver.py: ditto.
- * Scripts/webkitpy/steps/applypatch.py: ditto.
- * Scripts/webkitpy/steps/applypatchwithlocalcommit.py: ditto.
- * Scripts/webkitpy/steps/closebug.py: ditto.
- * Scripts/webkitpy/steps/closebugforlanddiff.py: Handle either state["bug_id"] or state["patch"].bug_id()
- * Scripts/webkitpy/steps/closepatch.py: Update to use Attachment class.
- * Scripts/webkitpy/steps/obsoletepatches.py: ditto.
- * Scripts/webkitpy/steps/updatechangelogswithreviewer.py: ditto.
-
-2010-01-12 Adam Barth <abarth@webkit.org>
-
- Unreviewed typo fix. :(
-
- * Scripts/webkitpy/commands/early_warning_system.py:
- * Scripts/webkitpy/commands/queues.py:
-
-2010-01-12 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Add "error" to the right part of the message.
-
- * Scripts/webkitpy/commands/queues.py:
-
-2010-01-12 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- EWS should show purple when svn-apply fails
- https://bugs.webkit.org/show_bug.cgi?id=33527
-
- * Scripts/webkitpy/commands/early_warning_system.py:
- * Scripts/webkitpy/commands/queues.py:
-
-2010-01-12 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Remove copy/paste code from subclasses of AbstractReviewQueue
- https://bugs.webkit.org/show_bug.cgi?id=33525
-
- * Scripts/webkitpy/commands/early_warning_system.py:
- * Scripts/webkitpy/commands/queues.py:
-
-2010-01-12 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Add Gustavo and Xan as gtk-ews watchers
- https://bugs.webkit.org/show_bug.cgi?id=33519
-
- * Scripts/webkitpy/commands/early_warning_system.py:
-
-2010-01-12 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- webkit-patch shouldn't waste my time for with a component prompt
- https://bugs.webkit.org/show_bug.cgi?id=33521
-
- The component field isn't very useful for bugs created with
- webkit-patch because they're likely to be resolved quickly. Instead of
- always prompting for a component, we should just default to the "New
- Bugs" component. If the bug stays around for more than five minutes,
- we can assign it a proper component.
-
- * Scripts/webkitpy/bugzilla.py:
-
-2010-01-12 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Add experimental "land-safely" command to webkit-patch
- https://bugs.webkit.org/show_bug.cgi?id=33518
-
- * Scripts/webkitpy/commands/upload.py:
- * Scripts/webkitpy/commands/upload_unittest.py:
- * Scripts/webkitpy/steps/__init__.py:
- * Scripts/webkitpy/steps/postdiffforcommit.py: Added.
-
-2010-01-11 Kevin Ollivier <kevino@theolliviers.com>
-
- [wx] Build fix after introduction of JS_NO_EXPORT
-
- * wx/build/settings.py:
-
-2010-01-11 Eric Seidel <eric@webkit.org>
-
- No review, rolling out r53079.
- http://trac.webkit.org/changeset/53079
- https://bugs.webkit.org/show_bug.cgi?id=33197
-
- Adam doens't think this actually works, and believe it caused
- a regression https://bugs.webkit.org/show_bug.cgi?id=33488 so
- rolling this out.
-
- * Scripts/test-webkitpy:
- * Scripts/webkitpy/commands/abstractdiffcommand.py: Removed.
- * Scripts/webkitpy/commands/abstractdiffcommand_unittest.py: Removed.
- * Scripts/webkitpy/commands/download.py:
- * Scripts/webkitpy/commands/upload.py:
- * Scripts/webkitpy/mock_bugzillatool.py:
-
-2010-01-10 Adam Barth <abarth@webkit.org>
-
- Reviewed by David Kilzer.
-
- bugzilla-tool submit-patch mistakenly picks up bug URLs in non-ChangeLog files
- https://bugs.webkit.org/show_bug.cgi?id=33197
-
- We should just search for bug numbers in the ChangeLogs instead of in
- the whole diff.
-
- * Scripts/test-webkitpy:
- * Scripts/webkitpy/commands/abstractdiffcommand.py: Added.
- * Scripts/webkitpy/commands/abstractdiffcommand_unittest.py: Added.
- * Scripts/webkitpy/commands/download.py:
- * Scripts/webkitpy/commands/upload.py:
- * Scripts/webkitpy/mock_bugzillatool.py:
-
-2010-01-11 Chris Jerdonek <chris.jerdonek@gmail.com>
-
- Reviewed by David Kilzer.
-
- Created a unit-tested function to parse the header block of
- a Git or SVN diff -- for future refactoring of svn-apply and
- svn-unapply.
-
- https://bugs.webkit.org/show_bug.cgi?id=33447
-
- * Scripts/VCSUtils.pm:
- - Added parseDiffHeader().
- - Removed irrelevant comment from gitdiff2svndiff().
-
- * Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl: Added.
- - Added 48 unit tests for parseDiffHeader().
-
-2010-01-10 Adam Barth <abarth@webkit.org>
-
- Rubber stamped by David Kilzer.
-
- bugzilla-tool submit-patch mistakenly picks up bug URLs in non-ChangeLog files
- https://bugs.webkit.org/show_bug.cgi?id=33197
-
- Fix a typo: Commmand -> Command.
-
- * Scripts/webkitpy/commands/abstractsequencedcommand.py:
- * Scripts/webkitpy/commands/download.py:
- * Scripts/webkitpy/commands/queries.py:
- * Scripts/webkitpy/commands/upload.py:
- * Scripts/webkitpy/multicommandtool.py:
-
-2010-01-10 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Adler.
-
- Let webkit-patch work with options in $EDITOR
- https://bugs.webkit.org/show_bug.cgi?id=33414
-
- The $EDITOR evironment variable might have command line options like
- bbedit -w. This patch lets us run those $EDITORs.
-
- * Scripts/webkitpy/user.py:
-
-2010-01-10 Robert Hogan <robert@roberthogan.net>
-
- Reviewed by Adam Barth.
-
- [Qt] Add enableXSSAuditor support to QWebSettings and DRT.
-
- https://bugs.webkit.org/show_bug.cgi?id=33419
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::WebPage::WebPage):
- (WebCore::WebPage::resetSettings):
- (WebCore::DumpRenderTree::createWindow):
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::setXSSAuditorEnabled):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
-
-2010-01-10 Adam Barth <abarth@webkit.org>
-
- Unreviewed cosmetic change. Remove the status bubble for mac-ews
- because we don't have hardware for it at the moment.
-
- * QueueStatusServer/templates/statusbubble.html:
-
-2010-01-09 Daniel Bates <dbates@webkit.org>
-
- No review, rolling out r53044.
- http://trac.webkit.org/changeset/53044
- https://bugs.webkit.org/show_bug.cgi?id=33419
-
- We need to look into this some more because the Qt
- bot is failing the XSSAuditor tests. See bug #33419
- for more details.
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::WebPage::WebPage):
- (WebCore::WebPage::resetSettings):
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
-
-2010-01-09 Daniel Bates <dbates@webkit.org>
-
- Reviewed by Adam Barth.
-
- https://bugs.webkit.org/show_bug.cgi?id=33419
-
- Adds support for the XSSAuditor to the Qt DRT.
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::WebPage::WebPage):
- (WebCore::WebPage::resetSettings):
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::setXSSAuditorEnabled):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
-
-2010-01-09 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Retry writes to QueueStatusServer when we get 500 errors
- https://bugs.webkit.org/show_bug.cgi?id=33412
-
- This prevents the queues from failing to mark a patch as "pass" or
- "fail" when AppEngine throws 500 errors.
-
- * Scripts/test-webkitpy:
- * Scripts/webkitpy/networktransaction.py: Added.
- * Scripts/webkitpy/networktransaction_unittest.py: Added.
- * Scripts/webkitpy/statusserver.py:
- * Scripts/webkitpy/steps/closebugformarkbugfixed.py: Added.
- * Scripts/webkitpy/steps/closebugregardlessofpatches.py: Added.
- * Scripts/webkitpy/steps/findbugidfromsvnrevision.py: Added.
-
-2010-01-09 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/33430> Fix rounded borders in queue status on older Firefox and Safari browsers
-
- Reviewed by Eric Seidel.
-
- * QueueStatusServer/templates/statusbubble.html: Added
- -moz-border-radius and -webkit-border-radius to provide rounded
- borders in older Firefox and Safari browsers.
-
-2010-01-09 Chris Jerdonek <chris.jerdonek@gmail.com>
-
- Reviewed by David Kilzer.
-
- Modified VCSUtils::gitdiff2svndiff() to accept strings that
- end in vertical white space.
-
- https://bugs.webkit.org/show_bug.cgi?id=33415
-
- * Scripts/VCSUtils.pm:
- * Scripts/webkitperl/VCSUtils_unittest/gitdiff2svndiff.pl:
-
-2010-01-08 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- run-javascriptcore-tests needs a --quiet flag
- https://bugs.webkit.org/show_bug.cgi?id=33399
-
- Until run-javascriptcore-tests has a --quiet flag, lets just stiffle the output in webkit-patch.
-
- * Scripts/webkitpy/steps/runtests.py:
-
-2010-01-08 Andras Becsi <abecsi@inf.u-szeged.hu>
-
- Reviewed by Alexey Proskuryakov.
-
- Only run http and websocket tests as last if no argument is given to be able to explicitly control the test order.
-
- To be able to run multiple instances of run-webkit-tests besides each other on the same machine we need to minimize
- the time when Apache and WebSocketServer is locked by tests.
- Because closeHTTPD() and closeWebSocketServer() is only called at the end of the testing,
- we need to run http and websocket tests after all other tests.
- If one however explicitly specifies the tests to run in the argument list of run-webkit-tests
- we need to preserve the given order.
-
- * Scripts/run-webkit-tests:
-
-2010-01-08 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Don't post style-queue pass messages to bugs
- https://bugs.webkit.org/show_bug.cgi?id=33404
-
- These messages aren't needed any more now that we have the status
- bubble reporting pass events passively.
-
- * Scripts/webkitpy/commands/queues.py:
-
-2010-01-08 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Optimize the number of CPUs used for building Qt and Gtk
- https://bugs.webkit.org/show_bug.cgi?id=33394
-
- Instead of hardcoding the number 8, we should read the number of CPUs
- from the environment.
-
- * Scripts/webkitpy/executive.py:
- * Scripts/webkitpy/webkitport.py:
- * Scripts/webkitpy/webkitport_unittest.py:
-
-2010-01-08 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Eric Seidel.
-
- REGRESSION(52819?): AXLoadComplete and AXLayoutComplete causes 4 tests fail on Snow Leopard Debug bot
- https://bugs.webkit.org/show_bug.cgi?id=33300
-
- * DumpRenderTree/AccessibilityUIElement.h:
- * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
- (AccessibilityUIElement::AccessibilityUIElement):
- (AccessibilityUIElement::~AccessibilityUIElement):
- (_accessibilityNotificationCallback):
- (AccessibilityUIElement::addNotificationListener):
-
-2010-01-08 Eric Seidel <eric@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- commit-queue should run run-javascriptcore-tests
- https://bugs.webkit.org/show_bug.cgi?id=33376
-
- I also made it run the python and perl unit tests.
-
- * Scripts/webkitpy/steps/runtests.py:
- * Scripts/webkitpy/webkitport.py:
-
-2010-01-07 Andras Becsi <abecsi@inf.u-szeged.hu>
-
- Reviewed by Darin Adler.
-
- Run the http and websocket tests after all other tests.
- https://bugs.webkit.org/show_bug.cgi?id=33153
-
- * Scripts/run-webkit-tests:
-
-2010-01-07 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Fix some test-webkitpy expectations
- https://bugs.webkit.org/show_bug.cgi?id=33345
-
- I forgot to change these when I added the CheckStyle step.
-
- * Scripts/webkitpy/commands/upload_unittest.py:
-
-2010-01-07 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- webkit-patch edit-changelogs (or upload) will open blank files if run outside the root
- https://bugs.webkit.org/show_bug.cgi?id=33341
-
- Fix this by moving to the root directory before editing ChangeLogs.
- There is a related bug with CheckStyle.
-
- * Scripts/webkitpy/steps/checkstyle.py:
- * Scripts/webkitpy/steps/editchangelog.py:
-
-2010-01-07 Eric Seidel <eric@webkit.org>
-
- Reviewed by Nikolas Zimmermann.
-
- media/unsupported-tracks.html is failing on Snow Leopard Release bot
- https://bugs.webkit.org/show_bug.cgi?id=32339
-
- This is a speculative fix. I do not have a Snow Leopard machine to test on
- and I've not seen mention of someone being able to reproduce this locally.
-
- Prevent watchdog timer from firing after a test completes but before
- the next one starts, causing the error to appear in the next test.
-
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (dump): Stop the watchdog before printing #EOF for the test content.
- We only need to care about the JavaScript of the test running too long
- or some hang in WebCore. Any other failures will be covered by the calling
- script's own watchdog timer.
-
-2010-01-07 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- commit-queue is stuck spinning due to exception
- https://bugs.webkit.org/show_bug.cgi?id=33358
-
- * Scripts/webkitpy/commands/queues.py:
- - Don't try to stringify the exception.
-
-2010-01-07 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Jon Honeycutt.
-
- Don't leak a JSStringRef within _accessibilityNotificationCallback.
-
- * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
- (_accessibilityNotificationCallback): Have a JSRetainPtr adopt the JSStringRef so that it will be cleaned up
- when it goes out of scope.
-
-2010-01-07 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Darin Adler.
-
- Add proposed rename of HTMLPlugInImageElement to HTMLEmbeddedObjectElement.
-
- * Scripts/do-webcore-rename:
-
-2010-01-07 Kim Grönholm <kim.gronholm@nomovok.com>
-
- Reviewed by Antti Koivisto.
-
- Wrong state and TouchLists in TouchEvents
- https://bugs.webkit.org/show_bug.cgi?id=32878
-
- * DumpRenderTree/qt/EventSenderQt.cpp:
- (EventSender::touchStart):
- (EventSender::touchEnd):
- (EventSender::clearTouchPoints):
- * DumpRenderTree/qt/EventSenderQt.h:
-
-2010-01-07 Chris Jerdonek <chris.jerdonek@gmail.com>
-
- Reviewed by Adam Barth.
-
- Created a module that runs the style package unit tests.
-
- https://bugs.webkit.org/show_bug.cgi?id=32973
-
- * Scripts/test-webkitpy:
- * Scripts/webkitpy/style/unittests.py: Added.
-
-2010-01-07 Adam Barth <abarth@webkit.org>
-
- Reviewed by Maciej Stachowiak.
-
- Don't print a redundant message when confirming a diff
- https://bugs.webkit.org/show_bug.cgi?id=33315
-
- Instead of saying "ERROR: User declined" we should just exit because
- the use knows they just declined!
-
- * Scripts/webkitpy/steps/confirmdiff.py:
-
-2010-01-07 Adam Barth <abarth@webkit.org>
-
- Reviewed by Maciej Stachowiak.
-
- Check style before uploading a patch
- https://bugs.webkit.org/show_bug.cgi?id=33314
-
- * Scripts/webkitpy/commands/upload.py:
- * Scripts/webkitpy/steps/checkstyle.py:
- * Scripts/webkitpy/steps/options.py:
-
-2010-01-07 Adam Barth <abarth@webkit.org>
-
- Reviewed by Maciej Stachowiak.
-
- Add prepare and post to webkit-patch main help
- https://bugs.webkit.org/show_bug.cgi?id=33313
-
- * Scripts/webkitpy/commands/upload.py:
-
-2010-01-07 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Add Chromium bots to the list of "core builders" (builders which stop the commit-queue when they turn red)
- https://bugs.webkit.org/show_bug.cgi?id=33290
-
- Add the Chromium builders to our list of core builders and test that our regexps work.
- I also updated our regexp testing to make sure we cover all known builders at build.webkit.org.
-
- * Scripts/webkitpy/buildbot.py:
- * Scripts/webkitpy/buildbot_unittest.py:
-
-2010-01-07 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- bugzilla-tool needs a new name
- https://bugs.webkit.org/show_bug.cgi?id=28459
-
- Rename bugzilla-tool to webkit-patch. Also, rename some commands to
- make more sense with the new name.
-
- * Scripts/bugzilla-tool: Removed.
- * Scripts/webkit-patch: Added.
- * Scripts/webkit-tools-completion.sh:
- * Scripts/webkitpy/bugzilla_unittest.py:
- * Scripts/webkitpy/commands/download.py:
- * Scripts/webkitpy/commands/download_unittest.py:
- * Scripts/webkitpy/commands/early_warning_system.py:
- * Scripts/webkitpy/commands/queries.py:
- * Scripts/webkitpy/commands/queues.py:
- * Scripts/webkitpy/commands/queues_unittest.py:
- * Scripts/webkitpy/commands/upload.py:
- * Scripts/webkitpy/commands/upload_unittest.py:
- * Scripts/webkitpy/queueengine.py:
- * Scripts/webkitpy/steps/completerollout.py:
-
-2010-01-07 Chris Jerdonek <chris.jerdonek@gmail.com>
-
- Reviewed by Eric Seidel.
-
- Moved style-related modules to webkitpy.style sub-package.
-
- https://bugs.webkit.org/show_bug.cgi?id=32971
-
- * Scripts/check-webkit-style:
- - Updated import statement.
-
- * Scripts/test-webkitpy:
- - Updated import statements.
-
- * Scripts/webkitpy/cpp_style.py: Removed.
- - Moved to webkitpy/style.
-
- * Scripts/webkitpy/cpp_style_unittest.py: Removed.
- - Moved to webkitpy/style.
-
- * Scripts/webkitpy/style.py: Removed.
- - Moved to webkitpy/style/checker.py.
-
- * Scripts/webkitpy/style/__init__.py: Added.
- - Added containing webkitpy directory to package search path.
-
- * Scripts/webkitpy/style/checker.py: Copied from Scripts/webkitpy/style.py.
- * Scripts/webkitpy/style/checker_unittest.py: Copied from Scripts/webkitpy/style_unittest.py.
- - Updated import statement.
-
- * Scripts/webkitpy/style/cpp_style.py: Copied from Scripts/webkitpy/cpp_style.py.
- * Scripts/webkitpy/style/cpp_style_unittest.py: Copied from Scripts/webkitpy/cpp_style_unittest.py.
- - Update import statement.
-
- * Scripts/webkitpy/style/text_style.py: Copied from Scripts/webkitpy/text_style.py.
- * Scripts/webkitpy/style/text_style_unittest.py: Copied from Scripts/webkitpy/text_style_unittest.py.
- * Scripts/webkitpy/style_unittest.py: Removed.
- - Moved to webkitpy/style/checker_unittest.py.
-
- * Scripts/webkitpy/text_style.py: Removed.
- - Moved to webkitpy/style.
-
- * Scripts/webkitpy/text_style_unittest.py: Removed.
- - Moved to webkitpy/style.
-
-2010-01-06 Kinuko Yasuda <kinuko@chromium.org>
-
- Reviewed by Eric Seidel.
-
- [Qt] Support the 3rd argument of EventSender.keyDown that
- has been recently added to report keyLocation
- (see also: https://bugs.webkit.org/show_bug.cgi?id=28247).
- https://bugs.webkit.org/show_bug.cgi?id=33250
-
- Test: fast/events/keydown-numpad-keys.html
-
- * DumpRenderTree/qt/EventSenderQt.cpp:
- (EventSender::keyDown):
- * DumpRenderTree/qt/EventSenderQt.h:
-
-2010-01-06 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Add long_help for all common commands.
- https://bugs.webkit.org/show_bug.cgi?id=33261
-
- For now these long_helps are pretty basic.
- These were all written to just explain the steps
- that each command runs. This style long_help could
- be made easier by using:
- https://bugs.webkit.org/show_bug.cgi?id=33257
-
- * Scripts/webkitpy/commands/download.py:
- * Scripts/webkitpy/commands/queries.py:
-
-2010-01-06 Diego Gonzalez <diego.gonzalez@openbossa.org>
-
- Reviewed by Kenneth Christiansen.
-
- [Qt] Add page zooming support to Qt DumpRenderTree
- https://bugs.webkit.org/show_bug.cgi?id=32898
-
- Patch by Kim Grönholm <kim.gronholm@nomovok.com>,
- Diego Gonzalez <diego.gonzalez@openbossa.org> and
- Afonso Costa <afonso.costa@openbossa.org>
-
- * DumpRenderTree/qt/EventSenderQt.cpp:
- (EventSender::zoomPageIn):
- (EventSender::zoomPageOut):
- * DumpRenderTree/qt/EventSenderQt.h:
-
-2010-01-06 Eric Seidel <eric@webkit.org>
-
- No review, just adding Mike Belshe's new bugzilla email at his request.
-
- * Scripts/webkitpy/committers.py:
-
-2010-01-06 Eric Seidel <eric@webkit.org>
-
- Unreviewed. Rolling out r52869 and r52853 due to bot
- and local run-webkit-test failures
-
- REGRESSION(52854?) fast/workers/shared-worker-constructor.html failed on Leopard Build Bot
- https://bugs.webkit.org/show_bug.cgi?id=33256
-
- The original bug was https://bugs.webkit.org/show_bug.cgi?id=33153
-
- * Scripts/run-webkit-tests:
-
-2010-01-06 Eric Seidel <eric@webkit.org>
-
- Unreviewed "build" fix. Just adding missing include.
-
- bugzilla-tool rollout --complete-rollout should make a nicer bug comment
- https://bugs.webkit.org/show_bug.cgi?id=29212
-
- * Scripts/webkitpy/steps/completerollout.py:
-
-2010-01-06 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- bugzilla-tool rollout --complete-rollout should make a nicer bug comment
- https://bugs.webkit.org/show_bug.cgi?id=29212
-
- * Scripts/webkitpy/bugzilla.py:
- - Make reopen_bug robust against the bug already being open.
- * Scripts/webkitpy/commands/download.py:
- - Remove dead code from Rollout.
- * Scripts/webkitpy/steps/completerollout.py:
- - Improve the rollout comment.
-
-2010-01-06 Andras Becsi <abecsi@inf.u-szeged.hu>
-
- Reviewed by Darin Adler.
-
- Set isHttpdOpen to 0 if pidfile does not exist for some reason.
- Speculative fix for https://bugs.webkit.org/show_bug.cgi?id=33256.
-
- * Scripts/run-webkit-tests:
-
-2010-01-06 Andras Becsi <abecsi@inf.u-szeged.hu>
-
- Reviewed by Darin Adler.
-
- Change hardcoded /tmp in run-webkit-tests to File::Spec->tmpdir(),
- and remove the httpd's pidfile directory if httpd terminated.
-
- * Scripts/run-webkit-tests:
-
-2010-01-05 Chris Jerdonek <chris.jerdonek@gmail.com>
-
- Reviewed by David Levin.
-
- Refactored check-webkit-style's argument parser to not rely
- on global state, and improved its error handling and unit
- test coverage.
-
- https://bugs.webkit.org/show_bug.cgi?id=32966
-
- * Scripts/check-webkit-style:
- - Adjusted to use new argument parser.
-
- * Scripts/webkitpy/cpp_style.py:
- - Changed _CppStyleState to accept an array of filter rules
- instead of a comma-delimited string.
- - Eliminated cpp_style._DEFAULT_FILTER_RULES.
- - Eliminated cpp_style._USAGE.
-
- * Scripts/webkitpy/cpp_style_unittest.py:
- - Updated test_filter() and test_default_filter().
-
- * Scripts/webkitpy/style.py:
- - Converted style._USAGE to create_usage().
- - Corrected usage instructions by removing 0 as a valid
- --verbose flag value.
- - Removed use_webkit_styles().
- - Added ProcessorOptions class.
- - Added ArgumentDefaults class.
- - Added ArgumentPrinter class.
- - Removed parse_arguments and added ArgumentParser class.
- - Moved exit_with_usage() and exit_with_categories() into
- ArgumentParser.
- - Refactored parse_arguments() as ArgumentParser.parse().
- - Improved parser error handling.
-
- * Scripts/webkitpy/style_unittest.py:
- - Added DefaultArgumentsTest class.
- - Addressed FIXME to check style.WEBKIT_FILTER_RULES
- against style.STYLE_CATEGORIES.
- - Added ArgumentPrinterTest class.
- - Added ArgumentParserTest class and rewrote parser unit tests.
-
-2010-01-05 Adam Roben <aroben@apple.com>
-
- Test that it's safe to call IWebView::close when
- IWebView::initWithFrame hasn't been called
-
- Part of <http://webkit.org/b/32827> Crash when calling
- IWebView::close, then releasing the WebView, without calling
- DestroyWindow
-
- Reviewed by Steve Falkenburg.
-
- * WebKitAPITest/tests/WebViewDestruction.cpp:
- (WebKitAPITest::CloseWithoutInitWithFrame): Calls IWebView::close
- without ever calling IWebView::initWithFrame and tests that we don't
- crash or leak.
-
-2010-01-05 Adam Roben <aroben@apple.com>
-
- Add more WebViewDestruction tests
-
- Fixes <http://webkit.org/b/33216>.
-
- Reviewed by Eric Seidel.
-
- * WebKitAPITest/tests/WebViewDestruction.cpp:
- (WebKitAPITest::NoInitWithFrame):
- (WebKitAPITest::CloseThenDestroyViewWindow):
- (WebKitAPITest::DestroyViewWindowThenClose):
- (WebKitAPITest::DestroyHostWindow):
- (WebKitAPITest::DestroyHostWindowThenClose):
- (WebKitAPITest::CloseThenDestroyHostWindow):
- Added these tests that exercise tearing down a WebView in various
- ways, all of which we eventually want to have work. Some of them
- currently crash or leak.
-
-2010-01-05 Robert Hogan <robert@roberthogan.net>
-
- Reviewed by Eric Seidel.
-
- [Qt] fix DRT link failures on --no-svg builds when only making changes to DRT
-
- If you're working from a --minimal or --no-svg build and make changes to the
- DRT, then recompile, the build will fail.
-
- This is because the current behavior at build time is to assume that the
- previous Qt build supported SVG and consequently delete libQtWebKit.so.
- Unfortunately, just deleting libQtWebKit.so will not cause the library to
- re-link. Instead the build will see libQtWebKit.so.4 and co., pass over the
- linking phase, and attempt to link the DRT with libQtWebKit.so absent. This
- results in a link failure on the DRT.
-
- Since re-linking libQtWebKit can take up to ten minutes and should be avoided
- in cases where not actually required, remove the assumption that
- the previous Qt build supported SVG, and amend the symbol detection to look for
- a symbol name that is not present in SVG builds. Currently webkitdirs.pm looks
- for 'SVGElement' but even non-SVG builds contain the symbol 'isSVGElement'.
-
- https://bugs.webkit.org/show_bug.cgi?id=32992
-
- * Scripts/webkitdirs.pm:
-
-2010-01-05 Chris Jerdonek <chris.jerdonek@gmail.com>
-
- Reviewed by David Kilzer.
-
- Switched to generating list of Perl unit test files dynamically,
- instead of explicitly.
-
- https://bugs.webkit.org/show_bug.cgi?id=33200
-
- * Scripts/test-webkitperl:
-
-2010-01-05 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Reimplement EventSender::leapForward
- https://bugs.webkit.org/show_bug.cgi?id=33114
-
- Follow Windows implementation of leapForward. When leapForward is called,
- messages are queued and posted after the timeout. A new event loop is created to
- handle those messages and the additional messages that are created as a result.
-
- * DumpRenderTree/qt/DumpRenderTree.pro:
- * DumpRenderTree/qt/EventSenderQt.cpp:
- (EventSender::EventSender):
- (EventSender::mouseDown):
- (EventSender::mouseUp):
- (EventSender::mouseMoveTo):
- (EventSender::leapForward):
- (EventSender::sendOrQueueEvent):
- (EventSender::replaySavedEvents):
- (EventSender::eventFilter):
- * DumpRenderTree/qt/EventSenderQt.h:
-
-2010-01-05 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Adler.
-
- Fix obscure queue crash in queueengine
- https://bugs.webkit.org/show_bug.cgi?id=33196
-
- Sometimes we get an exception that can't be stringified. For example:
-
- AttributeError: 'ParseError' object has no attribute 'msg'
-
- In these cases, the whole queue dies because we're in the global
- exception handler. Instead of dieing here, we should just print a less
- informative message to the console. We're already printing the whole
- backtrace anyway, so there's not much point to stringifying the
- exception anyway.
-
- * Scripts/webkitpy/queueengine.py:
-
-2010-01-05 Dominic Mazzoni <dmazzoni@google.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=32571
-
- For an object with an aria role of "checkbox" or "radiobutton",
- use the "aria-checked" attribute to determine if it's checked.
- These changes add an isChecked() method to AccessibilityUIElement
- so that we can check for this property from a layout test.
-
- * DumpRenderTree/AccessibilityUIElement.cpp:
- (getIsCheckedCallback):
- (AccessibilityUIElement::getJSClass):
- * DumpRenderTree/AccessibilityUIElement.h:
- * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
- (AccessibilityUIElement::isChecked):
- * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
- (AccessibilityUIElement::isChecked):
- * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
- (AccessibilityUIElement::isChecked):
-
-2010-01-05 David Levin <levin@chromium.org>
-
- Reviewed by Darin Adler.
-
- Having a comment for the #endif for a header guard is not required WebKit style.
- https://bugs.webkit.org/show_bug.cgi?id=33214
-
- * Scripts/webkitpy/cpp_style.py: removed the check and made the loop exit
- early when it has all the needed information to continue.
- * Scripts/webkitpy/cpp_style_unittest.py: removed the corresponding tests.
-
-2010-01-05 Adam Roben <aroben@apple.com>
-
- Share more code in the WebViewDestruction tests
-
- Part of <http://webkit.org/b/33212> Small fixes/improvements to
- WebKitAPITest
-
- Reviewed by Sam Weinig.
-
- * WebKitAPITest/tests/WebViewDestruction.cpp:
- (WebKitAPITest::createAndInitializeWebView): Renamed from
- createWebView. Now initializes the HostWindow and returns the
- WebView's HWND via an out-parameter.
- (WebKitAPITest::finishWebViewDestructionTest): Added. Code came from
- the CloseWithoutDestroyWindow test.
- (WebKitAPITest::CloseWithoutDestroyViewWindow): Renamed from
- CloseWithoutDestroyWindow and changed to use the new functions.
- (WebKitAPITest::MainFrameAfterClose): Changed to use the new
- functions.
- (WebKitAPITest::NoCloseOrDestroyViewWindow): Renamed from
- NoCloseOrDestroyWindow and changed to use the new functions.
-
-2010-01-05 Adam Roben <aroben@apple.com>
-
- Don't show HostWindows by default
-
- This was making WebKitAPITest very flashy as windows appeared and
- disappeared.
-
- Part of <http://webkit.org/b/33212> Small fixes/improvements to
- WebKitAPITest
-
- Reviewed by Sam Weinig.
-
- * WebKitAPITest/HostWindow.cpp:
- (WebKitAPITest::HostWindow::initialize): Removed the WS_VISIBLE style
- from the window.
-
-2010-01-05 Adam Roben <aroben@apple.com>
-
- Don't hang in WebKitAPITest if no messages have been posted
-
- Part of <http://webkit.org/b/33212> Small fixes/improvements to
- WebKitAPITest
-
- Reviewed by Sam Weinig.
-
- * WebKitAPITest/tests/WebViewDestruction.cpp:
- (WebKitAPITest::runMessagePump): Use PeekMessage instead of GetMessage
- to avoid hanging if no messages have been posted.
-
-2010-01-05 Adam Roben <aroben@apple.com>
-
- Fix WebKitCreateInstance helper
-
- Part of <http://webkit.org/b/33212> Small fixes/improvements to
- WebKitAPITest
-
- Reviewed by Sam Weinig.
-
- * WebKitAPITest/tests/WebViewDestruction.cpp:
- (WebKitAPITest::WebKitCreateInstance): Pass the pointer straight
- through, instead of taking its address.
-
-2010-01-04 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin Fisher.
-
- Reorganize, document and rename OS() platform macros.
- https://bugs.webkit.org/show_bug.cgi?id=33198
-
- Adapt to name changes.
-
- * DumpRenderTree/DumpRenderTree.h:
- * DumpRenderTree/config.h:
-
-2010-01-05 Chris Jerdonek <chris.jerdonek@gmail.com>
-
- Reviewed by Eric Seidel.
-
- Minor improvements to test-webkit-scripts, as suggested
- by an earlier review.
-
- https://bugs.webkit.org/show_bug.cgi?id=33125
-
- * Scripts/test-webkit-scripts:
- - Used OptionParser class instead of getopt.getopt().
- - Created main() method for __main__ block.
- - Enclosed functions in a class.
-
-2010-01-05 Chris Fleizach <cfleizach@apple.com>
-
- No review. Fix DRT breakage on Tiger/Leopard.
-
- Add ARIA "Live Region" support
- https://bugs.webkit.org/show_bug.cgi?id=33117
-
- * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
-
-2010-01-04 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Darin Adler.
-
- Add ARIA "Live Region" support
- https://bugs.webkit.org/show_bug.cgi?id=33117
-
- * DumpRenderTree/AccessibilityUIElement.cpp:
- (indexOfChildCallback):
- (boolAttributeValueCallback):
- (stringAttributeValueCallback):
- (addNotificationListenerCallback):
- (AccessibilityUIElement::getJSClass):
- * DumpRenderTree/AccessibilityUIElement.h:
- * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
- (AccessibilityUIElement::indexOfChild):
- (AccessibilityUIElement::stringAttributeValue):
- (AccessibilityUIElement::boolAttributeValue):
- (AccessibilityUIElement::addNotificationListener):
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
- (AccessibilityUIElement::indexOfChild):
- (AccessibilityUIElement::stringAttributeValue):
- (AccessibilityUIElement::boolAttributeValue):
- (_accessibilityNotificationCallback):
- (AccessibilityUIElement::addNotificationListener):
- * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
- (AccessibilityUIElement::indexOfChild):
- (AccessibilityUIElement::stringAttributeValue):
- (AccessibilityUIElement::boolAttributeValue):
- (AccessibilityUIElement::addNotificationListener):
-
-2010-01-04 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- bugzilla-tool rollout should require a reason
- https://bugs.webkit.org/show_bug.cgi?id=30810
-
- * Scripts/webkitpy/changelogs.py: Add support for a reason, add auto-wrapping logic.
- * Scripts/webkitpy/changelogs_unittest.py: Test reason support.
- * Scripts/webkitpy/commands/download.py: rollout now requires a reason, remove unused BUGID argument
- * Scripts/webkitpy/commands/download_unittest.py: pass required reason
- * Scripts/webkitpy/steps/preparechangelogforrevert.py: pass reason to update_for_revert
-
-2010-01-04 Jon Honeycutt <jhoneycutt@apple.com>
-
- MSAA: <select> elements should broadcast value change events
-
- https://bugs.webkit.org/show_bug.cgi?id=33088
-
- <rdar://problem/7332364>
-
- Reviewed by Darin Adler.
-
- * DumpRenderTree/AccessibilityController.cpp:
- (logValueChangeEventsCallback):
- Start logging value change events.
- (AccessibilityController::getJSClass):
- Add a "logValueChangeEvents" to the AccessibilityController's JS class
- definition.
- (AccessibilityController::resetToConsistentState):
- Disable logging of value change events.
-
- * DumpRenderTree/AccessibilityController.h:
- Declare setLogValueChangeEvents(), and add a member variable for the
- value change event hook.
-
- * DumpRenderTree/gtk/AccessibilityControllerGtk.cpp:
- (AccessibilityController::setLogValueChangeEvents):
- Stubbed.
-
- * DumpRenderTree/mac/AccessibilityControllerMac.mm:
- (AccessibilityController::setLogValueChangeEvents):
- Stubbed.
-
- * DumpRenderTree/win/AccessibilityControllerWin.cpp:
- (AccessibilityController::AccessibilityController):
- Initialize new member var.
- (AccessibilityController::~AccessibilityController):
- Disable logging of value change events.
- (logEventProc):
- When we receive an EVENT_OBJECT_VALUECHANGE, log the name of the object
- and its value.
- (AccessibilityController::setLogValueChangeEvents):
- If disabling logging, unhook the event, and clear the event hook
- member var. Otherwise, query for the root element to enable
- accessibility, and hook EVENT_OBJECT_VALUECHANGE.
-
-2010-01-04 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- long_help for submit-patch
- https://bugs.webkit.org/show_bug.cgi?id=33184
-
- * Scripts/webkitpy/commands/upload.py:
-
-2010-01-04 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- commit-queue can wrongly reject patches if the buildbots are behind
- https://bugs.webkit.org/show_bug.cgi?id=30098
-
- Check to make sure we can currently build and test before trying to
- land a patch.
-
- * Scripts/webkitpy/commands/queues.py:
-
-2010-01-04 Adam Roben <aroben@apple.com>
-
- Add a test harness for the Windows WebKit API, and a few tests
-
- We currently only have tests for a handful of bugs regarding WebView
- destruction, but more tests can easily be added later. Eventually
- we'll run these tests as part of run-webkit-tests.
-
- Fixes <http://webkit.org/b/33167>.
-
- Reviewed by Sam Weinig.
-
- * WebKitAPITest/HostWindow.cpp: Added.
- (WebKitAPITest::HostWindow::HostWindow): Initialize m_window.
- (WebKitAPITest::HostWindow::~HostWindow): Destroy our window if
- needed.
- (WebKitAPITest::HostWindow::initialize): Create our window.
- (WebKitAPITest::HostWindow::clientRect): Return our window's client
- rect.
- (WebKitAPITest::HostWindow::registerWindowClass): Does what it says.
- (WebKitAPITest::HostWindow::wndProc): Just call through to
- DefWindowProcW.
-
- * WebKitAPITest/HostWindow.h: Added.
- (WebKitAPITest::HostWindow::window): Simple getter.
-
- * WebKitAPITest/Test.h: Added. This file defines some macros useful
- for writing tests.
-
- * WebKitAPITest/TestsController.cpp: Added.
- (WebKitAPITest::TestsController::TestsController): Initialize our
- members.
- (WebKitAPITest::TestsController::shared): Return the shared instance.
- (WebKitAPITest::TestsController::runAllTests): Run a message pump
- until a WM_QUIT message is received, then return whether all tests
- succeeded.
- (WebKitAPITest::TestsController::addTest): Add the test to m_tests and
- start running tests soon.
- (WebKitAPITest::TestsController::testFailed): Record the failure and
- print a message about it to stdout.
- (WebKitAPITest::TestsController::runNextTest): If we don't have any
- tests to run, post a WM_QUIT message to stop the message pump.
- Otherwise, run the test and print whether it passed, then schedule the
- next test.
- (WebKitAPITest::TestsController::runNextTestSoon): Set a 0-delay timer
- to run the next test.
- (WebKitAPITest::TestsController::registerWindowClass): Does what it
- says.
- (WebKitAPITest::TestsController::wndProc): If the runNextTestTimer
- fired, call runNextTest(). Pass everything else through to
- DefWindowProcW.
-
- * WebKitAPITest/TestsController.h: Added.
-
- * WebKitAPITest/WebKitAPITest.vcproj: Added.
-
- * WebKitAPITest/WebKitAPITestCommon.vsprops: Added.
-
- * WebKitAPITest/main.cpp: Added.
- (main): (Mostly) just calls TestsController::runAllTests.
-
- * WebKitAPITest/tests/WebViewDestruction.cpp: Added.
- (WebKitAPITest::WebKitCreateInstance): Helper function template to
- call through to the real WebKitCreateInstance.
- (WebKitAPITest::webViewCount): Helper function to call through to
- IWebKitStatistics::webViewCount.
- (WebKitAPITest::createWebView): Helper function to create a WebView
- and put it inside a HostWindow.
- (WebKitAPITest::runMessagePump): Helper function to run a message pump
- for a specified number of milliseconds, or until a WM_QUIT message is
- received.
- (WebKitAPITest::CloseWithoutDestroyWindow): Test for
- <http://webkit.org/b/32827>.
- (WebKitAPITest::MainFrameAfterClose): Test for
- <http://webkit.org/b/32868>.
- (WebKitAPITest::NoCloseOrDestroyWindow): Test for
- <http://webkit.org/b/33162>.
-
-2010-01-04 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by David Kilzer.
-
- Add support for Git's "diff.mnemonicprefix" config option to WebKitTools
-
- https://bugs.webkit.org/show_bug.cgi?id=32820
-
- * Scripts/VCSUtils.pm:
- * Scripts/svn-apply:
- * Scripts/svn-unapply:
- * Scripts/test-webkitperl: Run gitdiff2svndiff test
- * Scripts/webkitperl/VCSUtils_unittest/gitdiff2svndiff.pl: Added.
- * Scripts/webkitpy/diff_parser.py:
- * Scripts/webkitpy/diff_parser_unittest.py:
-
-2010-01-04 Chris Jerdonek <chris.jerdonek@gmail.com>
-
- Reviewed by David Kilzer.
-
- Divided the Perl unit tests into separate files and put
- them in a separate directory, and renamed test-webkit-perl
- to test-webkitperl.
-
- https://bugs.webkit.org/show_bug.cgi?id=33124
-
- * Scripts/VCSUtils.pm:
- - Renamed generateRunPatchCommand() to generatePatchCommand().
-
- * Scripts/VCSUtils_unittest.pl: Removed.
- - Divided into three files in Scripts/webkitperl/VCSUtils_unittest.
-
- * Scripts/test-webkit-perl: Removed.
- - Renamed to test-webkitperl.
-
- * Scripts/test-webkit-scripts:
- - Updated paths to test-webkitpy and test-webkitperl.
-
- * Scripts/test-webkitperl: Copied from Scripts/test-webkit-perl.
- - Added paths to new test files.
-
- * Scripts/webkitperl: Added.
- * Scripts/webkitperl/VCSUtils_unittest: Added.
- * Scripts/webkitperl/VCSUtils_unittest/fixChangeLogPatch.pl: Added.
- * Scripts/webkitperl/VCSUtils_unittest/generatePatchCommand.pl: Added.
- * Scripts/webkitperl/VCSUtils_unittest/runPatchCommand.pl: Copied from Scripts/VCSUtils_unittest.pl.
-
-2010-01-04 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Make bugzilla-tool rollout include a bug link in the ChangeLog entry
- https://bugs.webkit.org/show_bug.cgi?id=33146
-
- One more step towards better rollouts.
-
- * Scripts/webkitpy/changelogs.py:
- * Scripts/webkitpy/changelogs_unittest.py:
- * Scripts/webkitpy/steps/preparechangelogforrevert.py:
-
-2010-01-04 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Sort the step options
- https://bugs.webkit.org/show_bug.cgi?id=33144
-
- * Scripts/webkitpy/steps/options.py:
-
-2010-01-04 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Need support for longer text in per-command help
- https://bugs.webkit.org/show_bug.cgi?id=33143
-
- Add some minimal additional help to land-diff and
- pave the way for adding better help to all commands.
-
- * Scripts/webkitpy/commands/download.py: Add small amount of additional help to land-diff
- * Scripts/webkitpy/multicommandtool.py: support long_help
- * Scripts/webkitpy/multicommandtool_unittest.py: test long_help
-
-2010-01-04 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Add unit test for MarkBugFixed
- https://bugs.webkit.org/show_bug.cgi?id=33142
-
- MarkBugFixed is way behind in command technology, but it still needs a
- unit test, as the FIXME commands.
-
- Also, remove mark-bug-fixed and create-bug from main help since we have
- more modern commands to replace them.
-
- * Scripts/webkitpy/commands/upload.py:
- * Scripts/webkitpy/commands/upload_unittest.py:
- * Scripts/webkitpy/mock_bugzillatool.py:
-
-2010-01-04 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Add missing unit test for CommitMessageForCurrentDiff
- https://bugs.webkit.org/show_bug.cgi?id=33141
-
- * Scripts/webkitpy/commands/upload.py:
- * Scripts/webkitpy/commands/upload_unittest.py:
-
-2010-01-04 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Remove raw_input from queues in favor of user.prompt
- https://bugs.webkit.org/show_bug.cgi?id=33140
-
- This lets up properly mock out the user interaction instead of hacking
- around it with the options.
-
- * Scripts/webkitpy/commands/queues.py:
- * Scripts/webkitpy/commands/queuestest.py:
-
-2010-01-04 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- bugzilla-tool should not require users to install mechanize
- https://bugs.webkit.org/show_bug.cgi?id=32635
-
- * Scripts/webkitpy/__init__.py: Add missing declaration for ClientForm (which mechanize requires).
-
-2010-01-04 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- bugzilla-tool should not require users to install mechanize
- https://bugs.webkit.org/show_bug.cgi?id=32635
-
- Use the nifty "autoinstall" module from Daniel Krech:
- http://pypi.python.org/pypi/autoinstall/0.2
- http://code.google.com/p/pyautoinstall/
- It's available under a WebKit-compatible BSD license.
-
- * Scripts/webkitpy/__init__.py:
- - bind "mechanize" to an autoinstall importer which will
- auto-download mechanize if necessary.
- * Scripts/webkitpy/autoinstall.py: Added.
- * Scripts/webkitpy/bugzilla.py: use "mechanize" instead of webkit_mechanize
- * Scripts/webkitpy/statusbot.py: ditto.
- * Scripts/webkitpy/webkit_mechanize.py: Removed.
-
-2010-01-04 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] Move AbstractSequencedCommand to a more general location
- https://bugs.webkit.org/show_bug.cgi?id=33137
-
- I do what the FIXME tell me to do.
-
- * Scripts/webkitpy/commands/abstractsequencedcommand.py: Added.
- * Scripts/webkitpy/commands/download.py:
- * Scripts/webkitpy/commands/upload.py:
-
-2010-01-04 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Rename StatusBot to StatusServer
- https://bugs.webkit.org/show_bug.cgi?id=33139
-
- It's not a bot. It's a server.
-
- * Scripts/bugzilla-tool:
- * Scripts/webkitpy/bugzilla.py:
- * Scripts/webkitpy/commands/early_warning_system.py:
- * Scripts/webkitpy/commands/queues.py:
- * Scripts/webkitpy/mock_bugzillatool.py:
- * Scripts/webkitpy/queueengine.py:
- * Scripts/webkitpy/statusbot.py: Removed.
-
-2010-01-04 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] submit-pach should have a -o/--open option to open the bug after submit
- https://bugs.webkit.org/show_bug.cgi?id=33136
-
- Python makes this very easy.
-
- * Scripts/webkitpy/mock_bugzillatool.py:
- * Scripts/webkitpy/steps/options.py:
- * Scripts/webkitpy/steps/postdiff.py:
- * Scripts/webkitpy/user.py:
-
-2010-01-04 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] Move steps to a submodule
- https://bugs.webkit.org/show_bug.cgi?id=33135
-
- For great victory. This will probably introduce some regressions
- because our test coverage isn't perfect, but I've tried to be careful.
-
- * Scripts/test-webkitpy:
- * Scripts/webkitpy/buildsteps.py: Removed.
- * Scripts/webkitpy/buildsteps_unittest.py: Removed.
- * Scripts/webkitpy/commands/download.py:
- * Scripts/webkitpy/commands/upload.py:
- * Scripts/webkitpy/steps/__init__.py: Added.
- * Scripts/webkitpy/steps/abstractstep.py: Added.
- * Scripts/webkitpy/steps/applypatch.py: Added.
- * Scripts/webkitpy/steps/applypatchwithlocalcommit.py: Added.
- * Scripts/webkitpy/steps/build.py: Added.
- * Scripts/webkitpy/steps/checkstyle.py: Added.
- * Scripts/webkitpy/steps/cleanworkingdirectory.py: Added.
- * Scripts/webkitpy/steps/cleanworkingdirectorywithlocalcommits.py: Added.
- * Scripts/webkitpy/steps/closebug.py: Added.
- * Scripts/webkitpy/steps/closebugforlanddiff.py: Added.
- * Scripts/webkitpy/steps/closepatch.py: Added.
- * Scripts/webkitpy/steps/commit.py: Added.
- * Scripts/webkitpy/steps/completerollout.py: Added.
- * Scripts/webkitpy/steps/confirmdiff.py: Added.
- * Scripts/webkitpy/steps/createbug.py: Added.
- * Scripts/webkitpy/steps/editchangelog.py: Added.
- * Scripts/webkitpy/steps/ensurebuildersaregreen.py: Added.
- * Scripts/webkitpy/steps/ensurelocalcommitifneeded.py: Added.
- * Scripts/webkitpy/steps/metastep.py: Added.
- * Scripts/webkitpy/steps/obsoletepatches.py: Added.
- * Scripts/webkitpy/steps/options.py: Added.
- * Scripts/webkitpy/steps/postdiff.py: Added.
- * Scripts/webkitpy/steps/preparechangelog.py: Added.
- * Scripts/webkitpy/steps/preparechangelogforrevert.py: Added.
- * Scripts/webkitpy/steps/promptforbugortitle.py: Added.
- * Scripts/webkitpy/steps/revertrevision.py: Added.
- * Scripts/webkitpy/steps/runtests.py: Added.
- * Scripts/webkitpy/steps/steps_unittest.py: Added.
- * Scripts/webkitpy/steps/update.py: Added.
- * Scripts/webkitpy/steps/updatechangelogswithreview_unittests.py: Added.
- * Scripts/webkitpy/steps/updatechangelogswithreviewer.py: Added.
- * Scripts/webkitpy/stepsequence.py:
-
-2010-01-04 Daniel Bates <dbates@webkit.org>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=33097
-
- Cleans up the File menu to better conform to the File menu in Safari
- both in terms of options and keyboard shortcuts. Adds a "Quit" menu
- options to close all open windows. Also, renames the Tools menu to
- Develop.
-
- * QtLauncher/main.cpp:
- (MainWindow::setupUI):
-
-2010-01-04 Daniel Bates <dbates@webkit.org>
-
- https://bugs.webkit.org/show_bug.cgi?id=33039
-
- Unreviewed fix.
-
- * Scripts/webkitpy/credentials.py:
- * Scripts/webkitpy/credentials_unittest.py:
-
-2010-01-04 Daniel Bates <dbates@webkit.org>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=33039
-
- [bzt] Second attempt to fix an issue where bugzilla-tool dies
- when the keychain lookup fails to find an entry for bugs.webkit.org.
-
- * Scripts/webkitpy/credentials.py:
- * Scripts/webkitpy/credentials_unittest.py:
-
-2010-01-04 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Make Rollout an AbstractSequencedCommmand
- https://bugs.webkit.org/show_bug.cgi?id=33133
-
- As suggested by Adam in:
- https://bugs.webkit.org/show_bug.cgi?id=33131#c2
-
- * Scripts/webkitpy/commands/download.py:
-
-2010-01-04 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Make all commands AbstractDeclarativeCommmands instead of direct Command subclasses
- https://bugs.webkit.org/show_bug.cgi?id=33131
-
- Evenetually we'll probably roll AbstractDeclarativeCommmand directly into Command
- but for now we just deploy it everywhere and don't try to fix up the few valid uses
- of Command.
-
- * Scripts/webkitpy/commands/download.py:
- * Scripts/webkitpy/commands/queries.py:
- * Scripts/webkitpy/commands/upload.py:
- * Scripts/webkitpy/multicommandtool.py:
-
-2010-01-03 Adam Barth <abarth@webkit.org>
-
- Unreviewed "build" fix. Need to import ScriptError.
-
- * Scripts/webkitpy/buildsteps.py:
-
-2010-01-03 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] Make it easier to run submit-patch when previous run cancelled
- https://bugs.webkit.org/show_bug.cgi?id=33070
-
- This patch renames create-review to submit-patch (as requested by
- Maciej).
-
- This patch makes it easier to run submit-patch after the user has
- already cancelled a previous run of submit-patch by detecting when we
- already have ChangeLogs and reading the bug number from them (and not
- attempting to recreate them). Aside from performance and the extra
- edit step, this command should not subsume post-dif.
-
- Also, added a --email command line argument so that the output of
- prepare-ChangeLog makes sense when it can't find the user's email
- address.
-
- * Scripts/webkitpy/bugzilla.py:
- * Scripts/webkitpy/buildsteps.py:
- * Scripts/webkitpy/commands/upload.py:
- * Scripts/webkitpy/commands/upload_unittest.py:
- * Scripts/webkitpy/mock_bugzillatool.py:
- * Scripts/webkitpy/user.py:
-
-2010-01-03 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Rename Scripts/modules to Scripts/webkitpy
- https://bugs.webkit.org/show_bug.cgi?id=33128
-
- Just search-replace and svn mv commands.
-
- * Scripts/bugzilla-tool:
- * Scripts/check-webkit-style:
- * Scripts/modules: Removed.
- * Scripts/modules/BeautifulSoup.py: Removed.
- * Scripts/modules/__init__.py: Removed.
- * Scripts/modules/bugzilla.py: Removed.
- * Scripts/modules/bugzilla_unittest.py: Removed.
- * Scripts/modules/buildbot.py: Removed.
- * Scripts/modules/buildbot_unittest.py: Removed.
- * Scripts/modules/buildsteps.py: Removed.
- * Scripts/modules/buildsteps_unittest.py: Removed.
- * Scripts/modules/changelogs.py: Removed.
- * Scripts/modules/changelogs_unittest.py: Removed.
- * Scripts/modules/commands: Removed.
- * Scripts/modules/commands/__init__.py: Removed.
- * Scripts/modules/commands/commandtest.py: Removed.
- * Scripts/modules/commands/download.py: Removed.
- * Scripts/modules/commands/download_unittest.py: Removed.
- * Scripts/modules/commands/early_warning_system.py: Removed.
- * Scripts/modules/commands/early_warning_system_unittest.py: Removed.
- * Scripts/modules/commands/queries.py: Removed.
- * Scripts/modules/commands/queries_unittest.py: Removed.
- * Scripts/modules/commands/queues.py: Removed.
- * Scripts/modules/commands/queues_unittest.py: Removed.
- * Scripts/modules/commands/queuestest.py: Removed.
- * Scripts/modules/commands/upload.py: Removed.
- * Scripts/modules/commands/upload_unittest.py: Removed.
- * Scripts/modules/comments.py: Removed.
- * Scripts/modules/committers.py: Removed.
- * Scripts/modules/committers_unittest.py: Removed.
- * Scripts/modules/cpp_style.py: Removed.
- * Scripts/modules/cpp_style_unittest.py: Removed.
- * Scripts/modules/credentials.py: Removed.
- * Scripts/modules/credentials_unittest.py: Removed.
- * Scripts/modules/diff_parser.py: Removed.
- * Scripts/modules/diff_parser_unittest.py: Removed.
- * Scripts/modules/executive.py: Removed.
- * Scripts/modules/executive_unittest.py: Removed.
- * Scripts/modules/grammar.py: Removed.
- * Scripts/modules/mock.py: Removed.
- * Scripts/modules/mock_bugzillatool.py: Removed.
- * Scripts/modules/multicommandtool.py: Removed.
- * Scripts/modules/multicommandtool_unittest.py: Removed.
- * Scripts/modules/outputcapture.py: Removed.
- * Scripts/modules/patchcollection.py: Removed.
- * Scripts/modules/queueengine.py: Removed.
- * Scripts/modules/queueengine_unittest.py: Removed.
- * Scripts/modules/scm.py: Removed.
- * Scripts/modules/scm_unittest.py: Removed.
- * Scripts/modules/statusbot.py: Removed.
- * Scripts/modules/stepsequence.py: Removed.
- * Scripts/modules/style: Removed.
- * Scripts/modules/style.py: Removed.
- * Scripts/modules/style_unittest.py: Removed.
- * Scripts/modules/text_style.py: Removed.
- * Scripts/modules/text_style_unittest.py: Removed.
- * Scripts/modules/user.py: Removed.
- * Scripts/modules/webkit_logging.py: Removed.
- * Scripts/modules/webkit_logging_unittest.py: Removed.
- * Scripts/modules/webkit_mechanize.py: Removed.
- * Scripts/modules/webkitport.py: Removed.
- * Scripts/modules/webkitport_unittest.py: Removed.
- * Scripts/test-webkit-python: Removed.
- * Scripts/test-webkitpy: Copied from WebKitTools/Scripts/test-webkit-python.
- * Scripts/validate-committer-lists:
- * Scripts/webkitpy: Copied from WebKitTools/Scripts/modules.
- * Scripts/webkitpy/bugzilla.py:
- * Scripts/webkitpy/bugzilla_unittest.py:
- * Scripts/webkitpy/buildbot.py:
- * Scripts/webkitpy/buildbot_unittest.py:
- * Scripts/webkitpy/buildsteps.py:
- * Scripts/webkitpy/buildsteps_unittest.py:
- * Scripts/webkitpy/commands/commandtest.py:
- * Scripts/webkitpy/commands/download.py:
- * Scripts/webkitpy/commands/download_unittest.py:
- * Scripts/webkitpy/commands/early_warning_system.py:
- * Scripts/webkitpy/commands/early_warning_system_unittest.py:
- * Scripts/webkitpy/commands/queries.py:
- * Scripts/webkitpy/commands/queries_unittest.py:
- * Scripts/webkitpy/commands/queues.py:
- * Scripts/webkitpy/commands/queues_unittest.py:
- * Scripts/webkitpy/commands/queuestest.py:
- * Scripts/webkitpy/commands/upload.py:
- * Scripts/webkitpy/commands/upload_unittest.py:
- * Scripts/webkitpy/comments.py:
- * Scripts/webkitpy/credentials.py:
- * Scripts/webkitpy/credentials_unittest.py:
- * Scripts/webkitpy/executive.py:
- * Scripts/webkitpy/executive_unittest.py:
- * Scripts/webkitpy/mock_bugzillatool.py:
- * Scripts/webkitpy/multicommandtool.py:
- * Scripts/webkitpy/multicommandtool_unittest.py:
- * Scripts/webkitpy/queueengine.py:
- * Scripts/webkitpy/queueengine_unittest.py:
- * Scripts/webkitpy/scm.py:
- * Scripts/webkitpy/scm_unittest.py:
- * Scripts/webkitpy/statusbot.py:
- * Scripts/webkitpy/stepsequence.py:
- * Scripts/webkitpy/webkit_logging_unittest.py:
- * Scripts/webkitpy/webkitport_unittest.py:
-
-2010-01-03 Chris Jerdonek <chris.jerdonek@gmail.com>
-
- Reviewed by Eric Seidel.
-
- Added script to test both Perl and Python, and renamed
- run-webkit-unittests to test-webkit-python.
-
- https://bugs.webkit.org/show_bug.cgi?id=33045
-
- * Scripts/VCSUtils_unittest.pl:
- - Tweaked so it can be run from outside Scripts directory.
-
- * Scripts/run-webkit-unittests: Removed.
- - Renamed to test-webkit-python.
-
- * Scripts/test-webkit-perl:
- - Tweaked so it can be run from outside Scripts directory.
-
- * Scripts/test-webkit-python: Copied from Scripts/run-webkit-unittests.
-
- * Scripts/test-webkit-scripts: Added.
- - Runs both test-webkit-perl and test-webkit-python.
-
-2010-01-03 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- commit-queue/bugzilla-tool should build both Debug and Release
- https://bugs.webkit.org/show_bug.cgi?id=28450
-
- Add a --build-style command that lets the master process tell the child
- process to build both debug and release. Eventually we want to teach
- the test step to understand this option too, but that's a patch for
- another day.
-
- * Scripts/modules/buildsteps.py:
- * Scripts/modules/commands/queues.py:
- * Scripts/modules/webkitport.py:
- * Scripts/modules/webkitport_unittest.py:
-
-2010-01-03 Jakub Wieczorek <faw217@gmail.com>
-
- Reviewed by Eric Seidel.
-
- [Qt] EventSender: add support for Enter key events
- https://bugs.webkit.org/show_bug.cgi?id=33064
-
- Unskip 5 tests that are fixed now.
-
- * DumpRenderTree/qt/EventSenderQt.cpp:
- (EventSender::keyDown):
-
-2010-01-03 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] Add test for previous typo fix
- https://bugs.webkit.org/show_bug.cgi?id=33083
-
- A trivial test for a trivial fix, as requested by Eric.
-
- * Scripts/modules/bugzilla_unittest.py:
-
-2010-01-03 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Implement mac-ews
- https://bugs.webkit.org/show_bug.cgi?id=33072
-
- The mac-ews is slightly different than the other early warning systems
- because we can't run Mac OS X inside a VM. For that reason, we only
- process patches that were uploaded by committers. This isn't as much
- coverage as the other EWS bots, but it's better than nothing.
-
- * Scripts/modules/commands/early_warning_system.py:
- * Scripts/modules/commands/early_warning_system_unittest.py:
- * Scripts/modules/commands/queues.py:
- * Scripts/modules/commands/queuestest.py:
- * Scripts/modules/mock_bugzillatool.py:
-
-2010-01-03 Chris Jerdonek <chris.jerdonek@gmail.com>
-
- Reviewed by David Kilzer.
-
- Refactored svn-apply and svn-unapply to use a common "patch"
- command method, and added unit tests for this new method.
-
- https://bugs.webkit.org/show_bug.cgi?id=33098
-
- * Scripts/VCSUtils.pm:
- - Added generateRunPatchCommand().
- - Added runPatchCommand().
- - Added exitStatus() from webkitdirs.pm to address FIXME.
-
- * Scripts/VCSUtils_unittest.pl:
- - Added 10 unit tests for generateRunPatchCommand().
- - Added 4 unit tests for runPatchCommand().
- - Added callSilently() method.
-
- * Scripts/svn-apply:
- - Refactored applyPatch().
- - Removed $pathScriptWasRunFrom global variable.
- - Addressed issue where "--force" option was getting added twice.
-
- * Scripts/svn-unapply:
- - Refactored applyPatch().
- - Removed $pathScriptWasRunFrom global variable.
- - Added support for --force option.
- - Enhanced to return meaningful exit status.
-
- * Scripts/webkitdirs.pm:
- - Moved exitStatus() implementation to VCSUtils.pm.
-
-2009-12-31 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] Implement build-and-test
- https://bugs.webkit.org/show_bug.cgi?id=33073
-
- Some of the early warning system bots want to use build-and-test so
- they can cover LayoutTests in addition to just compilation.
-
- * Scripts/modules/commands/download.py:
- * Scripts/modules/commands/download_unittest.py:
-
-2009-12-31 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Show mac-ews status on QueueStatusServer
- https://bugs.webkit.org/show_bug.cgi?id=33076
-
- Also make error status purple.
-
- * QueueStatusServer/model/attachment.py:
- * QueueStatusServer/model/queues.py:
- * QueueStatusServer/templates/dashboard.html:
- * QueueStatusServer/templates/statusbubble.html:
-
-2009-12-31 Adam Barth <abarth@webkit.org>
-
- Unreviewed.
-
- [bzt] REGRESSION: Bugzila is a typo
- https://bugs.webkit.org/show_bug.cgi?id=33074
-
- Eric should test his code before landing! :)
-
- * Scripts/modules/bugzilla.py:
-
-2009-12-31 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Fix the unit tests!
-
- * Scripts/run-webkit-unittests:
-
-2009-12-30 Kevin Watters <kevinwatters@gmail.com>
-
- Reviewed by Kevin Ollivier.
-
- [wx] Alter a couple of default settings in the test app.
-
- https://bugs.webkit.org/show_bug.cgi?id=32956
-
- * wx/browser/browser.cpp:
- (MyApp::OnInit):
-
-2009-12-30 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- logging.py should be renamed to webkit_logging.py and eventually die
- https://bugs.webkit.org/show_bug.cgi?id=33058
-
- Change all imports of "logging" to webkit_logging,
- except the ones which came from Google's cpp_lint.py and diff_parser.py
- which clearly are assuming python's logging.py.
-
- * Scripts/modules/bugzilla.py:
- * Scripts/modules/buildbot.py:
- * Scripts/modules/buildsteps.py:
- * Scripts/modules/commands/download.py:
- * Scripts/modules/commands/queries.py:
- * Scripts/modules/commands/queues.py:
- * Scripts/modules/commands/upload.py:
- * Scripts/modules/credentials.py:
- * Scripts/modules/executive.py:
- * Scripts/modules/multicommandtool.py:
- * Scripts/modules/queueengine.py:
- * Scripts/modules/scm.py:
- * Scripts/modules/statusbot.py:
- * Scripts/modules/stepsequence.py:
- * Scripts/modules/webkit_logging.py: Renamed from WebKitTools/Scripts/modules/logging.py.
- * Scripts/modules/webkit_logging_unittest.py: Renamed from WebKitTools/Scripts/modules/logging_unittest.py.
-
-2009-12-30 Jakub Wieczorek <faw217@gmail.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] layoutTestController.pathToLocalResource() should return a path, not an URL
- https://bugs.webkit.org/show_bug.cgi?id=33051
-
- Moreover, its primary function is to normalize the path in regard of platform
- specific directory separators. Therefore, it can simply make use of the
- QDir::toNativeSeparators function.
-
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::pathToLocalResource):
-
-2009-12-30 David D. Kilzer <ddkilzer@webkit.org>
-
- Fix executable bits for r52646
-
- * Scripts/VCSUtils_unittest.pl: Added property svn:executable.
- * Scripts/test-webkit-perl: Ditto.
-
-2009-12-29 Chris Jerdonek <chris.jerdonek@gmail.com>
-
- Reviewed by David Kilzer.
-
- Fixed a bug in fixChangeLogPatch, made it work correctly in
- more circumstances, and added unit tests.
-
- https://bugs.webkit.org/show_bug.cgi?id=32919
-
- * Scripts/VCSUtils.pm:
- Rewrote fixChangeLogPatch.
-
- * Scripts/VCSUtils_unittest.pl: Added.
- Added 7 unit tests for fixChangeLogPatch.
-
- * Scripts/test-webkit-perl: Added.
- Added test harness for unit tests of Perl code.
-
-2009-12-29 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Split out BugzillaQueries class from Bugzilla
- https://bugs.webkit.org/show_bug.cgi?id=33042
-
- * Scripts/modules/bugzilla.py:
- - Split out BugzillaQueries from Bugzilla.
- - Try to isolate self.bugzilla usage into helper functions whenever possible.
- - Add a bunch of FIXMEs.
- - Rename fetch_bug_ids_from_needs_commit_list to fetch_bug_ids_from_pending_commit_list
- * Scripts/modules/bugzilla_unittest.py:
- - Create a new BugzillaQueriesTest testcase and move logic there.
- * Scripts/modules/buildsteps_unittest.py:
- - Use Bug 75 instead of 1 since bug 1 doesn't actually exist.
- * Scripts/modules/commands/queries.py:
- - Update to use bugzilla.queries
- * Scripts/modules/commands/queues.py:
- - Ditto.
- * Scripts/modules/commands/upload.py:
- - Ditto.
- * Scripts/modules/mock_bugzillatool.py:
- - Add a MockBugzillaQueries.
- - Make patches and bugs global privates.
- - Let _id_to_object_dictionary take a variable argument list instead of an array.
-
-2009-12-29 Daniel Bates <dbates@webkit.org>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=33041
-
- Speed up the test method test_read_credentials_with_SVN by not actually
- creating an SVN repository to test against (by default). Instead, it is
- sufficient to create a temporary directory that does not contain a Git
- repository.
-
- Also, renamed method test_read_credentials_with_SVN to
- test_read_credentials_without_git_repo, to better reflect what it is
- testing.
-
- * Scripts/modules/credentials_unittest.py:
-
-2009-12-29 Daniel Bates <dbates@webkit.org>
-
- Reviewed by Adam Barth.
-
- https://bugs.webkit.org/show_bug.cgi?id=33039
-
- [bzt] Fixes an issue where bugzilla-tool dies when the keychain lookup
- fails to find an entry for bugs.webkit.org.
-
- Under Mac OS X, bugzilla-tool tries to query the keychain and Security
- framework (via /usr/sbin/security) for an internet-password entry for
- bugs.webkit.org so that it can use it to login to bugs.webkit.org.
- However, if no such entry exists then bugzilla-tool dies with an error.
-
- * Scripts/modules/credentials.py: Modified method _parse_security_tool_output to return
- [None, None] if /usr/sbin/security cannot find keychain entry for bugs.webkit.org.
- * Scripts/modules/credentials_unittest.py: Added method test_security_output_parse_entry_not_found.
-
-2009-12-29 Eric Seidel <eric@webkit.org>
-
- Rubber-stamped by Adam Barth.
-
- Remove unused BugzillaException.
-
- * Scripts/modules/bugzilla.py:
-
-2009-12-29 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Need a script to assign bugs with r+ patches to committers for landing
- https://bugs.webkit.org/show_bug.cgi?id=33009
-
- This is just one more small tool to help in the fight against our
- ever-growing list of to-be-committed patches.
-
- * Scripts/modules/bugzilla.py:
- - Rename assign_to_email to assigned_to_email (typo).
- - Add assigned_to_email() method on Bug.
- - Add reassign_bug method.
- - Add Bugzilla.unassigned_email, eventually should move to some webkit_config.py module.
- * Scripts/modules/bugzilla_unittest.py:
- - Update test after assigned_to_email rename.
- * Scripts/modules/commands/commandtest.py:
- - Call bind_to_tool to that self.tool works in Command testing.
- * Scripts/modules/commands/download.py:
- - Move AbstractDeclarativeCommmand multicommandtool.py, it should be part of Command.
- * Scripts/modules/commands/queries_unittest.py:
- - One of the test patches is now posted by "eric@webkit.org" which is a committer.
- - Eventually we'll mock out CommitterList and be able to better control what's a committer and what's not.
- * Scripts/modules/commands/upload.py:
- - Add new assign-to-committer command.
- * Scripts/modules/commands/upload_unittest.py:
- - Add basic assign-to-committer test.
- * Scripts/modules/committers.py:
- - Add bugzilla_email() accessor.
- * Scripts/modules/committers_unittest.py:
- - Test our assumption that bugzilla_email is the first email.
- * Scripts/modules/mock_bugzillatool.py:
- - Add _id_to_object_dictionary for generating bug_cache from list of bugs.
- - Remove unused fetch_attachments_from_bug.
- - Add fetch_bug support and a bug_cache.
- * Scripts/modules/multicommandtool.py:
- - Move AbstractDeclarativeCommmand here from download.py
-
-2009-12-29 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] Don't crash if user types a number during PromptForBugOrTitleStep
- https://bugs.webkit.org/show_bug.cgi?id=33038
-
- Simple fix with test.
-
- * Scripts/modules/buildsteps.py:
- * Scripts/modules/buildsteps_unittest.py:
-
-2009-12-29 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] post-diff requires reading to the end
- https://bugs.webkit.org/show_bug.cgi?id=33036
-
- Catch the IOError caused by not reading to the end of the diff. We
- don't have a good way to test this currently.
-
- * Scripts/modules/user.py:
-
-2009-12-29 Chang Shu <Chang.Shu@nokia.com>
-
- Reviewed by Adam Barth.
-
- [Qt] Move logic that handles Qt headers before primary headers
- so that Qt headers won't be treated as primary headers by mistake.
- https://bugs.webkit.org/show_bug.cgi?id=32991
-
- * Scripts/modules/cpp_style.py:
- * Scripts/modules/cpp_style_unittest.py:
-
-2009-12-29 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Add the start of a Bug object for bugzilla.py
- https://bugs.webkit.org/show_bug.cgi?id=32995
-
- This allowed us to get rid of some duplicated "is_obsolete" checks.
-
- * Scripts/modules/bugzilla.py:
- - Add a new Bug class, and move patches/unreviewed_patches filtering logic there.
- - Add _fetch_bug_page for possible future mocking.
- (I did not try to test fetch_*_from_bug now due to difficulties with our current validate_reviewer logic.)
- - Rename fetch_bug to fetch_bug_dictionary and add a new fetch_bug which returns a Bug object.
- - Use fetch_bug and attachments(), patches(), etc. instead of custom fetch_*_from_bug methods.
- - Reduce code in fetch_patches_from_pending_commit_list and fetch_patches_from_review_queue
- using list comprehensions. Use a sum(list, []) trick to flatten a list of lists into a single list.
- * Scripts/modules/bugzilla_unittest.py:
- - Remove an unneeded unicode string marker.
- * Scripts/modules/buildsteps.py:
- - define __all__ to include just the BuildSteps
- * Scripts/modules/commands/download.py:
- - import * now that we have an __all__ defined.
- * Scripts/modules/commands/upload.py:
- - Use fetch_bug_dictionary instead of fetch_bug.
-
-2009-12-29 Daniel Bates <dbates@webkit.org>
-
- Reviewed by Ariya Hidayat.
-
- https://bugs.webkit.org/show_bug.cgi?id=32925
-
- Adds an Open File dialog to make it convenient to open a file
- to view in the browser.
-
- Currently a person must either specify the path to a file as a
- command-line argument or type a file URL. Instead, we should
- have a file dialog to allow a person to open a file without
- memorizing its path.
-
- * QtLauncher/main.cpp:
- (MainWindow::MainWindow): Changed urlEdit->setText(qurl.toEncoded())
- to urlEdit->setText(qurl.toString()).
- (MainWindow::openFile): Added.
- (MainWindow::changeLocation): Moved code to load URL into method
- MainWindow::loadURL.
- (MainWindow::loadURL): Added.
- (MainWindow::setupUI): Added menu item Open File.
-
-2009-12-29 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Holger Freyther.
-
- [GTK] fails fast/harness/use-page-cache.html
- https://bugs.webkit.org/show_bug.cgi?id=33013
-
- Make sure settings are forwarded to child WebViews.
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (createWebView):
-
-2009-12-29 Daniel Bates <dbates@webkit.org>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=32778
-
- Changes $diffPercentage to be a number to resolve Perl
- warning about comparing a string to a number.
-
- * Scripts/run-webkit-tests:
-
-2009-12-29 Jakub Wieczorek <faw217@gmail.com>
-
- Reviewed by Eric Seidel.
-
- [Qt] DRT: Frame loader callbacks differ from the Mac port
- https://bugs.webkit.org/show_bug.cgi?id=32989
-
- Remove messages from the callbacks that should not dump them to match
- the expected results for the http/loading tests.
-
- Unskip some http/loading tests which succeed now.
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::DumpRenderTree::dump):
-
-2009-12-29 Robert Hogan <robert@roberthogan.net>
-
- Reviewed by Eric Seidel.
-
- [Qt] fix fast/dom/Window/window-onFocus.html
-
- Add support for layouttestcontroller.windowIsKey to Qt DRT and fix issue where
- window.onblur was getting dispatched twice from QtWebKit.
-
- https://bugs.webkit.org/show_bug.cgi?id=32990
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::DumpRenderTree::DumpRenderTree):
- (WebCore::DumpRenderTree::switchFocus):
- * DumpRenderTree/qt/DumpRenderTreeQt.h:
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::setWindowIsKey):
- (LayoutTestController::setMainFrameIsFirstResponder):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
-
-2009-12-28 Kinuko Yasuda <kinuko@chromium.org>
-
- Reviewed by Maciej Stachowiak.
-
- Extended EventSender.keyDown method to take another (3rd) argument
- for indicating the keyLocation to make numeric pad key events testable.
- Expected values for the argument is one of the KeyLocationCode
- specified in DOM Level 3
- (http://www.w3.org/TR/DOM-Level-3-Events/#events-keyboardevents).
- https://bugs.webkit.org/show_bug.cgi?id=28247
-
- Test: fast/events/keydown-numpad-keys.html
-
- * DumpRenderTree/mac/EventSendingController.mm:
- (+[EventSendingController isSelectorExcludedFromWebScript:]):
- (+[EventSendingController webScriptNameForSelector:]):
- (-[EventSendingController keyDown:withModifiers:withLocation:]):
-
-2009-12-28 Ariya Hidayat <ariya.hidayat@gmail.com>
-
- Unreviewed, update my email address.
-
- * Scripts/modules/committers.py:
-
-2009-12-28 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Adam Barth.
-
- [Qt] Fix build break for Qt 4.4
- https://bugs.webkit.org/show_bug.cgi?id=30327
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp: Include QLocale
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp: Ditto.
- * QtLauncher/main.cpp:
- (MainWindow::MainWindow): Qt::WA_TranslucentBackground was
- introduced in Qt version 4.5
-
-2009-12-28 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] Add an edit-changelog command
- https://bugs.webkit.org/show_bug.cgi?id=32986
-
- This command makes it easier to edit ChangeLogs. It's similar to
- prepare-ChangeLog -o, except it works with already existing ChangeLogs.
-
- * Scripts/modules/commands/upload.py:
- * Scripts/modules/commands/upload_unittest.py:
-
-2009-12-28 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] Create an ASAD command for uploading a patch
- https://bugs.webkit.org/show_bug.cgi?id=32979
-
- The create-review command goes through the whole process of preparing a
- code review, including creating a bug, editing the ChangeLogs, and
- uploading the patch. It is indeed the All Sing, All Dance upload
- command.
-
- * Scripts/modules/buildsteps.py:
- * Scripts/modules/commands/upload.py:
- * Scripts/modules/commands/upload_unittest.py:
- * Scripts/modules/mock_bugzillatool.py:
- * Scripts/modules/user.py:
-
-2009-12-28 Adam Barth <abarth@webkit.org>
-
- Unreviewed "build" fix (with test!).
-
- * Scripts/modules/bugzilla.py:
- * Scripts/modules/bugzilla_unittest.py:
-
-2009-12-27 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Add more awesome bug-parsing logic to bugzilla.py in preparation for assign-to-committer command
- https://bugs.webkit.org/show_bug.cgi?id=32980
-
- * Scripts/modules/bugzilla.py:
- - Add a new _parse_bug_page function and use it in fetch_attachments_from_bug
- - Replace fetch_title_from_bug with a new fetch_bug call instead.
- - Use list comprehensions where possible to reduce code duplication.
- * Scripts/modules/bugzilla_unittest.py:
- - Add a minimal bug parsing test.
- - Share code between bug parsing and attachment parsing tests with _assert_dictionaries_equal
- * Scripts/modules/commands/upload.py:
- - Use fetch_bug(bug_id)["title"] instead of fetch_title_from_bug
-
-2009-12-27 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Status bubble shouldn't be transparent for bots that haven't run yet
- https://bugs.webkit.org/show_bug.cgi?id=32977
-
- * QueueStatusServer/templates/statusbubble.html:
-
-2009-12-27 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [QueueStatusServer] Run gc cron job less often
- https://bugs.webkit.org/show_bug.cgi?id=32958
-
- Now that we've cleaned out the backlog of idle messages, we don't need
- to run the gc job every half hour. We could also stop logging the idle
- messages, but this seems easier for the time being.
-
- * QueueStatusServer/cron.yaml:
-
-2009-12-27 Daniel Bates <dbates@webkit.org>
-
- Reviewed by Adam Barth.
-
- https://bugs.webkit.org/show_bug.cgi?id=32896
-
- Fixes an issue where bugzilla-tool tries to read the username and password from
- Git regardless of whether Git is installed. In particular, if Git is not
- installed then bugzilla-tool dies (with a trace) when it attempts to query Git
- for the authentication credentials to log into bugs.webkit.org.
-
- Moreover, modifies Executive.run_command to catch and pass OSError exceptions to
- the specified error handler. For instance, the specified error handler will now
- be called when the command does not exist (i.e. OSError errno 2).
-
- * Scripts/modules/credentials.py: Added check for Git.
- * Scripts/modules/credentials_unittest.py: Added test method
- test_read_credentials_with_SVN.
- * Scripts/modules/executive.py: Modified method run_command to catch
- OSError exceptions (i.e [Errno 2] No such file or directory) and call
- the specified error handler.
- * Scripts/modules/executive_unittest.py: Added.
- * Scripts/run-webkit-unittests: Added import executive_unittest.py.
-
-2009-12-27 Daniel Bates <dbates@webkit.org>
-
- Unreviewed. Added missing file style_unittest.py that wasn't committed
- in change set 52541 (http://trac.webkit.org/changeset/52541) as part of
- the patch for bug #32592.
-
- * Scripts/modules/style_unittest.py: Added.
-
-2009-12-27 Daniel Bates <dbates@webkit.org>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=32964
-
- [bzt] Updated the unit test based on the change made in bug #32951.
-
- The change made in bug #32951 added the command-line argument:
- --makeargs="-j8" to the build-webkit command. However, the associated
- unit test was not updated.
-
- * Scripts/modules/webkitport_unittest.py:
-
-2009-12-27 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Darin Adler.
-
- check-webkit-style should not mark moc files inclusion as errors
- https://bugs.webkit.org/show_bug.cgi?id=32669
-
- Add a new header type for moc files, and skip them when checking the order of header files.
-
- * Scripts/modules/cpp_style.py:
-
-2009-12-26 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] Make the qt build go fast
- https://bugs.webkit.org/show_bug.cgi?id=32951
-
- Make use of multiple cores, if available.
-
- * Scripts/modules/webkitport.py:
-
-2009-12-25 Daniel Bates <dbates@rim.com>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=32682
-
- Fixes an issue where checkFrameworks always dies with an error under Windows
- since the clause "unless (-x $path)" is always satisfied because files under
- Windows do not have an explict executable bit.
-
- * Scripts/webkitdirs.pm:
-
-2009-12-23 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- bugzilla-tool should accept global options anywhere
- https://bugs.webkit.org/show_bug.cgi?id=26912
-
- * Scripts/bugzilla-tool:
- - Use the new global_options class property.
- - Add a handle_global_options callback to avoid needing callbacks for each global option.
- * Scripts/modules/multicommandtool.py:
- - Make the code use one combined option parser.
- This allows us to accept global options anywhere and
- individual command options before commands.
- - Add a handle_global_options callback to avoid needing callbacks for each global option.
- - Make the Command hold the option parser, but allow the tool to override it.
- - The default option parser is used for help printing and when Commands are run stand alone,
- but are otherwise not used.
- - Add Command.main to codify the idea that Commands should support being run stand-alone.
- - Change _split_args to _split_command_name_from_args now that args are unified.
- * Scripts/modules/multicommandtool_unittest.py:
- - Test that "tool" and "tool help" show the same help.
- - Test that args are accepted before commands
-
-2009-12-20 Chris Jerdonek <chris.jerdonek@gmail.com>
-
- Reviewed by David Levin.
-
- Moved some sections of code in preparation to refactor
- check-webkit-style's argument parser to avoid setting
- global variables.
-
- https://bugs.webkit.org/show_bug.cgi?id=32592
-
- * Scripts/check-webkit-style:
- - Moved _USAGE string to style.py.
- - Addressed FIXME by eliminating dependencies on cpp_style.py.
-
- * Scripts/modules/cpp_style.py:
- - Moved default arguments and style categories to style.py.
- - Moved exit_with_usage(), exit_with_categories(), and
- parse_arguments() to style.py.
- - Removed references in _CppStyleState to the global
- variables now in style.py.
-
- * Scripts/modules/cpp_style_unittest.py:
- - Moved parse_arguments() unit tests to style_unittest.py.
-
- * Scripts/modules/style.py:
- - Added _USAGE string from check-webkit-style.
- - Added default arguments and style categories from cpp_style.py.
- - Added exit_with_usage(), exit_with_categories(), and
- parse_arguments() from cpp_sstyle.py.
-
- * Scripts/modules/style_unittest.py: Added.
- - Added parse_arguments() unit tests from cpp_style_unittest.py.
-
- * Scripts/run-webkit-unittests:
- - Added unit tests from style_unittest.py.
-
-2009-12-23 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- commit-queue should mention bug 30084 when rejecting patches until it can be fixed
- https://bugs.webkit.org/show_bug.cgi?id=32911
-
- * Scripts/modules/bugzilla.py: Make the message even more fancy.
- * Scripts/modules/bugzilla_unittest.py: Test our new fancy message.
-
-2009-12-23 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Not reviewed, adding myself to the reviewers list.
-
- * Scripts/modules/committers.py:
-
-2009-12-23 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] Create a prepare-diff command that creates a bug and a ChangeLog
- https://bugs.webkit.org/show_bug.cgi?id=32895
-
- The workflow Maciej and I discussed is as follows:
-
- 1) Write code.
- 2) bugzilla-tool prepare-diff
- 3) Edit ChangeLogs
- 4) bugzilla-tool post-diff
-
- We might want to experimenting with combining 2-4 into a single
- command, but that might be stressful to edit the ChangeLogs modally.
-
- Removed submit-patch since it has the modal ChangeLog editing but none
- oof the bug creating fun.
-
- * Scripts/modules/bugzilla.py:
- * Scripts/modules/buildsteps.py:
- * Scripts/modules/commands/upload.py:
- * Scripts/modules/commands/upload_unittest.py:
-
-2009-12-23 Gabor Loki <loki@webkit.org>
-
- Unreviewed; added myself to the committers list.
-
- * Scripts/modules/committers.py:
-
-2009-12-22 Adam Barth <abarth@webkit.org>
-
- Reviewed by Maciej Stachowiak.
-
- [bzt] Don't call create-patch twice during post-diff
- https://bugs.webkit.org/show_bug.cgi?id=32893
-
- If we call create-patch to get the bug number, cache the diff in the
- state so we don't need to call it again.
-
- * Scripts/modules/buildsteps.py:
- * Scripts/modules/commands/upload.py:
-
-2009-12-22 Daniel Bates <dbates@rim.com>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=32680
-
- Fixes an issue in builtDylibPathForName so that it returns the correct
- path to the built QtWebKit library on the Qt Windows port. Currently,
- it returns the path to the file named QtWebKit.dll but this file does
- not exist on the Qt Windows build. Instead, the file is named
- QtWebKit4.dll.
-
- * Scripts/webkitdirs.pm:
-
-2009-12-22 Marc-Antoine Ruel <maruel@chromium.org>
-
- Reviewed by Adam Roben.
-
- Remove the only dependency on perl-libwin32 in cygwin
-
- * Scripts/num-cpus:
-
-2009-12-22 Darin Adler <darin@apple.com>
-
- * pywebsocket/mod_pywebsocket: Added property svn:ignore to ignore
- generated ".pyc" files.
-
-2009-12-22 Darin Adler <darin@apple.com>
-
- Reviewed by Mark Rowe.
-
- Turn off datagrid by default, at least for all platforms Apple ships.
- The datagrid implementation isn't ready for general web use yet.
-
- * Scripts/build-webkit: Turn off datagrid by default.
-
-2009-12-22 Eric Seidel <eric@webkit.org>
-
- Reviewed by Darin Adler.
-
- validate-committer-lists fails when run from an SVN checkout
- https://bugs.webkit.org/show_bug.cgi?id=31974
-
- * Scripts/validate-committer-lists:
- - Make it print a warning message instead of throwing
- an exception when running from an SVN checkout.
-
-2009-12-22 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Adam Barth.
-
- check-webkit-style should not warn about NULL usage in g_object_{get,set}
- https://bugs.webkit.org/show_bug.cgi?id=32858
-
- * Scripts/modules/cpp_style.py:
- * Scripts/modules/cpp_style_unittest.py:
-
-2009-12-22 Simon Hausmann <simon.hausmann@nokia.com>
-
- Rubber-stamped by Holger Freyther.
-
- Moved QtLauncher from WebKit/qt.
-
- * QtLauncher: Copied from WebKit/qt/QtLauncher.
- * QtLauncher/QtLauncher.pro:
-
-2009-12-21 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] Automate the process of calling prepare-ChangeLog
- https://bugs.webkit.org/show_bug.cgi?id=32816
-
- This patch automates the process of creating a bug and patch and
- uploading it to bugzilla. The first cut just calls
- prepare-ChangeLog.
-
- This patch required some refactoring of upload.py to the Step
- model, but that's worth doing anyway.
-
- * Scripts/bugzilla-tool:
- * Scripts/modules/buildsteps.py:
- * Scripts/modules/commands/download.py:
- * Scripts/modules/commands/upload.py:
- * Scripts/modules/commands/upload_unittest.py:
- * Scripts/modules/mock_bugzillatool.py:
-
-2009-12-21 Darin Adler <darin@apple.com>
-
- * Scripts/do-webcore-rename: Did a rename, so checking in the
- version of the script I used.
-
-2009-12-21 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Update status-bubble to show all the queues
- https://bugs.webkit.org/show_bug.cgi?id=32838
-
- Also, move statusbubble over to use memcache.
-
- * QueueStatusServer/handlers/statusbubble.py:
- * QueueStatusServer/templates/statusbubble.html:
-
-2009-12-21 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Delete the boring "Empty queue" status messages in QueueStatusServer
- https://bugs.webkit.org/show_bug.cgi?id=32818
-
- * QueueStatusServer/app.yaml:
- * QueueStatusServer/cron.yaml:
- * QueueStatusServer/handlers/gc.py:
- * QueueStatusServer/main.py:
-
-2009-12-21 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Exception on queue status server
- https://bugs.webkit.org/show_bug.cgi?id=32812
-
- Turns out we need to pass the id to the filter.
-
- * QueueStatusServer/filters/webkit_extras.py:
- * QueueStatusServer/templates/patch.html:
- * QueueStatusServer/templates/recentstatus.html:
-
-2009-12-20 Chris Jerdonek <chris.jerdonek@gmail.com>
-
- Reviewed by Eric Seidel.
-
- Created "style" folder for code supporting check-webkit-style.
-
- * Scripts/modules/style: Added.
-
-2009-12-20 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- REGRESSION: error when running commit-queue
- https://bugs.webkit.org/show_bug.cgi?id=32806
-
- Fix typo and add test!
-
- * Scripts/modules/bugzilla.py:
- * Scripts/modules/bugzilla_unittest.py:
-
-2009-12-20 Adam Barth <abarth@webkit.org>
-
- [bzt] Optimize status updates for new dashboard
- https://bugs.webkit.org/show_bug.cgi?id=32797
-
- This patch makes the queues slightly more chatty with the web service.
- Also, this patch introduces some testing for the queues!
-
- * Scripts/modules/commands/early_warning_system.py:
- * Scripts/modules/commands/early_warning_system_unittest.py: Added.
- * Scripts/modules/commands/queues.py:
- * Scripts/modules/commands/queues_unittest.py:
- * Scripts/modules/commands/queuestest.py: Added.
- * Scripts/modules/mock_bugzillatool.py:
- * Scripts/modules/patchcollection.py:
- * Scripts/modules/queueengine.py:
- * Scripts/run-webkit-unittests:
-
-2009-12-20 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Prepare QueueStatusServer for new status messages
- https://bugs.webkit.org/show_bug.cgi?id=32805
-
- * QueueStatusServer/handlers/recentstatus.py:
- * QueueStatusServer/index.html: Removed.
- * QueueStatusServer/model/attachment.py:
- * QueueStatusServer/model/queues.py: Added.
- * QueueStatusServer/templates/recentstatus.html: Added.
-
-2009-12-20 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Adam Barth.
-
- [check-webkit-style] static_cast is not misnamed!
- https://bugs.webkit.org/show_bug.cgi?id=32796
-
- * Scripts/modules/cpp_style.py:
- * Scripts/modules/cpp_style_unittest.py:
-
-2009-12-20 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GTK] Failing test platform/gtk/editing/pasteboard/middle-button-paste.html
- https://bugs.webkit.org/show_bug.cgi?id=32788
-
- Do not increase the click count if we are using a different button.
-
- * DumpRenderTree/gtk/EventSender.cpp:
-
-2009-12-20 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [QueueStatusServer] Add a per-patch details page
- https://bugs.webkit.org/show_bug.cgi?id=32784
-
- This is a first cut at a per-patch details page. I'm sure we'll have
- to iterate.
-
- * QueueStatusServer/filters/webkit_extras.py:
- * QueueStatusServer/handlers/patch.py: Added.
- * QueueStatusServer/index.yaml:
- * QueueStatusServer/main.py:
- * QueueStatusServer/model/attachment.py:
- * QueueStatusServer/stylesheets/dashboard.css:
- * QueueStatusServer/templates/dashboard.html:
- * QueueStatusServer/templates/patch.html: Added.
-
-2009-12-20 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Use memcache to make dashboard to fast
- https://bugs.webkit.org/show_bug.cgi?id=32780
-
- * QueueStatusServer/app.yaml:
- * QueueStatusServer/handlers/dashboard.py:
- * QueueStatusServer/handlers/updatestatus.py:
- * QueueStatusServer/model/attachment.py: Added.
-
-2009-12-19 Brent Fulgham <bfulgham@webkit.org>
-
- Reviewed by Adam Roben.
-
- Provide an example implementation for printing under Windows.
- http://bugs.webkit.org/show_bug.cgi?id=32504.`
-
- * WinLauncher/PrintWebUIDelegate.cpp: Added.
- (PrintWebUIDelegate::QueryInterface):
- (PrintWebUIDelegate::AddRef):
- (PrintWebUIDelegate::Release):
- (PrintWebUIDelegate::webViewPrintingMarginRect):
- * WinLauncher/PrintWebUIDelegate.h: Added.
- (PrintWebUIDelegate::PrintWebUIDelegate):
- (PrintWebUIDelegate::createWebViewWithRequest):
- (PrintWebUIDelegate::webViewShow):
- (PrintWebUIDelegate::webViewClose):
- (PrintWebUIDelegate::webViewFocus):
- (PrintWebUIDelegate::webViewUnfocus):
- (PrintWebUIDelegate::webViewFirstResponder):
- (PrintWebUIDelegate::makeFirstResponder):
- (PrintWebUIDelegate::setStatusText):
- (PrintWebUIDelegate::webViewStatusText):
- (PrintWebUIDelegate::webViewAreToolbarsVisible):
- (PrintWebUIDelegate::setToolbarsVisible):
- (PrintWebUIDelegate::webViewIsStatusBarVisible):
- (PrintWebUIDelegate::setStatusBarVisible):
- (PrintWebUIDelegate::webViewIsResizable):
- (PrintWebUIDelegate::setResizable):
- (PrintWebUIDelegate::setFrame):
- (PrintWebUIDelegate::webViewFrame):
- (PrintWebUIDelegate::setContentRect):
- (PrintWebUIDelegate::webViewContentRect):
- (PrintWebUIDelegate::runJavaScriptAlertPanelWithMessage):
- (PrintWebUIDelegate::runJavaScriptConfirmPanelWithMessage):
- (PrintWebUIDelegate::runJavaScriptTextInputPanelWithPrompt):
- (PrintWebUIDelegate::runBeforeUnloadConfirmPanelWithMessage):
- (PrintWebUIDelegate::runOpenPanelForFileButtonWithResultListener):
- (PrintWebUIDelegate::mouseDidMoveOverElement):
- (PrintWebUIDelegate::contextMenuItemsForElement):
- (PrintWebUIDelegate::validateUserInterfaceItem):
- (PrintWebUIDelegate::shouldPerformAction):
- (PrintWebUIDelegate::dragDestinationActionMaskForDraggingInfo):
- (PrintWebUIDelegate::willPerformDragDestinationAction):
- (PrintWebUIDelegate::dragSourceActionMaskForPoint):
- (PrintWebUIDelegate::willPerformDragSourceAction):
- (PrintWebUIDelegate::contextMenuItemSelected):
- (PrintWebUIDelegate::hasCustomMenuImplementation):
- (PrintWebUIDelegate::trackCustomPopupMenu):
- (PrintWebUIDelegate::measureCustomMenuItem):
- (PrintWebUIDelegate::drawCustomMenuItem):
- (PrintWebUIDelegate::addCustomMenuDrawingData):
- (PrintWebUIDelegate::cleanUpCustomMenuDrawingData):
- (PrintWebUIDelegate::canTakeFocus):
- (PrintWebUIDelegate::takeFocus):
- (PrintWebUIDelegate::registerUndoWithTarget):
- (PrintWebUIDelegate::removeAllActionsWithTarget):
- (PrintWebUIDelegate::setActionTitle):
- (PrintWebUIDelegate::undo):
- (PrintWebUIDelegate::redo):
- (PrintWebUIDelegate::canUndo):
- (PrintWebUIDelegate::canRedo):
- (PrintWebUIDelegate::printFrame):
- (PrintWebUIDelegate::ftpDirectoryTemplatePath):
- (PrintWebUIDelegate::webViewHeaderHeight):
- (PrintWebUIDelegate::webViewFooterHeight):
- (PrintWebUIDelegate::drawHeaderInRect):
- (PrintWebUIDelegate::drawFooterInRect):
- (PrintWebUIDelegate::canRunModal):
- (PrintWebUIDelegate::createModalDialog):
- (PrintWebUIDelegate::runModal):
- (PrintWebUIDelegate::isMenuBarVisible):
- (PrintWebUIDelegate::setMenuBarVisible):
- (PrintWebUIDelegate::runDatabaseSizeLimitPrompt):
- (PrintWebUIDelegate::paintCustomScrollbar):
- (PrintWebUIDelegate::paintCustomScrollCorner):
- * WinLauncher/WinLauncher.cpp: Add new UI delegate for print support.
- (WinLauncherWebHost::updateAddressBar): check-webkit-style fixes.
- (WinLauncherWebHost::QueryInterface): check-webkit-style fixes.
- (WinLauncherWebHost::AddRef): check-webkit-style fixes.
- (WinLauncherWebHost::Release): check-webkit-style fixes.
- (resizeSubViews): check-webkit-style fixes.
- (_tWinMain): check-webkit-style fixes.
- (MyRegisterClass): check-webkit-style fixes.
- (InitInstance): check-webkit-style fixes.
- (AbortProc): New print support function.
- (getPrinterDC): New print support function.
- (initDocStruct): New print support function.
- (PrintView): New printing implementation.
- (WndProc): Add support for printing.
- (MyEditProc): check-webkit-style fixes.
- (About): check-webkit-style fixes.
- (loadURL): check-webkit-style fixes.
- * WinLauncher/WinLauncher.h:
- (WinLauncherWebHost::WinLauncherWebHost):
- (WinLauncherWebHost::didStartProvisionalLoadForFrame):
- (WinLauncherWebHost::didReceiveServerRedirectForProvisionalLoadForFrame):
- (WinLauncherWebHost::didFailProvisionalLoadWithError):
- (WinLauncherWebHost::didCommitLoadForFrame):
- (WinLauncherWebHost::didReceiveTitle):
- (WinLauncherWebHost::didReceiveIcon):
- (WinLauncherWebHost::didFinishLoadForFrame):
- (WinLauncherWebHost::didFailLoadWithError):
- (WinLauncherWebHost::didChangeLocationWithinPageForFrame):
- (WinLauncherWebHost::willPerformClientRedirectToURL):
- (WinLauncherWebHost::didCancelClientRedirectForFrame):
- (WinLauncherWebHost::willCloseFrame):
- (WinLauncherWebHost::windowScriptObjectAvailable):
- * WinLauncher/WinLauncher.rc: Add menu entry for printing.
- * WinLauncher/WinLauncher.vcproj: Add new files.
- * WinLauncher/resource.h: Add menu entry for printing.
-
-2009-12-19 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Tweak the CSS to make the dashboard prettier.
-
- * QueueStatusServer/stylesheets/dashboard.css:
- * QueueStatusServer/templates/dashboard.html:
-
-2009-12-19 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- QueueStatusServer needs a human readable dashboard
- https://bugs.webkit.org/show_bug.cgi?id=32769
-
- Here is a first cut at the dashboard. There's a lot left to do.
-
- * QueueStatusServer/filters/webkit_extras.py:
- * QueueStatusServer/handlers/dashboard.py: Added.
- * QueueStatusServer/handlers/patchstatus.py:
- * QueueStatusServer/handlers/recentstatus.py:
- * QueueStatusServer/handlers/showresults.py:
- * QueueStatusServer/handlers/statusbubble.py:
- * QueueStatusServer/handlers/updatestatus.py:
- * QueueStatusServer/main.py:
- * QueueStatusServer/model/__init__.py: Copied from WebKitTools/QueueStatusServer/filters/__init__.py.
- * QueueStatusServer/model/queuestatus.py: Renamed from WebKitTools/QueueStatusServer/model.py.
- * QueueStatusServer/stylesheets/dashboard.css: Added.
- * QueueStatusServer/templates/dashboard.html: Added.
- * QueueStatusServer/templates/statusbubble.html: Renamed from WebKitTools/QueueStatusServer/status_bubble.html.
- * QueueStatusServer/templates/updatestatus.html: Renamed from WebKitTools/QueueStatusServer/update_status.html.
-
-2009-12-19 Daniel Bates <dbates@webkit.org>
-
- Reviewed by Timothy Hatcher.
-
- https://bugs.webkit.org/show_bug.cgi?id=32462
-
- Added --inspector-frontend flag to build-webkit to copy any changes
- to the inspector front-end files to the built WebCore framework. This
- will make inspector development more consistent with the rest of
- WebKit development.
-
- * Scripts/build-webkit:
- * Scripts/webkitdirs.pm:
-
-2009-12-19 Adam Barth <abarth@webkit.org>
-
- Unreviewed fixes for me being terrible at python.
-
- * Scripts/modules/bugzilla.py:
- * Scripts/run-webkit-unittests:
-
-2009-12-18 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Split QueueStatus server into modules
- https://bugs.webkit.org/show_bug.cgi?id=32768
-
- One monolithic file is no good.
-
- * QueueStatusServer/app.yaml:
- * QueueStatusServer/handlers/__init__.py: Copied from WebKitTools/QueueStatusServer/filters/__init__.py.
- * QueueStatusServer/handlers/patchstatus.py: Added.
- * QueueStatusServer/handlers/recentstatus.py: Added.
- * QueueStatusServer/handlers/showresults.py: Added.
- * QueueStatusServer/handlers/statusbubble.py: Added.
- * QueueStatusServer/handlers/updatestatus.py: Added.
- * QueueStatusServer/main.py: Added.
- * QueueStatusServer/model.py: Added.
- * QueueStatusServer/queue_status.py: Removed.
-
-2009-12-18 Adam Barth <abarth@webkit.org>
-
- Rubber stamped by Eric Seidel.
-
- Renamed WorkQueue to QueueEngine. WorkQueue is not a queue.
-
- * Scripts/modules/commands/queues.py:
- * Scripts/modules/queueengine.py: Added.
- * Scripts/modules/queueengine_unittest.py: Added.
- * Scripts/modules/stepsequence.py:
- * Scripts/modules/workqueue.py: Removed.
- * Scripts/modules/workqueue_unittest.py: Removed.
-
-2009-12-18 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Add watches for EWS
- https://bugs.webkit.org/show_bug.cgi?id=32767
-
- dglazkov wanted to be added.
-
- * Scripts/modules/bugzilla.py:
- * Scripts/modules/commands/early_warning_system.py:
- * Scripts/modules/commands/queues.py:
-
-2009-12-18 Eric Seidel <eric@webkit.org>
-
- Reviewed by David Levin.
-
- move bugzilla.py off of urllib2
- https://bugs.webkit.org/show_bug.cgi?id=32729
-
- * Scripts/modules/bugzilla.py: use mechanize for all url fetching.
-
-2009-12-18 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Rubber-stamped by Xan Lopez.
-
- [GTK] New events (pageshow and pagehide) tests failing
- https://bugs.webkit.org/show_bug.cgi?id=28823
-
- Original patch by Jan Michael Alonzo.
-
- Disable page cache for tests.
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (resetDefaultsToConsistentValues):
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (copyWebSettingKey):
- (LayoutTestController::overridePreference):
-
-2009-12-18 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by David Levin.
-
- Check one space before end of line comments.
- https://bugs.webkit.org/show_bug.cgi?id=32597
-
- Fix to check one space before end of line comments in whitespace and build/header_guard.
- Also fix build/header_guard to use WebKit header guard defines.
-
- * Scripts/modules/cpp_style.py:
- * Scripts/modules/cpp_style_unittest.py:
-
-2009-12-17 Sam Weinig <sam@webkit.org>
-
- Reviewed by Mark Rowe.
-
- Add BUILDING_ON_SNOW_LEOPARD #define.
-
- * DumpRenderTree/mac/DumpRenderTreeMac.h:
-
-2009-12-17 Yuzo Fujishima <yuzo@google.com>
-
- Reviewed by Alexey Proskuryakov.
-
- Update pywebsocket to 0.4.5 and make handshake checking stricter
- https://bugs.webkit.org/show_bug.cgi?id=32249
-
- * Scripts/run-webkit-tests:
- * pywebsocket/mod_pywebsocket/handshake.py:
- * pywebsocket/mod_pywebsocket/memorizingfile.py: Added.
- * pywebsocket/mod_pywebsocket/standalone.py:
- * pywebsocket/setup.py:
- * pywebsocket/test/test_handshake.py:
- * pywebsocket/test/test_memorizingfile.py: Added.
-
-2009-12-17 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Command.show_in_main_help should default to False
- https://bugs.webkit.org/show_bug.cgi?id=32686
-
- * Scripts/modules/commands/download.py:
- * Scripts/modules/commands/queries.py:
- * Scripts/modules/commands/queues.py:
- * Scripts/modules/commands/upload.py:
- * Scripts/modules/multicommandtool.py:
-
-2009-12-17 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Eric Seidel.
-
- Added the key WebKitEnableCaretBrowsing to the
- layoutTestController.overridePreference in order to activate caret
- browsing.
- https://bugs.webkit.org/show_bug.cgi?id=32612
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp: Added the reset value of
- the setting.
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: Inserted the new
- key in the keytable.
-
-2009-12-17 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by David Kilzer.
-
- AX: DRT needs to support URL for accessibility
- https://bugs.webkit.org/show_bug.cgi?id=32666
-
- * DumpRenderTree/AccessibilityUIElement.cpp:
- (getURLCallback):
- (AccessibilityUIElement::getJSClass):
- * DumpRenderTree/AccessibilityUIElement.h:
- * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
- (AccessibilityUIElement::url):
- * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
- (AccessibilityUIElement::url):
- * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
- (AccessibilityUIElement::url):
-
-2009-12-17 Philippe Normand <pnormand@igalia.com>
-
- Unreviewed; added myself to committers
-
- * Scripts/modules/committers.py:
-
-2009-12-17 Benjamin Otte <otte@gnome.org>
-
- Unreviewed; added myself to committers
-
- * Scripts/modules/committers.py:
-
-2009-12-17 Adam Barth <abarth@webkit.org>
-
- Rubber stamp by Seidel.
-
- Clean up exception handling in WorkQueue. Basically, a bunch of the
- delegate messages can throw exceptions because of network errors. We
- want the queues to keep on ticking instead of erroring out. That means
- we want to catch generic exceptions and continue looping.
-
- Also, cleaned up the exception handling in the EWS to properly log
- failures.
-
- * Scripts/modules/commands/early_warning_system.py:
- * Scripts/modules/commands/queues.py:
- * Scripts/modules/workqueue.py:
-
-2009-12-16 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] Make UpdateStep quiet
- https://bugs.webkit.org/show_bug.cgi?id=32599
-
- * Scripts/modules/buildsteps.py:
- * Scripts/modules/buildsteps_unittest.py:
-
-2009-12-16 Evan Martin <evan@chromium.org>
-
- Reviewed by Adam Barth.
-
- Add Gtk to the early warning system WebKit port list.
-
- https://bugs.webkit.org/show_bug.cgi?id=32629
-
- * Scripts/modules/commands/early_warning_system.py:
- * Scripts/modules/webkitport.py:
- * Scripts/modules/webkitport_unittest.py:
-
-2009-12-16 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- post-diff is failing with exception under guess_reviewer_from_bug
- https://bugs.webkit.org/show_bug.cgi?id=32642
-
- Also refactor output capturing code into
- OutputCapture.assert_outputs to share more code between tests.
-
- * Scripts/modules/buildsteps.py:
- - Add the missing include.
- - Give guess_reviewer_from_bug a private underscore.
- * Scripts/modules/buildsteps_unittest.py: Added.
- - Test to make sure _guess_reviewer_from_bug works as expected.
- * Scripts/modules/commands/commandtest.py:
- - Custom code is now obsoleted by OutputCapture.assert_outputs
- * Scripts/modules/commands/queues_unittest.py:
- - ditto
- * Scripts/modules/credentials_unittest.py:
- - ditto
- * Scripts/modules/mock_bugzillatool.py:
- - fetch_reviewed_patches_from_bug can never return None
- * Scripts/modules/multicommandtool_unittest.py:
- - Custom code is now obsoleted by OutputCapture.assert_outputs
- * Scripts/modules/outputcapture.py:
- - Add assert_outputs to share more code between tests.
- * Scripts/run-webkit-unittests:
- - Add buildsteps_unittest.py
-
-2009-12-16 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Added a default argument to _update_status so that callers
- don't have to explictly pass None when they don't have a patch object.
-
- * Scripts/modules/commands/queues.py:
-
-2009-12-16 Kent Tamura <tkent@chromium.org>
-
- Reviewed by David Levin.
-
- check-webkit-style supports for TAB check against text files.
- https://bugs.webkit.org/show_bug.cgi?id=32538
-
- * Scripts/check-webkit-style:
- Move process_patch() to style.py.
- * Scripts/modules/cpp_style.py:
- Add can_handle().
- * Scripts/modules/cpp_style_unittest.py:
- Add tests for can_handle().
- * Scripts/modules/style.py:
- Added. This is a front-end of cpp_style and text_style. It dispatches
- files to an appropriate linter.
- * Scripts/modules/text_style.py:
- Added. This is a linter module for generic text files. It supports
- only for TAB checking at this moment.
- * Scripts/modules/text_style_unittest.py:
- Added. Tests for text_style.py.
- * Scripts/run-webkit-unittests:
- Add text_style_unittest.
-
-2009-12-16 Eric Seidel <eric@webkit.org>
-
- Reviewed by David Levin.
-
- bugzilla-tool should not require users to install mechanize
- https://bugs.webkit.org/show_bug.cgi?id=32635
-
- Centralize our import logic.
-
- * Scripts/modules/bugzilla.py: use webkit_mechanize
- * Scripts/modules/statusbot.py: use webkit_mechanize
- * Scripts/modules/webkit_mechanize.py: Added.
-
-2009-12-16 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Generalize commit-queue recent status page for all queues
- https://bugs.webkit.org/show_bug.cgi?id=32633
-
- * QueueStatusServer/index.html:
- - Generalize to support other queues.
- * QueueStatusServer/queue_status.py:
- - Generalize MainPage to support other queues.
-
-2009-12-16 Evan Martin <evan@chromium.org>
-
- Reviewed by Adam Barth.
-
- Early warning system server should display output as UTF-8.
-
- https://bugs.webkit.org/show_bug.cgi?id=32625
-
- * QueueStatusServer/queue_status.py:
-
-2009-12-16 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] Add error handling to the early warning system
- https://bugs.webkit.org/show_bug.cgi?id=32594
-
- This should be the last step in making the EWS operational. When we
- have a build error, we post the log to QueueStatusServer and add a link
- to the bug.
-
- * Scripts/modules/commands/early_warning_system.py:
- * Scripts/modules/commands/queues.py:
- * Scripts/modules/executive.py:
-
-2009-12-16 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Holger Freyther.
-
- Fix crash with tests that use custom font faces.
-
- https://bugs.webkit.org/show_bug.cgi?id=32600
-
- In the DRT we call QApplication::removeAllApplicationFonts(), to make sure
- that custom font faces between tests don't influence each other. Calling this
- function in Qt however also invalidates all existing handles with QFontDatabase.
-
- In order to make sure that WebCore also drops these handles we call QWebSettings::clearMemoryCaches(),
- which implies a call to WebCore::FontCache::fontCache()->invalidate().
-
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
- (WebCore::DumpRenderTree::open):
-
-2009-12-16 Andreas Kling <andreas.kling@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Maintain button state between mouse events.
-
- This allows eventSender to generate drag events.
-
- https://bugs.webkit.org/show_bug.cgi?id=32601
-
- * DumpRenderTree/qt/EventSenderQt.cpp:
- (EventSender::mouseDown):
- (EventSender::mouseUp):
- (EventSender::mouseMoveTo):
- * DumpRenderTree/qt/EventSenderQt.h:
-
-2009-12-15 Chris Jerdonek <chris.jerdonek@gmail.com>
-
- Reviewed by David Levin.
-
- Code clean-up in check-webkit-style as described below.
- The only functional changes are minor improvements to the
- script's help output.
-
- https://bugs.webkit.org/show_bug.cgi?id=32487
-
- * Scripts/check-webkit-style:
- - Added the module docstring from cpp_style.py.
- - Improved wording of the --help output and added some of the
- default values as substitution strings.
- - Called cpp_style.exit_with_usage instead of sys.stderr.write
- in main function.
- - Made changes caused by changes to cpp_style.py.
-
- * Scripts/modules/cpp_style.py:
- - Removed module docstring, as well as redundant _USAGE string
- and main() function obsoleted by check-webkit-style.
- - Moved specification of default script values from within a
- function definition to global variables.
- - Moved the default webkit filter rules to be near the other
- global variables.
- - Renamed "FILTER" global variables to "FILTER_RULES" to
- establish unambiguous terminology.
- - Renamed _ERROR_CATEGORIES to _STYLE_CATEGORIES.
- - Changed _STYLE_CATEGORIES from a string to a list.
- - Added default webkit filter rules to --filter= output.
- - Renamed "print_" methods to "exit_with_" since they exist
- and added a temporary display_help parameter.
- - Added a temporary display_help parameter to parse_arguments.
-
- * Scripts/modules/cpp_style_unittest.py:
- - Made changes caused by changes to cpp_style.py.
- - Lower-cased ErrorCollector's ERROR_CATEGORIES instance
- variables since they are not global.
-
-2009-12-15 Adam Barth <abarth@webkit.org>
-
- Unreviewed fix for the style-queue.
- Typo: _updates_status -> _update_status
-
- We need to improve our testing infrastructure for the queues.
-
- * Scripts/modules/commands/queues.py:
-
-2009-12-15 Adam Barth <abarth@webkit.org>
-
- Unreviewed fix for the style-queue. I suspect this is a recent
- regression from Eric's change below.
-
- * Scripts/modules/commands/queues.py:
-
-2009-12-15 Yaar Schnitman <yaar@chromium.org>
-
- Reviewed by Darin Fisher.
-
- update-webkit-chromium to auto-install gclient
-
- https://bugs.webkit.org/show_bug.cgi?id=32587
-
- * Scripts/update-webkit-chromium:
-
-2009-12-15 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- bugzilla-tool / commit-queue should add results links to bugs when more results are available on the status bot
- https://bugs.webkit.org/show_bug.cgi?id=32546
-
- You can see an example of this working in:
- https://bugs.webkit.org/show_bug.cgi?id=32585#c3
-
- * QueueStatusServer/queue_status.py:
- - Output the id of the newly created status.
- * Scripts/modules/commands/queues.py:
- - Tweak the commit-queue logging to include a full status link.
- * Scripts/modules/statusbot.py:
- - update_status should return the newly created status id.
-
-2009-12-15 Andras Becsi <abecsi@inf.u-szeged.hu>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Rename Qt DRT components to match other ports' naming convention and to be more understandable.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp: Removed.
- * DumpRenderTree/qt/DumpRenderTree.h: Removed.
- * DumpRenderTree/qt/DumpRenderTree.pro: Updated.
- * DumpRenderTree/qt/DumpRenderTreeQt.cpp: Copied from WebKitTools/DumpRenderTree/qt/DumpRenderTree.cpp.
- * DumpRenderTree/qt/DumpRenderTreeQt.h: Copied from WebKitTools/DumpRenderTree/qt/DumpRenderTree.h.
- * DumpRenderTree/qt/GCControllerQt.cpp: Copied from WebKitTools/DumpRenderTree/qt/jsobjects.cpp.
- (GCController::GCController):
- * DumpRenderTree/qt/GCControllerQt.h: Copied from WebKitTools/DumpRenderTree/qt/jsobjects.h.
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- * DumpRenderTree/qt/WorkQueueItem.h: Removed.
- * DumpRenderTree/qt/WorkQueueItemQt.cpp: Updated includes.
- * DumpRenderTree/qt/WorkQueueItemQt.h: Copied from WebKitTools/DumpRenderTree/qt/WorkQueueItem.h.
- * DumpRenderTree/qt/jsobjects.cpp: Removed.
- * DumpRenderTree/qt/jsobjects.h: Removed.
- * DumpRenderTree/qt/main.cpp: Updated includes.
-
-2009-12-15 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- We have two mark-fixed commands
- https://bugs.webkit.org/show_bug.cgi?id=32073
-
- * Scripts/mark-bug-fixed: Removed.
- * Scripts/modules/commands/upload.py:
- * Scripts/modules/commands/upload_unittest.py:
-
-2009-12-15 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- bugzilla-tool/commit-queue needs to upload failure logs when patches are rejected
- https://bugs.webkit.org/show_bug.cgi?id=28286
-
- * QueueStatusServer/index.html:
- - Show [results] links if a results log was uploaded.
- * QueueStatusServer/queue_status.py:
- - Empty file uploads appear as u"" and Blob does not handle unicode, so convert to str().
- * Scripts/modules/commands/queues.py:
- - Post to the status bot when a patch fails and include the failure log as a results file.
-
-2009-12-15 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- queue sub-commands need --status-host so they can report status
- https://bugs.webkit.org/show_bug.cgi?id=32313
-
- Make --status-bot a global option and make
- run_bugzilla_tool pass --status-bot to sub-commands.
-
- * Scripts/bugzilla-tool:
- - Rename _status to status_bot and make it non-lazy.
- * Scripts/modules/commands/queues.py:
- - Move status updates out of WorkQueue and into individual queues.
- * Scripts/modules/commands/queues_unittest.py:
- - Test that --status-host is passed to bugzilla-tool when run as subcommand.
- * Scripts/modules/mock_bugzillatool.py:
- - Add a MockStatusBot
- * Scripts/modules/workqueue.py:
- - Remove status_host and work_work_logs_directory callbacks.
- - Add new work_item_log_path callback so that WorkQueue doesn't need to know about patches!
- * Scripts/modules/workqueue_unittest.py:
- - Update unit tests to reflect new callbacks.
-
-2009-12-15 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- scm_unittest.py is too slow
- https://bugs.webkit.org/show_bug.cgi?id=31818
-
- Now we don't run the SCM unit tests unless we get the --all flag on the
- command line. Eric and I were commenting out this test because it was
- too painful to run.
-
- * Scripts/run-webkit-unittests:
-
-2009-12-14 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Fix failing unittest.
-
- * Scripts/modules/bugzilla_unittest.py:
-
-2009-12-14 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Move Credential handling out into a separate module
- https://bugs.webkit.org/show_bug.cgi?id=32531
-
- * Scripts/modules/bugzilla.py:
- * Scripts/modules/credentials.py: Added.
- * Scripts/modules/credentials_unittest.py: Added.
- * Scripts/run-webkit-unittests:
-
-2009-12-14 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Kill _create_step_sequence
- https://bugs.webkit.org/show_bug.cgi?id=32539
-
- It's cleaner to represent not having these sequences as an empty
- sequence instead of None.
-
- * Scripts/modules/commands/download.py:
- * Scripts/modules/stepsequence.py:
-
-2009-12-14 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Address reviewer comments from an earlier patch. I didn't
- do this earlier because I was worried about conflicts in dependent
- patches.
-
- * Scripts/modules/commands/download.py:
-
-2009-12-14 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] Make download commands declarative
- https://bugs.webkit.org/show_bug.cgi?id=32469
-
- This patch "properly" factors most of the download commands. These
- commands are now largely declarative, which is the final step of this
- grand refactoring.
-
- * Scripts/modules/buildsteps.py:
- * Scripts/modules/commands/download.py:
-
-2009-12-14 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] Add AbstractPatchSequencingCommand to remove redundant code
- https://bugs.webkit.org/show_bug.cgi?id=32468
-
- Redundant code is bad. This patch moves us towards more declarative
- commands.
-
- * Scripts/modules/commands/download.py:
-
-2009-12-14 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] Kill WebKitApplyingScripts
- https://bugs.webkit.org/show_bug.cgi?id=32467
-
- Ah! I've been wanting to do this for a long time. This patch brings
- the applying commands into the patch processing fold.
-
- * Scripts/bugzilla-tool:
- * Scripts/modules/buildsteps.py:
- * Scripts/modules/commands/download.py:
- * Scripts/modules/commands/download_unittest.py:
- * Scripts/modules/mock_bugzillatool.py:
-
-2009-12-14 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] Convert rollout to StepSequence
- https://bugs.webkit.org/show_bug.cgi?id=32406
-
- * Scripts/modules/buildsteps.py:
- * Scripts/modules/commands/download.py:
- * Scripts/modules/commands/download_unittest.py:
- * Scripts/modules/mock_bugzillatool.py:
-
-2009-12-14 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] Kill LandingSequence
- https://bugs.webkit.org/show_bug.cgi?id=32464
-
- Removes LandingSequence in favor of StepSequence. This required
- changing the Step API slightly to carry a general notion of state
- instead of carrying patches specifically.
-
- * Scripts/modules/buildsteps.py:
- * Scripts/modules/commands/download.py:
- * Scripts/modules/commands/queues.py:
- * Scripts/modules/landingsequence.py: Removed.
- * Scripts/modules/stepsequence.py:
-
-2009-12-14 Robert Hogan <robert@roberthogan.net>
-
- Reviewed by Eric Seidel.
-
- [Qt] Fix https://bugs.webkit.org/show_bug.cgi?id=32437
-
- Amend the behaviour of DRT::notifyDone to dump only when
- the page has finished loading.
-
- This fix permits removal of the following tests from the Qt skipped list:
- fast/forms/textarea-linewrap-dynamic.html
- fast/forms/textarea-setvalue-submit.html
- fast/forms/textarea-hard-linewrap-empty.html
- fast/forms/submit-to-url-fragment.html
- http/tests/misc/percent-sign-in-form-field-name.html
- http/tests/security/escape-form-data-field-names.html
-
- However it also requires the following two to be added to the skipped list:
-
- http/tests/xmlhttprequest/access-control-basic-denied-preflight-cache.html
- svg/custom/use-instanceRoot-as-event-target.xhtml
-
- It appears the behaviour of notifyDone was masking problems with these two
- tests.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::DumpRenderTree::DumpRenderTree):
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::reset):
- (LayoutTestController::processWork):
- (LayoutTestController::maybeDump):
- (LayoutTestController::notifyDone):
- (LayoutTestController::provisionalLoad):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
- (LayoutTestController::resetLoadFinished):
-
-2009-12-14 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Holger Freyther.
-
- [Qt] Add support for keyboard modifiers to Qt DRT's EventSender for touch events
-
- https://bugs.webkit.org/show_bug.cgi?id=32482
-
- * DumpRenderTree/qt/EventSenderQt.cpp:
- (EventSender::setTouchModifier):
- (EventSender::clearTouchPoints):
- (EventSender::sendTouchEvent):
- * DumpRenderTree/qt/EventSenderQt.h:
-
-2009-12-13 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Gavin Barraclaugh.
-
- Fix minor problem in sunspider-compare-results which left it broken.
-
- * Scripts/sunspider-compare-results: Declare $parseonly
-
-2009-12-12 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Give command-line sunspider the ability to handle multiple suites and versions
- https://bugs.webkit.org/show_bug.cgi?id=32477
-
- * Scripts/run-sunspider: Updated for changes to command-line parameters.
- * Scripts/sunspider-compare-results: ditto
-
-2009-12-12 Maciej Stachowiak <mjs@apple.com>
-
- Not reviewed, fixing previous comment.
-
- Remove accidental change to sunspider-compare-results
-
- * Scripts/sunspider-compare-results:
-
-2009-12-11 Yael Aharon <yael.aharon@nokia.com>
-
- Unreviewed build fix for Qt versions < 4.6.
- Guard every slot individually with #ifdef.
-
- * DumpRenderTree/qt/EventSenderQt.cpp:
- (EventSender::addTouchPoint):
- (EventSender::updateTouchPoint):
- (EventSender::touchStart):
- (EventSender::touchMove):
- (EventSender::touchEnd):
- (EventSender::clearTouchPoints):
- (EventSender::releaseTouchPoint):
- (EventSender::sendTouchEvent):
- * DumpRenderTree/qt/EventSenderQt.h:
-
-2009-12-11 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- CommandsTest.assert_execute_outputs doesn't check stderr
- https://bugs.webkit.org/show_bug.cgi?id=32352
-
- Fix assert_execute_outputs to check stderr
- and then fix all the unit tests which needed to
- pass stderr output.
-
- * Scripts/modules/commands/commandtest.py:
- * Scripts/modules/commands/download_unittest.py:
- * Scripts/modules/commands/upload_unittest.py:
-
-2009-12-11 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [check-webkit-style] False positive for tst_QWebFrame
- https://bugs.webkit.org/show_bug.cgi?id=32436
-
- Add an exception for function names that start with "tst_". These are
- used by the Qt unit testing framework.
-
- * Scripts/modules/cpp_style.py:
- * Scripts/modules/cpp_style_unittest.py:
-
-2009-12-11 Simon Hausmann <hausmann@webkit.org>, Kim Grönholm <kim.gronholm@nomovok.com>
-
- Reviewed by Antti Koivisto.
-
- Added support for creating synthetic touch events with EventSender
- in Qt's DumpRenderTree.
-
- https://bugs.webkit.org/show_bug.cgi?id=32114
-
- * DumpRenderTree/qt/EventSenderQt.cpp:
- (EventSender::addTouchPoint):
- (EventSender::updateTouchPoint):
- (EventSender::touchStart):
- (EventSender::touchMove):
- (EventSender::touchEnd):
- (EventSender::clearTouchPoints):
- (EventSender::releaseTouchPoint):
- (EventSender::sendTouchEvent):
- * DumpRenderTree/qt/EventSenderQt.h:
-
-2009-12-11 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Darin Adler.
-
- The values of RuntimeArray are not enumerable
- https://bugs.webkit.org/show_bug.cgi?id=29005
-
- * DumpRenderTree/mac/ObjCController.m:
- (+[ObjCController isSelectorExcludedFromWebScript:]):
- (+[ObjCController webScriptNameForSelector:]):
- (-[ObjCController arrayOfString]):
-
-2009-12-10 Eric Seidel <eric@webkit.org>
-
- No review, just updating unit tests to match recent checkins.
-
- * Scripts/modules/mock_bugzillatool.py:
- - Add missing red_core_builders_names method causing exception.
- * Scripts/modules/workqueue_unittest.py:
- - processutils is dead, use executive.py instead.
-
-2009-12-10 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Move run_command onto Executive to make code which uses run_command testable
- https://bugs.webkit.org/show_bug.cgi?id=32396
-
- * Scripts/modules/executive.py:
- - Move run_command and error handlers onto Executive.
- * Scripts/modules/scm.py:
- * Scripts/modules/scm_unittest.py:
-
-2009-12-09 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- bugzilla-tool needs a command to list patches needing cq+
- https://bugs.webkit.org/show_bug.cgi?id=32351
-
- * Scripts/modules/bugzilla.py:
- - Parse attacher_email from attachment xml.
- * Scripts/modules/bugzilla_unittest.py:
- - Test new attacher_email parsing.
- * Scripts/modules/commands/queries.py:
- - Add PatchesToCommitQueue
- * Scripts/modules/commands/queries_unittest.py:
- - Tests for PatchesToCommitQueue
- * Scripts/modules/mock_bugzillatool.py:
- - Add necessary mock methods for running PatchesToCommitQueue
-
-2009-12-10 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Turns out every StepSequence command needs a --quiet
- option.
-
- * Scripts/modules/stepsequence.py:
-
-2009-12-10 Eric Z. Ayers <zundel@google.com>
-
- Reviewed by Pavel Feldman.
-
- Implements displayWebView() to force an invalidation and repaint.
- This fixes a problem running the timeline-paint.html unit test.
-
- https://bugs.webkit.org/show_bug.cgi?id=31729
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (displayWebView):
-
-2009-12-10 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] Convert more commands to StepSequences
- https://bugs.webkit.org/show_bug.cgi?id=32362
-
- We should eventually convert all the commands, but I'm starting with
- the easy ones.
-
- * Scripts/modules/commands/download.py:
-
-2009-12-10 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Jan Alonzo.
-
- [GTK] editing/selection/shrink-selection-after-shift-pagedown.html failing
- https://bugs.webkit.org/show_bug.cgi?id=31103
-
- Give focus to the webviews when we create them, since some tests expect this.
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (main):
-
-2009-12-10 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- bugzilla-tool "builders are red" error should tell you which builders
- https://bugs.webkit.org/show_bug.cgi?id=32211
-
- * Scripts/modules/buildsteps.py:
-
-2009-12-09 Marwan Al Jubeh <marwan.aljubeh@gmail.com>
-
- Reviewed by Adam Roben.
-
- Fixes: https://bugs.webkit.org/show_bug.cgi?id=31228
- Set the WebKitOutputDir, WebKitLibrariesDir and Cygwin environment variables automatically
- in Windows as part of running update_webkit.
-
- * Scripts/update-webkit:
- - Run setupAppleWinEnv() on Apple's Windows port.
- * Scripts/webkitdirs.pm:
- - Added functions that return the source directory, libraries directory and default build directory on Windows.
- - Added isWindowsNT() which tests if the current Windows version is from the Windows NT family.
- - Implemented setupAppleWinEnv() which sets the environment variables WebKitOutputDir, WebKitLibrariesDir
- and Cygwin to their desired values.
-
-2009-12-09 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- exception thrown when running apply-patches
- https://bugs.webkit.org/show_bug.cgi?id=32344
-
- The update step now takes a port option. Once we finish the Steps
- refactoring, we won't have to worry about this kind of bug again.
-
- * Scripts/modules/commands/download.py:
-
-2009-12-09 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Fix ScriptError includes. I don't understand why these
- didn't throw during unit testing...
-
- * Scripts/modules/commands/download.py:
- * Scripts/modules/logging_unittest.py:
- * Scripts/modules/workqueue.py:
-
-2009-12-09 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] Remove unused PatchCollection class
- https://bugs.webkit.org/show_bug.cgi?id=32312
-
- It's dead code.
-
- * Scripts/modules/patchcollection.py:
- * Scripts/modules/patchcollection_unittest.py: Removed.
-
-2009-12-09 Adam Barth <abarth@webkit.org>
-
- Unreviewed "build" fix. CheckStyle needs a --no-upate option.
-
- * Scripts/modules/commands/download.py:
-
-2009-12-09 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] Convert Build to use Sequence
- https://bugs.webkit.org/show_bug.cgi?id=32310
-
- So much prettier.
-
- * Scripts/modules/buildsteps.py:
- * Scripts/modules/commands/download.py:
- * Scripts/modules/landingsequence.py:
- * Scripts/modules/stepsequence.py: Added.
-
-2009-12-09 Adam Barth <abarth@webkit.org>
-
- Add missing file.
-
- * Scripts/modules/executive.py: Added.
-
-2009-12-09 Adam Barth <abarth@webkit.org>
-
- Unreviewed "build" fix.
-
- * Scripts/modules/landingsequence.py:
-
-2009-12-09 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] Implement abstract Steps
- https://bugs.webkit.org/show_bug.cgi?id=32212
-
- This is a fairly disruptive change that refactors how we build
- commands. Instead of using a landing sequence, we can now assemble a
- sequence of steps directly. We still use the landing sequence in the
- interim, but this will be removed soon.
-
- * Scripts/bugzilla-tool:
- * Scripts/modules/buildsteps.py:
- * Scripts/modules/commands/download.py:
- * Scripts/modules/commands/early_warning_system.py:
- * Scripts/modules/commands/queues.py:
- * Scripts/modules/commands/queues_unittest.py:
- * Scripts/modules/landingsequence.py:
- * Scripts/modules/mock_bugzillatool.py:
- * Scripts/modules/processutils.py: Removed.
- * Scripts/modules/scm.py:
- * Scripts/modules/scm_unittest.py:
- * Scripts/modules/webkitport.py:
-
-2009-12-08 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- run_command and ScriptError should move into processutils.py
- https://bugs.webkit.org/show_bug.cgi?id=32305
-
- Turns out there are a zillion callers to run_command.
-
- * Scripts/modules/commands/download.py:
- * Scripts/modules/commands/early_warning_system.py:
- * Scripts/modules/commands/queues.py:
- * Scripts/modules/landingsequence.py:
- * Scripts/modules/logging_unittest.py:
- * Scripts/modules/processutils.py:
- * Scripts/modules/scm.py:
- * Scripts/modules/scm_unittest.py:
- * Scripts/modules/workqueue.py:
- * Scripts/modules/workqueue_unittest.py:
-
-2009-12-08 Kevin Watters <kevinwatters@gmail.com>
-
- Reviewed by Kevin Ollivier.
-
- [wx] Mac plugins support.
-
- https://bugs.webkit.org/show_bug.cgi?id=32236
-
- * wx/browser/wscript:
-
-2009-12-08 David Levin <levin@chromium.org>
-
- Reviewed by Adam Barth.
-
- [check-webkit-style] False positive for DEFINE_OPCODE(op_jtrue) {
- https://bugs.webkit.org/show_bug.cgi?id=32193
-
- * Scripts/modules/cpp_style.py: For the function { rule, if there is space
- at the beginning of line, ignore lines which then have a macro.
- * Scripts/modules/cpp_style_unittest.py: Add tests to verify the
- new behavior.
-
-2009-12-08 Dmitry Titov <dimich@chromium.org>
-
- Rubber-stamped by David Levin.
-
- Revert and reopen "Add asserts to RefCounted to make sure ref/deref happens on the right thread."
- It may have caused massive increase of reported leaks on the bots.
- https://bugs.webkit.org/show_bug.cgi?id=31639
-
- * DumpRenderTree/ForwardingHeaders/wtf/ThreadVerifier.h: Removed.
-
-2009-12-08 Dmitry Titov <dimich@chromium.org>
-
- Reviewed by Darin Adler.
-
- Add asserts to RefCounted to make sure ref/deref happens on the right thread.
- https://bugs.webkit.org/show_bug.cgi?id=31639
-
- * DumpRenderTree/ForwardingHeaders/wtf/ThreadVerifier.h: Added.
-
-2009-12-08 David Levin <levin@chromium.org>
-
- Reviewed by Adam Barth.
-
- [check-webkit-style] False positive for camel case of JSC op codes
- https://bugs.webkit.org/show_bug.cgi?id=32192
-
- * Scripts/modules/cpp_style.py: Added an exception for the JSC op
- code functions and const_iterator as well since I noticed a false
- positive there when testing the fix.
- * Scripts/modules/cpp_style_unittest.py: Added tests for these
- changes.
-
-2009-12-08 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Rubber-stamped by Maciej Stachowiak.
-
- Turn on (SVG) Filters for Win.
- https://bugs.webkit.org/show_bug.cgi?id=32224
-
- * Scripts/webkitdirs.pm:
-
-2009-12-08 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Rubber-stamped by Maciej Stachowiak.
-
- Turn on (SVG) Filters for Gtk.
- https://bugs.webkit.org/show_bug.cgi?id=32224
-
- * Scripts/build-webkit:
-
-2009-12-07 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by David Levin.
-
- [check-webkit-style] S_OK is a fine identifier
- https://bugs.webkit.org/show_bug.cgi?id=32225
-
- * Scripts/modules/cpp_style.py:
- * Scripts/modules/cpp_style_unittest.py:
-
-2009-12-07 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Rubber-stamped by Maciej Stachowiak.
-
- Turn on (SVG) Filters for Qt.
- https://bugs.webkit.org/show_bug.cgi?id=32224
-
- * Scripts/build-webkit:
-
-2009-12-07 Yuzo Fujishima <yuzo@google.com>
-
- Reviewed by Alexey Proskuryakov.
-
- Make run-webkit-websocketserver log to stderr rather than to a file.
- https://bugs.webkit.org/show_bug.cgi?id=32234
-
- * Scripts/run-webkit-websocketserver:
-
-2009-12-07 Dmitry Titov <dimich@chromium.org>
-
- Rubber-stamped by Darin Adler.
-
- Remove ENABLE_SHARED_SCRIPT flags
- https://bugs.webkit.org/show_bug.cgi?id=32245
- This patch was obtained by "git revert" command and then un-reverting of ChangeLog files.
-
- * Scripts/build-webkit:
-
-2009-12-07 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/7450481> One compositing test keeps DRT in "compositing mode", breaks repaint tests
-
- The counter that WebView used to keep track of the number of enclosed WebHTMLViews using
- accelerated compositing was hard to manage, and maintained incorrectly in a number of cases.
- This caused one compositing test make DumpRenderTree think that all subsequent tests
- were compositing too.
-
- Replace this counter with notifications, which are only fired if a client (DRT) requests them. The
- notification informs the client that a WebHTMLView entered compositing mode (or an already-
- compositing WebHTML was added); it does not say when a view becomes uncomposited, or all
- compositing subviews were removed, since this is tricky to get right.
-
- DumpRenderTreeWindow listens for this notification, and uses it to turn on window
- autodisplay, which is necessary to kick-start Core Animation rendering and animations.
- We ensure that window autodisplay is turned off before every test.
-
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (createWebViewAndOffscreenWindow):
- (resetWebViewToConsistentStateBeforeTesting):
- * DumpRenderTree/mac/DumpRenderTreeWindow.h:
- * DumpRenderTree/mac/DumpRenderTreeWindow.mm:
- (-[DumpRenderTreeWindow close]):
- (-[DumpRenderTreeWindow startListeningForAcceleratedCompositingChanges]):
- (-[DumpRenderTreeWindow webViewStartedAcceleratedCompositing:]):
-
-2009-12-07 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Reviewed by Holger Hans Peter Freyther.
-
- Turn on (SVG) Filters support, by default.
- https://bugs.webkit.org/show_bug.cgi?id=32224
-
- For now only enable FILTERS build flag on WebKit/mac. Other platforms will follow soon.
-
- * Scripts/build-webkit:
-
-2009-12-07 Yaar Schnitman <yaar@chromium.org>
-
- Reviewed by Darin Fisher.
-
- Chromium buildbots are not red when they fail
- https://bugs.webkit.org/show_bug.cgi?id=32235
-
- * Scripts/build-webkit:
-
-2009-12-07 Yaar Schnitman <yaar@chromium.org>
-
- Reviewed by Darin Fisher.
-
- Typo in chromium linux builder
- https://bugs.webkit.org/show_bug.cgi?id=32238
-
- * Scripts/webkitdirs.pm:
-
-2009-12-07 Yaar Schnitman <yaar@chromium.org>
-
- Reviewed by Darin Fisher.
-
- fixes to build-webkit --chromium
- https://bugs.webkit.org/show_bug.cgi?id=32179
-
- * Scripts/webkitdirs.pm:
-
-2009-12-07 Eric Seidel <eric@webkit.org>
-
- No review, just adding two recently approved committers.
-
- * Scripts/modules/committers.py:
-
-2009-12-07 Alexey Proskuryakov <ap@apple.com>
-
- * Scripts/run-webkit-websocketserver: Added property svn:executable.
-
-2009-12-07 Yuzo Fujishima <yuzo@google.com>
-
- Reviewed by Alexey Proskuryakov.
-
- Add run-webkit-websocketserver
-
- https://bugs.webkit.org/show_bug.cgi?id=31390
-
- * Scripts/run-webkit-websocketserver: Added.
-
-2009-12-07 Steve Falkenburg <sfalken@apple.com>
-
- Build fix. Be flexible about which version of ICU is used on Windows.
-
- * DumpRenderTree/win/DumpRenderTree.vcproj: Add optional xcopy commands to copy ICU 4.2.
-
-2009-12-07 Dirk Schulze <krit@webkit.org>
-
- Not reviewed, adding myself to the reviewers list.
-
- * Scripts/modules/committers.py:
-
-2009-12-06 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Add an API for uploading results files to StatusBot
- https://bugs.webkit.org/show_bug.cgi?id=32210
-
- Add Content-Type: plain/text which was forgotten
- from the previous commit when I landed with land-patches
- instead of land-diff.
-
- * QueueStatusServer/queue_status.py:
-
-2009-12-06 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Status Server needs a way to handle uploaded results
- https://bugs.webkit.org/show_bug.cgi?id=32209
-
- * QueueStatusServer/queue_status.py: Add a ShowResults (results/*) command
- * QueueStatusServer/update_status.html: Add file upload.
-
-2009-12-06 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Add an API for uploading results files to StatusBot
- https://bugs.webkit.org/show_bug.cgi?id=32210
-
- * Scripts/modules/statusbot.py:
-
-2009-12-06 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Status Server needs a way to handle uploaded results
- https://bugs.webkit.org/show_bug.cgi?id=32209
-
- * QueueStatusServer/queue_status.py: Add a ShowResults (results/*) command
- * QueueStatusServer/update_status.html: Add file upload.
-
-2009-12-06 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] BuildAttachment should not check the builders
- https://bugs.webkit.org/show_bug.cgi?id=32207
-
- This is code that got copied here by accident when the class was created.
-
- * Scripts/modules/commands/download.py:
-
-2009-12-06 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] Make LandingSequence.update aware of ports
- https://bugs.webkit.org/show_bug.cgi?id=32208
-
- This is required to make build work on the Chromium port because
- Chromium has a custom update-webkit.
-
- * Scripts/modules/landingsequence.py:
-
-2009-12-06 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Add early warning system commands to bugzilla-tool.
-
- * Scripts/bugzilla-tool:
- * Scripts/modules/landingsequence.py:
- * Scripts/modules/webkitport.py:
-
-2009-12-06 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] Implement Qt EarlyWarningSystem and Chromium EarlyWarningSystem
- https://bugs.webkit.org/show_bug.cgi?id=32205
-
- * Scripts/modules/commands/early_warning_system.py: Added.
- * Scripts/modules/commands/queues.py:
-
-2009-12-06 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Adele Peterson.
-
- REGRESSION (r51728): update-webkit fails when the current directory is
- not inside a Subversion working copy
- https://bugs.webkit.org/show_bug.cgi?id=32204
-
- * Scripts/update-webkit: Invoke isSVN() in the correct working
- directory.
-
-2009-12-06 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] Rename AbstractTryQueue to AbstractReviewQueue
- https://bugs.webkit.org/show_bug.cgi?id=32202
-
- * Scripts/modules/commands/queues.py:
-
-2009-12-05 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] Implement ChromiumPort
- https://bugs.webkit.org/show_bug.cgi?id=32182
-
- * Scripts/modules/webkitport.py:
- * Scripts/modules/webkitport_unittest.py:
-
-2009-12-05 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Move update-webkit into BuildSteps
- https://bugs.webkit.org/show_bug.cgi?id=32181
-
- We need to move update-webkit out of SCM.py because SCM isn't supposed to know
- that WebKit exists. The proper place for the knowledge of the existence of
- update-webkit is in WebKitPort because some ports have specialized update
- scripts (analogous to build-webkit).
-
- * Scripts/modules/buildsteps.py:
- * Scripts/modules/commands/download.py:
- * Scripts/modules/landingsequence.py:
- * Scripts/modules/scm.py:
- * Scripts/modules/webkitport.py:
-
-2009-12-05 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- update-webkit should call git svn rebase and resolve-ChangeLogs -f
- https://bugs.webkit.org/show_bug.cgi?id=27162
-
- Teach update-webkit about Git. I didn't add the call to
- resolve-ChangeLogs -f because sometimes that script goes bananas. We
- can iterate from here, however.
-
- * Scripts/update-webkit:
-
-2009-12-04 Yael Aharon <yael.aharon@nokia.com>
-
- Unreviewed build fix.
-
- [Qt] build fix after r51634 removed unused QBoxLayout include which included limits.h.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
-
-2009-12-04 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Adam Treat.
-
- Add some missing methods for showing and hiding the
- Web Inspector.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::WebPage::WebPage):
- (WebCore::WebPage::~WebPage):
- (WebCore::WebPage::webInspector):
- * DumpRenderTree/qt/DumpRenderTree.h:
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::showWebInspector):
- (LayoutTestController::hideWebInspector):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
-
-2009-12-04 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Adam Treat.
-
- Implement the setAllowUniversalAccessFromFileURLs method
- for the Qt LayoutTestController.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::WebPage::resetSettings):
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::setAllowUniversalAccessFromFileURLs):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
-
-2009-12-04 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Darin Adler.
-
- REGRESSION: AX: buttons now extremely repetitive
- https://bugs.webkit.org/show_bug.cgi?id=32164
-
- * DumpRenderTree/AccessibilityUIElement.cpp:
- (isAttributeSupportedCallback):
- (AccessibilityUIElement::getJSClass):
- * DumpRenderTree/AccessibilityUIElement.h:
- * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
- (AccessibilityUIElement::isAttributeSupported):
- * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
- (AccessibilityUIElement::isAttributeSupported):
- * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
- (AccessibilityUIElement::isAttributeSupported):
-
-2009-12-03 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by David Levin.
-
- check-webkit-style should check for camelCase variable names
- https://bugs.webkit.org/show_bug.cgi?id=32051
-
- * Scripts/modules/cpp_style.py:
- * Scripts/modules/cpp_style_unittest.py:
-
-2009-12-03 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Eric Seidel.
-
- AX: VO just says "term" on many web sites
- https://bugs.webkit.org/show_bug.cgi?id=32139
-
- * DumpRenderTree/AccessibilityUIElement.cpp:
- (getRoleDescriptionCallback):
- (AccessibilityUIElement::getJSClass):
- * DumpRenderTree/AccessibilityUIElement.h:
- * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
- (AccessibilityUIElement::roleDescription):
- * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
- (AccessibilityUIElement::roleDescription):
- * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
- (AccessibilityUIElement::roleDescription):
-
-2009-12-03 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Beth Dakin.
-
- Implement WAI-ARIA scrollbar role and related property aria-orientation
- https://bugs.webkit.org/show_bug.cgi?id=32126
-
- * DumpRenderTree/AccessibilityUIElement.cpp:
- (getOrientationCallback):
- (AccessibilityUIElement::getJSClass):
- * DumpRenderTree/AccessibilityUIElement.h:
- * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
- (AccessibilityUIElement::orientation):
- * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
- (AccessibilityUIElement::orientation):
- * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
- (AccessibilityUIElement::orientation):
-
-2009-12-03 Eric Carlson <eric.carlson@apple.com>
-
- Reviewed by Adam Roben.
-
- Minor correction to r51663.
-
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (addQTDirToPATH):
- GetEnvironmentVariable -> GetEnvironmentVariableW.
-
-2009-12-03 Eric Carlson <eric.carlson@apple.com>
-
- Reviewed by Adam Roben.
-
- ~96 regression tests fail when using QuickTime 7.6 (they pass with QuickTime 7.3)
- https://bugs.webkit.org/show_bug.cgi?id=30256
-
- Add the QuickTime dll directory to the PATH environment variable so
- inialization can succeed.
-
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (addQTDirToPATH):
- (initialize):
-
-2009-12-03 Shu Chang <Chang.Shu@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] After revision 32643, sender() is of type QWebPage instead of QWebFrame.
-
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::maybeDump):
-
-2009-12-03 Yuzo Fujishima <yuzo@google.com>
-
- Reviewed by Eric Seidel.
-
- Update pywebsocket to 0.4.3
- This version logs friendlier and higher-level messages in WARN level, which is used for LayoutTests.
- Stack trace is logged now in INFO level.
- https://bugs.webkit.org/show_bug.cgi?id=32097
-
- * pywebsocket/mod_pywebsocket/dispatch.py:
- * pywebsocket/mod_pywebsocket/msgutil.py:
- * pywebsocket/mod_pywebsocket/standalone.py:
- * pywebsocket/mod_pywebsocket/util.py:
- * pywebsocket/setup.py:
- * pywebsocket/test/test_dispatch.py:
- * pywebsocket/test/test_util.py:
-
-2009-12-03 Sam Weinig <sam@webkit.org>
-
- Reviewed by Gavin Barraclough.
-
- Fix JSClassRef leak.
-
- * DumpRenderTree/AccessibilityController.cpp:
- (AccessibilityController::makeWindowObject):
- * DumpRenderTree/GCController.cpp:
- (GCController::makeWindowObject):
- * DumpRenderTree/LayoutTestController.cpp:
- (LayoutTestController::makeWindowObject):
-
-2009-12-03 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig.
-
- <rdar://problem/7214236> and http://webkit.org/b/32052 - Implement HTML5 state object history API
-
- Keep DRT-win building...
-
- * DumpRenderTree/win/FrameLoadDelegate.h:
- (FrameLoadDelegate::didPushStateWithinPageForFrame):
- (FrameLoadDelegate::didReplaceStateWithinPageForFrame):
- (FrameLoadDelegate::didPopStateWithinPageForFrame):
-
-2009-12-03 Andras Becsi <abecsi@inf.u-szeged.hu>
-
- Unreviewed build fix.
-
- [Qt] ARM-Linux build fix after r51634 removed unused QBoxLayout include which included limits.h on ARM.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
-
-2009-12-03 Andras Becsi <abecsi@inf.u-szeged.hu>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Refactor DRT to not crash on tests which open child windows from javascript.
- Prevent DRT from showing the main view if these childs get deleted.
- This fixes https://bugs.webkit.org/show_bug.cgi?id=31591.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::WebPage::WebPage):
- (WebCore::DumpRenderTree::DumpRenderTree):
- (WebCore::DumpRenderTree::~DumpRenderTree):
- (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting):
- (WebCore::DumpRenderTree::open):
- (WebCore::DumpRenderTree::closeRemainingWindows):
- (WebCore::DumpRenderTree::createWindow):
- (WebCore::DumpRenderTree::windowCount):
- * DumpRenderTree/qt/DumpRenderTree.h:
-
-2009-12-02 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- REGRESSION(51595): commit-queue is throwing exceptions
- https://bugs.webkit.org/show_bug.cgi?id=32083
-
- * Scripts/modules/commands/queues.py:
- - Don't use default value of [] as it ends up getting shared.
- - Make log_progress accept arrays of ints as well as strings.
- - Return an exit code from execute()
- * Scripts/modules/commands/queues_unittest.py: Added.
- - Test to make sure log_progress will accept ints.
- - Test to make sure run_bugzilla_tool will accept ints.
- * Scripts/modules/workqueue.py:
- - Print the stack trace on unexpected exceptions for easier debugging.
- * Scripts/run-webkit-unittests:
- - Add queues_unittest.
-
- * Scripts/modules/commands/queues.py:
- * Scripts/modules/commands/queues_unittest.py: Copied from WebKitTools/Scripts/modules/commands/commandtest.py.
- * Scripts/modules/mock_bugzillatool.py:
- * Scripts/modules/workqueue.py:
- * Scripts/run-webkit-unittests:
-
-2009-12-02 David Levin <levin@chromium.org>
-
- Reviewed by Adam Barth.
-
- check-webkit-style is too noisy about namespace indenting issues.
- https://bugs.webkit.org/show_bug.cgi?id=32096
-
- * Scripts/modules/cpp_style.py:
- Added a _FileState object to be able to track file level information. In this
- case, it simply tracks whether the error has already been given, so that it isn't
- done again.
- * Scripts/modules/cpp_style_unittest.py:
- Modified test cases to pass in the _FileState object and fix a test that expected
- to see the namespace error twice (now it only occurs once). No new tests because
- existing tests cover the change in functionality.
-
-2009-12-01 Kevin Ollivier <kevino@theolliviers.com>
-
- Reviewed by Eric Seidel.
-
- [wx] Get DumpRenderTree building after waf switch.
-
- https://bugs.webkit.org/show_bug.cgi?id=32041
-
- * DumpRenderTree/wscript: Added.
- * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
- (LayoutTestController::setTimelineProfilingEnabled):
- (LayoutTestController::evaluateScriptInIsolatedWorld):
- (LayoutTestController::disableImageLoading):
- (LayoutTestController::whiteListAccessFromOrigin):
- (LayoutTestController::counterValueForElementById):
- * Scripts/build-webkit:
-
-2009-12-02 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] build-attachment shouldn't check whether the builders are red
- https://bugs.webkit.org/show_bug.cgi?id=32062
-
- build-attachment doesn't touch the remote repository, so there isn't a
- need to hold off when the builders are red.
-
- * Scripts/modules/commands/download.py:
- * Scripts/modules/landingsequence.py:
-
-2009-12-02 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- REGRESSION(51590): style-queue and build-queue think their empty when they are not
- https://bugs.webkit.org/show_bug.cgi?id=32061
-
- * Scripts/modules/bugzilla.py: make all id lookups return ints instead of strings.
- * Scripts/modules/bugzilla_unittest.py: Add and update unit tests to use ints.
-
-2009-12-02 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- build-queue is throwing exceptions and complaining about
- lack of --no-update on build-attachment. Make it stop.
-
- * Scripts/modules/buildsteps.py:
- * Scripts/modules/commands/download.py:
-
-2009-12-02 Adam Barth <abarth@webkit.org>
-
- Unreviewed "build" fix. Forgot to declare my variables. :(
-
- * QueueStatusServer/queue_status.py:
-
-2009-12-02 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] Implement status bubble view
- https://bugs.webkit.org/show_bug.cgi?id=32057
-
- The status bubble is a compact representation of the queue status for a
- given patch. This will eventually help us reduce the comment spam from
- the queues.
-
- * QueueStatusServer/index.html: Added HTML5 doctype for sanity.
- * QueueStatusServer/queue_status.py:
- * QueueStatusServer/status_bubble.html: Added.
-
-2009-12-02 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- trim commands/*.py includes now that commands are unit tested
- https://bugs.webkit.org/show_bug.cgi?id=32056
-
- In the course of ensuring that the unit tests still
- passed after this change, I had to actually make them
- pass in the first place.
-
- * Scripts/modules/bugzilla.py:
- - Fix _parse_attachment_ids_request_query to return ints instead of strings.
- * Scripts/modules/commands/download.py: Remove unneeded imports.
- * Scripts/modules/commands/queries.py: Ditto.
- * Scripts/modules/commands/queues.py: Ditto.
- * Scripts/modules/commands/upload.py: Ditto.
- * Scripts/modules/scm_unittest.py:
- - Fix to expect the \n after the path since echo adds an \n.
-
-2009-12-01 Yaar Schnitman <yaar@chromium.org>
-
- build-webkit: Remove flex,bison,gperf check for chromium
- https://bugs.webkit.org/show_bug.cgi?id=32043
-
- * Scripts/webkitdirs.pm:
-
-2009-12-01 Chris Fleizach <cfleizach@apple.com>
-
- Build fixage for Windows/GTK for DumpRenderTree.
-
- WAI-ARIA: implement support for ARIA drag and drop
- https://bugs.webkit.org/show_bug.cgi?id=32007
-
- * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
- (AccessibilityUIElement::ariaIsGrabbed):
- (AccessibilityUIElement::ariaDropEffects):
- * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
- (AccessibilityUIElement::ariaIsGrabbed):
- (AccessibilityUIElement::ariaDropEffects):
-
-2009-12-01 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Darin Adler.
-
- WAI-ARIA: implement support for ARIA drag and drop
- https://bugs.webkit.org/show_bug.cgi?id=32007
-
- * DumpRenderTree/AccessibilityUIElement.cpp:
- (getARIADropEffectsCallback):
- (getARIAIsGrabbedCallback):
- (AccessibilityUIElement::getJSClass):
- * DumpRenderTree/AccessibilityUIElement.h:
- * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
- (AccessibilityUIElement::ariaIsGrabbed):
- (AccessibilityUIElement::ariaDropEffects):
-
-2009-12-01 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Not reviewed. GTK DRT try 2.
-
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::sampleSVGAnimationForElementAtTime):
-
-2009-12-01 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Not reviewed. Try to fix gtk DRT build.
-
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
-
-2009-12-01 David Levin <levin@chromium.org>
-
- Reviewed by Eric Seidel.
-
- check-webkit-style does not understand (Prefix)Foo(Custom|Gtk|CG|Mac).cpp including Foo.h
- https://bugs.webkit.org/show_bug.cgi?id=32033
-
- * Scripts/modules/cpp_style.py: Changed check for a possible primary header to use find
- instead of startswith.
- * Scripts/modules/cpp_style_unittest.py: Added a unit test for the new behavior.
-
-2009-12-01 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Not reviewed. Qt build almost fixed, DumpRenderTree should compile now as well.
-
- * DumpRenderTree/qt/LayoutTestControllerQt.h: Update old function signature.
-
-2009-12-01 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Reviewed by Simon Fraser.
-
- Add SVG animation test framework with 'snapshot' functionality
- https://bugs.webkit.org/show_bug.cgi?id=31897
-
- Add new 'sampleSVGAnimationForElementAtTime' DRT method,
- used by the new SVG animation testing framework, implemented
- for qt/gtk/win/mac.
-
- * DumpRenderTree/LayoutTestController.cpp:
- (sampleSVGAnimationForElementAtTimeCallback):
- (LayoutTestController::staticFunctions):
- * DumpRenderTree/LayoutTestController.h:
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::sampleSVGAnimationForElementAtTime):
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (LayoutTestController::sampleSVGAnimationForElementAtTime):
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::sampleSVGAnimationForElementAtTime):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::sampleSVGAnimationForElementAtTime):
- * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
- (LayoutTestController::sampleSVGAnimationForElementAtTime):
-
-2009-12-01 Adam Roben <aroben@apple.com>
-
- Remove user content before running each test on Windows
-
- Fixes <http://webkit.org/b/31479> Make websocket tests work on Windows
-
- Reviewed by Alexey Proskuryakov.
-
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (resetWebViewToConsistentStateBeforeTesting): Remove all user content
- before each test, which matches Mac.
-
-2009-12-01 Yuzo Fujishima <yuzo@google.com>
-
- Reviewed by Alexey Proskuryakov.
-
- Make pywebsocket log errors to a file
- https://bugs.webkit.org/show_bug.cgi?id=31604
-
- * Scripts/run-webkit-tests: Log output to a pywebsocket_log.txt file in results directory
- (by passing the path to the server via a recently added -l option).
-
-2009-12-01 Adam Roben <aroben@apple.com>
-
- Fix tests that use the TestNetscapePlugin in Debug_Internal builds
-
- Reviewed by Ada Chan.
-
- Fixes <http://webkit.org/b/32027> REGRESSION (r49705): Tests that use
- TestNetscapePlugin fail in Debug_Internal builds
-
- * DumpRenderTree/win/DumpRenderTree.cpp: Use the "_Debug" plugin
- directory in Debug and Debug_All builds, but not in Debug_Internal
- builds.
-
-2009-12-01 Adam Roben <aroben@apple.com>
-
- Re-enable DRT's watchdog timer on Windows
-
- It was accidentally disabled in r50907.
-
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::setWaitToDump): Remove a "false &&" that snuck
- into an if condition.
-
-2009-12-01 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- check-webkit-style complains about #imports with / in them
- https://bugs.webkit.org/show_bug.cgi?id=32022
-
- We need to exclude #import directives in addition to #include from the
- binary operator whitespace checks.
-
- * Scripts/modules/cpp_style.py:
- * Scripts/modules/cpp_style_unittest.py:
-
-2009-11-30 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- check-webkit-style is slightly too verbose
- https://bugs.webkit.org/show_bug.cgi?id=32010
-
- check-webkit-style prints out a bunch of "done" lines that seem redundant,
- especially for the style-queue.
-
- * Scripts/modules/cpp_style.py:
-
-2009-11-30 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Eric Seidel.
-
- [GTK] Moved the functions that are closing the result log of the
- tests to the last line of the runTest function, this avoids
- reporting crashes in the wrong test if there is a problem when
- reseting the state after the test.
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (dump):
- (runTest):
-
-2009-11-30 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=31286
- fast/js/date-proto-generic-invocation breaks another test
-
- Don't cache JSClassRefs, a change to the prototype chain will
- last between tests.
-
- * DumpRenderTree/AccessibilityController.cpp:
- (AccessibilityController::getJSClass):
- * DumpRenderTree/GCController.cpp:
- (GCController::getJSClass):
- * DumpRenderTree/GCController.h:
- * DumpRenderTree/LayoutTestController.cpp:
- (LayoutTestController::getJSClass):
-
-2009-11-30 Yuzo Fujishima <yuzo@google.com>
-
- Reviewed by Alexey Proskuryakov.
-
- Update pywebsocket to 0.4.2.1.
- This is to fix a bug that some messages are logged to stderr even when the log file is specified.
- https://bugs.webkit.org/show_bug.cgi?id=31976
-
- * pywebsocket/mod_pywebsocket/standalone.py:
- * pywebsocket/setup.py:
-
-2009-11-30 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] Generate pass messages for style-queue
- https://bugs.webkit.org/show_bug.cgi?id=31995
-
- With this change, the style-queue posts "pass" messages to bugs as
- well. Also, added more information to the state store w.r.t. passing
- and failing.
-
- * Scripts/modules/commands/queues.py:
- * Scripts/modules/patchcollection.py:
-
-2009-11-30 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Simon Fraser.
-
- Check for WEBKIT_TESTFONTS environment variable in
- run-webkit-tests, for GTK+, to have a more prominent error
- message.
-
- * Scripts/run-webkit-tests:
-
-2009-11-30 Yaar Schnitman <yaar@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- update-webkit --chromium forces gclient sync
-
- https://bugs.webkit.org/show_bug.cgi?id=31967
-
- * Scripts/update-webkit-chromium:
-
-2009-11-29 Eric Seidel <eric@webkit.org>
-
- Add Erik Arvidsson to committers.py since by r51326 he clear has commit rights.
-
- * Scripts/modules/committers.py:
-
-2009-11-29 Eric Seidel <eric@webkit.org>
-
- No review, just adding missing svn property.
-
- Set svn:executable property on new scripts.
- These were added by commit-queue commits, but the executable
- property was lost due to a bug in svn-apply:
- https://bugs.webkit.org/show_bug.cgi?id=27204
-
- * Scripts/update-webkit-chromium: Added property svn:executable.
- * Scripts/validate-committer-lists: Added property svn:executable.
-
-2009-11-29 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Need a way to validate that committers.py includes all committers/reviewers
- https://bugs.webkit.org/show_bug.cgi?id=30970
-
- Add a script which knows how to compare our public committer/reviewer
- lists and show discrepancies between them.
-
- Validates mailing lists vs. committers.py:
- - committers.py committers missing from webkit-committers@lists
- - webkit-committers@lists members missing from committers.py
- - committers.py reviewers missing from webkit-reviewers@lists
- - webkit-reviewers@lists members missing from committers.py
- - webkit-reviewers@lists members missing from committers.py reviewer list
-
- Validates committers.py vs. trunk/ SVN history:
- - committers who have not committed in over a year
- - SVN committers missing from committers.py
- - committers.py members who have no record in SVN.
-
- All of these lists still show "false positives" until a few more committers.py updates are made, like:
- https://bugs.webkit.org/show_bug.cgi?id=31366
-
- * Scripts/validate-committer-lists: Added.
-
-2009-11-28 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] style-queue sends ~100 requests to QueueStatusServer every 5 minutes
- https://bugs.webkit.org/show_bug.cgi?id=31950
-
- Now we cache the last status that we get back from QueueStatusServer.
- Eventually we'll have to do something more fancy if we want to support
- a "try again" button on QueueStatusServer, but we can cross that bridge
- when we come to it.
-
- * Scripts/modules/patchcollection.py:
-
-2009-11-28 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- StyleQueue scans ~100 bug pages every 5 minutes
- https://bugs.webkit.org/show_bug.cgi?id=31947
-
- Instead of getting the pending-review attachment ids by scanning each
- bug (which results in a network request), we should just get them all
- from webkit.org/pending-review in one shot.
-
- * Scripts/modules/bugzilla.py:
- * Scripts/modules/bugzilla_unittest.py:
- * Scripts/modules/commands/queries.py:
- * Scripts/modules/commands/queries_unittest.py:
- * Scripts/modules/commands/queues.py:
- * Scripts/modules/mock_bugzillatool.py:
- * Scripts/modules/patchcollection.py:
-
-2009-11-28 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] CC webkit-bot-watchers whenever the bots touch bugs
- https://bugs.webkit.org/show_bug.cgi?id=31952
-
- The mailing list is open for anyone to subscribe.
-
- * Scripts/modules/bugzilla.py:
- * Scripts/modules/commands/queues.py:
-
-2009-11-28 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] style-queue should report style errors to bugzilla
- https://bugs.webkit.org/show_bug.cgi?id=31945
-
- Currently, we're just logging the style errors locally. With this
- patch we'll actually log the errors to bugzilla. Note: I plan to run
- with the "local-only" logging during development.
-
- * Scripts/modules/commands/queues.py:
- * Scripts/modules/scm.py:
-
-2009-11-28 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] style-queue shouldn't reject patches from the commit-queue
- https://bugs.webkit.org/show_bug.cgi?id=31944
-
- Currently the style-queue subprocess gets confused and thinks its the
- commit-queue. If the patch has an error, it rejects it from the
- commit-queue. Instead, we should have style-queue specific logic.
- This patch doesn't add that logic, but it gives us a callback we can
- use to add that logic.
-
- * Scripts/modules/buildsteps.py:
- * Scripts/modules/commands/queues.py:
- * Scripts/modules/landingsequence.py:
-
-2009-11-27 Adam Barth <abarth@webkit.org>
-
- Rubber stamped by Eric Seidel.
-
- Rename CommitQueueStatus to QueueStatusServer to allow for more queues.
-
- * CommitQueueStatus: Removed.
- * CommitQueueStatus/app.yaml: Removed.
- * CommitQueueStatus/filters: Removed.
- * CommitQueueStatus/filters/__init__.py: Removed.
- * CommitQueueStatus/filters/webkit_extras.py: Removed.
- * CommitQueueStatus/index.html: Removed.
- * CommitQueueStatus/index.yaml: Removed.
- * CommitQueueStatus/queue_status.py: Removed.
- * CommitQueueStatus/stylesheets: Removed.
- * CommitQueueStatus/stylesheets/main.css: Removed.
- * CommitQueueStatus/update_status.html: Removed.
- * QueueStatusServer: Copied from WebKitTools/CommitQueueStatus.
-
-2009-11-27 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- style-queue should only process each patch once
- https://bugs.webkit.org/show_bug.cgi?id=31939
-
- Actually address reviewer comments!
-
- * Scripts/bugzilla-tool:
-
-2009-11-27 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] style-queue fails to apply a bunch of patches for no reason
- https://bugs.webkit.org/show_bug.cgi?id=31942
-
- By passing --non-interactive to check-style, we convince check-style
- to pass --force to svn-apply, which lets it apply more patches.
-
- * Scripts/modules/commands/queues.py:
-
-2009-11-27 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] Support --status-host in style-queue
- https://bugs.webkit.org/show_bug.cgi?id=31941
-
- * Scripts/modules/commands/queues.py:
- * Scripts/modules/statusbot.py:
-
-2009-11-27 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- style-queue should only process each patch once
- https://bugs.webkit.org/show_bug.cgi?id=31939
-
- Before processing a patch, the try-queues now ask the web service
- whether they have already processed the patch. This is an initial cut
- of this functionality. I expect we're make it richer over time.
-
- * Scripts/bugzilla-tool:
- * Scripts/modules/commands/queues.py:
- * Scripts/modules/patchcollection.py:
-
-2009-11-27 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- PatchStatus does not return status
- https://bugs.webkit.org/show_bug.cgi?id=31938
-
- We need to parse attachment_id as an int. Otherwise, we can't find
- anything in the datastore.
-
- * CommitQueueStatus/queue_status.py:
-
-2009-11-27 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Make commit-queue status not throw an exception where there is not
- status
- https://bugs.webkit.org/show_bug.cgi?id=31936
-
- We need to actually fetch the results of the query to see what's in the
- datastore.
-
- * CommitQueueStatus/queue_status.py:
-
-2009-11-27 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] unit test ApplyPatches and ApplyAttachment
- https://bugs.webkit.org/show_bug.cgi?id=31935
-
- * Scripts/modules/commands/download.py:
- * Scripts/modules/commands/download_unittest.py:
-
-2009-11-27 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] Unit test download commands
- https://bugs.webkit.org/show_bug.cgi?id=31923
-
- Adds download_unittest and fixes a bug found while testing.
-
- * Scripts/modules/commands/commandtest.py:
- * Scripts/modules/commands/download.py:
- Fixed a bug where we'd throw an error because [].append returns
- None.
- * Scripts/modules/commands/download_unittest.py: Added.
- * Scripts/modules/mock_bugzillatool.py:
- * Scripts/run-webkit-unittests:
-
-2009-11-27 Adam Barth <abarth@webkit.org>
-
- Unreviewed "build" fix found while writing unit tests.
-
- * Scripts/modules/commands/download.py:
-
-2009-11-27 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] Kill WebKitLandingScripts
- https://bugs.webkit.org/show_bug.cgi?id=31904
-
- Step 6: Kill the rest.
-
- * Scripts/modules/buildsteps.py:
- * Scripts/modules/commands/download.py:
- * Scripts/modules/commands/queries.py:
- * Scripts/modules/commands/upload.py:
- * Scripts/modules/landingsequence.py:
- * Scripts/modules/scm.py:
- * Scripts/modules/webkitlandingscripts.py: Removed.
-
-2009-11-27 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] Unit test upload commands
- https://bugs.webkit.org/show_bug.cgi?id=31903
-
- Adds unit tests for all but two of the upload commands. The two
- remaining ones are more difficult. I'll return to them later. The
- goal of these tests is just to run the commands. We can test more
- detailed behavior later.
-
- * Scripts/modules/commands/commandtest.py:
- * Scripts/modules/commands/upload.py:
- * Scripts/modules/commands/upload_unittest.py:
- * Scripts/modules/mock.py: Added.
- * Scripts/modules/mock_bugzillatool.py:
-
-2009-11-26 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] Kill WebKitLandingScripts
- https://bugs.webkit.org/show_bug.cgi?id=31904
-
- Step 5: Kill run_and_throw_if_fail.
-
- * Scripts/modules/buildsteps.py:
- * Scripts/modules/processutils.py: Added.
- * Scripts/modules/webkitlandingscripts.py:
-
-2009-11-26 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] Kill WebKitLandingScripts
- https://bugs.webkit.org/show_bug.cgi?id=31904
-
- Step 4: Kill run_webkit_script.
-
- * Scripts/modules/buildsteps.py:
- * Scripts/modules/commands/download.py:
- * Scripts/modules/webkitlandingscripts.py:
-
-2009-11-26 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] Kill WebKitLandingScripts
- https://bugs.webkit.org/show_bug.cgi?id=31904
-
- Step 3: Kill build_webkit.
-
- * Scripts/modules/buildsteps.py:
- * Scripts/modules/landingsequence.py:
- * Scripts/modules/webkitlandingscripts.py:
-
-2009-11-26 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] Kill WebKitLandingScripts
- https://bugs.webkit.org/show_bug.cgi?id=31904
-
- Step 2: Kill ensure_builders_are_green.
-
- * Scripts/modules/buildsteps.py:
- * Scripts/modules/commands/download.py:
- * Scripts/modules/landingsequence.py:
- * Scripts/modules/webkitlandingscripts.py:
-
-2009-11-26 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [bzt] Kill WebKitLandingScripts
- https://bugs.webkit.org/show_bug.cgi?id=31904
-
- Step 1: Kill prepare_clean_working_directory and run_webkit_tests.
-
- * Scripts/bugzilla-tool:
- * Scripts/modules/buildsteps.py: Added.
- * Scripts/modules/commands/download.py:
- * Scripts/modules/landingsequence.py:
- * Scripts/modules/webkitlandingscripts.py:
-
-2009-11-26 Zoltan Horvath <zoltan@webkit.org>
-
- Reviewed by Adam Barth.
-
- Remove directory prefixes from linux commands
-
- SCM unittests can cause errors on some systems if we use absolute reference to
- the commands, so directory prefixes have been removed.
-
- * Scripts/modules/scm_unittest.py:
-
-2009-11-21 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Link DumpRenderTree to the Qt Ui Tools
- https://bugs.webkit.org/show_bug.cgi?id=31203
-
- Implement QWebPage::createPlugin using the Qt Ui Tools
- to be able to create classes like QProgressBar from within
- the <object></object> tags This is required for the
- new automatic test of Qt Plugins.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::WebPage::createPlugin):
- * DumpRenderTree/qt/DumpRenderTree.h:
- * DumpRenderTree/qt/DumpRenderTree.pro:
-
-2009-11-25 Yuzo Fujishima <yuzo@google.com>
-
- Reviewed by Eric Seidel.
-
- Update pywebsocket to 0.4.2
-
- Update pywebsocket to 0.4.2
- https://bugs.webkit.org/show_bug.cgi?id=31861
-
- * pywebsocket/example/echo_client.py:
- * pywebsocket/example/echo_wsh.py:
- * pywebsocket/mod_pywebsocket/__init__.py:
- * pywebsocket/mod_pywebsocket/dispatch.py:
- * pywebsocket/mod_pywebsocket/msgutil.py:
- * pywebsocket/mod_pywebsocket/standalone.py:
- * pywebsocket/setup.py:
- * pywebsocket/test/test_dispatch.py:
- * pywebsocket/test/test_msgutil.py:
-
-2009-11-25 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Add unit test for mark-fixed
- https://bugs.webkit.org/show_bug.cgi?id=31896
-
- * Scripts/modules/commands/commandtest.py: Added.
- * Scripts/modules/commands/queries_unittest.py:
- * Scripts/modules/commands/upload_unittest.py: Added.
- * Scripts/modules/mock_bugzillatool.py:
- * Scripts/run-webkit-unittests:
-
-2009-11-25 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- bugzilla-tool should have a mark-fixed command
- https://bugs.webkit.org/show_bug.cgi?id=31853
-
- Pretty simple stuff.
-
- * Scripts/modules/commands/upload.py:
-
-2009-11-25 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- 'bugzilla-tool help' should only show common commands like how 'git help' does
- https://bugs.webkit.org/show_bug.cgi?id=31772
-
- I also took this opportunity to make 'help' a real Command.
- Making 'help' a real command required adding Command.tool (which we've wanted to do for a while).
-
- * Scripts/bugzilla-tool:
- - change should_show_command_help to should_show_in_main_help
- * Scripts/modules/commands/download.py:
- - Mark commands as being shown in main help or not.
- - show_in_main_help = False is not required (default is false),
- but it seemed to make the commands more self-documenting.
- * Scripts/modules/commands/queries.py: ditto
- * Scripts/modules/commands/queues.py: ditto
- * Scripts/modules/commands/upload.py: ditto
- * Scripts/modules/multicommandtool.py:
- - Make Command hold a pointer to tool in self.tool. Most Command
- subclasses do not take advantage of this yet, but it was required
- for HelpCommand to be able to reach the tool from _help_epilog().
- - Move MultiCommandTool._standalone_help_for_command to Command.standalone_help
- - Move MultiCommandTool._help_epilog to Command._help_epilog
- - Move "help" logic into HelpCommand.execute()
- - Change should_show_command_help to should_show_in_main_help and add a default implementation.
- * Scripts/modules/multicommandtool_unittest.py:
- - Test hiding of Commands in --help, and that all commands are shown in 'help --all-commands'
-
-2009-11-25 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Patch by Mark Rowe.
-
- The buildbots are failing on Windows because when they were upgraded
- to 4.0.4, Apple Application Support was not in their path. Add it to
- the path to fix the buildots.
-
- * Scripts/webkitdirs.pm:
-
-2009-11-25 Csaba Osztrogonác <ossy@webkit.org>
-
- Reviewed by David Kilzer.
-
- run-webkit-tests doesn't accept directories/files with --skipped=only parameter
- https://bugs.webkit.org/show_bug.cgi?id=31799
-
- * Scripts/run-webkit-tests: Fixed.
-
-2009-11-25 Zoltan Horvath <zoltan@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Change run_command to give back stderr by default
- https://bugs.webkit.org/show_bug.cgi?id=31734
-
- Change run_command to give back stderr by default.
- Set run_commands's 'svn-create-patch' calling to put only the stdout into the patches.
- Change the related unittest call.
-
- * Scripts/modules/scm.py:
- * Scripts/modules/scm_unittest.py:
-
-2009-11-25 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Centralize required argument parsing in Command
- https://bugs.webkit.org/show_bug.cgi?id=31872
-
- * Scripts/modules/commands/download.py: remove custom required arg message.
- * Scripts/modules/commands/upload.py: ditto.
- * Scripts/modules/multicommandtool.py:
- - Add _parse_required_arguments.
- - Pass program name off to OptionParser.
- - Add name() for access to tool name.
- - Add check_arguments_and_execute and make it return a return code.
- - Replace a couple uses of + with %.
- * Scripts/modules/multicommandtool_unittest.py: test _parse_required_arguments
-
-2009-11-25 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Abstract out capturing stdout/stderr into a new OutputCapture class for re-use among the various unit tests.
- https://bugs.webkit.org/show_bug.cgi?id=31870
-
- * Scripts/modules/commands/queries_unittest.py: Use the new class.
- * Scripts/modules/multicommandtool_unittest.py: Ditto.
- * Scripts/modules/outputcapture.py: Added.
-
-2009-11-24 Dmitry Titov <dimich@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Add ENABLE_SHARED_SCRIPT feature define and flag for build-webkit
- https://bugs.webkit.org/show_bug.cgi?id=31444
-
- * Scripts/build-webkit:
-
-2009-11-24 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Simon Fraser.
-
- Changes the way 3D_RENDERING and ACCELERATED_COMPOSITING related tests are excluded
- https://bugs.webkit.org/show_bug.cgi?id=27314
-
- Now the script allows the directories with these tests to be included on all
- platforms but Mac, where they behave the same as always. For all other platforms
- the tests need to be excluded using the Skipped files, which is currently done
- for all platforms (including win since we're not turned on yet)
-
- * Scripts/webkitdirs.pm:
-
-2009-11-24 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- queries_unittest.py should test command output
- https://bugs.webkit.org/show_bug.cgi?id=31845
-
- * Scripts/modules/commands/queries_unittest.py:
- - Capture stdout and stderr and compare with expected strings.
-
-2009-11-24 Simon Fraser <simon.fraser@apple.com>
-
- No Review.
-
- Fix spelling error ("depenedencies").
-
- * Scripts/build-webkit:
-
-2009-11-24 Mark Rowe <mrowe@apple.com>
-
- Land the configuration that includes the two debug GTK Linux builders.
-
- * BuildSlaveSupport/build.webkit.org-config/config.json:
-
-2009-11-24 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/31840> bisect-builds broke after r50080
-
- Reviewed by Dan Bernstein.
-
- * Scripts/bisect-builds:
- (mountAndRunNightly): Switched back to using backticks to run
- the hdiutil command since exec() will terminate the existing
- script, which is not what we want. Store the output of
- File::Spec->devnull() in a variable for use in the hdiutil
- detach commands.
-
-2009-11-23 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Include "config.h" to meet Coding Style Guidelines
- https://bugs.webkit.org/show_bug.cgi?id=31792
-
- * DumpRenderTree/pthreads/JavaScriptThreadingPthreads.cpp:
- * DumpRenderTree/qt/jsobjects.cpp:
- * DumpRenderTree/win/DRTDesktopNotificationPresenter.cpp:
-
-2009-11-23 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Oliver Hunt.
-
- Implement new required function to pass test we used to pass. This
- change is required since r51294.
-
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::setAllowUniversalAccessFromFileURLs):
-
-2009-11-23 Jakub Wieczorek <faw217@gmail.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] DRT: dumpBackForwardList() does not work properly with non-file URLs.
- https://bugs.webkit.org/show_bug.cgi?id=31775
-
- LayoutTestController::dumpBackForwardList() should work with local URLs
- as well as with normal URLs (in http tests for instance).
- Currently it does not output the latter properly.
-
- Unskip a bunch of passing http/navigation tests.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::dumpHistoryItem):
-
-2009-11-22 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Oliver Hunt.
-
- ARIA: support aria-flowto
- https://bugs.webkit.org/show_bug.cgi?id=31762
-
- * DumpRenderTree/AccessibilityUIElement.cpp:
- (ariaFlowToElementAtIndexCallback):
- (AccessibilityUIElement::getJSClass):
- * DumpRenderTree/AccessibilityUIElement.h:
- * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
- (AccessibilityUIElement::ariaFlowToElementAtIndex):
- * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
- (AccessibilityUIElement::ariaFlowToElementAtIndex):
- * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
- (AccessibilityUIElement::ariaFlowToElementAtIndex):
-
-2009-11-22 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Kenneth Christiansen.
-
- [Qt] fast/history/back-forward-reset-after-error-handling.html failing due to WorkQueue not being un-frozen
- https://bugs.webkit.org/show_bug.cgi?id=31638
-
- Unfreeze WorkQueue after each test execution.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting):
-
-2009-11-22 Jakub Wieczorek <faw217@gmail.com>
-
- Reviewed by Adam Barth.
-
- [Qt] DumpRenderTree should explicitly ignore any SSL certificate errors
- for localhost and 127.0.0.1.
- https://bugs.webkit.org/show_bug.cgi?id=31783
-
- Unskip the http/tests/ssl/verify-ssl-enabled.php test, which is passing now.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::NetworkAccessManager::NetworkAccessManager):
- (WebCore::NetworkAccessManager::sslErrorsEncountered):
- (WebCore::WebPage::WebPage):
- * DumpRenderTree/qt/DumpRenderTree.h:
-
-2009-11-22 Chris Evans <cevans@chromium.org>
-
- Reviewed by Adam Barth.
-
- Disable access to file:/// directory listings
- https://bugs.webkit.org/show_bug.cgi?id=31329
-
- Implemented setAllowUniversalAccessFromFileURLs to support testing of
- file URL security.
-
- * DumpRenderTree/LayoutTestController.cpp:
- (setAllowUniversalAccessFromFileURLsCallback):
- (LayoutTestController::staticFunctions):
- * DumpRenderTree/LayoutTestController.h:
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::setAllowUniversalAccessFromFileURLs):
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (LayoutTestController::setAllowUniversalAccessFromFileURLs):
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::setAllowUniversalAccessFromFileURLs):
- * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
- (LayoutTestController::setAllowUniversalAccessFromFileURLs):
-
-2009-11-22 Jakub Wieczorek <faw217@gmail.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Fix the timeout of fast/frames/frame-navigation.html
- https://bugs.webkit.org/show_bug.cgi?id=31638
-
- The test is timeouting, because it uses the WorkQueue to load a document in one
- of the child frames and once the loading is finished, the DRT does not dump the
- tree. This is because it waits for the QWebFrame::loadFinished() signal from
- the main frame, while it should connect to QWebPage::loadFinished().
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::DumpRenderTree::DumpRenderTree):
-
-2009-11-21 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- bugzilla-tool --help spews way too much text
- https://bugs.webkit.org/show_bug.cgi?id=31771
-
- * Scripts/bugzilla-tool:
- - Remove self.cached_scm initialization hack.
- * Scripts/modules/buildbot.py:
- - Make default_host accessible to callers.
- * Scripts/modules/commands/download.py:
- - Phrase help for all commands consistently and remove spurious help text punctuation.
- * Scripts/modules/commands/queries.py: Ditto.
- * Scripts/modules/commands/queues.py: Ditto.
- * Scripts/modules/commands/upload.py: Ditto.
- * Scripts/modules/multicommandtool.py:
- - Add HelpPrintingOptionParser.format_epilog to replace
- NonWrappingEpilogIndentedHelpFormatter and allow us to lazily initialize
- per-command help (thus removing the need for the cached_scm hack in BugzillaTool).
- - Make --help only show a list of commands like "svn help" and "git help" do --
- previously --help was listing all commands and options.
- - Sort list of commands alphabetically.
-
-2009-11-21 Eric Seidel <eric@webkit.org>
-
- No review. Fixing a typo from the previous patch for bug 31767.
-
- AbstractQueue.run_bugzilla_tool throws an exception
- https://bugs.webkit.org/show_bug.cgi?id=31769
-
- * Scripts/modules/commands/queues.py:
-
-2009-11-21 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- commit-queue fails to run with "permissions error" due to bad bugzilla-tool path
- https://bugs.webkit.org/show_bug.cgi?id=31767
-
- What we really want to test is BugzillaTool.path() instead of TrivialTool.path().
- Since we don't have a good way to test BugzillaTool pieces, I've
- left out a test for now.
-
- * Scripts/bugzilla-tool:
- - Add a path() implementation to expose bugzilla-tool's __file__ path to commit-queue.
- * Scripts/modules/commands/queues.py:
- - Use tool.path() instead of __file__.
- * Scripts/modules/multicommandtool.py:
- - Add a new path() method to MultiComandTool.
- * Scripts/modules/multicommandtool_unittest.py:
- - Provide a path() method. Little point in testing this mock implementation.
-
-2009-11-21 Adam Barth <abarth@webkit.org>
-
- Unreviewed "build" fix. Turns out I was testing the wrong copy of
- WebKitTools.
-
- * Scripts/modules/commands/download.py:
-
-2009-11-21 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Convert check-style to use LandingSequence
- https://bugs.webkit.org/show_bug.cgi?id=31763
-
- Instead of manipulating the working copy by hand, we should use the
- LandingSequence in CheckStyle. This will make this code eaiser to
- test.
-
- * Scripts/modules/commands/download.py:
-
-2009-11-20 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Unit test query commands
- https://bugs.webkit.org/show_bug.cgi?id=31755
-
- These tests are pretty rough, but hopefully they'll grow.
-
- * Scripts/modules/commands/queries_unittest.py: Added.
- * Scripts/modules/mock_bugzillatool.py: Added.
- * Scripts/run-webkit-unittests:
-
-2009-11-20 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Fix a bunch of unit test regressions from our recent bugzilla-toll hacking
- https://bugs.webkit.org/show_bug.cgi?id=31758
-
- * Scripts/modules/multicommandtool.py:
- - Allow passing of explicit commands to MultiCommandTool.__init__
- * Scripts/modules/multicommandtool_unittest.py:
- - Use new Command.name naming system.
- - Test Command auto-discovery.
- * Scripts/modules/workqueue.py:
- - bug_id no longer exists, use patch['bug_id'] instead.
- * Scripts/modules/workqueue_unittest.py:
- - WorkQueues require names now.
- - should_proceed_with_work_item must return a patch object.
-
-2009-11-20 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Beth Dakin.
-
- WAI-ARIA: add support for aria-owns
- https://bugs.webkit.org/show_bug.cgi?id=31702
-
- * DumpRenderTree/AccessibilityUIElement.cpp:
- (ariaOwnsElementAtIndexCallback):
- (AccessibilityUIElement::getJSClass):
- * DumpRenderTree/AccessibilityUIElement.h:
- * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
- (AccessibilityUIElement::ariaOwnsElementAtIndex):
- * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
- (AccessibilityUIElement::ariaOwnsElementAtIndex):
- * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
- (AccessibilityUIElement::ariaOwnsElementAtIndex):
-
-2009-11-20 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Fix exception thrown when running the commit-queue.
-
- * Scripts/modules/statusbot.py: patch is optional.
- * Scripts/modules/workqueue.py: WorkQUeue requires a name.
-
-2009-11-20 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Teach the StatusBot how to support more than just the commit-queue
- https://bugs.webkit.org/show_bug.cgi?id=31754
-
- * Scripts/modules/workqueue.py: Another typo.
-
-2009-11-20 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Teach the StatusBot how to support more than just the commit-queue
- https://bugs.webkit.org/show_bug.cgi?id=31754
-
- * Scripts/modules/commands/queues.py: Fix silly typo.
-
-2009-11-20 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Teach the StatusBot how to support more than just the commit-queue
- https://bugs.webkit.org/show_bug.cgi?id=31754
-
- * CommitQueueStatus/index.yaml:
- - Add indices required for the new queries.
- * CommitQueueStatus/queue_status.py:
- - Add a patch-status page and move update_status to update-status.
- - Only display "commit-queue" status records for the commit-queue.
- - Add support for a queue_name property on status records.
- - Fix _int_from_request to actually work.
- * CommitQueueStatus/update_status.html:
- - Add support for a queue_name on status records.
- - Remove unused list of bug ids.
- * Scripts/modules/commands/queues.py
- - Make the queues pass the patch instead of the bug_id to StatusBot.
- * Scripts/modules/statusbot.py:
- - Support passing the queue_name to the status updates.
- - Support fetching patch status with patch_status().
- * Scripts/modules/workqueue.py:
- - Pass the patch to the StatusBot instead of the bug_id.
- - Let WorkQueues have a name.
-
-2009-11-20 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Move bugzilla-tool commands into their own file
- https://bugs.webkit.org/show_bug.cgi?id=31752
-
- This will let us write unit tests.
-
- * Scripts/bugzilla-tool:
- * Scripts/modules/commands/__init__.py: Added.
- * Scripts/modules/commands/download.py: Added.
- * Scripts/modules/commands/queries.py: Added.
- * Scripts/modules/commands/queues.py: Added.
- * Scripts/modules/commands/upload.py: Added.
- * Scripts/modules/grammar.py: Added.
-
-2009-11-20 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- BuildQueue should check if the tree is currently buildable
- https://bugs.webkit.org/show_bug.cgi?id=31744
-
- * Scripts/bugzilla-tool:
- * Scripts/modules/landingsequence.py:
- * Scripts/modules/webkitlandingscripts.py:
-
-2009-11-20 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Move prepare_clean_working_directory into the LandingSequence
- https://bugs.webkit.org/show_bug.cgi?id=31743
-
- * Scripts/bugzilla-tool:
- * Scripts/modules/landingsequence.py:
-
-2009-11-20 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- NPN_ReloadPlugins does not reload the page even if reloadPages is true.
- https://bugs.webkit.org/show_bug.cgi?id=30460
-
- Added code for calling NPN_ReloadPlugins with reloadPages true and false.
-
- * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
- (pluginInvoke):
-
-2009-11-20 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Pass the port information to the child process
- https://bugs.webkit.org/show_bug.cgi?id=31736
-
- We need to do this so the child process knows what to build!
-
- * Scripts/bugzilla-tool:
- * Scripts/modules/landingsequence.py:
- * Scripts/modules/webkitport.py:
- * Scripts/modules/webkitport_unittest.py:
-
-2009-11-20 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Support Qt port in build-queue
- https://bugs.webkit.org/show_bug.cgi?id=31733
-
- * Scripts/bugzilla-tool:
-
-2009-11-20 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Implement a build-queue
- https://bugs.webkit.org/show_bug.cgi?id=31725
-
- Currently this just builds the first 10 patches in the review queue.
- We'll want to do something smarter soon.
-
- * Scripts/bugzilla-tool:
-
-2009-11-20 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Make commit-queue and style-queue show up in help
- https://bugs.webkit.org/show_bug.cgi?id=31724
-
- We need to store their names on their class to make these commands
- properly register themselves with MultiCommandTool.
-
- * Scripts/bugzilla-tool:
-
-2009-11-20 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Implement bugzilla-tool build-attachment
- https://bugs.webkit.org/show_bug.cgi?id=31722
-
- This command builds an attachment from bugzilla. It leaves the built
- patch in the working copy.
-
- * Scripts/bugzilla-tool:
- * Scripts/modules/landingsequence.py:
- * Scripts/modules/webkitlandingscripts.py:
-
-2009-11-20 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] DRT release event does not create the state correctly
- https://bugs.webkit.org/show_bug.cgi?id=31717
-
- * WebKitTools/DumpRenderTree/gtk/EventSender.cpp:
-
-2009-11-20 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- MultiCommandTool should find Command objects automatically instead of with a manual list
- https://bugs.webkit.org/show_bug.cgi?id=31710
-
- * Scripts/bugzilla-tool:
- * Scripts/modules/multicommandtool.py:
- - Use some wild python-fu to crawl all the known subclasses of Command.
-
-2009-11-20 Adam Barth <abarth@webkit.org>
-
- Unreviewed "build" fix. Added missing import.
-
- * Scripts/bugzilla-tool:
-
-2009-11-20 Adam Barth <abarth@webkit.org>
-
- Unreviewed "build" fix. I failed to update LandingSequence.test
- properly.
-
- * Scripts/modules/landingsequence.py:
-
-2009-11-20 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Create LandingSequence as the all-sing, all-dance landing class
- https://bugs.webkit.org/show_bug.cgi?id=31709
-
- Client can inherit from this class to carefully control exactly which
- steps they wish to have happen in the landing sequence.
-
- * Scripts/bugzilla-tool:
- * Scripts/modules/landingsequence.py: Added.
- * Scripts/modules/webkitlandingscripts.py: Added.
-
-2009-11-19 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Abstract AbstractPatchProcessingCommand from AbstractPatchLandingCommand
- https://bugs.webkit.org/show_bug.cgi?id=31707
-
- This is to help when we implement build-attachment.
-
- * Scripts/bugzilla-tool:
-
-2009-11-19 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Support Qt port in bugzilla-tool
- https://bugs.webkit.org/show_bug.cgi?id=31701
-
- Now we support building with Qt!
-
- * Scripts/bugzilla-tool:
- * Scripts/modules/webkitport.py: Added.
- * Scripts/modules/webkitport_unittest.py: Added.
- * Scripts/run-webkit-unittests:
-
-2009-11-19 Zoltan Horvath <zoltan@webkit.org>
-
- Reviewed by Adam Barth.
-
- Remove inserting stderr into patch in bugzilla-tool
- https://bugs.webkit.org/show_bug.cgi?id=29914
-
- Modify SCM python module's run_command function to avoid return of stderr
- by default, so stderr won't be inserted into the patches.
- Modify the related unit test.
-
- * Scripts/modules/scm.py:
- * Scripts/modules/scm_unittest.py:
-
-2009-11-19 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- bugzilla-tool needs per-command help
- https://bugs.webkit.org/show_bug.cgi?id=31697
-
- Added support for "bugzilla-tool help command-name"
- and a unit test to make sure it works.
-
- * Scripts/modules/multicommandtool.py:
- * Scripts/modules/multicommandtool_unittest.py:
-
-2009-11-19 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Move MultiCommandTool and Command into a separate file and add some basic unit tests
- https://bugs.webkit.org/show_bug.cgi?id=31695
-
- * Scripts/bugzilla-tool:
- * Scripts/modules/multicommandtool.py: Added.
- * Scripts/modules/multicommandtool_unittest.py: Added.
- * Scripts/run-webkit-unittests:
-
-2009-11-19 Eric Seidel <eric@webkit.org>
-
- No review, just adding a FIXME.
-
- Split out command parsing and help printing from BugzillaTool
- https://bugs.webkit.org/show_bug.cgi?id=31688
-
- * Scripts/bugzilla-tool: Add an extra comment about current design failures.
-
-2009-11-19 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Split out command parsing and help printing from BugzillaTool
- https://bugs.webkit.org/show_bug.cgi?id=31688
-
- * Scripts/bugzilla-tool:
- - Add new MultiCommandTool class to contain option parsing and help printing logic.
- - Rename private methods to use _ pattern.
- - MultiCommandTool has two abstract methods should_show_command_help and should_execute_command.
- -
-
-2009-11-19 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Re-factor help printing to use modern python idioms
- https://bugs.webkit.org/show_bug.cgi?id=31685
-
- * Scripts/bugzilla-tool:
-
-2009-11-19 Eric Seidel <eric@webkit.org>
-
- Reviewed by Darin Adler.
-
- commit-queue empty queue logs twice
- https://bugs.webkit.org/show_bug.cgi?id=31679
-
- * Scripts/bugzilla-tool:
-
-2009-11-19 Eric Seidel <eric@webkit.org>
-
- Reviewed by Darin Adler.
-
- bugzilla-tool's reviewer/committer rejection message should be clearer
- https://bugs.webkit.org/show_bug.cgi?id=31126
-
- Add more explanatory prose to bugzilla-tool's flag permission rejection message.
-
- * Scripts/modules/bugzilla.py:
-
-2009-11-19 Eric Z. Ayers <zundel@google.com>
-
- Reviewed by Pavel Feldman.
-
- Forces a WM_PAINT event on calling layoutTestController.display()
- in order to enable the timeline-paint.html test on Windows.
- ::UpdateWindow() does not force an event becaue the window is
- not visible.
-
- https://bugs.webkit.org/show_bug.cgi?id=31402
-
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (displayWebView):
-
-2009-11-19 Michelangelo De Simone <michelangelo@webkit.org>
-
- No review needed.
-
- Added myself to committers list.
-
- * Scripts/modules/committers.py:
-
-2009-11-19 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Bugzilla-tool command classes should match command names
- https://bugs.webkit.org/show_bug.cgi?id=31666
-
- I renamed all the commands except CommitMessageForCurrentDiff because
- the new name would conflict with an existing class.
-
- * Scripts/bugzilla-tool:
-
-2009-11-19 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Gustavo Noronha Silva.
-
- Web Inspector: Implement "show inspector" in WebKit GTK
- API and enable console tests.
-
- https://bugs.webkit.org/show_bug.cgi?id=31669
-
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::showWebInspector):
-
-2009-11-19 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- Minor refactoring + more documentation.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::clearHistory):
- (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting):
-
-2009-11-19 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Ignore websocket tests when --no-http is specified.
- https://bugs.webkit.org/show_bug.cgi?id=31662
-
- * Scripts/run-webkit-tests:
-
-2009-11-18 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Normalize ' and " in bugzilla-tool
- https://bugs.webkit.org/show_bug.cgi?id=31655
-
- We decided " is better than ' and we should be consistent.
-
- * Scripts/bugzilla-tool:
-
-2009-11-18 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Remove support for Qt v4.3 or older versions
- https://bugs.webkit.org/show_bug.cgi?id=29469
-
- * DumpRenderTree/qt/DumpRenderTree.pro:
- * DumpRenderTree/qt/ImageDiff.pro:
-
-2009-11-18 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Eric Seidel.
-
- GitTest.test_create_binary_patch fails if /tmp is symlink
- https://bugs.webkit.org/show_bug.cgi?id=31536
-
- * Scripts/modules/scm_unittest.py:
-
-2009-11-18 Yaar Schnitman <yaar@chromium.org>
-
- Reviewed by Darin Adler.
-
- Configuration for Chromium Build Slaves.
-
- https://bugs.webkit.org/show_bug.cgi?id=31442
-
- * BuildSlaveSupport/build.webkit.org-config/config.json:
- * BuildSlaveSupport/build.webkit.org-config/master.cfg:
-
-2009-11-18 Eric Seidel <eric@webkit.org>
-
- Reviewed by Darin Adler.
-
- workqueue.py results in totally broken commit-queue UI
- https://bugs.webkit.org/show_bug.cgi?id=31645
-
- * Scripts/bugzilla-tool:
- - Remove unneeded use of PatchCollection.
- - Grab a new copy of the cq'd patches every run of the queue.
-
-2009-11-18 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Make the Mac Geolocation API async.
-
- Update DRT to use the new async Mac Geolocation API.
-
- * DumpRenderTree/mac/UIDelegate.mm:
- (-[UIDelegate webView:decidePolicyForGeolocationRequestFromOrigin:frame:listener:]):
-
-2009-11-18 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Add and option to toggle HTML5 datalist support to build-webkit
- https://bugs.webkit.org/show_bug.cgi?id=31599
-
- * Scripts/build-webkit:
-
-2009-11-18 Kevin Watters <kevinwatters@gmail.com>
-
- Reviewed by Kevin Ollivier.
-
- Enable wx plugin support using the Windows implementation as a base.
-
- https://bugs.webkit.org/show_bug.cgi?id=31636
-
- * wx/build/settings.py:
-
-2009-11-18 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- Change the initialization order so that the controllers
- will be created before exporting them to the JS DOM window.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::DumpRenderTree::DumpRenderTree):
-
-2009-11-18 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- Fix a code copy and paste error. m_page should be page.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::DumpRenderTree::createWindow):
-
-2009-11-17 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- <http://webkit.org/b/31603> WebSocket server is confused if WebKit tests run from within /tmp on Mac OS X
-
- * pywebsocket/mod_pywebsocket/dispatch.py: Use os.path.realpath as it returns the canonical path of a file.
- This prevents symlinks from confusing the descendant check.
-
-2009-11-17 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- <http://webkit.org/b/31602> Failing to start the WebSocket server shouldn’t terminate entire test run
-
- If the WebSocket server fails to start have DRT load an error page in place of tests that require the
- server to be up rather than having run-webkit-tests abort immediately.
-
- * Scripts/run-webkit-tests:
-
-2009-11-17 Eric Seidel <eric@webkit.org>
-
- Reviewed by Darin Adler.
-
- commit-queue is failing to set reviewer in ChangeLogs
- https://bugs.webkit.org/show_bug.cgi?id=31592
-
- * Scripts/bugzilla-tool: Clarify the "applying" log message.
- * Scripts/modules/bugzilla.py:
- - Add a new _validate_committer_and_reviewer function as a
- temporary solution until we can make a real Attachment object
- which knows how to fill in its committer/reviewer fields automatically.
-
-2009-11-17 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Unreviewed buildbot fix.
-
- Revert part of earlier patch and add comment, as it
- was causing timeouts on the buildbot.
-
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::notifyDone):
-
-2009-11-17 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Oliver Hunt.
-
- Make the timeout 15 sec as for the other DRT's and make
- it print out the same output when a test timeout.
-
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::waitUntilDone):
- (LayoutTestController::notifyDone):
- (LayoutTestController::timerEvent):
-
-2009-11-17 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by Timothy Hatcher.
-
- Fixed typos in comments.
-
- * Scripts/modules/committers.py:
-
-2009-11-17 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Make DRT show web inspector for tests in inspector/ folder.
- - Updated DRT to show/close inspector for all tests under /inspector
- - Introduced LayoutTestController::setTimelineProfilingEnabled and
- WebInspector::setTimelineProfilingEnabled beside setJavaScriptProfilingEnabled
- - Removed reload on each inspector test
- - Renamed fast/inspector to fast/inspector-support in order not to trigger
- inspector for those.
- - Reimplemented timeline tests in order to get rid of reload there.
- - Moved tests that don't require harness into the fast group.
-
- https://bugs.webkit.org/show_bug.cgi?id=31472
-
- * DumpRenderTree/LayoutTestController.cpp:
- (setTimelineProfilingEnabledCallback):
- (closeWebInspectorCallback):
- (LayoutTestController::staticFunctions):
- * DumpRenderTree/LayoutTestController.h:
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (shouldOpenWebInspector):
- (runTest):
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::setTimelineProfilingEnabled):
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (shouldOpenWebInspector):
- (runTest):
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (LayoutTestController::setTimelineProfilingEnabled):
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (shouldOpenWebInspector):
- (runTest):
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::setTimelineProfilingEnabled):
-
-2009-11-17 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Incorrect use of JavaScriptCore API in DumpRenderTree
- https://bugs.webkit.org/show_bug.cgi?id=31577
-
- Return undefined rather than a literal null.
-
- * DumpRenderTree/AccessibilityUIElement.cpp:
- (setSelectedTextRangeCallback):
- (incrementCallback):
- (decrementCallback):
- (showMenuCallback):
-
-2009-11-16 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Beth Dakin.
-
- AX: aria-labelledby duplicates some of its WAI-ARIA label
- https://bugs.webkit.org/show_bug.cgi?id=31565
-
- * DumpRenderTree/AccessibilityUIElement.cpp:
- (titleUIElementCallback):
- (getIsValidCallback):
- (AccessibilityUIElement::getJSClass):
-
-2009-11-16 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- r50942 broke output from created windows. Make the
- m_enableTextOutput a member of the DRT and not the
- WebPage.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::WebPage::WebPage):
- (WebCore::WebPage::javaScriptAlert):
- (WebCore::WebPage::javaScriptConsoleMessage):
- (WebCore::WebPage::javaScriptConfirm):
- (WebCore::WebPage::javaScriptPrompt):
- (WebCore::WebPage::acceptNavigationRequest):
- (WebCore::DumpRenderTree::DumpRenderTree):
- (WebCore::DumpRenderTree::open):
- (WebCore::DumpRenderTree::createWindow):
- * DumpRenderTree/qt/DumpRenderTree.h:
- (WebCore::DumpRenderTree::setTextOutputEnabled):
- (WebCore::DumpRenderTree::isTextOutputEnabled):
- (WebCore::WebPage::shouldInterruptJavaScript):
- (WebCore::WebPage::isTextOutputEnabled):
- (WebCore::WebPage::setViewGeometry):
-
-2009-11-16 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Gustavo Noronha Silva.
-
- Moved DumpRenderTree/gtk/TestNetscapePlugin to DumpRenderTree/unix/TestNetscapePlugin
- as the implementation is being used by at least Qt and Gtk+.
-
- Update buildsystems as well.
-
- * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro:
- * DumpRenderTree/unix/TestNetscapePlugin/ForwardingHeaders/WebKit/npapi.h:
- * DumpRenderTree/unix/TestNetscapePlugin/ForwardingHeaders/WebKit/npfunctions.h:
- * DumpRenderTree/unix/TestNetscapePlugin/ForwardingHeaders/WebKit/npruntime.h:
- * DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp:
- * GNUmakefile.am:
-
-2009-11-16 Yuzo Fujishima <yuzo@google.com>
-
- Reviewed by Alexey Proskuryakov.
-
- Disable wss until all platforms support pyOpenSSL
-
- https://bugs.webkit.org/show_bug.cgi?id=31479
-
- * Scripts/run-webkit-tests:
-
-2009-11-14 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Kenneth Christiansen.
-
- [Qt] Implement load error pages support for Qt's DRT.
- https://bugs.webkit.org/show_bug.cgi?id=31509
-
- For now, it will not be a default feature, and layout tests
- that want to make use of this have to explicitily call
- 'handleErrorPages();' for the test source.
-
- Any of the other DumpRenderTree's (mac, win and gtk)
- support handling error pages. Qt's will be the first.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::WebPage::supportsExtension):
- (WebCore::WebPage::extension):
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::reset):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
- (LayoutTestController::shouldHandleErrorPages):
- (LayoutTestController::handleErrorPages):
-
-2009-11-16 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Rename the --commit-queue flag on land-* now that the commit-queue needs no special treatment
- https://bugs.webkit.org/show_bug.cgi?id=31549
-
- Renamed --commit-queue to --non-interactive in most places
- and remove the code in land-patches which is no longer needed.
-
- * Scripts/bugzilla-tool:
-
-2009-11-16 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- The commit-queue should use land-attachment
- https://bugs.webkit.org/show_bug.cgi?id=31548
-
- * Scripts/bugzilla-tool:
-
-2009-11-16 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Convert CommitQueue over to PatchCollection
- https://bugs.webkit.org/show_bug.cgi?id=31547
-
- Also fixes a bug in workqueue and adds a test!
-
- * Scripts/bugzilla-tool:
- * Scripts/modules/workqueue.py:
- * Scripts/modules/workqueue_unittest.py:
-
-2009-11-16 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Move StyleQueue over to using PatchCollection
- https://bugs.webkit.org/show_bug.cgi?id=31544
-
- That's what the class it's for.
-
- * Scripts/bugzilla-tool:
- * Scripts/modules/patchcollection.py:
- * Scripts/modules/patchcollection_unittest.py:
-
-2009-11-16 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- bugzilla-tool needs a land-attachment command
- https://bugs.webkit.org/show_bug.cgi?id=31546
-
- * Scripts/bugzilla-tool:
- - Move all the logic into AbstractLandingCommand and
- add a new LandAttachment command subclass.
- - Split out _collect_patches_by_bug logging from _fetch_list_of_patches_to_land.
-
-2009-11-16 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Move more patch-landing code into WebKitLandingScripts in preparation for land-attachment
- https://bugs.webkit.org/show_bug.cgi?id=31543
-
- Just moving code and updating the one caller to use WebKitLandingScripts instead of 'self'.
-
- * Scripts/bugzilla-tool:
-
-2009-11-16 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Disable the style queue from posting to the commit queue status page.
-
- * Scripts/bugzilla-tool:
-
-2009-11-16 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Implement PatchCollection
- https://bugs.webkit.org/show_bug.cgi?id=31541
-
- This class holds a set of patches and lets clients iterate through
- them. Optionally, clients can install a filter.
-
- * Scripts/modules/patchcollection.py: Added.
- * Scripts/modules/patchcollection_unittest.py: Added.
- * Scripts/run-webkit-unittests:
-
-2009-11-16 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- bugzilla-tool land-patches will close bugs with patches r=?
- https://bugs.webkit.org/show_bug.cgi?id=28230
-
- The commit-queue shouldn't close patches with outstanding reviews on them,
- even if many reviewers seem to be against multi-patch bugs.
-
- * Scripts/bugzilla-tool:
-
-2009-11-16 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- bugzilla-tool check-style should work with attachment ids instead of bug ids
- https://bugs.webkit.org/show_bug.cgi?id=31540
-
- * Scripts/bugzilla-tool:
-
-2009-11-16 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- WorkQueue is the only place that should know about special exit codes
- https://bugs.webkit.org/show_bug.cgi?id=31534
-
- Move LandPatchesFromBugs.handled_error to WorkQueue.exit_after_handled_error
- and add tests for handling exit codes.
- I also cleaned up workqueue_unittest.py more.
-
- * Scripts/bugzilla-tool:
- * Scripts/modules/workqueue.py:
- * Scripts/modules/workqueue_unittest.py:
-
-2009-11-16 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Re-factor workqueue_unittest to allow for more than one test.
- https://bugs.webkit.org/show_bug.cgi?id=31535
-
- * Scripts/modules/workqueue_unittest.py:
-
-2009-11-16 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- land-patches needs to be re-factored into smaller chunks
- https://bugs.webkit.org/show_bug.cgi?id=31532
-
- * Scripts/bugzilla-tool: fix a couple obvious typos.
-
-2009-11-16 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- land-patches needs to be re-factored into smaller chunks
- https://bugs.webkit.org/show_bug.cgi?id=31532
-
- The next patch will move these methods into WebKitLandingScripts.
-
- * Scripts/bugzilla-tool:
- - Split out _land_patch and _close_bug_if_no_active_patches.
-
-2009-11-16 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Fix silly copy-and-paste code. I am a terrible coder.
-
- * Scripts/modules/bugzilla.py:
-
-2009-11-16 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Implement a StyleQueue
- https://bugs.webkit.org/show_bug.cgi?id=31537
-
- The first iteration of the style queue only produces output locally.
- There is also a limit of 10 patches because it's not that useful to
- iterate through the entire review queue at this point. We can remove
- the limit later.
-
- * Scripts/bugzilla-tool:
- * Scripts/modules/bugzilla.py:
-
-2009-11-16 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Unit test WorkQueue
- https://bugs.webkit.org/show_bug.cgi?id=31531
-
- Adds basic unit testing for WorkQueue. Just runs through one cycle.
-
- * Scripts/bugzilla-tool:
- * Scripts/modules/statusbot.py:
- * Scripts/modules/workqueue.py:
- * Scripts/modules/workqueue_unittest.py: Added.
- * Scripts/run-webkit-unittests:
-
-2009-11-16 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- bugzilla-tool land-diff should know how to parse bug ids out of ChangeLogs
- https://bugs.webkit.org/show_bug.cgi?id=31530
-
- * Scripts/bugzilla-tool:
-
-2009-11-16 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- bugzilla-tool needs apply-attachment
- https://bugs.webkit.org/show_bug.cgi?id=31528
-
- * Scripts/bugzilla-tool:
- - Add ApplyAttachment command.
- - Abstract applying code into WebKitApplyingScripts.
- - Rename setup_for_landing to prepare_clean_working_directory and make local_commit checking optional.
- * Scripts/modules/bugzilla.py:
- - Add fetch_attachment and bug_id_for_attachment_id.
- * Scripts/modules/bugzilla_unittest.py:
- - Add test for new parsing.
- - Fix previous parsing test which broke with Adam's check-style patch (bug 31515).
-
-2009-11-16 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Document check-style's use of force_clean.
-
- * Scripts/bugzilla-tool:
- * Scripts/modules/scm.py:
-
-2009-11-16 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Move WorkQueue to its own file
- https://bugs.webkit.org/show_bug.cgi?id=31529
-
- WorkQueue and WorkQueueDelegate are separate concerns from
- bugzilla-tool. Also added a missing include to logging.py.
-
- * Scripts/bugzilla-tool:
- * Scripts/modules/logging.py:
- * Scripts/modules/workqueue.py:
-
-2009-11-16 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Move OutputTee to logging.py.
-
- * Scripts/bugzilla-tool:
- * Scripts/modules/logging.py:
-
-2009-11-15 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Refactor bugzilla-tool to allow for multiple queues
- https://bugs.webkit.org/show_bug.cgi?id=31513
-
- Divide the commit queue class into three class to make creating
- additional queues easier.
-
- * Scripts/bugzilla-tool:
-
-2009-11-15 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Eric Seidel.
-
- svn-apply may not handle git patches created by bugzilla-tool
- https://bugs.webkit.org/show_bug.cgi?id=31457
-
- * Scripts/modules/scm.py:
- * Scripts/modules/scm_unittest.py:
-
-2009-11-15 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Eric Seidel.
-
- bugzilla-tool should post git binary diff
- https://bugs.webkit.org/show_bug.cgi?id=31458
-
- Add --binary option to Git.create_patch.
-
- * Scripts/modules/scm.py:
- * Scripts/modules/scm_unittest.py:
-
-2009-11-15 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Adler.
-
- Add bugzilla-tool check-style
- https://bugs.webkit.org/show_bug.cgi?id=31515
-
- * Scripts/bugzilla-tool:
- * Scripts/modules/bugzilla.py:
-
-2009-11-13 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- Make the Qt Linux only --valgrind feature, suppress errors
- defined in the SuppressedValgrindErrors file.
-
- * Scripts/run-webkit-tests:
-
-2009-11-13 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- Set the locale to C and not to the current one in use on the system.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting):
-
-2009-11-13 Adam Roben <aroben@apple.com>
-
- Add support for
- http/tests/security/isolatedWorld/didClearWindowObject.html
-
- Fixes <http://webkit.org/b/31124> Tell the WebFrameLoadDelegate when
- window objects in isolated worlds are cleared
-
- Reviewed by Dave Hyatt.
-
- * DumpRenderTree/mac/DumpRenderTreeMac.h: Declared worldIDForWorld.
-
- * DumpRenderTree/mac/FrameLoadDelegate.mm:
- (-[FrameLoadDelegate didClearWindowObjectInStandardWorldForFrame:]):
- Added. Moved code here from -webView:didClearWindowObject:forFrame:.
- (-[FrameLoadDelegate didClearWindowObjectForFrame:inIsolatedWorld:]):
- Added. Sets a __worldID property on the global object whose value is
- the ID of this world.
- (-[FrameLoadDelegate webView:didClearWindowObjectForFrame:inScriptWorld:]):
- Respond to this new delegate callback by calling through to one of the
- above new methods.
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (worldMap): Added. Returns a HashMap containing all the worlds we've
- created.
- (worldIDForWorld): Added. Returns the ID for this world, or 0 if we
- haven't kept track of this world.
- (LayoutTestController::evaluateScriptInIsolatedWorld): Use worldMap()
- instead of declaring our own.
-
- * DumpRenderTree/win/DumpRenderTreeWin.h: Declared worldIDForWorld.
-
- * DumpRenderTree/win/FrameLoadDelegate.cpp:
- (FrameLoadDelegate::didClearWindowObject): Moved code from hear to
- didClearWindowObjectForFrameInStandardWorld.
- (FrameLoadDelegate::didClearWindowObjectForFrameInScriptWorld):
- Respond to this new delegate callback by calling through to one of the
- below new methods.
- (FrameLoadDelegate::didClearWindowObjectForFrameInIsolatedWorld):
- Added. Sets a __worldID property on the gobal object whose value is
- the ID of this world.
- (FrameLoadDelegate::didClearWindowObjectForFrameInStandardWorld):
- Added. Moved code here from didClearWindowObject.
-
- * DumpRenderTree/win/FrameLoadDelegate.h: Added the
- didClearWindowObjectForFrame* functions.
-
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (worldMap): Added. Returns a HashMap containing all the worlds we've
- created.
- (worldIDForWorld): Added. Returns the ID of this world, or 0 if we
- haven't kept track of this world.
- (LayoutTestController::evaluateScriptInIsolatedWorld): Use worldMap()
- instead of declaring our own.
-
-2009-11-13 Adam Roben <aroben@apple.com>
-
- Finish replacing worldIDs with world objects
-
- The only remaining use of worldIDs was in a method only used by DRT
- for the isolated worlds tests.
-
- Fixes <http://webkit.org/b/31414> Replace worldIDs with world objects
-
- Reviewed by Mark Rowe.
-
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (LayoutTestController::evaluateScriptInIsolatedWorld):
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::evaluateScriptInIsolatedWorld):
- Updated for changes to WebFrame. Now holds the map of worldID -> world
- at this level instead of making WebKit do it.
-
-2009-11-13 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Ensure the DRT does not output anything until first test is run
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- * DumpRenderTree/qt/DumpRenderTree.h:
-
-2009-11-13 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Tor Arne Vestbø.
-
- Clear the undo stack in before each new test run.
-
- Locally fixes 3 incorrect layouts, 9 timeouts and 7 crashes.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting):
-
-2009-11-13 Andras Becsi <becsi.andras@stud.u-szeged.hu>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Add WebKitUsesPageCachePreferenceKey overriding support to DRT's LayoutTestController.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::WebPage::resetSettings):
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::overridePreference):
-
-2009-11-13 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Update committers.py based on svn records
- https://bugs.webkit.org/show_bug.cgi?id=31366
-
- This list was generated using validate-committer-lists from
- https://bugs.webkit.org/show_bug.cgi?id=30970
- and makes committers.py current for committers who have
- committed in the last 3 years.
-
- * Scripts/modules/committers.py:
-
-2009-11-12 Anantanarayanan G Iyengar <ananta@chromium.org>
-
- Reviewed by Adam Barth.
-
- The document-open.html test was flaky at times. The test invokes the layout test plugin
- which in its destroy stream handler opens a new document. This basically tears down the
- stream and the associated plugin instance. The pluginLog function in the layout test
- plugin attempts to retrieve the window script object on a torn down plugin instance
- which crashed consistently on windows in the debugger. The functions which issue
- these logs already have a valid window script object. We now have variants of the pluginLog
- function which take in a window script object with and without variable arguments.
-
- https://bugs.webkit.org/show_bug.cgi?id=31067
-
- * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
- (pluginLogWithWindowObject):
- (pluginLogWithWindowObjectVariableArgs):
- (pluginLog):
- (notifyTestCompletion):
- (testDocumentOpen):
- (testWindowOpen):
-
-2009-11-12 Joanmarie Diggs <joanmarie.diggs@gmail.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- https://bugs.webkit.org/show_bug.cgi?id=30997
- [Gtk] Implemment AtkDocument
-
- Added testing support.
-
- * DumpRenderTree/AccessibilityUIElement.cpp:
- * DumpRenderTree/AccessibilityUIElement.h:
- (getDocumentEncodingCallback):
- (getDocumentURICallback):
- (AccessibilityUIElement::getJSClass):
- * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
- * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
- * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
- (AccessibilityUIElement::documentEncoding):
- (AccessibilityUIElement::documentURI):
-
-2009-11-12 Adam Roben <aroben@apple.com>
-
- Replace worldIDs with world objects
-
- Part of <http://webkit.org/b/31414> Implement new SPI for dealing with
- user scripts/stylesheets and isolated worlds
-
- Reviewed by Sam Weinig.
-
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (LayoutTestController::addUserScript):
- (LayoutTestController::addUserStyleSheet):
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::addUserScript):
- (LayoutTestController::addUserStyleSheet):
- Changed these functions to create a new WebJSWorld each time they're
- called and to pass that world to WebKit.
-
-2009-11-11 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Oliver Hunt.
-
- need to implement aria tree roles
- https://bugs.webkit.org/show_bug.cgi?id=31284
-
- * DumpRenderTree/AccessibilityUIElement.cpp:
- (disclosedRowAtIndexCallback):
- (selectedRowAtIndexCallback):
- (isEqualCallback):
- (isAttributeSettableCallback):
- (isActionSupportedCallback):
- (disclosedByRowCallback):
- (hierarchicalLevelCallback):
- (AccessibilityUIElement::getJSClass):
- * DumpRenderTree/AccessibilityUIElement.h:
- (AccessibilityUIElement::isEqual):
- * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
- (AccessibilityUIElement::hierarchicalLevel):
- (AccessibilityUIElement::disclosedRowAtIndex):
- (AccessibilityUIElement::selectedRowAtIndex):
- (AccessibilityUIElement::disclosedByRow):
- * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
- (AccessibilityUIElement::getChildAtIndex):
- (AccessibilityUIElement::disclosedRowAtIndex):
- (AccessibilityUIElement::selectedRowAtIndex):
- (AccessibilityUIElement::titleUIElement):
- (AccessibilityUIElement::parentElement):
- (AccessibilityUIElement::disclosedByRow):
- (AccessibilityUIElement::hierarchicalLevel):
- * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
- (AccessibilityUIElement::hierarchicalLevel):
- (AccessibilityUIElement::disclosedRowAtIndex):
- (AccessibilityUIElement::selectedRowAtIndex):
- (AccessibilityUIElement::disclosedByRow):
-
-2009-11-11 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Darin Adler.
-
- svn-apply can not handle git binary diffs
- https://bugs.webkit.org/show_bug.cgi?id=26830
-
- Support "literal" type git binary diffs.
-
- * Scripts/VCSUtils.pm:
- * Scripts/modules/scm_unittest.py:
- * Scripts/svn-apply:
-
-2009-11-11 Dmitry Titov <dimich@chromium.org>
-
- Not reviewed, removing duplicate entry for myself in committers.py.
-
- * Scripts/modules/committers.py:
-
-2009-11-11 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler and Mark Rowe.
-
- https://bugs.webkit.org/show_bug.cgi?id=31200
- Tests in http/tests/security/mixedContent start to fail when new tests are added
-
- * DumpRenderTree/mac/DumpRenderTree.mm: (dumpRenderTree): Added a workaround for Tiger bug.
-
-2009-11-11 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Jan Alonzo.
-
- Create, and display a window for the inspector, for inspector
- tests.
-
- Need to also show/hide the inspector window to avoid having
- problems with code assuming it is realized
- https://bugs.webkit.org/show_bug.cgi?id=31347
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (webInspectorShowWindow):
- (webInspectorCloseWindow):
- (webInspectorInspectWebView):
- (createWebView):
-
-2009-11-11 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Unreviewed Qt buildbot fix.
-
- My previous fix was wrong, so revert that change and fix it by
- returning when the document of the frame has no document element.
- Idea is borrowed from mac and win DRT.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::DumpRenderTree::dumpFramesAsText):
-
-2009-11-11 Eric Seidel <eric@webkit.org>
-
- Reviewed byg Kenneth Rohde Christiansen.
-
- Update Kenneth's committer record to include the email he
- uses on lists.webkit.org.
-
- * Scripts/modules/committers.py:
-
-2009-11-11 Eric Seidel <eric@webkit.org>
-
- Reviewed by Gustavo Noronha Silva.
-
- Several committers use separate email addresses for bugzilla and svn.webkit.org
- https://bugs.webkit.org/show_bug.cgi?id=31364
-
- Update records for existing committers to include email addresses
- used in svn.webkit.org and lists.webkit.org.
- Most committers use the same email address in all 3 places, but some use
- separate addresses. committers.py needs record of each of these addresses.
-
- * Scripts/modules/committers.py:
-
-2009-11-11 Eric Seidel <eric@webkit.org>
-
- No review, adding second email address for an existing committer.
-
- Add Yong Li's second bugzilla account to his committer record.
- See: https://bugs.webkit.org/show_bug.cgi?id=27371#c27
-
- * Scripts/modules/committers.py:
-
-2009-11-11 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- If the frame has no innerText don't append it, and
- do not add a newline which breaks some cross platform
- results.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::DumpRenderTree::dumpFramesAsText):
-
-2009-11-11 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- Implement missing functionality in the Gtk/Qt TestNetscapePlugin.
-
- * DumpRenderTree/gtk/TestNetscapePlugin/TestNetscapePlugin.cpp:
- (webkit_test_plugin_new_instance):
- (webkit_test_plugin_destroy_instance):
- (webkit_test_plugin_destroy_stream):
-
-2009-11-11 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Mark Rowe.
-
- Implement the functionality needed by plugins/window-open.html
-
- * DumpRenderTree/gtk/TestNetscapePlugin/TestNetscapePlugin.cpp:
- (webkit_test_plugin_new_instance):
- (webkit_test_plugin_set_window):
-
-2009-11-11 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Force -graphicssystem raster and -style windows when running DRT
-
- * DumpRenderTree/qt/main.cpp:
- * Scripts/run-webkit-tests:
-
-2009-11-11 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Compute correct library paths for Qt
-
- * Scripts/webkitdirs.pm:
-
-2009-11-10 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Sam Weinig.
-
- <http://webkit.org/b/31200> Tests in http/tests/security/mixedContent start to fail when new tests are added
-
- The first request to an HTTPS URL results in didFailProvisionalLoadWithError being called with an error
- about the validity of the self-signed certificates used in the regression tests. We would then add the
- host to the ignore list for SSL certificate errors and retry the request. If this happened during a test
- that had enabled frame load delegate logging this would result in extra log messages being generated,
- causing the test to fail.
-
- We address this by explicitly ignoring SSL certificate errors for localhost and 127.0.0.1 before running any
- tests.
-
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (dumpRenderTree):
- * DumpRenderTree/mac/FrameLoadDelegate.mm:
- (-[FrameLoadDelegate webView:didFailProvisionalLoadWithError:forFrame:]):
-
-2009-11-10 Andras Becsi <becsi.andras@stud.u-szeged.hu>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Remove obsolete scrollbar policy settings from DRT constructor.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::DumpRenderTree::DumpRenderTree):
-
-2009-11-10 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Jan Alonzo.
-
- [GTK] Remove WebSocket configuration from WebKitWebSettings
- https://bugs.webkit.org/show_bug.cgi?id=31244
-
- Follow-up of r50724. Don't set the enable-web-socket property
- anymore.
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (resetDefaultsToConsistentValues):
-
-2009-11-10 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Rename 3D Canvas related classes to use WebGL prefix
- https://bugs.webkit.org/show_bug.cgi?id=29095
-
- Checkin new version of do-webcore-rename used to do the WebGL type rename,
- and upate webkitdirs script to new method of testing for WebGL.
-
- * Scripts/do-webcore-rename:
- * Scripts/webkitdirs.pm:
-
-2009-11-09 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Geoff Garen.
-
- Make do-webcore-rename work with git.
-
- * Scripts/do-webcore-rename:
-
-2009-11-09 Simon Hausmann <simon.hausmann@nokia.com>
-
- Adding Kenneth to the reviewers list.
-
- * Scripts/modules/committers.py:
-
-2009-11-09 Martin Robinson <martin.james.robinson@gmail.com>
-
- Reviewed by Jan Alonzo.
-
- [GTK] Expose Page::tabKeyCyclesThroughElements in the API
- https://bugs.webkit.org/show_bug.cgi?id=30482
-
- LayoutTestControllerGtk now uses the exposed
- Page::tabKeyCyclesThroughElements API
-
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::setTabKeyCyclesThroughElements):
-
-2009-11-08 Shu Chang <Chang.Shu@nokia.com>
-
- Reviewed by Holger Freyther.
-
- [Qt] Added support for key code 8 (backspace) in EventSenderQt.
- This helps to pass the test case below. Also replaced hardcoded
- code numbers with defined constants.
- https://bugs.webkit.org/show_bug.cgi?id=31185
-
- Test: editing/undo/undo-deleteWord.html
-
- * DumpRenderTree/qt/EventSenderQt.cpp:
- (EventSender::keyDown):
-
-2009-11-07 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Holger Freyther.
-
- [Qt] [DRT] Fix wrong logic in LayoutTestController processWork
- https://bugs.webkit.org/show_bug.cgi?id=31164
-
- Fixed wrong logic to assume WorkQueue is done in QT's DRT.
-
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::processWork):
-
-2009-11-05 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Holger Freyther.
-
- [Qt][DRT] Replace queueScript by queueNonLoadingScript and queueLoadingScript method
- https://bugs.webkit.org/show_bug.cgi?id=31158
-
- By invoking a script queue'd by queueScript(), 'true' was beeing returned
- always, which from WorkQueue prospective means that a load has been started
- and the queue processing should stop and wait for the load to finish.
- Spinning it off into a loading and a non-loading variants was the solution
- adopted by Mac's DRT to work around this problem. The former keeps returning
- 'true' while the later executes the script synchronously and returns 'false'
- making it possible to the WorkQueue to proceed right away.
-
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::processWork):
- (LayoutTestController::queueLoadingScript):
- (LayoutTestController::queueNonLoadingScript):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
- * DumpRenderTree/qt/WorkQueueItem.h:
- (LoadingScriptItem::LoadingScriptItem):
- (LoadingScriptItem::invoke):
- (NonLoadingScriptItem::NonLoadingScriptItem):
- (NonLoadingScriptItem::invoke):
-
-2009-11-07 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Cameron Zwarich.
-
- Invoke prepare-ChangeLog via an absolute path rather than assuming it can be found in PATH.
-
- * Scripts/commit-log-editor:
-
-2009-11-07 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Darin Adler.
-
- Fix <https://bugs.webkit.org/show_bug.cgi?id=28168>.
- commit-log-editor does not support all the email address configurations that prepare-Changelog supports
-
- Move logic for determining the name and email address to use in a ChangeLog entry from
- prepare-ChangeLog to VCSUtils so that commit-log-editor can use it. It wants to check
- whether the author of the patch matches committer, and therefore needs access to the
- email address that would be used in a ChangeLog entry.
-
- Based on a patch by Pierre d'Herbemont.
-
- * Scripts/VCSUtils.pm:
- * Scripts/commit-log-editor:
- * Scripts/prepare-ChangeLog:
- * Scripts/webkitdirs.pm:
-
-2009-11-06 Anantanarayanan G Iyengar <ananta@chromium.org>
-
- Reviewed by Adam Barth.
-
- Added functionality to the layout test plugin to invoke document.open and
- window.open with default arguments. The associated webkit bug is
- https://bugs.webkit.org/show_bug.cgi?id=31067, which affects Chromium. Basically
- window.open and document.open calls issued by NPAPI plugins via NPN_Invoke don't
- work in Chromium (V8) if there is no calling javascript context. To achieve this
- effect we invoke these functions in the layout test plugin in the NPP_SetWindow
- for the window.open test case and in NPP_DestroyStream for the document.open test case.
-
- * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
- (testDocumentOpen):
- (testWindowOpen):
- (pluginAllocate):
- * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.h:
- * DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp:
- (NPP_New):
- (NPP_SetWindow):
- (NPP_DestroyStream):
- * DumpRenderTree/win/TestNetscapePlugin/main.cpp:
- (NPP_New):
- (NPP_SetWindow):
- (NPP_NewStream):
- (NPP_DestroyStream):
-
-2009-11-06 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- bugzilla-tool crashed with exception
- https://bugs.webkit.org/show_bug.cgi?id=31092
-
- * Scripts/modules/bugzilla.py: Change a ',' to a '%' to fix the error.
-
-2009-11-04 Eric Seidel <eric@webkit.org>
-
- No review, just add a line which got left out of the patch uploaded for commit.
-
- commit-queue is crashing when trying to reject patches after unknown failures
- https://bugs.webkit.org/show_bug.cgi?id=31091
-
- * Scripts/bugzilla-tool: Set bug_log = None after closing to we don't re-close and crash.
-
-2009-11-04 Adam Roben <aroben@apple.com>
-
- Remove bogus else clause in bugzilla-tool
-
- Fixes <http://webkit.org/b/31125> REGRESSION (r47121): bugzilla-tool
- create-bug raises exception after entering bug description
-
- Reviewed by David Kilzer.
-
- * Scripts/bugzilla-tool:
- (CreateBug): else clauses are only hit if no exception is raised, so
- it makes no sense to try to re-raise the exception in an else clause.
- The exception will automatically be re-raised if it doesn't match any
- of the except clauses, so we don't have to do anything special here at
- all to get the desired behavior.
-
-2009-11-04 Eric Seidel <eric@webkit.org>
-
- Reviewed by David Kilzer.
-
- svn-apply's fixChangeLogPatch function seems broken
- https://bugs.webkit.org/show_bug.cgi?id=30683
-
- Update fixChangeLogPatch to be able to handle patches which
- don't start at line 1.
- Add unit tests for svn-apply to scm_unittest.py.
-
- * Scripts/VCSUtils.pm:
- * Scripts/modules/scm_unittest.py:
-
-2009-11-04 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Beth Dakin.
-
- Need to implement ARIA role="combobox"
- https://bugs.webkit.org/show_bug.cgi?id=31096
-
- * DumpRenderTree/AccessibilityUIElement.cpp:
- (showMenuCallback):
- (getIsExpandedCallback):
- (AccessibilityUIElement::getJSClass):
- * DumpRenderTree/AccessibilityUIElement.h:
- * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
- (AccessibilityUIElement::isExpanded):
- (AccessibilityUIElement::showMenu):
- * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
- (AccessibilityUIElement::isExpanded):
- (AccessibilityUIElement::showMenu):
- * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
- (AccessibilityUIElement::isSelected):
- (AccessibilityUIElement::isExpanded):
- (AccessibilityUIElement::showMenu):
-
-2009-11-04 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- commit-queue is crashing when trying to reject patches after unknown failures
- https://bugs.webkit.org/show_bug.cgi?id=31091
-
- * Scripts/bugzilla-tool:
- - patch['id'] was a copy/paste mistake. This code has no 'patch' variable
- so we have to find out what the current patch is by asking bugzilla again.
- - Discovered that this code was also leaking file descriptors, so fixed that.
-
-2009-11-04 Adam Roben <aroben@apple.com>
-
- Make run-webkit-tests work for the Debug_Internal Windows
- configuration
-
- In Debug_Internal, DumpRenderTree.exe and ImageDiff.exe have no _debug
- suffix.
-
- Fixes <http://webkit.org/b/31123>.
-
- Reviewed by Sam Weinig.
-
- * Scripts/run-webkit-tests: Don't add the _debug suffix in
- Debug_Internal, either.
-
-2009-11-04 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- committers.py needs a way to store non-bugzilla email addresses
- https://bugs.webkit.org/show_bug.cgi?id=31037
-
- Make Committer and Reviewer constructors take a single email or a list of emails.
- Change committer_by_bugzilla_email functions to committer_by_email to support lookup by any email.
- Expose reviewers(), used by validate-committer-lists on bug 30970.
-
- * Scripts/modules/committers.py:
- * Scripts/modules/committers_unittest.py: Added tests for the new code.
-
-2009-11-03 Yuzo Fujishima <yuzo@google.com>
-
- Reviewed by David Levin.
-
- Start/Stop Web Socket and Web Socket Secure servers for layout tests.
- https://bugs.webkit.org/show_bug.cgi?id=27491
-
- The test path determination logic is changed to handle websocket and websocket/ssl cases.
- The logic for non-http (and now also non-websocket) tests is moved toward the end of the if-elsif statement.
-
- Functions to start or stop Web Socket servers are added.
-
- * Scripts/run-webkit-tests:
-
-2009-11-03 Eric Seidel <eric@webkit.org>
-
- No review, just changing wording of log message.
-
- Change log string to say "failed" instead of "rejected"
- when a commit fails due to an out of date checkout.
- This makes grepping the commit-queue log for rejected patches easier.
-
- * Scripts/bugzilla-tool:
-
-2009-11-03 Eric Seidel <eric@webkit.org>
-
- No review, adding commonly known committers missing from the file.
-
- * Scripts/modules/committers.py: Add committers found by looking at SVN records.
-
-2009-11-03 Eric Seidel <eric@webkit.org>
-
- No review, just sort-order cleanup.
-
- * Scripts/modules/committers.py: Sort committers/reviewers alphabetically.
-
-2009-11-03 Stephen White <senorblanco@chromium.org>
-
- (Unreviewed).
-
- Add myself to committers.py.
-
- * Scripts/modules/committers.py:
-
-2009-11-03 Robin Dunn <robin@alldunn.com>
-
- Reviewed by Kevin Ollviier.
-
- Add packaging scripts for Debian-based Linux distros.
-
- https://bugs.webkit.org/show_bug.cgi?id=31075
-
- * wx/packaging/build-debian-installer.py: Added.
- * wx/packaging/debian: Added.
-
-2009-11-03 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Anders Carlsson and Beth Dakin.
-
- https://bugs.webkit.org/show_bug.cgi?id=31070
-
- Added an 'ondestroy' parameter to the test plug-in. When the plug-in is
- destroyed, it executes the value of the 'ondestroy' parameter as a
- script.
-
- * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
- (pluginAllocate): Initialize onDestroy.
- * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.h: Define
- onDestroy.
- * DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp:
- (NPP_New): Set onDestroy to the value of the 'ondestroy' parameter, if
- specified.
- (NPP_Destroy): Execute the value of 'ondestroy' as a script.
-
-2009-11-02 Joanmarie Diggs <joanmarie.diggs@gmail.com>
-
- Reviewed by Xan Lopez.
-
- https://bugs.webkit.org/show_bug.cgi?id=31035
- [GTK] some accessibility tests hitting assertion in debug builds
-
- Get the correct Gtk+ object before attempting to turn it into an AtkObject.
-
- * DumpRenderTree/gtk/AccessibilityControllerGtk.cpp:
- (AccessibilityController::rootElement):
-
-2009-11-02 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Beth Dakin.
-
- Support ARIA "tab" roles
- https://bugs.webkit.org/show_bug.cgi?id=30842
-
- * DumpRenderTree/AccessibilityUIElement.cpp:
- * DumpRenderTree/AccessibilityUIElement.h:
- * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
- * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
- * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
-
-2009-11-01 Eric Seidel <eric@webkit.org>
-
- Reviewed by David Levin.
-
- buildbots should use --exit-after-N-failures
- https://bugs.webkit.org/show_bug.cgi?id=30809
-
- Make the bots exit after 20 failures to prevent never-ending
- test runs where every test spends a minute crashing.
-
- * BuildSlaveSupport/build.webkit.org-config/master.cfg:
-
-2009-11-01 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Eric Seidel.
-
- Turn on warnings for QtWebKit for gcc
- https://bugs.webkit.org/show_bug.cgi?id=30958
-
- * DumpRenderTree/qt/main.cpp:
- (crashHandler): Mark function NO_RETURN
-
-2009-11-01 Jessie Berlin <jberlin@webkit.org>
-
- Adding myself to the committers list.
-
- * Scripts/modules/committers.py:
-
-2009-10-30 Jon Honeycutt <jhoneycutt@apple.com>
-
- Fix an issue that Adam noticed in DRT.
-
- Reviewed by Darin Adler.
-
- * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
- (AccessibilityUIElement::role):
- Get the length of the role text, and create a buffer dynamically.
-
-2009-10-30 Eric Seidel <eric@webkit.org>
-
- No review, rolling out r50105.
- http://trac.webkit.org/changeset/50105
-
- This commit was causing:
- https://bugs.webkit.org/show_bug.cgi?id=30869
- We'll re-implement the feature a different way.
-
- * Scripts/bugzilla-tool:
-
-2009-10-29 Jon Honeycutt <jhoneycutt@apple.com>
-
- Test for MSAA: Accessibility of headings is not correct
-
- https://bugs.webkit.org/show_bug.cgi?id=30937
-
- Reviewed by Adam Roben.
-
- * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
- (AccessibilityUIElement::role):
- Allow the role returned to be a BSTR.
- (AccessibilityUIElement::description):
- Fix a copy/paste error.
-
-2009-10-29 Jon Honeycutt <jhoneycutt@apple.com>
-
- Test for MSAA: Accessibility of links is wrong
-
- https://bugs.webkit.org/show_bug.cgi?id=30928
-
- Reviewed by Darin Adler.
-
- * DumpRenderTree/AccessibilityUIElement.cpp:
- (getAccessibilityValueCallback):
- Return the accessibility value.
- (AccessibilityUIElement::getJSClass):
- Added "accessibilityValue" value.
-
- * DumpRenderTree/AccessibilityUIElement.h:
-
- * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
- (AccessibilityUIElement::accessibilityValue):
- Stubbed.
-
- * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
- (AccessibilityUIElement::accessibilityValue):
- Stubbed.
-
- * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
- (AccessibilityUIElement::accessibilityValue):
- Get the object's value, and return it as a JS string.
-
-2009-10-30 Kevin Ollivier <kevino@theolliviers.com>
-
- Fix typo in command name used by wx build system.
-
- * wx/build/build_utils.py:
-
-2009-10-30 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Adler.
-
- Patch v1 is a dumb default name for patches
- https://bugs.webkit.org/show_bug.cgi?id=30952
-
- Let's use "Patch" instead.
-
- * Scripts/bugzilla-tool:
-
-2009-10-30 Andras Becsi <becsi.andras@stud.u-szeged.hu>
-
- Unreviewed trivial buildfix.
-
- [Qt] Buildfix for r50333.
-
- * DumpRenderTree/qt/DumpRenderTree.pro:
-
-2009-10-30 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Holger Freyther.
-
- [Qt] Remove qt/WorkQueue.cpp|h in favor of platform independent WorkQueue
- https://bugs.webkit.org/show_bug.cgi?id=30953
-
- DumpRenderTree/WorkQueue and DumpRenderTree/qt/WorkQueue share mostly the
- same implementation. Some Q_ASSERTs differ from ASSERTs basically. Patch
- makes qt DRT to share this implementation (as gtk and mac ports do).
-
- * DumpRenderTree/qt/DumpRenderTree.pro:
- * DumpRenderTree/qt/WorkQueue.cpp: Removed.
- * DumpRenderTree/qt/WorkQueue.h: Removed.
-
-2009-10-30 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Unreviewed potential buildbot fix.
-
- Second try: Reset page history before running each test.
-
- Apparently the QWebHistory::clear() keeps the current page
- in history which is not what we want, so we not additionally
- sets the history capacity to 0 (forces removing everything)
- and then sets it back to its original value.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting):
-
-2009-10-30 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Unreviewed potential buildbot fix.
-
- Reset page history before running each test.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting):
-
-2009-10-30 Roland Steiner <rolandsteiner@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Remove ENABLE_RUBY guards as discussed with Dave Hyatt and Maciej Stachowiak.
-
- Bug 28420 - Implement HTML5 <ruby> rendering
- (https://bugs.webkit.org/show_bug.cgi?id=28420)
-
- No new tests (no functional change).
-
- * Scripts/build-webkit:
-
-2009-10-29 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Mark Rowe.
-
- Fix “Undefined subroutine†errors in svn-*apply by moving the removeEOL subroutine
- from the two scripts that define it but don’t use it to the script that uses it but doesn’t
- define it.
-
- * Scripts/VCSUtils.pm:
- * Scripts/svn-apply:
- * Scripts/svn-unapply:
-
-2009-10-29 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Use the GTK+ main loop instead of rolling our own mini-version of
- it.
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (dump):
- (runTest):
- (webViewLoadFinished):
-
-2009-10-29 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Oliver Hunt.
-
- Implement the Qt version of DRT dumpBackForwardList().
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::dumpHistoryItem):
- (WebCore::DumpRenderTree::dumpBackForwardList):
-
-2009-10-29 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Adam Roben.
-
- Implement DRT functionality for Qt introduced in
- r28690 and r28705.
-
- - Implemented pathToLocalResource which exposes the functionality of
- converting a given unix path to the correct location on Windows.
- - Implemented a way to remove machine-dependent information from paths
- in layout test results.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::urlSuitableForTestResult):
- (WebCore::WebPage::javaScriptConsoleMessage):
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::pathToLocalResource):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
-
-2009-10-28 Roland Steiner <rolandsteiner@chromium.org>
-
- Adding myself to the committers list.
-
- * Scripts/modules/committers.py:
-
-2009-10-28 Chris Fleizach <cfleizach@apple.com>
-
- Adding myself to the committers list.
-
- * Scripts/modules/committers.py:
-
-2009-10-28 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Jan Alonzo.
-
- [GTK] API to start inspector for a WebView
- https://bugs.webkit.org/show_bug.cgi?id=22551
-
- Use the new inspector API to implement the LayoutTestController
- interfaces used to test the inspector.
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (webInspectorInspectWebView):
- (createWebView):
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::showWebInspector):
- (LayoutTestController::closeWebInspector):
- (LayoutTestController::evaluateInWebInspector):
-
-2009-10-28 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Eric Seidel.
-
- [Qt] WebFrame::counterValueForElementById must not be exposed
- https://bugs.webkit.org/show_bug.cgi?id=30882
-
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::counterValueForElementById):
-
-2009-10-28 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Rubberstamped by Oliver Hunt.
-
- Fix the warning:
-
- "warning: ignoring return value of 'char* getcwd(char*, size_t)',
- declared with attribute warn_unused_result".
-
- by actually checking the result. In the case it is null, an
- error has occoured, so treat it as the other fatal errors.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::DumpRenderTree::initializeFonts):
-
-2009-10-27 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Darin Adler.
-
- Provide a way to get counter values with layoutTestContoller
- https://bugs.webkit.org/show_bug.cgi?id=30555
-
- Define layoutTestContoller.counterValueForElementById.
-
- * DumpRenderTree/LayoutTestController.cpp:
- (counterValueForElementByIdCallback):
- (LayoutTestController::staticFunctions):
- * DumpRenderTree/LayoutTestController.h:
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (LayoutTestController::counterValueForElementById):
-
-2009-10-27 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Rubberstamped by Oliver Hunt.
-
- Change two methods to be internal for DRT use only.
-
- Part of [Qt] Review all new API in Qt 4.6
- https://bugs.webkit.org/show_bug.cgi?id=29843#c11
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting):
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::whiteListAccessFromOrigin):
-
-2009-10-27 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- REGRESSION: svn-apply exits(1) when applying a patch with a file add
- https://bugs.webkit.org/show_bug.cgi?id=30826
-
- * Scripts/svn-apply:
- - Add () around all system() calls.
- - Use the correct system() == 0 or die instead of system() or die
- - Add descriptive messages to all die statements.
-
-2009-10-27 Steve Block <steveblock@google.com>
-
- Reviewed by NOBODY.
-
- Adds steveblock@google.com to list of committers.
-
- * Scripts/modules/committers.py: Adds steveblock@google.com to list of committers.
-
-2009-10-27 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- svn-apply can exit(0) even on patch failure
- https://bugs.webkit.org/show_bug.cgi?id=29622
-
- * Scripts/svn-apply:
- - Add a bunch of "or die" statements, hopefully catching all
- possible cases where failure could still exit(0).
-
-2009-10-27 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- svn-* scripts should share code through VCSUtils.pm
- https://bugs.webkit.org/show_bug.cgi?id=30791
-
- Just moving code into a shared location.
-
- * Scripts/VCSUtils.pm:
- * Scripts/prepare-ChangeLog:
- * Scripts/resolve-ChangeLogs:
- * Scripts/svn-apply:
- * Scripts/svn-create-patch:
- * Scripts/svn-unapply:
- * Scripts/update-webkit:
-
-2009-10-27 Vadim Zeitlin <vadim@wxwidgets.org>
-
- Suppress a huge number of MSVC warnings when building wxWebKit.
-
- * wx/build/settings.py:
-
-2009-10-26 Eric Seidel <eric@webkit.org>
-
- No review, just adding Mike Belshe to the committers list.
-
- * Scripts/modules/committers.py:
-
-2009-10-26 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Darin Adler.
-
- Make .rc files compile on Windows without depending on MFC headers
- https://bugs.webkit.org/show_bug.cgi?id=30750
-
- * DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin.rc: Use
- windows.h instead of afxres.h because it exists even when MFC is not
- installed, and is all that's needed here.
-
- * FindSafari/FindSafari.rc: Ditto
-
-2009-10-24 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- bugzilla-tool post-diff should know how to mark commit-queue=?
- https://bugs.webkit.org/show_bug.cgi?id=29202
-
- * Scripts/bugzilla-tool:
- - Add --commit-queue option to post-diff, post-commits and create-bug.
- * Scripts/modules/bugzilla.py:
- - Added support for --commit-queue to add_patch_to_bug and create_bug_with_patch.
- - Added _fill_attachment_form to share code between add_patch_to_bug and create_bug_with_patch.
-
-2009-10-23 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- bugzilla-tool commit-queue does not notice modifications to committers.py
- https://bugs.webkit.org/show_bug.cgi?id=30084
-
- * Scripts/bugzilla-tool:
- - Make commit-queue re-exec itself instead of using while(1).
- - Add a --is-relaunch parameter to commit-queue to bypass initialization on re-launch.
- - Add a _next_patch() method which calls exec() (and could eventually call update-webkit too).
-
-2009-10-22 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- commit-queue will get stuck on patches if land-patches terminates unexpectedly
- https://bugs.webkit.org/show_bug.cgi?id=30634
-
- * Scripts/bugzilla-tool:
- - Add a way for land-patches to exit(2) to indicate an error, but one it has handled.
- - Make commit-queue auto cq- any patch where land-patches exited anything other than '0' or '2'.
-
-2009-10-26 Yuzo Fujishima <yuzo@google.com>
-
- Reviewed by Eric Seidel.
-
- Upgrade pywebsocket to 0.4.1. This will make reusing LayoutTests/fast/js/resources easier, for example.
-
- https://bugs.webkit.org/show_bug.cgi?id=30763
-
- * pywebsocket/mod_pywebsocket/__init__.py:
- * pywebsocket/mod_pywebsocket/dispatch.py:
- * pywebsocket/mod_pywebsocket/headerparserhandler.py:
- * pywebsocket/mod_pywebsocket/standalone.py:
- * pywebsocket/setup.py:
- * pywebsocket/test/test_dispatch.py:
-
-2009-10-26 Carol Szabo <carol.szabo@nokia.com>
-
- Reviewed by David Levin.
-
- REGRESSION: 2 failures in run-webkit-unittests
- https://bugs.webkit.org/show_bug.cgi?id=30645
-
- * Scripts/modules/cpp_style_unittest.py:
- Fixed a few test scenarios which apparently lost some spaces from
- text literals.
-
-2009-10-26 Kevin Ollivier <kevino@theolliviers.com>
-
- wx build fix. Make sure isQt() doesn't return true if --wx was passed to build-webkit.
-
- * Scripts/webkitdirs.pm:
-
-2009-10-26 Csaba Osztrogonác <ossy@webkit.org>
-
- Reviewed by Darin Adler.
-
- Unification of using null device in perl scripts.
- https://bugs.webkit.org/show_bug.cgi?id=30572
-
- * Scripts/VCSUtils.pm:
- * Scripts/bisect-builds:
- * Scripts/resolve-ChangeLogs:
- * Scripts/run-iexploder-tests:
- * Scripts/run-jsc:
- * Scripts/run-mangleme-tests:
- * Scripts/run-webkit-tests:
- * Scripts/webkitdirs.pm:
- Using File::Spec->devnull() instead of hard coded /dev/null.
-
-2009-10-26 Eric Seidel <eric@webkit.org>
-
- Reviewed by Holger Freyther.
-
- Reviewers are missing from committers.py
- https://bugs.webkit.org/show_bug.cgi?id=30733
-
- * Scripts/modules/committers.py:
-
-2009-10-23 Eric Seidel <eric@webkit.org>
-
- No review, only adding Alice to the list of reviewers.
-
- * Scripts/modules/committers.py:
-
-2009-10-23 Eric Seidel <eric@webkit.org>
-
- Reviewed by Eric Carlson.
-
- fast/media/mq-transform-02.html failed on Leopard Commit Bot
- https://bugs.webkit.org/show_bug.cgi?id=30700
-
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (resetDefaultsToConsistentValues): Update QuickTime version check.
-
-2009-10-23 Kevin Ollivier <kevino@theolliviers.com>
-
- wxMac 10.4 build fix, needs to link against WebKitSystemInterfaceTiger to get
- character measurement APIs that are private on Tiger.
-
- * wx/build/settings.py:
-
-2009-10-22 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (build fix).
- Build fix following bug #30696.
-
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::evaluateScriptInIsolatedWorld):
-
-2009-10-22 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Sam Weinig & Geoff Garen.
-
- https://bugs.webkit.org/show_bug.cgi?id=30696
- Enable isolated-worlds tests on mac.
-
- Add private interface for DRT to invoke execution in a given world.
-
- * DumpRenderTree/LayoutTestController.cpp:
- (evaluateScriptInIsolatedWorldCallback):
- (LayoutTestController::staticFunctions):
- * DumpRenderTree/LayoutTestController.h:
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (LayoutTestController::evaluateScriptInIsolatedWorld):
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::evaluateScriptInIsolatedWorld):
-
-2009-10-21 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- bugzilla-tool's "patch failed to download an apply" error should give more information
- https://bugs.webkit.org/show_bug.cgi?id=30632
-
- * Scripts/modules/scm.py:
- - Use the common run_command method instead of custom POpen code.
- - Make run_command know how to take pipes as input.
- * Scripts/modules/scm_unittest.py:
- - Add new tests to cover change.
- - Also move test_error_handlers into new SCMClassTests so we don't run it 3 times.
-
-2009-10-21 Kent Tamura <tkent@chromium.org>
-
- Unreviewed. Adding myself to the committers list.
-
- * Scripts/modules/committers.py:
-
-2009-10-21 Robin Dunn <robin@alldunn.com>
-
- Reviewed by Kevin Ollivier.
-
- Update the Windows installer builder to work with Vista / Win 7 and with git.
-
- https://bugs.webkit.org/show_bug.cgi?id=30649
-
- * wx/build/build_utils.py:
- * wx/packaging/build-mac-installer.py:
- * wx/packaging/build-win-installer.py:
- * wx/packaging/wxWebKitInstaller.iss.in:
-
-2009-10-21 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- [GTK] Added conditional code to avoid using
- gdk_window_get_root_coords if we do not have a gtk+ release newer
- than 2.17.3.
- https://bugs.webkit.org/show_bug.cgi?id=30636
-
- * WebKitTools/DumpRenderTree/gtk/EventSender.cpp:
-
-2009-10-21 Shu Chang <Chang.Shu@nokia.com>
-
- Reviewed by Eric Seidel.
-
- [Qt] Added dummy implementation for keepWebHistory()
- https://bugs.webkit.org/show_bug.cgi?id=30592
-
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::keepWebHistory):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
-
-2009-10-21 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Fixed the double click condition, it is not double click if
- we move in just in one direction.
- https://bugs.webkit.org/show_bug.cgi?id=30636
-
- * WebKitTools/DumpRenderTree/gtk/EventSender.cpp:
-
-2009-10-21 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Initialize the events completly before emitting them.
- https://bugs.webkit.org/show_bug.cgi?id=30633
-
- * WebKitTools/DumpRenderTree/gtk/EventSender.cpp:
-
-2009-10-21 Kevin Ollivier <kevino@theolliviers.com>
-
- wx build fix. Fix for when linking using --as-needed with gcc.
-
- * wx/browser/wscript:
-
-2009-10-21 Kevin Ollivier <kevino@theolliviers.com>
-
- wxMac 10.4 build fix. Build and link against a version of libcurl new enough
- to support all the features used by CURL backend.
-
- * wx/build/settings.py:
- * wx/install-unix-extras:
-
-2009-10-20 Anton Muhin <antonm@chromium.org>
-
- Reviewed by Adam Barth.
-
- Add {ager,antonm,yurys}@chromium.org into committers.py
- https://bugs.webkit.org/show_bug.cgi?id=30560
-
- * Scripts/modules/committers.py:
-
-2009-10-20 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Tor Arne Vestbø.
-
- Make the Netscape Test plugin available to the Qt launcher.
-
- * Scripts/run-launcher:
-
-2009-10-20 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by David Levin.
-
- Removed WebSocket runtime settings.
- https://bugs.webkit.org/show_bug.cgi?id=29896
-
- WebSocket runtime configuration is supported by chromium/v8 only.
-
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (resetDefaultsToConsistentValues):
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (resetDefaultsToConsistentValues):
-
-2009-10-19 Nate Chapin <japhet@chromium.org>
-
- Reviewed by Adam Barth.
-
- Add testFail() to test plugin so we can test our handling of a
- plugin invoke call returning false.
-
- https://bugs.webkit.org/show_bug.cgi?id=30239
-
- * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp: Add testFail().
- (pluginInvoke):
- (testIdentifierToString): Always return true, since returning false will now cause an exception to be thrown.
-
-2009-10-19 Zan Dobersek <zandobersek@gmail.com>
-
- Reviewed by Gustavo Noronha.
-
- Enable DOM pasting when running layout tests.
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (resetDefaultsToConsistentValues):
-
-2009-10-18 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- Use the setPreferredContentsSize method instead
- of setFixedContentsSize, as the method has been renamed.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::DumpRenderTree::open):
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::setFixedContentsSize):
-
-2009-10-16 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Dan Bernstein.
-
- https://bugs.webkit.org/show_bug.cgi?id=30456
- Fixes for new Debug_All Windows build configuration.
-
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (sharedCFURLCache): Use new DEBUG_ALL preprocessor define for library naming.
- * DumpRenderTree/win/DumpRenderTree.vcproj: Remove unused DEBUG_WEBKIT_HAS_SUFFIX.
-
-2009-10-16 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- commit-queue status bot should list which buildbot is blocking the queue
- https://bugs.webkit.org/show_bug.cgi?id=30452
-
- Add new methods and testing.
-
- * Scripts/bugzilla-tool:
- * Scripts/modules/buildbot.py:
- * Scripts/modules/buildbot_unittest.py:
-
-2009-10-16 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- run-webkit-tests fails when CWD is not inside a WebKit checkout
- https://bugs.webkit.org/show_bug.cgi?id=30451
-
- * Scripts/modules/scm.py: in_working_directory shouldn't throw exceptions on failure.
- * Scripts/modules/scm_unittest.py:
- - Remove use of original_path (we don't need to restore the CWD).
- - Don't use '.' to find the webkit checkout, use __file__ instead.
-
-2009-10-16 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam Roben.
-
- Add a Debug_All configuration to build entire stack as debug.
- Change Debug_Internal to:
- - stop using _debug suffix for all WebKit/Safari binaries
- - not use _debug as a DLL naming suffix
- - use non-debug C runtime lib.
-
- * DumpRenderTree/DumpRenderTree.sln: Add Debug_All configuration.
- * DumpRenderTree/win/DumpRenderTree.vcproj: Add Debug_All configuration.
- * DumpRenderTree/win/ImageDiff.vcproj: Add Debug_All configuration.
- * DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin.vcproj:
- Add missing debug.vsprops inherited property sheet.
- Add Debug_All configuration.
- * FindSafari/FindSafari.vcproj: Renamed single configuration from "Release" to "all".
- * WinLauncher/WinLauncher.vcproj:
- Removed extraneous definitions inherited from vsprops.
- Add Debug_All configuration.
-
-2009-10-16 Carol Szabo <carol.szabo@nokia.com>
-
- Reviewed by David Levin.
-
- check-webkit-style is wrong about indent checking in namespaces
- in header files and a few other things
- https://bugs.webkit.org/show_bug.cgi?id=30362
-
- The few other things include:
- + check-webkit-style does not require spaces around the equal sign
- inside 'if' statements and around binary operators that take
- numeric literals.
- + check-webkit-style reports false errors for the / operator
- when part of a filename in the #include directive.
-
- * Scripts/modules/cpp_style.py:
- Improved indentation checking and space checking around
- binary operators. While the checks are still not perfect,
- they are clearly better than before.
- * Scripts/modules/cpp_style_unittest.py:
- Added test cases for the newly supported checks and modified old
- test cases to match the new guidelines
-
-2009-10-16 Kevin Ollivier <kevino@theolliviers.com>
-
- wxMSW build fix. Link to MSW library needed by PluginPackageWin.cpp.
-
- * wx/build/settings.py:
-
-2009-10-15 Yuzo Fujishima <yuzo@google.com>
-
- Reviewed by David Levin.
-
- Add mod_pywebsocket to test Web Sockets.
- http://code.google.com/p/pywebsocket/
- https://bugs.webkit.org/show_bug.cgi?id=27490
-
- * pywebsocket/COPYING: Added.
- * pywebsocket/MANIFEST.in: Added.
- * pywebsocket/README: Added.
- * pywebsocket/example/echo_client.py: Added.
- * pywebsocket/example/echo_wsh.py: Added.
- * pywebsocket/mod_pywebsocket/__init__.py: Added.
- * pywebsocket/mod_pywebsocket/dispatch.py: Added.
- * pywebsocket/mod_pywebsocket/handshake.py: Added.
- * pywebsocket/mod_pywebsocket/headerparserhandler.py: Added.
- * pywebsocket/mod_pywebsocket/msgutil.py: Added.
- * pywebsocket/mod_pywebsocket/standalone.py: Added.
- * pywebsocket/mod_pywebsocket/util.py: Added.
- * pywebsocket/setup.py: Added.
- * pywebsocket/test/config.py: Added.
- * pywebsocket/test/mock.py: Added.
- * pywebsocket/test/run_all.py: Added.
- * pywebsocket/test/test_dispatch.py: Added.
- * pywebsocket/test/test_handshake.py: Added.
- * pywebsocket/test/test_mock.py: Added.
- * pywebsocket/test/test_msgutil.py: Added.
- * pywebsocket/test/test_util.py: Added.
- * pywebsocket/test/testdata/handlers/blank_wsh.py: Added.
- * pywebsocket/test/testdata/handlers/origin_check_wsh.py: Added.
- * pywebsocket/test/testdata/handlers/sub/exception_in_transfer_wsh.py: Added.
- * pywebsocket/test/testdata/handlers/sub/no_wsh_at_the_end.py: Added.
- * pywebsocket/test/testdata/handlers/sub/non_callable_wsh.py: Added.
- * pywebsocket/test/testdata/handlers/sub/plain_wsh.py: Added.
- * pywebsocket/test/testdata/handlers/sub/wrong_handshake_sig_wsh.py: Added.
- * pywebsocket/test/testdata/handlers/sub/wrong_transfer_sig_wsh.py: Added.
-
-2009-10-15 James Robinson <jamesr@google.com>
-
- Reviewed by David Levin.
-
- Updates check-webkit-style to reflect that code inside a namespace should not be indented, even in a header file.
-
- https://bugs.webkit.org/show_bug.cgi?id=30426
-
- * Scripts/modules/cpp_style.py:
- * Scripts/modules/cpp_style_unittest.py:
-
-2009-10-15 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Adam Roben.
-
- Fixes <http://webkit.org/b/30411>.
- REGRESSION(49485): pdevenv doesn't compile in parallel for non-chromium builds on Windows.
-
- Added a check for isChromium() in pdevenv, and pass /useenv if we are not
- building Chromium.
-
- * Scripts/pdevenv:
-
-2009-10-15 Robin Dunn <robin@alldunn.com>
-
- Reviewed by Kevin Ollivier.
-
- Add Mac package building scripts for wx.
-
- https://bugs.webkit.org/show_bug.cgi?id=30405
-
- * wx/build/build_utils.py:
- * wx/build/settings.py:
- * wx/packaging/build-mac-installer.py: Added.
-
-2009-10-15 Zan Dobersek <zandobersek@gmail.com>
-
- Reviewed by Gustavo Noronha.
-
- Enable Web Sockets support when running layout tests.
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (resetDefaultsToConsistentValues):
-
-2009-10-15 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Need to initialize event.button.button, since in most cases a
- button number is not passed as an argument.
-
- * DumpRenderTree/gtk/EventSender.cpp:
- (mouseDownCallback):
- (mouseUpCallback):
-
-2009-10-15 Kevin Ollivier <kevino@theolliviers.com>
-
- wx build fix. More SDK fixes for Mac, make sure we use the SDK corresponding to
- the OS if none was explicitly set.
-
- * wx/build/settings.py:
-
-2009-10-14 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: enable developers extras within inspector layout tests.
-
- https://bugs.webkit.org/show_bug.cgi?id=30014
-
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (LayoutTestController::showWebInspector):
- (LayoutTestController::closeWebInspector):
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::showWebInspector):
- (LayoutTestController::closeWebInspector):
-
-2009-10-14 José Millán Soto <jmillan@igalia.com>
-
- Reviewed by Jan Alonzo.
-
- GtkLauncher is using a deprecated signal
- https://bugs.webkit.org/show_bug.cgi?id=30364
-
- Modified GtkLauncher to use notify::title signal instead of
- deprecated title-changed signal
-
- * GtkLauncher/main.c:
- (notify_title_cb):
- (create_browser):
-
-2009-10-14 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig.
-
- Don't set the history delegate on new windows that are opened during a test, as the history delegate:
- 1 - Disables WebHistory
- 2 - Doesn't make sense in that context anyway.
-
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (createWebViewAndOffscreenWindow):
-
-2009-10-14 Kevin Ollivier <kevino@theolliviers.com>
-
- wxMac build fix. Ensure 10.4 compatibility for deps, and allow the user to specify
- the SDK to use since Python overrides any user-set value of MACOSX_DEPLOYMENT_TARGET.
-
- * wx/build/settings.py:
- * wx/install-unix-extras:
-
-2009-10-14 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig.
-
- WebKit Win API should provide a delegate interface for global history.
- https://bugs.webkit.org/show_bug.cgi?id=29905
-
- * DumpRenderTree/LayoutTestController.cpp:
- (LayoutTestController::LayoutTestController):
- * DumpRenderTree/LayoutTestController.h:
- (LayoutTestController::dumpHistoryDelegateCallbacks):
- (LayoutTestController::setDumpHistoryDelegateCallbacks):
-
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (shouldLogHistoryDelegates):
- (runTest):
- (createWebViewAndOffscreenWindow):
- (main):
- * DumpRenderTree/win/DumpRenderTree.vcproj:
-
- Add the IWebHistoryDelegate to DRT Windows:
- * DumpRenderTree/win/HistoryDelegate.cpp: Added.
- (wstringFromBSTR):
- (HistoryDelegate::HistoryDelegate):
- (HistoryDelegate::~HistoryDelegate):
- (HistoryDelegate::QueryInterface):
- (HistoryDelegate::AddRef):
- (HistoryDelegate::Release):
- (HistoryDelegate::didNavigateWithNavigationData):
- (HistoryDelegate::didPerformClientRedirectFromURL):
- (HistoryDelegate::didPerformServerRedirectFromURL):
- (HistoryDelegate::updateHistoryTitle):
- (HistoryDelegate::populateVisitedLinksForWebView):
- * DumpRenderTree/win/HistoryDelegate.h: Added.
-
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::removeAllVisitedLinks):
-
-2009-10-14 Shu Chang <Chang.Shu@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Implement support for setPOSIXLocale on Qt.
- https://bugs.webkit.org/show_bug.cgi?id=30268
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting):
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
- (LayoutTestController::setPOSIXLocale):
- * DumpRenderTree/qt/LayoutTestControllerQt.h:
-
-2009-10-13 Stephanie Lewis <slewis@apple.com>
-
- Unreviewed, adding myself to reviewers list.
-
- * Scripts/modules/committers.py:
-
-2009-10-13 Stephanie Lewis <slewis@apple.com>
-
- Reviewed by Mark Rowe.
-
- Fix null assignment so root tests work again.
-
- * Scripts/webkitdirs.pm:
-
-2009-10-13 Andras Becsi <becsi.andras@stud.u-szeged.hu>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Refactor LayoutTestController, EventSender, TextInputController and WorkQueueItem classes
- out of jsobjects into separate files to get a more structured DumpRenderTree implementation.
- This is done in preparation of implementing missing features in DRT.
- No functionality changes made yet.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- * DumpRenderTree/qt/DumpRenderTree.pro:
- * DumpRenderTree/qt/EventSenderQt.cpp: Added.
- (EventSender::EventSender):
- (EventSender::mouseDown):
- (EventSender::mouseUp):
- (EventSender::mouseMoveTo):
- (EventSender::leapForward):
- (EventSender::keyDown):
- (EventSender::contextClick):
- (EventSender::scheduleAsynchronousClick):
- (EventSender::frameUnderMouse):
- * DumpRenderTree/qt/EventSenderQt.h: Added.
- (EventSender::clearKillRing):
- * DumpRenderTree/qt/LayoutTestControllerQt.cpp: Added.
- (LayoutTestController::LayoutTestController):
- (LayoutTestController::reset):
- (LayoutTestController::processWork):
- (LayoutTestController::maybeDump):
- (LayoutTestController::waitUntilDone):
- (LayoutTestController::notifyDone):
- (LayoutTestController::windowCount):
- (LayoutTestController::clearBackForwardList):
- (LayoutTestController::dumpEditingCallbacks):
- (LayoutTestController::dumpResourceLoadCallbacks):
- (LayoutTestController::queueBackNavigation):
- (LayoutTestController::queueForwardNavigation):
- (LayoutTestController::queueLoad):
- (LayoutTestController::queueReload):
- (LayoutTestController::queueScript):
- (LayoutTestController::provisionalLoad):
- (LayoutTestController::timerEvent):
- (LayoutTestController::encodeHostName):
- (LayoutTestController::decodeHostName):
- (LayoutTestController::setJavaScriptProfilingEnabled):
- (LayoutTestController::setFixedContentsSize):
- (LayoutTestController::setPrivateBrowsingEnabled):
- (LayoutTestController::setPopupBlockingEnabled):
- (LayoutTestController::pauseAnimationAtTimeOnElementWithId):
- (LayoutTestController::pauseTransitionAtTimeOnElementWithId):
- (LayoutTestController::numberOfActiveAnimations):
- (LayoutTestController::disableImageLoading):
- (LayoutTestController::dispatchPendingLoadRequests):
- (LayoutTestController::setDatabaseQuota):
- (LayoutTestController::clearAllDatabases):
- (LayoutTestController::whiteListAccessFromOrigin):
- (LayoutTestController::waitForPolicyDelegate):
- (LayoutTestController::overridePreference):
- * DumpRenderTree/qt/LayoutTestControllerQt.h: Added.
- (LayoutTestController::isLoading):
- (LayoutTestController::setLoading):
- (LayoutTestController::shouldDumpAsText):
- (LayoutTestController::shouldDumpBackForwardList):
- (LayoutTestController::shouldDumpChildrenAsText):
- (LayoutTestController::shouldDumpDatabaseCallbacks):
- (LayoutTestController::shouldDumpStatusCallbacks):
- (LayoutTestController::shouldWaitUntilDone):
- (LayoutTestController::canOpenWindows):
- (LayoutTestController::shouldDumpTitleChanges):
- (LayoutTestController::waitForPolicy):
- (LayoutTestController::dumpAsText):
- (LayoutTestController::dumpChildFramesAsText):
- (LayoutTestController::dumpDatabaseCallbacks):
- (LayoutTestController::dumpStatusCallbacks):
- (LayoutTestController::setCanOpenWindows):
- (LayoutTestController::dumpBackForwardList):
- (LayoutTestController::setCloseRemainingWindowsWhenComplete):
- (LayoutTestController::display):
- (LayoutTestController::dumpTitleChanges):
- (LayoutTestController::dumpSelectionRect):
- * DumpRenderTree/qt/TextInputControllerQt.cpp: Added.
- (TextInputController::TextInputController):
- (TextInputController::doCommand):
- * DumpRenderTree/qt/TextInputControllerQt.h: Added.
- * DumpRenderTree/qt/WorkQueue.cpp:
- * DumpRenderTree/qt/WorkQueue.h:
- * DumpRenderTree/qt/WorkQueueItem.h:
- * DumpRenderTree/qt/WorkQueueItemQt.cpp: Added.
- (findFrameNamed):
- (LoadItem::invoke):
- (ReloadItem::invoke):
- (ScriptItem::invoke):
- (BackForwardItem::invoke):
- * DumpRenderTree/qt/jsobjects.cpp: Move all the above classes into separate files
- * DumpRenderTree/qt/jsobjects.h:
-
-2009-10-13 Dmitry Titov <dimich@chromium.org>
-
- Not reviewed, adding myself to the list of reviewers.
-
- * Scripts/modules/committers.py:
-
-2009-10-13 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- <rdar://problem/6660507> Add "privacy mode" to Netscape Plug-in API
-
- Make the private browsing mode testable by the test plug-in.
-
- * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
- (pluginGetProperty):
- * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.h:
- * DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp:
- (NPP_New):
- (NPP_SetValue):
-
-2009-10-13 Pavel Feldman <pfeldman@chromium.org>
-
- No review, just adding self to the list of reviewers.
-
- * Scripts/modules/committers.py:
-
-2009-10-12 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Adam Roben.
-
- Web Inspector: Use proper web view in inspector layout
- tests for windows.
-
- https://bugs.webkit.org/show_bug.cgi?id=30298
-
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::showWebInspector):
- (LayoutTestController::closeWebInspector):
- (LayoutTestController::evaluateInWebInspector):
-
-2009-10-12 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by Sam Weinig.
-
- Enable experimentalWebSocket in DumpRenderTree for LayoutTest.
- https://bugs.webkit.org/show_bug.cgi?id=29841
-
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (resetDefaultsToConsistentValues):
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (resetDefaultsToConsistentValues):
-
-2009-10-12 Yaar Schnitman <yaar@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Chromium Port - Windows
- https://bugs.webkit.org/show_bug.cgi?id=29969
-
- * Scripts/pdevenv: removed msvc's /useenv for chromium builds
- * Scripts/webkitdirs.pm:
-
-2009-10-12 Csaba Osztrogonac <ossy@webkit.org>
-
- Reviewed by Darin Adler.
-
- jsc scripts cleanup and Qt/GTK fix
- https://bugs.webkit.org/show_bug.cgi?id=30288
-
- Duplicated jscPath() moved to webkitdirs.pm.
- New jscProductDir() added to webkitdirs.pm instead of duplicated codes.
- Configuration added (release/debug) to path for Qt-port on Windows.
-
- * Scripts/run-javascriptcore-tests:
- * Scripts/run-jsc:
- * Scripts/run-sunspider:
- * Scripts/sunspider-compare-results:
- * Scripts/webkitdirs.pm:
-
-2009-10-11 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Add Collin to committers.py.
-
- * Scripts/modules/committers.py:
-
-2009-10-11 Kevin Ollivier <kevino@theolliviers.com>
-
- wx build fix, add bindings to source/include dirs now that there are sources there.
-
- * wx/build/settings.py:
-
-2009-10-09 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Brady Eidson.
-
- Enable plug-in halting in DumpRenderTree.
-
- We drop the plug-in halting delay to 1 second and opt in the delegate method to never halt plug-ins.
- This is sufficient to ensure that the crash covered by <rdar://problem/7290671> no longer occurs.
-
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (resetDefaultsToConsistentValues):
- * DumpRenderTree/mac/UIDelegate.mm:
- (-[UIDelegate webView:shouldHaltPlugin:]):
-
-2009-10-08 Brady Eidson <beidson@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Ask the History Delegate to populate the visited links hash.
- <rdar://problem/7285293> and https://webkit.org/b/29904
-
- Add the ability for LayoutTestController to clear all visited links.
- Also lets the History Delegate dump visited links, but only if this test specifically cleared them.
-
- * DumpRenderTree/LayoutTestController.cpp:
- (LayoutTestController::LayoutTestController):
- (removeAllVisitedLinksCallback):
- (LayoutTestController::staticFunctions):
- * DumpRenderTree/LayoutTestController.h:
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (LayoutTestController::removeAllVisitedLinks):
-
- * DumpRenderTree/mac/HistoryDelegate.mm:
- (-[HistoryDelegate populateVisitedLinksForWebView:]):
-
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::removeAllVisitedLinks):
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::removeAllVisitedLinks):
- * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
- (LayoutTestController::removeAllVisitedLinks):
-
-
-2009-10-08 Daniel Bates <dbates@webkit.org>
-
- Reviewed by Adam Roben.
-
- https://bugs.webkit.org/show_bug.cgi?id=30175
-
- The Windows DRT equivalent of DoDragDrop (i.e. UIDelegate::doDragDrop) does not return
- the OLE drag-and-drop return value like the function it emulates. Currently,
- UIDelegate::doDragDrop returns a hard-coded S_OK. Hence, the caller cannot determine
- whether the drag-and-drop operation was successful or was cancelled.
-
- This patch fixes this issue by having UIDelegate::doDragDrop return the OLE drag-and-drop
- return value according to whether the drop operation was successful or not.
-
- * DumpRenderTree/win/EventSender.cpp:
- (doMouseUp): Added parameter oleDragAndDropReturnValue.
- (replaySavedEvents): Ditto.
- * DumpRenderTree/win/EventSender.h:
- * DumpRenderTree/win/UIDelegate.cpp:
- (UIDelegate::doDragDrop): Modified to return OLE drag-and-drop return value.
-
-2009-10-08 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Added support for a parameter setting the button that was
- pressed in the mouseDown function.
- https://bugs.webkit.org/show_bug.cgi?id=30220
-
- * WebKitTools/DumpRenderTree/gtk/EventSender.cpp:
-
-2009-10-08 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Added a line to the bottom of the expected result to match
- the output of the test.
- https://bugs.webkit.org/show_bug.cgi?id=30220
-
- * LayoutTests/platform/gtk/editing/pasteboard/middle-click-onpaste-
- expected.txt:
-
-2009-10-08 Adam Roben <aroben@apple.com>
-
- Use QueryInterface to get IWebInspectorPrivate
-
- Fixes <http://webkit.org/b/30215> Make IWebInspectorPrivate be
- accessed in a more standard way
-
- Reviewed by John Sullivan and Tim Hatcher.
-
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::evaluateInWebInspector): Get the IWebInspector
- by calling IWebViewPrivate::inspector, then use QueryInterface to get
- to the IWebInspectorPrivate interface.
-
-2009-10-07 Adam Roben <aroben@apple.com>
-
- Implement DRT support for origin whitelisting
-
- Fixes <http://webkit.org/b/30185>.
-
- Reviewed by Eric Seidel.
-
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (resetWebViewToConsistentStateBeforeTesting): Reset any origin
- whitelist, to match Mac DRT.
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::whiteListAccessFromOrigin): Call through to
- IWebViewPrivate::whiteListAccessFromOrigin.
-
-2009-10-07 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin Adler.
-
- Send title changes to the global history delegate.
- <rdar://problem/7285293> and https://webkit.org/b/29904
-
- * DumpRenderTree/mac/HistoryDelegate.mm:
- (-[HistoryDelegate webView:updateHistoryTitle:forURL:]):
-
-2009-10-07 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Remove some folks from committers.py who were listed on
- the WebKit Team wiki page but who weren't actually listed as commit+.
- At some point, we should coorelate this list with the committers
- mailing list.
-
- * Scripts/modules/committers.py:
-
-2009-10-07 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Import a bunch of committers from the WebKit Team page on
- the wiki into committers.py.
-
- * Scripts/modules/committers.py:
-
-2009-10-07 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Added Aaron Boodman to committers.py.
-
- * Scripts/modules/committers.py:
-
-2009-10-07 Evan Martin <evan@chromium.org>
-
- Reviewed by Darin Adler.
-
- Add API to LayoutTestController for re/setting the system locale.
- https://bugs.webkit.org/show_bug.cgi?id=18994
-
- * DumpRenderTree/LayoutTestController.cpp:
- (setLocaleCallback):
- (LayoutTestController::staticFunctions):
- (LayoutTestController::setLocale):
- * DumpRenderTree/LayoutTestController.h:
-
-2009-10-06 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Jan Alonzo.
-
- [Layout tests] [Gtk] Gtk DumpRenderTree should use WebKit test fonts
- https://bugs.webkit.org/show_bug.cgi?id=29689
-
- Build fix by adding -lfontconfig for DumpRenderTree.
-
- * GNUmakefile.am:
-
-2009-10-07 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
-
- Reviewed by Simon Hausmann.
-
- Re-enable use-remote-links-to-tests for Qt. Disabled in r46416.
-
- * Scripts/run-webkit-tests:
-
-2009-10-07 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- "delete" in EventSender is the backspace key, not the delete one.
-
- * DumpRenderTree/gtk/EventSender.cpp:
- (keyDownCallback):
-
-2009-10-07 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- getChildrenWithRange expects as last parameter the end index, not
- the length of the range. Correct this and clarify the variable
- names to reflect how the code works.
-
- * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
- (AccessibilityUIElement::getChildrenWithRange):
- (AccessibilityUIElement::getChildAtIndex):
-
-2009-10-06 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Simon Fraser.
-
- <http://webkit.org/b/30138> update-webkit-localizable-strings assumes that WebKitTools/Scripts is in the PATH
-
- * Scripts/update-webkit-localizable-strings: Use an explicit path to extract-localizable-strings based on the
- the fact we have already changed the working directory to the top of the open source tree.
-
-2009-10-06 Julie Parent <jparent@chromium.org>
-
- Unreviewed. Fixing the entry for myself in committers.py to use my bugzilla email,
- rather than my committer email.
-
- * Scripts/modules/committers.py:
-
-2009-10-06 Jakub Wieczorek <faw217@gmail.com>
-
- Reviewed by Eric Seidel.
-
- [Qt] LayoutTestController: Reset m_dumpStatusCallbacks to false in reset().
-
- r49189 added support for the 'dumpStatusCallbacks' setting but didn't reset
- it after each layout test as it should do, making the DRT dump additional output
- for all of the subsequent layout tests.
-
- * DumpRenderTree/qt/jsobjects.cpp:
- (LayoutTestController::reset):
-
-2009-10-06 Jakub Wieczorek <faw217@gmail.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Implement layoutTestController.dumpStatusCallbacks() and unskip the
- fast/dom/assign-to-window-status.html test, which is passing as a result.
-
- https://bugs.webkit.org/show_bug.cgi?id=30127
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::DumpRenderTree::DumpRenderTree):
- (WebCore::DumpRenderTree::statusBarMessage):
- * DumpRenderTree/qt/DumpRenderTree.h:
- * DumpRenderTree/qt/jsobjects.h:
- (LayoutTestController::shouldDumpStatusCallbacks):
- (LayoutTestController::dumpStatusCallbacks):
-
-2009-10-06 Jakub Wieczorek <faw217@gmail.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] The implementation of EventSender::mouseUp() and EventSender::mouseDown()
- ignores the argument indicating which mouse button to trigger.
- https://bugs.webkit.org/show_bug.cgi?id=30048
-
- This affects the fast/events/mouse-click-events.html layout test.
-
- * DumpRenderTree/qt/jsobjects.cpp:
- (EventSender::mouseDown):
- (EventSender::mouseUp):
- * DumpRenderTree/qt/jsobjects.h:
-
-2009-10-06 Jakub Wieczorek <faw217@gmail.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix the EventSender::keyDown() implementation
- https://bugs.webkit.org/show_bug.cgi?id=30043
-
- It should post both a key press event and a key release event,
- just like other ports do.
-
- * DumpRenderTree/qt/jsobjects.cpp:
- (EventSender::keyDown):
-
-2009-10-05 Kevin Ollivier <kevino@theolliviers.com>
-
- wx build fix. Add jpeg to the list of libs to link against.
-
- * wx/build/settings.py:
-
-2009-10-05 Jakub Wieczorek <faw217@gmail.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] EventSender::keyDown() cannot send function-key events.
- https://bugs.webkit.org/show_bug.cgi?id=30044
-
- This affects the fast/events/keydown-function-keys.html layout test.
-
- * DumpRenderTree/qt/jsobjects.cpp:
- (EventSender::keyDown):
-
-2009-10-05 Vadim Zeitlin <vadim@wxwidgets.org>
-
- Added --wx-compiler-prefix waf option to allow building wxWebKit with
- wxWidgets built using "nmake COMPILER_PREFIX=something-non-default".
-
- * wx/build/settings.py:
- * wx/build/wxpresets.py:
-
-2009-10-05 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: add testing harness for Web Inspector.
-
- https://bugs.webkit.org/show_bug.cgi?id=30010
-
- * DumpRenderTree/LayoutTestController.cpp:
- (showWebInspectorCallback):
- (closeWebInspectorCallback):
- (evaluateInWebInspectorCallback):
- (LayoutTestController::staticFunctions):
- * DumpRenderTree/LayoutTestController.h:
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::showWebInspector):
- (LayoutTestController::closeWebInspector):
- (LayoutTestController::evaluateInWebInspector):
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (LayoutTestController::showWebInspector):
- (LayoutTestController::closeWebInspector):
- (LayoutTestController::evaluateInWebInspector):
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::showWebInspector):
- (LayoutTestController::closeWebInspector):
- (LayoutTestController::evaluateInWebInspector):
- * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
- (LayoutTestController::showWebInspector):
- (LayoutTestController::closeWebInspector):
- (LayoutTestController::evaluateInWebInspector):
-
-2009-10-05 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Ariyha Hidayat.
-
- Pass arguments to system() as a string instead of array
-
- When passed as an array entries with a space fail to translate
- to two arguments to the child process, so instead of manually
- splitting all the entries in @buildArgs we pass the whole thing
- as a string instead.
-
- * Scripts/webkitdirs.pm:
-
-2009-10-04 Carol Szabo <carol.szabo@nokia.com>
-
- Reviewed by David Levin.
-
- check-webkit-style misses whitespace errors for operators:
- <<, >>, <<=, >>=, &=, |=, +=, -=, *=, /=, /, |, &&, ||.
- https://bugs.webkit.org/show_bug.cgi?id=30021
-
- * Scripts/modules/cpp_style.py:
- Added the operators mentioned above to the same list as == and !=.
-
-2009-10-02 Julie Parent <jparent@chromium.org>
-
- Unreviewed.
-
- Adding myself and Ojan Vafai as committers, because we are committers.
-
- * Scripts/modules/committers.py:
-
-2009-10-02 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Adam Roben.
-
- svn-create-patch should have an --ignore-changelogs to not add ChangeLogs to the diff,
- this will help the patch merging process when TryBots are used.
-
- * Scripts/svn-create-patch:
-
-2009-10-02 Jakub Wieczorek <faw217@gmail.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Implement layoutTestController.overridePreference().
- https://bugs.webkit.org/show_bug.cgi?id=29970
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::WebPage::WebPage):
- (WebCore::WebPage::resetSettings):
- (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting):
- * DumpRenderTree/qt/jsobjects.cpp:
- (LayoutTestController::reset):
- (LayoutTestController::setPrivateBrowsingEnabled):
- (LayoutTestController::setPopupBlockingEnabled):
- (LayoutTestController::overridePreference):
- * DumpRenderTree/qt/jsobjects.h:
-
-2009-10-01 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Turn on ENABLE_3D_CANVAS in TOT
- https://bugs.webkit.org/show_bug.cgi?id=29906
-
- * Scripts/build-webkit:
-
-2009-10-01 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Rubberstamped by Simon Hausmann.
-
- Enable HTTP tests for Qt
-
- * Scripts/run-webkit-tests:
-
-2009-10-01 Yaar Schnitman <yaar@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- build-webkit --chromium now also works on cygwin.
-
- https://bugs.webkit.org/show_bug.cgi?id=29973
-
- * Scripts/webkitdirs.pm:
-
-2009-10-01 Zoltan Horvath <zoltan@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Don't use TCmalloc in DumpRenderTree
- https://bugs.webkit.org/show_bug.cgi?id=27029
-
- Add USE_SYSTEM_MALLOC macro to the DRT's profile to avoid using TCmalloc in Qt's DRT.
-
- * DumpRenderTree/qt/DumpRenderTree.pro:
-
-2009-10-01 Jakub Wieczorek <faw217@gmail.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Implement eventSender.scheduleAsynchronousClick().
-
- https://bugs.webkit.org/show_bug.cgi?id=29931
-
- * DumpRenderTree/qt/jsobjects.cpp:
- (EventSender::scheduleAsynchronousClick):
- * DumpRenderTree/qt/jsobjects.h:
-
-2009-10-01 Jakub Wieczorek <faw217@gmail.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Implement setPopupBlockingEnabled() in the LayoutTestController and remove
- fast/events/open-window-from-another-frame.html from the Skipped list.
-
- https://bugs.webkit.org/show_bug.cgi?id=29930
-
- * DumpRenderTree/qt/jsobjects.cpp:
- (LayoutTestController::setPopupBlockingEnabled):
- * DumpRenderTree/qt/jsobjects.h:
-
-2009-09-30 Cameron McCormack <cam@mcc.id.au>
-
- Unreviewed.
-
- Added myself to the list of committers.
-
- * Scripts/modules/committers.py:
-
-2009-09-30 Eric Seidel <eric@webkit.org>
-
- No review, just adding Geoff to the list of reviewers.
-
- * Scripts/modules/committers.py:
-
-2009-09-30 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Sam Weinig.
-
- Added the WebKit Layout Tests fonts that are referenced in
- LayoutTests/platform/win/css2.1/resources/Mac-compatible-font-fallback.css
-
- * DumpRenderTree/fonts/WebKit Layout Tests 2.ttf: Added.
- * DumpRenderTree/fonts/WebKit Layout Tests.ttf: Added.
-
-2009-09-30 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
-
- Reviewed by David Kilzer.
-
- Make sunspider scripts work on Windows platform.
- https://bugs.webkit.org/show_bug.cgi?id=29656
-
- * Scripts/run-sunspider: Perl scripts invoked with same Perl interpreter.
- * Scripts/sunspider-compare-results: Perl scripts invoked with same Perl interpreter.
- * Scripts/webkitdirs.pm: currentPerlPath() added.
-
-2009-09-29 Brady Eidson <beidson@apple.com>
-
- Rubberstamped by Dan Bernstein.
-
- Fix license and some sorting in new files.
-
- * DumpRenderTree/mac/HistoryDelegate.h:
- * DumpRenderTree/mac/HistoryDelegate.mm:
-
-2009-09-29 Yaar Schnitman <yaar@chromium.org>
-
- Reviewed by David Kilzer.
-
- Fixed how error codes are handled.
- https://bugs.webkit.org/show_bug.cgi?id=29898
-
- * Scripts/update-webkit:
- * Scripts/update-webkit-chromium:
-
-2009-09-29 Brady Eidson <beidson@apple.com>
-
- Reviewed by John Sullivan.
-
- Updated way-out-of-date sorting throughout the dump methods/flags.
-
- * DumpRenderTree/LayoutTestController.cpp:
- (LayoutTestController::LayoutTestController):
- (dumpAsPDFCallback):
- (dumpAsTextCallback):
- (dumpFrameLoadCallbacksCallback):
- (dumpResourceLoadCallbacksCallback):
- (LayoutTestController::staticFunctions):
-
- * DumpRenderTree/LayoutTestController.h:
- (LayoutTestController::dumpAsText):
- (LayoutTestController::setDumpAsText):
- (LayoutTestController::dumpFrameLoadCallbacks):
- (LayoutTestController::setDumpFrameLoadCallbacks):
- (LayoutTestController::dumpSelectionRect):
- (LayoutTestController::setDumpSelectionRect):
- (LayoutTestController::dumpSourceAsWebArchive):
- (LayoutTestController::setDumpSourceAsWebArchive):
- (LayoutTestController::dumpStatusCallbacks):
- (LayoutTestController::setDumpStatusCallbacks):
- (LayoutTestController::dumpTitleChanges):
- (LayoutTestController::setDumpTitleChanges):
- (LayoutTestController::dumpWillCacheResponse):
- (LayoutTestController::setDumpWillCacheResponse):
-
-2009-09-29 Brady Eidson <beidson@apple.com>
-
- Reviewed by John Sullivan.
-
- WebKit Mac API should provide a delegate interface for global history.
- <rdar://problem/7042773> and https://webkit.org/b/29904
-
- Adding the dumping of global history delegate callbacks.
-
- * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
-
- Automatically dump history delegate callbacks for tests with "globalhistory/" in their URL:
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (createWebViewAndOffscreenWindow):
- (allocateGlobalControllers):
- (shouldLogFrameLoadDelegates):
- (shouldLogHistoryDelegates):
- (runTest):
-
- Dump history delegate callbacks:
- * DumpRenderTree/mac/HistoryDelegate.h: Added.
- * DumpRenderTree/mac/HistoryDelegate.mm: Added.
- (-[HistoryDelegate webView:didNavigateWithNavigationData:inFrame:]):
- (-[HistoryDelegate webView:didPerformClientRedirectFromURL:toURL:inFrame:]):
- (-[HistoryDelegate webView:didPerformServerRedirectFromURL:toURL:inFrame:]):
-
-2009-09-29 Daniel Bates <dbates@webkit.org>
-
- Reviewed by Adam Roben.
-
- https://bugs.webkit.org/show_bug.cgi?id=28902
-
- Fixes an issue where the drop effect returned by Window Dump Render Tree
- was always DROPEFFECT_NONE (since it was hard coded to do so).
-
- This patch corrects this issue by determining the actual drop effect
- performed by the corresponding drag-and-drop operation so that we can
- return it.
-
- * DumpRenderTree/win/DraggingInfo.h: Added field m_dropEffect to store performed drop effect.
- (DraggingInfo::DraggingInfo):
- (DraggingInfo::performedDropEffect): Added method.
- (DraggingInfo::setPerformedDropEffect): Added method.
- * DumpRenderTree/win/EventSender.cpp:
- (doMouseUp): Calls method DraggingInfo::setPerformedDropEffect with performed drop effect.
- Moved delete draggingInfo to UIDelegate::doDragDrop.
- * DumpRenderTree/win/UIDelegate.cpp:
- (UIDelegate::doDragDrop): Sets performedDropEffect to DraggingInfo::performedDropEffect().
-
-2009-09-29 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Adam Roben.
-
- Remove copying of unnecessary or nonexistent files from the ImageDiff
- post-build event.
-
- * DumpRenderTree/win/ImageDiff.vcproj:
-
-2009-09-29 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
-
- Reviewed by David Kilzer.
-
- [Qt] Make build-webkit script work on Windows
- https://bugs.webkit.org/show_bug.cgi?id=29802
-
- * Scripts/run-webkit-tests:
- * Scripts/webkitdirs.pm:
- - Removed unnecessary -p switch for mkdir on Windows.
- - Use canonical path, which uses slashes or backslashes depends on platform.
- - isWindows() only test for Windows and not for Cyqwin.
-
-2009-09-29 Andras Becsi <becsi.andras@stud.u-szeged.hu>
-
- Reviewed by Simon Hausmann.
-
- Fix time measurement in build-webkit after refactoring done in r48853.
-
- * Scripts/build-webkit:
-
-2009-09-29 Andras Becsi <becsi.andras@stud.u-szeged.hu>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Default font size reconciliation to 16px/13px to match other platform's de-facto standard.
- This fixes https://bugs.webkit.org/show_bug.cgi?id=19674.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::WebPage::WebPage):
-
-2009-09-29 Jakub Wieczorek <faw217@gmail.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Implement eventSender.contextClick().
- https://bugs.webkit.org/show_bug.cgi?id=29821
-
- * DumpRenderTree/qt/jsobjects.cpp:
- (EventSender::contextClick):
- * DumpRenderTree/qt/jsobjects.h:
-
-2009-09-28 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Add experimentalWebSocketsEnabled in WebPreferences.
- https://bugs.webkit.org/show_bug.cgi?id=28941
-
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (resetDefaultsToConsistentValues):
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (resetDefaultsToConsistentValues):
-
-2009-09-28 Yaar Schnitman <yaar@chromium.org>
-
- Reviewed by David Kilzer.
-
- Integrated chromium port building into webkit tools update-webkit and
- build-webkit.
-
- https://bugs.webkit.org/show_bug.cgi?id=29749
-
- * Scripts/build-webkit: When --chromium is specified, will build
- the chromium port (currently only Mac is supported).
- * Scripts/update-webkit: When --chromium is specified, delegates to
- update-webkit-chromium.
- * Scripts/webkitdirs.pm: Added chromium specific defs.
- * Scripts/update-webkit-chromium: Uses gclient and gyp to fetch
- chromium port's dependencies and update its project files.
-
-2009-09-28 Fumitoshi Ukai <ukai@chromium.org>
-
- Unreviewed.
-
- Add myself to list of committers.
-
- * Scripts/modules/committers.py:
-
-2009-09-27 Jakub Wieczorek <faw217@gmail.com>
-
- Reviewed by Darin Adler.
-
- run-webkit-tests: Do not strip the metrics when there is no expected result for a test.
- https://bugs.webkit.org/show_bug.cgi?id=29771
-
- * Scripts/run-webkit-tests:
-
-2009-09-27 Jakub Wieczorek <faw217@gmail.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Implement layoutTestController.waitForPolicyDelegate.
- https://bugs.webkit.org/show_bug.cgi?id=25037
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::WebPage::acceptNavigationRequest):
- * DumpRenderTree/qt/DumpRenderTree.pro:
- * DumpRenderTree/qt/jsobjects.cpp:
- (LayoutTestController::reset):
- (LayoutTestController::notifyDone):
- (LayoutTestController::waitForPolicyDelegate):
- * DumpRenderTree/qt/jsobjects.h:
- (LayoutTestController::waitForPolicy):
-
-2009-09-26 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/29764> mark-bug-fixed: add -o|--open switch
-
- Reviewed by Eric Seidel.
-
- The -o|--open switch uses the open(1) command on Mac OS X to
- open the bug URL in the default web browser. If there are
- similar mechanisms on other platforms, they may be added later.
-
- * Scripts/mark-bug-fixed:
- (MarkBugFixed.__init__): Added -o|--open switch to list of parse
- options.
- (MarkBugFixed._determine_bug_id_and_svn_revision): Moved logging
- code into main() and extracted prompting code into
- _prompt_user_for_correctness().
- (MarkBugFixed._open_bug_in_web_browser): Added.
- (MarkBugFixed._prompt_user_for_correctness): Added.
- (MarkBugFixed.main): Added logging code from
- _determine_bug_id_and_svn_revision(). Added code to call
- _open_bug_in_web_browser() if the switch is set. Added code to
- call _prompt_user_for_correctness() when needed.
- * Scripts/modules/bugzilla.py:
- (Bugzilla.short_bug_url_for_bug_id): Added.
-
-2009-09-26 David Kilzer <ddkilzer@apple.com>
-
- svn-unapply and svn-apply don't work when used outside multiple svn working directories
-
- <http://webkit.org/b/29744>
- <rdar://problem/7252905>
-
- Reviewed by Eric Seidel.
-
- Some users have a workflow where svn-create-patch, svn-apply and
- svn-unapply are used outside of multiple svn working
- directories. Instead of aborting the scripts in these cases,
- print a warning and assume that Subversion is being used.
-
- * Scripts/VCSUtils.pm:
- (determineVCSRoot): Call warn() instead of die() if both isGit()
- and isSVN() initially return false. Set $VCSUtils::isSVN to 1
- to enforce the assumption about Subversion, then return
- determineSVNRoot().
- * Scripts/svn-apply: Switch to using isGit() and isSVN() from
- VCSUtils.pm. They both already cache their values and checking
- here is redundant since determineVCSRoot() is called later.
-
-2009-09-26 Zan Dobersek <zandobersek@gmail.com>
-
- Reviewed by Gustavo Noronha.
-
- [Layout tests] [Gtk] Gtk DumpRenderTree should use WebKit test fonts
- https://bugs.webkit.org/show_bug.cgi?id=29689
-
- Load test fonts through FontConfig before each test.
- This ensures a more proper rendering of the tests.
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (initializeFonts):
- (runTest):
- (main):
- * DumpRenderTree/gtk/fonts.conf: Copied from WebKitTools/DumpRenderTree/qt/fonts.conf.
- * GNUmakefile.am:
-
-2009-09-25 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/29718> mark-bug-fixed: add -u|--update-only switch
-
- Reviewed by Eric Seidel.
-
- * Scripts/mark-bug-fixed:
- (MarkBugFixed.__init__): Added -u|--update-only switch to list
- of parse options.
- (MarkBugFixed.main): When -u|--update-only is specified, add a
- comment to the bug without marking it Resolved/Fixed.
-
-2009-09-25 Darin Adler <darin@apple.com>
-
- Reviewed by Geoffrey Garen.
-
- * Scripts/prepare-ChangeLog: Leave files from the script-tests directory
- out, just as we do for the resources directory.
-
-2009-09-25 Adam Barth <abarth@webkit.org>
-
- Unreviewed. Added Tony to committers.py because he's a
- committer now.
-
- * Scripts/modules/committers.py:
-
-2009-09-25 Eric Seidel <eric@webkit.org>
-
- Reviewed by Simon Fraser.
-
- REGRESSION: media/video-pause-empty-events.html is occasionally timing out on bots
- https://bugs.webkit.org/show_bug.cgi?id=28624
-
- Disable hardware compositing on Leopard for versions of QuickTime 7.6.4 and older.
-
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (resetDefaultsToConsistentValues):
-
-2009-09-25 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- commit-queue should auto-retry patches which fail to commit due to out of date files
- https://bugs.webkit.org/show_bug.cgi?id=28316
-
- * Scripts/bugzilla-tool:
- - Handle new CheckoutNeedsUpdate exception.
- * Scripts/modules/logging_unittest.py:
- - Call the ScriptError constructor correctly (this test had regressed).
- * Scripts/modules/scm.py:
- - Added the ability to define custom error handlers for run_command
- and added a commit_error_handler which throws CheckoutNeedsUpdate
- instead of ScriptError.
- - Re-ordered ScriptError constructor arguments to make ScriptError("message text") usage possible.
- * Scripts/modules/scm_unittest.py:
- - Added tests of new error handlers.
-
-2009-09-25 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- commit-queue should give better feedback when failing a patch
- https://bugs.webkit.org/show_bug.cgi?id=29316
-
- * Scripts/bugzilla-tool:
- - Update ScriptError uses to the new constructor format.
- - Move CommitQueue._run_command to WebKitLandingScripts.run_command_with_teed_output
- so that we can print to both stdout as well as an output buffer for error reporting.
- - Update run_and_throw_if_fail to use teed output so that it can report the "output" as part of ScriptError.
- - Use e.message_with_output() when failing a patch (this is the real fix here).
- I also removed use of "This patch will require manual commit." as that's not always true.
- - Add missing word "bug" from log message.
- * Scripts/modules/scm.py:
- - Make ScriptError save a bunch more data so that error messages can be nicer.
- - Update ScriptError callers.
-
-2009-09-24 John Gregg <johnnyg@google.com>
-
- Reviewed by Eric Seidel.
-
- Enable switch for notifications (experimental) in Page Settings
- https://bugs.webkit.org/show_bug.cgi?id=28930
-
- Now that desktop notifications are controlled by run-time switch,
- set that switch to true for DumpRenderTree.
-
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (resetDefaultsToConsistentValues):
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (resetDefaultsToConsistentValues):
- * DumpRenderTree/win/UIDelegate.cpp:
- (UIDelegate::QueryInterface):
-
-2009-09-24 Kevin Ollivier <kevino@theolliviers.com>
-
- wx build fix. SnowLeopard fixes for Mac dependencies.
-
- * wx/build/build_utils.py:
- * wx/build/settings.py:
- * wx/install-unix-extras:
-
-2009-09-24 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Oliver Hunt.
-
- Add support for DRT to send mouse wheel events.
-
- https://bugs.webkit.org/show_bug.cgi?id=29348
- [Gtk] Scrollwheel on horizontal scrollbars should slide horizontally
-
- * DumpRenderTree/gtk/EventSender.cpp:
- (mouseWheelToCallback):
-
-2009-09-17 Eric Seidel <eric@webkit.org>
-
- Reviewed by David Levin.
-
- commit-queue needs web-based status reporting
- https://bugs.webkit.org/show_bug.cgi?id=29307
-
- Add a first-pass web-based status for the commit-queue.
- The bot is currently reachable at:
- http://webkit-commit-queue.appspot.com/
-
- * CommitQueueStatus/app.yaml: Added.
- - Application description file required by App Engine.
- * CommitQueueStatus/filters/__init__.py: Added.
- - Required by python to treat 'filters' as a module.
- * CommitQueueStatus/filters/webkit_extras.py: Added.
- - Support for turning 'bug 123' and 'patch 123' into links.
- This lets us use plain text strings in our logs yet display nice HTML (help prevent XSS attacks on the page).
- * CommitQueueStatus/index.html: Added.
- * CommitQueueStatus/index.yaml: Added.
- - Some auto-generated file from app engine.
- * CommitQueueStatus/queue_status.py: Added.
- - The core logic of this bot. We could eventually split this file out into pieces.
- * CommitQueueStatus/stylesheets/main.css: Added.
- - Some basic lame-o CSS to make the page look less awful.
- * CommitQueueStatus/update_status.html: Added.
- - The form that the commit-queue (or a human) can use to update the status.
- * Scripts/bugzilla-tool:
- - Add some very basic update_status calls.
- * Scripts/modules/statusbot.py: Added.
- - Knows how to post to the CommitQueueStatus web application.
-
-2009-09-24 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/29712> mark-bug-fixed: add -m|--comment switch
-
- Reviewed by Adam Roben.
-
- * Scripts/mark-bug-fixed:
- (MarkBugFixed.__init__): Added -m|--comment switch to list of
- parse options.
- (MarkBugFixed.main): When specified, prepend comment from
- -m|--comment command-line switch to the bug comment.
-
-2009-09-24 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Jan Alonzo.
-
- [GTK] DRT must display window instead of just realizing, to enable synthesizing events correctly
- https://bugs.webkit.org/show_bug.cgi?id=29693
-
- Show the window, to be able to synthesize events correctly.
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (runTest):
- (main):
-
-2009-09-24 Oliver Hunt <oliver@apple.com>
-
- Reviewed by NOBODY(rollout)
-
- Roll out r48712 as it is incorrect.
-
- * DumpRenderTree/mac/ObjCController.m:
- (+[ObjCController isSelectorExcludedFromWebScript:]):
- (+[ObjCController webScriptNameForSelector:]):
-
-2009-09-24 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=29005
- The indices of RuntimeArray should be enumerated like for a regular array.
-
- * DumpRenderTree/mac/ObjCController.m:
- (+[ObjCController isSelectorExcludedFromWebScript:]):
- (+[ObjCController webScriptNameForSelector:]):
- (-[ObjCController arrayOfString]):
-
-2009-09-23 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/28910> Move bugzilla-tool mark-fixed to standalone mark-bug-fixed tool
-
- Reviewed by Darin Adler.
-
- Also fixed a bug where specifying a revision on the command-line
- as 'r12345' would fail. See <http://webkit.org/b/29699>.
-
- * Scripts/bugzilla-tool: Updated module import statements.
- (parse_bug_id): Removed. Moved to bugzilla.py.
- (bug_comment_from_svn_revision): Removed. Moved to comments.py.
- (bug_comment_from_commit_text): Removed. Moved to comments.py.
- (MarkBugFixed): Removed. Code moved to mark-bug-fixed.
- (BugzillaTool.__init__): Removed mark-fixed subcommand.
- * Scripts/mark-bug-fixed: Added.
- * Scripts/modules/bugzilla.py:
- (parse_bug_id): Added. Moved from bugzilla-tool.
- * Scripts/modules/comments.py: Added.
- (bug_comment_from_svn_revision): Added. Moved from bugzilla-tool.
- (bug_comment_from_commit_text): Added. Moved from bugzilla-tool.
-
-2009-09-23 Marshall Culpepper <mculpepper@appcelerator.com>
-
- Reviewed by Eric Seidel.
-
- jpeg.lib is now libjpeg.lib in DRT Cairo dependencies. return
- "false" in non-implemented stub for setAlwaysAcceptCookies.
- https://bugs.webkit.org/show_bug.cgi?id=29661
-
- * DumpRenderTree/win/DumpRenderTree.vcproj:
- * DumpRenderTree/win/DumpRenderTree.cpp:
-
-2009-09-23 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- [GTK] need to dump number of pending unload handlers
- https://bugs.webkit.org/show_bug.cgi?id=29685
-
- Implement dumping of the number of pending unload handlers.
-
- The following tests will pass:
-
- fast/loader/unload-form-about-blank.html
- fast/loader/unload-form-post-about-blank.html
- fast/loader/unload-form-post.html
- fast/loader/unload-form.html
- fast/loader/unload-hyperlink.html
- fast/loader/unload-javascript-url.html
- fast/loader/unload-reload.html
- fast/loader/unload-window-location.html
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (getFrameNameSuitableForTestResult):
- (webViewLoadFinished):
-
-2009-09-22 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Eric Seidel.
-
- js tests should move into jstests subdirectory instead of resources/
- https://bugs.webkit.org/show_bug.cgi?id=25880
-
- Remove support of resources directory.
-
- * Scripts/make-script-test-wrappers:
-
-2009-09-22 Eric Seidel <eric@webkit.org>
-
- No review, only fixing typo (missing space character).
-
- Fix typo from https://bugs.webkit.org/show_bug.cgi?id=29220
-
- * Scripts/run-webkit-tests:
-
-2009-09-22 Eric Seidel <eric@webkit.org>
-
- Reviewed by Darin Adler.
-
- run-webkit-tests needs a --repeat-each=N option (AAABBBCCC instead of ABCABCABC)
- https://bugs.webkit.org/show_bug.cgi?id=29220
-
- * Scripts/run-webkit-tests:
-
-2009-09-22 Eric Seidel <eric@webkit.org>
-
- Reviewed by David Kilzer.
-
- svn-apply can't handle single-line binary file additions
- https://bugs.webkit.org/show_bug.cgi?id=29100
-
- Fixed the regexp and added a unit test.
-
- * Scripts/modules/scm_unittest.py:
- * Scripts/svn-apply:
-
-2009-09-11 Eric Seidel <eric@webkit.org>
-
- Reviewed by David Kilzer.
-
- post-diff and post-commits should be able to find bug urls in ChangeLogs.
- https://bugs.webkit.org/show_bug.cgi?id=29206
-
- * Scripts/bugzilla-tool:
- - Share common options by adding a PostDiffAsPatchToBug.posting_options() method.
- - Rename --no-comment to --add-log-as-comment and reverse behavior.
- Comments tend to just be noise. I'll eventually remove this argument if no one uses it.
- - Split out code into helper functions to try and make execute() more legible.
- - Make post-diff find the bug url in the ChangeLogs if not passed as an argument.
- - Fallback to bug urls in commit diffs, instead of just in commit messages,
- meaning post-commits will now find bug urls in ChangeLogs.
-
-2009-09-21 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
-
- Reviewed by Maciej Stachowiak.
-
- --parse-only parameter wasn't passed to SunSpider/sunspider script.
- https://bugs.webkit.org/show_bug.cgi?id=29611
-
- * Scripts/run-sunspider: Missing parameter passing added.
-
-2009-09-20 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/29521> run-webkit-tests: use require instead eval to load DumpRenderTreeSupport module
-
- Reviewed by Mark Rowe.
-
- The require statement is like the use statement, except that it
- is run during script execution instead of during the 'BEGIN'
- phase. This makes it possible to change @INC before the require
- statement is run. See 'require' and 'use' in the perlfunc(1)
- manpage and 'BEGIN' in perlmod(1) manpage.
-
- * Scripts/run-webkit-tests: Replace eval statement with require
- statement.
-
-2009-09-18 Kevin Ollivier <kevino@theolliviers.com>
-
- wx build fixes. Fix the config name under git and allow users to specify
- their own waf install for experimenting with new versions.
-
- * Scripts/webkitdirs.pm:
- * wx/build/settings.py:
-
-2009-09-18 Alex Milowski <alex@milowski.com>
-
- Reviewed by Maciej Stachowiak.
-
- Added checkWebCoreMathMLSupport and hasMathMLSupport to support
- checking for whether MathML tests should be run
-
- * Scripts/run-webkit-tests:
- * Scripts/webkitdirs.pm:
-
-2009-08-28 Darin Adler <darin@apple.com>
-
- Reviewed by Mark Rowe.
-
- Break more of run-webkit-tests into separate functions
- https://bugs.webkit.org/show_bug.cgi?id=29497
-
- Some small steps toward improving run-webkit-tests. My goal is to
- refactor much more of the script into functions. Later we can add
- parallel test running to the tool. But better structure may help
- even if someone decides to translate this into another scripting
- language instead.
-
- * Scripts/run-webkit-tests: Break more pieces of the script into
- seprate functions. Added readSkippedFiles, findTestsToRun, and
- printResults functions. Removed custom code to skip results.html
- and instead just put it into the ignoredFiles hash. Fixed some
- indentation. Sorted function declarations, global variables,
- and options at the top of the file alphabetically so they're not
- in a semi-random order.
-
-2009-09-17 Kevin Ollivier <kevino@theolliviers.com>
-
- wx build fix, add missing dependency.
-
- * wx/browser/wscript:
-
-2009-09-16 Mark Rowe <mrowe@apple.com>
-
- Split the SnowLeopard build across a few machines.
-
- * BuildSlaveSupport/build.webkit.org-config/config.json:
-
-2009-09-16 Kevin Ollivier <kevino@theolliviers.com>
-
- wx build fix to support monolithic builds on Windows.
-
- * wx/build/wxpresets.py:
-
-2009-09-16 Kevin Ollivier <kevino@theolliviers.com>
-
- wx build fix, improve debug support and 2.9 support on MSW.
-
- * wx/build/settings.py:
- * wx/build/wxpresets.py:
-
-2009-09-16 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Blind try at fixing new test failure on Windows.
-
- * DumpRenderTree/win/FrameLoadDelegate.cpp:
- (FrameLoadDelegate::didReceiveTitle):
-
-2009-09-15 Alex Milowski <alex@milowski.com>
-
- Reviewed by Tor Arne Vestbø.
-
- Added mathml toggle
-
- * Scripts/build-webkit:
-
-2009-09-15 Kevin Ollivier <kevino@theolliviers.com>
-
- wx build fix. Allow waf build to support Python < 2.6.
-
- * wx/build/waf_extensions.py:
-
-2009-09-14 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Add LayoutTests infrastructure to enable and disable webgl tests.
- https://bugs.webkit.org/show_bug.cgi?id=29254
-
- * Scripts/run-webkit-tests:
- * Scripts/webkitdirs.pm:
-
-2009-09-14 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Darin Adler.
-
- Add --iterations option to run-webkit-tests to repeat the tests N times
- https://bugs.webkit.org/show_bug.cgi?id=29263
-
- When run with --iterations N, run-webkit-tests will repeat the tests N times.
-
- * Scripts/run-webkit-tests:
-
-2009-09-14 Brady Eidson <beidson@apple.com>
-
- Not reviewed, maybe should've been:
-
- Cleaning up more Windows-specific fallout from the fix for:
- <rdar://problem/7174050> and https://bugs.webkit.org/show_bug.cgi?id=29160
-
- * DumpRenderTree/win/ResourceLoadDelegate.cpp:
- (ResourceLoadDelegate::didReceiveAuthenticationChallenge): Correct printf() formatter,
- and call the correct method to get the Sender.
-
-2009-09-14 Jon Honeycutt <jhoneycutt@apple.com>
-
- GTK build fix.
-
- Unreviewed.
-
- * DumpRenderTree/gtk/AccessibilityControllerGtk.cpp:
- (AccessibilityController::setLogScrollingStartEvents):
-
-2009-09-11 Jon Honeycutt <jhoneycutt@apple.com>
-
- DRT/test part of
- <rdar://problem/7197644> WebKit should broadcast an MSAA event when
- jumping to a named anchor
-
- https://bugs.webkit.org/show_bug.cgi?id=28899
-
- Reviewed by Adam Roben.
-
- * DumpRenderTree/AccessibilityController.cpp:
- (logScrollingStartEventsCallback):
- Turn on logging of scrolling start events.
- (AccessibilityController::getJSClass):
- Add a "logScrollingStartEvents" to the AccessibilityController's JS
- class definition.
- (AccessibilityController::resetToConsistentState):
- Turn off logging of scrolling start events.
-
- * DumpRenderTree/AccessibilityController.h:
- Declare setLogScrollingStartEvents(). Add a member for the scrolling
- start event hook.
-
- * DumpRenderTree/mac/AccessibilityControllerMac.cpp:
- (AccessibilityController::setLogScrollingStartEvents):
- Stubbed.
-
- * DumpRenderTree/win/AccessibilityControllerWin.cpp:
- (AccessibilityController::AccessibilityController):
- Initialize the handle to 0.
- (logEventProc):
- Renamed from logFocusEventProc; now logs scrolling start events, too.
- Removed the assertion that the event is a focus event. Added a switch
- to print a message for focus, scrolling start, and other, unknown
- events.
- (AccessibilityController::setLogFocusEvents):
- Changed to use logEventProc.
- (AccessibilityController::setLogScrollingStartEvents):
- If turning logging off, unhook the scrolling start event hook, and clear
- the member holding the handle. If turning on, query for the root
- accessible, so that accessibility is enabled for the WebView, and call
- SetWinEventHook to setup an event hook using logEventProc as the
- callback function.
-
-2009-09-14 Brady Eidson <beidson@apple.com>
-
- Windows build fix.
-
- * DumpRenderTree/LayoutTestController.cpp:
- (setAuthenticationPasswordCallback):
- (setAuthenticationUsernameCallback):
-
- * DumpRenderTree/win/ResourceLoadDelegate.cpp:
- (ResourceLoadDelegate::didReceiveAuthenticationChallenge):
-
-2009-09-14 Brady Eidson <beidson@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- Safari 4 cannot be used to update firmware on Linksys routers.
- <rdar://problem/7174050> and https://bugs.webkit.org/show_bug.cgi?id=29160
-
- Add the ability for DRT to handle authentication challenges.
-
- * DumpRenderTree/LayoutTestController.cpp:
- (setAuthenticationPasswordCallback):
- (setAuthenticationUsernameCallback):
- (setHandlesAuthenticationChallengesCallback):
- (LayoutTestController::staticFunctions):
-
- * DumpRenderTree/LayoutTestController.h:
- (LayoutTestController::handlesAuthenticationChallenges):
- (LayoutTestController::setHandlesAuthenticationChallenges):
- (LayoutTestController::authenticationUsername):
- (LayoutTestController::setAuthenticationUsername):
- (LayoutTestController::authenticationPassword):
- (LayoutTestController::setAuthenticationPassword):
-
- * DumpRenderTree/mac/ResourceLoadDelegate.mm:
- (-[ResourceLoadDelegate webView:resource:didReceiveAuthenticationChallenge:fromDataSource:]):
-
- * DumpRenderTree/win/ResourceLoadDelegate.cpp:
- (ResourceLoadDelegate::didReceiveAuthenticationChallenge):
- * DumpRenderTree/win/ResourceLoadDelegate.h:
-
-2009-09-12 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Test for <rdar://problem/6954546> and <rdar://problem/7090444>.
-
- Add a flag on the test plug-in that asks it to clear the document during the call to NPP_New.
- This is the trigger for both <rdar://problem/6954546> and <rdar://problem/7090444>.
-
- * DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp:
- (NPP_New):
-
-2009-09-14 Kevin Ollivier <kevino@theolliviers.com>
-
- wx build fix for non-wxPython builds and a fix for errors when updating swig.py.
-
- * wx/build/build_utils.py:
- * wx/build/settings.py:
-
-2009-09-14 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Build fix for windows build.
-
- * Scripts/bisect-builds: Add missing paranthesis for tmpdir function.
-
-2009-09-13 Kevin Ollivier <kevino@theolliviers.com>
-
- Fix typo accidently landed in last commit.
-
- * wx/build/settings.py:
-
-2009-09-13 Kevin Ollivier <kevino@theolliviers.com>
-
- wx build fix, error out if using the wrong Python.
-
- * wx/build/settings.py:
-
-2009-09-13 Xan Lopez <xlopez@igalia.com>
-
- Build fix for GTK+ < 2.14.
-
- Do not use gtk_widget_get_window, access the window directly
- through the struct.
-
- * DumpRenderTree/gtk/EventSender.cpp:
- (contextClickCallback):
- (mouseDownCallback):
- (mouseUpCallback):
- (mouseMoveToCallback):
- (keyDownCallback):
-
-2009-09-13 Martin Robinson <martin.james.robinson@gmail.com>
-
- Reviewed by Xan Lopez and Jan Alonzo.
-
- [GTK] EventSender does not set 'window' property on synthesized GDK events
- https://bugs.webkit.org/show_bug.cgi?id=29169
-
- Set the window property on synthesized GDK events in the GTK+ EventSender.
-
- * DumpRenderTree/gtk/EventSender.cpp:
- (contextClickCallback):
- (mouseDownCallback):
- (mouseUpCallback):
- (mouseMoveToCallback):
- (keyDownCallback):
-
-2009-09-12 Drew Wilson <atwilson@google.com>
-
- Reviewed by Mark Rowe.
-
- run-webkit-tests has a timeout value that is too low
- https://bugs.webkit.org/show_bug.cgi?id=29223
-
- * Scripts/run-webkit-tests:
- Changed timeout value to 20 seconds to avoid timing out too early.
-
-2009-09-11 Kevin Ollivier <kevino@theolliviers.com>
-
- wx build fix. Mark dependencies as mandatory and declare which MSVC versions and
- architectures are supported for building wxWebKit.
-
- * wx/build/settings.py:
-
-2009-09-11 Eric Seidel <eric@webkit.org>
-
- Reviewed by David Levin.
-
- bugzilla-tool rollout threw exception under svn
- https://bugs.webkit.org/show_bug.cgi?id=29211
-
- * Scripts/modules/scm.py: add missing return, and convert number arguments to strings.
- * Scripts/modules/scm_unittest.py: add testing for this fix.
-
-2009-09-11 Brian Weinstein <bweinstein@apple.com>
-
- Add myself to the committers list.
-
- * Scripts/modules/committers.py:
-
-2009-09-11 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- bugzilla-tool land-patches should only fail-fast in --commit-queue mode
- https://bugs.webkit.org/show_bug.cgi?id=29201
-
- * Scripts/bugzilla-tool:
-
-2009-09-11 Adam Roben <aroben@apple.com>
-
- Make commit-log-editor move common prefixes to the top of the log
-
- Fies <http://webkit.org/b/29190> commit-log-editor should move common
- prefixes to the top of the commit log
-
- Reviewed by Darin Adler.
-
- * Scripts/commit-log-editor: Find and remove the longest common prefix
- ending in a double newline from each ChangeLog entry, then put that
- common prefix at the top of the commit log.
- (removeLongestCommonPrefixEndingInDoubleNewline): Added. Finds,
- removes, and returns the longest common prefix ending in a double
- newline from a hash of strings
-
-2009-09-11 Eric Seidel <eric@webkit.org>
-
- Fix obvious typo in previous commit, no review.
-
- bugzilla-tool should automate rollouts
- https://bugs.webkit.org/show_bug.cgi?id=26715
-
- * Scripts/bugzilla-tool: add back missing "scm" argument.
-
-2009-09-11 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- bugzilla-tool should automate rollouts
- https://bugs.webkit.org/show_bug.cgi?id=26715
-
- bugzilla-tool rollout will do the rollout locally and leave the diff for you to verify and commit.
- The --complete-rollout option will automatically land and update the bug.
- Eventually --complete-rollout will be default, but that will require more testing.
-
- This first pass is good enough for others to try and file bugs about.
-
- * Scripts/bugzilla-tool:
- - Move modified_changelogs into scm.py.
- - Move svn_revision_from_commit_text logic into scm.py.
- - Add RolloutCommit command.
- * Scripts/modules/bugzilla.py:
- - Add reopen_bug command used by RolloutCommit.
- * Scripts/modules/scm.py:
- - Add functions to support RolloutCommit.
- - Abstract find_uuid into value_from_svn_info so it can be re-used for _repository_url (needed by svn merge).
- - Add a str() call so that svn_commit_log can take a numeric argument.
- - Remove a bunch of very slow code from last_svn_commit_log and used the built-in 'BASE' alias instead.
- - Made dry_run commits return something that svn_revision_from_commit_text can parse.
- * Scripts/modules/scm_unittest.py:
- - Add read_from_path for easy file reading.
- - Put test4 on a new line to make reverts work w/o conflict.
- - Add an "svn update" call so that the checkout revision matches the server revision.
- - Add tests for svn_revision_from_commit_text.
- - Add a simple test for apply_reverse_diff.
- - Add a new self.scm member and use it in the new tests (eventually other tests can use it too).
- - Add test for svn_commit_log to make sure my 'BASE' change above worked as expected.
-
-2009-09-11 Adam Roben <aroben@apple.com>
-
- Get user script/stylesheet tests running on Windows
-
- Fixes <http://webkit.org/b/29181> User script/stylesheet tests are
- skipped on Windows
-
- Reviewed by John Sullivan.
-
- * DumpRenderTree/win/DumpRenderTree.vcproj: Link all configurations
- against comsuppw.lib so we can use _bstr_t.
-
- * DumpRenderTree/win/LayoutTestControllerWin.cpp: Fixed #include
- order, added #include of comutil.h for _bstr_t.
-
- (bstrT): Helper function to convert a JSStringRef to a _bstr_t.
- (LayoutTestController::addUserScript):
- (LayoutTestController::addUserStyleSheet):
- Implemented. Implementations were based on those in
- LayoutTestControllerMac.mm.
-
-2009-09-10 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/29147> run-webkit-tests: make -h show help
-
- Reviewed by Mark Rowe.
-
- * Scripts/run-webkit-tests: Updated to make -h switch show help.
-
-2009-09-10 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by Alexey Proskuryakov.
-
- Add WebCore/websockets directory in wx build system.
- https://bugs.webkit.org/show_bug.cgi?id=28038
-
- * wx/build/settings.py:
-
-2009-09-10 Martin Robinson <martin.james.robinson@gmail.com>
-
- [GTK] EventSender does not properly convert some keyDown strings
- https://bugs.webkit.org/show_bug.cgi?id=29119
-
- Add more keyDown string to character code conversions for GTK+ EventSender.
-
- * DumpRenderTree/gtk/EventSender.cpp:
- (keyDownCallback):
-
-2009-09-09 Steve Block <steveblock@google.com>
-
- Reviewed by Maciej Stachowiak.
-
- Geolocation Coordinates::toString() prints bogus values for unspecified properties.
- https://bugs.webkit.org/show_bug.cgi?id=29080
-
- * Scripts/make-script-test-wrappers: Modified. Adds asynchronous Geolocation tests to exclusion list.
-
-2009-09-09 Eric Seidel <eric@webkit.org>
-
- Reviewed by Eric Carlson.
-
- reviewer/committer lookups are backwards
- https://bugs.webkit.org/show_bug.cgi?id=29113
-
- I also moved Eric Carlson from the committer list to the reviewer list now that he is one.
-
- * Scripts/modules/bugzilla.py:
- * Scripts/modules/committers.py:
-
-2009-09-09 Cameron McCormack <cam@mcc.id.au>
-
- Reviewed by Eric Seidel.
-
- svn-unapply doesn't revert directories correctly
- https://bugs.webkit.org/show_bug.cgi?id=29065
-
- * Scripts/svn-unapply: Make svnStatus consistently return status
- lines including a newline.
- * Scripts/svn-apply: Keep svnStatus in sync with the one in
- svn-unapply, in lieu of moving it to a common file.
-
-2009-09-09 Cameron McCormack <cam@mcc.id.au>
-
- Reviewed by Eric Seidel.
-
- svn-apply doesn't handle changes to files copied to new directories properly
- https://bugs.webkit.org/show_bug.cgi?id=29059
-
- * Scripts/svn-apply: Don't treat "--- revision 0" patches as being
- additions if we know that we've just copied a file to this name.
-
-2009-09-09 Eric Seidel <eric@webkit.org>
-
- Reviewed by David Levin.
-
- commit-queue hangs if a builder has never built
- https://bugs.webkit.org/show_bug.cgi?id=29091
-
- * Scripts/modules/buildbot.py:
- * Scripts/modules/buildbot_unittest.py:
-
-2009-09-09 Zan Dobersek <zandobersek@gmail.com>
-
- Reviewed by Gustavo Noronha.
-
- [GTK] DumpRenderTree needs eventSender object and implementation
- https://bugs.webkit.org/show_bug.cgi?id=25990
-
- Implements most of the EventSender object's functionality for
- the DumpRenderTree tool. Implementation still lacks support
- for drag and drop tests and forward leaps.
-
- Based on work by Holger Hans Peter Freyther.
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (runTest): Focus on the view before loading a new test.
- (webViewWindowObjectCleared):
- * DumpRenderTree/gtk/EventSender.cpp: Added.
- (getDragModeCallback):
- (setDragModeCallback):
- (leapForwardCallback):
- (contextClickCallback):
- (updateClickCount):
- (mouseDownCallback):
- (mouseUpCallback):
- (mouseMoveToCallback):
- (beginDragWithFilesCallback):
- (replaySavedEvents):
- (keyDownCallback):
- (textZoomInCallback):
- (textZoomOutCallback):
- (zoomPageInCallback):
- (zoomPageOutCallback):
- (getClass):
- (makeEventSender):
- * DumpRenderTree/gtk/EventSender.h: Added.
- * GNUmakefile.am: Add build rules for EventSender.
-
-2009-09-09 Daniel Bates <dbates@webkit.org>
-
- Reviewed by Adam Roben.
-
- https://bugs.webkit.org/show_bug.cgi?id=28953
-
- Added pre- and post- build events so that on build failure, the file
- buildfailed is written to the directory $(WebKitOutputDir).
-
- * WinLauncher/WinLauncher.vcproj:
-
-2009-09-09 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Unreviewed.
-
- Add myself to list of committers.
-
- * Scripts/modules/committers.py:
-
-2009-09-08 Eric Seidel <eric@webkit.org>
-
- Reviewed by David Levin.
-
- commit-queue gets stuck if a non-committer sets commit-queue+ or review+
- https://bugs.webkit.org/show_bug.cgi?id=28605
- https://bugs.webkit.org/show_bug.cgi?id=28916
-
- * Scripts/bugzilla-tool:
- - Fix comment and adjust reject_patch_from_commit_queue call to pass "manual commit"
- comment now that it's used for rejecting patches for invalid committers too.
- - Pass reject_invalid_patches=True for commit-queue calls, normally we just ignore patches with invalid reviewers, the commit-queue rejects them.
- - Make the commit queue print patches count instead of bugs count, this also fixes https://bugs.webkit.org/show_bug.cgi?id=28916.
- * Scripts/modules/bugzilla.py:
- - Make _parse_attachment_element not validate reviewer/committer.
- - Share flag parsing code in _parse_attachment_flag.
- - Add _validate* methods for validating reviewers and committers and updating bugs when validation fails.
- - Add reject_invalid_patches argument so the commit-queue can update bugs on failed validation and other "read only" commands will not.
- - Add reject_patch_from_review_queue using a new _set_flag_on_attachment abstraction.
- * Scripts/modules/bugzilla_unittest.py:
- - Update this test to no longer expect committer/reviewer validation.
- * Scripts/modules/committers.py:
- - Return None on failed lookups instead of raising Exceptions.
- * Scripts/modules/committers_unittest.py:
- - Update tests to expect None returns instead of exceptions.
-
-2009-09-09 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/29061> Fix obvious copy-paste error in AccessibilityUIElement::clickPointY()
-
- Reviewed by Mark Rowe.
-
- No change to layout test results.
-
- * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
- (AccessibilityUIElement::clickPointY): Changed to return y value
- instead of x value.
-
-2009-09-08 Dimitri Glazkov <dglazkov@chromium.org>
-
- Reviewed by Mark Rowe.
-
- Reduce dglazkov's boboiness by properly concatenating revision value.
-
- * BuildSlaveSupport/build.webkit.org-config/master.cfg: Used substitution
- rather than "+".
-
-2009-09-08 Kevin Ollivier <kevino@theolliviers.com>
-
- wxWebKit Python extension build fix - get swig.py if it doesn't exist.
-
- * wx/build/build_utils.py:
-
-2009-09-08 Mark Rowe <mrowe@apple.com>
-
- Fix an incorrect variable name in UpdateChromiumSource.
-
- * BuildSlaveSupport/build.webkit.org-config/master.cfg:
-
-2009-09-08 Mark Rowe <mrowe@apple.com>
-
- Don't check for leaks on the release SnowLeopard builder.
-
- * BuildSlaveSupport/build.webkit.org-config/config.json:
-
-2009-09-08 Mark Rowe <mrowe@apple.com>
-
- Add a SnowLeopard release builder.
-
- * BuildSlaveSupport/build.webkit.org-config/config.json:
-
-2009-09-08 David Levin <levin@chromium.org>
-
- Reviewed by Darin Adler.
-
- Remove end of line whitespace check from check-webkit-style.
- https://bugs.webkit.org/show_bug.cgi?id=29053
-
- * Scripts/modules/cpp_style.py:
-
-2009-09-08 Cameron McCormack <cam@mcc.id.au>
-
- Reviewed by Darin Adler.
-
- Fix DumpRenderTree build from clean tree on Tiger
- https://bugs.webkit.org/show_bug.cgi?id=28927
-
- * DumpRenderTree/mac/PerlSupport/Makefile: Ensure the
- DerivedSources/DumpRenderTree directory exists when
- building on Tiger.
-
-2009-09-08 Kevin Ollivier <kevino@theolliviers.com>
-
- wx build fix after introduction of platform/mock directory.
-
- * wx/build/settings.py:
-
-2009-09-08 Yael Aharon <yael.aharon@nokia.com>
-
- Unreviewed.
-
- Add myself to list of committers.
-
- * Scripts/modules/committers.py:
-
-2009-09-08 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Unreviewed.
-
- Add myself to list of committers.
-
- * Scripts/modules/committers.py:
-
-2009-09-08 Cameron McCormack <cam@mcc.id.au>
-
- Reviewed by Darin Adler.
-
- prepare-ChangeLog too chatty on file additions
- https://bugs.webkit.org/show_bug.cgi?id=29019
-
- * Scripts/prepare-ChangeLog: Omit description of added properties
- on newly added files.
-
-2009-09-08 Steve Block <steveblock@google.com>
-
- Reviewed by Adam Barth.
-
- Adds a LayoutTestController method to set the permission state for Geolocation.
- This is required to use the mock Geolocation service for testing.
- https://bugs.webkit.org/show_bug.cgi?id=29027
-
- * DumpRenderTree/LayoutTestController.cpp: Modified.
- (setDatabaseQuotaCallback): Modified. Style fix.
- (setGeolocationPermissionCallback): Added. Sets the Geolocation permission state.
- (LayoutTestController::staticFunctions): Modified. Registers the above function on the LayoutTestController.
- * DumpRenderTree/LayoutTestController.h: Modified.
- (LayoutTestController::setGeolocationPermission): Added. Sets the Geolocation permission state.
- (LayoutTestController::isGeolocationPermissionSet): Added. Returns whether the Geolocation permission has been set.
- (LayoutTestController::geolocationPermission): Added. Returns the Geolocation permission state.
- * DumpRenderTree/mac/UIDelegate.mm: Modified.
- (-[UIDelegate webView:frame:requestGeolocationPermission:securityOrigin:]): Added. Implement chrome method to respond to request for Geolocation permission state. Response is made using above methods to access permission state.
-
-2009-09-08 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] QtWebKit single API to enable persistency
- https://bugs.webkit.org/show_bug.cgi?id=28682
-
- Use the new enablePersistentStorage API instead
- of enabling all persistent features one-by-one.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::WebPage::WebPage):
- (WebCore::DumpRenderTree::DumpRenderTree):
-
-2009-09-07 Andras Becsi <becsi.andras@stud.u-szeged.hu>
-
- Reviewed by Tor Arne Vestbø.
-
- Refactor --strict switch to --ignore-metrics and correct the
- implementation to make the feature usable on all platforms.
- https://bugs.webkit.org/show_bug.cgi?id=28907
-
- run-webkit-tests --ignore-metrics strips the font related metrics from
- the actual and expected data before comparing them.
- In this way the render trees can be checked for obvious differences but
- a successful test implies by no means that the layout is actually correct.
-
- * Scripts/run-webkit-tests:
-
-2009-09-07 Steve Block <steveblock@google.com>
-
- Reviewed by Adam Barth.
-
- Adds a mock Geolocation service. This will be used to provide predictable behavior of the
- Geolocation API for use in LayoutTests. Later changes will integrate the the mock
- Geolocation service with DumpRenderTree.
- https://bugs.webkit.org/show_bug.cgi?id=28264
-
- * DumpRenderTree/LayoutTestController.cpp: Modified.
- (setMockGeolocationPositionCallback): Added. Configures the mock Geolocation service.
- (setMockGeolocationErrorCallback): Added. Configures the mock Geolocation service.
- (LayoutTestController::staticFunctions): Added. Registers the above functions on the LayoutTestController.
- * DumpRenderTree/LayoutTestController.h: Modified.
- * DumpRenderTree/mac/LayoutTestControllerMac.mm: Modified.
- (LayoutTestController::setMockGeolocationPosition): Added. Configures the mock Geolocation service.
- (LayoutTestController::setMockGeolocationError): Added. Configures the mock Geolocation service.
-
-2009-09-07 Drew Wilson <atwilson@google.com>
-
- Reviewed by David Levin.
-
- Enable SHARED_WORKERS by default
- https://bugs.webkit.org/show_bug.cgi?id=28959
-
- * Scripts/build-webkit:
-
-2009-09-07 Kevin Ollivier <kevino@theolliviers.com>
-
- wx build fixes for wx SVN trunk.
-
- * wx/build/settings.py:
-
-2009-09-04 Kevin Ollivier <kevino@theolliviers.com>
-
- wx build fix. Switch USE_ defines over to the compiler so that they can be
- checked by files not including config.h (like WebCorePrefix.h).
-
- * wx/build/settings.py:
-
-2009-09-04 Adam Barth <abarth@webkit.org>
-
- Unreviewed build fix.
-
- Update declaration of FrameLoadDelegate to reflect that
- IWebFrameLoadDelegatePrivate2 inherits from
- IWebFrameLoadDelegatePrivate.
-
- * DumpRenderTree/win/FrameLoadDelegate.h:
-
-2009-09-04 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=24696
-
- Add testing instrumentation for mixed content.
-
- * DumpRenderTree/mac/FrameLoadDelegate.mm:
- (-[FrameLoadDelegate webView:]):
- (-[FrameLoadDelegate webView:didRunInsecureContent:]):
- * DumpRenderTree/win/FrameLoadDelegate.cpp:
- (descriptionSuitableForTestResult):
- (FrameLoadDelegate::QueryInterface):
- (FrameLoadDelegate::didDisplayInsecureContent):
- (FrameLoadDelegate::didRunInsecureContent):
- * DumpRenderTree/win/FrameLoadDelegate.h:
-
-2009-09-03 Kevin Watters <kevinwatters@gmail.com>
-
- Reviewed by Kevin Ollivier.
-
- [wx] Frames support
- https://bugs.webkit.org/show_bug.cgi?id=19041
-
- * wx/build-wxwebkit:
-
-2009-09-02 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/28880> svn-apply --force doesn't actually work
-
- Reviewed by Eric Seidel.
-
- This fixes "svn-apply --force" and adds unit tests for the
- scm.apply_patch() method which uses this script.
-
- * Scripts/svn-apply: Created $globalExitCode variable that
- defaults to 0. Exit with a value of $globalExitCode when the
- script is finished.
- (applyPatch): Ignore a non-zero $exitCode if $force is true, but
- set $globalExitCode to $exitCode so that svn-apply exits with a
- non-zero status if any patches did not apply cleanly. Also
- print out the actual patch command if $force was not true.
-
- * Scripts/modules/scm.py:
- (scripts_directory): Added. Extracted from script_path().
- (script_path): Extracted scripts_directory().
- * Scripts/modules/scm_unittest.py: Import urllib.
- (SVNTestRepository.setup): Save the original working directory
- in test_object since this represents the WebKit repository from
- where the unit tests are run.
- (SCMTest): Created new super class to hold utility methods.
- (SCMTest._create_patch): Creates a patch file on disk and a
- dictionary for use with scm.svn_apply().
- (SCMTest._setup_webkittools_scripts_symlink): Sets up a symlink
- back to WebKitTools/Scripts in the test repository so that
- scm.apply_patch() is able to find the svn-apply script.
- (SVNTest): Inherit from SCMTest instead of unittest.TestCase.
- (SVNTest.tearDown): Make sure to change directories back to the
- original_path before the next test.
- (SVNTest.test_apply_svn_patch): New test case for applying an
- svn patch with scm.apply_patch().
- (SVNTest.test_apply_svn_patch_force): New test case for applying
- an svn patch with scm.apply_patch() that conflicts.
- (GitTest): Inherit from SCMTest instead of unittest.TestCase.
- (GitTest.tearDown): Make sure to change directories back to the
- original_path before the next test.
- (GitTest.test_apply_git_patch): New test case for applying a git
- patch with scm.apply_patch().
- (GitTest.test_apply_git_patch_force): New test case for applying
- a git patch with scm.apply_patch() that conflicts.
-
-2009-09-02 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Mark Rowe.
-
- [Qt] Add support for platform-spesific layout-test results
-
- For the Qt port we use the qt-[mac|linux|win] directories and then fall
- back to the generic qt directory for both test results and skipped list.
-
- * Scripts/run-webkit-tests:
- * Scripts/webkitdirs.pm:
-
-2009-09-02 Laurent Cerveau <lcerveau@me.com>
-
- Reviewed by David Kilzer.
-
- <http://webkit.org/b/25517> build-webkit script should print build time at end
-
- * Scripts/build-webkit:
- Added startTime and endTime variable so that the build time is computed and printed as
- part of the build message; display formatting has been separated in a dedicated subroutine.
-
-2009-09-02 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/28881> svn-create-patch should check if the repo path is the same when trying to find the root
-
- Reviewed by Eric Seidel.
-
- * Scripts/VCSUtils.pm:
- (determineSvnRoot): Added back check for repository root that
- was removed in r46134 when this code lived in svn-create-patch.
- It's necessary to check both the repository root and the
- repository UUID in case two different working directories are
- checked out from the same repository.
-
-2009-09-02 Timothy Hatcher <timothy@apple.com>
-
- Use new 512x512 icons for nightly builds.
-
- Rubber-stamped by Mark Rowe.
-
- * WebKitLauncher/webkit.icns:
-
-2009-09-02 Kevin Ollivier <kevino@theolliviers.com>
-
- waf build fix. Remove local variable shadowing global.
-
- * wx/build/settings.py:
-
-2009-09-02 Zan Dobersek <zandobersek@gmail.com>
-
- Reviewed by David Kilzer.
-
- Calls exitStatus function from the main package where it is also defined.
-
- * Scripts/VCSUtils.pm:
-
-2009-09-02 Kevin Ollivier <kevino@theolliviers.com>
-
- waf build fixes for Windows/MSVC and Mac/Snow Leopard.
-
- * wx/browser/wscript:
- * wx/build/build_utils.py:
- * wx/build/settings.py:
-
-2009-08-10 Kevin Ollivier <kevino@theolliviers.com>
-
- Reviewed by Eric Seidel.
-
- Changes needed for build-webkit to support the waf build system for the wx port.
-
- https://bugs.webkit.org/show_bug.cgi?id=27619
-
- * Scripts/build-webkit:
- * Scripts/run-launcher:
- * Scripts/webkitdirs.pm:
-
-2009-09-02 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/27168> With Subversion 1.6, update-webkit prompts on conflicts
-
- Reviewed by Eric Seidel.
-
- * Scripts/update-webkit: Added "--accept postpone" to
- @svnOptions when running with svn-1.6 or newer.
-
-2009-09-02 David Kilzer <ddkilzer@apple.com>
-
- Moved svn 1.6 version check into VCSUtils::isSVNVersion16OrNewer()
-
- Reviewed by Eric Seidel.
-
- * Scripts/VCSUtils.pm:
- (@EXPORT): Added &isSVNVersion16OrNewer.
- (svnVersion): Added. Internal method that gets the SVN version
- and caches it.
- (isSVNVersion16OrNewer): Added. Method that does the SVN 1.6
- version check.
- * Scripts/prepare-ChangeLog: Switched to use new
- isSVNVersion16OrNewer() method.
- * Scripts/resolve-ChangeLogs: Ditto.
- * Scripts/svn-create-patch: Ditto.
-
-2009-09-02 David Kilzer <ddkilzer@apple.com>
-
- Clean up VCSUtils.pm
-
- Reviewed by Eric Seidel.
-
- * Scripts/VCSUtils.pm: Added proper package statement. Fixed
- indentation of BEGIN block. Listed each exported method on a
- line by itself. Added methods to the export list after adding
- the package statement. Sorted module variables. Moved
- definiton of $gitRoot next to other module variables.
-
-2009-09-01 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Rubber-stamped by Simon Hausmann.
-
- [Qt] Fix layout-test plugins/plugin-javascript-access.html
-
- * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro:
-
-2009-09-02 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Eric Seidel.
-
- js tests should move into jstests subdirectory instead of resources/
- https://bugs.webkit.org/show_bug.cgi?id=25880
-
- make-script-wrappers supports both resources and script-tests directories.
- run-webkit-tests ignores files in script-tests.
- Move script tests of animations to check the new script is working.
-
- * Scripts/make-script-test-wrappers:
- * Scripts/run-webkit-tests:
-
-2009-09-02 Szabo Carol <carol.szabo@nokia.com>
-
- Reviewed by David Levin.
-
- check-webkit-style uses python from /usr/bin instead of the PATH
- https://bugs.webkit.org/show_bug.cgi?id=28225
-
- * Scripts/bugzilla-tool:
- * Scripts/check-webkit-style:
- * Scripts/run-webkit-unittests:
- * Scripts/update-sources-list.py:
- Changed the first line from
- #!/usr/bin/python
- to
- #!/usr/bin/env python
- which causes python to be invoked from the path location returned
- by "which python" when any of these scripts are launched.
- these are currently all the python scripts in WebKitTools/Scripts.
-
-2009-09-01 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/28601> bugzilla-tool post-commits posts commits backwards
-
- Reviewed by Adam Barth.
-
- * Scripts/modules/scm.py:
- (Git.commit_ids_from_commitish_arguments): Reverse the list of
- commits returned from git-rev-list since we always want to post
- the oldest patches first to bugs.webkit.org.
- * Scripts/modules/scm_unittest.py:
- (run): Added return statement to return the output now that we
- want it sometimes.
- (SVNTestRepository._setup_test_commits): Added a fourth commit
- so the GitTest.test_commitish_order() test has more commits to
- work with.
- (GitTest.test_commitish_order): Added unit test for change to
- Git.commit_ids_from_commitish_arguments() in scm.py.
-
-2009-09-01 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/28877> Implement bugzilla-tool mark-fixed
-
- Reviewed by David Levin.
-
- The mark-fixed subcommand is for those times when you don't use
- bugzilla-tool to commit a patch, but you want to use it to close
- the bug with a committed-revision message.
-
- * Scripts/bugzilla-tool:
- (bug_comment_from_svn_revision): Added. Extracted from
- bug_comment_from_commit_text().
- (bug_comment_from_commit_text): Extracted
- bug_comment_from_svn_revision() from this method.
- (MarkBugFixed.__init__): Added.
- (MarkBugFixed._fetch_commit_log): Added. Retrieves the commit
- log from the last commit if no svn revision is specified, else
- the commit log for the specified svn revision.
- (MarkBugFixed._determine_bug_id_and_svn_revision): Added.
- Attempts to determine the bug id and svn revision if one or both
- were not defined on the command line.
- (MarkBugFixed.execute): Added. Adds a comment about the
- revision that fixed the bug and closes the bug.
- (BugzillaTool.__init__): Added mark-fixed subcommand.
- * Scripts/modules/bugzilla.py:
- (Bugzilla.fetch_title_from_bug): Added. Returns the title of a
- bug given a bug id.
- * Scripts/modules/scm.py:
- (SCM.strip_r_from_svn_revision): Added. Utility method to strip
- the leading 'r' from an svn revision.
- (SCM.svn_commit_log): Added. Subclasses must override.
- (SCM.last_svn_commit_log): Added. Subclasses must override.
- (SVN.svn_commit_log): Added. Returns svn log for a given
- revision.
- (SVN.last_svn_commit_log): Added. Uses svnversion to find the
- last commit in an svn working directory and then runs svn log.
- (Git.svn_commit_log): Added. Returns svn log for a given
- revision.
- (Git.last_svn_commit_log): Added. Runs git-svn-log with a limit
- of one log message.
-
-2009-09-01 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/28880> svn-apply --force doesn't actually work
-
- Reviewed by Brady Eidson.
-
- * Scripts/svn-apply:
- (applyPatch): Add "--force" to $options arrayref if $force is
- set.
-
-2009-09-01 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/28725> resolve-ChangeLogs: determineVCSRoot() returns incorrect repository root during git filter-branch
-
- Reviewed by Adam Roben.
-
- When git-filter-branch has been invoked to rewrite ChangeLog
- files on series of git commits, it changes directories into
- .git-rewrite/t before re-running resolve-ChangeLogs. This
- causes determineVCSRoot() in VCSUtils.pm to return
- ".git-rewrite/t", which causes that path to be prepended to all
- ChangeLog paths, which results in an error like this:
-
- error: pathspec '.git-rewrite/t/ChangeLog' did not match any file(s) known to git.
- Died at WebKitTools/Scripts/resolve-ChangeLogs line 376.
-
- The correct way to fix this is not to try to find the repository
- root when invoked by git-filter-branch.
-
- * Scripts/resolve-ChangeLogs: If isInGitFilterBranch() is true,
- set $relativePath to '.' instead of calling
- chdirReturningRelativePath(determineVCSRoot()).
- (isInGitFilterBranch): Added. Checks for the existence of the
- MAPPED_PREVIOUS_COMMIT environment variable.
-
-2009-09-01 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Add support for Fedora distros in the http tests
- https://bugs.webkit.org/show_bug.cgi?id=28263
-
- Add detection code for Fedora distribution, and use the proper
- httpd conf file when needed.
-
- * Scripts/run-webkit-httpd:
- * Scripts/run-webkit-tests:
- * Scripts/webkitdirs.pm:
-
-2009-09-01 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [Gtk] DRT needs implementation of overridePreference
- https://bugs.webkit.org/show_bug.cgi?id=28830
-
- Implement overridePreference.
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (resetDefaultsToConsistentValues):
- (setDefaultsToConsistentStateValuesForTesting):
- (runTest):
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (toWebSettingKey):
- (LayoutTestController::overridePreference):
-
-2009-09-01 Joseph Pecoraro <joepeck@webkit.org>
-
- <http://webkit.org/b/28623> svn-[un]apply should change directories to the repository root before [un]applying
-
- Reviewed by Eric Seidel.
-
- Jump back and forth between the repository root directory (to apply) and the
- directory the script was run from (to find the patch).
-
- * Scripts/svn-apply:
- * Scripts/svn-unapply:
-
-2009-08-31 Adam Roben <aroben@apple.com>
-
- Fall back to a Release version of Safari if a Debug one doesn't exist
-
- <http://webkit.org/b/28849>
-
- Reviewed by Sam Weinig.
-
- * Scripts/webkitdirs.pm:
- (safariPath): If the user is working with a Debug build, but there's
- no Debug version of Safari present, fall back to using a Release
- version of Safari.
-
-2009-08-31 Adam Roben <aroben@apple.com>
-
- Make safariPath() work for Debug builds of Safari on Windows
-
- <http://webkit.org/b/28849>
-
- Reviewed by Sam Weinig.
-
- * Scripts/webkitdirs.pm:
- (safariPath): If the user is working with a Debug build, add the
- _debug suffix to Safari.exe.
-
-2009-08-28 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- commit-queue needs a master process
- https://bugs.webkit.org/show_bug.cgi?id=28040
-
- Add a bugzilla-tool commit-queue command
- Keeps per-bug logs, but doesn't yet upload them anywhere.
-
- * Scripts/bugzilla-tool: Add LandPatchesFromCommitQueue to handle 'commit-queue'
- * Scripts/modules/buildbot.py: remove noisy log message
- * Scripts/modules/logging.py: add a 'tee()' call for splitting outputs in python
-
-2009-08-28 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Reviewed by Gustavo Noronha.
-
- [GTK] Geolocation needs permission API before being enabled by default
-
- Build the Gtk port with geolocation enabled. This option is only
- enabled for the buildbot. The autotools option will be enabled by
- default once the permissions API is implemented.
-
- * Scripts/build-webkit:
-
-2009-08-26 Cameron McCormack <cam@mcc.id.au>
-
- Reviewed by David Kilzer.
-
- Make prepare-ChangeLog notice property changes
- https://bugs.webkit.org/show_bug.cgi?id=28675
-
- Make the generated ChangeLog entry include a short description of
- property changes if there were such changes. Also make
- prepare-ChangeLog not bail if the only changes are property changes.
-
- * Scripts/prepare-ChangeLog:
-
-2009-08-26 Adam Barth <abarth@webkit.org>
-
- Reviewed by Oliver Hunt.
-
- Don't let local files access web URLs
- https://bugs.webkit.org/show_bug.cgi?id=28480
-
- A bunch of our LayoutTests rely on our old behavior, so we explicitly
- grant local files universal access during testing. Mainly, these tests
- involve making XMLHttpRequests for data URLs.
-
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (resetDefaultsToConsistentValues):
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::WebPage::WebPage):
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (resetDefaultsToConsistentValues):
-
-2009-08-26 John Gregg <johnnyg@google.com>
-
- Reviewed by David Levin.
-
- Minor style correction and include fix for notifications
- https://bugs.webkit.org/show_bug.cgi?id=28745
-
- * DumpRenderTree/win/DRTDesktopNotificationPresenter.cpp:
- change to correct EnumStyle
- (DRTDesktopNotificationPresenter::checkNotificationPermission):
-
-2009-08-26 David Levin <levin@chromium.org>
-
- Reviewed by Alexey Proskuryakov.
-
- XMLHttpRequest.withCredentials=false shouldn't save cookies.
- https://bugs.webkit.org/show_bug.cgi?id=28743
-
- Added the support to the layout test controller on OSX and
- Windows (for CFNETWORK) to allow for changing the accept cookie
- policy.
-
- * DumpRenderTree/LayoutTestController.cpp:
- (LayoutTestController::LayoutTestController): Added a bool
- to track the state of accepting cookies.
- (setAlwaysAcceptCookiesCallback): Standard wrapper method
- to go from js to a C++ method.
- (LayoutTestController::staticFunctions): Added the
- setAlwaysAcceptCookies method to the js layoutTestController.
- * DumpRenderTree/LayoutTestController.h:
- (LayoutTestController::alwaysAcceptCookies): Returns the value.
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::setAlwaysAcceptCookies): Stub out method.
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (resetDefaultsToConsistentValues): Reset the accept cookie to
- its default.
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (LayoutTestController::setAlwaysAcceptCookies): Does the work for
- OSX to change the cookie accept policy.
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (setAlwaysAcceptCookies): Method to handle all the calls necessary
- to change the accept cookie policy on Windows.
- (resetDefaultsToConsistentValues): Reset the accept cookie to
- its default.
- * DumpRenderTree/win/DumpRenderTreeWin.h:
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::setAlwaysAcceptCookies): Stub out method.
- * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
- (LayoutTestController::setAlwaysAcceptCookies): Stub out method.
-
-2009-08-26 Dimitri Glazkov <dglazkov@chromium.org>
-
- Unreviewed.
-
- Remove accidentally left in clobber option.
- https://bugs.webkit.org/show_bug.cgi?id=28400
-
- * BuildSlaveSupport/build.webkit.org-config/master.cfg: Removed clobber option.
-
-2009-08-26 Dimitri Glazkov <dglazkov@chromium.org>
-
- Reviewed by Mark Rowe.
-
- Add canary-style Chromium WebKit build slave to the waterfall.
- https://bugs.webkit.org/show_bug.cgi?id=28400
-
- * BuildSlaveSupport/build.webkit.org-config/config.json: Added one Chromium/Windows slave
- * BuildSlaveSupport/build.webkit.org-config/master.cfg: Added support for Chromium slave commands.
-
-2009-08-25 Cameron McCormack <cam@mcc.id.au>
-
- Reviewed by Darin Adler.
-
- make-script-test-wrappers should be executable
- https://bugs.webkit.org/show_bug.cgi?id=28669
-
- Make make-script-test-wrappers and update-sources-list.py both be
- executable.
-
- * Scripts/update-sources-list.py:
- * Scripts/make-script-test-wrappers:
-
-2009-08-25 Brent Fulgham <bfulgham@webkit.org>
-
- Build fix
-
- Revise Debug_Cairo targets to point inherit from the
- debug_wincairo.vsprops property sheet so that they link
- against the proper libraries in Debug build.
-
- * DumpRenderTree/win/DumpRenderTree.vcproj:
- * DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin.vcproj:
- * WinLauncher/WinLauncher.vcproj:
-
-2009-08-25 David Levin <levin@chromium.org>
-
- Reviewed by Adam Roben.
-
- PLATFORM(CFNETWORK) should be USE(CFNETWORK).
- https://bugs.webkit.org/show_bug.cgi?id=28713
-
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (main):
-
-2009-08-25 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Ariya Hidayat.
-
- [Qt/Mac] Use CONFIG+=build_all only when building libraries
-
- If no configuration is specified when building WebKit we pass the
- debug_and_release option to QMake which results in Makefiles for
- both configurations being generated.
-
- Previously we built both of these configurations by default, for
- all targets (both the QtWebKit framework/dyldlib and the various
- executables such as QtLauncher and tests). This makes sense for
- the libraries, which get the _debug suffix and can be loaded on
- demand by setting the DYLD_IMAGE_SUFFIX, but for executables we
- ended up building the same executable twice.
-
- We now only build one instance of each executable, and since this
- is a developer build we build the debug-version. Passing either
- --debug or --release to build-webkit will override this, and
- even in the default case the release version can still be built
- by running 'make release' in the the build directory of each
- target.
-
- * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro:
- * Scripts/webkitdirs.pm:
-
-2009-08-24 Hironori Bono <hbono@chromium.org>
-
- Reviewed by Adam Barth.
-
- Fix Bug 27827 "[Chromium] Functions Keys don't work in google spreadsheet".
- <https://bugs.webkit.org/show_bug.cgi?id=27827>.
-
- Because of the lack of mappings from GDK key-codes to WebKit key-codes,
- Chromium cannot send valid key-codes to JavaScript when a user types
- function keys. This change just copies the mappings from 'KeyEventGtk.cpp'.
-
- To write layout tests for this issue, added mappings from function-key
- names to platform-specific key-codes to EventSendingController objects
- so that eventSender.keyDown() can send function-key events without using
- platform-specific key codes. (Unfortunately, this eventSender.keyDown() change
- is only for Mac. So this change adds this new test to Skipped tests for other
- platforms to prevent this change from crashing the build trees.)
-
- * DumpRenderTree/mac/EventSendingController.mm:
- (-[EventSendingController keyDown:withModifiers:]):
-
-2009-08-23 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Reviewed by Xan Lopez.
-
- [Gtk] API for disabling local file access to web URLs
- https://bugs.webkit.org/show_bug.cgi?id=28663
-
- Enable this setting for DRT.
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (resetWebViewToConsistentStateBeforeTesting):
-
-2009-08-22 Adam Barth <abarth@webkit.org>
-
- Revert 47684. We're going to do this later once clients have had a
- chance to opt into the setting they like.
-
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (resetDefaultsToConsistentValues):
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::WebPage::WebPage):
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (resetDefaultsToConsistentValues):
-
-2009-08-22 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Don't let local files access web URLs
- https://bugs.webkit.org/show_bug.cgi?id=28480
-
- A bunch of our LayoutTests rely on our old behavior, so we explicitly
- grant local files universal access during testing. Mainly, these tests
- involve making XMLHttpRequests for data URLs.
-
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (resetDefaultsToConsistentValues):
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::WebPage::WebPage):
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (resetDefaultsToConsistentValues):
-
-2009-08-22 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Anders Carlsson.
-
- Bring signed updates to the Mac nightly builds.
-
- * WebKitLauncher/Info.plist:
- * WebKitLauncher/WebKitLauncher.xcodeproj/project.pbxproj:
- * WebKitLauncher/WebKitNightlyEnablerSparkle.m:
- (initializeSparkle):
- * WebKitLauncher/nightly.webkit.org.public.pem: Added.
-
-2009-08-21 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Rubberstamped by Simon Fraser.
-
- Remove GNOME keyring support in build-webkit. This dependency's
- already been removed in the Gtk port.
-
- * Scripts/build-webkit:
-
-2009-08-20 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Adam Roben.
- Based on original patch by Stephanie Lewis.
-
- Added support of the Windows malloc history format to parse-malloc history, so we can
- read and parse it.
-
- * Scripts/parse-malloc-history:
-
-2009-08-20 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Darin Adler.
-
- Enable various "grouping" ARIA roles
- https://bugs.webkit.org/show_bug.cgi?id=28486
-
- Expose the ability to retrieve the subrole through accessibility for DRT.
-
- * DumpRenderTree/AccessibilityUIElement.cpp:
- * DumpRenderTree/AccessibilityUIElement.h:
- * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
- * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
- * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
-
-2009-08-20 Joseph Pecoraro <joepeck@webkit.org>
-
- Unreviewed.
-
- Added myself as a committer.
-
- * Scripts/modules/committers.py:
-
-2009-08-20 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Fix memory leaks.
-
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::whiteListAccessFromOrigin):
- (LayoutTestController::pauseAnimationAtTimeOnElementWithId):
- (LayoutTestController::pauseTransitionAtTimeOnElementWithId):
-
-2009-08-20 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- bugzilla-tool post-diff can post partial diffs from SVN checkouts.
- https://bugs.webkit.org/show_bug.cgi?id=28445
-
- Pass the checkout root as the cwd. Also wrote a test to ensure this.
-
- * Scripts/modules/scm.py:
- * Scripts/modules/scm_unittest.py:
-
-2009-08-20 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Adele Peterson.
-
- Don't leak the JSStringRef returned by AccessibilityUIElement::attributeValue.
-
- * DumpRenderTree/AccessibilityUIElement.cpp:
- (attributeValueCallback):
-
-2009-08-20 Ariya Hidayat <ariya.hidayat@nokia.com>
-
- Unreviewed, build fix.
-
- [Qt] The template-based qMax() compares two qreals.
-
- * DumpRenderTree/qt/ImageDiff.cpp:
- (main):
-
-2009-08-20 David Levin <levin@chromium.org>
-
- Reviewed by David Kilzer.
-
- bugzilla-tool patch retrieval should handle 302 redirects.
- https://bugs.webkit.org/show_bug.cgi?id=28485
-
- * Scripts/modules/scm.py: Pass the --location parameter to curl
- so that 302's are followed.
-
-2009-08-20 Aaron Boodman <aa@chromium.org>
-
- One more speculative build for gtk.
-
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
-
-2009-08-20 Aaron Boodman <aa@chromium.org>
-
- Speculative build for gtk.
-
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::whiteListAccessFromOrigin):
-
-2009-08-20 Mark Rowe <mrowe@apple.com>
-
- Ignore some leaks that are known to originate from ImageIO.
-
- * Scripts/run-webkit-tests:
-
-2009-08-20 Aaron Boodman <aa@chromium.org>
-
- With David Levin.
-
- Speculative build fix for qt.
-
- * DumpRenderTree/qt/jsobjects.cpp:
- (LayoutTestController::whiteListAccessFromOrigin):
- * DumpRenderTree/qt/jsobjects.h:
-
-2009-08-19 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Fix <http://webkit.org/b/28484> Plug-in-related leaks seen on the build bot
-
- Update check-for-global-initializers to accommodate the new uses of RefCountedLeakCounter in WebKit.
-
- * Scripts/check-for-global-initializers:
-
-2009-08-19 Aaron Boodman <aa@chromium.org>
-
- Reviewed by David Levin.
-
- https://bugs.webkit.org/show_bug.cgi?id=24853: Provide a way for WebKit clients to
- specify a more granular policy for cross-origin XHR access.
-
- * DumpRenderTree/LayoutTestController.cpp: Expose whiteListAccessFromOrigin() to layout tests.
- (whiteListAccessFromOriginCallback): Ditto.
- (LayoutTestController::staticFunctions): Ditto.
- * DumpRenderTree/LayoutTestController.h: Ditto.
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: Ditto.
- (LayoutTestController::whiteListAccessToOrigin): Ditto.
- * DumpRenderTree/mac/LayoutTestControllerMac.mm: Ditto.
- (LayoutTestController::whiteListAccessFromOrigin): Ditto.
- * DumpRenderTree/qt/jsobjects.cpp: Ditto.
- (LayoutTestController::whiteListAccessFromOrigin): Ditto.
- * DumpRenderTree/win/LayoutTestControllerWin.cpp: Stub out whiteListAccessFromOrigin().
- (LayoutTestController::whiteListAccessFromOrigin): Ditto.
- * DumpRenderTree/gtk/DumpRenderTree.cpp: Reset origin access lists before each test.
- (resetWebViewToConsistentStateBeforeTesting): Ditto.
- * DumpRenderTree/mac/DumpRenderTree.mm: Ditto.
- (resetWebViewToConsistentStateBeforeTesting): Ditto.
- * DumpRenderTree/qt/DumpRenderTree.cpp: Ditto.
- (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting): Ditto.
-
-2009-08-19 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Dan Bernstein.
-
- Ignore some leaks that are known to originate from QTKit.
-
- * Scripts/run-webkit-tests:
-
-2009-08-19 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- commit-queue/bugzilla-tool can get wedged if git is mid-rebase
- https://bugs.webkit.org/show_bug.cgi?id=28436
-
- Make clean_working_directory cancel rebases too (even though that's a bit of a hack).
- This code will only ever be run when --force-clean is passed.
-
- I also added a new unit test to make sure this code actually works. :)
-
- * Scripts/modules/scm.py:
- * Scripts/modules/scm_unittest.py:
-
-2009-08-19 Eric Seidel <eric@webkit.org>
-
- Reviewed by David Levin.
-
- WebKit needs a changelogs.py to hold changelog-related code
- https://bugs.webkit.org/show_bug.cgi?id=28477
-
- This is moving code and adding tests. There was only one functional
- change (which was removing a trailing newline from the last_entry() result).
-
- * Scripts/bugzilla-tool:
- * Scripts/modules/changelogs.py: Added.
- * Scripts/modules/changelogs_unittest.py: Added.
- * Scripts/run-webkit-unittests:
-
-2009-08-20 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- bugzilla-tool needs a way to ask build.webkit.org if the bots are passing
- https://bugs.webkit.org/show_bug.cgi?id=28222
-
- Basic support for now. This has been in testing for 24 hours now and worked great!
-
- * Scripts/bugzilla-tool:
- * Scripts/modules/buildbot.py: Added.
- * Scripts/modules/buildbot_unittest.py: Added.
- * Scripts/run-webkit-unittests:
-
-2009-08-19 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Reviewed by Gustavo Noronha.
-
- [Gtk] Bump waitToDumpWatchdog interval to 15 seconds to match the
- default timeout used by run-webkit-tests. Mac and Win ports were
- recently bumped in http://trac.webkit.org/changeset/r47465.
-
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::setWaitToDump):
-
-2009-08-19 David D. Kilzer <ddkilzer@webkit.org>
-
- DumpRenderTreeSupport.pm: provide pre-generated swig source for Tiger
-
- Reviewed by Mark Rowe.
-
- Provide pre-generated swig source files for Tiger so it may
- benefit from the faster run-webkit-tests.
-
- * DumpRenderTree/mac/PerlSupport/DumpRenderTreeSupportTiger.pm:
- Generated by swig.
- * DumpRenderTree/mac/PerlSupport/DumpRenderTreeSupport_wrapTiger.c: Added.
- Generated by swig.
- (swig_type_info::SWIG_TypeNameComp):
- (swig_type_info::SWIG_TypeEquiv):
- (swig_type_info::SWIG_TypeRegisterTL):
- (swig_type_info::SWIG_TypeCheck):
- (swig_type_info::SWIG_TypeCast):
- (swig_type_info::SWIG_TypeDynamicCast):
- (swig_type_info::SWIG_TypeName):
- (swig_type_info::SWIG_TypePrettyName):
- (swig_type_info::SWIG_TypeQueryTL):
- (swig_type_info::SWIG_TypeClientDataTL):
- (swig_type_info::SWIG_PackData):
- (swig_type_info::SWIG_UnpackData):
- (swig_type_info::SWIG_PropagateClientDataTL):
- (swig_type_info::SWIG_PackVoidPtr):
- (swig_type_info::SWIG_UnpackVoidPtr):
- (swig_type_info::SWIG_PackDataName):
- (swig_type_info::SWIG_UnpackDataName):
- * DumpRenderTree/mac/PerlSupport/Makefile: Updated to build on
- Tiger using pre-generated files.
-
-2009-08-18 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by David Kilzer.
-
- run-webkit-tests hangs when WebCore tries to log too much
- https://bugs.webkit.org/show_bug.cgi?id=15743
-
- Read stdout and stderr in parallel.
-
- * Scripts/run-webkit-tests:
-
-2009-08-18 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Oliver Hunt.
-
- Add a new build configuration that checks for leaks during the layout tests,
- and hook a new machine up to it.
-
- * BuildSlaveSupport/build.webkit.org-config/config.json:
- * BuildSlaveSupport/build.webkit.org-config/master.cfg:
-
-2009-08-18 Aaron Boodman <aa@chromium.org>
-
- Reviewed by Maciej Stachowiak.
-
- https://bugs.webkit.org/show_bug.cgi?id=28412: Leak of WebCore::XMLHttpRequest object during layout tests.
-
- No new tests: Already covered by existing tests.
-
- * Scripts/check-for-global-initializers: Allow global initialization of WTF::RefCountedLeakCounter for XMLHttpRequest.
-
-2009-08-18 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Geoff Garen.
-
- Bump waitToDumpWatchdogInterval to 15 seconds to match the time-out used by run-webkit-tests.
-
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
-
-2009-08-18 Brian Weinstein <bweinstein@apple.com>
-
- Rubber-stamped by Adam Roben.
-
- Changed use of CComBSTR in exceededDatabaseQuota to BSTRs, and free them,
- and removed include to fix building on VC++ Express.
-
- * DumpRenderTree/win/UIDelegate.cpp:
- (UIDelegate::exceededDatabaseQuota):
-
-2009-08-18 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Fix of <https://bugs.webkit.org/show_bug.cgi?id=28326> DRT on Windows doesn't support
- LayoutTestController::setQuota or print a callback on UIDelegate::exceededDatabaseQuota.
-
- Implemenent setDatabaseQuota and added a new function to the IWebDatabaseManager interface.
- Also added a console output on UIDelegate::exceededDatabaseQuota to match the mac.
-
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::setDatabaseQuota):
- * DumpRenderTree/win/UIDelegate.cpp:
- (UIDelegate::exceededDatabaseQuota):
-
-2009-08-18 Peter Kasting <pkasting@google.com>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=28415
- Set svn:eol-style CRLF on all .sln and .vcproj files that don't already
- have it.
-
- * record-memory-win/record-memory-win.vcproj:
- * WinLauncher/WinLauncher.vcproj:
- * WebKitLauncherWin/WebKitLauncherWin.vcproj:
- * DumpRenderTree/win/ImageDiff.vcproj:
- * FindSafari/FindSafari.vcproj:
-
-2009-08-18 Drew Wilson <atwilson@google.com>
-
- Reviewed by Eric Seidel.
-
- Need to extend DumpRenderTree to expose number of worker threads
- https://bugs.webkit.org/show_bug.cgi?id=28292
-
- Added layoutTestController.workerThreadCount, and implementations on various platforms that call into WebKit.
-
- * DumpRenderTree/LayoutTestController.cpp:
- (getWorkerThreadCountCallback):
- (LayoutTestController::staticValues):
- * DumpRenderTree/LayoutTestController.h:
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::workerThreadCount):
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (LayoutTestController::workerThreadCount):
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::workerThreadCount):
- * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
- (LayoutTestController::workerThreadCount):
-
-2009-08-18 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Jan Alonzo.
-
- Initialize x and y in the GtkAllocation structure to shut up
- valgrind.
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (runTest):
-
-2009-08-17 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Darin Adler.
-
- Some HTMLs are modified by make-script-test-wrappers
- https://bugs.webkit.org/show_bug.cgi?id=28213
-
- Add fast/js/const.js and fast/canvas/canvas-2d-imageData-create-nonfinite.js into
- the exclude list, modified fast/dom/Geolocation/resources/TEMPLATE.html, and
- re-generated wml/* and Geolocation/* .
-
- * Scripts/make-script-test-wrappers:
-
-2009-08-17 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Eric Seidel.
-
- -webkit-box-orient:horizontal doesn't work on <button> tag
- https://bugs.webkit.org/show_bug.cgi?id=34445
-
- Make a flexible button's anonymous child flexible and pass the
- parent's box-orient to the anonymous child.
-
- Also, added a renderName for anonymous flexible boxes.
-
- * Scripts/make-script-test-wrappers:
-
-2009-08-17 Eric Seidel <eric@webkit.org>
-
- Reviewed by Darin Adler.
-
- Can no longer --reset-results of a layout test directory
- https://bugs.webkit.org/show_bug.cgi?id=28336
-
- --reset-results and --exit-after-n-failures are incompatible.
-
- * Scripts/run-webkit-tests:
-
-2009-08-17 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/26920> bugzilla-tool dumps too much junk the the commit comment from git
-
- Reviewed by Adam Roben.
-
- New commit message:
- Committed r12345: <http://trac.webkit.org/changeset/12345>
-
- * Scripts/bugzilla-tool:
- (bug_comment_from_commit_text): Print out a compact,
- standardized commit message for both git and svn.
-
-2009-08-17 Peter Kasting <pkasting@google.com>
-
- Reviewed by Steve Falkenburg.
-
- https://bugs.webkit.org/show_bug.cgi?id=27323
- Only add Cygwin to the path when it isn't already there. This avoids
- causing problems for people who purposefully have non-Cygwin versions of
- executables like svn in front of the Cygwin ones in their paths.
-
- * DumpRenderTree/win/DumpRenderTree.vcproj:
- * DumpRenderTree/win/ImageDiff.vcproj:
- * DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin.vcproj:
-
-2009-08-17 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/28393> check-webkit-style: add check for use of std::max()/std::min() instead of MAX()/MIN()
-
- Reviewed by David Levin.
-
- * Scripts/modules/cpp_style.py:
- (_ERROR_CATEGORIES): Added 'runtime/max_min_macros'.
- (check_max_min_macros): Added. Returns level 4 error when MAX()
- and MIN() macros are used in header files and C++ source files.
- (check_style): Added call to check_max_min_macros().
- * Scripts/modules/cpp_style_unittest.py: Added unit tests.
- (test_max_macro): Added.
- (test_min_macro): Added.
-
-2009-08-13 Mike Fenton <mike.fenton@torchmobile.com>
-
- Reviewed by Eric Seidel.
-
- Move adjustLineToPixelBoundaries overlapping function to GraphicsContext.cpp
- and remove from GraphicsContextCairo.cpp and GraphicsContextQt.cpp.
-
- https://bugs.webkit.org/show_bug.cgi?id=28268
-
- * platform/graphics/GraphicsContext.cpp:
- (WebCore::GraphicsContext::adjustLineToPixelBoundaries):
- * platform/graphics/GraphicsContext.h:
- * platform/graphics/cairo/GraphicsContextCairo.cpp:
- * platform/graphics/qt/GraphicsContextQt.cpp:
-
-2009-08-10 Mike Fenton <mike.fenton@torchmobile.com>
-
- Reviewed by Adam Treat.
-
- Style fixes for DumpRenderTree/qt/jsobjects.cpp based on cpp_style.py and
- WebKit style guide.
-
- https://bugs.webkit.org/show_bug.cgi?id=28161
-
- * DumpRenderTree/qt/jsobjects.cpp:
- (findFrameNamed):
- (LoadItem::invoke):
- (LayoutTestController::provisionalLoad):
- (LayoutTestController::timerEvent):
- (LayoutTestController::pauseAnimationAtTimeOnElementWithId):
- (LayoutTestController::pauseTransitionAtTimeOnElementWithId):
- (LayoutTestController::numberOfActiveAnimations):
- (EventSender::keyDown):
- (EventSender::frameUnderMouse):
- (TextInputController::doCommand):
-
-2009-08-16 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/28370> check-webkit-style: add check for 'using std::foo;' statements
-
- Reviewed by David Levin.
-
- In <http://webkit.org/b/28355#c1>, it was noted that new source
- files use 'using namespace std;' instead of individual
- 'using std::foo;' statements. This adds a level 4 check for
- such statements.
-
- * Scripts/modules/cpp_style.py:
- (_ERROR_CATEGORIES): Added 'build/using_std'.
- (check_using_std): Added.
- (check_style): Added call to check_using_std().
- * Scripts/modules/cpp_style_unittest.py:
- (WebKitStyleTest.test_using_std): Added unit test.
-
-2009-08-16 David Kilzer <ddkilzer@apple.com>
-
- Backed out r47343 which was mistakenly committed
-
- * Scripts/bugzilla-tool:
- * Scripts/modules/scm.py:
-
-2009-08-16 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/28367> bugzilla.py: replace ScriptError class with BugzillaError class
-
- Reviewed by David Levin.
-
- The ScriptError class doesn't exist in bugzilla.py, so any
- errors print error messages about ScriptError instead of the
- actual error:
-
- NameError: global name 'ScriptError' is not defined
-
- * Scripts/modules/bugzilla.py:
- (BugzillaError): Added class. Modeled after ScriptError class
- in scm.py.
- (Bugzilla.authenticate): Changed to use BugzillaError instead of
- ScriptError.
- (Bugzilla._check_create_bug_response): Ditto.
-
-2009-08-14 Adam Bergkvist <adam.bergkvist@ericsson.com>
-
- Reviewed by Sam Weinig.
-
- Added EventSource to the build script (default on).
- https://bugs.webkit.org/show_bug.cgi?id=14997
-
- * Scripts/build-webkit:
-
-2009-08-15 Ryosuke Niwa <rniwa@webkit.org>
-
- Unreviewed.
-
- Add myself to list of committers.
-
- * Scripts/modules/committers.py:
-
-2009-08-15 Jon Honeycutt <jhoneycutt@apple.com>
-
- Fix layout test failures after r47312.
-
- Reviewed by Cameron Zwarich.
-
- * DumpRenderTree/AccessibilityController.h:
- Replaced logFocusEvents() with setLogFocusEvents(), which takes a
- boolean argument to turn logging of focus events on or off.
- Added a function to reset the AccessibilityController to a consistent
- state.
-
- * DumpRenderTree/AccessibilityController.cpp:
- (logFocusEventsCallback):
- Call setLogFocusEvents() to enable logging.
- (AccessibilityController::resetToConsistentState):
- Call setLogFocusEvents() to disable logging.
-
- * DumpRenderTree/gtk/AccessibilityControllerGtk.cpp:
- (AccessibilityController::setLogFocusEvents):
- Update stub.
-
- * DumpRenderTree/mac/AccessibilityControllerMac.mm:
- (AccessibilityController::setLogFocusEvents):
- Update stub.
-
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (resetWebViewToConsistentStateBeforeTesting):
- Call the FrameLoadDelegate's resetToConsistentState method.
-
- * DumpRenderTree/mac/FrameLoadDelegate.h:
- Declare the resetToConsistentState method.
-
- * DumpRenderTree/mac/FrameLoadDelegate.mm:
- (-[FrameLoadDelegate resetToConsistentState]):
- Call the AccessibilityController's resetToConsistentState() function.
-
- * DumpRenderTree/win/AccessibilityControllerWin.cpp:
- (AccessibilityController::~AccessibilityController):
- Turn off focus event logging when the controller is destroyed.
- (AccessibilityController::setLogFocusEvents):
- If the caller passes false, unhook the focus event, and clear
- m_focusEventHook.
-
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (resetWebViewToConsistentStateBeforeTesting):
- Call the FrameLoadDelegate's resetToConsistentState function.
-
- * DumpRenderTree/win/FrameLoadDelegate.h:
- Declare the resetToConsistentState() function.
-
- * DumpRenderTree/win/FrameLoadDelegate.cpp:
- (FrameLoadDelegate::resetToConsistentState):
- Call the AccessibilityController's resetToConsistentState() function.
-
-
-2009-08-14 Jon Honeycutt <jhoneycutt@apple.com>
-
- Add a mechanism for logging MSAA focus events.
-
- Part of <rdar://problem/6218721> No MSAA focus events fired for Webkit
- nightly (20866)
-
- https://bugs.webkit.org/show_bug.cgi?id=20866
-
- Reviewed by Oliver Hunt.
-
- * DumpRenderTree/AccessibilityController.cpp:
- (logFocusEventsCallback):
- Call the AccessibilityController's logFocusEvents() function.
- (AccessibilityController::getJSClass):
- Add a "logFocusEvents" function to the AccessibilityController's JS
- class definition.
-
- * DumpRenderTree/AccessibilityController.h:
- On Windows, include windows.h, and add a member variable to hold the
- handle to the event hook for focus events. Add a declaration for a
- function that enables logging of focus events.
-
- * DumpRenderTree/gtk/AccessibilityControllerGtk.cpp:
- (AccessibilityController::logFocusEvents):
- Stubbed.
-
- * DumpRenderTree/mac/AccessibilityControllerMac.mm:
- (AccessibilityController::logFocusEvents):
- Stubbed.
-
- * DumpRenderTree/win/AccessibilityControllerWin.cpp:
- (AccessibilityController::AccessibilityController):
- (AccessibilityController::~AccessibilityController):
- If we hooked the focus event, unhook it.
- (logFocusEventProc):
- When we receive a focus event, get the accessible object for the event,
- and log its name to stdout.
- (AccessibilityController::logFocusEvents):
- Setup the focus event hook to listen for events in the current process.
-
-2009-08-14 Eric Seidel <eric@webkit.org>
-
- No review. Fix 5-space indent to be 4-spaces.
-
- * Scripts/bugzilla-tool:
-
-2009-08-14 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Public API to configure the storage path for HTML5 localStorage
- https://bugs.webkit.org/show_bug.cgi?id=28036
-
- Turn on LocalStorage support for Qt DumpRenderTree since
- LocalStorage is now disabled by defult for QtWebkit.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::WebPage::WebPage):
-
-2009-08-14 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Jan Alonzo.
-
- Do not unref the main webview, it's owned by its parent
- container. Instead destroy the container, which should take care
- of everything (not terribly important since we exit right after
- that, but still).
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (main):
-
-2009-08-13 Eric Seidel <eric@webkit.org>
-
- No review, correcting obvious python error seen in the commit queue.
-
- args can be a string or an array. Assuming args is always an array results in
- double-spaced text in error logs.
-
- * Scripts/bugzilla-tool:
-
-2009-08-13 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Unreviewed build fix. Include stdio.h for using stdout, stderr,
- and fprintf.
-
- * DumpRenderTree/LayoutTestController.cpp:
-
-2009-08-13 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Eric Seidel.
-
- rename make-js-test-wrappers to make-script-test-wrappers
- https://bugs.webkit.org/show_bug.cgi?id=28212
-
- * Scripts/make-script-test-wrappers: Renamed from WebKitTools/Scripts/make-js-test-wrappers.
-
-2009-08-13 Drew Wilson <atwilson@chromium.org>
-
- Unreviewed.
-
- Add myself to list of committers.
-
- * Scripts/modules/committers.py:
-
-2009-08-13 John Sullivan <sullivan@apple.com>
-
- Unreviewed.
-
- Add myself to list of committers.
-
- * Scripts/modules/committers.py:
-
-2009-08-13 Eric Seidel <eric@webkit.org>
-
- Correct spelling error in file name. No review.
-
- * Scripts/modules/committers_unittest.py: Renamed from WebKitTools/Scripts/modules/commiters_unittest.py.
- * Scripts/run-webkit-unittests:
-
-2009-08-13 Eric Seidel <eric@webkit.org>
-
- Reviewed by Simon Fraser.
-
- REGRESSION(r47175): error running run-webkit-tests
- https://bugs.webkit.org/show_bug.cgi?id=28261
-
- Fix "Use of uninitialized value in concatenation (.) or string at
- WebKitTools/Scripts/run-webkit-tests line 191." by setting
- $testsPerDumpTool to 1000 by default.
-
- * Scripts/run-webkit-tests:
-
-2009-08-13 Nate Chapin <japhet@chromium.org>
-
- Unreviewed.
-
- Add myself to list of committers.
-
- * Scripts/modules/committers.py:
-
-2009-08-13 Brent Fulgham <bfulgham@webkit.org>
-
- Unreviewed.
-
- Add 'Brent Fulgham' to the committers list.
-
- * Scripts/modules/committers.py:
-
-2009-08-13 Adam Langley <agl@chromium.org>
-
- Review not required.
-
- * Scripts/modules/committers.py:
- Adding myself to this list because Eric told me to.
-
-2009-08-13 Greg Bolsinga <bolsinga@apple.com>
-
- Unreviewed.
-
- Add 'Greg Bolsinga' to the committers list.
-
- * Scripts/modules/committers.py:
-
-2009-08-13 Adam Roben <aroben@apple.com>
-
- Fix off-by-one result comparisons in media tests on Windows Debug
- builds
-
- media/video-played.html seems always to time out in Windows Debug
- builds. A race condition between media/video-test.js's "hang" timer and
- DumpRenderTree's built-in "watchdog" timer was causing results for
- media/video-played.html to be printed twice, causing all future media
- tests to be compared to the previous test's results.
-
- The fix is to make the watchdog timer got through the same code path
- as calling notifyDone manually, so that the results will only get
- printed once. A subsequent patch will remove video-test.js's hang
- timer entirely, since it is redundant.
-
- Fixes <http://webkit.org/b/28265>.
-
- Reviewed by Mark Rowe.
-
- * DumpRenderTree/LayoutTestController.cpp:
- (LayoutTestController::waitToDumpWatchdogTimerFired): Added. Code came
- from Gtk/Mac/Win's watchdog timer handlers, but we now call
- notifyDone() instead of dump() so that a subsequent call to
- notifyDone() won't print the results out again.
-
- * DumpRenderTree/LayoutTestController.h: Added
- waitToDumpWatchdogTimerFired.
-
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (waitToDumpWatchdogFired):
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (waitUntilDoneWatchdogFired):
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (waitUntilDoneWatchdogFired):
- Changed to call waitToDumpWatchdogTimerFired.
-
-2009-08-13 Eric Carlson <eric.carlson@apple.com>
-
- Unreviewed.
-
- Added 'Eric Carlson' to the committers list.
-
- * Scripts/modules/committers.py:
-
-2009-08-13 Dirk Schulze <krit@webkit.org>
-
- Unreviewed.
- Added 'Dirk Schulze' to the committers list.
-
- * Scripts/modules/committers.py:
-
-2009-08-13 Adam Roben <aroben@apple.com>
-
- Enable running testapi in run-javascriptcore-tests on Windows
-
- Fixes <http://webkit.org/b/24856> run-javascriptcore-tests should run
- testapi on Windows
-
- Reviewed by Mark Rowe.
-
- * Scripts/run-javascriptcore-tests: Allow testapi to run if we're in
- the AppleWinWebKit configuration.
-
-2009-08-13 Adam Roben <aroben@apple.com>
-
- Re-enable testapi in run-javascriptcore-tests on Mac
-
- This seems to have been mistakenly disabled in r47089.
-
- Rubber-stamped by Mark Rowe.
-
- * Scripts/run-javascriptcore-tests: Removed comment markers that were
- preventing running testapi.
-
-2009-08-12 George Staikos <george.staikos@torchmobile.com>
-
- Reviewed by Adam Treat.
-
- Enable WCSS and XHTML-MP flags for build-webkit.
-
- * Scripts/build-webkit:
-
-2009-08-12 David Kilzer <ddkilzer@apple.com>
-
- run-webkit-tests: document --nthly flag in help message
-
- Reviewed by Simon Fraser.
-
- * Scripts/run-webkit-tests: Added --nthly flag to $usage string.
- Also noted that -1|--singly implies --nthly 1.
-
-2009-08-12 Eric Seidel <eric@webkit.org>
-
- No review, just fixing mismerged ChangeLogs.
-
-2009-08-12 Eric Seidel <eric@webkit.org>
-
- Reviewed by Mark Rowe.
-
- run-webkit-tests needs a --exit-after-failures=N option
- https://bugs.webkit.org/show_bug.cgi?id=28192
-
- Added the option and deployed it to bugzilla-tool.
-
- * Scripts/bugzilla-tool:
- * Scripts/run-webkit-tests:
-
-2009-08-11 Eric Seidel <eric@webkit.org>
-
- Reviewed by Mark Rowe.
-
- bugzilla-tool : various improvements for running the commit-queue
- https://bugs.webkit.org/show_bug.cgi?id=28199
-
- Make run_and_throw_if_fail silence STDERR as well as STDIN.
- I also changed run_and_throw_if_fail to use the /dev/null trick instead of .communicate() to avoid ever buffering the output (per abarth's suggestion).
- Change a few "print" statements to "log" so they appear in the output.
- Changed all string + uses to use string formatting instead (this is less error prone as it will automatically convert non-string objects).
- Added a little more logging so that --quiet mode is easier to understand.
- Changed clear_attachment_review_flag to clear_attachment_flags and made it clear the commit-queue flag as well.
- Added the ability for bugzilla-tool to reject patches from the commit-queue when they fail to compile/apply/etc.
- Added _find_select_element_for_flag to make the code for finding flag <select> elements clearer.
- Made curl call (downloading patch files) quieter.
-
- * Scripts/bugzilla-tool:
- * Scripts/modules/bugzilla.py:
- * Scripts/modules/scm.py:
-
-2009-08-12 Peter Kasting <pkasting@google.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=27323
- Change pattern that strips all trailing whitespace to just remove EOL
- chars (\r, \n), to make it clear that varying EOL chars is the primary
- problem being solved.
-
- * Scripts/prepare-ChangeLog:
- * Scripts/resolve-ChangeLogs:
- * Scripts/svn-create-patch:
- * Scripts/update-webkit:
-
-2009-08-12 Kevin Ollivier <kevino@theolliviers.com>
-
- wx waf build fix, add new directories to the build.
-
- * wx/build/settings.py:
-
-2009-08-11 Adam Roben <aroben@apple.com>
-
- Update DumpRenderTree for IWebUIDelegatePrivate changes
-
- Reviewed by Dave Hyatt.
-
- * DumpRenderTree/win/UIDelegate.h: Updated to match
- IWebUIDelegatePrivate.
-
-2009-08-12 Adam Roben <aroben@apple.com>
-
- Don't try to seek to the end of stdin on Cygwin
-
- Doing so seems to always cause an exception (for unknown reasons).
-
- Fixes <http://webkit.org/b/28159> create-bug throws an exception in
- Cygwin
-
- Reviewed by Dave Kilzer.
-
- * Scripts/bugzilla-tool:
- (CreateBug.prompt_for_bug_title_and_comments): Ignore IOErrors
- generated by calling sys.stdin.seek, since these seem to be generated
- for no good reason on Cygwin.
-
-2009-08-12 Adam Roben <aroben@apple.com>
-
- Don't raise an exception when --cc is not passed to create-bug
-
- Fixes <http://webkit.org/b/28158> create-bug throws an exception if
- --cc is not specified
-
- Reviewed by Dave Kilzer.
-
- * Scripts/modules/bugzilla.py:
- (Bugzilla.create_bug_with_patch): Only set the "cc" field if a CC
- string was specified. Otherwise we'll generate an exception about the
- "cc" variable not being a string.
-
-2009-08-11 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- bugzilla-tool : various improvements for running the commit-queue
- https://bugs.webkit.org/show_bug.cgi?id=28199
-
- Make run_and_throw_if_fail silence STDERR as well as STDIN.
- I also changed run_and_throw_if_fail to use the /dev/null trick instead of .communicate() to avoid ever buffering the out
- Change a few "print" statements to "log" so they appear in the output.
- Changed all string + uses to use string formatting instead (this is less error prone as it will automatically convert non
- Added a little more logging so that --quiet mode is easier to understand.
- Changed clear_attachment_review_flag to clear_attachment_flags and made it clear the commit-queue flag as well.
- Added the ability for bugzilla-tool to reject patches from the commit-queue when they fail to compile/apply/etc.
- Added _find_select_element_for_flag to make the code for finding flag <select> elements clearer.
- Made curl call (downloading patch files) quieter.
-
- * Scripts/bugzilla-tool:
- * Scripts/modules/bugzilla.py:
- * Scripts/modules/scm.py:
-
-2009-08-11 Eric Seidel <eric@webkit.org>
-
- No review, script regression fix only.
-
- run-webkit-tests --quiet hangs
- https://bugs.webkit.org/show_bug.cgi?id=28202
-
- Do a huge dance to get open3 to pipe to /dev/null w/o blocking.
- This was what I came up with after discussions in #perl.
-
- * Scripts/run-webkit-tests:
-
-2009-08-11 John Gregg <johnnyg@google.com>
-
- Reviewed by Maciej Stachowiak.
-
- Switch DumpRenderTree to contain a WebUIDelegate2, which extends
- WebUIDelegate, so that the notifications tests will still work.
- https://bugs.webkit.org/show_bug.cgi?id=28198
-
- * DumpRenderTree/win/UIDelegate.h:
-
-2009-08-11 Darin Adler <darin@apple.com>
-
- Try to fix GTK build.
-
- * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
- (AccessibilityUIElement::stringForRange): Added.
-
-2009-08-10 Mike Fenton <mike.fenton@torchmobile.com>
-
- Reviewed by Adam Treat.
-
- Add processing for string constants used by the tests to trigger
- common actions like up, down, left, right, etc. for the Qt
- implementation of DumpRenderTree.
-
- Note this allows fast/forms/textarea-arrow-navigation.html to pass
- correctly.
-
- https://bugs.webkit.org/show_bug.cgi?id=28161
-
- * DumpRenderTree/qt/jsobjects.cpp:
- (EventSender::keyDown):
-
-2009-08-11 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Darin Adler.
-
- Bug 28200 - ListMarker should be included as part of the text value to parse
- https://bugs.webkit.org/show_bug.cgi?id=28200
-
- Add the ability to retrieve a string given a plain NSRange.
-
- * DumpRenderTree/AccessibilityUIElement.cpp:
- (stringForRangeCallback):
- (AccessibilityUIElement::getJSClass):
- * DumpRenderTree/AccessibilityUIElement.h:
- * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
- (AccessibilityUIElement::valueDescription):
- (AccessibilityUIElement::stringForRange):
- * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
- (AccessibilityUIElement::stringForRange):
-
-2009-08-11 Dmitry Titov <dimich@chromium.org>
-
- Reviewed by NOBODY (Speculative fix for the layout test failure).
-
- Fix fast/dom/prototype-inheritance.html
- and fast/dom/prototype-inheritance-2.html
- broken on Windows by http://trac.webkit.org/changeset/47018
-
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (resetDefaultsToConsistentValues): enable app cache in Windows DRT.
-
-2009-08-11 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- bugzilla-tool: Re-factor shared landing logic into helper class to share more code
- https://bugs.webkit.org/show_bug.cgi?id=28193
-
- Added new WebKitLandingScripts class to hold this shared logic.
- Also added a view_source_url function to move more webkit-specific urls out of bugzilla-tool core.
-
- * Scripts/bugzilla-tool:
-
-2009-08-11 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Adam Treat.
-
- Fix the current failures on the buildbot.
-
- As Qt hooks up the maybeDump to loadFinished, we need to make
- sure that calling dump() will not call maybeDump on loadFinished.
-
- As dump is called my emitting done() which calls dump() and then
- setting m_isLoading to false. So in the case m_isLoading is false,
- do not dump again.
-
- The current code is confusing, and should be made more clear
- in another commit.
-
- * DumpRenderTree/qt/jsobjects.cpp:
- (LayoutTestController::maybeDump):
- (LayoutTestController::notifyDone):
-
-2009-08-11 John Gregg <johnnyg@google.com>
-
- Reviewed by Maciej Stachowiak.
-
- Add support for desktop notifications API to DumpRenderTree,
- and support for ENABLE_NOTIFICATIONS flag to build-webkit.
-
- * DumpRenderTree/LayoutTestController.cpp:
- (grantDesktopNotificationPermissionCallback):
- (LayoutTestController::staticFunctions):
- (LayoutTestController::grantDesktopNotificationPermission):
- (LayoutTestController::checkDesktopNotificationPermission):
- * DumpRenderTree/LayoutTestController.h:
- * DumpRenderTree/win/DRTDesktopNotificationPresenter.cpp: Added.
- (DRTDesktopNotificationPresenter::DRTDesktopNotificationPresenter):
- (DRTDesktopNotificationPresenter::QueryInterface):
- (DRTDesktopNotificationPresenter::AddRef):
- (DRTDesktopNotificationPresenter::Release):
- (DRTDesktopNotificationPresenter::showDesktopNotification):
- (DRTDesktopNotificationPresenter::cancelDesktopNotification):
- (DRTDesktopNotificationPresenter::notificationDestroyed):
- (DRTDesktopNotificationPresenter::checkNotificationPermission):
- (DRTDesktopNotificationPresenter::requestNotificationPermission):
- * DumpRenderTree/win/DRTDesktopNotificationPresenter.h: Added.
- * DumpRenderTree/win/DumpRenderTree.vcproj:
- * DumpRenderTree/win/UIDelegate.cpp:
- (UIDelegate::UIDelegate):
- (UIDelegate::desktopNotificationsDelegate):
- * DumpRenderTree/win/UIDelegate.h:
- * Scripts/build-webkit:
-
-2009-08-11 Peter Kasting <pkasting@google.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=27323
- Handle arbitrary line endings when manufacturing patches for additions
- with history.
-
- * Scripts/svn-create-patch:
-
-2009-08-11 Peter Kasting <pkasting@google.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=28183
- Support VS2008 as well as VS2005 in a few scripts.
-
- * Scripts/pdevenv: Check both $VS80COMNTOOLS and $VS90COMNTOOLS.
- * Scripts/webkitdirs.pm: Use $VSINSTALLDIR if available instead of hardcoding the VS2005 dir.
-
-2009-08-11 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- run-webkit-tests --quiet should not output build-dumprendertree output
- https://bugs.webkit.org/show_bug.cgi?id=28189
-
- * Scripts/run-webkit-tests:
-
-2009-08-11 Eric Seidel <eric@webkit.org>
-
- Reviewed by Darin Adler.
-
- Exception in land-patches
- https://bugs.webkit.org/show_bug.cgi?id=27962
-
- Use ("%s" % object) instead of ("" + object).
- Added unit tests for logging.py.
-
- * Scripts/modules/logging.py:
- * Scripts/modules/logging_unittest.py: Added.
- * Scripts/run-webkit-unittests:
-
-2009-08-11 Dmitry Titov <dimich@chromium.org>
-
- Reviewed by NOBODY (Windows layout tests fix).
-
- Fix for layout tests failures. Need to initialize some preferences early
- because WebView on Windows uses them during create time.
-
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (main):
-
-2009-08-11 Dmitry Titov <dimich@chromium.org>
-
- Reviewed by Adam Roben.
-
- Originally implemented by Glenn Wilson <gwilson@chromium.org>.
-
- Added support for overriding default preferences per-test.
- See https://bugs.webkit.org/show_bug.cgi?id=20534
-
- * DumpRenderTree/LayoutTestController.cpp:
- (overridePreferenceCallback): add wiring for layoutTestController.overridePreference.
- (LayoutTestController::staticFunctions): same.
- * DumpRenderTree/LayoutTestController.h: same.
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::overridePreference): added empty overridePreference method.
- * DumpRenderTree/mac/DumpRenderTree.mm: implemented preference override.
- (resetDefaultsToConsistentValues): new method, resets preferences to same set of value before every test.
- (setDefaultsToConsistentValuesForTesting): new method, sets other details of testing environment, every time DRT starts.
- (resetWebViewToConsistentStateBeforeTesting): move some preference setting from here to new resetDefaultsToConsistentValues().
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (LayoutTestController::overridePreference):
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (resetDefaultsToConsistentValues): new method, resets preferences to same set of value before every test.
- (resetWebViewToConsistentStateBeforeTesting): move some preference setting from here to new resetDefaultsToConsistentValues().
- (createWebViewAndOffscreenWindow): same.
- (main): same.
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::overridePreference):
- * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
- (LayoutTestController::overridePreference):
-
-2009-08-11 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Sam Weinig.
-
- Added support for DRT to support arguments for eventSender.mouseDown and eventSender.mouseUp for Windows.
- https://bugs.webkit.org/show_bug.cgi?id=28166.
-
- This is a step towards fixing fast/events/mouse-click-events.html on Windows.
-
- * DumpRenderTree/win/EventSender.cpp:
- (mouseDownCallback):
- (mouseUpCallback):
- (replaySavedEvents):
-
-2009-08-11 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Build the TestNetscapePlugin on Qt/Mac
-
- * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro:
-
-2009-08-11 Dmitry Titov <dimich@chromium.org>
-
- Reviewed by NOBODY (build fix).
-
- Attempt to fix the Windows test bot. Reverted r47015 caused one of the Windows
- bots that runs Layout Tests to save "JS disabled" and "default font 24pt"
- preferences permanently. Since these preferences are not initialized explicitly in DRT,
- almost all Layout tests are failing. Attempt to fix by explicit
- initialization of these into defaults (enabled, 16pt) at the beginning of the DRT.
-
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (main): see above.
-
-2009-08-10 Steve Falkenburg <sfalken@apple.com>
-
- Windows nightly fix.
-
- Reviewed by Ada Chan.
-
- * FindSafari/FindSafari.cpp:
- (_tmain): Copy Safari.dll if it exists.
-
-2009-08-10 David Levin <levin@chromium.org>
-
- Reviewed by David Kilzer.
-
- check-webkit-style doesn't catch braces around single line statements when followed by else.
- https://bugs.webkit.org/show_bug.cgi?id=28164
-
- * Scripts/modules/cpp_style.py: Added else to the regex that finds ending }'s when
- checking the no braces for "single lines" rule.
- * Scripts/modules/cpp_style_unittest.py: Added test case.
-
-2009-08-10 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/28163> bugzilla-tool: scm module should not import bugzilla module
-
- Reviewed by David Levin.
-
- * Scripts/bugzilla-tool:
- (parse_bug_id): Added. Moved from CommitMessage.parse_bug_id()
- in scm module.
- * Scripts/modules/scm.py: Removed import of bugzilla module.
- (CommitMessage.parse_bug_id): Deleted.
-
-2009-08-10 Peter Kasting <pkasting@google.com>
-
- Reviewed by David Kilzer.
-
- https://bugs.webkit.org/show_bug.cgi?id=18599
- Work around apparent bug in abs2rel() with symlinked directories.
-
- * Scripts/resolve-ChangeLogs:
-
-2009-08-10 Dan Bernstein <mitz@apple.com>
-
- Build fix
-
- * DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp:
- (NPP_New):
-
-2009-08-10 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Fix a bunch of build warnings in TestNetscapePlugin
-
- * DumpRenderTree/TestNetscapePlugIn.subproj/TestObject.cpp:
- * DumpRenderTree/gtk/TestNetscapePlugin/TestNetscapePlugin.cpp:
-
-2009-08-10 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Adam Roben.
-
- Allow TestNetscapePlugIn to fall back to the Carbon event model
-
- Previously the plugin would fail, even though the Carbon event
- model was available. The only way to get the Carbon event model
- was to pass the "forcecarbon" argument in the test markup, but no
- tests were using this.
-
- Now the plugin uses carbon either if it's forced, or if the Cocoa
- event model is not supported.
-
- This helps us run most of the plugin tests on Qt/Mac, which still
- does not support the Cocoa event model.
-
- * DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp:
- (NPP_New):
-
-2009-08-08 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- bugzilla-tool needs a --quiet option
- https://bugs.webkit.org/show_bug.cgi?id=28060
-
- A first pass at a --quiet option. This doesn't do all the excting
- things we might want, but it addresses 80% of the use case.
-
- * Scripts/bugzilla-tool:
-
-2009-08-08 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Reviewed by Xan Lopez.
-
- [Gtk] Enable accessibility in Gtk DRT
- https://bugs.webkit.org/show_bug.cgi?id=25989
-
- Add Accessibility support to the GTK DRT.
-
- * DumpRenderTree/AccessibilityUIElement.h:
- * DumpRenderTree/gtk/AccessibilityControllerGtk.cpp: Added.
- (AccessibilityController::AccessibilityController):
- (AccessibilityController::~AccessibilityController):
- (AccessibilityController::focusedElement):
- (AccessibilityController::rootElement):
- * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp: Added.
- (AccessibilityUIElement::AccessibilityUIElement):
- (AccessibilityUIElement::~AccessibilityUIElement):
+ (attributesOfElement):
(AccessibilityUIElement::getLinkedUIElements):
(AccessibilityUIElement::getDocumentLinks):
(AccessibilityUIElement::getChildren):
(AccessibilityUIElement::getChildrenWithRange):
- (AccessibilityUIElement::childrenCount):
- (AccessibilityUIElement::elementAtPoint):
- (AccessibilityUIElement::getChildAtIndex):
- (AccessibilityUIElement::allAttributes):
- (AccessibilityUIElement::attributesOfLinkedUIElements):
- (AccessibilityUIElement::attributesOfDocumentLinks):
+ (AccessibilityUIElement::ariaOwnsElementAtIndex):
+ (AccessibilityUIElement::ariaFlowToElementAtIndex):
+ (AccessibilityUIElement::disclosedRowAtIndex):
+ (AccessibilityUIElement::selectedRowAtIndex):
(AccessibilityUIElement::titleUIElement):
(AccessibilityUIElement::parentElement):
- (AccessibilityUIElement::attributesOfChildren):
- (AccessibilityUIElement::parameterizedAttributeNames):
+ (AccessibilityUIElement::disclosedByRow):
+ (AccessibilityUIElement::stringAttributeValue):
+ (AccessibilityUIElement::boolAttributeValue):
+ (AccessibilityUIElement::isAttributeSettable):
+ (AccessibilityUIElement::isAttributeSupported):
(AccessibilityUIElement::role):
+ (AccessibilityUIElement::subrole):
+ (AccessibilityUIElement::roleDescription):
(AccessibilityUIElement::title):
(AccessibilityUIElement::description):
+ (AccessibilityUIElement::orientation):
+ (AccessibilityUIElement::stringValue):
(AccessibilityUIElement::language):
+ (AccessibilityUIElement::helpText):
(AccessibilityUIElement::x):
(AccessibilityUIElement::y):
(AccessibilityUIElement::width):
@@ -31553,3733 +181,275 @@
(AccessibilityUIElement::minValue):
(AccessibilityUIElement::maxValue):
(AccessibilityUIElement::valueDescription):
- (AccessibilityUIElement::isEnabled):
(AccessibilityUIElement::insertionPointLineNumber):
(AccessibilityUIElement::isActionSupported):
+ (AccessibilityUIElement::isEnabled):
(AccessibilityUIElement::isRequired):
+ (AccessibilityUIElement::isSelected):
+ (AccessibilityUIElement::isExpanded):
+ (AccessibilityUIElement::hierarchicalLevel):
+ (AccessibilityUIElement::ariaIsGrabbed):
+ (AccessibilityUIElement::ariaDropEffects):
+ (AccessibilityUIElement::lineForIndex):
+ (AccessibilityUIElement::boundsForRange):
+ (AccessibilityUIElement::stringForRange):
(AccessibilityUIElement::attributesOfColumnHeaders):
(AccessibilityUIElement::attributesOfRowHeaders):
(AccessibilityUIElement::attributesOfColumns):
(AccessibilityUIElement::attributesOfRows):
(AccessibilityUIElement::attributesOfVisibleCells):
(AccessibilityUIElement::attributesOfHeader):
+ (AccessibilityUIElement::rowCount):
+ (AccessibilityUIElement::columnCount):
(AccessibilityUIElement::indexInTable):
(AccessibilityUIElement::rowIndexRange):
(AccessibilityUIElement::columnIndexRange):
- (AccessibilityUIElement::lineForIndex):
- (AccessibilityUIElement::boundsForRange):
(AccessibilityUIElement::cellForColumnAndRow):
(AccessibilityUIElement::selectedTextRange):
(AccessibilityUIElement::setSelectedTextRange):
- (AccessibilityUIElement::attributeValue):
- (AccessibilityUIElement::isAttributeSettable):
(AccessibilityUIElement::increment):
(AccessibilityUIElement::decrement):
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (webViewWindowObjectCleared):
- (main):
- * GNUmakefile.am:
-
-2009-08-07 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Unreviewed Gtk build fix.
-
- DRT needs internal WTF symbols so we link to libJavaScriptCore.la
- too. Also don't force Gtk to use USE_SYSTEM_MALLOC.
-
- * GNUmakefile.am:
-
-2009-08-07 Darin Adler <darin@apple.com>
-
- * Scripts/commit-log-editor: Fix unchecked access to environment
- variable that may not be there.
-
-2009-08-07 Mark Rowe <mrowe@apple.com>
-
- Handle the case where only a single test is missing results.
-
- * BuildSlaveSupport/build.webkit.org-config/master.cfg:
-
-2009-08-07 George Wright <george.wright@torchmobile.com>
-
- Reviewed by Adam Treat
-
- Fix DumpRenderTree for the Qt port to always dump the PNG data unless
- the expected and actual hashes match.
-
- https://bugs.webkit.org/show_bug.cgi?id=28077
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::DumpRenderTree::dump):
-
-2009-08-07 Pierre d'Herbemont <pdherbemont@apple.com>
-
- Reviewed by Eric Seidel.
-
- commit-log-editor does not produce a git commit log that is git friendly.
- https://bugs.webkit.org/show_bug.cgi?id=27754
-
- We make sure we end up with:
- - A first paragraph describing the bug. It is eventually prefixed by
- "WebKit: <line>" or "WebCore: <line>". This used to be
- "WebCore:\n\n<line>".
- - The Reviewed By line.
- - An eventual Patch By line if author and committer doesn't match.
- - The rest of the commit.
-
- * Scripts/commit-log-editor:
-
-2009-08-07 Adam Barth <abarth@webkit.org>
-
- Unreviewed. (Darin Adler indicated he'd prefer if we landed these
- kinds of changes unreviewed, like editing the WebKit Team wiki page.)
-
- Added Pierre d'Herbemont to list of committers.
-
- * Scripts/modules/committers.py:
-
-2009-08-07 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Adele Peterson.
-
- Cannot scroll for box-reflect:right
- https://bugs.webkit.org/show_bug.cgi?id=27979
-
- Update m_overflowLeft an m_overflowWidth for reflection just like
- m_overflowTop and m_overflowHeight.
-
- * Scripts/make-js-test-wrappers: Added regexp to skip box-shadow-overflo
-w-scroll.js
-
-2009-08-06 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Adam Barth.
-
- box-shadow's spread is ignored with <table>
- https://bugs.webkit.org/show_bug.cgi?id=28017
-
- Use RenderStyle::getBoxShadowExtent just like RenderBlock.
-
- * Scripts/make-js-test-wrappers: Added regexp to skip box-shadow-overflow-scroll.js
-
-2009-08-06 Eric Seidel <eric@webkit.org>
-
- No review, only changing make-js-test-wrappers.
-
- Fix make-js-test-wrappers to ignore a few more js tests
- with custom templates.
-
- * Scripts/make-js-test-wrappers:
-
-2009-08-06 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by David Hyatt.
-
- Added ENABLE_3D_CANVAS flag to build, default to off
-
- * Scripts/build-webkit:
-
-2009-08-05 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin Adler.
-
- Win DRT's resource load delegate is missing didReceiveResponse
- https://bugs.webkit.org/show_bug.cgi?id=28033
-
- * DumpRenderTree/win/FrameLoadDelegate.cpp:
- Added:
- (FrameLoadDelegate::didReceiveServerRedirectForProvisionalLoadForFrame):
- (FrameLoadDelegate::willPerformClientRedirectToURL):
- (FrameLoadDelegate::didCancelClientRedirectForFrame):
-
- Minor style cleanup:
- (FrameLoadDelegate::didStartProvisionalLoadForFrame):
- (FrameLoadDelegate::didReceiveTitle):
- (FrameLoadDelegate::didFinishLoadForFrame):
- (FrameLoadDelegate::willCloseFrame):
- (FrameLoadDelegate::didClearWindowObject):
- * DumpRenderTree/win/FrameLoadDelegate.h:
-
-2009-08-05 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin Adler.
-
- Win DRT's resource load delegate is missing didReceiveResponse
- https://bugs.webkit.org/show_bug.cgi?id=28033
-
- * DumpRenderTree/win/ResourceLoadDelegate.cpp:
- (ResourceLoadDelegate::didReceiveResponse):
- * DumpRenderTree/win/ResourceLoadDelegate.h:
-
-2009-08-05 Darin Fisher <darin@chromium.org>
-
- Reviewed by Darin Adler.
-
- Add layoutTestController.dumpWillCacheResponse
- https://bugs.webkit.org/show_bug.cgi?id=28010
-
- willCacheResponse is only interesting for embedders of mainline WebKit on Mac.
- Splitting off a new dumpWillCacheResponse allows a number of existings tests
- to run across platforms.
-
- The test that was specifically verifying willCacheResponse now calls
- dumpWillCacheResponse.
-
- * DumpRenderTree/LayoutTestController.cpp: Add dumpWillCacheResponse
- (LayoutTestController::LayoutTestController):
- (dumpWillCacheResponseCallback):
- (LayoutTestController::staticFunctions):
- * DumpRenderTree/LayoutTestController.h:
- (LayoutTestController::dumpWillCacheResponse):
- (LayoutTestController::setDumpWillCacheResponse):
- * DumpRenderTree/mac/ResourceLoadDelegate.mm: Inspect dumpWillCacheResponse
- instead of dumpResourceLoadCallbacks.
- (-[ResourceLoadDelegate webView:resource:willCacheResponse:fromDataSource:]):
-
-2009-08-05 Jeremy Orlow <jorlow@chromium.org>
-
- Reviewed by Adam Barth.
-
- Add my name to committers.py
- https://bugs.webkit.org/show_bug.cgi?id=28013
-
- Add my name to committers.py.
-
- * Scripts/modules/committers.py:
-
-2009-08-05 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- A minor refactoring of the Qt DRT to be a bit more similar to
- the other DRTs, as well as more understandable.
-
- Splitting up resetJSObjects into a LayoutTestController->reset()
- plus a new closeRemainingWindows() method.
-
- Added a resetToConsistentStateBeforeTesting() method to keep
- the code in one place, making it easier to verify that we are
- doing things properly.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting):
- (WebCore::DumpRenderTree::open):
- (WebCore::DumpRenderTree::closeRemainingWindows):
- * DumpRenderTree/qt/DumpRenderTree.h:
-
-2009-08-05 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- Make the Qt DRT WorkQueue work similarily to the cross platform
- one. This means that all items return true if they started
- loading.
-
- This change paves the way for unforking the WorkQueue, if we [Qt]
- would like that.
-
- * DumpRenderTree/qt/WorkQueue.cpp:
- (WorkQueue::processWork):
- * DumpRenderTree/qt/WorkQueue.h:
- * DumpRenderTree/qt/WorkQueueItem.h:
- * DumpRenderTree/qt/jsobjects.cpp:
- (LoadItem::invoke):
- (ReloadItem::invoke):
- (ScriptItem::invoke):
- (BackForwardItem::invoke):
- (LayoutTestController::processWork):
- (LayoutTestController::maybeDump):
-
-2009-08-04 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- If load of a test fails, don't dump as it will be dumped
- in the preceding test, resulting in a invalid incorrect layout.
-
- * DumpRenderTree/qt/jsobjects.cpp:
- (LayoutTestController::maybeDump):
-
-2009-08-04 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- Make the Qt DumpRenderTree more similar to the mac one.
-
- Changes include:
- 1) Reset zoom factor before each test
- 2) Only dump the backforward list when we got other dump result
- 3) When we dump the render tree, and got zero result print out:
- [mainFrame renderTreeAsExternalRepresentation]
- and not:
- [frame renderTreeAsExternalRepresentation]
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::DumpRenderTree::open):
- (WebCore::methodNameStringForFailedTest):
- (WebCore::DumpRenderTree::dump):
-
-2009-08-05 chris fleizach <cfleizach@apple.com>
-
- Fix Tiger build breakage.
-
- * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
-
-2009-08-04 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Darin Adler.
-
- Bug 27994 - WAI-ARIA: aria-valuetext needs to be implemented
- https://bugs.webkit.org/show_bug.cgi?id=27994
-
- Expose valueDescription for accessibility.
-
- * DumpRenderTree/AccessibilityUIElement.cpp:
- (getValueDescriptionCallback):
- (AccessibilityUIElement::getJSClass):
- * DumpRenderTree/AccessibilityUIElement.h:
- * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
- (AccessibilityUIElement::valueDescription):
- * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
- (AccessibilityUIElement::valueDescription):
-
-2009-08-04 Eric Seidel <eric@webkit.org>
-
- Reviewed by Mark Rowe.
-
- REGRESSION: run-webkit-tests crashes if you have non-system perl in PATH
- https://bugs.webkit.org/show_bug.cgi?id=28006
-
- Hard-code perl to /usr/bin/perl and swig to /usr/bin/swig
-
- * DumpRenderTree/mac/PerlSupport/Makefile:
-
-2009-08-04 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Adler.
-
- Add pkasting to bugzilla-tool as a committer
- https://bugs.webkit.org/show_bug.cgi?id=28002
-
- * Scripts/modules/committers.py:
-
-2009-08-04 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Darin Adler.
-
- Bug 27993 - AXSliders are missing required attributes and actions
- https://bugs.webkit.org/show_bug.cgi?id=27993
-
- Add ability to check if any arbitrary action is supported.
-
- * DumpRenderTree/AccessibilityUIElement.cpp:
- (isActionSupportedCallback):
- (AccessibilityUIElement::getJSClass):
- * DumpRenderTree/AccessibilityUIElement.h:
- * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
- (AccessibilityUIElement::isActionSupported):
- * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
- (AccessibilityUIElement::isActionSupported):
-
-2009-08-04 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- bugzilla-tool unit tests need a test harness
- https://bugs.webkit.org/show_bug.cgi?id=27977
-
- * Scripts/run-webkit-unittests: Added.
-
-2009-08-04 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Gavin "Gavvy" Barraclough.
-
- Ensure that DumpRenderTreeSupport is regenerated when switching between OS versions
- by listing the DumpRenderTree binary as a dependency. Xcode has the smarts to rebuild
- DumpRenderTree itself when switching OS versions so this dependency removes the need
- for any smarts in the Makefile.
-
- * DumpRenderTree/mac/PerlSupport/Makefile:
-
-2009-08-04 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- bugzilla-tool needs unit tests
- https://bugs.webkit.org/show_bug.cgi?id=26916
-
- Add some basic unit testing for scm.py.
-
- * Scripts/modules/scm.py:
- * Scripts/modules/scm_unittest.py: Added.
-
-2009-08-04 Mike Fenton <mike.fenton@torchmobile.com>
-
- Reviewed by Adam Treat.
-
- Fix --skipped=only mode to honor flags such as --no-http and platform ignored directories by checking
- to make sure the Skipped entries are not in the $ignoredDirectories array. Directories commonly included
- are (http, media, compositing, wml, wcss).
-
- https://bugs.webkit.org/show_bug.cgi?id=27893
-
- * Scripts/run-webkit-tests:
-
-2009-08-03 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Jon Honeycutt.
-
- Bug 27958 - WAI-ARIA: Implement 'aria-required' attribute.
- https://bugs.webkit.org/show_bug.cgi?id=27958
-
- Exposed isRequired to DumpRenderTree for accessibility.
-
- * DumpRenderTree/AccessibilityUIElement.cpp:
- (getIsRequiredCallback):
- (AccessibilityUIElement::getJSClass):
- * DumpRenderTree/AccessibilityUIElement.h:
- * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
- (AccessibilityUIElement::isRequired):
- * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
- (AccessibilityUIElement::isRequired):
-
-2009-08-04 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- bugzilla-tool --commit-queue should validate commit-queue setter is a committer
- https://bugs.webkit.org/show_bug.cgi?id=27974
-
- With a test!
-
- * Scripts/modules/bugzilla.py:
- * Scripts/modules/bugzilla_unittest.py:
-
-2009-08-04 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- REGRESSION(r46700): bugzilla-tool land-diff double-spaces ChangeLogs
- https://bugs.webkit.org/show_bug.cgi?id=27973
-
- The trailing comma (suppresses newlines) was lost in r46700.
-
- * Scripts/bugzilla-tool:
-
-2009-08-04 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- bugzilla-tool has too many fatal errors
- https://bugs.webkit.org/show_bug.cgi?id=27969
-
- Replace several fatal errors with ScriptError exceptions.
-
- * Scripts/bugzilla-tool:
- * Scripts/modules/bugzilla.py:
- * Scripts/modules/scm.py:
-
-2009-08-04 Eric Seidel <eric@webkit.org>
-
- No review, ChangeLog fix only.
-
- Fix a ChangeLog line-spacing disaster caused by:
- https://bugs.webkit.org/show_bug.cgi?id=27973
-
- Still unsure what the fix for bugzilla-tool will be.
-
-2009-08-04 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- bugzilla-tool --commit-queue should only land commit-queue+ patches
- https://bugs.webkit.org/show_bug.cgi?id=27970
-
- commit-queue mode for bugzilla-tool
- https://bugs.webkit.org/show_bug.cgi?id=27918
-
- Make bugzilla tool smart enough to find the commit-queue+ flags and
- land those patches.
- When we call land-patches with --commit-queue, we should filter the
- patches we land to only those that have the commit-queue+ flag set.
- That way, when we call bugzilla-tool from a main commit queue process,
- we won't land the wrong patches.
-
- * Scripts/bugzilla-tool:
-
-2009-08-04 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- committer logic should be split out of bugzilla.py into its own module
-
- https://bugs.webkit.org/show_bug.cgi?id=27972
-
- I also added unit tests for the functionality I added.
-
- * Scripts/modules/bugzilla.py:
- * Scripts/modules/bugzilla_unittest.py: Added.
- * Scripts/modules/commiters_unittest.py: Added.
- * Scripts/modules/committers.py: Added.
-
-2009-08-03 Peter Kasting <pkasting@google.com>
-
- Reviewed by David Kilzer.
-
- https://bugs.webkit.org/show_bug.cgi?id=27323
- Handle any kind of line endings in svn-apply and svn-unapply, instead
- of assuming LF.
-
- * Scripts/svn-apply:
- * Scripts/svn-unapply:
-
-2009-08-03 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- bugzilla-tool land-patches needs --queue mode
- https://bugs.webkit.org/show_bug.cgi?id=27961
-
- Add a --commit-queue command line option to suppress user interaction.
+ (AccessibilityUIElement::showMenu):
+ (AccessibilityUIElement::press):
+ (AccessibilityUIElement::url):
+ (AccessibilityUIElement::hasPopup):
- * Scripts/bugzilla-tool:
- * Scripts/modules/scm.py:
+2010-05-28 Yael Aharon <yael.aharon@nokia.com>
-2009-08-03 Mark Rowe <mrowe@apple.com>
+ Reviewed by Laszlo Gombos.
- Build fix. Add installsrc, installhdrs and install targets.
+ [Qt] Pass all web notification layout tests
+ https://bugs.webkit.org/show_bug.cgi?id=39146
- * DumpRenderTree/mac/PerlSupport/Makefile:
+ Mimic Chromium's test_shell security model in Qt's DRT.
+ It makes a list of origins which were granted permission to display
+ notifications, and only those origins can display notifications.
-2009-08-03 Eric Carlson <eric.carlson@apple.com>
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::checkPermissionCallback):
+ (WebCore::requestPermissionCallback):
+ (WebCore::WebPage::WebPage):
+ (WebCore::DumpRenderTree::checkPermission):
+ (WebCore::DumpRenderTree::requestPermission):
+ * DumpRenderTree/qt/DumpRenderTreeQt.h:
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::reset):
+ (LayoutTestController::grantDesktopNotificationPermission):
+ (LayoutTestController::checkDesktopNotificationPermission):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
- Reviewed by Eric Seidel.
+2010-05-27 Philippe Normand <pnormand@igalia.com>
- HTMLInputElement is not controllable by assistive technologies
- https://bugs.webkit.org/show_bug.cgi?id=27941
+ Reviewed by Shinichiro Hamaji.
- Accessibility control of a slider required adding increment() and decrement()
- methods to AccessibilityObject, so expose thos methods on AccessibilityUIElement.
+ check-webkit-style complains about use of NULL in GTK function calls that require sentinels
+ https://bugs.webkit.org/show_bug.cgi?id=39372
- * DumpRenderTree/AccessibilityUIElement.cpp:
- (incrementCallback): New, call UI element increment method.
- (decrementCallback): New, call UI element decrement method.
- (AccessibilityUIElement::getJSClass): Expose increment and decrement methods.
+ Don't warn about NULL in g_*() calls. Zero can't be used instead
+ for calls like g_build_filename and g_object_get/set.
- * DumpRenderTree/AccessibilityUIElement.h:
- * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
- (AccessibilityUIElement::increment): New, send NSAccessibilityIncrementAction to Mac wrapper.
- (AccessibilityUIElement::decrement): New, send NSAccessibilityDecrementAction to Mac wrapper.
+ * Scripts/webkitpy/style/checkers/cpp.py:
+ * Scripts/webkitpy/style/checkers/cpp_unittest.py:
- * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
- (AccessibilityUIElement::increment): New, do nothing.
- (AccessibilityUIElement::decrement): New, do nothing.
+2010-05-27 Luiz Agostini <luiz.agostini@openbossa.org>
-2009-08-02 David D. Kilzer <ddkilzer@webkit.org>
+ Reviewed by Kenneth Rohde Christiansen.
- <http://webkit.org/b/27930> bugzilla-tool hates Tor Arne Vestbø
+ [Qt] Platform plugin example
+ https://bugs.webkit.org/show_bug.cgi?id=39489
- Reviewed by Tor Arne Vestbø.
+ Exempting directory WebKit/qt/examples/ from style guide.
- * Scripts/bugzilla-tool:
- (set_reviewer_in_changelog): Made sure reviewer is properly
- encoded when calling replace().
+ * Scripts/webkitpy/style/checker.py:
-2009-08-02 Kevin Ollivier <kevino@theolliviers.com>
+2010-05-26 Philippe Normand <pnormand@igalia.com>
Reviewed by David Levin.
- Script for building the wxBrowser sample app for wx.
- https://bugs.webkit.org/show_bug.cgi?id=27619
-
- * wx/browser/wscript: Added.
-
-2009-08-02 Kevin Ollivier <kevino@theolliviers.com>
-
- Reviewed by Jan Alonzo.
-
- Scripts needed for the waf build.
- https://bugs.webkit.org/show_bug.cgi?id=27619
-
- * wx/build: Added.
- * wx/build/build_utils.py: Added.
- * wx/build/settings.py: Added.
- * wx/build/waf_extensions.py: Added.
- * wx/build/wxpresets.py: Added.
-
-2009-08-01 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Darin Adler.
-
- Make pixel test results more consistent across Mac OS X versions
-
- * DumpRenderTree/cg/ImageDiffCG.cpp:
- (createDifferenceImage): Avoid color correction when rendering the
- images into graphics contexts, so that the actual color values are
- compared, regardless of how the images are tagged.
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (createWebViewAndOffscreenWindow): Set the window’s color space to the
- main screen’s color space, even though the window is off-screen.
-
-2009-08-01 Mark Rowe <mrowe@apple.com>
-
- Try again to make the Qt build bot happy.
-
- * BuildSlaveSupport/test-result-archive: Create a placeholder file inside the newly-created
- directory to prevent 'zip' from failing due to the directory containing no files.
-
-2009-08-01 Mark Rowe <mrowe@apple.com>
-
- Try and make the Qt build bot happy.
-
- * BuildSlaveSupport/test-result-archive: Handle the case where run-webkit-tests generates
- no output files at all and thus does not create the layout-test-results directory.
-
-2009-08-01 Mark Rowe <mrowe@apple.com>
-
- Move the include of DumpRenderTreeSupport to after DumpRenderTree has been built.
-
- * Scripts/run-webkit-tests:
-
-2009-08-01 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Sam Weinig and David D. Kilzer.
-
- Fix <https://bugs.webkit.org/show_bug.cgi?id=27923>.
- Bug 27923: run-webkit-tests should not invoke "ps" repeatedly on Mac OS X
-
- run-webkit-tests invokes "ps" after each test on Mac OS X to determine whether DumpRenderTree is
- in the process of crashing. We can do the same test more efficiently with a simple call to sysctl.
- I couldn't find any built-in way of doing this directly from perl, so we do it from a simple C module
- instead. This speeds up run-webkit-tests by around 8%.
-
- * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
- * DumpRenderTree/mac/PerlSupport/DumpRenderTreeSupport.c: Added.
- (processIsCrashing):
- * DumpRenderTree/mac/PerlSupport/DumpRenderTreeSupportTiger.pm: Added. Tiger does not have the SWIG tool
- that is used to generate the Perl binding to the C code, so we fall back to the old implementation on Tiger.
- * DumpRenderTree/mac/PerlSupport/Makefile: Added.
- * Scripts/run-webkit-tests:
-
-2009-08-01 Mark Rowe <mrowe@apple.com>
-
- Reviewed by David D. Kilzer.
-
- Display the reminder once rather than once per ChangeLog.
-
- * Scripts/prepare-ChangeLog:
-
-2009-08-01 David Kilzer <ddkilzer@apple.com>
-
- resolve-ChangeLogs: add error checking to git ls-files command on close()
-
- Reviewed by Eric Seidel.
-
- Item 2 of <https://bugs.webkit.org/show_bug.cgi?id=18599#c0>.
-
- * Scripts/resolve-ChangeLogs: Added error checking to close()
- after running git ls-files. Added error checking to all
- system() calls by checking for a non-zero WEXITSTATUS($?).
- Changed "|| die;" expressions to "or die $!;".
-
-2009-08-01 David Kilzer <ddkilzer@apple.com>
+ [style] Allow usage of NULL in gst_*_many()
+ https://bugs.webkit.org/show_bug.cgi?id=39740
- <http://webkit.org/b/18599> resolve-ChangeLogs doesn't work with relative paths
+ Don't warn if NULL is used by gst_*_many() functions. Zero can't
+ be used for the reason explained in Bug 32858.
- Reviewed by Eric Seidel.
-
- * Scripts/resolve-ChangeLogs: Used chdirReturningRelativePath()
- and determineVCSRoot() to change directories to the root of the
- project before running the command and to provide a path for
- removeChangeLogArguments() to make sure any ChangeLog arguments
- on the command line are still found.
- (canonicalRelativePath): Added. Returns a canonical path (e.g.,
- stripping 'dir/../' from the path) relative to the current
- directory.
- (removeChangeLogArguments): Added argument which contains a
- relative path that must be prepended to any ChangeLog arguments.
- Used canonicalRelativePath() and File::Spec->catfile() to
- construct a normalized, relative path to each file.
-
-2009-08-01 David Kilzer <ddkilzer@apple.com>
-
- Implement VCSUtils::chdirReturningRelativePath()
-
- Reviewed by Eric Seidel.
-
- Step 2 to fix:
- <http://webkit.org/b/18599> resolve-ChangeLogs doesn't work with relative paths
-
- * Scripts/VCSUtils.pm:
- (VCSUtils::chdirReturningRelativePath): Moved here from
- chdirAndGetDifference() in svn-create-patch.
- * Scripts/svn-create-patch: Switched to use
- chdirReturningRelativePath() instead of chdirAndGetDifference().
- (chdirAndGetDifference): Removed.
-
-2009-08-01 David Kilzer <ddkilzer@apple.com>
+ * Scripts/webkitpy/style/checkers/cpp.py:
+ * Scripts/webkitpy/style/checkers/cpp_unittest.py:
- Implement VCSUtils::determineVCSRoot()
+2010-05-27 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
- Step 1 to fix:
- <http://webkit.org/b/18599> resolve-ChangeLogs doesn't work with relative paths
-
- * Scripts/VCSUtils.pm: Removed reference to webkitdirs module.
- (VCSUtils::EXPORT): Added &determineVCSRoot. Realphabetized.
- (VCSUtils::determineGitRoot): Added. Based on code in
- commit-log-editor.
- (VCSUtils::determineVCSRoot): Implemented using
- determineGitRoot() and determineSVNRoot().
- * Scripts/commit-log-editor: Replaced use of
- topLevelSourceDirectory() with determineVCSRoot(). Resorted
- use statements.
- (topLevelSourceDirectory): Removed.
-
-2009-07-31 Daniel Bates <dbates@intudata.com>
+ Update script to run the normal version of the parser tests.
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=27757
+ * Scripts/test-html5-parser:
- Resolves Perl redefinition warnings about functions tmpfile and tmpnam which are
- defined in both File::Temp and POSIX.
-
- This stops the warnings by preventing the "import" method of File::Temp from being called,
- which would otherwise add these functions into the primary namespace. Note, "use POSIX"
- will import these functions into the primary namespace anyway. We only need one instance
- of these functions in our namespace (or we get redefinition warnings), so lets use the
- one's in the POSIX package.
-
- * Scripts/update-webkit-auxiliary-libs: Changed "use File::Temp" to "use File::Temp ()".
- * Scripts/update-webkit-support-libs: ditto
-
-2009-07-31 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+2010-05-27 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
- Add a top level build option to control datagrid support
- https://bugs.webkit.org/show_bug.cgi?id=27915
-
- * Scripts/build-webkit:
-
-2009-07-31 David Levin <levin@chromium.org>
-
- Reviewed by Adam Treat.
-
- check-webkit-style --git-commit has bugs if you select a commit in the past
- https://bugs.webkit.org/show_bug.cgi?id=27908
-
- * Scripts/check-webkit-style:
- (main): Made the git-commit command only select the first commit
- if a range is given (and print a warning).
- * Scripts/modules/scm.py:
- (SCM::create_patch_from_local_commit):
- (SCM::create_patch_since_local_commit):
- (SCM::commit_locally_with_message):
- (SCM::discard_local_commits):
- Added an error messages in case these aren't overriden.
-
- (Git::create_patch_since_local_commit):
- Added this command to allow doing a diff of everything after a given commit.
-
-2009-07-31 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Speculative Qt build fix. Not reviewed.
-
- Add LayoutTestController::disableImageLoading() in jsobjects.h.
-
- * DumpRenderTree/qt/jsobjects.h:
-
-2009-07-31 Brady Eidson <beidson@apple.com>
-
- Reviewed by John Sullivan.
-
- <rdar://problem/6973106> and https://bugs.webkit.org/show_bug.cgi?id=27896
- Favicons are still loaded when automatic image loading is disabled.
-
- * DumpRenderTree/LayoutTestController.cpp:
- (disableImageLoadingCallback):
- (LayoutTestController::staticFunctions):
- * DumpRenderTree/LayoutTestController.h:
-
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (resetWebViewToConsistentStateBeforeTesting):
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (LayoutTestController::disableImageLoading):
-
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (resetWebViewToConsistentStateBeforeTesting):
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::disableImageLoading):
-
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::disableImageLoading): Stubbed for now.
- * DumpRenderTree/qt/jsobjects.cpp:
- (LayoutTestController::disableImageLoading): Ditto.
-
-2009-07-30 Eric Seidel <eric@webkit.org>
-
- Reviewed by David Kilzer.
-
- bugzilla-tool post-commits trunk..head errors out
- https://bugs.webkit.org/show_bug.cgi?id=27847
-
- Rename commit_ids_from_range_arguments to commit_ids_from_commitish_arguments
- and make it handle the new arguments format proposed in the bug.
-
- * Scripts/bugzilla-tool:
- * Scripts/modules/scm.py:
-
-2009-07-30 Eric Seidel <eric@webkit.org>
-
- Reviewed by David Levin.
-
- clean up build-webkit to use less copy/paste code and remove unneeded SVG warning
- https://bugs.webkit.org/show_bug.cgi?id=27857
-
- * Scripts/build-webkit:
-
-2009-07-31 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/27894> bugzilla-tool: Bugzilla.clear_attachment_review_flag() fails with ClientForm-0.2.10 and python-2.5
-
- Reviewed by Eric Seidel.
-
- * Scripts/modules/bugzilla.py:
- (Bugzilla.clear_attachment_review_flag): Specify which 'comment'
- form field to use when setting its value.
-
-2009-07-31 Eric Seidel <eric@webkit.org>
+ Add HTML5 parser support to run-webkit-tests
+ https://bugs.webkit.org/show_bug.cgi?id=39815
- Reviewed by David Kilzer.
-
- bugzilla-tool post-commits obsoletes its own work :(
- https://bugs.webkit.org/show_bug.cgi?id=27849
-
- Simple fix. Use .add() instead of .update()
-
- * Scripts/bugzilla-tool:
-
-2009-07-31 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Anders Carlsson.
-
- Improve platform-detection in run-webkit-tests
-
- This prevents miss-detection of mac-* over Qt/Mac.
-
- * Scripts/run-webkit-tests:
-
-2009-07-30 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Cameron Zwarich.
-
- Teach buildbot to detect test cases that are missing results.
-
- * BuildSlaveSupport/build.webkit.org-config/master.cfg:
-
-2009-07-30 Mark Rowe <mrowe@apple.com>
-
- Things work better when you create the correct directories.
-
- * Scripts/run-webkit-tests:
-
-2009-07-30 Mark Rowe <mrowe@apple.com>
-
- Include some information about the error when we die.
-
- * Scripts/run-webkit-tests:
-
-2009-07-30 Mark Rowe <mrowe@apple.com>
-
- Ensure that the path exists before writing results to it.
- Hopefully this will make the Windows build bot happy.
-
- * Scripts/run-webkit-tests:
-
-2009-07-30 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Adam Treat and Jon Honeycutt.
-
- Teach run-webkit-tests to always store the actual results in the results directory for new tests.
- This allows us to give a working link to the results from the result summary page, even if we're
- not generating new results in to the tree.
-
- * Scripts/run-webkit-tests:
-
-2009-07-30 Mark Rowe <mrowe@apple.com>
-
- Add a Qt Linux build bot.
-
- * BuildSlaveSupport/build.webkit.org-config/config.json:
-
-2009-07-30 Jakob Petsovits <jakob.petsovits@torchmobile.com>
-
- Reviewed by Adam Roben.
-
- Add --minimal option to webkit-build.
- https://bugs.webkit.org/show_bug.cgi?id=27852
-
- This option disables all optional build features unless
- they are explicitly enabled.
-
- * Scripts/build-webkit:
-
-2009-07-30 Jakub Wieczorek <faw217@gmail.com>
-
- [Qt] Fix build with GCC 4.4.
-
- * DumpRenderTree/qt/ImageDiff.cpp:
-
-2009-07-29 Ariya Hidayat <ariya.hidayat@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- https://bugs.webkit.org/show_bug.cgi?id=27813
-
- [Qt] Support pixel tests in DumpRenderTree for the Qt port.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::DumpRenderTree::DumpRenderTree):
- (WebCore::DumpRenderTree::open):
- (WebCore::DumpRenderTree::setDumpPixels):
- (WebCore::DumpRenderTree::dump):
- * DumpRenderTree/qt/DumpRenderTree.h:
- * DumpRenderTree/qt/main.cpp:
- (main):
-
-2009-07-29 Ariya Hidayat <ariya.hidayat@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- https://bugs.webkit.org/show_bug.cgi?id=27813
-
- [Qt] Implement ImageDiff.
-
- * DumpRenderTree/qt/ImageDiff.cpp: Added.
- * DumpRenderTree/qt/ImageDiff.pro: Added.
-
-2009-07-30 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Eric Seidel.
-
- build-webkit: Reorder logic for determining the baseProductDir
-
- https://bugs.webkit.org/show_bug.cgi?id=27699
-
- We now do port-spesific probing for the product dir first, and then
- fall back to either the generic WEBKITOUTPUTDIR (which now also works
- on Mac), or WebKitBuild.
-
- Then we add the git branch if the git branch build option is enabled.
-
- Finally we massage the product dir based on the port. For example the
- Mac port will now always set the SYMROOT and OBJROOT configuration for
- XCode.
-
- Note that isAppleWinWebkit() and isCygwin() is not mutually exclusive,
- hence the normal if and not elsif in the last two blocks.
-
- * Scripts/webkitdirs.pm:
-
-2009-07-29 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/27082> bugzilla-tool: Add --no-close switch to land-patches
-
- Reviewed by David Levin.
-
- * Scripts/bugzilla-tool:
- (LandPatchesFromBugs.__init__): Added --no-close switch.
- (LandPatchesFromBugs.land_patches): Don't close the bug if the
- --no-close switch was used. Always clear the review+ flag on
- every landed patch using the commit_text message when cleared.
- This prevents patches from showing up in the commit queue if
- reopened and provides consistency with all landed patches.
- * Scripts/modules/bugzilla.py:
- (Bugzilla.clear_attachment_review_flag): Added.
-
-2009-07-29 David Kilzer <ddkilzer@apple.com>
+ * Scripts/old-run-webkit-tests:
- <http://webkit.org/b/27815> bugzilla-tool: add -m/--description to post-commits command
+2010-05-26 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
- * Scripts/bugzilla-tool:
- (PostDiffAsPatchToBug.execute): Changed default patch name from
- "patch" to "Patch v1".
- (PostCommitsAsPatchesToBug.__init__): Added -m/--description
- switch.
- (PostCommitsAsPatchesToBug.execute): Use description provided by
- -m/--description switch first, else fall back to the commit
- message.
-
-2009-07-29 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Dave Levin.
-
- Make check-webkit-style support files as arguments.
- https://bugs.webkit.org/show_bug.cgi?id=27549
-
- * Scripts/check-webkit-style:
- Support files as argument. Change documentation and use basename
- on the binary name when used in the documentation. Also do not
- die when printing something containing non-ASCII characters.
-
-2009-08-06 Mike Fenton <mike.fenton@torchmobile.com>
-
- Reviewed by David Levin.
-
- Add validation for pointer and reference declaration as defined by webkit style guidelines to cpp_style.py.
- Add unit tests for validation and update existing c style cast test to be run explicitly as c validation.
-
- https://bugs.webkit.org/show_bug.cgi?id=27984
-
- * Scripts/modules/cpp_style.py:
- * Scripts/modules/cpp_style_unittest.py:
-
-2009-07-29 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/27119> bugzilla-tool: Add create-bug command
-
- Reviewed by David Levin.
-
- Implement "create-bug" command for bugzilla-tool.
-
- * Scripts/bugzilla-tool: Added CreateBug class.
- (CreateBug.__init__): Added.
- (CreateBug.create_bug_from_commit): Added.
- (CreateBug.create_bug_from_patch): Added.
- (CreateBug.prompt_for_bug_title_and_comment): Added.
- (CreateBug.execute): Added.
- (BugzillaTool.__init__): Added create-bug command.
- * Scripts/modules/bugzilla.py:
- (Bugzilla.prompt_for_component): Added.
- (Bugzilla.check_create_bug_response_returning_bug_id_on_success): Added.
- (Bugzilla.create_bug_with_patch): Added.
-
-2009-07-29 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Reviewed by Eric Seidel and Xan Lopez.
-
- [Gtk] Enable http/tests/appcache tests
- https://bugs.webkit.org/show_bug.cgi?id=27674
-
- Add support for testing http/tests/appcache tests.
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (resetWebViewToConsistentStateBeforeTesting):
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::setAppCacheMaximumSize):
-
-2009-07-28 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Prevent nightly builds of WebKit from launching against old Safari versions that we no longer work with.
-
- * WebKitLauncher/main.m:
- (checkSafariVersion): Add a minimum required Safari version of 4.0. This matches the requirement on Windows.
- (main): If the minimum version requirement is not met, display an alert and bail out.
-
-2009-07-28 David Levin <levin@chromium.org>
-
- Reviewed by Adam Treat.
-
- cpplint* should be named cpp_style*
- https://bugs.webkit.org/show_bug.cgi?id=27752
-
- The files were renamed. A few renames were done:
- CppLint -> CppStyle
- cpplint -> cpp_style
-
- * Scripts/check-webkit-style:
- * Scripts/modules/cpp_style.py: Copied from cpplint.py and
- did name fix ups.
- * Scripts/modules/cpp_style_unittest.py: Copied from cpplint_unittest.py and
- did name fix ups.
- * Scripts/modules/cpplint.py: Removed.
- * Scripts/modules/cpplint_unittest.py: Removed.
-
-2009-07-28 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Rubber-stamped by Holger Freyther.
-
- Add Steve Falkenburg to bugzilla-tools' reviewers list
-
- * Scripts/modules/bugzilla.py:
-
-2009-07-28 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
-
- Reviewed by Simon Hausmann.
-
- Implement test result archive support for the Qt port.
-
- * BuildSlaveSupport/test-result-archive:
+ Make HTML5 lexer not ASSERT when resuming partial parses
+ https://bugs.webkit.org/show_bug.cgi?id=39755
-2009-07-27 Brady Eidson <beidson@apple.com>
+ Add webkit-resumer.html to the HTML5 parser test suite.
- Reviewed by Sam Weinig.
+ * Scripts/test-html5-parser:
- https://bugs.webkit.org/show_bug.cgi?id=27755
- Layout tests that dump resource load delegate calls should dump the request method and the response status code.
+2010-05-24 Tony Chang <tony@chromium.org>
- * DumpRenderTree/mac/ResourceLoadDelegate.mm:
- (-[NSURLResponse _drt_descriptionSuitableForTestResult]):
- (-[NSURLRequest _drt_descriptionSuitableForTestResult]):
-
- * DumpRenderTree/win/ResourceLoadDelegate.cpp:
- (descriptionSuitableForTestResult):
-
-2009-07-27 Pierre d'Herbemont <pdherbemont@apple.com>
-
- Reviewed by David Levin.
-
- "bugzilla-tool post-commit head" doesn't work because it can't find the bug id from the commit load.
- https://bugs.webkit.org/show_bug.cgi?id=27747
-
- modules.bugzilla is not found because not included.
-
- * Scripts/modules/scm.py: Properly import modules.bugzilla.
-
-2009-07-24 Pierre d'Herbemont <pdherbemont@apple.com>
-
- Reviewed by David Kilzer.
-
- commit-log-editor should allow git commit --amend to regenerate the commit log based on the modifed ChangeLog
- https://bugs.webkit.org/show_bug.cgi?id=27664
-
- * Scripts/commit-log-editor: Add --regenerate-log option.
- The user is asked if he wants to suppress previous ChangeLog and regenerate it,
- if this option is enabled.
-
-2009-07-27 Gabor Rapcsanyi <rapcsanyi.gabor@stud.u-szeged.hu>
-
- Reviewed by Simon Hausmann.
-
- Generating remote links causes a lot of unnecessary spew on Qt build bot too
-
- * Scripts/run-webkit-tests:
-
-2009-07-25 Kwang Yul Seo <skyul@company100.net>
-
- Reviewed by Darin Adler.
-
- Windows build break due to warning C4819
- https://bugs.webkit.org/show_bug.cgi?id=27416
-
- Disable C4819 warning to fix build.
-
- * DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin.vcproj:
-
-2009-07-24 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
-
- Not reviewed. Add Kevin McCullough as reviewer in bugzilla.py
-
- * Scripts/modules/bugzilla.py:
-
-2009-07-24 Eli Fidler <eli.fidler@torchmobile.com>
-
- Reviewed by Adam Treat.
-
- Improve git workflow by populating commit messages with ChangeLog entries.
- https://bugs.webkit.org/show_bug.cgi?id=27605
-
- If the user doesn't manually modify the ChangeLog files, use
- prepare-ChangeLog to populate the git commit message. This behaviour
- can be disabled by the 'webkitGenerateCommitMessage' git configuration option.
+ Reviewed by Kent Tamura.
- * Scripts/commit-log-editor:
+ [chromium] setup fonts on chromium linux DRT
+ https://bugs.webkit.org/show_bug.cgi?id=39644
-2009-07-24 David Levin <levin@chromium.org>
+ * DumpRenderTree/chromium/TestShellGtk.cpp:
+ (setupFontconfig):
+ (platformInit):
+ * DumpRenderTree/chromium/WebViewHost.cpp:
+ (WebViewHost::paintRect): Fix a bug where in release builds, we didn't initialize m_canvas.
+ * DumpRenderTree/chromium/fonts.conf: Added.
- Reviewed by Adam Treat.
+2010-05-24 Dirk Pranke <dpranke@chromium.org>
- cpplint crash when there is a duplicate header followed by another header.
- https://bugs.webkit.org/show_bug.cgi?id=27625
+ Reviewed by Dimitri Glazkov.
- * Scripts/modules/cpplint.py: Ensure that include_state.header_types is updated even
- there is a duplicate header, which resulted in some code rearrangement. Also,
- changed some if's in this function to return early. This avoids having nearly the
- whole function content being indented.
- * Scripts/modules/cpplint_unittest.py: Added a test which would have exposed the crash.
+ Re-commit r58765 - it had been rolled out to see if it was causing
+ a perf regression (in r59787 and r59789), but that does not seem to
+ have been the case.
-2009-07-24 Jakob Petsovits <jakob.petsovits@torchmobile.com>
+ https://bugs.webkit.org/show_bug.cgi?id=39605
- Reviewed by Adam Treat.
+ * DumpRenderTree/chromium/NotificationPresenter.cpp:
+ (NotificationPresenter::show):
- Filetype support changes for cpplint and check_webkit_style
- https://bugs.webkit.org/show_bug.cgi?id=27653
+2010-05-25 Ojan Vafai <ojan@chromium.org>
- Introduce .c support for check_webkit_style, and remove support for
- .cc files in favor of .cpp.
+ Reviewed by Chris Jerdonek.
- * Scripts/check-webkit-style:
- * Scripts/modules/cpplint.py:
- * Scripts/modules/cpplint_unittest.py:
+ remove suppression of rietveld logging
+ https://bugs.webkit.org/show_bug.cgi?id=39693
-2009-07-24 Eli Fidler <eli.fidler@torchmobile.com>
+ Now that we only upload to rietveld explicitly, e.g. on the bot
+ or via webkit-patch post-attachment-to-rietveld, we should print
+ all the rietveld logging. It was suppressed before to avoid making
+ webkit-patch upload too noisy.
- Reviewed by David Levin.
+ * Scripts/webkitpy/common/net/rietveld.py:
- Improve git workflow by populating commit messages with ChangeLog entries.
- https://bugs.webkit.org/show_bug.cgi?id=27605
+2010-05-25 Antonio Gomes <tonikitoo@webkit.org>
- add --[no-]write prepare-ChangeLog options to bash completion
+ Reviewed by Ojan Vafai.
- * Scripts/webkit-tools-completion.sh:
+ [Qt] Expose the editing behavior setting in DRT to test all editing code paths
+ https://bugs.webkit.org/show_bug.cgi?id=39680
-2009-07-24 Andrei Popescu <andreip@google.com>
+ Implement LayoutTestController::setEditingBehavior in Qt's DRT.
- Reviewed by Anders Carlsson.
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting):
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::setEditingBehavior):
- ApplicationCache should have size limit
- https://bugs.webkit.org/show_bug.cgi?id=22700
+2010-05-25 Kevin Ollivier <kevino@theolliviers.com>
- Adds a new method on the LayoutTestController that
- allows a JS unit test to configure the maximum size
- of the Application Cache.
+ [wx] Build fix after API change and addition of WebCore/platform/text/transcoder dir.
- * DumpRenderTree/LayoutTestController.cpp:
- (setAppCacheMaximumSizeCallback):
- (LayoutTestController::staticFunctions):
- * DumpRenderTree/LayoutTestController.h:
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::setAppCacheMaximumSize):
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (LayoutTestController::setAppCacheMaximumSize):
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::setAppCacheMaximumSize):
* DumpRenderTree/wx/LayoutTestControllerWx.cpp:
- (LayoutTestController::setAppCacheMaximumSize):
-
-2009-07-24 Adam Barth <abarth@webkit.org>
-
- Rubber stamped by Eric Seidel.
-
- Added andersca to list of reviewers.
-
- * Scripts/modules/bugzilla.py:
-
-2009-07-24 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Xan Lopez.
-
- Fix dozens of "Deallocation of a pointer not malloced" messages seen while running
- layout tests on the build bot.
-
- Memory allocated via FastMalloc was being deleted via the system memory allocator
- due to an inconsistent including of FastMalloc.h. We address this by including it
- from config.h and including config.h from every implementation file, as in our other
- projects.
-
- * DumpRenderTree/ForwardingHeaders/wtf/FastMalloc.h: Copied from JavaScriptGlue/ForwardingHeaders/wtf/FastMalloc.h.
- * DumpRenderTree/config.h:
- * DumpRenderTree/mac/AccessibilityControllerMac.mm:
- * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
- * DumpRenderTree/mac/AppleScriptController.m:
- * DumpRenderTree/mac/CheckedMalloc.cpp:
- * DumpRenderTree/mac/DumpRenderTree.mm:
- * DumpRenderTree/mac/DumpRenderTreeDraggingInfo.mm:
- * DumpRenderTree/mac/DumpRenderTreePasteboard.m:
- * DumpRenderTree/mac/DumpRenderTreeWindow.mm:
- * DumpRenderTree/mac/EditingDelegate.mm:
- * DumpRenderTree/mac/EventSendingController.mm:
- * DumpRenderTree/mac/FrameLoadDelegate.mm:
- * DumpRenderTree/mac/GCControllerMac.mm:
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- * DumpRenderTree/mac/NavigationController.m:
- * DumpRenderTree/mac/ObjCController.m:
- * DumpRenderTree/mac/ObjCPlugin.m:
- * DumpRenderTree/mac/ObjCPluginFunction.m:
- * DumpRenderTree/mac/PixelDumpSupportMac.mm:
- * DumpRenderTree/mac/PlainTextController.mm:
- * DumpRenderTree/mac/PolicyDelegate.mm:
- * DumpRenderTree/mac/ResourceLoadDelegate.mm:
- * DumpRenderTree/mac/TextInputController.m:
- * DumpRenderTree/mac/UIDelegate.mm:
- * DumpRenderTree/mac/WorkQueueItemMac.mm:
-
-2009-07-24 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Simon Hausmann.
-
- Add a command line option to run-javascriptcore-tests to explicitly opt out of attempting to rebuild JavaScriptCore.
- This is primarily useful to speed up the build bots where one machine builds JavaScriptCore and a second runs the tests,
- leading to situations where the build system unnecessarily feels that the need to recompile.
-
- * BuildSlaveSupport/build.webkit.org-config/master.cfg:
- * Scripts/run-javascriptcore-tests:
-
-2009-07-23 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [Gtk] Add implementation of GCController for DRT
- https://bugs.webkit.org/show_bug.cgi?id=27636
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (webViewWindowObjectCleared):
- (main):
- * DumpRenderTree/gtk/GCControllerGtk.cpp:
- (GCController::collect):
- (GCController::collectOnAlternateThread):
- (GCController::getJSObjectCount):
-
-2009-07-23 Mark Rowe <mrowe@apple.com>
-
- Update build.webkit.org config for new machine.
-
- * BuildSlaveSupport/build.webkit.org-config/config.json:
-
-2009-07-23 Brady Eidson <beidson@apple.com>
-
- Remove accidentally checked in code.
-
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (waitUntilDoneWatchdogFired):
- (LayoutTestController::setWaitToDump):
-
-2009-07-23 Brady Eidson <beidson@apple.com>
-
- Reviewed by Geoff Garen.
-
- WebCore has a few places that don't gracefully handle a null request returned from willSendRequest.
- https://bugs.webkit.org/show_bug.cgi?id=27595
-
- Add the ability to tell the LayoutTestController to return a null request for willSendRequest
- redirect callbacks.
-
- * DumpRenderTree/LayoutTestController.cpp:
- (LayoutTestController::LayoutTestController):
- (setWillSendRequestReturnsNullOnRedirectCallback):
- (LayoutTestController::staticFunctions):
- * DumpRenderTree/LayoutTestController.h:
- (LayoutTestController::willSendRequestReturnsNullOnRedirect):
- (LayoutTestController::setWillSendRequestReturnsNullOnRedirect):
-
- * DumpRenderTree/mac/ResourceLoadDelegate.mm:
- (-[ResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]):
- * DumpRenderTree/win/ResourceLoadDelegate.cpp:
- (ResourceLoadDelegate::willSendRequest):
-
-2009-07-23 Mark Rowe <mrowe@apple.com>
-
- Reviewed Oliver Hunt.
-
- Fix DumpRenderTree to not fail an assertion on launch on a new machine.
-
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (setDefaultsToConsistentValuesForTesting): Disable the XSS auditor. It being enabled
- breaks all of the JavaScript tests within testStringByEvaluatingJavaScriptFromString,
- which causes us to exit due to an assertion failure. It's not clear why the XSS auditor
- decides to interfere with these tests.
-
-2009-07-23 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Update default state of the XSS auditor in GTK DumpRenderTree to match Mac and Windows
- in hopes of fixing some layout test failures seen on the build bot.
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (resetWebViewToConsistentStateBeforeTesting):
-
-2009-07-23 Jakob Petsovits <jakob.petsovits@torchmobile.com>
-
- Reviewed by Adam Treat.
-
- Fix false positives for switch statement indentation check in cpplint.
- https://bugs.webkit.org/show_bug.cgi?id=27615
-
- Makes one-line case statements (e.g. "case foo: bar();") work.
- Also a few general improvements to the robustness and readability of
- the check, and more test cases.
-
- * Scripts/modules/cpplint.py:
- * Scripts/modules/cpplint_unittest.py:
-
-2009-07-23 Jakob Petsovits <jakob.petsovits@torchmobile.com>
-
- Reviewed by Adam Treat.
-
- Add check for line-breaking rule #3 to cpplint.
- https://bugs.webkit.org/show_bug.cgi?id=27610
-
- "An else if statement should be written as an if statement when
- the prior if concludes with a return statement."
-
- Implemented by a multi-line (kind of back-tracking) algorithm.
- Comes with loads of unit tests. Fixes the check for label indentation
- to be not so overzealous, as it didn't allow for completely unindented
- goto labels (at the very start of a line).
-
- * Scripts/modules/cpplint.py:
- * Scripts/modules/cpplint_unittest.py:
-
-2009-07-23 Eli Fidler <eli.fidler@torchmobile.com>
-
- Reviewed by Adam Treat.
-
- Improve git workflow by populating commit messages with ChangeLog entries.
- https://bugs.webkit.org/show_bug.cgi?id=27605
-
- add --[no-]write option to optionally output new ChangeLog entries to
- stdout instead of modifying ChangeLog files
-
- fix Torch Mobile copyright
-
- * Scripts/prepare-ChangeLog:
-
-2009-07-23 Jakob Petsovits <jakob.petsovits@torchmobile.com>
-
- Reviewed by Adam Treat.
-
- Enable cpplint for .c files.
- https://bugs.webkit.org/show_bug.cgi?id=27604
-
- Also make sure that the check for NULL does not apply to .c files.
-
- * Scripts/modules/cpplint.py:
- * Scripts/modules/cpplint_unittest.py:
-
-2009-07-22 Steve Falkenburg <sfalken@apple.com>
-
- Checkpoint new Windows nightly launcher.
-
- Reviewed by Mark Rowe.
-
- * WebKitLauncherWin: Added.
- * WebKitLauncherWin/Resource.h: Added.
- * WebKitLauncherWin/WebKitLauncherWin.cpp: Added.
- (getStringValue): Retrieve a string registry value.
- (applePathFromRegistry): Get an Apple-related path out of the registry.
- (copyEnvironmentVariable): Copy an environment variable.
- (safariInstallDir): Helper function to get the install directory for Safari.
- (safariBrowserExe): Helper function to get the full path of the Safari executable.
- (_tWinMain): Locate Safari and launch it after setting up an environment variable.
- * WebKitLauncherWin/WebKitLauncherWin.h: Added.
- * WebKitLauncherWin/WebKitLauncherWin.rc: Added.
- * WebKitLauncherWin/WebKitLauncherWin.vcproj: Added.
- * WebKitLauncherWin/webkit.ico: Added.
-
-2009-07-22 David Levin <levin@chromium.org>
-
- Reviewed by Adam Treat.
-
- run-webkit-lint should be named check-webkit-style
- https://bugs.webkit.org/show_bug.cgi?id=27568
-
- This name better reflects the fact that it is about checking the style of files.
-
- * Scripts/check-webkit-style: Renamed from WebKitTools/Scripts/run-webkit-lint.
-
-2009-07-22 Takeshi Yoshino <tyoshino@google.com>
-
- Reviewed by Darin Adler.
-
- VC++ 2005 Express failed to build WebKit due to raw UTF-8 string in WebKit/win/WebCoreLocalizedStrings.cpp
- https://bugs.webkit.org/show_bug.cgi?id=26375
-
- Make it able to use hexadecimal escape sequences in .*UI_STRING(_KEY)? macros. Now,
- the extract-localizable-strings script unescapes hexadecimal escape sequences in string literals
- in the macros before writing out them into the file to update.
-
- By this fix, we can eliminate raw UTF-8 strings in source code while using raw UTF-16 big endian
- strings in the Localizable.strings file.
-
- Bonus: There's no longer extract-webkit-localizable-strings script. Fix usage message to guide
- users to update-webkit-localizable-strings.
-
- * Scripts/extract-localizable-strings:
-
-2009-07-22 Shinichiro Hamaji <hamaji@google.com>
-
- Reviewed by David Levin.
-
- Tiny typo fixes for cpplint.py
- https://bugs.webkit.org/show_bug.cgi?id=27530
-
- * Scripts/modules/cpplint.py:
-
-2009-07-22 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by David Levin.
-
- run-webkit-lint checks code which are not changed
- https://bugs.webkit.org/show_bug.cgi?id=27529
-
- Add check if the line is newly added.
-
- * Scripts/run-webkit-lint:
-
-2009-07-22 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by David Levin.
-
- run-webkit-lint should have --git-commit option
- https://bugs.webkit.org/show_bug.cgi?id=27528
-
- * Scripts/modules/cpplint.py:
- * Scripts/run-webkit-lint:
-
-2009-07-22 Peter Kasting <pkasting@google.com>
-
- Reviewed by David Kilzer.
-
- https://bugs.webkit.org/show_bug.cgi?id=27323
- Factor svn-create-patch's "determineSvnRoot()" into a function in
- VCSUtils.pm so commit-log-editor can use it too.
-
- * Scripts/VCSUtils.pm: Add determineSVNRoot().
- * Scripts/commit-log-editor: Use determineSVNRoot() instead of old
- code (which didn't work as well).
- * Scripts/svn-create-patch: Remove determineSvnRoot() (moved).
-
-2009-07-22 Jakob Petsovits <jakob.petsovits@torchmobile.com>
-
- Reviewed by Adam Treat.
-
- Fix false positives in namespace indentation checks.
- https://bugs.webkit.org/show_bug.cgi?id=27567
-
- The regular expression detecting goto labels (in order
- to skip those) was too permissive, which caused other
- code like "Foo::Bar()" to be treated as a label too,
- thereby not stopping the processing loop as expected.
-
- Now comes with a stricter regexp, and more demanding
- test cases to check for these issues.
-
- * Scripts/modules/cpplint.py:
- * Scripts/modules/cpplint_unittest.py:
-
-2009-07-22 Jakob Petsovits <jakob.petsovits@torchmobile.com>
-
- Reviewed by Adam Treat.
-
- Fix cpplint generating false positives for
- "primary" includes in headers.
- https://bugs.webkit.org/show_bug.cgi?id=27553
-
- Doing so by only flagging includes in header files
- as primary when the include filename exactly matches
- the header filename.
-
- * Scripts/modules/cpplint.py:
- * Scripts/modules/cpplint_unittest.py:
-
-2009-07-22 Jakob Petsovits <jakob.petsovits@torchmobile.com>
-
- Reviewed by Adam Treat.
-
- cpplint generates false positives for primary includes
- https://bugs.webkit.org/show_bug.cgi?id=27544
-
- Fix false positives for instances when cpplint would
- normally classify multiple includes as primary: After
- the first primary include, classify subsequent ones as
- "other" includes even if they look like primary ones.
-
- * Scripts/modules/cpplint.py:
- * Scripts/modules/cpplint_unittest.py:
-
-2009-07-22 Gabor Rapcsanyi <rapcsanyi.gabor@stud.u-szeged.hu>
-
- Reviewed by Simon Hausmann.
-
- Pass XAUTHORITY environment variable to $dumpTool as well.
-
- * Scripts/run-webkit-tests:
-
-2009-07-21 Jakob Petsovits <jakob.petsovits@torchmobile.com>
-
- Reviewed by Adam Treat.
-
- Add check for correct wtf includes to cpplint.
- https://bugs.webkit.org/show_bug.cgi?id=27524
-
- * Scripts/modules/cpplint.py:
- * Scripts/modules/cpplint_unittest.py:
-
-2009-07-21 Jakob Petsovits <jakob.petsovits@torchmobile.com>
-
- Reviewed by David Levin.
-
- Add checks for multi-line boolean operator placement.
- https://bugs.webkit.org/show_bug.cgi?id=27496
-
- * Scripts/modules/cpplint.py:
- * Scripts/modules/cpplint_unittest.py:
-
-2009-07-21 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by David Levin.
-
- We can't match implementation file and primary header exactly
- since we have so many files in WebKit where the port suffix
- is appended to the filename.
-
- Example: FooQt.cpp and the primary header is Foo.h.
-
- * Scripts/modules/cpplint.py:
-
-2009-07-21 Jakob Petsovits <jakob.petsovits@torchmobile.com>
-
- Reviewed by David Levin.
-
- Add checks for switch statement indentation to cpplint.
- https://bugs.webkit.org/show_bug.cgi?id=27508
-
- * Scripts/modules/cpplint.py:
- * Scripts/modules/cpplint_unittest.py:
-
-2009-07-21 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Adam Treat.
-
- Feature request: cpplint should check for braces - rule 2
- https://bugs.webkit.org/show_bug.cgi?id=27497
-
- Add the requested feature: Make sure { is on the same line
- as the foreach "keyword".
-
- * Scripts/modules/cpplint.py:
- * Scripts/modules/cpplint_unittest.py:
-
-2009-07-20 Jakob Petsovits <jakob.petsovits@torchmobile.com>
-
- Reviewed by David Levin.
-
- Add checks for namespace indentation to cpplint.
- https://bugs.webkit.org/show_bug.cgi?id=27461
-
- * Scripts/modules/cpplint.py:
- * Scripts/modules/cpplint_unittest.py:
-
-2009-07-20 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by David Levin.
-
- Add cpplint check for proper include order
- https://bugs.webkit.org/show_bug.cgi?id=27462
-
- Add a new check to cpplint to flag cases where the include section of a file
- does not match the mandated include order and style of the Webkit coding style
- guidelines.
-
- Add associated tests.
-
- * Scripts/modules/cpplint.py:
- * Scripts/modules/cpplint_unittest.py:
-
-2009-07-21 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by David Levin.
-
- Support lint for patches
- https://bugs.webkit.org/show_bug.cgi?id=27291
-
- Add run-webkit-lint script, which lints recent changes in local
- repository. Also, modified cpplint.py so that we don't need to
- specify verbose level for process_file().
-
- * Scripts/modules/cpplint.py:
- * Scripts/run-webkit-lint: Added.
-
-2009-07-21 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by David Levin.
-
- diff_parser should accept lines without trailing \n
- https://bugs.webkit.org/show_bug.cgi?id=27483
-
- Normalize the input lines by removing a trailing newline.
- Also, add a case for unittest for newly added files.
-
- * Scripts/modules/diff_parser.py:
- * Scripts/modules/diff_parser_unittest.py:
-
-2009-07-21 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by David Levin.
-
- cpplint.py's process_file() should accept customized error function
- https://bugs.webkit.org/show_bug.cgi?id=27487
-
- * Scripts/modules/cpplint.py:
-
-2009-07-21 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by David Levin.
-
- cpplint.py should have an interface to get global error count
- https://bugs.webkit.org/show_bug.cgi?id=27486
-
- * Scripts/modules/cpplint.py:
- * Scripts/modules/cpplint_unittest.py:
-
-2009-07-21 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by David Levin.
-
- cpplint's parse_argument should not exit even if no files are specified
- https://bugs.webkit.org/show_bug.cgi?id=27489
-
- * Scripts/modules/cpplint.py:
- * Scripts/modules/cpplint_unittest.py:
-
-2009-07-21 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by David Levin.
-
- diff_parser: s/add_deleted_line/add_old_line/g
- https://bugs.webkit.org/show_bug.cgi?id=27484
-
- * Scripts/modules/diff_parser.py:
-
-2009-07-21 Roland Steiner <rolandsteiner@google.com>
-
- Reviewed by David Levin.
-
- Add ENABLE_RUBY to list of build options
- https://bugs.webkit.org/show_bug.cgi?id=27324
-
- * Scripts/build-webkit: Added flag ENABLE_RUBY.
-
-2009-07-20 Mark Rowe <mrowe@apple.com>
-
- Reviewed by David D. Kilzer.
-
- Fix <https://bugs.webkit.org/show_bug.cgi?id=27482>.
- Bug 27482: svn-apply cannot apply patch generated by Windows SVN
-
- A regexp in svn-apply was treating everything prior to a \n as part of the
- file name. The native Windows SVN client uses \r\n for line endings which
- meant that the \r was being included in the file name. This defeated the
- special-case logic for ChangeLogs to apply them with an increased fuzz factor,
- meaning that the ChangeLog portions of such patches would fail to apply.
-
- Also updated two other regexps that look like they would hit similar problems
- with line-endings so that they will correctly handle patches from Windows SVN.
-
- * Scripts/svn-apply:
-
-2009-07-20 Peter Kasting <pkasting@google.com>
-
- Reviewed by Mark Rowe.
-
- https://bugs.webkit.org/show_bug.cgi?id=27468
- Back out r46060, which caused problems for some Apple developers.
-
- * DumpRenderTree/win/DumpRenderTree.vcproj:
- * DumpRenderTree/win/ImageDiff.vcproj:
- * DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin.vcproj:
-
-2009-07-20 Peter Kasting <pkasting@google.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=27323
- Use shorter, more correct code for determining the current directory,
- which works better with symbolic links on some systems. Also switch
- from checking repository root to checking UUID, to match scm.py.
-
- * Scripts/svn-create-patch:
-
-2009-07-20 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Dan Bernstein.
-
- Work around <rdar://problem/7075373> by ensuring that the URL is absolute before handing it off to CoreText.
-
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (activateFonts):
-
-2009-07-20 David Levin <levin@chromium.org>
-
- Reviewed by Adam Treat.
-
- Enable filename completion for run-webkit-test (added "-o default").
-
- * Scripts/webkit-tools-completion.sh:
-
-2009-07-20 Simon Hausmann <simon.hausmann@nokia.com>
-
- No review, just adding Gavin Barraclough as reviewer.
-
- * Scripts/modules/bugzilla.py:
-
-2009-07-20 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by David Levin.
-
- Add support for Qt's foreach to cpplint
- https://bugs.webkit.org/show_bug.cgi?id=27386
-
- * Scripts/modules/cpplint.py:
- * Scripts/modules/cpplint_unittest.py:
-
-2009-07-18 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- https://bugs.webkit.org/show_bug.cgi?id=27145
- [Gtk][REGRESSION] subframe-navigate-during-main-frame-load.html fails after r45615
-
- Reviewed by Gustavo Noronha.
-
- Normalize file URLs.
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (dumpHistoryItem):
-
-2009-07-17 Peter Kasting <pkasting@google.com>
-
- Reviewed by David Kilzer.
-
- https://bugs.webkit.org/show_bug.cgi?id=27323
- Further improve non-Cygwin SVN support.
-
- * Scripts/prepare-ChangeLog: Harmless change to be consistent with other
- places that consume whitespace at the end of svn output.
- * Scripts/resolve-ChangeLogs: Add support for SVN 1.6. Slightly
- optimize svn info parsing based on technique in svn-create-patch.
- Normalize paths and consume whitespace in the same way as
- prepare-ChangeLog, for Windows systems with a non-Cygwin SVN. Force
- diff and patch to run in binary mode so that they won't
- "intelligently" screw up line endings.
-
-2009-07-18 Simon Fraser <simon.fraser@apple.com>
-
- Fix Tiger DRT build.
-
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (createWebViewAndOffscreenWindow):
- * DumpRenderTree/mac/PixelDumpSupportMac.mm:
-
-2009-07-17 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- DRT doesn't reliably snapshot composited layers
- https://bugs.webkit.org/show_bug.cgi?id=27399
-
- If we're doing an "onscreen" pixel capture, it means that we're snapshotting a view
- with composited content. In that case we need to force the view to display so that
- the composited layers are rendered to the screen.
-
- * DumpRenderTree/mac/PixelDumpSupportMac.mm:
- (createBitmapContextFromWebView):
-
-2009-07-17 Adam Barth <abarth@webkit.org>
-
- Reviewed by David Levin.
-
- bugzilla-tool does not understand nested SVN repos
- https://bugs.webkit.org/show_bug.cgi?id=27404
-
- Determine the root of the working copy by looking at SVN's UUIDs.
-
- * Scripts/modules/scm.py:
-
-2009-07-17 David Levin <levin@chromium.org>
-
- Reviewed by Mark Rowe.
-
- webkit-tools-completion.sh has two typos and sorting issues.
- https://bugs.webkit.org/show_bug.cgi?id=27401
-
- * Scripts/webkit-tools-completion.sh: Fix two typos "--dif" and "-clean".
- Also, sort all lists including items in the case statement and flags for
- the commands.
-
-2009-07-17 Peter Kasting <pkasting@google.com>
-
- Reviewed by David Kilzer.
-
- https://bugs.webkit.org/show_bug.cgi?id=27323
- Tweak some regexes for correctness.
-
- * Scripts/prepare-ChangeLog: Allow 1-character filenames (my previous
- change here didn't quite get things right).
- * Scripts/update-webkit: Detect conflicting ChangeLogs correctly by not
- including any trailing whitespace in the name "ChangeLog", and by
- normalizing paths before calling basename() to avoid confusing it.
- (normalizePath() copied from prepare-ChangeLog.)
-
-2009-07-17 Peter Kasting <pkasting@google.com>
-
- Reviewed by Steve Falkenburg.
-
- https://bugs.webkit.org/show_bug.cgi?id=27323
- Only add Cygwin to the path when it isn't already there. This avoids
- causing problems for people who purposefully have non-Cygwin versions of
- executables like svn in front of the Cygwin ones in their paths.
-
- * DumpRenderTree/win/DumpRenderTree.vcproj:
- * DumpRenderTree/win/ImageDiff.vcproj:
- * DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin.vcproj:
-
-2009-07-17 David Levin <levin@chromium.org>
-
- Reviewed by Adam Treat.
-
- WebKit should have a bash completion script to aid with common commands.
- https://bugs.webkit.org/show_bug.cgi?id=27374
-
- * Scripts/webkit-tools-completion.sh: The script which enables option completion
- for several WebKit command line scripts.
-
-2009-07-17 Peter Kasting <pkasting@google.com>
-
- Reviewed by David Kilzer.
-
- https://bugs.webkit.org/show_bug.cgi?id=27323
- Avoid error spew on Macs, and fix a few other tiny details.
-
- * Scripts/svn-create-patch:
-
-2009-07-17 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by Dave Levin.
-
- https://bugs.webkit.org/show_bug.cgi?id=27377
- This makes cpplint complain about this for instance:
-
- if (true)
- {
- int foo;
- }
-
- Add the appropriate unit tests.
-
- * Scripts/modules/cpplint.py:
- * Scripts/modules/cpplint_unittest.py:
-
-2009-07-17 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by Dave Levin.
-
- https://bugs.webkit.org/show_bug.cgi?id=27377
- Don't filter whitespace at the end of the line. This is not
- explicitly a rule of webkit coding style, but there is no reason
- not to warn of this common style problem.
-
- Don't filter whitespace newline. Now, cpplint will complain
- about the following situation:
-
- if (true) {
- doSomething();
- doSomethingAgain();
- }
- else
- doSomething();
-
- Which is a webkit coding style rule violation.
-
- * Scripts/modules/cpplint.py:
-
-2009-07-17 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by Dave Levin.
-
- https://bugs.webkit.org/show_bug.cgi?id=27377
- Move this comment to where it belongs.
-
- * Scripts/modules/cpplint_unittest.py:
-
-2009-07-17 Brent Fulgham <bfulgham@webkit.org>
-
- Reviewed by Adam Roben.
-
- Correct crash in WinLauncher due to improper mixing of BSTR
- and TCHAR types.
- https://bugs.webkit.org/show_bug.cgi?id=27381
-
- * WinLauncher/WinLauncher.cpp:
- (loadURL): Perform SysReAllocString to update the BSTR with
- the contents of the TCHAR string.
-
-2009-07-17 David Levin <levin@chromium.org>
-
- Reviewed by Adam Treat.
-
- cpplint should flag usages of NULL.
- https://bugs.webkit.org/show_bug.cgi?id=27341
-
- * Scripts/modules/cpplint.py: Add the check for NULL test and call it.
- Make the collapse_strings method public.
- * Scripts/modules/cpplint_unittest.py: Add several tests to verify
- the check for NULL behavior. Adjust existing tests due to the
- new NULL check:
- 1. Several had NULL removed (or were just removed completely).
- 2. Two tests now do an assert that allows the caller to check
- that a particular error is one of several that was returned.
-
-2009-07-17 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by David Levin.
-
- Add a parser of patches for linter.
- https://bugs.webkit.org/show_bug.cgi?id=27363
-
- Adds a simple parser for unified diff format.
-
- * Scripts/modules/diff_parser.py: Added.
- * Scripts/modules/diff_parser_unittest.py: Added.
-
-2009-06-30 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Simon Hausmann.
-
- [GTK+] Remove check to be loadable in firefox
- https://bugs.webkit.org/show_bug.cgi?id=27345
-
- if (aMozillaVTable->size < sizeof (NPNetscapeFuncs))
- fails in firefox but no other example in the mozilla tree is
- doing that check. Remove and be happy.
-
- * DumpRenderTree/gtk/TestNetscapePlugin/TestNetscapePlugin.cpp:
- (NP_Initialize):
-
-2009-07-17 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by Simon Hausmann.
-
- Something about having a single TAB in a style checking tool like this
- is equivalent to nails on a chalk board to me...
-
- * Scripts/modules/cpplint.py:
-
-2009-07-17 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
-
- Reviewed by Simon Hausmann.
-
- Overwrite the plugin directories for the DRT.
- Part of https://bugs.webkit.org/show_bug.cgi?id=27215
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::DumpRenderTree::DumpRenderTree):
-
-2009-07-16 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by David Levin.
-
- Add --web-sockets flag and ENABLE_WEB_SOCKETS define.
- https://bugs.webkit.org/show_bug.cgi?id=27206
-
- Add --web-sockets flag.
-
- * Scripts/build-webkit: add --web-sockets flag.
-
-2009-07-16 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by Dave Levin.
-
- cpplint should check for one line control clauses that are surrounded
- by braces
- https://bugs.webkit.org/show_bug.cgi?id=27354
-
- * Scripts/modules/cpplint.py: Added the new lint check.
- * Scripts/modules/cpplint_unittest.py: Add tests for the new lint check
- and fix the other tests as they were not passing this new lint check.
-
-2009-07-16 Peter Kasting <pkasting@google.com>
-
- Reviewed by David Kilzer.
-
- https://bugs.webkit.org/show_bug.cgi?id=27323
- Improve support for WebKit checkouts hosted inside other checkouts
- (possible for some ports, e.g. Chromium).
-
- * Scripts/svn-create-patch: Determine SVN root by looking for Repository
- Root string and aborting when it's missing or different than what
- we've already seen.
-
-2009-07-16 Peter Kasting <pkasting@google.com>
-
- Reviewed by Adam Roben.
-
- https://bugs.webkit.org/show_bug.cgi?id=27323
- Improve support for non-Cygwin SVNs on Windows.
-
- * Scripts/commit-log-editor: Modify regex so that trailing whitespace
- (e.g. \r) isn't included in filenames.
- * Scripts/prepare-ChangeLog: Fix a case of adding "\n" to the ChangeLog
- without normalizing. Normalize file paths early instead of late so
- all stages of the script work. Modify regexes so that trailing
- whitespace (e.g. \r) isn't included in filenames.
- * Scripts/svn-create-patch: Use a regex instead of chomp so we cut off
- line endings even if they don't match Perl's.
-
-2009-07-16 Joseph Pecoraro <joepeck02@gmail.com>
-
- Reviewed by Darin Adler.
-
- WebKitTools/Scripts/svn-create-patch is broken
- https://bugs.webkit.org/show_bug.cgi?id=27328
-
- * Scripts/svn-create-patch: one line fix for unusual perl behavior
-
-2009-07-16 David Levin <levin@chromium.org>
-
- Reviewed by David Kilzer.
-
- cpplint should check for equality comparisons to 0/true/false
- https://bugs.webkit.org/show_bug.cgi?id=27333
-
- * Scripts/modules/cpplint.py: Added the new lint check.
- * Scripts/modules/cpplint_unittest.py: Add tests for the new lint check
- and fix a regex that in another unit test that caused it to fail when
- you have a directory with a number in it (like WebKit-2)
-
-2009-07-16 David D. Kilzer <ddkilzer@webkit.org>
-
- <http://webkit.org/b/27241> bugzilla-tool post-commits silently fails with bad args
-
- Reviewed by Eric Seidel.
-
- * Scripts/bugzilla-tool:
- (PostCommitsAsPatchesToBug.execute): Added more error checking
- when consuming arguments.
-
-2009-07-16 David D. Kilzer <ddkilzer@webkit.org>
-
- TOOL FIX: scm.py: CommitMessage.message is ambiguous
-
- Fixes this error when running bugzilla-tool apply-patches
- --local-commit:
-
- File "bugzilla-tool", line 188, in apply_patches
- scm.commit_locally_with_message(commit_message.message() or patch['name'])
- TypeError: 'list' object is not callable
-
- * Scripts/modules/scm.py: After r45940 (and r45971), rename
- CommitMessage.message attribute to CommitMessage.message_lines.
- (CommitMessage.__init__):
- (CommitMessage.body):
- (CommitMessage.description):
- (CommitMessage.message):
- (CommitMessage.parse_bug_id):
-
-2009-07-16 David D. Kilzer <ddkilzer@webkit.org>
-
- TOOL FIX: bugzilla-tool: import CommitMessage class
-
- * Scripts/bugzilla-tool: After r45940, the CommitMessage class
- needs to be imported for commit_message_for_this_commit().
-
-2009-07-16 David Levin <levin@chromium.org>
-
- Reviewed by Maciej Stachowiak.
-
- prepare-ChangeLog should display the --bug option in its help text.
- https://bugs.webkit.org/show_bug.cgi?id=27334
-
- * Scripts/prepare-ChangeLog: Added the help text.
-
-2009-07-15 Darin Adler <darin@apple.com>
-
- * Scripts/do-webcore-rename: Check in the version used to
- rename parseURL to deprecatedParseURL.
-
-2009-07-10 David Kilzer <ddkilzer@apple.com>
-
- bugzilla-tool: create CommitMessage class
-
- Reviewed by Eric Seidel.
-
- Create a CommitMessage class to encapsulate related code.
-
- * Scripts/bugzilla-tool:
- (bug_id_from_commit_message): Moved to
- CommitMessage.parse_bug_id().
- (commit_message_for_this_commit): Return a CommitMessage.
- (ApplyPatchesFromBug.apply_patches): Use CommitMessage.message().
- (LandPatchesFromBugs.build_and_commit): Ditto.
- (CommitMessageForCurrentDiff.execute): Ditto.
- (PostCommitsAsPatchesToBug.execute): Switched from
- Git.commit_message_for_commit() to
- Git.commit_message_for_local_commit(). Switched from
- bug_id_from_commit_message() to CommitMessage.parse_bug_id().
-
- * Scripts/modules/scm.py:
- (first_non_empty_line_after_index): Added.
- (CommitMessage.__init__): Added.
- (CommitMessage.body): Added.
- (CommitMessage.description): Added.
- (CommitMessage.message): Added.
- (CommitMessage.parse_bug_id): Added. Moved from
- bug_id_from_commit_message() in bugzilla-tool.
- (Git.commit_message_for_local_commit): Renamed from
- commit_message_for_commit(). Return a CommitMessage.
-
-2009-07-15 Joseph Pecoraro <joepeck02@gmail.com>
-
- Reviewed by David Kilzer.
-
- bugzilla-tool/svn-apply can't handle patches made from a non-root directory
- https://bugs.webkit.org/show_bug.cgi?id=26999
-
- * Scripts/svn-create-patch:
-
-2009-07-15 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by David Levin.
-
- Move cpplint.py to module directory
- https://bugs.webkit.org/show_bug.cgi?id=27302
-
- * Scripts/modules/cpplint.py: Renamed from WebKitTools/Scripts/cpplint.py.
- * Scripts/modules/cpplint_unittest.py: Renamed from WebKitTools/Scripts/cpplint_unittest.py.
-
-2009-07-15 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Adam Treat.
-
- https://bugs.webkit.org/show_bug.cgi?id=27295
-
- Re-implement QWebPage::shouldInterruptJavaScript to disable
- js interruption and avoid showing a messagebox during Qt DRT
- runs when script execution takes a bit longer.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::WebPage::shouldInterruptJavaScript): Return false
- in re-implemented slot.
-
-2009-07-15 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
-
- Reviewed by Jan Alonzo.
-
- Fix the DumpRenderTree GTK+ build
- https://bugs.webkit.org/show_bug.cgi?id=27290
-
- Set USE_SYSTEM_MALLOC macro for the DumpRenderTree build to
- disable using TCmalloc in DumpRenderTree.
-
- * GNUmakefile.am:
-
-2009-07-14 Steve Falkenburg <sfalken@apple.com>
-
- Reorganize JavaScriptCore headers into:
- API: include/JavaScriptCore/
- Private: include/private/JavaScriptCore/
-
- Reviewed by Darin Adler.
-
- * DumpRenderTree/win/DumpRenderTree.vcproj:
- * DumpRenderTree/win/ImageDiff.vcproj:
-
-2009-07-14 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by David Levin.
-
- WebKit needs a style linting tool
- https://bugs.webkit.org/show_bug.cgi?id=25884
-
- Modifies cpplint (http://google-styleguide.googlecode.com/svn/trunk/cpplint/)
- based on WebKit's style guide.
-
- * Scripts/cpplint.py: Added.
- * Scripts/cpplint_unittest.py: Added.
-
-2009-07-14 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] DumpRenderTree no longer builds with Qt4.4
- https://bugs.webkit.org/show_bug.cgi?id=27257
-
- Flag Qt 4.5 dependency to allow building with Qt 4.4.
-
- * DumpRenderTree/qt/main.cpp:
- (main):
-
-2009-07-13 Brent Fulgham <bfulgham@webkit.org>
-
- Reviewed by Adam Roben.
-
- Add new configuration flag for redistributable Windows build.
- https://bugs.webkit.org/show_bug.cgi=27087
-
- * DumpRenderTree/config.h: Check for presence of WIN_CAIRO and
- select appropriate configuration. Defaults to standard Apple build.
- * DumpRenderTree/win/DumpRenderTree.vcproj: Add new WinCairo.vsprops
- to Debug_Cairo and Release_Cairo targets.
-
-2009-07-13 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Ariya Hidayat.
-
- Always run the Qt DRT with the raster graphicssystem on X11, for
- increased stability in the image based tests, in particular canvas.
-
- * DumpRenderTree/qt/main.cpp:
- (main):
-
-2009-07-13 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Ariya Hidayat.
-
- Fix test netscape plugin usage with the Qt DRT.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::WebPage::WebPage): Enable plugins in the settings.
- * Scripts/run-webkit-tests: Set the QT_WEBKIT_PLUGIN path to the correct build
- directory to make Qt DRT find the test netscape plugin.
-
-2009-07-13 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Ariya Hidayat.
-
- Make sure to disable the fixed contents size when resetting the page/view
- state between test runs, to avoid side-effects.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::DumpRenderTree::open): Call setFixedContentsSize() with an invalid
- QSize to disable the fixed layout.
-
-2009-07-13 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Ariya Hidayat.
-
- When creating new windows, don't forget to connect the new
- page's main frame. This ensures that for example the layoutTestController
- is also available there.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::DumpRenderTree::createWindow):
-
-2009-07-13 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Ariya Hidayat.
-
- Added support for LayoutTestController.setPrivateBrowsingEnabled.
-
- * DumpRenderTree/qt/jsobjects.cpp:
- (LayoutTestController::reset):
- (LayoutTestController::setPrivateBrowsingEnabled):
- * DumpRenderTree/qt/jsobjects.h:
-
-2009-07-13 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Ariya Hidayat.
-
- Added support for database callbacks, storage quota setting,
- and clearing of all databases.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::DumpRenderTree::DumpRenderTree):
- (WebCore::DumpRenderTree::dumpDatabaseQuota):
- * DumpRenderTree/qt/DumpRenderTree.h:
- * DumpRenderTree/qt/jsobjects.cpp:
- (LayoutTestController::reset):
- (LayoutTestController::setDatabaseQuota):
- (LayoutTestController::clearAllDatabases):
- * DumpRenderTree/qt/jsobjects.h:
- (LayoutTestController::shouldDumpDatabaseCallbacks):
- (LayoutTestController::dumpDatabaseCallbacks):
- * DumpRenderTree/qt/main.cpp:
- (main):
-
-2009-07-13 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Ariya Hidayat.
-
- Setup the path in the Qt DRT for HTML 5 Databases, to enable some of
- the storage layout tests.
-
- * DumpRenderTree/qt/main.cpp:
- (main):
-
-2009-07-13 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Ariya Hidayat.
-
- Make the test output more robust by dumping only when the main
- frame finishes loading, instead of when _any_ frame finishes.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::DumpRenderTree::DumpRenderTree): Connect to the
- main frame's loadFinished() signal instead of the page's one.
-
-2009-07-13 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Ariya Hidayat.
-
- Implement the GCController DRT interface.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::DumpRenderTree::DumpRenderTree): Allocate the GCController.
- (WebCore::DumpRenderTree::initJSObjects): Register the interface with the JS engine.
- * DumpRenderTree/qt/DumpRenderTree.h: Declare m_gcController.
- * DumpRenderTree/qt/jsobjects.cpp: Implement GCController.
- (GCController::GCController):
- (GCController::collect):
- (GCController::collectOnAlternateThread):
- (GCController::getJSObjectCount):
- * DumpRenderTree/qt/jsobjects.h: Declare GCController.
-
-2009-07-13 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Ariya Hidayat.
-
- Implement the GCController DRT interface in the Qt DRT.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::DumpRenderTree::DumpRenderTree): Allocate the GCController.
- (WebCore::DumpRenderTree::initJSObjects): Register the interface with the JS engine.
- * DumpRenderTree/qt/DumpRenderTree.h: Declare m_gcController.
- * DumpRenderTree/qt/jsobjects.cpp: Implement GCController.
- (GCController::GCController):
- (GCController::collect):
- (GCController::collectOnAlternateThread):
- (GCController::getJSObjectCount):
- * DumpRenderTree/qt/jsobjects.h: Declare GCController.
+ (LayoutTestController::setEditingBehavior):
+ * wx/build/settings.py:
-2009-07-13 Jan Michael Alonzo <jmalonzo@webkit.org>
+2010-05-24 Antonio Gomes <tonikitoo@webkit.org>
- https://bugs.webkit.org/show_bug.cgi?id=26718 [Gtk] Add support for javascript windows for DRT
+ Reviewed by Eric Seidel and Kent Tamura (for the Chromium part).
- Reviewed by Gustavo Noronha and Xan Lopez.
+ editingBehavior settings needs to be set back to a reasonable default between tests
+ https://bugs.webkit.org/show_bug.cgi?id=39433
- Support running of tests that open and close JS windows automatically.
+ Similarly to r59861, hard code the default setting during reset for Gtk and Chromium,
+ so that the serialized version of the setting stays in sync with expectations.
+ * DumpRenderTree/chromium/TestShell.cpp:
+ (TestShell::resetWebSettings):
* DumpRenderTree/gtk/DumpRenderTree.cpp:
- (dumpFramesAsText):
- (dumpBackForwardListForAllWebViews):
- (resetWebViewToConsistentStateBeforeTesting):
- (dump):
- (runTest):
- (webViewClose):
- (createWebView):
- (webViewCreate):
- (main):
- * DumpRenderTree/gtk/DumpRenderTreeGtk.h:
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::windowCount):
- (LayoutTestController::setPopupBlockingEnabled):
-
-2009-07-13 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Maciej Stachowiak.
-
- prepare-ChangeLog should decode HTML entities in short description
- https://bugs.webkit.org/show_bug.cgi?id=27122
-
- Decode the short description by adding a function which decodes HTML
- entities. It can decode &, <, >, ", and ' . They may be sufficient
- as the description seems to be encoded by xml_quote in
- http://mxr.mozilla.org/bugzilla/source/Bugzilla/Util.pm
-
- * Scripts/prepare-ChangeLog:
-
-2009-07-13 Drew Wilson <atwilson@google.com>
-
- Reviewed by David Levin.
-
- Add ENABLE(SHARED_WORKERS) flag and define SharedWorker APIs
- https://bugs.webkit.org/show_bug.cgi?id=26932
-
- Added support for --shared-workers (turned off by default)
-
- * Scripts/build-webkit:
-
-2009-07-12 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- https://bugs.webkit.org/show_bug.cgi?id=27196
- Update check-for-global-initializers for the renaming for bidi.cpp to
- RenderBlockLineLayout.cpp
-
- * Scripts/check-for-global-initializers:
-
-2009-07-11 Simon Fraser <simon.fraser@apple.com>
-
- Enable support for accelerated compositing and 3d transforms on Leopard.
- <https://bugs.webkit.org/show_bug.cgi?id=20166>
- <rdar://problem/6120614>
-
- Reviewed by Oliver Hunt.
-
- * Configurations/FeatureDefines.xcconfig:
- * wtf/Platform.h:
-
-2009-07-10 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/27173> svn-apply: Fix typo in git command used to find deleted files
-
- Reviewed by Eric Seidel.
-
- * Scripts/svn-apply:
- (scmWillDeleteFile): Changed 'head' to 'HEAD'.
-
-2009-07-10 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/27167> bugzilla-tool: hide help for unsupported commands
-
- Reviewed by Eric Seidel.
-
- When bugzilla-tool -h|--help is invoked in an svn working
- directory, don't print help for commands that are only supported
- on git working directories.
-
- * Scripts/bugzilla-tool:
- (Command.__init__): Added requires_local_commits argument with a
- default of False. Set self.requires_local_commits attribute.
- (PostCommitsAsPatchesToBug.execute): Removed
- SCM.supports_local_commits() check since this is now handled by
- BugzillaTool.main().
- (PostCommitsAsPatchesToBug.__init__): Added
- requires_local_commits=True argument to Command.__init__().
- (BugzillaTool.commands_usage): Don't print help for commands if
- they require local commits and the current SCM doesn't support
- them.
- (BugzillaTool.main): If command_object requires local commits
- and the current SCM doesn't, exit with an error message.
-
-2009-07-10 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/27117> bugzilla-tool: use Mac OS X keychain for authentication
-
- Reviewed by Eric Seidel.
-
- Try reading credentials from git config first, then keychain if
- running on Mac OS X, else prompt at the command-line.
-
- * Scripts/modules/bugzilla.py: Added "import platform".
- (credentials_from_git): Added.
- (credentials_from_keychain): Added.
- (is_mac_os_x): Added.
- (read_credentials): Added.
- (Bugzilla.__init__): Moved instance attribute bug_server to a
- static attribute named bug-server_url.
- (Bugzilla.bug_server_host): Added. Extracted host name from
- bug_server_url.
- (Bugzilla.bug_server_regex): Updated to be created using
- bug_server_host.
- (Bugzilla.bug_server_url): Renamed from bug_server.
- (Bugzilla.bug_url_for_bug_id): Updated for renaming of
- bug_server to bug_server_url.
- (Bugzilla.attachment_url_for_id): Ditto.
- (Bugzilla.fetch_bug_ids_from_commit_queue): Ditto.
- (Bugzilla.authenticate): Ditto. Updated to use
- read_credentials().
- (Bugzilla.add_patch_to_bug): Ditto.
-
-2009-07-10 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/27115> bugzilla-tool: extract duplicate logging methods into a module
-
- Reviewed by Adam Roben.
-
- * Scripts/bugzilla-tool: Removed error() and log() methods and
- added import of new logging module.
- * Scripts/modules/bugzilla.py: Ditto. Removed "import sys".
- * Scripts/modules/scm.py: Ditto.
-
- * Scripts/modules/logging.py: Added.
- (log): Added.
- (error): Added. Prefix error messages with "ERROR: ".
-
-2009-07-10 Adam Roben <aroben@apple.com>
-
- Sort all our Xcode projects
-
- Accomplished using sort-Xcode-project-file.
-
- Requested by Dave Kilzer.
-
- * DrawTest/DrawTest.xcodeproj/project.pbxproj:
- * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
- * WebKitLauncher/WebKitLauncher.xcodeproj/project.pbxproj:
-
-2009-07-10 Adam Roben <aroben@apple.com>
-
- Print prepare-ChangeLog's reminders to STDERR so they don't end up in
- the diff output
-
- Fixes REGRESSION (r45647): prepare-ChangeLog -d puts non-diff lines
- into the diff
- <https://bugs.webkit.org/show_bug.cgi?id=27150>
-
- Reviewed by Maciej Stachowiak.
-
- * Scripts/prepare-ChangeLog:
-
-2009-07-08 Adam Roben <aroben@apple.com>
-
- Use case-insensitive comparisons when sorting Xcode project files
-
- This matches the sorting used in Xcode's files list.
-
- Fixes Bug 27079: sort-Xcode-project-file should sort
- case-insensitively, to match Xcode's files list
- <https://bugs.webkit.org/show_bug.cgi?id=27079>
-
- Reviewed by Dave Kilzer.
-
- * Scripts/sort-Xcode-project-file:
- (sortChildrenByFileName):
- (sortFilesByFileName):
- Lowercase the strings before comparing them so that the comparison
- will be case-insensitive.
-
-2009-07-08 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Holger Freyther.
-
- https://bugs.webkit.org/show_bug.cgi?id=27109
-
- Fix side-effects in the Qt DRT with tests using application fonts.
-
- Detect if a test used application fonts and re-initialize the fontconfig
- application fontset accordingly.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::DumpRenderTree::open): call initializeFonts and remove all application fonts
- after running a testcase.
- (WebCore::DumpRenderTree::initializeFonts): Moved fontconfig initialization code
- here from main.
- * DumpRenderTree/qt/DumpRenderTree.h: Declare initializeFonts.
- * DumpRenderTree/qt/main.cpp:
- (main): Moved fontconfig initialization code to DRT::initializeFonts.
-
-2009-07-10 Antonio Gomes <antonio.gomes@openbossa.org>
-
- Reviewed by Simon Hausmann.
-
- [QT] [ARM] Add pkg-config entry for FontConfig on DRT.pro
- https://bugs.webkit.org/show_bug.cgi?id=26990
-
- Missing pkg-config entry for FontConfig in DRT.pro causes some compilers to
- not link fine against FontConfig bits.
-
- * DumpRenderTree/qt/DumpRenderTree.pro:
-
-2009-07-09 Drew Wilson <atwilson@google.com>
-
- Reviewed by Alexey Proskuryakov.
-
- https://bugs.webkit.org/show_bug.cgi?id=26903
-
- Turned on CHANNEL_MESSAGING by default because the MessageChannel API
- can now be implemented for Web Workers and is reasonably stable.
-
- * Scripts/build-webkit:
-
-2009-07-09 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/27114> bugzilla-tool: Parse short bug URL from commit log messages
-
- Reviewed by Adam Roben.
-
- * Scripts/bugzilla-tool:
- (bug_id_from_commit_message): Check for the short bug URL before
- checking for the longer bugs.webkit.org URL.
-
-2009-07-08 David Kilzer <ddkilzer@apple.com>
-
- Bug 27062: bugzilla-tool: post-commits should read bug id from commit log and actually work
-
- <https://bugs.webkit.org/show_bug.cgi?id=27062>
-
- Reviewed by Eric Seidel.
-
- Removed the required BUGID argument from the "post-commits"
- command and replaced it with a -b|--bug-id switch or parsing the
- commit log message for the bug URL. Fixed a bug in the
- "post-commits" that would ignore the COMMITISH used and post a
- patch of local changes against HEAD. Added --no-commit switch
- to disable using the bulk of the ChangeLog entry as the comment
- for the new patch.
-
- * Scripts/bugzilla-tool:
- (bug_id_from_commit_message): Added. Returns a bug id from the
- commit log message, thus enforcing the need for a bug URL in the
- message.
- (PostCommitsAsPatchesToBug.__init__): Updated help description
- to match new behavior of pulling bug ids from commit log
- messages instead of from the command line. Added -b|--bug-id
- switch and --no-comment switch.
- (PostCommitsAsPatchesToBug.execute): Updated to use
- bug_id_from_commit_message() to pull bug ids from commit log
- messages. Also switched from SCM.create_patch() to use
- SCM.create_patch_from_local_commit() to fix a bug where local
- repository changes were posted as a patch instead of the
- specific COMMITISH. Fall back to -b|--bug-id if no URL is found
- in the commit log message. Don't specify a comment for the
- patch if --no-comment is used. Set cherry_pick argument to True
- for Git.commit_ids_from_range_arguments() since we don't want
- implicit commit range behavior for this command.
-
- * Scripts/modules/bugzilla.py: Import datetime module.
- (timestamp): Added. Returns a timestamp in the form of
- "YYYYMMDDhhmmss".
- (Bugzilla.bug_server_regex): Added static attribute.
- (Bugzilla.add_patch_to_bug): Construct a more meaningful patch
- file name using the bug_id and timestamp().
-
- * Scripts/modules/scm.py:
- (SCM.create_patch_from_local_commit): Added.
- (Git.create_patch_from_local_commit): Added. Runs "git diff" to
- return a patch for the given commit_id.
-
-2009-07-08 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Mark Rowe.
-
- Make prepare-ChangeLog less shouty
- https://bugs.webkit.org/show_bug.cgi?id=27098
-
- * Scripts/prepare-ChangeLog:
-
-2009-07-08 David Kilzer <ddkilzer@apple.com>
-
- Bug 27083: bugzilla.py: Clean up bug_server use
-
- <https://bugs.webkit.org/show_bug.cgi?id=27083>
-
- Reviewed by Darin Adler.
-
- * Scripts/modules/bugzilla.py:
- (Bugzilla.fetch_bug_ids_from_commit_queue): Use bug_server
- instead of hard-coding the URL.
- (Bugzilla.authenticate): Remove extra '/' before URL path.
- (Bugzilla.add_patch_to_bug): Ditto.
-
-2009-07-08 Brent Fulgham <bfulgham@webkit.org>
-
- Build fix for Windows Cairo.
-
- Cairo build was incorrectly #including the PixelDumpSupportCG.h
- instead of PixelDumpSupportCairo.h
-
- * DumpRenderTree/win/PixelDumpSupportWin.cpp: Correct #include
-
-2009-07-08 David Faure <faure@kde.org>
-
- Reviewed by Ariya Hidayat.
-
- Small documentation improvement for build-webkit --help
-
- * Scripts/build-webkit: mention --debug option
-
-2009-07-07 Brady Eidson <beidson@apple.com>
-
- Tiger build fix, work around missing NSString API.
-
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (dumpHistoryItem):
-
-2009-07-07 Brady Eidson <beidson@apple.com>
-
- Reviewed by Mark Rowe.
-
- https://bugs.webkit.org/show_bug.cgi?id=27049 - In dumpBackForwardList() mode, DRT should normalize file urls.
-
- Make the dump of a history item agnostic to the layout of filesystem on the testing machine.
-
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (dumpHistoryItem):
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (dumpHistoryItem):
-
-2009-07-07 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Rubber-stamped by Simon Hausmann.
-
- Correct git url of the Qt test-fonts.
-
- * DumpRenderTree/qt/main.cpp:
- (main):
-
-2009-07-07 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Holger Freyther.
-
- Clear the main frame's name between loading pages, like in r36652. This
- reduces the side-effects between test cases.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::DumpRenderTree::open):
-
-2009-07-06 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Holger Freyther.
-
- Fix various layout tests with Qt's DRT.
-
- Remember to set the focus on the web page before
- loading.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::DumpRenderTree::open):
-
-2009-07-07 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Tor Arne Vestbø and Holger Freyther.
-
- Fix timeout timer handling in Qt DRT.
-
- Use QBasicTimer instead of startTimer/killTimer, to fix the
- problem that starting the timeout timer did not stop a
- previously started timer, causing multiple emissions of timeout.
- The timerEvent() implementation now also checks the timer id, to
- protect against double timeouts.
-
- * DumpRenderTree/qt/jsobjects.cpp:
- (LayoutTestController::LayoutTestController):
- (LayoutTestController::reset):
- (LayoutTestController::waitUntilDone):
- (LayoutTestController::notifyDone):
- (LayoutTestController::timerEvent):
- * DumpRenderTree/qt/jsobjects.h:
-
-2009-07-06 Eric Seidel <eric@webkit.org>
-
- Reviewed by Maciej Stachowiak.
-
- bugzilla-tool fails to close bugs with bugzilla 3.0
- https://bugs.webkit.org/show_bug.cgi?id=27008
-
- Update bugzilla.py to match changes in the bug page "changeform"
- Update scm.py to add bug_ids to attachments to make error reporting nicer.
-
- * Scripts/modules/bugzilla.py:
- * Scripts/modules/scm.py:
-
-2009-07-03 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Eric Seidel.
-
- bugzilla-tool forgot how to obsolete patches
- https://bugs.webkit.org/show_bug.cgi?id=26951
-
- * Scripts/modules/bugzilla.py:
-
-2009-07-02 Brent Fulgham <bfulgham@webkit.org>
-
- Unreviewed build fix (Cairo this time) for DumpRenderTree.
- Put Cairo code back in, but use original include order
- for the CG stuff to avoid compile issues.
-
- * DumpRenderTree/win/PixelDumpSupportWin.cpp:
- (createBitmapContextFromWebView):
-
-2009-07-02 Eric Seidel <eric@webkit.org>
-
- Correct blatant typo (missing []), no review.
-
- * Scripts/modules/scm.py:
-
-2009-07-02 Brent Fulgham <bfulgham@webkit.org>
-
- Windows build fix, no review.
-
-
- Reverting PixelDumpSupportWin.cpp change to avoid strange
- error on the build-bot.
-
- * DumpRenderTree/win/PixelDumpSupportWin.cpp:
- (createBitmapContextFromWebView):
-
-2009-07-02 Brent Fulgham <bfulgham@webkit.org>
-
- Build fix, no review.
-
- * DumpRenderTree/config.h:
-
-2009-07-02 Eric Seidel <eric@webkit.org>
-
- Reviewed by David Levin.
-
- bugzilla-tool needs to handle login failure
- https://bugs.webkit.org/show_bug.cgi?id=26913
-
- We now exit(1) on login failure.
-
- * Scripts/modules/bugzilla.py:
-
-2009-06-30 Brent Fulgham <bfulgham@webkit.org>
-
- Reviewed by Adam Roben.
-
- Add build support for a Windows Cairo version of
- DumpRenderTree. Share as much logic between the
- CG and Cairo builds as possible.
- https://bugs.webkit.org/show_bug.cgi?id=26457
-
- * DumpRenderTree/PixelDumpSupport.cpp: Added.
- (dumpWebViewAsPixelsAndCompareWithExpected): Moved common logic
- from CG-specific file.
- (printPNG): Moved common logic from CG-specific file.
- * DumpRenderTree/PixelDumpSupport.h: Add declaration for new
- common printPNG function.
- * DumpRenderTree/cairo: Added.
- * DumpRenderTree/cairo/PixelDumpSupportCairo.cpp: Added.
- Implement cairo-specific logic for dealing with Cairo surfaces.
- (writeFunction):
- (printPNG): Cairo-specific PNG handling logic.
- (computeMD5HashStringForBitmapContext): New Cairo routine using
- the generic BitmapContext signature.
- (dumpBitmap): New function containing Cairo-specific portions of
- the dumping routine.
- * DumpRenderTree/cairo/PixelDumpSupportCairo.h: Added.
- Provide Cairo version of the BitmapContext structure so that
- dumping routines can work on an abstract type.
- (BitmapContext::createByAdoptingBitmapAndContext):
- (BitmapContext::~BitmapContext):
- (BitmapContext::cairoContext):
- (BitmapContext::BitmapContext):
- * DumpRenderTree/cg/PixelDumpSupportCG.cpp:
- (printPNG): CG-specific PNG handling logic.
- (computeMD5HashStringForBitmapContext): Revised to use generic
- BitmapContext signature.
- (dumpBitmap): New function containing CG-specific portions of
- the dumping routine.
- * DumpRenderTree/cg/PixelDumpSupportCG.h: Add new signatures.
- * DumpRenderTree/win/DumpRenderTree.cpp: Disable CFNetwork logic
- when building the non-CFNetwork version.
- (main):
- * DumpRenderTree/win/DumpRenderTree.vcproj:
- * DumpRenderTree/win/PixelDumpSupportWin.cpp:
- (createBitmapContextFromWebView): Provide parallel Cairo implementation
- of CG bitmap/context setup.
-
-2009-07-02 Eric Seidel <eric@webkit.org>
-
- No review, just adding Antti as a reviewer.
-
- * Scripts/modules/bugzilla.py:
-
-2009-07-02 Antonio Gomes <antonio.gomes@openbossa.org>
-
- Reviewed by Simon Hausmann.
-
- https://bugs.webkit.org/show_bug.cgi?id=26896
-
- [Qt] Set DRT's default fontsize to 13.
-
- * DumpRenderTree/qt/DumpRenderTree.cpp:
- (WebCore::WebPage::WebPage):
+ (resetDefaultsToConsistentValues):
-2009-07-01 Eric Seidel <eric@webkit.org>
+2010-05-24 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
- bugzilla-tool fails for SVN users
- https://bugs.webkit.org/show_bug.cgi?id=26914
-
- To fix this I moved svn from -F - to using -m
- In order for -m to work I had to move us off of shell=True
- To move off of shell=True all call sites for run_command
- which take args, need to pass their args as an list instead of a string.
-
- In order for the final bug update to work correctly, I had to
- abstract the way that we parse out revision numbers from the commit text.
-
- * Scripts/bugzilla-tool:
- * Scripts/modules/scm.py:
-
-2009-07-01 Eric Seidel <eric@webkit.org>
-
- Reviewed by Maciej Stachowiak.
-
- prepare-ChangeLog should have a --bug= argument and use it for url autofill
- https://bugs.webkit.org/show_bug.cgi?id=26383
-
- prepare-ChangeLog now knows how to grab the bug title from bugs.webkit.org
- I also added a bit more template text in an effort to get better ChangeLogs
- from casual contributers.
-
- * Scripts/prepare-ChangeLog:
-
-2009-07-01 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Roben.
-
- prepare-ChangeLog should fail when EMAIL_ADDRESS or REAL_NAME are missing:
- https://bugs.webkit.org/show_bug.cgi?id=26692
-
- I also made prepare-ChangeLog sanity-check names and email addresses a little.
- Names must contain a space, and email addresses must contain '@'
-
- Also "fixed" $email_address to $emailAddress. This script uses mixed variable name styles.
-
- * Scripts/prepare-ChangeLog:
-
-2009-07-01 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Beth Dakin.
-
- Bug 26900: AX: Manual spell check with Command-; does not bring up suggestions
- https://bugs.webkit.org/show_bug.cgi?id=26900
-
- Expose the ability to get the click point of an element through accessibility.
-
- * DumpRenderTree/AccessibilityUIElement.cpp:
- (getClickPointXCallback):
- (getClickPointYCallback):
- (AccessibilityUIElement::getJSClass):
- * DumpRenderTree/AccessibilityUIElement.h:
- * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
- (AccessibilityUIElement::clickPointX):
- (AccessibilityUIElement::clickPointY):
- * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
- (AccessibilityUIElement::clickPointX):
- (AccessibilityUIElement::clickPointY):
-
-2009-07-01 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Simon Fraser.
-
- Change how WebKitNightlyEnabler.dylib lies about Safari's identity to LaunchServices.
- This makes WebKit.app behave as expected when set as the default web browser on a wider
- range of OS versions.
-
- * WebKitLauncher/WebKitNightlyEnabler.m:
- (poseAsWebKitApp):
- (enableWebKitNightlyBehaviour):
-
-2009-07-01 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Simon Fraser.
-
- Shuffle some code around in preparation for a change to how poseAsWebKitApp works.
-
- * WebKitLauncher/WebKitNightlyEnabler.m:
- (systemVersion):
- (webKitLauncherBundle):
- (insideSafari4OnTigerTrampoline):
-
-2009-06-30 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Jan Alonzo.
-
- https://bugs.webkit.org/show_bug.cgi?id=26877
- [GTK] DRT fixes to pass new plugin test
-
- Silence compiler warnings.
-
- Newer GCC don't like using or returning a static string where a
- 'char*' is expected. Ideally we'd change the function signatures
- to return or take 'const char*' I suppose, but since we can't do
- that just cast the strings to 'char*'.
-
- * DumpRenderTree/gtk/TestNetscapePlugin/TestNetscapePlugin.cpp:
- (webkit_test_plugin_get_value):
-
-2009-06-30 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Jan Alonzo.
-
- https://bugs.webkit.org/show_bug.cgi?id=26877
- [GTK] DRT fixes to pass new plugin test
-
- Use the common pluginLog function instead of a local copy.
-
- * DumpRenderTree/gtk/TestNetscapePlugin/TestNetscapePlugin.cpp:
- (webkit_test_plugin_new_instance):
- (webkit_test_plugin_destroy_instance):
- (webkit_test_plugin_set_window):
- (webkit_test_plugin_handle_event):
-
-2009-06-30 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Jan Alonzo.
-
- https://bugs.webkit.org/show_bug.cgi?id=26877
- [GTK] DRT fixes to pass new plugin test
-
- Modify our DRT as done in bug #15457 to log logSrc as src in order
- to pass test plugins/netscape-plugin-map-data-to-src.html.
-
- * DumpRenderTree/gtk/TestNetscapePlugin/TestNetscapePlugin.cpp:
- (webkit_test_plugin_new_instance):
-
-2009-06-30 Adrien Nader <camaradetux@gmail.com>
-
- Reviewed by Jan Alonzo.
-
- [GTK] GtkLauncher depends on gtk+2-2.15 because of gtk_orientable_set_orientation()
- https://bugs.webkit.org/show_bug.cgi?id=26835
-
- * GtkLauncher/main.c:
- (create_toolbar):
-
-2009-06-30 Eric Seidel <eric@webkit.org>
-
- Typo fix only, no review.
-
- Fix typo causing failure during land-diff
-
- * Scripts/bugzilla-tool:
-
-2009-06-30 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Fix drawing of view background in pixel snapshots when using compositing.
- We still need to call -displayIfNeeded to ensure that the NSView drawing
- has happened.
-
- * DumpRenderTree/mac/PixelDumpSupportMac.mm:
- (createBitmapContextFromWebView):
-
-2009-06-30 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Mark Rowe.
-
- createBitmapContextFromWebView() incorrectly used #ifdef BUILDING_ON_LEOPARD,
- and thus failed on SnowLeopard.
-
- * DumpRenderTree/mac/PixelDumpSupportMac.mm:
- (createBitmapContextFromWebView):
-
-2009-06-30 Eric Seidel <eric@webkit.org>
-
- Reviewed by Nikolas Zimmermann.
-
- Make bugzilla tool print a message explaining how to get help on failure:
- https://bugs.webkit.org/show_bug.cgi?id=26861
-
- % bugzilla-tool
- Usage: bugzilla-tool [options] command [command-options] [command-arguments]
-
- bugzilla-tool: error: No command specified
-
- Type 'bugzilla-tool --help' to see usage.
-
- * Scripts/bugzilla-tool:
-
-2009-06-30 Eric Seidel <eric@webkit.org>
-
- Reviewed by Maciej Stachowiak.
-
- Include a built copy of BeautifulSoup 3.1.0.1 so that
- bugzilla-tool users do not need to install it manually.
- https://bugs.webkit.org/show_bug.cgi?id=26833
-
- BeautifulSoup is BSD-licensed (thus WebKit compatible) and available from:
- http://www.crummy.com/software/BeautifulSoup
-
- * Scripts/bugzilla-tool: fixed a typo in a log message.
- * Scripts/modules/BeautifulSoup.py: Added.
- * Scripts/modules/bugzilla.py:
-
-2009-06-30 Eric Seidel <eric@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- Fix our create_patch handling to not
- hang when creating large patches.
- https://bugs.webkit.org/show_bug.cgi?id=26834
-
- We're now using StringIO to make an in-memory buffer for the patch
- instead of piping from the patch command directly to the upload.
- The previous hang was caused by calling wait() when the process had already
- filed the stdout buffer.
-
- * Scripts/modules/scm.py:
-
-2009-06-29 Sam Weinig <sam@webkit.org>
-
- Reviewed by Mark Rowe.
-
- Remove more unused scons support.
-
- * Scripts/build-jsc:
- * Scripts/build-webkit:
- * Scripts/webkitdirs.pm:
-
-2009-06-26 Eric Seidel <eric@webkit.org>
-
- Reviewed by David Levin.
-
- Rename land-and-update to land-diff and make it awesome.
- https://bugs.webkit.org/show_bug.cgi?id=26734
-
- Renamed land-and-update to land-diff
- Made the BUGID argument optional.
- Added optional support for building and testing before landing.
-
- land-diff [options] [BUGID] Lands the current working directory diff and updates the bug if provided.
- Options:
- -r REVIEWER, --reviewer=REVIEWER
- Update ChangeLogs to say Reviewed by REVIEWER.
- --no-close Leave bug open after landing.
- --no-build Commit without building first, implies --no-test.
- --no-test Commit without running run-webkit-tests.
-
- * Scripts/bugzilla-tool:
-
-2009-06-28 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Gtk build fix - include stdarg.h for va_start/va_end.
-
- * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
+ webkit-patch land calls scm.changed_files 4 times!
+ https://bugs.webkit.org/show_bug.cgi?id=39584
-2009-06-28 John Abd-El-Malek <jam@chromium.org>
-
- https://bugs.webkit.org/show_bug.cgi?id=15457
-
- Modify NPAPI test plugin to verify that "src" paramater is added when
- it's missing but "data" is present.
-
- * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
- (pluginLog):
- * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.h:
- * DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp:
- (NPP_New):
- (NPP_Destroy):
- (NPP_SetWindow):
- (handleEventCarbon):
- (handleEventCocoa):
- * DumpRenderTree/win/TestNetscapePlugin/main.cpp:
- (NPP_New):
-
-2009-06-27 Emilio Pozuelo Monfort <pochu27@gmail.com>
-
- Reviewed by Jan Alonzo.
-
- [GTK] Don't use deprecated GTK+ symbols.
- https://bugs.webkit.org/show_bug.cgi?id=26583
-
- * GtkLauncher/main.c:
- (create_toolbar):
-
-2009-06-26 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Make SVN work (again?).
-
- * Scripts/modules/scm.py:
-
-2009-06-26 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Add ability to query isEnabled
-
- * DumpRenderTree/AccessibilityUIElement.cpp:
- (getIsEnabledCallback):
- (AccessibilityUIElement::getJSClass):
- * DumpRenderTree/AccessibilityUIElement.h:
- * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
- (AccessibilityUIElement::isEnabled):
- * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
- (AccessibilityUIElement::isEnabled):
-
-2009-06-26 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig
-
- <rdar://problem/6961578> REGRESSION (r43511): Opening .fdf files from Acrobat Professional fails
-
- Add a dumpResourceResponseMIMETypes() mode so the ResourceLoadDelegate will dump the mime type from
- the NSURLResponse. Needed for the test for this bug fix.
-
- * DumpRenderTree/LayoutTestController.cpp:
- (LayoutTestController::LayoutTestController):
- (dumpResourceResponseMIMETypesCallback):
- (LayoutTestController::staticFunctions):
- * DumpRenderTree/LayoutTestController.h:
- (LayoutTestController::dumpResourceResponseMIMETypes):
- (LayoutTestController::setDumpResourceResponseMIMETypes):
-
- * DumpRenderTree/mac/ResourceLoadDelegate.mm:
- (-[ResourceLoadDelegate webView:resource:didReceiveResponse:fromDataSource:]):
-
-2009-06-26 David Kilzer <ddkilzer@apple.com>
-
- Update build-dumprendertree to use buildXCodeProject()
-
- Reviewed by Adam Roben.
-
- * Scripts/build-dumprendertree: Updated to use
- buildXCodeProject() when building for isAppleMacWebKit(). This
- provides additional command-line switch parsing for free. Also
- added --clean and --help switches. Updated copyright.
-
-2009-06-26 Eric Seidel <eric@webkit.org>
-
- Reviewed by Tor Arne Vestbø.
-
- Remove non-sense --update option to land-patches
- and make land-patches update before every patch application.
- This makes it slightly less likely that multi-patch landings will fail.
-
- Also updated git diff command to include staged modifications.
-
- * Scripts/bugzilla-tool:
- * Scripts/modules/scm.py:
-
-2009-06-25 Eric Seidel <eric@webkit.org>
-
- Reviewed by Jan Alonzo.
-
- Fix obsolete_attachment to work when passed a comment.
- https://bugs.webkit.org/show_bug.cgi?id=26745
-
- * Scripts/modules/bugzilla.py:
-
-2009-06-25 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Reviewed by Mark Rowe.
-
- bugzilla-tool apply-patch throws exception in Linux
- https://bugs.webkit.org/show_bug.cgi?id=26738
-
- HEAD is case-sensitive in Linux. Convert uses of head to HEAD in
- the scm module.
-
- * Scripts/modules/scm.py:
-
-2009-06-25 Eric Seidel <eric@webkit.org>
-
- Reviewed by Jan Alonzo.
-
- bugzilla-tool post-diff needs to obsolete old patches before posting
- https://bugs.webkit.org/show_bug.cgi?id=26740
-
- I've also added a --no-obsolete to disable this behavior.
-
- I also finally updated the bug page parsing to use XML. So much less code!
-
- * Scripts/bugzilla-tool:
- * Scripts/modules/bugzilla.py:
-
-2009-06-25 Eric Seidel <eric@webkit.org>
-
- Reviewed by Mark Rowe.
-
- Call WebKitTools/Scripts scripts by their absolute paths
- https://bugs.webkit.org/show_bug.cgi?id=26704
-
- bugzilla-tool used to use whatever build-webkit was in your path.
- That could end up building the wrong copy of WebKit.
-
- * Scripts/bugzilla-tool:
- * Scripts/modules/scm.py:
-
-2009-06-25 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Dave Levin.
-
- Use unicode() instead of str when reading from bugzilla.
- Also add Simon Fraser as a reviewer.
- https://bugs.webkit.org/show_bug.cgi?id=26719
-
- * Scripts/modules/bugzilla.py:
-
-2009-06-25 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Use Q_ASSERT in Qt's DumpRenderTree instead of JSC's ASSERT
-
- The WTFReportAssertionFailure function in JSC is not exported when
- building QtWebKit in both debug and release on Mac, so DRT fails to
- link.
-
- We can revert this patch once the Qt port builds JSC as a separate
- library, and we add the proper export macros to Assertions.cpp
-
- * DumpRenderTree/qt/WorkQueue.cpp:
- (WorkQueue::queue):
- (WorkQueue::dequeue):
-
-2009-06-25 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Jan Alonzo.
-
- bugzilla-tool: Add Simon Hausmann as reviewer
-
- * Scripts/modules/bugzilla.py:
-
-2009-06-24 Eric Seidel <eric@webkit.org>
-
- Reviewed by Dave Levin.
-
- Support local commits during apply-patches
- and let land-patches take multiple bug ids.
- https://bugs.webkit.org/show_bug.cgi?id=26703
-
- I also restructured parts of land-patches into
- class methods and static methods in preparation
- for future code sharing with other commands.
-
- * Scripts/bugzilla-tool:
- * Scripts/modules/bugzilla.py:
- * Scripts/modules/scm.py:
-
-2009-06-25 Eric Seidel <eric@webkit.org>
-
- Reviewed by Tor Arne Vestbø.
-
- Make svn-apply work with Git too
- https://bugs.webkit.org/show_bug.cgi?id=26299
-
- Add an --force option to svn-apply and otherwise make svn-apply
- exit non-zero when patch application fails.
- https://bugs.webkit.org/show_bug.cgi?id=26300
-
- I did not update svn-unapply, because it makes no sense in a Git world.
- You don't roll in and out patch files. You make commits and deal with those.
- Git users can just git reset --hard to get the same functionality.
-
- * Scripts/svn-apply:
-
-2009-06-25 Eric Seidel <eric@webkit.org>
-
- Reviewed by Tor Arne Vestbø.
-
- Remove use of os.system to fix reviewers with unicode chars in their names
- https://bugs.webkit.org/show_bug.cgi?id=26713
-
- Also change to latin1 encoding of ø to make python happy.
-
- * Scripts/modules/bugzilla.py:
- * Scripts/modules/scm.py:
-
-2009-06-25 Eric Seidel <eric@webkit.org>
-
- Reviewed by Tor Arne Vestbø.
-
- Add Adam Roben and Tor Arne Vestbø to the reviewers list.
-
- * Scripts/modules/bugzilla.py:
-
-2009-06-24 Chris Fleizach <cfleizach@apple.com>
-
- Windows build fix.
-
- * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
- (AccessibilityUIElement::language):
-
-2009-06-24 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Bug 26668: AX: need a way to retrieve the language for an element
- Support ability to retrieve AXLanguage for testing
-
- * DumpRenderTree/AccessibilityUIElement.cpp:
- (getLanguageCallback):
- (AccessibilityUIElement::getJSClass):
- * DumpRenderTree/AccessibilityUIElement.h:
- * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
- (AccessibilityUIElement::language):
-
-2009-06-24 Eric Seidel <eric@webkit.org>
-
- Reviewed by Maciej Stachowiak.
-
- Spell Maciej's name right and add Brady Eidson.
-
- * Scripts/modules/bugzilla.py:
-
-2009-06-23 Eric Seidel <eric@webkit.org>
-
- Reviewed by Dave Levin.
-
- Fix missing comment message during land-patches and SVN.commit_with_message respecting --dry-run
- https://bugs.webkit.org/show_bug.cgi?id=26669
-
- * Scripts/bugzilla-tool:
- * Scripts/modules/scm.py:
-
-2009-06-23 Takeshi Yoshino <tyoshino@google.com>
-
- Reviewed by Mark Rowe.
-
- Bug 26537: Builds from command-line fail if custom build product directory is set and ~/Library/Preferences/xcodebuild.plist exists
- https://bugs.webkit.org/show_bug.cgi?id=26537
-
- Let determineBaseProductDir subroutine remove
- ~/Library/Preferences/xcodebuild.plist. It can prevent xcodebuild from
- respecting global settings such as a custom build products directory
- (<rdar://problem/5585899>).
-
- * Scripts/webkitdirs.pm:
-
-2009-06-23 Eric Seidel <eric@webkit.org>
-
- Reviewed by Dave Levin.
-
- Make SCM.run_command smarter, and make all previous
- os.system and subprocess.popen use SCM.run_command instead.
- https://bugs.webkit.org/show_bug.cgi?id=26666
-
- This makes it easier to handle errors in a standard way throughout all the code.
- Since this new code raises by default when the exit_code != 0,
- we should prevent future problems of bugzilla-tool continuing after
- a git or svn command failed.
-
- * Scripts/modules/scm.py:
-
-2009-06-23 Joe Mason <joe.mason@torchmobile.com>
-
- Reviewed by Adam Treat.
-
- https://bugs.webkit.org/show_bug.cgi?id=26664
- * Scripts/prepare-ChangeLog: Added --git-index mode to list only the
- changes which are already staged in the index. Useful to create an
- entry for what you're about to commit while ignoring unstaged changes.
-
-2009-06-23 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Update for WebKit changes.
-
- * DumpRenderTree/win/UIDelegate.h:
- (UIDelegate::willPerformDragSourceAction):
-
-2009-06-23 Eric Seidel <eric@webkit.org>
-
- Reviewed by Mark Rowe.
-
- * Scripts/modules/scm.py: Fix commit_with_message to return the commit output.
-
-2009-06-23 Eric Seidel <eric@webkit.org>
-
- Reviewed by Mark Rowe.
-
- * Scripts/modules/scm.py: Fix error seen when commiting r44979.
-
-2009-06-18 Eric Seidel <eric@webkit.org>
-
- Reviewed by Dave Levin.
-
- WebKit needs a script to interact with bugzilla and automate
- parts of the patch posting and commit processes.
- https://bugs.webkit.org/show_bug.cgi?id=26283
-
- This is really a first-draft tool.
- It's to the point where it's useful to more people than just me now though.
- Git support works. SVN support is written, but mostly untested.
-
- This tool requires BeautifulSoup and mechanize python modules to run:
- sudo easy_install BeautifulSoup
- sudo easy_install mechanize
-
- More important than the tool itself are the Bugzilla, Git and SVN class abstractions
- which I hope will allow easy writing of future tools.
-
- The tool currently implements 10 commands, described below.
-
- Helpers for scripting dealing with the commit queue:
- bugs-to-commit Bugs in the commit queue
- patches-to-commit Patches attached to bugs in the commit queue
-
- Dealing with bugzilla:
- reviewed-patches BUGID r+'d patches on a bug
- apply-patches BUGID Applies all patches on a bug to the local working directory without committing.
- land-and-update BUGID Lands the current working directory diff and updates the bug.
- land-patches [options] BUGID Lands all patches on a bug optionally testing them first
- obsolete-attachments BUGID Marks all attachments on a bug as obsolete.
- commit-message Prints a commit message suitable for the uncommitted changes.
-
- These effectively replace git-send-bugzilla:
- post-diff BUGID Attaches the current working directory diff to a bug as a patch file.
- post-commits BUGID COMMITISH Attaches a range of local commits to a bug as patch files.
-
- post-diff works for SVN and Git, post-commits only works for SCMs with local-commit support (like Git)
-
- land-* commands in a Git environment only work with simple patches due to svn-apply bugs:
- https://bugs.webkit.org/show_bug.cgi?id=26299
- https://bugs.webkit.org/show_bug.cgi?id=26300
-
- This script follows python style (similar to how for Obj-C we follow AppKit style)
- http://www.python.org/doc/essays/styleguide.html
- The Python community has a strong style culture and the WebKit style guide is silent re: Python.
-
- I've filed a bug to update the WebKit style guide to mention python:
- https://bugs.webkit.org/show_bug.cgi?id=26524
-
- * Scripts/bugzilla-tool: Added.
-
-2009-06-22 Steve Falkenburg <sfalken@apple.com>
-
- Remove errant line of code mistakenly checked in.
-
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (main):
-
-2009-06-22 Steve Falkenburg <sfalken@apple.com>
-
- Pass correct value to setShouldPaintNativeControls.
-
- Rubber stamped by Mark Rowe.
-
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (main):
-
-2009-06-22 Steve Falkenburg <sfalken@apple.com>
-
- Fix last DumpRenderTree change to correctly set preferences flag without crashing.
-
- Reviewed by Mark Rowe.
-
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (main):
-
-2009-06-21 Steve Falkenburg <sfalken@apple.com>
-
- Set up global native controls flag before creating the first WebView.
-
- Reviewed by Darin Adler.
-
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (main):
-
-2009-06-21 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Sam Weinig.
-
- Set a sensible user agent string for the HTTP requests that Sparkle makes (checking for and downloading updates).
-
- * WebKitLauncher/WebKitNightlyEnablerSparkle.m:
- (userAgentStringForSparkle):
- (initializeSparkle):
-
-2009-06-21 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add a hook to the WebKit launcher application to allow a link on the nightly build start page to
- trigger an update via the built-in software update mechanism.
-
- * WebKitLauncher/WebKitLauncher.xcodeproj/project.pbxproj:
- * WebKitLauncher/WebKitLauncherURLProtocol.h: Added.
- * WebKitLauncher/WebKitLauncherURLProtocol.m: Added.
- (+[WebKitLauncherURLProtocol load]):
- (+[WebKitLauncherURLProtocol canInitWithRequest:]): Only allow use of the x-webkit-launcher scheme from .webkit.org subdomains.
- (+[WebKitLauncherURLProtocol canonicalRequestForRequest:]):
- (-[WebKitLauncherURLProtocol startLoading]):
- (-[WebKitLauncherURLProtocol stopLoading]):
- (-[WebKitLauncherURLProtocol handleIsWebKitLauncherAvailableJS]): Return a brief JavaScript snippet that can be used to programatically
- determine whether the x-webkit-launcher is available and working.
- (-[WebKitLauncherURLProtocol handleCheckForUpdates]): Trigger a software update on the main thread.
- (-[WebKitLauncherURLProtocol resourceNotFound]): Fail with a generic "File does not exist" error.
-
-2009-06-20 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Reviewed by Gustavo Noronha and Xan Lopez.
-
- [Gtk] Implement DRT XSS auditor support
- https://bugs.webkit.org/show_bug.cgi?id=26571
-
- * DumpRenderTree/gtk/DumpRenderTree.cpp:
- (resetWebViewToConsistentStateBeforeTesting):
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::setXSSAuditorEnabled):
-
-2009-06-19 Darin Adler <darin@apple.com>
-
- * Scripts/do-webcore-rename: More renaming ideas.
-
-2009-06-15 Andre Pedralho <andre.pedralho@openbossa.org>
-
- Reviewed by Tor Arne Vestbø.
-
- Only pass --makeargs along if an argument is given.
-
- * Scripts/build-webkit:
-
-2009-06-19 Adam Barth <abarth@webkit.org>
-
- Unreviewed attempt to fix Windows build.
-
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (resetWebViewToConsistentStateBeforeTesting):
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::setXSSAuditorEnabled):
-
-2009-06-18 Adam Barth <abarth@webkit.org>
-
- Reviewed by Sam Weinig.
+ * Scripts/webkitpy/tool/commands/download_unittest.py:
+ - Assert that we don't call modified_changelogs too often.
+ * Scripts/webkitpy/tool/steps/updatechangelogswithreviewer.py:
+ - Use cached changelogs list instead of calling modified_changelogs directly.
+ * Scripts/webkitpy/tool/steps/validatereviewer.py:
+ - ditto.
- https://bugs.webkit.org/show_bug.cgi?id=26199
+2010-05-24 Kent Tamura <tkent@chromium.org>
- Add support for testing the XSSAuditor.
+ Reviewed by Dimitri Glazkov.
- * DumpRenderTree/LayoutTestController.cpp:
- (setXSSAuditorEnabledCallback):
- (LayoutTestController::staticFunctions):
- * DumpRenderTree/LayoutTestController.h:
- * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
- (LayoutTestController::setXSSAuditorEnabled):
- * DumpRenderTree/mac/DumpRenderTree.mm:
- (resetWebViewToConsistentStateBeforeTesting):
- * DumpRenderTree/mac/LayoutTestControllerMac.mm:
- (LayoutTestController::setXSSAuditorEnabled):
- * DumpRenderTree/win/DumpRenderTree.cpp:
- (resetWebViewToConsistentStateBeforeTesting):
- * DumpRenderTree/win/LayoutTestControllerWin.cpp:
- (LayoutTestController::setXSSAuditorEnabled):
- (LayoutTestController::setPopupBlockingEnabled):
- * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
- (LayoutTestController::setXSSAuditorEnabled):
+ [DRT/Chromium] Import layout_test_helper for Windows
+ https://bugs.webkit.org/show_bug.cgi?id=39581
-2009-06-18 Darin Adler <darin@apple.com>
+ Import Chromium win/layout_test_helper.cc as LayoutTestHelperWin.cpp.
+ http://src.chromium.org/viewvc/chrome/trunk/src/webkit/tools/test_shell/win/layout_test_helper.cc
- Rubber stamped by Mark Rowe.
+ * DumpRenderTree/chromium/LayoutTestHelperWin.cpp: Added.
- * DumpRenderTree/mac/DumpRenderTreeWindow.mm:
- (-[DumpRenderTreeWindow close]): Resolved crashes seen during regression
- tests. The close method can be called on a window that's already closed
- so we can't assert here.
+2010-05-24 Kent Tamura <tkent@chromium.org>
-2009-06-17 Steve Falkenburg <sfalken@apple.com>
+ Reviewed by Dimitri Glazkov.
- Updated for consolidated WebKit COM interfaces.
-
- Reviewed by Adam Roben.
+ [DRT/Chromium] Reset frame name
+ https://bugs.webkit.org/show_bug.cgi?id=39586
- * DumpRenderTree/win/FrameLoadDelegate.cpp:
- * DumpRenderTree/win/FrameLoadDelegate.h:
- * DumpRenderTree/win/UIDelegate.cpp:
- * DumpRenderTree/win/UIDelegate.h:
- * WinLauncher/WinLauncher.h:
+ This change fixes about 70 unexpected results.
-2009-06-16 Adam Barth <abarth@webkit.org>
+ * DumpRenderTree/chromium/WebViewHost.cpp:
+ (WebViewHost::reset):
- Reviewed by Darin Adler.
+2010-05-24 Marcus Bulach <bulach@chromium.org>
- https://bugs.webkit.org/show_bug.cgi?id=26437
+ Reviewed by Kent Tamura.
- Make the commit-log-editor match the ambient line endings in commit
- messages.
+ [chromium] Adds WebGeolocationServiceMockImpl to remove public dependency on wtf/HashMap.h
+ https://bugs.webkit.org/show_bug.cgi?id=39587
- * Scripts/commit-log-editor:
+ * DumpRenderTree/chromium/WebViewHost.cpp:
+ (WebViewHost::geolocationService):
-2009-06-16 Xan Lopez <xlopez@igalia.com>
+2010-05-24 Robert Hogan <robert@webkit.org>
- Reviewed by Gustavo Noronha.
+ Reviewed by Laszlo Gombos.
- Update GtkLauncher to recent API changes in the progress property,
- which now goes from 0.0 to 1.0.
+ [Qt] DRT Support for removeOriginAccessWhitelistEntry
- * GtkLauncher/main.c:
+ Unskips http/tests/xmlhttprequest/origin-whitelisting-removal.html
-2009-06-16 Adam Barth <abarth@webkit.org>
+ [Qt] DRT Support for removeOriginAccessWhitelistEntry
+ https://bugs.webkit.org/show_bug.cgi?id=39565
- Reviewed by Darin Adler.
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::removeOriginAccessWhitelistEntry):
- https://bugs.webkit.org/show_bug.cgi?id=26000
+2010-05-24 Marcus Bulach <bulach@google.com>
- Teach prepare-ChangeLog to match the line ends that are already present
- in ChangeLog files. This helps folks whose use cygwin perl with CR LF
- line endings on Windows.
+ Reviewed by Ojan Vafai.
- Also, teach prepare-ChangeLog to normalize backslashes in paths. This
- helps folks who use Windows SVN prepare correct ChangeLogs.
+ _svn_branch_has_extra_commits needs to check for ^HEAD instead of ^head.
+ https://bugs.webkit.org/show_bug.cgi?id=39603
- * Scripts/prepare-ChangeLog:
+ * Scripts/webkitpy/common/checkout/scm.py:
-== Rolled over to ChangeLog-2009-06-16 ==
+== Rolled over to ChangeLog-2010-05-24 ==
diff --git a/WebKitTools/ChangeLog-2010-05-24 b/WebKitTools/ChangeLog-2010-05-24
new file mode 100644
index 0000000..f3f21b2
--- /dev/null
+++ b/WebKitTools/ChangeLog-2010-05-24
@@ -0,0 +1,35303 @@
+2010-05-24 Ojan Vafai <ojan@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ add tests to ensure that --git-commit ranges are exclusive of the start of the range
+ https://bugs.webkit.org/show_bug.cgi?id=39612
+
+ * Scripts/webkitpy/common/checkout/scm_unittest.py:
+
+2010-05-24 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Add a temporary script for testing the html5 parser until it can run more layout tests
+ https://bugs.webkit.org/show_bug.cgi?id=39611
+
+ * Scripts/test-html5-parser: Added.
+
+2010-05-24 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Chris Jerdonek.
+
+ webkit-patch needs --verbose flag to enable DEBUG logging
+ https://bugs.webkit.org/show_bug.cgi?id=39208
+
+ I also added some code to print out how long commands take to run.
+
+ * Scripts/webkit-patch:
+ - Add hackish -v/--verbose parsing (similar to check-webkit-style)
+ * Scripts/webkitpy/common/system/executive.py:
+ - Log how long commands take to run.
+ * Scripts/webkitpy/tool/main.py:
+ - Add -v/--verbose option to global options.
+
+2010-05-23 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ Split PatchReader out into its own file
+ https://bugs.webkit.org/show_bug.cgi?id=39576
+
+ This is in preparation for making check-webkit-style
+ support being passed paths to patch files on the command line.
+
+ * Scripts/check-webkit-style:
+ * Scripts/webkitpy/style/checker.py:
+ * Scripts/webkitpy/style/checker_unittest.py:
+ * Scripts/webkitpy/style/patchreader.py: Added.
+ * Scripts/webkitpy/style/patchreader_unittest.py: Added.
+ * Scripts/webkitpy/style_references.py:
+
+2010-05-23 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ webkit-patch should let you add a comment when uploading a patch
+ https://bugs.webkit.org/show_bug.cgi?id=39552
+
+ As requested by Dan "the man" Bates.
+
+ * Scripts/webkitpy/tool/steps/options.py:
+ * Scripts/webkitpy/tool/steps/postdiff.py:
+
+2010-05-23 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ webkit-patch should assign newly created bugs to their creator
+ https://bugs.webkit.org/show_bug.cgi?id=39548
+
+ As requested on webkit-dev.
+
+ * Scripts/webkitpy/common/net/bugzilla.py:
+
+2010-05-23 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Hide prepare and post commands for webkit-patch
+ https://bugs.webkit.org/show_bug.cgi?id=39539
+
+ It turns out these commands aren't very popular and they confuse new
+ users. They'll still be there for advanced users, however.
+
+ * Scripts/webkitpy/tool/commands/upload.py:
+
+2010-05-23 Jesus Sanchez-Palencia <jesus@webkit.org>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] QtTestBrowser has two graphicsview options that aren't enabled correctly
+ https://bugs.webkit.org/show_bug.cgi?id=39491
+
+ Making toggleResizesToContents and toggleTiledBackingStore checkable when
+ QtTestBrowser is started on graphics view mode.
+
+ * QtTestBrowser/main.cpp:
+ (LauncherWindow::createChrome):
+
+2010-05-23 Jesus Sanchez-Palencia <jesus@webkit.org>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] QtTestBrowser is still called QtLauncher in the code
+ https://bugs.webkit.org/show_bug.cgi?id=39488
+
+ Finish the name change of QtLauncher to QtTestBrowser.
+
+ * QtTestBrowser/main.cpp:
+ (LauncherApplication::LauncherApplication):
+ (LauncherApplication::handleUserOptions):
+ * QtTestBrowser/mainwindow.cpp:
+ (MainWindow::MainWindow):
+ * QtTestBrowser/useragentlist.txt:
+
+2010-05-23 Marcus Bulach <bulach@chromium.org>
+
+ Reviewed by Kent Tamura.
+
+ [chromium] Adds Geolocation support to DumpRenderTree.
+ https://bugs.webkit.org/show_bug.cgi?id=39440
+
+ Existing LayoutTests/fast/dom/Geolocation/* should pass.
+
+ * DumpRenderTree/chromium/LayoutTestController.cpp:
+ (LayoutTestController::LayoutTestController):
+ (LayoutTestController::setGeolocationPermission):
+ (LayoutTestController::setMockGeolocationPosition):
+ (LayoutTestController::setMockGeolocationError):
+ * DumpRenderTree/chromium/LayoutTestController.h:
+ * DumpRenderTree/chromium/TestShell.cpp:
+ (TestShell::TestShell):
+ * DumpRenderTree/chromium/WebViewHost.cpp:
+ (WebViewHost::geolocationService):
+ * DumpRenderTree/chromium/WebViewHost.h:
+
+2010-05-22 Adam Barth <abarth@webkit.org>
+
+ Unreviewed.
+
+ Re-order Yong's email addresses because his gmail account is the one he
+ uses for bugs.webkit.org.
+
+ * Scripts/webkitpy/common/config/committers.py:
+
+2010-05-22 Daniel Bates <dbates@rim.com>
+
+ Reviewed by Chris Jerdonek.
+
+ Add infrastructure to parse SVN property changes
+ https://bugs.webkit.org/show_bug.cgi?id=38885
+
+ Adds function VCSUtils::parseSvnDiffFooter to parse an SVN footer
+ that consists of one or more properties.
+
+ Note, the first line of an SVN footer begins with "Property changes on".
+
+ * Scripts/VCSUtils.pm:
+ - Added function parseSvnDiffFooter. Will use this function
+ towards resolving Bug #39409 <https://bugs.webkit.org/show_bug.cgi?id=39409>.
+ - Removed FIXME comment above function parseSvnProperty, since
+ it is being used by parseSvnDiffFooter.
+ * Scripts/webkitperl/VCSUtils_unittest/parseSvnDiffFooter.pl: Added.
+ - Added unit tests.
+
+2010-05-22 Eric Seidel <eric@webkit.org>
+
+ Unreviewed, fixing test results only.
+
+ Disable compositing tests on the commit-queue as a workaround for bug 38912
+ https://bugs.webkit.org/show_bug.cgi?id=39067
+
+ * Scripts/webkitpy/tool/steps/steps_unittest.py:
+ - Update test results after my previous change.
+
+2010-05-22 Eric Seidel <eric@webkit.org>
+
+ Unreviewed.
+
+ Disable compositing tests on the commit-queue as a workaround for bug 38912
+ https://bugs.webkit.org/show_bug.cgi?id=39067
+
+ * Scripts/webkitpy/tool/steps/runtests.py:
+ - Disable all of compositing, not just compositing/iframes
+
+2010-05-22 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [DRT/Chromium] Link resources and load Ahem font for Windows
+ https://bugs.webkit.org/show_bug.cgi?id=39473
+
+ * DumpRenderTree/chromium/DumpRenderTree.cpp:
+ (main): Call platformInit().
+ * DumpRenderTree/chromium/TestShell.h:
+ Declare platformInit(). It is not related to TestShell class, but the
+ implementation of paltformInit() is placed at TestShell*.{cpp,mm}.
+ * DumpRenderTree/chromium/TestShellGtk.cpp:
+ (platformInit):
+ * DumpRenderTree/chromium/TestShellMac.mm:
+ (platformInit):
+ * DumpRenderTree/chromium/TestShellWin.cpp:
+ (platformInit):
+ - Make stdout/stderr binary mode
+ - Load Ahem font
+
+2010-05-21 Eric Seidel <eric@webkit.org>
+
+ Unreviewed, EWS build fix only.
+
+ QueueStatusServer returns 500 error when EWS bots post empty queues
+ https://bugs.webkit.org/show_bug.cgi?id=39523
+
+ Mac python seems to have some built-in timezone support
+ however other python installs don't. So we need to ignore
+ timezones in our parsing.
+
+ Date parsing is tested by existing unit tests.
+
+ * QueueStatusServer/handlers/updateworkitems.py:
+ - Fix typo causing exception on server.
+ * Scripts/webkitpy/common/net/bugzilla.py:
+ - Fix exception due to python's lack of timezone support.
+
+2010-05-21 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ QueueStatusServer returns 500 error when EWS bots post empty queues
+ https://bugs.webkit.org/show_bug.cgi?id=39523
+
+ updateworkitems handler was raising an exception because
+ int() couldn't convert "" to a number.
+
+ I attempted to unit test this but we don't yet have a system by
+ which to load unit tests for appengine classes which depend on
+ google.appengine libraries which are not in the python default install.
+
+ We'll need to write a wrapper script to load those into the python path
+ and then run the unit test files.
+
+ * QueueStatusServer/handlers/statusbubble.py:
+ - Hide cr-win-ews since we're not currently running this bot.
+ * QueueStatusServer/handlers/updateworkitems.py:
+ - Fix the parsing logic to be able to understand "".
+ * Scripts/webkitpy/common/net/statusserver.py:
+ - Only log the work items posted to the server to the debug log channel.
+
+2010-05-21 Eric Seidel <eric@webkit.org>
+
+ Unreviewed, fixing the commit-queue to run again.
+
+ Make the EWSes report queue position in white bubbles
+ https://bugs.webkit.org/show_bug.cgi?id=39519
+
+ * Scripts/webkitpy/common/net/statusserver.py:
+ - Fix exception in _post_work_items_to_server when passed
+ integers. Unfortunately we have no good way to mock
+ the Browser object yet, and after several attempts I was
+ not able to create a good one, so no tests. :(
+
+2010-05-14 Ojan Vafai <ojan@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ webkit-patch land --squash commits too much if branch is not up to date
+ https://bugs.webkit.org/show_bug.cgi?id=38852
+
+ * Scripts/webkitpy/common/checkout/scm.py:
+ * Scripts/webkitpy/common/checkout/scm_unittest.py:
+
+2010-05-21 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Make the EWSes report queue position in white bubbles
+ https://bugs.webkit.org/show_bug.cgi?id=39519
+
+ This also fixes sorting of commit-queue patches
+ to be in order of patch attachment.
+ https://bugs.webkit.org/show_bug.cgi?id=33395
+
+ This makes the various Queues post what patches they are about to process
+ so that we can display a list of patches on status server pages, as well
+ as report queue position in status bubbles.
+
+ This is the first step towards creating a control-channel for the queues.
+ Next step will be to have them read back the patches in order from the server
+ and finally we will add the ability for the server to control that order.
+
+ * Scripts/webkitpy/common/net/bugzilla.py:
+ - Teach bugzilla how to parse attach_date for attachments.
+ * Scripts/webkitpy/common/net/bugzilla_unittest.py:
+ - Test that we're parsing dates correctly.
+ This may have timezone issues for non-PST contributers, unsure.
+ * Scripts/webkitpy/common/net/statusserver.py:
+ - Post work items to the status server for display.
+ * Scripts/webkitpy/tool/bot/patchcollection.py:
+ - Call StatusServer.update_work_items
+ * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
+ - Update unit test results now that we're posting work item list.
+ * Scripts/webkitpy/tool/commands/queues.py:
+ - Call StatusSever.update_work_items
+ - Sort patches so that the server's list understands
+ that the commit-queue gives priority to rollout patches.
+ - I also fixed patch sorting per bug 33395 while I was here.
+ * Scripts/webkitpy/tool/commands/queues_unittest.py:
+ - Update results after update_work_items changes.
+ - Test attachment sorting.
+ * Scripts/webkitpy/tool/mocktool.py:
+ - Add mock for update_work_items
+
+2010-05-21 Robin Cao <robin.cao@torchmobile.com.cn>
+
+ Reviewed by Adam Roben.
+
+ fast/dom/HTMLObjectElement/children-changed.html times out on Windows run-webkit-tests
+ https://bugs.webkit.org/show_bug.cgi?id=31315
+
+ * DumpRenderTree/win/FrameLoadDelegate.cpp:
+ (FrameLoadDelegate::didFailProvisionalLoadWithError): Need to invoke locationChangeDone here as mac port does.
+
+2010-05-20 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Dan Bernstein.
+
+ <rdar://problem/7848154> Remove the dependency on Foundation's private __COCOA_FORMAL_PROTOCOLS_2__ define.
+
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+
+2010-05-20 Tony Gentilcore <tonyg@chromium.org>
+
+ Reviewed by Daniel Bates.
+
+ Look in /proc/registry64 for the Platform SDK on 64-bit Windows.
+ https://bugs.webkit.org/show_bug.cgi?id=39296
+
+ The build-webkit script failed for me on Vista 64. A web search turned
+ up this blog post with a patch that worked for me:
+ http://www.nicholaswilson.me.uk/2010/04/hacking-webkit-fail/
+
+ * Scripts/webkitdirs.pm:
+
+2010-05-20 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ ThreadedMessageQueue should use with_statement for exception safety
+ https://bugs.webkit.org/show_bug.cgi?id=39233
+
+ * Scripts/webkitpy/common/thread/threadedmessagequeue.py:
+
+2010-05-20 Diego Gonzalez <diegohcg@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] QtTestBrowser does not support websites which requires HTTP Authentication via dialogs
+ https://bugs.webkit.org/show_bug.cgi?id=38456
+
+ * QtTestBrowser/webpage.cpp:
+ (WebPage::WebPage):
+ (WebPage::authenticationRequired):
+ * QtTestBrowser/webpage.h:
+
+2010-05-20 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Eric Seidel.
+
+ editingBehavior settings needs to be set back to a reasonable default between tests
+ https://bugs.webkit.org/show_bug.cgi?id=39433
+
+ For now, hard code the default setting during reset, so that the serialized
+ version of the setting stays in sync with expectations.
+
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (resetDefaultsToConsistentValues): Reset editing behavior to the appropriate platform default.
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (resetDefaultsToConsistentValues): Ditto.
+
+2010-05-20 Brent Fulgham <bfulgham@webkit.org>
+
+ Build fix. No review.
+
+ The WebKitAPITest targets do not use the "_debug" suffix needed
+ by the WinCairo port. Added Debug_Cairo target to correct this.
+
+ * WebKitAPITest/WebKitAPITest.vcproj:
+
+2010-05-20 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Ojan Vafai.
+
+ editing/selection/extend-selection-after-double-click.html crashes on the Leopard Intel release bot
+ https://bugs.webkit.org/show_bug.cgi?id=39431
+
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (LayoutTestController::setEditingBehavior):
+ Prevent a double-free by not having this variable be in the auto-release pool.
+
+2010-05-20 Martin Robinson <mrobinson@webkit.org>
+
+ Reviewed by Ojan Vafai.
+
+ Expose the editing behavior setting in DRT to test all editing code paths
+ https://bugs.webkit.org/show_bug.cgi?id=38603
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (setEditingBehaviorCallback): Added.
+ (LayoutTestController::staticFunctions): Expose the setEditingBehaviorCallback function.
+ * DumpRenderTree/LayoutTestController.h:
+ * DumpRenderTree/chromium/LayoutTestController.cpp: Add callback method for setting editing behavior.
+ * DumpRenderTree/chromium/LayoutTestController.h: Declaration for this method.
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::setEditingBehavior): Implementation of editing behavior control.
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (LayoutTestController::setEditingBehavior): Ditto
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::setEditingBehavior): Added stub implementation of editing behavior control.
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+ (LayoutTestController::setEditingBehavior): Add slot for controlling editor behavior.
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::setEditingBehavior): Implementation of editing behavior control.
+ * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
+ (LayoutTestController::setEditingBehavior): Added stub implementation of editing behavior control.
+
+2010-05-20 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ [DRT/Chromium] Increase the time out value
+ https://bugs.webkit.org/show_bug.cgi?id=39203
+
+ Change the time out value of Chromium DRT to 30 seconds, which is
+ the same as other ports.
+ If a DRT process exits before new-run-webkit-tests detects time
+ out, new-run-webkit-tests assumes the DRT process crashed.
+
+ * DumpRenderTree/chromium/TestShell.cpp:
+ (TestShell::layoutTestTimeout):
+ Change the time out value from 10 seconds to 30 seconds.
+
+2010-05-20 Chris Evans <cevans@google.com>
+
+ Unreviewed.
+
+ Marking myself as a committer.
+
+ * Scripts/webkitpy/common/config/committers.py: Add cevans@google.com.
+
+2010-05-20 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Tor Arne Vestbo.
+
+ [Qt] Weekly binary builds on Mac OS X don't work when launched in the Finder
+ https://bugs.webkit.org/show_bug.cgi?id=37273
+
+ * QtTestBrowser/QtTestBrowser.pro: Build QtLauncher as bundle in package builds
+
+2010-05-20 Fumitoshi Ukai <ukai@chromium.org>
+
+ Unreviewed fix for websocket test failures.
+
+ * Scripts/new-run-webkit-websocketserver:
+ options is named parameter for factory.get().
+
+2010-05-20 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Chromium: Add --chromium option to new-run-webkit-websocketserver
+ https://bugs.webkit.org/show_bug.cgi?id=37664
+
+ Missed to pass options to factory.get() in r59595
+
+ * Scripts/new-run-webkit-websocketserver:
+ Pass options to factory.get().
+
+2010-05-19 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ WinEWS should build Debug instead of Release
+ https://bugs.webkit.org/show_bug.cgi?id=39242
+
+ This is a workaround for
+ https://bugs.webkit.org/show_bug.cgi?id=39197
+ Adam Roben and Brian Weinstein believe this may
+ also make building faster since Debug builds
+ take less time to link.
+
+ * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
+
+2010-05-19 Dirk Pranke <dpranke@chromium.org>
+
+ Unreviewed, build fix.
+
+ * DumpRenderTree/chromium/NotificationPresenter.cpp:
+ (NotificationPresenter::show):
+
+2010-05-19 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ user.py throws exception when readline module is missing
+ https://bugs.webkit.org/show_bug.cgi?id=39239
+
+ * Scripts/webkitpy/common/system/user.py:
+ - The error handling path requires the "sys" module,
+ so added an import sys at the top of the file.
+
+2010-05-18 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [DRT/Chromium] Fix a repaint issue and textarea tests
+ https://bugs.webkit.org/show_bug.cgi?id=39054
+
+ * DumpRenderTree/chromium/WebViewHost.cpp:
+ (WebViewHost::canvas): Remove m_paintRect initialization in canvas().
+ This line updated m_paintRect unexpectedly during paintRect().
+ We don't need to initialize m_paintRect because show() does it.
+
+2010-05-18 Tony Chang <tony@chromium.org>
+
+ Reviewed by Kent Tamura.
+
+ [chromium] new-run-webkit-tests --use-drt should run on Linux
+ https://bugs.webkit.org/show_bug.cgi?id=37845
+
+ * Scripts/webkitpy/layout_tests/port/chromium.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_unittest.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_win.py:
+
+2010-05-18 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [DRT/Chromium] Fix some initialization/reset issues
+ https://bugs.webkit.org/show_bug.cgi?id=39281
+
+ * DumpRenderTree/chromium/LayoutTestController.cpp:
+ (LayoutTestController::reset): Reset m_userStyleSheetLocation.
+ * DumpRenderTree/chromium/LayoutTestController.h:
+ Remove unused variable, m_workQueueFrozen.
+ (LayoutTestController::WorkQueue::WorkQueue): Initialize m_frozen.
+ * DumpRenderTree/chromium/TestShell.cpp:
+ (TestShell::resetTestController): Reset WebSettings too.
+
+2010-05-18 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Ojan Vafai.
+
+ new-run-webkit-tests: implement '--reset-results' flag to complement
+ the '--new-baseline' flag. '--new-baseline' will always write the
+ results into the platform directory; '--reset-results' will update the
+ existing baseline wherever it happens to be. Both sets of behavior
+ are useful in different circumstances.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38879
+
+ * Scripts/webkitpy/layout_tests/data/image/canvas-bg.html: Added.
+ * Scripts/webkitpy/layout_tests/data/image/canvas-zoom-expected.checksum: Added.
+ * Scripts/webkitpy/layout_tests/data/image/canvas-zoom-expected.png: Added.
+ * Scripts/webkitpy/layout_tests/data/image/canvas-zoom-expected.txt: Added.
+ * Scripts/webkitpy/layout_tests/data/image/canvas-zoom.html: Added.
+ * Scripts/webkitpy/layout_tests/data/misc/crash-expected.txt: Added.
+ * Scripts/webkitpy/layout_tests/data/misc/crash.html: Added.
+ * Scripts/webkitpy/layout_tests/data/misc/missing-expectation.html: Added.
+ * Scripts/webkitpy/layout_tests/data/misc/passing-expected.txt: Added.
+ * Scripts/webkitpy/layout_tests/data/misc/passing.html: Added.
+ * Scripts/webkitpy/layout_tests/data/platform/test/image/canvas-bg-expected.checksum: Added.
+ * Scripts/webkitpy/layout_tests/data/platform/test/image/canvas-bg-expected.png: Added.
+ * Scripts/webkitpy/layout_tests/data/platform/test/image/canvas-bg-expected.txt: Added.
+ * Scripts/webkitpy/layout_tests/data/platform/test/test_expectations.txt: Added.
+ * Scripts/webkitpy/layout_tests/data/text/article-element-expected.txt: Added.
+ * Scripts/webkitpy/layout_tests/data/text/article-element.html: Added.
+ * Scripts/webkitpy/layout_tests/layout_package/test_expectations_unittest.py:
+ * Scripts/webkitpy/layout_tests/port/test.py:
+ * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py:
+ * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py:
+ * Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py:
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+ * Scripts/webkitpy/layout_tests/test_types/image_diff.py:
+ * Scripts/webkitpy/layout_tests/test_types/test_type_base.py:
+ * Scripts/webkitpy/layout_tests/test_types/text_diff.py:
+ * Scripts/webkitpy/layout_tests/port/test.py:
+ * Scripts/webkitpy/layout_tests/port/dryrun.py:
+
+2010-05-18 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Add an --html5-parser option to DumpRenderTree to allow testing the new HTML5Lexer
+ https://bugs.webkit.org/show_bug.cgi?id=39311
+
+ This flag allows us to run the new HTML5Lexer code.
+ Right now all documents parse as empty documents, but
+ now that we're able to run the code we can fix that.
+
+ Once we're able to lex a few basic documents I'll add
+ an --html5-parser flag to run-webkit-tests so that we test
+ running all of the layout tests with the HTML5 parser.
+
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (resetDefaultsToConsistentValues):
+ (initializeGlobalsFromCommandLineOptions):
+
+2010-05-08 Robert Hogan <robert@roberthogan.net>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix http/tests/xmlhttprequest/cross-origin-no-authorization.html
+ and http/tests/xmlhttprequest/cross-origin-authorization.html
+
+ QHttpNetworkRequest adds Authorization and Cookie headers to XHRs
+ without knowing if this is valid behaviour or not. In order to allow
+ Qt to decide whether Cookie/Authorization headers should be added
+ to an XHR QtWebKit needs to use an attribute added to QNetworkRequest.
+ These new attributes are: QNetworkRequest::CookieLoadControlAttribute,
+ QNetworkRequest::CookieSaveControlAttribute,and
+ QNetworkRequest::AuthenticationReuseControlAttribute.
+
+ In order to properly support the tests, Qt's DRT needs to use one
+ NetworkAccessManager for all pages. This allows it to use cached
+ credentials where appropriate.
+
+ The tests now pass when run individually but there seems to be a problem with
+ leaking the results of requests across tests when run with the others in
+ http/tests. This will be addressed in a separate patch.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32967
+
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::WebPage::WebPage):
+ (WebCore::DumpRenderTree::DumpRenderTree):
+ * DumpRenderTree/qt/DumpRenderTreeQt.h:
+
+
+2010-05-18 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ run_webkit_tests_unittest fails on SnowLeopard
+ https://bugs.webkit.org/show_bug.cgi?id=39279
+
+ * Scripts/webkitpy/layout_tests/port/base.py:
+ Return copy of os.environ.
+ * Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py:
+ Check os.environ was not modified.
+
+2010-05-18 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Chromium: new-run-webkit-httpd fails to setup_mount
+ https://bugs.webkit.org/show_bug.cgi?id=39257
+
+ * Scripts/webkitpy/common/system/executive.py:
+ Assert type of args in run_command.
+ * Scripts/webkitpy/common/system/executive_unittest.py:
+ Add test_run_command_args_type
+ * Scripts/webkitpy/layout_tests/port/chromium_win.py:
+ Executive.run_command takes array for command line.
+ * Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py:
+ Test if setup_environ_for_server() run setup_mount.bat.
+
+2010-05-17 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by David Levin.
+
+ Chromium Windows build system does not rebuild correctly when
+ enabling/disabling a feature
+ https://bugs.webkit.org/show_bug.cgi?id=38926
+
+ Add a workaround of this issue.
+
+ * Scripts/update-webkit:
+ Chromium-Windows only: If WebKit/chromium/features.gyp has been
+ updated, remove WebKit/chromium/Debug and WebKit/chromium/Release.
+
+2010-05-17 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r59631.
+ http://trac.webkit.org/changeset/59631
+ https://bugs.webkit.org/show_bug.cgi?id=39255
+
+ chromium canaries can no longer run webkit_tests, suspect this
+ change. (Requested by atwilson on #webkit).
+
+ * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py:
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+ * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py:
+
+2010-05-17 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Attempt to make new-run-webkit-tests --help more sane
+ https://bugs.webkit.org/show_bug.cgi?id=37836
+
+ * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py:
+ - Add a FIXME about options.singly and options.batch_size being different.
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+ - Add support for hidden options.
+ - Add option groupings to attempt to simplify --help.
+ - Fix a bunch of option helps to start with a capitalized verb.
+ - Hide a bunch of options which make no sense to users.
+ - Sort options in --help.
+ * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py:
+ - Add tests for option sorting.
+
+2010-05-17 Robert Hogan <robert@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Disable Icon Database by default in Qt DRT
+
+ Unskip:
+ http/tests/misc/favicon-loads-with-images-disabled.html
+ http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body.html
+ http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny.html
+ http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag.html
+
+ https://bugs.webkit.org/show_bug.cgi?id=37382
+
+ Add support for layoutTestController.setIconDatabaseEnabled and layoutTestController.disableImageLoading().
+ The XFrameOptions tests were failing because of an extra resource load callback for favicon.ico requests.
+ These extra callbacks are removed by supporting both of the above layoutTestContoller commands.
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::WebPage::resetSettings):
+ (WebCore::DumpRenderTree::DumpRenderTree):
+ * DumpRenderTree/qt/DumpRenderTreeQt.h:
+ (WebCore::DumpRenderTree::drtStoragePath):
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::reset):
+ (LayoutTestController::disableImageLoading):
+ (LayoutTestController::setIconDatabaseEnabled):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+
+2010-05-17 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Chromium: Add --chromium option to new-run-webkit-websocketserver
+ https://bugs.webkit.org/show_bug.cgi?id=37664
+
+ os.environ setup and setup_mount for cygwin are moved in ChromiumWinPort.setup_environ_for_server.
+
+ * Scripts/new-run-webkit-httpd:
+ Remove passing register_cygwin.
+ * Scripts/new-run-webkit-websocketserver:
+ Add --chromium flag.
+ Remove passing register_cygwin.
+ Create port object using options.
+ * Scripts/webkitpy/layout_tests/port/base.py:
+ Add setup_environ_for_server().
+ * Scripts/webkitpy/layout_tests/port/chromium_win.py:
+ Ditto.
+ * Scripts/webkitpy/layout_tests/port/factory_unittest.py: Added.
+ * Scripts/webkitpy/layout_tests/port/http_server.py:
+ Remove register_cygwin_parameter.
+ Call setup_environ_for_server().
+ * Scripts/webkitpy/layout_tests/port/websocket_server.py:
+ Ditto.
+
+2010-05-16 Daniel Bates <dbates@rim.com>
+
+ Reviewed by Chris Jerdonek.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39184
+
+ Adds function VCSUtils::parseSvnProperty to parse an SVN property with
+ either a single-line or multi-line value change.
+
+ * Scripts/VCSUtils.pm:
+ - Added function parseSvnProperty. We will use this function
+ towards resolving Bug #38885 <https://bugs.webkit.org/show_bug.cgi?id=38885>.
+ - Removed FIXME comment above function parseSvnPropertyValue, since
+ it is being used by parseSvnProperty.
+ - Modified function parseSvnPropertyValue to break out of "while (<$fileHandle>)"
+ loop when it encounters the start of the next property so that it can be
+ processed by its caller, parseSvnPropertyValue. We reference this bullet below
+ by (*).
+ * Scripts/webkitperl/VCSUtils_unittest/parseSvnProperty.pl: Added.
+ - Added unit tests.
+ * Scripts/webkitperl/VCSUtils_unittest/parseSvnPropertyValue.pl:
+ - Changed the name of the unit test "simple multi-line '-' change" to
+ "single-line '-' change followed by empty line" since the former was an
+ incorrect description of this test.
+ - Added unit test "single-line '-' change followed by the next property", and
+ "multi-line '-' change followed by the next property" to test (*) above.
+
+2010-05-16 Tony Chang <tony@chromium.org>
+
+ Not reviewed, fixing layout test.
+
+ Don't output Inspect Element since this is not enabled on the bots,
+ but most developers probably have it installed.
+
+ * DumpRenderTree/mac/EventSendingController.mm:
+ (-[EventSendingController contextClick:]):
+
+2010-05-12 Tony Chang <tony@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Spellcheck disabling does not disable context menu
+ https://bugs.webkit.org/show_bug.cgi?id=25639
+
+ * DumpRenderTree/mac/EventSendingController.mm:
+ (+[EventSendingController isSelectorExcludedFromWebScript:]):
+ (+[EventSendingController webScriptNameForSelector:]):
+ (-[EventSendingController contextClick:]): add a bool parameter that
+ when true, dumps the context menu items to stdout.
+
+2010-05-16 Robert Hogan <robert@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Unskip fast/loader/main-document-url-for-non-http-loads.html
+
+ Update Qt DRT to use frame loader, editor client and notification presenter
+ functions in DumpRenderTreeSupportQt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38867
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::DumpRenderTree::open):
+ (WebCore::DumpRenderTree::dump):
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::LayoutTestController):
+ (LayoutTestController::reset):
+ (LayoutTestController::dumpEditingCallbacks):
+ (LayoutTestController::dumpFrameLoadCallbacks):
+ (LayoutTestController::dumpResourceLoadCallbacks):
+ (LayoutTestController::setWillSendRequestReturnsNullOnRedirect):
+ (LayoutTestController::setWillSendRequestReturnsNull):
+ (LayoutTestController::setWillSendRequestClearHeader):
+
+2010-05-16 Eric Seidel <eric@webkit.org>
+
+ Unreviewed, rolling out r59571.
+ http://trac.webkit.org/changeset/59571
+ https://bugs.webkit.org/show_bug.cgi?id=39054
+
+ Broke Cr Win, but we didn't notice immediately due to
+ https://bugs.webkit.org/show_bug.cgi?id=38926. It's possible
+ that this didn't actually break Cr Win, but rather that bug
+ 38926 necessitates a clean compile after this and sucessive
+ checkins only produced a partial recompile and thus failed to
+ build.
+
+ * DumpRenderTree/chromium/WebViewHost.cpp:
+ (WebViewHost::canvas):
+
+2010-05-16 Robert Hogan <robert@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt]Unskip security/set-form-autocomplete-attribute.html
+
+ Add support for layoutTestController.elementDoesAutoCompleteForElementWithId().
+
+ https://bugs.webkit.org/show_bug.cgi?id=38859
+
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::elementDoesAutoCompleteForElementWithId):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+
+2010-05-16 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [DRT/Chromium] Fix repaint, WebGL, textarea tests
+ https://bugs.webkit.org/show_bug.cgi?id=39054
+
+ * DumpRenderTree/chromium/WebViewHost.cpp:
+ (WebViewHost::canvas): Remove m_paintRect initialization in canvas().
+ This line updated m_paintRect unexpectedly during paintRect().
+ We don't need to initialize m_paintRect because show() does it.
+
+2010-05-16 Sergio Villar Senin <svillar@igalia.com>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ [GTK] Improve reporting of frame loader callbacks in DRT
+ https://bugs.webkit.org/show_bug.cgi?id=36454
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (webViewLoadStatusNotified):
+ (createWebView): added connection to notify::load-status and
+ signal callback
+
+2010-05-15 Daniel Bates <dbates@rim.com>
+
+ Reviewed by Chris Jerdonek.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39170
+
+ Add function parseSvnPropertyValue to parse single-line and multi-line
+ property values of an SVN property change.
+
+ * Scripts/VCSUtils.pm:
+ Added function parseSvnPropertyValue. We will use this as part of
+ Bug #38885 <https://bugs.webkit.org/show_bug.cgi?id=38885>.
+ * Scripts/webkitperl/VCSUtils_unittest/parseSvnPropertyValue.pl: Added.
+
+2010-05-15 Jochen Eisinger <jochen@chromium.org>
+
+ Reviewed by Dmitry Titov.
+
+ Add allowDatabase method to TestWebWorker.
+ https://bugs.webkit.org/show_bug.cgi?id=38742
+
+ * DumpRenderTree/chromium/TestWebWorker.h:
+ (TestWebWorker::allowDatabase):
+
+2010-05-15 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Rubber-stamped by Antti Koivisto.
+
+ [Qt] Rename QtLauncher to QtTestBrowser
+ https://bugs.webkit.org/show_bug.cgi?id=37665
+
+ Forgot to remove the original directory after the rename.
+
+ * QtLauncher: Removed.
+
+2010-05-15 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r59544.
+ http://trac.webkit.org/changeset/59544
+ https://bugs.webkit.org/show_bug.cgi?id=39165
+
+ Cased LayoutTest to start crashing (Requested by abarth on
+ #webkit).
+
+ * Scripts/old-run-webkit-tests:
+
+2010-05-15 Mario Sanchez Prada <msanchez@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ Ensure DRT loads GAIL (Gtk+ module), for a11y tests
+ https://bugs.webkit.org/show_bug.cgi?id=38648
+
+ Add the GTK_MODULES envvar (set to "gail") to the clean
+ environment when running DRT for the Gtk+ port
+
+ * Scripts/old-run-webkit-tests:
+
+2010-05-15 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Add script to check for minimum python version and install if missing on Tiger
+ https://bugs.webkit.org/show_bug.cgi?id=38886
+
+ Per Maciej's request on webkit-dev:
+ https://lists.webkit.org/pipermail/webkit-dev/2010-May/012785.html
+ provide a script which can automatically install Python on Tiger where
+ the system provided version is too old to be of use.
+
+ Note this uses the official Mac Python installer from python.org.
+ This installs a copy of Python in /Library/Frameworks/Python.framework.
+ It also makes symlinks from /usr/local/bin to the Python.framework/bin.
+
+ I have tested this script on Leopard and it worked fine. I have not
+ tested it on Tiger as I do not have access to a Tiger machine. In
+ either case this should provide a great starting point for someone
+ wishing to upgrade their copy of Python on Tiger.
+
+ Future patches can make our scripts depend on a success return from this
+ script and then they can either skip tests/sections for which python is
+ insufficient, or they can fail themselves.
+
+ * Scripts/ensure-valid-python: Added.
+
+2010-05-15 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Display queue position inside EWS bubbles
+ https://bugs.webkit.org/show_bug.cgi?id=38979
+
+ This ended up being a lot of clean-up to our status server code.
+
+ Added a new WorkItems model, a form with which to fill it,
+ and taught the Attachment class how to calculate the current queue
+ postion for an attachment using the data in WorkItems.
+
+ I also finally made statusbubble.* and dashboard.* not use copy-paste code.
+
+ The Attachment class has this summary() method which is very
+ controller/view-like and does not belong in a model class.
+ This patch got rid of all direct uses of summary().
+
+ * QueueStatusServer/handlers/dashboard.py:
+ - Build row objects to hand off to the view instead of handing off a
+ summary object and expecting the view to process it directly.
+ * QueueStatusServer/handlers/statusbubble.py:
+ - Build bubble object and hand them off to the view.
+ * QueueStatusServer/handlers/updatestatus.py:
+ - Code cleanup. Just move some code into _queue_status_from_request
+ to make the main put() handler easier to read.
+ * QueueStatusServer/handlers/updateworkitems.py: Added.
+ - Controller to handle storing WorkItems model objects.
+ * QueueStatusServer/main.py:
+ - Add route for /update-work-items
+ * QueueStatusServer/model/attachment.py:
+ - Add new methods to replace direct summary() access.
+ - Teach attachment how to calculate queue positions from WorkItems data.
+ * QueueStatusServer/model/queues.py:
+ - Move name_with_underscores here for easier re-use.
+ * QueueStatusServer/model/workitems.py: Added.
+ - New model for storing what items are currently queue for any bot.
+ * QueueStatusServer/templates/dashboard.html:
+ - Kill the copy/paste code!
+ * QueueStatusServer/templates/statusbubble.html:
+ - Kill the copy/paste code!
+ * QueueStatusServer/templates/updateworkitems.html: Added.
+ - Simple form for updating a queue's current work items.
+
+2010-05-15 Joanmarie Diggs <joanmarie.diggs@gmail.com>
+
+ Reviewed by Xan Lopez.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30500
+ [Gtk] Find a way for WebKit to "announce" itself so that ATs can readily distinguish it from true Gtk/Gail
+
+ The "announcement" is now made in the form of an object attribute
+ associated with the AtkObject.
+
+ * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
+ (AccessibilityUIElement::allAttributes):
+ (attributeSetToString):
+
+2010-05-15 Mario Sanchez Prada <msanchez@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ Accessibility: Implement isSelected in DRT for GTK
+ https://bugs.webkit.org/show_bug.cgi?id=31018
+
+ Implement AccessibilityUIElement::isSelected() for Gtk
+
+ * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
+ (AccessibilityUIElement::isSelected):
+
+2010-05-14 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ scm.py should use self.run instead of run_command
+ https://bugs.webkit.org/show_bug.cgi?id=38957
+
+ We've wanted to do this for a while, but it's a prerequiste for running
+ SVN from the cwd instead of the checkout_root.
+
+ * Scripts/webkitpy/common/checkout/scm.py:
+
+2010-05-14 Anton Muhin <antonm@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [Chromium] Consider implementing addOriginAccessWhitelistEntry method
+ https://bugs.webkit.org/show_bug.cgi?id=37578
+
+ Remove deprecated methods.
+
+ * DumpRenderTree/chromium/LayoutTestController.cpp
+ * DumpRenderTree/chromium/LayoutTestController.h
+
+2010-05-14 Kenneth Russell <kbr@google.com>
+
+ Reviewed by Darin Adler.
+
+ Rename WebGLArray types to TypedArray types
+ https://bugs.webkit.org/show_bug.cgi?id=39091
+
+ Extended functionality of do-webcore-rename script and used it to
+ rename the WebGLArray types to the TypedArray naming convention.
+ The only source files which were touched by hand, and which are
+ being manually reviewed, are:
+ WebCore/page/DOMWindow.idl
+ WebCore/bindings/generic/RuntimeEnabledFeatures.h (script's changes undone)
+ WebKit/WebCore/bindings/js/JSDOMWindowCustom.cpp
+ WebKit/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp
+ These only needed to be touched to update the aliases between the
+ WebGLArray and TypedArray names introduced in bug 39036. (It was
+ not feasible to have do-webcore-rename handle this as it would
+ introduce circular renamings.) These aliases will be removed in
+ roughly a month once existing WebGL content has been updated.
+
+ No new tests; covered under existing WebGL tests. Updated
+ constructed-objects-prototypes and prototype-inheritance-2 tests.
+ Ran all layout tests in Safari and all WebGL tests in Chromium.
+
+ * Scripts/do-webcore-rename:
+ Handle the case where some renames are substrings of others.
+ Support renaming files containing custom JS bindings. If
+ isDOMTypeRename is non-zero, expand the regexp which rewrites
+ the file's contents in order to support custom JS bindings.
+
+2010-05-14 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ webkit-patch rollout throws exception if bug is already open
+ https://bugs.webkit.org/show_bug.cgi?id=38803
+
+ This was caused by someone incorrectly wrapping the code. :p
+ I'm going to have to start demanding unit tests for wrapping changes...
+
+ I also fixed the code to be able to reopen bugs which were never confirmed.
+ Before it regressed, the code would just log in that case. Now it actually
+ will reopen the bug, but there is a FIXME about how the logic is a bit backwards.
+
+ * Scripts/webkitpy/common/net/bugzilla.py:
+ * Scripts/webkitpy/common/net/bugzilla_unittest.py:
+ - Yay testing!
+
+2010-05-14 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Rubber-stamped by Antti Koivisto.
+
+ [Qt] Rename QtLauncher to QtTestBrowser
+
+ * QtTestBrowser: Copied from WebKitTools/QtLauncher.
+ * QtTestBrowser/QtLauncher.pro: Removed.
+ * QtTestBrowser/QtLauncher.qrc: Removed.
+ * QtTestBrowser/QtTestBrowser.pro: Copied from WebKitTools/QtLauncher/QtLauncher.pro.
+ * QtTestBrowser/QtTestBrowser.qrc: Copied from WebKitTools/QtLauncher/QtLauncher.qrc.
+ * Scripts/run-launcher:
+ * Scripts/webkitdirs.pm:
+
+2010-05-14 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Stop CCing webkit-bot-watchers
+ https://bugs.webkit.org/show_bug.cgi?id=39020
+
+ webkit-bot-watchers is somewhat of a failed experiment. No one
+ subscribed to the list (not even me). Removing it from the code
+ because wms says it bounces email sometimes.
+
+ * Scripts/webkitpy/tool/commands/queues.py:
+ * Scripts/webkitpy/tool/commands/sheriffbot_unittest.py:
+
+2010-05-14 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ REGRESSION: webkit-patch commit-message throws exception
+ https://bugs.webkit.org/show_bug.cgi?id=38997
+
+ * Scripts/webkitpy/tool/commands/upload.py:
+ - Fix to respect and pass the --squash and --git-commit options.
+ * Scripts/webkitpy/tool/commands/upload_unittest.py:
+ - Fix the unit test to use the central MockCheckout instead of
+ its own custom Mock which didn't require enough parameters.
+
+2010-05-13 Diego Gonzalez <diegohcg@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Improve QtLauncher user agent dialog resize
+ https://bugs.webkit.org/show_bug.cgi?id=39062
+
+ * QtLauncher/main.cpp:
+ (LauncherWindow::showUserAgentDialog):
+
+2010-05-13 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Ojan Vafai.
+
+ Disable compositing/iframes tests on the commit-queue as a workaround for bug 38912
+ https://bugs.webkit.org/show_bug.cgi?id=39067
+
+ Fix yet another typo in my original hack.
+ I also added another unit test for this fix.
+
+ * Scripts/webkitpy/common/config/ports.py:
+ * Scripts/webkitpy/common/config/ports_unittest.py:
+
+2010-05-13 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Ojan Vafai.
+
+ Disable compositing/iframes tests on the commit-queue as a workaround for bug 38912
+ https://bugs.webkit.org/show_bug.cgi?id=39067
+
+ My previous (unreviewed) hack didn't actually work due to checking "mac" instead of "Mac".
+ This change fixes my hack, and unit tests it.
+
+ * Scripts/webkitpy/tool/mocktool.py:
+ - Make it possible to make run_command log too.
+ * Scripts/webkitpy/tool/steps/runtests.py:
+ - Fix my hack to actually work.
+ * Scripts/webkitpy/tool/steps/steps_unittest.py:
+ - Test my hack (and basic RunTests behavior as well).
+
+2010-05-13 Antonio Gomes <tonikitoo@webkit.org>, Yi Shen <yi.4.shen@nokia.com>
+
+ Reviewed by Kenneth Christiansen.
+
+ [Qt] Add LayoutTestController interface: computedStyleIncludingVisitedInfo
+ https://bugs.webkit.org/show_bug.cgi?id=37759
+
+ WebKitTools:
+
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::computedStyleIncludingVisitedInfo):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+
+2010-05-10 Adam Roben <aroben@apple.com>
+
+ Convert status bar text to UTF-8 before logging it on Windows
+
+ We were previously logging the text using printf("%S", bstr). This
+ converts the UTF-16 BSTR to a multibyte string using wctomb, which
+ uses the codepage for the current locale to perform the conversion.
+ The conversion was failing, causing printf to bail and truncate the
+ string. By converting to UTF-8 manually before logging, we avoid this
+ issue (and also end up with UTF-8 output, which is what the expected
+ results contain). We may have to do this in other places in DRT,
+ eventually.
+
+ Fixes <http://webkit.org/b/38849> REGRESSION (r59016):
+ plugins/set-status.html fails on Windows
+
+ Reviewed by Alexey Proskuryakov.
+
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (toUTF8): Moved this here from FrameLoadDelegate. Renamed from
+ BSTRtoString.
+
+ * DumpRenderTree/win/DumpRenderTreeWin.h: Added declaration of toUTF8.
+
+ * DumpRenderTree/win/FrameLoadDelegate.cpp: Removed BSTRtoString.
+ (descriptionSuitableForTestResult): Updated for rename.
+
+ * DumpRenderTree/win/UIDelegate.cpp:
+ (UIDelegate::setStatusText): Convert the status bar text to UTF-8
+ before logging it so that Windows won't try (and fail) to convert it
+ to the current locale's codepage.
+
+2010-05-13 Eric Seidel <eric@webkit.org>
+
+ Unreviewed hack, attempting to get the commit-queue running again.
+
+ Disable compositing/iframes tests on the commit-queue as a workaround for bug 38912
+ https://bugs.webkit.org/show_bug.cgi?id=39067
+
+ I had this hack locally on the commit-queue, but it's fragile
+ and broke this morning. It will work much better if committed
+ to the repository. In either case it's temporary while we
+ work up a real fix for bug 38912.
+
+ * Scripts/webkitpy/common/config/ports.py:
+ - Expose an is_leopard() method.
+ * Scripts/webkitpy/tool/steps/runtests.py:
+ - Don't run compositing/iframes tests on the commit-queue under leopard.
+
+2010-05-13 Fumitoshi Ukai <ukai@chromium.org>
+
+ Unreviewed fix. Revert previous change.
+
+ Even if with-statments are changed in websocket_server.py, it also claims syntax error for with statement in http_server.py.
+ Until python 2.5 is installed on tiger bot, skips websocket/tests on tiger.
+
+ * Scripts/webkitpy/layout_tests/port/websocket_server.py: use with statement
+
+2010-05-13 Fumitoshi Ukai <ukai@chromium.org>
+
+ Unreviewed fix.
+
+ On tiger bot, it claims syntax error for with statement.
+
+ * Scripts/webkitpy/layout_tests/port/websocket_server.py: rewrite with statement with try-finally.
+
+2010-05-13 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by David Levin.
+
+ WebSocket: pywebsocket 0.5
+ https://bugs.webkit.org/show_bug.cgi?id=38034
+
+ Remove pywebsocket from webkitpy/thirdparty.
+ Make pywebsocket autoinstalled.
+
+ * Scripts/new-run-webkit-websocketserver:
+ Add --output-dir option.
+ * Scripts/old-run-webkit-tests:
+ Use new-run-webkit-websocketserver, rather than directly run pywebsocket's standalone.py
+ * Scripts/run-webkit-websocketserver:
+ Ditto.
+ * Scripts/webkitpy/layout_tests/port/websocket_server.py:
+ Use autoinstalled pywebsocket.
+ * Scripts/webkitpy/thirdparty/__init__.py:
+ Autoinstall pywebsocket
+ * Scripts/webkitpy/thirdparty/pywebsocket: Removed.
+
+2010-05-12 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ Fixed a bug in svn-apply whereby the reviewer would not get set if
+ the portion of the patch for the ChangeLog contains "NOBODY (**PS!)"
+ in the leading junk.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38998
+
+ * Scripts/VCSUtils.pm:
+ - Added the $changeLogTimeZone variable from svn-apply.
+ - Added setChangeLogDateAndReviewer() from svn-apply.
+ - Added a localTimeInProjectTimeZone() subroutine.
+ - In setChangeLogDateAndReviewer():
+ - Added an $epochTime parameter to make the subroutine more testable.
+ - Made the "NOBODY (**PS!)" regular expression more specific so that
+ it will not apply to text in the leading junk.
+ - Updated to call localTimeInProjectTimeZone().
+ * Scripts/svn-apply:
+ - Removed the $changeLogTimeZone file variable.
+ - Added an $epochTime file variable to represent the current time.
+ - Removed the setChangeLogDateAndReviewer() subroutine.
+ - Updated patch() to use the new setChangeLogDateAndReviewer() syntax.
+ * Scripts/webkitperl/VCSUtils_unittest/setChangeLogDateAndReviewer.pl: Added.
+ - Added unit tests.
+
+2010-05-12 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ test-webkitpy fails on windows due to lack of readline module
+ https://bugs.webkit.org/show_bug.cgi?id=38884
+
+ Win32 Python does not have a readline module, so we should
+ not exit(1) if the import fails.
+
+ Also the failure message is mac-specific and doesn't need to be.
+ Only print the mac-specific install instructions on mac.
+
+ * Scripts/webkitpy/common/system/user.py:
+
+2010-05-12 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Nate Chapin.
+
+ [DRT/Chromium] Add a missing Sans-serif font setting
+ https://bugs.webkit.org/show_bug.cgi?id=38981
+
+ * DumpRenderTree/chromium/TestShell.cpp:
+ (TestShell::resetWebSettings):
+ Set "Helvetica" for Sans-serif. It is the same as the default setting of test_shell.
+
+2010-05-10 Ojan Vafai <ojan@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ webkit-patch upload --fancy-review now uses the bugzilla bug ID as the rietveld ID
+ https://bugs.webkit.org/show_bug.cgi?id=38866
+
+ wkrietveld.appspot.com has already been updated to allow you to
+ pass --issue for the issue creation as well as subsequent uploads.
+
+ Also, remove the extra code for trying to read out the issue ID
+ from the changelog description since we just use the bugzilla ID now.
+
+ * Scripts/webkitpy/common/config/__init__.py:
+ * Scripts/webkitpy/common/net/rietveld.py:
+ * Scripts/webkitpy/tool/steps/postcodereview.py:
+ * Scripts/webkitpy/tool/steps/postdiff.py:
+
+2010-05-12 Ojan Vafai <ojan@chromium.org>
+
+ No review needed.
+
+ Marking myself as a reviewer.
+
+ * Scripts/webkitpy/common/config/committers.py:
+
+2010-05-12 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ new-run-webkit-tests: add a --print default option so that you can
+ easily get the default output plus something (e.g., you can say
+ '--print default,config' instead of '--print misc,one-line-progress,
+ one-line-summary,unexpected,unexpected-results,updates,config'.
+
+ Also, add more unit tests for --verbose, --print everything, etc.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38877
+
+ * Scripts/webkitpy/layout_tests/layout_package/printing.py:
+ * Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py:
+
+2010-05-12 Csaba Osztrogonác <ossy@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Qt build failures cause SheriffBot false positives
+ https://bugs.webkit.org/show_bug.cgi?id=38969
+
+ Add Qt bots back to the core builders, because bug fixed by r59261.
+
+ * Scripts/webkitpy/common/net/buildbot.py:
+ * Scripts/webkitpy/common/net/buildbot_unittest.py:
+
+2010-05-12 Csaba Osztrogonác <ossy@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Slave losts cause build break on bots
+ https://bugs.webkit.org/show_bug.cgi?id=38980
+
+ * Scripts/build-webkit: Remove 0 byte sized files from productDir before build.
+
+2010-05-12 Csaba Osztrogonác <ossy@webkit.org>
+
+ Unreviewed trivial fix after r59254.
+
+ * Scripts/old-run-webkit-tests:
+
+2010-05-12 Csaba Osztrogonác <ossy@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ run-webkit-tests --exit-after-N-failures should not count new tests as failures
+ https://bugs.webkit.org/show_bug.cgi?id=31829
+
+ * Scripts/old-run-webkit-tests:
+
+2010-05-12 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Simon Fraser.
+
+ Disable smooth scrolling on OS X when running tests
+ https://bugs.webkit.org/show_bug.cgi?id=38964
+
+ Some tests (like fast/repaint/fixed-move-after-keyboard-scroll.html)
+ depend on smooth scrolling behavior. Since this is off by default
+ in Leopard and on by default in Snow Leopard, DRT should turn it
+ off always to ensure a consistent test environment.
+
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (resetDefaultsToConsistentValues):
+
+2010-05-10 Rodrigo Belem <rodrigo.belem@openbossa.org>
+
+ Reviewed by Kenneth Christiansen , Simon Hausmann and Gustavo Noronha.
+
+ [Qt, Gtk] Allows build-webkit script to receive an install prefix as parameter
+ https://bugs.webkit.org/show_bug.cgi?id=26224
+
+ Added more parameters to build-webkit script, the --prefix for gkt
+ and --install-libs, --install-headers for qt. Now it is possible
+ to change the install prefix for gtk and install path for qt.
+
+ * Scripts/build-webkit:
+ * Scripts/webkitdirs.pm:
+
+2010-05-12 Philippe Normand <pnormand@igalia.com>
+
+ Unreviewed, added my IRC nickname.
+
+ * Scripts/webkitpy/common/config/committers.py:
+
+2010-05-11 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Fixed two FIXME's in svn-apply: eliminated the unnecessary %copiedFiles
+ variable and changed gitKnowsOfFile() to use exitStatus().
+
+ https://bugs.webkit.org/show_bug.cgi?id=38862
+
+ * Scripts/svn-apply:
+
+2010-05-11 Eric Seidel <eric@webkit.org>
+
+ Unreviewed, just fixing python typo.
+
+ EWS bots should poll more often than every 5 minutes
+ https://bugs.webkit.org/show_bug.cgi?id=38968
+
+ Typo in _now(), add a unittest to prove I fixed it.
+
+ * Scripts/webkitpy/tool/bot/queueengine.py:
+ * Scripts/webkitpy/tool/bot/queueengine_unittest.py:
+
+2010-05-11 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Qt build failures cause SheriffBot false positives
+ https://bugs.webkit.org/show_bug.cgi?id=38969
+
+ The Qt buildbot randomly fails to compile occasionally because its
+ network connection causes SVn to leave zero-byte files around. These
+ compile failures confuse SheriffBot into thinking someone's patch
+ caused a build break.
+
+ In this patch, I've temporarily removed Qt from the list of core
+ builders. Ossy is working on a script to clean up the zero byte files.
+ Once that goes in, we can add Qt back to the core builders.
+
+ * Scripts/webkitpy/common/net/buildbot.py:
+ * Scripts/webkitpy/common/net/buildbot_unittest.py:
+
+2010-05-11 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ sheriffbot is spammy.
+ https://bugs.webkit.org/show_bug.cgi?id=38936
+
+ Reduce sheriffbot spam by not warning about new blameworthy revisions
+ that can be explained by previously blamed revisions. This might cause
+ us to not warn about some real failures, but we're getting too much
+ spam from slow builders that have large blamelists (and we've already
+ poked the responsible folks using data from a fast builder).
+
+ * Scripts/webkitpy/tool/bot/sheriff_unittest.py:
+ - Removed unneeded import
+ * Scripts/webkitpy/tool/commands/sheriffbot.py:
+ - The logic change
+ * Scripts/webkitpy/tool/commands/sheriffbot_unittest.py:
+ - Tests of the change
+ * Scripts/webkitpy/tool/mocktool.py:
+ - Merged two declarations of MockBuilder
+
+2010-05-11 Tony Chang <tony@chromium.org>
+
+ Reviewed by David Levin.
+
+ [chromium] detect num processors to pass to make -j on Linux
+ https://bugs.webkit.org/show_bug.cgi?id=38833
+
+ * Scripts/webkitdirs.pm:
+
+2010-05-11 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ EWS bots should poll more often than every 5 minutes
+ https://bugs.webkit.org/show_bug.cgi?id=38968
+
+ We'll make them poll every 2 minutes to start with.
+ I'm going to re-write how polling works soon, so this is
+ a stop-gap to try and make the bots more responsive.
+
+ If Bill notices any additional load on bugzilla we'll drop
+ the polling frequency back to 5 minutes. He's historically said
+ that the EWS bots appear to be a drop in the bucket and thus
+ should be able to poll much more frequently w/o causing trouble.
+
+ * Scripts/webkitpy/tool/bot/queueengine.py:
+ * Scripts/webkitpy/tool/bot/queueengine_unittest.py:
+ - Add a test for sleep_message
+
+2010-05-11 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ commit-queue should commit rollouts without running tests
+ https://bugs.webkit.org/show_bug.cgi?id=38940
+
+ Most of this change is improving our test coverage for the commit-queue.
+ The only functional change is removing the --test flag when the commit-queue
+ is running in rollouts mode.
+
+ I added test coverage for status updates, and updated the commit-queue status
+ messages to distinguish rollout vs. normal landing mode in its empty queue
+ and land patch messages.
+
+ * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
+ - Got rid of a bunch of copy/paste code using _default_expected_stderr
+ * Scripts/webkitpy/tool/commands/queues.py:
+ - Moved rollout patch filtering out of _validate_patches_in_commit_queue
+ so that we only have to check if the builders are green in one place.
+ - Make the "empty queue" message note which queue it is referring to.
+ - Don't pass --text to land-attachment when in rollout mode.
+ * Scripts/webkitpy/tool/commands/queues_unittest.py:
+ - Update results now that we're testing status updates.
+ - Test _can_build_and_test since I made a typo in that call while
+ writing this change and the unit tests failed to catch it!
+ * Scripts/webkitpy/tool/mocktool.py:
+ - Log status updates to make them testable in our unit tests.
+
+2010-05-11 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [DRT/Chromium] Apply recent changes of test_shell to DRT
+ https://bugs.webkit.org/show_bug.cgi?id=38895
+
+ Port the changes to test_shell during (r40492, r46810] of Chromium.
+ Highlights:
+ - Introduce NotificationPresenter
+ - Fix parameter mismatch of WebViewClient::startDragging()
+
+ This change fixes dozens of unexpected behaviors.
+
+ * DumpRenderTree/DumpRenderTree.gypi:
+ Add NotificationPresenter.{cpp,h}
+ * DumpRenderTree/chromium/EventSender.cpp:
+ (applyKeyModifier):
+ (EventSender::EventSender):
+ (EventSender::reset):
+ (EventSender::webview):
+ (EventSender::doDragDrop):
+ (EventSender::keyDown):
+ (EventSender::addTouchPoint):
+ (EventSender::clearTouchPoints):
+ (EventSender::releaseTouchPoint):
+ (EventSender::setTouchModifier):
+ (EventSender::updateTouchPoint):
+ (EventSender::cancelTouchPoint):
+ (EventSender::sendCurrentTouchEvent):
+ (EventSender::touchEnd):
+ (EventSender::touchMove):
+ (EventSender::touchStart):
+ (EventSender::touchCancel):
+ * DumpRenderTree/chromium/EventSender.h:
+ * DumpRenderTree/chromium/LayoutTestController.cpp:
+ (LayoutTestController::LayoutTestController):
+ (LayoutTestController::reset):
+ (LayoutTestController::showWebInspector):
+ (LayoutTestController::setAuthorAndUserStylesEnabled):
+ (LayoutTestController::setScrollbarPolicy):
+ (LayoutTestController::setWillSendRequestClearHeader):
+ (LayoutTestController::callShouldCloseOnWebView):
+ (LayoutTestController::grantDesktopNotificationPermission):
+ (LayoutTestController::removeOriginAccessWhitelistEntry):
+ (LayoutTestController::addUserScript):
+ (LayoutTestController::addUserStyleSheet):
+ * DumpRenderTree/chromium/LayoutTestController.h:
+ * DumpRenderTree/chromium/NotificationPresenter.cpp: Added.
+ * DumpRenderTree/chromium/NotificationPresenter.h: Added.
+ * DumpRenderTree/chromium/TestShell.cpp:
+ (TestShell::TestShell):
+ (TestShell::runFileTest):
+ (TestShell::resetTestController):
+ * DumpRenderTree/chromium/TestShell.h:
+ (TestShell::eventSender):
+ (TestShell::notificationPresenter):
+ (TestShell::showDevTools):
+ * DumpRenderTree/chromium/WebViewHost.cpp:
+ (WebViewHost::createView):
+ (WebViewHost::createPopupMenu):
+ (WebViewHost::startDragging):
+ (WebViewHost::notificationPresenter):
+ (WebViewHost::createApplicationCacheHost):
+ (WebViewHost::willSendRequest):
+ (WebViewHost::updateAddressBar):
+ (WebViewHost::updateURL):
+ * DumpRenderTree/chromium/WebViewHost.h:
+ (WebViewHost::addClearHeader):
+ (WebViewHost::clearHeaders):
+
+2010-05-10 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ new-run-webkit-tests: fix a path-handling bug that was breaking the
+ dryrun ports on windows, and add a comment about why we don't run
+ the chromium dryrun tests by default on every port.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38796
+
+ * Scripts/webkitpy/layout_tests/port/dryrun.py:
+ * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py:
+
+2010-05-11 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <http://webkit.org/b/38941> build-webkit shouldn't always override ENABLE_FOO Xcode configuration settings
+
+ * Scripts/build-webkit: Don't pass the ENABLE setting to xcodebuild if the value matches the default.
+ This will lead to xcodebuild picking up the settings from FeatureDefines.xcconfig, and will aid in
+ revealing problems that are due to inconsistent values for settings across projects.
+
+2010-05-11 Mark Rowe <mrowe@apple.com>
+
+ Build fix.
+
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+
+2010-05-10 Ojan Vafai <ojan@chromium.org>
+
+ Reviewed by David Levin.
+
+ CheckStyle was eating script errors when there were local-commits and working copy changes
+ https://bugs.webkit.org/show_bug.cgi?id=38880
+
+ * Scripts/webkitpy/tool/steps/checkstyle.py:
+ * Scripts/webkitpy/tool/steps/checkstyle_unittest.py: Added.
+
+2010-05-11 Jian Li <jianli@chromium.org>
+
+ Reviewed by Dmitry Titov.
+
+ Expose FileReader interface.
+ https://bugs.webkit.org/show_bug.cgi?id=38609
+
+ * Scripts/build-webkit: turn on building FileReader for Apple's WebKit.
+
+2010-05-10 Tony Chang <tony@chromium.org>
+
+ Reviewed by Kent Tamura.
+
+ [chromium] Build DRT when running build-webkit --chromium
+ https://bugs.webkit.org/show_bug.cgi?id=38730
+
+ * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp: Removed.
+ * Scripts/build-dumprendertree: This does nothing now.
+
+2010-05-10 Jon Honeycutt <jhoneycutt@apple.com>
+
+ REGRESSION(r59100): Added test is broken on many platforms.
+ https://bugs.webkit.org/show_bug.cgi?id=38881
+
+ Reviewed by Eric Seidel.
+
+ * DumpRenderTree/win/TestNetscapePlugin/main.cpp:
+ (NPP_Destroy):
+ Use pluginLog, rather than printf, to match other platforms.
+
+2010-05-10 Dirk Pranke <dpranke@chromium.org>
+
+ Unreviewed, build fix.
+
+ Fix a build failure caused by assuming the default platform in
+ a unit test for new-run-webkit-tests instead of specifying
+ --platform test.
+
+ * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py:
+
+2010-05-10 Dirk Pranke <dpranke@chromium.org>
+
+ Unreviewed, build-fix
+
+ new-run-webkit-tests: fix test failure caused by me failing to update
+ the expected output. Also, run '--platform test' instead of
+ 'platform dryrun' since the former is guaranteed to work and the
+ latter isn't.
+
+ * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py:
+
+2010-05-10 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by David Levin.
+
+ new-run-webkit-tests: looks like the unicode conversion broke
+ --print-last-failures and --retest-last-failures. Fixing.
+
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+ * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py:
+
+2010-05-10 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by David Levin.
+
+ Re-attempt to fix 38616 - newline handling in new-run-webkit-tests.
+ I didn't handle some cases correctly before and the solution was
+ confusing. The new patch assumes all calls to the printing module
+ don't have newlines, and will append newlines where necessary, just
+ like logging does.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38790
+
+ * Scripts/webkitpy/layout_tests/layout_package/metered_stream.py:
+ * Scripts/webkitpy/layout_tests/layout_package/metered_stream_unittest.py:
+ * Scripts/webkitpy/layout_tests/layout_package/printing.py:
+ * Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py:
+ * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py:
+
+2010-05-10 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Make tkent a reviewer
+ https://bugs.webkit.org/show_bug.cgi?id=38875
+
+ * Scripts/webkitpy/common/config/committers.py:
+
+2010-05-07 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Crash closing window containing Flash plug-in
+ https://bugs.webkit.org/show_bug.cgi?id=38797
+ <rdar://problem/7935266>
+
+ Reviewed by Eric Seidel.
+
+ * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
+ (pluginAllocate):
+ Initialize new member to false.
+
+ * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.h:
+ Added a new member.
+
+ * DumpRenderTree/win/TestNetscapePlugin/main.cpp:
+ (NPP_New):
+ Check whether the element has the "testGetURLOnDestroy" attribute, and
+ record that.
+ (NPP_Destroy):
+ If "testGetURLOnDestroy" is set, perform a load while destroying the
+ plug-in.
+
+2010-05-10 Eric Seidel <eric@webkit.org>
+
+ Reviewed by David Levin.
+
+ Executive.kill_* do not work with windows python
+ https://bugs.webkit.org/show_bug.cgi?id=38872
+
+ http://trac.webkit.org/changeset/57444 is where the original
+ breakage occurred.
+ http://trac.webkit.org/changeset/58314 is where the regression
+ started affecting chromium.
+
+ I have since learned that sys.platform has no "windows" value.
+ "win32" is always the value, under 32 or 64 bit windows
+
+ The tests for this code are not run anywhere because
+ test-webkitpy does not yet work on "win32". Mostly due to
+ depending on unixisms like "cat" and "yes".
+
+ * Scripts/webkitpy/common/system/executive.py:
+ * Scripts/webkitpy/common/system/executive_unittest.py:
+
+2010-05-10 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Fix a bug in rebaseline-chromium-webkit-tests where we would crash
+ instead of logging an error and exiting if it couldn't find either a
+ debug or a release build of the image diff binary.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38692
+
+ * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
+ * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests_unittest.py: Added.
+
+2010-05-10 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ new-run-webkit-tests fails when run under sys.platform == "windows" due to undefined signal.SIGKILL
+ https://bugs.webkit.org/show_bug.cgi?id=38861
+
+ * Scripts/webkitpy/common/system/executive.py:
+ * Scripts/webkitpy/common/system/executive_unittest.py:
+
+2010-05-10 Jer Noble <jer.noble@apple.com>
+
+ Unreviewed.
+
+ Adding myself as a committer.
+
+ * Scripts/webkitpy/common/config/committers.py:
+
+2010-05-10 Hans Wennborg <hans@chromium.org>
+
+ Reviewed by Jeremy Orlow.
+
+ [Chromium] Add quota parameter to WebViewClient::createSessionStorageNamespace()
+ https://bugs.webkit.org/show_bug.cgi?id=38750
+
+ Put a per-origin quota on session storage since it is using memory in
+ the browser process, and should not be allowed to grow arbitrarily
+ large. See also http://trac.webkit.org/changeset/58828.
+
+ * DumpRenderTree/chromium/WebViewHost.cpp:
+ (WebViewHost::createSessionStorageNamespace):
+ * DumpRenderTree/chromium/WebViewHost.h:
+
+2010-05-10 Csaba Osztrogonác <ossy@webkit.org>
+
+ Rubber-stamped by Simon Hausmann.
+
+ [Qt] Roll-out r59020 and r59021, because the Qt part of these changes
+ haven't been landed in Qt trunk yet. Should be rolled-in again after the merge.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32967
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::WebPage::WebPage):
+ (WebCore::DumpRenderTree::DumpRenderTree):
+ * DumpRenderTree/qt/DumpRenderTreeQt.h:
+
+2010-05-09 Daniel Bates <dbates@rim.com>
+
+ Reviewed by Chris Jerdonek.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38812
+
+ Make the regular expressions for parsing the start of an SVN
+ and Git header global variables since they are used throughout
+ VCSUtils.pm.
+
+ * Scripts/VCSUtils.pm:
+
+2010-05-09 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ Finished moving the header-parsing logic from svn-apply and -unapply
+ to VCSUtils.pm's parsing methods.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38802
+
+ * Scripts/VCSUtils.pm:
+ - Added to parseGitDiffHeader() the ability to parse and store
+ whether a file is new or deleted.
+ - Also reordered in parseGitDiffHeader() some of the else statements
+ to a more readable ordering.
+ - Added to parseSvnDiffHeader() the ability to parse and store
+ whether a file is new.
+ * Scripts/svn-apply:
+ - Changed handleGitBinaryChange() to use the new "isNew" and "isDeletion"
+ diffHash key-values.
+ - Changed patch() to use the new "isNew" diffHash key-value.
+ * Scripts/svn-unapply:
+ - Changed patch() to use the new "isNew" and "isDeletion" diffHash key-values.
+ * Scripts/webkitperl/VCSUtils_unittest/parseDiff.pl:
+ - Added unit tests for new and deleted files.
+ * Scripts/webkitperl/VCSUtils_unittest/parseGitDiffHeader.pl:
+ - Updated the unit tests as necessary.
+ - Added a unit test for a deleted file.
+ * Scripts/webkitperl/VCSUtils_unittest/parseSvnDiffHeader.pl:
+ - Updated the unit tests as necessary.
+
+2010-05-08 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ Added to svn-apply support for git renames and copies with similarity
+ index less than 100%.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32834
+
+ * Scripts/VCSUtils.pm:
+ - Added to parseGitDiffHeader() support for renames and similarity
+ index less than 100%.
+ - Added to parseDiff() support for processing renames, renames with
+ changes, and copies with changes.
+ - Added to parsePatch() the ability to process multiple return
+ values from parseDiff().
+ * Scripts/svn-apply:
+ - Added to patch() the ability to process diff hashes with the
+ isDeletion key-value set.
+ * Scripts/webkitperl/VCSUtils_unittest/parseDiff.pl:
+ - Updated the unit tests as necessary.
+ - Added unit tests for rename with similarity index 100%,
+ rename with similarity index < 100%, and rename with a change
+ to the executable bit.
+ * Scripts/webkitperl/VCSUtils_unittest/parseGitDiffHeader.pl:
+ - Added unit tests for rename with similarity index 100%,
+ rename with similarity index < 100%, and rename with a change
+ to the executable bit.
+ * Scripts/webkitperl/VCSUtils_unittest/parsePatch.pl:
+ - Updated the unit tests as necessary.
+ * Scripts/webkitperl/VCSUtils_unittest/parseSvnDiffHeader.pl:
+ - Simplified the carriage-return unit test to more narrowly test
+ only carriage returns.
+
+2010-05-08 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ This revision suppresses the misleading "error: pathspec..." messages
+ when using svn-apply to add a binary file from a Git diff.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38047
+
+ When adding a new binary file from a Git diff, svn-apply prints
+ a misleading error of the form -- "error: pathspec '<filename>' did
+ not match any file(s) known to git. Did you forget to 'git add'?"
+ This patch suppresses these messages since they are normal.
+
+ * Scripts/VCSUtils.pm:
+ Added the callSilently() subroutine from runPatchCommand.pl, which
+ executes a Perl function while suppressing STDERR.
+ * Scripts/svn-apply:
+ Refactored the Git portion of scmKnowsOfFile() into a
+ gitKnowsOfFile(), and called this new subroutine using callSilently().
+ * Scripts/webkitperl/VCSUtils_unittest/runPatchCommand.pl:
+ Removed callSilently() since it was moved to VCSUtils.pm in this patch.
+
+2010-05-08 Victor Wang <victorw@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ [chromium]: Upload test results json files to app engine server
+ Add an option to run_webkit_tests.py to upload generated
+ JSON files to app engine server. These JSON files will be used
+ by chromium layout test falkiness dashboard.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36063
+
+ * Scripts/webkitpy/layout_tests/layout_package/test_results_uploader.py: Added.
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+
+2010-05-08 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Build the ImageDiff tool for all platforms including Windows and Symbian
+ https://bugs.webkit.org/show_bug.cgi?id=38706
+
+ Use qmath.h instead of math.h to make it portable.
+
+ * DumpRenderTree/qt/ImageDiff.cpp:
+ (main):
+
+2010-05-08 Robert Hogan <robert@roberthogan.net>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix http/tests/xmlhttprequest/cross-origin-no-authorization.html
+ and http/tests/xmlhttprequest/cross-origin-authorization.html
+
+ QHttpNetworkRequest adds Authorization and Cookie headers to XHRs
+ without knowing if this is valid behaviour or not. In order to allow
+ Qt to decide whether Cookie/Authorization headers should be added
+ to an XHR QtWebKit needs to use an attribute added to QNetworkRequest.
+ These new attributes are: QNetworkRequest::CookieLoadControlAttribute,
+ QNetworkRequest::CookieSaveControlAttribute,and
+ QNetworkRequest::AuthenticationReuseControlAttribute.
+
+ In order to properly support the tests, Qt's DRT needs to use one
+ NetworkAccessManager for all pages. This allows it to use cached
+ credentials where appropriate.
+
+ The tests now pass when run individually but there seems to be a problem with
+ leaking the results of requests across tests when run with the others in
+ http/tests. This will be addressed in a separate patch.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32967
+
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::WebPage::WebPage):
+ (WebCore::DumpRenderTree::DumpRenderTree):
+ * DumpRenderTree/qt/DumpRenderTreeQt.h:
+
+
+2010-05-04 Robert Hogan <robert@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [Qt] unskip http/tests/plugins/npapi-response-headers.html
+
+ Turns out this failed because run-webkit-tests was eating the first occurrence
+ of 'Content-Type: text/plain' in the test output as a header. Strange but true.
+ So do as Chromium does and preface all text dumps with the
+ 'Content-Type: text/plain' header.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38541
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::DumpRenderTree::dump):
+
+2010-05-08 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ test-webkitpy fails under cygwin
+ https://bugs.webkit.org/show_bug.cgi?id=38718
+
+ * Scripts/webkitpy/common/system/executive.py:
+ - Add _KILL_PROCESS_KILLED_PROCESS_EXIT_CODE and
+ _KILL_ALL_KILLED_PROCESS_EXIT_CODE to store the expected
+ exit codes of processes killed by kill_process and kill_all.
+ These two constants are only used by the unit tests but are
+ stored in executive.py so they can be right next to the platform ifs.
+ - Remove unnecessary str() conversion, run_command does that for us.
+ - Make os.kill retry on cygwin on EAGAIN. It's unclear why CYGWIN
+ throws EAGAIN, but it only does so sometimes. 3 may not be enough
+ retries, but we'll try it to start with.
+ - Add _windows_image_name to automatically convert "yes" to "yes.exe"
+ for use with taskkill.exe /im. Various callers to kill_all could
+ be updated to remove the .exe, but that can be done in another patch.
+ - Use taskkill.exe for killall on cygwin.
+ * Scripts/webkitpy/common/system/executive_unittest.py:
+ - Use the new *_KILLED_PROCESS_EXIT_CODE constants which are correctly
+ set to 0 on windows/cygwin systems where taskkill.exe is used.
+ - Test _windows_image_name
+ * Scripts/webkitpy/layout_tests/port/chromium_win.py:
+ - Add FIXME about including mac-snowleopard in baseline_search_path.
+ * Scripts/webkitpy/layout_tests/port/webkit.py:
+ - Make default_configuration actually read from the Configuration file.
+ * Scripts/webkitpy/layout_tests/port/webkit_unittest.py: Added.
+ - Test default_configuration
+ * Scripts/webkitpy/layout_tests/port/win.py:
+ - Need a basic baseline_search_path if --platform dryrun is to work.
+
+2010-05-08 Eric Seidel <eric@webkit.org>
+
+ Unreviewed, just reverting commit.
+
+ REGRESSION(59000): r59000 contained all sorts of changes it should not have, needs revert.
+ https://bugs.webkit.org/show_bug.cgi?id=38798
+
+ * Scripts/webkitpy/common/system/executive.py:
+ * Scripts/webkitpy/common/system/executive_unittest.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_win.py:
+ * Scripts/webkitpy/layout_tests/port/mac.py:
+ * Scripts/webkitpy/layout_tests/port/webkit.py:
+ * Scripts/webkitpy/layout_tests/port/webkit_unittest.py: Removed.
+ * Scripts/webkitpy/layout_tests/port/win.py:
+ * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py:
+ * Scripts/webkitpy/tool/commands/download.py:
+ * Scripts/webkitpy/tool/commands/download_unittest.py:
+
+2010-05-06 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ test-webkitpy fails under cygwin
+ https://bugs.webkit.org/show_bug.cgi?id=38718
+
+ * Scripts/webkitpy/common/system/executive.py:
+ - Add _KILL_PROCESS_KILLED_PROCESS_EXIT_CODE and
+ _KILL_ALL_KILLED_PROCESS_EXIT_CODE to store the expected
+ exit codes of processes killed by kill_process and kill_all.
+ These two constants are only used by the unit tests but are
+ stored in executive.py so they can be right next to the platform ifs.
+ - Remove unnecessary str() conversion, run_command does that for us.
+ - Make os.kill retry on cygwin on EAGAIN. It's unclear why CYGWIN
+ throws EAGAIN, but it only does so sometimes. 3 may not be enough
+ retries, but we'll try it to start with.
+ - Add _windows_image_name to automatically convert "yes" to "yes.exe"
+ for use with taskkill.exe /im. Various callers to kill_all could
+ be updated to remove the .exe, but that can be done in another patch.
+ - Use taskkill.exe for killall on cygwin.
+ * Scripts/webkitpy/common/system/executive_unittest.py:
+ - Use the new *_KILLED_PROCESS_EXIT_CODE constants which are correctly
+ set to 0 on windows/cygwin systems where taskkill.exe is used.
+ - Test _windows_image_name
+ * Scripts/webkitpy/layout_tests/port/chromium_win.py:
+ - Add FIXME about including mac-snowleopard in baseline_search_path.
+ * Scripts/webkitpy/layout_tests/port/webkit.py:
+ - Make default_configuration actually read from the Configuration file.
+ * Scripts/webkitpy/layout_tests/port/webkit_unittest.py: Added.
+ - Test default_configuration
+ * Scripts/webkitpy/layout_tests/port/win.py:
+ - Need a basic baseline_search_path if --platform dryrun is to work.
+
+ 2010-05-07 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ DryrunTest fails on every platform other than mac
+ https://bugs.webkit.org/show_bug.cgi?id=38796
+
+ The test uses the port detection logic to find a suitable
+ port to use results from. However that detection logic assumes
+ chromium on linux, which requires a chromium checkout which the
+ bots don't have. The test is broken and we'll need to fix it.
+ For now I'm just going to disable the test on all platforms besides mac.
+
+ * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py:
+
+ 2010-05-07 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ Clean up baseline_search_path to use map to reduce copy/paste code
+ https://bugs.webkit.org/show_bug.cgi?id=38792
+
+ Reading which portnames a port falls back to is easier if
+ we convert port names to paths with map instead of using copy/paste code.
+
+ * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_win.py:
+ * Scripts/webkitpy/layout_tests/port/mac.py:
+
+ 2010-05-07 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ rollout commands fail when commit is missing bug number
+ https://bugs.webkit.org/show_bug.cgi?id=38791
+
+ * Scripts/webkitpy/tool/commands/download.py:
+ - _commit_info failed to actually return the CommitInfo in the no-bug-id case.
+ * Scripts/webkitpy/tool/commands/download_unittest.py:
+ - Test that the fix worked.
+
+2010-05-07 Darin Fisher <darin@chromium.org>
+
+ Fix build bustage: toElement<T> should be to<T>.
+
+ * DumpRenderTree/chromium/LayoutTestController.cpp:
+ (LayoutTestController::elementDoesAutoCompleteForElementWithId):
+
+2010-05-07 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ Refactored VCSUtils.pm's parse-related methods to leave inapplicable
+ hash values unset instead of setting them to "undef".
+
+ https://bugs.webkit.org/show_bug.cgi?id=38724
+
+ Preferring "not set" over "undef" keeps the unit tests smaller and
+ easier to maintain. Otherwise, we would have to update every unit
+ test case each time we add support for a new key-value pair --
+ instead of just the relevant ones.
+
+ * Scripts/VCSUtils.pm:
+ - In parseGitDiffHeader(), adjusted the handling of these key-values:
+ executableBitDelta and isBinary.
+ - In parseSvnDiffHeader(), adjusted the handling of these key-values:
+ copiedFromPath, isBinary, and sourceRevision.
+ - In parseDiffHeader(), adjusted the handling of these key-values:
+ isGit and isSvn.
+ - In parseDiff(), adjusted the handling of these key-values:
+ isBinary, isGit, isSvn, and sourceRevision.
+
+ * Scripts/webkitperl/VCSUtils_unittest/parseDiff.pl:
+ - Updated the unit tests as necessary.
+
+ * Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:
+ - Updated the unit tests as necessary.
+
+ * Scripts/webkitperl/VCSUtils_unittest/parseGitDiffHeader.pl:
+ - Updated the unit tests as necessary.
+
+ * Scripts/webkitperl/VCSUtils_unittest/parseSvnDiffHeader.pl:
+ - Updated the unit tests as necessary.
+
+2010-05-06 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Dan Bernstein.
+
+ Exclude leaks due to <rdar://problem/7815391> from the output.
+
+ * Scripts/old-run-webkit-tests:
+
+2010-05-06 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r58933.
+ http://trac.webkit.org/changeset/58933
+ https://bugs.webkit.org/show_bug.cgi?id=38717
+
+ "Broke all websocket tests on Tiger" (Requested by eseidel on
+ #webkit).
+
+ * Scripts/new-run-webkit-websocketserver:
+ * Scripts/old-run-webkit-tests:
+ * Scripts/run-webkit-websocketserver:
+ * Scripts/webkitpy/layout_tests/port/websocket_server.py:
+ * Scripts/webkitpy/thirdparty/__init__.py:
+ * Scripts/webkitpy/thirdparty/pywebsocket/COPYING: Added.
+ * Scripts/webkitpy/thirdparty/pywebsocket/MANIFEST.in: Added.
+ * Scripts/webkitpy/thirdparty/pywebsocket/README: Added.
+ * Scripts/webkitpy/thirdparty/pywebsocket/README.webkit: Added.
+ * Scripts/webkitpy/thirdparty/pywebsocket/example/echo_client.py: Added.
+ * Scripts/webkitpy/thirdparty/pywebsocket/example/echo_wsh.py: Added.
+ * Scripts/webkitpy/thirdparty/pywebsocket/example/handler_map.txt: Added.
+ * Scripts/webkitpy/thirdparty/pywebsocket/mod_pywebsocket/__init__.py: Added.
+ * Scripts/webkitpy/thirdparty/pywebsocket/mod_pywebsocket/dispatch.py: Added.
+ * Scripts/webkitpy/thirdparty/pywebsocket/mod_pywebsocket/handshake.py: Added.
+ * Scripts/webkitpy/thirdparty/pywebsocket/mod_pywebsocket/headerparserhandler.py: Added.
+ * Scripts/webkitpy/thirdparty/pywebsocket/mod_pywebsocket/memorizingfile.py: Added.
+ * Scripts/webkitpy/thirdparty/pywebsocket/mod_pywebsocket/msgutil.py: Added.
+ * Scripts/webkitpy/thirdparty/pywebsocket/mod_pywebsocket/standalone.py: Added.
+ * Scripts/webkitpy/thirdparty/pywebsocket/mod_pywebsocket/util.py: Added.
+ * Scripts/webkitpy/thirdparty/pywebsocket/setup.py: Added.
+ * Scripts/webkitpy/thirdparty/pywebsocket/test/config.py: Added.
+ * Scripts/webkitpy/thirdparty/pywebsocket/test/mock.py: Added.
+ * Scripts/webkitpy/thirdparty/pywebsocket/test/run_all.py: Added.
+ * Scripts/webkitpy/thirdparty/pywebsocket/test/test_dispatch.py: Added.
+ * Scripts/webkitpy/thirdparty/pywebsocket/test/test_handshake.py: Added.
+ * Scripts/webkitpy/thirdparty/pywebsocket/test/test_memorizingfile.py: Added.
+ * Scripts/webkitpy/thirdparty/pywebsocket/test/test_mock.py: Added.
+ * Scripts/webkitpy/thirdparty/pywebsocket/test/test_msgutil.py: Added.
+ * Scripts/webkitpy/thirdparty/pywebsocket/test/test_util.py: Added.
+ * Scripts/webkitpy/thirdparty/pywebsocket/test/testdata/README: Added.
+ * Scripts/webkitpy/thirdparty/pywebsocket/test/testdata/handlers/blank_wsh.py: Added.
+ * Scripts/webkitpy/thirdparty/pywebsocket/test/testdata/handlers/origin_check_wsh.py: Added.
+ * Scripts/webkitpy/thirdparty/pywebsocket/test/testdata/handlers/sub/exception_in_transfer_wsh.py: Added.
+ * Scripts/webkitpy/thirdparty/pywebsocket/test/testdata/handlers/sub/no_wsh_at_the_end.py: Added.
+ * Scripts/webkitpy/thirdparty/pywebsocket/test/testdata/handlers/sub/non_callable_wsh.py: Added.
+ * Scripts/webkitpy/thirdparty/pywebsocket/test/testdata/handlers/sub/plain_wsh.py: Added.
+ * Scripts/webkitpy/thirdparty/pywebsocket/test/testdata/handlers/sub/wrong_handshake_sig_wsh.py: Added.
+ * Scripts/webkitpy/thirdparty/pywebsocket/test/testdata/handlers/sub/wrong_transfer_sig_wsh.py: Added.
+ * Scripts/webkitpy/thirdparty/pywebsocket/test/testdata/hello.pl: Added.
+
+2010-05-06 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by David Levin.
+
+ WebSocket: pywebsocket 0.5
+ https://bugs.webkit.org/show_bug.cgi?id=38034
+
+ Remove pywebsocket from webkitpy/thirdparty.
+ Make pywebsocket autoinstalled.
+
+ * Scripts/new-run-webkit-websocketserver:
+ Add --output-dir option.
+ * Scripts/old-run-webkit-tests:
+ Use new-run-webkit-websocketserver, rather than directly run pywebsocket's standalone.py
+ * Scripts/run-webkit-websocketserver:
+ Ditto.
+ * Scripts/webkitpy/layout_tests/port/websocket_server.py:
+ Use autoinstalled pywebsocket.
+ * Scripts/webkitpy/thirdparty/__init__.py:
+ Autoinstall pywebsocket
+ * Scripts/webkitpy/thirdparty/pywebsocket: Removed.
+
+2010-05-06 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ svn-apply now understands the Git diff "copy from" syntax when the
+ similarity index is 100%.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38628
+
+ * Scripts/VCSUtils.pm:
+ - Adjusted parseGitDiffHeader() to parse the "copy from" and
+ "similarity index" lines.
+
+ * Scripts/svn-unapply:
+ - Adjusted the patch() subroutine so that copies are recognized
+ as file additions.
+
+ * Scripts/webkitperl/VCSUtils_unittest/parseGitDiffHeader.pl:
+ - Added unit tests for the cases of a copy with similarity index
+ 100% and less than 100%.
+
+2010-05-06 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ Removed the need for svn-apply and -unapply to re-parse whether
+ a diff is binary or not.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38320
+
+ * Scripts/VCSUtils.pm:
+ - Adjusted parseGitDiffHeader() to set the isBinary key.
+ - Adjusted parseSvnDiffHeader() to set the isBinary key.
+ - Adjusted parseDiffHeader() to set the isBinary key.
+ - Changed the scmFormat key set by parseDiffHeader() to
+ isGit and isSvn keys.
+ - Adjusted parseDiff() to set the isBinary, isGit, and isSvn keys.
+
+ * Scripts/svn-apply:
+ - Updated the patch() method to use the isBinary, isGit, and
+ isSvn keys.
+
+ * Scripts/svn-unapply:
+ - Updated the patch() method to use the isBinary and isSvn keys.
+
+ * Scripts/webkitperl/VCSUtils_unittest/parseDiff.pl:
+ - Updated the unit tests as necessary.
+ - Added a test case to test that the isBinary key is getting set properly.
+
+ * Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:
+ - Updated the unit tests as necessary.
+
+ * Scripts/webkitperl/VCSUtils_unittest/parseGitDiffHeader.pl:
+ - Updated the unit tests as necessary.
+
+ * Scripts/webkitperl/VCSUtils_unittest/parseSvnDiffHeader.pl:
+ - Updated the unit tests as necessary.
+
+2010-05-06 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [DRT/Chromium] Add support for resources on Mac
+ https://bugs.webkit.org/show_bug.cgi?id=38637
+
+ Repack webkit_chromium_resources.pak, webkit_strings_en-US.pak,
+ and webkit_resources.pak, and put them as Mac bundle resource.
+ The 'actions' section is almost same as a part of test_shell.gypi.
+
+ * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
+
+2010-05-06 Csaba Osztrogonác <ossy@webkit.org>
+
+ [Qt] Unreviewed buildfix after r58917.
+
+ * DumpRenderTree/qt/LayoutTestControllerQt.h: Missing function declaration added.
+
+2010-05-06 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler and Dan Bernstein..
+
+ REGRESSION (r51617): when plugins are disabled, plugins show up as garbage characters
+ https://bugs.webkit.org/show_bug.cgi?id=38698
+ <rdar://problem/7942075>
+
+ Add a 'setPluginsEnabled' layoutTestController function for disabling plug-ins. This is only implemented on Mac currently
+ because the bug that needs this functionality is mac specific.
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (setPluginsEnabledCallback):
+ (LayoutTestController::staticFunctions):
+ * DumpRenderTree/LayoutTestController.h:
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::setPluginsEnabled):
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (resetDefaultsToConsistentValues):
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (LayoutTestController::setPluginsEnabled):
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::setPluginsEnabled):
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::setPluginsEnabled):
+ * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
+ (LayoutTestController::setPluginsEnabled):
+
+2010-05-06 Jochen Eisinger <jochen@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Make ImageDiff depend on WebKit. When compiled from within Chromium, WTF is not a standalone dynamic library but depends on WebKit.
+ https://bugs.webkit.org/show_bug.cgi?id=38632
+
+ * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
+
+2010-05-06 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Replace public inspector url with private property for QtLauncher
+ https://bugs.webkit.org/show_bug.cgi?id=35340
+
+ Replace the public API with a private dynamic property until this feature
+ is ready.
+
+ * QtLauncher/main.cpp:
+ (LauncherWindow::init):
+
+2010-05-05 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: build-webkit --inspector-frontend Should Exclude *.re2js
+ https://bugs.webkit.org/show_bug.cgi?id=38449
+
+ * Scripts/webkitdirs.pm:
+
+2010-05-05 Charles Wei <charles.wei@torchmobile.com.cn>
+
+ Reviewed by George Staikos
+
+ This patch adds WCSS -wap-input-format and -wap-input-required support to WebKit
+ Make the test cases in fast/wcss optionional only when WCSS is enabled.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37848
+
+ * Scripts/old-run-webkit-tests:
+ * Scripts/webkitperl/features.pm:
+
+2010-05-05 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ [DRT/Chromium] Remove InitWebCoreSystemInterface() call
+ https://bugs.webkit.org/show_bug.cgi?id=38624
+
+ Chromium r45167 <http://src.chromium.org/viewvc/chrome?view=rev&revision=45167>
+ added InitWebCoreSystemInterface() to webkit/support/platform_support_mac.mm.
+ So we don't need to call it from DumpRenderTree.cpp anymore.
+
+ * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
+ * DumpRenderTree/chromium/DumpRenderTree.cpp:
+ (main): Remove InitWebCoreSystemInterface().
+
+2010-05-05 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ new-run-webkit-tests: clean up newline handling in printing
+
+ The new printing module seems to handle newlines somewhat
+ inconsistently, especially in --verbose mode. This change cleans up
+ the code to make things more consistent and adds a bunch of unit tests.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38616
+
+ * Scripts/webkitpy/common/array_stream.py: Added.
+ * Scripts/webkitpy/common/array_stream_unittest.py: Added.
+ * Scripts/webkitpy/layout_tests/layout_package/metered_stream.py:
+ * Scripts/webkitpy/layout_tests/layout_package/metered_stream_unittest.py: Added.
+ * Scripts/webkitpy/layout_tests/layout_package/printing.py:
+ * Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py:
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+ * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py:
+
+2010-05-05 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Ban the single letter 'l' as an identifier name
+ http://trac.webkit.org/changeset/58844
+
+ Add a lint rule to ban the single letter 'l' as an identifier name
+ since it is very easy to confuse with the numeral '1', especially
+ in code like WebCore/css/CSSHelper.cpp.
+
+ See http://trac.webkit.org/changeset/58844 as an example of a bug
+ caused by confusing short variable names.
+
+ * Scripts/webkitpy/style/checkers/cpp.py:
+ * Scripts/webkitpy/style/checkers/cpp_unittest.py:
+
+2010-05-04 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ PrettyPatch.pretty_diff("") should not hang
+ https://bugs.webkit.org/show_bug.cgi?id=38552
+
+ Also found a bug in PrettyPatch.pretty_diff where it would
+ hang when passed "" as input.
+
+ I suspect there may be bugs in prettify.rb (or our use there-of)
+ where it can hang, which would then cause the testing thread to hang.
+
+ * Scripts/webkitpy/common/prettypatch.py:
+ - Don't hang when passed ""
+ * Scripts/webkitpy/common/prettypatch_unittest.py:
+ - Test that we don't hang when passed ""
+ * Scripts/webkitpy/layout_tests/port/base.py:
+ - Add a FIXME that we should share code with prettypatch.rb
+
+2010-05-04 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ new-run-webkit-tests: turn off threading on the Chromium Mac port until
+ we can stabilize the port more and figure out why it is hanging so
+ frequently.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38553
+
+ * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
+ - override default_child_processes() and log a warning
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+ - fix a typo that caused us to print a method object instead of the
+ value the method object returns in the case where there is only
+ one child process.
+ * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py:
+ - Add unit tests for the output of run_webkit_tests - in this case,
+ the handling of --child-processes and --print config
+
+2010-05-04 Timothy Hatcher <timothy@apple.com>
+
+ Fix the find command in extract-localizable-strings so skip
+ directories are correctly skipped and header files are searched.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38545
+ rdar://problem/7941295
+
+ Reviewed by Darin Adler.
+
+ * Scripts/extract-localizable-strings: Append -o after each -prune
+ so -and isn't implied. Surround all the -name arguments so they get
+ an implied -print action. Removed check for "icu". Skip any header that
+ ends in LocalizableStrings.h, so SafariLocalizableStrings.h is skipped.
+ * Scripts/update-webkit-localizable-strings: Add the two icu directories
+ to the skip list.
+
+2010-05-04 Jesus Sanchez-Palencia <jesus@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Wrong documentation on 'webkit-patch help land'.
+ https://bugs.webkit.org/show_bug.cgi?id=37871
+
+ Small fix on the help documentation for webkit-patch
+ land.
+
+ * Scripts/webkitpy/tool/commands/download.py:
+
+2010-05-04 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] QWebPage viewMode property
+ https://bugs.webkit.org/show_bug.cgi?id=38119
+
+ Rename the property from wrt_viewMode to _q_viewMode.
+
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::setViewModeMediaFeature):
+
+2010-05-04 Jochen Eisinger <jochen@chromium.org>
+
+ Reviewed by Jeremy Orlow.
+
+ Fix typo in run_webkit_tests.py: s/_print\./_printer./
+ https://bugs.webkit.org/show_bug.cgi?id=38515
+
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+
+2010-05-04 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ This revision completes the terminology change from "processor" to
+ "checker" for the CarriageReturnProcessor, CppProcessor,
+ PythonProcessor, and TextProcessor classes, etc.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38262
+
+ The word "processor" currently has two uses in our code. This
+ revision renames the lower-level use to "checker" and preserves the
+ word "processor" for higher-level, more general uses. This
+ revision also makes whatever other name changes that logically
+ followed from this change.
+
+ * Scripts/check-webkit-style:
+ - Updated references to PatchChecker.
+
+ * Scripts/webkitpy/style/checker.py:
+ - Renamed the StyleCheckerConfiguration class to
+ StyleProcessorConfiguration.
+ - Renamed the ProcessorDispatcher class to CheckerDispatcher, and
+ made similar changes for the class's method names.
+ - Renamed the PatchChecker class to PatchReader.
+ - Updated the file as necessary to accommodate the other class
+ renames in this patch.
+
+ * Scripts/webkitpy/style/checker_unittest.py:
+ - Updated the unit test code as necessary.
+
+ * Scripts/webkitpy/style/checkers/common.py:
+ - Renamed the CarriageReturnProcessor class to CarriageReturnChecker,
+ and changed its process() method to check().
+
+ * Scripts/webkitpy/style/checkers/common_unittest.py:
+ - Updated the unit test code as necessary.
+
+ * Scripts/webkitpy/style/checkers/cpp.py:
+ - Renamed the CppProcessor class to CppChecker, and renamed its
+ process() method to check().
+
+ * Scripts/webkitpy/style/checkers/cpp_unittest.py:
+ - Updated the unit test code as necessary.
+
+ * Scripts/webkitpy/style/checkers/python.py:
+ - Renamed the PythonProcessor class to PythonChecker, and renamed
+ its process() method to check().
+
+ * Scripts/webkitpy/style/checkers/python_unittest.py:
+ - Updated the unit test code as necessary.
+
+ * Scripts/webkitpy/style/checkers/text.py:
+ - Renamed the TextProcessor class to TextChecker, and renamed
+ its process() method to check().
+
+ * Scripts/webkitpy/style/checkers/text_unittest.py:
+ - Updated the unit test code as necessary.
+
+ * Scripts/webkitpy/style/error_handlers.py:
+ - Updated the code as necessary.
+
+ * Scripts/webkitpy/style/error_handlers_unittest.py:
+ - Updated the unit test code as necessary.
+
+2010-05-04 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Adjusted svn-apply and -unapply to accept git diffs generated
+ using the --no-prefix flag.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32438
+
+ * Scripts/VCSUtils.pm:
+ - Loosened the regular expression for the "diff --git" line to
+ match when the --no-prefix flag is used with "git diff".
+ - Also refactored the code parsing the first line so that the
+ script exits with an error message if the first line cannot
+ be parsed.
+ * Scripts/webkitperl/VCSUtils_unittest/parseGitDiffHeader.pl:
+ - Added a unit test case for the --no-prefix case.
+
+2010-05-04 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ Changed VCSUtils.pm's parseDiffHeader() to call the new
+ parseGitDiffHeader() method.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38454
+
+ This revision makes more progress towards adding executable-bit
+ support to svn-apply and svn-unapply. It also makes more progress
+ towards refactoring the code into a more maintainable form.
+
+ * Scripts/VCSUtils.pm:
+ - Removed gitdiff2svndiff().
+ - Removed the Git-specific logic from parseDiffHeader() and
+ renamed it parseSvnDiffHeader().
+ - Added a new parseDiffHeader() subroutine which calls
+ parseSvnDiffHeader() or parseGitDiffHeader() depending on
+ the format of the first header line.
+
+ * Scripts/webkitperl/VCSUtils_unittest/gitdiff2svndiff.pl: Removed.
+ * Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:
+ - Removed most of the test cases since these cases are now
+ covered by the unit tests for parseSvnDiffHeader() and
+ parseGitDiffHeader().
+
+ * Scripts/webkitperl/VCSUtils_unittest/parseSvnDiffHeader.pl: Added.
+ - Copied the SVN unit tests from parseDiffHeader.pl and updated
+ them as necessary.
+
+2010-05-03 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Builders should run the perl and python unit tests on every commit
+ https://bugs.webkit.org/show_bug.cgi?id=37976
+
+ The unit tests take a few seconds to run, so they should not
+ have any noticable effect on builder speed.
+
+ We're running the tests everywhere but Tiger as Tiger's
+ Python version is ancient.
+ I would have rather have detected the python version of the
+ slave but I couldn't find any API to do that, and I didn't want
+ to hack version detection into test-webkitpy (at least not yet).
+
+ * BuildSlaveSupport/build.webkit.org-config/master.cfg:
+
+2010-05-03 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Fixed a recent REGRESSION that caused svn-apply and -unapply to
+ skip over changes to the first file in a diff if leading junk was
+ present (like in an e-mail diff) and if the --force option was used.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38507
+
+ * Scripts/svn-apply:
+ - Removed the bit of code at the beginning of the patch()
+ subroutine that checks for the "Index:" line at the beginning
+ of a file diff (since the parsePatch() subroutine already
+ checks this).
+
+ * Scripts/svn-unapply:
+ - Removed the bit of code at the beginning of the patch()
+ subroutine that checks for the "Index:" line at the beginning
+ of a file diff (since the parsePatch() subroutine already
+ checks this).
+
+2010-05-03 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Unreviewed.
+
+ Adjusted the ChangeLog entry below for r58732 (bug 35804) to reflect
+ the fact that the change will not become active until the patch
+ for bug 38454 lands.
+
+2010-05-03 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Added code for svn-apply and -unapply to display an instructive error
+ message if the --binary flag is left off the "git diff" command
+ for diffs containing binary file differences.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35804
+
+ This change will become active when parseDiffHeader() is modified
+ to call parseGitDiffHeader (see bug 38454).
+
+ * Scripts/VCSUtils.pm:
+ - Adjusted parseDiffHeader() to exit with an appropriate error message
+ if it encounters a line of the form "Binary files <path1> and
+ <path2> differ".
+
+2010-05-03 Dirk Pranke <dpranke@chromium.org>
+
+ Unreviewed, build fix.
+
+ new-run-webkit-tests: r58728 broke the buildbot logic for parsing the
+ output of the log; specifying --verbose should basically be equivalent
+ to --print everything, but instead it was equivalent to not specifying
+ --print and getting the default set. Now, --verbose acts as if
+ --print everything was implicitly specified as the default (you can
+ still override it if you specify both; this is a somewhat debatable
+ call).
+
+ https://bugs.webkit.org/show_bug.cgi?id=38504
+
+ * Scripts/webkitpy/layout_tests/layout_package/printing.py:
+
+2010-05-03 Dirk Pranke <dpranke@chromium.org>
+
+ Unreviewed, build fix.
+
+ new-run-webkit-tests: Fix minor precedence bug introduced in r58728 where we printed
+ "-\n" 78 times instead of "-" 78 times followed by a single "\n".
+
+ * Scripts/webkitpy/layout_tests/layout_package/printing.py:
+
+2010-05-03 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ new-run-webkit-tests: refactor a large chunk of the printing/logging
+ code out of run-webkit-tests py (almost 300 lines out of 1900).
+
+ This change also renames --log to --print (to be slightly more
+ descriptive). I've also added better help messages for printing.
+
+ The new code has unit tests!
+
+ There is still more code to be moved, but this patch is big enough as
+ it is. Namely, still to move are the printing of the actual results
+ and the timing statistics, which should move another 300-400 lines
+ out of the file.
+
+ Notable changes to run_webkit_tests.py beyond code simply moving:
+ * MeteredStream is now hidden under the new printing.Printer class.
+ All the references to self._meter now point to self._printer.
+ * All logging configuration is done in printing.configure_logging()
+ * Instead of using write() lambdas to control what is and isn't
+ printed, we use separate methods on the printer object. This will
+ make it easier to grep which print statements are printed
+ under protection of each flag.
+ * The print_results flag I added a few revs back to suppress printing
+ in the unit tests has been replaced with --print nothing.
+ * The ResultSummary class now stores the entire TestResult for each
+ test, not just the actual result type.
+ * summarize_unexpected_results() got moved from a method on TestRunner
+ to a standalone function. This should move into a separate file
+ along with the ResultSummary class and the TestResult class
+ * The --trace option added recently has been replaced by
+ '--print trace-everything' and '--print trace-unexpected'
+
+ https://bugs.webkit.org/show_bug.cgi?id=38018
+
+ * Scripts/new-run-webkit-tests:
+ - update to new entry points in run_webkit_tests.py
+ * Scripts/webkitpy/layout_tests/layout_package/metered_stream.py:
+ - fix a minor nit where we were printing an empty string where
+ we didn't need to
+ * Scripts/webkitpy/layout_tests/layout_package/printing.py: Added.
+ * Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py: Added
+ * Scripts/webkitpy/layout_tests/port/test.py:
+ - implement relative_test_filename() and expected_filename() so
+ we can test printing unexpected results in a platform-neutral
+ way
+ * Scripts/webkitpy/run_webkit_test.py:
+ - move a lot of the printing code into printing.py
+ - change the signatures of the exported entry points for easier
+ unit testing
+ * Scripts/webkitpy/run_webkit_tests_unittest.py:
+ - update w/ changes to run_webkit_tests entry points.
+
+2010-05-03 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ [wx] Build and use Mac's ComplexTextController to support complex text in wx.
+ https://bugs.webkit.org/show_bug.cgi?id=38482
+
+ * wx/build/settings.py:
+
+2010-05-03 Abhishek Arya <inferno@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Add support for controlling clipboard access from javascript.
+ Clipboard access from javascript is enabled in test framework.
+ https://bugs.webkit.org/show_bug.cgi?id=27751
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (setJavaScriptCanAccessClipboardCallback):
+ (LayoutTestController::staticFunctions):
+ * DumpRenderTree/LayoutTestController.h:
+ * DumpRenderTree/chromium/LayoutTestController.cpp:
+ (LayoutTestController::LayoutTestController):
+ (LayoutTestController::setJavaScriptCanAccessClipboard):
+ (LayoutTestController::overridePreference):
+ * DumpRenderTree/chromium/LayoutTestController.h:
+ * DumpRenderTree/chromium/TestShell.cpp:
+ (TestShell::resetWebSettings):
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (resetDefaultsToConsistentValues):
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::setJavaScriptCanAccessClipboard):
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (resetDefaultsToConsistentValues):
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (LayoutTestController::setJavaScriptCanAccessClipboard):
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::WebPage::WebPage):
+ (WebCore::WebPage::resetSettings):
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::setJavaScriptCanAccessClipboard):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (resetDefaultsToConsistentValues):
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::setJavaScriptCanAccessClipboard):
+ * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
+ (LayoutTestController::setJavaScriptCanAccessClipboard):
+
+2010-05-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Maui MiniBrowser: Add an option to show/hide the web view
+ https://bugs.webkit.org/show_bug.cgi?id=38486
+
+ * MiniBrowser/win/BrowserWindow.cpp:
+ (BrowserWindow::createWindow):
+ Set the background brush to something other than null.
+
+ (BrowserWindow::onCommand):
+ Show and hide the web view accordingly.
+
+ * MiniBrowser/win/MiniBrowser.rc:
+ * MiniBrowser/win/resource.h:
+ Add new menu item.
+
+2010-05-03 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ Added a parseGitDiffHeader() subroutine to VCSUtils.pm that
+ parses any changes to the executable bit in a Git diff.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38425
+
+ This revision is more preparation towards adding "executable bit"
+ support to svn-apply and svn-unapply. No code is going "live" in
+ this change except for the new unit tests in test-webkitperl.
+
+ * Scripts/VCSUtils.pm:
+ - Added isExecutable() to determine whether a file mode has the
+ executable bit set or not.
+ - Added parseGitDiffHeader() to parse the header of a Git diff.
+
+ * Scripts/webkitperl/VCSUtils_unittest/parseGitDiffHeader.pl: Added.
+ - Added unit tests for parseGitDiffHeader().
+
+2010-05-03 Daniel Bates <dbates@rim.com>
+
+ Reviewed by Chris Jerdonek.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38447
+
+ Refactor the unit tests in VCSUtils_unittest/parseDiff.pl to use
+ Test::More::is_deeply like we do in VCSUtils_unittest/parseDiffHeader.pl.
+
+ * Scripts/webkitperl/VCSUtils_unittest/parseDiff.pl:
+
+2010-05-02 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Unreviewed.
+
+ Corrected a file path in the ChangeLog entry for r58663 (bug 38319) below.
+
+2010-05-02 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38319
+
+ * Scripts/VCSUtils.pm:
+ - In parseDiffHeader()--
+ - Added an "scmFormat" hash key to the return value to represent
+ whether the diff is Git or SVN formatted.
+ - Adjusted the code so the value of "copiedFromPath" will
+ be undef rather than "does not exist" if the file was not
+ copied.
+
+ * Scripts/webkitperl/VCSUtils_unittest/parseDiff.pl:
+ - Added a FIXME to refactor these unit tests to use is_deeply().
+
+ * Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:
+ - Updated the unit tests to test the "scmFormat" value.
+ - Simplified the unit tests by refactoring them to use is_deeply().
+
+2010-05-01 Daniel Bates <dbates@rim.com>
+
+ Reviewed by Chris Jerdonek.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38423
+
+ Adds infrastructure to change the file mode of a file using
+ the appropriate SCM-specific routines.
+
+ No functionality was changed, so no new tests.
+
+ * Scripts/VCSUtils.pm: Added subroutines scmToggleExecutableBit,
+ scmAddExecutableBit, and scmRemoveExecutableBit.
+ * Scripts/svn-apply: Check for the hash key executableBitDelta
+ and toggle the executable bit.
+ * Scripts/svn-unapply: Ditto.
+
+2010-04-30 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Enabled accelerated compositing in DRT for Windows
+ https://bugs.webkit.org/show_bug.cgi?id=38404
+
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (main):
+
+2010-04-30 Anders Carlsson <andersca@apple.com>
+
+ Try to fix GTK+ build.
+
+ * DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp:
+ (webkit_test_plugin_new_stream):
+
+2010-04-30 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp:
+
+2010-04-30 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Timothy Hatcher.
+
+ Next step towards fixing
+
+ https://bugs.webkit.org/show_bug.cgi?id=20784
+ move npapi.h to C99 integer types
+
+ Use the C99 types everywhere. The "old" types are still around but will be removed
+ in a subsequent commit.
+
+ * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
+ (int32VariantToIdentifier):
+ (doubleVariantToIdentifier):
+ (testIdentifierToInt):
+ (testGetIntIdentifier):
+ * DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp:
+ (NPP_New):
+ (NPP_NewStream):
+ (NPP_WriteReady):
+ (NPP_Write):
+ (NPP_HandleEvent):
+ * DumpRenderTree/win/TestNetscapePlugin/main.cpp:
+ (NPP_New):
+ (NPP_NewStream):
+ (NPP_WriteReady):
+ (NPP_Write):
+ (NPP_HandleEvent):
+
+2010-04-30 Steve Block <steveblock@google.com>
+
+ Reviewed by Jeremy Orlow.
+
+ Changed Steve Block from committer to reviewer.
+
+ * Scripts/webkitpy/common/config/committers.py:
+
+2010-04-28 Ojan Vafai <ojan@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ webkit-patch doesn't work if a git repo is tracking multiple svn repos
+ https://bugs.webkit.org/show_bug.cgi?id=38290
+
+ Getting the tests to pass required getting our SVN repo to more closely
+ match the real svn.webkit.org repo by having a trunk directory.
+ That involved adding an extra commit at the beginning and thus changing
+ all the commit numbers in the tests.
+
+ * Scripts/webkitpy/common/checkout/scm.py:
+
+2010-04-29 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ new-run-webkit-tests can deadlock with Chromium's TestShell
+ https://bugs.webkit.org/show_bug.cgi?id=38298
+
+ Fix _write_command_and_read_line to never send unicode() to
+ test_shell, instead to always encode as utf-8. This was causing
+ random hangs because if test_shell ever encounters a \0 in the
+ stream it can deadlock with NRWT.
+
+ There is still a deadlock bug to fix in NRWT/test_shell design, however
+ this fix should make the deadlock occur less often.
+
+ * Scripts/webkitpy/layout_tests/port/chromium.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_unittest.py:
+
+2010-04-29 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Refactored svn-apply and svn-unapply to use the new
+ parsePatch() subroutine.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34033
+
+ * Scripts/VCSUtils.pm:
+ - Consolidated %diffHash documentation.
+ - Added prepareParsedPatch().
+
+ * Scripts/svn-apply:
+ - Replaced main while loop with calls to parsePatch() and
+ prepareParsedPatch().
+
+ * Scripts/svn-unapply:
+ - Replaced main while loop with calls to parsePatch() and
+ prepareParsedPatch().
+
+ * Scripts/test-webkitperl:
+ - Changed to render relative test paths rather than absolute
+ test paths.
+
+ * Scripts/webkitperl/VCSUtils_unittest/prepareParsedPatch.pl: Added.
+ - Added unit tests for prepareParsedPatch().
+
+2010-04-28 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Added to VCSUtils's parseDiffHeader() support for binary patches.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38094
+
+ The parseDiffHeader() function is part of new patch-parsing code
+ for svn-apply and svn-unapply that will go live in a subsequent
+ revision.
+
+ * Scripts/VCSUtils.pm:
+ - Added logic to parseDiffHeader() to recognize the ending of
+ the header portion of a binary diff.
+
+ * Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:
+ - Added unit test cases for SVN and Git binary diffs.
+
+2010-04-28 Eric Seidel <eric@webkit.org>
+
+ Reviewed by David Levin.
+
+ Document that subprocess.poll/wait are not threadsafe
+ https://bugs.webkit.org/show_bug.cgi?id=38289
+
+ * Scripts/webkitpy/common/system/executive.py:
+ * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py:
+ * Scripts/webkitpy/layout_tests/port/chromium.py:
+ * Scripts/webkitpy/layout_tests/port/http_server.py:
+ * Scripts/webkitpy/layout_tests/port/server_process.py:
+ * Scripts/webkitpy/layout_tests/port/websocket_server.py:
+
+2010-04-28 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ Removed the dividing line (i.e. "====...") logic from the code
+ called by svn-apply and svn-unapply.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38093
+
+ The dividing line logic is unnecessary. Removing it simplifies the
+ code and makes some subsequent changes easier.
+
+ * Scripts/VCSUtils.pm:
+ - Removed the logic in gitdiff2svndiff() to convert the git
+ "index" line to an SVN dividing line.
+ - Adjusted the logic similarly in parseDiffHeader().
+
+ * Scripts/webkitperl/VCSUtils_unittest/gitdiff2svndiff.pl:
+ - Updated the unit tests as necessary.
+
+ * Scripts/webkitperl/VCSUtils_unittest/parseDiff.pl:
+ - Updated the unit tests as necessary.
+ - Corrected an error in the unit tests whereby all elements
+ of an array were referencing the same element rather than
+ distinct elements -- causing unit test failures to be masked.
+
+ * Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:
+ - Updated the unit tests as necessary.
+ - Made the same unit test correction as above for parseDiff.pl.
+
+2010-04-28 Evan Stade <estade@chromium.org>
+
+ Unreviewed.
+
+ * Scripts/webkitpy/common/config/committers.py: adding myself as a committer
+
+2010-04-28 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Add MiniBrowser to the lists of modules to build and only build it on
+ SnowLeopard and later.
+
+ * Makefile:
+ * MiniBrowser/Makefile:
+
+2010-04-28 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Make running MiniBrowser.app without explicitly setting DYLD_FRAMEWORK_PATH.
+
+ * MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj:
+ * MiniBrowser/mac/make-launchable.sh: Added.
+
+2010-04-28 Eric Seidel <eric@webkit.org>
+
+ Reviewed by David Levin.
+
+ Audit all uses of subprocess in webkitpy
+ https://bugs.webkit.org/show_bug.cgi?id=38284
+
+ After further discussions with Jeffrey Yasskin
+ about http://bugs.python.org/issue2320
+ and related issues of using subprocess from
+ multiple threads, I have learned that subprocess
+ is known to be non-threadsafe through recent
+ Python 2.7 builds.
+
+ I'm attempting to lessen our exposure to these
+ subprocess bugs by auditing each use of subprocess
+ in webkitpy. I did not find any unsafe calls
+ in my audit, but I did remove numerous unneeded
+ import subprocess lines.
+
+ * Scripts/webkitpy/common/checkout/api.py:
+ * Scripts/webkitpy/common/net/bugzilla.py:
+ * Scripts/webkitpy/common/system/deprecated_logging_unittest.py:
+ * Scripts/webkitpy/common/system/user.py:
+ * Scripts/webkitpy/layout_tests/port/base.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py: Added.
+ * Scripts/webkitpy/layout_tests/port/chromium_win.py:
+ * Scripts/webkitpy/layout_tests/port/gtk.py:
+ * Scripts/webkitpy/layout_tests/port/mac.py:
+ * Scripts/webkitpy/layout_tests/port/qt.py:
+ * Scripts/webkitpy/layout_tests/port/webkit.py:
+ * Scripts/webkitpy/layout_tests/port/win.py:
+
+2010-04-28 Darin Adler <darin@apple.com>
+
+ Ignore a directory the Python tools creates.
+
+ * Scripts/webkitpy/style: Modified property svn:ignore.
+
+2010-04-28 Darin Adler <darin@apple.com>
+
+ * Scripts/extract-localizable-strings: Fix minor mistake in
+ argument checking.
+
+2010-04-28 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] QWebPage viewMode property
+ https://bugs.webkit.org/show_bug.cgi?id=38119
+
+ Replacing method qt_wrt_setViewMode by wrt_viewMode property.
+
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::setViewModeMediaFeature):
+
+2010-04-28 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Adjusted check-webkit-style so that files with file type NONE
+ are automatically skipped without warning.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38197
+
+ This change simplifies configuring which files to skip. It also
+ addresses an issue whereby check-webkit-style was unintentionally
+ checking .vcproj files for carriage returns.
+
+ * Scripts/webkitpy/style/checker.py:
+ - Moved the C++, Python, and text file extensions to new
+ module-level configuration variables.
+ - Removed .pyc from the _SKIPPED_FILES_WITHOUT_WARNING configuration
+ variable.
+ - Changed the numeric values of the FileType enum so that
+ FileType.NONE evaluates to False.
+ - For ProcessorDispatcher.should_skip_without_warning():
+ - Changed the method to return True for FileType.NONE files.
+ - Made ChangeLog files an exception to getting skipped.
+ - Changed the StyleProcessor.process() method to raise an
+ exception if given a file path that should not be processed.
+
+ * Scripts/webkitpy/style/checker_unittest.py:
+ - Updated the unit tests and added more test cases as necessary.
+
+2010-04-28 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Jeremy Orlow.
+
+ webkitpy: ScriptError('Failed to run "[u\'taskkill.exe\', u\'/f\', u\'/im\', u\'httpd.exe\']" exit_code: 128',)
+ https://bugs.webkit.org/show_bug.cgi?id=38248
+
+ The previous code did not check the return code of taskkill.
+ When I moved that callsite from using subprocess.call to
+ Executive.run_command having a non-zero return code became an error.
+
+ In this change I've centralized our killall handling in executive,
+ and added tests for it to make sure it works.
+
+ Currently kill_process and kill_all swallow exceptions in the cases
+ where the process(es) to be killed do(es) not exist.
+
+ * Scripts/webkitpy/common/system/executive.py:
+ * Scripts/webkitpy/common/system/executive_unittest.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_win.py:
+ * Scripts/webkitpy/layout_tests/port/gtk.py:
+ * Scripts/webkitpy/layout_tests/port/mac.py:
+ * Scripts/webkitpy/layout_tests/port/qt.py:
+ * Scripts/webkitpy/layout_tests/port/win.py:
+
+2010-04-28 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ wdiff_text throws ScriptError because wdiff returns non-zero when files differ
+ https://bugs.webkit.org/show_bug.cgi?id=38246
+
+ wdiff returns 0 when files are the same, 1 when they differ.
+ run_command by default raises ScriptError if the return code is non-zero.
+ Fixed this by adding a custom error handler which only raises if the
+ return code is not 1.
+
+ I broke up the huge wdiff_text() method into little pieces
+ for easier unit testing. There is only one functional change here
+ and that is the addition of the custom error handler.
+
+ * Scripts/webkitpy/layout_tests/port/base.py:
+ * Scripts/webkitpy/layout_tests/port/base_unittest.py:
+
+2010-04-28 Fumitoshi Ukai <ukai@chromium.org>
+
+ Unreviewed build fix.
+
+ * DumpRenderTree/chromium/TestShell.cpp:
+ (TestShell::dumpImage): format '%u' expects type 'unsigned int', but argument 2 has type 'size_t'.
+ * DumpRenderTree/chromium/WebViewHost.cpp:
+ (WebViewHost::willSendRequest): too few arguments for format.
+
+2010-04-27 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Darin Adler and Eric Seidel.
+
+ Add layoutTestController.setPrinting()
+ https://bugs.webkit.org/show_bug.cgi?id=37203
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (LayoutTestController::LayoutTestController):
+ (setPrintingCallback):
+ (LayoutTestController::staticFunctions):
+ * DumpRenderTree/LayoutTestController.h:
+ (LayoutTestController::isPrinting):
+ (LayoutTestController::setIsPrinting):
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (dump):
+
+2010-04-27 Michael Nordman <michaeln@google.com>
+
+ Reviewed by Dmitry Titov.
+
+ [Chromium] Add two things to the webkit API to support appcaches in workers.
+ 1) WebURLRequest TargetTypes for worker and shared worker main resources.
+ 2) Factory method on class WebCommonWorkerClient to
+ createApplicationCacheHost() for the associated worker.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38147
+
+ * DumpRenderTree/chromium/TestWebWorker.h add a stub impl of the factory method
+ (TestWebWorker::createApplicationCacheHost):
+
+2010-04-27 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ run-bindings-tests doesn't work in an SVN checkout
+ https://bugs.webkit.org/show_bug.cgi?id=38225
+
+ Previously detect_scm_system needed an absolute path for SVN. Now we
+ accept a relative path.
+
+ * Scripts/webkitpy/common/checkout/scm.py:
+ * Scripts/webkitpy/common/checkout/scm_unittest.py:
+
+2010-04-27 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Stephanie Lewis.
+
+ Always build WebKit2 when building on SnowLeopard and later.
+
+ * Scripts/build-webkit:
+
+2010-04-27 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=38238
+ Allow both WebKit and WebKit2 to link to the same WebCore.framework
+
+ * Scripts/build-webkit: Remove the UMBRELLA_LDFLAGS override when building
+ WebCore for WebKit2, it is no longer necessary.
+
+2010-04-27 James Robinson <jamesr@chromium.org>
+
+ Reviewed by David Levin.
+
+ Fix a typo in chromium.py that causes NRWT to fail in --verbose
+ mode in a Chromium checkout.
+ https://bugs.webkit.org/show_bug.cgi?id=38234
+
+ * Scripts/webkitpy/layout_tests/port/chromium.py:
+
+2010-04-27 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [Chromium] Remove deprecated form of didChangeLocationWithinPage
+ https://bugs.webkit.org/show_bug.cgi?id=38178
+
+ Switch over to implementing didNavigateWithinPage.
+
+ * DumpRenderTree/chromium/WebViewHost.cpp:
+ (TestWebViewDelegate::didNavigateWithinPage):
+ (WebViewHost::didChangeLocationWithinPage):
+ * DumpRenderTree/chromium/WebViewHost.h:
+
+2010-04-27 Evan Martin <evan@chromium.org>
+
+ Unreviewed.
+
+ Adding myself to commmitters list.
+
+ * Scripts/webkitpy/common/config/committers.py:
+
+2010-04-27 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ run-bindings-tests should use --reset-results instead of --overwrite
+ https://bugs.webkit.org/show_bug.cgi?id=38200
+
+ As requested by Ojan.
+
+ * Scripts/run-bindings-tests:
+
+2010-04-27 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ REGRESSION(r58261): webkit-patch edit-changelogs is broken
+ https://bugs.webkit.org/show_bug.cgi?id=38204
+
+ In 58261, we added code to abstract step that interrogates the squash
+ and git_commit options, but it doesn't declare that it uses those
+ options. That means any command that doesn't happen to declare those
+ options might be broken if it uses the cached_lookup mechanism.
+
+ * Scripts/webkitpy/tool/steps/abstractstep.py:
+ * Scripts/webkitpy/tool/steps/applypatch.py:
+ * Scripts/webkitpy/tool/steps/applypatchwithlocalcommit.py:
+ * Scripts/webkitpy/tool/steps/build.py:
+ * Scripts/webkitpy/tool/steps/checkstyle.py:
+ * Scripts/webkitpy/tool/steps/cleanworkingdirectory.py:
+ * Scripts/webkitpy/tool/steps/closebug.py:
+ * Scripts/webkitpy/tool/steps/closebugforlanddiff.py:
+ * Scripts/webkitpy/tool/steps/commit.py:
+ * Scripts/webkitpy/tool/steps/confirmdiff.py:
+ * Scripts/webkitpy/tool/steps/createbug.py:
+ * Scripts/webkitpy/tool/steps/ensurebuildersaregreen.py:
+ * Scripts/webkitpy/tool/steps/ensurelocalcommitifneeded.py:
+ * Scripts/webkitpy/tool/steps/obsoletepatches.py:
+ * Scripts/webkitpy/tool/steps/postcodereview.py:
+ * Scripts/webkitpy/tool/steps/postdiff.py:
+ * Scripts/webkitpy/tool/steps/preparechangelog.py:
+ * Scripts/webkitpy/tool/steps/runtests.py:
+ * Scripts/webkitpy/tool/steps/update.py:
+ * Scripts/webkitpy/tool/steps/updatechangelogswithreviewer.py:
+ * Scripts/webkitpy/tool/steps/validatereviewer.py:
+
+2010-04-27 Eric Seidel <eric@webkit.org>
+
+ Reviewed by David Levin.
+
+ prepare-ChangeLog --bug fails on some CYGWIN installs due to missing certs
+ https://bugs.webkit.org/show_bug.cgi?id=38212
+
+ * Scripts/prepare-ChangeLog:
+ - Pass --insecure to curl to work around CYGWIN missing certs.
+
+2010-04-27 Sam Weinig <sam@webkit.org>
+
+ Rubber-stamped by Beth Dakin.
+
+ It is no longer necessary to set ENABLE_EXPERIMENTAL_SINGLE_VIEW_MODE
+ or WTF_USE_WEB_THREAD. Remove them.
+
+ * Scripts/build-webkit:
+
+2010-04-27 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by David Levin.
+
+ Changed Chris Jerdonek from committer to reviewer.
+
+ * Scripts/webkitpy/common/config/committers.py:
+
+2010-04-27 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] QGraphicsWebView: Arrow keys scroll the graphics-view instead of the web-page
+ https://bugs.webkit.org/show_bug.cgi?id=35834
+
+ The scene should always have the size of the web view otherwhise it is
+ possible to scroll the graphics view.
+
+ * QtLauncher/webview.cpp:
+ (WebViewGraphicsBased::resizeEvent):
+
+2010-04-27 Diego Gonzalez <diegohcg@webkit.org>
+
+ Unreviewed.
+
+ Adding myself to committers.py
+
+ * Scripts/webkitpy/common/config/committers.py:
+
+2010-04-27 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ [chromium] new-run-webkit-tests hangs on Chromium Bots (OS X and Linux)
+ https://bugs.webkit.org/show_bug.cgi?id=37987
+
+ After further research, I believe the hang is caused by:
+ http://bugs.python.org/issue2320
+ Basically Popen() is not reentrant.
+ The workaround is to pass close_fds=True to Popen() on Mac/Linux.
+
+ I fixed our main Popen wrapper "Executive.run_command" to use close_fds=True
+ when appropriate.
+
+ I audited all places we call Popen() and either moved them to run_command
+ or left a FIXME that they are not thread safe. A few places I added the
+ close_fds workaround there and left an explanitory note.
+
+ * Scripts/webkitpy/common/checkout/scm_unittest.py:
+ - Added note that this Popen use is not threadsafe.
+ * Scripts/webkitpy/common/system/executive.py:
+ - Fixed our Executive.run_* to workaround python bug 2320.
+ * Scripts/webkitpy/common/system/user.py:
+ _ Added note that this Popen use is not threadsafe.
+ * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py: ditto.
+ * Scripts/webkitpy/layout_tests/port/apache_http_server.py: ditto.
+ * Scripts/webkitpy/layout_tests/port/base.py:
+ - Change wdiff back to using run_command now that we believe it
+ to be threadsafe.
+ * Scripts/webkitpy/layout_tests/port/chromium.py:
+ - Fix to use Executive in places.
+ - Pass self._executive down to the Driver for easier unit testing.
+ * Scripts/webkitpy/layout_tests/port/chromium_win.py:
+ - Re-factor to use a _kill_all method.
+ - Made the _kill_all method use run_command to be threadsafe.
+ * Scripts/webkitpy/layout_tests/port/http_server.py:
+ - Add FIXME about using Executive.
+ * Scripts/webkitpy/layout_tests/port/server_process.py:
+ - Use Executive to be threadsafe.
+ * Scripts/webkitpy/layout_tests/port/webkit.py:
+ - Pass self._executive down to the Driver.
+ * Scripts/webkitpy/layout_tests/port/websocket_server.py:
+ - Add note about Popen not being threadsafe.
+ * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
+ - Move one caller to run_command add notes about moving others.
+
+2010-04-27 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ REGRESSION(r58261): webkit-patch upload does not work in an SVN checkout.
+ https://bugs.webkit.org/show_bug.cgi?id=38186
+
+ Unfortunately, we don't have a good way of testing this change because
+ our test coverage of the scm.py API is poor...
+
+ * Scripts/webkitpy/common/checkout/scm.py:
+ * Scripts/webkitpy/tool/steps/preparechangelog.py:
+
+2010-04-26 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Remove unused code from text_diff.py
+ https://bugs.webkit.org/show_bug.cgi?id=38170
+
+ * Scripts/webkitpy/layout_tests/test_types/text_diff.py:
+ - Remove is_render_tree_dump which appears unused.
+
+2010-04-26 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ webkit-patch pretty-diff is broken
+ https://bugs.webkit.org/show_bug.cgi?id=38172
+
+ We need to register for these options because they're used when we look
+ up the diff.
+
+ * Scripts/webkitpy/tool/steps/confirmdiff.py:
+
+2010-04-26 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Add ObjC and GObject to run-bindings-test
+ https://bugs.webkit.org/show_bug.cgi?id=38168
+
+ * Scripts/run-bindings-tests:
+
+2010-04-26 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Add testing infrastructure for JSC bindings generator
+ https://bugs.webkit.org/show_bug.cgi?id=38167
+
+ Add support for testing more than one bindings. Also, converted the
+ script to PEP8 style.
+
+ * Scripts/run-bindings-tests:
+
+2010-04-26 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Refactor results.html generation out into a new method and test it
+ https://bugs.webkit.org/show_bug.cgi?id=38164
+
+ Hopefully this results in no change in functionality.
+
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+ * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py:
+
+2010-04-26 Adam Barth <abarth@webkit.org>
+
+ Unreviewed, rolling out r58265.
+ http://trac.webkit.org/changeset/58265
+ https://bugs.webkit.org/show_bug.cgi?id=38021
+
+ This change prevents me from uploading patches. It also breaks sheriff-bot.
+
+ * Scripts/webkitpy/tool/steps/options.py:
+
+2010-04-26 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ [chromium] new-run-webkit-tests hangs on Chromium Bots (OS X and Linux)
+ https://bugs.webkit.org/show_bug.cgi?id=37987
+
+ Rolled out:
+ http://trac.webkit.org/changeset/58062
+ http://trac.webkit.org/changeset/58060
+ http://trac.webkit.org/changeset/58059
+ http://trac.webkit.org/changeset/58055
+ http://trac.webkit.org/changeset/58054
+ and parts of:
+ http://trac.webkit.org/changeset/58050
+
+ I also wrote some new comments and a tiny amount of new
+ code to help make ChromiumDriver.run_test easier to read.
+
+ In order to unit-test my new code, I had to change ChromiumDriver
+ to not automatically start itself when created. That ended up
+ being a lot of plumbing, but is hopefully easier to understand now.
+
+ There are no tests for the (restored) wdiff code. wdiff does not
+ exist on all systems, so for now we will assume it worked since
+ it is just old code being reverted.
+
+ * Scripts/webkitpy/layout_tests/driver_test.py:
+ - Use create_driver instead of start_driver, and be sure to call .stop()
+ * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py:
+ - Use create_driver instead of start_driver
+ * Scripts/webkitpy/layout_tests/port/base.py:
+ - Added a comment to explain that diffs are binary files.
+ - Various patch reverts relating to wdiff
+ - Add Driver._command_wrapper to share code between WebKitDriver and ChromiumDriver.
+ - Made _command_wrapper use shlex.split to get rid of the FIXME.
+ * Scripts/webkitpy/layout_tests/port/base_unittest.py: Added.
+ - test the new _command_wrapper
+ * Scripts/webkitpy/layout_tests/port/chromium.py:
+ - Use _command_wrapper to get rid of a bunch of ugly code.
+ - Make __init__ stop auto-starting.
+ - Rename create_driver to start_driver.
+ - Added _write_command_and_read_line to make it possible to
+ put a FIXME next to read_line() w/o having to put it in two places.
+ - Moved test_shell command building into _test_shell_command and tested it.
+ - Fix comments to say test_shell since ChromiumDriver is test_shell only.
+ * Scripts/webkitpy/layout_tests/port/chromium_unittest.py: Added.
+ - Test the new test_shell_command method.
+ * Scripts/webkitpy/layout_tests/port/dryrun.py:
+ - Rename create_driver to start_driver.
+ * Scripts/webkitpy/layout_tests/port/test.py:
+ - Rename create_driver to start_driver.
+ * Scripts/webkitpy/layout_tests/port/webkit.py:
+ - Rename create_driver to start_driver.
+ - Treat output as binary arrays.
+ * Scripts/webkitpy/layout_tests/test_types/test_type_base.py:
+ - Treat diff files as binary.
+ * Scripts/webkitpy/layout_tests/test_types/text_diff.py:
+ - Treat diff files as binary.
+
+2010-04-26 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Move bindings test directory into the scripts directory
+ https://bugs.webkit.org/show_bug.cgi?id=38161
+
+ Change script to point to the new location of these data files.
+
+ * Scripts/run-bindings-tests:
+
+2010-04-26 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Mark run-bindings-tests executable so we can execute it.
+
+ * Scripts/run-bindings-tests:
+
+2010-04-26 Tony Chang <tony@chromium.org>
+
+ Reviewed by David Levin.
+
+ [chromium] build-webkit --chromium should build release by default
+ https://bugs.webkit.org/show_bug.cgi?id=38028
+
+ * Scripts/build-dumprendertree: Also should build release by default
+ * Scripts/build-webkit: Make sure to pass command line args through
+ * Scripts/webkitdirs.pm: Build the right configuration
+
+2010-04-26 Ojan Vafai <ojan@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ complete rietveld bugzilla integration
+ https://bugs.webkit.org/show_bug.cgi?id=38021
+
+ Makes --fancy-review the default. All this means is that the patch will
+ be uploaded to rietveld in addition to bugs.webkit.org.
+
+ * Scripts/webkitpy/tool/steps/options.py:
+
+2010-04-26 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ For check-webkit-style, renamed the style/processors/ directory
+ to style/checkers/.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38122
+
+ * Scripts/webkitpy/style/checker.py:
+ - Updated import statements.
+
+ * Scripts/webkitpy/style/checker_unittest.py:
+ - Updated import statements.
+
+ * Scripts/webkitpy/style/checkers: Copied from WebKitTools/Scripts/webkitpy/style/processors.
+ * Scripts/webkitpy/style/processors: Removed.
+ * Scripts/webkitpy/style/processors/__init__.py: Removed.
+ * Scripts/webkitpy/style/processors/common.py: Removed.
+ * Scripts/webkitpy/style/processors/common_unittest.py: Removed.
+ * Scripts/webkitpy/style/processors/cpp.py: Removed.
+ * Scripts/webkitpy/style/processors/cpp_unittest.py: Removed.
+ * Scripts/webkitpy/style/processors/python.py: Removed.
+ * Scripts/webkitpy/style/processors/python_unittest.py: Removed.
+ * Scripts/webkitpy/style/processors/python_unittest_input.py: Removed.
+ * Scripts/webkitpy/style/processors/text.py: Removed.
+ * Scripts/webkitpy/style/processors/text_unittest.py: Removed.
+
+2010-04-06 Ojan Vafai <ojan@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Include git commits in the diff for webkit-patch upload/land.
+ https://bugs.webkit.org/show_bug.cgi?id=36394
+
+ Adds --squash, --no-squash and --git-commit.
+
+ --git-commit will use a specific local commit for land/upload.
+ If a commit-range is specified, then that range is treated as
+ a single squashed commit.
+
+ --squash will squash all local changes including working copy changes
+ into a single patch.
+
+ --no-squash is the legacy behavior (upload only considers the working copy,
+ land commits the working copy and then each local commit separately to SVN)
+
+ If neither is specified, then an informative error is raised if there is
+ more than one local commit or when there are local commit(s) and working
+ copy changes.
+
+ If the webkit-patch.squash git config parameter is set, then
+ that will be respected instead of raising an error.
+
+ * Scripts/check-webkit-style:
+ * Scripts/webkitpy/common/checkout/api.py:
+ * Scripts/webkitpy/common/checkout/api_unittest.py:
+ * Scripts/webkitpy/common/checkout/scm.py:
+ * Scripts/webkitpy/common/checkout/scm_unittest.py:
+ * Scripts/webkitpy/style/optparser.py:
+ --git-since is removed and --git-commit no longer implies commit_id..
+ Instead, it treats that individual commit, but also supports commit ranges
+ (e.g. commit_id..) as arguments.
+ * Scripts/webkitpy/style/optparser_unittest.py:
+ * Scripts/webkitpy/style_references.py:
+ * Scripts/webkitpy/tool/commands/download.py:
+ * Scripts/webkitpy/tool/commands/upload.py:
+ * Scripts/webkitpy/tool/main.py:
+ * Scripts/webkitpy/tool/mocktool.py:
+ * Scripts/webkitpy/tool/steps/abstractstep.py:
+ * Scripts/webkitpy/tool/steps/applypatchwithlocalcommit.py:
+ * Scripts/webkitpy/tool/steps/checkstyle.py:
+ * Scripts/webkitpy/tool/steps/commit.py:
+ * Scripts/webkitpy/tool/steps/options.py:
+ * Scripts/webkitpy/tool/steps/postdiff.py:
+ * Scripts/webkitpy/tool/steps/preparechangelog.py:
+ * Scripts/webkitpy/tool/steps/preparechangelogforrevert.py:
+ * Scripts/webkitpy/tool/steps/updatechangelogswithreviewer.py:
+ * Scripts/webkitpy/tool/steps/validatereviewer.py:
+
+2010-04-26 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Deleted the StyleChecker-related classes that are no longer
+ being used.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38118
+
+ * Scripts/webkitpy/style/checker.py:
+ - Deleted the DeprecatedStyleChecker class.
+
+ * Scripts/webkitpy/style/checker_unittest.py:
+ - Deleted the StyleCheckerTest, StyleCheckerCheckFileBase,
+ StyleCheckerCheckFileTest, and StyleCheckerCheckPathsTest classes.
+
+2010-04-26 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Changed the StyleChecker class to use the new TextFileReader class.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37066
+
+ This revision separates the code responsible for reading and iterating
+ over text files from the rest of check-webkit-style.
+
+ * Scripts/check-webkit-style:
+ - Changed the script to use the new StyleProcessor and
+ TextFileReader classes instead of the StyleChecker class.
+
+ * Scripts/webkitpy/style/checker.py:
+ - Added a FIXME to rename many of uses of the word "processor" to
+ "checker". We did this to clarify the difference between
+ ProcessorBase instances passed to the TextFileReader and
+ classes that process and check lines for style.
+ - Added a FIXME to remove FileType.NONE as a possible return value
+ of ProcessorDispatcher._file_type(). This will better consolidate
+ the logic of which files should be skipped.
+ - Added a FIXME to delete the StyleChecker class.
+ - Added the StyleProcessor class which implements ProcessorBase.
+ This class is responsible for processing lines to check style
+ (but not for reading files). For each file, this class creates
+ creates both a carriage-return checker and a format-specific
+ style checker (e.g. one of C++, Python, etc).
+ - Updated the PatchChecker class to use a TextFileReader instance
+ instead of a StyleChecker.
+
+ * Scripts/webkitpy/style/checker_unittest.py:
+ - Added the StyleProcessor_EndToEndTest class to do "end-to-end"
+ tests of the StyleProcessor class.
+ - Added the StyleProcessor_CodeCoverageTest to test the
+ StyleProcessor class with more complete code coverage.
+ Unlike the StyleProcessor_EndToEndTest class, this class makes
+ heavy use of mock parameters.
+ - Added FIXME's to delete the unit test classes that are no
+ longer needed.
+ - Updated the PatchCheckerTest class to use a MockTextFileReader
+ instead of a MockStyleChecker.
+
+ * Scripts/webkitpy/style/filereader.py:
+ - Updated the TextFileReader class to use the preferred logic
+ of checking file existence at the beginning of the process_file()
+ method instead of in the except block, per
+ https://bugs.webkit.org/show_bug.cgi?id=37122
+
+ * Scripts/webkitpy/style/filereader_unittest.py:
+ - In the TextFileReaderTest class:
+ - Moved the test_process_file__should_not_process() method.
+ - Added a test_process_file__file_stdin() method to test
+ the file path "-".
+
+2010-04-20 Robert Hogan <robert@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Add more support for textInputController
+
+ Add support for selectedRange(), setMarkedText(), insertText(),
+ and firstRectForCharacterRange().
+
+ Unskip tests:
+
+ fast/forms/input-maxlength-ime-preedit.html
+ fast/forms/input-maxlength-ime-completed.html
+ fast/text/international/thai-cursor-position.html
+ fast/events/ime-composition-events-001.html
+ editing/selection/5825350-1.html
+ editing/selection/5825350-2.html
+ editing/selection/mixed-editability-10.html
+
+ https://bugs.webkit.org/show_bug.cgi?id=35702
+
+ * DumpRenderTree/qt/TextInputControllerQt.cpp:
+ (TextInputController::setMarkedText):
+ (TextInputController::insertText):
+ (TextInputController::selectedRange):
+ (TextInputController::firstRectForCharacterRange):
+ * DumpRenderTree/qt/TextInputControllerQt.h:
+
+2010-04-23 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ check-webkit-style complains about non-utf8 data in layout test result
+ https://bugs.webkit.org/show_bug.cgi?id=38027
+
+ The problem was we were assuming patch files/diff output as utf-8.
+ Turns out they're not. We have to treat them as binary data because
+ a single patch may have multiple text files in it with conflicting encodings!
+
+ * Scripts/webkitpy/common/checkout/api.py:
+ - contents_at_revision returns a byte array, so decode it to unicode
+ before passing it to parse_latest_entry_from_file
+ * Scripts/webkitpy/common/checkout/api_unittest.py:
+ - Update our mock mock_contents_at_revision to match the encoding
+ semantics of the real one.
+ * Scripts/webkitpy/common/checkout/scm.py:
+ - Be careful not to decode output which may contain file contents
+ (like diff, cat or show) as the encoding for that content is unknown.
+ * Scripts/webkitpy/common/checkout/scm_unittest.py:
+ - Update our tests to use both latin1 and utf-8 encoded data.
+ * Scripts/webkitpy/common/net/bugzilla.py:
+ - _fill_attachment_form should not assume unicode data. Callers
+ may wish to attach other types of files to bugs.
+ * Scripts/webkitpy/common/prettypatch.py:
+ - Diffs are byte arrays, deal with them as such.
+ * Scripts/webkitpy/common/prettypatch_unittest.py:
+ - Test to make sure we handle diffs with multiple conflicting encodings.
+ * Scripts/webkitpy/common/system/executive_unittest.py:
+ - Make sure that our unicode support does not break our
+ byte array input support for run_command.
+
+2010-04-23 Sam Weinig <sam@webkit.org>
+
+ Reviewed by David Levin.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=38060
+ Split up Threading.h
+
+ Add necessary forwarding headers.
+
+ * DumpRenderTree/ForwardingHeaders/wtf/Atomics.h: Added.
+ * DumpRenderTree/ForwardingHeaders/wtf/ThreadSafeShared.h: Added.
+ * DumpRenderTree/ForwardingHeaders/wtf/ThreadingPrimitives.h: Added.
+
+2010-04-23 Xiaomei Ji <xji@chromium.org>
+
+ No need to review.
+
+ Add xji as committer.
+
+ * Scripts/webkitpy/common/config/committers.py:
+
+2010-04-23 Kevin Ollivier <kevino@theolliviers.com>
+
+ [wx] Build fix, add platform stub for new LayoutTestController method.
+
+ * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
+ (LayoutTestController::markerTextForListItem):
+
+2010-04-19 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ new-run-webkit-tests: add a "--retry-failures" flag and a
+ "--no-retry-failures" flag (the former is the default). Also, rename
+ "--print-unexpected-results" and "--retry-unexpected-results" to
+ "--print-last-failures" and "--retry-last-failures" because the
+ retry flag was confusing. The new flag names aren't great, but
+ hopefully they're less confusing.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37838
+
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+
+2010-04-22 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=38022
+ Move isMainThread predicate function to MainThread.h
+
+ Added forwarding header for MainThread.h
+
+ * DumpRenderTree/ForwardingHeaders/wtf/MainThread.h: Added.
+
+2010-04-23 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Disable Netscape plugin support for minimal configuration
+ https://bugs.webkit.org/show_bug.cgi?id=38026
+
+ Pass the minimal configuration option to Qt build system
+ as part of the CONFIG variable.
+
+ * Scripts/build-webkit:
+
+2010-04-22 Fumitoshi Ukai <ukai@chromium.org>
+
+ Unreviewed fix.
+
+ * Scripts/webkitpy/layout_tests/port/websocket_server.py: fix NameError: global name 'f' is not defined.
+
+2010-04-22 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Revert 58077 and follow-ups. It's broken.
+ https://bugs.webkit.org/show_bug.cgi?id=37664
+
+ * Scripts/new-run-webkit-httpd:
+ * Scripts/new-run-webkit-websocketserver:
+ * Scripts/webkitpy/layout_tests/port/chromium_win.py:
+ * Scripts/webkitpy/layout_tests/port/http_server.py:
+ * Scripts/webkitpy/layout_tests/port/websocket_server.py:
+
+2010-04-22 Yaar Schnitman <yaar@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Integrate v8 testing utility with webkit tests
+ https://bugs.webkit.org/show_bug.cgi?id=37731
+
+ * Scripts/run-bindings-tests: Added.
+
+2010-04-22 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ new-run-webkit-tests --verbose shows ever-increasing #EOF lines
+ https://bugs.webkit.org/show_bug.cgi?id=37794
+
+ * Scripts/webkitpy/layout_tests/port/webkit.py:
+ - Remove the assert() since our ServerProcess code does not always
+ seem to be reading the full stderr output (or we're not waiting for it to).
+
+2010-04-22 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Add code to help debug new-run-webkit-test hangs on the Chromium bots
+ https://bugs.webkit.org/show_bug.cgi?id=38011
+
+ I can see no reasonable way to test this change.
+ Stubbing out sys._current_frames() and traceback.extract_stack
+ seems folly. Dumping real data would have line number
+ (and possibly other call stack) variance between runs.
+
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+ - Add _dump_thread_states and _dump_thread_states_if_necessary
+ to have our main thread dump the states of all threads every
+ 60 seconds when running in verbose mode.
+ - Better document what is going on in our main loop.
+
+2010-04-22 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=38002
+ Add rudimentary statistics gathering for WebKit2
+
+ * MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj:
+ * MiniBrowser/mac/AppDelegate.h:
+ * MiniBrowser/mac/AppDelegate.m:
+ (-[BrowserAppDelegate init]):
+ (-[BrowserAppDelegate newWindow:]):
+ (-[BrowserAppDelegate getCurrentPageNamespace]):
+ (-[BrowserAppDelegate _setProcessModel:]):
+ (-[BrowserAppDelegate showStatisticsWindow:]):
+ (-[BrowserAppDelegate applicationWillTerminate:]):
+ * MiniBrowser/mac/BrowserStatisticsWindow.xib: Added.
+ * MiniBrowser/mac/BrowserStatisticsWindowController.h: Added.
+ * MiniBrowser/mac/BrowserStatisticsWindowController.m: Added.
+ (-[BrowserStatisticsWindowController initWithThreadedWKContextRef:processWKContextRef:]):
+ (-[BrowserStatisticsWindowController dealloc]):
+ (-[BrowserStatisticsWindowController windowDidLoad]):
+ (-[BrowserStatisticsWindowController refreshStatistics:]):
+ * MiniBrowser/mac/BrowserWindowController.h:
+ * MiniBrowser/mac/English.lproj/MainMenu.xib:
+ * MiniBrowser/mac/MiniBrowser_Prefix.pch:
+
+2010-04-22 Dave Moore <davemoore@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Add test support for icon changes.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33812
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (LayoutTestController::LayoutTestController):
+ (dumpIconChangesCallback):
+ (LayoutTestController::staticFunctions):
+ * DumpRenderTree/LayoutTestController.h:
+ (LayoutTestController::dumpIconChanges):
+ (LayoutTestController::setDumpIconChanges):
+ * DumpRenderTree/win/FrameLoadDelegate.cpp:
+ (FrameLoadDelegate::didChangeIcons):
+ * DumpRenderTree/win/FrameLoadDelegate.h:
+ * WinLauncher/WinLauncher.h:
+ (WinLauncherWebHost::didChangeIcons):
+
+2010-04-22 Eric Seidel <eric@webkit.org>
+
+ Unreviewed. Script fix. Will ask dpranke to look tomorrow.
+
+ new-run-webkit-tests --verbose shows ever-increasing #EOF lines
+ https://bugs.webkit.org/show_bug.cgi?id=37794
+
+ The bots are seeing cases where .error is sometimes empty.
+ Lets make the code not crash in that case for now.
+
+ * Scripts/webkitpy/layout_tests/port/webkit.py:
+
+2010-04-22 Fumitoshi Ukai <ukai@chromium.org>
+
+ Unreviewed fix.
+
+ * Scripts/webkitpy/layout_tests/port/websocket_server.py: fix NameError: global name 'f' is not defined.
+
+2010-04-22 Fumitoshi Ukai <ukai@chromium.org>
+
+ Unreviewed fix.
+
+ * Scripts/new-run-webkit-websocketserver: PyWebSocket no longer takes keyword argument 'register_cygwin'.
+
+2010-04-22 Eric Seidel <eric@webkit.org>
+
+ Unreviewed. Restore the Leopard bots to using
+ old-run-webkit-tests for now.
+
+ * Scripts/run-webkit-tests:
+
+2010-04-22 Fumitoshi Ukai <ukai@chromium.org>
+
+ Unreviewed fix.
+
+ * Scripts/webkitpy/layout_tests/port/http_server.py: fix NameError: global name 'env' is not defined.
+
+2010-04-22 Fumitoshi Ukai <ukai@chromium.org>
+
+ Unreviewed fix.
+
+ * Scripts/webkitpy/layout_tests/port/websocket_server.py: fix NameError: global name 'env' is not defined.
+
+2010-04-22 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Chromium: Add --chromium option to new-run-webkit-websocketserver
+ https://bugs.webkit.org/show_bug.cgi?id=37664
+
+ Move cygwin setup logic in chromium_win.py.
+
+ * Scripts/new-run-webkit-httpd: remove register_cygwin parameter to pass http_server.
+ * Scripts/new-run-webkit-websocketserver: add --chromium flag
+ * Scripts/webkitpy/layout_tests/port/chromium_win.py: setup for cygwin
+ * Scripts/webkitpy/layout_tests/port/http_server.py: remove cygwin setup logic
+ * Scripts/webkitpy/layout_tests/port/websocket_server.py: remove cygwin setup logic
+
+2010-04-22 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ new-run-webkit-tests --verbose shows ever-increasing #EOF lines
+ https://bugs.webkit.org/show_bug.cgi?id=37794
+
+ * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py:
+ - Fix the log message to explain that this is stderr output, not test output.
+ * Scripts/webkitpy/layout_tests/port/webkit.py:
+ - Be sure to reset the server_process.error after reading (seems like the wrong
+ place to do this, but at least this fixes the bug and dpranke and I can talk
+ about better designs later).
+ - Also remove the #EOF from the stderr output before returning it.
+
+2010-04-22 Eric Seidel <eric@webkit.org>
+
+ Unreviewed. Fixing new-run-webkit-tests on the bots.
+
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+ - Fixing _compat_shim_option to take variable keyword args.
+ - Turns out that nargs + callback is ignored unless type is specified.
+ So I added the type so that the option was properly consumed.
+ This was why new-run-webkit-tests couldn't find any tests, it
+ was looking for them under "20" because that was the argument
+ which should have been consumed by --exit-after-n-failures.
+
+2010-04-22 Tony Chang <tony@chromium.org>
+
+ Not reviewed, build fix for chromium Windows.
+
+ [chromium] fix ImageDiff compile on windows
+ https://bugs.webkit.org/show_bug.cgi?id=37979
+
+ * DumpRenderTree/chromium/ImageDiff.cpp:
+
+2010-04-22 Adam Barth <abarth@webkit.org>
+
+ Unreviewed, rolling out r58069.
+ http://trac.webkit.org/changeset/58069
+ https://bugs.webkit.org/show_bug.cgi?id=27751
+
+ Broke compile on Windows.
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (LayoutTestController::staticFunctions):
+ * DumpRenderTree/LayoutTestController.h:
+ * DumpRenderTree/chromium/LayoutTestController.cpp:
+ (LayoutTestController::LayoutTestController):
+ (LayoutTestController::overridePreference):
+ * DumpRenderTree/chromium/LayoutTestController.h:
+ * DumpRenderTree/chromium/TestShell.cpp:
+ (TestShell::resetWebSettings):
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (resetDefaultsToConsistentValues):
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::WebPage::WebPage):
+ (WebCore::WebPage::resetSettings):
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (resetDefaultsToConsistentValues):
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
+
+2010-04-22 Eric Seidel <eric@webkit.org>
+
+ Unreviewed. Just adding logging.
+
+ Adding logging to help debug why the Leopard Bot
+ can't find any tests to run.
+
+ * Scripts/webkitpy/layout_tests/layout_package/test_files.py:
+ * Scripts/webkitpy/layout_tests/port/base.py:
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+ - Make it a fatal error to have no tests to run.
+
+2010-04-22 Abhishek Arya <inferno@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Add support for controlling clipboard access from javascript.
+ Clipboard access from javascript is enabled in test framework.
+ https://bugs.webkit.org/show_bug.cgi?id=27751
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (setJavaScriptCanAccessClipboardCallback):
+ (LayoutTestController::staticFunctions):
+ * DumpRenderTree/LayoutTestController.h:
+ * DumpRenderTree/chromium/LayoutTestController.cpp:
+ (LayoutTestController::LayoutTestController):
+ (LayoutTestController::setJavaScriptCanAccessClipboard):
+ (LayoutTestController::overridePreference):
+ * DumpRenderTree/chromium/LayoutTestController.h:
+ * DumpRenderTree/chromium/TestShell.cpp:
+ (TestShell::resetWebSettings):
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::setJavaScriptCanAccessClipboard):
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (resetDefaultsToConsistentValues):
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (LayoutTestController::setJavaScriptCanAccessClipboard):
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::WebPage::WebPage):
+ (WebCore::WebPage::resetSettings):
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::setJavaScriptCanAccessClipboard):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (resetDefaultsToConsistentValues):
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::setJavaScriptCanAccessClipboard):
+ * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
+ (LayoutTestController::setJavaScriptCanAccessClipboard):
+
+2010-04-21 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ webkit-patch can't fetch attachments on security bugs
+ https://bugs.webkit.org/show_bug.cgi?id=37975
+
+ Instead of calling CURL, we just need to use our Mechanize object,
+ which understand bugs.webkit.org authentication.
+
+ * Scripts/webkitpy/common/checkout/api.py:
+ * Scripts/webkitpy/common/net/bugzilla.py:
+
+2010-04-21 Eric Seidel <eric@webkit.org>
+
+ Unreviewed. Temporary commit, will roll-out before morning.
+
+ Turning on new-run-webkit-tests for the Leopard build bot
+ for testing of the harness.
+ Users should not noctice (except for the results.html difference).
+
+ * Scripts/run-webkit-tests:
+
+2010-04-21 Eric Seidel <eric@webkit.org>
+
+ Unreviewed. Fix typo in my previous fix attempt.
+
+ REGRESSION(57531): the commit-queue still hates Tor Arne Vestbø
+ https://bugs.webkit.org/show_bug.cgi?id=37765
+
+ More on-the-bot debugging, sigh. I wish I had a local build.
+
+ * Scripts/webkitpy/layout_tests/port/base.py:
+
+2010-04-21 Eric Seidel <eric@webkit.org>
+
+ Unreviewed. Fix typo in my previous fix attempt.
+
+ REGRESSION(57531): the commit-queue still hates Tor Arne Vestbø
+ https://bugs.webkit.org/show_bug.cgi?id=37765
+
+ * Scripts/webkitpy/layout_tests/port/base.py:
+ - Add self. to class variable access.
+
+2010-04-21 Eric Seidel <eric@webkit.org>
+
+ Unreviewed. Another attempt to fix NRWT for chromium.
+
+ REGRESSION(57531): the commit-queue still hates Tor Arne Vestbø
+ https://bugs.webkit.org/show_bug.cgi?id=37765
+
+ * Scripts/webkitpy/layout_tests/port/base.py:
+ - wdiff_text was returning a byte array instead of a
+ unicode string. The simple fix was to just decode
+ the result. However, seeing so much duplicated code
+ with Executive made me cry, so I re-wrote the function
+ to be more like pretty_patch_text and use run_command
+ (which already knows how to handle unicode).
+
+2010-04-21 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Windows tests buildbots are too slow to be core builders
+ https://bugs.webkit.org/show_bug.cgi?id=37970
+
+ It's 10:45. The Windows test bots are still hours behind. They're too
+ slow to be core builders. When they get fast, we can add them back.
+
+ * Scripts/webkitpy/common/net/buildbot.py:
+ * Scripts/webkitpy/common/net/buildbot_unittest.py:
+
+2010-04-21 Eric Seidel <eric@webkit.org>
+
+ Unreviewed. Attempt one more time to fix NRWT for chromium.
+
+ REGRESSION(57531): the commit-queue still hates Tor Arne Vestbø
+ https://bugs.webkit.org/show_bug.cgi?id=37765
+
+ I'm debugging in the blind because I don't have a chromium
+ build on this laptop.
+
+ * Scripts/webkitpy/layout_tests/port/chromium.py:
+ - Apply the previous fix to a second caller.
+
+2010-04-21 Eric Seidel <eric@webkit.org>
+
+ Unreviewed. Attempt one more time to fix NRWT for chromium.
+
+ REGRESSION(57531): the commit-queue still hates Tor Arne Vestbø
+ https://bugs.webkit.org/show_bug.cgi?id=37765
+
+ * Scripts/webkitpy/layout_tests/port/chromium.py:
+ - Fix handling of test_shell output so that we always
+ decode it as utf-8.
+ Unlike DumpRenderTree test_shell does not ever return
+ pixel data. It spits out the pixel dumps in a separate
+ file, thus all output over stdout is utf-8 text.
+
+2010-04-21 Eric Seidel <eric@webkit.org>
+
+ Unreviewed. Attempt one more time to fix NRWT for chromium.
+
+ REGRESSION(57531): the commit-queue still hates Tor Arne Vestbø
+ https://bugs.webkit.org/show_bug.cgi?id=37765
+
+ * Scripts/webkitpy/layout_tests/test_types/image_diff.py:
+ - Pass encoding to _save_baseline_data and write_output_files
+ * Scripts/webkitpy/layout_tests/test_types/test_type_base.py:
+ - Make _save_baseline_data and write_output_files take an encoding.
+ * Scripts/webkitpy/layout_tests/test_types/text_diff.py:
+ - Pass encoding to _save_baseline_data and write_output_files
+
+2010-04-21 No'am Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] QtLauncher: make FPS measurement accurate
+ https://bugs.webkit.org/show_bug.cgi?id=37934
+
+ Instead of counting paints, which are not interchangeable with frames that
+ the user sees, we now set an arbitrary timer for FPS measurements. The idea is
+ that if the main thread is delayed for any reason, that timer would be delayed
+ as well.
+
+ * QtLauncher/QtLauncher.pro:
+ * QtLauncher/fpstimer.cpp: Added.
+ (FpsTimer::FpsTimer):
+ (FpsTimer::numFrames):
+ (FpsTimer::start):
+ (FpsTimer::stop):
+ (FpsTimer::timerEvent):
+ * QtLauncher/fpstimer.h: Added.
+ * QtLauncher/webview.cpp:
+ (WebViewGraphicsBased::setFrameRateMeasurementEnabled):
+ (WebViewGraphicsBased::updateFrameRate):
+ (WebViewGraphicsBased::paintEvent):
+ * QtLauncher/webview.h:
+
+2010-04-21 Eric Seidel <eric@webkit.org>
+
+ Unreviewed, just adding missing ":" in python file.
+
+ REGRESSION(57531): the commit-queue still hates Tor Arne Vestbø
+ https://bugs.webkit.org/show_bug.cgi?id=37765
+
+ new-run-webkit-tests --chromium was borked.
+
+ * Scripts/webkitpy/layout_tests/port/chromium.py:
+
+2010-04-21 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ REGRESSION(57531): the commit-queue still hates Tor Arne Vestbø
+ https://bugs.webkit.org/show_bug.cgi?id=37765
+
+ Third time is the charm. I've fixed all the
+ new-run-webkit-tests regressions from previous attempts.
+
+ I fixed the queue to not ignore Tor as a reviwer in r57531,
+ but instead it throws an exception every time his name is in a patch.
+
+ This fixes our Executive.run_command code to work around a Popen
+ bug http://bugs.python.org/issue5290 whereby python versions before 2.6
+ do not correctly handle unicode objects as input or output to
+ Popen.communicate.
+
+ Following the advice of:
+ http://farmdev.com/talks/unicode/
+ I have changed all of webkitpy to use unicode() objects as strings
+ instead of str objects (which in Python 3 are renamed "bytes").
+
+ String literals were left as "foo" instead of converting to u"foo"
+ as u"foo" is only required if the string has a non-ascii code point.
+ Python is smart about comparing str() and unicode() values and will
+ log an error to the console if the comparison is ever invalid.
+
+ Executive.run* now correctly accept and return unicode() objects.
+ I attempted to fix all the places that we call .write() to make sure we
+ encode any unicode() objects into utf-8.
+
+ I removed several uses of StringIO. StringIO should generally always be
+ passed a unicode() value.
+
+ Likewise I replaced most calls to open() with codecs.open().
+ codecs.open() matches Python 3 open semantics in requiring an encoding
+ parameter. Files opened with codecs.open() with a unicode-compatible
+ encoding will vend unicode() objects from their read() calls, like how
+ StringIO created with a unicode() object will do.
+
+ I also deployed "with" statements wider (now that the project has
+ settled on Python 2.5) to close a bunch of file descriptor leaks.
+
+ * Scripts/webkitpy/common/checkout/api_unittest.py:
+ - Read/write utf-8 files instead of ascii.
+ - Update the tests to use test for proper unicode() handling.
+ * Scripts/webkitpy/common/checkout/changelog.py:
+ - Document that parse_latest_entry_from_file expects
+ file-like objects which return unicode strings.
+ * Scripts/webkitpy/common/checkout/changelog_unittest.py:
+ - Use unicode() strings instead of str() byte arrays.
+ - Deploy "with" to close file descriptor leaks.
+ * Scripts/webkitpy/common/checkout/commitinfo.py:
+ - Remove unneeded import.
+ * Scripts/webkitpy/common/checkout/scm.py:
+ - Remove use of str().
+ * Scripts/webkitpy/common/checkout/scm_unittest.py:
+ - Read/write utf-8 files and use unicode() strings in testing.
+ * Scripts/webkitpy/common/config/committers.py:
+ - Use \u instead of \x to make slightly clearer what we're doing.
+ * Scripts/webkitpy/common/net/bugzilla.py:
+ - Add a new _string_contents() method and explain why
+ we have to call unicode() on the result of soup.string
+ and why it's safe to do so w/o needing to pass a codec name.
+ - Remove the (unused) support for passing a file object to add_patch_to_bug().
+ * Scripts/webkitpy/common/net/buildbot.py:
+ - Use unicode() instead of str() when needing to coax a
+ NavigableString object into a unicode() object.
+ * Scripts/webkitpy/common/net/buildbot_unittest.py:
+ - Add a test which contains a unicode builder name.
+ * Scripts/webkitpy/common/net/statusserver.py:
+ - Remove use of str()
+ * Scripts/webkitpy/common/prettypatch.py:
+ - Write out the patch file as utf-8.
+ * Scripts/webkitpy/common/system/autoinstall.py:
+ - Write out files with a explicit encodings.
+ - Deploy "with" to close file descriptor leaks.
+ * Scripts/webkitpy/common/system/deprecated_logging.py:
+ - Write out log files as utf-8.
+ * Scripts/webkitpy/common/system/executive.py:
+ - Make run* properly take and return unicode() objects.
+ - Cleaned up input handling in run_command a little by adding
+ a _compute_input() method which can return early instead of having
+ such a long/cluttered if-block.
+ * Scripts/webkitpy/common/system/executive_unittest.py:
+ - Added a unit test to make sure we don't break Tor again!
+ * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py:
+ - Write out the test list as utf-8.
+ * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
+ - Write out json files as utf-8.
+ * Scripts/webkitpy/layout_tests/port/apache_http_server.py:
+ - Deploy "with" to close file descriptor leaks.
+ * Scripts/webkitpy/layout_tests/port/chromium.py: Add Executive.py FIXME.
+ * Scripts/webkitpy/layout_tests/port/chromium_linux.py: ditto.
+ * Scripts/webkitpy/layout_tests/port/chromium_mac.py: ditto.
+ * Scripts/webkitpy/layout_tests/port/gtk.py: ditto.
+ * Scripts/webkitpy/layout_tests/port/mac.py: ditto.
+ * Scripts/webkitpy/layout_tests/port/mac_unittest.py:
+ - Make the skipped file parsing test unicode.
+ * Scripts/webkitpy/layout_tests/port/qt.py: Add Executive.py FIXME.
+ * Scripts/webkitpy/layout_tests/port/server_process.py: ditto.
+ * Scripts/webkitpy/layout_tests/port/webkit.py:
+ - Deploy "with" to close file descriptor leaks.
+ * Scripts/webkitpy/layout_tests/port/websocket_server.py:
+ - Make explicit the encodings of log files and pid files.
+ * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
+ - Make encodings explicit and deploy "with".
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py: ditto.
+ * Scripts/webkitpy/layout_tests/test_types/image_diff.py: ditto.
+ * Scripts/webkitpy/layout_tests/test_types/test_type_base.py: ditto.
+ * Scripts/webkitpy/layout_tests/test_types/text_diff.py: ditto.
+ * Scripts/webkitpy/style/filereader_unittest.py: ditto.
+ * Scripts/webkitpy/thirdparty/__init__.py: ditto.
+ * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
+ - Removed extra import.
+ * Scripts/webkitpy/tool/commands/queues.py:
+ - No need to map args to strings now that run_command does.
+ - Update test results to match args changes.
+ - Document our global argument hacks.
+ * Scripts/webkitpy/tool/commands/upload.py:
+ - Pass the diff directly to add_patch_to_bug instead of creating a StringIO file wrapper.
+ * Scripts/webkitpy/tool/mocktool.py:
+ - Rename add_patch_to_bug argument to match bugzilla.py
+ * Scripts/webkitpy/tool/steps/abstractstep.py:
+ - Executive.run_* now require lists instead of strings.
+ The lack of this change was what broke webkit-patch
+ for svn users the first time this was landed.
+ * Scripts/webkitpy/tool/steps/postdiff.py:
+ - Pass the diff directly to add_patch_to_bug instead of creating a StringIO file wrapper.
+ * Scripts/webkitpy/tool/steps/postdiffforcommit.py: ditto
+ * Scripts/webkitpy/tool/steps/postdiffforrevert.py: ditto
+ * Scripts/webkitpy/tool/steps/steps_unittest.py:
+ - Fixed spurious logging seen when running test-webkitpy
+
+2010-04-21 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ aria-liveregion-notifications.html fails on leopard release bot
+ https://bugs.webkit.org/show_bug.cgi?id=37112
+
+ Change the way that notifications are listened for by forcing clients
+ to call a remove listener as well to match the add listener. DRT will
+ assert if those are not done in the correct order.
+
+ * DumpRenderTree/AccessibilityUIElement.cpp:
+ (removeNotificationListenerCallback):
+ (AccessibilityUIElement::getJSClass):
+ * DumpRenderTree/AccessibilityUIElement.h:
+ * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
+ (AccessibilityUIElement::removeNotificationListener):
+ * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+ (-[AccessibilityNotificationHandler initWithPlatformElement:]):
+ (-[AccessibilityNotificationHandler dealloc]):
+ (-[AccessibilityNotificationHandler _notificationReceived:]):
+ (-[AccessibilityNotificationHandler setCallback:]):
+ (AccessibilityUIElement::AccessibilityUIElement):
+ (AccessibilityUIElement::~AccessibilityUIElement):
+ (AccessibilityUIElement::addNotificationListener):
+ (AccessibilityUIElement::removeNotificationListener):
+ * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
+ (AccessibilityUIElement::removeNotificationListener):
+
+2010-04-21 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add debug menu items to show/hide the Web View.
+ https://bugs.webkit.org/show_bug.cgi?id=37958
+
+ * MiniBrowser/mac/BrowserWindowController.h:
+ * MiniBrowser/mac/BrowserWindowController.m:
+ (-[BrowserWindowController showHideWebView:]):
+ (-[BrowserWindowController removeReinsertWebView:]):
+ (-[BrowserWindowController validateMenuItem:]):
+ * MiniBrowser/mac/English.lproj/MainMenu.xib:
+
+2010-04-21 Eric Seidel <eric@webkit.org>
+
+ Unreviewed. Rolling out unicode() changes as they broke NRWT for chromium.
+ Rolling out:
+ http://trac.webkit.org/changeset/58014
+ http://trac.webkit.org/changeset/58016
+ http://trac.webkit.org/changeset/58020
+
+ REGRESSION(57531): the commit-queue still hates Tor Arne Vestbo
+ https://bugs.webkit.org/show_bug.cgi?id=37765
+
+ * Scripts/webkitpy/common/checkout/api_unittest.py:
+ * Scripts/webkitpy/common/checkout/changelog.py:
+ * Scripts/webkitpy/common/checkout/changelog_unittest.py:
+ * Scripts/webkitpy/common/checkout/commitinfo.py:
+ * Scripts/webkitpy/common/checkout/scm.py:
+ * Scripts/webkitpy/common/checkout/scm_unittest.py:
+ * Scripts/webkitpy/common/config/committers.py:
+ * Scripts/webkitpy/common/net/bugzilla.py:
+ * Scripts/webkitpy/common/net/buildbot.py:
+ * Scripts/webkitpy/common/net/buildbot_unittest.py:
+ * Scripts/webkitpy/common/net/statusserver.py:
+ * Scripts/webkitpy/common/prettypatch.py:
+ * Scripts/webkitpy/common/system/autoinstall.py:
+ * Scripts/webkitpy/common/system/deprecated_logging.py:
+ * Scripts/webkitpy/common/system/executive.py:
+ * Scripts/webkitpy/common/system/executive_unittest.py:
+ * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py:
+ * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
+ * Scripts/webkitpy/layout_tests/port/apache_http_server.py:
+ * Scripts/webkitpy/layout_tests/port/chromium.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
+ * Scripts/webkitpy/layout_tests/port/gtk.py:
+ * Scripts/webkitpy/layout_tests/port/mac.py:
+ * Scripts/webkitpy/layout_tests/port/mac_unittest.py:
+ * Scripts/webkitpy/layout_tests/port/qt.py:
+ * Scripts/webkitpy/layout_tests/port/server_process.py:
+ * Scripts/webkitpy/layout_tests/port/webkit.py:
+ * Scripts/webkitpy/layout_tests/port/websocket_server.py:
+ * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+ * Scripts/webkitpy/layout_tests/test_types/image_diff.py:
+ * Scripts/webkitpy/layout_tests/test_types/test_type_base.py:
+ * Scripts/webkitpy/layout_tests/test_types/text_diff.py:
+ * Scripts/webkitpy/style/filereader_unittest.py:
+ * Scripts/webkitpy/thirdparty/__init__.py:
+ * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
+ * Scripts/webkitpy/tool/commands/queues.py:
+ * Scripts/webkitpy/tool/commands/queues_unittest.py:
+ * Scripts/webkitpy/tool/commands/upload.py:
+ * Scripts/webkitpy/tool/mocktool.py:
+ * Scripts/webkitpy/tool/steps/abstractstep.py:
+ * Scripts/webkitpy/tool/steps/postdiff.py:
+ * Scripts/webkitpy/tool/steps/postdiffforcommit.py:
+ * Scripts/webkitpy/tool/steps/postdiffforrevert.py:
+ * Scripts/webkitpy/tool/steps/steps_unittest.py:
+
+2010-04-21 Eric Seidel <eric@webkit.org>
+
+ Unreviewed, fixing NRWT for real this time.
+
+ REGRESSION(57531): the commit-queue still hates Tor Arne Vestbø
+ https://bugs.webkit.org/show_bug.cgi?id=37765
+
+ * Scripts/webkitpy/layout_tests/test_types/test_type_base.py:
+ - Add a hack to fix new-run-webkit-tests
+ my understanding of codecs.open(encoding=None)
+ must have been wrong.
+
+2010-04-21 Eric Seidel <eric@webkit.org>
+
+ Unreviewed, just fixing exception seen on builders.
+
+ REGRESSION(57531): the commit-queue still hates Tor Arne Vestbø
+ https://bugs.webkit.org/show_bug.cgi?id=37765
+
+ * Scripts/webkitpy/layout_tests/test_types/test_type_base.py:
+ - Pass and encoding to _write_into_file_at_path
+
+2010-04-21 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ REGRESSION(57531): the commit-queue still hates Tor Arne Vestbø
+ https://bugs.webkit.org/show_bug.cgi?id=37765
+
+ I fixed the queue to not ignore Tor as a reviwer in r57531,
+ but instead it throws an exception every time his name is in a patch.
+
+ This fixes our Executive.run_command code to work around a Popen
+ bug http://bugs.python.org/issue5290 whereby python versions before 2.6
+ do not correctly handle unicode objects as input or output to
+ Popen.communicate.
+
+ Following the advice of:
+ http://farmdev.com/talks/unicode/
+ I have changed all of webkitpy to use unicode() objects as strings
+ instead of str objects (which in Python 3 are renamed "bytes").
+
+ String literals were left as "foo" instead of converting to u"foo"
+ as u"foo" is only required if the string has a non-ascii code point.
+ Python is smart about comparing str() and unicode() values and will
+ log an error to the console if the comparison is ever invalid.
+
+ Executive.run* now correctly accept and return unicode() objects.
+ I attempted to fix all the places that we call .write() to make sure we
+ encode any unicode() objects into utf-8.
+
+ I removed several uses of StringIO. StringIO should generally always be
+ passed a unicode() value.
+
+ Likewise I replaced most calls to open() with codecs.open().
+ codecs.open() matches Python 3 open semantics in requiring an encoding
+ parameter. Files opened with codecs.open() with a unicode-compatible
+ encoding will vend unicode() objects from their read() calls, like how
+ StringIO created with a unicode() object will do.
+
+ I also deployed "with" statements wider (now that the project has
+ settled on Python 2.5) to close a bunch of file descriptor leaks.
+
+ * Scripts/webkitpy/common/checkout/api_unittest.py:
+ - Read/write utf-8 files instead of ascii.
+ - Update the tests to use test for proper unicode() handling.
+ * Scripts/webkitpy/common/checkout/changelog.py:
+ - Document that parse_latest_entry_from_file expects
+ file-like objects which return unicode strings.
+ * Scripts/webkitpy/common/checkout/changelog_unittest.py:
+ - Use unicode() strings instead of str() byte arrays.
+ - Deploy "with" to close file descriptor leaks.
+ * Scripts/webkitpy/common/checkout/commitinfo.py:
+ - Remove unneeded import.
+ * Scripts/webkitpy/common/checkout/scm.py:
+ - Remove use of str().
+ * Scripts/webkitpy/common/checkout/scm_unittest.py:
+ - Read/write utf-8 files and use unicode() strings in testing.
+ * Scripts/webkitpy/common/config/committers.py:
+ - Use \u instead of \x to make slightly clearer what we're doing.
+ * Scripts/webkitpy/common/net/bugzilla.py:
+ - Add a new _string_contents() method and explain why
+ we have to call unicode() on the result of soup.string
+ and why it's safe to do so w/o needing to pass a codec name.
+ - Remove the (unused) support for passing a file object to add_patch_to_bug().
+ * Scripts/webkitpy/common/net/buildbot.py:
+ - Use unicode() instead of str() when needing to coax a
+ NavigableString object into a unicode() object.
+ * Scripts/webkitpy/common/net/buildbot_unittest.py:
+ - Add a test which contains a unicode builder name.
+ * Scripts/webkitpy/common/net/statusserver.py:
+ - Remove use of str()
+ * Scripts/webkitpy/common/prettypatch.py:
+ - Write out the patch file as utf-8.
+ * Scripts/webkitpy/common/system/autoinstall.py:
+ - Write out files with a explicit encodings.
+ - Deploy "with" to close file descriptor leaks.
+ * Scripts/webkitpy/common/system/deprecated_logging.py:
+ - Write out log files as utf-8.
+ * Scripts/webkitpy/common/system/executive.py:
+ - Make run* properly take and return unicode() objects.
+ - Cleaned up input handling in run_command a little by adding
+ a _compute_input() method which can return early instead of having
+ such a long/cluttered if-block.
+ * Scripts/webkitpy/common/system/executive_unittest.py:
+ - Added a unit test to make sure we don't break Tor again!
+ * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py:
+ - Write out the test list as utf-8.
+ * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
+ - Write out json files as utf-8.
+ * Scripts/webkitpy/layout_tests/port/apache_http_server.py:
+ - Deploy "with" to close file descriptor leaks.
+ * Scripts/webkitpy/layout_tests/port/chromium.py: Add Executive.py FIXME.
+ * Scripts/webkitpy/layout_tests/port/chromium_linux.py: ditto.
+ * Scripts/webkitpy/layout_tests/port/chromium_mac.py: ditto.
+ * Scripts/webkitpy/layout_tests/port/gtk.py: ditto.
+ * Scripts/webkitpy/layout_tests/port/mac.py: ditto.
+ * Scripts/webkitpy/layout_tests/port/mac_unittest.py:
+ - Make the skipped file parsing test unicode.
+ * Scripts/webkitpy/layout_tests/port/qt.py: Add Executive.py FIXME.
+ * Scripts/webkitpy/layout_tests/port/server_process.py: ditto.
+ * Scripts/webkitpy/layout_tests/port/webkit.py:
+ - Deploy "with" to close file descriptor leaks.
+ * Scripts/webkitpy/layout_tests/port/websocket_server.py:
+ - Make explicit the encodings of log files and pid files.
+ * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
+ - Make encodings explicit and deploy "with".
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py: ditto.
+ * Scripts/webkitpy/layout_tests/test_types/image_diff.py: ditto.
+ * Scripts/webkitpy/layout_tests/test_types/test_type_base.py: ditto.
+ * Scripts/webkitpy/layout_tests/test_types/text_diff.py: ditto.
+ * Scripts/webkitpy/style/filereader_unittest.py: ditto.
+ * Scripts/webkitpy/thirdparty/__init__.py: ditto.
+ * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
+ - Removed extra import.
+ * Scripts/webkitpy/tool/commands/queues.py:
+ - No need to map args to strings now that run_command does.
+ - Update test results to match args changes.
+ - Document our global argument hacks.
+ * Scripts/webkitpy/tool/commands/upload.py:
+ - Pass the diff directly to add_patch_to_bug instead of creating a StringIO file wrapper.
+ * Scripts/webkitpy/tool/mocktool.py:
+ - Rename add_patch_to_bug argument to match bugzilla.py
+ * Scripts/webkitpy/tool/steps/abstractstep.py:
+ - Executive.run_* now require lists instead of strings.
+ The lack of this change was what broke webkit-patch
+ for svn users the first time this was landed.
+ * Scripts/webkitpy/tool/steps/postdiff.py:
+ - Pass the diff directly to add_patch_to_bug instead of creating a StringIO file wrapper.
+ * Scripts/webkitpy/tool/steps/postdiffforcommit.py: ditto
+ * Scripts/webkitpy/tool/steps/postdiffforrevert.py: ditto
+ * Scripts/webkitpy/tool/steps/steps_unittest.py:
+ - Fixed spurious logging seen when running test-webkitpy
+
+2010-04-21 Kinuko Yasuda <kinuko@chromium.org>
+
+ Unreviewed.
+
+ Add myself in committers.py.
+
+ * Scripts/webkitpy/common/config/committers.py:
+
+2010-04-21 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ new-run-webkit-tests: fix a bug in the Chromium port where we would
+ try to talk to a crashed test_shell and raise exceptions that weren't
+ being caught.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37941
+
+ * Scripts/webkitpy/layout_tests/port/chromium.py:
+
+2010-04-21 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Unreviewed.
+
+ [Qt] [Symbian] Build fix.
+
+ Work around a Qt quirk. Some versions of Symbian port Qt
+ QFontDatabase::removeAllApplicationFonts symbol is not available.
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::DumpRenderTree::open):
+
+2010-04-21 Alexey Proskuryakov <ap@apple.com>
+
+ Unreviewed.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37933
+ <rdar://problem/7719540> XMLHttpRequest.withCredentials should be better enforced.
+
+ Adding stub implementation of authenticateSession(). Depending on platform loader behavior,
+ a real implementation may or may not be necessary for the one test that currently uses it
+ to pass.
+
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::authenticateSession):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+
+2010-04-21 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Brady Eidson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37933
+ <rdar://problem/7719540> XMLHttpRequest.withCredentials should be better enforced.
+
+ Adding authenticateSession() method that adds credentials to per-process credential storage
+ (for platforms that even have such). No Windows implementation, because writing another
+ loader for DRT is painful.
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (authenticateSessionCallback):
+ (LayoutTestController::staticFunctions):
+ * DumpRenderTree/LayoutTestController.h:
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (-[SynchronousLoader dealloc]):
+ (-[SynchronousLoader connectionShouldUseCredentialStorage:]):
+ (-[SynchronousLoader connection:didReceiveAuthenticationChallenge:]):
+ (-[SynchronousLoader connection:didFailWithError:]):
+ (-[SynchronousLoader connectionDidFinishLoading:]):
+ (+[SynchronousLoader makeRequest:withUsername:password:]):
+ (LayoutTestController::authenticateSession):
+
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::authenticateSession):
+ * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
+ (LayoutTestController::authenticateSession):
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::authenticateSession):
+ Stub implementations.
+
+2010-04-21 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [DRT/Chromium] Make DRT compilable in Chromium tree
+ https://bugs.webkit.org/show_bug.cgi?id=37923
+
+ We need to use different GYPs in a case of WebKit-only checkout
+ and a case of whole Chromium checkout because the relative paths
+ from webkit/ to WebKit/chromium/features.gypi are different in
+ these cases and we can't use 'conditions' for 'includes' in GYPs.
+
+ * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
+
+2010-04-21 Jakub Wieczorek <jwieczorek@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ List item markers are not always updated after changes in the DOM.
+ https://bugs.webkit.org/show_bug.cgi?id=37060
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (markerTextForListItemCallback): A function that returns the marker text for a given list item.
+ (LayoutTestController::staticFunctions):
+ * DumpRenderTree/LayoutTestController.h:
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::markerTextForListItem): Implement it in the GTK port.
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (LayoutTestController::markerTextForListItem): Add a stub.
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::LayoutTestController):
+ (LayoutTestController::markerTextForListItem): Implement it in the Qt port.
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::markerTextForListItem): Add a stub.
+
+2010-04-21 Adam Roben <aroben@apple.com>
+
+ Exclude leaks in CGGradientCreateWithColorComponents from
+ run-webkit-tests leaks output
+
+ The leak in CG is covered by <rdar://problem/7888492>.
+
+ Fixes <http://webkit.org/b/37927>.
+
+ Reviewed by Eric Carlson.
+
+ * Scripts/old-run-webkit-tests:
+ (sub countAndPrintLeaks): Exclude leaks in
+ CGGradientCreateWithColorComponents on certain OSs.
+
+2010-04-21 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ [DRT/Chromium] Import MockSpellCheck from Chromium
+ https://bugs.webkit.org/show_bug.cgi?id=37910
+
+ Import webkit/tools/test_shell/mock_spellcheck.{cc,h} rev.37241 of Chromium.
+
+ * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
+ Add ICU explicitly because WTFString.h includes ICU headers.
+ Add MockSpellCheck.{cpp,h}.
+ * DumpRenderTree/chromium/MockSpellCheck.cpp: Added.
+ * DumpRenderTree/chromium/MockSpellCheck.h: Added.
+ * DumpRenderTree/chromium/WebViewHost.cpp:
+ (WebViewHost::spellCheck):
+ * DumpRenderTree/chromium/WebViewHost.h:
+ * DumpRenderTree/chromium/config.h: Define JS_EXPORTDATA, which is used
+ by wtf/text/AtomicString.h included by wtf/text/WTFString.h.
+
+2010-04-21 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Add webkit-patch pretty-diff
+ https://bugs.webkit.org/show_bug.cgi?id=37892
+
+ This is slightly lame because it asks you whether the diff is correct,
+ but it's a starting point.
+
+ * Scripts/webkitpy/tool/commands/__init__.py:
+ * Scripts/webkitpy/tool/commands/prettydiff.py: Added.
+ * Scripts/webkitpy/tool/main.py:
+
+2010-04-21 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Remove mention of non-existant --no-build option
+ https://bugs.webkit.org/show_bug.cgi?id=37893
+
+ The option doesn't exist!
+
+ * Scripts/webkitpy/tool/commands/stepsequence.py:
+
+2010-04-21 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Interrupting JavaScript is cumbersome when you use QtLaucher for testing or profiling.
+ https://bugs.webkit.org/show_bug.cgi?id=37198
+
+ * QtLauncher/main.cpp:
+ (LauncherWindow::toggleInterruptingJavaScriptEnabled):
+ (LauncherWindow::newWindow):
+ (LauncherWindow::cloneWindow):
+ (LauncherWindow::createChrome):
+ (main):
+ * QtLauncher/webpage.cpp:
+ (WebPage::WebPage):
+ (WebPage::shouldInterruptJavaScript):
+ * QtLauncher/webpage.h:
+ (WebPage::setInterruptingJavaScriptEnabled):
+
+2010-04-21 Eric Seidel <eric@webkit.org>
+
+ Unreviewed, rolling out r57963.
+ http://trac.webkit.org/changeset/57963
+ https://bugs.webkit.org/show_bug.cgi?id=37759
+
+ Three tests started crashing on the Qt bot.
+
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+
+2010-04-21 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ Make new-run-webkit-tests work for the Qt port
+ https://bugs.webkit.org/show_bug.cgi?id=37588
+
+ * Scripts/webkitpy/layout_tests/port/qt.py:
+
+2010-04-21 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ new-run-webkit-tests: try to detect alternate apache path
+ https://bugs.webkit.org/show_bug.cgi?id=37587
+
+ _check_port_build() also needs to return true in the
+ base implementation to not fail the check_build step.
+
+ * Scripts/webkitpy/layout_tests/port/webkit.py:
+
+2010-04-21 Yi Shen <yi.4.shen@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Add LayoutTestController interface: computedStyleIncludingVisitedInfo
+ https://bugs.webkit.org/show_bug.cgi?id=37759
+
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::computedStyleIncludingVisitedInfo):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+
+2010-04-21 Eric Seidel <eric@webkit.org>
+
+ Unreviewed, test fix only.
+
+ new-run-webkit-tests: implement a --log trace message to be able to display detailed output of an individual test run
+ https://bugs.webkit.org/show_bug.cgi?id=37726
+
+ This change seems to have broken a test.
+ Attempting to handle the case where we don't have any
+ timing information. Dirk may have to correct this change.
+
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+
+2010-04-19 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ new-run-webkit-tests has much higher startup latency than run-webkit-tests
+ https://bugs.webkit.org/show_bug.cgi?id=37643
+
+ I got rid of the -expected.checksum reads during startup.
+ This makes startup noticably better on my laptop.
+
+ * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py:
+ - Use image_hash() instead of .image_hash now that expected.checksum
+ file reads are done lazily.
+ * Scripts/webkitpy/layout_tests/port/http_server_base.py:
+ - Add debug logging for this sleep call.
+ In my testing I never saw this sleep() hit.
+ * Scripts/webkitpy/layout_tests/port/websocket_server.py:
+ - Sleep a shorter interval to make websocket server
+ startup more responsive. On my machine startup was
+ taking around 1 second.
+ - Remove the unconditional .5s delay on startup.
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+ - Make image_hash file reads done lazily in a new image_hash() function.
+ - Add a "Starting testing ..." meter update after DRT threads have
+ been started, but before we get updates from the first one.
+ - Rename variable "t" to a full english name to match WebKit style.
+
+2010-04-20 Daniel Bates <dbates@rim.com>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37748
+
+ Make Sheriffbot more inspirational.
+
+ * Scripts/webkitpy/common/net/bugzilla.py:
+ * Scripts/webkitpy/common/net/bugzilla_unittest.py:
+ * Scripts/webkitpy/tool/bot/irc_command.py:
+ * Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py:
+ * Scripts/webkitpy/tool/mocktool.py:
+
+2010-04-20 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [DRT/Chromium] Import Chromium image_diff as ImageDiff
+ https://bugs.webkit.org/show_bug.cgi?id=37790
+
+ ImageDiff.cpp is based on tools/imagediff/image_diff.cc r41911 of Chromium.
+
+ * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
+ * DumpRenderTree/chromium/ImageDiff.cpp: Added.
+ * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
+
+2010-04-20 Dirk Pranke <dpranke@chromium.org>
+
+ This patch to new-run-webkit-tests adds a --log 'trace' option
+ that prints out detailed info about a given test as it executes
+ (where the baselines are, what the expectation is, what we got,
+ how long it took).
+
+ https://bugs.webkit.org/show_bug.cgi?id=37726
+
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+ - use the newly exposed TestResult class and implement
+ --log trace
+ * Scripts/webkitpy/layout_tests/layout_package/dump_render_thread.py:
+ - rename TestStats to TestResult and make it more public, resulting
+ in cleaner code
+ * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py:
+ - add expectation_to_string() as a separate callable function
+
+2010-04-20 Eric Seidel <eric@webkit.org>
+
+ Unreviewed, rolling out r57907.
+ http://trac.webkit.org/changeset/57907
+ https://bugs.webkit.org/show_bug.cgi?id=37765
+
+ Appears to have broken MacEWS and possibly webkit-patch upload
+ for svn users. Needs further investigation.
+
+ * Scripts/webkitpy/common/checkout/api.py:
+ * Scripts/webkitpy/common/checkout/api_unittest.py:
+ * Scripts/webkitpy/common/checkout/changelog.py:
+ * Scripts/webkitpy/common/checkout/changelog_unittest.py:
+ * Scripts/webkitpy/common/checkout/commitinfo.py:
+ * Scripts/webkitpy/common/checkout/scm.py:
+ * Scripts/webkitpy/common/checkout/scm_unittest.py:
+ * Scripts/webkitpy/common/config/committers.py:
+ * Scripts/webkitpy/common/net/bugzilla.py:
+ * Scripts/webkitpy/common/net/buildbot.py:
+ * Scripts/webkitpy/common/net/buildbot_unittest.py:
+ * Scripts/webkitpy/common/net/statusserver.py:
+ * Scripts/webkitpy/common/prettypatch.py:
+ * Scripts/webkitpy/common/system/autoinstall.py:
+ * Scripts/webkitpy/common/system/deprecated_logging.py:
+ * Scripts/webkitpy/common/system/executive.py:
+ * Scripts/webkitpy/common/system/executive_unittest.py:
+ * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py:
+ * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
+ * Scripts/webkitpy/layout_tests/layout_package/metered_stream.py:
+ * Scripts/webkitpy/layout_tests/port/mac_unittest.py:
+ * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
+ * Scripts/webkitpy/tool/commands/queues.py:
+ * Scripts/webkitpy/tool/commands/queues_unittest.py:
+ * Scripts/webkitpy/tool/commands/upload.py:
+ * Scripts/webkitpy/tool/mocktool.py:
+ * Scripts/webkitpy/tool/steps/abstractstep.py:
+ * Scripts/webkitpy/tool/steps/postdiff.py:
+ * Scripts/webkitpy/tool/steps/postdiffforcommit.py:
+ * Scripts/webkitpy/tool/steps/postdiffforrevert.py:
+ * Scripts/webkitpy/tool/steps/steps_unittest.py:
+
+2010-04-20 Nate Chapin <japhet@chromium.org>
+
+ Unreviewed.
+
+ Update my irc handle in committers.py (natechapin -> japhet).
+
+ * Scripts/webkitpy/common/config/committers.py:
+
+2010-04-20 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ REGRESSION(57531): the commit-queue still hates Tor Arne Vestbø
+ https://bugs.webkit.org/show_bug.cgi?id=37765
+
+ I fixed the queue to not ignore Tor as a reviwer in r57531,
+ but instead it throws an exception every time his name is in a patch.
+
+ This fixes our Executive.run_command code to work around a Popen
+ bug http://bugs.python.org/issue5290 whereby python versions before 2.6
+ do not correctly handle unicode objects as input or output to
+ Popen.communicate.
+
+ Following the advice of:
+ http://farmdev.com/talks/unicode/
+ I'm attempting to take the python unicode plunge and use unicode()
+ objects as strings instead of str() objects everywhere in webkitpy.
+
+ We do not have to use u"" instead of "" because u"a" == "a" as expected
+ in Python. Python will generate a warning to the console in cases where
+ a unicode() == str() operation cannot be performed.
+
+ I also cleaned up the input handling in run_command a little by adding
+ a new _compute_input() method which can return early instead of having
+ such a long/cluttered if-block.
+
+ Executive.run* now correctly accept and return unicode() objects.
+ I attempted to fix all the places that we call .write() to make sure we
+ encode any unicode() objects into utf-8.
+
+ All places which use StringIO need to be sure to pass StringIO a
+ pre-encoded byte-array (str object) instead of unicode so that
+ clients which read from the StringIO don't have encoding exceptions.
+ To make this easier, I removed the patch_file_object support from
+ add_patch_to_bug, and changed the 4 places which previously used
+ StringIO to create a fake patch file.
+
+ I attempted to document any places where we are not correctly converting
+ to/from bytes (str() objects) to strings (unicode() objects).
+
+ * Scripts/webkitpy/common/checkout/api_unittest.py:
+ - Read/write utf-8 files instead of ascii.
+ - Update the tests to use test for proper unicode() handling.
+ * Scripts/webkitpy/common/checkout/changelog_unittest.py:
+ - Use unicode() strings instead of str() byte arrays.
+ * Scripts/webkitpy/common/checkout/scm.py:
+ - Remove use of str().
+ * Scripts/webkitpy/common/checkout/scm_unittest.py:
+ - Read/write utf-8 files and use unicode() strings in testing.
+ * Scripts/webkitpy/common/config/committers.py:
+ - Use \u instead of \x to make slightly clearer what we're doing.
+ * Scripts/webkitpy/common/net/bugzilla.py:
+ - Add a new _string_contents() method and explain why
+ we have to call unicode() on the result of soup.string
+ and why it's safe to do so w/o needing to pass a codec name.
+ - Remove the (unused) support for passing a file object to add_patch_to_bug().
+ * Scripts/webkitpy/common/net/buildbot.py:
+ - Use unicode() instead of str() when needing to coax a
+ NavigableString object into a unicode() object.
+ * Scripts/webkitpy/common/net/statusserver.py:
+ - Remove use of str()
+ * Scripts/webkitpy/common/prettypatch.py:
+ - Write out the patch file as utf-8.
+ * Scripts/webkitpy/common/system/autoinstall.py:
+ - Add a FIXME about encoding.
+ * Scripts/webkitpy/common/system/deprecated_logging.py:
+ - Document that tee() works on bytes, not strings.
+ * Scripts/webkitpy/common/system/executive.py:
+ - Make run* properly take and return unicode() objects.
+ * Scripts/webkitpy/common/system/executive_unittest.py:
+ - Added a unit test to make sure we don't break Tor again!
+ * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py:
+ - Write out the test list as utf-8.
+ * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
+ - Write out json files as utf-8.
+ * Scripts/webkitpy/layout_tests/layout_package/metered_stream.py:
+ - Add FIXME about encoding handling.
+ * Scripts/webkitpy/tool/commands/upload.py:
+ - Pass the diff directly to add_patch_to_bug instead of creating a StringIO file wrapper.
+ * Scripts/webkitpy/tool/mocktool.py:
+ - Rename add_patch_to_bug argument to match bugzilla.py
+ * Scripts/webkitpy/tool/steps/postdiff.py:
+ - Pass the diff directly to add_patch_to_bug instead of creating a StringIO file wrapper.
+ * Scripts/webkitpy/tool/steps/postdiffforcommit.py: ditto.
+ * Scripts/webkitpy/tool/steps/postdiffforrevert.py: ditto.
+ * Scripts/webkitpy/tool/steps/steps_unittest.py:
+ - Fixed spurious logging seen when running test-webkitpy
+
+2010-04-20 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ For check-webkit-style, implemented __eq__() and __ne__() (the
+ built-in equality and inequality methods) for the
+ DefaultStyleErrorHandler class.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37850
+
+ This will facilitate unit-testing for a subsequent patch,
+ namely for https://bugs.webkit.org/show_bug.cgi?id=37850
+
+ * Scripts/webkitpy/style/error_handlers.py:
+ - Added __eq__() and __ne__() to the DefaultStyleErrorHandler
+ class.
+
+ * Scripts/webkitpy/style/error_handlers_unittest.py:
+ - Added unit tests for __eq__() and __ne__().
+ - Also included a minor clean-up refactoring of combining the
+ StyleErrorHandlerTestBase class (which has not needed to
+ be separate due to previous changes) into the
+ DefaultStyleErrorHandlerTest class.
+
+2010-04-20 Jakub Wieczorek <jwieczorek@webkit.org>
+
+ Unreviewed.
+
+ Add my IRC nick to the committers.py list.
+
+ * Scripts/webkitpy/common/config/committers.py:
+
+2010-04-20 Kim Grönholm <kim.gronholm@nomovok.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Multitouch mocking in QtLauncher doesn't work with QGraphicsView
+ https://bugs.webkit.org/show_bug.cgi?id=37816
+
+ Fix multi-touch mocking in QtLauncher when using QGraphicsView.
+ Test: https://bug-32434-attachments.webkit.org/attachment.cgi?id=44955
+
+ * QtLauncher/main.cpp:
+ (LauncherWindow::eventFilter):
+ (LauncherWindow::initializeView):
+
+2010-04-20 MORITA Hajime <morrita@google.com>
+
+ Unreviewed, add myself to the committers list.
+
+ * Scripts/webkitpy/common/config/committers.py:
+
+2010-04-20 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ [DRT/Chromium] Fix some unexpected results of editing
+ https://bugs.webkit.org/show_bug.cgi?id=37843
+
+ This change fixes about 70 unexpected results.
+ The original test_webview_delegate.cc doesn't have this bug.
+ The bug was introduced when I ported it to WebKit tree.
+
+ * DumpRenderTree/chromium/WebViewHost.cpp:
+ (printRangeDescription): Replace the latter startContainer() with endContainer().
+
+2010-04-19 Dirk Pranke <dpranke@chromium.org>
+
+ Unreviewed, build fix.
+
+ Turn off some unit tests for now - the new-run-webkit-tests dryrun
+ tests for chromium won't work if you don't have a chromium checkout.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37841
+
+ * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py:
+
+2010-04-19 Dirk Pranke <dpranke@chromium.org>
+
+ Unreviewed, build fix.
+
+ (Re-)add dryrun.py; this was renamed from passing.py in the previous
+ CL but apparently somehow didn't get checked in.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37841
+
+ * Scripts/webkitpy/layout_tests/port/dryrun.py: Added.
+
+2010-04-19 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by David Levin.
+
+ check-webkit-style: exits when encountering a deleted file
+ https://bugs.webkit.org/show_bug.cgi?id=37122
+
+ This reverts the quick fix done by r57119 and makes check_patch
+ not call check_file for deleted files.
+
+ Also this change fixes the behavior for "-", which should mean
+ stdin. Before this change, the style checker just ignored "-"
+ with a warning message.
+
+ * Scripts/webkitpy/style/checker.py:
+ * Scripts/webkitpy/style/checker_unittest.py:
+
+2010-04-19 Daniel Bates <dbates@rim.com>
+
+ No review, rolling out 57868.
+ http://trac.webkit.org/changeset/57868
+ https://bugs.webkit.org/show_bug.cgi?id=37748
+
+ Sheriffbot wasn't very inspirational after this patch.
+ Instead, he was silent when you said hi :-(. Rolling
+ out this patch so that I can debug/test this some more.
+
+ * Scripts/webkitpy/common/net/bugzilla.py:
+ * Scripts/webkitpy/common/net/bugzilla_unittest.py:
+ * Scripts/webkitpy/tool/bot/irc_command.py:
+ * Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py:
+ * Scripts/webkitpy/tool/mocktool.py:
+
+2010-04-19 Daniel Bates <dbates@rim.com>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37748
+
+ Make Sheriffbot more inspirational.
+
+ * Scripts/webkitpy/common/net/bugzilla.py:
+ * Scripts/webkitpy/common/net/bugzilla_unittest.py:
+ * Scripts/webkitpy/tool/bot/irc_command.py:
+ * Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py:
+ * Scripts/webkitpy/tool/mocktool.py:
+
+2010-04-19 Kevin Ollivier <kevino@theolliviers.com>
+
+ [wx] Build fix, add missing header.
+
+ * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
+
+2010-04-19 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ new-run-webkit-tests - repurpose the "Passing" port as "Dryrun" port
+ that can be used to test platforms other than the one you are running
+ on. This can be useful for checking baselines and testing code
+ coverage.
+
+ Note that running the code on the "wrong" port requires each
+ port-specific implementation to actually not require any
+ platform-specific python code (e.g., the chromium-win port must
+ test for the existence of windows functions before calling them).
+
+ https://bugs.webkit.org/show_bug.cgi?id=37782
+
+ * Scripts/webkitpy/layout_tests/port/chromium_win.py:
+ * Scripts/webkitpy/layout_tests/port/dryrun.py: Renamed from WebKitTools/Scripts/webkitpy/layout_tests/port/passing.py.
+ * Scripts/webkitpy/layout_tests/port/factory.py:
+ * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py:
+
+2010-04-19 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ new-run-webkit-tests: add --build (default) and --no-build
+ options to make that step optional. This flag modifies what happens
+ in port.check_build().
+
+ https://bugs.webkit.org/show_bug.cgi?id=37786
+
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+ * Scripts/webkitpy/layout_tests/port/chromium.py:
+ * Scripts/webkitpy/layout_tests/port/webkit.py:
+
+2010-04-19 Dirk Pranke <dpranke@chromium.org>
+
+ Unreviewed, build fix.
+
+ new-run-webkit-tests - fix a typo in r57480 that caused us to stop
+ logging the actual list of unexpected results.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37831
+
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+
+2010-04-19 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ From a patch by Tor Arne Vestbo <tor.arne.vestbo@nokia.com>
+
+ new-run-webkit-tests: make the retry step more explicit
+ https://bugs.webkit.org/show_bug.cgi?id=37606
+
+ It might be confusing to see the test and percent counters
+ reset without any notice of what's going on, so we make the
+ message that a retry-run is started explicit.
+
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+
+2010-04-19 Sam Weinig <weinig@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Add support for opening a new window (File->New Window) to
+ Windows MiniBrowser. Accelerator doesn't work.
+
+ * MiniBrowser/win/BrowserView.cpp:
+ (createNewPage): Use BrowserView::create.
+ * MiniBrowser/win/BrowserWindow.cpp:
+ (BrowserWindow::onCommand): Respond to ID_FILE_NEW_WINDOW
+ by creating a new window.
+ * MiniBrowser/win/BrowserWindow.h:
+ (BrowserWindow::create): Added. Don't allow creating
+ BrowserWindows on the stack by making constructor
+ private and exposing the create function.
+ * MiniBrowser/win/MiniBrowser.cpp:
+ (MiniBrowser::createNewWindow): Move new window creation
+ logic here.
+ * MiniBrowser/win/MiniBrowser.h:
+ * MiniBrowser/win/MiniBrowser.rc:
+ * MiniBrowser/win/main.cpp:
+ (_tWinMain): Use the new MiniBrowser::createNewWindow().
+
+2010-04-19 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ AX: aria-haspopup needs to be exposed
+ https://bugs.webkit.org/show_bug.cgi?id=37808
+
+ * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+ (AccessibilityUIElement::hasPopup):
+
+2010-04-19 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Submit a better workaround for r57806 than the one in r57831 - log
+ an error and exit if you try to run new-run-webkit-tests with --use-drt
+ on Windows.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37822
+
+ * Scripts/webkitpy/layout_tests/port/chromium.py:
+
+2010-04-19 Jesus Sanchez-Palencia <jesus@webkit.org>
+
+ Unreviewed.
+
+ Just adding myself as a committer.
+
+ * Scripts/webkitpy/common/config/committers.py:
+
+2010-04-19 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Add slightly better logging to the websocket python wrapper script,
+ including a --verbose flag for debug output.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37233
+
+ * Scripts/webkitpy/layout_tests/port/websocket_server.py:
+ * Scripts/new-run-webkit-websocketserver:
+
+2010-04-19 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ new-run-webkit-tests: add a way (--print-unexpected-results) to
+ (re-)print out the tests that produced unexpected results in the
+ last run. Also add a way (--retry-unexpected-results) to
+ automatically re-test them.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37783
+
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+
+2010-04-19 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Restructure the logging in new-run-webkit-tests so that many of log
+ messages that were logged to the MeteredStream also get logged in
+ --verbose mode.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37780
+
+ * Scripts/webkitpy/layout_tests/layout_package/metered_stream.py:
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+
+2010-04-19 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ new-run-webkit-tests: add 'summary' and 'unexpected-results' options
+ to the --log flag. Also add a 'progress' flag to enable the regular
+ progress bar (as opposed to 'detailed-progress', which enables the
+ dots). Also add a 'nothing' flag to allow you to be explicit that
+ you don't want any logging on the command line.
+
+ The default is
+ '--log detailed-progress,summary,unexpected,unexpected-results'
+
+ (The default logging is unchanged by this patch, this just makes things
+ properly configurable).
+
+ Note that 'nothing' doesn't work properly yet; I need a couple other
+ patches to land to avoid rewriting things several different ways.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37785
+
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+
+2010-04-19 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ Make the URL change on committed load.
+
+ * QtLauncher/mainwindow.cpp:
+ (MainWindow::buildUI):
+ (MainWindow::setAddressUrl):
+ * QtLauncher/mainwindow.h:
+
+2010-04-19 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Fix a typo in the rebaselining tool that causes us to use "debug"
+ instead of "Debug" in a directory path, which fails on platforms with
+ case-sensitive filesystems.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37819
+
+ * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
+
+2010-04-19 Dirk Pranke <dpranke@chromium.org>
+
+ Unreviewed, build fix.
+
+ Fix breakage of chromium-win canary bots caused by r57806. That patch
+ introduced the option of using Chrome's new port of DumpRenderTree,
+ but unfortunately that port relies on the webkit.py class
+ implementation which uses non-blocking I/O that isn't available on
+ Windows. This patch turns off that option and doesn't import the
+ class if we're running on Windows.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37817
+
+ * Scripts/webkitpy/layout_tests/port/chromium.py:
+
+2010-04-19 James Robinson <jamesr@chromium.org>
+
+ Reviewed by abarth.
+
+ Fix a typo
+
+ * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
+
+2010-04-19 Adam Roben <aroben@apple.com>
+
+ Fix run-webkit-tests when there are spaces in the path
+
+ Fixes <http://webkit.org/b/37809>
+
+ Reviewed by Adam Barth.
+
+ * Scripts/run-webkit-tests: Use an "indirect object" to specify the
+ path to the harness to exec(). According to perldoc, this usage will
+ prohibit perl from parsing the arguments to exec() via the shell,
+ which would incorrectly split paths with spaces in them, etc.
+
+2010-04-19 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Adam Roben.
+
+ WinLauncher.h should use LF line-endings and use native line-endings style.
+ https://bugs.webkit.org/show_bug.cgi?id=37807
+
+ * WinLauncher/WinLauncher.h: Added property svn:eol-style, converted to LF line-endings.
+
+2010-04-19 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ [DRT/Chromium] Fix a test initialization problem
+ https://bugs.webkit.org/show_bug.cgi?id=37791
+
+ * DumpRenderTree/chromium/DumpRenderTree.cpp:
+ (runTest): Call resetTestController() before runFileTest(). Some
+ controllers initialize their fields in reset() and not in their
+ constructors.
+
+2010-04-19 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ [Chromium] new-run-webkit-tests should use WebKitDriver for --use-drt
+ https://bugs.webkit.org/show_bug.cgi?id=37793
+
+ We need to use WebKitDriver instead of ChromiumDriver for Chromium
+ DRT because its interface is different from test_shell.
+
+ Chromium DRT has no UI. So we can't use it to show test results.
+
+ * Scripts/webkitpy/layout_tests/port/chromium.py:
+
+2010-04-18 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Make failure-reason more forgiving
+ https://bugs.webkit.org/show_bug.cgi?id=37525
+
+ Removed search_limit, which wasn't very useful anyway.
+ Added a log about the long load time loading from the builders.
+ Prompt the user for what revision to start walking from (makes it easy to restart upon failure).
+
+ * Scripts/webkitpy/common/net/buildbot.py:
+ * Scripts/webkitpy/tool/commands/queries.py:
+
+2010-04-18 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Created a class for check-webkit-style that encapsulates iterating
+ over text files and reading them.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37754
+
+ This revision is an intermediate step towards separating our
+ style-checking code from the logic of iterating over files and
+ reading them.
+
+ * Scripts/webkitpy/common/system/logtesting.py:
+ - Added a logMessages() method to the LoggingTestCase class.
+ This method provides unit tests with access to the raw list
+ of log messages in case the tester needs to do something more
+ than simply assert the list of existing messages.
+
+ * Scripts/webkitpy/style/checker.py:
+ - Added a ProcessorBase class that processors of lists of lines
+ should eventually inherit from.
+ - Also added a FIXME to use the ProcessorBase class and the
+ TextFileReader class added below.
+
+ * Scripts/webkitpy/style/filereader.py: Added.
+ - Created a TextFileReader class that encapsulates reading
+ and iterating over text files.
+
+ * Scripts/webkitpy/style/filereader_unittest.py: Added.
+ - Added a TextFileReaderTest class to unit-test the
+ new TextFileReader class.
+
+2010-04-15 Tony Chang <tony@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ [chromium] new-run-webkit-tests should be able to use chromium DRT
+ https://bugs.webkit.org/show_bug.cgi?id=37645
+
+ Make sure that the lack of a chromium checkout doesn't cause the script to
+ fail.
+
+ * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
+ * Scripts/webkitpy/layout_tests/port/chromium.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_mac.py: Fix up a few paths
+ to be relative to an upstream output dir.
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py: Add --use-drt flag.
+
+2010-04-18 Eric Seidel <eric@webkit.org>
+
+ Unreviewed, fixing the Qt bot.
+
+ Add a layer of indirection when calling run-webkit-tests to allow testing new-run-webkit-tests on various platforms
+ https://bugs.webkit.org/show_bug.cgi?id=37632
+
+ * Scripts/run-webkit-tests:
+ - Exit non-zero of launching the harness fails.
+
+2010-04-18 Eric Seidel <eric@webkit.org>
+
+ Unreviewed, fixing the Qt bot.
+
+ Add a layer of indirection when calling run-webkit-tests to allow testing new-run-webkit-tests on various platforms
+ https://bugs.webkit.org/show_bug.cgi?id=37632
+
+ * Scripts/run-webkit-tests:
+ - Fix the wrapper to work for users who do not
+ have WebKitTools/Scripts in their path.
+
+2010-04-14 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Add a layer of indirection when calling run-webkit-tests to
+ allow testing new-run-webkit-tests on various platforms.
+ https://bugs.webkit.org/show_bug.cgi?id=37632
+
+ This will let us test and fix bugs in new-run-webkit-tests
+ without needing to restart the buildbot master between tests.
+
+ Currently this change leaves run-webkit-tests as-is, but once
+ its landed we will easily be able to turn on/off
+ new-run-webkit-tests for various ports/configurations.
+
+ I will send a note out to webkit-dev about how we will
+ be using this launcher script to test on the bots.
+
+ * Scripts/old-run-webkit-tests: Copied from WebKitTools/Scripts/run-webkit-tests.
+ * Scripts/run-webkit-tests:
+ - A new script which decides whether to run new- or old-
+ run-webkit-tests based on the platform.
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+ - Add some dummy argument handling for arguments which
+ old-run-webkit-tests supports but new-run-webkit-tests
+ does not yet.
+
+2010-04-18 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Add Gtk bots to the list of "core builders" (builders which stop the commit-queue when they turn red)
+ https://bugs.webkit.org/show_bug.cgi?id=33295
+
+ The Gtk builders have been green every time I've looked
+ at them in the last 5 days or so. It would appear webkit
+ is now keeping them green and we should update the core
+ builder list to match reality.
+
+ * Scripts/webkitpy/common/net/buildbot.py:
+ * Scripts/webkitpy/common/net/buildbot_unittest.py:
+
+2010-04-18 Robert Hogan <robert@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Add support for LayoutTestController commands:
+ setSmartInsertDeleteEnabled
+ setSelectTrailingWhitespaceEnabled
+ execCommand
+ isCommandEnabled
+
+ https://bugs.webkit.org/show_bug.cgi?id=35844
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::WebPage::resetSettings):
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::setSmartInsertDeleteEnabled):
+ (LayoutTestController::setSelectTrailingWhitespaceEnabled):
+ (LayoutTestController::execCommand):
+ (LayoutTestController::isCommandEnabled):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+
+2010-04-17 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Remove steps_references and commands_references
+ https://bugs.webkit.org/show_bug.cgi?id=37758
+
+ We tried using the mumble_references convention to manage our
+ dependencies, but it doesn't seem to be providing much value for the
+ steps and commands module because these modules are small pieces of the
+ larger tool module. In this patch, I've removed the references file
+ for these modules.
+
+ I've left the style_references file for the style module because that
+ module seems better isolated from the rest of webkitpy and the
+ style_references file appears to be providing some value.
+
+ * Scripts/webkitpy/tool/commands/commandtest.py:
+ * Scripts/webkitpy/tool/commands/download_unittest.py:
+ * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
+ * Scripts/webkitpy/tool/commands/queries_unittest.py:
+ * Scripts/webkitpy/tool/commands/queues_unittest.py:
+ * Scripts/webkitpy/tool/commands/queuestest.py:
+ * Scripts/webkitpy/tool/commands/upload.py:
+ * Scripts/webkitpy/tool/commands/upload_unittest.py:
+ * Scripts/webkitpy/tool/commands_references.py: Removed.
+ * Scripts/webkitpy/tool/steps/closebugforlanddiff_unittest.py:
+ * Scripts/webkitpy/tool/steps/steps_unittest.py:
+ * Scripts/webkitpy/tool/steps/updatechangelogswithreview_unittest.py:
+ * Scripts/webkitpy/tool/steps/validatereviewer_unittest.py:
+ * Scripts/webkitpy/tool/steps_references.py: Removed.
+
+2010-04-17 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ WebKit needs a Chromium Mac EWS Builder
+ https://bugs.webkit.org/show_bug.cgi?id=37742
+
+ * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
+
+2010-04-17 Adam Barth <abarth@webkit.org>
+
+ Fix expected results for unit test broken by
+ http://trac.webkit.org/changeset/57772
+
+ * Scripts/webkitpy/common/net/buildbot_unittest.py:
+
+2010-04-17 Sam Weinig <weinig@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Teach windows MiniBrowser how to work with window.open()
+ and targeted links.
+
+ * MiniBrowser/win/BrowserView.cpp:
+ (createNewPage): Create a new BrowserWindow and return its page.
+ (showPage): Show the page.
+ (closePage): Empty implementation.
+ (runJavaScriptAlert): Empty implementation.
+ (BrowserView::create): Register a UIClient.
+ * MiniBrowser/win/BrowserView.h:
+ (BrowserView::webView): Added.
+ Change create to take a BrowserWindow instead of an HWND.
+
+ * MiniBrowser/win/BrowserWindow.cpp:
+ (BrowserWindow::wndProc): Respond to WM_NCDESTROY.
+ (BrowserWindow::goToURL): Added. Forwards to BrowserView.
+ (BrowserWindow::onCreate): Don't always go to the default
+ url. Let the caller do this.
+ (BrowserWindow::onNCDestroy): Delete the window.
+ * MiniBrowser/win/BrowserWindow.h:
+ (BrowserWindow::view): Added.
+ (BrowserWindow::window): Added.
+
+ * MiniBrowser/win/main.cpp:
+ (_tWinMain):
+ Go to the default URL for the initial page. Allocate the initial
+ window on the heap for correctness.
+
+2010-04-16 Adam Roben <aroben@apple.com>
+
+ Add the Windows Debug (Test) builder to the list of core builders
+
+ It's been green for a few days now, and all the known Windows
+ flakiness is Release-only.
+
+ Rubber-stamped by Mark Rowe.
+
+ * Scripts/webkitpy/common/net/buildbot.py:
+ (BuildBot.core_builder_name_regexps): Added a regular expression to
+ match the "Windows Debug (Test)" builder.
+
+2010-04-16 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix window.open() and targeted links.
+
+ * MiniBrowser/mac/BrowserWindowController.m:
+ (_createNewPage): Use the correct initializer to and load the window.
+
+2010-04-16 Adam Roben <aroben@apple.com>
+
+ Fix links to layout test results from build status pages
+
+ Reviewed by Mark Rowe.
+
+ * BuildSlaveSupport/build.webkit.org-config/master.cfg:
+ (ExtractTestResults.finished): Prepend "/" on the URL of the test
+ results page so that it is treated as an absolute URL.
+
+2010-04-16 Tony Chang <tony@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [chromium] build DRT on Linux
+ https://bugs.webkit.org/show_bug.cgi?id=37690
+
+ * Scripts/build-dumprendertree: Add support for win and linux
+
+2010-04-16 Sam Weinig <weinig@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Use the threaded process model for MiniBrowser if holding down
+ the shift key on startup.
+
+ * MiniBrowser/win/BrowserView.cpp:
+ (BrowserView::create):
+
+2010-04-15 Tony Chang <tony@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [chromium] Add TestShellGtk.cpp so we can link on Linux
+ https://bugs.webkit.org/show_bug.cgi?id=37561
+
+ * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp: Add new file and
+ add platform file exceptions.
+ * DumpRenderTree/chromium/TestShellGtk.cpp: Added.
+ (AlarmHandler):
+ (TestShell::waitTestFinished):
+
+2010-04-15 Tony Chang <tony@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ build DRT on chromium mac
+ https://bugs.webkit.org/show_bug.cgi?id=37639
+
+ * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
+ * Scripts/build-dumprendertree: enable build-dumprendertree --chromium
+
+2010-04-15 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [DRT/Chromium] Add LayoutTestHelper for Mac
+ https://bugs.webkit.org/show_bug.cgi?id=37668
+
+ LayouTestHelper.mm is based on webkit/tools/test_shell/mac/layout_test_helper.mm
+ of Chromium.
+
+ * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
+ * DumpRenderTree/chromium/LayoutTestHelper.mm: Added.
+
+2010-04-15 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37494
+ <rdar://problem/7857060> REGRESSION (r57340): fast/events/mouse-drag-from-frame-to-other-frame.html
+ fails on Windows
+
+ * DumpRenderTree/win/EventSender.cpp: (makeEventSender):
+ * DumpRenderTree/win/EventSender.h:
+ Tell EventSender if it's being created for a top frame.
+
+ * DumpRenderTree/win/FrameLoadDelegate.cpp:
+ (FrameLoadDelegate::didClearWindowObjectForFrameInStandardWorld): We only want to reset
+ EventSender machinery when a new test is loaded, not when an iframe (or just its global
+ object) is created.
+
+2010-04-15 Adam Roben <aroben@apple.com>
+
+ Fix Windows WebKit2 build.
+
+ * MiniBrowser/win/MiniBrowser.cpp:
+
+2010-04-15 Ojan Vafai <ojan@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Include codereview issue number in patch description
+ https://bugs.webkit.org/show_bug.cgi?id=37677
+
+ This lets us know which rietveld issue this patch is tied to.
+
+ Also, make it so that --fancy-review overrides --no-review.
+
+ * Scripts/webkitpy/tool/steps/postcodereview.py:
+ * Scripts/webkitpy/tool/steps/postdiff.py:
+
+2010-04-15 Adam Roben <aroben@apple.com>
+
+ Make --exit-after-n-failures work when all tests are timing out or crashing
+
+ Fixes <http://webkit.org/b/37679>.
+
+ Reviewed by Jon Honeycutt.
+
+ * Scripts/run-webkit-tests:
+ (top level): When a test crashes or times out, break out of the main loop if
+ stopRunningTestsEarlyIfNeeded returns true. Moved some code from the bottom of the main loop
+ from here...
+ (stopRunningTestsEarlyIfNeeded): ...to here.
+
+2010-04-15 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add WebHistoryClient support.
+ https://bugs.webkit.org/show_bug.cgi?id=37671
+
+ Add HistoryClient logging.
+
+ * MiniBrowser/mac/BrowserWindowController.m:
+ (_didNavigateWithNavigationData):
+ (_didPerformClientRedirect):
+ (_didPerformServerRedirect):
+ (_didUpdateHistoryTitle):
+ (-[BrowserWindowController awakeFromNib]):
+
+2010-04-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Start the mini browser in threaded mode if shift is pressed during startup.
+ https://bugs.webkit.org/show_bug.cgi?id=37670
+
+ * MiniBrowser/mac/AppDelegate.m:
+ (-[BrowserAppDelegate init]):
+
+2010-04-15 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ AXHelp is being appended from ancestors incorrectly
+ https://bugs.webkit.org/show_bug.cgi?id=37659
+
+ * DumpRenderTree/AccessibilityUIElement.cpp:
+ (getHelpTextCallback):
+ (AccessibilityUIElement::getJSClass):
+ * DumpRenderTree/AccessibilityUIElement.h:
+ * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
+ (AccessibilityUIElement::helpText):
+ * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+ (AccessibilityUIElement::helpText):
+ * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
+ (AccessibilityUIElement::helpText):
+
+2010-04-15 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Re-format run-webkit-tests to fit in 80-columns for PEP-8 compliance.
+ (broken by r57463 and r57381, at least). I've also filed bug 37477
+ to fix check-webkit-style to catch these things.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38586
+
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+
+2010-04-15 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Add a way to override the user-visible name for the test binary since
+ some ports don't call it DumpRenderTree (e.g., Chromium Win uses
+ test_shell, Chromium Mac uses TestShell) by adding a driver_name()
+ method to the Port interface.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37631
+
+ * Scripts/webkitpy/layout_tests/port/base.py:
+ * Scripts/webkitpy/layout_tests/port/chromium.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+
+2010-04-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add "Force Repaint" to debug menu.
+ https://bugs.webkit.org/show_bug.cgi?id=37627
+
+ * MiniBrowser/mac/BrowserWindowController.h:
+ * MiniBrowser/mac/BrowserWindowController.m:
+ (-[BrowserWindowController forceRepaint:]):
+ * MiniBrowser/mac/English.lproj/MainMenu.xib:
+
+2010-04-15 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Add debug-minibrowser script.
+
+ * Scripts/debug-minibrowser: Copied from Scripts/run-minibrowser.
+ * Scripts/webkitdirs.pm:
+
+2010-04-15 Roland Steiner <rolandsteiner@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Bug 37636 - [DRT/Chromium] Implement DRT/Chromium for Windows
+ https://bugs.webkit.org/show_bug.cgi?id=37636
+
+ Second patch: add Windows-specific implementation parts
+ of TestShell.
+
+ * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
+ * DumpRenderTree/chromium/TestShell.h:
+ (TestShell::finishedEvent):
+ * DumpRenderTree/chromium/TestShellWin.cpp:
+ (watchDogThread):
+ (TestShell::waitTestFinished):
+
+2010-04-15 Roland Steiner <rolandsteiner@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Bug 37636 - [DRT/Chromium] Implement DRT/Chromium for Windows
+ https://bugs.webkit.org/show_bug.cgi?id=37636
+
+ First patch: fix compiler errors.
+
+ * DumpRenderTree/chromium/EventSender.cpp:
+ (EventSender::reset):
+ (EventSender::dispatchMessage):
+ * DumpRenderTree/chromium/LayoutTestController.cpp:
+ (LayoutTestController::pathToLocalResource):
+ * DumpRenderTree/chromium/TestWebWorker.h:
+ * DumpRenderTree/chromium/TextInputController.cpp:
+ * DumpRenderTree/chromium/WebViewHost.h:
+ * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
+
+2010-04-14 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Moving setViewMode from DumpRenderTreeSupportQt to qwebpage.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=37622
+
+ Method qt_wrt_setViewMode was removed from qwebpage.cpp by mistake in r57433
+ (bug 35844). Moving it back.
+
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::setViewModeMediaFeature):
+
+2010-04-15 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Add some very minimal unit tests for new-run-webkit-tests. This should
+ be enough to catch egregious brokenness like syntax errors and import
+ declaration issues.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37432
+
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+ * Scripts/webkitpy/layout_tests/run_webkit_tests_unittest.py: Added.
+
+2010-04-14 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add a way for the buildbot to kill any old processes that are running. This
+ is useful because the Windows bots can get in states where a process remains
+ running (httpd.exe, DumpRenderTree.exe), which causes the bots to get in a red
+ state, and the processes must be killed manually.
+
+ * BuildSlaveSupport/build.webkit.org-config/master.cfg: If we are on Windows, kill
+ the old processes that might be running.
+ * BuildSlaveSupport/win/kill-old-processes: Added.
+
+2010-04-14 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Tear down WebKit more completely on window closing and application
+ termination. We still don't block application termination for pending
+ close, but this is a step in the right direction.
+
+ * MiniBrowser/mac/AppDelegate.m:
+ (-[BrowserAppDelegate applicationWillTerminate:]):
+ * MiniBrowser/mac/BrowserWindowController.h:
+ * MiniBrowser/mac/BrowserWindowController.m:
+ (-[BrowserWindowController dealloc]):
+ (-[BrowserWindowController windowWillClose:]):
+ (-[BrowserWindowController applicationTerminating]):
+
+2010-04-14 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Use pretty patch for confirming webkit-patch diffs
+ https://bugs.webkit.org/show_bug.cgi?id=37489
+
+ * Scripts/webkitpy/common/prettypatch.py: Added.
+ * Scripts/webkitpy/tool/commands/download_unittest.py:
+ * Scripts/webkitpy/tool/commands/upload_unittest.py:
+ * Scripts/webkitpy/tool/mocktool.py:
+ * Scripts/webkitpy/tool/steps/confirmdiff.py:
+
+2010-04-14 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Teach webkit-patch how to handle revisions missing ChangeLogs
+ https://bugs.webkit.org/show_bug.cgi?id=37519
+
+ Make commit_info_for_revision return None when revision
+ is missing a ChangeLog. Previously we would throw an array index
+ exception.
+ Teach callers how to handle None.
+
+ * Scripts/webkitpy/common/checkout/api.py:
+ * Scripts/webkitpy/common/checkout/api_unittest.py:
+ * Scripts/webkitpy/tool/commands/download.py:
+ * Scripts/webkitpy/tool/commands/queries.py:
+ * Scripts/webkitpy/tool/commands/sheriffbot.py:
+
+2010-04-13 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Add Qt Bot to the list of "core builders" (builders which block the commit-queue when red)
+ https://bugs.webkit.org/show_bug.cgi?id=33297
+
+ This is an experiment. The bots have been green for
+ a while. We'll see if adding them under sheriff-bot protection
+ will keep them green.
+
+ * Scripts/webkitpy/common/net/buildbot.py:
+ * Scripts/webkitpy/common/net/buildbot_unittest.py:
+
+2010-04-13 Eric Seidel <eric@webkit.org>
+
+ Unreviewed, just fixing a constant in the Rietveld unit test.
+
+ * Scripts/webkitpy/common/net/rietveld_unittest.py
+
+2010-04-13 Eric Seidel <eric@webkit.org>
+
+ Unreviewed, just adding missing Mock to fix python tests.
+
+ * Scripts/webkitpy/tool/mocktool.py:
+
+2010-04-13 Ojan Vafai <ojan@chromium.org>
+
+ Reviewed by David Levin.
+
+ Add experimental prototype Rietveld integration to webkit-patch upload
+ https://bugs.webkit.org/show_bug.cgi?id=37418
+
+ This patch adds bare-bones integration with Rietveld for code reviews.
+ The behavior is hidden behind the --fancy-review command line flag.
+ Currently, there's no support for uploading more than one patch per
+ issue (which is a nice feature of Rietveld). The plan is to play with
+ this for a bit and see if it's useful.
+
+ Modified from Adam's original patch to autoinstall the rietveld upload script.
+
+ * Scripts/webkitpy/common/config/__init__.py:
+ * Scripts/webkitpy/common/net/rietveld.py: Added.
+ * Scripts/webkitpy/common/net/rietveld_unitttest.py: Added.
+ * Scripts/webkitpy/tool/commands/queues_unittest.py:
+ * Scripts/webkitpy/tool/commands/upload.py:
+ * Scripts/webkitpy/tool/commands/upload_unittest.py:
+ * Scripts/webkitpy/tool/main.py:
+ * Scripts/webkitpy/tool/mocktool.py:
+ * Scripts/webkitpy/tool/steps/__init__.py:
+ * Scripts/webkitpy/tool/steps/options.py:
+ * Scripts/webkitpy/tool/steps/postcodereview.py: Added.
+ * Scripts/webkitpy/tool/steps/postdiff.py:
+
+2010-04-13 Sam Weinig <sam@webkit.org>
+
+ Rubber-stamped by Mark Rowe.
+
+ Add Makefile to MiniBrowser.
+
+ * MiniBrowser/Makefile: Added.
+
+2010-04-13 Eric Seidel <eric@webkit.org>
+
+ Unreviewed, just adding a sanity check.
+
+ Add check to make sure commit-queue can never commit too short a message
+ https://bugs.webkit.org/show_bug.cgi?id=37528
+
+ The commit-queue made bogus messages here:
+ http://trac.webkit.org/changeset/57532
+ http://trac.webkit.org/changeset/57534
+
+ This was a regression caused by adding unicode parsing for
+ our ChangeLog files. Popen does not seem to play nice with
+ unicode strings.
+
+ I'm also adding an "assert" to make sure short ChangeLogs never happen again.
+
+ * Scripts/webkitpy/common/system/executive.py:
+ - Cast input to strings before passing to POpen
+ * Scripts/webkitpy/tool/steps/commit.py:
+ - Validate that commit messages are not to short.
+
+2010-04-13 Adam Roben <aroben@apple.com>
+
+ Robustify new-run-webkit-tests against paths with spaces in them
+
+ Reviewed by Eric Seidel.
+
+ * Scripts/webkitpy/layout_tests/port/apache_http_server.py:
+ (LayoutTestApacheHttpd.__init__): Quote all paths that we pass to
+ Apache to ensure that paths with spaces in them are interpreted
+ correctly.
+
+2010-04-13 Csaba Osztrogonác <ossy@webkit.org>
+
+ Unreviewed buildfix after r57537.
+
+ * DumpRenderTree/qt/LayoutTestControllerQt.h: Declaration of removeOriginAccessWhitelistEntry() added.
+
+2010-04-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Make building new webkit API and MiniBrowser a little easier.
+
+ * Scripts/build-webkit: Make building with --webkit2 build the
+ MiniBrowser as well and tell you how to use it.
+ * Scripts/run-minibrowser: Copied from Scripts/run-safari.
+ * Scripts/webkitdirs.pm: Add runMiniBrowser function.
+
+2010-04-12 Timothy Hatcher <timothy@apple.com>
+
+ SecurityOrigin needs a way to remove individual OriginAccessEntries
+ https://bugs.webkit.org/show_bug.cgi?id=37449
+
+ Reviewed by Dave Hyatt.
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (removeOriginAccessWhitelistEntryCallback): Added. Call LayoutTestController::removeOriginAccessWhitelistEntry.
+ (LayoutTestController::staticFunctions): Added removeOriginAccessWhitelistEntry.
+ * DumpRenderTree/LayoutTestController.h:
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::removeOriginAccessWhitelistEntry): Added. FIXME to implement.
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (LayoutTestController::removeOriginAccessWhitelistEntry): Added.
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::removeOriginAccessWhitelistEntry): Added. FIXME to implement.
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::removeOriginAccessWhitelistEntry): Added.
+ * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
+ (LayoutTestController::whiteListAccessFromOrigin): FIXME to implement.
+ (LayoutTestController::removeOriginAccessWhitelistEntry): Added. FIXME to implement.
+
+2010-04-13 Timothy Hatcher <timothy@apple.com>
+
+ Rename SecurityOrigin::whiteListAccessFromOrigin to addOriginAccessWhitelistEntry.
+ And LayoutTestController.whiteListAccessFromOrigin to addOriginAccessWhitelistEntry.
+ And SecurityOrigin::resetOriginAccessWhiteLists to resetOriginAccessWhitelists.
+
+ SecurityOrigin needs a way to remove individual OriginAccessEntries
+ https://bugs.webkit.org/show_bug.cgi?id=37449
+
+ Reviewed by Dave Hyatt.
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (addOriginAccessWhitelistEntryCallback):
+ (LayoutTestController::staticFunctions):
+ * DumpRenderTree/LayoutTestController.h:
+ * DumpRenderTree/chromium/LayoutTestController.cpp:
+ (LayoutTestController::LayoutTestController):
+ (LayoutTestController::addOriginAccessWhitelistEntry):
+ * DumpRenderTree/chromium/LayoutTestController.h:
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::addOriginAccessWhitelistEntry):
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (resetWebViewToConsistentStateBeforeTesting):
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (LayoutTestController::addOriginAccessWhitelistEntry):
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::addOriginAccessWhitelistEntry):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (resetWebViewToConsistentStateBeforeTesting):
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::addOriginAccessWhitelistEntry):
+ * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
+ (LayoutTestController::addOriginAccessWhitelistEntry):
+
+2010-04-13 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ Remove duplicate function for new-run-webkit-tests
+ https://bugs.webkit.org/show_bug.cgi?id=37517
+
+ The version() function was already implemented.
+
+ * Scripts/webkitpy/layout_tests/port/webkit.py:
+
+2010-04-13 Eric Seidel <eric@webkit.org>
+
+ Reviewed by David Levin.
+
+ the commit-queue hates Tor Arne Vestbø
+ https://bugs.webkit.org/show_bug.cgi?id=37511
+
+ We were failing to read reviewers out of ChangeLogs
+ when the reviewer has unicode characters in his/her name.
+ I fixed this by explicitly decoding from utf8 every time we
+ read in a ChangeLog file (they are always UTF8).
+
+ * Scripts/webkitpy/common/checkout/changelog.py:
+ * Scripts/webkitpy/common/checkout/changelog_unittest.py:
+
+2010-04-13 Adam Roben <aroben@apple.com>
+
+ Fix run-webkit-tests on Windows with spaces in the path
+
+ Fixes <http://webkit.org/b/37509>.
+
+ Reviewed by Steve Falkenburg.
+
+ * Scripts/run-webkit-tests:
+ (convertPathUsingCygpath): Remove spaces from the path before passing
+ them to cygpath, then add them back in after conversion, as some
+ versions of cygpath seem to convert spaces into newlines.
+
+2010-04-13 Adam Barth <abarth@webkit.org>
+
+ Unreviewed, but approved by Dumitru Daniliuc. (This patch is intended
+ to fix the downstream Chromium build bots. Hopefully it will work!)
+
+ Add a driver script for the new websocket server
+ https://bugs.webkit.org/show_bug.cgi?id=37495
+
+ websocket_server.py can't be run directly because its a module and not
+ a standalone script. This used to work by accident because it didn't
+ depend on any other modules.
+
+ * Scripts/new-run-webkit-websocketserver: Added.
+ * Scripts/webkitpy/layout_tests/port/websocket_server.py:
+
+2010-04-12 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Make new-run-webkit-test PrettyPatch failure reporting more awesome
+ https://bugs.webkit.org/show_bug.cgi?id=37487
+
+ I also fixed an Executive/executive typo.
+
+ * Scripts/webkitpy/layout_tests/port/base.py:
+
+2010-04-12 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ new-run-webkit-tests should only build java support files on Mac
+ https://bugs.webkit.org/show_bug.cgi?id=37482
+
+ Only the mac needs java support files, so I pushed _build_java
+ down into the Mac port using a new hook "_check_port_build".
+ In the process I noticed a bunch of code which could be shared
+ between all ports and thus got rid of _tests_for_disabled_features
+ and version() copy/paste between all webkit ports.
+ I also made check_build only bother to check for ImageDiff if we're
+ using pixel tests.
+
+ * Scripts/webkitpy/layout_tests/port/gtk.py:
+ * Scripts/webkitpy/layout_tests/port/mac.py:
+ * Scripts/webkitpy/layout_tests/port/qt.py:
+ * Scripts/webkitpy/layout_tests/port/webkit.py:
+ * Scripts/webkitpy/layout_tests/port/win.py:
+
+2010-04-12 Dumitru Daniliuc <dumi@chromium.org>
+
+ Unreviewed, trying to make scripts work on machines without
+ Ruby...
+
+ * Scripts/webkitpy/layout_tests/port/base.py:
+
+2010-04-12 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ Add stub files for running new-run-webkit-tests for the Qt port
+
+ * Scripts/webkitpy/layout_tests/port/factory.py:
+ * Scripts/webkitpy/layout_tests/port/qt.py: Added.
+
+2010-04-12 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Modify run_webkit_tests.py to not call sys.exit() at the end of test
+ run; doing so makes it more difficult to embed the routine for,
+ among other things, unit tests. We push the exit calling up into
+ new-run-webkit-tests.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37464
+
+ * Scripts/new-run-webkit-tests:
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+
+2010-04-12 Eric Seidel <eric@webkit.org>
+
+ Unreviewed.
+
+ Add stub Gtk implementation for new-run-webkit-tests.
+
+ * Scripts/webkitpy/layout_tests/port/factory.py:
+ * Scripts/webkitpy/layout_tests/port/gtk.py: Added.
+
+2010-04-12 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ new-run-webkit-tests fails with exception on systems missing ruby
+ https://bugs.webkit.org/show_bug.cgi?id=37441
+
+ * Scripts/webkitpy/layout_tests/port/base.py:
+ - Catch failures similar to how wdiff code path does.
+ - After one failure, stop trying.
+
+2010-04-12 Tony Chang <tony@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Fix how we import simplejson based on how it's used in this file.
+ This fixes exceptions raised when trying to write the simplejson output.
+
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+
+2010-04-11 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Refactored check-webkit-style so that the StyleChecker class
+ has no dependencies on patch-related concepts.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37065
+
+ This patch is an intermediate step towards making the StyleChecker
+ class a generalized file processor that can do arbitary operations
+ on the files corresponding to a list of paths. This patch
+ also simplifies the unit-testing of patch-checking code.
+
+ * Scripts/check-webkit-style:
+ - Updated to use the new PatchChecker class.
+
+ * Scripts/webkitpy/style/checker.py:
+ - Refactored the StyleChecker.check_patch() method into the
+ check() method of a new PatchChecker class.
+
+ * Scripts/webkitpy/style/checker_unittest.py:
+ - Refactored the unit tests as necessary, changing the
+ StyleCheckerCheckPatchTest class to a PatchCheckerTest class.
+
+2010-04-11 Adam Barth <abarth@webkit.org>
+
+ Unreviewed.
+
+ Fix new-run-webkit-tests regressions cased by Eric's option parsing patch
+ https://bugs.webkit.org/show_bug.cgi?id=37430
+
+ We need some basic unit testing of this script, or we're going to keep
+ breaking it like this. Added missing namespace qualifiers and
+ propagated renaming of an option.
+
+ * Scripts/webkitpy/common/config/ports.py:
+ * Scripts/webkitpy/layout_tests/driver_test.py:
+ * Scripts/webkitpy/layout_tests/port/base.py:
+ * Scripts/webkitpy/layout_tests/port/mac.py:
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+
+2010-04-11 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Break new-run-webkit-tests options into groups for easier re-use and possible relocation
+ https://bugs.webkit.org/show_bug.cgi?id=37408
+
+ new-run-webkit-tests currently has one huge function for
+ dealing with all options-parsing.
+ This patch is a first attempt at trying to split that large
+ function down into smaller (hopefully more readable?) chunks
+ dealing with the different areas of options.
+ For example, it would make sense to move configuration
+ options off into some module which deals with the vagries of
+ WebKit's configuration system. It would also make sense to move
+ Chromium options off onto the Chromium port object (where they are used).
+ It may make sense to move results.json options over to the results.json code.
+ This change is a first iteration, and we will certainly need more
+ refinement to this code over time. Hopefully I didn't make things
+ harder to read here.
+
+ * Scripts/webkitpy/layout_tests/driver_test.py:
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+
+2010-04-11 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ create-rollout copy needs to be updated to reflect removal of --no-build
+ https://bugs.webkit.org/show_bug.cgi?id=37425
+
+ Removed --no-build and --no-test from the instructions because these
+ don't exist anymore.
+
+ * Scripts/webkitpy/tool/commands/download_unittest.py:
+ - Updated the expected results to reflect the new copy.
+ * Scripts/webkitpy/tool/steps/postdiffforrevert.py:
+
+2010-04-11 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r57460.
+ http://trac.webkit.org/changeset/57460
+ https://bugs.webkit.org/show_bug.cgi?id=37424
+
+ broke chromium builders (Requested by tony^work on #webkit).
+
+ * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
+
+2010-04-11 Tony Chang <tony@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [chromium] update chromium DEPS for upstream compile
+ https://bugs.webkit.org/show_bug.cgi?id=36578
+
+ * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp: Small fix to avoid a circular dependency between
+ WebKit.gyp and webkit.gyp.
+
+2010-04-11 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ svn-apply errors out when removing directories in git
+ https://bugs.webkit.org/show_bug.cgi?id=34871
+
+ * Scripts/svn-apply:
+ (isDirectoryEmptyForRemoval): early break if the directory doesn't exist
+ (scmRemove): have git ignore unmatched files
+
+2010-04-11 Daniel Bates <dbates@rim.com>
+
+ No review, rolling out 57440.
+ http://trac.webkit.org/changeset/57440
+ https://bugs.webkit.org/show_bug.cgi?id=27204
+
+ Did not handle Git patches that included both file and property
+ changes to the same file. Rolling this change out while I look
+ into this.
+
+ * Scripts/VCSUtils.pm:
+ * Scripts/svn-apply:
+ * Scripts/svn-unapply:
+ * Scripts/webkitperl/VCSUtils_unittest/appendSVNExecutableBitChangeToPatch.pl: Removed.
+ * Scripts/webkitperl/VCSUtils_unittest/parseGitFileMode.pl: Removed.
+ * Scripts/webkitperl/VCSUtils_unittest/parseStartOfPatchOrPropertyChangeAndEndOfPropertyChange.pl: Removed.
+
+2010-04-11 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Fix typo in log path for AbstractQueue
+ https://bugs.webkit.org/show_bug.cgi?id=37414
+
+ * Scripts/webkitpy/tool/commands/queues.py:
+ * Scripts/webkitpy/tool/commands/queues_unittest.py:
+
+2010-04-11 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Add missing import statement.
+
+ * Scripts/webkitpy/common/system/executive.py:
+
+2010-04-11 Robert Hogan <robert@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Add setWillSendRequestReturnsNull and setWillSendRequestClearHeader
+
+ https://bugs.webkit.org/show_bug.cgi?id=37410
+
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::reset):
+ (LayoutTestController::setWillSendRequestReturnsNull):
+ (LayoutTestController::setWillSendRequestClearHeader):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+
+2010-04-11 Csaba Osztrogonác <ossy@webkit.org>
+
+ [Qt] Unreviewed buildfix for --debug build after r57433.
+
+ Refactor Qt DRT support in QtWebKit
+ https://bugs.webkit.org/show_bug.cgi?id=35844
+
+ * QtLauncher/main.cpp: qt_drt_garbageCollector_collect(); renamed to DumpRenderTreeSupportQt::garbageCollectorCollect();
+ (launcherMain):
+
+2010-04-11 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Make commit-log-editor Rubber-stamp aware. And other minor cleanups.
+ https://bugs.webkit.org/show_bug.cgi?id=37407
+
+ * Scripts/commit-log-editor:
+
+2010-04-11 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Add PrettyPatch links to new-run-webkit-tests output
+ https://bugs.webkit.org/show_bug.cgi?id=37406
+
+ * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py:
+ - We're leaking a file handle here, add a FIXME.
+ * Scripts/webkitpy/layout_tests/layout_package/test_failures.py:
+ - Add pretty diff links.
+ * Scripts/webkitpy/layout_tests/port/base.py:
+ - Add support for generating pretty diffs using PrettyPatch.
+ * Scripts/webkitpy/layout_tests/port/webkit.py:
+ - We're leaking another file handle here, another FIXME.
+ * Scripts/webkitpy/layout_tests/test_types/image_diff.py:
+ - Update write_output_files signature.
+ * Scripts/webkitpy/layout_tests/test_types/test_type_base.py:
+ - Remove unused arguments from write_output_files.
+ - Add support for dumping pretty diffs to write_output_files.
+ - Fix a bunch of file descriptor leaks in this file.
+ * Scripts/webkitpy/layout_tests/test_types/text_diff.py:
+ - Update write_output_files signature.
+
+2010-04-10 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ kill_process is copy/pasted in five places
+ https://bugs.webkit.org/show_bug.cgi?id=37405
+
+ We shouldn't replicate the kill_process logic in every port. Instead,
+ we should move the process interaction to Executive.
+
+ Dirk mentioned that he wanted this abstraction to make it easier to
+ mock things out for testing. It turns out this function is only used
+ in one place where it can't be used as a mock point for testing because
+ the corresponding create process actually creates a real process. In
+ the long term, we should indirect both these calls through a non-static
+ Executive as a mock point. However, we should wait on that until we
+ actually want to write the test.
+
+ * Scripts/webkitpy/layout_tests/port/base.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_win.py:
+ * Scripts/webkitpy/layout_tests/port/mac.py:
+ * Scripts/webkitpy/layout_tests/port/websocket_server.py:
+ * Scripts/webkitpy/layout_tests/port/win.py:
+
+2010-04-10 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ new-run-webkit-tests shouldn't alter its path to import packages
+ https://bugs.webkit.org/show_bug.cgi?id=37404
+
+ * Scripts/new-run-webkit-tests:
+ * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
+ * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
+ * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py:
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+ * Scripts/webkitpy/layout_tests/test_types/fuzzy_image_diff.py:
+ * Scripts/webkitpy/layout_tests/test_types/image_diff.py:
+ * Scripts/webkitpy/layout_tests/test_types/text_diff.py:
+ * Scripts/webkitpy/thirdparty/simplejson/decoder.py:
+
+2010-04-10 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ new-run-webkit-tests should store results to a directory under the build tree
+ https://bugs.webkit.org/show_bug.cgi?id=37380
+
+ * Scripts/webkitpy/layout_tests/port/webkit.py:
+
+2010-04-10 Daniel Bates <dbates@rim.com>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27204
+
+ Implement support for changing the executable bit of a file.
+ The executable bit is among the most changed file properties.
+ Future support can include other property changes.
+
+ Currently, if a patch changes the executable bit of a file
+ it is not respected by svn-apply or svn-unapply. Since the
+ commit-queue bot uses these tools as part of its workflow,
+ such patches cannot be committed by it. That is, such patches
+ need to be committed by hand. Instead, we should add support
+ for the executable bit so that such patches can be committed
+ by the commit-queue bot.
+
+ * Scripts/VCSUtils.pm: Also change reference to Apple Computer, Inc.
+ in copyright to Apple, Inc.
+ * Scripts/svn-apply:
+ * Scripts/svn-unapply:
+ * Scripts/webkitperl/VCSUtils_unittest/appendSVNExecutableBitChangeToPatch.pl: Added.
+ * Scripts/webkitperl/VCSUtils_unittest/parseGitFileMode.pl: Added.
+ * Scripts/webkitperl/VCSUtils_unittest/parseStartOfPatchOrPropertyChangeAndEndOfPropertyChange.pl: Added.
+
+2010-04-10 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ WinEWS bot fails to svn update because scm.clean_working_directory leaves files around
+ https://bugs.webkit.org/show_bug.cgi?id=37401
+
+ The Git-based bots don't have this trouble because
+ Git.clean_working_directory fully removes files that were
+ marked as "add". SVN.clean_working_directory previously just
+ called "svn revert" which would leave added files in the
+ working directory untracked. This patch makes
+ SVN.clean_working_directory function more like
+ Git.clean_working_directory by removing added files after revert.
+
+ * Scripts/webkitpy/common/checkout/scm.py:
+ - Add SCM.absolute_path for easy conversion between
+ repository-relative paths and absolute paths.
+ - Add SCM.add and SCM.added_files
+ - Make SVN.clean_working_directory remove any added_files after svn revert.
+ - The new unit tests found a bug in Git.status_command, change to use git diff --name-status instead.
+ * Scripts/webkitpy/common/checkout/scm_unittest.py:
+ - Add tests for added code.
+
+2010-04-10 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ new-run-webkit-tests can't find ImageDiff on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=37403
+
+ It turns out the build directory on Windows is structured differently
+ than it is on other platforms. Instead of assuming the normal
+ structure, we should just ask perl to figure it out for us.
+
+ * Scripts/webkitpy/layout_tests/port/webkit.py:
+
+2010-04-10 Adam Barth <abarth@webkit.org>
+
+ Rubber-stamped by Eric Seidel.
+
+ Change "Gathering files" status line to "Collecting tests". Gathering
+ the files sounds silly to me.
+
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+
+2010-04-10 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Fix bugs to make new-run-webkit-tests almost run on windows
+ https://bugs.webkit.org/show_bug.cgi?id=37400
+
+ Fix some minor bugs that prevent new-run-webkit-tests from being run on
+ Windows. I still haven't run it to completion, but I'm getting
+ further.
+
+ * Scripts/webkitpy/layout_tests/port/factory.py:
+ * Scripts/webkitpy/layout_tests/port/webkit.py:
+
+2010-04-10 Robert Hogan <robert@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Refactor Qt DRT support in QtWebKit
+
+ Update Qt DRT to use new DumpRenderTreeSupportQt static class.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35844
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::DumpRenderTree::DumpRenderTree):
+ (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting):
+ (WebCore::DumpRenderTree::dumpFramesAsText):
+ * DumpRenderTree/qt/DumpRenderTreeQt.h:
+ * DumpRenderTree/qt/GCControllerQt.cpp:
+ (GCController::collect):
+ (GCController::collectOnAlternateThread):
+ (GCController::getJSObjectCount):
+ * DumpRenderTree/qt/GCControllerQt.h:
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::counterValueForElementById):
+ (LayoutTestController::setViewModeMediaFeature):
+ (LayoutTestController::setMediaType):
+ (LayoutTestController::closeWebInspector):
+ (LayoutTestController::showWebInspector):
+ (LayoutTestController::evaluateInWebInspector):
+ (LayoutTestController::setFrameFlatteningEnabled):
+ (LayoutTestController::setJavaScriptProfilingEnabled):
+ (LayoutTestController::setTimelineProfilingEnabled):
+ (LayoutTestController::pauseAnimationAtTimeOnElementWithId):
+ (LayoutTestController::pauseTransitionAtTimeOnElementWithId):
+ (LayoutTestController::sampleSVGAnimationForElementAtTime):
+ (LayoutTestController::numberOfActiveAnimations):
+ (LayoutTestController::whiteListAccessFromOrigin):
+ (LayoutTestController::setCaretBrowsingEnabled):
+ (LayoutTestController::setDomainRelaxationForbiddenForURLScheme):
+ (LayoutTestController::workerThreadCount):
+ (LayoutTestController::pageNumberForElementById):
+ (LayoutTestController::numberOfPages):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+
+2010-04-10 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Move global queue log to the logs directory so it survives git clean -f
+ https://bugs.webkit.org/show_bug.cgi?id=37395
+
+ * Scripts/webkitpy/tool/commands/queues.py:
+
+2010-04-10 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ SheriffBot should spam when it encounters errors
+ https://bugs.webkit.org/show_bug.cgi?id=37329
+
+ We need to always update the status server so we don't get stuck in a
+ spam loop. I tried writing a test for this change, but it kind of
+ got out of control. We need a better way to do failure injection.
+
+ * Scripts/webkitpy/tool/commands/sheriffbot.py:
+
+2010-04-10 Adam Barth <abarth@webkit.org>
+
+ Unreviewed attempt to fix the Chromium Mac canary.
+
+ * Scripts/webkitpy/common/config/ports.py:
+ * Scripts/webkitpy/common/config/ports_unittest.py:
+ * Scripts/webkitpy/common/system/executive.py:
+
+2010-04-10 Adam Barth <abarth@webkit.org>
+
+ Unreviewed.
+
+ Add the Apache bits to win.py for new-run-webkit-tests
+ https://bugs.webkit.org/show_bug.cgi?id=37397
+
+ I still have run this yet, but I looked around to figure out what the
+ various paths appear to be. I'll figure out a way to remove the
+ copy/paste code in a future patch.
+
+ * Scripts/webkitpy/layout_tests/port/mac.py:
+ * Scripts/webkitpy/layout_tests/port/webkit.py:
+ * Scripts/webkitpy/layout_tests/port/win.py:
+
+2010-04-10 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Sketch out the win port for new-run-webkit-tests
+ https://bugs.webkit.org/show_bug.cgi?id=37393
+
+ I haven't tried running this yet, but we've got to start somewhere.
+
+ * Scripts/webkitpy/layout_tests/port/factory.py:
+ * Scripts/webkitpy/layout_tests/port/mac.py:
+ * Scripts/webkitpy/layout_tests/port/webkit.py:
+ * Scripts/webkitpy/layout_tests/port/win.py: Added.
+
+2010-04-10 Ojan Vafai <ojan@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ webkit-patch land should not build and test by default
+ https://bugs.webkit.org/show_bug.cgi?id=33631
+
+ Reverse the sense of --no-build and --no-test to be --build and --test.
+ Also, decoupled the build and test options so you can test without
+ building.
+
+ (Patch manngled by Adam Barth. All bugs are his fault.)
+
+ * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
+ * Scripts/webkitpy/tool/commands/queues.py:
+ * Scripts/webkitpy/tool/commands/queues_unittest.py:
+ * Scripts/webkitpy/tool/steps/options.py:
+ * Scripts/webkitpy/tool/steps/runtests.py:
+
+2010-04-10 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Factor WebKitPort out of MacPort to allow for WinPort
+ https://bugs.webkit.org/show_bug.cgi?id=37388
+
+ The split is a bit of a guess. We might have to adjust things once we
+ actually have a second port to work with.
+
+ * Scripts/webkitpy/layout_tests/port/apache_http_server.py:
+ * Scripts/webkitpy/layout_tests/port/mac.py:
+ * Scripts/webkitpy/layout_tests/port/webkit.py: Added.
+ * Scripts/webkitpy/layout_tests/port/websocket_server.py:
+
+2010-04-10 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ run_webkit_tests.py shouldn't have platform-specific logic
+ https://bugs.webkit.org/show_bug.cgi?id=37387
+
+ Dirk Pranke pointed out that my last patch was wrong because I
+ introduced platform-specific logic into run_webkit_tests.py, limiting
+ the parallelism in Chromium to work around a bug in the main Mac port.
+
+ * Scripts/webkitpy/common/system/executive.py:
+ - Fix a typo pointed out by Chris Jerdonek.
+ * Scripts/webkitpy/layout_tests/port/base.py:
+ * Scripts/webkitpy/layout_tests/port/mac.py:
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+
+2010-04-10 Robert Hogan <robert@webkit.org>
+
+ Unreviewed fix to regressions in r57416.
+
+ [Qt] Fix regressions in http/tests/navigation from r57416
+
+ Reset willSendRequestReturnsNullOnRedirect after each test to
+ prevent it leaking to subsequent tests.
+
+ Error pointed out by Jakub Wieczorek.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37237
+
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::reset):
+
+2010-04-11 Robert Hogan <robert@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Update layoutTestController.DumpResourceLoadCallbacks to match other ports.
+
+ Add support for layoutTestController.setWillSendRequestReturnsNullOnRedirect to Qt DRT.
+ Prevent dumping resource load callbacks once layout test has dumped.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37237
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::DumpRenderTree::dump):
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::setWillSendRequestReturnsNullOnRedirect):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+
+2010-04-10 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Implement Desktop Notifications API for QtWebKit
+ https://bugs.webkit.org/show_bug.cgi?id=35503
+
+ DRT stubs for notification. Enables to run and pass
+ 3 (currently disabled) tests.
+
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::LayoutTestController):
+ (LayoutTestController::grantDesktopNotificationPermission):
+ (LayoutTestController::checkDesktopNotificationPermission):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+
+2010-04-09 Dumitru Daniliuc <dumi@chromium.org>
+
+ Unreviewed, another change to executive.py to make it run with
+ python 2.4.
+
+ * Scripts/webkitpy/common/system/executive.py:
+
+2010-04-09 Dumitru Daniliuc <dumi@chromium.org>
+
+ Unreviewed, attempting to make executive.py run with python 2.4
+ (which is still used on Chromium's Windows canary bot).
+
+ * Scripts/webkitpy/common/system/executive.py:
+
+2010-04-09 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Eric Seidel.
+
+ [wx] Basic implementation of SVG support for wx port.
+
+ * wx/build/settings.py:
+
+2010-04-09 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Don't reinvent Executive.cpu_count for every port
+ https://bugs.webkit.org/show_bug.cgi?id=37377
+
+ mac.py and chromium_mac.py had some copy/paste code. This code doesn't
+ actually have anything to do with WebKit ports. It's really just
+ something in the multiprocessing package. The lame bit is that package
+ isn't available in older versions of Python, so we need to implement a
+ fallback. However, we already have the fallback in common. We don't
+ need to reinvent it specificly for layout_tests.
+
+ * Scripts/webkitpy/common/system/executive.py:
+ * Scripts/webkitpy/layout_tests/port/base.py:
+ * Scripts/webkitpy/layout_tests/port/chromium.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_win.py:
+ * Scripts/webkitpy/layout_tests/port/mac.py:
+ * Scripts/webkitpy/layout_tests/port/test.py:
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+
+2010-04-09 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ new-run-webkit-tests --release fails to build release DRT when global configuration is Debug
+ https://bugs.webkit.org/show_bug.cgi?id=37376
+
+ We need to explicitly pass the --release flag. I bet there are more
+ instances of this bug.
+
+ * Scripts/webkitpy/layout_tests/port/base.py:
+ * Scripts/webkitpy/layout_tests/port/mac.py:
+
+2010-04-09 Tony Chang <tony@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ [chromium] DRT compile fix on win/linux
+ https://bugs.webkit.org/show_bug.cgi?id=37314
+
+ Looks like this was missed when upstreaming.
+
+ * DumpRenderTree/chromium/EventSender.cpp:
+ (applyKeyModifier):
+
+2010-04-09 Adam Barth <abarth@webkit.org>
+
+ Unreviewed, but approved by Dirk Pranke.
+
+ rename test_expectations_test.py to test_expectations_unittest.py so it actually gets run
+ https://bugs.webkit.org/show_bug.cgi?id=37372
+
+ We need to end unit tests with _unittest.py for them to be autodetected
+ by the test harness. +6 tests.
+
+ * Scripts/webkitpy/layout_tests/layout_package/test_expectations_unittest.py: Renamed from WebKitTools/Scripts/webkitpy/layout_tests/layout_package/test_expectations_test.py.
+
+2010-04-09 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ new-run-webkit-tests should talk about DumpRenderTree not test_shell
+ https://bugs.webkit.org/show_bug.cgi?id=37371
+
+ test_shell is some strange Chromium thing.
+ DumpRenderTree (tm) is the real deal.
+
+ * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: Added.
+ * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py:
+ * Scripts/webkitpy/layout_tests/layout_package/test_failures.py:
+ * Scripts/webkitpy/layout_tests/layout_package/test_shell_thread.py: Removed.
+ * Scripts/webkitpy/layout_tests/port/chromium.py:
+ * Scripts/webkitpy/layout_tests/port/server_process.py:
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+
+2010-04-09 Zoltan Horvath <zoltan@webkit.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Fix 2 issues (what were introduced in r56524) in svn-create-patch's generateDiff()
+ https://bugs.webkit.org/show_bug.cgi?id=32582
+
+ Add missing return variable. Initialize $patch variable and remove unnecessary condition.
+
+ * Scripts/svn-create-patch:
+
+2010-04-09 Kevin Ollivier <kevino@theolliviers.com>
+
+ [wx] Build fix after addition of LayoutTestController method.
+
+ * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
+ (LayoutTestController::computedStyleIncludingVisitedInfo):
+
+2010-04-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=37368
+ Add MiniBrowser.
+
+ * MiniBrowser: Added.
+ * MiniBrowser/MiniBrowser.vcproj: Added.
+ * MiniBrowser/MiniBrowser.xcodeproj: Added.
+ * MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj: Added.
+ * MiniBrowser/mac: Added.
+ * MiniBrowser/mac/AppDelegate.h: Added.
+ * MiniBrowser/mac/AppDelegate.m: Added.
+ * MiniBrowser/mac/BrowserWindowController.h: Added.
+ * MiniBrowser/mac/BrowserWindowController.m: Added.
+ * MiniBrowser/mac/English.lproj: Added.
+ * MiniBrowser/mac/English.lproj/BrowserWindow.xib: Added.
+ * MiniBrowser/mac/English.lproj/InfoPlist.strings: Added.
+ * MiniBrowser/mac/English.lproj/MainMenu.xib: Added.
+ * MiniBrowser/mac/MiniBrowser-Info.plist: Added.
+ * MiniBrowser/mac/MiniBrowser_Prefix.pch: Added.
+ * MiniBrowser/mac/main.m: Added.
+ * MiniBrowser/win: Added.
+ * MiniBrowser/win/BrowserView.cpp: Added.
+ * MiniBrowser/win/BrowserView.h: Added.
+ * MiniBrowser/win/BrowserWindow.cpp: Added.
+ * MiniBrowser/win/BrowserWindow.h: Added.
+ * MiniBrowser/win/MiniBrowser.cpp: Added.
+ * MiniBrowser/win/MiniBrowser.h: Added.
+ * MiniBrowser/win/MiniBrowser.rc: Added.
+ * MiniBrowser/win/Resources: Added.
+ * MiniBrowser/win/main.cpp: Added.
+ * MiniBrowser/win/resource.h: Added.
+ * MiniBrowser/win/stdafx.cpp: Added.
+ * MiniBrowser/win/stdafx.h: Added.
+
+2010-04-09 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ webkit-patch attached my patch to the wrong bug
+ https://bugs.webkit.org/show_bug.cgi?id=37015
+
+ The problem here is that SVN was violating SCM's implicit
+ contract of always returning paths relative to the repository root.
+ That can easily be fixed by telling SVN that the CWD is the repository root.
+
+ When fixing this I realized there are a large number of places in SCM.py where
+ we want to consider explicitly passing self.checkout_root as the CWD.
+ That would allow scm methods to be executed even when the CWD is not inside
+ the scm tree at all, and would also make sure (in the case of SVN) that paths
+ returned are relative to the root. Git (almost always) returns paths relative
+ to the repository root.
+
+ * Scripts/webkitpy/common/checkout/scm.py:
+ - Explicitly pass self.checkout_root as cwd in run_status_and_extract_filenames
+ - Add a ton of FIXMEs about the need to go back and decide which methods require cwd=self.checkout_root
+ and which do not. We'll probably add a helper function to scm (likely SCM._run) which
+ always passes cwd=self.checkout_root to Executive.run_command
+ * Scripts/webkitpy/common/checkout/scm_unittest.py:
+ - Add a test for this change.
+ * Scripts/webkitpy/tool/commands/upload.py:
+ - Removed the explicit os.chdir to the repository root, since scm.py methods
+ should be robust against the cwd not being equal to the root.
+
+2010-04-09 Adam Roben <aroben@apple.com>
+
+ Don't return 0 as a JSValueRef
+
+ That is an illegal use of the JSC API.
+
+ Fixes <http://webkit.org/b/37333> REGRESSION (r57292): :visited tests
+ are asserting on debug Windows and GTK builds
+
+ Reviewed by Anders Carlsson.
+
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::computedStyleIncludingVisitedInfo):
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::computedStyleIncludingVisitedInfo):
+ Return an "undefined" JSValueRef instead of 0.
+
+2010-04-09 Csaba Osztrogonác <ossy@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Make DumpRenderTree parallelizable
+ https://bugs.webkit.org/show_bug.cgi?id=36899
+
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (libraryPathForDumpRenderTree): Use DUMPRENDERTREE_TEMP if exist.
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::DumpRenderTree::DumpRenderTree): Use DUMPRENDERTREE_TEMP if exist.
+ * Scripts/run-webkit-tests:
+ - Create a unique temporary directory and pass its path to
+ DumpRenderTree with DUMPRENDERTREE_TEMP environment variable.
+
+2010-04-09 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ <http://webkit.org/b/37326> IDL files are being copied in to the WebCore framework again
+
+ Add a script to detect the presence of inappropriate files in the frameworks. At present
+ it only looks for .css, .idl and .in files in the top level of WebCore.framework/Resources,
+ as these are the only cases we've encountered recently. It can be extended to check the
+ other frameworks or for other inappropriate files in the future.
+
+ * Scripts/check-for-inappropriate-files-in-framework: Added.
+
+2010-04-08 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Add option to build WebKit2 to build-webkit.
+
+ * Scripts/build-webkit:
+
+2010-04-08 Darin Adler <darin@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ run-webkit-tests should respect argument order
+ https://bugs.webkit.org/show_bug.cgi?id=37257
+
+ * Scripts/run-webkit-tests: Changed so that sorting is done only
+ on the results of iterating directories. Test order is based on
+ what's passed on the command line. Removed code that aimed to
+ eliminate duplicates since it can be useful to run the same test
+ more than once.
+
+2010-04-07 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24300, don't expose history info via CSS. Add a new method for
+ obtaining computed style with :visited info included. This allows layout tests to actually tell that
+ :visited is in effect.
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (computedStyleIncludingVisitedInfoCallback):
+ (LayoutTestController::staticFunctions):
+ * DumpRenderTree/LayoutTestController.h:
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (LayoutTestController::computedStyleIncludingVisitedInfo):
+
+2010-04-07 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Enable rebaseline-chromium-webkit-tests to run from a webkit-only
+ checkout (i.e., you don't need anything from the Chromium tree checked
+ out). This requires us to introduce the concept of a "target"
+ port/platform that we use to get configuration information from as well
+ as the "running" port that we use to make directories and diff images
+ and the "rebaselining" port we use to actually manage baselines.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37238
+
+ * Scripts/webkitpy/layout_tests/port/mac.py:
+ * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
+
+2010-04-05 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] REGRESSION:(r50665) QWebFrame::setScrollBarPolicy(Qt::Vertical,Qt::ScrollBarAlwaysOff) has no effect.
+ https://bugs.webkit.org/show_bug.cgi?id=29431
+
+ Added stubs for Mac, win, gtk and wx DRTs to implement setScrollbarPolicy method.
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (setScrollbarPolicyCallback):
+ (LayoutTestController::staticFunctions):
+ * DumpRenderTree/LayoutTestController.h:
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::setScrollbarPolicy):
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (LayoutTestController::setScrollbarPolicy):
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::setScrollbarPolicy):
+ * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
+ (LayoutTestController::setScrollbarPolicy):
+
+2010-04-01 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by David Hyatt.
+
+ [Qt] REGRESSION:(r50665) QWebFrame::setScrollBarPolicy(Qt::Vertical,Qt::ScrollBarAlwaysOff) has no effect.
+ https://bugs.webkit.org/show_bug.cgi?id=29431
+
+ Make possible to DRT to set scrollbar policies (on, off or auto).
+
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::setScrollbarPolicy):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+ * QtLauncher/main.cpp:
+ (LauncherWindow::toggleScrollbars):
+ (LauncherWindow::createChrome):
+
+2010-04-08 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ new-run-webkit-tests should give a percent complete indication
+ https://bugs.webkit.org/show_bug.cgi?id=37258
+
+ Because it's awesome.
+
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+
+2010-04-08 Adam Barth <abarth@webkit.org>
+
+ Unreviewed.
+
+ Add back the --target option because it's needed by the downstream
+ Chromium bots.
+
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+
+2010-04-08 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ new-run-webkit-tests should understand set-webkit-configuration
+ https://bugs.webkit.org/show_bug.cgi?id=37252
+
+ * Scripts/webkitpy/layout_tests/port/base.py:
+ * Scripts/webkitpy/layout_tests/port/mac.py:
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+
+2010-04-08 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Rename target to configuration in new-run-webkit-tests to match the rest of WebKit
+ https://bugs.webkit.org/show_bug.cgi?id=37251
+
+ The rest of our tools call --debug or --release the configuration.
+ It's confusing to call it target in this script.
+
+ * Scripts/webkitpy/layout_tests/driver_test.py:
+ * Scripts/webkitpy/layout_tests/layout_package/test_shell_thread.py:
+ * Scripts/webkitpy/layout_tests/port/base.py:
+ * Scripts/webkitpy/layout_tests/port/chromium.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_win.py:
+ * Scripts/webkitpy/layout_tests/port/mac.py:
+ * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+ * Scripts/webkitpy/layout_tests/test_types/fuzzy_image_diff.py:
+ * Scripts/webkitpy/layout_tests/test_types/image_diff.py:
+ * Scripts/webkitpy/layout_tests/test_types/test_type_base.py:
+ * Scripts/webkitpy/layout_tests/test_types/text_diff.py:
+
+2010-04-07 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Remove depricated op.popen2 call in new-run-webkit-tests
+ https://bugs.webkit.org/show_bug.cgi?id=37249
+
+ Python complains that this API is depricated. We already solved this
+ problem in executive.py.
+
+ * Scripts/webkitpy/layout_tests/port/mac.py:
+
+2010-04-07 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ new-run-webkit-tests crashes when run on a 64-bit machine
+ https://bugs.webkit.org/show_bug.cgi?id=37248
+
+ * Scripts/webkitpy/layout_tests/port/mac.py:
+ - The code was trying to always run the 32-bit intel version
+ of the DumpRenderTree binary. DRT does not build 32-bit on 64-bit
+ machines so that makes no sense. This may have made sense for test_shell
+ at some point, but I think we should just remove this for DRT.
+
+2010-04-07 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ WebKit Apache configs only listen on IPv4 addresses, causing random timeouts
+ https://bugs.webkit.org/show_bug.cgi?id=37104
+
+ Add warnings that the partial support for specifying what port numbers
+ apache should bind to is even more broken after this fix.
+
+ * Scripts/run-webkit-httpd:
+ * Scripts/run-webkit-tests:
+
+2010-04-07 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ LayoutTestController::m_handlesAuthenticationChallenges isn't initialized
+ https://bugs.webkit.org/show_bug.cgi?id=37190
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (LayoutTestController::LayoutTestController):
+
+2010-03-31 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Add webkit-patch command to crawl buildbot history and find when tests
+ started to fail.
+ https://bugs.webkit.org/show_bug.cgi?id=36911
+
+ This is a very bare-bones implementation, which works, but isn't pretty.
+ We will need further re-factoring and improvement to this code, but
+ after long discussions with Adam, I think it's best that we land this
+ and iterate from there.
+
+ * Scripts/webkitpy/common/net/buildbot.py:
+ - Add revision_build_pairs_with_results for cleaner code and possible
+ optimization of this command.
+ - Return None if a build number can't be found for a revision in
+ build_for_revision
+ - Separate out suspect_revisions_for_transition for re-use by
+ FailureReason
+ - Add LayoutTestResults.failing_tests() and make our parsing code
+ explict about what tables it accepts.
+ * Scripts/webkitpy/tool/commands/queries.py:
+ - Move _print_blame_information_for_commit out of WhatBroke for re-use
+ by FailureReason.
+ - Add FailureReason command which can crawl a given builder and explain
+ why it is currently red on a per-test basis.
+
+2010-04-06 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [DRT/Chromium] Add DumpRenderTree.gyp, and some small fixes
+ https://bugs.webkit.org/show_bug.cgi?id=37137
+
+ - Add DumpRenderTree.gyp
+ - Remove some dependencies to base/string_util.h,
+ base/compiler_specific.h, base/file_path.h, base/file_util.h,
+ base/message_loop.h, base/sys_string_conversions.h,
+
+ * DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp: Added.
+ * DumpRenderTree/chromium/CppVariant.cpp:
+ (CppVariant::toStringVector):
+ * DumpRenderTree/chromium/EventSender.cpp:
+ (EventSender::EventSender):
+ (EventSender::keyDown):
+ (EventSender::scheduleAsynchronousClick):
+ (EventSender::beginDragWithFiles):
+ * DumpRenderTree/chromium/LayoutTestController.cpp:
+ (LayoutTestController::setUserStyleSheetLocation):
+ (LayoutTestController::pathToLocalResource):
+ * DumpRenderTree/chromium/TextInputController.cpp:
+ (TextInputController::markedRange):
+ (TextInputController::selectedRange):
+
+2010-04-06 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Write stack traces into the results directory for new-run-webkit-tests,
+ instead of writing them alongside the test file.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36504
+
+ * Scripts/webkitpy/layout_tests/layout_package/test_shell_thread.py:
+
+2010-04-06 Dirk Pranke <dpranke@chromium.org>
+
+ Unreviewed build fix.
+
+ Enable pixel tests by default in new-run-webkit-tests unless
+ explicitly set by the port or by the command line. This was broken in
+ the fix for bug 36801 (rev. 57173).
+
+ https://bugs.webkit.org/show_bug.cgi?id=37184
+
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+
+2010-04-06 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Disable pixel tests on the mac port by default.
+
+ Also, revamp the way we check for pixel tests being enabled or
+ disabled. We now look for options.pixel_tests instead of
+ options.no_pixel_tests, and we have the "--pixel-tests" (force enable)
+ and "--no-pixel-tests" (force disable) flags.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36801
+
+ * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py:
+ * Scripts/webkitpy/layout_tests/layout_package/test_expectations_test.py:
+ * Scripts/webkitpy/layout_tests/port/chromium.py:
+ * Scripts/webkitpy/layout_tests/port/mac.py:
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+
+2010-04-06 Diego Gonzalez <diego.gonzalez@openbossa.org>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] Added the iPhone and iPad latest user agent in QtLauncher UA switcher
+ https://bugs.webkit.org/show_bug.cgi?id=37159
+
+ * QtLauncher/useragentlist.txt:
+
+2010-04-06 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Add current user-agent string for Symbian for QtLauncher
+ https://bugs.webkit.org/show_bug.cgi?id=37131
+
+ * QtLauncher/useragentlist.txt:
+
+2010-04-06 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Explain how to handle rollout patches
+ https://bugs.webkit.org/show_bug.cgi?id=37139
+
+ We need to set expectations for how long landing rollout patches with
+ the commit-queue takes. The commit-queue is optimized for safety, not
+ performance. Also, give folks an alternative way to land patches
+ quickly.
+
+ In addition, improve our testing of add_patch_to_bug by having
+ MockBugzilla log. This caused me to tighten a bunch of tests and
+ notice that one of our tests wasn't being run.
+
+ * Scripts/webkitpy/tool/commands/download_unittest.py:
+ * Scripts/webkitpy/tool/commands/upload_unittest.py:
+ * Scripts/webkitpy/tool/mocktool.py:
+ * Scripts/webkitpy/tool/steps/postdiffforrevert.py:
+
+2010-04-06 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Turns out commit_info.committer() can be None
+ https://bugs.webkit.org/show_bug.cgi?id=37106
+
+ When the committer isn't in committers.py, the committer() property on
+ commit_info can be None. We need to handle that case gracefully.
+
+ * Scripts/webkitpy/common/checkout/commitinfo.py:
+ * Scripts/webkitpy/tool/bot/sheriff.py:
+ * Scripts/webkitpy/tool/bot/sheriff_unittest.py:
+ * Scripts/webkitpy/tool/commands/queries.py:
+
+2010-04-06 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] [Symbian] Build fix for Dumprendertree if Qt printing is not supported
+ https://bugs.webkit.org/show_bug.cgi?id=37082
+
+ Use the QT_NO_PRINTER guard to flag QPrinter dependent code.
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::DumpRenderTree::dryRunPrint):
+
+2010-04-05 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ SheriffBot should force_build builders that are idle and have failed exactly once
+ https://bugs.webkit.org/show_bug.cgi?id=37059
+
+ We can get into a deadlocked state where the commit-queue is stopped
+ because the builders are red but the SheriffBot hasn't taken action
+ because the builder has failed only once. The SheriffBot should force
+ build idle builders that have failed exactly once to either turn the
+ tree green again (if the test was flaky) or trigger the "failed twice"
+ remedies (IRC and bug posts).
+
+ * Scripts/webkitpy/common/net/buildbot.py:
+ * Scripts/webkitpy/tool/bot/sheriff.py:
+ * Scripts/webkitpy/tool/bot/sheriff_unittest.py:
+ * Scripts/webkitpy/tool/commands/sheriffbot.py:
+ * Scripts/webkitpy/tool/mocktool.py:
+
+2010-04-05 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Fixed check-webkit-style issue where the script was prematurely
+ exiting when encountering deleted files in patches.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37122
+
+ * Scripts/webkitpy/style/checker.py:
+ - Changed non-existent file message from ERROR to WARN.
+ - StyleChecker.check_file() no longer raises an exception when
+ a file is not found.
+
+ * Scripts/webkitpy/style/checker_unittest.py:
+ - Updated unit tests as necessary.
+
+2010-04-05 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ SheriffBot should include blamelist when posting to bugs
+ https://bugs.webkit.org/show_bug.cgi?id=37113
+
+ When posting on bugs, we should include the full list of SVN revisions
+ that caused the regression to folks have a better sense of whether they
+ are to blame.
+
+ * Scripts/webkitpy/tool/bot/sheriff.py:
+ * Scripts/webkitpy/tool/bot/sheriff_unittest.py:
+ * Scripts/webkitpy/tool/commands/sheriffbot.py:
+ * Scripts/webkitpy/tool/commands/sheriffbot_unittest.py:
+ * Scripts/webkitpy/tool/commands/upload_unittest.py:
+ * Scripts/webkitpy/tool/mocktool.py:
+
+2010-04-05 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Unreviewed after discussion with Adam, Darin, and Eric.
+
+ Deleted the auto-install directory since it is no longer needed in
+ source control (it is auto-generated).
+
+ Also added webkitpy/thirdparty/autoinstalled to webkitpy/thirdparty's
+ svn:ignore property.
+
+ * Scripts/webkitpy/thirdparty/autoinstalled: Removed.
+
+2010-04-05 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ Test case for <http://webkit.org/b/37115> / <rdar://problem/7829331>.
+ REGRESSION(r56989): Crash in Mail in WebCore::Position::isCandidate when deleting block using block deletion UI
+
+ Add a JavaScript hook in DRT to call through to WebView's -setEditable:. This is required in order to reproduce
+ the crash.
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (setWebViewEditableCallback):
+ (LayoutTestController::staticFunctions):
+ * DumpRenderTree/LayoutTestController.h:
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::setWebViewEditable):
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (resetWebViewToConsistentStateBeforeTesting):
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (LayoutTestController::setWebViewEditable):
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::setWebViewEditable):
+ * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
+ (LayoutTestController::setWebViewEditable):
+ (LayoutTestController::layerTreeAsText):
+
+2010-04-05 Darin Adler <darin@apple.com>
+
+ Ignore more files the Python tools strew about the working directory.
+
+ * Scripts/webkitpy: Added property svn:ignore.
+ * Scripts/webkitpy/common: Added property svn:ignore.
+ * Scripts/webkitpy/common/checkout: Added property svn:ignore.
+ * Scripts/webkitpy/common/config: Added property svn:ignore.
+ * Scripts/webkitpy/common/net: Added property svn:ignore.
+ * Scripts/webkitpy/common/thread: Added property svn:ignore.
+ * Scripts/webkitpy/python24: Added property svn:ignore.
+ * Scripts/webkitpy/thirdparty/autoinstalled: Modified property svn:ignore.
+ * Scripts/webkitpy/tool/bot: Added property svn:ignore.
+
+2010-04-05 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Add Vitaly Repeshko as a committer.
+
+ * Scripts/webkitpy/common/config/committers.py:
+
+2010-04-05 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Update kenne's IRC nick to his registered nick.
+
+ * Scripts/webkitpy/common/config/committers.py:
+
+2010-04-05 Ojan Vafai <ojan@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ assorted helper functions and cleanup of git utilities
+ https://bugs.webkit.org/show_bug.cgi?id=37103
+
+ * Scripts/webkitpy/common/checkout/scm.py:
+ No code currently uses the optional dry_run argument. So removing it.
+ Change all uses of "trunk" to read the correct value out of the git config.
+ Made the dcommit call actually get called when dry_run==true.
+ * Scripts/webkitpy/common/checkout/scm_unittest.py:
+ * Scripts/webkitpy/common/net/credentials.py:
+ Move the git config call into scm.
+ * Scripts/webkitpy/common/net/credentials_unittest.py:
+ * Scripts/webkitpy/common/system/executive.py:
+ If return_exit_code==true, don't error out, just return the exit_code.
+
+2010-04-05 Ojan Vafai <ojan@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ prepare-ChangeLog should take a merge-base for which git branch to diff against.
+ https://bugs.webkit.org/show_bug.cgi?id=36394
+
+ * Scripts/prepare-ChangeLog:
+
+2010-04-05 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Removed the PatchStyleErrorHandler class and incorporated its
+ functionality into the DefaultStyleErrorHandler class.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37067
+
+ * Scripts/webkitpy/style/checker.py:
+ - In the StyleChecker class:
+ - Added a line_number parameter to the check_file() method.
+ - Renamed the handle_style_error parameter to
+ mock_handle_style_error to be consistent with the other mock_*
+ parameter names.
+ - Added a mock_check_file parameter to the check_patch() method
+ to facilitate unit testing the changes in this patch.
+ - Rewrote the check_patch() method with the patch-parsing logic
+ taken from the PatchStyleErrorHandler class.
+
+ * Scripts/webkitpy/style/checker_unittest.py:
+ - Added a StyleCheckerCheckFileBase class and sub-classed the
+ existing StyleCheckerCheckFileTest class from it.
+ - Added a StyleCheckerCheckPatchTest class to unit-test the
+ rewritten check_patch() method.
+ - Removed the vestigial __main__ code at the bottom of the file.
+ This is left over from when check-webkit-style was implemented
+ as a module and a wrapper module.
+
+ * Scripts/webkitpy/style/error_handlers.py:
+ - Added an optional line_numbers parameter to the
+ DefaultStyleErrorHandler class constructor and adjusted the
+ __call__() method as necessary.
+ - Removed the PatchStyleErrorHandler class.
+
+ * Scripts/webkitpy/style/error_handlers_unittest.py:
+ - Removed the PatchStyleErrorHandlerTest class which unit-tested
+ the PatchStyleErrorHandler class which is being removed in this
+ patch.
+ - Added a test_line_numbers() test method to the
+ DefaultStyleErrorHandlerTest class to test use of the
+ DefaultStyleErrorHandler's new line_numbers attribute.
+
+2010-04-05 Adam Barth <abarth@webkit.org>
+
+ Unreviewed.
+
+ Tighten SheriffBot's flaky test detector
+ https://bugs.webkit.org/show_bug.cgi?id=37063
+
+ Instead of just looking for two sequential red builds, look for two
+ sequential failures of the same test. This should reduce sheriffbot
+ false positive substantially.
+
+ I'm landing this change unreviewed because I've noticed SheriffBot
+ triggering a lot more false positives now that we've expanded the set
+ of core builders. I've tried to take Eric's comments on Bug 37063 into
+ account. I'm happy to iterate on this patch tomorrow once Eric wakes
+ up.
+
+ * Scripts/webkitpy/common/net/buildbot.py:
+ * Scripts/webkitpy/common/net/buildbot_unittest.py:
+ * Scripts/webkitpy/tool/commands/queries.py:
+
+2010-04-04 John Gregg <johnnyg@google.com>
+
+ Unreviewed, add myself to the committers list.
+
+ * Scripts/webkitpy/common/config/committers.py:
+
+2010-04-04 Robert Hogan <robert@webkit.org>
+
+ Unreviewed, add myself to the committers list.
+
+ * Scripts/webkitpy/common/config/committers.py:
+
+2010-04-04 Dumitru Daniliuc <dumi@chromium.org>
+
+ Unreviewed, adding my IRC nickname to committers.py
+
+ * Scripts/webkitpy/common/config/committers.py:
+
+2010-04-04 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Refactored check-webkit-style's option-parsing code.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37064
+
+ * Scripts/check-webkit-style:
+ - Moved the "WebKit checkout not found" check from
+ ArgumentParser.parse() to the calling code.
+ - Moved the --git-commit argument validation from the calling
+ code to ArgumentParser.parse().
+
+ * Scripts/webkitpy/style/checker_unittest.py:
+ - Updated a unit test as necessary.
+
+ * Scripts/webkitpy/style/optparser.py:
+ - Renamed ArgumentParser._exit_with_help() to _parse_error()
+ and made its error_message parameter required.
+ - Removed the found_checkout parameter from ArgumentParser.parse().
+ - Removed the "WebKit checkout not found" check and moved it
+ to the calling code.
+ - Added --git-commit argument checking.
+
+ * Scripts/webkitpy/style/optparser_unittest.py:
+ - Adjusted the import statements to be fully qualified.
+ - Changed the ArgumentParserTest class to inherit from
+ LoggingTestCase, and updated the class as necessary.
+ - Added a unit-test for the --git-commit validation.
+ - Added unit tests for the --git-diff and --git-since variants
+ of --git-commit.
+
+2010-04-03 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ The check-webkit-style script now logs an ERROR and exits when
+ encountering a file path that does not exist. Previously, it failed
+ silently on such paths.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36957
+
+ * Scripts/webkitpy/common/system/logtesting.py:
+ - Added a FIXME to rename the LoggingTestCase class to
+ LoggingTestCaseBase.
+
+ * Scripts/webkitpy/style/checker.py:
+ - In the StyleChecker.check_file() method:
+ - Added a mock_os_path_exists parameter.
+ - Renamed the process_file parameter to mock_process_file.
+ - Added logic to log an error and exist if the given path does
+ not exist.
+
+ * Scripts/webkitpy/style/checker_unittest.py:
+ - Refactored the StyleCheckerCheckFileTest class slightly to
+ inherit from LoggingTestCase.
+ - Added a test method to unit-test the case of a file that
+ does not exist.
+ - Adjusted the other test methods as necessary.
+
+2010-04-03 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Add Tiger Bot to the list of "core builders" (builders which block the commit-queue when red)
+ https://bugs.webkit.org/show_bug.cgi?id=33289
+
+ Add Tiger and SnowLeopard Tests to the core builders. This is a bit of
+ an experiment now that the bots are green. Hopefully we can keep them
+ on the list and have the tree stay greener.
+
+ * Scripts/webkitpy/common/net/buildbot.py:
+
+2010-04-02 Adam Barth <abarth@webkit.org>
+
+ Unreviewed.
+
+ Have Eric and Adam watch the SheriffBot
+ https://bugs.webkit.org/show_bug.cgi?id=37054
+
+ * Scripts/webkitpy/tool/bot/sheriff.py:
+ * Scripts/webkitpy/tool/bot/sheriff_unittest.py:
+ * Scripts/webkitpy/tool/commands/sheriffbot.py:
+
+2010-04-02 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ commit-queue should ignore builders when landing rollouts
+ https://bugs.webkit.org/show_bug.cgi?id=37051
+
+ When we moved the "builders are red" check into the master process, we
+ forgot about rollouts. I thought we had a test covering this case, but
+ looking at the test, it was a bit too loose. I added a new test and
+ introduced some new logging technology into MockTool to make the test
+ tighter.
+
+ * Scripts/webkitpy/tool/commands/queues.py:
+ * Scripts/webkitpy/tool/commands/queues_unittest.py:
+ * Scripts/webkitpy/tool/mocktool.py:
+
+2010-04-02 David Levin <levin@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ sherrifbot should ensure that the rollout reason doesn't start with - (and fix webkit-patch upload).
+ https://bugs.webkit.org/show_bug.cgi?id=37030
+
+ * Scripts/webkitpy/tool/bot/sheriff.py: Ensure that the rollout reason doesn't
+ start with -.
+ * Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py: A test with a rollout
+ reason which starts with -.
+ * Scripts/webkitpy/tool/steps/createbug.py: Fix webkit-patch upload.
+
+2010-04-02 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Unreviewed.
+
+ Fixed check-webkit-style to recognize the short form of the
+ --verbose option, as stated in --help.
+
+ * Scripts/check-webkit-style:
+ - Tweaked one line.
+
+2010-04-02 Kevin Ollivier <kevino@theolliviers.com>
+
+ [wx] Build fix for DumpRenderTree after addition of layerTreeAsText.
+
+ * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
+ (LayoutTestController::layerTreeAsText):
+
+2010-04-02 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ Accept XHTML-MP content type as XHTML content
+ https://bugs.webkit.org/show_bug.cgi?id=34262
+
+ Register xhtmlmp file extension as the new type
+ for XHTML-MP test content.
+
+ * Scripts/run-webkit-tests:
+ * Scripts/webkitpy/layout_tests/layout_package/test_files.py:
+ * Scripts/webkitpy/layout_tests/port/lighttpd.conf:
+
+2010-04-02 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ create-rollout doesn't fill out ChangeLog
+ https://bugs.webkit.org/show_bug.cgi?id=37010
+
+ The contract between apply_reverse_diff and PrepareChangeLogForRevert
+ was unclear. I broke filling out the ChangeLog during rollout earlier
+ when I changed apply_reverse_diff to revert the ChangeLogs because
+ PrepareChangeLogForRevert thought that it was supposed to do that.
+ I've now taught PrepareChangeLogsForRevert the new contract.
+
+ It's unclear to me how to test this change because it's essentially an
+ integration issue that requires the file system. At some point we
+ should think about a testing strategy for integration. As the system
+ becomes larger, we're running into more of these issues.
+
+ * Scripts/webkitpy/common/checkout/api.py:
+ * Scripts/webkitpy/tool/steps/preparechangelogforrevert.py:
+
+2010-04-02 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Add cr-win-ews to QueueStatusServer
+ https://bugs.webkit.org/show_bug.cgi?id=37004
+
+ * QueueStatusServer/model/queues.py:
+ * QueueStatusServer/templates/dashboard.html:
+ * QueueStatusServer/templates/statusbubble.html:
+
+2010-04-02 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Unit-test networktransaction.py's log messages, and add a base
+ class to make unit-testing log messages even easier.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36958
+
+ The purpose of this patch is also to provide a mini-tutorial on
+ how to unit-test Python logging.py messages.
+
+ * Scripts/webkitpy/common/net/networktransaction_unittest.py:
+ - Unit-tested the log messages in test_retry().
+
+ * Scripts/webkitpy/common/system/logtesting.py:
+ - Adjusted the LogTesting class by moving the code that clears
+ the array of log messages into a finally block. This prevents
+ redundant AssertionErrors from getting rendered to the screen
+ while running unit tests.
+ - Added a LoggingTestCase class so the setUp() and tearDown()
+ methods do not need to be implemented in order to test logging.
+ Rather, TestCase classes can simply inherit from this class.
+
+2010-04-02 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Re-wrote check-webkit-style's argument parsing code to use
+ Python's optparser module and more uniform error-handling logic.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34676
+
+ * Scripts/webkitpy/style/optparser.py:
+ - Removed "option help" from check-webkit-style's usage string
+ since that is provided separately by the OptionParser class.
+ - Also changed the usage string from a function to a constant
+ string _USAGE.
+ - Added an _EPILOG string which renders after OptionParser's
+ usage string and option help.
+ - In the ArgumentParser class:
+ - Changed the constructor's stderr_write parameter to a
+ mock_stderr since the OptionParser accepts a sys.stderr
+ substitute rather than a sys.stderr.write substitute.
+ - Changed the constructor to set a _parser data attribute with
+ an OptionParser instance.
+ - Added a _create_option_parser() method which instantiates
+ the OptionParser.
+ - Updated _exit_with_help() to interact with the OptionParser's
+ help method.
+ - Updated the parse() method as necessary. Also changed the
+ raising of ValueErrors to calls to _exit_with_help().
+
+ * Scripts/webkitpy/style/optparser_unittest.py:
+ - Removed the CreateUsageTest class since the create_usage method
+ was replaced by a constant string.
+ - Added a _MockStdErr class to the ArgumentParserTest class.
+ - Updated the unit tests as necessary.
+
+
+2010-04-02 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ The master commit-queue process should take responsibility for checking that the builders are green
+ https://bugs.webkit.org/show_bug.cgi?id=37009
+
+ We had a failure where the child process noticed that the builders were
+ red. We've always had this race condition, but the new optimistic
+ design made it easier to trigger.
+
+ * Scripts/webkitpy/tool/commands/queues.py:
+
+2010-04-02 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Tweak rollout changelog to pass ValidateReviewer check
+ https://bugs.webkit.org/show_bug.cgi?id=37019
+
+ We need to use the magic word "unreviewed" to make the commit-queue
+ happy when landing rollouts.
+
+ * Scripts/webkitpy/common/checkout/changelog.py:
+ * Scripts/webkitpy/common/checkout/changelog_unittest.py:
+
+2010-04-02 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Unreviewed.
+
+ Removed duplicate ChangeLog entry.
+
+2010-04-02 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Rubber-stamped by Eric Seidel.
+
+ To the Python 2.4 error message, added a link to the wiki page
+ that contains instructions on how to upgrade.
+
+ * Scripts/test-webkitpy:
+ - Eliminated a use of the ternary operator in configure_logging()
+ to let the version warning display in case of Python 2.4.
+
+ * Scripts/webkitpy/python24/versioning.py:
+ - Added this link to the error text:
+ http://trac.webkit.org/wiki/PythonGuidelines
+
+ * Scripts/webkitpy/python24/versioning_unittest.py:
+ - Updated unit test text.
+
+2010-04-02 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Record the IRC nick of folks who request rollouts
+ https://bugs.webkit.org/show_bug.cgi?id=36999
+
+ * Scripts/webkitpy/common/net/irc/ircbot.py:
+ * Scripts/webkitpy/tool/bot/irc_command.py:
+ * Scripts/webkitpy/tool/bot/sheriffircbot.py:
+ * Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py:
+
+2010-04-01 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Add cr-win-ews
+ https://bugs.webkit.org/show_bug.cgi?id=36974
+
+ Adds support for an Early Warning System for Chromium on Linux. The
+ interface to the Chromium port is the same on every platform, so we
+ don't need to create a new Port object for this queue.
+
+ * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
+ * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
+
+2010-04-01 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Using a failure exit code when failing to load a required import
+ https://bugs.webkit.org/show_bug.cgi?id=37000
+
+ Well spotted by Mark Rowe.
+
+ * Scripts/webkitpy/common/system/user.py:
+
+2010-04-01 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Rewrote the revision (r56942) to disable the 79 character line
+ length limit Python/PEP8 style check.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33639#c39
+
+ This rewrite puts the disabling not in the PythonProcessor but
+ in the calling code's default filter rule configuration. This
+ allows the user to check line-length style from the command-line
+ if desired.
+
+ * Scripts/webkitpy/style/checker.py:
+ - Added "-pep8/E501" to the _BASE_FILTER_RULES configuration
+ variable to disable the line-length check.
+ - Added "-pep8/E501" to the list of recognized style categories
+ to permit the category to be checked from the command line.
+
+ * Scripts/webkitpy/style/processors/python.py:
+ - Reverted r56942: http://trac.webkit.org/changeset/56942
+
+2010-04-01 Kinuko Yasuda <kinuko@chromium.org>
+
+ Reviewed by Dmitry Titov.
+
+ Add FileThread for async file operation support in FileReader and FileWriter
+ https://bugs.webkit.org/show_bug.cgi?id=36896
+
+ Add options to enable FILE_READER and FILE_WRITER support.
+
+ * Scripts/build-webkit:
+
+2010-04-01 Kent Tamura <tkent@chromium.org>
+
+ Unreviewed. Add missing license header.
+
+ * DumpRenderTree/chromium/TestShellMac.mm:
+
+2010-04-01 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Improve the error handling in rollout a bit
+ https://bugs.webkit.org/show_bug.cgi?id=36995
+
+ This patch does a few things to make the error handling in rollout a
+ bit more robust.
+
+ * Scripts/webkitpy/common/checkout/api.py:
+ The old logic here was wrong. We don't want to resolve the
+ ChangeLogs (that would remove the old ChangeLog entry). Instead,
+ we want to revert the ChangeLogs so we can fill them with the new
+ message.
+ * Scripts/webkitpy/tool/commands/download_unittest.py:
+ Update test expectations because we're using a different mock object.
+ * Scripts/webkitpy/tool/commands/download.py:
+ - Added an update command to make updating from the SheriffBot more
+ robust.
+ - Now that we have CommitInfo, we can automatically CC the
+ responsible parties on the bug we create.
+ - Re-ordered the steps in create-rollout. Our original thinking
+ was that we always wanted to create the bug, but that's not
+ really true given how things appear to be playing out. If we
+ fail to apply the reverse diff, we don't want to create the bug.
+ * Scripts/webkitpy/tool/commands/sheriffbot.py:
+ - Use the new, more robust update command.
+ * Scripts/webkitpy/tool/steps/createbug.py:
+ Allow commands to pre-load who they want to be CCed on a new bug.
+
+2010-04-01 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [DRT/Chromium] Add TestShell and WebViewHost class, main(), and so on
+ https://bugs.webkit.org/show_bug.cgi?id=36814
+
+ This change introduces:
+ - WebViewHost class
+ It's an implementation of some delegates required by Chromium
+ WebKit API, and manages painting of a WebView. It's base on
+ src/webkit/tools/test_shell/test_webview_delegate.{cc,h} of
+ Chromium rev.40492.
+ - TestShell class
+ The TestShell instance holds global states of DumpRenderTree process.
+ Unlike TestShell class of Chromium test_shell, TestShell instance is
+ created just once.
+ - DumpRenderTree.cpp
+ The program entry.
+
+ * DumpRenderTree/chromium/DumpRenderTree.cpp: Added.
+ * DumpRenderTree/chromium/TestShell.cpp: Added.
+ * DumpRenderTree/chromium/TestShell.h: Added.
+ * DumpRenderTree/chromium/TestShellMac.mm: Added.
+ * DumpRenderTree/chromium/WebViewHost.cpp: Added.
+ * DumpRenderTree/chromium/WebViewHost.h: Added.
+ * DumpRenderTree/chromium/config.h: Added.
+
+2010-04-01 David Levin <levin@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ sheriffbot rollout should verify that the svn revision is a number.
+ https://bugs.webkit.org/show_bug.cgi?id=37001
+
+ * Scripts/webkitpy/common/net/bugzilla.py: Allow for the message to be None.
+ * Scripts/webkitpy/tool/bot/sheriff.py: Did verification that svn revision
+ is a number. Fixed the imports (since the files uses ScriptError and log)
+ and a typo.
+ * Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py: Added a test to verify
+ the behavior.
+
+2010-04-01 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Print an error message for readline bogosity in MacPorts
+ https://bugs.webkit.org/show_bug.cgi?id=36979
+
+ * Scripts/webkitpy/common/system/user.py:
+
+2010-04-01 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Don't pass --non-interactive to create-rollout
+ https://bugs.webkit.org/show_bug.cgi?id=36989
+
+ It turns out you can't pass --non-interactive to create-rollout. Also,
+ improve our error reporting slighly to catch the case where we error
+ out after creating the rollout bug.
+
+ * Scripts/webkitpy/tool/bot/irc_command.py:
+ * Scripts/webkitpy/tool/bot/sheriff.py:
+
+2010-04-01 Ojan Vafai <ojan@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ webkit-patch can incorrectly think the working directory is modified
+ https://bugs.webkit.org/show_bug.cgi?id=36985
+
+ If a file's modification time is modified, but the contents are not,
+ then diff-index will think the file has been modified unless you do
+ some crazy update-index call. Instead, call diff --name-only, which
+ has the index update builtin.
+
+ Tried to write a test, but could not reproduce this in a unittest.
+ To test manually:
+ touch file-in-repo
+ git diff-index HEAD
+ git diff HEAD --name-only
+
+ The diff-index call incorrectly shows file-in-repo as modified.
+
+ * Scripts/webkitpy/common/checkout/scm.py:
+
+2010-04-01 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Add rollout command to sheriffbot
+ https://bugs.webkit.org/show_bug.cgi?id=36986
+
+ This IRC command creates a new bug an attaches a rollout patch. To
+ actually commit the rollout, a committer needs to mark the patch
+ commit-queue+ in bugs.webkit.org.
+
+ Also, factored out some of the logic from the queue into a separate
+ object for easier testing.
+
+ * Scripts/webkitpy/common/system/executive.py:
+ * Scripts/webkitpy/tool/bot/irc_command.py:
+ * Scripts/webkitpy/tool/bot/sheriff.py: Added.
+ * Scripts/webkitpy/tool/bot/sheriff_unittest.py: Added.
+ * Scripts/webkitpy/tool/bot/sheriffircbot.py:
+ * Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py:
+ * Scripts/webkitpy/tool/commands/queues.py:
+ * Scripts/webkitpy/tool/commands/sheriffbot.py:
+ * Scripts/webkitpy/tool/commands/sheriffbot_unittest.py:
+
+2010-04-01 Eric Seidel <eric@webkit.org>
+
+ Unreviewed, only ignoring chatty style errors.
+
+ check-webkit-style: WebKit needs a python style checker
+ https://bugs.webkit.org/show_bug.cgi?id=33639
+
+ Remove the 79 char line limit by ignoring
+ pep8/E501. Because we have our own report_error
+ implementation we have to ignore E501 by hand
+ instead of passing --ignore=E501.
+
+ Right now over 1400 lines of our existing python
+ fail E501 so this rule just generates needless noise.
+ The rest of WebKit has no wrapping rule so it makes
+ little sense for our Python to differ here.
+
+ * Scripts/webkitpy/style/processors/python.py:
+
+2010-04-01 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Add cmarrin's IRC nickname.
+
+ * Scripts/webkitpy/common/config/committers.py:
+
+2010-04-01 Adam Barth <abarth@webkit.org>
+
+ Unreviewed.
+
+ EWS spins hot when unable to build
+ https://bugs.webkit.org/show_bug.cgi?id=36981
+
+ The problem is that the queue engine things we have more work to do,
+ but the bot isn't actually able to do anything. After this change, we
+ back off the usual amount.
+
+ * Scripts/webkitpy/tool/bot/queueengine.py:
+ * Scripts/webkitpy/tool/bot/queueengine_unittest.py:
+ * Scripts/webkitpy/tool/commands/queues.py:
+ * Scripts/webkitpy/tool/commands/sheriffbot.py:
+
+2010-04-01 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Added layerTreeAsText function to DRT (for Mac)
+ https://bugs.webkit.org/show_bug.cgi?id=36782
+
+ This is the DRT side. It exposes the call to JavaScript
+ through the LayoutTestController.
+
+ * DumpRenderTree/LayoutTestController.cpp:Platform independent JavaScript shim
+ (layerTreeAsTextCallback):
+ (LayoutTestController::staticFunctions):
+ * DumpRenderTree/LayoutTestController.h:
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:Mac specific plumbing to WebKit
+ (LayoutTestController::layerTreeAsText):
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:Windows specific plumbing to WebKit
+ (LayoutTestController::layerTreeAsText):
+
+2010-04-01 Kevin Ollivier <kevino@theolliviers.com>
+
+ [wx] Build fix after addition of JavaScriptCore/wtf/text directory.
+
+ * wx/build/settings.py:
+
+2010-04-01 Jian Li <jianli@chromium.org>
+
+ Rubber-stamped by David Levin.
+
+ Add myself to the reviewers list.
+
+ * Scripts/webkitpy/common/config/committers.py:
+
+2010-04-01 Adam Barth <abarth@webkit.org>
+
+ Unreviewed.
+
+ Turns out the Chromium Windows bots don't have pdevenv installed.
+
+ * Scripts/webkitdirs.pm:
+
+2010-04-01 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Let Chromium Windows build with Visual Studio Express
+ https://bugs.webkit.org/show_bug.cgi?id=36919
+
+ This is horrible, horrible copy/paste code, but that seems to be the
+ way of webkitdirs.pm. :(
+
+ Someone needs to go through an cleanup this code, but I don't have the
+ heart to do it in this patch.
+
+ * Scripts/webkitdirs.pm:
+
+2010-04-01 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Add myself to the committers list.
+ https://bugs.webkit.org/show_bug.cgi?id=36953
+
+ * Scripts/webkitpy/common/config/committers.py:
+
+2010-04-01 Eric Seidel <eric@webkit.org>
+
+ Rubber-stamped by Adam Barth.
+
+ Add Snow Leopard Release bot to the list of "core builders" (builders which stop the commit-queue when they turn red)
+ https://bugs.webkit.org/show_bug.cgi?id=33292
+
+ Just adding the "Build" builder for now.
+ We'll add the "Test" builders when the tests
+ are less flaky.
+
+ * Scripts/webkitpy/common/net/buildbot.py:
+ * Scripts/webkitpy/common/net/buildbot_unittest.py:
+
+2010-04-01 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by David Levin.
+
+ Add myself to the reviewers list.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36935
+
+ * Scripts/webkitpy/common/config/committers.py:
+
+2010-03-31 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Dave Levin.
+
+ Added Python style checking to check-webkit-style using
+ the third-party pep8 module (via autoinstall).
+
+ https://bugs.webkit.org/show_bug.cgi?id=33639
+
+ * Scripts/webkitpy/style/checker.py:
+ - Added PYTHON to FileType.
+ - Updated ProcessorDispatcher to return a PythonProcessor
+ for *.py files.
+
+ * Scripts/webkitpy/style/checker_unittest.py:
+ - Updated the ProcessorDispatcher unit tests for *.py files.
+
+ * Scripts/webkitpy/style/processors/python.py: Added.
+ - Added PythonProcessor class.
+
+ * Scripts/webkitpy/style/processors/python_unittest.py: Added.
+ - Added PythonProcessor unit tests.
+
+ * Scripts/webkitpy/style/processors/python_unittest_input.py: Added.
+ - Added a sample Python file to test the PythonProcessor.process()
+ code path (since pep8 accepts a file path).
+
+ * Scripts/webkitpy/style/unittests.py:
+ - Updated the style unit test file to import python_unittest.py.
+
+ * Scripts/webkitpy/style_references.py:
+ - Adjusted style references to import pep8.
+
+2010-03-31 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Dave Levin.
+
+ Rewrote autoinstall.py to support unzipping *.zip files after
+ download, unzipping and extracting *.tar.gz files after download,
+ and copying installed files to a given destination directory.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35163
+
+ These changes will let us autoinstall pep8.py from the web and put
+ our third-party autoinstalled code in an explicit directory like
+ webkitpy/thirdparty/autoinstalled. These changes should also speed
+ up the execution of autoinstalled *.zip packages slightly since
+ *.pyc files cannot be generated when importing from zipped
+ packages using the current autoinstall.
+
+ * Scripts/test-webkitpy:
+ - Addressed the FIXME to enable auto-install logging once
+ autoinstall was rewritten not to log as verbosely.
+
+ * Scripts/webkitpy/common/net/bugzilla.py:
+ - Updated mechanize import statement.
+
+ * Scripts/webkitpy/common/net/buildbot.py:
+ - Updated mechanize import statement.
+
+ * Scripts/webkitpy/common/net/irc/ircbot.py:
+ - Updated ircbot and irclib import statements.
+
+ * Scripts/webkitpy/common/net/networktransaction.py:
+ - Updated mechanize import statement.
+
+ * Scripts/webkitpy/common/net/networktransaction_unittest.py:
+ - Updated mechanize import statement.
+
+ * Scripts/webkitpy/common/net/statusserver.py:
+ - Updated mechanize import statement.
+
+ * Scripts/webkitpy/common/system/autoinstall.py: Added.
+ - Added AutoInstaller class.
+ - Added sample/testing usage to the __main__ block.
+
+ * Scripts/webkitpy/thirdparty/__init__.py:
+ - Updated the autoinstall lines to use the new autoinstall methods.
+ - Added pep8.py to the list of auto-installed packages.
+ - Added a README file to the target autoinstallation directory
+ so users know that the directory is safe to delete.
+
+ * Scripts/webkitpy/thirdparty/autoinstall.py: Removed.
+ - This is replaced by the rewritten autoinstall
+ webkitpy/common/system/autoinstall.py.
+
+ * Scripts/webkitpy/thirdparty/autoinstalled/__init__.py: Removed.
+ - The target autoinstallation directory is now auto-generated.
+
+2010-03-31 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Tweak webkitpy's logtesting.LogTesting class to get more mileage out
+ of our unit tests that test log messages.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36886
+
+ This patch adds to the LogTesting class's tearDown() method a line
+ asserting that the array of remaining log messages is empty. This
+ ensures that no extra log messages are getting logged that the caller
+ might not be aware of or may have forgotten to check for.
+
+ * Scripts/webkitpy/common/system/logtesting.py:
+ - Modified the tearDown() method as described above.
+ - Also modified the assertMessages() method to clear the array
+ of log messages after asserting.
+
+2010-03-31 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Added support for a --verbose-logging flag to test-webkitpy.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36429
+
+ Verbose logging is useful for debugging test-webkitpy code that
+ runs before the actual unit tests -- things like autoinstalling and
+ unit-test auto-detection logic. This is different from verbose
+ logging of the unit tests themselves (which corresponds to the
+ unittest module's --verbose flag).
+
+ * Scripts/test-webkitpy:
+ - In the configure_logging() method--
+ - Added an is_verbose_logging parameter that sets the logging
+ level to logging.DEBUG instead of logging.INFO.
+ - Changed the method to throttle the logging level on the
+ root logger's handler instead of directly on the root logger
+ itself.
+ - Enabled logging of the autoinstall module when the flag is set.
+
+ * Scripts/webkitpy/thirdparty/autoinstalled/__init__.py:
+ - Added a work-around for a bug in Python 2.6's logging module
+ that was discovered while working on this patch.
+
+2010-03-31 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Enabled Python's logging module for webkit-patch, and replaced
+ deprecated_logging with Python logging in networktransaction.py.
+ This eliminates some spurious output when running test-webkitpy.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36725
+
+ * Scripts/webkit-patch:
+ - Replaced the configure_logging() function with a call to
+ the new logutils.configure_logging() function.
+
+ * Scripts/webkitpy/common/net/networktransaction.py:
+ - Replaced the use of deprecated_logging with Python logging.
+
+ * Scripts/webkitpy/common/system/logutils.py:
+ - Added _default_handlers() which creates the default logging
+ handler for webkitpy.
+ - Added configure_logging() which configures default logging
+ for webkitpy.
+
+ * Scripts/webkitpy/common/system/logutils_unittest.py:
+ - Added unit tests for logutils.configure_logging().
+
+ * Scripts/webkitpy/style/checker.py:
+ - Refactored check-webkit-style's configure_logging() method
+ to call the new logutils.configure_logging().
+
+ * Scripts/webkitpy/style_references.py:
+ - Updated references as necessary.
+
+2010-03-31 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ webkit-patch land fails if not run from the root directory
+ https://bugs.webkit.org/show_bug.cgi?id=35822
+
+ The root of the problem was that ChangeLog.__init__ expects a path
+ relative to the current working directory, and SCM expects to
+ return paths relative to the SCM root. Fix it by converting from
+ SCM-relative to absolute paths in Checkout.modified_changelogs
+
+ * Scripts/webkitpy/common/checkout/api.py:
+ * Scripts/webkitpy/common/checkout/api_unittest.py:
+
+2010-03-31 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Add more tests for webkitpy.common.checkout
+ https://bugs.webkit.org/show_bug.cgi?id=36926
+
+ We don't have a great way of testing checkout, sadly.
+
+ * Scripts/webkitpy/common/checkout/api_unittest.py:
+
+2010-03-31 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ REGRESSION: EWS crashes on failure
+ https://bugs.webkit.org/show_bug.cgi?id=36924
+
+ Turns out we need to pass one more argument. My test is kind of lame,
+ but at least it's there.
+
+ * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
+ * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
+
+2010-03-31 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Unreviewed.
+
+ Fixed typo in WebKitTools/ChangeLog: opsys -> ospath.
+
+2010-03-31 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Make the EWS go faster by being optimistic
+ https://bugs.webkit.org/show_bug.cgi?id=36916
+
+ Have the EWS be optimistic that a patch will correctly build. This
+ should speed up the common case by not requiring two builds for every
+ patch.
+
+ * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
+ * Scripts/webkitpy/tool/commands/queues.py:
+
+2010-03-31 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Add the ability to restart sheriffbot from IRC
+ https://bugs.webkit.org/show_bug.cgi?id=36909
+
+ * Scripts/webkitpy/tool/bot/irc_command.py:
+ * Scripts/webkitpy/tool/bot/queueengine.py:
+ * Scripts/webkitpy/tool/bot/sheriffircbot.py:
+ * Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py:
+
+2010-03-31 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Add win-ews to QueueStatusServer
+ https://bugs.webkit.org/show_bug.cgi?id=36876
+
+ The win-ews is still experimental, but it seems to be more or less
+ running. We should show its results to the people.
+
+ * QueueStatusServer/model/queues.py:
+ * QueueStatusServer/templates/dashboard.html:
+ * QueueStatusServer/templates/statusbubble.html:
+
+2010-03-30 Victor Wang <victorw@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Update rebaseline tool to check the release image diff binary and
+ fallback to debug if the release version does not exist.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36245
+
+ * Scripts/webkitpy/layout_tests/port/base.py:
+ * Scripts/webkitpy/layout_tests/port/chromium.py:
+ * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
+
+2010-03-31 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Teach buildbot.py how to parse builder activity from /one_box_per_builder
+ https://bugs.webkit.org/show_bug.cgi?id=36898
+
+ I also removed some obsolete FIXMEs and
+ refactored one_box_per_builder parsing into multiple
+ methods for easier reading.
+
+ * Scripts/webkitpy/common/net/buildbot.py:
+ * Scripts/webkitpy/common/net/buildbot_unittest.py:
+
+2010-03-31 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Fix logging in new-run-webkit-tests so that we don't report IMAGE
+ expected failures as unexpected passes when we run with pixel tests
+ disabled.
+
+ This change splits some of the logic embedded into the TestExpectations
+ classes out into separate pure functions (result_was_expected,
+ remove_image_failures) to make them easier to test. This also adds
+ a parameter to matches_an_expected_result() to indicate whether or
+ not pixel test results should be included in the expectations.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36771
+
+ * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py:
+ * Scripts/webkitpy/layout_tests/layout_package/test_expectations_test.py:
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+
+2010-03-31 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ In webkitpy, refactored two calls to os.path.relpath() replacements
+ to use a common method.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36891
+
+ * Scripts/webkitpy/common/net/bugzilla.py:
+ - Replaced the relpath implementation with a call to
+ webkitpy.common.system.ospath.relpath().
+
+ * Scripts/webkitpy/common/system/ospath.py: Added.
+ - Moved the relpath() implementation from style/main.py.
+
+ * Scripts/webkitpy/common/system/ospath_unittest.py: Added.
+ - Moved the relpath() unit tests from style/main_unittest.py.
+
+ * Scripts/webkitpy/style/main.py:
+ - Replaced the relpath implementation with a call to
+ webkitpy.common.system.ospath.relpath().
+
+ * Scripts/webkitpy/style/main_unittest.py:
+ - Moved the relpath unit tests to ospath_unittest.py.
+
+2010-03-31 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Add a Builder.force_build method
+ https://bugs.webkit.org/show_bug.cgi?id=36875
+
+ We plan to eventually use this in SheriffBot to break deadlocks created
+ by flaky tests.
+
+ * Scripts/webkitpy/common/net/buildbot.py:
+
+2010-03-31 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ webkit-patch reads wrong bug url from unified diff context
+ https://bugs.webkit.org/show_bug.cgi?id=36477
+
+ Instead of trying to figure out the bug_id from the diff, we should
+ just get the information from the Checkout object, which understands
+ these concepts.
+
+ * Scripts/webkitpy/common/checkout/api.py:
+ * Scripts/webkitpy/common/checkout/commitinfo.py:
+ * Scripts/webkitpy/tool/commands/download.py:
+ * Scripts/webkitpy/tool/commands/upload.py:
+ * Scripts/webkitpy/tool/mocktool.py:
+
+2010-03-31 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ webkit-patch commit-queue should land patches optimistically
+ https://bugs.webkit.org/show_bug.cgi?id=34187
+
+ This patch adds an optimistic path to commit-queue and a "fail twice"
+ requirement for rejecting patches. That means we'll land good patches
+ faster (via the optmistic first run) and we'll reject many fewer
+ patches due to flaky tests.
+
+ * Scripts/webkitpy/tool/commands/queues.py:
+
+2010-03-31 Diego Gonzalez <diego.gonzalez@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Custom user agent for user agent switcher
+ https://bugs.webkit.org/show_bug.cgi?id=36757
+
+ * QtLauncher/main.cpp:
+ (LauncherWindow::showUserAgentDialog):
+
+2010-03-31 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ path to committers.py in commit-queue rejection message is wrong
+ https://bugs.webkit.org/show_bug.cgi?id=36865
+
+ This fix would have only been 3 lines long if we had
+ 1. Had access to an SCM object or tool to give us the checkout root
+ 2. Been able to depend on Python 2.6
+ Instead I've added a bunch of hack code, but at least now
+ we should never have to update this string again as the location
+ of committers.py is fully dynamically discovered. :p
+
+ * Scripts/webkitpy/common/net/bugzilla.py:
+ * Scripts/webkitpy/common/net/bugzilla_unittest.py:
+
+2010-03-31 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Unreviewed test fix for r56809.
+
+ webkit-patch what-broke throws exception
+ https://bugs.webkit.org/show_bug.cgi?id=36852
+
+ * Scripts/webkitpy/common/checkout/api_unittest.py:
+
+2010-03-30 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Rubber stamped by Dave Levin.
+
+ Made check-webkit-style less chatty.
+
+ Examples include:
+ - https://bugs.webkit.org/show_bug.cgi?id=36866#c4
+ - https://bugs.webkit.org/show_bug.cgi?id=36472#c9
+
+ * Scripts/webkitpy/style/checker.py:
+ - Changed unrecognized file type log message from info to debug.
+
+2010-03-30 Kevin Ollivier <kevino@theolliviers.com>
+
+ [wx] Build fix after new method added.
+
+ * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
+ (LayoutTestController::callShouldCloseOnWebView):
+
+2010-03-30 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ webkit-patch what-broke throws exception
+ https://bugs.webkit.org/show_bug.cgi?id=36852
+
+ * Scripts/webkitpy/common/checkout/api.py: Add missing import StringIO.
+ * Scripts/webkitpy/common/checkout/api_unittest.py: Test the function which previously threw and exception.
+
+2010-03-30 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36616
+ Dvorak-Qwerty keyboard layout gives unexpected results in javascript keydown
+
+ https://bugs.webkit.org/show_bug.cgi?id=36797
+ For non-Roman layouts, keydown Event.keyCode is always 0
+
+ * DumpRenderTree/mac/EventSendingController.mm:
+ (-[EventSendingController keyDown:withModifiers:withLocation:]): Generate a correct keyCode
+ for keys used in tests (we used to always pass 0 for 'A').
+
+2010-03-30 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Implement win-ews
+ https://bugs.webkit.org/show_bug.cgi?id=36809
+
+ * Scripts/webkitpy/common/config/ports.py:
+ * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
+
+2010-03-30 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Adjusted test-webkitpy to delete all orphaned *.pyc files
+ from webkitpy/ prior to importing any modules from webkitpy.
+ This ensures that no import statements in webkitpy falsely
+ succeed because of leftover *.pyc files.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36599
+
+ * Scripts/test-webkitpy:
+ - Added _clean_pyc_files() to delete orphaned *.pyc files
+ from a directory.
+ - Added _clean_webkitpy_with_test() to call and test
+ _clean_pyc_files().
+ - Moved the "import webkitpy.python24.versioning" statement
+ from the top of the module to the init() method -- immediately
+ after the call to _clean_webkitpy_with_test().
+
+2010-03-30 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ [Chromium-Win] subprocess.call should be called with stdin=open(os.devnull,'r')
+ https://bugs.webkit.org/show_bug.cgi?id=36811
+
+ subproess.Popen() on Python 2.4/Windows with stdout,stdout, but no stdin will fail, because it uses return value of GetStdHandle(STD_INPUT_HANDLE), but DuplicateHandle requires integer, not the handle.
+ We don't need stdin, so use devnull as stdin.
+ Same as https://bugs.webkit.org/show_bug.cgi?id=36586
+
+ * Scripts/webkitpy/layout_tests/port/chromium_win.py: open os.devnull for stdin
+
+2010-03-29 Eric Seidel <eric@webkit.org>
+
+ Unreviewed, build fix only.
+
+ * Scripts/webkitpy/tool/steps/validatereviewer.py: Add missing import.
+
+2010-03-29 Hayato Ito <hayato@chromium.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Remove '_flymake' suffix from base part of file name so that
+ check-webkit-style uses a correct header guard name when it is called from Emacs's flymake.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36573
+
+ * Scripts/webkitpy/style/processors/cpp.py:
+ * Scripts/webkitpy/style/processors/cpp_unittest.py:
+
+2010-03-29 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Get the following test-webkitpy unit test working again:
+ scm_unittest.SVNTest.test_svn_apply().
+
+ https://bugs.webkit.org/show_bug.cgi?id=36696
+
+ * Scripts/webkitpy/common/checkout/scm_unittest.py:
+ - Add leading spaces to the empty lines of the ChangeLog strings.
+ - Manually set the _reviewer attribute on the Attachment object
+ to get the tests to pass.
+
+2010-03-29 Martin Robinson <mrobinson@webkit.org>
+
+ Reviewed by Holger Freyther.
+
+ [GTK] suppress (un)desired launcher output that can make layout test to fail with stderr
+ https://bugs.webkit.org/show_bug.cgi?id=36390
+
+ Suppress debugging messages sent to the GLib logger during DRT runs.
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (logHandler): Added.
+ (main): Use logHandler as the default GLib log message handler.
+
+2010-03-29 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ sheriff-bot should comment on bugs when builders break
+ https://bugs.webkit.org/show_bug.cgi?id=36786
+
+ * Scripts/webkitpy/tool/commands/sheriffbot.py:
+ - Add a new _post_blame_comment_to_bug and all it from process_work_item
+ - Move commit-queue logic into _post_rollout_patch to make its api match the other _post commands.
+ * Scripts/webkitpy/tool/commands/sheriffbot_unittest.py:
+ - Test the new _post_blame_comment_to_bug call
+
+2010-03-29 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ sheriff-bot fails to get information about certain builds
+ https://bugs.webkit.org/show_bug.cgi?id=36768
+
+ This seems to be caused by:
+ http://buildbot.net/trac/ticket/753
+ I have no work-around, but for now at least we're logging
+ the error better. I also added allow_none to our ServerProxy
+ creation in case that fixes things for other versions of python.
+
+ * Scripts/webkitpy/common/net/buildbot.py:
+
+2010-03-29 Victor Wang <victorw@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Add sign in/out link to TestResults appengine
+
+ Add a link to main menu for sign in/out to this appengine.
+ People signed in with admin privilege could perform
+ actions that are only allowed to admins like deleting files.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36767
+
+ * TestResultServer/handlers/menu.py:
+ * TestResultServer/stylesheets/menu.css:
+ (.sign):
+ * TestResultServer/templates/menu.html:
+
+2010-03-29 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ ValidateReviewer step is draconian and un-tested
+ https://bugs.webkit.org/show_bug.cgi?id=36792
+
+ ValidateReviewer logic was commented out in
+ http://trac.webkit.org/changeset/56744
+ That was a symptom of the fact that validatereviewer.py
+ is too inflexible to be used when real humans are driving webkit-patch.
+ For now we just disable ValidateReviewer when humans are at the keyboard.
+
+ * Scripts/webkitpy/tool/steps/validatereviewer.py:
+ - Only run when in non-interactive mode.
+ * Scripts/webkitpy/tool/steps/validatereviewer_unittest.py: Added.
+ - Test our validation logic to make sure it's sane.
+
+2010-03-29 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Eliminate explicit slash characters from check-webkit-style's
+ _rel_path() method to make its implementation more platform
+ independent.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36759
+
+ * Scripts/webkitpy/style/main.py:
+ - Changed to use os.sep instead of slash_chars "/\\". This can
+ be done since os.path.abspath() converts slashes to os.sep.
+
+2010-03-29 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Change new-run-webkit-tests to not use more than four threads by
+ default on the mac port until
+ https://bugs.webkit.org/show_bug.cgi?id=36622 is fixed.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36687
+
+ * Scripts/webkitpy/layout_tests/port/mac.py:
+
+2010-03-29 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Reformat port/mac.py to fit witin 80 columns for PEP-8 compliance.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36691
+
+ * Scripts/webkitpy/layout_tests/port/mac.py:
+
+2010-03-29 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ new-run-webkit-tests fails java/lc3 on a clean checkout
+ https://bugs.webkit.org/show_bug.cgi?id=36078
+
+ * Scripts/webkitpy/layout_tests/port/mac.py:
+ - Build the java support files in check_build
+ - Unwrap a line which would still fit under 80col
+
+2010-02-26 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ Add support for Widgets 1.0: View Mode Media Feature
+ https://bugs.webkit.org/show_bug.cgi?id=35446
+
+ Add hooks to the Qt DRT for testing the view mode media feature.
+
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::setViewModeMediaFeature):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+
+2010-03-29 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Update expected results for unit tests.
+
+ * Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py:
+ * Scripts/webkitpy/tool/commands/sheriffbot_unittest.py:
+
+2010-03-29 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. I think Eric meant svn_revision.
+
+ * Scripts/webkitpy/tool/commands/sheriffbot.py:
+
+2010-03-26 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ webkit-patch commit-queue should notice if it breaks builders (and roll out its own changes)
+ https://bugs.webkit.org/show_bug.cgi?id=29311
+
+ Now that we have sheriff-bot watching the tree, it can post
+ rollout patches on behalf of the commit queue.
+
+ * Scripts/webkitpy/common/checkout/commitinfo.py: add responsible_parties()
+ * Scripts/webkitpy/common/checkout/commitinfo_unittest.py: test responsible_parties()
+ * Scripts/webkitpy/tool/commands/sheriffbot.py:
+ - Break IRC logic out into _post_irc_warning for easier testing.
+ - Add _post_rollout_patch for posting rollout patches to bugzilla.
+ * Scripts/webkitpy/tool/commands/sheriffbot_unittest.py:
+ - Test _rollout_reason
+ * Scripts/webkitpy/tool/grammar.py:
+ - Fix join_with_separators to not add Adam's "oxford comma" for two item lists.
+ * Scripts/webkitpy/tool/grammar_unittest.py:
+ - Test join_with_separators
+
+2010-03-29 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Sheriffbot should actually run commands
+ https://bugs.webkit.org/show_bug.cgi?id=36776
+
+ Some minor changes to Sheriffbot:
+
+ 1) We should actually run commands (by giving control back to the
+ command processing object.
+
+ 2) Use URLs instead of just numbers to represent SVN revisions (making
+ it easier to folks in IRC ot followup).
+
+ * Scripts/webkitpy/tool/bot/irc_command.py:
+ * Scripts/webkitpy/tool/bot/queueengine.py:
+ * Scripts/webkitpy/tool/commands/sheriffbot.py:
+
+2010-03-26 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Antti Koivisto.
+
+ Renaming of frame flattening LayoutTestController method
+ to setFrameFlatteningEnabled(bool)
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (setFrameFlatteningEnabledCallback):
+ (LayoutTestController::staticFunctions):
+ * DumpRenderTree/LayoutTestController.h:
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::setFrameFlatteningEnabled):
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (resetDefaultsToConsistentValues):
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (LayoutTestController::setFrameFlatteningEnabled):
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::WebPage::resetSettings):
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::setFrameFlatteningEnabled):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (resetDefaultsToConsistentValues):
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::setFrameFlatteningEnabled):
+ * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
+ (LayoutTestController::setFrameFlatteningEnabled):
+
+2010-03-28 Gustavo Noronha Silva <gns@gnome.org>
+
+ No review, rolling out r56679.
+ http://trac.webkit.org/changeset/56679
+ https://bugs.webkit.org/show_bug.cgi?id=36454
+
+ Lots of tests broken.
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (createWebView):
+
+2010-03-28 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Unreviewed.
+
+ Fixed typo in deprecated_logging_unittest.py, which is masking
+ sys.stderr while running test-webkitpy.
+
+ See also-- https://bugs.webkit.org/show_bug.cgi?id=36725#c3
+
+ * Scripts/webkitpy/common/system/deprecated_logging_unittest.py:
+
+2010-03-28 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Renamed check-webkit-style's --debug flag to --verbose to be more
+ in line with other WebKit scripts. Also renamed the current
+ --verbose flag to --min-confidence to allow the --debug rename.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36521
+
+ We also renamed the internal "verbose" variables to "confidence" or
+ "min_confidence," as appropriate, to avoid confusion with the
+ --verbose flag, and because the new names are more accurate.
+
+ * Scripts/check-webkit-style:
+ - Renamed is_debug to is_verbose.
+
+ * Scripts/webkitpy/style/checker.py:
+ - Renamed _DEFAULT_VERBOSITY to _DEFAULT_CONFIDENCE.
+ - Renamed "verbosity" parameters to "min_confidence" throughout.
+ - Renamed configure_logging()'s is_debug parameter to is_verbose.
+
+ * Scripts/webkitpy/style/checker_unittest.py:
+ - Updated the unit tests as necessary.
+
+ * Scripts/webkitpy/style/error_handlers.py:
+ - Updated the call to StyleCheckerConfiguration.write_style_error().
+
+ * Scripts/webkitpy/style/error_handlers_unittest.py:
+ - Updated the unit tests as necessary.
+
+ * Scripts/webkitpy/style/optparser.py:
+ - Updated the usage string with the new flag names.
+ - Renamed the verbosity parameter to min_confidence throughout.
+ - Renamed the is_debug parameter to is_verbose throughout.
+
+ * Scripts/webkitpy/style/optparser_unittest.py:
+ - Updated the unit tests as necessary.
+
+ * Scripts/webkitpy/style/processors/cpp.py:
+ - Renamed the verbosity parameter to min_confidence throughout.
+
+ * Scripts/webkitpy/style/processors/cpp_unittest.py:
+ - Updated the unit tests as necessary.
+
+2010-03-28 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Unreviewed.
+
+ Added back a line that accidentally got deleted in r56690.
+
+ * Scripts/check-webkit-style:
+
+2010-03-28 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Add to check-webkit-style support for checking directories.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35234
+
+ * Scripts/check-webkit-style:
+ - Replaced the call to check_file() with a call to check_paths().
+
+ * Scripts/webkitpy/style/checker.py:
+ - In the StyleChecker class:
+ - Added a check_paths() method that accepts a list of paths
+ to files and directories.
+ - Added a _check_directory() method that checks the files
+ in a directory.
+
+ * Scripts/webkitpy/style/checker_unittest.py:
+ - Added a StyleCheckerCheckPathsTest to unit-test the new
+ check_paths() method.
+
+ * Scripts/webkitpy/style/optparser.py:
+ - Updated the usage string.
+
+2010-03-28 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Changed check-webkit-style to convert paths to paths relative to
+ the checkout root when invoking check-webkit-style with path
+ arguments. Also added warning messages where appropriate.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35498
+
+ Converting paths to paths relative to the checkout root ensures
+ that style checking will behave as expected (since path-specific
+ rules assume input paths are relative to a source root).
+
+ * Scripts/check-webkit-style:
+ - Added debug logging of whether the current directory was found
+ to be in a WebKit checkout.
+ - Added the found_checkout parameter to the call to parser.parse().
+ - Renamed the files variable to paths.
+ - Added a call to change_directory() prior to checking style.
+
+ * Scripts/webkitpy/style/checker.py:
+ - For StyleChecker.check_file():
+ - Updated the docstring.
+ - Added two log messages.
+
+ * Scripts/webkitpy/style/checker_unittest.py:
+ - Updated a call to parser.parse() with the found_checkout parameter.
+
+ * Scripts/webkitpy/style/main.py: Added.
+ - Added a new file so the code in this patch could be unit-tested,
+ as opposed to adding new code to check-webkit-style.
+ - Added the method _rel_path() as a substitute for os.path.relpath(),
+ which is available only in Python 2.6.
+ - Added the method change_directory(), which contains most of the
+ new functionality in this patch.
+
+ * Scripts/webkitpy/style/main_unittest.py: Added.
+ - Added RelPathTest to test main._rel_path().
+ - Added ChangeDirectoryTest to test main.change_directory().
+
+ * Scripts/webkitpy/style/optparser.py:
+ - Updated check-webkit-style's usage string.
+ - For the ArgumentParser.parse() method:
+ - Added a found_checkout parameter.
+ - Renamed filenames to paths.
+ - Added logic so that an error is raised if no paths are passed
+ if found_checkout is False.
+
+ * Scripts/webkitpy/style/optparser_unittest.py:
+ - Updated the ArgumentParser.parse() unit tests to include
+ coverage for the new found_checkout parameter.
+
+ * Scripts/webkitpy/style/unittests.py:
+ - Added an import statement for main_unittest.
+
+ * Scripts/webkitpy/style_references.py:
+ - Renamed SimpleScm to WebKitCheckout.
+ - Added a detect_checkout() function to allow returning None
+ instead of a WebKitCheckout instance if no checkout is found.
+ - Renamed checkout_root to root_path.
+
+2010-03-27 Sergio Villar Senin <svillar@igalia.com>
+
+ Reviewed by Eric Seidel.
+
+ Print didHandleOnloadEventsForFrame in the callback of
+ onload-event signal comming from frame loader
+
+ [GTK] Improve reporting of frame loader callbacks in DRT
+ https://bugs.webkit.org/show_bug.cgi?id=36454
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (webViewOnloadEvent):
+ (createWebView): added connection to signal::onload-event and
+ signal callback
+
+2010-03-27 Sergio Villar Senin <svillar@igalia.com>
+
+ Reviewed by Eric Seidel.
+
+ Print didCommitLoadForFrame in the callback of signal::load-committed
+
+ [GTK] Improve reporting of frame loader callbacks in DRT
+ https://bugs.webkit.org/show_bug.cgi?id=36454
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (webViewLoadCommitted):
+ (createWebView): added connection to sinal::load-committed and
+ signal callback
+
+2010-03-27 Sergio Villar Senin <svillar@igalia.com>
+
+ Reviewed by Eric Seidel.
+
+ Print didStartProvisionalLoadForFrame in the callback of
+ notify::load-status property change notification
+
+ [GTK] Improve reporting of frame loader callbacks in DRT
+ https://bugs.webkit.org/show_bug.cgi?id=36454
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (webInspectorCloseWindow):
+ (webInspectorInspectWebView):
+ (createWebView): added connection to notify::load-status and
+ signal callback
+
+2010-03-27 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ In webkitpy/, deleted the /unittests.py files since test-webkitpy
+ now auto-detects all *_unittest.py files.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36712
+
+ * Scripts/webkitpy/common/net/irc/unittests.py: Removed.
+ * Scripts/webkitpy/common/system/unittests.py: Removed.
+ * Scripts/webkitpy/common/thread/unittests.py: Removed.
+ * Scripts/webkitpy/common/unittests.py: Removed.
+ * Scripts/webkitpy/python24/unittests.py: Removed.
+ * Scripts/webkitpy/style/unittests.py: Removed.
+ * Scripts/webkitpy/tool/unittests.py: Removed.
+ * Scripts/webkitpy/unittests.py: Removed.
+
+2010-03-27 Sergio Villar Senin <svillar@igalia.com>
+
+ Reviewed by Eric Seidel.
+
+ Add a CR after printing didFinishDocumentLoadForFrame
+
+ [GTK] Improve reporting of frame loader callbacks in DRT
+ https://bugs.webkit.org/show_bug.cgi?id=36454
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (webViewLoadFinished):
+
+2010-03-27 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Rubber-stamped by Adam Barth.
+
+ Fixed the name of a unit test file in webkitpy.
+
+ * Scripts/webkitpy/tool/steps/updatechangelogswithreview_unittest.py: Copied from WebKitTools/Scripts/webkitpy/tool/steps/updatechangelogswithreview_unittests.py.
+ * Scripts/webkitpy/tool/steps/updatechangelogswithreview_unittests.py: Removed.
+
+2010-03-26 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ The test-webkitpy script now automatically detects all unit-test
+ files in webkitpy/. This lets us eliminate the need to have and
+ maintain all of the unittests.py files.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36591
+
+ * Scripts/test-webkitpy:
+ - Replaced the "from webkitpy.unittests import *" with a call
+ to webkitpy.test.main.Tester().run_tests().
+
+ * Scripts/webkitpy/test/__init__.py: Copied from WebKitTools/QueueStatusServer/filters/__init__.py.
+ - Required file for the new webkitpy/test/ directory.
+
+ * Scripts/webkitpy/test/main.py: Added.
+ - Added a Tester class that contains the following methods:
+ - _find_unittest_files() to detect all the unit-test files.
+ - _modules_from_paths() to convert the paths to the unit-test
+ files to fully-qualified module names.
+ - run_tests() which calls the above two methods and then passes
+ the module names to Python's unittest module.
+
+2010-03-27 Robert Hogan <robert@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ [Qt/Win] Add support to unix and windows NS plugin for executing scripts on setWindow.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36701
+
+ * DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp:
+ (webkit_test_plugin_new_instance): Add onSetWindow.
+ (webkit_test_plugin_destroy_instance): Add onSetWindow.
+ (webkit_test_plugin_set_window): Add onSetWindow.
+ * DumpRenderTree/win/TestNetscapePlugin/main.cpp:
+ (NPP_New): Add onSetWindow.
+ (NPP_Destroy): Add onSetWindow.
+ (NPP_SetWindow): Add onSetWindow.
+
+2010-03-26 Robert Hogan <robert@roberthogan.net>
+
+ Reviewed by Simon Hausmann.
+
+ Allow plugins implemented by the application, such as mimetype 'x-qt-plugin',
+ when pluginsEnabled is false.
+
+ Add support for LayoutTestController.WebKitPluginsEnabled
+
+ https://bugs.webkit.org/show_bug.cgi?id=32196
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (resetDefaultsToConsistentValues):
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (copyWebSettingKey):
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::WebPage::resetSettings):
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::overridePreference):
+
+2010-03-26 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Add some basic IRC commands to sheriffbot
+ https://bugs.webkit.org/show_bug.cgi?id=36684
+
+ Adds support for sheriffbot to respond to a "hi" command and a
+ "last-green-revision" command. It's lame that we're rebuilding
+ MultiCommandTool, but as discussed in person we'll intergrate the two
+ once we see what the requirements are.
+
+ * Scripts/webkitpy/tool/bot/irc_command.py: Added.
+ * Scripts/webkitpy/tool/bot/queueengine.py:
+ * Scripts/webkitpy/tool/bot/queueengine_unittest.py:
+ * Scripts/webkitpy/tool/bot/sheriffircbot.py:
+ * Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py: Added.
+ * Scripts/webkitpy/tool/commands/queues.py:
+ * Scripts/webkitpy/tool/commands/queuestest.py:
+ * Scripts/webkitpy/tool/commands/sheriffbot.py:
+ * Scripts/webkitpy/tool/main.py:
+ * Scripts/webkitpy/tool/mocktool.py:
+ * Scripts/webkitpy/tool/unittests.py:
+
+2010-03-26 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. More errors in the IRC module. I have no idea how to test
+ ircbot.py, which is too bad. Hopefully we've abstracted it away enough
+ that we don't have to touch it very much after this patch.
+
+ * Scripts/webkitpy/common/net/irc/ircbot.py:
+
+2010-03-26 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Add a missing "_".
+
+ * Scripts/webkitpy/common/net/irc/ircproxy.py:
+ * Scripts/webkitpy/common/net/irc/ircproxy_unittest.py: Added.
+ * Scripts/webkitpy/common/net/irc/unittests.py:
+
+2010-03-26 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Fix a the commit queue after my recent change.
+
+ * Scripts/webkitpy/tool/bot/queueengine.py:
+
+2010-03-26 Dirk Pranke <dpranke@chromium.org>
+
+ Unreviewed fix.
+
+ Fix the return value for port/base.diff_image (changed from 1/0 to
+ True/False in bug 34826.
+
+ * Scripts/webkitpy/layout_tests/port/base.py:
+
+2010-03-26 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Change the Mac port of new-run-webkit-tests to look for a
+ test_expectations.txt file in addition to the Skipped files, so we
+ can track pixel failures.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36619
+
+ * Scripts/webkitpy/layout_tests/port/mac.py:
+
+2010-03-26 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Implement pixel tests (image diff) properly on the Mac port.
+
+ This change introduces a new "ServerPocess" class that can be used
+ to manage processes that the run-webkit-tests harness forks off and
+ expects to stay up for longer than a single request/response session.
+ Both DumpRenderTree and ImageDiff use this style of communication,
+ although the current code forks off a new ImageDiff for each diff
+ (We need to restructure other parts of the code to be able to do this
+ safely in a multi-threaded environment).
+
+ Also, now that the ServerProcess abstraction exists, we can probably
+ clean up and simplify some of the thread management logic in
+ test_shell_thread as well.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34826
+
+ * Scripts/webkitpy/layout_tests/port/mac.py:
+ * Scripts/webkitpy/layout_tests/port/server_process.py:
+ * Scripts/webkitpy/layout_tests/test_types/image_diff.py:
+
+2010-03-26 Sergio Villar Senin <svillar@igalia.com>
+
+ Reviewed by Eric Seidel.
+
+ Print didFinishLoadForFrame outcome in DRT
+
+ [GTK] Improve reporting of frame loader callbacks in DRT
+ https://bugs.webkit.org/show_bug.cgi?id=36454
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (webViewLoadCommitted):
+
+2010-03-26 Eric Seidel <eric@webkit.org>
+
+ Unreviewed test fix.
+ My change conflicted with one of Adam's causing test-webkitpy to fail.
+
+ Move commit_message_for_this_commit from scm to checkout
+ https://bugs.webkit.org/show_bug.cgi?id=36629
+
+ * Scripts/webkitpy/common/checkout/api_unittest.py:
+ - modified_changelogs is now on Checkout instead of scm.
+
+2010-03-26 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Refactor IRCBot controller logic to allow for commands
+ https://bugs.webkit.org/show_bug.cgi?id=36676
+
+ We need to move the controller logic into the tool package so it can
+ know about commands. The changes to queueengine could go in a
+ different patch, but we're going to need it anyway.
+
+ * Scripts/webkitpy/common/config/irc.py: Added.
+ * Scripts/webkitpy/common/net/irc/ircbot.py:
+ * Scripts/webkitpy/common/net/irc/ircproxy.py:
+ * Scripts/webkitpy/tool/bot/queueengine.py:
+ * Scripts/webkitpy/tool/bot/sheriffircbot.py: Added.
+ * Scripts/webkitpy/tool/commands/sheriffbot.py:
+ * Scripts/webkitpy/tool/main.py:
+ * Scripts/webkitpy/tool/mocktool.py:
+
+2010-03-26 Adam Barth <abarth@webkit.org>
+
+ Rubber stamped by Eric Seidel.
+
+ Move the threading code into its own module. (It has nothing to do with IRC.)
+
+ * Scripts/webkitpy/common/net/irc/ircbot.py:
+ * Scripts/webkitpy/common/net/irc/ircproxy.py:
+ * Scripts/webkitpy/common/net/irc/messagepump.py: Removed.
+ * Scripts/webkitpy/common/net/irc/messagepump_unittest.py: Removed.
+ * Scripts/webkitpy/common/net/irc/threadedmessagequeue.py: Removed.
+ * Scripts/webkitpy/common/net/irc/threadedmessagequeue_unittest.py: Removed.
+ * Scripts/webkitpy/common/net/irc/unittests.py:
+ * Scripts/webkitpy/common/thread: Added.
+ * Scripts/webkitpy/common/thread/__init__.py: Added.
+ * Scripts/webkitpy/common/thread/messagepump.py: Copied from Scripts/webkitpy/common/net/irc/messagepump.py.
+ * Scripts/webkitpy/common/thread/messagepump_unittest.py: Copied from Scripts/webkitpy/common/net/irc/messagepump_unittest.py.
+ * Scripts/webkitpy/common/thread/threadedmessagequeue.py: Copied from Scripts/webkitpy/common/net/irc/threadedmessagequeue.py.
+ * Scripts/webkitpy/common/thread/threadedmessagequeue_unittest.py: Copied from Scripts/webkitpy/common/net/irc/threadedmessagequeue_unittest.py.
+ * Scripts/webkitpy/common/thread/unittests.py: Added.
+ * Scripts/webkitpy/common/unittests.py:
+
+2010-03-26 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Move commit_message_for_this_commit from scm to checkout
+ https://bugs.webkit.org/show_bug.cgi?id=36629
+
+ Finally add some basic unit testing for Checkout.commit_message_for_this_commit
+
+ * Scripts/webkitpy/common/checkout/api.py:
+ * Scripts/webkitpy/common/checkout/api_unittest.py: Added.
+ * Scripts/webkitpy/common/unittests.py:
+
+2010-03-26 Diego Gonzalez <diego.gonzalez@openbossa.org>
+
+ [Qt] User Agent Switcher on QtLauncher
+ https://bugs.webkit.org/show_bug.cgi?id=36451
+
+ Patch by Diego Gonzalez <diego.gonzalez@openbossa.org> on 2010-03-26
+ Reviewed by Simon Hausmann.
+
+ Make possible to change the QtLauncher user agent via
+ a predefined list.
+
+ * QtLauncher/QtLauncher.pro:
+ * QtLauncher/QtLauncher.qrc: Added.
+ * QtLauncher/main.cpp:
+ (LauncherWindow::showUserAgentDialog):
+ (LauncherWindow::createChrome):
+ * QtLauncher/useragentlist.txt: Added.
+ * QtLauncher/webpage.cpp:
+ (WebPage::userAgentForUrl):
+ * QtLauncher/webpage.h:
+ (WebPage::setUserAgent):
+
+2010-03-26 Victor Wang <victorw@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Host layout test flakiness dashboard in TestResultServer appengine.
+
+ Flakiness dashboard is a tool to monitor layout test status and
+ help layout test regression diagnostics.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36195
+
+ * TestResultServer/handlers/dashboardhandler.py: Added.
+ - New handler to handle dashboard request
+ * TestResultServer/handlers/menu.py:
+ - Add new dashboard links
+ * TestResultServer/handlers/testfilehandler.py:
+ - Request routes refactory
+ * TestResultServer/index.yaml:
+ * TestResultServer/main.py:
+ - Add new dashboard request routes and refactor test result file rountes.
+ * TestResultServer/model/dashboardfile.py: Added.
+ - Model to access datastore for dashboard files
+ * TestResultServer/model/testfile.py:
+ * TestResultServer/stylesheets/dashboardfile.css: Added.
+ * TestResultServer/templates/dashboardfilelist.html: Added.
+ * TestResultServer/templates/showfilelist.html:
+
+2010-03-26 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Remove some evil statics from CommitInfo
+ https://bugs.webkit.org/show_bug.cgi?id=36637
+
+ These methods should really be on checkout. You can tell because they
+ know about ChangeLogs and take an SCM as an argument. :)
+
+ * Scripts/webkitpy/common/checkout/api.py:
+ * Scripts/webkitpy/common/checkout/changelog.py:
+ * Scripts/webkitpy/common/checkout/commitinfo.py:
+ * Scripts/webkitpy/tool/commands/queries.py:
+
+2010-03-23 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
+
+ Reviewed by Simon Hausmann.
+
+ Add an option to QtLauncher to enable/disable a QGLWidget as Viewport
+ of the QGraphicsView when the launcher is running on graphicsview mode.
+
+ [Qt] QtLauncher needs an option to Enable/Disable a QGLWidget as Viewport
+ https://bugs.webkit.org/show_bug.cgi?id=36270
+
+ * QtLauncher/QtLauncher.pro:
+ * QtLauncher/main.cpp:
+ (LauncherWindow::toggleQGLWidgetViewport):
+ (LauncherWindow::createChrome):
+
+2010-03-26 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ [Chromium-Win] websocket_server.py failed to start
+ https://bugs.webkit.org/show_bug.cgi?id=36586
+
+ subproess.Popen() on Python 2.4/Windows with stdout,stdout, but no stdin will fail, because it uses return value of GetStdHandle(STD_INPUT_HANDLE), but DuplicateHandle requires integer, not the handle.
+ We don't need stdin, so use devnull as stdin.
+
+ * Scripts/webkitpy/layout_tests/port/websocket_server.py: open os.devnull for stdin
+
+2010-03-26 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [DRT/Chromium] Add TestNavigationController and TestWebWorker
+ https://bugs.webkit.org/show_bug.cgi?id=36520
+
+ Add LayoutTestController class, which is going to be used by
+ DumpRenderTree Chromium port. These files are based on:
+ - src/webkit/tools/test_shell/layout_test_controller.cc
+ - src/webkit/tools/test_shell/layout_test_controller.h
+ of Chromium rev.40492.
+
+ * DumpRenderTree/chromium/LayoutTestController.cpp: Added.
+ * DumpRenderTree/chromium/LayoutTestController.h: Added.
+
+2010-03-25 Charlie Reis <creis@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ onbeforeunload not called at window close + frame or iframe focused
+ https://bugs.webkit.org/show_bug.cgi?id=27481
+
+ Adds a callShouldCloseOnWebView method to LayoutTestController,
+ to allow automated testing for bug 27481.
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (callShouldCloseOnWebViewCallback):
+ (LayoutTestController::staticFunctions):
+ * DumpRenderTree/LayoutTestController.h:
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::callShouldCloseOnWebView):
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (LayoutTestController::callShouldCloseOnWebView):
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::callShouldCloseOnWebView):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::callShouldCloseOnWebView):
+
+2010-03-25 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Add webkit-patch lkgr for finding last known good revision
+ https://bugs.webkit.org/show_bug.cgi?id=36626
+
+ This is rather slow for now because the command
+ has to compute this information from the buildbot.
+ A better long-term solution would be to have a server
+ somewhere store a pre-computed LKGR and then any
+ script (like webkit-patch) could just fetch it.
+
+ * Scripts/webkitpy/common/net/buildbot.py:
+ * Scripts/webkitpy/tool/commands/queries.py:
+
+2010-03-25 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Move modified_changelogs (and friends) from scm to checkout
+ https://bugs.webkit.org/show_bug.cgi?id=36636
+
+ These functions know about ChangeLogs, which is forbidden knowledge in
+ scm.py.
+
+ * Scripts/webkitpy/common/checkout/api.py:
+ * Scripts/webkitpy/common/checkout/changelog.py:
+ * Scripts/webkitpy/common/checkout/scm.py:
+ * Scripts/webkitpy/tool/mocktool.py:
+ * Scripts/webkitpy/tool/steps/abstractstep.py:
+ * Scripts/webkitpy/tool/steps/preparechangelogforrevert.py:
+ * Scripts/webkitpy/tool/steps/revertrevision.py:
+ * Scripts/webkitpy/tool/steps/updatechangelogswithreviewer.py:
+ * Scripts/webkitpy/tool/steps/validatereviewer.py:
+
+2010-03-25 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Move apply_patch from scm to checkout
+ https://bugs.webkit.org/show_bug.cgi?id=36635
+
+ SCM shouldn't have any knowledge of WebKit scripts.
+
+ * Scripts/webkitpy/common/checkout/api.py:
+ * Scripts/webkitpy/common/checkout/scm.py:
+ * Scripts/webkitpy/common/checkout/scm_unittest.py:
+ * Scripts/webkitpy/tool/mocktool.py:
+ * Scripts/webkitpy/tool/steps/applypatch.py:
+
+2010-03-25 Eric Seidel <eric@webkit.org>
+
+ Unreviewed build fix to un-break webkit-patch land.
+ Test-case coming in follow-up commit.
+
+ Move commit_message_for_this_commit from scm to checkout
+ https://bugs.webkit.org/show_bug.cgi?id=36629
+
+ * Scripts/webkitpy/common/checkout/api.py: import scm.CommitMessage
+
+2010-03-25 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/7728903> Support color bitmap fonts
+
+ * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Added ColorBits.ttf
+ and ColorBits-A.png.
+ * DumpRenderTree/fonts/ColorBits-A.png: Copied from WebCore/inspector/front-end/Images/successGreenDot.png.
+ * DumpRenderTree/fonts/ColorBits.ttf: Added.
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (activateFonts): Activate ColorBits.ttf.
+
+2010-03-25 Mark Rowe <mrowe@apple.com>
+
+ Remove a printf that was causing commit-log-editor to spew the name of the editor
+ to the terminal many times during a commit.
+
+ * Scripts/commit-log-editor:
+
+2010-03-25 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Move commit_message_for_this_commit from scm to checkout
+ https://bugs.webkit.org/show_bug.cgi?id=36629
+
+ This function requires knowledge of ChangeLogs, but scm shouldn't know
+ about ChangeLogs.
+
+ * Scripts/webkitpy/common/checkout/api.py:
+ * Scripts/webkitpy/common/checkout/scm.py:
+ * Scripts/webkitpy/tool/commands/upload.py:
+ * Scripts/webkitpy/tool/commands/upload_unittest.py:
+ * Scripts/webkitpy/tool/mocktool.py:
+ * Scripts/webkitpy/tool/steps/applypatchwithlocalcommit.py:
+ * Scripts/webkitpy/tool/steps/commit.py:
+
+2010-03-25 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ REGRESSION: webkit-patch land can't land "rubber-stamped" patches
+ https://bugs.webkit.org/show_bug.cgi?id=36582
+
+ Allow a "-" in rubber stamped.
+
+ * Scripts/webkitpy/tool/steps/validatereviewer.py:
+
+2010-03-25 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Fix some copyright lines to remove extraneous comma and
+ python directive.
+
+ * Scripts/webkitpy/tool/bot/patchcollection.py:
+ * Scripts/webkitpy/tool/bot/patchcollection_unittest.py:
+ * Scripts/webkitpy/tool/bot/queueengine.py:
+ * Scripts/webkitpy/tool/bot/queueengine_unittest.py:
+ * Scripts/webkitpy/tool/commands/download.py:
+ * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
+ * Scripts/webkitpy/tool/commands/queries.py:
+ * Scripts/webkitpy/tool/commands/queues.py:
+ * Scripts/webkitpy/tool/commands/sheriffbot.py:
+ * Scripts/webkitpy/tool/comments.py:
+ * Scripts/webkitpy/tool/grammar.py:
+ * Scripts/webkitpy/tool/multicommandtool.py:
+ * Scripts/webkitpy/tool/multicommandtool_unittest.py:
+
+2010-03-25 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler, Alexey Proskuryakov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36631
+ Allow the test plugin to run scripts in response to NPP_SetWindow calls
+
+ Hook up the ability for the TestNetscapePlugIn to run JavaScript in
+ response to NPP_SetWindow.
+
+ * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
+ (pluginAllocate):
+ * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.h:
+ * DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp:
+ (NPP_New):
+ (NPP_Destroy):
+ (NPP_SetWindow):
+
+2010-03-25 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Unreviewed, build fix.
+
+ [Qt] Fix QtLauncher guards.
+
+ * QtLauncher/main.cpp:
+ (LauncherWindow::showFPS):
+ (LauncherWindow::updateFPS):
+
+2010-03-25 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Allow running tests with enabled developer extras and closed Web Inspector. Tests that have inspector-enabled/ in their path/url will have developer extras enabled.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36610
+
+ * DumpRenderTree/LayoutTestController.h:
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (shouldEnableDeveloperExtras):
+ (runTest):
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::setJavaScriptProfilingEnabled):
+ (LayoutTestController::setDeveloperExtrasEnabled):
+ (LayoutTestController::showWebInspector):
+ (LayoutTestController::closeWebInspector):
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (shouldEnableDeveloperExtras):
+ (runTest):
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (LayoutTestController::setJavaScriptProfilingEnabled):
+ (LayoutTestController::setDeveloperExtrasEnabled):
+ (LayoutTestController::showWebInspector):
+ (LayoutTestController::closeWebInspector):
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::shouldEnableDeveloperExtras):
+ (WebCore::DumpRenderTree::open):
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::closeWebInspector):
+ (LayoutTestController::setDeveloperExtrasEnabled):
+ (LayoutTestController::showWebInspector):
+ (LayoutTestController::setJavaScriptProfilingEnabled):
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (shouldEnableDeveloperExtras):
+ (runTest):
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::setJavaScriptProfilingEnabled):
+ (LayoutTestController::setDeveloperExtrasEnabled):
+ (LayoutTestController::showWebInspector):
+ (LayoutTestController::closeWebInspector):
+
+2010-03-25 Adam Barth <abarth@webkit.org>
+
+ Rubber stamped by Eric Seidel.
+
+ Tweaks to sheriffbot to improve latency by keeping the working copy up
+ to date even when there's no build break. Also, officially move
+ sheriffbot to #webkit.
+
+ (Also teach ValidateReviewer to understand rubber stamps.)
+
+ * Scripts/webkitpy/common/net/irc/ircbot.py:
+ * Scripts/webkitpy/tool/commands/sheriffbot.py:
+ * Scripts/webkitpy/tool/steps/validatereviewer.py:
+
+2010-03-22 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
+
+ Reviewed by Simon Hausmann.
+
+ Not displaying FPS info on the terminal. On S60 and Maemo the
+ Window title will be used and Status bar will used on desktop.
+
+ [Qt] QtLauncher's FPS info should not be displayed on the terminal
+ https://bugs.webkit.org/show_bug.cgi?id=36244
+
+ * QtLauncher/main.cpp:
+ (LauncherWindow::initializeView):
+ (LauncherWindow::showFPS):
+ (LauncherWindow::updateFPS):
+ * QtLauncher/webview.cpp:
+ (WebViewGraphicsBased::setFrameRateMeasurementEnabled):
+ (WebViewGraphicsBased::updateFrameRate):
+ * QtLauncher/webview.h:
+ (WebViewGraphicsBased::frameRateMeasurementEnabled):
+
+2010-03-25 Diego Gonzalez <diego.gonzalez@openbossa.org>
+
+ Reviewed by Kenneth Christiansen.
+
+ Added missing frame flattening activation on
+ fast/frames/flattening/frameset-flattening-grid.html;
+ removed unnecessary CONSOLE MESSAGE from the expected file;
+ reset the setFrameSetFlatteningEnabled for each test.
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::WebPage::resetSettings):
+
+2010-03-25 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Moved deprecated_logging unit test import statement from
+ webkitpy/unittests.py to webkitpy/common/system/unittests.py.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36093
+
+ This is part of the master bug to reorganize webkitpy.
+
+ * Scripts/webkitpy/common/system/unittests.py:
+ * Scripts/webkitpy/unittests.py:
+
+2010-03-25 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Moved webkit_logging.py to common/system/deprecated_logging.py
+ inside webkitpy.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36093
+
+ This is part of the master bug to reorganize webkitpy.
+
+ * Scripts/validate-committer-lists:
+ * Scripts/webkitpy/common/checkout/changelog.py:
+ * Scripts/webkitpy/common/checkout/scm.py:
+ * Scripts/webkitpy/common/net/bugzilla.py:
+ * Scripts/webkitpy/common/net/buildbot.py:
+ * Scripts/webkitpy/common/net/credentials.py:
+ * Scripts/webkitpy/common/net/irc/ircproxy.py:
+ * Scripts/webkitpy/common/net/networktransaction.py:
+ * Scripts/webkitpy/common/net/statusserver.py:
+ * Scripts/webkitpy/common/system/deprecated_logging.py: Copied from WebKitTools/Scripts/webkitpy/webkit_logging.py.
+ * Scripts/webkitpy/common/system/deprecated_logging_unittest.py: Copied from WebKitTools/Scripts/webkitpy/webkit_logging_unittest.py.
+ * Scripts/webkitpy/common/system/executive.py:
+ * Scripts/webkitpy/tool/bot/queueengine.py:
+ * Scripts/webkitpy/tool/commands/download.py:
+ * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
+ * Scripts/webkitpy/tool/commands/openbugs.py:
+ * Scripts/webkitpy/tool/commands/queries.py:
+ * Scripts/webkitpy/tool/commands/queues.py:
+ * Scripts/webkitpy/tool/commands/sheriffbot.py:
+ * Scripts/webkitpy/tool/commands/stepsequence.py:
+ * Scripts/webkitpy/tool/commands/upload.py:
+ * Scripts/webkitpy/tool/main.py:
+ * Scripts/webkitpy/tool/mocktool.py:
+ * Scripts/webkitpy/tool/multicommandtool.py:
+ * Scripts/webkitpy/tool/steps/abstractstep.py:
+ * Scripts/webkitpy/tool/steps/applypatch.py:
+ * Scripts/webkitpy/tool/steps/build.py:
+ * Scripts/webkitpy/tool/steps/checkstyle.py:
+ * Scripts/webkitpy/tool/steps/closebug.py:
+ * Scripts/webkitpy/tool/steps/closebugforlanddiff.py:
+ * Scripts/webkitpy/tool/steps/confirmdiff.py:
+ * Scripts/webkitpy/tool/steps/ensurebuildersaregreen.py:
+ * Scripts/webkitpy/tool/steps/ensurelocalcommitifneeded.py:
+ * Scripts/webkitpy/tool/steps/obsoletepatches.py:
+ * Scripts/webkitpy/tool/steps/preparechangelog.py:
+ * Scripts/webkitpy/tool/steps/reopenbugafterrollout.py:
+ * Scripts/webkitpy/tool/steps/runtests.py:
+ * Scripts/webkitpy/tool/steps/update.py:
+ * Scripts/webkitpy/tool/steps/updatechangelogswithreviewer.py:
+ * Scripts/webkitpy/tool/steps/validatereviewer.py:
+ * Scripts/webkitpy/unittests.py:
+ * Scripts/webkitpy/webkit_logging.py: Removed.
+ * Scripts/webkitpy/webkit_logging_unittest.py: Removed.
+
+2010-03-25 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ commit-log-editor can call itself in an infinite loop
+ https://bugs.webkit.org/show_bug.cgi?id=35291
+
+ if $editor ends up being commit-log-editor, the script will exec itself
+ in an infinite loop.
+
+ To avoid this, we now check that the $editor variable is not
+ commit-log-editor to avoid this case.
+
+ * Scripts/commit-log-editor: Added an isCommitLogEditor method and
+ reworked the $editor setting to add this check.
+
+2010-03-25 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add a Toggle Frame Flattening option to QtLauncher.
+ It will be enabled by default on Maemo5 and S60 platforms.
+
+ [Qt] Add enable/disable Frame Flattening option to QtLauncher
+ https://bugs.webkit.org/show_bug.cgi?id=36558
+
+ * QtLauncher/main.cpp:
+ (LauncherWindow::applyPrefs):
+ (LauncherWindow::toggleFrameFlattening):
+ (LauncherWindow::createChrome):
+
+2010-03-25 Zoltan Horvath <zoltan@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ svn-create-patch prints a warning for large patches
+ https://bugs.webkit.org/show_bug.cgi?id=32582
+
+ svn-create-patch prints a warning message for larger patches than 20k.
+
+ * Scripts/svn-create-patch:
+
+2010-03-25 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Renamed early_warning_system.py to earlywarningsystem.py.
+ https://bugs.webkit.org/show_bug.cgi?id=36093
+
+ * Scripts/webkitpy/tool/commands/early_warning_system.py: Removed.
+ * Scripts/webkitpy/tool/commands/early_warning_system_unittest.py: Removed.
+ * Scripts/webkitpy/tool/commands/earlywarningsystem.py: Copied from Scripts/webkitpy/tool/commands/early_warning_system.py.
+ * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py: Copied from Scripts/webkitpy/tool/commands/early_warning_system_unittest.py.
+ * Scripts/webkitpy/tool/main.py:
+ * Scripts/webkitpy/tool/unittests.py:
+
+2010-03-25 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ In webkitpy, pushed the unit test import statements in
+ webkitpy/unittests.py into appropriate unittests.py files in the
+ new root-level packages beneath webkitpy.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36093
+
+ This is part of the master bug to reorganize webkitpy.
+
+ * Scripts/webkitpy/common/system/unittests.py:
+ * Scripts/webkitpy/common/unittests.py: Added.
+ * Scripts/webkitpy/python24/unittests.py: Added.
+ * Scripts/webkitpy/tool/unittests.py: Added.
+ * Scripts/webkitpy/unittests.py:
+
+2010-03-25 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Move WebKitCheckout into the webkitpy.common.checkout
+ package.
+ https://bugs.webkit.org/show_bug.cgi?id=36093
+
+ * Scripts/webkitpy/common/checkout/api.py: Copied from Scripts/webkitpy/webkitcheckout.py.
+ * Scripts/webkitpy/tool/main.py:
+ * Scripts/webkitpy/tool/mocktool.py:
+ * Scripts/webkitpy/webkitcheckout.py: Removed.
+
+2010-03-25 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Move OutputCapture to webkitpy.common.system.
+ https://bugs.webkit.org/show_bug.cgi?id=36093
+
+ * Scripts/webkitpy/common/net/bugzilla_unittest.py:
+ * Scripts/webkitpy/common/net/credentials_unittest.py:
+ * Scripts/webkitpy/common/system/outputcapture.py: Copied from Scripts/webkitpy/outputcapture.py.
+ * Scripts/webkitpy/outputcapture.py: Removed.
+ * Scripts/webkitpy/tool/commands/commandtest.py:
+ * Scripts/webkitpy/tool/commands/queues_unittest.py:
+ * Scripts/webkitpy/tool/commands/queuestest.py:
+ * Scripts/webkitpy/tool/multicommandtool_unittest.py:
+ * Scripts/webkitpy/tool/steps/closebugforlanddiff_unittest.py:
+ * Scripts/webkitpy/tool/steps/steps_unittest.py:
+ * Scripts/webkitpy/tool/steps/updatechangelogswithreview_unittests.py:
+
+2010-03-25 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Move user.py to webkitpy.common.system.
+
+ * Scripts/webkitpy/common/checkout/scm.py:
+ * Scripts/webkitpy/common/net/bugzilla.py:
+ * Scripts/webkitpy/common/net/credentials.py:
+ * Scripts/webkitpy/common/system/user.py: Copied from Scripts/webkitpy/user.py.
+ * Scripts/webkitpy/common/system/user_unittest.py: Copied from Scripts/webkitpy/user_unittest.py.
+ * Scripts/webkitpy/tool/commands/upload.py:
+ * Scripts/webkitpy/tool/main.py:
+ * Scripts/webkitpy/unittests.py:
+ * Scripts/webkitpy/user.py: Removed.
+ * Scripts/webkitpy/user_unittest.py: Removed.
+
+2010-03-25 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Move executive.py to webkitpy.common.system.
+ https://bugs.webkit.org/show_bug.cgi?id=36093
+
+ * Scripts/webkitpy/common/checkout/scm.py:
+ * Scripts/webkitpy/common/checkout/scm_unittest.py:
+ * Scripts/webkitpy/common/config/ports.py:
+ * Scripts/webkitpy/common/config/ports_unittest.py:
+ * Scripts/webkitpy/common/net/credentials.py:
+ * Scripts/webkitpy/common/net/credentials_unittest.py:
+ * Scripts/webkitpy/common/system/executive.py: Copied from Scripts/webkitpy/executive.py.
+ * Scripts/webkitpy/common/system/executive_unittest.py: Copied from Scripts/webkitpy/executive_unittest.py.
+ * Scripts/webkitpy/executive.py: Removed.
+ * Scripts/webkitpy/executive_unittest.py: Removed.
+ * Scripts/webkitpy/layout_tests/port/mac.py:
+ * Scripts/webkitpy/tool/bot/queueengine.py:
+ * Scripts/webkitpy/tool/bot/queueengine_unittest.py:
+ * Scripts/webkitpy/tool/commands/download.py:
+ * Scripts/webkitpy/tool/commands/early_warning_system.py:
+ * Scripts/webkitpy/tool/commands/queues.py:
+ * Scripts/webkitpy/tool/commands/stepsequence.py:
+ * Scripts/webkitpy/tool/main.py:
+ * Scripts/webkitpy/tool/steps/checkstyle.py:
+ * Scripts/webkitpy/tool/steps/preparechangelog.py:
+ * Scripts/webkitpy/unittests.py:
+ * Scripts/webkitpy/webkit_logging_unittest.py:
+
+2010-03-25 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Move grammary.py into webkitpy.tool.
+ https://bugs.webkit.org/show_bug.cgi?id=36093
+
+ * Scripts/webkitpy/grammar.py: Removed.
+ * Scripts/webkitpy/grammar_unittest.py: Removed.
+ * Scripts/webkitpy/tool/commands/download.py:
+ * Scripts/webkitpy/tool/commands/queries.py:
+ * Scripts/webkitpy/tool/commands/queues.py:
+ * Scripts/webkitpy/tool/commands/upload.py:
+ * Scripts/webkitpy/tool/grammar.py: Copied from Scripts/webkitpy/grammar.py.
+ * Scripts/webkitpy/tool/grammar_unittest.py: Copied from Scripts/webkitpy/grammar_unittest.py.
+ * Scripts/webkitpy/tool/multicommandtool.py:
+ * Scripts/webkitpy/tool/steps/obsoletepatches.py:
+ * Scripts/webkitpy/tool/steps/updatechangelogswithreviewer.py:
+ * Scripts/webkitpy/unittests.py:
+
+2010-03-25 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ In webkitpy, moved init/ to common/system/.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36093
+
+ This is part of the master bug to reorganize webkitpy.
+
+ * Scripts/webkitpy/common/system: Copied from WebKitTools/Scripts/webkitpy/init.
+ * Scripts/webkitpy/common/system/logutils.py:
+ * Scripts/webkitpy/common/system/logutils_unittest.py:
+ * Scripts/webkitpy/init: Removed.
+ * Scripts/webkitpy/init/__init__.py: Removed.
+ * Scripts/webkitpy/init/logtesting.py: Removed.
+ * Scripts/webkitpy/init/logutils.py: Removed.
+ * Scripts/webkitpy/init/logutils_unittest.py: Removed.
+ * Scripts/webkitpy/init/unittests.py: Removed.
+ * Scripts/webkitpy/python24/versioning_unittest.py:
+ * Scripts/webkitpy/style_references.py:
+ * Scripts/webkitpy/unittests.py:
+
+2010-03-25 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Move stepsequence to webkitpy.tool.commands.
+ https://bugs.webkit.org/show_bug.cgi?id=36093
+
+ * Scripts/webkitpy/stepsequence.py: Removed.
+ * Scripts/webkitpy/tool/commands/abstractsequencedcommand.py:
+ * Scripts/webkitpy/tool/commands/download.py:
+ * Scripts/webkitpy/tool/commands/queues.py:
+ * Scripts/webkitpy/tool/commands/stepsequence.py: Copied from Scripts/webkitpy/stepsequence.py.
+
+2010-03-25 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Create webkitpy.common.checkout as described in
+ https://bugs.webkit.org/show_bug.cgi?id=36093
+
+ * Scripts/webkitpy/changelogs.py: Removed.
+ * Scripts/webkitpy/changelogs_unittest.py: Removed.
+ * Scripts/webkitpy/commitinfo.py: Removed.
+ * Scripts/webkitpy/commitinfo_unittest.py: Removed.
+ * Scripts/webkitpy/common/checkout: Added.
+ * Scripts/webkitpy/common/checkout/__init__.py: Copied from Scripts/webkitpy/common/__init__.py.
+ * Scripts/webkitpy/common/checkout/changelog.py: Copied from Scripts/webkitpy/changelogs.py.
+ * Scripts/webkitpy/common/checkout/changelog_unittest.py: Copied from Scripts/webkitpy/changelogs_unittest.py.
+ * Scripts/webkitpy/common/checkout/commitinfo.py: Copied from Scripts/webkitpy/commitinfo.py.
+ * Scripts/webkitpy/common/checkout/commitinfo_unittest.py: Copied from Scripts/webkitpy/commitinfo_unittest.py.
+ * Scripts/webkitpy/common/checkout/diff_parser.py: Copied from Scripts/webkitpy/diff_parser.py.
+ * Scripts/webkitpy/common/checkout/diff_parser_unittest.py: Copied from Scripts/webkitpy/diff_parser_unittest.py.
+ * Scripts/webkitpy/common/checkout/scm.py: Copied from Scripts/webkitpy/scm.py.
+ * Scripts/webkitpy/common/checkout/scm_unittest.py: Copied from Scripts/webkitpy/scm_unittest.py.
+ * Scripts/webkitpy/common/net/credentials.py:
+ * Scripts/webkitpy/diff_parser.py: Removed.
+ * Scripts/webkitpy/diff_parser_unittest.py: Removed.
+ * Scripts/webkitpy/layout_tests/port/base.py:
+ * Scripts/webkitpy/scm.py: Removed.
+ * Scripts/webkitpy/scm_unittest.py: Removed.
+ * Scripts/webkitpy/stepsequence.py:
+ * Scripts/webkitpy/style_references.py:
+ * Scripts/webkitpy/tool/commands/download.py:
+ * Scripts/webkitpy/tool/commands/queries.py:
+ * Scripts/webkitpy/tool/comments.py:
+ * Scripts/webkitpy/tool/main.py:
+ * Scripts/webkitpy/tool/mocktool.py:
+ * Scripts/webkitpy/tool/steps/preparechangelogforrevert.py:
+ * Scripts/webkitpy/tool/steps/updatechangelogswithreviewer.py:
+ * Scripts/webkitpy/tool/steps/validatereviewer.py:
+ * Scripts/webkitpy/unittests.py:
+ * Scripts/webkitpy/webkitcheckout.py:
+
+2010-03-25 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ In webkitpy, moved init/versioning.py to python24/.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36093
+
+ This is part of the master bug to reorganize webkitpy.
+
+ * Scripts/test-webkitpy:
+ * Scripts/webkit-patch:
+ * Scripts/webkitpy/init/unittests.py:
+ * Scripts/webkitpy/init/versioning.py: Removed.
+ * Scripts/webkitpy/init/versioning_unittest.py: Removed.
+ * Scripts/webkitpy/python24: Added.
+ * Scripts/webkitpy/python24/__init__.py: Copied from WebKitTools/Scripts/webkitpy/tool/__init__.py.
+ * Scripts/webkitpy/python24/versioning.py: Copied from WebKitTools/Scripts/webkitpy/init/versioning.py.
+ * Scripts/webkitpy/python24/versioning_unittest.py: Copied from WebKitTools/Scripts/webkitpy/init/versioning_unittest.py.
+ * Scripts/webkitpy/unittests.py:
+
+2010-03-25 Adam Barth <abarth@webkit.org>
+
+ Unreviewed.
+
+ Create webkitpy.common.net as described in
+ https://bugs.webkit.org/show_bug.cgi?id=36093
+
+ * Scripts/webkitpy/bugzilla.py: Removed.
+ * Scripts/webkitpy/bugzilla_unittest.py: Removed.
+ * Scripts/webkitpy/buildbot.py: Removed.
+ * Scripts/webkitpy/buildbot_unittest.py: Removed.
+ * Scripts/webkitpy/commitinfo.py:
+ * Scripts/webkitpy/common/net: Added.
+ * Scripts/webkitpy/common/net/__init__.py: Added.
+ * Scripts/webkitpy/common/net/bugzilla.py: Copied from Scripts/webkitpy/bugzilla.py.
+ * Scripts/webkitpy/common/net/bugzilla_unittest.py: Copied from Scripts/webkitpy/bugzilla_unittest.py.
+ * Scripts/webkitpy/common/net/buildbot.py: Copied from Scripts/webkitpy/buildbot.py.
+ * Scripts/webkitpy/common/net/buildbot_unittest.py: Copied from Scripts/webkitpy/buildbot_unittest.py.
+ * Scripts/webkitpy/common/net/credentials.py: Copied from Scripts/webkitpy/credentials.py.
+ * Scripts/webkitpy/common/net/credentials_unittest.py: Copied from Scripts/webkitpy/credentials_unittest.py.
+ * Scripts/webkitpy/common/net/irc: Copied from Scripts/webkitpy/irc.
+ * Scripts/webkitpy/common/net/irc/ircbot.py:
+ * Scripts/webkitpy/common/net/irc/ircproxy.py:
+ * Scripts/webkitpy/common/net/irc/messagepump_unittest.py:
+ * Scripts/webkitpy/common/net/irc/threadedmessagequeue_unittest.py:
+ * Scripts/webkitpy/common/net/irc/unittests.py:
+ * Scripts/webkitpy/common/net/networktransaction.py: Copied from Scripts/webkitpy/networktransaction.py.
+ * Scripts/webkitpy/common/net/networktransaction_unittest.py: Copied from Scripts/webkitpy/networktransaction_unittest.py.
+ * Scripts/webkitpy/common/net/statusserver.py: Copied from Scripts/webkitpy/statusserver.py.
+ * Scripts/webkitpy/credentials.py: Removed.
+ * Scripts/webkitpy/credentials_unittest.py: Removed.
+ * Scripts/webkitpy/irc: Removed.
+ * Scripts/webkitpy/irc/__init__.py: Removed.
+ * Scripts/webkitpy/irc/ircbot.py: Removed.
+ * Scripts/webkitpy/irc/ircproxy.py: Removed.
+ * Scripts/webkitpy/irc/messagepump.py: Removed.
+ * Scripts/webkitpy/irc/messagepump_unittest.py: Removed.
+ * Scripts/webkitpy/irc/threadedmessagequeue.py: Removed.
+ * Scripts/webkitpy/irc/threadedmessagequeue_unittest.py: Removed.
+ * Scripts/webkitpy/irc/unittests.py: Removed.
+ * Scripts/webkitpy/networktransaction.py: Removed.
+ * Scripts/webkitpy/networktransaction_unittest.py: Removed.
+ * Scripts/webkitpy/scm_unittest.py:
+ * Scripts/webkitpy/statusserver.py: Removed.
+ * Scripts/webkitpy/tool/bot/queueengine.py:
+ * Scripts/webkitpy/tool/commands/download.py:
+ * Scripts/webkitpy/tool/commands/queries.py:
+ * Scripts/webkitpy/tool/commands/queries_unittest.py:
+ * Scripts/webkitpy/tool/commands/queues.py:
+ * Scripts/webkitpy/tool/commands/queues_unittest.py:
+ * Scripts/webkitpy/tool/commands/queuestest.py:
+ * Scripts/webkitpy/tool/commands/upload.py:
+ * Scripts/webkitpy/tool/main.py:
+ * Scripts/webkitpy/tool/mocktool.py:
+ * Scripts/webkitpy/tool/steps/postdiffforrevert.py:
+ * Scripts/webkitpy/unittests.py:
+
+2010-03-25 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ In webkitpy, renamed MockBugzillaTool to MockTool.
+
+ * Scripts/webkitpy/tool/commands/commandtest.py:
+ * Scripts/webkitpy/tool/commands/queries_unittest.py:
+ * Scripts/webkitpy/tool/commands/queues_unittest.py:
+ * Scripts/webkitpy/tool/commands/queuestest.py:
+ * Scripts/webkitpy/tool/commands/sheriffbot_unittest.py:
+ * Scripts/webkitpy/tool/commands/upload_unittest.py:
+ * Scripts/webkitpy/tool/mocktool.py:
+ * Scripts/webkitpy/tool/steps/closebugforlanddiff_unittest.py:
+ * Scripts/webkitpy/tool/steps/steps_unittest.py:
+ * Scripts/webkitpy/tool/steps/updatechangelogswithreview_unittests.py:
+
+2010-03-25 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ In Scripts/webkitpy, moved webkitport.py and committers.py into
+ common/config/ (also creating common/config/).
+
+ https://bugs.webkit.org/show_bug.cgi?id=36093
+
+ This is part of the master bug to reorganize webkitpy.
+
+ * Scripts/validate-committer-lists:
+ * Scripts/webkitpy/bugzilla.py:
+ * Scripts/webkitpy/bugzilla_unittest.py:
+ * Scripts/webkitpy/changelogs.py:
+ * Scripts/webkitpy/commitinfo.py:
+ * Scripts/webkitpy/commitinfo_unittest.py:
+ * Scripts/webkitpy/committers.py: Removed.
+ * Scripts/webkitpy/committers_unittest.py: Removed.
+ * Scripts/webkitpy/common: Added.
+ * Scripts/webkitpy/common/__init__.py: Copied from WebKitTools/Scripts/webkitpy/style/__init__.py.
+ * Scripts/webkitpy/common/config: Added.
+ * Scripts/webkitpy/common/config/__init__.py: Copied from WebKitTools/Scripts/webkitpy/style/__init__.py.
+ * Scripts/webkitpy/common/config/committers.py: Copied from WebKitTools/Scripts/webkitpy/committers.py.
+ * Scripts/webkitpy/common/config/committers_unittest.py: Copied from WebKitTools/Scripts/webkitpy/committers_unittest.py.
+ * Scripts/webkitpy/common/config/ports.py: Copied from WebKitTools/Scripts/webkitpy/webkitport.py.
+ * Scripts/webkitpy/common/config/ports_unittest.py: Copied from WebKitTools/Scripts/webkitpy/webkitport_unittest.py.
+ * Scripts/webkitpy/mock_bugzillatool.py:
+ * Scripts/webkitpy/tool/commands/early_warning_system.py:
+ * Scripts/webkitpy/tool/commands/queries.py:
+ * Scripts/webkitpy/tool/commands/sheriffbot.py:
+ * Scripts/webkitpy/tool/commands/upload.py:
+ * Scripts/webkitpy/tool/steps/abstractstep.py:
+ * Scripts/webkitpy/unittests.py:
+ * Scripts/webkitpy/webkitport.py: Removed.
+ * Scripts/webkitpy/webkitport_unittest.py: Removed.
+
+2010-03-25 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Move mock_bugzillatool.py to tool/mocktool.py.
+
+ * Scripts/webkitpy/mock_bugzillatool.py: Removed.
+ * Scripts/webkitpy/tool/commands/commandtest.py:
+ * Scripts/webkitpy/tool/commands/queries_unittest.py:
+ * Scripts/webkitpy/tool/commands/queues_unittest.py:
+ * Scripts/webkitpy/tool/commands/queuestest.py:
+ * Scripts/webkitpy/tool/commands/sheriffbot_unittest.py:
+ * Scripts/webkitpy/tool/commands/upload_unittest.py:
+ * Scripts/webkitpy/tool/mocktool.py: Copied from Scripts/webkitpy/mock_bugzillatool.py.
+ * Scripts/webkitpy/tool/steps/closebugforlanddiff_unittest.py:
+ * Scripts/webkitpy/tool/steps/steps_unittest.py:
+ * Scripts/webkitpy/tool/steps/updatechangelogswithreview_unittests.py:
+
+2010-03-24 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Move comments.py and multicommandtool.py to their new
+ home.
+
+ * Scripts/webkitpy/comments.py: Removed.
+ * Scripts/webkitpy/multicommandtool.py: Removed.
+ * Scripts/webkitpy/multicommandtool_unittest.py: Removed.
+ * Scripts/webkitpy/tool/commands/abstractsequencedcommand.py:
+ * Scripts/webkitpy/tool/commands/download.py:
+ * Scripts/webkitpy/tool/commands/openbugs.py:
+ * Scripts/webkitpy/tool/commands/queries.py:
+ * Scripts/webkitpy/tool/commands/queues.py:
+ * Scripts/webkitpy/tool/commands/upload.py:
+ * Scripts/webkitpy/tool/comments.py: Copied from Scripts/webkitpy/comments.py.
+ * Scripts/webkitpy/tool/main.py:
+ * Scripts/webkitpy/tool/multicommandtool.py: Copied from Scripts/webkitpy/multicommandtool.py.
+ * Scripts/webkitpy/tool/multicommandtool_unittest.py: Copied from Scripts/webkitpy/multicommandtool_unittest.py.
+ * Scripts/webkitpy/tool/steps/closebugforlanddiff.py:
+ * Scripts/webkitpy/tool/steps/closepatch.py:
+ * Scripts/webkitpy/tool/steps/reopenbugafterrollout.py:
+ * Scripts/webkitpy/unittests.py:
+
+2010-03-24 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Fixup one import statement I didn't find because the .pyc
+ masked the error.
+
+ * Scripts/webkitpy/stepsequence.py:
+
+2010-03-24 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Move queueengine.py to its new home.
+
+ * Scripts/webkitpy/queueengine.py: Removed.
+ * Scripts/webkitpy/queueengine_unittest.py: Removed.
+ * Scripts/webkitpy/tool/bot/queueengine.py: Copied from Scripts/webkitpy/queueengine.py.
+ * Scripts/webkitpy/tool/bot/queueengine_unittest.py: Copied from Scripts/webkitpy/queueengine_unittest.py.
+ * Scripts/webkitpy/tool/commands/early_warning_system.py:
+ * Scripts/webkitpy/tool/commands/queues.py:
+ * Scripts/webkitpy/unittests.py:
+
+2010-03-24 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Move patchcollection.py to its new home.
+
+ * Scripts/webkitpy/patchcollection.py: Removed.
+ * Scripts/webkitpy/patchcollection_unittest.py: Removed.
+ * Scripts/webkitpy/tool/bot: Added.
+ * Scripts/webkitpy/tool/bot/__init__.py: Added.
+ * Scripts/webkitpy/tool/bot/patchcollection.py: Copied from WebKitTools/Scripts/webkitpy/patchcollection.py.
+ * Scripts/webkitpy/tool/bot/patchcollection_unittest.py: Copied from WebKitTools/Scripts/webkitpy/patchcollection_unittest.py.
+ * Scripts/webkitpy/tool/commands/queues.py:
+ * Scripts/webkitpy/unittests.py:
+
+2010-03-24 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ In Scripts/webkitpy, moved steps_references.py and the steps
+ folder into webkitpy/patch.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36093
+
+ * Scripts/webkitpy/steps: Removed.
+ * Scripts/webkitpy/steps/__init__.py: Removed.
+ * Scripts/webkitpy/steps/abstractstep.py: Removed.
+ * Scripts/webkitpy/steps/applypatch.py: Removed.
+ * Scripts/webkitpy/steps/applypatchwithlocalcommit.py: Removed.
+ * Scripts/webkitpy/steps/build.py: Removed.
+ * Scripts/webkitpy/steps/checkstyle.py: Removed.
+ * Scripts/webkitpy/steps/cleanworkingdirectory.py: Removed.
+ * Scripts/webkitpy/steps/cleanworkingdirectorywithlocalcommits.py: Removed.
+ * Scripts/webkitpy/steps/closebug.py: Removed.
+ * Scripts/webkitpy/steps/closebugforlanddiff.py: Removed.
+ * Scripts/webkitpy/steps/closebugforlanddiff_unittest.py: Removed.
+ * Scripts/webkitpy/steps/closepatch.py: Removed.
+ * Scripts/webkitpy/steps/commit.py: Removed.
+ * Scripts/webkitpy/steps/confirmdiff.py: Removed.
+ * Scripts/webkitpy/steps/createbug.py: Removed.
+ * Scripts/webkitpy/steps/editchangelog.py: Removed.
+ * Scripts/webkitpy/steps/ensurebuildersaregreen.py: Removed.
+ * Scripts/webkitpy/steps/ensurelocalcommitifneeded.py: Removed.
+ * Scripts/webkitpy/steps/metastep.py: Removed.
+ * Scripts/webkitpy/steps/obsoletepatches.py: Removed.
+ * Scripts/webkitpy/steps/options.py: Removed.
+ * Scripts/webkitpy/steps/postdiff.py: Removed.
+ * Scripts/webkitpy/steps/postdiffforcommit.py: Removed.
+ * Scripts/webkitpy/steps/postdiffforrevert.py: Removed.
+ * Scripts/webkitpy/steps/preparechangelog.py: Removed.
+ * Scripts/webkitpy/steps/preparechangelogforrevert.py: Removed.
+ * Scripts/webkitpy/steps/promptforbugortitle.py: Removed.
+ * Scripts/webkitpy/steps/reopenbugafterrollout.py: Removed.
+ * Scripts/webkitpy/steps/revertrevision.py: Removed.
+ * Scripts/webkitpy/steps/runtests.py: Removed.
+ * Scripts/webkitpy/steps/steps_unittest.py: Removed.
+ * Scripts/webkitpy/steps/update.py: Removed.
+ * Scripts/webkitpy/steps/updatechangelogswithreview_unittests.py: Removed.
+ * Scripts/webkitpy/steps/updatechangelogswithreviewer.py: Removed.
+ * Scripts/webkitpy/steps/validatereviewer.py: Removed.
+ * Scripts/webkitpy/steps_references.py: Removed.
+ * Scripts/webkitpy/stepsequence.py:
+ * Scripts/webkitpy/tool/commands/download.py:
+ * Scripts/webkitpy/tool/commands/upload.py:
+ * Scripts/webkitpy/tool/steps: Copied from WebKitTools/Scripts/webkitpy/steps.
+ * Scripts/webkitpy/tool/steps/__init__.py:
+ * Scripts/webkitpy/tool/steps/applypatch.py:
+ * Scripts/webkitpy/tool/steps/applypatchwithlocalcommit.py:
+ * Scripts/webkitpy/tool/steps/build.py:
+ * Scripts/webkitpy/tool/steps/checkstyle.py:
+ * Scripts/webkitpy/tool/steps/cleanworkingdirectory.py:
+ * Scripts/webkitpy/tool/steps/cleanworkingdirectorywithlocalcommits.py:
+ * Scripts/webkitpy/tool/steps/closebug.py:
+ * Scripts/webkitpy/tool/steps/closebugforlanddiff.py:
+ * Scripts/webkitpy/tool/steps/closebugforlanddiff_unittest.py:
+ * Scripts/webkitpy/tool/steps/closepatch.py:
+ * Scripts/webkitpy/tool/steps/commit.py:
+ * Scripts/webkitpy/tool/steps/confirmdiff.py:
+ * Scripts/webkitpy/tool/steps/createbug.py:
+ * Scripts/webkitpy/tool/steps/editchangelog.py:
+ * Scripts/webkitpy/tool/steps/ensurebuildersaregreen.py:
+ * Scripts/webkitpy/tool/steps/ensurelocalcommitifneeded.py:
+ * Scripts/webkitpy/tool/steps/metastep.py:
+ * Scripts/webkitpy/tool/steps/obsoletepatches.py:
+ * Scripts/webkitpy/tool/steps/postdiff.py:
+ * Scripts/webkitpy/tool/steps/postdiffforcommit.py:
+ * Scripts/webkitpy/tool/steps/postdiffforrevert.py:
+ * Scripts/webkitpy/tool/steps/preparechangelog.py:
+ * Scripts/webkitpy/tool/steps/preparechangelogforrevert.py:
+ * Scripts/webkitpy/tool/steps/promptforbugortitle.py:
+ * Scripts/webkitpy/tool/steps/reopenbugafterrollout.py:
+ * Scripts/webkitpy/tool/steps/revertrevision.py:
+ * Scripts/webkitpy/tool/steps/runtests.py:
+ * Scripts/webkitpy/tool/steps/steps_unittest.py:
+ * Scripts/webkitpy/tool/steps/update.py:
+ * Scripts/webkitpy/tool/steps/updatechangelogswithreview_unittests.py:
+ * Scripts/webkitpy/tool/steps/updatechangelogswithreviewer.py:
+ * Scripts/webkitpy/tool/steps/validatereviewer.py:
+ * Scripts/webkitpy/tool/steps_references.py: Copied from WebKitTools/Scripts/webkitpy/steps_references.py.
+ * Scripts/webkitpy/unittests.py:
+
+2010-03-24 Eric Seidel <eric@webkit.org>
+
+ Unreviewed, build fix only.
+
+ Abstract LayoutTestResults logic for easier reuse
+ https://bugs.webkit.org/show_bug.cgi?id=36579
+
+ * Scripts/webkitpy/buildbot_unittest.py: Add a missing import.
+
+2010-03-24 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Fix a stray comma to test landing an patch without review.
+
+ * Scripts/webkitpy/commitinfo.py:
+
+2010-03-24 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ In Scripts/webkitpy, moved commands_references.py and the commands
+ folder into webkitpy/patch.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36483
+
+ This is part of master bug 36093 to organize webkitpy.
+
+ * Scripts/webkitpy/commands: Removed.
+ * Scripts/webkitpy/commands/__init__.py: Removed.
+ * Scripts/webkitpy/commands/abstractsequencedcommand.py: Removed.
+ * Scripts/webkitpy/commands/commandtest.py: Removed.
+ * Scripts/webkitpy/commands/download.py: Removed.
+ * Scripts/webkitpy/commands/download_unittest.py: Removed.
+ * Scripts/webkitpy/commands/early_warning_system.py: Removed.
+ * Scripts/webkitpy/commands/early_warning_system_unittest.py: Removed.
+ * Scripts/webkitpy/commands/openbugs.py: Removed.
+ * Scripts/webkitpy/commands/openbugs_unittest.py: Removed.
+ * Scripts/webkitpy/commands/queries.py: Removed.
+ * Scripts/webkitpy/commands/queries_unittest.py: Removed.
+ * Scripts/webkitpy/commands/queues.py: Removed.
+ * Scripts/webkitpy/commands/queues_unittest.py: Removed.
+ * Scripts/webkitpy/commands/queuestest.py: Removed.
+ * Scripts/webkitpy/commands/sheriffbot.py: Removed.
+ * Scripts/webkitpy/commands/sheriffbot_unittest.py: Removed.
+ * Scripts/webkitpy/commands/upload.py: Removed.
+ * Scripts/webkitpy/commands/upload_unittest.py: Removed.
+ * Scripts/webkitpy/commands_references.py: Removed.
+ * Scripts/webkitpy/tool/commands: Copied from WebKitTools/Scripts/webkitpy/commands.
+ * Scripts/webkitpy/tool/commands/commandtest.py:
+ * Scripts/webkitpy/tool/commands/download.py:
+ * Scripts/webkitpy/tool/commands/download_unittest.py:
+ * Scripts/webkitpy/tool/commands/early_warning_system.py:
+ * Scripts/webkitpy/tool/commands/early_warning_system_unittest.py:
+ * Scripts/webkitpy/tool/commands/openbugs_unittest.py:
+ * Scripts/webkitpy/tool/commands/queries_unittest.py:
+ * Scripts/webkitpy/tool/commands/queues_unittest.py:
+ * Scripts/webkitpy/tool/commands/queuestest.py:
+ * Scripts/webkitpy/tool/commands/sheriffbot.py:
+ * Scripts/webkitpy/tool/commands/sheriffbot_unittest.py:
+ * Scripts/webkitpy/tool/commands/upload.py:
+ * Scripts/webkitpy/tool/commands/upload_unittest.py:
+ * Scripts/webkitpy/tool/commands_references.py: Copied from WebKitTools/Scripts/webkitpy/commands_references.py.
+ * Scripts/webkitpy/tool/main.py:
+ * Scripts/webkitpy/unittests.py:
+
+2010-03-24 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Rename webkitpy.patch to webkitpy.tool
+ https://bugs.webkit.org/show_bug.cgi?id=36580
+
+ This is in preparation for the great webkitpy naming cleanup.
+
+ * Scripts/webkit-patch:
+ * Scripts/webkitpy/patch: Removed.
+ * Scripts/webkitpy/patch/__init__.py: Removed.
+ * Scripts/webkitpy/patch/patcher.py: Removed.
+ * Scripts/webkitpy/tool: Copied from WebKitTools/Scripts/webkitpy/patch.
+ * Scripts/webkitpy/tool/main.py: Copied from WebKitTools/Scripts/webkitpy/patch/patcher.py.
+ * Scripts/webkitpy/tool/patcher.py: Removed.
+
+2010-03-24 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Abstract LayoutTestResults logic for easier reuse
+ https://bugs.webkit.org/show_bug.cgi?id=36579
+
+ * Scripts/webkitpy/buildbot.py:
+ - Split out logic into new LayoutTestResults class.
+ * Scripts/webkitpy/buildbot_unittest.py:
+ - Rename the testing class to match.
+ * Scripts/webkitpy/commands/queries.py:
+ - Use the new LayoutTestResults class.
+
+2010-03-24 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Move Bugzilla.prompt_for_component to User.prompt_with_list for re-use
+ https://bugs.webkit.org/show_bug.cgi?id=36577
+
+ * Scripts/webkitpy/bugzilla.py:
+ - Move prompt_for_component to User
+ * Scripts/webkitpy/commands/queries.py:
+ - Add a missing argument_names declaration.
+ * Scripts/webkitpy/user.py:
+ - Add prompt_with_list
+ - Make staticmethods classmethods for easier mocking
+
+2010-03-24 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/36572> commit-log-editor: thinks mergeChangeLogs.pl is a ChangeLog file
+
+ Reviewed by Eric Seidel.
+
+ Fixes the following error when committing a file with
+ "ChangeLog" in the name that isn't a ChangeLog (like
+ mergeChangeLogs.pl from r56471 and r56472):
+
+ $ git commit .
+ Can't open WebKitTools/Scripts/webkitperl/VCSUtils_unittest/mergeChangeLog at commit-log-editor line 132.
+ error: There was a problem with the editor 'commit-log-editor'.
+ Please supply the message using either -m or -F option.
+
+ * Scripts/commit-log-editor: Added '$' to anchor "ChangeLog" to
+ the end of the file name when searching for ChangeLog files in a
+ commit.
+
+2010-03-24 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/36570> resolve-ChangeLogs: fall back to git-merge-file if ChangeLog can't be merged
+
+ Reviewed by Eric Seidel.
+
+ * Scripts/resolve-ChangeLogs: Switched to exec git-merge-file if
+ the merge attempt fails.
+
+2010-03-24 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ webkit-patch or pre-commit hook should validate reviewer lines before committing
+ https://bugs.webkit.org/show_bug.cgi?id=26927
+
+ Validate that patches have valid reivewers listed in their ChangeLogs
+ before landing. For patches without reviewers can be landed if their
+ ChangeLogs state that they are unreviewed.
+
+ * Scripts/webkitpy/changelogs.py:
+ * Scripts/webkitpy/commands/download.py:
+ * Scripts/webkitpy/commitinfo.py:
+ * Scripts/webkitpy/commitinfo_unittest.py:
+ * Scripts/webkitpy/mock_bugzillatool.py:
+ * Scripts/webkitpy/steps/__init__.py:
+ * Scripts/webkitpy/steps/validatereviewer.py: Added.
+
+2010-03-19 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by David Levin.
+
+ Undefined names reported by pyflakes in python scripts
+ https://bugs.webkit.org/show_bug.cgi?id=36403
+
+ Attempt to use names that exist or can exist in the lexical
+ scope instead of not being available at all.
+
+ * Scripts/webkitpy/changelogs.py: Use self._content.
+ * Scripts/webkitpy/layout_tests/port/base.py: Use os.stat
+ * Scripts/webkitpy/layout_tests/test_types/fuzzy_image_diff.py: Use self._port
+ * Scripts/webkitpy/style/processors/cpp_unittest.py: Use expected_message_re
+
+2010-03-24 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/36560> resolve-ChangeLogs: git-rebase fails when resolve-ChangeLogs can't merge
+
+ Reviewed by Eric Seidel.
+
+ When resolve-ChangeLogs fails to merge a patch while running as
+ a git merge driver, it deletes the original file, which causes
+ an internal failure and stops git mid-merge:
+
+ fatal: Failed to execute internal merge
+
+ The fix is to use the --force switch with patch so that it will
+ always attempt to apply the patch. (The change in
+ mergeChangeLogs() for the previous commit also fixed this, but
+ adding --force also prevents any potential user interaction that
+ patch may want to display.)
+
+ * Scripts/VCSUtils.pm:
+ (mergeChangeLogs): Added --force switch to patch command. Also
+ changed to use the exit status from the patch command to
+ determine the return value for this method.
+ * Scripts/webkitperl/VCSUtils_unittest/mergeChangeLogs.pl: Added
+ test to cover this bug.
+
+2010-03-24 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/36560> resolve-ChangeLogs: move mergeChanges() into VCSUtils package
+
+ Reviewed by Eric Seidel.
+
+ * Scripts/VCSUtils.pm:
+ (mergeChangeLogs): Copied from mergeChanges() in
+ resolve-ChangeLogs and renamed. Added method documentation.
+ Fixed bug found by new tests where the original file to be
+ patched was deleted when cleaning up after a traditinal rejected
+ patch failed to apply.
+ * Scripts/resolve-ChangeLogs: Switched to using
+ mergeChangeLogs().
+ (mergeChanges): Moved to VCSUtils.pm and renamed to
+ mergeChangeLogs().
+ * Scripts/webkitperl/VCSUtils_unittest/mergeChangeLogs.pl: Added.
+
+2010-03-24 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Add support for qt's unassigned list to webkit-patch assign-to-committer
+ https://bugs.webkit.org/show_bug.cgi?id=36559
+
+ * Scripts/webkitpy/bugzilla.py:
+ - Move Bugzilla.unassigned_email into Bug and make it a set.
+ * Scripts/webkitpy/bugzilla_unittest.py:
+ - Test the new Bug.is_unassigned method
+ * Scripts/webkitpy/commands/upload.py:
+ - Use the new Bug.is_unassigned method instead of an explicit ==
+ * Scripts/webkitpy/mock_bugzillatool.py:
+ - Bugzilla.unassigned_email no longer needs mocking
+
+2010-03-24 Kent Hansen <kent.hansen@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Rename QWebSettings::XSSAuditorEnabled to XSSAuditingEnabled
+ https://bugs.webkit.org/show_bug.cgi?id=36522
+
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::setXSSAuditorEnabled): Use the new name.
+
+2010-03-24 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Added to check-webkit-style support for a --debug flag.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36100
+
+ The --debug flag adjusts the logging level to DEBUG and
+ includes the logger name and level in each log message.
+
+ * Scripts/check-webkit-style:
+ - Changed the code to check for the --debug flag and pass
+ the result to the configure_logging() method.
+ * Scripts/webkitpy/style/checker.py:
+ - Added an is_debug parameter to configure_logging().
+ - Refactored configure_logging() by adding calls to
+ the following two methods: _create_log_handlers() and
+ _create_debug_log_handlers().
+ * Scripts/webkitpy/style/checker_unittest.py:
+ - Added unit tests for configure_logging() with is_debug True
+ by splitting the ConfigureLoggingTest class into
+ ConfigureLoggingTest and ConfigureLoggingTestBase, and
+ adding ConfigureLoggingDebugTest.
+ * Scripts/webkitpy/style/optparser.py:
+ - Updated the usage string.
+ - Added an is_debug data attribute to the CommandOptionValues
+ class.
+ - Added support for the --debug flag to the ArgumentParser.parse()
+ method.
+ - Also added extra error information to the parse() method in
+ the case of an invalid flag.
+ * Scripts/webkitpy/style/optparser_unittest.py:
+ - Updated the unit tests as necessary.
+ - Also fixed an issue with the CommandOptionValuesTest.test_eq()
+ unit test.
+
+2010-03-23 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [DRT/Chromium] Add TestNavigationController and TestWebWorker
+ https://bugs.webkit.org/show_bug.cgi?id=36489
+
+ Add TestNavigationController and TestWebWorker classes, which are
+ going to be used by DumpRenderTree Chromium port. These files are
+ based on:
+ - src/webkit/tools/test_shell/test_navigation_controller.{cc,h}
+ - src/webkit/tools/test_shell/test_web_worker.h
+ of Chromium rev.40492.
+
+ TestNavigationController has non-style changes.
+ - Change ContentState type: binary string -> WebHistoryItem
+ - Remove TestShell dependency by introducing NavigationHost interface.
+
+ * DumpRenderTree/chromium/TestNavigationController.cpp: Added.
+ * DumpRenderTree/chromium/TestNavigationController.h: Added.
+ * DumpRenderTree/chromium/TestWebWorker.h: Added.
+
+2010-03-23 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Add support for revision -> build lookup in buildbot.py and layout test result parsing
+ https://bugs.webkit.org/show_bug.cgi?id=36474
+
+ * Scripts/webkitpy/bugzilla_unittest.py: Added a FIXME about sharing code.
+ * Scripts/webkitpy/buildbot.py:
+ - Add support for looking up builds by revision number.
+ - Add support for fetching and parsing results.html files from buildbot.
+ - build_for_revision has an allow_failed_lookups option to work around the fact that
+ our buildbot's xmlrpc calls return failure on old revision numbers.
+ - Add parsing support for twisted directory listings.
+ * Scripts/webkitpy/buildbot_unittest.py:
+ - Unit test all the new code.
+ * Scripts/webkitpy/commands/queries.py:
+ - Add a new results-for command which prints all the results for a given revision (very slow due to slow revision lookup)
+
+2010-03-23 Daniel Bates <dbates@rim.com>
+
+ Reviewed by Adam Roben.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36048
+
+ Detect if the Windows Platform SDK is missing when building with
+ Visual C++ Express Edition and inform the user to download it.
+
+ * Scripts/webkitdirs.pm:
+
+2010-03-23 Darin Adler <darin@apple.com>
+
+ Tell Subversion about more directories that expect to have .pyc files.
+
+ * Scripts/webkitpy: Modified property svn:ignore.
+ * Scripts/webkitpy/irc: Added property svn:ignore.
+
+2010-03-23 Daniel Bates <dbates@rim.com>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36149
+
+ Import the GNU readline interface to modify the behavior
+ of raw_input so as to provide line editing support. In
+ particular this will prevent "delete" characters from
+ appearing in the returned value for function raw_input.
+
+ * Scripts/webkitpy/user.py:
+
+2010-03-23 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Remove support for Qt v4.4
+ https://bugs.webkit.org/show_bug.cgi?id=36389
+
+ * DumpRenderTree/qt/main.cpp:
+ (main):
+ * QtLauncher/mainwindow.cpp:
+ (MainWindow::MainWindow):
+
+2010-03-22 Csaba Osztrogonác <ossy@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Make build_webkit_command() pass MAKEFLAGS environment variable to make.
+ https://bugs.webkit.org/show_bug.cgi?id=36440
+
+ * Scripts/webkitpy/webkitport.py:
+ * Scripts/webkitpy/webkitport_unittest.py:
+
+2010-03-22 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Change baseline_path() to point to the upstream locations for the
+ Chromium ports. Also change the reabselining scripts to use the
+ correct functions to get the baseline directories, and fix the
+ script's sys.path to pull in simplejson correctly.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36417
+
+ * Scripts/rebaseline-chromium-webkit-tests:
+ - fix sys.path to pick up simplejson properly
+ * Scripts/webkitpy/layout_tests/port/chromium.py:
+ - change baseline_path() to use webkit_baseline_path()
+ - error out correctly if we can't find the chromium base dir
+ * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
+ - call baseline_path(), not chromium_baseline_path()
+
+2010-03-22 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Refactored the cpu_count() code in executive.py.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36437
+
+ * Scripts/webkitpy/executive.py:
+ - Moved the import of the multiprocessing module to the top
+ of the file rather than importing from within a function.
+
+2010-03-22 Antonio Gomes <tonikitoo@webkit.org>
+
+ Unreviewed.
+
+ Rolling out r56183: http://trac.webkit.org/changeset/56183
+
+ https://bugs.webkit.org/show_bug.cgi?id=36244
+
+ Need to roll out because this patch will be re-worked by the author
+ and other reviewers agreed on it.
+
+2010-03-22 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Created a function for getting a module-specific logging.logger
+ based on the __file__ value of the module.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35821
+
+ This function allows us to get the module-specific logger for
+ a module without having to hard-code the fully-qualified name
+ of the module in the module itself. The code can be the same
+ in every case: "_log = logutils.get_logger(__file__)".
+
+ * Scripts/webkitpy/init/logutils.py: Added.
+ - Added a module with a get_logger() function to return
+ a module-specific logger based on the module's __file__
+ variable.
+
+ * Scripts/webkitpy/init/logutils_unittest.py: Added.
+ - Added unit tests for logutils.py.
+
+ * Scripts/webkitpy/init/unittests.py:
+ - Added logutils_unittest to the list of imports.
+
+2010-03-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] REGRESSION (r56209): fast/media/print-restores-previous-mediatype.htm crashes
+ https://bugs.webkit.org/show_bug.cgi?id=36386
+
+ Fix the regression by implementing a null printer for Qt DRT.
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::NullPrinter::NullPaintEngine::begin):
+ (WebCore::NullPrinter::NullPaintEngine::end):
+ (WebCore::NullPrinter::NullPaintEngine::type):
+ (WebCore::NullPrinter::NullPaintEngine::drawPixmap):
+ (WebCore::NullPrinter::NullPaintEngine::updateState):
+ (WebCore::NullPrinter::paintEngine):
+ (WebCore::DumpRenderTree::dryRunPrint):
+
+2010-03-20 Martin Robinson <mrobinson@webkit.org>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] eventSender.zoomPageOut() bug?
+ https://bugs.webkit.org/show_bug.cgi?id=30575
+
+ Make zoomPage{In/Out}Callback respect the 1.2f zoom factor that DRT should be using.
+
+ * DumpRenderTree/gtk/EventSender.cpp:
+ (zoomIn): Added.
+ (zoomOut): Added.
+ (textZoomInCallback): Use zoomIn helper function.
+ (textZoomOutCallback): Use zoomOut helper function.
+ (zoomPageInCallback): Use zoomIn helper function, which respects zoom factor.
+ (zoomPageOutCallback): Use zoomOut helper function, which respects zoom factor.
+
+2010-03-20 Kevin Ollivier <kevino@theolliviers.com>
+
+ [wx] Build fix after recent database API change.
+
+ * wx/browser/browser.cpp:
+ (MyApp::OnInit):
+
+2010-03-20 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Renamed UnitTestLogStream to TestLogStream in webkitpy.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36099
+
+ TestLogStream is more concise and more consistent with the name of
+ the module (logtesting rather than logunittesting) and its main
+ class (LogTesting rather than LogUnitTesting).
+
+ * Scripts/webkitpy/init/logtesting.py:
+ - Renamings.
+
+ * Scripts/webkitpy/style/checker_unittest.py:
+ - Renamings.
+
+ * Scripts/webkitpy/style_references.py:
+ - Renamings.
+
+2010-03-20 Kevin Ollivier <kevino@theolliviers.com>
+
+ [wx] Build fixes for new method in LayoutTestController.
+
+ * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
+ (LayoutTestController::setSpatialNavigationEnabled):
+ * wx/build/settings.py:
+
+2010-03-20 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Unreviewed, tool fix.
+
+ Remove vestiges of downstream directory names to unbreak rebaselining tool.
+
+ * Scripts/webkitpy/layout_tests/port/chromium.py: Changed paths to use WebKit repo.
+
+2010-03-20 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Re-enable the downstream test_expectations overrides file that was
+ disabled in bug 36396 / r56287.
+
+ https://bugs.chromium.org/show_bug.cgi?id=36401
+
+ * Scripts/webkitpy/layout_tests/port/chromium.py:
+
+2010-03-19 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Disable the downstream override expectations temporarily to allow
+ us to test that we've upstreamed everything correctly. Also, stop
+ looking at the downstream baselines at all (now you will only be
+ able to update baselines upstream). In theory this should work, but
+ if we need to we can always add the downstream dirs back in.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36396
+
+ * Scripts/webkitpy/layout_tests/port/chromium.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_win.py:
+
+2010-03-19 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ fix typo in chromium test expectations overrides routine
+ https://bugs.webkit.org/show_bug.cgi?id=36397
+
+ * Scripts/webkitpy/layout_tests/port/chromium.py:
+
+2010-03-19 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Flip the Chromium ports to look first for the test expectations
+ in LayoutTests/platform/chromium and only afterwards look in the
+ Chromium repo downstream for overrides.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36326
+
+ * Scripts/webkitpy/layout_tests/port/chromium.py:
+
+2010-03-19 James Hawkins <jhawkins@chromium.org>
+
+ Unreviewed.
+
+ Add myself to the committers list.
+
+ * Scripts/webkitpy/committers.py:
+
+2010-03-19 Adam Barth <abarth@webkit.org>
+
+ Unreviewed.
+
+ Fix SheriffBot exception lock when we can't retrieve the first build
+ from buildbot. (I'll ask Eric to review this change after the fact,
+ but he's at lunch and I want to get the bot unlocked.)
+
+ * Scripts/webkitpy/buildbot.py:
+ * Scripts/webkitpy/buildbot_unittest.py:
+
+2010-03-19 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36380
+ websocket/tests/frame-lengths.html times out on Tiger bot
+
+ https://bugs.webkit.org/show_bug.cgi?id=35041
+ websocket/tests/frame-lengths.html / websocket/tests/simple-stress.html fail on Windows bot
+
+ Double the timeout (from 15 seconds to 30 seconds). We can increase it more, if necessary -
+ sampling the DRT process on Mac OS X takes much longer anyway, so it's better to avoid
+ timing out than to detect it early.
+
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::setWaitToDump):
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::waitUntilDone):
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ * Scripts/run-webkit-tests:
+
+2010-03-19 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Unreviewed.
+
+ Buildfix for Qt v4.5.
+
+ * QtLauncher/main.cpp:
+ (LauncherWindow::LauncherWindow):
+ (LauncherWindow::applyZoom):
+
+2010-03-19 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Operational tweaks to SheriffBot
+ https://bugs.webkit.org/show_bug.cgi?id=36385
+
+ These changes aren't pretty, but they're helpful to make SheriffBot
+ work operationally. I plan to iterate in these areas, but I wanted to
+ get this patch landed so I could be running the bot against TOT.
+
+ * Scripts/webkitpy/commands/sheriffbot.py:
+ * Scripts/webkitpy/irc/ircbot.py:
+ * Scripts/webkitpy/thirdparty/autoinstalled/__init__.py:
+
+2010-03-19 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Help sheriff-bot avoid warning about flaky tests (and add more unit testing)
+ https://bugs.webkit.org/show_bug.cgi?id=36354
+
+ * Scripts/webkitpy/buildbot.py:
+ - Make Build creation easier to Mock and test
+ * Scripts/webkitpy/buildbot_unittest.py:
+ - Test finding green to red transitions and suspect revisions
+ * Scripts/webkitpy/commands/queries.py:
+ - Make what-broke note when builders have only failed once.
+
+2010-03-19 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Fix the rebaselining tool, which was broken by r36324 when I
+ added the concept of overridding expectations.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36374
+
+ * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py:
+
+2010-03-19 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Misc bug fixes to make the SheriffBot actually work
+ https://bugs.webkit.org/show_bug.cgi?id=36355
+
+ With these changes, I can actually run the sheriff-bot from start to
+ finish.
+
+ * Scripts/webkitpy/irc/ircproxy.py:
+ * Scripts/webkitpy/patch/patcher.py:
+ * Scripts/webkitpy/statusserver.py:
+
+2010-03-19 Adam Barth <abarth@webkit.org>
+
+ Unreviewed.
+
+ Actually import the sheriff-bot command so we can run it. Also, move
+ the bot to #webkit-test so it doesn't cause a ruckus while we test it.
+
+ * Scripts/webkitpy/patch/patcher.py:
+ * Scripts/webkitpy/irc/ircbot.py:
+
+2010-03-19 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Second cut at SheriffBot
+ https://bugs.webkit.org/show_bug.cgi?id=36353
+
+ This patch should contain a complete SheriffBot that's capable of
+ saying reasonable things on IRC. I had to refactor the use of
+ CommitInfo to make the SheriffBot testable, but I did the minimum
+ necessary. We should grow webkitcheckout over time to contain the
+ knowledge of ChangeLogs from scm.
+
+ * Scripts/webkitpy/commands/sheriffbot.py:
+ * Scripts/webkitpy/commands/sheriffbot_unittest.py:
+ * Scripts/webkitpy/mock_bugzillatool.py:
+ * Scripts/webkitpy/patch/patcher.py:
+ * Scripts/webkitpy/webkitcheckout.py: Added.
+
+2010-03-19 Adam Barth <abarth@webkit.org>
+
+ Unreviewed.
+
+ Fix Hyatt's IRC nickname.
+
+ * Scripts/webkitpy/committers.py:
+
+2010-03-19 Adam Barth <abarth@webkit.org>
+
+ Unreviewed.
+
+ Add IRC nicknames for the non-reviewer committers.
+
+ * Scripts/webkitpy/committers.py:
+
+2010-03-19 Adam Barth <abarth@webkit.org>
+
+ Unreviewed.
+
+ More reviewer IRC nicknames.
+
+ * Scripts/webkitpy/committers.py:
+
+2010-03-19 Adam Barth <abarth@webkit.org>
+
+ Unreviewed.
+
+ Add a bunch of IRC nicknames for reviewers.
+
+ * Scripts/webkitpy/committers.py:
+
+2010-03-19 Zoltan Horvath <zoltan@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ Added USE_SYSTEM_MALLOC flag to build-webkit
+ https://bugs.webkit.org/show_bug.cgi?id=21272
+
+ Add system-alloc flag to build-webkit. It makes easy to switch
+ between system allocator and TCmalloc.
+
+ * Scripts/build-webkit:
+
+2010-03-19 Adam Barth <abarth@webkit.org>
+
+ Unreviewed "build" fix.
+
+ Of course, I caused a regression in the file that isn't tested. :(
+
+ * Scripts/webkitpy/statusserver.py:
+
+2010-03-19 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Add basic "who-broke-it" command and revision -> broken builder association code
+ https://bugs.webkit.org/show_bug.cgi?id=36352
+
+ The "what-broke" command prints builders and what revisions we suspect
+ broke them. who-broke-it prints revisions and what builders we suspect
+ they broke. The sheriff-bot needs this revision to broken builder mapping
+ so this change adds it!
+
+ * Scripts/webkitpy/buildbot.py:
+ * Scripts/webkitpy/commands/queries.py:
+
+2010-03-19 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Simplify BuildBot core builder code for easier re-use
+ https://bugs.webkit.org/show_bug.cgi?id=36350
+
+ I simply couldn't see anything through all this Yak-hair.
+
+ * Scripts/webkitpy/buildbot.py:
+ * Scripts/webkitpy/commands/queries.py:
+
+2010-03-19 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ committers.py should know IRC nicknames
+ https://bugs.webkit.org/show_bug.cgi?id=36349
+
+ I'll add the actual nicknames in another patch.
+
+ * Scripts/webkitpy/committers.py:
+ * Scripts/webkitpy/committers_unittest.py:
+
+2010-03-18 Anders Bakken <agbakken@gmail.com>
+
+ Reviewed by Simon Hausmann.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36318
+
+ QtLauncher runs as a GuiClient by default in Qt Embedded which will
+ make it try to connect to an existing GuiServer. This patch makes it
+ run like a stand-alone app.
+
+ * QtLauncher/main.cpp:
+ (LauncherApplication::LauncherApplication):
+
+2010-03-19 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Move find_green_to_red_transition out of "what-broke" onto Builder for easier re-use
+ https://bugs.webkit.org/show_bug.cgi?id=36345
+
+ * Scripts/webkitpy/buildbot.py:
+ * Scripts/webkitpy/commands/queries.py:
+
+2010-03-19 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Actually pass the IRC password to the IRC object
+ https://bugs.webkit.org/show_bug.cgi?id=36346
+
+ I wanted to do this before, but both patches were in flight. This
+ patch finally closes the loop and makes the IRCProxy system complete.
+
+ * Scripts/webkitpy/patch/patcher.py:
+
+2010-03-18 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Add a StatusServer front end to the SVNRevision table on QueueStatusServer
+ https://bugs.webkit.org/show_bug.cgi?id=36344
+
+ No test because Browser was too hard to mock. :( I couldn't figure
+ out how to make Mock be a dictionary as well as an object.
+
+ * Scripts/webkitpy/statusserver.py:
+
+2010-03-18 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Split out CommitInfo class and add unit tests
+ https://bugs.webkit.org/show_bug.cgi?id=36343
+
+ Move more logic out of "what-broke" into a shared CommitInfo
+ class so that it can be used by other commands and unit tested.
+
+ * Scripts/webkitpy/commands/queries.py:
+ * Scripts/webkitpy/commitinfo.py: Added.
+ * Scripts/webkitpy/commitinfo_unittest.py: Added.
+ * Scripts/webkitpy/unittests.py:
+
+2010-03-18 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Fix LayoutTests/http/tests/appcache/max-size.html
+ https://bugs.webkit.org/show_bug.cgi?id=36207
+
+ Implement setAppCacheMaximumSize() for Qt.
+
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::setAppCacheMaximumSize):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+
+2010-03-18 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ QueueStatusServer should be able to log broken bots
+ https://bugs.webkit.org/show_bug.cgi?id=36341
+
+ We need to add a new table to the QueueStatusServer to store persistent
+ information for the SheriffBot. The new table will keep track of which
+ bots each SVN revision broke.
+
+ * QueueStatusServer/handlers/__init__.py:
+ * QueueStatusServer/handlers/svnrevision.py: Added.
+ * QueueStatusServer/handlers/updatebase.py: Added.
+ * QueueStatusServer/handlers/updatestatus.py:
+ * QueueStatusServer/handlers/updatesvnrevision.py: Added.
+ * QueueStatusServer/index.yaml:
+ * QueueStatusServer/main.py:
+ * QueueStatusServer/model/__init__.py:
+ * QueueStatusServer/model/svnrevision.py: Added.
+ * QueueStatusServer/templates/updatesvnrevision.html: Added.
+
+2010-03-18 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Add a new method to the Qt LayoutTestController for
+ changing media type and make the DRT support dry-run printing.
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::DumpRenderTree::DumpRenderTree):
+ (WebCore::DumpRenderTree::dryRunPrint):
+ * DumpRenderTree/qt/DumpRenderTreeQt.h:
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::setMediaType):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+
+2010-03-18 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Add upstream LayoutTests/platform/chromium* directories to the
+ baseline search path for new-run-webkit-tests in preparation for
+ upstreaming all of the Chromium baselines. Note that this does
+ not actually create the directories themselves, but that's okay.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36324
+
+ * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_win.py:
+
+2010-03-18 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36327
+ Test that a plug-in can override Node methods of its element
+
+ * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
+ (normalizeOverride):
+ (pluginInvoke):
+ Override "normalize", and call back to let a test know that the plug-in was called.
+
+2010-03-17 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Add the concept of an "overrides" file for expectations so that we
+ can store test_expectations both upstream and downstream for a port
+ that runs both in webkit.org and in a separate repository (like
+ Chromium). Also add some unit tests for the expectations module.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36249
+
+ * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py:
+ * Scripts/webkitpy/layout_tests/layout_package/test_expectations_test.py: Added.
+ * Scripts/webkitpy/layout_tests/port/base.py:
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+
+2010-03-18 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add an overlay QGraphicsTextItem to QtLauncher so we can display FPS info
+ on the launcher and not on the terminal anymore.
+
+ [Qt] QtLauncher's FPS info should be displayed on an overlay text item
+ https://bugs.webkit.org/show_bug.cgi?id=36244
+
+ * QtLauncher/webview.cpp:
+ (WebViewGraphicsBased::WebViewGraphicsBased):
+ (WebViewGraphicsBased::setFrameRateMeasurementEnabled):
+ (WebViewGraphicsBased::updateFrameRate):
+ * QtLauncher/webview.h:
+
+2010-03-18 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ First cut at SheriffBot
+ https://bugs.webkit.org/show_bug.cgi?id=36253
+
+ This patch contains a first attempt at writing a sheriff bot.
+ Currently, we're missing the logic that actually finds the SVN revision
+ numbers to complain about, but once we have that, we'll have the rest
+ of the infrustructure to ping IRC and to file bugs.
+
+ There's a lot to fill in for the SheriffBot, but this patch give us the
+ framework in which to do it.
+
+ This patch required a bit of refactoring of AbstractQueue because
+ SheriffBot is the first bot that doesn't process patches (it processes
+ SVN revisions). Accordingly, I've factored out AbstractPatchQueue to
+ hold the parts of AbstractQueue that are specific to dealing with
+ patches. Some of the choices here might not be obvious yet, but we can
+ tweak them as our needs become clearer.
+
+ * Scripts/webkitpy/commands/queues.py:
+ * Scripts/webkitpy/commands/queues_unittest.py:
+ * Scripts/webkitpy/commands/sheriffbot.py: Added.
+ * Scripts/webkitpy/commands/sheriffbot_unittest.py: Added.
+ * Scripts/webkitpy/mock_bugzillatool.py:
+ Added a MockIRC object to the mock tool.
+ * Scripts/webkitpy/multicommandtool.py:
+ Added a finalize method so the tool can disconnect from IRC
+ cleanly instead of just droping the socket.
+ * Scripts/webkitpy/multicommandtool_unittest.py:
+ * Scripts/webkitpy/patch/patcher.py:
+ Added support for talking to IRC.
+ * Scripts/webkitpy/unittests.py:
+ We should add a commands/unittests.py file at some point to make
+ the commands module more self-contained.
+
+2010-03-18 Antti Koivisto <koivisto@iki.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36102
+ [Qt] Scaling control API for tiled backing store
+
+ Add animated smooth zooming to Qt launcher when in tiled mode.
+
+ * QtLauncher/main.cpp:
+ (LauncherWindow::LauncherWindow):
+ (LauncherWindow::zoomAnimationFinished):
+ (LauncherWindow::applyZoom):
+ (LauncherWindow::zoomIn):
+ (LauncherWindow::zoomOut):
+ * QtLauncher/webview.h:
+ (WebViewGraphicsBased::graphicsWebView):
+
+2010-03-18 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Support using IRC accounts with a password
+ https://bugs.webkit.org/show_bug.cgi?id=36287
+
+ Add a global option to specify an IRC password so we can use the
+ sheriffbot account (which needs a password).
+
+ * Scripts/webkitpy/irc/ircbot.py:
+ * Scripts/webkitpy/irc/ircproxy.py:
+ * Scripts/webkitpy/patch/patcher.py:
+
+2010-03-18 Eric Seidel <eric@webkit.org>
+
+ Just fixing missing parenthesis typo, no review.
+
+ * Scripts/webkitpy/commands/queries.py: '%' has higher precedence than 'or', use parentheses.
+
+2010-03-18 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Adam Roben and Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36210
+ plugins/resize-from-plugin.html fails on some platforms
+
+ Turns out that most platforms don't use "cross-platform" main.cpp. Copied code added for
+ the test to their versions of the file.
+
+ * DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp:
+ (webkit_test_plugin_set_window):
+ * DumpRenderTree/win/TestNetscapePlugin/main.cpp:
+ (NPP_SetWindow):
+
+2010-03-18 Leandro Pereira <leandro@profusion.mobi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add support to run-launcher to open the EFL example browser.
+ http://webkit.org/b/36181
+
+ * Scripts/webkitdirs.pm:
+ * Scripts/run-launcher:
+
+2010-03-18 Sergio Villar Senin <svillar@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] Failing tests http/tests/misc/image-blocked-src-change.html
+ & http/tests/misc/image-blocked-src-no-change.html
+ https://bugs.webkit.org/show_bug.cgi?id=36227
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (webViewConsoleMessage): print only the file name instead of the
+ whole URI when printing messages with local URI's
+
+2010-03-18 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Teach what-broke how to look up reviewer and author Committer objects by name
+ https://bugs.webkit.org/show_bug.cgi?id=36264
+
+ * Scripts/webkitpy/commands/queries.py:
+ - Add committer_by_name lookups for both reviewer and author
+ - Improve printing in the cases where lookups fail.
+ * Scripts/webkitpy/committers.py:
+ - Add committer_by_name
+ * Scripts/webkitpy/committers_unittest.py:
+ - Test committer_by_name
+
+2010-03-17 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ create-rollout should actually fill out the description
+ https://bugs.webkit.org/show_bug.cgi?id=36261
+
+ * Scripts/webkitpy/commands/download.py:
+ The % operator was applied to the wrong string.
+ * Scripts/webkitpy/commands/download_unittest.py:
+ * Scripts/webkitpy/commands/upload_unittest.py:
+ * Scripts/webkitpy/mock_bugzillatool.py:
+ Add support for seeing what we actually do with create_bug.
+
+2010-03-17 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Accelerated Compositing is now default on QtWebKit so the option
+ in QtLauncher must be true as default.
+
+ [Qt] QtLauncher's Accelerated Compositing option must be true as default
+ https://bugs.webkit.org/show_bug.cgi?id=36234
+
+ * QtLauncher/main.cpp:
+ (LauncherWindow::applyPrefs):
+ (LauncherWindow::toggleAcceleratedCompositing):
+ (LauncherApplication::handleUserOptions):
+
+2010-03-17 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Commit queue should ignore (probably red) builders when landing rollouts
+ https://bugs.webkit.org/show_bug.cgi?id=36169
+
+ When landing a rollout, the builders are probably red, so we need to
+ ignore them in the subprocess too. Also, we might as well update the
+ working copy because we haven't validated anything about the current
+ revision prior to trying to land.
+
+ This change is testable, but it requires changing the mock executive to
+ log its arguments. That will generate a lot of expectation changes, so
+ I'd like to do that in a separate patch.
+
+ * Scripts/webkitpy/commands/queues.py:
+
+2010-03-17 Chang Shu <chang.shu@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36139
+ [Qt] Clean up cache each time DumpRenderTree starts. This behavior
+ matches other platforms, such as mac and gtk.
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::DumpRenderTree::DumpRenderTree):
+
+2010-03-17 Adam Barth <abarth@webkit.org>
+
+ Unreviewed.
+
+ Turns out this needs to be a string.
+
+ * Scripts/webkitpy/bugzilla.py:
+
+2010-03-17 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Add more infrastructure for sheriff-bot, including making what-broke more awesome
+ https://bugs.webkit.org/show_bug.cgi?id=36254
+
+ * Scripts/webkitpy/bugzilla.py:
+ - Made the various URL methods return None when passed None.
+ * Scripts/webkitpy/bugzilla_unittest.py:
+ - Test that the url methods work as expected.
+ * Scripts/webkitpy/buildbot.py:
+ - Add a static Build.build_url so that its possible to generate a build url without a Build object.
+ - Give users a URL in _fetch_xmlrpc_build_dictionary error message.
+ * Scripts/webkitpy/changelogs.py:
+ - Add a new ChangeLogEntry class to encapsulate entry-parsing logic.
+ - Add is_path_to_changelog to greatly simplify SCM.modified_changelogs code.
+ - Make ChangeLog.parse_latest_entry_from_file a public method.
+ * Scripts/webkitpy/changelogs_unittest.py:
+ - Add tests for new ChangeLog entry parsing.
+ * Scripts/webkitpy/commands/queries.py:
+ - Make "what-broke" not print "ok" builders, only failing ones.
+ - Print much more information on failing builders, including links and authorship/reviewer information.
+ * Scripts/webkitpy/commands/queues_unittest.py:
+ - Use a fake_checkout path since fixing the cwd (as part of fixing scm_unittests.py) was breaking tests.
+ * Scripts/webkitpy/mock_bugzillatool.py:
+ - Move MockSCM away from using os.getcwd() as that was fragile (and wrong).
+ * Scripts/webkitpy/patch/patcher.py:
+ - Remove code which was broken now that this file has moved.
+ - Code was also redundant now that SCM.find_checkout_root() exists.
+ * Scripts/webkitpy/scm.py:
+ - Greatly simplify modified_changelogs now that I understand list comprehensions.
+ - Expect ChangeLogEntry objects instead of raw strings.
+ - Add changed_files_for_revision, committer_email_for_revision and contents_at_revision
+ - Add commit_with_message argument to all sites since someone half-added it before. :(
+ - Get rid of copy/paste code using _status_regexp()
+ * Scripts/webkitpy/scm_unittest.py:
+ - Fix these tests!
+ - Add new tests for new scm code.
+ - Fix spelling of "awsome" to "awesome".
+
+2010-03-17 Daniel Bates <dbates@rim.com>
+
+ Rubber-stamped by David Levin.
+
+ Add myself to the list of reviewers.
+
+ * Scripts/webkitpy/committers.py:
+
+2010-03-17 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Change post-rollout to create-rollout and have it make a new bug
+ instead of posting the rollout to the old bug.
+ https://bugs.webkit.org/show_bug.cgi?id=36250
+
+ The new bug blocks the old bug instead of adding more complexity to the
+ old bug. One tricky question is whether to create the bug if we're
+ unable to create a rollout patch. In this patch, we do create the bug,
+ but we might revist this question in the future.
+
+ * Scripts/webkitpy/bugzilla.py:
+ * Scripts/webkitpy/commands/download.py:
+ * Scripts/webkitpy/commands/download_unittest.py:
+ * Scripts/webkitpy/steps/createbug.py:
+
+2010-03-17 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Add a way for the bots to send messages to IRC
+ https://bugs.webkit.org/show_bug.cgi?id=36235
+
+ We'll use these classes to notify #webkit about bad SVN revisions.
+ This patch just has some skeleton code for us to play with.
+
+ * Scripts/webkitpy/irc/__init__.py: Added.
+ * Scripts/webkitpy/irc/ircbot.py: Added.
+ A bot that knows how to talk to IRC.
+ * Scripts/webkitpy/irc/ircproxy.py: Added.
+ We need to run the bot on its own thread because the irclib needs
+ its own mainloop. This class provides an abstraction of the
+ threading.
+ * Scripts/webkitpy/irc/messagepump.py: Added.
+ * Scripts/webkitpy/irc/messagepump_unittest.py: Added.
+ * Scripts/webkitpy/irc/threadedmessagequeue.py: Added.
+ A thread-safe message queue for sending messages from the main
+ thread to the IRC thread.
+ * Scripts/webkitpy/irc/threadedmessagequeue_unittest.py: Added.
+ * Scripts/webkitpy/irc/unittests.py: Added.
+ * Scripts/webkitpy/thirdparty/autoinstalled/__init__.py:
+ Autoinstall irclib
+ * Scripts/webkitpy/unittests.py:
+
+2010-03-17 Victor Wang <victorw@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Fix image_diff syntax in webkitpy/port/base.py.
+ The syntax is wrong if diff_filename is specified.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36230
+
+ * Scripts/webkitpy/layout_tests/port/base.py:
+
+2010-03-16 Diego Gonzalez <diego.gonzalez@openbossa.org>
+
+ Reviewed by Kenneth Christiansen.
+
+ Provide to QtLauncher a way to change the ViewportUpdateMode
+ when it's in graphics based mode.
+
+ [Qt] Make QtLaucher able to select the ViewportUpdateMode
+ https://bugs.webkit.org/show_bug.cgi?id=36175
+
+ * QtLauncher/main.cpp:
+ (LauncherWindow::selectViewportUpdateMode):
+ (LauncherWindow::createChrome):
+
+2010-03-17 Zoltan Horvath <zoltan@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Ambiguous error message when building for unspecified platform
+ https://bugs.webkit.org/show_bug.cgi?id=30203
+
+ Add an extra line information to the error message.
+
+ * Scripts/webkitdirs.pm:
+
+2010-03-16 Adam Barth <abarth@webkit.org>
+
+ No review, rolling out r56044.
+ http://trac.webkit.org/changeset/56044
+ https://bugs.webkit.org/show_bug.cgi?id=36048
+
+ This patch broke Windows Debug (Tests)
+
+ * Scripts/webkitdirs.pm:
+
+2010-03-16 John Abd-El-Malek <jam@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Give keyboard focus to PluginDocuments by default
+ https://bugs.webkit.org/show_bug.cgi?id=36147
+
+ * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
+ (pluginAllocate):
+ * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.h:
+ * DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp:
+ (NPP_New):
+ (NPP_SetWindow):
+ (handleEventCarbon):
+ (handleEventCocoa):
+
+2010-03-16 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Fix run-webkit-httpd on Windows.
+
+ * Scripts/webkitperl/httpd.pm:
+
+2010-03-16 Alexey Proskuryakov <ap@apple.com>
+
+ Tiger build fix.
+
+ * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp: (pluginGetProperty):
+ Added more type casts to shut down warnings.
+
+2010-03-16 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36184
+ YouTube video resizing doesn't work with OOP plug-ins
+
+ Added a resizeTo() method, which calls resizePlugin() in JS with the same arguments,
+ and a lastSetWindowArguments property, which returns a string describing the last NPWindow
+ passed to NPN_SetWindow.
+
+ * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
+ (pluginGetProperty):
+ (testResizeTo):
+ (pluginInvoke):
+ * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.h:
+ * DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp:
+ (NPP_SetWindow):
+
+2010-03-16 Joanmarie Diggs <joanmarie.diggs@gmail.com>
+
+ Reviewed by Xan Lopez.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35504
+ [Gtk] Evaluate and fix AtkTable for layout tables
+
+ Implements rowCount and columnCount for Gtk in DRT.
+
+ * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
+ (AccessibilityUIElement::rowCount):
+ (AccessibilityUIElement::columnCount):
+
+2010-03-15 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Add "what-broke" command for debugging when the tree broke
+ https://bugs.webkit.org/show_bug.cgi?id=36157
+
+ This is another step towards automated sheriffing of the webkit tree.
+ With this logic our scripts are able to determine what revision broke the
+ tree. Buildbot should do this for us, but unfortunately buildbot doesn't
+ expose this kind of aggregate information.
+
+ * Scripts/webkitpy/buildbot.py:
+ - Add new Builder and Build classes (which will eventually replace the custom dictionaries previously used).
+ - Split out more network logic into _fetch methods which will eventually be their own class for mocking.
+ - Use XMLRPC to communicate with the buildbot master instead of scraping build pages.
+ * Scripts/webkitpy/buildbot_unittest.py:
+ - Test the newly added buildbot classes.
+ * Scripts/webkitpy/commands/queries.py:
+ - Add an experimental what-broke command.
+
+2010-03-15 Daniel Bates <dbates@rim.com>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36048
+
+ Detect if the Windows Platform SDK is missing when building with
+ Visual C++ Express Edition and inform the user to download it.
+
+ * Scripts/webkitdirs.pm:
+
+2010-03-15 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Let commit-queue land rollout patches even when the tree is red
+ https://bugs.webkit.org/show_bug.cgi?id=36155
+
+ Now the commit-queue will land patches whose name begins with "ROLLOUT "
+ even if the tree is red. The patches still go through the usual build
+ and test process, but they can be landed while the tree is on fire.
+
+ * Scripts/webkitpy/bugzilla.py:
+ * Scripts/webkitpy/commands/queues.py:
+ * Scripts/webkitpy/commands/queues_unittest.py:
+ * Scripts/webkitpy/commands/queuestest.py:
+ * Scripts/webkitpy/mock_bugzillatool.py:
+
+2010-03-15 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Add webkit-patch post-rollout to upload rollouts to bugs.webkit.org for easy committing
+ https://bugs.webkit.org/show_bug.cgi?id=36154
+
+ This new command is a mashup of prepare-rollout and post. This command
+ will be used by an experimental bot to post rollouts of patches that
+ break things to bugs.webkit.org where they can be landed with the
+ greatest of ease.
+
+ * Scripts/webkitpy/commands/download.py:
+ * Scripts/webkitpy/commands/download_unittest.py:
+ * Scripts/webkitpy/steps/__init__.py:
+ * Scripts/webkitpy/steps/postdiffforrevert.py: Added.
+
+2010-03-15 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ webkit-patch rollout should error out on conflicts
+ https://bugs.webkit.org/show_bug.cgi?id=36151
+
+ Instead of blindingly plowing ahead, we now throw an exception if there
+ are conflicts after applying a reverse diff.
+
+ * Scripts/webkitpy/scm.py:
+
+2010-03-15 Chris Fleizach <cfleizach@apple.com>
+
+ Unreviewed layout test fix.
+
+ VO not able to perform a VO-spacebar on facebook links
+ https://bugs.webkit.org/show_bug.cgi?id=36132
+
+ GTK needs to implement press for this test to work.
+
+ * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
+ (AccessibilityUIElement::press):
+
+2010-03-15 Chris Fleizach <cfleizach@apple.com>
+
+ Unreviewed layout test fix.
+
+ VO not able to perform a VO-spacebar on facebook links
+ https://bugs.webkit.org/show_bug.cgi?id=36132
+
+ Windows needs to implement press in DRT.
+
+ * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
+ (AccessibilityUIElement::press):
+
+2010-03-15 Chris Fleizach <cfleizach@apple.com>
+
+ Unreviewed. Fix break of layout tests on win and gtk.
+
+ VO not able to perform a VO-spacebar on facebook links
+ https://bugs.webkit.org/show_bug.cgi?id=36132
+
+ Attempting to implement press action for windows and gtk.
+
+ * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
+ (AccessibilityUIElement::press):
+ * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
+ (AccessibilityUIElement::press):
+
+2010-03-15 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ VO not able to perform a VO-spacebar on facebook links
+ https://bugs.webkit.org/show_bug.cgi?id=36132
+
+ * DumpRenderTree/AccessibilityUIElement.cpp:
+ (pressCallback):
+ (AccessibilityUIElement::getJSClass):
+ * DumpRenderTree/AccessibilityUIElement.h:
+ * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
+ (AccessibilityUIElement::press):
+ * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+ (AccessibilityUIElement::press):
+ * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
+ (AccessibilityUIElement::press):
+
+2010-03-15 Mark Rowe <mrowe@apple.com>
+
+ Add a new build slave to replace the existing SnowLeopard Leaks build slave which
+ appears to be suffering a slow and painful death at the hands of its graphics hardware.
+
+ * BuildSlaveSupport/build.webkit.org-config/config.json:
+
+2010-03-15 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Fix a minor case where we'd deference a null pointer if we tried
+ to run new-run-webkit-tests on an unsupported platform (e.g.
+ Cygwin's python version).
+
+ https://bugs.webkit.org/show_bug.cgi?id=36076
+
+ * Scripts/webkitpy/layout_tests/port/factory.py:
+
+2010-03-15 Darin Adler <darin@apple.com>
+
+ Tell Subversion about more directories that expect to have .pyc files.
+
+ * Scripts/webkitpy/layout_tests: Added property svn:ignore.
+ * Scripts/webkitpy/layout_tests/port: Added property svn:ignore.
+
+2010-03-15 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Operational scripts from running the EWS
+ https://bugs.webkit.org/show_bug.cgi?id=36097
+
+ These are the scripts I use to manage the EWS on EC2. If someone other
+ than me wants to run the EWS, these scripts might be helpful.
+
+ * EWSTools/boot.sh: Added.
+ * EWSTools/create-webkit-git: Added.
+ * EWSTools/screen-config: Added.
+ * EWSTools/start-queue.sh: Added.
+
+2010-03-14 Adam Barth <abarth@webkit.org>
+
+ Unreviewed.
+
+ Fix the webkit-patch bots. Turns out they need the path of the main
+ script to run properly.
+
+ * Scripts/webkit-patch:
+ * Scripts/webkitpy/patch/patcher.py:
+
+2010-03-14 Darin Adler <darin@apple.com>
+
+ Tell Subversion about more directories that expect to have .pyc files.
+
+ * Scripts/webkitpy/init: Added property svn:ignore.
+ * Scripts/webkitpy/patch: Added property svn:ignore.
+ * Scripts/webkitpy/thirdparty: Added property svn:ignore.
+ * Scripts/webkitpy/thirdparty/autoinstalled: Added property svn:ignore.
+
+2010-03-14 Antti Koivisto <koivisto@iki.fi>
+
+ Reviewed by Simon Hausmann.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35146
+ Support tiled backing store
+
+ QtLauncher support and build flag in build-webkit.
+
+ * QtLauncher/main.cpp:
+ (LauncherWindow::applyPrefs):
+ (LauncherWindow::toggleTiledBackingStore):
+ (LauncherWindow::toggleResizesToContents):
+ (LauncherWindow::createChrome):
+ (LauncherApplication::handleUserOptions):
+ * QtLauncher/webview.cpp:
+ (WebViewGraphicsBased::WebViewGraphicsBased):
+ (WebViewGraphicsBased::setResizesToContents):
+ (WebViewGraphicsBased::resizeEvent):
+ * QtLauncher/webview.h:
+ * Scripts/build-webkit:
+
+2010-03-13 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ The webkit-patch script now displays a warning if run using
+ a version of Python less than 2.5. This will help users
+ understand why webkit-patch is erroring out if they are
+ using Python 2.4, for example.
+
+ https://bugs.webkit.org/show_bug.cgi?id=31533
+
+ * Scripts/webkit-patch:
+ - Moved most of the file contents to webkitpy/patch/patcher.py
+ so the Python version can be checked before interpreting
+ any code that can cause the script to error out.
+ - Added a configure_logging() method to enable any version
+ warnings to show up.
+ - Added a main() method with calls to configure_logging(),
+ check_version(), and the main webkit patch method.
+
+ * Scripts/webkitpy/patch/__init__.py: Copied from WebKitTools/QueueStatusServer/filters/__init__.py.
+ - This file is required to make a folder a package.
+
+ * Scripts/webkitpy/patch/patcher.py: Added.
+ - Moved code from Scripts/webkit-patch.
+
+2010-03-13 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Changed test-webkitpy so that messages logged as a side-effect
+ of unit-testing code do not get displayed to the screen. These
+ messages clutter up the unit test results if not filtered out.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35835
+
+ * Scripts/test-webkitpy:
+ - Adjusted the configure_logging() method to filter out any
+ log messages from webkitpy.
+ - Also added an INFO message stating that most console logging
+ is getting suppressed.
+
+ * Scripts/webkitpy/init/versioning.py:
+ - Added a log parameter to the check_version() method.
+
+ * Scripts/webkitpy/init/versioning_unittest.py:
+ - Qualified a call to check_version() with the parameter names.
+
+2010-03-13 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ The test-webkitpy script now warns the user if the script is
+ being run using a Python version different from the minimum
+ version the webkitpy package was meant to support.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35788
+
+ Warning developers if their Python version is too low will help
+ them understand why test-webkitpy is failing. Secondly, warning
+ developers if their Python version is higher than the minimum will
+ help them understand that their changes may not be okay for the
+ minimum supported version, even if test-webkitpy is passing.
+
+ * Scripts/test-webkitpy:
+ - Moved the "from ..._unittest import *" lines to the new
+ file Scripts/webkitpy/unittests.py. This will allow the
+ version-check warning to be displayed even if an error occurs
+ while interpreting (i.e. importing) the unit test code.
+ - Added configure_logging() to configur logging for test-webkitpy.
+ - Added an init() method to configure logging and check the
+ current Python version.
+
+ * Scripts/webkitpy/init/unittests.py: Added.
+ - Added a file to import all unit test modules in the
+ webkitpy.init package.
+
+ * Scripts/webkitpy/init/versioning.py: Added.
+ - Added a _MINIMUM_SUPPORTED_PYTHON_VERSION variable and set
+ it equal to 2.5.
+ - Added a compare_version() method to compare the current Python
+ version against a target version.
+ - Added a check_version() method to check the current Python
+ version against the current minimum supported version, and to
+ log a warning message if the check fails.
+
+ * Scripts/webkitpy/init/versioning_unittest.py: Added.
+ - Added unit tests for the functions in versioning.py.
+
+ * Scripts/webkitpy/style/unittests.py:
+ - Fixed/updated a code comment.
+
+ * Scripts/webkitpy/unittests.py: Added.
+ - Moved the "from ..._unittest import *" lines from test-webkitpy.
+
+2010-03-13 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Moved all code in webkitpy/__init__.py to another location.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35828
+
+ Keeping webkitpy/__init__.py free of non-trivial code allows
+ calling code to import initialization code from webkitpy
+ before any errors or log messages occur due to code in
+ __init__.py. Such initialization code can include things like
+ version checking code and logging configuration code. This
+ also lets us move the autoinstall initialization code to a
+ location where it only executes if it is needed -- something
+ we have done in this patch.
+
+ * Scripts/webkitpy/__init__.py:
+ - Moved all executable code to the following location:
+ webkitpy/thirdparty/autoinstalled/__init__.py
+ - Added a code comment to keep this file free of non-trivial
+ code.
+
+ * Scripts/webkitpy/bugzilla.py:
+ - Updated mechanize import statement.
+
+ * Scripts/webkitpy/networktransaction.py:
+ - Updated mechanize import statement.
+
+ * Scripts/webkitpy/networktransaction_unittest.py:
+ - Updated mechanize import statement.
+
+ * Scripts/webkitpy/statusserver.py:
+ - Updated mechanize import statement.
+
+ * Scripts/webkitpy/thirdparty/autoinstalled/__init__.py: Added.
+ - Copied the code from webkitpy/__init__.py and updated it
+ as necessary.
+
+2010-03-13 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Moved webkitpy/mock.py into webkitpy/thirdparty since it is
+ third-party code.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35499
+
+ Updated the import statement in all of the below except where noted.
+
+ * Scripts/webkitpy/bugzilla_unittest.py:
+ * Scripts/webkitpy/commands/commandtest.py:
+ * Scripts/webkitpy/commands/download_unittest.py:
+ * Scripts/webkitpy/commands/early_warning_system_unittest.py:
+ * Scripts/webkitpy/commands/queries_unittest.py:
+ * Scripts/webkitpy/commands/queues_unittest.py:
+ * Scripts/webkitpy/commands/queuestest.py:
+ * Scripts/webkitpy/commands/upload.py:
+ * Scripts/webkitpy/commands/upload_unittest.py:
+ * Scripts/webkitpy/commands_references.py: Added.
+ - Added a file containing an absolute import of Mock so that
+ the imports in the commands folder can import from this file
+ (similar to style_references.py). This helps limit the
+ number of affected files in future refactorings.
+
+ * Scripts/webkitpy/credentials_unittest.py:
+ * Scripts/webkitpy/mock.py: Removed.
+ - Moved to Scripts/webkitpy/thirdparty.
+
+ * Scripts/webkitpy/mock_bugzillatool.py:
+ * Scripts/webkitpy/patchcollection_unittest.py:
+ * Scripts/webkitpy/steps/closebugforlanddiff_unittest.py:
+ * Scripts/webkitpy/steps/steps_unittest.py:
+ * Scripts/webkitpy/steps/updatechangelogswithreview_unittests.py:
+ * Scripts/webkitpy/steps_references.py: Added.
+ - Added a file containing an absolute import of Mock so that
+ the imports in the steps folder can import from this file
+ (similar to style_references.py). This helps limit the
+ number of affected files in future refactorings.
+
+ * Scripts/webkitpy/thirdparty/mock.py: Copied from WebKitTools/Scripts/webkitpy/mock.py.
+ - Also eliminated trailing white space and carriage returns.
+
+2010-03-12 Robert Hogan <robert@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Amend incorrect typo patch for QtLauncher.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35877
+
+ * QtLauncher/webview.cpp:
+ (WebViewGraphicsBased::setFrameRateMeasurementEnabled):
+
+2010-03-13 Victor Wang <victorw@chromium.org>
+
+ Add appengine app to host and serve webkit layout test results.
+
+ The app allows you post test result files (json) and serve them up.
+ Chromium flakiness dashboard will first use this app to host results.json
+ and expectations.json, but the files hosted by this app are not limited
+ to chromium results or json files. It can be used to host other files if needed.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35944
+
+ * TestResultServer: Added.
+ * TestResultServer/app.yaml: Added.
+ * TestResultServer/handlers: Added.
+ * TestResultServer/handlers/__init__.py: Added.
+ * TestResultServer/handlers/menu.py: Added.
+ * TestResultServer/handlers/testfilehandler.py: Added.
+ * TestResultServer/index.yaml: Added.
+ * TestResultServer/main.py: Added.
+ * TestResultServer/model: Added.
+ * TestResultServer/model/__init__.py: Added.
+ * TestResultServer/model/testfile.py: Added.
+ * TestResultServer/stylesheets: Added.
+ * TestResultServer/stylesheets/form.css: Added.
+ * TestResultServer/stylesheets/menu.css: Added.
+ * TestResultServer/stylesheets/testfile.css: Added.
+ * TestResultServer/templates: Added.
+ * TestResultServer/templates/menu.html: Added.
+ * TestResultServer/templates/showfilelist.html: Added.
+ * TestResultServer/templates/uploadform.html: Added.
+
+2010-03-13 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by David Levin.
+
+ new-run-webkit-tests fails with --debug option.
+ https://bugs.webkit.org/show_bug.cgi?id=36067
+
+ * Scripts/webkitpy/layout_tests/port/mac.py:
+
+2010-03-13 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add "Show FPS" menu option to QtLauncher.
+
+ [Qt] QtLauncher need a menu option to show/hide FPS
+ https://bugs.webkit.org/show_bug.cgi?id=35794
+
+ * QtLauncher/main.cpp:
+ (LauncherWindow::showFPS):
+ (LauncherWindow::createChrome):
+
+2010-03-13 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add a "Toggle FullScreen" option to QtLauncher Menu.
+
+ [Qt] QtLauncher needs an option to toggle FullScreen Mode
+ https://bugs.webkit.org/show_bug.cgi?id=35755
+
+ * QtLauncher/main.cpp:
+ (LauncherWindow::init):
+ (LauncherWindow::eventFilter):
+ (LauncherWindow::initializeView):
+ (LauncherWindow::toggleFullScreenMode):
+ (LauncherWindow::createChrome):
+
+2010-03-12 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Fix typo in websocket_server (path_from_base instead of
+ path_from_chromium_base).
+
+ https://bugs.webkit.org/show_bug.cgi?id=36074
+
+ * Scripts/webkitpy/layout_tests/port/websocket_server.py:
+
+2010-03-12 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ new-run-webkit-tests --new-baseline doesn't work at all.
+
+ It attempts to call a method that isn't defined. To fix it, I
+ removed the unnecessary and unnecessarily confusing 'platform'
+ argument to the test_type constructor and use the Port object that
+ is passed in instead, since we are only ever generating a baseline
+ from the port that is currently executing.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36046
+
+ * Scripts/webkitpy/layout_tests/port/mac.py:
+ * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+ * Scripts/webkitpy/layout_tests/test_types/test_type_base.py:
+
+2010-03-12 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Fix new-run-webkit-tests --run-singly
+
+ This script option is currently broken - the script attempts to
+ dereference methods and variables that don't exist, which causes
+ the Chromium Linux valgrind bot to be quite unhappy. This has been
+ broken since r54449 when I renamed Port.start_test_driver to
+ Port.start_driver.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36042
+
+ * Scripts/webkitpy/layout_tests/layout_package/test_shell_thread.py:
+
+2010-03-12 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Fix critical being printed to stderr on every test. This is
+ because the jar is only being created when soup hits the HTTP
+ path. We should reconsider the time of its creation.
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (resetDefaultsToConsistentValues):
+
+2010-03-12 Adam Roben <aroben@apple.com>
+
+ Teach prepare-ChangeLog to find modified selectors in CSS files
+
+ Reviewed by Tim Hatcher.
+
+ Fixes <http://webkit.org/b/36064> prepare-ChangeLog should extract
+ modified selectors from CSS files
+
+ * Scripts/prepare-ChangeLog:
+ (get_function_line_ranges): Call get_selector_line_ranges_for_css for
+ .css files.
+ (get_selector_line_ranges_for_css): Added. Finds selectors and their
+ line ranges and returns them.
+
+2010-03-12 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Build fix (for EWS). Make sure the new code builds on older soup.
+
+ Thanks to Dan Winship.
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (resetDefaultsToConsistentValues):
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::setAlwaysAcceptCookies):
+
+2010-03-12 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Eric Carlson.
+
+ [GTK] DRT does not handle cookie policy setting
+ https://bugs.webkit.org/show_bug.cgi?id=36056
+
+ Implement cookie accept policy setting for GTK+'s LayoutTestController.
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (resetDefaultsToConsistentValues):
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::setAlwaysAcceptCookies):
+
+2010-03-12 Adam Langley <agl@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [chromium]: update Linux layout test scripts for RedHat like systems.
+
+ (Tested on Fedora 12.)
+
+ https://bugs.webkit.org/show_bug.cgi?id=35867
+
+ * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
+
+2010-03-12 Adam Roben <aroben@apple.com>
+
+ Make svn-create-patch's diffs of ObjC header files more readable
+
+ Fixes <http://webkit.org/b/36055>.
+
+ Reviewed by John Sullivan.
+
+ * Scripts/svn-create-patch:
+ (diffOptionsForFile): Added. Returns the options that should be passed
+ to diff for the given file. All the options are the same for all
+ files, except for the option to specify which lines should be used as
+ hunk headers.
+ (generateDiff): Use diffOptionsForFile to get the options to pass to
+ diff.
+ (hunkHeaderLineRegExForFile): Added. Returns the regular expression
+ that should be used by diff to identify lines that should be included
+ after the "@@" in the hunk header lines of the diff. For ObjC[++]
+ source files, we use any lines starting with -, +, or
+ @implementation/@interface/@protocol. For ObjC[++] header files (which
+ we assume to be any .h files in a mac/ or objc/ directory), we use any
+ lines starting with @implementation/@interface/@protocol.
+
+2010-03-12 Jochen Eisinger <jochen@chromium.org>
+
+ Reviewed by Jeremy Orlow.
+
+ Introduce setWillSendRequestClearHeader to LayoutTestController to selectively remove headers in willSendRequest. Used in http/tests/security/no-referrer.html
+ https://bugs.webkit.org/show_bug.cgi?id=35920
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (setWillSendRequestClearHeaderCallback):
+ (LayoutTestController::staticFunctions):
+ * DumpRenderTree/LayoutTestController.h:
+ (LayoutTestController::willSendRequestClearHeaders):
+ (LayoutTestController::setWillSendRequestClearHeader):
+ * DumpRenderTree/mac/ResourceLoadDelegate.mm:
+ (-[ResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]):
+ * DumpRenderTree/win/ResourceLoadDelegate.cpp:
+ (ResourceLoadDelegate::willSendRequest):
+
+2010-03-11 Fumitoshi Ukai <ukai@chromium.org>
+
+ Unreviewed.
+
+ Fix typo in websocket_server.py
+
+ * Scripts/webkitpy/layout_tests/port/websocket_server.py:
+
+2010-03-11 Garret Kelly <gdk@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Fixing minor typo in the commit queue status page.
+ https://bugs.webkit.org/show_bug.cgi?id=35979
+
+ * Scripts/webkitpy/commands/queues.py:
+
+2010-03-11 Fumitoshi Ukai <ukai@chromium.org>
+
+ Unreviewed.
+
+ Fix for WebSocket layout test runner on chromium/win port.
+
+ * Scripts/webkitpy/layout_tests/port/websocket_server.py: register_cygwin and set CYGWIN_PATH
+
+2010-03-11 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by David Kilzer.
+
+ <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version
+
+ Default to using the appropriate SDK if the target Mac OS X version is not the current Mac OS X version.
+
+ * DumpRenderTree/mac/Configurations/Base.xcconfig:
+
+2010-03-11 Victor Wang <victorw@chromium.org>
+
+ Reviewed by dglazkov@chromium.org.
+
+ rebaseline_chromium_webkit_tests can generate new baselines for
+ all platforms so it needs to know two ports in order to work correctly:
+ the port that the script is running on and the port that it generates
+ new baselines for. Update rebaselining tool to handle both port correctly.
+
+ https://bugs.webkit.org/show_bug.cgi?id=36032
+
+ * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
+
+2010-03-11 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Tim Hatcher.
+
+ <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version
+
+ Introduce TARGET_MAC_OS_X_VERSION_MAJOR to represent the Mac OS X version that is being targeted. It defaults to the
+ current Mac OS X version unless otherwise specified.
+
+ Key off TARGET_MAC_OS_X_VERSION_MAJOR where we'd previously been keying off MAC_OS_X_VERSION_MAJOR.
+
+ Explicitly map from the target Mac OS X version to the preferred compiler since Xcode's default compiler choice
+ may not be usable when targetting a different Mac OS X version.
+
+ Key off TARGET_GCC_VERSION rather than MAC_OS_X_VERSION_MAJOR in locations where we'd previously been keying off
+ MAC_OS_X_VERSION_MAJOR but the decision is really related to the compiler version being used.
+
+ * DumpRenderTree/mac/Configurations/Base.xcconfig:
+ * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
+ * DumpRenderTree/mac/DumpRenderTree.mm: Wrap the include of mach-o/getsect.h in 'extern "C"' as some versions of the
+ header in older SDKs do not do this inside the header.
+
+2010-03-11 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35965
+ <rdar://problem/7742771> Crash when passing an object returned from plug-in back to the plug-in
+
+ Made rememberedObject a member of PluginObject. A plug-in must not use its references
+ to browser NPObjects after being destroyed, but this wasn't the case with static variable.
+
+ * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
+ (pluginInvoke):
+ (pluginInvalidate):
+ (pluginAllocate):
+ (pluginDeallocate):
+ * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.h:
+
+2010-03-11 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35905
+ REGRESSION(55699?): media/video-no-autoplay.html times out on Leopard Commit Bot
+
+ Make sure we reset the WebGL preference, so that WebGL doesn't get left
+ on after being enabled via layoutTestController.overridePreference(),
+ which in turn causes accelerated compositing to be enabled on Leopard
+ when we don't want it to be.
+
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (resetDefaultsToConsistentValues):
+
+2010-03-10 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ rebaseline_chromium_webkit_tests doesn't handle other plaforms
+ correctly (e.g., if you run on the Mac platform and try to
+ rebaseline the WIN results, the result gets written into
+ platform/mac instead of platform/chromium-win). Also, this script
+ doesn't work on non-Chromium ports, so we need to fix that at some
+ point.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35982
+
+ * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
+
+2010-03-10 Daniel Bates <dbates@rim.com>
+
+ Reviewed by Simon Hausmann.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35840
+
+ Updates the subroutine builtDylibPathForName() so that it adds the "d" suffix to
+ the QtWebKit library name on Windows. This change makes run-launcher work again
+ under Windows. Moreover, this change corresponds to the change made in change-
+ set 53924 <http://trac.webkit.org/changeset/53924>.
+
+ * Scripts/webkitdirs.pm:
+
+2010-03-10 Adam Roben <aroben@apple.com>
+
+ Roll out the prepare-ChangeLog part of r55870
+
+ This change wasn't needed (prepare-ChangeLog calls svn-create-patch
+ when it's asked to print out diffs for the user) and was screwing up
+ its ability to find changed function names.
+
+ * Scripts/prepare-ChangeLog:
+ (diffCommand): Change the options we pass to svn-diff back to their
+ pre-r55870 form.
+
+2010-03-10 Robert Hogan <robert@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Add Support for WebKitEnableCaretBrowsing to Qt DRT
+
+ Unskip test fast/events/multiline-link-arrow-navigation.html
+
+ https://bugs.webkit.org/show_bug.cgi?id=35593
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::WebPage::resetSettings):
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::overridePreference):
+ (LayoutTestController::setCaretBrowsingEnabled):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+
+2010-03-10 Robert Hogan <robert@webkit.org>
+
+ Reviewed by Holger Freyther.
+
+ QtLauncher: Fix typo in conditional statement in
+ WebViewGraphicsBased::setFrameRateMeasurementEnabled.
+
+ '=' should be '=='!
+
+ https://bugs.webkit.org/show_bug.cgi?id=35877
+
+ * QtLauncher/webview.cpp:
+ (WebViewGraphicsBased::setFrameRateMeasurementEnabled):
+
+2010-03-10 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Refactored and cleaned up the code for unit-testing logging.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35845
+
+ * Scripts/webkitpy/init/logtesting.py:
+ - Added more information to the module docstring.
+ - Added an assertMessages() method to the UnitTestLogStream
+ class. This simplifies the calling code.
+ - Renamed the UnitTestLog class to LogTesting, and reformulated
+ it as follows:
+ - Moved the logging configuration code from the __init__
+ method to a new static setUp() method.
+ - Documented the __init__ method to be private.
+ - Improved the code so that the root logger does not have
+ its logging level changed. Instead we set the handler's
+ level. This makes the unit testing more unintrusive.
+ - Updated the assertMessages() method to call the
+ UnitTestLogStream class's assertMessages() method.
+ - More fully documented the class.
+
+ * Scripts/webkitpy/style/checker.py:
+ - Added a logger parameter to the configure_logging() method.
+ This allows us to prevent test messages from being sent
+ to the root logger during unit testing, which may be
+ rendering to the screen, etc.
+ - Simplified the code by removing the _LevelLoggingFilter class.
+ - Replaced the _LevelLoggingFilter class with a one-line lambda
+ expression in configure_logging().
+
+ * Scripts/webkitpy/style/checker_unittest.py:
+ - Changed relative imports to absolute to comply more with PEP8.
+ - In the ConfigureLoggingTest class:
+ - Changed the setUp() method to prevent test messages from
+ being propagated to the root logger.
+ - Changed the _log() method to a data attribute.
+ - Updated to accommodate changes to logtesting.py.
+
+ * Scripts/webkitpy/style_references.py:
+ - Updated an import statement.
+
+2010-03-10 Evan Martin <evan@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Python code for GDB 7 to support native printing of some WebCore types.
+
+ * gdb/webcore.py: Added.
+
+2010-03-10 Adam Roben <aroben@apple.com>
+
+ Make svn-create-patch and prepare-ChangeLog show better section
+ headings for ObjC files
+
+ This makes the text at the end of each "@@" line in a diff actually
+ show the ObjC method or interface that contains the change, rather
+ than whatever the most-recently-defined C function was.
+
+ Fixes <http://webkit.org/b/35970>.
+
+ Reviewed by John Sullivan.
+
+ * Scripts/svn-create-patch: Pass -F'^[-+@]' to diff so that it will
+ treat any lines starting with -, +, or @ as section heading lines.
+ This works well for ObjC files, and shouldn't affect other types of
+ files.
+
+ * Scripts/prepare-ChangeLog: Changed the options passed to diff to
+ match those used in svn-create-patch.
+
+2010-03-10 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Link QtLauncher against the WebKit library using a relative rpath.
+
+ This makes the launcher and the lib relocatable.
+
+ * QtLauncher/QtLauncher.pro:
+
+2010-03-10 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Rubber-stamped by Simon Hausmann.
+
+ [iExploder] Add new CSS Properties and HTML Attributes
+
+ The update-iexploder-cssproperties script was used to update
+ the various input files. The autobuffer HTML Attribute was removed
+ from WebKit and I manually added it back to the htmlattrs.in like
+ we have done it for other attributes in the past.
+
+ * iExploder/htdocs/cssproperties.in:
+ * iExploder/htdocs/htmlattrs.in:
+ * iExploder/htdocs/htmltags.in:
+
+2010-03-09 Fumitoshi Ukai <ukai@chromium.org>
+
+ Unreviewed.
+
+ Obvious fix for --cgi-paths of pywebsocket.
+
+ * Scripts/run-webkit-websocketserver:
+ * Scripts/webkitpy/layout_tests/port/websocket_server.py:
+
+2010-03-09 Jakub Wieczorek <jwieczorek@webkit.org>
+
+ Unreviewed.
+
+ Adding myself to committers.py.
+
+ * Scripts/webkitpy/committers.py:
+
+2010-03-09 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Nate Chapin.
+
+ Fix --clobber-old-results in new-run-webkit-tests.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35778
+
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+
+2010-03-09 Andy Estes <aestes@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ Add the ability to dispatch scroll wheel events in DRT. This was
+ necessary in order to write a test for
+ https://bugs.webkit.org/show_bug.cgi?id=34700.
+
+ * DumpRenderTree/mac/EventSendingController.mm: Add support for two
+ new methods to EventSender: mouseScrollBy(x, y) and
+ continuousMouseScrollBy(x, y). The API to generate scroll events on
+ the mac was added in 10.5, so these methods are NOOPs on Tiger.
+ (+[EventSendingController isSelectorExcludedFromWebScript:]):
+ Regiester mouseScrollByX:andY: and continuousMouseScrollByX:andY:
+ (+[EventSendingController webScriptNameForSelector:]): Map JavaScript
+ method names to ObjC selectors.
+ (-[EventSendingController mouseScrollByX:andY:continuously:]): Generate
+ a scroll wheel event using CGEventCreateScrollWheelEvent() and dispatch
+ it to WebKit.
+ (-[EventSendingController continuousMouseScrollByX:andY:]): Generate a
+ continuous scrolling event by x and y pixels.
+ (-[EventSendingController mouseScrollByX:andY:]): Generate a notchy
+ scrolling event by x and y lines.
+
+2010-03-09 Chris Fleizach <cfleizach@apple.com>
+
+ DRT build fix for Tiger. No review.
+
+ AX: hit testing a list box doesn't work anymore
+ https://bugs.webkit.org/show_bug.cgi?id=35893
+
+ * DumpRenderTree/mac/AccessibilityControllerMac.mm:
+ (AccessibilityController::elementAtPoint):
+
+2010-03-09 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ AX: hit testing a list box doesn't work anymore
+ https://bugs.webkit.org/show_bug.cgi?id=35893
+
+ * DumpRenderTree/AccessibilityController.cpp:
+ (getElementAtPointCallback):
+ (AccessibilityController::getJSClass):
+ * DumpRenderTree/AccessibilityController.h:
+ * DumpRenderTree/gtk/AccessibilityControllerGtk.cpp:
+ (AccessibilityController::elementAtPoint):
+ * DumpRenderTree/mac/AccessibilityControllerMac.mm:
+ (AccessibilityController::elementAtPoint):
+ * DumpRenderTree/win/AccessibilityControllerWin.cpp:
+ (AccessibilityController::elementAtPoint):
+
+2010-03-03 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ pywebsocket should support html and cgi in the same directory.
+ https://bugs.webkit.org/show_bug.cgi?id=34879
+
+ Import pywebsocket 0.4.9.2
+ Specify --server-host 127.0.0.1, so that it only binds listening socket
+ to 127.0.0.1 to prevent access from non-localhost.
+ Change --cgi-paths from /websocket/tests/cookies to /websocket/tests,
+ because pywebsocket 0.4.9.2 supports html and cgi in the same directory
+ and only executable (httponly-cookies.pl) will be handled as cgi
+ script.
+
+ * Scripts/run-webkit-tests:
+ * Scripts/run-webkit-websocketserver:
+ * Scripts/webkitpy/layout_tests/port/websocket_server.py:
+ * Scripts/webkitpy/thirdparty/pywebsocket/README.webkit:
+ * Scripts/webkitpy/thirdparty/pywebsocket/example/echo_client.py:
+ * Scripts/webkitpy/thirdparty/pywebsocket/example/handler_map.txt: Added.
+ * Scripts/webkitpy/thirdparty/pywebsocket/mod_pywebsocket/standalone.py:
+ * Scripts/webkitpy/thirdparty/pywebsocket/mod_pywebsocket/util.py:
+ * Scripts/webkitpy/thirdparty/pywebsocket/setup.py:
+ * Scripts/webkitpy/thirdparty/pywebsocket/test/test_util.py:
+ * Scripts/webkitpy/thirdparty/pywebsocket/test/testdata/README: Added.
+ * Scripts/webkitpy/thirdparty/pywebsocket/test/testdata/hello.pl: Added.
+
+2010-03-09 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Simplified check-webkit-style's argument parsing code by removing
+ support for the vestigial "extra flag values" parameter.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34677
+
+ The "extra flag values" parameter was needed before WebKit
+ forked check-webkit-style from Google. It was used to pass
+ through the option parser those command-line flags that WebKit
+ required but that Google's parser did not support (the --git-commit
+ flag in particular).
+ We can remove the parameter now because it is no longer
+ needed and unnecessarily clutters the argument-parsing code.
+
+ * Scripts/webkitpy/style/optparser.py:
+ - Removed the extra_flag_values parameter from the
+ CommandOptionValues class's constructor.
+ - Removed the extra_flags parameter from the ArgumentParser
+ class's parse() method.
+
+ * Scripts/webkitpy/style/optparser_unittest.py:
+ - Removed from the unit tests all references to the
+ extra_flag_values variable.
+
+2010-03-08 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [DRT/Chromium] Add EventSender
+ https://bugs.webkit.org/show_bug.cgi?id=35859
+
+ Add EventSender classes, which are going to be used by
+ DumpRenderTree Chromium port. These files are based on:
+ - src/webkit/tools/test_shell/event_sending_controller.cc
+ - src/webkit/tools/test_shell/event_sending_controller.h
+ of Chromium rev.40492.
+
+ * DumpRenderTree/chromium/EventSender.cpp: Added.
+ * DumpRenderTree/chromium/EventSender.h: Added.
+
+2010-03-08 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [DRT/Chromium] Add PlainTextController and TextInputController
+ https://bugs.webkit.org/show_bug.cgi?id=35852
+
+ Add PlainTextController and TextInputController classes, which are going
+ to be used by DumpRenderTree Chromium port. These files are based on:
+ - src/webkit/tools/test_shell/plain_text_controller.{cc,h} and
+ - src/webkit/tools/test_shell/text_input_controller.{cc,h}
+ of Chromium rev.40492.
+
+ * DumpRenderTree/chromium/PlainTextController.cpp: Added.
+ * DumpRenderTree/chromium/PlainTextController.h: Added.
+ * DumpRenderTree/chromium/TextInputController.cpp: Added.
+ * DumpRenderTree/chromium/TextInputController.h: Added.
+
+2010-03-08 Dumitru Daniliuc <dumi@chromium.org>
+
+ Unreviewed, Chromium build fix.
+
+ Reverting r55689.
+
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+
+2010-03-08 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Fix webkit-patch post and land to work well with security bug
+ https://bugs.webkit.org/show_bug.cgi?id=35733
+
+ Bugzilla requires authentication to access security bug page,
+ so call authenticate() if it failed to fetch bug page.
+
+ * Scripts/webkitpy/bugzilla.py:
+
+2010-03-04 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Dimitry Glazkov.
+
+ Fix --clobber-old-results in new-run-webkit-tests.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35778
+
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+
+2010-03-08 Brady Eidson <beidson@apple.com>
+
+ Reviewed by NOBODY (but suggested by Steve Falkenburg and fixing a boneheaded mistake on my part last week)
+
+ Followup to https://bugs.webkit.org/show_bug.cgi?id=35532
+
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::apiTestGoToCurrentBackForwardItem): Can't pass in a null BOOL to WebKit APIs.
+
+2010-03-08 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Unreviewed.
+
+ Fixed incorrect import statement in validate-committer-lists:
+ webkitpy.BeautifulSoup -> webkitpy.thirdparty.BeautifulSoup.
+
+ * Scripts/validate-committer-lists:
+
+2010-03-08 Jian Li <jianli@chromium.org>
+
+ Reviewed by Dmitry Titov.
+
+ Blob.slice support.
+ https://bugs.webkit.org/show_bug.cgi?id=32993
+
+ Add ENABLE_BLOB_SLICE feature define and flag for build-webkit. It is
+ currently only turned on for Mac.
+
+ * Scripts/build-webkit:
+
+2010-03-08 Gustavo Noronha Silva <gns@gnome.org>
+
+ No review, rolling out r55662.
+ http://trac.webkit.org/changeset/55662
+ https://bugs.webkit.org/show_bug.cgi?id=35863
+
+ Need to be coordinated with bots setup
+
+ * Scripts/run-webkit-tests:
+
+2010-03-08 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Holger Freyther.
+
+ [GTK] Tests fail when running with ipv6 addresses available, on Debian systems
+ https://bugs.webkit.org/show_bug.cgi?id=35863
+
+ If running on a Debian-based system, also listen on the ipv6 address.
+
+ * Scripts/run-webkit-tests:
+
+2010-03-08 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Darin Adler.
+
+ [iexploder] Automatically update htmltags.in and htmlattrs.in too
+ https://bugs.webkit.org/show_bug.cgi?id=33755
+
+ Change the update-iexploder-cssproperites script to update
+ the htmlattrs.in and htmltags.in of WebKitTools/iExploder/htdocs
+ automatically as well.
+
+ Change the reading and writing code to work with parameters
+ and extend the method that is parsing the .in files to handle
+ the HTMLTagNames.in and the HTMLAttributeNames.in files.
+
+ Remove custom code to determine the revision of files with a
+ utility of VCUtils.pm to determine the revision of the directory
+ these files are located in. This will also work with git checkout.
+
+ * Scripts/update-iexploder-cssproperties:
+
+2010-03-07 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ check-webkit-style: false positive for empty loop
+ https://bugs.webkit.org/show_bug.cgi?id=35717
+
+ * Scripts/webkitpy/style/processors/cpp.py:
+ * Scripts/webkitpy/style/processors/cpp_unittest.py:
+
+2010-03-07 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [DRT/Chromium] Add AccessibilityController and AccessibilityUIElement
+ https://bugs.webkit.org/show_bug.cgi?id=35774
+
+ Add AccessibilityController and AccessibilityUIElement classes,
+ which are going to be used by DumpRenderTree Chromium port. These
+ files are based on:
+ - src/webkit/tools/test_shell/accessibility_controller.{cc,h} and
+ - src/webkit/tools/test_shell/accessibility_ui_element.{cc,h}
+ of Chromium rev.40492.
+
+ * DumpRenderTree/chromium/AccessibilityController.cpp: Added.
+ * DumpRenderTree/chromium/AccessibilityController.h: Added.
+ * DumpRenderTree/chromium/AccessibilityUIElement.cpp: Added.
+ * DumpRenderTree/chromium/AccessibilityUIElement.h: Added.
+
+2010-03-06 Hironori Bono <hbono@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ [Chromium] Typing into Flash with wmode = opaque|transparent and
+ non-latin language active outputs as if US keyboard layout active
+
+ https://bugs.webkit.org/show_bug.cgi?id=34936
+
+ To test keyboard events on the test plugin, this change implements
+ NPCocoaEventKeyDown and NPCocoaEventKeyUp handlers so the plugin
+ can write log messages.
+
+ * DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp:
+ (handleEventCocoa): Implemented the event handlers for NPCocoaKeyDown
+ and NPCocoaEventKeyUp.
+
+2010-03-05 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
+
+ Reviewed by Eric Seidel.
+
+ Fix Print option on QtLauncher by calling print directly from QWebFrame.
+
+ [Qt] QtLauncher Print option is not working on QGraphicsView mode
+ https://bugs.webkit.org/show_bug.cgi?id=35769
+
+ * QtLauncher/main.cpp:
+ (LauncherWindow::print):
+
+2010-03-05 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Changed the logging code for new-run-webkit-tests to use
+ module-specific loggers rather than the root logger. This is
+ a standard practice that allows logging specific to a package
+ to be configured independently of other modules.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35194
+
+ Added a line of the form "_log = logging.getLogger(<module>)"
+ to each module below, where <module> is the fully-qualified
+ name of the module, and updated the log lines to use the new
+ _log logger.
+
+ * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
+ * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py:
+ * Scripts/webkitpy/layout_tests/layout_package/test_shell_thread.py:
+ * Scripts/webkitpy/layout_tests/port/apache_http_server.py:
+ * Scripts/webkitpy/layout_tests/port/chromium.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_win.py:
+ * Scripts/webkitpy/layout_tests/port/http_server.py:
+ * Scripts/webkitpy/layout_tests/port/http_server_base.py:
+ * Scripts/webkitpy/layout_tests/port/mac.py:
+ * Scripts/webkitpy/layout_tests/port/websocket_server.py:
+ * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+ * Scripts/webkitpy/layout_tests/test_types/fuzzy_image_diff.py:
+ * Scripts/webkitpy/layout_tests/test_types/image_diff.py:
+ * Scripts/webkitpy/layout_tests/test_types/test_type_base.py:
+ * Scripts/webkitpy/layout_tests/test_types/text_diff.py:
+
+2010-03-05 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Eric Siedel.
+
+ Split the command-line invocation of the Chromium/python LigHTTPd
+ server implementation out into its own top level script to make it
+ a more "public" interface and to resolve some awkward layering
+ issues. This script will be called directly by other test scripts in
+ the Chromium tree.
+
+ At some point this script should be made to work with Apache-based
+ implementations and on other ports. I have filed
+ https://bugs.webkit.org/show_bug.cgi?id=35820 for this.
+
+ Also fix a bug in port/factory where options.chromium could be
+ dereferenced even if it wasn't set, raising an exception.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35812
+
+ * Scripts/webkitpy/layout_tests/port/factory.py:
+ * Scripts/webkitpy/layout_tests/port/http_server.py:
+ * Scripts/new-run-webkit-httpd: Added
+
+2010-03-02 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Holger Freyther
+ Patch by Antonio Gomes <tonikitoo@webkit.org>
+
+ [Gtk] Implement setSpatialNavigationEnabled in DRT.
+ https://bugs.webkit.org/show_bug.cgi?id=35705
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (resetDefaultsToConsistentValues):
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::setSpatialNavigationEnabled):
+
+2010-02-23 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Kenneth Christiansen.
+ Patch by Antonio Gomes <tonikitoo@webkit.org>
+
+ Add toggle on/off stub methods for Spatial Navigation in win, gtk and mac LayoutTestController class implementations.
+ https://bugs.webkit.org/show_bug.cgi?id=35699
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (setSpatialNavigationEnabledCallback):
+ (LayoutTestController::staticFunctions):
+ * DumpRenderTree/LayoutTestController.h:
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::setSpatialNavigationEnabled):
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (LayoutTestController::setSpatialNavigationEnabled):
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::setSpatialNavigationEnabled):
+
+2010-02-18 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Kenneth Christiansen.
+ Patch by Antonio Gomes <tonikitoo@webkit.org>
+
+ Add toggle on/off mechanism for Spatial Navigation in QtLauncher.
+
+ * QtLauncher/main.cpp:
+ (LauncherWindow::toggleSpatialNavigation):
+ (LauncherWindow::setupUI):
+
+2010-03-02 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Simon Hausmann.
+ Patch by Antonio Gomes <tonikitoo@webkit.org>
+
+ [Qt] Add setSpatialNavigationEnabled method DRT
+ https://bugs.webkit.org/show_bug.cgi?id=33715
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::WebPage::WebPage):
+ (WebCore::WebPage::resetSettings):
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::setSpatialNavigationEnabled):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+
+ Unskipped fast/events/spatialnavigation/
+
+2010-03-04 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Alice Liu.
+
+ Find the framework relative to TARGET_BUILD_DIR as that has a more obvious value during production builds.
+
+ * Scripts/check-for-webkit-framework-include-consistency:
+
+2010-03-04 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [DRT/Chromium] Add CppVariant and CppBoundClass
+ https://bugs.webkit.org/show_bug.cgi?id=35634
+
+ Add CppVariant and CppBoundClass classes, which are going to be
+ used by DumpRenderTree Chromium port. These files are based on:
+ - src/webkit/glue/cpp_variant.{cc,h} and
+ - src/webkit/glue/cpp_bound_class.{cc,h}
+ of Chromium rev.40492.
+
+ * DumpRenderTree/chromium/CppBoundClass.cpp: Added.
+ * DumpRenderTree/chromium/CppBoundClass.h: Added.
+ * DumpRenderTree/chromium/CppVariant.cpp: Added.
+ * DumpRenderTree/chromium/CppVariant.h: Added.
+
+2010-03-04 Mark Rowe <mrowe@apple.com>
+
+ Build fix for older versions of Ruby.
+
+ * Scripts/check-for-webkit-framework-include-consistency:
+
+2010-03-04 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add a script to verify that WebKit framework headers are internally consistent.
+
+ This script detects the following problematic situations:
+ * An exported WebKit header that includes a header from WebCore.
+ * An exported WebKit header that includes a header that does not exist in the WebKit framework.
+ * A public WebKit header that includes a private WebKit header.
+
+ * Scripts/check-for-webkit-framework-include-consistency: Added.
+
+2010-03-04 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Adam Roben.
+
+ Making sure that the correct path is set before invoking
+ DumpRenderTree on cygwin.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35768
+
+ * Scripts/run-webkit-tests:
+
+2010-03-04 Simon Fraser <simon.fraser@apple.com>
+
+ Revert the exceptions I just added, and make the error clearer.
+
+ * Scripts/check-for-global-initializers:
+
+2010-03-04 Simon Fraser <simon.fraser@apple.com>
+
+ Build fix: add exceptions to the check-for-global-initializers script
+ for FocusController and SpatialNavigation, and improve the script
+ to actually print out the globals found.
+
+ * Scripts/check-for-global-initializers:
+
+2010-03-04 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Fix dangling reference to "port" instead of "self._port_obj" that
+ was preventing the http_server from starting on Windows.
+
+ * Scripts/webkitpy/layout_tests/port/http_server.py:
+
+2010-03-04 Diego Gonzalez <diego.gonzalez@openbossa.org>
+
+ Reviewed by Simon Hausmann.
+
+ Make Qt DumpRenderTree EventSender able to send double click events
+
+ LayoutTests:
+ fast/events/dblclick-addEventListener.html
+
+ [Qt] DRT: Send double click event from EventSender
+ https://bugs.webkit.org/show_bug.cgi?id=35255
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting):
+ * DumpRenderTree/qt/EventSenderQt.cpp:
+ (EventSender::EventSender):
+ (EventSender::mouseDown):
+ * DumpRenderTree/qt/EventSenderQt.h:
+ (EventSender::resetClickCount):
+
+2010-03-04 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Make the OUTPUT_DIR variable in qmake projects independent of build-webkit's logic.
+
+ This also allows shadow builds relying only on qmake to work properly.
+
+ * DumpRenderTree/qt/DumpRenderTree.pro:
+ * DumpRenderTree/qt/ImageDiff.pro:
+ * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro:
+ * QtLauncher/QtLauncher.pro:
+
+2010-03-04 Gabor Rapcsanyi <rgabor@inf.u-szeged.hu>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Enable to use built-product-archive on Qt platform.
+
+ * BuildSlaveSupport/built-product-archive:
+
+2010-03-03 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
+
+ Reviewed by Simon Hausmann.
+
+ Add a missing 'm_' to class variables names.
+
+ [Qt] QtLauncher is not respecting class variable names
+ https://bugs.webkit.org/show_bug.cgi?id=35542
+
+ * QtLauncher/main.cpp:
+ (LauncherWindow::LauncherWindow):
+ (LauncherWindow::init):
+ (LauncherWindow::sendTouchEvent):
+ (LauncherWindow::eventFilter):
+ (LauncherWindow::zoomIn):
+ (LauncherWindow::zoomOut):
+ (LauncherWindow::resetZoom):
+ (LauncherWindow::setEditable):
+ (LauncherWindow::setTouchMocking):
+ (LauncherWindow::initializeView):
+ (LauncherWindow::createChrome):
+
+2010-03-03 Alexey Proskuryakov <ap@apple.com>
+
+ Rubber-stamped by Mark Rowe.
+
+ Exclude leaks in Java that build bot complains about.
+
+ * Scripts/run-webkit-tests:
+
+2010-03-03 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Additional change to separate Accelerated Compositing test from 3D Rendering test
+ https://bugs.webkit.org/show_bug.cgi?id=35610
+
+ I am now using #if ENABLED(3D_RENDERING) to emit the 3DRendering string from
+ DRT or not. This allows these flags to set independently. I also improved
+ the code flow in run-webkit-tests a bit.
+
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (main):
+ * Scripts/run-webkit-tests:
+
+2010-03-03 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Added ability to print supported features to console to DRT
+ https://bugs.webkit.org/show_bug.cgi?id=35610
+
+ This currently only prints whether or not Accelerated Compositing
+ and 3D Rendering are supported, which is the only way to tell if you
+ can run the compositing LayoutTests on Windows. But it can be expanded
+ to give more information as needed. Currently it prints that both
+ AcceleratedCompositing and 3DRendering are available if accelerated compositing
+ is enabled since both have to be turned on together. This allows me to maintain
+ separate checks for them.
+
+ * DumpRenderTree/win/DumpRenderTree.cpp:Added --print-supported-features flag
+ (main):
+ * Scripts/run-webkit-tests:Runs DRT and enabled compositing tests if HW comp is available on Windows
+
+2010-03-03 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
+
+ Reviewed by Simon Hausmann.
+
+ Refactor QtLauncher so it respects command line arguments
+ and inherits settings when you clone or create a new window.
+
+ Implemented with help of Kenneth Rohde Christiansen.
+
+ [Qt] QtLauncher must be refactored to fix command line arguments usage
+ https://bugs.webkit.org/show_bug.cgi?id=35536
+
+ * QtLauncher/main.cpp:
+ (LauncherWindow::LauncherWindow):
+ (LauncherWindow::init):
+ (LauncherWindow::isGraphicsBased):
+ (applySetting):
+ (LauncherWindow::applyPrefs):
+ (LauncherWindow::initializeView):
+ (LauncherWindow::newWindow):
+ (LauncherWindow::cloneWindow):
+ (LauncherWindow::createChrome):
+ (main):
+ * QtLauncher/webview.cpp:
+ (WebViewGraphicsBased::WebViewGraphicsBased):
+ (WebViewGraphicsBased::setFrameRateMeasurementEnabled):
+ * QtLauncher/webview.h:
+ (WebViewGraphicsBased::itemCacheMode):
+ (WebViewGraphicsBased::frameRateMeasurementEnabled):
+
+2010-03-02 Arno Renevier <arno@renevier.net>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ [Gtk] implements ChromeClient::requestGeolocationPermissionForFrame
+ https://bugs.webkit.org/show_bug.cgi?id=35210
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (geolocationPolicyDecisionRequested):
+ (createWebView):
+
+2010-03-02 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by David Levin.
+
+ Revert r55339 - the Chromium codebase downstream had a temporary
+ need for WebKitTools/pywebsocket to still exist after Chris Jerdonek
+ had moved it (scripts still referenced the old location). Those
+ scripts have been updated to the new location, so it should be safe
+ to delete this now.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35614
+
+ * pywebsocket/mod_pywebsocket/standalone.py: Removed.
+
+2010-03-02 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ new-run-webkit-tests on chromium-linux tests to see if
+ layout_test_helper exists, but we don't use layout_test_helper on
+ linux. The test derefences a None object, and we crash. This fixes
+ that.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35602
+
+ * Scripts/webkitpy/layout_tests/port/chromium.py:
+
+ 2010-03-02 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ r55388 (bug 35553) worked around a bug in Python's subprocess.Popen()
+ that was causing DRT to hang on exit in new-run-webkit-tests.
+ Unfortunately, that workaround doesn't work on chromium-win
+ (and the script fails completely). The good news is that the check
+ isn't actually necessary, and so this change makes it conditional.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35601
+
+ * Scripts/webkitpy/layout_tests/port/chromium.py:
+
+2010-03-02 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 35576: WebKit should tell plug-in instances when private browsing state changes
+ <http://webkit.org/b/35576>
+
+ TestNetscapePlugin is another bit of plug-in code where copy-paste was heavily used
+ when porting. Update the Windows and UNIX implementations of NPP_New and NPP_SetValue
+ to provide the expected behavior related to NPNVprivateModeBool. Hopefully this code
+ duplication can be cleaned up in the future.
+
+ * DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp:
+ (webkit_test_plugin_new_instance):
+ (webkit_test_plugin_set_value):
+ * DumpRenderTree/win/TestNetscapePlugin/main.cpp:
+ (NPP_New):
+ (NPP_SetValue):
+
+2010-03-02 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Test plugin still has issues with releasing objects, and variants
+ https://bugs.webkit.org/show_bug.cgi?id=35587
+
+ Fix the conditions for releasing the variants after calling
+ invoke, and avoid having a number of objects leak.
+
+ * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
+ (testDocumentOpen):
+ (testWindowOpen):
+
+2010-03-02 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Refactored the StyleChecker class's file-processing method
+ _process_file(). This will make it easier to add new
+ file-processing capabilities to check-webkit-style.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35490
+
+ * Scripts/webkitpy/style/checker.py:
+ - Added a _read_lines() method to the StyleChecker class
+ that extracts the lines from a file.
+ - Replaced part of _process_file() with a call to the new
+ _read_lines() method.
+ - Replaced another part of _process_file() with a call
+ to the new CarriageReturnProcessor.process() method.
+
+ * Scripts/webkitpy/style/processors/common.py:
+ - Replaced the check_no_carriage_return() function with a
+ new CarriageReturnProcessor class.
+
+ * Scripts/webkitpy/style/processors/common_unittest.py:
+ - Renamed the CarriageReturnTest class to
+ CarriageReturnProcessorTest and updated it as necessary.
+
+2010-03-02 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Started using the logging module in check-webkit-style.
+ This provides more options for debugging and a more flexible,
+ uniform way to report messages to the end-user.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35484
+
+ Also included classes in a central location to facilitate
+ the unit testing of logging code (setUp and tearDown of unit
+ test logging configurations, etc).
+
+ * Scripts/check-webkit-style:
+ - Added a call to configure_logging() in the beginning of main().
+ - Replaced two calls to sys.stderr.write() with appropriate
+ logging calls.
+
+ * Scripts/webkitpy/init/__init__.py: Copied from WebKitTools/QueueStatusServer/filters/__init__.py.
+
+ * Scripts/webkitpy/init/logtesting.py: Added.
+ - Added a UnitTestLogStream class to capture log output
+ during unit tests.
+ - Added a UnitTestLog class that provides convenience methods
+ for unit-testing logging code.
+
+ * Scripts/webkitpy/style/checker.py:
+ - Added a configure_logging() method.
+ - Added a _LevelLoggingFilter class to filter out log messages
+ above a certain logging level.
+ - Removed the _stderr_write() method from the StyleChecker class
+ and replaced its use with appropriate logging calls.
+
+ * Scripts/webkitpy/style/checker_unittest.py:
+ - Added a ConfigureLoggingTest class to unit test the
+ configure_logging() method.
+ - Updated the StyleCheckerCheckFileTest class as necessary.
+
+ * Scripts/webkitpy/style_references.py:
+ - Added references to logtesting.UnitTestLog and
+ logtesting.UnitTestLogStream.
+
+2010-03-01 Chris Fleizach <cfleizach@apple.com>
+
+ Fixing broken DRT on Leopard/Tiger. Second try.
+
+ AX: changes to WAI-ARIA grid aren't perceived correctly by VoiceOver
+ https://bugs.webkit.org/show_bug.cgi?id=35514
+
+ * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+
+2010-03-01 Chris Fleizach <cfleizach@apple.com>
+
+ Fixing broken DRT on Leopard/Tiger.
+
+ AX: changes to WAI-ARIA grid aren't perceived correctly by VoiceOver
+ https://bugs.webkit.org/show_bug.cgi?id=35514
+
+ * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+
+2010-03-01 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Eric Seidel.
+
+ [GTK] plugins/setProperty.html fails on 64bit Release
+ https://bugs.webkit.org/show_bug.cgi?id=35425
+
+ Check invoke's return code before releasing the variant, since
+ there's a chance it won't be properly initialized, leading to
+ memory corruption, in some cases.
+
+ * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
+ (testCallback):
+ (testEnumerate):
+ (testDocumentOpen):
+ (testWindowOpen):
+ (handleCallback):
+
+2010-03-01 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by nobody. Build bustage :(
+
+ Fix stupid typo that I committed even after David Levin pointed
+ it out to me :(
+
+ https://bugs.webkit.org/show_bug.cgi?id=35553
+
+ * Scripts/webkitpy/layout_tests/port/mac.py:
+
+2010-03-01 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ AX: changes to WAI-ARIA grid aren't perceived correctly by VoiceOver
+ https://bugs.webkit.org/show_bug.cgi?id=35514
+
+ Add rowCount, columnCount for tables.
+
+ * DumpRenderTree/AccessibilityUIElement.cpp:
+ (rowCountCallback):
+ (columnCountCallback):
+ (AccessibilityUIElement::getJSClass):
+ * DumpRenderTree/AccessibilityUIElement.h:
+ * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
+ (AccessibilityUIElement::rowCount):
+ (AccessibilityUIElement::columnCount):
+ * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+ (AccessibilityUIElement::rowCount):
+ (AccessibilityUIElement::columnCount):
+ * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
+ (AccessibilityUIElement::rowCount):
+ (AccessibilityUIElement::columnCount):
+
+2010-03-01 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Work around a bug in Python's subprocess.Popen() that keeps us from
+ cleaning up DumpRenderTree / test_shell properly when we finish the
+ tests in new-run-webkit-tests.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35553
+
+ * Scripts/webkitpy/layout_tests/port/chromium.py:
+ * Scripts/webkitpy/layout_tests/port/mac.py:
+
+2010-03-01 Arno Renevier <arno@renevier.net>
+
+ Reviewed by Xan Lopez.
+
+ webkit-build could pass unknown arguments to autogen.sh
+ https://bugs.webkit.org/show_bug.cgi?id=35454
+
+ * Scripts/build-webkit:
+
+2010-03-01 Dirk Pranke <dpranke@chromium.org>
+
+ Rubber-stamped by Dimitri Glazkov.
+
+ Fix breakage from r55372.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35549
+
+ * Scripts/webkitpy/layout_tests/port/chromium.py:
+
+2010-03-01 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ EWS can hang for five hours when compile output is too big
+ https://bugs.webkit.org/show_bug.cgi?id=35545
+
+ * Scripts/webkitpy/commands/queues.py: Limit uploads to 1MB instead of
+ 5MB. AppEngine seems to not like 5MB uploads. I'm not sure what the
+ limit is. Let's try 1MB for a while and see how it goes.
+ * Scripts/webkitpy/networktransaction.py: Tune the default parameters
+ to our exponential backoff. I'm not sure why I picked five hours as
+ the retry limit. That seems way too large.
+
+2010-03-01 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ REGRESSION: Telling a WebView to go to its current WebHistoryItem is broken.
+ <rdar://problem/7699371> and https://bugs.webkit.org/show_bug.cgi?id=35532
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (apiTestGoToCurrentBackForwardItemCallback):
+ (LayoutTestController::staticFunctions):
+ * DumpRenderTree/LayoutTestController.h:
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (LayoutTestController::apiTestGoToCurrentBackForwardItem):
+
+ Stubs for now:
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::apiTestGoToCurrentBackForwardItem):
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::apiTestGoToCurrentBackForwardItem):
+ * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
+ (LayoutTestController::apiTestGoToCurrentBackForwardItem):
+
+2010-03-01 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by David Levin.
+
+ General cleanup of error handling in new-run-webkit-tests.
+
+ Add Port.check_build() call that is separate from Port.check_sys_deps()
+ (and add a --nocheck-build flag to skip). This breaks a circular
+ dependency where you would start the layout test helper before
+ checking sys deps, but checking sys deps was the thing that told
+ you if your binaries where there.
+
+ Also, made Port.check_sys_deps(), start_helper() and stop_helper()
+ optional by providing default implementations in the base class
+ rather than requiring ports to implement the routines regardless
+ of whether or not they were needed.
+
+ Lastly, tweak a bunch of log messages to be cleaner, including
+ changing messages in thirdparty/autoinstall.py to be silent at
+ the default log level.
+
+ http://bugs.webkit.org/show_bug.cgi?id=35416
+
+ * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py:
+ * Scripts/webkitpy/layout_tests/port/base.py:
+ * Scripts/webkitpy/layout_tests/port/chromium.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_win.py:
+ * Scripts/webkitpy/layout_tests/port/mac.py:
+ * Scripts/webkitpy/layout_tests/port/passing.py:
+ * Scripts/webkitpy/layout_tests/port/test.py:
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+ * Scripts/webkitpy/thirdparty/autoinstall.py
+
+2010-03-01 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by David Levin.
+
+ new-chromium-webkit-tests --platform=mac-leopard diffs are backwards
+ https://bugs.webkit.org/show_bug.cgi?id=35265
+
+ Some parts of the code passed arguments as
+ "actual, expected" and some passed as "expected, actual".
+ As you might imagine, this lead to great confusion and wrongness.
+ Standardize on "expected, actual" as that's the order which is
+ passed to the underlying diff tool.
+
+ Based on a patch by Eric Siedel <eric@webkit.org>.
+
+ * Scripts/webkitpy/layout_tests/port/base.py:
+ * Scripts/webkitpy/layout_tests/port/chromium.py:
+ * Scripts/webkitpy/layout_tests/port/test.py:
+ * Scripts/webkitpy/layout_tests/test_types/image_diff.py
+
+2010-03-01 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Unreviewed.
+
+ Rolling out: http://trac.webkit.org/changeset/55348
+
+ https://bugs.webkit.org/show_bug.cgi?id=35163
+
+ Rolling out since the changes to autoinstall do not work
+ with Python 2.4. In particular, ZipFile.extractall() was
+ added in Python 2.6.
+
+ * Scripts/webkitpy/__init__.py:
+ * Scripts/webkitpy/bugzilla.py:
+ * Scripts/webkitpy/init/__init__.py: Removed.
+ * Scripts/webkitpy/init/autoinstall.py: Removed.
+ * Scripts/webkitpy/networktransaction.py:
+ * Scripts/webkitpy/networktransaction_unittest.py:
+ * Scripts/webkitpy/statusserver.py:
+ * Scripts/webkitpy/thirdparty/autoinstall.py: Added.
+
+2010-03-01 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Unreviewed.
+
+ Rolling out r55350: http://trac.webkit.org/changeset/55350
+
+ https://bugs.webkit.org/show_bug.cgi?id=33639
+
+ Need to roll out because this patch (pep8) depends on the newly
+ rewritten autoinstall.py (r55348), which is breaking for people
+ with Python 2.4:
+
+ https://bugs.webkit.org/show_bug.cgi?id=35163#c21
+
+ That revision also needs to be rolled out and will be rolled out next.
+
+ * Scripts/webkitpy/style/checker.py:
+ * Scripts/webkitpy/style/checker_unittest.py:
+ * Scripts/webkitpy/style/processors/python.py: Removed.
+ * Scripts/webkitpy/style/processors/python_unittest.py: Removed.
+ * Scripts/webkitpy/style/processors/python_unittest_input.py: Removed.
+ * Scripts/webkitpy/style/unittests.py:
+ * Scripts/webkitpy/style_references.py:
+
+2010-02-28 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Exempted WebKitTools/Scripts/webkitpy/thirdparty from all
+ style checks except for the whitespace/carriage_return check
+ and the pep8 tab and trailing white space checks.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35497
+
+ * Scripts/webkitpy/style/checker.py:
+ - Adjusted the _PATH_RULES_SPECIFIER configuration as necessary.
+ - Added enough pep8 categories to _all_categories() for the
+ unit tests to pass.
+
+ * Scripts/webkitpy/style/checker_unittest.py:
+ - Updated the test_path_rules_specifier() unit test.
+
+2010-02-27 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by David Levin.
+
+ Added Python style checking to check-webkit-style using
+ the third-party pep8 module (via autoinstall).
+
+ https://bugs.webkit.org/show_bug.cgi?id=33639
+
+ * Scripts/webkitpy/style/checker.py:
+ - Added PYTHON to FileType.
+ - Updated ProcessorDispatcher to return a PythonProcessor
+ for *.py files.
+
+ * Scripts/webkitpy/style/checker_unittest.py:
+ - Updated the ProcessorDispatcher unit tests for *.py files.
+
+ * Scripts/webkitpy/style/processors/python.py: Added.
+ - Added PythonProcessor class.
+
+ * Scripts/webkitpy/style/processors/python_unittest.py: Added.
+ - Added PythonProcessor unit tests.
+
+ * Scripts/webkitpy/style/processors/python_unittest_input.py: Added.
+ - Added a sample Python file to test the PythonProcessor.process()
+ code path (since pep8 accepts a file path).
+
+ * Scripts/webkitpy/style/unittests.py:
+ - Updated the style unit test file to import python_unittest.py.
+
+ * Scripts/webkitpy/style_references.py:
+ - Adjusted style references to import pep8.
+
+2010-02-26 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by David Levin.
+
+ Rewrote autoinstall.py to support unzipping *.zip files after
+ download, unzipping and extracting *.tar.gz files after download,
+ and copying installed files to a destination directory.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35163
+
+ These changes will allow us to autoinstall pep8.py from the web
+ and to put our third-party autoinstalled code in an explicit
+ directory like webkitpy/thirdparty/autoinstalled. They should
+ also speed up imports from autoinstalled *.zip packages slightly
+ since *.pyc files cannot be generated when importing from
+ zipped packages.
+
+ * Scripts/webkitpy/__init__.py:
+ - Updated the autoinstall lines to use the new autoinstall methods.
+ - Added pep8.py to the list of auto-installed packages.
+
+ * Scripts/webkitpy/bugzilla.py:
+ - Updated mechanize import path.
+
+ * Scripts/webkitpy/init/__init__.py: Copied from WebKitTools/QueueStatusServer/filters/__init__.py.
+
+ * Scripts/webkitpy/init/autoinstall.py: Added.
+ - Added AutoInstaller class.
+ - Added sample testing usage to __main__.
+
+ * Scripts/webkitpy/networktransaction.py:
+ - Updated mechanize import path.
+
+ * Scripts/webkitpy/networktransaction_unittest.py:
+ - Updated mechanize import path.
+
+ * Scripts/webkitpy/statusserver.py:
+ - Updated mechanize import path.
+
+ * Scripts/webkitpy/thirdparty/autoinstall.py: Removed.
+ - Replaced with rewritten autoinstall in init/autoinstall.py.
+
+2010-02-26 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Change the default port for new-run-webkit-tests when running on
+ a Mac from 'chromium-mac' to 'mac'. Add a '--chromium' switch to
+ pick up the default platform-specific version of chromium instead.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35462
+
+ * Scripts/webkitpy/layout_tests/port/factory.py:
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+
+2010-02-26 Dirk Pranke <dpranke@chromium.org>
+
+ Unreviewed, build fix
+
+ third time's the charm getting this path right?
+
+ * pywebsocket/mod_pywebsocket/standalone.py:
+
+2010-02-26 Dumitru Daniliuc <dumi@chromium.org>
+
+ Unreviewed, build fix.
+
+ * pywebsocket/mod_pywebsocket/standalone.py:
+
+2010-02-26 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Moving the script to the right location.
+
+ * pywebsocket/mod_pywebsocket: Added.
+ * pywebsocket/mod_pywebsocket/standalone.py: Copied from WebKitTools/pywebsocket/standalone.py.
+ * pywebsocket/standalone.py: Removed.
+
+2010-02-26 Dumitru Daniliuc <dumi@chromium.org>
+
+ Unreviewed, fixing the license.
+
+ * pywebsocket/standalone.py:
+
+2010-02-26 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Adding pywebsocket/standalone.py back to fix the Chromium webkit
+ canaries. Once all layout tests pass, we can get in the patch that
+ moves this directorty to WebKitTools/Scripts, update all Chromium
+ scripts, and revert this patch.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35464
+
+ * pywebsocket: Added.
+ * pywebsocket/standalone.py: Added.
+
+2010-02-26 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] Needs proper reporting of frame loader callbacks, in DRT
+ https://bugs.webkit.org/show_bug.cgi?id=32170
+
+ Fix reporting of unload handlers, so that it is emitted where
+ needed, not after it.
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (webViewLoadFinished):
+ (webViewDocumentLoadFinished):
+ (createWebView):
+
+2010-02-26 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Gustavo Noronha.
+ Patch by Antonio Gomes <tonikitoo@webkit.org>
+
+ [Gtk] Make DRT EventSender::keyDown to consider 'hardware_keycode' field when synthesizing an event.
+ https://bugs.webkit.org/show_bug.cgi?id=35432
+
+ When a directional key-press event (arrow keys, End, Home, PageUp,
+ PageDown, etc) is synthesized by DRT's EventSender and it targets
+ an editor (e.g. <input type=text>, <textare>, etc), event is processed
+ by WebCore::EventHandler. On the other hand, if event target is not
+ an editor, event is bubbled up to Gtk+ for processing. In such cases,
+ if 'hardware_keycode' is not provided at event synthesize time
+ its processing fails (at some point in gtk_bindings_activate_event),
+ and no scroll action is performed.
+
+ Unskip fast/events/node-event-anchor-lock.html
+
+ * DumpRenderTree/win/EventSender.cpp:
+ (keyDownCallback):
+ * platform/gtk/Skipped:
+
+2010-02-26 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by David Levin.
+
+ new-webkit-run-tests: Extraneous parenthesis in websocket_server.py
+ https://bugs.webkit.org/show_bug.cgi?id=35436
+
+ * Scripts/webkitpy/layout_tests/port/websocket_server.py: Removed extra paren.
+
+2010-02-26 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by David Levin.
+
+ Moved pywebsocket into the webkitpy/thirdparty directory and added
+ an associated README.webkit file to the pywebsocket directory.
+ This makes pywebsocket more consistent with the other third-party
+ Python code in our repository.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35198
+
+ * Scripts/run-webkit-tests:
+ - Updated paths to pywebsocket.
+
+ * Scripts/run-webkit-websocketserver:
+ - Updated paths to pywebsocket.
+
+ * Scripts/webkitpy/layout_tests/port/websocket_server.py:
+ - Updated paths to pywebsocket.
+
+ * Scripts/webkitpy/thirdparty/pywebsocket: Copied from WebKitTools/pywebsocket.
+ * Scripts/webkitpy/thirdparty/pywebsocket/README.webkit: Added.
+ - Added a file containing information about the contents
+ of the pywebsocket directory. This will make it easier to
+ understand where the third-party code came from and what
+ local changes have been made.
+
+ * pywebsocket: Removed.
+ * pywebsocket/COPYING: Removed.
+ * pywebsocket/MANIFEST.in: Removed.
+ * pywebsocket/README: Removed.
+ * pywebsocket/example: Removed.
+ * pywebsocket/example/echo_client.py: Removed.
+ * pywebsocket/example/echo_wsh.py: Removed.
+ * pywebsocket/mod_pywebsocket: Removed.
+ * pywebsocket/mod_pywebsocket/__init__.py: Removed.
+ * pywebsocket/mod_pywebsocket/dispatch.py: Removed.
+ * pywebsocket/mod_pywebsocket/handshake.py: Removed.
+ * pywebsocket/mod_pywebsocket/headerparserhandler.py: Removed.
+ * pywebsocket/mod_pywebsocket/memorizingfile.py: Removed.
+ * pywebsocket/mod_pywebsocket/msgutil.py: Removed.
+ * pywebsocket/mod_pywebsocket/standalone.py: Removed.
+ * pywebsocket/mod_pywebsocket/util.py: Removed.
+ * pywebsocket/setup.py: Removed.
+ * pywebsocket/test: Removed.
+ * pywebsocket/test/config.py: Removed.
+ * pywebsocket/test/mock.py: Removed.
+ * pywebsocket/test/run_all.py: Removed.
+ * pywebsocket/test/test_dispatch.py: Removed.
+ * pywebsocket/test/test_handshake.py: Removed.
+ * pywebsocket/test/test_memorizingfile.py: Removed.
+ * pywebsocket/test/test_mock.py: Removed.
+ * pywebsocket/test/test_msgutil.py: Removed.
+ * pywebsocket/test/test_util.py: Removed.
+ * pywebsocket/test/testdata: Removed.
+ * pywebsocket/test/testdata/handlers: Removed.
+ * pywebsocket/test/testdata/handlers/blank_wsh.py: Removed.
+ * pywebsocket/test/testdata/handlers/origin_check_wsh.py: Removed.
+ * pywebsocket/test/testdata/handlers/sub: Removed.
+ * pywebsocket/test/testdata/handlers/sub/exception_in_transfer_wsh.py: Removed.
+ * pywebsocket/test/testdata/handlers/sub/no_wsh_at_the_end.py: Removed.
+ * pywebsocket/test/testdata/handlers/sub/non_callable_wsh.py: Removed.
+ * pywebsocket/test/testdata/handlers/sub/plain_wsh.py: Removed.
+ * pywebsocket/test/testdata/handlers/sub/wrong_handshake_sig_wsh.py: Removed.
+ * pywebsocket/test/testdata/handlers/sub/wrong_transfer_sig_wsh.py: Removed.
+
+2010-02-26 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Changed the diff_parser module to log to a module-specific
+ logging.logger rather than the root logger.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35391
+
+ * Scripts/webkitpy/diff_parser.py:
+
+2010-02-26 Csaba Osztrogonác <ossy@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] LayoutTestController.numberOfPages() should have default parameters
+ https://bugs.webkit.org/show_bug.cgi?id=35428
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp: maxViewWidth and maxViewHeight moved to
+ LayoutTestController to converge to platform independent implementation.
+ (WebCore::DumpRenderTree::DumpRenderTree):
+ (WebCore::DumpRenderTree::open):
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp: Initialization of maxViewWidth and maxViewHeight added.
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+ - Default parameters for LayoutTestController.numberOfPages() added.
+ - maxViewWidth and maxViewHeight members added.
+
+2010-02-26 Jamey Hicks <jamey.hicks@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] added QWebSettings::setInspectorUrl() and QWebSettings::inspectorUrl()
+
+ Enables the use of alternate Web Inspector frontends by changing
+ the location of the frontend. The location is specified by providing
+ -inspector-url url
+ as an argument to QtLauncher.
+
+ This is required so that the Web Inspector may be run from an
+ external process or an external tool such as Eclipse or Aptana may
+ be used instead of the in-process Web Inspector UI.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35340
+
+ * QtLauncher/main.cpp:
+ (LauncherWindow::init):
+ (LauncherApplication::handleUserOptions):
+
+2010-02-25 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Add a 'passing' port implementation to new-run-webkit-tests that
+ acts as a wrapper around an existing implementation but stubs out
+ the actual test invocations (instead, the expected results are echoed
+ back to the harness). This is useful for coverage and perf testing
+ of the harness (especially perf testing as it essentially provides
+ a lower bound on how fast the harness can run).
+
+ Also added a --nostart-helper flag to new-run-webkit-tests so that
+ you can skip starting the layout_test_helper and actually run the
+ harness even if you don't have a build of that port.
+
+ Also fix a bug in the 'test' port implementation to actually
+ create the results directory under /tmp instead of /.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35370
+
+ * Scripts/webkitpy/layout_tests/port/factory.py: Modified.
+ * Scripts/webkitpy/layout_tests/port/passing.py: Added.
+ * Scripts/webkitpy/layout_tests/port/test.py: Added.
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py: Modified.
+
+2010-02-25 Eric Seidel <eric@webkit.org>
+
+ Fix typo in my last change. No review.
+
+ Rename run-chromium-webkit-tests to new-run-webkit-tests to stop confusion
+ https://bugs.webkit.org/show_bug.cgi?id=35408
+
+ * Scripts/new-run-webkit-tests:
+
+2010-02-25 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Rename run-chromium-webkit-tests to new-run-webkit-tests to stop confusion
+ https://bugs.webkit.org/show_bug.cgi?id=35408
+
+ * Scripts/new-run-webkit-tests: Added.
+ * Scripts/run-chromium-webkit-tests: Removed.
+ * Scripts/webkitpy/layout_tests/run_webkit_tests.py: Renamed from WebKitTools/Scripts/webkitpy/layout_tests/run_chromium_webkit_tests.py.
+
+2010-02-25 Adam Barth <abarth@webkit.org>
+
+ Reviewed by David Levin.
+
+ EWS leaks memory slowly
+ https://bugs.webkit.org/show_bug.cgi?id=35395
+
+ The EWS bots leak memory very slowly. If you run them for about a
+ month, each one will take up around 1 GB of virutal memory. If you run
+ several of them on one machine, you'll eventually exhaust all available
+ memory and grind the bots to a halt.
+
+ This patch introduces a --exit-after-iteration option to the queues so
+ that we run them for a finite amount of time. Once they exit and
+ restart, they'll reclaim the leaked memory. I'm not sure how many
+ iterations I'll end up running them for. I'll need to sort that out
+ operationally, but my initial guess is around 1000.
+
+ * Scripts/webkitpy/commands/queues.py:
+ * Scripts/webkitpy/commands/queues_unittest.py:
+
+2010-02-25 Jarkko Sakkinen <jarkko.sakkinen@tieto.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Qt WebGL support
+
+ Adds toggling of WebGL support to QtLauncher.
+ https://bugs.webkit.org/show_bug.cgi?id=35153
+
+ * QtLauncher/main.cpp:
+ (LauncherWindow::toggleWebGL):
+ (LauncherWindow::setupUI):
+
+2010-02-25 Ben Murdoch <benm@google.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ The target element of a Touch should be the target where that touch originated, not where it is now.
+ https://bugs.webkit.org/show_bug.cgi?id=34585
+
+ * DumpRenderTree/qt/EventSenderQt.cpp:
+ (EventSender::addTouchPoint): Fix a bug where touch points were not being given unique ids.
+
+2010-02-24 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] QtLauncher has a border when running on QGraphicsView mode
+ https://bugs.webkit.org/show_bug.cgi?id=35352
+
+ Fix 2-pixels frame on each border of QtLauncher when running on QGraphicsView mode.
+
+ * QtLauncher/webview.cpp:
+ (WebViewGraphicsBased::WebViewGraphicsBased):
+
+2010-02-23 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by David Levin.
+
+ When the run-chromium-webkit-tests code was landed and the code was
+ refactored into the 'port' package, I accidentally broke using
+ http_server.py or websocket_server.py as command-line scripts
+ (the constructors needed a port object they weren't getting). This
+ change fixes them so that --server start|stop actually works.
+
+ As a part of this, the two files need to be able to call port.get(),
+ but doing that is awkward from a file inside the package, so I moved
+ get() into factory.py and imported that into __init__.py so that
+ http_server.py and websocket_server.py can just import factory.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35316
+
+ * Scripts/webkitpy/layout_tests/port/__init__.py:
+ * Scripts/webkitpy/layout_tests/port/factory.py:
+ * Scripts/webkitpy/layout_tests/port/http_server.py:
+ * Scripts/webkitpy/layout_tests/port/websocket_server.py:
+
+2010-02-24 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by David Levin.
+
+ Fix the function signature for check_sys_deps on the mac port, and
+ fix the ordering of port_obj.check_sys_deps() and
+ port_obj.start_helper() (helper needs to be started before we check
+ the system configuration).
+
+ http://bugs.webkit.org/show_bug.cgi?id=35367
+
+ * Scripts/webkitpy/layout_tests/port/mac.py:
+ * Scripts/webkitpy/layout_tests/port/test.py:
+ * Scripts/webkitpy/layout_tests/run_chromium_webkit_tests.py:
+
+2010-02-24 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Provide default username parameter to SVN.commit_with_message().
+
+ * Scripts/webkitpy/scm.py:
+
+2010-02-24 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Eric Siedel.
+
+ Check the proper directory for a WebKit SVN version (Chromium does
+ not check out the entire WebKit tree directly, but rather pulls
+ individual subdirectories. So, checking for the SVN version in
+ WebKit/WebCore rather than just in WebKit works more reliably across
+ different ports).
+
+ http://bugs.webkit.org/show_bug.cgi?id=35321
+
+ * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
+
+2010-02-24 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35357
+ Two editing tests fail after DumpRenderTree run loop changes
+
+ AppKit decided that it wanted to group all editing commands for some reason (and thus undo
+ reverted them all at once).
+
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (dump): Reverted the change that made DumpRenderTree use -[NSApplication run].
+ (runTest): Ditto.
+ (-[DumpRenderTreeApplication isRunning]): Override isRunning with a function that always
+ returns YES. This is another way to make the Java plug-in work.
+
+2010-02-23 Adam Roben <aroben@apple.com>
+
+ Make commit-log-editor find just-added ChangeLog files
+
+ Fixes <http://webkit.org/b/35294> commit-log-editor doesn't find
+ just-added ChangeLog files
+
+ Reviewed by Dave Levin.
+
+ * Scripts/commit-log-editor:
+ (top level): Modified the regular expression that's used to find
+ modified ChangeLog files to also look for just-added ChangeLog files.
+
+2010-02-24 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ check-webkit-style false positive for WebCore forwarding header
+ https://bugs.webkit.org/show_bug.cgi?id=34604
+
+ * Scripts/webkitpy/style/checker.py:
+ * Scripts/webkitpy/style/checker_unittest.py:
+
+2010-02-23 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22602
+ Enable Java in DumpRenderTree (on Mac)
+
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (exitApplicationRunLoop):
+ (dump):
+ (runTest):
+ DumpRenderTree now runs an NSApplication, not just an event loop. This way, the Java plug-in
+ can start without freezing.
+
+ * Scripts/run-webkit-tests: Compile java sources in LayputTests/java.
+
+2010-02-23 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Need a final integration between QtLauncher and QGVLauncher
+ https://bugs.webkit.org/show_bug.cgi?id=35292
+
+ WebKit coding style fixes.
+
+ * QtLauncher/main.cpp:
+ (LauncherWindow::resetZoom):
+
+2010-02-23 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Need a final integration between QtLauncher and QGVLauncher
+ https://bugs.webkit.org/show_bug.cgi?id=35292
+
+ Add cloneWindow feature to QtLauncher, when running on QGraphicsView mode.
+
+ * QtLauncher/main.cpp:
+ (LauncherWindow::LauncherWindow):
+ (LauncherWindow::~LauncherWindow):
+ (LauncherWindow::init):
+ (LauncherWindow::cloneWindow):
+ (LauncherWindow::setupUI):
+
+2010-02-23 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Fix handling of check_wdiff_install when wdiff isn't installed.
+
+ http://bugs.webkit.org/show_bug.cgi?id=35304
+
+ * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
+
+2010-02-23 Leandro Pereira <leandro@profusion.mobi>
+
+ Reviewed by NOBODY.
+
+ Fix false positives for 'delete *pointer' statements.
+ http://webkit.org/b/35235
+
+ * WebKitTools/Scripts/webkitpy/style/processors/cpp.py:
+
+2010-02-23 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ [Gtk] Implement layoutTestController.numberOfPages
+ https://bugs.webkit.org/show_bug.cgi?id=35228
+
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::numberOfPages):
+
+2010-02-23 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] QtLauncher should not use internal JavaScriptCore and WebCore interfaces
+ https://bugs.webkit.org/show_bug.cgi?id=35248
+
+ * QtLauncher/QtLauncher.pro:
+ * QtLauncher/utils.h:
+
+2010-02-23 Daniel Bates <dbates@rim.com>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34439
+
+ Prompts a person for their SVN username if not already cached (by Subversion).
+
+ Currently, webkit-patch is unable to commit to the SVN repo. unless the
+ WebKit SVN username is already cached (from of a prior commit by hand)
+ because "svn commit" (called by webkit-patch) defaults to using the system
+ login name unless the username is already cached or specified on the
+ command line.
+
+ * Scripts/webkitpy/scm.py: Added methods SVN.has_authorization_for_realm and
+ modified SVN.commit_with_message to call it. Added optional username parameter
+ to method SVN.commit_with_message.
+ * Scripts/webkitpy/scm_unittest.py: Added unit test methods: SVNTest.test_commit_with_username,
+ SVNTest.test_has_authorization_for_realm, and SVNTest.test_not_have_authorization_for_realm.
+
+2010-02-22 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Eric Siedel.
+
+ Add more checking for missing binaries and packages to check_sys_deps()
+
+ https://bugs.webkit.org/show_bug.cgi?id=35062
+
+ * Scripts/webkitpy/layout_tests/port/base.py:
+ * Scripts/webkitpy/layout_tests/port/chromium.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_win.py:
+ * Scripts/webkitpy/layout_tests/run_chromium_webkit_tests.py:
+
+2010-02-22 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by David Levin.
+
+ [Gtk] check-webkit-style: GTK style should be allowed in WebKitTools/DumpRenderTree/gtk
+ https://bugs.webkit.org/show_bug.cgi?id=35229
+
+ * Scripts/webkitpy/style/checker.py:
+ * Scripts/webkitpy/style/checker_unittest.py:
+
+2010-02-22 James Robinson <jamesr@chromium.org>
+
+ Unreviewed. Adding myself to committers list.
+
+ * Scripts/webkitpy/committers.py:
+
+2010-02-22 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Remove DRT hack that turns off hardware acceleration with older QuickTimes
+ https://bugs.webkit.org/show_bug.cgi?id=35275
+
+ Now that WebKit does a version check to avoid a QuickTime-related
+ crash (r55100), DumpRenderTree does not need to.
+
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (resetDefaultsToConsistentValues):
+
+2010-02-22 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Build the DRT in debug on Mac OS X
+
+ * DumpRenderTree/qt/DumpRenderTree.pro:
+
+2010-02-22 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Add support for layout tests on Symbian
+ https://bugs.webkit.org/show_bug.cgi?id=31589
+
+ * DumpRenderTree/qt/DumpRenderTree.pro:
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ * DumpRenderTree/qt/main.cpp:
+ (main):
+
+2010-02-20 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Moved simplejson into webkitpy/thirdparty directory.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35196
+
+ * Scripts/run-chromium-webkit-tests:
+ - Added webkitpy/thirdparty to the script's search path.
+
+ * Scripts/webkitpy/thirdparty/simplejson: Copied from WebKitTools/simplejson.
+ - Copied simplejson directory.
+
+ * simplejson: Removed.
+ * simplejson/LICENSE.txt: Removed.
+ * simplejson/README.txt: Removed.
+ * simplejson/__init__.py: Removed.
+ * simplejson/_speedups.c: Removed.
+ * simplejson/decoder.py: Removed.
+ * simplejson/encoder.py: Removed.
+ * simplejson/jsonfilter.py: Removed.
+ * simplejson/scanner.py: Removed.
+
+2010-02-20 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Moved BeautifulSoup to webkitpy/thirdparty directory.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35195
+
+ * Scripts/webkitpy/BeautifulSoup.py: Removed.
+ - Moved to webkitpy/thirdparty.
+
+ * Scripts/webkitpy/bugzilla.py:
+ - Updated import statement.
+
+ * Scripts/webkitpy/bugzilla_unittest.py:
+ - Updated import statement.
+
+ * Scripts/webkitpy/buildbot.py:
+ - Updated import statement.
+
+ * Scripts/webkitpy/buildbot_unittest.py:
+ - Updated import statement.
+
+ * Scripts/webkitpy/statusserver.py:
+ - Updated import statement.
+
+ * Scripts/webkitpy/thirdparty/BeautifulSoup.py: Copied from WebKitTools/Scripts/webkitpy/BeautifulSoup.py.
+
+2010-02-20 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Created a directory for third-party Python code, and moved
+ autoinstall.py into it.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34540
+
+ * Scripts/webkitpy/__init__.py:
+ - Updated "import autoinstall" statement.
+
+ * Scripts/webkitpy/autoinstall.py: Removed.
+ - Moved to thirdparty/autoinstall.py.
+
+ * Scripts/webkitpy/thirdparty: Added.
+ * Scripts/webkitpy/thirdparty/__init__.py: Added.
+ * Scripts/webkitpy/thirdparty/autoinstall.py: Copied from WebKitTools/Scripts/webkitpy/autoinstall.py.
+
+2010-02-20 Gustavo Noronha Silva <gns@gnome.org>
+
+ Unreviewed, obvious fix for the python failure in our new buildbot
+ step:
+
+ http://build.webkit.org/builders/GTK Linux 32-bit Release/builds/9075/steps/API tests/logs/err.text
+
+ * BuildSlaveSupport/build.webkit.org-config/master.cfg:
+
+2010-02-19 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by David Levin.
+
+ Add an ENABLE flag for sandboxed iframes to make it possible to disable it in releases
+ https://bugs.webkit.org/show_bug.cgi?id=35147
+
+ * Scripts/build-webkit: Handle new flag.
+
+2010-02-19 Leandro Pereira <leandro@profusion.mobi>
+
+ Reviewed by Shinichiro Hamaji.
+
+ [style-queue] should not complain about identifier names with underscores under WebKit/efl/ewk/
+ https://bugs.webkit.org/show_bug.cgi?id=35091
+
+ White list unix_hacker_style names in WebKit/efl/ewk because these
+ are used in the EFL API.
+
+ * Scripts/webkitpy/style/checker.py:
+ - Filter out readability/naming on WebKit/efl/ewk.
+
+2010-02-19 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Split out "prepare-rollout" from "rollout" and make --complete-rollout default
+ https://bugs.webkit.org/show_bug.cgi?id=33745
+
+ * Scripts/webkitpy/commands/download.py:
+ - Add a new AbstractRolloutPrepCommand to share code between PrepareRollout and Rollout
+ - Add PrepareRollout
+ * Scripts/webkitpy/commands/download_unittest.py: Test PrepareRollout, remove CompleteRollout tests.
+ * Scripts/webkitpy/steps/__init__.py: include ReopenBugAfterRollout step.
+ * Scripts/webkitpy/steps/completerollout.py: Removed.
+ * Scripts/webkitpy/steps/options.py: remove complete_rollout
+ * Scripts/webkitpy/steps/reopenbugafterrollout.py: Added.
+
+2010-02-19 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Need a final integration between QtLauncher and QGVLauncher
+ https://bugs.webkit.org/show_bug.cgi?id=35161
+
+ Add animated flip support to QtLauncher when running on QGraphicsView mode.
+
+ * QtLauncher/main.cpp:
+ (LauncherWindow::initializeView):
+ (LauncherWindow::setupUI):
+ * QtLauncher/webview.cpp:
+ (WebViewGraphicsBased::WebViewGraphicsBased):
+ (WebViewGraphicsBased::animatedFlip):
+ (WebViewGraphicsBased::animatedYFlip):
+ * QtLauncher/webview.h:
+ (WebViewGraphicsBased::setYRotation):
+ (WebViewGraphicsBased::yRotation):
+
+2010-02-19 Andras Becsi <abecsi@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Implement textZoomIn() and textZoomOut() in DRT's EventSender, add results
+ for passing new tests and unskip the passing ones from the Skipped list.
+ https://bugs.webkit.org/show_bug.cgi?id=35159
+
+ * DumpRenderTree/qt/EventSenderQt.cpp:
+ (EventSender::textZoomIn):
+ (EventSender::textZoomOut):
+ * DumpRenderTree/qt/EventSenderQt.h:
+
+2010-02-19 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ [Qt] Clean-up the handling of HTML5 persistent data for LayoutTests
+ https://bugs.webkit.org/show_bug.cgi?id=35004
+
+ DumpRenderTreeQt.cpp calls QWebSettings::enablePersistentStorage which sets up
+ and enables all HTML5 persistent data. All the other calls for setting the
+ persistent path or enabling the persistent feature are redundant.
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::WebPage::WebPage): No need to enable AppCache again.
+ * DumpRenderTree/qt/main.cpp:
+ (main): No need to setup and enable HTML5 LocalStorage again.
+
+2010-02-19 Diego Gonzalez <diego.gonzalez@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Send the context menu event from contextClick() of EventSender
+ and do not show context menu in DRT.
+
+ LayoutTests:
+ fast/events/contextmenu-scrolled-page-with-frame.html
+
+ [Qt] DRT: Send context menu event from EventSender
+ https://bugs.webkit.org/show_bug.cgi?id=35131
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::DumpRenderTree::DumpRenderTree):
+ * DumpRenderTree/qt/EventSenderQt.cpp:
+ (EventSender::contextClick):
+
+2010-02-18 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Moved parsing-related code to a separate file. Also increased
+ the unit test coverage in some affected areas.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34675
+
+ This revision contains no new functionality.
+
+ * Scripts/check-webkit-style:
+ - Adjusted to call check_webkit_style_parser().
+
+ * Scripts/webkitpy/style/checker.py:
+ - Added check_webkit_style_parser() to pass checker.py
+ configuration settings to optparser.py.
+ - Moved _create_usage() and the CommandOptionValues,
+ DefaultCommandOptionValues, ArgumentPrinter, and
+ ArgumentParser classes to optparser.py.
+
+ * Scripts/webkitpy/style/checker_unittest.py:
+ - Moved the ProcessorOptionsTest, ArgumentPrinterTest, and
+ ArgumentParserTest classes to optparser.py.
+ - Added the CheckWebKitStyleFunctionTest class to check
+ the check_webkit_style_configuration() and
+ check_webkit_style_parser() code paths.
+
+ * Scripts/webkitpy/style/optparser.py: Added.
+ - From checker.py, added _create_usage() and the
+ CommandOptionValues, DefaultCommandOptionValues,
+ ArgumentPrinter, and ArgumentParser classes.
+ - In the ArgumentParser constructor--
+ - Added all_categories as a required parameter.
+ - Removed the default value from the default_options parameter.
+
+ * Scripts/webkitpy/style/optparser_unittest.py: Added.
+ - From checker_unittest.py, added the ProcessorOptionsTest,
+ ArgumentPrinterTest, and ArgumentParserTest classes.
+ - Added the CreateUsageTest class to test _create_usage().
+
+ * Scripts/webkitpy/style/unittests.py:
+ - Added optparser_unittest import.
+
+2010-02-18 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=35134
+ <rdar://problem/7246280> Crash when a plugin calls NPN_SetStatus(0)
+
+ * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
+ (testSetStatus):
+ (pluginInvoke):
+ Added a setStatus() method.
+
+2010-02-18 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Particularly constructed WebFrames can try to access a null HistoryItem
+ <rdar://problem/7638892> and https://bugs.webkit.org/show_bug.cgi?id=35063
+
+ Add the specific ability to test this API pattern.
+
+ For now only on Mac, perhaps on the main Windows port later, probably not relevant for other ports.
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (apiTestNewWindowDataLoadBaseURLCallback):
+ (LayoutTestController::staticFunctions):
+ * DumpRenderTree/LayoutTestController.h:
+
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (-[APITestDelegate initWithCompletionCondition:]):
+ (-[APITestDelegate webView:didFailLoadWithError:forFrame:]):
+ (-[APITestDelegate webView:didFailProvisionalLoadWithError:forFrame:]):
+ (-[APITestDelegate webView:didFinishLoadForFrame:]):
+ (LayoutTestController::apiTestNewWindowDataLoadBaseURL): Create a WebView, do a loadData: in its
+ mainFrame, and synchronously wait for main load completion.
+
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::apiTestNewWindowDataLoadBaseURL):
+ * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
+ (LayoutTestController::apiTestNewWindowDataLoadBaseURL):
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::apiTestNewWindowDataLoadBaseURL):
+
+2010-02-18 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ Teach resolve-ChangeLogs to act as a merge-driver for Git
+
+ https://bugs.webkit.org/show_bug.cgi?id=28721
+
+ To enable automatic merging of ChangeLog files, use the following command:
+
+ git config merge.changelog.driver "resolve-ChangeLogs --merge-driver %O %A %B"
+
+ The driver always works in "downstream" merge mode, meaning
+ it will always put the user's changelog entries on top.
+
+ * Scripts/resolve-ChangeLogs:
+
+2009-12-05 Gustavo Noronha Silva <gns@gnome.org>
+
+ Reviewed by Eric Seidel.
+
+ Enable running of GTK+ API tests.
+
+ * BuildSlaveSupport/build.webkit.org-config/master.cfg:
+ * Scripts/run-gtk-tests: Added.
+
+2010-02-18 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ debug-safari doesn't pass --debug option to gdb-safari on MacOSX
+ https://bugs.webkit.org/show_bug.cgi?id=34411
+
+ * Scripts/webkitdirs.pm:
+
+2010-02-18 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ run-chromium-webkit-tests --platform=mac-leopard needs to run build-dumprendertree
+ https://bugs.webkit.org/show_bug.cgi?id=35053
+
+ * Scripts/webkitpy/layout_tests/port/base.py: Add script_path() function for finding scripts.
+ * Scripts/webkitpy/layout_tests/port/chromium.py: Remove unused argument.
+ * Scripts/webkitpy/layout_tests/port/mac.py:
+ - Make sure that calling webkit-build-directory works even if Scripts/ is not in the user's path.
+ - Call build-dumprendertree (and make sure it succeeds) before running the tests.
+
+2010-02-16 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Refactored check-webkit-style's ProcessorOptions class into two
+ classes. This revision contains no new functionality.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34674
+
+ Divided the ProcessorOptions class into a CommandOptionValues
+ class (the result of parsing the command-line options) and
+ a StyleCheckerConfiguration class (which configures the main
+ StyleChecker).
+
+ * Scripts/check-webkit-style:
+ - Updated main() to convert the parsed command option values
+ to a StyleCheckConfiguration instance prior to constructing
+ a StyleChecker.
+
+ * Scripts/webkitpy/style/checker.py:
+ - Added check_webkit_style_configuration() to convert a
+ CommandOptionValues instance into a StyleCheckerConfiguration
+ instance.
+ - Renamed the ProcessorOptions class to CommandOptionValues.
+ - In the CommandOptionValues class--
+ - Replaced the filter_configuration attribute with the
+ simpler filter_rules attribute.
+ - Removed the max_reports_per_error attribute.
+ - Moved the is_reportable() method to the new
+ StyleCheckerConfiguration class.
+ - Removed the base_filter_rules attribute from the
+ DefaultCommandOptionValues class.
+ - In the ArgumentParser class--
+ - Added base_filter_rules to the constructor.
+ - Changed the parse() method to return a CommandOptionValues
+ instance instead of a ProcessorOptions instance.
+ - Created a StyleCheckerConfiguration class.
+ - Added the data attributes max_reports_per_category,
+ stderr_write, and verbosity.
+ - Added is_reportable() (moved from the ProcessorOptions
+ class) and write_style_error() (moved from the
+ DefaultStyleErrorHandler class).
+ - In the StyleChecker class--
+ - Replaced the ProcessorOptions options attribute with the
+ StyleCheckerConfiguration _configuration attribute.
+ - Removed the _stderr_write attribute.
+
+ * Scripts/webkitpy/style/checker_unittest.py:
+ - Updated the existing unit test classes as necessary.
+ - Added a StyleCheckerConfigurationTest class.
+
+ * Scripts/webkitpy/style/error_handlers.py:
+ - Updated the DefaultStyleErrorHandler class to accept a
+ StyleCheckerConfiguration instance instead of a ProcessorOptions
+ instance and an stderr_write method.
+
+ * Scripts/webkitpy/style/error_handlers_unittest.py:
+ - Updated the unit test classes as necessary.
+
+ * Scripts/webkitpy/style/filter.py:
+ - Addressed the FIXME in the FilterConfiguration class to change
+ the user_rules attribute to _user_rules (since it is now
+ accessed only internally).
+
+ * Scripts/webkitpy/style/filter_unittest.py:
+ - Updated to reflect the change from user_rules to _user_rules.
+
+2010-02-17 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Share the DRT values maxViewWidth/Height among ports
+ https://bugs.webkit.org/show_bug.cgi?id=34474
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (pageNumberForElementByIdCallback):
+ * DumpRenderTree/LayoutTestController.h:
+ (LayoutTestController::maxViewWidth):
+ (LayoutTestController::maxViewHeight):
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (runTest):
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (createWebViewAndOffscreenWindow):
+ (sizeWebViewForCurrentTest):
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (dump):
+ (createWebViewAndOffscreenWindow):
+
+2010-02-17 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ [Win] Implement test functions for printing
+ https://bugs.webkit.org/show_bug.cgi?id=34570
+
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::pageNumberForElementById):
+ (LayoutTestController::numberOfPages):
+
+2010-02-17 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ websocket/tests/cookies/httponly-cookie.pl fails every time under run-chromium-webkit-tests
+ https://bugs.webkit.org/show_bug.cgi?id=35001
+
+ * Scripts/webkitpy/layout_tests/port/websocket_server.py: add -x flag to run pywebsocket.
+
+2010-02-17 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ check-webkit-style: Misses variables that contain underscores.
+ https://bugs.webkit.org/show_bug.cgi?id=33724
+
+ - Check identifiers whose types are unsigned.
+ - Check bitfields properly.
+
+ * Scripts/webkitpy/style/processors/cpp.py:
+ * Scripts/webkitpy/style/processors/cpp_unittest.py:
+
+2010-02-17 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ check-webkit-style should report the number of files checked
+ https://bugs.webkit.org/show_bug.cgi?id=34971
+
+ * Scripts/check-webkit-style:
+ * Scripts/webkitpy/style/checker.py:
+ * Scripts/webkitpy/style/checker_unittest.py:
+
+2010-02-17 Diego Gonzalez <diego.gonzalez@openbossa.org>
+
+ Reviewed by Ariya Hidayat.
+
+ Make possible Qt DRT to get total number of pages to be printed
+
+ LayoutTests:
+ printing/numberOfPages.html
+
+ [Qt] DRT: Get total number of pages to be printed
+ https://bugs.webkit.org/show_bug.cgi?id=34955
+
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::numberOfPages):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+
+2010-02-17 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ Update to use new property name.
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (resetDefaultsToConsistentValues):
+
+2010-02-17 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Reviewed by Ariya Hidayat.
+
+ Remove some warnings seen when building Qt
+ https://bugs.webkit.org/show_bug.cgi?id=35017
+
+ Using a machine without the needed tools to build WebKit leads to
+ several errors and warnings.
+
+ * Scripts/webkitdirs.pm: Refactored the code testing the command's
+ presence into a commandExists routine. While doing so removed, stderr
+ output as it usually does not give anything more than our message. Also
+ added a Qt check for qmake that was missing.
+
+2010-02-17 Xan Lopez <xlopez@igalia.com>
+
+ Rubber-stamped by Gustavo Noronha.
+
+ Disable Java by default in DRT.
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (resetDefaultsToConsistentValues):
+
+2010-02-15 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Some minor check-webkit-style code clean-ups. This revision
+ contains no new functionality.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34932
+
+ * Scripts/check-webkit-style:
+ - Replaced the call to webkit_argument_defaults() with a
+ default parameter in the ArgumentParser constructor.
+
+ * Scripts/webkitpy/style/checker.py:
+ - Removed the WEBKIT prefix from the default global variables.
+ - Prefixed several of the global variables with an underscore
+ to reflect that they are used internally.
+ - Renamed _DEFAULT_FILTER_RULES to _BASE_FILTER_RULES.
+ - Addressed a FIXME by changing the _PATH_RULES_SPECIFIER
+ configuration from list-tuple pairs to list-list pairs.
+ - Renamed style_categories() to _all_categories().
+ - Renamed webkit_argument_defaults() to _check_webkit_style_defaults().
+ - Renamed the ArgumentDefaults class to DefaultCommandOptionValues.
+ - In the ArgumentParser class--
+ - Renamed the doc_print attribute to stderr_write.
+ - Other minor updates.
+
+ * Scripts/webkitpy/style/checker_unittest.py:
+ - Updated the import statements and unit test classes as necessary.
+ - Added assertions to test _PATH_RULES_SPECIFIER more fully.
+
+ * Scripts/webkitpy/style/error_handlers_unittest.py:
+ - Updated the unit test classes as necessary.
+ - Changed StyleErrorHandlerTestBase to store a list of error
+ messages rather than just the last one.
+
+ * Scripts/webkitpy/style/filter.py:
+ - Altered FilterConfiguration._path_rules_from_path()
+ to convert the path_rules list to a tuple.
+
+ * Scripts/webkitpy/style/filter_unittest.py:
+ - Updated the unit tests to reflect the change from tuples to
+ lists in the _PATH_RULES_SPECIFIER configuration variable.
+
+2010-02-16 Mark Rowe <mrowe@apple.com>
+
+ Let's not check garbage in to common build scripts and hose the world now eh guys?
+
+ * Scripts/webkitdirs.pm:
+
+2010-02-16 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ re-factor Skipped list parsing code into multiple functions and unit test it
+ https://bugs.webkit.org/show_bug.cgi?id=34986
+
+ * Scripts/test-webkitpy: Add new unit test.
+ * Scripts/webkitpy/layout_tests/__init__.py: Copied from WebKitTools/QueueStatusServer/filters/__init__.py.
+ * Scripts/webkitpy/layout_tests/port/mac.py: Split parsing function into multiple functions for testing.
+ * Scripts/webkitpy/layout_tests/port/mac_unittest.py: Added.
+
+2010-02-16 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ Enable 'auto-resize-window' in our DRT.
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (resetDefaultsToConsistentValues):
+
+2010-02-15 Martin Robinson <mrobinson@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ check-webkit-style should not complain about NULL sentinel in calls to g_strconcat and g_strjoin
+ https://bugs.webkit.org/show_bug.cgi?id=34834
+
+ * Scripts/webkitpy/style/processors/cpp.py:
+ * Scripts/webkitpy/style/processors/cpp_unittest.py:
+
+2010-02-12 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Kevin Decker.
+
+ <rdar://problem/7130641> Browser objects identity is not preserved by Safari
+
+ * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
+ (pluginInvoke): Added methods for checking object identity (via refcount).
+
+2010-02-15 Robert Hogan <robert@roberthogan.net>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] DRT: Support evaluateInWebInspector(), setTimelineProfilingEnabled().
+
+ Support LayoutTestController.evaluateInWebInspector(), setTimelineProfilingEnabled() in Qt DRT.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33096
+
+ This allows the following tests to pass:
+
+ inspector/console-format-collections.html
+ inspector/styles-iframe.html
+ inspector/syntax-highlight-css.html
+ inspector/syntax-highlight-javascript.html
+ inspector/timeline-enum-stability.html
+ inspector/timeline-layout.html
+ inspector/timeline-mark-timeline.html
+ inspector/timeline-paint.html
+ inspector/timeline-parse-html.html
+ inspector/timeline-recalculate-styles.html
+ inspector/timeline-script-tag-1.html
+ inspector/timeline-script-tag-2.html
+ inspector/timeline-trivial.html
+ inspector/cookie-resource-match.html
+ inspector/elements-img-tooltip.html
+ inspector/elements-panel-selection-on-refresh.html
+ inspector/inspected-objects-not-overriden.html
+ inspector/timeline-event-dispatch.html
+ inspector/timeline-network-resource.html
+ inspector/elements-panel-rewrite-href.html
+ inspector/console-dir.html
+ inspector/console-dirxml.html
+ inspector/console-format.html
+ inspector/console-tests.html
+ inspector/elements-panel-structure.html
+ inspector/evaluate-in-frontend.html
+ inspector/console-clear.html
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting):
+ (WebCore::isWebInspectorTest):
+ (WebCore::DumpRenderTree::open):
+ * DumpRenderTree/qt/DumpRenderTreeQt.h:
+ (WebCore::DumpRenderTree::display):
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::closeWebInspector):
+ (LayoutTestController::showWebInspector):
+ (LayoutTestController::evaluateInWebInspector):
+ (LayoutTestController::setTimelineProfilingEnabled):
+ (LayoutTestController::display):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+
+2010-02-14 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Update rebaseline-chromium-webkit-tests to work with the new code
+ structure (port objects instead of path_utils and platform_utils).
+
+ Added a path_to_test_expectations_file() to the Port interface.
+
+ Fixed a bug in the chromium_* platform implementations where the
+ 'target' option was assumed to be set.
+
+ * Scripts/rebaseline-chromium-webkit-tests:
+ * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py:
+ * Scripts/webkitpy/layout_tests/port/base.py:
+ * Scripts/webkitpy/layout_tests/port/chromium.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_win.py:
+ * Scripts/webkitpy/layout_tests/port/test.py:
+ * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
+
+2010-02-14 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ webkit-build-directory misuses terms
+ https://bugs.webkit.org/show_bug.cgi?id=34822
+
+ * Scripts/webkit-build-directory:
+ - Add --top-level and --configuration options and make using one of them required.
+ * Scripts/webkitpy/layout_tests/port/mac.py:
+ - Use --top-level instead of --base.
+
+2010-02-14 Chang Shu <Chang.Shu@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] Enable appcache feature.
+ https://bugs.webkit.org/show_bug.cgi?id=34713
+
+ Re-land r54543 without the change in DumpRenderTree/qt/main.cpp.
+ Persistent storage for AppCache is already initialized in
+ DumpRenderTreeQt.cpp.
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::WebPage::WebPage):
+
+2010-02-12 Chang Shu <Chang.Shu@nokia.com>
+
+ Not Reviewed.
+
+ Change case of my email address as a work-around for the following bug.
+ https://bugs.webkit.org/show_bug.cgi?id=34717
+
+ * Scripts/webkitpy/committers.py:
+
+2010-02-12 Darin Adler <darin@apple.com>
+
+ Ignore compiled Python in more of webkitpy.
+
+ * Scripts/webkitpy/style/processors: Added property svn:ignore.
+
+2010-02-12 Diego Gonzalez <diego.gonzalez@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Qt DRT now dump the frame loader callbacks when LayoutTestController()
+ method is called.
+
+ LayoutTests:
+ http/tests/security/mixedContent/data-url-script-in-iframe.html
+ http/tests/security/mixedContent/empty-url-plugin-in-frame.html
+ http/tests/security/mixedContent/insecure-css-in-iframe.html
+ http/tests/security/mixedContent/insecure-iframe-in-iframe.html
+ http/tests/security/mixedContent/insecure-image-in-iframe.html
+ http/tests/security/mixedContent/insecure-plugin-in-iframe.html
+ http/tests/security/mixedContent/insecure-script-in-iframe.html
+ http/tests/security/mixedContent/redirect-http-to-https-script-in-iframe.html
+ http/tests/security/mixedContent/redirect-https-to-http-script-in-iframe.html
+
+ [Qt] Make possible Qt DRT dump frame load callbacks
+ https://bugs.webkit.org/show_bug.cgi?id=34702
+
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::reset):
+ (LayoutTestController::dumpFrameLoadCallbacks):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+
+2010-02-12 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Antti Koivisto.
+
+ Make QtLauncher somewhat useable on S60.
+
+ Show the window fullscreen to make scrollbars appear, resize
+ the toolbar buttons to 16x16 to give more screen space to
+ web content and moved the location lineedit into a separate
+ line.
+
+ * QtLauncher/main.cpp:
+ (LauncherWindow::LauncherWindow):
+ * QtLauncher/mainwindow.cpp:
+ (MainWindow::buildUI):
+
+2010-02-12 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Support frameset flattening
+ https://bugs.webkit.org/show_bug.cgi?id=32717
+
+ Add FrameSet Flattening support to Mac DRT.
+
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::setFrameSetFlatteningEnabled):
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (resetDefaultsToConsistentValues):
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::setXSSAuditorEnabled):
+ * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
+ (LayoutTestController::setFrameSetFlatteningEnabled):
+ * DumpRenderTree/LayoutTestController.cpp:
+ (setFrameSetFlatteningEnabledCallback):
+ (LayoutTestController::staticFunctions):
+ * DumpRenderTree/LayoutTestController.h:
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (resetDefaultsToConsistentValues):
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (LayoutTestController::setFrameSetFlatteningEnabled):
+
+2010-02-12 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Fix typos in driver_test.py
+
+ https://bugs.webkit.org/show_bug.cgi?id=34810
+
+ * Scripts/webkitpy/layout_tests/driver_test.py:
+
+2010-02-12 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Make it possible to toggle the use of QGraphicsView in QtLauncher at run-time
+ https://bugs.webkit.org/show_bug.cgi?id=34844
+
+ * QtLauncher/main.cpp:
+ (LauncherWindow::LauncherWindow):
+ (LauncherWindow::initializeView):
+ (LauncherWindow::setupUI):
+ * QtLauncher/webview.cpp:
+ (WebViewGraphicsBased::WebViewGraphicsBased):
+
+2010-02-11 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ WebSocket ignores HttpOnly cookies, but should use in Handshake.
+ https://bugs.webkit.org/show_bug.cgi?id=34289
+
+ Update pywebsocket to 0.4.8, which supports cgi directories.
+ run-webkit-tests and run-webkit-websocketserver will run
+ pywebsocket, specifying /websocket/test/cookies as cgi directory.
+
+ * Scripts/run-webkit-tests:
+ * Scripts/run-webkit-websocketserver:
+ * pywebsocket/mod_pywebsocket/standalone.py:
+ * pywebsocket/setup.py:
+
+2010-02-11 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
+
+ Reviewed by Dan Bernstein.
+
+ [Mac] Duplicated setXSSAuditorEnabled preference at Mac DRT
+ https://bugs.webkit.org/show_bug.cgi?id=34798
+
+ Remove duplicated setXSSAuditorEnabled preference at Mac DRT
+
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (resetDefaultsToConsistentValues):
+
+2010-02-11 Eric Seidel <eric@webkit.org>
+
+ No review, build fix only.
+
+ webkitdirs.pm has a crazy amount of duplicated feature detection code
+ https://bugs.webkit.org/show_bug.cgi?id=34869
+
+ * Scripts/build-webkit: Fix typo which broke bots.
+
+2010-02-11 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ webkitdirs.pm has a crazy amount of duplicated feature detection code
+ https://bugs.webkit.org/show_bug.cgi?id=34869
+
+ * Scripts/build-webkit: Use the new hotness.
+ * Scripts/run-webkit-tests: ditto
+ * Scripts/webkitdirs.pm: Remove a bunch of bad duplicate code.
+ * Scripts/webkitperl/features.pm: Added.
+ - Simplified the 10 methods in webkitdirs.pm into 2 exported methods in this new file.
+
+2010-02-11 Daniel Bates <dbates@rim.com>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34830
+
+ Makes method User.prompt static and adds the parameter repeat
+ to prompt the user up to repeat times.
+
+ * Scripts/test-webkitpy:
+ * Scripts/webkitpy/bugzilla.py: Substituted method User.prompt for method raw_input.
+ * Scripts/webkitpy/commands/upload.py: Ditto
+ * Scripts/webkitpy/credentials.py: Ditto
+ * Scripts/mock_bugzillatool.py: Updated prototype of MockUser.prompt to match User.prompt.
+ * Scripts/webkitpy/user.py: Made method prompt static and added parameter repeat.
+ * Scripts/webkitpy/user_unittest.py: Added.
+
+2010-02-10 Yuzo Fujishima <yuzo@google.com>
+
+ Reviewed by Darin Adler.
+
+ Allow underscored identifiers in CSSParser.cpp
+
+ Flex (http://flex.sourceforge.net/) uses identifiers named as yy_*.
+ WebCore/css/CSSParser.cpp needs to handle some such identifiers.
+ We should relax the style rule for the file to allow underscored identifiers.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34787
+
+ * Scripts/webkitpy/style/checker.py:
+
+2010-02-11 Eric Seidel <eric@webkit.org>
+
+ Rubber-stamped by Adam Barth.
+
+ Remove DrawTest, the application I used when bringing up SVG support on the Mac.
+ The code hasn't been touched (or used) in years. No sense in keeping it in trunk.
+
+ * Scripts/build-drawtest: Removed.
+ * Scripts/run-drawtest: Removed.
+ * DrawTest: Removed.
+
+2010-02-11 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Need a command to clear r+ on obsolete patches in the pending-commit queue.
+ https://bugs.webkit.org/show_bug.cgi?id=34863
+
+ Unfortunately our http://webkit.org/pending-commit bugzilla query is not
+ smart enough to ignore obsolete patches, so bugs show up there which are
+ still open, but do not have patches ready for landing on them.
+ This new command "clean-pending-commit" will remove r+ from obsolete patches
+ in the pending-commit list.
+
+ * Scripts/test-webkitpy: Add grammar_unittest
+ * Scripts/webkitpy/commands/upload.py: Add clean-pending-commit and make assign-to-committer ignore cq+'d patches.
+ * Scripts/webkitpy/grammar.py: Add join_with_separators
+ * Scripts/webkitpy/grammar_unittest.py: Added.
+
+2010-02-11 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ run-chromium-webkit-tests fails random pixel tests on Mac
+ https://bugs.webkit.org/show_bug.cgi?id=34862
+
+ This is due to the fact that the Mac port has an
+ invalid path to the image diff tool. Currently it points
+ to image_diff even though ImageDiff would be correct. We
+ can't change it to the right path yet without causing the
+ script to hang. ImageDiff expects to be long-running and
+ be passed image data over stdin. image_diff (chromium's fork)
+ expects to be passed command line arguments.
+ This fix works around the random failures by disabling pixel
+ tests on mac and logging if the user was trying to run with pixel
+ tests enabled.
+
+ * Scripts/webkitpy/layout_tests/port/mac.py:
+
+2010-02-11 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Reviewed by Adam Roben.
+ Try to fix build breakage from r54665.
+
+ * Scripts/check-for-global-initializers:
+
+2010-02-11 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Make it possible to toggle accelerated compositing from the menu
+ at run-time.
+
+ * QtLauncher/main.cpp:
+ (LauncherWindow::toggleAcceleratedCompositing):
+ (LauncherWindow::setupUI):
+
+2010-02-08 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Cameron Zwarich.
+
+ Restore ENABLE_RUBY flag so vendors can ship with Ruby disabled if they choose.
+ https://bugs.webkit.org/show_bug.cgi?id=34698
+
+ * Scripts/build-webkit:
+
+2010-02-10 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Fix various minor bugs keeping run-chromium-webkit-tests from actually
+ working on the linux and win ports of Chromium.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34739
+
+ * Scripts/webkitpy/layout_tests/layout_package/test_shell_thread.py:
+ * Scripts/webkitpy/layout_tests/port/__init__.py:
+ * Scripts/webkitpy/layout_tests/port/base.py:
+ * Scripts/webkitpy/layout_tests/port/chromium.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_win.py:
+ * Scripts/webkitpy/layout_tests/port/http_server.py:
+ * Scripts/webkitpy/layout_tests/port/websocket_server.py:
+
+2010-02-10 Eric Seidel <eric@webkit.org>
+
+ Reviewed by David Levin.
+
+ run-chromium-webkit-tests --platform=mac-leopard crashes when using a custom build directory
+ https://bugs.webkit.org/show_bug.cgi?id=34817
+
+ This doesn't fix the root cause of us not
+ correctly failing when support binaries are missing.
+ This only causes the DumpRenderTree binary not to be
+ missing in the custom build directory case.
+ Later patches will make us correctly fail fast when
+ support binaries (like DumpRenderTree or ImageDiff) are missing.
+
+ * Scripts/webkit-build-directory: Added.
+ - Need a way to re-use the perl logic for finding build directories in non-perl scripts.
+ * Scripts/webkitpy/layout_tests/port/base.py: Add a FIXME.
+ * Scripts/webkitpy/layout_tests/port/mac.py:
+ - Call webkit-build-directory to find the build directory instead of assuming "WebKitBuild"
+ * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py: Add FIXMEs.
+
+2010-02-10 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ [wx] Add Windows complex text support.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34759
+
+ * wx/build/settings.py:
+
+2010-02-10 Kevin Ollivier <kevino@theolliviers.com>
+
+ [wx] Build fix. Add stub for new LayoutTestController method.
+
+ * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
+ (LayoutTestController::numberOfPages):
+
+2010-02-10 Csaba Osztrogonác <ossy@webkit.org>
+
+ Unreviewed. Roll out r54626, because it broke GTK and Win build.
+ https://bugs.webkit.org/show_bug.cgi?id=32717
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (LayoutTestController::staticFunctions):
+ * DumpRenderTree/LayoutTestController.h:
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (resetDefaultsToConsistentValues):
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+
+2010-02-10 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Support frameset flattening
+ https://bugs.webkit.org/show_bug.cgi?id=32717
+
+ Add FrameSet Flattening support to Mac DRT.
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (setFrameSetFlatteningEnabledCallback):
+ (LayoutTestController::staticFunctions):
+ * DumpRenderTree/LayoutTestController.h:
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (resetDefaultsToConsistentValues):
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (LayoutTestController::setFrameSetFlatteningEnabled):
+
+2010-02-08 Jon Honeycutt <jhoneycutt@apple.com>
+
+ <rdar://problem/7436875> Crash in Flash when visiting
+ http://www.cctv.com/default.shtml (WER ID 819298200) [watson 2502260]
+
+ Reviewed by Darin Adler.
+
+ * DumpRenderTree/win/TestNetscapePlugin/main.cpp:
+ (executeScript):
+ Moved to an earlier point in the file.
+ (NPP_New):
+ If the plug-in has an onDestroy attribute, store its value.
+ (NPP_Destroy):
+ If the plug-in has code to run on destruction, run it and free it.
+
+2010-02-10 Diego Gonzalez <diego.gonzalez@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Implement pageNumberForElementById() method in Qt DRT LayoutTestController,
+ to make Qt DRT able to get page number.
+
+ LayoutTests:
+ printing/page-break-always.html
+ printing/pageNumerForElementById.html
+ printing/css2.1/page-break-before-000.html
+ printing/css2.1/page-break-after-000.html
+ printing/css2.1/page-break-after-004.html
+ printing/css2.1/page-break-before-001.html
+ printing/css2.1/page-break-after-001.html
+ printing/css2.1/page-break-after-002.html
+ printing/css2.1/page-break-before-002.html
+ printing/css2.1/page-break-inside-000.html
+
+ [Qt] Make possible Qt DRT get a page number for element by ID
+ https://bugs.webkit.org/show_bug.cgi?id=34777
+
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::pageNumberForElementById):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+
+2010-02-10 Andras Becsi <abecsi@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Make run-iexploder-tests work on Linux.
+ https://bugs.webkit.org/show_bug.cgi?id=34748
+
+ Extract the platform dependant Apache configuration checking code in httpd.pm to a separate function
+ called getHTTPDConfigPathForTestDirectory and use run-launcher instead of run-safari if run on Linux.
+
+ * Scripts/run-iexploder-tests:
+ * Scripts/webkitperl/httpd.pm:
+
+2010-02-09 Csaba Osztrogonác <ossy@webkit.org>
+
+ [Qt] Unreviewed. Roll-out r54543, because layout tests crash in debug mode.
+ https://bugs.webkit.org/show_bug.cgi?id=34713
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::WebPage::WebPage):
+ * DumpRenderTree/qt/main.cpp:
+ (main):
+
+2010-02-09 Alejandro G. Castro <alex@igalia.com>
+
+ Unreviewed; added myself to committers
+
+ * Scripts/webkitpy/committers.py:
+
+2010-02-09 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Webkit in Qt does not have window.showModalDialog
+ https://bugs.webkit.org/show_bug.cgi?id=25585
+
+ Set the modality flag when createWindow is called with window type WebWindowDialog.
+
+ * QtLauncher/main.cpp:
+ (WebPage::createWindow):
+
+2010-02-09 Andras Becsi <abecsi@webkit.org>
+
+ Unreviewed trivial warning fix.
+
+ * Scripts/build-webkit:
+
+2010-02-09 Gabor Rapcsanyi <rgabor@inf.u-szeged.hu>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Add possibility of passing parameters to build-webkit by environment variable,
+ because the buildbot slaves can't control the arguments.
+
+ * Scripts/build-webkit:
+
+2010-02-09 Chang Shu <Chang.Shu@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] Enable appcache feature.
+ https://bugs.webkit.org/show_bug.cgi?id=34713
+
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::WebPage::WebPage):
+ * DumpRenderTree/qt/main.cpp:
+ (main):
+
+2010-02-09 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Provide a way to get total number of pages to be printed
+ https://bugs.webkit.org/show_bug.cgi?id=34699
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (parsePageParameters):
+ (pageNumberForElementByIdCallback):
+ (numberOfPagesCallback):
+ (LayoutTestController::staticFunctions):
+ * DumpRenderTree/LayoutTestController.h:
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::numberOfPages):
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (LayoutTestController::numberOfPages):
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::numberOfPages):
+
+2010-02-08 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34727
+ Assertion crashes and freezes when plug-in property access results in an exception
+
+ * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
+ (pluginGetProperty): Raise an exception when accessing a particular property.
+ (pluginSetProperty): Ditto.
+ (pluginInvoke): Added methods to get and set host object properties.
+
+2010-02-08 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Ariya Hidayat.
+
+ [Qt] Backport No'am Rosenthal's frame rate measurement
+
+ * QtLauncher/main.cpp:
+ (LauncherWindow::LauncherWindow):
+ (LauncherApplication::handleUserOptions):
+ * QtLauncher/webview.cpp:
+ (WebViewGraphicsBased::WebViewGraphicsBased):
+ (WebViewGraphicsBased::enableFrameRateMeasurement):
+ (WebViewGraphicsBased::updateFrameRate):
+ (WebViewGraphicsBased::paintEvent):
+ * QtLauncher/webview.h:
+
+2010-02-08 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Make overridePreference complain when it does not
+ support the preference given.
+
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::overridePreference):
+
+2010-02-08 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Set stdout/stderr to binary mode for DRT on Windows
+
+ This makes sure we don't end up with lots of CRLFs in the
+ DRT output, which breaks tons of results. Matches what
+ the Windows DRT does.
+
+ * DumpRenderTree/qt/main.cpp:
+
+2010-02-08 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Build fix for Qt on Windows.
+
+ Don't use noreturn directly since it's a gcc attribute.
+ Instead use the NO_RETURN macro from AlwaysInline.h
+
+ * QtLauncher/QtLauncher.pro:
+ * QtLauncher/utils.h:
+
+2010-02-05 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Suppressed check-webkit-style's underscore check in Qt's autotests.
+ Also made the path-specific filter check case-insensitive.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34574
+
+ * Scripts/webkitpy/style/checker.py:
+ - Added a list element to _PATH_RULES_SPECIFIER for
+ directories that should be excluded from the
+ "readability/naming" category (the category that relates to
+ underscores in identifiers, for example).
+
+ * Scripts/webkitpy/style/checker_unittest.py:
+ - Added an "end-to-end" test for "WebKit/qt/tests/".
+
+ * Scripts/webkitpy/style/filter.py:
+ - Altered FilterConfiguration's should_check() method to
+ check for path substring matches case-insensitively.
+
+ * Scripts/webkitpy/style/filter_unittest.py:
+ - Added a test to check case-insensitive path substring matching.
+
+ * Scripts/webkitpy/style/processors/cpp.py:
+ - Removed the hard-coded "WebKit/gtk/webkit/" path reference
+ since this is now taken care of by the _PATH_RULES_SPECIFIER
+ configuration variable.
+
+ * Scripts/webkitpy/style/processors/cpp_unittest.py:
+ - Removed the unit test for the GTK directory since this
+ is now taken care of by the checker._PATH_RULES_SPECIFIER
+ end-to-end tests.
+
+2010-02-08 Leith Bade <leith@leithalweapon.geek.nz>
+
+ Reviewed by Darin Adler.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=34637
+ Corrects the newline inserted into WebKitOutputDir, and WebKitLibrariesDir Windows
+ environemnt variables when there is a space in the user's /home path.
+
+ * Scripts/webkitdirs.pm:
+ - Added missing quotes around $sourceDir in argument list of cygpath in determineWindowsSourceDir().
+
+2010-02-05 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34670
+ TestNetscapePlugin should work with Firefox
+
+ * DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp: (NPP_New): Default to Carbon if
+ browser doesn't tell what it supports.
+
+2010-02-05 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ [Gtk] Implement layoutTestController.pageNumberForElementById
+ https://bugs.webkit.org/show_bug.cgi?id=34572
+
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::pageNumberForElementById):
+
+2010-02-03 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Add a simple test implementation and the WebKit Mac implementation
+ for the layout_tests/port package. Also add a simple test driver of
+ that interface.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34511
+
+ * Scripts/webkitpy/layout_tests/driver_test.py: Added.
+ * Scripts/webkitpy/layout_tests/port/__init__.py:
+ * Scripts/webkitpy/layout_tests/port/mac.py: Added.
+ * Scripts/webkitpy/layout_tests/port/test.py: Added.
+
+2010-02-03 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Eric Siedel.
+
+ Refactor the port package into an object-oriented style and merge
+ path_utils into it. We add a 'base' and a 'chromium' object to the
+ port package; this will allow us to easily add new ports (like
+ WebKit Mac).
+
+ https://bugs.webkit.org/show_bug.cgi?id=34511
+
+ * Scripts/rebaseline-chromium-webkit-tests:
+ * Scripts/run-chromium-webkit-tests:
+ * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
+ * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
+ * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py:
+ * Scripts/webkitpy/layout_tests/layout_package/test_files.py:
+ * Scripts/webkitpy/layout_tests/layout_package/test_shell_thread.py:
+ * Scripts/webkitpy/layout_tests/port/__init__.py:
+ * Scripts/webkitpy/layout_tests/port/apache_http_server.py:
+ * Scripts/webkitpy/layout_tests/port/base.py: Added.
+ * Scripts/webkitpy/layout_tests/port/chromium.py: Added.
+ * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_win.py:
+ * Scripts/webkitpy/layout_tests/port/http_server.py:
+ * Scripts/webkitpy/layout_tests/port/http_server_base.py:
+ * Scripts/webkitpy/layout_tests/port/path_utils.py: Removed.
+ * Scripts/webkitpy/layout_tests/port/websocket_server.py:
+ * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
+ * Scripts/webkitpy/layout_tests/run_chromium_webkit_tests.py:
+ * Scripts/webkitpy/layout_tests/test_types/fuzzy_image_diff.py:
+ * Scripts/webkitpy/layout_tests/test_types/image_diff.py:
+ * Scripts/webkitpy/layout_tests/test_types/test_type_base.py:
+ * Scripts/webkitpy/layout_tests/test_types/text_diff.py:
+
+2010-01-19 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Dave Hyatt.
+
+ Implement flattening of framesets
+ https://bugs.webkit.org/show_bug.cgi?id=32717
+
+ Add support for testing frame flattening with the Qt DRT
+
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::setFrameSetFlatteningEnabled):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+
+2010-02-03 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Provided a way in check-webkit-style to specify filter rules
+ on a per file or folder basis, via a configuration variable.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33684
+
+ * Scripts/webkitpy/style/checker.py:
+ - Added _PATH_RULES_SPECIFIER configuration variable.
+ - In ProcessorOptions class--
+ - Changed the CategoryFilter attribute to FilterConfiguration.
+ - Added path parameter to is_reportable().
+ - Renamed ArgumentDefaults filter_rules attribute to
+ base_filter_rules.
+ - Updated ArgumentPrinter class.
+ - Added filter rule validation to ArgumentParser (instead of
+ in CategoryFilter constructor).
+
+ * Scripts/webkitpy/style/checker_unittest.py:
+ - Updated unit tests as necessary.
+ - Added unit tests for PATH_RULES_SPECIFIER.
+
+ * Scripts/webkitpy/style/error_handlers.py:
+ - Updated DefaultStyleErrorHandler to use file path when
+ calling is_reportable().
+
+ * Scripts/webkitpy/style/error_handlers_unittest.py:
+ - Updated unit tests as necessary.
+
+ * Scripts/webkitpy/style/filter.py:
+ - Marked CategoryFilter internal with an underscore.
+ - Removed argument validation from CategoryFilter.
+ - Added FilterConfiguration class.
+
+ * Scripts/webkitpy/style/filter_unittest.py:
+ - Updated CategoryFilterTest class.
+ - Added FilterConfigurationTest unit tests.
+
+ * Scripts/webkitpy/style/processors/cpp.py:
+ - Removed _is_test_filename() code.
+ - Removed hard-coded path checks from check_include_line().
+
+ * Scripts/webkitpy/style/processors/cpp_unittest.py:
+ - Removed three unit tests related to exempted files.
+
+2010-02-05 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Ariya Hidayat.
+
+ [Qt] Apply the command line options as settings to the
+ graphics system.
+
+ * QtLauncher/main.cpp:
+ (LauncherWindow::LauncherWindow):
+ (requiresGraphicsView):
+ (LauncherApplication::handleUserOptions):
+ * QtLauncher/webview.h:
+ (WebViewGraphicsBased::setItemCacheMode):
+
+2010-02-05 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Notify user that run-webkit-tests has to be run under Cygwin
+
+ The script will bail out if run under Windows shell or Msys.
+
+ * Scripts/run-webkit-tests:
+ * Scripts/webkitdirs.pm:
+
+2010-02-05 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Generate convenience headers (QWebView, etc) using qmake
+
+ In Qt this is done using syncqt, but we use a pro-file instead
+ that generates makefile-rules for each of the extra headers.
+
+ These extra headers are installed alongside the normal headers.
+
+ * Scripts/webkitdirs.pm: Run qmake and make on new API-DerivedSources
+
+2010-02-05 Andras Becsi <abecsi@webkit.org>
+
+ Unreviewed typo fix.
+
+ Fix wrong whitespace alignment introduced in r54342.
+
+ * Scripts/run-webkit-tests:
+
+2010-02-04 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Timothy Hatcher.
+
+ Build fix. Remove a symbol corresponding to an inline function from the linker export
+ file to prevent a weak external failure.
+
+ * Scripts/check-for-weak-vtables-and-externals: Renamed from WebKitTools/Scripts/check-for-weak-vtables.
+ Teach the script how to detect weak external symbols so that these errors can be caught immediately
+ in the future.
+
+2010-02-04 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Rubberstamped by Oliver Hunt.
+
+ [Qt] Make it possible to choose whether the launcher should
+ use the traditional QWidget based QWebView or the newer
+ QGraphics based QGraphicsWebView on a QGraphicsView.
+
+ * QtLauncher/main.cpp:
+ (LauncherWindow::LauncherWindow):
+ (LauncherWindow::eventFilter):
+ (LauncherWindow::loadStarted):
+ (LauncherWindow::print):
+ (LauncherWindow::screenshot):
+ (LauncherWindow::setEditable):
+ (LauncherWindow::setupUI):
+ (main):
+ * QtLauncher/webview.cpp:
+ (WebViewGraphicsBased::WebViewGraphicsBased):
+ (WebViewGraphicsBased::resizeEvent):
+ (GraphicsWebView::mousePressEvent):
+ (GraphicsWebView::contextMenuEvent):
+ * QtLauncher/webview.h:
+ (WebViewTraditional::WebViewTraditional):
+ (GraphicsWebView::GraphicsWebView):
+ (WebViewGraphicsBased::setPage):
+
+2010-02-04 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Rubberstamped by Oliver Hunt.
+
+ [Qt] QtLauncher cleanup.
+
+ Refactor option handling out in utility functions and make the
+ arguments more Qt compatible.
+
+ * QtLauncher/main.cpp:
+ (requiresGraphicsView):
+ (LauncherApplication::handleUserOptions):
+ * QtLauncher/utils.cpp:
+ (takeOptionValue):
+ (formatKeys):
+ (enumToKeys):
+ (appQuit):
+ * QtLauncher/utils.h:
+
+2010-02-04 Andras Becsi <abecsi@inf.u-szeged.hu>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Implement a locking and scheduling mechanism for http testing sessions to be able
+ to run multiple instances of run-webkit-tests parallel on the same machine.
+ If a test session wants to run http tests and this feature is enabled, the pending
+ sessions create lockfiles with sequential lock numbers. These locks are used to schedule
+ the running test sessions in first come first served order. An exclusive lock ensures
+ that the lock numbers are sequential to avoid deadlocks and starvation.
+ Because the buildbot master specifies the flags used by slaves we need an environment
+ variable too to be able to use the feature per-slave.
+ Exporting WEBKIT_WAIT_FOR_HTTPD=1 before testing or using the --wait-for-httpd
+ flag enables this feature, otherwise this patch has no effect on the testing whatsoever.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33153
+
+ * Scripts/run-webkit-tests:
+ * Scripts/webkitperl/httpd.pm:
+
+2010-01-22 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Make run-webkit-tests work under Cygwin for the Qt port
+
+ setPathForRunningWebKitApp() is implemented for the Qt port
+ by using qmake to query for the location of the Qt libraries.
+
+ This requires the original environment (%ENV) to be untouched,
+ so launchWithCurrentEnv() was refactored to launchWithEnv(),
+ and the code in openDumpTool() to not use %ENV but a %CLEAN_ENV
+ instead. This has the added benefit of getting rid of the temp
+ variables used for storing the current env.
+
+ openDumpTool() is also refactored a bit into platform-spesific,
+ port-spesific, and generic environment variables.
+
+ Checks for undef was added a few places to fix Perl concat
+ warnings when run-webkit-tests is aborted.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33895
+
+ * Scripts/run-webkit-tests:
+ * Scripts/webkitdirs.pm:
+
+2010-02-04 Yuzo Fujishima <yuzo@google.com>
+
+ Unreviewed.
+
+ Add Yuzo to the committers list.
+
+ * Scripts/webkitpy/committers.py:
+
+2010-02-03 Dirk Pranke <dpranke@chromium.org>
+
+ Rubber-stamped by Eric Seidel.
+
+ Change "the Chromium name" to "the name of Google Inc." in the licenses
+
+ https://bugs.webkit.org/show_bug.cgi?id=34511
+
+ * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
+ * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
+ * Scripts/webkitpy/layout_tests/layout_package/metered_stream.py:
+ * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py:
+ * Scripts/webkitpy/layout_tests/layout_package/test_failures.py:
+ * Scripts/webkitpy/layout_tests/layout_package/test_files.py:
+ * Scripts/webkitpy/layout_tests/layout_package/test_shell_thread.py:
+ * Scripts/webkitpy/layout_tests/port/__init__.py:
+ * Scripts/webkitpy/layout_tests/port/apache_http_server.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
+ * Scripts/webkitpy/layout_tests/port/chromium_win.py:
+ * Scripts/webkitpy/layout_tests/port/http_server.py:
+ * Scripts/webkitpy/layout_tests/port/http_server_base.py:
+ * Scripts/webkitpy/layout_tests/port/path_utils.py:
+ * Scripts/webkitpy/layout_tests/port/websocket_server.py:
+ * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
+ * Scripts/webkitpy/layout_tests/run_chromium_webkit_tests.py:
+ * Scripts/webkitpy/layout_tests/test_types/fuzzy_image_diff.py:
+ * Scripts/webkitpy/layout_tests/test_types/image_diff.py:
+ * Scripts/webkitpy/layout_tests/test_types/test_type_base.py:
+ * Scripts/webkitpy/layout_tests/test_types/text_diff.py:
+
+2010-02-03 Dirk Pranke <dpranke@chromium.org>
+
+ Rubber-stamped by Eric Siedel.
+
+ Rename files as part of refactoring the layout_tests package. All
+ the platform_utils* module, the path_utils.py module, and
+ the http server and web socket server modules are moved into a new
+ port/ package.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34511
+
+ * Scripts/webkitpy/layout_tests/layout_package/apache_http_server.py: Removed.
+ * Scripts/webkitpy/layout_tests/layout_package/http_server.py: Removed.
+ * Scripts/webkitpy/layout_tests/layout_package/http_server_base.py: Removed.
+ * Scripts/webkitpy/layout_tests/layout_package/httpd2.pem: Removed.
+ * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
+ * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
+ * Scripts/webkitpy/layout_tests/layout_package/lighttpd.conf: Removed.
+ * Scripts/webkitpy/layout_tests/layout_package/path_utils.py: Removed.
+ * Scripts/webkitpy/layout_tests/layout_package/platform_utils.py: Removed.
+ * Scripts/webkitpy/layout_tests/layout_package/platform_utils_linux.py: Removed.
+ * Scripts/webkitpy/layout_tests/layout_package/platform_utils_mac.py: Removed.
+ * Scripts/webkitpy/layout_tests/layout_package/platform_utils_win.py: Removed.
+ * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py:
+ * Scripts/webkitpy/layout_tests/layout_package/test_files.py:
+ * Scripts/webkitpy/layout_tests/layout_package/test_shell_thread.py:
+ * Scripts/webkitpy/layout_tests/layout_package/websocket_server.py: Removed.
+ * Scripts/webkitpy/layout_tests/port: Added.
+ * Scripts/webkitpy/layout_tests/port/__init__.py: Copied from Scripts/webkitpy/layout_tests/layout_package/platform_utils.py.
+ * Scripts/webkitpy/layout_tests/port/apache_http_server.py: Copied from Scripts/webkitpy/layout_tests/layout_package/apache_http_server.py.
+ * Scripts/webkitpy/layout_tests/port/chromium_linux.py: Copied from Scripts/webkitpy/layout_tests/layout_package/platform_utils_linux.py.
+ * Scripts/webkitpy/layout_tests/port/chromium_mac.py: Copied from Scripts/webkitpy/layout_tests/layout_package/platform_utils_mac.py.
+ * Scripts/webkitpy/layout_tests/port/chromium_win.py: Copied from Scripts/webkitpy/layout_tests/layout_package/platform_utils_win.py.
+ * Scripts/webkitpy/layout_tests/port/http_server.py: Copied from Scripts/webkitpy/layout_tests/layout_package/http_server.py.
+ * Scripts/webkitpy/layout_tests/port/http_server_base.py: Copied from Scripts/webkitpy/layout_tests/layout_package/http_server_base.py.
+ * Scripts/webkitpy/layout_tests/port/httpd2.pem: Copied from Scripts/webkitpy/layout_tests/layout_package/httpd2.pem.
+ * Scripts/webkitpy/layout_tests/port/lighttpd.conf: Copied from Scripts/webkitpy/layout_tests/layout_package/lighttpd.conf.
+ * Scripts/webkitpy/layout_tests/port/path_utils.py: Copied from Scripts/webkitpy/layout_tests/layout_package/path_utils.py.
+ * Scripts/webkitpy/layout_tests/port/websocket_server.py: Copied from Scripts/webkitpy/layout_tests/layout_package/websocket_server.py.
+ * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
+ * Scripts/webkitpy/layout_tests/run_chromium_webkit_tests.py:
+ * Scripts/webkitpy/layout_tests/test_types/fuzzy_image_diff.py:
+ * Scripts/webkitpy/layout_tests/test_types/image_diff.py:
+ * Scripts/webkitpy/layout_tests/test_types/test_type_base.py:
+ * Scripts/webkitpy/layout_tests/test_types/text_diff.py:
+
+
+2010-02-03 Csaba Osztrogonác <ossy@webkit.org>
+
+ Rubber-stamped by Eric Seidel.
+
+ Roll back r53559 and r54084 again, because roll out didn't solve flakeyness on the Windows Test bots
+ https://bugs.webkit.org/show_bug.cgi?id=34399
+
+ * Scripts/run-iexploder-tests:
+ * Scripts/run-webkit-httpd:
+ * Scripts/run-webkit-tests:
+ * Scripts/webkitperl/httpd.pm: Added.
+
+2010-02-03 Csaba Osztrogonác <ossy@webkit.org>
+
+ Rubber-stamped by Eric Seidel.
+
+ Roll out r53559 and r54084, because it might caused flakeyness on the Windows Test bots
+
+ * Scripts/run-iexploder-tests:
+ * Scripts/run-webkit-httpd:
+ * Scripts/run-webkit-tests:
+ * Scripts/webkitperl/httpd.pm: Removed.
+
+2010-02-03 Csaba Osztrogonác <ossy@webkit.org>
+
+ Rubber-stamped by Ariya Hidayat.
+
+ Roll back r53889 again, because roll out didn't solve flakeyness on the Windows Test bots
+ https://bugs.webkit.org/show_bug.cgi?id=34399
+
+ * DumpRenderTree/win/EventSender.cpp:
+ (buildModifierFlags):
+ (mouseDownCallback):
+ (mouseUpCallback):
+ (keyDownCallback):
+
+2010-02-03 Eric Seidel <eric@webkit.org>
+
+ No review, just fixing copyrights.
+
+ Concerns were expressed about "The Chromium Authors" being
+ a valid legal entity for copyright assignment in the WebKit repository,
+ so this change removes all "The Chromium Authors".
+
+ I looked at the svn logs in src.chromium.org and failed to find any
+ non-google contributions to these files, so they are all now
+ marked as copyright "Google Inc" as all Google contributers assign
+ copyright to "Google Inc" as part of their employment agreement.
+
+ * Scripts/rebaseline-chromium-webkit-tests:
+ * Scripts/run-chromium-webkit-tests:
+ * Scripts/webkitpy/layout_tests/layout_package/apache_http_server.py:
+ * Scripts/webkitpy/layout_tests/layout_package/http_server.py:
+ * Scripts/webkitpy/layout_tests/layout_package/http_server_base.py:
+ * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
+ * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
+ * Scripts/webkitpy/layout_tests/layout_package/metered_stream.py:
+ * Scripts/webkitpy/layout_tests/layout_package/path_utils.py:
+ * Scripts/webkitpy/layout_tests/layout_package/platform_utils.py:
+ * Scripts/webkitpy/layout_tests/layout_package/platform_utils_linux.py:
+ * Scripts/webkitpy/layout_tests/layout_package/platform_utils_mac.py:
+ * Scripts/webkitpy/layout_tests/layout_package/platform_utils_win.py:
+ * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py:
+ * Scripts/webkitpy/layout_tests/layout_package/test_failures.py:
+ * Scripts/webkitpy/layout_tests/layout_package/test_files.py:
+ * Scripts/webkitpy/layout_tests/layout_package/test_shell_thread.py:
+ * Scripts/webkitpy/layout_tests/layout_package/websocket_server.py:
+ * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py:
+ * Scripts/webkitpy/layout_tests/run_chromium_webkit_tests.py:
+ * Scripts/webkitpy/layout_tests/test_types/fuzzy_image_diff.py:
+ * Scripts/webkitpy/layout_tests/test_types/image_diff.py:
+ * Scripts/webkitpy/layout_tests/test_types/test_type_base.py:
+ * Scripts/webkitpy/layout_tests/test_types/text_diff.py:
+
+2010-02-03 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Ariya Hidayat.
+
+ [Qt] QtLauncher, refactor argument handling in preparation of merge
+ with QGVLauncher
+
+ * QtLauncher/main.cpp:
+ (LauncherApplication::urls):
+ (LauncherApplication::isRobotized):
+ (LauncherApplication::applyDefaultSettings):
+ (LauncherApplication::LauncherApplication):
+ (LauncherApplication::formatKeys):
+ (LauncherApplication::enumToKeys):
+ (fail):
+ (LauncherApplication::handleUserOptions):
+ (main):
+
+2010-02-03 Csaba Osztrogonác <ossy@webkit.org>
+
+ Rubber-stamped by Ariya Hidayat.
+
+ Rolling out r53889, because it might caused flakeyness on the Windows Test bots
+ https://bugs.webkit.org/show_bug.cgi?id=34399
+
+ * DumpRenderTree/win/EventSender.cpp:
+ (mouseDownCallback):
+ (mouseUpCallback):
+ (keyDownCallback):
+
+2010-02-03 Csaba Osztrogonác <ossy@webkit.org>
+
+ Reviewed by Ariya Hidayat.
+
+ [Qt] Fix pixel tests support.
+ https://bugs.webkit.org/show_bug.cgi?id=27813
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::DumpRenderTree::open):
+ (WebCore::DumpRenderTree::processLine):
+ - Hash processing mechanism moved from DumpRenderTree::open to DumpRenderTree::processLine.
+ (WebCore::DumpRenderTree::dump): Fixed and renamed variables.
+
+2010-02-03 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ [wx] Enable JIT compilation for wx.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34536
+
+ * wx/build/settings.py:
+
+2010-02-02 Kevin Ollivier <kevino@theolliviers.com>
+
+ [wx] Build fix after introduction of pageNumberForElementById.
+
+ * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
+ (LayoutTestController::pageNumberForElementById):
+
+2010-02-02 Shu Chang <Chang.Shu@nokia.com>
+
+ Unreviewed.
+
+ Add myself to list of committers.
+
+ * Scripts/webkitpy/committers.py:
+
+2010-02-02 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Moved filter-related check-webkit-style code into a separate
+ filter module.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34408
+
+ This is preparatory refactoring for Bug 33684, which will allow
+ file and folder-specific filter rules.
+
+ * Scripts/webkitpy/style/checker.py:
+ - Removed CategoryFilter class (moved to filter.py).
+
+ * Scripts/webkitpy/style/checker_unittest.py:
+ - Removed CategoryFilter unit tests (moved to filter_unittest.py).
+
+ * Scripts/webkitpy/style/filter.py: Added.
+ - Added CategoryFilter class (moved from checker.py).
+
+ * Scripts/webkitpy/style/filter_unittest.py: Added.
+ - Added CategoryFilter unit tests (moved from checker_unittest.py).
+
+ * Scripts/webkitpy/style/unittests.py:
+ - Added reference to filter_unittest.py.
+
+2010-02-01 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Addressed FIXME in check-webkit-style so that the carriage-return
+ check will work for patches.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34260
+
+ Also added support for limiting the number of errors reported
+ per category, per file.
+
+ * Scripts/webkitpy/style/checker.py:
+ - Added new "whitespace/carriage_return" category from common.py.
+ - Added MAX_REPORTS_PER_CATEGORY dictionary.
+ - Added max_reports_per_category attribute to ProcessorOptions class.
+ - Refactored StyleChecker._process_file().
+
+ * Scripts/webkitpy/style/checker_unittest.py:
+ - Updated ProcessorOptionsTest tests.
+ - Added test to check MAX_REPORTS_PER_CATEGORY.
+
+ * Scripts/webkitpy/style/error_handlers.py:
+ - Added support for suppressing the display of errors after
+ reaching a per-category maximum (from max_reports_per_category).
+
+ * Scripts/webkitpy/style/error_handlers_unittest.py:
+ - Added test for suppressing error display.
+
+ * Scripts/webkitpy/style/processors/common.py: Added.
+ - Moved carriage-return check to new file.
+
+ * Scripts/webkitpy/style/processors/common_unittest.py: Added.
+ - Added unit tests for carriage-return check.
+
+ * Scripts/webkitpy/style/unittests.py:
+ - Added reference to common_unittest.py.
+
+2010-02-01 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Provide a way to get page number with layoutTestController
+ https://bugs.webkit.org/show_bug.cgi?id=33840
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (pageNumberForElementByIdCallback):
+ (LayoutTestController::staticFunctions):
+ * DumpRenderTree/LayoutTestController.h:
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::pageNumberForElementById):
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (LayoutTestController::pageNumberForElementById):
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::pageNumberForElementById):
+
+2010-02-01 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Unreviewed fix for an invalid function call.
+
+ check-webkit-style: Remove filename parameter from all functions where no longer used
+ https://bugs.webkit.org/show_bug.cgi?id=34249
+
+ * Scripts/webkitpy/style/checker.py:
+
+2010-02-01 Diego Gonzalez <diego.gonzalez@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] DRT Provide global flag ability
+ https://bugs.webkit.org/show_bug.cgi?id=34418
+
+ Add the globalFlag property to the Qt LayoutTestController to allow
+ cross-domain indications.
+
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::reset):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+ (LayoutTestController::globalFlag):
+ (LayoutTestController::setGlobalFlag):
+
+2010-02-01 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ Crash in Safari opening new tabs to "same page"
+ <rdar://problem/7593857> and https://bugs.webkit.org/show_bug.cgi?id=34444
+
+ Add a mode (Mac-only for now) that exercises the WebView SPI _loadBackForwardListFromOtherView:
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (LayoutTestController::LayoutTestController):
+ (setNewWindowsCopyBackForwardListCallback):
+ (LayoutTestController::staticFunctions):
+
+ * DumpRenderTree/LayoutTestController.h:
+ (LayoutTestController::newWindowsCopyBackForwardList):
+ (LayoutTestController::setNewWindowsCopyBackForwardList):
+
+ * DumpRenderTree/mac/UIDelegate.mm:
+ (-[UIDelegate webView:createWebViewWithRequest:]):
+
+2010-02-01 Carol Szabo <carol.szabo@nokia.com>
+
+ Unreviewed.
+
+ Add myself to list of committers.
+
+ * Scripts/webkitpy/committers.py:
+
+2010-02-01 Nate Chapin <japhet@chromium.org>
+
+ Rubber-stamped by David Levin.
+
+ Add myself to reviewer list.
+
+ * Scripts/webkitpy/committers.py:
+
+2010-01-31 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Moved style error handler code to their own classes, and
+ related refactoring. Increased unit test code coverage of
+ style error handling.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34379
+
+ * Scripts/check-webkit-style:
+ - Minor change: added error_count variable.
+
+ * Scripts/webkitpy/style/checker.py:
+ - Renamed ProcessorOptions.should_report_error() to is_reportable().
+ - In the StyleChecker class--
+ - Removed _default_style_error_handler().
+ - Added _increment_error_count().
+ - Refactored to use DefaultStyleErrorHandler and
+ PatchStyleErrorHandler constructors.
+
+ * Scripts/webkitpy/style/checker_unittest.py:
+ - In the StyleStyleCheckerTest class--
+ - Removed write_sample_error().
+ - Removed test_default_style_error_handler().
+
+ * Scripts/webkitpy/style/error_handlers.py: Added.
+ - Added DefaultStyleErrorHandler class.
+ - Added PatchStyleErrorHandler class.
+
+ * Scripts/webkitpy/style/error_handlers_unittest.py: Added.
+ - Added unit tests for DefaultStyleErrorHandler and
+ PatchStyleErrorHandler.
+
+ * Scripts/webkitpy/style/unittests.py:
+ - Added error_handlers unit tests.
+
+2010-01-29 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Stephanie Lewis.
+
+ Fix run-leaks with newer versions of the leaks tool.
+
+ * Scripts/run-leaks:
+
+2010-01-29 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Eric Siedel.
+
+ Top-level test drivers for running the Chromium port of run-webkit-tests
+ and being able to rebaseline test results from the test bots. The
+ files in the Scripts directory are simply wrappers around the files
+ in webkitpy/layout_tests for convenience.
+
+ https://bugs.webkit.org/show_bug.cgi?id=31498
+
+ * Scripts/rebaseline-chromium-webkit-tests: Added.
+ * Scripts/run-chromium-webkit-tests: Added.
+ * Scripts/webkitpy/layout_tests/rebaseline_chromium_webkit_tests.py: Added.
+ * Scripts/webkitpy/layout_tests/run_chromium_webkit_tests.py: Added.
+
+2010-01-29 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Eric Siedel.
+
+ Add in the second block of python code for the Chromium port
+ of run-webkit-tests. These files execute different diffs to classify
+ the various types of failures from a test.
+
+ * Scripts/webkitpy/layout_tests/test_types: Added.
+ * Scripts/webkitpy/layout_tests/test_types/__init__.py: Added.
+ * Scripts/webkitpy/layout_tests/test_types/fuzzy_image_diff.py: Added.
+ * Scripts/webkitpy/layout_tests/test_types/image_diff.py: Added.
+ * Scripts/webkitpy/layout_tests/test_types/test_type_base.py: Added.
+ * Scripts/webkitpy/layout_tests/test_types/text_diff.py: Added.
+
+2010-01-29 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Eric Siedel.
+
+ Check in the first part of the Chromium Python port of the
+ run-webkit-tests test driver. The files under
+ layout_tests/layout_layout constitute most of the implementation;
+ they can be roughly divided into code that parses the
+ "test_expectations.txt" file that describes how we expect tests to
+ pass or fail, platform-specific hooks for the different Chromium
+ ports (in platform_utils*), code for parsing the output of the
+ tests and generating results files and HTML and JSON for the
+ dashboards, auxiliary scripts for starting and stopping HTTP and
+ Web Socket servers, and then one of the actual driver files
+ (test_shell_thread). Code for actually parsing test output for
+ failures and the top-level driver scripts will follow shortly.
+
+ https://bugs.webkit.org/show_bug.cgi?id=31498
+
+ * Scripts/webkitpy/layout_tests: Added.
+ * Scripts/webkitpy/layout_tests/layout_package: Added.
+ * Scripts/webkitpy/layout_tests/layout_package/__init__.py: Added.
+ * Scripts/webkitpy/layout_tests/layout_package/apache_http_server.py: Added.
+ * Scripts/webkitpy/layout_tests/layout_package/http_server.py: Added.
+ * Scripts/webkitpy/layout_tests/layout_package/http_server_base.py: Added.
+ * Scripts/webkitpy/layout_tests/layout_package/httpd2.pem: Added.
+ - scripts to start and stop apache. Note that the apache file
+ generates a conf file dynamically, and we should switch to
+ using the same static conf file that the regular run-webkit-tests
+ uses, and we can also use the same httpd2.pem file.
+
+ * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py: Added.
+ * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py: Added.
+ - scripts to generate the JSON layout test dashboard and the
+ flakiness dashboard
+ * Scripts/webkitpy/layout_tests/layout_package/lighttpd.conf: Added.
+ - default configuration for LigHTTPd (used on Windows)
+ * Scripts/webkitpy/layout_tests/layout_package/metered_stream.py: Added.
+ - utility class that implements progress bars on the console to
+ be displayed while the tests are running
+ * Scripts/webkitpy/layout_tests/layout_package/path_utils.py: Added.
+ - various routines for manipulating paths and URIs
+ * Scripts/webkitpy/layout_tests/layout_package/platform_utils.py: Added.
+ * Scripts/webkitpy/layout_tests/layout_package/platform_utils_linux.py: Added.
+ * Scripts/webkitpy/layout_tests/layout_package/platform_utils_mac.py: Added.
+ * Scripts/webkitpy/layout_tests/layout_package/platform_utils_win.py: Added.
+ - platform-specific aspects of the drivers (binary names, paths,
+ process control, etc.)
+ * Scripts/webkitpy/layout_tests/layout_package/test_expectations.py: Added.
+ - code for parsing the 'test_expectations.txt' file to determine
+ which tests are expected to fail (and how) on which platforms
+ * Scripts/webkitpy/layout_tests/layout_package/test_failures.py: Added.
+ - code for handling different kinds of failures (generating output
+ in the results, etc.)
+ * Scripts/webkitpy/layout_tests/layout_package/test_files.py: Added.
+ - code to gather the lists of tests
+ * Scripts/webkitpy/layout_tests/layout_package/test_shell_thread.py: Added.
+ - code to actually execute tests via TestShell and process
+ the output
+ * Scripts/webkitpy/layout_tests/layout_package/websocket_server.py: Added.
+ - scripts to start and stop the pywebsocket server
+
+2010-01-29 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Check in a copy of the simplejson library; it will be used by
+ the Chromium port of run-webkit-tests.
+
+ https://bugs.webkit.org/show_bug.cgi?id=31498
+
+ * simplejson: Added.
+ * simplejson/LICENSE.txt: Added.
+ * simplejson/README.txt: Added.
+ * simplejson/__init__.py: Added.
+ * simplejson/_speedups.c: Added.
+ (ascii_escape_char):
+ (ascii_escape_unicode):
+ (ascii_escape_str):
+ (py_encode_basestring_ascii):
+ (init_speedups):
+ * simplejson/decoder.py: Added.
+ * simplejson/encoder.py: Added.
+ * simplejson/jsonfilter.py: Added.
+ * simplejson/scanner.py: Added.
+
+2010-01-29 Dirk Pranke <dpranke@chromium.org>
+
+ No review
+
+ Add myself to the committers list
+
+ * Scripts/webkitpy/committers.py:
+
+2010-01-29 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ A first step towards the Indexed Database API
+ https://bugs.webkit.org/show_bug.cgi?id=34342
+
+ Add indexed database API.
+
+ * Scripts/build-webkit:
+
+2010-01-29 Andras Becsi <abecsi@webkit.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Correct openHTTPD() to print requests to stdout if run-webkit-httpd is used.
+ This fixes a regression introduced in r53559.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34336
+
+ * Scripts/webkitperl/httpd.pm:
+
+2010-01-28 Jon Honeycutt <jhoneycutt@apple.com>
+
+ MSAA: Crash when posting a notification for a detached object
+
+ https://bugs.webkit.org/show_bug.cgi?id=34309
+ <rdar://problem/7409759>
+
+ Reviewed by Darin Adler.
+
+ * DumpRenderTree/AccessibilityController.h:
+ Declare new functions. Add new members to store the event hook and the
+ mapping of accessibility elements to their JS callbacks.
+
+ * DumpRenderTree/gtk/AccessibilityControllerGtk.cpp:
+ (AccessibilityController::notificationReceived):
+ Stubbed.
+ (AccessibilityController::addNotificationListener):
+ Stubbed.
+
+ * DumpRenderTree/mac/AccessibilityControllerMac.mm:
+ (AccessibilityController::notificationReceived):
+ Stubbed.
+ (AccessibilityController::addNotificationListener):
+ Stubbed.
+
+ * DumpRenderTree/win/AccessibilityControllerWin.cpp:
+ (AccessibilityController::AccessibilityController):
+ Initialize the event hook.
+ (AccessibilityController::~AccessibilityController):
+ Remove the event hook. Unprotect all of the JS functions that are stored
+ in the map.
+ (logEventProc):
+ Clean-up a variable.
+ (stringEvent):
+ Return a string description of the MSAA event code.
+ (notificationListenerProc):
+ Get the accessible object from the event, and query it for IAccessible.
+ Call the AccessibilityController's notificationReceived().
+ (comparableObject):
+ Use QueryService to obtain the IAccessibleComparable for the
+ IServiceProvider.
+ (AccessibilityController::notificationReceived):
+ Iterate the map of objects that have registered for notification
+ callbacks. Query each for IServiceProvider, then use comparableObject()
+ to get an IAccessibleComparable. If we find an object matching the
+ notified object, call its callback, passing the event that was received.
+ (AccessibilityController::addNotificationListener):
+ If we have not created the event hook, create it. Protect the JS
+ callback function object, and add the object and its callback to our
+ map.
+
+ * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
+ (AccessibilityUIElement::addNotificationListener):
+ Call through to the AccessibilityController's addNotificationListener().
+
+ * DumpRenderTree/win/DumpRenderTreeWin.h:
+ Add an extern declaration for the shared FrameLoadDelegate extern, so we
+ can access it from AccessibilityController.
+
+ * DumpRenderTree/win/FrameLoadDelegate.h:
+ (FrameLoadDelegate::accessibilityController):
+ Return the AccessibilityController.
+
+2010-01-29 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ prepare-ChangeLog outputs useless messages for a nonexistent bug ID
+ https://bugs.webkit.org/show_bug.cgi?id=34313
+
+ * Scripts/prepare-ChangeLog:
+
+2010-01-29 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Rubberstamped by Simon Hausmann.
+
+ [Qt] Separate implementation from class definition.
+
+ * QtLauncher/main.cpp:
+ (LauncherWindow::webView):
+ (LauncherWindow::LauncherWindow):
+ (LauncherWindow::~LauncherWindow):
+ (LauncherWindow::keyPressEvent):
+ (LauncherWindow::grabZoomKeys):
+ (LauncherWindow::sendTouchEvent):
+ (LauncherWindow::eventFilter):
+ (LauncherWindow::loadStarted):
+ (LauncherWindow::loadFinished):
+ (LauncherWindow::showLinkHover):
+ (LauncherWindow::zoomIn):
+ (LauncherWindow::zoomOut):
+ (LauncherWindow::resetZoom):
+ (LauncherWindow::toggleZoomTextOnly):
+ (LauncherWindow::print):
+ (LauncherWindow::screenshot):
+ (LauncherWindow::setEditable):
+ (LauncherWindow::dumpHtml):
+ (LauncherWindow::selectElements):
+ (LauncherWindow::setTouchMocking):
+ (LauncherWindow::newWindow):
+ (LauncherWindow::setupUI):
+
+2010-01-29 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Ariya Hidayat.
+
+ [Qt] On Maemo5, a click/touch in the location bar (when unfocused)
+ should result in all text selected.
+
+ * QtLauncher/locationedit.cpp:
+ (LocationEdit::focusInEvent):
+ * QtLauncher/locationedit.h:
+
+2010-01-29 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Ariya Hidayat.
+
+ [Qt] Show progress reaching 100% for loads.
+
+ * QtLauncher/locationedit.cpp:
+ (LocationEdit::LocationEdit):
+ (LocationEdit::setProgress):
+ (LocationEdit::reset):
+ (LocationEdit::paintEvent):
+ * QtLauncher/locationedit.h:
+
+2010-01-29 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Disable the QtLauncher statusbar on Maemo
+
+ https://bugs.webkit.org/show_bug.cgi?id=34330
+
+ * QtLauncher/main.cpp:
+ (LauncherWindow::showLinkHover):
+ (LauncherWindow::selectElements):
+
+2010-01-29 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Display page loading progress inside the QtLauncher location bar
+
+ https://bugs.webkit.org/show_bug.cgi?id=34210
+
+ * QtLauncher/QtLauncher.pro:
+ * QtLauncher/locationedit.cpp: Added.
+ (LocationEdit::LocationEdit):
+ (LocationEdit::setProgress):
+ (LocationEdit::paintEvent):
+ * QtLauncher/locationedit.h: Added.
+ * QtLauncher/mainwindow.cpp:
+ (MainWindow::buildUI):
+ * QtLauncher/mainwindow.h:
+
+2010-01-29 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Add support for Maemo zoom keys in QtLauncher
+
+ https://bugs.webkit.org/show_bug.cgi?id=34160
+
+ * QtLauncher/main.cpp:
+ (LauncherWindow::LauncherWindow):
+ (LauncherWindow::~LauncherWindow):
+ (LauncherWindow::keyPressEvent):
+ (LauncherWindow::grabZoomKeys):
+
+2010-01-29 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Implement the display() method of the layout test controller
+ https://bugs.webkit.org/show_bug.cgi?id=34258
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::DumpRenderTree::DumpRenderTree):
+ (WebCore::DumpRenderTree::showPage):
+ (WebCore::DumpRenderTree::hidePage):
+ * DumpRenderTree/qt/DumpRenderTreeQt.h:
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::reset):
+ (LayoutTestController::display):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+
+2010-01-28 Kevin Ollivier <kevino@theolliviers.com>
+
+ [wx] Build fix for MSW, use ThreadingWin.cpp as the Windows pthreads implementation
+ implements pthread_t in a way that makes it impossible to check its validity,
+ which is needed by ThreadingPthreads.cpp.
+
+ * DumpRenderTree/wscript:
+ * wx/build/settings.py:
+
+2010-01-28 Andras Becsi <abecsi@webkit.org>
+
+ Adding myself to the committer list. No review needed.
+
+ * Scripts/webkitpy/committers.py:
+
+2010-01-28 Hayato Ito <hayato@chromium.org>
+
+ Reviewed by David Levin.
+
+ Remove NULL char from input JS file because 'grep' fails if the file contains NULL char.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34252
+
+ * Scripts/make-script-test-wrappers:
+
+2010-01-28 Kevin Ollivier <kevino@theolliviers.com>
+
+ [wx] Build fix after removal of the zlib image decoder.
+
+ * wx/build/settings.py:
+
+2010-01-28 Csaba Osztrogonác <ossy@webkit.org>
+
+ [Qt] Unreviewed, roll out r54000.
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::DumpRenderTree::DumpRenderTree):
+ * DumpRenderTree/qt/DumpRenderTreeQt.h:
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::reset):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+ (LayoutTestController::display):
+
+2010-01-28 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Implement the display() method of the layout test controller
+ https://bugs.webkit.org/show_bug.cgi?id=34258
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::DumpRenderTree::DumpRenderTree):
+ (WebCore::DumpRenderTree::showPage):
+ (WebCore::DumpRenderTree::hidePage):
+ * DumpRenderTree/qt/DumpRenderTreeQt.h:
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::reset):
+ (LayoutTestController::display):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+
+2010-01-28 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Eliminated the filename parameter from functions in
+ check-webkit-style's cpp.py where it is no longer used.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34249
+
+ * Scripts/webkitpy/style/processors/cpp.py:
+ - Reduced number of occurrences of "filename" variable from
+ approximately 200 to 120.
+
+ * Scripts/webkitpy/style/processors/cpp_unittest.py:
+ - Refactored unit tests as necessary to accommodate changes to cpp.py.
+ - Fixed bug in CppStyleTestBase.perform_include_what_you_use()
+ where the incorrect file extension was getting passed to
+ cpp_style.check_language().
+
+2010-01-28 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ In check-webkit-style, eliminated the dependency of
+ processors/cpp_unittest.py on checker.py.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34205
+
+ * Scripts/webkitpy/style/checker.py:
+ - Addressed FIXME by removing STYLE_CATEGORIES data.
+ - Added style_categories().
+
+ * Scripts/webkitpy/style/checker_unittest.py:
+ - Minor changes.
+
+ * Scripts/webkitpy/style/processors/cpp.py:
+ - Added categories attribute to CppProcessor class (data
+ was originally checker.STYLE_CATEGORIES).
+
+ * Scripts/webkitpy/style/processors/cpp_unittest.py:
+ - Addressed FIXME by eliminating "import" from checker.py.
+
+2010-01-28 Anton Muhin <antonm@chromium.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Improve treatment of conditions and rest of the line for if, else, switch and alikes
+ https://bugs.webkit.org/show_bug.cgi?id=34173
+
+ * Scripts/webkitpy/style/cpp_style.py:
+ * Scripts/webkitpy/style/cpp_style_unittest.py:
+
+2010-01-28 Joe Mason <jmason@rim.com>
+
+ Reviewed by Adam Barth.
+
+ Limit login retries to 5
+ https://bugs.webkit.org/show_bug.cgi?id=34193
+
+ * Scripts/webkitpy/bugzilla.py:
+
+2010-01-27 Martin Robinson <mrobinson@webkit.org>
+
+ Adding myself to the committer list. No review necessary.
+
+ * Scripts/webkitpy/committers.py:
+
+2010-01-27 George Wright <gwright@rim.com>
+
+ Reviewed by Adam Treat.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34216
+
+ Add missing include for wtf/Platform.h
+
+ * DumpRenderTree/AccessibilityController.h:
+
+2010-01-27 Diego Gonzalez <diego.gonzalez@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] DRT Provide worker thread ability to track counters
+ https://bugs.webkit.org/show_bug.cgi?id=34221
+
+ Implement workerThreadCount() in LayoutTestController of Qt DRT
+
+ Tests:
+ fast/workers/dedicated-worker-lifecycle.html
+ fast/workers/shared-worker-frame-lifecycle.html
+ fast/workers/shared-worker-lifecycle.html
+ fast/workers/worker-lifecycle.html
+
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::workerThreadCount):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+
+2010-01-27 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Rubberstamped by Simon Hausmann.
+
+ [Qt] QtLauncher refactoring:
+
+ Make the LauncherWindow depend less on the view, so that more
+ code can be shared in near future.
+
+ * QtLauncher/main.cpp:
+ (LauncherWindow::sendTouchEvent):
+ (LauncherWindow::loadFinished):
+ (LauncherWindow::zoomIn):
+ (LauncherWindow::zoomOut):
+ (LauncherWindow::resetZoom):
+ (LauncherWindow::toggleZoomTextOnly):
+ (LauncherWindow::dumpHtml):
+ (LauncherWindow::selectElements):
+ (LauncherWindow::setupUI):
+
+2010-01-27 Kinuko Yasuda <kinuko@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Correctly handle the KeyLocation argument that has been introduced
+ recently to test location-dependent key events in EventSender.keyDown.
+ http://bugs.webkit.org/show_bug.cgi?id=28247
+
+ Test: fast/events/keydown-numpad-keys.html
+
+ * DumpRenderTree/gtk/EventSender.cpp:
+ (keyDownCallback):
+
+2010-01-27 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Rubberstamped by Simon Hausmann.
+
+ [Qt] QtLauncher refactoring:
+
+ Move out code from the MainWindow (renamed to LauncherWindow)
+ that is not depending on the view, and add it to a new class
+ called MainWindow.
+
+ * QtLauncher/QtLauncher.pro:
+ * QtLauncher/main.cpp:
+ (LauncherWindow::LauncherWindow):
+ (LauncherWindow::eventFilter):
+ (LauncherWindow::loadStarted):
+ (LauncherWindow::loadFinished):
+ (LauncherWindow::newWindow):
+ (LauncherWindow::setupUI):
+ (WebPage::createWindow):
+ (main):
+ * QtLauncher/mainwindow.cpp: Added.
+ (MainWindow::MainWindow):
+ (MainWindow::buildUI):
+ (MainWindow::page):
+ (MainWindow::setAddressUrl):
+ (MainWindow::addCompleterEntry):
+ (MainWindow::load):
+ (MainWindow::changeLocation):
+ (MainWindow::openFile):
+ * QtLauncher/mainwindow.h: Added.
+
+2010-01-27 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Rubberstamped by Simon Hausmann.
+
+ [Qt] QtLauncher, coding style fixes.
+
+ * QtLauncher/main.cpp:
+ (MainWindow::MainWindow):
+ (MainWindow::sendTouchEvent):
+ (MainWindow::eventFilter):
+ (MainWindow::loadURL):
+ (MainWindow::setupUI):
+ (WebPage::createPlugin):
+
+2010-01-27 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Rubberstamped by Simon Hausmann.
+
+ [Qt] QtLauncher refactoring, separating the webview and
+ adding a QGraphicsWebView based version.
+
+ * QtLauncher/QtLauncher.pro:
+ * QtLauncher/main.cpp:
+ (MainWindow::MainWindow):
+ * QtLauncher/webpage.h:
+ * QtLauncher/webview.cpp: Added.
+ (createContextMenu):
+ (WebViewGraphicsBased::mousePressEvent):
+ (WebViewTraditional::mousePressEvent):
+ (WebViewGraphicsBased::contextMenuEvent):
+ (WebViewTraditional::contextMenuEvent):
+ * QtLauncher/webview.h: Added.
+ (WebViewGraphicsBased::WebViewGraphicsBased):
+ (WebViewTraditional::WebViewTraditional):
+
+2010-01-27 Alexander Pavlov <apavlov@chromium.org>
+
+ Adding myself as committer. No review necessary.
+
+ * Scripts/webkitpy/committers.py:
+
+2010-01-27 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ webkit-patch needs an open-bugs command
+ https://bugs.webkit.org/show_bug.cgi?id=30793
+
+ * Scripts/test-webkitpy: import OpenBugsTest
+ * Scripts/webkit-patch: import OpenBugs
+ * Scripts/webkitpy/commands/download_unittest.py: don't import unittest
+ * Scripts/webkitpy/commands/early_warning_system_unittest.py: ditto
+ * Scripts/webkitpy/commands/queries_unittest.py: ditto
+ * Scripts/webkitpy/commands/queues_unittest.py: ditto
+ * Scripts/webkitpy/commands/upload_unittest.py: ditto
+ * Scripts/webkitpy/mock_bugzillatool.py: log when user.open_url is called.
+
+2010-01-27 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Rubberstamped by Simon Hausmann
+
+ [Qt] QtLauncher refactoring, separating utility methods.
+
+ * QtLauncher/QtLauncher.pro:
+ * QtLauncher/main.cpp:
+ * QtLauncher/utils.cpp: Added.
+ (urlFromUserInput):
+ * QtLauncher/utils.h: Added.
+
+2010-01-27 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Rubberstamped by Simon Hausmann
+
+ [Qt] Refactor the code in the QtLauncher dealing with HTTP proxy.
+
+ * QtLauncher/main.cpp:
+ (MainWindow::MainWindow):
+ * QtLauncher/webpage.cpp:
+ (WebPage::WebPage):
+ (WebPage::applyProxy):
+ * QtLauncher/webpage.h:
+
+2010-01-26 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Corrects debug build of DumpRenderTree on Windows.
+
+ * DumpRenderTree/qt/DumpRenderTree.pro:
+
+2010-01-26 Daniel Bates <dbates@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34070
+
+ Moves the try/catch for OSError exceptions in Executive.run_command
+ to Credentials.read_credentials() so that the unit test
+ webkitpy.scm_unittest.SCMClassTests.test_error_handlers can
+ assert that Executive.run_command throws an OSError exception.
+
+ * Scripts/webkitpy/credentials.py:
+ * Scripts/webkitpy/executive.py: Moved try/catch for OSError to
+ method Credentials.read_credentials().
+ * Scripts/webkitpy/executive_unittest.py: Removed tests that no longer
+ apply: test_run_command_with_bad_command_check_return_code and
+ test_run_command_with_bad_command_check_calls_error_handler. Added new
+ test to assert that run_command throws OSError exceptions.
+
+2010-01-26 Diego Gonzalez <diego.gonzalez@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] DRT WebHistory support
+ https://bugs.webkit.org/show_bug.cgi?id=34167
+
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::reset):
+ (LayoutTestController::webHistoryItemCount):
+ (LayoutTestController::keepWebHistory):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+
+2010-01-26 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ [Win] Add modifiers parameter support to Windows DumpRenderTree
+ https://bugs.webkit.org/show_bug.cgi?id=34068
+
+ Add support for functional name modifiers; "addSelectionKey" and
+ "rangeSelectionKey", and modifiers parameter to eventSender.mouseDown()
+ and eventSender.mouseUp().
+ This change is similar to r53498 for Mac.
+
+ * DumpRenderTree/win/EventSender.cpp:
+ (buildModifierFlags): New function to set MK_CONTROL or MK_SHIFT to WPARAM.
+ (mouseDownCallback): Call buidlModifiersFlags().
+ (mouseUpCallback): ditto.
+ (keyDownCallback): Add support for "addSelectionkey" and "rangeSelectionKey".
+
+2010-01-26 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ The Python autoinstall cache directory now only gets created
+ in the directory containing autoinstall.py.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33365
+
+ * Scripts/webkitpy/autoinstall.py:
+ - Also added a README file to the cache directory saying
+ where it came from.
+
+2010-01-26 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Moved the check-webkit-style processors into a new
+ webkitpy/style/processors directory.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34060
+
+ * Scripts/webkitpy/style/checker.py:
+ * Scripts/webkitpy/style/checker_unittest.py:
+ * Scripts/webkitpy/style/cpp_style.py: Removed.
+ * Scripts/webkitpy/style/cpp_style_unittest.py: Removed.
+ * Scripts/webkitpy/style/processors: Added.
+ * Scripts/webkitpy/style/processors/__init__.py: Added.
+ * Scripts/webkitpy/style/processors/cpp.py: Copied from WebKitTools/Scripts/webkitpy/style/cpp_style.py.
+ * Scripts/webkitpy/style/processors/cpp_unittest.py: Copied from WebKitTools/Scripts/webkitpy/style/cpp_style_unittest.py.
+ * Scripts/webkitpy/style/processors/text.py: Copied from WebKitTools/Scripts/webkitpy/style/text_style.py.
+ * Scripts/webkitpy/style/processors/text_unittest.py: Copied from WebKitTools/Scripts/webkitpy/style/text_style_unittest.py.
+ * Scripts/webkitpy/style/text_style.py: Removed.
+ * Scripts/webkitpy/style/text_style_unittest.py: Removed.
+ * Scripts/webkitpy/style/unittests.py:
+
+2010-01-26 Kevin Ollivier <kevino@theolliviers.com>
+
+ [wx] Build fix, make sure stub function returns a value.
+
+ * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
+ (LayoutTestController::counterValueForElementById):
+
+2010-01-26 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Windows build references non-existent include paths
+ https://bugs.webkit.org/show_bug.cgi?id=34175
+
+ * DumpRenderTree/win/DumpRenderTree.vcproj:
+ * DumpRenderTree/win/ImageDiff.vcproj:
+ * DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin.vcproj:
+
+2010-01-26 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Ariya Hidayat.
+
+ [Qt] Separating out the UrlLoader from the QtLauncher in it's
+ own implementation and header file.
+
+ * QtLauncher/main.cpp:
+ (main):
+ * QtLauncher/urlloader.cpp: Added.
+ (UrlLoader::UrlLoader):
+ (UrlLoader::loadNext):
+ (UrlLoader::init):
+ (UrlLoader::getUrl):
+ * QtLauncher/urlloader.h: Added.
+
+2010-01-25 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Refactored check-webkit-style by removing the file path
+ parameter from the style error handler functions.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34031
+
+ * Scripts/webkitpy/style/checker.py:
+ - Added _default_style_error_handler() to StyleChecker class.
+ - Moved handle_style_error() to inside _default_style_error_handler().
+
+ * Scripts/webkitpy/style/checker_unittest.py:
+ - Removed file path from calls to error handler.
+
+ * Scripts/webkitpy/style/cpp_style.py:
+ - Removed file path from calls to error handler.
+
+ * Scripts/webkitpy/style/cpp_style_unittest.py:
+ - Removed file path from calls to error handler.
+
+ * Scripts/webkitpy/style/text_style.py:
+ - Removed file path from calls to error handler.
+
+ * Scripts/webkitpy/style/text_style_unittest.py:
+ - Removed file path from calls to error handler.
+
+2010-01-25 Jeremy Orlow <jorlow@chromium.org>
+
+ Adding myself as reviewer. No review necessary.
+
+ * Scripts/webkitpy/committers.py:
+
+2010-01-25 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Improved prepare-ChangeLog so that it preserves the relative
+ indentation of a git commit message.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34058
+
+ * Scripts/prepare-ChangeLog:
+ - Also adjusted the script so that it does not add white
+ space characters to empty lines.
+
+2010-01-24 Eric Seidel <eric@webkit.org>
+
+ No review, rolling out r53763.
+ http://trac.webkit.org/changeset/53763
+ https://bugs.webkit.org/show_bug.cgi?id=33895
+
+ Broke 20+ tests on Windows.
+
+ * Scripts/run-webkit-tests:
+ * Scripts/webkitdirs.pm:
+
+2010-01-24 Adam Barth <abarth@webkit.org>
+
+ Rubber stamped by Eric Seidel.
+
+ More pep8 compliance.
+
+ * Scripts/webkitpy/mock_bugzillatool.py:
+
+2010-01-24 Adam Barth <abarth@webkit.org>
+
+ Rubber stamped by Eric Seidel.
+
+ More pep8 compliance.
+
+ * Scripts/webkitpy/executive.py:
+ * Scripts/webkitpy/grammar.py:
+
+2010-01-24 Adam Barth <abarth@webkit.org>
+
+ Rubber stamped by Eric Seidel.
+
+ More pep8 compliance.
+
+ * Scripts/webkitpy/comments.py:
+ * Scripts/webkitpy/committers.py:
+ * Scripts/webkitpy/credentials.py:
+
+2010-01-24 Adam Barth <abarth@webkit.org>
+
+ Rubber stamped by Eric Seidel.
+
+ Make changelogs.py pass pep8.
+
+ * Scripts/webkitpy/changelogs.py:
+
+2010-01-23 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ [Qt] Unreviewed build fix
+
+ * QtLauncher/QtLauncher.pro:
+ * QtLauncher/webinspector.h:
+
+2010-01-23 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Rubberstamped by Simon Hausmann.
+
+ [Qt] Move the WebInspector class to it's own header file.
+
+ * QtLauncher/main.cpp:
+ * QtLauncher/webinspector.h: Added.
+ (WebInspector::WebInspector):
+ (WebInspector::showEvent):
+ (WebInspector::hideEvent):
+
+2010-01-23 Robert Hogan <robert@roberthogan.net>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Qt DRT: respect window.close() and window.closed()
+
+ Qt DRT needs to maintain a correct count of open windows
+ for windowCount(). It also needs to delete windows that
+ have been closed by window.close().
+
+ This fixes the following tests:
+
+ plugins/destroy-during-npp-new.html
+ fast/dom/Document/early-document-access.html
+ fast/dom/Window/window-early-properties.html
+ fast/events/open-window-from-another-frame.html
+ fast/events/popup-blocking-click-in-iframe.html
+
+ https://bugs.webkit.org/show_bug.cgi?id=32953
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::DumpRenderTree::DumpRenderTree):
+ (WebCore::DumpRenderTree::createWindow):
+ (WebCore::DumpRenderTree::windowCloseRequested):
+ * DumpRenderTree/qt/DumpRenderTreeQt.h:
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::maybeDump):
+
+2010-01-23 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Added a user default for specifying a fallback frameworks path in case
+ the bundle does not contain frameworks for the current Mac OS X version.
+
+ * WebKitLauncher/main.m:
+ (fallbackMacOSXVersion): Added. Looks up the fallback version in a dictionary
+ keyed by the FallbackSystemVersions user default and returns it.
+ (main): If a frameworks directory for the current system version is not found,
+ try the fallback.
+
+2010-01-22 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Make run-webkit-tests work under Cygwin for the Qt port
+
+ setPathForRunningWebKitApp() is implemented for the Qt port
+ by using qmake to query for the location of the Qt libraries.
+
+ This requires the original environment (%ENV) to be untouched,
+ so launchWithCurrentEnv() was refactored to launchWithEnv(),
+ and the code in openDumpTool() to not use %ENV but a %CLEAN_ENV
+ instead. This has the added benefit of getting rid of the temp
+ variables used for storing the current env.
+
+ openDumpTool() is also refactored a bit into platform-spesific,
+ port-spesific, and generic environment variables.
+
+ Checks for undef was added a few places to fix Perl concat
+ warnings when run-webkit-tests is aborted.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33895
+
+ * Scripts/run-webkit-tests:
+ * Scripts/webkitdirs.pm:
+
+2010-01-22 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ [wx] Remove the Bakefile build system, which is no longer being used.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34022
+
+ * DumpRenderTree/wx/DumpRenderTree.bkl: Removed.
+ * wx/browser/browser.bkl: Removed.
+ * wx/build-wxwebkit: Removed.
+
+2010-01-22 Gustavo Noronha Silva <gns@gnome.org>
+
+ Reviewed by Simon Fraser.
+
+ Reset zoom level to 1.0 when resetting view state. This is causing
+ many tests to fail after svg/custom/text-zoom.xhtml changes the
+ zoom level.
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (resetDefaultsToConsistentValues):
+
+2010-01-22 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=34025
+ Enable client-based Geolocation abstraction for Mac, Windows AppleWebKit targets.
+
+ * Scripts/build-webkit:
+
+2010-01-22 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Arg. Someone renamed limit to output_limit on me.
+
+ * Scripts/webkitpy/commands/queues.py:
+
+2010-01-22 Adam Barth <abarth@webkit.org>
+
+ Rubber stamped by Eric Seidel.
+
+ Make __init__.py and buildbot.py pass pep8 style checker.
+
+ * Scripts/webkitpy/__init__.py:
+ * Scripts/webkitpy/buildbot.py:
+
+2010-01-21 Joe Mason <jmason@rim.com>
+
+ Reviewed by Adam Barth.
+
+ webkit-patch should retry on invalid password
+ https://bugs.webkit.org/show_bug.cgi?id=33955
+
+ Ask for bugs.webkit.org authentication in a loop.
+
+ * Scripts/webkitpy/bugzilla.py:
+
+2010-01-22 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Don't call seek on a NoneType.
+
+ * Scripts/webkitpy/statusserver.py:
+
+2010-01-22 Petri Latvala <petri.latvala@nomovok.com>
+
+ Reviewed by David Levin.
+
+ check-webkit-style breaks on files with unknown types
+ https://bugs.webkit.org/show_bug.cgi?id=34001
+
+ For files with type FileType.NONE, dispatch_processor returns None.
+
+ * Scripts/webkitpy/style/checker.py: Don't call process_file with a processor of value None.
+
+2010-01-22 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Make bugzilla.py and webkitport.py conform to pep8
+ https://bugs.webkit.org/show_bug.cgi?id=34015
+
+ This patch makes webkitport.py and bugzilla.py mostly conform to PEP8
+ style as enforced by pep8.py. I wasn't able to get rid of all the
+ errors because I'm not sure how to wrap some lines properly. Also,
+ there are a few deprication errors that I couldn't resolve easily.
+ However, this is a massive improvement in compliance.
+
+ * Scripts/webkitpy/bugzilla.py:
+ * Scripts/webkitpy/webkitport.py:
+
+2010-01-22 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Limit length of EWS results to 5MB
+ https://bugs.webkit.org/show_bug.cgi?id=34016
+
+ Hopefully this will fix the bug where the results link doesn't appear.
+ Our current theory is that the results blob is too big and the server
+ is rejecting the request with a 500 error. That causes us to re-try
+ the post, but when we re-try the StringIO buffer has its seek pointer
+ at the end.
+
+ * Scripts/webkitpy/commands/queues.py:
+ * Scripts/webkitpy/statusserver.py:
+
+2010-01-22 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Made check-webkit-style able to check patches when script not
+ run from source root. Also consolidated external references
+ to a single file.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33791
+
+ * Scripts/check-webkit-style:
+ - Changed to import style_references.py.
+
+ * Scripts/webkitpy/style/__init__.py:
+ - Removed __path__ hack that allowed searching Scripts/ directory.
+
+ * Scripts/webkitpy/style/checker.py:
+ - Changed to import style_references.py.
+
+ * Scripts/webkitpy/style_references.py: Added.
+
+2010-01-22 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Fix the leak of ThreadIdentifiers in threadMap across threads.
+ https://bugs.webkit.org/show_bug.cgi?id=32689
+
+ Add a new test to verify the ThreadIdentifiers are not reused across threads.
+ The test runs in the beginning of DumpRenderTree and spawns 2 non-WTF treads sequentially,
+ waiting for the previous thread to terminate before starting the next.
+ The treads use WTF::currentThread() in their thread function. Without a fix, this
+ causes both threads to have the same ThreadIdentifier which triggers ASSERT in thread function.
+ It also starts another thread using WTF. Without the fix, this finds pthread handle from previous
+ threads in the WTF threadMap and asserts in WTF::establishIdentifierForPthreadHandle().
+ The test practically does not affect the DRT run time because the threads end immediately.
+
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (runThread): Test thread function.
+ (testThreadIdentifierMap):
+ (dumpRenderTree):
+
+2010-01-22 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Fix a bug that mouseDown:withModifiers: is never called.
+ https://bugs.webkit.org/show_bug.cgi?id=33989
+
+ * DumpRenderTree/mac/EventSendingController.mm:
+ (+[EventSendingController isSelectorExcludedFromWebScript:]):
+ (+[EventSendingController webScriptNameForSelector:]):
+
+2010-01-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Rubberstamped by Antti Koivisto.
+
+ [Qt] Separate out the WebPage class into it's own
+ cpp/header files. Also, removed the assumption that
+ the view is a QWebView, in preparation of a merger
+ of the two Qt WebKit launchers.
+
+ * QtLauncher/QtLauncher.pro:
+ * QtLauncher/main.cpp:
+ (WebView::mousePressEvent):
+ * QtLauncher/webpage.cpp: Added.
+ (WebPage::supportsExtension):
+ (WebPage::extension):
+ (WebPage::acceptNavigationRequest):
+ (WebPage::openUrlInDefaultBrowser):
+ * QtLauncher/webpage.h: Added.
+ (WebPage::WebPage):
+
+2010-01-21 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Refactored to move file name and file-reading related code
+ from cpp_style.py and text_style.py to checker.py.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33775
+
+ * Scripts/check-webkit-style:
+ - Updates caused by changes to checker.py.
+
+ * Scripts/webkitpy/style/checker.py:
+ - Added SKIPPED_FILES_WITH_WARNING list.
+ - Added SKIPPED_FILES_WITHOUT_WARNING list.
+ - Added FileType class.
+ - Added ProcessorDispatcher class.
+ - In StyleChecker class:
+ - Renamed process_patch() to check_patch().
+ - Renamed process_file() to check_file().
+ - Added _process_file().
+ - Related refactoring.
+ - Addressed check_patch() FIXME to share code with process_file().
+
+ * Scripts/webkitpy/style/checker_unittest.py:
+ - Added ProcessorDispatcherSkipTest class.
+ - Added ProcessorDispatcherDispatchTest class.
+ - Added StyleCheckerCheckFileTest class.
+
+ * Scripts/webkitpy/style/cpp_style.py:
+ - Renamed process_file_data() to _process_lines.
+ - Removed process_file() (moved logic to checker.py).
+ - Removed can_handle() (moved logic to checker.py).
+ - Added CppProcessor class.
+ - Removed is_exempt() (moved logic to checker.py).
+ - Added process_file_data() back as a wrapper function.
+
+ * Scripts/webkitpy/style/cpp_style_unittest.py:
+ - Removed test_can_handle().
+ - Removed test_is_exempt().
+ - Added CppProcessorTest class.
+
+ * Scripts/webkitpy/style/text_style.py:
+ - Added TextProcessor class.
+ - Removed process_file().
+ - Removed can_handle().
+
+ * Scripts/webkitpy/style/text_style_unittest.py:
+ - Removed test_can_handle().
+ - Added TextProcessorTest class.
+
+2010-01-21 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by David Kilzer.
+
+ Create a unit-tested subroutine to parse patch files created
+ by svn-create-patch.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33475
+
+ * Scripts/VCSUtils.pm:
+ - Added parseDiff().
+ - Added parsePatch().
+
+ * Scripts/webkitperl/VCSUtils_unittest/parseDiff.pl: Added.
+ - Added unit tests for parseDiff().
+
+ * Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:
+ - Total number of tests now computed dynamically.
+
+ * Scripts/webkitperl/VCSUtils_unittest/parsePatch.pl: Added.
+ - Added unit tests for parsePatch().
+
+2010-01-21 Kevin Ollivier <kevino@theolliviers.com>
+
+ [wx] Build fix, add new directory to dir list.
+
+ * wx/build/settings.py:
+
+2010-01-21 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Make the EWS transactional
+ https://bugs.webkit.org/show_bug.cgi?id=33978
+
+ Now if the EWS gets interrupted in the middle of processing a patch,
+ the bots will re-process the patch.
+
+ * Scripts/test-webkitpy:
+ * Scripts/webkitpy/commands/queues.py:
+ * Scripts/webkitpy/commands/queues_unittest.py:
+ * Scripts/webkitpy/patchcollection.py:
+ * Scripts/webkitpy/patchcollection_unittest.py: Added.
+
+2010-01-21 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Add missing "ago" for style in the status bubble.
+
+ * QueueStatusServer/templates/statusbubble.html:
+
+2010-01-21 Adam Barth <abarth@webkit.org>
+
+ Reviewed by David Levin.
+
+ [style-queue] should not complain about identifier names with underscores under WebKit/gtk/webkit/
+ https://bugs.webkit.org/show_bug.cgi?id=33356
+
+ White list unix_hacker_style names in WebKit/gtk/webkit because these
+ are used in the GTK+ API.
+
+ * Scripts/webkitpy/style/cpp_style.py:
+ * Scripts/webkitpy/style/cpp_style_unittest.py:
+
+2010-01-21 Diego Gonzalez <diego.gonzalez@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] add setDomainRelaxationForbiddenForURLScheme in Qt DRT
+ https://bugs.webkit.org/show_bug.cgi?id=33945
+
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::setDomainRelaxationForbiddenForURLScheme):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+
+2010-01-21 Simon Hausmann <simon.hausmann@nokia.com>
+
+ No review, rolling out 53615 as it causes two
+ crashes on the bot.
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::DumpRenderTree::DumpRenderTree):
+ (WebCore::DumpRenderTree::createWindow):
+ * DumpRenderTree/qt/DumpRenderTreeQt.h:
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::maybeDump):
+
+2010-01-21 Robert Hogan <robert@roberthogan.net>
+
+ Reviewed by Simon Hausmann.
+
+ Qt DRT: respect window.close() and window.closed()
+
+ Qt DRT needs to maintain a correct count of open windows
+ for windowCount(). It also needs to delete windows that
+ have been closed by window.close().
+
+ This fixes the following tests:
+
+ plugins/destroy-during-npp-new.html
+ fast/dom/Document/early-document-access.html
+ fast/dom/Window/window-early-properties.html
+ fast/events/open-window-from-another-frame.html
+ fast/events/popup-blocking-click-in-iframe.html
+
+ https://bugs.webkit.org/show_bug.cgi?id=32953
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::DumpRenderTree::DumpRenderTree):
+ (WebCore::DumpRenderTree::createWindow):
+ (WebCore::DumpRenderTree::windowCloseRequested):
+ * DumpRenderTree/qt/DumpRenderTreeQt.h:
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::maybeDump):
+
+2010-01-20 Eric Seidel <eric@webkit.org>
+
+ No review, rolling out r53593.
+ http://trac.webkit.org/changeset/53593
+ https://bugs.webkit.org/show_bug.cgi?id=33496
+
+ Re-rollout this patch, the commit-queue should not have landed
+ it again, but it did due to land-diff and rollout both not
+ clearing flags.
+
+ * Scripts/webkitpy/commands/early_warning_system.py:
+ * Scripts/webkitpy/commands/queues.py:
+ * Scripts/webkitpy/queueengine.py:
+ * Scripts/webkitpy/scm.py:
+ * Scripts/webkitpy/scm_unittest.py:
+
+2010-01-20 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ webkit-commit-queue status page is confusing
+ https://bugs.webkit.org/show_bug.cgi?id=33496
+
+ This should improve the status page by removing more Fail messages.
+ To do this, I re-factored the CommitQueue and the AbstractReviewQueues
+ to behave more like one another. This meant moving where the failure reporting was done.
+ Previously the AbstractReviewQueue always used the parent process to report the error,
+ while CommitQueue used the subprocess when possible, and the parent only reported errors
+ that we didn't know how to handle (bugs in the commit-queue itself).
+ Now the AbstractReviewQueue follow's the commit-queue's model. This got rid of a try-block
+ in both implementations and required teaching handle_script_error in each to post Fail messages
+ to the status server instead of calling exit(1).
+
+ This will also make the style-queue share more bug posting logic with other queues:
+ https://bugs.webkit.org/show_bug.cgi?id=33871
+
+ * Scripts/webkitpy/commands/early_warning_system.py:
+ - Don't exit(1) as that will cause the calling queue to also report Fail to the status server.
+ Implementors of handle_script_error are expected to update the status server if needed, but only exit if the error could not be handled.
+ So we instead pass patch_has_failed_this_queue=True to _update_status_for_script_error in the case that this was a real failure.
+ _update_status_for_script_error knows how to post the Fail message to the status server.
+ - Teach _update_status_for_script_error how to post Fail messages to the status server.
+ * Scripts/webkitpy/commands/queues.py:
+ - Remove the try block from process_work_item since the caller already has one.
+ - Only CC watchers on failure to cut down on commit-queue generated mail.
+ - handle_unexpected_error needs to mark _did_fail now that the try block is gone from process_work_item.
+ - Abstract _format_script_error_output_for_bug to share code between all queues.
+ - The new _format_script_error_output_for_bug allows the style-queue to share the posting limit with other queues, as well as support linking to the full output.
+ - Rename _can_build_and_test to _current_checkout_builds_and_passes_tests to better explain what revision it's testing.
+ - Move logging out of _can_build_and_test and make the logs explain what revision we're testing.
+ - handle_script_error now posts Fail instead of the try block in process_work_item handling it.
+ * Scripts/webkitpy/queueengine.py:
+ - QueueEngine is no longer used just by the commit-queue, update the logging to say "processing" instead of landing.
+ * Scripts/webkitpy/scm.py:
+ - Add new checkout_revision function.
+ * Scripts/webkitpy/scm_unittest.py:
+ - Test our new checkout_revision function.
+
+2010-01-20 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ WebSocket: Missing Request-URI, when no tralling slash in host
+ https://bugs.webkit.org/show_bug.cgi?id=33689
+
+ Update pywebsocket to 0.4.7.1, which supports alias for resource
+ name, so that we could test for ws://127.0.0.1:8880
+
+ * Scripts/run-webkit-tests:
+ * Scripts/run-webkit-websocketserver:
+ * pywebsocket/mod_pywebsocket/dispatch.py:
+ * pywebsocket/mod_pywebsocket/handshake.py:
+ * pywebsocket/mod_pywebsocket/standalone.py:
+ * pywebsocket/setup.py:
+ * pywebsocket/test/test_dispatch.py:
+ * pywebsocket/test/test_handshake.py:
+
+2010-01-20 Eric Seidel <eric@webkit.org>
+
+ No review, rolling out r53537.
+ http://trac.webkit.org/changeset/53537
+ https://bugs.webkit.org/show_bug.cgi?id=33496
+
+ Added a failure condition to the commit-queue and looks to
+ have broken the EWS bots
+
+ * Scripts/webkitpy/commands/early_warning_system.py:
+ * Scripts/webkitpy/commands/queues.py:
+ * Scripts/webkitpy/queueengine.py:
+ * Scripts/webkitpy/scm.py:
+ * Scripts/webkitpy/scm_unittest.py:
+
+2010-01-20 Jon Honeycutt <jhoneycutt@apple.com>
+
+ MSAA: accSelect() is not implemented
+
+ https://bugs.webkit.org/show_bug.cgi?id=33918
+ <rdar://problem/7436861>
+
+ Reviewed by Darin Adler.
+
+ * DumpRenderTree/AccessibilityUIElement.cpp:
+ (takeFocusCallback):
+ Call the object's takeFocus() function.
+ (takeSelectionCallback):
+ Call its takeSelection() function.
+ (addSelectionCallback):
+ Call its addSelection() function.
+ (removeSelectionCallback):
+ Call its removeSelection() function.
+ (AccessibilityUIElement::getJSClass):
+ Add new functions to the JS class definition.
+
+ * DumpRenderTree/AccessibilityUIElement.h:
+ Declare new functions.
+
+ * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
+ (AccessibilityUIElement::takeFocus):
+ Stubbed.
+ (AccessibilityUIElement::takeSelection):
+ Stubbed.
+ (AccessibilityUIElement::addSelection):
+ Stubbed.
+ (AccessibilityUIElement::removeSelection):
+ Stubbed.
+
+ * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+ (AccessibilityUIElement::takeFocus):
+ Stubbed.
+ (AccessibilityUIElement::takeSelection):
+ Stubbed.
+ (AccessibilityUIElement::addSelection):
+ Stubbed.
+ (AccessibilityUIElement::removeSelection):
+ Stubbed.
+
+ * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
+ (AccessibilityUIElement::takeFocus):
+ Call the object's accSelect() function, passing the appropriate flag.
+ (AccessibilityUIElement::takeSelection):
+ Ditto.
+ (AccessibilityUIElement::addSelection):
+ Ditto.
+ (AccessibilityUIElement::removeSelection):
+ Ditto.
+
+2010-01-20 Andras Becsi <abecsi@inf.u-szeged.hu>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Extract Apache handling to httpd.pm module and use the provided functionality
+ in scripts where Apache is needed.
+ The module httpd.pm stores the PID of Apache in a variable and cleans up
+ the PID directory after Apache properly shut down. Catching INT and TERM
+ signals allows the scripts to close Apache and clean up its PID directory
+ even if the testing was interrupted.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33153
+
+ * Scripts/webkitperl/httpd.pm: Added.
+ * Scripts/run-iexploder-tests:
+ * Scripts/run-webkit-httpd:
+ * Scripts/run-webkit-tests:
+
+2010-01-20 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Make DumpRenderTree build on Windows
+
+ * DumpRenderTree/qt/DumpRenderTree.pro:
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ * DumpRenderTree/qt/DumpRenderTreeQt.h:
+ * DumpRenderTree/qt/main.cpp:
+
+2010-01-20 Steve Block <steveblock@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Fix commit bot to land patches in order of the bug last modification date.
+ https://bugs.webkit.org/show_bug.cgi?id=33395
+
+ * Scripts/webkitpy/bugzilla.py: Modified. Added 'order=Last+Changed' to bugzilla commit queue URL.
+
+2010-01-20 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Teach check-webkit-style about WebKit/gtk/tests
+ https://bugs.webkit.org/show_bug.cgi?id=33892
+
+ Removes false positives found in
+ https://bugs.webkit.org/show_bug.cgi?id=30883
+
+ * Scripts/webkitpy/style/cpp_style.py:
+ * Scripts/webkitpy/style/cpp_style_unittest.py:
+
+2010-01-20 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Teach check-webkit-style about QGVLauncher
+ https://bugs.webkit.org/show_bug.cgi?id=33890
+
+ Remove false positives found in
+ https://bugs.webkit.org/show_bug.cgi?id=33708
+
+ * Scripts/webkitpy/style/cpp_style.py:
+ * Scripts/webkitpy/style/cpp_style_unittest.py:
+
+2010-01-20 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ webkit-commit-queue status page is confusing
+ https://bugs.webkit.org/show_bug.cgi?id=33496
+
+ This should improve the status page by removing more Fail messages.
+ To do this, I re-factored the CommitQueue and the AbstractReviewQueues
+ to behave more like one another. This meant moving where the failure reporting was done.
+ Previously the AbstractReviewQueue always used the parent process to report the error,
+ while CommitQueue used the subprocess when possible, and the parent only reported errors
+ that we didn't know how to handle (bugs in the commit-queue itself).
+ Now the AbstractReviewQueue follow's the commit-queue's model. This got rid of a try-block
+ in both implementations and required teaching handle_script_error in each to post Fail messages
+ to the status server instead of calling exit(1).
+
+ This will also make the style-queue share more bug posting logic with other queues:
+ https://bugs.webkit.org/show_bug.cgi?id=33871
+
+ * Scripts/webkitpy/commands/early_warning_system.py:
+ - Don't exit(1) as that will cause the calling queue to also report Fail to the status server.
+ Implementors of handle_script_error are expected to update the status server if needed, but only exit if the error could not be handled.
+ So we instead pass patch_has_failed_this_queue=True to _update_status_for_script_error in the case that this was a real failure.
+ _update_status_for_script_error knows how to post the Fail message to the status server.
+ - Teach _update_status_for_script_error how to post Fail messages to the status server.
+ * Scripts/webkitpy/commands/queues.py:
+ - Remove the try block from process_work_item since the caller already has one.
+ - Only CC watchers on failure to cut down on commit-queue generated mail.
+ - handle_unexpected_error needs to mark _did_fail now that the try block is gone from process_work_item.
+ - Abstract _format_script_error_output_for_bug to share code between all queues.
+ - The new _format_script_error_output_for_bug allows the style-queue to share the posting limit with other queues, as well as support linking to the full output.
+ - Rename _can_build_and_test to _current_checkout_builds_and_passes_tests to better explain what revision it's testing.
+ - Move logging out of _can_build_and_test and make the logs explain what revision we're testing.
+ - handle_script_error now posts Fail instead of the try block in process_work_item handling it.
+ * Scripts/webkitpy/queueengine.py:
+ - QueueEngine is no longer used just by the commit-queue, update the logging to say "processing" instead of landing.
+ * Scripts/webkitpy/scm.py:
+ - Add new checkout_revision function.
+ * Scripts/webkitpy/scm_unittest.py:
+ - Test our new checkout_revision function.
+
+2010-01-20 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Exempt JavaScriptCore/qt/api from style checks
+ https://bugs.webkit.org/show_bug.cgi?id=33879
+
+ Apparently there is a JavaScriptCore API for Qt as well as a WebKit
+ API.
+
+ * Scripts/webkitpy/style/cpp_style.py:
+ * Scripts/webkitpy/style/cpp_style_unittest.py:
+
+2010-01-19 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Don't use QSocketNotifier in the DRT for reading stdin
+
+ QSocketNotifier is not available on Windows. Instead we read
+ stdin synchronously after each test using signals and slots.
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ * DumpRenderTree/qt/DumpRenderTreeQt.h:
+ * DumpRenderTree/qt/main.cpp:
+
+2010-01-19 Adam Barth <abarth@webkit.org>
+
+ Rubber stamped by Eric Seidel.
+
+ Move chromium-ews back to building release only to make the EWS faster.
+
+ * Scripts/webkitpy/commands/early_warning_system.py:
+
+2010-01-17 Jon Honeycutt <jhoneycutt@apple.com>
+
+ MSAA: The child <option> elements of a non-multiple <select> are not
+ exposed
+
+ https://bugs.webkit.org/show_bug.cgi?id=33773
+ <rdar://problem/7550556>
+
+ Reviewed by Alice Liu.
+
+ * DumpRenderTree/AccessibilityUIElement.cpp:
+ (getIsVisibleCallback):
+ Call the object's isVisible() function.
+ (getIsOffScreenCallback):
+ Ditto, for isOffScreen().
+ (getIsCollapsedCallback):
+ Ditto, for isCollapsed().
+ (getHasPopupCallback):
+ Ditto, for hasPopup().
+ (AccessibilityUIElement::getJSClass):
+ Add isVisible and isOffScreen attributes.
+
+ * DumpRenderTree/AccessibilityUIElement.h:
+ Declare new functions.
+
+ * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
+ (AccessibilityUIElement::isVisible):
+ Stubbed.
+ (AccessibilityUIElement::isOffScreen):
+ Stubbed.
+ (AccessibilityUIElement::isCollapsed):
+ Stubbed.
+ (AccessibilityUIElement::hasPopup):
+ Stubbed.
+
+ * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+ (AccessibilityUIElement::isVisible):
+ Stubbed.
+ (AccessibilityUIElement::isOffScreen):
+ Stubbed.
+ (AccessibilityUIElement::isCollapsed):
+ Stubbed.
+ (AccessibilityUIElement::hasPopup):
+ Stubbed.
+
+ * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
+ (AccessibilityUIElement::showMenu):
+ Call the object's accDoDefaultAction() to show its popup menu.
+ (AccessibilityUIElement::isEnabled):
+ Check that the object does not have the "unavailable" state.
+ (AccessibilityUIElement::isVisible):
+ Check that the object does not have the "invisible" state.
+ (AccessibilityUIElement::isOffScreen):
+ Check whether the object has the "offscreen" state.
+ (AccessibilityUIElement::isCollapsed):
+ Check whether the object has the "collapsed" state.
+ (AccessibilityUIElement::hasPopup):
+ Check whether the object has the "has popup" state.
+
+2010-01-19 Victor Wang <victorw@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Correct committer name.
+ https://bugs.webkit.org/show_bug.cgi?id=33868
+
+ * Scripts/webkitpy/committers.py:
+
+2010-01-19 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ [DRT][Mac] Add modifiers parameter to eventSender.mouseDown() and eventSender.mouseUp()
+ https://bugs.webkit.org/show_bug.cgi?id=33783
+
+ Some listbox tests check selection behavior by click events with
+ "meta" or "shift" keys. Behaviors for such modifier keys are
+ platform-dependent. The new parameter of mouseDown() and mouseUp()
+ allows to specify not only concrete modifier keys such as
+ "shiftKey" "metaKey", but also functional names like
+ "addSelectionKey" "rangeSelectionKey".
+
+ * DumpRenderTree/mac/EventSendingController.mm:
+ (+[EventSendingController isSelectorExcludedFromWebScript:]):
+ (+[EventSendingController webScriptNameForSelector:]):
+ (buildModifierFlags):
+ (-[EventSendingController mouseDown:withModifiers:]):
+ (-[EventSendingController mouseDown:]):
+ (-[EventSendingController mouseUp:withModifiers:]):
+ (-[EventSendingController mouseUp:]):
+ (-[EventSendingController keyDown:withModifiers:withLocation:]):
+
+2010-01-19 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Unbreak --request-commit
+ https://bugs.webkit.org/show_bug.cgi?id=33832
+
+ * Scripts/webkitpy/bugzilla.py:
+
+2010-01-19 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ validate-committer-lists throws exception and committers.py needs a refresh
+ https://bugs.webkit.org/show_bug.cgi?id=33831
+
+ * Scripts/validate-committer-lists: use webkit_logging
+ * Scripts/webkitpy/committers.py: Add recently minted committers. Fix Simon Hausmanns email address list to include his webkit-committers@lists address.
+
+2010-01-18 Adam Roben <aroben@apple.com>
+
+ Add LayoutTestController support for calling new WebKit SPI to
+ disallow setting document.domain
+
+ DRT part of fixing <http://webkit.org/b/33806>
+ <rdar://problem/7552837> Would like API to disallow setting of
+ document.domain for pages with certain URL schemes
+
+ Reviewed by Sam Weinig.
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (setDomainRelaxationForbiddenForURLSchemeCallback): Added. Calls
+ through to LayoutTestController.
+ (LayoutTestController::staticFunctions): Added
+ setDomainRelaxationForbiddenForURLScheme.
+
+ * DumpRenderTree/LayoutTestController.h: Added
+ setDomainRelaxationForbiddenForURLScheme.
+
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (LayoutTestController::setDomainRelaxationForbiddenForURLScheme):
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::setDomainRelaxationForbiddenForURLScheme):
+ Added. Calls through to WebKit.
+
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::setDomainRelaxationForbiddenForURLScheme):
+ * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
+ (LayoutTestController::setDomainRelaxationForbiddenForURLScheme):
+ Stubbed out.
+
+2010-01-18 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Rename patches-to-commit to patches-in-commit-queue
+ https://bugs.webkit.org/show_bug.cgi?id=33789
+
+ The command really lists the patches in the commit-queue not all the
+ patches that are pending-commit (as the FIXME commands).
+
+ * Scripts/webkitpy/commands/queries.py:
+ * Scripts/webkitpy/commands/queries_unittest.py:
+
+2010-01-18 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Force qmake to generate a single makefile for DerivedSources.pro
+
+ * Scripts/webkitdirs.pm:
+
+2010-01-18 Adam Roben <aroben@apple.com>
+
+ Clean up use of /useenv when invoking Visual C++
+
+ This change reverts things to their pre-r49485 state. That revision
+ (and, subsequently, r49664 and r51788) started passing /useenv to
+ Visual C++, even in cases where we don't want to do so (such as when
+ invoking Visual C++ Express), in the name of making the Chromium build
+ work. Now that Chromium isn't using buildVisualStudioProject or
+ pdevenv, we can put things back they way they were.
+
+ Fixes <http://webkit.org/b/33797> build-webkit fails with VC++ Express
+ (due to /useenv flag)
+
+ Reviewed by Sam Weinig.
+
+ * Scripts/pdevenv: Always pass /useenv. Chromium doesn't use this
+ script anymore.
+ * Scripts/webkitdirs.pm:
+ (buildVisualStudioProject): Never pass /useenv anymore. pdevenv takes
+ care of this itself, and we don't want to pass /useenv when not using
+ pdevenv (e.g., when using VC++ Express, because that will cause it to
+ ignore the Platform SDK).
+
+2010-01-18 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ webkit-patch land-safely should obsolete old patches
+ https://bugs.webkit.org/show_bug.cgi?id=33788
+
+ When posting a commit-queue+ patch with land-safely, we should
+ obsolete the old patches on the bug. They're really confusing
+ because the main use case is to address reviewer feedback on a
+ previous patch.
+
+ * Scripts/webkitpy/commands/upload.py:
+ * Scripts/webkitpy/commands/upload_unittest.py:
+
+2010-01-18 Adam Barth <abarth@webkit.org>
+
+ Reviewed by David Levin.
+
+ webkit-patch should authenticate more often
+ https://bugs.webkit.org/show_bug.cgi?id=33701
+
+ This makes it easier to work with security patches.
+
+ * Scripts/webkitpy/bugzilla.py:
+
+2010-01-18 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ style checker needs to know about GObject-specific requirements
+ inside WebCore/bindings/gobject/
+ https://bugs.webkit.org/show_bug.cgi?id=33606
+
+ Add an exception to the underscore rule for certain
+ GObject-specific names.
+
+ * Scripts/webkitpy/style/cpp_style.py:
+ * Scripts/webkitpy/style/cpp_style_unittest.py:
+
+2010-01-18 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ [check-webkit-style] does understand ResourceHandleWin.h
+ https://bugs.webkit.org/show_bug.cgi?id=32975
+
+ I'm not 100% convinced this fix is correct, but without more examples,
+ it's hard to generalize. We can always generalize the fix in the
+ future.
+
+ * Scripts/webkitpy/style/cpp_style.py:
+ * Scripts/webkitpy/style/cpp_style_unittest.py:
+
+2010-01-18 Adam Barth <abarth@webkit.org>
+
+ Unreviewed "build" fix.
+
+ * Scripts/webkitpy/bugzilla.py:
+
+2010-01-18 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Actually make land-safely mark commit-queue+ as
+ discussed with Eric.
+
+ * Scripts/webkitpy/bugzilla.py:
+ * Scripts/webkitpy/steps/postdiffforcommit.py:
+
+2010-01-17 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ style-queue complains about one-line macros that include multiple statements
+ https://bugs.webkit.org/show_bug.cgi?id=33173
+
+ Add an exception for multiple statements on a line that starts a macro.
+
+ * Scripts/webkitpy/style/cpp_style.py:
+ * Scripts/webkitpy/style/cpp_style_unittest.py:
+
+2010-01-17 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ [check-webkit-style] qt unit testing false positives
+ https://bugs.webkit.org/show_bug.cgi?id=32833
+
+ Exempt the Qt API and unit tests from the style checker.
+
+ * Scripts/webkitpy/style/cpp_style.py:
+ * Scripts/webkitpy/style/cpp_style_unittest.py:
+
+2010-01-17 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ style-check script reports loads of errors on gtk2drawing.c
+ https://bugs.webkit.org/show_bug.cgi?id=33771
+
+ Exempt WebCore/platform/gtk/gtk2drawing.c and
+ WebCore/platform/gtk/gtk2drawing.h from style checks.
+
+ * Scripts/webkitpy/style/cpp_style.py:
+ * Scripts/webkitpy/style/cpp_style_unittest.py:
+
+2010-01-17 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Finished eliminating _cpp_style_state global state variable from
+ check-webkit-style code and eliminating _CppStyleState class.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33764
+
+ * Scripts/webkitpy/style/checker.py:
+ - Minor updates caused by changes to cpp_style.py.
+
+ * Scripts/webkitpy/style/cpp_style.py:
+ - Removed _CppStyleState class.
+ - Removed verbose_level functions.
+ - Added verbosity as a parameter to _FunctionState constructor.
+ - Added verbosity as a parameter to process_file().
+ - Added verbosity as a parameter to process_file_data().
+
+ * Scripts/webkitpy/style/cpp_style_unittest.py:
+ - Added helper functions to set verbosity while running tests.
+
+2010-01-17 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Shinichiro Hamaji.
+
+ check-webkit-style underscore check should be disabled for Qt methods starting with qt_
+ https://bugs.webkit.org/show_bug.cgi?id=33663
+
+ * Scripts/webkitpy/style/cpp_style.py:
+ * Scripts/webkitpy/style/cpp_style_unittest.py:
+
+2010-01-17 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ style-queue complains about missing #include of config.h for non-WebCore projects
+ https://bugs.webkit.org/show_bug.cgi?id=33170
+
+ WebKitAPITests are consumers of the WebKit API and therefore do not
+ need to follow the same include discipline as the rest of WebKit. This
+ patch exempts them from the include checks.
+
+ * Scripts/webkitpy/style/cpp_style.py:
+ * Scripts/webkitpy/style/cpp_style_unittest.py:
+
+2010-01-17 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ EWS (Early Warning Systems) should build both debug and release
+ https://bugs.webkit.org/show_bug.cgi?id=33681
+
+ Build both debug and release for chromium-ews.
+
+ * Scripts/webkitpy/commands/early_warning_system.py:
+
+2010-01-17 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ style-queue should include instructions for how to file bugs against check-webkit-style
+ https://bugs.webkit.org/show_bug.cgi?id=32345
+
+ Added some text to the error message asking folks to file bugs against
+ false positives.
+
+ * Scripts/webkitpy/commands/queues.py:
+
+2010-01-17 Chris Jerdonek <cjerdonek@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Eliminated the error_count global variable and related
+ check-webkit-style refactoring.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33678
+
+ * Scripts/check-webkit-style:
+ - Updated to use webkit_argument_defaults().
+ - Renamed styleChecker to style_checker.
+
+ * Scripts/webkitpy/style/checker.py:
+ - Prefixed the three default arguments with WEBKIT_DEFAULT.
+ - Added webkit_argument_defaults().
+ - Added default filter_rules parameter to CategoryFilter constructor.
+ - Added __ne__() to CategoryFilter class.
+ - Added __eq__() and __ne__() to ProcessorOptions class.
+ - Added error_count and _write_error attributes to StyleChecker class.
+ - Made StyleChecker._handle_error() increment the error count.
+
+ * Scripts/webkitpy/style/checker_unittest.py:
+ - Improved CategoryFilterTest.test_eq().
+ - Added CategoryFilterTest.test_ne().
+ - Added test_eq() and test_ne() to ProcessorOptionsTest class.
+ - Updated unit tests to use webkit_argument_defaults().
+ - Added StyleCheckerTest class.
+
+ * Scripts/webkitpy/style/cpp_style.py:
+ - Removed references to global error_count.
+
+ * Scripts/webkitpy/style/cpp_style_unittest.py:
+ - Removed CppStyleStateTest class.
+
+2010-01-15 Jon Honeycutt <jhoneycutt@apple.com>
+
+ get_accParent should try to retrieve parent AccessibilityObject, before
+ calling upon window
+
+ https://bugs.webkit.org/show_bug.cgi?id=22893
+
+ Reviewed by Darin Adler.
+
+ * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
+ (AccessibilityUIElement::parentElement):
+ Get the object's parent. Query it for IAccessible, and return it.
+
+2010-01-16 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ <rdar://problem/7529519> DumpRenderTree crashes in makeLargeMallocFailSilently()
+
+ * DumpRenderTree/mac/CheckedMalloc.cpp:
+ (makeLargeMallocFailSilently): Temporarily allow writing to the default
+ malloc zone structure while modifying it.
+
+2010-01-16 David Kilzer <ddkilzer@apple.com>
+
+ Added back removed properties to iExploder input files
+
+ While the update-iexploder-cssproperties script works great to
+ add new properties, it has the side-effect of removing old
+ properties that once were parsed.
+
+ * iExploder/htdocs/cssproperties.in: Added back removed
+ properties into their own section.
+ * iExploder/htdocs/htmlattrs.in: Ditto.
+
+2010-01-16 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by David Kilzer.
+
+ Update iExploder/htdocs/*.in by running update-iexploder-cssproperties
+ https://bugs.webkit.org/show_bug.cgi?id=33756
+
+ * iExploder/htdocs/cssproperties.in: New CSS attributes
+ * iExploder/htdocs/htmlattrs.in: New HTML attributes
+ * iExploder/htdocs/htmltags.in: New HTML tags
+
+2010-01-15 Chris Jerdonek <chris.jerdonek@gmail.com>
+
+ Reviewed by David Kilzer.
+
+ Altered parseDiffHeader() to skip unrecognized lines and
+ other minor clean-ups.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33476
+
+ * Scripts/VCSUtils.pm:
+ - Changed parseDiffHeader() as follows:
+ - Skips over unrecognized lines.
+ - Addressed FIXME to remove substitution for "diff" line.
+ - Renamed "version" header hash key to "sourceRevision".
+ - Eliminated "copiedFromVersion" header hash key.
+ - Included "sourceRevision" also for copied files.
+ - Checks that copy revision number matches "sourceRevision".
+ - No longer returns $foundHeaderEnding.
+ - Dies if header ending not found.
+ - Diff header dividing line now always added.
+
+ * Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:
+ - Made necessary changes in parseDiffHeader() unit tests.
+ - Shortened the file paths in some test cases.
+
+2010-01-14 Yuzo Fujishima <yuzo@google.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Update pywebsocket to 0.4.6
+ https://bugs.webkit.org/show_bug.cgi?id=32299
+ The newer pywebsocket can handle more simultaneous connections.
+
+ * pywebsocket/mod_pywebsocket/handshake.py:
+ * pywebsocket/mod_pywebsocket/standalone.py:
+ * pywebsocket/setup.py:
+ * pywebsocket/test/test_handshake.py:
+
+2010-01-14 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ REGRESSION(53133): commit-queue no longer rejects patches with invalid committers, instead it hangs
+ https://bugs.webkit.org/show_bug.cgi?id=33638
+
+ * Scripts/webkitpy/bugzilla.py:
+ - Add Bug.id() to match Attachment.id()
+ - Give Bug.reviewed_patches and commit_queued_patches the option to return patches with invalid committers/reviewers.
+ - Add back a missing variable to _validate_setter_email found by the new unit tests!
+ * Scripts/webkitpy/commands/queries.py:
+ - Add FIXMEs about the commands being confusingly named.
+ * Scripts/webkitpy/commands/queries_unittest.py:
+ - Update results to reflect the newly restructured mock bug cache.
+ * Scripts/webkitpy/commands/queues.py:
+ - Add a new _validate_patches_in_commit_queue method (this is what fixes the regression).
+ - Add a FIXME about eventually sorting the patches into some order.
+ * Scripts/webkitpy/commands/queues_unittest.py:
+ - Update results now that with the newly restructure mock bug cache we're testing cq+'d patches with an invalid committer.
+ * Scripts/webkitpy/commands/upload_unittest.py:
+ - Update results to match the newly restructured mock bug cache.
+ * Scripts/webkitpy/mock_bugzillatool.py:
+ - Restructure fetch_ methods to not use a manual list of ids, but rather use Bug and Attachment classes to make real queries from all of the Bugs.
+ - Add a few more attachments and bug dictionaries for use by the tests.
+
+2010-01-13 Diego Gonzalez <diego.gonzalez@openbossa.org>
+
+ Reviewed by Kenneth Christiansen.
+
+ [Qt] DRT missing setUserStyleSheetLocation and setUserStyleSheetEnabled in LayoutTestController
+ https://bugs.webkit.org/show_bug.cgi?id=33617
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::WebPage::resetSettings):
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::setUserStyleSheetLocation):
+ (LayoutTestController::setUserStyleSheetEnabled):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+
+2010-01-14 Adam Roben <aroben@apple.com>
+
+ Add LayoutTestController API to force
+ -webView:resource:willSendRequest:: to return null
+
+ Enables tests for <rdar://problem/7533333> <http://webkit.org/b/33533>
+ window.onload never fires if page contains an <iframe> with a bad
+ scheme or whose load is cancelled by returning null from resource load
+ delegate's willSendRequest
+
+ Reviewed by Brady Eidson.
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (LayoutTestController::LayoutTestController): Initialize new member.
+ (setWillSendRequestReturnsNullCallback): Call through to
+ LayoutTestController.
+ (LayoutTestController::staticFunctions): Added new function.
+
+ * DumpRenderTree/LayoutTestController.h: Added
+ m_willSendRequestReturnsNull.
+ (LayoutTestController::willSendRequestReturnsNull):
+ (LayoutTestController::setWillSendRequestReturnsNull):
+ Added standard accessors.
+
+ * DumpRenderTree/mac/ResourceLoadDelegate.mm:
+ (-[ResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]):
+ * DumpRenderTree/win/ResourceLoadDelegate.cpp:
+ (ResourceLoadDelegate::willSendRequest):
+ Return null if LayoutTestController says to.
+
+2010-01-14 Kevin Ollivier <kevino@theolliviers.com>
+
+ [wx] Build fix after removal of XBM support.
+
+ * wx/build/settings.py:
+
+2010-01-14 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Add support for partial building on Symbian.
+
+ The build happens in the source directory as out of source builds are
+ not supported by qmake for Symbian.
+
+ Also the actual build isn't started but it is left to the developer
+ to choose the architecture/configuration.
+
+ * Scripts/webkitdirs.pm:
+
+2010-01-14 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add support for "detecting" Symbian environments by either
+ looking for the EPOCROOT environment variable or via --symbian
+ being passed on the commandline.
+
+ * Scripts/webkitdirs.pm:
+
+2010-01-14 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Unreviewed.
+
+ [Qt] Use a different Makefile names for sources generation and compilation.
+ This prevents Makefile overwriting when running build-webkit twice.
+
+ * Scripts/webkitdirs.pm:
+
+2010-01-14 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Add an "alien_QLabel" classId for manual testing of alien widgets.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33373
+
+ * QtLauncher/main.cpp:
+ (WebPage::createPlugin):
+
+2010-01-14 Eric Seidel <eric@webkit.org>
+
+ No review, rolling out r53249.
+ http://trac.webkit.org/changeset/53249
+ https://bugs.webkit.org/show_bug.cgi?id=33617
+
+ This caused http/tests/security/local-user-CSS-from-
+ remote.html to fail on the Qt Release Build Bot.
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::WebPage::resetSettings):
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::overridePreference):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+
+2010-01-14 Chris Jerdonek <chris.jerdonek@gmail.com>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Moved error() from cpp_style.py to checker.py.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33620
+
+ * Scripts/check-webkit-style:
+ - Addressed FIXME to not set global state.
+
+ * Scripts/webkitpy/style/checker.py:
+ - Added argument validation to ProcessorOptions constructor.
+ - Added should_report_error() to ProcessorOptions class.
+ - Removed set_options().
+ - Added StyleChecker class.
+
+ * Scripts/webkitpy/style/checker_unittest.py:
+ - Added unit test class for ProcessorOptions class.
+ - Added unit test to check that parse() strips white space.
+
+ * Scripts/webkitpy/style/cpp_style.py:
+ - Removed "filter" and "output_format" methods.
+ - Removed should_print_error() and error() functions.
+ - Removed default parameter value from process_file().
+
+ * Scripts/webkitpy/style/cpp_style_unittest.py:
+ - Removed call to cpp_style._should_print_error().
+ - Removed test_filter() and test_filter_appending().
+
+ * Scripts/webkitpy/style/text_style.py:
+ - Removed default parameter value from process_file().
+
+2010-01-14 Diego Gonzalez <diego.gonzalez@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] DRT missing setUserStyleSheetLocation and setUserStyleSheetEnabled in LayoutTestController
+ https://bugs.webkit.org/show_bug.cgi?id=33617
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::WebPage::resetSettings):
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::setUserStyleSheetLocation):
+ (LayoutTestController::setUserStyleSheetEnabled):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+
+2010-01-13 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Fix CloseBugForLandDiff unittest to actually run
+ https://bugs.webkit.org/show_bug.cgi?id=33640
+
+ * Scripts/webkitpy/mock_bugzillatool.py:
+ * Scripts/webkitpy/steps/closebugforlanddiff_unittest.py:
+
+2010-01-12 Jon Honeycutt <jhoneycutt@apple.com>
+
+ MSAA: selected, selectable, extended selectable, and multiple
+ selectable states are not reported
+
+ https://bugs.webkit.org/show_bug.cgi?id=33574
+ <rdar://problem/7536826>
+
+ Reviewed by Darin Adler.
+
+ * DumpRenderTree/AccessibilityUIElement.cpp:
+ (getIsSelectableCallback):
+ Return the result of calling isSelectable().
+ (getIsMultiSelectableCallback):
+ Return the result of calling isMultiSelectable().
+ (AccessibilityUIElement::getJSClass):
+ Add isSelected and isMultiSelectable properties to the JSClass
+ definition.
+
+ * DumpRenderTree/AccessibilityUIElement.h:
+ Declare isSelectable() and isMultiSelectable().
+
+ * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
+ (AccessibilityUIElement::isSelectable):
+ Stubbed.
+ (AccessibilityUIElement::isMultiSelectable):
+ Stubbed.
+
+ * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+ (AccessibilityUIElement::isSelectable):
+ Stubbed.
+ (AccessibilityUIElement::isMultiSelectable):
+ Stubbed.
+
+ * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
+ (accessibilityState):
+ Get the object's state, and return it.
+ (AccessibilityUIElement::isSelected):
+ Check the object's selected state.
+ (AccessibilityUIElement::isSelectable):
+ Check the object's selectable state.
+ (AccessibilityUIElement::isMultiSelectable):
+ Check the object's extended/multiple selectable state.
+
+2010-01-13 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Repeat the below for CloseBugForLandDiff.
+
+ * Scripts/test-webkitpy:
+ * Scripts/webkitpy/steps/closebugforlanddiff.py:
+ * Scripts/webkitpy/steps/closebugforlanddiff_unittest.py: Added.
+
+2010-01-13 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Turn the mac-ews status bubbles back on now that this bot
+ is running again.
+
+ * QueueStatusServer/templates/statusbubble.html:
+
+2010-01-13 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION(53133): webkit-patch land dies if it can't find a bug id.
+ https://bugs.webkit.org/show_bug.cgi?id=33634
+
+ Deal with the case of no bug patch object in the state.
+
+ * Scripts/webkitpy/steps/updatechangelogswithreview_unittests.py:
+ * Scripts/webkitpy/steps/updatechangelogswithreviewer.py:
+
+2010-01-13 Kenneth Russell <kbr@google.com>
+
+ Unreviewed; added myself to the committers list.
+
+ * Scripts/webkitpy/committers.py:
+
+2010-01-13 Darin Adler <darin@apple.com>
+
+ Ignore compiled Python in more of webkitpy.
+
+ * Scripts/webkitpy/commands: Added property svn:ignore.
+ * Scripts/webkitpy/steps: Added property svn:ignore.
+ * Scripts/webkitpy/style: Added property svn:ignore.
+
+2010-01-13 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix build problem related to the pushd command
+
+ * Scripts/webkitdirs.pm:
+
+2010-01-13 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Split the build process in two different .pro files.
+ This allows qmake to be run once all source files are available.
+
+ * Scripts/webkitdirs.pm: Add calls to make DerivedSources.pro in JSC and WC.
+
+2010-01-13 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Unreviewed tiny typo fix in docstrings.
+
+ * Scripts/webkitpy/style/checker_unittest.py:
+
+2010-01-13 Chris Jerdonek <chris.jerdonek@gmail.com>
+
+ Reviewed by Shinichiro Hamaji.
+
+ Created a CategoryFilter class to encapsulate the logic of
+ filter rules.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33454
+
+ * Scripts/webkitpy/style/checker.py:
+ - Added CategoryFilter class.
+
+ * Scripts/webkitpy/style/checker_unittest.py:
+ - Added CategoryFilter unit tests.
+
+ * Scripts/webkitpy/style/cpp_style.py:
+ - Updated filter methods to use CategoryFilter.
+
+ * Scripts/webkitpy/style/cpp_style_unittest.py:
+ - Updated references to filters.
+
+2010-01-12 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Unreviewed. Now I can review :)
+
+ * Scripts/webkitpy/committers.py:
+
+2010-01-12 Brent Fulgham <bfulgham@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Extend WinLauncher example with better printing features.
+
+ * WinLauncher/PrintWebUIDelegate.cpp:
+ (PrintWebUIDelegate::webViewPrintingMarginRect): Provide slightly
+ larger margins.
+ (PrintWebUIDelegate::webViewHeaderHeight): Compute header height based
+ on text metrics.
+ (PrintWebUIDelegate::webViewFooterHeight): Compute footer height based
+ on text metrics.
+ (PrintWebUIDelegate::drawHeaderInRect): Write useful header, along
+ with separating line.
+ (PrintWebUIDelegate::drawFooterInRect):
+ * WinLauncher/PrintWebUIDelegate.h: Remove stubs.
+ * WinLauncher/WinLauncher.cpp:
+ (PrintView): Correct loop used to print individual pages.
+ Previously it started at 0, which is a wild-card to print all
+ pages at once.
+
+2010-01-12 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33540
+ Make it possible to build in debug mode with assertions disabled
+
+ * DumpRenderTree/mac/ObjCController.m: (-[ObjCController accessStoredWebScriptObject]):
+
+2010-01-11 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [Chromium] "build-webkit --chromium" should run "make all" on Linux
+ https://bugs.webkit.org/show_bug.cgi?id=33500
+
+ * Scripts/webkitdirs.pm:
+
+2010-01-12 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ AssignToCommitter does not need to fetch bugs twice
+ https://bugs.webkit.org/show_bug.cgi?id=33530
+
+ This is a no-brainer patch now that we've added Bug.reviewed_patches
+
+ * Scripts/webkitpy/commands/upload.py:
+
+2010-01-12 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ bugzilla.py should have an Attachment object instead of passing around dictionaries
+ https://bugs.webkit.org/show_bug.cgi?id=31594
+
+ * Scripts/webkitpy/bugzilla.py:
+ - Add a new Attachment class, with accessor methods for all the necessary properties.
+ - Update Bug to carry a pointer back to bugzilla (attachments need to access Bugzilla for committer validation and url())
+ - Move reviewed_patches and commit_queued_patches out of Bugzilla custom methods and onto Bug
+ - Move committer validation logic into its own class.
+ - Committer rejection is only used in one place. Make the new Bug reviewed_patches and commit_queued_patches
+ handle the common case (of returning "reviewer" or "committer" as None), and let CommitterValidation handle
+ the case where we want to reject patches in bugzilla.
+ - Simplify fetch_patches_from_commit_queue now that committer validation is simpler.
+ - Make all self.bugzilla.fetch_bug access go through BugzillaQueries._fetch_bug.
+ - Mark set_flag_on_attachment as non-private to denote that CommitterValidation depends on it.
+ - Move fetch_reviewed_patches_from_bug and fetch_commit_queue_patches_from_bug logic onto the Bug class.
+ * Scripts/webkitpy/bugzilla_unittest.py:
+ - Move test_flag_permission_rejection_message into a new CommitterValidationTest class.
+ * Scripts/webkitpy/commands/download.py:
+ - Store "bug_id" in state instead of making a fake patch object.
+ - Update to use Attachment and Bug objects.
+ * Scripts/webkitpy/commands/download_unittest.py:
+ - Update expected results now that our testing framework covers more code.
+ * Scripts/webkitpy/commands/early_warning_system.py: Update to use new Attachment class.
+ * Scripts/webkitpy/commands/queries.py: Remove unused ReviewedPatches class.
+ * Scripts/webkitpy/commands/queries_unittest.py: ditto.
+ * Scripts/webkitpy/commands/queues.py: Update to use new Attachment and CommitterValidator classes.
+ * Scripts/webkitpy/commands/queuestest.py: ditto.
+ * Scripts/webkitpy/commands/upload.py: ditto.
+ * Scripts/webkitpy/mock_bugzillatool.py:
+ - Now that more logic has moved into Attachment and Bug, we have to actually
+ provide real reviewer emails as well as real reviewer flags.
+ - Update mock methods to return Attachment objects.
+ * Scripts/webkitpy/scm.py: Update to use Attachment class.
+ * Scripts/webkitpy/scm_unittest.py: Update to use Attachment class.
+ * Scripts/webkitpy/statusserver.py: ditto.
+ * Scripts/webkitpy/steps/applypatch.py: ditto.
+ * Scripts/webkitpy/steps/applypatchwithlocalcommit.py: ditto.
+ * Scripts/webkitpy/steps/closebug.py: ditto.
+ * Scripts/webkitpy/steps/closebugforlanddiff.py: Handle either state["bug_id"] or state["patch"].bug_id()
+ * Scripts/webkitpy/steps/closepatch.py: Update to use Attachment class.
+ * Scripts/webkitpy/steps/obsoletepatches.py: ditto.
+ * Scripts/webkitpy/steps/updatechangelogswithreviewer.py: ditto.
+
+2010-01-12 Adam Barth <abarth@webkit.org>
+
+ Unreviewed typo fix. :(
+
+ * Scripts/webkitpy/commands/early_warning_system.py:
+ * Scripts/webkitpy/commands/queues.py:
+
+2010-01-12 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Add "error" to the right part of the message.
+
+ * Scripts/webkitpy/commands/queues.py:
+
+2010-01-12 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ EWS should show purple when svn-apply fails
+ https://bugs.webkit.org/show_bug.cgi?id=33527
+
+ * Scripts/webkitpy/commands/early_warning_system.py:
+ * Scripts/webkitpy/commands/queues.py:
+
+2010-01-12 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Remove copy/paste code from subclasses of AbstractReviewQueue
+ https://bugs.webkit.org/show_bug.cgi?id=33525
+
+ * Scripts/webkitpy/commands/early_warning_system.py:
+ * Scripts/webkitpy/commands/queues.py:
+
+2010-01-12 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Add Gustavo and Xan as gtk-ews watchers
+ https://bugs.webkit.org/show_bug.cgi?id=33519
+
+ * Scripts/webkitpy/commands/early_warning_system.py:
+
+2010-01-12 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ webkit-patch shouldn't waste my time for with a component prompt
+ https://bugs.webkit.org/show_bug.cgi?id=33521
+
+ The component field isn't very useful for bugs created with
+ webkit-patch because they're likely to be resolved quickly. Instead of
+ always prompting for a component, we should just default to the "New
+ Bugs" component. If the bug stays around for more than five minutes,
+ we can assign it a proper component.
+
+ * Scripts/webkitpy/bugzilla.py:
+
+2010-01-12 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Add experimental "land-safely" command to webkit-patch
+ https://bugs.webkit.org/show_bug.cgi?id=33518
+
+ * Scripts/webkitpy/commands/upload.py:
+ * Scripts/webkitpy/commands/upload_unittest.py:
+ * Scripts/webkitpy/steps/__init__.py:
+ * Scripts/webkitpy/steps/postdiffforcommit.py: Added.
+
+2010-01-11 Kevin Ollivier <kevino@theolliviers.com>
+
+ [wx] Build fix after introduction of JS_NO_EXPORT
+
+ * wx/build/settings.py:
+
+2010-01-11 Eric Seidel <eric@webkit.org>
+
+ No review, rolling out r53079.
+ http://trac.webkit.org/changeset/53079
+ https://bugs.webkit.org/show_bug.cgi?id=33197
+
+ Adam doens't think this actually works, and believe it caused
+ a regression https://bugs.webkit.org/show_bug.cgi?id=33488 so
+ rolling this out.
+
+ * Scripts/test-webkitpy:
+ * Scripts/webkitpy/commands/abstractdiffcommand.py: Removed.
+ * Scripts/webkitpy/commands/abstractdiffcommand_unittest.py: Removed.
+ * Scripts/webkitpy/commands/download.py:
+ * Scripts/webkitpy/commands/upload.py:
+ * Scripts/webkitpy/mock_bugzillatool.py:
+
+2010-01-10 Adam Barth <abarth@webkit.org>
+
+ Reviewed by David Kilzer.
+
+ bugzilla-tool submit-patch mistakenly picks up bug URLs in non-ChangeLog files
+ https://bugs.webkit.org/show_bug.cgi?id=33197
+
+ We should just search for bug numbers in the ChangeLogs instead of in
+ the whole diff.
+
+ * Scripts/test-webkitpy:
+ * Scripts/webkitpy/commands/abstractdiffcommand.py: Added.
+ * Scripts/webkitpy/commands/abstractdiffcommand_unittest.py: Added.
+ * Scripts/webkitpy/commands/download.py:
+ * Scripts/webkitpy/commands/upload.py:
+ * Scripts/webkitpy/mock_bugzillatool.py:
+
+2010-01-11 Chris Jerdonek <chris.jerdonek@gmail.com>
+
+ Reviewed by David Kilzer.
+
+ Created a unit-tested function to parse the header block of
+ a Git or SVN diff -- for future refactoring of svn-apply and
+ svn-unapply.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33447
+
+ * Scripts/VCSUtils.pm:
+ - Added parseDiffHeader().
+ - Removed irrelevant comment from gitdiff2svndiff().
+
+ * Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl: Added.
+ - Added 48 unit tests for parseDiffHeader().
+
+2010-01-10 Adam Barth <abarth@webkit.org>
+
+ Rubber stamped by David Kilzer.
+
+ bugzilla-tool submit-patch mistakenly picks up bug URLs in non-ChangeLog files
+ https://bugs.webkit.org/show_bug.cgi?id=33197
+
+ Fix a typo: Commmand -> Command.
+
+ * Scripts/webkitpy/commands/abstractsequencedcommand.py:
+ * Scripts/webkitpy/commands/download.py:
+ * Scripts/webkitpy/commands/queries.py:
+ * Scripts/webkitpy/commands/upload.py:
+ * Scripts/webkitpy/multicommandtool.py:
+
+2010-01-10 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Let webkit-patch work with options in $EDITOR
+ https://bugs.webkit.org/show_bug.cgi?id=33414
+
+ The $EDITOR evironment variable might have command line options like
+ bbedit -w. This patch lets us run those $EDITORs.
+
+ * Scripts/webkitpy/user.py:
+
+2010-01-10 Robert Hogan <robert@roberthogan.net>
+
+ Reviewed by Adam Barth.
+
+ [Qt] Add enableXSSAuditor support to QWebSettings and DRT.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33419
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::WebPage::WebPage):
+ (WebCore::WebPage::resetSettings):
+ (WebCore::DumpRenderTree::createWindow):
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::setXSSAuditorEnabled):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+
+2010-01-10 Adam Barth <abarth@webkit.org>
+
+ Unreviewed cosmetic change. Remove the status bubble for mac-ews
+ because we don't have hardware for it at the moment.
+
+ * QueueStatusServer/templates/statusbubble.html:
+
+2010-01-09 Daniel Bates <dbates@webkit.org>
+
+ No review, rolling out r53044.
+ http://trac.webkit.org/changeset/53044
+ https://bugs.webkit.org/show_bug.cgi?id=33419
+
+ We need to look into this some more because the Qt
+ bot is failing the XSSAuditor tests. See bug #33419
+ for more details.
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::WebPage::WebPage):
+ (WebCore::WebPage::resetSettings):
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+
+2010-01-09 Daniel Bates <dbates@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33419
+
+ Adds support for the XSSAuditor to the Qt DRT.
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::WebPage::WebPage):
+ (WebCore::WebPage::resetSettings):
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::setXSSAuditorEnabled):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+
+2010-01-09 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Retry writes to QueueStatusServer when we get 500 errors
+ https://bugs.webkit.org/show_bug.cgi?id=33412
+
+ This prevents the queues from failing to mark a patch as "pass" or
+ "fail" when AppEngine throws 500 errors.
+
+ * Scripts/test-webkitpy:
+ * Scripts/webkitpy/networktransaction.py: Added.
+ * Scripts/webkitpy/networktransaction_unittest.py: Added.
+ * Scripts/webkitpy/statusserver.py:
+ * Scripts/webkitpy/steps/closebugformarkbugfixed.py: Added.
+ * Scripts/webkitpy/steps/closebugregardlessofpatches.py: Added.
+ * Scripts/webkitpy/steps/findbugidfromsvnrevision.py: Added.
+
+2010-01-09 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/33430> Fix rounded borders in queue status on older Firefox and Safari browsers
+
+ Reviewed by Eric Seidel.
+
+ * QueueStatusServer/templates/statusbubble.html: Added
+ -moz-border-radius and -webkit-border-radius to provide rounded
+ borders in older Firefox and Safari browsers.
+
+2010-01-09 Chris Jerdonek <chris.jerdonek@gmail.com>
+
+ Reviewed by David Kilzer.
+
+ Modified VCSUtils::gitdiff2svndiff() to accept strings that
+ end in vertical white space.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33415
+
+ * Scripts/VCSUtils.pm:
+ * Scripts/webkitperl/VCSUtils_unittest/gitdiff2svndiff.pl:
+
+2010-01-08 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ run-javascriptcore-tests needs a --quiet flag
+ https://bugs.webkit.org/show_bug.cgi?id=33399
+
+ Until run-javascriptcore-tests has a --quiet flag, lets just stiffle the output in webkit-patch.
+
+ * Scripts/webkitpy/steps/runtests.py:
+
+2010-01-08 Andras Becsi <abecsi@inf.u-szeged.hu>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Only run http and websocket tests as last if no argument is given to be able to explicitly control the test order.
+
+ To be able to run multiple instances of run-webkit-tests besides each other on the same machine we need to minimize
+ the time when Apache and WebSocketServer is locked by tests.
+ Because closeHTTPD() and closeWebSocketServer() is only called at the end of the testing,
+ we need to run http and websocket tests after all other tests.
+ If one however explicitly specifies the tests to run in the argument list of run-webkit-tests
+ we need to preserve the given order.
+
+ * Scripts/run-webkit-tests:
+
+2010-01-08 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Don't post style-queue pass messages to bugs
+ https://bugs.webkit.org/show_bug.cgi?id=33404
+
+ These messages aren't needed any more now that we have the status
+ bubble reporting pass events passively.
+
+ * Scripts/webkitpy/commands/queues.py:
+
+2010-01-08 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Optimize the number of CPUs used for building Qt and Gtk
+ https://bugs.webkit.org/show_bug.cgi?id=33394
+
+ Instead of hardcoding the number 8, we should read the number of CPUs
+ from the environment.
+
+ * Scripts/webkitpy/executive.py:
+ * Scripts/webkitpy/webkitport.py:
+ * Scripts/webkitpy/webkitport_unittest.py:
+
+2010-01-08 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Eric Seidel.
+
+ REGRESSION(52819?): AXLoadComplete and AXLayoutComplete causes 4 tests fail on Snow Leopard Debug bot
+ https://bugs.webkit.org/show_bug.cgi?id=33300
+
+ * DumpRenderTree/AccessibilityUIElement.h:
+ * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+ (AccessibilityUIElement::AccessibilityUIElement):
+ (AccessibilityUIElement::~AccessibilityUIElement):
+ (_accessibilityNotificationCallback):
+ (AccessibilityUIElement::addNotificationListener):
+
+2010-01-08 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ commit-queue should run run-javascriptcore-tests
+ https://bugs.webkit.org/show_bug.cgi?id=33376
+
+ I also made it run the python and perl unit tests.
+
+ * Scripts/webkitpy/steps/runtests.py:
+ * Scripts/webkitpy/webkitport.py:
+
+2010-01-07 Andras Becsi <abecsi@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Run the http and websocket tests after all other tests.
+ https://bugs.webkit.org/show_bug.cgi?id=33153
+
+ * Scripts/run-webkit-tests:
+
+2010-01-07 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Fix some test-webkitpy expectations
+ https://bugs.webkit.org/show_bug.cgi?id=33345
+
+ I forgot to change these when I added the CheckStyle step.
+
+ * Scripts/webkitpy/commands/upload_unittest.py:
+
+2010-01-07 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ webkit-patch edit-changelogs (or upload) will open blank files if run outside the root
+ https://bugs.webkit.org/show_bug.cgi?id=33341
+
+ Fix this by moving to the root directory before editing ChangeLogs.
+ There is a related bug with CheckStyle.
+
+ * Scripts/webkitpy/steps/checkstyle.py:
+ * Scripts/webkitpy/steps/editchangelog.py:
+
+2010-01-07 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ media/unsupported-tracks.html is failing on Snow Leopard Release bot
+ https://bugs.webkit.org/show_bug.cgi?id=32339
+
+ This is a speculative fix. I do not have a Snow Leopard machine to test on
+ and I've not seen mention of someone being able to reproduce this locally.
+
+ Prevent watchdog timer from firing after a test completes but before
+ the next one starts, causing the error to appear in the next test.
+
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (dump): Stop the watchdog before printing #EOF for the test content.
+ We only need to care about the JavaScript of the test running too long
+ or some hang in WebCore. Any other failures will be covered by the calling
+ script's own watchdog timer.
+
+2010-01-07 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ commit-queue is stuck spinning due to exception
+ https://bugs.webkit.org/show_bug.cgi?id=33358
+
+ * Scripts/webkitpy/commands/queues.py:
+ - Don't try to stringify the exception.
+
+2010-01-07 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Jon Honeycutt.
+
+ Don't leak a JSStringRef within _accessibilityNotificationCallback.
+
+ * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+ (_accessibilityNotificationCallback): Have a JSRetainPtr adopt the JSStringRef so that it will be cleaned up
+ when it goes out of scope.
+
+2010-01-07 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Add proposed rename of HTMLPlugInImageElement to HTMLEmbeddedObjectElement.
+
+ * Scripts/do-webcore-rename:
+
+2010-01-07 Kim Grönholm <kim.gronholm@nomovok.com>
+
+ Reviewed by Antti Koivisto.
+
+ Wrong state and TouchLists in TouchEvents
+ https://bugs.webkit.org/show_bug.cgi?id=32878
+
+ * DumpRenderTree/qt/EventSenderQt.cpp:
+ (EventSender::touchStart):
+ (EventSender::touchEnd):
+ (EventSender::clearTouchPoints):
+ * DumpRenderTree/qt/EventSenderQt.h:
+
+2010-01-07 Chris Jerdonek <chris.jerdonek@gmail.com>
+
+ Reviewed by Adam Barth.
+
+ Created a module that runs the style package unit tests.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32973
+
+ * Scripts/test-webkitpy:
+ * Scripts/webkitpy/style/unittests.py: Added.
+
+2010-01-07 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Don't print a redundant message when confirming a diff
+ https://bugs.webkit.org/show_bug.cgi?id=33315
+
+ Instead of saying "ERROR: User declined" we should just exit because
+ the use knows they just declined!
+
+ * Scripts/webkitpy/steps/confirmdiff.py:
+
+2010-01-07 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Check style before uploading a patch
+ https://bugs.webkit.org/show_bug.cgi?id=33314
+
+ * Scripts/webkitpy/commands/upload.py:
+ * Scripts/webkitpy/steps/checkstyle.py:
+ * Scripts/webkitpy/steps/options.py:
+
+2010-01-07 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Add prepare and post to webkit-patch main help
+ https://bugs.webkit.org/show_bug.cgi?id=33313
+
+ * Scripts/webkitpy/commands/upload.py:
+
+2010-01-07 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Add Chromium bots to the list of "core builders" (builders which stop the commit-queue when they turn red)
+ https://bugs.webkit.org/show_bug.cgi?id=33290
+
+ Add the Chromium builders to our list of core builders and test that our regexps work.
+ I also updated our regexp testing to make sure we cover all known builders at build.webkit.org.
+
+ * Scripts/webkitpy/buildbot.py:
+ * Scripts/webkitpy/buildbot_unittest.py:
+
+2010-01-07 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ bugzilla-tool needs a new name
+ https://bugs.webkit.org/show_bug.cgi?id=28459
+
+ Rename bugzilla-tool to webkit-patch. Also, rename some commands to
+ make more sense with the new name.
+
+ * Scripts/bugzilla-tool: Removed.
+ * Scripts/webkit-patch: Added.
+ * Scripts/webkit-tools-completion.sh:
+ * Scripts/webkitpy/bugzilla_unittest.py:
+ * Scripts/webkitpy/commands/download.py:
+ * Scripts/webkitpy/commands/download_unittest.py:
+ * Scripts/webkitpy/commands/early_warning_system.py:
+ * Scripts/webkitpy/commands/queries.py:
+ * Scripts/webkitpy/commands/queues.py:
+ * Scripts/webkitpy/commands/queues_unittest.py:
+ * Scripts/webkitpy/commands/upload.py:
+ * Scripts/webkitpy/commands/upload_unittest.py:
+ * Scripts/webkitpy/queueengine.py:
+ * Scripts/webkitpy/steps/completerollout.py:
+
+2010-01-07 Chris Jerdonek <chris.jerdonek@gmail.com>
+
+ Reviewed by Eric Seidel.
+
+ Moved style-related modules to webkitpy.style sub-package.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32971
+
+ * Scripts/check-webkit-style:
+ - Updated import statement.
+
+ * Scripts/test-webkitpy:
+ - Updated import statements.
+
+ * Scripts/webkitpy/cpp_style.py: Removed.
+ - Moved to webkitpy/style.
+
+ * Scripts/webkitpy/cpp_style_unittest.py: Removed.
+ - Moved to webkitpy/style.
+
+ * Scripts/webkitpy/style.py: Removed.
+ - Moved to webkitpy/style/checker.py.
+
+ * Scripts/webkitpy/style/__init__.py: Added.
+ - Added containing webkitpy directory to package search path.
+
+ * Scripts/webkitpy/style/checker.py: Copied from Scripts/webkitpy/style.py.
+ * Scripts/webkitpy/style/checker_unittest.py: Copied from Scripts/webkitpy/style_unittest.py.
+ - Updated import statement.
+
+ * Scripts/webkitpy/style/cpp_style.py: Copied from Scripts/webkitpy/cpp_style.py.
+ * Scripts/webkitpy/style/cpp_style_unittest.py: Copied from Scripts/webkitpy/cpp_style_unittest.py.
+ - Update import statement.
+
+ * Scripts/webkitpy/style/text_style.py: Copied from Scripts/webkitpy/text_style.py.
+ * Scripts/webkitpy/style/text_style_unittest.py: Copied from Scripts/webkitpy/text_style_unittest.py.
+ * Scripts/webkitpy/style_unittest.py: Removed.
+ - Moved to webkitpy/style/checker_unittest.py.
+
+ * Scripts/webkitpy/text_style.py: Removed.
+ - Moved to webkitpy/style.
+
+ * Scripts/webkitpy/text_style_unittest.py: Removed.
+ - Moved to webkitpy/style.
+
+2010-01-06 Kinuko Yasuda <kinuko@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ [Qt] Support the 3rd argument of EventSender.keyDown that
+ has been recently added to report keyLocation
+ (see also: https://bugs.webkit.org/show_bug.cgi?id=28247).
+ https://bugs.webkit.org/show_bug.cgi?id=33250
+
+ Test: fast/events/keydown-numpad-keys.html
+
+ * DumpRenderTree/qt/EventSenderQt.cpp:
+ (EventSender::keyDown):
+ * DumpRenderTree/qt/EventSenderQt.h:
+
+2010-01-06 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Add long_help for all common commands.
+ https://bugs.webkit.org/show_bug.cgi?id=33261
+
+ For now these long_helps are pretty basic.
+ These were all written to just explain the steps
+ that each command runs. This style long_help could
+ be made easier by using:
+ https://bugs.webkit.org/show_bug.cgi?id=33257
+
+ * Scripts/webkitpy/commands/download.py:
+ * Scripts/webkitpy/commands/queries.py:
+
+2010-01-06 Diego Gonzalez <diego.gonzalez@openbossa.org>
+
+ Reviewed by Kenneth Christiansen.
+
+ [Qt] Add page zooming support to Qt DumpRenderTree
+ https://bugs.webkit.org/show_bug.cgi?id=32898
+
+ Patch by Kim Grönholm <kim.gronholm@nomovok.com>,
+ Diego Gonzalez <diego.gonzalez@openbossa.org> and
+ Afonso Costa <afonso.costa@openbossa.org>
+
+ * DumpRenderTree/qt/EventSenderQt.cpp:
+ (EventSender::zoomPageIn):
+ (EventSender::zoomPageOut):
+ * DumpRenderTree/qt/EventSenderQt.h:
+
+2010-01-06 Eric Seidel <eric@webkit.org>
+
+ No review, just adding Mike Belshe's new bugzilla email at his request.
+
+ * Scripts/webkitpy/committers.py:
+
+2010-01-06 Eric Seidel <eric@webkit.org>
+
+ Unreviewed. Rolling out r52869 and r52853 due to bot
+ and local run-webkit-test failures
+
+ REGRESSION(52854?) fast/workers/shared-worker-constructor.html failed on Leopard Build Bot
+ https://bugs.webkit.org/show_bug.cgi?id=33256
+
+ The original bug was https://bugs.webkit.org/show_bug.cgi?id=33153
+
+ * Scripts/run-webkit-tests:
+
+2010-01-06 Eric Seidel <eric@webkit.org>
+
+ Unreviewed "build" fix. Just adding missing include.
+
+ bugzilla-tool rollout --complete-rollout should make a nicer bug comment
+ https://bugs.webkit.org/show_bug.cgi?id=29212
+
+ * Scripts/webkitpy/steps/completerollout.py:
+
+2010-01-06 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ bugzilla-tool rollout --complete-rollout should make a nicer bug comment
+ https://bugs.webkit.org/show_bug.cgi?id=29212
+
+ * Scripts/webkitpy/bugzilla.py:
+ - Make reopen_bug robust against the bug already being open.
+ * Scripts/webkitpy/commands/download.py:
+ - Remove dead code from Rollout.
+ * Scripts/webkitpy/steps/completerollout.py:
+ - Improve the rollout comment.
+
+2010-01-06 Andras Becsi <abecsi@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Set isHttpdOpen to 0 if pidfile does not exist for some reason.
+ Speculative fix for https://bugs.webkit.org/show_bug.cgi?id=33256.
+
+ * Scripts/run-webkit-tests:
+
+2010-01-06 Andras Becsi <abecsi@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Change hardcoded /tmp in run-webkit-tests to File::Spec->tmpdir(),
+ and remove the httpd's pidfile directory if httpd terminated.
+
+ * Scripts/run-webkit-tests:
+
+2010-01-05 Chris Jerdonek <chris.jerdonek@gmail.com>
+
+ Reviewed by David Levin.
+
+ Refactored check-webkit-style's argument parser to not rely
+ on global state, and improved its error handling and unit
+ test coverage.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32966
+
+ * Scripts/check-webkit-style:
+ - Adjusted to use new argument parser.
+
+ * Scripts/webkitpy/cpp_style.py:
+ - Changed _CppStyleState to accept an array of filter rules
+ instead of a comma-delimited string.
+ - Eliminated cpp_style._DEFAULT_FILTER_RULES.
+ - Eliminated cpp_style._USAGE.
+
+ * Scripts/webkitpy/cpp_style_unittest.py:
+ - Updated test_filter() and test_default_filter().
+
+ * Scripts/webkitpy/style.py:
+ - Converted style._USAGE to create_usage().
+ - Corrected usage instructions by removing 0 as a valid
+ --verbose flag value.
+ - Removed use_webkit_styles().
+ - Added ProcessorOptions class.
+ - Added ArgumentDefaults class.
+ - Added ArgumentPrinter class.
+ - Removed parse_arguments and added ArgumentParser class.
+ - Moved exit_with_usage() and exit_with_categories() into
+ ArgumentParser.
+ - Refactored parse_arguments() as ArgumentParser.parse().
+ - Improved parser error handling.
+
+ * Scripts/webkitpy/style_unittest.py:
+ - Added DefaultArgumentsTest class.
+ - Addressed FIXME to check style.WEBKIT_FILTER_RULES
+ against style.STYLE_CATEGORIES.
+ - Added ArgumentPrinterTest class.
+ - Added ArgumentParserTest class and rewrote parser unit tests.
+
+2010-01-05 Adam Roben <aroben@apple.com>
+
+ Test that it's safe to call IWebView::close when
+ IWebView::initWithFrame hasn't been called
+
+ Part of <http://webkit.org/b/32827> Crash when calling
+ IWebView::close, then releasing the WebView, without calling
+ DestroyWindow
+
+ Reviewed by Steve Falkenburg.
+
+ * WebKitAPITest/tests/WebViewDestruction.cpp:
+ (WebKitAPITest::CloseWithoutInitWithFrame): Calls IWebView::close
+ without ever calling IWebView::initWithFrame and tests that we don't
+ crash or leak.
+
+2010-01-05 Adam Roben <aroben@apple.com>
+
+ Add more WebViewDestruction tests
+
+ Fixes <http://webkit.org/b/33216>.
+
+ Reviewed by Eric Seidel.
+
+ * WebKitAPITest/tests/WebViewDestruction.cpp:
+ (WebKitAPITest::NoInitWithFrame):
+ (WebKitAPITest::CloseThenDestroyViewWindow):
+ (WebKitAPITest::DestroyViewWindowThenClose):
+ (WebKitAPITest::DestroyHostWindow):
+ (WebKitAPITest::DestroyHostWindowThenClose):
+ (WebKitAPITest::CloseThenDestroyHostWindow):
+ Added these tests that exercise tearing down a WebView in various
+ ways, all of which we eventually want to have work. Some of them
+ currently crash or leak.
+
+2010-01-05 Robert Hogan <robert@roberthogan.net>
+
+ Reviewed by Eric Seidel.
+
+ [Qt] fix DRT link failures on --no-svg builds when only making changes to DRT
+
+ If you're working from a --minimal or --no-svg build and make changes to the
+ DRT, then recompile, the build will fail.
+
+ This is because the current behavior at build time is to assume that the
+ previous Qt build supported SVG and consequently delete libQtWebKit.so.
+ Unfortunately, just deleting libQtWebKit.so will not cause the library to
+ re-link. Instead the build will see libQtWebKit.so.4 and co., pass over the
+ linking phase, and attempt to link the DRT with libQtWebKit.so absent. This
+ results in a link failure on the DRT.
+
+ Since re-linking libQtWebKit can take up to ten minutes and should be avoided
+ in cases where not actually required, remove the assumption that
+ the previous Qt build supported SVG, and amend the symbol detection to look for
+ a symbol name that is not present in SVG builds. Currently webkitdirs.pm looks
+ for 'SVGElement' but even non-SVG builds contain the symbol 'isSVGElement'.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32992
+
+ * Scripts/webkitdirs.pm:
+
+2010-01-05 Chris Jerdonek <chris.jerdonek@gmail.com>
+
+ Reviewed by David Kilzer.
+
+ Switched to generating list of Perl unit test files dynamically,
+ instead of explicitly.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33200
+
+ * Scripts/test-webkitperl:
+
+2010-01-05 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Reimplement EventSender::leapForward
+ https://bugs.webkit.org/show_bug.cgi?id=33114
+
+ Follow Windows implementation of leapForward. When leapForward is called,
+ messages are queued and posted after the timeout. A new event loop is created to
+ handle those messages and the additional messages that are created as a result.
+
+ * DumpRenderTree/qt/DumpRenderTree.pro:
+ * DumpRenderTree/qt/EventSenderQt.cpp:
+ (EventSender::EventSender):
+ (EventSender::mouseDown):
+ (EventSender::mouseUp):
+ (EventSender::mouseMoveTo):
+ (EventSender::leapForward):
+ (EventSender::sendOrQueueEvent):
+ (EventSender::replaySavedEvents):
+ (EventSender::eventFilter):
+ * DumpRenderTree/qt/EventSenderQt.h:
+
+2010-01-05 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Fix obscure queue crash in queueengine
+ https://bugs.webkit.org/show_bug.cgi?id=33196
+
+ Sometimes we get an exception that can't be stringified. For example:
+
+ AttributeError: 'ParseError' object has no attribute 'msg'
+
+ In these cases, the whole queue dies because we're in the global
+ exception handler. Instead of dieing here, we should just print a less
+ informative message to the console. We're already printing the whole
+ backtrace anyway, so there's not much point to stringifying the
+ exception anyway.
+
+ * Scripts/webkitpy/queueengine.py:
+
+2010-01-05 Dominic Mazzoni <dmazzoni@google.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32571
+
+ For an object with an aria role of "checkbox" or "radiobutton",
+ use the "aria-checked" attribute to determine if it's checked.
+ These changes add an isChecked() method to AccessibilityUIElement
+ so that we can check for this property from a layout test.
+
+ * DumpRenderTree/AccessibilityUIElement.cpp:
+ (getIsCheckedCallback):
+ (AccessibilityUIElement::getJSClass):
+ * DumpRenderTree/AccessibilityUIElement.h:
+ * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
+ (AccessibilityUIElement::isChecked):
+ * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+ (AccessibilityUIElement::isChecked):
+ * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
+ (AccessibilityUIElement::isChecked):
+
+2010-01-05 David Levin <levin@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Having a comment for the #endif for a header guard is not required WebKit style.
+ https://bugs.webkit.org/show_bug.cgi?id=33214
+
+ * Scripts/webkitpy/cpp_style.py: removed the check and made the loop exit
+ early when it has all the needed information to continue.
+ * Scripts/webkitpy/cpp_style_unittest.py: removed the corresponding tests.
+
+2010-01-05 Adam Roben <aroben@apple.com>
+
+ Share more code in the WebViewDestruction tests
+
+ Part of <http://webkit.org/b/33212> Small fixes/improvements to
+ WebKitAPITest
+
+ Reviewed by Sam Weinig.
+
+ * WebKitAPITest/tests/WebViewDestruction.cpp:
+ (WebKitAPITest::createAndInitializeWebView): Renamed from
+ createWebView. Now initializes the HostWindow and returns the
+ WebView's HWND via an out-parameter.
+ (WebKitAPITest::finishWebViewDestructionTest): Added. Code came from
+ the CloseWithoutDestroyWindow test.
+ (WebKitAPITest::CloseWithoutDestroyViewWindow): Renamed from
+ CloseWithoutDestroyWindow and changed to use the new functions.
+ (WebKitAPITest::MainFrameAfterClose): Changed to use the new
+ functions.
+ (WebKitAPITest::NoCloseOrDestroyViewWindow): Renamed from
+ NoCloseOrDestroyWindow and changed to use the new functions.
+
+2010-01-05 Adam Roben <aroben@apple.com>
+
+ Don't show HostWindows by default
+
+ This was making WebKitAPITest very flashy as windows appeared and
+ disappeared.
+
+ Part of <http://webkit.org/b/33212> Small fixes/improvements to
+ WebKitAPITest
+
+ Reviewed by Sam Weinig.
+
+ * WebKitAPITest/HostWindow.cpp:
+ (WebKitAPITest::HostWindow::initialize): Removed the WS_VISIBLE style
+ from the window.
+
+2010-01-05 Adam Roben <aroben@apple.com>
+
+ Don't hang in WebKitAPITest if no messages have been posted
+
+ Part of <http://webkit.org/b/33212> Small fixes/improvements to
+ WebKitAPITest
+
+ Reviewed by Sam Weinig.
+
+ * WebKitAPITest/tests/WebViewDestruction.cpp:
+ (WebKitAPITest::runMessagePump): Use PeekMessage instead of GetMessage
+ to avoid hanging if no messages have been posted.
+
+2010-01-05 Adam Roben <aroben@apple.com>
+
+ Fix WebKitCreateInstance helper
+
+ Part of <http://webkit.org/b/33212> Small fixes/improvements to
+ WebKitAPITest
+
+ Reviewed by Sam Weinig.
+
+ * WebKitAPITest/tests/WebViewDestruction.cpp:
+ (WebKitAPITest::WebKitCreateInstance): Pass the pointer straight
+ through, instead of taking its address.
+
+2010-01-04 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Darin Fisher.
+
+ Reorganize, document and rename OS() platform macros.
+ https://bugs.webkit.org/show_bug.cgi?id=33198
+
+ Adapt to name changes.
+
+ * DumpRenderTree/DumpRenderTree.h:
+ * DumpRenderTree/config.h:
+
+2010-01-05 Chris Jerdonek <chris.jerdonek@gmail.com>
+
+ Reviewed by Eric Seidel.
+
+ Minor improvements to test-webkit-scripts, as suggested
+ by an earlier review.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33125
+
+ * Scripts/test-webkit-scripts:
+ - Used OptionParser class instead of getopt.getopt().
+ - Created main() method for __main__ block.
+ - Enclosed functions in a class.
+
+2010-01-05 Chris Fleizach <cfleizach@apple.com>
+
+ No review. Fix DRT breakage on Tiger/Leopard.
+
+ Add ARIA "Live Region" support
+ https://bugs.webkit.org/show_bug.cgi?id=33117
+
+ * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+
+2010-01-04 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Add ARIA "Live Region" support
+ https://bugs.webkit.org/show_bug.cgi?id=33117
+
+ * DumpRenderTree/AccessibilityUIElement.cpp:
+ (indexOfChildCallback):
+ (boolAttributeValueCallback):
+ (stringAttributeValueCallback):
+ (addNotificationListenerCallback):
+ (AccessibilityUIElement::getJSClass):
+ * DumpRenderTree/AccessibilityUIElement.h:
+ * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
+ (AccessibilityUIElement::indexOfChild):
+ (AccessibilityUIElement::stringAttributeValue):
+ (AccessibilityUIElement::boolAttributeValue):
+ (AccessibilityUIElement::addNotificationListener):
+ * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+ (AccessibilityUIElement::indexOfChild):
+ (AccessibilityUIElement::stringAttributeValue):
+ (AccessibilityUIElement::boolAttributeValue):
+ (_accessibilityNotificationCallback):
+ (AccessibilityUIElement::addNotificationListener):
+ * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
+ (AccessibilityUIElement::indexOfChild):
+ (AccessibilityUIElement::stringAttributeValue):
+ (AccessibilityUIElement::boolAttributeValue):
+ (AccessibilityUIElement::addNotificationListener):
+
+2010-01-04 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ bugzilla-tool rollout should require a reason
+ https://bugs.webkit.org/show_bug.cgi?id=30810
+
+ * Scripts/webkitpy/changelogs.py: Add support for a reason, add auto-wrapping logic.
+ * Scripts/webkitpy/changelogs_unittest.py: Test reason support.
+ * Scripts/webkitpy/commands/download.py: rollout now requires a reason, remove unused BUGID argument
+ * Scripts/webkitpy/commands/download_unittest.py: pass required reason
+ * Scripts/webkitpy/steps/preparechangelogforrevert.py: pass reason to update_for_revert
+
+2010-01-04 Jon Honeycutt <jhoneycutt@apple.com>
+
+ MSAA: <select> elements should broadcast value change events
+
+ https://bugs.webkit.org/show_bug.cgi?id=33088
+
+ <rdar://problem/7332364>
+
+ Reviewed by Darin Adler.
+
+ * DumpRenderTree/AccessibilityController.cpp:
+ (logValueChangeEventsCallback):
+ Start logging value change events.
+ (AccessibilityController::getJSClass):
+ Add a "logValueChangeEvents" to the AccessibilityController's JS class
+ definition.
+ (AccessibilityController::resetToConsistentState):
+ Disable logging of value change events.
+
+ * DumpRenderTree/AccessibilityController.h:
+ Declare setLogValueChangeEvents(), and add a member variable for the
+ value change event hook.
+
+ * DumpRenderTree/gtk/AccessibilityControllerGtk.cpp:
+ (AccessibilityController::setLogValueChangeEvents):
+ Stubbed.
+
+ * DumpRenderTree/mac/AccessibilityControllerMac.mm:
+ (AccessibilityController::setLogValueChangeEvents):
+ Stubbed.
+
+ * DumpRenderTree/win/AccessibilityControllerWin.cpp:
+ (AccessibilityController::AccessibilityController):
+ Initialize new member var.
+ (AccessibilityController::~AccessibilityController):
+ Disable logging of value change events.
+ (logEventProc):
+ When we receive an EVENT_OBJECT_VALUECHANGE, log the name of the object
+ and its value.
+ (AccessibilityController::setLogValueChangeEvents):
+ If disabling logging, unhook the event, and clear the event hook
+ member var. Otherwise, query for the root element to enable
+ accessibility, and hook EVENT_OBJECT_VALUECHANGE.
+
+2010-01-04 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ long_help for submit-patch
+ https://bugs.webkit.org/show_bug.cgi?id=33184
+
+ * Scripts/webkitpy/commands/upload.py:
+
+2010-01-04 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ commit-queue can wrongly reject patches if the buildbots are behind
+ https://bugs.webkit.org/show_bug.cgi?id=30098
+
+ Check to make sure we can currently build and test before trying to
+ land a patch.
+
+ * Scripts/webkitpy/commands/queues.py:
+
+2010-01-04 Adam Roben <aroben@apple.com>
+
+ Add a test harness for the Windows WebKit API, and a few tests
+
+ We currently only have tests for a handful of bugs regarding WebView
+ destruction, but more tests can easily be added later. Eventually
+ we'll run these tests as part of run-webkit-tests.
+
+ Fixes <http://webkit.org/b/33167>.
+
+ Reviewed by Sam Weinig.
+
+ * WebKitAPITest/HostWindow.cpp: Added.
+ (WebKitAPITest::HostWindow::HostWindow): Initialize m_window.
+ (WebKitAPITest::HostWindow::~HostWindow): Destroy our window if
+ needed.
+ (WebKitAPITest::HostWindow::initialize): Create our window.
+ (WebKitAPITest::HostWindow::clientRect): Return our window's client
+ rect.
+ (WebKitAPITest::HostWindow::registerWindowClass): Does what it says.
+ (WebKitAPITest::HostWindow::wndProc): Just call through to
+ DefWindowProcW.
+
+ * WebKitAPITest/HostWindow.h: Added.
+ (WebKitAPITest::HostWindow::window): Simple getter.
+
+ * WebKitAPITest/Test.h: Added. This file defines some macros useful
+ for writing tests.
+
+ * WebKitAPITest/TestsController.cpp: Added.
+ (WebKitAPITest::TestsController::TestsController): Initialize our
+ members.
+ (WebKitAPITest::TestsController::shared): Return the shared instance.
+ (WebKitAPITest::TestsController::runAllTests): Run a message pump
+ until a WM_QUIT message is received, then return whether all tests
+ succeeded.
+ (WebKitAPITest::TestsController::addTest): Add the test to m_tests and
+ start running tests soon.
+ (WebKitAPITest::TestsController::testFailed): Record the failure and
+ print a message about it to stdout.
+ (WebKitAPITest::TestsController::runNextTest): If we don't have any
+ tests to run, post a WM_QUIT message to stop the message pump.
+ Otherwise, run the test and print whether it passed, then schedule the
+ next test.
+ (WebKitAPITest::TestsController::runNextTestSoon): Set a 0-delay timer
+ to run the next test.
+ (WebKitAPITest::TestsController::registerWindowClass): Does what it
+ says.
+ (WebKitAPITest::TestsController::wndProc): If the runNextTestTimer
+ fired, call runNextTest(). Pass everything else through to
+ DefWindowProcW.
+
+ * WebKitAPITest/TestsController.h: Added.
+
+ * WebKitAPITest/WebKitAPITest.vcproj: Added.
+
+ * WebKitAPITest/WebKitAPITestCommon.vsprops: Added.
+
+ * WebKitAPITest/main.cpp: Added.
+ (main): (Mostly) just calls TestsController::runAllTests.
+
+ * WebKitAPITest/tests/WebViewDestruction.cpp: Added.
+ (WebKitAPITest::WebKitCreateInstance): Helper function template to
+ call through to the real WebKitCreateInstance.
+ (WebKitAPITest::webViewCount): Helper function to call through to
+ IWebKitStatistics::webViewCount.
+ (WebKitAPITest::createWebView): Helper function to create a WebView
+ and put it inside a HostWindow.
+ (WebKitAPITest::runMessagePump): Helper function to run a message pump
+ for a specified number of milliseconds, or until a WM_QUIT message is
+ received.
+ (WebKitAPITest::CloseWithoutDestroyWindow): Test for
+ <http://webkit.org/b/32827>.
+ (WebKitAPITest::MainFrameAfterClose): Test for
+ <http://webkit.org/b/32868>.
+ (WebKitAPITest::NoCloseOrDestroyWindow): Test for
+ <http://webkit.org/b/33162>.
+
+2010-01-04 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by David Kilzer.
+
+ Add support for Git's "diff.mnemonicprefix" config option to WebKitTools
+
+ https://bugs.webkit.org/show_bug.cgi?id=32820
+
+ * Scripts/VCSUtils.pm:
+ * Scripts/svn-apply:
+ * Scripts/svn-unapply:
+ * Scripts/test-webkitperl: Run gitdiff2svndiff test
+ * Scripts/webkitperl/VCSUtils_unittest/gitdiff2svndiff.pl: Added.
+ * Scripts/webkitpy/diff_parser.py:
+ * Scripts/webkitpy/diff_parser_unittest.py:
+
+2010-01-04 Chris Jerdonek <chris.jerdonek@gmail.com>
+
+ Reviewed by David Kilzer.
+
+ Divided the Perl unit tests into separate files and put
+ them in a separate directory, and renamed test-webkit-perl
+ to test-webkitperl.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33124
+
+ * Scripts/VCSUtils.pm:
+ - Renamed generateRunPatchCommand() to generatePatchCommand().
+
+ * Scripts/VCSUtils_unittest.pl: Removed.
+ - Divided into three files in Scripts/webkitperl/VCSUtils_unittest.
+
+ * Scripts/test-webkit-perl: Removed.
+ - Renamed to test-webkitperl.
+
+ * Scripts/test-webkit-scripts:
+ - Updated paths to test-webkitpy and test-webkitperl.
+
+ * Scripts/test-webkitperl: Copied from Scripts/test-webkit-perl.
+ - Added paths to new test files.
+
+ * Scripts/webkitperl: Added.
+ * Scripts/webkitperl/VCSUtils_unittest: Added.
+ * Scripts/webkitperl/VCSUtils_unittest/fixChangeLogPatch.pl: Added.
+ * Scripts/webkitperl/VCSUtils_unittest/generatePatchCommand.pl: Added.
+ * Scripts/webkitperl/VCSUtils_unittest/runPatchCommand.pl: Copied from Scripts/VCSUtils_unittest.pl.
+
+2010-01-04 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Make bugzilla-tool rollout include a bug link in the ChangeLog entry
+ https://bugs.webkit.org/show_bug.cgi?id=33146
+
+ One more step towards better rollouts.
+
+ * Scripts/webkitpy/changelogs.py:
+ * Scripts/webkitpy/changelogs_unittest.py:
+ * Scripts/webkitpy/steps/preparechangelogforrevert.py:
+
+2010-01-04 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Sort the step options
+ https://bugs.webkit.org/show_bug.cgi?id=33144
+
+ * Scripts/webkitpy/steps/options.py:
+
+2010-01-04 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Need support for longer text in per-command help
+ https://bugs.webkit.org/show_bug.cgi?id=33143
+
+ Add some minimal additional help to land-diff and
+ pave the way for adding better help to all commands.
+
+ * Scripts/webkitpy/commands/download.py: Add small amount of additional help to land-diff
+ * Scripts/webkitpy/multicommandtool.py: support long_help
+ * Scripts/webkitpy/multicommandtool_unittest.py: test long_help
+
+2010-01-04 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Add unit test for MarkBugFixed
+ https://bugs.webkit.org/show_bug.cgi?id=33142
+
+ MarkBugFixed is way behind in command technology, but it still needs a
+ unit test, as the FIXME commands.
+
+ Also, remove mark-bug-fixed and create-bug from main help since we have
+ more modern commands to replace them.
+
+ * Scripts/webkitpy/commands/upload.py:
+ * Scripts/webkitpy/commands/upload_unittest.py:
+ * Scripts/webkitpy/mock_bugzillatool.py:
+
+2010-01-04 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Add missing unit test for CommitMessageForCurrentDiff
+ https://bugs.webkit.org/show_bug.cgi?id=33141
+
+ * Scripts/webkitpy/commands/upload.py:
+ * Scripts/webkitpy/commands/upload_unittest.py:
+
+2010-01-04 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Remove raw_input from queues in favor of user.prompt
+ https://bugs.webkit.org/show_bug.cgi?id=33140
+
+ This lets up properly mock out the user interaction instead of hacking
+ around it with the options.
+
+ * Scripts/webkitpy/commands/queues.py:
+ * Scripts/webkitpy/commands/queuestest.py:
+
+2010-01-04 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ bugzilla-tool should not require users to install mechanize
+ https://bugs.webkit.org/show_bug.cgi?id=32635
+
+ * Scripts/webkitpy/__init__.py: Add missing declaration for ClientForm (which mechanize requires).
+
+2010-01-04 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ bugzilla-tool should not require users to install mechanize
+ https://bugs.webkit.org/show_bug.cgi?id=32635
+
+ Use the nifty "autoinstall" module from Daniel Krech:
+ http://pypi.python.org/pypi/autoinstall/0.2
+ http://code.google.com/p/pyautoinstall/
+ It's available under a WebKit-compatible BSD license.
+
+ * Scripts/webkitpy/__init__.py:
+ - bind "mechanize" to an autoinstall importer which will
+ auto-download mechanize if necessary.
+ * Scripts/webkitpy/autoinstall.py: Added.
+ * Scripts/webkitpy/bugzilla.py: use "mechanize" instead of webkit_mechanize
+ * Scripts/webkitpy/statusbot.py: ditto.
+ * Scripts/webkitpy/webkit_mechanize.py: Removed.
+
+2010-01-04 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] Move AbstractSequencedCommand to a more general location
+ https://bugs.webkit.org/show_bug.cgi?id=33137
+
+ I do what the FIXME tell me to do.
+
+ * Scripts/webkitpy/commands/abstractsequencedcommand.py: Added.
+ * Scripts/webkitpy/commands/download.py:
+ * Scripts/webkitpy/commands/upload.py:
+
+2010-01-04 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Rename StatusBot to StatusServer
+ https://bugs.webkit.org/show_bug.cgi?id=33139
+
+ It's not a bot. It's a server.
+
+ * Scripts/bugzilla-tool:
+ * Scripts/webkitpy/bugzilla.py:
+ * Scripts/webkitpy/commands/early_warning_system.py:
+ * Scripts/webkitpy/commands/queues.py:
+ * Scripts/webkitpy/mock_bugzillatool.py:
+ * Scripts/webkitpy/queueengine.py:
+ * Scripts/webkitpy/statusbot.py: Removed.
+
+2010-01-04 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] submit-pach should have a -o/--open option to open the bug after submit
+ https://bugs.webkit.org/show_bug.cgi?id=33136
+
+ Python makes this very easy.
+
+ * Scripts/webkitpy/mock_bugzillatool.py:
+ * Scripts/webkitpy/steps/options.py:
+ * Scripts/webkitpy/steps/postdiff.py:
+ * Scripts/webkitpy/user.py:
+
+2010-01-04 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] Move steps to a submodule
+ https://bugs.webkit.org/show_bug.cgi?id=33135
+
+ For great victory. This will probably introduce some regressions
+ because our test coverage isn't perfect, but I've tried to be careful.
+
+ * Scripts/test-webkitpy:
+ * Scripts/webkitpy/buildsteps.py: Removed.
+ * Scripts/webkitpy/buildsteps_unittest.py: Removed.
+ * Scripts/webkitpy/commands/download.py:
+ * Scripts/webkitpy/commands/upload.py:
+ * Scripts/webkitpy/steps/__init__.py: Added.
+ * Scripts/webkitpy/steps/abstractstep.py: Added.
+ * Scripts/webkitpy/steps/applypatch.py: Added.
+ * Scripts/webkitpy/steps/applypatchwithlocalcommit.py: Added.
+ * Scripts/webkitpy/steps/build.py: Added.
+ * Scripts/webkitpy/steps/checkstyle.py: Added.
+ * Scripts/webkitpy/steps/cleanworkingdirectory.py: Added.
+ * Scripts/webkitpy/steps/cleanworkingdirectorywithlocalcommits.py: Added.
+ * Scripts/webkitpy/steps/closebug.py: Added.
+ * Scripts/webkitpy/steps/closebugforlanddiff.py: Added.
+ * Scripts/webkitpy/steps/closepatch.py: Added.
+ * Scripts/webkitpy/steps/commit.py: Added.
+ * Scripts/webkitpy/steps/completerollout.py: Added.
+ * Scripts/webkitpy/steps/confirmdiff.py: Added.
+ * Scripts/webkitpy/steps/createbug.py: Added.
+ * Scripts/webkitpy/steps/editchangelog.py: Added.
+ * Scripts/webkitpy/steps/ensurebuildersaregreen.py: Added.
+ * Scripts/webkitpy/steps/ensurelocalcommitifneeded.py: Added.
+ * Scripts/webkitpy/steps/metastep.py: Added.
+ * Scripts/webkitpy/steps/obsoletepatches.py: Added.
+ * Scripts/webkitpy/steps/options.py: Added.
+ * Scripts/webkitpy/steps/postdiff.py: Added.
+ * Scripts/webkitpy/steps/preparechangelog.py: Added.
+ * Scripts/webkitpy/steps/preparechangelogforrevert.py: Added.
+ * Scripts/webkitpy/steps/promptforbugortitle.py: Added.
+ * Scripts/webkitpy/steps/revertrevision.py: Added.
+ * Scripts/webkitpy/steps/runtests.py: Added.
+ * Scripts/webkitpy/steps/steps_unittest.py: Added.
+ * Scripts/webkitpy/steps/update.py: Added.
+ * Scripts/webkitpy/steps/updatechangelogswithreview_unittests.py: Added.
+ * Scripts/webkitpy/steps/updatechangelogswithreviewer.py: Added.
+ * Scripts/webkitpy/stepsequence.py:
+
+2010-01-04 Daniel Bates <dbates@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33097
+
+ Cleans up the File menu to better conform to the File menu in Safari
+ both in terms of options and keyboard shortcuts. Adds a "Quit" menu
+ options to close all open windows. Also, renames the Tools menu to
+ Develop.
+
+ * QtLauncher/main.cpp:
+ (MainWindow::setupUI):
+
+2010-01-04 Daniel Bates <dbates@webkit.org>
+
+ https://bugs.webkit.org/show_bug.cgi?id=33039
+
+ Unreviewed fix.
+
+ * Scripts/webkitpy/credentials.py:
+ * Scripts/webkitpy/credentials_unittest.py:
+
+2010-01-04 Daniel Bates <dbates@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33039
+
+ [bzt] Second attempt to fix an issue where bugzilla-tool dies
+ when the keychain lookup fails to find an entry for bugs.webkit.org.
+
+ * Scripts/webkitpy/credentials.py:
+ * Scripts/webkitpy/credentials_unittest.py:
+
+2010-01-04 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Make Rollout an AbstractSequencedCommmand
+ https://bugs.webkit.org/show_bug.cgi?id=33133
+
+ As suggested by Adam in:
+ https://bugs.webkit.org/show_bug.cgi?id=33131#c2
+
+ * Scripts/webkitpy/commands/download.py:
+
+2010-01-04 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Make all commands AbstractDeclarativeCommmands instead of direct Command subclasses
+ https://bugs.webkit.org/show_bug.cgi?id=33131
+
+ Evenetually we'll probably roll AbstractDeclarativeCommmand directly into Command
+ but for now we just deploy it everywhere and don't try to fix up the few valid uses
+ of Command.
+
+ * Scripts/webkitpy/commands/download.py:
+ * Scripts/webkitpy/commands/queries.py:
+ * Scripts/webkitpy/commands/upload.py:
+ * Scripts/webkitpy/multicommandtool.py:
+
+2010-01-03 Adam Barth <abarth@webkit.org>
+
+ Unreviewed "build" fix. Need to import ScriptError.
+
+ * Scripts/webkitpy/buildsteps.py:
+
+2010-01-03 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] Make it easier to run submit-patch when previous run cancelled
+ https://bugs.webkit.org/show_bug.cgi?id=33070
+
+ This patch renames create-review to submit-patch (as requested by
+ Maciej).
+
+ This patch makes it easier to run submit-patch after the user has
+ already cancelled a previous run of submit-patch by detecting when we
+ already have ChangeLogs and reading the bug number from them (and not
+ attempting to recreate them). Aside from performance and the extra
+ edit step, this command should not subsume post-dif.
+
+ Also, added a --email command line argument so that the output of
+ prepare-ChangeLog makes sense when it can't find the user's email
+ address.
+
+ * Scripts/webkitpy/bugzilla.py:
+ * Scripts/webkitpy/buildsteps.py:
+ * Scripts/webkitpy/commands/upload.py:
+ * Scripts/webkitpy/commands/upload_unittest.py:
+ * Scripts/webkitpy/mock_bugzillatool.py:
+ * Scripts/webkitpy/user.py:
+
+2010-01-03 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Rename Scripts/modules to Scripts/webkitpy
+ https://bugs.webkit.org/show_bug.cgi?id=33128
+
+ Just search-replace and svn mv commands.
+
+ * Scripts/bugzilla-tool:
+ * Scripts/check-webkit-style:
+ * Scripts/modules: Removed.
+ * Scripts/modules/BeautifulSoup.py: Removed.
+ * Scripts/modules/__init__.py: Removed.
+ * Scripts/modules/bugzilla.py: Removed.
+ * Scripts/modules/bugzilla_unittest.py: Removed.
+ * Scripts/modules/buildbot.py: Removed.
+ * Scripts/modules/buildbot_unittest.py: Removed.
+ * Scripts/modules/buildsteps.py: Removed.
+ * Scripts/modules/buildsteps_unittest.py: Removed.
+ * Scripts/modules/changelogs.py: Removed.
+ * Scripts/modules/changelogs_unittest.py: Removed.
+ * Scripts/modules/commands: Removed.
+ * Scripts/modules/commands/__init__.py: Removed.
+ * Scripts/modules/commands/commandtest.py: Removed.
+ * Scripts/modules/commands/download.py: Removed.
+ * Scripts/modules/commands/download_unittest.py: Removed.
+ * Scripts/modules/commands/early_warning_system.py: Removed.
+ * Scripts/modules/commands/early_warning_system_unittest.py: Removed.
+ * Scripts/modules/commands/queries.py: Removed.
+ * Scripts/modules/commands/queries_unittest.py: Removed.
+ * Scripts/modules/commands/queues.py: Removed.
+ * Scripts/modules/commands/queues_unittest.py: Removed.
+ * Scripts/modules/commands/queuestest.py: Removed.
+ * Scripts/modules/commands/upload.py: Removed.
+ * Scripts/modules/commands/upload_unittest.py: Removed.
+ * Scripts/modules/comments.py: Removed.
+ * Scripts/modules/committers.py: Removed.
+ * Scripts/modules/committers_unittest.py: Removed.
+ * Scripts/modules/cpp_style.py: Removed.
+ * Scripts/modules/cpp_style_unittest.py: Removed.
+ * Scripts/modules/credentials.py: Removed.
+ * Scripts/modules/credentials_unittest.py: Removed.
+ * Scripts/modules/diff_parser.py: Removed.
+ * Scripts/modules/diff_parser_unittest.py: Removed.
+ * Scripts/modules/executive.py: Removed.
+ * Scripts/modules/executive_unittest.py: Removed.
+ * Scripts/modules/grammar.py: Removed.
+ * Scripts/modules/mock.py: Removed.
+ * Scripts/modules/mock_bugzillatool.py: Removed.
+ * Scripts/modules/multicommandtool.py: Removed.
+ * Scripts/modules/multicommandtool_unittest.py: Removed.
+ * Scripts/modules/outputcapture.py: Removed.
+ * Scripts/modules/patchcollection.py: Removed.
+ * Scripts/modules/queueengine.py: Removed.
+ * Scripts/modules/queueengine_unittest.py: Removed.
+ * Scripts/modules/scm.py: Removed.
+ * Scripts/modules/scm_unittest.py: Removed.
+ * Scripts/modules/statusbot.py: Removed.
+ * Scripts/modules/stepsequence.py: Removed.
+ * Scripts/modules/style: Removed.
+ * Scripts/modules/style.py: Removed.
+ * Scripts/modules/style_unittest.py: Removed.
+ * Scripts/modules/text_style.py: Removed.
+ * Scripts/modules/text_style_unittest.py: Removed.
+ * Scripts/modules/user.py: Removed.
+ * Scripts/modules/webkit_logging.py: Removed.
+ * Scripts/modules/webkit_logging_unittest.py: Removed.
+ * Scripts/modules/webkit_mechanize.py: Removed.
+ * Scripts/modules/webkitport.py: Removed.
+ * Scripts/modules/webkitport_unittest.py: Removed.
+ * Scripts/test-webkit-python: Removed.
+ * Scripts/test-webkitpy: Copied from WebKitTools/Scripts/test-webkit-python.
+ * Scripts/validate-committer-lists:
+ * Scripts/webkitpy: Copied from WebKitTools/Scripts/modules.
+ * Scripts/webkitpy/bugzilla.py:
+ * Scripts/webkitpy/bugzilla_unittest.py:
+ * Scripts/webkitpy/buildbot.py:
+ * Scripts/webkitpy/buildbot_unittest.py:
+ * Scripts/webkitpy/buildsteps.py:
+ * Scripts/webkitpy/buildsteps_unittest.py:
+ * Scripts/webkitpy/commands/commandtest.py:
+ * Scripts/webkitpy/commands/download.py:
+ * Scripts/webkitpy/commands/download_unittest.py:
+ * Scripts/webkitpy/commands/early_warning_system.py:
+ * Scripts/webkitpy/commands/early_warning_system_unittest.py:
+ * Scripts/webkitpy/commands/queries.py:
+ * Scripts/webkitpy/commands/queries_unittest.py:
+ * Scripts/webkitpy/commands/queues.py:
+ * Scripts/webkitpy/commands/queues_unittest.py:
+ * Scripts/webkitpy/commands/queuestest.py:
+ * Scripts/webkitpy/commands/upload.py:
+ * Scripts/webkitpy/commands/upload_unittest.py:
+ * Scripts/webkitpy/comments.py:
+ * Scripts/webkitpy/credentials.py:
+ * Scripts/webkitpy/credentials_unittest.py:
+ * Scripts/webkitpy/executive.py:
+ * Scripts/webkitpy/executive_unittest.py:
+ * Scripts/webkitpy/mock_bugzillatool.py:
+ * Scripts/webkitpy/multicommandtool.py:
+ * Scripts/webkitpy/multicommandtool_unittest.py:
+ * Scripts/webkitpy/queueengine.py:
+ * Scripts/webkitpy/queueengine_unittest.py:
+ * Scripts/webkitpy/scm.py:
+ * Scripts/webkitpy/scm_unittest.py:
+ * Scripts/webkitpy/statusbot.py:
+ * Scripts/webkitpy/stepsequence.py:
+ * Scripts/webkitpy/webkit_logging_unittest.py:
+ * Scripts/webkitpy/webkitport_unittest.py:
+
+2010-01-03 Chris Jerdonek <chris.jerdonek@gmail.com>
+
+ Reviewed by Eric Seidel.
+
+ Added script to test both Perl and Python, and renamed
+ run-webkit-unittests to test-webkit-python.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33045
+
+ * Scripts/VCSUtils_unittest.pl:
+ - Tweaked so it can be run from outside Scripts directory.
+
+ * Scripts/run-webkit-unittests: Removed.
+ - Renamed to test-webkit-python.
+
+ * Scripts/test-webkit-perl:
+ - Tweaked so it can be run from outside Scripts directory.
+
+ * Scripts/test-webkit-python: Copied from Scripts/run-webkit-unittests.
+
+ * Scripts/test-webkit-scripts: Added.
+ - Runs both test-webkit-perl and test-webkit-python.
+
+2010-01-03 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ commit-queue/bugzilla-tool should build both Debug and Release
+ https://bugs.webkit.org/show_bug.cgi?id=28450
+
+ Add a --build-style command that lets the master process tell the child
+ process to build both debug and release. Eventually we want to teach
+ the test step to understand this option too, but that's a patch for
+ another day.
+
+ * Scripts/modules/buildsteps.py:
+ * Scripts/modules/commands/queues.py:
+ * Scripts/modules/webkitport.py:
+ * Scripts/modules/webkitport_unittest.py:
+
+2010-01-03 Jakub Wieczorek <faw217@gmail.com>
+
+ Reviewed by Eric Seidel.
+
+ [Qt] EventSender: add support for Enter key events
+ https://bugs.webkit.org/show_bug.cgi?id=33064
+
+ Unskip 5 tests that are fixed now.
+
+ * DumpRenderTree/qt/EventSenderQt.cpp:
+ (EventSender::keyDown):
+
+2010-01-03 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] Add test for previous typo fix
+ https://bugs.webkit.org/show_bug.cgi?id=33083
+
+ A trivial test for a trivial fix, as requested by Eric.
+
+ * Scripts/modules/bugzilla_unittest.py:
+
+2010-01-03 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Implement mac-ews
+ https://bugs.webkit.org/show_bug.cgi?id=33072
+
+ The mac-ews is slightly different than the other early warning systems
+ because we can't run Mac OS X inside a VM. For that reason, we only
+ process patches that were uploaded by committers. This isn't as much
+ coverage as the other EWS bots, but it's better than nothing.
+
+ * Scripts/modules/commands/early_warning_system.py:
+ * Scripts/modules/commands/early_warning_system_unittest.py:
+ * Scripts/modules/commands/queues.py:
+ * Scripts/modules/commands/queuestest.py:
+ * Scripts/modules/mock_bugzillatool.py:
+
+2010-01-03 Chris Jerdonek <chris.jerdonek@gmail.com>
+
+ Reviewed by David Kilzer.
+
+ Refactored svn-apply and svn-unapply to use a common "patch"
+ command method, and added unit tests for this new method.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33098
+
+ * Scripts/VCSUtils.pm:
+ - Added generateRunPatchCommand().
+ - Added runPatchCommand().
+ - Added exitStatus() from webkitdirs.pm to address FIXME.
+
+ * Scripts/VCSUtils_unittest.pl:
+ - Added 10 unit tests for generateRunPatchCommand().
+ - Added 4 unit tests for runPatchCommand().
+ - Added callSilently() method.
+
+ * Scripts/svn-apply:
+ - Refactored applyPatch().
+ - Removed $pathScriptWasRunFrom global variable.
+ - Addressed issue where "--force" option was getting added twice.
+
+ * Scripts/svn-unapply:
+ - Refactored applyPatch().
+ - Removed $pathScriptWasRunFrom global variable.
+ - Added support for --force option.
+ - Enhanced to return meaningful exit status.
+
+ * Scripts/webkitdirs.pm:
+ - Moved exitStatus() implementation to VCSUtils.pm.
+
+2009-12-31 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] Implement build-and-test
+ https://bugs.webkit.org/show_bug.cgi?id=33073
+
+ Some of the early warning system bots want to use build-and-test so
+ they can cover LayoutTests in addition to just compilation.
+
+ * Scripts/modules/commands/download.py:
+ * Scripts/modules/commands/download_unittest.py:
+
+2009-12-31 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Show mac-ews status on QueueStatusServer
+ https://bugs.webkit.org/show_bug.cgi?id=33076
+
+ Also make error status purple.
+
+ * QueueStatusServer/model/attachment.py:
+ * QueueStatusServer/model/queues.py:
+ * QueueStatusServer/templates/dashboard.html:
+ * QueueStatusServer/templates/statusbubble.html:
+
+2009-12-31 Adam Barth <abarth@webkit.org>
+
+ Unreviewed.
+
+ [bzt] REGRESSION: Bugzila is a typo
+ https://bugs.webkit.org/show_bug.cgi?id=33074
+
+ Eric should test his code before landing! :)
+
+ * Scripts/modules/bugzilla.py:
+
+2009-12-31 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Fix the unit tests!
+
+ * Scripts/run-webkit-unittests:
+
+2009-12-30 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ [wx] Alter a couple of default settings in the test app.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32956
+
+ * wx/browser/browser.cpp:
+ (MyApp::OnInit):
+
+2009-12-30 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ logging.py should be renamed to webkit_logging.py and eventually die
+ https://bugs.webkit.org/show_bug.cgi?id=33058
+
+ Change all imports of "logging" to webkit_logging,
+ except the ones which came from Google's cpp_lint.py and diff_parser.py
+ which clearly are assuming python's logging.py.
+
+ * Scripts/modules/bugzilla.py:
+ * Scripts/modules/buildbot.py:
+ * Scripts/modules/buildsteps.py:
+ * Scripts/modules/commands/download.py:
+ * Scripts/modules/commands/queries.py:
+ * Scripts/modules/commands/queues.py:
+ * Scripts/modules/commands/upload.py:
+ * Scripts/modules/credentials.py:
+ * Scripts/modules/executive.py:
+ * Scripts/modules/multicommandtool.py:
+ * Scripts/modules/queueengine.py:
+ * Scripts/modules/scm.py:
+ * Scripts/modules/statusbot.py:
+ * Scripts/modules/stepsequence.py:
+ * Scripts/modules/webkit_logging.py: Renamed from WebKitTools/Scripts/modules/logging.py.
+ * Scripts/modules/webkit_logging_unittest.py: Renamed from WebKitTools/Scripts/modules/logging_unittest.py.
+
+2009-12-30 Jakub Wieczorek <faw217@gmail.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] layoutTestController.pathToLocalResource() should return a path, not an URL
+ https://bugs.webkit.org/show_bug.cgi?id=33051
+
+ Moreover, its primary function is to normalize the path in regard of platform
+ specific directory separators. Therefore, it can simply make use of the
+ QDir::toNativeSeparators function.
+
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::pathToLocalResource):
+
+2009-12-30 David D. Kilzer <ddkilzer@webkit.org>
+
+ Fix executable bits for r52646
+
+ * Scripts/VCSUtils_unittest.pl: Added property svn:executable.
+ * Scripts/test-webkit-perl: Ditto.
+
+2009-12-29 Chris Jerdonek <chris.jerdonek@gmail.com>
+
+ Reviewed by David Kilzer.
+
+ Fixed a bug in fixChangeLogPatch, made it work correctly in
+ more circumstances, and added unit tests.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32919
+
+ * Scripts/VCSUtils.pm:
+ Rewrote fixChangeLogPatch.
+
+ * Scripts/VCSUtils_unittest.pl: Added.
+ Added 7 unit tests for fixChangeLogPatch.
+
+ * Scripts/test-webkit-perl: Added.
+ Added test harness for unit tests of Perl code.
+
+2009-12-29 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Split out BugzillaQueries class from Bugzilla
+ https://bugs.webkit.org/show_bug.cgi?id=33042
+
+ * Scripts/modules/bugzilla.py:
+ - Split out BugzillaQueries from Bugzilla.
+ - Try to isolate self.bugzilla usage into helper functions whenever possible.
+ - Add a bunch of FIXMEs.
+ - Rename fetch_bug_ids_from_needs_commit_list to fetch_bug_ids_from_pending_commit_list
+ * Scripts/modules/bugzilla_unittest.py:
+ - Create a new BugzillaQueriesTest testcase and move logic there.
+ * Scripts/modules/buildsteps_unittest.py:
+ - Use Bug 75 instead of 1 since bug 1 doesn't actually exist.
+ * Scripts/modules/commands/queries.py:
+ - Update to use bugzilla.queries
+ * Scripts/modules/commands/queues.py:
+ - Ditto.
+ * Scripts/modules/commands/upload.py:
+ - Ditto.
+ * Scripts/modules/mock_bugzillatool.py:
+ - Add a MockBugzillaQueries.
+ - Make patches and bugs global privates.
+ - Let _id_to_object_dictionary take a variable argument list instead of an array.
+
+2009-12-29 Daniel Bates <dbates@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33041
+
+ Speed up the test method test_read_credentials_with_SVN by not actually
+ creating an SVN repository to test against (by default). Instead, it is
+ sufficient to create a temporary directory that does not contain a Git
+ repository.
+
+ Also, renamed method test_read_credentials_with_SVN to
+ test_read_credentials_without_git_repo, to better reflect what it is
+ testing.
+
+ * Scripts/modules/credentials_unittest.py:
+
+2009-12-29 Daniel Bates <dbates@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=33039
+
+ [bzt] Fixes an issue where bugzilla-tool dies when the keychain lookup
+ fails to find an entry for bugs.webkit.org.
+
+ Under Mac OS X, bugzilla-tool tries to query the keychain and Security
+ framework (via /usr/sbin/security) for an internet-password entry for
+ bugs.webkit.org so that it can use it to login to bugs.webkit.org.
+ However, if no such entry exists then bugzilla-tool dies with an error.
+
+ * Scripts/modules/credentials.py: Modified method _parse_security_tool_output to return
+ [None, None] if /usr/sbin/security cannot find keychain entry for bugs.webkit.org.
+ * Scripts/modules/credentials_unittest.py: Added method test_security_output_parse_entry_not_found.
+
+2009-12-29 Eric Seidel <eric@webkit.org>
+
+ Rubber-stamped by Adam Barth.
+
+ Remove unused BugzillaException.
+
+ * Scripts/modules/bugzilla.py:
+
+2009-12-29 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Need a script to assign bugs with r+ patches to committers for landing
+ https://bugs.webkit.org/show_bug.cgi?id=33009
+
+ This is just one more small tool to help in the fight against our
+ ever-growing list of to-be-committed patches.
+
+ * Scripts/modules/bugzilla.py:
+ - Rename assign_to_email to assigned_to_email (typo).
+ - Add assigned_to_email() method on Bug.
+ - Add reassign_bug method.
+ - Add Bugzilla.unassigned_email, eventually should move to some webkit_config.py module.
+ * Scripts/modules/bugzilla_unittest.py:
+ - Update test after assigned_to_email rename.
+ * Scripts/modules/commands/commandtest.py:
+ - Call bind_to_tool to that self.tool works in Command testing.
+ * Scripts/modules/commands/download.py:
+ - Move AbstractDeclarativeCommmand multicommandtool.py, it should be part of Command.
+ * Scripts/modules/commands/queries_unittest.py:
+ - One of the test patches is now posted by "eric@webkit.org" which is a committer.
+ - Eventually we'll mock out CommitterList and be able to better control what's a committer and what's not.
+ * Scripts/modules/commands/upload.py:
+ - Add new assign-to-committer command.
+ * Scripts/modules/commands/upload_unittest.py:
+ - Add basic assign-to-committer test.
+ * Scripts/modules/committers.py:
+ - Add bugzilla_email() accessor.
+ * Scripts/modules/committers_unittest.py:
+ - Test our assumption that bugzilla_email is the first email.
+ * Scripts/modules/mock_bugzillatool.py:
+ - Add _id_to_object_dictionary for generating bug_cache from list of bugs.
+ - Remove unused fetch_attachments_from_bug.
+ - Add fetch_bug support and a bug_cache.
+ * Scripts/modules/multicommandtool.py:
+ - Move AbstractDeclarativeCommmand here from download.py
+
+2009-12-29 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] Don't crash if user types a number during PromptForBugOrTitleStep
+ https://bugs.webkit.org/show_bug.cgi?id=33038
+
+ Simple fix with test.
+
+ * Scripts/modules/buildsteps.py:
+ * Scripts/modules/buildsteps_unittest.py:
+
+2009-12-29 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] post-diff requires reading to the end
+ https://bugs.webkit.org/show_bug.cgi?id=33036
+
+ Catch the IOError caused by not reading to the end of the diff. We
+ don't have a good way to test this currently.
+
+ * Scripts/modules/user.py:
+
+2009-12-29 Chang Shu <Chang.Shu@nokia.com>
+
+ Reviewed by Adam Barth.
+
+ [Qt] Move logic that handles Qt headers before primary headers
+ so that Qt headers won't be treated as primary headers by mistake.
+ https://bugs.webkit.org/show_bug.cgi?id=32991
+
+ * Scripts/modules/cpp_style.py:
+ * Scripts/modules/cpp_style_unittest.py:
+
+2009-12-29 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Add the start of a Bug object for bugzilla.py
+ https://bugs.webkit.org/show_bug.cgi?id=32995
+
+ This allowed us to get rid of some duplicated "is_obsolete" checks.
+
+ * Scripts/modules/bugzilla.py:
+ - Add a new Bug class, and move patches/unreviewed_patches filtering logic there.
+ - Add _fetch_bug_page for possible future mocking.
+ (I did not try to test fetch_*_from_bug now due to difficulties with our current validate_reviewer logic.)
+ - Rename fetch_bug to fetch_bug_dictionary and add a new fetch_bug which returns a Bug object.
+ - Use fetch_bug and attachments(), patches(), etc. instead of custom fetch_*_from_bug methods.
+ - Reduce code in fetch_patches_from_pending_commit_list and fetch_patches_from_review_queue
+ using list comprehensions. Use a sum(list, []) trick to flatten a list of lists into a single list.
+ * Scripts/modules/bugzilla_unittest.py:
+ - Remove an unneeded unicode string marker.
+ * Scripts/modules/buildsteps.py:
+ - define __all__ to include just the BuildSteps
+ * Scripts/modules/commands/download.py:
+ - import * now that we have an __all__ defined.
+ * Scripts/modules/commands/upload.py:
+ - Use fetch_bug_dictionary instead of fetch_bug.
+
+2009-12-29 Daniel Bates <dbates@webkit.org>
+
+ Reviewed by Ariya Hidayat.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32925
+
+ Adds an Open File dialog to make it convenient to open a file
+ to view in the browser.
+
+ Currently a person must either specify the path to a file as a
+ command-line argument or type a file URL. Instead, we should
+ have a file dialog to allow a person to open a file without
+ memorizing its path.
+
+ * QtLauncher/main.cpp:
+ (MainWindow::MainWindow): Changed urlEdit->setText(qurl.toEncoded())
+ to urlEdit->setText(qurl.toString()).
+ (MainWindow::openFile): Added.
+ (MainWindow::changeLocation): Moved code to load URL into method
+ MainWindow::loadURL.
+ (MainWindow::loadURL): Added.
+ (MainWindow::setupUI): Added menu item Open File.
+
+2009-12-29 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Holger Freyther.
+
+ [GTK] fails fast/harness/use-page-cache.html
+ https://bugs.webkit.org/show_bug.cgi?id=33013
+
+ Make sure settings are forwarded to child WebViews.
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (createWebView):
+
+2009-12-29 Daniel Bates <dbates@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32778
+
+ Changes $diffPercentage to be a number to resolve Perl
+ warning about comparing a string to a number.
+
+ * Scripts/run-webkit-tests:
+
+2009-12-29 Jakub Wieczorek <faw217@gmail.com>
+
+ Reviewed by Eric Seidel.
+
+ [Qt] DRT: Frame loader callbacks differ from the Mac port
+ https://bugs.webkit.org/show_bug.cgi?id=32989
+
+ Remove messages from the callbacks that should not dump them to match
+ the expected results for the http/loading tests.
+
+ Unskip some http/loading tests which succeed now.
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::DumpRenderTree::dump):
+
+2009-12-29 Robert Hogan <robert@roberthogan.net>
+
+ Reviewed by Eric Seidel.
+
+ [Qt] fix fast/dom/Window/window-onFocus.html
+
+ Add support for layouttestcontroller.windowIsKey to Qt DRT and fix issue where
+ window.onblur was getting dispatched twice from QtWebKit.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32990
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::DumpRenderTree::DumpRenderTree):
+ (WebCore::DumpRenderTree::switchFocus):
+ * DumpRenderTree/qt/DumpRenderTreeQt.h:
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::setWindowIsKey):
+ (LayoutTestController::setMainFrameIsFirstResponder):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+
+2009-12-28 Kinuko Yasuda <kinuko@chromium.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Extended EventSender.keyDown method to take another (3rd) argument
+ for indicating the keyLocation to make numeric pad key events testable.
+ Expected values for the argument is one of the KeyLocationCode
+ specified in DOM Level 3
+ (http://www.w3.org/TR/DOM-Level-3-Events/#events-keyboardevents).
+ https://bugs.webkit.org/show_bug.cgi?id=28247
+
+ Test: fast/events/keydown-numpad-keys.html
+
+ * DumpRenderTree/mac/EventSendingController.mm:
+ (+[EventSendingController isSelectorExcludedFromWebScript:]):
+ (+[EventSendingController webScriptNameForSelector:]):
+ (-[EventSendingController keyDown:withModifiers:withLocation:]):
+
+2009-12-28 Ariya Hidayat <ariya.hidayat@gmail.com>
+
+ Unreviewed, update my email address.
+
+ * Scripts/modules/committers.py:
+
+2009-12-28 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Adam Barth.
+
+ [Qt] Fix build break for Qt 4.4
+ https://bugs.webkit.org/show_bug.cgi?id=30327
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp: Include QLocale
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp: Ditto.
+ * QtLauncher/main.cpp:
+ (MainWindow::MainWindow): Qt::WA_TranslucentBackground was
+ introduced in Qt version 4.5
+
+2009-12-28 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] Add an edit-changelog command
+ https://bugs.webkit.org/show_bug.cgi?id=32986
+
+ This command makes it easier to edit ChangeLogs. It's similar to
+ prepare-ChangeLog -o, except it works with already existing ChangeLogs.
+
+ * Scripts/modules/commands/upload.py:
+ * Scripts/modules/commands/upload_unittest.py:
+
+2009-12-28 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] Create an ASAD command for uploading a patch
+ https://bugs.webkit.org/show_bug.cgi?id=32979
+
+ The create-review command goes through the whole process of preparing a
+ code review, including creating a bug, editing the ChangeLogs, and
+ uploading the patch. It is indeed the All Sing, All Dance upload
+ command.
+
+ * Scripts/modules/buildsteps.py:
+ * Scripts/modules/commands/upload.py:
+ * Scripts/modules/commands/upload_unittest.py:
+ * Scripts/modules/mock_bugzillatool.py:
+ * Scripts/modules/user.py:
+
+2009-12-28 Adam Barth <abarth@webkit.org>
+
+ Unreviewed "build" fix (with test!).
+
+ * Scripts/modules/bugzilla.py:
+ * Scripts/modules/bugzilla_unittest.py:
+
+2009-12-27 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Add more awesome bug-parsing logic to bugzilla.py in preparation for assign-to-committer command
+ https://bugs.webkit.org/show_bug.cgi?id=32980
+
+ * Scripts/modules/bugzilla.py:
+ - Add a new _parse_bug_page function and use it in fetch_attachments_from_bug
+ - Replace fetch_title_from_bug with a new fetch_bug call instead.
+ - Use list comprehensions where possible to reduce code duplication.
+ * Scripts/modules/bugzilla_unittest.py:
+ - Add a minimal bug parsing test.
+ - Share code between bug parsing and attachment parsing tests with _assert_dictionaries_equal
+ * Scripts/modules/commands/upload.py:
+ - Use fetch_bug(bug_id)["title"] instead of fetch_title_from_bug
+
+2009-12-27 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Status bubble shouldn't be transparent for bots that haven't run yet
+ https://bugs.webkit.org/show_bug.cgi?id=32977
+
+ * QueueStatusServer/templates/statusbubble.html:
+
+2009-12-27 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [QueueStatusServer] Run gc cron job less often
+ https://bugs.webkit.org/show_bug.cgi?id=32958
+
+ Now that we've cleaned out the backlog of idle messages, we don't need
+ to run the gc job every half hour. We could also stop logging the idle
+ messages, but this seems easier for the time being.
+
+ * QueueStatusServer/cron.yaml:
+
+2009-12-27 Daniel Bates <dbates@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32896
+
+ Fixes an issue where bugzilla-tool tries to read the username and password from
+ Git regardless of whether Git is installed. In particular, if Git is not
+ installed then bugzilla-tool dies (with a trace) when it attempts to query Git
+ for the authentication credentials to log into bugs.webkit.org.
+
+ Moreover, modifies Executive.run_command to catch and pass OSError exceptions to
+ the specified error handler. For instance, the specified error handler will now
+ be called when the command does not exist (i.e. OSError errno 2).
+
+ * Scripts/modules/credentials.py: Added check for Git.
+ * Scripts/modules/credentials_unittest.py: Added test method
+ test_read_credentials_with_SVN.
+ * Scripts/modules/executive.py: Modified method run_command to catch
+ OSError exceptions (i.e [Errno 2] No such file or directory) and call
+ the specified error handler.
+ * Scripts/modules/executive_unittest.py: Added.
+ * Scripts/run-webkit-unittests: Added import executive_unittest.py.
+
+2009-12-27 Daniel Bates <dbates@webkit.org>
+
+ Unreviewed. Added missing file style_unittest.py that wasn't committed
+ in change set 52541 (http://trac.webkit.org/changeset/52541) as part of
+ the patch for bug #32592.
+
+ * Scripts/modules/style_unittest.py: Added.
+
+2009-12-27 Daniel Bates <dbates@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32964
+
+ [bzt] Updated the unit test based on the change made in bug #32951.
+
+ The change made in bug #32951 added the command-line argument:
+ --makeargs="-j8" to the build-webkit command. However, the associated
+ unit test was not updated.
+
+ * Scripts/modules/webkitport_unittest.py:
+
+2009-12-27 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ check-webkit-style should not mark moc files inclusion as errors
+ https://bugs.webkit.org/show_bug.cgi?id=32669
+
+ Add a new header type for moc files, and skip them when checking the order of header files.
+
+ * Scripts/modules/cpp_style.py:
+
+2009-12-26 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] Make the qt build go fast
+ https://bugs.webkit.org/show_bug.cgi?id=32951
+
+ Make use of multiple cores, if available.
+
+ * Scripts/modules/webkitport.py:
+
+2009-12-25 Daniel Bates <dbates@rim.com>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32682
+
+ Fixes an issue where checkFrameworks always dies with an error under Windows
+ since the clause "unless (-x $path)" is always satisfied because files under
+ Windows do not have an explict executable bit.
+
+ * Scripts/webkitdirs.pm:
+
+2009-12-23 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ bugzilla-tool should accept global options anywhere
+ https://bugs.webkit.org/show_bug.cgi?id=26912
+
+ * Scripts/bugzilla-tool:
+ - Use the new global_options class property.
+ - Add a handle_global_options callback to avoid needing callbacks for each global option.
+ * Scripts/modules/multicommandtool.py:
+ - Make the code use one combined option parser.
+ This allows us to accept global options anywhere and
+ individual command options before commands.
+ - Add a handle_global_options callback to avoid needing callbacks for each global option.
+ - Make the Command hold the option parser, but allow the tool to override it.
+ - The default option parser is used for help printing and when Commands are run stand alone,
+ but are otherwise not used.
+ - Add Command.main to codify the idea that Commands should support being run stand-alone.
+ - Change _split_args to _split_command_name_from_args now that args are unified.
+ * Scripts/modules/multicommandtool_unittest.py:
+ - Test that "tool" and "tool help" show the same help.
+ - Test that args are accepted before commands
+
+2009-12-20 Chris Jerdonek <chris.jerdonek@gmail.com>
+
+ Reviewed by David Levin.
+
+ Moved some sections of code in preparation to refactor
+ check-webkit-style's argument parser to avoid setting
+ global variables.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32592
+
+ * Scripts/check-webkit-style:
+ - Moved _USAGE string to style.py.
+ - Addressed FIXME by eliminating dependencies on cpp_style.py.
+
+ * Scripts/modules/cpp_style.py:
+ - Moved default arguments and style categories to style.py.
+ - Moved exit_with_usage(), exit_with_categories(), and
+ parse_arguments() to style.py.
+ - Removed references in _CppStyleState to the global
+ variables now in style.py.
+
+ * Scripts/modules/cpp_style_unittest.py:
+ - Moved parse_arguments() unit tests to style_unittest.py.
+
+ * Scripts/modules/style.py:
+ - Added _USAGE string from check-webkit-style.
+ - Added default arguments and style categories from cpp_style.py.
+ - Added exit_with_usage(), exit_with_categories(), and
+ parse_arguments() from cpp_sstyle.py.
+
+ * Scripts/modules/style_unittest.py: Added.
+ - Added parse_arguments() unit tests from cpp_style_unittest.py.
+
+ * Scripts/run-webkit-unittests:
+ - Added unit tests from style_unittest.py.
+
+2009-12-23 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ commit-queue should mention bug 30084 when rejecting patches until it can be fixed
+ https://bugs.webkit.org/show_bug.cgi?id=32911
+
+ * Scripts/modules/bugzilla.py: Make the message even more fancy.
+ * Scripts/modules/bugzilla_unittest.py: Test our new fancy message.
+
+2009-12-23 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Not reviewed, adding myself to the reviewers list.
+
+ * Scripts/modules/committers.py:
+
+2009-12-23 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] Create a prepare-diff command that creates a bug and a ChangeLog
+ https://bugs.webkit.org/show_bug.cgi?id=32895
+
+ The workflow Maciej and I discussed is as follows:
+
+ 1) Write code.
+ 2) bugzilla-tool prepare-diff
+ 3) Edit ChangeLogs
+ 4) bugzilla-tool post-diff
+
+ We might want to experimenting with combining 2-4 into a single
+ command, but that might be stressful to edit the ChangeLogs modally.
+
+ Removed submit-patch since it has the modal ChangeLog editing but none
+ oof the bug creating fun.
+
+ * Scripts/modules/bugzilla.py:
+ * Scripts/modules/buildsteps.py:
+ * Scripts/modules/commands/upload.py:
+ * Scripts/modules/commands/upload_unittest.py:
+
+2009-12-23 Gabor Loki <loki@webkit.org>
+
+ Unreviewed; added myself to the committers list.
+
+ * Scripts/modules/committers.py:
+
+2009-12-22 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ [bzt] Don't call create-patch twice during post-diff
+ https://bugs.webkit.org/show_bug.cgi?id=32893
+
+ If we call create-patch to get the bug number, cache the diff in the
+ state so we don't need to call it again.
+
+ * Scripts/modules/buildsteps.py:
+ * Scripts/modules/commands/upload.py:
+
+2009-12-22 Daniel Bates <dbates@rim.com>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32680
+
+ Fixes an issue in builtDylibPathForName so that it returns the correct
+ path to the built QtWebKit library on the Qt Windows port. Currently,
+ it returns the path to the file named QtWebKit.dll but this file does
+ not exist on the Qt Windows build. Instead, the file is named
+ QtWebKit4.dll.
+
+ * Scripts/webkitdirs.pm:
+
+2009-12-22 Marc-Antoine Ruel <maruel@chromium.org>
+
+ Reviewed by Adam Roben.
+
+ Remove the only dependency on perl-libwin32 in cygwin
+
+ * Scripts/num-cpus:
+
+2009-12-22 Darin Adler <darin@apple.com>
+
+ * pywebsocket/mod_pywebsocket: Added property svn:ignore to ignore
+ generated ".pyc" files.
+
+2009-12-22 Darin Adler <darin@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Turn off datagrid by default, at least for all platforms Apple ships.
+ The datagrid implementation isn't ready for general web use yet.
+
+ * Scripts/build-webkit: Turn off datagrid by default.
+
+2009-12-22 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ validate-committer-lists fails when run from an SVN checkout
+ https://bugs.webkit.org/show_bug.cgi?id=31974
+
+ * Scripts/validate-committer-lists:
+ - Make it print a warning message instead of throwing
+ an exception when running from an SVN checkout.
+
+2009-12-22 Philippe Normand <pnormand@igalia.com>
+
+ Reviewed by Adam Barth.
+
+ check-webkit-style should not warn about NULL usage in g_object_{get,set}
+ https://bugs.webkit.org/show_bug.cgi?id=32858
+
+ * Scripts/modules/cpp_style.py:
+ * Scripts/modules/cpp_style_unittest.py:
+
+2009-12-22 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Rubber-stamped by Holger Freyther.
+
+ Moved QtLauncher from WebKit/qt.
+
+ * QtLauncher: Copied from WebKit/qt/QtLauncher.
+ * QtLauncher/QtLauncher.pro:
+
+2009-12-21 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] Automate the process of calling prepare-ChangeLog
+ https://bugs.webkit.org/show_bug.cgi?id=32816
+
+ This patch automates the process of creating a bug and patch and
+ uploading it to bugzilla. The first cut just calls
+ prepare-ChangeLog.
+
+ This patch required some refactoring of upload.py to the Step
+ model, but that's worth doing anyway.
+
+ * Scripts/bugzilla-tool:
+ * Scripts/modules/buildsteps.py:
+ * Scripts/modules/commands/download.py:
+ * Scripts/modules/commands/upload.py:
+ * Scripts/modules/commands/upload_unittest.py:
+ * Scripts/modules/mock_bugzillatool.py:
+
+2009-12-21 Darin Adler <darin@apple.com>
+
+ * Scripts/do-webcore-rename: Did a rename, so checking in the
+ version of the script I used.
+
+2009-12-21 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Update status-bubble to show all the queues
+ https://bugs.webkit.org/show_bug.cgi?id=32838
+
+ Also, move statusbubble over to use memcache.
+
+ * QueueStatusServer/handlers/statusbubble.py:
+ * QueueStatusServer/templates/statusbubble.html:
+
+2009-12-21 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Delete the boring "Empty queue" status messages in QueueStatusServer
+ https://bugs.webkit.org/show_bug.cgi?id=32818
+
+ * QueueStatusServer/app.yaml:
+ * QueueStatusServer/cron.yaml:
+ * QueueStatusServer/handlers/gc.py:
+ * QueueStatusServer/main.py:
+
+2009-12-21 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Exception on queue status server
+ https://bugs.webkit.org/show_bug.cgi?id=32812
+
+ Turns out we need to pass the id to the filter.
+
+ * QueueStatusServer/filters/webkit_extras.py:
+ * QueueStatusServer/templates/patch.html:
+ * QueueStatusServer/templates/recentstatus.html:
+
+2009-12-20 Chris Jerdonek <chris.jerdonek@gmail.com>
+
+ Reviewed by Eric Seidel.
+
+ Created "style" folder for code supporting check-webkit-style.
+
+ * Scripts/modules/style: Added.
+
+2009-12-20 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ REGRESSION: error when running commit-queue
+ https://bugs.webkit.org/show_bug.cgi?id=32806
+
+ Fix typo and add test!
+
+ * Scripts/modules/bugzilla.py:
+ * Scripts/modules/bugzilla_unittest.py:
+
+2009-12-20 Adam Barth <abarth@webkit.org>
+
+ [bzt] Optimize status updates for new dashboard
+ https://bugs.webkit.org/show_bug.cgi?id=32797
+
+ This patch makes the queues slightly more chatty with the web service.
+ Also, this patch introduces some testing for the queues!
+
+ * Scripts/modules/commands/early_warning_system.py:
+ * Scripts/modules/commands/early_warning_system_unittest.py: Added.
+ * Scripts/modules/commands/queues.py:
+ * Scripts/modules/commands/queues_unittest.py:
+ * Scripts/modules/commands/queuestest.py: Added.
+ * Scripts/modules/mock_bugzillatool.py:
+ * Scripts/modules/patchcollection.py:
+ * Scripts/modules/queueengine.py:
+ * Scripts/run-webkit-unittests:
+
+2009-12-20 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Prepare QueueStatusServer for new status messages
+ https://bugs.webkit.org/show_bug.cgi?id=32805
+
+ * QueueStatusServer/handlers/recentstatus.py:
+ * QueueStatusServer/index.html: Removed.
+ * QueueStatusServer/model/attachment.py:
+ * QueueStatusServer/model/queues.py: Added.
+ * QueueStatusServer/templates/recentstatus.html: Added.
+
+2009-12-20 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ [check-webkit-style] static_cast is not misnamed!
+ https://bugs.webkit.org/show_bug.cgi?id=32796
+
+ * Scripts/modules/cpp_style.py:
+ * Scripts/modules/cpp_style_unittest.py:
+
+2009-12-20 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ [GTK] Failing test platform/gtk/editing/pasteboard/middle-button-paste.html
+ https://bugs.webkit.org/show_bug.cgi?id=32788
+
+ Do not increase the click count if we are using a different button.
+
+ * DumpRenderTree/gtk/EventSender.cpp:
+
+2009-12-20 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [QueueStatusServer] Add a per-patch details page
+ https://bugs.webkit.org/show_bug.cgi?id=32784
+
+ This is a first cut at a per-patch details page. I'm sure we'll have
+ to iterate.
+
+ * QueueStatusServer/filters/webkit_extras.py:
+ * QueueStatusServer/handlers/patch.py: Added.
+ * QueueStatusServer/index.yaml:
+ * QueueStatusServer/main.py:
+ * QueueStatusServer/model/attachment.py:
+ * QueueStatusServer/stylesheets/dashboard.css:
+ * QueueStatusServer/templates/dashboard.html:
+ * QueueStatusServer/templates/patch.html: Added.
+
+2009-12-20 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Use memcache to make dashboard to fast
+ https://bugs.webkit.org/show_bug.cgi?id=32780
+
+ * QueueStatusServer/app.yaml:
+ * QueueStatusServer/handlers/dashboard.py:
+ * QueueStatusServer/handlers/updatestatus.py:
+ * QueueStatusServer/model/attachment.py: Added.
+
+2009-12-19 Brent Fulgham <bfulgham@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Provide an example implementation for printing under Windows.
+ http://bugs.webkit.org/show_bug.cgi?id=32504.`
+
+ * WinLauncher/PrintWebUIDelegate.cpp: Added.
+ (PrintWebUIDelegate::QueryInterface):
+ (PrintWebUIDelegate::AddRef):
+ (PrintWebUIDelegate::Release):
+ (PrintWebUIDelegate::webViewPrintingMarginRect):
+ * WinLauncher/PrintWebUIDelegate.h: Added.
+ (PrintWebUIDelegate::PrintWebUIDelegate):
+ (PrintWebUIDelegate::createWebViewWithRequest):
+ (PrintWebUIDelegate::webViewShow):
+ (PrintWebUIDelegate::webViewClose):
+ (PrintWebUIDelegate::webViewFocus):
+ (PrintWebUIDelegate::webViewUnfocus):
+ (PrintWebUIDelegate::webViewFirstResponder):
+ (PrintWebUIDelegate::makeFirstResponder):
+ (PrintWebUIDelegate::setStatusText):
+ (PrintWebUIDelegate::webViewStatusText):
+ (PrintWebUIDelegate::webViewAreToolbarsVisible):
+ (PrintWebUIDelegate::setToolbarsVisible):
+ (PrintWebUIDelegate::webViewIsStatusBarVisible):
+ (PrintWebUIDelegate::setStatusBarVisible):
+ (PrintWebUIDelegate::webViewIsResizable):
+ (PrintWebUIDelegate::setResizable):
+ (PrintWebUIDelegate::setFrame):
+ (PrintWebUIDelegate::webViewFrame):
+ (PrintWebUIDelegate::setContentRect):
+ (PrintWebUIDelegate::webViewContentRect):
+ (PrintWebUIDelegate::runJavaScriptAlertPanelWithMessage):
+ (PrintWebUIDelegate::runJavaScriptConfirmPanelWithMessage):
+ (PrintWebUIDelegate::runJavaScriptTextInputPanelWithPrompt):
+ (PrintWebUIDelegate::runBeforeUnloadConfirmPanelWithMessage):
+ (PrintWebUIDelegate::runOpenPanelForFileButtonWithResultListener):
+ (PrintWebUIDelegate::mouseDidMoveOverElement):
+ (PrintWebUIDelegate::contextMenuItemsForElement):
+ (PrintWebUIDelegate::validateUserInterfaceItem):
+ (PrintWebUIDelegate::shouldPerformAction):
+ (PrintWebUIDelegate::dragDestinationActionMaskForDraggingInfo):
+ (PrintWebUIDelegate::willPerformDragDestinationAction):
+ (PrintWebUIDelegate::dragSourceActionMaskForPoint):
+ (PrintWebUIDelegate::willPerformDragSourceAction):
+ (PrintWebUIDelegate::contextMenuItemSelected):
+ (PrintWebUIDelegate::hasCustomMenuImplementation):
+ (PrintWebUIDelegate::trackCustomPopupMenu):
+ (PrintWebUIDelegate::measureCustomMenuItem):
+ (PrintWebUIDelegate::drawCustomMenuItem):
+ (PrintWebUIDelegate::addCustomMenuDrawingData):
+ (PrintWebUIDelegate::cleanUpCustomMenuDrawingData):
+ (PrintWebUIDelegate::canTakeFocus):
+ (PrintWebUIDelegate::takeFocus):
+ (PrintWebUIDelegate::registerUndoWithTarget):
+ (PrintWebUIDelegate::removeAllActionsWithTarget):
+ (PrintWebUIDelegate::setActionTitle):
+ (PrintWebUIDelegate::undo):
+ (PrintWebUIDelegate::redo):
+ (PrintWebUIDelegate::canUndo):
+ (PrintWebUIDelegate::canRedo):
+ (PrintWebUIDelegate::printFrame):
+ (PrintWebUIDelegate::ftpDirectoryTemplatePath):
+ (PrintWebUIDelegate::webViewHeaderHeight):
+ (PrintWebUIDelegate::webViewFooterHeight):
+ (PrintWebUIDelegate::drawHeaderInRect):
+ (PrintWebUIDelegate::drawFooterInRect):
+ (PrintWebUIDelegate::canRunModal):
+ (PrintWebUIDelegate::createModalDialog):
+ (PrintWebUIDelegate::runModal):
+ (PrintWebUIDelegate::isMenuBarVisible):
+ (PrintWebUIDelegate::setMenuBarVisible):
+ (PrintWebUIDelegate::runDatabaseSizeLimitPrompt):
+ (PrintWebUIDelegate::paintCustomScrollbar):
+ (PrintWebUIDelegate::paintCustomScrollCorner):
+ * WinLauncher/WinLauncher.cpp: Add new UI delegate for print support.
+ (WinLauncherWebHost::updateAddressBar): check-webkit-style fixes.
+ (WinLauncherWebHost::QueryInterface): check-webkit-style fixes.
+ (WinLauncherWebHost::AddRef): check-webkit-style fixes.
+ (WinLauncherWebHost::Release): check-webkit-style fixes.
+ (resizeSubViews): check-webkit-style fixes.
+ (_tWinMain): check-webkit-style fixes.
+ (MyRegisterClass): check-webkit-style fixes.
+ (InitInstance): check-webkit-style fixes.
+ (AbortProc): New print support function.
+ (getPrinterDC): New print support function.
+ (initDocStruct): New print support function.
+ (PrintView): New printing implementation.
+ (WndProc): Add support for printing.
+ (MyEditProc): check-webkit-style fixes.
+ (About): check-webkit-style fixes.
+ (loadURL): check-webkit-style fixes.
+ * WinLauncher/WinLauncher.h:
+ (WinLauncherWebHost::WinLauncherWebHost):
+ (WinLauncherWebHost::didStartProvisionalLoadForFrame):
+ (WinLauncherWebHost::didReceiveServerRedirectForProvisionalLoadForFrame):
+ (WinLauncherWebHost::didFailProvisionalLoadWithError):
+ (WinLauncherWebHost::didCommitLoadForFrame):
+ (WinLauncherWebHost::didReceiveTitle):
+ (WinLauncherWebHost::didReceiveIcon):
+ (WinLauncherWebHost::didFinishLoadForFrame):
+ (WinLauncherWebHost::didFailLoadWithError):
+ (WinLauncherWebHost::didChangeLocationWithinPageForFrame):
+ (WinLauncherWebHost::willPerformClientRedirectToURL):
+ (WinLauncherWebHost::didCancelClientRedirectForFrame):
+ (WinLauncherWebHost::willCloseFrame):
+ (WinLauncherWebHost::windowScriptObjectAvailable):
+ * WinLauncher/WinLauncher.rc: Add menu entry for printing.
+ * WinLauncher/WinLauncher.vcproj: Add new files.
+ * WinLauncher/resource.h: Add menu entry for printing.
+
+2009-12-19 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Tweak the CSS to make the dashboard prettier.
+
+ * QueueStatusServer/stylesheets/dashboard.css:
+ * QueueStatusServer/templates/dashboard.html:
+
+2009-12-19 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ QueueStatusServer needs a human readable dashboard
+ https://bugs.webkit.org/show_bug.cgi?id=32769
+
+ Here is a first cut at the dashboard. There's a lot left to do.
+
+ * QueueStatusServer/filters/webkit_extras.py:
+ * QueueStatusServer/handlers/dashboard.py: Added.
+ * QueueStatusServer/handlers/patchstatus.py:
+ * QueueStatusServer/handlers/recentstatus.py:
+ * QueueStatusServer/handlers/showresults.py:
+ * QueueStatusServer/handlers/statusbubble.py:
+ * QueueStatusServer/handlers/updatestatus.py:
+ * QueueStatusServer/main.py:
+ * QueueStatusServer/model/__init__.py: Copied from WebKitTools/QueueStatusServer/filters/__init__.py.
+ * QueueStatusServer/model/queuestatus.py: Renamed from WebKitTools/QueueStatusServer/model.py.
+ * QueueStatusServer/stylesheets/dashboard.css: Added.
+ * QueueStatusServer/templates/dashboard.html: Added.
+ * QueueStatusServer/templates/statusbubble.html: Renamed from WebKitTools/QueueStatusServer/status_bubble.html.
+ * QueueStatusServer/templates/updatestatus.html: Renamed from WebKitTools/QueueStatusServer/update_status.html.
+
+2009-12-19 Daniel Bates <dbates@webkit.org>
+
+ Reviewed by Timothy Hatcher.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32462
+
+ Added --inspector-frontend flag to build-webkit to copy any changes
+ to the inspector front-end files to the built WebCore framework. This
+ will make inspector development more consistent with the rest of
+ WebKit development.
+
+ * Scripts/build-webkit:
+ * Scripts/webkitdirs.pm:
+
+2009-12-19 Adam Barth <abarth@webkit.org>
+
+ Unreviewed fixes for me being terrible at python.
+
+ * Scripts/modules/bugzilla.py:
+ * Scripts/run-webkit-unittests:
+
+2009-12-18 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Split QueueStatus server into modules
+ https://bugs.webkit.org/show_bug.cgi?id=32768
+
+ One monolithic file is no good.
+
+ * QueueStatusServer/app.yaml:
+ * QueueStatusServer/handlers/__init__.py: Copied from WebKitTools/QueueStatusServer/filters/__init__.py.
+ * QueueStatusServer/handlers/patchstatus.py: Added.
+ * QueueStatusServer/handlers/recentstatus.py: Added.
+ * QueueStatusServer/handlers/showresults.py: Added.
+ * QueueStatusServer/handlers/statusbubble.py: Added.
+ * QueueStatusServer/handlers/updatestatus.py: Added.
+ * QueueStatusServer/main.py: Added.
+ * QueueStatusServer/model.py: Added.
+ * QueueStatusServer/queue_status.py: Removed.
+
+2009-12-18 Adam Barth <abarth@webkit.org>
+
+ Rubber stamped by Eric Seidel.
+
+ Renamed WorkQueue to QueueEngine. WorkQueue is not a queue.
+
+ * Scripts/modules/commands/queues.py:
+ * Scripts/modules/queueengine.py: Added.
+ * Scripts/modules/queueengine_unittest.py: Added.
+ * Scripts/modules/stepsequence.py:
+ * Scripts/modules/workqueue.py: Removed.
+ * Scripts/modules/workqueue_unittest.py: Removed.
+
+2009-12-18 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Add watches for EWS
+ https://bugs.webkit.org/show_bug.cgi?id=32767
+
+ dglazkov wanted to be added.
+
+ * Scripts/modules/bugzilla.py:
+ * Scripts/modules/commands/early_warning_system.py:
+ * Scripts/modules/commands/queues.py:
+
+2009-12-18 Eric Seidel <eric@webkit.org>
+
+ Reviewed by David Levin.
+
+ move bugzilla.py off of urllib2
+ https://bugs.webkit.org/show_bug.cgi?id=32729
+
+ * Scripts/modules/bugzilla.py: use mechanize for all url fetching.
+
+2009-12-18 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Rubber-stamped by Xan Lopez.
+
+ [GTK] New events (pageshow and pagehide) tests failing
+ https://bugs.webkit.org/show_bug.cgi?id=28823
+
+ Original patch by Jan Michael Alonzo.
+
+ Disable page cache for tests.
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (resetDefaultsToConsistentValues):
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (copyWebSettingKey):
+ (LayoutTestController::overridePreference):
+
+2009-12-18 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by David Levin.
+
+ Check one space before end of line comments.
+ https://bugs.webkit.org/show_bug.cgi?id=32597
+
+ Fix to check one space before end of line comments in whitespace and build/header_guard.
+ Also fix build/header_guard to use WebKit header guard defines.
+
+ * Scripts/modules/cpp_style.py:
+ * Scripts/modules/cpp_style_unittest.py:
+
+2009-12-17 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Add BUILDING_ON_SNOW_LEOPARD #define.
+
+ * DumpRenderTree/mac/DumpRenderTreeMac.h:
+
+2009-12-17 Yuzo Fujishima <yuzo@google.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Update pywebsocket to 0.4.5 and make handshake checking stricter
+ https://bugs.webkit.org/show_bug.cgi?id=32249
+
+ * Scripts/run-webkit-tests:
+ * pywebsocket/mod_pywebsocket/handshake.py:
+ * pywebsocket/mod_pywebsocket/memorizingfile.py: Added.
+ * pywebsocket/mod_pywebsocket/standalone.py:
+ * pywebsocket/setup.py:
+ * pywebsocket/test/test_handshake.py:
+ * pywebsocket/test/test_memorizingfile.py: Added.
+
+2009-12-17 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Command.show_in_main_help should default to False
+ https://bugs.webkit.org/show_bug.cgi?id=32686
+
+ * Scripts/modules/commands/download.py:
+ * Scripts/modules/commands/queries.py:
+ * Scripts/modules/commands/queues.py:
+ * Scripts/modules/commands/upload.py:
+ * Scripts/modules/multicommandtool.py:
+
+2009-12-17 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Eric Seidel.
+
+ Added the key WebKitEnableCaretBrowsing to the
+ layoutTestController.overridePreference in order to activate caret
+ browsing.
+ https://bugs.webkit.org/show_bug.cgi?id=32612
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp: Added the reset value of
+ the setting.
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: Inserted the new
+ key in the keytable.
+
+2009-12-17 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by David Kilzer.
+
+ AX: DRT needs to support URL for accessibility
+ https://bugs.webkit.org/show_bug.cgi?id=32666
+
+ * DumpRenderTree/AccessibilityUIElement.cpp:
+ (getURLCallback):
+ (AccessibilityUIElement::getJSClass):
+ * DumpRenderTree/AccessibilityUIElement.h:
+ * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
+ (AccessibilityUIElement::url):
+ * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+ (AccessibilityUIElement::url):
+ * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
+ (AccessibilityUIElement::url):
+
+2009-12-17 Philippe Normand <pnormand@igalia.com>
+
+ Unreviewed; added myself to committers
+
+ * Scripts/modules/committers.py:
+
+2009-12-17 Benjamin Otte <otte@gnome.org>
+
+ Unreviewed; added myself to committers
+
+ * Scripts/modules/committers.py:
+
+2009-12-17 Adam Barth <abarth@webkit.org>
+
+ Rubber stamp by Seidel.
+
+ Clean up exception handling in WorkQueue. Basically, a bunch of the
+ delegate messages can throw exceptions because of network errors. We
+ want the queues to keep on ticking instead of erroring out. That means
+ we want to catch generic exceptions and continue looping.
+
+ Also, cleaned up the exception handling in the EWS to properly log
+ failures.
+
+ * Scripts/modules/commands/early_warning_system.py:
+ * Scripts/modules/commands/queues.py:
+ * Scripts/modules/workqueue.py:
+
+2009-12-16 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] Make UpdateStep quiet
+ https://bugs.webkit.org/show_bug.cgi?id=32599
+
+ * Scripts/modules/buildsteps.py:
+ * Scripts/modules/buildsteps_unittest.py:
+
+2009-12-16 Evan Martin <evan@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Add Gtk to the early warning system WebKit port list.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32629
+
+ * Scripts/modules/commands/early_warning_system.py:
+ * Scripts/modules/webkitport.py:
+ * Scripts/modules/webkitport_unittest.py:
+
+2009-12-16 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ post-diff is failing with exception under guess_reviewer_from_bug
+ https://bugs.webkit.org/show_bug.cgi?id=32642
+
+ Also refactor output capturing code into
+ OutputCapture.assert_outputs to share more code between tests.
+
+ * Scripts/modules/buildsteps.py:
+ - Add the missing include.
+ - Give guess_reviewer_from_bug a private underscore.
+ * Scripts/modules/buildsteps_unittest.py: Added.
+ - Test to make sure _guess_reviewer_from_bug works as expected.
+ * Scripts/modules/commands/commandtest.py:
+ - Custom code is now obsoleted by OutputCapture.assert_outputs
+ * Scripts/modules/commands/queues_unittest.py:
+ - ditto
+ * Scripts/modules/credentials_unittest.py:
+ - ditto
+ * Scripts/modules/mock_bugzillatool.py:
+ - fetch_reviewed_patches_from_bug can never return None
+ * Scripts/modules/multicommandtool_unittest.py:
+ - Custom code is now obsoleted by OutputCapture.assert_outputs
+ * Scripts/modules/outputcapture.py:
+ - Add assert_outputs to share more code between tests.
+ * Scripts/run-webkit-unittests:
+ - Add buildsteps_unittest.py
+
+2009-12-16 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Added a default argument to _update_status so that callers
+ don't have to explictly pass None when they don't have a patch object.
+
+ * Scripts/modules/commands/queues.py:
+
+2009-12-16 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by David Levin.
+
+ check-webkit-style supports for TAB check against text files.
+ https://bugs.webkit.org/show_bug.cgi?id=32538
+
+ * Scripts/check-webkit-style:
+ Move process_patch() to style.py.
+ * Scripts/modules/cpp_style.py:
+ Add can_handle().
+ * Scripts/modules/cpp_style_unittest.py:
+ Add tests for can_handle().
+ * Scripts/modules/style.py:
+ Added. This is a front-end of cpp_style and text_style. It dispatches
+ files to an appropriate linter.
+ * Scripts/modules/text_style.py:
+ Added. This is a linter module for generic text files. It supports
+ only for TAB checking at this moment.
+ * Scripts/modules/text_style_unittest.py:
+ Added. Tests for text_style.py.
+ * Scripts/run-webkit-unittests:
+ Add text_style_unittest.
+
+2009-12-16 Eric Seidel <eric@webkit.org>
+
+ Reviewed by David Levin.
+
+ bugzilla-tool should not require users to install mechanize
+ https://bugs.webkit.org/show_bug.cgi?id=32635
+
+ Centralize our import logic.
+
+ * Scripts/modules/bugzilla.py: use webkit_mechanize
+ * Scripts/modules/statusbot.py: use webkit_mechanize
+ * Scripts/modules/webkit_mechanize.py: Added.
+
+2009-12-16 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Generalize commit-queue recent status page for all queues
+ https://bugs.webkit.org/show_bug.cgi?id=32633
+
+ * QueueStatusServer/index.html:
+ - Generalize to support other queues.
+ * QueueStatusServer/queue_status.py:
+ - Generalize MainPage to support other queues.
+
+2009-12-16 Evan Martin <evan@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Early warning system server should display output as UTF-8.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32625
+
+ * QueueStatusServer/queue_status.py:
+
+2009-12-16 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] Add error handling to the early warning system
+ https://bugs.webkit.org/show_bug.cgi?id=32594
+
+ This should be the last step in making the EWS operational. When we
+ have a build error, we post the log to QueueStatusServer and add a link
+ to the bug.
+
+ * Scripts/modules/commands/early_warning_system.py:
+ * Scripts/modules/commands/queues.py:
+ * Scripts/modules/executive.py:
+
+2009-12-16 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Holger Freyther.
+
+ Fix crash with tests that use custom font faces.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32600
+
+ In the DRT we call QApplication::removeAllApplicationFonts(), to make sure
+ that custom font faces between tests don't influence each other. Calling this
+ function in Qt however also invalidates all existing handles with QFontDatabase.
+
+ In order to make sure that WebCore also drops these handles we call QWebSettings::clearMemoryCaches(),
+ which implies a call to WebCore::FontCache::fontCache()->invalidate().
+
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::DumpRenderTree::open):
+
+2009-12-16 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Maintain button state between mouse events.
+
+ This allows eventSender to generate drag events.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32601
+
+ * DumpRenderTree/qt/EventSenderQt.cpp:
+ (EventSender::mouseDown):
+ (EventSender::mouseUp):
+ (EventSender::mouseMoveTo):
+ * DumpRenderTree/qt/EventSenderQt.h:
+
+2009-12-15 Chris Jerdonek <chris.jerdonek@gmail.com>
+
+ Reviewed by David Levin.
+
+ Code clean-up in check-webkit-style as described below.
+ The only functional changes are minor improvements to the
+ script's help output.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32487
+
+ * Scripts/check-webkit-style:
+ - Added the module docstring from cpp_style.py.
+ - Improved wording of the --help output and added some of the
+ default values as substitution strings.
+ - Called cpp_style.exit_with_usage instead of sys.stderr.write
+ in main function.
+ - Made changes caused by changes to cpp_style.py.
+
+ * Scripts/modules/cpp_style.py:
+ - Removed module docstring, as well as redundant _USAGE string
+ and main() function obsoleted by check-webkit-style.
+ - Moved specification of default script values from within a
+ function definition to global variables.
+ - Moved the default webkit filter rules to be near the other
+ global variables.
+ - Renamed "FILTER" global variables to "FILTER_RULES" to
+ establish unambiguous terminology.
+ - Renamed _ERROR_CATEGORIES to _STYLE_CATEGORIES.
+ - Changed _STYLE_CATEGORIES from a string to a list.
+ - Added default webkit filter rules to --filter= output.
+ - Renamed "print_" methods to "exit_with_" since they exist
+ and added a temporary display_help parameter.
+ - Added a temporary display_help parameter to parse_arguments.
+
+ * Scripts/modules/cpp_style_unittest.py:
+ - Made changes caused by changes to cpp_style.py.
+ - Lower-cased ErrorCollector's ERROR_CATEGORIES instance
+ variables since they are not global.
+
+2009-12-15 Adam Barth <abarth@webkit.org>
+
+ Unreviewed fix for the style-queue.
+ Typo: _updates_status -> _update_status
+
+ We need to improve our testing infrastructure for the queues.
+
+ * Scripts/modules/commands/queues.py:
+
+2009-12-15 Adam Barth <abarth@webkit.org>
+
+ Unreviewed fix for the style-queue. I suspect this is a recent
+ regression from Eric's change below.
+
+ * Scripts/modules/commands/queues.py:
+
+2009-12-15 Yaar Schnitman <yaar@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ update-webkit-chromium to auto-install gclient
+
+ https://bugs.webkit.org/show_bug.cgi?id=32587
+
+ * Scripts/update-webkit-chromium:
+
+2009-12-15 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ bugzilla-tool / commit-queue should add results links to bugs when more results are available on the status bot
+ https://bugs.webkit.org/show_bug.cgi?id=32546
+
+ You can see an example of this working in:
+ https://bugs.webkit.org/show_bug.cgi?id=32585#c3
+
+ * QueueStatusServer/queue_status.py:
+ - Output the id of the newly created status.
+ * Scripts/modules/commands/queues.py:
+ - Tweak the commit-queue logging to include a full status link.
+ * Scripts/modules/statusbot.py:
+ - update_status should return the newly created status id.
+
+2009-12-15 Andras Becsi <abecsi@inf.u-szeged.hu>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Rename Qt DRT components to match other ports' naming convention and to be more understandable.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp: Removed.
+ * DumpRenderTree/qt/DumpRenderTree.h: Removed.
+ * DumpRenderTree/qt/DumpRenderTree.pro: Updated.
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp: Copied from WebKitTools/DumpRenderTree/qt/DumpRenderTree.cpp.
+ * DumpRenderTree/qt/DumpRenderTreeQt.h: Copied from WebKitTools/DumpRenderTree/qt/DumpRenderTree.h.
+ * DumpRenderTree/qt/GCControllerQt.cpp: Copied from WebKitTools/DumpRenderTree/qt/jsobjects.cpp.
+ (GCController::GCController):
+ * DumpRenderTree/qt/GCControllerQt.h: Copied from WebKitTools/DumpRenderTree/qt/jsobjects.h.
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ * DumpRenderTree/qt/WorkQueueItem.h: Removed.
+ * DumpRenderTree/qt/WorkQueueItemQt.cpp: Updated includes.
+ * DumpRenderTree/qt/WorkQueueItemQt.h: Copied from WebKitTools/DumpRenderTree/qt/WorkQueueItem.h.
+ * DumpRenderTree/qt/jsobjects.cpp: Removed.
+ * DumpRenderTree/qt/jsobjects.h: Removed.
+ * DumpRenderTree/qt/main.cpp: Updated includes.
+
+2009-12-15 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ We have two mark-fixed commands
+ https://bugs.webkit.org/show_bug.cgi?id=32073
+
+ * Scripts/mark-bug-fixed: Removed.
+ * Scripts/modules/commands/upload.py:
+ * Scripts/modules/commands/upload_unittest.py:
+
+2009-12-15 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ bugzilla-tool/commit-queue needs to upload failure logs when patches are rejected
+ https://bugs.webkit.org/show_bug.cgi?id=28286
+
+ * QueueStatusServer/index.html:
+ - Show [results] links if a results log was uploaded.
+ * QueueStatusServer/queue_status.py:
+ - Empty file uploads appear as u"" and Blob does not handle unicode, so convert to str().
+ * Scripts/modules/commands/queues.py:
+ - Post to the status bot when a patch fails and include the failure log as a results file.
+
+2009-12-15 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ queue sub-commands need --status-host so they can report status
+ https://bugs.webkit.org/show_bug.cgi?id=32313
+
+ Make --status-bot a global option and make
+ run_bugzilla_tool pass --status-bot to sub-commands.
+
+ * Scripts/bugzilla-tool:
+ - Rename _status to status_bot and make it non-lazy.
+ * Scripts/modules/commands/queues.py:
+ - Move status updates out of WorkQueue and into individual queues.
+ * Scripts/modules/commands/queues_unittest.py:
+ - Test that --status-host is passed to bugzilla-tool when run as subcommand.
+ * Scripts/modules/mock_bugzillatool.py:
+ - Add a MockStatusBot
+ * Scripts/modules/workqueue.py:
+ - Remove status_host and work_work_logs_directory callbacks.
+ - Add new work_item_log_path callback so that WorkQueue doesn't need to know about patches!
+ * Scripts/modules/workqueue_unittest.py:
+ - Update unit tests to reflect new callbacks.
+
+2009-12-15 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ scm_unittest.py is too slow
+ https://bugs.webkit.org/show_bug.cgi?id=31818
+
+ Now we don't run the SCM unit tests unless we get the --all flag on the
+ command line. Eric and I were commenting out this test because it was
+ too painful to run.
+
+ * Scripts/run-webkit-unittests:
+
+2009-12-14 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Fix failing unittest.
+
+ * Scripts/modules/bugzilla_unittest.py:
+
+2009-12-14 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Move Credential handling out into a separate module
+ https://bugs.webkit.org/show_bug.cgi?id=32531
+
+ * Scripts/modules/bugzilla.py:
+ * Scripts/modules/credentials.py: Added.
+ * Scripts/modules/credentials_unittest.py: Added.
+ * Scripts/run-webkit-unittests:
+
+2009-12-14 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Kill _create_step_sequence
+ https://bugs.webkit.org/show_bug.cgi?id=32539
+
+ It's cleaner to represent not having these sequences as an empty
+ sequence instead of None.
+
+ * Scripts/modules/commands/download.py:
+ * Scripts/modules/stepsequence.py:
+
+2009-12-14 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Address reviewer comments from an earlier patch. I didn't
+ do this earlier because I was worried about conflicts in dependent
+ patches.
+
+ * Scripts/modules/commands/download.py:
+
+2009-12-14 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] Make download commands declarative
+ https://bugs.webkit.org/show_bug.cgi?id=32469
+
+ This patch "properly" factors most of the download commands. These
+ commands are now largely declarative, which is the final step of this
+ grand refactoring.
+
+ * Scripts/modules/buildsteps.py:
+ * Scripts/modules/commands/download.py:
+
+2009-12-14 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] Add AbstractPatchSequencingCommand to remove redundant code
+ https://bugs.webkit.org/show_bug.cgi?id=32468
+
+ Redundant code is bad. This patch moves us towards more declarative
+ commands.
+
+ * Scripts/modules/commands/download.py:
+
+2009-12-14 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] Kill WebKitApplyingScripts
+ https://bugs.webkit.org/show_bug.cgi?id=32467
+
+ Ah! I've been wanting to do this for a long time. This patch brings
+ the applying commands into the patch processing fold.
+
+ * Scripts/bugzilla-tool:
+ * Scripts/modules/buildsteps.py:
+ * Scripts/modules/commands/download.py:
+ * Scripts/modules/commands/download_unittest.py:
+ * Scripts/modules/mock_bugzillatool.py:
+
+2009-12-14 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] Convert rollout to StepSequence
+ https://bugs.webkit.org/show_bug.cgi?id=32406
+
+ * Scripts/modules/buildsteps.py:
+ * Scripts/modules/commands/download.py:
+ * Scripts/modules/commands/download_unittest.py:
+ * Scripts/modules/mock_bugzillatool.py:
+
+2009-12-14 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] Kill LandingSequence
+ https://bugs.webkit.org/show_bug.cgi?id=32464
+
+ Removes LandingSequence in favor of StepSequence. This required
+ changing the Step API slightly to carry a general notion of state
+ instead of carrying patches specifically.
+
+ * Scripts/modules/buildsteps.py:
+ * Scripts/modules/commands/download.py:
+ * Scripts/modules/commands/queues.py:
+ * Scripts/modules/landingsequence.py: Removed.
+ * Scripts/modules/stepsequence.py:
+
+2009-12-14 Robert Hogan <robert@roberthogan.net>
+
+ Reviewed by Eric Seidel.
+
+ [Qt] Fix https://bugs.webkit.org/show_bug.cgi?id=32437
+
+ Amend the behaviour of DRT::notifyDone to dump only when
+ the page has finished loading.
+
+ This fix permits removal of the following tests from the Qt skipped list:
+ fast/forms/textarea-linewrap-dynamic.html
+ fast/forms/textarea-setvalue-submit.html
+ fast/forms/textarea-hard-linewrap-empty.html
+ fast/forms/submit-to-url-fragment.html
+ http/tests/misc/percent-sign-in-form-field-name.html
+ http/tests/security/escape-form-data-field-names.html
+
+ However it also requires the following two to be added to the skipped list:
+
+ http/tests/xmlhttprequest/access-control-basic-denied-preflight-cache.html
+ svg/custom/use-instanceRoot-as-event-target.xhtml
+
+ It appears the behaviour of notifyDone was masking problems with these two
+ tests.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::DumpRenderTree::DumpRenderTree):
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::reset):
+ (LayoutTestController::processWork):
+ (LayoutTestController::maybeDump):
+ (LayoutTestController::notifyDone):
+ (LayoutTestController::provisionalLoad):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+ (LayoutTestController::resetLoadFinished):
+
+2009-12-14 Simon Hausmann <hausmann@webkit.org>
+
+ Reviewed by Holger Freyther.
+
+ [Qt] Add support for keyboard modifiers to Qt DRT's EventSender for touch events
+
+ https://bugs.webkit.org/show_bug.cgi?id=32482
+
+ * DumpRenderTree/qt/EventSenderQt.cpp:
+ (EventSender::setTouchModifier):
+ (EventSender::clearTouchPoints):
+ (EventSender::sendTouchEvent):
+ * DumpRenderTree/qt/EventSenderQt.h:
+
+2009-12-13 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Gavin Barraclaugh.
+
+ Fix minor problem in sunspider-compare-results which left it broken.
+
+ * Scripts/sunspider-compare-results: Declare $parseonly
+
+2009-12-12 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Give command-line sunspider the ability to handle multiple suites and versions
+ https://bugs.webkit.org/show_bug.cgi?id=32477
+
+ * Scripts/run-sunspider: Updated for changes to command-line parameters.
+ * Scripts/sunspider-compare-results: ditto
+
+2009-12-12 Maciej Stachowiak <mjs@apple.com>
+
+ Not reviewed, fixing previous comment.
+
+ Remove accidental change to sunspider-compare-results
+
+ * Scripts/sunspider-compare-results:
+
+2009-12-11 Yael Aharon <yael.aharon@nokia.com>
+
+ Unreviewed build fix for Qt versions < 4.6.
+ Guard every slot individually with #ifdef.
+
+ * DumpRenderTree/qt/EventSenderQt.cpp:
+ (EventSender::addTouchPoint):
+ (EventSender::updateTouchPoint):
+ (EventSender::touchStart):
+ (EventSender::touchMove):
+ (EventSender::touchEnd):
+ (EventSender::clearTouchPoints):
+ (EventSender::releaseTouchPoint):
+ (EventSender::sendTouchEvent):
+ * DumpRenderTree/qt/EventSenderQt.h:
+
+2009-12-11 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ CommandsTest.assert_execute_outputs doesn't check stderr
+ https://bugs.webkit.org/show_bug.cgi?id=32352
+
+ Fix assert_execute_outputs to check stderr
+ and then fix all the unit tests which needed to
+ pass stderr output.
+
+ * Scripts/modules/commands/commandtest.py:
+ * Scripts/modules/commands/download_unittest.py:
+ * Scripts/modules/commands/upload_unittest.py:
+
+2009-12-11 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [check-webkit-style] False positive for tst_QWebFrame
+ https://bugs.webkit.org/show_bug.cgi?id=32436
+
+ Add an exception for function names that start with "tst_". These are
+ used by the Qt unit testing framework.
+
+ * Scripts/modules/cpp_style.py:
+ * Scripts/modules/cpp_style_unittest.py:
+
+2009-12-11 Simon Hausmann <hausmann@webkit.org>, Kim Grönholm <kim.gronholm@nomovok.com>
+
+ Reviewed by Antti Koivisto.
+
+ Added support for creating synthetic touch events with EventSender
+ in Qt's DumpRenderTree.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32114
+
+ * DumpRenderTree/qt/EventSenderQt.cpp:
+ (EventSender::addTouchPoint):
+ (EventSender::updateTouchPoint):
+ (EventSender::touchStart):
+ (EventSender::touchMove):
+ (EventSender::touchEnd):
+ (EventSender::clearTouchPoints):
+ (EventSender::releaseTouchPoint):
+ (EventSender::sendTouchEvent):
+ * DumpRenderTree/qt/EventSenderQt.h:
+
+2009-12-11 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ The values of RuntimeArray are not enumerable
+ https://bugs.webkit.org/show_bug.cgi?id=29005
+
+ * DumpRenderTree/mac/ObjCController.m:
+ (+[ObjCController isSelectorExcludedFromWebScript:]):
+ (+[ObjCController webScriptNameForSelector:]):
+ (-[ObjCController arrayOfString]):
+
+2009-12-10 Eric Seidel <eric@webkit.org>
+
+ No review, just updating unit tests to match recent checkins.
+
+ * Scripts/modules/mock_bugzillatool.py:
+ - Add missing red_core_builders_names method causing exception.
+ * Scripts/modules/workqueue_unittest.py:
+ - processutils is dead, use executive.py instead.
+
+2009-12-10 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Move run_command onto Executive to make code which uses run_command testable
+ https://bugs.webkit.org/show_bug.cgi?id=32396
+
+ * Scripts/modules/executive.py:
+ - Move run_command and error handlers onto Executive.
+ * Scripts/modules/scm.py:
+ * Scripts/modules/scm_unittest.py:
+
+2009-12-09 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ bugzilla-tool needs a command to list patches needing cq+
+ https://bugs.webkit.org/show_bug.cgi?id=32351
+
+ * Scripts/modules/bugzilla.py:
+ - Parse attacher_email from attachment xml.
+ * Scripts/modules/bugzilla_unittest.py:
+ - Test new attacher_email parsing.
+ * Scripts/modules/commands/queries.py:
+ - Add PatchesToCommitQueue
+ * Scripts/modules/commands/queries_unittest.py:
+ - Tests for PatchesToCommitQueue
+ * Scripts/modules/mock_bugzillatool.py:
+ - Add necessary mock methods for running PatchesToCommitQueue
+
+2009-12-10 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Turns out every StepSequence command needs a --quiet
+ option.
+
+ * Scripts/modules/stepsequence.py:
+
+2009-12-10 Eric Z. Ayers <zundel@google.com>
+
+ Reviewed by Pavel Feldman.
+
+ Implements displayWebView() to force an invalidation and repaint.
+ This fixes a problem running the timeline-paint.html unit test.
+
+ https://bugs.webkit.org/show_bug.cgi?id=31729
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (displayWebView):
+
+2009-12-10 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] Convert more commands to StepSequences
+ https://bugs.webkit.org/show_bug.cgi?id=32362
+
+ We should eventually convert all the commands, but I'm starting with
+ the easy ones.
+
+ * Scripts/modules/commands/download.py:
+
+2009-12-10 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Jan Alonzo.
+
+ [GTK] editing/selection/shrink-selection-after-shift-pagedown.html failing
+ https://bugs.webkit.org/show_bug.cgi?id=31103
+
+ Give focus to the webviews when we create them, since some tests expect this.
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (main):
+
+2009-12-10 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ bugzilla-tool "builders are red" error should tell you which builders
+ https://bugs.webkit.org/show_bug.cgi?id=32211
+
+ * Scripts/modules/buildsteps.py:
+
+2009-12-09 Marwan Al Jubeh <marwan.aljubeh@gmail.com>
+
+ Reviewed by Adam Roben.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=31228
+ Set the WebKitOutputDir, WebKitLibrariesDir and Cygwin environment variables automatically
+ in Windows as part of running update_webkit.
+
+ * Scripts/update-webkit:
+ - Run setupAppleWinEnv() on Apple's Windows port.
+ * Scripts/webkitdirs.pm:
+ - Added functions that return the source directory, libraries directory and default build directory on Windows.
+ - Added isWindowsNT() which tests if the current Windows version is from the Windows NT family.
+ - Implemented setupAppleWinEnv() which sets the environment variables WebKitOutputDir, WebKitLibrariesDir
+ and Cygwin to their desired values.
+
+2009-12-09 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ exception thrown when running apply-patches
+ https://bugs.webkit.org/show_bug.cgi?id=32344
+
+ The update step now takes a port option. Once we finish the Steps
+ refactoring, we won't have to worry about this kind of bug again.
+
+ * Scripts/modules/commands/download.py:
+
+2009-12-09 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Fix ScriptError includes. I don't understand why these
+ didn't throw during unit testing...
+
+ * Scripts/modules/commands/download.py:
+ * Scripts/modules/logging_unittest.py:
+ * Scripts/modules/workqueue.py:
+
+2009-12-09 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] Remove unused PatchCollection class
+ https://bugs.webkit.org/show_bug.cgi?id=32312
+
+ It's dead code.
+
+ * Scripts/modules/patchcollection.py:
+ * Scripts/modules/patchcollection_unittest.py: Removed.
+
+2009-12-09 Adam Barth <abarth@webkit.org>
+
+ Unreviewed "build" fix. CheckStyle needs a --no-upate option.
+
+ * Scripts/modules/commands/download.py:
+
+2009-12-09 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] Convert Build to use Sequence
+ https://bugs.webkit.org/show_bug.cgi?id=32310
+
+ So much prettier.
+
+ * Scripts/modules/buildsteps.py:
+ * Scripts/modules/commands/download.py:
+ * Scripts/modules/landingsequence.py:
+ * Scripts/modules/stepsequence.py: Added.
+
+2009-12-09 Adam Barth <abarth@webkit.org>
+
+ Add missing file.
+
+ * Scripts/modules/executive.py: Added.
+
+2009-12-09 Adam Barth <abarth@webkit.org>
+
+ Unreviewed "build" fix.
+
+ * Scripts/modules/landingsequence.py:
+
+2009-12-09 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] Implement abstract Steps
+ https://bugs.webkit.org/show_bug.cgi?id=32212
+
+ This is a fairly disruptive change that refactors how we build
+ commands. Instead of using a landing sequence, we can now assemble a
+ sequence of steps directly. We still use the landing sequence in the
+ interim, but this will be removed soon.
+
+ * Scripts/bugzilla-tool:
+ * Scripts/modules/buildsteps.py:
+ * Scripts/modules/commands/download.py:
+ * Scripts/modules/commands/early_warning_system.py:
+ * Scripts/modules/commands/queues.py:
+ * Scripts/modules/commands/queues_unittest.py:
+ * Scripts/modules/landingsequence.py:
+ * Scripts/modules/mock_bugzillatool.py:
+ * Scripts/modules/processutils.py: Removed.
+ * Scripts/modules/scm.py:
+ * Scripts/modules/scm_unittest.py:
+ * Scripts/modules/webkitport.py:
+
+2009-12-08 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ run_command and ScriptError should move into processutils.py
+ https://bugs.webkit.org/show_bug.cgi?id=32305
+
+ Turns out there are a zillion callers to run_command.
+
+ * Scripts/modules/commands/download.py:
+ * Scripts/modules/commands/early_warning_system.py:
+ * Scripts/modules/commands/queues.py:
+ * Scripts/modules/landingsequence.py:
+ * Scripts/modules/logging_unittest.py:
+ * Scripts/modules/processutils.py:
+ * Scripts/modules/scm.py:
+ * Scripts/modules/scm_unittest.py:
+ * Scripts/modules/workqueue.py:
+ * Scripts/modules/workqueue_unittest.py:
+
+2009-12-08 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ [wx] Mac plugins support.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32236
+
+ * wx/browser/wscript:
+
+2009-12-08 David Levin <levin@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ [check-webkit-style] False positive for DEFINE_OPCODE(op_jtrue) {
+ https://bugs.webkit.org/show_bug.cgi?id=32193
+
+ * Scripts/modules/cpp_style.py: For the function { rule, if there is space
+ at the beginning of line, ignore lines which then have a macro.
+ * Scripts/modules/cpp_style_unittest.py: Add tests to verify the
+ new behavior.
+
+2009-12-08 Dmitry Titov <dimich@chromium.org>
+
+ Rubber-stamped by David Levin.
+
+ Revert and reopen "Add asserts to RefCounted to make sure ref/deref happens on the right thread."
+ It may have caused massive increase of reported leaks on the bots.
+ https://bugs.webkit.org/show_bug.cgi?id=31639
+
+ * DumpRenderTree/ForwardingHeaders/wtf/ThreadVerifier.h: Removed.
+
+2009-12-08 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Add asserts to RefCounted to make sure ref/deref happens on the right thread.
+ https://bugs.webkit.org/show_bug.cgi?id=31639
+
+ * DumpRenderTree/ForwardingHeaders/wtf/ThreadVerifier.h: Added.
+
+2009-12-08 David Levin <levin@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ [check-webkit-style] False positive for camel case of JSC op codes
+ https://bugs.webkit.org/show_bug.cgi?id=32192
+
+ * Scripts/modules/cpp_style.py: Added an exception for the JSC op
+ code functions and const_iterator as well since I noticed a false
+ positive there when testing the fix.
+ * Scripts/modules/cpp_style_unittest.py: Added tests for these
+ changes.
+
+2009-12-08 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Rubber-stamped by Maciej Stachowiak.
+
+ Turn on (SVG) Filters for Win.
+ https://bugs.webkit.org/show_bug.cgi?id=32224
+
+ * Scripts/webkitdirs.pm:
+
+2009-12-08 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Rubber-stamped by Maciej Stachowiak.
+
+ Turn on (SVG) Filters for Gtk.
+ https://bugs.webkit.org/show_bug.cgi?id=32224
+
+ * Scripts/build-webkit:
+
+2009-12-07 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by David Levin.
+
+ [check-webkit-style] S_OK is a fine identifier
+ https://bugs.webkit.org/show_bug.cgi?id=32225
+
+ * Scripts/modules/cpp_style.py:
+ * Scripts/modules/cpp_style_unittest.py:
+
+2009-12-07 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Rubber-stamped by Maciej Stachowiak.
+
+ Turn on (SVG) Filters for Qt.
+ https://bugs.webkit.org/show_bug.cgi?id=32224
+
+ * Scripts/build-webkit:
+
+2009-12-07 Yuzo Fujishima <yuzo@google.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Make run-webkit-websocketserver log to stderr rather than to a file.
+ https://bugs.webkit.org/show_bug.cgi?id=32234
+
+ * Scripts/run-webkit-websocketserver:
+
+2009-12-07 Dmitry Titov <dimich@chromium.org>
+
+ Rubber-stamped by Darin Adler.
+
+ Remove ENABLE_SHARED_SCRIPT flags
+ https://bugs.webkit.org/show_bug.cgi?id=32245
+ This patch was obtained by "git revert" command and then un-reverting of ChangeLog files.
+
+ * Scripts/build-webkit:
+
+2009-12-07 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/7450481> One compositing test keeps DRT in "compositing mode", breaks repaint tests
+
+ The counter that WebView used to keep track of the number of enclosed WebHTMLViews using
+ accelerated compositing was hard to manage, and maintained incorrectly in a number of cases.
+ This caused one compositing test make DumpRenderTree think that all subsequent tests
+ were compositing too.
+
+ Replace this counter with notifications, which are only fired if a client (DRT) requests them. The
+ notification informs the client that a WebHTMLView entered compositing mode (or an already-
+ compositing WebHTML was added); it does not say when a view becomes uncomposited, or all
+ compositing subviews were removed, since this is tricky to get right.
+
+ DumpRenderTreeWindow listens for this notification, and uses it to turn on window
+ autodisplay, which is necessary to kick-start Core Animation rendering and animations.
+ We ensure that window autodisplay is turned off before every test.
+
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (createWebViewAndOffscreenWindow):
+ (resetWebViewToConsistentStateBeforeTesting):
+ * DumpRenderTree/mac/DumpRenderTreeWindow.h:
+ * DumpRenderTree/mac/DumpRenderTreeWindow.mm:
+ (-[DumpRenderTreeWindow close]):
+ (-[DumpRenderTreeWindow startListeningForAcceleratedCompositingChanges]):
+ (-[DumpRenderTreeWindow webViewStartedAcceleratedCompositing:]):
+
+2009-12-07 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Reviewed by Holger Hans Peter Freyther.
+
+ Turn on (SVG) Filters support, by default.
+ https://bugs.webkit.org/show_bug.cgi?id=32224
+
+ For now only enable FILTERS build flag on WebKit/mac. Other platforms will follow soon.
+
+ * Scripts/build-webkit:
+
+2009-12-07 Yaar Schnitman <yaar@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Chromium buildbots are not red when they fail
+ https://bugs.webkit.org/show_bug.cgi?id=32235
+
+ * Scripts/build-webkit:
+
+2009-12-07 Yaar Schnitman <yaar@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Typo in chromium linux builder
+ https://bugs.webkit.org/show_bug.cgi?id=32238
+
+ * Scripts/webkitdirs.pm:
+
+2009-12-07 Yaar Schnitman <yaar@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ fixes to build-webkit --chromium
+ https://bugs.webkit.org/show_bug.cgi?id=32179
+
+ * Scripts/webkitdirs.pm:
+
+2009-12-07 Eric Seidel <eric@webkit.org>
+
+ No review, just adding two recently approved committers.
+
+ * Scripts/modules/committers.py:
+
+2009-12-07 Alexey Proskuryakov <ap@apple.com>
+
+ * Scripts/run-webkit-websocketserver: Added property svn:executable.
+
+2009-12-07 Yuzo Fujishima <yuzo@google.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Add run-webkit-websocketserver
+
+ https://bugs.webkit.org/show_bug.cgi?id=31390
+
+ * Scripts/run-webkit-websocketserver: Added.
+
+2009-12-07 Steve Falkenburg <sfalken@apple.com>
+
+ Build fix. Be flexible about which version of ICU is used on Windows.
+
+ * DumpRenderTree/win/DumpRenderTree.vcproj: Add optional xcopy commands to copy ICU 4.2.
+
+2009-12-07 Dirk Schulze <krit@webkit.org>
+
+ Not reviewed, adding myself to the reviewers list.
+
+ * Scripts/modules/committers.py:
+
+2009-12-06 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Add an API for uploading results files to StatusBot
+ https://bugs.webkit.org/show_bug.cgi?id=32210
+
+ Add Content-Type: plain/text which was forgotten
+ from the previous commit when I landed with land-patches
+ instead of land-diff.
+
+ * QueueStatusServer/queue_status.py:
+
+2009-12-06 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Status Server needs a way to handle uploaded results
+ https://bugs.webkit.org/show_bug.cgi?id=32209
+
+ * QueueStatusServer/queue_status.py: Add a ShowResults (results/*) command
+ * QueueStatusServer/update_status.html: Add file upload.
+
+2009-12-06 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Add an API for uploading results files to StatusBot
+ https://bugs.webkit.org/show_bug.cgi?id=32210
+
+ * Scripts/modules/statusbot.py:
+
+2009-12-06 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Status Server needs a way to handle uploaded results
+ https://bugs.webkit.org/show_bug.cgi?id=32209
+
+ * QueueStatusServer/queue_status.py: Add a ShowResults (results/*) command
+ * QueueStatusServer/update_status.html: Add file upload.
+
+2009-12-06 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] BuildAttachment should not check the builders
+ https://bugs.webkit.org/show_bug.cgi?id=32207
+
+ This is code that got copied here by accident when the class was created.
+
+ * Scripts/modules/commands/download.py:
+
+2009-12-06 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] Make LandingSequence.update aware of ports
+ https://bugs.webkit.org/show_bug.cgi?id=32208
+
+ This is required to make build work on the Chromium port because
+ Chromium has a custom update-webkit.
+
+ * Scripts/modules/landingsequence.py:
+
+2009-12-06 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Add early warning system commands to bugzilla-tool.
+
+ * Scripts/bugzilla-tool:
+ * Scripts/modules/landingsequence.py:
+ * Scripts/modules/webkitport.py:
+
+2009-12-06 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] Implement Qt EarlyWarningSystem and Chromium EarlyWarningSystem
+ https://bugs.webkit.org/show_bug.cgi?id=32205
+
+ * Scripts/modules/commands/early_warning_system.py: Added.
+ * Scripts/modules/commands/queues.py:
+
+2009-12-06 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ REGRESSION (r51728): update-webkit fails when the current directory is
+ not inside a Subversion working copy
+ https://bugs.webkit.org/show_bug.cgi?id=32204
+
+ * Scripts/update-webkit: Invoke isSVN() in the correct working
+ directory.
+
+2009-12-06 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] Rename AbstractTryQueue to AbstractReviewQueue
+ https://bugs.webkit.org/show_bug.cgi?id=32202
+
+ * Scripts/modules/commands/queues.py:
+
+2009-12-05 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] Implement ChromiumPort
+ https://bugs.webkit.org/show_bug.cgi?id=32182
+
+ * Scripts/modules/webkitport.py:
+ * Scripts/modules/webkitport_unittest.py:
+
+2009-12-05 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Move update-webkit into BuildSteps
+ https://bugs.webkit.org/show_bug.cgi?id=32181
+
+ We need to move update-webkit out of SCM.py because SCM isn't supposed to know
+ that WebKit exists. The proper place for the knowledge of the existence of
+ update-webkit is in WebKitPort because some ports have specialized update
+ scripts (analogous to build-webkit).
+
+ * Scripts/modules/buildsteps.py:
+ * Scripts/modules/commands/download.py:
+ * Scripts/modules/landingsequence.py:
+ * Scripts/modules/scm.py:
+ * Scripts/modules/webkitport.py:
+
+2009-12-05 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ update-webkit should call git svn rebase and resolve-ChangeLogs -f
+ https://bugs.webkit.org/show_bug.cgi?id=27162
+
+ Teach update-webkit about Git. I didn't add the call to
+ resolve-ChangeLogs -f because sometimes that script goes bananas. We
+ can iterate from here, however.
+
+ * Scripts/update-webkit:
+
+2009-12-04 Yael Aharon <yael.aharon@nokia.com>
+
+ Unreviewed build fix.
+
+ [Qt] build fix after r51634 removed unused QBoxLayout include which included limits.h.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+
+2009-12-04 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Adam Treat.
+
+ Add some missing methods for showing and hiding the
+ Web Inspector.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::WebPage::WebPage):
+ (WebCore::WebPage::~WebPage):
+ (WebCore::WebPage::webInspector):
+ * DumpRenderTree/qt/DumpRenderTree.h:
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::showWebInspector):
+ (LayoutTestController::hideWebInspector):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+
+2009-12-04 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Adam Treat.
+
+ Implement the setAllowUniversalAccessFromFileURLs method
+ for the Qt LayoutTestController.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::WebPage::resetSettings):
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::setAllowUniversalAccessFromFileURLs):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+
+2009-12-04 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION: AX: buttons now extremely repetitive
+ https://bugs.webkit.org/show_bug.cgi?id=32164
+
+ * DumpRenderTree/AccessibilityUIElement.cpp:
+ (isAttributeSupportedCallback):
+ (AccessibilityUIElement::getJSClass):
+ * DumpRenderTree/AccessibilityUIElement.h:
+ * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
+ (AccessibilityUIElement::isAttributeSupported):
+ * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+ (AccessibilityUIElement::isAttributeSupported):
+ * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
+ (AccessibilityUIElement::isAttributeSupported):
+
+2009-12-03 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by David Levin.
+
+ check-webkit-style should check for camelCase variable names
+ https://bugs.webkit.org/show_bug.cgi?id=32051
+
+ * Scripts/modules/cpp_style.py:
+ * Scripts/modules/cpp_style_unittest.py:
+
+2009-12-03 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Eric Seidel.
+
+ AX: VO just says "term" on many web sites
+ https://bugs.webkit.org/show_bug.cgi?id=32139
+
+ * DumpRenderTree/AccessibilityUIElement.cpp:
+ (getRoleDescriptionCallback):
+ (AccessibilityUIElement::getJSClass):
+ * DumpRenderTree/AccessibilityUIElement.h:
+ * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
+ (AccessibilityUIElement::roleDescription):
+ * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+ (AccessibilityUIElement::roleDescription):
+ * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
+ (AccessibilityUIElement::roleDescription):
+
+2009-12-03 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ Implement WAI-ARIA scrollbar role and related property aria-orientation
+ https://bugs.webkit.org/show_bug.cgi?id=32126
+
+ * DumpRenderTree/AccessibilityUIElement.cpp:
+ (getOrientationCallback):
+ (AccessibilityUIElement::getJSClass):
+ * DumpRenderTree/AccessibilityUIElement.h:
+ * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
+ (AccessibilityUIElement::orientation):
+ * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+ (AccessibilityUIElement::orientation):
+ * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
+ (AccessibilityUIElement::orientation):
+
+2009-12-03 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Minor correction to r51663.
+
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (addQTDirToPATH):
+ GetEnvironmentVariable -> GetEnvironmentVariableW.
+
+2009-12-03 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Adam Roben.
+
+ ~96 regression tests fail when using QuickTime 7.6 (they pass with QuickTime 7.3)
+ https://bugs.webkit.org/show_bug.cgi?id=30256
+
+ Add the QuickTime dll directory to the PATH environment variable so
+ inialization can succeed.
+
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (addQTDirToPATH):
+ (initialize):
+
+2009-12-03 Shu Chang <Chang.Shu@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] After revision 32643, sender() is of type QWebPage instead of QWebFrame.
+
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::maybeDump):
+
+2009-12-03 Yuzo Fujishima <yuzo@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Update pywebsocket to 0.4.3
+ This version logs friendlier and higher-level messages in WARN level, which is used for LayoutTests.
+ Stack trace is logged now in INFO level.
+ https://bugs.webkit.org/show_bug.cgi?id=32097
+
+ * pywebsocket/mod_pywebsocket/dispatch.py:
+ * pywebsocket/mod_pywebsocket/msgutil.py:
+ * pywebsocket/mod_pywebsocket/standalone.py:
+ * pywebsocket/mod_pywebsocket/util.py:
+ * pywebsocket/setup.py:
+ * pywebsocket/test/test_dispatch.py:
+ * pywebsocket/test/test_util.py:
+
+2009-12-03 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Fix JSClassRef leak.
+
+ * DumpRenderTree/AccessibilityController.cpp:
+ (AccessibilityController::makeWindowObject):
+ * DumpRenderTree/GCController.cpp:
+ (GCController::makeWindowObject):
+ * DumpRenderTree/LayoutTestController.cpp:
+ (LayoutTestController::makeWindowObject):
+
+2009-12-03 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/7214236> and http://webkit.org/b/32052 - Implement HTML5 state object history API
+
+ Keep DRT-win building...
+
+ * DumpRenderTree/win/FrameLoadDelegate.h:
+ (FrameLoadDelegate::didPushStateWithinPageForFrame):
+ (FrameLoadDelegate::didReplaceStateWithinPageForFrame):
+ (FrameLoadDelegate::didPopStateWithinPageForFrame):
+
+2009-12-03 Andras Becsi <abecsi@inf.u-szeged.hu>
+
+ Unreviewed build fix.
+
+ [Qt] ARM-Linux build fix after r51634 removed unused QBoxLayout include which included limits.h on ARM.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+
+2009-12-03 Andras Becsi <abecsi@inf.u-szeged.hu>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Refactor DRT to not crash on tests which open child windows from javascript.
+ Prevent DRT from showing the main view if these childs get deleted.
+ This fixes https://bugs.webkit.org/show_bug.cgi?id=31591.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::WebPage::WebPage):
+ (WebCore::DumpRenderTree::DumpRenderTree):
+ (WebCore::DumpRenderTree::~DumpRenderTree):
+ (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting):
+ (WebCore::DumpRenderTree::open):
+ (WebCore::DumpRenderTree::closeRemainingWindows):
+ (WebCore::DumpRenderTree::createWindow):
+ (WebCore::DumpRenderTree::windowCount):
+ * DumpRenderTree/qt/DumpRenderTree.h:
+
+2009-12-02 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ REGRESSION(51595): commit-queue is throwing exceptions
+ https://bugs.webkit.org/show_bug.cgi?id=32083
+
+ * Scripts/modules/commands/queues.py:
+ - Don't use default value of [] as it ends up getting shared.
+ - Make log_progress accept arrays of ints as well as strings.
+ - Return an exit code from execute()
+ * Scripts/modules/commands/queues_unittest.py: Added.
+ - Test to make sure log_progress will accept ints.
+ - Test to make sure run_bugzilla_tool will accept ints.
+ * Scripts/modules/workqueue.py:
+ - Print the stack trace on unexpected exceptions for easier debugging.
+ * Scripts/run-webkit-unittests:
+ - Add queues_unittest.
+
+ * Scripts/modules/commands/queues.py:
+ * Scripts/modules/commands/queues_unittest.py: Copied from WebKitTools/Scripts/modules/commands/commandtest.py.
+ * Scripts/modules/mock_bugzillatool.py:
+ * Scripts/modules/workqueue.py:
+ * Scripts/run-webkit-unittests:
+
+2009-12-02 David Levin <levin@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ check-webkit-style is too noisy about namespace indenting issues.
+ https://bugs.webkit.org/show_bug.cgi?id=32096
+
+ * Scripts/modules/cpp_style.py:
+ Added a _FileState object to be able to track file level information. In this
+ case, it simply tracks whether the error has already been given, so that it isn't
+ done again.
+ * Scripts/modules/cpp_style_unittest.py:
+ Modified test cases to pass in the _FileState object and fix a test that expected
+ to see the namespace error twice (now it only occurs once). No new tests because
+ existing tests cover the change in functionality.
+
+2009-12-01 Kevin Ollivier <kevino@theolliviers.com>
+
+ Reviewed by Eric Seidel.
+
+ [wx] Get DumpRenderTree building after waf switch.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32041
+
+ * DumpRenderTree/wscript: Added.
+ * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
+ (LayoutTestController::setTimelineProfilingEnabled):
+ (LayoutTestController::evaluateScriptInIsolatedWorld):
+ (LayoutTestController::disableImageLoading):
+ (LayoutTestController::whiteListAccessFromOrigin):
+ (LayoutTestController::counterValueForElementById):
+ * Scripts/build-webkit:
+
+2009-12-02 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] build-attachment shouldn't check whether the builders are red
+ https://bugs.webkit.org/show_bug.cgi?id=32062
+
+ build-attachment doesn't touch the remote repository, so there isn't a
+ need to hold off when the builders are red.
+
+ * Scripts/modules/commands/download.py:
+ * Scripts/modules/landingsequence.py:
+
+2009-12-02 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ REGRESSION(51590): style-queue and build-queue think their empty when they are not
+ https://bugs.webkit.org/show_bug.cgi?id=32061
+
+ * Scripts/modules/bugzilla.py: make all id lookups return ints instead of strings.
+ * Scripts/modules/bugzilla_unittest.py: Add and update unit tests to use ints.
+
+2009-12-02 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ build-queue is throwing exceptions and complaining about
+ lack of --no-update on build-attachment. Make it stop.
+
+ * Scripts/modules/buildsteps.py:
+ * Scripts/modules/commands/download.py:
+
+2009-12-02 Adam Barth <abarth@webkit.org>
+
+ Unreviewed "build" fix. Forgot to declare my variables. :(
+
+ * QueueStatusServer/queue_status.py:
+
+2009-12-02 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] Implement status bubble view
+ https://bugs.webkit.org/show_bug.cgi?id=32057
+
+ The status bubble is a compact representation of the queue status for a
+ given patch. This will eventually help us reduce the comment spam from
+ the queues.
+
+ * QueueStatusServer/index.html: Added HTML5 doctype for sanity.
+ * QueueStatusServer/queue_status.py:
+ * QueueStatusServer/status_bubble.html: Added.
+
+2009-12-02 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ trim commands/*.py includes now that commands are unit tested
+ https://bugs.webkit.org/show_bug.cgi?id=32056
+
+ In the course of ensuring that the unit tests still
+ passed after this change, I had to actually make them
+ pass in the first place.
+
+ * Scripts/modules/bugzilla.py:
+ - Fix _parse_attachment_ids_request_query to return ints instead of strings.
+ * Scripts/modules/commands/download.py: Remove unneeded imports.
+ * Scripts/modules/commands/queries.py: Ditto.
+ * Scripts/modules/commands/queues.py: Ditto.
+ * Scripts/modules/commands/upload.py: Ditto.
+ * Scripts/modules/scm_unittest.py:
+ - Fix to expect the \n after the path since echo adds an \n.
+
+2009-12-01 Yaar Schnitman <yaar@chromium.org>
+
+ build-webkit: Remove flex,bison,gperf check for chromium
+ https://bugs.webkit.org/show_bug.cgi?id=32043
+
+ * Scripts/webkitdirs.pm:
+
+2009-12-01 Chris Fleizach <cfleizach@apple.com>
+
+ Build fixage for Windows/GTK for DumpRenderTree.
+
+ WAI-ARIA: implement support for ARIA drag and drop
+ https://bugs.webkit.org/show_bug.cgi?id=32007
+
+ * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
+ (AccessibilityUIElement::ariaIsGrabbed):
+ (AccessibilityUIElement::ariaDropEffects):
+ * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
+ (AccessibilityUIElement::ariaIsGrabbed):
+ (AccessibilityUIElement::ariaDropEffects):
+
+2009-12-01 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WAI-ARIA: implement support for ARIA drag and drop
+ https://bugs.webkit.org/show_bug.cgi?id=32007
+
+ * DumpRenderTree/AccessibilityUIElement.cpp:
+ (getARIADropEffectsCallback):
+ (getARIAIsGrabbedCallback):
+ (AccessibilityUIElement::getJSClass):
+ * DumpRenderTree/AccessibilityUIElement.h:
+ * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+ (AccessibilityUIElement::ariaIsGrabbed):
+ (AccessibilityUIElement::ariaDropEffects):
+
+2009-12-01 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Not reviewed. GTK DRT try 2.
+
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::sampleSVGAnimationForElementAtTime):
+
+2009-12-01 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Not reviewed. Try to fix gtk DRT build.
+
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+
+2009-12-01 David Levin <levin@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ check-webkit-style does not understand (Prefix)Foo(Custom|Gtk|CG|Mac).cpp including Foo.h
+ https://bugs.webkit.org/show_bug.cgi?id=32033
+
+ * Scripts/modules/cpp_style.py: Changed check for a possible primary header to use find
+ instead of startswith.
+ * Scripts/modules/cpp_style_unittest.py: Added a unit test for the new behavior.
+
+2009-12-01 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Not reviewed. Qt build almost fixed, DumpRenderTree should compile now as well.
+
+ * DumpRenderTree/qt/LayoutTestControllerQt.h: Update old function signature.
+
+2009-12-01 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Reviewed by Simon Fraser.
+
+ Add SVG animation test framework with 'snapshot' functionality
+ https://bugs.webkit.org/show_bug.cgi?id=31897
+
+ Add new 'sampleSVGAnimationForElementAtTime' DRT method,
+ used by the new SVG animation testing framework, implemented
+ for qt/gtk/win/mac.
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (sampleSVGAnimationForElementAtTimeCallback):
+ (LayoutTestController::staticFunctions):
+ * DumpRenderTree/LayoutTestController.h:
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::sampleSVGAnimationForElementAtTime):
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (LayoutTestController::sampleSVGAnimationForElementAtTime):
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::sampleSVGAnimationForElementAtTime):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::sampleSVGAnimationForElementAtTime):
+ * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
+ (LayoutTestController::sampleSVGAnimationForElementAtTime):
+
+2009-12-01 Adam Roben <aroben@apple.com>
+
+ Remove user content before running each test on Windows
+
+ Fixes <http://webkit.org/b/31479> Make websocket tests work on Windows
+
+ Reviewed by Alexey Proskuryakov.
+
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (resetWebViewToConsistentStateBeforeTesting): Remove all user content
+ before each test, which matches Mac.
+
+2009-12-01 Yuzo Fujishima <yuzo@google.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Make pywebsocket log errors to a file
+ https://bugs.webkit.org/show_bug.cgi?id=31604
+
+ * Scripts/run-webkit-tests: Log output to a pywebsocket_log.txt file in results directory
+ (by passing the path to the server via a recently added -l option).
+
+2009-12-01 Adam Roben <aroben@apple.com>
+
+ Fix tests that use the TestNetscapePlugin in Debug_Internal builds
+
+ Reviewed by Ada Chan.
+
+ Fixes <http://webkit.org/b/32027> REGRESSION (r49705): Tests that use
+ TestNetscapePlugin fail in Debug_Internal builds
+
+ * DumpRenderTree/win/DumpRenderTree.cpp: Use the "_Debug" plugin
+ directory in Debug and Debug_All builds, but not in Debug_Internal
+ builds.
+
+2009-12-01 Adam Roben <aroben@apple.com>
+
+ Re-enable DRT's watchdog timer on Windows
+
+ It was accidentally disabled in r50907.
+
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::setWaitToDump): Remove a "false &&" that snuck
+ into an if condition.
+
+2009-12-01 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ check-webkit-style complains about #imports with / in them
+ https://bugs.webkit.org/show_bug.cgi?id=32022
+
+ We need to exclude #import directives in addition to #include from the
+ binary operator whitespace checks.
+
+ * Scripts/modules/cpp_style.py:
+ * Scripts/modules/cpp_style_unittest.py:
+
+2009-11-30 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ check-webkit-style is slightly too verbose
+ https://bugs.webkit.org/show_bug.cgi?id=32010
+
+ check-webkit-style prints out a bunch of "done" lines that seem redundant,
+ especially for the style-queue.
+
+ * Scripts/modules/cpp_style.py:
+
+2009-11-30 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Eric Seidel.
+
+ [GTK] Moved the functions that are closing the result log of the
+ tests to the last line of the runTest function, this avoids
+ reporting crashes in the wrong test if there is a problem when
+ reseting the state after the test.
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (dump):
+ (runTest):
+
+2009-11-30 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=31286
+ fast/js/date-proto-generic-invocation breaks another test
+
+ Don't cache JSClassRefs, a change to the prototype chain will
+ last between tests.
+
+ * DumpRenderTree/AccessibilityController.cpp:
+ (AccessibilityController::getJSClass):
+ * DumpRenderTree/GCController.cpp:
+ (GCController::getJSClass):
+ * DumpRenderTree/GCController.h:
+ * DumpRenderTree/LayoutTestController.cpp:
+ (LayoutTestController::getJSClass):
+
+2009-11-30 Yuzo Fujishima <yuzo@google.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Update pywebsocket to 0.4.2.1.
+ This is to fix a bug that some messages are logged to stderr even when the log file is specified.
+ https://bugs.webkit.org/show_bug.cgi?id=31976
+
+ * pywebsocket/mod_pywebsocket/standalone.py:
+ * pywebsocket/setup.py:
+
+2009-11-30 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] Generate pass messages for style-queue
+ https://bugs.webkit.org/show_bug.cgi?id=31995
+
+ With this change, the style-queue posts "pass" messages to bugs as
+ well. Also, added more information to the state store w.r.t. passing
+ and failing.
+
+ * Scripts/modules/commands/queues.py:
+ * Scripts/modules/patchcollection.py:
+
+2009-11-30 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Simon Fraser.
+
+ Check for WEBKIT_TESTFONTS environment variable in
+ run-webkit-tests, for GTK+, to have a more prominent error
+ message.
+
+ * Scripts/run-webkit-tests:
+
+2009-11-30 Yaar Schnitman <yaar@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ update-webkit --chromium forces gclient sync
+
+ https://bugs.webkit.org/show_bug.cgi?id=31967
+
+ * Scripts/update-webkit-chromium:
+
+2009-11-29 Eric Seidel <eric@webkit.org>
+
+ Add Erik Arvidsson to committers.py since by r51326 he clear has commit rights.
+
+ * Scripts/modules/committers.py:
+
+2009-11-29 Eric Seidel <eric@webkit.org>
+
+ No review, just adding missing svn property.
+
+ Set svn:executable property on new scripts.
+ These were added by commit-queue commits, but the executable
+ property was lost due to a bug in svn-apply:
+ https://bugs.webkit.org/show_bug.cgi?id=27204
+
+ * Scripts/update-webkit-chromium: Added property svn:executable.
+ * Scripts/validate-committer-lists: Added property svn:executable.
+
+2009-11-29 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Need a way to validate that committers.py includes all committers/reviewers
+ https://bugs.webkit.org/show_bug.cgi?id=30970
+
+ Add a script which knows how to compare our public committer/reviewer
+ lists and show discrepancies between them.
+
+ Validates mailing lists vs. committers.py:
+ - committers.py committers missing from webkit-committers@lists
+ - webkit-committers@lists members missing from committers.py
+ - committers.py reviewers missing from webkit-reviewers@lists
+ - webkit-reviewers@lists members missing from committers.py
+ - webkit-reviewers@lists members missing from committers.py reviewer list
+
+ Validates committers.py vs. trunk/ SVN history:
+ - committers who have not committed in over a year
+ - SVN committers missing from committers.py
+ - committers.py members who have no record in SVN.
+
+ All of these lists still show "false positives" until a few more committers.py updates are made, like:
+ https://bugs.webkit.org/show_bug.cgi?id=31366
+
+ * Scripts/validate-committer-lists: Added.
+
+2009-11-28 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] style-queue sends ~100 requests to QueueStatusServer every 5 minutes
+ https://bugs.webkit.org/show_bug.cgi?id=31950
+
+ Now we cache the last status that we get back from QueueStatusServer.
+ Eventually we'll have to do something more fancy if we want to support
+ a "try again" button on QueueStatusServer, but we can cross that bridge
+ when we come to it.
+
+ * Scripts/modules/patchcollection.py:
+
+2009-11-28 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ StyleQueue scans ~100 bug pages every 5 minutes
+ https://bugs.webkit.org/show_bug.cgi?id=31947
+
+ Instead of getting the pending-review attachment ids by scanning each
+ bug (which results in a network request), we should just get them all
+ from webkit.org/pending-review in one shot.
+
+ * Scripts/modules/bugzilla.py:
+ * Scripts/modules/bugzilla_unittest.py:
+ * Scripts/modules/commands/queries.py:
+ * Scripts/modules/commands/queries_unittest.py:
+ * Scripts/modules/commands/queues.py:
+ * Scripts/modules/mock_bugzillatool.py:
+ * Scripts/modules/patchcollection.py:
+
+2009-11-28 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] CC webkit-bot-watchers whenever the bots touch bugs
+ https://bugs.webkit.org/show_bug.cgi?id=31952
+
+ The mailing list is open for anyone to subscribe.
+
+ * Scripts/modules/bugzilla.py:
+ * Scripts/modules/commands/queues.py:
+
+2009-11-28 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] style-queue should report style errors to bugzilla
+ https://bugs.webkit.org/show_bug.cgi?id=31945
+
+ Currently, we're just logging the style errors locally. With this
+ patch we'll actually log the errors to bugzilla. Note: I plan to run
+ with the "local-only" logging during development.
+
+ * Scripts/modules/commands/queues.py:
+ * Scripts/modules/scm.py:
+
+2009-11-28 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] style-queue shouldn't reject patches from the commit-queue
+ https://bugs.webkit.org/show_bug.cgi?id=31944
+
+ Currently the style-queue subprocess gets confused and thinks its the
+ commit-queue. If the patch has an error, it rejects it from the
+ commit-queue. Instead, we should have style-queue specific logic.
+ This patch doesn't add that logic, but it gives us a callback we can
+ use to add that logic.
+
+ * Scripts/modules/buildsteps.py:
+ * Scripts/modules/commands/queues.py:
+ * Scripts/modules/landingsequence.py:
+
+2009-11-27 Adam Barth <abarth@webkit.org>
+
+ Rubber stamped by Eric Seidel.
+
+ Rename CommitQueueStatus to QueueStatusServer to allow for more queues.
+
+ * CommitQueueStatus: Removed.
+ * CommitQueueStatus/app.yaml: Removed.
+ * CommitQueueStatus/filters: Removed.
+ * CommitQueueStatus/filters/__init__.py: Removed.
+ * CommitQueueStatus/filters/webkit_extras.py: Removed.
+ * CommitQueueStatus/index.html: Removed.
+ * CommitQueueStatus/index.yaml: Removed.
+ * CommitQueueStatus/queue_status.py: Removed.
+ * CommitQueueStatus/stylesheets: Removed.
+ * CommitQueueStatus/stylesheets/main.css: Removed.
+ * CommitQueueStatus/update_status.html: Removed.
+ * QueueStatusServer: Copied from WebKitTools/CommitQueueStatus.
+
+2009-11-27 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ style-queue should only process each patch once
+ https://bugs.webkit.org/show_bug.cgi?id=31939
+
+ Actually address reviewer comments!
+
+ * Scripts/bugzilla-tool:
+
+2009-11-27 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] style-queue fails to apply a bunch of patches for no reason
+ https://bugs.webkit.org/show_bug.cgi?id=31942
+
+ By passing --non-interactive to check-style, we convince check-style
+ to pass --force to svn-apply, which lets it apply more patches.
+
+ * Scripts/modules/commands/queues.py:
+
+2009-11-27 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] Support --status-host in style-queue
+ https://bugs.webkit.org/show_bug.cgi?id=31941
+
+ * Scripts/modules/commands/queues.py:
+ * Scripts/modules/statusbot.py:
+
+2009-11-27 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ style-queue should only process each patch once
+ https://bugs.webkit.org/show_bug.cgi?id=31939
+
+ Before processing a patch, the try-queues now ask the web service
+ whether they have already processed the patch. This is an initial cut
+ of this functionality. I expect we're make it richer over time.
+
+ * Scripts/bugzilla-tool:
+ * Scripts/modules/commands/queues.py:
+ * Scripts/modules/patchcollection.py:
+
+2009-11-27 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ PatchStatus does not return status
+ https://bugs.webkit.org/show_bug.cgi?id=31938
+
+ We need to parse attachment_id as an int. Otherwise, we can't find
+ anything in the datastore.
+
+ * CommitQueueStatus/queue_status.py:
+
+2009-11-27 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Make commit-queue status not throw an exception where there is not
+ status
+ https://bugs.webkit.org/show_bug.cgi?id=31936
+
+ We need to actually fetch the results of the query to see what's in the
+ datastore.
+
+ * CommitQueueStatus/queue_status.py:
+
+2009-11-27 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] unit test ApplyPatches and ApplyAttachment
+ https://bugs.webkit.org/show_bug.cgi?id=31935
+
+ * Scripts/modules/commands/download.py:
+ * Scripts/modules/commands/download_unittest.py:
+
+2009-11-27 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] Unit test download commands
+ https://bugs.webkit.org/show_bug.cgi?id=31923
+
+ Adds download_unittest and fixes a bug found while testing.
+
+ * Scripts/modules/commands/commandtest.py:
+ * Scripts/modules/commands/download.py:
+ Fixed a bug where we'd throw an error because [].append returns
+ None.
+ * Scripts/modules/commands/download_unittest.py: Added.
+ * Scripts/modules/mock_bugzillatool.py:
+ * Scripts/run-webkit-unittests:
+
+2009-11-27 Adam Barth <abarth@webkit.org>
+
+ Unreviewed "build" fix found while writing unit tests.
+
+ * Scripts/modules/commands/download.py:
+
+2009-11-27 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] Kill WebKitLandingScripts
+ https://bugs.webkit.org/show_bug.cgi?id=31904
+
+ Step 6: Kill the rest.
+
+ * Scripts/modules/buildsteps.py:
+ * Scripts/modules/commands/download.py:
+ * Scripts/modules/commands/queries.py:
+ * Scripts/modules/commands/upload.py:
+ * Scripts/modules/landingsequence.py:
+ * Scripts/modules/scm.py:
+ * Scripts/modules/webkitlandingscripts.py: Removed.
+
+2009-11-27 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] Unit test upload commands
+ https://bugs.webkit.org/show_bug.cgi?id=31903
+
+ Adds unit tests for all but two of the upload commands. The two
+ remaining ones are more difficult. I'll return to them later. The
+ goal of these tests is just to run the commands. We can test more
+ detailed behavior later.
+
+ * Scripts/modules/commands/commandtest.py:
+ * Scripts/modules/commands/upload.py:
+ * Scripts/modules/commands/upload_unittest.py:
+ * Scripts/modules/mock.py: Added.
+ * Scripts/modules/mock_bugzillatool.py:
+
+2009-11-26 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] Kill WebKitLandingScripts
+ https://bugs.webkit.org/show_bug.cgi?id=31904
+
+ Step 5: Kill run_and_throw_if_fail.
+
+ * Scripts/modules/buildsteps.py:
+ * Scripts/modules/processutils.py: Added.
+ * Scripts/modules/webkitlandingscripts.py:
+
+2009-11-26 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] Kill WebKitLandingScripts
+ https://bugs.webkit.org/show_bug.cgi?id=31904
+
+ Step 4: Kill run_webkit_script.
+
+ * Scripts/modules/buildsteps.py:
+ * Scripts/modules/commands/download.py:
+ * Scripts/modules/webkitlandingscripts.py:
+
+2009-11-26 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] Kill WebKitLandingScripts
+ https://bugs.webkit.org/show_bug.cgi?id=31904
+
+ Step 3: Kill build_webkit.
+
+ * Scripts/modules/buildsteps.py:
+ * Scripts/modules/landingsequence.py:
+ * Scripts/modules/webkitlandingscripts.py:
+
+2009-11-26 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] Kill WebKitLandingScripts
+ https://bugs.webkit.org/show_bug.cgi?id=31904
+
+ Step 2: Kill ensure_builders_are_green.
+
+ * Scripts/modules/buildsteps.py:
+ * Scripts/modules/commands/download.py:
+ * Scripts/modules/landingsequence.py:
+ * Scripts/modules/webkitlandingscripts.py:
+
+2009-11-26 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [bzt] Kill WebKitLandingScripts
+ https://bugs.webkit.org/show_bug.cgi?id=31904
+
+ Step 1: Kill prepare_clean_working_directory and run_webkit_tests.
+
+ * Scripts/bugzilla-tool:
+ * Scripts/modules/buildsteps.py: Added.
+ * Scripts/modules/commands/download.py:
+ * Scripts/modules/landingsequence.py:
+ * Scripts/modules/webkitlandingscripts.py:
+
+2009-11-26 Zoltan Horvath <zoltan@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Remove directory prefixes from linux commands
+
+ SCM unittests can cause errors on some systems if we use absolute reference to
+ the commands, so directory prefixes have been removed.
+
+ * Scripts/modules/scm_unittest.py:
+
+2009-11-21 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Link DumpRenderTree to the Qt Ui Tools
+ https://bugs.webkit.org/show_bug.cgi?id=31203
+
+ Implement QWebPage::createPlugin using the Qt Ui Tools
+ to be able to create classes like QProgressBar from within
+ the <object></object> tags This is required for the
+ new automatic test of Qt Plugins.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::WebPage::createPlugin):
+ * DumpRenderTree/qt/DumpRenderTree.h:
+ * DumpRenderTree/qt/DumpRenderTree.pro:
+
+2009-11-25 Yuzo Fujishima <yuzo@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Update pywebsocket to 0.4.2
+
+ Update pywebsocket to 0.4.2
+ https://bugs.webkit.org/show_bug.cgi?id=31861
+
+ * pywebsocket/example/echo_client.py:
+ * pywebsocket/example/echo_wsh.py:
+ * pywebsocket/mod_pywebsocket/__init__.py:
+ * pywebsocket/mod_pywebsocket/dispatch.py:
+ * pywebsocket/mod_pywebsocket/msgutil.py:
+ * pywebsocket/mod_pywebsocket/standalone.py:
+ * pywebsocket/setup.py:
+ * pywebsocket/test/test_dispatch.py:
+ * pywebsocket/test/test_msgutil.py:
+
+2009-11-25 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Add unit test for mark-fixed
+ https://bugs.webkit.org/show_bug.cgi?id=31896
+
+ * Scripts/modules/commands/commandtest.py: Added.
+ * Scripts/modules/commands/queries_unittest.py:
+ * Scripts/modules/commands/upload_unittest.py: Added.
+ * Scripts/modules/mock_bugzillatool.py:
+ * Scripts/run-webkit-unittests:
+
+2009-11-25 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ bugzilla-tool should have a mark-fixed command
+ https://bugs.webkit.org/show_bug.cgi?id=31853
+
+ Pretty simple stuff.
+
+ * Scripts/modules/commands/upload.py:
+
+2009-11-25 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ 'bugzilla-tool help' should only show common commands like how 'git help' does
+ https://bugs.webkit.org/show_bug.cgi?id=31772
+
+ I also took this opportunity to make 'help' a real Command.
+ Making 'help' a real command required adding Command.tool (which we've wanted to do for a while).
+
+ * Scripts/bugzilla-tool:
+ - change should_show_command_help to should_show_in_main_help
+ * Scripts/modules/commands/download.py:
+ - Mark commands as being shown in main help or not.
+ - show_in_main_help = False is not required (default is false),
+ but it seemed to make the commands more self-documenting.
+ * Scripts/modules/commands/queries.py: ditto
+ * Scripts/modules/commands/queues.py: ditto
+ * Scripts/modules/commands/upload.py: ditto
+ * Scripts/modules/multicommandtool.py:
+ - Make Command hold a pointer to tool in self.tool. Most Command
+ subclasses do not take advantage of this yet, but it was required
+ for HelpCommand to be able to reach the tool from _help_epilog().
+ - Move MultiCommandTool._standalone_help_for_command to Command.standalone_help
+ - Move MultiCommandTool._help_epilog to Command._help_epilog
+ - Move "help" logic into HelpCommand.execute()
+ - Change should_show_command_help to should_show_in_main_help and add a default implementation.
+ * Scripts/modules/multicommandtool_unittest.py:
+ - Test hiding of Commands in --help, and that all commands are shown in 'help --all-commands'
+
+2009-11-25 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Patch by Mark Rowe.
+
+ The buildbots are failing on Windows because when they were upgraded
+ to 4.0.4, Apple Application Support was not in their path. Add it to
+ the path to fix the buildots.
+
+ * Scripts/webkitdirs.pm:
+
+2009-11-25 Csaba Osztrogonác <ossy@webkit.org>
+
+ Reviewed by David Kilzer.
+
+ run-webkit-tests doesn't accept directories/files with --skipped=only parameter
+ https://bugs.webkit.org/show_bug.cgi?id=31799
+
+ * Scripts/run-webkit-tests: Fixed.
+
+2009-11-25 Zoltan Horvath <zoltan@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Change run_command to give back stderr by default
+ https://bugs.webkit.org/show_bug.cgi?id=31734
+
+ Change run_command to give back stderr by default.
+ Set run_commands's 'svn-create-patch' calling to put only the stdout into the patches.
+ Change the related unittest call.
+
+ * Scripts/modules/scm.py:
+ * Scripts/modules/scm_unittest.py:
+
+2009-11-25 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Centralize required argument parsing in Command
+ https://bugs.webkit.org/show_bug.cgi?id=31872
+
+ * Scripts/modules/commands/download.py: remove custom required arg message.
+ * Scripts/modules/commands/upload.py: ditto.
+ * Scripts/modules/multicommandtool.py:
+ - Add _parse_required_arguments.
+ - Pass program name off to OptionParser.
+ - Add name() for access to tool name.
+ - Add check_arguments_and_execute and make it return a return code.
+ - Replace a couple uses of + with %.
+ * Scripts/modules/multicommandtool_unittest.py: test _parse_required_arguments
+
+2009-11-25 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Abstract out capturing stdout/stderr into a new OutputCapture class for re-use among the various unit tests.
+ https://bugs.webkit.org/show_bug.cgi?id=31870
+
+ * Scripts/modules/commands/queries_unittest.py: Use the new class.
+ * Scripts/modules/multicommandtool_unittest.py: Ditto.
+ * Scripts/modules/outputcapture.py: Added.
+
+2009-11-24 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Add ENABLE_SHARED_SCRIPT feature define and flag for build-webkit
+ https://bugs.webkit.org/show_bug.cgi?id=31444
+
+ * Scripts/build-webkit:
+
+2009-11-24 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Changes the way 3D_RENDERING and ACCELERATED_COMPOSITING related tests are excluded
+ https://bugs.webkit.org/show_bug.cgi?id=27314
+
+ Now the script allows the directories with these tests to be included on all
+ platforms but Mac, where they behave the same as always. For all other platforms
+ the tests need to be excluded using the Skipped files, which is currently done
+ for all platforms (including win since we're not turned on yet)
+
+ * Scripts/webkitdirs.pm:
+
+2009-11-24 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ queries_unittest.py should test command output
+ https://bugs.webkit.org/show_bug.cgi?id=31845
+
+ * Scripts/modules/commands/queries_unittest.py:
+ - Capture stdout and stderr and compare with expected strings.
+
+2009-11-24 Simon Fraser <simon.fraser@apple.com>
+
+ No Review.
+
+ Fix spelling error ("depenedencies").
+
+ * Scripts/build-webkit:
+
+2009-11-24 Mark Rowe <mrowe@apple.com>
+
+ Land the configuration that includes the two debug GTK Linux builders.
+
+ * BuildSlaveSupport/build.webkit.org-config/config.json:
+
+2009-11-24 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/31840> bisect-builds broke after r50080
+
+ Reviewed by Dan Bernstein.
+
+ * Scripts/bisect-builds:
+ (mountAndRunNightly): Switched back to using backticks to run
+ the hdiutil command since exec() will terminate the existing
+ script, which is not what we want. Store the output of
+ File::Spec->devnull() in a variable for use in the hdiutil
+ detach commands.
+
+2009-11-23 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Include "config.h" to meet Coding Style Guidelines
+ https://bugs.webkit.org/show_bug.cgi?id=31792
+
+ * DumpRenderTree/pthreads/JavaScriptThreadingPthreads.cpp:
+ * DumpRenderTree/qt/jsobjects.cpp:
+ * DumpRenderTree/win/DRTDesktopNotificationPresenter.cpp:
+
+2009-11-23 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Oliver Hunt.
+
+ Implement new required function to pass test we used to pass. This
+ change is required since r51294.
+
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::setAllowUniversalAccessFromFileURLs):
+
+2009-11-23 Jakub Wieczorek <faw217@gmail.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] DRT: dumpBackForwardList() does not work properly with non-file URLs.
+ https://bugs.webkit.org/show_bug.cgi?id=31775
+
+ LayoutTestController::dumpBackForwardList() should work with local URLs
+ as well as with normal URLs (in http tests for instance).
+ Currently it does not output the latter properly.
+
+ Unskip a bunch of passing http/navigation tests.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::dumpHistoryItem):
+
+2009-11-22 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ ARIA: support aria-flowto
+ https://bugs.webkit.org/show_bug.cgi?id=31762
+
+ * DumpRenderTree/AccessibilityUIElement.cpp:
+ (ariaFlowToElementAtIndexCallback):
+ (AccessibilityUIElement::getJSClass):
+ * DumpRenderTree/AccessibilityUIElement.h:
+ * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
+ (AccessibilityUIElement::ariaFlowToElementAtIndex):
+ * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+ (AccessibilityUIElement::ariaFlowToElementAtIndex):
+ * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
+ (AccessibilityUIElement::ariaFlowToElementAtIndex):
+
+2009-11-22 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Kenneth Christiansen.
+
+ [Qt] fast/history/back-forward-reset-after-error-handling.html failing due to WorkQueue not being un-frozen
+ https://bugs.webkit.org/show_bug.cgi?id=31638
+
+ Unfreeze WorkQueue after each test execution.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting):
+
+2009-11-22 Jakub Wieczorek <faw217@gmail.com>
+
+ Reviewed by Adam Barth.
+
+ [Qt] DumpRenderTree should explicitly ignore any SSL certificate errors
+ for localhost and 127.0.0.1.
+ https://bugs.webkit.org/show_bug.cgi?id=31783
+
+ Unskip the http/tests/ssl/verify-ssl-enabled.php test, which is passing now.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::NetworkAccessManager::NetworkAccessManager):
+ (WebCore::NetworkAccessManager::sslErrorsEncountered):
+ (WebCore::WebPage::WebPage):
+ * DumpRenderTree/qt/DumpRenderTree.h:
+
+2009-11-22 Chris Evans <cevans@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Disable access to file:/// directory listings
+ https://bugs.webkit.org/show_bug.cgi?id=31329
+
+ Implemented setAllowUniversalAccessFromFileURLs to support testing of
+ file URL security.
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (setAllowUniversalAccessFromFileURLsCallback):
+ (LayoutTestController::staticFunctions):
+ * DumpRenderTree/LayoutTestController.h:
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::setAllowUniversalAccessFromFileURLs):
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (LayoutTestController::setAllowUniversalAccessFromFileURLs):
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::setAllowUniversalAccessFromFileURLs):
+ * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
+ (LayoutTestController::setAllowUniversalAccessFromFileURLs):
+
+2009-11-22 Jakub Wieczorek <faw217@gmail.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Fix the timeout of fast/frames/frame-navigation.html
+ https://bugs.webkit.org/show_bug.cgi?id=31638
+
+ The test is timeouting, because it uses the WorkQueue to load a document in one
+ of the child frames and once the loading is finished, the DRT does not dump the
+ tree. This is because it waits for the QWebFrame::loadFinished() signal from
+ the main frame, while it should connect to QWebPage::loadFinished().
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::DumpRenderTree::DumpRenderTree):
+
+2009-11-21 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ bugzilla-tool --help spews way too much text
+ https://bugs.webkit.org/show_bug.cgi?id=31771
+
+ * Scripts/bugzilla-tool:
+ - Remove self.cached_scm initialization hack.
+ * Scripts/modules/buildbot.py:
+ - Make default_host accessible to callers.
+ * Scripts/modules/commands/download.py:
+ - Phrase help for all commands consistently and remove spurious help text punctuation.
+ * Scripts/modules/commands/queries.py: Ditto.
+ * Scripts/modules/commands/queues.py: Ditto.
+ * Scripts/modules/commands/upload.py: Ditto.
+ * Scripts/modules/multicommandtool.py:
+ - Add HelpPrintingOptionParser.format_epilog to replace
+ NonWrappingEpilogIndentedHelpFormatter and allow us to lazily initialize
+ per-command help (thus removing the need for the cached_scm hack in BugzillaTool).
+ - Make --help only show a list of commands like "svn help" and "git help" do --
+ previously --help was listing all commands and options.
+ - Sort list of commands alphabetically.
+
+2009-11-21 Eric Seidel <eric@webkit.org>
+
+ No review. Fixing a typo from the previous patch for bug 31767.
+
+ AbstractQueue.run_bugzilla_tool throws an exception
+ https://bugs.webkit.org/show_bug.cgi?id=31769
+
+ * Scripts/modules/commands/queues.py:
+
+2009-11-21 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ commit-queue fails to run with "permissions error" due to bad bugzilla-tool path
+ https://bugs.webkit.org/show_bug.cgi?id=31767
+
+ What we really want to test is BugzillaTool.path() instead of TrivialTool.path().
+ Since we don't have a good way to test BugzillaTool pieces, I've
+ left out a test for now.
+
+ * Scripts/bugzilla-tool:
+ - Add a path() implementation to expose bugzilla-tool's __file__ path to commit-queue.
+ * Scripts/modules/commands/queues.py:
+ - Use tool.path() instead of __file__.
+ * Scripts/modules/multicommandtool.py:
+ - Add a new path() method to MultiComandTool.
+ * Scripts/modules/multicommandtool_unittest.py:
+ - Provide a path() method. Little point in testing this mock implementation.
+
+2009-11-21 Adam Barth <abarth@webkit.org>
+
+ Unreviewed "build" fix. Turns out I was testing the wrong copy of
+ WebKitTools.
+
+ * Scripts/modules/commands/download.py:
+
+2009-11-21 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Convert check-style to use LandingSequence
+ https://bugs.webkit.org/show_bug.cgi?id=31763
+
+ Instead of manipulating the working copy by hand, we should use the
+ LandingSequence in CheckStyle. This will make this code eaiser to
+ test.
+
+ * Scripts/modules/commands/download.py:
+
+2009-11-20 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Unit test query commands
+ https://bugs.webkit.org/show_bug.cgi?id=31755
+
+ These tests are pretty rough, but hopefully they'll grow.
+
+ * Scripts/modules/commands/queries_unittest.py: Added.
+ * Scripts/modules/mock_bugzillatool.py: Added.
+ * Scripts/run-webkit-unittests:
+
+2009-11-20 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Fix a bunch of unit test regressions from our recent bugzilla-toll hacking
+ https://bugs.webkit.org/show_bug.cgi?id=31758
+
+ * Scripts/modules/multicommandtool.py:
+ - Allow passing of explicit commands to MultiCommandTool.__init__
+ * Scripts/modules/multicommandtool_unittest.py:
+ - Use new Command.name naming system.
+ - Test Command auto-discovery.
+ * Scripts/modules/workqueue.py:
+ - bug_id no longer exists, use patch['bug_id'] instead.
+ * Scripts/modules/workqueue_unittest.py:
+ - WorkQueues require names now.
+ - should_proceed_with_work_item must return a patch object.
+
+2009-11-20 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ WAI-ARIA: add support for aria-owns
+ https://bugs.webkit.org/show_bug.cgi?id=31702
+
+ * DumpRenderTree/AccessibilityUIElement.cpp:
+ (ariaOwnsElementAtIndexCallback):
+ (AccessibilityUIElement::getJSClass):
+ * DumpRenderTree/AccessibilityUIElement.h:
+ * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
+ (AccessibilityUIElement::ariaOwnsElementAtIndex):
+ * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+ (AccessibilityUIElement::ariaOwnsElementAtIndex):
+ * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
+ (AccessibilityUIElement::ariaOwnsElementAtIndex):
+
+2009-11-20 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Fix exception thrown when running the commit-queue.
+
+ * Scripts/modules/statusbot.py: patch is optional.
+ * Scripts/modules/workqueue.py: WorkQUeue requires a name.
+
+2009-11-20 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Teach the StatusBot how to support more than just the commit-queue
+ https://bugs.webkit.org/show_bug.cgi?id=31754
+
+ * Scripts/modules/workqueue.py: Another typo.
+
+2009-11-20 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Teach the StatusBot how to support more than just the commit-queue
+ https://bugs.webkit.org/show_bug.cgi?id=31754
+
+ * Scripts/modules/commands/queues.py: Fix silly typo.
+
+2009-11-20 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Teach the StatusBot how to support more than just the commit-queue
+ https://bugs.webkit.org/show_bug.cgi?id=31754
+
+ * CommitQueueStatus/index.yaml:
+ - Add indices required for the new queries.
+ * CommitQueueStatus/queue_status.py:
+ - Add a patch-status page and move update_status to update-status.
+ - Only display "commit-queue" status records for the commit-queue.
+ - Add support for a queue_name property on status records.
+ - Fix _int_from_request to actually work.
+ * CommitQueueStatus/update_status.html:
+ - Add support for a queue_name on status records.
+ - Remove unused list of bug ids.
+ * Scripts/modules/commands/queues.py
+ - Make the queues pass the patch instead of the bug_id to StatusBot.
+ * Scripts/modules/statusbot.py:
+ - Support passing the queue_name to the status updates.
+ - Support fetching patch status with patch_status().
+ * Scripts/modules/workqueue.py:
+ - Pass the patch to the StatusBot instead of the bug_id.
+ - Let WorkQueues have a name.
+
+2009-11-20 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Move bugzilla-tool commands into their own file
+ https://bugs.webkit.org/show_bug.cgi?id=31752
+
+ This will let us write unit tests.
+
+ * Scripts/bugzilla-tool:
+ * Scripts/modules/commands/__init__.py: Added.
+ * Scripts/modules/commands/download.py: Added.
+ * Scripts/modules/commands/queries.py: Added.
+ * Scripts/modules/commands/queues.py: Added.
+ * Scripts/modules/commands/upload.py: Added.
+ * Scripts/modules/grammar.py: Added.
+
+2009-11-20 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ BuildQueue should check if the tree is currently buildable
+ https://bugs.webkit.org/show_bug.cgi?id=31744
+
+ * Scripts/bugzilla-tool:
+ * Scripts/modules/landingsequence.py:
+ * Scripts/modules/webkitlandingscripts.py:
+
+2009-11-20 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Move prepare_clean_working_directory into the LandingSequence
+ https://bugs.webkit.org/show_bug.cgi?id=31743
+
+ * Scripts/bugzilla-tool:
+ * Scripts/modules/landingsequence.py:
+
+2009-11-20 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ NPN_ReloadPlugins does not reload the page even if reloadPages is true.
+ https://bugs.webkit.org/show_bug.cgi?id=30460
+
+ Added code for calling NPN_ReloadPlugins with reloadPages true and false.
+
+ * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
+ (pluginInvoke):
+
+2009-11-20 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Pass the port information to the child process
+ https://bugs.webkit.org/show_bug.cgi?id=31736
+
+ We need to do this so the child process knows what to build!
+
+ * Scripts/bugzilla-tool:
+ * Scripts/modules/landingsequence.py:
+ * Scripts/modules/webkitport.py:
+ * Scripts/modules/webkitport_unittest.py:
+
+2009-11-20 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Support Qt port in build-queue
+ https://bugs.webkit.org/show_bug.cgi?id=31733
+
+ * Scripts/bugzilla-tool:
+
+2009-11-20 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Implement a build-queue
+ https://bugs.webkit.org/show_bug.cgi?id=31725
+
+ Currently this just builds the first 10 patches in the review queue.
+ We'll want to do something smarter soon.
+
+ * Scripts/bugzilla-tool:
+
+2009-11-20 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Make commit-queue and style-queue show up in help
+ https://bugs.webkit.org/show_bug.cgi?id=31724
+
+ We need to store their names on their class to make these commands
+ properly register themselves with MultiCommandTool.
+
+ * Scripts/bugzilla-tool:
+
+2009-11-20 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Implement bugzilla-tool build-attachment
+ https://bugs.webkit.org/show_bug.cgi?id=31722
+
+ This command builds an attachment from bugzilla. It leaves the built
+ patch in the working copy.
+
+ * Scripts/bugzilla-tool:
+ * Scripts/modules/landingsequence.py:
+ * Scripts/modules/webkitlandingscripts.py:
+
+2009-11-20 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] DRT release event does not create the state correctly
+ https://bugs.webkit.org/show_bug.cgi?id=31717
+
+ * WebKitTools/DumpRenderTree/gtk/EventSender.cpp:
+
+2009-11-20 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ MultiCommandTool should find Command objects automatically instead of with a manual list
+ https://bugs.webkit.org/show_bug.cgi?id=31710
+
+ * Scripts/bugzilla-tool:
+ * Scripts/modules/multicommandtool.py:
+ - Use some wild python-fu to crawl all the known subclasses of Command.
+
+2009-11-20 Adam Barth <abarth@webkit.org>
+
+ Unreviewed "build" fix. Added missing import.
+
+ * Scripts/bugzilla-tool:
+
+2009-11-20 Adam Barth <abarth@webkit.org>
+
+ Unreviewed "build" fix. I failed to update LandingSequence.test
+ properly.
+
+ * Scripts/modules/landingsequence.py:
+
+2009-11-20 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Create LandingSequence as the all-sing, all-dance landing class
+ https://bugs.webkit.org/show_bug.cgi?id=31709
+
+ Client can inherit from this class to carefully control exactly which
+ steps they wish to have happen in the landing sequence.
+
+ * Scripts/bugzilla-tool:
+ * Scripts/modules/landingsequence.py: Added.
+ * Scripts/modules/webkitlandingscripts.py: Added.
+
+2009-11-19 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Abstract AbstractPatchProcessingCommand from AbstractPatchLandingCommand
+ https://bugs.webkit.org/show_bug.cgi?id=31707
+
+ This is to help when we implement build-attachment.
+
+ * Scripts/bugzilla-tool:
+
+2009-11-19 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Support Qt port in bugzilla-tool
+ https://bugs.webkit.org/show_bug.cgi?id=31701
+
+ Now we support building with Qt!
+
+ * Scripts/bugzilla-tool:
+ * Scripts/modules/webkitport.py: Added.
+ * Scripts/modules/webkitport_unittest.py: Added.
+ * Scripts/run-webkit-unittests:
+
+2009-11-19 Zoltan Horvath <zoltan@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Remove inserting stderr into patch in bugzilla-tool
+ https://bugs.webkit.org/show_bug.cgi?id=29914
+
+ Modify SCM python module's run_command function to avoid return of stderr
+ by default, so stderr won't be inserted into the patches.
+ Modify the related unit test.
+
+ * Scripts/modules/scm.py:
+ * Scripts/modules/scm_unittest.py:
+
+2009-11-19 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ bugzilla-tool needs per-command help
+ https://bugs.webkit.org/show_bug.cgi?id=31697
+
+ Added support for "bugzilla-tool help command-name"
+ and a unit test to make sure it works.
+
+ * Scripts/modules/multicommandtool.py:
+ * Scripts/modules/multicommandtool_unittest.py:
+
+2009-11-19 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Move MultiCommandTool and Command into a separate file and add some basic unit tests
+ https://bugs.webkit.org/show_bug.cgi?id=31695
+
+ * Scripts/bugzilla-tool:
+ * Scripts/modules/multicommandtool.py: Added.
+ * Scripts/modules/multicommandtool_unittest.py: Added.
+ * Scripts/run-webkit-unittests:
+
+2009-11-19 Eric Seidel <eric@webkit.org>
+
+ No review, just adding a FIXME.
+
+ Split out command parsing and help printing from BugzillaTool
+ https://bugs.webkit.org/show_bug.cgi?id=31688
+
+ * Scripts/bugzilla-tool: Add an extra comment about current design failures.
+
+2009-11-19 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Split out command parsing and help printing from BugzillaTool
+ https://bugs.webkit.org/show_bug.cgi?id=31688
+
+ * Scripts/bugzilla-tool:
+ - Add new MultiCommandTool class to contain option parsing and help printing logic.
+ - Rename private methods to use _ pattern.
+ - MultiCommandTool has two abstract methods should_show_command_help and should_execute_command.
+ -
+
+2009-11-19 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Re-factor help printing to use modern python idioms
+ https://bugs.webkit.org/show_bug.cgi?id=31685
+
+ * Scripts/bugzilla-tool:
+
+2009-11-19 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ commit-queue empty queue logs twice
+ https://bugs.webkit.org/show_bug.cgi?id=31679
+
+ * Scripts/bugzilla-tool:
+
+2009-11-19 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ bugzilla-tool's reviewer/committer rejection message should be clearer
+ https://bugs.webkit.org/show_bug.cgi?id=31126
+
+ Add more explanatory prose to bugzilla-tool's flag permission rejection message.
+
+ * Scripts/modules/bugzilla.py:
+
+2009-11-19 Eric Z. Ayers <zundel@google.com>
+
+ Reviewed by Pavel Feldman.
+
+ Forces a WM_PAINT event on calling layoutTestController.display()
+ in order to enable the timeline-paint.html test on Windows.
+ ::UpdateWindow() does not force an event becaue the window is
+ not visible.
+
+ https://bugs.webkit.org/show_bug.cgi?id=31402
+
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (displayWebView):
+
+2009-11-19 Michelangelo De Simone <michelangelo@webkit.org>
+
+ No review needed.
+
+ Added myself to committers list.
+
+ * Scripts/modules/committers.py:
+
+2009-11-19 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Bugzilla-tool command classes should match command names
+ https://bugs.webkit.org/show_bug.cgi?id=31666
+
+ I renamed all the commands except CommitMessageForCurrentDiff because
+ the new name would conflict with an existing class.
+
+ * Scripts/bugzilla-tool:
+
+2009-11-19 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ Web Inspector: Implement "show inspector" in WebKit GTK
+ API and enable console tests.
+
+ https://bugs.webkit.org/show_bug.cgi?id=31669
+
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::showWebInspector):
+
+2009-11-19 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ Minor refactoring + more documentation.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::clearHistory):
+ (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting):
+
+2009-11-19 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Ignore websocket tests when --no-http is specified.
+ https://bugs.webkit.org/show_bug.cgi?id=31662
+
+ * Scripts/run-webkit-tests:
+
+2009-11-18 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Normalize ' and " in bugzilla-tool
+ https://bugs.webkit.org/show_bug.cgi?id=31655
+
+ We decided " is better than ' and we should be consistent.
+
+ * Scripts/bugzilla-tool:
+
+2009-11-18 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Remove support for Qt v4.3 or older versions
+ https://bugs.webkit.org/show_bug.cgi?id=29469
+
+ * DumpRenderTree/qt/DumpRenderTree.pro:
+ * DumpRenderTree/qt/ImageDiff.pro:
+
+2009-11-18 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ GitTest.test_create_binary_patch fails if /tmp is symlink
+ https://bugs.webkit.org/show_bug.cgi?id=31536
+
+ * Scripts/modules/scm_unittest.py:
+
+2009-11-18 Yaar Schnitman <yaar@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Configuration for Chromium Build Slaves.
+
+ https://bugs.webkit.org/show_bug.cgi?id=31442
+
+ * BuildSlaveSupport/build.webkit.org-config/config.json:
+ * BuildSlaveSupport/build.webkit.org-config/master.cfg:
+
+2009-11-18 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ workqueue.py results in totally broken commit-queue UI
+ https://bugs.webkit.org/show_bug.cgi?id=31645
+
+ * Scripts/bugzilla-tool:
+ - Remove unneeded use of PatchCollection.
+ - Grab a new copy of the cq'd patches every run of the queue.
+
+2009-11-18 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Make the Mac Geolocation API async.
+
+ Update DRT to use the new async Mac Geolocation API.
+
+ * DumpRenderTree/mac/UIDelegate.mm:
+ (-[UIDelegate webView:decidePolicyForGeolocationRequestFromOrigin:frame:listener:]):
+
+2009-11-18 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add and option to toggle HTML5 datalist support to build-webkit
+ https://bugs.webkit.org/show_bug.cgi?id=31599
+
+ * Scripts/build-webkit:
+
+2009-11-18 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ Enable wx plugin support using the Windows implementation as a base.
+
+ https://bugs.webkit.org/show_bug.cgi?id=31636
+
+ * wx/build/settings.py:
+
+2009-11-18 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ Change the initialization order so that the controllers
+ will be created before exporting them to the JS DOM window.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::DumpRenderTree::DumpRenderTree):
+
+2009-11-18 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ Fix a code copy and paste error. m_page should be page.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::DumpRenderTree::createWindow):
+
+2009-11-17 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ <http://webkit.org/b/31603> WebSocket server is confused if WebKit tests run from within /tmp on Mac OS X
+
+ * pywebsocket/mod_pywebsocket/dispatch.py: Use os.path.realpath as it returns the canonical path of a file.
+ This prevents symlinks from confusing the descendant check.
+
+2009-11-17 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ <http://webkit.org/b/31602> Failing to start the WebSocket server shouldn’t terminate entire test run
+
+ If the WebSocket server fails to start have DRT load an error page in place of tests that require the
+ server to be up rather than having run-webkit-tests abort immediately.
+
+ * Scripts/run-webkit-tests:
+
+2009-11-17 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ commit-queue is failing to set reviewer in ChangeLogs
+ https://bugs.webkit.org/show_bug.cgi?id=31592
+
+ * Scripts/bugzilla-tool: Clarify the "applying" log message.
+ * Scripts/modules/bugzilla.py:
+ - Add a new _validate_committer_and_reviewer function as a
+ temporary solution until we can make a real Attachment object
+ which knows how to fill in its committer/reviewer fields automatically.
+
+2009-11-17 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Unreviewed buildbot fix.
+
+ Revert part of earlier patch and add comment, as it
+ was causing timeouts on the buildbot.
+
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::notifyDone):
+
+2009-11-17 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ Make the timeout 15 sec as for the other DRT's and make
+ it print out the same output when a test timeout.
+
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::waitUntilDone):
+ (LayoutTestController::notifyDone):
+ (LayoutTestController::timerEvent):
+
+2009-11-17 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Fixed typos in comments.
+
+ * Scripts/modules/committers.py:
+
+2009-11-17 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Make DRT show web inspector for tests in inspector/ folder.
+ - Updated DRT to show/close inspector for all tests under /inspector
+ - Introduced LayoutTestController::setTimelineProfilingEnabled and
+ WebInspector::setTimelineProfilingEnabled beside setJavaScriptProfilingEnabled
+ - Removed reload on each inspector test
+ - Renamed fast/inspector to fast/inspector-support in order not to trigger
+ inspector for those.
+ - Reimplemented timeline tests in order to get rid of reload there.
+ - Moved tests that don't require harness into the fast group.
+
+ https://bugs.webkit.org/show_bug.cgi?id=31472
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (setTimelineProfilingEnabledCallback):
+ (closeWebInspectorCallback):
+ (LayoutTestController::staticFunctions):
+ * DumpRenderTree/LayoutTestController.h:
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (shouldOpenWebInspector):
+ (runTest):
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::setTimelineProfilingEnabled):
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (shouldOpenWebInspector):
+ (runTest):
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (LayoutTestController::setTimelineProfilingEnabled):
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (shouldOpenWebInspector):
+ (runTest):
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::setTimelineProfilingEnabled):
+
+2009-11-17 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Incorrect use of JavaScriptCore API in DumpRenderTree
+ https://bugs.webkit.org/show_bug.cgi?id=31577
+
+ Return undefined rather than a literal null.
+
+ * DumpRenderTree/AccessibilityUIElement.cpp:
+ (setSelectedTextRangeCallback):
+ (incrementCallback):
+ (decrementCallback):
+ (showMenuCallback):
+
+2009-11-16 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ AX: aria-labelledby duplicates some of its WAI-ARIA label
+ https://bugs.webkit.org/show_bug.cgi?id=31565
+
+ * DumpRenderTree/AccessibilityUIElement.cpp:
+ (titleUIElementCallback):
+ (getIsValidCallback):
+ (AccessibilityUIElement::getJSClass):
+
+2009-11-16 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ r50942 broke output from created windows. Make the
+ m_enableTextOutput a member of the DRT and not the
+ WebPage.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::WebPage::WebPage):
+ (WebCore::WebPage::javaScriptAlert):
+ (WebCore::WebPage::javaScriptConsoleMessage):
+ (WebCore::WebPage::javaScriptConfirm):
+ (WebCore::WebPage::javaScriptPrompt):
+ (WebCore::WebPage::acceptNavigationRequest):
+ (WebCore::DumpRenderTree::DumpRenderTree):
+ (WebCore::DumpRenderTree::open):
+ (WebCore::DumpRenderTree::createWindow):
+ * DumpRenderTree/qt/DumpRenderTree.h:
+ (WebCore::DumpRenderTree::setTextOutputEnabled):
+ (WebCore::DumpRenderTree::isTextOutputEnabled):
+ (WebCore::WebPage::shouldInterruptJavaScript):
+ (WebCore::WebPage::isTextOutputEnabled):
+ (WebCore::WebPage::setViewGeometry):
+
+2009-11-16 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ Moved DumpRenderTree/gtk/TestNetscapePlugin to DumpRenderTree/unix/TestNetscapePlugin
+ as the implementation is being used by at least Qt and Gtk+.
+
+ Update buildsystems as well.
+
+ * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro:
+ * DumpRenderTree/unix/TestNetscapePlugin/ForwardingHeaders/WebKit/npapi.h:
+ * DumpRenderTree/unix/TestNetscapePlugin/ForwardingHeaders/WebKit/npfunctions.h:
+ * DumpRenderTree/unix/TestNetscapePlugin/ForwardingHeaders/WebKit/npruntime.h:
+ * DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp:
+ * GNUmakefile.am:
+
+2009-11-16 Yuzo Fujishima <yuzo@google.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Disable wss until all platforms support pyOpenSSL
+
+ https://bugs.webkit.org/show_bug.cgi?id=31479
+
+ * Scripts/run-webkit-tests:
+
+2009-11-14 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Kenneth Christiansen.
+
+ [Qt] Implement load error pages support for Qt's DRT.
+ https://bugs.webkit.org/show_bug.cgi?id=31509
+
+ For now, it will not be a default feature, and layout tests
+ that want to make use of this have to explicitily call
+ 'handleErrorPages();' for the test source.
+
+ Any of the other DumpRenderTree's (mac, win and gtk)
+ support handling error pages. Qt's will be the first.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::WebPage::supportsExtension):
+ (WebCore::WebPage::extension):
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::reset):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+ (LayoutTestController::shouldHandleErrorPages):
+ (LayoutTestController::handleErrorPages):
+
+2009-11-16 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Rename the --commit-queue flag on land-* now that the commit-queue needs no special treatment
+ https://bugs.webkit.org/show_bug.cgi?id=31549
+
+ Renamed --commit-queue to --non-interactive in most places
+ and remove the code in land-patches which is no longer needed.
+
+ * Scripts/bugzilla-tool:
+
+2009-11-16 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ The commit-queue should use land-attachment
+ https://bugs.webkit.org/show_bug.cgi?id=31548
+
+ * Scripts/bugzilla-tool:
+
+2009-11-16 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Convert CommitQueue over to PatchCollection
+ https://bugs.webkit.org/show_bug.cgi?id=31547
+
+ Also fixes a bug in workqueue and adds a test!
+
+ * Scripts/bugzilla-tool:
+ * Scripts/modules/workqueue.py:
+ * Scripts/modules/workqueue_unittest.py:
+
+2009-11-16 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Move StyleQueue over to using PatchCollection
+ https://bugs.webkit.org/show_bug.cgi?id=31544
+
+ That's what the class it's for.
+
+ * Scripts/bugzilla-tool:
+ * Scripts/modules/patchcollection.py:
+ * Scripts/modules/patchcollection_unittest.py:
+
+2009-11-16 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ bugzilla-tool needs a land-attachment command
+ https://bugs.webkit.org/show_bug.cgi?id=31546
+
+ * Scripts/bugzilla-tool:
+ - Move all the logic into AbstractLandingCommand and
+ add a new LandAttachment command subclass.
+ - Split out _collect_patches_by_bug logging from _fetch_list_of_patches_to_land.
+
+2009-11-16 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Move more patch-landing code into WebKitLandingScripts in preparation for land-attachment
+ https://bugs.webkit.org/show_bug.cgi?id=31543
+
+ Just moving code and updating the one caller to use WebKitLandingScripts instead of 'self'.
+
+ * Scripts/bugzilla-tool:
+
+2009-11-16 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Disable the style queue from posting to the commit queue status page.
+
+ * Scripts/bugzilla-tool:
+
+2009-11-16 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Implement PatchCollection
+ https://bugs.webkit.org/show_bug.cgi?id=31541
+
+ This class holds a set of patches and lets clients iterate through
+ them. Optionally, clients can install a filter.
+
+ * Scripts/modules/patchcollection.py: Added.
+ * Scripts/modules/patchcollection_unittest.py: Added.
+ * Scripts/run-webkit-unittests:
+
+2009-11-16 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ bugzilla-tool land-patches will close bugs with patches r=?
+ https://bugs.webkit.org/show_bug.cgi?id=28230
+
+ The commit-queue shouldn't close patches with outstanding reviews on them,
+ even if many reviewers seem to be against multi-patch bugs.
+
+ * Scripts/bugzilla-tool:
+
+2009-11-16 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ bugzilla-tool check-style should work with attachment ids instead of bug ids
+ https://bugs.webkit.org/show_bug.cgi?id=31540
+
+ * Scripts/bugzilla-tool:
+
+2009-11-16 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ WorkQueue is the only place that should know about special exit codes
+ https://bugs.webkit.org/show_bug.cgi?id=31534
+
+ Move LandPatchesFromBugs.handled_error to WorkQueue.exit_after_handled_error
+ and add tests for handling exit codes.
+ I also cleaned up workqueue_unittest.py more.
+
+ * Scripts/bugzilla-tool:
+ * Scripts/modules/workqueue.py:
+ * Scripts/modules/workqueue_unittest.py:
+
+2009-11-16 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Re-factor workqueue_unittest to allow for more than one test.
+ https://bugs.webkit.org/show_bug.cgi?id=31535
+
+ * Scripts/modules/workqueue_unittest.py:
+
+2009-11-16 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ land-patches needs to be re-factored into smaller chunks
+ https://bugs.webkit.org/show_bug.cgi?id=31532
+
+ * Scripts/bugzilla-tool: fix a couple obvious typos.
+
+2009-11-16 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ land-patches needs to be re-factored into smaller chunks
+ https://bugs.webkit.org/show_bug.cgi?id=31532
+
+ The next patch will move these methods into WebKitLandingScripts.
+
+ * Scripts/bugzilla-tool:
+ - Split out _land_patch and _close_bug_if_no_active_patches.
+
+2009-11-16 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Fix silly copy-and-paste code. I am a terrible coder.
+
+ * Scripts/modules/bugzilla.py:
+
+2009-11-16 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Implement a StyleQueue
+ https://bugs.webkit.org/show_bug.cgi?id=31537
+
+ The first iteration of the style queue only produces output locally.
+ There is also a limit of 10 patches because it's not that useful to
+ iterate through the entire review queue at this point. We can remove
+ the limit later.
+
+ * Scripts/bugzilla-tool:
+ * Scripts/modules/bugzilla.py:
+
+2009-11-16 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Unit test WorkQueue
+ https://bugs.webkit.org/show_bug.cgi?id=31531
+
+ Adds basic unit testing for WorkQueue. Just runs through one cycle.
+
+ * Scripts/bugzilla-tool:
+ * Scripts/modules/statusbot.py:
+ * Scripts/modules/workqueue.py:
+ * Scripts/modules/workqueue_unittest.py: Added.
+ * Scripts/run-webkit-unittests:
+
+2009-11-16 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ bugzilla-tool land-diff should know how to parse bug ids out of ChangeLogs
+ https://bugs.webkit.org/show_bug.cgi?id=31530
+
+ * Scripts/bugzilla-tool:
+
+2009-11-16 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ bugzilla-tool needs apply-attachment
+ https://bugs.webkit.org/show_bug.cgi?id=31528
+
+ * Scripts/bugzilla-tool:
+ - Add ApplyAttachment command.
+ - Abstract applying code into WebKitApplyingScripts.
+ - Rename setup_for_landing to prepare_clean_working_directory and make local_commit checking optional.
+ * Scripts/modules/bugzilla.py:
+ - Add fetch_attachment and bug_id_for_attachment_id.
+ * Scripts/modules/bugzilla_unittest.py:
+ - Add test for new parsing.
+ - Fix previous parsing test which broke with Adam's check-style patch (bug 31515).
+
+2009-11-16 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Document check-style's use of force_clean.
+
+ * Scripts/bugzilla-tool:
+ * Scripts/modules/scm.py:
+
+2009-11-16 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Move WorkQueue to its own file
+ https://bugs.webkit.org/show_bug.cgi?id=31529
+
+ WorkQueue and WorkQueueDelegate are separate concerns from
+ bugzilla-tool. Also added a missing include to logging.py.
+
+ * Scripts/bugzilla-tool:
+ * Scripts/modules/logging.py:
+ * Scripts/modules/workqueue.py:
+
+2009-11-16 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Move OutputTee to logging.py.
+
+ * Scripts/bugzilla-tool:
+ * Scripts/modules/logging.py:
+
+2009-11-15 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Refactor bugzilla-tool to allow for multiple queues
+ https://bugs.webkit.org/show_bug.cgi?id=31513
+
+ Divide the commit queue class into three class to make creating
+ additional queues easier.
+
+ * Scripts/bugzilla-tool:
+
+2009-11-15 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ svn-apply may not handle git patches created by bugzilla-tool
+ https://bugs.webkit.org/show_bug.cgi?id=31457
+
+ * Scripts/modules/scm.py:
+ * Scripts/modules/scm_unittest.py:
+
+2009-11-15 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ bugzilla-tool should post git binary diff
+ https://bugs.webkit.org/show_bug.cgi?id=31458
+
+ Add --binary option to Git.create_patch.
+
+ * Scripts/modules/scm.py:
+ * Scripts/modules/scm_unittest.py:
+
+2009-11-15 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Add bugzilla-tool check-style
+ https://bugs.webkit.org/show_bug.cgi?id=31515
+
+ * Scripts/bugzilla-tool:
+ * Scripts/modules/bugzilla.py:
+
+2009-11-13 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ Make the Qt Linux only --valgrind feature, suppress errors
+ defined in the SuppressedValgrindErrors file.
+
+ * Scripts/run-webkit-tests:
+
+2009-11-13 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ Set the locale to C and not to the current one in use on the system.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting):
+
+2009-11-13 Adam Roben <aroben@apple.com>
+
+ Add support for
+ http/tests/security/isolatedWorld/didClearWindowObject.html
+
+ Fixes <http://webkit.org/b/31124> Tell the WebFrameLoadDelegate when
+ window objects in isolated worlds are cleared
+
+ Reviewed by Dave Hyatt.
+
+ * DumpRenderTree/mac/DumpRenderTreeMac.h: Declared worldIDForWorld.
+
+ * DumpRenderTree/mac/FrameLoadDelegate.mm:
+ (-[FrameLoadDelegate didClearWindowObjectInStandardWorldForFrame:]):
+ Added. Moved code here from -webView:didClearWindowObject:forFrame:.
+ (-[FrameLoadDelegate didClearWindowObjectForFrame:inIsolatedWorld:]):
+ Added. Sets a __worldID property on the global object whose value is
+ the ID of this world.
+ (-[FrameLoadDelegate webView:didClearWindowObjectForFrame:inScriptWorld:]):
+ Respond to this new delegate callback by calling through to one of the
+ above new methods.
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (worldMap): Added. Returns a HashMap containing all the worlds we've
+ created.
+ (worldIDForWorld): Added. Returns the ID for this world, or 0 if we
+ haven't kept track of this world.
+ (LayoutTestController::evaluateScriptInIsolatedWorld): Use worldMap()
+ instead of declaring our own.
+
+ * DumpRenderTree/win/DumpRenderTreeWin.h: Declared worldIDForWorld.
+
+ * DumpRenderTree/win/FrameLoadDelegate.cpp:
+ (FrameLoadDelegate::didClearWindowObject): Moved code from hear to
+ didClearWindowObjectForFrameInStandardWorld.
+ (FrameLoadDelegate::didClearWindowObjectForFrameInScriptWorld):
+ Respond to this new delegate callback by calling through to one of the
+ below new methods.
+ (FrameLoadDelegate::didClearWindowObjectForFrameInIsolatedWorld):
+ Added. Sets a __worldID property on the gobal object whose value is
+ the ID of this world.
+ (FrameLoadDelegate::didClearWindowObjectForFrameInStandardWorld):
+ Added. Moved code here from didClearWindowObject.
+
+ * DumpRenderTree/win/FrameLoadDelegate.h: Added the
+ didClearWindowObjectForFrame* functions.
+
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (worldMap): Added. Returns a HashMap containing all the worlds we've
+ created.
+ (worldIDForWorld): Added. Returns the ID of this world, or 0 if we
+ haven't kept track of this world.
+ (LayoutTestController::evaluateScriptInIsolatedWorld): Use worldMap()
+ instead of declaring our own.
+
+2009-11-13 Adam Roben <aroben@apple.com>
+
+ Finish replacing worldIDs with world objects
+
+ The only remaining use of worldIDs was in a method only used by DRT
+ for the isolated worlds tests.
+
+ Fixes <http://webkit.org/b/31414> Replace worldIDs with world objects
+
+ Reviewed by Mark Rowe.
+
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (LayoutTestController::evaluateScriptInIsolatedWorld):
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::evaluateScriptInIsolatedWorld):
+ Updated for changes to WebFrame. Now holds the map of worldID -> world
+ at this level instead of making WebKit do it.
+
+2009-11-13 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Ensure the DRT does not output anything until first test is run
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ * DumpRenderTree/qt/DumpRenderTree.h:
+
+2009-11-13 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Clear the undo stack in before each new test run.
+
+ Locally fixes 3 incorrect layouts, 9 timeouts and 7 crashes.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting):
+
+2009-11-13 Andras Becsi <becsi.andras@stud.u-szeged.hu>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Add WebKitUsesPageCachePreferenceKey overriding support to DRT's LayoutTestController.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::WebPage::resetSettings):
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::overridePreference):
+
+2009-11-13 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Update committers.py based on svn records
+ https://bugs.webkit.org/show_bug.cgi?id=31366
+
+ This list was generated using validate-committer-lists from
+ https://bugs.webkit.org/show_bug.cgi?id=30970
+ and makes committers.py current for committers who have
+ committed in the last 3 years.
+
+ * Scripts/modules/committers.py:
+
+2009-11-12 Anantanarayanan G Iyengar <ananta@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ The document-open.html test was flaky at times. The test invokes the layout test plugin
+ which in its destroy stream handler opens a new document. This basically tears down the
+ stream and the associated plugin instance. The pluginLog function in the layout test
+ plugin attempts to retrieve the window script object on a torn down plugin instance
+ which crashed consistently on windows in the debugger. The functions which issue
+ these logs already have a valid window script object. We now have variants of the pluginLog
+ function which take in a window script object with and without variable arguments.
+
+ https://bugs.webkit.org/show_bug.cgi?id=31067
+
+ * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
+ (pluginLogWithWindowObject):
+ (pluginLogWithWindowObjectVariableArgs):
+ (pluginLog):
+ (notifyTestCompletion):
+ (testDocumentOpen):
+ (testWindowOpen):
+
+2009-11-12 Joanmarie Diggs <joanmarie.diggs@gmail.com>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30997
+ [Gtk] Implemment AtkDocument
+
+ Added testing support.
+
+ * DumpRenderTree/AccessibilityUIElement.cpp:
+ * DumpRenderTree/AccessibilityUIElement.h:
+ (getDocumentEncodingCallback):
+ (getDocumentURICallback):
+ (AccessibilityUIElement::getJSClass):
+ * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
+ * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+ * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
+ (AccessibilityUIElement::documentEncoding):
+ (AccessibilityUIElement::documentURI):
+
+2009-11-12 Adam Roben <aroben@apple.com>
+
+ Replace worldIDs with world objects
+
+ Part of <http://webkit.org/b/31414> Implement new SPI for dealing with
+ user scripts/stylesheets and isolated worlds
+
+ Reviewed by Sam Weinig.
+
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (LayoutTestController::addUserScript):
+ (LayoutTestController::addUserStyleSheet):
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::addUserScript):
+ (LayoutTestController::addUserStyleSheet):
+ Changed these functions to create a new WebJSWorld each time they're
+ called and to pass that world to WebKit.
+
+2009-11-11 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ need to implement aria tree roles
+ https://bugs.webkit.org/show_bug.cgi?id=31284
+
+ * DumpRenderTree/AccessibilityUIElement.cpp:
+ (disclosedRowAtIndexCallback):
+ (selectedRowAtIndexCallback):
+ (isEqualCallback):
+ (isAttributeSettableCallback):
+ (isActionSupportedCallback):
+ (disclosedByRowCallback):
+ (hierarchicalLevelCallback):
+ (AccessibilityUIElement::getJSClass):
+ * DumpRenderTree/AccessibilityUIElement.h:
+ (AccessibilityUIElement::isEqual):
+ * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
+ (AccessibilityUIElement::hierarchicalLevel):
+ (AccessibilityUIElement::disclosedRowAtIndex):
+ (AccessibilityUIElement::selectedRowAtIndex):
+ (AccessibilityUIElement::disclosedByRow):
+ * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+ (AccessibilityUIElement::getChildAtIndex):
+ (AccessibilityUIElement::disclosedRowAtIndex):
+ (AccessibilityUIElement::selectedRowAtIndex):
+ (AccessibilityUIElement::titleUIElement):
+ (AccessibilityUIElement::parentElement):
+ (AccessibilityUIElement::disclosedByRow):
+ (AccessibilityUIElement::hierarchicalLevel):
+ * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
+ (AccessibilityUIElement::hierarchicalLevel):
+ (AccessibilityUIElement::disclosedRowAtIndex):
+ (AccessibilityUIElement::selectedRowAtIndex):
+ (AccessibilityUIElement::disclosedByRow):
+
+2009-11-11 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ svn-apply can not handle git binary diffs
+ https://bugs.webkit.org/show_bug.cgi?id=26830
+
+ Support "literal" type git binary diffs.
+
+ * Scripts/VCSUtils.pm:
+ * Scripts/modules/scm_unittest.py:
+ * Scripts/svn-apply:
+
+2009-11-11 Dmitry Titov <dimich@chromium.org>
+
+ Not reviewed, removing duplicate entry for myself in committers.py.
+
+ * Scripts/modules/committers.py:
+
+2009-11-11 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler and Mark Rowe.
+
+ https://bugs.webkit.org/show_bug.cgi?id=31200
+ Tests in http/tests/security/mixedContent start to fail when new tests are added
+
+ * DumpRenderTree/mac/DumpRenderTree.mm: (dumpRenderTree): Added a workaround for Tiger bug.
+
+2009-11-11 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Jan Alonzo.
+
+ Create, and display a window for the inspector, for inspector
+ tests.
+
+ Need to also show/hide the inspector window to avoid having
+ problems with code assuming it is realized
+ https://bugs.webkit.org/show_bug.cgi?id=31347
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (webInspectorShowWindow):
+ (webInspectorCloseWindow):
+ (webInspectorInspectWebView):
+ (createWebView):
+
+2009-11-11 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Unreviewed Qt buildbot fix.
+
+ My previous fix was wrong, so revert that change and fix it by
+ returning when the document of the frame has no document element.
+ Idea is borrowed from mac and win DRT.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::DumpRenderTree::dumpFramesAsText):
+
+2009-11-11 Eric Seidel <eric@webkit.org>
+
+ Reviewed byg Kenneth Rohde Christiansen.
+
+ Update Kenneth's committer record to include the email he
+ uses on lists.webkit.org.
+
+ * Scripts/modules/committers.py:
+
+2009-11-11 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ Several committers use separate email addresses for bugzilla and svn.webkit.org
+ https://bugs.webkit.org/show_bug.cgi?id=31364
+
+ Update records for existing committers to include email addresses
+ used in svn.webkit.org and lists.webkit.org.
+ Most committers use the same email address in all 3 places, but some use
+ separate addresses. committers.py needs record of each of these addresses.
+
+ * Scripts/modules/committers.py:
+
+2009-11-11 Eric Seidel <eric@webkit.org>
+
+ No review, adding second email address for an existing committer.
+
+ Add Yong Li's second bugzilla account to his committer record.
+ See: https://bugs.webkit.org/show_bug.cgi?id=27371#c27
+
+ * Scripts/modules/committers.py:
+
+2009-11-11 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ If the frame has no innerText don't append it, and
+ do not add a newline which breaks some cross platform
+ results.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::DumpRenderTree::dumpFramesAsText):
+
+2009-11-11 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ Implement missing functionality in the Gtk/Qt TestNetscapePlugin.
+
+ * DumpRenderTree/gtk/TestNetscapePlugin/TestNetscapePlugin.cpp:
+ (webkit_test_plugin_new_instance):
+ (webkit_test_plugin_destroy_instance):
+ (webkit_test_plugin_destroy_stream):
+
+2009-11-11 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Implement the functionality needed by plugins/window-open.html
+
+ * DumpRenderTree/gtk/TestNetscapePlugin/TestNetscapePlugin.cpp:
+ (webkit_test_plugin_new_instance):
+ (webkit_test_plugin_set_window):
+
+2009-11-11 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Force -graphicssystem raster and -style windows when running DRT
+
+ * DumpRenderTree/qt/main.cpp:
+ * Scripts/run-webkit-tests:
+
+2009-11-11 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Compute correct library paths for Qt
+
+ * Scripts/webkitdirs.pm:
+
+2009-11-10 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <http://webkit.org/b/31200> Tests in http/tests/security/mixedContent start to fail when new tests are added
+
+ The first request to an HTTPS URL results in didFailProvisionalLoadWithError being called with an error
+ about the validity of the self-signed certificates used in the regression tests. We would then add the
+ host to the ignore list for SSL certificate errors and retry the request. If this happened during a test
+ that had enabled frame load delegate logging this would result in extra log messages being generated,
+ causing the test to fail.
+
+ We address this by explicitly ignoring SSL certificate errors for localhost and 127.0.0.1 before running any
+ tests.
+
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (dumpRenderTree):
+ * DumpRenderTree/mac/FrameLoadDelegate.mm:
+ (-[FrameLoadDelegate webView:didFailProvisionalLoadWithError:forFrame:]):
+
+2009-11-10 Andras Becsi <becsi.andras@stud.u-szeged.hu>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Remove obsolete scrollbar policy settings from DRT constructor.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::DumpRenderTree::DumpRenderTree):
+
+2009-11-10 Philippe Normand <pnormand@igalia.com>
+
+ Reviewed by Jan Alonzo.
+
+ [GTK] Remove WebSocket configuration from WebKitWebSettings
+ https://bugs.webkit.org/show_bug.cgi?id=31244
+
+ Follow-up of r50724. Don't set the enable-web-socket property
+ anymore.
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (resetDefaultsToConsistentValues):
+
+2009-11-10 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Rename 3D Canvas related classes to use WebGL prefix
+ https://bugs.webkit.org/show_bug.cgi?id=29095
+
+ Checkin new version of do-webcore-rename used to do the WebGL type rename,
+ and upate webkitdirs script to new method of testing for WebGL.
+
+ * Scripts/do-webcore-rename:
+ * Scripts/webkitdirs.pm:
+
+2009-11-09 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Make do-webcore-rename work with git.
+
+ * Scripts/do-webcore-rename:
+
+2009-11-09 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Adding Kenneth to the reviewers list.
+
+ * Scripts/modules/committers.py:
+
+2009-11-09 Martin Robinson <martin.james.robinson@gmail.com>
+
+ Reviewed by Jan Alonzo.
+
+ [GTK] Expose Page::tabKeyCyclesThroughElements in the API
+ https://bugs.webkit.org/show_bug.cgi?id=30482
+
+ LayoutTestControllerGtk now uses the exposed
+ Page::tabKeyCyclesThroughElements API
+
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::setTabKeyCyclesThroughElements):
+
+2009-11-08 Shu Chang <Chang.Shu@nokia.com>
+
+ Reviewed by Holger Freyther.
+
+ [Qt] Added support for key code 8 (backspace) in EventSenderQt.
+ This helps to pass the test case below. Also replaced hardcoded
+ code numbers with defined constants.
+ https://bugs.webkit.org/show_bug.cgi?id=31185
+
+ Test: editing/undo/undo-deleteWord.html
+
+ * DumpRenderTree/qt/EventSenderQt.cpp:
+ (EventSender::keyDown):
+
+2009-11-07 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Holger Freyther.
+
+ [Qt] [DRT] Fix wrong logic in LayoutTestController processWork
+ https://bugs.webkit.org/show_bug.cgi?id=31164
+
+ Fixed wrong logic to assume WorkQueue is done in QT's DRT.
+
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::processWork):
+
+2009-11-05 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Holger Freyther.
+
+ [Qt][DRT] Replace queueScript by queueNonLoadingScript and queueLoadingScript method
+ https://bugs.webkit.org/show_bug.cgi?id=31158
+
+ By invoking a script queue'd by queueScript(), 'true' was beeing returned
+ always, which from WorkQueue prospective means that a load has been started
+ and the queue processing should stop and wait for the load to finish.
+ Spinning it off into a loading and a non-loading variants was the solution
+ adopted by Mac's DRT to work around this problem. The former keeps returning
+ 'true' while the later executes the script synchronously and returns 'false'
+ making it possible to the WorkQueue to proceed right away.
+
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::processWork):
+ (LayoutTestController::queueLoadingScript):
+ (LayoutTestController::queueNonLoadingScript):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+ * DumpRenderTree/qt/WorkQueueItem.h:
+ (LoadingScriptItem::LoadingScriptItem):
+ (LoadingScriptItem::invoke):
+ (NonLoadingScriptItem::NonLoadingScriptItem):
+ (NonLoadingScriptItem::invoke):
+
+2009-11-07 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Cameron Zwarich.
+
+ Invoke prepare-ChangeLog via an absolute path rather than assuming it can be found in PATH.
+
+ * Scripts/commit-log-editor:
+
+2009-11-07 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix <https://bugs.webkit.org/show_bug.cgi?id=28168>.
+ commit-log-editor does not support all the email address configurations that prepare-Changelog supports
+
+ Move logic for determining the name and email address to use in a ChangeLog entry from
+ prepare-ChangeLog to VCSUtils so that commit-log-editor can use it. It wants to check
+ whether the author of the patch matches committer, and therefore needs access to the
+ email address that would be used in a ChangeLog entry.
+
+ Based on a patch by Pierre d'Herbemont.
+
+ * Scripts/VCSUtils.pm:
+ * Scripts/commit-log-editor:
+ * Scripts/prepare-ChangeLog:
+ * Scripts/webkitdirs.pm:
+
+2009-11-06 Anantanarayanan G Iyengar <ananta@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Added functionality to the layout test plugin to invoke document.open and
+ window.open with default arguments. The associated webkit bug is
+ https://bugs.webkit.org/show_bug.cgi?id=31067, which affects Chromium. Basically
+ window.open and document.open calls issued by NPAPI plugins via NPN_Invoke don't
+ work in Chromium (V8) if there is no calling javascript context. To achieve this
+ effect we invoke these functions in the layout test plugin in the NPP_SetWindow
+ for the window.open test case and in NPP_DestroyStream for the document.open test case.
+
+ * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
+ (testDocumentOpen):
+ (testWindowOpen):
+ (pluginAllocate):
+ * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.h:
+ * DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp:
+ (NPP_New):
+ (NPP_SetWindow):
+ (NPP_DestroyStream):
+ * DumpRenderTree/win/TestNetscapePlugin/main.cpp:
+ (NPP_New):
+ (NPP_SetWindow):
+ (NPP_NewStream):
+ (NPP_DestroyStream):
+
+2009-11-06 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ bugzilla-tool crashed with exception
+ https://bugs.webkit.org/show_bug.cgi?id=31092
+
+ * Scripts/modules/bugzilla.py: Change a ',' to a '%' to fix the error.
+
+2009-11-04 Eric Seidel <eric@webkit.org>
+
+ No review, just add a line which got left out of the patch uploaded for commit.
+
+ commit-queue is crashing when trying to reject patches after unknown failures
+ https://bugs.webkit.org/show_bug.cgi?id=31091
+
+ * Scripts/bugzilla-tool: Set bug_log = None after closing to we don't re-close and crash.
+
+2009-11-04 Adam Roben <aroben@apple.com>
+
+ Remove bogus else clause in bugzilla-tool
+
+ Fixes <http://webkit.org/b/31125> REGRESSION (r47121): bugzilla-tool
+ create-bug raises exception after entering bug description
+
+ Reviewed by David Kilzer.
+
+ * Scripts/bugzilla-tool:
+ (CreateBug): else clauses are only hit if no exception is raised, so
+ it makes no sense to try to re-raise the exception in an else clause.
+ The exception will automatically be re-raised if it doesn't match any
+ of the except clauses, so we don't have to do anything special here at
+ all to get the desired behavior.
+
+2009-11-04 Eric Seidel <eric@webkit.org>
+
+ Reviewed by David Kilzer.
+
+ svn-apply's fixChangeLogPatch function seems broken
+ https://bugs.webkit.org/show_bug.cgi?id=30683
+
+ Update fixChangeLogPatch to be able to handle patches which
+ don't start at line 1.
+ Add unit tests for svn-apply to scm_unittest.py.
+
+ * Scripts/VCSUtils.pm:
+ * Scripts/modules/scm_unittest.py:
+
+2009-11-04 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ Need to implement ARIA role="combobox"
+ https://bugs.webkit.org/show_bug.cgi?id=31096
+
+ * DumpRenderTree/AccessibilityUIElement.cpp:
+ (showMenuCallback):
+ (getIsExpandedCallback):
+ (AccessibilityUIElement::getJSClass):
+ * DumpRenderTree/AccessibilityUIElement.h:
+ * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
+ (AccessibilityUIElement::isExpanded):
+ (AccessibilityUIElement::showMenu):
+ * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+ (AccessibilityUIElement::isExpanded):
+ (AccessibilityUIElement::showMenu):
+ * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
+ (AccessibilityUIElement::isSelected):
+ (AccessibilityUIElement::isExpanded):
+ (AccessibilityUIElement::showMenu):
+
+2009-11-04 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ commit-queue is crashing when trying to reject patches after unknown failures
+ https://bugs.webkit.org/show_bug.cgi?id=31091
+
+ * Scripts/bugzilla-tool:
+ - patch['id'] was a copy/paste mistake. This code has no 'patch' variable
+ so we have to find out what the current patch is by asking bugzilla again.
+ - Discovered that this code was also leaking file descriptors, so fixed that.
+
+2009-11-04 Adam Roben <aroben@apple.com>
+
+ Make run-webkit-tests work for the Debug_Internal Windows
+ configuration
+
+ In Debug_Internal, DumpRenderTree.exe and ImageDiff.exe have no _debug
+ suffix.
+
+ Fixes <http://webkit.org/b/31123>.
+
+ Reviewed by Sam Weinig.
+
+ * Scripts/run-webkit-tests: Don't add the _debug suffix in
+ Debug_Internal, either.
+
+2009-11-04 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ committers.py needs a way to store non-bugzilla email addresses
+ https://bugs.webkit.org/show_bug.cgi?id=31037
+
+ Make Committer and Reviewer constructors take a single email or a list of emails.
+ Change committer_by_bugzilla_email functions to committer_by_email to support lookup by any email.
+ Expose reviewers(), used by validate-committer-lists on bug 30970.
+
+ * Scripts/modules/committers.py:
+ * Scripts/modules/committers_unittest.py: Added tests for the new code.
+
+2009-11-03 Yuzo Fujishima <yuzo@google.com>
+
+ Reviewed by David Levin.
+
+ Start/Stop Web Socket and Web Socket Secure servers for layout tests.
+ https://bugs.webkit.org/show_bug.cgi?id=27491
+
+ The test path determination logic is changed to handle websocket and websocket/ssl cases.
+ The logic for non-http (and now also non-websocket) tests is moved toward the end of the if-elsif statement.
+
+ Functions to start or stop Web Socket servers are added.
+
+ * Scripts/run-webkit-tests:
+
+2009-11-03 Eric Seidel <eric@webkit.org>
+
+ No review, just changing wording of log message.
+
+ Change log string to say "failed" instead of "rejected"
+ when a commit fails due to an out of date checkout.
+ This makes grepping the commit-queue log for rejected patches easier.
+
+ * Scripts/bugzilla-tool:
+
+2009-11-03 Eric Seidel <eric@webkit.org>
+
+ No review, adding commonly known committers missing from the file.
+
+ * Scripts/modules/committers.py: Add committers found by looking at SVN records.
+
+2009-11-03 Eric Seidel <eric@webkit.org>
+
+ No review, just sort-order cleanup.
+
+ * Scripts/modules/committers.py: Sort committers/reviewers alphabetically.
+
+2009-11-03 Stephen White <senorblanco@chromium.org>
+
+ (Unreviewed).
+
+ Add myself to committers.py.
+
+ * Scripts/modules/committers.py:
+
+2009-11-03 Robin Dunn <robin@alldunn.com>
+
+ Reviewed by Kevin Ollviier.
+
+ Add packaging scripts for Debian-based Linux distros.
+
+ https://bugs.webkit.org/show_bug.cgi?id=31075
+
+ * wx/packaging/build-debian-installer.py: Added.
+ * wx/packaging/debian: Added.
+
+2009-11-03 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Anders Carlsson and Beth Dakin.
+
+ https://bugs.webkit.org/show_bug.cgi?id=31070
+
+ Added an 'ondestroy' parameter to the test plug-in. When the plug-in is
+ destroyed, it executes the value of the 'ondestroy' parameter as a
+ script.
+
+ * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
+ (pluginAllocate): Initialize onDestroy.
+ * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.h: Define
+ onDestroy.
+ * DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp:
+ (NPP_New): Set onDestroy to the value of the 'ondestroy' parameter, if
+ specified.
+ (NPP_Destroy): Execute the value of 'ondestroy' as a script.
+
+2009-11-02 Joanmarie Diggs <joanmarie.diggs@gmail.com>
+
+ Reviewed by Xan Lopez.
+
+ https://bugs.webkit.org/show_bug.cgi?id=31035
+ [GTK] some accessibility tests hitting assertion in debug builds
+
+ Get the correct Gtk+ object before attempting to turn it into an AtkObject.
+
+ * DumpRenderTree/gtk/AccessibilityControllerGtk.cpp:
+ (AccessibilityController::rootElement):
+
+2009-11-02 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ Support ARIA "tab" roles
+ https://bugs.webkit.org/show_bug.cgi?id=30842
+
+ * DumpRenderTree/AccessibilityUIElement.cpp:
+ * DumpRenderTree/AccessibilityUIElement.h:
+ * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
+ * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+ * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
+
+2009-11-01 Eric Seidel <eric@webkit.org>
+
+ Reviewed by David Levin.
+
+ buildbots should use --exit-after-N-failures
+ https://bugs.webkit.org/show_bug.cgi?id=30809
+
+ Make the bots exit after 20 failures to prevent never-ending
+ test runs where every test spends a minute crashing.
+
+ * BuildSlaveSupport/build.webkit.org-config/master.cfg:
+
+2009-11-01 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ Turn on warnings for QtWebKit for gcc
+ https://bugs.webkit.org/show_bug.cgi?id=30958
+
+ * DumpRenderTree/qt/main.cpp:
+ (crashHandler): Mark function NO_RETURN
+
+2009-11-01 Jessie Berlin <jberlin@webkit.org>
+
+ Adding myself to the committers list.
+
+ * Scripts/modules/committers.py:
+
+2009-10-30 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Fix an issue that Adam noticed in DRT.
+
+ Reviewed by Darin Adler.
+
+ * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
+ (AccessibilityUIElement::role):
+ Get the length of the role text, and create a buffer dynamically.
+
+2009-10-30 Eric Seidel <eric@webkit.org>
+
+ No review, rolling out r50105.
+ http://trac.webkit.org/changeset/50105
+
+ This commit was causing:
+ https://bugs.webkit.org/show_bug.cgi?id=30869
+ We'll re-implement the feature a different way.
+
+ * Scripts/bugzilla-tool:
+
+2009-10-29 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Test for MSAA: Accessibility of headings is not correct
+
+ https://bugs.webkit.org/show_bug.cgi?id=30937
+
+ Reviewed by Adam Roben.
+
+ * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
+ (AccessibilityUIElement::role):
+ Allow the role returned to be a BSTR.
+ (AccessibilityUIElement::description):
+ Fix a copy/paste error.
+
+2009-10-29 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Test for MSAA: Accessibility of links is wrong
+
+ https://bugs.webkit.org/show_bug.cgi?id=30928
+
+ Reviewed by Darin Adler.
+
+ * DumpRenderTree/AccessibilityUIElement.cpp:
+ (getAccessibilityValueCallback):
+ Return the accessibility value.
+ (AccessibilityUIElement::getJSClass):
+ Added "accessibilityValue" value.
+
+ * DumpRenderTree/AccessibilityUIElement.h:
+
+ * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
+ (AccessibilityUIElement::accessibilityValue):
+ Stubbed.
+
+ * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+ (AccessibilityUIElement::accessibilityValue):
+ Stubbed.
+
+ * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
+ (AccessibilityUIElement::accessibilityValue):
+ Get the object's value, and return it as a JS string.
+
+2009-10-30 Kevin Ollivier <kevino@theolliviers.com>
+
+ Fix typo in command name used by wx build system.
+
+ * wx/build/build_utils.py:
+
+2009-10-30 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Patch v1 is a dumb default name for patches
+ https://bugs.webkit.org/show_bug.cgi?id=30952
+
+ Let's use "Patch" instead.
+
+ * Scripts/bugzilla-tool:
+
+2009-10-30 Andras Becsi <becsi.andras@stud.u-szeged.hu>
+
+ Unreviewed trivial buildfix.
+
+ [Qt] Buildfix for r50333.
+
+ * DumpRenderTree/qt/DumpRenderTree.pro:
+
+2009-10-30 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Holger Freyther.
+
+ [Qt] Remove qt/WorkQueue.cpp|h in favor of platform independent WorkQueue
+ https://bugs.webkit.org/show_bug.cgi?id=30953
+
+ DumpRenderTree/WorkQueue and DumpRenderTree/qt/WorkQueue share mostly the
+ same implementation. Some Q_ASSERTs differ from ASSERTs basically. Patch
+ makes qt DRT to share this implementation (as gtk and mac ports do).
+
+ * DumpRenderTree/qt/DumpRenderTree.pro:
+ * DumpRenderTree/qt/WorkQueue.cpp: Removed.
+ * DumpRenderTree/qt/WorkQueue.h: Removed.
+
+2009-10-30 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Unreviewed potential buildbot fix.
+
+ Second try: Reset page history before running each test.
+
+ Apparently the QWebHistory::clear() keeps the current page
+ in history which is not what we want, so we not additionally
+ sets the history capacity to 0 (forces removing everything)
+ and then sets it back to its original value.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting):
+
+2009-10-30 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Unreviewed potential buildbot fix.
+
+ Reset page history before running each test.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting):
+
+2009-10-30 Roland Steiner <rolandsteiner@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Remove ENABLE_RUBY guards as discussed with Dave Hyatt and Maciej Stachowiak.
+
+ Bug 28420 - Implement HTML5 <ruby> rendering
+ (https://bugs.webkit.org/show_bug.cgi?id=28420)
+
+ No new tests (no functional change).
+
+ * Scripts/build-webkit:
+
+2009-10-29 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Fix “Undefined subroutine†errors in svn-*apply by moving the removeEOL subroutine
+ from the two scripts that define it but don’t use it to the script that uses it but doesn’t
+ define it.
+
+ * Scripts/VCSUtils.pm:
+ * Scripts/svn-apply:
+ * Scripts/svn-unapply:
+
+2009-10-29 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ Use the GTK+ main loop instead of rolling our own mini-version of
+ it.
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (dump):
+ (runTest):
+ (webViewLoadFinished):
+
+2009-10-29 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ Implement the Qt version of DRT dumpBackForwardList().
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::dumpHistoryItem):
+ (WebCore::DumpRenderTree::dumpBackForwardList):
+
+2009-10-29 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Implement DRT functionality for Qt introduced in
+ r28690 and r28705.
+
+ - Implemented pathToLocalResource which exposes the functionality of
+ converting a given unix path to the correct location on Windows.
+ - Implemented a way to remove machine-dependent information from paths
+ in layout test results.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::urlSuitableForTestResult):
+ (WebCore::WebPage::javaScriptConsoleMessage):
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::pathToLocalResource):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+
+2009-10-28 Roland Steiner <rolandsteiner@chromium.org>
+
+ Adding myself to the committers list.
+
+ * Scripts/modules/committers.py:
+
+2009-10-28 Chris Fleizach <cfleizach@apple.com>
+
+ Adding myself to the committers list.
+
+ * Scripts/modules/committers.py:
+
+2009-10-28 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Jan Alonzo.
+
+ [GTK] API to start inspector for a WebView
+ https://bugs.webkit.org/show_bug.cgi?id=22551
+
+ Use the new inspector API to implement the LayoutTestController
+ interfaces used to test the inspector.
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (webInspectorInspectWebView):
+ (createWebView):
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::showWebInspector):
+ (LayoutTestController::closeWebInspector):
+ (LayoutTestController::evaluateInWebInspector):
+
+2009-10-28 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ [Qt] WebFrame::counterValueForElementById must not be exposed
+ https://bugs.webkit.org/show_bug.cgi?id=30882
+
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::counterValueForElementById):
+
+2009-10-28 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Rubberstamped by Oliver Hunt.
+
+ Fix the warning:
+
+ "warning: ignoring return value of 'char* getcwd(char*, size_t)',
+ declared with attribute warn_unused_result".
+
+ by actually checking the result. In the case it is null, an
+ error has occoured, so treat it as the other fatal errors.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::DumpRenderTree::initializeFonts):
+
+2009-10-27 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Provide a way to get counter values with layoutTestContoller
+ https://bugs.webkit.org/show_bug.cgi?id=30555
+
+ Define layoutTestContoller.counterValueForElementById.
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (counterValueForElementByIdCallback):
+ (LayoutTestController::staticFunctions):
+ * DumpRenderTree/LayoutTestController.h:
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (LayoutTestController::counterValueForElementById):
+
+2009-10-27 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Rubberstamped by Oliver Hunt.
+
+ Change two methods to be internal for DRT use only.
+
+ Part of [Qt] Review all new API in Qt 4.6
+ https://bugs.webkit.org/show_bug.cgi?id=29843#c11
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting):
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::whiteListAccessFromOrigin):
+
+2009-10-27 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ REGRESSION: svn-apply exits(1) when applying a patch with a file add
+ https://bugs.webkit.org/show_bug.cgi?id=30826
+
+ * Scripts/svn-apply:
+ - Add () around all system() calls.
+ - Use the correct system() == 0 or die instead of system() or die
+ - Add descriptive messages to all die statements.
+
+2009-10-27 Steve Block <steveblock@google.com>
+
+ Reviewed by NOBODY.
+
+ Adds steveblock@google.com to list of committers.
+
+ * Scripts/modules/committers.py: Adds steveblock@google.com to list of committers.
+
+2009-10-27 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ svn-apply can exit(0) even on patch failure
+ https://bugs.webkit.org/show_bug.cgi?id=29622
+
+ * Scripts/svn-apply:
+ - Add a bunch of "or die" statements, hopefully catching all
+ possible cases where failure could still exit(0).
+
+2009-10-27 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ svn-* scripts should share code through VCSUtils.pm
+ https://bugs.webkit.org/show_bug.cgi?id=30791
+
+ Just moving code into a shared location.
+
+ * Scripts/VCSUtils.pm:
+ * Scripts/prepare-ChangeLog:
+ * Scripts/resolve-ChangeLogs:
+ * Scripts/svn-apply:
+ * Scripts/svn-create-patch:
+ * Scripts/svn-unapply:
+ * Scripts/update-webkit:
+
+2009-10-27 Vadim Zeitlin <vadim@wxwidgets.org>
+
+ Suppress a huge number of MSVC warnings when building wxWebKit.
+
+ * wx/build/settings.py:
+
+2009-10-26 Eric Seidel <eric@webkit.org>
+
+ No review, just adding Mike Belshe to the committers list.
+
+ * Scripts/modules/committers.py:
+
+2009-10-26 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Make .rc files compile on Windows without depending on MFC headers
+ https://bugs.webkit.org/show_bug.cgi?id=30750
+
+ * DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin.rc: Use
+ windows.h instead of afxres.h because it exists even when MFC is not
+ installed, and is all that's needed here.
+
+ * FindSafari/FindSafari.rc: Ditto
+
+2009-10-24 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ bugzilla-tool post-diff should know how to mark commit-queue=?
+ https://bugs.webkit.org/show_bug.cgi?id=29202
+
+ * Scripts/bugzilla-tool:
+ - Add --commit-queue option to post-diff, post-commits and create-bug.
+ * Scripts/modules/bugzilla.py:
+ - Added support for --commit-queue to add_patch_to_bug and create_bug_with_patch.
+ - Added _fill_attachment_form to share code between add_patch_to_bug and create_bug_with_patch.
+
+2009-10-23 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ bugzilla-tool commit-queue does not notice modifications to committers.py
+ https://bugs.webkit.org/show_bug.cgi?id=30084
+
+ * Scripts/bugzilla-tool:
+ - Make commit-queue re-exec itself instead of using while(1).
+ - Add a --is-relaunch parameter to commit-queue to bypass initialization on re-launch.
+ - Add a _next_patch() method which calls exec() (and could eventually call update-webkit too).
+
+2009-10-22 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ commit-queue will get stuck on patches if land-patches terminates unexpectedly
+ https://bugs.webkit.org/show_bug.cgi?id=30634
+
+ * Scripts/bugzilla-tool:
+ - Add a way for land-patches to exit(2) to indicate an error, but one it has handled.
+ - Make commit-queue auto cq- any patch where land-patches exited anything other than '0' or '2'.
+
+2009-10-26 Yuzo Fujishima <yuzo@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Upgrade pywebsocket to 0.4.1. This will make reusing LayoutTests/fast/js/resources easier, for example.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30763
+
+ * pywebsocket/mod_pywebsocket/__init__.py:
+ * pywebsocket/mod_pywebsocket/dispatch.py:
+ * pywebsocket/mod_pywebsocket/headerparserhandler.py:
+ * pywebsocket/mod_pywebsocket/standalone.py:
+ * pywebsocket/setup.py:
+ * pywebsocket/test/test_dispatch.py:
+
+2009-10-26 Carol Szabo <carol.szabo@nokia.com>
+
+ Reviewed by David Levin.
+
+ REGRESSION: 2 failures in run-webkit-unittests
+ https://bugs.webkit.org/show_bug.cgi?id=30645
+
+ * Scripts/modules/cpp_style_unittest.py:
+ Fixed a few test scenarios which apparently lost some spaces from
+ text literals.
+
+2009-10-26 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix. Make sure isQt() doesn't return true if --wx was passed to build-webkit.
+
+ * Scripts/webkitdirs.pm:
+
+2009-10-26 Csaba Osztrogonác <ossy@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Unification of using null device in perl scripts.
+ https://bugs.webkit.org/show_bug.cgi?id=30572
+
+ * Scripts/VCSUtils.pm:
+ * Scripts/bisect-builds:
+ * Scripts/resolve-ChangeLogs:
+ * Scripts/run-iexploder-tests:
+ * Scripts/run-jsc:
+ * Scripts/run-mangleme-tests:
+ * Scripts/run-webkit-tests:
+ * Scripts/webkitdirs.pm:
+ Using File::Spec->devnull() instead of hard coded /dev/null.
+
+2009-10-26 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Holger Freyther.
+
+ Reviewers are missing from committers.py
+ https://bugs.webkit.org/show_bug.cgi?id=30733
+
+ * Scripts/modules/committers.py:
+
+2009-10-23 Eric Seidel <eric@webkit.org>
+
+ No review, only adding Alice to the list of reviewers.
+
+ * Scripts/modules/committers.py:
+
+2009-10-23 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Eric Carlson.
+
+ fast/media/mq-transform-02.html failed on Leopard Commit Bot
+ https://bugs.webkit.org/show_bug.cgi?id=30700
+
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (resetDefaultsToConsistentValues): Update QuickTime version check.
+
+2009-10-23 Kevin Ollivier <kevino@theolliviers.com>
+
+ wxMac 10.4 build fix, needs to link against WebKitSystemInterfaceTiger to get
+ character measurement APIs that are private on Tiger.
+
+ * wx/build/settings.py:
+
+2009-10-22 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (build fix).
+ Build fix following bug #30696.
+
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::evaluateScriptInIsolatedWorld):
+
+2009-10-22 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam Weinig & Geoff Garen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30696
+ Enable isolated-worlds tests on mac.
+
+ Add private interface for DRT to invoke execution in a given world.
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (evaluateScriptInIsolatedWorldCallback):
+ (LayoutTestController::staticFunctions):
+ * DumpRenderTree/LayoutTestController.h:
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (LayoutTestController::evaluateScriptInIsolatedWorld):
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::evaluateScriptInIsolatedWorld):
+
+2009-10-21 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ bugzilla-tool's "patch failed to download an apply" error should give more information
+ https://bugs.webkit.org/show_bug.cgi?id=30632
+
+ * Scripts/modules/scm.py:
+ - Use the common run_command method instead of custom POpen code.
+ - Make run_command know how to take pipes as input.
+ * Scripts/modules/scm_unittest.py:
+ - Add new tests to cover change.
+ - Also move test_error_handlers into new SCMClassTests so we don't run it 3 times.
+
+2009-10-21 Kent Tamura <tkent@chromium.org>
+
+ Unreviewed. Adding myself to the committers list.
+
+ * Scripts/modules/committers.py:
+
+2009-10-21 Robin Dunn <robin@alldunn.com>
+
+ Reviewed by Kevin Ollivier.
+
+ Update the Windows installer builder to work with Vista / Win 7 and with git.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30649
+
+ * wx/build/build_utils.py:
+ * wx/packaging/build-mac-installer.py:
+ * wx/packaging/build-win-installer.py:
+ * wx/packaging/wxWebKitInstaller.iss.in:
+
+2009-10-21 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ [GTK] Added conditional code to avoid using
+ gdk_window_get_root_coords if we do not have a gtk+ release newer
+ than 2.17.3.
+ https://bugs.webkit.org/show_bug.cgi?id=30636
+
+ * WebKitTools/DumpRenderTree/gtk/EventSender.cpp:
+
+2009-10-21 Shu Chang <Chang.Shu@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ [Qt] Added dummy implementation for keepWebHistory()
+ https://bugs.webkit.org/show_bug.cgi?id=30592
+
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::keepWebHistory):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+
+2009-10-21 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] Fixed the double click condition, it is not double click if
+ we move in just in one direction.
+ https://bugs.webkit.org/show_bug.cgi?id=30636
+
+ * WebKitTools/DumpRenderTree/gtk/EventSender.cpp:
+
+2009-10-21 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] Initialize the events completly before emitting them.
+ https://bugs.webkit.org/show_bug.cgi?id=30633
+
+ * WebKitTools/DumpRenderTree/gtk/EventSender.cpp:
+
+2009-10-21 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix. Fix for when linking using --as-needed with gcc.
+
+ * wx/browser/wscript:
+
+2009-10-21 Kevin Ollivier <kevino@theolliviers.com>
+
+ wxMac 10.4 build fix. Build and link against a version of libcurl new enough
+ to support all the features used by CURL backend.
+
+ * wx/build/settings.py:
+ * wx/install-unix-extras:
+
+2009-10-20 Anton Muhin <antonm@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Add {ager,antonm,yurys}@chromium.org into committers.py
+ https://bugs.webkit.org/show_bug.cgi?id=30560
+
+ * Scripts/modules/committers.py:
+
+2009-10-20 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Make the Netscape Test plugin available to the Qt launcher.
+
+ * Scripts/run-launcher:
+
+2009-10-20 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by David Levin.
+
+ Removed WebSocket runtime settings.
+ https://bugs.webkit.org/show_bug.cgi?id=29896
+
+ WebSocket runtime configuration is supported by chromium/v8 only.
+
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (resetDefaultsToConsistentValues):
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (resetDefaultsToConsistentValues):
+
+2009-10-19 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Add testFail() to test plugin so we can test our handling of a
+ plugin invoke call returning false.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30239
+
+ * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp: Add testFail().
+ (pluginInvoke):
+ (testIdentifierToString): Always return true, since returning false will now cause an exception to be thrown.
+
+2009-10-19 Zan Dobersek <zandobersek@gmail.com>
+
+ Reviewed by Gustavo Noronha.
+
+ Enable DOM pasting when running layout tests.
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (resetDefaultsToConsistentValues):
+
+2009-10-18 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ Use the setPreferredContentsSize method instead
+ of setFixedContentsSize, as the method has been renamed.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::DumpRenderTree::open):
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::setFixedContentsSize):
+
+2009-10-16 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30456
+ Fixes for new Debug_All Windows build configuration.
+
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (sharedCFURLCache): Use new DEBUG_ALL preprocessor define for library naming.
+ * DumpRenderTree/win/DumpRenderTree.vcproj: Remove unused DEBUG_WEBKIT_HAS_SUFFIX.
+
+2009-10-16 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ commit-queue status bot should list which buildbot is blocking the queue
+ https://bugs.webkit.org/show_bug.cgi?id=30452
+
+ Add new methods and testing.
+
+ * Scripts/bugzilla-tool:
+ * Scripts/modules/buildbot.py:
+ * Scripts/modules/buildbot_unittest.py:
+
+2009-10-16 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ run-webkit-tests fails when CWD is not inside a WebKit checkout
+ https://bugs.webkit.org/show_bug.cgi?id=30451
+
+ * Scripts/modules/scm.py: in_working_directory shouldn't throw exceptions on failure.
+ * Scripts/modules/scm_unittest.py:
+ - Remove use of original_path (we don't need to restore the CWD).
+ - Don't use '.' to find the webkit checkout, use __file__ instead.
+
+2009-10-16 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add a Debug_All configuration to build entire stack as debug.
+ Change Debug_Internal to:
+ - stop using _debug suffix for all WebKit/Safari binaries
+ - not use _debug as a DLL naming suffix
+ - use non-debug C runtime lib.
+
+ * DumpRenderTree/DumpRenderTree.sln: Add Debug_All configuration.
+ * DumpRenderTree/win/DumpRenderTree.vcproj: Add Debug_All configuration.
+ * DumpRenderTree/win/ImageDiff.vcproj: Add Debug_All configuration.
+ * DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin.vcproj:
+ Add missing debug.vsprops inherited property sheet.
+ Add Debug_All configuration.
+ * FindSafari/FindSafari.vcproj: Renamed single configuration from "Release" to "all".
+ * WinLauncher/WinLauncher.vcproj:
+ Removed extraneous definitions inherited from vsprops.
+ Add Debug_All configuration.
+
+2009-10-16 Carol Szabo <carol.szabo@nokia.com>
+
+ Reviewed by David Levin.
+
+ check-webkit-style is wrong about indent checking in namespaces
+ in header files and a few other things
+ https://bugs.webkit.org/show_bug.cgi?id=30362
+
+ The few other things include:
+ + check-webkit-style does not require spaces around the equal sign
+ inside 'if' statements and around binary operators that take
+ numeric literals.
+ + check-webkit-style reports false errors for the / operator
+ when part of a filename in the #include directive.
+
+ * Scripts/modules/cpp_style.py:
+ Improved indentation checking and space checking around
+ binary operators. While the checks are still not perfect,
+ they are clearly better than before.
+ * Scripts/modules/cpp_style_unittest.py:
+ Added test cases for the newly supported checks and modified old
+ test cases to match the new guidelines
+
+2009-10-16 Kevin Ollivier <kevino@theolliviers.com>
+
+ wxMSW build fix. Link to MSW library needed by PluginPackageWin.cpp.
+
+ * wx/build/settings.py:
+
+2009-10-15 Yuzo Fujishima <yuzo@google.com>
+
+ Reviewed by David Levin.
+
+ Add mod_pywebsocket to test Web Sockets.
+ http://code.google.com/p/pywebsocket/
+ https://bugs.webkit.org/show_bug.cgi?id=27490
+
+ * pywebsocket/COPYING: Added.
+ * pywebsocket/MANIFEST.in: Added.
+ * pywebsocket/README: Added.
+ * pywebsocket/example/echo_client.py: Added.
+ * pywebsocket/example/echo_wsh.py: Added.
+ * pywebsocket/mod_pywebsocket/__init__.py: Added.
+ * pywebsocket/mod_pywebsocket/dispatch.py: Added.
+ * pywebsocket/mod_pywebsocket/handshake.py: Added.
+ * pywebsocket/mod_pywebsocket/headerparserhandler.py: Added.
+ * pywebsocket/mod_pywebsocket/msgutil.py: Added.
+ * pywebsocket/mod_pywebsocket/standalone.py: Added.
+ * pywebsocket/mod_pywebsocket/util.py: Added.
+ * pywebsocket/setup.py: Added.
+ * pywebsocket/test/config.py: Added.
+ * pywebsocket/test/mock.py: Added.
+ * pywebsocket/test/run_all.py: Added.
+ * pywebsocket/test/test_dispatch.py: Added.
+ * pywebsocket/test/test_handshake.py: Added.
+ * pywebsocket/test/test_mock.py: Added.
+ * pywebsocket/test/test_msgutil.py: Added.
+ * pywebsocket/test/test_util.py: Added.
+ * pywebsocket/test/testdata/handlers/blank_wsh.py: Added.
+ * pywebsocket/test/testdata/handlers/origin_check_wsh.py: Added.
+ * pywebsocket/test/testdata/handlers/sub/exception_in_transfer_wsh.py: Added.
+ * pywebsocket/test/testdata/handlers/sub/no_wsh_at_the_end.py: Added.
+ * pywebsocket/test/testdata/handlers/sub/non_callable_wsh.py: Added.
+ * pywebsocket/test/testdata/handlers/sub/plain_wsh.py: Added.
+ * pywebsocket/test/testdata/handlers/sub/wrong_handshake_sig_wsh.py: Added.
+ * pywebsocket/test/testdata/handlers/sub/wrong_transfer_sig_wsh.py: Added.
+
+2009-10-15 James Robinson <jamesr@google.com>
+
+ Reviewed by David Levin.
+
+ Updates check-webkit-style to reflect that code inside a namespace should not be indented, even in a header file.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30426
+
+ * Scripts/modules/cpp_style.py:
+ * Scripts/modules/cpp_style_unittest.py:
+
+2009-10-15 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Fixes <http://webkit.org/b/30411>.
+ REGRESSION(49485): pdevenv doesn't compile in parallel for non-chromium builds on Windows.
+
+ Added a check for isChromium() in pdevenv, and pass /useenv if we are not
+ building Chromium.
+
+ * Scripts/pdevenv:
+
+2009-10-15 Robin Dunn <robin@alldunn.com>
+
+ Reviewed by Kevin Ollivier.
+
+ Add Mac package building scripts for wx.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30405
+
+ * wx/build/build_utils.py:
+ * wx/build/settings.py:
+ * wx/packaging/build-mac-installer.py: Added.
+
+2009-10-15 Zan Dobersek <zandobersek@gmail.com>
+
+ Reviewed by Gustavo Noronha.
+
+ Enable Web Sockets support when running layout tests.
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (resetDefaultsToConsistentValues):
+
+2009-10-15 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ Need to initialize event.button.button, since in most cases a
+ button number is not passed as an argument.
+
+ * DumpRenderTree/gtk/EventSender.cpp:
+ (mouseDownCallback):
+ (mouseUpCallback):
+
+2009-10-15 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix. More SDK fixes for Mac, make sure we use the SDK corresponding to
+ the OS if none was explicitly set.
+
+ * wx/build/settings.py:
+
+2009-10-14 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: enable developers extras within inspector layout tests.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30014
+
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (LayoutTestController::showWebInspector):
+ (LayoutTestController::closeWebInspector):
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::showWebInspector):
+ (LayoutTestController::closeWebInspector):
+
+2009-10-14 José Millán Soto <jmillan@igalia.com>
+
+ Reviewed by Jan Alonzo.
+
+ GtkLauncher is using a deprecated signal
+ https://bugs.webkit.org/show_bug.cgi?id=30364
+
+ Modified GtkLauncher to use notify::title signal instead of
+ deprecated title-changed signal
+
+ * GtkLauncher/main.c:
+ (notify_title_cb):
+ (create_browser):
+
+2009-10-14 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Don't set the history delegate on new windows that are opened during a test, as the history delegate:
+ 1 - Disables WebHistory
+ 2 - Doesn't make sense in that context anyway.
+
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (createWebViewAndOffscreenWindow):
+
+2009-10-14 Kevin Ollivier <kevino@theolliviers.com>
+
+ wxMac build fix. Ensure 10.4 compatibility for deps, and allow the user to specify
+ the SDK to use since Python overrides any user-set value of MACOSX_DEPLOYMENT_TARGET.
+
+ * wx/build/settings.py:
+ * wx/install-unix-extras:
+
+2009-10-14 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebKit Win API should provide a delegate interface for global history.
+ https://bugs.webkit.org/show_bug.cgi?id=29905
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (LayoutTestController::LayoutTestController):
+ * DumpRenderTree/LayoutTestController.h:
+ (LayoutTestController::dumpHistoryDelegateCallbacks):
+ (LayoutTestController::setDumpHistoryDelegateCallbacks):
+
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (shouldLogHistoryDelegates):
+ (runTest):
+ (createWebViewAndOffscreenWindow):
+ (main):
+ * DumpRenderTree/win/DumpRenderTree.vcproj:
+
+ Add the IWebHistoryDelegate to DRT Windows:
+ * DumpRenderTree/win/HistoryDelegate.cpp: Added.
+ (wstringFromBSTR):
+ (HistoryDelegate::HistoryDelegate):
+ (HistoryDelegate::~HistoryDelegate):
+ (HistoryDelegate::QueryInterface):
+ (HistoryDelegate::AddRef):
+ (HistoryDelegate::Release):
+ (HistoryDelegate::didNavigateWithNavigationData):
+ (HistoryDelegate::didPerformClientRedirectFromURL):
+ (HistoryDelegate::didPerformServerRedirectFromURL):
+ (HistoryDelegate::updateHistoryTitle):
+ (HistoryDelegate::populateVisitedLinksForWebView):
+ * DumpRenderTree/win/HistoryDelegate.h: Added.
+
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::removeAllVisitedLinks):
+
+2009-10-14 Shu Chang <Chang.Shu@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Implement support for setPOSIXLocale on Qt.
+ https://bugs.webkit.org/show_bug.cgi?id=30268
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting):
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+ (LayoutTestController::setPOSIXLocale):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h:
+
+2009-10-13 Stephanie Lewis <slewis@apple.com>
+
+ Unreviewed, adding myself to reviewers list.
+
+ * Scripts/modules/committers.py:
+
+2009-10-13 Stephanie Lewis <slewis@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Fix null assignment so root tests work again.
+
+ * Scripts/webkitdirs.pm:
+
+2009-10-13 Andras Becsi <becsi.andras@stud.u-szeged.hu>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Refactor LayoutTestController, EventSender, TextInputController and WorkQueueItem classes
+ out of jsobjects into separate files to get a more structured DumpRenderTree implementation.
+ This is done in preparation of implementing missing features in DRT.
+ No functionality changes made yet.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ * DumpRenderTree/qt/DumpRenderTree.pro:
+ * DumpRenderTree/qt/EventSenderQt.cpp: Added.
+ (EventSender::EventSender):
+ (EventSender::mouseDown):
+ (EventSender::mouseUp):
+ (EventSender::mouseMoveTo):
+ (EventSender::leapForward):
+ (EventSender::keyDown):
+ (EventSender::contextClick):
+ (EventSender::scheduleAsynchronousClick):
+ (EventSender::frameUnderMouse):
+ * DumpRenderTree/qt/EventSenderQt.h: Added.
+ (EventSender::clearKillRing):
+ * DumpRenderTree/qt/LayoutTestControllerQt.cpp: Added.
+ (LayoutTestController::LayoutTestController):
+ (LayoutTestController::reset):
+ (LayoutTestController::processWork):
+ (LayoutTestController::maybeDump):
+ (LayoutTestController::waitUntilDone):
+ (LayoutTestController::notifyDone):
+ (LayoutTestController::windowCount):
+ (LayoutTestController::clearBackForwardList):
+ (LayoutTestController::dumpEditingCallbacks):
+ (LayoutTestController::dumpResourceLoadCallbacks):
+ (LayoutTestController::queueBackNavigation):
+ (LayoutTestController::queueForwardNavigation):
+ (LayoutTestController::queueLoad):
+ (LayoutTestController::queueReload):
+ (LayoutTestController::queueScript):
+ (LayoutTestController::provisionalLoad):
+ (LayoutTestController::timerEvent):
+ (LayoutTestController::encodeHostName):
+ (LayoutTestController::decodeHostName):
+ (LayoutTestController::setJavaScriptProfilingEnabled):
+ (LayoutTestController::setFixedContentsSize):
+ (LayoutTestController::setPrivateBrowsingEnabled):
+ (LayoutTestController::setPopupBlockingEnabled):
+ (LayoutTestController::pauseAnimationAtTimeOnElementWithId):
+ (LayoutTestController::pauseTransitionAtTimeOnElementWithId):
+ (LayoutTestController::numberOfActiveAnimations):
+ (LayoutTestController::disableImageLoading):
+ (LayoutTestController::dispatchPendingLoadRequests):
+ (LayoutTestController::setDatabaseQuota):
+ (LayoutTestController::clearAllDatabases):
+ (LayoutTestController::whiteListAccessFromOrigin):
+ (LayoutTestController::waitForPolicyDelegate):
+ (LayoutTestController::overridePreference):
+ * DumpRenderTree/qt/LayoutTestControllerQt.h: Added.
+ (LayoutTestController::isLoading):
+ (LayoutTestController::setLoading):
+ (LayoutTestController::shouldDumpAsText):
+ (LayoutTestController::shouldDumpBackForwardList):
+ (LayoutTestController::shouldDumpChildrenAsText):
+ (LayoutTestController::shouldDumpDatabaseCallbacks):
+ (LayoutTestController::shouldDumpStatusCallbacks):
+ (LayoutTestController::shouldWaitUntilDone):
+ (LayoutTestController::canOpenWindows):
+ (LayoutTestController::shouldDumpTitleChanges):
+ (LayoutTestController::waitForPolicy):
+ (LayoutTestController::dumpAsText):
+ (LayoutTestController::dumpChildFramesAsText):
+ (LayoutTestController::dumpDatabaseCallbacks):
+ (LayoutTestController::dumpStatusCallbacks):
+ (LayoutTestController::setCanOpenWindows):
+ (LayoutTestController::dumpBackForwardList):
+ (LayoutTestController::setCloseRemainingWindowsWhenComplete):
+ (LayoutTestController::display):
+ (LayoutTestController::dumpTitleChanges):
+ (LayoutTestController::dumpSelectionRect):
+ * DumpRenderTree/qt/TextInputControllerQt.cpp: Added.
+ (TextInputController::TextInputController):
+ (TextInputController::doCommand):
+ * DumpRenderTree/qt/TextInputControllerQt.h: Added.
+ * DumpRenderTree/qt/WorkQueue.cpp:
+ * DumpRenderTree/qt/WorkQueue.h:
+ * DumpRenderTree/qt/WorkQueueItem.h:
+ * DumpRenderTree/qt/WorkQueueItemQt.cpp: Added.
+ (findFrameNamed):
+ (LoadItem::invoke):
+ (ReloadItem::invoke):
+ (ScriptItem::invoke):
+ (BackForwardItem::invoke):
+ * DumpRenderTree/qt/jsobjects.cpp: Move all the above classes into separate files
+ * DumpRenderTree/qt/jsobjects.h:
+
+2009-10-13 Dmitry Titov <dimich@chromium.org>
+
+ Not reviewed, adding myself to the list of reviewers.
+
+ * Scripts/modules/committers.py:
+
+2009-10-13 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/6660507> Add "privacy mode" to Netscape Plug-in API
+
+ Make the private browsing mode testable by the test plug-in.
+
+ * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
+ (pluginGetProperty):
+ * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.h:
+ * DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp:
+ (NPP_New):
+ (NPP_SetValue):
+
+2009-10-13 Pavel Feldman <pfeldman@chromium.org>
+
+ No review, just adding self to the list of reviewers.
+
+ * Scripts/modules/committers.py:
+
+2009-10-12 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Adam Roben.
+
+ Web Inspector: Use proper web view in inspector layout
+ tests for windows.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30298
+
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::showWebInspector):
+ (LayoutTestController::closeWebInspector):
+ (LayoutTestController::evaluateInWebInspector):
+
+2009-10-12 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by Sam Weinig.
+
+ Enable experimentalWebSocket in DumpRenderTree for LayoutTest.
+ https://bugs.webkit.org/show_bug.cgi?id=29841
+
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (resetDefaultsToConsistentValues):
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (resetDefaultsToConsistentValues):
+
+2009-10-12 Yaar Schnitman <yaar@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Chromium Port - Windows
+ https://bugs.webkit.org/show_bug.cgi?id=29969
+
+ * Scripts/pdevenv: removed msvc's /useenv for chromium builds
+ * Scripts/webkitdirs.pm:
+
+2009-10-12 Csaba Osztrogonac <ossy@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ jsc scripts cleanup and Qt/GTK fix
+ https://bugs.webkit.org/show_bug.cgi?id=30288
+
+ Duplicated jscPath() moved to webkitdirs.pm.
+ New jscProductDir() added to webkitdirs.pm instead of duplicated codes.
+ Configuration added (release/debug) to path for Qt-port on Windows.
+
+ * Scripts/run-javascriptcore-tests:
+ * Scripts/run-jsc:
+ * Scripts/run-sunspider:
+ * Scripts/sunspider-compare-results:
+ * Scripts/webkitdirs.pm:
+
+2009-10-11 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Add Collin to committers.py.
+
+ * Scripts/modules/committers.py:
+
+2009-10-11 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix, add bindings to source/include dirs now that there are sources there.
+
+ * wx/build/settings.py:
+
+2009-10-09 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Brady Eidson.
+
+ Enable plug-in halting in DumpRenderTree.
+
+ We drop the plug-in halting delay to 1 second and opt in the delegate method to never halt plug-ins.
+ This is sufficient to ensure that the crash covered by <rdar://problem/7290671> no longer occurs.
+
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (resetDefaultsToConsistentValues):
+ * DumpRenderTree/mac/UIDelegate.mm:
+ (-[UIDelegate webView:shouldHaltPlugin:]):
+
+2009-10-08 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Ask the History Delegate to populate the visited links hash.
+ <rdar://problem/7285293> and https://webkit.org/b/29904
+
+ Add the ability for LayoutTestController to clear all visited links.
+ Also lets the History Delegate dump visited links, but only if this test specifically cleared them.
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (LayoutTestController::LayoutTestController):
+ (removeAllVisitedLinksCallback):
+ (LayoutTestController::staticFunctions):
+ * DumpRenderTree/LayoutTestController.h:
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (LayoutTestController::removeAllVisitedLinks):
+
+ * DumpRenderTree/mac/HistoryDelegate.mm:
+ (-[HistoryDelegate populateVisitedLinksForWebView:]):
+
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::removeAllVisitedLinks):
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::removeAllVisitedLinks):
+ * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
+ (LayoutTestController::removeAllVisitedLinks):
+
+
+2009-10-08 Daniel Bates <dbates@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30175
+
+ The Windows DRT equivalent of DoDragDrop (i.e. UIDelegate::doDragDrop) does not return
+ the OLE drag-and-drop return value like the function it emulates. Currently,
+ UIDelegate::doDragDrop returns a hard-coded S_OK. Hence, the caller cannot determine
+ whether the drag-and-drop operation was successful or was cancelled.
+
+ This patch fixes this issue by having UIDelegate::doDragDrop return the OLE drag-and-drop
+ return value according to whether the drop operation was successful or not.
+
+ * DumpRenderTree/win/EventSender.cpp:
+ (doMouseUp): Added parameter oleDragAndDropReturnValue.
+ (replaySavedEvents): Ditto.
+ * DumpRenderTree/win/EventSender.h:
+ * DumpRenderTree/win/UIDelegate.cpp:
+ (UIDelegate::doDragDrop): Modified to return OLE drag-and-drop return value.
+
+2009-10-08 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] Added support for a parameter setting the button that was
+ pressed in the mouseDown function.
+ https://bugs.webkit.org/show_bug.cgi?id=30220
+
+ * WebKitTools/DumpRenderTree/gtk/EventSender.cpp:
+
+2009-10-08 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] Added a line to the bottom of the expected result to match
+ the output of the test.
+ https://bugs.webkit.org/show_bug.cgi?id=30220
+
+ * LayoutTests/platform/gtk/editing/pasteboard/middle-click-onpaste-
+ expected.txt:
+
+2009-10-08 Adam Roben <aroben@apple.com>
+
+ Use QueryInterface to get IWebInspectorPrivate
+
+ Fixes <http://webkit.org/b/30215> Make IWebInspectorPrivate be
+ accessed in a more standard way
+
+ Reviewed by John Sullivan and Tim Hatcher.
+
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::evaluateInWebInspector): Get the IWebInspector
+ by calling IWebViewPrivate::inspector, then use QueryInterface to get
+ to the IWebInspectorPrivate interface.
+
+2009-10-07 Adam Roben <aroben@apple.com>
+
+ Implement DRT support for origin whitelisting
+
+ Fixes <http://webkit.org/b/30185>.
+
+ Reviewed by Eric Seidel.
+
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (resetWebViewToConsistentStateBeforeTesting): Reset any origin
+ whitelist, to match Mac DRT.
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::whiteListAccessFromOrigin): Call through to
+ IWebViewPrivate::whiteListAccessFromOrigin.
+
+2009-10-07 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Send title changes to the global history delegate.
+ <rdar://problem/7285293> and https://webkit.org/b/29904
+
+ * DumpRenderTree/mac/HistoryDelegate.mm:
+ (-[HistoryDelegate webView:updateHistoryTitle:forURL:]):
+
+2009-10-07 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Remove some folks from committers.py who were listed on
+ the WebKit Team wiki page but who weren't actually listed as commit+.
+ At some point, we should coorelate this list with the committers
+ mailing list.
+
+ * Scripts/modules/committers.py:
+
+2009-10-07 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Import a bunch of committers from the WebKit Team page on
+ the wiki into committers.py.
+
+ * Scripts/modules/committers.py:
+
+2009-10-07 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Added Aaron Boodman to committers.py.
+
+ * Scripts/modules/committers.py:
+
+2009-10-07 Evan Martin <evan@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Add API to LayoutTestController for re/setting the system locale.
+ https://bugs.webkit.org/show_bug.cgi?id=18994
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (setLocaleCallback):
+ (LayoutTestController::staticFunctions):
+ (LayoutTestController::setLocale):
+ * DumpRenderTree/LayoutTestController.h:
+
+2009-10-06 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Jan Alonzo.
+
+ [Layout tests] [Gtk] Gtk DumpRenderTree should use WebKit test fonts
+ https://bugs.webkit.org/show_bug.cgi?id=29689
+
+ Build fix by adding -lfontconfig for DumpRenderTree.
+
+ * GNUmakefile.am:
+
+2009-10-07 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
+
+ Reviewed by Simon Hausmann.
+
+ Re-enable use-remote-links-to-tests for Qt. Disabled in r46416.
+
+ * Scripts/run-webkit-tests:
+
+2009-10-07 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ "delete" in EventSender is the backspace key, not the delete one.
+
+ * DumpRenderTree/gtk/EventSender.cpp:
+ (keyDownCallback):
+
+2009-10-07 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ getChildrenWithRange expects as last parameter the end index, not
+ the length of the range. Correct this and clarify the variable
+ names to reflect how the code works.
+
+ * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
+ (AccessibilityUIElement::getChildrenWithRange):
+ (AccessibilityUIElement::getChildAtIndex):
+
+2009-10-06 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <http://webkit.org/b/30138> update-webkit-localizable-strings assumes that WebKitTools/Scripts is in the PATH
+
+ * Scripts/update-webkit-localizable-strings: Use an explicit path to extract-localizable-strings based on the
+ the fact we have already changed the working directory to the top of the open source tree.
+
+2009-10-06 Julie Parent <jparent@chromium.org>
+
+ Unreviewed. Fixing the entry for myself in committers.py to use my bugzilla email,
+ rather than my committer email.
+
+ * Scripts/modules/committers.py:
+
+2009-10-06 Jakub Wieczorek <faw217@gmail.com>
+
+ Reviewed by Eric Seidel.
+
+ [Qt] LayoutTestController: Reset m_dumpStatusCallbacks to false in reset().
+
+ r49189 added support for the 'dumpStatusCallbacks' setting but didn't reset
+ it after each layout test as it should do, making the DRT dump additional output
+ for all of the subsequent layout tests.
+
+ * DumpRenderTree/qt/jsobjects.cpp:
+ (LayoutTestController::reset):
+
+2009-10-06 Jakub Wieczorek <faw217@gmail.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Implement layoutTestController.dumpStatusCallbacks() and unskip the
+ fast/dom/assign-to-window-status.html test, which is passing as a result.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30127
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::DumpRenderTree::DumpRenderTree):
+ (WebCore::DumpRenderTree::statusBarMessage):
+ * DumpRenderTree/qt/DumpRenderTree.h:
+ * DumpRenderTree/qt/jsobjects.h:
+ (LayoutTestController::shouldDumpStatusCallbacks):
+ (LayoutTestController::dumpStatusCallbacks):
+
+2009-10-06 Jakub Wieczorek <faw217@gmail.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] The implementation of EventSender::mouseUp() and EventSender::mouseDown()
+ ignores the argument indicating which mouse button to trigger.
+ https://bugs.webkit.org/show_bug.cgi?id=30048
+
+ This affects the fast/events/mouse-click-events.html layout test.
+
+ * DumpRenderTree/qt/jsobjects.cpp:
+ (EventSender::mouseDown):
+ (EventSender::mouseUp):
+ * DumpRenderTree/qt/jsobjects.h:
+
+2009-10-06 Jakub Wieczorek <faw217@gmail.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix the EventSender::keyDown() implementation
+ https://bugs.webkit.org/show_bug.cgi?id=30043
+
+ It should post both a key press event and a key release event,
+ just like other ports do.
+
+ * DumpRenderTree/qt/jsobjects.cpp:
+ (EventSender::keyDown):
+
+2009-10-05 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix. Add jpeg to the list of libs to link against.
+
+ * wx/build/settings.py:
+
+2009-10-05 Jakub Wieczorek <faw217@gmail.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] EventSender::keyDown() cannot send function-key events.
+ https://bugs.webkit.org/show_bug.cgi?id=30044
+
+ This affects the fast/events/keydown-function-keys.html layout test.
+
+ * DumpRenderTree/qt/jsobjects.cpp:
+ (EventSender::keyDown):
+
+2009-10-05 Vadim Zeitlin <vadim@wxwidgets.org>
+
+ Added --wx-compiler-prefix waf option to allow building wxWebKit with
+ wxWidgets built using "nmake COMPILER_PREFIX=something-non-default".
+
+ * wx/build/settings.py:
+ * wx/build/wxpresets.py:
+
+2009-10-05 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: add testing harness for Web Inspector.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30010
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (showWebInspectorCallback):
+ (closeWebInspectorCallback):
+ (evaluateInWebInspectorCallback):
+ (LayoutTestController::staticFunctions):
+ * DumpRenderTree/LayoutTestController.h:
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::showWebInspector):
+ (LayoutTestController::closeWebInspector):
+ (LayoutTestController::evaluateInWebInspector):
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (LayoutTestController::showWebInspector):
+ (LayoutTestController::closeWebInspector):
+ (LayoutTestController::evaluateInWebInspector):
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::showWebInspector):
+ (LayoutTestController::closeWebInspector):
+ (LayoutTestController::evaluateInWebInspector):
+ * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
+ (LayoutTestController::showWebInspector):
+ (LayoutTestController::closeWebInspector):
+ (LayoutTestController::evaluateInWebInspector):
+
+2009-10-05 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Ariyha Hidayat.
+
+ Pass arguments to system() as a string instead of array
+
+ When passed as an array entries with a space fail to translate
+ to two arguments to the child process, so instead of manually
+ splitting all the entries in @buildArgs we pass the whole thing
+ as a string instead.
+
+ * Scripts/webkitdirs.pm:
+
+2009-10-04 Carol Szabo <carol.szabo@nokia.com>
+
+ Reviewed by David Levin.
+
+ check-webkit-style misses whitespace errors for operators:
+ <<, >>, <<=, >>=, &=, |=, +=, -=, *=, /=, /, |, &&, ||.
+ https://bugs.webkit.org/show_bug.cgi?id=30021
+
+ * Scripts/modules/cpp_style.py:
+ Added the operators mentioned above to the same list as == and !=.
+
+2009-10-02 Julie Parent <jparent@chromium.org>
+
+ Unreviewed.
+
+ Adding myself and Ojan Vafai as committers, because we are committers.
+
+ * Scripts/modules/committers.py:
+
+2009-10-02 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Adam Roben.
+
+ svn-create-patch should have an --ignore-changelogs to not add ChangeLogs to the diff,
+ this will help the patch merging process when TryBots are used.
+
+ * Scripts/svn-create-patch:
+
+2009-10-02 Jakub Wieczorek <faw217@gmail.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Implement layoutTestController.overridePreference().
+ https://bugs.webkit.org/show_bug.cgi?id=29970
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::WebPage::WebPage):
+ (WebCore::WebPage::resetSettings):
+ (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting):
+ * DumpRenderTree/qt/jsobjects.cpp:
+ (LayoutTestController::reset):
+ (LayoutTestController::setPrivateBrowsingEnabled):
+ (LayoutTestController::setPopupBlockingEnabled):
+ (LayoutTestController::overridePreference):
+ * DumpRenderTree/qt/jsobjects.h:
+
+2009-10-01 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Turn on ENABLE_3D_CANVAS in TOT
+ https://bugs.webkit.org/show_bug.cgi?id=29906
+
+ * Scripts/build-webkit:
+
+2009-10-01 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Rubberstamped by Simon Hausmann.
+
+ Enable HTTP tests for Qt
+
+ * Scripts/run-webkit-tests:
+
+2009-10-01 Yaar Schnitman <yaar@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ build-webkit --chromium now also works on cygwin.
+
+ https://bugs.webkit.org/show_bug.cgi?id=29973
+
+ * Scripts/webkitdirs.pm:
+
+2009-10-01 Zoltan Horvath <zoltan@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Don't use TCmalloc in DumpRenderTree
+ https://bugs.webkit.org/show_bug.cgi?id=27029
+
+ Add USE_SYSTEM_MALLOC macro to the DRT's profile to avoid using TCmalloc in Qt's DRT.
+
+ * DumpRenderTree/qt/DumpRenderTree.pro:
+
+2009-10-01 Jakub Wieczorek <faw217@gmail.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Implement eventSender.scheduleAsynchronousClick().
+
+ https://bugs.webkit.org/show_bug.cgi?id=29931
+
+ * DumpRenderTree/qt/jsobjects.cpp:
+ (EventSender::scheduleAsynchronousClick):
+ * DumpRenderTree/qt/jsobjects.h:
+
+2009-10-01 Jakub Wieczorek <faw217@gmail.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Implement setPopupBlockingEnabled() in the LayoutTestController and remove
+ fast/events/open-window-from-another-frame.html from the Skipped list.
+
+ https://bugs.webkit.org/show_bug.cgi?id=29930
+
+ * DumpRenderTree/qt/jsobjects.cpp:
+ (LayoutTestController::setPopupBlockingEnabled):
+ * DumpRenderTree/qt/jsobjects.h:
+
+2009-09-30 Cameron McCormack <cam@mcc.id.au>
+
+ Unreviewed.
+
+ Added myself to the list of committers.
+
+ * Scripts/modules/committers.py:
+
+2009-09-30 Eric Seidel <eric@webkit.org>
+
+ No review, just adding Geoff to the list of reviewers.
+
+ * Scripts/modules/committers.py:
+
+2009-09-30 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Added the WebKit Layout Tests fonts that are referenced in
+ LayoutTests/platform/win/css2.1/resources/Mac-compatible-font-fallback.css
+
+ * DumpRenderTree/fonts/WebKit Layout Tests 2.ttf: Added.
+ * DumpRenderTree/fonts/WebKit Layout Tests.ttf: Added.
+
+2009-09-30 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
+
+ Reviewed by David Kilzer.
+
+ Make sunspider scripts work on Windows platform.
+ https://bugs.webkit.org/show_bug.cgi?id=29656
+
+ * Scripts/run-sunspider: Perl scripts invoked with same Perl interpreter.
+ * Scripts/sunspider-compare-results: Perl scripts invoked with same Perl interpreter.
+ * Scripts/webkitdirs.pm: currentPerlPath() added.
+
+2009-09-29 Brady Eidson <beidson@apple.com>
+
+ Rubberstamped by Dan Bernstein.
+
+ Fix license and some sorting in new files.
+
+ * DumpRenderTree/mac/HistoryDelegate.h:
+ * DumpRenderTree/mac/HistoryDelegate.mm:
+
+2009-09-29 Yaar Schnitman <yaar@chromium.org>
+
+ Reviewed by David Kilzer.
+
+ Fixed how error codes are handled.
+ https://bugs.webkit.org/show_bug.cgi?id=29898
+
+ * Scripts/update-webkit:
+ * Scripts/update-webkit-chromium:
+
+2009-09-29 Brady Eidson <beidson@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Updated way-out-of-date sorting throughout the dump methods/flags.
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (LayoutTestController::LayoutTestController):
+ (dumpAsPDFCallback):
+ (dumpAsTextCallback):
+ (dumpFrameLoadCallbacksCallback):
+ (dumpResourceLoadCallbacksCallback):
+ (LayoutTestController::staticFunctions):
+
+ * DumpRenderTree/LayoutTestController.h:
+ (LayoutTestController::dumpAsText):
+ (LayoutTestController::setDumpAsText):
+ (LayoutTestController::dumpFrameLoadCallbacks):
+ (LayoutTestController::setDumpFrameLoadCallbacks):
+ (LayoutTestController::dumpSelectionRect):
+ (LayoutTestController::setDumpSelectionRect):
+ (LayoutTestController::dumpSourceAsWebArchive):
+ (LayoutTestController::setDumpSourceAsWebArchive):
+ (LayoutTestController::dumpStatusCallbacks):
+ (LayoutTestController::setDumpStatusCallbacks):
+ (LayoutTestController::dumpTitleChanges):
+ (LayoutTestController::setDumpTitleChanges):
+ (LayoutTestController::dumpWillCacheResponse):
+ (LayoutTestController::setDumpWillCacheResponse):
+
+2009-09-29 Brady Eidson <beidson@apple.com>
+
+ Reviewed by John Sullivan.
+
+ WebKit Mac API should provide a delegate interface for global history.
+ <rdar://problem/7042773> and https://webkit.org/b/29904
+
+ Adding the dumping of global history delegate callbacks.
+
+ * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
+
+ Automatically dump history delegate callbacks for tests with "globalhistory/" in their URL:
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (createWebViewAndOffscreenWindow):
+ (allocateGlobalControllers):
+ (shouldLogFrameLoadDelegates):
+ (shouldLogHistoryDelegates):
+ (runTest):
+
+ Dump history delegate callbacks:
+ * DumpRenderTree/mac/HistoryDelegate.h: Added.
+ * DumpRenderTree/mac/HistoryDelegate.mm: Added.
+ (-[HistoryDelegate webView:didNavigateWithNavigationData:inFrame:]):
+ (-[HistoryDelegate webView:didPerformClientRedirectFromURL:toURL:inFrame:]):
+ (-[HistoryDelegate webView:didPerformServerRedirectFromURL:toURL:inFrame:]):
+
+2009-09-29 Daniel Bates <dbates@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ https://bugs.webkit.org/show_bug.cgi?id=28902
+
+ Fixes an issue where the drop effect returned by Window Dump Render Tree
+ was always DROPEFFECT_NONE (since it was hard coded to do so).
+
+ This patch corrects this issue by determining the actual drop effect
+ performed by the corresponding drag-and-drop operation so that we can
+ return it.
+
+ * DumpRenderTree/win/DraggingInfo.h: Added field m_dropEffect to store performed drop effect.
+ (DraggingInfo::DraggingInfo):
+ (DraggingInfo::performedDropEffect): Added method.
+ (DraggingInfo::setPerformedDropEffect): Added method.
+ * DumpRenderTree/win/EventSender.cpp:
+ (doMouseUp): Calls method DraggingInfo::setPerformedDropEffect with performed drop effect.
+ Moved delete draggingInfo to UIDelegate::doDragDrop.
+ * DumpRenderTree/win/UIDelegate.cpp:
+ (UIDelegate::doDragDrop): Sets performedDropEffect to DraggingInfo::performedDropEffect().
+
+2009-09-29 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Remove copying of unnecessary or nonexistent files from the ImageDiff
+ post-build event.
+
+ * DumpRenderTree/win/ImageDiff.vcproj:
+
+2009-09-29 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
+
+ Reviewed by David Kilzer.
+
+ [Qt] Make build-webkit script work on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=29802
+
+ * Scripts/run-webkit-tests:
+ * Scripts/webkitdirs.pm:
+ - Removed unnecessary -p switch for mkdir on Windows.
+ - Use canonical path, which uses slashes or backslashes depends on platform.
+ - isWindows() only test for Windows and not for Cyqwin.
+
+2009-09-29 Andras Becsi <becsi.andras@stud.u-szeged.hu>
+
+ Reviewed by Simon Hausmann.
+
+ Fix time measurement in build-webkit after refactoring done in r48853.
+
+ * Scripts/build-webkit:
+
+2009-09-29 Andras Becsi <becsi.andras@stud.u-szeged.hu>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Default font size reconciliation to 16px/13px to match other platform's de-facto standard.
+ This fixes https://bugs.webkit.org/show_bug.cgi?id=19674.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::WebPage::WebPage):
+
+2009-09-29 Jakub Wieczorek <faw217@gmail.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Implement eventSender.contextClick().
+ https://bugs.webkit.org/show_bug.cgi?id=29821
+
+ * DumpRenderTree/qt/jsobjects.cpp:
+ (EventSender::contextClick):
+ * DumpRenderTree/qt/jsobjects.h:
+
+2009-09-28 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Add experimentalWebSocketsEnabled in WebPreferences.
+ https://bugs.webkit.org/show_bug.cgi?id=28941
+
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (resetDefaultsToConsistentValues):
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (resetDefaultsToConsistentValues):
+
+2009-09-28 Yaar Schnitman <yaar@chromium.org>
+
+ Reviewed by David Kilzer.
+
+ Integrated chromium port building into webkit tools update-webkit and
+ build-webkit.
+
+ https://bugs.webkit.org/show_bug.cgi?id=29749
+
+ * Scripts/build-webkit: When --chromium is specified, will build
+ the chromium port (currently only Mac is supported).
+ * Scripts/update-webkit: When --chromium is specified, delegates to
+ update-webkit-chromium.
+ * Scripts/webkitdirs.pm: Added chromium specific defs.
+ * Scripts/update-webkit-chromium: Uses gclient and gyp to fetch
+ chromium port's dependencies and update its project files.
+
+2009-09-28 Fumitoshi Ukai <ukai@chromium.org>
+
+ Unreviewed.
+
+ Add myself to list of committers.
+
+ * Scripts/modules/committers.py:
+
+2009-09-27 Jakub Wieczorek <faw217@gmail.com>
+
+ Reviewed by Darin Adler.
+
+ run-webkit-tests: Do not strip the metrics when there is no expected result for a test.
+ https://bugs.webkit.org/show_bug.cgi?id=29771
+
+ * Scripts/run-webkit-tests:
+
+2009-09-27 Jakub Wieczorek <faw217@gmail.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Implement layoutTestController.waitForPolicyDelegate.
+ https://bugs.webkit.org/show_bug.cgi?id=25037
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::WebPage::acceptNavigationRequest):
+ * DumpRenderTree/qt/DumpRenderTree.pro:
+ * DumpRenderTree/qt/jsobjects.cpp:
+ (LayoutTestController::reset):
+ (LayoutTestController::notifyDone):
+ (LayoutTestController::waitForPolicyDelegate):
+ * DumpRenderTree/qt/jsobjects.h:
+ (LayoutTestController::waitForPolicy):
+
+2009-09-26 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/29764> mark-bug-fixed: add -o|--open switch
+
+ Reviewed by Eric Seidel.
+
+ The -o|--open switch uses the open(1) command on Mac OS X to
+ open the bug URL in the default web browser. If there are
+ similar mechanisms on other platforms, they may be added later.
+
+ * Scripts/mark-bug-fixed:
+ (MarkBugFixed.__init__): Added -o|--open switch to list of parse
+ options.
+ (MarkBugFixed._determine_bug_id_and_svn_revision): Moved logging
+ code into main() and extracted prompting code into
+ _prompt_user_for_correctness().
+ (MarkBugFixed._open_bug_in_web_browser): Added.
+ (MarkBugFixed._prompt_user_for_correctness): Added.
+ (MarkBugFixed.main): Added logging code from
+ _determine_bug_id_and_svn_revision(). Added code to call
+ _open_bug_in_web_browser() if the switch is set. Added code to
+ call _prompt_user_for_correctness() when needed.
+ * Scripts/modules/bugzilla.py:
+ (Bugzilla.short_bug_url_for_bug_id): Added.
+
+2009-09-26 David Kilzer <ddkilzer@apple.com>
+
+ svn-unapply and svn-apply don't work when used outside multiple svn working directories
+
+ <http://webkit.org/b/29744>
+ <rdar://problem/7252905>
+
+ Reviewed by Eric Seidel.
+
+ Some users have a workflow where svn-create-patch, svn-apply and
+ svn-unapply are used outside of multiple svn working
+ directories. Instead of aborting the scripts in these cases,
+ print a warning and assume that Subversion is being used.
+
+ * Scripts/VCSUtils.pm:
+ (determineVCSRoot): Call warn() instead of die() if both isGit()
+ and isSVN() initially return false. Set $VCSUtils::isSVN to 1
+ to enforce the assumption about Subversion, then return
+ determineSVNRoot().
+ * Scripts/svn-apply: Switch to using isGit() and isSVN() from
+ VCSUtils.pm. They both already cache their values and checking
+ here is redundant since determineVCSRoot() is called later.
+
+2009-09-26 Zan Dobersek <zandobersek@gmail.com>
+
+ Reviewed by Gustavo Noronha.
+
+ [Layout tests] [Gtk] Gtk DumpRenderTree should use WebKit test fonts
+ https://bugs.webkit.org/show_bug.cgi?id=29689
+
+ Load test fonts through FontConfig before each test.
+ This ensures a more proper rendering of the tests.
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (initializeFonts):
+ (runTest):
+ (main):
+ * DumpRenderTree/gtk/fonts.conf: Copied from WebKitTools/DumpRenderTree/qt/fonts.conf.
+ * GNUmakefile.am:
+
+2009-09-25 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/29718> mark-bug-fixed: add -u|--update-only switch
+
+ Reviewed by Eric Seidel.
+
+ * Scripts/mark-bug-fixed:
+ (MarkBugFixed.__init__): Added -u|--update-only switch to list
+ of parse options.
+ (MarkBugFixed.main): When -u|--update-only is specified, add a
+ comment to the bug without marking it Resolved/Fixed.
+
+2009-09-25 Darin Adler <darin@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ * Scripts/prepare-ChangeLog: Leave files from the script-tests directory
+ out, just as we do for the resources directory.
+
+2009-09-25 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. Added Tony to committers.py because he's a
+ committer now.
+
+ * Scripts/modules/committers.py:
+
+2009-09-25 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ REGRESSION: media/video-pause-empty-events.html is occasionally timing out on bots
+ https://bugs.webkit.org/show_bug.cgi?id=28624
+
+ Disable hardware compositing on Leopard for versions of QuickTime 7.6.4 and older.
+
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (resetDefaultsToConsistentValues):
+
+2009-09-25 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ commit-queue should auto-retry patches which fail to commit due to out of date files
+ https://bugs.webkit.org/show_bug.cgi?id=28316
+
+ * Scripts/bugzilla-tool:
+ - Handle new CheckoutNeedsUpdate exception.
+ * Scripts/modules/logging_unittest.py:
+ - Call the ScriptError constructor correctly (this test had regressed).
+ * Scripts/modules/scm.py:
+ - Added the ability to define custom error handlers for run_command
+ and added a commit_error_handler which throws CheckoutNeedsUpdate
+ instead of ScriptError.
+ - Re-ordered ScriptError constructor arguments to make ScriptError("message text") usage possible.
+ * Scripts/modules/scm_unittest.py:
+ - Added tests of new error handlers.
+
+2009-09-25 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ commit-queue should give better feedback when failing a patch
+ https://bugs.webkit.org/show_bug.cgi?id=29316
+
+ * Scripts/bugzilla-tool:
+ - Update ScriptError uses to the new constructor format.
+ - Move CommitQueue._run_command to WebKitLandingScripts.run_command_with_teed_output
+ so that we can print to both stdout as well as an output buffer for error reporting.
+ - Update run_and_throw_if_fail to use teed output so that it can report the "output" as part of ScriptError.
+ - Use e.message_with_output() when failing a patch (this is the real fix here).
+ I also removed use of "This patch will require manual commit." as that's not always true.
+ - Add missing word "bug" from log message.
+ * Scripts/modules/scm.py:
+ - Make ScriptError save a bunch more data so that error messages can be nicer.
+ - Update ScriptError callers.
+
+2009-09-24 John Gregg <johnnyg@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Enable switch for notifications (experimental) in Page Settings
+ https://bugs.webkit.org/show_bug.cgi?id=28930
+
+ Now that desktop notifications are controlled by run-time switch,
+ set that switch to true for DumpRenderTree.
+
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (resetDefaultsToConsistentValues):
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (resetDefaultsToConsistentValues):
+ * DumpRenderTree/win/UIDelegate.cpp:
+ (UIDelegate::QueryInterface):
+
+2009-09-24 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix. SnowLeopard fixes for Mac dependencies.
+
+ * wx/build/build_utils.py:
+ * wx/build/settings.py:
+ * wx/install-unix-extras:
+
+2009-09-24 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Oliver Hunt.
+
+ Add support for DRT to send mouse wheel events.
+
+ https://bugs.webkit.org/show_bug.cgi?id=29348
+ [Gtk] Scrollwheel on horizontal scrollbars should slide horizontally
+
+ * DumpRenderTree/gtk/EventSender.cpp:
+ (mouseWheelToCallback):
+
+2009-09-17 Eric Seidel <eric@webkit.org>
+
+ Reviewed by David Levin.
+
+ commit-queue needs web-based status reporting
+ https://bugs.webkit.org/show_bug.cgi?id=29307
+
+ Add a first-pass web-based status for the commit-queue.
+ The bot is currently reachable at:
+ http://webkit-commit-queue.appspot.com/
+
+ * CommitQueueStatus/app.yaml: Added.
+ - Application description file required by App Engine.
+ * CommitQueueStatus/filters/__init__.py: Added.
+ - Required by python to treat 'filters' as a module.
+ * CommitQueueStatus/filters/webkit_extras.py: Added.
+ - Support for turning 'bug 123' and 'patch 123' into links.
+ This lets us use plain text strings in our logs yet display nice HTML (help prevent XSS attacks on the page).
+ * CommitQueueStatus/index.html: Added.
+ * CommitQueueStatus/index.yaml: Added.
+ - Some auto-generated file from app engine.
+ * CommitQueueStatus/queue_status.py: Added.
+ - The core logic of this bot. We could eventually split this file out into pieces.
+ * CommitQueueStatus/stylesheets/main.css: Added.
+ - Some basic lame-o CSS to make the page look less awful.
+ * CommitQueueStatus/update_status.html: Added.
+ - The form that the commit-queue (or a human) can use to update the status.
+ * Scripts/bugzilla-tool:
+ - Add some very basic update_status calls.
+ * Scripts/modules/statusbot.py: Added.
+ - Knows how to post to the CommitQueueStatus web application.
+
+2009-09-24 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/29712> mark-bug-fixed: add -m|--comment switch
+
+ Reviewed by Adam Roben.
+
+ * Scripts/mark-bug-fixed:
+ (MarkBugFixed.__init__): Added -m|--comment switch to list of
+ parse options.
+ (MarkBugFixed.main): When specified, prepend comment from
+ -m|--comment command-line switch to the bug comment.
+
+2009-09-24 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Jan Alonzo.
+
+ [GTK] DRT must display window instead of just realizing, to enable synthesizing events correctly
+ https://bugs.webkit.org/show_bug.cgi?id=29693
+
+ Show the window, to be able to synthesize events correctly.
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (runTest):
+ (main):
+
+2009-09-24 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by NOBODY(rollout)
+
+ Roll out r48712 as it is incorrect.
+
+ * DumpRenderTree/mac/ObjCController.m:
+ (+[ObjCController isSelectorExcludedFromWebScript:]):
+ (+[ObjCController webScriptNameForSelector:]):
+
+2009-09-24 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=29005
+ The indices of RuntimeArray should be enumerated like for a regular array.
+
+ * DumpRenderTree/mac/ObjCController.m:
+ (+[ObjCController isSelectorExcludedFromWebScript:]):
+ (+[ObjCController webScriptNameForSelector:]):
+ (-[ObjCController arrayOfString]):
+
+2009-09-23 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/28910> Move bugzilla-tool mark-fixed to standalone mark-bug-fixed tool
+
+ Reviewed by Darin Adler.
+
+ Also fixed a bug where specifying a revision on the command-line
+ as 'r12345' would fail. See <http://webkit.org/b/29699>.
+
+ * Scripts/bugzilla-tool: Updated module import statements.
+ (parse_bug_id): Removed. Moved to bugzilla.py.
+ (bug_comment_from_svn_revision): Removed. Moved to comments.py.
+ (bug_comment_from_commit_text): Removed. Moved to comments.py.
+ (MarkBugFixed): Removed. Code moved to mark-bug-fixed.
+ (BugzillaTool.__init__): Removed mark-fixed subcommand.
+ * Scripts/mark-bug-fixed: Added.
+ * Scripts/modules/bugzilla.py:
+ (parse_bug_id): Added. Moved from bugzilla-tool.
+ * Scripts/modules/comments.py: Added.
+ (bug_comment_from_svn_revision): Added. Moved from bugzilla-tool.
+ (bug_comment_from_commit_text): Added. Moved from bugzilla-tool.
+
+2009-09-23 Marshall Culpepper <mculpepper@appcelerator.com>
+
+ Reviewed by Eric Seidel.
+
+ jpeg.lib is now libjpeg.lib in DRT Cairo dependencies. return
+ "false" in non-implemented stub for setAlwaysAcceptCookies.
+ https://bugs.webkit.org/show_bug.cgi?id=29661
+
+ * DumpRenderTree/win/DumpRenderTree.vcproj:
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+
+2009-09-23 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] need to dump number of pending unload handlers
+ https://bugs.webkit.org/show_bug.cgi?id=29685
+
+ Implement dumping of the number of pending unload handlers.
+
+ The following tests will pass:
+
+ fast/loader/unload-form-about-blank.html
+ fast/loader/unload-form-post-about-blank.html
+ fast/loader/unload-form-post.html
+ fast/loader/unload-form.html
+ fast/loader/unload-hyperlink.html
+ fast/loader/unload-javascript-url.html
+ fast/loader/unload-reload.html
+ fast/loader/unload-window-location.html
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (getFrameNameSuitableForTestResult):
+ (webViewLoadFinished):
+
+2009-09-22 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ js tests should move into jstests subdirectory instead of resources/
+ https://bugs.webkit.org/show_bug.cgi?id=25880
+
+ Remove support of resources directory.
+
+ * Scripts/make-script-test-wrappers:
+
+2009-09-22 Eric Seidel <eric@webkit.org>
+
+ No review, only fixing typo (missing space character).
+
+ Fix typo from https://bugs.webkit.org/show_bug.cgi?id=29220
+
+ * Scripts/run-webkit-tests:
+
+2009-09-22 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ run-webkit-tests needs a --repeat-each=N option (AAABBBCCC instead of ABCABCABC)
+ https://bugs.webkit.org/show_bug.cgi?id=29220
+
+ * Scripts/run-webkit-tests:
+
+2009-09-22 Eric Seidel <eric@webkit.org>
+
+ Reviewed by David Kilzer.
+
+ svn-apply can't handle single-line binary file additions
+ https://bugs.webkit.org/show_bug.cgi?id=29100
+
+ Fixed the regexp and added a unit test.
+
+ * Scripts/modules/scm_unittest.py:
+ * Scripts/svn-apply:
+
+2009-09-11 Eric Seidel <eric@webkit.org>
+
+ Reviewed by David Kilzer.
+
+ post-diff and post-commits should be able to find bug urls in ChangeLogs.
+ https://bugs.webkit.org/show_bug.cgi?id=29206
+
+ * Scripts/bugzilla-tool:
+ - Share common options by adding a PostDiffAsPatchToBug.posting_options() method.
+ - Rename --no-comment to --add-log-as-comment and reverse behavior.
+ Comments tend to just be noise. I'll eventually remove this argument if no one uses it.
+ - Split out code into helper functions to try and make execute() more legible.
+ - Make post-diff find the bug url in the ChangeLogs if not passed as an argument.
+ - Fallback to bug urls in commit diffs, instead of just in commit messages,
+ meaning post-commits will now find bug urls in ChangeLogs.
+
+2009-09-21 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
+
+ Reviewed by Maciej Stachowiak.
+
+ --parse-only parameter wasn't passed to SunSpider/sunspider script.
+ https://bugs.webkit.org/show_bug.cgi?id=29611
+
+ * Scripts/run-sunspider: Missing parameter passing added.
+
+2009-09-20 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/29521> run-webkit-tests: use require instead eval to load DumpRenderTreeSupport module
+
+ Reviewed by Mark Rowe.
+
+ The require statement is like the use statement, except that it
+ is run during script execution instead of during the 'BEGIN'
+ phase. This makes it possible to change @INC before the require
+ statement is run. See 'require' and 'use' in the perlfunc(1)
+ manpage and 'BEGIN' in perlmod(1) manpage.
+
+ * Scripts/run-webkit-tests: Replace eval statement with require
+ statement.
+
+2009-09-18 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fixes. Fix the config name under git and allow users to specify
+ their own waf install for experimenting with new versions.
+
+ * Scripts/webkitdirs.pm:
+ * wx/build/settings.py:
+
+2009-09-18 Alex Milowski <alex@milowski.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Added checkWebCoreMathMLSupport and hasMathMLSupport to support
+ checking for whether MathML tests should be run
+
+ * Scripts/run-webkit-tests:
+ * Scripts/webkitdirs.pm:
+
+2009-08-28 Darin Adler <darin@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Break more of run-webkit-tests into separate functions
+ https://bugs.webkit.org/show_bug.cgi?id=29497
+
+ Some small steps toward improving run-webkit-tests. My goal is to
+ refactor much more of the script into functions. Later we can add
+ parallel test running to the tool. But better structure may help
+ even if someone decides to translate this into another scripting
+ language instead.
+
+ * Scripts/run-webkit-tests: Break more pieces of the script into
+ seprate functions. Added readSkippedFiles, findTestsToRun, and
+ printResults functions. Removed custom code to skip results.html
+ and instead just put it into the ignoredFiles hash. Fixed some
+ indentation. Sorted function declarations, global variables,
+ and options at the top of the file alphabetically so they're not
+ in a semi-random order.
+
+2009-09-17 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix, add missing dependency.
+
+ * wx/browser/wscript:
+
+2009-09-16 Mark Rowe <mrowe@apple.com>
+
+ Split the SnowLeopard build across a few machines.
+
+ * BuildSlaveSupport/build.webkit.org-config/config.json:
+
+2009-09-16 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix to support monolithic builds on Windows.
+
+ * wx/build/wxpresets.py:
+
+2009-09-16 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix, improve debug support and 2.9 support on MSW.
+
+ * wx/build/settings.py:
+ * wx/build/wxpresets.py:
+
+2009-09-16 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Blind try at fixing new test failure on Windows.
+
+ * DumpRenderTree/win/FrameLoadDelegate.cpp:
+ (FrameLoadDelegate::didReceiveTitle):
+
+2009-09-15 Alex Milowski <alex@milowski.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Added mathml toggle
+
+ * Scripts/build-webkit:
+
+2009-09-15 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix. Allow waf build to support Python < 2.6.
+
+ * wx/build/waf_extensions.py:
+
+2009-09-14 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Add LayoutTests infrastructure to enable and disable webgl tests.
+ https://bugs.webkit.org/show_bug.cgi?id=29254
+
+ * Scripts/run-webkit-tests:
+ * Scripts/webkitdirs.pm:
+
+2009-09-14 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Add --iterations option to run-webkit-tests to repeat the tests N times
+ https://bugs.webkit.org/show_bug.cgi?id=29263
+
+ When run with --iterations N, run-webkit-tests will repeat the tests N times.
+
+ * Scripts/run-webkit-tests:
+
+2009-09-14 Brady Eidson <beidson@apple.com>
+
+ Not reviewed, maybe should've been:
+
+ Cleaning up more Windows-specific fallout from the fix for:
+ <rdar://problem/7174050> and https://bugs.webkit.org/show_bug.cgi?id=29160
+
+ * DumpRenderTree/win/ResourceLoadDelegate.cpp:
+ (ResourceLoadDelegate::didReceiveAuthenticationChallenge): Correct printf() formatter,
+ and call the correct method to get the Sender.
+
+2009-09-14 Jon Honeycutt <jhoneycutt@apple.com>
+
+ GTK build fix.
+
+ Unreviewed.
+
+ * DumpRenderTree/gtk/AccessibilityControllerGtk.cpp:
+ (AccessibilityController::setLogScrollingStartEvents):
+
+2009-09-11 Jon Honeycutt <jhoneycutt@apple.com>
+
+ DRT/test part of
+ <rdar://problem/7197644> WebKit should broadcast an MSAA event when
+ jumping to a named anchor
+
+ https://bugs.webkit.org/show_bug.cgi?id=28899
+
+ Reviewed by Adam Roben.
+
+ * DumpRenderTree/AccessibilityController.cpp:
+ (logScrollingStartEventsCallback):
+ Turn on logging of scrolling start events.
+ (AccessibilityController::getJSClass):
+ Add a "logScrollingStartEvents" to the AccessibilityController's JS
+ class definition.
+ (AccessibilityController::resetToConsistentState):
+ Turn off logging of scrolling start events.
+
+ * DumpRenderTree/AccessibilityController.h:
+ Declare setLogScrollingStartEvents(). Add a member for the scrolling
+ start event hook.
+
+ * DumpRenderTree/mac/AccessibilityControllerMac.cpp:
+ (AccessibilityController::setLogScrollingStartEvents):
+ Stubbed.
+
+ * DumpRenderTree/win/AccessibilityControllerWin.cpp:
+ (AccessibilityController::AccessibilityController):
+ Initialize the handle to 0.
+ (logEventProc):
+ Renamed from logFocusEventProc; now logs scrolling start events, too.
+ Removed the assertion that the event is a focus event. Added a switch
+ to print a message for focus, scrolling start, and other, unknown
+ events.
+ (AccessibilityController::setLogFocusEvents):
+ Changed to use logEventProc.
+ (AccessibilityController::setLogScrollingStartEvents):
+ If turning logging off, unhook the scrolling start event hook, and clear
+ the member holding the handle. If turning on, query for the root
+ accessible, so that accessibility is enabled for the WebView, and call
+ SetWinEventHook to setup an event hook using logEventProc as the
+ callback function.
+
+2009-09-14 Brady Eidson <beidson@apple.com>
+
+ Windows build fix.
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (setAuthenticationPasswordCallback):
+ (setAuthenticationUsernameCallback):
+
+ * DumpRenderTree/win/ResourceLoadDelegate.cpp:
+ (ResourceLoadDelegate::didReceiveAuthenticationChallenge):
+
+2009-09-14 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Safari 4 cannot be used to update firmware on Linksys routers.
+ <rdar://problem/7174050> and https://bugs.webkit.org/show_bug.cgi?id=29160
+
+ Add the ability for DRT to handle authentication challenges.
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (setAuthenticationPasswordCallback):
+ (setAuthenticationUsernameCallback):
+ (setHandlesAuthenticationChallengesCallback):
+ (LayoutTestController::staticFunctions):
+
+ * DumpRenderTree/LayoutTestController.h:
+ (LayoutTestController::handlesAuthenticationChallenges):
+ (LayoutTestController::setHandlesAuthenticationChallenges):
+ (LayoutTestController::authenticationUsername):
+ (LayoutTestController::setAuthenticationUsername):
+ (LayoutTestController::authenticationPassword):
+ (LayoutTestController::setAuthenticationPassword):
+
+ * DumpRenderTree/mac/ResourceLoadDelegate.mm:
+ (-[ResourceLoadDelegate webView:resource:didReceiveAuthenticationChallenge:fromDataSource:]):
+
+ * DumpRenderTree/win/ResourceLoadDelegate.cpp:
+ (ResourceLoadDelegate::didReceiveAuthenticationChallenge):
+ * DumpRenderTree/win/ResourceLoadDelegate.h:
+
+2009-09-12 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Test for <rdar://problem/6954546> and <rdar://problem/7090444>.
+
+ Add a flag on the test plug-in that asks it to clear the document during the call to NPP_New.
+ This is the trigger for both <rdar://problem/6954546> and <rdar://problem/7090444>.
+
+ * DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp:
+ (NPP_New):
+
+2009-09-14 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix for non-wxPython builds and a fix for errors when updating swig.py.
+
+ * wx/build/build_utils.py:
+ * wx/build/settings.py:
+
+2009-09-14 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Build fix for windows build.
+
+ * Scripts/bisect-builds: Add missing paranthesis for tmpdir function.
+
+2009-09-13 Kevin Ollivier <kevino@theolliviers.com>
+
+ Fix typo accidently landed in last commit.
+
+ * wx/build/settings.py:
+
+2009-09-13 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix, error out if using the wrong Python.
+
+ * wx/build/settings.py:
+
+2009-09-13 Xan Lopez <xlopez@igalia.com>
+
+ Build fix for GTK+ < 2.14.
+
+ Do not use gtk_widget_get_window, access the window directly
+ through the struct.
+
+ * DumpRenderTree/gtk/EventSender.cpp:
+ (contextClickCallback):
+ (mouseDownCallback):
+ (mouseUpCallback):
+ (mouseMoveToCallback):
+ (keyDownCallback):
+
+2009-09-13 Martin Robinson <martin.james.robinson@gmail.com>
+
+ Reviewed by Xan Lopez and Jan Alonzo.
+
+ [GTK] EventSender does not set 'window' property on synthesized GDK events
+ https://bugs.webkit.org/show_bug.cgi?id=29169
+
+ Set the window property on synthesized GDK events in the GTK+ EventSender.
+
+ * DumpRenderTree/gtk/EventSender.cpp:
+ (contextClickCallback):
+ (mouseDownCallback):
+ (mouseUpCallback):
+ (mouseMoveToCallback):
+ (keyDownCallback):
+
+2009-09-12 Drew Wilson <atwilson@google.com>
+
+ Reviewed by Mark Rowe.
+
+ run-webkit-tests has a timeout value that is too low
+ https://bugs.webkit.org/show_bug.cgi?id=29223
+
+ * Scripts/run-webkit-tests:
+ Changed timeout value to 20 seconds to avoid timing out too early.
+
+2009-09-11 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix. Mark dependencies as mandatory and declare which MSVC versions and
+ architectures are supported for building wxWebKit.
+
+ * wx/build/settings.py:
+
+2009-09-11 Eric Seidel <eric@webkit.org>
+
+ Reviewed by David Levin.
+
+ bugzilla-tool rollout threw exception under svn
+ https://bugs.webkit.org/show_bug.cgi?id=29211
+
+ * Scripts/modules/scm.py: add missing return, and convert number arguments to strings.
+ * Scripts/modules/scm_unittest.py: add testing for this fix.
+
+2009-09-11 Brian Weinstein <bweinstein@apple.com>
+
+ Add myself to the committers list.
+
+ * Scripts/modules/committers.py:
+
+2009-09-11 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ bugzilla-tool land-patches should only fail-fast in --commit-queue mode
+ https://bugs.webkit.org/show_bug.cgi?id=29201
+
+ * Scripts/bugzilla-tool:
+
+2009-09-11 Adam Roben <aroben@apple.com>
+
+ Make commit-log-editor move common prefixes to the top of the log
+
+ Fies <http://webkit.org/b/29190> commit-log-editor should move common
+ prefixes to the top of the commit log
+
+ Reviewed by Darin Adler.
+
+ * Scripts/commit-log-editor: Find and remove the longest common prefix
+ ending in a double newline from each ChangeLog entry, then put that
+ common prefix at the top of the commit log.
+ (removeLongestCommonPrefixEndingInDoubleNewline): Added. Finds,
+ removes, and returns the longest common prefix ending in a double
+ newline from a hash of strings
+
+2009-09-11 Eric Seidel <eric@webkit.org>
+
+ Fix obvious typo in previous commit, no review.
+
+ bugzilla-tool should automate rollouts
+ https://bugs.webkit.org/show_bug.cgi?id=26715
+
+ * Scripts/bugzilla-tool: add back missing "scm" argument.
+
+2009-09-11 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ bugzilla-tool should automate rollouts
+ https://bugs.webkit.org/show_bug.cgi?id=26715
+
+ bugzilla-tool rollout will do the rollout locally and leave the diff for you to verify and commit.
+ The --complete-rollout option will automatically land and update the bug.
+ Eventually --complete-rollout will be default, but that will require more testing.
+
+ This first pass is good enough for others to try and file bugs about.
+
+ * Scripts/bugzilla-tool:
+ - Move modified_changelogs into scm.py.
+ - Move svn_revision_from_commit_text logic into scm.py.
+ - Add RolloutCommit command.
+ * Scripts/modules/bugzilla.py:
+ - Add reopen_bug command used by RolloutCommit.
+ * Scripts/modules/scm.py:
+ - Add functions to support RolloutCommit.
+ - Abstract find_uuid into value_from_svn_info so it can be re-used for _repository_url (needed by svn merge).
+ - Add a str() call so that svn_commit_log can take a numeric argument.
+ - Remove a bunch of very slow code from last_svn_commit_log and used the built-in 'BASE' alias instead.
+ - Made dry_run commits return something that svn_revision_from_commit_text can parse.
+ * Scripts/modules/scm_unittest.py:
+ - Add read_from_path for easy file reading.
+ - Put test4 on a new line to make reverts work w/o conflict.
+ - Add an "svn update" call so that the checkout revision matches the server revision.
+ - Add tests for svn_revision_from_commit_text.
+ - Add a simple test for apply_reverse_diff.
+ - Add a new self.scm member and use it in the new tests (eventually other tests can use it too).
+ - Add test for svn_commit_log to make sure my 'BASE' change above worked as expected.
+
+2009-09-11 Adam Roben <aroben@apple.com>
+
+ Get user script/stylesheet tests running on Windows
+
+ Fixes <http://webkit.org/b/29181> User script/stylesheet tests are
+ skipped on Windows
+
+ Reviewed by John Sullivan.
+
+ * DumpRenderTree/win/DumpRenderTree.vcproj: Link all configurations
+ against comsuppw.lib so we can use _bstr_t.
+
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp: Fixed #include
+ order, added #include of comutil.h for _bstr_t.
+
+ (bstrT): Helper function to convert a JSStringRef to a _bstr_t.
+ (LayoutTestController::addUserScript):
+ (LayoutTestController::addUserStyleSheet):
+ Implemented. Implementations were based on those in
+ LayoutTestControllerMac.mm.
+
+2009-09-10 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/29147> run-webkit-tests: make -h show help
+
+ Reviewed by Mark Rowe.
+
+ * Scripts/run-webkit-tests: Updated to make -h switch show help.
+
+2009-09-10 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Add WebCore/websockets directory in wx build system.
+ https://bugs.webkit.org/show_bug.cgi?id=28038
+
+ * wx/build/settings.py:
+
+2009-09-10 Martin Robinson <martin.james.robinson@gmail.com>
+
+ [GTK] EventSender does not properly convert some keyDown strings
+ https://bugs.webkit.org/show_bug.cgi?id=29119
+
+ Add more keyDown string to character code conversions for GTK+ EventSender.
+
+ * DumpRenderTree/gtk/EventSender.cpp:
+ (keyDownCallback):
+
+2009-09-09 Steve Block <steveblock@google.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Geolocation Coordinates::toString() prints bogus values for unspecified properties.
+ https://bugs.webkit.org/show_bug.cgi?id=29080
+
+ * Scripts/make-script-test-wrappers: Modified. Adds asynchronous Geolocation tests to exclusion list.
+
+2009-09-09 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Eric Carlson.
+
+ reviewer/committer lookups are backwards
+ https://bugs.webkit.org/show_bug.cgi?id=29113
+
+ I also moved Eric Carlson from the committer list to the reviewer list now that he is one.
+
+ * Scripts/modules/bugzilla.py:
+ * Scripts/modules/committers.py:
+
+2009-09-09 Cameron McCormack <cam@mcc.id.au>
+
+ Reviewed by Eric Seidel.
+
+ svn-unapply doesn't revert directories correctly
+ https://bugs.webkit.org/show_bug.cgi?id=29065
+
+ * Scripts/svn-unapply: Make svnStatus consistently return status
+ lines including a newline.
+ * Scripts/svn-apply: Keep svnStatus in sync with the one in
+ svn-unapply, in lieu of moving it to a common file.
+
+2009-09-09 Cameron McCormack <cam@mcc.id.au>
+
+ Reviewed by Eric Seidel.
+
+ svn-apply doesn't handle changes to files copied to new directories properly
+ https://bugs.webkit.org/show_bug.cgi?id=29059
+
+ * Scripts/svn-apply: Don't treat "--- revision 0" patches as being
+ additions if we know that we've just copied a file to this name.
+
+2009-09-09 Eric Seidel <eric@webkit.org>
+
+ Reviewed by David Levin.
+
+ commit-queue hangs if a builder has never built
+ https://bugs.webkit.org/show_bug.cgi?id=29091
+
+ * Scripts/modules/buildbot.py:
+ * Scripts/modules/buildbot_unittest.py:
+
+2009-09-09 Zan Dobersek <zandobersek@gmail.com>
+
+ Reviewed by Gustavo Noronha.
+
+ [GTK] DumpRenderTree needs eventSender object and implementation
+ https://bugs.webkit.org/show_bug.cgi?id=25990
+
+ Implements most of the EventSender object's functionality for
+ the DumpRenderTree tool. Implementation still lacks support
+ for drag and drop tests and forward leaps.
+
+ Based on work by Holger Hans Peter Freyther.
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (runTest): Focus on the view before loading a new test.
+ (webViewWindowObjectCleared):
+ * DumpRenderTree/gtk/EventSender.cpp: Added.
+ (getDragModeCallback):
+ (setDragModeCallback):
+ (leapForwardCallback):
+ (contextClickCallback):
+ (updateClickCount):
+ (mouseDownCallback):
+ (mouseUpCallback):
+ (mouseMoveToCallback):
+ (beginDragWithFilesCallback):
+ (replaySavedEvents):
+ (keyDownCallback):
+ (textZoomInCallback):
+ (textZoomOutCallback):
+ (zoomPageInCallback):
+ (zoomPageOutCallback):
+ (getClass):
+ (makeEventSender):
+ * DumpRenderTree/gtk/EventSender.h: Added.
+ * GNUmakefile.am: Add build rules for EventSender.
+
+2009-09-09 Daniel Bates <dbates@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ https://bugs.webkit.org/show_bug.cgi?id=28953
+
+ Added pre- and post- build events so that on build failure, the file
+ buildfailed is written to the directory $(WebKitOutputDir).
+
+ * WinLauncher/WinLauncher.vcproj:
+
+2009-09-09 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Unreviewed.
+
+ Add myself to list of committers.
+
+ * Scripts/modules/committers.py:
+
+2009-09-08 Eric Seidel <eric@webkit.org>
+
+ Reviewed by David Levin.
+
+ commit-queue gets stuck if a non-committer sets commit-queue+ or review+
+ https://bugs.webkit.org/show_bug.cgi?id=28605
+ https://bugs.webkit.org/show_bug.cgi?id=28916
+
+ * Scripts/bugzilla-tool:
+ - Fix comment and adjust reject_patch_from_commit_queue call to pass "manual commit"
+ comment now that it's used for rejecting patches for invalid committers too.
+ - Pass reject_invalid_patches=True for commit-queue calls, normally we just ignore patches with invalid reviewers, the commit-queue rejects them.
+ - Make the commit queue print patches count instead of bugs count, this also fixes https://bugs.webkit.org/show_bug.cgi?id=28916.
+ * Scripts/modules/bugzilla.py:
+ - Make _parse_attachment_element not validate reviewer/committer.
+ - Share flag parsing code in _parse_attachment_flag.
+ - Add _validate* methods for validating reviewers and committers and updating bugs when validation fails.
+ - Add reject_invalid_patches argument so the commit-queue can update bugs on failed validation and other "read only" commands will not.
+ - Add reject_patch_from_review_queue using a new _set_flag_on_attachment abstraction.
+ * Scripts/modules/bugzilla_unittest.py:
+ - Update this test to no longer expect committer/reviewer validation.
+ * Scripts/modules/committers.py:
+ - Return None on failed lookups instead of raising Exceptions.
+ * Scripts/modules/committers_unittest.py:
+ - Update tests to expect None returns instead of exceptions.
+
+2009-09-09 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/29061> Fix obvious copy-paste error in AccessibilityUIElement::clickPointY()
+
+ Reviewed by Mark Rowe.
+
+ No change to layout test results.
+
+ * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+ (AccessibilityUIElement::clickPointY): Changed to return y value
+ instead of x value.
+
+2009-09-08 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Mark Rowe.
+
+ Reduce dglazkov's boboiness by properly concatenating revision value.
+
+ * BuildSlaveSupport/build.webkit.org-config/master.cfg: Used substitution
+ rather than "+".
+
+2009-09-08 Kevin Ollivier <kevino@theolliviers.com>
+
+ wxWebKit Python extension build fix - get swig.py if it doesn't exist.
+
+ * wx/build/build_utils.py:
+
+2009-09-08 Mark Rowe <mrowe@apple.com>
+
+ Fix an incorrect variable name in UpdateChromiumSource.
+
+ * BuildSlaveSupport/build.webkit.org-config/master.cfg:
+
+2009-09-08 Mark Rowe <mrowe@apple.com>
+
+ Don't check for leaks on the release SnowLeopard builder.
+
+ * BuildSlaveSupport/build.webkit.org-config/config.json:
+
+2009-09-08 Mark Rowe <mrowe@apple.com>
+
+ Add a SnowLeopard release builder.
+
+ * BuildSlaveSupport/build.webkit.org-config/config.json:
+
+2009-09-08 David Levin <levin@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Remove end of line whitespace check from check-webkit-style.
+ https://bugs.webkit.org/show_bug.cgi?id=29053
+
+ * Scripts/modules/cpp_style.py:
+
+2009-09-08 Cameron McCormack <cam@mcc.id.au>
+
+ Reviewed by Darin Adler.
+
+ Fix DumpRenderTree build from clean tree on Tiger
+ https://bugs.webkit.org/show_bug.cgi?id=28927
+
+ * DumpRenderTree/mac/PerlSupport/Makefile: Ensure the
+ DerivedSources/DumpRenderTree directory exists when
+ building on Tiger.
+
+2009-09-08 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix after introduction of platform/mock directory.
+
+ * wx/build/settings.py:
+
+2009-09-08 Yael Aharon <yael.aharon@nokia.com>
+
+ Unreviewed.
+
+ Add myself to list of committers.
+
+ * Scripts/modules/committers.py:
+
+2009-09-08 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Unreviewed.
+
+ Add myself to list of committers.
+
+ * Scripts/modules/committers.py:
+
+2009-09-08 Cameron McCormack <cam@mcc.id.au>
+
+ Reviewed by Darin Adler.
+
+ prepare-ChangeLog too chatty on file additions
+ https://bugs.webkit.org/show_bug.cgi?id=29019
+
+ * Scripts/prepare-ChangeLog: Omit description of added properties
+ on newly added files.
+
+2009-09-08 Steve Block <steveblock@google.com>
+
+ Reviewed by Adam Barth.
+
+ Adds a LayoutTestController method to set the permission state for Geolocation.
+ This is required to use the mock Geolocation service for testing.
+ https://bugs.webkit.org/show_bug.cgi?id=29027
+
+ * DumpRenderTree/LayoutTestController.cpp: Modified.
+ (setDatabaseQuotaCallback): Modified. Style fix.
+ (setGeolocationPermissionCallback): Added. Sets the Geolocation permission state.
+ (LayoutTestController::staticFunctions): Modified. Registers the above function on the LayoutTestController.
+ * DumpRenderTree/LayoutTestController.h: Modified.
+ (LayoutTestController::setGeolocationPermission): Added. Sets the Geolocation permission state.
+ (LayoutTestController::isGeolocationPermissionSet): Added. Returns whether the Geolocation permission has been set.
+ (LayoutTestController::geolocationPermission): Added. Returns the Geolocation permission state.
+ * DumpRenderTree/mac/UIDelegate.mm: Modified.
+ (-[UIDelegate webView:frame:requestGeolocationPermission:securityOrigin:]): Added. Implement chrome method to respond to request for Geolocation permission state. Response is made using above methods to access permission state.
+
+2009-09-08 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] QtWebKit single API to enable persistency
+ https://bugs.webkit.org/show_bug.cgi?id=28682
+
+ Use the new enablePersistentStorage API instead
+ of enabling all persistent features one-by-one.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::WebPage::WebPage):
+ (WebCore::DumpRenderTree::DumpRenderTree):
+
+2009-09-07 Andras Becsi <becsi.andras@stud.u-szeged.hu>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Refactor --strict switch to --ignore-metrics and correct the
+ implementation to make the feature usable on all platforms.
+ https://bugs.webkit.org/show_bug.cgi?id=28907
+
+ run-webkit-tests --ignore-metrics strips the font related metrics from
+ the actual and expected data before comparing them.
+ In this way the render trees can be checked for obvious differences but
+ a successful test implies by no means that the layout is actually correct.
+
+ * Scripts/run-webkit-tests:
+
+2009-09-07 Steve Block <steveblock@google.com>
+
+ Reviewed by Adam Barth.
+
+ Adds a mock Geolocation service. This will be used to provide predictable behavior of the
+ Geolocation API for use in LayoutTests. Later changes will integrate the the mock
+ Geolocation service with DumpRenderTree.
+ https://bugs.webkit.org/show_bug.cgi?id=28264
+
+ * DumpRenderTree/LayoutTestController.cpp: Modified.
+ (setMockGeolocationPositionCallback): Added. Configures the mock Geolocation service.
+ (setMockGeolocationErrorCallback): Added. Configures the mock Geolocation service.
+ (LayoutTestController::staticFunctions): Added. Registers the above functions on the LayoutTestController.
+ * DumpRenderTree/LayoutTestController.h: Modified.
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm: Modified.
+ (LayoutTestController::setMockGeolocationPosition): Added. Configures the mock Geolocation service.
+ (LayoutTestController::setMockGeolocationError): Added. Configures the mock Geolocation service.
+
+2009-09-07 Drew Wilson <atwilson@google.com>
+
+ Reviewed by David Levin.
+
+ Enable SHARED_WORKERS by default
+ https://bugs.webkit.org/show_bug.cgi?id=28959
+
+ * Scripts/build-webkit:
+
+2009-09-07 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fixes for wx SVN trunk.
+
+ * wx/build/settings.py:
+
+2009-09-04 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix. Switch USE_ defines over to the compiler so that they can be
+ checked by files not including config.h (like WebCorePrefix.h).
+
+ * wx/build/settings.py:
+
+2009-09-04 Adam Barth <abarth@webkit.org>
+
+ Unreviewed build fix.
+
+ Update declaration of FrameLoadDelegate to reflect that
+ IWebFrameLoadDelegatePrivate2 inherits from
+ IWebFrameLoadDelegatePrivate.
+
+ * DumpRenderTree/win/FrameLoadDelegate.h:
+
+2009-09-04 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24696
+
+ Add testing instrumentation for mixed content.
+
+ * DumpRenderTree/mac/FrameLoadDelegate.mm:
+ (-[FrameLoadDelegate webView:]):
+ (-[FrameLoadDelegate webView:didRunInsecureContent:]):
+ * DumpRenderTree/win/FrameLoadDelegate.cpp:
+ (descriptionSuitableForTestResult):
+ (FrameLoadDelegate::QueryInterface):
+ (FrameLoadDelegate::didDisplayInsecureContent):
+ (FrameLoadDelegate::didRunInsecureContent):
+ * DumpRenderTree/win/FrameLoadDelegate.h:
+
+2009-09-03 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ [wx] Frames support
+ https://bugs.webkit.org/show_bug.cgi?id=19041
+
+ * wx/build-wxwebkit:
+
+2009-09-02 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/28880> svn-apply --force doesn't actually work
+
+ Reviewed by Eric Seidel.
+
+ This fixes "svn-apply --force" and adds unit tests for the
+ scm.apply_patch() method which uses this script.
+
+ * Scripts/svn-apply: Created $globalExitCode variable that
+ defaults to 0. Exit with a value of $globalExitCode when the
+ script is finished.
+ (applyPatch): Ignore a non-zero $exitCode if $force is true, but
+ set $globalExitCode to $exitCode so that svn-apply exits with a
+ non-zero status if any patches did not apply cleanly. Also
+ print out the actual patch command if $force was not true.
+
+ * Scripts/modules/scm.py:
+ (scripts_directory): Added. Extracted from script_path().
+ (script_path): Extracted scripts_directory().
+ * Scripts/modules/scm_unittest.py: Import urllib.
+ (SVNTestRepository.setup): Save the original working directory
+ in test_object since this represents the WebKit repository from
+ where the unit tests are run.
+ (SCMTest): Created new super class to hold utility methods.
+ (SCMTest._create_patch): Creates a patch file on disk and a
+ dictionary for use with scm.svn_apply().
+ (SCMTest._setup_webkittools_scripts_symlink): Sets up a symlink
+ back to WebKitTools/Scripts in the test repository so that
+ scm.apply_patch() is able to find the svn-apply script.
+ (SVNTest): Inherit from SCMTest instead of unittest.TestCase.
+ (SVNTest.tearDown): Make sure to change directories back to the
+ original_path before the next test.
+ (SVNTest.test_apply_svn_patch): New test case for applying an
+ svn patch with scm.apply_patch().
+ (SVNTest.test_apply_svn_patch_force): New test case for applying
+ an svn patch with scm.apply_patch() that conflicts.
+ (GitTest): Inherit from SCMTest instead of unittest.TestCase.
+ (GitTest.tearDown): Make sure to change directories back to the
+ original_path before the next test.
+ (GitTest.test_apply_git_patch): New test case for applying a git
+ patch with scm.apply_patch().
+ (GitTest.test_apply_git_patch_force): New test case for applying
+ a git patch with scm.apply_patch() that conflicts.
+
+2009-09-02 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Mark Rowe.
+
+ [Qt] Add support for platform-spesific layout-test results
+
+ For the Qt port we use the qt-[mac|linux|win] directories and then fall
+ back to the generic qt directory for both test results and skipped list.
+
+ * Scripts/run-webkit-tests:
+ * Scripts/webkitdirs.pm:
+
+2009-09-02 Laurent Cerveau <lcerveau@me.com>
+
+ Reviewed by David Kilzer.
+
+ <http://webkit.org/b/25517> build-webkit script should print build time at end
+
+ * Scripts/build-webkit:
+ Added startTime and endTime variable so that the build time is computed and printed as
+ part of the build message; display formatting has been separated in a dedicated subroutine.
+
+2009-09-02 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/28881> svn-create-patch should check if the repo path is the same when trying to find the root
+
+ Reviewed by Eric Seidel.
+
+ * Scripts/VCSUtils.pm:
+ (determineSvnRoot): Added back check for repository root that
+ was removed in r46134 when this code lived in svn-create-patch.
+ It's necessary to check both the repository root and the
+ repository UUID in case two different working directories are
+ checked out from the same repository.
+
+2009-09-02 Timothy Hatcher <timothy@apple.com>
+
+ Use new 512x512 icons for nightly builds.
+
+ Rubber-stamped by Mark Rowe.
+
+ * WebKitLauncher/webkit.icns:
+
+2009-09-02 Kevin Ollivier <kevino@theolliviers.com>
+
+ waf build fix. Remove local variable shadowing global.
+
+ * wx/build/settings.py:
+
+2009-09-02 Zan Dobersek <zandobersek@gmail.com>
+
+ Reviewed by David Kilzer.
+
+ Calls exitStatus function from the main package where it is also defined.
+
+ * Scripts/VCSUtils.pm:
+
+2009-09-02 Kevin Ollivier <kevino@theolliviers.com>
+
+ waf build fixes for Windows/MSVC and Mac/Snow Leopard.
+
+ * wx/browser/wscript:
+ * wx/build/build_utils.py:
+ * wx/build/settings.py:
+
+2009-08-10 Kevin Ollivier <kevino@theolliviers.com>
+
+ Reviewed by Eric Seidel.
+
+ Changes needed for build-webkit to support the waf build system for the wx port.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27619
+
+ * Scripts/build-webkit:
+ * Scripts/run-launcher:
+ * Scripts/webkitdirs.pm:
+
+2009-09-02 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/27168> With Subversion 1.6, update-webkit prompts on conflicts
+
+ Reviewed by Eric Seidel.
+
+ * Scripts/update-webkit: Added "--accept postpone" to
+ @svnOptions when running with svn-1.6 or newer.
+
+2009-09-02 David Kilzer <ddkilzer@apple.com>
+
+ Moved svn 1.6 version check into VCSUtils::isSVNVersion16OrNewer()
+
+ Reviewed by Eric Seidel.
+
+ * Scripts/VCSUtils.pm:
+ (@EXPORT): Added &isSVNVersion16OrNewer.
+ (svnVersion): Added. Internal method that gets the SVN version
+ and caches it.
+ (isSVNVersion16OrNewer): Added. Method that does the SVN 1.6
+ version check.
+ * Scripts/prepare-ChangeLog: Switched to use new
+ isSVNVersion16OrNewer() method.
+ * Scripts/resolve-ChangeLogs: Ditto.
+ * Scripts/svn-create-patch: Ditto.
+
+2009-09-02 David Kilzer <ddkilzer@apple.com>
+
+ Clean up VCSUtils.pm
+
+ Reviewed by Eric Seidel.
+
+ * Scripts/VCSUtils.pm: Added proper package statement. Fixed
+ indentation of BEGIN block. Listed each exported method on a
+ line by itself. Added methods to the export list after adding
+ the package statement. Sorted module variables. Moved
+ definiton of $gitRoot next to other module variables.
+
+2009-09-01 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Rubber-stamped by Simon Hausmann.
+
+ [Qt] Fix layout-test plugins/plugin-javascript-access.html
+
+ * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro:
+
+2009-09-02 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ js tests should move into jstests subdirectory instead of resources/
+ https://bugs.webkit.org/show_bug.cgi?id=25880
+
+ make-script-wrappers supports both resources and script-tests directories.
+ run-webkit-tests ignores files in script-tests.
+ Move script tests of animations to check the new script is working.
+
+ * Scripts/make-script-test-wrappers:
+ * Scripts/run-webkit-tests:
+
+2009-09-02 Szabo Carol <carol.szabo@nokia.com>
+
+ Reviewed by David Levin.
+
+ check-webkit-style uses python from /usr/bin instead of the PATH
+ https://bugs.webkit.org/show_bug.cgi?id=28225
+
+ * Scripts/bugzilla-tool:
+ * Scripts/check-webkit-style:
+ * Scripts/run-webkit-unittests:
+ * Scripts/update-sources-list.py:
+ Changed the first line from
+ #!/usr/bin/python
+ to
+ #!/usr/bin/env python
+ which causes python to be invoked from the path location returned
+ by "which python" when any of these scripts are launched.
+ these are currently all the python scripts in WebKitTools/Scripts.
+
+2009-09-01 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/28601> bugzilla-tool post-commits posts commits backwards
+
+ Reviewed by Adam Barth.
+
+ * Scripts/modules/scm.py:
+ (Git.commit_ids_from_commitish_arguments): Reverse the list of
+ commits returned from git-rev-list since we always want to post
+ the oldest patches first to bugs.webkit.org.
+ * Scripts/modules/scm_unittest.py:
+ (run): Added return statement to return the output now that we
+ want it sometimes.
+ (SVNTestRepository._setup_test_commits): Added a fourth commit
+ so the GitTest.test_commitish_order() test has more commits to
+ work with.
+ (GitTest.test_commitish_order): Added unit test for change to
+ Git.commit_ids_from_commitish_arguments() in scm.py.
+
+2009-09-01 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/28877> Implement bugzilla-tool mark-fixed
+
+ Reviewed by David Levin.
+
+ The mark-fixed subcommand is for those times when you don't use
+ bugzilla-tool to commit a patch, but you want to use it to close
+ the bug with a committed-revision message.
+
+ * Scripts/bugzilla-tool:
+ (bug_comment_from_svn_revision): Added. Extracted from
+ bug_comment_from_commit_text().
+ (bug_comment_from_commit_text): Extracted
+ bug_comment_from_svn_revision() from this method.
+ (MarkBugFixed.__init__): Added.
+ (MarkBugFixed._fetch_commit_log): Added. Retrieves the commit
+ log from the last commit if no svn revision is specified, else
+ the commit log for the specified svn revision.
+ (MarkBugFixed._determine_bug_id_and_svn_revision): Added.
+ Attempts to determine the bug id and svn revision if one or both
+ were not defined on the command line.
+ (MarkBugFixed.execute): Added. Adds a comment about the
+ revision that fixed the bug and closes the bug.
+ (BugzillaTool.__init__): Added mark-fixed subcommand.
+ * Scripts/modules/bugzilla.py:
+ (Bugzilla.fetch_title_from_bug): Added. Returns the title of a
+ bug given a bug id.
+ * Scripts/modules/scm.py:
+ (SCM.strip_r_from_svn_revision): Added. Utility method to strip
+ the leading 'r' from an svn revision.
+ (SCM.svn_commit_log): Added. Subclasses must override.
+ (SCM.last_svn_commit_log): Added. Subclasses must override.
+ (SVN.svn_commit_log): Added. Returns svn log for a given
+ revision.
+ (SVN.last_svn_commit_log): Added. Uses svnversion to find the
+ last commit in an svn working directory and then runs svn log.
+ (Git.svn_commit_log): Added. Returns svn log for a given
+ revision.
+ (Git.last_svn_commit_log): Added. Runs git-svn-log with a limit
+ of one log message.
+
+2009-09-01 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/28880> svn-apply --force doesn't actually work
+
+ Reviewed by Brady Eidson.
+
+ * Scripts/svn-apply:
+ (applyPatch): Add "--force" to $options arrayref if $force is
+ set.
+
+2009-09-01 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/28725> resolve-ChangeLogs: determineVCSRoot() returns incorrect repository root during git filter-branch
+
+ Reviewed by Adam Roben.
+
+ When git-filter-branch has been invoked to rewrite ChangeLog
+ files on series of git commits, it changes directories into
+ .git-rewrite/t before re-running resolve-ChangeLogs. This
+ causes determineVCSRoot() in VCSUtils.pm to return
+ ".git-rewrite/t", which causes that path to be prepended to all
+ ChangeLog paths, which results in an error like this:
+
+ error: pathspec '.git-rewrite/t/ChangeLog' did not match any file(s) known to git.
+ Died at WebKitTools/Scripts/resolve-ChangeLogs line 376.
+
+ The correct way to fix this is not to try to find the repository
+ root when invoked by git-filter-branch.
+
+ * Scripts/resolve-ChangeLogs: If isInGitFilterBranch() is true,
+ set $relativePath to '.' instead of calling
+ chdirReturningRelativePath(determineVCSRoot()).
+ (isInGitFilterBranch): Added. Checks for the existence of the
+ MAPPED_PREVIOUS_COMMIT environment variable.
+
+2009-09-01 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ Add support for Fedora distros in the http tests
+ https://bugs.webkit.org/show_bug.cgi?id=28263
+
+ Add detection code for Fedora distribution, and use the proper
+ httpd conf file when needed.
+
+ * Scripts/run-webkit-httpd:
+ * Scripts/run-webkit-tests:
+ * Scripts/webkitdirs.pm:
+
+2009-09-01 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [Gtk] DRT needs implementation of overridePreference
+ https://bugs.webkit.org/show_bug.cgi?id=28830
+
+ Implement overridePreference.
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (resetDefaultsToConsistentValues):
+ (setDefaultsToConsistentStateValuesForTesting):
+ (runTest):
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (toWebSettingKey):
+ (LayoutTestController::overridePreference):
+
+2009-09-01 Joseph Pecoraro <joepeck@webkit.org>
+
+ <http://webkit.org/b/28623> svn-[un]apply should change directories to the repository root before [un]applying
+
+ Reviewed by Eric Seidel.
+
+ Jump back and forth between the repository root directory (to apply) and the
+ directory the script was run from (to find the patch).
+
+ * Scripts/svn-apply:
+ * Scripts/svn-unapply:
+
+2009-08-31 Adam Roben <aroben@apple.com>
+
+ Fall back to a Release version of Safari if a Debug one doesn't exist
+
+ <http://webkit.org/b/28849>
+
+ Reviewed by Sam Weinig.
+
+ * Scripts/webkitdirs.pm:
+ (safariPath): If the user is working with a Debug build, but there's
+ no Debug version of Safari present, fall back to using a Release
+ version of Safari.
+
+2009-08-31 Adam Roben <aroben@apple.com>
+
+ Make safariPath() work for Debug builds of Safari on Windows
+
+ <http://webkit.org/b/28849>
+
+ Reviewed by Sam Weinig.
+
+ * Scripts/webkitdirs.pm:
+ (safariPath): If the user is working with a Debug build, add the
+ _debug suffix to Safari.exe.
+
+2009-08-28 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ commit-queue needs a master process
+ https://bugs.webkit.org/show_bug.cgi?id=28040
+
+ Add a bugzilla-tool commit-queue command
+ Keeps per-bug logs, but doesn't yet upload them anywhere.
+
+ * Scripts/bugzilla-tool: Add LandPatchesFromCommitQueue to handle 'commit-queue'
+ * Scripts/modules/buildbot.py: remove noisy log message
+ * Scripts/modules/logging.py: add a 'tee()' call for splitting outputs in python
+
+2009-08-28 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Reviewed by Gustavo Noronha.
+
+ [GTK] Geolocation needs permission API before being enabled by default
+
+ Build the Gtk port with geolocation enabled. This option is only
+ enabled for the buildbot. The autotools option will be enabled by
+ default once the permissions API is implemented.
+
+ * Scripts/build-webkit:
+
+2009-08-26 Cameron McCormack <cam@mcc.id.au>
+
+ Reviewed by David Kilzer.
+
+ Make prepare-ChangeLog notice property changes
+ https://bugs.webkit.org/show_bug.cgi?id=28675
+
+ Make the generated ChangeLog entry include a short description of
+ property changes if there were such changes. Also make
+ prepare-ChangeLog not bail if the only changes are property changes.
+
+ * Scripts/prepare-ChangeLog:
+
+2009-08-26 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ Don't let local files access web URLs
+ https://bugs.webkit.org/show_bug.cgi?id=28480
+
+ A bunch of our LayoutTests rely on our old behavior, so we explicitly
+ grant local files universal access during testing. Mainly, these tests
+ involve making XMLHttpRequests for data URLs.
+
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (resetDefaultsToConsistentValues):
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::WebPage::WebPage):
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (resetDefaultsToConsistentValues):
+
+2009-08-26 John Gregg <johnnyg@google.com>
+
+ Reviewed by David Levin.
+
+ Minor style correction and include fix for notifications
+ https://bugs.webkit.org/show_bug.cgi?id=28745
+
+ * DumpRenderTree/win/DRTDesktopNotificationPresenter.cpp:
+ change to correct EnumStyle
+ (DRTDesktopNotificationPresenter::checkNotificationPermission):
+
+2009-08-26 David Levin <levin@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ XMLHttpRequest.withCredentials=false shouldn't save cookies.
+ https://bugs.webkit.org/show_bug.cgi?id=28743
+
+ Added the support to the layout test controller on OSX and
+ Windows (for CFNETWORK) to allow for changing the accept cookie
+ policy.
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (LayoutTestController::LayoutTestController): Added a bool
+ to track the state of accepting cookies.
+ (setAlwaysAcceptCookiesCallback): Standard wrapper method
+ to go from js to a C++ method.
+ (LayoutTestController::staticFunctions): Added the
+ setAlwaysAcceptCookies method to the js layoutTestController.
+ * DumpRenderTree/LayoutTestController.h:
+ (LayoutTestController::alwaysAcceptCookies): Returns the value.
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::setAlwaysAcceptCookies): Stub out method.
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (resetDefaultsToConsistentValues): Reset the accept cookie to
+ its default.
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (LayoutTestController::setAlwaysAcceptCookies): Does the work for
+ OSX to change the cookie accept policy.
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (setAlwaysAcceptCookies): Method to handle all the calls necessary
+ to change the accept cookie policy on Windows.
+ (resetDefaultsToConsistentValues): Reset the accept cookie to
+ its default.
+ * DumpRenderTree/win/DumpRenderTreeWin.h:
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::setAlwaysAcceptCookies): Stub out method.
+ * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
+ (LayoutTestController::setAlwaysAcceptCookies): Stub out method.
+
+2009-08-26 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Unreviewed.
+
+ Remove accidentally left in clobber option.
+ https://bugs.webkit.org/show_bug.cgi?id=28400
+
+ * BuildSlaveSupport/build.webkit.org-config/master.cfg: Removed clobber option.
+
+2009-08-26 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Mark Rowe.
+
+ Add canary-style Chromium WebKit build slave to the waterfall.
+ https://bugs.webkit.org/show_bug.cgi?id=28400
+
+ * BuildSlaveSupport/build.webkit.org-config/config.json: Added one Chromium/Windows slave
+ * BuildSlaveSupport/build.webkit.org-config/master.cfg: Added support for Chromium slave commands.
+
+2009-08-25 Cameron McCormack <cam@mcc.id.au>
+
+ Reviewed by Darin Adler.
+
+ make-script-test-wrappers should be executable
+ https://bugs.webkit.org/show_bug.cgi?id=28669
+
+ Make make-script-test-wrappers and update-sources-list.py both be
+ executable.
+
+ * Scripts/update-sources-list.py:
+ * Scripts/make-script-test-wrappers:
+
+2009-08-25 Brent Fulgham <bfulgham@webkit.org>
+
+ Build fix
+
+ Revise Debug_Cairo targets to point inherit from the
+ debug_wincairo.vsprops property sheet so that they link
+ against the proper libraries in Debug build.
+
+ * DumpRenderTree/win/DumpRenderTree.vcproj:
+ * DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin.vcproj:
+ * WinLauncher/WinLauncher.vcproj:
+
+2009-08-25 David Levin <levin@chromium.org>
+
+ Reviewed by Adam Roben.
+
+ PLATFORM(CFNETWORK) should be USE(CFNETWORK).
+ https://bugs.webkit.org/show_bug.cgi?id=28713
+
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (main):
+
+2009-08-25 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Ariya Hidayat.
+
+ [Qt/Mac] Use CONFIG+=build_all only when building libraries
+
+ If no configuration is specified when building WebKit we pass the
+ debug_and_release option to QMake which results in Makefiles for
+ both configurations being generated.
+
+ Previously we built both of these configurations by default, for
+ all targets (both the QtWebKit framework/dyldlib and the various
+ executables such as QtLauncher and tests). This makes sense for
+ the libraries, which get the _debug suffix and can be loaded on
+ demand by setting the DYLD_IMAGE_SUFFIX, but for executables we
+ ended up building the same executable twice.
+
+ We now only build one instance of each executable, and since this
+ is a developer build we build the debug-version. Passing either
+ --debug or --release to build-webkit will override this, and
+ even in the default case the release version can still be built
+ by running 'make release' in the the build directory of each
+ target.
+
+ * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro:
+ * Scripts/webkitdirs.pm:
+
+2009-08-24 Hironori Bono <hbono@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Fix Bug 27827 "[Chromium] Functions Keys don't work in google spreadsheet".
+ <https://bugs.webkit.org/show_bug.cgi?id=27827>.
+
+ Because of the lack of mappings from GDK key-codes to WebKit key-codes,
+ Chromium cannot send valid key-codes to JavaScript when a user types
+ function keys. This change just copies the mappings from 'KeyEventGtk.cpp'.
+
+ To write layout tests for this issue, added mappings from function-key
+ names to platform-specific key-codes to EventSendingController objects
+ so that eventSender.keyDown() can send function-key events without using
+ platform-specific key codes. (Unfortunately, this eventSender.keyDown() change
+ is only for Mac. So this change adds this new test to Skipped tests for other
+ platforms to prevent this change from crashing the build trees.)
+
+ * DumpRenderTree/mac/EventSendingController.mm:
+ (-[EventSendingController keyDown:withModifiers:]):
+
+2009-08-23 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Reviewed by Xan Lopez.
+
+ [Gtk] API for disabling local file access to web URLs
+ https://bugs.webkit.org/show_bug.cgi?id=28663
+
+ Enable this setting for DRT.
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (resetWebViewToConsistentStateBeforeTesting):
+
+2009-08-22 Adam Barth <abarth@webkit.org>
+
+ Revert 47684. We're going to do this later once clients have had a
+ chance to opt into the setting they like.
+
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (resetDefaultsToConsistentValues):
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::WebPage::WebPage):
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (resetDefaultsToConsistentValues):
+
+2009-08-22 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Don't let local files access web URLs
+ https://bugs.webkit.org/show_bug.cgi?id=28480
+
+ A bunch of our LayoutTests rely on our old behavior, so we explicitly
+ grant local files universal access during testing. Mainly, these tests
+ involve making XMLHttpRequests for data URLs.
+
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (resetDefaultsToConsistentValues):
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::WebPage::WebPage):
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (resetDefaultsToConsistentValues):
+
+2009-08-22 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Anders Carlsson.
+
+ Bring signed updates to the Mac nightly builds.
+
+ * WebKitLauncher/Info.plist:
+ * WebKitLauncher/WebKitLauncher.xcodeproj/project.pbxproj:
+ * WebKitLauncher/WebKitNightlyEnablerSparkle.m:
+ (initializeSparkle):
+ * WebKitLauncher/nightly.webkit.org.public.pem: Added.
+
+2009-08-21 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Rubberstamped by Simon Fraser.
+
+ Remove GNOME keyring support in build-webkit. This dependency's
+ already been removed in the Gtk port.
+
+ * Scripts/build-webkit:
+
+2009-08-20 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Adam Roben.
+ Based on original patch by Stephanie Lewis.
+
+ Added support of the Windows malloc history format to parse-malloc history, so we can
+ read and parse it.
+
+ * Scripts/parse-malloc-history:
+
+2009-08-20 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Enable various "grouping" ARIA roles
+ https://bugs.webkit.org/show_bug.cgi?id=28486
+
+ Expose the ability to retrieve the subrole through accessibility for DRT.
+
+ * DumpRenderTree/AccessibilityUIElement.cpp:
+ * DumpRenderTree/AccessibilityUIElement.h:
+ * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
+ * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+ * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
+
+2009-08-20 Joseph Pecoraro <joepeck@webkit.org>
+
+ Unreviewed.
+
+ Added myself as a committer.
+
+ * Scripts/modules/committers.py:
+
+2009-08-20 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ Fix memory leaks.
+
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::whiteListAccessFromOrigin):
+ (LayoutTestController::pauseAnimationAtTimeOnElementWithId):
+ (LayoutTestController::pauseTransitionAtTimeOnElementWithId):
+
+2009-08-20 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ bugzilla-tool post-diff can post partial diffs from SVN checkouts.
+ https://bugs.webkit.org/show_bug.cgi?id=28445
+
+ Pass the checkout root as the cwd. Also wrote a test to ensure this.
+
+ * Scripts/modules/scm.py:
+ * Scripts/modules/scm_unittest.py:
+
+2009-08-20 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ Don't leak the JSStringRef returned by AccessibilityUIElement::attributeValue.
+
+ * DumpRenderTree/AccessibilityUIElement.cpp:
+ (attributeValueCallback):
+
+2009-08-20 Ariya Hidayat <ariya.hidayat@nokia.com>
+
+ Unreviewed, build fix.
+
+ [Qt] The template-based qMax() compares two qreals.
+
+ * DumpRenderTree/qt/ImageDiff.cpp:
+ (main):
+
+2009-08-20 David Levin <levin@chromium.org>
+
+ Reviewed by David Kilzer.
+
+ bugzilla-tool patch retrieval should handle 302 redirects.
+ https://bugs.webkit.org/show_bug.cgi?id=28485
+
+ * Scripts/modules/scm.py: Pass the --location parameter to curl
+ so that 302's are followed.
+
+2009-08-20 Aaron Boodman <aa@chromium.org>
+
+ One more speculative build for gtk.
+
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+
+2009-08-20 Aaron Boodman <aa@chromium.org>
+
+ Speculative build for gtk.
+
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::whiteListAccessFromOrigin):
+
+2009-08-20 Mark Rowe <mrowe@apple.com>
+
+ Ignore some leaks that are known to originate from ImageIO.
+
+ * Scripts/run-webkit-tests:
+
+2009-08-20 Aaron Boodman <aa@chromium.org>
+
+ With David Levin.
+
+ Speculative build fix for qt.
+
+ * DumpRenderTree/qt/jsobjects.cpp:
+ (LayoutTestController::whiteListAccessFromOrigin):
+ * DumpRenderTree/qt/jsobjects.h:
+
+2009-08-19 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Fix <http://webkit.org/b/28484> Plug-in-related leaks seen on the build bot
+
+ Update check-for-global-initializers to accommodate the new uses of RefCountedLeakCounter in WebKit.
+
+ * Scripts/check-for-global-initializers:
+
+2009-08-19 Aaron Boodman <aa@chromium.org>
+
+ Reviewed by David Levin.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24853: Provide a way for WebKit clients to
+ specify a more granular policy for cross-origin XHR access.
+
+ * DumpRenderTree/LayoutTestController.cpp: Expose whiteListAccessFromOrigin() to layout tests.
+ (whiteListAccessFromOriginCallback): Ditto.
+ (LayoutTestController::staticFunctions): Ditto.
+ * DumpRenderTree/LayoutTestController.h: Ditto.
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: Ditto.
+ (LayoutTestController::whiteListAccessToOrigin): Ditto.
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm: Ditto.
+ (LayoutTestController::whiteListAccessFromOrigin): Ditto.
+ * DumpRenderTree/qt/jsobjects.cpp: Ditto.
+ (LayoutTestController::whiteListAccessFromOrigin): Ditto.
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp: Stub out whiteListAccessFromOrigin().
+ (LayoutTestController::whiteListAccessFromOrigin): Ditto.
+ * DumpRenderTree/gtk/DumpRenderTree.cpp: Reset origin access lists before each test.
+ (resetWebViewToConsistentStateBeforeTesting): Ditto.
+ * DumpRenderTree/mac/DumpRenderTree.mm: Ditto.
+ (resetWebViewToConsistentStateBeforeTesting): Ditto.
+ * DumpRenderTree/qt/DumpRenderTree.cpp: Ditto.
+ (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting): Ditto.
+
+2009-08-19 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Dan Bernstein.
+
+ Ignore some leaks that are known to originate from QTKit.
+
+ * Scripts/run-webkit-tests:
+
+2009-08-19 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ commit-queue/bugzilla-tool can get wedged if git is mid-rebase
+ https://bugs.webkit.org/show_bug.cgi?id=28436
+
+ Make clean_working_directory cancel rebases too (even though that's a bit of a hack).
+ This code will only ever be run when --force-clean is passed.
+
+ I also added a new unit test to make sure this code actually works. :)
+
+ * Scripts/modules/scm.py:
+ * Scripts/modules/scm_unittest.py:
+
+2009-08-19 Eric Seidel <eric@webkit.org>
+
+ Reviewed by David Levin.
+
+ WebKit needs a changelogs.py to hold changelog-related code
+ https://bugs.webkit.org/show_bug.cgi?id=28477
+
+ This is moving code and adding tests. There was only one functional
+ change (which was removing a trailing newline from the last_entry() result).
+
+ * Scripts/bugzilla-tool:
+ * Scripts/modules/changelogs.py: Added.
+ * Scripts/modules/changelogs_unittest.py: Added.
+ * Scripts/run-webkit-unittests:
+
+2009-08-20 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ bugzilla-tool needs a way to ask build.webkit.org if the bots are passing
+ https://bugs.webkit.org/show_bug.cgi?id=28222
+
+ Basic support for now. This has been in testing for 24 hours now and worked great!
+
+ * Scripts/bugzilla-tool:
+ * Scripts/modules/buildbot.py: Added.
+ * Scripts/modules/buildbot_unittest.py: Added.
+ * Scripts/run-webkit-unittests:
+
+2009-08-19 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Reviewed by Gustavo Noronha.
+
+ [Gtk] Bump waitToDumpWatchdog interval to 15 seconds to match the
+ default timeout used by run-webkit-tests. Mac and Win ports were
+ recently bumped in http://trac.webkit.org/changeset/r47465.
+
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::setWaitToDump):
+
+2009-08-19 David D. Kilzer <ddkilzer@webkit.org>
+
+ DumpRenderTreeSupport.pm: provide pre-generated swig source for Tiger
+
+ Reviewed by Mark Rowe.
+
+ Provide pre-generated swig source files for Tiger so it may
+ benefit from the faster run-webkit-tests.
+
+ * DumpRenderTree/mac/PerlSupport/DumpRenderTreeSupportTiger.pm:
+ Generated by swig.
+ * DumpRenderTree/mac/PerlSupport/DumpRenderTreeSupport_wrapTiger.c: Added.
+ Generated by swig.
+ (swig_type_info::SWIG_TypeNameComp):
+ (swig_type_info::SWIG_TypeEquiv):
+ (swig_type_info::SWIG_TypeRegisterTL):
+ (swig_type_info::SWIG_TypeCheck):
+ (swig_type_info::SWIG_TypeCast):
+ (swig_type_info::SWIG_TypeDynamicCast):
+ (swig_type_info::SWIG_TypeName):
+ (swig_type_info::SWIG_TypePrettyName):
+ (swig_type_info::SWIG_TypeQueryTL):
+ (swig_type_info::SWIG_TypeClientDataTL):
+ (swig_type_info::SWIG_PackData):
+ (swig_type_info::SWIG_UnpackData):
+ (swig_type_info::SWIG_PropagateClientDataTL):
+ (swig_type_info::SWIG_PackVoidPtr):
+ (swig_type_info::SWIG_UnpackVoidPtr):
+ (swig_type_info::SWIG_PackDataName):
+ (swig_type_info::SWIG_UnpackDataName):
+ * DumpRenderTree/mac/PerlSupport/Makefile: Updated to build on
+ Tiger using pre-generated files.
+
+2009-08-18 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by David Kilzer.
+
+ run-webkit-tests hangs when WebCore tries to log too much
+ https://bugs.webkit.org/show_bug.cgi?id=15743
+
+ Read stdout and stderr in parallel.
+
+ * Scripts/run-webkit-tests:
+
+2009-08-18 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Oliver Hunt.
+
+ Add a new build configuration that checks for leaks during the layout tests,
+ and hook a new machine up to it.
+
+ * BuildSlaveSupport/build.webkit.org-config/config.json:
+ * BuildSlaveSupport/build.webkit.org-config/master.cfg:
+
+2009-08-18 Aaron Boodman <aa@chromium.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=28412: Leak of WebCore::XMLHttpRequest object during layout tests.
+
+ No new tests: Already covered by existing tests.
+
+ * Scripts/check-for-global-initializers: Allow global initialization of WTF::RefCountedLeakCounter for XMLHttpRequest.
+
+2009-08-18 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Geoff Garen.
+
+ Bump waitToDumpWatchdogInterval to 15 seconds to match the time-out used by run-webkit-tests.
+
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+
+2009-08-18 Brian Weinstein <bweinstein@apple.com>
+
+ Rubber-stamped by Adam Roben.
+
+ Changed use of CComBSTR in exceededDatabaseQuota to BSTRs, and free them,
+ and removed include to fix building on VC++ Express.
+
+ * DumpRenderTree/win/UIDelegate.cpp:
+ (UIDelegate::exceededDatabaseQuota):
+
+2009-08-18 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Fix of <https://bugs.webkit.org/show_bug.cgi?id=28326> DRT on Windows doesn't support
+ LayoutTestController::setQuota or print a callback on UIDelegate::exceededDatabaseQuota.
+
+ Implemenent setDatabaseQuota and added a new function to the IWebDatabaseManager interface.
+ Also added a console output on UIDelegate::exceededDatabaseQuota to match the mac.
+
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::setDatabaseQuota):
+ * DumpRenderTree/win/UIDelegate.cpp:
+ (UIDelegate::exceededDatabaseQuota):
+
+2009-08-18 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=28415
+ Set svn:eol-style CRLF on all .sln and .vcproj files that don't already
+ have it.
+
+ * record-memory-win/record-memory-win.vcproj:
+ * WinLauncher/WinLauncher.vcproj:
+ * WebKitLauncherWin/WebKitLauncherWin.vcproj:
+ * DumpRenderTree/win/ImageDiff.vcproj:
+ * FindSafari/FindSafari.vcproj:
+
+2009-08-18 Drew Wilson <atwilson@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Need to extend DumpRenderTree to expose number of worker threads
+ https://bugs.webkit.org/show_bug.cgi?id=28292
+
+ Added layoutTestController.workerThreadCount, and implementations on various platforms that call into WebKit.
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (getWorkerThreadCountCallback):
+ (LayoutTestController::staticValues):
+ * DumpRenderTree/LayoutTestController.h:
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::workerThreadCount):
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (LayoutTestController::workerThreadCount):
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::workerThreadCount):
+ * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
+ (LayoutTestController::workerThreadCount):
+
+2009-08-18 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Jan Alonzo.
+
+ Initialize x and y in the GtkAllocation structure to shut up
+ valgrind.
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (runTest):
+
+2009-08-17 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Some HTMLs are modified by make-script-test-wrappers
+ https://bugs.webkit.org/show_bug.cgi?id=28213
+
+ Add fast/js/const.js and fast/canvas/canvas-2d-imageData-create-nonfinite.js into
+ the exclude list, modified fast/dom/Geolocation/resources/TEMPLATE.html, and
+ re-generated wml/* and Geolocation/* .
+
+ * Scripts/make-script-test-wrappers:
+
+2009-08-17 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ -webkit-box-orient:horizontal doesn't work on <button> tag
+ https://bugs.webkit.org/show_bug.cgi?id=34445
+
+ Make a flexible button's anonymous child flexible and pass the
+ parent's box-orient to the anonymous child.
+
+ Also, added a renderName for anonymous flexible boxes.
+
+ * Scripts/make-script-test-wrappers:
+
+2009-08-17 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Can no longer --reset-results of a layout test directory
+ https://bugs.webkit.org/show_bug.cgi?id=28336
+
+ --reset-results and --exit-after-n-failures are incompatible.
+
+ * Scripts/run-webkit-tests:
+
+2009-08-17 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/26920> bugzilla-tool dumps too much junk the the commit comment from git
+
+ Reviewed by Adam Roben.
+
+ New commit message:
+ Committed r12345: <http://trac.webkit.org/changeset/12345>
+
+ * Scripts/bugzilla-tool:
+ (bug_comment_from_commit_text): Print out a compact,
+ standardized commit message for both git and svn.
+
+2009-08-17 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Steve Falkenburg.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27323
+ Only add Cygwin to the path when it isn't already there. This avoids
+ causing problems for people who purposefully have non-Cygwin versions of
+ executables like svn in front of the Cygwin ones in their paths.
+
+ * DumpRenderTree/win/DumpRenderTree.vcproj:
+ * DumpRenderTree/win/ImageDiff.vcproj:
+ * DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin.vcproj:
+
+2009-08-17 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/28393> check-webkit-style: add check for use of std::max()/std::min() instead of MAX()/MIN()
+
+ Reviewed by David Levin.
+
+ * Scripts/modules/cpp_style.py:
+ (_ERROR_CATEGORIES): Added 'runtime/max_min_macros'.
+ (check_max_min_macros): Added. Returns level 4 error when MAX()
+ and MIN() macros are used in header files and C++ source files.
+ (check_style): Added call to check_max_min_macros().
+ * Scripts/modules/cpp_style_unittest.py: Added unit tests.
+ (test_max_macro): Added.
+ (test_min_macro): Added.
+
+2009-08-13 Mike Fenton <mike.fenton@torchmobile.com>
+
+ Reviewed by Eric Seidel.
+
+ Move adjustLineToPixelBoundaries overlapping function to GraphicsContext.cpp
+ and remove from GraphicsContextCairo.cpp and GraphicsContextQt.cpp.
+
+ https://bugs.webkit.org/show_bug.cgi?id=28268
+
+ * platform/graphics/GraphicsContext.cpp:
+ (WebCore::GraphicsContext::adjustLineToPixelBoundaries):
+ * platform/graphics/GraphicsContext.h:
+ * platform/graphics/cairo/GraphicsContextCairo.cpp:
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+
+2009-08-10 Mike Fenton <mike.fenton@torchmobile.com>
+
+ Reviewed by Adam Treat.
+
+ Style fixes for DumpRenderTree/qt/jsobjects.cpp based on cpp_style.py and
+ WebKit style guide.
+
+ https://bugs.webkit.org/show_bug.cgi?id=28161
+
+ * DumpRenderTree/qt/jsobjects.cpp:
+ (findFrameNamed):
+ (LoadItem::invoke):
+ (LayoutTestController::provisionalLoad):
+ (LayoutTestController::timerEvent):
+ (LayoutTestController::pauseAnimationAtTimeOnElementWithId):
+ (LayoutTestController::pauseTransitionAtTimeOnElementWithId):
+ (LayoutTestController::numberOfActiveAnimations):
+ (EventSender::keyDown):
+ (EventSender::frameUnderMouse):
+ (TextInputController::doCommand):
+
+2009-08-16 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/28370> check-webkit-style: add check for 'using std::foo;' statements
+
+ Reviewed by David Levin.
+
+ In <http://webkit.org/b/28355#c1>, it was noted that new source
+ files use 'using namespace std;' instead of individual
+ 'using std::foo;' statements. This adds a level 4 check for
+ such statements.
+
+ * Scripts/modules/cpp_style.py:
+ (_ERROR_CATEGORIES): Added 'build/using_std'.
+ (check_using_std): Added.
+ (check_style): Added call to check_using_std().
+ * Scripts/modules/cpp_style_unittest.py:
+ (WebKitStyleTest.test_using_std): Added unit test.
+
+2009-08-16 David Kilzer <ddkilzer@apple.com>
+
+ Backed out r47343 which was mistakenly committed
+
+ * Scripts/bugzilla-tool:
+ * Scripts/modules/scm.py:
+
+2009-08-16 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/28367> bugzilla.py: replace ScriptError class with BugzillaError class
+
+ Reviewed by David Levin.
+
+ The ScriptError class doesn't exist in bugzilla.py, so any
+ errors print error messages about ScriptError instead of the
+ actual error:
+
+ NameError: global name 'ScriptError' is not defined
+
+ * Scripts/modules/bugzilla.py:
+ (BugzillaError): Added class. Modeled after ScriptError class
+ in scm.py.
+ (Bugzilla.authenticate): Changed to use BugzillaError instead of
+ ScriptError.
+ (Bugzilla._check_create_bug_response): Ditto.
+
+2009-08-14 Adam Bergkvist <adam.bergkvist@ericsson.com>
+
+ Reviewed by Sam Weinig.
+
+ Added EventSource to the build script (default on).
+ https://bugs.webkit.org/show_bug.cgi?id=14997
+
+ * Scripts/build-webkit:
+
+2009-08-15 Ryosuke Niwa <rniwa@webkit.org>
+
+ Unreviewed.
+
+ Add myself to list of committers.
+
+ * Scripts/modules/committers.py:
+
+2009-08-15 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Fix layout test failures after r47312.
+
+ Reviewed by Cameron Zwarich.
+
+ * DumpRenderTree/AccessibilityController.h:
+ Replaced logFocusEvents() with setLogFocusEvents(), which takes a
+ boolean argument to turn logging of focus events on or off.
+ Added a function to reset the AccessibilityController to a consistent
+ state.
+
+ * DumpRenderTree/AccessibilityController.cpp:
+ (logFocusEventsCallback):
+ Call setLogFocusEvents() to enable logging.
+ (AccessibilityController::resetToConsistentState):
+ Call setLogFocusEvents() to disable logging.
+
+ * DumpRenderTree/gtk/AccessibilityControllerGtk.cpp:
+ (AccessibilityController::setLogFocusEvents):
+ Update stub.
+
+ * DumpRenderTree/mac/AccessibilityControllerMac.mm:
+ (AccessibilityController::setLogFocusEvents):
+ Update stub.
+
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (resetWebViewToConsistentStateBeforeTesting):
+ Call the FrameLoadDelegate's resetToConsistentState method.
+
+ * DumpRenderTree/mac/FrameLoadDelegate.h:
+ Declare the resetToConsistentState method.
+
+ * DumpRenderTree/mac/FrameLoadDelegate.mm:
+ (-[FrameLoadDelegate resetToConsistentState]):
+ Call the AccessibilityController's resetToConsistentState() function.
+
+ * DumpRenderTree/win/AccessibilityControllerWin.cpp:
+ (AccessibilityController::~AccessibilityController):
+ Turn off focus event logging when the controller is destroyed.
+ (AccessibilityController::setLogFocusEvents):
+ If the caller passes false, unhook the focus event, and clear
+ m_focusEventHook.
+
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (resetWebViewToConsistentStateBeforeTesting):
+ Call the FrameLoadDelegate's resetToConsistentState function.
+
+ * DumpRenderTree/win/FrameLoadDelegate.h:
+ Declare the resetToConsistentState() function.
+
+ * DumpRenderTree/win/FrameLoadDelegate.cpp:
+ (FrameLoadDelegate::resetToConsistentState):
+ Call the AccessibilityController's resetToConsistentState() function.
+
+
+2009-08-14 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Add a mechanism for logging MSAA focus events.
+
+ Part of <rdar://problem/6218721> No MSAA focus events fired for Webkit
+ nightly (20866)
+
+ https://bugs.webkit.org/show_bug.cgi?id=20866
+
+ Reviewed by Oliver Hunt.
+
+ * DumpRenderTree/AccessibilityController.cpp:
+ (logFocusEventsCallback):
+ Call the AccessibilityController's logFocusEvents() function.
+ (AccessibilityController::getJSClass):
+ Add a "logFocusEvents" function to the AccessibilityController's JS
+ class definition.
+
+ * DumpRenderTree/AccessibilityController.h:
+ On Windows, include windows.h, and add a member variable to hold the
+ handle to the event hook for focus events. Add a declaration for a
+ function that enables logging of focus events.
+
+ * DumpRenderTree/gtk/AccessibilityControllerGtk.cpp:
+ (AccessibilityController::logFocusEvents):
+ Stubbed.
+
+ * DumpRenderTree/mac/AccessibilityControllerMac.mm:
+ (AccessibilityController::logFocusEvents):
+ Stubbed.
+
+ * DumpRenderTree/win/AccessibilityControllerWin.cpp:
+ (AccessibilityController::AccessibilityController):
+ (AccessibilityController::~AccessibilityController):
+ If we hooked the focus event, unhook it.
+ (logFocusEventProc):
+ When we receive a focus event, get the accessible object for the event,
+ and log its name to stdout.
+ (AccessibilityController::logFocusEvents):
+ Setup the focus event hook to listen for events in the current process.
+
+2009-08-14 Eric Seidel <eric@webkit.org>
+
+ No review. Fix 5-space indent to be 4-spaces.
+
+ * Scripts/bugzilla-tool:
+
+2009-08-14 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Public API to configure the storage path for HTML5 localStorage
+ https://bugs.webkit.org/show_bug.cgi?id=28036
+
+ Turn on LocalStorage support for Qt DumpRenderTree since
+ LocalStorage is now disabled by defult for QtWebkit.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::WebPage::WebPage):
+
+2009-08-14 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Jan Alonzo.
+
+ Do not unref the main webview, it's owned by its parent
+ container. Instead destroy the container, which should take care
+ of everything (not terribly important since we exit right after
+ that, but still).
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (main):
+
+2009-08-13 Eric Seidel <eric@webkit.org>
+
+ No review, correcting obvious python error seen in the commit queue.
+
+ args can be a string or an array. Assuming args is always an array results in
+ double-spaced text in error logs.
+
+ * Scripts/bugzilla-tool:
+
+2009-08-13 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Unreviewed build fix. Include stdio.h for using stdout, stderr,
+ and fprintf.
+
+ * DumpRenderTree/LayoutTestController.cpp:
+
+2009-08-13 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ rename make-js-test-wrappers to make-script-test-wrappers
+ https://bugs.webkit.org/show_bug.cgi?id=28212
+
+ * Scripts/make-script-test-wrappers: Renamed from WebKitTools/Scripts/make-js-test-wrappers.
+
+2009-08-13 Drew Wilson <atwilson@chromium.org>
+
+ Unreviewed.
+
+ Add myself to list of committers.
+
+ * Scripts/modules/committers.py:
+
+2009-08-13 John Sullivan <sullivan@apple.com>
+
+ Unreviewed.
+
+ Add myself to list of committers.
+
+ * Scripts/modules/committers.py:
+
+2009-08-13 Eric Seidel <eric@webkit.org>
+
+ Correct spelling error in file name. No review.
+
+ * Scripts/modules/committers_unittest.py: Renamed from WebKitTools/Scripts/modules/commiters_unittest.py.
+ * Scripts/run-webkit-unittests:
+
+2009-08-13 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ REGRESSION(r47175): error running run-webkit-tests
+ https://bugs.webkit.org/show_bug.cgi?id=28261
+
+ Fix "Use of uninitialized value in concatenation (.) or string at
+ WebKitTools/Scripts/run-webkit-tests line 191." by setting
+ $testsPerDumpTool to 1000 by default.
+
+ * Scripts/run-webkit-tests:
+
+2009-08-13 Nate Chapin <japhet@chromium.org>
+
+ Unreviewed.
+
+ Add myself to list of committers.
+
+ * Scripts/modules/committers.py:
+
+2009-08-13 Brent Fulgham <bfulgham@webkit.org>
+
+ Unreviewed.
+
+ Add 'Brent Fulgham' to the committers list.
+
+ * Scripts/modules/committers.py:
+
+2009-08-13 Adam Langley <agl@chromium.org>
+
+ Review not required.
+
+ * Scripts/modules/committers.py:
+ Adding myself to this list because Eric told me to.
+
+2009-08-13 Greg Bolsinga <bolsinga@apple.com>
+
+ Unreviewed.
+
+ Add 'Greg Bolsinga' to the committers list.
+
+ * Scripts/modules/committers.py:
+
+2009-08-13 Adam Roben <aroben@apple.com>
+
+ Fix off-by-one result comparisons in media tests on Windows Debug
+ builds
+
+ media/video-played.html seems always to time out in Windows Debug
+ builds. A race condition between media/video-test.js's "hang" timer and
+ DumpRenderTree's built-in "watchdog" timer was causing results for
+ media/video-played.html to be printed twice, causing all future media
+ tests to be compared to the previous test's results.
+
+ The fix is to make the watchdog timer got through the same code path
+ as calling notifyDone manually, so that the results will only get
+ printed once. A subsequent patch will remove video-test.js's hang
+ timer entirely, since it is redundant.
+
+ Fixes <http://webkit.org/b/28265>.
+
+ Reviewed by Mark Rowe.
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (LayoutTestController::waitToDumpWatchdogTimerFired): Added. Code came
+ from Gtk/Mac/Win's watchdog timer handlers, but we now call
+ notifyDone() instead of dump() so that a subsequent call to
+ notifyDone() won't print the results out again.
+
+ * DumpRenderTree/LayoutTestController.h: Added
+ waitToDumpWatchdogTimerFired.
+
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (waitToDumpWatchdogFired):
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (waitUntilDoneWatchdogFired):
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (waitUntilDoneWatchdogFired):
+ Changed to call waitToDumpWatchdogTimerFired.
+
+2009-08-13 Eric Carlson <eric.carlson@apple.com>
+
+ Unreviewed.
+
+ Added 'Eric Carlson' to the committers list.
+
+ * Scripts/modules/committers.py:
+
+2009-08-13 Dirk Schulze <krit@webkit.org>
+
+ Unreviewed.
+ Added 'Dirk Schulze' to the committers list.
+
+ * Scripts/modules/committers.py:
+
+2009-08-13 Adam Roben <aroben@apple.com>
+
+ Enable running testapi in run-javascriptcore-tests on Windows
+
+ Fixes <http://webkit.org/b/24856> run-javascriptcore-tests should run
+ testapi on Windows
+
+ Reviewed by Mark Rowe.
+
+ * Scripts/run-javascriptcore-tests: Allow testapi to run if we're in
+ the AppleWinWebKit configuration.
+
+2009-08-13 Adam Roben <aroben@apple.com>
+
+ Re-enable testapi in run-javascriptcore-tests on Mac
+
+ This seems to have been mistakenly disabled in r47089.
+
+ Rubber-stamped by Mark Rowe.
+
+ * Scripts/run-javascriptcore-tests: Removed comment markers that were
+ preventing running testapi.
+
+2009-08-12 George Staikos <george.staikos@torchmobile.com>
+
+ Reviewed by Adam Treat.
+
+ Enable WCSS and XHTML-MP flags for build-webkit.
+
+ * Scripts/build-webkit:
+
+2009-08-12 David Kilzer <ddkilzer@apple.com>
+
+ run-webkit-tests: document --nthly flag in help message
+
+ Reviewed by Simon Fraser.
+
+ * Scripts/run-webkit-tests: Added --nthly flag to $usage string.
+ Also noted that -1|--singly implies --nthly 1.
+
+2009-08-12 Eric Seidel <eric@webkit.org>
+
+ No review, just fixing mismerged ChangeLogs.
+
+2009-08-12 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ run-webkit-tests needs a --exit-after-failures=N option
+ https://bugs.webkit.org/show_bug.cgi?id=28192
+
+ Added the option and deployed it to bugzilla-tool.
+
+ * Scripts/bugzilla-tool:
+ * Scripts/run-webkit-tests:
+
+2009-08-11 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ bugzilla-tool : various improvements for running the commit-queue
+ https://bugs.webkit.org/show_bug.cgi?id=28199
+
+ Make run_and_throw_if_fail silence STDERR as well as STDIN.
+ I also changed run_and_throw_if_fail to use the /dev/null trick instead of .communicate() to avoid ever buffering the output (per abarth's suggestion).
+ Change a few "print" statements to "log" so they appear in the output.
+ Changed all string + uses to use string formatting instead (this is less error prone as it will automatically convert non-string objects).
+ Added a little more logging so that --quiet mode is easier to understand.
+ Changed clear_attachment_review_flag to clear_attachment_flags and made it clear the commit-queue flag as well.
+ Added the ability for bugzilla-tool to reject patches from the commit-queue when they fail to compile/apply/etc.
+ Added _find_select_element_for_flag to make the code for finding flag <select> elements clearer.
+ Made curl call (downloading patch files) quieter.
+
+ * Scripts/bugzilla-tool:
+ * Scripts/modules/bugzilla.py:
+ * Scripts/modules/scm.py:
+
+2009-08-12 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27323
+ Change pattern that strips all trailing whitespace to just remove EOL
+ chars (\r, \n), to make it clear that varying EOL chars is the primary
+ problem being solved.
+
+ * Scripts/prepare-ChangeLog:
+ * Scripts/resolve-ChangeLogs:
+ * Scripts/svn-create-patch:
+ * Scripts/update-webkit:
+
+2009-08-12 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx waf build fix, add new directories to the build.
+
+ * wx/build/settings.py:
+
+2009-08-11 Adam Roben <aroben@apple.com>
+
+ Update DumpRenderTree for IWebUIDelegatePrivate changes
+
+ Reviewed by Dave Hyatt.
+
+ * DumpRenderTree/win/UIDelegate.h: Updated to match
+ IWebUIDelegatePrivate.
+
+2009-08-12 Adam Roben <aroben@apple.com>
+
+ Don't try to seek to the end of stdin on Cygwin
+
+ Doing so seems to always cause an exception (for unknown reasons).
+
+ Fixes <http://webkit.org/b/28159> create-bug throws an exception in
+ Cygwin
+
+ Reviewed by Dave Kilzer.
+
+ * Scripts/bugzilla-tool:
+ (CreateBug.prompt_for_bug_title_and_comments): Ignore IOErrors
+ generated by calling sys.stdin.seek, since these seem to be generated
+ for no good reason on Cygwin.
+
+2009-08-12 Adam Roben <aroben@apple.com>
+
+ Don't raise an exception when --cc is not passed to create-bug
+
+ Fixes <http://webkit.org/b/28158> create-bug throws an exception if
+ --cc is not specified
+
+ Reviewed by Dave Kilzer.
+
+ * Scripts/modules/bugzilla.py:
+ (Bugzilla.create_bug_with_patch): Only set the "cc" field if a CC
+ string was specified. Otherwise we'll generate an exception about the
+ "cc" variable not being a string.
+
+2009-08-11 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ bugzilla-tool : various improvements for running the commit-queue
+ https://bugs.webkit.org/show_bug.cgi?id=28199
+
+ Make run_and_throw_if_fail silence STDERR as well as STDIN.
+ I also changed run_and_throw_if_fail to use the /dev/null trick instead of .communicate() to avoid ever buffering the out
+ Change a few "print" statements to "log" so they appear in the output.
+ Changed all string + uses to use string formatting instead (this is less error prone as it will automatically convert non
+ Added a little more logging so that --quiet mode is easier to understand.
+ Changed clear_attachment_review_flag to clear_attachment_flags and made it clear the commit-queue flag as well.
+ Added the ability for bugzilla-tool to reject patches from the commit-queue when they fail to compile/apply/etc.
+ Added _find_select_element_for_flag to make the code for finding flag <select> elements clearer.
+ Made curl call (downloading patch files) quieter.
+
+ * Scripts/bugzilla-tool:
+ * Scripts/modules/bugzilla.py:
+ * Scripts/modules/scm.py:
+
+2009-08-11 Eric Seidel <eric@webkit.org>
+
+ No review, script regression fix only.
+
+ run-webkit-tests --quiet hangs
+ https://bugs.webkit.org/show_bug.cgi?id=28202
+
+ Do a huge dance to get open3 to pipe to /dev/null w/o blocking.
+ This was what I came up with after discussions in #perl.
+
+ * Scripts/run-webkit-tests:
+
+2009-08-11 John Gregg <johnnyg@google.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Switch DumpRenderTree to contain a WebUIDelegate2, which extends
+ WebUIDelegate, so that the notifications tests will still work.
+ https://bugs.webkit.org/show_bug.cgi?id=28198
+
+ * DumpRenderTree/win/UIDelegate.h:
+
+2009-08-11 Darin Adler <darin@apple.com>
+
+ Try to fix GTK build.
+
+ * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
+ (AccessibilityUIElement::stringForRange): Added.
+
+2009-08-10 Mike Fenton <mike.fenton@torchmobile.com>
+
+ Reviewed by Adam Treat.
+
+ Add processing for string constants used by the tests to trigger
+ common actions like up, down, left, right, etc. for the Qt
+ implementation of DumpRenderTree.
+
+ Note this allows fast/forms/textarea-arrow-navigation.html to pass
+ correctly.
+
+ https://bugs.webkit.org/show_bug.cgi?id=28161
+
+ * DumpRenderTree/qt/jsobjects.cpp:
+ (EventSender::keyDown):
+
+2009-08-11 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 28200 - ListMarker should be included as part of the text value to parse
+ https://bugs.webkit.org/show_bug.cgi?id=28200
+
+ Add the ability to retrieve a string given a plain NSRange.
+
+ * DumpRenderTree/AccessibilityUIElement.cpp:
+ (stringForRangeCallback):
+ (AccessibilityUIElement::getJSClass):
+ * DumpRenderTree/AccessibilityUIElement.h:
+ * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+ (AccessibilityUIElement::valueDescription):
+ (AccessibilityUIElement::stringForRange):
+ * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
+ (AccessibilityUIElement::stringForRange):
+
+2009-08-11 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by NOBODY (Speculative fix for the layout test failure).
+
+ Fix fast/dom/prototype-inheritance.html
+ and fast/dom/prototype-inheritance-2.html
+ broken on Windows by http://trac.webkit.org/changeset/47018
+
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (resetDefaultsToConsistentValues): enable app cache in Windows DRT.
+
+2009-08-11 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ bugzilla-tool: Re-factor shared landing logic into helper class to share more code
+ https://bugs.webkit.org/show_bug.cgi?id=28193
+
+ Added new WebKitLandingScripts class to hold this shared logic.
+ Also added a view_source_url function to move more webkit-specific urls out of bugzilla-tool core.
+
+ * Scripts/bugzilla-tool:
+
+2009-08-11 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Adam Treat.
+
+ Fix the current failures on the buildbot.
+
+ As Qt hooks up the maybeDump to loadFinished, we need to make
+ sure that calling dump() will not call maybeDump on loadFinished.
+
+ As dump is called my emitting done() which calls dump() and then
+ setting m_isLoading to false. So in the case m_isLoading is false,
+ do not dump again.
+
+ The current code is confusing, and should be made more clear
+ in another commit.
+
+ * DumpRenderTree/qt/jsobjects.cpp:
+ (LayoutTestController::maybeDump):
+ (LayoutTestController::notifyDone):
+
+2009-08-11 John Gregg <johnnyg@google.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Add support for desktop notifications API to DumpRenderTree,
+ and support for ENABLE_NOTIFICATIONS flag to build-webkit.
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (grantDesktopNotificationPermissionCallback):
+ (LayoutTestController::staticFunctions):
+ (LayoutTestController::grantDesktopNotificationPermission):
+ (LayoutTestController::checkDesktopNotificationPermission):
+ * DumpRenderTree/LayoutTestController.h:
+ * DumpRenderTree/win/DRTDesktopNotificationPresenter.cpp: Added.
+ (DRTDesktopNotificationPresenter::DRTDesktopNotificationPresenter):
+ (DRTDesktopNotificationPresenter::QueryInterface):
+ (DRTDesktopNotificationPresenter::AddRef):
+ (DRTDesktopNotificationPresenter::Release):
+ (DRTDesktopNotificationPresenter::showDesktopNotification):
+ (DRTDesktopNotificationPresenter::cancelDesktopNotification):
+ (DRTDesktopNotificationPresenter::notificationDestroyed):
+ (DRTDesktopNotificationPresenter::checkNotificationPermission):
+ (DRTDesktopNotificationPresenter::requestNotificationPermission):
+ * DumpRenderTree/win/DRTDesktopNotificationPresenter.h: Added.
+ * DumpRenderTree/win/DumpRenderTree.vcproj:
+ * DumpRenderTree/win/UIDelegate.cpp:
+ (UIDelegate::UIDelegate):
+ (UIDelegate::desktopNotificationsDelegate):
+ * DumpRenderTree/win/UIDelegate.h:
+ * Scripts/build-webkit:
+
+2009-08-11 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27323
+ Handle arbitrary line endings when manufacturing patches for additions
+ with history.
+
+ * Scripts/svn-create-patch:
+
+2009-08-11 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=28183
+ Support VS2008 as well as VS2005 in a few scripts.
+
+ * Scripts/pdevenv: Check both $VS80COMNTOOLS and $VS90COMNTOOLS.
+ * Scripts/webkitdirs.pm: Use $VSINSTALLDIR if available instead of hardcoding the VS2005 dir.
+
+2009-08-11 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ run-webkit-tests --quiet should not output build-dumprendertree output
+ https://bugs.webkit.org/show_bug.cgi?id=28189
+
+ * Scripts/run-webkit-tests:
+
+2009-08-11 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Exception in land-patches
+ https://bugs.webkit.org/show_bug.cgi?id=27962
+
+ Use ("%s" % object) instead of ("" + object).
+ Added unit tests for logging.py.
+
+ * Scripts/modules/logging.py:
+ * Scripts/modules/logging_unittest.py: Added.
+ * Scripts/run-webkit-unittests:
+
+2009-08-11 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by NOBODY (Windows layout tests fix).
+
+ Fix for layout tests failures. Need to initialize some preferences early
+ because WebView on Windows uses them during create time.
+
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (main):
+
+2009-08-11 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by Adam Roben.
+
+ Originally implemented by Glenn Wilson <gwilson@chromium.org>.
+
+ Added support for overriding default preferences per-test.
+ See https://bugs.webkit.org/show_bug.cgi?id=20534
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (overridePreferenceCallback): add wiring for layoutTestController.overridePreference.
+ (LayoutTestController::staticFunctions): same.
+ * DumpRenderTree/LayoutTestController.h: same.
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::overridePreference): added empty overridePreference method.
+ * DumpRenderTree/mac/DumpRenderTree.mm: implemented preference override.
+ (resetDefaultsToConsistentValues): new method, resets preferences to same set of value before every test.
+ (setDefaultsToConsistentValuesForTesting): new method, sets other details of testing environment, every time DRT starts.
+ (resetWebViewToConsistentStateBeforeTesting): move some preference setting from here to new resetDefaultsToConsistentValues().
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (LayoutTestController::overridePreference):
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (resetDefaultsToConsistentValues): new method, resets preferences to same set of value before every test.
+ (resetWebViewToConsistentStateBeforeTesting): move some preference setting from here to new resetDefaultsToConsistentValues().
+ (createWebViewAndOffscreenWindow): same.
+ (main): same.
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::overridePreference):
+ * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
+ (LayoutTestController::overridePreference):
+
+2009-08-11 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Added support for DRT to support arguments for eventSender.mouseDown and eventSender.mouseUp for Windows.
+ https://bugs.webkit.org/show_bug.cgi?id=28166.
+
+ This is a step towards fixing fast/events/mouse-click-events.html on Windows.
+
+ * DumpRenderTree/win/EventSender.cpp:
+ (mouseDownCallback):
+ (mouseUpCallback):
+ (replaySavedEvents):
+
+2009-08-11 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Build the TestNetscapePlugin on Qt/Mac
+
+ * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro:
+
+2009-08-11 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by NOBODY (build fix).
+
+ Attempt to fix the Windows test bot. Reverted r47015 caused one of the Windows
+ bots that runs Layout Tests to save "JS disabled" and "default font 24pt"
+ preferences permanently. Since these preferences are not initialized explicitly in DRT,
+ almost all Layout tests are failing. Attempt to fix by explicit
+ initialization of these into defaults (enabled, 16pt) at the beginning of the DRT.
+
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (main): see above.
+
+2009-08-10 Steve Falkenburg <sfalken@apple.com>
+
+ Windows nightly fix.
+
+ Reviewed by Ada Chan.
+
+ * FindSafari/FindSafari.cpp:
+ (_tmain): Copy Safari.dll if it exists.
+
+2009-08-10 David Levin <levin@chromium.org>
+
+ Reviewed by David Kilzer.
+
+ check-webkit-style doesn't catch braces around single line statements when followed by else.
+ https://bugs.webkit.org/show_bug.cgi?id=28164
+
+ * Scripts/modules/cpp_style.py: Added else to the regex that finds ending }'s when
+ checking the no braces for "single lines" rule.
+ * Scripts/modules/cpp_style_unittest.py: Added test case.
+
+2009-08-10 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/28163> bugzilla-tool: scm module should not import bugzilla module
+
+ Reviewed by David Levin.
+
+ * Scripts/bugzilla-tool:
+ (parse_bug_id): Added. Moved from CommitMessage.parse_bug_id()
+ in scm module.
+ * Scripts/modules/scm.py: Removed import of bugzilla module.
+ (CommitMessage.parse_bug_id): Deleted.
+
+2009-08-10 Peter Kasting <pkasting@google.com>
+
+ Reviewed by David Kilzer.
+
+ https://bugs.webkit.org/show_bug.cgi?id=18599
+ Work around apparent bug in abs2rel() with symlinked directories.
+
+ * Scripts/resolve-ChangeLogs:
+
+2009-08-10 Dan Bernstein <mitz@apple.com>
+
+ Build fix
+
+ * DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp:
+ (NPP_New):
+
+2009-08-10 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Fix a bunch of build warnings in TestNetscapePlugin
+
+ * DumpRenderTree/TestNetscapePlugIn.subproj/TestObject.cpp:
+ * DumpRenderTree/gtk/TestNetscapePlugin/TestNetscapePlugin.cpp:
+
+2009-08-10 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Adam Roben.
+
+ Allow TestNetscapePlugIn to fall back to the Carbon event model
+
+ Previously the plugin would fail, even though the Carbon event
+ model was available. The only way to get the Carbon event model
+ was to pass the "forcecarbon" argument in the test markup, but no
+ tests were using this.
+
+ Now the plugin uses carbon either if it's forced, or if the Cocoa
+ event model is not supported.
+
+ This helps us run most of the plugin tests on Qt/Mac, which still
+ does not support the Cocoa event model.
+
+ * DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp:
+ (NPP_New):
+
+2009-08-08 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ bugzilla-tool needs a --quiet option
+ https://bugs.webkit.org/show_bug.cgi?id=28060
+
+ A first pass at a --quiet option. This doesn't do all the excting
+ things we might want, but it addresses 80% of the use case.
+
+ * Scripts/bugzilla-tool:
+
+2009-08-08 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Reviewed by Xan Lopez.
+
+ [Gtk] Enable accessibility in Gtk DRT
+ https://bugs.webkit.org/show_bug.cgi?id=25989
+
+ Add Accessibility support to the GTK DRT.
+
+ * DumpRenderTree/AccessibilityUIElement.h:
+ * DumpRenderTree/gtk/AccessibilityControllerGtk.cpp: Added.
+ (AccessibilityController::AccessibilityController):
+ (AccessibilityController::~AccessibilityController):
+ (AccessibilityController::focusedElement):
+ (AccessibilityController::rootElement):
+ * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp: Added.
+ (AccessibilityUIElement::AccessibilityUIElement):
+ (AccessibilityUIElement::~AccessibilityUIElement):
+ (AccessibilityUIElement::getLinkedUIElements):
+ (AccessibilityUIElement::getDocumentLinks):
+ (AccessibilityUIElement::getChildren):
+ (AccessibilityUIElement::getChildrenWithRange):
+ (AccessibilityUIElement::childrenCount):
+ (AccessibilityUIElement::elementAtPoint):
+ (AccessibilityUIElement::getChildAtIndex):
+ (AccessibilityUIElement::allAttributes):
+ (AccessibilityUIElement::attributesOfLinkedUIElements):
+ (AccessibilityUIElement::attributesOfDocumentLinks):
+ (AccessibilityUIElement::titleUIElement):
+ (AccessibilityUIElement::parentElement):
+ (AccessibilityUIElement::attributesOfChildren):
+ (AccessibilityUIElement::parameterizedAttributeNames):
+ (AccessibilityUIElement::role):
+ (AccessibilityUIElement::title):
+ (AccessibilityUIElement::description):
+ (AccessibilityUIElement::language):
+ (AccessibilityUIElement::x):
+ (AccessibilityUIElement::y):
+ (AccessibilityUIElement::width):
+ (AccessibilityUIElement::height):
+ (AccessibilityUIElement::clickPointX):
+ (AccessibilityUIElement::clickPointY):
+ (AccessibilityUIElement::intValue):
+ (AccessibilityUIElement::minValue):
+ (AccessibilityUIElement::maxValue):
+ (AccessibilityUIElement::valueDescription):
+ (AccessibilityUIElement::isEnabled):
+ (AccessibilityUIElement::insertionPointLineNumber):
+ (AccessibilityUIElement::isActionSupported):
+ (AccessibilityUIElement::isRequired):
+ (AccessibilityUIElement::attributesOfColumnHeaders):
+ (AccessibilityUIElement::attributesOfRowHeaders):
+ (AccessibilityUIElement::attributesOfColumns):
+ (AccessibilityUIElement::attributesOfRows):
+ (AccessibilityUIElement::attributesOfVisibleCells):
+ (AccessibilityUIElement::attributesOfHeader):
+ (AccessibilityUIElement::indexInTable):
+ (AccessibilityUIElement::rowIndexRange):
+ (AccessibilityUIElement::columnIndexRange):
+ (AccessibilityUIElement::lineForIndex):
+ (AccessibilityUIElement::boundsForRange):
+ (AccessibilityUIElement::cellForColumnAndRow):
+ (AccessibilityUIElement::selectedTextRange):
+ (AccessibilityUIElement::setSelectedTextRange):
+ (AccessibilityUIElement::attributeValue):
+ (AccessibilityUIElement::isAttributeSettable):
+ (AccessibilityUIElement::increment):
+ (AccessibilityUIElement::decrement):
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (webViewWindowObjectCleared):
+ (main):
+ * GNUmakefile.am:
+
+2009-08-07 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Unreviewed Gtk build fix.
+
+ DRT needs internal WTF symbols so we link to libJavaScriptCore.la
+ too. Also don't force Gtk to use USE_SYSTEM_MALLOC.
+
+ * GNUmakefile.am:
+
+2009-08-07 Darin Adler <darin@apple.com>
+
+ * Scripts/commit-log-editor: Fix unchecked access to environment
+ variable that may not be there.
+
+2009-08-07 Mark Rowe <mrowe@apple.com>
+
+ Handle the case where only a single test is missing results.
+
+ * BuildSlaveSupport/build.webkit.org-config/master.cfg:
+
+2009-08-07 George Wright <george.wright@torchmobile.com>
+
+ Reviewed by Adam Treat
+
+ Fix DumpRenderTree for the Qt port to always dump the PNG data unless
+ the expected and actual hashes match.
+
+ https://bugs.webkit.org/show_bug.cgi?id=28077
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::DumpRenderTree::dump):
+
+2009-08-07 Pierre d'Herbemont <pdherbemont@apple.com>
+
+ Reviewed by Eric Seidel.
+
+ commit-log-editor does not produce a git commit log that is git friendly.
+ https://bugs.webkit.org/show_bug.cgi?id=27754
+
+ We make sure we end up with:
+ - A first paragraph describing the bug. It is eventually prefixed by
+ "WebKit: <line>" or "WebCore: <line>". This used to be
+ "WebCore:\n\n<line>".
+ - The Reviewed By line.
+ - An eventual Patch By line if author and committer doesn't match.
+ - The rest of the commit.
+
+ * Scripts/commit-log-editor:
+
+2009-08-07 Adam Barth <abarth@webkit.org>
+
+ Unreviewed. (Darin Adler indicated he'd prefer if we landed these
+ kinds of changes unreviewed, like editing the WebKit Team wiki page.)
+
+ Added Pierre d'Herbemont to list of committers.
+
+ * Scripts/modules/committers.py:
+
+2009-08-07 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Adele Peterson.
+
+ Cannot scroll for box-reflect:right
+ https://bugs.webkit.org/show_bug.cgi?id=27979
+
+ Update m_overflowLeft an m_overflowWidth for reflection just like
+ m_overflowTop and m_overflowHeight.
+
+ * Scripts/make-js-test-wrappers: Added regexp to skip box-shadow-overflo
+w-scroll.js
+
+2009-08-06 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ box-shadow's spread is ignored with <table>
+ https://bugs.webkit.org/show_bug.cgi?id=28017
+
+ Use RenderStyle::getBoxShadowExtent just like RenderBlock.
+
+ * Scripts/make-js-test-wrappers: Added regexp to skip box-shadow-overflow-scroll.js
+
+2009-08-06 Eric Seidel <eric@webkit.org>
+
+ No review, only changing make-js-test-wrappers.
+
+ Fix make-js-test-wrappers to ignore a few more js tests
+ with custom templates.
+
+ * Scripts/make-js-test-wrappers:
+
+2009-08-06 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by David Hyatt.
+
+ Added ENABLE_3D_CANVAS flag to build, default to off
+
+ * Scripts/build-webkit:
+
+2009-08-05 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Win DRT's resource load delegate is missing didReceiveResponse
+ https://bugs.webkit.org/show_bug.cgi?id=28033
+
+ * DumpRenderTree/win/FrameLoadDelegate.cpp:
+ Added:
+ (FrameLoadDelegate::didReceiveServerRedirectForProvisionalLoadForFrame):
+ (FrameLoadDelegate::willPerformClientRedirectToURL):
+ (FrameLoadDelegate::didCancelClientRedirectForFrame):
+
+ Minor style cleanup:
+ (FrameLoadDelegate::didStartProvisionalLoadForFrame):
+ (FrameLoadDelegate::didReceiveTitle):
+ (FrameLoadDelegate::didFinishLoadForFrame):
+ (FrameLoadDelegate::willCloseFrame):
+ (FrameLoadDelegate::didClearWindowObject):
+ * DumpRenderTree/win/FrameLoadDelegate.h:
+
+2009-08-05 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Win DRT's resource load delegate is missing didReceiveResponse
+ https://bugs.webkit.org/show_bug.cgi?id=28033
+
+ * DumpRenderTree/win/ResourceLoadDelegate.cpp:
+ (ResourceLoadDelegate::didReceiveResponse):
+ * DumpRenderTree/win/ResourceLoadDelegate.h:
+
+2009-08-05 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Add layoutTestController.dumpWillCacheResponse
+ https://bugs.webkit.org/show_bug.cgi?id=28010
+
+ willCacheResponse is only interesting for embedders of mainline WebKit on Mac.
+ Splitting off a new dumpWillCacheResponse allows a number of existings tests
+ to run across platforms.
+
+ The test that was specifically verifying willCacheResponse now calls
+ dumpWillCacheResponse.
+
+ * DumpRenderTree/LayoutTestController.cpp: Add dumpWillCacheResponse
+ (LayoutTestController::LayoutTestController):
+ (dumpWillCacheResponseCallback):
+ (LayoutTestController::staticFunctions):
+ * DumpRenderTree/LayoutTestController.h:
+ (LayoutTestController::dumpWillCacheResponse):
+ (LayoutTestController::setDumpWillCacheResponse):
+ * DumpRenderTree/mac/ResourceLoadDelegate.mm: Inspect dumpWillCacheResponse
+ instead of dumpResourceLoadCallbacks.
+ (-[ResourceLoadDelegate webView:resource:willCacheResponse:fromDataSource:]):
+
+2009-08-05 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Add my name to committers.py
+ https://bugs.webkit.org/show_bug.cgi?id=28013
+
+ Add my name to committers.py.
+
+ * Scripts/modules/committers.py:
+
+2009-08-05 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ A minor refactoring of the Qt DRT to be a bit more similar to
+ the other DRTs, as well as more understandable.
+
+ Splitting up resetJSObjects into a LayoutTestController->reset()
+ plus a new closeRemainingWindows() method.
+
+ Added a resetToConsistentStateBeforeTesting() method to keep
+ the code in one place, making it easier to verify that we are
+ doing things properly.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting):
+ (WebCore::DumpRenderTree::open):
+ (WebCore::DumpRenderTree::closeRemainingWindows):
+ * DumpRenderTree/qt/DumpRenderTree.h:
+
+2009-08-05 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ Make the Qt DRT WorkQueue work similarily to the cross platform
+ one. This means that all items return true if they started
+ loading.
+
+ This change paves the way for unforking the WorkQueue, if we [Qt]
+ would like that.
+
+ * DumpRenderTree/qt/WorkQueue.cpp:
+ (WorkQueue::processWork):
+ * DumpRenderTree/qt/WorkQueue.h:
+ * DumpRenderTree/qt/WorkQueueItem.h:
+ * DumpRenderTree/qt/jsobjects.cpp:
+ (LoadItem::invoke):
+ (ReloadItem::invoke):
+ (ScriptItem::invoke):
+ (BackForwardItem::invoke):
+ (LayoutTestController::processWork):
+ (LayoutTestController::maybeDump):
+
+2009-08-04 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ If load of a test fails, don't dump as it will be dumped
+ in the preceding test, resulting in a invalid incorrect layout.
+
+ * DumpRenderTree/qt/jsobjects.cpp:
+ (LayoutTestController::maybeDump):
+
+2009-08-04 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ Make the Qt DumpRenderTree more similar to the mac one.
+
+ Changes include:
+ 1) Reset zoom factor before each test
+ 2) Only dump the backforward list when we got other dump result
+ 3) When we dump the render tree, and got zero result print out:
+ [mainFrame renderTreeAsExternalRepresentation]
+ and not:
+ [frame renderTreeAsExternalRepresentation]
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::DumpRenderTree::open):
+ (WebCore::methodNameStringForFailedTest):
+ (WebCore::DumpRenderTree::dump):
+
+2009-08-05 chris fleizach <cfleizach@apple.com>
+
+ Fix Tiger build breakage.
+
+ * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+
+2009-08-04 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 27994 - WAI-ARIA: aria-valuetext needs to be implemented
+ https://bugs.webkit.org/show_bug.cgi?id=27994
+
+ Expose valueDescription for accessibility.
+
+ * DumpRenderTree/AccessibilityUIElement.cpp:
+ (getValueDescriptionCallback):
+ (AccessibilityUIElement::getJSClass):
+ * DumpRenderTree/AccessibilityUIElement.h:
+ * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+ (AccessibilityUIElement::valueDescription):
+ * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
+ (AccessibilityUIElement::valueDescription):
+
+2009-08-04 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ REGRESSION: run-webkit-tests crashes if you have non-system perl in PATH
+ https://bugs.webkit.org/show_bug.cgi?id=28006
+
+ Hard-code perl to /usr/bin/perl and swig to /usr/bin/swig
+
+ * DumpRenderTree/mac/PerlSupport/Makefile:
+
+2009-08-04 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Add pkasting to bugzilla-tool as a committer
+ https://bugs.webkit.org/show_bug.cgi?id=28002
+
+ * Scripts/modules/committers.py:
+
+2009-08-04 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 27993 - AXSliders are missing required attributes and actions
+ https://bugs.webkit.org/show_bug.cgi?id=27993
+
+ Add ability to check if any arbitrary action is supported.
+
+ * DumpRenderTree/AccessibilityUIElement.cpp:
+ (isActionSupportedCallback):
+ (AccessibilityUIElement::getJSClass):
+ * DumpRenderTree/AccessibilityUIElement.h:
+ * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+ (AccessibilityUIElement::isActionSupported):
+ * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
+ (AccessibilityUIElement::isActionSupported):
+
+2009-08-04 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ bugzilla-tool unit tests need a test harness
+ https://bugs.webkit.org/show_bug.cgi?id=27977
+
+ * Scripts/run-webkit-unittests: Added.
+
+2009-08-04 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Gavin "Gavvy" Barraclough.
+
+ Ensure that DumpRenderTreeSupport is regenerated when switching between OS versions
+ by listing the DumpRenderTree binary as a dependency. Xcode has the smarts to rebuild
+ DumpRenderTree itself when switching OS versions so this dependency removes the need
+ for any smarts in the Makefile.
+
+ * DumpRenderTree/mac/PerlSupport/Makefile:
+
+2009-08-04 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ bugzilla-tool needs unit tests
+ https://bugs.webkit.org/show_bug.cgi?id=26916
+
+ Add some basic unit testing for scm.py.
+
+ * Scripts/modules/scm.py:
+ * Scripts/modules/scm_unittest.py: Added.
+
+2009-08-04 Mike Fenton <mike.fenton@torchmobile.com>
+
+ Reviewed by Adam Treat.
+
+ Fix --skipped=only mode to honor flags such as --no-http and platform ignored directories by checking
+ to make sure the Skipped entries are not in the $ignoredDirectories array. Directories commonly included
+ are (http, media, compositing, wml, wcss).
+
+ https://bugs.webkit.org/show_bug.cgi?id=27893
+
+ * Scripts/run-webkit-tests:
+
+2009-08-03 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Jon Honeycutt.
+
+ Bug 27958 - WAI-ARIA: Implement 'aria-required' attribute.
+ https://bugs.webkit.org/show_bug.cgi?id=27958
+
+ Exposed isRequired to DumpRenderTree for accessibility.
+
+ * DumpRenderTree/AccessibilityUIElement.cpp:
+ (getIsRequiredCallback):
+ (AccessibilityUIElement::getJSClass):
+ * DumpRenderTree/AccessibilityUIElement.h:
+ * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+ (AccessibilityUIElement::isRequired):
+ * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
+ (AccessibilityUIElement::isRequired):
+
+2009-08-04 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ bugzilla-tool --commit-queue should validate commit-queue setter is a committer
+ https://bugs.webkit.org/show_bug.cgi?id=27974
+
+ With a test!
+
+ * Scripts/modules/bugzilla.py:
+ * Scripts/modules/bugzilla_unittest.py:
+
+2009-08-04 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ REGRESSION(r46700): bugzilla-tool land-diff double-spaces ChangeLogs
+ https://bugs.webkit.org/show_bug.cgi?id=27973
+
+ The trailing comma (suppresses newlines) was lost in r46700.
+
+ * Scripts/bugzilla-tool:
+
+2009-08-04 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ bugzilla-tool has too many fatal errors
+ https://bugs.webkit.org/show_bug.cgi?id=27969
+
+ Replace several fatal errors with ScriptError exceptions.
+
+ * Scripts/bugzilla-tool:
+ * Scripts/modules/bugzilla.py:
+ * Scripts/modules/scm.py:
+
+2009-08-04 Eric Seidel <eric@webkit.org>
+
+ No review, ChangeLog fix only.
+
+ Fix a ChangeLog line-spacing disaster caused by:
+ https://bugs.webkit.org/show_bug.cgi?id=27973
+
+ Still unsure what the fix for bugzilla-tool will be.
+
+2009-08-04 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ bugzilla-tool --commit-queue should only land commit-queue+ patches
+ https://bugs.webkit.org/show_bug.cgi?id=27970
+
+ commit-queue mode for bugzilla-tool
+ https://bugs.webkit.org/show_bug.cgi?id=27918
+
+ Make bugzilla tool smart enough to find the commit-queue+ flags and
+ land those patches.
+ When we call land-patches with --commit-queue, we should filter the
+ patches we land to only those that have the commit-queue+ flag set.
+ That way, when we call bugzilla-tool from a main commit queue process,
+ we won't land the wrong patches.
+
+ * Scripts/bugzilla-tool:
+
+2009-08-04 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ committer logic should be split out of bugzilla.py into its own module
+
+ https://bugs.webkit.org/show_bug.cgi?id=27972
+
+ I also added unit tests for the functionality I added.
+
+ * Scripts/modules/bugzilla.py:
+ * Scripts/modules/bugzilla_unittest.py: Added.
+ * Scripts/modules/commiters_unittest.py: Added.
+ * Scripts/modules/committers.py: Added.
+
+2009-08-03 Peter Kasting <pkasting@google.com>
+
+ Reviewed by David Kilzer.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27323
+ Handle any kind of line endings in svn-apply and svn-unapply, instead
+ of assuming LF.
+
+ * Scripts/svn-apply:
+ * Scripts/svn-unapply:
+
+2009-08-03 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ bugzilla-tool land-patches needs --queue mode
+ https://bugs.webkit.org/show_bug.cgi?id=27961
+
+ Add a --commit-queue command line option to suppress user interaction.
+
+ * Scripts/bugzilla-tool:
+ * Scripts/modules/scm.py:
+
+2009-08-03 Mark Rowe <mrowe@apple.com>
+
+ Build fix. Add installsrc, installhdrs and install targets.
+
+ * DumpRenderTree/mac/PerlSupport/Makefile:
+
+2009-08-03 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Eric Seidel.
+
+ HTMLInputElement is not controllable by assistive technologies
+ https://bugs.webkit.org/show_bug.cgi?id=27941
+
+ Accessibility control of a slider required adding increment() and decrement()
+ methods to AccessibilityObject, so expose thos methods on AccessibilityUIElement.
+
+ * DumpRenderTree/AccessibilityUIElement.cpp:
+ (incrementCallback): New, call UI element increment method.
+ (decrementCallback): New, call UI element decrement method.
+ (AccessibilityUIElement::getJSClass): Expose increment and decrement methods.
+
+ * DumpRenderTree/AccessibilityUIElement.h:
+ * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+ (AccessibilityUIElement::increment): New, send NSAccessibilityIncrementAction to Mac wrapper.
+ (AccessibilityUIElement::decrement): New, send NSAccessibilityDecrementAction to Mac wrapper.
+
+ * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
+ (AccessibilityUIElement::increment): New, do nothing.
+ (AccessibilityUIElement::decrement): New, do nothing.
+
+2009-08-02 David D. Kilzer <ddkilzer@webkit.org>
+
+ <http://webkit.org/b/27930> bugzilla-tool hates Tor Arne Vestbø
+
+ Reviewed by Tor Arne Vestbø.
+
+ * Scripts/bugzilla-tool:
+ (set_reviewer_in_changelog): Made sure reviewer is properly
+ encoded when calling replace().
+
+2009-08-02 Kevin Ollivier <kevino@theolliviers.com>
+
+ Reviewed by David Levin.
+
+ Script for building the wxBrowser sample app for wx.
+ https://bugs.webkit.org/show_bug.cgi?id=27619
+
+ * wx/browser/wscript: Added.
+
+2009-08-02 Kevin Ollivier <kevino@theolliviers.com>
+
+ Reviewed by Jan Alonzo.
+
+ Scripts needed for the waf build.
+ https://bugs.webkit.org/show_bug.cgi?id=27619
+
+ * wx/build: Added.
+ * wx/build/build_utils.py: Added.
+ * wx/build/settings.py: Added.
+ * wx/build/waf_extensions.py: Added.
+ * wx/build/wxpresets.py: Added.
+
+2009-08-01 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Make pixel test results more consistent across Mac OS X versions
+
+ * DumpRenderTree/cg/ImageDiffCG.cpp:
+ (createDifferenceImage): Avoid color correction when rendering the
+ images into graphics contexts, so that the actual color values are
+ compared, regardless of how the images are tagged.
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (createWebViewAndOffscreenWindow): Set the window’s color space to the
+ main screen’s color space, even though the window is off-screen.
+
+2009-08-01 Mark Rowe <mrowe@apple.com>
+
+ Try again to make the Qt build bot happy.
+
+ * BuildSlaveSupport/test-result-archive: Create a placeholder file inside the newly-created
+ directory to prevent 'zip' from failing due to the directory containing no files.
+
+2009-08-01 Mark Rowe <mrowe@apple.com>
+
+ Try and make the Qt build bot happy.
+
+ * BuildSlaveSupport/test-result-archive: Handle the case where run-webkit-tests generates
+ no output files at all and thus does not create the layout-test-results directory.
+
+2009-08-01 Mark Rowe <mrowe@apple.com>
+
+ Move the include of DumpRenderTreeSupport to after DumpRenderTree has been built.
+
+ * Scripts/run-webkit-tests:
+
+2009-08-01 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Sam Weinig and David D. Kilzer.
+
+ Fix <https://bugs.webkit.org/show_bug.cgi?id=27923>.
+ Bug 27923: run-webkit-tests should not invoke "ps" repeatedly on Mac OS X
+
+ run-webkit-tests invokes "ps" after each test on Mac OS X to determine whether DumpRenderTree is
+ in the process of crashing. We can do the same test more efficiently with a simple call to sysctl.
+ I couldn't find any built-in way of doing this directly from perl, so we do it from a simple C module
+ instead. This speeds up run-webkit-tests by around 8%.
+
+ * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
+ * DumpRenderTree/mac/PerlSupport/DumpRenderTreeSupport.c: Added.
+ (processIsCrashing):
+ * DumpRenderTree/mac/PerlSupport/DumpRenderTreeSupportTiger.pm: Added. Tiger does not have the SWIG tool
+ that is used to generate the Perl binding to the C code, so we fall back to the old implementation on Tiger.
+ * DumpRenderTree/mac/PerlSupport/Makefile: Added.
+ * Scripts/run-webkit-tests:
+
+2009-08-01 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by David D. Kilzer.
+
+ Display the reminder once rather than once per ChangeLog.
+
+ * Scripts/prepare-ChangeLog:
+
+2009-08-01 David Kilzer <ddkilzer@apple.com>
+
+ resolve-ChangeLogs: add error checking to git ls-files command on close()
+
+ Reviewed by Eric Seidel.
+
+ Item 2 of <https://bugs.webkit.org/show_bug.cgi?id=18599#c0>.
+
+ * Scripts/resolve-ChangeLogs: Added error checking to close()
+ after running git ls-files. Added error checking to all
+ system() calls by checking for a non-zero WEXITSTATUS($?).
+ Changed "|| die;" expressions to "or die $!;".
+
+2009-08-01 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/18599> resolve-ChangeLogs doesn't work with relative paths
+
+ Reviewed by Eric Seidel.
+
+ * Scripts/resolve-ChangeLogs: Used chdirReturningRelativePath()
+ and determineVCSRoot() to change directories to the root of the
+ project before running the command and to provide a path for
+ removeChangeLogArguments() to make sure any ChangeLog arguments
+ on the command line are still found.
+ (canonicalRelativePath): Added. Returns a canonical path (e.g.,
+ stripping 'dir/../' from the path) relative to the current
+ directory.
+ (removeChangeLogArguments): Added argument which contains a
+ relative path that must be prepended to any ChangeLog arguments.
+ Used canonicalRelativePath() and File::Spec->catfile() to
+ construct a normalized, relative path to each file.
+
+2009-08-01 David Kilzer <ddkilzer@apple.com>
+
+ Implement VCSUtils::chdirReturningRelativePath()
+
+ Reviewed by Eric Seidel.
+
+ Step 2 to fix:
+ <http://webkit.org/b/18599> resolve-ChangeLogs doesn't work with relative paths
+
+ * Scripts/VCSUtils.pm:
+ (VCSUtils::chdirReturningRelativePath): Moved here from
+ chdirAndGetDifference() in svn-create-patch.
+ * Scripts/svn-create-patch: Switched to use
+ chdirReturningRelativePath() instead of chdirAndGetDifference().
+ (chdirAndGetDifference): Removed.
+
+2009-08-01 David Kilzer <ddkilzer@apple.com>
+
+ Implement VCSUtils::determineVCSRoot()
+
+ Reviewed by Eric Seidel.
+
+ Step 1 to fix:
+ <http://webkit.org/b/18599> resolve-ChangeLogs doesn't work with relative paths
+
+ * Scripts/VCSUtils.pm: Removed reference to webkitdirs module.
+ (VCSUtils::EXPORT): Added &determineVCSRoot. Realphabetized.
+ (VCSUtils::determineGitRoot): Added. Based on code in
+ commit-log-editor.
+ (VCSUtils::determineVCSRoot): Implemented using
+ determineGitRoot() and determineSVNRoot().
+ * Scripts/commit-log-editor: Replaced use of
+ topLevelSourceDirectory() with determineVCSRoot(). Resorted
+ use statements.
+ (topLevelSourceDirectory): Removed.
+
+2009-07-31 Daniel Bates <dbates@intudata.com>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27757
+
+ Resolves Perl redefinition warnings about functions tmpfile and tmpnam which are
+ defined in both File::Temp and POSIX.
+
+ This stops the warnings by preventing the "import" method of File::Temp from being called,
+ which would otherwise add these functions into the primary namespace. Note, "use POSIX"
+ will import these functions into the primary namespace anyway. We only need one instance
+ of these functions in our namespace (or we get redefinition warnings), so lets use the
+ one's in the POSIX package.
+
+ * Scripts/update-webkit-auxiliary-libs: Changed "use File::Temp" to "use File::Temp ()".
+ * Scripts/update-webkit-support-libs: ditto
+
+2009-07-31 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ Add a top level build option to control datagrid support
+ https://bugs.webkit.org/show_bug.cgi?id=27915
+
+ * Scripts/build-webkit:
+
+2009-07-31 David Levin <levin@chromium.org>
+
+ Reviewed by Adam Treat.
+
+ check-webkit-style --git-commit has bugs if you select a commit in the past
+ https://bugs.webkit.org/show_bug.cgi?id=27908
+
+ * Scripts/check-webkit-style:
+ (main): Made the git-commit command only select the first commit
+ if a range is given (and print a warning).
+ * Scripts/modules/scm.py:
+ (SCM::create_patch_from_local_commit):
+ (SCM::create_patch_since_local_commit):
+ (SCM::commit_locally_with_message):
+ (SCM::discard_local_commits):
+ Added an error messages in case these aren't overriden.
+
+ (Git::create_patch_since_local_commit):
+ Added this command to allow doing a diff of everything after a given commit.
+
+2009-07-31 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Speculative Qt build fix. Not reviewed.
+
+ Add LayoutTestController::disableImageLoading() in jsobjects.h.
+
+ * DumpRenderTree/qt/jsobjects.h:
+
+2009-07-31 Brady Eidson <beidson@apple.com>
+
+ Reviewed by John Sullivan.
+
+ <rdar://problem/6973106> and https://bugs.webkit.org/show_bug.cgi?id=27896
+ Favicons are still loaded when automatic image loading is disabled.
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (disableImageLoadingCallback):
+ (LayoutTestController::staticFunctions):
+ * DumpRenderTree/LayoutTestController.h:
+
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (resetWebViewToConsistentStateBeforeTesting):
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (LayoutTestController::disableImageLoading):
+
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (resetWebViewToConsistentStateBeforeTesting):
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::disableImageLoading):
+
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::disableImageLoading): Stubbed for now.
+ * DumpRenderTree/qt/jsobjects.cpp:
+ (LayoutTestController::disableImageLoading): Ditto.
+
+2009-07-30 Eric Seidel <eric@webkit.org>
+
+ Reviewed by David Kilzer.
+
+ bugzilla-tool post-commits trunk..head errors out
+ https://bugs.webkit.org/show_bug.cgi?id=27847
+
+ Rename commit_ids_from_range_arguments to commit_ids_from_commitish_arguments
+ and make it handle the new arguments format proposed in the bug.
+
+ * Scripts/bugzilla-tool:
+ * Scripts/modules/scm.py:
+
+2009-07-30 Eric Seidel <eric@webkit.org>
+
+ Reviewed by David Levin.
+
+ clean up build-webkit to use less copy/paste code and remove unneeded SVG warning
+ https://bugs.webkit.org/show_bug.cgi?id=27857
+
+ * Scripts/build-webkit:
+
+2009-07-31 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/27894> bugzilla-tool: Bugzilla.clear_attachment_review_flag() fails with ClientForm-0.2.10 and python-2.5
+
+ Reviewed by Eric Seidel.
+
+ * Scripts/modules/bugzilla.py:
+ (Bugzilla.clear_attachment_review_flag): Specify which 'comment'
+ form field to use when setting its value.
+
+2009-07-31 Eric Seidel <eric@webkit.org>
+
+ Reviewed by David Kilzer.
+
+ bugzilla-tool post-commits obsoletes its own work :(
+ https://bugs.webkit.org/show_bug.cgi?id=27849
+
+ Simple fix. Use .add() instead of .update()
+
+ * Scripts/bugzilla-tool:
+
+2009-07-31 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Anders Carlsson.
+
+ Improve platform-detection in run-webkit-tests
+
+ This prevents miss-detection of mac-* over Qt/Mac.
+
+ * Scripts/run-webkit-tests:
+
+2009-07-30 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Cameron Zwarich.
+
+ Teach buildbot to detect test cases that are missing results.
+
+ * BuildSlaveSupport/build.webkit.org-config/master.cfg:
+
+2009-07-30 Mark Rowe <mrowe@apple.com>
+
+ Things work better when you create the correct directories.
+
+ * Scripts/run-webkit-tests:
+
+2009-07-30 Mark Rowe <mrowe@apple.com>
+
+ Include some information about the error when we die.
+
+ * Scripts/run-webkit-tests:
+
+2009-07-30 Mark Rowe <mrowe@apple.com>
+
+ Ensure that the path exists before writing results to it.
+ Hopefully this will make the Windows build bot happy.
+
+ * Scripts/run-webkit-tests:
+
+2009-07-30 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Adam Treat and Jon Honeycutt.
+
+ Teach run-webkit-tests to always store the actual results in the results directory for new tests.
+ This allows us to give a working link to the results from the result summary page, even if we're
+ not generating new results in to the tree.
+
+ * Scripts/run-webkit-tests:
+
+2009-07-30 Mark Rowe <mrowe@apple.com>
+
+ Add a Qt Linux build bot.
+
+ * BuildSlaveSupport/build.webkit.org-config/config.json:
+
+2009-07-30 Jakob Petsovits <jakob.petsovits@torchmobile.com>
+
+ Reviewed by Adam Roben.
+
+ Add --minimal option to webkit-build.
+ https://bugs.webkit.org/show_bug.cgi?id=27852
+
+ This option disables all optional build features unless
+ they are explicitly enabled.
+
+ * Scripts/build-webkit:
+
+2009-07-30 Jakub Wieczorek <faw217@gmail.com>
+
+ [Qt] Fix build with GCC 4.4.
+
+ * DumpRenderTree/qt/ImageDiff.cpp:
+
+2009-07-29 Ariya Hidayat <ariya.hidayat@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27813
+
+ [Qt] Support pixel tests in DumpRenderTree for the Qt port.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::DumpRenderTree::DumpRenderTree):
+ (WebCore::DumpRenderTree::open):
+ (WebCore::DumpRenderTree::setDumpPixels):
+ (WebCore::DumpRenderTree::dump):
+ * DumpRenderTree/qt/DumpRenderTree.h:
+ * DumpRenderTree/qt/main.cpp:
+ (main):
+
+2009-07-29 Ariya Hidayat <ariya.hidayat@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27813
+
+ [Qt] Implement ImageDiff.
+
+ * DumpRenderTree/qt/ImageDiff.cpp: Added.
+ * DumpRenderTree/qt/ImageDiff.pro: Added.
+
+2009-07-30 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ build-webkit: Reorder logic for determining the baseProductDir
+
+ https://bugs.webkit.org/show_bug.cgi?id=27699
+
+ We now do port-spesific probing for the product dir first, and then
+ fall back to either the generic WEBKITOUTPUTDIR (which now also works
+ on Mac), or WebKitBuild.
+
+ Then we add the git branch if the git branch build option is enabled.
+
+ Finally we massage the product dir based on the port. For example the
+ Mac port will now always set the SYMROOT and OBJROOT configuration for
+ XCode.
+
+ Note that isAppleWinWebkit() and isCygwin() is not mutually exclusive,
+ hence the normal if and not elsif in the last two blocks.
+
+ * Scripts/webkitdirs.pm:
+
+2009-07-29 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/27082> bugzilla-tool: Add --no-close switch to land-patches
+
+ Reviewed by David Levin.
+
+ * Scripts/bugzilla-tool:
+ (LandPatchesFromBugs.__init__): Added --no-close switch.
+ (LandPatchesFromBugs.land_patches): Don't close the bug if the
+ --no-close switch was used. Always clear the review+ flag on
+ every landed patch using the commit_text message when cleared.
+ This prevents patches from showing up in the commit queue if
+ reopened and provides consistency with all landed patches.
+ * Scripts/modules/bugzilla.py:
+ (Bugzilla.clear_attachment_review_flag): Added.
+
+2009-07-29 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/27815> bugzilla-tool: add -m/--description to post-commits command
+
+ Reviewed by Eric Seidel.
+
+ * Scripts/bugzilla-tool:
+ (PostDiffAsPatchToBug.execute): Changed default patch name from
+ "patch" to "Patch v1".
+ (PostCommitsAsPatchesToBug.__init__): Added -m/--description
+ switch.
+ (PostCommitsAsPatchesToBug.execute): Use description provided by
+ -m/--description switch first, else fall back to the commit
+ message.
+
+2009-07-29 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Dave Levin.
+
+ Make check-webkit-style support files as arguments.
+ https://bugs.webkit.org/show_bug.cgi?id=27549
+
+ * Scripts/check-webkit-style:
+ Support files as argument. Change documentation and use basename
+ on the binary name when used in the documentation. Also do not
+ die when printing something containing non-ASCII characters.
+
+2009-08-06 Mike Fenton <mike.fenton@torchmobile.com>
+
+ Reviewed by David Levin.
+
+ Add validation for pointer and reference declaration as defined by webkit style guidelines to cpp_style.py.
+ Add unit tests for validation and update existing c style cast test to be run explicitly as c validation.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27984
+
+ * Scripts/modules/cpp_style.py:
+ * Scripts/modules/cpp_style_unittest.py:
+
+2009-07-29 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/27119> bugzilla-tool: Add create-bug command
+
+ Reviewed by David Levin.
+
+ Implement "create-bug" command for bugzilla-tool.
+
+ * Scripts/bugzilla-tool: Added CreateBug class.
+ (CreateBug.__init__): Added.
+ (CreateBug.create_bug_from_commit): Added.
+ (CreateBug.create_bug_from_patch): Added.
+ (CreateBug.prompt_for_bug_title_and_comment): Added.
+ (CreateBug.execute): Added.
+ (BugzillaTool.__init__): Added create-bug command.
+ * Scripts/modules/bugzilla.py:
+ (Bugzilla.prompt_for_component): Added.
+ (Bugzilla.check_create_bug_response_returning_bug_id_on_success): Added.
+ (Bugzilla.create_bug_with_patch): Added.
+
+2009-07-29 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Reviewed by Eric Seidel and Xan Lopez.
+
+ [Gtk] Enable http/tests/appcache tests
+ https://bugs.webkit.org/show_bug.cgi?id=27674
+
+ Add support for testing http/tests/appcache tests.
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (resetWebViewToConsistentStateBeforeTesting):
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::setAppCacheMaximumSize):
+
+2009-07-28 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Prevent nightly builds of WebKit from launching against old Safari versions that we no longer work with.
+
+ * WebKitLauncher/main.m:
+ (checkSafariVersion): Add a minimum required Safari version of 4.0. This matches the requirement on Windows.
+ (main): If the minimum version requirement is not met, display an alert and bail out.
+
+2009-07-28 David Levin <levin@chromium.org>
+
+ Reviewed by Adam Treat.
+
+ cpplint* should be named cpp_style*
+ https://bugs.webkit.org/show_bug.cgi?id=27752
+
+ The files were renamed. A few renames were done:
+ CppLint -> CppStyle
+ cpplint -> cpp_style
+
+ * Scripts/check-webkit-style:
+ * Scripts/modules/cpp_style.py: Copied from cpplint.py and
+ did name fix ups.
+ * Scripts/modules/cpp_style_unittest.py: Copied from cpplint_unittest.py and
+ did name fix ups.
+ * Scripts/modules/cpplint.py: Removed.
+ * Scripts/modules/cpplint_unittest.py: Removed.
+
+2009-07-28 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Rubber-stamped by Holger Freyther.
+
+ Add Steve Falkenburg to bugzilla-tools' reviewers list
+
+ * Scripts/modules/bugzilla.py:
+
+2009-07-28 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Simon Hausmann.
+
+ Implement test result archive support for the Qt port.
+
+ * BuildSlaveSupport/test-result-archive:
+
+2009-07-27 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27755
+ Layout tests that dump resource load delegate calls should dump the request method and the response status code.
+
+ * DumpRenderTree/mac/ResourceLoadDelegate.mm:
+ (-[NSURLResponse _drt_descriptionSuitableForTestResult]):
+ (-[NSURLRequest _drt_descriptionSuitableForTestResult]):
+
+ * DumpRenderTree/win/ResourceLoadDelegate.cpp:
+ (descriptionSuitableForTestResult):
+
+2009-07-27 Pierre d'Herbemont <pdherbemont@apple.com>
+
+ Reviewed by David Levin.
+
+ "bugzilla-tool post-commit head" doesn't work because it can't find the bug id from the commit load.
+ https://bugs.webkit.org/show_bug.cgi?id=27747
+
+ modules.bugzilla is not found because not included.
+
+ * Scripts/modules/scm.py: Properly import modules.bugzilla.
+
+2009-07-24 Pierre d'Herbemont <pdherbemont@apple.com>
+
+ Reviewed by David Kilzer.
+
+ commit-log-editor should allow git commit --amend to regenerate the commit log based on the modifed ChangeLog
+ https://bugs.webkit.org/show_bug.cgi?id=27664
+
+ * Scripts/commit-log-editor: Add --regenerate-log option.
+ The user is asked if he wants to suppress previous ChangeLog and regenerate it,
+ if this option is enabled.
+
+2009-07-27 Gabor Rapcsanyi <rapcsanyi.gabor@stud.u-szeged.hu>
+
+ Reviewed by Simon Hausmann.
+
+ Generating remote links causes a lot of unnecessary spew on Qt build bot too
+
+ * Scripts/run-webkit-tests:
+
+2009-07-25 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Darin Adler.
+
+ Windows build break due to warning C4819
+ https://bugs.webkit.org/show_bug.cgi?id=27416
+
+ Disable C4819 warning to fix build.
+
+ * DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin.vcproj:
+
+2009-07-24 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Not reviewed. Add Kevin McCullough as reviewer in bugzilla.py
+
+ * Scripts/modules/bugzilla.py:
+
+2009-07-24 Eli Fidler <eli.fidler@torchmobile.com>
+
+ Reviewed by Adam Treat.
+
+ Improve git workflow by populating commit messages with ChangeLog entries.
+ https://bugs.webkit.org/show_bug.cgi?id=27605
+
+ If the user doesn't manually modify the ChangeLog files, use
+ prepare-ChangeLog to populate the git commit message. This behaviour
+ can be disabled by the 'webkitGenerateCommitMessage' git configuration option.
+
+ * Scripts/commit-log-editor:
+
+2009-07-24 David Levin <levin@chromium.org>
+
+ Reviewed by Adam Treat.
+
+ cpplint crash when there is a duplicate header followed by another header.
+ https://bugs.webkit.org/show_bug.cgi?id=27625
+
+ * Scripts/modules/cpplint.py: Ensure that include_state.header_types is updated even
+ there is a duplicate header, which resulted in some code rearrangement. Also,
+ changed some if's in this function to return early. This avoids having nearly the
+ whole function content being indented.
+ * Scripts/modules/cpplint_unittest.py: Added a test which would have exposed the crash.
+
+2009-07-24 Jakob Petsovits <jakob.petsovits@torchmobile.com>
+
+ Reviewed by Adam Treat.
+
+ Filetype support changes for cpplint and check_webkit_style
+ https://bugs.webkit.org/show_bug.cgi?id=27653
+
+ Introduce .c support for check_webkit_style, and remove support for
+ .cc files in favor of .cpp.
+
+ * Scripts/check-webkit-style:
+ * Scripts/modules/cpplint.py:
+ * Scripts/modules/cpplint_unittest.py:
+
+2009-07-24 Eli Fidler <eli.fidler@torchmobile.com>
+
+ Reviewed by David Levin.
+
+ Improve git workflow by populating commit messages with ChangeLog entries.
+ https://bugs.webkit.org/show_bug.cgi?id=27605
+
+ add --[no-]write prepare-ChangeLog options to bash completion
+
+ * Scripts/webkit-tools-completion.sh:
+
+2009-07-24 Andrei Popescu <andreip@google.com>
+
+ Reviewed by Anders Carlsson.
+
+ ApplicationCache should have size limit
+ https://bugs.webkit.org/show_bug.cgi?id=22700
+
+ Adds a new method on the LayoutTestController that
+ allows a JS unit test to configure the maximum size
+ of the Application Cache.
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (setAppCacheMaximumSizeCallback):
+ (LayoutTestController::staticFunctions):
+ * DumpRenderTree/LayoutTestController.h:
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::setAppCacheMaximumSize):
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (LayoutTestController::setAppCacheMaximumSize):
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::setAppCacheMaximumSize):
+ * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
+ (LayoutTestController::setAppCacheMaximumSize):
+
+2009-07-24 Adam Barth <abarth@webkit.org>
+
+ Rubber stamped by Eric Seidel.
+
+ Added andersca to list of reviewers.
+
+ * Scripts/modules/bugzilla.py:
+
+2009-07-24 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Xan Lopez.
+
+ Fix dozens of "Deallocation of a pointer not malloced" messages seen while running
+ layout tests on the build bot.
+
+ Memory allocated via FastMalloc was being deleted via the system memory allocator
+ due to an inconsistent including of FastMalloc.h. We address this by including it
+ from config.h and including config.h from every implementation file, as in our other
+ projects.
+
+ * DumpRenderTree/ForwardingHeaders/wtf/FastMalloc.h: Copied from JavaScriptGlue/ForwardingHeaders/wtf/FastMalloc.h.
+ * DumpRenderTree/config.h:
+ * DumpRenderTree/mac/AccessibilityControllerMac.mm:
+ * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+ * DumpRenderTree/mac/AppleScriptController.m:
+ * DumpRenderTree/mac/CheckedMalloc.cpp:
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ * DumpRenderTree/mac/DumpRenderTreeDraggingInfo.mm:
+ * DumpRenderTree/mac/DumpRenderTreePasteboard.m:
+ * DumpRenderTree/mac/DumpRenderTreeWindow.mm:
+ * DumpRenderTree/mac/EditingDelegate.mm:
+ * DumpRenderTree/mac/EventSendingController.mm:
+ * DumpRenderTree/mac/FrameLoadDelegate.mm:
+ * DumpRenderTree/mac/GCControllerMac.mm:
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ * DumpRenderTree/mac/NavigationController.m:
+ * DumpRenderTree/mac/ObjCController.m:
+ * DumpRenderTree/mac/ObjCPlugin.m:
+ * DumpRenderTree/mac/ObjCPluginFunction.m:
+ * DumpRenderTree/mac/PixelDumpSupportMac.mm:
+ * DumpRenderTree/mac/PlainTextController.mm:
+ * DumpRenderTree/mac/PolicyDelegate.mm:
+ * DumpRenderTree/mac/ResourceLoadDelegate.mm:
+ * DumpRenderTree/mac/TextInputController.m:
+ * DumpRenderTree/mac/UIDelegate.mm:
+ * DumpRenderTree/mac/WorkQueueItemMac.mm:
+
+2009-07-24 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Simon Hausmann.
+
+ Add a command line option to run-javascriptcore-tests to explicitly opt out of attempting to rebuild JavaScriptCore.
+ This is primarily useful to speed up the build bots where one machine builds JavaScriptCore and a second runs the tests,
+ leading to situations where the build system unnecessarily feels that the need to recompile.
+
+ * BuildSlaveSupport/build.webkit.org-config/master.cfg:
+ * Scripts/run-javascriptcore-tests:
+
+2009-07-23 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [Gtk] Add implementation of GCController for DRT
+ https://bugs.webkit.org/show_bug.cgi?id=27636
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (webViewWindowObjectCleared):
+ (main):
+ * DumpRenderTree/gtk/GCControllerGtk.cpp:
+ (GCController::collect):
+ (GCController::collectOnAlternateThread):
+ (GCController::getJSObjectCount):
+
+2009-07-23 Mark Rowe <mrowe@apple.com>
+
+ Update build.webkit.org config for new machine.
+
+ * BuildSlaveSupport/build.webkit.org-config/config.json:
+
+2009-07-23 Brady Eidson <beidson@apple.com>
+
+ Remove accidentally checked in code.
+
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (waitUntilDoneWatchdogFired):
+ (LayoutTestController::setWaitToDump):
+
+2009-07-23 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ WebCore has a few places that don't gracefully handle a null request returned from willSendRequest.
+ https://bugs.webkit.org/show_bug.cgi?id=27595
+
+ Add the ability to tell the LayoutTestController to return a null request for willSendRequest
+ redirect callbacks.
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (LayoutTestController::LayoutTestController):
+ (setWillSendRequestReturnsNullOnRedirectCallback):
+ (LayoutTestController::staticFunctions):
+ * DumpRenderTree/LayoutTestController.h:
+ (LayoutTestController::willSendRequestReturnsNullOnRedirect):
+ (LayoutTestController::setWillSendRequestReturnsNullOnRedirect):
+
+ * DumpRenderTree/mac/ResourceLoadDelegate.mm:
+ (-[ResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]):
+ * DumpRenderTree/win/ResourceLoadDelegate.cpp:
+ (ResourceLoadDelegate::willSendRequest):
+
+2009-07-23 Mark Rowe <mrowe@apple.com>
+
+ Reviewed Oliver Hunt.
+
+ Fix DumpRenderTree to not fail an assertion on launch on a new machine.
+
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (setDefaultsToConsistentValuesForTesting): Disable the XSS auditor. It being enabled
+ breaks all of the JavaScript tests within testStringByEvaluatingJavaScriptFromString,
+ which causes us to exit due to an assertion failure. It's not clear why the XSS auditor
+ decides to interfere with these tests.
+
+2009-07-23 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Update default state of the XSS auditor in GTK DumpRenderTree to match Mac and Windows
+ in hopes of fixing some layout test failures seen on the build bot.
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (resetWebViewToConsistentStateBeforeTesting):
+
+2009-07-23 Jakob Petsovits <jakob.petsovits@torchmobile.com>
+
+ Reviewed by Adam Treat.
+
+ Fix false positives for switch statement indentation check in cpplint.
+ https://bugs.webkit.org/show_bug.cgi?id=27615
+
+ Makes one-line case statements (e.g. "case foo: bar();") work.
+ Also a few general improvements to the robustness and readability of
+ the check, and more test cases.
+
+ * Scripts/modules/cpplint.py:
+ * Scripts/modules/cpplint_unittest.py:
+
+2009-07-23 Jakob Petsovits <jakob.petsovits@torchmobile.com>
+
+ Reviewed by Adam Treat.
+
+ Add check for line-breaking rule #3 to cpplint.
+ https://bugs.webkit.org/show_bug.cgi?id=27610
+
+ "An else if statement should be written as an if statement when
+ the prior if concludes with a return statement."
+
+ Implemented by a multi-line (kind of back-tracking) algorithm.
+ Comes with loads of unit tests. Fixes the check for label indentation
+ to be not so overzealous, as it didn't allow for completely unindented
+ goto labels (at the very start of a line).
+
+ * Scripts/modules/cpplint.py:
+ * Scripts/modules/cpplint_unittest.py:
+
+2009-07-23 Eli Fidler <eli.fidler@torchmobile.com>
+
+ Reviewed by Adam Treat.
+
+ Improve git workflow by populating commit messages with ChangeLog entries.
+ https://bugs.webkit.org/show_bug.cgi?id=27605
+
+ add --[no-]write option to optionally output new ChangeLog entries to
+ stdout instead of modifying ChangeLog files
+
+ fix Torch Mobile copyright
+
+ * Scripts/prepare-ChangeLog:
+
+2009-07-23 Jakob Petsovits <jakob.petsovits@torchmobile.com>
+
+ Reviewed by Adam Treat.
+
+ Enable cpplint for .c files.
+ https://bugs.webkit.org/show_bug.cgi?id=27604
+
+ Also make sure that the check for NULL does not apply to .c files.
+
+ * Scripts/modules/cpplint.py:
+ * Scripts/modules/cpplint_unittest.py:
+
+2009-07-22 Steve Falkenburg <sfalken@apple.com>
+
+ Checkpoint new Windows nightly launcher.
+
+ Reviewed by Mark Rowe.
+
+ * WebKitLauncherWin: Added.
+ * WebKitLauncherWin/Resource.h: Added.
+ * WebKitLauncherWin/WebKitLauncherWin.cpp: Added.
+ (getStringValue): Retrieve a string registry value.
+ (applePathFromRegistry): Get an Apple-related path out of the registry.
+ (copyEnvironmentVariable): Copy an environment variable.
+ (safariInstallDir): Helper function to get the install directory for Safari.
+ (safariBrowserExe): Helper function to get the full path of the Safari executable.
+ (_tWinMain): Locate Safari and launch it after setting up an environment variable.
+ * WebKitLauncherWin/WebKitLauncherWin.h: Added.
+ * WebKitLauncherWin/WebKitLauncherWin.rc: Added.
+ * WebKitLauncherWin/WebKitLauncherWin.vcproj: Added.
+ * WebKitLauncherWin/webkit.ico: Added.
+
+2009-07-22 David Levin <levin@chromium.org>
+
+ Reviewed by Adam Treat.
+
+ run-webkit-lint should be named check-webkit-style
+ https://bugs.webkit.org/show_bug.cgi?id=27568
+
+ This name better reflects the fact that it is about checking the style of files.
+
+ * Scripts/check-webkit-style: Renamed from WebKitTools/Scripts/run-webkit-lint.
+
+2009-07-22 Takeshi Yoshino <tyoshino@google.com>
+
+ Reviewed by Darin Adler.
+
+ VC++ 2005 Express failed to build WebKit due to raw UTF-8 string in WebKit/win/WebCoreLocalizedStrings.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=26375
+
+ Make it able to use hexadecimal escape sequences in .*UI_STRING(_KEY)? macros. Now,
+ the extract-localizable-strings script unescapes hexadecimal escape sequences in string literals
+ in the macros before writing out them into the file to update.
+
+ By this fix, we can eliminate raw UTF-8 strings in source code while using raw UTF-16 big endian
+ strings in the Localizable.strings file.
+
+ Bonus: There's no longer extract-webkit-localizable-strings script. Fix usage message to guide
+ users to update-webkit-localizable-strings.
+
+ * Scripts/extract-localizable-strings:
+
+2009-07-22 Shinichiro Hamaji <hamaji@google.com>
+
+ Reviewed by David Levin.
+
+ Tiny typo fixes for cpplint.py
+ https://bugs.webkit.org/show_bug.cgi?id=27530
+
+ * Scripts/modules/cpplint.py:
+
+2009-07-22 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by David Levin.
+
+ run-webkit-lint checks code which are not changed
+ https://bugs.webkit.org/show_bug.cgi?id=27529
+
+ Add check if the line is newly added.
+
+ * Scripts/run-webkit-lint:
+
+2009-07-22 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by David Levin.
+
+ run-webkit-lint should have --git-commit option
+ https://bugs.webkit.org/show_bug.cgi?id=27528
+
+ * Scripts/modules/cpplint.py:
+ * Scripts/run-webkit-lint:
+
+2009-07-22 Peter Kasting <pkasting@google.com>
+
+ Reviewed by David Kilzer.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27323
+ Factor svn-create-patch's "determineSvnRoot()" into a function in
+ VCSUtils.pm so commit-log-editor can use it too.
+
+ * Scripts/VCSUtils.pm: Add determineSVNRoot().
+ * Scripts/commit-log-editor: Use determineSVNRoot() instead of old
+ code (which didn't work as well).
+ * Scripts/svn-create-patch: Remove determineSvnRoot() (moved).
+
+2009-07-22 Jakob Petsovits <jakob.petsovits@torchmobile.com>
+
+ Reviewed by Adam Treat.
+
+ Fix false positives in namespace indentation checks.
+ https://bugs.webkit.org/show_bug.cgi?id=27567
+
+ The regular expression detecting goto labels (in order
+ to skip those) was too permissive, which caused other
+ code like "Foo::Bar()" to be treated as a label too,
+ thereby not stopping the processing loop as expected.
+
+ Now comes with a stricter regexp, and more demanding
+ test cases to check for these issues.
+
+ * Scripts/modules/cpplint.py:
+ * Scripts/modules/cpplint_unittest.py:
+
+2009-07-22 Jakob Petsovits <jakob.petsovits@torchmobile.com>
+
+ Reviewed by Adam Treat.
+
+ Fix cpplint generating false positives for
+ "primary" includes in headers.
+ https://bugs.webkit.org/show_bug.cgi?id=27553
+
+ Doing so by only flagging includes in header files
+ as primary when the include filename exactly matches
+ the header filename.
+
+ * Scripts/modules/cpplint.py:
+ * Scripts/modules/cpplint_unittest.py:
+
+2009-07-22 Jakob Petsovits <jakob.petsovits@torchmobile.com>
+
+ Reviewed by Adam Treat.
+
+ cpplint generates false positives for primary includes
+ https://bugs.webkit.org/show_bug.cgi?id=27544
+
+ Fix false positives for instances when cpplint would
+ normally classify multiple includes as primary: After
+ the first primary include, classify subsequent ones as
+ "other" includes even if they look like primary ones.
+
+ * Scripts/modules/cpplint.py:
+ * Scripts/modules/cpplint_unittest.py:
+
+2009-07-22 Gabor Rapcsanyi <rapcsanyi.gabor@stud.u-szeged.hu>
+
+ Reviewed by Simon Hausmann.
+
+ Pass XAUTHORITY environment variable to $dumpTool as well.
+
+ * Scripts/run-webkit-tests:
+
+2009-07-21 Jakob Petsovits <jakob.petsovits@torchmobile.com>
+
+ Reviewed by Adam Treat.
+
+ Add check for correct wtf includes to cpplint.
+ https://bugs.webkit.org/show_bug.cgi?id=27524
+
+ * Scripts/modules/cpplint.py:
+ * Scripts/modules/cpplint_unittest.py:
+
+2009-07-21 Jakob Petsovits <jakob.petsovits@torchmobile.com>
+
+ Reviewed by David Levin.
+
+ Add checks for multi-line boolean operator placement.
+ https://bugs.webkit.org/show_bug.cgi?id=27496
+
+ * Scripts/modules/cpplint.py:
+ * Scripts/modules/cpplint_unittest.py:
+
+2009-07-21 Adam Treat <adam.treat@torchmobile.com>
+
+ Reviewed by David Levin.
+
+ We can't match implementation file and primary header exactly
+ since we have so many files in WebKit where the port suffix
+ is appended to the filename.
+
+ Example: FooQt.cpp and the primary header is Foo.h.
+
+ * Scripts/modules/cpplint.py:
+
+2009-07-21 Jakob Petsovits <jakob.petsovits@torchmobile.com>
+
+ Reviewed by David Levin.
+
+ Add checks for switch statement indentation to cpplint.
+ https://bugs.webkit.org/show_bug.cgi?id=27508
+
+ * Scripts/modules/cpplint.py:
+ * Scripts/modules/cpplint_unittest.py:
+
+2009-07-21 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Adam Treat.
+
+ Feature request: cpplint should check for braces - rule 2
+ https://bugs.webkit.org/show_bug.cgi?id=27497
+
+ Add the requested feature: Make sure { is on the same line
+ as the foreach "keyword".
+
+ * Scripts/modules/cpplint.py:
+ * Scripts/modules/cpplint_unittest.py:
+
+2009-07-20 Jakob Petsovits <jakob.petsovits@torchmobile.com>
+
+ Reviewed by David Levin.
+
+ Add checks for namespace indentation to cpplint.
+ https://bugs.webkit.org/show_bug.cgi?id=27461
+
+ * Scripts/modules/cpplint.py:
+ * Scripts/modules/cpplint_unittest.py:
+
+2009-07-20 Adam Treat <adam.treat@torchmobile.com>
+
+ Reviewed by David Levin.
+
+ Add cpplint check for proper include order
+ https://bugs.webkit.org/show_bug.cgi?id=27462
+
+ Add a new check to cpplint to flag cases where the include section of a file
+ does not match the mandated include order and style of the Webkit coding style
+ guidelines.
+
+ Add associated tests.
+
+ * Scripts/modules/cpplint.py:
+ * Scripts/modules/cpplint_unittest.py:
+
+2009-07-21 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by David Levin.
+
+ Support lint for patches
+ https://bugs.webkit.org/show_bug.cgi?id=27291
+
+ Add run-webkit-lint script, which lints recent changes in local
+ repository. Also, modified cpplint.py so that we don't need to
+ specify verbose level for process_file().
+
+ * Scripts/modules/cpplint.py:
+ * Scripts/run-webkit-lint: Added.
+
+2009-07-21 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by David Levin.
+
+ diff_parser should accept lines without trailing \n
+ https://bugs.webkit.org/show_bug.cgi?id=27483
+
+ Normalize the input lines by removing a trailing newline.
+ Also, add a case for unittest for newly added files.
+
+ * Scripts/modules/diff_parser.py:
+ * Scripts/modules/diff_parser_unittest.py:
+
+2009-07-21 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by David Levin.
+
+ cpplint.py's process_file() should accept customized error function
+ https://bugs.webkit.org/show_bug.cgi?id=27487
+
+ * Scripts/modules/cpplint.py:
+
+2009-07-21 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by David Levin.
+
+ cpplint.py should have an interface to get global error count
+ https://bugs.webkit.org/show_bug.cgi?id=27486
+
+ * Scripts/modules/cpplint.py:
+ * Scripts/modules/cpplint_unittest.py:
+
+2009-07-21 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by David Levin.
+
+ cpplint's parse_argument should not exit even if no files are specified
+ https://bugs.webkit.org/show_bug.cgi?id=27489
+
+ * Scripts/modules/cpplint.py:
+ * Scripts/modules/cpplint_unittest.py:
+
+2009-07-21 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by David Levin.
+
+ diff_parser: s/add_deleted_line/add_old_line/g
+ https://bugs.webkit.org/show_bug.cgi?id=27484
+
+ * Scripts/modules/diff_parser.py:
+
+2009-07-21 Roland Steiner <rolandsteiner@google.com>
+
+ Reviewed by David Levin.
+
+ Add ENABLE_RUBY to list of build options
+ https://bugs.webkit.org/show_bug.cgi?id=27324
+
+ * Scripts/build-webkit: Added flag ENABLE_RUBY.
+
+2009-07-20 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by David D. Kilzer.
+
+ Fix <https://bugs.webkit.org/show_bug.cgi?id=27482>.
+ Bug 27482: svn-apply cannot apply patch generated by Windows SVN
+
+ A regexp in svn-apply was treating everything prior to a \n as part of the
+ file name. The native Windows SVN client uses \r\n for line endings which
+ meant that the \r was being included in the file name. This defeated the
+ special-case logic for ChangeLogs to apply them with an increased fuzz factor,
+ meaning that the ChangeLog portions of such patches would fail to apply.
+
+ Also updated two other regexps that look like they would hit similar problems
+ with line-endings so that they will correctly handle patches from Windows SVN.
+
+ * Scripts/svn-apply:
+
+2009-07-20 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Mark Rowe.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27468
+ Back out r46060, which caused problems for some Apple developers.
+
+ * DumpRenderTree/win/DumpRenderTree.vcproj:
+ * DumpRenderTree/win/ImageDiff.vcproj:
+ * DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin.vcproj:
+
+2009-07-20 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27323
+ Use shorter, more correct code for determining the current directory,
+ which works better with symbolic links on some systems. Also switch
+ from checking repository root to checking UUID, to match scm.py.
+
+ * Scripts/svn-create-patch:
+
+2009-07-20 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Dan Bernstein.
+
+ Work around <rdar://problem/7075373> by ensuring that the URL is absolute before handing it off to CoreText.
+
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (activateFonts):
+
+2009-07-20 David Levin <levin@chromium.org>
+
+ Reviewed by Adam Treat.
+
+ Enable filename completion for run-webkit-test (added "-o default").
+
+ * Scripts/webkit-tools-completion.sh:
+
+2009-07-20 Simon Hausmann <simon.hausmann@nokia.com>
+
+ No review, just adding Gavin Barraclough as reviewer.
+
+ * Scripts/modules/bugzilla.py:
+
+2009-07-20 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by David Levin.
+
+ Add support for Qt's foreach to cpplint
+ https://bugs.webkit.org/show_bug.cgi?id=27386
+
+ * Scripts/modules/cpplint.py:
+ * Scripts/modules/cpplint_unittest.py:
+
+2009-07-18 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ https://bugs.webkit.org/show_bug.cgi?id=27145
+ [Gtk][REGRESSION] subframe-navigate-during-main-frame-load.html fails after r45615
+
+ Reviewed by Gustavo Noronha.
+
+ Normalize file URLs.
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (dumpHistoryItem):
+
+2009-07-17 Peter Kasting <pkasting@google.com>
+
+ Reviewed by David Kilzer.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27323
+ Further improve non-Cygwin SVN support.
+
+ * Scripts/prepare-ChangeLog: Harmless change to be consistent with other
+ places that consume whitespace at the end of svn output.
+ * Scripts/resolve-ChangeLogs: Add support for SVN 1.6. Slightly
+ optimize svn info parsing based on technique in svn-create-patch.
+ Normalize paths and consume whitespace in the same way as
+ prepare-ChangeLog, for Windows systems with a non-Cygwin SVN. Force
+ diff and patch to run in binary mode so that they won't
+ "intelligently" screw up line endings.
+
+2009-07-18 Simon Fraser <simon.fraser@apple.com>
+
+ Fix Tiger DRT build.
+
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (createWebViewAndOffscreenWindow):
+ * DumpRenderTree/mac/PixelDumpSupportMac.mm:
+
+2009-07-17 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ DRT doesn't reliably snapshot composited layers
+ https://bugs.webkit.org/show_bug.cgi?id=27399
+
+ If we're doing an "onscreen" pixel capture, it means that we're snapshotting a view
+ with composited content. In that case we need to force the view to display so that
+ the composited layers are rendered to the screen.
+
+ * DumpRenderTree/mac/PixelDumpSupportMac.mm:
+ (createBitmapContextFromWebView):
+
+2009-07-17 Adam Barth <abarth@webkit.org>
+
+ Reviewed by David Levin.
+
+ bugzilla-tool does not understand nested SVN repos
+ https://bugs.webkit.org/show_bug.cgi?id=27404
+
+ Determine the root of the working copy by looking at SVN's UUIDs.
+
+ * Scripts/modules/scm.py:
+
+2009-07-17 David Levin <levin@chromium.org>
+
+ Reviewed by Mark Rowe.
+
+ webkit-tools-completion.sh has two typos and sorting issues.
+ https://bugs.webkit.org/show_bug.cgi?id=27401
+
+ * Scripts/webkit-tools-completion.sh: Fix two typos "--dif" and "-clean".
+ Also, sort all lists including items in the case statement and flags for
+ the commands.
+
+2009-07-17 Peter Kasting <pkasting@google.com>
+
+ Reviewed by David Kilzer.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27323
+ Tweak some regexes for correctness.
+
+ * Scripts/prepare-ChangeLog: Allow 1-character filenames (my previous
+ change here didn't quite get things right).
+ * Scripts/update-webkit: Detect conflicting ChangeLogs correctly by not
+ including any trailing whitespace in the name "ChangeLog", and by
+ normalizing paths before calling basename() to avoid confusing it.
+ (normalizePath() copied from prepare-ChangeLog.)
+
+2009-07-17 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Steve Falkenburg.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27323
+ Only add Cygwin to the path when it isn't already there. This avoids
+ causing problems for people who purposefully have non-Cygwin versions of
+ executables like svn in front of the Cygwin ones in their paths.
+
+ * DumpRenderTree/win/DumpRenderTree.vcproj:
+ * DumpRenderTree/win/ImageDiff.vcproj:
+ * DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin.vcproj:
+
+2009-07-17 David Levin <levin@chromium.org>
+
+ Reviewed by Adam Treat.
+
+ WebKit should have a bash completion script to aid with common commands.
+ https://bugs.webkit.org/show_bug.cgi?id=27374
+
+ * Scripts/webkit-tools-completion.sh: The script which enables option completion
+ for several WebKit command line scripts.
+
+2009-07-17 Peter Kasting <pkasting@google.com>
+
+ Reviewed by David Kilzer.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27323
+ Avoid error spew on Macs, and fix a few other tiny details.
+
+ * Scripts/svn-create-patch:
+
+2009-07-17 Adam Treat <adam.treat@torchmobile.com>
+
+ Reviewed by Dave Levin.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27377
+ This makes cpplint complain about this for instance:
+
+ if (true)
+ {
+ int foo;
+ }
+
+ Add the appropriate unit tests.
+
+ * Scripts/modules/cpplint.py:
+ * Scripts/modules/cpplint_unittest.py:
+
+2009-07-17 Adam Treat <adam.treat@torchmobile.com>
+
+ Reviewed by Dave Levin.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27377
+ Don't filter whitespace at the end of the line. This is not
+ explicitly a rule of webkit coding style, but there is no reason
+ not to warn of this common style problem.
+
+ Don't filter whitespace newline. Now, cpplint will complain
+ about the following situation:
+
+ if (true) {
+ doSomething();
+ doSomethingAgain();
+ }
+ else
+ doSomething();
+
+ Which is a webkit coding style rule violation.
+
+ * Scripts/modules/cpplint.py:
+
+2009-07-17 Adam Treat <adam.treat@torchmobile.com>
+
+ Reviewed by Dave Levin.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27377
+ Move this comment to where it belongs.
+
+ * Scripts/modules/cpplint_unittest.py:
+
+2009-07-17 Brent Fulgham <bfulgham@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Correct crash in WinLauncher due to improper mixing of BSTR
+ and TCHAR types.
+ https://bugs.webkit.org/show_bug.cgi?id=27381
+
+ * WinLauncher/WinLauncher.cpp:
+ (loadURL): Perform SysReAllocString to update the BSTR with
+ the contents of the TCHAR string.
+
+2009-07-17 David Levin <levin@chromium.org>
+
+ Reviewed by Adam Treat.
+
+ cpplint should flag usages of NULL.
+ https://bugs.webkit.org/show_bug.cgi?id=27341
+
+ * Scripts/modules/cpplint.py: Add the check for NULL test and call it.
+ Make the collapse_strings method public.
+ * Scripts/modules/cpplint_unittest.py: Add several tests to verify
+ the check for NULL behavior. Adjust existing tests due to the
+ new NULL check:
+ 1. Several had NULL removed (or were just removed completely).
+ 2. Two tests now do an assert that allows the caller to check
+ that a particular error is one of several that was returned.
+
+2009-07-17 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by David Levin.
+
+ Add a parser of patches for linter.
+ https://bugs.webkit.org/show_bug.cgi?id=27363
+
+ Adds a simple parser for unified diff format.
+
+ * Scripts/modules/diff_parser.py: Added.
+ * Scripts/modules/diff_parser_unittest.py: Added.
+
+2009-06-30 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Simon Hausmann.
+
+ [GTK+] Remove check to be loadable in firefox
+ https://bugs.webkit.org/show_bug.cgi?id=27345
+
+ if (aMozillaVTable->size < sizeof (NPNetscapeFuncs))
+ fails in firefox but no other example in the mozilla tree is
+ doing that check. Remove and be happy.
+
+ * DumpRenderTree/gtk/TestNetscapePlugin/TestNetscapePlugin.cpp:
+ (NP_Initialize):
+
+2009-07-17 Adam Treat <adam.treat@torchmobile.com>
+
+ Reviewed by Simon Hausmann.
+
+ Something about having a single TAB in a style checking tool like this
+ is equivalent to nails on a chalk board to me...
+
+ * Scripts/modules/cpplint.py:
+
+2009-07-17 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Simon Hausmann.
+
+ Overwrite the plugin directories for the DRT.
+ Part of https://bugs.webkit.org/show_bug.cgi?id=27215
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::DumpRenderTree::DumpRenderTree):
+
+2009-07-16 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by David Levin.
+
+ Add --web-sockets flag and ENABLE_WEB_SOCKETS define.
+ https://bugs.webkit.org/show_bug.cgi?id=27206
+
+ Add --web-sockets flag.
+
+ * Scripts/build-webkit: add --web-sockets flag.
+
+2009-07-16 Adam Treat <adam.treat@torchmobile.com>
+
+ Reviewed by Dave Levin.
+
+ cpplint should check for one line control clauses that are surrounded
+ by braces
+ https://bugs.webkit.org/show_bug.cgi?id=27354
+
+ * Scripts/modules/cpplint.py: Added the new lint check.
+ * Scripts/modules/cpplint_unittest.py: Add tests for the new lint check
+ and fix the other tests as they were not passing this new lint check.
+
+2009-07-16 Peter Kasting <pkasting@google.com>
+
+ Reviewed by David Kilzer.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27323
+ Improve support for WebKit checkouts hosted inside other checkouts
+ (possible for some ports, e.g. Chromium).
+
+ * Scripts/svn-create-patch: Determine SVN root by looking for Repository
+ Root string and aborting when it's missing or different than what
+ we've already seen.
+
+2009-07-16 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Adam Roben.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27323
+ Improve support for non-Cygwin SVNs on Windows.
+
+ * Scripts/commit-log-editor: Modify regex so that trailing whitespace
+ (e.g. \r) isn't included in filenames.
+ * Scripts/prepare-ChangeLog: Fix a case of adding "\n" to the ChangeLog
+ without normalizing. Normalize file paths early instead of late so
+ all stages of the script work. Modify regexes so that trailing
+ whitespace (e.g. \r) isn't included in filenames.
+ * Scripts/svn-create-patch: Use a regex instead of chomp so we cut off
+ line endings even if they don't match Perl's.
+
+2009-07-16 Joseph Pecoraro <joepeck02@gmail.com>
+
+ Reviewed by Darin Adler.
+
+ WebKitTools/Scripts/svn-create-patch is broken
+ https://bugs.webkit.org/show_bug.cgi?id=27328
+
+ * Scripts/svn-create-patch: one line fix for unusual perl behavior
+
+2009-07-16 David Levin <levin@chromium.org>
+
+ Reviewed by David Kilzer.
+
+ cpplint should check for equality comparisons to 0/true/false
+ https://bugs.webkit.org/show_bug.cgi?id=27333
+
+ * Scripts/modules/cpplint.py: Added the new lint check.
+ * Scripts/modules/cpplint_unittest.py: Add tests for the new lint check
+ and fix a regex that in another unit test that caused it to fail when
+ you have a directory with a number in it (like WebKit-2)
+
+2009-07-16 David D. Kilzer <ddkilzer@webkit.org>
+
+ <http://webkit.org/b/27241> bugzilla-tool post-commits silently fails with bad args
+
+ Reviewed by Eric Seidel.
+
+ * Scripts/bugzilla-tool:
+ (PostCommitsAsPatchesToBug.execute): Added more error checking
+ when consuming arguments.
+
+2009-07-16 David D. Kilzer <ddkilzer@webkit.org>
+
+ TOOL FIX: scm.py: CommitMessage.message is ambiguous
+
+ Fixes this error when running bugzilla-tool apply-patches
+ --local-commit:
+
+ File "bugzilla-tool", line 188, in apply_patches
+ scm.commit_locally_with_message(commit_message.message() or patch['name'])
+ TypeError: 'list' object is not callable
+
+ * Scripts/modules/scm.py: After r45940 (and r45971), rename
+ CommitMessage.message attribute to CommitMessage.message_lines.
+ (CommitMessage.__init__):
+ (CommitMessage.body):
+ (CommitMessage.description):
+ (CommitMessage.message):
+ (CommitMessage.parse_bug_id):
+
+2009-07-16 David D. Kilzer <ddkilzer@webkit.org>
+
+ TOOL FIX: bugzilla-tool: import CommitMessage class
+
+ * Scripts/bugzilla-tool: After r45940, the CommitMessage class
+ needs to be imported for commit_message_for_this_commit().
+
+2009-07-16 David Levin <levin@chromium.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ prepare-ChangeLog should display the --bug option in its help text.
+ https://bugs.webkit.org/show_bug.cgi?id=27334
+
+ * Scripts/prepare-ChangeLog: Added the help text.
+
+2009-07-15 Darin Adler <darin@apple.com>
+
+ * Scripts/do-webcore-rename: Check in the version used to
+ rename parseURL to deprecatedParseURL.
+
+2009-07-10 David Kilzer <ddkilzer@apple.com>
+
+ bugzilla-tool: create CommitMessage class
+
+ Reviewed by Eric Seidel.
+
+ Create a CommitMessage class to encapsulate related code.
+
+ * Scripts/bugzilla-tool:
+ (bug_id_from_commit_message): Moved to
+ CommitMessage.parse_bug_id().
+ (commit_message_for_this_commit): Return a CommitMessage.
+ (ApplyPatchesFromBug.apply_patches): Use CommitMessage.message().
+ (LandPatchesFromBugs.build_and_commit): Ditto.
+ (CommitMessageForCurrentDiff.execute): Ditto.
+ (PostCommitsAsPatchesToBug.execute): Switched from
+ Git.commit_message_for_commit() to
+ Git.commit_message_for_local_commit(). Switched from
+ bug_id_from_commit_message() to CommitMessage.parse_bug_id().
+
+ * Scripts/modules/scm.py:
+ (first_non_empty_line_after_index): Added.
+ (CommitMessage.__init__): Added.
+ (CommitMessage.body): Added.
+ (CommitMessage.description): Added.
+ (CommitMessage.message): Added.
+ (CommitMessage.parse_bug_id): Added. Moved from
+ bug_id_from_commit_message() in bugzilla-tool.
+ (Git.commit_message_for_local_commit): Renamed from
+ commit_message_for_commit(). Return a CommitMessage.
+
+2009-07-15 Joseph Pecoraro <joepeck02@gmail.com>
+
+ Reviewed by David Kilzer.
+
+ bugzilla-tool/svn-apply can't handle patches made from a non-root directory
+ https://bugs.webkit.org/show_bug.cgi?id=26999
+
+ * Scripts/svn-create-patch:
+
+2009-07-15 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by David Levin.
+
+ Move cpplint.py to module directory
+ https://bugs.webkit.org/show_bug.cgi?id=27302
+
+ * Scripts/modules/cpplint.py: Renamed from WebKitTools/Scripts/cpplint.py.
+ * Scripts/modules/cpplint_unittest.py: Renamed from WebKitTools/Scripts/cpplint_unittest.py.
+
+2009-07-15 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Adam Treat.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27295
+
+ Re-implement QWebPage::shouldInterruptJavaScript to disable
+ js interruption and avoid showing a messagebox during Qt DRT
+ runs when script execution takes a bit longer.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::WebPage::shouldInterruptJavaScript): Return false
+ in re-implemented slot.
+
+2009-07-15 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Jan Alonzo.
+
+ Fix the DumpRenderTree GTK+ build
+ https://bugs.webkit.org/show_bug.cgi?id=27290
+
+ Set USE_SYSTEM_MALLOC macro for the DumpRenderTree build to
+ disable using TCmalloc in DumpRenderTree.
+
+ * GNUmakefile.am:
+
+2009-07-14 Steve Falkenburg <sfalken@apple.com>
+
+ Reorganize JavaScriptCore headers into:
+ API: include/JavaScriptCore/
+ Private: include/private/JavaScriptCore/
+
+ Reviewed by Darin Adler.
+
+ * DumpRenderTree/win/DumpRenderTree.vcproj:
+ * DumpRenderTree/win/ImageDiff.vcproj:
+
+2009-07-14 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by David Levin.
+
+ WebKit needs a style linting tool
+ https://bugs.webkit.org/show_bug.cgi?id=25884
+
+ Modifies cpplint (http://google-styleguide.googlecode.com/svn/trunk/cpplint/)
+ based on WebKit's style guide.
+
+ * Scripts/cpplint.py: Added.
+ * Scripts/cpplint_unittest.py: Added.
+
+2009-07-14 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] DumpRenderTree no longer builds with Qt4.4
+ https://bugs.webkit.org/show_bug.cgi?id=27257
+
+ Flag Qt 4.5 dependency to allow building with Qt 4.4.
+
+ * DumpRenderTree/qt/main.cpp:
+ (main):
+
+2009-07-13 Brent Fulgham <bfulgham@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Add new configuration flag for redistributable Windows build.
+ https://bugs.webkit.org/show_bug.cgi=27087
+
+ * DumpRenderTree/config.h: Check for presence of WIN_CAIRO and
+ select appropriate configuration. Defaults to standard Apple build.
+ * DumpRenderTree/win/DumpRenderTree.vcproj: Add new WinCairo.vsprops
+ to Debug_Cairo and Release_Cairo targets.
+
+2009-07-13 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Ariya Hidayat.
+
+ Always run the Qt DRT with the raster graphicssystem on X11, for
+ increased stability in the image based tests, in particular canvas.
+
+ * DumpRenderTree/qt/main.cpp:
+ (main):
+
+2009-07-13 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Ariya Hidayat.
+
+ Fix test netscape plugin usage with the Qt DRT.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::WebPage::WebPage): Enable plugins in the settings.
+ * Scripts/run-webkit-tests: Set the QT_WEBKIT_PLUGIN path to the correct build
+ directory to make Qt DRT find the test netscape plugin.
+
+2009-07-13 Simon Hausmann <hausmann@webkit.org>
+
+ Reviewed by Ariya Hidayat.
+
+ Make sure to disable the fixed contents size when resetting the page/view
+ state between test runs, to avoid side-effects.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::DumpRenderTree::open): Call setFixedContentsSize() with an invalid
+ QSize to disable the fixed layout.
+
+2009-07-13 Simon Hausmann <hausmann@webkit.org>
+
+ Reviewed by Ariya Hidayat.
+
+ When creating new windows, don't forget to connect the new
+ page's main frame. This ensures that for example the layoutTestController
+ is also available there.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::DumpRenderTree::createWindow):
+
+2009-07-13 Simon Hausmann <hausmann@webkit.org>
+
+ Reviewed by Ariya Hidayat.
+
+ Added support for LayoutTestController.setPrivateBrowsingEnabled.
+
+ * DumpRenderTree/qt/jsobjects.cpp:
+ (LayoutTestController::reset):
+ (LayoutTestController::setPrivateBrowsingEnabled):
+ * DumpRenderTree/qt/jsobjects.h:
+
+2009-07-13 Simon Hausmann <hausmann@webkit.org>
+
+ Reviewed by Ariya Hidayat.
+
+ Added support for database callbacks, storage quota setting,
+ and clearing of all databases.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::DumpRenderTree::DumpRenderTree):
+ (WebCore::DumpRenderTree::dumpDatabaseQuota):
+ * DumpRenderTree/qt/DumpRenderTree.h:
+ * DumpRenderTree/qt/jsobjects.cpp:
+ (LayoutTestController::reset):
+ (LayoutTestController::setDatabaseQuota):
+ (LayoutTestController::clearAllDatabases):
+ * DumpRenderTree/qt/jsobjects.h:
+ (LayoutTestController::shouldDumpDatabaseCallbacks):
+ (LayoutTestController::dumpDatabaseCallbacks):
+ * DumpRenderTree/qt/main.cpp:
+ (main):
+
+2009-07-13 Simon Hausmann <hausmann@webkit.org>
+
+ Reviewed by Ariya Hidayat.
+
+ Setup the path in the Qt DRT for HTML 5 Databases, to enable some of
+ the storage layout tests.
+
+ * DumpRenderTree/qt/main.cpp:
+ (main):
+
+2009-07-13 Simon Hausmann <hausmann@webkit.org>
+
+ Reviewed by Ariya Hidayat.
+
+ Make the test output more robust by dumping only when the main
+ frame finishes loading, instead of when _any_ frame finishes.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::DumpRenderTree::DumpRenderTree): Connect to the
+ main frame's loadFinished() signal instead of the page's one.
+
+2009-07-13 Simon Hausmann <hausmann@webkit.org>
+
+ Reviewed by Ariya Hidayat.
+
+ Implement the GCController DRT interface.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::DumpRenderTree::DumpRenderTree): Allocate the GCController.
+ (WebCore::DumpRenderTree::initJSObjects): Register the interface with the JS engine.
+ * DumpRenderTree/qt/DumpRenderTree.h: Declare m_gcController.
+ * DumpRenderTree/qt/jsobjects.cpp: Implement GCController.
+ (GCController::GCController):
+ (GCController::collect):
+ (GCController::collectOnAlternateThread):
+ (GCController::getJSObjectCount):
+ * DumpRenderTree/qt/jsobjects.h: Declare GCController.
+
+2009-07-13 Simon Hausmann <hausmann@webkit.org>
+
+ Reviewed by Ariya Hidayat.
+
+ Implement the GCController DRT interface in the Qt DRT.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::DumpRenderTree::DumpRenderTree): Allocate the GCController.
+ (WebCore::DumpRenderTree::initJSObjects): Register the interface with the JS engine.
+ * DumpRenderTree/qt/DumpRenderTree.h: Declare m_gcController.
+ * DumpRenderTree/qt/jsobjects.cpp: Implement GCController.
+ (GCController::GCController):
+ (GCController::collect):
+ (GCController::collectOnAlternateThread):
+ (GCController::getJSObjectCount):
+ * DumpRenderTree/qt/jsobjects.h: Declare GCController.
+
+2009-07-13 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ https://bugs.webkit.org/show_bug.cgi?id=26718 [Gtk] Add support for javascript windows for DRT
+
+ Reviewed by Gustavo Noronha and Xan Lopez.
+
+ Support running of tests that open and close JS windows automatically.
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (dumpFramesAsText):
+ (dumpBackForwardListForAllWebViews):
+ (resetWebViewToConsistentStateBeforeTesting):
+ (dump):
+ (runTest):
+ (webViewClose):
+ (createWebView):
+ (webViewCreate):
+ (main):
+ * DumpRenderTree/gtk/DumpRenderTreeGtk.h:
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::windowCount):
+ (LayoutTestController::setPopupBlockingEnabled):
+
+2009-07-13 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ prepare-ChangeLog should decode HTML entities in short description
+ https://bugs.webkit.org/show_bug.cgi?id=27122
+
+ Decode the short description by adding a function which decodes HTML
+ entities. It can decode &, <, >, ", and ' . They may be sufficient
+ as the description seems to be encoded by xml_quote in
+ http://mxr.mozilla.org/bugzilla/source/Bugzilla/Util.pm
+
+ * Scripts/prepare-ChangeLog:
+
+2009-07-13 Drew Wilson <atwilson@google.com>
+
+ Reviewed by David Levin.
+
+ Add ENABLE(SHARED_WORKERS) flag and define SharedWorker APIs
+ https://bugs.webkit.org/show_bug.cgi?id=26932
+
+ Added support for --shared-workers (turned off by default)
+
+ * Scripts/build-webkit:
+
+2009-07-12 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27196
+ Update check-for-global-initializers for the renaming for bidi.cpp to
+ RenderBlockLineLayout.cpp
+
+ * Scripts/check-for-global-initializers:
+
+2009-07-11 Simon Fraser <simon.fraser@apple.com>
+
+ Enable support for accelerated compositing and 3d transforms on Leopard.
+ <https://bugs.webkit.org/show_bug.cgi?id=20166>
+ <rdar://problem/6120614>
+
+ Reviewed by Oliver Hunt.
+
+ * Configurations/FeatureDefines.xcconfig:
+ * wtf/Platform.h:
+
+2009-07-10 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/27173> svn-apply: Fix typo in git command used to find deleted files
+
+ Reviewed by Eric Seidel.
+
+ * Scripts/svn-apply:
+ (scmWillDeleteFile): Changed 'head' to 'HEAD'.
+
+2009-07-10 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/27167> bugzilla-tool: hide help for unsupported commands
+
+ Reviewed by Eric Seidel.
+
+ When bugzilla-tool -h|--help is invoked in an svn working
+ directory, don't print help for commands that are only supported
+ on git working directories.
+
+ * Scripts/bugzilla-tool:
+ (Command.__init__): Added requires_local_commits argument with a
+ default of False. Set self.requires_local_commits attribute.
+ (PostCommitsAsPatchesToBug.execute): Removed
+ SCM.supports_local_commits() check since this is now handled by
+ BugzillaTool.main().
+ (PostCommitsAsPatchesToBug.__init__): Added
+ requires_local_commits=True argument to Command.__init__().
+ (BugzillaTool.commands_usage): Don't print help for commands if
+ they require local commits and the current SCM doesn't support
+ them.
+ (BugzillaTool.main): If command_object requires local commits
+ and the current SCM doesn't, exit with an error message.
+
+2009-07-10 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/27117> bugzilla-tool: use Mac OS X keychain for authentication
+
+ Reviewed by Eric Seidel.
+
+ Try reading credentials from git config first, then keychain if
+ running on Mac OS X, else prompt at the command-line.
+
+ * Scripts/modules/bugzilla.py: Added "import platform".
+ (credentials_from_git): Added.
+ (credentials_from_keychain): Added.
+ (is_mac_os_x): Added.
+ (read_credentials): Added.
+ (Bugzilla.__init__): Moved instance attribute bug_server to a
+ static attribute named bug-server_url.
+ (Bugzilla.bug_server_host): Added. Extracted host name from
+ bug_server_url.
+ (Bugzilla.bug_server_regex): Updated to be created using
+ bug_server_host.
+ (Bugzilla.bug_server_url): Renamed from bug_server.
+ (Bugzilla.bug_url_for_bug_id): Updated for renaming of
+ bug_server to bug_server_url.
+ (Bugzilla.attachment_url_for_id): Ditto.
+ (Bugzilla.fetch_bug_ids_from_commit_queue): Ditto.
+ (Bugzilla.authenticate): Ditto. Updated to use
+ read_credentials().
+ (Bugzilla.add_patch_to_bug): Ditto.
+
+2009-07-10 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/27115> bugzilla-tool: extract duplicate logging methods into a module
+
+ Reviewed by Adam Roben.
+
+ * Scripts/bugzilla-tool: Removed error() and log() methods and
+ added import of new logging module.
+ * Scripts/modules/bugzilla.py: Ditto. Removed "import sys".
+ * Scripts/modules/scm.py: Ditto.
+
+ * Scripts/modules/logging.py: Added.
+ (log): Added.
+ (error): Added. Prefix error messages with "ERROR: ".
+
+2009-07-10 Adam Roben <aroben@apple.com>
+
+ Sort all our Xcode projects
+
+ Accomplished using sort-Xcode-project-file.
+
+ Requested by Dave Kilzer.
+
+ * DrawTest/DrawTest.xcodeproj/project.pbxproj:
+ * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
+ * WebKitLauncher/WebKitLauncher.xcodeproj/project.pbxproj:
+
+2009-07-10 Adam Roben <aroben@apple.com>
+
+ Print prepare-ChangeLog's reminders to STDERR so they don't end up in
+ the diff output
+
+ Fixes REGRESSION (r45647): prepare-ChangeLog -d puts non-diff lines
+ into the diff
+ <https://bugs.webkit.org/show_bug.cgi?id=27150>
+
+ Reviewed by Maciej Stachowiak.
+
+ * Scripts/prepare-ChangeLog:
+
+2009-07-08 Adam Roben <aroben@apple.com>
+
+ Use case-insensitive comparisons when sorting Xcode project files
+
+ This matches the sorting used in Xcode's files list.
+
+ Fixes Bug 27079: sort-Xcode-project-file should sort
+ case-insensitively, to match Xcode's files list
+ <https://bugs.webkit.org/show_bug.cgi?id=27079>
+
+ Reviewed by Dave Kilzer.
+
+ * Scripts/sort-Xcode-project-file:
+ (sortChildrenByFileName):
+ (sortFilesByFileName):
+ Lowercase the strings before comparing them so that the comparison
+ will be case-insensitive.
+
+2009-07-08 Simon Hausmann <hausmann@webkit.org>
+
+ Reviewed by Holger Freyther.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27109
+
+ Fix side-effects in the Qt DRT with tests using application fonts.
+
+ Detect if a test used application fonts and re-initialize the fontconfig
+ application fontset accordingly.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::DumpRenderTree::open): call initializeFonts and remove all application fonts
+ after running a testcase.
+ (WebCore::DumpRenderTree::initializeFonts): Moved fontconfig initialization code
+ here from main.
+ * DumpRenderTree/qt/DumpRenderTree.h: Declare initializeFonts.
+ * DumpRenderTree/qt/main.cpp:
+ (main): Moved fontconfig initialization code to DRT::initializeFonts.
+
+2009-07-10 Antonio Gomes <antonio.gomes@openbossa.org>
+
+ Reviewed by Simon Hausmann.
+
+ [QT] [ARM] Add pkg-config entry for FontConfig on DRT.pro
+ https://bugs.webkit.org/show_bug.cgi?id=26990
+
+ Missing pkg-config entry for FontConfig in DRT.pro causes some compilers to
+ not link fine against FontConfig bits.
+
+ * DumpRenderTree/qt/DumpRenderTree.pro:
+
+2009-07-09 Drew Wilson <atwilson@google.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26903
+
+ Turned on CHANNEL_MESSAGING by default because the MessageChannel API
+ can now be implemented for Web Workers and is reasonably stable.
+
+ * Scripts/build-webkit:
+
+2009-07-09 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/27114> bugzilla-tool: Parse short bug URL from commit log messages
+
+ Reviewed by Adam Roben.
+
+ * Scripts/bugzilla-tool:
+ (bug_id_from_commit_message): Check for the short bug URL before
+ checking for the longer bugs.webkit.org URL.
+
+2009-07-08 David Kilzer <ddkilzer@apple.com>
+
+ Bug 27062: bugzilla-tool: post-commits should read bug id from commit log and actually work
+
+ <https://bugs.webkit.org/show_bug.cgi?id=27062>
+
+ Reviewed by Eric Seidel.
+
+ Removed the required BUGID argument from the "post-commits"
+ command and replaced it with a -b|--bug-id switch or parsing the
+ commit log message for the bug URL. Fixed a bug in the
+ "post-commits" that would ignore the COMMITISH used and post a
+ patch of local changes against HEAD. Added --no-commit switch
+ to disable using the bulk of the ChangeLog entry as the comment
+ for the new patch.
+
+ * Scripts/bugzilla-tool:
+ (bug_id_from_commit_message): Added. Returns a bug id from the
+ commit log message, thus enforcing the need for a bug URL in the
+ message.
+ (PostCommitsAsPatchesToBug.__init__): Updated help description
+ to match new behavior of pulling bug ids from commit log
+ messages instead of from the command line. Added -b|--bug-id
+ switch and --no-comment switch.
+ (PostCommitsAsPatchesToBug.execute): Updated to use
+ bug_id_from_commit_message() to pull bug ids from commit log
+ messages. Also switched from SCM.create_patch() to use
+ SCM.create_patch_from_local_commit() to fix a bug where local
+ repository changes were posted as a patch instead of the
+ specific COMMITISH. Fall back to -b|--bug-id if no URL is found
+ in the commit log message. Don't specify a comment for the
+ patch if --no-comment is used. Set cherry_pick argument to True
+ for Git.commit_ids_from_range_arguments() since we don't want
+ implicit commit range behavior for this command.
+
+ * Scripts/modules/bugzilla.py: Import datetime module.
+ (timestamp): Added. Returns a timestamp in the form of
+ "YYYYMMDDhhmmss".
+ (Bugzilla.bug_server_regex): Added static attribute.
+ (Bugzilla.add_patch_to_bug): Construct a more meaningful patch
+ file name using the bug_id and timestamp().
+
+ * Scripts/modules/scm.py:
+ (SCM.create_patch_from_local_commit): Added.
+ (Git.create_patch_from_local_commit): Added. Runs "git diff" to
+ return a patch for the given commit_id.
+
+2009-07-08 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Make prepare-ChangeLog less shouty
+ https://bugs.webkit.org/show_bug.cgi?id=27098
+
+ * Scripts/prepare-ChangeLog:
+
+2009-07-08 David Kilzer <ddkilzer@apple.com>
+
+ Bug 27083: bugzilla.py: Clean up bug_server use
+
+ <https://bugs.webkit.org/show_bug.cgi?id=27083>
+
+ Reviewed by Darin Adler.
+
+ * Scripts/modules/bugzilla.py:
+ (Bugzilla.fetch_bug_ids_from_commit_queue): Use bug_server
+ instead of hard-coding the URL.
+ (Bugzilla.authenticate): Remove extra '/' before URL path.
+ (Bugzilla.add_patch_to_bug): Ditto.
+
+2009-07-08 Brent Fulgham <bfulgham@webkit.org>
+
+ Build fix for Windows Cairo.
+
+ Cairo build was incorrectly #including the PixelDumpSupportCG.h
+ instead of PixelDumpSupportCairo.h
+
+ * DumpRenderTree/win/PixelDumpSupportWin.cpp: Correct #include
+
+2009-07-08 David Faure <faure@kde.org>
+
+ Reviewed by Ariya Hidayat.
+
+ Small documentation improvement for build-webkit --help
+
+ * Scripts/build-webkit: mention --debug option
+
+2009-07-07 Brady Eidson <beidson@apple.com>
+
+ Tiger build fix, work around missing NSString API.
+
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (dumpHistoryItem):
+
+2009-07-07 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27049 - In dumpBackForwardList() mode, DRT should normalize file urls.
+
+ Make the dump of a history item agnostic to the layout of filesystem on the testing machine.
+
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (dumpHistoryItem):
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (dumpHistoryItem):
+
+2009-07-07 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Rubber-stamped by Simon Hausmann.
+
+ Correct git url of the Qt test-fonts.
+
+ * DumpRenderTree/qt/main.cpp:
+ (main):
+
+2009-07-07 Simon Hausmann <hausmann@webkit.org>
+
+ Reviewed by Holger Freyther.
+
+ Clear the main frame's name between loading pages, like in r36652. This
+ reduces the side-effects between test cases.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::DumpRenderTree::open):
+
+2009-07-06 Simon Hausmann <hausmann@webkit.org>
+
+ Reviewed by Holger Freyther.
+
+ Fix various layout tests with Qt's DRT.
+
+ Remember to set the focus on the web page before
+ loading.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::DumpRenderTree::open):
+
+2009-07-07 Simon Hausmann <hausmann@webkit.org>
+
+ Reviewed by Tor Arne Vestbø and Holger Freyther.
+
+ Fix timeout timer handling in Qt DRT.
+
+ Use QBasicTimer instead of startTimer/killTimer, to fix the
+ problem that starting the timeout timer did not stop a
+ previously started timer, causing multiple emissions of timeout.
+ The timerEvent() implementation now also checks the timer id, to
+ protect against double timeouts.
+
+ * DumpRenderTree/qt/jsobjects.cpp:
+ (LayoutTestController::LayoutTestController):
+ (LayoutTestController::reset):
+ (LayoutTestController::waitUntilDone):
+ (LayoutTestController::notifyDone):
+ (LayoutTestController::timerEvent):
+ * DumpRenderTree/qt/jsobjects.h:
+
+2009-07-06 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ bugzilla-tool fails to close bugs with bugzilla 3.0
+ https://bugs.webkit.org/show_bug.cgi?id=27008
+
+ Update bugzilla.py to match changes in the bug page "changeform"
+ Update scm.py to add bug_ids to attachments to make error reporting nicer.
+
+ * Scripts/modules/bugzilla.py:
+ * Scripts/modules/scm.py:
+
+2009-07-03 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Eric Seidel.
+
+ bugzilla-tool forgot how to obsolete patches
+ https://bugs.webkit.org/show_bug.cgi?id=26951
+
+ * Scripts/modules/bugzilla.py:
+
+2009-07-02 Brent Fulgham <bfulgham@webkit.org>
+
+ Unreviewed build fix (Cairo this time) for DumpRenderTree.
+ Put Cairo code back in, but use original include order
+ for the CG stuff to avoid compile issues.
+
+ * DumpRenderTree/win/PixelDumpSupportWin.cpp:
+ (createBitmapContextFromWebView):
+
+2009-07-02 Eric Seidel <eric@webkit.org>
+
+ Correct blatant typo (missing []), no review.
+
+ * Scripts/modules/scm.py:
+
+2009-07-02 Brent Fulgham <bfulgham@webkit.org>
+
+ Windows build fix, no review.
+
+
+ Reverting PixelDumpSupportWin.cpp change to avoid strange
+ error on the build-bot.
+
+ * DumpRenderTree/win/PixelDumpSupportWin.cpp:
+ (createBitmapContextFromWebView):
+
+2009-07-02 Brent Fulgham <bfulgham@webkit.org>
+
+ Build fix, no review.
+
+ * DumpRenderTree/config.h:
+
+2009-07-02 Eric Seidel <eric@webkit.org>
+
+ Reviewed by David Levin.
+
+ bugzilla-tool needs to handle login failure
+ https://bugs.webkit.org/show_bug.cgi?id=26913
+
+ We now exit(1) on login failure.
+
+ * Scripts/modules/bugzilla.py:
+
+2009-06-30 Brent Fulgham <bfulgham@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Add build support for a Windows Cairo version of
+ DumpRenderTree. Share as much logic between the
+ CG and Cairo builds as possible.
+ https://bugs.webkit.org/show_bug.cgi?id=26457
+
+ * DumpRenderTree/PixelDumpSupport.cpp: Added.
+ (dumpWebViewAsPixelsAndCompareWithExpected): Moved common logic
+ from CG-specific file.
+ (printPNG): Moved common logic from CG-specific file.
+ * DumpRenderTree/PixelDumpSupport.h: Add declaration for new
+ common printPNG function.
+ * DumpRenderTree/cairo: Added.
+ * DumpRenderTree/cairo/PixelDumpSupportCairo.cpp: Added.
+ Implement cairo-specific logic for dealing with Cairo surfaces.
+ (writeFunction):
+ (printPNG): Cairo-specific PNG handling logic.
+ (computeMD5HashStringForBitmapContext): New Cairo routine using
+ the generic BitmapContext signature.
+ (dumpBitmap): New function containing Cairo-specific portions of
+ the dumping routine.
+ * DumpRenderTree/cairo/PixelDumpSupportCairo.h: Added.
+ Provide Cairo version of the BitmapContext structure so that
+ dumping routines can work on an abstract type.
+ (BitmapContext::createByAdoptingBitmapAndContext):
+ (BitmapContext::~BitmapContext):
+ (BitmapContext::cairoContext):
+ (BitmapContext::BitmapContext):
+ * DumpRenderTree/cg/PixelDumpSupportCG.cpp:
+ (printPNG): CG-specific PNG handling logic.
+ (computeMD5HashStringForBitmapContext): Revised to use generic
+ BitmapContext signature.
+ (dumpBitmap): New function containing CG-specific portions of
+ the dumping routine.
+ * DumpRenderTree/cg/PixelDumpSupportCG.h: Add new signatures.
+ * DumpRenderTree/win/DumpRenderTree.cpp: Disable CFNetwork logic
+ when building the non-CFNetwork version.
+ (main):
+ * DumpRenderTree/win/DumpRenderTree.vcproj:
+ * DumpRenderTree/win/PixelDumpSupportWin.cpp:
+ (createBitmapContextFromWebView): Provide parallel Cairo implementation
+ of CG bitmap/context setup.
+
+2009-07-02 Eric Seidel <eric@webkit.org>
+
+ No review, just adding Antti as a reviewer.
+
+ * Scripts/modules/bugzilla.py:
+
+2009-07-02 Antonio Gomes <antonio.gomes@openbossa.org>
+
+ Reviewed by Simon Hausmann.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26896
+
+ [Qt] Set DRT's default fontsize to 13.
+
+ * DumpRenderTree/qt/DumpRenderTree.cpp:
+ (WebCore::WebPage::WebPage):
+
+2009-07-01 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ bugzilla-tool fails for SVN users
+ https://bugs.webkit.org/show_bug.cgi?id=26914
+
+ To fix this I moved svn from -F - to using -m
+ In order for -m to work I had to move us off of shell=True
+ To move off of shell=True all call sites for run_command
+ which take args, need to pass their args as an list instead of a string.
+
+ In order for the final bug update to work correctly, I had to
+ abstract the way that we parse out revision numbers from the commit text.
+
+ * Scripts/bugzilla-tool:
+ * Scripts/modules/scm.py:
+
+2009-07-01 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ prepare-ChangeLog should have a --bug= argument and use it for url autofill
+ https://bugs.webkit.org/show_bug.cgi?id=26383
+
+ prepare-ChangeLog now knows how to grab the bug title from bugs.webkit.org
+ I also added a bit more template text in an effort to get better ChangeLogs
+ from casual contributers.
+
+ * Scripts/prepare-ChangeLog:
+
+2009-07-01 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ prepare-ChangeLog should fail when EMAIL_ADDRESS or REAL_NAME are missing:
+ https://bugs.webkit.org/show_bug.cgi?id=26692
+
+ I also made prepare-ChangeLog sanity-check names and email addresses a little.
+ Names must contain a space, and email addresses must contain '@'
+
+ Also "fixed" $email_address to $emailAddress. This script uses mixed variable name styles.
+
+ * Scripts/prepare-ChangeLog:
+
+2009-07-01 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ Bug 26900: AX: Manual spell check with Command-; does not bring up suggestions
+ https://bugs.webkit.org/show_bug.cgi?id=26900
+
+ Expose the ability to get the click point of an element through accessibility.
+
+ * DumpRenderTree/AccessibilityUIElement.cpp:
+ (getClickPointXCallback):
+ (getClickPointYCallback):
+ (AccessibilityUIElement::getJSClass):
+ * DumpRenderTree/AccessibilityUIElement.h:
+ * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+ (AccessibilityUIElement::clickPointX):
+ (AccessibilityUIElement::clickPointY):
+ * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
+ (AccessibilityUIElement::clickPointX):
+ (AccessibilityUIElement::clickPointY):
+
+2009-07-01 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Change how WebKitNightlyEnabler.dylib lies about Safari's identity to LaunchServices.
+ This makes WebKit.app behave as expected when set as the default web browser on a wider
+ range of OS versions.
+
+ * WebKitLauncher/WebKitNightlyEnabler.m:
+ (poseAsWebKitApp):
+ (enableWebKitNightlyBehaviour):
+
+2009-07-01 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Shuffle some code around in preparation for a change to how poseAsWebKitApp works.
+
+ * WebKitLauncher/WebKitNightlyEnabler.m:
+ (systemVersion):
+ (webKitLauncherBundle):
+ (insideSafari4OnTigerTrampoline):
+
+2009-06-30 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Jan Alonzo.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26877
+ [GTK] DRT fixes to pass new plugin test
+
+ Silence compiler warnings.
+
+ Newer GCC don't like using or returning a static string where a
+ 'char*' is expected. Ideally we'd change the function signatures
+ to return or take 'const char*' I suppose, but since we can't do
+ that just cast the strings to 'char*'.
+
+ * DumpRenderTree/gtk/TestNetscapePlugin/TestNetscapePlugin.cpp:
+ (webkit_test_plugin_get_value):
+
+2009-06-30 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Jan Alonzo.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26877
+ [GTK] DRT fixes to pass new plugin test
+
+ Use the common pluginLog function instead of a local copy.
+
+ * DumpRenderTree/gtk/TestNetscapePlugin/TestNetscapePlugin.cpp:
+ (webkit_test_plugin_new_instance):
+ (webkit_test_plugin_destroy_instance):
+ (webkit_test_plugin_set_window):
+ (webkit_test_plugin_handle_event):
+
+2009-06-30 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Jan Alonzo.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26877
+ [GTK] DRT fixes to pass new plugin test
+
+ Modify our DRT as done in bug #15457 to log logSrc as src in order
+ to pass test plugins/netscape-plugin-map-data-to-src.html.
+
+ * DumpRenderTree/gtk/TestNetscapePlugin/TestNetscapePlugin.cpp:
+ (webkit_test_plugin_new_instance):
+
+2009-06-30 Adrien Nader <camaradetux@gmail.com>
+
+ Reviewed by Jan Alonzo.
+
+ [GTK] GtkLauncher depends on gtk+2-2.15 because of gtk_orientable_set_orientation()
+ https://bugs.webkit.org/show_bug.cgi?id=26835
+
+ * GtkLauncher/main.c:
+ (create_toolbar):
+
+2009-06-30 Eric Seidel <eric@webkit.org>
+
+ Typo fix only, no review.
+
+ Fix typo causing failure during land-diff
+
+ * Scripts/bugzilla-tool:
+
+2009-06-30 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Fix drawing of view background in pixel snapshots when using compositing.
+ We still need to call -displayIfNeeded to ensure that the NSView drawing
+ has happened.
+
+ * DumpRenderTree/mac/PixelDumpSupportMac.mm:
+ (createBitmapContextFromWebView):
+
+2009-06-30 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ createBitmapContextFromWebView() incorrectly used #ifdef BUILDING_ON_LEOPARD,
+ and thus failed on SnowLeopard.
+
+ * DumpRenderTree/mac/PixelDumpSupportMac.mm:
+ (createBitmapContextFromWebView):
+
+2009-06-30 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ Make bugzilla tool print a message explaining how to get help on failure:
+ https://bugs.webkit.org/show_bug.cgi?id=26861
+
+ % bugzilla-tool
+ Usage: bugzilla-tool [options] command [command-options] [command-arguments]
+
+ bugzilla-tool: error: No command specified
+
+ Type 'bugzilla-tool --help' to see usage.
+
+ * Scripts/bugzilla-tool:
+
+2009-06-30 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Include a built copy of BeautifulSoup 3.1.0.1 so that
+ bugzilla-tool users do not need to install it manually.
+ https://bugs.webkit.org/show_bug.cgi?id=26833
+
+ BeautifulSoup is BSD-licensed (thus WebKit compatible) and available from:
+ http://www.crummy.com/software/BeautifulSoup
+
+ * Scripts/bugzilla-tool: fixed a typo in a log message.
+ * Scripts/modules/BeautifulSoup.py: Added.
+ * Scripts/modules/bugzilla.py:
+
+2009-06-30 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ Fix our create_patch handling to not
+ hang when creating large patches.
+ https://bugs.webkit.org/show_bug.cgi?id=26834
+
+ We're now using StringIO to make an in-memory buffer for the patch
+ instead of piping from the patch command directly to the upload.
+ The previous hang was caused by calling wait() when the process had already
+ filed the stdout buffer.
+
+ * Scripts/modules/scm.py:
+
+2009-06-29 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Remove more unused scons support.
+
+ * Scripts/build-jsc:
+ * Scripts/build-webkit:
+ * Scripts/webkitdirs.pm:
+
+2009-06-26 Eric Seidel <eric@webkit.org>
+
+ Reviewed by David Levin.
+
+ Rename land-and-update to land-diff and make it awesome.
+ https://bugs.webkit.org/show_bug.cgi?id=26734
+
+ Renamed land-and-update to land-diff
+ Made the BUGID argument optional.
+ Added optional support for building and testing before landing.
+
+ land-diff [options] [BUGID] Lands the current working directory diff and updates the bug if provided.
+ Options:
+ -r REVIEWER, --reviewer=REVIEWER
+ Update ChangeLogs to say Reviewed by REVIEWER.
+ --no-close Leave bug open after landing.
+ --no-build Commit without building first, implies --no-test.
+ --no-test Commit without running run-webkit-tests.
+
+ * Scripts/bugzilla-tool:
+
+2009-06-28 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Gtk build fix - include stdarg.h for va_start/va_end.
+
+ * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
+
+2009-06-28 John Abd-El-Malek <jam@chromium.org>
+
+ https://bugs.webkit.org/show_bug.cgi?id=15457
+
+ Modify NPAPI test plugin to verify that "src" paramater is added when
+ it's missing but "data" is present.
+
+ * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
+ (pluginLog):
+ * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.h:
+ * DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp:
+ (NPP_New):
+ (NPP_Destroy):
+ (NPP_SetWindow):
+ (handleEventCarbon):
+ (handleEventCocoa):
+ * DumpRenderTree/win/TestNetscapePlugin/main.cpp:
+ (NPP_New):
+
+2009-06-27 Emilio Pozuelo Monfort <pochu27@gmail.com>
+
+ Reviewed by Jan Alonzo.
+
+ [GTK] Don't use deprecated GTK+ symbols.
+ https://bugs.webkit.org/show_bug.cgi?id=26583
+
+ * GtkLauncher/main.c:
+ (create_toolbar):
+
+2009-06-26 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Make SVN work (again?).
+
+ * Scripts/modules/scm.py:
+
+2009-06-26 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Add ability to query isEnabled
+
+ * DumpRenderTree/AccessibilityUIElement.cpp:
+ (getIsEnabledCallback):
+ (AccessibilityUIElement::getJSClass):
+ * DumpRenderTree/AccessibilityUIElement.h:
+ * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+ (AccessibilityUIElement::isEnabled):
+ * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
+ (AccessibilityUIElement::isEnabled):
+
+2009-06-26 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig
+
+ <rdar://problem/6961578> REGRESSION (r43511): Opening .fdf files from Acrobat Professional fails
+
+ Add a dumpResourceResponseMIMETypes() mode so the ResourceLoadDelegate will dump the mime type from
+ the NSURLResponse. Needed for the test for this bug fix.
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (LayoutTestController::LayoutTestController):
+ (dumpResourceResponseMIMETypesCallback):
+ (LayoutTestController::staticFunctions):
+ * DumpRenderTree/LayoutTestController.h:
+ (LayoutTestController::dumpResourceResponseMIMETypes):
+ (LayoutTestController::setDumpResourceResponseMIMETypes):
+
+ * DumpRenderTree/mac/ResourceLoadDelegate.mm:
+ (-[ResourceLoadDelegate webView:resource:didReceiveResponse:fromDataSource:]):
+
+2009-06-26 David Kilzer <ddkilzer@apple.com>
+
+ Update build-dumprendertree to use buildXCodeProject()
+
+ Reviewed by Adam Roben.
+
+ * Scripts/build-dumprendertree: Updated to use
+ buildXCodeProject() when building for isAppleMacWebKit(). This
+ provides additional command-line switch parsing for free. Also
+ added --clean and --help switches. Updated copyright.
+
+2009-06-26 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Remove non-sense --update option to land-patches
+ and make land-patches update before every patch application.
+ This makes it slightly less likely that multi-patch landings will fail.
+
+ Also updated git diff command to include staged modifications.
+
+ * Scripts/bugzilla-tool:
+ * Scripts/modules/scm.py:
+
+2009-06-25 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Jan Alonzo.
+
+ Fix obsolete_attachment to work when passed a comment.
+ https://bugs.webkit.org/show_bug.cgi?id=26745
+
+ * Scripts/modules/bugzilla.py:
+
+2009-06-25 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ bugzilla-tool apply-patch throws exception in Linux
+ https://bugs.webkit.org/show_bug.cgi?id=26738
+
+ HEAD is case-sensitive in Linux. Convert uses of head to HEAD in
+ the scm module.
+
+ * Scripts/modules/scm.py:
+
+2009-06-25 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Jan Alonzo.
+
+ bugzilla-tool post-diff needs to obsolete old patches before posting
+ https://bugs.webkit.org/show_bug.cgi?id=26740
+
+ I've also added a --no-obsolete to disable this behavior.
+
+ I also finally updated the bug page parsing to use XML. So much less code!
+
+ * Scripts/bugzilla-tool:
+ * Scripts/modules/bugzilla.py:
+
+2009-06-25 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Call WebKitTools/Scripts scripts by their absolute paths
+ https://bugs.webkit.org/show_bug.cgi?id=26704
+
+ bugzilla-tool used to use whatever build-webkit was in your path.
+ That could end up building the wrong copy of WebKit.
+
+ * Scripts/bugzilla-tool:
+ * Scripts/modules/scm.py:
+
+2009-06-25 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Dave Levin.
+
+ Use unicode() instead of str when reading from bugzilla.
+ Also add Simon Fraser as a reviewer.
+ https://bugs.webkit.org/show_bug.cgi?id=26719
+
+ * Scripts/modules/bugzilla.py:
+
+2009-06-25 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Use Q_ASSERT in Qt's DumpRenderTree instead of JSC's ASSERT
+
+ The WTFReportAssertionFailure function in JSC is not exported when
+ building QtWebKit in both debug and release on Mac, so DRT fails to
+ link.
+
+ We can revert this patch once the Qt port builds JSC as a separate
+ library, and we add the proper export macros to Assertions.cpp
+
+ * DumpRenderTree/qt/WorkQueue.cpp:
+ (WorkQueue::queue):
+ (WorkQueue::dequeue):
+
+2009-06-25 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Jan Alonzo.
+
+ bugzilla-tool: Add Simon Hausmann as reviewer
+
+ * Scripts/modules/bugzilla.py:
+
+2009-06-24 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Dave Levin.
+
+ Support local commits during apply-patches
+ and let land-patches take multiple bug ids.
+ https://bugs.webkit.org/show_bug.cgi?id=26703
+
+ I also restructured parts of land-patches into
+ class methods and static methods in preparation
+ for future code sharing with other commands.
+
+ * Scripts/bugzilla-tool:
+ * Scripts/modules/bugzilla.py:
+ * Scripts/modules/scm.py:
+
+2009-06-25 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Make svn-apply work with Git too
+ https://bugs.webkit.org/show_bug.cgi?id=26299
+
+ Add an --force option to svn-apply and otherwise make svn-apply
+ exit non-zero when patch application fails.
+ https://bugs.webkit.org/show_bug.cgi?id=26300
+
+ I did not update svn-unapply, because it makes no sense in a Git world.
+ You don't roll in and out patch files. You make commits and deal with those.
+ Git users can just git reset --hard to get the same functionality.
+
+ * Scripts/svn-apply:
+
+2009-06-25 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Remove use of os.system to fix reviewers with unicode chars in their names
+ https://bugs.webkit.org/show_bug.cgi?id=26713
+
+ Also change to latin1 encoding of ø to make python happy.
+
+ * Scripts/modules/bugzilla.py:
+ * Scripts/modules/scm.py:
+
+2009-06-25 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Add Adam Roben and Tor Arne Vestbø to the reviewers list.
+
+ * Scripts/modules/bugzilla.py:
+
+2009-06-24 Chris Fleizach <cfleizach@apple.com>
+
+ Windows build fix.
+
+ * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
+ (AccessibilityUIElement::language):
+
+2009-06-24 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Bug 26668: AX: need a way to retrieve the language for an element
+ Support ability to retrieve AXLanguage for testing
+
+ * DumpRenderTree/AccessibilityUIElement.cpp:
+ (getLanguageCallback):
+ (AccessibilityUIElement::getJSClass):
+ * DumpRenderTree/AccessibilityUIElement.h:
+ * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+ (AccessibilityUIElement::language):
+
+2009-06-24 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Spell Maciej's name right and add Brady Eidson.
+
+ * Scripts/modules/bugzilla.py:
+
+2009-06-23 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Dave Levin.
+
+ Fix missing comment message during land-patches and SVN.commit_with_message respecting --dry-run
+ https://bugs.webkit.org/show_bug.cgi?id=26669
+
+ * Scripts/bugzilla-tool:
+ * Scripts/modules/scm.py:
+
+2009-06-23 Takeshi Yoshino <tyoshino@google.com>
+
+ Reviewed by Mark Rowe.
+
+ Bug 26537: Builds from command-line fail if custom build product directory is set and ~/Library/Preferences/xcodebuild.plist exists
+ https://bugs.webkit.org/show_bug.cgi?id=26537
+
+ Let determineBaseProductDir subroutine remove
+ ~/Library/Preferences/xcodebuild.plist. It can prevent xcodebuild from
+ respecting global settings such as a custom build products directory
+ (<rdar://problem/5585899>).
+
+ * Scripts/webkitdirs.pm:
+
+2009-06-23 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Dave Levin.
+
+ Make SCM.run_command smarter, and make all previous
+ os.system and subprocess.popen use SCM.run_command instead.
+ https://bugs.webkit.org/show_bug.cgi?id=26666
+
+ This makes it easier to handle errors in a standard way throughout all the code.
+ Since this new code raises by default when the exit_code != 0,
+ we should prevent future problems of bugzilla-tool continuing after
+ a git or svn command failed.
+
+ * Scripts/modules/scm.py:
+
+2009-06-23 Joe Mason <joe.mason@torchmobile.com>
+
+ Reviewed by Adam Treat.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26664
+ * Scripts/prepare-ChangeLog: Added --git-index mode to list only the
+ changes which are already staged in the index. Useful to create an
+ entry for what you're about to commit while ignoring unstaged changes.
+
+2009-06-23 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Update for WebKit changes.
+
+ * DumpRenderTree/win/UIDelegate.h:
+ (UIDelegate::willPerformDragSourceAction):
+
+2009-06-23 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ * Scripts/modules/scm.py: Fix commit_with_message to return the commit output.
+
+2009-06-23 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ * Scripts/modules/scm.py: Fix error seen when commiting r44979.
+
+2009-06-18 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Dave Levin.
+
+ WebKit needs a script to interact with bugzilla and automate
+ parts of the patch posting and commit processes.
+ https://bugs.webkit.org/show_bug.cgi?id=26283
+
+ This is really a first-draft tool.
+ It's to the point where it's useful to more people than just me now though.
+ Git support works. SVN support is written, but mostly untested.
+
+ This tool requires BeautifulSoup and mechanize python modules to run:
+ sudo easy_install BeautifulSoup
+ sudo easy_install mechanize
+
+ More important than the tool itself are the Bugzilla, Git and SVN class abstractions
+ which I hope will allow easy writing of future tools.
+
+ The tool currently implements 10 commands, described below.
+
+ Helpers for scripting dealing with the commit queue:
+ bugs-to-commit Bugs in the commit queue
+ patches-to-commit Patches attached to bugs in the commit queue
+
+ Dealing with bugzilla:
+ reviewed-patches BUGID r+'d patches on a bug
+ apply-patches BUGID Applies all patches on a bug to the local working directory without committing.
+ land-and-update BUGID Lands the current working directory diff and updates the bug.
+ land-patches [options] BUGID Lands all patches on a bug optionally testing them first
+ obsolete-attachments BUGID Marks all attachments on a bug as obsolete.
+ commit-message Prints a commit message suitable for the uncommitted changes.
+
+ These effectively replace git-send-bugzilla:
+ post-diff BUGID Attaches the current working directory diff to a bug as a patch file.
+ post-commits BUGID COMMITISH Attaches a range of local commits to a bug as patch files.
+
+ post-diff works for SVN and Git, post-commits only works for SCMs with local-commit support (like Git)
+
+ land-* commands in a Git environment only work with simple patches due to svn-apply bugs:
+ https://bugs.webkit.org/show_bug.cgi?id=26299
+ https://bugs.webkit.org/show_bug.cgi?id=26300
+
+ This script follows python style (similar to how for Obj-C we follow AppKit style)
+ http://www.python.org/doc/essays/styleguide.html
+ The Python community has a strong style culture and the WebKit style guide is silent re: Python.
+
+ I've filed a bug to update the WebKit style guide to mention python:
+ https://bugs.webkit.org/show_bug.cgi?id=26524
+
+ * Scripts/bugzilla-tool: Added.
+
+2009-06-22 Steve Falkenburg <sfalken@apple.com>
+
+ Remove errant line of code mistakenly checked in.
+
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (main):
+
+2009-06-22 Steve Falkenburg <sfalken@apple.com>
+
+ Pass correct value to setShouldPaintNativeControls.
+
+ Rubber stamped by Mark Rowe.
+
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (main):
+
+2009-06-22 Steve Falkenburg <sfalken@apple.com>
+
+ Fix last DumpRenderTree change to correctly set preferences flag without crashing.
+
+ Reviewed by Mark Rowe.
+
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (main):
+
+2009-06-21 Steve Falkenburg <sfalken@apple.com>
+
+ Set up global native controls flag before creating the first WebView.
+
+ Reviewed by Darin Adler.
+
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (main):
+
+2009-06-21 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Set a sensible user agent string for the HTTP requests that Sparkle makes (checking for and downloading updates).
+
+ * WebKitLauncher/WebKitNightlyEnablerSparkle.m:
+ (userAgentStringForSparkle):
+ (initializeSparkle):
+
+2009-06-21 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add a hook to the WebKit launcher application to allow a link on the nightly build start page to
+ trigger an update via the built-in software update mechanism.
+
+ * WebKitLauncher/WebKitLauncher.xcodeproj/project.pbxproj:
+ * WebKitLauncher/WebKitLauncherURLProtocol.h: Added.
+ * WebKitLauncher/WebKitLauncherURLProtocol.m: Added.
+ (+[WebKitLauncherURLProtocol load]):
+ (+[WebKitLauncherURLProtocol canInitWithRequest:]): Only allow use of the x-webkit-launcher scheme from .webkit.org subdomains.
+ (+[WebKitLauncherURLProtocol canonicalRequestForRequest:]):
+ (-[WebKitLauncherURLProtocol startLoading]):
+ (-[WebKitLauncherURLProtocol stopLoading]):
+ (-[WebKitLauncherURLProtocol handleIsWebKitLauncherAvailableJS]): Return a brief JavaScript snippet that can be used to programatically
+ determine whether the x-webkit-launcher is available and working.
+ (-[WebKitLauncherURLProtocol handleCheckForUpdates]): Trigger a software update on the main thread.
+ (-[WebKitLauncherURLProtocol resourceNotFound]): Fail with a generic "File does not exist" error.
+
+2009-06-20 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Reviewed by Gustavo Noronha and Xan Lopez.
+
+ [Gtk] Implement DRT XSS auditor support
+ https://bugs.webkit.org/show_bug.cgi?id=26571
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (resetWebViewToConsistentStateBeforeTesting):
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::setXSSAuditorEnabled):
+
+2009-06-19 Darin Adler <darin@apple.com>
+
+ * Scripts/do-webcore-rename: More renaming ideas.
+
+2009-06-15 Andre Pedralho <andre.pedralho@openbossa.org>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Only pass --makeargs along if an argument is given.
+
+ * Scripts/build-webkit:
+
+2009-06-19 Adam Barth <abarth@webkit.org>
+
+ Unreviewed attempt to fix Windows build.
+
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (resetWebViewToConsistentStateBeforeTesting):
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::setXSSAuditorEnabled):
+
+2009-06-18 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26199
+
+ Add support for testing the XSSAuditor.
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (setXSSAuditorEnabledCallback):
+ (LayoutTestController::staticFunctions):
+ * DumpRenderTree/LayoutTestController.h:
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::setXSSAuditorEnabled):
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (resetWebViewToConsistentStateBeforeTesting):
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (LayoutTestController::setXSSAuditorEnabled):
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (resetWebViewToConsistentStateBeforeTesting):
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::setXSSAuditorEnabled):
+ (LayoutTestController::setPopupBlockingEnabled):
+ * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
+ (LayoutTestController::setXSSAuditorEnabled):
+
+2009-06-18 Darin Adler <darin@apple.com>
+
+ Rubber stamped by Mark Rowe.
+
+ * DumpRenderTree/mac/DumpRenderTreeWindow.mm:
+ (-[DumpRenderTreeWindow close]): Resolved crashes seen during regression
+ tests. The close method can be called on a window that's already closed
+ so we can't assert here.
+
+2009-06-17 Steve Falkenburg <sfalken@apple.com>
+
+ Updated for consolidated WebKit COM interfaces.
+
+ Reviewed by Adam Roben.
+
+ * DumpRenderTree/win/FrameLoadDelegate.cpp:
+ * DumpRenderTree/win/FrameLoadDelegate.h:
+ * DumpRenderTree/win/UIDelegate.cpp:
+ * DumpRenderTree/win/UIDelegate.h:
+ * WinLauncher/WinLauncher.h:
+
+2009-06-16 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26437
+
+ Make the commit-log-editor match the ambient line endings in commit
+ messages.
+
+ * Scripts/commit-log-editor:
+
+2009-06-16 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ Update GtkLauncher to recent API changes in the progress property,
+ which now goes from 0.0 to 1.0.
+
+ * GtkLauncher/main.c:
+
+2009-06-16 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26000
+
+ Teach prepare-ChangeLog to match the line ends that are already present
+ in ChangeLog files. This helps folks whose use cygwin perl with CR LF
+ line endings on Windows.
+
+ Also, teach prepare-ChangeLog to normalize backslashes in paths. This
+ helps folks who use Windows SVN prepare correct ChangeLogs.
+
+ * Scripts/prepare-ChangeLog:
+
+== Rolled over to ChangeLog-2009-06-16 ==
diff --git a/WebKitTools/DumpRenderTree/DumpRenderTree.gypi b/WebKitTools/DumpRenderTree/DumpRenderTree.gypi
index 693f02e..280c8dd 100644
--- a/WebKitTools/DumpRenderTree/DumpRenderTree.gypi
+++ b/WebKitTools/DumpRenderTree/DumpRenderTree.gypi
@@ -20,6 +20,8 @@
'chromium/NotificationPresenter.cpp',
'chromium/PlainTextController.cpp',
'chromium/PlainTextController.h',
+ 'chromium/TestEventPrinter.h',
+ 'chromium/TestEventPrinter.cpp',
'chromium/TestNavigationController.cpp',
'chromium/TestNavigationController.h',
'chromium/TestShell.cpp',
diff --git a/WebKitTools/DumpRenderTree/chromium/DumpRenderTree.cpp b/WebKitTools/DumpRenderTree/chromium/DumpRenderTree.cpp
index 8f292ed..b0cff82 100644
--- a/WebKitTools/DumpRenderTree/chromium/DumpRenderTree.cpp
+++ b/WebKitTools/DumpRenderTree/chromium/DumpRenderTree.cpp
@@ -45,17 +45,38 @@ static const char optionPixelTests[] = "--pixel-tests";
static const char optionThreaded[] = "--threaded";
static const char optionTree[] = "--tree";
-static void runTest(TestShell& shell, TestParams& params, const string& testName)
+static const char optionPixelTestsWithName[] = "--pixel-tests=";
+static const char optionTestShell[] = "--test-shell";
+
+static void runTest(TestShell& shell, TestParams& params, const string& testName, bool testShellMode)
{
+ int oldTimeoutMsec = shell.layoutTestTimeout();
+ params.pixelHash = "";
string pathOrURL = testName;
- string::size_type separatorPosition = pathOrURL.find("'");
- if (separatorPosition != string::npos) {
- params.pixelHash = pathOrURL.substr(separatorPosition + 1);
- pathOrURL.erase(separatorPosition);
+ if (testShellMode) {
+ string timeOut;
+ string::size_type separatorPosition = pathOrURL.find(' ');
+ if (separatorPosition != string::npos) {
+ timeOut = pathOrURL.substr(separatorPosition + 1);
+ pathOrURL.erase(separatorPosition);
+ separatorPosition = timeOut.find_first_of(' ');
+ if (separatorPosition != string::npos) {
+ params.pixelHash = timeOut.substr(separatorPosition + 1);
+ timeOut.erase(separatorPosition);
+ }
+ shell.setLayoutTestTimeout(atoi(timeOut.c_str()));
+ }
+ } else {
+ string::size_type separatorPosition = pathOrURL.find("'");
+ if (separatorPosition != string::npos) {
+ params.pixelHash = pathOrURL.substr(separatorPosition + 1);
+ pathOrURL.erase(separatorPosition);
+ }
}
params.testUrl = webkit_support::CreateURLForPathOrURL(pathOrURL);
shell.resetTestController();
shell.runFileTest(params);
+ shell.setLayoutTestTimeout(oldTimeoutMsec);
}
int main(int argc, char* argv[])
@@ -66,6 +87,7 @@ int main(int argc, char* argv[])
TestParams params;
Vector<string> tests;
bool serverMode = false;
+ bool testShellMode = false;
for (int i = 1; i < argc; ++i) {
string argument(argv[i]);
if (argument == "-")
@@ -74,14 +96,24 @@ int main(int argc, char* argv[])
params.dumpTree = false;
else if (argument == optionPixelTests)
params.dumpPixels = true;
- else if (argument.size() && argument[0] == '-')
+ else if (!argument.find(optionPixelTestsWithName)) {
+ params.dumpPixels = true;
+ params.pixelFileName = argument.substr(strlen(optionPixelTestsWithName));
+ } else if (argument == optionTestShell) {
+ testShellMode = true;
+ serverMode = true;
+ } else if (argument.size() && argument[0] == '-')
fprintf(stderr, "Unknown option: %s\n", argv[i]);
else
tests.append(argument);
}
+ if (testShellMode && params.dumpPixels && params.pixelFileName.empty()) {
+ fprintf(stderr, "--pixel-tests with --test-shell requires a file name.\n");
+ return EXIT_FAILURE;
+ }
{ // Explicit scope for the TestShell instance.
- TestShell shell;
+ TestShell shell(testShellMode);
if (serverMode && !tests.size()) {
params.printSeparators = true;
char testString[2048]; // 2048 is the same as the sizes of other platforms.
@@ -91,14 +123,14 @@ int main(int argc, char* argv[])
*newLinePosition = '\0';
if (testString[0] == '\0')
continue;
- runTest(shell, params, testString);
+ runTest(shell, params, testString, testShellMode);
}
} else if (!tests.size())
printf("#EOF\n");
else {
params.printSeparators = tests.size() > 1;
for (unsigned i = 0; i < tests.size(); i++)
- runTest(shell, params, tests[i]);
+ runTest(shell, params, tests[i], testShellMode);
}
shell.callJSGC();
diff --git a/WebKitTools/DumpRenderTree/chromium/LayoutTestHelperWin.cpp b/WebKitTools/DumpRenderTree/chromium/LayoutTestHelperWin.cpp
new file mode 100644
index 0000000..25efdcd
--- /dev/null
+++ b/WebKitTools/DumpRenderTree/chromium/LayoutTestHelperWin.cpp
@@ -0,0 +1,84 @@
+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <signal.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <windows.h>
+
+static BOOL fontSmoothingEnabled = FALSE;
+
+static void saveInitialSettings(void)
+{
+ ::SystemParametersInfo(SPI_GETFONTSMOOTHING, 0, &fontSmoothingEnabled, 0);
+}
+
+// Technically, all we need to do is disable ClearType. However,
+// for some reason, the call to SPI_SETFONTSMOOTHINGTYPE doesn't
+// seem to work, so we just disable font smoothing all together
+// (which works reliably)
+static void installLayoutTestSettings(void)
+{
+ ::SystemParametersInfo(SPI_SETFONTSMOOTHING, FALSE, 0, 0);
+}
+
+static void restoreInitialSettings(void)
+{
+ ::SystemParametersInfo(SPI_SETFONTSMOOTHING, static_cast<UINT>(fontSmoothingEnabled), 0, 0);
+}
+
+static void simpleSignalHandler(int signalNumber)
+{
+ // Try to restore the settings and then go down cleanly
+ restoreInitialSettings();
+ exit(128 + signalNumber);
+}
+
+int main(int, char*[])
+{
+ // Hooks the ways we might get told to clean up...
+ signal(SIGINT, simpleSignalHandler);
+ signal(SIGTERM, simpleSignalHandler);
+
+ saveInitialSettings();
+
+ installLayoutTestSettings();
+
+ // Let the script know we're ready
+ printf("ready\n");
+ fflush(stdout);
+
+ // Wait for any key (or signal)
+ getchar();
+
+ restoreInitialSettings();
+
+ return EXIT_SUCCESS;
+}
diff --git a/WebKitTools/DumpRenderTree/chromium/NotificationPresenter.cpp b/WebKitTools/DumpRenderTree/chromium/NotificationPresenter.cpp
index 501b513..86903be 100644
--- a/WebKitTools/DumpRenderTree/chromium/NotificationPresenter.cpp
+++ b/WebKitTools/DumpRenderTree/chromium/NotificationPresenter.cpp
@@ -52,11 +52,23 @@ void NotificationPresenter::grantPermission(const WebString& origin)
// The output from all these methods matches what DumpRenderTree produces.
bool NotificationPresenter::show(const WebNotification& notification)
{
+ if (!notification.replaceId().isEmpty()) {
+ String replaceId(notification.replaceId().data(), notification.replaceId().length());
+ if (m_replacements.find(replaceId) != m_replacements.end())
+ printf("REPLACING NOTIFICATION %s\n",
+ m_replacements.find(replaceId)->second.utf8().data());
+
+ WebString identifier = notification.isHTML() ?
+ notification.url().spec().utf16() : notification.title();
+ m_replacements.set(replaceId, String(identifier.data(), identifier.length()));
+ }
+
if (notification.isHTML()) {
printf("DESKTOP NOTIFICATION: contents at %s\n",
notification.url().spec().data());
} else {
- printf("DESKTOP NOTIFICATION: icon %s, title %s, text %s\n",
+ printf("DESKTOP NOTIFICATION:%s icon %s, title %s, text %s\n",
+ notification.dir() == "rtl" ? "(RTL)" : "",
notification.iconURL().isEmpty() ? "" :
notification.iconURL().spec().data(),
notification.title().isEmpty() ? "" :
diff --git a/WebKitTools/DumpRenderTree/chromium/TestEventPrinter.cpp b/WebKitTools/DumpRenderTree/chromium/TestEventPrinter.cpp
new file mode 100644
index 0000000..929656d
--- /dev/null
+++ b/WebKitTools/DumpRenderTree/chromium/TestEventPrinter.cpp
@@ -0,0 +1,167 @@
+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "TestEventPrinter.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <wtf/Assertions.h>
+
+class DRTPrinter : public TestEventPrinter {
+public:
+ DRTPrinter() {}
+ void handleTestHeader(const char* url) const;
+ void handleTimedOut() const;
+ void handleTextHeader() const;
+ void handleTextFooter() const;
+ void handleImage(const char* actualHash, const char* expectedHash, const unsigned char* imageData, size_t imageSize, const char* fileName) const;
+ void handleImageFooter() const;
+ void handleTestFooter(bool dumpedAnything) const;
+};
+
+class TestShellPrinter : public TestEventPrinter {
+public:
+ TestShellPrinter() {}
+ void handleTestHeader(const char* url) const;
+ void handleTimedOut() const;
+ void handleTextHeader() const;
+ void handleTextFooter() const;
+ void handleImage(const char* actualHash, const char* expectedHash, const unsigned char* imageData, size_t imageSize, const char* fileName) const;
+ void handleImageFooter() const;
+ void handleTestFooter(bool dumpedAnything) const;
+};
+
+TestEventPrinter* TestEventPrinter::createDRTPrinter()
+{
+ return new DRTPrinter;
+}
+
+TestEventPrinter* TestEventPrinter::createTestShellPrinter()
+{
+ return new TestShellPrinter;
+}
+
+// ----------------------------------------------------------------
+
+void DRTPrinter::handleTestHeader(const char*) const
+{
+}
+
+void DRTPrinter::handleTimedOut() const
+{
+ fprintf(stderr, "FAIL: Timed out waiting for notifyDone to be called\n");
+ fprintf(stdout, "FAIL: Timed out waiting for notifyDone to be called\n");
+}
+
+void DRTPrinter::handleTextHeader() const
+{
+ printf("Content-Type: text/plain\n");
+}
+
+void DRTPrinter::handleTextFooter() const
+{
+ printf("#EOF\n");
+}
+
+void DRTPrinter::handleImage(const char* actualHash, const char* expectedHash, const unsigned char* imageData, size_t imageSize, const char*) const
+{
+ ASSERT(actualHash);
+ printf("\nActualHash: %s\n", actualHash);
+ if (expectedHash && expectedHash[0])
+ printf("\nExpectedHash: %s\n", expectedHash);
+ if (imageData && imageSize) {
+ printf("Content-Type: image/png\n");
+ printf("Content-Length: %lu\n", imageSize);
+ if (fwrite(imageData, 1, imageSize, stdout) != imageSize) {
+ fprintf(stderr, "Short write to stdout.\n");
+ exit(1);
+ }
+ }
+}
+
+void DRTPrinter::handleImageFooter() const
+{
+ printf("#EOF\n");
+}
+
+void DRTPrinter::handleTestFooter(bool) const
+{
+}
+
+// ----------------------------------------------------------------
+
+void TestShellPrinter::handleTestHeader(const char* url) const
+{
+ printf("#URL:%s\n", url);
+}
+
+void TestShellPrinter::handleTimedOut() const
+{
+ puts("#TEST_TIMED_OUT\n");
+}
+
+void TestShellPrinter::handleTextHeader() const
+{
+}
+
+void TestShellPrinter::handleTextFooter() const
+{
+}
+
+void TestShellPrinter::handleImage(const char* actualHash, const char*, const unsigned char* imageData, size_t imageSize, const char* fileName) const
+{
+ ASSERT(actualHash);
+ if (imageData && imageSize) {
+ ASSERT(fileName);
+ FILE* fp = fopen(fileName, "wb");
+ if (fp) {
+ perror(fileName);
+ exit(EXIT_FAILURE);
+ }
+ if (fwrite(imageData, 1, imageSize, fp) != imageSize) {
+ perror(fileName);
+ fclose(fp);
+ exit(EXIT_FAILURE);
+ }
+ fclose(fp);
+ }
+ printf("#MD5:%s\n", actualHash);
+}
+
+void TestShellPrinter::handleImageFooter() const
+{
+}
+
+void TestShellPrinter::handleTestFooter(bool dumpedAnything) const
+{
+ if (dumpedAnything)
+ printf("#EOF\n");
+}
diff --git a/WebKitTools/DumpRenderTree/chromium/TestEventPrinter.h b/WebKitTools/DumpRenderTree/chromium/TestEventPrinter.h
new file mode 100644
index 0000000..fdbfd02
--- /dev/null
+++ b/WebKitTools/DumpRenderTree/chromium/TestEventPrinter.h
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+class TestEventPrinter {
+public:
+ static TestEventPrinter* createDRTPrinter();
+ static TestEventPrinter* createTestShellPrinter();
+
+ virtual void handleTestHeader(const char* url) const = 0;
+ virtual void handleTimedOut() const = 0;
+ virtual void handleTextHeader() const = 0;
+ virtual void handleTextFooter() const = 0;
+ virtual void handleImage(const char* actualHash, const char* expectedHash, const unsigned char* imageData, size_t imageSize, const char* fileName) const = 0;
+ virtual void handleImageFooter() const = 0;
+ virtual void handleTestFooter(bool dumpedAnything) const = 0;
+};
diff --git a/WebKitTools/DumpRenderTree/chromium/TestShell.cpp b/WebKitTools/DumpRenderTree/chromium/TestShell.cpp
index 29bd596..761f8d1 100644
--- a/WebKitTools/DumpRenderTree/chromium/TestShell.cpp
+++ b/WebKitTools/DumpRenderTree/chromium/TestShell.cpp
@@ -75,10 +75,11 @@ static const char fileTestPrefix[] = "(file test):";
static const char dataUrlPattern[] = "data:";
static const string::size_type dataUrlPatternSize = sizeof(dataUrlPattern) - 1;
-TestShell::TestShell()
+TestShell::TestShell(bool testShellMode)
: m_testIsPending(false)
, m_testIsPreparing(false)
, m_focusedWidget(0)
+ , m_testShellMode(testShellMode)
{
WebRuntimeFeatures::enableGeolocation(true);
m_accessibilityController.set(new AccessibilityController(this));
@@ -87,6 +88,13 @@ TestShell::TestShell()
m_plainTextController.set(new PlainTextController());
m_textInputController.set(new TextInputController(this));
m_notificationPresenter.set(new NotificationPresenter(this));
+ m_printer.set(m_testShellMode ? TestEventPrinter::createTestShellPrinter() : TestEventPrinter::createDRTPrinter());
+
+ // 30 second is the same as the value in Mac DRT.
+ // If we use a value smaller than the timeout value of
+ // (new-)run-webkit-tests, (new-)run-webkit-tests misunderstands that a
+ // timed-out DRT process was crashed.
+ m_timeout = 30 * 1000;
m_webViewHost = createWebView();
m_webView = m_webViewHost->webView();
@@ -174,6 +182,12 @@ void TestShell::resetWebSettings(WebView& webView)
settings->setLoadsImagesAutomatically(true);
settings->setImagesEnabled(true);
+
+#if OS(DARWIN)
+ settings->setEditingBehavior(WebSettings::EditingBehaviorMac);
+#else
+ settings->setEditingBehavior(WebSettings::EditingBehaviorWin);
+#endif
}
void TestShell::runFileTest(const TestParams& params)
@@ -186,6 +200,7 @@ void TestShell::runFileTest(const TestParams& params)
bool inspectorTestMode = testUrl.find("/inspector/") != string::npos
|| testUrl.find("\\inspector\\") != string::npos;
m_webView->settings()->setDeveloperExtrasEnabled(inspectorTestMode);
+ m_printer->handleTestHeader(testUrl.c_str());
loadURL(m_params.testUrl);
m_testIsPreparing = false;
@@ -277,8 +292,7 @@ void TestShell::testFinished()
void TestShell::testTimedOut()
{
- fprintf(stderr, "FAIL: Timed out waiting for notifyDone to be called\n");
- fprintf(stdout, "FAIL: Timed out waiting for notifyDone to be called\n");
+ m_printer->handleTimedOut();
testFinished();
}
@@ -428,7 +442,7 @@ void TestShell::dump()
bool dumpedAnything = false;
if (m_params.dumpTree) {
dumpedAnything = true;
- printf("Content-Type: text/plain\n");
+ m_printer->handleTextHeader();
// Text output: the test page can request different types of output
// which we handle here.
if (!shouldDumpAsText) {
@@ -450,7 +464,7 @@ void TestShell::dump()
printf("%s", dumpAllBackForwardLists().c_str());
}
if (dumpedAnything && m_params.printSeparators)
- printf("#EOF\n");
+ m_printer->handleTextFooter();
if (m_params.dumpPixels && !shouldDumpAsText) {
// Image output: we write the image data to the file given on the
@@ -491,14 +505,15 @@ void TestShell::dump()
}
}
- string md5sum = dumpImage(m_webViewHost->canvas(), m_params.pixelHash);
+ dumpImage(m_webViewHost->canvas());
}
- printf("#EOF\n"); // For the image.
+ m_printer->handleImageFooter();
+ m_printer->handleTestFooter(dumpedAnything);
fflush(stdout);
fflush(stderr);
}
-string TestShell::dumpImage(skia::PlatformCanvas* canvas, const string& expectedHash)
+void TestShell::dumpImage(skia::PlatformCanvas* canvas) const
{
skia::BitmapPlatformDevice& device =
static_cast<skia::BitmapPlatformDevice&>(canvas->getTopPlatformDevice());
@@ -532,13 +547,10 @@ string TestShell::dumpImage(skia::PlatformCanvas* canvas, const string& expected
MD5Digest digest;
MD5Final(&digest, &ctx);
string md5hash = MD5DigestToBase16(digest);
- printf("\nActualHash: %s\n", md5hash.c_str());
- if (!expectedHash.empty())
- printf("\nExpectedHash: %s\n", expectedHash.c_str());
// Only encode and dump the png if the hashes don't match. Encoding the image
// is really expensive.
- if (md5hash.compare(expectedHash)) {
+ if (md5hash.compare(m_params.pixelHash)) {
std::vector<unsigned char> png;
gfx::PNGCodec::ColorFormat colorFormat = gfx::PNGCodec::FORMAT_BGRA;
gfx::PNGCodec::Encode(
@@ -546,14 +558,9 @@ string TestShell::dumpImage(skia::PlatformCanvas* canvas, const string& expected
colorFormat, sourceBitmap.width(), sourceBitmap.height(),
static_cast<int>(sourceBitmap.rowBytes()), discardTransparency, &png);
- printf("Content-Type: image/png\n");
- printf("Content-Length: %lu\n", png.size());
- // Write to disk.
- if (fwrite(&png[0], 1, png.size(), stdout) != png.size())
- FATAL("Short write to stdout.\n");
- }
-
- return md5hash;
+ m_printer->handleImage(md5hash.c_str(), m_params.pixelHash.c_str(), &png[0], png.size(), m_params.pixelFileName.c_str());
+ } else
+ m_printer->handleImage(md5hash.c_str(), m_params.pixelHash.c_str(), 0, 0, m_params.pixelFileName.c_str());
}
void TestShell::bindJSObjectsToWindow(WebFrame* frame)
@@ -565,15 +572,6 @@ void TestShell::bindJSObjectsToWindow(WebFrame* frame)
m_textInputController->bindToJavascript(frame, WebString::fromUTF8("textInputController"));
}
-int TestShell::layoutTestTimeout()
-{
- // 30 second is the same as the value in Mac DRT.
- // If we use a value smaller than the timeout value of
- // (new-)run-webkit-tests, (new-)run-webkit-tests misunderstands that a
- // timed-out DRT process was crashed.
- return 30 * 1000;
-}
-
WebViewHost* TestShell::createWebView()
{
return createNewWindow(WebURL());
@@ -599,6 +597,8 @@ void TestShell::closeWindow(WebViewHost* window)
return;
}
m_windowList.remove(i);
+ if (window->webWidget() == m_focusedWidget)
+ m_focusedWidget = 0;
window->webWidget()->close();
delete window;
}
diff --git a/WebKitTools/DumpRenderTree/chromium/TestShell.h b/WebKitTools/DumpRenderTree/chromium/TestShell.h
index 6dd0198..2b99b3d 100644
--- a/WebKitTools/DumpRenderTree/chromium/TestShell.h
+++ b/WebKitTools/DumpRenderTree/chromium/TestShell.h
@@ -33,6 +33,7 @@
#include "LayoutTestController.h"
#include "NotificationPresenter.h"
#include "PlainTextController.h"
+#include "TestEventPrinter.h"
#include "TextInputController.h"
#include "WebViewHost.h"
#include <string>
@@ -58,6 +59,7 @@ struct TestParams {
bool dumpPixels;
bool printSeparators;
WebKit::WebURL testUrl;
+ // Resultant image file name. Reqruired only if the test_shell mode.
std::string pixelFileName;
std::string pixelHash;
@@ -69,7 +71,7 @@ struct TestParams {
class TestShell {
public:
- TestShell();
+ TestShell(bool testShellMode);
~TestShell();
// The main WebView.
WebKit::WebView* webView() const { return m_webView; }
@@ -79,6 +81,7 @@ public:
EventSender* eventSender() const { return m_eventSender.get(); }
AccessibilityController* accessibilityController() const { return m_accessibilityController.get(); }
NotificationPresenter* notificationPresenter() const { return m_notificationPresenter.get(); }
+ TestEventPrinter* printer() const { return m_printer.get(); }
void bindJSObjectsToWindow(WebKit::WebFrame*);
void runFileTest(const TestParams&);
@@ -110,8 +113,9 @@ public:
#endif
// Get the timeout for running a test in milliseconds.
- static int layoutTestTimeout();
- static int layoutTestTimeoutForWatchDog() { return layoutTestTimeout() + 1000; }
+ int layoutTestTimeout() { return m_timeout; }
+ int layoutTestTimeoutForWatchDog() { return layoutTestTimeout() + 1000; }
+ void setLayoutTestTimeout(int timeout) { m_timeout = timeout; }
WebViewHost* createWebView();
WebViewHost* createNewWindow(const WebKit::WebURL&);
@@ -127,13 +131,14 @@ private:
static void resetWebSettings(WebKit::WebView&);
void dump();
std::string dumpAllBackForwardLists();
- static std::string dumpImage(skia::PlatformCanvas*, const std::string& expectedHash);
+ void dumpImage(skia::PlatformCanvas*) const;
bool m_testIsPending;
bool m_testIsPreparing;
bool m_isLoading;
WebKit::WebView* m_webView;
WebKit::WebWidget* m_focusedWidget;
+ bool m_testShellMode;
WebViewHost* m_webViewHost;
OwnPtr<AccessibilityController*> m_accessibilityController;
OwnPtr<EventSender*> m_eventSender;
@@ -141,7 +146,9 @@ private:
OwnPtr<PlainTextController*> m_plainTextController;
OwnPtr<TextInputController*> m_textInputController;
OwnPtr<NotificationPresenter*> m_notificationPresenter;
+ OwnPtr<TestEventPrinter*> m_printer;
TestParams m_params;
+ int m_timeout; // timeout value in millisecond
// List of all windows in this process.
// The main window should be put into windowList[0].
diff --git a/WebKitTools/DumpRenderTree/chromium/TestShellGtk.cpp b/WebKitTools/DumpRenderTree/chromium/TestShellGtk.cpp
index e31ca0a..4f3eefd 100644
--- a/WebKitTools/DumpRenderTree/chromium/TestShellGtk.cpp
+++ b/WebKitTools/DumpRenderTree/chromium/TestShellGtk.cpp
@@ -32,6 +32,7 @@
#include "TestShell.h"
#include "webkit/support/webkit_support.h"
+#include <fontconfig/fontconfig.h>
#include <signal.h>
static void AlarmHandler(int signatl)
@@ -43,6 +44,127 @@ static void AlarmHandler(int signatl)
exit(0);
}
+static void setupFontconfig()
+{
+ // We wish to make the layout tests reproducable with respect to fonts. Skia
+ // uses fontconfig to resolve font family names from WebKit into actual font
+ // files found on the current system. This means that fonts vary based on the
+ // system and also on the fontconfig configuration.
+ //
+ // To avoid this we initialise fontconfig here and install a configuration
+ // which only knows about a few, select, fonts.
+
+ // We have fontconfig parse a config file from our resources file. This
+ // sets a number of aliases ("sans"->"Arial" etc), but doesn't include any
+ // font directories.
+ FcInit();
+
+ char drtPath[PATH_MAX + 1];
+ int drtPathSize = readlink("/proc/self/exe", drtPath, PATH_MAX);
+ if (drtPathSize < 0 || drtPathSize > PATH_MAX) {
+ fputs("Unable to resolve /proc/self/exe.", stderr);
+ exit(1);
+ }
+ drtPath[drtPathSize] = 0;
+ std::string drtDirPath(drtPath);
+ size_t lastPathPos = drtDirPath.rfind("/");
+ ASSERT(lastPathPos != std::string::npos);
+ drtDirPath.erase(lastPathPos + 1);
+
+ FcConfig* fontcfg = FcConfigCreate();
+ std::string fontconfigPath = drtDirPath + "fonts.conf";
+ if (!FcConfigParseAndLoad(fontcfg, reinterpret_cast<const FcChar8*>(fontconfigPath.c_str()), true)) {
+ fputs("Failed to parse fontconfig config file\n", stderr);
+ exit(1);
+ }
+
+ // This is the list of fonts that fontconfig will know about. It
+ // will try its best to match based only on the fonts here in. The
+ // paths are where these fonts are found on our Ubuntu boxes.
+ static const char *const fonts[] = {
+ "/usr/share/fonts/truetype/kochi/kochi-gothic.ttf",
+ "/usr/share/fonts/truetype/kochi/kochi-mincho.ttf",
+ "/usr/share/fonts/truetype/msttcorefonts/Arial.ttf",
+ "/usr/share/fonts/truetype/msttcorefonts/Arial_Bold.ttf",
+ "/usr/share/fonts/truetype/msttcorefonts/Arial_Bold_Italic.ttf",
+ "/usr/share/fonts/truetype/msttcorefonts/Arial_Italic.ttf",
+ "/usr/share/fonts/truetype/msttcorefonts/Comic_Sans_MS.ttf",
+ "/usr/share/fonts/truetype/msttcorefonts/Comic_Sans_MS_Bold.ttf",
+ "/usr/share/fonts/truetype/msttcorefonts/Courier_New.ttf",
+ "/usr/share/fonts/truetype/msttcorefonts/Courier_New_Bold.ttf",
+ "/usr/share/fonts/truetype/msttcorefonts/Courier_New_Bold_Italic.ttf",
+ "/usr/share/fonts/truetype/msttcorefonts/Courier_New_Italic.ttf",
+ "/usr/share/fonts/truetype/msttcorefonts/Georgia.ttf",
+ "/usr/share/fonts/truetype/msttcorefonts/Georgia_Bold.ttf",
+ "/usr/share/fonts/truetype/msttcorefonts/Georgia_Bold_Italic.ttf",
+ "/usr/share/fonts/truetype/msttcorefonts/Georgia_Italic.ttf",
+ "/usr/share/fonts/truetype/msttcorefonts/Impact.ttf",
+ "/usr/share/fonts/truetype/msttcorefonts/Trebuchet_MS.ttf",
+ "/usr/share/fonts/truetype/msttcorefonts/Trebuchet_MS_Bold.ttf",
+ "/usr/share/fonts/truetype/msttcorefonts/Trebuchet_MS_Bold_Italic.ttf",
+ "/usr/share/fonts/truetype/msttcorefonts/Trebuchet_MS_Italic.ttf",
+ "/usr/share/fonts/truetype/msttcorefonts/Times_New_Roman.ttf",
+ "/usr/share/fonts/truetype/msttcorefonts/Times_New_Roman_Bold.ttf",
+ "/usr/share/fonts/truetype/msttcorefonts/Times_New_Roman_Bold_Italic.ttf",
+ "/usr/share/fonts/truetype/msttcorefonts/Times_New_Roman_Italic.ttf",
+ "/usr/share/fonts/truetype/msttcorefonts/Verdana.ttf",
+ "/usr/share/fonts/truetype/msttcorefonts/Verdana_Bold.ttf",
+ "/usr/share/fonts/truetype/msttcorefonts/Verdana_Bold_Italic.ttf",
+ "/usr/share/fonts/truetype/msttcorefonts/Verdana_Italic.ttf",
+ // The DejaVuSans font is used by the css2.1 tests.
+ "/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf",
+ "/usr/share/fonts/truetype/ttf-indic-fonts-core/lohit_ta.ttf",
+ "/usr/share/fonts/truetype/ttf-indic-fonts-core/MuktiNarrow.ttf",
+ };
+ for (size_t i = 0; i < arraysize(fonts); ++i) {
+ if (access(fonts[i], R_OK)) {
+ fprintf(stderr, "You are missing %s. Try installing msttcorefonts. Also see "
+ "http://code.google.com/p/chromium/wiki/LinuxBuildInstructions",
+ fonts[i]);
+ exit(1);
+ }
+ if (!FcConfigAppFontAddFile(fontcfg, (FcChar8 *) fonts[i])) {
+ fprintf(stderr, "Failed to load font %s\n", fonts[i]);
+ exit(1);
+ }
+ }
+
+ // We special case these fonts because they're only needed in a
+ // few layout tests.
+ static const char* const optionalFonts[] = {
+ "/usr/share/fonts/truetype/ttf-lucida/LucidaSansRegular.ttf",
+
+ // This font changed paths across Ubuntu releases.
+ "/usr/share/fonts/truetype/ttf-indic-fonts-core/lohit_pa.ttf",
+ "/usr/share/fonts/truetype/ttf-punjabi-fonts/lohit_pa.ttf",
+ };
+ for (size_t i = 0; i < arraysize(optionalFonts); ++i) {
+ const char* font = optionalFonts[i];
+ if (access(font, R_OK) < 0) {
+ fprintf(stderr, "You are missing %s. Without this, some layout tests may fail. "
+ "See http://code.google.com/p/chromium/wiki/LinuxBuildInstructionsPrerequisites "
+ "for more.\n", font);
+ } else {
+ if (!FcConfigAppFontAddFile(fontcfg, (FcChar8 *) font)) {
+ fprintf(stderr, "Failed to load font %s\n", font);
+ exit(1);
+ }
+ }
+ }
+
+ // Also load the layout-test-specific "Ahem" font.
+ std::string ahemPath = drtDirPath + "AHEM____.TTF";
+ if (!FcConfigAppFontAddFile(fontcfg, reinterpret_cast<const FcChar8*>(ahemPath.c_str()))) {
+ fprintf(stderr, "Failed to load font %s\n", ahemPath.c_str());
+ exit(1);
+ }
+
+ if (!FcConfigSetCurrent(fontcfg)) {
+ fputs("Failed to set the default font configuration\n", stderr);
+ exit(1);
+ }
+}
+
void TestShell::waitTestFinished()
{
ASSERT(!m_testIsPending);
@@ -65,4 +187,5 @@ void TestShell::waitTestFinished()
void platformInit()
{
+ setupFontconfig();
}
diff --git a/WebKitTools/DumpRenderTree/chromium/TestShellWin.cpp b/WebKitTools/DumpRenderTree/chromium/TestShellWin.cpp
index e0e0af1..3884e94 100644
--- a/WebKitTools/DumpRenderTree/chromium/TestShellWin.cpp
+++ b/WebKitTools/DumpRenderTree/chromium/TestShellWin.cpp
@@ -38,27 +38,23 @@
#include <shlwapi.h>
#include <sys/stat.h>
-// Default timeout in ms for file page loads when in layout test mode.
-const int kDefaultFileTestTimeoutMillisecs = 10 * 1000;
-const int kDefaultWatchDogTimeoutMillisecs = kDefaultFileTestTimeoutMillisecs + 1 * 1000;
-
// Thread main to run for the thread which just tests for timeout.
-unsigned int __stdcall watchDogThread(void *arg)
+unsigned int __stdcall watchDogThread(void* arg)
{
// If we're debugging a layout test, don't timeout.
if (::IsDebuggerPresent())
- return 0;
+ return 0;
TestShell* shell = static_cast<TestShell*>(arg);
// FIXME: Do we need user-specified time settings as with the original
// Chromium implementation?
- DWORD timeout = static_cast<DWORD>(kDefaultWatchDogTimeoutMillisecs);
+ DWORD timeout = static_cast<DWORD>(shell->layoutTestTimeoutForWatchDog());
DWORD rv = WaitForSingleObject(shell->finishedEvent(), timeout);
if (rv == WAIT_TIMEOUT) {
// Print a warning to be caught by the layout-test script.
// Note: the layout test driver may or may not recognize
// this as a timeout.
- puts("#TEST_TIMED_OUT\n");
+ puts("\n#TEST_TIMED_OUT\n");
puts("#EOF\n");
fflush(stdout);
TerminateProcess(GetCurrentProcess(), 0);
diff --git a/WebKitTools/DumpRenderTree/chromium/WebViewHost.cpp b/WebKitTools/DumpRenderTree/chromium/WebViewHost.cpp
index eb44c2a..d3aadc8 100644
--- a/WebKitTools/DumpRenderTree/chromium/WebViewHost.cpp
+++ b/WebKitTools/DumpRenderTree/chromium/WebViewHost.cpp
@@ -531,7 +531,7 @@ WebNotificationPresenter* WebViewHost::notificationPresenter()
WebKit::WebGeolocationService* WebViewHost::geolocationService()
{
if (!m_geolocationServiceMock.get())
- m_geolocationServiceMock.set(new WebGeolocationServiceMock);
+ m_geolocationServiceMock.set(WebGeolocationServiceMock::createWebGeolocationServiceMock());
return m_geolocationServiceMock.get();
}
@@ -1036,6 +1036,7 @@ void WebViewHost::reset()
this->~WebViewHost();
new (this) WebViewHost(shell);
setWebWidget(widget);
+ webView()->mainFrame()->clearName();
}
void WebViewHost::setSelectTrailingWhitespaceEnabled(bool enabled)
@@ -1285,7 +1286,7 @@ void WebViewHost::paintRect(const WebRect& rect)
#if PLATFORM(CG)
webWidget()->paint(m_canvas->getTopPlatformDevice().GetBitmapContext(), rect);
#else
- webWidget()->paint(m_canvas.get(), rect);
+ webWidget()->paint(canvas(), rect);
#endif
m_isPainting = false;
}
diff --git a/WebKitTools/DumpRenderTree/chromium/fonts.conf b/WebKitTools/DumpRenderTree/chromium/fonts.conf
new file mode 100644
index 0000000..be214c6
--- /dev/null
+++ b/WebKitTools/DumpRenderTree/chromium/fonts.conf
@@ -0,0 +1,155 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!-- /etc/fonts/fonts.conf file to configure system font access -->
+<fontconfig>
+ <match target="pattern">
+ <test qual="any" name="family">
+ <string>Times</string>
+ </test>
+ <edit name="family" mode="assign">
+ <string>Times New Roman</string>
+ </edit>
+ </match>
+
+ <match target="pattern">
+ <test qual="any" name="family">
+ <string>sans</string>
+ </test>
+ <edit name="family" mode="assign">
+ <string>Arial</string>
+ </edit>
+ </match>
+
+ <match target="pattern">
+ <test qual="any" name="family">
+ <string>sans serif</string>
+ </test>
+ <edit name="family" mode="assign">
+ <string>Arial</string>
+ </edit>
+ </match>
+
+ <!-- Some layout tests specify Helvetica as a family and we need to make sure
+ that we don't fallback to Times New Roman for them -->
+ <match target="pattern">
+ <test qual="any" name="family">
+ <string>Helvetica</string>
+ </test>
+ <edit name="family" mode="assign">
+ <string>Arial</string>
+ </edit>
+ </match>
+
+ <match target="pattern">
+ <test qual="any" name="family">
+ <string>sans-serif</string>
+ </test>
+ <edit name="family" mode="assign">
+ <string>Arial</string>
+ </edit>
+ </match>
+
+ <match target="pattern">
+ <test qual="any" name="family">
+ <string>serif</string>
+ </test>
+ <edit name="family" mode="assign">
+ <string>Times New Roman</string>
+ </edit>
+ </match>
+
+ <match target="pattern">
+ <test qual="any" name="family">
+ <string>mono</string>
+ </test>
+ <edit name="family" mode="assign">
+ <string>Courier New</string>
+ </edit>
+ </match>
+
+ <match target="pattern">
+ <test qual="any" name="family">
+ <string>monospace</string>
+ </test>
+ <edit name="family" mode="assign">
+ <string>Courier New</string>
+ </edit>
+ </match>
+
+ <match target="pattern">
+ <test qual="any" name="family">
+ <string>Courier</string>
+ </test>
+ <edit name="family" mode="assign">
+ <string>Courier New</string>
+ </edit>
+ </match>
+
+ <match target="pattern">
+ <test qual="any" name="family">
+ <string>cursive</string>
+ </test>
+ <edit name="family" mode="assign">
+ <string>Comic Sans MS</string>
+ </edit>
+ </match>
+
+ <match target="pattern">
+ <test qual="any" name="family">
+ <string>fantasy</string>
+ </test>
+ <edit name="family" mode="assign">
+ <string>Impact</string>
+ </edit>
+ </match>
+
+ <match target="pattern">
+ <test qual="any" name="family">
+ <string>Monaco</string>
+ </test>
+ <edit name="family" mode="assign">
+ <string>Times New Roman</string>
+ </edit>
+ </match>
+
+ <match target="pattern">
+ <test name="family" compare="eq">
+ <string>NonAntiAliasedSans</string>
+ </test>
+ <edit name="family" mode="assign">
+ <string>Arial</string>
+ </edit>
+ <edit name="antialias" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="pattern">
+ <test name="family" compare="eq">
+ <string>SlightHintedGeorgia</string>
+ </test>
+ <edit name="family" mode="assign">
+ <string>Georgia</string>
+ </edit>
+ <edit name="hintstyle" mode="assign">
+ <const>hintslight</const>
+ </edit>
+ </match>
+
+ <match target="pattern">
+ <test name="family" compare="eq">
+ <string>NonHintedSans</string>
+ </test>
+ <edit name="family" mode="assign">
+ <string>Verdana</string>
+ </edit>
+ <!-- These deliberately contradict each other. The 'hinting' preference
+ should take priority -->
+ <edit name="hintstyle" mode="assign">
+ <const>hintfull</const>
+ </edit>
+ <edit name="hinting" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+</fontconfig>
diff --git a/WebKitTools/DumpRenderTree/gtk/DumpRenderTree.cpp b/WebKitTools/DumpRenderTree/gtk/DumpRenderTree.cpp
index 273bcdf..02c0abb 100644
--- a/WebKitTools/DumpRenderTree/gtk/DumpRenderTree.cpp
+++ b/WebKitTools/DumpRenderTree/gtk/DumpRenderTree.cpp
@@ -343,6 +343,7 @@ static void resetDefaultsToConsistentValues()
"auto-resize-window", TRUE,
"enable-java-applet", FALSE,
"enable-plugins", TRUE,
+ "editing-behavior", WEBKIT_EDITING_BEHAVIOR_MAC,
NULL);
webkit_web_frame_clear_main_frame_name(mainFrame);
diff --git a/WebKitTools/DumpRenderTree/mac/AccessibilityUIElementMac.mm b/WebKitTools/DumpRenderTree/mac/AccessibilityUIElementMac.mm
index a39dabb..3fa9c40 100644
--- a/WebKitTools/DumpRenderTree/mac/AccessibilityUIElementMac.mm
+++ b/WebKitTools/DumpRenderTree/mac/AccessibilityUIElementMac.mm
@@ -53,6 +53,12 @@
#define NSAccessibilityDropEffectsAttribute @"AXDropEffects"
#endif
+// If an unsupported attribute is passed in, it will raise an accessibility exception. These are usually caught by the Accessibility Runtime to inform
+// the AX client app of the error. However, DRT is the AX client app, so it must catch these exceptions.
+#define BEGIN_AX_OBJC_EXCEPTIONS @try {
+#define END_AX_OBJC_EXCEPTIONS } @catch(NSException *e) { if (![[e name] isEqualToString:NSAccessibilityException]) @throw; }
+
+
typedef void (*AXPostedNotificationCallback)(id element, NSString* notification, void* context);
@interface NSObject (WebKitAccessibilityAdditions)
@@ -224,11 +230,11 @@ static NSString* attributesOfElement(id accessibilityObject)
// accessibilityAttributeValue: can throw an if an attribute is not returned.
// For DumpRenderTree's purpose, we should ignore those exceptions
- @try {
- id valueObject = [accessibilityObject accessibilityAttributeValue:attribute];
- NSString* value = descriptionOfValue(valueObject, accessibilityObject);
- [attributesString appendFormat:@"%@: %@\n", attribute, value];
- } @catch (NSException* e) { }
+ BEGIN_AX_OBJC_EXCEPTIONS
+ id valueObject = [accessibilityObject accessibilityAttributeValue:attribute];
+ NSString* value = descriptionOfValue(valueObject, accessibilityObject);
+ [attributesString appendFormat:@"%@: %@\n", attribute, value];
+ END_AX_OBJC_EXCEPTIONS
}
return attributesString;
@@ -269,26 +275,34 @@ static JSStringRef descriptionOfElements(Vector<AccessibilityUIElement>& element
void AccessibilityUIElement::getLinkedUIElements(Vector<AccessibilityUIElement>& elementVector)
{
+ BEGIN_AX_OBJC_EXCEPTIONS
NSArray* linkedElements = [m_element accessibilityAttributeValue:NSAccessibilityLinkedUIElementsAttribute];
convertNSArrayToVector(linkedElements, elementVector);
+ END_AX_OBJC_EXCEPTIONS
}
void AccessibilityUIElement::getDocumentLinks(Vector<AccessibilityUIElement>& elementVector)
{
+ BEGIN_AX_OBJC_EXCEPTIONS
NSArray* linkElements = [m_element accessibilityAttributeValue:@"AXLinkUIElements"];
convertNSArrayToVector(linkElements, elementVector);
+ END_AX_OBJC_EXCEPTIONS
}
void AccessibilityUIElement::getChildren(Vector<AccessibilityUIElement>& elementVector)
{
+ BEGIN_AX_OBJC_EXCEPTIONS
NSArray* children = [m_element accessibilityAttributeValue:NSAccessibilityChildrenAttribute];
convertNSArrayToVector(children, elementVector);
+ END_AX_OBJC_EXCEPTIONS
}
void AccessibilityUIElement::getChildrenWithRange(Vector<AccessibilityUIElement>& elementVector, unsigned location, unsigned length)
{
+ BEGIN_AX_OBJC_EXCEPTIONS
NSArray* children = [m_element accessibilityArrayAttributeValues:NSAccessibilityChildrenAttribute index:location maxCount:length];
convertNSArrayToVector(children, elementVector);
+ END_AX_OBJC_EXCEPTIONS
}
int AccessibilityUIElement::childrenCount()
@@ -325,63 +339,77 @@ AccessibilityUIElement AccessibilityUIElement::getChildAtIndex(unsigned index)
AccessibilityUIElement AccessibilityUIElement::ariaOwnsElementAtIndex(unsigned index)
{
+ BEGIN_AX_OBJC_EXCEPTIONS
NSArray* objects = [m_element accessibilityAttributeValue:NSAccessibilityOwnsAttribute];
if (index < [objects count])
return [objects objectAtIndex:index];
+ END_AX_OBJC_EXCEPTIONS
return 0;
}
AccessibilityUIElement AccessibilityUIElement::ariaFlowToElementAtIndex(unsigned index)
{
+ BEGIN_AX_OBJC_EXCEPTIONS
NSArray* objects = [m_element accessibilityAttributeValue:NSAccessibilityLinkedUIElementsAttribute];
if (index < [objects count])
return [objects objectAtIndex:index];
+ END_AX_OBJC_EXCEPTIONS
return 0;
}
AccessibilityUIElement AccessibilityUIElement::disclosedRowAtIndex(unsigned index)
{
+ BEGIN_AX_OBJC_EXCEPTIONS
NSArray* rows = [m_element accessibilityAttributeValue:NSAccessibilityDisclosedRowsAttribute];
if (index < [rows count])
return [rows objectAtIndex:index];
+ END_AX_OBJC_EXCEPTIONS
return 0;
}
AccessibilityUIElement AccessibilityUIElement::selectedRowAtIndex(unsigned index)
{
+ BEGIN_AX_OBJC_EXCEPTIONS
NSArray* rows = [m_element accessibilityAttributeValue:NSAccessibilitySelectedRowsAttribute];
if (index < [rows count])
return [rows objectAtIndex:index];
+ END_AX_OBJC_EXCEPTIONS
return 0;
}
AccessibilityUIElement AccessibilityUIElement::titleUIElement()
{
+ BEGIN_AX_OBJC_EXCEPTIONS
id accessibilityObject = [m_element accessibilityAttributeValue:NSAccessibilityTitleUIElementAttribute];
if (accessibilityObject)
return AccessibilityUIElement(accessibilityObject);
+ END_AX_OBJC_EXCEPTIONS
return 0;
}
AccessibilityUIElement AccessibilityUIElement::parentElement()
{
+ BEGIN_AX_OBJC_EXCEPTIONS
id accessibilityObject = [m_element accessibilityAttributeValue:NSAccessibilityParentAttribute];
if (accessibilityObject)
return AccessibilityUIElement(accessibilityObject);
+ END_AX_OBJC_EXCEPTIONS
return 0;
}
AccessibilityUIElement AccessibilityUIElement::disclosedByRow()
{
+ BEGIN_AX_OBJC_EXCEPTIONS
id accessibilityObject = [m_element accessibilityAttributeValue:NSAccessibilityDisclosedByRowAttribute];
if (accessibilityObject)
return AccessibilityUIElement(accessibilityObject);
+ END_AX_OBJC_EXCEPTIONS
return 0;
}
@@ -415,29 +443,42 @@ JSStringRef AccessibilityUIElement::allAttributes()
JSStringRef AccessibilityUIElement::stringAttributeValue(JSStringRef attribute)
{
+ BEGIN_AX_OBJC_EXCEPTIONS
id value = [m_element accessibilityAttributeValue:[NSString stringWithJSStringRef:attribute]];
- if (![value isKindOfClass:[NSString class]])
- return NULL;
- return [value createJSStringRef];
+ if ([value isKindOfClass:[NSString class]])
+ return [value createJSStringRef];
+ END_AX_OBJC_EXCEPTIONS
+
+ return 0;
}
bool AccessibilityUIElement::boolAttributeValue(JSStringRef attribute)
{
+ BEGIN_AX_OBJC_EXCEPTIONS
id value = [m_element accessibilityAttributeValue:[NSString stringWithJSStringRef:attribute]];
- if (![value isKindOfClass:[NSNumber class]])
- return NULL;
+ if ([value isKindOfClass:[NSNumber class]])
+ return [value boolValue];
+ END_AX_OBJC_EXCEPTIONS
- return [value boolValue];
+ return false;
}
bool AccessibilityUIElement::isAttributeSettable(JSStringRef attribute)
{
+ BEGIN_AX_OBJC_EXCEPTIONS
return [m_element accessibilityIsAttributeSettable:[NSString stringWithJSStringRef:attribute]];
+ END_AX_OBJC_EXCEPTIONS
+
+ return false;
}
bool AccessibilityUIElement::isAttributeSupported(JSStringRef attribute)
{
+ BEGIN_AX_OBJC_EXCEPTIONS
return [[m_element accessibilityAttributeNames] containsObject:[NSString stringWithJSStringRef:attribute]];
+ END_AX_OBJC_EXCEPTIONS
+
+ return false;
}
JSStringRef AccessibilityUIElement::parameterizedAttributeNames()
@@ -454,169 +495,260 @@ JSStringRef AccessibilityUIElement::parameterizedAttributeNames()
JSStringRef AccessibilityUIElement::role()
{
- NSString* role = descriptionOfValue([m_element accessibilityAttributeValue:NSAccessibilityRoleAttribute], m_element);
+ BEGIN_AX_OBJC_EXCEPTIONS
+ NSString *role = descriptionOfValue([m_element accessibilityAttributeValue:NSAccessibilityRoleAttribute], m_element);
return concatenateAttributeAndValue(@"AXRole", role);
+ END_AX_OBJC_EXCEPTIONS
+
+ return 0;
}
JSStringRef AccessibilityUIElement::subrole()
{
+ BEGIN_AX_OBJC_EXCEPTIONS
NSString* role = descriptionOfValue([m_element accessibilityAttributeValue:NSAccessibilitySubroleAttribute], m_element);
return concatenateAttributeAndValue(@"AXSubrole", role);
+ END_AX_OBJC_EXCEPTIONS
+
+ return 0;
}
JSStringRef AccessibilityUIElement::roleDescription()
{
+ BEGIN_AX_OBJC_EXCEPTIONS
NSString* role = descriptionOfValue([m_element accessibilityAttributeValue:NSAccessibilityRoleDescriptionAttribute], m_element);
return concatenateAttributeAndValue(@"AXRoleDescription", role);
+ END_AX_OBJC_EXCEPTIONS
+
+ return 0;
}
JSStringRef AccessibilityUIElement::title()
{
+ BEGIN_AX_OBJC_EXCEPTIONS
NSString* title = descriptionOfValue([m_element accessibilityAttributeValue:NSAccessibilityTitleAttribute], m_element);
return concatenateAttributeAndValue(@"AXTitle", title);
+ END_AX_OBJC_EXCEPTIONS
+
+ return 0;
}
JSStringRef AccessibilityUIElement::description()
{
+ BEGIN_AX_OBJC_EXCEPTIONS
id description = descriptionOfValue([m_element accessibilityAttributeValue:NSAccessibilityDescriptionAttribute], m_element);
return concatenateAttributeAndValue(@"AXDescription", description);
+ END_AX_OBJC_EXCEPTIONS
+
+ return 0;
}
JSStringRef AccessibilityUIElement::orientation() const
{
+ BEGIN_AX_OBJC_EXCEPTIONS
id description = descriptionOfValue([m_element accessibilityAttributeValue:NSAccessibilityOrientationAttribute], m_element);
return concatenateAttributeAndValue(@"AXOrientation", description);
+ END_AX_OBJC_EXCEPTIONS
+
+ return 0;
}
JSStringRef AccessibilityUIElement::stringValue()
{
+ BEGIN_AX_OBJC_EXCEPTIONS
id description = descriptionOfValue([m_element accessibilityAttributeValue:NSAccessibilityValueAttribute], m_element);
return concatenateAttributeAndValue(@"AXValue", description);
+ END_AX_OBJC_EXCEPTIONS
+
+ return 0;
}
JSStringRef AccessibilityUIElement::language()
{
+ BEGIN_AX_OBJC_EXCEPTIONS
id description = descriptionOfValue([m_element accessibilityAttributeValue:@"AXLanguage"], m_element);
return concatenateAttributeAndValue(@"AXLanguage", description);
+ END_AX_OBJC_EXCEPTIONS
+
+ return 0;
}
JSStringRef AccessibilityUIElement::helpText() const
{
+ BEGIN_AX_OBJC_EXCEPTIONS
id description = descriptionOfValue([m_element accessibilityAttributeValue:NSAccessibilityHelpAttribute], m_element);
return concatenateAttributeAndValue(@"AXHelp", description);
+ END_AX_OBJC_EXCEPTIONS
+
+ return 0;
}
double AccessibilityUIElement::x()
{
+ BEGIN_AX_OBJC_EXCEPTIONS
NSValue* positionValue = [m_element accessibilityAttributeValue:NSAccessibilityPositionAttribute];
return static_cast<double>([positionValue pointValue].x);
+ END_AX_OBJC_EXCEPTIONS
+
+ return 0.0f;
}
double AccessibilityUIElement::y()
{
+ BEGIN_AX_OBJC_EXCEPTIONS
NSValue* positionValue = [m_element accessibilityAttributeValue:NSAccessibilityPositionAttribute];
return static_cast<double>([positionValue pointValue].y);
+ END_AX_OBJC_EXCEPTIONS
+
+ return 0.0f;
}
double AccessibilityUIElement::width()
{
+ BEGIN_AX_OBJC_EXCEPTIONS
NSValue* sizeValue = [m_element accessibilityAttributeValue:NSAccessibilitySizeAttribute];
return static_cast<double>([sizeValue sizeValue].width);
+ END_AX_OBJC_EXCEPTIONS
+
+ return 0.0f;
}
double AccessibilityUIElement::height()
{
+ BEGIN_AX_OBJC_EXCEPTIONS
NSValue* sizeValue = [m_element accessibilityAttributeValue:NSAccessibilitySizeAttribute];
return static_cast<double>([sizeValue sizeValue].height);
+ END_AX_OBJC_EXCEPTIONS
+
+ return 0.0f;
}
double AccessibilityUIElement::clickPointX()
{
+ BEGIN_AX_OBJC_EXCEPTIONS
NSValue* positionValue = [m_element accessibilityAttributeValue:@"AXClickPoint"];
return static_cast<double>([positionValue pointValue].x);
+ END_AX_OBJC_EXCEPTIONS
+
+ return 0.0f;
}
double AccessibilityUIElement::clickPointY()
{
+ BEGIN_AX_OBJC_EXCEPTIONS
NSValue* positionValue = [m_element accessibilityAttributeValue:@"AXClickPoint"];
return static_cast<double>([positionValue pointValue].y);
+ END_AX_OBJC_EXCEPTIONS
+
+ return 0.0f;
}
double AccessibilityUIElement::intValue() const
{
+ BEGIN_AX_OBJC_EXCEPTIONS
id value = [m_element accessibilityAttributeValue:NSAccessibilityValueAttribute];
if ([value isKindOfClass:[NSNumber class]])
return [(NSNumber*)value doubleValue];
+ END_AX_OBJC_EXCEPTIONS
+
return 0.0f;
}
double AccessibilityUIElement::minValue()
{
+ BEGIN_AX_OBJC_EXCEPTIONS
id value = [m_element accessibilityAttributeValue:NSAccessibilityMinValueAttribute];
if ([value isKindOfClass:[NSNumber class]])
return [(NSNumber*)value doubleValue];
+ END_AX_OBJC_EXCEPTIONS
+
return 0.0f;
}
double AccessibilityUIElement::maxValue()
{
+ BEGIN_AX_OBJC_EXCEPTIONS
id value = [m_element accessibilityAttributeValue:NSAccessibilityMaxValueAttribute];
if ([value isKindOfClass:[NSNumber class]])
return [(NSNumber*)value doubleValue];
+ END_AX_OBJC_EXCEPTIONS
+
return 0.0;
}
JSStringRef AccessibilityUIElement::valueDescription()
{
+ BEGIN_AX_OBJC_EXCEPTIONS
NSString* valueDescription = [m_element accessibilityAttributeValue:NSAccessibilityValueDescriptionAttribute];
if ([valueDescription isKindOfClass:[NSString class]])
return [valueDescription createJSStringRef];
+
+ END_AX_OBJC_EXCEPTIONS
return 0;
}
int AccessibilityUIElement::insertionPointLineNumber()
{
+ BEGIN_AX_OBJC_EXCEPTIONS
id value = [m_element accessibilityAttributeValue:NSAccessibilityInsertionPointLineNumberAttribute];
if ([value isKindOfClass:[NSNumber class]])
return [(NSNumber *)value intValue];
+ END_AX_OBJC_EXCEPTIONS
+
return -1;
}
bool AccessibilityUIElement::isActionSupported(JSStringRef action)
{
+ BEGIN_AX_OBJC_EXCEPTIONS
NSArray* actions = [m_element accessibilityActionNames];
return [actions containsObject:[NSString stringWithJSStringRef:action]];
+ END_AX_OBJC_EXCEPTIONS
+
+ return false;
}
bool AccessibilityUIElement::isEnabled()
{
+ BEGIN_AX_OBJC_EXCEPTIONS
id value = [m_element accessibilityAttributeValue:NSAccessibilityEnabledAttribute];
if ([value isKindOfClass:[NSNumber class]])
return [value boolValue];
+ END_AX_OBJC_EXCEPTIONS
+
return false;
}
bool AccessibilityUIElement::isRequired() const
{
+ BEGIN_AX_OBJC_EXCEPTIONS
id value = [m_element accessibilityAttributeValue:@"AXRequired"];
if ([value isKindOfClass:[NSNumber class]])
return [value boolValue];
+ END_AX_OBJC_EXCEPTIONS
+
return false;
}
bool AccessibilityUIElement::isSelected() const
{
+ BEGIN_AX_OBJC_EXCEPTIONS
id value = [m_element accessibilityAttributeValue:NSAccessibilitySelectedAttribute];
if ([value isKindOfClass:[NSNumber class]])
return [value boolValue];
+ END_AX_OBJC_EXCEPTIONS
+
return false;
}
bool AccessibilityUIElement::isExpanded() const
{
+ BEGIN_AX_OBJC_EXCEPTIONS
id value = [m_element accessibilityAttributeValue:NSAccessibilityExpandedAttribute];
if ([value isKindOfClass:[NSNumber class]])
return [value boolValue];
+ END_AX_OBJC_EXCEPTIONS
+
return false;
}
@@ -628,22 +760,29 @@ bool AccessibilityUIElement::isChecked() const
int AccessibilityUIElement::hierarchicalLevel() const
{
+ BEGIN_AX_OBJC_EXCEPTIONS
id value = [m_element accessibilityAttributeValue:NSAccessibilityDisclosureLevelAttribute];
if ([value isKindOfClass:[NSNumber class]])
return [value intValue];
+ END_AX_OBJC_EXCEPTIONS
+
return 0;
}
bool AccessibilityUIElement::ariaIsGrabbed() const
{
+ BEGIN_AX_OBJC_EXCEPTIONS
id value = [m_element accessibilityAttributeValue:NSAccessibilityGrabbedAttribute];
if ([value isKindOfClass:[NSNumber class]])
return [value boolValue];
+ END_AX_OBJC_EXCEPTIONS
+
return false;
}
JSStringRef AccessibilityUIElement::ariaDropEffects() const
{
+ BEGIN_AX_OBJC_EXCEPTIONS
id value = [m_element accessibilityAttributeValue:NSAccessibilityDropEffectsAttribute];
if (![value isKindOfClass:[NSArray class]])
return 0;
@@ -657,20 +796,27 @@ JSStringRef AccessibilityUIElement::ariaDropEffects() const
}
return [dropEffects createJSStringRef];
+ END_AX_OBJC_EXCEPTIONS
+
+ return 0;
}
// parameterized attributes
int AccessibilityUIElement::lineForIndex(int index)
{
+ BEGIN_AX_OBJC_EXCEPTIONS
id value = [m_element accessibilityAttributeValue:NSAccessibilityLineForIndexParameterizedAttribute forParameter:[NSNumber numberWithInt:index]];
if ([value isKindOfClass:[NSNumber class]])
return [(NSNumber *)value intValue];
+ END_AX_OBJC_EXCEPTIONS
+
return -1;
}
JSStringRef AccessibilityUIElement::boundsForRange(unsigned location, unsigned length)
{
NSRange range = NSMakeRange(location, length);
+ BEGIN_AX_OBJC_EXCEPTIONS
id value = [m_element accessibilityAttributeValue:NSAccessibilityBoundsForRangeParameterizedAttribute forParameter:[NSValue valueWithRange:range]];
NSRect rect = NSMakeRect(0,0,0,0);
if ([value isKindOfClass:[NSValue class]])
@@ -679,61 +825,89 @@ JSStringRef AccessibilityUIElement::boundsForRange(unsigned location, unsigned l
// don't return position information because it is platform dependent
NSMutableString* boundsDescription = [NSMutableString stringWithFormat:@"{{%f, %f}, {%f, %f}}",-1.0f,-1.0f,rect.size.width,rect.size.height];
return [boundsDescription createJSStringRef];
+ END_AX_OBJC_EXCEPTIONS
+
+ return 0;
}
JSStringRef AccessibilityUIElement::stringForRange(unsigned location, unsigned length)
{
NSRange range = NSMakeRange(location, length);
+ BEGIN_AX_OBJC_EXCEPTIONS
id string = [m_element accessibilityAttributeValue:NSAccessibilityStringForRangeParameterizedAttribute forParameter:[NSValue valueWithRange:range]];
if (![string isKindOfClass:[NSString class]])
return 0;
return [string createJSStringRef];
+ END_AX_OBJC_EXCEPTIONS
+
+ return 0;
}
JSStringRef AccessibilityUIElement::attributesOfColumnHeaders()
{
// not yet defined in AppKit... odd
+ BEGIN_AX_OBJC_EXCEPTIONS
NSArray* columnHeadersArray = [m_element accessibilityAttributeValue:@"AXColumnHeaderUIElements"];
Vector<AccessibilityUIElement> columnHeadersVector;
convertNSArrayToVector(columnHeadersArray, columnHeadersVector);
return descriptionOfElements(columnHeadersVector);
+ END_AX_OBJC_EXCEPTIONS
+
+ return 0;
}
JSStringRef AccessibilityUIElement::attributesOfRowHeaders()
{
+ BEGIN_AX_OBJC_EXCEPTIONS
NSArray* rowHeadersArray = [m_element accessibilityAttributeValue:@"AXRowHeaderUIElements"];
Vector<AccessibilityUIElement> rowHeadersVector;
convertNSArrayToVector(rowHeadersArray, rowHeadersVector);
return descriptionOfElements(rowHeadersVector);
+ END_AX_OBJC_EXCEPTIONS
+
+ return 0;
}
JSStringRef AccessibilityUIElement::attributesOfColumns()
{
+ BEGIN_AX_OBJC_EXCEPTIONS
NSArray* columnsArray = [m_element accessibilityAttributeValue:NSAccessibilityColumnsAttribute];
Vector<AccessibilityUIElement> columnsVector;
convertNSArrayToVector(columnsArray, columnsVector);
return descriptionOfElements(columnsVector);
+ END_AX_OBJC_EXCEPTIONS
+
+ return 0;
}
JSStringRef AccessibilityUIElement::attributesOfRows()
{
+ BEGIN_AX_OBJC_EXCEPTIONS
NSArray* rowsArray = [m_element accessibilityAttributeValue:NSAccessibilityRowsAttribute];
Vector<AccessibilityUIElement> rowsVector;
convertNSArrayToVector(rowsArray, rowsVector);
return descriptionOfElements(rowsVector);
+ END_AX_OBJC_EXCEPTIONS
+
+ return 0;
}
JSStringRef AccessibilityUIElement::attributesOfVisibleCells()
{
+ BEGIN_AX_OBJC_EXCEPTIONS
NSArray* cellsArray = [m_element accessibilityAttributeValue:@"AXVisibleCells"];
Vector<AccessibilityUIElement> cellsVector;
convertNSArrayToVector(cellsArray, cellsVector);
return descriptionOfElements(cellsVector);
+ END_AX_OBJC_EXCEPTIONS
+
+ return 0;
}
JSStringRef AccessibilityUIElement::attributesOfHeader()
{
+ BEGIN_AX_OBJC_EXCEPTIONS
id headerObject = [m_element accessibilityAttributeValue:NSAccessibilityHeaderAttribute];
if (!headerObject)
return [@"" createJSStringRef];
@@ -741,81 +915,127 @@ JSStringRef AccessibilityUIElement::attributesOfHeader()
Vector<AccessibilityUIElement> headerVector;
headerVector.append(headerObject);
return descriptionOfElements(headerVector);
+ END_AX_OBJC_EXCEPTIONS
+
+ return 0;
}
int AccessibilityUIElement::rowCount()
{
+ BEGIN_AX_OBJC_EXCEPTIONS
return [m_element accessibilityArrayAttributeCount:NSAccessibilityRowsAttribute];
+ END_AX_OBJC_EXCEPTIONS
+
+ return 0;
}
int AccessibilityUIElement::columnCount()
{
+ BEGIN_AX_OBJC_EXCEPTIONS
return [m_element accessibilityArrayAttributeCount:NSAccessibilityColumnsAttribute];
+ END_AX_OBJC_EXCEPTIONS
+
+ return 0;
}
int AccessibilityUIElement::indexInTable()
{
+ BEGIN_AX_OBJC_EXCEPTIONS
NSNumber* indexNumber = [m_element accessibilityAttributeValue:NSAccessibilityIndexAttribute];
- if (!indexNumber)
- return -1;
- return [indexNumber intValue];
+ if (indexNumber)
+ return [indexNumber intValue];
+ END_AX_OBJC_EXCEPTIONS
+
+ return -1;
}
JSStringRef AccessibilityUIElement::rowIndexRange()
{
+ NSRange range = NSMakeRange(0,0);
+ BEGIN_AX_OBJC_EXCEPTIONS
NSValue* indexRange = [m_element accessibilityAttributeValue:@"AXRowIndexRange"];
- NSRange range = indexRange ? [indexRange rangeValue] : NSMakeRange(0,0);
+ if (indexRange)
+ range = [indexRange rangeValue];
NSMutableString* rangeDescription = [NSMutableString stringWithFormat:@"{%d, %d}",range.location, range.length];
return [rangeDescription createJSStringRef];
+ END_AX_OBJC_EXCEPTIONS
+
+ return 0;
}
JSStringRef AccessibilityUIElement::columnIndexRange()
{
+ NSRange range = NSMakeRange(0,0);
+ BEGIN_AX_OBJC_EXCEPTIONS
NSNumber* indexRange = [m_element accessibilityAttributeValue:@"AXColumnIndexRange"];
- NSRange range = indexRange ? [indexRange rangeValue] : NSMakeRange(0,0);
+ if (indexRange)
+ range = [indexRange rangeValue];
NSMutableString* rangeDescription = [NSMutableString stringWithFormat:@"{%d, %d}",range.location, range.length];
return [rangeDescription createJSStringRef];
+ END_AX_OBJC_EXCEPTIONS
+
+ return 0;
}
AccessibilityUIElement AccessibilityUIElement::cellForColumnAndRow(unsigned col, unsigned row)
{
NSArray *colRowArray = [NSArray arrayWithObjects:[NSNumber numberWithUnsignedInt:col], [NSNumber numberWithUnsignedInt:row], nil];
+ BEGIN_AX_OBJC_EXCEPTIONS
return [m_element accessibilityAttributeValue:@"AXCellForColumnAndRow" forParameter:colRowArray];
+ END_AX_OBJC_EXCEPTIONS
+
+ return 0;
}
JSStringRef AccessibilityUIElement::selectedTextRange()
{
+ NSRange range = NSMakeRange(0,0);
+ BEGIN_AX_OBJC_EXCEPTIONS
NSNumber *indexRange = [m_element accessibilityAttributeValue:NSAccessibilitySelectedTextRangeAttribute];
- NSRange range = indexRange ? [indexRange rangeValue] : NSMakeRange(0,0);
+ if (indexRange)
+ range = [indexRange rangeValue];
NSMutableString *rangeDescription = [NSMutableString stringWithFormat:@"{%d, %d}",range.location, range.length];
return [rangeDescription createJSStringRef];
+ END_AX_OBJC_EXCEPTIONS
+
+ return 0;
}
void AccessibilityUIElement::setSelectedTextRange(unsigned location, unsigned length)
{
NSRange textRange = NSMakeRange(location, length);
NSValue *textRangeValue = [NSValue valueWithRange:textRange];
+ BEGIN_AX_OBJC_EXCEPTIONS
[m_element accessibilitySetValue:textRangeValue forAttribute:NSAccessibilitySelectedTextRangeAttribute];
+ END_AX_OBJC_EXCEPTIONS
}
void AccessibilityUIElement::increment()
{
+ BEGIN_AX_OBJC_EXCEPTIONS
[m_element accessibilityPerformAction:NSAccessibilityIncrementAction];
+ END_AX_OBJC_EXCEPTIONS
}
void AccessibilityUIElement::decrement()
{
+ BEGIN_AX_OBJC_EXCEPTIONS
[m_element accessibilityPerformAction:NSAccessibilityDecrementAction];
+ END_AX_OBJC_EXCEPTIONS
}
void AccessibilityUIElement::showMenu()
{
+ BEGIN_AX_OBJC_EXCEPTIONS
[m_element accessibilityPerformAction:NSAccessibilityShowMenuAction];
+ END_AX_OBJC_EXCEPTIONS
}
void AccessibilityUIElement::press()
{
+ BEGIN_AX_OBJC_EXCEPTIONS
[m_element accessibilityPerformAction:NSAccessibilityPressAction];
+ END_AX_OBJC_EXCEPTIONS
}
JSStringRef AccessibilityUIElement::accessibilityValue() const
@@ -836,8 +1056,12 @@ JSStringRef AccessibilityUIElement::documentURI()
JSStringRef AccessibilityUIElement::url()
{
+ BEGIN_AX_OBJC_EXCEPTIONS
NSURL *url = [m_element accessibilityAttributeValue:NSAccessibilityURLAttribute];
return [[url absoluteString] createJSStringRef];
+ END_AX_OBJC_EXCEPTIONS
+
+ return nil;
}
bool AccessibilityUIElement::addNotificationListener(JSObjectRef functionCallback)
@@ -896,9 +1120,12 @@ bool AccessibilityUIElement::isCollapsed() const
bool AccessibilityUIElement::hasPopup() const
{
+ BEGIN_AX_OBJC_EXCEPTIONS
id value = [m_element accessibilityAttributeValue:@"AXHasPopup"];
if ([value isKindOfClass:[NSNumber class]])
return [value boolValue];
+ END_AX_OBJC_EXCEPTIONS
+
return false;
}
diff --git a/WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.cpp b/WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.cpp
index f119dd0..ba9780b 100644
--- a/WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.cpp
+++ b/WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.cpp
@@ -130,6 +130,15 @@ public:
};
#endif
+void checkPermissionCallback(QObject* receiver, const QUrl& url, NotificationPermission& permission)
+{
+ qobject_cast<DumpRenderTree*>(receiver)->checkPermission(url, permission);
+}
+
+void requestPermissionCallback(QObject* receiver, QWebPage* page, const QString& origin)
+{
+ qobject_cast<DumpRenderTree*>(receiver)->requestPermission(page, origin);
+}
WebPage::WebPage(QObject* parent, DumpRenderTree* drt)
: QWebPage(parent)
@@ -158,6 +167,11 @@ WebPage::WebPage(QObject* parent, DumpRenderTree* drt)
setNetworkAccessManager(m_drt->networkAccessManager());
setPluginFactory(new TestPlugin(this));
+
+ DumpRenderTreeSupportQt::setNotificationsReceiver(this, m_drt);
+ DumpRenderTreeSupportQt::setCheckPermissionFunction(checkPermissionCallback);
+ DumpRenderTreeSupportQt::setRequestPermissionFunction(requestPermissionCallback);
+
}
WebPage::~WebPage()
@@ -457,6 +471,9 @@ void DumpRenderTree::resetToConsistentStateBeforeTesting()
DumpRenderTreeSupportQt::resetOriginAccessWhiteLists();
+ // Qt defaults to Windows editing behavior.
+ DumpRenderTreeSupportQt::setEditingBehavior(m_page, "win");
+
QLocale::setDefault(QLocale::c());
setlocale(LC_ALL, "");
}
@@ -898,6 +915,16 @@ void DumpRenderTree::switchFocus(bool focused)
QApplication::sendEvent(m_mainView, &event);
}
+void DumpRenderTree::checkPermission(const QUrl& url, NotificationPermission& permission)
+{
+ permission = m_controller->checkDesktopNotificationPermission(url.scheme() + "://" + url.host()) ? NotificationAllowed : NotificationDenied;
+}
+
+void DumpRenderTree::requestPermission(QWebPage* page, const QString& origin)
+{
+ DumpRenderTreeSupportQt::allowNotificationForOrigin(page, origin);
+}
+
#if defined(Q_WS_X11)
void DumpRenderTree::initializeFonts()
{
diff --git a/WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.h b/WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.h
index ad41e3a..3fa4485 100644
--- a/WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.h
+++ b/WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.h
@@ -40,6 +40,7 @@
#include <QSslError>
#endif
+#include "../../../WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h"
#include <qwebframe.h>
#include <qwebinspector.h>
#include <qwebpage.h>
@@ -113,6 +114,8 @@ public Q_SLOTS:
void dumpDatabaseQuota(QWebFrame* frame, const QString& dbName);
void statusBarMessage(const QString& message);
void windowCloseRequested();
+ void checkPermission(const QUrl&, NotificationPermission&);
+ void requestPermission(QWebPage* page, const QString&);
Q_SIGNALS:
void quit();
diff --git a/WebKitTools/DumpRenderTree/qt/EventSenderQt.cpp b/WebKitTools/DumpRenderTree/qt/EventSenderQt.cpp
index 7432052..a548a63 100644
--- a/WebKitTools/DumpRenderTree/qt/EventSenderQt.cpp
+++ b/WebKitTools/DumpRenderTree/qt/EventSenderQt.cpp
@@ -70,6 +70,9 @@ EventSender::EventSender(QWebPage* parent)
m_currentButton = 0;
resetClickCount();
m_page->view()->installEventFilter(this);
+ // So that we can match Scrollbar::pixelsPerLineStep() in WheelEventQt.cpp and
+ // pass fast/events/platform-wheelevent-in-scrolling-div.html
+ QApplication::setWheelScrollLines(2);
}
void EventSender::mouseDown(int button)
@@ -155,6 +158,27 @@ void EventSender::mouseMoveTo(int x, int y)
sendOrQueueEvent(event);
}
+#ifndef QT_NO_WHEELEVENT
+void EventSender::mouseScrollBy(int x, int y)
+{
+ continuousMouseScrollBy((x*120), (y*120));
+}
+
+void EventSender::continuousMouseScrollBy(int x, int y)
+{
+ // continuousMouseScrollBy() mimics devices that send fine-grained scroll events where the 'delta' specified is not the usual
+ // multiple of 120. See http://doc.qt.nokia.com/4.6/qwheelevent.html#delta for a good explanation of this.
+ if (x) {
+ QWheelEvent* event = new QWheelEvent(m_mousePos, m_mousePos, x, m_mouseButtons, Qt::NoModifier, Qt::Horizontal);
+ sendOrQueueEvent(event);
+ }
+ if (y) {
+ QWheelEvent* event = new QWheelEvent(m_mousePos, m_mousePos, y, m_mouseButtons, Qt::NoModifier, Qt::Vertical);
+ sendOrQueueEvent(event);
+ }
+}
+#endif
+
void EventSender::leapForward(int ms)
{
eventQueue[endOfQueue].m_delay = ms;
diff --git a/WebKitTools/DumpRenderTree/qt/EventSenderQt.h b/WebKitTools/DumpRenderTree/qt/EventSenderQt.h
index e824e0f..d5b45ac 100644
--- a/WebKitTools/DumpRenderTree/qt/EventSenderQt.h
+++ b/WebKitTools/DumpRenderTree/qt/EventSenderQt.h
@@ -57,6 +57,10 @@ public slots:
void mouseDown(int button = 0);
void mouseUp(int button = 0);
void mouseMoveTo(int x, int y);
+#ifndef QT_NO_WHEELEVENT
+ void mouseScrollBy(int x, int y);
+ void continuousMouseScrollBy(int x, int y);
+#endif
void leapForward(int ms);
void keyDown(const QString& string, const QStringList& modifiers = QStringList(), unsigned int location = 0);
void clearKillRing() {}
diff --git a/WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp b/WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp
index 9616835..9079be2 100644
--- a/WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp
+++ b/WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp
@@ -64,6 +64,8 @@ void LayoutTestController::reset()
m_handleErrorPages = false;
m_webHistory = 0;
m_globalFlag = false;
+ m_desktopNotificationAllowedOrigins.clear();
+
DumpRenderTreeSupportQt::dumpEditingCallbacks(false);
DumpRenderTreeSupportQt::dumpFrameLoader(false);
DumpRenderTreeSupportQt::dumpResourceLoadCallbacks(false);
@@ -71,6 +73,7 @@ void LayoutTestController::reset()
DumpRenderTreeSupportQt::setWillSendRequestReturnsNull(false);
DumpRenderTreeSupportQt::setWillSendRequestClearHeaders(QStringList());
setIconDatabaseEnabled(false);
+
emit hidePage();
}
@@ -181,13 +184,12 @@ int LayoutTestController::windowCount()
void LayoutTestController::grantDesktopNotificationPermission(const QString& origin)
{
- // FIXME: Implement for notification security
+ m_desktopNotificationAllowedOrigins.append(origin);
}
bool LayoutTestController::checkDesktopNotificationPermission(const QString& origin)
{
- // FIXME: Implement for notification security
- return true;
+ return m_desktopNotificationAllowedOrigins.contains(origin);
}
void LayoutTestController::display()
@@ -484,7 +486,7 @@ void LayoutTestController::addOriginAccessWhitelistEntry(const QString& sourceOr
void LayoutTestController::removeOriginAccessWhitelistEntry(const QString& sourceOrigin, const QString& destinationProtocol, const QString& destinationHost, bool allowDestinationSubdomains)
{
- // FIXME: Implement.
+ DumpRenderTreeSupportQt::removeWhiteListAccessFromOrigin(sourceOrigin, destinationProtocol, destinationHost, allowDestinationSubdomains);
}
void LayoutTestController::waitForPolicyDelegate()
@@ -640,7 +642,7 @@ void LayoutTestController::setIconDatabaseEnabled(bool enable)
void LayoutTestController::setEditingBehavior(const QString& editingBehavior)
{
- // FIXME: Implement.
+ DumpRenderTreeSupportQt::setEditingBehavior(m_drt->webPage(), editingBehavior);
}
const unsigned LayoutTestController::maxViewWidth = 800;
diff --git a/WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.h b/WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.h
index 5fb40b6..d7bb839 100644
--- a/WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.h
+++ b/WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.h
@@ -218,6 +218,7 @@ private:
QWebFrame* m_topLoadingFrame;
WebCore::DumpRenderTree* m_drt;
QWebHistory* m_webHistory;
+ QStringList m_desktopNotificationAllowedOrigins;
};
#endif // LayoutTestControllerQt_h
diff --git a/WebKitTools/DumpRenderTree/wx/LayoutTestControllerWx.cpp b/WebKitTools/DumpRenderTree/wx/LayoutTestControllerWx.cpp
index d34e40a..265802d 100644
--- a/WebKitTools/DumpRenderTree/wx/LayoutTestControllerWx.cpp
+++ b/WebKitTools/DumpRenderTree/wx/LayoutTestControllerWx.cpp
@@ -447,7 +447,7 @@ void LayoutTestController::authenticateSession(JSStringRef, JSStringRef, JSStrin
{
}
-void LayoutTestController::setEditingBehavior(JSStringRef editingBehavior)
+void LayoutTestController::setEditingBehavior(const char* editingBehavior)
{
// FIXME: Implement
}
diff --git a/WebKitTools/Scripts/new-run-webkit-tests b/WebKitTools/Scripts/new-run-webkit-tests
index 0728ee0..9fcacaa 100755
--- a/WebKitTools/Scripts/new-run-webkit-tests
+++ b/WebKitTools/Scripts/new-run-webkit-tests
@@ -28,9 +28,14 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
"""Wrapper around webkitpy/layout_tests/run_webkit_tests.py"""
+import signal
import sys
import webkitpy.layout_tests.run_webkit_tests as run_webkit_tests
if __name__ == '__main__':
- sys.exit(run_webkit_tests.main())
+ try:
+ sys.exit(run_webkit_tests.main())
+ except KeyboardInterrupt:
+ # this mirrors what the shell normally does
+ sys.exit(signal.SIGINT + 128)
diff --git a/WebKitTools/Scripts/old-run-webkit-tests b/WebKitTools/Scripts/old-run-webkit-tests
index 783606d..ac73c00 100755
--- a/WebKitTools/Scripts/old-run-webkit-tests
+++ b/WebKitTools/Scripts/old-run-webkit-tests
@@ -154,6 +154,7 @@ my $tmpDir = "/tmp";
my $testResultsDirectory = File::Spec->catfile($tmpDir, "layout-test-results");
my $testsPerDumpTool = 1000;
my $threaded = 0;
+my $html5parser = 0;
# DumpRenderTree has an internal timeout of 30 seconds, so this must be > 30.
my $timeoutSeconds = 35;
my $tolerance = 0;
@@ -265,6 +266,7 @@ Usage: $programName [options] [testdir|testpath ...]
--ignore-metrics Ignore metrics in tests
--[no-]strip-editing-callbacks Remove editing callbacks from expected results
-t|--threaded Run a concurrent JavaScript thead with each test
+ --html5-parser Run the tests using the HTML5 parser
--timeout t Sets the number of seconds before a test times out (default: $timeoutSeconds)
--valgrind Run DumpRenderTree inside valgrind (Qt/Linux only)
-v|--verbose More verbose output (overrides --quiet)
@@ -306,6 +308,7 @@ my $getOptionsResult = GetOptions(
'slowest' => \$report10Slowest,
'strip-editing-callbacks!' => \$stripEditingCallbacks,
'threaded|t' => \$threaded,
+ 'html5-parser' => \$html5parser,
'timeout=i' => \$timeoutSeconds,
'tolerance=f' => \$tolerance,
'use-remote-links-to-tests' => \$useRemoteLinksToTests,
@@ -538,6 +541,7 @@ my $totalLeaks = 0;
my @toolArgs = ();
push @toolArgs, "--pixel-tests" if $pixelTests;
push @toolArgs, "--threaded" if $threaded;
+push @toolArgs, "--html5-parser" if $html5parser;
push @toolArgs, "--complex-text" if $complexText;
push @toolArgs, "-";
diff --git a/WebKitTools/Scripts/test-html5-parser b/WebKitTools/Scripts/test-html5-parser
new file mode 100755
index 0000000..5b935b8
--- /dev/null
+++ b/WebKitTools/Scripts/test-html5-parser
@@ -0,0 +1,89 @@
+#!/usr/bin/perl
+# Copyright (C) 2010 Google Inc. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# 3. Neither the name of Google, Inc. nor the names of
+# its contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY GOOGLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL GOOGLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# Temporary script to test the HTML5 parser until it is able to
+# run enough LayoutTests so that we know what changes we'll need
+# to make to run-webkit-tests to support testing with the new parser.
+
+# NOTE: This script is a total hack and should be rolled into
+# run-webkit-tests instead of being improved further.
+
+use strict;
+use warnings;
+
+use FindBin;
+use lib $FindBin::Bin;
+use webkitdirs;
+use VCSUtils;
+
+sub writeToFile($$)
+{
+ my ($filePath, $contents) = @_;
+ open NEWFILE, ">", "$filePath" or die "Could not create $filePath. $!\n";
+ print NEWFILE $contents;
+ close NEWFILE;
+}
+
+setConfiguration();
+
+my $productDir = productDir();
+my $dumpTool = "$productDir/DumpRenderTree";
+
+chdirWebKit();
+
+my @args = argumentsForConfiguration();
+system("WebKitTools/Scripts/build-dumprendertree", @args) == 0 or die "Failed to build DumpRenderTree";
+
+my @tests = (
+ "html5lib/runner",
+ "html5lib/webkit-resumer",
+);
+
+foreach my $test (@tests) {
+ # This logic is super-dumb. Instead of making it smarter, we should
+ # roll this into run-webkit-tests once we can run enough of the layout tests.
+ my $testPath = "LayoutTests/$test.html";
+ my $expectedPath = "LayoutTests/$test-expected-html5.txt";
+ my $actualPath = "LayoutTests/$test-actual-html5.txt";
+ my $command = "DYLD_FRAMEWORK_PATH=$productDir $dumpTool --html5-parser $testPath";
+ print $command, "\n";
+ my $output = `$command`;
+ writeToFile($actualPath, $output);
+ if (-r $expectedPath) {
+ my $expectedOutput = `cat $expectedPath`;
+ if ($expectedOutput eq $output) {
+ print "$test -> PASS\n";
+ } else {
+ print "$test -> FAIL, diff:\n";
+ system("diff -u $expectedPath $actualPath");
+ }
+ } else {
+ print "$test -> NEW, results:\n";
+ writeToFile($expectedPath, $output);
+ print $output;
+ }
+}
diff --git a/WebKitTools/Scripts/webkitpy/common/checkout/scm.py b/WebKitTools/Scripts/webkitpy/common/checkout/scm.py
index e68ccfa..eea76be 100644
--- a/WebKitTools/Scripts/webkitpy/common/checkout/scm.py
+++ b/WebKitTools/Scripts/webkitpy/common/checkout/scm.py
@@ -609,7 +609,7 @@ class Git(SCM):
return squash
def _svn_branch_has_extra_commits(self):
- return len(run_command(['git', 'rev-list', '--max-count=1', self.svn_branch_name(), '^head']))
+ return len(run_command(['git', 'rev-list', '--max-count=1', self.svn_branch_name(), '^HEAD']))
def commit_with_message(self, message, username=None, git_commit=None, squash=None):
# Username is ignored during Git commits.
diff --git a/WebKitTools/Scripts/webkitpy/common/checkout/scm_unittest.py b/WebKitTools/Scripts/webkitpy/common/checkout/scm_unittest.py
index b6ae388..8eea4d8 100644
--- a/WebKitTools/Scripts/webkitpy/common/checkout/scm_unittest.py
+++ b/WebKitTools/Scripts/webkitpy/common/checkout/scm_unittest.py
@@ -813,6 +813,12 @@ class GitTest(SCMTest):
run_command(['git', 'add', 'test_file_commit2'])
self.scm.commit_locally_with_message("yet another test commit")
+ def _three_local_commits(self):
+ write_into_file_at_path('test_file_commit0', 'more test content')
+ run_command(['git', 'add', 'test_file_commit0'])
+ self.scm.commit_locally_with_message("another test commit")
+ self._two_local_commits()
+
def test_commit_with_message_git_commit(self):
self._two_local_commits()
@@ -825,13 +831,14 @@ class GitTest(SCMTest):
self.assertFalse(re.search(r'test_file_commit2', svn_log))
def test_commit_with_message_git_commit_range(self):
- self._two_local_commits()
+ self._three_local_commits()
scm = detect_scm_system(self.git_checkout_path)
commit_text = scm.commit_with_message("another test commit", git_commit="HEAD~2..HEAD")
self.assertEqual(scm.svn_revision_from_commit_text(commit_text), '6')
svn_log = run_command(['git', 'svn', 'log', '--limit=1', '--verbose'])
+ self.assertFalse(re.search(r'test_file_commit0', svn_log))
self.assertTrue(re.search(r'test_file_commit1', svn_log))
self.assertTrue(re.search(r'test_file_commit2', svn_log))
@@ -922,9 +929,10 @@ class GitTest(SCMTest):
self.assertFalse(re.search(r'test_file_commit2', patch))
def test_create_patch_git_commit_range(self):
- self._two_local_commits()
+ self._three_local_commits()
scm = detect_scm_system(self.git_checkout_path)
patch = scm.create_patch(git_commit="HEAD~2..HEAD")
+ self.assertFalse(re.search(r'test_file_commit0', patch))
self.assertTrue(re.search(r'test_file_commit2', patch))
self.assertTrue(re.search(r'test_file_commit1', patch))
@@ -1007,9 +1015,10 @@ class GitTest(SCMTest):
self.assertFalse('test_file_commit2' in files)
def test_changed_files_git_commit_range(self):
- self._two_local_commits()
+ self._three_local_commits()
scm = detect_scm_system(self.git_checkout_path)
files = scm.changed_files(git_commit="HEAD~2..HEAD")
+ self.assertTrue('test_file_commit0' not in files)
self.assertTrue('test_file_commit1' in files)
self.assertTrue('test_file_commit2' in files)
diff --git a/WebKitTools/Scripts/webkitpy/common/config/committers.py b/WebKitTools/Scripts/webkitpy/common/config/committers.py
index 02f1aed..d9c541f 100644
--- a/WebKitTools/Scripts/webkitpy/common/config/committers.py
+++ b/WebKitTools/Scripts/webkitpy/common/config/committers.py
@@ -86,7 +86,6 @@ committers_unable_to_review = [
Committer("Carol Szabo", "carol.szabo@nokia.com"),
Committer("Chang Shu", "Chang.Shu@nokia.com"),
Committer("Chris Evans", "cevans@google.com"),
- Committer("Chris Fleizach", "cfleizach@apple.com"),
Committer("Chris Marrin", "cmarrin@apple.com", "cmarrin"),
Committer("Chris Petersen", "cpetersen@apple.com", "cpetersen"),
Committer("Christian Dywan", ["christian@twotoasts.de", "christian@webkit.org"]),
@@ -193,6 +192,7 @@ reviewers_list = [
Reviewer("Brady Eidson", "beidson@apple.com", "bradee-oh"),
Reviewer("Cameron Zwarich", ["zwarich@apple.com", "cwzwarich@apple.com", "cwzwarich@webkit.org"]),
Reviewer("Chris Blumenberg", "cblu@apple.com", "cblu"),
+ Reviewer("Chris Fleizach", "cfleizach@apple.com", "cfleizach"),
Reviewer("Chris Jerdonek", "cjerdonek@webkit.org", "cjerdonek"),
Reviewer("Dan Bernstein", ["mitz@webkit.org", "mitz@apple.com"], "mitzpettel"),
Reviewer("Daniel Bates", "dbates@webkit.org", "dydz"),
diff --git a/WebKitTools/Scripts/webkitpy/common/net/rietveld.py b/WebKitTools/Scripts/webkitpy/common/net/rietveld.py
index c0d6119..572d1fd 100644
--- a/WebKitTools/Scripts/webkitpy/common/net/rietveld.py
+++ b/WebKitTools/Scripts/webkitpy/common/net/rietveld.py
@@ -67,15 +67,8 @@ class Rietveld(object):
log("Would have run %s" % args)
return
- # Set logging level to avoid rietveld's logging spew.
- old_level_name = logging.getLogger().getEffectiveLevel()
- logging.getLogger().setLevel(logging.ERROR)
-
# Use RealMain instead of calling upload from the commandline so that
# we can pass in the diff ourselves. Otherwise, upload will just use
# git diff for git checkouts, which doesn't respect --squash and --git-commit.
issue, patchset = upload.RealMain(args[1:], data=diff)
-
- # Reset logging level to the original value.
- logging.getLogger().setLevel(old_level_name)
return issue
diff --git a/WebKitTools/Scripts/webkitpy/common/system/user.py b/WebKitTools/Scripts/webkitpy/common/system/user.py
index 4fa2fa3..82fa0d3 100644
--- a/WebKitTools/Scripts/webkitpy/common/system/user.py
+++ b/WebKitTools/Scripts/webkitpy/common/system/user.py
@@ -76,6 +76,19 @@ class User(object):
# Note: Not thread safe: http://bugs.python.org/issue2320
subprocess.call(args + files)
+ def edit_changelog(self, files):
+ edit_application = os.environ.get("CHANGE_LOG_EDIT_APPLICATION")
+ if edit_application and sys.platform == "darwin":
+ # On Mac we support editing ChangeLogs using an application.
+ args = shlex.split(edit_application)
+ print "Using editor in the CHANGE_LOG_EDIT_APPLICATION environment variable."
+ print "Please quit the editor application when done editing."
+ if edit_application.find("Xcode.app"):
+ print "Instead of using Xcode.app, consider using EDITOR=\"xed --wait\"."
+ subprocess.call(["open", "-W", "-n", "-a"] + args + files)
+ return
+ self.edit(files)
+
def page(self, message):
pager = os.environ.get("PAGER") or "less"
try:
diff --git a/WebKitTools/Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py b/WebKitTools/Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py
index 09f9ac7..a2e2091 100644
--- a/WebKitTools/Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py
+++ b/WebKitTools/Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py
@@ -258,6 +258,9 @@ class TestShellThread(threading.Thread):
self._run(test_runner=None, result_summary=None)
_log.debug('%s done (%d tests)' % (self.getName(),
self.get_num_tests()))
+ except KeyboardInterrupt:
+ self._exception_info = sys.exc_info()
+ _log.debug("%s interrupted" % self.getName())
except:
# Save the exception for our caller to see.
self._exception_info = sys.exc_info()
@@ -298,7 +301,7 @@ class TestShellThread(threading.Thread):
while True:
if self._canceled:
- _log.info('Testing canceled')
+ _log.debug('Testing cancelled')
tests_run_file.close()
return
diff --git a/WebKitTools/Scripts/webkitpy/layout_tests/layout_package/printing.py b/WebKitTools/Scripts/webkitpy/layout_tests/layout_package/printing.py
index 77de2e0..f838a7b 100644
--- a/WebKitTools/Scripts/webkitpy/layout_tests/layout_package/printing.py
+++ b/WebKitTools/Scripts/webkitpy/layout_tests/layout_package/printing.py
@@ -272,24 +272,35 @@ class Printer(object):
def print_timing(self, msg):
self.write(msg, 'timing')
- def print_one_line_summary(self, total, expected):
+ def print_one_line_summary(self, total, expected, unexpected):
"""Print a one-line summary of the test run to stdout.
Args:
total: total number of tests run
expected: number of expected results
+ unexpected: number of unexpected results
"""
if self.disabled('one-line-summary'):
return
- unexpected = total - expected
+ incomplete = total - expected - unexpected
+ if incomplete:
+ self._write("")
+ incomplete_str = " (%d didn't run)" % incomplete
+ expected_str = str(expected)
+ else:
+ incomplete_str = ""
+ expected_str = "All %d" % expected
+
if unexpected == 0:
- self._write("All %d tests ran as expected." % expected)
+ self._write("%s tests ran as expected%s." %
+ (expected_str, incomplete_str))
elif expected == 1:
- self._write("1 test ran as expected, %d didn't:" % unexpected)
+ self._write("1 test ran as expected, %d didn't%s:" %
+ (unexpected, incomplete_str))
else:
- self._write("%d tests ran as expected, %d didn't:" %
- (expected, unexpected))
+ self._write("%d tests ran as expected, %d didn't%s:" %
+ (expected, unexpected, incomplete_str))
self._write("")
def print_test_result(self, result, expected, exp_str, got_str):
diff --git a/WebKitTools/Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py b/WebKitTools/Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py
index 3804210..c8648bc 100644
--- a/WebKitTools/Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py
+++ b/WebKitTools/Scripts/webkitpy/layout_tests/layout_package/printing_unittest.py
@@ -215,27 +215,34 @@ class Testprinter(unittest.TestCase):
def test_print_one_line_summary(self):
printer, err, out = self.get_printer(['--print', 'nothing'])
- printer.print_one_line_summary(1, 1)
+ printer.print_one_line_summary(1, 1, 0)
self.assertTrue(err.empty())
printer, err, out = self.get_printer(['--print', 'one-line-summary'])
- printer.print_one_line_summary(1, 1)
+ printer.print_one_line_summary(1, 1, 0)
self.assertEquals(err.get(), ["All 1 tests ran as expected.\n", "\n"])
printer, err, out = self.get_printer(['--print', 'everything'])
- printer.print_one_line_summary(1, 1)
+ printer.print_one_line_summary(1, 1, 0)
self.assertEquals(err.get(), ["All 1 tests ran as expected.\n", "\n"])
err.reset()
- printer.print_one_line_summary(2, 1)
+ printer.print_one_line_summary(2, 1, 1)
self.assertEquals(err.get(),
["1 test ran as expected, 1 didn't:\n", "\n"])
err.reset()
- printer.print_one_line_summary(3, 2)
+ printer.print_one_line_summary(3, 2, 1)
self.assertEquals(err.get(),
["2 tests ran as expected, 1 didn't:\n", "\n"])
+ err.reset()
+ printer.print_one_line_summary(3, 2, 0)
+ self.assertEquals(err.get(),
+ ['\n', "2 tests ran as expected (1 didn't run).\n",
+ '\n'])
+
+
def test_print_test_result(self):
result = get_result('foo.html')
printer, err, out = self.get_printer(['--print', 'nothing'])
diff --git a/WebKitTools/Scripts/webkitpy/layout_tests/port/chromium.py b/WebKitTools/Scripts/webkitpy/layout_tests/port/chromium.py
index b715f7b..db23eb8 100644
--- a/WebKitTools/Scripts/webkitpy/layout_tests/port/chromium.py
+++ b/WebKitTools/Scripts/webkitpy/layout_tests/port/chromium.py
@@ -46,10 +46,7 @@ import http_server
from webkitpy.common.system.executive import Executive
-# FIXME: To use the DRT-based version of this file, we need to be able to
-# run the webkit code, which uses server_process, which requires UNIX-style
-# non-blocking I/O with selects(), which requires fcntl() which doesn't exist
-# on Windows.
+# Chromium DRT on non-Windows uses WebKitDriver.
if sys.platform not in ('win32', 'cygwin'):
import webkit
@@ -92,13 +89,6 @@ class ChromiumPort(base.Port):
def check_build(self, needs_http):
result = True
- # FIXME: see comment above re: import webkit
- if (sys.platform in ('win32', 'cygwin') and self._options and
- hasattr(self._options, 'use_drt') and self._options.use_drt):
- _log.error('--use-drt is not supported on Windows yet')
- _log.error('')
- result = False
-
dump_render_tree_binary_path = self._path_to_driver()
result = check_file_exists(dump_render_tree_binary_path,
'test driver') and result
@@ -143,10 +133,11 @@ class ChromiumPort(base.Port):
abspath = os.path.abspath(__file__)
offset = abspath.find('third_party')
if offset == -1:
- # FIXME: This seems like the wrong error to throw.
- raise AssertionError('could not find Chromium base dir from ' +
- abspath)
- self._chromium_base_dir = abspath[0:offset]
+ self._chromium_base_dir = os.path.join(
+ abspath[0:abspath.find('WebKitTools')],
+ 'WebKit', 'chromium')
+ else:
+ self._chromium_base_dir = abspath[0:offset]
return os.path.join(self._chromium_base_dir, *comps)
def path_to_test_expectations_file(self):
@@ -180,8 +171,12 @@ class ChromiumPort(base.Port):
def create_driver(self, image_path, options):
"""Starts a new Driver and returns a handle to it."""
- if self._options.use_drt:
+ if self._options.use_drt and sys.platform not in ('win32', 'cygwin'):
return webkit.WebKitDriver(self, image_path, options, executive=self._executive)
+ if self._options.use_drt:
+ options += ['--test-shell']
+ else:
+ options += ['--layout-tests']
return ChromiumDriver(self, image_path, options, executive=self._executive)
def start_helper(self):
@@ -297,7 +292,7 @@ class ChromiumDriver(base.Driver):
cmd = []
# FIXME: We should not be grabbing at self._port._options.wrapper directly.
cmd += self._command_wrapper(self._port._options.wrapper)
- cmd += [self._port._path_to_driver(), '--layout-tests']
+ cmd += [self._port._path_to_driver()]
if self._options:
cmd += self._options
diff --git a/WebKitTools/Scripts/webkitpy/layout_tests/port/chromium_win.py b/WebKitTools/Scripts/webkitpy/layout_tests/port/chromium_win.py
index 3b11429..ec1c33c 100644
--- a/WebKitTools/Scripts/webkitpy/layout_tests/port/chromium_win.py
+++ b/WebKitTools/Scripts/webkitpy/layout_tests/port/chromium_win.py
@@ -149,13 +149,22 @@ class ChromiumWinPort(chromium.ChromiumPort):
def _path_to_driver(self, configuration=None):
if not configuration:
configuration = self._options.configuration
- return self._build_path(configuration, 'test_shell.exe')
+ binary_name = 'test_shell.exe'
+ if self._options.use_drt:
+ binary_name = 'DumpRenderTree.exe'
+ return self._build_path(configuration, binary_name)
def _path_to_helper(self):
- return self._build_path(self._options.configuration, 'layout_test_helper.exe')
+ binary_name = 'layout_test_helper.exe'
+ if self._options.use_drt:
+ binary_name = 'LayoutTestHelper.exe'
+ return self._build_path(self._options.configuration, binary_name)
def _path_to_image_diff(self):
- return self._build_path(self._options.configuration, 'image_diff.exe')
+ binary_name = 'image_diff.exe'
+ if self._options.use_drt:
+ binary_name = 'ImageDiff.exe'
+ return self._build_path(self._options.configuration, binary_name)
def _path_to_wdiff(self):
return self.path_from_chromium_base('third_party', 'cygwin', 'bin',
diff --git a/WebKitTools/Scripts/webkitpy/layout_tests/run_webkit_tests.py b/WebKitTools/Scripts/webkitpy/layout_tests/run_webkit_tests.py
index 6d5543d..a4a92c7 100755
--- a/WebKitTools/Scripts/webkitpy/layout_tests/run_webkit_tests.py
+++ b/WebKitTools/Scripts/webkitpy/layout_tests/run_webkit_tests.py
@@ -58,6 +58,7 @@ import Queue
import random
import re
import shutil
+import signal
import sys
import time
import traceback
@@ -680,6 +681,7 @@ class TestRunner:
test_timings = {}
individual_test_timings = []
thread_timings = []
+ keyboard_interrupted = False
try:
# Loop through all the threads waiting for them to finish.
for thread in threads:
@@ -697,30 +699,30 @@ class TestRunner:
self._dump_thread_states_if_necessary()
self.update_summary(result_summary)
- # This thread is done, save off the timing information.
- thread_timings.append({'name': thread.getName(),
- 'num_tests': thread.get_num_tests(),
- 'total_time': thread.get_total_time()})
- test_timings.update(thread.get_directory_timing_stats())
- individual_test_timings.extend(thread.get_test_results())
except KeyboardInterrupt:
+ keyboard_interrupted = True
for thread in threads:
thread.cancel()
- raise
+
+ if not keyboard_interrupted:
+ for thread in threads:
+ # Check whether a thread died before normal completion.
+ exception_info = thread.get_exception_info()
+ if exception_info is not None:
+ # Re-raise the thread's exception here to make it clear
+ # something went wrong. Otherwise, the tests that did not
+ # run would be assumed to have passed.
+ raise (exception_info[0], exception_info[1],
+ exception_info[2])
+
for thread in threads:
- # Check whether a TestShellThread died before normal completion.
- exception_info = thread.get_exception_info()
- if exception_info is not None:
- # Re-raise the thread's exception here to make it clear that
- # testing was aborted. Otherwise, the tests that did not run
- # would be assumed to have passed.
- raise exception_info[0], exception_info[1], exception_info[2]
-
- # FIXME: This update_summary call seems unecessary.
- # Calls are already made right after join() above,
- # as well as from the individual threads themselves.
- self.update_summary(result_summary)
- return (thread_timings, test_timings, individual_test_timings)
+ thread_timings.append({'name': thread.getName(),
+ 'num_tests': thread.get_num_tests(),
+ 'total_time': thread.get_total_time()})
+ test_timings.update(thread.get_directory_timing_stats())
+ individual_test_timings.extend(thread.get_test_results())
+ return (keyboard_interrupted, thread_timings, test_timings,
+ individual_test_timings)
def needs_http(self):
"""Returns whether the test runner needs an HTTP server."""
@@ -752,7 +754,8 @@ class TestRunner:
self._port.start_websocket_server()
# self._websocket_secure_server.Start()
- thread_timings, test_timings, individual_test_timings = (
+ keyboard_interrupted, thread_timings, test_timings, \
+ individual_test_timings = (
self._run_tests(self._test_files_list, result_summary))
# We exclude the crashes from the list of results to retry, because
@@ -760,12 +763,13 @@ class TestRunner:
failures = self._get_failures(result_summary, include_crashes=False)
retry_summary = result_summary
while (len(failures) and self._options.retry_failures and
- not self._retrying):
+ not self._retrying and not keyboard_interrupted):
_log.info('')
_log.info("Retrying %d unexpected failure(s) ..." % len(failures))
_log.info('')
self._retrying = True
retry_summary = ResultSummary(self._expectations, failures.keys())
+ # Note that we intentionally ignore the return value here.
self._run_tests(failures.keys(), retry_summary)
failures = self._get_failures(retry_summary, include_crashes=True)
@@ -782,7 +786,8 @@ class TestRunner:
sys.stderr.flush()
self._printer.print_one_line_summary(result_summary.total,
- result_summary.expected)
+ result_summary.expected,
+ result_summary.unexpected)
unexpected_results = summarize_unexpected_results(self._port,
self._expectations, result_summary, retry_summary)
@@ -800,6 +805,11 @@ class TestRunner:
if self._options.show_results and wrote_results:
self._show_results_html_file()
+ # Now that we've completed all the processing we can, we re-raise
+ # a KeyboardInterrupt if necessary so the caller can handle it.
+ if keyboard_interrupted:
+ raise KeyboardInterrupt
+
# Ignore flaky failures and unexpected passes so we don't turn the
# bot red for those.
return unexpected_results['num_regressions']
@@ -1665,4 +1675,8 @@ def main():
return run(port_obj, options, args)
if '__main__' == __name__:
- sys.exit(main())
+ try:
+ sys.exit(main())
+ except KeyboardInterrupt:
+ # this mirrors what the shell normally does
+ sys.exit(signal.SIGINT + 128)
diff --git a/WebKitTools/Scripts/webkitpy/style/checker.py b/WebKitTools/Scripts/webkitpy/style/checker.py
index 8fc86c3..5d75a1b 100644
--- a/WebKitTools/Scripts/webkitpy/style/checker.py
+++ b/WebKitTools/Scripts/webkitpy/style/checker.py
@@ -210,6 +210,7 @@ _SKIPPED_FILES_WITH_WARNING = [
"WebKit/gtk/tests/",
"WebKit/qt/Api/",
"WebKit/qt/tests/",
+ "WebKit/qt/examples/",
]
diff --git a/WebKitTools/Scripts/webkitpy/style/checkers/cpp.py b/WebKitTools/Scripts/webkitpy/style/checkers/cpp.py
index 3e787d6..a77bff0 100644
--- a/WebKitTools/Scripts/webkitpy/style/checkers/cpp.py
+++ b/WebKitTools/Scripts/webkitpy/style/checkers/cpp.py
@@ -1868,8 +1868,12 @@ def check_for_null(file_extension, clean_lines, line_number, error):
line = clean_lines.elided[line_number]
- # Don't warn about NULL usage in g_object_{get,set}(). See Bug 32858
- if search(r'\bg_object_[sg]et\b', line):
+ # Don't warn about NULL usage in g_*(). See Bug 32858 and 39372.
+ if search(r'\bg(_[a-z]+)+\b', line):
+ return
+
+ # Don't warn about NULL usage in gst_*_many(). See Bug 39740
+ if search(r'\bgst_\w+_many\b', line):
return
# Don't warn about NULL usage in g_str{join,concat}(). See Bug 34834
diff --git a/WebKitTools/Scripts/webkitpy/style/checkers/cpp_unittest.py b/WebKitTools/Scripts/webkitpy/style/checkers/cpp_unittest.py
index 5a5aabd..d7cb876 100644
--- a/WebKitTools/Scripts/webkitpy/style/checkers/cpp_unittest.py
+++ b/WebKitTools/Scripts/webkitpy/style/checkers/cpp_unittest.py
@@ -3437,6 +3437,21 @@ class WebKitStyleTest(CppStyleTestBase):
'g_object_set(foo, "prop", bar, NULL);',
'')
self.assert_lint(
+ 'g_build_filename(foo, bar, NULL);',
+ '')
+ self.assert_lint(
+ 'gst_bin_add_many(foo, bar, boo, NULL);',
+ '')
+ self.assert_lint(
+ 'gst_bin_remove_many(foo, bar, boo, NULL);',
+ '')
+ self.assert_lint(
+ 'gst_element_link_many(foo, bar, boo, NULL);',
+ '')
+ self.assert_lint(
+ 'gst_element_unlink_many(foo, bar, boo, NULL);',
+ '')
+ self.assert_lint(
'gchar* result = g_strconcat("part1", "part2", "part3", NULL);',
'')
self.assert_lint(
diff --git a/WebKitTools/Scripts/webkitpy/tool/commands/download_unittest.py b/WebKitTools/Scripts/webkitpy/tool/commands/download_unittest.py
index 4dd9d7f..08a4377 100644
--- a/WebKitTools/Scripts/webkitpy/tool/commands/download_unittest.py
+++ b/WebKitTools/Scripts/webkitpy/tool/commands/download_unittest.py
@@ -92,7 +92,13 @@ class DownloadCommandsTest(CommandsTest):
def test_land_diff(self):
expected_stderr = "Building WebKit\nRunning Python unit tests\nRunning Perl unit tests\nRunning JavaScriptCore tests\nRunning run-webkit-tests\nUpdating bug 42\n"
- self.assert_execute_outputs(Land(), [42], options=self._default_options(), expected_stderr=expected_stderr)
+ mock_tool = MockTool()
+ mock_tool.scm().create_patch = Mock()
+ mock_tool.checkout().modified_changelogs = Mock(return_value=[])
+ self.assert_execute_outputs(Land(), [42], options=self._default_options(), expected_stderr=expected_stderr, tool=mock_tool)
+ # Make sure we're not calling expensive calls too often.
+ self.assertEqual(mock_tool.scm().create_patch.call_count, 0)
+ self.assertEqual(mock_tool.checkout().modified_changelogs.call_count, 1)
def test_check_style(self):
expected_stderr = "Processing 1 patch from 1 bug.\nUpdating working directory\nProcessing patch 197 from bug 42.\nRunning check-webkit-style\n"
diff --git a/WebKitTools/Scripts/webkitpy/tool/mocktool.py b/WebKitTools/Scripts/webkitpy/tool/mocktool.py
index 2f192d9..3934ea3 100644
--- a/WebKitTools/Scripts/webkitpy/tool/mocktool.py
+++ b/WebKitTools/Scripts/webkitpy/tool/mocktool.py
@@ -444,6 +444,9 @@ class MockUser(object):
def edit(self, files):
pass
+ def edit_changelog(self, files):
+ pass
+
def page(self, message):
pass
diff --git a/WebKitTools/Scripts/webkitpy/tool/steps/editchangelog.py b/WebKitTools/Scripts/webkitpy/tool/steps/editchangelog.py
index 69c8732..de9b4e4 100644
--- a/WebKitTools/Scripts/webkitpy/tool/steps/editchangelog.py
+++ b/WebKitTools/Scripts/webkitpy/tool/steps/editchangelog.py
@@ -34,4 +34,4 @@ from webkitpy.tool.steps.abstractstep import AbstractStep
class EditChangeLog(AbstractStep):
def run(self, state):
os.chdir(self._tool.scm().checkout_root)
- self._tool.user.edit(self.cached_lookup(state, "changelogs"))
+ self._tool.user.edit_changelog(self.cached_lookup(state, "changelogs"))
diff --git a/WebKitTools/Scripts/webkitpy/tool/steps/updatechangelogswithreviewer.py b/WebKitTools/Scripts/webkitpy/tool/steps/updatechangelogswithreviewer.py
index 9740013..ef4baa2 100644
--- a/WebKitTools/Scripts/webkitpy/tool/steps/updatechangelogswithreviewer.py
+++ b/WebKitTools/Scripts/webkitpy/tool/steps/updatechangelogswithreviewer.py
@@ -70,5 +70,5 @@ class UpdateChangeLogsWithReviewer(AbstractStep):
return
os.chdir(self._tool.scm().checkout_root)
- for changelog_path in self._tool.checkout().modified_changelogs(self._options.git_commit, self._options.squash):
+ for changelog_path in self.cached_lookup(state, "changelogs"):
ChangeLog(changelog_path).set_reviewer(reviewer)
diff --git a/WebKitTools/Scripts/webkitpy/tool/steps/validatereviewer.py b/WebKitTools/Scripts/webkitpy/tool/steps/validatereviewer.py
index 66ee5b7..9f4d44e 100644
--- a/WebKitTools/Scripts/webkitpy/tool/steps/validatereviewer.py
+++ b/WebKitTools/Scripts/webkitpy/tool/steps/validatereviewer.py
@@ -63,7 +63,7 @@ class ValidateReviewer(AbstractStep):
# FIXME: We should figure out how to handle the current working
# directory issue more globally.
os.chdir(self._tool.scm().checkout_root)
- for changelog_path in self._tool.checkout().modified_changelogs(self._options.git_commit, self._options.squash):
+ for changelog_path in self.cached_lookup(state, "changelogs"):
changelog_entry = ChangeLog(changelog_path).latest_entry()
if self._has_valid_reviewer(changelog_entry):
continue
diff --git a/WebKitTools/wx/build/settings.py b/WebKitTools/wx/build/settings.py
index 1498c3d..fc77a4e 100644
--- a/WebKitTools/wx/build/settings.py
+++ b/WebKitTools/wx/build/settings.py
@@ -133,7 +133,8 @@ webcore_dirs = [
'platform/mock',
'platform/network',
'platform/sql',
- 'platform/text',
+ 'platform/text',
+ 'platform/text/transcoder',
'plugins',
'rendering',
'rendering/style',